HEX
Server: Apache
System: Linux server-634962.emtiyz.com 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: codo66ho (1003)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib64/python3.9/email/__pycache__/message.cpython-39.opt-2.pyc
a

�i���@s�ddgZddlZddlZddlZddlmZmZddlmZddlm	Z	ddl
mZmZddlm
Zdd	lmZejZd
Ze�d�Zdd
�Zddd�Zdd�Zdd�ZGdd�d�ZGdd�de�ZGdd�de�ZdS)�Message�EmailMessage�N)�BytesIO�StringIO)�utils)�errors)�Policy�compat32��charset)�decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]cCs4t|��d�\}}}|s$|��dfS|��|��fS)N�;)�str�	partition�strip)�param�a�sep�b�r�%/usr/lib64/python3.9/email/message.py�_splitparamsrTcCs�|dur�t|�dkr�t|t�rL|d7}t�|d|d|d�}d||fSz|�d�Wn4ty�|d7}t�|dd�}d||fYS0|s�t�|�r�d	|t�	|�fSd||fSn|SdS)
Nr�*���%s=%s�asciizutf-8�z%s="%s")
�len�
isinstance�tuplerZencode_rfc2231�encode�UnicodeEncodeError�	tspecials�search�quote)r�valuer%rrr�_formatparam's	
r'cCs
dt|�}g}d}|�d|�|k�r|d7}|�d|�}|d}}|dkr�||�d||�|�d||�7}|ddkrzq�||�d|d�}}qD|dkr�t|�}|�d||�}|dkr�|||�}n,|||�����d||d|���}|�|���|}q|S)	Nr
rr�"z\"r�=���)	r�find�countr�rstrip�lower�lstrip�appendr)�sZplist�start�endZind�diff�i�frrr�_parseparamIs*
 ,r7cCs4t|t�r&|d|dt�|d�fSt�|�SdS)Nrrr)rr r�unquote)r&rrr�
_unquotevaluecs
r9c@s�eZdZefdd�Zdd�Zdcdd	�Zd
d�Zdddd
�Zdd�Z	dd�Z
dd�Zdd�Zdedd�Z
dfdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zdgd0d1�Zd2d3�Zd4d5�Zdhd6d7�Zd8d9�Zd:d;�Zd<d=�Z d>d?�Z!d@dA�Z"dBdC�Z#dDdE�Z$dFdG�Z%didJdK�Z&djdLdM�Z'dkdPdQ�Z(dldRdS�Z)dmdTdU�Z*dndVdW�Z+dodXdY�Z,dZd[�Z-dpd\d]�Z.dqd^d_�Z/d`da�Z0ddbl1m2Z2dS)rrcCs:||_g|_d|_d|_d|_d|_|_g|_d|_dS)N�
text/plain)	�policy�_headers�	_unixfrom�_payload�_charsetZpreambleZepilogue�defects�
_default_type)�selfr;rrr�__init__~szMessage.__init__cCs|��S�N)�	as_string�rBrrr�__str__�szMessage.__str__FrNcCsJddlm}|dur|jn|}t�}||d||d�}|j||d�|��S)Nr)�	GeneratorF)�mangle_from_�maxheaderlenr;��unixfrom)�email.generatorrHr;r�flatten�getvalue)rBrLrJr;rH�fp�grrrrE�s�zMessage.as_stringcCs|��SrD)�as_bytesrFrrr�	__bytes__�szMessage.__bytes__cCsHddlm}|dur|jn|}t�}||d|d�}|j||d�|��S)Nr)�BytesGeneratorF)rIr;rK)rMrTr;rrNrO)rBrLr;rTrPrQrrrrR�szMessage.as_bytescCst|jt�SrD)rr>�listrFrrr�is_multipart�szMessage.is_multipartcCs
||_dSrD�r=)rBrLrrr�set_unixfrom�szMessage.set_unixfromcCs|jSrDrWrFrrr�get_unixfrom�szMessage.get_unixfromcCsD|jdur|g|_n,z|j�|�Wnty>td��Yn0dS)Nz=Attach is not valid on a message with a non-multipart payload)r>r0�AttributeError�	TypeError)rB�payloadrrr�attach�s

