§
    (¶Õi\)  ã                   ó|  — d dl Z d dlZd dlZd dlZd dlmZ  G d„ d¦  «        Z e¦   «         Zdd„Ze 	                    de¦  «         d„ Z
d	                     ¦   «         D ]Ze 	                    ee
¦  «         Œ[d
„ Zd                     ¦   «         D ]Ze 	                    dez   e¦  «         Œ[d„ Ze 	                    de¦  «         d„ Zd„ Zd„ Zd„ Z	 	 	 dd„Ze                     ee¦  «         	 	 	 dd„Ze                     ej        j        e¦  «         	 	 	 dd„ZeeefD ]Ze                     ee¦  «         Œ[dS )é    N)Ú
quoprimimec                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚContentManagerc                 ó"   — i | _         i | _        d S ©N)Úget_handlersÚset_handlers)Úselfs    ú+/usr/lib/python3.11/email/contentmanager.pyÚ__init__zContentManager.__init__	   s   € ØˆÔØˆÔÐÐó    c                 ó   — || j         |<   d S r   )r   )r
   ÚkeyÚhandlers      r   Úadd_get_handlerzContentManager.add_get_handler   s   € Ø!(ˆÔ˜#ÑÐÐr   c                 ó0  — |                      ¦   «         }|| j        v r | j        |         |g|¢R i |¤ŽS |                     ¦   «         }|| j        v r | j        |         |g|¢R i |¤ŽS d| j        v r | j        d         |g|¢R i |¤ŽS t          |¦  «        ‚)NÚ )Úget_content_typer   Úget_content_maintypeÚKeyError)r
   ÚmsgÚargsÚkwÚcontent_typeÚmaintypes         r   Úget_contentzContentManager.get_content   sÔ   € Ø×+Ò+Ñ-Ô-ˆØ˜4Ô,Ð,Ð,Ø2�4Ô$ \Ô2°3ÐD¸ÐDÐDÐDÀÐDÐDÐDØ×+Ò+Ñ-Ô-ˆØ�tÔ(Ð(Ð(Ø.�4Ô$ XÔ.¨sÐ@°TÐ@Ð@Ð@¸RÐ@Ð@Ð@Ø�Ô"Ð"Ð"Ø(�4Ô$ RÔ(¨Ð:¨tÐ:Ð:Ð:°rÐ:Ð:Ð:Ý�|Ñ$Ô$Ð$r   c                 ó   — || j         |<   d S r   )r	   )r
   Útypekeyr   s      r   Úadd_set_handlerzContentManager.add_set_handler   s   € Ø%,ˆÔ˜'Ñ"Ð"Ð"r   c                 óÂ   — |                      ¦   «         dk    rt          d¦  «        ‚|                      ||¦  «        }|                     ¦   «           |||g|¢R i |¤Ž d S )NÚ	multipartz"set_content not valid on multipart)r   Ú	TypeErrorÚ_find_set_handlerÚclear_content)r
   r   Úobjr   r   r   s         r   Úset_contentzContentManager.set_content   sy   € Ø×#Ò#Ñ%Ô%¨Ò4Ð4õ Ð@ÑAÔAÐAØ×(Ò(¨¨cÑ2Ô2ˆØ×ÒÑÔÐØˆ��SÐ&˜4Ð&Ð&Ð& 2Ð&Ð&Ð&Ð&Ð&r   c                 óº  — d }t          |¦  «        j        D ] }|| j        v r| j        |         c S |j        }t	          |dd¦  «        }|rd                     ||f¦  «        n|}|€|}|| j        v r| j        |         c S || j        v r| j        |         c S |j        }|| j        v r| j        |         c S Œ¡d | j        v r| j        d          S t          |¦  «        ‚)NÚ
__module__r   ú.)ÚtypeÚ__mro__r	   Ú__qualname__ÚgetattrÚjoinÚ__name__r   )	r
   r   r%   Úfull_path_for_errorÚtypÚqnameÚmodnameÚ	full_pathÚnames	            r   r#   z ContentManager._find_set_handler'   s$  € Ø"ÐÝ˜‘9”9Ô$ð 	/ð 	/ˆCØ�dÔ'Ð'Ð'ØÔ(¨Ô-Ð-Ð-Ð-ØÔ$ˆEÝ˜c <°Ñ4Ô4ˆGØ6=ÐH˜Ÿš '¨5Ð!1Ñ2Ô2Ð2À5ˆIØ"Ð*Ø&/Ð#Ø˜DÔ-Ð-Ð-ØÔ(¨Ô3Ð3Ð3Ð3Ø˜Ô)Ð)Ð)ØÔ(¨Ô/Ð/Ð/Ð/Ø”<ˆDØ�tÔ(Ð(Ð(ØÔ(¨Ô.Ð.Ð.Ð.ð )à�4Ô$Ð$Ð$ØÔ$ TÔ*Ð*ÝÐ*Ñ+Ô+Ð+r   N)	r/   r(   r,   r   r   r   r   r&   r#   © r   r   r   r      sn   € € € € € ðð ð ð)ð )ð )ð	%ð 	%ð 	%ð-ð -ð -ð'ð 'ð 'ð,ð ,ð ,ð ,ð ,r   r   Úreplacec                 óˆ   — |                       d¬¦  «        }|                      dd¦  «        }|                     ||¬¦  «        S )NT©ÚdecodeÚcharsetÚASCII)Úerrors)Úget_payloadÚ	get_paramr:   )r   r=   Úcontentr;   s       r   Úget_text_contentrA   @   s>   € Ø�oŠo TˆoÑ*Ô*€GØ�mŠm˜I wÑ/Ô/€GØ�>Š>˜'¨&ˆ>Ñ1Ô1Ð1r   Útextc                 ó.   — |                       d¬¦  «        S )NTr9   ©r>   ©r   s    r   Úget_non_text_contentrF   G   s   € Ø�?Š? $ˆ?Ñ'Ô'Ð'r   zaudio image video applicationc                 ó,   — |                       d¦  «        S ©Nr   rD   rE   s    r   Úget_message_contentrI   N   s   € Ø�?Š?˜1ÑÔÐr   zrfc822 external-bodyzmessage/c                 óF   — t          |                      d¦  «        ¦  «        S rH   )Úbytesr>   rE   s    r   Ú%get_and_fixup_unknown_message_contentrL   U   s   € õ �—’ Ñ#Ô#Ñ$Ô$Ð$r   Úmessagec                 ó’  ‡— d                      ||f¦  «        | d<   |r©t          |d         d¦  «        s| j        Šˆfd„|D ¦   «         }	 |D ] }|j        r|j        d         ‚|| |j        <   Œ!d S # t
          j        j        $ rA}t          d 	                    | 
                    | j        ¬¦  «        ¦  «        ¦  «        |‚d }~ww xY wd S )Nú/zContent-Typer   r5   c                 óL   •— g | ] } ‰j         ‰                     |g¦  «        Ž ‘Œ!S r6   )Úheader_factoryÚheader_source_parse)Ú.0ÚheaderÚmps     €r   ú
