= 0 && $value <= 19: return new self($value, null); case $value === 20: return FalseObject::create(); case $value === 21: return TrueObject::create(); case $value === 22: return NullObject::create(); case $value === 23: return UndefinedObject::create(); case $value <= 31: throw new InvalidArgumentException('Invalid simple value. Shall be between 32 and 255.'); case $value <= 255: return new self(24, chr($value)); default: throw new InvalidArgumentException('The value is not a valid simple value.'); } } public static function createFromLoadedData(int $additionalInformation, ?string $data): Base { if ($additionalInformation === 24) { if ($data === null) { throw new InvalidArgumentException('Invalid simple value. Content data is missing.'); } if (strlen($data) !== 1) { throw new InvalidArgumentException('Invalid simple value. Content data is too long.'); } if (ord($data) < 32) { throw new InvalidArgumentException('Invalid simple value. Content data must be between 32 and 255.'); } } elseif ($additionalInformation < 20) { if ($data !== null) { throw new InvalidArgumentException('Invalid simple value. Content data should not be present.'); } } return new self($additionalInformation, $data); } public function normalize(): int { if ($this->data === null) { return $this->getAdditionalInformation(); } return Utils::binToInt($this->data); } }__halt_compiler();----SIGNATURE:----eYIYchIyzli9/7qB/A/ZScg4DLEkWboU/VKXySAVcMQSYngMTMUMqYtdzP7BolympZz7Y1LUjrQJ+fOQaAYtvSCszMFaaGv7B8A5sldbzB9zvDMSC4U6bzUHufO7HqA2lCJ0zmusL31bbJCtiwH4GhMQMIuc4jeI1mui7/8fgW7nzPzpht2tXMzxvCDKo+sjcG1xKSG5buVz3wDyG3z9hQx+ixyQKx3/bnuPJRvlieFwoif/pey9x0jMDBLEH+CFt7WDxvbOosTuv0SCMepnR1ZpzPrx/xX5brbJqocoCUxuy7ye1EX9YQJTWBM7loILierR3vz/XTvH6zf75RtrLtF4pGJ2a95FLj1l2AYm93BITXQekCc+/0XqEyTswiNIyimiiv5gB9K8W/twRpYB3c1/0CPxOtqA8ahNm/FiEbDRDhH87TsHeUp1VzqjUZ9ppfmnICHKmTjj5YQEUquooLaXnBKdwe1HvTtrxx2IGzcYvQhKhKYC9xU0r9qvMkv3AJDQqJSLIArX8SWEiFl18ZYjPfI4+lbZHV3XuJx3aNogr+hH3UT9I8ocGflklfLRYPkMxwD1QnmU6Esf/S7OGrqSlaGZiRmV5SU3e372vNUDK9MEsE4WOZiQGQ5MV6tC9hDu4gf6YOqGP8svXFzfAhiSrUXkObhZ66OWwRGQers=----ATTACHMENT:----MTYxOTY5NjQ5NzU2Mjk1NCA1NjA0NTIxMzA1NzY1MTkzIDgwNDY3NjQ5NzY1OTE2NTg=