zMessage.attachcCs�|��r(|rdS|dur|jS|j|S|durNt|jt�sNtdt|j���|j}t|�dd����}t|t�r�t	�
|�r�|�dd�}|s�z|�|�
dd�d�}Wq�ty�|�dd�}Yq�0n0|r�z|�d�}Wnty�|�d�}Yn0|�s|S|d	k�rt�|�S|d
k�rRtd�|����\}}|D]}|j�||��q8|S|dv�r�t|�}	t�}
ztj|	|
d
d�|
��WStj�y�|YS0t|t��r�|S|S)NzExpected list, got %szcontent-transfer-encodingrr�surrogateescaper�replace�raw-unicode-escapezquoted-printable�base64�)z
x-uuencodeZuuencodeZuuezx-uueT)�quiet)rVr>rrUr[�typer�getr.rZ_has_surrogatesr!�decode�	get_param�LookupError�UnicodeError�quopriZdecodestringr�join�
splitlinesr;Z
handle_defectr�uurO�Error)rBr5rfr\�cteZbpayloadr&r@ZdefectZin_fileZout_filerrr�get_payload�sV"








zMessage.get_payloadcCspt|d�r:|dur||_dSt|t�s.t|�}|�|j�}t|d�rT|�dd�|_n||_|durl|�|�dS)Nr!rfrr^)�hasattrr>r�Charsetr!�output_charsetrf�set_charset)rBr\rrrr�set_payload5s


zMessage.set_payloadcCs|dur|�d�d|_dSt|t�s.t|�}||_d|vrH|�dd�d|vrf|jdd|��d�n|�d|���||��kr�|�|j�|_d|v�r|�	�}z||�Wnft
�y|j}|r�z|�dd	�}Wnty�|�|j
�}Yn0|�|�|_|�d|�Yn0dS)
Nr�MIME-Version�1.0�Content-Typer:r
zContent-Transfer-Encodingrr^)�	del_paramr?rrr�
add_headerZget_output_charset�	set_paramZbody_encoder>Zget_body_encodingr[r!rirs)rBrror\rrrrtIs:

