summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/cpu/powerflags.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-08-28 15:04:43 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-08-28 15:04:43 -0700
commit6f49693a6c85e7156d8fde589d9795a01c33c51a (patch)
treeea2b34cc813a6b8bd4e0093c1a73dc92012118dc /arch/x86/kernel/cpu/powerflags.c
parentdd3f0fe5010c2d85801a9c005b9c673908adf36f (diff)
parente0a99a839f04c90bf9f16919997c4b34f9c8f1f0 (diff)
downloadlinux-6f49693a6c85e7156d8fde589d9795a01c33c51a.tar.gz
linux-6f49693a6c85e7156d8fde589d9795a01c33c51a.tar.bz2
linux-6f49693a6c85e7156d8fde589d9795a01c33c51a.zip
Merge tag 'smp-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull CPU hotplug updates from Thomas Gleixner: "Updates for the CPU hotplug core: - Support partial SMT enablement. So far the sysfs SMT control only allows to toggle between SMT on and off. That's sufficient for x86 which usually has at max two threads except for the Xeon PHI platform which has four threads per core Though PowerPC has up to 16 threads per core and so far it's only possible to control the number of enabled threads per core via a command line option. There is some way to control this at runtime, but that lacks enforcement and the usability is awkward This update expands the sysfs interface and the core infrastructure to accept numerical values so PowerPC can build SMT runtime control for partial SMT enablement on top The core support has also been provided to the PowerPC maintainers who added the PowerPC related changes on top - Minor cleanups and documentation updates" * tag 'smp-core-2023-08-28' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: Documentation: core-api/cpuhotplug: Fix state names cpu/hotplug: Remove unused function declaration cpu_set_state_online() cpu/SMT: Fix cpu_smt_possible() comment cpu/SMT: Allow enabling partial SMT states via sysfs cpu/SMT: Create topology_smt_thread_allowed() cpu/SMT: Remove topology_smt_supported() cpu/SMT: Store the current/max number of threads cpu/SMT: Move smt/control simple exit cases earlier cpu/SMT: Move SMT prototypes into cpu_smt.h cpu/hotplug: Remove dependancy against cpu_primary_thread_mask
Diffstat (limited to 'arch/x86/kernel/cpu/powerflags.c')
0 files changed, 0 insertions, 0 deletions
*D |c)\w}Nd?RQT[ $ƻR"j$oզbI&3Ԣ; :T7/R2xbuzUCI"ejOyphOG~!++#eUD)i+mg\EQ 7QZ֌ j5M&꧶:;q^T[F[s^ey&|膆I 5jH Up`ZԾs^=~2z դޫбf[Kg}t;;g#d ^U%_K:/NX[ LRϺdL>Ufo5ZW$d@reƑ En=,-`B^q_߈uz"l |;zݹ?dnv;8T4UdU]Un̉,鵽5|:W=RBK"-6#l/ӹIЃeXbW"W`ϛ/E5 ޟf܆wFZ&ϿC>Δeq :u_an%62 0)w4>s8'3bt:Gr>櫃Gl1DS$Vwyoz&wVFKRC 1`ұxR:Ks{iL׵ `qKQRÄYW`zG(ACջv}W?Y}_PU9BBzWw"Jy$>ܷd_tmjQx7z aυY+E{8S2& SI8jLZ]=?qjG_|Oo4LʰyOaJVCO; vbVT^IUZ@S 9|ڸ*Ӕ HٲL)>h>~۴2-mXQ{J[r\ȹI[Pa4YƨSl?4`cصg6k|xש!<,&C8]Bzc*j6k}B zTVn5vHk8b%Rxjޥ4؊ n4{ͦ:j/lȽ'Shln_hFscQn|-h 9[amgsY(͞ܯ[E&Ԣa c%B6+enIZƱN<{uGHFt9{+u*R5^"pTBԋeW^)XyarLǨ^ SH' = *dyЗbpFyή拤5dg0hv~*VMT%߹3gD~1tgWuZ![Ym>_'Q*9wMϡEZ GDT91B>^ X8[:~XVCv;in]y"t3 VgQMeLXq:}ea"bWpiA;pF/ ?>Gѡh" iME 9Zs`>WRkby0l{.NQn;y,m9F0M0[CvG'vыo>CCy &/q]d>" kevUFy´n@f iSޕT̺Q?7jlߓ'{!s";)چ=Yt[4^%N33~CdMmet֘ƌqNPPg!hd Gam'w,zPV}?Oct\E}4vW)^WXOk}twF74P:;2N!{J!.U\[hvgj޼9S &ig`mijI(zEhxH֎®GTcQf 1Smy`'Y\a'~=*"b2oŨ>al(ܑOI. a#z)dY 8x^g+܂j/GRru[c*(dat9\Ƙ3݉yp_?C:4rܲ7+M9 &E|k0I[yX<)Jz5m#6ы6-oh7cH=7v}J^*$Zl,yHzm%fm$j'Uqqida $l\ Bt]eA[Q 28%:.kn5V<A8><13C3Yf=bx\'D<.B^e)h2ؕdM4BA1 ^*W>IHNdШ4[Rhwzj:I%E)Q_XA"^GPGoFߌPɒ ސc6(zJ|KTY,PQۉ--nh!}[/>]bRUF_n /T%֪X>(rIiX,2IHDM":miEg3``U-٫;>5gA;1o3c(K?< &~+lC@Uygb1>NhLdVrZ" oO@^Z>y~B OdYʺ4,嚨 Hр-e\03@.kv͟C_"#AiTԋLW.]sfطuTcôf?)D٤O]yFΧZ|6&}v ֏;޸k$&\",Tuj3Ku}*GHa-%t}&$1&jdOغ {M2-lftsC 6+ `{I&y B9y{tAǣaC^vQ/ 4añ3 ^͎Aq6T@ǟx_)SqoLK_ a_7Ro'KaS]wtQ^{؂vw@{Юfiu}ϘKߤw38fsj k1LaNDžӮ`Q"zYFlOzlD<&z; qs"g  n0sal ,3+;+@#hC`(wg IpF|k+˪1#zQԔ&[-p*%R<[+9aPzh(d\#/Ed-!2'=)`TE4`3v-<"q8) $7&,P2U_Aqi9zDL@] sS%ݡ< 8;}/0G^dX OmwO9``p#;ԙDZƵi 6 @+IUf=.тNS"E &8=t2$ O;q#VCιt~.bO?QX h{ɳFw6ЭH#]A%aϺ bGĘ^6+Z֘"Ty(5%z$e#bDc1԰ [i{N3IkeM%̍z9oZ*}ܾo8wgX.\0I-kݟ{W "dN]LJo檖MزqoZw\ @l'0r~P ͟0_`F;{e{ҎSE}daC{u/"Ax8C:Ql%$5ydz& tkQc]I;!ci,ƵY4Լ:iUMr\]Q)iך|ЉxY|so[.9Ott?i+EݣI0(ȨcG| F^v=*c8fr_kenv 'J\,fIVDAihB=nD/՗ڕŻePTDGt*Yi=r![|W^ӓ~l! Tl3$zGݘ 0M[)^XvY!wtN3ҩ>U5! 6 ̣tT=|'+$Ea=2Yb Hu;]Cg9b`@N}&n=W2[E} *ӷ'u2PWT܃JRĒ%9|CK{H 3`=%ޖeONʁ\kpN'P7QLq,μTC`H.yŶIllmUTNutϥV"b׻3L̡nBu;v s\a`357o]c 4AؙͶ8ޱ[<'?&B;SWeXo88`{ݹ:s–wِ qer0 &RS,ƒ #rNK"Ia[95 Mܣ)Lpok GH'5j^D n|&K.h)3i>a绑KÓlv*uFAⴤHxND[_;N)rdřy®]'_Qd 3;e.\s:qI"5~>#d:M)VNjğ3b[& rl:b$[[$,ʼn873Q'&0^tF t櫓f/ɬ,򸋟lih`C&~E.'dg/M{Pw}|cc6M`\ET5Pӄ-,|-e2Y2l$l 2Yv+]ѕv1'7X pBq4yJރ}RM2\2t6yg :CGX.Js%Q9 t5xF}a{oyszjϏZ.O+%я'Q~35=jVY>kUNK_Vk^iuC0l rY_%'j45jC^ 0KG?ӎmOZV~,z Q4w,~,~;xš`,9B{kX(XiZai Y`[kbmǞ‴\,v46O9E - ![ rVcg+Xl'SpWx4aµuK<.wҴ[׉ ˅ZcQ>골}'~ݼ2/<˿Oc"{BoD 7utJXPx6|,umG8r`\WoULF\٬ օBO8p1`&W7w8j J6C.U)E޺Bn@ގÛp\ZZ.A;6V՘AD_֌ԍ)l-Ts3U|o&*}E#c܌ Qܿ^>7(ӞiМDގ޾0،V1|qN/hVЈS@/T[]"rCp\ǟƓ5ᢠpMR`#h'NhsCbrڹf0W ANX+pUJbF#x1]fR<RcvZ$rs~,'lAbVN$Fkt1<ΞOq8@<^rlJ_JDCȝ_7w%WU+8u8a.FxD3@Ԭ+Y8y7[h huJ2"̍'sZMCיkT|8.,x'T[sEgJk&U˳# gDtf /_Ru/SM+Լ .Xxթҥm^^ev YϲQaUrf{&oqw%X#:jϻ_|yYa.ͷ#3ey85|PvqI^Nzjа>RV*5=jkCBB UAlmG;Z32~toG?`U*֗,@ZJ7z5\?8DfcbV٬Wӳ wG5G=ssYBT\m~4{8ca/XSm-?֤Vf31+øXeϱ2 >+뗥j,_cA>Um_o@Tlxk @/ Q2#-8倱W'#tf"7, Teb=z'?X2gL},߱DB?՛2,0;-1R-2-yn |~;򠙖ɴ$)`ɘ%I^߫רRUk4n\QUeKJ2,%:pePBWu|7kHxoѰ>U-MzŠ  8{- Ä5i2H# b/YO1r\&&Ѿ̩%U^хtSBbEVYS YxꒁlfP!/}Qs{70l -b팾qܕ'b\&ppgb[Jp'Hٽ_4[g a{EaAZ[;T(տ6bjzT6d56hE<2ƨ 85Pu[\(2TccXބZ'S)(Hp>"]k!da2 w耹~ξqYXkRQ= 1۵CQo#݆=_,;0 UmR~Q( #Lg7Wҍ:$Շ7 rfk&FنZ @G& 19xF`bVjsUi Wr$BeNbImW]3ySJT_ gGh- [L3.a~S~p:G{jM/oNAd6sٖɼ=kIrNRYMk֋S7&3NT tB9LaTCHNiج[?ْ#ɕ& mS$EUal ptx,̚l`,`0CWiibf.FddDJ|GdIk)V55գgw3d4DY;oy4\SX|ڒwKf48H:gW %- Q|^ED:+q-V/yGEhs(aoԎ _%~V+]Ύ:HD pwE>uN _ʪ_u  S[6ө?Nݴ foBzԏpلnkw#%B73~#w!u59`A{Psfcߐ+)͢\:x20zmEрMR=EV)և6iC54P'qS*Dp_jIJci .+ 9H"'"+ ͪ"ijԻ AђQi R)>NW1 uOCzuvt:/dMIZi+A$$I'$}QF6ڵ@b@x7}uչ7i0!h-qŪ@\EO~iʒ`0:۳_I~)Qf[Td:57g]0g—wrN| <>=@&92ƒ?Mv:ltxhRї;+*򹢷E\/on,旕`~ 7ᖗ^faQGJ@ <ܓZZkFQ2>w]9]v`G//&{V-3kw4IZ:~;mZ#f9 {D -9^&[ғHDžRU>fXN ~p܀\'OMf:<@f.jt: %Y_?M';h|RM<<ɨ!OKT LC.c̛t#"Yt#AXX(&| xCu VYuiv,ZrРdJrv*N=2b}D^Af+[şW~ 8^Zifah3/ smH`O dt󱽲5D#F%PV^rVvEO2)=g.콧Aj&Lѻ >uVFs@{ 9{3AhP{^1י}k` hsr>b+VPɇWG}r`%dm:[:fwx բNN|,'QÕ2Wo痟G&ɯXY`3k΂u>G;["cV xu;(C$z^>7+.uX2 ] oL@ߐXcG4 xm*?Saћ[zOFv 5A밥#Q*IEsk[evt\z' ADTN_}ĞFi;Y9vC^VoU ,s ?9dFv=w=C}tmS ]|^XK.jAsP5D̖(QUbiAyrw6)Qh;q>L#-w# Nc$$j}W jGB:QYUx|ͱR\괡: +.{ H] |4TYiy݀T7C&x!Cdc-V}Z3 xJj\2Dyb[ig2b/LѱQ #HU,/=q[>ri"-zxqwe y{8g'oAZ A PSoxäJ>Hݽg9#$1jсf0gZ͞pW/DZwTծ֋6V|M2%%F5ADc [ tΑD>tƭ* Di^OMǪQCr Eի4Hi7~QZW}pr;3XZHK~ ɇ CM Čr̜UDո٦2BZ)F[3xk^0.1d/̩K@hd'ikYa@:an:P~.G3(A9\:w HK Z#Tf>ihn[5o>`XnW5Kb:=WH.)2/.  ;NE~w'Lsсd#&'?tN1,ݒy5K0j0WvE z +z]\˃|jzz8O *ƲU%=zYaiKʲ,FpO!Iu1RiTg0x\2ʶLR y4]OW"F}D sJ]+x&VF7 6µ8ZvYkӵk6F2j(vwO泜J&:2̙Hu%h(#!юB64`MY }]%O@:3N-CpɾIMZRP{HF:ޚ ߫..) rI b!Hc:^VQ s1pd(^Rxz kw[nb)Lm7ԣ}UD<ago}`!xZX"8WY^8Fػi\Cܱ!=3PeN@AZ,[rЬ] '6ꀄc>iNRYkdئuT$EiHu+.y7LTkf됉]guu.}kFWG)wZ9@ I^[_}zy\)AkQI"mމ0V;whI\i UTC4];Ჿ_D;Q\MԘOCj#.H&Uq ~IicN=ZJCGġBGT@!ݜ@A2-Ȭ^#Hؤ^1q$]?ZddG"P58uNфd*<:[NdMCਅq`$t}\ueXrժd&g:^M\C K tWlԋTskKutFS/Ri xk9ȅOxa]/QbR=[S٧(GUNv$ b+f Dq^/aju7c~SxЕ hD킷ʥI“Ix`ti}&E˒qTrgݽ;?"h'DD6wB)&mӌU_1ȵϸ:*?ZҩMFQ:UÑCK 4A{@<5쬶Q!GfKV jATzDBO8Dwkwl8m2ުBqloq,ȱAJȠe|W~y!ԞxY(AiYu 7' S$Jj@ [T\a[ߑzN{Q8gP5C^GÙkڟ.8mۯZVE;vϣCC=tE{8驊!N%PXrJI Hg.&Ǔf"N+3LԋeU.ZvLsR@ IxC'1xn sU;ҠAw嬽p8Zx4/Ǔ]崂U t ࢠ=}F{j b~"EWi0UxUuhЍzkڊF/MƤC6߈icᄴdM'Ӱ=HK*lɣCѵ|s-ddyH␤Uh\KJ +{%Oz#0Ps jIڐzޛ @j ܚR:&#R?H 1C2@\m!!Ml/E`֨^:,] w%W|KU&Î&PBq VX\.9;n֋xG_vN9Uf+gydaRHp#j2 cpǴɑ+sv5yL4W.8 Rld A[VWE-.SC PmV[FK A۩w4iGFpkQP#H9%HsC=z?8[^J2.+:mA|I7/p=]tbKMHޑW\-VOf`)Cmrza'&vC{J]&IZ}C |OH'PIGRQwT9n^oJ% פ͜r98jC5G)> ^3|c4ػ@@JjJ]`J8G(Cv4ΏvȮgcE} &hno~ Im4~\[Ig@/zrz} oH<`d3n-uB+{`]}H݃4ǒvIc%9A 4ꭤfRw⹤9R$'"yv Iƅ2YRO950loFߌ!L{׻O'yt@:_}h^UMƃQhXU> s2 ,姅=;tM551 fƤQ''i{ϑ{Y$QtY}́Vn&dЧD:9)&@a$x8or#zgFdIL>w;66̘תm  W(\:^FI:,BZ6H=xDb)q4z7]҂F!iE%s"3j~w9{swhu)^XzfFMpL.Kol98 [ݪ}"բX*&cʄ֒w`'sZRY/\/sn9f'܂b^]5췉NT#׆$Ql\yWC}HOIX{gHj3# W\9B5 zDa`p_(Jݪ vz4V-UV@IH/b̲Sju?Fx<)thY<|^ɇIhjfa>ES'{ p0Y ⃹kv= FWy'B_T|<^6[n^-?\-꼃dGQS?]) IJD$h)}p4]$_Fx },M 1dg;.9i>{1Z`IRRI;@,'R#ݗ صK$vO;T^AƣxTՠ5ji;UzoTu@'5N]M`+.h. #>"gi?˯p Hg# Jf QzHd1VI3@ߎHjI7~?LT3 CR4l$@ Z=}8i ulq2 Cddw$Mܣn~a?A3L'9XQ_1~8qЊ>NZs> -Y,h,v7 2C6=}nw9E5+V)j$9PҘ%4r\^<^@74ܒ-JK @l>7: :xv |c?~v8@!P7j<|Ԩ )᱒!n2T+[YCݪZ—Ȥ+'ޒ)x9z[@XNke ]3@`+,@%2/ڵlwߥwMi  |!dK$rkw *M|ZNƊL0+X;Scd ?!7^ٗ[d{lh#d'y1飍1?֪g/X_O@ʙ>WdrB(P/E@`B7ixt3Z GWUFoc<%V9 \!憾@e51x8-F @:#C1*Κ;nhE$ۨf+XvLo& D_q-xgN}pakwAp8LJ9\Q_AڝRE/vn7UjTvը);)xiFpLG >k^Í7VL$Iϱzwg 6W=I]XդAcfNՊtpn!U;2SUx[RkIB'cݹy2Paax<ؑq)wCkc ]F!9zx˫s2wې*[W1lZlNr^8Ƒ7֞WUhW̌,&A;p!\ eR3q^ƕɸ|>֡QRGW}J>d!`y,9Zݐ/0|2yKkj6K _d6~!~S4_p|,bǪWò̞t&s]<3&SYmT?\)$m./yQM x:}^AX C5GX{7 NCt(egZ4hH`{)d%P6f`]Q{jU@5:B@;O95琬^y02`<2ɼ4y TqXK&8X͵r2a'+Z>]ɓd7)8CWVBr6l!F‡P6Cv-)̺xJ)qp%!7/%1L ޻ڍjf0Yzf~(@yfy۝?}SN< ymw\$ Df-" E}XDB;˖ UmzZ;1\{ه=7~叮ܱMQY3A҆$ &18wNwyJawy Rn[?}gSx_abdLE1,J>薁p,_^I9H&"f=Mϭ,[0C殫VƨެU+oqZnt%09b+|S5!+3®Ԭ?j\8/Nd+!` {2<ma`;&@|쮩ڃO_.N;~'o~!ʫy?Ѹ}6zrI F?#"'i0zRSǁ0 yA sL@N8L4L9FYٸxόY>[HDE+TVVtUG#`"@"1]: 4E<0m$RvFCug={qw;"pX.v)UgqV}J?huh{O=T]Գ@ȋ2hdwԸV>GgϙTs6`'N h&e%֒; vS[hn"p .*mqDKF3vkMNЌe>NYlr\B9ʏ|R7Ի#Q^!}[̤Gߧyd)Iċ#di}6Ca"X7h*V;j B';c|4E}$X|mQȜs/elL@ģ:F8ݓF,џv{Z4Uw{ c:R9\] ^ƲoY/j'M(*x).l?* =\7&~pՎl?Fxs\xbi #ݶ_Rk"XN>@d<f68J2̩={ w22_r"/.$Lx4|AU8.7 C;"ytܗyџITݣ]|' ?O.CR@F 8مCWF~L] ٓ@ ۀ&5 )I A_ܕ͟(L}t:fߙ4yG691;"5:`TK-X? @z-+=2Xj[MWbҋejꪷ003dN”ב*kkkq\ދ ^VՂ 4+qȑ}g41?5 ^0dHȀklfsHjٻqxVƣ<\*ߒ F䲺Hau)UI3peZ^\Z=Ѡ$^GUW:'2EѼ`;/fIlzт7eju4ol[/^ō%F#d)pQQ~*$˓>ͯ&Ԃ1xCMe<ȯ2|O$ H9g?P<`&fq>1ٗ!P\ݙ;Dx(;h&<%dz[4hf(dz!E*e֦55 =ioT6aL ՛a8EݒPZßGLrK2Xbj cB FIg>|"jZ*eyjȷ8;9Z\ξ j\12l9\Pے}Q*s1+B$F$_J Z6Qy=s!]`p1(ZSrxA?wG$_"Ӈ{$?M<^)Ǣs06+?ʉ:M::GYAMe'^(:B]'2Q>c6S'Z3(ѺX+r_pg? Ez;߯[zda#WUj~V4 L}i"83bD/ MNUo?,;Wp}ʊ0w8!(Tu`4C~ccS|DZhtsJ\<|&-ը ԭ7zWI]!p#>{!!Z8&+v'9NɴiׄSmU}tQ@MZ`q TH5 Ts]3.\aVc޺{]x5mxA*y,շ+Qw Gރo6Ri'iiЋNcЦ㢢&jݷW81zAmCZ9-Q$?WxL2=U <0Q3!7eAUi<}I'I9H]k5U6jQ ~#_PJ)P2jaT}\#q@h2.2e2apRwa&i.- 7b!Y7 m&+G=xڎM);[fSc}dп;e( 'i6~] ,3䔭E>8s4QA}@fIVcaB( <~8G.:R׃YdF61^=L"TX Wciǭs6SNoq$KN2A K.Z(%K.4X7N"'$AH%Jx{uǥ \7'5qS߀* k #!^,aҀ>,9ez,l!n}5;q 09L<qi5%|bpPgJs^ZyUP:6K #i!^yS{ɴӬZv%5&0Gix;4O!Lbre٘}$ݧLL+-rA*qvT&ƨ9b6% h"w2T[댫tC#PdԞ90XʉD*݅\GMY Ys=H:)hI M̃B͈m3!woo+C!KYzo9B!F8Do_A'+gF6DU,dMIɈ``ѺLdⳈ+V,Vk/yƅkd:.OHCn TG%Z]d/eWO,[Ix$ዿq6r>t+lfx80k`q#F++oF N?&mx<\-i&%a*aڳ;b׈;֞b.ϦkIN QO¥mnC99| urI Aː$3TeZ:&&ms'>9Iߕ}6; 2E.53z/qŗ\4vŮ D~ GƓSG9lSXF*{ R86?ff7?ϴO wpVc=FڝNɗ +?sfG};Un ͮ>tz 5!A;'u |lFGŌt>ԫ^_@G~f@.iV)K rC a*K> 3x&eG~QIG`1} @`ɰ<$ptpmű!J)v>t,.9GbX-s&kI:Q#La^G |'kMfvhoݖ/XVv4a?ܽ([$Ny<}pAEX (n'vrʜ_aO;۵Ɖv7`1>F#vIZwz$kNuĚCS<1G1 N#`;+pb-d_|&_f ۴  xwoG*ljG CNuk:^fat6 x=ٟ(97>x_ha>]-ݬ(#2L=v`e4LQn7|K4 /.Hp_ϊ:c_^|3g&3G 4NhKrh:JɭHViVVJ+.aatpX7J~Gsh|F|;D^)!ՇY`+T"Ҡ^] Ưuj)tk;(4~(&v;jEKPM܄z1Tj4T"fRQ*3nNGF-Uի6&up<5TV(j?\p w3P^OK>OG< clev8|s> 'HB8(FhͰ6Zs3R$]%#Ё,Ne)$CyOrӊrc.yXG' 2T5.Q5JHÚ)-+)Q*b,dKݿˌPΞ&: w[;OdN|N!Nqem `CytWd~1*BqT f@$UvmG I[i d]/`gf ݤOkF^'lnK%][x78.pw٦Z"A]&9nj+d Oc bk"|F,Aݡa1oқq*8e0w/YHiDz 42d=q!Gt Zp'u´34*\p /giB]-~)Qh` 0ür!~ 9/>gm6^NV1e m"U? P`>˨lz]!Esζ6}؇VujjIQ[=h\{š9ѓ;B *d<_dgL /^=Btc*F{5$l⟻MsWXq`Rrӥ=X@qYKfH'OW y\bEB6 Q; WnKNt==,GUtU2ͱՑH;F%0*@u4ά@>4_f?{d1:.{z[e~gL}w Uk0ɓN_1s 4vY.QѪH9\5%I?v62*“܂%QV)E , K짶NV >o TN"fu17Ŀ;"MczY0BZjj[R~,9ക>})-R_{R"&ҧ]cػ,c8NȰvs໻Dz¶toPML3bFI6׏c|nx<ޥs`7Mq)Ѭ%)S k@U/ Gt?KAWz/ګ\* g>c( Id6|J 4^]^^LK:z+9YBgpYRoEEI5H[î qH\u@G`/ B;RhdJĖ+p`b Vn[:ekSjh#%R.%ZS4o%)wHޫOMd۝ZZ9S1ҙh7C);>WbY7|7>-->o~_g .M#x&,L|χ~B 2![9|6ѧ@0erW6nZ^RzhtPRiK+:s_+GX3vS UrI!`SS++N&Li9oى B{$Ev?և'>0$QWΓVy^;ǰ4c{k;gΛHi%Ԛ< 7,EAD UDҸ,#Ϋv!bבg#fbvwhҬfs&O8גsϞen8)b1#MA}Ih|H-'tj%I%}td 2K;1S߿SSw䘵<[5]-T%VKRE (0i¯'It7iIs8 D}Xٓ%L *&BR,J|fٯ2jNR>jVCZ nd:Uhjf$أdW9^ӌC}~yu[ReZQg^{hOm#֩7NjSBmmI<.wO}agY΢~FG;ii Ѥ5QVZPꓱ4'm5Fen]#W(\s= m|!!%{v~6AH+S) ZS%4ɢEFLBZlϏF4Yh㱪d]UbE0qWg}%JՇz:2ޥ3I ѷ:tVRru8z*jlhW|U* RimCYFv@{QN,7"KO՝}!H=.J&ljH77Qtѭ^\tw? :+2UBr5}6bֺ{5'a1b2r J)ϼ_ZvDNkSdoHO_5J=n k&%3 59x8+NkԞD %d`Ƞdzb;UsGzrxCڤw/Yz4]-[h Z@v`oчm??ӯNuC3\){Ѱ8STf2nW^  k$7Ai!ҊxNh[@dԍX(#mYe4q M{NDKąIw'7vȥC |0#ؑz]PpY@:X;enju, 3\s< cq n Cq*U'dceqk)Āy*~$@~#R,B^ت w3ƙ+?X>AzK\ T?N<ĤZzqU fV멄;_n7vrCM7%Z}Wη&iJW~sfח#~ :+@ t軄aRa88N 3-a]pãZ6?;@zpBRa0D䂍PzZ뉿I}淞Mʵ  O#^YY0 j;;eYjd.V}$Z;U4ddE-q"9Yջ׬29 iJyNGxH\zq0פ<$뙊nH+{bF >5>̻)L4ɴ+g#{*"3&.e1ٔ\'հiq1eH_8ʏ"alQgr]?0 ?kV1J05+ M"p1eJ {4զUk%Wk0E4q}j|ܠX\FnT:(ڔ v|K#[@rw;K=e#\ya;3NNq[$Wb%γBo*K\/0+K0c1'Kz֠TV#Re̩Hj4'~αvOӍnRШ:::f~qboOIME1>ˏ|orM|zCk#fZE:S~r_x&*쒟 b'Y~x}:3pola7n2ӿk G/Ǔmmf$'S. mtm;5y\س۞ʆ93vq509dn(J@ ԡQi3 xqy?E#qs.NR&nʝ}'dp2}&\'!M'vg(i%AwpRFދ'j5{t cU B̲^]ͯ_g\@9e4 u$>!Ez[}vgC%d~'?3#yZ1Dp˪S1Aq)9UgWߐ^o{}"պRnJ 0VzW6'rUu:++zaȍ\`:d0ኳ6] w\=g3Ryޅw᱿wacmVuxû%Sg%E|.M^r[ƫ뼠1zyx~:}v$<1ۺrPoVXAS\%[Ϥ+"7;xr,$v5`QC`Qfʸqm>4V2dcb姥(юKsa<\Y"e໘W*)klROރ nU'MR^0Kh{;0k Q2` 1>F3cLև?%`j5Z"4njCKr2JhޑdL h*/@h)ʦgAXk<=Dh@!Hy@iw9{قj]"D-$g T 4Qٹ*4`yw$v VSiƗٟ\3Nl_HZXB]3eeH5g<ʁjVCj^)5r"%bBeCW O k{5m\,W'uDK^Rd/1¢\[Z[o)!&GwΦD[p_ق_+y1*1:@f}ɳFz^4ѬG2 /M%| @ݓ\`>A#-zgߓY f'Q@r&3~/+I ӦΗ4-Q谨lS4F5esd{e'kMcK??&N[x?lKi8U?$n+0#̈큦yɞ~!u{MuVt^ D}ɀ vh`Ѧ{>99iv;C@mE7fEyj]5K47}N/?E까8Im\HVُVz xT^m AzD=Bgxot-`Oghҹ)!=Rj?s a6fy&BE!#~_"QCZ6v[OgݘHE'C5,%Q7M݌ZQZա@'B3& 䘥IZp9)N7IdBa?n[} zoK|@v0vAk@>Iacx2%rƷ{dmZ-ؔʬ[_Ѭ7iYgt,Zg}8.GjRNvyn$t֩3.͐ڛ*h$0" "y^`&,4%5,'*jԫ[;&62or5&])LkIpM5{D{:RzX|"~E,*1s hΟr.trMdQ%Y>vk-wʄHI~T'X8RO8@@\ <8y侣˫4NIfZ״O:pnx%8˘+A%ߒ,}"I>p!Ѕw4Af G>^)ImvSwềl} MwϜeAW?Uk$))+J"so !MY!^6ٽƫ=@d =ւѻW3Bg.(GW h_ cD[߽d>[Y fkçˊ>T, %K҃'޻42Hs-NQTfY!hI3e)/o09oӔ}c.D}]'ʮ˃X2(#_ 2u@oP u+1'P<֧jοu{+)Dmd,$iV2Eac.83.$|M^(1Fz]4ٿ6+N u[_FT\GzWPyC`3%O/Ca>8i]4?hj© 5n/+Ì]aӽPU-XP.> ]oz!I[y*m_y:g{ GNc~:[W\~tU7f4R nf#oԯ‰5{,/YťS^9A?{)w`;]棩ѽ|J+{3u>h$pV7Y}ҁ^E-9}4ba^9sYEfkX]ԸC2Ѥz^O75(\Sq./4CVWA )oP]CŠnW˝a*Ywzm.yğo'l S }zY0%WqV?JH3%Xw6 USr\"eV$UCj J9Ld PU,7 QW#H 'f4H!L.tDf9G˃^_T5LFqߊ3,bqB{~|pNӽx:ڪ9tTo2hܤaלQT5:jTmWi+.:P ć <|baoPRbźoJQո}'8o]2JxGM&nr|XXGeZF*RqhZ43K^Dve5%Ч˝ |>Miy%;[g{njͯh݈ uB0 /W=Ӂa3-uWj$y1?s(.sU*Vt\lc؅}&jiwr|=V`[zysnlsjm ~CL啣YA?/ F.ev9 "g9(3AY0$N,n Kbɢiqs7± '2%VV5F]wO΍t^mDfCNq| H+F3B:).".vS "йL3K?]J[dD?N)WgtS4,#Xh*DZ,%FBcߌKmV^LMeR,?sy͹~A;(p@ܡ,)^fI+b$ʣ[~!=f`[Ѱ1X:r*,B+;0Fx3<7ف<'GR qB}l%zQ/\B= Ύ$cb?K9֨Pν Hiяd8" h~ $ y&5aMjUYٝ@Z mJyo8͡siGjnM2io B(:tV .Ly}?f\gn4LKHzkuW)P%xn%7ZF5B(3R`jFOê `PaTu i_%0NXe?Ї(>̱ůsK"^fȬ7{q+;[Ne~HN7suւdyьfrnOf$ʤC5i.LDe^k&0 kiNISNhsF=2z&t%hUA]>E?a1RUSv`><> kDםj I?\6X-ɲ']Uwq7$c,H O:zSA3[8%TwDBr@>Pe=_0u| w3Ky ̞C{DOМjz|Bd⤋2aK,EFi>\֥+u V#׵qGPc۔n<챳/p%-qY}?wFlj2(#Mhw_;( #C;{EQh[z{}jի>paFMMRng!Eb#te I%[{:49l. QDYIO̫  E~'1а F} kf^rdo/#x+?opZlFXV6%('ذ:e vZ\\ 75 GıbUXV-NX=L_?\y<9򌂔hή,P;gäzumE3OQ %N>q8 `骏v\lNHoe>rUQ+JUz+IKCtik\ƪ!HJiM#&MT ن ZE?j@2me0yn&H3`Lxs?Q6b{Z ㎬ jbR]ݏ`F(| Pk]hPlpn֝>4se•OhAh"YՑuj ssaxd6Aa`+etgn,16-LٚOܯ6 4Um.u~&EX^]ϐ-s~:;f'3]'͍8@%WD_$L~.OR>!Sފz^-7O {gQ )ZZVR9ڴ~RVvgfMSc7E;cC +‘[Ld!H},%M I} IzשdPz?sLb9)roWS68J_b2FHB˒l!fӿOL-,=j{5󧲣mϛ%w47 ܴb&VBP&ɀǮs1ꓣ⢿'WW]Xؑ>ɐNU `,HsO)%qnq׌?B_F-!#l&`0nhhի3@cQڈi-I2%]H"Gn`7< \`̉Dɪ큒Drav'E[?'햞(S2Q>~(&F/8 B2 G4u=ngW|P/F3*2d,=t뮫[VGI8sUΞB w6,G~3vݳ_Q@_։5fK\϶aܸ?<^("UpeͮYX>!7ӹ9]Ŵ]P(Z)W< D5"j&)ձCĜGTR aQʳBҌ3,VqHӆ!:E52~FdBۣAL7 (\:6%` gOU|bB/KdTw&tXU܅Iia*g6wSuC>Oj?cCLXs:48%Ucp'ӠOBJVultyp]p5 Šo8+u4%d.RoowpH~UP>ԛ$<A< h:Ͽ)YI2 $yW~/uK@ ÷hԞpg?hg{IoOoKY\IݲZ7*T`^_h-s*y—JM@Jծxf'gVMUD{881υ, r@" E ZD5.mtEMqQkV[{SѠhHH%n5,ZtbŰa^=]n_#lDhG<4V̢%sEJ>\'ep""2K}=.wN7$]4s.p<ΝX#x߉N╸ NKCM}'8(Inck;fX)b.2Cwm[签,C=7WZEV{WlCAF~{-:8e' G\hOE c(O1$vZݮ;ȧǏF$tĈdoMn&W E<i-^#Q)dUa9MсϙN/N] #6œ,c$/^F*vQVҨXۛZn.$:TO.=6<5CLl *^_:OP';}r0Yp$zp=*棓/ԺGR Q}H6&Ki"c'C7$\@o^h9rzW5ICoZ<)!u@uI!=h*G [bFu^zv >ٛ1<) {̙o#v$IPN+ԇԪYIL֫1H{˲i7ʪ{)/g^z3念zJb!G3Mf;fȼOb̲ݳHgG$Үǝnk A Fc]!0ڪJC0&=ZԸY&i"G97&0$<)NKR].5vL2X%R҅;za C۩5 $ f!0ǧiV 89Z\'ڪl(} ͋Z#3w)x~*&3_A3 G?nxfO^D:7l{IIt46 RIIw_ '2 JN!{5?F%!X\Wuˍ.`$TNDi"C /ρ d#>=6W, 7RUV6XU*fA21MPω5: ;W?<R(Tҡ'/'44#E{>jPimE#C=&)NV 8XkU2`&ٝ:hK]TiKL"Uz'G\{XG_x=>Sx fp>yA]XFRtw>߀HNuҫrXvnH:A% j Z^KᜩꧮYaPy M AZ8nj҅wa,dYxe!w`,'i3'NKD kH贳LdEu,Y#~opһ;SYd$uGTupR.-wՠTochqN$}iD7SdѸ|w{1nLc$Jꏉ$,5Ռ;omoy ҥ;h042׆CtALK'*2&]kvTghQ& dY!˂):ܛ)+.aAAڴ2\G\R~՛Sz\v?ʴ!29)y:i@ː:) U7\8٨_8+cͧJd'x5[J90< >fdT{N$߸K\XK sr4wg*Nc $i0XH7"Wq@:Uu+իr딯~&tErZwJW7^v\'u/mrO*&Gz8W)Wz?2VKτ-|]{|qa#׏$>zF4Z4hΡXuǪ>UJ9  fiFq#Ԭ,N@-{&Ze&i[Sn1*Iqʫ-4FjRIp?j<DֈU%׫ M].23A:j>NOp 7ݧ3 zF3V7Nt΋DNMzYZqӮT7zގ~y^?8O?ƦQ *Gǩ5H!Y=+ԁP]ij5;:y+?x?4-^PꎖP|d-PS4X!]V;˯xK6󩖧̤dع"+8.__s_+6 VhN.cO%:#vɎ!6X+xHB{YiUe! f9԰B])@c5 "TJ8C(5a;L2sv;ztʎ"cP (mqԌ9š3 CeD!kj aUջxVM"Lh~7kkHZ__5x]V(>)WsNP~Q% XqI4U;!! So6UK:t*7rָ>PBͫAjh&o8 5jHE{:+zcsժ6`r߮}[?F%hr*ʒ1;UZLdl%$ PD1B b#ci!rx({+?NZ3Oc ֥\=oV;ѝr ыd1DueEm: akO/IOg\zoGsQ @M3͔+I%C* z+fs&,ĺ ͱ&Ջtn I)l¤AJ*VFp*I;˚LGʑ~dRl/ȠamjMRw]Zb<JBCMnۃ ]1V!{k5~FJm A/"O>G\F),V DC!K ׭;$Uʘ@kZN鈤]Jٵz{/밿e' {:M'I]}u$ QTFGT{:*իbk:o~'W"'Na=  TPw%=0+2f GqZu6 /L\=gI E FqϦ]@"_M(5צX+T_}@O([USw $y˸#˾S%%, S:Cr*v%RɞЦteÙvY1vGh(J0EҲps@Ne~J 闸{A{N/׆]2`.Vx6%8Y)+9#'O&BnkqH^@Z?$}uPh59GzY-7< n,Od >Gnоh7NҶ8.4\p~X9e[ǡDKv~ _5> <@hqɬY@g0,=, dXI/ @u0a70d=4_M=;ه A״t3NXSXWGׯ YJTΫ2ְW{EK#vNJϻ3NbJÄBlk-*Tڰ<7|閾CEn= z(urDG4H2tp x@I:ѫz9JUbmȒ̃֨9f9 50S 2"1Jn0.ȔUgN&|[b8R'Otnr4ED[BhhX.%qZH`OG\tln oQv3p pH]QJ-̙ٯs?TXd/_w#+ RrPI?J]O^XM.SfF[m w#V:=.bv( Gw嬣QM˄~H3/Mh[9#.ZS4aW5MWgUM2ZbG"! M3 D6Ȭ &&T Hq\!j9Du2j-07:xjI]+ATްYކ lcʚ9]&[PI܁s@[nez_hB|$u &_Z̝V5Q툨Uk8߂AO@uոSDfqw<KoGOwzq4, V+/{j'ڟHҟ(N-7] O&Lo"?Kjwd{[$ f< [v٨ozK{`Xx ԝɬA%|<%J}*YR${ԛ4R#~j(ID9N+t󽮽'ͳM09GU`&͗/=C]QV) .Ta9?9 &W{7}S)Owyg`2CP]+PI}!QZ[k;q:b𹬵+`# :'H_X"R_NM;k=Ϫߕkvd8yaJ<`G琄3KA?XoupOXu"tyLP" p43Ee]]? (E㊇K ~C^M& y '}t¾$J|f!ӕKr"a[J", |y%.mb\gD2ja{.uQr K]9S{Á GsM>wJ'٤~sǎctGz-%Ղ$H&Cm䉳vlT \lw`VCW7%o)?մAPeS鲗u3q>b]_t`-ADVDC ʏ|rWUẃchPf*/)(e@dVy4C `[юX&LH#7{~/$bt]9Ͽ6Qʴ#4c5Pod"S E}M5^["[u ˻@GeI2@ÊpF:oD$Lmk2wDB{lvXbg|ŃxĠL2u; Dv UkIl7:'_j!رȵiE'"Go |v 7rZ!\^T"jY A|!:D!K) ˨Bz',:}E时,9ThW͚ґFJ/@bk3yLxMT/z`DrvwHx[Msb[t^u. ~\NWMnB4GEfgGϤ6=K 9Fu$ot-l4I "[$xA=Cɓo]z0,!4|εÕjlJQn>4&  d"- 5uTm^khS۹˹Y©`ROHF#xm/9h,F1^oҤ2ooOwKR;NZ;DĚ4zl H"d#9*\p BWc'|6x! rtzpąWpQC6P7I}00O NY_D |N3c#d]ߑպ+9^Ox@iH裦dPߕ$B;G٩8$B,]?b+ Qv ue  ٢U ~+(ѷ8f;%~/D3^RT _Z>8/]ZY)`%sG8-ζ42[֨"!|"#M^* VAU1i4hToѷI| v҂zM >:\ycb ']o;@_,6;IY] rcxozEݧVC#a6tig^K&UcB3^b4xE8Wo*tXG!q1C`<&{fʮo G@y {D˔ ;NO*ZVpԘZtHf]w5joMhv^5T8_+.aG=2ػ-4*; is#_ Ovp}ZBQ=qKEΗι.ws'b7;Q괖\ n&@fe'~'QZ^s:)3紗R1(A?8N{#*f EOͷkE'))~lކr`5Eݬ<+p~wz;uČ.K<2OW*Y:7%7k7d#ߕ.xmC~ %g HJZ"#[ӑ;FE#qR'OMddzo'g_}2-4*7s6g)嫮tlK@MLnir'k{Wzѷ j-A՜"[ɹ%DOv]īJvV>(UJ9G{Ŷ\M TM ,ZOA@•_u>ZZWؒa~l=e:skHTbiscqnd6h*j( lZM R|)dsK/𝏰c#oŎ!s'Q3goBe*O|YqeNs$9dEqڇGTFW&kvrx o(3v؂% j>3T} ^=:zjo&)9i18!B |ĩi}M^<2vFC*х(;rk3Tju}WOo7Qvn& @FXھ=]צsV8:;8}ԙrO[ m2K+٣Nр,`4Q)iA^Sf&Oq9f[ KNw+?*:S=&O~3˹ hPEGc!M2;|t#:[L?wdT%9Na؇J }@4v$#R.)Dt]<|joI,kQLMׅ9V&.فQ%j<{y3e}*Xo 8`~T8VG/b%M`ne. Rs}1t9+k`^"GcQ3VǏϘ**^c! Đ>]ѣJ#b,m"l'%i8lAx6'_h\iTp:U!^]{VCu;=&UUk*zd͹s_ݾ)覤dhtIWpH\n?JېNjx16Z牿<=N;(|+qs_oU~44<Bb]WKOE ({x,k.n*Od֫+ծuolY uzx cpJ n:ߗ/H |~`,P gd}Zg?@~d`GPLtI@  ח7rNy+ߟMi0FyJn2[lSo'B 'vH_Ȱ\P\mb:_Su9[{ȞZc)/fMh _mTd lޝ^jof5Ѣc[d(Yр7G7;Ğ ԋ؄kC_'s84eju6RF=Yz>lOѹQm‚޹+2&2JiPk,;vhO'4\yO{}TKQF\,֙]Q0vRbtWHWxxđx{fAXiUHVIyhCĚqAdB,ܨ XVy#.<ĚG dq:VB[;8͜ Sde6`7KtNg9X3(3EIX}ÕdlxG@]bMeVnQèW3 8~;)֜40bޚnxM M|W\`1rY56uH#S$ 8[:FUqd  wFD=A~mƵhs!R7$!ĘgTS3%w Wb h&qfZgj5:oe`"?Dɀ`b6G1e{VD>(g5l IQ)|]$޲ǜKIW2X XL;kRZ#gmc.FN6hN3 au6⑻Ǒtn2rdZNȁKqVc,Р#5Z-.H[25E S( {fz[_L&_8rMDiLܦ] LңY/f`AW̫yZh.#r|UjD.6J|Z=Nʁ"G~/N|9Y#^RuV'SֽilCHPRFܣ8Mgw ?AJ, &L=+cSjNhL4K/o/Ou-ÐrT:.6F:fٮ=1$ ʊ.$Vz?OvoFSQ)TE)qvP0p8 N BH' A2wY tp= P󛆪ݱjBƖbKАzL 7JQ9 nj$+){֣)L=7!qHB1;@Y϶- I}(> Ġvµ ,s]T%&+{ou6ƀK%պnTsx_ +WIQ='\fRHdv (aSGv'\ۄWڙƵzVgwCkq Knl뀆]+5[3辍X@,>x^/BK7p?_s>"-/