£Á°è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~d&^                 @   s   d ddgZ ddlZddlZddlZddlZddlmZ ddlmZ	 e	j
Z
dZdZd	Zd
ZdZdZdZe
dZe
dZedejejB ZedZedZejjZdd ZdddZG dd  d ZG dd dZG dd de Z!dS )Headerdecode_headermake_header    N)HeaderParseError)charset
     z         N   z 	zus-asciizutf-8ai  
  =\?                   # literal =?
  (?P<charset>[^?]*?)   # non-greedy up to the next ? is the charset
  \?                    # literal ?
  (?P<encoding>[qQbB])  # either a "q" or a "b", case insensitive
  \?                    # literal ?
  (?P<encoded>.*?)      # non-greedy up to the next ?= is the encoded string
  \?=                   # literal ?=
  z[\041-\176]+:$z
\n[^ \t]+:c          	   C   s  t | drdd | jD S t| s.| d fgS g }x|  D ]}t|}d}xp|r|d}|rn| }d}|r||d d f |rP|d	 }|d	 }|d}||||f qPW q<W g }	xVt
|D ]J\}
}|
dkr|d r||
d  d r||
d  d  r|	|
d  qW xt|	D ]}||= q*W g }x|D ]\}}}|d krh|||f n|d	krtj|}|||f n~|d
kr t|d }|r|dd d|  7 }ytj|}W n  tjk
r   tdY nX |||f ntd| qDW g }d  }}x~|D ]v\}}t|trBt|d}|d krV|}|}nB||krx|||f |}|}n |d kr|t| 7 }n||7 }q$W |||f |S )N_chunksc             S   s(   g | ] \}}t |t|t|fqS  )_charsetZ_encodestr).0stringr   r   r   1/opt/alt/python37/lib64/python3.7/email/header.py
<listcomp>M   s   z!decode_header.<locals>.<listcomp>Tr   F      qb   z===zBase64 decoding errorzUnexpected encoding: zraw-unicode-escape)hasattrr   ecresearch
splitlinessplitpoplstripappendlower	enumerateisspacereversedemail
quoprimimeZheader_decodelenZ
base64mimedecodebinasciiErrorr   AssertionError
isinstancer   bytesBSPACE)headerZwordslinepartsfirstZ	unencodedr   encodingZencodedZdroplistnwdZdecoded_wordsZencoded_stringZwordZpaderrZ	collapsedZ	last_wordlast_charsetr   r   r   r   =   sz    






4






c             C   sJ   t |||d}x6| D ].\}}|d k	r6t|ts6t|}||| qW |S )N)
maxlinelenheader_namecontinuation_ws)r   r,   Charsetr    )Zdecoded_seqr8   r9   r:   hsr   r   r   r   r      s    c               @   sJ   e Zd ZdddZdd Zdd	 Zdd
dZdd ZdddZdd Z	dS )r   Nr   strictc             C   s|   |d krt }nt|ts t|}|| _|| _g | _|d k	rH| ||| |d krTt}|| _|d krjd| _	nt
|d | _	d S )Nr   r   )USASCIIr,   r;   r   _continuation_wsr   r    
MAXLINELEN_maxlinelen
_headerlenr'   )selfr=   r   r8   r9   r:   errorsr   r   r   __init__   s    
zHeader.__init__c       	      C   s   |    g }d }d }x| jD ]\}}|}|tjkrJ|dd}|dd}|r|o^| |d }|dkr|dkr|s|t d }n|dkr|s|t |o| |d }|}|| qW t	
|S )Nasciisurrogateescapereplacer   )Nzus-ascii)
_normalizer   r   UNKNOWN8BITencoder(   	_nonctextr    SPACEEMPTYSTRINGjoin)	rD   Zuchunkslastcs	lastspacer   r   ZnextcsZoriginal_byteshasspacer   r   r   __str__   s*    


zHeader.__str__c             C   s   |t | kS )N)r   )rD   otherr   r   r   __eq__  s    zHeader.__eq__c             C   s   |d kr| j }nt|ts"t|}t|tsZ|jp4d}|t jkrN|dd}n|||}|jpbd}|t jkry||| W n" t	k
r   |dkr t
}Y nX | j||f d S )Nzus-asciirH   )r   r,   r;   r   Zinput_codecrL   r(   Zoutput_codecrM   UnicodeEncodeErrorUTF8r   r    )rD   r=   r   rE   Zinput_charsetoutput_charsetr   r   r   r    	  s$    






