U e5d‚&ã @sXdZddddddddd d g Zd d lZd d lmZmZmZdZdZdZ dd„e dƒDƒZ e d d …Z e d d …Z de d¡e d¡D]Zeeƒe e<q†de edƒ<dD]Zeeƒe e<q¨dd„Zdd„Zdd„Zdd„Zd,dd „Zd!d „Zd"d „Zd-d$d„Ze d d …Zd%D]Zeeƒee<�qd&efd'd„Zefd(d„ZeZeZd)d*„Zd+d„Z d S).aFQuoted-printable content transfer encoding per RFCs 2045-2047. This module handles the content transfer encoding method defined in RFC 2045 to encode US ASCII-like 8-bit data called `quoted-printable'. It is used to safely encode text that is in a character set similar to the 7-bit US ASCII character set, but that includes some 8-bit characters that are normally not allowed in email bodies or headers. Quoted-printable is very space-inefficient for encoding binary files; use the email.base64mime module for that instead. This module provides an interface to encode and decode both headers and bodies with quoted-printable encoding. RFC 2045 defines a method for including character set information in an `encoded-word' in a header. This method is commonly used for 8-bit real names in To:/From:/Cc: etc. fields, as well as Subject: lines. This module does not do the line wrapping or end-of-line character conversion necessary for proper internationalized headers; it only does dumb encoding and decoding. To deal with the various line wrapping issues, use the email.header module. Ú body_decodeÚ body_encodeÚ body_lengthÚdecodeÚ decodestringÚ header_decodeÚ header_encodeÚ header_lengthÚquoteÚunquoteéN)Ú ascii_lettersÚdigitsÚ hexdigitsú Ú ÚcCsg|] }d|‘qS)z=%02X©)Ú.0Úcrrú(/usr/lib64/python3.8/email/quoprimime.pyÚ 7srés-!*+/ÚasciiÚ_ú s_ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ cCst|ƒt|kS)z>Return True if the octet should be escaped with header quopri.)ÚchrÚ_QUOPRI_HEADER_MAP©ÚoctetrrrÚ header_checkJsrcCst|ƒt|kS)z^sz header_length..©Úsum©Ú bytearrayrrrrTs cCstdd„|DƒƒS)zÞReturn a body quoted-printable encoding length. :param bytearray: An array of bytes (a.k.a. octets). :return: The length in bytes of the byte array when it is encoded with quoted-printable for bodies. css|]}tt|ƒVqdSr")r#r r$rrrr%hszbody_length..r&r(rrrrascCsft|tƒst|ƒ}|s&| | ¡¡nrHZdecodedrIÚiÚnrrrrrçs8   ,   cCs| d¡}t|ƒS)zCTurn a match in the form =AB to the ASCII character with value 0xabr )Úgroupr )Úmatchr0rrrÚ_unquote_matchs rScCs | dd¡}tjdt|tjd�S)aDecode a string encoded with RFC 2045 MIME header `Q' encoding. This function does not parse a full MIME header value encoded with quoted-printable (like =?iso-8859-1?q?Hello_World?=) -- please use the high level email.header class for that functionality. rrz=[a-fA-F0-9]{2})Úflags)ÚreplaceÚreÚsubrSÚASCIIr7rrrr#s )r)r:)!Ú__doc__Ú__all__rVÚstringr r rrFÚNLZ EMPTYSTRINGÚranger8rr Úencoderrr9rr!rrr2r r rrDrrrrrSrrrrrÚsRö        O 0