509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ct„jÄD  ã               @   sÚ   d dddgZ ddlZddlZdZdZ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gZd d!d"d#d$d%d&gZddddd8d9d:d;d<d=d>d?d@dAd-œZd.d„ Z	d/d0„ Z
d1d„ Zd2d „ Zd3d„ ZG d4d5„ d5ƒZG d6d7„ d7eƒZdS )BÚ	mktime_tzÚ	parsedateÚparsedate_tzÚquoteé    Nú Ú z, ZjanZfebZmarZaprZmayZjunZjulZaugÚsepÚoctZnovZdecZjanuaryZfebruaryZmarchZaprilZjuneZjulyZaugustZ	septemberZoctoberZnovemberZdecemberZmonZtueZwedZthuZfriZsatZsuni�  i,  iô  iX  i¼  i   )ZUTZUTCZGMTÚZZASTZADTZESTZEDTZCSTZCDTZMSTZMDTZPSTZPDTc             C   s,   t | ƒ}|sd S |d d kr$d|d< t|ƒS )Né	   r   )Ú_parsedate_tzÚtuple)ÚdataÚres© r   ú(/usr/lib64/python3.6/email/_parseaddr.pyr   -   s    c             C   s¾  | sd S | j ƒ } | d jdƒs.| d jƒ tkr6| d= n.| d jdƒ}|dkrd| d |d d … | d< t| ƒdkrš| d j dƒ}t|ƒdkrš|| dd …  } t| ƒdk�r | d }|jdƒ}|dkrÌ|jdƒ}|dkrö|d |… ||d … g| dd …< n
| jdƒ t| ƒd	k �rd S | d d	… } | \}}}}}|jƒ }|tk�rZ||jƒ  }}|tk�rZd S tj	|ƒd }|d
k�rz|d
8 }|d dk�r”|d d… }|jdƒ}|dk�r²|| }}|d dk�rÌ|d d… }|d j
ƒ �sä|| }}|d dk�rþ|d d… }|j dƒ}t|ƒdk�r$|\}	}
d}n~t|ƒdk�r>|\}	}
}ndt|ƒdk�ržd|d k�rž|d j dƒ}t|ƒdk�r„|\}	}
d}nt|ƒdk�r¢|\}	}
}nd S y,t|ƒ}t|ƒ}t|	ƒ}	t|
ƒ}
t|ƒ}W n tk
�rä   d S X |dk �r|dk�r|d7 }n|d7 }d }|jƒ }|tk�r,t| }n>yt|ƒ}W n tk
�rN   Y nX |dk�rj|jdƒ�rjd }|�r¦|dk �r†d}| }nd}||d d |d d   }||||	|
|ddd|g
S )Nr   ú,é   é   ú-é   ú+r   é   é   ú:é   Ú0Ú.éd   éD   il  iÐ  i  é<   éÿÿÿÿr!   r!   r!   r!   r!   r!   r!   r!   )ÚsplitÚendswithÚlowerÚ	_daynamesÚrfindÚlenÚfindÚappendÚ_monthnamesÚindexÚisdigitÚintÚ
ValueErrorÚupperÚ
_timezonesÚ
startswith)r   ÚiZstuffÚsZddZmmZyyZtmZtzZthhZtmmZtssZtzoffsetZtzsignr   r   r   r   9   s¬    


"














