ó
    F\h#  ã                   ó  • S r SSKrSSKrSSKJr  SS jrSS jr " S S\R                  5      r " S S	\R                  5      r " S
 S\R                  5      r	 " S S\\R                  5      r
 " S S\\R                  5      rS rg)a  Python 'uu_codec' Codec - UU content transfer encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were
adapted from uu.py which was written by Lance Ellinghouse and
modified by Jack Jansen and Fredrik Lundh.
é    N)ÚBytesIOc                 ó°  • US:X  d   e[        U 5      n[        5       nUR                  nUR                  nUR                  SS5      nUR                  SS5      nU" SUS-  U4-  R	                  S5      5        U" S	5      nU(       a-  U" [
        R                  " U5      5        U" S	5      nU(       a  M-  U" S
5        UR                  5       [        U 5      4$ )NÚstrictÚ
z\nÚz\rzbegin %o %s
iÿ  Úasciié-   s    
end
)	r   ÚreadÚwriteÚreplaceÚencodeÚbinasciiÚb2a_uuÚgetvalueÚlen)	ÚinputÚerrorsÚfilenameÚmodeÚinfileÚoutfiler
   r   Úchunks	            Ú)/usr/lib/python3.13/encodings/uu_codec.pyÚ	uu_encoder      sÊ   € Ø�XÓÐÐÜ�U‹^€FÜ‹i€GØ�;‰;€DØ�M‰M€Eð ×Ñ  UÓ+€HØ×Ñ  UÓ+€Hñ 
ˆ?˜d U™l¨HÐ5Ñ5×
=Ñ
=¸gÓ
FÔGÙ�‹H€EÞ
ÙŒh�oŠo˜eÓ$Ô%Ù�R“ˆ÷ ˆ%ñ 
ˆ+Ôà×ÑÓ¤ E£
Ð+Ð+ó    c                 ó  • US:X  d   e[        U 5      n[        5       nUR                  nUR                  n U" 5       nU(       d  [        S5      eUS S S:X  a  OM%   U" 5       nU(       a  US:X  a  O! [        R
                  " U5      nU" U5        M6  U(       d  [        S5      eUR                  5       [        U 5      4$ ! [        R                   a7  nUS   S-
  S-  S	-  S-   S
-  n	[        R
                  " US U	 5      n S nAN}S nAff = f)Nr   z"Missing "begin" line in input dataé   s   begins   end
r   é    é?   é   é   zTruncated input data)	r   Úreadliner   Ú
ValueErrorr   Úa2b_uuÚErrorr   r   )
r   r   r   r   r"   r   ÚsÚdataÚvÚnbytess
             r   Ú	uu_decoder*   %   s  € Ø�XÓÐÐÜ�U‹^€FÜ‹i€GØ�‰€HØ�M‰M€Eð Ù‹JˆÞÜÐAÓBÐBØˆRˆaˆ5�HÓØñ ð Ù‹JˆÞ�A˜“MØð	/Ü—?’? 1Ó%ˆDñ 	ˆdŒñ ö ÜÐ/Ó0Ð0à×ÑÓ¤ E£
Ð+Ð+øô �~‰~ó 	/à˜!™˜R™ 2‘~¨Ñ*¨QÑ.°1Ñ4ˆFÜ—?’? 1 W f :Ó.�Dûð	/ús   Á3C  Ã DÃ-DÄDc                   ó(   • \ rS rSrSS jrSS jrSrg)ÚCodecéF   c                 ó   • [        X5      $ ©N)r   ©Úselfr   r   s      r   r   ÚCodec.encodeG   ó   € Ü˜Ó'Ð'r   c                 ó   • [        X5      $ r/   )r*   r0   s      r   ÚdecodeÚCodec.decodeJ   r3   r   © N©r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r5   Ú__static_attributes__r7   r   r   r,   r,   F   s   † ô(÷(r   r,   c                   ó   • \ rS rSrSS jrSrg)ÚIncrementalEncoderéM   c                 ó2   • [        XR                  5      S   $ ©Nr   )r   r   ©r1   r   Úfinals      r   r   ÚIncrementalEncoder.encodeN   ó   € Ü˜§¡Ó,¨QÑ/Ð/r   r7   N©F)r9   r:   r;   r<   r   r=   r7   r   r   r?   r?   M   ó   † ÷0r   r?   c                   ó   • \ rS rSrSS jrSrg)ÚIncrementalDecoderéQ   c                 ó2   • [        XR                  5      S   $ rB   )r*   r   rC   s      r   r5   ÚIncrementalDecoder.decodeR   rF   r   r7   NrG   )r9   r:   r;   r<   r5   r=   r7   r   r   rJ   rJ   Q   rH   r   rJ   c                   ó   • \ rS rSr\rSrg)ÚStreamWriteréU   r7   N©r9   r:   r;   r<   ÚbytesÚcharbuffertyper=   r7   r   r   rO   rO   U   ó   † ØƒNr   rO   c                   ó   • \ rS rSr\rSrg)ÚStreamReaderéX   r7   NrQ   r7   r   r   rV   rV   X   rT   r   rV   c                  óh   • [         R                  " S[        [        [        [
        [        [        SS9$ )NÚuuF)Únamer   r5   ÚincrementalencoderÚincrementaldecoderÚstreamreaderÚstreamwriterÚ_is_text_encoding)ÚcodecsÚ	CodecInfor   r*   r?   rJ   rV   rO   r7   r   r   Úgetregentryrb   ]   s-   € Ü×ÒØÜÜÜ-Ü-Ü!Ü!Øñ	ð 	r   )r   z<data>i¶  r8   )Ú__doc__r`   r   Úior   r   r*   r,   r?   rJ   rO   rV   rb   r7   r   r   Ú<module>re      s�   ðñó Û Ý ô,ô*,ôB(ˆF�L‰Lô (ô0˜×2Ñ2ô 0ô0˜×2Ñ2ô 0ô�5˜&×-Ñ-ô ô�5˜&×-Ñ-ô ó

r   