a  ze:E@sgdZddlZddlZdZdZdZgdZgdZdddddd d dd d d d d d dZddZ ddZ ddZ ddZ ddZ GdddZGdddeZdS)) mktime_tz parsedate parsedate_tzquoteN z, )ZjanZfebZmarZaprmayZjunZjulZaugsepoctZnovZdecZjanuaryZfebruaryZmarchZaprilrZjuneZjulyZaugustZ septemberZoctoberZnovemberZdecember)ZmonZtueZwedZthuZfriZsatZsunipii iiDi)ZUTZUTCZGMTZZASTZADTZESTZEDTZCSTZCDTZMSTZMDTZPSTZPDTcCs,t|}|sdS|ddur$d|d<t|S)N r) _parsedate_tztuple)dataresrD/opt/bitninja-python-dojo/embedded/lib/python3.9/email/_parseaddr.pyr-s  rc Cs|sdS|}|sdS|dds6|dtvr>|d=n.|dd}|dkrl|d|dd|d<t|dkr|dd}t|dkr||dd}t|dkr|d}|d}|dkr|d}|dkr|d|||dg|dd<n |d t|d krdS|dd }|\}}}}}|}|tvrb||}}|tvrbdSt |d}|d kr|d 8}|ddkr|dd}|d }|dkr||}}|ddkr|dd}|d s||}}|ddkr|dd}|d }t|d kr,|\} } d} nt|dkrF|\} } } njt|dkrd|dvr|dd}t|d kr|\} } d} nt|dkr|\} } } ndSndSz,t |}t |}t | } t | } t | } Wnt yYdS0|dkr|dkr|d7}n|d7}d} | }|tvr:t|} n@,:;."[]rz z rr) specialsposLWSZCRFWSatomendsr@ phraseendsfield commentlistselfrIrrr__init__szAddrlistClass.__init__cCsg}|jt|jkr|j|j|jdvr\|j|jdvrL||j|j|jd7_q|j|jdkr|j|qqqt|S)Nz r() rDr(rIrEr*rJ getcomment EMPTYSTRINGjoin)rLZwslistrrrgotonextszAddrlistClass.gotonextcCs:g}|jt|jkr6|}|r*||7}q|dq|S)N)rr)rDr(rI getaddressr*)rLresultZadrrr getaddrlists  zAddrlistClass.getaddrlistcCsg|_||j}|j}|}|g}|jt|jkr\|rXt|j|dfg}n\|j|jdvr||_||_|}t|j|fg}n"|j|jdkrg}t|j}|jd7_|jt|jkr||j|kr|j|jdkr|jd7_q|| }qn|j|jdkrx| }|jrft|dd|jd |fg}nt||fg}n@|rt|j|dfg}n"|j|j|j vr|jd7_||jt|jkr|j|jd kr|jd7_|S) Nrz.@rr;@Tr)rIrDrRr( getdomainr[)rLZ expectrouteZadlistrrrr\Cs. zAddrlistClass.getrouteaddrcCsTg}||jt|jkrd}|j|jdkrf|rH|dsH||d|jd7_d}nd|j|jdkr|dt|n<|j|j|j vr|r|ds|qn|| |}|r |r ||q |jt|jks |j|jdkrt |S|d|jd7_|| }|sFt St ||S) NTrrrFr?z"%s"r_)rRrDr(rIstrippopr*rgetquoterGgetatomrPrQr`)rLZaslistZ preserve_wswsdomainrrrr[cs:  $  zAddrlistClass.getaddrspeccCsg}|jt|jkr|j|j|jvr6|jd7_q|j|jdkrX|j|q|j|jdkrx||q|j|jdkr|jd7_|dq|j|jdkrtS|j|j|j vrqq|| qt |S)NrrN[rr_) rDr(rIrErJr*rOgetdomainliteralrPrGrdrQ)rLZsdlistrrrr`s" zAddrlistClass.getdomainTcCs|j|j|krdSdg}d}|jd7_|jt|jkr|rX||j|jd}np|j|j|vrz|jd7_qnN|r|j|jdkr||q,n(|j|jdkrd}n||j|j|jd7_q,t|S)NrFrrNr>T)rIrDr(r*rOrPrQ)rLZ begincharZendcharsZ allowcommentsZslistrrrr getdelimiteds( zAddrlistClass.getdelimitedcCs|dddS)Nr?z" FrirLrrrrcszAddrlistClass.getquotecCs|dddS)NrNz) TrjrkrrrrOszAddrlistClass.getcommentcCsd|dddS)Nz[%s]rgz] FrjrkrrrrhszAddrlistClass.getdomainliteralNcCsddg}|dur|j}|jt|jkrZ|j|j|vr8qZn||j|j|jd7_qt|S)Nrr)rGrDr(rIr*rPrQ)rLrGZatomlistrrrrdszAddrlistClass.getatomcCsg}|jt|jkr|j|j|jvr6|jd7_q|j|jdkrV||q|j|jdkrx|j|q|j|j|jvrqq|| |jq|S)Nrr?rN) rDr(rIrFr*rcrJrOrHrd)rLr]rrrrYszAddrlistClass.getphraselist)T)N)__name__ __module__ __qualname__rMrRrUrSr\r[r`rircrOrhrdrYrrrrrBs ; & % rBc@sDeZdZddZddZddZddZd d Zd d Zd dZ dS) AddressListcCs&t|||r||_ng|_dSN)rBrMrU addresslistrKrrrrMs  zAddressList.__init__cCs t|jSrp)r(rqrkrrr__len__szAddressList.__len__cCs>td}|jdd|_|jD]}||jvr|j|q|Srprorqr*rLotherZnewaddrxrrr__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)rqremoverxrrr__isub__ s  zAddressList.__isub__cCs |j|Srp)rq)rLr,rrr __getitem__'szAddressList.__getitem__N) rlrmrnrMrrrwryrzr|r}rrrrros ro)__all__r;r=rZrPZ COMMASPACEr+r&r1rr rrrrBrorrrr s,  y   /