�
�fq��� gd�ZdZdZdZdZ ddlmZmZn#e$rdZdZYnwxYwd�Z d �Z
dd�Zdd�Zdd
�Z
dd�Zd�Zd�Zd�Zedkre��dSdS))�encode�decode�encodestring�decodestring�=�Ls0123456789ABCDEF��)�a2b_qp�b2a_qpNc�X� |dvr|S|dkr|S|tkpd|cxkodkncS)N� �_� �~)�ESCAPE)�c� quotetabs�headers �-/opt/alt/python311/lib64/python3.11/quopri.py�needsquotingrsT��� �F�{�{����D�y�y��
���;�1�t�q�0�0�0�0�D�0�0�0�0�1�1rc�� t|��}ttt|dzt|dzf��zS)N�)�ordr�bytes�HEX�rs r�quoter$s8��#��A���A��E�3�q�"�u�:�s�1�R�4�y�1�2�2�2�2rFc�� t�=|���}t|||���}|�|��dS|dfd�}d} |���}|s�ng} d}
|dd�dkr|dd�}d}
|D]e}t |f��}t|||��rt
|��}|r|dkr| �d���P| �|���f|�||��t� | ��}t|��tkrG||dtdz
�d �
��|tdz
d�}t|��tk�G|}��(|�|||
�
��dSdS)N�rr�
c� �|rF|dd�dvr:|�|dd�t|dd���z|z��dS|dkr'|�t|��|z��dS|�||z��dS)N���r
�.)�writer)�s�output�lineEnds rr$zencode.<locals>.write;s���
� &��2�3�3��6�!�!��L�L��3�B�3��%��"�#�#��-�-�/�'�9�:�:�:�:�:�
�$�Y�Y��L�L��q���G�+�,�,�,�,�,��L�L��W��%�%�%�%�%r�rr"rrs=
)r')r�readr$�readlinerrr�append�EMPTYSTRING�join�len�MAXLINESIZE)
�inputr&rr�data�odatar$�prevline�line�outline�strippedr�thislines
rrr,s���
����z�z�|�|���t�y��@�@�@�����U��������&�&�&�&��H���~�~����� ����������9��������9�D��H�� "� "�A��q�d���A��A�y�&�1�1�
��!�H�H���
"�!�t�)�)����t�$�$�$�$����q�!�!�!�!����E�(�O�O�O��#�#�G�,�,���(�m�m�k�)�)�
�E�(�>�K��M�>�*�F�;�;�;�;���A�
���/�H� �(�m�m�k�)�)���?�B��
��h��)�)�)�)�)�)��rc��t�t|||���Sddlm}||��}|��}t||||��|���S)Nrr ��BytesIO)r�ior:r�getvalue)r%rrr:�infp�outfps rrrjsk��
���a�9�V�<�<�<�<��������7�1�:�:�D��G�I�I�E�
�4�� �6�*�*�*��>�>���rc �� t�<|���}t||���}|�|��dSd} |���}|s�n�dt |��}}|dkrH||dz
|�dkr7d} |dz
}|dkr)||dz
|�dvr|dz
}|dkr||dz
|�dv�nd} ||kr�|||dz�}
|
dkr
|r|dz}|dz}n�|
t
kr||
z}|dz}n�|dz|kr| sd} n�|dz|kr)||dz|d z�t
kr|t
z}|d z}n�|d z|krnt
||dz|d z���rQt
||d z|d
z���r4|tt||dz|d
z���f��z}|d
z}n
||
z}|dz}||k��| s|�|dz��d}���|r|�|��dSdS)N�rrr(r r s
rr��) r
r)r$r*r.r�ishexr�unhex)r0r&rr1r2�newr4�i�n�partialrs rrrus���G����z�z�|�|���t�F�+�+�+�����U������
�C���~�~������U��#�d�)�)�1���q�5�5�T�!�A�#�a�%�[�E�)�)��G�Q�q�S���a�%�%�D��1��Q��K�8�3�3��a�C���a�%�%�D��1��Q��K�8�3�3���G��!�e�e��Q�q��s�U��A��D�y�y�V�y��D�j��a��c�!�!��f����A�g��1�Q�3�q�q��1�����'����U��1��q���T�!�A�#�a��c�'�]�f�4�4��F�l���!��A�A��1��q���U�4��!��A�a�C��=�1�1��e�D��1��Q�q�S��M�6J�6J���E�5��a��c�!�A�#�g��#7�#7�"9�:�:�:���!��A�A��A�g��1�Q�3�q��!�e�e�� ��L�L��u��%�%�%��C�7�8�����S�������rc��t�t||���Sddlm}||��}|��}t|||���|���S)Nr@r r9)r
r;r:rr<)r%rr:r=r>s rrr�sj��
���a��'�'�'�'��������7�1�:�:�D��G�I�I�E�
�4��v�&�&�&�&��>�>���rc�d� d|cxkodkncpd|cxkodkncpd|cxkodkncS)N�0�9�a�f�A�F�rs rrCrC�si��N��1����������F��� 1� 1� 1� 1�T� 1� 1� 1� 1�F�T�Q�5F�5F�5F�5F�$�5F�5F�5F�5F�Frc�0� d}|D]�}t|f��}d|cxkrdkrnntd��}nEd|cxkrdkrnntd��dz
}n"d |cxkrd
krnntd ��dz
}|dzt|��|z
z}��|S)Nr rKrL�0rMrN�a�
rOrPr)rr)r%�bitsrrFs rrDrD�s���8��D�
�
&�
&���1�$�K�K���1������������C���A�A�
�Q�
�
�
�
�$�
�
�
�
�
��C�����A�A�
�Q�
�
�
�
�$�
�
�
�
�
��D� � �"��A��B�w�#�a�&�&�1�*�%����Krc���ddl}ddl} |�|jdd�d��\}}nt#|j$rg}|j|_t
|��t
d��t
d��t
d��|�d��Yd}~nd}~wwxYwd}d}|D]\}}|d krd
}|dkrd
}�|r2|r0|j|_t
d��|�d��|sd
g}d} |D]�}
|
d
kr
|jj }nK t|
d��}n9#t$r,}|j�|
�d|�d���d} Yd}~�Xd}~wwxYw |rt||jj ��nt||jj |��|
d
kr|�����#|
d
kr|���wwxYw| r|�| ��dSdS)Nr r(�tdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoderAFz-tTz-dz -t and -d are mutually exclusive�-�rbz: can't open (z)
)�sys�getopt�argv�error�stderr�stdout�print�exit�stdin�buffer�open�OSErrorr$rr�close)r[r\�opts�args�msg�deco�tabs�orT�sts�file�fps r�mainrq�s_���J�J�J��M�M�M���]�]�3�8�A�B�B�<��6�6�
��d�d���<�����Z��
�
�c�
�
�
�
�2�3�3�3�
�����
�*�+�+�+�����������������
�����D��D��"�"���1���9�9�T�d���9�9�T�d�������Z��
�
�0�1�1�1�������������
�C������3�;�;���!�B�B�
��$��%�%�����
�
�
��
� � �D�D�D�#�#�#�!F�G�G�G������������
���� ��
4��r�3�:�,�-�-�-�-��r�3�:�,�d�3�3�3��s�{�{����
�
�
����s�{�{����
�
�
�
�����
������
�
�
�
�
��s9�&1�
B"�AB�B"�D%�%
E�/"E�E�8F2�2G�__main__)F)FF)�__all__rr/rr,�binasciir
r�ImportErrorrrrrrrrCrDrq�__name__rQrr�<module>rws:��O�?�
>�
>��
���������'�'�'�'�'�'�'�'�'������
�F�
�F�F�F�����
2�
2�
2�3�3�3�<*�<*�<*�<*�|����)�)�)�)�V����G�G�G�
���$*�*�*�\�z����D�F�F�F�F�F��s�� $�$ |