a XC?h�(�@s�ddlZddlZddlmZmZmZmZddlmZddl m Z ddl m Z ddl mZgd�Ze�d�ZeGd d �d e��Ze�Ze`ejd d �Zejd d�Zejd dd�Zejd d�ZdS)�N)�Policy�Compat32�compat32�_extend_docstrings)�_has_surrogates)�HeaderRegistry)�raw_data_manager)� EmailMessage)rrr� EmailPolicy�default�strict�SMTP�HTTPz\n|\rcsleZdZeZdZdZe�Ze Z �fdd�Z dd�Z dd�Z d d �Zd d �Zd d�Zdd�Zddd�Z�ZS)r F�longc s.d|vrt�|dt��t�jfi|��dS)N�header_factory)�object� __setattr__r�super�__init__)�self�kw�� __class__��1/opt/alt/python39/lib64/python3.9/email/policy.pyr]szEmailPolicy.__init__cCs |j|jS�N)rZ max_count)r�namerrr�header_max_countdszEmailPolicy.header_max_countcCs>|d�dd�\}}|�d�d�|dd��}||�d�fS)Nr�:�z �� )�split�lstrip�join�rstrip)rZ sourcelinesr�valuerrr�header_source_parsevs zEmailPolicy.header_source_parsecCsVt|d�r$|j��|��kr$||fSt|t�rFt|���dkrFtd��||�||�fS)NrrzDHeader values may not contain linefeed or carriage return characters) �hasattrr�lower� isinstance�str�len� splitlines� ValueErrorr�rrr&rrr�header_store_parse�s zEmailPolicy.header_store_parsecCs*t|d�r|Sd�t�|��}|�||�S)Nrr )r(r$�linesep_splitterr"rr/rrr�header_fetch_parse�s zEmailPolicy.header_fetch_parsecCs|j||dd�S)NT�� refold_binary)�_foldr/rrr�fold�szEmailPolicy.foldcCs0|j|||jdkd�}|jr dnd}|�|d�S)NZ7bitr3�utf8�ascii�surrogateescape)r5Zcte_typer7�encode)rrr&Zfolded�charsetrrr� fold_binary�szEmailPolicy.fold_binarycs�t|d�r|j|d�S|jr"|jntj�|��}|jdkp�|jdko�|rdt|d�t|�d�kp�t�fdd�|d d�D��}|s�|r�t |�r�|� |d � |��j|d�S|d |j � |�|j S) Nr)Zpolicy�allrr�c3s|]}t|��kVqdSr)r,)�.0�x��maxlenrr� ��z$EmailPolicy._fold..rr z: ) r(r6�max_line_length�sys�maxsizer-� refold_sourcer,�anyrrr$�linesep)rrr&r4�linesZrefoldrrArr5�s     �zEmailPolicy._fold)F)�__name__� __module__� __qualname__r Zmessage_factoryr7rHrrrZcontent_managerrrr'r0r2r6r<r5� __classcell__rrrrr s=  r T)Zraise_on_defectr!)rJ)rJrE)r7)�rerFZemail._policybaserrrrZ email.utilsrZemail.headerregistryrZemail.contentmanagerrZ email.messager �__all__�compiler1r r rZcloner r rZSMTPUTF8rrrr�s"     @