PKI\ 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:TPKurNGEwhcFmPJh $,;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|QR7PKI&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=Ѩ>KoPKIgpq #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`ł>"<+󶂷PKIL$& 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ֵPKIJkeystonemiddleware/fixture.pyWo6_qp"f{a^>6c]N(Fm.2T;ꋴ&-~}<H>9vFXd>_?VVf\k(R Jغxf+r=Vf (Цw՘N /&a8Yt1'b?K0̖o|>.]d.F1V?ُF #O#Xp4RA:X뒭9/$9/BS65B&0Cs* P* djF,Eڞģ)P[O(Yi6og!A}!3Fd0b-bȕd&2oEfrְ)Q\>u,P\U `_& њk|EǒmyȔd 4A%!]U.QMp8Ǽ"vfyYub*r w|#0}D2p)_64V[MlQ%Gp)5ʐEOH3Ŀ9(B)3=8 y A*e;S$XV!1Hȕ o5kj^(:}58z [%I6xbV>] DPF%*yL+۱d:aX%淼PԦ]y; Zщ7*Wj{O& !t _*T Gx tpzv2͝,aMR&H]o79dgECnAm`5ӇhɈ'e99qvUЋQ[LCWP/LvGpCQv=BO 2&ςFS]Z ɰݦjԏ==*M".W(UeL9WPKI|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~ >[1n0zPKI+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?PKIq %keystonemiddleware/audit/_notifier.pyUo6 ~_A(zӐ!YÂC^q8 lӮJrS}I⮘lI$?~$E.D`LPEX hAQxa\V"6,4tD^|i Uޯro6 PKI#keystonemiddleware/echo/__init__.pyPKI}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^9q90PKIj#keystonemiddleware/echo/__main__.py-1@D=$4pz cX17?SLt›[u͜G.2 >Bpۺ=ǧsX7nO_l. Vc1%fA*b)*z/PKI9w-keystonemiddleware/auth_token/_revocations.pyXKDW28"N(aw"4ɲZ!duJ;t #~$3w}蹁{af0"Q#sџd 6Rem5L0F HɻLY( i`+|0 3T'RdQڽSS s) $A9ot wC6@8kwIIin7d%h h|ݜ@dP$6df"4F: >jieQ[{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[-'kJ #G#E{kStt#1uXq`~>RbJ,x>m$E )ׅ35q,a95iΟ{?hFHxivEJ-2 O҉%FhۓOԣ%C!t? =rQ_&ok!Ȕ6Vڏݻ'jm|#b'6>xamH·74G9 ϯp`.N)UuqhP"Ü-iJwMެ[ulb',뱭d]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,$=mTѲWU6Z5f feءN+ >lpS~PųY|rENћޮ/x-AC}?"\IYX)`m RE)s5 'tr`=W=J 4jֳ>eBy8$|50bs$fV |h 8C[zHw5ɂY[Fas_`1jV)M`C[ߕUF/s^o n5R-L̪h 7UN 0ACRK\,`BKH}Vy2#\.Nߜ!;ƀ*Aox o.&D?6bGeXBA  =6|~ODDA ?ȾMc{ZMjHVڂmklAS5Ù,zIwp,@.qzic2Di#' TJߏ. :dYX(;}{mTD?ei E~grN._w6:N%`_ [E_:ڲ ӗo& s;mxSmUJ>gByHPnX։ҀL5sSV\> Ӷ%YgZm6ZߝRvP$+rw`xVm`UF}I_חBů|Ấڸf&V0X?~,c`HY3@1ADQK&5*rҤHZjbf@^bmp/.|3Y,>6Qt$kS̝lULWlisǨX'DƼ֭N1[F1ǃ0*0T5q d RfM9Px 8zApLl4+e3H5(gl:.9تfy<1Ŭ=|w㖘pӕO& K7Т|Oc&PI˞n(p><-EX"t3 vTI#4Յ:Ԫy^ lTͯ/lALzMY5+g1X9%!eҁc)홅'溗1t^I]KV{O Me$˫t#uگ[?(y};MHe$#^5QBZ,IϾ?O?_Ngn\2M'ooOdb|O|^;;l,_d#J NHDۍ06R("\]{IkLj|1T1ch8E6)%J-l5xC!Up)W֩4*F&f84+T2U!q8m#.rzVҹ&G`")^jg`` J"^:}gi/9! Q\+m1o6( K6C P#ZBrm̔~q݅ A$ru45%xpcg (lrƂW"ꩱ|a IԸVD!dEFD h̼VM%\@;rBv (3?FxL#LnWrz[%ɛ˗#&ۗo_DL0I9z3xteؽ7Wӳ|N_z:~շW(T5SUYE$[*d!uD$FWrI)kgfXs1wݑ. 6؅(703bf7c^821j.hsKG؂`*:ӀZ~ b۪lyrWfqkd`O?eǂթfMZ d-Ikp4IH:DCNAŒXW&ծImقsr~r!%T6DY{>J9p՚=x\qV8;n ˪r{kC ?0^q |{KAiEq| ,81 },k@9YfxQb 7ֿX q>_|l46:=c prDpNts as p=IM̌[blhTF4G6rII'$jt=+0 tG]8io VK1D'o%̪i00u6v2jSSEdw'[+:Ӎâɺoța`Wͩ˼58N\z֗|@sOٌچꤚm{Q+ gb+ Q("]8z6l@̦f7X*``硻x,BZm]/LGñ1oړ¼2Gux;รD6>T+hcq-B3wGs%ݑ mԐ#G!wwn]1q=l0[z۷#2l3'}%3YOq~;>}P~6MX\r2諷1toZCMCW MQ֍d]v Pcڑ:hsǧ&i髑w\NC]]q%1E%rrіSG\S#È僽51Z` xI]@&]$,g|=& V1Jiᅱ&畔_xVZmd]`U EԮch/"wڔd#k:u7 luC:5 la}sJUt>N3"9t%v=QZ11Z'Ÿe JNlw" 1N}Hy}<:՛"Lo#Bs9>e~ K[JU<`Ầ{3E wŇY.1o^[{A?:T|\#F;CSmM؁֒ gLZC.=fZJF6^j{s0uR&ә\O^|_$tpHY\UMQm>OۆԲ/FiVʪR%Mԫfu4gT-3DhnluVD$,.83zX8 E<1׌mǷpO-U^wP{"5-C86k@$1 ?-xuME;/$`yB><}74Yg' WbYWj&oCDșTغ>ׁwӭ.tܭ^a%/(XgNjjLVη!l^|xx%qw張uɭl5ojQ~KhR& }Qi0 />,s-Y<0 pۉ9;@x4#p:A0w `{ԇ'z7A7 &T6i94*shSOMfڀiE#g"#M!nG)SuOC֬!03iCe":>P@;sH6);Ih2B,*S 'IQc-_sK&{n(t+ r!ݿ`2^aMޢ떺I-根pa,Z֗~1 f(Nl;50N_i8I Cv~HU}ܔf[9QiӼ˩NIzR&ňl-v ϲ:˳kn\tMseܠ7솗G r'NN?(bo%l[W#cRP@j /弈%+ZV`HgF<~0W}06<7<*Vbȗa&L_vG7@ .>$$ޯ`P59gXD[EtnR @Aı=ۊ(օU {VQ$n7W05Qxfב44Ồ*DGA7C }F+F*O0~Qp@݊b=b/Q@/5߷D " "MʍH²A"f(s.@7NDxO'$WtIn~rCkCja/XF/մhH1bF#f%lzqpoϳ*/VǨ B gb8@S?]_k/h1&4[_@+@^s9KyӗAx o]xJdwOt5J^0Z"I;Ek Bg  81FN &y<{A+Ap87P%*Ι@qk1:ǧk>GtNjXk]sOى=W@%(J2X7N^]^=& Д$;d?/Ў@`atVFB>t(<˰;&azqϯ,"dȌo/pi"\&@BH|g7NL=(IG@:{KuIwJض=eH/m7jl!8֙Gє 4ԟYH!vd{'nIήJf^#݃ݺ=Ej{'1tU|(JX?Hl }I*"-;?-a#m]'G.w_ѩ`@DMѽyDfi$ sHrt"k5|.aD}e:oW&'t Lb&5nB@a8}=7u JjJy39?hmӗZƢwC?8z;,E|FwH296]@YOckWU #{)5S4~7k,#O{OZ.Y^/9գi6 X JZPy(,#尪e?|+=_}v LtWlE~|Яk:-~+9#Q+-ky= )jM$k\d iSE]mtIK$M'wg#KTxxl ^yj,^lO/ FKt,KǾ"TV%Til }`C^Q7Ѵ(c:o̓zQMZ1Ps㣳ˋW4؂~%0L!;rln=[cr`RAn* <N:F&? v}khy&ͶR~rD'ߴ_1O<o[pᵿw޼77d]ux?ݘ!S_q%1Jj7J{5", o}b{¦,jz SQJ|8&nd$2M|3l9cj3٪]A<>-fS ZCNSm]?열 ;3J?ǏVX#0!i@Xr``nc_k'ј/!H&WOBkRSRUҨ{᩽'u {7P*SM_ڻZ,-W,%6!+^Xwioc׈rވȫ"@L‹NHH4?gj!ג~<0y!mZe 櫉dx U8Ei:U rsgY 3-Y*M igՒ \bÃNXx ܈8eIMj)̉* rH {; "̎T6fu5o!H}T'-w#z'6M%΢d@nS'j,J5_27gׅ֕8R=qx;05YFٵ BAy {/oQ@Cr zY;a܃l©ұ(MId(@Dpna4 -|QW/yDJ~KWQR`_}V(y~)SRCHҸުrVNffuD%Pz,w8Ŗ >tq"q) gEFMu钁3q_[ F՟^|]PH.Fn4t:r68VOof Pi_ j f#S8߼3r]MEQSDFmvmH8_}[ZiN2j-=vAsA=Z%q%%E+j%J WJa)b ؗ/#&AvL1ZTAgMM-/1r 1VR%\m"l0Njh0E0 #D |kL|R+qvMy~+3^ ЕH !>tDcc$XE`ʁoV>XKzPJ.TPr#~׌/ YsdY v)Ȥe*w."<Z: l2"VHHs(UyZ`F~ώ+V흿W`W W}\SKsH^mW: dIouir*KIv(<X;S D 2uKzL_7> QT`Ba%*LP0[KL'ZNۆQ}`_kZLfW14}ϳl]҉1+8)1Ĥv~ %p8<)Pt[r%gƻm'g%BڈWVG%01#.1Kgwk*wkxMT0eFyYu\5T6Gśl"ֳ(gf-04e&_Aȏ2PH)k\0(2_D(hID#Ht%*L, QGB1xǹ՛#_fgt*B;79k^zos~[Iu!͏f[Gu4"cz{O]}>0NG7jR_{-xq"Hf4VjK5ve(j$$ 䮅c;`LYfg'XfDBi=/.tjGtb(%j+DaQSB>Oˮ92UF(ՒU ]b @vWIQ>7]pi84Bo1iJr%V]bMDŜ`*TɆDh}bzX!ZS!VԪl0 W:~ cφs10=oWٷ`KL$UQ6 aSuz<8iTeOUdKp/8E364Qr\sll`9BA\0Ula Mؔ}@^meGi$gH9@n7gO1 `0}h07!F> ؆r&42TWga_8zg+ȯ\:ĵ³蔆hSը"VR?EVǚVGT(lCm_ Ǿd#[/- nT8z̟У)ǟ )F؎E:졳1dƪ )NzJu} U\vrLXqצd;!pS[S#{U hCDkt[?m~|v=;"3IH]2,ZsFs'='z?>\"fs@+ё/IU`K?Ħ X|{rMJ,XD a\v U4oD?LP)-A>C4$VUۨA~HnzIf5>t<(ײe>1ܫciE9bTA-t7>{RG_Ъ71HO;nц ēl6#B$I}%Ta]goC!6tۻǶ/_}ӧzoXl֐oRF':l3"5NrɃK. z.rrσMz_98hW 8xgDŽ&呠T:)ഁtI$ 5j|:k A&n :1/^q#DoXJSg|l2t˫>^¥Û!PdvkI4S~rUyjCnxObNzLЇ8QTk&ZXm']%z tDۉiԡw|nUY63| 7s ;à4 Bԕi1ea't}ˍ!M|KDM. _%[7sNTw XojQEbRG҆mjrI7T:Q]W_s'=2tqV/ۺ$iJ:xo"l֛͌~H˷O~ [>MMpm2\ewq$!S|ƣ7L[Љg GQmu/xt^+쨪Z  c}hZ@gd+xLDKU_P]]OwNM~6aŃ#OU7PKI -'keystonemiddleware/auth_token/_cache.pyowR\ܮ J+4mP$'R=,H>$w^L(#rV\n ~'S(Ԋ}1n8N&c]-?NҖUFiJL,ez+$W`{i7IK˥H*ǸCl]xN&\(Nj~};әU!a%<022 gd|] xf5/j=eF잗R.+ےV 7b'lq{yy7oo~Xo._[okvusnqs ^w믧LxܕH?)Q"Oح@I#YvJfZW|-Z?R;l'ʭ4M嬐[iT2B]ZPrV6lhU-ӦЩ2Ѫ0F6Xn_0Cc[@5${Q#H9 ފmflW~E .$?1e9x3rb) :cc?U%X3¢r]m TR(h8WzB: בEW%5g"FgQ"xEV\ 0[0)+8,)j?ASKa'<9e7w+\O.xG (pw+L A7 8 K [(; E2i`aug 符+%3I @V06A2cR(F"ChWMFT28(3f yV (&f3qg]=lB;Ja'fxZ;fȔ`c|'2ꥷ3r (˖\g1nJ]7l~ dMVB0RMӱj F恫I*ԃ,BWHΙ csȲF*AX"@ʕ; L9#GX*`9HQlHl˰;U<%J3e^guZm`%0![ArzasձU@8fW0_a}`RBp %k 0GLΣ}`ᾳ3 CE#C8$ ^ Ag` @]~{J؛p$݆r&5TRׄlC"sTn( $lAq(IoAR&I,g}TSON&6 |dwIȗ ,u>uJc,fFYN"5+w {AQl &uG+w+5>| ]VEF"%W ]굕TU;(}`|,JO{2$T76e.T, _ p=\^% vŘ }jBP@M4`vT֠;{=Uwu%ϱTAL{o6neA{]W6oVs-:2*Kn bk cFLdBr$W3fEn+c1e͊o!Hj xwtuj#{ Z1aAmXJp,]O: jH.Nn~svm\^;*UOaW?=; MÓ^G]7Yo( &}闦j1wCRh HAN=hkyc9l yFJ+ 㥯mq÷#6mhE@|P c)CCgOH7Y揦V'זyOC41ࡄ0ɓsWVƃT jʡr WrO8HD"CBv>uY N2!OC6{6lW._$UFfj +,&h=0E uOTӎ֏HZRkPgnhYHאP29|1ܶM!Di\OImm+@ 5TrhE3k mevlZ#?^$8_C>+=9O]/VqB-+4t,]+O1PݰdX~Y'Z'(hojTqGО޻_B.*3b΢}RrE|.i@|/$}YSR;4Bub R?f:yl+uCҵ3)4 !o3w:asW8Rj'nyyh=mPK?dc)FG- "aJγn oEV"L5W2(AM J{EB/݌p_*c1FW:sSQ`Oz})/Yh IghQD9 A;$mmghv-`Fb󓹳ׂ]8IWZr:ď֗qOլ6x;Vq΢/;P?3&[:l.x[GKmԡ/%][>XR k&W}/@| 0Tt8j ,L̶<3^g/,\U/ `Ņ[qzou|ԍ_FWE8ǁXBb#PV1^-QͰb}ݙuL^ z /Lf4P^ Qx53I-ʥ<*ܬV8 K \`Vy?e) l2峷Ce)"j}eR&yBλ]RN6ܳ6cqF?bf"ا oX#z'l#e})aP<$ޑWxyhnQl~#2fgmƑծ{6k3{uaM}`B`{;K\n\Cl~Ԉ+b9c&qW$z:Zݰ+(F읝?PKI 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_PKILY  &keystonemiddleware/auth_token/_auth.pyYmsHί"R+>`MeA`B_"|ufzm~yEyҜŤHc&Z12h7}/&s.Rr..hW?ɳ(Ț>^T(R D,x{XOI$Yi1jBՈ b(OA'IGdӨS`!By"ؕ. dd)6L`ɘ\z1I+$5 Z-8PHE\Vk!Ś<\BΈ]GxО%Yzvk7GeIgY#KCƙ2 E0/ݲhq0 <Ӝ\QK o~!C`5|d)]0(7nu]cd3̷A Crݜ%>DGT}BH$k—l-g^E}9BYJ[P~|uk7>`n.b25wEdV!]!"Wli+.f`BDFкp)O(DJtw06wqhyԀaMZ!n,YGR(T!ٮ${~"e:MSo@8erHF%BBbj"Qe,'dNGz j~a$ +4΅ǂV`xb۝7逭:@+/0lA)/tMbPnv.l*u15 " IjNBxf*|p`2m˓(/(g¶OvcU7+F㧃Zgљ!F(֍z.zY儌o7Xr̀SJLx4M :~%KRyCw}upE?\:?sԭcxRw!*6׀fƜX;j  5 eI-ðc }>N] T_C)#+Q$1&\M}b /K+*P,C>x`} >]2?B*ð(T &ptk= 2ZX-Ȑ͚Ռr ǿ*/;T=ȳU0еX剡*hf1QEa bSd%{ : &/L}oPH(RSbIyɛyq V`pP8JXD治Bs*hhC]ԋvu[sjmb}-sOr[ 'Zu}r+ko/@ej9%"`iш@hdqǖm I2,崌>9ۍN]%D3vƩiX?ڊYFv D#,Pd{<m4zyqzs;h Jditհ|bI61,H;,80x|(lN_w}p ;;Gd` ݐO?9˛A %ˌ(R;O$!-b%Plԍ$7PKIn ./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~bOwPKI$H 0keystonemiddleware/auth_token/_memcache_crypt.pyXmoI>edH8yL[ƹ(,40NsTu e63]]]TS~z{z?oJc+'>+XZap(>HFoU.BJFW:_*7gh_:h KifEaTh#f:QBDjeNE-WiZ㕄PݫȦVBZB~YSNH㳰vuyr^CɶY>?I9<F1_D#rGsx:9DE 9lFsmu:Z Zbmlª4.7LAo,7;mxֻ~x3{}P@ ǨUNg94hQX-f3ɬTg:g鼐s%ٳS8$V*_jC400D/t0nAppp|: K8ATm%]ͪ9,FO{-f @a*2(h" `$4bKB1t [E1dj"Y(A(N( _ Z' YKmvE"@$cYdةRYeLaud#Oi DPXcpzXwQ.XU `7 3YWQce)_ERF{Vm0%fyĻ$H#58,2OjclDQM6-7LR>`*n7ktq zEUΐp.+1A78yuԧ[}hza0|>xz$s);<֓f[9+aFJ'MxnA%y7L9_d$bv!ҜbP) l#a+ds@ro`H 6(pŀ)tU* ̢+8 VV_k&*('Y@Me2ށ |SxYbMkV5H9o&߫: ׹\hta^|xi}@K9]s'+Q*<3ƚՄe'v|͑BM 5 ss@2 F\y\ėc0سpJU2EB=i m "-Si`4ߋ1MbJێi`"rscE쭘jkj?O陼MMT&` Bu&v7KtjSjK7i cAYj ʟAQ`ѻJRP Y%\sP $h5-_?qs?/Fn8&Qԓ=Ep@ ׮Dgdπ#3al^8#70\yH×޶g~g͕^cE?k=&,I9_Bt3rI_@wğ쯠>\v/20(0 rF7x^\>=~.ZsCwaa:l",%sCTOSy-G4%\p[ߘ ,K$8z )lߺB -2~y(njbz-!jRhvln2>v1ߤ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[PKIs }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|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`ѿPKI&keystonemiddleware/_common/__init__.pyPKI$keystonemiddleware/tests/__init__.pyPKI)keystonemiddleware/tests/unit/__init__.pyPKI4n*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<ʋ ajhPKIF#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_PKICB2keystonemiddleware/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ŸnDPKIh6,0&keystonemiddleware/tests/unit/utils.pyXo"_ IZ)-R^&P괷Ef7x}{fdÇr wpAsC(,$QJCɿT\$: Q+9sIHly{ Y OH(ii2rh+<(uI ՝ {n>Z7!@elv2[NlI̔"}ϸ7GBS,7"$;L ɮO Ғo2] ^a'%фtGK2]vr/?++hVɒv>OW Vh Đ"81o"zC$JS7vjFX-be/8!Y3r`lK'[\##u|9\&z=O+Hj7s KL{jHiqwĥ҄]gRfJԵds2rtE0T$릡X<دX?2W;;yGl(qs j k;e./kYDP()- 7}@=9ij =EaYuy:hc] e7tYL0:S`@{gplDtΡ|dze-1nؼV^#z]i@5{рDxKe**S)>e6KoYhC =iC)\st%PU&&:T#_c0R^ԕ?pb&ƥ7Tr-RJ]<%}%r1,q} jXKbVfI8S ǽx{CJm$ʃV2'~ݣ8T,8+d~JrQB'Z e#7Seo8W;0g~Մ1'25?LOM@MoçUALb5^J-)VgkDA8]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+PKIgǢ .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~eTPKI0z'_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ܢ ~{=㣛<>]EwPKI& @5keystonemiddleware/tests/unit/audit/test_audit_api.pyks:;B,5 ~&eB6vҌGtc$_Ka2{$?0emnyH/9uE!sI䘠[[G:qQM1.Q( Gs/eߣ9Mk21 }P >2~ hԟI6N-x0yQOQ;o6KXG@+:!C" < ITR6"rX\*d@\V .ju {VѧV}\v%:ZV ޢF3jU]r`*=B]4J!rQG- |LP<:K0- eJ@`ؐ0Qܠ%O@% !3!9#QZMХr]'K!2*-1`AJaPNC4|zGDY5[×nSRI9KhDDZ[Vф1w( j h6 ߴ*pw?vK?ddIhwU1`rֺu ZZa?Zs7r$ډd%o֭fYfFG:>a]1ʩ+m0`pv%LA ۥL\Fy N1!½Af^3?\;&HR)GAš  B ›! RH||y3LU+^9}ebGLݭ)J@9I뭘# FO܉XxZc 'qy $ 3JC=o R*‚8!av2YSZ\M7L6{prf H-=lH YcA*H d W%J$pƐYoyfQ x@nʕD bTs<_DDe>l)!Zh;5g $=f+RXeϽ-aEmhš'mAtQ^\T15*jM8C z+lXKNy b. Hq qb83z>%^CXxZ;/~"*: kA. y|:t0wٓA,hGH/:&_>pҶv=_T푊>C(fcOѩs70HNнRd02}I1!ac*<ڻ.;ŵ9nE=:v SƝFb-úrf+U|OyrctGx:| x^ R{ XT0VXx([d.M7 IVٳr8NiBa[ק: L˕@!BVh6@,tDp:Sތ>2_M,Q$}|c$!7aQ@!RJj7SZ~]┻Q"ƒ- qN pp/5\ uwކV>F Gc_f{`6/h6Fqygc4ͫ{# =nW[JsБyn8iZKa ?xٙ|gA$`ۙ~ 6x%o}jo1 Y `n'`ڍJook{^CVοكf}FUznhj}XWJz{'ijYfKNEܱҸQs$[F"ٶ8R4L-ޡΧvQ&$(T] 0U4 nZBIJb[m~x_KYez]Gw*<_zZu.s/wGr.D5yX\NHx)hAV Q B{y%ѷ|$VPKI/keystonemiddleware/tests/unit/audit/__init__.pyPKI:^@keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.pyQo6)Ƀd&.f,uiQ@K'D$~GZ,/I.k zCxBcHPY KW=Ӆ4^/ ꩣkX AHF25/.x4 89g p ON+rI$y$)L[Y[%<1%eA%((Q\jj@ ncB#R(dTF ,xhsF&dU ԻLyqHL!mNHy6}]Ϊ=;AbQLs,@"ZDLGem1Oԏqs$S^>)Y x$F-F446{aL|sh uٽ6LfNX=ww0M165T~t-$0~/7g[X+).*Z}-A2Dd ljaA]Vd,jlpq##$1b$¶(S;QK /fdLUX6Ycy$C mx^5bmA\w?=܍C)o:!#_(t7/oڐ+ Meɚ($q;'3~Rk,Rr W9YwE} a2YVh{zQ](TNH%i^%oR|٣ MȾ񟤉Zghf[pФ{*v5jjN֔+m%'վT-ߥ7I;̻܍>S^vqiL#^\_~}\wPKIR<keystonemiddleware/tests/unit/audit/test_logging_notifier.pyoO0S$Z^2@٢ve!%H`;;'ۄUq|9X$( P5%° t+}% ;uKGWبJz I(p`eAHHTYa%)Ӊ0o%@-,8W4[GXZ[Պ)6 h2}&&Vh h|&  ̂@iFZB}0*+TRaھLP gѬwvNZwÛdf02G ͮ`8H2'H)N;-@Z Sa"2/ *0XdQ4,]L]mQ'&?MAՇ 8W.W }RMoBZ ]c^[,Ny hc NԍcUcO1!3 *W*m2 }:kyEh% پ=XbDBMIs([\% ]W /ܐy"dy\]|8~ϫNj;zy[¶%{݇_Pn*n0QtwLE ?bqPKI+DAc"<keystonemiddleware/tests/unit/audit/test_audit_middleware.pyYmo6_5du7KWoS$Ί"0Z:\dR%8ư^lVd Q;=wDW GR1I9&m3Y6+Y5qIU0E"M'G!`z,)qTMGMGx[G88:z. &:BNa:Iu? ·/d A)"K$9Y-!]! J1- 4S(Z|dX-C*ɳ5\?#o׃k|_ތPקU8_+rv9m0\??l.4@C @<0ӘNL=H)H$ds6i)Ę_AhQ~?]~ZsrK9 sLLlBZ-/gߌ\F(6b"! MVd?s`j",ibsA̻vUawb:OհV TfÇܽa %:ՆԘ<Ǻz>iUQmWb'b'sMApbgq6&F?/q<B%Ӣ8.i\kX/eh>[dŨ?gXIy}kDi."g;e5 P\阳& sa}_Z'_;ΉՀv=۸P5^ofZ2VڥWj-T%'e{C"}UԬ/T>lwlr 9Èaj\ǺUeϬ> qf'_$'<5ݠvoJiR(XX͎ E셯G7>8a/b柠e8ίF(U~4x3zǍIr)PKID(ݡ +keystonemiddleware/tests/unit/audit/base.pyVmo6_qP>.\yt^fAD\$R%8F,;o]E"F9 )W4GT^Sr⫖  @(ص[Q@FpPM01K)Pdy)l^nj#.\U&@4a-qwh:?7KJ04|2Oȸ,yJILYW[ 9 idBI$EF2x2%b!)-٪{j᡻ /0Y[LgKm]z7'0MO'd6x+2b ϥ$#\XPiC!ibxRB"xȩ̘2TH/eLmhѡ\˲b)2*A(xCAHׅĴ($ )xAe JMM%YΆʍhXӺ[45XRDL?/-8k} O[₌洚r '`۶uh$ HXƒHEDazDV&()"˺Ή^e#dH9ڼ4JrĬa.&.<ݘzP8w,s* S(ꙓ_11D2*uǖ¯_L1zpGڱJň_/i\ͣ 3[!.SBJ*RDgNgWS@keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyYo6h>X.m^)b hlsDEbAy4ٺPxǓCsB IBbf@zs|C>A,k%xOhLV"![Y;$$K2>X)C 9 ] fcxH #OL9”5S*[,l{~&)]d| }p:^!!DĄMc9%4E"D-X qb>NT[=\)b!y7;sb}񐜞Q?_ɻC}f`Ś?ڏQ2iM 0!'uӄML!.D\hJ\1LjtkQԲР(I=˚" sXI%B`"/UpŽVTJ_0n=\[rCIV",r}:>}|?Zl5vbas Lݲ6Ieݦ,:?v]#{di^,{,26%N-1Ɗ7[{ @̈́wxjJ2B-ԥSP=;0ن):Lov;&X*ƒm nyI"8ZMQλoKBWY{ތ>@++WZT2i5Zªos.,6jYb+?7E,gXё؄1 _\E9z`)g[`ˆL~X\DT8b'wl׏޵]wji}b7]xu( Zp0- l@~h+r5"M [E.6F*lw|Yˌbqi*նG 6=`߿+]w@F筐к(CG?kvcXvM%5rZ7"^S}ܠ7FYChlOq[y-;A%d!=Lu\ _"FZG˛D!6m[M?Qۭ<]02E'l&㛖{I@c C;w;lݗe(z$RHM0C{?_9ϒmTmBcf |rgWRHC^w/^ײc,g]H󫶔*7k?vf^~SPKI4keystonemiddleware/tests/unit/auth_token/__init__.pyPKIiͩ#<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̏&IPKI4DFkeystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py}ks۶w t((/yOgk+N;dxXJd7.K.gvbs-n`z:;[;񂅃]:/e8 7o׽ѠfL}NK'f.:qLha3ډbǟ K#uA8m;I4Iqq0\`j:Noi_z'/OO/I;paw|p~s^\0"$#wCL$JlL+.)sCX`‹ybkUf.9(E^$?(D'JCQøs7uF}N'bDx4 ٟr.l ?:c61% 4daYNDv~Vi?BJTRvhWwC&e+{fH ejcI{v_쟾>G~wOs>lu_~z]S'yӁqps6vZӓ4聍R0t0޶:Uڅ-OݾJlE-$$jc?~ݥьmIoyoax,C9 4~k=O7-K/zRjjF+"P)(C[ldc FbWa٭uP${e,%{pz!i6ԙ~ ?@+[d{?[u?~{x{j&&aPýy w"f=MNiݽ F?gpv~[ylll?3ƘMe~\Й- 73DI'fsQފVQ_I" ~ .*`gA 0J| s{^66F39fP/82[R@0"'46nmy%,E;* g7y#4N}'k*}'~46݅)aۀV{BAHZYB0ѐ*&/lv_֔ 6@>Y}&H<F9Ǥ!$A;-VL:`z͂%Ȇ|/8a^D$ dĜz%XJWkRW7ٓ\.gjyV4D%UѣG' Q9O`2'rz]{O1G;@h]OC:n+ cj/Ֆt ŸRQSRdV)`+Y:Zg 0AWs]懼׿3E:C#60?\P)N2H<12p dr֞sF{w m- xiQO?J MWQ.z ::\g,3<ãKçi7G\&QgWM&, ]"$CS/p0϶,~;7֝lSgJ˰#@ 笌!U]w2AڲU؁` \!:q hoIq] C*HǶz+P3쿵[|B;&B@n6/BF~Q?|L,Q B,qiZYY6Ѥ~j+,.~+[rSg\oކKmRZUMczMU!JTN%"jjX+PT@[ea4 H! {|ߙGN.XLY@p&֛D]XrbK0j|`c[57uh/ԫu| d;aI«?>3JJ2t: |Mn*}eH\qX, 'taԔXpa+%XDFnn !æs `YtIr@l4D3>I^٬8u\H,ŨȘ!M:sp 3Ow6iӲw%fmaUf]|{܃m*ti-_XVb=9t0N-O@me\Tl!rӿG`鍃l9SDM guq`72R%1y:@)TCCO[˦33/kzcLy邽~4N?p&x]@IJ`D(teS\l￿RЩeI9ʘf_ZN9aa67;d$)%F*3bqUh-MBrM'@[,9@#ou]t|YLQ\UvZQB3at'~;pB (SlL7& HJܹHI{ #B)?b`#yT3`\P+?"`dR%G+ó@$^8cpg4M/b2ȼM O1 ILሎAݸ]LO;h?*G? ~TM~hZa* WQ>XGx I.χGsRM}gF:r)Kޡw;Vxꅞ˰*5iqu>Cfh/_xCTN@6x367'OND>a͌.4Dn_Hq.Š[#FѬN5d{m;L;{rL("knnkN0Pʮq2:Ed' Sd pEPkF>9z*zgAʞ _bH?}^)P)=\ CRT nTT;tu"QԜfspr(ռS,^rСߒ~SDD)Jj FįI'S?w׮Lj8 ZSrs@<ގ˴U2ƅ@)(fhm)2 W ;gٽY -l~bU7s+64}F̛p* 8xh+LtgfQ8͛6O.\ .|$E0Ve8P4GPֱ e{=7lik7p"6ɅQ!cK?yhٗY\Q\b d&jMOP.vccQyZ5*wWT mK>?c6K} :NvYQ R/gfſr&@嚑bd&JS ) ]P7n0F|ů",rv%mwlΑ!`~{ ➉p$g8Φxyy1T&4,oLsƄS*mNJ[7fS!x;iY>F?0D[[[+~Wwf֮ŝ~R8R.nSsryu T5|pL+/j6" Xyꬑs>eꬑ7\2}^c|MkaK\QJ3⼤"^\jfӹDaw16o򦃌LdBw4u}nrGZ:'/ӷ`r&h$gm..^G50[l?톓LK sO-8YGO=(RPsy:UP^~74hVi#)Z]BNK0+\PhrKoƗIm򨰛V}oz~N/Ao.?7P<`ae\g6FF5Q>R8Msh|. &pPM&?~EmS=5R6~+lk{E!7^x,&4 2u;k(Glm>~>نߟ9ũ0X_§Dohb8L:[VkUs0ԅqfùͅh[b} M@_F $K#ioY֊ J@0(Cı[Z4堇q[Ɂ02 r6F9l/$!G{ZS6r! k Зᔵv60rIKC'A d9K)>>:: zIx,(l3aZT˥\ӎtnAl&92EIQC:dzMDLTzJ4vr !eNt_,S͸/2#{@Ιѵ!Cgn0 7ϻU. {:]Qΐe'Nt1V2ŝ=zS#4 ЪmE<ޙJ ~_TWcZ5I˝rv1bjyE&J0`ng3c燭] D烳H[M|`1SX=a)8!{:I Q`M 5bh*)~9[{xᖓJ|*OL'QgK~M*t _+i6XQ4 |"J> (,KL'34K%xGLqD,S IQNI0*i1!1z9>W@@{/w+.}7K<`^dKh Uzh+(}Hc Aw~i\ ϟM((:]ReO$l@bV/ņU)|aoP,=,,E=*B}T_u-튪*=xbOva" x?!G:$]P5eB='AZۗ$,i%"9*~OI؛XJ~*Cߐ*,;\<'QR '^COe Ќ+Eʴ$H5pn0Q@;dYo9*sx)寯#|3ǹ%QhŞ!5aQr/мhKU?5$.|E|2mQ* U} ƹxJYVQ~A2'e뿛pK}p|/jw "LMBYѸfQ6d04AWC#TtMF ܊ d`ir')h'I ,ә``soƷ KYW")ǩ|+hE;ykKɇ:O?O?sql,4fuVKױ`߆-|[8b*^ĆO.=RTu lR L]|dѵD"r=?D` ]:a3sb2 (jYbըNxO_N25˜b!"4$'-EQlrf(H4K)|Ho wuG YFKzŌQaz(O'rvZuiMfijXqGz@3X{>s XM_s!i#E,Ggb*mćdle)"=U^ak;Wx76Z| Nj 5HBwlHɢ0EҗEp1 M)F:so2drYP"l* d-B8\8X.8_?`7Y_Y[**0Ę+N#XKOyNhyv.k:AFBlNHmf}u/zR(Wj&)&h61cE7pvdڨ9Ciogqs;S[u."}t浑twjEknHC.hWFQ/izabRUV"6EQp]>\D1f!]ɶY8 >Wkq+Aq=nTEpillbH#k ^o#-l5WuhUݗX5Nr:R`vo^2\W I)>>L`Q&oGjL_~jvus-c,)6&/2R0iqPc:B!*gNO3 (qSL[!>IF>[-ɞo)JsDɗ#9 /&GB3[SګI.$PD368 "P%?Eot9 MLg~x:E%LÖ xEpS񸾲eѓ|ErOA&3+b}tFxҼT<\*+ ?RRzhTʞĭ=8,Lŀx y{` 엑"IVpaM[ESi/g3,JKdDySw?Ň3yւd9;13?`x^P4f=2X8>F2DdFq+Hx NL˂EmFu(}iS$]+M*Gnoeә}P2EEyVh+>᪨ ˜l ;}͊4U5?s=Gy.kmmtdS,WrYF1*Bx$LS)hAwX|7ZDoS:ꪺ **%E Vhr%d ̟v:mo17q>cCmYEEC]+0cR)g(tZ5z-ZT@:|'6V@fr!hֹӮαM4{< Zsww>wF*)< hI6[QP½ 2P`ρ4.3\YɌKe;/q$>+вڏP"XO~u1zq2Kw4W]Ly!?fjl˧f6O;YeV6Dn&JT>+T`gܡ6= A2wi4iD?x?%*(ncN~{偒Gl '9G5e:)*4ɣjtʥg1ѻ$h9i S˦f!Wܢ=,Yg I(!GQ,[N3}C)$Kqdde$Lc) =W>]DGS ] pE1Ƹ?dw*$Fxpžg98<>}8iFb<[x$Ipj!OjuibԄ $E/vv /s4q+xQi#L\ro " ohRT\"($"! M8Rs?RP+Wy﷑~Hta~F{XN>f}N+ὀȬ6 < / 2l|$}HN >>G~X땢+a@O\Y 5Qxy Xg¶B9PtYRVJ0Y,P+N2@"OD!3H2ꢢPȃ샷s<&&YCd϶:=ͻaJ,^EUF~(C |QL,Hc%4}I-:-d06ADZ)Oj.t EUtoU#> /JdysW֋riJb`InW-]?{AwqïEBf`{ ͨb榥$w# IJ')Q<:)(G6 }"\,!C@(ųY/+@k?LT^%ϑ0ЗP4GupTH( g7xŃl%/zրJo9cӻ8z1e%g93GQ8c8"0dw؞QĊtۤ¢خbHPr p WcE  mKxnhBi{){#~Iyz<@ @A3GRMdWn$NߋGƾȭeEmBs9`=Ӟ&ȫZIhFjpYHV-Gñ|r:})̨%^1ޑȧ;;ernI,dǀO~KI>Œ1?Irn&ֈl8~y衿y;iy3R5 89eFqgt#ؘ<f#h؁ 9&xw*bwG.OCF$KMFU! 3A L$ՙ_B`p 3x|*O) ,9>LGD>m0ɡ]DC9Lb$ ~(w^˯y{dJ{ *QuGLmlr{Ic475Kn_c%Bf`󪛤-$Б0@|L |-X$3G(yQ+'HF)/uBr>/xKzr2:Z&t{.)LuGTڕFRV^^TU +Җ(xj}Zl=G*ztVi$pZ&L.jAH\}TG,/5W)nm,D!lwV98b,kR@cSV JmIHS s~5S\ ;&65 )$ޯ&:ωp1@. f*?s1Io0BM7殰 zb_DI^Ô=j)m`zOC !~TyDʙK&D*eRVOu#0Wl8VĆ%"+ M=ӨV>h $|CUg>j(Xc+ː=nTmlǮ͎mǼ7ۏS[)rH7:>1oڭQ] ?ljɠ'BMU>A$deJO(#sj(@@zt$n18˄;r_x;o =(\{[=z!,;*WiI4g8LݮC"Y2 ݥ]!ʯ`(L u+`&e^~({p()%n^xcg#0KH2_|$OS $x9,8W*yq2wYf=o`dWڔbr6v%>w Iӌ8"+ak!y~ʫ) Y -a(G32u[%B"bD3"cƘ 1w髯FnBm 5Wwj2 0pv_쟾6z=\W U9=y A|0Cy:: U󗕗k27GC\CxX܇ F:W^k̤bUO;}kaTRB#K5фE%m/I,Zk8urqP%BO d^>0QkN* heA,Pf lU;\@F$SfkU;o#"jtG:E 6-P 5n X`Rg ǵO_%j0= e3us{gcJ*T\[= 0CC^-G㏊0G)x 3[xd YW3SuyeFRqEhͬʌ,rbG#\{`w[Qcobų?(Kb玸k*POIZ(VO ub֌w1^:+fRMK,b3fKOpW2J*ԛg獟UOy&|xJqJUj#Rs ~,(ܱuSkyWNjuzj@}bw.;RJVo"ɰ.-\a[0%K;q4YK?y)h5;S@e {o8dNCiIeV#kIGs?R[8Jwf^ &'cʒc#zW{ sf5#SG{†W#^Q70S幩/:TV. fQtߗxE0asM*^h]D NA!㼄PDP8&t`'btVb0GCQD]!# {F˔L=rHdǓbJ+U]gypڳcfxGA~1X\`NAOofGƒ(%榄Cr`aC0:~O W1˦@ieE$Fp!xߙk<2@@#nn&*'09Naa` Z9|>CïHtMPyW$eD|M¥bD Xv^.#\R̓m=S((%qW殹k{.D]#k/n%jiR0d3JZFJܸWxImdBl$ڟ51:x] /n(i_c)/( .Dw,:Lkkb9;YyD&G0f$\ZyT9z޶^~yYkp hK(r5@ȿ lp\crn3}.>xt6 o[~ziˉݙKEmZ֚,5c vx/ ÿ( R+8]Y;"8_W!M(ܔ 18ϱԑ ^!8E+АU[keBYjz[*z^;ݟN.7ʓhy*lnGz˼ѻfY.а/Uu(݋&;كI,F1փ_dO/A81嚷nk87qsáV.p8ߵ1u P#']%VD$U$4c(ϝԳRlk.Apl-Np6]^L|S IE?*/F͉I m4*9)A-뤪HXWDg( aBP.7&Z:p$25c)ySԵ*lfRTqkDajCj0jȋeufꭶB|.2@=CބZJ$u`I01mfv;qA1klƎfSaR#r=e%()+>ɏAMJ\ٖ!El?qaa[~^vl*0T_XY*M8&ڎYપSqa"cDέ2)YCލMJ)]N70A_H -\Y&,t|F糡$юJuz(U=8 Nz'yS|񅔇/s X^WdӎYrt;gzJr#V;<07Uz6>ټyO|6?loeUʭvFw| =5_|w"hCG(zjt?=4ڎXkqt|5^Q!V3d# ]1&lU6bHg Z".S͈T Ӑ 9 8[:_Ipܧ"bJڒCIcbh)J-t( MeL~%{5ks4Ʉ* d^ْoD/-qz!6Èi8w![!/"lJQ/t2d b")tdhR}zFXo]"OHYT o{!s1o--c. VWc@r2KnTil|$g1QW*99S ds6)XmYVH --k*^JiAHMlgO!3t6y\.V,MVv̙^cŚʲ,?$X f`Pn–ұqj'Q;'VA:OQGV4b$Vy$H^IƢ`uJx0i)Cd hb"58jSC ɍ+$Ov~$lcnZOnQ{6;EwEaE_~tV5rۛus;)h\֖^Zkcob2J?{q/ _-*ݠhkR:wUs3{W;;T%BybLۇ3ق6_Q "ֹ{G>a/Y<tke k^J&T՛wFA} MKsJXhnoVwB~/U;W#,PKI;?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  wMo57PKIM]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|[SPKIͶ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.wBePKIJuQ6&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/PKI]~P0keystonemiddleware/tests/unit/auth_token/base.pyuUQo8~WڇsNҥmm/95V20+S۔F7HE=3f<\ãH4B]O请j#T wWj'T ?xP* A2!-ʂ(!QE%/F]{Lk*\ɿu6nk2f6k-S:wf1ncKƀƗZh5>Pc)yJ5*GŠ26\#X-ڞuGIH/^|7M_ۿ[2zOp^/V0_}}HZ1ViǟH # 6v22&" U5rtB]i^ Rrք.)yts83fk"eZTQL;$YK[ 8_vFh 9E?)7A +(es s%[i *f)&^ǃBDWc0.j׹ }%hQaIL? n\ET1m\S";,(Ύ}uThdhuNdG)ʓrwWQpEXO)\6 uhǹh# EAm/5EAƺE$J;=;x.+<PKIg-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@;>?[9dYPKIs!Akeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyX[s8~Wh:M҆nfH'v;Gٕd}ϑo14is>'90Ob3IӈNO%T<QEY1Yu뀈PX1Ly{H.$\DbȊ&qrH#>խX4\pZXrv$|?_FJL)"ٷK8 [03+JBg䚋YpWT2@Ғƺ<8-8y{:`j X_N//OAD..ɻ`<·t| Ϻ`IGdhVf4L R),3FfI! 0 I\SiPns՚pAZP0$]K! Ȃ~.J{:g"Snb[5SZFh‘~.8 CJCX) ddI)87dg=h_߻q0$_f I~uz5h%jM } _)&?1ޱZ>Ba)młiEv=#=@왽 # iӞAZ P;ߦqd:s%A}0p4蒙 gCˋOVq@F[d&t A.,`%DQRS2L(bj#iaYCkVJ) Flj4Vznf/27R%>·{"T~9ۡ}<ɔQL1:j I]bq?/{ი J\Q3V/teU=}Wj>)SKh 5d/rt}d뾔ܪ>vTd^r RtTrN XbjInD6XT7=ފΜQ)tx} Qxmb ɧe7p׀5JSءZ.*fdT3O,5K,`F< Kv,apH$ L, ŵ7"Ap+,/,ha&J6gaH̋vaK"[" ZQۨĔ@m~bTjNWC@ad:|9x(G+2NGFg8AQ1%ԡNtsq 1WQ*اkNqcJMYh8Bz ."TO>%zyq:yF ? (@/y[\H 4%7fq+< PN:`4cp C$ m^s)%3?޴;=4QLP/Z4;7k+βw@sɦdy3}{iKW"ch*w*nXTM31eY); vm`! l,ja]A1xzvdwZsnaVP7Iˮ;^Rܴ o.E7YNmL_X-ӾzWWߤy+esS5c.OOb!ղ71dm$?eT+.(ImJ.^%7hgEߊŭ\,uƼR,6 Z( $V -VgwCJwArDESSYp6՘OCVz5h%gqmو sYx^@AkPlNoPKIc]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@_PKIϯ@c3keystonemiddleware-4.11.0.dist-info/DESCRIPTION.rstTMo@ﯘ#h8FE+x'R{ Y磥MV>d7~3y룣uCĞSkW' k!t~Z50 -HI\uc9Sq$L[umZtMߥ".1^mkGBA@ue.Ns &c{Òp sy$ YTVjO6pѯP^K!_K41xZؠ]s'cL![B^Zv>33P^P1 S =Cy<t:ʉ 16c9Y!*ZAq*ݳsAyTi+!KPZ7zL@aB2ey R9N5πmSb )6*ŰD?Qeyzy1:;6]|166 p J@ul]N}q5t*llbz\aGе5ң6QdӾB7uUM%Cѥlf-ə_^ߦq? 05cb_ 7PKIK{R4keystonemiddleware-4.11.0.dist-info/entry_points.txtM 1 }N1'BwdJhS S s{@]$)NVդЕctJ7xpȘYuL+KOL>n#=ɭckPKIϙυ1keystonemiddleware-4.11.0.dist-info/metadata.jsonUmo0+!@ܦ^b$* 6I !T%5K`;evJ`[rswO.`l:Io՝4Zՠ\2$W 6=Hҩrrȓ6b mjV ҕ.A\T:Ýʈ4h0/.t~pIRR]b_cgz]&%WeK_zZAO=at?ў06x~E$pAO`98.`ZF} 5:1ոjK>U˱lkcڔC.Xˤkђ` )o^^L>0c](7nޚ5 Yd jRg 3U y4A|0N߂()фBCU Y90MDd' wO21z4xK=z4sFnQ;+3m )Fc P%Ol 5swxFlؗCn^JQ,ӗ;<4Ќ\#'yz8ہ8l=D?{dvbҾق?-|a:cͮT0z^Ϋep(%:; ,ċ F9j/nkQ:MdBIKMOذKU ;_}K%矝ˌ^)OcvY O /gpN.$Rwz)ъJv۠sau:DL1+L݄F\IM[uwb> ښ%ya-ab>v1ȩ6]?ùҚ EC &k"^??P.w҈n!@ԦpN_T!qh M%ZdRVA09Aqu%IzS6\=' 490fNW4CJO0LlkMD2f[=<Qb$}^Ḙ +wß9l!$Hd$u\"4L_e];MMܯ(_=\(ii=IKKVY( Aoq>u/{bg"ۈk\z25@Bv52*$:@)]$5#Z^HsK8IpBGO( /,#B "`h4S}q[ `h0u }GlNAqZ咊3Z#x@HLOwLs{PFɟ2> qF yHYqCƒyK86-yuuxs^^:;QdMb}'KUyƱ[E 'ZpF} m6J"r G4MH⧄MK,w4|n 3ZG6GCY _Pg7$ ªOwHV H$|#@C eX~?!8Z"Y+ qe&vI$fYD^ -*#נI$R~ǁI(Oby߀GaZ} f˃ȯg8CYMFKOsR1 wE€ tFж")֒0J{xJSrޡ0n_[wJPm_&!pWOcYD^h aH'Ȇ vGP{yhB=10[ɼ01vVV&QE2.3 :rAo(YI Ӄzs_v'znڕzjNbvx!|:^r9%}bɷ%YZtn#k oO{Ʒ}T%,':, Sϩhn8tЧ#95( O -,Ic$(NsEc_aASߢ`[q箁Z#fSAڎHEC!KQ5O?ܥ޵hA^L:{J֮R~Ah%vY$ md ;?O'.4%#lo Q& DEO۽u8M"U0SJpuC}/ hO ~InC ̑pW$MKܝv~OtCGlVB^6/qV Yߪ5V%-#Whj%BV5"RvڤX4NI2[RB_r,!KIK] ՜O^09h=5hNQŒfwʴK}a.a65?__~XH\]3a )^pq1!}·_} Ү*-Δk_] ߯@#'Ќ1׆FqiFoY<\5*Lmf_7 .~t+F 2GVGi_.-ZI(c:k.7#9,4fqG9/T"WAy#ښPKI\ keystonemiddleware/ec2_token.pyPKI0 keystonemiddleware/__init__.pyPKI/Cn keystonemiddleware/i18n.pyPKI&M:keystonemiddleware/opts.pyPKIgpq #:keystonemiddleware/s3_token.pyPKIL$& keystonemiddleware/exceptions.pyPKIJkeystonemiddleware/fixture.pyPKI|X6 $#keystonemiddleware/audit/__init__.pyPKI+i . U.keystonemiddleware/audit/_api.pyPKIq %;keystonemiddleware/audit/_notifier.pyPKI#i?keystonemiddleware/echo/__init__.pyPKI}Q"?keystonemiddleware/echo/service.pyPKIj#Ckeystonemiddleware/echo/__main__.pyPKI9w-ODkeystonemiddleware/auth_token/_revocations.pyPKIq|z -qJkeystonemiddleware/auth_token/_user_plugin.pyPKI aJ) -8Okeystonemiddleware/auth_token/_signing_dir.pyPKIg<,&I)dTkeystonemiddleware/auth_token/__init__.pyPKI -&{keystonemiddleware/auth_token/_opts.pyPKIn2ľ],keystonemiddleware/auth_token/_exceptions.pyPKI -'keystonemiddleware/auth_token/_cache.pyPKI t#*#keystonemiddleware/auth_token/_identity.pyPKILY  & keystonemiddleware/auth_token/_auth.pyPKIn ./keystonemiddleware/auth_token/_memcache_pool.pyPKI$H 0Ĺkeystonemiddleware/auth_token/_memcache_crypt.pyPKIUcw ")keystonemiddleware/auth_token/_request.pyPKIs }I&keystonemiddleware/auth_token/_base.pyPKI=w$Wkeystonemiddleware/_common/config.pyPKI&Lkeystonemiddleware/_common/__init__.pyPKI$keystonemiddleware/tests/__init__.pyPKI)keystonemiddleware/tests/unit/__init__.pyPKI4n*keystonemiddleware/tests/unit/test_opts.pyPKIF#9Okeystonemiddleware/tests/unit/test_s3_token_middleware.pyPKICB2Lkeystonemiddleware/tests/unit/test_entry_points.pyPKIh6,0&Kkeystonemiddleware/tests/unit/utils.pyPKIlD:Ykeystonemiddleware/tests/unit/test_ec2_token_middleware.pyPKIgǢ .keystonemiddleware/tests/unit/test_fixtures.pyPKI0z'_da0keystonemiddleware/tests/unit/client_fixtures.pyPKI& @5 keystonemiddleware/tests/unit/audit/test_audit_api.pyPKI/keystonemiddleware/tests/unit/audit/__init__.pyPKI:^@keystonemiddleware/tests/unit/audit/test_audit_oslo_messaging.pyPKIR</keystonemiddleware/tests/unit/audit/test_logging_notifier.pyPKI+DAc"<nkeystonemiddleware/tests/unit/audit/test_audit_middleware.pyPKID(ݡ ++%keystonemiddleware/tests/unit/audit/base.pyPKIvʨ>@*keystonemiddleware/tests/unit/auth_token/test_base_middleware.pyPKI40keystonemiddleware/tests/unit/auth_token/__init__.pyPKIiͩ#<G1keystonemiddleware/tests/unit/auth_token/test_revocations.pyPKI4DFJ6keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.pyPKINM ?^{keystonemiddleware/tests/unit/auth_token/test_memcache_crypt.pyPKI;?l7keystonemiddleware/tests/unit/auth_token/test_config.pyPKIM]e5Ʌkeystonemiddleware/tests/unit/auth_token/test_auth.pyPKIͶbU6keystonemiddleware/tests/unit/auth_token/test_cache.pyPKIJuQ6&8keystonemiddleware/tests/unit/auth_token/test_request.pyPKI]~P0keystonemiddleware/tests/unit/auth_token/base.pyPKIg-m@keystonemiddleware/tests/unit/auth_token/test_connection_pool.pyPKIs!Aۡkeystonemiddleware/tests/unit/auth_token/test_user_auth_plugin.pyPKIc]8&<keystonemiddleware/tests/unit/auth_token/test_signing_dir.pyPKIϯ@c3keystonemiddleware-4.11.0.dist-info/DESCRIPTION.rstPKIK{R4{keystonemiddleware-4.11.0.dist-info/entry_points.txtPKIϙυ1Hkeystonemiddleware-4.11.0.dist-info/metadata.jsonPKI}/., keystonemiddleware-4.11.0.dist-info/pbr.jsonPKI1i1keystonemiddleware-4.11.0.dist-info/top_level.txtPKIۂ_n)keystonemiddleware-4.11.0.dist-info/WHEELPKIv  ,keystonemiddleware-4.11.0.dist-info/METADATAPKI:st *keystonemiddleware-4.11.0.dist-info/RECORDPK@@