summaryrefslogtreecommitdiff
path: root/scripts/Kbuild.include
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-01-30 10:04:27 +0100
committerSam Ravnborg <sam@mars.ravnborg.org>2006-02-19 09:51:21 +0100
commit6176aa9ae4b83e1957d3031774f8a8e59ff97420 (patch)
tree7b44789ab8d87f721c5d9fcd10a9a5cb0e5d65d1 /scripts/Kbuild.include
parent20a468b51325b3636785a8ca0047ae514b39cbd5 (diff)
downloadlinux-6176aa9ae4b83e1957d3031774f8a8e59ff97420.tar.gz
linux-6176aa9ae4b83e1957d3031774f8a8e59ff97420.tar.bz2
linux-6176aa9ae4b83e1957d3031774f8a8e59ff97420.zip
kbuild: consolidate command line escaping
While the recent change to also escape # symbols when storing C-file compilation command lines was helpful, it should be in effect for all command lines, as much as the dollar escaping should be in effect for C-source compilation commands. Additionally, for better readability and maintenance, consolidating all the escaping (single quotes, dollars, and now sharps) was also desirable. Signed-Off-By: Jan Beulich <jbeulich@novell.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/Kbuild.include')
-rw-r--r--scripts/Kbuild.include15
1 files changed, 7 insertions, 8 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 92ce94b58bd6..3e7e0b278b96 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -88,8 +88,7 @@ cc-ifversion = $(shell if [ $(call cc-version, $(CC)) $(1) $(2) ]; then \
build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
# If quiet is set, only print short version of command
-cmd = @$(if $($(quiet)cmd_$(1)),\
- echo ' $(call escsq,$($(quiet)cmd_$(1)))' &&) $(cmd_$(1))
+cmd = @$(echo-cmd) $(cmd_$(1))
# Add $(obj)/ for paths that is not absolute
objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o)))
@@ -112,24 +111,24 @@ endif
echo-cmd = $(if $($(quiet)cmd_$(1)), \
echo ' $(call escsq,$($(quiet)cmd_$(1)))';)
+make-cmd = $(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1)))))
+
# function to only execute the passed command if necessary
# >'< substitution is for echo to work, >$< substitution to preserve $ when reloading .cmd file
# note: when using inline perl scripts [perl -e '...$$t=1;...'] in $(cmd_xxx) double $$ your perl vars
#
if_changed = $(if $(strip $? $(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
@set -e; \
- $(echo-cmd) \
- $(cmd_$(1)); \
- echo 'cmd_$@ := $(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).cmd)
+ $(echo-cmd) $(cmd_$(1)); \
+ echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd)
# execute the command and also postprocess generated .d dependencies
# file
if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\
$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
@set -e; \
- $(echo-cmd) \
- $(cmd_$(1)); \
- scripts/basic/fixdep $(depfile) $@ '$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))' > $(@D)/.$(@F).tmp; \
+ $(echo-cmd) $(cmd_$(1)); \
+ scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \
rm -f $(depfile); \
mv -f $(@D)/.$(@F).tmp $(@D)/.$(@F).cmd)
oX2Tmz 5hQC<̜ZϠե};]d8ZW#eBĕqChZy2+G<'ɯ\՞;l?ऱKN K89(j%P(8{!̵vJ_o2]mæMF?TDwA^;\f`_E^fL BOhM(CW_ >ۿ8ԥQd`-&@{N7F>(`IED9E J#EQ9<8b.xgrMP(X*z 1py8x$&=uuZ#J$w ~9Tk4۫&v#SSPïìxΓMPFb+F9h9;5)eܹh\$ j6M Jt"vD:mt :HrM$Ox y G|x!YkwxvPsuX2{;mȩϖfը;{N;ۘ XRuUR)M^п$)½B̝7nkAE ƪR*DgL굠 Iuj%tKҹl.7_do6I1YUMui87Lf#elu:VA;$=\e]]gn8 ߍhmG R!ϼqo4i>.c^?fGLfIl͛FSy!>cFb(윮Nc6%gMW->1zۉ@.ISFVمGk֋s7R)#K.-_qYlI@$q<{$Sټ1*GuXp"{pG~(9 ::frGW $+T=h64t#bi]_;PTU7G5L^HuX %;;Hy`"8<';h4]ѫk[ݥŸt37ݐ L߾.kr4D|׈#p_v=0yvq94i*K( F2C=6ɂwZSUM23j{먱/E_6;-[.Ⱥp8cjB|yfaV^#[m&"g~HS#qZ$hV5ҭ߂W'DOBcҠќŀݼڍ UdI[Á|m,(ąd_95'My ytu;fi_'EzPo0_vYFjO8@C&cAqtc."Ppn$3/c/@^UJ(0vXvKhLű͜{T"CyC<%֜'7s)<sm[ MЋ~ɔf^[fK{"I/H՗[*f,fd؛M8d"|r9z֩2Mkr|z:ǧR.WjM֨|) f^9,"[/}-ڛjVi5>4N =ylX,MWԡWC)^ڃ/R-eL?m4'-'AFPP̺=$a\O@+Fժa.}a+ ?uAuZX{26{.z]|7; H@[l-[ MIw.{{dy~8w34XwYs)0:cİ.Z/8"#g䆶0Fώ-YzgƁd݃6&%QYfySqA\gΆUy6kd?!'Taݲr 3Z7_/fH<Dɮ_r n=$uC۾v-X9oB1$)%gwASͦln#5ҭt ]τPm//q]MЌj4[es4 d47G5=6F1_z5J wI*k#.N0+,^ל.P?1E­ !Xtw8?D[@lVW*2&CtA셆jU#PG+^sV;tU~dĞk̝IRgߋ~Wտ[Jocdu~eC@Ndm8{phkP}!u$ǴGg2zƣ,Xd]?js\"I!|R&,R" ,{;L{_zfwO_0{ 84h6 -JFjn!xuZ;^ҹ8C:f1E-PrKF lpp%xfR΂(LkFBY/ghHKwd+gt5p]`m/QȠ\W4eK9CWϼ+WnH2P[yr% lrKqNq5qSztQ6A=Q-W*zo $DhI nJ8T/5J$pnNjDcuVLљYcRLtN))ٸ^evKx?܎0yP >ѼWwOL)řt%HϬGam*JũU!GxT h4Tc)ծ^p9 +˘3@'!v81  Z̾ ܵqy\#uEv|?>F~pJBJ+hɏ^V1f5+@TBF$ KKkI@fFH54@|FBeC6KNoy4˘)n(ض")3 lwױ@P[@"}=o|f<8ݝN Clg&'{gwD-||&w~ߑ^4Kd"#if$i.UC uϢ9 )3/F-dHd~uajTUIvxň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~ y$ ++|"L*XkǛ%;R;` ?Ձ) `?r@p~wap&҃WhD&ݽIta}nL== mz,. ӆ6=Hr%5JݪW P0FhO|VT<,6a 92=厺;<-ԟ*dwl<ŧikιi͢92Q=أ7ΒoML֮UU^T[i3wVMk g(ylp(A+ W4tc1f#M$ʭ\i@ӳZgM4+T6%( .A7qik/|cop0 TJR+@钃yvCUWcg$Y`Zqg3L-Iyކ$d.W|䉞6Yx0/Bu;K'rר @$8/dRlX}# hW1S/^m^ +Ra_-(.ɶU F1>Z*[ۑjVit], gKYh9}8aTʓrd[L eaӂNwn;eP{:ATƠXU6cժUHRvZU5P8%Cg3>@ ^+Gb[CFdqRH9k)70'ZIn 2aB|-9_X;F3N]Qm~`IR:A7޹oh 9­fg7}|Ʉ^D>Q _CaiE]KܩN/ us"'A8?5?(\4aяt5׬91T8,_/}%47r2މ?Jx2c)MަȓK]SUASUPV!v2 zdPߐ^k '-:)qR-Џ2S}[sc/ω]:~]\-gYT)21x<:٦ )~n7VX c?&qrU]#OP AzaDڙ|X,3RvoA7.J>YK5y 2@#tXTTm{'1@`wƛ]$ O撼/3XǮaIٰQIHgW@19R~&_˃#5v7>(6bVR4z0DͮIDBc/3k!y{Kׇw WC~q hzb9-#sHd_ާ1J6t'i VkH!%gݏtCL}y@OKFfqϮ%:\ew7}bhrcP|fwYOZIFu5nAPF[TTPxYYI2 uv+sfi[KG$[PNW 5"+[5^>|жTUE:oD3%FRԳOmD cmRzQPsZzrnJ&ThGx{IbQIY.B/ԛ9L!bOU*cO ܷt6 +.rxiwXO.\KZfA񋻵d39TyWJwy* $ӈ~k/K;+rypMS`/H޵TD ▀%FJϕ[moӳxVOaځ}O#"bYtk=xGP|+䁥zH?+U4Ϳ("t"_Xg,%ٕ^Y5O7ŐR&sLb ;W/^ė/sͽ`wZfz(kW0A;mZA&_t?=\ՠd};{ywݕG))E%;Lʈm#94]uB9O$լ6+[/Tw'l3q3`#/F {yhZl;pէodgYʇ2:m]X6ϘU{sc"wM"j4V]+7+>~9%H !.N4 ^% iN:A7Y $|1r2r/60`|:f49, ē"[F%; MAn$8p{tӔ_#:ݙq]bPE·+IPArC$: 0 !x w=?q8,4 =2š`/a ]c}߸e_fCMسÍYAa ߗ|;YUw],09٧o|'tHJi*iJdl} 9\4z:^"{n7Ukղ6= !/ţ?w%$[e22Rvc,YXzS/s9(To/'O݃ܽfsᒕ1H,U׺m_ߺjC-n O}C0H-_+U~.ihOYwoF탁hۚC,6.r‰5޾^Z/7s0܎GfB' +OIc}EW36FR .}LJ[G6\ f*Ŭ<{@W یɜ<+Y/ףL*skɇuW6S$ Red/PtD8܃П]&*MÅVKM0mՊj~3ccᵳd~W_x14swKv_xf[T΢@:-"Ud7!%߃CH_Yy,(ZrK}CȮm]҇. Wkr2yaT)OkyES"tѰ?acӌ=*\nĄ}K/e ܄ZW˵>ԟy{[t[_ :% z$RI >\< t`BcS ۱iF`Unl`bU1q7ȮHe[_k;xO-{$NH%~,7Nk!#RAL,\FɤE|f .z}t%\gkjVT 4o&m+遖S[Y2* /d3\o$1#;IiI_.$ҙ4c%]@ bTMfjj8p FUhnF3<SMrbO*(P`zNu.mbR*V 45F\_vh}m'!eŀpBGvk0f=c|Qp99$lmjAl {#zATH˩U+a,IJD9GXe n_jdćȀ~Oܦ{q0[Wㄳ92Ym$]>:q5} ԷO&r9i} &DVP=瑀T ށr] ;WF$UԫI 6#JLG gSUir)ǁ-#̦0{K0 2'+c!k'N\iX6R D-:dih@&'|_sPv6{W.mуCԈK[=EM߸Q\uh,-2By֛// ehB {e.Ѫd$W oXō8l‡lR_*BfP4_rdpDf!y:$e %, /$b }w])hЗrߡ;!>Si0kWꨢo!u6jJgXW&ȗКQ"%9b]4_q 7\R+Ƥu:ӯpu;W nRf 6 do7s:{tsچ7ފVJhjW:Hk鉛b )mW4/e&0~_Uf[o$҃,vys2n6~8!蝸;h(p!U#>]~"c'f ;"s{gװidW )_2س_xj>vnYع[([Ṟ=z_/ZP=u=qvwD SVQ}?F]I{ )*O2"wTHρ;{9M5Aaޞ8&: Q'+0ꢓF)ٝưѸjV„4eP`Ih`S(kz= 7Pf%CSwY+,_cD'wǭC5*m)OPO;o $=_?3 Y2ZJ쾺k{L)#̫2H+ר窤>:jy)m~NadY Y{oMad![qO@X1`"l;䵿8 sXЭ߭E 㤾j7wpFDvNO?5iI"*, v+壍;bAwaߛ8l?D[^GMix1ÃuO zNp"{\ d/~GyS sh`i09/ĨĩM5tZ.Ws|d\bҚѫҵ|sK\؏C/H gT|F27K#3'ò(8U 1 7JYz=]m+~dlK:Lu(pCҪ'{_dMw7qNuq1#C?nƞe!SStFp5CUdQW[(M"|EÞµ(5aP8 @PLxVEwzyq0>/YS׎+a5\i<4^~6k] "mCclK5PR iaĽi@L0LȽ&dT%1-WM}M~'t?8ꖕy̯ȶug1}[YP#ni"3C81jE3j t- W(`ZOE eF*pwH w`kZZ?Fڠޯ2&V#ϫ\kV lWdVi ˴ESP8D wnDo_Zrn5Wj'(z4Vu|#moErp=6)?6_G{'T@?9 f7G9>!BȷD-\VjA#@}L,dEHa5H$Ϙ$drŴиM%̐Eof#L ,gLh!Ef6b$XKc`$vdu6 bwK_Y(o_ <#i'yEoBDJ x!g;k L1kyT7[юE&7 &)^2$l0̝|톻-}w\O> 2ҭ[w%ReZcl T]l*t` u+qbV@6? 8-M]!s+k>43-Ϣ{mxphǡ~Nc$l>r}7<6y\]=Y }'D|X$ިVCdUYM7`xaht7nGhO(cf$BjN㳮{)S̶tFuɏ -R}d&   F 4Ue2.5Lm}>NQx+璈bwb ݹo-S\{%6a4.4y?cFML1CC[dσemt`CLҸ&\&3͟k1OJsn({4%1?'q귿Q4unhag#i9xࣿ[ISRo/ɠk.iR9:**]pd7}9cvS#: x:55 FNGU੪"fToZKUkJ}uWΨU-"&~:͘ImL!E >v1@v*J02:F6" C1Z 5Q !F@ #;YQHpSdA _ꖋE}Wd:}& },G앭wZF'W#VqQ"߼ݥ]!#9PYnN0*?$ruKz$Ļ'|FYIB׀fQRC%pdjZ-&zs-L6U௹qٍރ|!)AB) 7\&-iST.aoҋj{|A=ů[-r}EGxoвuR3Uq)M+Y8Ԇ?goZ V7%'=I'c8o+`Ns |  2;E.XhZdWwDU`\+Ϸ}) r$j\x4(A~Yޖ$YGHN'5p ܆Vg]5y 33*~t)tq3ñpM,|26WX$ٔd6ó^T;{sr)SR oxiMEnqJEX{HvIqHK+pT[RYsfROr:? G? jvvڨԒd)綪 x 3U׽XA퀍kWɵ q Q#WZswԠ=2c ikX:}rz UT˪2$i8TRn)ըdaP8Õ&6wmf‡ә, a\'Hw'}<o$Df)Ow1FI7ȟFzePe E>YW$_]-?@LFa^ɻiO'\|PԤ^Va1D|rlwg_vBuowX1WfI%@oeB~ċmt@A `L?Kr 6QVٔhb(Cd+lgk@|?d"t29&;Wsgy/Qij(wDo%pfV0OŘ "Md{zkm,xm^9ѫ0lH4nIXLR\Փm. Njd/Ҁ{/m#xVFfHN_IJ]aZJcV%.Kc`7圆بw}sLeY$OsxVrE T?N19p[a6 .YfzLlx{ϧY< .%5a:Yʎ7u34-QGzt~&A zABE߻dI>,sy5&  M&S̓ [ɰ2# &;}vfLJ+U!K؆A5WlưTW^4ָ?n+p ks\WDI]4qDX_^d_+΋yteރ63%Ù$URQ}"c)]7efwN-s@7s(i{} KdoT,7f1fWxXk<-)%*KӔu jóv2ṳ&iS15)9aW|%_d}n+x<ϝUÆ&EHO3XXU\zN9 MV_7LUnBO1L.$.Eg42(u)!ĹɐOwg֓Jg׿a-% ⟅ DAv XMr× N 9!F|@Z*ʭz D7=%{^xqM0pkJmڰ[rJdx J.bo"9==6 GMXx_YGt*& 'd}h6a뙙,1YГ'=0g"_V{aRP7{ĀDIv S lT FeHo}j:~wdɮ,W0ySѓn%1&VAL^~@wKo,RPs70ު;dMhۭJzQӲ™19=r̎އCA<,p;R9{?c~u,WDJP ww1ELvٴw?WfP7KfYҬTZ$&/8w j8N Րq+d͏rHw|AanQJ\r<={HmMR&Z:c >PqD@];/rBE/*gءa'!1$0n0 _s\`gY"i\:sѪj6:H HϼQ"7֡;Z/]Zpp%Ǟ=j?#XB]nNBַb `@sOȍK^N\/]ذgwN36qҤTIj`q*Xc#LJR?6U˻-3pP=3V+k19n5AC5j@}[mF}ժI1٪ %8ѳ\mNLar}WPEvWg~OYᎆu%Ӫ$DJj;6Q.Y*_O$$+V܌(-7x-j(wc`}tbhԚp=5BvUncLunV`$RE_fEkXT&p&d$ xů"Q!q5:5|:}KR+RG 4A "KV*)bFTVR/ە|D2'ԝT(sОJx efT͊xuHj7Hh랼Cgn%:^Jϖt%cmWRLkI:4~WxT?&I#r$G{-+8Cᔓ0ggشl'CzQZbs<<MIRM;b`:sʀ R8J3t2im O,lF˜,yE6Bzސgx dzrrkE~i'[uoy-ݵCzxhM;ȼn :C!AlN;V營)<JawZ;=8JݬWOɌ/rA=ŨUEGt[rU>VLTv!&h@FL&@5+_S~9Jspl/KfĤIF=IpܞWHfa~ݭ?'ljܟ[[G\j~u:XN9 ~_NjZ[ B;Fb.OՃ϶=j,R4pfLGVyVRWNiTAOhxUl=Pv#)L.* :x$q洶iq*2Li W9*;r>mq[[i=FXS<+S{r,')n$`ޞFɾ S7!v˵ I(U:p JLuMVVsEtpE`"#(HF6^>F/1c%7γ^q)! 4 o?ԌA"!f ¬SZvwR5WezO.V!l'Ht+?B?DsEX׸H[ޙL PSm BR ^j1܌mH>Déכ0 % t@صeVS&Ɛ` x^ݎGax\,׭J*5;K,o[D8>ޘͨ%(%Uk7J/JP&0]7ȧe_\%J(_M9;$/<ģع/1HvH(ޛ6xk; sJܖzӷPQ| {jR#]fzw2&lJ55Rnfl.T[|GViz?vu?pT0M~ tP0xY}7:5rM%3j[M=l7g찙g3u$Qq ӰE h .nv5yO x,不ctd9+s$NNIgCx43GT===6aQERŞ+?:xZ-ܘ7q2}t~7yzv!V>9SIϫJLJ'[|:/G%AdR7fhRt` KX\`#?fO WHɉ_A gfPeîUmv$ON׍-mwBxr76 f G,'WV)s<y9x=(gW]Y^KhRq]&d2KjdQ]>d%O{ngYht9ܒPovM}\B':=>,Ɏ-rVqL͸80nߎ;0$95kl $( pdp&]JrY{+ض% y=g#4yN./dGt[@9mo k[sۅ׌n-n:0e5W ~eYQk( m[R6 ]l>OK!RL:& f$+G}&*$FrǢA| ٹ@*x͕{Pԋ%&`>IHfgfs72H Ք2j $1%N㳞<j zȈ*W8Cֽ퓸@J^Q/a&WjO A oGRw-6\bp^Ur?NՏa4ΐgd~tClx]krtZ[& Y$H&7bpŘޤ ,_뤪~5{lLc&5K@Bfh:NRڵбulA3{]1RPe um+ME_֦%~I1ݠyCFV '%{eg6~:L\=@Oqhv!:N+ڭa}HrfS p3teTzUp$ЎXu`6-t4GX짙zr"_@?;I[e7Yד^L-vrS-H!gZ]djhFQa SkS|Kxk{*^s!vݎsr0ͦ 3 7H'ߋwx_}. ]'z5L>oQt6Z,, 2T R;S #2Af7jz\z}!~fdv9IqO:: _'4rRNhw.ZOj@@v>^OnlPu 9Mc჻PLf/g@CP'ob8ph:}fL@}i&l}&vz%EVvИti_6!ͼ3x$*i|?L KI=X&Db'"%iTq y 3BiD&gG'4{I0*V 鮞]D&EwFi(흣rWj`GHmȪ)b_Z 9:Z@t^;QTr&_ɘye(6,`zt axQ(~ Xq4+aJS',$R8bkL)^_]y ]>ʆL7a%ljCݙѝ AopsRZMͺSIFUm@n>A}NU(6P5*uR!jISMڙ ?sqa2 r}ak7NZHg-+{=>ory U?wy4go *]?Zӯq` 4X yn֙gD~8 :=]nA_zvհQbr7㧝dV04O !@\޹i n)g%?<h2t'I곟 EO }vF~H8JyMH,E;raQaj0p29[re`li5uT9LV`^&!CC$%I} U1 fF ̻I鮟zptEc>5r\ "A cNBpA,;d Y̹JR\ `$51Ot׿9Ӓzpz5fo2p͊DHD4C\5봛ZedFMUTѡ?:5TmD86p w)]]. W@dtCsƆԴN/XpK80DbAmjt_B'Z澶omrڳb| IbR gӃm_9gz/2uWLę rLpD::&21"HPQ=rk)ڸ.Ԍx;-16Ė݆n oJw0׽ۓ̎lg]M-Aђ.QfʻHtr; c_N`Y >ͺ2χ9Ϟd}%IOq5!U{۟kǯE'eX %W]ڑkz/#Mi+=ML0?5\&VD5dOhВʁs {mAg$pެW0ʄT1b"bݹ^~dBY~?S*O4ZUk5 T_j_V~Ԩ_#3V2V8CvJaKSyN8 \Mo1 @k_L8C-H٧ϳ!? daM9t>uȚ-*&G) G aNƲR4#JZC1>IvhD5 ӬFg(qnA}< d%Hl6t/CmЧqj+=olWP8Ep zPmq\TA{jr!*lI[An@'Yhfo?o (M,Tj;`Z\At$/ɴh)RSa&-i ygdS'1m3lܺ5IQ󰱊WN ']f[ҮT(sz: [=6nVvkaL{RRUFBYhhf>IA*&ݠ#= ޿CҾSUؚ? #AniDfQW>Z(X; h$d<׳jMgsA`kܤ1Y0)f@;>}:"]iۮK$Go_t?$k?7}/2~MJu$E&i秷yY'F~157~%sP]>0[:[0Cuͅθ]?3t!ߤI?HxjX?5MvwA/n?'r\;HIrKhLxaP-`$w|R.㷈gEuE% +^Ȍ뒇Qdn}߫NV9hoc rrkw\66<%C8?,?@EaL٥)jV,LU Wo~7Pc7Lѳ.xdq22t !Q.owu!)k{xB,fBLWz gaUt{Ev-ɕLƇV?v,sOyGRC/t-U)R7Ԑ2$f& 5?ݧx/i[or R~?0vG,됼1day# dZ93ڒ5Z$co QirLLEY!(>MDZo6{b_ژX2 g\t Fk]k:RnJltm\asR% Ve1-('`U6~lsH3ԢL:^BYZ0/^hmrN^!>N-|=OCxW7bϼu8U S-Jo5{An2etlMOh4< Y7eنlh9Mf]bqr8?jҊ|MY<-֣ Hlꮎgc\v<3^͒^hԧ"A ]# "@<Ҡ[W燧@g{gHq7V@.^&e'沦aO.G$ t8V#]0`X ?"̏ob\" ~xAn,B+et^\# 0&b{SXeBګwCxhK={VLVP[J 튕I2aa;h0yxNjz-uo7N<{FՏ3HhTaJ6)pTW{F#@"xKOx$ރCtSrryXv5UէuM۰5jT3șkUOp)iD`s:rVAt9jęl洉)=}"8sԟɎorlZ>SCzE Tze5 5p*D f1E 'Z :n6UxpWsV@2$܂Lbz)%qwj|\ZQS Q(+ԏ%3Af+_U 2['N 4 bt΢f@LA]IP* U4ܝʳN4Z|feNB֢5Һ0^}u^O Kx=6{6<­Sʦ1ք7=d]1ḖӃ+p16|/ sC E9o kCA7QяE';G7~dcnvY4";߅AI_+n6Ǟ 4u޾e'ArDRxd&U~>|o_@ЁN_0,vClB+A"R7u Kh. e9"'i w:q]~GC;.N^W7 [Li4w1W/pmϟ{g:Cznl # 67[w?;I`d.pv|ȮKBJ/Ba*K)Ԅ[9iO??`G}mxZSZ:+,]GPT9Hda#,K}a:oܕ{q$8aݣ\B}ach]xd)Kw<.+{ ;!86 ˕r+{]p&_ť;i+95=+ԥV,(ZqбSsKߣZoqvuUw/vHz\ #^.fi2Hj)SW!PA0ԁ>C{w4Lgc <9SoЅ<=/ѕvfj:zPVʢ{࢈Ke=ip~yuS(Ov X'!Y{GP%chG 8*%;W{ׇ%9zS:ד@A9|׍=;DT]v rv7yH ,+au؀7j[ʫJ҃1UhVO ث!kPb/I]M?0ӳ|s\z?O٬W= lRd}8ª`I€j礖v~+1"qy5"y D,KpD z"YC-ݝ W y83{Zk7R8F- SőG5tOv~TjV1D!{!ANMU9QDx/+>;A}$GP"Fi+Sc[1L"T^'𗡓!~pXü4p-]Y|vf͡ H<g3;BxvҒ)lqh@6@v8I}:vv0V4]!W49'cWoc=#NA{PQÎBUYnZ4H l(ҷ#e]ӛFt_ w7dA$oȳ)C￴#sƀoIA/Wg _YKI<;!Zۈ>c,I[/F 8d2hi'{xL<6i0 fR~ʣrKd˓O}ǴB&kgD>P8ojge'&÷[Jڜ_A2Ua( APSZ"rcqE )}YHotXٶHP3ˉ;KT$}R׭!р\9?BY<pS>` F.}¥Np.?uEps"n'YԻ7}Ud !sg.|ۣ;>삪t:b.N Rd^kmS#eNܨtڧ^7Ƥ[_\'.k'Qz;z^&WܕFC-ȳS({|sbS$g9?(Nij Z{FOK9TU|=TP\<3k XTe$yЫ]Κ~z'~>KW,Ț1µO~II359k* 6Lz*>M 1);_͔è< '=IYlcX?+)kP-O14q3˅%FY)*A^Ipm{(֮AmQ( T/= .uuNh^Fb5p%wbh>+ډ ts_P) |k{,Kט]MUo!v\-k2i(vj>}|ԅ&͈|oX=&?>2Rt1̼1oMa u؇cR t2dܡ*s5d?5)C {`iΓ)RPYbEaґ֊fŜso8Tp1h % =+ 5M;h5ʕYr{w˜!9HR"77 t V%5(>v;,&lilP_ofTd df&iJ.%q߬de퓚]SgiܭPلWwQLIG1.)z'CVT;o}8'`aK:!zP§Zat\ R{҉ݣV ߻hMf`Ԭ5zunHlkUulV4J5 1P8C uO4}ob@fP듫ٳgAB~ArhgyCҐwRmTk40->LB{'GM9WJl܅('/ \'Jgt]aEY#څn 9l-f;vq'ӔY(a/qL 7dz9Y|BfY.w ilZ_/LMo-fch654'"=d_ W!rkNY<3m.$I:jK0QIYN! 8,&V {}Hҭ վH)4JAR+[_{O'FEwGok\_ߵ׾ȢWg^(MBػ>Y'\\WD.48ܷvqNahGTs;-~' mmI"VW}zCꄾC-;1͕{=FHy ȣ-;9*j:M&*H.7x$Q Q͑jTȇ[͸뀻g#Q)tP47Q%fzI %G؜hbGn_z͒Ew_HTo'/:wWB⛃N(!QQ1$yyGdL^_u$SCr*rk^pOVl2g(}AILHC=anEjؓpsX2N:d5-؝5{8\FQ2]Q9z90%5/tF:ǡϲbG`VaY'GV>x;fj_"ڬZ5h yEf='"iq㹎\nwxew}i0eq%'+_vI`7.N?<ma+xM)xX6,A6ǎ=,6 nc +UV3?,/矉vi_ɡ؇wWL3MvP3f"ÛGiB̸ħ4Ԡ?lA);H q#>uõkplrN'-2OJr_'G(K(&T#yt2ߒDnff`%e >.d5"_L^<^Lzd$ $wT%hqb{/G QQh)˽?$0#G?wIEī%m}O߻7kp5F_ԥs ȬBNmMs )f^]'98Q7YzȔ;AI#u)~Y;bܖ֡|Fh8O{;W^T²$AQ AXGJ>35J%qD)x@h&:s|G!$wEjROPǤ3uo(:%DlXb0DShidK'FC-L5Kg`>'^Bd 2WWm'~x!MJ%]d'ghf?hK;b[mTKS&l[C zE- j;׀C˞,̿Ҋ Pp=P\5>'KsHjҽ8R c9/e_TƚQ l>X|zrh\N5> BDrm2@HA$w2yjʁ|.D $ʣ.̸@&2TOqYf]]rNа`]g+O;RSF\C\kDXV觱YN 9&|R kdBR.ukK)~"^Xs'xj@#uV BD!р7>st_Q_JO,lr5yYN콲;sQsr^;h9+eH+L1vVA85 CNּ7_,y@A Q&L$5h hZ ɿ gt#Mo=,&$ŐkfF!9"q2=HVnuEzI]}e^# Cv CaIo=v\"n侯d޻;.~~¡7Iy.c$ ;O2`L3e{fz}r͙n [N xR&qV&RkUV-WLRWS>jLݑv& _ 4CF GK`0r9ó&INYAt; 8or{̱A(g%+_BJn!aI})7aN>qD'e95i)BpMTCh;֑N@᛺VAfQofvZ8{:kA$r4~IYu7T`7D\?K/R/+蛻|Wnk(-yr+A(eV%eΟ%^`PW:r뻂yV2Zk3zD%tP ]e탴l,FY;/p.~ "3˴)N(HKK•NxP3lrݳg/>=H&$B hZ9ԝρ ұSd2J{ oo>91 4 Fyxv'E~fӱ^ |KIeٷ6ͷ""');ڇ8u>hMRlhҁ-FM3wV$=҂7^(44s*lʹa< Yv"ł6 a l=CiEym8v QŎZcT.mO(96- ųr:A Ek "쨪إ< `/{w&,S& e 9#=of֨):5Yˎ'V ӌi> ׎$gH=KH9s&՘)m%:X(&&SWJ'KUժnlҁRȴn2ق~YV瀀FAww"7CK]:xL&Ӂڅkv""E!ϓVEjވ FYn0%zO >viNP"코 2LuhNRyl7ݎ܍H[ƸQx$/%O^7ͯ0=ôMs8Bp_Ș? MIN8y9]ǿs4؄'R=j1] 0U hx C/^㌾[$@ ^lm-i 򴲣pƏ]V>1%U_L#L6GUQ}A,vl@[ƫ)Pg" yaE<\X1r ^KgUP*j[L5t@$W2יfU{ `8S?/yQndqUd-L[vV[)uD"\2fmQE._beT5U'FPtiL/*| @m5HbgS7)NIckDvӠYRΉQ 0eHЭ;K8Q^ MxoԨ7[cp˭uSEnP3&k(u4*WոF~P8zz#SvR?ɀG\R|7~× #dP=3oK%w$ʴx*}s;ׂ&':>?d+_4n XPhD^#}yw;~k%d,7RﳏKx)s>P+HV7j{5jOj 4 C:7WJޗ\\g"oFUZR_kkMG E*IEͥBwבc9ka%َ,k`dwjxCn+q%._8qL!,z!_ua+qRpTUh*ִ0, KWgMB`~h:oL4;ܯ Iڥ UN7V\?_iG4oT,On\XyvJϫ4a\PFr7ܖ,,1Cf~w8<骛A0EXDؾ(%p϶`'[G#\?s#Sq%,\G(aH2Ehň8]^ʬ1Xδ]LC$ p 9BX>"99!ئXhԍ] ޡ5xkW~BnF= 'N%7bXǣVoWjAGU AU G"cqTo*p #j2erQ:;2}W8es_Wh쥹C S~v_.Jjz $8]e@t,~&K_@Lgc7(~r>7u("u;g٪(!D.Q~)z.oY7>Yo(]P7oOfKrG;ICTh9 p#MX(wm0.I 36tŊ$t҅nfzD>>d+ I iJ]|}*ͦfWt4QCW4]?>4`p]TPJ?tX!*fN>l !Q&4aZ }S _!U %OcoyƎ P^=[dnnbh{,Nu FџKA_@:Lj3ERI?,R4TdS}%mf6uӦ] Ag{xP>@P l:^1) =%Q~r*%֑^6s/$s`8RF>"g ը 3WPh j'T&+~uXʭvJiD2F*5UzV)NO#ȾlX[Ke ^զq\o{c%Oѷ69dR$ܷÜ|"w8B Ȍd=ܯ^f 8 tý}XXOR!7`؞$r rˉ1!agn5dVCS 8"9شk{NЂ{ CNeR_ǘ?vdDIG:;^fIIh(7 4dsOJ_Qм^"~M '6 L+F}f7tiFJt8=m[{VKX:ٕ rb4ȁHimѨ/5mپs@KSr=VD-B]"3]ط󻱜!0id0 odO,'.p"\++Mf2Q)b&Eu\0Wg"NީX_e;OZck7Mb@k8 fkA2Tfe}ALfqA&pQSшqS8COz;w- Aipu~1kT7>nӉ-_`V~~gRwm Uwi#娱--yF#Ó]:~KZn8쫯 OI^3'o֎T} UF>/}ZOt [ہpN&#.4uK}2[,$Y˙ Ö_VRox9ŏEAArDB[;cPx49bVsiCSoO|lȳVfM-zMZ O5H~rPQaO SD,`!M0Jl0IAn_g2ChQ;T] jVVj߿W~Z֨nqM\R 4cr֥aBw;Jc,}:4]+=V;׳}:8>>GIN癑 [Azv {%?+UE֮4$JPѨ_!K7: җFp?Ǯ4i,(9T oIy^piL6?Q"ʓHҔK%2FI 9t؀ˏţjֻ7\PXKQ]4ZziTo"|֘}f3 4gts%J.+IbE8 FB;cAm#%Nf4Pi֑z2$5oQ6o{Sb `&R{[w]׺J-W;#@lC߈FEߵ +ށ?[e`~>jU|yjD:X +Xۚ g(r2'ҫ~_+$FLpvT3,9(͠WcCO"7Ro \k܅[x8O-=wQ\G7ֆ> >uiz'|%WQpg>MmJ# D58xsdD¾:Y|x픷`w)r?1 $X^۴?H ύ6; { 7dah)3фsßZ[Mu>[vnW8y9`s?D>kXVE=J)b۳8T*j'٩TU]Nvl\6da dfzC ؒ]M1=@~mM=N<3~XPmA 6ר1v4DpMcblm ,*~sKORswM윥cron|nd͚}9$ mM󦀢Yn_ev_q;V}j!cvפi&תYiWs"@)pI*jU^mOoP2sYP|BƗn%oi rJ:YӖ_ZnH+^`Ngbo{՝4Us?[\I+ڕm!фEP!;g9=zyR0مisN +gvBG_k0E9 yK%fcD3x@ Ns|l[ꖯ?$62l+ՓB%D|:t?M0SMpĤ*yDL:"8J՘ 2ϻI*]4ډ.L^[ 8 6GnvR{?RںbѼ(Ix.23,mMU94"%FDBHߟ4a1݆dv7c >,6$ Bzֳlk݌<֎5vbDHB1gŽ<.^m)],<4.4tцx7wmݫ0kǥ"'֫ q7\Pf׮IJ=\Yr7ĝ2 0ip$=#EI;ajljZnOvOt$I+MG_]uk]#v$N1d^R|i:~ԟpe4ޱwpG/dMA[r@pCCz'HYnhEa6HɹQ_jվkfd#җ(3Po73|"G*~t ]cSL!wZ7}LvTnVt4`ƈn4@aRmdvp)xI-p~]+PbQax_)9jtZGw+V"GWg$̹oz/`4C3f~}.Df#7V#ܧL6/vU$QŮstVPhI7p!#Is#4<Ώw1W.+M*nC|#kYJ] S7s7Ejr_t>A+>?Ze}iVVNkYYv,JZo5N5z)߷ m/w/TkV֬ZZm6SbO"XG7kMd'l}d4z?db/H^]x!1vX]xڕ6A5cֹ flG/?^jfך{wg9^13]бG.U R~|oH` xȯEQ١->rB*@Y󞮲Et`]lY[Sqh3'bك6DJ:#Gbȱ.AS{ U(>ZcT=,O@lPmK۷oP\c8 L%b88]>-wSFȊp%ez2n?Skݺ'%lI.b:HXcCz˂a._>>Ln? 'ph:gwD\:KW3b q13L{g*lU"FY:L~;KlgԿN)11=t;oM؛N%µ+3lJнUqpegh\Q뚎t..d0Nez:0_ၸ`>Q-;rBs>Tm&C.[bg"O+ӽXТAb"!c'Zw$Xy.^B4z!\jkbcYb] ٽ`lƱ|yoZ^JK7i~ZqR, =^C1kln&dg]L7ɼ17b0v ,$YfޣKhV^<>oL\4xA#f7S8}3 I䐯d.gIC.'w77_s;`~/II>H=A۞iF[ WHۓb5M  \;i~)@wiqEqz?-Ae=|u 1ϧϥ$`rn9vF7t>)fD^63X/N{B'B> I < FxsAWo& dxa5◆|bs !;!Ƒl_§Ǿ͔Ig+'C&]Lv~>-jl- ~ $UxĖb^'ZtH"&*}NS ^ Bx(sxjį暺N*;"MS#Q:s1+f0࠼OWR톰/9'~z1OE;Ow[]O4`vU~'9/a"1يԭwIS?hMo[Kۗ܋vgR \^^e(Ǯ-Q;QO! ֳ 0 o+A0X3/VO;> ֳWɳ^xt*Hossax4 @"k}~1 4Nips; ?޹RċD~層O\% YfA|ws7?G$v̽0IIO1:NKf ^&2\.r9- l 'ؿ;b (.Gf6Yjׯ?}%׍اSA?}hL-BT E6uo=`F2COҹe-e j}$n QcRΤn!B+b+jH?8Rɞm *)"Ӓ(Qlvb& K%c+3m:_N*D7ĥȹj) ǥN3sW1yU7QąZTiD^4"E8==,=in p=v=|nN`i6w68+jqx$gW Gd~BvCl̋2V*PlF' {<=f=1pxot#ax~aj~Ѵ{?D@U;:r4FrbFSIHATlyh״>{uvHI` A7ѕ ! %Pt(Y%>/u;iv><-L)H؊zePYxjCYS+DFNgH@w͚a:BoOp{.ϱUEWk@vM=@:B~SvjHuyGDbRtR2w(Nv;֚ZU{"ck=l{8B)?4>zd}X.Ɩ]ᑔ;>]|xQ[%iVHȝ!"IR%)<}Ѡa?’D j*O 6 @ dp -MzuqDKK+$܂w}8ġ(F.D7g{S&D8ځM'1)28t(5pqn<ʪeBRC(*$ExKg[DvF&3h9CEΆ,vb:(dAV j없AzvǨ`4 =l̷n+1=5~[N!q{PU-"4^ ڙe,-r\1=&Me&g/ͪZF"ZgCn6y a2Ih½qV<@v;SKAhH t+Q戳Fxu;^`:1̈́aV4Hԭ4Z3k &Z8Ͽ39д/mzA)>_w`*$Rd}EYtj ӧJkw3RCS7j2yo&c5[ "3!~ex0;xQ]mdr %)((kj5>o,Q%܆ijӌfs?9橬fzToe`sNg j]8pvӼXFc&!iKzԃnG8v<;ʼĖd'T5]kV;ЏY`yhjlɬ6Up}ߛEI&4㰝Y<ƏӠLj >;'=y泹eQ Q;Dw%򊣾:;NSf8JIMd{{g);",3%&OhQmem9?Q+Hu& ̈́Ik3pam:"l_5<׀'! I 0|.B"YZ/p#SsZjb@eK}J qv[&DVt 1u'rKa 逻Fn 1g$ Pq4 ^U+Cy'Fw"Lktb74* V,:Għ"Ǘm|\eG2 \1'~9 ׸{#OkL1hPJ€:JʑN=5NcaDæ3U5ILAҾk0 k~PᥱނN͙->.;TX &LtC<ё- H`:͓]nɏåp(ى+ ''n V6*5kQsL52L!.5u*b !Ǭ@4٩b*M.+N}iP8ӕ̼,gVIqrtGbuṈ\}Szچ7@%,l$c7ƃ/sBUM'N-mNQ䐳OG3wN(f8"W4̧:w+h+uT3/"E8`ƼlA>+YEˡ l:5jo%yk0k(GDaɊE@ t4{ݦԏn0{M-!I**~;]PA+&TpL z׏apoKɆ=8iR4{T@ٷ9#&(x:2Yx?jw)a %V>C) R03DsŽxE^di??:=:wvz(I;= la{ Y)~1 i1+R*q]KI0[ҧAs:үHQd<ׂʥ%?n4|!ḟ,9K-_<MVXѳֻw\<^wihJɖmq,WK(r[x G1qH'+ԁFqR2TV).%lʏ& <,B`G|}QKzr,x{;U8 >a9 F뷼HlvL5)U?WԮV>sU'pY gԇ҈YR~"!vxkNϼȐ;]IW\4$ L*(JS}UTOFn{Wx}tv66&U76?‡?dDgHU{q4#nF?&cY˦Ƀ4KBIY-daq"ldti->gVQ%kE3͚!)J`R3,^_ ęhO֠͢nC vٙ}L!{BHpNz@vQn#Gh1^F}b~?5\N*9Ih9ADבV(9.Δ,.g--䦳QirneF)ےd˲@@ac1ԣ6 zfԽŀ>sŽ+Ќ]x) dYR\IITخw72F'6D17*paY{|pgvj ^2A 7?dqxפyoY\{ o5hSQBPnҌ3N,`@#1Ku<3W@48"N E- Ӂ8ߕ!m-.4}ͬ/ nstq!A.͕!ђ3B՟0DˆUǒdtv$jUNC"S26G߮UWQzy'}(W:3yRl9s9\zkԃjd2:2?m&wN(a?I,fJIBBA1O8L 1R[4y{K~ [lBÅN)때V݅c$9zE8VVGy=r 3K t c(@ψHg e_dc Hwgʔq^b`YPP`P8A1{#!Cx$E+HduPC= m7ng\<=x(ׅG4ҫ8"~#eA *B8^lf8'&2E9YA[% u1ǭ9/g_8H;;Ȣ:bx38 2EN}9 bQ0`Vf@Y<4!lPЉ %bly>3qi̟Zt5%*Ỳ:1ZNp-3#l\Dhc0\:+m~oAa$PqvqBx]ԈT#4gꃵ퐠~diNp L0E:D8K8ͨ<ইfw<~$1JKawBs\6|Ldբq-YGKjу\3k\2 &.rYKE=w6`$&7LG&(IǣQgt~CSl oG>_,c&°R|vx;=AS7`žot“PK߼ƢZqP^$4V֡>"1r jRy ƽq^#}9<67O[e4@SCXfQI #olzq-Il:k]IǪ}9=%#, o3aDZ!JWkh3$C9Rﱃǯyn.q%1c̢͝<_ڬWID@᪲sMӶxXF6du`LRU>$OBuJ^.Qt>l?3?<ߨKA[!U5id~ֺ3ƼPWS4|9"%Tu1F~ō[3C}/n8ےxjOJi9ex>Ht+VoJ6ѕ^qY2#Z.Ȯ` s_b12Ei2AĜH"7b3(/ 0WqIC3j-D:ϥ+3;G~Ǡln@[d`͊n<#_ ]S@*Yf6CyA@èJ3nӛu2 .0./6UNq,ڋ׆ CG_A=Z>T`Y!j#V%xzQB;KUkHUoARV鵣ZU+תaX(r!&5K#^n^̟h}Z{V͍arߍJNZ7-eѷ|5[sa`Np 6v~U~ tAaO"m&{ }&vCZ+煿}N5"=HE'*g+L5P &ǯo1/xx+/ogTio p,AY3CcB^BRҼ _J:RP<?{1fjƛ_Th>y~]DwڧkO$S`*"Mye=n]`۴* HT?rϏǎ w&]ݦ/㰚sQy~x YSʲ>X3!+ڀ 4#f0K3Cڂopoʂ;,xde%"_|3A8l]TD?>t2`M|}w1/+}ZMa>2+yS| g;ҝf*;5>Y~0TԊ \]C@Ds:9GVߥSwՏqJZ~o=IIJgɤi!•pv('q^!B,9sDrj88B@E q|q͔S4Q9\uvea:܄է֥$ߕ{ #r;sFH[;C%FHвOJLȤgv15,NT7oNc?>o>|]jQi'Β@i6 6W;@j^l? Lֿd˖0|TΘBf ZsOA+W("cG߯ '.+m *`s8U]i#YYEo5꯬&6mP?v.6#8FnZAѥ2R?h-.6]}nC/ӽjgٴ2b̷(C]dğUberK#-t:%dnt啠D1y6 \k<ܪWhoN`GFy(CΉԩĞߏH}@>ڄ9e gK[jLy_* ydh+~k4$=.qz2'+\F8ҖɐB1YLu'Wϳj>0Lmmn+|\,qr]5qQ4% ]xuJNnGUZ/.VǒقAFDmd=́ 4Pq2LRud@xa TV`L$ӟBNJ3lpgeyѥBB{py` 2=_91SI> ޭ::88_R9R(wJ].Y*rɖrW h6ID FQVi+_.C(g#dOEÓI?NAV?2lj}T$`q*K>o x:M -BYU&F |uJ-zs;[KP|ȝ+uL?pZSH } 7>φDt 0 某johoO/~T`՚@S{b\a(Z8 Q@bjӆ Ps W0!pqy{^{qaǬ 9x2o )C?6BJ HS:E̬'Ӷ@ i&쌣8MŞ"bVӖ$,]yW]71XƟUz?ssc򜤛M)>L *iZV@cZJ[\md}uR՚mb NFPCZֲr+J(jHDtj mr=(>5D,P4Z(+Gd!%gC}p_/Fpy+8gJvD=ٍqˊbư~/{.G.N 5gxw`$"#YLFr5x*.=U3v eϿƴQ\ $e;WHO@jRA{[Um01GO