<listcomp>z _prepare_set.<locals>.<listcomp>f   sC   ø€ ð .ð .ð .Ø!ð )�rÔ(¨"×*@Ò*@À&ÀÑ*JÔ*JÐKð .ð .ð .r   zInvalid header: {})Úpolicy)r.   ÚhasattrrW   Údefectsr5   Úemailr=   ÚHeaderDefectÚ
ValueErrorÚformatÚfold)r   r   ÚsubtypeÚheadersrT   ÚexcrU   s         @r   Ú_prepare_setrb   a   s'  ø€ ØŸ(š( H¨gÐ#6Ñ7Ô7€CˆÑØð JÝ�w˜q”z 6Ñ*Ô*ð 	.Ø”ˆBð.ð .ð .ð .Ø%,ð.ñ .ô .ˆGð	JØ!ð *ð *�Ø”>ð ,Ø œ.¨Ô+Ð+Ø#)��F”KÑ Ð ð*ð *øõ Œ|Ô(ð 	Jð 	Jð 	JÝÐ1×8Ò8Ø &§¢°3´: Ñ >Ô >ñ@ô @ñ Aô AØFIðJøøøøð	JøøøðJð Js   Á
#A/ Á/CÂ<B?Â?Cc                 óÌ   — |€|�d}|�|| d<   |�|                       d|dd¬¦  «         |�|| d<   |�0|                     ¦   «         D ]\  }}|                       ||¦  «         Œd S d S )NÚ
attachmentzContent-DispositionÚfilenameT)rT   r7   z
Content-ID)Ú	set_paramÚitems)r   Údispositionre   ÚcidÚparamsr   Úvalues          r   Ú_finalize_setrl   r   sª   € ØÐ˜xÐ3Ø"ˆØÐØ%0ˆÐ!Ñ"ØÐØ�Š�jØØ2Ø"ð 	ñ 	$ô 	$ð 	$ð €ØˆˆLÑØÐØ Ÿ,š,™.œ.ð 	&ð 	&‰JˆC�Ø�MŠM˜#˜uÑ%Ô%Ð%Ð%ð Ðð	&ð 	&r   c                 ó  — g }|dz  dz  }t          dt          | ¦  «        |¦  «        D ]I}| |||z   …         }|                     t          j        |¦  «                             d¦  «        ¦  «         ŒJd                     |¦  «        S )Né   é   r   Úasciir   )ÚrangeÚlenÚappendÚbinasciiÚ
b2a_base64r:   r.   )ÚdataÚmax_line_lengthÚencoded_linesÚunencoded_bytes_per_lineÚiÚthislines         r   Ú_encode_base64r|   ‡   s’   € Ø€MØ.°!Ñ3°aÑ7ÐÝ�1•c˜$‘i”iÐ!9Ñ:Ô:ð Lð LˆØ˜˜!Ð4Ñ4Ð4Ô5ˆØ×Ò�XÔ0°Ñ:Ô:×AÒAÀ'ÑJÔJÑKÔKÐKÐKØ�7Š7�=Ñ!Ô!Ð!r   c                 ód  ‡— |                       |¦  «                             ¦   «         }|j                              d¦  «        Šˆfd„}d„ }|�€t          d„ |D ¦   «         d¬¦  «        |j        k    r]	 d ||¦  «                             d¦  «        fS # t          $ r Y nw xY w|j        dk    r!d ||¦  «                             dd	¦  «        fS  ||d d
…         ¦  «        }t          j	        |                     d¦  «        |j        ¦  «        }t          j        |¦  «        }	t          |¦  «        t          |	¦  «        k    rd}nd}t          |¦  «        d
k    r||fS |dk    r ||¦  «                             d¦  «        }
nª|dk    r  ||¦  «                             dd	¦  «        }
n„|dk    r7t          j	         ||¦  «                             d¦  «        |j        ¦  «        }
nG|dk    rt           ||¦  «        |j        ¦  «        }
n"t          d                     |¦  «        ¦  «        ‚||
fS )Nrp   c                 ó4   •— ‰                      | ¦  «        ‰z   S r   ©r.   )ÚlinesÚlineseps    €r   Úembedded_bodyz#_encode_text.<locals>.embedded_body“   s   ø€  W§\¢\°%Ñ%8Ô%8¸7Ñ%BÐBr   c                 ó2   — d                      | ¦  «        dz   S )Nó   
r   )r€   s    r   Únormal_bodyz!_encode_text.<locals>.normal_body”   s   €  5§:¢:¨eÑ#4Ô#4°uÑ#<Ð<r   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )rr   )rS   Úxs     r   ú	<genexpr>z_encode_text.<locals>.<genexpr>—   s(   è è € Ð&Ð&˜1•�A‘”Ð&Ð&Ð&Ð&Ð&Ð&r   r   )ÚdefaultÚ7bitÚ8bitÚsurrogateescapeé
   zlatin-1Úbase64úquoted-printablez$Unknown content transfer encoding {})ÚencodeÚ