zHeader.appendc             C   s   |  p|dkS )N)()\)r#   )rD   r=   r   r   r   rN   4  s    zHeader._nonctext;, 	r   c             C   s  |    |d kr| j}|dkr"d}t| j|| j|}d }d  }}x.| jD ]"\}}	|d k	r|ol| |d }|dkr|r|	dkr|  n|	dkr|s|  |o| |d }|	}d}| }
|
r|	d|
d |	 n|	dd|	 xp|
dd  D ]`}|
  |	jd k	r(|	| jd|  |	 q| }|d t|t|  }|	|||	 qW t|
dkrJ|
  qJW | jr|  ||}t|rtd	||S )
Nr   i@B )Nzus-asciirJ   Fr
   r   r   z8header value appears to contain an embedded header: {!r})rK   rB   _ValueFormatterrC   r@   r   rN   add_transitionr   feednewlineheader_encodingr   r'   _str_embedded_headerr   r   format)rD   
splitcharsr8   linesep	formatterrR   rT   rS   r   r   linesr0   Zslinefwsvaluer   r   r   rM   9  sR    !


zHeader.encodec             C   s|   g }d }g }xL| j D ]B\}}||kr0|| q|d k	rL|t||f |g}|}qW |rr|t||f || _ d S )N)r   r    rO   rQ   )rD   Zchunksr7   Z
last_chunkr   r   r   r   r   rK     s    zHeader._normalize)NNNNr   r>   )Nr>   )r^   Nr   )
__name__
__module____qualname__rF   rU   rW   r    rN   rM   rK   r   r   r   r   r      s     
- 
+
Pc               @   sT   e Zd Zdd Zdd 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   s0   || _ || _t|| _|| _g | _t|| _d S )N)_maxlenr@   r'   _continuation_ws_len_splitchars_lines_Accumulator_current_line)rD   Z	headerlenmaxlenr:   rg   r   r   r   rF     s    
z_ValueFormatter.__init__c             C   s   |    || jS )N)rb   rQ   rs   )rD   rh   r   r   r   rd     s    z_ValueFormatter._strc             C   s
   |  tS )N)rd   NL)rD   r   r   r   rU     s    z_ValueFormatter.__str__c             C   sv   | j  }|dkr| j j|  t| j dkrh| j  rV| jrV| jd  t| j 7  < n| jt| j  | j   d S )N)r   r
   r   rJ   )	ru   r   pushr'   	is_onlywsrs   r   r    reset)rD   Zend_of_liner   r   r   rb     s    
z_ValueFormatter.newlinec             C   s   | j dd d S )Nr   r
   )ru   rx   )rD   r   r   r   r`     s    z_ValueFormatter.add_transitionc             C   s   |j d kr| ||| j d S |||  }y|d}W n tk
rP   d S X |d k	rf| || y| }W n tk
r   d S X |   | j	
| j| x|D ]}| j| j|  qW d S )Nr   )rc   _ascii_splitrr   Zheader_encode_lines_maxlengthsr   
IndexError_append_chunkrb   ru   rx   r@   rs   r    )rD   rk   r   r   Zencoded_linesZ
first_line	last_liner0   r   r   r   ra     s$    

z_ValueFormatter.feedc             c   s*   | j t| j V  x| j | j V  qW d S )N)rp   r'   ru   rq   )rD   r   r   r   r|     s    z_ValueFormatter._maxlengthsc             C   sj   t dt d || }|d r0dg|d d< n
|d x*tt|gd  D ]\}}| || qNW d S )Nz([z]+)r   r
   r   )rer   FWSr   zipiterr~   )rD   rk   r   rg   r1   partr   r   r   r{     s    
z_ValueFormatter._ascii_splitc             C   s
  | j || t| j | jkrx| jD ]t}xlt| j  d ddD ]P}| rp| j | d }|rp|d |krpP | j |d  d }|rD|d |krDP qDW q(P q(W | j  \}}| j j	dkr| 
  |sd}| j || d S | j |}| jt| j  | j | d S )Nr   r   rJ   r   )ru   rx   r'   rp   rr   range
part_countr#   r   _initial_sizerb   pop_fromrs   r    r   rz   )rD   rk   r   ZchiZprevpartr   Z	remainderr   r   r   r~     s.    z_ValueFormatter._append_chunkN)rm   rn   ro   rF   rd   rU   rb   r`   ra   r|   r{   r~   r   r   r   r   r_     s   %r_   c                   sj   e Zd Zd fdd	Zdd ZdddZ fdd	Zd
d Zdd ZdddZ	dd Z
 fddZ  ZS )rt   r   c                s   || _ t   d S )N)r   superrF   )rD   Zinitial_size)	__class__r   r   rF     s    z_Accumulator.__init__c             C   s   |  ||f d S )N)r    )rD   rk   r   r   r   r   rx   #  s    z_Accumulator.pushc             C   s   | |d  }g | |d < |S )Nr   )rD   r   Zpoppedr   r   r   r   &  s    z_Accumulator.pop_fromc                s   |   dkrdS t  S )Nr   )r
   r
   )r   r   r   )rD   )r   r   r   r   +  s    z_Accumulator.popc             C   s   t dd | D | jS )Nc             s   s"   | ]\}}t |t | V  qd S )N)r'   )r   rk   r   r   r   r   	<genexpr>1  s    z'_Accumulator.__len__.<locals>.<genexpr>)sumr   )rD   r   r   r   __len__0  s    z_Accumulator.__len__c             C   s   t dd | D S )Nc             s   s    | ]\}}t ||fV  qd S )N)rP   rQ   )r   rk   r   r   r   r   r   5  s   z'_Accumulator.__str__.<locals>.<genexpr>)rP   rQ   )rD   r   r   r   rU   4  s    
z_Accumulator.__str__Nc             C   s"   |d krg }|| d d < d| _ d S )Nr   )r   )rD   Zstartvalr   r   r   rz   8  s    z_Accumulator.resetc             C   s   | j dko|  pt|  S )Nr   )r   r   r#   )rD   r   r   r   ry   >  s    z_Accumulator.is_onlywsc                s
   t   S )N)r   r   )rD   )r   r   r   r   A  s    z_Accumulator.part_count)r   )r   )N)rm   rn   ro   rF   rx   r   r   r   rU   rz   ry   r   __classcell__r   r   )r   r   rt     s   

rt   )NNr   )"__all__r   r)   Zemail.quoprimimer%   Zemail.base64mimeZemail.errorsr   r   r   r;   rw   rO   r.   ZSPACE8rP   rA   r   r?   rY   compileVERBOSE	MULTILINEr   Zfcrere   r&   Z_max_appendr   r   r   r_   listrt   r   r   r   r   <module>   s>   

_ 
 k 