PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib64/python2.7
Viewing File: /usr/lib64/python2.7/mailbox.pyo
� zfc@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl Zddl Z y(ej dkr�e �nddlZWne k r�eZnXddlZej��0ejrejdde�nddlZWdQXdddd d d d d dddddddddgZdfd��YZdefd��YZdefd��YZdefd��YZdefd��YZd efd��YZd efd��YZd efd ��YZd ejj fd!��YZ d e fd"��YZ!d#e fd$��YZ"de"fd%��YZ#de fd&��YZ$de fd'��YZ%de"fd(��YZ&d)fd*��YZ'd+e'fd,��YZ(e)d-�Z*d.�Z+d/�Z,d0�Z-d1�Z.d2�Z/d3fd4��YZ0de0fd5��YZ1de1fd6��YZ2de0fd7��YZ3dfd8��YZ4de0fd9��YZ5d:e6fd;��YZ7d<e7fd=��YZ8d>e7fd?��YZ9d@e7fdA��YZ:dBe7fdC��YZ;dS(DsDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.i����Ntos2emxtignores.*rfc822 has been removedtMailboxtMaildirtmboxtMHtBabyltMMDFtMessagetMaildirMessaget mboxMessaget MHMessaget BabylMessaget MMDFMessaget UnixMailboxtPortableUnixMailboxt MmdfMailboxt MHMailboxt BabylMailboxcBs4eZdZded�Zd�Zd�Zd�Zd�Z d�Z dd�Z d�Z d �Z d �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdd�Zd�Zdd�Zd�Zd�Zd�Z d�Z!e"Z#e"d�Z$RS( s*A group of messages in a particular place.cCs.tjjtjj|��|_||_dS(sInitialize a Mailbox instance.N(tostpathtabspatht expandusert_patht_factory(tselfRtfactorytcreate((s/usr/lib64/python2.7/mailbox.pyt__init__+s!cCstd��dS(s$Add message and return assigned key.s&Method must be implemented by subclassN(tNotImplementedError(Rtmessage((s/usr/lib64/python2.7/mailbox.pytadd0scCstd��dS(s=Remove the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(Rtkey((s/usr/lib64/python2.7/mailbox.pytremove4scCs|j|�dS(N(R!(RR ((s/usr/lib64/python2.7/mailbox.pyt __delitem__8scCs)y|j|�Wntk r$nXdS(s'If the keyed message exists, remove it.N(R!tKeyError(RR ((s/usr/lib64/python2.7/mailbox.pytdiscard;s cCstd��dS(s>Replace the keyed message; raise KeyError if it doesn't exist.s&Method must be implemented by subclassN(R(RR R((s/usr/lib64/python2.7/mailbox.pyt __setitem__BscCs*y|j|�SWntk r%|SXdS(s9Return the keyed message, or default if it doesn't exist.N(t __getitem__R#(RR tdefault((s/usr/lib64/python2.7/mailbox.pytgetFs cCs0|js|j|�S|j|j|��SdS(s=Return the keyed message; raise KeyError if it doesn't exist.N(Rt get_messagetget_file(RR ((s/usr/lib64/python2.7/mailbox.pyR&Ms  cCstd��dS(s4Return a Message representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyR)TscCstd��dS(s3Return a string representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyt get_stringXscCstd��dS(s6Return a file-like representation or raise a KeyError.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pyR*\scCstd��dS(sReturn an iterator over keys.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytiterkeys`scCst|j��S(sReturn a list of keys.(tlistR,(R((s/usr/lib64/python2.7/mailbox.pytkeysdsccsEx>|j�D]0}y||}Wntk r7q nX|Vq WdS(s%Return an iterator over all messages.N(R,R#(RR tvalue((s/usr/lib64/python2.7/mailbox.pyt itervalueshs  cCs |j�S(N(R0(R((s/usr/lib64/python2.7/mailbox.pyt__iter__qscCst|j��S(s,Return a list of messages. Memory intensive.(R-R0(R((s/usr/lib64/python2.7/mailbox.pytvaluestsccsKxD|j�D]6}y||}Wntk r7q nX||fVq WdS(s.Return an iterator over (key, message) tuples.N(R,R#(RR R/((s/usr/lib64/python2.7/mailbox.pyt iteritemsxs  cCst|j��S(s9Return a list of (key, message) tuples. Memory intensive.(R-R3(R((s/usr/lib64/python2.7/mailbox.pytitems�scCstd��dS(s9Return True if the keyed message exists, False otherwise.s&Method must be implemented by subclassN(R(RR ((s/usr/lib64/python2.7/mailbox.pythas_key�scCs |j|�S(N(R5(RR ((s/usr/lib64/python2.7/mailbox.pyt __contains__�scCstd��dS(s*Return a count of messages in the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pyt__len__�scCs(x!|j�D]}|j|�q WdS(sDelete all messages.N(R,R$(RR ((s/usr/lib64/python2.7/mailbox.pytclear�scCs4y||}Wntk r"|SX|j|�|S(s3Delete the keyed message and return it, or default.(R#R$(RR R'tresult((s/usr/lib64/python2.7/mailbox.pytpop�s   cCs7x0|j�D]}||j|�fSWtd��dS(s6Delete an arbitrary (key, message) pair and return it.sNo messages in mailboxN(R,R:R#(RR ((s/usr/lib64/python2.7/mailbox.pytpopitem�scCs�t|d�r|j�}n$t|d�r<|j�}n|}t}x<|D]4\}}y|||<WqOtk r�t}qOXqOW|r�td��ndS(s4Change the messages that correspond to certain keys.R3R4sNo message with key(s)N(thasattrR3R4tFalseR#tTrue(Rtargtsourcetbad_keyR R((s/usr/lib64/python2.7/mailbox.pytupdate�s cCstd��dS(s&Write any pending changes to the disk.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytflush�scCstd��dS(sLock the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytlock�scCstd��dS(s#Unlock the mailbox if it is locked.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytunlock�scCstd��dS(sFlush and close the mailbox.s&Method must be implemented by subclassN(R(R((s/usr/lib64/python2.7/mailbox.pytclose�sc Cs t|tjj�r�tj�}tjj||d�}|j|�|jd�|j �j dt j �}|j |�|jr|jt j � r|j t j �qnXt|t�r+|r�|j dd�}n|j dt j �}|j |�|jr|jt j � r|j t j �qn�t|d�r�d }xttr�|j�}|dkrePn|r�|jd�r�d|d }n|j dt j �}|j |�|}qCW|jr|r|jt j � r|j t j �qntd t|���d S( s%Dump message contents to target file.is s From s >From treadtsFrom s>From isInvalid message type: %sN(t isinstancetemailRRtStringIOt generatort GeneratortflattentseekRGtreplaceRtlineseptwritet_append_newlinetendswithtstrR<tNoneR>treadlinet startswitht TypeErrorttype( RRttargett mangle_from_tbuffertgentdatatlastlinetline((s/usr/lib64/python2.7/mailbox.pyt _dump_message�s<          "N(%t__name__t __module__t__doc__RVR>RRR!R"R$R%R(R&R)R+R*R,R.R0R1R2R3R4R5R6R7R8R:R;RBRCRDRERFR=RSRb(((s/usr/lib64/python2.7/mailbox.pyR(s@                         cBs�eZdZdZejed�Zd�Zd�Z d�Z d�Z d�Z d�Z d �Zd �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdZd�Zd�Zd�Zd�ZRS(sA qmail-style Maildir mailbox.t:cCs tj||||�itjj|jd�d6tjj|jd�d6tjj|jd�d6|_tjj|j�s�|r�tj|jd�x9|jj �D]}tj|d�q�Wq�t |j��ni|_ idd6dd6|_ d|_ d|_dS(sInitialize a Maildir instance.ttmptnewtcuri�ig�������?N(RRRRtjoinRt_pathstexiststmkdirR2tNoSuchMailboxErrort_toct _toc_mtimest _last_readt _skewfactor(RtdirnameRRR((s/usr/lib64/python2.7/mailbox.pyR�s  cCs�|j�}y|j||�Wn.tk rP|j�tj|j��nXt|�t|t �r�|j �}|j |j �}||j kr�d}q�n d}d}tj j|j�j|j �d}tj j|j|||�}t|t �r4tj|jtj j|j�|j�f�nyLttd�rltj|j|�tj|j�ntj|j|�WnKtk r�}tj|j�|jtjkr�td|��q��nX|S(s$Add message and return assigned key.RHRhitlinks$Name clash with existing message: %s(t _create_tmpRbt BaseExceptionRFRR!tnamet _sync_closeRIR t get_subdirtcolontget_infoRtbasenametsplitRjRtutimetgetatimetget_dateR<RttrenametOSErrorterrnotEEXISTtExternalClashError(RRttmp_filetsubdirtsuffixtuniqtdestte((s/usr/lib64/python2.7/mailbox.pyR s@      % % cCs,tjtjj|j|j|���dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(RR!RRjRt_lookup(RR ((s/usr/lib64/python2.7/mailbox.pyR!4scCsSy|j|�Wn;tk r$n+tk rN}|jtjkrO�qOnXdS(s'If the keyed message exists, remove it.N(R!R#R�R�tENOENT(RR R�((s/usr/lib64/python2.7/mailbox.pyR$8s c Cs$|j|�}|j|�}|j|�}t|t�rE|}n|}tjj|�}|j|kr�|j|j|j�d}nd}|j |�tjj |j |�} tjj |j |||�} t|t�rtj | tjj | �|j�f�ntj| | �dS(s>Replace the keyed message; raise KeyError if it doesn't exist.i����RHN(R�RRIR RRRsRzR}R$RjRR~RR�R�( RR Rt old_subpathttemp_keyt temp_subpathtdominant_subpathR�R�ttmp_pathtnew_path((s/usr/lib64/python2.7/mailbox.pyR%Cs"    "cCs�|j|�}ttjj|j|�d�}z+|jrN|j|�}n t|�}Wd|j�Xtjj |�\}}|j |�|j |kr�|j |j |j �d�n|j tjjtjj|j|���|S(s4Return a Message representation or raise a KeyError.trNi����(R�topenRRRjRRR RFR}t set_subdirRztset_infotset_datetgetmtime(RR tsubpathtftmsgR�Rw((s/usr/lib64/python2.7/mailbox.pyR)^s!    +cCsJttjj|j|j|��d�}z|j�SWd|j�XdS(s3Return a string representation or raise a KeyError.R�N(R�RRRjRR�RGRF(RR R�((s/usr/lib64/python2.7/mailbox.pyR+ps*cCs4ttjj|j|j|��d�}t|�S(s6Return a file-like representation or raise a KeyError.trb(R�RRRjRR�t _ProxyFile(RR R�((s/usr/lib64/python2.7/mailbox.pyR*xs*ccsO|j�x>|jD]3}y|j|�Wntk rAqnX|VqWdS(sReturn an iterator over keys.N(t_refreshRoR�R#(RR ((s/usr/lib64/python2.7/mailbox.pyR,}s  cCs|j�||jkS(s9Return True if the keyed message exists, False otherwise.(R�Ro(RR ((s/usr/lib64/python2.7/mailbox.pyR5�s cCs|j�t|j�S(s*Return a count of messages in the mailbox.(R�tlenRo(R((s/usr/lib64/python2.7/mailbox.pyR7�s cCsdS(s"Write any pending changes to disk.N((R((s/usr/lib64/python2.7/mailbox.pyRC�scCsdS(sLock the mailbox.N((R((s/usr/lib64/python2.7/mailbox.pyRD�scCsdS(s#Unlock the mailbox if it is locked.N((R((s/usr/lib64/python2.7/mailbox.pyRE�scCsdS(sFlush and close the mailbox.N((R((s/usr/lib64/python2.7/mailbox.pyRF�scCs�g}xttj|j�D]`}t|�dkr|ddkrtjjtjj|j|��r|j|d�qqW|S(sReturn a list of folder names.iit.(RtlistdirRR�RtisdirRjtappend(RR9tentry((s/usr/lib64/python2.7/mailbox.pyt list_folders�s "$cCs/ttjj|jd|�d|jdt�S(s/Return a Maildir instance for the named folder.R�RR(RRRRjRRR=(Rtfolder((s/usr/lib64/python2.7/mailbox.pyt get_folder�s cCs�tjj|jd|�}t|d|j�}tjj|d�}tjj|�s�tjtj|tj tj Bd��n|S(s>Create a folder and return a Maildir instance representing it.R�Rt maildirfolderi�( RRRjRRRRlRFR�tO_CREATtO_WRONLY(RR�RR9tmaildirfolder_path((s/usr/lib64/python2.7/mailbox.pyt add_folder�s cCs�tjj|jd|�}xwtjtjj|d��tjtjj|d��D];}t|�dks|ddkrWtd|��qWqWWxutj|�D]d}|dkr�|dkr�|dkr�tjjtjj||��r�td||f��q�q�Wx�tj|d t �D]i\}}}x*|D]"}tj tjj||��q:Wx*|D]"}tj tjj||��qgWq$Wtj |�d S( s-Delete the named folder, which must be empty.R�RhRiiisFolder contains message(s): %sRgs%Folder contains subdirectory '%s': %sttopdownN( RRRjRR�R�t NotEmptyErrorR�twalkR=R!trmdir(RR�RR�troottdirstfiles((s/usr/lib64/python2.7/mailbox.pyt remove_folder�s #"$!%   $cCs�tj�}xptjtjj|jd��D]M}tjj|jd|�}|tjj|�dkr.tj|�q.q.WdS(sDelete old files in "tmp".Rgi@�N(ttimeRR�RRjRRR!(RtnowR�R((s/usr/lib64/python2.7/mailbox.pytclean�s  (icCsItj�}tj�}d|kr9|jdd�}nd|krZ|jdd�}ndt|�t|dd�tj�tj|f}tj j |j d|�}ytj |�Wnvt k r4}|jtjkr.tjd7_yt|�SWq1t k r*}|jtjkr+�q+q1Xq5�nXtd |��d S( s=Create a file in the tmp subdirectory and open and return it.t/s\057Rfs\072s%s.M%sP%sQ%s.%sig��.ARgs&Name clash prevented file creation: %sN(R�tsockett gethostnameRPtintRtgetpidRt_countRRjRtstatR�R�R�t_create_carefullyR�R�(RR�thostnameR�RR�((s/usr/lib64/python2.7/mailbox.pyRu�s,    & cCs?tj�|jd|jkr�t}xS|jD]H}tjj|j|�}||j|krkt }n||j|<q0W|s�dSni|_ x�|jD]�}|j|}xvtj |�D]e}tjj ||�}tjj |�r�q�n|j|j�d}tjj ||�|j |<q�Wq�Wtj�|_dS(s!Update table of contents mapping.iNi(R�RqRrR=RpRRR�RkR>RoR�RjR�R}Rz(RtrefreshR�tmtimeRR�tpR�((s/usr/lib64/python2.7/mailbox.pyR��s&    $cCs�y:tjjtjj|j|j|��r9|j|SWntk rMnX|j�y|j|SWn!tk r�td|��nXdS(s=Use TOC to return subpath for given key, or raise a KeyError.sNo message with key: %sN(RRRlRjRRoR#R�(RR ((s/usr/lib64/python2.7/mailbox.pyR�s+   cCsot|d�s!|j�|_nxGtrjy||jj�SWq$tk rSdStk rfq$q$Xq$WdS(s0Return the next message in a one-time iteration.t _onetime_keysN(R<R,R�R>tnextt StopIterationRVR#(R((s/usr/lib64/python2.7/mailbox.pyR�'s   ( RcRdReRztrfc822RR>RRR!R$R%R)R+R*R,R5R7RCRDRERFR�R�R�R�R�R�RuR�R�R�(((s/usr/lib64/python2.7/mailbox.pyR�s6 )                $ t_singlefileMailboxcBs�eZdZded�Zd�Zd�Zd�Zd�Z d�Z d�Z d�Z d �Z d �Zd �Zd �Zd �Zd�Zdd�Zd�ZRS(sA single-file mailbox.cCs�tj||||�yt|jd�}Wn�tk r�}|jtjkr}|rkt|jd�}q�t|j��q�|jtjtj fkr�t|jd�}q��nX||_ d|_ d|_ t|_t|_t|_d|_dS(s!Initialize a single-file mailbox.srb+swb+R�iN(RRR�RtIOErrorR�R�RntEACCEStEROFSt_fileRVRot _next_keyR=t_pendingt _pending_synct_lockedt _file_length(RRRRR�R�((s/usr/lib64/python2.7/mailbox.pyR7s$      cCsF|j�|j|�|j|j<|jd7_t|_|jdS(s$Add message and return assigned key.i(R�t_append_messageRoR�R>R�(RR((s/usr/lib64/python2.7/mailbox.pyRNs   cCs$|j|�|j|=t|_dS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(R�RoR>R�(RR ((s/usr/lib64/python2.7/mailbox.pyR!Xs  cCs0|j|�|j|�|j|<t|_dS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(R�R�RoR>R�(RR R((s/usr/lib64/python2.7/mailbox.pyR%^s ccs-|j�x|jj�D] }|VqWdS(sReturn an iterator over keys.N(R�RoR.(RR ((s/usr/lib64/python2.7/mailbox.pyR,ds cCs|j�||jkS(s9Return True if the keyed message exists, False otherwise.(R�Ro(RR ((s/usr/lib64/python2.7/mailbox.pyR5js cCs|j�t|j�S(s*Return a count of messages in the mailbox.(R�R�Ro(R((s/usr/lib64/python2.7/mailbox.pyR7os cCs&|js"t|j�t|_ndS(sLock the mailbox.N(R�t _lock_fileR�R>(R((s/usr/lib64/python2.7/mailbox.pyRDts  cCs&|jr"t|j�t|_ndS(s#Unlock the mailbox if it is locked.N(R�t _unlock_fileR�R=(R((s/usr/lib64/python2.7/mailbox.pyREzs  c Cs�|js/|jr+t|j�t|_ndS|jjdd�|jj�}||jkr|td|j|f��nt |j �}y�i}|j |�x�t |j j��D]�}|j |\}}|jj|�|j|�|j�}xOtrJ|jjtd||jj���}|dkr:Pn|j|�q�W||j�f||<|j|�q�W|j�|_Wn$|j�tj|j��nXt|�|jj�tj|j �j} tj|j| �ytj|j|j �Wnrtk rv} | jtj ksGtjdkrp| jtj!krptj|j �tj|j|j �qw�nXt"|j d�|_||_ t|_t|_|j#r�t$|jd t�ndS( s"Write any pending changes to disk.Niis4Size of mailbox file changed (expected %i, found %i)iRHtos2srb+tdotlock(%R�R�t _sync_flushR�R=ROttellR�R�t_create_temporaryRt_pre_mailbox_hooktsortedRoR.t_pre_message_hookR>RGtminRRt_post_message_hookRFRR!RwRxR�tst_modetchmodR�R�R�R�R�R�R�R�( Rtcur_lentnew_filetnew_tocR tstarttstopt new_startR]tmodeR�((s/usr/lib64/python2.7/mailbox.pyRC�sd             !    cCsdS(s,Called before writing the mailbox to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsdS(s-Called before writing each message to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsdS(s,Called after writing each message to file f.N((RR�((s/usr/lib64/python2.7/mailbox.pyR��scCsAz|j�Wdz|jr*|j�nWd|jj�XXdS(sFlush and close the mailbox.N(RCR�RER�RF(R((s/usr/lib64/python2.7/mailbox.pyRF�s  cCsb|jdkr|j�n|dk r^y|j|SWq^tk rZtd|��q^XndS(s'Return (start, stop) or raise KeyError.sNo message with key: %sN(RoRVt _generate_tocR#(RR ((s/usr/lib64/python2.7/mailbox.pyR��s   cCs�|jjdd�|jj�}t|j�dkrT|j rT|j|j�ny3|j|j�|j|�}|j |j�Wn$t k r�|jj |��nX|jj �|jj�|_ |S(s;Append message to mailbox and return (start, stop) offsets.ii(R�ROR�R�RoR�R�R�t_install_messageR�RvttruncateRCR�(RRtbeforetoffsets((s/usr/lib64/python2.7/mailbox.pyR��s  N(RcRdReRVR>RRR!R%R,R5R7RDRERCR�R�R�RFR�R�(((s/usr/lib64/python2.7/mailbox.pyR�4s"        D    t _mboxMMDFcBs>eZdZeZd�Zed�Zed�Zd�Z RS(sAn mbox or MMDF mailbox.cCs�|j|�\}}|jj|�|jj�jtjd�}|jj||jj��}|j |jtjd��}|j |d�|S(s4Return a Message representation or raise a KeyError.RHs i( R�R�RORWRPRRQRGR�t_message_factorytset_from(RR R�R�t from_linetstringR�((s/usr/lib64/python2.7/mailbox.pyR)scCsm|j|�\}}|jj|�|s;|jj�n|jj||jj��}|jtjd�S(s3Return a string representation or raise a KeyError.s ( R�R�RORWRGR�RPRRQ(RR tfrom_R�R�R�((s/usr/lib64/python2.7/mailbox.pyR+ s cCsW|j|�\}}|jj|�|s;|jj�nt|j|jj�|�S(s6Return a file-like representation or raise a KeyError.(R�R�RORWt _PartialFileR�(RR R�R�R�((s/usr/lib64/python2.7/mailbox.pyR*s cCs/d}t|t�ri|jd�ri|jd�}|dkrZ|| }||d}q�|}d}nFt|t�r�d|j�}n$t|tjj �r�|j �}n|dkr�dt j t j ��}n|jj�}|jj|tj�|j||j|j�|jj�}||fS(s1Format a message and blindly write to self._file.sFrom s i����iRHsFrom MAILER-DAEMON %sN(RVRIRURXtfindt_mboxMMDFMessagetget_fromRJRRt get_unixfromR�tasctimetgmtimeR�R�RRRRQRbt _mangle_from_(RRR�tnewlineR�R�((s/usr/lib64/python2.7/mailbox.pyR�s&    ( RcRdReR>R�R)R=R+R*R�(((s/usr/lib64/python2.7/mailbox.pyR��s  cBs;eZdZeZeZded�Zd�Zd�Z RS(sA classic mbox mailbox.cCs#t|_tj||||�dS(sInitialize an mbox mailbox.N(R R�R�R(RRRR((s/usr/lib64/python2.7/mailbox.pyR=s cCs|jtj�dS(s,Called after writing each message to file f.N(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�BscCs\gg}}t}|jjd�x�tr|jj�}|jj�}|jd�r�t|�t|�kr�|r�|j|tt j ��q�|j|�n|j|�t}q&|s�|r�|j|tt j ��n |j|�Pq&|t j kr t}q&t}q&Wt t t ||���|_t|j�|_|jj�|_dS(s0Generate key-to-(start, stop) table of contents.isFrom N(R=R�ROR>R�RWRXR�R�RRQtdictt enumeratetzipRoR�R�(Rtstartststopstlast_was_emptytline_posRa((s/usr/lib64/python2.7/mailbox.pyR�Fs0       N( RcRdReR>R�RSRVRR�R�(((s/usr/lib64/python2.7/mailbox.pyR4s  cBs8eZdZded�Zd�Zd�Zd�ZRS(sAn MMDF mailbox.cCs#t|_tj||||�dS(sInitialize an MMDF mailbox.N(R R�R�R(RRRR((s/usr/lib64/python2.7/mailbox.pyRks cCs|jdtj�dS(s-Called before writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�pscCs|jtjdtj�dS(s,Called after writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�tscCsbgg}}|jjd�d}x�tr|}|jj�}|jj�}|jdtj�r�|j|�x�tr�|}|jj�}|jj�}|dtjkr�|j|t tj��Pqv|dkrv|j|�PqvqvWq&|dkr&Pq&q&Wt t t ||���|_ t |j �|_|jjdd�|jj�|_dS(s0Generate key-to-(start, stop) table of contents.isRHiN(R�ROR>RWR�RXRRQR�R�R�R�R�RoR�R�(RRRtnext_posRRa((s/usr/lib64/python2.7/mailbox.pyR�xs2        N( RcRdReRVR>RR�R�R�(((s/usr/lib64/python2.7/mailbox.pyRhs   cBs�eZdZded�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�Zd�ZRS(sAn MH mailbox.cCs�tj||||�tjj|j�s�|r�tj|jd�tjtjtjj |jd�tj tj Btj Bd��q�t |j��nt|_dS(sInitialize an MH instance.i�s .mh_sequencesi�N(RRRRRlRRmRFR�RjR�tO_EXCLR�RnR=R�(RRRR((s/usr/lib64/python2.7/mailbox.pyR�s!!cCs:|j�}t|�dkr'd}nt|�d}tjj|jt|��}t|�}t }z�|j r�t |�nz�y|j ||�WnGt k r�|j r�t|�nt|�t}tj|��nXt|t�r|j||�nWd|j rt|�nXWd|s5t|�nX|S(s$Add message and return assigned key.iiN(R.R�tmaxRRRjRRUR�R=R�R�RbRvR�RxR>R!RIR t_dump_sequences(RRR.tnew_keyR�R�tclosed((s/usr/lib64/python2.7/mailbox.pyR�s6           cCs�tjj|jt|��}yt|d�}Wn;tk rn}|jtjkrht d|��q��nX|j �tj |�dS(s=Remove the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN( RRRjRRUR�R�R�R�R#RFR!(RR RR�R�((s/usr/lib64/python2.7/mailbox.pyR!�s cCstjj|jt|��}yt|d�}Wn;tk rn}|jtjkrht d|��qo�nXz�|j r�t |�nzYtj tj|tj tjB��|j||�t|t�r�|j||�nWd|j r�t|�nXWdt|�XdS(s>Replace the keyed message; raise KeyError if it doesn't exist.srb+sNo message with key: %sN(RRRjRRUR�R�R�R�R#R�R�RFR�tO_TRUNCRbRIR RR�Rx(RR RRR�R�((s/usr/lib64/python2.7/mailbox.pyR%�s$  # cCs1y^|jr6ttjj|jt|��d�}n'ttjj|jt|��d�}Wn;tk r�}|jtj kr�t d|��q��nXzD|jr�t |�nzt |�}Wd|jr�t |�nXWd|j�Xx<|j�j�D](\}}||kr|j|�qqW|S(s4Return a Message representation or raise a KeyError.sr+R�sNo message with key: %sN(R�R�RRRjRRUR�R�R�R#R�R R�RFt get_sequencesR3t add_sequence(RR R�R�R�Rwtkey_list((s/usr/lib64/python2.7/mailbox.pyR)�s( *+     cCs�y^|jr6ttjj|jt|��d�}n'ttjj|jt|��d�}Wn;tk r�}|jtj kr�t d|��q��nXzB|jr�t |�nz|j �SWd|jr�t |�nXWd|j�XdS(s3Return a string representation or raise a KeyError.sr+R�sNo message with key: %sN(R�R�RRRjRRUR�R�R�R#R�RGR�RF(RR R�R�((s/usr/lib64/python2.7/mailbox.pyR+s  *+   cCssy+ttjj|jt|��d�}Wn;tk rh}|jtjkrbt d|��qi�nXt |�S(s6Return a file-like representation or raise a KeyError.R�sNo message with key: %s( R�RRRjRRUR�R�R�R#R�(RR R�R�((s/usr/lib64/python2.7/mailbox.pyR*s+cCs&ttd�tj|j�D���S(sReturn an iterator over keys.css'|]}|j�rt|�VqdS(N(tisdigitR�(t.0R�((s/usr/lib64/python2.7/mailbox.pys <genexpr>+s(titerR�RR�R(R((s/usr/lib64/python2.7/mailbox.pyR,)scCs(tjjtjj|jt|���S(s9Return True if the keyed message exists, False otherwise.(RRRlRjRRU(RR ((s/usr/lib64/python2.7/mailbox.pyR5.scCstt|j���S(s*Return a count of messages in the mailbox.(R�R-R,(R((s/usr/lib64/python2.7/mailbox.pyR72scCsJ|jsFttjj|jd�d�|_t|j�t|_ndS(sLock the mailbox.s .mh_sequencessrb+N( R�R�RRRjRR�R�R>(R((s/usr/lib64/python2.7/mailbox.pyRD6s $ cCs9|jr5t|j�t|j�|`t|_ndS(s#Unlock the mailbox if it is locked.N(R�R�R�RxR=(R((s/usr/lib64/python2.7/mailbox.pyRE=s    cCsdS(s&Write any pending changes to the disk.N((R((s/usr/lib64/python2.7/mailbox.pyRCEscCs|jr|j�ndS(sFlush and close the mailbox.N(R�RE(R((s/usr/lib64/python2.7/mailbox.pyRFIs cCs[g}xNtj|j�D]:}tjjtjj|j|��r|j|�qqW|S(sReturn a list of folder names.(RR�RRR�RjR�(RR9R�((s/usr/lib64/python2.7/mailbox.pyR�Ns $cCs+ttjj|j|�d|jdt�S(s+Return an MH instance for the named folder.RR(RRRRjRRR=(RR�((s/usr/lib64/python2.7/mailbox.pyR�VscCs%ttjj|j|�d|j�S(s:Create a folder and return an MH instance representing it.R(RRRRjRR(RR�((s/usr/lib64/python2.7/mailbox.pyR�[scCs�tjj|j|�}tj|�}|dgkrUtjtjj|d��n"|gkrdntd|j��tj|�dS(s-Delete the named folder, which must be empty.s .mh_sequencessFolder not empty: %sN(RRRjRR�R!R�R�(RR�Rtentries((s/usr/lib64/python2.7/mailbox.pyR�`s c Csmi}ttjj|jd�d�}z4t|j��}x|D]}y�|jd�\}}t�}xo|j�D]a}|j�r�|j t |��qwd�|jd�D�\} } |j t | | d��qwWgt |�D]} | |kr�| ^q�||<t||�dkr+||=nWqCtk rUtd|j���qCXqCWWd |j�X|S( s=Return a name-to-key-list dictionary to define each sequence.s .mh_sequencesR�Rfcss|]}t|�VqdS(N(R�(Rtx((s/usr/lib64/python2.7/mailbox.pys <genexpr>zst-iis"Invalid sequence specification: %sN(R�RRRjRtsetR.R}RRR�RBtrangeR�R�t ValueErrort FormatErrortrstripRF( RtresultsR�tall_keysRaRwtcontentsR.tspecR�R�R ((s/usr/lib64/python2.7/mailbox.pyR ls,!     cCsettjj|jd�d�}z2tjtj|jtjtjB��x|j �D]�\}}t |�dkr{qWn|j d|�d }t }x�tt|��D]r}|d|kr�|st}|j d�qn7|rt }|j d||f�n|j d|�|}q�W|rA|j t|�d �qW|j d �qWWWd t|�Xd S( s:Set sequences using the given name-to-key-list dictionary.s .mh_sequencessr+is%s:iRs%s %ss %ss N(R�RRRjRRFRwR�R R3R�RRRVR=R�RR>RURx(Rt sequencesR�RwR.tprevt completingR ((s/usr/lib64/python2.7/mailbox.pyt set_sequences�s.!& c Cs�|j�}d}g}x|j�D]�}|d|kr|j||df�ttd�r�tjtjj|jt |��tjj|jt |d���tj tjj|jt |���qtj tjj|jt |��tjj|jt |d���n|d7}q%W|d|_ t |�dkrEdSxS|j�D]E\}}x6|D].\}}||kre|||j|�<qeqeWqRW|j|�dS(s?Re-name messages to eliminate numbering gaps. Invalidates keys.iiRtN(R R,R�R<RRtRRjRRUtunlinkR�R�R�R4tindexR ( RRRtchangesR RwR toldRh((s/usr/lib64/python2.7/mailbox.pytpack�s* !#(!&  cCs�|j�}|j�}xU|j�D]G\}}||krM|j|�q%||kr%||j|�=q%q%Wx*|D]"}||krw|g||<qwqwW|j|�dS(s;Inspect a new MHMessage and update sequences appropriately.N(R R3R�R"R (RRR tpending_sequencest all_sequencesRwR tsequence((s/usr/lib64/python2.7/mailbox.pyR�s      N(RcRdReRVR>RRR!R%R)R+R*R,R5R7RDRERCRFR�R�R�R�R R R%R(((s/usr/lib64/python2.7/mailbox.pyR�s. "                 cBs�eZdZed�Zded�Zd �Zd �Z d �Z d �Z d �Z d�Z d�Zd�Zd�Zd�Zd�Zd�ZRS(sAn Rmail-style Babyl mailbox.tunseentdeletedtfiledtansweredt forwardedteditedtresentcCs#tj||||�i|_dS(sInitialize a Babyl mailbox.N(R�Rt_labels(RRRR((s/usr/lib64/python2.7/mailbox.pyR�scCs;tj||�}t|t�r7|j�|j|<n|S(s$Add message and return assigned key.(R�RRIR t get_labelsR0(RRR ((s/usr/lib64/python2.7/mailbox.pyR�scCs0tj||�||jkr,|j|=ndS(s=Remove the keyed message; raise KeyError if it doesn't exist.N(R�R!R0(RR ((s/usr/lib64/python2.7/mailbox.pyR!�scCs<tj|||�t|t�r8|j�|j|<ndS(s>Replace the keyed message; raise KeyError if it doesn't exist.N(R�R%RIR R1R0(RR R((s/usr/lib64/python2.7/mailbox.pyR%�sc Cs}|j|�\}}|jj|�|jj�tj�}xXtr�|jj�}|dtjksu|dkryPn|j|j tjd��qAWtj�}xTtr�|jj�}|tjks�|dkr�Pn|j|j tjd��q�W|jj ||jj ��j tjd�}t |j �|�}|j|j ��||jkry|j|j|�n|S(s4Return a Message representation or raise a KeyError.s *** EOOH ***RHs (R�R�RORWRKR>RRQRRRPRGR�R tgetvaluet set_visibleR0t set_labels( RR R�R�toriginal_headersRatvisible_headerstbodyR�((s/usr/lib64/python2.7/mailbox.pyR)�s,       % cCs |j|�\}}|jj|�|jj�tj�}xXtr�|jj�}|dtjksu|dkryPn|j|j tjd��qAWx8tr�|jj�}|tjks�|dkr�Pq�q�W|j �|jj ||jj ��j tjd�S(s3Return a string representation or raise a KeyError.s *** EOOH ***RHs ( R�R�RORWRKR>RRQRRRPR2RGR�(RR R�R�R5Ra((s/usr/lib64/python2.7/mailbox.pyR+s       %cCs%tj|j|�jdtj��S(s6Return a file-like representation or raise a KeyError.s (RKR+RPRRQ(RR ((s/usr/lib64/python2.7/mailbox.pyR*scCsT|j�t�}x$|jj�D]}|j|�q#W|j|j�t|�S(s4Return a list of user-defined labels in the mailbox.(R�RR0R2RBtdifference_updatet_special_labelsR-(Rtlabelst label_list((s/usr/lib64/python2.7/mailbox.pyR1s   c Cs�gg}}|jjd�d}g}x[tr�|}|jj�}|jj�}|dtjkrt|�t|�kr�|j|ttj��n|j|�g|jj�dj d�D]$}|j �dkr�|j �^q�}|j|�q,|dks!|dtjkrYt|�t|�kr�|j|ttj��q�q,|dkr,|j|ttj��Pq,q,Wt t t ||���|_t t |��|_t|j�|_|jjdd�|jj�|_dS( s0Generate key-to-(start, stop) table of contents.is it,RHsiN(R�ROR>RWR�RRQR�R�R}tstripR�R�R�RoR0R�R�( RRRRt label_listsRRatlabelR:((s/usr/lib64/python2.7/mailbox.pyR�$s6    $  cCs9|jdtjtjdj|j��tjf�dS(s,Called before writing the mailbox to file f.s(BABYL OPTIONS:%sVersion: 5%sLabels:%s%sR<N(RRRRQRjR1(RR�((s/usr/lib64/python2.7/mailbox.pyR�Bs cCs|jdtj�dS(s-Called before writing each message to file f.s N(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�HscCs|jtjd�dS(s,Called after writing each message to file f.sN(RRRRQ(RR�((s/usr/lib64/python2.7/mailbox.pyR�LscCs,|jj�}t|t�r�g}g}x@|j�D]2}||jkr\|j|�q7|j|�q7W|jjd�x"|D]}|jjd|�q�W|jjd�x&|D]}|jjd|d�q�W|jjtj �n|jjdtj �t|t j j �rt j �}t jj|td�}|j|�|jd�xQtr�|j�}|jj|jdtj ��|dks�|d kr^Pq^q^W|jjd tj �t|t�rct j �} t jj| td�} | j|j��x�tr_| j�}|jj|jdtj ��|dksX|d krPqqWna|jd�xQtr�|j�}|jj|jdtj ��|dks�|d krsPqsqsWxLtr|jd �} | d kr�Pn|jj| jdtj ��q�Wnt|t�r|jd �d } | d dkr�|jj|| jdtj ��|jjd tj �|jj|| jdtj ��|jj|| jdtj ��q|jjd tj tj �|jj|jdtj ��n t|d�r�|j�} t}x�tr�|j�}|jj|jdtj ��|dkst|d kr+|r�t}|jjd tj �|j| �q�Pq+q+Wxatr�|jd �} | d kr�Pn|jj| jdtj ��q�Wntdt|���|jj�}||fS(s0Write message contents and return (start, stop).t1s, s,,t R<s1,,is RHs *** EOOH ***is ii����RWsInvalid message type: %s(R�R�RIR R1R9R�RRRRQRJRRRKRLRMR=RNROR>RWRPt get_visibleRGRUR�R<RYRZ(RRR�tspecial_labelsR:R?t orig_buffertorig_generatorRat vis_buffert vis_generatorR]t body_startt original_post first_passR�((s/usr/lib64/python2.7/mailbox.pyR�Ps�                &  "     &(R)R*R+R,R-R.R/N(RcRdRet frozensetR9RVR>RRR!R%R)R+R*R1R�R�R�R�R�(((s/usr/lib64/python2.7/mailbox.pyR�s            cBs,eZdZdd�Zd�Zd�ZRS(s0Message with mailbox-format-specific properties.cCs�t|tjj�rM|jtj|��t|t�r�|j|�q�n�t|t�ru|jtj |��n`t |d�r�|jtj |��n8|dkr�tjjj |�ntdt|���dS(sInitialize a Message instance.RGsInvalid message type: %sN(RIRJRRt_become_messagetcopytdeepcopyt _explain_toRUtmessage_from_stringR<tmessage_from_fileRVRRYRZ(RR((s/usr/lib64/python2.7/mailbox.pyR�s cCs)x"d D]}|j||j|<qWd S( s0Assume the non-format-specific state of message.t_headerst _unixfromt_payloadt_charsettpreambletepiloguetdefectst _default_typeN(RRRSRTRURVRWRXRY(t__dict__(RRRw((s/usr/lib64/python2.7/mailbox.pyRL�s cCs#t|t�rdStd��dS(s:Copy format-specific state to message insofar as possible.Ns Cannot convert to specified type(RIRRY(RR((s/usr/lib64/python2.7/mailbox.pyRO�sN(RcRdReRVRRLRO(((s/usr/lib64/python2.7/mailbox.pyR�s  cBs}eZdZd d�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d �Z d �Z d �Zd �ZRS(s)Message with Maildir-specific properties.cCs5d|_d|_tj�|_tj||�dS(s%Initialize a MaildirMessage instance.RhRHN(t_subdirt_infoR�t_dateRR(RR((s/usr/lib64/python2.7/mailbox.pyR�s  cCs|jS(sReturn 'new' or 'cur'.(R[(R((s/usr/lib64/python2.7/mailbox.pyRy�scCs8|dks|dkr$||_ntd|��dS(sSet subdir to 'new' or 'cur'.RhRis!subdir must be 'new' or 'cur': %sN(R[R(RR�((s/usr/lib64/python2.7/mailbox.pyR��s cCs%|jjd�r|jdSdSdS(s*Return as a string the flags that are set.s2,iRHN(R\RX(R((s/usr/lib64/python2.7/mailbox.pyt get_flags�s cCs ddjt|��|_dS(s)Set the given flags and unset all others.s2,RHN(RjR�R\(Rtflags((s/usr/lib64/python2.7/mailbox.pyt set_flags�scCs0|jdjt|j��t|�B��dS(s.Set the given flag(s) without changing others.RHN(R`RjRR^(Rtflag((s/usr/lib64/python2.7/mailbox.pytadd_flag�scCsE|j�dkrA|jdjt|j��t|���ndS(s7Unset the given string flag(s) without changing others.RHN(R^R`RjR(RRa((s/usr/lib64/python2.7/mailbox.pyt remove_flag�scCs|jS(s<Return delivery date of message, in seconds since the epoch.(R](R((s/usr/lib64/python2.7/mailbox.pyR��scCs;yt|�|_Wn!tk r6td|��nXdS(s9Set delivery date of message, in seconds since the epoch.scan't convert to float: %sN(tfloatR]RRY(Rtdate((s/usr/lib64/python2.7/mailbox.pyR��s cCs|jS(s%Get the message's "info" as a string.(R\(R((s/usr/lib64/python2.7/mailbox.pyR{�scCs5t|t�r||_ntdt|���dS(s Set the message's "info" string.sinfo must be a string: %sN(RIRUR\RYRZ(Rtinfo((s/usr/lib64/python2.7/mailbox.pyR�s cCsXt|t�rK|j|j��|j|j��|j|j��n t|t�r t |j��}d|kr�|j d�n|j�dkr�|j d�nd|kr�|j d�nd|kr�|j d�nd|kr�|j d�n|j d t j |j���n4t|t�r�t |j��}d|kr]|jd �nd|kry|jd �nd|krT|jd �qTn�t|t�r,t |j��}d|kr�|jd �nd|kr�|jd �nd|kr |jd�nd|krT|jd�qTn(t|t�r>ntdt|���dS(s;Copy Maildir-specific state to message insofar as possible.tStRRitOtTtDtFtAs MAILER-DAEMONR)trepliedtflaggedR*R,tPR-s$Cannot convert to specified type: %sN(RIR R`R^R�RyR�R�R�RRbR�R�R�R R R t add_labelRRYRZ(RRR_((s/usr/lib64/python2.7/mailbox.pyROsN    "       N(RcRdReRVRRyR�R^R`RbRcR�R�R{R�RO(((s/usr/lib64/python2.7/mailbox.pyR �s           R�cBs\eZdZd d�Zd�Zd d�Zd�Zd�Zd�Z d�Z d�Z RS( s/Message with mbox- or MMDF-specific properties.cCsw|jdt�t|tjj�rc|j�}|dk rc|jd�rc|j|d�qcntj ||�dS(s'Initialize an mboxMMDFMessage instance.s MAILER-DAEMONsFrom iN( R�R>RIRJRRR�RVRXR(RRtunixfrom((s/usr/lib64/python2.7/mailbox.pyR7s  cCs|jS(s Return contents of "From " line.(t_from(R((s/usr/lib64/python2.7/mailbox.pyR�@scCsN|dk rA|tkr'tj�}n|dtj|�7}n||_dS(s>Set "From " line, formatting and appending time_ if specified.RAN(RVR>R�R�R�Rs(RR�ttime_((s/usr/lib64/python2.7/mailbox.pyR�Ds   cCs |jdd�|jdd�S(s*Return as a string the flags that are set.tStatusRHsX-Status(R((R((s/usr/lib64/python2.7/mailbox.pyR^LscCst|�}d \}}x4d D],}||kr||7}|j|�qqWx4d D],}||krV||7}|j|�qVqVW|djt|��7}y|jd|�Wn!tk r�|jd|�nXy|jd|�Wn!tk r|jd|�nXd S( s)Set the given flags and unset all others.RHRhRiRkRlRmRusX-StatusN(RHRH(RhRi(RkRlRm(RR!RjR�treplace_headerR#t add_header(RR_t status_flagst xstatus_flagsRa((s/usr/lib64/python2.7/mailbox.pyR`Ps&          cCs0|jdjt|j��t|�B��dS(s.Set the given flag(s) without changing others.RHN(R`RjRR^(RRa((s/usr/lib64/python2.7/mailbox.pyRbfscCsKd|ksd|krG|jdjt|j��t|���ndS(s7Unset the given string flag(s) without changing others.RusX-StatusRHN(R`RjRR^(RRa((s/usr/lib64/python2.7/mailbox.pyRcjscCs�t|t�rt|j��}d|kr=|jd�nd|krY|jd�nd|kru|jd�nd|kr�|jd�nd|kr�|jd�n|d =|d =d j|j�j�d �}y&|j t j t j |d ���Wq�ttfk rq�Xnlt|t�rU|j|j��|j|j��n4t|t�r�t|j��}d|kr�|jd�nd|kr�|jd�nd|kr�|jd�n|d =|d =n�t|t�rat|j��}d|kr|jd�nd|kr4|jd�nd|krP|jd�n|d =|d =n(t|t�rsntdt|���dS(sACopy mbox- or MMDF-specific state to message insofar as possible.RiRiRlRmRhRgRkRjtstatussx-statusRAi����s%a %b %d %H:%M:%S %YR)RnRoR*R,s$Cannot convert to specified type: %sN(RIR RR^R�RbRjR�R}R�tcalendarttimegmR�tstrptimeRt OverflowErrorR�R`R�R R R RqRRYRZ(RRR_t maybe_date((s/usr/lib64/python2.7/mailbox.pyROos^             N( RcRdReRVRR�R�R^R`RbRcRO(((s/usr/lib64/python2.7/mailbox.pyR�4s      cBseZdZRS(s&Message with mbox-specific properties.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR �scBsGeZdZdd�Zd�Zd�Zd�Zd�Zd�Z RS(s$Message with MH-specific properties.cCsg|_tj||�dS(s!Initialize an MHMessage instance.N(t _sequencesRR(RR((s/usr/lib64/python2.7/mailbox.pyR�s cCs|jS(s4Return a list of sequences that include the message.(R�(R((s/usr/lib64/python2.7/mailbox.pyR �scCst|�|_dS(s3Set the list of sequences that include the message.N(R-R�(RR((s/usr/lib64/python2.7/mailbox.pyR �scCsNt|t�r4||jkrJ|jj|�qJntdt|���dS(s8Add sequence to list of sequences including the message.ssequence must be a string: %sN(RIRUR�R�RYRZ(RR(((s/usr/lib64/python2.7/mailbox.pyR �scCs,y|jj|�Wntk r'nXdS(sARemove sequence from the list of sequences including the message.N(R�R!R(RR(((s/usr/lib64/python2.7/mailbox.pytremove_sequence�s cCs�t|t�r�t|j��}d|kr=|jd�n|jd�|jd�d|krs|jd�nd|kr�|jd�q�n?t|t�rt|j��}d|kr�|jd�n |jd �d|kr�|jd�nd|kr�|jd �q�n�t|t�rMx�|j�D]}|j|�q3Wn�t|t �r�t|j��}d|kr�|j d�nd|kr�|j d �q�n(t|t �r�nt d t |���d S(s6Copy MH-specific state to message insofar as possible.R)RiRgRoRlRnRhtRORiRmR,s$Cannot convert to specified type: %sN(RIR RR R�RbR�R R R RqRRYRZ(RRRR(((s/usr/lib64/python2.7/mailbox.pyRO�s@           N( RcRdReRVRR R R R�RO(((s/usr/lib64/python2.7/mailbox.pyR �s     cBsbeZdZd d�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d �Z RS( s'Message with Babyl-specific properties.cCs)g|_t�|_tj||�dS(s#Initialize a BabylMessage instance.N(R0Rt_visibleR(RR((s/usr/lib64/python2.7/mailbox.pyR�s  cCs|jS(s'Return a list of labels on the message.(R0(R((s/usr/lib64/python2.7/mailbox.pyR1�scCst|�|_dS(s&Set the list of labels on the message.N(R-R0(RR:((s/usr/lib64/python2.7/mailbox.pyR4�scCsNt|t�r4||jkrJ|jj|�qJntdt|���dS(s+Add label to list of labels on the message.slabel must be a string: %sN(RIRUR0R�RYRZ(RR?((s/usr/lib64/python2.7/mailbox.pyRq�scCs,y|jj|�Wntk r'nXdS(s4Remove label from the list of labels on the message.N(R0R!R(RR?((s/usr/lib64/python2.7/mailbox.pyt remove_labels cCs t|j�S(s3Return a Message representation of visible headers.(RR�(R((s/usr/lib64/python2.7/mailbox.pyRB scCst|�|_dS(s2Set the Message representation of visible headers.N(RR�(Rtvisible((s/usr/lib64/python2.7/mailbox.pyR3scCs�xG|jj�D]6}||kr<|jj|||�q|j|=qWx=dD]5}||krQ||jkrQ|||j|<qQqQWdS( s9Update and/or sensibly generate a set of visible headers.tDatetFromsReply-TotTotCCtSubjectN(R�R�sReply-ToR�R�R�(R�R.Rv(Rtheader((s/usr/lib64/python2.7/mailbox.pytupdate_visibles  cCst|t�r�t|j��}d|kr=|jd�n|jd�|jd�d|ksod|kr|jd�nd|kr�|jd�nd |kr |jd �q nRt|t�r?t|j��}d|kr�|jd �n |jd �d |kr |jd �nd|kr |jd�q n�t|t�r�t|j��}d|kr||jd�nd|kr |jd�q nqt|t �r�|j |j ��xL|j�D]}|j |�q�Wn(t|t �r�ntdt|���dS(s9Copy Babyl-specific state to message insofar as possible.R)RiRgR-R/RpR,RhR*RjR�RiRkRmRns$Cannot convert to specified type: %sN(RIR RR1R�RbR�R R R R3RBRqRRYRZ(RRR:R?((s/usr/lib64/python2.7/mailbox.pyRO sF           N( RcRdReRVRR1R4RqR�RBR3R�RO(((s/usr/lib64/python2.7/mailbox.pyR �s        cBseZdZRS(s&Message with MMDF-specific properties.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR JsR�cBsneZdZd d�Zd d�Zd d�Zd d�Zd�Zd�Z dd�Z d �Z d �Z RS( sA read-only wrapper of a file.cCs4||_|dkr'|j�|_n ||_dS(sInitialize a _ProxyFile.N(R�RVR�t_pos(RR�tpos((s/usr/lib64/python2.7/mailbox.pyRQs  cCs|j||jj�S(s Read bytes.(t_readR�RG(Rtsize((s/usr/lib64/python2.7/mailbox.pyRGYscCs|j||jj�S(s Read a line.(R�R�RW(RR�((s/usr/lib64/python2.7/mailbox.pyRW]scCsWg}xJ|D]B}|j|�|dk r |t|�8}|dkrOPqOq q W|S(sRead multiple lines.iN(R�RVR�(RtsizehintR9Ra((s/usr/lib64/python2.7/mailbox.pyt readlinesas     cCst|jd�S(sIterate over lines.RH(RRW(R((s/usr/lib64/python2.7/mailbox.pyR1lscCs|jS(sReturn the position.(R�(R((s/usr/lib64/python2.7/mailbox.pyR�psicCsK|dkr"|jj|j�n|jj||�|jj�|_dS(sChange position.iN(R�ROR�R�(Rtoffsettwhence((s/usr/lib64/python2.7/mailbox.pyROts cCs>t|d�r:t|jd�r1|jj�n|`ndS(sClose the file.R�RFN(R<R�RF(R((s/usr/lib64/python2.7/mailbox.pyRF{scCsJ|dkrd}n|jj|j�||�}|jj�|_|S(s"Read size bytes using read_method.i����N(RVR�ROR�R�(RR�t read_methodR9((s/usr/lib64/python2.7/mailbox.pyR��s    N( RcRdReRVRRGRWR�R1R�RORFR�(((s/usr/lib64/python2.7/mailbox.pyR�Ns       R�cBsDeZdZddd�Zd�Zdd�Zd�Zd�ZRS(s&A read-only wrapper of part of a file.cCs)tj|||�||_||_dS(sInitialize a _PartialFile.N(R�Rt_startt_stop(RR�R�R�((s/usr/lib64/python2.7/mailbox.pyR�s cCstj|�|jS(s*Return the position with respect to start.(R�R�R�(R((s/usr/lib64/python2.7/mailbox.pyR��sicCsY|dkr!|j|_d}n!|dkrB|j|_d}ntj|||�dS(s8Change position, possibly with respect to start or stop.iiiN(R�R�R�R�RO(RR�R�((s/usr/lib64/python2.7/mailbox.pyRO�s      cCs`|j|j}|dkr dS|dksD|dksD||krM|}ntj|||�S(s;Read size bytes using read_method, honoring start and stop.iRHN(R�R�RVR�R�(RR�R�t remaining((s/usr/lib64/python2.7/mailbox.pyR��s  $ cCst|d�r|`ndS(NR�(R<R�(R((s/usr/lib64/python2.7/mailbox.pyRF�sN( RcRdReRVRR�ROR�RF(((s/usr/lib64/python2.7/mailbox.pyR��s   cCst}y�tr�ytj|tjtjB�Wq�tk r|}|jtjtjtj fkrvt d|j ��q}�q�Xn|r�y!t |j d�}|j �Wn5tk r�}|jtjtj fkr�dS�nXyfttd�r$tj|j |j d�t}tj|j �n tj|j |j d�t}Wq�tk r�}|jtjks�tj dkr�|jtjkr�tj|j �t d|j ��q��q�XnWnCtr�tj|tj�n|r�tj|j d�n�nXdS(s(Lock file f using lockf and dot locking.slockf: lock unavailable: %ss.lockNRtR�sdot lock unavailable: %s(R=tfcntltlockftLOCK_EXtLOCK_NBR�R�tEAGAINR�R�R�RwR�RFR<RRtR>R!R�R�R�R!tLOCK_UN(R�R�t dotlock_doneR�tpre_lock((s/usr/lib64/python2.7/mailbox.pyR��sL!  !cCsPtrtj|tj�ntjj|jd�rLtj|jd�ndS(s*Unlock file f using lockf and dot locking.s.lockN(R�R�R�RRRlRwR!(R�((s/usr/lib64/python2.7/mailbox.pyR��scCsLtj|tjtjBtjBd�}zt|d�SWdtj|�XdS(sCCreate a file if it doesn't exist and open for reading and writing.i�srb+N(RR�R�RtO_RDWRRF(Rtfd((s/usr/lib64/python2.7/mailbox.pyR��s&cCs2td|ttj��tj�tj�f�S(sBCreate a temp file based on path and open for reading and writing.s %s.%s.%s.%s(R�R�R�R�R�RR�(R((s/usr/lib64/python2.7/mailbox.pyR��s cCs3|j�ttd�r/tj|j��ndS(s0Ensure changes to file f are physically on disk.tfsyncN(RCR<RR�tfileno(R�((s/usr/lib64/python2.7/mailbox.pyR��s cCst|�|j�dS(s:Close file f, ensuring all changes are physically on disk.N(R�RF(R�((s/usr/lib64/python2.7/mailbox.pyRx�s t_MailboxcBs)eZejd�Zd�Zd�ZRS(cCs||_d|_||_dS(Ni(tfptseekpR(RR�R((s/usr/lib64/python2.7/mailbox.pyRs  cCst|jd�S(N(RR�RV(R((s/usr/lib64/python2.7/mailbox.pyR1 scCs�x�|jj|j�y|j�Wn$tk rJ|jj�|_dSX|jj�}|j�|jj�|_}||krPqqW|jt |j||��S(N( R�ROR�t _search_starttEOFErrorR�RVt _search_endRR�(RR�R�((s/usr/lib64/python2.7/mailbox.pyR�s   (RcRdR�RRR1R�(((s/usr/lib64/python2.7/mailbox.pyR�s cBs>eZd�Zd�ZdZdZd�Zd�ZeZ RS(cCskxd|jj�}|jj�}|s0t�n|d dkr|j|�r|jj|�dSqWdS(NisFrom (R�R�RWR�t_isrealfromlineRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�!s cCss|jj�x_|jj�}|jj�}|s8dS|d dkr|j|�r|jj|�dSqWdS(NisFrom (R�RWR�R�RO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�+s saFrom \s*[^\s]+\s+\w\w\w\s+\w\w\w\s+\d?\d\s+\d?\d:\d\d(:\d\d)?(\s+[^\s]+)?\s+\d\d\d\d\s*[^\s]*\s*$cCs=|js-ddl}|j|j�|_n|jj|�S(Ni����(t_regexptretcompilet_fromlinepatterntmatch(RRaR�((s/usr/lib64/python2.7/mailbox.pyt_strict_isrealfromlineUs  cCstS(N(R>(RRa((s/usr/lib64/python2.7/mailbox.pyt_portable_isrealfromline[sN( RcRdR�R�R�RVR�R�R�R�(((s/usr/lib64/python2.7/mailbox.pyRs $  cBseZejZRS((RcRdRR�R�(((s/usr/lib64/python2.7/mailbox.pyRascBseZd�Zd�ZRS(cCs=x6|jj�}|s!t�n|d dkrdSqWdS(Nis (R�RWR�(RRa((s/usr/lib64/python2.7/mailbox.pyR�gs  cCsSxL|jj�}|jj�}|s+dS|dkr|jj|�dSqWdS(Ns (R�R�RWRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR�os (RcRdR�R�(((s/usr/lib64/python2.7/mailbox.pyRes cBs)eZejd�Zd�Zd�ZRS(cCs�ddl}|jd�}||_tj|j�}t|j|�}tt|�}|j �tt |�|_ |j j �||_ dS(Ni����s ^[1-9][0-9]*$(R�R�RsRR�tfilterR�tmaptlongtsortRUtboxestreverseR(RRsRR�tpatR-((s/usr/lib64/python2.7/mailbox.pyR|s    cCst|jd�S(N(RR�RV(R((s/usr/lib64/python2.7/mailbox.pyR1�scCst|js dS|jj�}ttjj|j|��}|j|�}y ||_ Wnt t fk ronX|S(N( R�RVR:R�RRRjRsRt _mh_msgnotAttributeErrorRY(RtfnR�R�((s/usr/lib64/python2.7/mailbox.pyR��s  (RcRdR�RRR1R�(((s/usr/lib64/python2.7/mailbox.pyRzs cBseZd�Zd�ZRS(cCs9x2|jj�}|s!t�n|dkrdSqWdS(Ns *** EOOH *** (R�RWR�(RRa((s/usr/lib64/python2.7/mailbox.pyR��s   cCs_xX|jj�}|jj�}|s+dS|dksC|dkr|jj|�dSqWdS(Ns s(R�R�RWRO(RR�Ra((s/usr/lib64/python2.7/mailbox.pyR��s(RcRdR�R�(((s/usr/lib64/python2.7/mailbox.pyR�s tErrorcBseZdZRS(s"Raised for module-specific errors.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sRncBseZdZRS(s:The specified mailbox does not exist and won't be created.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyRn�sR�cBseZdZRS(s>The specified mailbox is not empty and deletion was requested.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sR�cBseZdZRS(s)Another process caused an action to fail.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR��sRcBseZdZRS(s)A file appears to have an invalid format.(RcRdRe(((s/usr/lib64/python2.7/mailbox.pyR�s(<RetsysRR�R{R�R�RMRJt email.messagetemail.generatorRKtplatformt ImportErrorR�RVtwarningstcatch_warningst py3kwarningtfilterwarningstDeprecationWarningR�t__all__RRR�R�RRRRRRR R�R R R R R�R�R>R�R�R�R�R�RxR�RRRRRt ExceptionR�RnR�R�R(((s/usr/lib64/python2.7/mailbox.pyt<module>s~                     ��C�84-�8� koF]>' -     B"