�
�fY � �V � d dgZ ddlZddlmZ ddlmZ ddlmZ ddlm Z ej
d� � Z ej
d � � Z ej
d
� � Z
ej
d � � Z ej
d� � ZdZd
Z e� � Z G d� de� � Z G d� d � � Z G d� de� � ZdS )�
FeedParser�BytesFeedParser� N)�errors)�compat32)�deque)�StringIOz
\r\n|\r|\nz(\r\n|\r|\n)z(\r\n|\r|\n)\Zz%^(From |[\041-\071\073-\176]*:|[\t ])� �
c �L � e Zd Z d� Zd� Zd� Zd� Zd� Zd� Zd� Z d� Z
d � Zd
� ZdS )�BufferedSubFilec �r � t d�� � | _ t � � | _ g | _ d| _ d S )Nr )�newlineF)r �_partialr �_lines� _eofstack�_closed��selfs �)/usr/lib64/python3.11/email/feedparser.py�__init__zBufferedSubFile.__init__4 s3 � � !��,�,�,��
��g�g����������� c �: � | j � |� � d S �N)r �append)r �preds r �push_eof_matcherz BufferedSubFile.push_eof_matcher? s � �����d�#�#�#�#�#r c �4 � | j � � � S r )r �popr s r �pop_eof_matcherzBufferedSubFile.pop_eof_matcherB s � ��~�!�!�#�#�#r c � � | j � d� � | � | j � � � � � | j � d� � | j � � � d| _ d S )Nr T)r �seek� pushlines� readlines�truncater r s r �closezBufferedSubFile.closeE sm � ��
���1�������t�}�.�.�0�0�1�1�1��
���1�����
��� � � �����r c �� � | j s| j rdS t S | j � � � }t | j � � D ]*} ||� � r| j � |� � dS �+|S �Nr )r r �NeedMoreData�popleft�reversedr �
appendleft)r �line�ateofs r �readlinezBufferedSubFile.readlineM s� � ��{� ��|�
��r��� �{�"�"�$�$�� �d�n�-�-� � �E��u�T�{�{�
���&�&�t�,�,�,��r�r�
� �r c �: � | j � |� � d S r )r r+ �r r, s r �
unreadlinezBufferedSubFile.unreadline_ s � �
����t�$�$�$�$�$r c �� � | j � |� � d|vrd|vrd S | j � d� � | j � � � }| j � d� � | j � � � |d � d� � s,| j � |� � � � � | � |� � d S )Nr
�
r ���)r �writer! r# r$ �endswithr r"