PK*HL$& keystonemiddleware/exceptions.py}Ao0 %Rgر;y N[شC4I?I L|8פ=5tC@Ȭdx!h|M` fNfQ9 <{&9ڞ #4",()uP!Kr!ػjTMqݪ?WS*Y=ɮZW#I.<:%ièJ>8/>dKi̲ E5*%^ݏN^6+wE^azSbSJ|cQ/A╌w"@rE#@k@R-ײ:󛜖u`kzk 1J${%hH>W:7wI<Ƶ-wֵPK*H/Ckeystonemiddleware/i18n.pymSo0_qJh%jӦ>PJh $,;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|QR7PK*Hkeystonemiddleware/__init__.pyPK*Hgpq #keystonemiddleware/s3_token.pyZkoF_1pڎ[lU]6Ki6H a,)Z{J1s>}2ĩYr=9蕸XF5E6NP|ʴScNYUy6WҊ\-req+f δut&fB9SN.H{, wot.ŗޗx-ؙ^ɹt.u Xq [5]xG*2 Si_Tnx앯)Vs8QXڊNPw#pBg\,R-3nǔDœIM:XXU* a͜[,D2ɧ_iNg/1ʒ~/t#`h$f*\32NgӶf2'S$p mUAp%3^Om7xwiZA/..AwoEwc[( Ǩ;%&5}JU Lg.HOreBN2L!X|-Y-seJZx: {ZS0ȌYkIIЙ%0QLU[r:9Zc1SE>sdVIŒ̽K=qb^X@ NMZ9Jox|!~Kc~V+p.2`n,lGp"sE~>dt܉L0AuTbMNgP~&CtHm_ޗJﭾ+)Y'G' j}\^w?ja 1a(b9sgx"_]`z1SojPPtb,grqh:]c5!cI dpIS, TLXfjJ A2sS2*t"ޱ#/.qLSaT=kDd(դʇ }ll<KDoдޖ"^u8ǪE{?a/"08[O8Yl[mK[@ğg-/ mL67ΌL*zZ+ c؊%22;\-LpT!ys~T%mz TL["5)\d/jNO;8; ruN766 0rNyH<qR;V\ ߯a 7"v0\)^)pk!L 3Rrj\zHu.@:ד0#bߚ}uTzOް ի-vA<lUA x( WnGvP#E'"]=xqht;阃B ~JK*W<8'ɭ".pCZNԝ;*h[bQW_6)-z=[_w=2lr;{o_~__Ů_s6/){ܾ> ޝST-4ӻ$Y{GWD&帉P u’xCf oU3^*Me"LId?6 EeoA1Ek|%/QBU,bDƃ[40g\[!qS䲳dvBj)TUZ?+Cw2lb{qn0H2CHk'(Bo9Sk7H 7jX" ǕJ?r'!e;߾,K͠BH=R9&Uv^?F4: ܋kLӺfW٭΁@٣Z߬q;$l|³ f!+9oDg/dyE)c%h10ko97ayap! =@rUɭ HTh@@4I/sd5)h+hF/Da$6V[>sE%Pݾ[=$׷\TI|Q{81kIa0NȮ/{ɘzܷw;#$Z,>znh6־ o| H0ä=[egYCG"*G[Y"m-a<zvڼ?=/gh67^O_ULň\eV6bvV㡜L)G΀Lt Lس9)g*q"~P BXgg+KTkSwX!qͿ0I#:A :?^XӐ{A~/ UQ3myc+jS*Dh|TkCр%bpP ᪩_p&s[ACVSjyMX1?YhPL_.PjjP)S!ǡ X%zG$1 xA?Njo8H7,/cS]:h^^G!kT_g;b=HN|ac~Hg]R異d8h6ϭ3Ğf~ Nkf]CsxZm&U"E쾐 HC,rv> =NJ\i=!X9r`Pbvfq!) IR3xĕ$w9rSL vG'Ά'.5l$v4%M|jq|FJ'wosP^=5v&cZ`wI Y.,E{ܿ6y,.N5(8n5+-# M9=4Qp/7}2B U}|_v%Ju֦W;FC%F{M}K=`?Tf%\Ak if9W0WB[$ۼ<.UpEO> 05 ۤ״2_a'gR+M5^v=N^"m4Lh2ѩ9B?) :i/R3*֟b/ z{(/.)kU=d!BPOpHB`ł>"<+󶂷PK*HMQGkeystonemiddleware/fixture.pyWo6_qp"v{a^>6c]N(Z:\dR8^}Gꋴ&-~}< OP(L)%SKo!0 hYŽ' R!Apk!c. bHTg7Ӌ܉ )yAr2(a+23c{Mt1x_pfJH()WR{j#]0,`t1%a}Nfp1]Nޮa2Mg#@Ǽ0h"mj X ci8Ou{11UXmoBHXQ%Jjd>Uy; Zщ7SޯJ历lM|Bd҉7׋pD5:Y~^#4mMlo6r|m/&)cϊJb&kd~hcL%/u y4omW  Pd'9z)O41,F>lͲ]zHZڝUrt}Mrg*rd 9/UBRlMȹ}# +X;o#mk-:Ħ|~ (9I1m/HиPi`3+Ľpb"8;m4ԥh =mF٣R'B~uB;GƆ<*sPK*H&Mkeystonemiddleware/opts.pymAo@+CliS㨨(' ݥvW-̛7߼e'C'l,,GRet$b'UT?C8b+ ~]* YA0&8<6'PjV Pim. q$f$Yo\] <>r}$Gȸzٜ~icϳn{8)ǻO gF0vĵ`ީt7U#v)NWZxk%5&q$k%/y^/vdaj>$dqIqV<ެR 9R!!izAT -RNք"yXrmz+ѨVoRy.&31$!H:76 Q9H'VeCCrq=B*i68 W=Ѩ>KoPK*H\ keystonemiddleware/ec2_token.pyYko8_qQ8vlYONIdChYԊtO璔DV(ټ/^So Xjv q+=^(auݿ\ULjV"bsrbk&2U(mB/'$dXLt$eMWG"m 6R߿#cm(E?b|v ϧ,(s f=kE%|_-E)9QA'Gl*æ}+X{4f6i4>O<]L^^>_^6;xc@Pd ?ؘsҀb.b+[g 2lX Eiᒊ$ v6ZvX-@%=\oNW*ie2RTʏ\,@j bRrl.(J_̠5URqY,Lx42+$) ųVV$x*sʐ]l-2ם`]AŚO:2q.'? `؇T-o]%Oa=ao53ra) */Le (L8Ҙ䤽Zh15;b& d !~`[y?l^q#Y,ۈ 9R~?` dqe<6ꐨӑj')SRaM"ȱ[{-`ƌJٟ4ݴZ1oiGsXr/ ;;!c D:5V <.bb :ۉA9#i CБ_R)uz֌}lR8|HǦS?=vO2ד!=;5rb ݰЭ N=Qدi>,3_~o`mJ㞚鴻 B*JU$8 :3^"@ EDPZP%"R6H~7gs;,_`4o #$VjD Mܨ$s9EE6`F$)+J,M:Ҿ}VU4۠.FfqL&M 0rjCO]$֚ȁo7Ac.˳C᭒uW3Txh}]ejFvq99D) M`)ux4.d#4 )t3bw\ɄKI%+R%˽HSqXÄPƽ5ˆet_:.! , ?͚EnE&j6NeB!$&etLo&){$.3.uT?XߌSƟp:!n0w5I-nbL{5$j0#N (ѻf2+yϤ1ϣ)>,)h#ʫWjb$ix3c\-Iv3 0e Mr{R~1GpK쾫=DL a29@Po 𺵊=*R&[똡n^wVȺ,+֫D"qq&Ka?\n}6'HdMb Kp9>z7ƌxɪ)R*{݃/I0G> ֱa|Fk;ߟ!6{gtJq@9se;}!&w:@zR![Z<`'^=goK'x9 _>^STOhXõWq7l=Cg:TPKurNGEwhcFm hAQxa\V"6,4tD^|i Uޯro6 PK*H|X6 $keystonemiddleware/audit/__init__.pyYms۸_#*i:nթNV4-Wdd\(G,R^Ibw}v .٭LDEʪ<%3O _RKw[_m+$ʰJ e&xIDaYE&ynDW'2$6&"~OWW.VHxrZ<ZR^^/NWP2;J7QFjmvJmJLWr0Mo]l`?ŀ}.=.!h>/xv3]Ngx{F/EICII^i,) ȵL`WFzesX!ʭt,[iwH:2* Jf9lLRI]V[q9v# m4ČNi&ț{'UAJ" >ڨ\lW)6XBd2 畑Q(:4iQ'AQg hHv*y]Q*Lm60.֥23'*_ כ/Y\wCtݐ+gi_ qj\ AnQ^ת*Rh+RxϜ8CXR4Rs1/R8sOito'Aķِ݃.="Y:ڳ{A~Oba -L9+LKK B$b[">o,a ؤER*u؃Bve_gV;YuYDҌU> mj\ij 1vׂY*Գ{z}jQZxt]8YY{dn{(ڇE~Fyj1EY^E\ǩLL:ZK~UIn|#evv" r'g{}Dԧ-߰(.u$hQݫ~>d޾s忱?}{}t 2Ҫr<ċxXt8Dv̷eMo瓮 24rc=Ds'vLR]nWLUdOHPJ;i1E;.+͎igӜ0$md$?wVDl֛QtǒvN;:`퍾v׭ -mYwfHkEħpd/kDwybTa7od*o'i}Q,#I1]d5S`kjoV1ǤxNMn;ػ*=]֖G78 ; 4)ۚWT+P&(X/{`o1 Hzʳѐuv ƙD0u~ >[1n0zPK*H+i . keystonemiddleware/audit/_api.pyo6wU8d0pvA p%z{>(ɉnH"g䒅4iD$;J&Y?=2"(YrH g$I)r (XN6,~ i&KHIHɞ;IF#q'k00?Ms  ʟ;!/Hno_jfr6uKp,aVILp`d]HCa6`ORN-0&Rdxϙ`vDt#%bl]cJ@X !g%-ȯl9"g\'ד7sdqM̛-LȻbD(_2 בFYR\idd`*lB+m@y␌q7s`/"11|L\1 D)N[Y 6<ݑ4S?1]&zoyŹ ڔ,/i`wrR>{hl0MPI,c BrɁ~z($a&{A9f+döY@5)xu9SA!|֛sOHcQSTlwC4a\{߿(d f1fWq'Y:\]IPd#m404(r; 6sy${H>|>@ߤk7Wis5Tpiɣ0Zs m0-92(' v4ES3QџEֈX"X⣦XYW~;'E {rIo,Ч;~lbr~iEtETT\]JϮJ'SrrەaXuvv&FZa:x >!5GrH O!$Zt*NES9ﳄ ߷soF$ogx>`D~\6oI  ]W-1b6D΍EGZƒzM+K `~{c2F`s%6a?c!79h.z)‚; "hWƌ ãS*)]R^'TтAO.דե'={/ m#ӅEyzN^l\&2ܰGR߉>{\fNwr3mŧ Q®֙ v-\R?;ĭMWN5LG%W蕰R)k"S<R)e#9F/yK _rLF&,5m}?engժ0G-߸z2'>UƏ j; 5CT0A#6fA[AG|2wOXB°@ 'D"9[ocö5Xrd^-~69{dˠB:sAs15xGL"8,bHމGp)z/(ĴuƀWBaGQTR,dXA& *:Ռ_P"#(+e̦+;(Nvb _WqEҏȢc\SLqty-.Ksiķ䢚O @G0W ;xY@9V!=ri+qqHJ"9yu~[;~̚mM@,'Nb?r|Lt|tM)gdNcSreB`M~pݰv4kmA/?hMv `co~= ^AEg2Ŧxn 2I**kKS>`LPI/AV,J 51K%jQ[SlG;-8n+|ěFе%t{p:7T'`I K6N|0kvgnLk$5ߨ^mm24`e0Ȯk `]܂GfmnVٰꇮil<‰Z]_Z-P_R}`M}5g _Îkel`q$kNGU1$#Aǡidatf +Se9R=e'[s`I,vԪgYVq]'W~GaEYfg*^C$x,mi'c+kDy2jʡzc+2]eݣ+j"'WgF+RĴ%Mr[$F̎I MO:[cH|_}9PVGYZE>'lcHka[ مk^nʱv5Q9 yEDd[:CPVAwh"89Z&J PmkH'"NC,5z:-yȰCRNgFg }7,SGY$!둬Gxo}낵t»ө<Ҩ6˰q/}YP]7P݄r/ 5N͖cQ7z ,)ޞjn*5j+AJmxE_!S?e>y>rIJieQ/_[{0[2]Q&+-޹slF1L wͼOқxi7LNCTW1qu;lmOQ)e;5SLA_{oTt`OW^i! 1i$7]w+w~1i%ᙩ='sXX-&!(w+3X{}Θ̓ sޚU6^C^Mr2]7hS[ ;Qr3?PK*H$keystonemiddleware/tests/__init__.pyPK*H)keystonemiddleware/tests/unit/__init__.pyPK*H0z'_da0keystonemiddleware/tests/unit/client_fixtures.py\sHb9 zD\uƉ6g7JFV ' ;TI'H@L%kfZg]3g| GFMJp:m=K4OZ lY 2bfc X7>lT~[I:&0kwAx#ݾkb0 ČƙG` :9Ï \*gs{| GŴeV, :I:O:9Eur~SoF7S?Su0A1 /թ:¯+~Do"+|]xT~Ҧz$&&j-,7_öl.-AZonԚ>g= > ŝ@ ׏-:l_%vbyݓ'?p$i Qs*> YD3Wg'?&N {NBoG|w0`2Tp8<'7}4jG zsFN3?C k$``,4eqoxwڬsv.³p@$CL-p"_~[/Oh(iJ0 GiӂD%@/8kfcXR{ ݇ X" ȘaA4fU%4"A /+f 4s y"X(I]}<W rSF]!Ձ)|r.Y0<[B[#09F3NGBׅ"Ns>Fg 4V$l}@GNaZC'82B!k" <>hb~p]}88Q8*lI}AdAz$,6nM ʲn%*vMNwhEKou^Iq~CGsǃo t5XӽE$ ~oOl"VgAjC#dʆ{6 Iꧠm ~3nMU{8y+k3Xm[5QI.&])ȰZstE@Jr r$xb'q+0uZ;kJdіÅ" tXbJ93#`S5uĈ[X^a~E;Qq9\SkeM d^)".Y=d8bCG!AB҉ԓxYX$^D]o (Ku[( K DdY%ZFGjK 6=E:i+= &9GEX%@$K)rtElIJC.jYۆNABw [ E#w;.J] z$ʺE%XFMQRD&$`n d),]_MlD1ƒ$,QF{FXт-Y$t$F%CRd] L̞zW0LIQںb*FWV&OlZaP?ni%=ANE /HEΔƊ ""I[+fd+c`ȃ`̊ŲAA>Im"VzD`1(*ِhxJEK#5[Vu[HcyJjHaG-+p.#]j|$ֈɧo ~mpq }[~Vl٫y]jZBWt} Gik03Z;3°w*ltJ|.=]Sac*Awqu2nmUZIm+d d.<^9>z*vaC쓞W=6pnF??-3JqC;PVa a\`nP`].ewvT%W߮-T0*mR(4cE0Y]po1Nߩjv{g]2p{ `ϖڳe{ g { gI{ \gϖ2p-2p=ۡbK]/f򹖝;c=1s\ .=tZh8L Dӱoٻw@m&.A-%#O4;rIosl;i ƈH2(sg'd G\O$} -< 12zɲIJe2B&f+.EH1CJ1Cb3 >Rx̓Q|X.5||ϤMv𔽊40O]45ѝx/;b/Jn$j43є~1?\L4D0O > Sڔ喝V/5~ߴ~ 6F w T:v*$ WDԱJȨ}*}J?oUDg*W&0}胐sIA`Ͱfj%w3ld盌YEr̆9w9ꭴ^8l,4ڢD- #%pm'h.6γU!W 9g_+voTg,.m6 $nXrehUØ)y}""E}>Y'ɧxSCtC&x7A{trhCXG:wCjE£~Za&;.a2§@j_&j/3,?csL9&kb]m]Sq6~8D5l} s`ί' kc* {;[vEe6{B3۹źq{ M4ߍZ!HQ&8}JA?|`FԼ?=YjWé仍7&; G/8tܢ ~{=㣛<>]EwPK*H4n*keystonemiddleware/tests/unit/test_opts.pyXQo6~8$Oi=eȃbwE1 -dHY-PlD5ܫby#xT[*e,W2\( &@è&^2Pû p]~*!g;$ R.%aʛ+ K2.I#|A1n!lCQ!a69@c@גkZr B1[M4L#ɬr[.1-HZnҞxG>+y2yiA>O'aOp4{?]Lf&/t~ H"3RhǟHrGLB4"c%eڠ(Pܸh9> i,* Ƞ &jEcR^3KQfP׸3VIyt YiWUkHhjE|虰SKĂ#h0`Ea9 \%UFLD1!iH BT §Qa5 Fd+$jblU6n|~defWhp iU.‘#-_K&aZO+Gfav<̩n4E <%$9zC=\F'/q`<heUDԼ=]T-KP] m>kQ$gDgqeg^蝪}DTu,*Q*Jm@jqg8eWpF5f^*U\θ+zQ;1T|Tc|t6*y~.c?PgKH gD9 .ظfPRwA:!K|qI;*%YOe)֥q<>Ec%GZ26 %<W[r`CLD3v+fވJ] (tѼ8צX&⠨5ŽB uvn!:5Mb*qOzhhosVF23LyJMN}}]i^~תZ_+B.B}LEmNzG9ĥmǜWÇ: +tPªZN{+.73/KщKGyzW񿻃Żm{2~4<ʋ ajhPK*HCB2keystonemiddleware/tests/unit/test_entry_points.pymTMo1PUPu@EQ2`koTw|y3xpR43Lh0(eʟm ye \ h@cjtVPuc *\ByȕFKe E4)JѲn-"qS윤2\I2}~IQKV+!kºEOo@wG3FO˜A%sf p1)RfosZI\%SWtdԎ=U@c0xڀ4v!ϸn0ţ)L`8_dzx2wg<MJ3I,LɁ֎@n7|Uʺ̢ }EgX EzV"Iaϕ>Q #Y!wBOd6\{ e"xQE(Ւ8~+5ڮ 442ַV,ӏ"a^I0rsFv$L2=|=$2E!-/hN#^/ΟxwK.nχ:ѡExS-A)ZzG?0Mu&?=w "I U_ކd޴iBNMdZ):7ad|[Rkx'PfyFߧ)<}hڧBCkŸnDPK*HB%c&keystonemiddleware/tests/unit/utils.pyWmo6_qKPX<6f`nvR{CD;\(Q%8ް;Q%i⢑D{?E#Ȓkw) QwP \}: f) Kp" CZ *N`Ia+]~R!'?P cȒҺN vN~6<;naJoΤ#6gדt1l7ƀ3QJm4=V +MZ- Zfa'Nc 0Yb҉0χdfd9M- M'TUYy p%rLC!*l2Q\'\ @XXf ;.tX-H٠LjEw4d*xjP~*/ߕrc[F6BI@ϊ9DtB"oiW*QUp{zuH?A:zHGw*SU EIN!lSQ!XgIHFuٱRf4 0HT(uuJw{@7J4dz~2ݿϠ6X]IΒ,*XGn/D#_h~8&#@{1B|vc${h>?GO1@(6*K fnK:fQdK:b< X ͐r~ME;x~yIh? GSbc.e2u_T\Zon-yTV)].>?u7G=4 >0%o#v }IL2%Io˙mrVm*qguŕHؿ?wуxjk;ΘQ :H`)Wy  ` nec.}b& ; ÞK[7YK݊z7˙Twp ZPa[yah.quypZn̈́polsi17JWN{ //R.®lZi97)X,(Wp899B DžV*ʌ\>AD8Jx"8MfVDbVs JT^t*YιMAq~$J\eU!p7]D63PvOֱ\Mq#ik]XYW|6|ʭl1(ph,"P9-%J'EJ;%g~h1a{=Os F՚0rdB\!x$@hE!EN4Ͱ$poŪnq9"LPYk.)L" Nj jѶP]bც*K|";e_M6R:K݄H"4YK&Cq_JcGӃd||}="a=ẀfUpGJFr?B>ڶ*@{AsїLdBn dq hqpW+Q&Em8QmwFG@I0]MԫYU\AQJ% 5 t O4qր8{~;ZB~1ljt1ݞd,NZP/χϑ!ݓ4t.b^sMMѴވF@ӊ0.[£/94It<\2+kV@7kLJHyMww*yA-jQqziRt0_PK*HF#9keystonemiddleware/tests/unit/test_s3_token_middleware.pyYmo8_A(($&]"97qFv7vW (YTI*R%n^=?z<3ΌwȑȖ.4}GFKǚDiD5ikC^񐥊E2I#S?T@N]!Sr?ɜ.AR*4\'eb%!# /2"jA+B>JG6 υAX,|juKG46I[-XPHM"lR̉P&4*'dB2wC"V%o̯u.yPܕr"Ÿ1deiI`S1mYKTZlΣ(aGZ\tQK?O^-cj^Fi<'K<jx?d? nEq5Ki"CqP L( d,O8wd,,afbN2)4G\_XHt2" iXC0W4:2V,|{]{.!`QX8;5ަEVv'o+}'_(c5jx&gXŴ oP#륻?;}OT GWK&Ckgay[C޷0qbqr!: U]MCXmThzv:Dm"(U\0 CUZ<՞2gw-l`xr !ЗסjWR*,ܼMSeꭽ zwF!w3`>B2BӦ{8-yʮ5N?Kx Oc( HSɧ8H[9o bŦq% ޥvݭLBBf2sx]򠵡:vXb\uMN c & >ahHY;<4@Ne1V8RO)OM$1̘!73EӁUa0TZI PM-uTxX>4AJ")ˋX`ӲX15!aܙ,_kcyR1kw:zo 7h4!`R(VVݯkCn\~nV*[@' i c(C熓QxmW)sI\8w_dk%l:mO蕉܅Y@o)X*KA},K>\P  h"9LyTBojZmys`tb7媳me 6ߪ]T^㦂@R5tq 3VsyPڴ@ysI/1]Df*3٦x8ڝE8|oUHb5HƯ_8o&xv}kT%'(8Lg殇9|fP -Dp/FȽoR;.RݻPsAS' [p9VaI2(*SרK*HIy_o,a nU]{,WVc<V52Sͨ_mT^s_PK*HgǢ .keystonemiddleware/tests/unit/test_fixtures.pyVoH~%lSTU9&]jWsmu: x]DUl q[0|͏8k4@!`ÜW[|J pT?A1He0H@*21 $jga- S0uk }1kim~qz^2iNx6:!ŕύ!4z<'A1%_fU)xrQ]sĒc-lZ9q}N<`2*1ݽ |@\I( .e5RdrE*bK. @X;ԒҁJ%ܖ$)8Pi h Z@LEX5>$DdXVAT=0fX ),]FV}C Ch89g*6$4@}'`o߻p*S0hor`ӆeF@PՊ?ǖxґч$_\C8AZee48.hZW۔s]EPȦ[[X4'Ikh6M :-/]uv#ѻ,}iێΰ7;αˤ t똹=kF->$ByG#i~>}nfi^ .`:è~Zq:kt9o+Pߣ]罦ь*!n?z;zysbe,7$TGQޜ2T6Jw*S5𫈬|ےXFZIITso.v :@ y پ?YL[;L//& k6jzp`O5+3~eTPK*HlD:keystonemiddleware/tests/unit/test_ec2_token_middleware.pyXms8ίə̀1$izGh4 8t:aˠX$p[/i{MlzZ=GhȢ-˕D]Eӈskš%eaQ. J8+v+i_ `ʠ-o)dłȧA%D4D.[GšKІʕ^&1ћB#xvKVRFf1d|KѾG9Wa@@|).Gf7qd &̗ xTHN,E+s6]4xs4/xD׃l0ǣ9p:9 z95X26p8Ds"Mv'|8$"Rp%AKvCxAk*i pC]S ΦZ d\5sk>gkDA8]OE{X@dT,آ ^,$kyQu$&}TfRI<>2||MZE=b:=sf%| `nS4k.Cr`أ 4@ઍ^]oJo??gDDp+Oœ`.Xm1zMyGC!$(pp\ePRV>T_D/<TbTNdxic(*^J+8Q&Nc(Lm8 @)FAG7:\:ngg-?c[ߨI+6/xbRՕ^ܺPKfR=$>㰑B`|zvaf2j:TMdF1$THz=̹ʔ,pX97IS%RJ)ߜtF}(H5PׯF[aE`o9]';uʬ%^$۱WV u`0* hyiX-ײN*%d{y 3!E1W>cm`l[HKx&Ot-!F%Ld5``gYVU_ 恀$?CB [6"mHT嶪Ƨ2۾c!O5*lIV {Qک./λ'q7N ipzA<Ѯ]cU]3@\5뉥肄KRGjXw eyo8*IR>v)wz' (I=*jzuxO, CN:sxq[*]{=q'G>9;^:.r댺i~\K&;Huj0lr ː~1mPɎzڎE zy)^Fg6PJ؉w*&x8춅׿TDzw^ruR$. YW[9eΟW Tޛh˅ dNU|EcgjۣDJ4۞c$"|qH z}v?ۂ8[\7۪͂8LWSdeSY!tOz t)IBC@j!N+PK*H/keystonemiddleware/tests/unit/audit/__init__.pyPK*H  +keystonemiddleware/tests/unit/audit/base.pyV[o6~ׯ8S$\:d0qVrZ:HFRq}Nb' ИB)RT`ai$}Js)u |6"+e 9;/@HFr5y DEƙHvl0>.@ <1/>f$֘d0vRmYh2$ĕBd5(r](a+HldFZ; >h6;\W9V >Tz1n8܅|<8z7]D2I4a:tr6 !|YjEaP?䶎0G[i 5 ]`<ĦdA%((P\njBsnw q9H8b7T:|kJEmѐ7qsS7M(dL4q4ַUeecJuRuix fe笰0 ຮLJr,rRm2H2UbA@SYlc²*%'m%a=*u!FEBx"-$؍AjH8hqlVd&]cX\8v9R\C',טiMN8I*6d@\v+Ta]Ѿ@{o͠h^ ,:2~_ Ұ XZj3Ѥ(iFQ3}ol`KA{beC;{)hHj.+!|M x~٢?rk4{L#)#Ԗ=Ί.cՐ?/&^嗚` {W|#ÊfƷe yՇBIJrXF+qBsx,S',]{ +컦vN7t*dՖVob.b_4(֋ mA hxcW<>ћ3Qx1;9Jxvl]k5T*qYs]F_YǖvO~yg;Q&z rEφ_??U^,{vzDT4tTZ]D@UsG ^3<E~ƲGge?m.wq4}?XC#Q(sk]Q1~klb4#<󮪯΁/PK*Hji 4><keystonemiddleware/tests/unit/audit/test_audit_middleware.py[mo8_A4$\1{9XonsqohԒT`dKdqY3Ùy!s9B4 L,$A'C"BR{\UU葧h *є/I |U3&#_- ' S0OyZlǙRIX,}]n'tz}||~}OWw=D@M|IZ$ J&+)ɄtJR" %D̩Ԇ ^b: + u: iJÜsTXV` ! 2ᓎm|OiD+5ӐFf"Q噆y u?eEDJ`&ug$.[p wn b iKcjOcApdjtڽtGI)4@*dxͽ'X8e拰*8jf` F0u~>;0\qnBGٔ;]F/>1Vpa8R#t:#=]HeIOY8))u pXDdy{W~ h}s?͈Pg8v ^Υ"}{|B`eBm.GfV* a!uOD>X✹ K*wҮMD0ַPnl/pwKAXxvUKCEi*QK0Ul%X%LH{{ :J[=?ljgolz'|d$N%)QyQ`l:#eDH,K4!^ L!rʔ,.Lu_'4{UCd"ߥ0R2/7(ExbhjMҐd:%.!AZr^U`H[P6z&jQ),>vDڲm)j6 G0(=F}wT _݀M;)|4ZY2Ѵ2oo{yEX4t}Cz$`-?xc-9Kc6wQS5oH!ٝGVij4h 5kKg^|tӱ5< ZiQ2Ŋ9Abk-}:ӿsތ|ٹ)zâf%vS#+TtdGp8].o~XH%ܢ6a!<_nCI9Wa(?xocEmC"1:nF-Nqn;TY «IN,a{?#Yil;(rgcJNb~:n:V94T/s+R;g{:z hs\E#wmy Hm 4'[wzEx쌹\uIAecx;=bC-O A.0|SZ 7oZ'K/vG;_: f٘¼+:d5,bA3ډJ1_l)HzQ6DHxGX:'&mH">4i|ržT5 %V`d` i2tfŤX-:a],,jmPGaO5XkYm`As)2"5*WG={VҺY73$ԕwgG/ƺfWYXYF  b/b>RqxjZۢu??W@=u;TzqY6xd^U`2'J߀%NvI _b8R# ϱ  кy].n}iZmªwU-dBI?''HᏦJF*ű[9J%vY:*7nA9#G;ޒz/@\jmT#dyOKfu;PK*H̀ 9@5keystonemiddleware/tests/unit/audit/test_audit_api.py[s:_qaN?pڲM!v;i#l%_Ka2H~`<ڦ>H^s&"1A;R!C:䜷R|fhtQkV>z;Ըl{fu.i}:m5ڟчV Đ TTiV 8tH"<"hoIЧBESz.O%?pZ0*@ !uKa}LQ@]K|) !S!9#>u](\pR%ŠnR R084zGEY=~/cO=J*\2D#"O=ݲ ް|"ܭ(%հ}iU44$얆 e]CȔD+O@*mMc!dXJ)LJ{,7&AHIH|.]7|cn7:6sF$ Jܤ.g䌗Qr8rK,s*KY@A?֙_ v[ozzYu K}ZTY$&̌ ܭ®O!h\ȓ^UQ|sBtE41w͞328wHͿ"앓W&vT6ݚ2ɬ Ӏ/[@:9r}9xՀx\;1\47ZcrWXylf`z[(G{Q p &pnQ"=gcI 8b*b7Y9l OqI[Y:_'UdL Or{h)3)Wgͷy 3*˛ĪP@J!  ]F@c:i3u1NTLzK}n=(o?m;E s샍A.ty|>t0wٓAhǽ(/:^>0ZXƫm>](Qةp70؆G@'P%2~Đb8A&س.{.P{Ɇ]m3:[vSƝzb-æ9+M<>c\UHH.^[jdޜ?a'3L}m,:lEulOv OGaѼsAɩ_XQ' LFl/F_{[;ݩ^svN[L; Z?̻;=!BҺޡ^=a^7nvqj^eAl}7TbN6_,Gb2>s"r }*ݐN=n,Nܹ\=j9:r/*BU{2ʶCFUG`ٗtQ{`6/h6FqygR4ͫ{#[=nW g$ynr3!%K}adKA4𨳳1IȰANM*]\Db`i >$:3Ofoi7>63*Jキ{Ͷ"7]\v<%:^(H:k{gk]E=^M}O-S GނHV/Vo8ND1cn%*~FE&O6ȶ@$sH齷7(d؈/I>R&TawB' 0OxgYF%<Ϋc` 6az +/: dLB- $"g^:NP"+ 1)w90Ss@Ri,b꬛ *:mEze3Jyhoy;3)PZ$;fڝO LHp:b4 DbY0uI-lc:^WR@b_Y^׭N.ȻVO2-{r!/wX؏GB 3Xɝ8HxgCٛQS?{y>q5os?)V~PK*Hg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyWKs6WSJ?&ji"g,L&ÁHPBL ZR~}wAOإ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@;>?[9dYPK*H;?l7keystonemiddleware/tests/unit/auth_token/test_config.pyWnF}W d.>Ѓ8T "FĊR[S\f,,Eٲ-(;g.;:$$@ f0IO?:*a~? v* Q Ʉ 1 jR$>Vu72!KSzr L6&8?nh]N/fĘes.5u _f,4H#ŀZD#ThB#Y df\V 6] D>,\O?,l9Z=\g|Foo`2NgGT3~)G \X 3ͰJ*e)2>+r!DuBہFf͌ˍ4;Ylȡ\FP ,VPF_f03ՂFaW.3* dWfuIȫd3iDFz["4^ evOËFɵ,%{~,(vKH;n-K6dӿR鏤~{©٣ⴁRO O.7L]ۑ'=`H4jro/P}|C4\4:<=-0IiPX%wW̗V 2%,⣇X(nKo#f)k93yq[QvhǕ v vRa382Pm6*qmkp'wj5g|yQVT쀇T)MG w{3ׂ8PP%ˬdPN3w`k64SEvd<ڢwغV$fͳ]{α +C(rme6v5ĵUjtʓSc2@5TlXmxΝzK8rPAm>"v:77gBgX= g\u"tՏULUkAEG27p$g]Dz  wMo57PK*Hiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyWmo8ίZ\]@_NnJjUU$xI픢U rۓ.B!g333OBk /JQu yBcHPY s_5Ÿ4>F!'IWX2v4Ph$#\Ìcn ea-T[i0.-F9L6˜]VsGRͻi)W/tU5(ȘiV B3Rp1A˙Y1NµQ|Zj)r_`cN#N?B:vn77xp5^ƃ!~1^-1‰I#O&d13Stb^9\>2-\L 7ر-jhQ $̠ZY/ zT<٨e2^Z3%3XZ)0I6bYL\J~RfO顶tW3IzV͠6:*7YZ8eDv tt4wZ- hM4E;hLg!7KL&)%)@uk2&˻t9#{t>nJmRFe=Z""$)2QAIy2C¾F'( 7kWQ6#/t <15L; hWXvPyhř;vA䁥lFI:h,< yȣ6փ,LL >t&ƛpXq>vl~(^Qۇ-Wh/| Bhsʓ:͝}UD2E9le벊 p wjLJ3CEh6ը(7s*%u;cOWHPkܭ^L789|l,U jg{WZ|erX u@I4x2{:#'H!WDapiamTൡz׀[]U!kk4[?>ݿI};#]x2->@_Ac+?Sy~Ľltac*`Ϸ33G=f`1$(gߊf۳ԙ[.^챷JL#:l0Q,bhA>רOؔ6YHK&dM̏&IPK*H#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyWmoHί%:wyk^N@ iPzUFbXŬuߙ /;>;3!| sfơ2˕S$p\4Uj&"4Lρ/=`IB8@02LJG(0S;gfLxqtX,fv5=ca}wz]\kPW$=Z 3_- P Fi t01 x 4(1VR?1YLp@opۃޠ?zÛG{]75׿jԡ% E J+;0ĹԍIC0@9ؔ4xJb\r5J1b. 3;+Djh6PXjᅯ $&EfKH9{T&S+Ӱ}Re6ډ0)Vdk3m!@c^V̴EVODKQ*B%s:6z Fu=Tgjksaf 5b`y 񂅋"P/ Qhي`@`(6eU* 6fv.:V!Wf"@F1 n6w `5uO߰_*sy||"LT_cݯ  t.IZԐlkSpm 3xXm!831s6D(Mبj+Ct | uB%_ZʺD˶m o!{:iz)3"7|.$T;4֖[Fݹ_^n۝*~+E.&s-+؄n*dR(IyaiTRy6០y״Jw ۟-N!@qnP3I$[,Cf+x o}>. #)&3fއ"꬏@m?PD$GQpY9/x(9XpἉJKkoI9Sy{TƋGIr% ^WΤJmT>0{n#OXTvw0-О.ޝ< ](\F"OBKK q2+\7XEtT$!l͕ޛ,+K{i–Ѣl1衞sy 㢐ml1K2MP93=|1e4Y w{ywKsE pef\+'#eςڗdL>fvwLA\qw+4LB7PK*H4keystonemiddleware/tests/unit/auth_token/__init__.pyPK*H 0keystonemiddleware/tests/unit/auth_token/base.pyUmo8_1j?V9SǞtUZVLS)E7 н[K~f<<%<s yaRAm#.៰W%l޻\Y( a b,,b-yv]8av*\y%mVcmmq=v;ƫhHH3zNqeK44BSxA<0%߁3g xyQq%j6(U_+qS#nzĜt~ܞ*Uʘ֛b9J#a[[ ;u*#9s.p*̤js|eǿ*L&aǝ&TӑOqC#%C܉c;EyAn]?HqƠwך1c3,%$VVJ5)A\Z׹0gI C 4ǫ+X< ~"R~<9'蘶%ǝ X/PK*HJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyZ[o8~ Z di <5&k3"(Zne#Qv}IErھ!}n߹KtK}b$B⁠RoŔ3=G}"%x1.PPAc!A';(C>BOЁe&UOZ+)Mwy]CX^Q]+.6gn'b +;8F'zBx|!> !m(kq-EDWD+N ^,^d1D'%8Gd@9Mo&l D'dz3Dbf.$q$DFZO&6|O"4ٌ^B 45r{=0#ȡ Ze  +=x2$VMH"(`CZ~R2+1\zF1w~L5|W@M=P(BuS*FR:rW/}?ڊt<=iЀ&M)wj&xz,'3rǩ:^nXF 1Y\sі0jL `?L$~+q?87 @'wl{XB}giZ%ħ9k4 5cw./l^Mj^+fRMTs28$ &Gdpp巣 ¬ o!3Qv5.;MK(X9o*kGR㲂$Y_7]%MS71ۓlmmɾ|cfh$, ̚jQӛRmKzoEn|5U?@\ e):ڃz0 ?ȾclefQxj!~4Zq#Z9:ʸ"537Tmjmx48}!%5i J{R?NZj0lg+ͻን* K[?1!4D#rz6NH2|VOtm1 ηY%>ߑ@-;n}q݄_=w@_UmS0˙Ԝe\?"X~qr)G5S+_/ HӸE-;ɱ6pjLO;r 0Ύ5a{qvcGm)yǗr(fd0BjՍÖv툣fy,URGZkb1YhhTSak ӉI)D )ߥ(]XYV/dC\]s[^1w }ӅXԦ1kYy`SUcEٚc%3!*Դ|x)Iå@XePT%Dxm8}[GI65oJl'Rw^?2m{ڻa>ДxItl=ףutɴƉ-eo.^Ltt[cLᰬX&7%lL\~W!"ĩU |qzYsqo rp)k6Y#,q{ RX 3A, ,gp©E$ :lMM"+ޥ@*֖*.aK*/CBbSAy)`%ݟ>&wC*t]Uhٶu5,eYzM#˭ ZxUXwt·jXV |**(Њ]N㈼MBA=Mi2XܳWC`[w6m:WrB 5eJy5Mԗ)iLbta([$ dp pXe<T}:Tof}٨(0ۀeN +ۏo|@A䳉,K?#Üm/PK*H@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyYYoF~Xy$C]ʁ\0 bEH.]Z \Ғ|nӃ.wٹI܅PGЃ^\/OK.Bv ^[/?HHV "L.D"|BȂY*&kAX1"C0efz͔eT=?{ǃ.j| }p:^B.>[6 /bx8)&jb@Kqj*Ch/!__zC>G~!Yo09<GNHo:V(QG%#x A[ZU(0B2O +C< ޔG|pŔ^#ҭCQB"Vc X' ,ka%%jTI\/[R)!|Yʳ,Z͡Ej[ .OVS&q\cK'LC+2AW۷b@#L)^ P#ĐCfDggK =TEIWw:c7 2_?b>F͛V]C)]F DWYZF]VC1VkuHj&֯ǣV`r!/*فxm˄nrR/+wv^ec8ξ᪻>W(o~̬&2`'PK*H^⋪cDFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}ks۶ t((-=iqmIb=KIZ"Ufߟ@ x|ɥLS[bX>qML/Rggk{9^pKE ~D'8 6vS;s'i;X@sg崰cqn3oR2a"HI0c{?b BgG̹ F8qN4Lf~Ov҄"M77;>Ͷoltݧ0csX81sİ/`B#ӜN;4f]ᄯ iIIz $2հ%Vy?pzOޠ;yy|z~Nz݁sw{'#녳wtv a1& ٸ bt&P```]tO3XrAL`zcg̃!HEu=8ucX̙{MP%b/.O|l[.q6$x.a&q4w.MF!Ŷ#pHO* -f?uB-F@0ρhZaAGK#Jf8g_D1 $ ҐvD0\M*x %2D0"9Hc 5FCΘ`^]e'o";yC?a71?/j81F~uo`9GeWi_rYAjryόlo=zm{/O_xݣw^;x 9u_~z]X'yӁqps6vZӓH7聍R0t0޶:Uڅ-OݾGLlE-$$jc?~ݥьmIoyoax,C9 d50qK??ݰ,@Z KNvX;82/@ ` oG1~fOe_edzC앱,a~Wp7Q.xf8fAMh-W"ڗnfզ 2D,X1KIei6DZGFL=ű<*\zP{> ;\%xywNыW]AW]\vq Ejt"i?4[0YX邂ܝ[OvO=ǍGu`uop]ı9 *7Ao]l'1at)vŸcx6ﳝF;?w==>;lpјMe~\pj- 73DI'JiE xЍ(/$c^OEt??h"HmLGatc% [_9z/oOF39fP/82[R@0"'46nmy%,E* g7y#N}'k*}'~46݅)aۀV{BAHZYB0ѐ*&/lv_֔ 6@+?Y}&H<FM;Ǥ!$ስr`Ko,18D6{~ $"Y '\+GR_O!Ȟ6v9 WcH /KX!*b?>AXylO=D9ЦЖ{Y@8:GCW 4t\q|,hU|sY ͌*-_ `LM![t* Y.3R?S '2?*:4(Y}om JqA)S'3 6nsKPmkM`eK Xu„t|9Tbon/:vAXԹ8cOA0_΀x(m`}y\c>Mc?!21`"8m2a1.!Kڀ| x|ca4ĶdJ?Sʐ\_rv9gew~o זRdDEO_Z щ% LhFK7zMz8TF <Ы]yW`}SLډ0r qxow3sY]f/g)egHʏϲq짨5&SXUVcv\:'>S}6^'/`;SĶEKi5VQ615Ulצ*Qa:a@QmmѬ,"6/}g9W;%[ۻ`E3fu[o+.ewbɥ-KUilt#͢Ѿ(Rzs ~w{%i :Zό+)НpxH;35fD: !Ep1n$%FHPS6b6P[`]D(< }P0e%ɕ_Y|҈: ]f;$yM f6Bnq!V̒#c48E0s ?<]hJ8w~U(~,^ݩ-((sUt|mfA]H˟ŅyyާI ?$ˈg\zXǒFc=F_ځh垡#Cgj˭Vˑ(N\c׽U=ͫ&7ph&S >3#A Rnu;+dB eXδI8:7QGFקj.PG7> Mgf!)-yϥor3K4 'R Q4b j(maMߓ`vxMDQ\KU]+>/Ei6+ 'GR͛?%0-7@J*+Bd&?`It2Esw;pѸ 5m!'~> tNn ȾL[%s(l\Ԙ ba#jlPZefZN7B 00HmNe̶ ֙ұ.p{հ8f͟ݛV`߈;'v_x3G˓$ cdD P/G.y.lASgzP €oPS”L7xnӼٿMo#/oȷIRCaU9_ sekPaȖ&?/zމ: 'mS\i Bל`}au5( Lf+xro76UsrgzũXOV!;3fԇdo癕<ţ%x\d.+r{v0ܜ92 r oD31y 97:FJ_7ۄeQҟwԘzT1Xq#l2o'5!]R!g"Uwhakk+u0tߗt*^UOGmsnY.oCur/|s#v%ZB-f\DX'3D @懞<=?Yi?qmRZ'O5vΧL54]ƻ8{5G)ڴv8k*<4Q۫1#K*ť6k;kAdNvΨ`o: Df:Q,.tG)]7ꆟi-{z\?>}LA9 gv Mb1[NA{^bu]cO U n8 m4ət@1ԂwOey{4 ڣ" %=#+[PeW~C3aF =,4N`&*&o`|vJ/ jzTq[vw)Z][&jl0O{OaSodTEO#|#Ф:&-۰jY ET`H8W6Sm.5n3 {϶W_bx`BӮ)C[gc༆bPdkmy!LQ k.ZE%*|Ji6&äeV Y57 C]Xg<\(ڏ%֧Д$n@"z?2ahDm;DE!QzUX9q*#0)Gh`*3vNrg5e#k,PA}ɱNYkg9z#'H$It O⳸SJg.A|#k`Š0EK\*p1IOfLiK,S[ژd59H~8 Y_81Ap<5+:p1<ӮD` =ܤ,|x}Y_Z-!;aܹn9ڎǨD|En~ݾ߰Bw܀5bo#ΌUE'bs@²dG(Zz2sL[wpG2 9?V1s4Y R1por2Zw.H,VP6Їt90tZ` `4A]sZ%UDB $!akUHzk RlX(u1bZԣj\!ݧH]\\7߮Cp !gވz+Lx3@E]QӊYF!39qi}IR<\"R3ΜI[1T 9i>~s*k}5d9Q͈_LKIT'膪DLF1e~^B0R=R9s^V"X^s1z?u.͋TeS3HbBWw(ӦPe1mw b[Ĝuo$ZpR( 1 glίvw*Zp:+d+U쯻keCf KC9t:DM0KEW۔oİMϭ@ |I.'zv`\2  `FǻHQ% I{T/d32Ww%b=GI?Vz/t5븮ʇs튙GX* &JoeM7>V6A;=m|9\b cĞP<E ˙ ,{>l")h|d-3Fن{4?9iyץ7 V` ǝoE`UJ>O2bM4}ι@$M& d՟I!EtU{I \ݨxkݚ.^U+d;R{1 y }w{(!s'I_6T'<7Hl̽]eBB7&64^ғE p`rch|2dzgNDbnMTì2c;`-=g:q0vI=Ly  ѿ3:!YR>JޣB_ 9"PĨO_t[sgGhRƿ7/Dvʅ%\LEfu4k# VCQᑆ\5$M <^,VI,DlӋ |(3b4BmpfM}>?9V-p 5Vzݨ.XF ͽ:GZ9k4s aѻ\/j =t6#&ee(Ad7S}|,!Lߎ՘B+2ZX(RlL^:eCav et(֧BTdݝ&mrgP|=+ $ o MB|ɓ|?;Z}= XRCsş/Gs^$Mg\W2]I0gl>dqDvK!,J, &r(x−9YbתMɎ<(~gLٴ\|TױXy[uWQSr^ _I {\1 z(%s/| يULRM$\:xfA#ٽ2|5.77п!2* eZTuҋh͓|FKru"K癆-A"q}eˢ'l)΋LfM,gV Lw  @y "Jy4UVk]e5'ȥ^Т)=[C{pYJ\8M/#ER(ÚNS_f+,I\}HZozz,5/I2ċ7;-KM ^jڈ;\[C"[&&W`c9J?#'yHC9(T܏T1Jp^m_#o]SɹxӂF~6zJ/PS/W~yf@MTpl8>^G^|~r-P()]VԄ,C A&=zzi`jѠP0f3j$&YvۨмՄU+˺Ot}Dk ( =3/ر2wQ$a82@V MĶG~g̛B,6s*j{, #dfyF ҅5d*&B~i)8݈% GJN9Q0{n^#bHx6eRqt|H?y)ʫ9*& %!p/0xp0VES) glzQ/Ѿ,gF4( g` gV۳#X1n[XRl A5Wnޘ9^j<_@AVTm)ۍ-@(m~O EtO^bdݓ:b5W(a4uS(hHʶݍ1׹s_"92? CDտktJI0m|GDzrZHEApzwǧƹjD~p68(aIvdf`)-$ku\&07 dȬB5/!Ȓ8QnGWS o`e tLDZ)sГuGT 檷V^^xԒǼ? +Җ(xe}Wl=G(*jtVɊ$pZ&r6W]?$nZ'Dg`˺=c |\eNN?fԄU#z|L- iRLds~5S\ ;&65 )$ޯ&:ωp1@. fܖ9sp 녗ԂÄMğTP o|%)oh/Ny?z PσP ȃ3ζݐM2U&.. Ga4p K2DBm/1ZWh $|CUg>j(Xc+ˋ`=>ڌَ]u7WێyoolSVBnu|TcG[壺w'ArO8}6#DH- rd.dA6O(sj8(@@z|$ 8˄;s_x;o =(\{[=~Ǣ,Ê*I4g8LݮCê", x[\!/<`(Ls+S<`Y^7{("p()%^n^xcg#*ՍCwY qhM[8Ű\@Ɉ^X؜cbq>y9gJ5{,NfQN>¬ ,SKîH54#;diAHBhBqK?zm$oF}h)Ѡ;8EQ&Ì2@6LKx,1TcS*IE*@>E~p3*rBqI@GO+J@Psmœv/>jƷtJS,ȺF[oe/d]X85qJʼnZ5*pȝ]"6Xpvݡo 0G;cur;);t"iX=[3ޕx@}Ii[6-Nϐ9A<^qT* +sOA#ccb1RRUY(90?VR S[: wĵޫD: 9&~h۸kۺﺥB//Do>"K.-\a[0I;q4o1K?y)h5;S@e {o8dNCiIeV#kIGs?R[8Jwf^ 3\RXAo*KAC^#++'̙E_RLn)]Jxx{;G'_LGzP1F(Ee_ SK::B5x!{}t%8KlCUߞCa7b@ẽUхZI͗RFβ!FgNОOk:VusOD0 i+|%>-pvznw}BwX=$j/&9CD%ow賧=-S~[2A~o C7bO5*"TvQr lv+vMT l\;`r 鋂?1KɁ H\m<v^GL_.F2^/AC8a({ya2ng®<gztE_7w#;IY9|ڂE&k eTB"/Y}s,$̕)ZT;HUZ oˆX!)\3|@w qV?wTĩ{y,F˻KnO ޡ` ^GF M7 t"ч^_PR+vpR Zvm=S((qW殹k{.SX`*!P|1 eE #%uAmj *ZфM K s]tN)bQ YV(ð sr<}>N>h~{۾7o6zvaޝ ;koRUؽh=kRkٸo=KJ"`Z*Sy [ns77Zmz ]KS*0-!;r~UbeOH\EJ3)L=+`d֒o1gcg1PY_3bԜh d1 L N\2ܲvXWTg( aBP.7&Z:p$25c)ySԵ*lfRTqkDajC*jȋeSdw?R!o0%H`8cVͮKw+b ri Vڍ);|=r1Gzh=uu@EK QBSV|@4lD-C(ٔöX3NTl7a ?( :TWq LUUg:"Jաzݣ%:"ʤt&g z7:7)it9h¤}!EpdqiYφD;V*5r!ܪQWiO8 NON)R-`}x=FV_SM;fɅ;:_p>*oˍxXTY|dFf=7T|M٦pUY*t=ܡ+Z{|}9kwKY% `D8璶>ytkBߢN9D qWA 9)8擇XoO`mm?PN;ӓoo\8b( 0t^(gǝu;%%M&R|P+$@ؖW=8ۿo=WǮZ nNwOcgEO}2[}>+0f 54$Y6p1Y\)uho"\-Uфshh2 !sf+~hKfWW`6ۛIj7JOUgx=uwYVَ{+fܘhf- ekym ɬIl)IJ_ڶms.=\"ڕԶUrN-~ N3+]Y9OϾ@̞[]߲qd㼳.cWxC>Q6w(Qwv=cG@;3Ȓ~N49j&-=1*KAUhX`ULש )fyW)ϠB<n9 Q^p]mPW=Ec/ڳ[N^ ky^](do|ig 80F/+2.41ʳ .A.&$D1Bb&MR [Z*»]|{GOǙׯJd2yuTwIA1:DAɋTD*FG[I'GmAb0d=e c#-{PZH K32?$)J`K(ŝήug`6Z$7VgL(ђ,dv9vdZ)b(~3~zX:-ɓhY2^0G6r"5 t#_9K3Gv0KdS!w_9uN"Vi&eo0 O&Q_r6+"r3egc.J IM ?-~ļPhg2*?(%M7.8Hڲ]6Q'i$ C ,.yљ|"OtDh)F j 'E; `:W31+xNWe'Uk7+齃֕К~9{7TbJލ[Yn]"f>-$:jJPg,lT%ҿBn& js P~f!i AIQ(UDk50âa~&ՏoJg'Q>>ԁILq Svh{돜(52IZ0%e2š+ $@+rP$wQSrOQq'xIK2|-U@jKli*f -oQXi Yd+Nպ>n~^V^)6mF4^aC'YRLDTDT'\Cø#fy 'Q! +&eNRbo:vf C+\Ul(E_ί =XwZ$:qS뽌8!8(/D:$ ԭw~zz="GQ IY Kblk[ӜT 3}_2f-_1apf 2)LS Zal;HTP  f{7KV1+j+Xp#n6uedH%EN(ڧj\/jg wq-*%ބg7Z;Nb }!|oG Io9d'=I#A_/*JȜ:{DD$Ȕ 5Lyr*&,5dB<5AMIc>՝=84ϭr֋l?L)pt46<"dJɾ%\7+BcPhBo@͐.I$ Ig:Bk.f=^R@J&o6 xDh0/1r|qq<NG; ƃ!|{O_G aDAI~dGF =j LT! %f 12L 0Lιh*P/ !sM5~IkFy\IlƒNg*9g+#ho%?"h*Ԅy !{&r*^3X '4<wtYȄG.Q:OQ&# <%#[@!~ŀ􉃹 r<`xGq:Ǘ@~HZ$ܷbS̸qnts&{`l !|KO^l{Rbի{9Spg*Cy3}#-64CnqM`GtI6`4葙oO痟Bql_5%px0{EIM@0)b%J]c>T}L5\eSadevy3G,Wo*n+|owDs`E>xl ۋ[$SGeB3鷄i ȬD4VRRzAwU.ٻWQL- D*&QPes#[JɍCh[t+/f^`(dsR{I#dKw-2pVtn遝O&Q!2#tM`M+5J 3qpC;7Q|,4 y/Z0H@Xp+hFuVlY~YL\aˁlÐnK"" Z.^VuS-U~%,idݚgC2s{g1]k2J?fA:4a`y1b2^%ݵ{zƂSpnxQ``6Y*) <\LhWN`{&8Bqr@?y \&iXP&WXgqCX 6pp&2;/}$9 m#!{S\> ~q-{hìBoP8OrOrE$W&-$,"gmXY. Ȯ|#`%-Jg"@eҶai.]1PrW6ĶLnL+u}*$t#!UvjK*'cofuvnވjk|**ҟZȳ`3g;c m%rob6ZPK*HM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyWMo6W QWn{ئ8XS.$0f#ZZ;CJ%#NOY$g% B,jd_Qi.|~\TC?UW4Ph\CSD")g"BXsrTA^l}Nix4螕1p^ ZR7|+e|DZWW`9%gJ3ek R!i^+nX@ĬBsm.L :=ZtӀb.s/x>tiAdzt2GyNӇ`<Mg@ŠMl$8b-6:D #%[",OT9k˦bHy 3MxM(T.n=/Q2|F dYx7 Ў[iAix,,['̉UuiayDmt%wU։av8Ep`' |AQ mQ{cs Mm_j]"5c[:(4 =Ϫ:+4|i2Jj3Uj+id$ӲσǙ8れ`][u·t5[&,÷3Qn^Bڏ'u+,u,<%*o;%qE~ag-[Avn!Va Î!-'!&S{=_QfcjD5܉A.4wQJl*2 T r@V-R&dTձ` ;Uq:s_nZ]Yy] ~ [DZ-t-5bˌ]Zz쵇퐍k;îL=큦kvX=hJKxXmiTuUj7xN?uzW7"%rVa75wChwŗp:[L7X>2K6,:wE=>q9ozß?ͬπ-Pzֳysכ|s-cOJ{S|[SPK*HͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyWKoHWFb%;'V9B4h"hnOw;߷ƄeWC`zwGp)CL Fjsn&BZ*WX^j4!+Re!7H*pbfA$HCZK&VȔ4 }-:GXIɊ8a,(cn3KR`8ܦR QA2 LBdZY 91Aҩy)ah(JF m@i؈~ DSnV22lգ^NbP 駡^e`78 FHڑ1跾J} & =O~ ș8~eJ+s1;ٗ~ h]=?@6TWk7#zxLxCAI6$*ʉ_!cfZ>AA{O<Ejj7M) F4lpZTm6s}[LDLKvµzmGci`E\|\ .Oĸ =p bmG׹3j;R>`UWR:d_~{lgjݓ֭3gɟի&[3Ϊ0!uPP0s3n LV&x>'?hZz}OQa/DL|;|*,ˌ/9.] 6Vn@5TUms+w^ӟ8 )*^[` W˗ttޗfcmy`{u9r{ۨYjV9K3Y,y.wBePK*Hc]8&<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyXMo6W ,"\,zJу7qQc69M$0f#ZߡLYNn:ؒ9f> B,z$?Qi.Cg_`+ XwB(4װ>&3DfUNSyo>kx4X^+cpلdJf~\Gb\܊ _ h[`9J=THcFZ \ SH()FtjѢ]ҋ 8E0(DMnu7MqM'lJOh>N iEc,"ɭUj,dEHOh]bY%RJr GFS2LHEGJe@N ó-\ni{%sE+ lة _''9kFFG]6s]C#6I"7kd6VJCiEyu[weOv5UC]V._Z)v\{Pi^\|"<.^_v@_PK*H#keystonemiddleware/echo/__init__.pyPK*Hj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PK*H}Q"keystonemiddleware/echo/service.pymTMoFW 6r*TnC$K"F]vw)Y-;,)./${޼+( Khua҈^f_:i4Mo!aA `Z:A%>x S7J ] ߄4}B|Cd-ȾȖfߧ"ԚQMgk7x| R)ĊTbƂX[$7\J/zT~/,RR:oX -a0Y@ϓEQl~y l/`.[fWFrR8bɠ-/JLWk,3namvh55 Z:Kd-A4A bcݑTDPP+K@cooop|ƢeLC(e7Go㺆-7kY SD"D77[OOP) z°ѫTԮ1(HNZk;a%OaG]4U԰wkW3 s΋71NH7g4\;tB"Rs9;{!{a}p8x <.~͎*C( hmʭsIf>$NAg ox09􎖩In_J*=v. ir)=A*OЧe[7/Q!Z(AwO,: %f ’׉\|xG 6H-},8ey8TU+[$Vk>Ee^9q90PK*H&keystonemiddleware/_common/__init__.pyPK*H=w$keystonemiddleware/_common/config.pyXm6_:$˗j+nTԖ/Zp 6XTwf$ުp=gs~9n8g9GWP}|b0Cѷ*N ʲpD2!YvRd2(솖 A0=y, ҳvw{{<M^ߖnia6<&0.O,ۃCy7ȔfZs >ja\Q+{4BŲh LM|:ߦ?.gÜ=~`og曆 ޳ݘq,_'Ƒ s4U;R!X%Ul\KsOӀ{+N; 6D,e:TsnhՎ)S4Wr%OWb?x&[~2VIEQrkmB\/4 hL(=.<(9&=v@,S\3Eȵ`MI)VbD2+VZ,dQxoD8ɽ1^!/'[`[ )kQd͋Lhc لh@2TnR\&>@ΐO!3 ^r)Ρh 'V5TPT. PޜoWLS ; ΄$oI*MZHVq/`i<(bP;I@"`zl11w`_Ff8boC@!a|u@"fb@0HB )lƆ1s ħTyOhJWx|A#GGg~+zwÏ7up1C|ڸQr dzd8u,NEBP @xqC hRe`sP#)p'k˅ÓKȹJ yQP0\ZwBɡl J<3o](a$cD!~{TMq3\`"PXHxArRen U,@"v<Z %ZǍ7Ou heUJ0 J@rA 2%j:.˵@j-H4KP.8K@O@z]F^?VpȁYu.z ~z')[*m3 _>+ MZ#,t*^ﶚ̫J4_!)|]п7_ԢMtf\m:is,dR`NN$j.N[(l1tetY!RfWp`_'j(b筠! k'L#]sOd"p&l Hpz-^7%r=53,!%uT>.w_IᮟoؒTY#)]/N}j6mj Wμ8Me@kX_#@!ZM41 :!im8{vڽhUފt}rHe]>2^s D7엮:nx'0vr&NdD̰ F.źqhIj$|}eVIyխJl;0:?znyDHδM &zxZ]1Sd)G Ml1xcn6{Wڸu /T#AⵅeRJSR k(D`ѿPK*HUcw ")keystonemiddleware/auth_token/_request.pyZ[o~Wlt`r(!6pp֑ew1ߤgn9Ʉ&ŀWdSFsrMxFbSN׏Fcϖ My({Y#Twa=j_xBjІB^R_&=Yʔ"t] PL3;"$+`M \l'J,J\䋍Y`/ጌggp69c8'hFnfr5o&-N>U0aϹDYCK#,`), /y ze ]1[&3PLBo*N >Lj!R,XR)&9M_q_6{c t: [h*"ھbi*V]ٻ蠋.E5ƃ]Bl_kE8<·7Fi( xivŐO,3#E$~hesO jo>&!q &-` CJHe#{2ഃNS+hYK k9 .*2o-: k VUae{I) s4@G2 $6*թX,x?Xk%V!yb:k睽_a0BWNMyd%&$T,ҔP+? r\0p($_\#Gܖ7K݌t U+1ݠP^#L"ЃJa(Ab~D< TlF%M Jx GOYzS'y]RAUإ$!+ 3ªUO޴l)<8)O?c*,q\ƓOYgPv۹/We']3,ˠ@送Kӏ*VQ[x 00uRw.>gb.]#f>iF-G`q6Ʃ6V\끵 hAߙvc/,b)v_1fkU,]V@C JT>">, I]خz/>13Vxa0]? -Cuo~- @-ei*g!@nd?jCo( e}4Ң/Vb_NG(:7~'z\=:R?] wVk?]-j1#PaVR@IU"é>ΈK\c4~~sKq%Tn3)[4Ƃߜ\4HÉA.%şC`k9lN3o Hi EtKg`h/g%|aN?o6)cFٖQ?=D;?`В#"{M@GۊB 35Avڼv2*tÉj=: Cq**Ouswu?:_LK_ eMΩBUhc$3G͒$q̔ c ZC 呪'"֫o} spR]o%}Va[N}_lW]qQ&uJ)֮;FzۿV|S \뙴Pi6Ժڸ4I41 Gxw ^U{Jz8}ʶ:M>^aѱXL c=G W $h=EkC\.9189*&^9~/আ0 ds^.S3kQ濃0^%}=29Zf1&]vpHVξŌٱGҨ47U5=Y;W\qLr7޷waٖKx^jӶ֣-mZ\]6CRr[c+Nxf35UJܔ~zW=8dyu1X#8o&oj G;?.J|ey O7uMTy[PK*H% )keystonemiddleware/auth_token/__init__.py=s6ӑSؤx3:NkblٽnDHf#:~ vW3m,xxxx_x<ͮʗwMϟ.7nU-bp48^sU*WUE͝N7'GU<*~g®Ftemk :Z+sizbaH * YBon ! CqY-\qӳg/xWT]Gm^Lg(:tH҇tY)x֔C7yDuhJ,*mV9g`|&zzuuzq3=.ˋӛ|{^5azr) >n*ĿBtTZ)E(5fV,RE^UL(ڨj׸5 Ub;x0>MAf) P;Eo,[)4ݔ,`r`j"?SfS)ZU7utޫ>]0bKES\A6<2Q{7/jLM@ e^}$p!F*%*"nouHb'fH9/bG}VSC]_Hz[hAC}?"\IYX)`m t"۔9[ V9+ 5@i-iڧZh0o4RWmd̪A8V+POD-~`9La0B0$iF]@?4v%0uF_}ˇ⁰l1|NT̮s07MoNo]O" e Hgeȫ@Wô %8[z;MYb͹U 3lU qb~cS1bCP-(iO`%H`@T>) 8$-]=Vd%g֣,DwX bU ES `Pwv ~w ٭f\鼼|s:Yu<ڸji9(1T(R*qt+"Yi SjpoUfT>|0<1=( /A݄H>'F<ԱԷ K#(#iD:-HDTDȕmz{ߛ2hjMWFz"8k&:B)#vkV3-Yp2p,@.qzic2Di#' TJG~ +r,@;J/@C.S֑Нo_}7O{){&wZ%Oym_)n1W,S-CJ@uvm7@'OT[5D?|jR"缡P֮wb:2;6 W ܔU>{tؕ> Ӷ%ygZ5Fm4{w";kQؘ&EhVluwwvzs; {*Ѩ^bPp,~+nYBp]R}\B3D xyhT1q |1C .j` eCڢY$xI-sB]LKM=;?~UViTB4pѓ=$5 }:/LX כ#Zzyo/N/Kdnrv"qҟ!?-Mn̆(BQoN;TkT;'GpqftdҦKZ(|Y A7Ğ1-2wmI>Zp S#Qd@47ښrnqp$‡DNف{A68u5L.0KX"Њ$xP<~c4|KP{d fZbfUdԹDgF ВLE18-b GPv'[x Y' oVۥx&1wW -ǷV[@HUfFY{:2mIEaB3 qr ±E^Gr$Qm.$R1(7}cԳ٪9O8DqBO:P2`[WIh_?{(q_܉ ?> 1dC,D m ](Et?Mno9WiRJ-S313NZ͢\?f K!LmV'Aτ]dc)oZ~w_@gAaӕ[1j;m@>ՄҘ7ú)FookH,z<|b cp@U7A>/51p7kɀ[ cke ;_q(ARA9c>arhi=sSoqkĄ#G$ K7Ъ{O PI˞nnX関;s*$BujՇ|Y!+Kv[P ^:|Pr#QR -lsOi,>1׽?Hy'u/=i$tW,ҍ[nl;L7VxF Y$`G~y2%r {+6%ڜorDȈ8+woy sg1(%!6?`;)"CFc@p +˒Mǜ^Hlc –* *N貗` 6Y:`ÝB^)2چҨhP",J˜sRݴOFc+ZIZdP;<]UUU-Awo~b@ /o%FjQdw$6jDKU(vbv]MV;#RN_F3;13 Sd &SXSs+ꩱE|'#`ƵRǴ-@t]AP5,KF n-}>fv-%E@cZ pIO0fjFTWDɷJ7/GL&ۗo_DJ&(_^_OM_9~շWT5SUYE$[𢪵d!uD$FWrr(kgnxo1wݑ. @ԛ h1/\SM\N|qp9Υ#CilALsv]KUiz-T\mU6\+ LsJ5ZO?gNJͩfMZ t-ikX+t66)h24]DWomHl6O.!ʄjg@)ZS:W.Ύ%ٰ[A29|͵Y!;FHeMeI2j1‚% T9A/$;Viĭ681M>s8Ь#ye؍YѮc E(dOM(Z3~2 ؚ 0 G4CfQa:"L42CD?-:ZX<)õjLpM8u$.L7x2llG5ziE|8=pik[_b:!:џ6D2V9JŦn5Q(zH8z6l 23YM҆0 NЕt2Ul rqɷ~MN:eeP\t׸;J[tȁCmF=84sw9!Z X{{tkrw֥hLYt9mA&CGɶjy/9j}}0G~qB4۶"hbrbL3gL_=y;; ek6 ]C~Y+M/ص{'*Y?ӎA r:>0h @;yQ=Q\m|4 ?$񙴢|E]3٤+d9y>GwYhx%0FY"qOaH=ExOyuk0vn^JZZT ID~:֧*TMQϛ`(ZlXۧݵYڕ!?~OmHXFC m+=:n7ݨ[Ver$%Yu(4<%]j8> 541꒹TV Jߩ< XB=~zGm :rҵmOoQ`al1lJ(WҦ4j-~ApGͧx3 j%1ȗ3hq:rGd M @Z+mnbQz#[ߑ/r\ۋ fH1/Ir  HΘO8u%8.LLx$wɱ--90Cs |^k8ꀧiqwG ʴ&f'@?9&Gδ6Pi.O6UNaepOl<@-*(C>\bCMR69KITmsd^s{R+_,HA8ثn/xRmM(;g,Jʔ+>$xrA;~G}>jWs vCxlޣ7ltFveimb[K23~j }>jmpj=*A'7' ,a{ownovTr=bz]rv~u>A"9lkZny6l7'E,J[䝼Zl_GCxF$26cr ѐpqaK"t4l{?.$D=u;?V)A퉌$F6LhbجWĔ"H&6q{K3|hU>bjr#WYxG]oCDزdjJtHS @s;wIZIhuIŰ:ؐHx/%y`lhdO̻]8uҥ( 'װxOu0 >TX =C<| Oy"CXU&4I@s)%ãhH 8ۮ75%{'Ùbw2ELNO\6+ź%#q jZ5JD,,=}5/je(Q=rd{$yA ^Hq^qfO›Wjv:GT_M$ >5n4ˢ[b[VՔr,8IEJ߅u5:p>y}-x aWɪ[Y'5H!Y{F"8MD56B%eQ[lHO6p}me}4~ EN,㟭$sLT_STZ|K{|[UrbMim{,!y\mWM28WCmB]{JC[)3`4*|`*  /a\!^;W""io0Mɉ^ JWO^'i]p ^~919¶8hBIV8)blA P@ϪxAֆ9j ,?,}]}5î)v_y.{aM}M 3SD[{aeIb>;^XOkJĪ20$1T nzO! |?&*w⦤of[:#]{f{T(uR3ؔ=Az5!f _n9x#~$Y.1Dt&EkK#gȁSmHɌpHLl%IZ"|]] >*P4VkzD[e$qYm74ntq<5א]Df=!9iF{GT6{]݉RZ2}8tްB1-,B8/_WvpkH1bF#f#YOX^T$ brXF]@Ha1tG{ʲk- Ƅz.n.@k8-\z +]­b,poA6pApn80gKr@m2gOrϻh^o{k)sy TV w?ٛ{MCON/^ L ge$sO|P4w_q{v{~1ܨ%Df`Ïo\=)CNyܷA|;9>pht£S*Vx8-yoOBV¶moGza={n3W7~@`|hzffh7  J`S>W5_د?'~H!Wƚ~_dO?U6ZIy3IfJޟdjjnJ ԝ:T=Tx;2StK93eǚ̮`U]fg*cD:W3=)6akE0"XG{f8rvNz=5յ!: ҆L~'9I DHmam$Z "rIƹTB`6)@xj~l qWMxp|QJc>9lzGa%>(XzN` 0(HsM]vN XݟA&/j*g;WBv mQr6oZv,U1.xkj7)gz*|GI.^I׳,EZf~O&QH#W\V~mt $";;hmw8jigżBZ3=&qޮA7##:ji .48/V],L=bLrxڶ} ]yҽ+E`'D N*B1) ,'Ǩ"gk'Rwӏ+L1cQ|}Swgш*0),ݡ҉u5+`[FXmUe'{#,>q'Ѫξ$*NE%4_L(;8#_`Ўn#+g8ȹYz&f˵M}Z̡ͦ 8>>,f$] j`mؙQ>~̥2Oq0!m@0`~s\]? mlK=~LR5,=~&7 ig5DmpvThԿ᩽'u [(<)&oPr,*_:Box ќJ {I)s\` ;i`ld *Rү<"b`5` avS8]7iNIT{t ?};u_0?' 0M z:t n@PK*Htz  &keystonemiddleware/auth_token/_auth.pyYmsHί"R+>`MeA`B_"|ufz駇WG,YL4f#F}'b2"%)₶}2}/d6;rq30o&tEFxO aODAI~dq@ =j9(g, ]鲠KFbd 搌519 ARèՂT$%hR#{ΕH-%`}Y𘥊gvs~DPp֑J<4di *P#.-y' P r9> Z2t L]G&a5 , y3XቁJXnwD1# =OA' ڹQF9@3,$]ju;͂:Tdږ' Q^|QΤoo/ i aAG'+ACP\0; n.Oa7m%fSGowp咥 Y >AtƶG8S "{'UZ:_W_..i9na)k i3~McN5Hn礖aǂpx1>ƿ~Ũ B}o(.f f=u`` نJ%yօӬPp"ZytC4S#%ۮW#(D-U48; `X*z'n$d_:]5!p? &)v׈fgkuuw qqy=9 4=gH٬r:KM>T7?oHuI}(P$i]O?H9rw3rڗ,3HiK#?OO@-SrO𗻛^PK*Hn ./keystonemiddleware/auth_token/_memcache_pool.pyYo]UN^;N[P^k48JE)l%]>f~Ʈrre?_⹑h]){CZO"G0q##k*bf%e#)PZ9; OY@ l[T,[P *-@&2L|DiYTde*y feDB#2%%:ƍe>+cfrmXIVꓛ18{К) .`( +K%0g bxrt WTbU /{6?b?]wo@7{v]ݾ=nwvy Ljϥ"$=v^EkA!]H&2\K'rJ2ɚ,47(FGGG+%x|y"`<m`eQrkVE~,"S!@:JWM;_X)jS²Ud2SOzUT)mYzG`ȔmtN>(>HSP\mrDPa OS'nrSH1Y%Y(QEƴfPf~c%zrWPxK7Wh+N.wa3LE0n֌ؘ(RojFy(Jlٳ $]wۡcZ@vkE&ryׂkp/TQN#CK) H|.si@4G>kUxnS{|)L=rq sxi<Ibr+gӋ̪U@"in:$tDdh ˁ%vTޭjFӏ`.֓!@`=b-T'Ң +Md $/t&ց% 0D|T:Db`+C*T׌9K=dҨy` j||J}Lf@QsQE4@ os[zYA| ؄iqDl|uxNwAmp<"߱DŽNc׳'MO%gاsqkm@C'5[^V&~q;+Lrɇ*;D![#+pcT2@∏;t O0!w#ˢ &a!S=A<Ĥ-`/o  h4DMCwA};9/赝<*qWg*J ?宛u'*ښL^lfE5~W7O?@$ЩH~cUw'WбemSSV*SLx7P[[:Rg=Fu_3̌͆ajġ3Z3c70x24cz70m/N@jC `+aRҼ'_08{Ra9om݇!!*mf+B-be/L|B _WZ+Y.s F$uo&~ 4Bx@[4m,mZ tS@섟//_|UBlRuࡃ J {8nϕtm2I"BF%Ain?^8p:=p&MFhʹcw@b7U|"j+ZTC&:ۇ+?PgKq!6+_p`/'جleU!pӦGLG!Z@SY9"`/H9VuEKZDўN Ȅ~Ҍ=5^t`.MdċaԮC,m7nSh KЕX ܍R4r Gc%Ǿ<Z֔i{!2\*#im}I@@ UnG=tmU쏞o p (Q^QX <]W ӑT@b ~||񣲿`>v}n&8j֓E'xG@tA"6"%!8ۣ=ze~bOwPK*H aJ) -keystonemiddleware/auth_token/_signing_dir.pyVKs6Wlt^2N+e,nN\J)j& %ZdǷ>c9*,U9iOZGX=:^BcP"JY!s ׋B+Mk$ ЏNHE]v@;WVTx6g7)!:BkKi(5`Vbڀ3H',KJ!3qzlmQ]K(8hz^NGFwOnt=-Fwɘ#@sm?#)LfXnsYʜR!g4BZΦ%xTr!pMJjҳ|jYR.jNV (^ (*dBSt'TЊgM4,AeӛZ͈  mDY, 93&J"wڬ#vypXBI%]E2Ř0%HiF N ^͑l[iY*|R:"rxzs[~lC hאpɞ!4*;Y*+D\1̸`Zzym%pZ9TnF >\*法^Q-uE_>9O >kYXcynG+jMs5aiIQ.ܺ$ezKW ] gf;&h~ ;QY`=e@쥫'mjGeڤCEgphC3뾳l+&L&o,oyٖAQ VjGCY>VPר'c3/ᦊshoy$׭?ۈA xcu([(J mphlk9lP`IK VbKgr&:hCeCߛY<-EkN[`?١}F79vsO,$=U9!]/wDS_&I ;DY+ Ru2@\BD)\ 9C t kVn' *YJ7d&1{苟u6wiZN?~g7gwVLo?nBV`!5Q$V%xl"֥\+6[UdPGH%oZDIGAԤCS8vH*L*:)Y+O?albVz]}O^Ou'L;!J gUV=XJz=t{7!SeBLEVKH19 /*1;b"V0V$SМ\K%d^*#*xCJrA1d%x U8ya:V 2=C*~v{,%&jֳjȀyЙvS#/3bNYRmc"Z2qb+B?e+#N4)# Ul.Y8IϑJ vDdp0FY$a1mC@-AK&wq)> &pQTz0/onI nL7r ʫ?N߫7/( /C2 zY9a˜܃l©%MoQd(@Dpnn4 -|Yū?yh"ޖq ?E(3>[<[)IB"F%]oUEu+'>ZrhCD(U;VbKM8 ـRz ".*}]]d9}WQf}+MnIƇ4-\*xc/fYM)T)Ae*ld wTδkzx]h'hd;C),VL5הRIjz z j=Z%qU%%F+f+.R4A /_,i?G@ӉSuƀjcI&3E*^bbZUX sh]D)څG0ixhy''cD-\fW2m}Ź6 ]$CG>6ZFX.&j+S]QJe Jׇ"5Gve@mRLZ8*SSfu)\$-3,[+:BCѨ"-R;ʣXw~Bw@d\Ib_5/\qM-kźCgb-ZTqPpʒ7ٖ`1 Nbp4<+VM\*TD9?qsr821]HOp/v. !^ F&Ǐ%BCJv i$B[ /̈<qRPk|PO?P[cF',5M^ tSbOCghZ黬yJ+U)/t9oXgb~zA#&j0C *=z1 g<}47uy$.j0WiLoդbL-;??Ki\$Za2h](4tCXMiVY =Cm nW5ɾӔ9hdw,BLFUE\U|Ҝ4>E4Գʬ-3A].W2]w6#ҸPRE@*V<'pP՚F*VBR}?-Ihc`/{9 ߋbLV]΋׼UQ)1JsA;=F]qi&J?КaUs|tOl`GtLdȮ~FՀB'`4k1Xc'io\#|AZd*o{*~5 l\Y -~Opڝv1_nҎ 7E˜`"D-PzI;zW/HM)mrm[ȯ:-QWݷ4٭3_ ! T=?ZAuφz_}!%6_ صID0J{Xr1%ƪT#֋8[⬭o-xɧB;򵓐`tj*:ة EQ+ S-d>߻hhɆC+ 1+5j߭X1ob||Nl g Y;`@)淳*6HBa(lAGN 4w&i^|ђ ~@AjM ,XrVXu%6/KU4F<"2z|BF oNKX +m hbu ^ '("ɛx̎k^e?<(ײU5(2} cxTЋrĸR6J4Ւ羠 n:*#=bT 6rO'lFR$}%MKb:S⡳N{0_ts" R-`y#wQ@l'W=ӑzŊ#56r}N^e#f!56mhyo_N/Ëƌ4$Hu¨%(y_Q+Sȡ1`F6m߅:BE̲%z9n8tOodNH!i@~SF&etB/爹*KhUVu&ctN] ;hpvH/k ^mO?l|GT MHM':)@i̀V_sA:ճqШÉR9mL%';B-XX S|Uc247vwGp!&O0+cqFwYs}?|vߪ(Bqʪ5^ L{@U١͒HvQm8G"k,A^\nNx= lL/=&C(S /25tk3E~MQщST{>ȍ C톉9t${tIi _kD7EX5Fty!M*%&Soe.}C,UeE#,7M)h`03LT9[oX~>:}PK*Hs }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|!-+ˋjJ5qno0A_>%M1"W:K LJd\af*V0Ԯd %zR-J`r}В8 Ex va 2GoϝϢ{37<]\RF=-s?!A*&ІJm0͜Jf"=,Kg)1U TB򦁂1$z-7+ QXE(_/(nVZ`1z+i0H:S\ $X^,(҈5 E%tBǸrM5oBџV D(uBm]^Vzy3V:IH\jC#Er$"$s"g$$I8N(Kzݬ&\}H[-F7Ŋ%1߿ez3YB?eY0C10Eu|b,1 go_ckAIc8 O D")آFK88V*ELr Hp=]O.BΧԅ)k(Y䱝Kۀe#d xT}E)]eE?жS{߿I?]9Rǝ-S{@]/۱αKEpݘn{e_t W\Ht@]n ˇUl%:@! ӛ}f5W4ּ!G:fK8k32cjLN酢DZK@%+M~dcscmSod`gQu,,ЦF"%2j+Z&*R$KHV: 7;<檟M+Il RDF2T/y2 7:ogx1lI͓H,>KD)o6l4UNH\ݾSKPߗI*,OM.!d\G5԰كJloPgM*_fn_# )t?݈ >EɬʭP (&׭"-6 @@1DruĐLm1!!}7T"17b/ Ww&&*#;XzRZ{&͟\ MkO-Ղ&$28 0|gOBT28H7U4hB%!bE5E´:Ex UYRj¡#^U1f %IhlUv;޷ /N![[~ott g.vH?>q7S&QXdl=Ƴw*:Uv YmrQ pr nfz2?rl& H}bV1!0 WFˑE;?.L,z :}pd&,r-sgqH% R7pًRO/W^r1#`dL l"ʟ?guϢ⏠hi`qO.K ]ޝEE/kqmq㰷a`) ^ROd-I wp% ~k\ ᱯJ^7Ddv6]:r)<)/>}k? EJ)#C}jjG25/o^_`Ʂ}96./PK*H t#*keystonemiddleware/auth_token/_identity.pyYoaH:Pa \Uc`ޥd*ɕ;C!+@% gfOɍpyGGN&1sO2"T" }C$]:죄l;%aI8 vy/XrшIPeAD0;Ey:v;ʌ4sT7|9464wϕ"3',\jlG"IFrX*Bp3"*ZxBi)]VBr2Y򄼛,g>ޭdW.l5÷d2}6?"lbs,QPRGɒQLudR1wZpp 'he!1PMyLw8@`$5Y'WZFy{D?BMp~Eb!a+S<9@Q!Bdly/4- %iFPDx-ss::zaFo_?{y_ #L z=F!S;kGs΃pà|$Uyـ$>]QUY#f~ RFє`6厌!4SPc&Jo+a&J{UB>E0:XXr%cUMxqlE`\f5!Ur).|StV| S q q4 tx8%!ma~dFH=db.c#ꕋʣK|1jx),˹n_ ׅU3dgn\9b܆=%YĥaQ 6'''8&vP؊dd,^j.j[B#WwIhlU4-{$ rw7{oF:.AB[Sl - 5q +aS$=5ج3UAS5Vc<ŅqLlm^c @ڱkh .L yB]"| pQ)li|VD}E"E=yJNe⎇^ H`.-/5wl.>L淫+ yFñێ E1b3Đ3yd' =[w|=qNh9_AC?P|M63Fb헙 H 8 d[% D4U۠F!eo2R2i$=Gx!<qCd[z8@WޠHnV 4Az:*QˑFBHo櫮vl}rMb)ŶXCIS2)FtYwLVly \H-g-YsHZLޫ|B} .Q'E)vdL"J |![4qfW tBTa|(`YbYS'Bj)Ge+S3g-*`dB dK4{-]OkqH~)S?$A%1p-dkHp)b/ ,Pa.< ̣g^ꑌ庬Y{PnFttПGi̓]K|`wM;cb K"oY榦"CP)KYdgEnvLesjMi3ejZEsdAIW)[cbm6;;m4d&V12 ==Eg頗\QEr-5e~9 =3T!8 )ZL;Tbv}`?*)N' dQE(XW1xlJV!KBȬwíWE|1!h+$&/%Pf7'EFm YP2.i0ɛ cu  m*e-Zuk]1cJfV:I U ~Yb6\6 ܊e=hgl]:5"x6Ͻ B&үϛ-5azUZLF3;Ӥm|`)'f:Q?.?rwꀔRGc ;c;׀3fO.reX< 8ւfjga=ء뢪Q6`uWx|Rѓvv<~pxg_PK*Hn2ľ],keystonemiddleware/auth_token/_exceptions.pyn0 ~ "@ ;vK=hۢGEIrܼ}))R"?#9IrXA*IY#ZGZ;\$ͮQЉc4=ق"DHݙf2dz)vo8/@h770 icme{tuJ"c̓j9'˳ IcV -"k^',"T伥]?lC_&𾄂YR@VWRdddM2K la2$,[ u TTӋ#:‡> GQmu/xt^+쨪Z  c}hZ@gd+xLDKU_P]]OwNM~6aŃ#OU7PK*HL" H''keystonemiddleware/auth_token/_cache.pyZms6_c)0^{gN*݉fX]$HQn|ID}yҧ̄"gʅan+ؼ9g cV[6'᫓ٿ^׬)Sڱ !-[B01X˪\eے $aWK8:^Ǹ—uxj%Mټ*Jjq}x Ӟ2#W`PW`fwL7FwN;#Tsf %][ypx+v2e}X޽y>߽_-iyO#ey9+P#+( 4 [LeRoaU”b4-BqAj ʉGWUd?NFLBV ' da'UdaV>MboVy^rkMg7bN=gs) #R|J' $c'㜥oLJuwloW̫ fw HNeYӡX{0"xM\ Ģș;ȶp[aDOj1s+΋?n1lj%fv`ŋ[- NH)t0 [*VݖL:<_Glֲids1=*†X436݌n$c .\lBPdp5 *Չ P 0~g%Oj~ٌV0B'v!(xFX7AfJ S7(^}ruJ2 䲕`7zeP0\mAuJ%]N(^b4IzF+,dpѿ;K?K=MUAZ"`ʕ'U*&g/E3sdMÂ.hzWM)sV́{t1[ldhK;M/0sz a+쏊W@86^H@Ne} 1BBw$slh,\wvsD+Y!*{z3F$I2e!( *۷筄 )a›!ɳyVֵ? lK.VRJZ %,4rO.yԂmdoqӠ˹&?TqHNf};~ED5Rj:k y Nz\M)vF]Ne;PzUMlp1>̂!m/k @-ª3$wr$xEZ-1ko(GvD[y2'GrsT:+YiE-k받dPxkTt+пWt޴;ÚF~-vH($fS̃ҫ՛Ecz$«oѲfUd).2apOdet!F ˏ/Fhʑ ^W$vIwzC࿍Px- @z`oZOLYiz[iqI+Թ\K&F-o孢lkj?>mQ0v\  7QBBVo;'/*nx6rt q E3WWU#8 ,߾AH'ph@}RqvѴ2C!ϴ!}#i]`DtAKVY84tZaFiDsBE3m@S9NL)fGC8Ta#`aoW@fhz+/K.~<QO'&ý &r, qr4QIk* |6OqxQmPF]d} FpOUk?i~$F**[aߗi]KG49j~Jp+xXOC/ePpi`Oz} +ᆻeS"la6Z'inwHznѬ!n=on)p>ORQ-J'˔meS~;52F+c Z?fmW~bGǤ< = `8Rkk}o4uY5X XNć]]NL oEV /D(IoMJ佢as?#$=wIXv7g0Lzm)ol{glQWLY abTu~Ju=Nq +kR-|HmhJ䈎 =j3Ƨ_PK*Hsy"-keystonemiddleware/auth_token/_user_plugin.pyYmo6_qHP.8 熉 %12Nq>kcWm,Hիԯ~5ﳄk Uwr9LRnj$[%V#riLq(1/L*N@X'[ܞvw(n|s3N.o^_]L+|{bmC?#_DpˉiUXJH<K^٪`++*Cu * GJERNqVOX#0R3r Cг3l ylg=29#e,&ļ^-.3C2]hQK#H7%?ڒDqYF&+=b03c5ۏIZyOkAsABȁHƭAbH89 hM}9A-0BJ}Tr/f3 3 4O#KO=4PY9T'\I3,l )n 6̟CǨ%a_>*7@St֐p{(HϙςQ0jv9?tpURA*mh:2Nz:XC@q)Fnn&Im^C]H)k7vJx|4]'KG2!7}͹jYCɎָ߄ֹg{4H]ǬrV=]!Ӵxn)nW`d5l <G֣Q%Q7=a}@[YaNEu&009Wal# Ј%NZnaEǕE]TMDC&6U-fډs Gi{:FXoTTP2Ɋ?T`҂p6sqgsY:A[jHfu,p&2ϪBy4j٤Aosc-;J!g43jieQ[{IJ,rSNj6Kd0`Ob5O/$q\/VÒ>|~],O)Vsq+HY[UdrVFW+a3rrԩ4MCŐTZa$ <*m!L~OnGWe7(cV?1O>]$6NHIT+";]iѭ-Y ͬ_U<'BJzFu10mw.vAblR8֓:]ڟEF⇵fi'=)ELc_.1y5kmgyyn{L*;^7*XSpl&,c{07O\ijN9|f[-'k$(~fLUTPX#6]ӕrh S˔TE- w\FI(FveHʪ^d櫣g&F`Q -7֚6t ǐ.fSIZ *m@0+S֢atmbQPsh 7n[,^ SW4r]Bi:UċX}) lŢ27a0^! |nEYv|RK6<.pĤPzO쎇6]JKnxTz3] O|B:Sy8kΆ@ ѥΚA iL>tAǞo#{Sh 6iw\B-3_/t=}mASqL]"9? hՅfnh")τ 0COROOXV,ŀ0 ! :ű'FkdVMOi3l'OQ<̹>Z< k[9:coC.*Fe[w|44Z9GįD܌vpC>J/PKHK{R3keystonemiddleware-4.7.0.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPKHAK0keystonemiddleware-4.7.0.dist-info/metadata.jsonUmo0+!yMn Qi"P:,l-S;wv҅~jzo~XZI06DVJP.L qqxN%(1U6%wR ҅OA]T:ÝƓ1R P\ͦEU}b LgPB|XB-ט>.WumtnxYR%Wys-} c c +E6,eLB+dyc(сF-Q}ɱlkcC(/]]x#,oFEM"SF87+H)'f7i~ἥsˊL;\+(e@҈7JV6.Ѷ dM50wںw37~@6͕va֋4Fx(>bDͦ-.F4k57w_aq^'l 4!^EG9dqp9f =Fd;- ;lN&wj9r8 '᯶y}Z4 m 9ێE!iS?a㦍6.ZVB'R_R["|,iaZ$[%'7U)΋!x_p7.sS՘lmYo`|{ _-sT+N ip1VWɶZJ ֑DSK;@nͺr:$t9-R!etҰt0w5JǷTZUOԉpeHH9I0Kx֠cڧoпч:xTpՇ5b%-qe:*WeCCn0'&2nb_A)|@=P~.߆1w:5B:& 倚mh bYxM]+@* d_뺛' * $t_.%/5v^M9L0-YB-Ie'(ǦӆzszZx- Dt% S5WzW&Xv3v!B䬚a Mz44xy2έt0cǰl׭5O1(.”.\(]:t1lFga퍄BH>0?PHFŌ72J!UwբN57e Lo+C`PKHB )keystonemiddleware-4.7.0.dist-info/RECORDXɒز_'PyXH< 6B$_TժLڬkdD82MUVFY]! ?sZSko]4i^T,GԘ?{(D)'j< cnxKJ&lS=pw '-\j<ɌGي0fӎhA$Z7SrIQ3y bncpE^" wR@\L$$R®"@MU5æ:j0psaHA+bv5%|y  D[6n8E j5{`zm( ">GL=nm:qىD'b i9uwbtR_ N(zNWO8|ӇQBHJ;SR L8҃E3G,Vm\mܯ[d{r^z 9!R$p 94uXS5O L_'Ƥ\-Hi&=\˜?^ mʽNΣlLd..[=KC^񷰚 oc6.{H5O*:E7x3{vb*zg>"?/o~i&=w h wg2D'>4.W&S4  L-ݮ?YFh+/DpmDDoVX@#`mrEZ6ar=|evy8Q7Ek =QaY zyYy Ktb1)E¿Bqo1?RF)]sqfEg0%{Ŀe+k3Р*;L- Lc9t&"@3 Qdb=72wHed}5Y.= M>Y@mrSߐ @GLP(C~ȁ+sGz Rl= _QsS ЈF(ut0$)Fӧ$Sa oi3ޱmۇ!_O1U{jgφꢺ9 f}0@!z۩#vFd^ra>۷cdqPw&[HV`ض@ ǁIt1jJҁ}]N_~{F"F>ǗؾS9;)Yp&=`YXmUZ}6)F<-us ~`l)ҬXD81G}";g{O[6A|܏=JZqcw>#8m>"|6vk|Mf&E_]yq.,3FC=as 1SyX@ZT >Sv4DvI)pxIWpk4B-|К,P%Z5w>ǘ?=8 l: i)[ es+ykR_ьZ4\ݭb_/З[6`VEK?߭vsMT賗5N04@u}Y1 #}%q&gLj UrId+Ƅ.՚ zNG )~ώq^A P @]ceĐՑy/%YV(ySv`{k9 PnKoکzh'XB6jZs!gr߼1︪h n|ɇ(OD#P=hauj]1%BWA_?\VL|*`i6$vs<wkeystonemiddleware/tests/unit/audit/test_audit_middleware.pyPK*H̀ 9@5 keystonemiddleware/tests/unit/audit/test_audit_api.pyPK*Hg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPK*H;?l7keystonemiddleware/tests/unit/auth_token/test_config.pyPK*Hiͩ#<keystonemiddleware/tests/unit/auth_token/test_revocations.pyPK*H#3w?keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPK*H4>keystonemiddleware/tests/unit/auth_token/__init__.pyPK*H 0keystonemiddleware/tests/unit/auth_token/base.pyPK*HJuQ6&8ڦkeystonemiddleware/tests/unit/auth_token/test_request.pyPK*H@#ir@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPK*H^⋪cDFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPK*H֡t!Akeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPK*HM]e5keystonemiddleware/tests/unit/auth_token/test_auth.pyPK*HͶbU6mkeystonemiddleware/tests/unit/auth_token/test_cache.pyPK*Hc]8&<h keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPK*H#keystonemiddleware/echo/__init__.pyPK*Hj#keystonemiddleware/echo/__main__.pyPK*H}Q"keystonemiddleware/echo/service.pyPK*H&keystonemiddleware/_common/__init__.pyPK*H=w$keystonemiddleware/_common/config.pyPK*HUcw ")keystonemiddleware/auth_token/_request.pyPK*H% ))keystonemiddleware/auth_token/__init__.pyPK*Htz  &tOkeystonemiddleware/auth_token/_auth.pyPK*Hn ./@Zkeystonemiddleware/auth_token/_memcache_pool.pyPK*H aJ) -dkeystonemiddleware/auth_token/_signing_dir.pyPK*H\R@)&>ikeystonemiddleware/auth_token/_opts.pyPK*Hs }I&wkeystonemiddleware/auth_token/_base.pyPK*Hӧ 0ykeystonemiddleware/auth_token/_memcache_crypt.pyPK*H t#*keystonemiddleware/auth_token/_identity.pyPK*Hn2ľ],keystonemiddleware/auth_token/_exceptions.pyPK*HL" H''keystonemiddleware/auth_token/_cache.pyPK*Hsy"-keystonemiddleware/auth_token/_user_plugin.pyPK*H9w-7keystonemiddleware/auth_token/_revocations.pyPK*H(Ykeystonemiddleware/openstack/__init__.pyPK*H/keystonemiddleware/openstack/common/__init__.pyPK*H% 2keystonemiddleware/openstack/common/memorycache.pyPKH=#ga2keystonemiddleware-4.7.0.dist-info/DESCRIPTION.rstPKHK{R34keystonemiddleware-4.7.0.dist-info/entry_points.txtPKHAK0keystonemiddleware-4.7.0.dist-info/metadata.jsonPKHAW/.+޵keystonemiddleware-4.7.0.dist-info/pbr.jsonPKH1i0Vkeystonemiddleware-4.7.0.dist-info/top_level.txtPKHۂ_n(keystonemiddleware-4.7.0.dist-info/WHEELPKH | +^keystonemiddleware-4.7.0.dist-info/METADATAPKHB )mkeystonemiddleware-4.7.0.dist-info/RECORDPKAA`