a 8êdgÄDã@s gd¢ZddlZddlZdZdZdZgd¢Zgd¢Zdddddd d dd d d d d d dœZdd„Z dd„Z dd„Z dd„Z dd„Z Gdd„dƒZGdd„deƒZdS))Ú mktime_tzÚ parsedateÚ parsedate_tzÚquoteéNú Úz, )ZjanZfebZmarZaprÚmayZjunZjulZaugÚsepÚoctZnovZdecZjanuaryZfebruaryZmarchZaprilrZjuneZjulyZaugustZ septemberZoctoberZnovemberZdecember)ZmonZtueZwedZthuZfriZsatZsunipþÿÿiÔþÿÿi þÿÿi¨ýÿÿiDýÿÿiàüÿÿ)ZUTZUTCZGMTÚZZASTZADTZESTZEDTZCSTZCDTZMSTZMDTZPSTZPDTcCs,t|ƒ}|sdS|ddur$d|d<t|ƒS)Né r)Ú _parsedate_tzÚtuple)ÚdataÚres©rú,/usr/local/lib/python3.9/email/_parseaddr.pyr-s  rc Csº|sdS| ¡}|d d¡s.|d ¡tvr6|d=n.|d d¡}|dkrd|d|dd…|d<t|ƒdkrš|d d¡}t|ƒdkrš||dd…}t|ƒdkrþ|d}| d¡}|dkrÊ| d¡}|dkrô|d|…||d…g|dd…<n | d ¡t|ƒd krdS|dd …}|\}}}}}| ¡}|tvrX|| ¡}}|tvrXdSt  |¡d}|d krx|d 8}|ddkr’|dd…}| d ¡}|dkr°||}}|ddkrÊ|dd…}|d  ¡sâ||}}|ddkrü|dd…}| d ¡}t|ƒd kr"|\} } d} n~t|ƒdkr<|\} } } ndt|ƒdkrœd|dvrœ|d d¡}t|ƒd kr‚|\} } d} nt|ƒdkr |\} } } ndSz,t |ƒ}t |ƒ}t | ƒ} t | ƒ} t | ƒ} Wnt yâYdS0|dkr |dkr|d7}n|d7}d} |  ¡}|tvr*t|} n@,:;."[]rz z rr) ÚspecialsÚposÚLWSZCRÚFWSÚatomendsr@Ú phraseendsÚfieldÚ commentlist©ÚselfrIrrrÚ__init__ÕszAddrlistClass.__init__cCsŒg}|jt|jƒkr‚|j|j|jdvr\|j|jdvrL| |j|j¡|jd7_q|j|jdkr‚|j | ¡¡qq‚qt |¡S)Nz rú() rDr(rIrEr*rJÚ getcommentÚ EMPTYSTRINGÚjoin)rLZwslistrrrÚgotonextèszAddrlistClass.gotonextcCs:g}|jt|jƒkr6| ¡}|r*||7}q| d¡q|S)N)rr)rDr(rIÚ getaddressr*)rLÚresultZadrrrÚ getaddrlistös  zAddrlistClass.getaddrlistcCsög|_| ¡|j}|j}| ¡}| ¡g}|jt|jƒkr\|rXt |j¡|dfg}n\|j|jdvr–||_||_| ¡}t |j¡|fg}n"|j|jdkrg}t|jƒ}|jd7_|jt|jƒkr¸| ¡|j|kr|j|jdkr|jd7_q¸||  ¡}qÄnš|j|jdkrx|  ¡}|jrft |¡dd |j¡d |fg}nt |¡|fg}n@|r–t |j¡|dfg}n"|j|j|j vr¸|jd7_| ¡|jt|jƒkrò|j|jd krò|jd7_|S) Nrz.@rrú;úú@Tr)rIrDrRr(Ú getdomainr[)rLZ expectrouteZadlistrrrr\?s. zAddrlistClass.getrouteaddrcCsTg}| ¡|jt|jƒkræd}|j|jdkrf|rH|d ¡sH| ¡| d¡|jd7_d}nd|j|jdkrŽ| dt| ¡ƒ¡n<|j|j|j vr¼|ræ|d ¡sæ| ¡qæn| |  ¡¡| ¡}|r |r | |¡q |jt|jƒks |j|jdkrt   |¡S| d¡|jd7_| ¡|  ¡}|sFt St   |¡|S) NTrrrFr?z"%s"r_)rRrDr(rIÚstripÚpopr*rÚgetquoterGÚgetatomrPrQr`)rLZaslistZ preserve_wsÚwsÚdomainrrrr[_s:  $  zAddrlistClass.getaddrspeccCsæg}|jt|jƒkrÜ|j|j|jvr6|jd7_q|j|jdkrX|j | ¡¡q|j|jdkrx| | ¡¡q|j|jdkr¢|jd7_| d¡q|j|jdkr¶tS|j|j|j vrÌqÜq| |  ¡¡qt  |¡S)NrrNú[rr_) rDr(rIrErJr*rOÚgetdomainliteralrPrGrdrQ)rLZsdlistrrrr`…s" zAddrlistClass.getdomainTcCsâ|j|j|krdSdg}d}|jd7_|jt|jƒkrØ|rX| |j|j¡d}np|j|j|vrz|jd7_qØnN|r |j|jdkr | | ¡¡q,n(|j|jdkr¶d}n| |j|j¡|jd7_q,t |¡S)NrFrrNr>T)rIrDr(r*rOrPrQ)rLZ begincharZendcharsZ allowcommentsZslistrrrrÚ getdelimitedœs( zAddrlistClass.getdelimitedcCs| ddd¡S)Nr?z" F©ri©rLrrrrcÁszAddrlistClass.getquotecCs| ddd¡S)NrNz) TrjrkrrrrOÅszAddrlistClass.getcommentcCsd| ddd¡S)Nz[%s]rgz] FrjrkrrrrhÉszAddrlistClass.getdomainliteralNcCsddg}|dur|j}|jt|jƒkrZ|j|j|vr8qZn| |j|j¡|jd7_qt |¡S)Nrr)rGrDr(rIr*rPrQ)rLrGZatomlistrrrrdÍszAddrlistClass.getatomcCs¦g}|jt|jƒkr¢|j|j|jvr6|jd7_q|j|jdkrV| | ¡¡q|j|jdkrx|j | ¡¡q|j|j|jvrŽq¢q| |  |j¡¡q|S)Nrr?rN) rDr(rIrFr*rcrJrOrHrd)rLr]rrrrYászAddrlistClass.getphraselist)T)N)Ú__name__Ú __module__Ú __qualname__rMrRrUrSr\r[r`rircrOrhrdrYrrrrrBËs ; & % rBc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ú AddressListcCs&t ||¡|r| ¡|_ng|_dS©N)rBrMrUÚ addresslistrKrrrrMús  zAddressList.__init__cCs t|jƒSrp)r(rqrkrrrÚ__len__szAddressList.__len__cCs>tdƒ}|jdd…|_|jD]}||jvr|j |¡q|Srp©rorqr*©rLÚotherZnewaddrÚxrrrÚ__add__s   zAddressList.__add__cCs&|jD]}||jvr|j |¡q|Srp)rqr*©rLrurvrrrÚ__iadd__ s  zAddressList.__iadd__cCs.tdƒ}|jD]}||jvr|j |¡q|SrprsrtrrrÚ__sub__s   zAddressList.__sub__cCs&|jD]}||jvr|j |¡q|Srp)rqÚremoverxrrrÚ__isub__s  zAddressList.__isub__cCs |j|Srp)rq)rLr,rrrÚ __getitem__#szAddressList.__getitem__N) rlrmrnrMrrrwryrzr|r}rrrrroøs ro)Ú__all__r;r=rZrPZ COMMASPACEr+r&r1rr rrrrBrorrrrÚ s,û  u   /