File: //proc/self/root/opt/alt/python312/lib64/python3.12/email/__pycache__/utils.cpython-312.opt-2.pyc
�
�y���
�� � � 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 �2/opt/alt/python312/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<