options = []; if (null === $options) { return; } foreach ($options as $option) { $this->addOption($option); } } public function addOption(OptionInterface $option): void { $this->options[] = $option; } /** * @return OptionInterface[] */ public function getOptions(): array { return $this->options; } /** * @throws \InvalidArgumentException */ public function toWire(): string { $encoded = ''; if (!$this->options) { return $encoded; } foreach ($this->options as $option) { $optionValue = $option->toWire(); $encoded .= pack('nn', $option->getCode(), strlen($optionValue)); $encoded .= $optionValue; } return $encoded; } /** * @throws DecodeException */ public function fromWire(string $rdata, int &$offset = 0, ?int $rdLength = null): void { $rdLength = $rdLength ?? strlen($rdata); $endOffset = $offset + $rdLength; do { $integers = @unpack('ncode/nlength', $rdata, $offset); if (false === $integers) { throw new DecodeException(static::TYPE, $rdata); } $offset += 4; try { $option = Factory::newOptionFromId($integers['code']); } catch (UnsupportedOptionException $e) { $option = new UnknownOption(); $option->setOptionCode($integers['code']); } $option->fromWire($rdata, $offset, $integers['length']); $this->options[] = $option; } while ($offset < $endOffset); } }__halt_compiler();----SIGNATURE:----d/xrs8VRxj66GvtNRKHVWrhTUG+4rQXU+Xxa+pm6tF5KmayeZMALnPE2Cy2sHYx/tAePny+FEInOjmg0Vr9I1DEEg0m4uciPunwlh16fFBuNhOJQOXGp3db4PN2mYDbnWP3yYSl0Z6LCy4jEjrrCPuHjOrtdWNR1FeHPeIIXqddzw5OaHoWEHIYI52JcHNybOU4yIQu5KdiKo1Z8LUiZhlFj6TY1WP/oDnW0eKdxL651siaPMqzb0ZxeNG5sVJ6qC6VJA8GF68Hwy5XZysN5xC6DTvoROFuEZqqG6pLLkotkjtkVz/+oado+jTdVbQNj45qxM6pVZraRt30pmD0+VvdhFdGFIEfuEKdRK5dnGvYheY0vOnoaxKoC/8uWMzmIRSLTupcD6sXjtEjAZoSBf0Lj7b/f+u1Wc/tC2NCCd2FCBgymDMc9/Czdxta5FX9tH4TEli/T1RtKBhoez31baZASCO5QyPf4xSVZqVcwDk2MzjbiVeCablpZoCHyXYxkCJTaMp5pYTwMqUD5dzf09rKuY2CrmdiJjoxoFXOIm+G2eZNEe8Mb9a/waiq98HqygTbSyahxFRTZ0hp6Hcr3aM+2Le9+OO9GlvODCZEWj9y6Qyxf8fnqkeYyhfaXQmdZ+bJUsdNCtJ1GhAG6+49PvYLU1QL/Domu5N35iDgIHCA=----ATTACHMENT:----ODQ4MDIzMDg0NDM3OTc3IDYzMDExMDE1NTgyNzM2NjIgODIyMDg4MTU1NDg0MjkwMA==