
    0hhy                         S SK r S SKrS SKrS SKrS SKrS SKJr  SrSrS r	 " S S\ R                  5      r\S:X  a  \ R                  " 5         gg)	    N)supports_  Here's a bunch of special=20

=A1=A2=A3=A4=A5=A6=A7=A8=A9
=AA=AB=AC=AD=AE=AF=B0=B1=B2=B3
=B4=B5=B6=B7=B8=B9=BA=BB=BC=BD=BE
=BF=C0=C1=C2=C3=C4=C5=C6
=C7=C8=C9=CA=CB=CC=CD=CE=CF
=D0=D1=D2=D3=D4=D5=D6=D7
=D8=D9=DA=DB=DC=DD=DE=DF
=E0=E1=E2=E3=E4=E5=E6=E7
=E8=E9=EA=EB=EC=ED=EE=EF
=F0=F1=F2=F3=F4=F5=F6=F7
=F8=F9=FA=FB=FC=FD=FE=FF

characters... have fun!
s   Here's a bunch of special 













characters... have fun!
c                 6   ^  U 4S jnT R                   Ul         U$ )Nc                 <  > T" U 5        [         R                  c  [         R                  bV  [         R                  n[         R                  n S [         l        S [         l        T" U 5        U[         l        U[         l        g g ! U[         l        U[         l        f = fN)quoprib2a_qpa2b_qp)self	oldencode	olddecodetestfuncs      9/opt/python-3.13.8/usr/lib/python3.13/test/test_quopri.pynewtest)withpythonimplementation.<locals>.newtest0   so    ==$(AII* $ $ ) ) )B !* )s   B B)__name__)r   r   s   ` r   withpythonimplementationr   /   s    *  ((GN    c                   (   \ rS rSrSSSSSSSS	S
SS\\44rSrSr\	S 5       r
\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\	S 5       r\R(                  " 5       S 5       r\R(                  " 5       S 5       rSrg)QuopriTestCaseA   )   hellor   )!   hello
        there
        worldr   )"   hello
        there
        world
r   )s   s	   =81=82=83)s   hello s   hello=20)s   hello	s   hello=09)sl   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs~   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=D8=D9=DA=DB=DC=DD=DE=DFx=
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)L   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr   )sM   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzsO   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=
zz)s   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs   zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz=
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz)s   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz))   hello worlds   hello=20world)s   hello	worlds   hello=09world))r      hello_world)r   s   hello=5Fworldc                 z    U R                    H+  u  pU R                  [        R                  " U5      U5        M-     g r   )STRINGSassertEqualr   encodestringr
   pes      r   test_encodestring QuopriTestCase.test_encodestring   -    LLDAV003Q7 !r   c                 z    U R                    H+  u  pU R                  [        R                  " U5      U5        M-     g r   )r   r   r   decodestringr!   s      r   test_decodestring QuopriTestCase.test_decodestring   r&   r   c                 X    Su  pU R                  [        R                  " U5      U5        g )N)s   123=fours	   123==four)r   r   r(   )r
   decoded_valueencoded_values      r   test_decodestring_double_equals.QuopriTestCase.test_decodestring_double_equals   s(     (C$,,];]Kr   c                     U R                    H?  u  pU R                  [        R                  " [        R                  " U5      5      U5        MA     g r   )r   r   r   r(   r    r!   s      r   test_idempotent_string%QuopriTestCase.test_idempotent_string   s8    LLDAV001D1DQ1GH!L !r   c                     U R                    He  u  p[        R                  " U5      n[        R                  " 5       n[        R                  " X4SS9  U R                  UR                  5       U5        Mg     g )NF	quotetabs)r   ioBytesIOr   encoder   getvaluer
   r"   r#   infpoutfps        r   test_encodeQuopriTestCase.test_encode   sO    LLDA::a=DJJLEMM$7U^^-q1	 !r   c                     U R                    Hf  u  p[        R                  " U5      n[        R                  " 5       n[        R                  " X45        U R                  UR                  5       U5        Mh     g r   )r   r6   r7   r   decoder   r9   r:   s        r   test_decodeQuopriTestCase.test_decode   sM    LLDA::a=DJJLEMM$&U^^-q1	 !r   c                     U R                    HP  u  pU R                  [        R                  " USS9U5        U R                  [        R                  " U5      U5        MR     g )NTr4   )ESTRINGSr   r   r    r(   r!   s      r   test_embedded_wsQuopriTestCase.test_embedded_ws   sJ    MMDAV00dCQGV003Q7 "r   c                 x    U R                    H*  u  pU R                  [        R                  " USS9U5        M,     g NT)header)HSTRINGSr   r   r    r!   s      r   test_encode_header!QuopriTestCase.test_encode_header   /    MMDAV004@!D "r   c                 x    U R                    H*  u  pU R                  [        R                  " USS9U5        M,     g rH   )rJ   r   r   r(   r!   s      r   test_decode_header!QuopriTestCase.test_decode_header   rM   r   c                    U R                   S   u  p[        R                  " [        R                  S/[        R
                  [        R
                  S9nU R                  UR                  R                  5        UR                  U5      u  pEUR                  S5      R                  5       nUR                  S5      R                  5       n[        [        U5      5       H  nU R                  XF   X&   5        M     U R                  XB5        g )N-mquopristdinstdoutlatin-1)r   
subprocessPopensys
executablePIPE
addCleanuprV   closecommunicater@   
splitlinesrangelenr   )r
   r"   r#   processcoutcerris          r   test_scriptencode QuopriTestCase.test_scriptencode   s    b!""CNNJ#?)3R,,-((+
 {{9%002HHY**,s4y!ATWad+ "!r   c                    U R                   S   u  p[        R                  " [        R                  SS/[        R
                  [        R
                  S9nU R                  UR                  R                  5        UR                  U5      u  pEUR                  S5      nUR                  S5      nU R                  UR                  5       UR                  5       5        g )NrR   rS   z-drT   rW   )r   rX   rY   rZ   r[   r\   r]   rV   r^   r_   r@   r   r`   )r
   r"   r#   rc   rd   re   s         r   test_scriptdecode QuopriTestCase.test_scriptdecode   s    b!""CNNJ#E)3R,,-((+
{{9%HHY*ALLN;r    N)r   
__module____qualname____firstlineno__	DECSAMPLE	ENCSAMPLEr   rD   rJ   r   r$   r)   r.   r1   r=   rA   rE   rK   rO   r   requires_subprocessrg   rj   __static_attributes__rl   r   r   r   r   A   sO   
 		
	 	( !	6	Y
	
	Q	Q 
I_0
Gf
H
H
 8 8 8 8 L L M M 2 2 2 2 8 8
 E E E E   "" #"    "< #<r   r   __main__)unittestrZ   r6   rX   r   testr   rq   rp   r   TestCaser   r   mainrl   r   r   <module>ry      sT        	&	&$Q<X&& Q<f zMMO r   