summaryrefslogtreecommitdiffstats
path: root/base/server/python
diff options
context:
space:
mode:
authorChristina Fu <cfu@redhat.com>2015-04-10 11:26:25 -0700
committerChristina Fu <cfu@redhat.com>2015-04-14 16:45:17 -0700
commit711d3ca66b6702a33839c3a436550464fa49d0d8 (patch)
treeb9c037d045147eead5077e758608b66b84663fd3 /base/server/python
parentbdd5cc759f5d1642986330a4c29ccfa131ab034f (diff)
downloadpki-711d3ca66b6702a33839c3a436550464fa49d0d8.tar.gz
pki-711d3ca66b6702a33839c3a436550464fa49d0d8.tar.xz
pki-711d3ca66b6702a33839c3a436550464fa49d0d8.zip
Ticket#1028 phase2: TPS rewrite: provide externalReg functionality
This patch is the 2nd phase of the externalReg feature, it makes the following improvements: * added feature: recovery by keyid (v.s. by cert) * fixed some auditing message errors * added some missing ldapStringAttributes needed for delegation to work properly * added missing externalReg required config parameters * made corrections to some externalReg related parameters to allow delegation to work properly * added handle of some error cases * made sure externalReg enrollment does not go half-way (once fails, bails out) tested: * enrollment of the three default TPS profiles (tokenTypes) * format of the tokens enrolled with the three default tps profiles * delegation enrollments * cuid match check next phase: * cert/key retention (allow preserving existing certs/keys on the token) note: * some of the activity log and cert status related issues that are not specifically relating to externalReg will be addressed in other more relevant tickets.
Diffstat (limited to 'base/server/python')
0 files changed, 0 insertions, 0 deletions
**M(Lycz/p*bJygHb#WY~[qgZna.EDi]."BwgI ˊO slq* _N"B D~-{zf5 Xa M^~&xƱԊ %:o Ոj&$p-^ƶJmLn5h]9jC=Yd'!X #=K퐡b9mO͸$uQaь?F~̋qp\?򎫎en6ԫꋄSH2VWjSG{|!z,D&ɊkT,QHt jR5n{{_,“Wc$=7?3/J9kuB>:av18^MaaUuc\'}nӼEf u{P7ts'^/څQ{fI*jd>/Ľ3腍W1=[l0mT3Rw7f 8p)SO0a O%^ߵؙ`^y4ϰ?BE!{Aju괻h F=3VwJ'Ṗ?5Mqmuer&K+hS/-x-D+w3z(dEC*ڎ{K",nn\ ]fS9!ʓzoT򻠈U8EiWriyF`8O-6&ͬ1Yɱ>m.p1" 1nKgo~p٢\K8%CӉTCj`LߨP9&d "g8X\$5|Z=F-r<3j2F$UW]uqcw9k\=(S;UUOY.*OP4կLf<Կ )Rq4￉cB77zŭYӅjVze㚋5Af=#oag>MlHnzmkfYFbt\-stT>V3Tb7x;-r?g:~qEi͇WKa}k zGpSGv.s+(ozjsӂQ`fzvՅ`s5Y_8W3\@Z9x[zZy(錍&W &]Vߢ'xQ(&֥5r:ӆOG4&`ku/JrM񌠡/D߳姂HQ^b\nZ=x[W̼Gsz \zt0[.9?zſgZv}(YV:љPRm< 3y ޳1gBVݪXd~"tyvBl ٩vav*1C+AX$z#gq*k LܛGfWj:l2Z|um.3XO b48@$bw Tr:m.MKB Yl)槵J;I`ڭ7-wj4xo 8*R٢yv=ƙU/NqdxR5kΌV*&d@ݑ`x .N C头-,oHy^~t!~S7^Uo`e(0,8 _9<Ҟ>[.0y߱g+WXg/xt7a]=8 [hڇ[ f'ͅwb p< ~ A,=.GϬݣ Q .3zG{D1-LB?RvlU-ɦ/`laŽ1 eH]! 4a8MbDӗD=}w=/澕)F`0 [ 䁟-Ӄ(\72.Z`9]K ۠J`溼fuA_}89fUsw=Dk`˶Nqvlh'jUuJR+`Y@:Ye] p^i<0Z \>7#k=N\成Wk( AaXg>"ž{ŵeeN ^AgqV~Rv^fYӘH#vnv~@̸F0pLUS rTz<ha+MAЫН.=s1WGVV^D}Kv|Jx)\ZXӞur/}Y6<4}hź50^ue+3h·jrɪj]ؘTd7ԑ~Pv@[!*^@2l҆;j9/25Ȓg5t|u#8m*6f฀=k` l:U DDs6 K-IR4$rZiSwOW4> GcpU<㒹b HF$y=4[a $QHqk5')܂Zd]KE/MjT@V3Fx,2_O>$ .k7VrEna(I/:9N˛hugj| )9)ھ E,Xk~||$pW5~hF`ϞZ}}s9zGvQ\^.q{%z̳W_wI 9~8'x&{qIbiҸəy:C S6dMW}Ǒ p_18.^ibfM=LrI!T^0/ђPiRi1%V=ͺjg7{l1אM-{Xۢ]%=XU/tl\FJ)c y8#(֖_& d.J ZS+7XnI>BPmaC@DFHגdp$1Wljf״4:3؀leK^~-Zə%Ķz kQZXSҝ+S|ani*9N_WTHDv4W+:hFmޣek2 %"vвEjb"oau;B Z^-̻p 调5TĂ 㫻T.\])u2>z qƠ'U$F&>OО!ghq|ڱ0~YyFގJ@Y@7c׮bSjfNʿnMǃU~9wZ)Z-  s܀[`wv W!g}I,_|$ 24w<Z+ZLL!9O." \rBLP0:P9gtQI!|gh/TP#^30z; f~RPi~m[U~R? s6[W=aƞz"vw"N_4N ṭ@Zڪ]|-4jW'S ׫2+,o-/y])j׬^z O}s{,%)$_YtyrP!}S"4oQ il)k˓T B1k<Q6vhtiK*4yû^\M/ed!ߢ{!׏|? {`^)oKoա*7nKRȲ"+46Q?ʖ_JޜgPNulAƸ\J", Zr s9ռҵ-&/-<ϲ&:X+҉MnusiD?[ɱ#FȒë(%^fh5c Sxf[{ixNR2I}a*dӇ(@= ,.NjBB.{ ΈqnRM>Tór*ŏ)j$6"1MSt"|Ź%& H$Vecl謡o b࿨Tx\݃,83,Q3}-@ƕ+=cV%Ѹw%ΐEQrSaLN+sH[-إuLC)}c0=zM$Ҷ݄ f^~ݙ"ൖ07jO5VH˰Tʳww3;^s*]!5 KC_,ܜs۳tm JYrrXI̎CCG~WV? c:K+2 #tU%a p}@}C@ S5X6KJ. *./fD#?l}:"d*$V6,^AXU=9fsH, O2a(Wm +ȼml+Qb42"G:v0Gϔ>a(vZG-/{b%]&Ȳ[%"b:Ԑp>EO4ȶO&BmB:Y'mn3|geN7+sYRJ#E`ʦԼxz`qq}_ԎgCՃ&,@`ʖ_ (/tp{q.}?_ G97?I''Enb9pXXx qáYŕ <3݁+fQe mr"h%dބ&_Y'IUγYsnyvY'-KQwZs6µ?R[)^T/amHʫ7)ar!Zx/:3y2 |+`}J8¤ivJhX 7*o a($eFJOXMFt ֞o_4S=O}&OLF,*UJ]Ьͦ,+V}>Y;G'v'- !ˋE5~sNq5T$Ena;J> >',]g$RgbrlȂU mO; "p/+22Av F/َz[K^/K\X~yjCx0.."5$V*[ Y5r@@ȋ)x+~ybA;OIDm¢؄/-KI,:3{-]:#[v_LG#mBhVd\RZQ.M1"mALo]^GQW/<qK1?lo>ִ2:,~ɼjrgP^&D? kBo `lCL-#8paCRFj},,hQs{x& 1UdYbܙ6)GgnITQǽ%fV2KQ`J bA|[;K{!a=svrLֻk{ǩ wڀ(?ݼg11t93Xi±HVq

{.^f'$I51,r@WXuE`7b?diȆV$.hzJta8Um &0L6`4Ncw{GUJPaC}(j#])çөm@Ewi-뀆ǒ~ ט rK]ǫ~W<3tZcwח~@mKmS)_k=Ql%Nuz~Mr)eϮU ђ;c[m2V*W u2NȸVV0=!p4Rx*)V;K3\kۓK~GMyoT#lyߠ>yRb 1ټ9žѰq}.^^F,(5gt"~g9vn^aG2Q帠Ws.bXUKfn Y,E=yj)&-3oclg aˆ3ԥt8x"=CP28۪-W+Qf@x`W 9P+o?\ȶ>/xE_\Q^K1i479ٲҏnJ\!چ}ӓx+ϲ a4Z$@~8\^LEA̐3vz ؊&k!ÒƋsR?t',39z5%mk@ txd OY{Ϻ'AѫuTaA'+BsQ"T*U3mq?0NKi6rj^4gC-@\$a(oxH`}M51ʨR૑ ="} 9<3m;H(2~w䍡 鱏#qY:$)zUtzѺ*jeZ]SUd8׵ j}#yp޳3`J|B ]-u°cB{DQ)+}:p̞Z&񣑬_IuIQQj1@z2"V^O8 -xgY`{|퐕񲹒##T# b|p.Hl J]O:ʉ2A-eE %<{ϲ7R6CrSPmR0a'.N.窽ީAl{oNt#ь`LАcdN r"gCE4RaHް*<6r>W4J+Fl77|BiWB7la E{u p"Y %d说-t%cOS#pnn:牲:T3kU]]#qR ʽ*&L3ĆGN!>mï=6G(UQv$?5+E1S/ څX2j8 3&u[}n#0 ƧlwNV$*|d^ɜ6ٴP30)ִ68\%T臾_̱8L+Py7@w|aBU9^uo)LPs.A9}Q I-" j-@el^՜Q!0ΛÙ' 0:*%GVg -^]X$"XYln$'[,qޟby ZnwcYmy=Dq?/ vQtXPp۞lHרZ'(i9!*kM&F4#dc}c(O;̧E7-cu}^֎Uv/fx#(.Z0iΰwS姊/:'p7-e8ӿ7ulN4)h鏪>(v=`B[NUt !#rxb8r55Ml]4¢2D~NX$_s!-<~Gf=iC i(Ł'?.(yҧ<NXY|~ݎ;fvH<%$¦ᠵ]Ydijg Uw2 6$S璛C.ev7)I@{M̓[e@(ta$¢rS`lqǖ]Qk._"ZjnAxkmf^D|]@kef +۲yV`ٚZQeN7F R^>mZy {wUl!O+ hl"`]0:.!  v"E-DZ=@_NDbMS|E/Ek tNT7ެf:#b*qSϷk F-@@ǩ5D Y'6Mfc곞>V@^,+3#Bf[̔De7;s|0趱j2F'hcxMސv{m l7%v߂+ XYa]4T d/9y0P7rGIN+|^IG㫸A&uKBe,vkܽZEGaVO2 ]fC2Q׻nmH`1'R;+50r$'w+Q|ޖxr='Nnit-cq%Z 9qұ<&: 6uc<6># "Ir\LF++nNVZAs+)C8ɪ](N|1T$|Iw÷k.xa=rc*6] /3K#պb6v#^!"mZeg~\XOƗO@b$nQ4yodL-G <.̟d$m .$-v"pGwnf&QrJkuEs{jf^|]F=r,?bTFg162}﻾ԓe=} ۠!P(̝^5O)|-j~J?|1ALؓh *D?{lnɌ<+]SF ]7rxK69 3DCKj&?b^<éȲ, [¦e"K1wOJsvAO(Fa[H7TG\ N>. *s0Up5YԽ80ǰ!hPj IفU:_:rh4鶂ᰲ;:I0^tK.33Q#T'͐C;PۘѰ^I!Dv٥3!Iǫ+Hd ,XPdx7mccǁUx:kdB*)}DvFK+L D-9uX`:y ,.`דg?'62TV -דzo3Fy#ޏ*VG48I m  /4rd:"{"=6!#'mbkdZ!5_j᣸g]U[ϖr|_J44~S"aj aefǀ>Ct[, 5Ȋ=moV9%" VD% &^?+ƲqRQ+z0tjMP"'_tJF8:5/e)#i*^ lNeĞsYl@N'=-t幍^9|,9N֓Z1t ]2T3wXPI\%5<ޮp'T-LNLW< ӍDdQSRR$G[ :vJ`&,۷@ä ѵ.%N0hnBл7Cȳ LA*fm-ǪchWMxy#38#Zn^e21IEKALG"Lr T_GXQ@("*4aE|S7ԫQz`}#Wǫz+\îÒ(Z[!*\bPnG 0i巭vyHNK~7I1~<MyLK3Sa/*cA;*+=3f_HF{>7S,- K{'%w7FDMd9sTcH|z5] wJ;s@Ʋfɴ )agLy¸Yjry7  ڬ`AkZ;d{7 hjQ gB$WR\~T 1BKLdMi3 4Z2tm6Z[KLjp%Ӫm7U1K5`O=\YݶǠcYוN|6u\ˑ]Pglv_ d "xHW|@KLڕ48jd8RoW] Jeֶtr']"1 qPk˪C\K:AѱX(W#E,_sy+NCY,lغŸ5˲J. jyOonI +׵,/uZKj4ת˶J2~{H\5^|łY\rM:Ư{t1G?p̺z@Zߪ\V"Eaur=5*r"% 8;st{ ^"-ee|Ȍ-7:'`_*I ]d!`/UOs z r9᝔}hXVUi#+W{^w4l.PJ sHJv#^j^׭@sp{D{ rw5a2rA$!K-3_v?F8GxUPH"-!أTMtRNS{no"_ o+e@8=G͑Bi>)TŬm-0\sA,lDGRٷBMov+ F=βpKJDd&U,RrpZɠ$XW78 }$jTvWꎹto~eK:bO.xЂ)zZ7g+@9?O k$4"R pIX/}&sHx3`2*y3 فW4M5 MO \o>I`V;}`bd_~$ XyJXXn.זkcBu6?:R0f'oDnω a s)_-Eo? l5EؒOx_|j\w"O eV'b3tτ=? $RT.sjnsX2 4qG3_i|ڳGiPx|<. :tUe J)hʞeMc[j|vX=D5y:nx?b|.,J+m3JګX1[[2}Ϝ/B TraOwajdqoTkb;9`:߻^-у4BdY)t;hp7~H1~Je&^ƺ%˼Z"pN 8 xI;E#JUC+38t[ &uj+ $* j( d_kA(PB[ok՟e s4(žCU2XX4̒J\ˣFCV7ء|.dcqiܙ:L17N_>W?ԿZ:41g1tk<$aMFe'Ʋw4!'i;4Dn4rE ol]hz'kϰ,L;…m(ci U/9с]Cp iyO 4&=XhV/DG?M%rEoO#y;92K.S)' G)5擞q|TZ XC\*}NL{?hM q,UusjQ).d>ɈяHYA=Lh\L 6X^R;@*:h銿d[C79+rb(ה>E&pw2MǢ}4յ='''*( |G|MdRZ 95EbiBevrl;JQ&k3KAi C %TI(w# ,n\|zvwgowZ*Mq.3RUnG˻R:@VksMvXփ=wkb*XiBG۩ p_ْ WB& 5l1EeP^v27vHSB(ofc#og"|ZP2ro0qHLEWYAAՈ$g V6"+R6CgPHIk% };Ib]4Y2n?4+^"-TXKOFPZ"ivJPNx{?yu$<T,(Qxr?p*_:ZY.B0S!T<7\)J7M;S{a8wˋ74۴?Aݤ 7\C,Ց-E o0"")›o&g;`~:$fe@788gNJ47v/LQph6nJV}̄nJSD1$yUe=1>u8d}Tӥ.ݠ|+L)2.b@g։k| zKS؀O67=i|n蝢GKs}h`RS';45rw9!KA` 8n&FЇ}#;6.xi}qnnNPS?zf+) ѽgᯨIP*"+?b=['x-=f)uOqD?Fna0Q5L]zqCgV)}~w؅zGVgo 8'(D/XXdV4GKL5{~(:z'cp2UFkɛl `q 2{ϤriTl y5$zXH!ScUS%uZWʩ]ZE?ܞ5MF&eۓhJɰnvF@@-~VCN 9kk-+[#>ؤwZvScPB/VnFP":iNjio2guo݅UԊ6$. `rT,ĬrkzC.B&Abj$iKp't;U=PM 7S 'y%ZalAt*,e`$KjI~ԙus8?w?w:>} F!hhQwn%=U(K>Ы!W z )ݭ{Ġtg3*J+SfԺ'c }XK3ŏ^0,g0 E53rtbYO> I"$7-L %[dɕf{k)o5Bܑ`N>[ U d0Ę.E kԇ:IT[ٔZ( ?wZ eЃw%7[ևZ?[л, UàL$(sOHr>aGdEs/_*%:mJXSWThu0TO|v n2e"o}vá`c&ؑ$m@q,)LϤa~&{CD'-aĚYc&&~D G.֖Pd"}HEU'A^}o ZܿQPa+ZA7qgp !Xjk0<5=:>A >re']!U91̯F ^!Ʉ w^(ϙr< LSŴҩy@lbu)Xߵe?G0I)55='ꕭ4{EzM^+ÕS#>[Lթ h$'/?AvweW@5RZkشm8= W"In}A,̚.- V@<{yeo9ZGm-ifWLRAGT ;Jh哓An i*B {|=F!)8w_2QPj?6`;N6= t m1gZN[UUjAL+831i144#Dc:2|N&hWY%+"M۝21 t$\\ˀj7!㥡OnjNW>~Eg:aNq/Fy)GHOG1O`<8*11?c W)p]Gֻ ۮ7]kJlţ2 v1x'!h%p+{JjVU?kMspnE $kwYF>몀yQDHߪlW0Fj 7!R2MLXTK$!p/uV} (Fdj1WQ*?|y+-R(k{WYgCTTۓ boqܰF IA.:꿉J]"NL+ja,MUGOlH.P=&l3<+6ϲxX*e%8l}N8")Z3GDG/fjt֤;p mrxn/iQoP:Ay!^fhPn#ϢG< -(0-4L`S 7}OeWB@:}"ݼMx+ׇ1Hg)}=H *Ioc‹חxGAj(}e$ynL_voyk(`rJߤB ~: EGy|W8 hO )B InL{"H%uMlǜQR):MFp;xz g/499~S&Pw],7SF*Nۣ km=S ?io"n!$Y34b>ՙs tZ$xBQҮb=??\u#F:6P?0❿,`)#S:fl&\I]Rd;o?%,rL?QH ,? ks9s;=_!Y%$Tln9?kFP!P\H@q i+ x؅rUufsya>T''YUd=U~g?rmD}pI/5/TF'>6"-Z~Ӕ}m/1Oʛt&,(6K]JԊ,MQHY+ygWw=77'Utۜ;πȊѡ*j_re|ޛ9abm3Vց>U^[C ,5`rZN v<Y*$^4[JwX% 5=uP\/ۼEY3h̀oXj e6J3XzNeZSoBi/=M܂|;[)4`Hp_wXoQ*#fT.+ʮQVsIhH|"AlD|]?dkmR2iJֹJ#/L m|*Nh*Otk_+|TU1+kWN߹<ոI7_x先?[v/((b8O~UZDy*;B{.^"~<+ɿ޺vQ\9їKȣ{y̗q`unCTw0HB;)Wˁ[Ue-[{ɔ!VCSb!ki+i_θGJw1ňl%lvdC*y}ba!.oov8@'9@>D|$Ys_>`h=5߮7X7wdXHB>T]Sq_Hjr2*o"f\Bv] hqATFZdC hEywҎ{0Lb(q@ry85K uE:tN-\U~6*<,iޅahtxqbsܿ|W\SOY A5:x.<';Hd!OJRY@ 6a{Y-Y$#[JO,=a5 ܦǸ5HNw/[{0)Ah(z;2='k}_G‹8Q ytv;ws~xƷ]2ę@ bŦ8}u%9bC9Sݝؤ5GtS6tViREB˳𗹯B.cn;NCU?X]VIiΑO=KvN1؆" MX6c&*ɥ/w0!E141nPZ͟4m쥾GQ9V@/a#.!(7l")+iYg˸p"Ы?[A+|*Z ^喝UuiԾ|og!E~j[>!)A?3 >URy,1 wR\#HSlZȼcIޠ8\|a_G ݹҠGv2 ZbXS^H R}g3! kS)2&22 s?.N.o S=G,]>LzlRVIBB0}|8=#+BJ9̡5v vhFvG?(ƻ2ZȺ{b]xPM1VҦ=T8pD{ƁtcB0b{JS,ƝEU yʌ,TQ3y԰c`g pOo͖gb zDY6l%pX<%\8-ŕa%3`.f|{xV{-w¡=Y&̀YJІRPns_^a¸el+8Sm-.C#1!U.^E1:M[p79 U0m WUG>|j7VL;]q\}x[ɿRO&(Tpb+/'fKtYI׾rR'&S w*~0K5tO&@Jޙ:υlU֏ZtAjNe׃,O(PUDGGeH\r(EwƓ82=-Lp܋$hsJQU㭎yޗ43U-KƄ`O6r<"Fm#0h/BH]-50!*1ɷ)hgToب tC>)XyX9U'CV8?QpһL!YŶUeA︇fsM:0~ȅ%> v m/ ?fCD(!c->:E+!:o^%,ᜓ jmk,~[ R% Ġ%9𩆢&BXb$XZ u7R59^ے6 oœ ߰Ov6,)R H!.e׷UfY\]]ep:liB%߶u$FqҸ;2{zO| B|k ")T#I\5E#O>-ʄdҡ-dV\. (:#?*C]gq@ZH+7=鼞h/ٞ,  *($T>'ͱ 10WE9LQoPa14(w.,oj(fC*'g;}5[)a]+tzRW٪ӏMD0>q-J°y#gX.Lj}[Ɨ1$Ju/(tD!TW]pH?WzޅS~ g#B;8 CY?5Ͱ:PYj*HPڮN sLMJO4{A380;o:#' L;J>mi DSV& ‰Þ0H_vSwe HriSG{@Z2*}n@Y%ӻ",X2v2X9Xq o)zAڼfI,?+}w@MyT$NP?}|0~6hANs. YjnNQ =˾HVPYb^icGzL0wBlg,:Ud߃7 巐ٸHnag5/㘀n߲աxLrw2g\;%]Y> [..hw' Gt.ƞ3]bRaルґ%q){刉xIG?{֍;$g#ڻ:'v9O]Wv$ֽWf`4@Cɽ˟ӐϮ5;D5؊N5EFN-+ TM>I+4/٫Ii3fz`gk Ǒ.} DEgwhFAB*2e_z|*x A-:܌t%I-%$jyLLmCJ.";|QB_swܩ #~N:?[ێ;dR((V{aT 6qӳhA N3r?Cfv|70 {~Wޠ $})zeeyQ\։ 9s̲TޚAuP}UGHs ɡW πwp F 6h{~=\ڝr'\6;B@R̖_1%'vCBtNxrsm`r>cܘM]*C;cV0 H@iYHAƆ[TH$Uh9F괭h\qJZ'<&8$篒oם$Y_ր1!D敜 S}o%gRf"pVb~+< կi™%b=N3YZ9T[oܚy G~=NJUzd9 m:VbowdQ=>e4e_,cG`j?$2ǴK/S)`8]-lnXZP{s(iH,p ]\[Q!/@Рv!\tڥbVHq <[TNLps`T*9#~CijeSvSiuM&!{let UMEc+Q7ofE_%[ϔ-WL#` _kǭ+Ghv+մ?Prx)^ܦFFqe~b+"En,aD#|DյN20˻f=t`PF|p[NA*gP}XJǛR򤖙D԰MQArJ2q4f/z@2%,a3#oYG@&̹*rJ!j<\wqZ61uI+GuO尰j(ҼسYT[W4\IᘇK" >2)C!4_ 5,s>삞V?|JNyoG}]D -["3`l~AƏ\0AZ)M-1᠂V_RL?D4Џж@N8x|=Ðt$;ac?yhV!٫ܷ/23~h,3k)|JQ#d ŊP4?N_}m'&)8v!K7i,.\O(šGrJ xObu ^9ܭJ*_PA_ C^/8p/t?o~bc qh ^q iu`(q4%Ӣ7Pƒ[D9W?@+M?,ƤbFSseB7tzc ]ّ'mU~js*ըb򦳪C|G НP_Q }uxNr^ިEç: wod8l,ʛ3$f ݎ@uMy@DP6(^ V= cjϝHŋ+ LmB;vZV4d%͒Gqm3䰒c me_^ A+aj8WOa<"()0 O8qb !uN> H=:<6rgs"d 7$}Bf>,'҆([$zצgD9\_JT+-SxΣ$Җ^D46`}(>/t70QeD(8vG<Тg׈/Q$ש mUx؝u` ahFҖ F @Phiwť1p#ߞY*Q&+XFDVML7(iicѿO8dX*K"n.ƍ~c- k>5-~Q#,gƦ}{CX9G+b2ɿH^Hx;3@$8+ǮBll%*`Ɉki- bs+\;ZDGUf3'¶XmR߅!EEmuϡ 10 c$9c`8O Fǻ@/-U -BrSx] |ßu-9!HYa.Ih&wzXl{'M1q H._ 0o#zDx3?gnCrF|H"W482+̭8vaapyy<(!\ UkC^zB4]H|&AռdCƯfG8mI2C E]dIяvS)TR##<phkcC{M$$2…_VQVھ.rC 7Q#.T 2>n.s2mgy{I-1+;I2!M%XdƱ}*PDiG!5Sb>WCԂqm򸖿Rh1_Ƒ6#\w7eֱzV!l+'z/IpU7dHl-xmMǻ-xF+I豤>"̏sL7zvk͋Nf|s2L.1R'e֚ X6 %.GvF#upHuJ.- uchW69I1Mwk"/E ,7O:8ՒN>?<ǽS':Gh-G{yi|glKo6j1@4lоlU:Ao\jۊe˯NBϴ6O_LU呹;!cR|sC/jz$i8@-j\g t;)\v Q=\WR3 $MӻƗƁGc~u^7m٭}Y(5dE5'NOH=GxVܡ2>0gRz! u6W ]/r2"8Eg]33iZT$.{eH?e7A3r4qmJ8gV%SפdJo*d׭ԇ߯JT$տȽE=JǪA6J*$eONzqw?tg,#--vWs* Kǖ*z Di.}V>ґU nATR)Lmpf2?jc?eceNL(Fqc]Jşӓ\C{ 'WdW6n@jDye`eQBI}!/ghmm8`D$za6GM篌zP&HoD%rLÞnPM]P?#s, -wp7TF,ZٯS?](!"Ҵ[owP++;l~AU, ju,T]ri0H&をgٴ!Fa>Ũ r ݄ ^ٰ'[2ӊ(Ϛt~ $uc1!K?$xN%Ӷ>1i9oF$Rdq*_;SB;T^X9\NΪOT JTfiͨ{t㮿ebCŇػ~z1&_b &N$)惃5Hp` C SVE \km QwpjrPk sO# E5fw:= ;YrsrSw"=wExa.'OS&h&'GGEISIY粏p[{iڍ*ǵ`.g>s̞aDq/WM "lR|}To>ݫG$tME>庚cOWFŜ"P|o;.*8 x=ޥCvTdxF~ # wz:^w_v 3̮u lEKɺaNheduq.*-u39NKDsm0[ $=a*1u>3w\d"QCgbʜH.LCoXcMʚM<gw/#ԅ9œ0=Fsg\8%uby^  DM5QE4p!MygX*Wc$آcS =zu3^L̗!/IdHS~b9O CaVTl+X1:򾻰%sE5+ZCM(49xY_OUݦ7(cS[LꢁaC F^2bX'c2@*ϏeAed(Uo}fU!<^R bGhhAЉfVjց"MG"n&(DB_8ydKf=ŮX ]Pb}̮*1^odѾ}*b"L:bAn e-T9C.PW2% Mw-''EG+UkZ{'DzKbbeCYXTjguxcrʍ+BJ{ 9."2l\ZRO R2l!xA7Iձ"_ә&]l^@ozJxgzylJI’:fG"SԠjc2JpX:5ׂil5rcQЬ9J~j3#Bi1/n˿r[&PK3!O2dۯM?o',ňgeCSd#l7~m{Kx ] f2F(hG3>y@09_TL)'F1T>wDId<cy-:Ai면/ȴ%ÑS_ս*Y} "*'alENOq:|J /%-B2EC7bYwf@: yZxt/ 6)w7\rp{A;0G._*:۾lrKa-g)K1:|h6IrU~FU#E"+0ڟ󈳼nCwUEDHQH ͞EJy÷l)M/(9eNnDvaS~۱,Mջ;{sC{U~}%uCѴr;] Q<D% ja$ (пGЗk·QQgxWmߎ./:'h|Bvy[]}77<J]%3ԆXfKj]W+$Us.ؑ=n-BYe$)HzX%};A7'0sgigz4SC& 37ifo엻zV9!NL*P_A kJ*PͰHu3i|P؆)AfV w) ,18ߍ,ڀAMF9TcD'MWcL.l5K1Xi+VƸ=צ߮B3x9M fG.8׹؊ 7̵n[s}rp{S+DV=Uف#qQc~r%1}oNJ\qқ1/ QYog>wl3]g_H*b;*h]1 ]X2A\#O}Ц)cR=Ͼ)rE-TB`;X%ǿ}/M$u\KVieE~dm'`K ~FD TRҜl6^@e͝S>{zBɿH!gְ0@"JS1ڎK'?:Q] f5̿%K߰/ 1ǿ'+{OBBGrpO1Eҙq' Z9jË́[NT|CBeAN5 ]e?D[wvG9`xi+skMR6ʖ+{~ Jޟ 7! ߖ}!m..># @h|>"FKI˂V@3\sM7OjZ OLx =&$xg.}[ix+З@*]F8ElK8_y`GmY6g(C /$7RǨG lͳ6TbAkvQ]?lu",m(]?}IpOZvtv(0;"~5ț(wEgal24láH5u*c 79;Nc OOoOiI;S#xds+Cv{~Kg+LCXckOg,OkNr|2lbPaB)^ŵ/ӝbk_Ƀ`^@AHF[rbEQm NݗWUa2!:r/c*ܸnDzDuXvldU'r+` foD*.˿W2flLuU 'js7.6l)'5 gsP("t̯x.iJ_LFHc0{s@kf 4ݤ "3I?xc. =bWƒ90#6YV?)v_.(J@2x}o߬<"2IxhTŗҋh͚4Wߊ/qeye~#WN }ܿ ^׀L]"*1bNJ"эD;o*:H^j7CQU a9O0!"&iu̾c~XnfFZ6^.Qɱu~N)K FI4. Y q7gѽ< BRJu~*(;H1328ftِg|M4)AЃH5Z"t5<"+'CqEaLgEE+2kvXw6d\,p=n ҟ8ߦ+K,D IȖ[h*8_>,{q k vf45ܕQ4i7 ك\RfFڞCa sko {:+XnLѲEAYAM0oK]6%Y `$CJӃkPȎFGT2X}y|+=*q-% zHDdbYv]qF%;iZJ#.08>tI&53S5M#F7*҈zόX.8, (.l:c޲ ֱ' a}Xo*i՞b`[J]ԧzvY:A3"eBe02a[c螗puY-P58`ڽ:cc*^:fsa*ϓ[ 0Ԉ?fԜxi6DDh{{? \30OE;+O$]AvX@=-dj`#5 Gꘞٵ,ZĨ:(V~f;xgKUۚ>%C YM6A׹BtKO]%TԸfCRv |-p(?Mo4;q[OhC\7Jup5A(I{o7i|E%|Bֹd϶'^H-2 vNYtLHqGȿMfn}EAI {dg,ry[ڜmTOknDX+H.i,WUmH}"jokOqi $׈ۉ0)8 ._\;NRQs~°=hOp}XZZ "燀 ?MX̷8.:`ePkۏ x z6hјP>! $S\J#: Pڵ_B5b ԣz3wwmpY2Vl Xx0EP pE 1h u ^u0 0`;.xܖ dy$z7ޱlljk UVpx?_v4$NS76*<ߡ+aD)ij}Ġlz@o>ׁYdO$EˌkE4gA$P%$ghg "("%*!<;'ٌ;P!Σ܍O%B{,,g4q#n%92~"k1GCKڏvax3HWb֭"olOFcb*a ٨$P暦F_ErkN#L0:ZŜyS@tWSCPsjY|QV {!bGNϘTr xjpJ yXʇ;N(vkr1//8Suj(QGbSLaRtL˻+ hYlkع Ⱥ^cr3mM6^$?<MpIҭ ;NDvȨb\kؘQ̞p]Edj{F.VpEià懟/Z Eo"X.I"c3isKϡgwSۺ!1 !u'@lkN_s,i_]:xW,#Կ8իΧ)#pv"iA#ǺƖWa&#x,^grB_8H&n`jwVxHBq]V  9gvefmdHôR/m'R<ɘNU#9UdHXQXC4=i'}0RBD'8Ke 81r}[:eLk y6PeSYމfC BЛLmʹYD.(UD,I@:Mq1̶M|-i''.M4-bXZ_kx;Eqdx-S!TIgTa$vC!'CŘ! ˌBޟx/dUCW) HDPLC)p4ƿKg@@sjק k:r\oG=(;6Y} G:KrVH&"TݫF_݃8śMGTf?ie'I<e;: N˶ȧG֟zv.,pDoGRzB4Z=)a}k7nk , DNSlyr*TQò( 왷 3p"R@#rj7@ap-7Tg i*.+s% y/7'Yix^&Q5VFᾆ+$2lΌUPTh}t3r氰g7%F '9&mޝ:SJ[)K3e#1ݻL3=>ש{Pb7$4}&]uLaC*]hiK3Fq2cWl4cLVבE\ "= wR;=B5L6mpqyBEr4;Zp $F "ʳȮwXAٓw& ˳ esX mZ %':aUm8"%|nۓI*R{DmHĵɢ̴97r OxxptC9@Lz3"v[RakLtce~xwkIfbg|a9Ե'- x݅87H^=^qfB!DfKܗ9+u,ɯtt6IBRcLqz ]R!y/(l.ƇV yx;EÈA{J*5~oy]^=žOX(}A_h_ׁnOvOߘ'(<3q *p]mJ׽J q7!l@ߚM\s|$SU঻|EP] "JOIO7ҧ.y-]<%V:rQޮ4t{3qƩsFέT.R h7kFE[7@wy58+\[RMMӾsMzGQ yY085UVZ=6.k@M /~4XY6h!9 +-?+x[{3UCuݿk@fB馾K:T n0eg4w885*:J@_q)(#ymgVAɩJĥ KӫjҟϤ?)|3^InY:7H~W{dͅΛvDzJ;z+V'4L6Ż WU7cmT~/bf`ݪPq0 Esh7s:VA 8II,pw7˄S`EJ2\SJXgM]G3ڟQw t#ڌssW,{"=B p`$j=,Tb^)*32ubzc|4-Yi!rhTl*C_TBO3}6,@j-jrX5* /Swk I|fFvw.J1PVN‚;qu]EMң_Q"@\]vG%#]Q ,; rd^#wFӅ1U*@nL&}=^RR )h T/?1 uCoAc"o|w{cKCIGwIwSMJHtB'#{ճhH ~,d&GFy5b!H[% 20 ,QB:naR?%;7a]1n}8td"U_%xʬKh{J(7S{F+50w hxP 2S-kAUTO¨$n^ _U6J6