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:----f7JlADfYlF+HHG8h707GJ6vVSDnseSTYOwWFMAFFk5/56k2uO4/OZi4dh5M0FvEj/BeLcf8G9U4l8WT8JyuauqEDAHQ6MTtiCYtswfIeOnDg/myih0HolPA4oiQhzYituymzcJFf8RpHLKLVJCmuJ5gMuGQcM3INKJCXc8YeuisPzSLEZurcMwuIYZ6T3M2rYkMJAARt1olxMX8EbwuDP42FS+OHJowzUhMpZz6CIvp1q9Xc33Hl+zPxqGBf1LdDyzqSsaZ4Abh1I590NYLpyrAH/x7Nz357wIPjFLmVxDPq48I5W95bVGyDA/DSOLN6zziqh6uSbRDtHBkBdea9oqgcozFe17/DCAAzfQdw57YQk06RE/bqnG/0rI3OPKcMtzaPPROCfWv8agbeu6pM75XiPVdP1MchtyPLGxvy4+dUyNCsDXfGHryDWHrLfDIEuC+bZyhTUSCvwXBKSOpOFiqnjFtGMewM5iRclH8GnPI5CrhrqFOMSnlDt2VJd8aG1JOAoJzVNp3WfvMM4xEPLJ3qkyguzDTNQaA7et1UIU4o2cD2GLjipWY6PY1SxIvM0JQFK2TN7f5wjWPxeqRkQTZoglXll3wIk5B7CZ+Kklha3x5Pu0KKWzNQ7fupfn52+ckl+OB+a8T+ebZ12+F3gyMGN8MeeTGoNB1vgDHhC3o=----ATTACHMENT:----OTkyOTgxNDc1NjAxODUxMiA5MzEwMTE3Njk4MTAyOTQgMzA0NjE3NTM5ODMzMjg0