summaryrefslogtreecommitdiff
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2024-10-07 18:50:02 +0200
committerThomas Gleixner <tglx@linutronix.de>2024-10-15 17:30:31 +0200
commit661cc28b523d4616a322c8f82f06ec7880192060 (patch)
tree9ec6d69b4c686db217e5c5cfdc9935a8b8cef323 /lib/debugobjects.c
parent49a5cb827d3d625944d48518acec4e4b9d61e1da (diff)
downloadlinux-661cc28b523d4616a322c8f82f06ec7880192060.tar.gz
linux-661cc28b523d4616a322c8f82f06ec7880192060.tar.bz2
linux-661cc28b523d4616a322c8f82f06ec7880192060.zip
debugobjects: Make debug_objects_enabled bool
Make it what it is. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Zhen Lei <thunder.leizhen@huawei.com> Link: https://lore.kernel.org/all/20241007164913.518175013@linutronix.de
Diffstat (limited to 'lib/debugobjects.c')
-rw-r--r--lib/debugobjects.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 6ccdfebcd807..0d69095394ee 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -82,7 +82,7 @@ static int __data_racy debug_objects_maxchain __read_mostly;
static int __data_racy __maybe_unused debug_objects_maxchecked __read_mostly;
static int __data_racy debug_objects_fixups __read_mostly;
static int __data_racy debug_objects_warnings __read_mostly;
-static int __data_racy debug_objects_enabled __read_mostly
+static bool __data_racy debug_objects_enabled __read_mostly
= CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT;
static int debug_objects_pool_size __ro_after_init
= ODEBUG_POOL_SIZE;
@@ -103,17 +103,16 @@ static DECLARE_DELAYED_WORK(debug_obj_work, free_obj_work);
static int __init enable_object_debug(char *str)
{
- debug_objects_enabled = 1;
+ debug_objects_enabled = true;
return 0;
}
+early_param("debug_objects", enable_object_debug);
static int __init disable_object_debug(char *str)
{
- debug_objects_enabled = 0;
+ debug_objects_enabled = false;
return 0;
}
-
-early_param("debug_objects", enable_object_debug);
early_param("no_debug_objects", disable_object_debug);
static const char *obj_states[ODEBUG_STATE_MAX] = {
@@ -592,7 +591,7 @@ static struct debug_obj *lookup_object_or_alloc(void *addr, struct debug_bucket
}
/* Out of memory. Do the cleanup outside of the locked region */
- debug_objects_enabled = 0;
+ debug_objects_enabled = false;
return NULL;
}
@@ -1194,7 +1193,7 @@ check_results(void *addr, enum debug_obj_state state, int fixups, int warnings)
out:
raw_spin_unlock_irqrestore(&db->lock, flags);
if (res)
- debug_objects_enabled = 0;
+ debug_objects_enabled = false;
return res;
}
@@ -1278,7 +1277,7 @@ out:
descr_test = NULL;
local_irq_restore(flags);
- return !!debug_objects_enabled;
+ return debug_objects_enabled;
}
#else
static inline bool debug_objects_selftest(void) { return true; }
@@ -1372,7 +1371,7 @@ void __init debug_objects_mem_init(void)
SLAB_DEBUG_OBJECTS | SLAB_NOLEAKTRACE, NULL);
if (!cache || !debug_objects_replace_static_objects(cache)) {
- debug_objects_enabled = 0;
+ debug_objects_enabled = false;
pr_warn("Out of memory.\n");
return;
}
ht,-{L!żފr}Z2a` Vϯ[n>/f a{qy岢oY Kz:~n9aQmxm5W/B.ٺț1/] ( \!{#`rV.߆ZžHTGRo]S~*N=S[a9Lq^㒱W6^p9[ [m_[;Yy$n2iOp>?7.6k{)=]SͻjN[*z cmeB+ob+75oJ[:50ƱRP3X[}_O?z#w`]G>tw'֊̽[&s| {աtDL>-H -RMCv+LEe뱔ۙ$:০@~.ѿۂ;oΈaZ|˻*%…*P_iȻTZ&GtޖI\ m p::p9`N^5g]"p,n *{LʕZ3v|%xq\rcF*۶mv1boKB % % ,jXՂ1W8$A*]VڶUm;wwm[-Pj%ߘۢ[=gIEp}yWmUUmjcm8⦪ڴkmU 6ȋ?xww=y̽:b]ue`j`|`m}&#|d+JɎGyve932[qlg6j0 g>QJKvlR>yv̫ZQ9';Y3>u J΢X#kʹBgj*(:] m/F{٤[;=TqI$I$J ;׳oW-lg|!*+:8_ߪP/_,,z09~fl(+0g,cfxMrH Z@0щ!"&  Ģ"c=tL(?"7 * t;2p20rXDWO蟮lޖ4?m>o=; ~n:ƃ;vGۦ)3p+o &8ˬ.} A?uves|Jh"2=8.:ը"vCpbBv~Eu={~>^(9|D%*Z.@ c7=39(լ刌$MyN/w˼3P`?;??<+tcϻsO6x>#BOS8?ؼ胛G)~E{}=tym%kbzwNX.mSwìs0R ,h43{?n/>/gE6ai=g(+#,} 31RGIqr$6@j/(y {mfa{E8[MfE{q v]T6z v?YK^uw!ko˛xf@D89&eLj3+g_TOK$Ih b`>0Z W;w#63f;C1U Hn/^$/Pf<,r&ynTGՌc+?kI#mzSSSs7|)Qޝe^CɨFȌ%ȓaq|=,]En׵ m+sPwkTaͫe,3Y#6:8PD P*t's,ǹM388%%bjFzLiŒ^HO0oyjZ/{q69;ζ~g>~職($لDsA%xC|3]pa{H2w+/8peNذJ^X@gm\rN( {@kbk}K8T4,p /^ )_{{F傠@Q #ui {"Fs92+(<V!ڸG5u k>.2r=eC>z6"n@8s\DTNMn=#}E1a6 8.)'T=)^ ʴ +oڥf-99Y9f@ $rvT_LyyTN=F?1ZbzwDo|Ep0֨|=g(-K {Yw/MwoCź4;Jg1{!NѺN52 F;7KM;|wwYvti`Q"95RguN;x&+ITUJWunQ3Lǜs+F/yvڙ1GgWI\,(QR?kq c\΃T[/=OmܷMD?YVKFebN푁mk,,:w4 -.s<9I gs/-GXkinec2h!^hqr4dei ]2_dxkdE(/D$:`9?E#,;( %:jjJ^ qsf5Laa3X$vst#!C;}gp_guIohXo<H~jXj 4} .u0ޗט[v%u뾘9('$ACO3$k~v%e#>=>XYхiM:.b;-O;u_y>IN$X@x{-Kpg> =* (xGXZ㯯uFdjpɇ6[}Yeҹ}FR+z1NHbxZLWds٥NΗH* -_ƝM(ܐa;v#u7 ¢7gZ>RDҪȨ1ݳi umu(wN.ٳwWOx|TͶ\1ǪC))[½=F J.a:1ŲO/uoZc']9.Vmr?bc:փmn,X9J=<%Ap'Wz$.rk%2Bkm0]MJY,[8;]kK7b&'eK[v3 [巳vҾKh:/5 (FnH?CpUM(g*UgXaJzzMbeȪueBCS0~ uIq%-2aZۭlTrx~K >#TE5&wY@041 GoLLt :C/# >t{p:8mNËQi: 9^:tx2!0'HiLEAi!)yi*9!-읣: ܙ(7A*s&;y#9ar&%.v&o l6/(Xͧ=s}&7R veʁ =.o@r?FogUuWP~4(,fs۷փ$fƾ !.N/0 ǻ?2"2"V} % {R:Tݏ[r~s]d|{̆mF[RO*/ҸY,A)cɣhlJng gw$ Egz0 T !Sv xGJvV]gSŐ][/AB#DF 3I08{Adt%>}C6+#2+tĻ"WVtY$rw:]Wit!fȰzNl0⪥}osfW~?HMK[b,qq ߵ?D$oxqX5UHL$> AG%fH'ff1?QP?U\q%sARP=o`&+PU PyzznRFm8wt*n~z|<[k]|;k!75K;F]. ׏7py1œ8wїN\{kgcnj1Hmtz -e>r ;-N]"3"(1ה4yo/x#x5!_Av$ @? cӵEۢ/p$< yR'YQMmPzL @waXТ^@3W_.qbRM}^~~WXr˶4P߄ |XŞhҟ(uYQd%n~hlK ?QY zJn #"z֘='iwZ38?=GȈ@(F=^9$uxVEn}l*G%4G_/痃]ZIP.QĈڻ(Jn/EDR&G7iҾW7|;.}Ybt^Qp+iό9hn׷פ0妮/9[yuNItcsڅ>>S\M.lG9m!^㒵9x~yk7#vh/L?XB | N^g&1N,h8!e5LF/B7=O>{d e6bTȄ%S^#%) }Lm|ZnS/7DaURer׷naV^AS겏ًȆ-3ˤ0+ DDaœ><8E{ Wf8p+7-;#!Õʉ UMPJWX(%4L/O ~?߱~[mnt(B'N-΀pVXv-˱s%:3aKpn_?JNv|/t>f#[fng&N#`dŔ5rN:8 h`u1AW9]IΛٴh`#Suva"za).7*r[ou%7yysaD ?h{v('& <8$nOJN!$Qzq{T8Xdl!3@>#FZKfy 3w(ĶЙQXD.muձ9ͮ<1 Y5ugC2v!4· ̖(r9Uj ߢ7m`;HFT|AI Gmm >7~))03Q-hnzJvze\UϣUV2n#@I {}(=;4c'r 4uٲ4?o~Vqdm<2P֛(K-WA/dqS2K**X_Ǘ2>l,>W \pp(nk\ݎD@%G+B%Ft\vdUJZ:^2UV",]KpݮBEb:Umbw ͭ ^丢 *Y@ 5wDL.$|#聆|s.m.TB(fxm0w? >p^R#b;UQZϱh4F:T []@\6Hwl/-rkQB8),9,v9il/>Npa__Z eݪ[f vQI1y 9<6Q:)D'+)¤!'X;{g>B͆h;JzcMvF ;LJDVs[>^68]ۚ/Mn곍v tO&[8]@*R b!NV΅OD@ݭ߻m[9' (` ؼL mc[A j 9:Y߳;\탪&1C@ x:g!+D}|+B߃|wukL݁GnV`@O!ǵhD7m̏D,X)Pg*[ ю7&mcsv,vݻNAH)cJMdx q$'n,O %͌#I Aq Y^9]%Ɛ`ÓdC&Vf'TNPrTq*Է\u@Q RUT.rS['7z~B$ `@(*Hk X CE"['rHBF4K!v`PE!;6[DUpTX@l@_>]@}zD홶6pl](4RݞBwʜF;lEQ`R@D ˁsPdl6 <19õ h/_|-k5_%oov+} ]6mtcdpТ(*AH>eP)wkJ8lQ@ PzAedGwIg[kB:gyR~2@אDX1._ݯ۰K. n}%d UAzjj\cUPmIijf%ӝn|L8U9\!S9xkm:8  ]7[W ` @}:Tr)?g#0JUwH_Mh hj٦Xw%,a6・uU3 |I^4(sVļzHtߵXE) U[/BKMnyνGEԲ(,d: 5/=}#R4k$PE*b1(tecrM@* a2 XE17!Hf̪F9@S(ÙNoes(?~xZ<`(Th4wSQSW hԐgjzF+bOdaiU#o֊*S#q{dDSK|:5;>)էlebe"4 F5Vszvp,neP4w@a p{@|2:EQ+vcKٷ): 3ݑtW3wWSDxyt2B@]`nR u#qvB h,@ XXY #@Fư]rGE`B=]@%nK^v='8}H#5SqKQR, ׀ (8[2=VDe }^maO G Dw{j=j8 >w35Ȳ+-W|Zawtkpqi5/m=ӗY;}|ޯP :n㯉w&A҈ .`]XC$(@e`}?{ |1Kfvesn}TaH r%/+z~ 3 E}T6s}S+>d4I^w^VrcӲʠa̠+XGtؖ@zk\4"opes֛ Fv<;uT;B@[ِ&X;@F6tmVJN)>.ۿ#(Vp G jӫwܷt;=]`?]NRkgZ^kUf_1A7V(=Kc$>M4utKtjf~&6LFi*k]$q"D_*6"]>7Qte@gwF:1 fI 1CN#J1hOwwj NH!L(v`K:p.B0x{%c#;Z '#9{)l%sUK3 sv(kMy{ǥ7*qI0'\ݢ ɂSv0 0XDS5$.] m־2[Kԃ`_pQU}gY1 ǿDy:YH]C)şQݚt0 J$ɪY9\i$bb-L 3BhUa89 rLRu؎1Zկ{Vtw[j0=-I6ev'gYa#%m1|ԫ4C:#!ۗWNÀҤuCACv#2damغw|c'R@kbcPxtƧ :PNuڶ%]FvL:dg7K?dR/Oy5 2T5>}=j!n,x5m'uCWͲ4&͢R^{u"s;$|C1,i9+^} \hk8F2:lw`]f]S A?v# ø2n [RX@W' ,or5-QquŠLM*' ߙ yoW?WLnsy0>\ XyYIsp 3u!-_;g|k\}5zsFnz,@=-@pH#/F&a٩O_Lb7϶c Ń-7ݍ,IzWn?<Pӻ7ɰy ^j/_>qv:^շCv_?1;~],n>6msmt~w;2@$]ޜA0;wG3+`i*R[ZQhy_D\4Tա@CjT$CQ(?h|b Os0_H3.ScnN1$wJn>{î9.wdۏ\p߶07"mOqڶc<7LyQ#Ψ(xI>=)ma5/{AI,O`%BfP/E}W:Znw 4Xj/P0wvce$%7|݁e["J=\6tF';ƇO:8-o}qDl"8UZ|WH'{=<XX xm(7; M8@2,J8FOBMFa_ 3~9戒O(y;==sכۦV&f௷- H5U+<""'l<2eGwSo|Rɂ QEpJ3PMъ-7*aI&m̖˞YNw ݜ>Y.[L-dMƔ2(~'l%-Zf CğR,ZqC75L:!=wPQP@bS>[}p>o|i=58vci/27Ҕ{>]wls}w\Za1dbImb^`<#t2q*OpjOP-V#;_[)GdfG>-2zlpI~ AYo69ERaUQJVYĮ uXcq:G%&jF=>l#Aܠ ?3#ɤ_󀚅wj-ֽeh0f%"a6#ATn6~e]D1n5r$;XGoݲo[Ԁa.i@f(0%s! RSEF,PL jJ%Qr<8p En]-f\ wf;PsqϪ\^/9(4R/B=+({UCn;w[~K"x xh#r}6[p×v$Ѭ CZYTW) A{ qH\Ԭ>0P}RBV LyY5P`(6 8[# 3lӌSO:kd6s-"Y .kߢ`OH)[#tX!?\lO4A uXލK(%)]y\|ٲ@Yf]퓫GCG٣ـ^`[+UMzE?(%RF,+M۫HΡDQzSaH\fjX 6]^B"y* @Csj9tBq43c+E֔\UiX2 oݽxWC0-,$PuGzgv0M:By_:%/l߶Nlh2:YL,M׆?00ˎOs;-:.h{V`|57R_L;@7za ҇<\UOEMY1&N'=J%8+q9ك Eoo ~΁͹p5zjl|KȸC0˥A/b3( ~ƍ顊"AN5V{UO?Ú=ͭ݇9@tCQݟ|$>_Uݛti͜SËݴ> #]xO!tN!uR+*JʁSyErKB`d S^EW~8xs?ܡN@}P0c:k(N Sуɿl-AGq֗yo`FŀH8Qe<~lrv;H7l`:@GYzos s6)|JAkg[ec/XQ}jd a?Ih0ᖝdz;7N5Xzc:T*7'tξ0qc0%wsYZ-x9|3wY~~;\[y1̚xRyn!¸0 wDG<F^F`pFhp>mVLBDs B`8 Na*1P볿~kHHnEBF q {mEJpQLt^@qr\?T!.Y1ߪT?3 _{yUӒ XX ]-mm܀Oh-[%ebIR l) ^1|[q4w=܋"=z\rRx|FUB"&:#nɠ埏^nLnzN;'r)cal?],}j3L"'6<݁`,ENJFxICP++hٸ"!Q)^Ϊ,".6L4,;^dVkUG%ةDH/{nB%`{RG$qYN;BPH̉ "bTI5d<;:wcMA+Ӟ|Vs<jNQWQaTB}.'vCP@ .G.~ˑ{"GʏC&jCP~<˳)#NnomF]O + œ<+b4"?pO :=f=>A6b#C$&/f,NQM}Ft?KPCv>.,s"[4q?V8:Ω߻])(r) < Lyd]e>xXi0v?I.r={WJz֟dw[39ՍmMԏ,K*PE@[?!Jg# J[I5#b z6v ԡ0^|5Z, f%v ol9;י}!dR܆"[@t(4D'A3"?Pf)^r47{Btb.bPĆ RBCV*B!h"Fؘ콥a~@eGݮVg<kM9p9v1wlRLP%yd,B$76~ǯEwC#`Jš=s ,,ڂ;i^8k5vڨdwdxvLZAvͫE%%"84l1 78.H!uK!li7v6⌏IE &W5#R K}mMH'~߷gvzS{ƖÊ>Z/w;IjCaRGQM h@oRzoF˾w#2uQ%8'BN=oe$k.,D+8-xz~-rw&`JcWU^14s ~gzj ]({ 61 Q lJßrxXmnrbʅikS;{ l5 -%P3B|beYd}n0JoVU@ ,x 3| *>5M8 aY ;d{ctlvlZ,5t9]dvPVyV+z^:w-zj;_J窶AYpvCs[t!n2hp\&ԎxB^ѣV0Z];A Cbsy's֥wֵAf}d‡io>=(:`4 ~ /_N9Ǯuwnw(Y?E@jteتh#vc-gY.|Gjې[lZ}ZL"i+F+`$[2ٛ2yk:0US9 Mm0,]{,O3F4ۥ$xs0ix ήT__nƜ]M6& B Q]2-(3{ jheͿ3,%(ɡL^BуN.s;Eb*w~hyW(_hĭe2Lebħ WDYkR{QYvi8r-GރLc_o%+pUEEGPٟ&9(ڝU?!߯]Iti>.G݂rIdr.=Jc$1'p͏W9HNY/).n-.EhFaϭZccL H4fjXOVnWE#́c)iNpV d;2R&EZv88ҵ-~~;75c]'~9a $(iF-X-y~o%Ԫ8_F>/IDyPci^P0Hc)sJE!#>8垫V>DuZ}фS%Ka'<G2zrهv#LK>C&G~X),ShIK<\uXo̩a~kvyiv:9nJpo-:Z/R~r{`Km0dDAݏWSi=v&+%5&}.1.d "d3.8{x C bQ{unNG:dzuFy"(6jkqXP1d@.ͦʕƷ?1)3Q,6l2ajDڅ{"9:Vv[^H ~<UG$-yɓ[QFuPO8*FH{LK>NӔqR+u% ˕- wb@=.űߠ|HDGndC0Y&~kH~ _L_+6XT*3o#߲-KtA8b^@*9X/>")s<͗=SZa՘~gtA%y-PkNnn*#Q0Ző-#w )6pzh]NIgu7F gGhq;!5 AUz } ILFCu>kH9hK(Q04cN"|kVvpl*ӑ %6BTbϩu>:3a%W^#5qܮ-46Lݒ>{G>W9 1 ?|xNi >,oDpb!9";iT{d)~mTxw5_}?x_9͒0ڜGBt.vM~&\W|_[& ! uTX'sﺗ5έksz#۾ _ szJP0xx}o$}USکٗxsV&+SrBSSH*.ô8Q9+BIǏ&@;:PWr0,Te O,posDuyL~QEMTg5ʽ /7T@eU9gglmz}G` @[h>;:=!vdomC"ғ0.B`WEDg8a>Nϻ3EZXhTA id 7 XEQ{FXc{(oC%at?v< <+nr`-CF.~oiH8H ~W!5״OCcd)*\uŐK>= =h̺7k[ñ :<:FPJ.Sڏ}D9tU,v漁R}^L|lh@)DOg(tp#o}ۿ,fcp[UC-gc"3gt3C0i b\m6Y7 0&i)e8䦍/x&;a$UP,NChIs`n"U5F/C@bIz\.!=P*(Y1iy lēǿ͖ߣf % YL: .5.,]\͸ kG%$ CZ=lNCa)t1xp('ČLжbNʵ]N,V* kٮ)Qm]FmԎ#i:+Js-9J|Bl,(51 ysJ̤\."C>9H)\ϫ̴{_fO ĺwu4bu5GegEQqΔ3-WAu="5XUL"`kb)1)8.qxP!H$L=N6-h"β?wi߭ U29YbpwTsdN]~ʼY;$2 MB^މ?s;~Y>Ouĝˎ_+*2Be^'3áBA!0klr{O9>! x+c M|la)8qz3ObpM޾:K{- diBZQ o1"ǂCv*jsbS#H[Gd7Mg[-YJƥm(3D9 1(( lrl,<L D)XčB06\gF, DʋjRAVT醂$쓃![43+euH_ߍ.08M.Q\ׅM{Okw1`Q2]^* Sp#)LDodVp%tm2&-0pU\2/V(K[ oKi@v֮Br5Py/>Kt)ϯDx&XGcꖼ3~B@BgE9|-mrرWpx`΁gQm1ew/!g2}z[.Et S?Uw\5(Je:7% .sDo8ΦIjfw>N^b'C!Ba,!۳lu=@ rG|\vЄF`Bǁ%'/uCдTbì'NVo` \_q'jԨS9lTA~>Q84g}w WC(e\U qEA; ҇'Sxt3`$̎jt3z>_10OA>fDњ"p<6WJI?WQk.oO-/X8W.s?7htf(ヵN,Q~ G:Ŏ|˩=K>=%HO{-p}YrLQ@k`H&Z)}U D%Uc)tg~og3*NgDnUkgcE)jK {yu~+*LQtRKRضoWs'9^ {NT9 wslp~=G>U?Dy_Qa>>jOQV^ڕ:]RjnW"ջ|{, @D&]}\_FPDp &HnS1h49AtLRj^$3 8{|^(R{#[ ͆TR!\GAԢ<&R?M̔#t HU"% Lrz wV`B:ldAJT2˻^w:;c? 3s5S X,}W67ҠKx / 1r)qet xLMcD`c:ٖ`zoEq|nZb=ݙs*φjɨ)ao؟$e/p8nMkp뱍 ~~{a?Ξ7%p($C=vqE7r3lBV"z`-, btQRyhyB3=AP!q ~LhEc*}y@QҰY ;vGg0D4_ ݪQ% !G 0^k^qwAh~r5Zd⃊y&ڙ߬uæO˥2{5=Ɗv,^gJ}WjrEuڮyyB 28Zk0 E+c &}ŃD#RF0Wj 7s# EDS;e*E{x(JMSۍ,dǎA e?*D:N,zQiUAO"aH',Z~mF6wBa(I$@S[sUli;JB0kX$A3U" /3r^,h\4\KfG~#A!b{LfuEI['0h{{ ƦǺ(9'lKyAwtw py|q fedIs /puG1}fGu\d*|Bo,y&sR)/Ie=ݵuE/O 닚BOak)(Eq|M]۵s}rǨ珛{@eGC#Lir$3\_ fcЙ]1ceQm4i&kgl%Y0\G7%byJꆙ" !yڝ, XqsChr I<9zoB⻄K:'GJ7 YPq>X&D4SVNn&\+@hnÆU;ѦV##:IsY6;`=oup.{{G5dIZs~yYY7 OTs.A~Xnz`D9Aĩ^ewsӼ)R$sOh 9>3zAI9jҔE)ƸfGgDHA}[VS$/Ųg*&Cj*5k&/]l^p<9V"s8g8u 20Iպk]yjyJyxaҜ,_u'ӥxQ 1od'-.ѣELSјs\v)̻'9U?-GJ`Ƀqq'(}ܰvBV@O)g.DAaQlzxǒ{rGcM<)yk̞{58&~s" _:=L\s i:qoq]LdZa6B~/۽@sȚ9hv7/.>ȅi^bJh?<]jX+' r:>mD˷Xb_ 6}_CjVVݗB1#6´|+27SƿlZ>,>0 ,5rCV9~t-:.!=L%+bŇh-u;xtwbQX9YbbEw=ɲ"_5Xm7a?{9+OpyIrv]tC5v؈\((F8; z,9 v7S< /[ u@6 i@mBYb}@ABڐTqQfHTP]ڗ@d1{yt t³`^0D;aLصx_8QF6  }/ɽ>¯b-t|K} 3caK~[1g\4Wq= 8:0CͱT1AAQD b, y &B=M]/ƪrR`v7yˣb[4Gr>}*nH?կTnQTUpCZu,%sx3koH;>^7(EN 7;!Gט>\rfjFMqsQG'D5a#d}& @j0xSދt3,giR7NWV3# 9\P]i'-opۋlkp$>{ȈN}qq|9@HD>tI]˳Z%;a/M5{(Ԩ [J' *ɬppX8[tjc>2~_(c%LnM7۱64O1}%}Ƿm+lLpwό0TÞӂѴU-ށC?j~P`]io6о_+ v^hhto&CʂqJ',.V[V_lp:[r~0֯uNy vkNP=7W @h8tf×GzvR(K\ |3c0 㟷=:GR{^E*6!~<-펮yt3Ճ nۅj`+P`- )i+TGz> 4/ 0tȏҝ{/Tik$L8AN)+>fWK} ͕'}&y{Ӱڞ?mM.naYJ_-o kJ8RFK P:@n^[^mƜ;֐[= 1%^9QxSC$!03QE Z&>/kO[S柖A-H_:t_><:YUwf 6{Fbyr"4SA %A|0<)u"|U5Q@b6FA߶،-c͈Bkwi3$ t~z~P^ȥ3 $\;u8bDq_[?:m1lF_WSqX]l Yd|?f޸$_qΎ1&:JKR:0;G+MX h*狤9GVC \/°GP =WpF[]$!AF4?R Hї^j> EY?~"qи˛X#10\),p*gMQϯP y'==syUA(4=a杹AmV'S q!')TCvŴ(AJpxt+ZPQ 8ǶaE߯GEO0_+ q!<XQȍz'3N6l۾ XC` npX.^E I<Xf2paB$ڎnj|KV˕KRq.88Ghm)& (&!UG?pGb}Jv@}@\BƗ9F x!GLq E}g,1i ;BT @O2$-u] &TZ$뜆W3o.B5i7--!7繖ECP:_U 0~% ,ھ= q^ ʻP[OzB|p0x`HzKXW-f;)J8・=i](^` odooF j Bj]9?v?P܏Җ%@ZwogBQq/1_M4aL!$y}|bYGzE]6‰2 @s.Dž Pe{L$0y+,JC@ǡFܑcܟjI=>˓Sy hoZ!@uiApfOmZڤ?& St xC`ByP RSQ2@+- R>NfBH_ z"LQ%ufHgպh_!8Wjlm-vh'j,FQQE .c2hQ;(*K"#iU]?eV>`7f\yG Wm+sJ-bn>xX-Plя'b4뫆&: {^Mv_EzV Pxqa[!@GoCD&]IW7 |ytГpTlɋk@v Bg-x~ɦ5<.~o?16TrKGBF׉h5_=i$x66ԓP '1Vbrpk@EBq\8u ˂DZAY8=rܝ޳(I0wM>Qӆ]h>W.-?Ur@A6^QE:2o ծ.la}ϰ:CrXO.>7{F ><94(;>a xY7"iO]g`+ؒV?'.Zd)ֈçѕ'ehl(;x/hN;?_n8K)@-rjﴶ'?t7gKίCԋpb4T)^s>֮tZar8ESs9^_bY˾](6#Y}|"4]!^]踏TAG35/8*@jǃN7(=߿zA m1w|+sҢ {g\$<`#D8}(?lǟtqP't+TsLHQP(—ΰbì@II16؋70n3)K|,jLd^ }U|O٭N&qF , @T8jgKPMm w*hr v7ƬS=hPrHY:u go<(0Ti]ҿ8<)L`N꜊m]UfRxS.eVLSCsZ2h»+^ vC7])~8uB=eg8jc}.z KF|v¦jύ9Uu1)Uol`qQkLĠ.]\JC fY9 vc}4r]UakҨ7B pDr3y_˹7o~r7|7*P_7$RxX{A:\MݍšXr:v١]ٌ%T>7b Ŧ0{NG}Swz;cs|m%·hsO8S++fV?Mv걚K:vgqt58stgSc1I"e,TOuїoNNMKǦms l%ĥATf58~/1'Lr;s̝}O<2lFy]l[BwD"9?7SP|]CqMgpTiVIӉJgs6 ‡}ZF-v Q^>?ldfϭ]G Y?OTd慀vq{+$eRe\^N\" #y] t\-+-:aNuG_3W_>NDSHPܑۚ{Lܵ8\jp>ffU"BP3`vc)*ǎ(9g Ȧ?#y$_ff,~UF(q!FgQ"%g:섎e{==&d\oh紏`rNqʧ0Uj' &0V;^MOO?ްԟ;Uu*~,XI)QšsE|.iׇ&s$j?}aLH7N確---籽?t#cF1@~R?__Fzٸ;dflhhkY9k58D8Ɏ? ݤcOit∎gʣҧ ly['$TrV$O&_2u:F,0C2Ɨ}Zw.N0(FTMsk"P̡WVR.IY+[GN=og`D}r]jJbS=G0&a3<{sXHjfL*͛g\8Cnx6.U8'*p\ bGHB;)Zx 3fߴWcM?V&^9jMt!Ifq[5,;.NrA_PjTb1#ݘ_Lȍ@4 `1Ž5\{ z-7y.M~AߍRc6F1% IL>Τ}: Ю*Beރl(&TGm5DoQe"tEv`g 'B|)2_0"[‹8 i_VPI5N5.*piKL.p!m~4ܪs@/~:ߥ8xO۴͚x]rPƲT9]4)?1";2 nGge :!;9rGo\Xi6IV]N.T ט4rL!P-fרVU%`%%?1vM*V ~EH0zڥe9UG_<) -\aak q>c#kgWw-l!H]]< S F]r7uCc>r`8FxNl>h:]UhizkfF b ")J1Hne"lJپኻ&3%:vͿNVg_G?R8_yԘA+ڮ$`aji 0lc 0K#`Qa-d;:#}98ƛ=YJ>̓й;B5o:ˣ:ڽ(u>q]JQ|V8X#i}]9>BDm` !Sa$]lY<>lS0ca4]* ( U;C_ akE4C_VYԢĐ>0ѯ9\]_DwuJ>r:j_XN:+F7Og^_3G@|*WK0[ݪ8*aE]eȓu5[W5띑T9 T,b­f ;\LeBn7,4RX&׮㼠uuȗ8b֑AB7ysl,3!?dTZ0u׽=ҿ0ށL!28Gsy!$ctL6ӍO/\wP;AZ@2xNW,U(ˏhm?i[|/>ڱ=:Ѐ~犀+AqN Y"O:Y/g];Ll%gʫlg:l@OCfOX?9T,n!z20;cY_^ψ*|}{NބsM,V#zGx-۟H]b$G/f's|M3^cȼ:QIFW$}?ֹLs7 |hdUnZ7w۾^rsQjo["_,|;]_ z"T `T$DVPS {}k0S\,isʓojbk%0nN[iC`bUjU{iP=kGf+"lJy"` !D:g4Z9z$Oͭkf`$uFBok2S[#Q7 n2@voZQ-SM|Z7H/cqY9 ,%4}K=/l/VlZJnS-K[;Iɖe$1z%!$uo9FP \] 횡ځ Bf$wM?ׂ'i'9>lpW>{6،Ni!5nqYX۹bkF)q+DxǝxlVAKKZQgmVF5֤\b#{ƹͱֹ:=jxyzl==OL^3і ½42)&O7D63ij@׍B ?@7@?Mn4WW ?Hnt?tO׾rqu>NCNH_z ȮڢK3$E9d5/o>|wvޠ0ωLcb'uݔ{-b*UL =^b1^Q{w=*x|"`m@PIW QBn'94z0.^@W@$cu*/(Z('OoMzA7qO{}>cRV~yʾ_:TUUoo|~NFped}brr筂y@Eex;Q'\%#%1@\~=+&zaZDU5VF$w={p %7%/r1oW'\%-VG_Y>{Ot%%&j"xL{gz%˺u . ߨ1nt(kh6(͞H]'h&\.Kf[R]nVQ]uzz3.!VYc|!3?ߔX;5 z?MK+QkB z8$.>s3rCV,~ ӝa 4<'͑it?dH] UDNӉ~iJL|^ 90}t91ޚގS4Z?f +wM (x}TFNb=CtcM E`Bl(3}pf;*Y6C%MA$9]Ǭ'9Ua\F㹚&/s,<T Dn߷>mrO0bG %9)CuHJYzLQ0X`h9 H>JLK@&Ⱥ"/)P/_M(G 94: P*suJc?W}g\{F\F_5ϝ_k~1?x'F[_`ÄsܱY `*D}Ϯ% OGWau?Y%Y,ED MXبa0(I y )`5RA1 " "+?N!DK(BbR@ڼ5g\#οB^O0۸t_6泥 +9:?WZ:!u_z.+nv½8;k:m 㩯]@wu1l /ӾbF߆^ًEi!s>/N_G<>jNp4 xQ=5nDpj7Xcn|?{ !_*[Ժ-Hۃ`1;C<V):.)yw+g\3 ep %)xӇezYn}%XAпʥbBom:[~}ym5kͷi̭Va+vn/Ӳ(=GBAQ^mH@ ق <RDh:?/~qQƅ>\T^≹Vz>|G@&]^"`|jc+)~g)A˚>,(]W ߒmYǩg7 ލaΆ1t&"_7kpT}#D-ps:4WG__ qFԏdq ӓ{=J'>!pv}Up:~KVS* ' ) ^AhÓKO_ ,Uz7EM CV /xޞmL }s{2(QAz<~,!i0AB[aꨲ(.{6˜Gbz@ ˷'mtf  X*9t_cp=JnohOW*l=~‚xwIǚ?'I704fﵗ'X E~o/ [njo]>5|>4WuH;5gW[l>}5hWd{pRsְz+Pw }}z ^mz}p\>{/m6G_˓|,xE_>Bmu|6\fCiSsoWWvYjuec^7 6GU\EgzJjÿek;`* L`}ڗ Xbmv}4oDKڶioM,wOx86l4Y߭DJG>[hC&c*,x_WٱZJQu~IV&CԬ:/HCm=1|?۫Y!3vk Z&_ITHnHnH"@A/6@.J]Х_L|志2T.,xWvcu}?[2h_T1aY})NT{6ٔK@6}}aн~[8 ߰cޣڀZXLu}ߦ`rnP=Cͤxi ~Bb1Kf:ΡQ5pXm(!LLTa$Ù9MMD Fj1#eߴ"q<?wz?rP>PꗉwJlOOՔ6x遶-xIfs^I&0t5G5ʭ(S!i8 `6o Av!Ih瓶:>n;\wFrܭV>+`jP:!`oX%=/m>l: ~eyΞƁ^3…\T(P1ߪp #A' 0c]@En~o--8\%K 7WB%ti@fja).@êbl!UQv04WC.\ 2=Z3|H :mƄ 'ɠ/7YK\צ\  ދS]y~s)]\MVTjdǥ ܴۨ?.WD{P6WxYU{t@SHƐ?d:Jߊ ?|qam0@!Axr,ˢ vRzU:>N4,M ,=@YB/`!ܒ7F3$u?˭q޶6zaEGhܺ-W1k'ktVhRv?^a: -sGoкJ9U[7+ټ]E2F\ЪI<#1Zbi1ÞNi&W^\!e\߸B5YέW)=*ڝb02g&Bf3FEC\-qv}XDT -Q"9Rҫܶj#m_'1UN͵䞳μxRQERnGkLӦ}s+,9)dYΐ?:QIwFLEk{tޮq" 4aDHZV7 ?ԅ0yohDvbF$#"!\ŕu߃GcN_Vdyclϸf߆T>ʢZ׭T5%#$!EUCADYJ&*/{3lڸok3\كX_Qv֘Fȗ Ty2J~|x_[dEp*|" GD߳=c!ǐ@;fB'_j&Ǭ.`Ah-܃sg-C @`/ʨbca#c|S;+uGhUi7FPmp&́{Yw5QI]dһYd{ls}7ȑgBj%&_nlRvyɟQIsdz%TFa(Z<W]ir%X ~pblv*2dx[\c/\v#28dܶ9+ݸ;gs ]]s΃̾=w74MIH0W* ~Uu|=3@CBzc  K / Y<5ƚ-tШ?+ m4Ď݂ !lC9@EgΰZ8Htk(ޔ=rI3 0F>ҚSM:0liD)@ܖ0!Nbf@jrČ.B>`@ nksou!QfQ$Kk!x 6k@&L$S~oԺ 6CgBs icm!$K#p׃#P{K dMWG$9G0>~Eq=t^>_x8d>|Ynn 9Gy\/ tn9 LfF6.W~>ۇ0A!$1  oY -^. $l",m` ,5iYDNp|qZ/ߊ^u-0~oLctu 7e[<88BJu$R_ zrH#{*:Z]FZkOmjsYVjdۺ Z7IK X8Yk wX_]/)~#i'Mψ7}$ٜHCix(\nʙC#FK ).H٭k1pRkVΒC7KTč&}{Ͻ+.^dC<#v t'"0icam053\Jo!mUw3}_(iڂ{)iKG<؉8[9YAaQ)GYf 2<6pLfB~a ]cө_q۽G=0AYqexIwwY-pQ8IaLDcusxJT>}<9w|e[L ÷5z5&9ۯGiM]Q#qZkjx[3Q 3AC@lqH;9 ьA/bn;*Z|(*!ϿO4LAR@1p&g))餶LPZe>ަWfj wJ.|*j*aTBsU1u afkǤū#]^o ëG"s14|{{YvnEɎ++٘N}`6h~e? ?P?#21J[f##d/emH @y|髐rmK~oa"%EU&pq=VEHQff u(.6fOU@7>~Vǔ]!\޳"/֓N˜Q( mItxvv[ȿ?b}X"b$ƨMt~:}y`6R|>/66pã]i:ou6bAoQLg5! ޺Ap@0bV܀2wH6Kn،Lv\FRtL߆] 1V`o.irRJ~te4D:ɝ*?|\A::J:# _+n-8C» _'\ךr!/ϝv\- E|..pV8 >+#/붟]tl{^'3kL]-$" Lf|E]z$#䨉__|>+'.wiWh:GacI'dq/$:-@rantsRZl(̑@0Ną֜s@=.&[OB#\BQ~nr.BiT|ܣ{]c~Hqlxz<+'tu9% ޯĺ`gkF|l>L_E.5/c{8wC!!DCk0Cq~؂%J^u&o,uWxk; d>59e˪ {ҕBL4K o0 SGN G AʖEx ݷ4l$Nj:2DH .H R&f:ʖRUJ/'c1:8{;l + j][?賕YOH-o[>Tط#'J7>,!WKGr쁉m %}n*Y%<_0P\&AHMƃ:\Sq^^I qk(zfd}2*ikSk'Xy oܟ󟳈߃dN%"80G'矪.3u:䋿c?8dJho~oj}E !O"mfdbŋmc.OP)x h{P ST<)tY`aMJQ'~;73KΣn rA hJ.݀4Mc!T\6_P %s!o^) A\\]oN/PF7K|6xHP_Z^dUF" ()[/ W`;0h*bǻ.0=A(Ouņ[K:j kNU jCΚ;,@Xg[vSwB! s݂y{NȭsY嘦wB8%Vz|A}oSi0n.FDQ@ #Ȧ`碣ѡ2K 37s|rI>0Bz_]J=݉Vk~(7 s{ ߐ-pT`힨+lQb,vhow05>>O ݑ ׀PDc-4L mJր "V9 @E`|AwOiZ1%وybASbQFI#glESVq)1% lK0\* ERus%t'oPp`O"'do-}<faCg#F6$fp؄&5}0 ..F} ׽bJ"3ҙ8ඝHu `zHs)OT|Brx^}§H? ps _p"}/ $D^΀ zxow:gHL[4چS[@7k&d|f`sٍ -7R,P'E8X@35D)Qln*7{bS!$( V)B C5M*:Q?6B%9M4!PB"ҠRGY%"44* X 䰴 CBU5`fXǫ|`C˷"J(ߤW)ŦJV# UC{|evM4 f>{a'$L5sRĴ%57؈ p3/{k7^ٷ9@hgahx\'F"toZn!8( E ' [&[\ }-wF[2b?_f'{g-_ aidѶL}xoVlٺ~fͶlCA?|RQ_BH`,̿CU+϶ 9b-x՚( _ʘEIA$x_ED+H>2wuU-ry?ўO}钜u:i5qD0b$==8:]f(~y삶3$CVT p:H寇GmFu63;RI?[֠Hfn0Vg~j@\X$oFRx1&{A 㳏=qz8(KuPˬzcۉ`!y]{uP4Q!"4;Ԅ/'os˅F+,qv!.ܘ'aL|/S/ ټ[&&JQ:vWgn>l;PyyOաkjzWIx=;M(9"Q@^@xL`v5:%dt^9c'1(gO{y^,bH$#;(9g϶`]iḂ0 1;7X5J;;vx`ǣMf^%e@,|L]#\\(sf7`185 #=,jjl+Uvgs:J2lM^:qS@-XCgkd?/9Jl}s1)P?g,#ӣ$J!wX&3*)%D͟>]Kkʌ)f9;xD+.IH(Q! zA?ZDsT}X~QvvD,H_-ےr(][n AHC"ɧ XMײS%/+d-;GV ʍST!،NPrNݹ05DmBBoŪi^1  1유iZ[F ]6ף7:MF+J3˜yָ9y]CY'?V:TGfTd;d'1O @/`Iv۝Ezkt_ukINIDP\L\bPP"HP" @ O6+OzFzn8r7rjW+.P[]lF})TDM!UX{/2J81m.H2 [*L·lpSǕxj^aݡ8Y 8.ĀIX2bW8 P\utk&^vXu_YGl9P\%PL D k2C o/Z{㼻#GEPO5[(K=yc@&cAV aCN'L#:od,tB|FVCU\#rx~6ٚ}7gvBX0v ۜuv&_|%׼sb |@b_3u.%x5OQnWÔkFT)1uQn:Ԝ8n hJDLAjK!.eQT QA ǺqAeJZXqDs"_s&T /5!Yr(#|=DL +ṵz @E{2te:2$?]()H=5tuFs0{i/ Q7=ۯxڃOYQD2|`#'+ ѬCC "]8l/!ČYC$ gEï/<س߁ v5G"I#{{ ڛWm==B6\6fC`?b 'jKAAXW|-N{UĮ(D36v[ A梺'*۔Zany^305,ų2(P ;Ҩ;-^_ iM.`,DlC"bńNo$ݥ C繓$4Bk` lXR6z̄E{w~~yoϿ}א(<57i,$BBwV\mz#^¦0 *|zUa?Y>Uw"pSf!AiGhfIǞ+0C*?. DuQw}o?Wy- ,%N|G4Ѻ КPFSܕ5\X_4Q $[+Y]] ehI0U[1|6* $FIpĽ5!O~4eOH5j$,0oUxpURw=]C(p^{F==W1-LmjĮ\P"F02,1l@{6ĐT#}]DP `H Byt 'S>8id;Lb  ]&<a2{ʵ3cH}PHݵJFx`>M59" `߱Έ>G6QZ]Tq{F1Q z օñ@h