array ( 'pretty_version' => '2.4.3', 'version' => '2.4.3.0', 'aliases' => array ( ), 'reference' => NULL, 'name' => 'thelia/thelia', ), 'versions' => array ( 'commerceguys/addressing' => array ( 'pretty_version' => 'v0.8.4', 'version' => '0.8.4.0', 'aliases' => array ( ), 'reference' => '5d8d13bfaed08119be763da2a0fc9f38fff8af54', ), 'commerceguys/enum' => array ( 'pretty_version' => 'v1.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => '1d9db2dbeb1a02500e7a14589ae2f9cb402c5c95', ), 'doctrine/cache' => array ( 'pretty_version' => 'v1.5.4', 'version' => '1.5.4.0', 'aliases' => array ( ), 'reference' => '47cdc76ceb95cc591d9c79a36dc3794975b5d136', ), 'doctrine/collections' => array ( 'pretty_version' => 'v1.4.0', 'version' => '1.4.0.0', 'aliases' => array ( ), 'reference' => '1a4fb7e902202c33cce8c55989b945612943c2ba', ), 'doctrine/instantiator' => array ( 'pretty_version' => '1.0.5', 'version' => '1.0.5.0', 'aliases' => array ( ), 'reference' => '8e884e78f9f0eb1329e445619e04456e64d8051d', ), 'fzaninotto/faker' => array ( 'pretty_version' => 'v1.5.0', 'version' => '1.5.0.0', 'aliases' => array ( ), 'reference' => 'd0190b156bcca848d401fb80f31f504f37141c8d', ), 'imagine/imagine' => array ( 'pretty_version' => 'v0.7.1', 'version' => '0.7.1.0', 'aliases' => array ( ), 'reference' => 'a9a702a946073cbca166718f1b02a1e72d742daa', ), 'ircmaxell/password-compat' => array ( 'pretty_version' => 'v1.0.4', 'version' => '1.0.4.0', 'aliases' => array ( ), 'reference' => '5c5cde8822a69545767f7c7f3058cb15ff84614c', ), 'kriswallsmith/assetic' => array ( 'pretty_version' => 'v1.3.2', 'version' => '1.3.2.0', 'aliases' => array ( ), 'reference' => '9928f7c4ad98b234e3559d1049abd13387f86db5', ), 'michelf/php-markdown' => array ( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', 'aliases' => array ( ), 'reference' => '156e56ee036505ec637d761ee62dc425d807183c', ), 'myclabs/deep-copy' => array ( 'pretty_version' => '1.7.0', 'version' => '1.7.0.0', 'aliases' => array ( ), 'reference' => '3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e', ), 'oyejorge/less.php' => array ( 'pretty_version' => 'v1.7.0.14', 'version' => '1.7.0.14', 'aliases' => array ( ), 'reference' => '42925c5a01a07d67ca7e82dfc8fb31814d557bc9', ), 'paragonie/random_compat' => array ( 'pretty_version' => 'v2.0.17', 'version' => '2.0.17.0', 'aliases' => array ( ), 'reference' => '29af24f25bab834fcbb38ad2a69fa93b867e070d', ), 'phpdocumentor/reflection-common' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6', ), 'phpdocumentor/reflection-docblock' => array ( 'pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'aliases' => array ( ), 'reference' => 'bf329f6c1aadea3299f08ee804682b7c45b326a2', ), 'phpdocumentor/type-resolver' => array ( 'pretty_version' => '0.4.0', 'version' => '0.4.0.0', 'aliases' => array ( ), 'reference' => '9c977708995954784726e25d0cd1dddf4e65b0f7', ), 'phpspec/prophecy' => array ( 'pretty_version' => '1.8.0', 'version' => '1.8.0.0', 'aliases' => array ( ), 'reference' => '4ba436b55987b4bf311cb7c6ba82aa528aac0a06', ), 'phpunit/php-code-coverage' => array ( 'pretty_version' => '4.0.8', 'version' => '4.0.8.0', 'aliases' => array ( ), 'reference' => 'ef7b2f56815df854e66ceaee8ebe9393ae36a40d', ), 'phpunit/php-file-iterator' => array ( 'pretty_version' => '1.4.5', 'version' => '1.4.5.0', 'aliases' => array ( ), 'reference' => '730b01bc3e867237eaac355e06a36b85dd93a8b4', ), 'phpunit/php-text-template' => array ( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', 'aliases' => array ( ), 'reference' => '31f8b717e51d9a2afca6c9f046f5d69fc27c8686', ), 'phpunit/php-timer' => array ( 'pretty_version' => '1.0.9', 'version' => '1.0.9.0', 'aliases' => array ( ), 'reference' => '3dcf38ca72b158baf0bc245e9184d3fdffa9c46f', ), 'phpunit/php-token-stream' => array ( 'pretty_version' => '1.4.12', 'version' => '1.4.12.0', 'aliases' => array ( ), 'reference' => '1ce90ba27c42e4e44e6d8458241466380b51fa16', ), 'phpunit/phpunit' => array ( 'pretty_version' => '5.7.27', 'version' => '5.7.27.0', 'aliases' => array ( ), 'reference' => 'b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c', ), 'phpunit/phpunit-mock-objects' => array ( 'pretty_version' => '3.4.4', 'version' => '3.4.4.0', 'aliases' => array ( ), 'reference' => 'a23b761686d50a560cc56233b9ecf49597cc9118', ), 'psr/cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', ), 'psr/cache-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/log' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'fe0936ee26643249e916849d48e3a51d5f5e278b', ), 'psr/simple-cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', ), 'psr/simple-cache-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'ptachoire/cssembed' => array ( 'pretty_version' => 'v1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '406c6d5b846cafa9186f9944a6210d0e6fed154b', ), 'sebastian/code-unit-reverse-lookup' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '4419fcdb5eabb9caa61a27c7a1db532a6b55dd18', ), 'sebastian/comparator' => array ( 'pretty_version' => '1.2.4', 'version' => '1.2.4.0', 'aliases' => array ( ), 'reference' => '2b7424b55f5047b47ac6e5ccb20b2aea4011d9be', ), 'sebastian/diff' => array ( 'pretty_version' => '1.4.3', 'version' => '1.4.3.0', 'aliases' => array ( ), 'reference' => '7f066a26a962dbe58ddea9f72a4e82874a3975a4', ), 'sebastian/environment' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => '5795ffe5dc5b02460c3e34222fee8cbe245d8fac', ), 'sebastian/exporter' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => 'ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4', ), 'sebastian/global-state' => array ( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => 'bc37d50fea7d017d3d340f230811c9f1d7280af4', ), 'sebastian/object-enumerator' => array ( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '1311872ac850040a79c3c058bea3e22d0f09cbb7', ), 'sebastian/recursion-context' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => '2c3ba150cbec723aa057506e73a8d33bdb286c9a', ), 'sebastian/resource-operations' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'ce990bb21759f94aeafd30209e8cfcdfa8bc3f52', ), 'sebastian/version' => array ( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '99732be0ddb3361e16ad77b68ba41efc8e979019', ), 'simplepie/simplepie' => array ( 'pretty_version' => '1.3.1', 'version' => '1.3.1.0', 'aliases' => array ( ), 'reference' => 'ce53709778bc1e2e4deda1651b66e5081398d5cc', ), 'smarty/smarty' => array ( 'pretty_version' => 'v3.1.33', 'version' => '3.1.33.0', 'aliases' => array ( ), 'reference' => 'dd55b23121e55a3b4f1af90a707a6c4e5969530f', ), 'spipu/html2pdf' => array ( 'pretty_version' => 'v5.2.1', 'version' => '5.2.1.0', 'aliases' => array ( ), 'reference' => '7dca57b61fdb2d6920635ff2332dbc82d4be19f3', ), 'stack/builder' => array ( 'pretty_version' => 'v1.0.5', 'version' => '1.0.5.0', 'aliases' => array ( ), 'reference' => 'fb3d136d04c6be41120ebf8c0cc71fe9507d750a', ), 'swiftmailer/swiftmailer' => array ( 'pretty_version' => 'v5.4.12', 'version' => '5.4.12.0', 'aliases' => array ( ), 'reference' => '181b89f18a90f8925ef805f950d47a7190e9b950', ), 'symfony-cmf/routing' => array ( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => '8e87981d72c6930a27585dcd3119f3199f6cb2a6', ), 'symfony/browser-kit' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'fe44362c97307e7935996cb09d320fcc22619656', ), 'symfony/cache' => array ( 'pretty_version' => 'v3.4.35', 'version' => '3.4.35.0', 'aliases' => array ( ), 'reference' => '8d5db9c0cecf8b6f79fa96583fae652224d897da', ), 'symfony/class-loader' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '5694f145b1f7b35a55d7d31c58f12d72803f7d7e', ), 'symfony/config' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '506aaec58da5b042ec23f7de5cc866eb4b57a21e', ), 'symfony/console' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '48ed63767c4add573fb3e9e127d3426db27f78e8', ), 'symfony/debug' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '6a198c52b662fa825382f5e65c0c4a56bdaca98e', ), 'symfony/dependency-injection' => array ( 'pretty_version' => 'v2.8.50', 'version' => '2.8.50.0', 'aliases' => array ( ), 'reference' => 'c306198fee8f872a8f5f031e6e4f6f83086992d8', ), 'symfony/dom-crawler' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'a02078d236b10cbd27e003734afd4cdd35dc7da9', ), 'symfony/dotenv' => array ( 'pretty_version' => 'v3.4.18', 'version' => '3.4.18.0', 'aliases' => array ( ), 'reference' => '6e949fc1bfa9d76b8a986fbfaab4dbc188927126', ), 'symfony/event-dispatcher' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '76494bc38ff38d90d01913d23b5271acd4d78dd3', ), 'symfony/expression-language' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'aa8931b2c8ae64f58db2617cf109deebdb31d967', ), 'symfony/filesystem' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '56a92481a4969b234b1647b1fd1170281e80e2ca', ), 'symfony/finder' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '5ebb438d1aabe9dba93099dd06e0500f97817a6e', ), 'symfony/form' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '783643f8d0aa39a1eedb67747b7ab23949152707', ), 'symfony/http-foundation' => array ( 'pretty_version' => 'v2.8.52', 'version' => '2.8.52.0', 'aliases' => array ( ), 'reference' => '3929d9fe8148d17819ad0178c748b8d339420709', ), 'symfony/http-kernel' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '10b941cef0cd380d8be62772e4882568ec320a71', ), 'symfony/intl' => array ( 'pretty_version' => 'v3.2.14', 'version' => '3.2.14.0', 'aliases' => array ( ), 'reference' => '3fd98dde8e7d1c34c974d65b09e9c32abe88dafe', ), 'symfony/lock' => array ( 'pretty_version' => 'v3.4.21', 'version' => '3.4.21.0', 'aliases' => array ( ), 'reference' => 'c9b09fe759e803fb0ff51218f48bf1c2328e1133', ), 'symfony/options-resolver' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '43441c14988c1c66b16db5a88c4a70920f60bd56', ), 'symfony/polyfill-apcu' => array ( 'pretty_version' => 'v1.13.1', 'version' => '1.13.1.0', 'aliases' => array ( ), 'reference' => 'a8e961c841b9ec52927a87914f8820a1ad8f8116', ), 'symfony/polyfill-ctype' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => 'e3d826245268269cd66f8326bd8bc066687b4a19', ), 'symfony/polyfill-intl-icu' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => 'f22a90256d577c7ef7efad8df1f0201663d57644', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.13.1', 'version' => '1.13.1.0', 'aliases' => array ( ), 'reference' => '7b4aab9743c30be783b73de055d24a39cf4b954f', ), 'symfony/polyfill-php54' => array ( 'pretty_version' => 'v1.13.1', 'version' => '1.13.1.0', 'aliases' => array ( ), 'reference' => 'dd1618047426412036e98d159940d58a81fc392c', ), 'symfony/polyfill-php55' => array ( 'pretty_version' => 'v1.14.0', 'version' => '1.14.0.0', 'aliases' => array ( ), 'reference' => '58a98ed90b40a15a1a76c59417386395d5b1ec76', ), 'symfony/polyfill-php56' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => 'ff208829fe1aa48ab9af356992bb7199fed551af', ), 'symfony/polyfill-php70' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => '6b88000cdd431cd2e940caa2cb569201f3f84224', ), 'symfony/polyfill-php71' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => '1766834a22738196eb45486c4ca23c5739513bf4', ), 'symfony/polyfill-php72' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => '9050816e2ca34a8e916c3a0ae8b9c2fccf68b631', ), 'symfony/polyfill-php73' => array ( 'pretty_version' => 'v1.10.0', 'version' => '1.10.0.0', 'aliases' => array ( ), 'reference' => '47ad352296d61aae366f075b8609f4dcc28853ef', ), 'symfony/polyfill-util' => array ( 'pretty_version' => 'v1.14.0', 'version' => '1.14.0.0', 'aliases' => array ( ), 'reference' => 'ba3cfcea6d0192cae46c62041f61cbb704b526d3', ), 'symfony/process' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'a15cb61190c6fe37168600922e82295eb5e5449b', ), 'symfony/property-access' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '39eaaa4e316fbb246b9e3ea1150a284185804f49', ), 'symfony/routing' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '066acfcc71bb8274dc4fcd6d438a2e368053f3a4', ), 'symfony/security' => array ( 'pretty_version' => 'v2.8.50', 'version' => '2.8.50.0', 'aliases' => array ( ), 'reference' => 'b9e9130cf348d4e85e37ba1d0d27263e33b97534', ), 'symfony/security-acl' => array ( 'pretty_version' => 'v3.0.4', 'version' => '3.0.4.0', 'aliases' => array ( ), 'reference' => 'dc8f10b3bda34e9ddcad49edc7accf61f31fce43', ), 'symfony/security-core' => array ( 'replaced' => array ( 0 => 'v2.8.50', ), ), 'symfony/security-csrf' => array ( 'replaced' => array ( 0 => 'v2.8.50', ), ), 'symfony/security-guard' => array ( 'replaced' => array ( 0 => 'v2.8.50', ), ), 'symfony/security-http' => array ( 'replaced' => array ( 0 => 'v2.8.50', ), ), 'symfony/serializer' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'b72447abdab3050a46fbedfa11e66e7c515e797d', ), 'symfony/translation' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => 'cb34ec9549ab65f7f512819441f2d6af4d12c294', ), 'symfony/validator' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '7a97eba653f55581bf01f04431a936c4a9a83b93', ), 'symfony/var-dumper' => array ( 'pretty_version' => 'v3.4.38', 'version' => '3.4.38.0', 'aliases' => array ( ), 'reference' => '07801f3330aea80d58cbd125ad13a2f0b26c9d18', ), 'symfony/yaml' => array ( 'pretty_version' => 'v2.8.47', 'version' => '2.8.47.0', 'aliases' => array ( ), 'reference' => '0e16589861f192dbffb19b06683ce3ef58f7f99d', ), 'tecnickcom/tcpdf' => array ( 'pretty_version' => '6.2.26', 'version' => '6.2.26.0', 'aliases' => array ( ), 'reference' => '367241059ca166e3a76490f4448c284e0a161f15', ), 'thelia/currency-converter' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '93dae743cf7cd82cf169012bfd6a8dd43d68b974', ), 'thelia/hooktest-module' => array ( 'pretty_version' => '1.1', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => '32891857fd1e8e9ca5b7a9dbb0960ef3dd525fcb', ), 'thelia/hooktest-template' => array ( 'pretty_version' => '1.1', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => 'bb0a26df8ecfe7e41e2e391adb22360201088dda', ), 'thelia/installer' => array ( 'pretty_version' => '1.3', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => 'dca473563e05011c7aea3aaebc6f154fef4187fe', ), 'thelia/math-tools' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '4e66cd5448531a6eaf565acd8b69d9c693da7a3a', ), 'thelia/propel' => array ( 'pretty_version' => 'dev-thelia-2.4', 'version' => 'dev-thelia-2.4', 'aliases' => array ( ), 'reference' => '0d49917d48475c54c4ae6c8f780d1838aa810d5d', ), 'thelia/thelia' => array ( 'pretty_version' => '2.4.3', 'version' => '2.4.3.0', 'aliases' => array ( ), 'reference' => NULL, ), 'webmozart/assert' => array ( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => '0df1908962e7a3071564e857d86874dad1ef204a', ), ), ); public static function getInstalledPackages() { return array_keys(self::$installed['versions']); } public static function isInstalled($packageName) { return isset(self::$installed['versions'][$packageName]); } 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) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } $ranges = array(); if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { $ranges[] = self::$installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', self::$installed['versions'][$packageName])) { $ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } public static function getVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['version'])) { return null; } return self::$installed['versions'][$packageName]['version']; } public static function getPrettyVersion($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { return null; } return self::$installed['versions'][$packageName]['pretty_version']; } public static function getReference($packageName) { if (!isset(self::$installed['versions'][$packageName])) { throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } if (!isset(self::$installed['versions'][$packageName]['reference'])) { return null; } return self::$installed['versions'][$packageName]['reference']; } public static function getRootPackage() { return self::$installed['root']; } public static function getRawData() { return self::$installed; } public static function reload($data) { self::$installed = $data; } }