diff --git a/CHANGELOG.md b/CHANGELOG.md
index a0aea4d8..52ed6f9d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# v1.10.26.1
+## 01/03/2022
+
+3. [](#bugfix)
+ * Fixed an issue with missing files reference by cached autoloader
+
# v1.10.26
## 01/03/2022
diff --git a/composer.json b/composer.json
index b7f3b4d2..1fe051ac 100644
--- a/composer.json
+++ b/composer.json
@@ -23,7 +23,8 @@
"php": "^7.3.6 || ^8.0",
"ext-json": "*",
"p3k/picofeed": "@stable",
- "scssphp/scssphp": "^1.7"
+ "scssphp/scssphp": "^1.7",
+ "laminas/laminas-zendframework-bridge": "^1.4"
},
"require-dev": {
"codeception/codeception": "^2.4",
diff --git a/composer.lock b/composer.lock
index c5836d38..094a0efa 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "9841a8a750e293f602d3064be4fd61b4",
+ "content-hash": "e95b50cceb85b45792cbca45623f6a91",
"packages": [
{
"name": "laminas/laminas-xml",
@@ -66,6 +66,68 @@
],
"time": "2021-11-30T02:16:35+00:00"
},
+ {
+ "name": "laminas/laminas-zendframework-bridge",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-zendframework-bridge.git",
+ "reference": "88bf037259869891afce6504cacc4f8a07b24d0f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/88bf037259869891afce6504cacc4f8a07b24d0f",
+ "reference": "88bf037259869891afce6504cacc4f8a07b24d0f",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.15.1",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.6"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "module": "Laminas\\ZendFrameworkBridge"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ZendFrameworkBridge\\": "src//"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Alias legacy ZF class names to Laminas Project equivalents.",
+ "keywords": [
+ "ZendFramework",
+ "autoloading",
+ "laminas",
+ "zf"
+ ],
+ "support": {
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
+ "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
+ "source": "https://github.com/laminas/laminas-zendframework-bridge"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2021-12-21T14:34:37+00:00"
+ },
{
"name": "p3k/picofeed",
"version": "v0.1.40",
@@ -2554,16 +2616,16 @@
},
{
"name": "symfony/console",
- "version": "v4.4.34",
+ "version": "v4.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0"
+ "reference": "621379b62bb19af213b569b60013200b11dd576f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/329b3a75cc6b16d435ba1b1a41df54a53382a3f0",
- "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0",
+ "url": "https://api.github.com/repos/symfony/console/zipball/621379b62bb19af213b569b60013200b11dd576f",
+ "reference": "621379b62bb19af213b569b60013200b11dd576f",
"shasum": ""
},
"require": {
@@ -2624,7 +2686,7 @@
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/console/tree/v4.4.34"
+ "source": "https://github.com/symfony/console/tree/v4.4.36"
},
"funding": [
{
@@ -2640,7 +2702,7 @@
"type": "tidelift"
}
],
- "time": "2021-11-04T12:23:33+00:00"
+ "time": "2021-12-15T10:33:10+00:00"
},
{
"name": "symfony/css-selector",
@@ -2777,16 +2839,16 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v4.4.30",
+ "version": "v4.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "4632ae3567746c7e915c33c67a2fb6ab746090c4"
+ "reference": "42de12bee3b5e594977209bcdf58ec4fef8dde39"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4632ae3567746c7e915c33c67a2fb6ab746090c4",
- "reference": "4632ae3567746c7e915c33c67a2fb6ab746090c4",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/42de12bee3b5e594977209bcdf58ec4fef8dde39",
+ "reference": "42de12bee3b5e594977209bcdf58ec4fef8dde39",
"shasum": ""
},
"require": {
@@ -2831,7 +2893,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v4.4.30"
+ "source": "https://github.com/symfony/dom-crawler/tree/v4.4.36"
},
"funding": [
{
@@ -2847,7 +2909,7 @@
"type": "tidelift"
}
],
- "time": "2021-08-28T15:40:01+00:00"
+ "time": "2021-12-28T14:48:02+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -3014,16 +3076,16 @@
},
{
"name": "symfony/finder",
- "version": "v4.4.30",
+ "version": "v4.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "70362f1e112280d75b30087c7598b837c1b468b6"
+ "reference": "1fef05633cd61b629e963e5d8200fb6b67ecf42c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/70362f1e112280d75b30087c7598b837c1b468b6",
- "reference": "70362f1e112280d75b30087c7598b837c1b468b6",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/1fef05633cd61b629e963e5d8200fb6b67ecf42c",
+ "reference": "1fef05633cd61b629e963e5d8200fb6b67ecf42c",
"shasum": ""
},
"require": {
@@ -3056,7 +3118,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v4.4.30"
+ "source": "https://github.com/symfony/finder/tree/v4.4.36"
},
"funding": [
{
@@ -3072,7 +3134,7 @@
"type": "tidelift"
}
],
- "time": "2021-08-04T20:31:23+00:00"
+ "time": "2021-12-15T10:33:10+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -3489,16 +3551,16 @@
},
{
"name": "symfony/process",
- "version": "v4.4.35",
+ "version": "v4.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "c2098705326addae6e6742151dfade47ac71da1b"
+ "reference": "a35d6b8f82e2272504f23a267de49b8717ca0028"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/c2098705326addae6e6742151dfade47ac71da1b",
- "reference": "c2098705326addae6e6742151dfade47ac71da1b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/a35d6b8f82e2272504f23a267de49b8717ca0028",
+ "reference": "a35d6b8f82e2272504f23a267de49b8717ca0028",
"shasum": ""
},
"require": {
@@ -3531,7 +3593,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v4.4.35"
+ "source": "https://github.com/symfony/process/tree/v4.4.36"
},
"funding": [
{
@@ -3547,7 +3609,7 @@
"type": "tidelift"
}
],
- "time": "2021-11-22T22:36:24+00:00"
+ "time": "2021-12-19T16:27:15+00:00"
},
{
"name": "symfony/service-contracts",
@@ -3634,16 +3696,16 @@
},
{
"name": "symfony/yaml",
- "version": "v4.4.34",
+ "version": "v4.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "2c309e258adeb9970229042be39b360d34986fad"
+ "reference": "a19f7c44ba665fa9d9d415cc4493361381b93f9b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/2c309e258adeb9970229042be39b360d34986fad",
- "reference": "2c309e258adeb9970229042be39b360d34986fad",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/a19f7c44ba665fa9d9d415cc4493361381b93f9b",
+ "reference": "a19f7c44ba665fa9d9d415cc4493361381b93f9b",
"shasum": ""
},
"require": {
@@ -3685,7 +3747,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v4.4.34"
+ "source": "https://github.com/symfony/yaml/tree/v4.4.36"
},
"funding": [
{
@@ -3701,7 +3763,7 @@
"type": "tidelift"
}
],
- "time": "2021-11-18T18:49:23+00:00"
+ "time": "2021-11-25T16:40:00+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/vendor/autoload.php b/vendor/autoload.php
index c3bc8d59..5d953630 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
-return ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f::getLoader();
+return ComposerAutoloaderInit21cdc8503e0b8e5d43533c2109133c23::getLoader();
diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
new file mode 100644
index 00000000..77e767db
--- /dev/null
+++ b/vendor/composer/autoload_files.php
@@ -0,0 +1,10 @@
+ $vendorDir . '/laminas/laminas-zendframework-bridge/src/autoload.php',
+);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index 3453334c..cdc21be9 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir);
return array(
'ScssPhp\\ScssPhp\\' => array($vendorDir . '/scssphp/scssphp/src'),
+ 'Laminas\\ZendFrameworkBridge\\' => array($vendorDir . '/laminas/laminas-zendframework-bridge/src'),
'Laminas\\Xml\\' => array($vendorDir . '/laminas/laminas-xml/src'),
'Grav\\Plugin\\Admin\\' => array($baseDir . '/classes/plugin'),
);
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 0336d995..1c9aedfd 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f
+class ComposerAutoloaderInit21cdc8503e0b8e5d43533c2109133c23
{
private static $loader;
@@ -24,15 +24,15 @@ class ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f
require __DIR__ . '/platform_check.php';
- spl_autoload_register(array('ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f', 'loadClassLoader'), true, true);
+ spl_autoload_register(array('ComposerAutoloaderInit21cdc8503e0b8e5d43533c2109133c23', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
- spl_autoload_unregister(array('ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInit21cdc8503e0b8e5d43533c2109133c23', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
- call_user_func(\Composer\Autoload\ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f::getInitializer($loader));
+ call_user_func(\Composer\Autoload\ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
@@ -52,6 +52,24 @@ class ComposerAutoloaderInitd6a520eb662703b9aa0b94d2e30cc77f
$loader->register(true);
+ if ($useStaticLoader) {
+ $includeFiles = Composer\Autoload\ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::$files;
+ } else {
+ $includeFiles = require __DIR__ . '/autoload_files.php';
+ }
+ foreach ($includeFiles as $fileIdentifier => $file) {
+ composerRequire21cdc8503e0b8e5d43533c2109133c23($fileIdentifier, $file);
+ }
+
return $loader;
}
}
+
+function composerRequire21cdc8503e0b8e5d43533c2109133c23($fileIdentifier, $file)
+{
+ if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
+ require $file;
+
+ $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
+ }
+}
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 1b0b40a1..c612e76a 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -4,8 +4,12 @@
namespace Composer\Autoload;
-class ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f
+class ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23
{
+ public static $files = array (
+ '7e9bd612cc444b3eed788ebbe46263a0' => __DIR__ . '/..' . '/laminas/laminas-zendframework-bridge/src/autoload.php',
+ );
+
public static $prefixLengthsPsr4 = array (
'S' =>
array (
@@ -13,6 +17,7 @@ class ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f
),
'L' =>
array (
+ 'Laminas\\ZendFrameworkBridge\\' => 28,
'Laminas\\Xml\\' => 12,
),
'G' =>
@@ -26,6 +31,10 @@ class ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f
array (
0 => __DIR__ . '/..' . '/scssphp/scssphp/src',
),
+ 'Laminas\\ZendFrameworkBridge\\' =>
+ array (
+ 0 => __DIR__ . '/..' . '/laminas/laminas-zendframework-bridge/src',
+ ),
'Laminas\\Xml\\' =>
array (
0 => __DIR__ . '/..' . '/laminas/laminas-xml/src',
@@ -54,10 +63,10 @@ class ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f::$prefixDirsPsr4;
- $loader->prefixesPsr0 = ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f::$prefixesPsr0;
- $loader->classMap = ComposerStaticInitd6a520eb662703b9aa0b94d2e30cc77f::$classMap;
+ $loader->prefixLengthsPsr4 = ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::$prefixDirsPsr4;
+ $loader->prefixesPsr0 = ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::$prefixesPsr0;
+ $loader->classMap = ComposerStaticInit21cdc8503e0b8e5d43533c2109133c23::$classMap;
}, null, ClassLoader::class);
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 7530f608..78e6b806 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -63,6 +63,71 @@
],
"install-path": "../laminas/laminas-xml"
},
+ {
+ "name": "laminas/laminas-zendframework-bridge",
+ "version": "1.4.1",
+ "version_normalized": "1.4.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-zendframework-bridge.git",
+ "reference": "88bf037259869891afce6504cacc4f8a07b24d0f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/88bf037259869891afce6504cacc4f8a07b24d0f",
+ "reference": "88bf037259869891afce6504cacc4f8a07b24d0f",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.15.1",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.6"
+ },
+ "time": "2021-12-21T14:34:37+00:00",
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "module": "Laminas\\ZendFrameworkBridge"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ZendFrameworkBridge\\": "src//"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Alias legacy ZF class names to Laminas Project equivalents.",
+ "keywords": [
+ "ZendFramework",
+ "autoloading",
+ "laminas",
+ "zf"
+ ],
+ "support": {
+ "forum": "https://discourse.laminas.dev/",
+ "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
+ "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
+ "source": "https://github.com/laminas/laminas-zendframework-bridge"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "install-path": "../laminas/laminas-zendframework-bridge"
+ },
{
"name": "p3k/picofeed",
"version": "v0.1.40",
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 13f06b87..aba1b53e 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -5,7 +5,7 @@
'type' => 'grav-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '3f39a7768da93e73acd1116389392478e93c0bd4',
+ 'reference' => '07027f34e0bbf92b2cce3f3ac73ee74940d5b33a',
'name' => 'getgrav/grav-plugin-admin',
'dev' => false,
),
@@ -16,7 +16,7 @@
'type' => 'grav-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '3f39a7768da93e73acd1116389392478e93c0bd4',
+ 'reference' => '07027f34e0bbf92b2cce3f3ac73ee74940d5b33a',
'dev_requirement' => false,
),
'laminas/laminas-xml' => array(
@@ -28,6 +28,15 @@
'reference' => 'dcadeefdb6d7ed6b39d772b47e3845003d6ea60f',
'dev_requirement' => false,
),
+ 'laminas/laminas-zendframework-bridge' => array(
+ 'pretty_version' => '1.4.1',
+ 'version' => '1.4.1.0',
+ 'type' => 'library',
+ 'install_path' => __DIR__ . '/../laminas/laminas-zendframework-bridge',
+ 'aliases' => array(),
+ 'reference' => '88bf037259869891afce6504cacc4f8a07b24d0f',
+ 'dev_requirement' => false,
+ ),
'miniflux/picofeed' => array(
'dev_requirement' => false,
'replaced' => array(
diff --git a/vendor/laminas/laminas-zendframework-bridge/.github/FUNDING.yml b/vendor/laminas/laminas-zendframework-bridge/.github/FUNDING.yml
new file mode 100644
index 00000000..6674aab6
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/.github/FUNDING.yml
@@ -0,0 +1 @@
+community_bridge: laminas-project
diff --git a/vendor/laminas/laminas-zendframework-bridge/.github/workflows/continuous-integration.yml b/vendor/laminas/laminas-zendframework-bridge/.github/workflows/continuous-integration.yml
new file mode 100644
index 00000000..ab6f8eee
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/.github/workflows/continuous-integration.yml
@@ -0,0 +1,32 @@
+name: "Continuous Integration"
+
+on:
+ pull_request:
+ push:
+ branches:
+ - '[0-9]+.[0-9]+.x'
+ - 'refs/pull/*'
+
+jobs:
+ matrix:
+ name: Generate job matrix
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{ steps.matrix.outputs.matrix }}
+ steps:
+ - name: Gather CI configuration
+ id: matrix
+ uses: laminas/laminas-ci-matrix-action@v1
+
+ qa:
+ name: QA Checks
+ needs: [matrix]
+ runs-on: ${{ matrix.operatingSystem }}
+ strategy:
+ fail-fast: false
+ matrix: ${{ fromJSON(needs.matrix.outputs.matrix) }}
+ steps:
+ - name: ${{ matrix.name }}
+ uses: laminas/laminas-continuous-integration-action@v1
+ with:
+ job: ${{ matrix.job }}
diff --git a/vendor/laminas/laminas-zendframework-bridge/.github/workflows/release-on-milestone-closed.yml b/vendor/laminas/laminas-zendframework-bridge/.github/workflows/release-on-milestone-closed.yml
new file mode 100644
index 00000000..2d88c947
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/.github/workflows/release-on-milestone-closed.yml
@@ -0,0 +1,61 @@
+# Alternate workflow example.
+# This one is identical to the one in release-on-milestone.yml, with one change:
+# the Release step uses the ORGANIZATION_ADMIN_TOKEN instead, to allow it to
+# trigger a release workflow event. This is useful if you have other actions
+# that intercept that event.
+
+name: "Automatic Releases"
+
+on:
+ milestone:
+ types:
+ - "closed"
+
+jobs:
+ release:
+ name: "GIT tag, release & create merge-up PR"
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Release"
+ uses: "laminas/automatic-releases@v1"
+ with:
+ command-name: "laminas:automatic-releases:release"
+ env:
+ "GITHUB_TOKEN": ${{ secrets.ORGANIZATION_ADMIN_TOKEN }}
+ "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
+ "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
+ "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
+
+ - name: "Create Merge-Up Pull Request"
+ uses: "laminas/automatic-releases@v1"
+ with:
+ command-name: "laminas:automatic-releases:create-merge-up-pull-request"
+ env:
+ "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }}
+ "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
+ "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
+ "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
+
+ - name: "Create and/or Switch to new Release Branch"
+ uses: "laminas/automatic-releases@v1"
+ with:
+ command-name: "laminas:automatic-releases:switch-default-branch-to-next-minor"
+ env:
+ "GITHUB_TOKEN": ${{ secrets.ORGANIZATION_ADMIN_TOKEN }}
+ "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
+ "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
+ "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
+
+ - name: "Create new milestones"
+ uses: "laminas/automatic-releases@v1"
+ with:
+ command-name: "laminas:automatic-releases:create-milestones"
+ env:
+ "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }}
+ "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
+ "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
+ "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
diff --git a/vendor/laminas/laminas-zendframework-bridge/.laminas-ci.json b/vendor/laminas/laminas-zendframework-bridge/.laminas-ci.json
new file mode 100644
index 00000000..bce3fa21
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/.laminas-ci.json
@@ -0,0 +1,5 @@
+{
+ "ignore_php_platform_requirements": {
+ "8.1": true
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/COPYRIGHT.md b/vendor/laminas/laminas-zendframework-bridge/COPYRIGHT.md
new file mode 100644
index 00000000..0a8cccc0
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/COPYRIGHT.md
@@ -0,0 +1 @@
+Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC. (https://getlaminas.org/)
diff --git a/vendor/laminas/laminas-zendframework-bridge/LICENSE.md b/vendor/laminas/laminas-zendframework-bridge/LICENSE.md
new file mode 100644
index 00000000..10b40f14
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/LICENSE.md
@@ -0,0 +1,26 @@
+Copyright (c) 2020 Laminas Project a Series of LF Projects, LLC.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+- Neither the name of Laminas Foundation nor the names of its contributors may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/laminas/laminas-zendframework-bridge/README.md b/vendor/laminas/laminas-zendframework-bridge/README.md
new file mode 100644
index 00000000..a8d8526f
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/README.md
@@ -0,0 +1,30 @@
+# laminas-zendframework-bridge
+
+[](https://github.com/laminas/laminas-zendframework-bridge/actions?query=workflow%3A"Continuous+Integration")
+
+
+This library provides a custom autoloader that aliases legacy Zend Framework,
+Apigility, and Expressive classes to their replacements under the Laminas
+Project.
+
+This package should be installed only if you are also using the composer plugin
+that installs Laminas packages to replace ZF/Apigility/Expressive packages.
+
+This tool supports:
+
+* Zend Framework MVC projects, all v2 and v3 releases
+* Apigility projects, all stable versions
+* Expressive versions, all stable versions
+
+## Installation
+
+Run the following to install this library:
+
+```bash
+$ composer require laminas/laminas-zendframework-bridge
+```
+
+## Support
+
+* [Issues](https://github.com/laminas/laminas-zendframework-bridge/issues/)
+* [Forum](https://discourse.laminas.dev/)
diff --git a/vendor/laminas/laminas-zendframework-bridge/composer.json b/vendor/laminas/laminas-zendframework-bridge/composer.json
new file mode 100644
index 00000000..3f7af113
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/composer.json
@@ -0,0 +1,61 @@
+{
+ "name": "laminas/laminas-zendframework-bridge",
+ "description": "Alias legacy ZF class names to Laminas Project equivalents.",
+ "license": "BSD-3-Clause",
+ "keywords": [
+ "autoloading",
+ "laminas",
+ "zf",
+ "zendframework"
+ ],
+ "support": {
+ "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues",
+ "source": "https://github.com/laminas/laminas-zendframework-bridge",
+ "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom",
+ "forum": "https://discourse.laminas.dev/"
+ },
+ "require": {
+ "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "psalm/plugin-phpunit": "^0.15.1",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.6"
+ },
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ZendFrameworkBridge\\": "src//"
+ }
+ },
+ "autoload-dev": {
+ "files": [
+ "test/classes.php"
+ ],
+ "psr-4": {
+ "LaminasTest\\ZendFrameworkBridge\\": "test/",
+ "LaminasTest\\ZendFrameworkBridge\\TestAsset\\": "test/TestAsset/classes/",
+ "Laminas\\ApiTools\\": "test/TestAsset/LaminasApiTools/",
+ "Mezzio\\": "test/TestAsset/Mezzio/",
+ "Laminas\\": "test/TestAsset/Laminas/"
+ }
+ },
+ "extra": {
+ "laminas": {
+ "module": "Laminas\\ZendFrameworkBridge"
+ }
+ },
+ "config": {
+ "sort-packages": true
+ },
+ "scripts": {
+ "cs-check": "phpcs",
+ "cs-fix": "phpcbf",
+ "static-analysis": "psalm --shepherd --stats",
+ "test": "phpunit --colors=always",
+ "test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/composer.lock b/vendor/laminas/laminas-zendframework-bridge/composer.lock
new file mode 100644
index 00000000..9bcac18b
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/composer.lock
@@ -0,0 +1,3841 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "83af626bc1168baa0d5a1e19cb1b5807",
+ "packages": [],
+ "packages-dev": [
+ {
+ "name": "amphp/amp",
+ "version": "v2.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/amphp/amp.git",
+ "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
+ "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "amphp/php-cs-fixer-config": "dev-master",
+ "amphp/phpunit-util": "^1",
+ "ext-json": "*",
+ "jetbrains/phpstorm-stubs": "^2019.3",
+ "phpunit/phpunit": "^7 | ^8 | ^9",
+ "psalm/phar": "^3.11@dev",
+ "react/promise": "^2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Amp\\": "lib"
+ },
+ "files": [
+ "lib/functions.php",
+ "lib/Internal/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Daniel Lowrey",
+ "email": "rdlowrey@php.net"
+ },
+ {
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Bob Weinand",
+ "email": "bobwei9@hotmail.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
+ }
+ ],
+ "description": "A non-blocking concurrency framework for PHP applications.",
+ "homepage": "http://amphp.org/amp",
+ "keywords": [
+ "async",
+ "asynchronous",
+ "awaitable",
+ "concurrency",
+ "event",
+ "event-loop",
+ "future",
+ "non-blocking",
+ "promise"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/amp/issues",
+ "source": "https://github.com/amphp/amp/tree/v2.6.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-16T20:06:06+00:00"
+ },
+ {
+ "name": "amphp/byte-stream",
+ "version": "v1.8.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/amphp/byte-stream.git",
+ "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd",
+ "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd",
+ "shasum": ""
+ },
+ "require": {
+ "amphp/amp": "^2",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "amphp/php-cs-fixer-config": "dev-master",
+ "amphp/phpunit-util": "^1.4",
+ "friendsofphp/php-cs-fixer": "^2.3",
+ "jetbrains/phpstorm-stubs": "^2019.3",
+ "phpunit/phpunit": "^6 || ^7 || ^8",
+ "psalm/phar": "^3.11.4"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Amp\\ByteStream\\": "lib"
+ },
+ "files": [
+ "lib/functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Aaron Piotrowski",
+ "email": "aaron@trowski.com"
+ },
+ {
+ "name": "Niklas Keller",
+ "email": "me@kelunik.com"
+ }
+ ],
+ "description": "A stream abstraction to make working with non-blocking I/O simple.",
+ "homepage": "http://amphp.org/byte-stream",
+ "keywords": [
+ "amp",
+ "amphp",
+ "async",
+ "io",
+ "non-blocking",
+ "stream"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/amphp",
+ "issues": "https://github.com/amphp/byte-stream/issues",
+ "source": "https://github.com/amphp/byte-stream/tree/v1.8.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/amphp",
+ "type": "github"
+ }
+ ],
+ "time": "2021-03-30T17:13:30+00:00"
+ },
+ {
+ "name": "composer/package-versions-deprecated",
+ "version": "1.11.99.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/package-versions-deprecated.git",
+ "reference": "fff576ac850c045158a250e7e27666e146e78d18"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/fff576ac850c045158a250e7e27666e146e78d18",
+ "reference": "fff576ac850c045158a250e7e27666e146e78d18",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.1.0 || ^2.0",
+ "php": "^7 || ^8"
+ },
+ "replace": {
+ "ocramius/package-versions": "1.11.99"
+ },
+ "require-dev": {
+ "composer/composer": "^1.9.3 || ^2.0@dev",
+ "ext-zip": "^1.13",
+ "phpunit/phpunit": "^6.5 || ^7"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PackageVersions\\Installer",
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PackageVersions\\": "src/PackageVersions"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be"
+ }
+ ],
+ "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
+ "support": {
+ "issues": "https://github.com/composer/package-versions-deprecated/issues",
+ "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.3"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-08-17T13:49:14+00:00"
+ },
+ {
+ "name": "composer/semver",
+ "version": "3.2.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/semver.git",
+ "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
+ "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.54",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.2.5"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-05-24T12:41:47+00:00"
+ },
+ {
+ "name": "composer/xdebug-handler",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/xdebug-handler.git",
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339",
+ "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0",
+ "psr/log": "^1 || ^2 || ^3"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.55",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Composer\\XdebugHandler\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "John Stevenson",
+ "email": "john-stevenson@blueyonder.co.uk"
+ }
+ ],
+ "description": "Restarts a process without Xdebug.",
+ "keywords": [
+ "Xdebug",
+ "performance"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/composer",
+ "issues": "https://github.com/composer/xdebug-handler/issues",
+ "source": "https://github.com/composer/xdebug-handler/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-07-31T17:03:58+00:00"
+ },
+ {
+ "name": "dnoegel/php-xdg-base-dir",
+ "version": "v0.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dnoegel/php-xdg-base-dir.git",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+ "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "XdgBaseDir\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "implementation of xdg base directory specification for php",
+ "support": {
+ "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues",
+ "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1"
+ },
+ "time": "2019-12-04T15:06:13+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^8.0",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-10T18:47:58+00:00"
+ },
+ {
+ "name": "felixfbecker/advanced-json-rpc",
+ "version": "v3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
+ "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
+ "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
+ "shasum": ""
+ },
+ "require": {
+ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
+ "php": "^7.1 || ^8.0",
+ "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "AdvancedJsonRpc\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "ISC"
+ ],
+ "authors": [
+ {
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
+ }
+ ],
+ "description": "A more advanced JSONRPC implementation",
+ "support": {
+ "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues",
+ "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1"
+ },
+ "time": "2021-06-11T22:34:44+00:00"
+ },
+ {
+ "name": "felixfbecker/language-server-protocol",
+ "version": "1.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/felixfbecker/php-language-server-protocol.git",
+ "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
+ "reference": "9d846d1f5cf101deee7a61c8ba7caa0a975cd730",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "*",
+ "squizlabs/php_codesniffer": "^3.1",
+ "vimeo/psalm": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "LanguageServerProtocol\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "ISC"
+ ],
+ "authors": [
+ {
+ "name": "Felix Becker",
+ "email": "felix.b@outlook.com"
+ }
+ ],
+ "description": "PHP classes for the Language Server Protocol",
+ "keywords": [
+ "language",
+ "microsoft",
+ "php",
+ "server"
+ ],
+ "support": {
+ "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues",
+ "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/1.5.1"
+ },
+ "time": "2021-02-22T14:02:09+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "replace": {
+ "myclabs/deep-copy": "self.version"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^7.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ },
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-11-13T09:40:50+00:00"
+ },
+ {
+ "name": "netresearch/jsonmapper",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cweiske/jsonmapper.git",
+ "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
+ "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "squizlabs/php_codesniffer": "~3.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "JsonMapper": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "OSL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Christian Weiske",
+ "email": "cweiske@cweiske.de",
+ "homepage": "http://github.com/cweiske/jsonmapper/",
+ "role": "Developer"
+ }
+ ],
+ "description": "Map nested JSON structures onto PHP classes",
+ "support": {
+ "email": "cweiske@cweiske.de",
+ "issues": "https://github.com/cweiske/jsonmapper/issues",
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
+ },
+ "time": "2020-12-01T19:48:11+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143",
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0"
+ },
+ "time": "2021-07-21T10:44:31+00:00"
+ },
+ {
+ "name": "openlss/lib-array2xml",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nullivex/lib-array2xml.git",
+ "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
+ "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "LSS": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Bryan Tong",
+ "email": "bryan@nullivex.com",
+ "homepage": "https://www.nullivex.com"
+ },
+ {
+ "name": "Tony Butler",
+ "email": "spudz76@gmail.com",
+ "homepage": "https://www.nullivex.com"
+ }
+ ],
+ "description": "Array2XML conversion library credit to lalit.org",
+ "homepage": "https://www.nullivex.com",
+ "keywords": [
+ "array",
+ "array conversion",
+ "xml",
+ "xml conversion"
+ ],
+ "support": {
+ "issues": "https://github.com/nullivex/lib-array2xml/issues",
+ "source": "https://github.com/nullivex/lib-array2xml/tree/master"
+ },
+ "time": "2019-03-29T20:06:56+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "bae7c545bef187884426f042434e561ab1ddb182"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182",
+ "reference": "bae7c545bef187884426f042434e561ab1ddb182",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.1.0"
+ },
+ "time": "2021-02-23T14:00:09+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ },
+ "time": "2020-09-03T19:13:55+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
+ },
+ "time": "2020-09-17T18:55:26+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "1.13.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
+ "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.2",
+ "php": "^7.2 || ~8.0, <8.1",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^6.0",
+ "phpunit/phpunit": "^8.0 || ^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.11.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Prophecy\\": "src/Prophecy"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ },
+ {
+ "name": "Marcello Duarte",
+ "email": "marcello.duarte@gmail.com"
+ }
+ ],
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
+ "homepage": "https://github.com/phpspec/prophecy",
+ "keywords": [
+ "Double",
+ "Dummy",
+ "fake",
+ "mock",
+ "spy",
+ "stub"
+ ],
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/1.13.0"
+ },
+ "time": "2021-03-17T13:42:18+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "f6293e1b30a2354e8428e004689671b83871edde"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
+ "reference": "f6293e1b30a2354e8428e004689671b83871edde",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.10.2",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-03-28T07:26:59+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:57:25+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.5.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
+ "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpspec/prophecy": "^1.12.1",
+ "phpunit/php-code-coverage": "^9.2.3",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^2.3.4",
+ "sebastian/version": "^3.0.2"
+ },
+ "require-dev": {
+ "ext-pdo": "*",
+ "phpspec/prophecy-phpunit": "^2.0.1"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.5-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ],
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/donate.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-31T06:47:40+00:00"
+ },
+ {
+ "name": "psalm/plugin-phpunit",
+ "version": "0.15.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/psalm/psalm-plugin-phpunit.git",
+ "reference": "31d15bbc0169a3c454e495e03fd8a6ccb663661b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/31d15bbc0169a3c454e495e03fd8a6ccb663661b",
+ "reference": "31d15bbc0169a3c454e495e03fd8a6ccb663661b",
+ "shasum": ""
+ },
+ "require": {
+ "composer/package-versions-deprecated": "^1.10",
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "ext-simplexml": "*",
+ "php": "^7.1 || ^8.0",
+ "vimeo/psalm": "dev-master || dev-4.x || ^4.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<7.5"
+ },
+ "require-dev": {
+ "codeception/codeception": "^4.0.3",
+ "php": "^7.3 || ^8.0",
+ "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0",
+ "squizlabs/php_codesniffer": "^3.3.1",
+ "weirdan/codeception-psalm-module": "^0.11.0",
+ "weirdan/prophecy-shim": "^1.0 || ^2.0"
+ },
+ "type": "psalm-plugin",
+ "extra": {
+ "psalm": {
+ "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\PhpUnitPlugin\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Brown",
+ "email": "github@muglug.com"
+ }
+ ],
+ "description": "Psalm plugin for PHPUnit",
+ "support": {
+ "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
+ "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.15.2"
+ },
+ "time": "2021-05-29T19:11:38+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.1"
+ },
+ "time": "2021-03-05T17:36:06+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
+ },
+ "time": "2021-05-03T11:20:27+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:49:45+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:52:27+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:10:38+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "5.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
+ "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:52:38+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "4.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:24:23+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/23bd5951f7ff26f12d4e3242864df3e08dec4e49",
+ "reference": "23bd5951f7ff26f12d4e3242864df3e08dec4e49",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-06-11T13:31:12+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:42:11+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "2.3.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914",
+ "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/2.3.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-06-15T12:49:02+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
+ },
+ {
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
+ "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
+ "shasum": ""
+ },
+ "require": {
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "bin": [
+ "bin/phpcs",
+ "bin/phpcbf"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Greg Sherwood",
+ "role": "lead"
+ }
+ ],
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards"
+ ],
+ "support": {
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ },
+ "time": "2021-04-09T00:54:41+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v5.3.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a",
+ "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.8",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2",
+ "symfony/string": "^5.1"
+ },
+ "conflict": {
+ "psr/log": ">=3",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/dotenv": "<5.1",
+ "symfony/event-dispatcher": "<4.4",
+ "symfony/lock": "<4.4",
+ "symfony/process": "<4.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2",
+ "symfony/config": "^4.4|^5.0",
+ "symfony/dependency-injection": "^4.4|^5.0",
+ "symfony/event-dispatcher": "^4.4|^5.0",
+ "symfony/lock": "^4.4|^5.0",
+ "symfony/process": "^4.4|^5.0",
+ "symfony/var-dumper": "^4.4|^5.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v5.3.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-08-25T20:02:16+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+ "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-03-23T23:28:01+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-02-19T12:13:01+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.23.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-05-27T12:26:48+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-02-19T12:13:01+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.23.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-05-27T12:26:48+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php73",
+ "version": "v1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010",
+ "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php73\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-02-19T12:13:01+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php80",
+ "version": "v1.23.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-07-28T13:41:28+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
+ "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "psr/container": "^1.1"
+ },
+ "suggest": {
+ "symfony/service-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-04-01T10:43:52+00:00"
+ },
+ {
+ "name": "symfony/string",
+ "version": "v5.3.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/string.git",
+ "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5",
+ "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "~1.15"
+ },
+ "require-dev": {
+ "symfony/error-handler": "^4.4|^5.0",
+ "symfony/http-client": "^4.4|^5.0",
+ "symfony/translation-contracts": "^1.1|^2",
+ "symfony/var-exporter": "^4.4|^5.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
+ "files": [
+ "Resources/functions.php"
+ ],
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v5.3.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-08-26T08:00:08+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-28T10:34:58+00:00"
+ },
+ {
+ "name": "vimeo/psalm",
+ "version": "4.9.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vimeo/psalm.git",
+ "reference": "4c262932602b9bbab5020863d1eb22d49de0dbf4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/4c262932602b9bbab5020863d1eb22d49de0dbf4",
+ "reference": "4c262932602b9bbab5020863d1eb22d49de0dbf4",
+ "shasum": ""
+ },
+ "require": {
+ "amphp/amp": "^2.4.2",
+ "amphp/byte-stream": "^1.5",
+ "composer/package-versions-deprecated": "^1.8.0",
+ "composer/semver": "^1.4 || ^2.0 || ^3.0",
+ "composer/xdebug-handler": "^1.1 || ^2.0",
+ "dnoegel/php-xdg-base-dir": "^0.1.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "felixfbecker/advanced-json-rpc": "^3.0.3",
+ "felixfbecker/language-server-protocol": "^1.5",
+ "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
+ "nikic/php-parser": "^4.12",
+ "openlss/lib-array2xml": "^1.0",
+ "php": "^7.1|^8",
+ "sebastian/diff": "^3.0 || ^4.0",
+ "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0",
+ "webmozart/path-util": "^2.3"
+ },
+ "provide": {
+ "psalm/psalm": "self.version"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.2",
+ "brianium/paratest": "^4.0||^6.0",
+ "ext-curl": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpdocumentor/reflection-docblock": "^5",
+ "phpmyadmin/sql-parser": "5.1.0||dev-master",
+ "phpspec/prophecy": ">=1.9.0",
+ "phpunit/phpunit": "^9.0",
+ "psalm/plugin-phpunit": "^0.16",
+ "slevomat/coding-standard": "^7.0",
+ "squizlabs/php_codesniffer": "^3.5",
+ "symfony/process": "^4.3 || ^5.0",
+ "weirdan/prophecy-shim": "^1.0 || ^2.0"
+ },
+ "suggest": {
+ "ext-igbinary": "^2.0.5"
+ },
+ "bin": [
+ "psalm",
+ "psalm-language-server",
+ "psalm-plugin",
+ "psalm-refactor",
+ "psalter"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.x-dev",
+ "dev-3.x": "3.x-dev",
+ "dev-2.x": "2.x-dev",
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psalm\\": "src/Psalm/"
+ },
+ "files": [
+ "src/functions.php",
+ "src/spl_object_id.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matthew Brown"
+ }
+ ],
+ "description": "A static analysis tool for finding errors in PHP applications",
+ "keywords": [
+ "code",
+ "inspection",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/vimeo/psalm/issues",
+ "source": "https://github.com/vimeo/psalm/tree/4.9.3"
+ },
+ "time": "2021-08-14T16:19:38+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.10.0"
+ },
+ "time": "2021-03-09T10:59:23+00:00"
+ },
+ {
+ "name": "webmozart/path-util",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozart/path-util.git",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "webmozart/assert": "~1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.6",
+ "sebastian/version": "^1.0.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\PathUtil\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
+ "support": {
+ "issues": "https://github.com/webmozart/path-util/issues",
+ "source": "https://github.com/webmozart/path-util/tree/2.3.0"
+ },
+ "time": "2015-12-17T08:42:14+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ },
+ "platform-dev": [],
+ "plugin-api-version": "2.0.0"
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/config/replacements.php b/vendor/laminas/laminas-zendframework-bridge/config/replacements.php
new file mode 100644
index 00000000..f5344355
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/config/replacements.php
@@ -0,0 +1,372 @@
+ 'zendframework/zendframework',
+ 'zend-developer-tools/toolbar/bjy' => 'zend-developer-tools/toolbar/bjy',
+ 'zend-developer-tools/toolbar/doctrine' => 'zend-developer-tools/toolbar/doctrine',
+
+ // NAMESPACES
+ // Zend Framework components
+ 'Zend\\AuraDi\\Config' => 'Laminas\\AuraDi\\Config',
+ 'Zend\\Authentication' => 'Laminas\\Authentication',
+ 'Zend\\Barcode' => 'Laminas\\Barcode',
+ 'Zend\\Cache' => 'Laminas\\Cache',
+ 'Zend\\Captcha' => 'Laminas\\Captcha',
+ 'Zend\\Code' => 'Laminas\\Code',
+ 'ZendCodingStandard\\Sniffs' => 'LaminasCodingStandard\\Sniffs',
+ 'ZendCodingStandard\\Utils' => 'LaminasCodingStandard\\Utils',
+ 'Zend\\ComponentInstaller' => 'Laminas\\ComponentInstaller',
+ 'Zend\\Config' => 'Laminas\\Config',
+ 'Zend\\ConfigAggregator' => 'Laminas\\ConfigAggregator',
+ 'Zend\\ConfigAggregatorModuleManager' => 'Laminas\\ConfigAggregatorModuleManager',
+ 'Zend\\ConfigAggregatorParameters' => 'Laminas\\ConfigAggregatorParameters',
+ 'Zend\\Console' => 'Laminas\\Console',
+ 'Zend\\ContainerConfigTest' => 'Laminas\\ContainerConfigTest',
+ 'Zend\\Crypt' => 'Laminas\\Crypt',
+ 'Zend\\Db' => 'Laminas\\Db',
+ 'ZendDeveloperTools' => 'Laminas\\DeveloperTools',
+ 'Zend\\Di' => 'Laminas\\Di',
+ 'Zend\\Diactoros' => 'Laminas\\Diactoros',
+ 'ZendDiagnostics\\Check' => 'Laminas\\Diagnostics\\Check',
+ 'ZendDiagnostics\\Result' => 'Laminas\\Diagnostics\\Result',
+ 'ZendDiagnostics\\Runner' => 'Laminas\\Diagnostics\\Runner',
+ 'Zend\\Dom' => 'Laminas\\Dom',
+ 'Zend\\Escaper' => 'Laminas\\Escaper',
+ 'Zend\\EventManager' => 'Laminas\\EventManager',
+ 'Zend\\Feed' => 'Laminas\\Feed',
+ 'Zend\\File' => 'Laminas\\File',
+ 'Zend\\Filter' => 'Laminas\\Filter',
+ 'Zend\\Form' => 'Laminas\\Form',
+ 'Zend\\Http' => 'Laminas\\Http',
+ 'Zend\\HttpHandlerRunner' => 'Laminas\\HttpHandlerRunner',
+ 'Zend\\Hydrator' => 'Laminas\\Hydrator',
+ 'Zend\\I18n' => 'Laminas\\I18n',
+ 'Zend\\InputFilter' => 'Laminas\\InputFilter',
+ 'Zend\\Json' => 'Laminas\\Json',
+ 'Zend\\Ldap' => 'Laminas\\Ldap',
+ 'Zend\\Loader' => 'Laminas\\Loader',
+ 'Zend\\Log' => 'Laminas\\Log',
+ 'Zend\\Mail' => 'Laminas\\Mail',
+ 'Zend\\Math' => 'Laminas\\Math',
+ 'Zend\\Memory' => 'Laminas\\Memory',
+ 'Zend\\Mime' => 'Laminas\\Mime',
+ 'Zend\\ModuleManager' => 'Laminas\\ModuleManager',
+ 'Zend\\Mvc' => 'Laminas\\Mvc',
+ 'Zend\\Navigation' => 'Laminas\\Navigation',
+ 'Zend\\Paginator' => 'Laminas\\Paginator',
+ 'Zend\\Permissions' => 'Laminas\\Permissions',
+ 'Zend\\Pimple\\Config' => 'Laminas\\Pimple\\Config',
+ 'Zend\\ProblemDetails' => 'Mezzio\\ProblemDetails',
+ 'Zend\\ProgressBar' => 'Laminas\\ProgressBar',
+ 'Zend\\Psr7Bridge' => 'Laminas\\Psr7Bridge',
+ 'Zend\\Router' => 'Laminas\\Router',
+ 'Zend\\Serializer' => 'Laminas\\Serializer',
+ 'Zend\\Server' => 'Laminas\\Server',
+ 'Zend\\ServiceManager' => 'Laminas\\ServiceManager',
+ 'ZendService\\ReCaptcha' => 'Laminas\\ReCaptcha',
+ 'ZendService\\Twitter' => 'Laminas\\Twitter',
+ 'Zend\\Session' => 'Laminas\\Session',
+ 'Zend\\SkeletonInstaller' => 'Laminas\\SkeletonInstaller',
+ 'Zend\\Soap' => 'Laminas\\Soap',
+ 'Zend\\Stdlib' => 'Laminas\\Stdlib',
+ 'Zend\\Stratigility' => 'Laminas\\Stratigility',
+ 'Zend\\Tag' => 'Laminas\\Tag',
+ 'Zend\\Test' => 'Laminas\\Test',
+ 'Zend\\Text' => 'Laminas\\Text',
+ 'Zend\\Uri' => 'Laminas\\Uri',
+ 'Zend\\Validator' => 'Laminas\\Validator',
+ 'Zend\\View' => 'Laminas\\View',
+ 'ZendXml' => 'Laminas\\Xml',
+ 'Zend\\Xml2Json' => 'Laminas\\Xml2Json',
+ 'Zend\\XmlRpc' => 'Laminas\\XmlRpc',
+ 'ZendOAuth' => 'Laminas\\OAuth',
+
+ // class ZendAcl in zend-expressive-authorization-acl
+ 'ZendAcl' => 'LaminasAcl',
+ 'Zend\\Expressive\\Authorization\\Acl\\ZendAcl' => 'Mezzio\\Authorization\\Acl\\LaminasAcl',
+ // class ZendHttpClientDecorator in zend-feed
+ 'ZendHttp' => 'LaminasHttp',
+ // class ZendModuleProvider in zend-config-aggregator-modulemanager
+ 'ZendModule' => 'LaminasModule',
+ // class ZendRbac in zend-expressive-authorization-rbac
+ 'ZendRbac' => 'LaminasRbac',
+ 'Zend\\Expressive\\Authorization\\Rbac\\ZendRbac' => 'Mezzio\\Authorization\\Rbac\\LaminasRbac',
+ // class ZendRouter in zend-expressive-router-zendrouter
+ 'ZendRouter' => 'LaminasRouter',
+ 'Zend\\Expressive\\Router\\ZendRouter' => 'Mezzio\\Router\\LaminasRouter',
+ // class ZendViewRenderer in zend-expressive-zendviewrenderer
+ 'ZendViewRenderer' => 'LaminasViewRenderer',
+ 'Zend\\Expressive\\ZendView\\ZendViewRenderer' => 'Mezzio\\LaminasView\\LaminasViewRenderer',
+ 'a\\Zend' => 'a\\Zend',
+ 'b\\Zend' => 'b\\Zend',
+ 'c\\Zend' => 'c\\Zend',
+ 'd\\Zend' => 'd\\Zend',
+ 'e\\Zend' => 'e\\Zend',
+ 'f\\Zend' => 'f\\Zend',
+ 'g\\Zend' => 'g\\Zend',
+ 'h\\Zend' => 'h\\Zend',
+ 'i\\Zend' => 'i\\Zend',
+ 'j\\Zend' => 'j\\Zend',
+ 'k\\Zend' => 'k\\Zend',
+ 'l\\Zend' => 'l\\Zend',
+ 'm\\Zend' => 'm\\Zend',
+ 'n\\Zend' => 'n\\Zend',
+ 'o\\Zend' => 'o\\Zend',
+ 'p\\Zend' => 'p\\Zend',
+ 'q\\Zend' => 'q\\Zend',
+ 'r\\Zend' => 'r\\Zend',
+ 's\\Zend' => 's\\Zend',
+ 't\\Zend' => 't\\Zend',
+ 'u\\Zend' => 'u\\Zend',
+ 'v\\Zend' => 'v\\Zend',
+ 'w\\Zend' => 'w\\Zend',
+ 'x\\Zend' => 'x\\Zend',
+ 'y\\Zend' => 'y\\Zend',
+ 'z\\Zend' => 'z\\Zend',
+
+ // Expressive
+ 'Zend\\Expressive' => 'Mezzio',
+ 'ZendAuthentication' => 'LaminasAuthentication',
+ 'ZendAcl' => 'LaminasAcl',
+ 'ZendRbac' => 'LaminasRbac',
+ 'ZendRouter' => 'LaminasRouter',
+ 'ExpressiveUrlGenerator' => 'MezzioUrlGenerator',
+ 'ExpressiveInstaller' => 'MezzioInstaller',
+
+ // Apigility
+ 'ZF\\Apigility' => 'Laminas\\ApiTools',
+ 'ZF\\ApiProblem' => 'Laminas\\ApiTools\\ApiProblem',
+ 'ZF\\AssetManager' => 'Laminas\\ApiTools\\AssetManager',
+ 'ZF\\ComposerAutoloading' => 'Laminas\\ComposerAutoloading',
+ 'ZF\\Configuration' => 'Laminas\\ApiTools\\Configuration',
+ 'ZF\\ContentNegotiation' => 'Laminas\\ApiTools\\ContentNegotiation',
+ 'ZF\\ContentValidation' => 'Laminas\\ApiTools\\ContentValidation',
+ 'ZF\\DevelopmentMode' => 'Laminas\\DevelopmentMode',
+ 'ZF\\Doctrine\\QueryBuilder' => 'Laminas\\ApiTools\\Doctrine\\QueryBuilder',
+ 'ZF\\Hal' => 'Laminas\\ApiTools\\Hal',
+ 'ZF\\HttpCache' => 'Laminas\\ApiTools\\HttpCache',
+ 'ZF\\MvcAuth' => 'Laminas\\ApiTools\\MvcAuth',
+ 'ZF\\OAuth2' => 'Laminas\\ApiTools\\OAuth2',
+ 'ZF\\Rest' => 'Laminas\\ApiTools\\Rest',
+ 'ZF\\Rpc' => 'Laminas\\ApiTools\\Rpc',
+ 'ZF\\Versioning' => 'Laminas\\ApiTools\\Versioning',
+ 'a\\ZF' => 'a\\ZF',
+ 'b\\ZF' => 'b\\ZF',
+ 'c\\ZF' => 'c\\ZF',
+ 'd\\ZF' => 'd\\ZF',
+ 'e\\ZF' => 'e\\ZF',
+ 'f\\ZF' => 'f\\ZF',
+ 'g\\ZF' => 'g\\ZF',
+ 'h\\ZF' => 'h\\ZF',
+ 'i\\ZF' => 'i\\ZF',
+ 'j\\ZF' => 'j\\ZF',
+ 'k\\ZF' => 'k\\ZF',
+ 'l\\ZF' => 'l\\ZF',
+ 'm\\ZF' => 'm\\ZF',
+ 'n\\ZF' => 'n\\ZF',
+ 'o\\ZF' => 'o\\ZF',
+ 'p\\ZF' => 'p\\ZF',
+ 'q\\ZF' => 'q\\ZF',
+ 'r\\ZF' => 'r\\ZF',
+ 's\\ZF' => 's\\ZF',
+ 't\\ZF' => 't\\ZF',
+ 'u\\ZF' => 'u\\ZF',
+ 'v\\ZF' => 'v\\ZF',
+ 'w\\ZF' => 'w\\ZF',
+ 'x\\ZF' => 'x\\ZF',
+ 'y\\ZF' => 'y\\ZF',
+ 'z\\ZF' => 'z\\ZF',
+
+ 'ApigilityModuleInterface' => 'ApiToolsModuleInterface',
+ 'ApigilityProviderInterface' => 'ApiToolsProviderInterface',
+ 'ApigilityVersionController' => 'ApiToolsVersionController',
+
+ // PACKAGES
+ // ZF components, MVC
+ 'zendframework/skeleton-application' => 'laminas/skeleton-application',
+ 'zendframework/zend-auradi-config' => 'laminas/laminas-auradi-config',
+ 'zendframework/zend-authentication' => 'laminas/laminas-authentication',
+ 'zendframework/zend-barcode' => 'laminas/laminas-barcode',
+ 'zendframework/zend-cache' => 'laminas/laminas-cache',
+ 'zendframework/zend-captcha' => 'laminas/laminas-captcha',
+ 'zendframework/zend-code' => 'laminas/laminas-code',
+ 'zendframework/zend-coding-standard' => 'laminas/laminas-coding-standard',
+ 'zendframework/zend-component-installer' => 'laminas/laminas-component-installer',
+ 'zendframework/zend-composer-autoloading' => 'laminas/laminas-composer-autoloading',
+ 'zendframework/zend-config-aggregator' => 'laminas/laminas-config-aggregator',
+ 'zendframework/zend-config' => 'laminas/laminas-config',
+ 'zendframework/zend-console' => 'laminas/laminas-console',
+ 'zendframework/zend-container-config-test' => 'laminas/laminas-container-config-test',
+ 'zendframework/zend-crypt' => 'laminas/laminas-crypt',
+ 'zendframework/zend-db' => 'laminas/laminas-db',
+ 'zendframework/zend-developer-tools' => 'laminas/laminas-developer-tools',
+ 'zendframework/zend-diactoros' => 'laminas/laminas-diactoros',
+ 'zendframework/zenddiagnostics' => 'laminas/laminas-diagnostics',
+ 'zendframework/zend-di' => 'laminas/laminas-di',
+ 'zendframework/zend-dom' => 'laminas/laminas-dom',
+ 'zendframework/zend-escaper' => 'laminas/laminas-escaper',
+ 'zendframework/zend-eventmanager' => 'laminas/laminas-eventmanager',
+ 'zendframework/zend-feed' => 'laminas/laminas-feed',
+ 'zendframework/zend-file' => 'laminas/laminas-file',
+ 'zendframework/zend-filter' => 'laminas/laminas-filter',
+ 'zendframework/zend-form' => 'laminas/laminas-form',
+ 'zendframework/zend-httphandlerrunner' => 'laminas/laminas-httphandlerrunner',
+ 'zendframework/zend-http' => 'laminas/laminas-http',
+ 'zendframework/zend-hydrator' => 'laminas/laminas-hydrator',
+ 'zendframework/zend-i18n' => 'laminas/laminas-i18n',
+ 'zendframework/zend-i18n-resources' => 'laminas/laminas-i18n-resources',
+ 'zendframework/zend-inputfilter' => 'laminas/laminas-inputfilter',
+ 'zendframework/zend-json' => 'laminas/laminas-json',
+ 'zendframework/zend-json-server' => 'laminas/laminas-json-server',
+ 'zendframework/zend-ldap' => 'laminas/laminas-ldap',
+ 'zendframework/zend-loader' => 'laminas/laminas-loader',
+ 'zendframework/zend-log' => 'laminas/laminas-log',
+ 'zendframework/zend-mail' => 'laminas/laminas-mail',
+ 'zendframework/zend-math' => 'laminas/laminas-math',
+ 'zendframework/zend-memory' => 'laminas/laminas-memory',
+ 'zendframework/zend-mime' => 'laminas/laminas-mime',
+ 'zendframework/zend-modulemanager' => 'laminas/laminas-modulemanager',
+ 'zendframework/zend-mvc' => 'laminas/laminas-mvc',
+ 'zendframework/zend-navigation' => 'laminas/laminas-navigation',
+ 'zendframework/zend-oauth' => 'laminas/laminas-oauth',
+ 'zendframework/zend-paginator' => 'laminas/laminas-paginator',
+ 'zendframework/zend-permissions-acl' => 'laminas/laminas-permissions-acl',
+ 'zendframework/zend-permissions-rbac' => 'laminas/laminas-permissions-rbac',
+ 'zendframework/zend-pimple-config' => 'laminas/laminas-pimple-config',
+ 'zendframework/zend-progressbar' => 'laminas/laminas-progressbar',
+ 'zendframework/zend-psr7bridge' => 'laminas/laminas-psr7bridge',
+ 'zendframework/zend-recaptcha' => 'laminas/laminas-recaptcha',
+ 'zendframework/zend-router' => 'laminas/laminas-router',
+ 'zendframework/zend-serializer' => 'laminas/laminas-serializer',
+ 'zendframework/zend-server' => 'laminas/laminas-server',
+ 'zendframework/zend-servicemanager' => 'laminas/laminas-servicemanager',
+ 'zendframework/zendservice-recaptcha' => 'laminas/laminas-recaptcha',
+ 'zendframework/zendservice-twitter' => 'laminas/laminas-twitter',
+ 'zendframework/zend-session' => 'laminas/laminas-session',
+ 'zendframework/zend-skeleton-installer' => 'laminas/laminas-skeleton-installer',
+ 'zendframework/zend-soap' => 'laminas/laminas-soap',
+ 'zendframework/zend-stdlib' => 'laminas/laminas-stdlib',
+ 'zendframework/zend-stratigility' => 'laminas/laminas-stratigility',
+ 'zendframework/zend-tag' => 'laminas/laminas-tag',
+ 'zendframework/zend-test' => 'laminas/laminas-test',
+ 'zendframework/zend-text' => 'laminas/laminas-text',
+ 'zendframework/zend-uri' => 'laminas/laminas-uri',
+ 'zendframework/zend-validator' => 'laminas/laminas-validator',
+ 'zendframework/zend-view' => 'laminas/laminas-view',
+ 'zendframework/zend-xml2json' => 'laminas/laminas-xml2json',
+ 'zendframework/zend-xml' => 'laminas/laminas-xml',
+ 'zendframework/zend-xmlrpc' => 'laminas/laminas-xmlrpc',
+
+ // Expressive packages
+ 'zendframework/zend-expressive' => 'mezzio/mezzio',
+ 'zendframework/zend-expressive-zendrouter' => 'mezzio/mezzio-laminasrouter',
+ 'zendframework/zend-problem-details' => 'mezzio/mezzio-problem-details',
+ 'zendframework/zend-expressive-zendviewrenderer' => 'mezzio/mezzio-laminasviewrenderer',
+
+ // Apigility packages
+ 'zfcampus/apigility-documentation' => 'laminas-api-tools/documentation',
+ 'zfcampus/statuslib-example' => 'laminas-api-tools/statuslib-example',
+ 'zfcampus/zf-apigility' => 'laminas-api-tools/api-tools',
+ 'zfcampus/zf-api-problem' => 'laminas-api-tools/api-tools-api-problem',
+ 'zfcampus/zf-asset-manager' => 'laminas-api-tools/api-tools-asset-manager',
+ 'zfcampus/zf-configuration' => 'laminas-api-tools/api-tools-configuration',
+ 'zfcampus/zf-content-negotiation' => 'laminas-api-tools/api-tools-content-negotiation',
+ 'zfcampus/zf-content-validation' => 'laminas-api-tools/api-tools-content-validation',
+ 'zfcampus/zf-development-mode' => 'laminas/laminas-development-mode',
+ 'zfcampus/zf-doctrine-querybuilder' => 'laminas-api-tools/api-tools-doctrine-querybuilder',
+ 'zfcampus/zf-hal' => 'laminas-api-tools/api-tools-hal',
+ 'zfcampus/zf-http-cache' => 'laminas-api-tools/api-tools-http-cache',
+ 'zfcampus/zf-mvc-auth' => 'laminas-api-tools/api-tools-mvc-auth',
+ 'zfcampus/zf-oauth2' => 'laminas-api-tools/api-tools-oauth2',
+ 'zfcampus/zf-rest' => 'laminas-api-tools/api-tools-rest',
+ 'zfcampus/zf-rpc' => 'laminas-api-tools/api-tools-rpc',
+ 'zfcampus/zf-versioning' => 'laminas-api-tools/api-tools-versioning',
+
+ // CONFIG KEYS, SCRIPT NAMES, ETC
+ // ZF components
+ '::fromZend' => '::fromLaminas', // psr7bridge
+ '::toZend' => '::toLaminas', // psr7bridge
+ 'use_zend_loader' => 'use_laminas_loader', // zend-modulemanager
+ 'zend-config' => 'laminas-config',
+ 'zend-developer-tools/' => 'laminas-developer-tools/',
+ 'zend-tag-cloud' => 'laminas-tag-cloud',
+ 'zenddevelopertools' => 'laminas-developer-tools',
+ 'zendbarcode' => 'laminasbarcode',
+ 'ZendBarcode' => 'LaminasBarcode',
+ 'zendcache' => 'laminascache',
+ 'ZendCache' => 'LaminasCache',
+ 'zendconfig' => 'laminasconfig',
+ 'ZendConfig' => 'LaminasConfig',
+ 'zendfeed' => 'laminasfeed',
+ 'ZendFeed' => 'LaminasFeed',
+ 'zendfilter' => 'laminasfilter',
+ 'ZendFilter' => 'LaminasFilter',
+ 'zendform' => 'laminasform',
+ 'ZendForm' => 'LaminasForm',
+ 'zendi18n' => 'laminasi18n',
+ 'ZendI18n' => 'LaminasI18n',
+ 'zendinputfilter' => 'laminasinputfilter',
+ 'ZendInputFilter' => 'LaminasInputFilter',
+ 'zendlog' => 'laminaslog',
+ 'ZendLog' => 'LaminasLog',
+ 'zendmail' => 'laminasmail',
+ 'ZendMail' => 'LaminasMail',
+ 'zendmvc' => 'laminasmvc',
+ 'ZendMvc' => 'LaminasMvc',
+ 'zendpaginator' => 'laminaspaginator',
+ 'ZendPaginator' => 'LaminasPaginator',
+ 'zendserializer' => 'laminasserializer',
+ 'ZendSerializer' => 'LaminasSerializer',
+ 'zendtag' => 'laminastag',
+ 'ZendTag' => 'LaminasTag',
+ 'zendtext' => 'laminastext',
+ 'ZendText' => 'LaminasText',
+ 'zendvalidator' => 'laminasvalidator',
+ 'ZendValidator' => 'LaminasValidator',
+ 'zendview' => 'laminasview',
+ 'ZendView' => 'LaminasView',
+ 'zend-framework.flf' => 'laminas-project.flf',
+
+ // Expressive-related
+ "'zend-expressive'" => "'mezzio'",
+ '"zend-expressive"' => '"mezzio"',
+ 'zend-expressive.' => 'mezzio.',
+ 'zend-expressive-authorization' => 'mezzio-authorization',
+ 'zend-expressive-hal' => 'mezzio-hal',
+ 'zend-expressive-session' => 'mezzio-session',
+ 'zend-expressive-swoole' => 'mezzio-swoole',
+ 'zend-expressive-tooling' => 'mezzio-tooling',
+
+ // Apigility-related
+ "'zf-apigility'" => "'api-tools'",
+ '"zf-apigility"' => '"api-tools"',
+ 'zf-apigility/' => 'api-tools/',
+ 'zf-apigility-admin' => 'api-tools-admin',
+ 'zf-content-negotiation' => 'api-tools-content-negotiation',
+ 'zf-hal' => 'api-tools-hal',
+ 'zf-rest' => 'api-tools-rest',
+ 'zf-rpc' => 'api-tools-rpc',
+ 'zf-content-validation' => 'api-tools-content-validation',
+ 'zf-apigility-ui' => 'api-tools-ui',
+ 'zf-apigility-documentation-blueprint' => 'api-tools-documentation-blueprint',
+ 'zf-apigility-documentation-swagger' => 'api-tools-documentation-swagger',
+ 'zf-apigility-welcome' => 'api-tools-welcome',
+ 'zf-api-problem' => 'api-tools-api-problem',
+ 'zf-configuration' => 'api-tools-configuration',
+ 'zf-http-cache' => 'api-tools-http-cache',
+ 'zf-mvc-auth' => 'api-tools-mvc-auth',
+ 'zf-oauth2' => 'api-tools-oauth2',
+ 'zf-versioning' => 'api-tools-versioning',
+ 'ZfApigilityDoctrineQueryProviderManager' => 'LaminasApiToolsDoctrineQueryProviderManager',
+ 'ZfApigilityDoctrineQueryCreateFilterManager' => 'LaminasApiToolsDoctrineQueryCreateFilterManager',
+ 'zf-apigility-doctrine' => 'api-tools-doctrine',
+ 'zf-development-mode' => 'laminas-development-mode',
+ 'zf-doctrine-querybuilder' => 'api-tools-doctrine-querybuilder',
+
+ // 3rd party Apigility packages
+ 'api-skeletons/zf-' => 'api-skeletons/zf-', // api-skeletons packages
+ 'zf-oauth2-' => 'zf-oauth2-', // api-skeletons OAuth2-related packages
+ 'ZF\\OAuth2\\Client' => 'ZF\\OAuth2\\Client', // api-skeletons/zf-oauth2-client
+ 'ZF\\OAuth2\\Doctrine' => 'ZF\\OAuth2\\Doctrine', // api-skeletons/zf-oauth2-doctrine
+];
diff --git a/vendor/laminas/laminas-zendframework-bridge/psalm-baseline.xml b/vendor/laminas/laminas-zendframework-bridge/psalm-baseline.xml
new file mode 100644
index 00000000..76d61cd2
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/psalm-baseline.xml
@@ -0,0 +1,345 @@
+
+
+
+
+ 'ZendAcl' => 'LaminasAcl'
+ 'ZendRbac' => 'LaminasRbac'
+ 'ZendRouter' => 'LaminasRouter'
+
+
+
+
+ $class
+ $class
+
+
+ load
+
+
+ $class
+ $class
+ $class
+ $class
+ $class
+ $class
+ $class
+
+
+
+ $loaded[$class]
+
+
+ $namespaces[$check]
+ $namespaces[$check]
+
+
+
+
+ $keys
+
+
+ $value
+ $value
+ $value
+ $value
+
+
+ function ($value) {
+ function ($value) {
+ function ($value, array $keys) {
+ function ($value, array $keys) {
+
+
+ replaceDependencyConfiguration
+ replaceDependencyFactories
+ replaceDependencyServices
+
+
+ $config
+ $newKey
+ $newKey
+ $newKey
+ $target
+
+
+ [$key]
+
+
+ $config[$key]
+ $config['aliases'][$alias]
+ $config['aliases'][$service]
+ $config['aliases'][$service]
+
+
+ $aliases[$name]
+ $config[$key]
+ $keys[$key]
+ $rewritten[$newKey]
+ $rewritten[$newKey]
+ $rewritten[$newKey]
+ $this->exactReplacements[$value]
+
+
+ $aliases[$name]
+
+
+ $a[$key]
+ $a[$key]
+ $a[]
+ $config
+ $config
+ $config[$key]
+ $config['factories'][$replacedService]
+ $config['services'][$replacedService]
+ $data
+ $factory
+ $factory
+ $key
+ $key
+ $name
+ $newKey
+ $newValue
+ $notIn[]
+ $result
+ $rewritten[$key]
+ $rewritten[$newKey]
+ $rewritten[$newKey][]
+ $serviceInstance
+ $serviceInstance
+ $target
+ $value
+ $value
+
+
+
+
+ init
+ onMergeConfig
+
+
+ ModuleEvent
+ ModuleManager
+
+
+
+
+ $replacement
+ $replacement
+
+
+ $original
+ $original
+ $original
+
+
+ $replacement
+
+
+ $this->replacements
+ $this->replacements
+
+
+
+
+ new $legacy()
+
+
+ testLegacyClassIsAliasToLaminas
+ testReverseAliasCreated
+ testTypeHint
+
+
+ testLegacyClassIsAliasToLaminas
+
+
+
+
+ invalidServiceManagerConfiguration
+ testRewritesNestedKeys
+ testServiceManagerServiceInstancesCanBeHandled
+ testWillSkipInvalidConfigurations
+
+
+ $config
+
+
+ $config
+ $expected
+
+
+ iterable
+
+
+ require $configLocation
+ require $expectedResultLocation
+
+
+
+
+ $event
+ $moduleManager
+
+
+ testInitRegistersListenerWithEventManager
+ testOnMergeConfigProcessesAndReplacesConfigurationPulledFromListener
+
+
+ $config
+
+
+ $config
+ $expected
+
+
+ iterable
+
+
+ require $configFile
+ require $expectationsFile
+
+
+
+
+ testEdgeCases
+
+
+ iterable
+
+
+
+
+ ConfigAbstractFactory
+ ConfigAbstractFactory
+ InvokableFactory
+ InvokableFactory
+
+
+
+
+ 'Zend\Db\Adapter\Adapter' => 'ZF\Apigility\DbConnectedAdapter'
+
+
+
+
+ Factory\SlimRouterFactory
+ RouterInterface
+
+
+
+
+ LazyServiceFactory
+
+
+
+
+ CacheItemPoolInterface
+ ConfigFactory
+ ConfigFactory
+ ConfigFactory
+ ConfigFactory
+ ConfigFactory
+ ConfigFactory
+ Csp
+ DisplayPostHandler
+ Engine
+ EventDispatcherInterface
+ Factory\CachePoolFactory
+ Factory\EventDispatcherFactory
+ Factory\MailTransport
+ Factory\PlatesFunctionsDelegator
+ FeedReaderHttpClientInterface
+ Feed\HttpPlugClientFactory
+ Handler\ComicsPageHandler
+ Handler\ComicsPageHandlerFactory
+ Handler\HomePageHandler
+ Handler\HomePageHandlerFactory
+ Handler\PageHandlerFactory
+ Handler\PageHandlerFactory
+ Handler\ResumePageHandler
+ Handler\ResumePageHandler
+ Middleware\ContentSecurityPolicyMiddlewareFactory
+ Middleware\DisplayBlogPostHandlerDelegator
+ Middleware\RedirectAmpPagesMiddleware
+ Middleware\RedirectAmpPagesMiddlewareFactory
+ Middleware\RedirectsMiddleware
+ Middleware\RedirectsMiddleware
+ Middleware\XClacksOverheadMiddleware
+ Middleware\XClacksOverheadMiddleware
+ Middleware\XPoweredByMiddleware
+ Middleware\XPoweredByMiddleware
+ RequestFactory
+ RequestFactoryInterface
+ ResponseFactory
+ ResponseFactoryInterface
+ SessionCachePool
+ SessionCachePool
+ SessionCachePoolFactory
+
+
+
+
+ \Zend\Expressive\Router
+
+
+
+
+ OAuth2Client
+
+
+
+
+ setMergedConfig
+
+
+
+
+ $listener
+
+
+ $listeners
+
+
+ attach
+
+
+ $this->listeners[$eventName]
+
+
+ $this->listeners[$eventName]
+
+
+ $this->listeners[$eventName]
+
+
+ array
+
+
+ $this->listeners
+
+
+
+
+ $listener
+
+
+ ConfigListener
+
+
+ $this->listener
+
+
+
+
+ EventManager
+
+
+ $this->eventManager
+
+
+ $this->eventManager
+
+
+ $this->eventManager
+
+
+
diff --git a/vendor/laminas/laminas-zendframework-bridge/psalm.xml.dist b/vendor/laminas/laminas-zendframework-bridge/psalm.xml.dist
new file mode 100644
index 00000000..788bbc00
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/psalm.xml.dist
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/Autoloader.php b/vendor/laminas/laminas-zendframework-bridge/src/Autoloader.php
new file mode 100644
index 00000000..84f94061
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/Autoloader.php
@@ -0,0 +1,181 @@
+loadClass($class)) {
+ $legacy = $namespaces[$check]
+ . strtr(substr($class, strlen($check)), [
+ 'ApiTools' => 'Apigility',
+ 'Mezzio' => 'Expressive',
+ 'Laminas' => 'Zend',
+ ]);
+ class_alias($class, $legacy);
+ }
+ };
+ }
+
+ /**
+ * @return callable
+ */
+ private static function createAppendAutoloader(array $namespaces, ArrayObject $loaded)
+ {
+ /**
+ * @param string $class Class name to autoload
+ * @return void
+ */
+ return static function ($class) use ($namespaces, $loaded) {
+ $segments = explode('\\', $class);
+
+ if ($segments[0] === 'ZendService' && isset($segments[1])) {
+ $segments[0] .= '\\' . $segments[1];
+ unset($segments[1]);
+ $segments = array_values($segments);
+ }
+
+ $i = 0;
+ $check = '';
+
+ // We are checking segments of the namespace to match quicker
+ while (isset($segments[$i + 1], $namespaces[$check . $segments[$i] . '\\'])) {
+ $check .= $segments[$i] . '\\';
+ ++$i;
+ }
+
+ if ($check === '') {
+ return;
+ }
+
+ $alias = $namespaces[$check]
+ . strtr(substr($class, strlen($check)), [
+ 'Apigility' => 'ApiTools',
+ 'Expressive' => 'Mezzio',
+ 'Zend' => 'Laminas',
+ 'AbstractZendServer' => 'AbstractZendServer',
+ 'ZendServerDisk' => 'ZendServerDisk',
+ 'ZendServerShm' => 'ZendServerShm',
+ 'ZendMonitor' => 'ZendMonitor',
+ ]);
+
+ $loaded[$alias] = true;
+ if (class_exists($alias) || interface_exists($alias) || trait_exists($alias)) {
+ class_alias($alias, $class);
+ }
+ };
+ }
+
+ private static function getClassLoaderFromVendorDirectory(string $composerVendorDirectory): ?ClassLoader
+ {
+ $filename = rtrim($composerVendorDirectory, '/') . '/autoload.php';
+ if (!file_exists($filename)) {
+ return null;
+ }
+
+ /** @psalm-suppress MixedAssignment */
+ $loader = include $filename;
+ if (!$loader instanceof ClassLoader) {
+ return null;
+ }
+
+ return $loader;
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/ConfigPostProcessor.php b/vendor/laminas/laminas-zendframework-bridge/src/ConfigPostProcessor.php
new file mode 100644
index 00000000..c3b601a6
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/ConfigPostProcessor.php
@@ -0,0 +1,426 @@
+ true,
+ 'factories' => true,
+ 'invokables' => true,
+ 'services' => true,
+ ];
+
+ /** @var array String keys => string values */
+ private $exactReplacements = [
+ 'zend-expressive' => 'mezzio',
+ 'zf-apigility' => 'api-tools',
+ ];
+
+ /** @var Replacements */
+ private $replacements;
+
+ /** @var callable[] */
+ private $rulesets;
+
+ public function __construct()
+ {
+ $this->replacements = new Replacements();
+
+ /* Define the rulesets for replacements.
+ *
+ * Each ruleset has the following signature:
+ *
+ * @param mixed $value
+ * @param string[] $keys Full nested key hierarchy leading to the value
+ * @return null|callable
+ *
+ * If no match is made, a null is returned, allowing it to fallback to
+ * the next ruleset in the list. If a match is made, a callback is returned,
+ * and that will be used to perform the replacement on the value.
+ *
+ * The callback should have the following signature:
+ *
+ * @param mixed $value
+ * @param string[] $keys
+ * @return mixed The transformed value
+ */
+ $this->rulesets = [
+ // Exact values
+ function ($value) {
+ return is_string($value) && isset($this->exactReplacements[$value])
+ ? [$this, 'replaceExactValue']
+ : null;
+ },
+
+ // Router (MVC applications)
+ // We do not want to rewrite these.
+ function ($value, array $keys) {
+ $key = array_pop($keys);
+ // Only worried about a top-level "router" key.
+ return $key === 'router' && $keys === [] && is_array($value)
+ ? [$this, 'noopReplacement']
+ : null;
+ },
+
+ // service- and pluginmanager handling
+ function ($value) {
+ return is_array($value) && array_intersect_key(self::SERVICE_MANAGER_KEYS_OF_INTEREST, $value) !== []
+ ? [$this, 'replaceDependencyConfiguration']
+ : null;
+ },
+
+ // Array values
+ function ($value, array $keys) {
+ return $keys !== [] && is_array($value)
+ ? [$this, '__invoke']
+ : null;
+ },
+ ];
+ }
+
+ /**
+ * @param string[] $keys Hierarchy of keys, for determining location in
+ * nested configuration.
+ * @return array
+ */
+ public function __invoke(array $config, array $keys = [])
+ {
+ $rewritten = [];
+
+ foreach ($config as $key => $value) {
+ // Determine new key from replacements
+ $newKey = is_string($key) ? $this->replace($key, $keys) : $key;
+
+ // Keep original values with original key, if the key has changed, but only at the top-level.
+ if (empty($keys) && $newKey !== $key) {
+ $rewritten[$key] = $value;
+ }
+
+ // Perform value replacements, if any
+ $newValue = $this->replace($value, $keys, $newKey);
+
+ // Key does not already exist and/or is not an array value
+ if (! array_key_exists($newKey, $rewritten) || ! is_array($rewritten[$newKey])) {
+ // Do not overwrite existing values with null values
+ $rewritten[$newKey] = array_key_exists($newKey, $rewritten) && null === $newValue
+ ? $rewritten[$newKey]
+ : $newValue;
+ continue;
+ }
+
+ // New value is null; nothing to do.
+ if (null === $newValue) {
+ continue;
+ }
+
+ // Key already exists as an array value, but $value is not an array
+ if (! is_array($newValue)) {
+ $rewritten[$newKey][] = $newValue;
+ continue;
+ }
+
+ // Key already exists as an array value, and $value is also an array
+ $rewritten[$newKey] = static::merge($rewritten[$newKey], $newValue);
+ }
+
+ return $rewritten;
+ }
+
+ /**
+ * Perform substitutions as needed on an individual value.
+ *
+ * The $key is provided to allow fine-grained selection of rewrite rules.
+ *
+ * @param mixed $value
+ * @param string[] $keys Key hierarchy
+ * @param null|int|string $key
+ * @return mixed
+ */
+ private function replace($value, array $keys, $key = null)
+ {
+ // Add new key to the list of keys.
+ // We do not need to remove it later, as we are working on a copy of the array.
+ $keys[] = $key;
+
+ // Identify rewrite strategy and perform replacements
+ $rewriteRule = $this->replacementRuleMatch($value, $keys);
+ return $rewriteRule($value, $keys);
+ }
+
+ /**
+ * Merge two arrays together.
+ *
+ * If an integer key exists in both arrays, the value from the second array
+ * will be appended to the first array. If both values are arrays, they are
+ * merged together, else the value of the second array overwrites the one
+ * of the first array.
+ *
+ * Based on zend-stdlib Zend\Stdlib\ArrayUtils::merge
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ *
+ * @return array
+ */
+ public static function merge(array $a, array $b)
+ {
+ foreach ($b as $key => $value) {
+ if (! isset($a[$key]) && ! array_key_exists($key, $a)) {
+ $a[$key] = $value;
+ continue;
+ }
+
+ if (null === $value && array_key_exists($key, $a)) {
+ // Leave as-is if value from $b is null
+ continue;
+ }
+
+ if (is_int($key)) {
+ $a[] = $value;
+ continue;
+ }
+
+ if (is_array($value) && is_array($a[$key])) {
+ $a[$key] = static::merge($a[$key], $value);
+ continue;
+ }
+
+ $a[$key] = $value;
+ }
+
+ return $a;
+ }
+
+ /**
+ * @param mixed $value
+ * @param null|int|string $key
+ * @return callable Callable to invoke with value
+ */
+ private function replacementRuleMatch($value, $key = null)
+ {
+ foreach ($this->rulesets as $ruleset) {
+ $result = $ruleset($value, $key);
+ if (is_callable($result)) {
+ return $result;
+ }
+ }
+ return [$this, 'fallbackReplacement'];
+ }
+
+ /**
+ * Replace a value using the translation table, if the value is a string.
+ *
+ * @param mixed $value
+ * @return mixed
+ */
+ private function fallbackReplacement($value)
+ {
+ return is_string($value)
+ ? $this->replacements->replace($value)
+ : $value;
+ }
+
+ /**
+ * Replace a value matched exactly.
+ *
+ * @param mixed $value
+ * @return mixed
+ */
+ private function replaceExactValue($value)
+ {
+ return $this->exactReplacements[$value];
+ }
+
+ private function replaceDependencyConfiguration(array $config)
+ {
+ $aliases = isset($config['aliases']) && is_array($config['aliases'])
+ ? $this->replaceDependencyAliases($config['aliases'])
+ : [];
+
+ if ($aliases) {
+ $config['aliases'] = $aliases;
+ }
+
+ $config = $this->replaceDependencyInvokables($config);
+ $config = $this->replaceDependencyFactories($config);
+ $config = $this->replaceDependencyServices($config);
+
+ $keys = self::SERVICE_MANAGER_KEYS_OF_INTEREST;
+ foreach ($config as $key => $data) {
+ if (isset($keys[$key])) {
+ continue;
+ }
+
+ $config[$key] = is_array($data) ? $this->__invoke($data, [$key]) : $data;
+ }
+
+ return $config;
+ }
+
+ /**
+ * Rewrite dependency aliases array
+ *
+ * In this case, we want to keep the alias as-is, but rewrite the target.
+ *
+ * We need also provide an additional alias if the alias key is a legacy class.
+ *
+ * @return array
+ */
+ private function replaceDependencyAliases(array $aliases)
+ {
+ foreach ($aliases as $alias => $target) {
+ if (! is_string($alias) || ! is_string($target)) {
+ continue;
+ }
+
+ $newTarget = $this->replacements->replace($target);
+ $newAlias = $this->replacements->replace($alias);
+
+ $notIn = [$newTarget];
+ $name = $newTarget;
+ while (isset($aliases[$name])) {
+ $notIn[] = $aliases[$name];
+ $name = $aliases[$name];
+ }
+
+ if ($newAlias === $alias && ! in_array($alias, $notIn, true)) {
+ $aliases[$alias] = $newTarget;
+ continue;
+ }
+
+ if (isset($aliases[$newAlias])) {
+ continue;
+ }
+
+ if (! in_array($newAlias, $notIn, true)) {
+ $aliases[$alias] = $newAlias;
+ $aliases[$newAlias] = $newTarget;
+ }
+ }
+
+ return $aliases;
+ }
+
+ /**
+ * Rewrite dependency invokables array
+ *
+ * In this case, we want to keep the alias as-is, but rewrite the target.
+ *
+ * We need also provide an additional alias if invokable is defined with
+ * an alias which is a legacy class.
+ *
+ * @return array
+ */
+ private function replaceDependencyInvokables(array $config)
+ {
+ if (empty($config['invokables']) || ! is_array($config['invokables'])) {
+ return $config;
+ }
+
+ foreach ($config['invokables'] as $alias => $target) {
+ if (! is_string($alias)) {
+ continue;
+ }
+
+ $newTarget = $this->replacements->replace($target);
+ $newAlias = $this->replacements->replace($alias);
+
+ if ($alias === $target || isset($config['aliases'][$newAlias])) {
+ $config['invokables'][$alias] = $newTarget;
+ continue;
+ }
+
+ $config['invokables'][$newAlias] = $newTarget;
+
+ if ($newAlias === $alias) {
+ continue;
+ }
+
+ $config['aliases'][$alias] = $newAlias;
+
+ unset($config['invokables'][$alias]);
+ }
+
+ return $config;
+ }
+
+ /**
+ * @param mixed $value
+ * @return mixed Returns $value verbatim.
+ */
+ private function noopReplacement($value)
+ {
+ return $value;
+ }
+
+ private function replaceDependencyFactories(array $config)
+ {
+ if (empty($config['factories']) || ! is_array($config['factories'])) {
+ return $config;
+ }
+
+ foreach ($config['factories'] as $service => $factory) {
+ if (! is_string($service)) {
+ continue;
+ }
+
+ $replacedService = $this->replacements->replace($service);
+ $factory = is_string($factory) ? $this->replacements->replace($factory) : $factory;
+ $config['factories'][$replacedService] = $factory;
+
+ if ($replacedService === $service) {
+ continue;
+ }
+
+ unset($config['factories'][$service]);
+ if (isset($config['aliases'][$service])) {
+ continue;
+ }
+
+ $config['aliases'][$service] = $replacedService;
+ }
+
+ return $config;
+ }
+
+ private function replaceDependencyServices(array $config)
+ {
+ if (empty($config['services']) || ! is_array($config['services'])) {
+ return $config;
+ }
+
+ foreach ($config['services'] as $service => $serviceInstance) {
+ if (! is_string($service)) {
+ continue;
+ }
+
+ $replacedService = $this->replacements->replace($service);
+ $serviceInstance = is_array($serviceInstance) ? $this->__invoke($serviceInstance) : $serviceInstance;
+
+ $config['services'][$replacedService] = $serviceInstance;
+
+ if ($service === $replacedService) {
+ continue;
+ }
+
+ unset($config['services'][$service]);
+
+ if (isset($config['aliases'][$service])) {
+ continue;
+ }
+
+ $config['aliases'][$service] = $replacedService;
+ }
+
+ return $config;
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/Module.php b/vendor/laminas/laminas-zendframework-bridge/src/Module.php
new file mode 100644
index 00000000..9bb12980
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/Module.php
@@ -0,0 +1,48 @@
+getEventManager()
+ ->attach('mergeConfig', [$this, 'onMergeConfig']);
+ }
+
+ /**
+ * Perform substitutions in the merged configuration.
+ *
+ * Rewrites keys and values matching known ZF classes, namespaces, and
+ * configuration keys to their Laminas equivalents.
+ *
+ * Type-hinting deliberately omitted to allow unit testing
+ * without dependencies on packages that do not exist yet.
+ *
+ * @param ModuleEvent $event
+ */
+ public function onMergeConfig($event)
+ {
+ /** @var ConfigMergerInterface */
+ $configMerger = $event->getConfigListener();
+ $processor = new ConfigPostProcessor();
+ $configMerger->setMergedConfig(
+ $processor(
+ $configMerger->getMergedConfig($returnAsObject = false)
+ )
+ );
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/Replacements.php b/vendor/laminas/laminas-zendframework-bridge/src/Replacements.php
new file mode 100644
index 00000000..5a09ef12
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/Replacements.php
@@ -0,0 +1,40 @@
+replacements = array_merge(
+ require __DIR__ . '/../config/replacements.php',
+ $additionalReplacements
+ );
+
+ // Provide multiple variants of strings containing namespace separators
+ foreach ($this->replacements as $original => $replacement) {
+ if (false === strpos($original, '\\')) {
+ continue;
+ }
+ $this->replacements[str_replace('\\', '\\\\', $original)] = str_replace('\\', '\\\\', $replacement);
+ $this->replacements[str_replace('\\', '\\\\\\\\', $original)] = str_replace('\\', '\\\\\\\\', $replacement);
+ }
+ }
+
+ /**
+ * @param string $value
+ * @return string
+ */
+ public function replace($value)
+ {
+ return strtr($value, $this->replacements);
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/RewriteRules.php b/vendor/laminas/laminas-zendframework-bridge/src/RewriteRules.php
new file mode 100644
index 00000000..61aa56dd
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/RewriteRules.php
@@ -0,0 +1,73 @@
+ 'Mezzio\\ProblemDetails\\',
+ 'Zend\\Expressive\\' => 'Mezzio\\',
+
+ // Laminas
+ 'Zend\\' => 'Laminas\\',
+ 'ZF\\ComposerAutoloading\\' => 'Laminas\\ComposerAutoloading\\',
+ 'ZF\\DevelopmentMode\\' => 'Laminas\\DevelopmentMode\\',
+
+ // Apigility
+ 'ZF\\Apigility\\' => 'Laminas\\ApiTools\\',
+ 'ZF\\' => 'Laminas\\ApiTools\\',
+
+ // ZendXml, API wrappers, zend-http OAuth support, zend-diagnostics, ZendDeveloperTools
+ 'ZendXml\\' => 'Laminas\\Xml\\',
+ 'ZendOAuth\\' => 'Laminas\\OAuth\\',
+ 'ZendDiagnostics\\' => 'Laminas\\Diagnostics\\',
+ 'ZendService\\ReCaptcha\\' => 'Laminas\\ReCaptcha\\',
+ 'ZendService\\Twitter\\' => 'Laminas\\Twitter\\',
+ 'ZendDeveloperTools\\' => 'Laminas\\DeveloperTools\\',
+ ];
+ }
+
+ /**
+ * @return array
+ */
+ public static function namespaceReverse()
+ {
+ return [
+ // ZendXml, ZendOAuth, ZendDiagnostics, ZendDeveloperTools
+ 'Laminas\\Xml\\' => 'ZendXml\\',
+ 'Laminas\\OAuth\\' => 'ZendOAuth\\',
+ 'Laminas\\Diagnostics\\' => 'ZendDiagnostics\\',
+ 'Laminas\\DeveloperTools\\' => 'ZendDeveloperTools\\',
+
+ // Zend Service
+ 'Laminas\\ReCaptcha\\' => 'ZendService\\ReCaptcha\\',
+ 'Laminas\\Twitter\\' => 'ZendService\\Twitter\\',
+
+ // Zend
+ 'Laminas\\' => 'Zend\\',
+
+ // Expressive
+ 'Mezzio\\ProblemDetails\\' => 'Zend\\ProblemDetails\\',
+ 'Mezzio\\' => 'Zend\\Expressive\\',
+
+ // Laminas to ZfCampus
+ 'Laminas\\ComposerAutoloading\\' => 'ZF\\ComposerAutoloading\\',
+ 'Laminas\\DevelopmentMode\\' => 'ZF\\DevelopmentMode\\',
+
+ // Apigility
+ 'Laminas\\ApiTools\\Admin\\' => 'ZF\\Apigility\\Admin\\',
+ 'Laminas\\ApiTools\\Doctrine\\' => 'ZF\\Apigility\\Doctrine\\',
+ 'Laminas\\ApiTools\\Documentation\\' => 'ZF\\Apigility\\Documentation\\',
+ 'Laminas\\ApiTools\\Example\\' => 'ZF\\Apigility\\Example\\',
+ 'Laminas\\ApiTools\\Provider\\' => 'ZF\\Apigility\\Provider\\',
+ 'Laminas\\ApiTools\\Welcome\\' => 'ZF\\Apiglity\\Welcome\\',
+ 'Laminas\\ApiTools\\' => 'ZF\\',
+ ];
+ }
+}
diff --git a/vendor/laminas/laminas-zendframework-bridge/src/autoload.php b/vendor/laminas/laminas-zendframework-bridge/src/autoload.php
new file mode 100644
index 00000000..e92ff589
--- /dev/null
+++ b/vendor/laminas/laminas-zendframework-bridge/src/autoload.php
@@ -0,0 +1,3 @@
+