eSr/SQrSrSrSrSrSSKJrJr S r S r SS jr SS jr SS jrSSjrSrSrSr\S:Xa\"5 gg!\ a SrSrN>f=f)zHConversions to/from quoted-printable transport encoding as per RFC 1521.)encodedecode encodestring decodestring=Ls0123456789ABCDEF)a2b_qpb2a_qpNc[U[5(deUS;aU$US:XaU$U[:H=(d SUs=:*=(a S:*Os (+$)zDecide whether a particular byte ordinal needs to be quoted. The 'quotetabs' flag indicates whether embedded tabs and spaces should be quoted. Note that line-ending tabs and spaces are always encoded, as per RFC 1521.  _ ~) isinstancebytesESCAPE)c quotetabsheaders ,/opt/imh/python3.13/lib/python3.13/quopri.py needsquotingrsO a   F{Dy ; 1tq00D011rc[U[5(a[U5S:Xde[U5n[[[ US-[ US-45-$)zQuote a single character.)rrlenordrHEXrs rquoter $sM a  CFAI- - AA E3q"u:s1R4y12 22rc[b,UR5n[XBUS9nURU5 gUS4SjnSnUR5=n(a/n Sn USSS:XaUSSnSn UH\n [ U 45n [ XU5(a [ U 5n U(aU S:XaU RS5 MKU RU 5 M^ UbU"U5 [RU 5n [U 5[:a2U"U S[S - S S 9 U [S - Sn [U 5[:aM2U nUR5=n(aMUbU"UW S 9 gg) abRead 'input', apply quoted-printable encoding, and write to 'output'. 'input' and 'output' are binary file objects. The 'quotetabs' flag indicates whether embedded tabs and spaces should be quoted. Note that line-ending tabs and spaces are always encoded, as per RFC 1521. The 'header' flag indicates whether we are encoding spaces as _ as per RFC 1522.Nrr cU(a0USSS;a'URUSS[USS5-U-5 gUS:XaUR[U5U-5 gURX-5 g)Nr .)writer )soutputlineEnds rr'encode..write;sd 236! LL3B%"#-/'9 : $Y LLqG+ , LL %rrr%rrrs= )r*) r readr'readlinerrr append EMPTYSTRINGjoinr MAXLINESIZE) inputr)rrdataodatar'prevlinelineoutlinestrippedrthislines rrr,s[zz|t@ U&H.." "$ " 9 9DHAqd AA&11!H!t)t$q!   (O##G,(mk) (>KM*F ; A /H (mk) 9.." "$ "< h)rc[b [XUS9$SSKJn U"U5nU"5n[XEX5 UR 5$)Nr"r BytesIO)r ior<rgetvalue)r(rrr<infpoutfps rrrgs? aV<< 1:D IE 4 * >> rc [b+UR5n[X2S9nURU5 gSnUR5=n(GaeS[ U5pUS:a;XhS- US:Xa0SoS- nUS:a#XhS- US;aUS- nUS:a XhS- US;aMOSn Xx:aXgUS-n U S:XaU(a US -oWS-nOU [ :wa XZ-oWS-nOUS-U:Xa U (dSn OUS-U:a XgS-US -[ :XaU[ -oWS -nOfUS -U:aU[ XgS-US -5(a=[ XgS -US -5(a%U[[XgS-US -545-oWS -nOXZ-oWS-nXx:aMU (dURUS-5 SnUR5=n(aGMeU(aURU5 gg) zRead 'input', apply quoted-printable decoding, and write to 'output'. 'input' and 'output' are binary file objects. If 'header' is true, decode underscore as space (per RFC 1522).Nrrr rr#s rr) r r,r'r-rrishexrunhex) r2r)rr3r4newr6inpartialrs rrrrs zz|t+ U C.." "$ "#d)1 q5TA#a[E)GqSa%D1QK83aCa%D1QK83Geqs ADyVDjc!fgQ3q1'U1qTA#ac]f4Fl!A1qU4!AaC=11eD1QqSM6J6JE5c!A##7"9::!AgQ3qe LLu %C3.." "$ " "4  S rc[b [XS9$SSKJn U"U5nU"5n[X4US9 UR 5$)NrBr r;)r r=r<rr>)r(rr<r?r@s rrrs= a'' 1:D IE 4v& >> rc[U[5(deSUs=:*=(a S:*Os =(d1 SUs=:*=(a S:*Os =(d SUs=:*=(a S:*$s $)zDReturn true if the byte ordinal 'c' is a hexadecimal digit in ASCII.09afAF)rrrs rrErEsR a    1    F 1 1T 1 FTQ5F5F$5FF5FFrc6SnUHn[U45nSUs=::aS::aO O [S5nOQSUs=::aS::aO O[S5S- nO2S Us=::aS ::aO O[S 5S- nOS [U5-5eUS -[U5U- -nM U$) z.Get the integer value of a hexadecimal number.r rMrN0rOrPa rQrRznon-hex digit r)rrrepr)r(bitsrrHs rrFrFs D  1$K 1  CA Q $ C A Q $ D " A 2*472 25Bw#a&1*% Krc SSKnSSKnURURSSS5up#SnSnWHupxUS :XaS nUS :XdMS nM U(a4U(a-URUl[ S 5 URS5 W(dS /nSn UHn U S :XaURRn O [U S5n U(a [XR R5 O [XR RU5 U S :waU R5 MM U (aURU 5 gg!URaYnURUl[ U5 [ S5 [ S5 [ S5 URS5 SnAGNySnAff=f![a1nURRU <SU<S35 Sn SnAGMMSnAff=f!U S :waU R5 ff=f)Nr rtdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoderCFz-tTz-dz -t and -d are mutually exclusive-rbz: can't open (z) )sysgetoptargverrorstderrstdoutprintexitstdinbufferopenOSErrorr'rrclose) r]r^optsargsmsgdecotabsorUstsfilefps rmainrss]]388AB<6  D D 9Td 9Td ZZ  01   C 3;!!B $%  r::,,-r::,,d3s{ !$    I <<ZZ  c  23  *+  0    D#!FG s{ s=!E6 F,AG*F)AF$$F), G'6%G""G'*H__main__)F)FF)__doc____all__rr1rr/binasciir r ImportErrorrr rrrrrErFrs__name__rrr{sO ?   ' 239*v'RG $*\ zFy F FsA AA