summaryrefslogtreecommitdiff
path: root/lib/kobject.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-08Revert "kobject: Remove redundant checks for whether ktype is NULL"Greg Kroah-Hartman1-10/+14
2023-08-19kobject: Remove redundant checks for whether ktype is NULLZhen Lei1-14/+10
2023-08-19kobject: Add sanity check for kset->kobj.ktype in kset_register()Zhen Lei1-0/+5
2023-08-05kobject: Add helper kobj_ns_type_is_valid()Zhen Lei1-17/+16
2023-06-05kobject: Use return value of strreplace()Andy Shevchenko1-2/+1
2023-03-17kobject: align stacktrace levels to logging messageThomas Weißschuh1-3/+3
2023-03-17kobject: define common logging prefixThomas Weißschuh1-13/+15
2023-02-08kobject: make dynamic_kobj_ktype and kset_ktype constThomas Weißschuh1-2/+2
2023-01-11kobject: Fix slab-out-of-bounds in fill_kobj_path()Wang Hai1-2/+10
2022-12-16Merge tag 'driver-core-6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-11/+18
2022-11-22kobject: make kobject_namespace take a const *Greg Kroah-Hartman1-3/+3
2022-11-22kobject: make kobject_get_ownership() take a constant kobject *Greg Kroah-Hartman1-2/+2
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-1/+1
2022-10-25kset: fix memory leak when kset_register() returns errorYang Yingliang1-1/+8
2022-10-22kobject: modify kobject_get_path() to take a const *Greg Kroah-Hartman1-5/+5
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-04-05kobject: kobj_type: remove default_attrsGreg Kroah-Hartman1-32/+0
2021-12-27driver core: make kobj_type constant.Wedson Almeida Filho1-4/+4
2021-09-14kobject: unexport kobject_create() in kobject.hQu Wenruo1-1/+1
2020-09-07kobject: Drop unneeded conditional in __kobject_del()Andy Shevchenko1-3/+0
2020-08-28kobject: Restore old behaviour of kobject_del(NULL)Andy Shevchenko1-1/+5
2020-07-10kobject: Avoid premature parent object freeing in kobject_cleanup()Heikki Krogerus1-10/+23
2020-06-07Merge tag 'driver-core-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-7/+7
2020-05-25kobject: send KOBJ_REMOVE uevent when the object is removed from sysfsGreg Kroah-Hartman1-7/+7
2020-04-20docs: filesystems: fix renamed referencesMauro Carvalho Chehab1-2/+2
2019-06-19lib : kobject: fix refcount imblance on kobject_renameLin Yi1-1/+3
2019-05-03kobject: clean up the kobject add documentation a bit moreGreg Kroah-Hartman1-2/+6
2019-05-02kobject: Fix kernel-doc comment first lineTobin C. Harding1-21/+22
2019-05-02kobject: Remove docstring reference to ksetTobin C. Harding1-3/+2
2019-05-01kobject: fix dereference before null check on kobjColin Ian King1-1/+2
2019-04-28kobject: Improve doc clarity kobject_init_and_add()Tobin C. Harding1-3/+6
2019-04-28kobject: Improve docs for kobject_add/delTobin C. Harding1-5/+12
2019-04-25kobject: Add support for default attribute groups to kobj_typeKimberly Brown1-0/+14
2019-01-22kobject: make kset_get_ownership() 'static'Eric Biggers1-1/+1
2018-12-06kref/kobject: Improve documentationEzequiel Garcia1-1/+1
2018-08-18Merge tag 'driver-core-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+1
2018-07-20kobject: kset_create_and_add() - fetch ownership info from parentDmitry Torokhov1-1/+8
2018-07-20sysfs, kobject: allow creating kobject belonging to arbitrary usersDmitry Torokhov1-0/+19
2018-07-07kobject: Replace strncpy with memcpyGuenter Roeck1-1/+1
2018-04-23kobject: don't use WARN for registration failuresDmitry Vyukov1-6/+5
2018-03-15lib/kobject: Join string literals backAndy Shevchenko1-21/+18
2018-02-01Merge tag 'driver-core-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-3/+1
2018-01-23kobject: Export kobj_ns_grab_current() and kobj_ns_drop()Bart Van Assche1-0/+2
2017-12-07kobject: Remove redundant license textGreg Kroah-Hartman1-3/+0
2017-12-07kobject: add SPDX identifiers to all kobject filesGreg Kroah-Hartman1-0/+1
2017-03-22kobject: Export kobject_get_unless_zero()Jan Kara1-1/+4
2016-02-09kobject: export kset_find_obj() for module useGabriel Somlo1-0/+1
2015-11-06lib/kobject.c: use kvasprintf_const for formatting ->nameRasmus Villemoes1-8/+22
2015-10-04kobject: move EXPORT_SYMBOL() macros next to corresponding definitionsGabriel Somlo1-7/+5
2015-07-17include, lib: add __printf attributes to several function prototypesNicolas Iooss1-2/+3
驐$&,;n!@0iA1 OaJ ֙ KD?aN/ZBe+) C;iXi|qz=PMߪxh'S^]<)v/:1rSwA-V` mz, +`̶k_EE=`V31F 8'gukx}Hf$ _UY(w0v& -!(qAQR}YVu9TLi,W0 ^}#9>y6sL߁G3B!HO(]Jc 3l+Q@$BzG='4(Z8 * 9O}5=~Uh#l,IXlvH`Ω9#d24}Mo=aup:f>NI=z"Æm-ŁyP  I|UrlyJ/u ^o*Hk ~Y>- B]W*cQ뇙Rt!DMɻhTEsX AwA @jz _n~~s__xY!;ReN #d"NqW$/ߏӖ?[vz~Miݝ~]L-.<_zU[k5^1ެWE _.t\LFT"`) :b"'N;tp=(R`G nHG@;`8o*VFtrKDX1?~6톦 vq۽̔cjăU6L!EPe(,LB Yuy#8j8 98-_63@txw W6rjW"yUGs(:*<>S8]MQsǃqk |*'M%\r_e=,-C:2E>"W^ = j0D=CLk狵 C˖@6RIsx2 PFUކjn3" ^wzA:},U,q >h(*Ob|zC#Gx9%**r 1rr]MFOzNբRM9ڞpsf$F ! 6w?h#ikAJA-4V:Z# upӼy.F2$6iz}\|t(`_C.W?^.X.F H2 [?< ^nDwxӂke{RT*U'<3@6qF `٫ߎaE ' DwgijU]@8v5g`FCn|H]Ͽ>=ɻ;έ.0_fpe&|: [$7쟉пMWmO}T ?LdmK\Тl܈lͅ-^ۓ-祳;L綎9@PO0(@P0]Ȃ1G܏n}δhc̞l,yYflZfT;Z`ʰqhAfDPDoZ@z j֏ͭ1ȁ 7\Dv>s jMv5L6`!*@k{SiSX;@r#~ip+TW'iۿ)(Vp # 9t>}ops˻Dc8%T)3Z8U"3^ _1C2nv֫ ͔%ı}kNPع# _}=SSf\j`AnT{w BV@?Q1Y9l n339#Y|;,Sn8ݘS4{u&pnGW 1CNSKBӽk9:Q-ڭ~6,xFiE.!wҐ(Z|,&,"ZTEUdǬ$$*lc6250x.41fǥ tY&5$cE 0_YYWOXt9ãf˅) qrh)D}ՓZ'_op]迹IY$0rreNayLz2f?N'xq$˷Ly+g5Y󅨰iRj鰘@uL00rsgDg+(RtCHI3 i!z@qWY{;Ky?ç${ױ'4<ۦhZ O=[@PL7NWC{j|";6n mw kB3\8O@Vu}C@4 .{W;ʯvn Q[g ȣM ]?6p Rh-HSl@SA3Hдej:!҃>C%S:֦SK~KnwR*0BNEAKEc5pU{]R*dFO>mߔY8հ(D-DMdԕB'i5b4U,Ԗt,Mn/zqS j鵉A`MTZ~OpA::&ԛv;m{]d?;:2Gk+-DFE^ ~1v̮Jq_3q:ӅW%9yc¶1UZHbDg:a9哴9,5˺8~T dޝ ,cp[A ! z̘Dk 9A9sq#t_+qJ\|]~}Vi@/S4{7;1s1meb,e`v""In]6mƖV$E0THk\hAO75sGrh crD<) lt;IlY+B  L.RMEWg>WٮJF`YAf8w6ӳmi0xh i%""$Rq%EQب O CTcB$RqoJNhŐPaZ=eՂq:f'uq 3zc՘=2#Pzk ԹɖT5nG^2fZ)kF\SDZqWqJ$h-z֎\4]өLɧY #֬LI6ۘwx܎5>J2]M~vjРC&t^j;{6=ָ1 @WQjqß?ʘRɔst}KBHoFwn5@%Әw =}[l??O)>_*;20SH>k` ł.O#f\jg{HB|g j }1YuCf8:u2\: ˽#Ds!+( ^][#ts!oVf+귕\6hWDXS%>nbu[Lh𐬇o-dv`}v^镪ˢ8za.n-qG:#vqM HUwd WsQJ2AfˣM;H3;EhZ\g3 nѹzqT_hU є9%nRpAE5zl<' !궗ar%:AzOP h4ڴL٭T9x4y$uDچ6Fc;v"7|`3קAstZbW8e4XXM+6$"JKm=0l9f5vE隕l["$*E >HsK.ySa"㰁A cTHYbdiH*AmFnţpVcOھG6@k ^DMq[1u46L+b׺bH ;3jR%]8Wg9~ ̱ U/(~%Wѿ‚ZzU ߓ:3*6ziѬG;4N,fwc`9{n~~:U⺝c2ic", g K mܢ<f#Hh} mH;[>98M YDOzߟbbC]C-Z}$(|=+{%9W#.}Iy9g37($x0瀼X0|¶UnrnǢ`@ O9=-*~n!U,d.!RC>R$,[_U wͬ0k6ws '!`񇛺dV& z{rwd^T]P 0DVPGP"oP~[0 `Qnj{h0DN `?_fj~] s!6K|3_):y[~G6m")]RP~t8)%ry!/-m۶İzYL*Ң{tmf^+Af3Un,n&+{S0r[yb己ć.:hwnӬ+G,`>R)S'?%|$_^88Njowsa $boR*PE0 W}nb,"`"٠X:ޔ6g}wXMPGuzpE@лNGҤ9c:ņHŌ﷋2x0.)R܄6 *3@s.U(vK-1Nb(e@gWf\Si-D$-R F#Tjg&V~m41/T}zn>sVGSKРѧ׍XDy d)SdqsHW`Vzb0Iw4@B[|t:ݒ%[ Ml+=ß՚j=Oײz(H=ҋ+[JH/Ucơ,(uZnB9tq};偓0)^O#iVҰ|aPS `\Տv(:2 XA6{k dV֕ZG Pތ"SSn$&Ȃ^o}(ئ\_DmTzZ* WfԪ!i6:aĈ1bEvXX3}{B_[`bQFeE.Q2xFu&b-u}x9& YR @&CP^0aaz_Vf:˳dϺAQW6Td@`7Aw6lMZ={f 3e֪`#j3Yd|Gwӳ hD"W ;.m+`$2:T9JˑN{i3'^.^~7I?~~ikN_h?-[n͌*:DId+ǘjsB{EVg~ho!&h$gΊHvF鶍:g߃9@_KSC- nq1?Ñ4M>]_.$:w[h\2H-L.aڂr0󄬔 GC +Vȩ9`3^GD3RnKOB 5=)(:ROС=dnht]WA3ËFC ѷ,FIo״J>1CW5> s=pK4t+p3- C"W)K?m!իB< % ݞΘB(S5r~KFaU"Z4D~u*-0 C_j) (׿ b ~&Kz|_RrvV]d>;C) 0dNr\~)(!WhAMuO}7oĄ& i@9"mG|||_=Pc]W+~u5 X;qSa0~8׀=wMd12S~K9|5|1K(ùt85rVc%*x0=%8Q^ 1h333krG&#kDb0DDO8y;?LRV9gǏOߵ|?-o_Ϙx8aX3 L+0QD>(p>cKU $'P1Ȁ8U.+PAI2f%S WecxH݁^H Z@.bZqa`}nO՞ۺZRLԮȈדa$6(ܰ;w!wc =9.?JIYxZl)BR[~?̚+Y5,ZU(D( {XPc)ht栜/\ƀTo^wZLu6'ߢ]pWqy<\€1-paFArB]Sxx-b֖P 7Rjno%Qb!u F zDQQѠ T_{I| R0:3K_h'-py(' >pdDiHcStxHvpf"SkXJ_u>3&0( _?u)(`BqG9<[zw /EV*`WXr _ig8b!LQ'֐ G[Y)@8',_nD0qc%}[jB9Q׉Q}F_j.vC~z#mPDޒ$A" y#OdWxglV%uQA%1I"MSH*I!BN859/}Rܩ/ \!I|ڟi7Fa:q0gxӯDl'Qg B T^Q4wWlZ ~`ptȀ^T"U$وːhd̺9Ab|!;f=(u=P\ggqr`rKGc(HKoݺH)!N$~ױOWV7To.!{_J NG^ di<%7TOh,}s)ׁ_,IkERb+g~sAj *T{2g˷jEU 8YxBd-F>sz 7ыw7mHh0'T*/wC2v**Y@@4Z􂉎|+ \˱DOä ED^ ʝ1Q (ő& "7:Y֐%dx.I_S뤉۷^d4d3*6~w&;0`h.,^\9]KD=e #s)UI{6{M:̆KBA}6 ஺nkxy堛&H+čSM0)AZfޅ8)o%bьJ# qM"ַݖLhz)i#7+߿`=a=8f01c"d Fх<|!4IK[]oj CKeα_Dfyc+E3x̧%{,lѧZ pOPO.}bn4>h0 l{GU4#! ,䫕MrDk(.gAQhAfX~rY>8 Uڶ4P vDHOP4kV#MJMKYrZf#xi>?;H}5wps8`4+uG@HU4G_ẉO+vðj${l}d#~_'׷<>M C$O5˲[=PF1r!%w&":V(z{͊QЄ`)e JI.-K#iG :h耏e|eIE7:5ɰ#Sq$T:^Xq sזR2E~LULyW戚eV K& dZVNp(~a#qx#]%t$S̔IVbH8W.~Vg~a߬m8b~ G:AIDxLhYǿV1\\8F0Hzkps6خyd˞l} ]g7f W J%rLat}?Ws9? w#^^Sώ _SR67|[׷zuoeI.Q)y+9Ki&seəH!94R'nD`R(QAJ,%El/92?ใ"_p{g rUTxTOp6lԜgCCh(,^@ZoXL9Eq,Dj3MHnP{@??ב&ӕӝk/b;D]8^\2qľ{|^+> c@Lo){ GU*@]{hZa8-aYBȔ! U!@ ;:Uf \F"0-r9~?~1I*9q!YXo+QvPvʞD< 7~pQt/5[3}N`g~" (zuƮZb>CԔ}d[|42_c'<7~bg-U/qldi d 3BbS֟$]/p8nN ks}뱍 ~~VT[=ooP {J qc>nj6 @Ȟx _#{ߥ:G=}£lSzQD-vD<Nwfw}Rl-ŗǵYp;#uD7q|v;]?''KgRDZ_̴?\ :5ѓGSY yX#~61tr⚐_eM:v;(G_A7,GC?jK/tHy\ 8f{R3` Ŭdu7:](G/9079΍:6@NjF:㒸zt=V;zÌ[,t|n!kjIkѪe50@?,zBxːk{bL% $N?jpAkLL/.ۯg<F2B4_nX|f*gDcd(zs=+GޥWb(S*h|UlbXZUT|rnXg"cLtO3W '-K*8uѷRN(ћsZƐbYhC3nx/U)/|"/[|>M &w 7Rh$m@8~7\S<]QطSJSٱdrYh fNDUD>b{{7VD\cMcw>-k}ONUR@Bϫ) lfqaiK۪B|Qbg QT~^(d#{xrq)xG?lKyAww okyBȪYY< + n…,_~ّWe3.`&pi,A>S_w}mҘ3 DI'}2ݒV(EkӪrG}-~Ql_~>ovPN.Gu!ZMcsn%'IxAUh'bcf3wQ);F+".&/t9IcUr4twi^bEM؟rt 0blUPjfxtYtbZŕ>ky/06v'o#ZB14IfI$h޳h-[S7a~OxWW6z6}SKKI Q~Z#3rP#7,ĉ׮d(pmb,UW090 R9{ ;=|F}fnkr#G9X)}oY}F;i=H8W40 _vTL /K&m /4}-ʁu^DZ"?nN?߼`ڌ1+b\ xr14/4-|<٠Rf2-h> Gڼ쭆?*ATP5.mo0p_fk8^m)a˫|Y N+ff-SGuRB{ۓ1o˻8ٰvјb sEA~AP@s ~fupWEGa]CW2áT_}mGPqQZyE悊6с whOutkTTSsQ&&82<P.~̝~U7x5hԩ.|s(Pc{Hw$lJ$>AMQ{œVx زʞ  ]#z(ayW1Q"~A;._V!E 9\c~xkFCݟSjO1H +xPs(X;1"=ͺb7ԉٞ]m#o㛮QD6}k*YVL qVD@hl5r?=۱ID ݞWݍFz<"З>1>x]-|Nܔό/T܌W{DBy_$_]c/~u8\S::n0үuNcy ujN0 zzT9g5-#C(77ͤ>o0 DۼB#-ܵ#Cun$%IwoV.d@$p*HߡB,Oy<>=$:Vw4Ӄ4.{XC5iv"@~%dç|FOȬwӱJ>L0B3LB'(Buͬt EϐۚPhΕ $2(9K~yScd|o3>[wFWaAݔ fQaj$faEڵ(~VN,qemn L?O-c\vq VFq"Ν+]&`7h>}ZoRI}L]b͆w=Б0qH<̨D&Y412Ya4ϹS'&) %*` Z. ٻdfd dlQ 'XRD+3It,k B'@X7 Ϫ]o)x%+<|xwK>7sp@ъQW=ȈiL;x3nxo㕗feTaP'#%EAi{m}]77avR>p%o\^ Pv癏w17@PXܽ3}N7K+MԔRhGZ's"yR_\R̠tōNPC @+`Oˁ8`Ƈ ԙ՗ӸK!U|u|&bĆsX~+u**4UT oVe8!y&}^,^L݁R$ @cY$ `-@*nѣ_G q!=OR5~F@.ަy>/5y!E߯G0_+ јcz!q JצYt(RN *1r]#a~Je&G|O zS?P8/r[M/ۺ3X3eh`k 4]3,\AjF 솛(JtH*FgT1s@;kҨQ~#kǩ;ؽ ہǸ_6ںWly/D~"X7  NXA7G(oAD o _Oߛ)Z_('C4}(Yه5SNGNTu&ѽ>ɍD޸nAȨDL꟢{ $n W7 8D0GxJ#܎׶߾̎H-;':0Z!?Q(-b.=GʽdY+KBaDxRe>hrH)4`'K䰥⹬5'iΑӊg>\\} i J6!\$>=7_Ck[O[scj{uZ8:L[Kj@l }>/fՊѰ^Dv9N"2(澻 'HK:!|&=jjlm-v_[/^s_1vPTӞDFf Wkg}m:y%Ͽ_Ʒz 4"A[(bXDFrE 4AjZZ3asW{x|EBpZ=3siуI,Gtbts撒 P,f 0aEhiL9s :H0- 89gJV@/ -bn= T 0PlJ;wt5z-s]8|VWjWyvY:T#Q7!IܠR\0;ڮ$m6\tГpTlzɋk@v `xl=EW[e>rQ{.qL3Eṣ^7})TljhoGT~nq jTuI (h ]Eac[,BdDEC\/.3"avh >\t4%^*Ş~޳(I0wM>Q ZֹWϞ>~l- Ŋ8C%6I_F@Fvֆژw~0>.:z[Mg<7]mqS bSwoӻZ*8tyߒV܆N EK> -Նyޫu@Zo5oEkxhbb/ |03Qƿosd#*;x~R,guQ[@ 3־ X<T:_S?]&j?,[{u]06U&L0.gathn_ ";t-!'B3\v@xq~k˘/Ta]rԔnx \ xײvF@C(~RD T*o+ \N~QI!S\(YCns]Tj'VL@MW76Kn?{ q!ydzUYaz}һE#[;/D/,.Lۛ_!,UAݷʡקin.2ݨV?Iz=̂!~8*@*Y 8_W=5!C1up_\hMЌVy}(?cΣS@.La :g)QPQeKٸ:[Z)^㌘h츝q[,TqqIz^t-w:.p]+8ѸN,~P X)[ +FWn$1< H~2<)3ţI\7NP{D9ơqVZsv*^N g[]ngx{|^Ois&}SvʦjY>73>+Tx \c*KƒpFk¼ " gIfN\,CD"W"|1=ß~\"DzuF`>FrdH*%(wبx9>oBأ|7TqH_WY6QԪ.1l:!b 滢w1:"!Nq~Y69Se0~-#E+ݙ9ۜG=? ܞc/0C!&~?ϬP e/1ڸ냿9 kB~) v;UYz޼YIÛV[=d_GKᬨf̹j] lEԨ߶Ums؈O/ZNúg.hjm{qqGD~Yo8&9fqN\RhɔorC8U`#yqœ9rKr Z ծIOŻK6h/8ƷQh mM b1;6PeDn+uh3uoFN"Q4.8t S_o;E]|q񾜶#oOg3}c\V+WRHe)~9vBZ7mI±B\%_aN4zdqsBdlwVB 3㻴|wKYq"')QD^7=`~焚]uUS3B2Yև-crp`H H9Xß<>i*@իs.Gi|þLKF %=UL ($m`,GK2cǹkÂ~#o&keXJHَj[nhӳvdO|d,wp|L`M ) 4eÙ^!bܹ$.+ ͚h F>ɸ936_vO&]#Aٹ>vAx^WIu$EV-> wZG=gsu8 n'}=Vw|祃v87#K1@~G6_(lws˕ϭ3~e(_ us?ct∎gًҷ D 2%-"ʳ# O)?l"=ɟ,s;38pjG?a+ߞOܴ]t"tB~ozYJdHk#q: vr ~̵[;r?7i.J'u/WaxT3xG c@oH R)ݙk MJn UL=fJtͿNVg󟑝e~]O2Erިv u gcmFx`Qa]$;*|.Bpl0xe)/sA\=)N2Eb0if]mԛ)ֱ|pHᐱc^\FsCk` zC`TMR&"I0YS1bI\fN Ia7gqSf^(BchTEijEh|!a\/Yծ]qj>v,Gy6&:*L @lqog׮oUj|W\t13 ޫ>ެƓN}>Z~~!M&x꿩RR-<bD/;{* ~A-Rm=X Up;m Uf|>8vׅ~v:X L)Owo8駚c?svQDi8ʳ)&#Վnv:/=W[͹j UYdtuA a5]>!Z>=Uqbh10\6AEYlCj> /@U f2tUw?挆9Dou{J#'+&CNT;Oh rM8}e2B)6=k'ֵ'C"ْ tܷ\Cw(}3rNy/E%Tt*=e ep;-`!(d',Pf;}USڶmL.f'&[,+u(;/ DeA*4w|obݫ Ob;{ 4Hen!3L;eg(?R;~s*Oٗ¸~[EiDV"OQZs]XHW 'L~ ox@TBM kZ\.wQ˄ _spiB".qz 1ኤNPS8Z^"EVF% g0=3b]m)Gɶ} 0,QOF*Bׂw(\=87!DZ[pIȰDޗO}߼ՀkZk7JNxVGW4ҙs"c(߽윹Q}_)pHs\4,v):鏇Wݹ=2u^Z%Wy??I%&/ptPN/0a~l=HRLwΦr˳sڒZ/_'C6{~s!j4{@"W˥U][jהh}UjnI @I!%0ӉP"I M @}:X!(&@?dt=KNJrF ҆_bm(1) > p) y\ò U}Ԛd~yn(Ҩ~>B\'hx?_/o=WAMS>GXLwq@IHLoQ`IY4CS "7ս59w@Jo+yK _vcU1-O2J[b#*{F߷Ֆ[d3Sߩӫ-RۿBw [-cϛ:.ZH}%UtE`!Ju]G7S1jPiق_ϾpuYq*Uyz1 xe"*Ƽ_t7m>Ns?5^ *4wh'Ư> hdFw<=T4rXl m?ݹfπAO& _oſ=F~_,Cc xBJdJ'7\JL}p`;gӬ zx5|.EYmGm<]:}Ip8PfS#;o3 wKJ/OT+xr^hYʔY6CJM@h">,¸/*k5MDZywR$C}>yn~mr4Æ{)IS"Q(Z" $ `y&z#d2Ҳ~2A=Щ ))h0)oR/ $494'd@\T u_# L#?ޮ ι2xب/~TlM~;l7u0,suóݥP.P?GZ.erCk^A0mƼ?cdm_٥|/aX0JN}Ϯ% i"ΘϹ,}:i1,5 ^Bd]" S?g4P(vQT_MIa 1Č o +'(jAT_y<@~٦æmߣX~`Y%nsgW˟w a+: _`DFt~wG۸~^anb翞о[rv`ExnqGA\Fߏ*;n/C0W?N^>\o6]xPcף FF~RlPZǧë^eqgT?ϯWtV?Few>͵K]5\z׭ЭAw[1-6y]sJ^7l u1~ ݛ,Qc'ړO}Y{']ߧ$x6掤@mWWtyzFa9,sb,s;S@vz58.wAf_Y0hҲ}wm,Y}fr +/l@EG(:aP =vGpTtAH!C=Q5>~YwP+%:3p`R/9Ql-1i|RQ"5Ԏ@P[cOz׾?da3z4q}X}&iMj}޻O잸2+wpqCz0Kwn E &%uGdz_8X՚?rN}'#.pv~%qIЕ(#cωfUP+j~2|\'g|%!n~V6>gt' XqV$vKaQ*3xU赎X00.qHs>I4s3o e۲ECUҔTq*iV~AMT#UA/wۮ6t`+Qk` ^>3o푶lZY?6\-/5 B:k:5qyNMN`0qf0:2Cӹm6ҞLӋ׬_iW.u%ka\v}~.sucOb V~g$̲Xw9DpW;^#9" $: nЊnkgGNqg}/|%"c':RJlߖS-(V>{h\e䞼O$ n;pi/kGxn-0UY|0H!Yakӥ`BZj8?Ϗ_w'nCa 1&?MIIZ(ɀ 7~Jy"<V᏶a 8(Q# i6A%~ 0^h~f Fؽ?6O8}HͷŶT|YpGK|RUP.BDLSfɴ2a1S֘ N+/5H0z3~ﻱPzY|oGAxH~Xjkh~vM?sOvAoHL@Qq*9PR?t 0Q9ףk媜TF`}O@ޜ8ңW [?$9Ya |\(dΌR"7@cD"6:7ew8)p3N@ps9~_nA&xTk/+gBOJ?w="WHZ߶HڒMI e~J בx>qDpw&! &8 Y?娂]KlZ ZrX"F a ~0([j3/Hd A [yg6ݯsαӲ`?7z0 WH7, j n^hT[Лx<FD@rF Ȅ"H h̖: dPhM[-жdXK&~d7:ΪqyP 饝lCs{<7q 6!0yr;;m o5!cY$pޕ߳׎4u46X 30}?j 4j @||o0ߌԉҽwsD4Dnpzsj@$Μ2K4|"psmpR g:a霁}J,  QbرUjɉ)p=uM {ŵ7^SHzm9-ڽ}5h3W'x(ARF1z(\Y#mSdzV٣2ˆ^ g=:–E.\R:s-wm'ComMd]XJ}0"Vh}ؿkA莢NOȢQ\D<݌mWhYķ \HMٱݚC{Ѹhlu/Gq^- dU!E$AnPKzjC=}:w~}hLk#@?>[S$wss~X>n][nF,ekG7f?J~dq¹pzs9Oec-K)CM:'\Nb C鹣{x`0T]?30-~ ]NK Nhii$CZ 'GꝷlH0F{W;=Ch5@l׊Z c!`eۊt/l\wURx]a({L)-T <@h1xFI[Tw={4Rf\~OH$PwsL}gWq0^3[Bơ&af".`!+X N|9F+GQbd0pe*\d^N`Y5ZBN>kQA+G띏JKԵ8$@+K:RF٫J*6?zj9fRy})ijgK;չj^4vK -&2EUy2?=(yvty]^^>fqysqE=#iTRz6L!ŕt[sҤ$XދWMMc52](ũ]ZkK]S; "[8ATU\s<(t˝;펲~&8Ҩk N1(n\e}pPʏ (Ju6g#ê2e+ޜ5a y悞=ޫi0BMԻGJhIzƲ'Dh3}![;0UOW!BRaCR1u7`I{S&7 d? }M 0 - ]e[)X~*")˶rSJrvYNk!max; b ; "òKJ7L]qRFi-JرNRi{+?3nfɄH)~Hi̬mTꕝV){l,VGFhn-+!WNڞ)gmr&Ld()jgOl7v1a\_+Yl<:tPP;97>>n@4Zͻ;l}juӃy^*1PaO#j}C0LL㘞/ ZCON e %vcњf9J!Go&櫅A[ Y$rJHsb#yG Hۂ(Qɘz (<Ȥ޹1l ]>E0sTiJs>jse=DkwoQjsKu@xuywB~g O='? 9H~aM-31i".5CGbR~7/SBlѿEX*+]w &-6;^?)Ub1Y&{;-Q_\)^"Rr])+zyoNkS+'^E)<{zzl _?Z|ֵ=^U% J0(PR!6s@d8h~[ M"i`0QEQㆬm78MF*D`[u]]k] γ7~L$c\fRcxh|-Qsie\ҿrRJgf:(n"5rSk-LtTqq#6CD3-0H|4 ,4fMPlY`P[m (֙Y]7x@{VJW~Vruj{^'3kL]- 35>A =q)ey!Kˠs7eC! \`J^]W&z J[mVnڵ8` `T;WR%l4`0B  fff6w}Y|Y=SԜFˆp19o n:1o&vK2$u4usSB= 5QX`G 6 a;NLbhы˕&Tj5lߜ6F";ܢn㞲쵝{Eݭ3$j̓pra3I0 %6Bdq-2kǯG#"DQ` 815 zicӷM4jRG V"l5 ft-uexsc!}f)RPvgV罃^<%̂Ύ;_SbNwca$-7i foz[opqC=6f"؂%;@@L3e_Mw Q6 ym1\DTnURP> JڡBpgN6Ҵ1q^v` 8oJ]%p@pNK;$ 8p !INU˽XFf9 -Ҥמ/O*c9.Y/ ݽ5lz͚z yn9RbL(HdB^/Qܿ b~udZ,4?*6O'?Bد󏜠"ͱx"`~s'Fe/n$G1~US5<Cj"Pղ@yD8{'PK)M>>45QmN"*5?7#ջŬՌ}[d,bŋmc.Oo!S>I撁QMy] '7)Rܚ@ y"i_=Dy4~٘ZY`"%EDxm |8`EO0/ЀtIrh.%u\!O xx77ɩ4/:\!xZOeF,9PU ""'_K CPܻStSՈp[F̶Of^HpaBQTa/ *(*)(((j(j(j)*36/54fzmD@"`W@b45lA=Ff8BGѰf^fe_!8ghb #}<($I33be˰O]n̐74za/{j7K 0[x9;nb6u$ -t3'$& SUBT A4-G؆\C:Q#Jy9xN]EV2qlAd!00`FJ Iaf* Rhh )) (J(P!?;@Bj PfL`!8N卫JեcjĬ+aY`QmDVi@#V )uXbslmY6冹X5lڴ.@R괅.@RնqjqS˶ڳgjvA+V6ՍZ>#ϓ08h}1 {%e<%{ cR1w"׃4o\ yk:MJ{Aݔe}k!˧=_Lgbs˧=HrYxV#_[DHΕxϸ3o:{Dş3(.fܻ{r"1C}xtQFL;Nu緙;݈0T`ꞈ.n/ ͓Va35>JHF"=@6xiJ  r.q*hQD@IPYgj)kj.mrKC[وx I͊YF] $X#ҠBDk\6KBy[+>% AT\]>yD?!)iZ@)Q")R4Q-QDB ĊPPJ P G,q* h贪$^JA İ CD5THďnP0L;wp $ѝ QM{%ʑbNI5տl@!Ɂ&lpu4#,5֌sV &UxALLtY|G4MbI*'+BwkxoKH{V37a>X̯ː"?q%SS~_A:]b0k<>{ D=Q碇U»r/H UlpVBM$1CaW۞ѕa37OE}XWD%ET!~YŊC%-qQX1UUAQo/}? I~hK047 q]{y卩.M7.{53!$?kwJhx?5g~6,ȰB;a:S )Pa FFM1RP j!QXV5=6IC2Ai|T늖/RkL}s]9lKK A ` 54+(scCŽaXm5}qsl2 }?Vx;ss\Fn/=~1| rʶvf>6=Cw:|hV=3n>kA앛DRؿ}iNy'5yKhd%$P0VZaXB"W98U*( #$Fh`9t09EX?%Y-z&[2hh6qF r] >E]bs0Z;&0&v{J\*Y0:{nVWe>n?Yi///oYMH2o VX>sI7-[mLspK8o,W<2tm:+\V27Z&[chwrbZlg'f4/sQ tMδ"yU~s0zl?/*T{Zo_?~׶Toۧ7t׫_m֪4#\! /٧;ta=bU=uvZau!ƛ&էvn?o}?r'>J߾ݻ/eÉ.o?TߚB>PPUYPD$@WƿŌ&} jX!:<.7MqBIr~o9TiGnƵൿ]( ʺϳSQ2ܜ.,q~%hiDJVkv8/y3 {v/L=ff'ROw=w_M{DI%pLu:H33s 8x߭N/<<.y|b l`_0z{_]ؙ9>::=Nr7qq_X;c,{4)(Qcz)(ģ[eNE ڮ<|hCAI`BQ~gcO~GtV^k%Dv(bB3!?TpX*2B._yd:9 >4};V$FoBGtctiLf7SP#Zd)N2RPMu EaxJ0ZK^:UTT42\в/IGY)Qnkʊ?gGGu8H?E"7d`:z(b%k_2'+(1s7~q9z)(/"nwW_O<_MiḂ0 4/D9||E&CǾ:u^ʐ5a0QdD˖}$ըGjyGq$ ɆnZ"BгU}z6wףw{k/X # 7~\FJ.o|1\Zf8ySPK2ͱQ/0RDH*{ؔA&@byw |@~{yR' >zG^ xQ"$--$@X|Qz:^'OE(#ѢujEvޝnk8뱉|'|i'a:fʓ͎Xoko OuH8C@+onvjY:'/Da ocY!l-j18fH$ *1owӈG̋e[c>VCE\#rx~6ך|7Jh`sv} ,ϫt/lV@VN@ƗW+_@piC".K 6pf]U:m5ƬEZJDL@$1 (G86ݏcׯ;a> bAiYmEh5uAAe #Hxat(1.֐h;0ȢWg8K7m!`zH3vpzaQ^8ZyavKJbGp䣙)3a6#?z:pnHԃ =rZWp@3l, KX @t TY<("#DrU(lZ:Za_v#^aT ZnA DDnqk8Y8KDfޱ:Aj""Wmm>s#xzsVtDoj~a6a mrȨ)σ\oQWpΘXjIr`V =W-MP|,{0&{?*Nƛ9n7ksgMt[i6|xv;:A,@wG k!$rϠyJ? K*IRU33V/%c+5vV |-vHɸIL4/vJ5:vJࢁIM+ٿa~~ރp*mxگ