splitlinesr�   Úmaxrw   r:   ÚUnicodeDecodeErrorÚcte_typer   Úbody_encodert   ru   rr   r|   r\   r]   )Ústringr;   ÚcterW   r€   r‚   r…   ÚsniffÚsniff_qpÚsniff_base64rv   r�   s              @r   Ú_encode_textr›   �   sg  ø€ Ø�MŠM˜'Ñ"Ô"×-Ò-Ñ/Ô/€EØŒn×#Ò# GÑ,Ô,€GØBÐBÐBÐBÐBØ<Ð<Ð<Ø
�{åÐ&Ð& Ð&Ñ&Ô&°Ð2Ñ2Ô2°fÔ6LÒLÐLðØ˜{˜{¨5Ñ1Ô1×8Ò8¸ÑAÔAÐAÐAøÝ%ð ð ð Ø�ðøøøàŒ &Ò(Ð(Ø˜{˜{¨5Ñ1Ô1×8Ò8¸ÐBSÑTÔTÐTÐTØ�˜e C R CœjÑ)Ô)ˆÝÔ)¨%¯,ª,°yÑ*AÔ*AØ*0Ô*@ñBô BˆåÔ*¨5Ñ1Ô1ˆåˆx‰=Œ=�3˜|Ñ,Ô,Ò,Ð,ØˆCˆCà$ˆCÝ�5‰zŒz˜RÒÐØ˜H�}Ð$Ø
ˆf‚}€}Øˆ{˜5Ñ!Ô!×(Ò(¨Ñ1Ô1ˆˆØ	�ŠˆØˆ{˜5Ñ!Ô!×(Ò(¨Ð2CÑDÔDˆˆØ	Ð"Ò	"Ð	"ÝÔ% k k°%Ñ&8Ô&8×&?Ò&?À	Ñ&JÔ&JØ&,Ô&<ñ>ô >ˆˆà	�ŠˆÝ˜m˜m¨EÑ2Ô2°FÔ4JÑKÔKˆˆåÐ?×FÒFÀsÑKÔKÑLÔLÐLØ�ˆ9Ðs   Á3B Â
B ÂB Úplainúutf-8c
                 ó.  — t          | d||	¦  «         t          |||| j        ¦  «        \  }}
|                      |
¦  «         |                      dt
          j        j                             ||¦  «        d¬¦  «         || d<   t          | ||||¦  «         d S )NrB   r;   T©r7   úContent-Transfer-Encoding)
rb   r›   rW   Úset_payloadrf   rZ   r;   ÚALIASESÚgetrl   )r   r–   r_   r;   r—   rh   re   ri   rj   r`   Úpayloads              r   Úset_text_contentr¥   ·   s¤   € õ ��f˜g wÑ/Ô/Ð/Ý ¨°°c´jÑAÔA�L€CˆØ‡O‚O�GÑÔÐØ‡M‚M�)Ý”-Ô'×+Ò+¨G°WÑ=Ô=Øð ñ  ô  ð  ð (+€CÐ#Ñ$Ý�#�{ H¨c°6Ñ:Ô:Ð:Ð:Ð:r   Úrfc822c	                 ó|  — |dk    rt          d¦  «        ‚|dk    r-|dvr"t          d                     |¦  «        ¦  «        ‚|€dn|}n3|dk    r)|dvr"t          d	                     |¦  «        ¦  «        ‚d
}n|€d
}t          | d||¦  «         |                      |g¦  «         || d<   t	          | ||||¦  «         d S )NÚpartialz4message/partial is not supported for Message objectsr¦   )NrŠ   r‹   Úbinaryz*message/rfc822 parts do not support cte={}r‹   zexternal-body)NrŠ   z1message/external-body parts do not support cte={}rŠ   rM   r    )r\   r]   rb   r¡   rl   )	r   rM   r_   r—   rh   re   ri   rj   r`   s	            r   Úset_message_contentrª   Å   s
  € ð �)ÒÐÝÐOÑPÔPÐPØ�(ÒÐØÐ6Ð6Ð6åØ<×CÒCÀCÑHÔHñJô Jð Jð ˜ˆfˆf¨ˆˆØ	�OÒ	#Ð	#Ø�nÐ$Ð$åØC×JÒJÈ3ÑOÔOñQô Qð QàˆˆØ	ˆð ˆÝ��i ¨'Ñ2Ô2Ð2Ø‡O‚O�W�IÑÔÐØ'*€CÐ#Ñ$Ý�#�{ H¨c°6Ñ:Ô:Ð:Ð:Ð:r   rŽ   c
                 óœ  — t          | |||	¦  «         |dk    rt          || j        j        ¬¦  «        }nj|dk    r.t	          j        |ddd¬¦  «        }|                     d¦  «        }n6|dk    r|                     d¦  «        }n|d	v r|                     dd