r   c             C   s&   t | ƒ}t|tƒr|d d… S |S d S )Nr   )r   Ú
isinstancer   )r   Útr   r   r   r   ®   s    
c             C   s<   | d d kr"t j| d d… d ƒS tj| ƒ}|| d  S d S )Nr   é   r   r!   )r!   )ÚtimeZmktimeÚcalendarZtimegm)r   r5   r   r   r   r   ·   s    
c             C   s   | j ddƒj ddƒS )Nú\z\\ú"z\")Úreplace)Ústrr   r   r   r   Á   s    c               @   sx   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d„Z
dd„ Zdd„ Zdd„ Zddd„Zdd„ ZdS )ÚAddrlistClassc             C   sZ   d| _ d| _d| _d| _| j| j | _| j | j | j | _| jjddƒ| _|| _g | _	d S )Nz()<>@,:;."[]r   z 	z
r   r   )
ÚspecialsÚposÚLWSZCRÚFWSÚatomendsr;   Ú
phraseendsÚfieldÚcommentlist)ÚselfrD   r   r   r   Ú__init__Õ   s    zAddrlistClass.__init__c             C   s�   g }x€| j t| jƒk r„| j| j  | jd kr^| j| j  dkrN|j| j| j  ƒ |  j d7  _ q| j| j  dkr€| jj| jƒ ƒ qP qW tj|ƒS )Nz
r   ú()	r?   r'   rD   r@   r)   rE   Ú
getcommentÚEMPTYSTRINGÚjoin)rF   Zwslistr   r   r   Úgotonextè   s    zAddrlistClass.gotonextc             C   s>   g }x4| j t| jƒk r8| jƒ }|r,||7 }q|jdƒ qW |S )Nr   )r   r   )r?   r'   rD   Ú
getaddressr)   )rF   ÚresultZadr   r   r   Úgetaddrlistö   s    
zAddrlistClass.getaddrlistc             C   sö  g | _ | jƒ  | j}| j }| jƒ }| jƒ  g }| jt| jƒkr\|rXtj| j ƒ|d fg}�n\| j| j dkr–|| _|| _ | jƒ }tj| j ƒ|fg}�n"| j| j dk�rg }t| jƒ}|  jd7  _xò| jt| jƒk �r| jƒ  | j|k oø| j| j dk�r|  jd7  _P || j	ƒ  }qÆW nš| j| j dk�rx| j
ƒ }| j �rftj|ƒd dj| j ƒ d	 |fg}ntj|ƒ|fg}n@|�r–tj| j ƒ|d fg}n"| j| j | jk�r¸|  jd7  _| jƒ  | jt| jƒk �rò| j| j d
k�rò|  jd7  _|S )Nr   z.@r   r   ú;ú<z (r   ú)r   )rE   rL   r?   Úgetphraselistr'   rD   ÚSPACErK   ÚgetaddrspecrM   Úgetrouteaddrr>   )rF   ZoldposZoldclÚplistZ
returnlistZaddrspecZfieldlenZ	routeaddrr   r   r   rM     sL    
&$zAddrlistClass.getaddressc             C   sä   | j | j dkrd S d}|  jd7  _| jƒ  d}x¬| jt| j ƒk rÞ|rV| jƒ  d}n~| j | j dkrx|  jd7  _P n\| j | j dkrœ|  jd7  _d}n8| j | j dkr¼|  jd7  _n| jƒ }|  jd7  _P | jƒ  q4W |S )	NrQ   Fr   r   ú>ú@Tr   )rD   r?   rL   r'   Ú	getdomainrU   )rF   ZexpectrouteZadlistr   r   r   rV   ?  s.    zAddrlistClass.getrouteaddrc             C   s\  g }| j ƒ  xà| jt| jƒk rìd}| j| j dkrj|rL|d jƒ  rL|jƒ  |jdƒ |  jd7  _d}nf| j| j dkr’|jdt| jƒ ƒ ƒ n>| j| j | j	krÂ|r¾|d	 jƒ  r¾|jƒ  P n|j| j
ƒ ƒ | j ƒ }|r|r|j|ƒ qW | jt| jƒk�s| j| j dk�rtj|ƒS |jdƒ |  jd7  _| j ƒ  | jƒ }|�sNtS tj|ƒ| S )
NTr   r   Fr:   z"%s"rY   r!   r!   )rL   r?   r'   rD   ÚstripÚpopr)   r   ÚgetquoterB   ÚgetatomrJ   rK   rZ   )rF   ZaslistZpreserve_wsZwsZdomainr   r   r   rU   _  s:    
$

