£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~dB                 @   sr  d dddgZ ddlmZ ddlZddlZddlmZ ddlmZ d	Z	d
Z
dZdZdZdZdZe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfe	e	dfde
e
dfe
e
dfe
ddfe
ddfe
ddfe
e
dfee
dfdZddddddddddddddddddddddd dd!Zd"d#dd$Zd+d%dZd&d Zd'd Zd(d) ZG d*d  d ZdS ),Charset	add_aliasadd_charset	add_codec    )partialN)errors)encode_7or8bit            zus-asciizunknown-8bit )NNNziso-2022-jpzutf-8)z
iso-8859-1z
iso-8859-2z
iso-8859-3z
iso-8859-4z
iso-8859-9ziso-8859-10ziso-8859-13ziso-8859-14ziso-8859-15ziso-8859-16zwindows-1252Zvisciizus-asciibig5gb2312zeuc-jp	shift_jisziso-2022-jpzkoi8-rzutf-8z
iso-8859-1z
iso-8859-2z
iso-8859-3z
iso-8859-4z
iso-8859-9ziso-8859-10ziso-8859-13ziso-8859-14ziso-8859-15ziso-8859-16zks_c_5601-1987zeuc-jpzeuc-kr)latin_1zlatin-1Zlatin_2zlatin-2Zlatin_3zlatin-3Zlatin_4zlatin-4Zlatin_5zlatin-5Zlatin_6zlatin-6Zlatin_7zlatin-7Zlatin_8zlatin-8Zlatin_9zlatin-9Zlatin_10zlatin-10cp949euc_jpeuc_krasciieucgb2312_cnbig5_tw)r   r   zus-asciic             C   s"   |t krtd|||ft| < d S )Nz!SHORTEST not allowed for body_enc)SHORTEST
ValueErrorCHARSETS)charsetZ
header_encZbody_encoutput_charset r   2/opt/alt/python37/lib64/python3.7/email/charset.pyr   m   s    c             C   s   |t | < d S )N)ALIASES)aliasZ	canonicalr   r   r   r      s    c             C   s   |t | < d S )N)	CODEC_MAP)r   Z	codecnamer   r   r   r      s    c             C   s"   |t kr| ddS | |S d S )Nr   surrogateescape)UNKNOWN8BITencode)stringcodecr   r   r   _encode   s    r'   c               @   s\   e Zd ZefddZdd ZeZdd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd ZdS )r   c             C   s   y$t |tr|d n
t|d}W n tk
rB   t|Y nX | }t||| _	t
| j	ttd f\}}}|s~| j	}|| _|| _t||| _t| j	| j	| _t| j| j| _d S )Nr   )
isinstancestrr$   UnicodeErrorr   ZCharsetErrorlowerr   getinput_charsetr   r   BASE64header_encodingbody_encodingr   r!   Zinput_codecoutput_codec)selfr-   ZhencZbencconvr   r   r   __init__   s&    

zCharset.__init__c             C   s
   | j  S )N)r-   r+   )r2   r   r   r   __str__   s    zCharset.__str__c             C   s   t | t | kS )N)r)   r+   )r2   otherr   r   r   __eq__   s    zCharset.__eq__c             C   s$   | j tkrdS | j tkrdS tS d S )Nzquoted-printablebase64)r0   QPr.   r   )r2   r   r   r   get_body_encoding   s
    

zCharset.get_body_encodingc             C   s   | j p
| jS )N)r   r-   )r2   r   r   r   get_output_charset  s    zCharset.get_output_charsetc             C   s6   | j pd}t||}| |}|d kr*|S |||S )Nzus-ascii)r1   r'   _get_encoderheader_encode)r2   r%   r&   header_bytesencoder_moduler   r   r   r=     s    


zCharset.header_encodec             C   s  | j pd}t||}| |}t|j|d}|  }t|t }g }	g }
t|| }x|D ]}|
	| t
|
}|t||}||krZ|
  |	s|
s|		d  n.|	rdnd}t
|
}t||}|		|| |g}
t|| }qZW t
|
}t||}|		|| |	S )Nzus-ascii)r    r   )r1   r'   r<   r   r=   r;   lenRFC2047_CHROME_LENnextappendEMPTYSTRINGjoinheader_lengthpop)r2   r%   Z
maxlengthsr&   r>   r?   encoderr   ZextralinesZcurrent_linemaxlen	characterZ	this_linelengthZ	separatorZjoined_liner   r   r   header_encode_lines,  s6    









zCharset.header_encode_linesc             C   s`   | j tkrtjS | j tkr tjS | j tkrXtj|}tj|}||k rPtjS tjS nd S d S )N)r/   r.   email
base64mimer9   
quoprimimer   rG   )r2   r>   Zlen64Zlenqpr   r   r   r<   j  s    


zCharset._get_encoderc             C   s   |s|S | j tkr4t|tr(|| j}tj|S | j t	krjt|trT|| j}|
d}tj|S t|tr|| j
d}|S d S )Nlatin1r   )r0   r.   r(   r)   r$   r   rO   rP   body_encoder9   decoderQ   )r2   r%   r   r   r   rS   y  s    	





zCharset.body_encodeN)__name__
__module____qualname__DEFAULT_CHARSETr4   r5   __repr__r7   r:   r;   r=   rN   r<   rS   r   r   r   r   r      s   ,!>)NNN)__all__	functoolsr   Zemail.base64mimerO   Zemail.quoprimimer   Zemail.encodersr   r9   r.   r   rB   rX   r#   rE   r   r   r!   r   r   r   r'   r   r   r   r   r   <module>   s   
	