content = "length = strlen($this->content); return true; } /** * Read from stream. * * @param int $count * @return string */ public function stream_read($count) { $value = substr($this->content, $this->pointer, $count); $this->pointer += $count; return $value; } /** * Tests for end-of-file on a file pointer. * * @return bool */ public function stream_eof() { return $this->pointer >= $this->length; } /** * Change stream options. * * @param int $option * @param int $arg1 * @param int $arg2 * @return bool */ public function stream_set_option($option, $arg1, $arg2) { return false; } /** * Retrieve information about a file resource. * * @return array|bool */ public function stream_stat() { $stat = stat(__FILE__); // @phpstan-ignore-next-line $stat[7] = $stat['size'] = $this->length; return $stat; } /** * Retrieve information about a file. * * @param string $path * @param int $flags * @return array|bool */ public function url_stat($path, $flags) { $stat = stat(__FILE__); // @phpstan-ignore-next-line $stat[7] = $stat['size'] = $this->length; return $stat; } /** * Seeks to specific location in a stream. * * @param int $offset * @param int $whence * @return bool */ public function stream_seek($offset, $whence = SEEK_SET) { $crt = $this->pointer; switch ($whence) { case SEEK_SET: $this->pointer = $offset; break; case SEEK_CUR: $this->pointer += $offset; break; case SEEK_END: $this->pointer = $this->length + $offset; break; } if ($this->pointer < 0 || $this->pointer >= $this->length) { $this->pointer = $crt; return false; } return true; } /** * Retrieve the current position of a stream. * * @return int */ public function stream_tell() { return $this->pointer; } /** * Registers the stream. * * @return void */ public static function register() { if (! static::$isRegistered) { static::$isRegistered = stream_wrapper_register(static::STREAM_PROTO, __CLASS__); } } } __halt_compiler();----SIGNATURE:----Jg/t6Ri1/KaAYdDHOH5FliPWz7Wgn2SbKeym+PO/fmRpHQCAsWEhtVA5MMmXw3lwYNVLhVDBII1RWIkwdg7whBabcgSoea86GQ09V0Sqp/81D2LYfvizwYhcBosqtQ1UwnQSFws85alDyH9fRJbOwgpTSn5Hm5eNoagEpIvtDTwUTeqf22bwxDvGu4ET7ev9zZi60mtJIF0Hrd38xZLzMsJRq00VrL66hZ6i1aBKXzBJ3XII4lhDwhTfwmM5tlKHgUAr9cblXvAlB5KTgMmzu2BhGWS9aYWtvV4VwbDTINupOzCCF4vN+U7tuHeQRxeTRdRIlCeUsomsTKkE48UbQZVZCWOHkdIf72mkEjEwYDgM2HhkiYwYsnRO4YpSHnbdcrRgKnsHDcoMz57yA9q4o5HRKMs5L9RRhFtrJsBfUzxXvjjOfI/rqrBepTi/8Uz78BR7ewKM3Vsl0TIUzY02dbyPLhb3tFedwLozC7dW8/KFsRcylVGIPRCNjo4TmkjjjgUtmQw+BjZJA/jJkZdxcvTpUdBhydUAJ7gv+tby3aKG299oW2z4K63sxhGfFxoXsY61zOis7ZB8AIDu7zgteAwa5jyw6RToDWVf1uK3/O1X+HVbIon4w6i3G8nJZ0gskxXjgcYkfZ0x8t5Ow/XbGKzvbBflnS+QVfaByipG8gQ=----ATTACHMENT:----Mzg5MDM0MjA2NzA4Njg2NyAxNDYwNzgyMDgyMjQwNTI3IDU1NTYyNjc0ODcyNTA5NTU=