<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]B              0   @   s  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 d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d e	 e	 d f d dE d e
 e
 d f d e
 e
 d f d e
 d d f d  e
 d d f d e
 d d f d! e
 e
 d f d" e e
 d" f i 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/ d d0 d d1 d d2 d d3 d d4 d d5 d d6 d d7 d8 d9 d d: d; d< d i Z d d= d d> d d i Z d d d d? d  Z d@ d   Z dA d   Z dB dC   Z GdD d    d   Z d S)FCharset	add_aliasadd_charset	add_codec    )partialN)errors)encode_7or8bit            zus-asciizunknown-8bit 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visciibig5gb2312zeuc-jpziso-2022-jp	shift_jiszkoi8-rzutf-8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cp949zks_c_5601-1987euc_jpeuc_krzeuc-krasciieucgb2312_cnbig5_twc             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   ,/opt/alt/python35/lib64/python3.5/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 |  j d d  S|  j |  Sd  S)Nr   surrogateescape)UNKNOWN8BITencode)stringcodecr   r   r   _encode   s    r'   c               @   s   e  Z d  Z e 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  y2 t  | t  r" | j d  n t | d  } Wn! t k
 rU t j |   Yn X| j   } t j | |  |  _	 t
 j |  j	 t t d  f  \ } } } | s |  j	 } | |  _ | |  _ t j | |  |  _ t j |  j	 |  j	  |  _ t j |  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  j   S)N)r-   r+   )r2   r   r   r   __str__   s    zCharset.__str__c             C   s   t  |   t  |  j   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 St Sd  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   sM   |  j  p d } t | |  } |  j |  } | d  k r= | S| j | |  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 | |  } |  j |  } t | j d | } |  j   } t |  t } g  }	 g  }
 t |  | } x | D] } |
 j	 |  t
 j |
  } | j t | |   } | | k r |
 j   |	 r |
 r |	 j	 d   nC |	 r d n d } t
 j |
  } t | |  } |	 j	 | |   | g }
 t |  | } q Wt
 j |
  } t | |  } |	 j	 | |   |	 S)Nzus-asciir    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   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 r| t j j |  } t j j |  } | | k  rr t j St j Sn d  Sd  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 rJ t | t  r: | j |  j  } t j j |  S|  j  t	 k r t | t  rz | j |  j  } | j
 d  } t j j |  St | t  r | j |  j  j
 d  } | Sd  S)Nlatin1r   )r0   r.   r(   r)   r$   r   rP   rQ   body_encoder9   decoderR   )r2   r%   r   r   r   rT   y  s    	zCharset.body_encodeN)__name__
__module____qualname__DEFAULT_CHARSETr4   r5   __repr__r7   r:   r;   r=   rO   r<   rT   r   r   r   r   r      s   ,!>)NNN)__all__	functoolsr   Zemail.base64mimerP   Zemail.quoprimimer   Zemail.encodersr   r9   r.   r   rB   rY   r#   rE   r   r   r!   r   r   r   r'   r   r   r   r   r   <module>   s   		