Ë c‡½jÇ> ã óÀ — g d ¢Z ddlZddlZddlZddlZddlZddlZddlZddl m Z ddl mZ ddl m Z ddl mZmZmZ ddlmZ dZd Zd Zd ZdZ ej0 d« Z ej0 d « Zd„ Zd„ Zd&d„Zd„ Zd„ ZdZ ddœd„Z!d„ Z"d„ Z#d„ Z$d„ Z%d'd„Z&d(d„Z'd)d„Z(d„ Z)ddœd„Z*d„ Z+d „ Z,d)d!„Z- ej0 d"ej\ « Z/d#„ Z0 d*d$„Z1d)d%„Z2y)+)Úcollapse_rfc2231_valueÚ decode_paramsÚdecode_rfc2231Úencode_rfc2231Ú formataddrÚ formatdateÚformat_datetimeÚgetaddressesÚ make_msgidÚ mktime_tzÚ parseaddrÚ parsedateÚparsedate_tzÚparsedate_to_datetimeÚunquoteé N)Úquote)ÚAddressList)r )r r Ú _parsedate_tz)ÚCharsetz, Ú z Ú'z[][\\()<>@,:;".]z[\\"]c óF — | j « y# t $ r Y yw xY w)NFT)ÚencodeÚUnicodeEncodeError)Úss ú$/usr/lib64/python3.12/email/utils.pyÚ_has_surrogatesr 4 s( € ØEðØ �‰Œ ØøÜò Ùðús ƒ ” Ÿ c óJ — | j dd« }|j dd« S )Núutf-8ÚsurrogateescapeÚreplace)r Údecode)ÚstringÚoriginal_bytess r Ú _sanitizer% A s( € ð —]‘] 7Ð,=Ó>€NØ× Ñ ¨)Ó4Ð4ó c óX — | \ }}|j d« |rM |j d« d}t j |« rd}t j d|« }|›|›|›d|›d�S |S # t $ r7 t |t « rt |« }|j |« }|›d|›d�cY S w xY w)NÚasciir Ú"z\\\g<0>z <Ú>) r Ú specialsreÚsearchÚ escapesreÚsubr Ú isinstanceÚstrr Ú header_encode)ÚpairÚcharsetÚnameÚaddressÚquotesÚencoded_names r r r M s± € ðð �M€Dˆ'à‡N�N�7ÔÙð CØ�K‰K˜Ô ð ˆFÜ× Ñ Ô&Ø�Ü—=‘= ¨TÓ2ˆDÙ$*©D²&º'ÐBÐBØ€Nøô "ò 7ܘ'¤3Ô'Ü! 'Ó*�Ø"×0Ñ0°Ó6ˆLÚ ,ªgÐ6Ò6ð 7ús ›A) Á)=B)Â(B)c # ó„ K — d}d}t | « D ]! \ }}|r|d|z f–— d}Œ|dk( rd}Œ||f–— Œ# |r|df–— y y w)Nr FÚ\T)Ú enumerate)ÚaddrÚposÚescapeÚchs r Ú_iter_escaped_charsr? n sb è ø€ Ø €CØ €FܘT–?‰ˆˆRÙØ˜˜r™ Ð"Ò"؉FØ �4ŠZ؉Fà˜�)‹Oð #ñ Ø�DˆkÓð ùs ‚>A c óþ — d| vr| S d}d }g }t | « D ]0 \ }}|dk( sŒ|€|}Œ||k7 r|j | || « |dz }d }Œ2 |t | « k r|j | |d « dj |« S )Nr) r é r )r? ÚappendÚlenÚjoin)r; ÚstartÚopen_posÚresultr<