zAddrlistClass.getaddrspecc             C   sê   g }xÚ| j t| jƒk rÞ| j| j  | jkr8|  j d7  _ q| j| j  dkrZ| jj| jƒ ƒ q| j| j  dkrz|j| jƒ ƒ q| j| j  dkr¤|  j d7  _ |jdƒ q| j| j  dkr¸tS | j| j  | j	krÎP q|j| j
ƒ ƒ qW tj|ƒS )Nr   rH   ú[r   rY   )r?   r'   rD   r@   rE   r)   rI   ÚgetdomainliteralrJ   rB   r^   rK   )rF   Zsdlistr   r   r   rZ   …  s"    zAddrlistClass.getdomainTc             C   sæ   | j | j |krdS dg}d}|  jd7  _x®| jt| j ƒk rÚ|rZ|j| j | j ƒ d}np| j | j |kr||  jd7  _P nN|r¢| j | j dkr¢|j| jƒ ƒ q.n(| j | j dkr¸d}n|j| j | j ƒ |  jd7  _q.W tj|ƒS )Nr   Fr   rH   r9   T)rD   r?   r'   r)   rI   rJ   rK   )rF   Z	begincharZendcharsZallowcommentsZslistr   r   r   r   Úgetdelimitedœ  s(    zAddrlistClass.getdelimitedc             C   s   | j dddƒS )Nr:   z"F)ra   )rF   r   r   r   r]   Á  s    zAddrlistClass.getquotec             C   s   | j dddƒS )NrH   z)T)ra   )rF   r   r   r   rI   Å  s    zAddrlistClass.getcommentc             C   s   d| j dddƒ S )Nz[%s]r_   z]F)ra   )rF   r   r   r   r`   É  s    zAddrlistClass.getdomainliteralNc             C   sh   dg}|d kr| j }xH| jt| jƒk r\| j| j |kr:P n|j| j| j ƒ |  jd7  _qW tj|ƒS )Nr   r   )rB   r?   r'   rD   r)   rJ   rK   )rF   rB   Zatomlistr   r   r   r^   Í  s    zAddrlistClass.getatomc             C   sª   g }x | j t| jƒk r¤| j| j  | jkr8|  j d7  _ q| j| j  dkrX|j| jƒ ƒ q| j| j  dkrz| jj| jƒ ƒ q| j| j  | jkr�P q|j| j	| jƒƒ qW |S )Nr   r:   rH   )
r?   r'   rD   rA   r)   r]   rE   rI   rC   r^   )rF   rW   r   r   r   rS   á  s    zAddrlistClass.getphraselist)T)N)Ú__name__Ú
__module__Ú__qualname__rG   rL   rO   rM   rV   rU   rZ   ra   r]   rI   r`   r^   rS   r   r   r   r   r=   Ë   s   
; &
%
r=   c               @   sD   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S )ÚAddressListc             C   s&   t j| |ƒ |r| jƒ | _ng | _d S )N)r=   rG   rO   Úaddresslist)rF   rD   r   r   r   rG   ú  s    zAddressList.__init__c             C   s
   t | jƒS )N)r'   rf   )rF   r   r   r   Ú__len__  s    zAddressList.__len__c             C   sB   t d ƒ}| jd d … |_x$|jD ]}|| jkr |jj|ƒ q W |S )N)re   rf   r)   )rF   ÚotherÚnewaddrÚxr   r   r   Ú__add__  s    
zAddressList.__add__c             C   s*   x$|j D ]}|| j kr| j j|ƒ qW | S )N)rf   r)   )rF   rh   rj   r   r   r   Ú__iadd__  s    
zAddressList.__iadd__c             C   s2   t d ƒ}x$| jD ]}||jkr|jj|ƒ qW |S )N)re   rf   r)   )rF   rh   ri   rj   r   r   r   Ú__sub__  s
    
zAddressList.__sub__c             C   s*   x$|j D ]}|| j kr| j j|ƒ qW | S )N)rf   Úremove)rF   rh   rj   r   r   r   Ú__isub__  s    
zAddressList.__isub__c             C   s
   | j | S )N)rf   )rF   r+   r   r   r   Ú__getitem__#  s    zAddressList.__getitem__N)
rb   rc   rd   rG   rg   rk   rl   rm   ro   rp   r   r   r   r   re   ø  s   	re   ipþÿÿiÔþÿÿiþÿÿipþÿÿi¨ýÿÿiþÿÿiDýÿÿi¨ýÿÿiàüÿÿiDýÿÿ)Ú__all__r7   r8   rT   rJ   Z
COMMASPACEr*   r%   r0   r   r   r   r   r   r=   re   r   r   r   r   Ú<module>
   s6   

u	

  /