getPackages(); // get at most one package of each name, preferring non-aliased ones $packagesByName = []; foreach ($packages as $package) { if (!isset($packagesByName[$package->getName()]) || $packagesByName[$package->getName()] instanceof AliasPackage) { $packagesByName[$package->getName()] = $package; } } $canonicalPackages = []; // unfold aliased packages foreach ($packagesByName as $package) { while ($package instanceof AliasPackage) { $package = $package->getAliasOf(); } $canonicalPackages[] = $package; } return $canonicalPackages; } }__halt_compiler();----SIGNATURE:----lhRQAHI3wZtS8n6Gsla3SWIGGmVYrfGHPS/AaDIOGGnWAoJmAXeELRyc2YwmmZ4/gHJ2ZVNy9mtb6L7yUvBNZIiIBBerzizxrh9nXDNFCuJDBrTMol3EHWL0jPYV0Sos/ETCgc3Gx3pSBz9tSdrajqp6AIKDjjhwSTl5jgVU+1y9KVBRm5dF8xLuFA1NN2EtocKr98eJIuwdmv9QDK/KYSPuC/x1ITFv+bi6Uh8ipVtfeA8WewB5thSuVlnymag9HDIRmYcGM+Me8qWvQ1eo1cLn0J+T/0RoJ+a3bmDJThajSKNt6VQWinhDTU3JIYB2y8CHosHA6jO/b84+z6EVV7BPanZ1+0xr2Va+LSIDKGJAJYcv7LqpgOb9YO60HtLvfrvh2sICxH8MJHgGCNbN0JVeMlwmj2V+5bL8uBurlbiuqMMdBjeUWUFeOnaxCyQPjYIeUO0IVvA6BsWTClX55JgQSw3E73a8wgQWCVH6A45Nc1u5V+W7tnsk4xy7T4i2ga1vWr2f9DYe7UruHAbTnEjnxx2cWmIInHzkgY1yLMmW3g/QXhasPqY5H/QoXyNyoGlLtnWdWJNIA2v9fqr8ifcT4N3xabXqdZVm2Gf8ZsJe+O1zt6srnmI+kOK87MdllDh/E3lkAVtMT08x/yZtnfIbARzyrPk7sCxH+A+YldU=----ATTACHMENT:----MTgxMDQxNzE5MTQ3MTQ0NiAyNTcwMjY4MTQ2MTMwNDE0IDU5ODUxODYxOTcwOTg4Mzc=