summaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2009-02-27 09:19:26 -0800
committerIngo Molnar <mingo@elte.hu>2009-03-02 12:58:19 +0100
commit9976b39b5031bbf76f715893cf080b6a17683881 (patch)
tree3f2c190e24540898aed0f2dc330b29062602b67f /arch/ia64
parentd0c4f570276cb4d2dc4215b90eb7cb6e2bdd4a15 (diff)
downloadkernel-crypto-9976b39b5031bbf76f715893cf080b6a17683881.tar.gz
kernel-crypto-9976b39b5031bbf76f715893cf080b6a17683881.tar.xz
kernel-crypto-9976b39b5031bbf76f715893cf080b6a17683881.zip
xen: deal with virtually mapped percpu data
The virtually mapped percpu space causes us two problems: - for hypercalls which take an mfn, we need to do a full pagetable walk to convert the percpu va into an mfn, and - when a hypercall requires a page to be mapped RO via all its aliases, we need to make sure its RO in both the percpu mapping and in the linear mapping This primarily affects the gdt and the vcpu info structure. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Xen-devel <xen-devel@lists.xensource.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/ia64')
0 files changed, 0 insertions, 0 deletions
d;sgXLOҳ:ƓeOxdS؏;Lx_U'+eC{\7DA鎛ûc W9F\s}W@:A*(ry:V4xP7࢛vD X\  |x.4j24~Yr?oEG((I L x[qQZnQFznZ`+b!H, ORDWC4LZD~Q! 凄ֿglEbN]e>&hhwFȁzұK K/R`4ë aOB&m#$b߸'$H"3ܧ^1Vŋn;!TYtK}DF\hx\r_4~G[)ibX0Ncks{tng 6=QcAZs>YtZσrƐ,+|Ex|QX`\/z.)׭o~% 2$Q!ԙ\1[қ=&Fo~y˽+ ko {7*sv 㧨+Lqd:I(_zPt!͢ a/E aYq}Q})qf ZOpyS7".Q֪Ow,he6צ؇kgX&d@̌v[{ 27ҙ5DWFuFպxV2^545+;lf#|p*ZRw ӑ_kn6v'}3RzMdVIPKpSu]T- Z2=?v&˛ymh71QJ\9wU1 Ŗ;T+6 kP~Z慛Mgqq^ڧpewSP 0DwK$"'`{TDyhUC,5!4yxg=]'hçIc*$p^rJU~QdDHlԤD# }#,`ȷoF$K D?ωz+7(Qf|!ZI>M̯`i_-.O밝']"o@B2ǍV x%JGRޚJfA-e0V@hJxۤ]qJ>3gR%PC[)H:Q =]3cJ7VjbG/]nSw0p:_vj({0{-DsQ-H *Z\,dƎ(Wi fE0lmg21bg)SzP(J#z̑ƹP40u-M怖&EGR.*Sh|%w6EDkX0,o1Y"hh^a/UTKsmt?Sac}DŰ+3l# rnjX`Fsshiz T] B5Z|/yI6/;Fl\=}nm6Q6<`QS *[$Ɓ-s ߏ7O}5qc|qJC+2R Q> 5F,'F'<^!sR\#i0N̺)Ъ,$5U_4njd{1mdXmGK9b3T-s둭@2+˳u!ק"ҁ۝T(4FNn݃QA ï+g?ymwf]{tH{-GʺV#,|sЕUbzmk0~@oC$IƘ)}P}|1Œ~oA+jCE6#*01eSb#]3=)X*og  ܢcc6Ԃ<) ĘCJLx[c"`=EVn&_6XU3Zi~'1H3&[(g.C7FΔ36z9aXX>(X\bk'h ^s@kheU3= BʐOc_cw8üaw{30TYԀ*`541nu{V(#"M}Vۻ}OVO@N bSTsݕ?}\רa߈4L`qkmJEĂGm#?Hh #8rSڽzlŜ;$){vc<G™'ӵdPj.=K@V͡w_\s]L^o8 כ۵$ ,Aimqv$zF̺S~8ޛ/3ֲ)%qyaxRđxt9 Q78n1[~je}q+3? O6;'@MnP[\K2Y8)=Žkr52:؈1bkW,GJ.'=>`įVqm<|/bm][ cfIdX(?kF"MF8"$d€C3!oJ46XzԂ!wwIFKNmy$k4sڼ Q&*V|y$V86>^r;U۟dJ7{#V5kž go향fL7+I3'2/ C8u8uY)I{EriaؐFR3<&/Wb Qp)nE! ṗCEH>ӡ*}] &؟́Z1'9Yq<Ƨe㻵 i{Nrv<܂ p m~r_F:1}B8kYAizLd>OnTZh/ۍs50h1#/_|᷽)6!FUXm ⒠ ѹC ԋhjur_;>KC˷czb!G.3 t* tO8oДKJtN^fR^N0(h#.l Dx$Ģ{"Gbd{根uAtE@nM&:=>G[[ǖ5Ԝ/SYP7?i F~:x[?+n%>"%o1g:q6Bt?sO=o0R&W3n]VcA2H+Ϝ!keghDdI"ym^e!-yV`jMj̷ԧgv`MT6`7(:Crr+@kD`"᾵.9; S+qJ&x\>[Y;Jaonk1J^Jl X)ZdCt52d+@*IwP7fCU%ќǿN2B!uaLA <Æ?߭G|y/޾#wrAz#.`2!nUYz}4$C*3[?!7c7en@.Xkh zn>_9ޣ/sT &ywл7Y5Ņ"rz}<8JtvSAgޭ)i.KQ cfw'VӺ[;I᫷JŇ 6w?9F3d0wGjb" G DIF!31;#wJg+ZjagyJ}TEQm{Ka"/(˯tOϤ)}PEaiÝ7 < |RGG;O.D*Y [2jU5W&}X4feB b$X}0]*2{P*il)ii0iS<4~ti& x?C?N'\2K9?-&j<+\d: / >"zwk%mJUB~'\a$~OQ׵8/1y1UBW'aw%4Tw= }@ 1g mHNbhn~FGJd cBm @W[[AlɆy|$:B0fSX|="bfvػKFpO8TÇ=}@r#90$d;2Qz ;}Kysz L^w]ӗ\sqy-xUȮ:hW DX| y,$:%1n(@3dSmGkBx!>sCҴØ@Lcff6_TI *#Vt!xGwRJ@9^2ȑNqGog^: P6C\+"KMKjeoŽN'BPi%[;U\q';P:LKt+GI#ljg&z!D %tȁ7WwNF#3>!.ڐ׮(fUv \We:>d}rﲊz\԰p=]#}L|qVV{-a&1'tK9CSeoHq~ ,] v#*OVm!5ٳׅVy-h@FN#q|Ў"cU*ԉVGL_]TiVH]w]JPPZE`Ib>iy+|_4=a5f][cy(Ýɛ *06)Ye^J7𼐔$~ni!& ?1 wp@縁iĜM1js kv|-ī5E5(F %$p)"l6_'7n!Ym8&,vG"oG uwv:iA4[s EY@H 9"QmHѹ& !z7># \ZE%!˰2!6$ይWYTc\b2 nM'̺* ]|%UTܹIu6g(2'a@d(h$mS$]<64o* ,B} tF2#& 损o4K:WÝH8g̏/KނCمEGvV\ZVJ6#$`VҶ}6Hr+(R;`NtoH~-Qv1N>t59LmF2UO8$`Ofoa kWvM=(|va52naTQ_+%[7Z#9<5bcdagiSjvYO6Sa|S!(t./*Y(+{Ȝ9‡zQs:j҃P'ӀQl v,R?몫A0HO7\͖qݧNt+vy-vhFb9ֳ5[nQlj*yeX]P)PRZ#v!GiHAr=4' jki[U Sj* m&I0؃ɉ /@QӰXCDv%v*uO8Moo堻N?g̬[@Рd;O @[snx$n@g}%"vfo0+[r\mrq$tuXc`?lj%Wjɗp %S[H'4+Ydh{7@@}x86.8׿ =Fg_-zֿ#'6?7Pm; M:C|k8 #Ǒe=Oapc*;d8גK(pTJ\A݋O-6GuxT>0>Zk/JK6'‡ 1-x!s6kf;VE19&8cGlT ` {ByP"ۣev_͞<+y^vz9%EA汞#3¢!=cpBH(5όl b^haߓwbq˺8ʅIkW;h#xOW=jz]9H[h К= =/bR<}fZ1rkR\Fd0ǡefM#qOA×vny4 AuqTuKڞ\[( lIlIO\J 3P3FY@ 9 !l^}v/HęN(o'M/k~Y`8%K*\FtOX$x8/}@"xXG{C|@^!b{^vxDW7 2Μt<wP R~:j30sr{2w"_X LKWq`ڐ&Cze,JjcY_y‰ bzD)39*S.Mj{fXvG@O$ qkNŲ]rD,b7Bj';&w C`O 0^B XGRSrw1}ELӺk~ǝػ%0< <@W%f\\An۴7Ht*X#pi/ܸ׎k?SMʼniwh-ә@'αcq )ƥ ^mp+3$B&9LHV^?VޔJlG%l*uN'5!b̄ͽ3D]˰>CT4k "i0}4ˏgk&C7LF䱤ͼl^ բl7} נ )$wekkBCU-¦GN+MAX BDWރ{$KHS2L9q'vW'a҉F[]u*kKlAn}n,L*}1uqco{w%v, ;;/S $N$0xbG)b#Eqdp>K)~N2ч8'mG&0+i!] N0X>'?Xӈe6se4 N/&os<-ʋm%md<7j?&yMk Rejlhj2CltR;3H_sUu~Zjm4z^`86`3ˢB2(SaEl"]=G/۔ա IL/"PLB'j.^:#W@EC (/ 6k| z_/!i_t⭐)h_8!4beIyl'GFtR=,8ƍ+'ZWG8tWyX%>z8y\X/vUķgޏ'*\ANn5SzZӑM墢oD)#C/Mj>j^@f׶VJ5_VM̈6dCkG9!V#w"iWBpCA8P/8RV rK%\p= EJ Ą(1FDH|"_.| ?1jIX_LRIqsS ]!XƔqӀ;h)N2xm'n垯|8H 1lnV[)_ )e, wR!fdk%07gt}̡Vb![B YJ?JxGdP+m;(PE?Oԇ(vxrU0*aM ld'Uuufٺ/YZ+w}C旺OnEu3v[(X\bX; Q; [( nz$&lt[bcG'm&ο "ӂō!wLtm32? PJ9C. `!y#`%UR42s{#f~9? Mݿ$7t Q+NN0c|y,Vr߅Hb>'STY"7< ҹN 1rdjW6nB[K7sI?"=8]aUb%n5O;Ž㬄Pa+*P`"m>p0wxMQpkӒiZ/_7P8)ZK"eQf0vҮ/@>Fmv9xGcAdUqWi 0eH!cXiӵhW*[\LHnJfSh5!kSlKkKʁv{3_=e*("l]I9HrxF {$*ېa:mV44yʈOkh}qb;4+.O gbYdy򆆿ݔ/42ۃ>(v[8'n"&I7frPD%RށŃ4d\HAj+bI>r_GLDz&VkdbS*tA8fĚa%zO2,Gj1h7>" Jpص+ĸdKHKuj\&:L_üIʯD%),)SB{kArPۂ|Yzq1𢉵8ZQOaOuCV*B!Jd#ʰi!NϒKCYD97mmHԳfJɢOc .+>+uOl[c.#wuOl|6Z =VZɪ>!2 u;|&-7ꛙFÛ*݆ rwϝy/ S'D_- ,ћ%}${C>qa“S3 5[q|悀#t,8#92 Xu;ŘܤD!#hb{JJ؈Ru+Ւo.|L"j.͆'*lljV*ɟ@|էz-Ū~Kcxex_?΅OɃEY NF$^c A84|rE{EeH;>H]&)(9rf5NuA}Pr!&lP7lk߁_=([`ȯ%6 O4bSC2ӜM"m͔_]m3_%M4X20 T,Л3zIHxd&D1rLVϮ9?lby'4¨4_XTU.siP&)L=61 W|%f+G^ vkhBA+0 }%]'_ ̖mA1yPT9DiS@HFEno)R\̠pb-Zg*n}joe44 C(^g萜0:'XD-w3Rhuyw/&mF6L9|Ry9#˟r3lMj9F [Z<3>AV1!fQC#}q0~`+xnHrFA tJ$9SX' پV =p.T W!,U}d}GshE阑neT_q/I >C"69lXIm<^ga Z*?ި"g#1:TML6Ͱ#\7U Y^}X*"O0c)o2X)蠐G,kw7_['Usne]~JK_T%zzg4Wֿfw<9qӝǮ^t?i9LQ_6<''BI<+SuEh#LK~8ruEsCA-SAC5bRYeE]rͅh{O$"\n0v~ЪE"A{EQF)#Uw7F+1dHRg )fkīNoYj][ŕ sFhy,&z $~ӎAS_U+BRZkX%ҁޛi7h< z ckFpcz0i2G lAP. jã#WN TGs]v;ބ7VkF \Gssb혜yrZSԻhl`C#+;I|1k.W-!tk:16]+g%B@x:jף?^g]+AAܖ9^\ w0V,ue q/Ҡ*"xaH#/ c[Bq^+]ވ>@p]?vE]8;)']ss%rL22:k:ftKGe?kC _FMLZv+m D,,]H`[Y3+mGxf l/=[~v z*1{5vvp.dӠJQ6^$o7AW,J*")=7!^[Y{NeŰ$Z"7xW>NM-GaOmXt"/4[ a5i%Rtؓ?Bx ڋ9[.H8=B {~ŧfn#t.!a/ʊ<1՞U<|-c˥p'K䠙 2_ Zx "6ԡ~ QtEθ"'&n8C ^JFf=Ek6XdxJ(n(cs j pi`(*9=\dΫ3ԧ  D<N&I]eAP~Hq}u+޳V?EƩH=zӖ+?BAJ[ʨ}t[d?Zpe6ٟ.yCq~+CQ_גg>jVyj<izH ;W n0WVDӊrȂ#|A yU%͎`A\(؜DzZoG\K0Jԫ՟觲l'$js1mlX/ylUѯ"+XSN\I9r L !~bss' @-ա/;>bs١hikV ?ehb k_"meh:]A fЕӃgP;5$3n[>kD] o`ڕ!Z4`rtH w)@ lݸ`ɔI۴ bxOz0T6 ;/St:G,+I1ysam\4I&ALNdYqyGeh9$'͔rh Y=M\$=H:9p]_?:n&Sdaj2+lnX᫅X|R{ab?4X$ ώ ,8DVOJ24TRA0$t?˜^oֲU35G;yLic$n0wj @8B<O;[qJgzWSQzLN@neZB㓶+r Y챎=N+EhQn$cF20٣ăSMT/Bu`!NB*E{ybQx^/В~7HVV#1HzTbT%L;Nw5a32bY=|e>% '_$ux#B{.Vee5@Eq"{a\_J a^@>9;%U{M7Q8ñW5 *GGJ/8Ip-, :yڃKNF昵վ *C9 ١c?#,-9ޫSIh%_jۍ",!jq3EA(^`]W=-hJ;s_`iJY MiGN;du N; o=FKBNu3j @wT oξ1iĸ.`Z(n+{:K[kQK$hAJMbbi90OjɕǰaqQ["s50/p/+!lE I"e/}.E=yZl08J`ǵ6N63ew Sy Tޒq  lt_}s=vo_xG>AWRqaX $'ٔ/ꪴ&n;ʠA k &1UT|gfײo9CWQ_Va7 h?LK½J< Z?sUڗxtM?z 9^^V;'d+J4)2 ZQnn>^ A宖'J& NtRra,V4Kf2iSNF7IaxH R gyh-Q xMOUFP҅7\ta(.^c9|X0N2AVM$PT^Kz#T;L ی^ymd4>j/93[vZrA*V-sZu^H_Ɣ@| p]K(x|Z1" :3G(cBA^ߞ]J~0hh.^=~l>5:,[~zE[X\93j%+%jFjv0 3u n 8U&x[Ƞ`[|&8${FgZl&#Hi `cޏ-Otx4B<2Ӑ޷LiiFo,/ɭwQ .1l (ɎvǾCAMfʐ€g4?w`+~֓I H hw@E#C*}b{9%$O䅂V7"mm/F3O.M-8F %Wo 2*sI"ʹOk'w|&IN޶S22`gG?j,С0fyk'EUm]1O>e/cH<'' S)Ń 4<>B6Y|v ~kfBy4}Z Gj8k?WlKl j&`f5wRn;V)F&GK ^9mݞYIl?SSNr PY\;#;/WĤ]uJeG@~d "rkװCJ't!eH=ƞ҅[w;KіT;%zL0V !]F9o^ PjCі2\Hi@iȒV Vcւ(|a2vk*{Eߗ+n&9QڈRt !r PM5>xr<31aF.e]{ka֤֤ >YILĪ`*y"zY9S )|ֵ8u?0O [6/x§z!tp _~@>+,3@25;V-2/IĠJsNSvܷf ~@G1G{U3`O1sf(U~_fХz4 b,4$L8fNo(CsŠpj> 10}s](_`{DAGxpw'EXـpr~ao Ilqx*[}qړ=oꙵr!UWtYSvMTqg3FAݠQ^^J ,Ŋjw7?CȽl{έm ǽ9Si#XR"NFt}[ r e^-;RZw]qV/ ' ]o*XLG>od:A:'Zo}UߎlىUl%L"`+X9}7p^:WÕUH~q[5T+e@|F8q-n M#&2I>1ANƀd-+SjϿRti1{Yi(}2>I{ % w-/GNh]Mc/q>&ɜdwK2*LN5WM;{GDx7 f8 9) \[F|{&A+[izu]d'2n)$98=Dxy(|^Rn,!-;W(|jw4p#ź39war#uB` - 1fk>F:_eHIx BXN2,rDSdR4 X|uD5“#׹Xw u|a.517@G&.~ (B5m@[ 1T [[`y1]%33u#rLDZk\|UO M[)|,id u5-nb˸5[DLm WWMYZPΥ*O6V'D__ͺ)j`&k"p}C EYN 0ދ=]o㜀W;>vnW3@Thľ AKg6 S܄Ǿe䄍%6l :'h rk[n? ܁1J);\'l ;Y4ds|];.Hn߽ >Z00XW&l;mhGSY-n"C ?&G؆|w0ayLeo^OjvigYNNpj`AӤYrj.-&7 xrmx*2wkĹ赳z&P:F~}f\2U;.r0KS_&&u"OŢjk`?aaH,HKhۡG" FG@T|S!| KZ!9O+`Ƽ/\bBYꢜ2]m@L{~L=>;Df6&-AT^mJЙuh^!:歩}nqXj3$t/t?\U?13! yu G]Mvj 8"3SU yE*rDt} Y虋iDD>5!sSe,OMj9jڿ2h /} a'k\p%AM5>!@n֤}+/aF;ۗ@^V R`ANS‡dLBvPYW%zDU/"H}qolQ|1`V~GE\$n*}n@XoHZ wFQbOzVHi}C@sHe-JYQq_,IǕOye`P"|XCSFb;A< [cVBv  ztJ\Y8/ "6B#ݞ;j!,i8u}/Y3gپa>c}'e ٞ ۛX1Y!`4[kղ񣭬7og8fN\tmCVMilHܚFٿ/0Hgù?|n׵XƅGy7ϭyPDĩ'9!%DMVLMʲVx75:.;MRNVx xG["RxS;y.[k]j"_61S| 눠*o !hp`uӆaY wViŁqSps3+a 9I5'Aiw.Xyk4;)S!rIS> k8\7SK'T0 1oP${Msr!l$Q *DN}䬂b/_a9GϾIuP~Ƀ2sΗ{c]CJx5"߂MTmɪD&Y0'J``TG^jy @AIC|JJ樥g}y8ɘS6=4N7K:NJ:3w2늑E{ rlJba-)U-)f ެF- wg`&?9jl +::vX+@^ 99] #|ǵto:^uEhZsUӊ{`)Vm\E{'0SMc{z ƒ.4dtw$>5䣮 jΨf2!^9 %pi*p(0Wͥק۸gY?rKD>GKN؋'(}H_4yгLM Q%J7L cTwe\U[M[%bP++8X|F$H4? XVFe+0NZ*0밫/,TerѾ?Z̺c]}H⑒ e@?O ;ZNx?F>TWf1V/QydJS!ݟ,d"FP/ l)ʁ ;+NamiN :WbydTWYG<δ#]&&; up&Cqe\r6⑄q]a'+(h򢢝Θ}l8[6iPnc,+x3z+⪽3EE L:ğxgGlRI#M_-Ḗ\og+ omLi"a:^4v͊WrB~oynq&IuBڬRk^I7doF# enjzshE'OD\IR!BV>[ڵqk.I1"ݺ >>*Q[Ll2b !sĘI%6ͭ?A$.fý 4xf #9L = ?S k-q_t)пYç\A jO~!7Yyi;M2SUٝI&{~Sa*E w'sä v#pr% /꽲A=ZXPiw*OKy{06m'qaLiq,F-5} m\.FT;c01L ~p*{n>Mɰ$mƜi<(" \|` W hoCG>̵c{п5BrG~B h^)٦O x {VyWyE`fւcI.fmzkQ3d}D.S@- &zڱ].i/S sLeUE!FAڼ!E"1Я`. v:fv  >@(_4'r7 Amtαsע8ge Asr1r%;\SC7Pb9ݳq_Vhg``)}sh )y凲fk0fnEF 7i-Wi :H> ci=`>$Ξm (o4{@_Exv ɸ ; ѥfSLܾ[FOZ1`Y*q㋉=iNbFHɚ1HcռP!G (;\2%/ޭ׺jԂ񭗪in3JgS,s8͠# _4`}/;eI1S7h[EzK^u~!%Poٕ\ /v5r( [ӬnkWKj"")q~xV nj }?#nǵLTx%H}-,na/kBl\B\9iZ7FcOvno~x4h7*P>IͪN!V?@jH= Th z:Ow\<짨0HWt7a ^ʏfn"R,g[JpU(}' #(\53 j+y ;O BM"*}~Vh C3lya+ aG>!.PtSaS+ʺ0J?ԐZ-c s$,J2,"=˖R< €|*C hr׬.g lcޣ{HV= @ٙQJ){jyZ;V#͈ .@l{ʙ޼8poᎧ\j$#1 98p(F I;է6 RWn I)K<LCvYO{-?$RXhp0wlBhM[s]ȳuRȈ?x֙E'Zeثf\zTׅp ܓ|"e1YtVH]0 ,~DkStV $EV̚7T M0һt| 6e\lH|5W`d-7dQ4#^y g($msUR_/d;;5?0e!\4DOZ-Yti[Fɭ \ې~G1n>o_TqU"Dń.!,t`h׵mxcq` י{H7I>s0_f؋ySr'bVnuXUZޤ&ϻܦ f_G2Z%nr3)ْtӘ<qe|lAx%CXLYGQrWVܴDy8jDџF9cΦ<'e"AA̮WBN$Udekt\3Fwx կxÓ& ^%5)=ewurݏA<\x`u0-)ٔe]ɽdE8ٚZԬrMJ!"~*:7,H2jrdO6") p{a^L&)vITP>A, N~k3d/z;TwO[EV\aL ~ߜmsvõ A)' !;c]]u'{kmKTh,9tENht+D'1)km=Bz ‡YjY(.:&}E4yχ0qL \nxr0%;ٵJUqLؓP7?#sedj)LDb%=C/sU<;E`6z,˳Um(86C`dGnGg{|"]s=UcoH-J{%:OgLHny-YitG==/D_2#%}Ҳ=-y 9+A= `Kh0Q:Uwo[Xk  !uq0cA^KEKW\sqV[Fp?% ӭfQzh4εGIXlT w18q1Ql(G͈tBw |YMk<"eAƯגCAZ L 9?gZHLW }'ˁY<)M&q7l><7E 6kTƒR1< E h!BId֟;7V=6ebnC4=*z$Z#Z=Jks6lHHcRdqdM>ـ2y6+%"1%ٗO;) %-kB`ia z3c4 w$jEi5 tI)mQv }.\k[s<.Gkx^v#Eo\A/ֵ}&AU]#(D{H}XY: UdؗיRZ{ЪY=Ra/*WXpt-\kA|i@˰6?~ av{A19BT u*6Y+ ɐs)́nE h8Jd";o +ST CD}(B`},} -f͌W NfaCn9y/'LdR7 .K 343p5]C 7āx&v}rx cVd Ş/O%{\VR53E\%l?>Gr̈́ 6 @z8KomZ;MW 5q3vz9ըm7e-vLJX ˑI afVl;S"ʀA0B<n9..m4iWl %RŲ7ϑ7SK D#mFkTsH,'%rgi8/:%Rׂ|_)A8 %dꞃ9cΖ,xz5h 2% Qf=J(M&74j1gOg: WSgnv匷>m9)9+Q^kQ27*ھbj:EMgi7tr+p+ә S7TGRlPε\Rbx YOW9:p,δ~Hƥbw`RƼiehA^-]rvv!4TZ׺I?⠤ (O {Y^9xrc:$E>ɖĦ\ "0kc;0 d[fMS7<Ͻuzo>? UəjZ;y <ҭ-=Gy5fQ@4!. /N9ĉrpC&~g99k˘}5Z;sF \xY\}d Ĕ'RP)d_tmq&/5DH#X"̩e#cG"PfA%愹XeG=4ޜ~~؝ݟӆ#8.)<:whiyθ FZL8b) R.n]*b]~\8s$-«br X$ڪaV:_׏ս[oc7H|#Ge{$KV`>i @VKP m$'sw4 cE$%L$e@ϗM紱gmd}Թ*:/.'(=1NoGVY!5I^"f7taE$;F`f)JTMOx'[PxJRjz7[2j ihMS~UUy$.&{Yai`)-ۇ =b5aLَUG!ҷv=1iB >'W`Ȉe"p93qLPvFJv٦ @F  ;izC؂_1C ?31NMbX+h.'.P؍`ԛՉ0d5]s۰V͆k@ auEx dv MA ^@uX4J 3S/7Y✍>ht[y3ooD {z<$S r9Th;W]-7@O:80aֶE {o\] l_X7 Wh!զ'<4~D(:*ݯUcLJSR3efjɡ{(>uLeQUS wSo0bth4}F̭XK聞74x tNT`0EC+? ߐ TL}gA"Jjw~-E nG3aEU VQQcCs0Cúl$A6u)S֦TޞNuT$ =]&LK&4&'>׏ LzH5 )D.JQwhfϠX{$-[fVŦL2*a, >6ɢ]ưm';zԋj>DLFCAs+ŀf <4oURM_(/i &7^k[dhqueS9p믴\|/1$FajX%.9m*yWFϪ|JUV|&0(9ija-bK@&gCdld%tn~5A4}&5v>%뀥PxVc QIBpؚT:Cd*73"~ƿjdo"9uY-aY$"W̥0_$/,@$x Kܼdϓ3(ˡBqld{") Nlmr2aJ0tg@ܗj+ C$R %T%h觮&k b`ݹlǬHe~r,)_=}儁"9)X87T?eGtlv:-nFc ȒEeZ?f'" pZ􁓗^4d_)w}tFx;I hНLw0lk,@ N}m_^K>S֗s^{8 gO xH(v"2Vi'=JzEdcrծъ"keѓC4e, o#+k-q;nuL~pf(_(pJLETjfkmG=?gyn%螖&*(g{ႇnrha>\30&hۀdy&ʋ A ҙ%pR Iohi;3-eaYl}dPI+erGp]S P Q9.W7JM ¥,;]K J3̾#K{Rw0)*AFbz{:z#g%KcЈ4Vw6ŗ]N>&XP0|?sn;+׵ %\TA@˺bW_Ά Tb 22XZ8 vA 6;0#^If"&?Cl75G a~9~=Cdjhj#(j[ua;$ڔrŝo۱{aE{RXfB a%rv!ԋ jS ֓:4SC _GfemYd[bf$p jEY+b4Kx:e rw^莚43lyzIPKuQ6{Iȡsͮ\= Nmi[xe]<8_p٥n"ea$^rpٺL%-bq܉)Vׂ8.TɯowYF `DuH$*m>$L*n C0kki#~1GOR=<dAh1D.^*wlfV'ļ'S u!RyAd)Z1OTQ_Ю?ac,5+ Ƭ&p\nl%;zs]Khpnhn,})t{ 5,GQ[ukN*:Z"wr_ {RN͖VAdU$ uGѱ)_W(h#)KGz n{9ujSrQʉ +U\WWHVi"K_w-OTZ=!=۬|q\BKzFWN6f(N/0e$o #J?U@!AYsA/i. zM^"OSFf#qv]Ig oǖ= s"EЖnaOsX:rEۿ;ǗU#5d(蜋QKU DlR HW̟;Z[IO9TJdjG:"{.0'6KiT\R)6bJ4ݬH4i*:! ?T |1Ys@ y:#N:x44/N`:oڽ3}ũoenSKIz_E$Y v/_ȉ{\xo&q +Yy9'򈰉" m J117\;ʝp 3IRk󤍇$}YlVИF0ޑi#K[Æ ~Y)ze\H|%;&E;63S{]߭K'bYpR]E&3@FDc0i݁4L(O>If,#Ϝq90.]lIjćF'4b [+d~HO?aR(-]Y^gIفp֣ڭЙ&.3((,A4yyܾ.-9|I4gH lt?7*ڞ2IeWu X:boldMp{h\Ρ*;Hɮ !TIO,YCSU7ty<~ ˛ll-Nj"86kyY\VD"@E 'k bHY12[ut^\.RCЉn:9+`ǪF0+q5C"qFҒ_# "?lѽa oY^D:"GMH6!^3'pD=1>(}_,%/?Mv;ZQO} [lx9W(Itx8]ԡ*x]UnP^("w y|0r "y%5i=CБ-Z>P>*骴>QVX{Ɍ QI[T\*y$`v[3:k}v+*_d;Dvb kʔl̝0#^Լ~T?kcP_];ADa =fLhp?gT^RC2Oҁ ?2 _[w&r6 7[FT.i%$'-31E ʴ@N-珳ObMW:B sC3NWx+…:BBRBߣ{MS`a eD!Pć:&]WW2U D(|] ƲVÁMʳ;Sc$ FO2'c\m-&3~&2Pw%z~o1GIMj1Joni=ɿqL 4 Svn4!:T%ԙ 5DpsKn$Q6g"*>0Oȏ3}&9^HYAN 2@g[ qd ʘSBԀO#u2ꥴo‡_"^ndLEX>lCRi~P)|tIr̩wd/ b"9x0!i@R`a pno<(4?iN֒BJ F:pF X(R+3rBHjzQ8WlC,/~٫ir xBUR HdFˍ ]J#n>J̓]W-9A2^#V k$:1) hk֭+Y54d 5(3P֢^э=(dRԮdLH%r*d$][ZnOk5N`JvgOYf} P0CK!%vV 09{,+=&Mmw.2y<by0PsyepΒLol!{ )ZpgnT+8&Zj3֐)/k C7 !ӊC7B K\hSYHQ {8 czڙ|0WjpcdѕjXJc_^e.WA+ ˠdqp^ Uo)Ex]#A2m ]4:˜gZPd?T8kؚ),rIT`\9vR6u]5Qݧɥdvs6W6nO;U/c/|xfF")[D q1-fuBTbvʪGq|#H4S$$3ۣX`,Wt.a&ggyy o3G~'gBEx\{CwcіmR6 Fϫ]E Nӯ&z1wCܭĤAیFWCSU߆l xږg#S[ *ym#x^:IH m JUi3۾\Csa>Ӥl7U_0{eGC]m *tjгڻ!itOgY,;Wkۻ4t6m NB6޵Y:Ll]MC[\8XάU 0#]̑^ᡥiv_ƪPjiRqM'R1tU;\?3\@vA,]4tp.Yo0$hU)'% kP~c<K!u3`9^,=嗢BXFs27>x$-T5Tĺ tbc[<_*r2ݸ3/]֙쏊*a*7lۻM[JzT ^4 ?w!cB`wz17C${$08%% Ao",[wil aW'rX&?XQdTsBvP^vBOWI9g'nd{T|_ (J8lhͲ >-K*Oʑ󊶴"N-X*%w+2BGyk`$j|fWr]@?cM-˚orJ}eJ(܍e~I|x 9-6܈_[ol5RoXd Cȴ”*xvV4Z1u)]ϭ R7@Y )dM>R{;3\t &a ?]4Dw/{g /yc$w?ɹQަJ`;h8_ 7kH/wnm"\Vfob~-FqP2WaL?*ןW+"Ќo|ObB$ LWh…Cls~K IuIslΩ (Qx`ݐ]\Wvpcpy7˱lBdȫ B|Z%EU ! eҘ"Nv=bc=q]JG$oRN=d=xV(_h˜cЉ۩Hhf_hČ#FVrНL!FXRnuΕCHY[-C.|xT̠4ڌqa<8.2pOh{QDWE5I0l`Wo^QD`:SuS@?USa{N=I6a" C)jښ!q I9-6w{j8tЂ ~󧌆6 Nhgwq@.-\p ?vcJP=NJ=coO$09LI<'Ab#'N4hz5}Xb{G&pDM.BL#SdX.!])RB ^j,Gq $߆ێۂD4 c♰Mp\4 FWp']tv"[<5{E_-i+\j If}~c z5~܉VF}ڸh!V {kZ=2uDژ\kG%؄#see\qE3#M̝]F{ܭ4uC_Ҵ7`)1H<@Na`Z%N؅7\RqLJKe7Ӝtfp\YKZU[V@~#K{/2K_$jP),8K:idxly9E}1#wEnߟ[NiN75;m6&Y>Z{\B(ߺ!5J{,.ϒa)0Qilrg@R+hpSqT%JcUiAvؒ ݽ5)5+.W0 W"|7֎X]ВJ E͝PuS'E1 `3#LO)KYN{rA!BS.]u뷢8Sr];޽T>^cԎ޿6M.- ) $-0@GFPT+Ԛ^swV3`1Wuu-qb zv떹.+-]QReH/4ٛwl|FX1*Q:v[z*}=ӓi Inc aãA?t1̀X>K)V:upwӑJzHviyΨ#22Ǒ4hspjuJnN,ۼm"t[~Ӣ5ͮOT7HUO~ 2>S Plw i~|laEI~^>jQ{ވ~xф'rI LZ4@kDHiGLAeNA>DK3j =f_/9ֳ*,rЉ˿b+}L҈jPw0,1C!z xKqk1&z7:jkg5RC3_zW g$Sfi&_Kr_e!F*emf29_ @S2&hVBsNV7UH0xY;~9!H%5]dx}2C'iەotsJҰ8k$f/,%G^V<")*_֠:oӗ-MD2w&WLF݄ Ow1Ƃt>\aKº^aE-@! /MlF)>vEe޿?C'pmY9m>2w7KaNr7Su؋Aads똘Q*kKDB]fφs :XBjV y'x!ju:" dj,FNEie8vGtp{8K)s@[6] 4w2 F9z-Z6'[SvKtgVƤDiEmPܰ)h;Mqk7I7,(Hm;7qpM<@  ж%a at_2{Ondlz"ޜD>lqkB#o, _@lUlMg Li?% IcA}YÉȾHdCGtӻ\z6p-W1*ZI1#xгĶNKOC4;+/pPe-;TnD ko#Aa.%kyWhIuyAp!a  "CWוR@tսC\\j6kk#4 > |-yf;M?PK!mH",:WK8 kjXgrELlS=!+ru?t;} wSH^?[YɄuc N#N̋K7UrŐa²-n ؠt gVk!bq3!'MFY/~TRhv̧깦EʰcۍwK cЊVU2J  *H?q t~}`ĩOvqgh4 l5L^jb/1Bв>5@VWXgh-/+(Ds@FvE*߶ AÀ$\{b~ i?k=:1XKVL@0Jk@ )q _Ptј,nN(s1zi1G%1q/[{7MeBY%ݗ1zЙ8"KE3dgnϩD)U)d(%b*Pw[eU5#mcnuEt 1BșO%ܫp&]G2"D0p )JvOݾr7PW#>=x; E? Ԗ0W핡ͱ:V2yk+dh'@ލ$_E"A{@])!J!Ke1R0_ Y0:WY]W$3ES kl҉!c[2k|V0s]4uu},ē*26l7<&Z}_gdb.du>ܦAip(2ؚ$&P_qcUNsd@٫Eu'-8(Quj眾(";fJN+OZϸm(\: [t ]SC!B.xhy+Xw$t{9e\Q79`ٌSK\o1*GQc(E:2N8ۄ}+- \>AG*E8@@GCOP8Zi ]y3vާͳPI*#2M,f2'Ɔk W1yrsRWs$Yxa͈;W)/hh4X8j4& 5&.^/Ju0qpg! .B$&X<߰K[#1]ߙ,N'-z +y,8u?Nq9U6NX\YRk%՛Ķ^ -+$t @IazCF̷]nxµֵϭxcΧ( _oȗ%JyMǠ!Esin|8+ y,_2Vme/zyN״?d:TY"!ZxnVʪK *RTA<:a ;BNCOlHc:|D^?7F&8 EPE+V2M둄$lEwYޮQ]N>,Ug:npGU 8Eqf[CA#6X+Dx;}Ą{M[ a:joiBz(mϳ w jU8by`n-^i;.s$KVP1| Q*~IUKphl$\A `^buBytq*z<(->#D]Ek&p0K,=mK&JKdĦ?VeT,kCdcn5:h5ڑiVr4JJ,WvH~"> |ׇ.ޫaSr+qy:Y56^,a_PX^=}4abۄiR2,-RnvM >bzQȠh lozGZg$Dcx 3TZZ "jyADί۫UzƵE);3.`؇KIӈΎo!mFgy ߚ$HKmyV~T.' NBkЍx[H]rV^UeT#KZ&Umo2i|5}KkM=¯Jl;=;$Zcۥ3HT(I>-ޭ¬X@ Y;-.֭8 ]cYÇ[ SEc.y1C3jgn)ϓԊ[F'^X!ސ⊨VwT-юtH>KCg֬pPAއOff&O-4Vn W2jjĈA.h3aE,\?oLU$>J B+ h.2±:".DNyޯRs\vo("CFRJ y=^Ӝ޺@ͥ V)K]AX12ⱔ {oVH|kܘ6VNZ:sHx;N5 ,`%rҋ+bUֶ`>ni2| !cn7?e@Y1E6J6zİyS3 7 7Hs'2K= Q1S+c\+Z^_'6WxNd81&5ÛH|*oINiм?w?1rtCX,/@z*ZGI 8s F> `>dF#,'ԙS ).#Anĵ &S"xbݩTG*k?.