grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026+ ƒŽë¶z,B�ãó0 €RtRt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI t ^RI t ^RI H t H t H t ^RIHt^RItRt.RoOtR t^t^�tR tRptR t/R RqbRRrbRRsbRRtbRRtbRRtbRRqbRRqbRRqbRRubRRqbRRtbRRtbRRqbRRqbRRqbRRqb/RRqbR RqbR!RqbR"RrbRRsbR#RqbR$RtbR%RqbR&RsbR'RtbR(RubR)RqbR*RtbR+RqbR,RqbR-RqbR.RqbCR/RtR0RrR1RqR2RtR3RqR4RtR5RtR6RqR7Rt/ Ct]P6!R84t]P6!R94t]P6!R:4t]P6!R;]P>4t ]P6!R<4t!]P6!R=4t"]P6!R>4t#]P6!R?]P>4t$R;t%R?t&]P6!R@4t']P6!RA4t(]P6!RB4t)]P6!RC4t*RvRDlt+!RER4t,!RFRG4t-]'d!RHRI],4t.]P_RI4!RJR],4t0!RKRL4t1RMPeRN4t3]4!]3RO,4UUu/uFwrVPk4V^,bK uppt6RPt7RQt8RRt9RSt:];RT8XEd7^RI.*))?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.*))?s[ ]s[(){ \x00-\x1f\x7f-\xff%*\\"]s[(){ \x00-\x1f\x7f-\xff\\"]s"(?:[^"\\]|\\.)*+"cóˆ€\PRV4pWPR4,VPR4, #)óó(ó))Ú_quotedÚsubÚcount)ÚdataÚdepths&&Ú./opt/alt/python314/lib64/python3.14/imaplib.pyÚ _paren_depthr?Žs2€ä �;‰;�s˜DÓ !€DØ —:‘:˜dÓ#Õ # d§j¡j°Ó&6Õ 6Ð6r6cóœa€]tRt^”toRt!RR]4t!RR]4t!RR]4t!RR ] 4t R ] R 3R lt R t RtRtRtRtRtRtR ] R 3Rlt]R4tRtRtRtRtRtRtRtRtRtRt R t!R!t"R"t#R#t$R$t%R%t&R&t'R't(R(t)R)t*R*t+R+t,R,t-R^R-lt.R_R.lt/R/t0R0t1R1t2R2t3R_R3lt4R4t5R5t6R6t7R7t8R8t9R9t:R:t;R`R;ltR>t?R?t@R^R@ltARAtBRBtCRCtDRDtEREtFRFtGRGtHRHtIRItJRJtKRKtLRLtMRMtNRNtORaROltPRaRPltQRQtRRRtSRStTRTtURUtVRVtWRWtXRXtYRYtZRZt[R[t\R\t]R]tbTtcR #)braIMAP4 client class. Instantiate with: IMAP4([host[, port[, timeout=None]]]) host - host's name (default: localhost); port - port number (default: standard IMAP4 port). timeout - socket timeout (default: None) If timeout is not given or is None, the global default socket timeout is used All IMAP4rev1 commands are supported by methods of the same name (in lowercase). All arguments to commands are converted to strings, except for AUTHENTICATE, and the last argument to APPEND which is passed as an IMAP4 literal. If necessary (the string contains any non-printing characters or white-space and isn't enclosed with either parentheses or double quotes) each string is quoted. However, the 'password' argument to the LOGIN command is always quoted. If you want to avoid having an argument string quoted (eg: the 'flags' argument to STORE) then enclose the string in parentheses (eg: "(\Deleted)"). Each command returns a tuple: (type, [data, ...]) where 'type' is usually 'OK' or 'NO', and 'data' is either the text from the tagged response, or untagged results from command. Each 'data' is either a string, or a tuple. If a tuple, then the first part is the header of the response, and the second part contains the data (ie: 'literal' value). Errors raise the exception class .error(""). IMAP4 server errors raise .abort(""), which is a sub-class of 'error'. Mailbox status changes from READ-WRITE to READ-ONLY raise the exception class .readonly(""), which is a sub-class of 'abort'. "error" exceptions imply a program error. "abort" exceptions imply the connection should be reset, and the command re-tried. "readonly" exceptions imply the command should be re-tried. Note: to use this module, you must read the RFCs pertaining to the IMAP4 protocol, as the semantics of the arguments to each IMAP4 command are left to the invoker, not to mention the results. Also, most IMAP servers implement a sub-set of the commands available here. có€]tRt^ÅtRtR#)Ú IMAP4.error©N©Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__Ú__static_attributes__rCr6r>ÚerrorrBÅs†›Dr6rJcó€]tRt^ÆtRtR#)Ú IMAP4.abortrCNrDrCr6r>ÚabortrLÆs†›r6rMcó€]tRt^ÇtRtR#)ÚIMAP4.readonlyrCNrDrCr6r>ÚreadonlyrOÇs†›4r6rPcó€]tRt^ÈtRtR#)ÚIMAP4._responsetimeoutrCNrDrCr6r>Ú_responsetimeoutrRÈs†«$r6rSÚNcó€€\VnRVnRVn/Vn/VnRVn.VnRVnRVn ^Vn RVn VP4.Vn VPWV4VP4R# \ d%TP#4h \$dhi;ii;i)r NrTF)ÚDebugÚdebugÚstateÚliteralÚtagged_commandsÚuntagged_responsesÚcontinuation_responseÚ_idle_responsesÚ _idle_captureÚ is_readonlyÚtagnumÚ_tls_establishedÚ _mode_asciiÚ_readbufÚopenÚ_connectÚ ExceptionÚshutdownÚOSError©ÚselfÚhostÚportÚtimeouts&&&&r>Ú__init__ÚIMAP4.__init__ÊsÀ€ÜˆŒ ؈Œ ؈Œ Ø!ˆÔØ"$ˆÔØ%'ˆÔ"Ø!ˆÔØ"ˆÔØ ˆÔ؈Œ Ø %ˆÔØ ×ÑÔØˆŒ ð � ‰ �$˜gÔ&ð Ø �M‰MŽOøÜô ð Ø— ‘ ”ð øôô ØØ ð úð ús0Á<B B=ÂB+Â*B=Â+ B9Â6B=Â8B9Â9B=cóÚ€RVnRVn\P!\\P 4Vn\P!\\P 4VnR#)FÚasciiN) Ú utf8_enabledÚ _encodingÚreÚcompileÚ_LiteralÚASCIIÚLiteralÚ_Untagged_statusÚUntagged_status©rjs&r>rbÚIMAP4._mode_asciiæs?€Ø!ˆÔØ ˆŒÜ—z’z¤(¬B¯H©HÓ5ˆŒ Ü!ŸzšzÔ*:¼B¿H¹HÓEˆÖr6cóž€RVnRVn\P!\4Vn\P!\ 4VnR#)Túutf-8N)rrrsrtrurvrxryrzr{s&r>Ú _mode_utf8ÚIMAP4._mode_utf8ís3€Ø ˆÔØ ˆŒÜ—z’z¤(Ó+ˆŒ Ü!ŸzšzÔ*:Ó;ˆÖr6có¨€\\P!RR44Vn\P !RVP,R,\P 4VnTP4TnRTP 9d RTnMuRTP 9d RTnM\TP;'gTP$P&P)TP*R4pTP-R T,4hTP/4\2FpY P09gKY nR # TP-R 4h) iiÿÿs(?Ps"\d+) (?P[A-Z]+) (?P.*)ÚPREAUTHr ÚOKÚNONAUTHÚreplacezinvalid greeting: Nzserver not IMAP4 compliant)ÚInt2APÚrandomÚrandintÚtagprertrurwÚtagreÚ _cmd_log_lenÚ _cmd_log_idxÚ_cmd_logrWÚ_mesgÚ __version__Ú _get_responseÚwelcomer[rXÚmoÚstringÚdecodersrJÚ_refresh_capabilitiesÚ capabilitiesÚAllowedVersionsÚPROTOCOL_VERSION)rjÚgreetingÚversions& r>reÚIMAP4._connectôs€ôœVŸ^š^¨D°%Ó8Ó9ˆŒ Ü—Z’Z  ØŸ+™+õ!&à@õ!AäBDÇ(Á(óLˆŒ ð ð×)Ñ)Ó+ˆŒ Ø ˜×/Ñ/Ô /؈D�JØ �T×,Ñ,Ô ,Ø"ˆD�J🠙 ×6Ð6¨¯©¯©×>Ñ>Ø—‘  ó+ˆHà—*‘*Ð1°HÕ<Ó=Ð =à ×"Ñ"Ô$Ø ÷'ˆGØ×/Ñ/Ô/ÙØ$+Ô !Ú ñ 'ð �j‰jÐ5Ó6Ð6r6cón€V\9d\WP44#\RV,4h)zUnknown IMAP4 command: '%s')ÚCommandsÚgetattrÚlowerÚAttributeError)rjÚattrs&&r>Ú __getattr__ÚIMAP4.__getattr__"s,€à ”8Ô Ü˜4§¡£Ó.Ð .ÜÐ:¸TÕAÓBÐBr6có€V#©NrCr{s&r>Ú __enter__ÚIMAP4.__enter__(ó€Øˆ r6cór€VPR8XdR#VP4R# \dR#i;i)r N)rXÚlogoutrh)rjÚargss&*r>Ú__exit__ÚIMAP4.__exit__+s1€Ø �:‰:˜Ô !Ù ð Ø �K‰KŽMøÜô Ú ð ús •'§ 6µ6cóB€VeV'g \R4hVP'gRM VPp\P!RWPVP4W P3pVe\ P !W14#\ P !V4#)Nz0Non-blocking socket (timeout=0) is not supportedz imaplib.open)Ú ValueErrorrkÚsysÚauditrlÚsocketÚcreate_connection)rjrmrkÚaddresss&& r>Ú_create_socketÚIMAP4._create_socket8sw€ð Ò §wÜÐOÓPÐ PØŸ9Ÿ9˜9‰t¨$¯)©)ˆÜ � Š �. $¯ © °4·9±9Ô=ØŸ™Ð#ˆØ Ò Ü×+Ò+¨GÓ=Ð =Ü×'Ò'¨Ó0Ð0r6c óŠ€WnW nVPV4VnVPP R4VnR#)z±Setup connection to remote server on "host:port" (default: localhost:standard IMAP4 port). This connection will be used by the routines: read, readline, send, shutdown. ÚrbN)rkrlrµÚsockÚmakefileÚ_fileris&&&&r>rdÚ IMAP4.openEs6€ð Œ ØŒ Ø×'Ñ'¨Ó0ˆŒ Ø—Y‘Y×'Ñ'¨Ó-ˆŽ r6cóR€^RIpVPR\^R7VP#)éNz@IMAP4.file is unsupported, can cause errors, and may be removed.)Ú stacklevel)ÚwarningsÚwarnÚRuntimeWarningr»)rjrÀs& r>ÚfileÚ IMAP4.fileQs-€ó Ø� ‰ Ø NÜ Øð ô ð�z‰zÐr6c óD€.pV^8”dö\V4\VP48dVP\V4,pMDVPP\4pT'gMŒTPP T4\V4V8¼d=VP VRV4W1R.VP\V4R,VnM%VP V4V\V4,pKüRPV4# \ dKi;i)úRead 'size' bytes from remote.Nr6)Úlenrcr¹ÚrecvrÚConnectionErrorÚappendÚjoin)rjÚsizeÚpartsÚbufs&& r>ÚreadÚ IMAP4.readbsç€ðˆà�QŒhä�5‹zœC § ¡ Ó.Ô.Ø—m‘m¤C¨£JÕ/‘ðØŸ)™)Ÿ.™.Ô)<Ó=�C÷ØØ— ‘ ×$Ñ$ SÔ)ä�3‹x˜4ÔØ— ‘ ˜S  $˜ZÔ(Ø!$ U   ¨t¯}©}¼SÀ»Z¸[Ð/IÕ I�” ØØ �L‰L˜Ô Ø ”C˜“HÕ ŠDà�x‰x˜‹Ðøô'ôÚðúsÁ DÄ DÄDc óÞ€Rp.p^pV\8Ed\V4\VP48dVP\V4,pMDVPP \ 4pT'gMžTPPT4VPV4pVR8wdFV^, pVPVRV4WER.VP\V4R,VnM&VPV4V\V4, pEKRPV4p\V4\8”dVPR\,4hV# \ dKQi;i)úRead line from remote.ó Nr6zgot more than %d byteséÿÿÿÿ) Ú_MAXLINErÇrcr¹rÈrrÉrÊÚfindrËrJ)rjÚLFrÍÚlengthrÎÚposÚlines& r>ÚreadlineÚIMAP4.readlineŠs(€ðˆØˆØˆà”xÕä�5‹zœC § ¡ Ó.Ô.Ø—m‘m¤C¨£JÕ/‘ðØŸ)™)Ÿ.™.Ô)<Ó=�C÷ØØ— ‘ ×$Ñ$ SÔ)à—(‘(˜2“,ˆCØ�bŒyØ�q•�Ø— ‘ ˜S  #˜YÔ'Ø!$ T   ¨d¯m©m¼CÀ»J¸KÐ.HÕ H�” ØØ �L‰L˜Ô Ø ”c˜#“hÕ ‹Fà�x‰x˜‹ˆÜ ˆt‹9”xÔ Ø—*‘*Ð5¼Õ@ÓAÐ A؈ øô%'ôÚðúsÁEÅ E,Å+E,c ój€\P!RW4VPPV4R#)úSend data to remote.z imaplib.sendN)r°r±r¹Úsendall©rjr<s&&r>ÚsendÚ IMAP4.send®s"€ä � Š �. $Ô-Ø � ‰ ×ј$Ör6c ó”€VPP4VPP\P 4VPP4R# \ d=pTP\P8wd\TR^4R8wdhRp?L^Rp?ii;i TPP4i;i)ú Close I/O established in "open".Úwinerrori&'N) r»Úcloser¹rgr²Ú SHUT_RDWRrhÚerrnoÚENOTCONNrž)rjÚexcs& r>rgÚIMAP4.shutdown´s‰€à � ‰ ×ÑÔð Ø �I‰I× Ñ œv×/Ñ/Ô 0ð �I‰I�O‰OÖ øôô ð— ‘ œUŸ^™^Ô+ܘ3  ¨AÓ.°%Ô7Øÿøð  ûð �I‰I�O‰OÕ ús)œ)A!Á! B(Á,2B#ÂB+Â#B(Â(B+Â+Cc ó€VP#)zVReturn socket instance used to connect to IMAP4 server. socket = .socket() )r¹r{s&r>r²Ú IMAP4.socketÄs€ð �y‰yÐr6c óž€RpVPRR.V4wr#VR,'dW#3#VP4wr#VPW#V4#)zéReturn most recent 'RECENT' responses if any exist, else prompt server for an update using the 'NOOP' command. (typ, [data]) = .recent() 'data' is None if no new messages, else list of RECENT responses, most recent last. ÚRECENTrƒNrÔ)Ú_untagged_responseÚnoop©rjÚnameÚtypÚdats& r>ÚrecentÚ IMAP4.recentÐsQ€ðˆØ×*Ñ*¨4°$°¸Ó>‰ˆØ ˆr�7Œ7Ø�8ˆOØ—9‘9“;‰ˆØ×&Ñ& s°Ó6Ð6r6c óF€VPVR.VP44#)z�Return data for response 'code' if received, or None. Old value for response 'code' is cleared. (code, [data]) = .response(code) N)rðÚupper)rjÚcodes&&r>ÚresponseÚIMAP4.responseás!€ð×&Ñ& t¨d¨V°T·Z±Z³\ÓBÐBr6c ó€RpV'gRpV'dVPV4pMRpV'd \V4pMRp\P\V4pW`nVP WPPV4W#4#)z˜Append message to named mailbox. (typ, [data]) = .append(mailbox, flags, date_time, message) All args except 'message' can be None. r ÚINBOXN)Ú _set_quoteÚTime2InternaldateÚMapCRLFr:ÚCRLFrYÚ_simple_commandÚ_astring)rjÚmailboxÚflagsÚ date_timeÚmessagerórYs&&&&& r>rÊÚ IMAP4.appendïsj€ðˆß؈Gß Ø—O‘O EÓ*‰EàˆEß Ü)¨)Ó4‰IàˆIÜ—+‘+œd GÓ,ˆØŒ Ø×#Ñ# D¯-©-¸Ó*@À%ÓSÐSr6c ó.€VP4p\V4PVnVP RVP V44wrEVR8wd)VP VR,PRR44hRVnVP4WE3#)a#Authenticate command - requires response processing. 'mechanism' specifies which authentication mechanism is to be used - it must appear in .capabilities in the form AUTH=. 'authobject' must be a callable object: data = authobject(response) It will be called to process server continuation responses; the response argument it is passed will be a bytes. It should return bytes data that will be base64 encoded and sent to the server. It should return None if the client abort response '*' should be sent instead. r rƒr~r…r rÔ) rùÚ_AuthenticatorÚprocessrYrÚ_atomrJr”rXr•)rjÚ mechanismÚ authobjectÚmechrôrõs&&& r>Ú authenticateÚIMAP4.authenticates€€ð �‰Ó ˆô & jÓ1×9Ñ9ˆŒ Ø×'Ñ'¨¸¿ ¹ À4Ó8HÓI‰ˆØ �$Œ;Ø—*‘*˜S �WŸ^™^¨G°YÓ?Ó@Ð @؈Œ Ø ×"Ñ"Ô$؈xˆr6c óP€RpVPV4wr#VPW#V4#)zL(typ, [data]) = .capability() Fetch capabilities list from server.r ©rrðròs& r>Ú capabilityÚIMAP4.capability$s.€ðˆØ×'Ñ'¨Ó-‰ˆØ×&Ñ& s°Ó6Ð6r6c ó$€VPR4#)zBCheckpoint mailbox on server. (typ, [data]) = .check() r)rr{s&r>ÚcheckÚ IMAP4.check-s€ð ×#Ñ# GÓ,Ð,r6c óV€VPR4wrRVnW3# RTni;i)z¬Close currently selected mailbox. Deleted messages are removed from writable mailbox. This is the recommended command before 'LOGOUT'. (typ, [data]) = .close() rr ©rrX©rjrôrõs& r>ræÚ IMAP4.close5s2€ð Ø×+Ñ+¨GÓ4‰HˆCàˆDŒJ؈xˆøð ˆD�Júó‚Ÿ (c ód€VPRVPV4VPV44#)zrCopy 'message_set' messages onto end of 'new_mailbox'. (typ, [data]) = .copy(message_set, new_mailbox) r)rÚ _sequence_setr)rjÚ message_setÚ new_mailboxs&&&r>ÚcopyÚ IMAP4.copyDs4€ð ×#Ñ# F¨D×,>Ñ,>¸{Ó,KØ$(§M¡M°+Ó$>ó@ð @r6c óD€VPRVPV44#)z@Create new mailbox. (typ, [data]) = .create(mailbox) r©rr©rjrs&&r>ÚcreateÚ IMAP4.createMó €ð ×#Ñ# H¨d¯m©m¸GÓ.DÓEÐEr6c óD€VPRVPV44#)z@Delete old mailbox. (typ, [data]) = .delete(mailbox) rr&r's&&r>ÚdeleteÚ IMAP4.deleteUr*r6c ód€VPRVPV4VPV44#)zpDelete the ACLs (remove any rights) set for who on mailbox. (typ, [data]) = .deleteacl(mailbox, who) rr&)rjrÚwhos&&&r>Ú deleteaclÚIMAP4.deleteacl\s0€ð ×#Ñ# K°·±¸wÓ1GØ$(§M¡M°#Ó$6ó8ð 8r6c óÔ€RVP9d\PR4hVPRV4wr#VR8Xd&RVP 49dVP 4W#3#)z\Send an RFC5161 enable string to the server. (typ, [data]) = .enable(capability) rzServer does not support ENABLErƒz UTF8=ACCEPT)r–rrJrrùr)rjrrôr<s&& r>ÚenableÚ IMAP4.enableds_€ð ˜4×,Ñ,Ô ,Ü—+‘+Ð>Ó?Ð ?Ø×(Ñ(¨°:Ó>‰ ˆØ �$Œ;˜=¨J×,<Ñ,<Ó,>Ô>Ø �O‰OÔ ØˆyÐr6c óP€RpVPV4wr#VPW#V4#)z×Permanently remove deleted items from selected mailbox. Generates 'EXPUNGE' response for each deleted message. (typ, [data]) = .expunge() 'data' is list of 'EXPUNGE'd message numbers in order received. rrròs& r>ÚexpungeÚ IMAP4.expungeps.€ðˆØ×'Ñ'¨Ó-‰ˆØ×&Ñ& s°Ó6Ð6r6c óŽ€RpVPW0PV4VPV44wrEVPWEV4#)zûFetch (parts of) messages. (typ, [data, ...]) = .fetch(message_set, message_parts) 'message_parts' should be a string of selected parts enclosed in parentheses, eg: "(UID BODY[TEXT])". 'data' are tuples of message part envelope and data. r)rr Ú _fetch_partsrð)rjr!Ú message_partsrórôrõs&&& r>ÚfetchÚ IMAP4.fetch~sJ€ðˆØ×'Ñ'¨×.@Ñ.@ÀÓ.MØ(,×(9Ñ(9¸-Ó(HóJ‰ˆà×&Ñ& s°Ó6Ð6r6c ól€VPRVPV44wr#VPW#R4#)zHGet the ACLs for a mailbox. (typ, [data]) = .getacl(mailbox) rÚACL©rrrð©rjrrôrõs&& r>ÚgetaclÚ IMAP4.getaclŽs4€ð ×'Ñ'¨°$·-±-ÀÓ2HÓI‰ˆØ×&Ñ& s°Ó7Ð7r6c ón€VPRVPV4W#4wrEVPWER4#)zY(typ, [data]) = .getannotation(mailbox, entry, attribute) Retrieve ANNOTATIONs.rÚ ANNOTATIONr?)rjrÚentryÚ attributerôrõs&&&& r>Ú getannotationÚIMAP4.getannotation—s9€ð×'Ñ'¨¸¿¹ÀwÓ9OØ(-ó:‰ˆà×&Ñ& s°Ó>Ð>r6c ól€VPRVPV44wr#VPW#R4#)z’Get the quota root's resource usage and limits. Part of the IMAP4 QUOTA extension defined in rfc2087. (typ, [data]) = .getquota(root) rÚQUOTAr?)rjÚrootrôrõs&& r>ÚgetquotaÚIMAP4.getquota s4€ð×'Ñ'¨ °D·M±MÀ$Ó4GÓH‰ˆØ×&Ñ& s°Ó9Ð9r6c ó¢€VPRVPV44wr#VPW#R4wr$VPW#R4wr%W%V.3#)zŒGet the list of quota roots for the named mailbox. (typ, [[QUOTAROOT responses...], [QUOTA responses]]) = .getquotaroot(mailbox) rrJÚ QUOTAROOTr?)rjrrôrõÚquotaÚ quotaroots&& r>Ú getquotarootÚIMAP4.getquotaroot«sW€ð ×'Ñ'¨¸¿ ¹ ÀgÓ8NÓO‰ˆØ×,Ñ,¨S°wÓ?‰ ˆØ×0Ñ0°¸;ÓG‰ˆØ Ð&Ð&Ð&r6c ó€\W4#)a+Return an iterable IDLE context manager producing untagged responses. If the argument is not None, limit iteration to 'duration' seconds. with M.idle(duration=29 * 60) as idler: for typ, data in idler: print(typ, data) Note: 'duration' requires a socket connection (not IMAP4_stream). )ÚIdler)rjÚdurations&&r>ÚidleÚ IMAP4.idle¶s€ô�TÓ$Ð$r6c óŽ€RpVPW0PV4VPV44wrEVPWEV4#)z‘List mailbox names in directory matching pattern. (typ, [data]) = .list(directory='', pattern='*') 'data' is list of LIST responses. r©rrÚ _list_mailboxrð©rjÚ directoryÚpatternrórôrõs&&& r>ÚlistÚ IMAP4.listÃóH€ðˆØ×'Ñ'¨¯m©m¸IÓ.FØ(,×(:Ñ(:¸7Ó(CóE‰ˆà×&Ñ& s°Ó6Ð6r6c óú€VPRVPV4VPV44wr4VR8wd)VPVR,P RR44hRVnVP 4W43#)z|Identify client using plaintext password. (typ, [data]) = .login(user, password) NB: 'password' will be quoted. rrƒzUTF-8r…r rÔ)rrÚ_quoterJr”rXr•)rjÚuserÚpasswordrôrõs&&& r>ÚloginÚ IMAP4.loginÐsn€ð×'Ñ'¨°·±¸tÓ1DØ(,¯ © °HÓ(=ó?‰ˆà �$Œ;Ø—*‘*˜S �WŸ^™^¨G°YÓ?Ó@Ð @؈Œ Ø ×"Ñ"Ô$؈xˆr6c óV€WuVnVnVPRVP4#)zaForce use of CRAM-MD5 authentication. (typ, [data]) = .login_cram_md5(user, password) zCRAM-MD5)rdrerÚ_CRAM_MD5_AUTH)rjrdres&&&r>Úlogin_cram_md5ÚIMAP4.login_cram_md5às+€ð $(Ð ˆŒ �4”=Ø× Ñ  ¨T×-@Ñ-@ÓAÐAr6c ó>€^RIp\VP\4'dVPP R4pM VPpVP W1R4pTP RTP4 2# \ dTPR4hi;i)z0Authobject to use with CRAM-MD5 authentication. Nr~Úmd5z(CRAM-MD5 authentication is not supportedÚ ) ÚhmacÚ isinstancereÚstrÚencodeÚHMACr¯rJrdÚ hexdigest)rjÚ challengeroreÚauthcodes&& r>riÚIMAP4._CRAM_MD5_AUTHés�€ãä �d—m‘m¤S× )Ò )Ø—}‘}×+Ñ+¨GÓ4‰Hà—}‘}ˆHð IØ—y‘y °eÓ<ˆHð—)‘)�˜A˜h×0Ñ0Ó2Ð3Ð4Ð4øôô IØ—*‘*ÐGÓHÐ Hð Iús ÁA?Á?Bc ó\€RVnVPR4wrVP4W3#)zdShutdown connection to server. (typ, [data]) = .logout() Returns server 'BYE' response. r )rXrrgrs& r>rªÚ IMAP4.logoutùs-€ðˆŒ Ø×'Ñ'¨Ó1‰ˆØ � ‰ ŒØˆxˆr6c óŽ€RpVPW0PV4VPV44wrEVPWEV4#)z¶List 'subscribed' mailbox names in directory matching pattern. (typ, [data, ...]) = .lsub(directory='', pattern='*') 'data' are tuples of message part envelope and data. r rZr\s&&& r>ÚlsubÚ IMAP4.lsubrar6c ól€VPRVPV44wr#VPW#R4#)zsShow my ACLs for a mailbox (i.e. the rights that I have on mailbox). (typ, [data]) = .myrights(mailbox) rr?r@s&& r>ÚmyrightsÚIMAP4.myrightss4€ð ×&Ñ& z°4·=±=ÀÓ3IÓJ‰ˆØ×&Ñ& s°Ó<Ð.namespace() r"rròs& r>Ú namespaceÚIMAP4.namespaces.€ð ˆØ×'Ñ'¨Ó-‰ˆØ×&Ñ& s°Ó6Ð6r6c ó&€TPR4#)z6Send NOOP command. (typ, [data]) = .noop() r#)rWÚ_dump_urr[rr{s&r>rñÚ IMAP4.noop$s€ð ð×#Ñ# FÓ+Ð+r6c óT€RpVPWQW#V4wrgVPWgR4#)zªFetch truncated part of a message. (typ, [data, ...]) = .partial(message_num, message_part, start, length) 'data' is tuple of message part envelope and data. r$rr)rjÚ message_numÚ message_partÚstartrØrórôrõs&&&&& r>ÚpartialÚ IMAP4.partial/s3€ðˆØ×'Ñ'¨¸<ÐPVÓW‰ˆØ×&Ñ& s°Ó9Ð9r6c óF€RpVPW PV44#)z“Assume authentication as "user". Allows an authorised administrator to proxy into any user's mailbox. (typ, [data]) = .proxyauth(user) r%r&)rjrdrós&& r>Ú proxyauthÚIMAP4.proxyauth;s#€ðˆØ×#Ñ# D¯-©-¸Ó*=Ó>Ð>r6c ód€VPRVPV4VPV44#)z[Rename old mailbox name to new. (typ, [data]) = .rename(oldmailbox, newmailbox) r&r&)rjÚ oldmailboxÚ newmailboxs&&&r>ÚrenameÚ IMAP4.renameHs0€ð ×#Ñ# H¨d¯m©m¸JÓ.GØ$(§M¡M°*Ó$=ó?ð ?r6c óü€RpVePVP'd\PR4hVP!VRVP V4.VO5!wrEMVP!V.VO5!wrEVP WEV4#)zÉSearch mailbox for matching messages. (typ, [data]) = .search(charset, criterion, ...) 'data' is space separated list of matching message numbers. If UTF8 is enabled, charset MUST be None. r'z'Non-None charset not valid in UTF8 modeÚCHARSET)rrrrJrrrð)rjÚcharsetÚcriteriarórôrõs&&* r>ÚsearchÚ IMAP4.searchQs…€ðˆØ Ò Ø× × Ð Ü—k‘kÐ"KÓLÐLØ×+Ò+¨DؘtŸ}™}¨WÓ5ðBØ8@óB‰HˆC�ð×+Ò+¨DÐ<°8Ó<‰HˆCØ×&Ñ& s°Ó6Ð6r6c óD€/VnW nV'dRpMRpVPW0PV44wrEVR8wd RVnWE3#RVnRVP9dV'gTPT: R24hW@PPRR .43#) aDSelect a mailbox. Flush all untagged responses. (typ, [data]) = .select(mailbox='INBOX', readonly=False) 'data' is count of messages in mailbox ('EXISTS' response). Mandated responses are ('FLAGS', 'EXISTS', 'RECENT', 'UIDVALIDITY'), so other responses should be obtained via .response('FLAGS') etc. rr(rƒr ÚSELECTEDú READ-ONLYz is not writableÚEXISTSN) r[r_rrrXrWr„rPÚget)rjrrPrórôrõs&&& r>ÚselectÚ IMAP4.selectdsœ€ð#%ˆÔØ#Ôß Ø‰DàˆDØ×'Ñ'¨¯m©m¸GÓ.DÓE‰ˆØ �$Œ;؈DŒJØ�8ˆO؈Œ Ø ˜$×1Ñ1Ô 1ß Øð—-‘-»Ð AÓBÐ BØ×+Ñ+×/Ñ/°¸4¸&ÓAÐAÐAr6c ó„€VPRVPV4VPV4VPV44#)zJSet a mailbox acl. (typ, [data]) = .setacl(mailbox, who, what) r)r&)rjrr/Úwhats&&&&r>ÚsetaclÚ IMAP4.setacl„s=€ð ×#Ñ# H¨d¯m©m¸GÓ.DØ$(§M¡M°#Ó$6¸¿ ¹ ÀdÓ8KóMð Mr6c ór€VP!RVPV4.VO5!wr4VPW4R4#)zW(typ, [data]) = .setannotation(mailbox[, entry, attribute]+) Set ANNOTATIONs.r*rDr?)rjrr«rôrõs&&* r>Ú setannotationÚIMAP4.setannotation�s:€ð×'Ò'¨¸¿¹ÀwÓ9OÐWÐRVÓW‰ˆØ×&Ñ& s°Ó>Ð>r6c óŒ€VPRVPV4VPV44wr4VPW4R4#)zYSet the quota root's resource limits. (typ, [data]) = .setquota(root, limits) r+rJ©rrrÿrð)rjrKÚlimitsrôrõs&&& r>ÚsetquotaÚIMAP4.setquota•sC€ð ×'Ñ'¨ °D·M±MÀ$Ó4GØ(,¯©¸Ó(?óA‰ˆà×&Ñ& s°Ó9Ð9r6c ó¤€RpVPV4pVeVPV4pVP!WAV.VO5!wrVVPWVV4#)zqIMAP4rev1 extension SORT command. (typ, [data]) = .sort(sort_criteria, charset, search_criteria, ...) r,)rÿrrrð)rjÚ sort_criteriar–Úsearch_criteriarórôrõs&&&* r>ÚsortÚ IMAP4.sortŸsY€ð ˆðŸ™¨ Ó6ˆ Ø Ò Ø—m‘m GÓ,ˆGØ×'Ò'¨¸WÐWÀÓW‰ˆØ×&Ñ& s°Ó6Ð6r6có<€Rp\'gVPR4hVP'dVPR4hW P9dVPR4hVf\ P !4pVPV4wr4VR8XdeVPVPVPR7Vn VPPR4Vn RVnVP4MVPR4hVPW4V4#) r-zSSL support missingzTLS session already establishedzTLS not supported by serverrƒ©Úserver_hostnamer¸TzCouldn't establish TLS session)ÚHAVE_SSLrJrarMr–ÚsslÚ_create_stdlib_contextrÚ wrap_socketr¹rkrºr»Ú_get_capabilitiesrð)rjÚ ssl_contextrórôrõs&& r>ÚstarttlsÚIMAP4.starttls®só€Øˆß‹xØ—*‘*Ð2Ó3Ð 3Ø × × Ð Ø—*‘*Ð>Ó?Ð ?Ø ×(Ñ(Ô (Ø—*‘*Ð:Ó;Ð ;à Ò Ü×4Ò4Ó6ˆKØ×'Ñ'¨Ó-‰ˆØ �$Œ;Ø#×/Ñ/°· ± Ø@DÇ Á ð0óKˆDŒIàŸ™×+Ñ+¨DÓ1ˆDŒJØ$(ˆDÔ !Ø × "Ñ "Õ $à—*‘*Ð=Ó>Ð >Ø×&Ñ& s°Ó6Ð6r6c óŽ€RpVPW0PV4VPV44wrEVPWEV4#)z`Request named status conditions for mailbox. (typ, [data]) = .status(mailbox, names) r.r©)rjrÚnamesrórôrõs&&& r>ÚstatusÚ IMAP4.statusÅsH€ð ˆð×'Ñ'¨¯m©m¸GÓ.DØ(,¯©¸Ó(>ó@‰ˆà×&Ñ& s°Ó6Ð6r6c ó�€VPV4pVPRVPV4W#4wrEVPWER4#)zqAlters flag dispositions for messages in mailbox. (typ, [data]) = .store(message_set, command, flags) r/r)rÿrr rð)rjr!Úcommandrrôrõs&&&& r>ÚstoreÚ IMAP4.storeÒsI€ð —‘ Ó&ˆØ×'Ñ'¨°×1CÑ1CÀKÓ1PØ(/ó8‰ˆà×&Ñ& s°Ó9Ð9r6c óD€VPRVPV44#)zISubscribe to new mailbox. (typ, [data]) = .subscribe(mailbox) r0r&r's&&r>Ú subscribeÚIMAP4.subscribeÝs €ð ×#Ñ# K°·±¸wÓ1GÓHÐHr6c ó €RpVeVPV4pVP!W@PV4V.VO5!wrVVPWVV4#)z{IMAPrev1 extension THREAD command. (type, [data]) = .thread(threading_algorithm, charset, search_criteria, ...) r1)rrr rð)rjÚthreading_algorithmr–r¯rórôrõs&&&* r>ÚthreadÚ IMAP4.threadås[€ð ˆØ Ò Ø—m‘m GÓ,ˆGØ×'Ò'¨¯j©jÐ9LÓ.MØ(/ðCØ2AóC‰ˆà×&Ñ& s°Ó6Ð6r6c  ó˜€VP4pV\9gVPRV: 24hVP\V,9dBVPRV: RVP: RRP \V,4: 24hRpVR8Xd(VwrEVP V4VP V43pMËVR8Xd(VwrFVP V4VPV43pM�VR 8Xd*VwrGpVP V4VVPV43pMmVR 8Xd1Vvršp V eVP V 4p VPV 4V .V O5pM6VR 8Xd0VvrÊp V eVP V 4p VPV 4V .V O5pVP!W0PV4.VO5!wrÞVR 9dTpMRpVPWÞV4#) zÅExecute "command arg ..." with messages identified by UID, rather than message number. (typ, [data]) = .uid(command, arg1, arg2, ...) Returns response appropriate to 'command'. zUnknown IMAP4 UID command: úcommand ú illegal in state ú, only allowed in states ú, r2rrr/r,r1)r'r,r1) rùr�rJrXrËr rr9rÿr rrð)rjrÂr«rór!r"r:Úoprr®r–r¯rÉrôrõs&&* r>ÚuidÚ IMAP4.uidòsØ€ð—-‘-“/ˆØœ(Ô"Ø—*’*ÂÐIÓJÐ JØ �:‰:œX gÕ.Ô .Ø—*’*ã% t§z¤zØ"Ÿi™i¬°Õ(9Õ:ð<ó=ð =ðˆØ �fÔ Ø'+Ñ $ˆKØ×&Ñ& {Ó3Ø—M‘M +Ó.ð0‰Dà ˜Ô Ø)-Ñ &ˆKØ×&Ñ& {Ó3Ø×%Ñ% mÓ4ð6‰Dà ˜Ô Ø%)Ñ "ˆK˜UØ×&Ñ& {Ó3°RØ—O‘O EÓ*ð,‰Dà ˜Ô Ø7;Ð 4ˆM _ØÒ"ØŸ-™-¨Ó0�Ø—O‘O MÓ2°Gð&Ø$ñ&‰Dà ˜Ô Ø=AÐ :Ð ¨?ØÒ"ØŸ-™-¨Ó0�Ø—J‘JÐ2Ó3°Wð&Ø$ñ&ˆDà×'Ò'¨¯j©j¸Ó.AÐIÀDÓI‰ˆØ Ð2Ô 2؉DàˆDØ×&Ñ& s°Ó6Ð6r6c óD€VPRVPV44#)zOUnsubscribe from old mailbox. (typ, [data]) = .unsubscribe(mailbox) r3r&r's&&r>Ú unsubscribeÚIMAP4.unsubscribe#s €ð ×#Ñ# M°4·=±=ÀÓ3IÓJÐJr6c óV€VPR4wrRVnW3# RTni;i)aFree server's resources associated with the selected mailbox and returns the server to the authenticated state. This command performs the same actions as CLOSE, except that no messages are permanently removed from the currently selected mailbox. (typ, [data]) = .unselect() r4r r)rjrôr<s& r>ÚunselectÚIMAP4.unselect+s3€ð Ø×,Ñ,¨ZÓ8‰IˆCàˆDŒJ؈yÐøð ˆD�Júrc óˆ€VP4pV\9gVP3\V&VP!V.VO5!#)zìAllow simple extension commands notified by server in CAPABILITY response. Assumes command is legal in current state. (typ, [data]) = .xatom(name, arg, ...) Returns response appropriate to extension command 'name'. )rùr�rXr©rjrór«s&&*r>ÚxatomÚ IMAP4.xatom;s>€ð�z‰z‹|ˆð”xÔØ"Ÿj™j˜]ŒH�T‰NØ×#Ò# DÐ0¨4Ó0Ð0r6có¾€VfRpVP'd”VP'd6\VPR,^,R,\4'dVPP W.34M+VPR,pV^,P V4R#VPpY9dYA,P T4R#T.YA&R#)Nr6rÔ) r^r]rpÚbytesrÊrWrŽr[rÇrž)rjrôrõrûÚurs&&& r>Ú_append_untaggedÚIMAP4._append_untaggedQs¸€Ø Š;؈Cð × × Ð ð×(×(Ð(ܘ4×/Ñ/°Õ3°AÕ6°rÕ:¼E×BÒBà×$Ñ$×+Ñ+¨S°%¨LÕ9ð ×/Ñ/°Õ3�à˜• ×"Ñ" 3Ô'Øá à × $Ñ $ˆØ ð Œ9Ø �G�N‰N˜3Ö à�eˆB‹Gr6có°€VPPR4pV'd3VPVR,PVPR44hR#)ÚBYEr…NrÔ)r[ržrMr”rs)rjÚbyes& r>Ú _check_byeÚIMAP4._check_byeqsB€Ø×%Ñ%×)Ñ)¨%Ó0ˆß Ø—*‘*˜S �WŸ^™^¨D¯N©N¸IÓFÓGÐ Gñ r6c ó.€VP\V,9dIRVnVPRV: RVP: RRP \V,4: 24hR F"pW0P 9gKVP VK$ RVP 9d$VP 'gVPR4hVP4p\WP4pVR,V,pVFjpVfK \V\4'd\W`P4p\PV4'd \R4hVR,V,pKl VPpVe¥RVn\!V4\!VP"4JdTpMxRpVP$'d8V\R \'V4,VP4,pVR ,pM-V\R \'V4,VP4,pTP/T\0,4TfT#TP74'dTP8T,'gK1T#X'dT!TP:4pTP/T4TP/\04T'dK€T# \2dp TP5R T ,4hRp ? ii;i \2dp TP5R T ,4hRp ? ii;i)NrÍrÎrÏrÐrœz#mailbox status changed to READ-ONLYó z&NUL, CR and LF not allowed in commandsz UTF8 (~{%s}r8z {%s}zsocket error: %s©rƒÚNOÚBAD)rXr�rYrJrËr[r_rPÚ_new_tagrßrsrprqÚ_control_charsr˜r¯ÚtypeÚ_commandrrrÇrWrŽÚ_lográrrhrMr�rZr\) rjrór«rôÚtagr<ÚargrYÚ literatorÚvals &&* r>rðÚIMAP4._commandws~€à �:‰:œX d�^Ô +؈DŒLØ—*’*ã" D§J¤JØ"Ÿi™i¬°­Õ7ð9ó:ð :ó 'ˆCØ×-Ñ-Ö-Ø×+Ñ+¨CÒ0ñ'ð ˜$×1Ñ1Ô 1Ø× × Ð Ø—-‘-Ð EÓFÐ Fà�m‰m‹oˆÜ�TŸ>™>Ó*ˆØ�T�z˜DÕ ˆÛˆCØŠ{™Hܘ#œs×#Ò#ܘC§¡Ó0�Ü×$Ñ$ S×)Ò)Ü Ð!IÓJÐJؘ$•; Õ$ŠDñ ð—,‘,ˆØ Ò ØˆDŒLÜ�G‹}¤ T§]¡]Ó 3Ó3Ø#‘ à � Ø×$×$Ð$ؤ%¨¼¸W»Õ(EÀtÇ~Á~Ó"VÕV�DØ%¨�n‘Gà¤%¨´#°g³,Õ(>ÀÇÁÓ"OÕO�Dà ð  7Ø �I‰I�dœT•kÔ "ð Š?؈Jàð×$Ñ$×&Ò&Ø×'Ñ'¨×,Ö,Ø�J÷Ù# D×$>Ñ$>Ó?�àð ;Ø— ‘ ˜'Ô"Ø— ‘ œ$”÷‘9Øàˆ øô?ô 7Ø—*‘*Ð/°#Õ5Ó6Ð 6ûð 7ûô2ô ;Ø—j‘jÐ!3°cÕ!9Ó:Ð:ûð ;ús0ÈKÊ&K,Ë K)Ë K$Ë$K)Ë, LË7LÌLcó €VR8HpV'gVP4VPW#R7wrET'gTP4TR8XdTPT: RT: RT: 24hYE3# TPdpTPRT: RT: 24hRp?iTPdpTPRT: RT: 24hRp?ii;i)r )Ú expect_byez command: ú => Nrìz command error: rn)ræÚ_get_tagged_responserMrJ)rjróròrªrôr<rõs&&& r>Ú_command_completeÚIMAP4._command_completeÊs¶€Ø˜(Ñ"ˆçØ �O‰OÔ ð @Ø×1Ñ1°#Ð1ÓI‰IˆC÷ Ø �O‰OÔ Ø �%Œ<Ø—*‘*»$ÃÂTÐJÓKÐ K؈yÐøð�z‰zô @Ø—*’*³Dº#Ð>Ó?Ð ?ûØ�z‰zô @Ø—*’*³Dº#Ð>Ó?Ð ?ûð @ús)ŸA1Á1C ÂBÂC Â.C Â/CÃC cóò€VP4wrVR.8XdVPR4h\VR,VP4pVP 4p\ VP 44VnR#)Nz"no CAPABILITY response from serverrÔ)rrJrqrsrùÚtupleÚsplitr–rs& r>r¹ÚIMAP4._get_capabilitiesÜs[€Ø—?‘?Ó$‰ˆØ �4�&Œ=Ø—*‘*ÐAÓBÐ BÜ�#�b•'˜4Ÿ>™>Ó*ˆØ�i‰i‹kˆÜ! #§)¡)£+Ó.ˆÖr6có€RVP9ddVPPR4R,p\\WP4P 4P 44VnR#VP4R#)r NrÔ) r[Úpoprþrqrsrùrÿr–r¹)rjrõs& r>r•ÚIMAP4._refresh_capabilitiesås_€à ˜4×2Ñ2Ô 2Ø×)Ñ)×-Ñ-¨lÓ;¸BÕ?ˆCÜ %¤c¨#¯~©~Ó&>×&DÑ&DÓ&F×&LÑ&LÓ&NÓ OˆDÖ à × "Ñ "Ö $r6có€VRJdvVP'ddVPP4pVPPV4VP4pTPPT4MVP4pVR8XdVP4pKVP VPV4'd¢VPPR4pWPP9gVPRV,4hVPPR4p\W`P4pVPPR4pWg.3VPV&EMåRpVP \V4'g>VP VPV4'dVPPR4pVPfWVP \ V4'd#VPPR4VnR#VPRV,4hVPPR4p\W`P4pVPPR4pVfRpV'dVR ,V,p^p VP VP$V4'd‰\'VPPR 44p TP-T 4p TP/YgT 34\1Yy4p TP4pTR8XgK�T ^8”gK˜TP4pK$VP/Wg4VR 9dwVP \2V4'd[VPPR4p\W`P4pVP/W`PPR44T# \dpTP ThRp?ii;i TPPT4i;i) FNr6ròzunexpected tagged response: %rrïr<Údata2zunexpected response: %rrérÌrê)r¹Ú gettimeoutÚ settimeoutÚ _get_lineÚ TimeoutErrorrSÚ_matchrŠr’ÚgrouprZrMrqrsÚUntagged_responserzÚ Continuationr\rxÚintrWrŽrÏrár?Ú Response_code) rjÚ start_timeoutÚ saved_timeoutÚrespÚerrròrôrõÚdat2r=rÌr<s && r>r�ÚIMAP4._get_responseîs€ð  Ó %¨$¯)¯)¨)à ŸI™I×0Ñ0Ó2ˆMØ �I‰I× Ñ  Ô /ð 4Ø—~‘~Ó'‘ð— ‘ ×$Ñ$ ]Õ3à—>‘>Ó#ˆDð�cŒkØ—>‘>Ó#ŠDð �;‰;�t—z‘z 4× (Ò (Ø—'‘'—-‘- Ó&ˆCØ×.Ñ.Ô.Ø—j‘jÐ!AÀDÕ!HÓIÐIà—'‘'—-‘- Ó'ˆCÜ�cŸ>™>Ó*ˆCØ—'‘'—-‘- Ó'ˆCØ),¨e¨ ˆD× Ñ  Ó %àˆDð—;‘;Ô0°$×7Ò7Ø—;‘;˜t×3Ñ3°T×:Ò:ØŸ7™7Ÿ=™=¨Ó1�Dà�w‰wŠð—;‘;œ|¨T×2Ò2Ø15·±·±¸vÓ1F�DÔ.Ùà—j‘jÐ!:¸TÕ!AÓBÐBà—'‘'—-‘- Ó'ˆCÜ�cŸ>™>Ó*ˆCØ—'‘'—-‘- Ó'ˆCØŠ{ #˜Cߘ3 �:¨Õ,�SðˆEØ—+‘+˜dŸl™l¨C×0Ò0ô˜4Ÿ7™7Ÿ=™=¨Ó0Ó1�Øð—y‘y “�ð×%Ñ% c°¨;Ô7Ü$ SÓ0�ð—n‘nÓ&�ð˜S–j U¨Q¦YØŸ.™.Ó*’Cà × !Ñ ! #Ô +ð Ð%Ô %¨$¯+©+´mÀS×*IÒ*IØ—'‘'—-‘- Ó'ˆCÜ�cŸ>™>Ó*ˆCØ × !Ñ ! #§w¡w§}¡}°VÓ'<Ô =à ðˆ øôo ô 5Ø×+Ñ+°Ð4ûð 5ûð— ‘ ×$Ñ$ ]Õ3ús$ÁO Ï O*Ï O%Ï%O*Ï*O-Ï-P có&€VPV,pVeVPVV#V'd&RpVPPVR4pVeWE3#VP4VP 4Kw TP dphRp?ii;i)éNrä)rZr[rrær�rMrWÚ print_log)rjròrøÚresultrôrårõs&&& r>rúÚIMAP4._get_tagged_responseYs”€àØ×)Ñ)¨#Õ.ˆFØÒ!Ø×(Ñ(¨Ð-Ø� çØ�Ø×-Ñ-×1Ñ1°#°tÓ<�Ø’?à˜:Ð%ð �O‰OÔ ð Ø×"Ñ"Ö$øØ—:‘:ô Øðûð  úsÁ&A8Á8B B  Bcó€VP4pV'gVPR4hVPR4'gVPRV,4hVRRpT#)zsocket error: EOFrz#socket error: unterminated line: %rNéþÿÿÿ)rÛrMÚendswithrWrŽrñ)rjrÚs& r>rÚIMAP4._get_linezs[€à�}‰}‹ˆßØ—*‘*Ð0Ó1Ð 1ð�}‰}˜W×%Ò%Ø—*‘*ÐBÀTÕIÓJÐ Jà�C�RˆyˆØ ð ˆ r6cóL€VPV4VnTPRJ#)FN)Úmatchr’rWrŽr^Úgroups)rjÚcreÚss&&&r>r Ú IMAP4._match�s'€ð —)‘)˜A“,ˆŒØ ð�w‰w˜dÐ"Ð"r6cóÈ€VP\\VP4VP4,pVP^,VnRVP V&V#)rN)r‰rßrqr`rsrZ)rjròs& r>ríÚIMAP4._new_tag™sH€à�k‰kœE¤# d§k¡kÓ"2°D·N±NÓCÕCˆØ—k‘k A•oˆŒ Ø$(ˆ×јSÑ!؈ r6có€V#r¥rC©rjrós&&r>r Ú IMAP4._atom¡ó€Øˆ r6có€V#r¥rCr(s&&r>r ÚIMAP4._sequence_set¤r*r6cón€V'dV^,R8XdVR,R8XdV#RV,R,#)r¾Ú(Ú)rÔrCr(s&&r>rÿÚIMAP4._set_quote§s,€ß �3�q•6˜S”= S¨¥W°¤^؈JØ�S�y˜3�Ðr6cóR€VP4R9dV#VPV4#)ÚALL)r2ÚFULLÚFAST)rùrÿr(s&&r>r9ÚIMAP4._fetch_parts¬s'€ð �9‰9‹;Ð1Ô 1؈JØ�‰˜sÓ#Ð#r6cóÀ€\V\4'd\WP4pVP RR4pVP RR4pRV,R,#)ó\s\\ó"s\")rprqrßrsr…r(s&&r>rcÚ IMAP4._quote³sL€Ü �cœ3× Ò Ü˜Ÿ^™^Ó,ˆCØ�k‰k˜% Ó(ˆØ�k‰k˜$ Ó'ˆØ�c�z˜DÕ Ð r6cóö€\V\4'd\WP4p\P V4'dV#V'd\ PV4fV#VPV4#r¥) rprqrßrsr9Ú fullmatchÚ_non_astring_charr˜rcr(s&&r>rÚIMAP4._astring¿s[€Ü �cœ3× Ò Ü˜Ÿ^™^Ó,ˆCÜ × Ñ ˜S× !Ò !؈Jß Ô$×+Ñ+¨CÓ0Ò8؈JØ�{‰{˜3ÓÐr6cóö€\V\4'd\WP4p\P V4'dV#V'd\ PV4fV#VPV4#r¥) rprqrßrsr9r;Ú_non_list_charr˜rcr(s&&r>r[ÚIMAP4._list_mailboxÈsZ€Ü �cœ3× Ò Ü˜Ÿ^™^Ó,ˆCÜ × Ñ ˜S× !Ò !؈Jß ”>×(Ñ(¨Ó-Ò5؈JØ�{‰{˜3ÓÐr6cóH€VPWP!V.VO5!4#r¥)rûrðrÛs&&*r>rÚIMAP4._simple_commandÑs!€à×%Ñ% d¯MªM¸$Ð,FÀÓ,FÓGÐGr6có~€VR8XdW3#W0P9gVR.3#VPPV4pY3#)rëN)r[rrWrŽ)rjrôrõrór<s&&&& r>rðÚIMAP4._untagged_responseÖsK€Ø �$Œ;Ø�8ˆOØ×.Ñ.Ô.ؘ˜�;Ð Ø×&Ñ&×*Ñ*¨4Ó0ˆØ ðˆyÐr6)rxr˜rzr�rŒr‹rsr»r^r]rcrar–r\rWrkr_rYr’rerlr¹rXrZr`r‰rŠr[rdrrr‘r¥)rTÚ*)rþF)F)drErFrGrHÚ__doc__rfrJrMrPr rSÚ IMAP4_PORTrnrbrrer¢r¦r¬rµrdÚpropertyrÃrÏrÛrárgr²rörûrÊrrrrær#r(r,r0r3r6r;rArGrLrRrWr_rfrjrirª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úrr rír r rÿr9rcrr[rrðrŽr„rñrrIÚ__classdictcell__©Ú __classdict__s@r>rr”sÿø‡€ñ-ô^!� Ô Ü�ÔÜ�5ÔÜ.˜<Ô.à Z¸ôò8Fò<ò+7ò\Cò òò 1ð °Tô .ðñ óð ò %òP!òH ò ò ò7ò"CòTò.ò<7ò-ò ò@òFòFò8ò ò 7ò 7ò 8ò?ò:ò'ô %ô 7ò ò Bò 5ò ô 7ò=ò7ò,ò :ò ?ò?ò7ô&Bò@Mò?ò:ò 7ô7ò. 7ò:òIò 7ò.7òbKò ò 1ò,ò@Hò Pòfò$/ò%ôhôVòBò& #òòòòò $ò!ò ò òHò õr6cóZa€]tRtRtoRtR RltRtRtRtR Rlt R t RR lt R t Vt R#)rUizËIterable IDLE context manager: start IDLE & produce untagged responses. An object of this type is returned by the IMAP4.idle() method. Note: The name and structure of this class are subject to change. NcóÚ€RVP9dVPR4hVe$VP'gVPR4hW nRVnWnRVnRVnR#)rz"Server does not support IMAP4 IDLENz%duration requires a socket connection)r–rJr¹Ú _durationÚ _deadlineÚ_imapÚ_tagÚ _saved_state)rjÚimaprVs&&&r>rnÚIdler.__init__s^€Ø ˜×*Ñ*Ô *Ø—*‘*ÐAÓBÐ BØ Ò ¨¯ ¯ ¨ à—*‘*ÐDÓEÐ EØ!ŒØˆŒØŒ ؈Œ Ø ˆÖr6cóT€VPpRTnTP R4TnTP4;p'd|TPTP ,'gK=TPPTP 4wr4TR8XdTPRT 24hTPRT 24hTPe,\P!4TP,TnTP"TnRTnT# \d RTnhi;i)FTrrëz idle denied: zunexpected status response: ÚIDLING)rPrWrŽrNr^rðrQr�rZrrJrMr\Ú BaseExceptionÚtimeÚ monotonicrOrXrR)rjrSrrôr<Úprompts& r>r¦ÚIdler.__enter__s€Ø�z‰zˆð ð "ˆÔð ØŸ ™  fÓ-ˆDŒIð×,Ñ,Ó.Ð.�$Ö.Ø×'Ñ'¨¯ © ×2Ö2Ø $× 4Ñ 4× 8Ñ 8¸¿¹Ó C‘I�Cؘd”{Ø"Ÿj™j¨=¸¸Ð)?Ó@Ð@ØŸ*™*Ð'CÀDÀ6Ð%JÓKÐKàð �>‰>Ò %Ü!Ÿ^š^Ó-°·±Õ>ˆDŒNà ŸJ™JˆÔ؈Œ àˆ øôô Ø!&ˆDÔ Ø ð ús–-DÁ DÁ)ADÄD'cóÖ€VPpTPTnRTn\ TP4;p'dMTP'd:TPP^4wrgTFpTPYh4K KKTPR\,4TPRTP4wp wp R# \dT'ghR#i;i)FsDONEr)rPrWrŽrRrXr^rÇr]rrárárrûrQrh) rjÚexc_typeÚexc_valÚexc_tbrSÚ leftoversrôr<Údatumr¿Úmsgs &&&& r>r¬ÚIdler.__exit__FsÖ€Ø�z‰zˆà à×&Ñ&ˆŒ ð#ˆÔô˜D×0Ñ0Ó1Ð 1ˆ9Ö 1Øà×&×&Ð&Ø ×0Ñ0×4Ñ4°QÓ7‘ �ã!�EØ×)Ñ)¨#Ö5ó"ð Ø �I‰I�g¤•nÔ %Ø ×2Ñ2°6¸4¿9¹9ÓE‰MˆF‘E�SØñ øô ô ߨðñð  úsÂ>CÃC(Ã#C(Ã'C(có€V#r¥rCr{s&r>Ú__iter__ÚIdler.__iter__lr¨r6cóŒ€VPpVPR8wdVPR4hVP'dVPP ^4pT#TeT^8:dT#\T4pTPT4TPP ^4pT# \PdTu#i;i)rVz_pop() only works during IDLE) rPrXrJr]rrWrŽÚfloatr�rrS)rjrmÚdefaultrSrs&&& r>Ú_popÚ Idler._poposÅ€ð$�z‰zˆØ �:‰:˜Ô !Ø—*‘*Ð<Ó=Ð =à × × Ð à×'Ñ'×+Ñ+¨AÓ.ˆDØàˆKà ð Ò Ø˜!Œ|Ø�ܘG“nˆGð Ø × Ñ ˜wÔ 'ð ×#Ñ#×'Ñ'¨Ó*ˆà àˆ øô×%Ñ%ô ØàŠNð úsÁ9B(Â(CÃCcóÒ€VPpVPfRpM&VP\P!4, pVP V4wr4V'g\hW43#r¥) rPrNrOrXrYrjrWrŽÚ StopIteration)rjrSrmrôr<s& r>Ú__next__ÚIdler.__next__¡sS€Ø�z‰zˆà �>‰>Ò !؉Gà—n‘n¤t§~¢~Ó'7Õ7ˆGØ—I‘I˜gÓ&‰ ˆçØäÐ àˆyÐr6c# óü"€VPP'gVPPR4h\V4x€TP TR4;p'dTx€K R# \dR#i;i5i)aEYield a burst of responses no more than 'interval' seconds apart. with M.idle() as idler: # get a response and any others following by < 0.1 seconds batch = list(idler.burst()) print(f'processing {len(batch)} responses...') print(batch) Note: This generator requires a socket connection (not IMAP4_stream). z$burst() requires a socket connectionN)rPr¹rJÚnextrmrj)rjÚintervalrûs&& r>ÚburstÚ Idler.burst±sné€ð�z‰z��ˆØ—*‘*×"Ñ"Ð#IÓJÐ Jð Ü�t“*Ò ðŸ)™) H¨dÓ3Ð3ˆhÖ3ØŒNñ4øôô Ú ð üs.‚8A<» A*ÁA<Á"A<Á* A9Á5A<Á8A9Á9A<)rOrNrPrRrQr¥))rTN)gš™™™™™¹?)rErFrGrHrFrnr¦r¬rerjrnrsrIrIrJs@r>rUrUs5ø‡€ñô !ò)òV$òLô0òd÷ òr6rUcóTa€]tRtRtoRtR]3RRRR/RlltRtR]R3R ltR t Vt R#) Ú IMAP4_SSLiÊa?IMAP4 client class over SSL connection Instantiate with: IMAP4_SSL([host[, port[, ssl_context[, timeout=None]]]]) host - host's name (default: localhost); port - port number (default: standard IMAP4 SSL port); ssl_context - a SSLContext object that contains your certificate chain and private key (default: None) timeout - socket timeout (default: None) If timeout is not given or is None, the global default socket timeout is used for more documentation see the docstring of the parent class IMAP4. rTrºNrmcóp€Vf\P!4pW0n\P WW$4R#r¥)r¶r·rºrrn)rjrkrlrºrms&&&$$r>rnÚIMAP4_SSL.__init__Ûs*€àÒ"Ü!×8Ò8Ó:� Ø*Ô Ü �N‰N˜4 tÖ 5r6cóz€\PW4pVPPVVPR7#)r³)rrµrºr¸rk)rjrmr¹s&& r>rµÚIMAP4_SSL._create_socketâs;€Ü×'Ñ'¨Ó6ˆDØ×#Ñ#×/Ñ/°Ø@DÇ Á ð0óKð Kr6c ó2€\PWW#4R#)z¶Setup connection to remote server on "host:port". (default: localhost:standard IMAP4 SSL port). This connection will be used by the routines: read, readline, send, shutdown. N)rrdris&&&&r>rdÚIMAP4_SSL.opençs€ô �J‰J�t 4Ö 1r6)rº) rErFrGrHrFÚIMAP4_SSL_PORTrnrµrdrIrIrJs@r>rvrvÊs?ø‡€ñ ð!#¨ñ 6Ø$(ð 6Ø26õ 6ò Kð  ^¸T÷ 2ò 2r6rvcóLa€]tRtRtoRtRtR RltRtRtRt R t R t Vt R#) riòzÖIMAP4 client class over a stream Instantiate with: IMAP4_stream(command) "command" - a string that can be passed to subprocess.Popen() for more documentation see the docstring of the parent class IMAP4. có<€Wn\PV4R#r¥)rÂrrn)rjrÂs&&r>rnÚIMAP4_stream.__init__þs€ØŒ Ü �‰�tÖr6Nc  ó@€RVnRVnRVnRVn\P !VP \\P\PRRR7Vn VPPVn VPPVn R#)zmSetup a stream connection. This connection will be used by the routines: read, readline, send, shutdown. NT)ÚbufsizeÚstdinÚstdoutÚshellÚ close_fds)rkrlr¹r»Ú subprocessÚPopenrÂrÚPIPEr rƒÚ writefiler„Úreadfileris&&&&r>rdÚIMAP4_stream.opensq€ð ˆŒ ؈Œ ؈Œ ؈Œ Ü!×'Ò'¨¯ © Ü'Ü—/‘/¬*¯/©/Ø $ô(ˆŒ ðŸ™×+Ñ+ˆŒØŸ ™ ×+Ñ+ˆŽ r6c ó8€VPPV4#)rÆ)r‹rÏ)rjrÌs&&r>rÏÚIMAP4_stream.reads€à�}‰}×!Ñ! $Ó'Ð'r6c ó6€VPP4#)rÒ)r‹rÛr{s&r>rÛÚIMAP4_stream.readlines€à�}‰}×%Ñ%Ó'Ð'r6c óp€VPPV4VPP4R#)rÞN)rŠÚwriteÚflushràs&&r>ráÚIMAP4_stream.sends$€à �‰×јTÔ"Ø �‰×ÑÖr6c ó¢€VPP4VPP4VPP 4R#)räN)r‹rærŠr Úwaitr{s&r>rgÚIMAP4_stream.shutdown#s2€à � ‰ ×ÑÔØ �‰×ÑÔØ � ‰ ×ÑÖr6)r»rÂrkrlr r‹r¹rŠ)NNN) rErFrGrHrFrnrdrÏrÛrárgrIrIrJs@r>rròs-ø‡€ñòô ,ò (ò (ò ÷ ðr6có<a€]tRtRtoRtRtRtRtRtRt Vt R#) r i+zSPrivate class to provide en/decoding for base64-based authentication conversation. có€WnR#r¥©r)rjÚmechinsts&&r>rnÚ_Authenticator.__init__1s€ØŽ r6cóp€VPVPV44pVfR#VPV4#)Nó*)rr”rr)rjr<Úrets&& r>r Ú_Authenticator.process4s0€Ø�i‰i˜Ÿ ™  DÓ)Ó*ˆØ Š;ÙØ�{‰{˜3ÓÐr6có€Rp\V\4'dVPR4pV'dU\V4^08”dVR,pVR,pMTpRp\P !V4pV'gKOW$RR,pK\V#)r6r~:Né0N:r¢NNNrÔ)rprqrrrÇÚbinasciiÚ b2a_base64)rjÚinpÚoupÚtÚes&& r>rrÚ_Authenticator.encode:su€ðˆÜ �cœ3× Ò Ø—*‘*˜WÓ%ˆCßÜ�3‹x˜"Œ}ؘ•H�ؘ#•h‘à�Ø�Ü×#Ò# AÓ&ˆA߉qؘc˜r˜F•l’؈ r6cóB€V'gR#\P!V4#)r6)r£Ú a2b_base64)rjr¥s&&r>r”Ú_Authenticator.decodeRs€ßÙÜ×"Ò" 3Ó'Ð'r6ršN) rErFrGrHrFrnr rrr”rIrIrJs@r>r r +s#ø‡€ñòò ò ÷0(ð(r6r z0 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Decrn:rNNc ó¾€\PV4pV'gR#\VPR4,pVPR4p\ VPR44p\ VPR44p\ VPR44p\ VPR44p\ VPR44p\ VPR 44p \ VPR 44p V ^<,V ,^<,p VR 8XdV )p WRWFWxR R R 3 p \ P !V 4V , p \P!V 4#) zœParse an IMAP4 INTERNALDATE string. Return corresponding local time. The return value is a time.struct_time tuple or None if the string has wrong format. NÚmonÚzonenÚdayÚyearÚhourÚminÚsecÚzonehÚzonemó-rÔ) Ú InternalDater ÚMon2numr rÚcalendarÚtimegmrXÚ localtime)rr’r®r¯r°r±r²r³r´rµr¶ÚzoneÚttÚutcs& r>ÚInternaldate2tuplerÀZs€ô × Ñ ˜DÓ !€Bß Ùä �"—(‘(˜5“/Õ "€CØ �H‰H�WÓ €Eä ˆb�h‰h�u‹oÓ €CÜ ˆr�x‰x˜ÓÓ €DÜ ˆr�x‰x˜ÓÓ €DÜ ˆb�h‰h�u‹oÓ €CÜ ˆb�h‰h�u‹oÓ €CÜ �—‘˜Ó!Ó "€EÜ �—‘˜Ó!Ó "€Eð �"�H�uÕ ˜bÕ €DØ �„}؈uˆà �S ¨"¨b°"Ð 5€BÜ �/Š/˜"Ó  Õ $€Cä �>Š>˜#Ó Ðr6cóŠ€RpRp\\V44pV'd#\V^4wrW#V^,V,pK*V#)z-Convert integer to A-P string representation.r6sABCDEFGHIJKLMNOP)rÚabsÚdivmod)ÚnumrõÚAPÚmods& r>r†r†}sB€ð €CÐ'ˆrÜ Œc�#‹h‹-€Cß Ü˜#˜r“?‰ˆØ�S˜•Uˆm˜cÕ!ŠØ €Jr6có�€\PV4pV'gR#\VPR4P 44#)z-Convert IMAP4 flags response to python tuple.rrC)ÚFlagsr rþr rÿ)rr’s& r>Ú ParseFlagsrÉŠs7€ô �‰�TÓ €Bß Øˆ ä �—‘˜'Ó"×(Ñ(Ó*Ó +Ð+r6cóª€\V\\34'd6\P!V\ P 4P4pEML\V\4'dË\VRR4pVf’\P'dkV^,pVR 8Xd2\P!\P!V44^,p\P \P3V,)pM\P )p\VR7p\VR,R\ V4/pMl\V\4'dVP f \#R4hTpM:\V\$4'dV^,VR ,3R 8XdV#\#R4hRP'\(VP*,4pVP-V4#) aÈConvert date_time to IMAP4 INTERNALDATE representation. Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'. The date_time argument can be a number (int or float) representing seconds since epoch (as returned by time.time()), a 9-tuple representing local time, an instance of time.struct_time (as returned by time.localtime()), an aware datetime instance or a double-quoted string. In the last case, it is assumed to already be in the correct format. Ú tm_gmtoffN)Úseconds:NéNÚtzinfozdate_time must be awarezdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z"rÔ)Ú"rÏ)rprrhrÚ fromtimestamprr¿Ú astimezonerþržrXÚdaylightr¼ÚmktimeÚaltzonerrÎr¯rqÚformatÚMonthsÚmonthÚstrftime)rÚdtÚgmtoffÚdstÚdeltaÚfmts& r>rr•sX€ô�)œc¤5˜\×*Ò*Ü × #Ò # IÜ$,§L¡Ló2ß2<±*³,ò ä �Iœu× %Ò %ܘ K°Ó6ˆØ Š>Ü�}�}ˆ}Ø •l�ؘ"”9ÜŸ.š.¬¯ª°YÓ)?Ó@ÀÕC�CÜŸ=™=¬$¯,©,Ð7¸Õ<Ð<‘äŸ-™-˜�Ü &Ô)ˆÜ �y •}Ð =¬X°e«_Ñ =‰Ü �Iœx× (Ò (Ø × Ñ Ò #ÜÐ6Ó7Ð 7Ø ‰Ü �Iœs× #Ò #¨°1­°iÀµmÐ(DÈ Ô(QØÐäÐ8Ó9Ð9Ø "× )Ñ )¬&°·±Õ*:Ó ;€CØ �;‰;�sÓ Ðr6Ú__main__zd:s:z-dz-szIMAP password for z on Ú localhostz: zJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)srdÚlfÚ rfú /tmp/yyz 2rÊr_rÒcóÊ€\PV: RV: 24\\V4!V!wr#\PV: RV: RV: 24VR8Xd V^,hV#)rnrùrë)ÚMrŽrž)Úcmdr«rôrõs&& r>ÚrunræõsL€Ü �‰›3¢Ð%Ô&Üœ1˜c”? DÑ)‰ˆÜ �‰££cª3Ð/Ô0Ø �$Œ;˜c !�f˜ ؈ r6zPROTOCOL_VERSION = %szCAPABILITIES = z .*"([^"]+)"$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 )rrrÀr†rÉr)Ú IMAP4REV1r)r r›)r„)r„r r›r )r›)r )r¾rC)rT)r()ú /tmp/xxx 1)r’)rèz/tmp/yyy)r©râ)r_)z/tmpzyy*)rŸré)r˜)NÚSUBJECTÚtest)r;)Ú1z(FLAGS INTERNALDATE RFC822))rÃ)rìÚFLAGSz (\Deleted))r�rC)r6rC)rörC)rærC)rŸrC)rû)Ú UIDVALIDITY)rÒ)r'r2)rû)r�)rªrC)z/tmp/zyy%rÔ)\rFr�r£rèr‡rtr²r‡r°rXrºrrrÚiorr¶rµÚ ImportErrorÚ__all__rrVrGr}r—rÕr�rur rÈr¸rwrxrrr rzrvryrîr<r?r9r?rrUrvrÊrr rÿrÖÚ enumeraterrr¹rÀr†rÉrrEÚgetoptÚgetpassÚargvÚoptlistr«rJrõÚstream_commandÚoptrrkÚgetuserÚUSERÚPASSWDÚ test_mesgÚ test_seq1Ú test_seq2rærärXrŽr˜r–råÚmlr r’r ÚpathrõrÒÚprint)Únr#s00r>Úrs¼ðñ ð.€ çK×K×K×KÓKß2Ñ2Ý"ðÛØ€Hò 8€ð €Ø €Ø € Ø€Ø(€ð €ð - àÐ,ð- ð ˜ ð- ð ÐAð - ð ˜ ð - ð ˜ ð - ð ˜ ð- ð Ð,ð- ð Ð,ð- ð Ð,ð- ð ˜ ð- ð Ð,ð- ð ˜ ð- ð ˜ ð- ð Ð,ð- ð Ð,ð!- ð" Ð,ð#- ð$ Ð,ñ%- ð& Ð,ð'- ð( Ð,ð)- ð* Ð,ð+- ð, ˜ ð-- ð. ÐAð/- ð0 Ð,ð1- ð2 ˜ ð3- ð4 Ð,ð5- ð6 ÐAð7- ð8 ˜ ð9- ð: ˜ ð;- ð< Ð,ð=- ð> ˜ ð?- ð@ Ð,ðA- ðB Ð,ðC- ðD Ð,ðE- ðF Ð,ñG- ðH ˜ ؘ ØÐ,ؘ ØÐ,ؘ Ø ˜ ØÐ,ؘ ñY- €ðb�zŠzÐ0Ó1€ Ø � Š Ð4Ó5€Ø�zŠzðó€ ð �*Š*Ð+¨R¯X©XÓ 6€Ø �*Š*�^Ó $€ð— ’ ÐDÓE€ Ø—J’JÐGÓHÐà—*’*Ø;¸R¿X¹XóG€ð "€ØJÐð—’˜MÓ*€Ø—J’JÐ@ÓAÐØ—’Ð;Ó<€Ø �*Š*Ð+Ó ,€ô7÷ pñp÷f+~ñ~÷B ô#2�Eô#2ðJ ‡N�N�;Ôô5�5ô5÷r*(ñ*(ðX <× AÑ AÀ#Ó F€Ù&/°°rµ Ô&;Ô <Ñ&;™d˜aˆ1�8‰8‹:�a˜•cŠ>Ñ&;Ò <€òòF ò,ò$ðP ˆzÕ÷ ðØŸ š  c§h¡h¨r¥l°FÓ;‰ ˆ�ð€NÛ‰ˆˆCØ �$Œ;Ù˜“HŠEØ �DŽ[Ø ˆNß‘4 Ð 1šñ ÷ ˜�à ��7€Dà �?Š?Ó €DØ �_‹_»tÀT×EXÐEXÈ[ÒEXÐYÓ Z€Fà\Ð`fÐgkÐmqÐrvÐ_wÕw€Ià ˆt�VˆnÐØØ*ØØ � ˜d D¨)Ð4Ð5ØØØ)Ø3Ø,ØØØØð€Ið$Ø!ØØØ ��d˜D )Ð,Ð-ØØð€Iòð)ß Ù˜^Ó,‰Aá�d“ ˆAØ �7‰7�fÔ Ø! "� ˆIØ �‰Ð'¨!×*<Ñ*<Õ<Ô=Ø �Š q§~£~Ð7Ô8ã!‰HˆC�Ù ��TŽNñ"ñ�fÐ.Ö/ˆBØ—’˜/¨2Ó.ˆBߘ"Ÿ(™( 1›+‘4ØŸ™› B��$Ù �˜4˜'Ö "ñ 0ó "‰HˆC�Ù�c˜4“.ˆCà�DˆzÐ7Ô7Ùà�b•'—-‘-“/ˆCߙ٠�˜ ¨¨B­¥ØPðRö Sñ"ñ ÐÖ ñ{øðy<ô؃Hðüón9 =øð^ �<‰<ôؘBˆ ˆ–ûðûðj Ù ÐÔ çÙ ðð ‡h�hˆq…kõô ð úsBºR(È5#R8É9'R>ÍS"Í"ES"Ò( R5Ò4R5Ò>SÓSÓSÓ"3T