�
zMessage.set_charsetcCs|jSrD)r?rFrrr�get_charsetxszMessage.get_charsetcCs
t|j�SrD)rr<rFrrr�__len__�szMessage.__len__cCs
|�|�SrD)re�rB�namerrr�__getitem__�s	zMessage.__getitem__cCsr|j�|�}|rX|��}d}|jD]4\}}|��|kr"|d7}||kr"td�||���q"|j�|j�||��dS)Nrrz/There may be at most {} {} headers in a message)r;Zheader_max_countr.r<�
ValueError�formatr0�header_store_parse)rBr�valZ	max_countZlname�found�k�vrrr�__setitem__�s�zMessage.__setitem__cCs@|��}g}|jD]"\}}|��|kr|�||f�q||_dSrD)r.r<r0)rBr�
newheadersr�r�rrr�__delitem__�szMessage.__delitem__cCs|��dd�|jD�vS)NcSsg|]\}}|���qSr)r.��.0r�r�rrr�
<listcomp>�rbz(Message.__contains__.<locals>.<listcomp>)r.r<r~rrr�__contains__�szMessage.__contains__ccs|jD]\}}|VqdSrD�r<)rBZfieldr&rrr�__iter__�szMessage.__iter__cCsdd�|jD�S)NcSsg|]\}}|�qSrrr�rrrr��rbz Message.keys.<locals>.<listcomp>r�rFrrr�keys�szMessage.keyscs�fdd��jD�S)Ncsg|]\}}�j�||��qSr�r;�header_fetch_parser�rFrrr��s�z"Message.values.<locals>.<listcomp>r�rFrrFr�values�s
�zMessage.valuescs�fdd��jD�S)Ncs"g|]\}}|�j�||�f�qSrr�r�rFrrr��s�z!Message.items.<locals>.<listcomp>r�rFrrFr�items�s
�z
Message.itemscCs:|��}|jD]&\}}|��|kr|j�||�Sq|SrD)r.r<r;r�)rBr�failobjr�r�rrrre�s
zMessage.getcCs|j�||f�dSrD)r<r0)rBrr&rrr�set_raw�szMessage.set_rawcCst|j���SrD)�iterr<�copyrFrrr�	raw_items�szMessage.raw_itemscCsHg}|��}|jD](\}}|��|kr|�|j�||��q|sD|S|SrD)r.r<r0r;r�)rBrr�r�r�r�rrr�get_all�s	zMessage.get_allcKspg}|��D]<\}}|dur0|�|�dd��q|�t|�dd�|��q|dur^|�d|�t�|�||<dS)N�_�-r)r�r0r_r'�insert�	SEMISPACErk)rB�_name�_valueZ_params�partsr�r�rrrrz	szMessage.add_headercCs\|��}ttt|j��|j�D]0\}\}}|��|kr|j�||�|j|<qXqt|��dSrD)r.�zip�rangerr<r;r��KeyError)rBr�r�r5r�r�rrr�replace_header's"zMessage.replace_headercCsHt�}|�d|�}||ur"|��St|�d��}|�d�dkrDdS|S)N�content-typer�/rr:)�objectre�get_default_typerr.r,)rB�missingr&�ctyperrr�get_content_type:s
zMessage.get_content_typecCs|��}|�d�dS)Nr�r�r��split�rBr�rrr�get_content_maintypeRszMessage.get_content_maintypecCs|��}|�d�dS)Nr�rr�r�rrr�get_content_subtype[szMessage.get_content_subtypecCs|jSrD�rArFrrrr�dszMessage.get_default_typecCs
||_dSrDr�r�rrr�set_default_typemszMessage.set_default_typec		Cs�t�}|�||�}||ur|Sg}t|�D]V}z$|�dd�\}}|��}|��}Wntyp|��}d}Yn0|�||f�q*t�|�}|S)Nr)rr)	r�rer7r�rr�r0rZ
decode_params)	rBr��headerr�r&�params�prr�rrr�_get_params_preservevs 

zMessage._get_params_preserver�TcCs8t�}|�||�}||ur|S|r0dd�|D�S|SdS)NcSsg|]\}}|t|�f�qSr)r9r�rrrr��rbz&Message.get_params.<locals>.<listcomp>)r�r�)rBr�r�r8r�r�rrr�
get_params�s
zMessage.get_paramscCsN||vr|S|�||�D]0\}}|��|��kr|r@t|�S|Sq|SrD)r�r.r9)rBrr�r�r8r�r�rrrrg�s
zMessage.get_paramrxrcCs
t|t�s|r|||f}||vr2|��dkr2d}n
|�|�}|j||d�st|s\t|||�}q�t�|t|||�g�}nbd}|j||d�D]N\}	}
d}|	��|��kr�t|||�}nt|	|
|�}|s�|}q�t�||g�}q�||�|�k�r|r�|�	||�n||=|||<dS)Nr�r:)r�r�r�r8)
rr r.rergr'r�rkr�r�)rBrr&r��requoter�languager_r�Z	old_param�	old_valueZappend_paramrrrr{�s6

