OwlCyberSecurity - MANAGER
Edit File: imaplib.cpython-310.opt-2.pyc
o ����S�g������������������������@���s&�� �d�Z�ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z mZmZ�ddl mZ�zddlZdZW�n�eyJ���dZY�nw�g�d�ZdZdZd Zd ZdZdZd Zi�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�d d�d!d�d"d�d#d�i�d$d�d%d�d&d�d'd�d(d�d)d�d*d�d+d�d,d�d-d�d.d�d/d�d0d�d1d�d2d�d3d�d4d��ddddddddd5��Ze�d6�Ze�d7�Ze�d8�Ze�d9ej�Z e�d:�Z!e�d;�Z"e�d<�Z#e�d=ej�Z$d9Z%d=Z&G�d>d?��d?�Z'e�rG�d@dA��dAe'�Z(e�)dA��G�dBdC��dCe'�Z*G�dDdE��dE�Z+dF�,dG�Z-dHdI��e.e-dJd���D��Z/dKdL��Z0dMdN��Z1dOdP��Z2dQdR��Z3e4dSk�r�ddl5Z5ddl6Z6ze5�5ej7dJd��dT�\Z8Z9W�n�e5j:�y~�Z;�z dU\Z8Z9W�Y�dZ;[;ndZ;[;ww�dZ<e8D�]\Z=Z;e=dVk�r�e>e;�Z�q�e=dWk�r�e;Z<e9�s�e<fZ9�q�e9�s�dXZ9e9d�Z?e6�@��ZAe6�6dYeAe?�p�dZf��ZBd[eAd\d]��ZCd^eAeBffd_d`dadbdcddeCffdddedfdgdhdidjdkdlfZDdmdndodpdbdddeCffdkdqfZEdrds��ZFz�e<�r�e*e<�ZGne'e?�ZGeGjHdtk�reDdJd��ZDeG�IdueGjJ���eG�IdveGjKf���eDD�] \ZLZ9eFeLe9���qeFdwdx�D�]ZMe�NdyeM�ZOeO�r;eO�PdJ�ZQneM�,��dz�ZQeFd{eQf���q*eED�]*\ZLZ9eFeLe9�ZReLe9fdok�r]�qKeRdz��,��ZSeS�sh�qKeFd|dd}eSdz��d~f���qKeTd��W�dS����eTd���e�s�eTd�ej7d������dS�)�z2.58�����N)�datetime�timezone� timedelta)�DEFAULT_BUFFER_SIZETF)�IMAP4�IMAP4_stream�Internaldate2tuple�Int2AP� ParseFlags�Time2Internaldate���� ����i���)Z IMAP4REV1r���i@B�i����APPEND)�AUTH�SELECTED�AUTHENTICATE)�NONAUTH� CAPABILITY)r���r���r����LOGOUT�CHECK)r����CLOSE�COPY�CREATE�DELETE� DELETEACL�ENABLE)r����EXAMINE�EXPUNGE�FETCH�GETACL� GETANNOTATION�GETQUOTA�GETQUOTAROOT�MYRIGHTS�LIST�LOGINr����LSUBZMOVE� NAMESPACE�NOOP�PARTIAL� PROXYAUTH�RENAME�SEARCH�SELECT�SETACL� SETANNOTATION�SETQUOTA�SORT)�STARTTLS�STATUS�STORE� SUBSCRIBE�THREAD�UID�UNSUBSCRIBE�UNSELECTs���\+( (?P<data>.*))?s���.*FLAGS \((?P<flags>[^\)]*)\)s����.*INTERNALDATE "(?P<day>[ 0123][0-9])-(?P<mon>[A-Z][a-z][a-z])-(?P<year>[0-9][0-9][0-9][0-9]) (?P<hour>[0-9][0-9]):(?P<min>[0-9][0-9]):(?P<sec>[0-9][0-9]) (?P<zonen>[-+])(?P<zoneh>[0-9][0-9])(?P<zonem>[0-9][0-9])"s���.*{(?P<size>\d+)}$s ���\r\n|\r|\ns%���\[(?P<type>[A-Z-]+)( (?P<data>.*))?\]s$���\* (?P<type>[A-Z-]+)( (?P<data>.*))?s3���\* (?P<data>\d+) (?P<type>[A-Z-]+)( (?P<data2>.*))?c�������������������@���s���e�Zd�Z �G�dd��de�ZG�dd��de�ZG�dd��de�Zdedfd d �Zdd��Z d d��Z dd��Zdd��Zdd��Z dd��Zdd��Zdedfdd�Zdd��Zdd��Zdd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd-d.��Zd/d0��Zd1d2��Zd3d4��Zd5d6��Zd7d8��Zd9d:��Z d;d<��Z!d=d>��Z"d?d@��Z#dAdB��Z$dCdD��Z%dEdF��Z&dGdH��Z'd�dKdL�Z(dMdN��Z)dOdP��Z*dQdR��Z+dSdT��Z,d�dUdV�Z-dWdX��Z.dYdZ��Z/d[d\��Z0d]d^��Z1d_d`��Z2dadb��Z3dcdd��Z4d�dgdh�Z5didj��Z6dkdl��Z7dmdn��Z8dodp��Z9d�dqdr�Z:dsdt��Z;dudv��Z<dwdx��Z=dydz��Z>d{d|��Z?d}d~��Z@dd���ZAd�d���ZBd�d���ZCd�d���ZDd�d���ZEd�d���ZFd�d���ZGd�d���ZHd�d�d��ZId�d���ZJd�d���ZKd�d���ZLd�d���ZMd�d���ZNd�d���ZOdS�)�r���c�������������������@�������e�Zd�ZdS�)zIMAP4.errorN��__name__� __module__�__qualname__��r?���r?����./opt/alt/python310/lib64/python3.10/imaplib.py�error���������rA���c�������������������@���r:���)zIMAP4.abortNr;���r?���r?���r?���r@����abort����rB���rC���c�������������������@���r:���)zIMAP4.readonlyNr;���r?���r?���r?���r@����readonly����rB���rD�����Nc�����������������C���s����t�|�_d|�_d�|�_i�|�_i�|�_d|�_d|�_d|�_d|�_ |�� ���|��|||��z|�����W�d�S��t yD���z|�����W����tyC���Y���w�w�)Nr���rE���Fr���)�Debug�debug�state�literal�tagged_commands�untagged_responses�continuation_response�is_readonly�tagnum�_tls_established�_mode_ascii�open�_connect� Exception�shutdown�OSError��self�host�port�timeoutr?���r?���r@����__init__����s,��� ���zIMAP4.__init__c�����������������C���s0���d|�_�d|�_t�ttj�|�_t�ttj�|�_d�S�)NF�ascii) �utf8_enabled� _encoding�re�compile�_Literal�ASCII�Literal�_Untagged_status�Untagged_status�rW���r?���r?���r@���rP�������s���zIMAP4._mode_asciic�����������������C���s(���d|�_�d|�_t�t�|�_t�t�|�_d�S�)NT�utf-8)r]���r^���r_���r`���ra���rc���rd���re���rf���r?���r?���r@���� _mode_utf8����s���zIMAP4._mode_utf8c�����������������C���s����t�t�dd��|�_t�d|�j�d�tj�|�_ �|����|�_d|�jv�r%d|�_nd |�jv�r.d|�_n|��|�j��|����� �tD�] }||�jvrCq;||�_�d�S�|��d��)Ni���i����s���(?P<tag>s"���\d+) (?P<type>[A-Z]+) (?P<data>.*)F� ���r�������zimaplib version %sznew IMAP4 connection, tag=%sZPREAUTHr����OKr�������zCAPABILITIES: %rzserver not IMAP4 compliant)r ����randomZrandint�tagprer_���r`���rb����tagre�_cmd_log_len�_cmd_log_idx�_cmd_logrG����_mesg�__version__� _get_responseZwelcomerK���rH���rA����_get_capabilities�capabilities�AllowedVersions�PROTOCOL_VERSION)rW����versionr?���r?���r@���rR�������s.������ zIMAP4._connectc�����������������C���s"���|t�v�rt|�|����S�td|���)NzUnknown IMAP4 command: '%s')�Commands�getattr�lower�AttributeError)rW����attrr?���r?���r@����__getattr__��s���zIMAP4.__getattr__c�����������������C���s���|�S��Nr?���rf���r?���r?���r@���� __enter__��s���zIMAP4.__enter__c�����������������G���s2���|�j�dkrd�S�z|�����W�d�S��ty���Y�d�S�w��Nr���)rH����logoutrU���)rW����argsr?���r?���r@����__exit__��s��� �zIMAP4.__exit__c�����������������C���s`���|d�ur |s t�d��|�jsd�n|�j}t�d|�|�j|�j��||�jf}|d�ur+t�||�S�t�|�S�)Nz0Non-blocking socket (timeout=0) is not supportedzimaplib.open)� ValueErrorrX����sys�auditrY����socketZcreate_connection)rW���rZ���rX���Zaddressr?���r?���r@����_create_socket&��s��� zIMAP4._create_socketc�����������������C���s,��� �||�_�||�_|��|�|�_|�j�d�|�_d�S�)N�rb)rX���rY���r�����sock�makefile�filerV���r?���r?���r@���rQ���3��s ���z IMAP4.openc�����������������C���sj��� �t�|t�}|�j�|�}||k�r3t|�|kr3t�|||��}||�j�|�7�}||7�}||k�r3t|�|ks|S�r����)�min�_SAFE_BUF_SIZEr�����read�len)rW����sizeZcursize�data�deltar?���r?���r@���r����?��s��� �z IMAP4.readc�����������������C���s0��� �|�j��td��}t|�tkr|��dt���|S�)Nrj���zgot more than %d bytes)r�����readline�_MAXLINEr����rA����rW����liner?���r?���r@���r����J��s ���zIMAP4.readlinec�����������������C���s ��� �t��d|�|��|�j�|��d�S�)Nzimaplib.send)r����r����r����Zsendall�rW���r����r?���r?���r@����sendR��s���z IMAP4.sendc�������������� ���C���s���� �|�j�����z;z |�j�tj��W�n!�ty1�}�z|jtjkr't |dd�dkr'��W�Y�d�}~n d�}~ww�W�|�j����d�S�W�|�j����d�S�|�j����w�)NZwinerrorr���i&'��) r�����closer����rT���r����Z SHUT_RDWRrU����errnoZENOTCONNr|���)rW����excr?���r?���r@���rT���X��s��� ��� ��zIMAP4.shutdownc�����������������C���s��� �|�j�S�r����)r����rf���r?���r?���r@���r����h��s���zIMAP4.socketc�����������������C���sD��� �d}|���dd�g|�\}}|d�r||fS�|����\}}|���|||�S�)NZRECENTrk������)�_untagged_response�noop�rW����name�typ�datr?���r?���r@����recentt��s���zIMAP4.recentc�����������������C���s��� �|���|d�g|����S�r����)r�����upper)rW����coder?���r?���r@����response���s���zIMAP4.responsec�����������������C���sz��� �d}|sd}|r|d�|d�fdkrd|�}nd�}|r!t�|�}nd�}t�t|�}|�jr2d|�d�}||�_|��||||�S�) Nr����INBOXr���r������(�)�(%s)s���UTF8 (����))r����MapCRLF�sub�CRLFr]���rI����_simple_command)rW����mailbox�flags� date_time�messager����rI���r?���r?���r@����append���s"���� zIMAP4.appendc�����������������C���sR��� �|����}t|�j|�_|��d|�\}}|dkr"|��|d��dd���d|�_||fS�)Nr���rk���r����rg����replacer���)r�����_Authenticator�processrI���r����rA����decoderH���)rW���Z mechanismZ authobject�mechr����r����r?���r?���r@����authenticate���s���zIMAP4.authenticatec�����������������C����"��� �d}|���|�\}}|��|||�S�)Nr����r����r����r����r?���r?���r@���� capability���s���zIMAP4.capabilityc�����������������C���s��� �|���d�S�)Nr����r����rf���r?���r?���r@����check���s��� zIMAP4.checkc�����������������C����*��� �z|���d�\}}W�d|�_||fS�d|�_w�)Nr���r����r����rH����rW���r����r����r?���r?���r@���r�������s����zIMAP4.closec�����������������C������� �|���d||�S�)Nr���r����)rW����message_setZnew_mailboxr?���r?���r@����copy�������z IMAP4.copyc�����������������C������� �|���d|�S�)Nr���r�����rW���r����r?���r?���r@����create�������zIMAP4.createc�����������������C���r����)Nr���r����r����r?���r?���r@����delete���r����zIMAP4.deletec�����������������C���r����)Nr���r����)rW���r�����whor?���r?���r@���� deleteacl��r����zIMAP4.deleteaclc�����������������C���sJ��� �d|�j�vrt�d��|��d|�\}}|dkr!d|���v�r!|�����||fS�)Nr���zServer does not support ENABLErk���zUTF8=ACCEPT)rw���r���rA���r����r����rh���)rW���r����r����r����r?���r?���r@����enable��s��� zIMAP4.enablec�����������������C���r����)Nr���r����r����r?���r?���r@����expunge��s���z IMAP4.expungec�����������������C����&��� �d}|���|||�\}}|��|||�S�)Nr���r����)rW���r����Z message_partsr����r����r����r?���r?���r@����fetch"��s��� zIMAP4.fetchc�����������������C���� ��� �|���d|�\}}|��||d�S�)Nr���ZACLr�����rW���r����r����r����r?���r?���r@����getacl1������zIMAP4.getaclc�����������������C���s$��� �|���d|||�\}}|��||d�S�)Nr ���� ANNOTATIONr����)rW���r�����entryZ attributer����r����r?���r?���r@���� getannotation:��s���zIMAP4.getannotationc�����������������C���r����)Nr!����QUOTAr����)rW����rootr����r����r?���r?���r@����getquotaB��s���zIMAP4.getquotac�����������������C���sB��� �|���d|�\}}|��||d�\}}|��||d�\}}|||gfS�)Nr"���r����Z QUOTAROOTr����)rW���r����r����r����ZquotaZ quotarootr?���r?���r@����getquotarootM��s ���zIMAP4.getquotaroot�""�*c�����������������C���r����)Nr$���r�����rW���Z directory�patternr����r����r����r?���r?���r@����listX������z IMAP4.listc�����������������C���s>��� �|���d||��|��\}}|dkr|��|d���d|�_||fS�)Nr%���rk���r����r���)r�����_quoterA���rH���)rW����user�passwordr����r����r?���r?���r@����logind��s���zIMAP4.loginc�����������������C���s��� �|||�_�|�_|��d|�j�S�)NzCRAM-MD5)r����r����r�����_CRAM_MD5_AUTH)rW���r����r����r?���r?���r@����login_cram_md5r��s���zIMAP4.login_cram_md5c�����������������C���sD��� �dd�l�}t|�jt�r|�j�d�n|�j}|�jd�|�||d�����S�)Nr���rg���� Zmd5)�hmac� isinstancer�����str�encoder����ZHMACZ hexdigest)rW���Z challenger�����pwdr?���r?���r@���r����{��s����zIMAP4._CRAM_MD5_AUTHc�����������������C���s&��� �d|�_�|��d�\}}|�����||fS�r����)rH���r����rT���r����r?���r?���r@���r�������s ���zIMAP4.logoutc�����������������C���r����)Nr&���r����r����r?���r?���r@����lsub���r����z IMAP4.lsubc�����������������C���s ��� �|���d|�\}}|��||d�S�)Nr#���r����r����r?���r?���r@����myrights���r����zIMAP4.myrightsc�����������������C���r����)Nr'���r����r����r?���r?���r@���� namespace���s���zIMAP4.namespacec�����������������C���s��� � �|��d�S�)NFrl���r(���)rG����_dump_urrK���r����rf���r?���r?���r@���r�������s��� z IMAP4.noopc�����������������C���s*��� �d}|���|||||�\}}|��||d�S�)Nr)���r���r����)rW���Zmessage_numZmessage_part�startZlengthr����r����r����r?���r?���r@����partial���s���z IMAP4.partialc�����������������C���s��� �d}|���d|�S�)Nr*���r����)rW���r����r����r?���r?���r@���� proxyauth���s���zIMAP4.proxyauthc�����������������C���r����)Nr+���r����)rW���Z oldmailboxZ newmailboxr?���r?���r@����rename���r����zIMAP4.renamec�����������������G���sZ��� �d}|r|�j�r t�d��|�j|d|g|�R���\}}n|�j|g|�R���\}}|��|||�S�)Nr,���z'Non-None charset not valid in UTF8 mode�CHARSET)r]���r���rA���r����r����)rW����charsetZcriteriar����r����r����r?���r?���r@����search���s��� zIMAP4.searchr����Fc�����������������C���sz��� �i�|�_�||�_|rd}nd}|��||�\}}|dkr!d|�_||fS�d|�_d|�j�v�r3|s3 �|��d |���||�j��d d�g�fS�)Nr���r-���rk���r���r���� READ-ONLYFrj���z%s is not writable�EXISTS)rK���rM���r����rH���rG���r����rD����get)rW���r����rD���r����r����r����r?���r?���r@����select���s"��� �zIMAP4.selectc�����������������C���s��� �|���d|||�S�)Nr.���r����)rW���r����r����Zwhatr?���r?���r@����setacl��s���zIMAP4.setaclc�����������������G���s&��� �|�j�dg|�R���\}}|��||d�S�)Nr/���r����r����)rW���r����r����r����r?���r?���r@���� setannotation��s���zIMAP4.setannotationc�����������������C���s"��� �|���d||�\}}|��||d�S�)Nr0���r����r����)rW���r����Zlimitsr����r����r?���r?���r@����setquota��s���zIMAP4.setquotac�����������������G���sJ��� �d}|d�|d�fdkrd|�}|�j�|||g|�R���\}}|��|||�S�)Nr1���r���r����r����r����r����)rW���Z sort_criteriar�����search_criteriar����r����r����r?���r?���r@����sort$��s���z IMAP4.sortc�����������������C���s����d}t�s |��d��|�jr|��d��||�jvr|��d��|d�u�r#t���}|��|�\}}|dkrG|j|�j |�j d�|�_ |�j �d�|�_d|�_|�� ���n|��d ��|��|||�S�) Nr2���zSSL support missingzTLS session already establishedzTLS not supported by serverrk����Zserver_hostnamer����TzCouldn't establish TLS session)�HAVE_SSLrA���rO���rC���rw����ssl�_create_stdlib_contextr�����wrap_socketr����rX���r����r����rv���r����)rW����ssl_contextr����r����r����r?���r?���r@����starttls2��s&��� � zIMAP4.starttlsc�����������������C���r����)Nr3���r����)rW���r�����namesr����r����r����r?���r?���r@����statusI��s���zIMAP4.statusc�����������������C���s@��� �|d�|d�fdkrd|�}|���d|||�\}}|��||d�S�)Nr���r����r����r����r4���r���r����)rW���r�����commandr����r����r����r?���r?���r@����storeU��s ���zIMAP4.storec�����������������C���r����)Nr5���r����r����r?���r?���r@���� subscribe`��r����zIMAP4.subscribec�����������������G���s.��� �d}|�j�|||g|�R���\}}|��|||�S�)Nr6���r����)rW���Zthreading_algorithmr����r��r����r����r����r?���r?���r@����threadh��s���zIMAP4.threadc�������������� ���G���s���� �|����}|tvr|��d|���|�jt|�vr'|��d||�jd�t|��f���d}|�j||g|�R���\}}|dv�r<|}nd}|��|||�S�)NzUnknown IMAP4 UID command: %s�9command %s illegal in state %s, only allowed in states %s�, r7���)r,���r1���r6���r���)r����r{���rA���rH����joinr����r����)rW���r��r����r����r����r����r?���r?���r@����uidr��s �����z IMAP4.uidc�����������������C���r����)Nr8���r����r����r?���r?���r@����unsubscribe���r����zIMAP4.unsubscribec�����������������C���r����)Nr9���r���r����)rW���r����r����r?���r?���r@����unselect���s����zIMAP4.unselectc�����������������G���s0��� �|����}|tvr|�jft|<�|�j|g|�R���S�r����)r����r{���rH���r�����rW���r����r����r?���r?���r@����xatom���s ��� zIMAP4.xatomc�����������������C���s<���|d�u�rd}|�j�} �||v�r||��|��d�S�|g||<�d�S��N�����)rK���rG���rs���r����r��r����)rW���r����r����Zurr?���r?���r@����_append_untagged���s���zIMAP4._append_untaggedc�����������������C���s,���|�j��d�}|r|��|d��|�jd���d�S�)N�BYEr����r����)rK���r��rC���r����r^���)rW����byer?���r?���r@���� _check_bye���s����zIMAP4._check_byec����������� ��� ���G���s���|�j�t|�vrd�|�_|��d||�j�d�t|��f���dD�]}||�jv�r'|�j|=�qd|�jv�r5|�js5|��d��|����}t ||�j �}|d�|�}|D�]}|d�u�rNqGt|t�rYt ||�j �}|d�|�}qG|�j}|d�ur�d�|�_t |�t |�j�u�rv|}nd�}|t dt|��|�j ��} �z |��|t���W�n�ty��} �z|��d| ���d�} ~ ww�|d�u�r�|S� �|����r�|�j|�r�|S�|����s�|r�||�j�} �z|��|��|��t��W�n�ty��} �z|��d| ���d�} ~ ww�|s� �|S�q�)Nr��r���rk����NO�BADr����z#mailbox status changed to READ-ONLY���� z {%s}F����z> %rzsocket error: %s)rH���r{���rI���rA���r��rK���rM���rD����_new_tag�bytesr^���r����r�����type�_commandr����rG���rs����_logr����r����rU���rC���ru���rJ���rL���) rW���r����r����r�����tagr�����argrI���Z literator�valr?���r?���r@���r+�����st����� � � �� � ���zIMAP4._commandc�������������� ���C���s����|dk}|s |������z|�j||d�\}}W�n+�|�jy+�}�z |��d||f���d�}~w�|�jy@�}�z |��d||f���d�}~ww�|sG|������|dkrU|��d|||f���||fS�)Nr���)� expect_byezcommand: %s => %sr%��z%s command error: %s %s)r"���_get_tagged_responserC���rA���)rW���r����r-��r����r����r����r/��r?���r?���r@����_command_complete��s"������zIMAP4._command_completec�����������������C���sJ���|�����\}}|d�gkr|��d��t|d�|�j�}|���}t|����|�_d�S�)Nz"no CAPABILITY response from serverr����)r����rA���r����r^���r�����tuple�splitrw���r����r?���r?���r@���rv���,��s��� zIMAP4._get_capabilitiesc�����������������C���s���|�����}|��|�j|�r8|�j�d�}||�jvr|��d|���|�j�d�}t||�j�}|�j�d�}||gf|�j|<�n~d�}|��t |�sM|��|�j |�rM|�j�d�}|�jd�u�rh|��t|�ra|�j�d�|�_d�S�|��d|���|�j�d�}t||�j�}|�j�d�}|d�u�r�d}|r�|d�|�}|��|�j |�r�t|�j�d ��} �|��|�}|��|||f��|�����}|��|�j |�s�|��||��|d v�r�|��t|�r�|�j�d�}t||�j�}|��||�j�d��� �|S�)Nr-��zunexpected tagged response: %rr*��r����Zdata2zunexpected response: %rr��r&��r����Fr'��zread literal size %sr#��)� _get_line�_matchro����mo�grouprJ���rC���r����r^����Untagged_responsere����ContinuationrL���rc����intrG���rs���r����r��� Response_code)rW����respr-��r����r����Zdat2r����r����r?���r?���r@���ru���5��sJ��� �zIMAP4._get_responsec�������������� ���C���s|��� �|�j�|�}|d�ur|�j�|=�|S�|r#d}|�j�|d��}|d�ur#||fS�|�����z|�����W�n�|�jy<�}�z ���d�}~ww�q)Nrj���r ��)rJ���rK����popr"��ru���rC���rG���� print_log)rW���r-��r0���resultr����r!��r/��r?���r?���r@���r1�����s&��� ���zIMAP4._get_tagged_responsec�����������������C���s@���|�����}|s|��d��|�d�s|��d|���|d�d��} �|S�)Nzsocket error: EOFr���z#socket error: unterminated line: %r���)r����rC����endswithrG���rs���r,��r����r?���r?���r@���r5�����s��� zIMAP4._get_linec�����������������C���s���|��|�|�_ �|�jd�uS�r����)�matchr7��rG���rs���r�����groups)rW���Zcre�sr?���r?���r@���r6�����s��� zIMAP4._matchc�����������������C���s2���|�j�tt|�j�|�j��}|�jd�|�_d�|�j|<�|S�)Nrj���)rn���r)��r����rN���r^���rJ���)rW���r-��r?���r?���r@���r(�����s��� zIMAP4._new_tagc�����������������C���s$���|��dd�}|��dd�}d|�d�S�)N�\z\\�"z\")r����)rW���r.��r?���r?���r@���r�������s���zIMAP4._quotec�����������������G���s���|���||�j|g|�R����S�r����)r2��r+��r��r?���r?���r@���r�������s���zIMAP4._simple_commandc�����������������C���s:���|dkr||fS�||�j�vr|d�gfS�|�j��|�} �||fS�)Nr$��)rK���r>��rG���rs���)rW���r����r����r����r����r?���r?���r@���r�������s��� zIMAP4._untagged_responsec�����������������C���sN���|d�u�rt�����}t��dt��|��}tj�d||d�d�|f���tj����d�S�)Nz%M:%Sz %s.%02d %s �d���)�time�strftime� localtimer�����stderr�write�flush)rW���rE��ZsecsZtmr?���r?���r@���rs������s ���zIMAP4._mesgc�����������������C���s2���|sd�S�dd��|����D��}|��dd�|����d�S�)Nc�����������������s���s"�����|�]\}}|��d�|��V��qdS�)z: Nr?���)�.0�key�valuer?���r?���r@���� <genexpr>���s������z!IMAP4._dump_ur.<locals>.<genexpr>zuntagged responses dump:z )�itemsrs���r��)rW���Zuntagged_resp_dictrS��r?���r?���r@���r�������s����zIMAP4._dump_urc�����������������C���s<���|t�����f|�j|�j<�|��jd7��_|�j|�jkrd|�_d�S�d�S�)Nrj���r���)rI��rr���rq���rp���r����r?���r?���r@���r,�����s ��� �z IMAP4._logc�����������������C���sn���|���dt|�j����|�j|�j}}|r5z |�j�|�j|����W�n���Y�|d7�}||�jkr-d}|d8�}|sd�S�d�S�)Nzlast %d IMAP4 interactions:rj���r���)rs���r����rr���rq���rp���)rW����i�nr?���r?���r@���r?�����s��� �zIMAP4.print_log)r����r����)r����Fr����)F)Tr<���r=���r>���rS���rA���rC���rD���� IMAP4_PORTr[���rP���rh���rR���r����r����r����r����rQ���r����r����r����rT���r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r����r��r��r��r��r��r��r��r��r��r��r��r��r��r��r��r"��r+��r2��rv���ru���r1��r5��r6��r(��r����r����r����rs���r����r,��r?��r?���r?���r?���r@���r�������s�����/* M P!r���c�������������������@���s<���e�Zd�Z �deddddfdd�Zdd��Zdedfdd�ZdS�) � IMAP4_SSLrE���Nc�����������������C���s����|d�ur|d�urt�d��|d�ur|d�urt�d��|d�us |d�ur+dd�l}|�dtd��||�_||�_|d�u�r<tj||d�}||�_t � |�|||��d�S�)Nz8ssl_context and keyfile arguments are mutually exclusivez9ssl_context and certfile arguments are mutually exclusiver���zEkeyfile and certfile are deprecated, use a custom ssl_context instead����)�certfile�keyfile)r�����warnings�warn�DeprecationWarningrZ��rY��r ��r��r ��r���r[���)rW���rX���rY���rZ��rY��r ��rZ���r[��r?���r?���r@���r[���"��s"�����zIMAP4_SSL.__init__c�����������������C���s���t��|�|�}|�jj||�jd�S�)Nr��)r���r����r ��r��rX���)rW���rZ���r����r?���r?���r@���r����6��s����zIMAP4_SSL._create_socketc�����������������C���s��� �t��|�|||��d�S�r����)r���rQ���rV���r?���r?���r@���rQ���;��s���zIMAP4_SSL.open)r<���r=���r>����IMAP4_SSL_PORTr[���r����rQ���r?���r?���r?���r@���rW�� ��s���� �rW��c�������������������@���s@���e�Zd�Z �dd��Zddd�Zdd��Zdd ��Zd d��Zdd ��ZdS�)r���c�����������������C���s���||�_�t�|���d�S�r����)r��r���r[���)rW���r��r?���r?���r@���r[���R��s���zIMAP4_stream.__init__Nc�����������������C���sP��� �d�|�_�d�|�_d�|�_d�|�_tj|�jttjtjddd�|�_ |�j j |�_|�j j|�_ d�S�)NT)�bufsize�stdin�stdout�shellZ close_fds)rX���rY���r����r����� subprocess�Popenr��r����PIPEr����r`��� writefilera���readfilerV���r?���r?���r@���rQ���W��s���� zIMAP4_stream.openc�����������������C���s��� �|�j��|�S�r����)rg��r����)rW���r����r?���r?���r@���r����g��s���zIMAP4_stream.readc�����������������C���s��� �|�j����S�r����)rg��r����rf���r?���r?���r@���r����l��s��� zIMAP4_stream.readlinec�����������������C���s��� �|�j��|��|�j�����d�S�r����)rf��rM��rN��r����r?���r?���r@���r����q��s���zIMAP4_stream.sendc�����������������C���s$��� �|�j�����|�j����|�j����d�S�r����)rg��r����rf��r�����waitrf���r?���r?���r@���rT���w��s��� zIMAP4_stream.shutdown)NNN) r<���r=���r>���r[���rQ���r����r����r����rT���r?���r?���r?���r@���r���F��s���� r���c�������������������@���s.���e�Zd�Z �dd��Zdd��Zdd��Zdd��Zd S�) r����c�����������������C���s ���||�_�d�S�r����)r����)rW���Zmechinstr?���r?���r@���r[������s��� z_Authenticator.__init__c�����������������C���s&���|���|��|��}|d�u�rdS�|��|�S�)N����*)r����r����r����)rW���r����Zretr?���r?���r@���r�������s��� z_Authenticator.processc�����������������C���sp���d}t�|t�r|�d�}|r6t|�dkr!|d�d��}|dd���}n|}d}t�|�}|r4||d�d���}|s|S�)Nr��rg����0���r����)r����r����r����r�����binasciiZ b2a_base64)rW����inpZoup�t�er?���r?���r@���r�������s��� � z_Authenticator.encodec�����������������C���s���|sdS�t��|�S�r��)rk��Z a2b_base64)rW���rl��r?���r?���r@���r�������s��� z_Authenticator.decodeN)r<���r=���r>���r[���r����r����r����r?���r?���r?���r@���r������s����r����z0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Decr����c�����������������C���s���i�|�]\}}|����|d���qS�)rj���)r����)rO��rU��rE��r?���r?���r@���� <dictcomp>���s����ro��rj���c�������������� ���C���s���� �t��|��}|s d�S�t|�d��}|�d�}t|�d��}t|�d��}t|�d��}t|�d��}t|�d��}t|�d��} t|�d ��} | d �| �d �}|dkrV|�}||||||dddf }t�|�|�} t�| �S�) N�mon�zonen�day�year�hourr�����sec�zoneh�zonem�<�������-r����) �InternalDaterC���Mon2numr8��r;���calendarZtimegmrI��rK��)r=��r7��rp��rq��rr��rs��rt��r����ru��rv��rw��ZzoneZtt�utcr?���r?���r@���r������s&��� r���c�����������������C���sD��� �d}d}t�t|���}�|�r t|�d�\}�}|||d���|�}|�s |S�)Nr��s���ABCDEFGHIJKLMNOP����rj���)r;���abs�divmod)Znumr/��ZAP�modr?���r?���r@���r ������s����r ���c�����������������C���s&��� �t��|��}|s dS�t|�d�����S�)Nr?���r����)�FlagsrC��r3��r8��r4��)r=��r7��r?���r?���r@���r ������s ��� r ���c�����������������C���s�� �t�|�ttf�rt�|�tj����}npt�|�t�r\z|�j }W�n,�t yH���tjrB|�d�}|dkr8t� t�|���d�}tjtjf|��}ntj�}Y�nw�t|d�}t|�d�d��dt|�i�}n&t�|�t�rm|�jd�u�rjtd��|�}nt�|�t�r~|�d�|�d�fdkr~|�S�td ��d �t|j��}|�|�S�)N����r����)Zseconds�����tzinfozdate_time must be awarer���)rG��rG��zdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z")r����r;���floatr���Z fromtimestampr���r}��Z astimezoner3��� tm_gmtoffr~���rI���daylightrK���mktime�altzoner���r���r����r�����format�MonthsZmonthrJ��)r����ZdtZgmtoffZdstr����Zfmtr?���r?���r@���r������s<��� �� �� r����__main__zd:s:)r?���r?���z-dz-s)rE���zIMAP password for %s on %s: Z localhostzJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)s� )r����Zlfr����)r����)� /tmp/xxx 1)r����)r���z/tmp/yyy)r����� /tmp/yyz 2r����r���)r����)z/tmpzyy*)r��r���)r����)NZSUBJECT�test)r����)�1z(FLAGS INTERNALDATE RFC822))r��)r����FLAGSz (\Deleted))r����r?���)r����r?���)r����r?���)r����r?���)r��r?���)r����)ZUIDVALIDITY)r��)r,���ZALL)r����)r���)r����r?���c�����������������C���sL���t��d|�|f���tt�|��|��\}}t��d|�||f���|dkr$|d��|S�)Nz%s %sz%s => %s %sr$��r���)�Mrs���r|���)�cmdr����r����r����r?���r?���r@����runJ��s ���r���r���zPROTOCOL_VERSION = %szCAPABILITIES = %rr����)z/tmp/zyy%z.*"([^"]+)"$r����r����r��z%sz:(FLAGS INTERNALDATE RFC822.SIZE RFC822.HEADER RFC822.TEXT)z All tests OK.z Tests failed.z8 If you would like to see debugging output, try: %s -d5 )Urt���rk��r����rm���r_���r����rc��r����rI��r|��r���r���r����ior���r ��r ���ImportError�__all__r����rF���rV��r^��rx���r����r����r{���r`���r:��r���rz��rb���rc���r����r<��r9��re���ra���rd���r���rW��r����r���r����r4��r���� enumerater{��r���r ���r ���r���r<���ZgetoptZgetpass�argvZoptlistr����rA���r/��Zstream_command�optr;��rX���ZgetuserZUSERZPASSWDZ test_mesgZ test_seq1Z test_seq2r���r���rH���rs���ry���rw���r���ZmlrC��r7��r8���pathr����r���printr?���r?���r?���r@����<module>���s����H� ������� � ��� ������������������� �!�"�#�$� 0 ���������� 69 ,# )�� � �� ���