§
    (¶Õin  ã                   ó²   — d Z ddlZddlZddlZddlZ ej        ed¬¦  «         g d¢Z G d„ de¦  «        Z	ddd	œd
„Z
dd„Zd„ Zedk    r e¦   «          dS dS )z�Implementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode], *, backtick=False)
decode(in_file [, out_file, mode, quiet])
é    N)é   é   )Úremove)ÚErrorÚencodeÚdecodec                   ó   — e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© ó    ú/usr/lib/python3.11/uu.pyr   r   *   s   € € € € € Ø€Dr   r   F©Úbacktickc                ór  — g }	 | dk    rt           j        j        } nˆt          | t          ¦  «        rs|€t
          j                             | ¦  «        }|€+	 t          j        | ¦  «        j	        }n# t          $ r Y nw xY wt          | d¦  «        } |                     | ¦  «         |dk    rt           j        j        }n:t          |t          ¦  «        r%t          |d¦  «        }|                     |¦  «         |€d}|€d}|                     dd¦  «        }|                     dd	¦  «        }|                     d
|dz  |fz                       d¦  «        ¦  «         |                      d¦  «        }t%          |¦  «        dk    rQ|                     t'          j        ||¬¦  «        ¦  «         |                      d¦  «        }t%          |¦  «        dk    °Q|r|                     d¦  «         n|                     d¦  «         |D ]}|                     ¦   «          ŒdS # |D ]}|                     ¦   «          Œw xY w)zUuencode fileú-NÚrbÚwbi¶  ú
z\núz\rzbegin %o %s
iÿ  Úasciié-   r   r   s   `
end
s    
end
)ÚsysÚstdinÚbufferÚ
isinstanceÚstrÚosÚpathÚbasenameÚstatÚst_modeÚAttributeErrorÚopenÚappendÚstdoutÚreplaceÚwriter   ÚreadÚlenÚbinasciiÚb2a_uuÚclose)Úin_fileÚout_fileÚnameÚmoder   Úopened_filesÚdataÚfs           r   r   r   -   sL  € ð
 €Lð1Ø�cŠ>ˆ>Ý”iÔ&ˆGˆGÝ˜¥Ñ%Ô%ð 		)Øˆ|Ý”w×'Ò'¨Ñ0Ô0�Øˆ|ðÝœ7 7Ñ+Ô+Ô3�D�DøÝ%ð ð ð Ø�Dðøøøå˜7 DÑ)Ô)ˆGØ×Ò Ñ(Ô(Ð(ð �sŠ?ˆ?Ý”zÔ(ˆHˆHÝ˜¥#Ñ&Ô&ð 	*Ý˜H dÑ+Ô+ˆHØ×Ò Ñ)Ô)Ð)ð ˆ<ØˆDØˆ<ØˆDð
 �|Š|˜D Ñ'Ô'ˆØ�|Š|˜D Ñ'Ô'ˆð
 	�Š˜¨D°5©L¸4Ð*@Ñ@×HÒHÈÑQÔQÑRÔRÐRØ�|Š|˜BÑÔˆÝ�$‰iŒi˜!ŠmˆmØ�NŠN�8œ?¨4¸(ÐCÑCÔCÑDÔDÐDØ—<’< Ñ#Ô#ˆDõ �$‰iŒi˜!Šmˆmð ð 	(Ø�NŠN˜;Ñ'Ô'Ð'Ð'à�NŠN˜;Ñ'Ô'Ð'àð 	ð 	ˆAØ�GŠG‰IŒIˆIˆIð	ð 	ø�ð 	ð 	ˆAØ�GŠG‰IŒIˆIˆIð	øøøs1   „AH ÁA/ Á.H Á/
A<Á9H Á;A<Á<FH ÈH6c                 ó2  — g }| dk    rt           j        j        } n:t          | t          ¦  «        r%t          | d¦  «        } |                     | ¦  «         	 	 |                      ¦   «         }|st          d¦  «        ‚| 	                    d¦  «        sŒ<| 
                    dd¦  «        }t          |¦  «        dk    r4|d	         dk    r(	 t          |d
         d¦  «         n# t          $ r Y nw xY wŒ™|€_|d                              d¦  «                             d¦  «        }t           j                             |¦  «        rt          d|z  ¦  «        ‚|€t          |d
         d¦  «        }|dk    rt           j        j        }nQt          |t          ¦  «        r<t          |d¦  «        }t!          j        ||¦  «         |}|                     |¦  «         |                      ¦   «         }|ræ|                     d¦  «        dk    rÍ	 t-          j        |¦  «        }	ns# t,          j        $ ra}
|d	         dz
  dz  dz  dz   dz  }t-          j        |d|…         ¦  «        }	|s"t           j                             d|
z  ¦  «         Y d}
~
nd}
~
ww xY w|                     |	¦  «         |                      ¦   «         }|r|                     d¦  «        dk    °Í|st          d¦  «        ‚	 |D ]}|                     ¦   «          ŒdS # |D ]}|                     ¦   «          Œw xY w)zDecode uuencoded filer   r   Tz'No valid begin line found in input files   beginó    é   r   r   é   é   Ns    	
r   z"Cannot overwrite existing file: %sr   s   endé    é?   é   é   zWarning: %s
zTruncated input file)r   r   r   r   r   r%   r&   Úreadliner   Ú
startswithÚsplitr+   ÚintÚ
ValueErrorÚrstripr   r   r    Úexistsr'   ÚchmodÚstripr,   Úa2b_uuÚstderrr)   r.   )r/   r0   r2   Úquietr3   ÚhdrÚ	hdrfieldsÚfpÚsr4   ÚvÚnbytesr5   s                r   r   r   g   s]  € ð
 €LØ�#‚~€~Ý”)Ô"ˆˆÝ	�G�SÑ	!Ô	!ð %Ý�w Ñ%Ô%ˆØ×Ò˜GÑ$Ô$Ð$ð5ð	Ø×"Ò"Ñ$Ô$ˆCØð GÝÐEÑFÔFÐFØ—>’> (Ñ+Ô+ð ØØŸ	š	 $¨Ñ*Ô*ˆIÝ�9‰~Œ~ Ò"Ð" y°¤|°xÒ'?Ð'?ðÝ˜	 !œ aÑ(Ô(Ð(ØøÝ!ð ð ð Ø�Dðøøøð	ð Ðà  ”|×*Ò*¨<Ñ8Ô8×?Ò?ÀÑHÔHˆHÝŒw�~Š~˜hÑ'Ô'ð MÝÐ@À8ÑKÑLÔLÐLØˆ<Ý�y ”| QÑ'Ô'ˆDð �sŠ?ˆ?Ý”zÔ(ˆHˆHÝ˜¥#Ñ&Ô&ð 	*Ý�h Ñ%Ô%ˆBÝŒH�X˜tÑ$Ô$Ð$ØˆHØ×Ò Ñ)Ô)Ð)ð ×ÒÑÔˆØð 
	#�A—G’G˜LÑ)Ô)¨VÒ3Ð3ð:Ý” qÑ)Ô)��øÝ”>ð :ð :ð :à˜aœD ™G r™>¨QÑ.°Ñ2°qÑ8�Ý” q¨¨&¨¤zÑ2Ô2�Øð :Ý”J×$Ò$ _°qÑ%8Ñ9Ô9Ð9øøøøøøøøøð:øøøð �NŠN˜4Ñ Ô Ð Ø× Ò Ñ"Ô"ˆAð ð 
	#�A—G’G˜LÑ)Ô)¨VÒ3Ð3ð ð 	0ÝÐ.Ñ/Ô/Ð/ð	0ð ð 	ð 	ˆAØ�GŠG‰IŒIˆIˆIð	ð 	ø�ð 	ð 	ˆAØ�GŠG‰IŒIˆIˆIð	øøøs^   ÁA1K; ÃC ÃK; Ã
C,Ã)K; Ã+C,Ã,DK; ÈH ÈK; ÈJÈ&AJÉ=K; ÊJÊAK; Ë;Lc                  óÒ  — ddl } |                      d¬¦  «        }|                     ddddd	d
¬¦  «         |                     ddddd	d
¬¦  «         |                     ¦   «         \  }}t	          |¦  «        dk    r)|                     d¦  «         t          j        d¦  «         t          j        j	        }t          j
        j	        }t	          |¦  «        dk    r|d         }t	          |¦  «        dk    r|d         }|j        rs|j        rZt          |t          ¦  «        rt          |d¦  «        }n4t!          t          j        d         d¦  «         t          j        d¦  «         t          ||¦  «         dS |j        rZt          |t          ¦  «        rt          |d¦  «        }n4t!          t          j        d         d¦  «         t          j        d¦  «         t%          ||¦  «         dS )zuuencode/uudecode main programr   Nz'usage: %prog [-d] [-t] [input [output]])Úusagez-dz--decoder   zDecode (instead of encode)?FÚ
store_true)ÚdestÚhelpÚdefaultÚactionz-tz--textÚtextz2data is text, encoded format unix-compatible text?r8   zincorrect number of argumentsr9   r   z: cannot do -t to stdoutr   z: cannot do -t from stdin)ÚoptparseÚOptionParserÚ
add_optionÚ
parse_argsr+   Úerrorr   Úexitr   r   r'   r   rX   r   r   r%   ÚprintÚargvr   )rY   ÚparserÚoptionsÚargsÚinputÚoutputs         r   Útestrf   ª   sÛ  € ð €O€O€OØ×"Ò"Ð)RÐ"ÑSÔS€FØ
×Ò�d˜J¨XÐ<YÐchÐq}ÐÑ~Ô~Ð~Ø
×Ò�d˜H¨6Ð8lÐv{ð  EQÐñ  Rô  Rð  Rà×'Ò'Ñ)Ô)�O€WˆdÝ
ˆ4�y„y�1‚}€}Ø�ŠÐ4Ñ5Ô5Ð5ÝŒ�‰Œˆõ ŒIÔ€EÝŒZÔ€FÝ
ˆ4�y„y�1‚}€}Ø�Q”ˆÝ
ˆ4�y„y�1‚}€}Ø�a”ˆà„~ð ØŒ<ð 	Ý˜&¥#Ñ&Ô&ð Ý˜f dÑ+Ô+��å•c”h˜q”kÐ#=Ñ>Ô>Ð>Ý”˜‘”�Ýˆu�fÑÔÐÐÐàŒ<ð 	Ý˜%¥Ñ%Ô%ð Ý˜U DÑ)Ô)��å•c”h˜q”kÐ#>Ñ?Ô?Ð?Ý”˜‘”�Ýˆu�fÑÔÐÐÐr   Ú__main__)NN)NNF)Ú__doc__r,   r   r   ÚwarningsÚ_deprecatedr
   Ú__all__Ú	Exceptionr   r   r   rf   r   r   r   ú<module>rm      sð   ðð6ð ð €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€à €Ô �X gÐ .Ñ .Ô .Ð .à
'Ð
'Ð
'€ð	ð 	ð 	ð 	ð 	ˆIñ 	ô 	ð 	ð7Àð 7ð 7ð 7ð 7ð 7ðtAð Að Að AðF$ð $ð $ðL ˆzÒÐØ€D�F„F€F€F€Fð Ðr   