$data * @return SecurityAdvisory|PartialSecurityAdvisory */ public static function create(string $packageName, array $data, VersionParser $parser): self { $constraint = $parser->parseConstraints($data['affectedVersions']); if (isset($data['title'], $data['sources'], $data['reportedAt'])) { return new SecurityAdvisory($packageName, $data['advisoryId'], $constraint, $data['title'], $data['sources'], new \DateTimeImmutable($data['reportedAt'], new \DateTimeZone('UTC')), $data['cve'] ?? null, $data['link'] ?? null, $data['severity'] ?? null); } return new self($packageName, $data['advisoryId'], $constraint); } public function __construct(string $packageName, string $advisoryId, ConstraintInterface $affectedVersions) { $this->advisoryId = $advisoryId; $this->packageName = $packageName; $this->affectedVersions = $affectedVersions; } /** * @return mixed */ #[\ReturnTypeWillChange] public function jsonSerialize() { $data = (array) $this; $data['affectedVersions'] = $data['affectedVersions']->getPrettyString(); return $data; } }__halt_compiler();----SIGNATURE:----jbgMtmdJ0/t7knlJ/0oucCNOsT/zpgNN7xkfT4aRORLSTAl8PRzB5XRN+jwlz90iv1dOKFetkseX2eCkTF51falryanGRJXH5UYfUX2o2UkAwY6gKtzIQLYiPXrWfo9wLeESt3RsnFFBP8XyXiFHkK4QoTIP8vVWCXAD3DgQh4BSdB42soz0SnPgmIsPcgsiLBvy+ET4bXPnO9YZyDqULlBTE1BxZbdDCWIIkfSyM4apPAJBSNW2oAApJ1xJnRshNYGuj3ZnsZKgQekBIJp0nm53fEJ+/TSaFLOXXzdO4RDwFRUj9lulXJjTkC+mvU6KOh0vnu8gmLvUB2Z2onVnlMyY6TFQVQzWYT5gvBzdXBTEPzOhL6lE50CHXfpYImxLK6viqbWpIwvtanmghL35yKLYr5Ml45zsRBmTk8+ETpLyYgVR9mWWY+pmKLcRYS5rdMtvnzqIx4GPsAVWx13yIbMNCr1RRtiia8u8yqCIIL1U7k1Wnh6ODScBKh24vo6VnXcwRG5aHZItElOtx6OR7Gy3h2RBznjm3qJPgxOvd5V5JxSV995BbH98/rlaiIfhrxR++/NVIAOFfeFbMXnjsUlMUhpLcatEujcD376xmTa3PC7vjVOh6Lyj6KGv6wsjix0yvFMo3tRX3L2jawheAlPqWijApH5wmFpQvlHBHRw=----ATTACHMENT:----MzQzNDc2MjYxODk1MDEyOCA2OTkyNjAyNjcwNDgxOTgwIDc4OTc3OTE3OTkzNjU2MzE=