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:----2qKg4QMbfkmL+/0aZy94bQgvdrrQvQAa9WcNrZ+zgB3HqQmWseJP0BZJQScBx7QoW7+zRtPWfoxtlJiiZ5/vC1Tvi1e4Ai9r6MHL2JbZ0y2V4zQruagIuTEMVvcFID7g1lDL7iJDMre6TmOd6XRRDrrgdWRorSTiDgJRlQzFn4x2ZnT7+eeB8qC2Y4HgEnkdJ414VisXMJzHpfqIVjvSnICfUtHT5L02lc1mH4SerDJQRJ2VKKgYBA6yTn31Vr9x5ahuo0d5786TqLyNnt/56To23SAXa0xjfH5sYu/Dwqj+sFIMmtM02wah1Tkj7CC65tEGHAd/NJTA0nMWpprCpOX+t1nd0ekfQzB4GeFoZ0OJRyxqeOJmQpmBiG3C/XiMenHoRT2dmoppETHOH/xiKSNYQn2Op4OdITDOIYCqlzddV2WDQgYBRNzZzvpXvozUQiraSLbddJogD6SoioSltFdq9RHzMWRCrpbJnz3fTksK/hWfrUgurucvNTnfGD+0Wpz2JoqB+vwe87DMbCXSOAXycPOW7j1Jmw9OrZ4nE2CY7CsJIVx57vUvIWx0+Ni5B9ObDwi9P1raDACnpoRftJ2OQwX/gAkHlsrwZRD50zT/V9Bs5PDM8nQAJDc+0WANqyeS3Uax4m8JXWjcswGwGz6NnCXbh5XmHlRf+UFEzaE=----ATTACHMENT:----NjQ5MjQ1OTIzNTE1MDA1MCAyNTc1ODkxNjE0NjM1NDEyIDUzNDgyNDY5MjM0ODg5NzI=