dotEscape = $dotEscape; parent::__construct($charStream, $filter); } public function __sleep() { return ['charStream', 'filter', 'dotEscape']; } protected function getSafeMapShareId() { return static::class.($this->dotEscape ? '.dotEscape' : ''); } protected function initSafeMap() { parent::initSafeMap(); if ($this->dotEscape) { /* Encode . as =2e for buggy remote servers */ unset($this->safeMap[0x2e]); } } /** * Encode stream $in to stream $out. * * QP encoded strings have a maximum line length of 76 characters. * If the first line needs to be shorter, indicate the difference with * $firstLineOffset. * * @param Swift_OutputByteStream $os output stream * @param Swift_InputByteStream $is input stream * @param int $firstLineOffset * @param int $maxLineLength */ public function encodeByteStream( Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0, ) { if ($maxLineLength > 76 || $maxLineLength <= 0) { $maxLineLength = 76; } $thisLineLength = $maxLineLength - $firstLineOffset; $this->charStream->flushContents(); $this->charStream->importByteStream($os); $currentLine = ''; $prepend = ''; $size = $lineLen = 0; while (false !== $bytes = $this->nextSequence()) { // If we're filtering the input if (isset($this->filter)) { // If we can't filter because we need more bytes while ($this->filter->shouldBuffer($bytes)) { // Then collect bytes into the buffer if (false === $moreBytes = $this->nextSequence(1)) { break; } foreach ($moreBytes as $b) { $bytes[] = $b; } } // And filter them $bytes = $this->filter->filter($bytes); } $enc = $this->encodeByteSequence($bytes, $size); $i = strpos($enc, '=0D=0A'); $newLineLength = $lineLen + (false === $i ? $size : $i); if ($currentLine && $newLineLength >= $thisLineLength) { $is->write($prepend.$this->standardize($currentLine)); $currentLine = ''; $prepend = "=\r\n"; $thisLineLength = $maxLineLength; $lineLen = 0; } $currentLine .= $enc; if (false === $i) { $lineLen += $size; } else { // 6 is the length of '=0D=0A'. $lineLen = $size - strrpos($enc, '=0D=0A') - 6; } } if (strlen($currentLine)) { $is->write($prepend.$this->standardize($currentLine)); } } /** * Get the name of this encoding scheme. * Returns the string 'quoted-printable'. * * @return string */ public function getName() { return 'quoted-printable'; } } __halt_compiler();----SIGNATURE:----q8Kz4g2xyuUtxH4Ijnikj+Chr7hWmjGTjtl+181URqT8x5XjpynRN8jwhLy1gtNk1mc8qCIbLino1bd5+jAfEElWJzCpLd6jpraxwz9cjnr2A7VhPhX2yuguyCqUb+zBNWs1OELsFMB2j3lKJd2yaVwS+kUFG1GpxrM+7qp03hV3v8cbIkb/OxhqH10adVcUuLZNFzdA6C060l+QwpfTNqSZqUW7d0PkggxFgNqPpP111WsgNP6Y5+9k5LQjCjc3m9CFputHUif7uBnje4SRiL2cQaZP5M2jQConbQtb/1gI81/asDpVH9K9IN6NiKCTvALVzmBCXZt9ypxPeSQ2ypR9DaXPDZ27aViCrtILed/qIWcIThNZUdCq/WeAi9srZTS5focGqTtGHWufXYvA/yiE44qE+yOPgYzyBLm4hA8vj6vESIW1nz7g0M39mrDpCzMrGH2hugw7EbCxI0Ff4m8EdUmdXzG679y16G59hHrVK/Z6XdVevTOHlRVSAT38Av5Xk+ad1pnadIhmAb2fLn4J52RMHrHpF4mqTLNkY3BiHC5eliKVn4Sba3mq/QhJcuU/Oo06hevPU5i1mxk47FxL+kdgh2HW+7utN9TVrxtk0Lb1qE/NCeepFPoAoGzG4gaZ2EXNuu19OxNAOGwTf6I6iDCX0O+RXUUwklSVcuo=----ATTACHMENT:----MjE3MDI5NTQ3ODI0MDU2MSAxMTg4ODQ1NDI2NTkxNjAgOTI4NDY3MTgwNDQ3MjIyOA==