PKFkeystonemiddleware/__init__.pyPKF%d>keystonemiddleware/audit.py;o8H-pȞubshv%Uz{(Nܝ6H/=/>&W[ .|wd|/.G H?Q,ȊY6SE|#+Ut.{dE 쐜{.] /& xzLWx,%e b/%BSxو D) 8a(LTPFFn;2Kپ^Ъ쁥x;Hbs-%@U.yҒG"X"Ec&%4Q$,RяUYlnm&4G_#b[d{da[#v+ٷT8^ PkT0wA%8Rߑ1Y8+fEh"B#okp]oYabO=n8P4q43αGX BR/]S3%--Y?`JEV9{ Oo^4DN aU$|cf9(x,&19?R'`0A0b%!v=4+XP}m:T*z+G'`mi#KWklޢz$P >0{OHEU^vy-^A͓ 7(ӄkAx+0/`AA RgqY ===;ވx&ÿ4#9 jO/ۂ?Ғ/Á14l3,wplEh> dhȹ@Gia zy(+%|ުуd}s? D\za lGhC~,]2{Fl3 4;:眠Dɬbmija?sdio޾ =ԝƈ+ek\)q_p8-pp5"O*w9{7Z˭R>*_dKin,_/c~/^M4<ߏFWavV"W_<'nfGwb>#.xef\P믻]|\,Y4VWGGz35!=& }0bQWQt0Q^XNpNP+]V)X +ӁqSl Ҭ؇&FJ&:/t ^%MuKE2*J`]\ܩ7W̮.O^")MT4%!DQ0쩿LK7x"SۛyHf1,@%`L&> izȪQVL䙲2Zó < ldM`UazM4/#&fd#T|1D#Q D{s `5?C}XP{ /P &DS+m;Tũ%rr}@JXuliL@qO]۱ɿ= 4}km2` :6oNS8x8!fl"7ƬY3*mJLMBܼSʼnV=24ͷx4)X{<2#yqIBɞԠMi Q@z6eE].dK"˷fNea ũ(츥VWDoqBze2"9New#þlTzFb~7Nɳ% ٩rr0g'r3{օA)X4ӄCT;U"ÃnQaAHR8 jphPb $ıfn=/~4OO3uRx>8yqw}-Ӷn Hɗ(jtʐ90YCOʚ5 "ZGZ `hSFYQE[^ 63.p+߱ $m!<0)fDUd@= q,ȦNQ FܗĈɣ3yXpQ-]ԏ z_5(*}H }' ڞ?l}E/>@j\)$xlx5E޾_-x}gS[q 9Z-#z } pDI⪟4h+WwsxةByqH8Tb{ҽoM9&w߂J  ex>5mvc74Ug XPَ-,ـYgWʂ7\mwtxg|]mԍ'OnN zv&ӐY:dwvt 8#FvRpF/՗;R>EFox0L2,v_( XCдI2PV8[fHů+ޓ<lʎK !L:X\}A~XC1"S46|Tw%4~ULADzFt::BYSAN"߳ 1K!+Ucs.A4fpvBvE.gCbBXHU/p!+('W,&fcLF_uKˆ$k WXPv7AC^~-\La~9[_z]9NXt!vϦk-~֩=:`[T0=6m ǔsk|h }n׿^B<| |ͪB)]Oflq9_~IW a]sQߍjx [nTY6òmIw>kedϘ ,r_C}%IL0PI0~d VGF 8IbDڍ%Cz8:h,5m;ːZm]3c5rڣ(* X huwK?dVen޿72Y×rR6x:eE /=`Hl*fڐ2|AL'f^+p˻n:ں c 2W+SbyoʳO\Dv?1tZuꃮ0MW7 HRx6\MiU?&_b:J{Zg.)/`euslQ"cqNcr{p3S߹:+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|QR7PKFNKz!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;qđ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)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"-τxS4"THUA}'U20I4^G/>68Gm6ȋ:XW@dU0"_bUYLj%TY}G0@ I@گn$5! ^x%kT ٮzv|6CU?Y NAt\$AQɼ.݇2|> bV?$(iVe6Yr@u0>;_nWW7upy]^oƗMpzs| #JĿ(B|)2ZY!QVbͲ)P\b# V\ffe-ġjz^Gt }wY.w1MwC^kGT9AikQUplDI XD'%KPrF0ЕHGbk) oL1a0dS؉ erx˦wR$4dV$ b!4r] (-r, j,[jf)5@Ίł)iTS@4E -` -|IBY HTk@:pA,ZI^^JpcbZES!>R |q/U ֽ{|I]VRDwr~ HW;YAd{`DN*d"9R72?|EpWztPuVKI(e>Ly->pC|s袇)y3x '7#zth;禍ή/P\j%OD DnPOR#K5aȥMfyJ~rM<]Q- ] D%%?I kZ[bAT4X]ϙ4@6CJ W(LT{Pw" mT1Tl!ќJ厼Xj@ vZBRipm ${e3xsmȴ`99p= xNb,+" qՅ[ ]-Ga@9J QF*] Sn. %Tk 1 -LmrqCSdڜ]=/<,-j[ ɔ"F"8рAJg wO0`BuZEJ /_7FL/ߝ/6Vt`} 9$< .L %5 3/a fQV(|#9ݨ 7|FP?H$$Hx;€റxuFg7>G"M&dIa@!^żcq?aGqcV'N(0!n!ADFb !2qiۓfPNʊSUTј (dN1h < j376/}ٟ7<7>Q:{= O"͂Ǻs^kqVe&)H3ۧpl7'&KQM.ߎ&JuZ&c\/О*`g`ʗj2g7o/'htL,c6qɢb%MepӬJd &t4[llZ5 Xң֦PVKj4gE-/ іİVLbH6|ǘ\C2LD1aeuWTDuQnER_HJC&rHYʮϲvUq57 m|}.`d|M6ݲnm < |%uajРA/}h3OTMb|*1K^#=K< ?|PEo6ImpoQ{!`G$5Eʢ:YnO*gPV cl 9f#rbeVL#rZadRV$UGB1))Eg:[#J| ˧u:1tq#`/x * fS+$g۴b$n (4Zj@'I9P@WgBT Go3LZ"Iuo ؐGU I3u3#Ȉ(fI j4aODyI"lqEnGE1?>ƀ+n%hSOR3N(Pz.+oۿ4AX.6 gzƽ ?>m Nᩇ(OM Y|dQ[?NV Tx6DF*A]^(0ڊ*@ϡ<\N/D=Dti_[/ZָE-ٜ6bQCpdtg4Yբ5yhf΁F;!6MjQRhDfsjzraq%ְz+!}W Ѳ4ഥ9-qiaSړ<-nu)1>r D8ʧt#-7'u3B鐽wto?#fG@yep 6@^N8B\E@V 5'g: MwbV4jPq=yN.fPhg^SFvx%`%~c<OMj@פsK iM@@6+Eu cS ./`)? =b#iQ\vLIvbE4)OYQ[\! :d$5.Dbڋ/\~+Gyt]QC˱30x3ۻQ?-;.>,hޝlz%/_|y|wv;ְzŽsNF&t8뀒[LF'>M_('Z0?}?p0s|"W8WJ.AỢXp7`صat ;X; iڻt8&l!ŖTNu1uJ] uETyMl@ĭ8G#7P5'Wl1 4@TSfNFeK, n@J Bm cS-@H r;"*T@<7d1cGe>G{03mTAR7*h&\h/]!32`Y[h`r;Fm$ % t]KRݖFvF1²~|k P:.AI?qAo`9o7"Mg~%SCI:c'9(2CtZnW$<0<,wgktqv(@T̷ᷡ;z&9PgwTEf 6+]bC;L2ԷB,g}T`` ND*fwng*2 $e34 $ X: am{`u(*S7L?P Q-d @JGxo\Q9Qg}+@KXXEʙxZ:&7 ٶb>ݥXh.Cd%ǦEPKp|LDxv~ױZ+.d1ݲ .SH!ę4&|!i}% 6>p| Kon!nl?p'Q 4Iٚ9$L*gD)cVeU!lgPy#*> L{,;׍)~ˉmdS?ټ#YcҔ ZD0!;51x%,-ˊS"A/8q3EZnL "Z§^NH霎J1 Ft6 e^Сy&c^/~{=(10:=]7wߞތ/DPsyfAux[`ۭ8œ j@Cvn=ty ]TAR TnRUW[f_aGFg0Q;fz;Wy:'B59 PQ^78]2gpLק߽2kz?z7ؖ=i0_FJBS|%@EUuߤh22i2H7ԻlԆ2\6 m} d1pHOɱ22$L#Iq?wgY!СUe7!Y 5ITⷓ,;p/fq?ҡSURUw6Qm/ʐ~]O u˟z"8Q7laz{􃃃 +|uD\N`t7t0PB>*j ڄ4vVG e|+ecFMf"lZxd]*?fXT!̘Ou5 nC҃ Ap vTE좞Eʈb$L`5I>}̇P ЇMVh`CMe9 m(R(_s,^GI_N sQ Oyu  L8.$PklA}Miͣ0[ 'Yt@?7A' 9h{Ns d*< SNl-A0B3o]`dڳn^aHZӱbOZMm}K1.ԘJe _ }#xƭ &~3j%IxKPfE~Oy(1$#?'A%u]a 5ݨ "&[Y!YarN$Iq)Ђ94BJ%G⊿ FJ| V  d_ 3[m&a2T ZM7 |?-3:Df #PPiUnF*Z?1>>]ooG/z9RJ,FS41 %i"Wb1şaА\|u:XV@{6}~v$w_^ -0"7um݆$fyWE5Ό26pa0)*2>bɡhnڞ< 4:@mgyW[ hHvUR`w`_y&Z.#r+5vbq &6I8@jCs|Ӡׄϱ\NN3pZ4[Uf<4nh}jIZ`"Ʒҡ( Sŷ(t*ӲuX_Y+U.Kǖ3h@W!81[Bݯ&J j 5d4Ŕ.=H?J_z1ّjМs+*O/ѵ[]SȦ`=Ԟhhwɰs&:m87":7F-){-:BY_+w ^9M`MU,3t:{LLG3}"ߠZCGphdE:d@0Ŷc*]_#yddѕr$hW\>}oqlH Ow530b}ZC+o@fJ|$1"pRU8E2\Б,6WzNlymHJLf-IC 1^*R$ u#]M;kyb6vMQ\p ?xj fҗuHqcnW 1qTWAsC_P-ͺ@m(҅q|dj=Q'oT {Fg销{[ 0y;̏H' ޏ7>=uGEhnC)gB0GMScal~xzxSغ(n@1:f~qb]FApT|7H;X-b0)Ij =d(O*S82Yg4i09hz;Mmi:h8<knd]NrEP: nW}=BiGW||BG6ovoG5xjꑚ-6.j͚m¿qʰy )Q=u 3S5uNߡt-j ۭ ,eͯ畼72Fj&SQzɧ?H\s*fXY}mSn"uc87cӏߞ٧:M1$܏^Gk/PS\6&.C _UCk㴧=.y@re޼[ ~yϝn6TkI a@ut6QK0EF;.X^ 3tGGNЯ(E09Zo̹ W=54ٸKt^~peS{Rd\fdçyWA0+\p}(ܪԀ̱p$;gt?4Fn쯖|Tx]mPdtbI,w5Y~R9;<\jogt 1DpWC M4oa}S{):fc&$wWvg/:7&0Ւ#ΟL7OvoHXeu _>>]èWY/H8ɍ"y}_AO}u{!qێޞ{\{BĘg8ۋC]^f+J1$Ti[H p>l_?OU¦mоu0ξni6}{=WbV\FB *삌"VVt1 sR&6]q7ܝ {.f45QF1LvWT%b_Ʒd, }ҺzƗ\x@֙"#wdKB'(zx5_H ,) ڣ7Э)Q(.Ǻymِu`G94R"~7{xZTwAt=AûLTҶwҭ oQLRZe@y.huR_~q/̋X2<ՌCgd\^5s]ko[P99h~g<ZEn$6wIloan^to~K.~=OyhōHK30ҧ{ *{սr|(NԳ:շ{m2i*;{fK[+ń7O?B[c]A)bMd`׻9fREx{ ː;w+#8D㵁0Tx͹x%,qFv 34d*ajeo4)Dyڄߑ EoڂEL6! .'HDcECXՍ3iXVsY{PQOfcJͳ]QKsg$PWI z,q,RsE\su@U,Re|;)e,/ k In[g _mo99T-@1gb4.J4 ȉ5oT_L7Ssn]|sy!Y'Zʅ> nubٗn1 Ϯ, rJkn\4,E8867jJsIDPAJv'LzL *w))va7^޶Y*yns1uOMU?i\̋:򹉣?r`)}@ш}Et%0$FSYDgz@߅VTYKx-6Y#~c4wD1\0"J {p.fUG*/YOZh˯-ÑasP9iA7&k:Z?v맭[B38Թ'xq|z}*~sy5ǗҖmpKk^Tӏٻur]dz@dT{ڇ%n2cť+4ذѿ7rFD,Y^~3xJφҮGDkBo픥ot퐨J,wMzy_1LeH$"K)M=Y( [<r;$X @]bS9ˇ2?ÊtM7? 7C*"s0i 0PTkJ+&*7YaW#Y@%Ip;N&z>W?/`F;29+|T>j+M5EM7UHe) QڼkW{&hFWdB1mm [rID7`cȕ4MqR?$065AC"Fjwmh44k{uoCOfOG1VE9j=ݼBlOor ~*FqLEJ(Dž*-Hw߉UodWVkUY.o&Ft^RNH?&3E,x0{|}~_ {_;Cufް6fp/ i|/Z/ɴo]P{bVȯ8À_d-DWhK̳}W=}uCgg!}Tieq%kHTٺ\ZLnj#nl7𛯩,h݆g|YVzF[Q.PR3vۼma7O NM\<؉iVXX'~eIHe8W+q/KUð ӎ*cTӱS4Y5Ez ?v;U@t*ؕ7dg* NKdVִ۲nʎ[S+;zsr~sYxb[oYltl [j5&բ Nww|xdkk~=;o }}SnzHͷI?uۨw^c5^Nnn,91,_*8z5dȧS{3O׶e4{mAojOb̰Ǣ7+2 5M|%YH!#%B}.}о5hgaW~& fۛЅ!n ^kK`wI0CtL+}p~L&7` NZ1Suy~} j?y.orcϓPKF0*a ##*keystonemiddleware/auth_token/_identity.pyYoۼK~(]e`ln2vB`$f#zDʎWIK^1P72w{pE$edS+C%\/I /(R  ERɀdCFأbExD|CN#W[-2qɯ8Qy]#T^lGZ[W$P˛t^z]2)I~Kyg?B>5Cz "!t0XS>$\h3$RՁ& \ߧbL=8tE#r6Y򌼞,g!4[[Ob2_ͦKr ׷7vOod+lfH İ8AAIvdK -je QHkùMJ7lĞ%,qޔ^@B*|NC:;R ;RHڞZs( -_S  OӐG+Q~"J-l=M Em=%Xk4},U%[6? f_30j_^brz}.HdL ,lM+SAI%}c0]k͔|(kݨ1f}?^Ս_FWCrj'LIbnr9aǹLtyIS6cCBr6^%)<NJcPp7 NqX@@b V|KCz\zb }m 6G|u<ʙ5?ÿF8(y][F7TשY1&c0loNՂ%┃ˎ]^,gp3.V?/@_w[b1܌aKG,@긄 bI Pk P"0MGd->O&fDj& VK R$$!ۥ>YZ8j~@v 114[ vrH֣6crりXX!Rh^ jpcj+pz%l S:%SdKLجd@zs{\@ E S*:*\=im{8AcEp풒a{#=?1һz:(j~g!"8h;0~cd 5$[?GD= 1!PH|O AW$2Bd_\[u7. ==ik$< /]eC |!L٠ZBK5ڍi[O0pm>(I(RUn]"* -eq\gp}ͱyqZ}芫#5%*RY)̾io4T:ªhq}]^O/7֡͢*_jxbCPʔs՗z@ٚi'92j0f&xC3&d#` 5e- ػudӯ2لcFHRu?Y~rai)3G7%DY(~ ot\mQZ<85,~yx2a4+Pc ]N!Y]8;vJٷR~v&> Nx4%^#gzYx#H- i򑆩-` RۯNz",Vv[-ír߾7$fRʖ-lPpμ`̮_}yc*h,,OjPKFsIi [/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^nEPKFz@F &keystonemiddleware/auth_token/_auth.pyYmo8_A(l>M׃Λ&[$݅BK͍,(ʎ _$r"XX5g_+4g1)ҘIV3d@dEJ΂ N죓?NdMwW$9<' 0ž")SupFlZm|5"+SDa}  Jlxzn \&fe~z59^ 4ܧ s" . LIR2x*\t9 X- B#'"DK Zq0 3ԛ?^}t:/d,L0k}X%8fmRϰ#>0N=f <* {9Kp%reJD"4^nt<=BZJ_Bs ={Eof?隳x c!2* 9&4UDͦE)%,BHj6(U$Fjq `>t`r R &P4R_h@WJ{3AAj @_HVVDk!"/WAԖu!>nؐ>F#`_Ѕ8O0R9j@bt~+,e Ƚ,RD"Z YTB(9Ͻu?s|WA3| $hƯi̩VߡPc;c2 -/YrۯAJ DĘp1St#@1 ǥ!9O 2qmfAY5kUAA&6! 4ٕ$utV<^gN  R XVIxt-Aϒ:4os(=?GMg,|]%6o3Cu_H2_+<_dHyyO茸oAqSdق( .iWybh @ҙ0S4b TTd|/Z`P9% y.]yx#pB$@!]#tdm,bˡe6>x!HWH=a/^w҉ZX݊I!0O\d񅔐 l@ V[҇GkV" a{Q3lGX'{N}={jy-TɛLA,3Q%+dC<6~@q=٣aZH>nm8aӻ[]q|4;3bqTU!|?}h?=`#Dy{&yGXfX7D7-'<gj #-R_ -R R@>a,XYD@ч:O_̄jN~=9uG3YyG.VSYC2HQ"b("fHdХf.r<2}|8#в_;Q\0T?90"uIe{\nyG>n9-p6Și!֩Wd}ys9F4i8oXdiGs~J𗻛~gPKFFm-keystonemiddleware/auth_token/_user_plugin.pyXmo6_qp>. |!GPȈ+0[ӜG&;WZd?ˆ& pRv  ! ܀fi&C{avo$/dkÄDK 731~Edjs|q"kneµ*B_`9 a&lQLFJ!7YlLq mX:ݜbC0]-]t]->^/g>t~/'1V Gȣ"MJq震"!%7pd;$9WДM"HD* 3􌖞8 Rm2C[f s H2f#mW`0WKf([(pZcXH8(z6YZlH *[1X0LR'ބ!7گ3p=V[\0,D@ SE '@nqdt1BJ}Px ¬V#͓x6P< +*ᢚl ), ڽv7F 8a1ٮ>:aG*5ĒnK*9wycq59 : zZ- ww Žh7S#?|EYoe;j'\a|(?oN#V$Զʫ59P͝9̖رf˭+;6E5DnY#!p,Հ{>O3?f/[1Fc<[v;)vܹ/WFaV`J}.,!A\!D_z1>Jǫۡ0?Kzfy\;n!G-|pjGBH!zL#KJe0ܮwE8)c6b' I5e.`epSG:Hr6i5?*BmhIq0R9F٩i#uZY笭GYҎ`vV?/3U&ybKzHQ;[㠲6' ?9hkm.Ve^va9S[>I{)"w.>{+L[PZA;t1 M٤G3 )Z0ZsC^W`lE2ہ23qU1Rp _CZgyd@y1 aIւ,ɺf9q=t8' f)fq2OfSp? HYQkHs" }^Y@Ɯ<'_r]5ZmHMŭ%y^qǜ_ (}\9!*KkFsZEzCQ*rm9,„AVWt9nFĚrn:`Z˷: Ò\0 KՑZܑ\R-EQR((i rۅ i?x~99 sn2Cn ?Zo;j@"~v`qnQ &%@ގzWן,'5҉ J"LuiُHEF+&ȰFY*]M8J8(WI6_>L貎u͆ C-ss|}y?ހO^УN?A ֢()P;h :ܻW ;PKF{ >-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\4cPKFs }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|\\ uף3xIm]W/^I6/rRxz"Z3%~k.WЊ/͜Y(+Yb3c\{`ɤ\6u -l_{6ag͌[ݻꆽy.\\.\÷yqr ȈJ!D9,a7%l9֥aHWb%r*6 )*`;j'5jS{Nּd4A!E-\.G*wNt]bu 6JJ\~&:n']M-s!}w jf}CD{',76;HjŧnvLO}aѥe2.P*ՁFUA%~}[$+ ={65> ޠZ(ަX2X4tEųvgj ,E[I*{bN augt_wkU-`Az,. W( H$A 5h3dEёy>5E2ơN| :pidr1i쀧7P کdI޸`11E[4ɽqUx⡦Y抦XayQ LRZ k`^B'-| 9ʛ*CRck,+.z\/cXc!"1T$TiPeaሹ.[|v1) dqĉ ?*wry2k$߈RwϴEqS*nhm^m4k\6nd]+Ч, 4e.&SKr+VwX$x bGA)EV]뷯WDF/cjq%|BK,_[^nlG>b–mM -vEs)xIl5p㪣[h.f| Te =}w&vS^elOA: i߇wH1i!*=l[~[i;ZBU9r|l(՞z*&2GWH!M(P}z0mD!u$ ZlyY5v-ި.ڜɘq O̶C{ԢH,pEY6WqM+8zDf;fqv: :Df\ -W4,Tebsðb'Op]VsET}net榴@/bTfα|(ANB]Q>[r-W1Ґ9u j= ksW`Y3pxnI/m690=Ƌ!&k3](7Aˮ exܢ={+v3n.XU B7X[\4cqu;$cl$$dE`08a:זCKQMRHi~ܰR+:-|Ӭ15ŎzP29<nBSpDm@ّOvZ )30ڵX!ċf>BeF\--HWh+ Oo`YV^ĨU1s8 oo>L4ؙԘ'Q5Z&^Jp{i}KݗD+h '^WNJaZH=a}t cBTG3nfd["F49 C3T^{(0w5gI^L{{ 1&!ew4`7&+RhMK;zs6i㣍ܴTnZ7Zc Ht;t" vs 2`5`r`0{?y1P'eFZF-T'Z&T 9c9`aFpwoĪQ»_Pv~e.(nssFrvoC9 퐙0#A{#ƎO DS?D39#pJ#os n6PXf4MZO'"YTH$sbHJ_/36|8;dQ+F "=K.b-7I<&@%p4d#8+[V@e {Oki^4,SBPKFA -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){ة8[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$HPKF$keystonemiddleware/tests/__init__.pyPKF)keystonemiddleware/tests/unit/__init__.pyPKF=89 B[6keystonemiddleware/tests/unit/test_audit_middleware.py]sFݿb}TXasKW ]nKjQF#ԖuHB7Z4=қ7ܵY1āwtBjßNDCRV/210\8ba_lJ~4NM 1oCI0QQ~ ܼ2˲YV=bD<H*2Q,!wg$odF\~4d O8.OC ɾV%撱,;(>  |2Wd,21sxG]tLu*ͪ=I@f49L>eꃤ뙸MyJ3HHMMŠ%Pmj#9rmS)in~ J9.Kσ5ImRk NxN^#] v [Vv{PkFO4[GVM靅zR9tى])qN=F<=nJ$ ΀Og;z\% F$wQ_gui9|o[Zck-~>25npsu^[:S)$;Q?}mE$Fڕv 1R[\z[ϟ"؞:c?W˿j0@k[к ߀[3& "ES7™unJ~ς@.='4BAYYouӿFSL̴U?7 yq"ń%Oh!uC>$t .F DAz~{'V?cI)`X4t-&eXJI+=B*~_7Z#[C*33I%nx92l:6` xiz\s |p|CN}ŝFutrxSb$1@UI.-bBvW7tD'a4gG5fbȁo)џ!72b. V I +-A~=j5ERAE 0DRrwY岡6VRض沪(2ob [(qMsU]|z]eFG')bi e  MoUi`^$&;q{>"˪JjsLSh[3&0_d,jk199mJOv{1̈́/5`Pr 2xPTfIAP[$oS Q՞E`̼~j乩K6.'~*/ g:5X!nV 8Zp4/ ޖ1VGefve~> $uy\]hCK+ g%6X.Ohnfԥ1oYs-':E"EJlc70 \B-0*vь*65,73A!s,ɗnN( kiRE]2Ґ̺1W,b}?Ԇ$j$6c4drC6cJ>/Ȧ\kVE &jTWY:αryb /_׭]3ϐLU: j ;e 39A!ݚU\IcAuNj=pb\Ы&W)q͵jVduqbmG-"B5'IޓQp~*n.'k8;`ZƹdcOVP{i$F6f3(!D<_MXpƞ"Oxss_yIс %Hh63o`t2fըjEu^ơCeZJHwB2quϻ^bILxg v0jK[leM5kYzڱU`m{ @hFAo^dd;9|-v蓗 5͞OǬFW #䭫7k>L֎A~/# q),sR]K^aј^峢ש©r?vBaTJSIv>jE/a{ 5W Ej+@]ϣ z*4bW-R2^wyy8cђ6o%cCeMWɴ흉_;hΧ*j3!y>] 09jMe%PrGhVPXآqTq98P!)uW{UR*(x>Sƿݩ'ĶpI7C{ozib0F-Ҭ 9]o`!-7iwmEzUئz|<;Zw _ۿ~kקӖCޠP7>U|EDɣqPKF-^** *keystonemiddleware/tests/unit/test_opts.pyVKo8W %UbO]MSbwbQ45 SJRq_COIVD8Ϗ3](byjݨ9UF$8*9 5¤f5c%<|LC7{M'tۑ%4ɄPkBU-Sa+:IGk1#|M9 g\nݦ,DjSi;8$Z 5PlEaJmIxkՅ2d%jEQSp3YtqMO_ߖdy2[N0t9 Lf?jEn6>~ R:b}A(tBpK +JFQ:Pݴ^RT6XK*"rzSfn GFW:TQ'ZwisIY6JqBшKFE%a8g)<;r, v2IX֙T[Ř`/N\31+OJ?$It<^Ԟ7qcbN&/z0ц`G+"rb#SB QȖP`T+vk9lE ҅3/Xrl,'"AϸV9Qnz1{wh{J >f555pM~$*.uOfWNs6$tiyczr+J\r %{7'`Bz/% yZШd[HYF_Po/~>9H$><ŀ#Xz(_%s5+*Y/VuP\69nє;&uم9D{+z4%|g3:Ѷ]3KCEZy|I:Qx> 0Xy:ܝGcW0e859-Iw~tPt5;"Pe_{ҸH"Xةphέx)e꽏:+Jdm=6)Q EY'=1=x26OvO~݀?PKFħ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?PKF[[!&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ɸѫ?PKF7ٖ 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\, PKF4keystonemiddleware/tests/unit/auth_token/__init__.pyPKFg-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@;>?[9dYPKFQ%<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>&^[GXۖaިczi/5؄7^+Ϻn8XS/ R3鍬)1C ꬭQZC7mb7pOW+L%zA ,~OY&[=lcc:dhbxIpo}tTBaMhg\XI"87y3±:5Owo%qH oKBws׆)ēlb-ǜ$@4@ٟMa;Y;2T茼ᚊΉ?nSNxaYNDtr.ě} kαw ]H" m3'$(J"j,3>c\PeOkkCC9?{;pzG{^=k~3w~w=r?޵xt;=Q.Lm[IBw-N{'K M<o0, N 7΃ȇ&ēM7 k*.g8k? kg5]E9+?9o0v 3z?A0v [ O(=JyDxE`BQ0C (?<~?EЙ Zpi %UTʬ2KgW['f*&Xlp##@?9oO [!;G>π+?;c(m+z`Lapk׀%;vȴh6&-Z'UO6ucacB z8[`_?쇇S`mt9!oAn]xO`dC-v NNO2l?m ֿ^ _]O]Sp` :Ƈnv{p%vw{۾-J#1Nqo]?@󤵱K\__?4J\8-hƜ{y?ر ?Og8 -F>W]@mxՊڸ%1@0`>ާQ cJx#l?TZb34KPw]Ɂ k M+n0ksU]e k82B f wJ@`Ef*,qCҁ5) p{ѿm-4\e7=">ͺQ*Cc3"熳)7hڵ?(8?+XN *jM6ͩ:: _k(mo;>Oj2"gJFGap7B,?vniB*ͨ 8>l[i%^0n[wK#^VҶF'S]((9% o8 O #O x65 O }hP#& E.CiO oDl)B#Q2՜J.`¾,w4:`lI+p1 "jv_ ͔QaϼFyTlJF$ x~o #CԳ%,Oto2 ~%љq9~G,:%XRWkRW7\R.gjy{O \g6F0MG/}tZ`DЖFgRvzvp;E=濳CҜ./) cPʗr=kȪPifLiôUR A]-3 >q.C89.6zKrei[(NSoxCex{~s 3_{ -@ւcęOb;~:X9pі:'ȂrԽFnFL]+Lv§i䑞%a4"=s^ G~#$6S7V=Qe4'݊6l'.i# +*rt2.X"[e"0/n¶(c2QD)}' %~?:. -D;M#&R±m$-vGߪvgGdІɀ",6oD֏jDvǁ Q B\,B*VX6xѤW*+Ѥ](S~vu)PLkk8lq Uc:Mu/SN!j*X+PT@Yea4 ӤH! {|Gmdc\|{}լ!8]uvRqelY+\Z.ŘVnY4EUoA7 Fjm ʶu#/N>=0r0pND2Z9gk*(*hveEowezLiPܚlڇ1./I[YBN/D`i%4_Adp?ignT $e6UN-]N;:u)[<XŸS/fSjz~F:%IIgQ(ﱑ D#8F37'\z{g1Ź=%ss_xhnٝQ:~$)?! ~,}aEHh0B nU֑C;NvR!~>+]m{؅?֓9 4tŊ3,)s6E(9W:,ɽ{/$g,vהP9gدϰfʼe^tV?>CQA+2H ϹeIl FIEPgeo$}OŮzg*E,ԺƓTT: sHufqȔF'V ?23JmSĢFQ#Z6W~f~m]Ng'L#ǙZ8U#,:tj1M7ݑ5Zе?\4oṛOTF%b{|FsWk^ AETj;8BlZhO D{;[[әFiH^v;[/.&L6tOye ]Y·C簿cGw> =XX g2E> G@[h99ԹdNFfW/^S\%ơ{9qzHF>L^nxӲ_JAAL{77 20ocp$aAb:V9Ч̊s#&G.w<~0۱U2_QB -]LaA$0UoE̋abe/CCWM R3 Gς&-cu7v5`2P^݀;afa1tII֗`ٍu N}ujG|F CkuEIꏭ?;v) S%1J^b a:mK2.4q`en~l) @=x+cz225#X#E\mO:u0\pfwv3x|BSP0P%i[KymN8O<{v=#U-ngeWewkSϥe|-ٖL/&Iwi 4cDo</w@J{u`ʌI ܳaN`TAޘ`q<0Y.gk+I1`/~nz w=e n HR=KOFp2?ΦB=3tMw nV=q;[?ɸGQܽfΫW3b x:#{Rr5 ,g=Tq([ >NZa@m/Wف68C|ΟUw+|&z'gDNo?*B`4+5Fp(P *4PA[) : EgAP8vt; QAt!QHt{ VrH_12ϳ%)ZĔ{^@iA˃dbW^ҎOȋA 5sG&+v l*e]}&T-#ƥ *GlXe&/ԐB?=E|l7r()RnA!ʉIVgFX:-/K[ۉg)D{ǟk4,Fp3O5tW[[ۻݭ6kz bb cfCQ 毭۝Vvg,T +Rf™}nXOYJ yR} ܃C(T \A3>ce,t+$-%<}hdB'ZsLFÐΜrcQcz%`TW^΂S+c{.aq,H)؝aE 0=iJ> siTw8pNrؽSO*.vic(Z> ZgHR;fM5G^JĬN#jW(RFY閤e\RFDdM1SjŻ-8-J惻Lb^#٦qs2B,KKboaK/[PbE7;N".2Ra|?KQĠɰe 욞R#rG(s+; .X7^ǭ(1?@Ƶ]-=@IT'MD*\eɲa4Fb[=wvSuJXn(-,|M|Ma4)RdT52)Q-]9~QX87nF|=zn3m  c/+-z]+?熔(IZ?q3L9_T&jtn0* ȳ|ۣJ^^Y*QsD4yl(磾^k]7] gGhBT~Ǵ};Q~,?/Q'|*Kh-HY:${֚J<Ґ 2eV [t]Z?`N>\Db`s[/xZEѳ"o!w!70Ps`9HΉъ>N;›9id|%,HK1'zf_?,krGP[Q9;Y+*/#AuB2Ty1 d)1RNh2XoL;e#UV0?}BF~r/ʙ̡Ӥuٸ\̩ (`A[_b)["okIō`fsE0 drP_3y\)5s4Xh[Q,%F/" 7,E@YMzM٥cKe%C6eҁ?T0 8aӦgz&)cx l[)VjR l 2KLĬ2Jal jCJgͽxTqVh\HlX/G-2*Uuq7REIEwUM/A|Se5Mj[XdYt Sͪ7CgI?ON7db~+9fEω v#(Q 6g?ITV)+mԐ?Bkh9bAv̇VoCKW3hR_UgL&#d/u=vcLOEEXMwQ|cओ7/σX2(g&>_a f+>.ŰT:l:ԟ0֊N9K36_)&0,PN w{&WGqaMR:)5N7V8;3hxԦb]Ua3Cӂ (Pa4 ӶbVqyQr.BdդysxGsZ9 [/ 8-Ȧ tfn KXGS1I眝N 4N~:?@٭v?q1;ȻRyetr檩lv)Xj3jv.IYNE\ -Ɵ]tM țT ”OZu΄‹RdbH&YX"mvVGSH pF1-1*sw2FxSpf6tѿ=<kF`N?Bz1)j)Oj~iԄ4$E+jv7at(c[-Z}߹$jST0B3lBCAqg5RP+y~H^ >=,Qxy,䙰-Fw(9*60TEwO">Vo 2@, VZ(f1oICE}/1E>xs 1Zl[0^7D_X vV!׽ ˍb𩃀.þuo<ѳi$.뷂o\4vvۚ`V$(I+CƱω>@z13"S OUdK"e([j,V|ZT n;gҌdʍɒY4(?2^#M-'YڧЦ颍X hDZk9R''7U<ВJyDЎTozO.NKOh[6 8ɸu UڍGDJx4<Mchv{mb !࿍(k-[n[CRu wNAoBz%Ī;hhD>zi2 IC Lc sO~,`n` R[٨.xfn.tzM"-_Xg ̦S5:PdLco, H6Df/gDc,_]T0IKdHsX 08G6v񅅪OfI7@$ie´s *Ң2b6tea,y9z _͟jD~!qNSWv쟾)d>`IB Ezמu;ҟ0H:2ujJWV+}/1*GD"z\LZj1Ty4B)h24oLq! Ll>x$ޯ&  ߤ5TiSYe5d-{mNZkqϟ<d wVbu`6">Yb~ ;f?&5c D%<1 K$'vCՇjH )YKQGM%F6`Z_ЪG,t̊.^vb 0Lj^XaupDM`5WRGN`EԸϺ[Ľ1Y>_~`qsn疻&a0 mPS7NE+/b n C0hN{\R}|:?.4L2[55fw1'@:0]c)"v$r5+Ꟙ+L3bp7Wg=+*>\|LS@R 3~sO[̕E0CZf☰eˏu.̺jGʋH5ъ(kfUUd2H)޲ =KW[ )vePlK,|Ղxg=͖zyٳA\+P ݚm 󧙔ʦ%Q1:@R=_7n9uN/ oH o@,.SZ+ы(Vzi!,|[1pSO;DWF9o_2ϋuV`mkcS-X 驗xk޻ H2$"~Id']عeZ0>H;qGM⍛+S@{o8dCС,I$č뇍 TI]ĭA%viIJuYJHvVYglU2X"= ëo@<+f?s$xtArk4W*]Qt7xAɦYkx-b]Tbx%8UKlC#"{ ؿ,"wiBlh5b}'%9ZyS{>s0-\ױTQS=Ėġvz-oZԚ>nw: $QQ |.NM7 dzq(d&` 덐YY {)Ё@Y xaDg"(s0㫖.`XGJKZК#ltBK^~Ja B!5:pڷaPz EkpO= b^`2fi70w2w9OqQ&>cqd%/(%Gl8K P,'tls`z?y؎&43^<#[smGedFf d35J쟯IVq/w{ǍݒN-oP!0^Rʍ13!J0; p]#|"Cǀrt 4`Xe%6CcG6OAe#evUs"i٪I=Lx@q-lю,4ʀcAVwwK/(Oyůr9RrlEb70Q_aERA?mM;/_<?2 ^0-)vwǝԲ4! d >D;>a Vpz]~'\Ǟg.hfĭOJ|!CDaaUd:{Y#5k*I03/EAj/Dn鬧LcB'I/" -0?pu.}{<MtIpD֧tVdaUEV@󨹒EϷ.jeG|J"(#gvޛJC]YWlf(Uu'|.W1 į Bps#(9*0Sw' & lժl#Acd h-Jr@]MpP AX.H⩳X(5Z}nƠ0YpbO (9۔;|8<0TYj/+wIqzKAh>a+l^{#RΚjbQ)y|jmtꦜž ::׎E@{3pg }.J OŴt15cSfW/ isoL)"qfyіeO2W6ǃ,lJMd)k{+ي%ҿf-jT`QB T"?acbvVK( iD=]"5vwk:̭7_CfM}) + ٤5EcIei!3vTS [CCW6۴lRԊ"VY( UҖF+O;dv+$Y/45Y$[%&$p2d"g72Q}R$NSӶU=_mj㓟fZ\UΤ&m+ُ&J-y%\! ܱT3K4RyUF)-Aч3fgՔ&e:񻩰dI}/ϩK e} ?0#mꔵxl n|7#EyOt}w1hVӟe߹,DaЮ~њeWo.],S9Tx@O ,(#Y_ *$]QQ|b6pbQۧQҭl"\Q7E9gXT6,ov+VTܺ_ZMk:ln8BY(SO<9ŲScu5t5DapkX仏|DY4m}3Fg`0*$`єp;u[B_Q\|X ?ӏ8x9czBv8NNCWtprvƳnxLD7C.֧;0Ě=FVd>>" nƻ,-s/1qldW!fP-ZF,j:8F^ti;G5sy(n]? eJ i _61+F4~*#'%[coX㠎/]0|%#2!t' 7FBh*rg _b7*=>LXQakm(Vq\EQV6+t_q癟H%㛤/=Fz -b|i{GM]&AQiV^ܠIC)g,r\=*{#ՇU $ƐU߃[Hތ] n˃y)sYɨndi޻0UfdSj-uJ(Hq*QڕZF]ڊ9ƒlG 7t% H!M L]%)jҢ1G a_ DG`q_gKᖸ&9x~ x cح;L)=D&e*(= Ogٲżu$4Zsm]lc=:+!k$ٵ`fH$cZRf|!\d6Pyc5ƿ* h$BRʉ%(ZDiFڬI,SIfF<%8PC,Hop(WJ2oaGw,6r)wiR@<39p&P H~,$|r2 @ɯ 'TԑETmAc:s3$HApbbL`n.poSDghBt \ Ͽ%i\&/䐦 &a^'] d\><8+b[@#30PtstU'G.O*:euԥ,+`њvINerDRD|˻l )U@yWw K5o(6-kxʩbns.ո֪F~^ *kQPKF]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ԿPKF)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&}فpIPKF`h6keystonemiddleware/tests/unit/auth_token/test_utils.pyTn@#ʶDqR&EMԐFQU5 *Kv8b츉z+̼.9*@F6"W '+FS3lu zPB)+|ɱ! r]7*GHZw4=H;KR1yNvϚ9L6M(:6I"%GVܩ O4NRƺ.YG p1]i,.uu{PKFP%ۛ<keystonemiddleware/tests/unit/auth_token/test_revocations.pyUm8_1ROiK?iv3f!Io)G15IؒO7J{G~Lp23zgkdn7 ~L>EhfOى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ŊI7JvHtPKF#keystonemiddleware/echo/__init__.pyPKFb"keystonemiddleware/echo/service.pymTێ6}W $^yE\6(--ln$ߺՋ32C0Zho{FZ'D0]O L 86jTB:(B +RCfJI3Fmۦ/S} WW\Ɓ ҳMĢ56v3V]Hf-f| DEdbMC*р 6 Xތ7"UɥVkq8|@l ~.j<%wO+x>>Na G-*YW?d~?$ T7*Hs&mx5Ba\,dF٣*tMGTERz[+Xq ֭vO^k1X+c=xww f5F)dRm ;<8o42217-vE7;P y$^ѫF*EnWwdh^ZK{a%+L^qr֔и /x Z0haJ|& N/}kNIg& Ȕ A<e52믴$AsNi[ryoo!<f61#J9aLSOȡ*GKIiGËp~Qx(b^աBpexUrI$e6t1 # uVi8N=HTyq^թ O6 N76LN|][Pu m(:xb&3*@ȷ`KT^JIߓyTx|)}~DFgp)Jq)v(|GYY}¤;vfުf,50- PKFr!=`p#keystonemiddleware/echo/__main__.py-10{ŕ2/pbsdf*7b#8bǔE =ȴNm=;鑍Wԗ8 nPeJ PKӽF52keystonemiddleware-1.6.1.dist-info/DESCRIPTION.rstMo1 >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_hPKӽFlFa3keystonemiddleware-1.6.1.dist-info/entry_points.txt/KKL/()N,.KLII-O,JK,-Ɉ/NSU"hY\PPKӽF_{ 0keystonemiddleware-1.6.1.dist-info/metadata.jsonU]o0+!OLڼݺ4D'MnSLk;ms4b&t|K/Խ0ZIP..Oґr (r Hʹ JW\>^Z29/P:ÝȾ9(9WQr^Fߣ1͵?;ɮnގ4Koi)Y0ӏ(*-mf p~J^[:G:gG9NP&xc}zgbt{,;1227iºэ\E@#pJ9l2 2暱Aja;62 h c\=<jT12 AӹU˳@eD[2y׹\wM9>\$Z9H>4Z2vWA-P ̅DzNt<{]KAc MJEO!t[2'͌G#"sqJ/L )?R'c s*X!2ī-->8ZpKm_4hD!&svZv/Mti5q yén3J֏UKFD.__}6w2/c)9I}jq1,}0I-RzDgl76gt8 sIZ9/A;sWw,z#iqߏ/,#AEVƊi,'RDe<()P/O-hqEӫ%~zgimɊK=yǬP "~ȁcTB~%j!4W\mؼ|}ڤϜUD/;]0c{d9 ObG #t6)j4A0#i&z]56eWUegVE%b*x!c@PKӽFMw)keystonemiddleware-1.6.1.dist-info/RECORDɮZ%՛ 5c4mӃ ~"J9哜+UjWE箯+Xq\{B8z4.AqvxNGsd+**1 UtD7@_ wcup[?'\ \R\ ԋpT_oB\pJEm#8)NoYWWG׺4+S'vCYup3a"?UASU=f"U™ X5RJ<2nm*3 OJ؇q؇?]7ӓa"/ǀay6>s#/QchS$SMA^}%*୙bdn} K8KJSKdr6BCOO)]`j؝lfSuFDCpcu$˺u&ǚ[EiC 6jD[,eލCɾ>lG:6cɠιr LŒJnh0* &Cpb^n`!L9uYR²ng>$n];e|{򼍘٭Y6U  .'+L_Q/y)>+O]Եi!c6nGN gOt1a3#gJ s%-Ab`eTW:O:d6(_VKjxmBxP<iN m{/O!>wZ%5B # '1HU.>_3[x9>7Zxx{=~:M1\N*}5HL+-ht3hiBF昰+/o5Pp M9Ż c >gL%NjNyo{V] ܽ{!s'Lv!v֮LS+ՊI"JЮwD,1!>0gwʶsD{*MUS=5~\NdPrZRNrKUZ]8m8n4=RhQpחsh~z`yilR]]fbO:{VQmgC>iBto8(6Φ:{%MPEhMaw}?1b?>xSMDَ&{poc?p_$n([~szX 4UN2+\ Kb|'ֆ8y>RIdQm98A=1;מ\Yǭ\X냣u]N)N(5neI!~7P .-|&9\|\mGZ=]Fr*xӴ%EĊ|O_i=% UWcx?99^~Dm1d]rq#T86[ݡ ^*q GIO_Z/?_ڕ3{d|8`qp0a1#u^6w w Ôkyuyܣ _ dl䰿SKpzmzbMw 9͜5B9p 7 YI :OXy*Y6e']=XF^8s)_Е|gkcf&eQEw7U'寽z# Lg~S^61UXo2{|g~'<|?e>Ĉ.~9}'eV?p pGB7`6I#Af4K"Չ7PKFkeystonemiddleware/__init__.pyPKF%d>>keystonemiddleware/audit.pyPKFՇvkeystonemiddleware/opts.pyPKF/Ckeystonemiddleware/i18n.pyPKFNKz!keystonemiddleware/ec2_token.pyPKF-*J)7keystonemiddleware/s3_token.pyPKF(-keystonemiddleware/openstack/__init__.pyPKF/-keystonemiddleware/openstack/common/__init__.pyPKFo` 2.keystonemiddleware/openstack/common/memorycache.pyPKFz)!f.)(3keystonemiddleware/auth_token/__init__.pyPKF0*a ##*akeystonemiddleware/auth_token/_identity.pyPKFsIi [/~lkeystonemiddleware/auth_token/_memcache_pool.pyPKFz@F &4vkeystonemiddleware/auth_token/_auth.pyPKFFm-Okeystonemiddleware/auth_token/_user_plugin.pyPKFI'^keystonemiddleware/auth_token/_utils.pyPKF{ >-okeystonemiddleware/auth_token/_revocations.pyPKFs }I&Ŏkeystonemiddleware/auth_token/_base.pyPKF4tq6'keystonemiddleware/auth_token/_cache.pyPKFA -keystonemiddleware/auth_token/_signing_dir.pyPKFFN,ͤkeystonemiddleware/auth_token/_exceptions.pyPKF+k H0keystonemiddleware/auth_token/_memcache_crypt.pyPKF$keystonemiddleware/tests/__init__.pyPKF)Ұkeystonemiddleware/tests/unit/__init__.pyPKF=89 B[6keystonemiddleware/tests/unit/test_audit_middleware.pyPKF-^** *\keystonemiddleware/tests/unit/test_opts.pyPKFħj v+9keystonemiddleware/tests/unit/test_s3_token_middleware.pyPKF[[!&keystonemiddleware/tests/unit/utils.pyPKF7ٖ W0keystonemiddleware/tests/unit/client_fixtures.pyPKF4keystonemiddleware/tests/unit/auth_token/__init__.pyPKFg-m@,keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKFQ%<$keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKFJm{DF%keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKF]NE51keystonemiddleware/tests/unit/auth_token/test_auth.pyPKF)3,X?5keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKF`h6h;keystonemiddleware/tests/unit/auth_token/test_utils.pyPKFP%ۛ<>keystonemiddleware/tests/unit/auth_token/test_revocations.pyPKF#~Bkeystonemiddleware/echo/__init__.pyPKFb"Bkeystonemiddleware/echo/service.pyPKFr!=`p#Fkeystonemiddleware/echo/__main__.pyPKӽF52#Gkeystonemiddleware-1.6.1.dist-info/DESCRIPTION.rstPKӽFlFa3Ikeystonemiddleware-1.6.1.dist-info/entry_points.txtPKӽF_{ 0Ikeystonemiddleware-1.6.1.dist-info/metadata.jsonPKӽF/.+Mkeystonemiddleware-1.6.1.dist-info/pbr.jsonPKӽF1i0~Mkeystonemiddleware-1.6.1.dist-info/top_level.txtPKӽF3o_n(Mkeystonemiddleware-1.6.1.dist-info/WHEELPKӽF}IY%+Nkeystonemiddleware-1.6.1.dist-info/METADATAPKӽFMw)Qkeystonemiddleware-1.6.1.dist-info/RECORDPK//Z