summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2015-04-14 15:48:04 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-14 16:49:05 -0700
commitc6f5b001e65cdac592b65a08c5d2dd179cfba568 (patch)
tree3039e744e13eac169969882aed3226a8f6ce6186 /fs
parent2b68f6caeac271620cd2f9362aeaed360e317df0 (diff)
downloadlinux-c6f5b001e65cdac592b65a08c5d2dd179cfba568.tar.gz
linux-c6f5b001e65cdac592b65a08c5d2dd179cfba568.tar.bz2
linux-c6f5b001e65cdac592b65a08c5d2dd179cfba568.zip
s390: redefine randomize_et_dyn for ELF_ET_DYN_BASE
In preparation for moving ET_DYN randomization into the ELF loader (which requires a static ELF_ET_DYN_BASE), this redefines s390's existing ET_DYN randomization in a call to arch_mmap_rnd(). This refactoring results in the same ET_DYN randomization on s390. Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Reviewed-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions
Nuq/ߠ xXy2yr9{y|gSb^rt`b9ѿx3<[x01IûM [7a W!C;]M1E'9P4ƵA|FBzDZdǻPkǾq$DTfuZ~ VR]!XeF<P aR@ WM]o=Mh  I`X|cSs5]*[x4`[ p"(Pr+Ĩ9b,1'.4{Ik0I>zs#s׿p s I1LϺLJǝch/{d|n^{vbȉKAd*|ru3r%'>;*۰$Hr푇:ީO+ϳzލ *vU㨀G8"{-`d3AMG7Z'՛NH]h Fjt{qz8arO&O>^=Ѻ%u>QM{dz3p۟ԧF~4翠kOnGsr;4q&$EN9Q5!hD  w33sLأs, &ŢR"A2YnJS1Cxp)F@ v&6w9{R= 04W7B i?a<| Psʥ{|[DRΨk H_K@f r/Iuc- 2:4/dJޚd8=siqAw4`., cWIſ!<#!IH]9%EޓL^H5.9|֩]]Q(JƩ@Q5S0r#V#uaV8N$A`H p&-Ytz,.y9v1 }uWN#ڵ&kb,|+ޞA⺕gJ{ӽ3`=5ժj0vfз+b/vH\ûgz,1⠀+us'X{4ӅSn釫'wՊ$!m=ܠCOddt2h^1s@==3;P}w##Ā.ewo,L 8+M\ %G|r疒poǐz1'Ϧ~yCJE*jRr>n}DCN}FvyMZlj ў}1EւS@6,{A kcO6Y˧/GO!~GJn˵?3H~ ɺ-Z8'@bu4z ;@jPV*U-5aK1Ih5jz]N[c*0XHWh ˻JKi7w. {'ʭVr#R1[ÃaY9u]%RUwue)Mr5nvHl/F P:rP}52Tu*ukRxZ[[r$4~Ћ$@] l?C8#P w05$!+00u}$1IԟM~$/ꤹDUuj'j[@L#qLM?ndkb%v}IϬf5U ;]k4TzZS * s$FICMg(b.r_oda@ʪUQYSbP%6ԠF F"2sj=2;@$WtY_4k]_WiqȬONSK$r 0tT{. 7;>2,>7@.K90+}ôcsN︠+֙ŸF4oa._P/b9;Rdj7Ee*/5}uփ]/n(3\]ގt:r곥Yi5j輴ΞӼ6f`ho]UTfw[^!NMciAI&HZPh:5v[/tM6l]luڵTꓵiA>"ȒmO %V\6unh/27t_tԬ&Ӂ4u2RV:R[xIϞKd?Į~7F4m#ˍw迅}g޸7 ִRj13w#R&^i?$w6 D)kڱG#sdvNW1j3䦫v_Y Ť)#_m£5Ź)Ǒ`ӯ,6Q$R |yfŸr=)DzlɿьDWcFL\=#?ߜDj3IN9kwA^yL|r4AW:r/utVAIY?R>)+tc~C>jI>w#*j?''~}6?djU=$t* 4Np%τ'vWqV>f1.]M5AH"s]ϻ$LsG%pk+aEu+JAM{ EkT1e̾:jlKŗi#4*q˖ .>&<$BYءȖdHYHV< bt "e4h4g1``7vBB_kp _[$"q!x1tjIS{C~>𶇪jݎYZmi^E4;̗]aHWhhd_p,!">nإ{B΍d%׫JI.ט~ 8s*cTd(o'޻Кf.~X4ersX r oӣW~ z/,zkY¬X`];| @݌elR { ,\@#G:rZ5}uM|v?_]O^TJir1q=%̋]:]QzŹE{Smtx=gtƩ'y[2 J:*vh[E x6trY{EʶlI򧍃椱0>T}Yb$8:̖6[3 xc%ҨZ5̥:;lea6.y (hh(H:뒕{{O5SspkFU{qV`qxU6=Q?-'B_l~]\[cmR jG5ٵz @jF~Nj"_oZ) ,S948.<W  ?+;<j [VUY_y;v![,C+fZCH=P4-O69)@=guXAf]-wv?ӎ|ḩ/7Fobޖ#GK>weFsr6nBߓړ9:=miޗZq)jPո9r>T bTT?t)x΂2Pֵ8=B%zwݫާY=] ݃{Vam61l֋ =w0-ѳcKهq Y n~T"&92Yb~{crĮx~Lٰ*fG2*[VXaV'9ʃE33'YcG;$]4g\JQW|9K, ,i[f]QХL]&3j eBTUԈDSV> Miz!߬MA\U}p2w~ni'~Z%E ˀ5'/u5+$)BCBN-0]|(e0y BWiDY ri L`?{{!^!?` צ#554iFniR@f/W٠MP#{b*+v#تUԬW:7I)늤(iJ Y]U8C^wHUj:՚CguNޜzɞZ,\'cz$ (ѽ֥5^?1G!{hN\\V/zRU?;{WloK,uĵKb"Onh2pd<5`0U$}j(D dPF>${!-@8TQNJܳr6Eo>fg;sgqtq}t@Y<+Z<=1p_Hh1Y ,^0>,$YZdnH5lq)=Ϡ x7]Uk+)CH#gl>-q^_ q==;fWQPzHE@[702a01* Gȱ}/iPxڻiF6\¥E_&YjiH&ޖv^?;%#=~_ݛ7!'wY11DۗpؼHX%-S/%٨TKhЩѺ6c'{L ,H}=r#ދ 9ի$Xx8Vڨ#8!CKq }̙^ NuJFx$weCEYk؍NQz{7ǣ;3rCR_,{f3 tFguS!^~KŊ;m9|`{,L :?{lu+5E;rX5gz&#Mp\DNhHtV8Mfp&QItrXnS}ZyIn/K>/mz23VѯMElm"g@oA2$}$]l jWmS5qI{{eY8LzFѓWk\>@Y9Y rBۡZ{,$KRvr)ѽ&޽Br/=߻/i4vtOV J5lki:-R̝рt/\pFi"iDR(W{ޥ}#w68|uX<3`xw)gACLHl3c4%X3L.|dMIj+Nߥ!Gg^u+7{B<oLn9D8'OȸT޸F)=( `Dר+ =\7 " $`7%ZZSrGS8u~1 GBF+&LLoqaR1)M&:l\xAL/Y2;X}%MnGdF~pJBJ+hɏ^V1f5+@TBF$ KKkI@fFH54@|FBeC6KNoy4˘)n(ض")3 lwױ@P[@"}=o|f<8ݝN Clg&'{gwD-||&w~ߑ^4Kd"434ef!rg~ [yj#2~$2uajTUIvxňhUN~ފ]}nsU!qLGHyVE2@BKH8tR-r<4tQf~p~[%BvKgϱWrO\]oAXP=Ga lK>=u&<:agm`6fY@z4N*ѫV,!{n}z2i*[[G3 I|,r ]6̎jՂz$ܡSL>(6r`n?:R1A*cH .VV.]E T"7KvJ!?v"5~R2qA5~䞁`EM=8Ј %M {Gܘʯ{z"Xt]/z m{2:KkxU [@пa( y.Ylrxl94`10M> %L#plEK0q,,厺A>6ٞQ]:$ҩT5l\%3c<( 5P8/ݞ&;rQgb*$]z # cTU+׳=b wqih39P&zq#;ɿKM?dRmjD:B9`֘aVw0JGI#H2XMtNPnfLs2!> 6ȄȎ_AW(k Xkê#}$E4\l{qRqgt}H ,o$JHIuE* 8S!{f Lcڇ鈔=jUTɏvMS;;'}vkG>jh/OELU38q4JåF\'zڐ,z稣l+-E.]Lֳww㼐aq/;137GҀhWS@,@mR/!i H!xt/fko&#E">Z([ۑ{jV岴rڲV 'K J09}8adʓd[L*d%M :Zǻ@T 39Mk jjlUaFD}};LrPRsfԑ-]npk 1*힁*/HN'l{K}c8?%k؉|g&ǦCEiE}-ܩs/1s"8@xh5?(D\tMaٌBm5׬ty1sE|1cw`mOlS8H( '(8Ҽm Ÿ+Ze$q:yfU2a'o @%_s`x-֙LS~~?H2e"{lJܒ/cusykw (SΧ쓮,ݨU>kN gD3ȮFRJɩ@>)8|} :GpQ]ȎHBs^Soz –b|\Qaow ]$ Oܱ/3XǮaI!ٰQIE _Wŀ8RBI;ÔFA=9< ú,3jvM:'";\\n[>3`(ާEJ6t!yVY3xGj:!><,\d᧱=؆F\kI WA=:iǻc]M"T8\FPkցNSj2Q]jlX,IЗxE$f\QW&I9,6AHͺ(z) ,ab ZI0$ͨ ly""DȽ7Zfz(bkW.;myy@zC<\Fd};{ywݕG))$K+tw[oGrliꄖ(sH4DškjR.rJ;p12 ~6jpq&E03@&||x Ѧ1{G }}]5{1'O>W8,r'O B~ơF~{ev?/i?"I,FRS{%d2͝t7p_\[Ώ4A'2n^Me>\;%[-zHV+9rIHS$e7T+%AhmNwfN,DJ-uІܐ.e&$9 =s4Gz g$rl}_><VAU=l_GjYvQџy E'2Z ұAe,O=թ۹j |5O@ Y>/A=pϘ]$k]/{o!cV K>(ۡS;/ux?BݧȬy7m !\T @Z\q o߃\HP`nGܣgs=Xʩs`3K ex!i-8EN3H./}LJJWO6f*@<{Eja:[ٗg&kzKZu2f{n-ʆtR%;VjsЙ Dh:vL{pPRpvs)>u@Gj uwZQo3fp bLA~JUϱf~vݒe[YNw3({amNKHy퍚xHv&E<`-@*kcV+VRP!d=G[Y `Evm,'ub%d%u]ƁA^G5zfv Xbn;˲==Z yGOͼd=ZFK|rܭF+FotMqbz_zEѤ% Dm y0B1;`5q*'NAw+ :1[T[862!<;bGh|2}svij/P+`L.wXd8g ؂GVeufJZ)" nm2n Xhf7>|VLx!* KJ):*x$Y<+_G2I ǔXj+S)QƁ Jjv/E{mp4uݷ5 ڶWd2 }RG;VtB1hnn6RZP1bw`eChe,{1S0'69\䋎Α! K 2]S(q f*EZNm,J\0 $%y#XM5 X=k4!2߀()W8ab'LW[6Nwq\3鼆Wq(CEg^C{w퓺vS?0akWꨢo!6j fXW&(:̚Q9bG]4_q w\R+ƤuNhq+L7f )Iq{q9=tF%`c7zD!]܅ =cͥ8N$w*<ݰ;>:vAi=>4dh[v;mGH恾OW}r:s{gPqi W ^W2oس_x&>vnYؗ[Ѹ=&Wځ͊=u=qvWB˓VQ>sD]I^{ ' K2H |!wTq:wCfOk QL&U+sʉnٝګѸjV ¬*e׏ڠZ`SxWz= 6P$R "9,_c47 _j$#z+Pz8},%{e@?ޑ 0Ez.8&СWZ8q+L'i tGXu%,cbE}v TMIjq~teAϑэZJ쾺k{0#0H*ZJ}>:Zyǰ)lm~N_YܠYBL{oM)!ӇJ@E1"<; ~IЧxg[ӿ[mY@In,{W̚R ӟvjӀ"5oES,ZV GMd>&ZTb"C-wvY-- uY+Z&)ol:Ɗ&*;6.ȧ"$Y6M3UZ-`L7$H6uD#ֳqk>,]fLV: L޳h\&ts84eapwіfaɗ{Z)OL+(/kgeM70ރ5RlT=?)ГJ9ϺtۣnN3[8!|)'?6HK>ʓE|/D؃kA{+Ccɸ'98NsTK"y'߇nw羿e(ƇTEF[\L}ns͸X$ГN=41 mEpt(CI߲\p̟Ki1RJsn({T"%āmMDC!p$Ie=hS'VTk=urk2GK:l F- YM_Θe]*6NM:QU;薪R՚t.tiU˭z N3D_[.3a>gO] 63VQ}ѡ49 E(N!b/1Bd9ܐGK9B " "θ%"V\-"vX3]c="gl~>[2?ɽ~v6܈:E.&Ð Lt m%U4{HAfW հBb}cȝl<9;"i Si - [ԫvYd?з IzͲwv҄[A!$af[Z}#E[:q(6j2MNm6ڞw#P+jH.Hbj)e-n( I5JM)Dui {O )~rE8@o+?b%LΣ3 ٨TCDO!?4)DmsSm{S͓ԛWy?64 i0>GN`]cKSJ ڮIvuNTwͅ+!MVHf"!ӈ>w@ A[ i9VxWqnYam4I`_F~ޯR*>o8mI;} 4 RQY@WiXqZ51? =RM;{bg(8q9+w-AV'c"d6ó^J;{sr)SK oxC&"8w_GI"S$8Bwr hCU oz&r,jTo3H'IbHcr5f;_ mh`jswP|Jg-㆙rNP,Ut@n[O+^{ָ\iGq_j0s˾R*j2ԝa}<4TeP-ʐ hPSJTޫ9D =8CWܵ >N |>4s"ݝ0P~qI,\7m% iYB  ggfmb{iPKFa%Ii|J)EMef)!;d;+HF~ʎ{Ê)G-d8K.z+ ^lh.ŇgwIN%<*M EvHCl4cq(";GېN&d @u72n::Nl*)sdTltkrMϜ- +'z ˜- ˛I*ʳah5\=yѭ1{8 iF" Go^nt60oLkK~[ G }SiXvz-<7͔qY&髥nxI:~T979zgE(1+W0IdsyH`BjSF7:٠&\L l[*NWM)ߢWlSN78P>[j{̒SeɗQ6$.B_X2_gh?rrWPj4؞p z/Kt?v]kv3+?NdLѡLM3[zdbC?m*!xI)4J(-9xEPPfme Xb4o' P٭ v[!+>Z9XqQni6{80M0z+3ˀTLk$;{!W+F<$QXy )E㝚L&jmvO`HvB)B '-än>>م :FA،P:uv0Ywsڡ5Y`%K7,QJKc }^~@ͭ NW%>L_yKwnCUYgMhۭJfP\ӯC38hci[D5> ak~ǧ~wޑc"c:da#_$#>&?w.2jщ½tNi?*jAUJYp~!%>?Vt;2ɺ.3Tw/mxrx6{,B! nK"UI`8\ll)9o]TR?~;tZe5,SjS^lFVBʣ|ܝevْ440ߨ5{PU{jݪƘ6E@{I^j͊L4LL1N_Ear.|:)KR+RG u4*Ac K`I*aҰFTVR/ە|D2'\"s?rQY r Rb}>x뎼;7,c}0Iu)fT͊xuHj7H놬CgϝN%:]J˖tmWRۛ6jI:4~WxT?&I#r$G{-+8Cᔓ0grg=6ش'C:KZbs}%<2RM;bl]^8s R<A4BL|:'aln;]L<^"zqbA=oH3( @&#ќުV#kT 4 E{KqRtV`p7{jpw?'[yVV=4e5X2xpSzGrHb@dd|7zxB`ʲ9.Ѹj ei9,#}6Yd:mSi磎ӨM}AGx(^5$~~NJ|?8B)\kgxZa7J)Eng~`Qqp.+CNJiJZn:cTa؂SbL6kTctJA2 ?ѽ"43wԗm/z4i ̘FY{P*.;#YomyY[s$y}B yksZ дl8ixyY+Y+ MB|BJ.4%=6}G@Zx*reO܋OR"#7@6'6r#}A nD$`kQhu`s~&LMJEVsEDܰ`"#(HFJ^>F/1c%4γ^q)! 4 o2"!f ^S:OvqR5We\sd.m$2IPJls>d{5rH>RajoBzFfjrp%tw.՚EL&ԥR՗^]g|?׶LL|ZwCLgX^ߏn@.5̖wf}F@TWsBOAC-sۂ-"##[oh}z4>@KS{_f'O*e-Y%gj< ëZfnUU)F0vp]b}݂?bi&xch6>ftTǴ*-n'C S° ەip]'*Y~qw4|0ߎbl`F۝xoeį;>m'|(|[zMߢUF]bBTu9RJtdRɘ+HmKn Dvh6AS&( GPME8W7Ӝ "WQ9Pb)$ǖ&Qd'f92Ԓ|ådFaW&%~`a+O2t3ҝB V*ѓ`;9% g1ŘS[0xkI_0 $5 d5{:3nC:|s7]l5 ƿpyw9:r>AofG[$vv-mShYn^3Z{:h vfrTFBԄ7DfFl/nIv#\L"=g=5Oy s? UaU(5p­Xч{''qumہqqu_ºM^е,75Zl"฽.6ih!8g$]zx6۷M"5ϑLnlL1IKd; I t7v=٘FXMj:(}>̮teTb'\߹ قf\?Z;DŽڎW +JM[E<ܓzc A󆦍5v)KX Jȫtz"ь9;ݝ[.@ͦ"2fH~[9l[9iO35YE4#~v.n'0ꅥ뛙ZZ,d1Bknb-е~֦4#gnTFuB'=y5Ssr0& .3 WH'ߋwx_}. ]'z58L>Qt6Z,, 2TE;"2fɻ7jz\z}!3ޠv9Iq.N5 _&Ӷ$oRȤDUw.Oj@u> ^Onl0o D8S(cჀ'f(9@kP'ob8po:}fL}ivl}V&v$EVvЈqƋ6!k3ht$*Iv?L# F-E&bD?/lJ$z3nhtߛĉ~Bn%vrKkXzYꦻzvuG@y EF`ZR8@8w]zFu#!|}qZD5DPkqP_\t-{DRɑ|l+%cؠpi{"%R?ߢE: &Ҍ5!*NVӫX`=Qz\t/x}u1Cwp*^0w'umcDm&%eIfA5¹$FV90U;U Ϣ 8Bը%M5Og&ut1qȀrV+:x(SXV^z|f}I~ai޲KUf}@ZMx찤 ͙3] 2'#43hw6s,}R^GQO݌v[MZи:>5VZx)f*qLsά SvΠHr8~<no'ӖF곟 N l;GWc?\}" `㰨0FqxDЂd\uY2}042^*Ճh& ɝ?UTsVt8vȐ!Uݡ RFnvb͌jHw]?%@}&}kZv5ʹ=#A 2cNB@l3d ̹I7fWS$5Ot׿9 8LEPnrgh軵v%NW!r$aq ƀ{`+#Ɍ6r2+$N:xmJ+I0926äA/@ cymnGȳ#) ޮ)vzFv8IJ[+DvFl(d&zm$Zo=5(B6k*3+ɨpl|U ;V]; uYzTl^t0i_hQ7TjTzv(fEb]n!" TDuf"2SFꌪer*}U6qP8׻.Slҍ%S(& 2QQwy cCj*='m^,Q oA"L? 6e5:Lb/ЎR?|Us_ɷ6 Yx$1)5' gӃm_9gz/2uWLę GpD::&21"HFƼQ͕=Fk)ڸ.x;-16Ė݆m CJw0׽ۓ̎l%f]@Aђ+QfHtr; c_N鮓JQlQt ͳ-?w_HRS\ {EHE*vn G4*ӢKLMeV |5vƖ ?-/8&]D{fLz sLL-! -ڝGfL*͛Pΰ::9`t)WotQr@F[8fO+M2C5тwLxR89:\6ݡpxߑՕQ}RM ZF6#'Hn02  (*nfqmI I}~RӇLJ0Gkhur8į,moqa=n]9_210@7D ']SmB'C͍JZ>Doi.Q4s2e1Jd).PNd2ߍhCw'|mmg~]_äѨ Ƨee-K)iqRuOG}IQzC/p&Bhi֎6>lB~hWJKQܩqXj}P ڪ?O6]ծWzUٮ(pി⸨/(C'Uٮ89OТhxCp,x)K=a2k5'l.kK2{#|TkIkA^:ٔtK{e3ôn7wc*!} ڸO"|>;# ȧ4 F5& hQu٧3F+muI&MAqك_1<+`Pq4/Y(Դ]`'HPҬ AѢ, يʓ/]4 <1cX%拋J[R1.Н]ff`\k}V_؛'OV*ijLG"S$"x r]zg5o8Ŏ/CrSמW~3ًү;?bAsPG9I()V{vW`n$޵BeG$V_$yY!zTM6hI4B@_95g+- ^r"ƚxe Iט.޸GAyt|Xo㻏o V5:dw@Ѕl,'v bȲ6LRO3b,wJx/;å 9Z\I<0 R]oj+wKr+V %G .5WV9/Fs;[y6YxJjCp~X,˜%KSJY*xjnE70 Saql 8f5-hCHKiM[7b玗!!b&drfz%X)1GWdג\ɤn|hYc2d'J|t|N(;GRdžN6-^=B#yW7YbόV󩖏9 痽 7R8j]~~h4e"}欌+{d1oclbI:xŦt#_rPl3kYx1~qKZ[)p~GwzttCڙM1b׷l+ގgY&k \T/ =[?@+AhG2ݭ3SԳF3V+ KeęB)^@2XY0R;#5\a.XapM7.݅K?d%#G~JLZ^&" )d )#|Rn=PhgVӏ/FktOi鬀вtE@S ]C'"q0a,jSiL %xNwFq )c hgrHR/h9H'섨ZH6,WZunR|e<8by4L|xR[8gFANϑwп.}jU.wm5KWݽZI }r!7Vzh^+pTVTK  J| ;d-ۉJƙ\:SQE% Պ(,KR\ `P|!d4XNڵ2OQ ?J~"{Rq+TJ.3)wwK2JVUdGM'n|ƞ";;ԅx9GYμsm\$ʰ:llWTdUBӪjMF^ ^] Cg{>jJ>WEyҠf7QN'OdKGz,PgIZϽ,_`d uOԲ,A,ǃjH(۠S\[8w#]?^ܝk!(F;$æ,Wvc2^C>̝6pXm5 X0|v8HEi)Ώ J E ?R>U>Tnc~5CvvKC֧'w9Ha;8{zAH3@󓽥y db3,}woJL$O{P*51=5r#RmooZ_m3!kq=Mú{7Нqo V@Df%ks%>'9!|vf!P`zhRc/VPW_{S0i Qm<! sdOF{(]þ ϕa[i6ȷn2ZR& @pAZLFQ}!CBH_{~I'>Ю@_z#+-S ɮAnyڥzwK[{.?wܥM"-5tCe0PN}vk 0+ m [~@7/iBk\[-l3t!ҋZ;E-l Ѯ4s;K7I^oߴS)xq5B$ܷU1 ]L LB18hٶb4p-_Y+Cw Tsgv Q~ cs%nt4,uY-P*i¢9"MBVEHrO \92{2FR܁i~P6iؑ*AܫPG mb۫*C 1nɩ_I֏g[:iG6攁}ߒ gdG6 ײ;=+he8vTCXkFJ}6u 9.V^jdh4HDYA2ϕxlxbnsV+B s T#Y ٍ$ *ʋ_CA`ݻQ^ &ӿ) Ldb= T TT^¨wnѩhߠűk̑O ػB:nloqLFA/,ԨU> 鰩ϔ}||Ta>N=JZZSG*' ydiwLΈp T4 2&YNN-BT9-odj{7RQ`e,F b=GS F<,.m`hg`7w'2//&M:C+!b|87!SqswlZ;d؅#O]|{ D~cNwoZ$$4@C\rt!0Gwj}UtjNK+8S]8 >$8+ZF/;dJQOɰOnIs3W9N[Xdgwg/NbC{PKNApW 1FCz͉OY?PYb1a$ґӊf軜so8Gp-h {%y =+4yLJ,}ֽeV{Wj~ϐWA)ś~|+F^?TlJG]tl6*Xx/79{):u&ilRƒ$9IbJV>9u[{ G_ȚwINFvae:K:ɶ2&^3ᾲ3xդ}v֎brTO(~ɽOQM>[7n7oh@ɳ}O vއ>ժ] S?:^`BߓN}Eׇ:-7fѫv{DFUZfLZA}cX/jO S8,\/ՏG c\dy;>={vT/d'&gO=4+* )//F?AF#:g' LWNFrC߫zĶ]zAuh\dxLHץ=\P4\X=o渓wLٓtN>mW9}E& Ti: {Ʀ3I­o8FXfSC$i CihpEU5sEVfATF J%lR`eRڒaKTR(snncq Ȟnht+=u0&Z\~} )K-/`dDᠻ#7jzõ[׎/[k_X+/u&wwd{xg,Dn+~|or[80}#2 5oY]bJ+૏>}!uB!W̗ʽ x<[ud5&m1a{jH(uHFWgfCt]{` Ǩ:Q|(cYR ?tI3ɤ݆FޏlN4aF#7]fɢKz$$T@J'/:mWBKN(QQ1$yyGdL^_r$wS.Cr*rk^pOVl2+'}ALHC&a.Eyβjؓps\WN:d5-^؝5{.\FQ2f6U3pFe^LAs .vi|qh೼SQpUX;ɑի?Z9|E6Vy \yEɢ!Gzxc꺇'[`Y%]v$. CYq(!vv+L^vvI`AA1{z $XtwS$7|,sXzG͂cǙ}Z1/sW% ywSg]y}H19A6pƿjNLzxuZ6Mr{V䔆5H>#bhR>]C?.5$nv>~N~MZ^ViT ^@ݝBI. (Ut Dj$OTkr<̌5 uif]1i+؋b+3˛]O|?A$]֎dxM>N!br 0*+j-e}7DfdP.޵ȝxU.\gu\޾}\'H ].71z& xrdg1!6$TR;>h#( ĸys7ByRlɼ5rЩa]]rFÝB%B{;@DYg dV\YCRőjey86zg4 vX3xדki~Crr7-ɷ:,k-6 ")ྻq[ |kw-&K輍$C]vCf fhiNJW>pqTEڒȵ\20޹`l9ف e˺@ЍO=iĶWuԪ oM\C{*?\ e9bJi"JD$_D]͘f&prs*g}P@o2Lm2zon|@}`A*Z\ԍM:%[HV1=t7RY|u/tw/r357. ͔/j2]fQ&.*;D#G=;f!<?8̀g񁧨051Ϊ;!ORWA ֆO+;* 3St8v*bWAz:+(3ufNG遡6nzL.&f; '̑f`~DHJIr  VͨJKjkz,H%yT:r,'t8sy2e tXpY-cO`QŰ1λ$p '.)$Y\ek0;.l0LQ* nM8Bp?gMB`h:o@D4;  Iڥ @7V\?y*!G _c{)XVV{ݸ(E𕌟Wi؜v-a-Pc  >2(mx;6`!H*y2JK%g'[G#\?s#S#,\GvaH2E(r:8:^ʬX4LC$ Q 9S>"99!ئXhҍ ޡ5_xkW<!zN.pKo4,G޸zO5 [-E6dg'T8CFdt{mud/\q9& 2 ^ZX?W 8nz)'4cBH|H,S1@E`Um^e:A8ATDFЅ )>;VE !rK3tШx̘!2}E={{6[[?rOI| eEQB1pR,Fl˥DφqqFORȴ.V$^k7$:t![-ep LzOHVw[Ui6l45\ʽ*PEA3ڢj9Tt8 (}Ti5saK(p4ͥ ӢᓜJRT ]ZE)%~r|˳3pn4|Tg-&ssCۓ`qPx+}\:9F})NgV6$+i5<{6ƫDvL:۩4oZB#hI9)аV)i|$54{'#5Oj7r]MDt-ƣ$YzC5ŒS+ZTknQdH.E'ZjjXECg ˣ*q{1)18/Y`M0M$CdU)o:N4i؆Y ]V3yQn(UJ#7jtUՃOry2x],+Vj6ōzSw^eA]!O'md?羍0+ RH^$ M(~=g2{gTi02]Úz xb5٫IQ:Iĵ#bC89!"{k} H 9شk{NЂ{ CNeR(ǘ?vcDIGG:;ӎ]Ih(7 sJ_NТ2^~M 'Ͷ[ I*F}f7tiFJt8=|mb[{VKX:ٕ rbIȁHiШ/u5qԺ=@Nr=P:D-[Dgz]o!wc9?uCa6b`NɞYJOl!] >]EWV̆%0dRAMPXaܕͬErSy}GwIn?1% )ql7VTFej@$NVLFMJp)Q,vZL:bL{)nml2[Эf͟ ˥M0A82'3.GQc[d_壍v}'t.pW_ gN&1ެF0UFj//}ZOt [aN&#.4I}2[,$Y˙ :_VR{ox9ӫEAArD赲;c[49bVs iS*oO|lȳVfM-zMZ 4 5H~rPQaO SDlZ!M0Jl0E4AAn_30ChQ;T] jVVj߾}S~Z֨nqM\Rm"/cr֥aJw;Jc,c:4|AyKԍä/`;Htt0}qgVFVz"6Hs9&UuB|X}]%sy6kCj7MNf5ޘ c䮶jjZ #ϻ%pY272Y5=V ߺZNz}$YOH`i[. 7)ċ>_*] BҺFV }25Fuh7!yi"KldJM/I UCg{~طL^ ܘoL#T ܂rOJո )P?:OBOյN%xl Φ۷zyfVPefJ3yi#0 ɮҰ9h4GW=t߆/|+F?Mڭs<%f~m B+gp;u\p ್}i>ymNZEuzF['1$ {l4P8%3+] ,^.&8bLsO{#_@[ḻ>hp[PC5j䠇kD %-,!\ d>[v>KGų_ӦԳ]!;gXn[[Yf_7sr8ɂ,,Cny%)zj8 Wttflض5iɵjV՜A"\ҿ=`էW.d,<2=?\!%[vzr싎cִV[,46duʳ,n&o'eu'$x;{\F~)qGҊvePȥE4ltmHzgjX+LhasV?ǡݛu2F=i<1yJ^d1z3oADHnpkGBqt@CAZBVjnՕﯖK݆цg Kuia{Sb3iMJxO+ $%e+M{18dH$j*Ѻ* ?lwA_Y)@]ܵ#Oސe;*]qv5=s@N"O5C^'BcLGBKPY\n&2]P;</MK9LK3iAzQ@)w]荠?)MJ h)w6_KL*Zҗ( @ۋ ˢJIg{kdnߍ4BZE#Hy@aEyr {[fh!D4![aEZ6eU׈ yެo, ILP-|=WOTr?A!Us} [9?kđۣ-ޏX4/Jns<8 f;9 jv[S{0'3jɥ7P.DX &ujϻ? I2C)c,[Zaz7#ObJ~ PL1"wq,W[f>d?'(W U/]f!4]ۀh*ZtVh_8<[Z2/ƭrlrC]'(sd]'wlPW2$œ6H%-j~}V&Izd]i>Ү[{:`t+ zeuʆ!r;<~Kա]$- 5=;>U|$oo jsrW䕅һOw==CnrC+ m;d40=f'0b֪U!엿Sd 1qK@XQH'hc릝}[{7LR?-'M~]+PbQax_)8jtZGw+V"GWg$o`4C3f~}.Df=7 #ܧL6/vU$QŮstVPI7pX!#I#4u68w1W.+M*nC|#kYJ] S7s7Ejr_t>A+?kʢZUž5\ZFj^.N)ߺ Nm/w/&;r\oj\'Ũ(D[OG5? GYvr??dn/]x!1vBMXrxڕ6A1aι fl_.'ѷFy\xAE< \zEfdc{҉|r6Ǝ.#W CaɊKv="_@34HP"kt٦P)SM$?KyOW٢9.\O:iL˜!RP!ds#?X ߆X1 ΞE)@>O6D%.."2k9q.Qo)f[dLG2|\\ 6/E?)aMMSCp !oA@  &.IX|0K΃XȖ@eDi{P8P. tj4490'|_Uhn_thYD^%.y\>4EBAPJI|k]db ElSS 3SAu1{ӉD4}9&S4f{PWp .gPYrErӁqW:!ء1I>CRd[ Ϸd1 )I!K殳.&ӛdl5- \OkK\Ƣ%ZW+ ͥheAIc@E`v3勚ke YRa k]>C 49䥳Ͻ"34=eMSuOucʑ{䀾v(W̱3Z䨕MI.1(f^y>H.u\ CJۈ;7lBWMi(2]C͹ 4"6GL{t /ghN2CS]5sjr_>b4"!I|':PAjRFR`<ȺHX2OrZ:Њp418Bo0@+%&wJg|CO\@O3VJ;mRxg9.FO+>7& t`r~Yu4"3B/A=se2񼳱\]f7ȂI"e$A|K@Yz`y'rוjY6,WmZs;`$=fFA7"dk6"9-&, .oDLd&lKTS`.|z9 HOA<츀ؖN9H!]'wK 2^9G;};xCߋly1qX|r6ǰEJ+ )Fjzpr|[zsj%[ 5\ExMq^Mc6 ' .s1tgrlT"L49<"!cGn9鄙du vЄ;y&`>UՊ{<^Mity?:^Լ-ap%}X86k Cw?f.㘵 EpFKK= 'e2ح4mhL4 %j(E΃ǤwDt`Q&rǬe<+ى8^CMbI-OVhf>\Gc3&`mއQmu \)HUip-%g&iR(hɗ@5D0L}fNwvYHr? yJfɄ/7q=9Ml0E\xg?ZAĒ]p=V6: 6GIHPcWsT Vca5Zz tM[}|=dDgAjӑɄt,RBb'a`z@3.,Hu3I}HPkYY+I0NE>y3.ϖXaCn>?O~)t%a< b7H煭1)0bJc*qm `w"'vVtXJWzMC~iEHWǃh7&z~qaQX0 \!S\ gvX4ȃ@o!6ӊ 2OgAhC(K|r|s%ZY]iU>ʐ-ur;SWT5Z\SqaB>nH9( +z$ B翙%/N#Ɠ^=FIS_0W(Oxj٫v~2?nJ^NShϭ' Zbs zxbQE>ġp'B*ƮVgY.Րxx"C=֛ [{[NQJlNj=w*8І=س2r`84ie=h;X`Uꇩ.AzĉڡUBWR4ͫ?NU `= uQFE ˿Տ6C"?a894iA(.SI)_jH$_Uya+ʧ `q(&YYs"^ϖZtfZ̧ЊNL!ƢGK^!uB XSh.d kFU0[6ô5/o;,(%RV>WSgX@T tɳCe>ldzQ(ӗsoqЊTo{ЎMݨn#PV9ܗysqY+̘KMܾW=zѬ=TA\ՃL<֐i% _}Z*7"FEeI?'M6jE?`\ב*d鲾r$&RZ0!}?+`q{[5;lON-]X#{@bZ8 UT__+~)E`_Z:EGigF8m4E]}~E5TZ:t.ُ{t<tTNEUVP n{5b%[3*>0GT }(E7o[z?L5s Կ*:B&_Ff<D` 5ZׂLXmLD(i_CYG?CkLnjTteUӖj9ƈFcdzQ<8rZ<0|%鈙hQkèӲ{׹pN5x* A+r/7ҥckC쵧j< XkEj<N Fց|W-^y8+ԄΓŪ{C.`V ?%q[/ŰvR3g tɳl'mnEjAQGkxz<{~.*]mJÓm`&x$/`5a;[mcsf\bPJ'ʘrı4r]47^9yE2KtUaήvd*ȯgF%pەlUo;Anyf':rk%Bmթ7b'Q,7 fU{-[Ο`5Tnrƕ%ϗ3&ؓf1D%#̯Vm">!o~(h.gO|Km>S#<sNC;_Bz΂9-0,\ S="J1PR8mX7 7! jkO,W%{-r<rXŐ]19 {3A[yUä"VWjyFyR0Tq;`QWKN-SLM?dѹc Lr zn-1mT&/s!d.5 qgTj.fTYǀ |:9BAw%#kܺG\/0^ v *MwHYڪ̵B61/NV8 5 o%T9to>L¥eIRG1$"Y(nOA|/^Nd~s>pDk: /{m +1f6}=-< :TY[v(xaS7.e-h;:2=;,-MG>syױlQnYeDEהSsٜh@3-=ɐ1w<$rx_3 ބgGeaxݫSiij="LP/X s*VviM#F}Jr0Ŝf`+>;$#DaH#:ئӈ]򅪐 lw ׂNTbE/ %*id=0} =T@x?H7/QT!Η)CP^e|w_\YkziG&" Q$r/4ԓ_է2)fՁMZA:B CQ7UR06D)KbF'kwڼHc)1pcʺ1I|˲mq,'9jxRۦ==0;)'7 "]%UhlrxTZH fPsotz7@'j/iȢEeV!kcuX!'dxKHp4. ʭVrf=|3>B!͈֯w#;\16;{zf|.٠aa$;A'6n8kZc;?MU%gI:7,4#1,%bvZ,/ :sG "t S#H؆,),HhqR㙀.agyOo'VՉ߳g{'*~SjqOge z07l9dg"^^=쌋ܡ27P~ϯS]CZ!I\^α9DI<R'0ed<čH}ڲ>0*yl c/28Cs0I%hZ՘gllAbDL@0yW,tc`XZîÑS|QBYYHQxt9=Wݮe G7M&~Q=,aF_#~Z FdP]`>j@+oe2y,;O[?TP^2&!ot@0d>,@o gӶVbJktayùT:u/6Qg4W{[i@.KtU?Y2Mpy$؛{{. 0iF挻,}Ǝ^Xa>?T>W'ŏ3?6ہtE`^ty[]*ĸ S~t3c ̊Ht||wͣч7> koU)ngYz>a2>TVKU{MWL `kb<8 ˅z m!&.%<,q]I7 F '%68vX=4Hj'!'}G 8a7AדGԶEK[+BkI\aP䐖9>%6t}6[a|Nf'|VBZ8,e-:VQؑ$ԫ뵢ΑIayhTtźÛNt5Q_H`ln;!ʵט+;r&A’H&%8NZIud":M.mVyK>gl;մZqc{~MYk?Qy֟ jh<zG^׿~,21qû> _S4<1?IЫsjNӞ9Cžh.[3y8r%;{8g_hrUle.yϩxpZ@&ĵ''((Gm\rC8?섕XPfnZȵ؞<9KY&LH֭59"+~SYcm$MgOx3A;ݟeV}Di o)^H>X{VR*_K޳^A/}^&8aMC9-U2qz1ӵMEa[/k>jIjjp>0:{L&`<Wxq)sf~Do*DÀYA:T)q~@ÎԏZipV7ϟؿ^Y Q~Xvf?3竈Fn@7Jr3Z?J֥Yeb-Gva+8S0Ũ벍+o=XϽhs+n7'nn66#Gx|/d켒x(z< iwUߒ, !\?ظ0yôCW>ˮf6g+1Vq$}8^40ZءٙPDݨl3LCjfc,6j}كLÅ$:X3x.!Q_b1f `z~Xyo_eimx?<ƣcpnoh{[̓{Vr.n9Eg87G7P %1(s -١fq'P;Ebנ Zy ӟTݏBMKOP\C"aȓHec>zOaʪ JeKUBWmC{hGଳ~;qMlWKwd~>hϽF~6&ړ1nJ*@J%~kUpZ8"!Ks|>m:덡 ldHpBb"7{A27 SVQſg D/Mf`R8 $<6Xo=N<#k' VUi&30+G7̧`M1W|jLJc|F5s* J[RUC>H.N-l`茾`r~^⚑(Kn0:$$mQ; 8b\nE4XV3Т}P6v||p`_c-nAp IkfPrcpeo ""K=d gӓDFD',f#"AaJ_jThbڧ6 R uqW 4hىϣΨd4&W7˓R sfaJ5(b=v_r\_3!SDDb\~A)pf/Jp;W6ku8v}h ,rB"Z%D!K.X[60vbٍ wcѼET_Sqk ca0erq[(9Q Ep?9\^E >#ճ@OmbJc_>rCVnkf aRsJD! yȱ=Z6 BPjXo>k |$KȊ,6G8mW1Bb x?M`Aq.k#3ė G5 /e9jb6 -o诏IP! +ǚt6vx$,x'^]yӧ5{^1|,ϖyrj6-~0F N4wBT @b}̄-̞:`Ad+$#Heq1 ZPg 4 [8 ZaA]U 4݃m,kռ Pu W+_DE}+'K7%u`HÉcBNCvBP#=Y;ywT/s FqKUg5RLw~d^+uUA1r)R!a^$X'jrֹ! \Z Np?ǣBQG^6Sտs_kܿnjL=ui,¼۱\&f(@Ă:p{+^f bQOm2%HUܷ+sŋx)3o[x:%&W:W츠ߗ4vU0o۸a7V'?Oc<t qe8(Cpת48ju |g{pi| &#S5]4߹͒_%GW`Af=^X $ˑ 5_H< lX$GCUW12a>Q[`DA o1$oyaӐYvC]V3smX&еhN Y{Z>4Ax5 n2yaHu'M zvr:ܡ/!!{r|FUOkC>lUy7>ۘkOߏ9((^!E ҁKWB!r%}] .dlFЇV^ ? H,6Kd]x;kUPIsDν@r)K4 djw *7w2j8D{^Q*`n jF|6:oʢ o#q逓͔F k"1xY R"iwtN9k`\Ya +Y8 $h< Զ=ofd]lJ7fCWE!8{7B4^]wAZQة+2W+6V֘]eūѾqW [xʣ#hpOQ|[m> %za5,KrUZzWN}<AuVuf{Vo8EIT9D cՀp_R,3]Υ'oK~.-EWE,&lؓo/O/@lƦy齺'~B7gf GJ(p@Ec3۰N3EЗؽ GО~^ɮ^Rw@% _lLZ+9]e+jY Oܿ"pA۸lV(O,V/8ΦJ$N9>=5DSu_ë܅V3BG:G-$;0 g΂YdD- gQ~3K즻pmwݔ6\M 'r5?_qf~