¦  «        }|                      |¦  «         || d<   t          | ||||¦  «         d S )NrŽ   )rw   r�   FT)ÚistextrT   Ú	quotetabsrp   rŠ   )r‹   r©   rŒ   r    )	rb   r|   rW   rw   rt   Úb2a_qpr:   r¡   rl   )
r   rv   r   r_   r—   rh   re   ri   rj   r`   s
             r   Úset_bytes_contentr¯   æ   sè   € õ ��h ¨Ñ1Ô1Ð1Ø
ˆh‚€Ý˜d°C´JÔ4NÐOÑOÔOˆˆØ	Ð"Ò	"Ð	"õ Œ˜t¨E¸%È4ÐPÑPÔPˆØ�{Š{˜7Ñ#Ô#ˆˆØ	�ŠˆØ�{Š{˜7Ñ#Ô#ˆˆØ	Ð"Ð	"Ð	"Ø�{Š{˜7Ð$5Ñ6Ô6ˆØ‡O‚O�DÑÔÐØ'*€CÐ#Ñ$Ý�#�{ H¨c°6Ñ:Ô:Ð:Ð:Ð:r   rŸ   )rœ   r�   NNNNNN)r¦   NNNNNN)rŽ   NNNNN)rt   Úemail.charsetrZ   Úemail.messageÚemail.errorsr   r   Úraw_data_managerrA   r   rF   Úsplitr   rI   r_   rL   rb   rl   r|   r›   r¥   r   Ústrrª   rM   ÚMessager¯   rK   Ú	bytearrayÚ
memoryviewr1   r6   r   r   ú<module>r¹      sƒ  ðØ €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð3,ð 3,ð 3,ð 3,ð 3,ñ 3,ô 3,ð 3,ðl "�>Ñ#Ô#Ð ð2ð 2ð 2ð 2ð ×  Ò   Ð)9Ñ :Ô :Ð :ð(ð (ð (à/×5Ò5Ñ7Ô7ð Eð E€HØ×$Ò$ XÐ/CÑDÔDÐDÐDØðð ð à%×+Ò+Ñ-Ô-ð Nð N€GØ×$Ò$ Z°Ñ%7Ð9LÑMÔMÐMÐMØð%ð %ð %ð ×  Ò   Ø!FñHô Hð HðJð Jð Jð"&ð &ð &ð*"ð "ð "ð$ð $ð $ðN IMØ:>Ø*.ð
;ð 
;ð 
;ð 
;ð ×  Ò   Ð&6Ñ 7Ô 7Ð 7ð =AØ<@Ø,0ð;ð ;ð ;ð ;ð< ×  Ò   ¤Ô!6Ð8KÑ LÔ LÐ Lð 9AØ:>Ø*.ð;ð ;ð ;ð ;ð& �9˜jÐ)ð =ð =€CØ×$Ò$ SÐ*;Ñ<Ô<Ð<Ð<Ø€C€Cr   