�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` array ( 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'aliases' => array ( ), 'reference' => '25c84aeba65a61ac8dafa2c8ce61b4a3fd177c7b', 'name' => 'laravel/laravel', ), 'versions' => array ( 'arcanedev/log-viewer' => array ( 'pretty_version' => '8.1.0', 'version' => '8.1.0.0', 'aliases' => array ( ), 'reference' => 'c302c406ea7e0a5def75aac2e7ef1669caca6d63', ), 'arcanedev/support' => array ( 'pretty_version' => '8.1.0', 'version' => '8.1.0.0', 'aliases' => array ( ), 'reference' => 'b161c3c080b314e832410295011625721fbd3a2f', ), 'asm89/stack-cors' => array ( 'pretty_version' => 'v2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => '9cb795bf30988e8c96dd3c40623c48a877bc6714', ), 'barryvdh/laravel-ide-helper' => array ( 'pretty_version' => 'v2.10.0', 'version' => '2.10.0.0', 'aliases' => array ( ), 'reference' => '73b1012b927633a1b4cd623c2e6b1678e6faef08', ), 'barryvdh/reflection-docblock' => array ( 'pretty_version' => 'v2.0.6', 'version' => '2.0.6.0', 'aliases' => array ( ), 'reference' => '6b69015d83d3daf9004a71a89f26e27d27ef6a16', ), 'bensampo/laravel-enum' => array ( 'pretty_version' => 'v3.4.1', 'version' => '3.4.1.0', 'aliases' => array ( ), 'reference' => '67e13f8a211d43035146150793a95c4140f7831d', ), 'brick/math' => array ( 'pretty_version' => '0.9.2', 'version' => '0.9.2.0', 'aliases' => array ( ), 'reference' => 'dff976c2f3487d42c1db75a3b180e2b9f0e72ce0', ), 'composer/ca-bundle' => array ( 'pretty_version' => '1.2.10', 'version' => '1.2.10.0', 'aliases' => array ( ), 'reference' => '9fdb22c2e97a614657716178093cd1da90a64aa8', ), 'composer/composer' => array ( 'pretty_version' => '2.1.4', 'version' => '2.1.4.0', 'aliases' => array ( ), 'reference' => '5701b38ec6c66dd143658e6aa18e1808d2d5dc4b', ), 'composer/metadata-minifier' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'c549d23829536f0d0e984aaabbf02af91f443207', ), 'composer/package-versions-deprecated' => array ( 'pretty_version' => '1.11.99.2', 'version' => '1.11.99.2', 'aliases' => array ( ), 'reference' => 'c6522afe5540d5fc46675043d3ed5a45a740b27c', ), 'composer/semver' => array ( 'pretty_version' => '3.2.5', 'version' => '3.2.5.0', 'aliases' => array ( ), 'reference' => '31f3ea725711245195f62e54ffa402d8ef2fdba9', ), 'composer/spdx-licenses' => array ( 'pretty_version' => '1.5.5', 'version' => '1.5.5.0', 'aliases' => array ( ), 'reference' => 'de30328a7af8680efdc03e396aad24befd513200', ), 'composer/xdebug-handler' => array ( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '964adcdd3a28bf9ed5d9ac6450064e0d71ed7496', ), 'cordoval/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'davedevelopment/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'doctrine/cache' => array ( 'pretty_version' => '2.1.1', 'version' => '2.1.1.0', 'aliases' => array ( ), 'reference' => '331b4d5dbaeab3827976273e9356b3b453c300ce', ), 'doctrine/dbal' => array ( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', 'aliases' => array ( ), 'reference' => '8e0fde2b90e3f61361013d1e928621beeea07bc0', ), 'doctrine/deprecations' => array ( 'pretty_version' => 'v0.5.3', 'version' => '0.5.3.0', 'aliases' => array ( ), 'reference' => '9504165960a1f83cc1480e2be1dd0a0478561314', ), 'doctrine/event-manager' => array ( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => '41370af6a30faa9dc0368c4a6814d596e81aba7f', ), 'doctrine/inflector' => array ( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => '9cf661f4eb38f7c881cac67c75ea9b00bf97b210', ), 'doctrine/instantiator' => array ( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b', ), 'doctrine/lexer' => array ( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', 'aliases' => array ( ), 'reference' => 'e864bbf5904cb8f5bb334f99209b48018522f042', ), 'dragonmantank/cron-expression' => array ( 'pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', 'aliases' => array ( ), 'reference' => '7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c', ), 'egulias/email-validator' => array ( 'pretty_version' => '2.1.25', 'version' => '2.1.25.0', 'aliases' => array ( ), 'reference' => '0dbf5d78455d4d6a41d186da50adc1122ec066f4', ), 'erusev/parsedown' => array ( 'pretty_version' => '1.7.4', 'version' => '1.7.4.0', 'aliases' => array ( ), 'reference' => 'cb17b6477dfff935958ba01325f2e8a2bfa6dab3', ), 'facade/flare-client-php' => array ( 'pretty_version' => '1.8.1', 'version' => '1.8.1.0', 'aliases' => array ( ), 'reference' => '47b639dc02bcfdfc4ebb83de703856fa01e35f5f', ), 'facade/ignition' => array ( 'pretty_version' => '2.11.2', 'version' => '2.11.2.0', 'aliases' => array ( ), 'reference' => '7c4e7a7da184cd00c7ce6eacc590200bb9672de7', ), 'facade/ignition-contracts' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '3c921a1cdba35b68a7f0ccffc6dffc1995b18267', ), 'fakerphp/faker' => array ( 'pretty_version' => 'v1.15.0', 'version' => '1.15.0.0', 'aliases' => array ( ), 'reference' => '89c6201c74db25fa759ff16e78a4d8f32547770e', ), 'fideloper/proxy' => array ( 'pretty_version' => '4.4.1', 'version' => '4.4.1.0', 'aliases' => array ( ), 'reference' => 'c073b2bd04d1c90e04dc1b787662b558dd65ade0', ), 'filp/whoops' => array ( 'pretty_version' => '2.14.0', 'version' => '2.14.0.0', 'aliases' => array ( ), 'reference' => 'fdf92f03e150ed84d5967a833ae93abffac0315b', ), 'fruitcake/laravel-cors' => array ( 'pretty_version' => 'v2.0.4', 'version' => '2.0.4.0', 'aliases' => array ( ), 'reference' => 'a8ccedc7ca95189ead0e407c43b530dc17791d6a', ), 'graham-campbell/result-type' => array ( 'pretty_version' => 'v1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '7e279d2cd5d7fbb156ce46daada972355cea27bb', ), 'guzzlehttp/guzzle' => array ( 'pretty_version' => '7.3.0', 'version' => '7.3.0.0', 'aliases' => array ( ), 'reference' => '7008573787b430c1c1f650e3722d9bba59967628', ), 'guzzlehttp/promises' => array ( 'pretty_version' => '1.4.1', 'version' => '1.4.1.0', 'aliases' => array ( ), 'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d', ), 'guzzlehttp/psr7' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => '1dc8d9cba3897165e16d12bb13d813afb1eb3fe7', ), 'hamcrest/hamcrest-php' => array ( 'pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '8c3d0a3f6af734494ad8f6fbbee0ba92422859f3', ), 'hanneskod/classtools' => array ( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', 'aliases' => array ( ), 'reference' => 'd365ddac0e602027c0471ea292f4ba2afcb49394', ), 'illuminate/auth' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/broadcasting' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/bus' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/cache' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/collections' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/config' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/console' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/container' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/contracts' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/cookie' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/database' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/encryption' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/events' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/filesystem' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/hashing' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/http' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/log' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/macroable' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/mail' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/notifications' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/pagination' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/pipeline' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/queue' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/redis' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/routing' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/session' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/support' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/testing' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/translation' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/validation' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'illuminate/view' => array ( 'replaced' => array ( 0 => 'v8.51.0', ), ), 'intervention/image' => array ( 'pretty_version' => '2.6.0', 'version' => '2.6.0.0', 'aliases' => array ( ), 'reference' => 'a2d7238069bb01322f9c2a661449955434fec9c6', ), 'jaybizzle/crawler-detect' => array ( 'pretty_version' => 'v1.2.106', 'version' => '1.2.106.0', 'aliases' => array ( ), 'reference' => '78bf6792cbf9c569dc0bf2465481978fd2ed0de9', ), 'jenssegers/agent' => array ( 'pretty_version' => 'v2.6.4', 'version' => '2.6.4.0', 'aliases' => array ( ), 'reference' => 'daa11c43729510b3700bc34d414664966b03bffe', ), 'justinrainbow/json-schema' => array ( 'pretty_version' => '5.2.11', 'version' => '5.2.11.0', 'aliases' => array ( ), 'reference' => '2ab6744b7296ded80f8cc4f9509abbff393399aa', ), 'kodova/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'laminas/laminas-code' => array ( 'pretty_version' => '3.5.1', 'version' => '3.5.1.0', 'aliases' => array ( ), 'reference' => 'b549b70c0bb6e935d497f84f750c82653326ac77', ), 'laminas/laminas-eventmanager' => array ( 'pretty_version' => '3.3.1', 'version' => '3.3.1.0', 'aliases' => array ( ), 'reference' => '966c859b67867b179fde1eff0cd38df51472ce4a', ), 'laminas/laminas-zendframework-bridge' => array ( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => '13af2502d9bb6f7d33be2de4b51fb68c6cdb476e', ), 'laravel/framework' => array ( 'pretty_version' => 'v8.51.0', 'version' => '8.51.0.0', 'aliases' => array ( ), 'reference' => '208d9c0043b4c192a9bb9b15782cc4ec37f28bb0', ), 'laravel/laravel' => array ( 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'aliases' => array ( ), 'reference' => '25c84aeba65a61ac8dafa2c8ce61b4a3fd177c7b', ), 'laravel/sail' => array ( 'pretty_version' => 'v1.8.6', 'version' => '1.8.6.0', 'aliases' => array ( ), 'reference' => '51ecfe0f048f8f8e6c5617e02a1f67ca22817c98', ), 'laravel/tinker' => array ( 'pretty_version' => 'v2.6.1', 'version' => '2.6.1.0', 'aliases' => array ( ), 'reference' => '04ad32c1a3328081097a181875733fa51f402083', ), 'laravel/ui' => array ( 'pretty_version' => 'v3.2.0', 'version' => '3.2.0.0', 'aliases' => array ( ), 'reference' => 'a1f82c6283c8373ea1958b8a27c3d5c98cade351', ), 'laravelista/comments' => array ( 'pretty_version' => '4.5.0', 'version' => '4.5.0.0', 'aliases' => array ( ), 'reference' => 'f1c7a476f79b80f0e28ba901436832f773299ee6', ), 'league/commonmark' => array ( 'pretty_version' => '1.6.6', 'version' => '1.6.6.0', 'aliases' => array ( ), 'reference' => 'c4228d11e30d7493c6836d20872f9582d8ba6dcf', ), 'league/flysystem' => array ( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'aliases' => array ( ), 'reference' => 'f3ad69181b8afed2c9edf7be5a2918144ff4ea32', ), 'league/glide' => array ( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', 'aliases' => array ( ), 'reference' => 'ae5e26700573cb678919d28e425a8b87bc71c546', ), 'league/mime-type-detection' => array ( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', 'aliases' => array ( ), 'reference' => '3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3', ), 'maennchen/zipstream-php' => array ( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'aliases' => array ( ), 'reference' => 'c4c5803cc1f93df3d2448478ef79394a5981cc58', ), 'mobiledetect/mobiledetectlib' => array ( 'pretty_version' => '2.8.37', 'version' => '2.8.37.0', 'aliases' => array ( ), 'reference' => '9841e3c46f5bd0739b53aed8ac677fa712943df7', ), 'mockery/mockery' => array ( 'pretty_version' => '1.4.3', 'version' => '1.4.3.0', 'aliases' => array ( ), 'reference' => 'd1339f64479af1bee0e82a0413813fe5345a54ea', ), 'monolog/monolog' => array ( 'pretty_version' => '2.3.1', 'version' => '2.3.1.0', 'aliases' => array ( ), 'reference' => '9738e495f288eec0b187e310b7cdbbb285777dbe', ), 'mtdowling/cron-expression' => array ( 'replaced' => array ( 0 => '^1.0', ), ), 'myclabs/deep-copy' => array ( 'pretty_version' => '1.10.2', 'version' => '1.10.2.0', 'aliases' => array ( ), 'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220', 'replaced' => array ( 0 => '1.10.2', ), ), 'myclabs/php-enum' => array ( 'pretty_version' => '1.8.3', 'version' => '1.8.3.0', 'aliases' => array ( ), 'reference' => 'b942d263c641ddb5190929ff840c68f78713e937', ), 'nesbot/carbon' => array ( 'pretty_version' => '2.50.0', 'version' => '2.50.0.0', 'aliases' => array ( ), 'reference' => 'f47f17d17602b2243414a44ad53d9f8b9ada5fdb', ), 'nikic/php-parser' => array ( 'pretty_version' => 'v4.12.0', 'version' => '4.12.0.0', 'aliases' => array ( ), 'reference' => '6608f01670c3cc5079e18c1dab1104e002579143', ), 'nunomaduro/collision' => array ( 'pretty_version' => 'v5.5.0', 'version' => '5.5.0.0', 'aliases' => array ( ), 'reference' => 'b5cb36122f1c142c3c3ee20a0ae778439ef0244b', ), 'ocramius/package-versions' => array ( 'replaced' => array ( 0 => '1.11.99', ), ), 'opis/closure' => array ( 'pretty_version' => '3.6.2', 'version' => '3.6.2.0', 'aliases' => array ( ), 'reference' => '06e2ebd25f2869e54a306dda991f7db58066f7f6', ), 'phar-io/manifest' => array ( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => '97803eca37d319dfa7826cc2437fc020857acb53', ), 'phar-io/version' => array ( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', 'aliases' => array ( ), 'reference' => 'bae7c545bef187884426f042434e561ab1ddb182', ), 'phpdocumentor/reflection-common' => array ( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', 'aliases' => array ( ), 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b', ), 'phpdocumentor/reflection-docblock' => array ( 'pretty_version' => '5.2.2', 'version' => '5.2.2.0', 'aliases' => array ( ), 'reference' => '069a785b2141f5bcf49f3e353548dc1cce6df556', ), 'phpdocumentor/type-resolver' => array ( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => '6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0', ), 'phpoption/phpoption' => array ( 'pretty_version' => '1.7.5', 'version' => '1.7.5.0', 'aliases' => array ( ), 'reference' => '994ecccd8f3283ecf5ac33254543eb0ac946d525', ), 'phpspec/prophecy' => array ( 'pretty_version' => '1.13.0', 'version' => '1.13.0.0', 'aliases' => array ( ), 'reference' => 'be1996ed8adc35c3fd795488a653f4b518be70ea', ), 'phpunit/php-code-coverage' => array ( 'pretty_version' => '9.2.6', 'version' => '9.2.6.0', 'aliases' => array ( ), 'reference' => 'f6293e1b30a2354e8428e004689671b83871edde', ), 'phpunit/php-file-iterator' => array ( 'pretty_version' => '3.0.5', 'version' => '3.0.5.0', 'aliases' => array ( ), 'reference' => 'aa4be8575f26070b100fccb67faabb28f21f66f8', ), 'phpunit/php-invoker' => array ( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', 'aliases' => array ( ), 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', ), 'phpunit/php-text-template' => array ( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'aliases' => array ( ), 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', ), 'phpunit/php-timer' => array ( 'pretty_version' => '5.0.3', 'version' => '5.0.3.0', 'aliases' => array ( ), 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', ), 'phpunit/phpunit' => array ( 'pretty_version' => '9.5.7', 'version' => '9.5.7.0', 'aliases' => array ( ), 'reference' => 'd0dc8b6999c937616df4fb046792004b33fd31c5', ), 'psr/container' => array ( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', ), 'psr/container-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/event-dispatcher' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', ), 'psr/event-dispatcher-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-client' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', ), 'psr/http-client-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-factory' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', ), 'psr/http-factory-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-message' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', ), 'psr/http-message-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/log' => array ( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'aliases' => array ( ), 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', ), 'psr/log-implementation' => array ( 'provided' => array ( 0 => '1.0', 1 => '1.0.0', ), ), 'psr/simple-cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', ), 'psy/psysh' => array ( 'pretty_version' => 'v0.10.8', 'version' => '0.10.8.0', 'aliases' => array ( ), 'reference' => 'e4573f47750dd6c92dca5aee543fa77513cbd8d3', ), 'ralouphie/getallheaders' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '120b605dfeb996808c31b6477290a714d356e822', ), 'ramsey/collection' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => '28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1', ), 'ramsey/uuid' => array ( 'pretty_version' => '4.1.1', 'version' => '4.1.1.0', 'aliases' => array ( ), 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', ), 'react/promise' => array ( 'pretty_version' => 'v2.8.0', 'version' => '2.8.0.0', 'aliases' => array ( ), 'reference' => 'f3cff96a19736714524ca0dd1d4130de73dbbbc4', ), 'rhumsaa/uuid' => array ( 'replaced' => array ( 0 => '4.1.1', ), ), 'sebastian/cli-parser' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2', ), 'sebastian/code-unit' => array ( 'pretty_version' => '1.0.8', 'version' => '1.0.8.0', 'aliases' => array ( ), 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', ), 'sebastian/code-unit-reverse-lookup' => array ( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', ), 'sebastian/comparator' => array ( 'pretty_version' => '4.0.6', 'version' => '4.0.6.0', 'aliases' => array ( ), 'reference' => '55f4261989e546dc112258c7a75935a81a7ce382', ), 'sebastian/complexity' => array ( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'aliases' => array ( ), 'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88', ), 'sebastian/diff' => array ( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'aliases' => array ( ), 'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d', ), 'sebastian/environment' => array ( 'pretty_version' => '5.1.3', 'version' => '5.1.3.0', 'aliases' => array ( ), 'reference' => '388b6ced16caa751030f6a69e588299fa09200ac', ), 'sebastian/exporter' => array ( 'pretty_version' => '4.0.3', 'version' => '4.0.3.0', 'aliases' => array ( ), 'reference' => 'd89cc98761b8cb5a1a235a6b703ae50d34080e65', ), 'sebastian/global-state' => array ( 'pretty_version' => '5.0.3', 'version' => '5.0.3.0', 'aliases' => array ( ), 'reference' => '23bd5951f7ff26f12d4e3242864df3e08dec4e49', ), 'sebastian/lines-of-code' => array ( 'pretty_version' => '1.0.3', 'version' => '1.0.3.0', 'aliases' => array ( ), 'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc', ), 'sebastian/object-enumerator' => array ( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'aliases' => array ( ), 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', ), 'sebastian/object-reflector' => array ( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'aliases' => array ( ), 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', ), 'sebastian/recursion-context' => array ( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'aliases' => array ( ), 'reference' => 'cd9d8cf3c5804de4341c283ed787f099f5506172', ), 'sebastian/resource-operations' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8', ), 'sebastian/type' => array ( 'pretty_version' => '2.3.4', 'version' => '2.3.4.0', 'aliases' => array ( ), 'reference' => 'b8cd8a1c753c90bc1a0f5372170e3e489136f914', ), 'sebastian/version' => array ( 'pretty_version' => '3.0.2', 'version' => '3.0.2.0', 'aliases' => array ( ), 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', ), 'seld/jsonlint' => array ( 'pretty_version' => '1.8.3', 'version' => '1.8.3.0', 'aliases' => array ( ), 'reference' => '9ad6ce79c342fbd44df10ea95511a1b24dee5b57', ), 'seld/phar-utils' => array ( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => '8674b1d84ffb47cc59a101f5d5a3b61e87d23796', ), 'shetabit/visitor' => array ( 'pretty_version' => 'v3.1.1', 'version' => '3.1.1.0', 'aliases' => array ( ), 'reference' => 'fce320d60821e2f90afbadbf73e6cd37bc9e5ecd', ), 'spatie/image' => array ( 'pretty_version' => '1.10.5', 'version' => '1.10.5.0', 'aliases' => array ( ), 'reference' => '63a963d0200fb26f2564bf7201fc7272d9b22933', ), 'spatie/image-optimizer' => array ( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => 'c22202fdd57856ed18a79cfab522653291a6e96a', ), 'spatie/laravel-honeypot' => array ( 'pretty_version' => '3.0.1', 'version' => '3.0.1.0', 'aliases' => array ( ), 'reference' => '3dd4319c3d42a9db2bae30582844528799bb22d2', ), 'spatie/laravel-medialibrary' => array ( 'pretty_version' => '9.6.4', 'version' => '9.6.4.0', 'aliases' => array ( ), 'reference' => 'bf4ffa83b1dce3a095b852da4a0ab00b68dd1b5e', ), 'spatie/laravel-medialibrary-pro' => array ( 'pretty_version' => '1.15.1', 'version' => '1.15.1.0', 'aliases' => array ( ), 'reference' => '763ab3b59eb88a7efd6de2b1e4965e2edda35dee', ), 'spatie/temporary-directory' => array ( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => 'f517729b3793bca58f847c5fd383ec16f03ffec6', ), 'swiftmailer/swiftmailer' => array ( 'pretty_version' => 'v6.2.7', 'version' => '6.2.7.0', 'aliases' => array ( ), 'reference' => '15f7faf8508e04471f666633addacf54c0ab5933', ), 'symfony/console' => array ( 'pretty_version' => 'v5.3.2', 'version' => '5.3.2.0', 'aliases' => array ( ), 'reference' => '649730483885ff2ca99ca0560ef0e5f6b03f2ac1', ), 'symfony/css-selector' => array ( 'pretty_version' => 'v5.3.0', 'version' => '5.3.0.0', 'aliases' => array ( ), 'reference' => 'fcd0b29a7a0b1bb5bfbedc6231583d77fea04814', ), 'symfony/deprecation-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => '5f38c8804a9e97d23e0c8d63341088cd8a22d627', ), 'symfony/error-handler' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '43323e79c80719e8a4674e33484bca98270d223f', ), 'symfony/event-dispatcher' => array ( 'pretty_version' => 'v5.3.0', 'version' => '5.3.0.0', 'aliases' => array ( ), 'reference' => '67a5f354afa8e2f231081b3fa11a5912f933c3ce', ), 'symfony/event-dispatcher-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => '69fee1ad2332a7cbab3aca13591953da9cdb7a11', ), 'symfony/event-dispatcher-implementation' => array ( 'provided' => array ( 0 => '2.0', ), ), 'symfony/filesystem' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '19b71c8f313b411172dd5f470fd61f24466d79a9', ), 'symfony/finder' => array ( 'pretty_version' => 'v5.3.0', 'version' => '5.3.0.0', 'aliases' => array ( ), 'reference' => '0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6', ), 'symfony/http-client-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => '7e82f6084d7cae521a75ef2cb5c9457bbda785f4', ), 'symfony/http-foundation' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '0e45ab1574caa0460d9190871a8ce47539e40ccf', ), 'symfony/http-kernel' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8', ), 'symfony/mime' => array ( 'pretty_version' => 'v5.3.2', 'version' => '5.3.2.0', 'aliases' => array ( ), 'reference' => '47dd7912152b82d0d4c8d9040dbc93d6232d472a', ), 'symfony/polyfill-ctype' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce', ), 'symfony/polyfill-iconv' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '63b5bb7db83e5673936d6e3b8b3e022ff6474933', ), 'symfony/polyfill-intl-grapheme' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '24b72c6baa32c746a4d0840147c9715e42bb68ab', ), 'symfony/polyfill-intl-idn' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '65bd267525e82759e7d8c4e8ceea44f398838e65', ), 'symfony/polyfill-intl-normalizer' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '8590a5f561694770bdcd3f9b5c69dde6945028e8', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '2df51500adbaebdc4c38dea4c89a2e131c45c8a1', ), 'symfony/polyfill-php72' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976', ), 'symfony/polyfill-php73' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => 'fba8933c384d6476ab14fb7b8526e5287ca7e010', ), 'symfony/polyfill-php80' => array ( 'pretty_version' => 'v1.23.0', 'version' => '1.23.0.0', 'aliases' => array ( ), 'reference' => 'eca0bf41ed421bed1b57c4958bab16aa86b757d0', ), 'symfony/process' => array ( 'pretty_version' => 'v5.3.2', 'version' => '5.3.2.0', 'aliases' => array ( ), 'reference' => '714b47f9196de61a196d86c4bad5f09201b307df', ), 'symfony/routing' => array ( 'pretty_version' => 'v5.3.0', 'version' => '5.3.0.0', 'aliases' => array ( ), 'reference' => '368e81376a8e049c37cb80ae87dbfbf411279199', ), 'symfony/service-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => 'f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb', ), 'symfony/string' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => 'bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1', ), 'symfony/translation' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '380b8c9e944d0e364b25f28e8e555241eb49c01c', ), 'symfony/translation-contracts' => array ( 'pretty_version' => 'v2.4.0', 'version' => '2.4.0.0', 'aliases' => array ( ), 'reference' => '95c812666f3e91db75385749fe219c5e494c7f95', ), 'symfony/translation-implementation' => array ( 'provided' => array ( 0 => '2.3', ), ), 'symfony/var-dumper' => array ( 'pretty_version' => 'v5.3.3', 'version' => '5.3.3.0', 'aliases' => array ( ), 'reference' => '46aa709affb9ad3355bd7a810f9662d71025c384', ), 'theseer/tokenizer' => array ( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', 'aliases' => array ( ), 'reference' => '75a63c33a8577608444246075ea0af0d052e452a', ), 'tijsverkoyen/css-to-inline-styles' => array ( 'pretty_version' => '2.2.3', 'version' => '2.2.3.0', 'aliases' => array ( ), 'reference' => 'b43b05cf43c1b6d849478965062b6ef73e223bb5', ), 'ua-parser/uap-php' => array ( 'pretty_version' => 'v3.9.14', 'version' => '3.9.14.0', 'aliases' => array ( ), 'reference' => 'b796c5ea5df588e65aeb4e2c6cce3811dec4fed6', ), 'vlucas/phpdotenv' => array ( 'pretty_version' => 'v5.3.0', 'version' => '5.3.0.0', 'aliases' => array ( ), 'reference' => 'b3eac5c7ac896e52deab4a99068e3f4ab12d9e56', ), 'voku/portable-ascii' => array ( 'pretty_version' => '1.5.6', 'version' => '1.5.6.0', 'aliases' => array ( ), 'reference' => '80953678b19901e5165c56752d087fc11526017c', ), 'webmozart/assert' => array ( 'pretty_version' => '1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25', ), 'zendframework/zend-code' => array ( 'replaced' => array ( 0 => '^3.4.1', ), ), 'zendframework/zend-eventmanager' => array ( 'replaced' => array ( 0 => '^3.2.1', ), ), ), ); private static $canGetVendors; private static $installedByVendor = array(); public static function getInstalledPackages() { $packages = array(); foreach (self::getInstalled() as $installed) { $packages[] = array_keys($installed['versions']); } if (1 === \count($packages)) { return $packages[0]; } return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); } public static function isInstalled($packageName) { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { return true; } } return false; } public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } public static function getVersionRanges($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } $ranges = array(); if (isset($installed['versions'][$packageName]['pretty_version'])) { $ranges[] = $installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['version'])) { return null; } return $installed['versions'][$packageName]['version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getPrettyVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['pretty_version'])) { return null; } return $installed['versions'][$packageName]['pretty_version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getReference($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['reference'])) { return null; } return $installed['versions'][$packageName]['reference']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getRootPackage() { $installed = self::getInstalled(); return $installed[0]['root']; } public static function getRawData() { return self::$installed; } public static function reload($data) { self::$installed = $data; self::$installedByVendor = array(); } private static function getInstalled() { if (null === self::$canGetVendors) { self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); } $installed = array(); if (self::$canGetVendors) { foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; } } } $installed[] = self::$installed; return $installed; } }