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:----XVm8ZilZALmJ/9714cML/fqOylpUThvA7LLcH+7pcgsAmvzvq9ad6IK/GpxpNsAozMmPSotyeCdWu/jQXobL1wAKQONTI7ym5suB1c7tCLUiQFfOKhANEoyHlywzK3LURJXyGSCq2PKcEj3DAQx7edIkUUy6WS0wGhhbd57CeiRDJ0rq5GnS5Jq9/yQft2ys6/mZ+I2y+TKBI+ux8wCaQiNbXAx4AvYijuP36F1B0XPG+W9zx6ELUqaD+IjSJBnpDt5R0pTsFV/u5dKt28H4oD30TKMtdF6Y/gdocjEbOa+mkPtCvmSqmJ2RenMy2CFWBS2E3KM0RB8abhUbUrftlL549ZKUu5D8e6otwCeud0Po6BKlF79CmIpqOi7dVyaJCoqR5K+GV4257NrG3ScORdDUFQiNAO+UPrrQGXV6jM6kON4j09VYYCAvmZ1d5xVu+gP0S4sczvDZPYaNLfi1MBC1CLsADbMfsXrtpJJZ6abnQLZnGEMZYOL+i6+baYHsNXG/MhXH7N0fMt2HKgp5VYm7/l4BFlsy2v5ohof0jTSNeMW/lF4Hll8b8hWzR4+iRn6qgmzIDhzhBV7pgToRSsikAbScki0SbcTAo+BE2OGb8UaXYeKJpTFnvwMLs2zS/xV8Vx0ULtCpX95lmWHWu9wmjI/nQs6gMkSixkEFQO8=----ATTACHMENT:----NzMzNzYwMjIxNDk4NzIzOCAzMTU2MTEzMzQxNjM1OTIzIDExODYzODg3NzUyNzQxNTI=