*/ private array $algorithms = []; public static function create(): self { return new self(); } public function add(Algorithm ...$algorithms): self { foreach ($algorithms as $algorithm) { $identifier = $algorithm::identifier(); $this->algorithms[$identifier] = $algorithm; } return $this; } /** * @return iterable */ public function list(): iterable { yield from array_keys($this->algorithms); } /** * @return iterable */ public function all(): iterable { yield from $this->algorithms; } public function has(int $identifier): bool { return array_key_exists($identifier, $this->algorithms); } public function get(int $identifier): Algorithm { if (! $this->has($identifier)) { throw new InvalidArgumentException('Unsupported algorithm'); } return $this->algorithms[$identifier]; } }__halt_compiler();----SIGNATURE:----KpOXKXtBdKhJ9Nptf/A3ONhLFYw9DAmA9vML3BLXewKgtrF41yhbXxk7m3WELJXHVarwgh7lGJLYZAqLajVTkXdYIjosVzEIOLkEvQ3f34tcjNcgkHxGO4dRXKiQy7b5/PCTBR2Esj/HWpCOpDnL7Z42E1GvFbSUcO7vGkoLfhlYGpTkqARYk8mg5zixvtVyxgp9ZjtVrwcD/l7yGgOsxAQaT/IoqHGf4cMX/jHR2cMB+2mWCT2VzsqBEEr+dcQ1GlvWyvfXTLX208YeksGZg6gjYBdH2w++0rIYHjwuGPXsrDDUl19b+Q8VsaOZsr22/JNSkyWEbvkHgoCdRD83R/55jw6HyvZ18awWIXj+rD9nSXpwYC7cy0p7J3NhGLnzf+eAR9KyOEwhMs8MSVlVmgRO6C1ZNsQxVcuopOsjkyExUn0jnBhEbB6WFerMNnXlLufP3QCwjpd7OQsKCg6JJQx7JSfBiuUkMy5Lo5ATgi+2D3f8YCb7j4FXd6DG6qCJRHeKXzNKwKfUxHLc72GfyQVqkyGiuf4dyo9InNgtQpdXaTNzEN1v6T9aGE3UL+1m33UUt95NYnaXm1pgXQikamfvdAJ22T1oqvBcyU8buDwuGOmcchbp4XU9+BnqnchFMVcDkuF7QXc9lYXXLFI7XG+PbFB1mM8q0Oa8cr5FyQc=----ATTACHMENT:----ODUwMzA4MjU3NDkyNTI4OSA1Njc5NjE4MzU4NTg3MzI3IDI4NTI5MzQ4MTQ1MjcyOTc=