summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Aurich <paul@darkrain42.org>2024-11-26 18:50:31 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-12-05 13:54:31 +0100
commit4b216c8f9c7d84ef7de33ca60b97e08e03ef3292 (patch)
treefbc980a8a7e70af899bc6ae8742fc2c70a6776f7
parent029ee0022a81eac2e6a11626320c7852785ae190 (diff)
downloadlinux-4b216c8f9c7d84ef7de33ca60b97e08e03ef3292.tar.gz
linux-4b216c8f9c7d84ef7de33ca60b97e08e03ef3292.tar.bz2
linux-4b216c8f9c7d84ef7de33ca60b97e08e03ef3292.zip
smb: Initialize cfid->tcon before performing network ops
[ Upstream commit c353ee4fb119a2582d0e011f66a76a38f5cf984d ] Avoid leaking a tcon ref when a lease break races with opening the cached directory. Processing the leak break might take a reference to the tcon in cached_dir_lease_break() and then fail to release the ref in cached_dir_offload_close, since cfid->tcon is still NULL. Fixes: ebe98f1447bb ("cifs: enable caching of directories for which a lease is held") Signed-off-by: Paul Aurich <paul@darkrain42.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/smb/client/cached_dir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/smb/client/cached_dir.c b/fs/smb/client/cached_dir.c
index 004349a7ab69..9c0ef4195b58 100644
--- a/fs/smb/client/cached_dir.c
+++ b/fs/smb/client/cached_dir.c
@@ -227,6 +227,7 @@ replay_again:
}
}
cfid->dentry = dentry;
+ cfid->tcon = tcon;
/*
* We do not hold the lock for the open because in case
@@ -298,7 +299,6 @@ replay_again:
}
goto oshr_free;
}
- cfid->tcon = tcon;
cfid->is_open = true;
spin_lock(&cfids->cfid_list_lock);
rL)h,6CSgBQdSj%`^c9JF]^p;s08DŽ=:ǂ`R,*($9:3kagl?=a+ub(#AcI:pu#: A3Ɠ7 5\zNJʷL$e VD>="~i(T7޲Xiq (ps)2;ٍ Z}C)-r#i2rGIxk?[ nC/`.ZV: !(w!T`T!w=F H'ڸĩ;yr*^Y~tֳ:Rp"_X#2it,|i_q, dA"flY\vUB9FZ0є؊)zܭH ?q,B!]i 9OqO&f7;k Nz5?eA^]}Jũ!KS;';{ fe8g:c= C׼8u(GJ1T|T[q58?&?$xB"X8]dH1bVc(8`IH~LH1]"`$A7͒#4/U![-p=&"; ]Sf#v(̟E6HlAVH>26L,h. :3!EWqQ$+c *B_܄D(<)^Aggp]\x?[W>~Z~Y_q,-)S@HpORplr$$L|(GB[Rҧ2ڕ_p0QCFZK?h.]pڗ~&ϋ:hTmIGN+ir)_:CK&[p9`]Rz,m͟hkbK"ig;캡pfjYͮ*9=+Wrzvw}>ձ8mZ~ܞw:5{YlM4>5S1r#VЁ#aV8N$A.dHGsnGi^Lގ_/%2;9C^ogۻ.^ŷ?M\*=??[v0M_M=hz-JOaXh,ga ['vH[2d_Vޒ45O]ۋw{Z8-&'pG!'BU!oh٪G*Y~[>wX~1 }Y+4^Ik5 =`$,;ya S^/j.hV9j. )e1{^’^, h98w̾gJ/ي;<]<~ zr}W`@H9lW JED@6H6f!_3[{ޣٓ,0ɣ ew{7":N 2&A9(n6B9fDP|pp'Gp)IFn{ F=l7Z˪ _6+e/G4tYxk9i٤vh V 28S$1j-dβ4ϰ6,~K=4>l|rwYemoj`恻\;jЯZ;SlazvY/ [>ApODہ&-B ,?ӸVv7 wAY;Vjp-$mS*wԨu/cT_:mu`Mo"#BbUZ:ODG~vI|Z#*ZJVȍЅuNE!$a< F|u\1i6jJ^C|#IO|kH4_N{vIT0kRFb+F9 h9;5)eܹh\d3 j6M Jt"vD:mzOM$lRy y HG|T!Ykwzv uuX2{;m蘫ϖfըg;{N;ۘ XRuUR)M^$c]F̝7nkAE ƪR*DgL굠 Iuj%tKҹl.7_dp6I1]YUMui:Lg#elu:VA;$=\e]]g'!2M|Yr3=:wa_*q15ǥZ}ݿuɬWt0ɝMFo;qhpE1iW|4hzqF!qdc@r;إe+.M0~D1g$tq8ZтZHb9{8jĵ܃;CY@k3X{R2~qGy7c4&la' ;/ѳN\izl_]{&Wדש-?=>rRkZFELmOId0baaԔzqkT@"ru={&"e((+vج.wU/|J ȯ4Y rhl2=v<{hk C{R{21X𻭗;R?;9Q_ 7=UTևJWjP8uYTF޺gӨRhDO{u#ǹk{}4; Mц1!# z9<'74zvl;0$D67@8.ُ\$$G7˛Z,{/DN""/޾?ӵu6kY# =i +lI =+=!pEF?VrDOYbaeI*h4슂.e2Vk(RtxjdF$RiThL fo 媊샓s#:(b*aw/D.+% hnQ@C65/i?3\g|aᛴ}rɶo|P*fע腩vtȚ:TT=^v4}]Ib`]W({HYІ\o8!ILGxNz&Si65UBJ3 cڬp.cnh}!Q rMlDQBnl~zt4VA2U e-bt;XW)9<˿NxFG)..\˔`f@+&8+P]GKY<jV$A$e!3N[kg߂( X+i=M0Zrvw;$>~l JƏLA69r]#JޑJLB"q't h6NHU&1G@F+z }ԁckt.IYWDH |vI=O2Ë$(x]xMĿ'I+nǐPSK:rױ'9_"%fLeGQn3\hŸ SD7wwtH׃E.eHӺHMMlf&ME;i-6F U~h6h~ #;Ȟr.H8j!5땺MRJ")JR!CvWP8h4RZTYŁ7g t0>_2&I8xtouwpM4{Qq8"a lDީTR3Kb$q_Z!ܺ Ew7{@$z km5) }U!IJ"cB>D^hHF=:"hqԱ5w{\MAQH[xAAcY$~%]$vGv\_~]6$Dֆ7eop ZGrL{;p.? m<:25I>;(D>/[B'/*er3(F"/M~GWUZ5JqJ-''E)%4OK%$ goW?wu\O9{UC囪w$;ADІ֍g'LX=LLJCrlKkio|v3pi}dRYµbN~xhzGfT$wI]˶( Irv d8* NMc!O+/-eMoQQfsԪ6֠ќZ h!hGϛkAJp98Y9A?;zF@ߦ2>TP_%rDMGɀFC5R:1u (@2krbq8P١9]j}_@;95RWdc7$޺$y&eժHl6^bo? De,d@ȖiftT-A  O @g$T6dþ)t:7^Yّm+2m޽fx'xqj t-7W`0lFq̃i8ٞ:|f}ʽwvGd _NirZA9EKf ?fF?v_<3:DT_w;:92oqK0:Om@ƏD8 ]vFQ0dlXVg8![ 6Gm>^^t$jѝ{ke{[-$$`KpQIC7/xq((CKw'ȻEmU"t=q]m~{%w|0eAFĊ %1sz&k!`^g!}qx[fIi6<g H3}j5Z֧'c "q]a>Ӏn9Ԩw" l>lV-Gr{o 8pҘ o#g6ᇐ RGRppn.r`Ȥb|^S ,Sm P#w4{. h"=qX.l\l;~T~#ЦǢ~ћ0mhSރ$Y\ܭJx~cFTgEsbsؐcKΡ11LHnVP/dFh1>yуCs/Fq~$afP.Ʒf=˯k? [S"AaojVJԞgV`#0@/\ P@cQBBvVxS|휛,*NL^!Ճ=zc,i^jjzo\U!Nڭa*=qGoaT^p)lgf+!(^L4ªpHC==cnFN38B(& ґo: v%ԝ|"j弌,Vc w겻{ڙiQM2cEFvA \N}m~u%6(}?G2Ġ4Nqgt}YJP)Rb+㨰U,B.̦' +(7:*{Hժ$B^ 4.9'Zk7TQ}1vvN EO uxw1BmHB(yqNiCR iXiq"9x`DBFJ.o{ىU-W?P>?F%8"& R(A"n!]Ђr킪l{\EY an1{i/K;MGE΢|V>vI<)'Od XV6-.Mƻ[ 39Mk jjlUaQBE{KW ~ CRbz Z"H3 ^۞Nx/''s)84m<:Ze$:9UnU2a'IJ% 쥿 q3.O(s܇ˌ77xa_ݥzfJoL5?"}0ǣmvl0kN Q 'W+etp^E$X3 ` *# [*>BgKEՆwq7xOta. o >|V ~ uMltq[ #Yk<=Xzkwbi)FiE!gLgKt>OD`+4v2"4`}xgP|5Gǀ'2g6IftDbExp%8Я`P#R\?^3mkI5ϱ z:YUF4Sb+E=KAXvMOpKmRzQPsZzrnJ&ThGx{IbQIY.B/ԛ9L!bOU*cO ܷtr| :4V[;RVے?Kq6z!hȞYIg")NhXLԌlݎ(װ po=Y tO 3ESRTyȃ%+'R'(fLY̲6,xXI#KSLA\+V nʽVWCCe$-d1'㲋fg pvn)&$As.SBKn|L`XٰQFaEnހ3/ .%kZ,!~ql&=J!C_ JX+"qRPd/| |{gE./i B t"pһ[SH@<Ñr?s`л {z)L[;{PD,Knq;卑!Cu<^|{5EY_k 3ޑٹ2+6=XjلBsIR,Ay44* ߋ2{}TlWOe_~ &hg{-U8 Yx/5sg/﮻h1%dgI Vp$ǖ氫N2Dиz\唂Jwm&nf lE(=MRḿ<, R@Fk#FjcqO|q XNTD ]|ev'?/i?!IFRӨ«&d0I:Cp/X^@F3\eF Sԃ]GЌ&5P|xR$t=hs)n@SrrD@;3+UfDJTuܐ.ɣH$}xC?^>}gA3{D~6BLq(KE.eX7nٗYP@>pcVE3_stU+9-w0-w9diF? 0]"Rv#Jsa96>{ 5*u6WyvޣONAjZbF;wK]"VjT]|ؠ:3Ky'\ U# ISw'e32ǼYindg.tյ.pۗZ1B[+S%~)6RJaK"ZSdƛCo|w` w0.2M!p=`Mkxb.W\95 #ѳ,I4?#sJSX_ TK_V+ő !H7 t1+^'ᲁ$46#q29?/JVh-<2dtZaݕ In#&v0CT砳3 9.є:%'` ;kSw3(b-NHizxH@&%<`-@l gcf?+VRǐFdG[hl EpL*u^&dm%pqAJÚ<3m-pEdц77lX54#wt#C9!c p7K7tI|[}+(;p}ڡA1 l© U `oT lAGA搰%fkkI)48u3S/"-WsQ$)hvZb-lY|lVAO". h>r"l}_zdtt5k ;4_x6ĿwP>k]p:.$1j6Z~CGVS6xu+wP^dTR&%،(e25MU9|zHK2~r-P2Ȝ4R|jp8=K6ssbu4KH%KZ됥YTף )-Bc ڼ]47FQ#.In@y67Fas@G!dHȘgD EXo7 7J3պFJ\uIc[z7 I}tG` Q懛A|U:IʏyB]`)$ LO+8Ȓ܊C3%u|΢)JB_=DL+]WT٨ *a] _?Ck3Fl ,v|bт sJ:X|LjYc8x;_g21SH-r3Ȏk.x+Z)^G 'n3^ҨÔuTEj Wn odP?vWXH]3f\MdLr.Cng(㣡AfVq.dtէP-d[M_V^|%_˔c~VuwecoylIzhB3"d=4LQ[Fl;sLus_ς@8viezK+X Qs#N7zPImuj.f,)=͸69I|mmmW3'7?#CcxQBC =m87{{' S$DԮ[lNNdwfFvY ҔA?j%aOT@ի MeIsZ& QV7ըG49̏vrIuwh?=+z"jWuL)ƣ88؁X#ݰ e)T]ˣ ފvGf.2uwl071Hl= 2ϔ!a>߆a|k7=%o~A\nݺ,9EOGǍ/r-75ceZr}g@ T)m])+ZNG?nIil:/3^Gn__ȿDYA͘]t|lMhט/~poÃC;+w#fٷ-;!Ò/'FR,BW$ P=׮ʚ>naskE+٨t;z@Bis'5#iRsuOGݜ fD0SO~lh}'6^P8I6X?V7R /q7a2osq:<ţ^>D,hE'kOX ~ n}P?\o z8g+1U q٧S0zhb%{, o;T<dp04L?O4i]yzWs;Gݣ)9SM_Gvs{(D>#I=J~VXM5XwIZ1QPa#KTYe1hթQ1r8*|OU1zCZZSEvFjUWW7_iHmke ,Jɵ3VQс49 INb/1d9G/>B " "N%"V\-"!wX3Y`c="glM~>[2?ɽ~v6:E.&Ð Lto%U4IfW հ }Id-4m<9;#Si -^ԫv`FeIS ɁͲwvҽ\IU!$ak[Z}#!E??q(6j2MNt6*#P+j8.0ћk)Peͽȍn(` IĀ5Ja2nIDui {^T )~rm9+?b%H3nW٨TCDOşh_Zǡ69 }bضҽ)9ILMװ<1y\_s4c@'h_P%)rF{lm$k'\yM&yVCF_ یiDNtۊ--8P7{ ,AMi y6$~V#wO`)D[B7axS$?rd Du8)V6Z8kzSx0醏V){ܝN3Tlrޖ`y哱A"ͦ joiޛK"oOx?'Mob/rSzuT~. ;EKeug/@ZZ|=[*Z.RK6cz3Q\p$&G? aWkF =} &H>Uŧ`fS8n ?B_ jl<%_O]hWm˕zК3Ơ}}U!5F! d8O[x;hʠZV!HѠjrKFW'sn{p)4k5;%>,}dO;|h:E;x%!2XHyۈ1JJA4+Ӆ*)r",6ob"5 BLޝLcf~:⃢& !:d;+Hj{ÊZ-7K.z+ ^lhr t bc]gN)ʦDCP$&[9f;XE&{91ٹW;{LSCN%N/g76JyJ.ti"ӣ\Soc3gn ʉ^gC0qKfJx]4Dhs=^NtR#{ܣ{iӷR/7:7CRtJR R7K'xJ-Dv XK˾)4FfJĸ,R7<$uT=ų"gԕ+Jaw99ü S$Q(w)lW.uiǃ-edÍ\oAczQoǫG6tCi)'W֋(sa=sfIЩ([gb /,OįQ[HJ9+virp z/Kct?WQLAm1,s5DBYcW9c;J郵 0֊6Gxi7?daEƎRҢnhҘF>wj$QPޮ# .\[Zt晶g Zq"9UhLs2QEA##^~1۟w@`sVgۓH\~>Hop)q,73mlRvTQsh:"33ir] :B.%+N&f$N1 .dhh2<4/Ez&`T2ML =\ 7I33fjV*^̨Y6 1d5M@q[ SX$r &J킿iE#R"=]q^t.)l> 箒*7t=cO麁N/c5xw:m!&FYeO_P_"{fYl4h7D-EÂMgOf\iyM)QYJLw3\Pg=@״ Q56 ϝm5M)Oi^$-"Cwtӿ.^Vcሗx\u`64)@zªR%sҮIx4oҴɄer:}2Ďar!yt): FEKa%εH| ]<TM> +n)_lP,l&Z 괠cnpR 1BR9UnŧW %Y.ٓo_cTjӆݒPr8&hȰT:u{E]8jz/G8W1Y8!sCQ @_̜fa4ņڻXU:ª`SQfxaqZ4, ,bz$ye.:.Zls̃4alDy[a#4A譌3-R2UAM4fVT9 5:'ί{ $FHd\h`3BmX4/C렾Vd#C֮Ovud,4ܷ akpޑcCc68da$:WH84wI-b4흵̦Z4$w/ %ƇB]ڴ4Wf"95~[PqMXL앐X)wH' l~C 2 $vev?R].P\^vC|@jkn2zkJ#y*ʤ(Ty8{5 ?َُYw$ąNwQ`{6z- ?"IԙVUVArqFzqzzM64c-9!Ps !Brct,X%e u{?@n\Zr~'7dž=Ctu_&:MR3W`aR_ލ-l'4yĆBaZYx/_iqY QSj5V MVe.Pĉ=mUlsbR 뻂-:xw4-V&!RRLܱ:uPIr|"A'yvXfDYn e퍬 l1PG{KwC쵇CUڷrcڬs#Ͷ'9*B7+^Ģ03!l$AO+~ᏺԩI[X:JXxd jW9'^ U1O4~`>zޮ䋗' >t\BIl9+GpEhcǂdEH|cgI^{1JwpN,S"O&@&0џުV#kT 4 -}XA=ͮ&OEnbUlmMY O6\,?m!BE#踬-b0 ~dk\4EB{kcZ2wM{3KХCh (4C楼wd_Б%<}T I esbE߱0>?4N!xP +V f~Jf~Y/F$Zx8,2= ʐb:n&ҰV۵80A{-2d*5T]M$=&Q c{A^2'&M7I4֧GG2{m #n9d;W7T?BPkkӡviuRڪW$L̨1Bsyү~QctT0c:ʳ frbOK zBǫ_f/7¸|sLf:uU1љ(V' 6M[6FVafFNRQ񟐃i ݎ+~J@f52: \ޓc?It#4ʍ<`L*)X]eHF=Zׁ̈́P?fkzh/+>AAz696zA[,پwMH$ IХQV<f jD 1Sf"|h|*,{r aS>֖9eEu(% 'SÀ|;(Y-.xrn9F+1x|43$4k7 hyJŒqԍ61BfV8ϱAy %+j\|r4_rBZ1ðnIkP`&=F$hEKVu1B(B;X~(YD'O#2|Z!B|8fΒ$4QUɭ[·ۢ9r`βDqqI g';+MJ '0(^m?QwZnqr%MhaPdW;,2De5(u=8*|}1&4i I7sI6!z;%2Z`[NC<˜V%b׮G.'\xNq;aְMujqkI~A)iy16_{~k&̙^[4[ݡ.g5[-+Y~|V~#Dwv"[ZyHUUO0e#p5$B<@h"[E'#6[}v&5w30u4Bnm2~rVOzoG4X<N܏?|ۆG6 Tgc6t7S%-BR٪_X1C P]+N[}E0YVj-=' !o=_ H!+bu~EάdU26jTxܨfPR`aflF!N~$]i(®/̝Bŕ617[+4 gv< ëZfnUU) p]b1~ݢ%BL xlF-G/ZiUZ}Ub649A>-vO.QUDI}h!yy!}vA*;E"=E޴ˈ_/v^3NcW7Л-莺Ɵ?ſkT2ӣM h1)`W9଑r3 5fs)S't8줷OlFf9OLic+ԩno(GTuje9g8Sy9x>b( ]%0y0/E(zCDLlX20UY-5{ZrGHNVЅ|8kw0 NT,vjS4$itxRwXunloK57[ǿAp1x%W@8b9IJvW1|%E?68vw:Ҷ^Gǰ<*4  \V%Szr!+)xN&s>cBcᖤG$z\k\?|9x`Iv]oxj3fj-wv؁!٨_kf!@d4gO݅{#37XT˲|ػX(Ŷ=&/(kȋ9Ast*vY}!;b8ڎPIth{[^3ݚ.ftk>w3vq$娀)#Bn+#H'ZC^hݒaGdy_ g6Kd0%Y\6>23v7V!4c8 ;yΝ…Vmk3^,1d'HBMF2{.=3AfQsn')1tt?ܐtT'TWлFFT XwGmյmRҥǝ} 69RV{}t/Vjxy;Y@VID3c:wO.0 g5M+)∜ΆƤKbܴ 9$hs׬ !WIgڇgXJzJw5i%2_<Е)IIȣ=fJ3$79Ӽ?:K(֐UɵMw&4)0J̍@tեpnR;GjCV=O/jס⠾@JH- j#P?0pWJ+#DA`SHFK, ËJEfL}t] gTjW?d&Ah?;_cBOcЇU6` K( u8N&ƈLzւtnjօJ2o{7ustQ7 ' vԟEEqQ =WKjLc?Vu%t+[pbB$DhM?kXy'~cq[9{^0/U~ 7U)ƒ^ȃt4<+ 'if[ }r rҳ?<&qu|j]ȄT̤U Jg<MS8w/L>. D$9ߨpGC;6w/HU)z |43@QkBgi-lމ<SkI-U%-cK{`:P=8ȁf°sJ5g5I7 R $n,LcHIp$63J-]pdMJwЃ-[^v(碞d! rMVsv ڀdّ%N:t duUΰ[%e}ߴΡIt,vCdr[K{lX{]sͣ]ɬr揃'86LOޥqNby& ݝ1j¼ Cp0s3\iN8^>I*ȣμ&yL3~677*JVE k@Gew:$٠3wG Dwm/$': Tm1fN&:Zb}. %?;vzӛ_V e߻WxzdwSJ:E./&xL?i %U5ҕ,2iPe~rɛqc rGK2ϥs)3=O0$Mkjb)Fd N UIxGR*\F|&EM%690ٛ/F2d:4!:B2cퟓ`/u<:+ Q3EHFD=-B[ j?{ }Tu xa$\j4 B7;8%FU9dV,e9U"PaoA .1#p(E_D0?l$Їv b @&q 흆BO)4q0Bis(?u]Wl+fu&mҊCz_^2,91 u^I[ > 6R~󮳄GIi$S_Z1h˃勊r0ŝ}'iX.wۇ5]!~d]Q~;G>ڠmPiuc2Ur> 8LEPh(軵v%Nz6W!r$aq :{p%Ɍv2+$sN:xmJ+I0926Z褻AA c3 $mgNxvH̜4֛0[Z$ʷ{4R,?d#MGaJ#hC'!T[}A zZU[09\y>I W0UտG@ IM)Ew[#Cի@5xknV@&ZE"@\l(3 3e4jΨZ&bWQaj#A SxKy"vA,HE ezǟ}06t2}ił[$ h]V(n(:Z5|kОKNwM?l?ӓ~ᮻZdZx ΜgcFȈL%Y/1D5uL\1D jXKƵufym5&6vl@|V1m ݞfvdk=s蒔hϐpn$wq2SExy<ԍ`'+I*~aHE\3?~-:!(!-ʴҎ\{m H3_ib2yM0A"%{BЯWC_k=35&fDT&L |#3xZ)tWq̔8Z1@5Pvo*ZGU{;MFyXj S¯% ^🲟sڐ/yNl}cqhvW}*]z?X,^f:e1j-Dȵw>}5'1)'g-#$B7k[GׂwՎtBp$9Žš7tO;D*vp~׃Ii|( q6 b*X5xZrEM=n,޲Mb݃ ?K& !+PmVij#q~]UU9@gǒג-mx۱#1fNfXi,;E Lf q<ѕm$޵-̏+y4ղL<լJaSvx#3>*l,%S9^!* MЖӬm|"~?])A,eDqJ6c5A4wU^~Wfp)^P׃oJڳWk+yTifORr?׎?BT7E yCf%nEo?eR۹ tҐr #yIuoDOj 3iqMcȋu8^'>iqf֭NUr0L82vFaޚ7-t o[gzc]RRo4BC@#0N zP0Am 1i b% 8p{O$6Y@I0G#!㹞UUk:+g ]_2PYVdTI& =E͢}8I1y]8Jv]'q@bc- H<6k''>0 Cˎ"I&$I/5CKy'ӛllTh \s8,~-kBWZ&)TE5I;?:A71q+ u92w2>k.t &Ou<AR[-V:emom zp?h)=GMCS^Bc›Hhq[&lô*HuED<-o,j-ɥoXBf\xӵkI]s b1Bd93}͔+kId@7> ,w d{2ϓm\>px'zk L鐂W$M '0$5Yh>{I|g`o|][|;XOg\䍡~& \ K*ΩAwזP"vs ~k"Hgdb/: A/o:}qߓ}lƒQ8U梫4o4XszXӑJt W&`gn*gߴj-3iE4Ʒ<õcC*$hN> .Wg%ڗxׂy FkCG{mUouH.7w/hy!Hg{MkYZ0jxPzًRu)cnzFQegʸ,(?6gDnaWl_7.0݄)!TVmʢi/K@vfSwu =抷=oF4> eqBAgo>ݺ:?<=U=EBoO(te7,>!05 Cxt!e>"iEv邁 Oa~l|C]F~ (wcZ);:plȸ0!շK.{ڧ^cCDX1ܳ`RJݘhWM8% [AFw*Vk{Ӿu!0#6~A@@ SI(-63L[z}#On ƗڰӮh>hچQUU;RQE\s*}3NI#}(֑ AW+'஀dS5ML!tqLv~c+j<)h-+FO=)5nရU&j0Xu,v\8h]qsTŃ#wt!d"K)T ՊF_A͜X~.Q b7[Z:qMit5{e JBR!cjWwҏԧI}֢4+ wݬt]֭r@w|b7^ٳnR6%^ύ& & ǵ4ܝ$]QᛕxIwx.9|\X rDX6~$-b?59^&K't".$^f5JZɥu㰷?l 5/; ##&3Z {tlwre?kFgZ ΄nXB p\')̑,?N{_ ։-;4qlwB"dJ[ D}o{ t>)rtsc+thxexh4yM#&uu$0#CCv]2v(MDRxɐ SYJї&?I{$;"+4l_>oG Ye:JyЇOD,& fYۦ}# M PS;,;@;&H9^v]sOO QƑmXXJݬϥ3~/.ypH#^i4ș \.=fq@?J>b]z\K?+ϗ{1d&@Bn0r16HD2@TK ad=Kəݯ~ І.yn7KWCF@Mm\REl\z.+,Ms͛'ByH|s\:i<ͪ[=*{@,+Z]ש z nm!zM]sh;ER`a_ LqEU۪NV^]U(ɔF[zMa)^] XCw{IjJY yҰf7(^O'OdK"iVm tLtW;'{X˫ 'eY#Zyhl ш3 }ߏZxL57B`o].4E>%7!-\arQ~%m@/NkKmelp0[wt[n{ _wTZHuyraI R[ӸܠUMU{ۘD B ͗{n⫰3le@18S1³LgF?̰zϕIhg D@4 Y Ɂ?CzAur ڃvZwT}rCڤAGFV1fC18./42k `XI$%yCMz٘3l}K J|'lB8?e44TNP dZ NQ awHF 5x=p`Lz1Z AM=UuӜ>f 92Yt* Ƀ4e4ԍd-,b7)̺+/~ uFzp8Lwe4{"GZ-]+-nSt^JRyIK6E£} ꯱3$ #h?fb m;ő3n\,X(RV`;<$Ŧ>{Ih7+jkMU[\'[2[dM?2Y;#2q)~S%>d-;1MRRr K=xwGY"<Ɵr7+JM"`uY쭃,ڇEw;̢޽iЬ$;sׅݩ`Tө;-mLu9t(\l"\ۯh.pu*F=> 1&Ͻ\:(pa}ݝ\;r2!oU(4:nc&B+ 8 9DtjNUkڣE6zZ͡jUuj=܄jz 䙹]hHO/&ˆ^t; 0`8XB`q@֌}M%OkP\W &gS] l%eI_jFe$9 1^NZ͊^d#\^H\jn~0<`՟'^.,7JqUYzDk,Rz*G1yBy(i̬.pQːsd$Vi!':Hbf)=!zctX-&'D;k-aoj 3YEo \2y:^u;̶$A~mk?e6҂(IOw@׌YG2hb61!5W뤭!ݨhMAjK|v|M ]"2k,: wV4+@.#N~qiG[e.ld81^ N)h"@7AQtΒ{ݻ[ܼwLп< ɱpEqPQ[ȷ-qcAqd0ؽfM㌅g zÈȽ6"[ -5S6LP%_ݎ u)if%+m삜:ۭMn2&/)$D#xr;0PDT`/`rᾺ3x}v֎br?TO<ʀ~uOS>r3n7oh@> [ ٍއ>ժ] S:^`BߓN}Ek"ׇ;-7Wfѫv{DFf[Zf̶ZV1UdPap)R_gmpOէ#G 2 t\\͞= * C>˳'j\Qoer&+'=9jURb[.D?7~1: Uw<&3(Yl.lv]Adk7sI;B ['+eJ!w4r x=Mc/gnzk7s#F9ɴ$`܈%H \szȊ9,xow!mMLԱT[5\Jxβtm 9a1!ƶ CBnENW^ٲ_KF~:1.;|7^ z%@?RGYm ~wGލw1>O"w&羵s Cǽ=ꨟ#߹n;9hlkۥ].HRR'hqމl1ڀEͳU@~nqQUNVn2VA?v#BmWhjTkj}E>CٌJŇ<%/Q~N.4ӛLnM.X(?Dk4?rk,:7x@L$Mx>|ց|2]vBl!Ƀ;&[ebF#12S/-^{JZfk9C (M"eGZ d^w+ufUÞĒt!'\ooI6R%(h节$ˁ)Ah}ۮ6:9 | >۵ b=9z4W+g!&f\*A+2=Yt=AMCu7O]r, 4Nх(+s7.1?!?wXq`Ho0xMMU qwz@yhK~p0x [kJDza wdV/8vܧuGaapFgp(_Ұayy7'?L NrL>|<Md2o{15ޤ=:ƖOf$>ax@ ҠHi/^GjGPK ]c_f;pհ8iiyB.PP =A?JGi-_B1'S+'7Ow3cM5C(){]4w!Aa b(&"Lfzӥ%; NP&I*hE{q>\ ZEKY_!р=:`K:}w-r'^-i{|ޥY5.5>H$vN@f wj\nc8L5*%:b%C1J KMJ[tGs7BCyRlɼwԦ%) j:jWjypgT*ac&J.7 }@0Q33?!Y+2`60a72m`j| \:CVA>8=9"Sh!jmj?w$}e&q'8W!O$Njv&i`РyictP1.4{Co|ȍ}p6rRœz49E%zHׇ6AZR5ze*Ta)$Ax΁x+,^YW mѧ.GkbsD\l1jr/'E f=Ğ{PdkSG'T2a-Y Kpd2WM+BϘHlCƱcO] 5G.vJC,ti{B5ϑm)- jH/ZlPaGU.Y}ػ77eJf7?uWt-[) P>XʭV5Wuc@pULϲ:<ݍ4(uKZ\fW5.\C?)" y*-R#F\0-r.{O^KsbofdaR$=KFs2~O2̓f;VE !rK3tШx !2}C=y{6[[_>rI| eEQxP1hR,Fl˥DφqqFORĜѴ.V$.t7$:t![e0(LzO8HVw[Ui6l45\ʽ*PEI?3躦j@T }Ti5saK(h5aͥ b蓜JRT ZE)~r|˳#0v4|\&ssCۓ`qP6}\z9FԜ)/OAg&?$+i5<{6DvL:4oBahI9)аV)i|$5T{'#ɵj7rMֶ Qx$&;'JzE<іޙ2KJGF1h!k`]TD{V *}ewʠlRymNZEuzF[f 1$ {l4P8%3+] ,Ŗbl3Gi) hkqB9ǂ n jHF-pԸd'"k2#gk^giVp_zڔz֟k:d, {+vsu k+fN'Ynh2-m=$7XOr*D۱S ۶&M3VJ4\"HYK7>WTjW|G搿|9˂:2Dv+ycNVOnߘUx̚t vER,ƆlXyv=;~azg1/2 HZѮl &-*I9C[͓z .lNuY9'78TN׍5:B\)Vpc]2(م5#1jpreUgR|1> !ueӼ]*!%=7C)'9h2m#&7|TɋL FOp&gZ1%Wg ]c?q0s4%d!lO&?ϲ(#0+,[f0B'0\B[r`+ i C'.)֤Aj 2Bz`Dx;cSAؠDH8|pkGqt@DZBVjnՕﯖK>цg Kuia{Sb3iMJx.zrJ0KRBҴA3JdNHS2;EåByCw7Gml@쟧2>s,mr8K9L4pwNa&[1ȡ rSnסF?87_IwLSC7 G2j n/C7grÛpt"DuKlL7,0n5Fs>kB W2ew7mNHl¼W^@COIƾ ZrgRUj5@Qz:5^Y'V ٺ?{kdnߍ4BZE#Hy@aEyr {{fh!D4![aEZ6eU׈o yެ, LP-|=WOTrƠNtXgbڪO&q )8r[7E׍NS]wl'gAnkrd&P-4&@ܥ6$NPyg!^f(e ҳeK^+LfI@vԯ#D>[.qjKgiw)ˌ6dƻk^Y?-?sx^e 8$d^P['喸r52vO:P92Ȓi$٠eH8tN#,JZ, S+gS+rS}}V&Izd]i>Ү[{:`u+ euʆߏ!r;U|$oo jsrW䕅һw==CnrC+ mWk؀gRJerZƠSk6F4tz +@$jmUo&;u3NaŋLTxnq18)} 1B>;NĘvSl?Ur" 6 ҮbC Nyh(0zMЮ:JI~"IFWЖ.= g2'm{[a7;dtZ_kw}Jkr6v^-EqiζV㷮;wOqdKW=3דiHƔ^[ H{4m;8A(?zwEFRl+`ؑi?-<ۣ*pL\-GrnPjM9T㲪2V!&Z#5 =<uqͱXʃwЏ%bho~D ̱ $[;Ķ+{w~[FVg@vKl Q*uY^FOxz95l&3{+~gwIrw+^OL,_P,L'dN^HarJ%q m0.bhNI6ZjI{n&KdF 1z+m_CnYF3}c} M1,jZȔh~+:EB1t8A$ۗ7LR?-'#w` }{0@5s'6)%x T>mf~e".t.vBL{ 7wNr{%q~<E:o9i+_A y9C~:A{ g^ c!$T0"/6΍C*!9Ԝ_ܽH#ds|bF7b@TC߸׏" HHzDܱF &O@(ల.Rd̓ GEveyps7 UASdNR#u{)krwyƊWڳޑn;hHM=V|>nMZ/EݻŞqg\gi_b`׬Ƒl_§Ǿ͔Ig+'C&]Lv~>-jl- ~ $UxĖb^a.79$Z /=V6/? +qDm@QZ M4 9+3V:+?+Rb;1Wβ:3j:^Z{\SIZyGXi*?Ju5fLRIC%O:0Fnf̎{Crc{$߲P3& [t .ig uBL#tK:i`ɜal0NRi:U,GiػOJ#`qx#&:񜀂rof1h%_v#1c(&}:݇VkAjɔ"I$P*s([VfDh,HΌ1D$QXVڲ[FݠbgߋK? ր5(-uwZ 1L\4P="@ܺ-VĬ0L# 2" "B0-)nņ`'f򁳰#23 A@tO\, p\?3|JqaWuG\IEE!-Cbѓ~Mf0Fca!8DZosWA[owJ2?;Y@y85'd7Ƽ(c X0nm,qbɓӻcz,']]渎V|?E,P~ b&xsA;w'M#Q~H6ld% * ps1]_feYR]pBtJk[;_{8hJ$.ap $$e߈)J,|7fj\H<^/,f雄^^3S'#0#hF7=gǏ=M;CS˽#WAcԮ!!'f8t< v*&IxMK мWg: :ȋo t]ˠ2@ [ AIUr듺(RC&.jsb4rDzW '61KzѸ`pMt4p~۬n@o#'G)hOsZ㪋ڢ+5 \};Vi!Vk]5#d)Q:);FD'QfkA=AG@6=URq p=r7Eq,_NPJFc|ήHJIR.|z}S4+QwxLIapqshаaIjNp5W' Fu`2O6QZ=:޸? %ӥ }blnʾKPUIMՍa)s+Zpy릓EVwwL} :JV87_ve2!Skm"cyS-";#NI!"gC;TU^~2 G]W5K uQCcE0jXPbݘ?-'S= ˪RJ\mB/X728[ẘf@L2̳ƌ\fU -u ^z \`a< 0P+A۸ƋYBg)ҥ 4$ߕuؾ(EsĹH:j00+Vj5uVjmbhڗ[\un{=ؠdE; ^qMtuynBFt)]puf:>#7 4g 1"ϮwG6^jbyC4ǡ ГqcX46D\^D\Pp !&.AcOU|,-8lj9,V>%M8G-A"~xXێDm0DTAt]vr7˘ att_!#PRW;A~att4:_έfXE+=dre@(x-cNLs Aq Fטcί1.Z}w }+LY;t#ߝ{k*ϓƚÒއMgj8D#˃d1}4.`zry,b\閃Dc';:(Jw3[|]vSLk@NK 膌y#[@ ?t\79'$ݘ'KLO6NNHAXlT*73k`ע. bhJ?dB\j\T CY6h4>JES+T'U\W,Ҡ~1qb+#ryYϬ9Urf,Jwc!r1X: o0J-J9ϩ?:Yxn_")aN<ԉ[0ۨA!"sMf6"2P qq0NgEL;iQ=OuJ VкWpGsf_Dp.)!yon}V PCtV-kfK֒aXQ$c'b>޵i69Ma&[B&GUv  ~[VMd4ߖ {pӀ3\id=osFLKQx-td8Y~t_SJ J}c*dEA"1`xQgZ+ G񄯋9V~~tzugPRiwG{.AL8Rc|׍AbXmW5.4pT껾 aO5uv0_8Ouxje6 ڕKi7K0~h0;Cq?Yr(h[x8\g9:88Pխwչx0xyx;#Sm@@hI9O6ws5L v3^9:@  rkH(U;,Mv-U._1Af;@A$~nYOWi0+ɺfuПEzuKHD'#A&ǣǷ_!ij^nk1j?$Ѳv3NWѪTbg+x$:WU..J9&K H,{bՔOG-*)[X;9jQaz ㉺f08ײ޴6w(D5!N.wj>]p$)D`{pJf`'-e4%ݫU<6DdѢcJj%#>GdM I,x:| !<%8 2/8z$DϠj!kwƤA_N#)9O.ŗ%cC M&#[ \-"D+܄Mox_g<֎9bAE%Ba"G4FiD*1#}GW2NL9/?{-ZghʅCx`j.ŀqRw=.^e&dz#{7g:1ֶ3iMg2'P wὴ#J3a`J]ϋ($.!F[jNxE/Eply^UOrˎil!XZ?nNW? VdM$\HOlab@̀ dUv?JuB @tƖY%U}єpk- Y Qz嶚5_"bk'O Vj pe>lRZ] g-J8qM'y4YNm'67v9Y`vLq%|royvc+'Dk{R 빥>#D+B=u ;6=yߑv";-ꭸ4iHT(,Q~[0y| H1mk>_}1fܚYx N"W}d 8EXf/F&Ҕ.q2 %eǾ-"ZAtQ= hYEINf4k4f(Y@J9[ /z|]ҧ2gV=K[6ƺ M^'[Lgg90h !mQ:}^[DM2HH{}Upe7+;u$U "Y3g_GZoR;J2J/Ϊ{DY:g jBH"\+nKړQWC,q t$R4aUSPvY ;@3wU$eIH>Ls&M&+cSucQ?uL\"ߨe&)s•{x٩i4xM%h]6eys5u/L&)3l,ON!pXD!@mI3 \8Y\M/5x^ `|:1th2N|WjQkh@>7,ܺiŅŌ4WxFKboV [\7. VK" œҡ˪Wn}rT9wIP$O؄O|Vv^^GMGF\ MK9 0 :`$̰m${ A0]M]j3~L$-@pq4m~=rC:-I `m3i*l |͊9^<ެp QɓdD ~!w.Yض-vӛG9x$v)%  B<0[$TRHGlqn-Ak3xnD ":8W2Z]t;vw2" ZY5,jϜ/] h,.,81JM>q>#"IgΞ5 a~I% m L+Sy g B}CISCALP ;[k jŇZA ,޸q T!g_$VfJ:xE016<:G  Gx{XʄdumA8Z#|  Ϡ4x9I28QGJ YeЄ-:@A'w<(P\G8=Rhd>8(0,م CC)s<7NR> 1Uŷdeb,Erͬq4`e6B^/UـP3$FщM90 i(|Dz|>(n[¸1ls"{1f*;ߨնgXϻGs`} 1#J2?{!½PlC?J5MAsRgXruQ>~uC},ƒ|l/K?z^vW~sv+I܌clo>rR4дrql:\|Ĵ-:Q/ AAf0T(?UJB4G}o~iXaMo77]d^•Y]da!`=ؑns0$*,(Pu~T3b(ᨈ7|%a'eA11gaĖYaiƥ<<8>fMK&vпY){AG-u(c̠[ ֟L7M@?1~ _RPzF;KAJ |) l 8luKψij~?E×#]BU'cQh?%43B#\ڏ2sw vE֬ƃ9u1e pn3dk<bsXeˢxm 2|DxùNz:jPB%d/`^5ցX.eu\^;k_Ur f)iR;ϱ4e`=Vߪ7h#Di`RA P8kn䑘}'<N-TB%̴)!xXR:,fZϯ(vN4rp0ZdL%5SR49C'>3rS\sB+]~V]ݟ_Q`Rc俫^|Vs.*3!k*TYk&ueQ>a^2qpd]J!?~WG^ꀨ.vݓ@W>|Lx"),\Mgq5~yLR1,.Ē3ɱ @$_S!$ {]ǗL9 LI1UgWFMX9Z}za]ύN]@Q>"3gS=Tb-aqdYLzf'cyQMu1f5>|]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 YyߜVQS?=U'|X #sό"1 ;Ԙ ZU,. 7vVׂi*H:{\eNㆋV'i-J^#<8Fҁ_:]n~%XGb5,z|;h|qJUdvȸ Z669= -,H?=@g'tˊৣK-idzx:aݳsNc7U'|7/[utpp@3s&ӥ@QX9+4 :6]> T:-G#(mp#]=ģ(h+=ӊWP;].PPIF&2'~.~ e"HRU!}t= [عLz *#ЕZPqjwȷ>Α;W &m~)xo߫} s`'?ߞ^N?N5<BPzq6B)Ԧ Z9lC`Bl,6ЏY-rFd,R(~lJ{tY $k3Nmہ.5 MއGq=iE\Ō"Zu-/HXڭ72ncc?R|?sscF#Zr"gie>$l2N-`M.(~)`rqU MJ s U(j%ۈ/M,gml[p6~ uBz55[TDQDJ>$ VkhӕSAіpi&`ҦaRGY8Vm% Qů/A >jz0ReK.8[9+U=#n(Ќ]VD0D$|qs9uqvb^1h?  j\%=OZ+9BCPN~M s=K-/n/r^4K1 'y9b2"@dUYgviq[(.6u폊*` 1.cl