JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbro h@s& dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z m Z ddl mZzddlZdZWn eyJdZYnwgdZdZdZd Zd Zd Zd Zd Ziddddddddddddddddddddddddddd dd!dd"dd#did$dd%dd&dd'dd(dd)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dd4dddddddddd5Zed6Zed7Zed8Zed9ejZ ed:Z!ed;Z"ed<Z#ed=ejZ$d9Z%d=Z&Gd>d?d?Z'erGd@dAdAe'Z(e)dAGdBdCdCe'Z*GdDdEdEZ+dF,dGZ-dHdIe.e-dJdDZ/dKdLZ0dMdNZ1dOdPZ2dQdRZ3e4dSkrddl5Z5ddl6Z6ze55ej7dJddT\Z8Z9Wne5j:y~Z;z dU\Z8Z9WYdZ;[;ndZ;[;wwdZe;Zqe=dWkre;Z.*))?s.*FLAGS \((?P[^\)]*)\)s.*INTERNALDATE "(?P[ 0123][0-9])-(?P[A-Z][a-z][a-z])-(?P[0-9][0-9][0-9][0-9]) (?P[0-9][0-9]):(?P[0-9][0-9]):(?P[0-9][0-9]) (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])"s.*{(?P\d+)}$s \r\n|\r|\ns%\[(?P[A-Z-]+)( (?P.*))?\]s$\* (?P[A-Z-]+)( (?P.*))?s3\* (?P\d+) (?P[A-Z-]+)( (?P.*))?c@seZdZ GdddeZGdddeZGdddeZdedfd d Zd d Z d dZ ddZ ddZ ddZ ddZddZdedfddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Z d;d<Z!d=d>Z"d?d@Z#dAdBZ$dCdDZ%dEdFZ&dGdHZ'ddKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,ddUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4ddgdhZ5didjZ6dkdlZ7dmdnZ8dodpZ9ddqdrZ:dsdtZ;dudvZd{d|Z?d}d~Z@ddZAddZBddZCddZDddZEddZFddZGddZHdddZIddZJddZKddZLddZMddZNddZOdS)rc@ eZdZdS)z IMAP4.errorN__name__ __module__ __qualname__r?r?./opt/alt/python310/lib64/python3.10/imaplib.pyerror rAc@r:)z IMAP4.abortNr;r?r?r?r@abortrBrCc@r:)zIMAP4.readonlyNr;r?r?r?r@readonlyrBrDNc Cst|_d|_d|_i|_i|_d|_d|_d|_d|_ | | |||z| WdSt yDz|WtyCYww)NrrEFr)Debugdebugstateliteraltagged_commandsuntagged_responsescontinuation_response is_readonlytagnum_tls_established _mode_asciiopen_connect ExceptionshutdownOSErrorselfhostporttimeoutr?r?r@__init__s,   zIMAP4.__init__cCs0d|_d|_tttj|_tttj|_dS)NFascii) utf8_enabled _encodingrecompile_LiteralASCIILiteral_Untagged_statusUntagged_statusrWr?r?r@rPszIMAP4._mode_asciicCs(d|_d|_tt|_tt|_dS)NTutf-8)r]r^r_r`rarcrdrerfr?r?r@ _mode_utf8s zIMAP4._mode_utf8cCsttdd|_td|jdtj|_ ||_d |jvr%d |_nd |jvr.d|_n||j| tD] }||jvrCq;||_dS|d)Niis(?Ps"\d+) (?P[A-Z]+) (?P.*)F rzimaplib version %sznew IMAP4 connection, tag=%sZPREAUTHrOKrzCAPABILITIES: %rzserver not IMAP4 compliant)r randomZrandinttagprer_r`rbtagre _cmd_log_len _cmd_log_idx_cmd_logrG_mesg __version__ _get_responseZwelcomerKrHrA_get_capabilities capabilitiesAllowedVersionsPROTOCOL_VERSION)rWversionr?r?r@rRs.      zIMAP4._connectcCs"|tvr t||Std|)NzUnknown IMAP4 command: '%s')CommandsgetattrlowerAttributeError)rWattrr?r?r@ __getattr__s zIMAP4.__getattr__cCs|SNr?rfr?r?r@ __enter__szIMAP4.__enter__cGs2|jdkrdSz|WdStyYdSwNr)rHlogoutrU)rWargsr?r?r@__exit__s  zIMAP4.__exit__cCs`|dur |s td|jsdn|j}td||j|j||jf}|dur+t||St|S)Nz0Non-blocking socket (timeout=0) is not supportedz imaplib.open) ValueErrorrXsysauditrYsocketZcreate_connection)rWrZrXZaddressr?r?r@_create_socket&s    zIMAP4._create_socketcCs, ||_||_|||_|jd|_dS)Nrb)rXrYrsockmakefilefilerVr?r?r@rQ3s  z IMAP4.opencCsj t|t}|j|}||kr3t||kr3t|||}||j|7}||7}||kr3t||ks|Sr)min_SAFE_BUF_SIZErreadlen)rWsizeZcursizedatadeltar?r?r@r?s  z IMAP4.readcCs0 |jtd}t|tkr|dt|S)Nrjzgot more than %d bytes)rreadline_MAXLINErrArWliner?r?r@rJs  zIMAP4.readlinecCs td|||j|dS)Nz imaplib.send)rrrZsendallrWrr?r?r@sendRsz IMAP4.sendc Cs |jz;z |jtjWn!ty1}z|jtjkr't |dddkr'WYd}~n d}~wwW|jdSW|jdS|jw)NZwinerrorri&') rcloserrTrZ SHUT_RDWRrUerrnoZENOTCONNr|)rWexcr?r?r@rTXs   zIMAP4.shutdowncCs |jSr)rrfr?r?r@rhsz IMAP4.socketcCsD d}|ddg|\}}|dr||fS|\}}||||S)NZRECENTrk)_untagged_responsenooprWnametypdatr?r?r@recentts z IMAP4.recentcCs ||dg|Sr)rupper)rWcoder?r?r@responseszIMAP4.responsecCsz d}|sd}|r|d|dfdkrd|}nd}|r!t|}nd}tt|}|jr2d|d}||_|||||S) NrINBOXrr()(%s)sUTF8 ())r MapCRLFsubCRLFr]rI_simple_command)rWmailboxflags date_timemessagerrIr?r?r@appends"   z IMAP4.appendcCsR |}t|j|_|d|\}}|dkr"||dddd|_||fS)Nrrkrrgreplacer)r_AuthenticatorprocessrIrrAdecoderH)rWZ mechanismZ authobjectmechrrr?r?r@ authenticates zIMAP4.authenticatecC" d}||\}}||||S)Nrrrrr?r?r@ capabilityszIMAP4.capabilitycCs |dS)Nrrrfr?r?r@checks z IMAP4.checkcC* z|d\}}Wd|_||fSd|_w)NrrrrHrWrrr?r?r@rs z IMAP4.closecC |d||S)Nrr)rW message_setZ new_mailboxr?r?r@copyz IMAP4.copycC |d|S)NrrrWrr?r?r@create z IMAP4.createcCr)Nrrrr?r?r@deleterz IMAP4.deletecCr)Nrr)rWrwhor?r?r@ deleteaclrzIMAP4.deleteaclcCsJ d|jvr td|d|\}}|dkr!d|vr!|||fS)NrzServer does not support ENABLErkz UTF8=ACCEPT)rwrrArrrh)rWrrrr?r?r@enables  z IMAP4.enablecCr)Nrrrr?r?r@expungesz IMAP4.expungecC& d}||||\}}||||S)Nrr)rWrZ message_partsrrrr?r?r@fetch"s z IMAP4.fetchcC |d|\}}|||dS)NrZACLrrWrrrr?r?r@getacl1z IMAP4.getaclcCs$ |d|||\}}|||dS)Nr ANNOTATIONr)rWrentryZ attributerrr?r?r@ getannotation:szIMAP4.getannotationcCr)Nr!QUOTAr)rWrootrrr?r?r@getquotaBszIMAP4.getquotacCsB |d|\}}|||d\}}|||d\}}|||gfS)Nr"rZ QUOTAROOTr)rWrrrZquotaZ quotarootr?r?r@ getquotarootMs  zIMAP4.getquotaroot""*cCr)Nr$rrWZ directorypatternrrrr?r?r@listXz IMAP4.listcCs> |d|||\}}|dkr||dd|_||fS)Nr%rkrr)r_quoterArH)rWuserpasswordrrr?r?r@loginds z IMAP4.logincCs |||_|_|d|jS)NzCRAM-MD5)rrr_CRAM_MD5_AUTH)rWrrr?r?r@login_cram_md5rszIMAP4.login_cram_md5cCsD ddl}t|jtr|jdn|j}|jd|||dS)Nrrg Zmd5)hmac isinstancerstrencoderZHMACZ hexdigest)rWZ challengerpwdr?r?r@r{s zIMAP4._CRAM_MD5_AUTHcCs& d|_|d\}}|||fSr)rHrrTrr?r?r@rs z IMAP4.logoutcCr)Nr&rrr?r?r@lsubrz IMAP4.lsubcCs |d|\}}|||dS)Nr#rrr?r?r@myrightsrzIMAP4.myrightscCr)Nr'rrr?r?r@ namespaceszIMAP4.namespacecCs |dS)NFrlr()rG_dump_urrKrrfr?r?r@rs z IMAP4.noopcCs* d}||||||\}}|||dS)Nr)rr)rWZ message_numZ message_partstartZlengthrrrr?r?r@partialsz IMAP4.partialcCs d}|d|S)Nr*r)rWrrr?r?r@ proxyauths zIMAP4.proxyauthcCr)Nr+r)rWZ oldmailboxZ newmailboxr?r?r@renamerz IMAP4.renamecGsZ d}|r|jr td|j|d|g|R\}}n |j|g|R\}}||||S)Nr,z'Non-None charset not valid in UTF8 modeCHARSET)r]rrArr)rWcharsetZcriteriarrrr?r?r@searchs z IMAP4.searchrFcCsz i|_||_|r d}nd}|||\}}|dkr!d|_||fSd|_d|jvr3|s3 |d |||jd dgfS) Nrr-rkrr READ-ONLYFrjz%s is not writableEXISTS)rKrMrrHrGrrDget)rWrrDrrrr?r?r@selects"  z IMAP4.selectcCs |d|||S)Nr.r)rWrrZwhatr?r?r@setacl sz IMAP4.setaclcGs& |jdg|R\}}|||dS)Nr/rr)rWrrrr?r?r@ setannotationszIMAP4.setannotationcCs" |d||\}}|||dS)Nr0rr)rWrZlimitsrrr?r?r@setquotaszIMAP4.setquotacGsJ d}|d|dfdkrd|}|j|||g|R\}}||||S)Nr1rrrrr)rWZ sort_criteriarsearch_criteriarrrr?r?r@sort$s z IMAP4.sortcCsd}ts |d|jr|d||jvr|d|dur#t}||\}}|dkrG|j|j |j d|_ |j d|_ d|_| n|d ||||S) Nr2zSSL support missingzTLS session already establishedzTLS not supported by serverrkZserver_hostnamerTzCouldn't establish TLS session)HAVE_SSLrArOrCrwssl_create_stdlib_contextr wrap_socketrrXrrrvr)rW ssl_contextrrrr?r?r@starttls2s&      zIMAP4.starttlscCr)Nr3r)rWrnamesrrrr?r?r@statusIsz IMAP4.statuscCs@ |d|dfdkrd|}|d|||\}}|||dS)Nrrrrr4rr)rWrcommandrrrr?r?r@storeUs z IMAP4.storecCr)Nr5rrr?r?r@ subscribe`rzIMAP4.subscribecGs. d}|j|||g|R\}}||||S)Nr6r)rWZthreading_algorithmrrrrrr?r?r@threadhsz IMAP4.threadc Gs |}|tvr|d||jt|vr'|d||jdt|fd}|j||g|R\}}|dvr<|}nd}||||S)NzUnknown IMAP4 UID command: %s9command %s illegal in state %s, only allowed in states %s, r7)r,r1r6r)rr{rArHjoinrr)rWrrrrrr?r?r@uidrs  z IMAP4.uidcCr)Nr8rrr?r?r@ unsubscriberzIMAP4.unsubscribecCr)Nr9rr)rWrrr?r?r@unselects zIMAP4.unselectcGs0 |}|tvr|jft|<|j|g|RSr)rr{rHrrWrrr?r?r@xatoms   z IMAP4.xatomcCs<|durd}|j} ||vr|||dS|g||<dSN)rKrGrsrrr)rWrrZurr?r?r@_append_untaggedszIMAP4._append_untaggedcCs,|jd}|r||d|jddS)NBYErr)rKrrCrr^)rWbyer?r?r@ _check_byes zIMAP4._check_byec Gs|jt|vrd|_|d||jdt|fdD] }||jvr'|j|=qd|jvr5|js5|d|}t ||j }|d|}|D]}|durNqGt |t rYt ||j }|d|}qG|j}|durd|_t |t |jurv|}nd}|t dt||j } z ||tWnty} z|d | d} ~ ww|dur|S |r|j|r|S|s|r||j} z |||tWnty} z|d | d} ~ ww|s |Sq) NrrrkNOBADrz#mailbox status changed to READ-ONLY z {%s}Fz> %rzsocket error: %s)rHr{rIrArrKrMrD_new_tagbytesr^rrtype_commandrrGrs_logrrrUrCrurJrL) rWrrrtagrargrIZ literatorvalr?r?r@r+st            zIMAP4._commandc Cs|dk}|s |z |j||d\}}Wn+|jy+}z |d||fd}~w|jy@}z |d||fd}~ww|sG||dkrU|d|||f||fS)Nr) expect_byezcommand: %s => %sr%z%s command error: %s %s)r"_get_tagged_responserCrA)rWrr-rrrr/r?r?r@_command_completes"zIMAP4._command_completecCsJ|\}}|dgkr|dt|d|j}|}t||_dS)Nz"no CAPABILITY response from serverr)rrArr^rtuplesplitrwrr?r?r@rv,s   zIMAP4._get_capabilitiescCs|}||j|r8|jd}||jvr|d||jd}t||j}|jd}||gf|j|<n~d}|t |sM||j |rM|jd}|jdurh|t |ra|jd|_ dS|d||jd}t||j}|jd}|durd}|r|d|}||j |rt|jd } ||}||||f|}||j |s||||d vr|t|r|jd}t||j}|||jd |S)Nr-zunexpected tagged response: %rr*rZdata2zunexpected response: %rrr&rFr'zread literal size %sr#) _get_line_matchromogrouprJrCrr^Untagged_responsere ContinuationrLrcintrGrsrr Response_code)rWrespr-rrZdat2rrr?r?r@ru5sJ                 zIMAP4._get_responsec Cs| |j|}|dur|j|=|S|r#d}|j|d}|dur#||fS|z|Wn|jy<}z d}~wwq)Nrjr )rJrKpopr"rurCrG print_log)rWr-r0resultrr!r/r?r?r@r1s&  zIMAP4._get_tagged_responsecCs@|}|s |d|ds|d||dd} |S)Nzsocket error: EOFr z#socket error: unterminated line: %r)rrCendswithrGrsr,rr?r?r@r5s   zIMAP4._get_linecCs|||_ |jduSr)matchr7rGrsrgroups)rWZcresr?r?r@r6s  z IMAP4._matchcCs2|jtt|j|j}|jd|_d|j|<|S)Nrj)rnr)rrNr^rJ)rWr-r?r?r@r(s  zIMAP4._new_tagcCs$|dd}|dd}d|dS)N\z\\"z\")r)rWr.r?r?r@rs   z IMAP4._quotecGs|||j|g|RSr)r2r+rr?r?r@rszIMAP4._simple_commandcCs:|dkr||fS||jvr|dgfS|j|} ||fS)Nr$)rKr>rGrs)rWrrrrr?r?r@rs   zIMAP4._untagged_responsecCsN|durt}tdt|}tjd||dd|ftjdS)Nz%M:%Sz %s.%02d %s d)timestrftime localtimerstderrwriteflush)rWrEZsecsZtmr?r?r@rss z IMAP4._mesgcCs2|sdSdd|D}|dd|dS)Ncss"|] \}}|d|VqdS)z: Nr?).0keyvaluer?r?r@ sz!IMAP4._dump_ur..zuntagged responses dump:z )itemsrsr)rWZuntagged_resp_dictrSr?r?r@rs zIMAP4._dump_urcCs<|tf|j|j<|jd7_|j|jkrd|_dSdS)Nrjr)rIrrrqrprr?r?r@r,s   z IMAP4._logcCsn|dt|j|j|j}}|r5z |j|j|WnY|d7}||jkr-d}|d8}|sdSdS)Nzlast %d IMAP4 interactions:rjr)rsrrrrqrp)rWinr?r?r@r?s  zIMAP4.print_log)rr)rFr)F)Tr<r=r>rSrArCrD IMAP4_PORTr[rPrhrRrrrrrQrrrrTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"r+r2rvrur1r5r6r(rrrrsrr,r?r?r?r?r@rs/*                       M P!  rc@s<eZdZ deddddfddZddZdedfddZdS) IMAP4_SSLrENcCs|dur |dur td|dur|durtd|dus |dur+ddl}|dtd||_||_|durIMAP4_SSL_PORTr[rrQr?r?r?r@rW s rWc@s@eZdZ ddZdddZddZdd Zd d Zd d ZdS)rcCs||_t|dSr)rrr[)rWrr?r?r@r[RszIMAP4_stream.__init__NcCsP d|_d|_d|_d|_tj|jttjtjddd|_ |j j |_ |j j |_ dS)NT)bufsizestdinstdoutshellZ close_fds)rXrYrr subprocessPopenrrPIPErr` writefilerareadfilerVr?r?r@rQWs zIMAP4_stream.opencCs |j|Sr)rgr)rWrr?r?r@rgs zIMAP4_stream.readcCs |jSr)rgrrfr?r?r@rls zIMAP4_stream.readlinecCs |j||jdSr)rfrMrNrr?r?r@rqs zIMAP4_stream.sendcCs$ |j|j|jdSr)rgrrfrwaitrfr?r?r@rTws  zIMAP4_stream.shutdown)NNN) r<r=r>r[rQrrrrTr?r?r?r@rFs  rc@s.eZdZ ddZddZddZddZd S) rcCs ||_dSr)r)rWZmechinstr?r?r@r[s z_Authenticator.__init__cCs&|||}|durdS||S)N*)rrr)rWrZretr?r?r@rs z_Authenticator.processcCspd}t|tr |d}|r6t|dkr!|dd}|dd}n|}d}t|}|r4||dd}|s|S)Nrrg0r)rrrrbinasciiZ b2a_base64)rWinpZoupter?r?r@rs      z_Authenticator.encodecCs|sdSt|Sr)rkZ a2b_base64)rWrlr?r?r@rs z_Authenticator.decodeN)r<r=r>r[rrrr?r?r?r@rs  rz0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov DecrcCsi|] \}}||dqS)rj)r)rOrUrEr?r?r@ srorjc Cs t|}|s dSt|d}|d}t|d}t|d}t|d}t|d}t|d}t|d} t|d } | d | d } |d krV| } ||||||d d d f } t| | } t| S) Nmonzonendayyearhourrseczonehzonem<-r) InternalDaterCMon2numr8r;calendarZtimegmrIrK)r=r7rprqrrrsrtrrurvrwZzoneZttutcr?r?r@rs&   rcCsD d}d}tt|}|r t|d\}}|||d|}|s |S)NrsABCDEFGHIJKLMNOPrj)r;absdivmod)Znumr/ZAPmodr?r?r@r s r cCs& t|}|s dSt|dS)Nr?r)FlagsrCr3r8r4)r=r7r?r?r@r s  r cCs t|ttfrt|tj}npt|tr\z|j }Wn,t yHt j rB|d}|dkr8t t |d}t jt jf| }nt j }Ynwt|d}t|dddt|i}n&t|trm|jdurjtd|}nt|tr~|d|dfdkr~|Std d t|j}||S) Nr)Zsecondstzinfozdate_time must be awarer)rGrGzdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z")rr;floatrZ fromtimestamprr}Z astimezoner3 tm_gmtoffr~rIdaylightrKmktimealtzonerrrrformatMonthsZmonthrJ)rZdtZgmtoffZdstrZfmtr?r?r@r s<        r __main__zd:s:)r?r?z-dz-s)rEzIMAP password for %s on %s: Z localhostzJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)s )rZlfr)r) /tmp/xxx 1)r)rz/tmp/yyy)r /tmp/yyz 2rr)r)z/tmpzyy*)rr)r)NZSUBJECTtest)r)1z(FLAGS INTERNALDATE RFC822))r)rFLAGSz (\Deleted))rr?)rr?)rr?)rr?)rr?)r)Z UIDVALIDITY)r)r,ZALL)r)r)rr?cCsLtd||ftt||\}}td|||f|dkr$|d|S)Nz%s %sz %s => %s %sr$r)Mrsr|)cmdrrrr?r?r@runJs rrzPROTOCOL_VERSION = %szCAPABILITIES = %rr)z/tmp/zyy%z .*"([^"]+)"$rrrz%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 )Urtrkrrmr_rrcrrIr|rrriorr r  ImportError__all__rrFrVr^rxrrr{r`r:rrzrbrcrr<r9rerardrrWrrrr4r enumerater{rr r r r<ZgetoptZgetpassargvZoptlistrrAr/Zstream_commandoptr;rXZgetuserZUSERZPASSWDZ test_mesgZ test_seq1Z test_seq2rrrHrsryrwrZmlrCr7r8pathrrprintr?r?r?r@sH         !"#$ 0      69 ,#  )