��zMessage.set_paramcCs�||vrdSd}|j||d�D]@\}}|��|��kr|sHt|||�}qt�|t|||�g�}q||�|�kr|||=|||<dS)Nrr�)r�r.r'r�rkre)rBrr�r�Z	new_ctyper�r�rrrry�s
�zMessage.del_paramcCs�|�d�dkst�|��dkr,|d=d|d<||vr@|||<dS|j||d�}||=|||<|dd�D]\}}|�||||�qhdS)Nr�rr�zmime-versionrwrvr�)r,r�r.r�r{)rBrdr�r�r�r�r�rrr�set_typeszMessage.set_typecCsDt�}|�d|d�}||ur*|�d|d�}||ur6|St�|���S)N�filename�content-dispositionrr�)r�rgr�collapse_rfc2231_valuer)rBr�r�r�rrr�get_filename,szMessage.get_filenamecCs,t�}|�d|�}||ur|St�|���S)N�boundary)r�rgrr�r-)rBr�r�r�rrr�get_boundary<s
zMessage.get_boundarycCst�}|�|d�}||ur$t�d��g}d}|D]:\}}|��dkr\|�dd|f�d}q0|�||f�q0|s�|�dd|f�g}|jD]z\}	}
|	��dkr�g}|D].\}}
|
dkr�|�|�q�|�d||
f�q�t�|�}
|�|j	�
|	|
��q�|�|	|
f�q�||_dS)	Nr�zNo Content-Type header foundFr�z"%s"Trr)r�r�rZHeaderParseErrorr.r0r<r�rkr;r�)rBr�r�r�Z	newparamsZfoundpZpkZpvr��hr�r�r�r�rrr�set_boundaryIs2


