PKYFNKz!keystonemiddleware/ec2_token.pyW[o6~ׯمd\'iNa;ˊ0hȢFRq}ߡ.j;D";Wlʲ/]&ҩQyq+UjSTZ1Za[,te0-2- ^@2DkJc5J3c6vyBnehO!7h, )I&° Tg2B@ @7=bEp:DpR^te[5BR,ˍiR&/,) :K$Om#ʩ)c!\Am+[K:ƭ~+k˳fp6P:>K Jsv;^ק@xD_ԅsy@!_f7 o2{̨pMȣrۖ*x0I l4=aoѴFww3zL<=ew6_f1n`>_F|0R;6L RL&B!Jǂ.`˄^KC,%ki]H3*𼓓ɪcWJ¹UkJjo՚)yҥ Җ˸q$<;gRNWTXE}L'5Vb.‹ʐ}Q@s0.?׉X%JTȓ2g$Z쳯D-eO,,s ʊ51*g9ծRٰ逘BUj 0se5[qox%p=i"hbD[)Ogߏ^R־>LdT.vUd!AKb}Lp`ZvQ*qHTMkR OE]Iztz2aGߤK I=@]Gh E~0h,茎:j^:(N^4J&p(p[Bv@ 6c&cDU ,hQ /hA"73Bou6&FKxRÁU I 2<Ԣ/eӁ;]lGQ8Zj%BJ7< +'\Ƶwt,jXZ 0#l6t':CLeZ6rJ5MEiG% qC(Q{GSw~_@T?i =_%ZEh2nW% = d_'9_A3qPX ɡPa[MlF .TEL>u;aZcGS:؀2A\`ܣhC|7o;qNx^ LYMҬ"u/ɖ'+Se<49NQ@I ٦<Hp5Z ^ *xp8TdU"畯b5+nӄ%)د5/͑ȉLdX!W<ݍHm-@yY|SW4q9ESb" j_w5ers3YYސrq9_ϗ {C&O|q9" $h׼@HRdq@V G$Yķ<]MwVY%ȋIS`ŋjG9KIY2ZĄ1 XRSxو ʪ &8ㄡ0Q9*@Ue5@0'4tٱY:$O]9"+b_H6-j)Ş?ĂlLOAߛyB( t`"< y=O ]I!jI"\ [c 4lI=:O)Ą|x썈/7Kc!s/7-2h{MGSCΚMM݇T=sQ)j{r:QZ'UXY q$zoB,Ne| cu'#[6{Z]t8os0f#Q6ae4u{EΥ32qVO?}%oK#PpcȀ -;1$p ŪѽPIlP9 !aS^_d;Bw)3(. R@.d"ك.ߧD *c׫zyhk=(1]j, K3b= cəA} FjAo5`?ݼٛZ-63컥>l) t9h3G0+/9GV;av M:Lw_wxXhfjC0 zto`g>eSRu';a`ҝgYүtYS4D]㶂Yҗۄ )A=-8x ;u&f/9H}8>ͅXu{seV'Kz6apˊ&gAXlSt {H鶱6x%ۛy9JAV!q^)R4oxf㉺ FQV3iE弝 < Ldm`ua{m:/tI?Gcy+FM8m ᱝT`" ?UHk[} tvM#,[7dM_WvSKJyUƭiL!D vAOY"vܒ{.|Eئ, \HwoZTI~C'~i2φi.rCm@5îDW5K9U޸aUhiŎ!^tIBhU=Ң40yDl\D+dQ@< &>%u:4 4##KWϕ?}PF VI {+,O]$CZVXnVPhhY,[ W,N֓[K=;:RgE1fC1(h5IA gޔBit(gl]~pLtIl~R&XvPO } w q^w0P  ]8<|2HYd&:LԀSuwU#þWmzm3o}?۸- jњ8 s;" l,0]hyA*U ;ZbNyf*hZ }..oFp!8QqvqP#ش3Q䫚̆gg'> zK@ c|^N7JO&;Gҧ IFc;ReNV E9muWU*"AƌIඳg@DzH)fj{3`qoa ! Pcͳ޵$hZJl x͋ ג ޿ "һТ! ,2reicX <,k|PFK 14,5U;EjHMuxݜswp}8쟖ɇY1|U,0"CUq ?m>vB2~Z$vr~g V7wA_SZOַ+TIbwAY}6]+kNm5X`Fހ{LA[5#pt= #msRF5ny.?rx9q*?V]Mj7Wɰ*Sw/6բjRmVݛZva;[]2QMy}CKAKH3 } 4Iѽ[X~RN>PC,H^|(SG#U]ֈaHj*6걜d8xQ,BѰ%3*\r,STeeUx]V+%LY&QۯXH3~0_n_Q+vEnywM+Vy앹]c_ǥ!z:& mcVl]]+a̯nof};oɄ4l q0¢&Px4:~OmmD<׃%e~w#ܩibj>fvYӿY^y70ؓ[| ^ezFӢD Ǣ#4z@})XUxK#I\y#_Vog1`hK) Ѕ<ɎMK*S%70ɉH>`>ukfg`3! PKYF-*J)keystonemiddleware/s3_token.pyZms6_q&Cʕ);n::+=q]c;e\ 5EeYg JK;M}B2O&7xJTvQxH/Pcj$X(#~w*Ϧ*+4"W\|`)hd)rY\1-S.SS9ϋdh@w&XA&.?>đ67RN&SPO_i*Ή1S#ŋPeCf3w=0MKr>īh_^4)z.r J.(H'~fH2.fi"3HgKBA!ҹlY* Y0)Y^,dn#Oک4Ӌ=p8T2o$֑304ʅm$WxWhbx'EMZq9rD&I󢦭=@_2; ѿ.-%h}ꝟN/'\_N~?Oߴ'2dBząRJ2dfj!&s9Qbn qLĐ54) (m5zI4zxC=bI\&juoBߪ,bVWtZ2l^vglӸ8!>$QX }!:ƮA%SBs=r/qq( jΓڰB[w2MFP0?)/A\23`jx/#I"SEx.~*YjӉրt^TO&@uzh0ڤ:FL&2(ԯFgH{ wI-*)ܠœi:IWo+6█OgggއAe8/ ";ٛv5;6 一$bMQc"6"&?-N81<{~<-3ELSi[4(5@9!(m܁w?UCP{r/]v:v>W !]ЖA6֡6v6a\uLrRve;wY2OE6/S3UݣF jR@nڎYlRi%b 4rU Jq[>hlDU(Rz{F 8LPp(I){\9tuD#j;.tUު`RΔQ$W LXggsj@ OVI{Nt)#ܣ:NNK-:6Wb0\e yz)11hTJŦD[J*})lfP}h,34BJ WN{=_t&E1 UBX2?oPJ^. T/Qv1!VpSXJ?U_ Vjܧ;z"8h,QiC)! ;jH$8%%CtHsMfÑyJR7Ƌǭl5GԦmnʫ?@l Mɜs5T4s{X:3 C9 })ќ.F-q6/fZqΛL˘&mG rZDSGa vW.!k$ʄ4z;% kQB#!KH~4;/zJ[/j omJ+ߙ:.n^6d ܴoň 7wZi S=w'[oFttԻ|Oߞۖ#gM S |ed!e8I@$%vwS=tVwmGH3'KnRF.5K: JЏKDra3& Wg1+jA9пH:n+5FzhǞ[IHu8[@*bH}hio{UxZIj0/6{oV޿TX@.T鉳Jcb/Ugð;nVvpʭ:zP’am@J`mPJh $,;3c[y 3vT psu t,9K`$%tDa0n12輲n+8J/vЈ=!HC4Jl(6VH^m9d| BBҹ:ۆ~DTYW!ӏfd:_M/Iqh#=I!Z`!łeSAzV T>8_zGO^@:^AJnWCxkz/:`b~ŜN0?|~?Z Hu2rOAE*%ɗ;Q#!;ТknzWV "3%Ikφ v1[v3Xɱ>-}ŞfyRmC$˺SD*ၟI yAHߟp5بȝ\$mMZ6y.Q˝#"M b>">n5h+bqRB8F"};&[* Kj0(YMg)sDƖ2c1z]lC(ڲ"BRLjӏu|QR7PKYFkeystonemiddleware/__init__.pyPKYFr!=`p#keystonemiddleware/echo/__main__.py-10{ŕ2/pbsdf*7b#8bǔE =ȴNm=;鑍Wԗ8 nPeJ PKYF+a"keystonemiddleware/echo/service.pymTێ6}W $^yE\16( --ln %ߺՋΙù2GFhoƵ՝ wN o;Hء?E7p0 TxhR 頔 _r=H j%oB.IJ)t) __yG7Kz4T^ScCax~Cg9w#-!]@N.VԤ{0"yRL"e)Vձ9|@l <^L4]^q<[N0|v?]N3Ƴ/a:ST_jK$@j4mK\2'dz݈5j5J: ʢd% VE^/zltb1Z̽:0Xo[|aBLi2{~7q[, rimgM3Thh`lCi| E+:?xbJѱ.Z 27NXJpk:"+N!f>&t~J[&N۔sIf>$NF9I.+#!>I/!JOzeY6 9t_.?edq 9HTřh;tE+Ĭ\UCQ-^gݒ #|D*ؔeCUvEn o]4ԥ\7)H(B!+a@*Pp'ݣ$%8!UwI \_W.vMyYg{qq}\|OԻmT&h-jb HiQ$|grӸxO؁ F5,#i^c]<_˻nWp}|[.̗_} HQ$bdYFl/+:в5f%F> j4[iġ*7 `g%Q4 (xB6%r"k|10z V:ʹ*d (lҕLNn/DQzyӣGv%O}{Gpr=bU.~f8-CAPm:zfb~-yqX1V<r4l5*A c3f~ jXt<m,|A7 $}vi:X1$_?iLtSߡ|1R Een<~BA܂? -ص$:lMQ%?$ɗYcx\ q@;ڤq-&)iQk(q1{7uVq-] KK5aI+6ܿ} ` c{F{GvZh 6i\B-3_/t=}mASqL}"9? hՅfnh"-τg h1l ɲrZd!,3@j" 9q꘿/(<C Tx\c)rTa\.%V!yb}uWeƼlnL'd-E#2},Ҕ}u 4i,%KkDDJe}\gM*~P !;,h/-=Ak pj>4=Q/z~#|Re'-yT m?ϐ"9DOͶC?9%'ԒMV%*#ؾM_2kO ב0)6)&.{~sHcR:b~0/ܶ[}cFx;ܞ9wI̲Hg%:"4B:5c%B ) o%W f4o 9|OW i<' |˰T$G?( =j9(, ]2KFbd搔50 AҎQA H,Kj-X)tIchV"\rFoN(KTD4x>D#bdn@Q3 ^ssgsg*Gs՚]^BQKd;%tf c qzS\:apWgX_gAxlXk7V"SpR(hx"y [Vu mܽb Mֿxz;%<)ou+wvUe|+Fׅ}dU.!"՛wMZ",'Xi41 H1N>C0I3(Y*,f7A+Lotuހp$e{JA,y ;X.5.dA“9  ~Qό$&#R5oAL[@ , F2 _>iT@? 1:(d.4~WssfInP=Bҥ: ~)ڊ@_ĶK_; b b4 :~جuAGإ`GW(֍z{YCכ}V ,[#a }C푦+rd Ð@mh##OcBWc'zT; 5;__ga/{q V^g8[/:9%nvl7~Y;* , IJaf@|<kP0/nClDGpS64諸?6<.4[ybuQT' ٘Qn=UԢòJ锩SQv;: Vw+zhB-"0])$ݢAdE'_tCyZ% y5+ Tҵs@C{m7*  ?g1?V@=Uk`#c47$sȩ±&\% )*Gb umX%@6sMAұv|'8<{glZɓp nJUCwa{\6?X9(ZZV7-VaaG>dK:Tֹwf}ysC zs}Vh)\ 2nm+NT;_8:@sMv7,j[BHU9<~ͺ5^}:~jLGPKYFsIi [/keystonemiddleware/auth_token/_memcache_pool.pyY}o۸ߟHps4ن"K\rkes(þ7NܞP__Cvk- NO^"5WV6Q]){GFGCLH(#bVXhf]^V!wԆ~9\]_bJ1LϥufA̔Xk9+-T13ybW\ X-gݐVM.blr~܏ه??w{v]ݾd\3n`,F9%38,-7 Nv: H1ȓ_J+s=vM#PFK9);"{䅃fy5EfeT>Z\TiZ$.D $zQJz:ְAb3 $p'?xc c܇Gs~$\]Ln>ޤE@#]!6Tp8+5as {жך$1RꊃgGKmΪ @?!O}i2X"= vQ6z[fPIboNzS7w?c ! n*t0RȝNG6D?+:T8:!DsxID|u; @\}om ׌+dzUq'9%z <묰=FaDT.W֕{Mq~el] ;Aful3[x2R|ۻ +plzIVm yžGkk-:4%~&?ܲ\aKUQ{@_T$v[Nw7r+j7kJ{;jRfa^ v^Z7@0ݼw4: -/W ZfsWP"7* 闊8^Hu ځ鑧6ۨQcqN>yl׾PŀpN-r`+ {Ѽ'_0{Rhe]wNH!dbY**KGj̷l#Nc5tۛR%Xh ׅf \-4aϳьwt|)X]ˣ% $ɎOOrvv|zMR˼u_;5T9r439n(Ml>2I& Q@9usku7lP *j4Rc7SOaTunulr3@%Ha,Mn cF/g*cRc^ԊܢtS|bI*Z(EK 7nɏt7?\lgqK3`XT22 d8z'^dK`DW燝8FJn&GR/yL^*!zA.M݄X8@0AtJk \RI랚u&oi:Ek$]c핰 'Qhgp{]nz`D 楦tZ_/~s\6"c:.}v{73"p:XO)]|?𲧾Xs_,'hbh'v'FU7(*Dh= u[%NkںrI?+ofQ„&)E뎷Ewc6+4$hINa yUA(A\u/PiU?8o$C; p"?mT^nEPKYFt *keystonemiddleware/auth_token/_identity.pyYoH_QJ+֙K8!!;EdD۱qm_U6d&{c)]գs! }pG?>X •z,]:2-;t!őPH(,81),@>i&Bp>`sh //Ìחݩ.7b+jlh€+1O"b<X y d ls\ӒBp=%Wzb\|t,]VB8/`8t1y=l9,~7~o0> P bdG;diR+S`%B*X 氖;xxP=izGNC9 UzZ@u:Xn!PPC%zsj .XZv9+]5%d SNsBq]P٢j*ۙA j 8Z>0p?8))oG^ Я)zt:^͕^i>7ӡ?,?' F0C v+p] =ŃϢ$>wwcr="R C${d3J:RG@'UHl?( Պkoz<.%мC_NznQk$a?_M[#Ve&܁1v8|}Tsc|FDꗓ݁eVP9;5r!'f%*>\'qXUH(YsrK 3!A5e·IIk~ XmR~>wV]5|o_^vYЫ6Yrɤpò΍(b2~],7wF \l52>,Oͼ6ggg?v'5Ak{¨ai 0q졗Z*EͅAE $4*` 35uaeeX"*bkiOCE* hri\oOVҺMahy= @5R\qtB^ۅT?'БQ/Uv}HM>F8-U)lv4`b>.1Z$G^y^SsI#0-'ͤ_>~9}c[?hs@("d71 lם4bw S>bv|ͼxx:ot/UoSzX~O%67Ia.c! oN$vʩW(*M^2d͝1ZR<~ d֯͒qmO5uOe:A߉yz'dvm`\qoPE~U+6 e3-QeTV%j9wOMt#U7ձ=n"K RMJQUøgf3U1g a9ji*h)kAV2]SxvL* {IP^CK~M>_U͐匸h+K~:F!bA/LXeIfmJlD`L)GQo&5E@.&0KtNúWOԀ>7B![E5Խ"H{•4”%Btn=78 c0M=cww;~.z cc6;/8w^w&iͷ96B}k[z?], ~)[6iA.3L(3Iu6MȰ7>qRð$gSkZ["ݪmnDVezXٶ$ah杖\F!Fc˼-f# Y O F2Cknx#1WLG1 ތXP$o:[]4TbvEm68 MYKZ?Kw3tR,1S3)"V2^ YY.?I^nmaNI&5Fh5emíyu2%c3 Pg~DyUܗJSʕʳ!)%kݓ^}ژOIn+3jm6F~ k;$|SnM][pDj8PKYF+k H0keystonemiddleware/auth_token/_memcache_crypt.pyXmo8_Kq:JA686 "DDdKRq{!%N׽ˇÙgә݃=s$*:܋StGWNTnU*VfJ-dJGC qq 섥Oа*J1+NVAb3%cN\$|i'J,1AI ߃b$%x4tl0f-Ne,ָ0O^r߃k)kQJIFfr) #(]t>[LR-q6M%ss6l8v˗˛A(fpu qv]|\wR8F=. _hЄJ R&L o]DOti)JLer8$̵hZBKq:اnQ}u: s5O8ATՂ.{=N ;+ 0eoM™A'lI,h&aH28ő+l\X`R?P (ŷxk^7:*#%@y29gSFcIwio]R=m+Rx>z+BbQJ'&G0S `7 ы3+Ҫc]^Y\&twQoQ41\ܫuE:M3E\Q{7V'rfuQFT AY27S kT\ˆ(p60z٣dlg|?}_ V;NTY7JvxipͭhS{+^Sa8Q:kmmGAEQI ~ {곓i;rŠLIna'+TAI%rxCR4=:v3X P5B GC(*ڃ>J(ck}9CW9i<_땛|ުj"K7i: Zy!I⥑ 5ЭL^_6BPLٽ~O jעFbuFX Vʎ|RQG欓9=W#(y*48<|E*hrٝ6a*, ׁ6ϊS*b\HE7tfʯH(hv. *uITOzr䘂<@3&PLjMbfFx{,d8JL)?=J[fX45+ߏDIj\+T{{џYnM#ymYS()V:¤6ӏՓ䮀!d|5rŽw(PպY(c#Tek$<( fA+f*XB T:gdfFF*ʼzfD>ΠR5y{9ވ!>rL^]dzqXI=,XfjWL/j*YmReNRu&VC[9G%rW @O44v5ړ)`5‰AKFhu*YԈY%\S$o|@<}ǪX*_8}ě:o: n?{ߞ4]g#wskɦ84]ksr[CLuD:<2"cdS9,_WhSP^P/nv+׋ڹ:yFn^4Yr[iuzh:`$P]SqV$.7O?ƥjż=' X#E/֜E?&h&,I9YzHδ62("ʁ:IOS.3 vOpըfCӮ YSbKğ2`AuO$8| e|Vj2?PۅWēT_? ʍ?'TlꏚEȩFN&!]5x:U"{7&F5RHI_iMћ_mҭ}3yO$HPKYFA -keystonemiddleware/auth_token/_signing_dir.pyVMs6Wlt^2N+e,O\J)ȚL{w!Qvʃ ox *C0т!\T2?Nuhx[Go2 Up xX8$P%>gXyP23J%uT~ViARxh R.XS ^Z啞&L"y~Z=Jo@.&0$[º&0v8'=2ZQ|,'y J3@aBL*t!S tB;W^+/=^RiP@c=f:%ոnȽ[{WSAPX3'\9o4UMτ7O5`vza㖀}0S״D  JI在)$ycWyJ<Xc9 9,ܚXqJ8T"?hNm4Lq+Xb ¶`]t:"ayv%:uMRa&U0V*\9I]uZU-&dh=+Kz GcNjUJa;7=DUh'KQ{cj3XݕfIC^0%ՙ0{ͨ܁/{hǝ|tq/W9v4!tE}j OF oI꿦5u…/N?&ZқD]h9w;\-O\L*P'=>å*ծ-+R=*Ҧ5LEǽ"xS^{3Eɕ&0׋"עjQڋP_Lomh*N){ة8LVϻS_/FY.xƥ,a 1`23C[j9О"r 3cYg8n*sX,i$RpI gd!ܓ,L]>!+?Ja x٢K_?)/ }2= K̊WQsA5B옪cn`K7uGfPEG,罞oQY^ʙyr Ɔe8F Zy|ПzBOi =Ik=cQ3d=b 5zj4nB!S1PuKwGUv+S݁:d+)\Zgj]W;-ًBiNn=\w7%{Wli7uΒVԧo1RfgoMs(&ub ޮ(vn ކoĭm0eWs^63=G5"o1x-{YZ!zµ};p:aA5"qo˓E󥭤zfoEGG;(^uh҂r6'!]٪(MSp5^|'}ЧN{Xy*-tSaw@>S7m/|FqO#R#)mxǔOPVqihExD@"׫VM-]sS/ | ZIlѦlڿi[wateq٣$tUazWiz UfmRqgɽ,{iEG -fYKB5KOhKzGH27Pu&G$i- #U;DPKYFs }I&keystonemiddleware/auth_token/_base.pyeAo@'Vrqch6(T')ZÀGdw(`;RpY{olCv7;%>My57`o @j wzE}VewldV{:<~;r9cl;).Ze؎Bf`zV1;3y֓Mga.\#.5俶4{e,fIgRiyoJzH$+U|hQsZtdTh501s r 5n Mj{׋r>lx ˕Л%;A~4J@ZaNȺ PYB'lQn)zI+t|>>gl\2SL *y1(f(JCj$a1܀yU؄-1:9S J\@ոUZ 0ICy<շ "&fNd+rƎ'Ѭekq "oGP*oZYA%6MFFaε~M(E A+9YOYA,+񧋆x&ޫxҼ5R\kkI b'00$>;gX/Łe Kۛ8 8vꆍO@grfNYl-KAT8 <靟隦'R" "~!3o@aq R[ Z'y +4Z}8w ߄yWؑQa+H0f)^Z\ SE'˱Ďke h֮O*{uq$8q$,-DFΪ2#7jq |-A^P_đPc"-6|{ɐ;^^#&1!޾Չ2@`_VaBߛ =W o^O(5 'ݓL{eԂ K9Q"9!V=wltp:.1IH)X{'If |B9AL>9Gށ`] I8ciU&SOTS~WZO,[]MmiI :;hڡQݸ~aq^]d9i"mf g#JH3֫V(uW퉶-C|2tv]w~aS\K:O5z㯂>߬C*B`Z/'7`fၖCOLy2:'r\^t?8 AIֻWPq%NVA$ک K(UG ۂZ:)t 0PM@Ytc(!÷]cc`ؘ,T+OA|yO]/+e48% diN@ڃf~Xa/Y"ݞm1蘿 "-U)p;n{wOt[6g{t,wdZ/1Dj%$9T8!".ؿ`0vǙLt4>L,W@o.4y,0adOR(`-vrr^j'8*2fѳW?'k. Wݰuvg( D AnЛxԄ>HpY *nEk*st#V;j.P*Cu6$ UA?"KhqWj-$?c5/+@ * !лD:Lӂwv~qw ~F= )D{qv땨 x 3xk:|ΒZn?A?;B'#,}VV96Tm+ߛ- $@H){߸YEpފ OZ)F<Tͣ[; 5Ĝ˵-w_`kf0^?ܵ7Z$ќa͑#8|݁Mt) =*mxLfސ[T gIIIKIydѻhF돟>,GNGNkU}BY"S1Zky519 ת (`25?f քgdG44sQ buy}B2Zi7OW/%5^ɍΒb4fqShۥW69)%7Aw CBgE1zI>vMy}}0,GQGi| iwh]RAnkz|Ǘ_ZUUw^ 5͐8I-qVUnwvMV9%PKYFk ({)keystonemiddleware/auth_token/__init__.py}sF+R@QG.wb)2Ŗ$9ޜ7GĐ xHdsǭuDbgp\}.Zu<^<{M:y%~ePߋb?d$ /A¾xEl* *XXAb8`4  1-vA\g. ר(2ٮzfr9} JߛJg ^:xHf.( ^+:͗à*..@IҪ.٦vx8N.nIv0>L~~|onr}^W??N^ au%@H"A ᠰ($JZE:&^`YlEAZ٬d*I6YQwrrһ+D~6QL.61J+",PHD&4r] ()v9W MlO2eHeeDLN3 RXcm%CNJ@q+ x"䬞z7bs_Օ** كW5oX/=%.i (oJ׫ bw&?(.]88TLr(o<=dL%j 6-|qr2K)0,V_P0s'¢ `Jzrwnw?z 73A7pr<o7?^(B.ūMVL;!rÇxz>YA.$C.5l,0kJɺHjlA0OZ z/;T& hmQ&iֱd|0)5^Į3RRB݉ۃVJKPI,&R=G] 9J?H QrG^P5JD]{Tfxm BX=8ІLɫ1ؾwwoACI "_J$!pz z!ە? ¸AVBHUވ2RaY1Hq妔[nr$*D%Tk 1 -Lm㠋rр+mN>Zlt]Gm E8RdH9[Tyx\ d -y_cۋ`b~B&AWq^zi)ρ&ɗQpfR/iy1gxf@ .A}/ v`хic/| 2IZZM ɓfB?|مCy(Z~ Gq}V'N(0!n< ADFb !vY9츴I7('eEpTf%L4&J*:YxP mAmt楏?9/{`OwGΎ^.x/AAׇZh?ei]f¤rc 3*Iqe_N#`+ b)kq |YѫV,syqw{ \g2n3g2k*C_˘f ^,P ѥnlt#KՀ`ɈZBi-eiΊZk X+3^9Q/i*Đm,R%ɏqn7<>r˥bꮨĉ궢Y\.ş]\Qىal!c~ 9Go4gU@n|:Ƽ߻ŕI~%`d|M6n؅AyPVY DJ*p8FA^RrfZĘTb(ѳGl;R{Dy&],;(66I3x(ɣ0z˚AleQK`M'3(V +96dk$ќP91ɲ^+YrMrZixVl)#I ؜ -@ّr%p?l/=f abHK)^@ tpPlVpM=f?dM‰xޟ3X'\Q%(O~xaȊ8щF h `KU/ $.9!Og2#:%[֓|TahAÞ`CObGӧ^/4g?c Gb4KOR:e>(+D=ؔIlozҼ₆62 y lro2tlqw&`ੇ(OMLJ/>.牣qV[?} TxW #6aFb2@ztQxJ)[uV?x:_R,p/Bha9SW[w0qQXtZػ4ƴ+cLԊ}T!Ԉ@`b^\)17{u~lUP\a`=T.C۹.D(ce v0"= %L?%KA5bQ+{$CC,jnQlZfY#+Ѯ_p:S)Ftd|M 1Q,NM 1 W- D;roUl%-B`7>m)ZK6,R?T;Uiv0')VHj\dĴ7~ww L-m]^~nHP>̄qiz~Rd{.iލBj^cϟ?۾?kv;ujYAX=" <8:QI)ᤂ<]fx߾w^bcbw , C?G'rU#p q+mȼW yI߫(*:(҆MR5'@ԥ)uYQ9|5eon-&-}ќܰs0X34 6P5O-B9oƗ:]şĴӞ0Q4hs td  "`z.MZ |)3ާ$Qe3Fetu=ĮRaa)ȥo(@wiˁ[t4 U9h)-Vh`a 4#QJA  ./*ށJ7T./i[g#,7sF2YP9U(w?N8m 1d*'ͳ,'btDXA ֻ zh>~p$6W,Q5"%OP̫y4?|W%$uUy,MTI)-.tH$ pֲMPztɻ ;'䨶d*ýFJ'g*8NhFX1| *I+l%CVӐ4Q|WJk:`skdⅣ> 8M 3xފ2 5UZYPJ9`!EL&@Ŗ%@h-JJsqV'$ e lS_-.;&Wr9i>3~[2 kB~K>Ob3 JRx{qW7?D~ZX|{i~q* 1p:9qGhA!Ya`2P+Vz?Sw<8|{v?b=GE 'ʐ8+77!ZԘg%s n#7,PMTz5v <D|k²ΕVKZOB+&m[r7'*ۗ(^tUY۩*K֎ϒ}#p8" , n hv5n#/c8>NǗTlZng*RNHͳBM(i8ty$#gm(K1`8].<; X93B'm w VMd7!4`Q| 5?TB ,d!EP鉆Ei*1'`?9]mN=rAFxuǹh;zgrKˊ2{9d?Z茿?@9EޟFa1z>-z>3+pgx)cpaΘ .aҙORJ;FeshteypQ@rxCƉ3DzBv6.K*R*D塉m=6 ̕.[x!Qp¼>Ac֎{ mrFAW5☒Na1:x`/|h9\%7PDWR9?{TZΥ>[Z*uљ0ŷ/O=Ͷ/4l]IŎ.6QEl[4:7^: g"L#+"䉻\S%qu?%fWEp|E10Ub )D83VFџQ 0% b,CQ5ͩ ?_#MkL,Z- :ؒ*TUDjT t%eVWdeIfx-L۔TLR̩BO@VU5uɎT[\0rJ/[pPwMihIɰ7D DHRG:7F1ktcw!؎tٯ֐_k WIǡc:`i`9"D9CAm`p)=s[pt'F _o3?R,`ܬjzF _ ]%P.yhC.~>4 =,pw~)f:K62P^Hꀟ]ví!T0j#ު}XE>R.iOT}NKP Sn[ - [/\ݜ![)Ыi ř`a'lv߃t4| =GC;Ujr]Wb}DP1kh'=]t; tOn_si+~5Ь]Fjg: ME3^~;r%BY}:ۧ7X {%!5y)c^;xI9C%n>}c/Ntp߽ܻ~Dt5)MW& S^٧}mhiQ;FY VRٕmQL ZOӒv6 *pUPEtg>g3J ;0ŭ,qLux y\0dM [].W(;vJ$e+1Zc(8p9%%rhm!^JʢEjW dGZV#hXN1h:ȩ +t PY>.J}ZO}8|L 4( /r.nR/%YOçߴ<&e]ovwzN}׎Ԅս2Feq.rvwOU칆~D6~Sn_շFkOhk\d^ćعh<2,VEYgb΂{dwfh/#ckf$W^Eg~)*,r*u:tzc \;zZRt_[Qasvq\ 4@mrئq&C8 tvA};YiXy( 'PSw8ȉ ZKf2S2VpGE 쀸<)6xo?ʛsMrc<%j^S {lGhx:֖c C5$h >bSG9nXG)H\]^G:H5sGeK6 DrÝc(> g;UaEK֎a< L57K.ڵ$,E밹iMNXWK:Toĭ4hw2!w^g`xLUmg:OB O 7aAK\uա8oEh.MCzğߍ̆ #e@aA.EQ ^0GQ1]dg2DDUBpa6w~3~ ^Kf~%4r~¯z popPEG= 4I P|GuG{p$`edo, 4XdMB!ruKtI;´'Ӌ۫7o=ǂ[k:g֬ &˷AE4Y7AsO;'/e;Z$%Π5mo<"LjC ~u\ku!ٜ%Hv*̛8m84-U'M5(9 KAM8F]aDԕqa;ԫ[򕣂kUV  Uɝ'J^T/znWKDĪ-MԞϋ`.KT.Gyd\bDx.Ũ0sO#KEHTƐ,d"Z MMrJebu@H@`Y@%IpNnM{6w>W?ϵmJoћ%q_}>{ҵ_N7e5OM RhmhYzJCOyJm^ܑzy2x@JLT?F is %vNJ 4C$y-Kg4+C"FjuFjStMӲӑmrmTz RM aǺ Sҵ7q:ᰩ0_s|Ǩ70ƀTфs<-*xuZ'wg2!sd_62eoTطTy+%± eZm]_/H퀹iUi4!Ǿ|%C7f>t[͓ёo.>OUx"ȃFgtX/sf/tr7;9gj^p01CT'޷;!"u`RnL[ߣ]^lG.FY%ݼ=+^`MlZB;NF j(6|Kȷ{|EO3n4@nṴM-#E;'TySj]p4x[5Rmc47zK/Y~ ݒ!#whG>-ڛq}Rf/-hnS -V qf=%S>WIxѝ~1:%m$ѩ>I%€u.Ⱦ5}<ݺ7չ܎سX0h. -b{T)hL~7|-f:ҨggfҬݷnۭzunyPKYF{ >-keystonemiddleware/auth_token/_revocations.pyWnF }WCdԫ}*F6{X0h{6Fqb]_"ix9$9 ,d,F 0ED H:* '2e0H&L5܂ RiHEGiMe$/ P[+dFkˁ |zww<JR-w|44[HMnO r-LHgV1ࣖVf GX-dGA(_"l ~ |oX}ڐϳr3X ޯjIo0[~?@\3~)9F4êT ɝ(l_=^(Qp5 !;Yx9TB,,Zb ֯xNR$?g*Fei Z͗3U2Ъgl%ʀ 3᧳煋p_.H1 ǞE?ዊ,j#;zLqxdV3&s1 e&mE KĒ{.I##i2J{R&QjB:;&D"#nrD?ItzIK痞RR$ %̵IlIESu=+ѶJܹvSF$3+ЬY>;ϐf* 9[$WvQ!7` +73nү[? vHh/ǵ8Yf:;Ŕ I+5ͅiip 3wE*3qQ3^}.[wjw^,NV^xա.fq|m*}@2EkQ^lQhK,'hgrVnTݫv0ѻ]zUyD^zR{j.<#bY\4cPKYF$keystonemiddleware/tests/__init__.pyPKYF7ٖ W0keystonemiddleware/tests/unit/client_fixtures.py\msH_1|+Wq.ͦR46~=# W=O9gzmfZй\;ݽfKbM==K{e3m+tejr*qwO`5x 4-q\ GD5Jp:Z5 YV.E9'|C4{z2{M£>U @Fa ڽ-߾yc&-o;wo>J> 1㹱uC2Fx iX1 w{M~rLϴȵ ;PtS]y1m/lSn0 <0od0)Oxt!>]3(.mPAH<i 2l_ wI405uwُı`8hIRk 3rڎlw0y+pz k׳-Xǃ0T[dR8.g ۝ۊKͿ!џm% 3'.GhĵWc:9 y_bM R ?cե5E^(dbɉN c^q;g?KqAjk_~y(soOhċiM qJ0 O)zIr"D nO,I[yk Ģϲ|Sm: 9== HmC3OjC4vUdfoӥ߭f;dn0΅ KbY3E2x O}7Sʂj6M,OQ?v!3 L%?r> Σ9SC&K+ZdWƦfh+2o}Pٲ֘m pHW `!Nj.`m }24T;7+(-毨$c{fQ f ̍ B'y4( 1.5G0N&:aw94v\ nVϷcsMݕu=d mȹdh|o*6^;{:]-Fx]D@":BfߐEa<]i r^yanL4CDny}6?zx\ fx8A0x*lIyAdC~D->n` n! vL? Njo s1qCʫfTFᅄyl`|`f.)YGH?B/W`eN7哀2Zb3 @, nۻjr6eq| wΤ9c%,\TY_Lu:e,rig nI f{\.d/uΒfXB--}k~a,&^XY,ǶER(.d>*>#C=7 3' Iyp|2 $7<Q'zI%Bliňd)2d)4dRl!GCCSB8lf5ԉ: ot;L1]l45x=O#.3s'?(M.U㹎f8p+Xᰦ|=m)Sv(R_Ω|l߬| &k ?n?ȴmi3 U,I$9}S cQ[+BmzGe-M-PݫX~O,`[!^>+0_35m.cpQE~ suz=:*5FhA:!Rz@[ gR9*H/mj˕:7di~ ũ amB ;dlL \g:x9O^UX9j=W~+1R$=RE|| _Sxα-@8Lcg?KF8؋f# &\IF R8] (g@q'el^w%r3|)j]}W;FPdj6urHIg?U*E\%\z`:2u*E I#HDBA" oSf7P~| Aċd)ռ9$3ř.g6RH% 3aPR%:!q@Pd(TbArX),(#+h2k.ԼڗC#ŭzzRF(hzāÉTOW)>CZ_' ~9r\, PKYF[[!&keystonemiddleware/tests/unit/utils.pyWmoFί!hrE@6@uHZwkېN3̬O>Xai}0JO_ T\zv.j£H!bc,Rd+|L4|%!g6F3[c$ӭ+>Z'n '4rz>-'?buR {%},!d>!!ہIA\x%6z$ZCWZTגWT(},h e>e>OW̯Wb1%p>|FO0}Oٸ H#OHA&xD\c#,,7ܧmʶ[q2 AqeXBqʹyZ-r+PldxTyچ?ϑ$PFzBBj!W$=g R+Aˠ]Mx~51 s9FW#bc* ?F39w{rj2<!VXW&3+wXZ\/ l%SUv,dj@s\\yM{=w6vvPGaSn>*%9YPgUݽz4D}qa4.^fZNsyɇnÞ:aڿͬry٣'nF_;FKNJ ?{ƒ4qkdr,vAGZGsS#-N$DJȻwpo8.'%*z}=0CՅjÙ[ AScHQs_ZiLydY;\p40M#f.l3yeJ_KW:$gÐ4Y&kp-CahϐHЊ**-֎+^r|X6ʼN0mQ;:~W?[d4UmKqO+ziBFNtlga:Y-Y<7 V(XuBA[ Y`{XO^AM$4sks5 V\~'Ec[?fZ*f̕^ L$c_>Rc,4vq(X@C4,VWs5au𖚚w1{ AAT K̺FѨ?E"?:TE̕QXl2)H1jf'1c5+a*uFSk%9Xۛ2שn:^oNV-"jyzHʔ4O4iP7:U!f\N gx,5Fo9O*aNjZ|-IMZBW4C{7)0;^+2oEj^ь#?^d%G`""?MWRlɸѫ?PKYFħj v+9keystonemiddleware/tests/unit/test_s3_token_middleware.pyko8ᢐ r8 w97qZݸg;+r@KÍ,jE*R)qg/ȱH^*z R ȩȓ*.Ƌ ,,$eD]2Mi_J2 d#.4fd.r2sErɀ$1#6`"{g+X'1d췜g dNh tl􆈌i`M d&'6"R74c@%Re|J@hEH$?uGQ|@sw8잍 ?tϾ6a+؆ݦLr# =2bi aH,@d)#SqͲ!)f\5%ϸ ҊP^LQ&fDXewJ _HrcY"T w>J܈ߪ<#f~qWґb IpRx VW,!] W%x7XG7X9Crƃ3QXBe蝁c ; `Szźiɯ,PCMl12V%G$̈́XhUKbD4EǾJG5D~ ^ŠGmoXʺ$x>rĬ%o!u,ߟP?QGcǽ4ǃB:˵GK!i0ĥo|z>t^J72\CZH鐗ĭXׂmVca>ymgIFE311L#t ov$CATDÊ@Ux$`V?JtjL(^e+M 6duj5оy\sIu&[{_[p ڀ@V;!-ca@u0n֣EZ ZnZ]ZR"wimDȎy+Q%L i"2]J cV'V$, <~*tL'2LdF0,NEW,nNQ?FpJ>M(g=^Q^4gpMWA2U!תgFR%:%Բlݣ(jkjK7FiP<&_@ӀE6M|ׂ EébxoVV##GwCPX&ݵ54h*"}M}$S6ۙt0<,%vѝR RN׍l@NمdKϜo2逹0[X6Qyp2?!lkPrʩႌv7Y9nxa>K[W%*@zVZGr՝:j˳^;Yd^2 +|YHJ]p)O)xyu7 ZI_s21]Xz*)p,9 qF (װ@GbmH^ڮ[8o"]8xE~\|Ə9VNQ$`]us<Y@-/BAй?"lbn5T 5ݶGc1CkE]MpPV$ <k'ԌL.%4N{ Y+צ_]ST h+_Rl\10O-ٔ!w,MX Rh,Yp}k Crnfxx(wR^s]nbA7MUI[ 6?8oC1dS5zYFńjVO4F}dRmeMD8oWw+ -s{RwΉw=uhLHŲ0O Goχ` MQC,_M.'jC1KٝvGv>'y|EJ%Iӭng=y)h+ʯg;5jZfaaG߀/ߛӫҟ6g ]y~m]>м¤:8R.t_2X ׭WW^:=(g8x>'";i]i+BǢ9Nx{ UVX*s4 Mؚ-\_ux nYȁC[Rbkb pOlxk۝A;Rz|U#Z/M*kNª٣2fYV"\R_<rcV{2{k?PKYFI{;P *keystonemiddleware/tests/unit/test_opts.pyVMo8W %UbOYMSج Ţhj$sM*Iq)JrևDG^Ӆ}ҾG޸~ÑB(׎%x#'O7^+b{ :!HH R:Raaj/:hX^6V'{CܖT3u$7Szo<PKYF)keystonemiddleware/tests/unit/__init__.pyPKYF9 W j6keystonemiddleware/tests/unit/test_audit_middleware.py\ms8_c>jp[{Jղ 3m& dؔK؂b[^YCM_Km 0PSխVױTlqTs98_ oAXsH F mÜ,AO@Be{ Y7kN3\,;̞aC ۵97pZ~tR o0l; m+iRhʨ 5LMnә/LlM˶E<"R'P͓19%"ɄNT8k[Cb*Z6?::2 |Ht?bE0L8 3x3n |PτZ t!u k,]S_6'MħSގ>'yw V{MK&c t.R|»WFx<4m2xm|Jaw˸jj!> |LL5K7s9Nx Ao})E nֺ\*B\էK0@`u!߁(Ea(,Y5z{Mu%!8k`S^Uܒ;) wiֵgLEqgF%#[O317 VYdQ+2ӀP(l)D vƑ&n,4z1cG]i\`MߵϨ3mtD)ts̈CV3|1C.9-! A;)n:P+ Vk-IOXL{j% {pR[  hhF}>5_af7{{-ii/C8E`u$$4ecmO\DR"N3ad1r4nkHq_o-?hl`{ ,=I2 ᆂ&ͭED}čxZ؅ov4HUPz xDn?E2B=^IEpHK,(M?؇B3B|’ 'hL5]H ]@ g Dl[pLEǚ)A0ط 4d.0dJߨ&R֙Rڙ`^O `S{i)P\Qd7LUV*3u&]%ld:[3e_dMjRv4SHWvP}%Gv((zYG66),w,FP3 FnGSA'鹼k9Lݵ]cS.;DrϚ/$-JTjdZo9Zd ߣBk]7 j']Cf7ԥrsvQM Wp^*Jv\=P'ĩK+SٖguBEbPikx\nD@z.0*v5*6 7 `I}bQQ4%N:-~D+=MԖ&M!u?؄4dKQ  sYԡ[n$DۖVrivIXU% u.W)UOx5t 1_V &Q3X PA i@m\UUr|xۗnU=\̟+{Y?F!s*Ю]Vi?#.δv')d µ 9sf)h#آ悹wtN0xp (5D/-u>p`X%f ,b3TYV"qVG;BBM 6sJX58-Oe}swBɮ.W=ȢFA)FhEBXX^ZԤ)D^p*ɪsubҕCDA^O@ ex@L%˅d^m60/.)|6(2S.gjw&7ryO!%4xG賸d.dD}cG !JUfR|aİD ucTDon=DBThDAZW7d'KbJڛYx+/7sf>V\z)nR #.tmTG[e2/}5͡ CYg< q׻mW/'h63{TzYuV_yE"Ut8Ԏ3E?,VbJ;}TCwqV-k4aAՆʈ(jJY5zi`+a4MQ {v'*>a%KCisiSE=ÈCd֖ p HC%xI.ԱR^^".wӓ^峢t`[O'ez5q}07:kҪƾ)2/x}sPq_'#J[xO0K<ڬbnrx+h9Aά'2`MW[R̯cqSYJuJQ]--o؎9q: %}+J4N*:JpwYWu kɎHNѥ3N> 5 CLLxlH7|NiN hsQb61-_+ziԹ7@kvJͶOܢX%źGkxA3*l1&gvj鲄+{$~Vqh(ź(HWH Yhͣ]w+S*cۿw+~>=wPKYFWAkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyXn8}W Ʌt>eIQv HJR`CFHŮXpID 5'h+=I9C[j|;Zx9F+J&DSDVI ]N`4^ p=N# F袇 !Dh8Cc#a<$) /6K_S)^"S6:ؐ HlJNg*xZ*H@BN|T a4 #)"RFm?Vh?` ht=tqLID9zL,8QJ$Z@"<oo]Jj䑕A͞vz n'@U\d; VG(h\H=tt d uΦtqHD^zLczL4;\_k:{_~43 pWga s6Rrc\{&;"B2`Z7Qy%O@O  췄X)@5;eEfj rъfk.wW@ܹ ~ 8N֨K?nn(yΓ,X aT*F}7 _Lؤ]6J8  & h XjS- ^0Vhpks]cνѶ%߻nc׬oe{C޴%Lx4J7QkZN^X- }GB};V^ps/y7=ovz'C|GT}FEx UkNcL[gRW2_(.]Is 9۠ LEabQq y0ɨF8{8/ҎꬵOⳈǿJ7^dl8絠=h!IOqj~1`hJ* coR)'3}%kj8q"msP㧤ɜsS}w!RYh³PKYF)3,X?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyWnI}+JV.zqcː,5C-ݓ1˃ Unjj?߄˥ks/i\$AAXl];$0,#00roAHp.Rӆ2!#0*>Ml0?skrfmgG^$l]OԾK Ƹk`>z1%( l9YE/BZ`.D8[Kd0}LAg| n"` w7_<S*(|҆!%nLU+,`33ʵĸz! ؠBXfwV]Y-JZnU3TJL_:xT/D%-Q}ٶ!C`[^ʌޯy ?{=sgtoz#*e"N {b;|%e}dÄN"LtZ(IyaiTRy6០y׌Ig,۟-N!@qnP3I$[,Cf+xoэ}>.CA>GRL!,̆&z.͸l?`PD$GQpѷY9/x(=XpἉJފi\dxB=dKaۓg+jrEu&VbR \dy*DZ=T+C{xw. Wgqw< C\" np ]>i-nWĚ-J%"5(akUgYO MBH [Fɒb)C=2E!8^#KzHо|e2pt}X,f}3w"sL*_Jyz3nE@ Hٳ<ˏ.+SW&}فpIPKZF(5B>~Fkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}s6+PɌ?{wysmձ30Dɬ)R%);n']$?ܥ,bw}f$^fu2A据W"{YGk֞YGȏRl~be?FMz')4v- WϺ̻HQYAjMз#YAd< h[7AvIp a `VDngyM~.lǣ:q2}AxۄS(J?AkZ&40лe1N& v4d7^qfI0\d `rY?X~]3Y7NNYzef?>Z> ??L2@_ZAMdw " z`̏,Β0cga|(Wz@Չ % @>| <}36mvG8無?<0AiZ.Bv%\~. XS)m)^$ksi2c!^ %/.9ߍ f)-qC:g=鿨m-4ry ko{rO%Ilx!1ƣŜ+`f:< I@ZIS=hӜ{)kf bۼ#[Z82fSMsD? YٟW@8 oFhwGG'oqq^%Ќk0uNꇓ7n4"'m%] [o8y ta/pҗW?8bI^o0"$.NR,K2j,2&kRDz.pxQbNP&ЉMA5]ZNՓ:#:aVpq^ Z{[VC;Osi݌rWJQ!$>"+ 6bJd4kdQ@N[wx;xW\=UÖv2eۙa~x 1^_4<| nO2a&BQr8g￿אk팔ЩI:Cs_`-@]zApȦ5dsDk'͡I)!.K*M|%A{{!,gzHFBsZQA;8:AaQ6+TI6JTIolsu@УL?H ~f-K4#򠑪b8(F2/~٥Q_9Y$u 򹮃cP&hDt/Hs)/eQep`B5oAnjGq)#΅NiЍn92q:\iZ,tAO0aKWlIOsE(9_$Snֽ-9M`,w|?x8Bb>j00S>-H/N2d~b~ֻlNja  .:3,Вʾ,i~ү)JZLaƒA`&ӱqB_߼= qr~z۸_uo8EȣQw5~qG'a}zwp"o^좘#wԂ\7@lTktqeз1- 7?D>ʷ.(c6Mbҟ| }QcF 0(ZһfEfxVI}j" x&y& Q,'dViҟ%J(FhbC%m쀁Ideaî͌r=Ұ/xPw6&m#> ֥ĤK'և&d5 QctAALzx-3v䡋ö4zopfj` B¾"s\i&L.Q.[0xԘ-ӂ'My2Km V>\d#; 3 cjқOUi8nO"Dx3/ 㢗eɺ̯EqV,T'm_ (`Ed2~4fhxЊ!ǾMo]ty5j|v:s,J%%>z1 !.HcMW,K0 tjDF|sJcvfn`}uK2.4qм-JSTшG=՛L:cx?*5ܛ!E\Ot1kf!u~fus[M7٨0#i;ɥKym*n]ﺏ< zv=!-nwWÛ˃-3ЏwJ/ls#X~ hZ4}]K/%P .2:т,ŧ| Gֱ zF8 W oi39rУ6Dc$R\4F8K(vs /lVLJe|FyR35 9r&ئ5pQ)sOWO||gVi\Q=R?X9w(5:6U'n$ aheTR3CҴ1NmٸtP?,m^Ÿq0"-m?AƔPo#]!? PCvxT`bJ}_BIE T)ˇ%di䖴3AzxW$ꡯafRagB@x2b\zX}aޡ`Xz edaJ!;q BtG]y;mB'^z R|b0ּ"eOg&VmmhvڋmCR[7_s#ϛ\>ob cɇU$"ĽvTSNFWTPx͒xlD0nsؑ 'AbtfΎ_GAr5e04{o$ elau.` 4INI-Tt'b+HAP4R?̵P#k/%zB4RXNrʺL# R\:2Nfkg/"m ޵kjQn2Ǘ#Q#8aQFC?<+˛dT H"y]d(PJK)\ *LK~sNYvenPvXi8q DVϙ #iU̾̆D!^u0 SZ,(s,iC]/XK<1]M)n--|de7֚ ]?hxw~)cVvE f׸&`X|߁WSNrne=?c8F^8PWf);… 1['ifMNd9qҼ#F)'E:Rw?&W .>Fj0<9r&mlˢG >ؓ_-=ӕ/üE֏* A tMIBVlH+ D_q㡈%kƕ32'%oJJ=jT?b2B 3]LaH<KXf\IMx }<} o%Af!LF54"o˃2;Q`/7\0DžnI4bOÜڋ҇\(+5Be5#s_ߡ\Ɣ&IĴE)r&SM b)vLEE6'eTf>)^|Bo=6eW*;4% 2.~Fygt$] KT<x{O1*zm+Xqf/{f,%p| SZM_1iÑ$jd*,~ʠH^ n_c}m$nU [ةA\c޻{-X2Lд.:.iI%a5": D#N{Cߴ5UYq4yK%&e*L:F&E3[/ ^_؈oW`>эUu=8  {CFj #d,!e(ϬJOr%^R`>f5=d#jP٩?;0ݥCQ3~=$DhEQ Vv̒42)W[HK1'z_?,71ŋqy$Y"+AE T#N>b/1RIhV2Z$XvoL\:e#>`1|~T$0nҟr&v2/^5Vfe/EU|gI^g5xo/ | 1:#)SǬFàӱ +}Q2yӿڌjz_) 0xg_R]-Gp  Q <|Ẉbz0yO꒰\ʗ ;*!*TFO?T7Q%ʲJY,&U_ =+=[f5 WȃGʹl}NOW--3=W7߫ڝ^9D0[WgŠ_QZNᬿ{Hb6UdR^n6 87ν02,O^–+9X5K}yDuIVU$1]i99z;UϽ{'MzUG9~wkͶ9 -uկXbwVZ1Lĝ!VТ@N7+BUJ\Qı`]<.4oI3`ltXW(pc.X!z( H18t ϫUٍIxhx ~EqV0#|c-$I; ݵFt)$֯oiopr~z۸ .K)57*NRa[BhjD`c*'R{)fƊG^{Ûv@ʟB]^^M\)8&OS81^z:-`I0$3`5B 6)聍ҧ K6h<)×<Y9˯EsEr=u0HM;vclD:OA~va1o/F"e~Ƈ!92w94l=XiwFiZ"k#la%`Ty"ʦØ|U1*=6/f/D]VMy]U), "-jshCoWQ8wVNƒAAVVy}+$:. );88y;lN}[}?x] cY^BKlCju;=+?a֑LMdj"6%{8`j̼wOUx"L9?wD@',~)0PQ 0U_սz﷦Ll>!I_O`yOd%pD Rp(P R:Qm*MrL*EJOM#8:RlV%"+ mԲz:4wXC U3vT`,-Vn;.l? n[_!|J8jƼCh!t}5^'A_BmB>  _133N.-rPMK6du֏2{ Խީ*xfqrfo%Z__ORj3+x[`2"to7>Vi9MX90 wCrjExk!{$^[|lZYKV ZuE7syXûN-~=aY9 2 cȋUJ99&NfScNi3L| w]˿[ޚkEYNtcr^n^TS? nCOx׷r._4(.N~IjH;Ր-~o\)r@gusj/FhV(M P/m1H(_OKV+Q {4ӧ\'L 42P]+m(\[d&C 5v[dS[h`A+NAdܥ"' E}Hh8[q7uƆrTH) Qe9ߢcYBJ||N~j$~zg AɭwJ.g-z\X :ۓAo_EDZxULS++%}PvP^N#tL苘V6FUHCX}w*H#AEW1꒟:*OEWPW\1%dAJA̔[N\Ī\~ǯВ]!ʦqW5u"vUSI~WX潫1F @(׆4oR_~\h3#I=Iȏ)lTN8m;=x@%4Gޒ7g^j/P%uIحЃ\?yjUHy*uwܭLpIͰn[a|w WiCBE ]V OpHa͓'ZT6n*8J+axa{e0sCjc/])N$qݲ^zT: (>Ј@1kM"a!|tb0GCά8aNk(]Ai^{CCQv҇.=; 2X" 8Y.%kX&UеwHx(*x-GFs{/*cT ˄#ԸGt\)@٣A^.^ay`iG0Đ16 s d35oZ쟮IwoEǍ'/Hq&Vמz +"lN}e'Z'SO,̰&)GVT _^R,f".ExcG+7r XrW_7}aC|GEY+n$P2-mu7uI5"@ҹJ&Ҡ{r*pj/0r.JJ;hF-MZ'̑4zBƽoRQkubz8HTTe(9s)볳ӓ΀w`+d'om֍zǍ%B4 7WRL hNh2ųǽ/g$Yѫ0̔v~s]A~)E{wLfy>|J;nE ;!e%V^TӤ` YO|nv*iv_o0ՓۈV؈oS[IƟg)c}F RxguaǮBܕQF{G%XM-Gv7FSb%;Ryd!:j2 ]DxNG*5Wwhm)hLŸn'(ymkp,xMׅ=˚-@o`#/=ls>DsTU\` _h*U MVlWb>M@DX3E]Yu ݎ`0$ KlxGXD+Mx蔄=eWUS]BM4U9}"_RGXxMշ_#7eѺ-՞%*6b*|%G:8?D=8jDJ VbZxb3q)~cE Gi t bQbdhI R|<m"tb]hLY? D4JTÑVZ+_-0m|Fet!j;!g*asR=boYx3tѢQΰC@-[R%ʘ1:c e-.g5' )Kh%߅&*Jc#o!:qMol1]jAy;"8?_ޡ]Xk&P%)|p5^!W(*WPU[ieBwa 1](Cruzw;—n"sog1G;[< UHfZI #'ulm` Rw(m"١( <ċl0!q]_qê0'oQ/j{"FR 21竗Viyq 7bGR'8J6^֦nkk~EWMIau`:@9T bNeE {Y4@WZdҥ.h4:VvmpGuC)ۋ.@M.Z6h) !JhrҊa%^rȽU~,K^R k8)Iix*⫤JK%W]GZzg/aF i. 5x?Z7AZ)HI|eC78Lx-U輬N*XR}g9B^eF}v fg%n\4ɧi);\#|δ&?*2Y|Sظ.ϓߗ#>y"-d]5RյqmK$ ay±5Rn]tOʸ^[c%9_հ1І8ǘxFyv"5M>p9CMY\*9\4Cs6CӶ~l9M)ie UNa|T_2L,gVz(BXe#ҠL9c7=!5y?!3ݦ1"VԳ ϿLn- F}6$OhODhr-U,nZCm +5sf}KZh[Wv#=w@}D3UyWkz1b$wMz+N7#B#fN5Х% ^Yd&QӋ*,P o(Ab9a$N-wto8iwX.f@Pe^RuRhOg1cy%A&W^HS{α.l2.O\!k\jyjl^D_ʐkCpIk3ÊyלZG` tl_NүŪڣT]lD{6R=t/cy:?H}T"=4y^6^ڠπ%Sм`Ȧ.ִb T=>e;&J-"8q/g15%iRJ/`n|Њܩ=o8Gqx{ѿ~~$1e#=vc8wK~68;9rPk;Jc#YOny! LDy[V3LV;f`rpX% K<)a,"nF,oפ%FTۿJʘe?g%h]UTu0oUWO RJLG1S?ѐ ^V82M>ìёF6;$T˄*bKbF{$30c#`/c܅l$ ,~B2ɘ'ċ~$Gsª}bxjV,4W(9qf#I7 Q|T T熖nb+{ޑ188wulLlH{t:f]2"^nCPT"MjvcHjQttoYcoqύE,X-ŜR>5uޕ`NAb 8~!A8#גT79*Lz&Pi *ׁW.[1ŔQB ο%لW./~&7Z$ Ey-!??=RW="jsȪIJ%#pUW5,Oj:\w4}zUrҤњRv%w?;i'! rJB 7XܫPZ +ve<og񶆲 KRs沝{lWq5R56,Hw2C7?PKYFQ%<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXKo6W ,"\,zJу[{ilHwh@:$9pЧ(4&P="g1kV<RGpIt2 S@ -O!,O91B;2ӀykH>m_qNizyY>ZR?UONrGL|Fں:C:ǘoyLvoT9kMM%f;!M6;ʀ'/ O7n?O:)S8[%3Ã6R`Ɠ$EQfyH3Jr'N:FÆi;Fʺ5X!DEHD@r5[RĐDc6 e♁ Yv=e^2Ndy$XsOѝ{|drd8C ҍ* 362 P ED~qݡN&gIr"EUf"v{՚Z2U+3&鱽c*GouK52U;4} Ba\>g^3yZ?g+ R&C]zZ cfFsycm5)xCsο} {`dik`{V7AijQw˽/ڏݩ}Wm+X*k X CqKNŲuclV&01KjrZ5pp;0ubCvmٸ[io>&إfxh1fE|ud6-ϽL֐QXBD ۀʁrgFM.h 9J6Xa=OŻtsww3[L's7vo3=G[5|A #|s4U Hg<Q/*؊J=\:<^HaQRG)0 Un/ qRb(]Cu6FD8e]Ayw(SE '0.e9h_dSjÄC? F MwXare78^\zO'XmdLЉIԙ#oh!;mTD8Z*dTvp:Ui?ivPRsGhWXDGfCˏt ^8к"j@p-DC[ UV htSN.)/v^&.cGѸ=h#:{Qzt쑉Į_Ôheh7 q(MT uٚ9̘2a %En%EbZ@;>?[9dYPKYF18keystonemiddleware/tests/unit/auth_token/test_request.pyYmoHίX%l$V'qֺT@ګZݵ_I/w|H}f晗Y/蚺EC1H=A/Y$(guL 8J- o;Ljq∀  ".  |3 LB_ S0cXT{!fbkpykdtzm_G 0V27'QB-!:"!ρ7/CkK› ʖ=F"Xfh0ELi}g73e0 F3{8E =h0GW=D V`<$#,4%2ҒVJ`5( .]Pb/ Z5 h$=tE3h8eu:`CAB_1:EWl#q(` (blr Tđ)$hY1XP`>NxqLMKnӑ ̈ %( U=P*hiZ mty`9n&KtYsH؃i*e1:Bg}UIS%jąLۃS=BYCΣbU˜Y~o-h"PWw:K~)yrR[F=$Z'K WGUR0^Vf&$+u-ʇ %"{ӉjN51{`|c 삓(& =8\U[]ry'(@tI!z&N8+]ީ巟I H&=2v,&/KbNS;% e=Hj,څa5&;YmQWrC-"!VWʳ{vV{)ZOv\5h) gVuSz1q 7m&zj4?5^T+ҨWIWs3QCg}^7=T O*ڶZ&D$R0~\WsFly2\Rdѐ짭)TњD%O@threMFZ?8ӥ+ʜ$8;f< ~ho8q뻍&|ܹjG=TYRsHXf n-+x5SMso?_h(fSK=0{${JuqB>7EeV$S¨܅*Odju#fr|w]}ywm_:7kH._%+ߞ_[gG%$Vߞ=Gd4.)~^O=!K =f/ξw /.~ sT^sQqUT$)0hr67rp y8¼s*iYPk,-Ҡk|fZ*Ztn'$-NXb-aHY-ܸYN̼}s! ߪXInTY[Z&\BeeIlJRo4Jw\;·[vRym%_(Ҽ[ikA.i2W/W_;CJEhfOىo4VjokUu5NXJ;(-Ria+3|Jp :/2Upn_ԄazTU,Nl]`\q3G+L$ C<[~#Ѝ'`RJxs^oiƏ Asc>E`*)݀!e7 ڸ UO*l- 0_~A?` ŋ(0>*=(bVנlʔSv@K k LqUXС8ܡ9VvlY;+K):\v:uf`ktG" 1ϐ2;u~RrҝFڳ {f%'*-3W2gp4o#{%q㛴n60JG8f ^`$9MYO (tӶi ߌbM/VAgNͣ^$X%,fb^PN=}^ÞZ_- hJ^V9^l׵t}v D6te&piqNwT5ؑD?3y8k-?.ym~v}-T.=6ŊI7JvHtPKYF]NE5keystonemiddleware/tests/unit/auth_token/test_auth.pyWn6+ ˨+>58EbO#d6%R-ɎRErf8|q\=Ph1*0ki"ٍ *ͥO/[x%ջ! )א HEƙ6ܬ4 |B|6 ȾvҴfKtژz?<(tϖ7jLvHX4-͟GXEڦU'*!]`ѺDZ!?P Zr-ҋ!976E:ZTy4T2n%=/Q2|F (/a`gJO֔j iL,usN0`Dq֡0|[`t'qx^1VffJ}g%AYȁm0kϳJ1p־,9tµfwm;[̪>g 2FZwh/ʍִ*n9LPwHyLqH5x \RLX OQXWv ~2fqh et S5 G=MS&{SMzN:8mƨބk4O{|]RO#TNTXV!|,it@V-J8dVA ;羂e ݪ?P]>8Z*&9᩻ $FS a7h[!~w]ob=8`M' F+M',qeWHQUEQݖ'bwN۫WwJ}/Y׀TAb Ʌ<#CᤪO|=MofGln^ٴI2uxm%*8͋SЀсB$> >\JߥM=/_a997N(zuv5Q=,4 ugjg}D5hA哻4=OP>`0A Hrg=7wl?G m`OTԿPKYF4keystonemiddleware/tests/unit/auth_token/__init__.pyPKYFi0keystonemiddleware/tests/unit/auth_token/base.pyU]o8|ׯX$:3E(AQ+0%$8R0,.w3$u R`n12р"L .话w4V>}U;u5{]B5Ai D*|X89J\ TmeZ?Б2'$N~p\dl+>UU1^eڤcdnX"usZ0z "$xD4@Ast2OG`u*nPbiQNQҋp5]|u|55a>=Ml'[.rA.~~HZ2ZϟHJ# V:nL)B_h2iŠd&w~LHobA@ j@4%8$RAbt*:Od -$ݴ&MŎQWBuݫ#]HG,F4po1q{-K8<8I{-N)5AQ Ze E•&ޙ;(lY~=G %|!l%'z@P$^|]&|i=#Yt1às]E 90ǖ00 1 Q$2`JSϬɘ[p 6z60GNdjtz+V\}caaY>j8脘MK1lCxL b5pV*e Nihrb;zs).Gi._oMYac^@ppwL{c_kc`s(֨3}'O, ōR[<{M=a_C6F,b7n$ .XByirX_fpUMD/38~1_hPKtFlFa3keystonemiddleware-2.0.0.dist-info/entry_points.txt/KKL/()N,.KLII-O,JK,-Ɉ/NSU"hY\PPKtF".0keystonemiddleware-2.0.0.dist-info/metadata.jsonUao0+!@&$* :I rkbvi8I[1`ھ{w{އuʆ>,w.ӊyH\3JL uZA!$;ne נǹn.m2]n>4:*MڄR %IòcڤVgS |Fi~Ԟ9WOOs^)#2)`$/NSarh1^.EG? FTi3 ѻ~BW< ذVr*L pڟJDNI[fRm9 1[_sNVmrŽgXsD6h@1Pj+6;_hYrZ |öP.2He.[+W/G˥Hݽ`<wSn`I2 T)߀Ȕu+}E0I Y1ǵľߗ3OI E'%=땣 *eF5/WRU[b]^Ļ*hY}HcF<!dfGSw~oQ0M5jSPPK˄%2 w}K27PKtF96/.+keystonemiddleware-2.0.0.dist-info/pbr.jsonVJ,/K-*SRP2J1I54QQP,/JIM,NJPKtF1i0keystonemiddleware-2.0.0.dist-info/top_level.txtN,.KLII-O,JPKtF3o_n(keystonemiddleware-2.0.0.dist-info/WHEEL HM K-*ϳR03rOK-J,/RHJ,./Q0323 /, (-JLR()*M ILR(4KM̫#DPKtFU+keystonemiddleware-2.0.0.dist-info/METADATAUR0}Wca^CJ8*Jr P%BwZ Xg=ά 3)D [G_d7k9=Dnƾ 9OHĹslƩQ{n4Ѣ[V>VzTnb Vqϙڽ\]c'06H 4Og|-TVdEZ(@h;W5J0^2բc䮠@j_)keystonemiddleware-2.0.0.dist-info/RECORDY\'b t/sl" ]=mWY]EL7hs2iΠoʓLǰKa|p^O #p7Rɡ2*ɵ55SXR=!Es@a h꟠"Yt1!>ޥev^:Mf3auEJcHpp?!#+ A|-o ; 3 ؗ mtcOx~Jgqd>&FAwĞW /  K}_o6q׋`&5|j'a0u!y K/Q[%h_홑f-ܕX 3'6 ͜hv "n&{q"$\ioKmVj `)8RNTK #<9<o[sIS5lsb1qk[%SF-.^B=/Ay-V{a.G '2L C8㸊RTܖTݨ@bn_&,Ȧv{KR]޶:OE(|N,a :AwZY?fb4פ?N{@o#yt 3,~p5!Xw*ǮܝRan\.0??@xŋ?.CRΗVHhN+6>!)Iώ2sg?29_\Q yOh>F-a,X*=ȟ-|+92Ba& Upϗ)IS'B$GzJN~vi/ M**OGr@;33Nͅ?~r!N#Bj5PTFқ[[E~.͆c'Q0Bv2jpI/jgW?oPKGsnFhtU"苀΅p<`zr|j ^ *ia*3fGtO{ PKYFNKz!keystonemiddleware/ec2_token.pyPKYF2W.@keystonemiddleware/audit.pyPKYF-*J) keystonemiddleware/s3_token.pyPKYFՇv\'keystonemiddleware/opts.pyPKYF/C +keystonemiddleware/i18n.pyPKYF-keystonemiddleware/__init__.pyPKYFr!=`p#.keystonemiddleware/echo/__main__.pyPKYF+a".keystonemiddleware/echo/service.pyPKYF#2keystonemiddleware/echo/__init__.pyPKYF(2keystonemiddleware/openstack/__init__.pyPKYFo` 23keystonemiddleware/openstack/common/memorycache.pyPKYF/"8keystonemiddleware/openstack/common/__init__.pyPKYFwc)q8keystonemiddleware/auth_token/_request.pyPKYF'ޟ !&c@keystonemiddleware/auth_token/_auth.pyPKYFsIi [/FKkeystonemiddleware/auth_token/_memcache_pool.pyPKYFt *Tkeystonemiddleware/auth_token/_identity.pyPKYF+k H0d^keystonemiddleware/auth_token/_memcache_crypt.pyPKYFA -Chkeystonemiddleware/auth_token/_signing_dir.pyPKYFB?-Omkeystonemiddleware/auth_token/_user_plugin.pyPKYFs }I&skeystonemiddleware/auth_token/_base.pyPKYFFN,ukeystonemiddleware/auth_token/_exceptions.pyPKZFi02'|wkeystonemiddleware/auth_token/_cache.pyPKYFk ({)keystonemiddleware/auth_token/__init__.pyPKYF{ >-ۮkeystonemiddleware/auth_token/_revocations.pyPKYF$1keystonemiddleware/tests/__init__.pyPKYF7ٖ W0ukeystonemiddleware/tests/unit/client_fixtures.pyPKYF[[!&Ykeystonemiddleware/tests/unit/utils.pyPKYFħj v+9keystonemiddleware/tests/unit/test_s3_token_middleware.pyPKYFI{;P *keystonemiddleware/tests/unit/test_opts.pyPKYF)keystonemiddleware/tests/unit/__init__.pyPKYF9 W j6Kkeystonemiddleware/tests/unit/test_audit_middleware.pyPKYFWAkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKYF)3,X?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKZF(5B>~F|keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKYFQ%<"0keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKYFg-m@#5keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKYF18;keystonemiddleware/tests/unit/auth_token/test_request.pyPKYFP%ۛ<\Bkeystonemiddleware/tests/unit/auth_token/test_revocations.pyPKYF]NE5QFkeystonemiddleware/tests/unit/auth_token/test_auth.pyPKYF4,Kkeystonemiddleware/tests/unit/auth_token/__init__.pyPKYFi0Kkeystonemiddleware/tests/unit/auth_token/base.pyPKtF527Okeystonemiddleware-2.0.0.dist-info/DESCRIPTION.rstPKtFlFa3(Qkeystonemiddleware-2.0.0.dist-info/entry_points.txtPKtF".0Qkeystonemiddleware-2.0.0.dist-info/metadata.jsonPKtF96/.+ Ukeystonemiddleware-2.0.0.dist-info/pbr.jsonPKtF1i0Ukeystonemiddleware-2.0.0.dist-info/top_level.txtPKtF3o_n(Ukeystonemiddleware-2.0.0.dist-info/WHEELPKtFU+Vkeystonemiddleware-2.0.0.dist-info/METADATAPKtFRh>_)Ykeystonemiddleware-2.0.0.dist-info/RECORDPK11aqb