Edit File: nntplib.cpython-311.opt-2.pyc
� �����f���������������������������� �d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZ �d�dlZdZn #�e$�r�dZY�nw�xY�wd�dl m Z�d�dlmZ�g�d�Z �ej��������ed��������������d Z�G�d ��de������������Z�G�d��d e������������Z�G�d��de������������Z�G�d��de������������Z�G�d��de������������Z�G�d��de������������ZdZdZh�d�Zg�d�Zddd�ZdZ�ej��������dg�d�������������Z�ej��������d g�d!�������������Z d"��Z d#��Z!dVd$�Z"dVd%�Z#dWd&�Z$erd'��Z%�G�d(��d)������������Z&er#�G�d*��d+e&������������Z'e �(��������������������d+�������������ed,k�����r,d�dl)Z)�e)j*��������d-�.������������Z+e+�,��������������������d/d0d1d2�3�������������e+�,��������������������d4d5d6d7�3�������������e+�,��������������������d8d9d:e-d;e�d<e�d=��>�������������e+�,��������������������d?d@dAe-dB�>�������������e+�,��������������������dCdDdEddF�G�������������e+�.����������������������������������Z/e/j0��������Z0e/j��������se0d:k����reZ0�e&e/j1��������e0�H������������Z2ne0d:k����reZ0�e'e/j1��������e0�H������������Z2e2�3����������������������������������Z4dIe4v�re2�5�����������������������������������e2�6��������������������e/j6��������������������\��Z7Z8Z9Z:Z;�e<dJe;dKe8dLe9dMe:�������������dN��Z=�e>�e-e:������������e/j?��������z ��dOz���������������Z9e2�@��������������������e9e:������������\��Z7ZAeAD�]�\��ZBZC�e eCdP����������������������D��������������������dQdO������������d����������ZE�e eCdR���������������������ZF�e-eCd���������������������ZG�e<dS�H��������������������eB�e=eEdT�������������e=eFdU������������eG���������������������������e2�I�����������������������������������dS�dS�)X�����NTF)� decode_header)�_GLOBAL_DEFAULT_TIMEOUT)�NNTP� NNTPError�NNTPReplyError�NNTPTemporaryError�NNTPPermanentError�NNTPProtocolError� NNTPDataErrorr���)����� ���)�removei���c�������������������������e�Zd�Z �d��ZdS�)r���c������������������v�����t����������j��������|�g|�R���� �|d���������|�_��������d�S�#�t����������$�r�d|�_��������Y�d�S�w�xY�w)Nr���zNo response given)� Exception�__init__�response� IndexError)�self�argss��� �./opt/alt/python311/lib64/python3.11/nntplib.pyr���zNNTPError.__init__e���sW��������4�'�$�'�'�'�'� 0� ��G�D�M�M�M���� 0�� 0�� 0�/�D�M�M�M�M� 0���s���� #��8�8N)�__name__� __module__�__qualname__r����������r���r���r���c���s&��������������/�0��0��0��0��0r���r���c�������������������������e�Zd�Z �dS�)r���N�r���r���r���r���r���r���r���r���l���s��������������"��Dr���r���c�������������������������e�Zd�Z �dS�)r���Nr���r���r���r���r���r���p��������������������Dr���r���c�������������������������e�Zd�Z �dS�)r ���Nr���r���r���r���r ���r ���t���r ���r���r ���c�������������������������e�Zd�Z �dS�)r ���Nr���r���r���r���r ���r ���x���s��������������,��Dr���r ���c�������������������������e�Zd�Z �dS�)r���Nr���r���r���r���r���r���|���s�������������� ��Dr���r����w���i3��>����100�101�211�215�220�221�222�224�225�230�231�282)�subject�from�datez message-id� references�:bytes�:linesr5���r6���)�bytes�lines���� � GroupInfo)�group�last�first�flag�ArticleInfo)�number� message_idr8���c���������������������� �g�}t����������|�������������D�]Z\��}}t����������|t����������������������r+|���������������������|���������������������|pd��������������������������E|���������������������|��������������[d���������������������|������������S�)N�ascii��)�_email_decode_header� isinstancer7����append�decode�join)� header_str�parts�v�encs��� r���r���r�������s�������@��E�&�z�2�2�������3��a����� ��L�L����#�.��1�1�2�2�2�2��L�L��O�O�O�O� �7�7�5�>�>�r���c���������������������� �g�}|�D�]�}|d���������dk����r'|dd���������������������������������d������������\��}}}d|z���}n|����������������������d������������\��}}}|�����������������������������������}t�������������������������������||������������}|���������������������|���������������t ����������}t ����������|������������t ����������|������������k�����rt����������d�������������|d�t ����������|����������������������|k����rt����������d�������������|S�)Nr����:����z$LIST OVERVIEW.FMT response too shortz*LIST OVERVIEW.FMT redefines default fields)� partition�lower�_OVERVIEW_FMT_ALTERNATIVES�getrG����_DEFAULT_OVERVIEW_FMT�lenr���)r8����fmt�line�name�_�suffix�defaultss��� r����_parse_overview_fmtr]�������s�������$�� �C���������7�c�>�>�"�1�2�2�h�0�0��5�5�O�D�!�V���:�D�D��#�n�n�S�1�1�O�D�!�V��z�z�|�|��)�-�-�d�D�9�9��� � �4�����$�H� �3�x�x�#�h�-�-����B�C�C�C� �>�C��M�M�>��h�&�&��H�I�I�I��Jr���c������������������*���� �t����������t����������������������}g�}|�D�]�}i�}|���������������������d������������^}}t����������|������������}t ����������|������������D�]�\��} } | t����������|������������k����r�|| ���������}|���������������������d������������}| |k����r`|s^|dz���} | r<| d�t����������| ���������������������������������������������������������| k����rt����������d�������������| r| t����������| ������������d�����������nd�} | ||| ���������<�����|���������������������||f���������������|S�)N� rO���z: z?OVER/XOVER response doesn't include names of additional headers) rV���rU����split�int� enumerate� startswithrR���r���rG���)r8���rW����data_process_func� n_defaults�overviewrX����fields�article_number�tokens�i�token� field_name�is_metadata�hs��� r����_parse_overviewro�������sG�������*�+�+�J��H���2��2����"&�*�*�T�"2�"2�����^�,�,��!�&�)�)�� #�� #�H�A�u��C��H�H�}�}����Q��J�$�/�/��4�4�K��J���{�����%����G�U�7�C��F�F�7�^�1�1�3�3�q�8�8�'��)F��G��G��G�*/�9��c�!�f�f�g�g���T��"�F�3�q�6�N�N������0�1�1�1�1��Or���c���������������������� �|�|�dd�����������}|�d�d����������}�t����������|d�d����������������������}t����������|dd����������������������}t����������|dd�����������������������}t����������|�d�d����������������������}t����������|�dd����������������������}t����������|�dd�����������������������}|dk�����r|dz ��}n|dk�����r|d z ��}t����������j��������||||||������������S�) Ni�������������������F���i����d���il��)ra����datetime)�date_str�time_str�hours�minutes�seconds�year�month�days��� r����_parse_datetimer��������s������������B�C�C�=���C�R�C�=�����!�����E��(�1�Q�3�-� � �G��(�1�2�2�,���G��x����}���D����B��� � �E� �h�r�s�s�m� � �C���b�y�y������ ����������T�5�#�u�g�w�G�G�Gr���c������������������������ �t����������|�t����������j��������������������sd}nd���������������������|�������������}|�j��������}|r|dz��}d���������������������||�������������}nd���������������������||�������������}||fS�)N�000000z({0.hour:02d}{0.minute:02d}{0.second:02d}rv���z{0:02d}{1.month:02d}{1.day:02d}z{0:04d}{1.month:02d}{1.day:02d})rF���rw����formatr}���)�dt�legacyry����yrx���s��� r����_unparse_datetimer������s����������b�(�+�,�,��I����=�D�D�R�H�H�� ��A� ��C� ��G��4�;�;�A�r�B�B���4�;�;�A�r�B�B���X��r���c������������������\����� �|�t����������j����������������������}|���������������������|�|�������������S�)N)�server_hostname)�ssl�_create_stdlib_context�wrap_socket)�sock�context�hostnames��� r����_encrypt_onr������s5������ ���?��0�2�2�G��"�"�4��"�B�B�Br���c������������������������e�Zd�ZdZdZeddddefd�Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��ZeZd ��Zd��Zd8d�Zd��Zd9d�Zd��Zd9d�Zd9d�Zd��Zd��Zd��Zdd�d�Zdd�d�Zd9dd�d�Zd��Zd��Zd��Z d ��Z!dd�d!�Z"d"��Z#d#��Z$d9d$�Z%d%��Z&d&��Z'd9d'�Z(d9dd�d(�Z)d9dd�d)�Z*d9dd�d*�Z+d+��Z,dd�d,�Z-dd�d-�Z.dd�d.�Z/d/��Z0d0��Z1d1��Z2d2��Z3d3��Z4d4��Z5d:d5�Z6d6��Z7e8rd9d7�Z9dS�dS�);r���zutf-8�surrogateescapeNFc���������������������� �||�_���������||�_��������|����������������������|������������|�_��������d�|�_�������� �|�j�����������������������������d������������|�_��������|����������������������|�������������|s|r|����������������������|||�������������d�S�d�S�#��|�j��������r|�j��������������������������������������������|�j����������������������������������������������xY�w)N�rwb) �host�port�_create_socketr�����file�makefile� _base_init�login�close)r���r����r�����user�password� readermode�usenetrc�timeouts��� r���r���z NNTP.__init__;��s������� �"��� ��� ��'�'��0�0�� ��� � �� �*�*�5�1�1�D�I��O�O�J�'�'�'��� 5�x�� 5�� � �4��8�4�4�4�4�4� 5�� 5�� ��y�� "�� ���!�!�!��I�O�O�������s����AB��<Cc������������������*���� �d|�_���������|������������������������������������|�_��������d�|�_��������|�������������������������������������d|�_��������|r?d|�j��������vr6|�������������������������������������|�j��������sd�|�_��������|�������������������������������������d|�_��������d|�_��������d�S�)Nr���F�READER) � debugging�_getresp�welcome�_caps�getcapabilities�readermode_afterauth�_setreadermode�tls_on� authenticated)r���r����s��� r���r����zNNTP._base_init^��s������� ������}�}�������� ��������%*��!��� '�(�$�*�4�4����!�!�!��,�� '�!�� ��$�$�&�&�&� �����#����r���c�����������������������|�S��Nr����r���s��� r���� __enter__zNNTP.__enter__���s�������r���c��������������������������fd�}�|��������������rs ����������������������������������������n#�t����������t����������f$�r�Y�nw�xY�w�|��������������r��������������������������������������d�S�d�S�#��|��������������r��������������������������������������w�w�xY�wd�S�)Nc�������������������$������t������������d������������S�)Nr����)�hasattrr����s����r����<lambda>zNNTP.__exit__.<locals>.<lambda>���s�������w�t�V�4�4��r���)�quit�OSError�EOFError�_close)r���r����is_connecteds���` r����__exit__z NNTP.__exit__���s��������4�4�4�4���<�>�>�� "� "�� � �������X�&�� �� �� ��� ����� �<�>�>��"��K�K�M�M�M�M�M�"��"��<�<�>�>��"��K�K�M�M�M�M�"���� "�� "s!����'��A ��;�A ��;�A �� !Bc�����������������������|�|st����������d�������������t����������j��������d|�|�j��������|�j���������������������t����������j��������|�j��������|�j��������f|������������S�)Nz0Non-blocking socket (timeout=0) is not supportedznntplib.connect)� ValueError�sys�auditr����r�����socket�create_connection)r���r����s��� r���r����zNNTP._create_socket���sS��������w���O�P�P�P�� �#�T�4�9�d�i�@�@�@��'���D�I�(>��H�H�Hr���c������������������d����� �|�j���������r"t����������dt����������|�j���������������������������������|�j��������S�)Nz *welcome*)r�����print�reprr����r����s��� r���� getwelcomezNNTP.getwelcome���s2������ .� ��>�A�5��d�4�<�.@�.@�A�A�A��|�r���c������������������b���� �|�j�����������d|�_��������d�|�_�������� �|������������������������������������\��}}||�_���������d|v�r-t ����������t����������t����������|d���������������������������������|�_��������d|v�r d���������������������|d���������������������|�_��������n#�t����������t����������f$�r �i�|�_���������Y�nw�xY�w|�j���������S�)NrP����VERSION�IMPLEMENTATION� ) r�����nntp_version�nntp_implementation�capabilities�max�mapra���rI���r ���r���)r����resp�capss��� r���r����zNNTP.getcapabilities���s������� ���:�� !�D��'+�D�$� P�!�.�.�0�0� ��d� �"�� ���$�$��),�C��T�)�_�,E�,E�(F�(F�D�%�#�t�+�+�/2�x�x��=M�8N�/O�/O�D�,����'�(:�;�� �� �� ��� � � � ������z�s����B��B'�&B'c����������������������� �||�_���������d�S�r����)r����)r����levels��� r����set_debuglevelzNNTP.set_debuglevel���s������ H� �����r���c����������������������� �t����������j��������d|�|�������������|t����������z���}|�j��������dk����rt ����������dt����������|�������������������������|�j�����������������������������|�������������|�j��������������������������������������������d�S�)Nznntplib.putlinerP���z*put*) r����r�����_CRLFr����r����r����r�����write�flush�r���rX���s��� r����_putlinez NNTP._putline���ss������ 3�� �#�T�4�0�0�0��e�|���>�A���u�W�d�4�j�j�9�9�9�� �������� �������r���c����������������������� �|�j���������rt����������dt����������|�������������������������|���������������������|�j��������|�j��������������������}|����������������������|�������������d�S�)Nz*cmd*)r����r����r�����encode�encoding�errorsr����r����s��� r����_putcmdzNNTP._putcmd���sS������ 0��>�5�5��$�t�*�*�5�5�5��{�{�4�=�$�+�6�6��� � �d�����r���Tc������������������r���� �|�j������������������������������t����������dz���������������}t����������|������������t����������k����rt ����������d�������������|�j��������dk����rt ����������dt����������|�������������������������|st�����������|r9|dd�����������t����������k����r|d�d����������}n|dd�����������t����������v�r |d�d����������}|S�)NrP���z line too longz*get*rt������) r�����readline�_MAXLINErV���r���r����r����r����r����r����)r���� strip_crlfrX���s��� r����_getlinez NNTP._getline���s������� #���y�!�!�(�A�+�.�.���t�9�9�x�����0�0�0��>�A����'�4��:�:�&�&�&��#�8�^��� !��B�C�C�y�E�!�!��C�R�C�y����b�c�c��e�#�#��C�R�C�y���r���c������������������F���� �|�������������������������������������}|�j��������rt����������dt����������|�������������������������|���������������������|�j��������|�j��������������������}|d�d����������}|dk����rt����������|�������������|dk����rt����������|�������������|dvrt����������|�������������|S�)Nz*resp*rP����4�5�123) r����r����r����r����rH���r����r����r���r ���r ���)r���r�����cs��� r���r����z NNTP._getresp���s������� %���}�}�����>�6�5��4��:�:�6�6�6��{�{�4�=�$�+�6�6����!��H����8�8�$�T�*�*�*���8�8�$�T�*�*�*��E�>�>�#�D�)�)�)��r���c���������������������� �d�} �t����������|t����������t����������f������������rt����������|d������������x}}|������������������������������������}|d�d����������t ����������vrt ����������|�������������g�}|�]dt����������z���df} �|����������������������d������������}||v�rn5|� ��������������������d������������r |dd�����������}|� ��������������������|��������������OnSd} �|������������������������������������}||k����rn5|� ��������������������d������������r |dd�����������}|���������������������|��������������P|r|������������������������������������n#�|r|������������������������������������w�w�xY�w||fS�)N�wbr�������.s���. rP���Fs���..) rF����strr7����openr����� _LONGRESPr���r����r����rc���r����rG���r����)r���r����� openedFiler����r8����terminatorsrX���� terminators��� r����_getlongrespzNNTP._getlongresp���s������ ��� � #��$��e��-�-�� 5�$(��t�$4�$4�4� �T��=�=�?�?�D��B�Q�B�x�y�(�(�$�T�*�*�*��E���#�e�|�V�4��%��=�=��/�/�D��{�*�*�����u�-�-��(�#�A�B�B�x���J�J�t�$�$�$� %��� �"� �'��=�=�?�?�D��z�)�)�����u�-�-��(�#�A�B�B�x���L�L��&�&�&� '���� #�� � �"�"�"������ #�� � �"�"�"�"� #������U�{�s����DD2��2Ec������������������V����� �|�����������������������|�������������|������������������������������������S�r����)r����r����r����s��� r���� _shortcmdzNNTP._shortcmd��s'������ ,����T�����}�}���r���c������������������X����� �|�����������������������|�������������|����������������������|������������S�r�����r����r����)r���rX���r����s��� r����_longcmdz NNTP._longcmd!��s-������ 0����T����� � ��&�&�&r���c������������������������� �������������������������|������������������������������������|������������\��}}|��fd�|D���������������fS�)Nc������������������P������g�|�]"}|�����������������������j���������j����������������������#S�r���)rH���r����r����)�.0rX���r���s��� �r���� <listcomp>z'NNTP._longcmdstring.<locals>.<listcomp>.��s;��������(��(��(����k�k�$�-���=�=��(��(��(r���r����)r���rX���r����r�����lists���` r����_longcmdstringzNNTP._longcmdstring'��sf������� �� ���T�����&�&�t�,�,� ��d���(��(��(��(�"&�(��(��(��(�� (r���c������������������������ � �|�j���������S�#�t����������$�r�Y�nw�xY�w �|����������������������d������������\��}}t����������|������������}n#�t����������$�r�t ����������d�d�����������}Y�nw�xY�w||�_���������|S�)NzLIST OVERVIEW.FMT)�_cachedoverviewfmt�AttributeErrorr����r]���r ���rU���)r���r����r8���rW���s��� r����_getoverviewfmtzNNTP._getoverviewfmt1��s������� 8� ��*�*���� �� �� ��D� ���� -��-�-�.A�B�B�K�D�%� �&�e�,�,�C�C�� �"�� +�� +�� +�'����*�C�C�C� +���� �#&���� s���� �� ��A��A�Ac�����������������������d��|D���������������S�)Nc������������������D�����g�|�]}t����������|���������������������������������������S�r���)r:���r`���)r����rX���s��� r���r����z#NNTP._grouplist.<locals>.<listcomp>D��s%������;�;�;�T� �4�:�:�<�<�(�;�;�;r���r���)r���r8���s��� r���� _grouplistzNNTP._grouplistB��s������;�;�U�;�;�;�;r���c����������������������� �i�}|�����������������������d������������\��}}|D�]}|�����������������������������������^}}|||<����||fS�)N�CAPABILITIES)r����r`���)r���r����r����r8���rX���rY���ri���s��� r���r����zNNTP.capabilitiesF��sZ������ �����)�)�.�9�9���e��� �� �D� �J�J�L�L�M�D�6��D��J�J��T�z�r���)r����c�����������������l���� �t����������|t����������j��������t����������j��������f������������s,t����������d���������������������|j��������j���������������������������������t����������||�j��������dk�����������������\��}}d���������������������||������������}|�� ��������������������||������������\��}}||�� ��������������������|������������fS�)N�Athe date parameter must be a date or datetime object, not '{:40}'rq���zNEWGROUPS {0} {1})rF���rw���r3���� TypeErrorr����� __class__r���r����r����r����r��)r���r3���r����rx���ry����cmdr����r8���s��� r���� newgroupszNNTP.newgroupsT��s������� ���$���� � >�?�?�� ?���$�f�T�^�%<�=�=�?��?�� ?��/�t�T�5F��5J�K�K���(�!�(�(��8�<�<���)�)�#�t�4�4���e��T�_�_�U�+�+�+�+r���c�����������������:���� �t����������|t����������j��������t����������j��������f������������s,t����������d���������������������|j��������j���������������������������������t����������||�j��������dk�����������������\��}}d���������������������|||������������}|�� ��������������������||������������S�)Nr��rq���zNEWNEWS {0} {1} {2}) rF���rw���r3���r ��r����r ��r���r����r����r����)r���r;���r3���r����rx���ry���r��s��� r����newnewszNNTP.newnewsd��s������� ���$���� � >�?�?�� ?���$�f�T�^�%<�=�=�?��?�� ?��/�t�T�5F��5J�K�K���(�#�*�*�5�(�H�E�E���"�"�3��-�-�-r���c�����������������x����� �|�d|z���}nd}|�����������������������||������������\��}}||����������������������|������������fS�)NzLIST ACTIVE �LIST)r����r��)r���� group_patternr�����commandr����r8���s��� r���r����z NNTP.listt��sP������ ���$�$�}�4�G�G��G��)�)�'�4�8�8���e��T�_�_�U�+�+�+�+r���c������������������x����t����������j��������d������������}|����������������������d|z���������������\��}}|���������������������d������������s|����������������������d|z���������������\��}}i�}|D�]O}|���������������������|�����������������������������������������������}|r$|���������������������dd������������\��} } |s| c�S�| || <����P|r||fS�dS�)Nz^(?P<group>[^ ]+)[ ]+(.*)$zLIST NEWSGROUPS r(���zXGTITLE rP���rq���rD���)�re�compiler����rc����search�stripr;���)r���r��� return_all�line_patr����r8����groups�raw_line�matchrY����descs��� r����_getdescriptionszNNTP._getdescriptions���s��������:�>�?�?���)�)�*<�}�*L�M�M���e����u�%�%�� J���-�-�j�=�.H�I�I�K�D�%����� $�� $�H��O�O�H�N�N�$4�$4�5�5�E��� $�"�[�[��A�.�.� ��d�!�� ��K�K�K�#��t����� ���<����2r���c������������������0����� �|�����������������������|d������������S�)NF�r��)r���r;���s��� r����descriptionzNNTP.description���s������ 7���$�$�U�E�2�2�2r���c������������������0����� �|�����������������������|d������������S�)NTr ��)r���r��s��� r����descriptionszNNTP.descriptions���s������5��$�$�]�D�9�9�9r���c���������������������� �|�����������������������d|z���������������}|���������������������d������������st����������|�������������|�����������������������������������}dx}x}}t ����������|������������}|dk����rD|d���������}|dk����r6|d���������}|dk����r(|d���������}|dk����r|d��������������������������������������������}|t ����������|������������t ����������|������������t ����������|������������|fS�)NzGROUP r'���r���rP���rq���r���rr���)r����rc���r���r`���rV���rR���ra���)r���rY���r�����words�countr=���r<����ns��� r���r;���z NNTP.group���s������� ���~�~�h��o�.�.�����u�%�%�� '� ��&�&�&�� � ���� � �� �����J�J���q�5�5��!�H�E��1�u�u��a����q�5�5� ��8�D��1�u�u�$�Q�x�~�~�/�/���S��Z�Z��U���S��Y�Y��<�<r���c�����������������0����� �|�����������������������d|������������S�)N�HELP)r����)r���r����s��� r����helpz NNTP.help���s������ ���"�"�6�4�0�0�0r���c����������������������� �|����������������������d������������st����������|�������������|�����������������������������������}t����������|d���������������������}|d���������}|||fS�)N�22rP���rq���)rc���r���r`���ra���)r���r����r%���art_numrA���s��� r���� _statparsezNNTP._statparse���s[������ *����t�$�$�� '� ��&�&�&�� � �����e�A�h�-�-���1�X� ��W�j�(�(r���c������������������X����� �|�����������������������|������������}|����������������������|������������S�r����)r����r.��)r���rX���r����s��� r����_statcmdz NNTP._statcmd���s(������=��~�~�d�#�#�����t�$�$�$r���c����������������������� �|r(|�����������������������d���������������������|������������������������S�|�����������������������d������������S�)NzSTAT {0}�STAT)r0��r����)r����message_specs��� r����statz NNTP.stat���sC������ ���� )��=�=��!2�!2�<�!@�!@�A�A�A��=�=��(�(�(r���c������������������.����� �|�����������������������d������������S�)N�NEXT�r0��r����s��� r����nextz NNTP.next����������I��}�}�V�$�$�$r���c������������������.����� �|�����������������������d������������S�)N�LASTr7��r����s��� r���r<���z NNTP.last���r9��r���c����������������������� �|�����������������������||������������\��}}|����������������������|������������\��}}}|t����������|||������������fS�r����)r����r.��r?���)r���rX���r����r����r8���r-��rA���s��� r����_artcmdzNNTP._artcmd���sK������@��m�m�D�$�/�/���e�$(�O�O�D�$9�$9�!��g�z��[��*�e�<�<�<�<r���c�����������������d����� �|�d����������������������|������������}nd}|����������������������||������������S�)NzHEAD {0}�HEAD�r����r=���r���r3��r����r��s��� r����headz NNTP.head����=������ ���#��#�#�L�1�1�C�C��C��|�|�C��&�&�&r���c�����������������d����� �|�d����������������������|������������}nd}|����������������������||������������S�)NzBODY {0}�BODYr@��rA��s��� r����bodyz NNTP.body��rC��r���c�����������������d����� �|�d����������������������|������������}nd}|����������������������||������������S�)NzARTICLE {0}�ARTICLEr@��rA��s��� r����articlezNNTP.article��s=������ ���#��&�&�|�4�4�C�C��C��|�|�C��&�&�&r���c������������������.����� �|�����������������������d������������S�)N�SLAVE)r����r����s��� r����slavez NNTP.slave$��s������ ���~�~�g�&�&�&r���c������������������������ �t����������j��������d�������������|����������������������d���������������������||������������|������������\��}}�fd��|�fd�|D���������������fS�)Nz^([0-9]+) ?(.*) ?zXHDR {0} {1}c������������������b�����������������������������|�������������}|r|���������������������dd������������n|�S�)NrP���rq���)r��r;���)rX����m�pats��� �r���� remove_numberz NNTP.xhdr.<locals>.remove_number5��s-�������� � �$���A�$%�/�1�7�7�1�a�=�=�=�4�/r���c������������������&������g�|�] }��|��������������S�r���r���)r����rX���rQ��s��� �r���r����zNNTP.xhdr.<locals>.<listcomp>8��s#�������<�<�<�d�m�m�D�)�)�<�<�<r���)r��r��r����r����)r����hdrr����r����r����r8���rP��rQ��s��� @@r����xhdrz NNTP.xhdr*��s�������� ���j�-�.�.���)�)�.�*?�*?��S�*I�*I�4�P�P���e� 0�� 0�� 0�� 0�� 0���<�<�<�<�e�<�<�<�<�<r���c���������������������� �|�����������������������d���������������������||������������|������������\��}}|������������������������������������}|t����������||������������fS�)Nz XOVER {0}-{1})r����r����r��ro���)r����start�endr����r����r8���rW���s��� r����xoverz NNTP.xover:��s]������ ���)�)�/�*@�*@���*L�*L�*.�0��0���e��"�"�$�$���_�U�C�0�0�0�0r���c�����������������*���� �d|�j���������v�rdnd}t����������|t����������t����������f������������r!|\��}}|d���������������������||pd������������z ��}n |�|dz���|z���}|����������������������||������������\��}}|������������������������������������}|t����������||������������fS�)N�OVER�XOVERz {0}-{1}rD���r����)r����rF����tupler����r����r����r��ro���) r���r3��r����r��rV��rW��r����r8���rW���s ��� r����overz NNTP.overH��s������� � ��$�*�,�,�f�f�'���l�U�D�M�2�2�� +�%�J�E�3��:�$�$�U�C�I�2�6�6�6�C�C� � %���)�l�*�C��)�)�#�t�4�4���e��"�"�$�$���_�U�C�0�0�0�0r���c������������������Z���� �|�����������������������d������������}|���������������������d������������st����������|�������������|�����������������������������������}t ����������|������������dk����rt����������|�������������|d���������}t ����������|������������dk����rt����������|�������������|t ����������|d�������������fS�)N�DATE�111rq���rP�������)r����rc���r���r`���rV���r���r����)r���r�����elemr3���s��� r���r3���z NNTP.datec��s������� � ��~�~�f�%�%�����u�%�%�� '� ��&�&�&��z�z�|�|���t�9�9��>�>���%�%�%��A�w���t�9�9��?�?���%�%�%��_�T�4�0�0�0�0r���c������������������B����|�����������������������|������������}|���������������������d������������st����������|�������������t����������|t����������t ����������f������������r|�����������������������������������}|D�]m}|���������������������t����������������������s|� ��������������������d������������t����������z���}|���������������������d������������rd|z���}|�j �����������������������������|��������������n|�j �����������������������������d�������������|�j ��������������������������������������������|�� ����������������������������������S�)N�3r9���r����s���. )r����rc���r���rF���r7���� bytearray� splitlines�endswithr�����rstripr����r����r����r����)r���r���fr����rX���s��� r����_postz NNTP._postt��s��������~�~�g�&�&�����s�#�#�� '� ��&�&�&��a�%��+�,�,�� ������A� ��� "�� "�D��=�=��'�'�� 4��{�{�7�+�+�e�3�����t�$�$�� #��d�{���I�O�O�D�!�!�!�!�� ����!�!�!�� �������}�}���r���c������������������0����� �|�����������������������d|������������S�)N�POST)rj��)r����datas��� r����postz NNTP.post���s������ 1���z�z�&�$�'�'�'r���c������������������V����� �|�����������������������d���������������������|������������|������������S�)Nz IHAVE {0})rj��r����)r���rA���rm��s��� r����ihavez NNTP.ihave���s,������ O���z�z�+�,�,�Z�8�8�$�?�?�?r���c����������������������� �|�j���������r|�j���������������������������������������������|�`�|�j��������������������������������������������d�S�#�|�j��������������������������������������������w�xY�wr����)r����r����r����r����s��� r���r����zNNTP._close���sX������ ��y�� �� ���!�!�!��I��I�O�O�������D�I�O�O�������s ����"?��Ac����������������������� � �|�����������������������d������������}|�������������������������������������n#�|�������������������������������������w�xY�w|S�)N�QUIT)r����r����)r���r����s��� r���r����z NNTP.quit���sC������ 1� ��>�>�&�)�)�D��K�K�M�M�M�M��D�K�K�M�M�M�M�����s ����-��Ac�����������������������|�j���������rt����������d�������������|s|st����������d������������� �|rF|sDdd�l}|�����������������������������������}|���������������������|�j��������������������}|r|d���������}|d���������}n#�t ����������$�r�Y�nw�xY�w|sd�S�|����������������������d|z���������������}|���������������������d������������rM|st����������|�������������|����������������������d|z���������������}|���������������������d������������st����������|�������������d�|�_ ��������|�������������������������������������|�j��������r:d |�j ��������vr3|�� �����������������������������������d�|�_ ��������|�������������������������������������d�S�d�S�d�S�) NzAlready logged in.z7At least one of `user` and `usenetrc` must be specifiedr���rq���zauthinfo user �381zauthinfo pass �281r����)r����r�����netrc�authenticatorsr����r����r����rc���r���r ���r����r����r����r����)r���r����r����r����rw���credentials�authr����s��� r���r����z NNTP.login���s��������� 3��1�2�2�2��� K�H�� K��I�K��K�� K� ��� '��� '�����#�k�k�m�m��"�1�1�$�)�<�<����'���7�D�#�A�w�H����� �� �� ��D� ������� ��F��~�~�.��5�6�6���?�?�5�!�!�� 3��� 3�$�T�*�*�*��~�~�&6��&A�B�B�����u�-�-��3�,�T�2�2�2��� ���������$�� #����)C�)C����!�!�!��D�J�� � �"�"�"�"�"� #�� #�)C�)Cs����AA4��4 B��Bc������������������������ �|�����������������������d������������|�_��������d�S�#�t����������$�r�Y�d�S�t����������$�r.}|j�����������������������������d������������rd|�_��������n��Y�d�}~d�S�d�}~ww�xY�w)Nzmode reader�480T)r����r����r ���r���r���rc���r����)r����es��� r���r����zNNTP._setreadermode���s������� ��>�>�-�8�8�D�L�L�L��!�� �� �� ��D�D�!�� �� �� ��z�$�$�U�+�+�� �,0��)�)���*�)�)�)�)�)����� ���s������ A"� A"�#A�A"c����������������������� �|�j���������rt����������d�������������|�j��������rt����������d�������������|����������������������d������������}|���������������������d������������r||�j��������������������������������������������t����������|�j��������||�j ��������������������|�_��������|�j��������� ��������������������d������������|�_��������d|�_���������d�|�_��������|�������������������������������������d�S�t����������d�������������)NzTLS is already enabled.z+TLS cannot be started after authentication.�STARTTLS�382r����TzTLS failed to start.)r����r����r����r����rc���r����r����r����r����r����r����r����r����r���)r���r����r����s��� r����starttlsz NNTP.starttls���s������� � ��{�� <� �!:�;�;�;��!�� P� �!N�O�O�O��>�>�*�-�-�D����u�%�%�� 8�� ���!�!�!�'�� �7�D�I�F�F�� � �I�.�.�u�5�5�� �"����"�� ��$�$�&�&�&�&�&�� 6�7�7�7r���)Tr����)NNT):r���r���r���r����r����� NNTP_PORTr���r���r����r����r����r����r����r����r�����debugr����r����r����r����r����r����r����r����r��r��r����r��r��r����r��r!��r#��r;���r*��r.��r0��r4��r8��r<���r=��rB��rF��rI��rL��rT��rX��r]��r3���rj��rn��rp��r����r����r����r����� _have_sslr���r���r���r���r���r���+��s����������������H� �F�"+�$�� �5�0�!��!��!��!�F #�� #�� #�D����� "�� "�� "�I��I��I�����������,������ �E������������������"����� ,��,��,��,�\�����'��'��'��'�(��(��(��(������"<��<��<�������'+��,��,��,��,��,� �,0��.��.��.��.��.� ,�t�� ,�� ,�� ,�� ,�� ,������.3��3��3�:��:��:�=��=��=�4� ��1��1��1��1��1�)��)��)�%��%��%� )��)��)��)�%��%��%�%��%��%�=��=��=��=�'�d��'��'��'��'��'�'�d��'��'��'��'��'�'���'��'��'��'��'�'��'��'��&*��=��=��=��=��=� �)-��1��1��1��1��1��*.��1��1��1��1��1�61��1��1�"�����*(��(��(�@��@��@�����������'#��'#��'#��'#�R��������8� 8�� 8�� 8�� 8�� 8�� 8�8��8r���r���c��������������������8�������e�Zd�Zedddddef��fd� Z��fd�Z��xZS�)�NNTP_SSLNFc ����������� �������f������ �||�_���������t���������������������������������������������|||||||�������������d�S�r����)�ssl_context�superr���) r���r����r����r����r����r���r����r����r����r ��s ��� �r���r���zNNTP_SSL.__init__���sG������� �� +�D���G�G���T�4��x��%�w� 0�� 0�� 0�� 0�� 0r���c������������������������t���������������������������������������������|������������} �t����������||�j��������|�j��������������������}|S�#��|��������������������������������������xY�wr����)r���r����r����r���r����r����)r���r����r����r ��s��� �r���r����zNNTP_SSL._create_socket��sU��������7�7�)�)�'�2�2�D� �"�4��)9�4�9�E�E�� ���� �� � �������s����A��A)r���r���r���� NNTP_SSL_PORTr���r���r����� __classcell__)r ��s���@r���r���r������sh���������������&3���$�#�e�3� 0�� 0�� 0�� 0�� 0�� 0� �� �� �� �� �� �� �� �� r���r����__main__zJ nntplib built-in demo - display the latest articles in a newsgroup)r!��z-gz--groupzgmane.comp.python.generalz3group to fetch messages from (default: %(default)s))�defaultr*��z-sz--serverz news.gmane.ioz+NNTP server hostname (default: %(default)s)z-pz--portr����zNNTP port number (default: z / �))r����typer*��z-nz --nb-articles� ���z2number of articles to fetch (default: %(default)s)z-Sz--ssl� store_truezuse NNTP over SSL)�actionr���r*��)r����r����r���Group�haszarticles, range�toc������������������L�����t����������|�������������|k����r|�d�|dz ������������dz���}�|�S�)Nrr���z...)rV���)�s�lims��� r����cutr���6��s,�������q�6�6�C�<�<��(�3��7�(��e�#�A��r���rP���r2����<r1���z{:7} {:20} {:42} ({})�����*���r����)F)Jr��r�����collectionsrw���r�����warningsr����r����ImportError�email.headerr���rE���r����__all__�_deprecatedr���r����r���r���r���r���r ���r ���r���r���r���r����rU���rS���r����� namedtupler:���r?���r]���ro���r����r����r����r���r���rG����argparse�ArgumentParser�parser�add_argumentra���� parse_argsr���r�����serverr���r����r����r���r;���r����r&��r=���r<���rY���r����r���r�����nb_articlesrX��� overviews�artnumr]��r`����authorr1���r8���r����r����r���r���r����<module>r������s`�����B� � � � �� � � � ��������������� � � � ��������J�J�J���I�I�����������I�I�I����� �?��>��>��>��>��>��*��*��*��*��*��*� �� �� �������X�g��.��.��.��.����0��0��0��0��0� ��0��0��0� �� �� �� �� �Y�� �� �� � �� �� �� �� ��� �� �� � �� �� �� �� ��� �� �� � �� �� �� �� � �� �� �� � �� �� �� �� �I�� �� �� �� � �� � �� �� � � O��O��O��� �� ������� ��"�K�"�;�#E�#E�#E� G�� G� ��%�k�$�]�%F�%F�%F�H��H�� �� �� ������2�������:H��H��H��H�,�������4� ��C� C�� C�� C�K8��K8��K8��K8��K8��K8��K8��K8�\� ������������4�������.��N�N�:������z����O�O�O� $�X� $��2N��O��O��O�F� ����i�1L�R����T��T��T� ����j�/�J����L��L��L� ����h����FO�i�i�Q^�Q^�Q^�_����a��a��a� ����o�r��Q����S��S��S� ����g�l�E�0����2��2��2������D��9�D��8��2��2�:�:��D��D�d�k��-�-�-����2�:�:� �D��H�$�+�D�1�1�1�������D��T��� � � ����%&�W�W�T�Z�%8�%8�"�D�%���d� �E�'�4���'8�%��t�L�L�L������ � �C���D� � �D�,�,�q�0�1�1�E��g�g�e�T�*�*�O�D�)�!����������t�F�|�,�,�2�2�3��:�:�1�=���-��Y��0�0����D��N�#�#�� ��%�,�,��c�c�&�"�o�o�s�s�7�B�'7�'7��@��@�� �� �� �� ���F�F�H�H�H�H�H�a��s����"��,�,