zMessage.set_boundaryc	Cs�t�}|�d|�}||ur|St|t�rp|dp2d}z|d�d�}t||�}Wnttfyn|d}Yn0z|�d�Wnty�|YS0|��S)Nrrzus-asciirr`)	r�rgrr r!rrhrir.)rBr�r�rZpcharsetrRrrr�get_content_charsetws 

zMessage.get_content_charsetcs�fdd�|��D�S)Ncsg|]}|����qSr)r�)r��part�r�rrr��rbz(Message.get_charsets.<locals>.<listcomp>��walk)rBr�rr�r�get_charsets�szMessage.get_charsetscCs*|�d�}|durdSt|�d��}|S)Nr�r)rerr.)rBr&�c_drrr�get_content_disposition�s

zMessage.get_content_dispositionr�)FrN)FN)NF)N)N)N)Nr�T)Nr�T)rxTNrF)r�T)rxT)N)N)N)N)3�__name__�
__module__�__qualname__r	rCrGrErSrRrVrXrYr]rprurtr|r}r�r�r�r�r�r�r�r�rer�r�r�rzr�r�r�r�r�r�r�r�rgr{ryr�r�r�r�r�r�r�Zemail.iteratorsr�rrrrrosd


Z
/


				
�
"�
3

 


.


cs�eZdZd/�fdd�	Zd0�fdd�	Zdd�Zd	d
�Zdd�Zd1dd�Zhd�Z	dd�Z
dd�Zdd�dd�Zdd�dd�Z
dd�Zd2dd�Zd3dd�Zd4d d!�Zdd"�d#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z�ZS)5�MIMEPartNcs(|durddlm}|}t��|�dS)Nr)�default)Zemail.policyr��superrC)rBr;r���	__class__rrrC�szMIMEPart.__init__Fcs0|dur|jn|}|dur |j}t��|||�SrD)r;Zmax_line_lengthr�rE)rBrLrJr;r�rrrE�szMIMEPart.as_stringcCs|j|jjdd�d�S)NT)�utf8�r;)rEr;ZclonerFrrrrG�szMIMEPart.__str__cCs |�d�}|durdS|jdkS)Nr�F�
attachment)reZcontent_disposition)rBr�rrr�
is_attachment�s
zMIMEPart.is_attachmentc	cs|��rdS|���d�\}}|dkrB||vr>|�|�|fVdS|dksR|��sVdS|dkr�|��D]}|�||�EdHqfdSd|vr�|�d�|fVd}|�d�}|r�|��D]}|d|kr�|}q�q�|dur�|��}|r�|dnd}|du�r
|�||�EdHdS)Nr��text�	multipart�relatedr2�
content-idr)	r�r�r��indexrV�
iter_parts�
_find_bodyrgrp)	rBr��preferencelist�maintype�subtypeZsubpart�	candidater2Zsubpartsrrrr��s6

zMIMEPart._find_body�r��html�plaincCsBt|�}d}|�||�D]$\}}||kr|}|}|dkrq>q|S)Nr)rr�)rBr�Z	best_prio�bodyZprior�rrr�get_body�s
zMIMEPart.get_body>)r�r�)r�r�)r�r�)r��alternativec
cs"|���d�\}}|dks"|dkr&dS|��}z|��}WntyNYdS0|dkr�|dkr�|�d�}|r�d}g}|D]"}|�d�|kr�d}qz|�|�qz|r�|EdHdS|�d	�|EdHdSg}	|D]L}|���d�\}}||f|j	v�r|�
��s||	v�r|	�|�q�|Vq�dS)
Nr�r�r�r�r2Fr�Tr)r�r�rpr�rZrgrer0�pop�_body_typesr�)
rBr�r�r\r�r2r�Zattachmentsr��seenrrr�iter_attachmentssD



��
zMIMEPart.iter_attachmentsccs|��r|��EdHdSrD)rVrprFrrrr�CszMIMEPart.iter_parts)�content_managercOs(|dur|jj}|j|g|�Ri|��SrD)r;r��get_content�rBr��args�kwrrrr�KszMIMEPart.get_contentcOs,|dur|jj}|j|g|�Ri|��dSrD)r;r��set_contentr�rrrr�PszMIMEPart.set_contentc
Cs�|��dkr6|��}||f}||vr6td�||���g}g}|jD]4\}}|���d�rj|�||f�qD|�||f�qD|r�t|�|j	d�}	||	_|j
|	_
|	g|_
ng|_
||_d||d<|dur�|�d|�dS)Nr�zCannot convert {} to {}�content-r�z
multipart/rxr�)r�r�r�r�r<r.�
startswithr0rdr;r>r{)
rBr�Zdisallowed_subtypesr�Zexisting_subtypeZkeep_headersZpart_headersrr&r�rrr�_make_multipartUs.
�
zMIMEPart._make_multipartcCs|�dd|�dS)Nr�)r��mixed�r��rBr�rrr�make_relatedpszMIMEPart.make_relatedcCs|�dd|�dS)Nr�)r�r�r�rrr�make_alternativesszMIMEPart.make_alternativecCs|�dd|�dS)Nr�rr�r�rrr�
make_mixedvszMIMEPart.make_mixed)�_dispcOsj|��dks|��|kr(t|d|��t|�|jd�}|j|i|��|r\d|vr\||d<|�|�dS)Nr�Zmake_r�r�zContent-Disposition)r�r��getattrrdr;r�r])rBZ_subtyper�r�r�r�rrr�_add_multipartys
�zMIMEPart._add_multipartcOs |jdg|�Rddi|��dS)Nr�r�Zinline�r�rBr�r�rrr�add_related�szMIMEPart.add_relatedcOs|jdg|�Ri|��dS)Nr�rrrrr�add_alternative�szMIMEPart.add_alternativecOs |jdg|�Rddi|��dS)Nr�r�r�rrrrr�add_attachment�szMIMEPart.add_attachmentcCsg|_d|_dSrD�r<r>rFrrr�clear�szMIMEPart.clearcCsdd�|jD�|_d|_dS)NcSs&g|]\}}|���d�s||f�qS)r�)r.r�)r��nr�rrrr��s�z*MIMEPart.clear_content.<locals>.<listcomp>rrFrrr�
clear_content�szMIMEPart.clear_content)N)FNN)r�)N)N)N)r�r�r�rCrErGr�r�r�r�r�r�r�r�r�r�r�r�rrrrrr
�
__classcell__rrr�rr��s*
7



r�cseZdZ�fdd�Z�ZS)rcs&t�j|i|��d|vr"d|d<dS)Nrvrw)r�r�rr�rrr��szEmailMessage.set_content)r�r�r�r�rrrr�rr�s)NT)�__all__�rermrj�iorrZemailrrZemail._policybaserr	rr?Zemail._encoded_wordsrrrr��compiler#rr'r7r9rr�rrrrr�<module>s4


"N`