summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-07-03 09:53:43 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2018-07-03 09:53:43 -0700
commit410da1e12ffed61129d61df5b7adce4d08c7f17c (patch)
treea31418aa535c04f86aa4ac9a90185d322e58f364 /net
parentd0fbad0aec1df29717fab736eb24c8a49cf2c70b (diff)
downloadlinux-410da1e12ffed61129d61df5b7adce4d08c7f17c.tar.gz
linux-410da1e12ffed61129d61df5b7adce4d08c7f17c.tar.bz2
linux-410da1e12ffed61129d61df5b7adce4d08c7f17c.zip
net/smc: fix up merge error with poll changes
My networking merge (commit 4e33d7d47943: "Pull networking fixes from David Miller") got the poll() handling conflict wrong for af_smc. The conflict between my a11e1d432b51 ("Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL") and Ursula Braun's 24ac3a08e658 ("net/smc: rebuild nonblocking connect") should have left the call to sock_poll_wait() in place, just without the socket lock release/retake. And I really should have realized that. But happily, I at least asked Ursula to double-check the merge, and she set me right. This also fixes an incidental whitespace issue nearby that annoyed me while looking at this. Pointed-out-by: Ursula Braun <ubraun@linux.ibm.com> Cc: David Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/smc/af_smc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index e017b6a4452b..3c1405df936c 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -1345,6 +1345,8 @@ static __poll_t smc_poll(struct file *file, struct socket *sock,
if (sk->sk_err)
mask |= EPOLLERR;
} else {
+ if (sk->sk_state != SMC_CLOSED)
+ sock_poll_wait(file, sk_sleep(sk), wait);
if (sk->sk_err)
mask |= EPOLLERR;
if ((sk->sk_shutdown == SHUTDOWN_MASK) ||
@@ -1370,7 +1372,6 @@ static __poll_t smc_poll(struct file *file, struct socket *sock,
}
if (smc->conn.urg_state == SMC_URG_VALID)
mask |= EPOLLPRI;
-
}
return mask;
r(9/ `QjVrF bR98@X}2a0 6U < >pI"L$ vfu1dbȘ0$r ~+Fc`[-n?.NR{$ֱW?|x\ZZeßC9OμUkܟcC\.?9o`nu?Vسίl9e!9K mbhbaX1 mua)w[]7osᓭTi-uW*o6`=[e`ps>-m=㌭WO(y\'mOZe}j4ǿ叉◘ΐu(E[Pm;; #-=ӕ`c["n|ch4GgL!GӣՆ:-g쭖cZCPRd$!ɰ,}6/sPp@Y::G3m]/`f+9:N{$ғ*QV<6-%~ [:0L_ۘT8dC8&;hGB xoF~3rQøoA}t,|J]O:0@zƹn?(זR!b.s !f73,f/XO-} 6gY 5iJ/(k}3>F}Es(Ncj(BQ}!7]%qjDQaCs-ةNf[ǿҎ9*^cZhÑ| \jxGp:21w\7~,쬇o~Me?amÖ #e!t^j{Ff~IRA JBHj+:׼4xn羔5KV84 ~VA .#pi #2*j">7nLKJ}wt2ʼ?Inm S&sXLjW_obM`FlΜIqlXJ68IdL"=, 3YidD'dRrIvf: hVd4#Q5zv|n}2IQC%|>=#:|$YS 6o[HEp8\L=Gq׻f2oTyUQuHFz/UDȉAIJō?(c[ZJ9ZDȧAE)C >{J*fZ`b+Qw'cI [HLKI֙(%a @0A31LDQDJ?G\etA"a/L%" $|D33-^R$7Ȕ85HT%K.iwxCZB N8n}AI01bB" H?U`TD 2B۽37 ΏCdj6(A/aOY֔VɩY+J<ь+jޔyRP\nQs][GoҵKĈlpiQE.n~5]9C_Es e2)9H=,WEWYoݾXQ!wp9QWz緤Ѻl׎jn}7o~Pn3~XIuֱr&eKҕCzRW~)rۯ|/۸تݲM ʙ9{kejLj#ViTB1!fQGl#?uat_;OӶ5PN([J*3(I>}> K[//!EEAQ) omU0Jt@Ba{/lIpppoPyh@S;RH.8c CB]lK҆[ӄ#z yIG* B"(@XcurF07"רoӢQ})3ާhmv=>{0Y:_6"?{w_ێywHhtQ[ju/6sZ1ڦ}|eFu)B g[lʫ1-_~![/|CEctrGefƾ+Fy:4gOE-Y[.0ӇNj}{XZǒ8s`_w]vp/fp);av'P|*M-v:0aRODg_<*0m¸Q8p{{J%[7f0e/~d{,KWQ㇂D.%^.oz'd)wvzdk mưU!Xʱr\uOі>G+|m܎oU%GqJy5 |Kbh%?<|NW l.2:Rɼ;,X~=C,(Bj`'1JaL}kTSJtQ $CT7[zV%]$nBr`up& |!$;RɃ&3(D{'0`C]b/_ٕ O'*T^/gP1Pr2!/_`o40a E?&8$b߻mmncVX#zu8bcVX"Ƭ81Y"1V{B}Gv迼Vtw4wsGx?*նmUUۻlm? iryؒfG[yq[sRGp` I&iɎ6Wl,$l { !MU]W<}_m%Tgfl"oA9N?TCп[d9$0юCD/l4dX Cli|8^V$2,Ћ"CQ :?a,^/PaYX.d|͑s._= GZJwᣎ׳-T[-\EdwxO49[~e69GhA^x68]o&*5.z:pg=g5n:cHsҡH$K2q&XL5o}cO p F S=3JļHfw+4$Qëcמ=lvw~BH@;9@BA)[F[Kp=Oם bPC"B+gSCgB|xqQa߄@T8<7". |CF5l! 9]2Daz'!}AAY]$]";!~i<ng!L ^\jtF'[v&רEKw^;jߛX@yNihϕnA1 Y,ܸv:XezA`Iou"M}Yy3hiQ.7@t//ĭ O")K!R{5]G;8{w?ٺ6*mɵR,-G2|>Q-(A(Ԝ( CP"1~#^ Üs:uSy`&o98nxg_Z:srr`t;֖{Tb~dшUiӾl>9U󏭘9j7oT_ ,z+ eh~[9 X+d~tklu^Ք]Zl[lG*7˲% )$>~Ӈ{|_<?qm_CxW_ ̸ʳ(E6>쿶P&Օ%֡a{B\3%t?}0{L ߪ&M)xl]T׽_fBS6Wy`=W(V u~+gUc.ii<0 QjJ+NH+V #?U&N-+[ lxM Mka].rAQ-EQD'e˿e?{xlT[#v<+3D>6#H|~t\;kvpwtW@S̽60wJr88;z2$yOz8?⟎i!1ԄɠXϵ_lYj|J;v @sOӝ7UG,b:{6^;[|Fc}Jό.Ǒܣ,sPks5=-XX3)I\LwweV~Qz_;Ы ;o {g`밳z<SRDnpse)/ pS B'iH?u o$R^nx j2[T<QKP3;4QD|7UA~ `7 Xd({/B?n^%a<{>oc p;!]3lc_s\1[JlTxoazX8jGͫΪ-iHT-G {ƼFXVͽ=7HBڨ|/P͂k>Zkqѹ-f~}_><珋aTlY0.WkNCl{ۓ;9ӉBG {hgsU<'Qpll˝{w WrxBV S:ˏ&aG܉#45t Y6WCTRW)PmWubO#[6,pƠ4I &(>$5ǚC۱vh:$ ɢqH"?%#7M*(SL!A4TbރtFntNRK¥3!:O!pzRbA i` YA4#iwB]ϕ"M& )^zF@O; $x ,:6A tuX]/`S EwQ)s3$GRm|ylpݱ wD;\-V.K:%c{NG=F-9o%0#oeku0:o%ݕws;yT[MYz,qׯmCuÃJ.n}xJUGCR+|RtQϛLz|amu7Ͽv^W+ k 6k+>>,×\wAh%Y5]FɃŘhXtKV7/h}>ZĝWHm]UCRww"w:;3r+SQj))Sf{)lٺݾu)<źDXuBYP;L$srG/R$,<FӵS(0/$a߁R2{Z_sQդF2\z[v;KG\׆zf2m2So=335kֹM}.{w[EW+G]N7wC7<^uX8k7-"nجI dfHMuې nJsr\]2 ؉oƯRݽ\g{E^1~K:=hcIJ k7!Dv^)]"?$P5=H&g|m뫎c0{qp `ag.CN<|ˎu@_@mϟb #^s6%9#U::TԱύ?}`0b pM@K}$ j" }@N!DݫIAYq ڊ'TA rԋůj@ȁv;vWh@ TMa$}a55\\NSjlw$R>-vf)=~=L_4nK ]cjU̻Lrܚ}v-H G| X;=gEiv@XRPzL-í#c.}OӼ|ŰWɆ*/{ Q#Csy'&w ]mY3 |GJE=nuj59\kO Dx2 E@dfbXy7kM=<>~q;7? I ̩\|LE STnqQgUw{\ ϝZa~|bR1ѫW93N.oW/˴~I@@Dƾ9x,RH~>^2\ƁP ~=ty5*7l1w'}Z- g%P"k<1Pf!~_Y>fb0mSS:9Ò$;,7)0VR~0 6a-a{$?x5D*(2}DFY>bBcm#,5馪Pݺ*rS;O~ͣb\qG~1IGc SI>0g?erdZf7a: ;b {zwj AWWaHG,?C!X?-M%p,W^6׏C㦦ZAETB=mFOc$Ȣ%<.!g$?U/j|z4آsOB41ђ1$D6/ٓņWpu(l@0m#$5@ .Eۺ7k.1R2#iS @]>oZ>Qrjճ9 {т}:$j@oU f9,UUU=RG٥҇̚uިO>mYOT|a#CW?;6&3>jz}]Fc\'9,ĥ(㾏Jp|OoIti.mTmxP] {u|7 aQX۟oj@ؓ9DzfNn=u2fֳ[f{ؗp=u/zvbXwup^@R,!InNF-Y{B"w|/!1oOtɧ A;˺}m6Cipsfy$YyC5]OѲŽ7%ӹ /%`  2+edTesH^ {v s9VmoT!}bW;iUC%B.[38$1si(8ֵ"~Oɍo5HYYͿH?KrK,"GP8oU$ŏ-;nI:d_`#CuB*H{XDG3oh;ZJXio=5uc{ ww^a).lZ\]<8!)& +'KV}^u QsIwqNsɉ;Bh"(*6B=_1X6D29l_X( $Bh WTx 8 'B-U ~a_Y!ӳvwG^R6!na}Þ>{cClz.trjU^&zqwY-[P! g 'Xl8$5_vݑ:nt'sg--uҝ|]K@A N&K-x[SwD_nP̌CssQUn\#SoW_ӳN/L=u9٠Mj<׿w7{@6k{L;ӛzP PA=@Wj5H—#9ӀU;1xǕCGuS]Za0 :\kKYDD)Aɠ eaZ\3CۨOW_"uΉJ~:vSi0G 䀺2__Y[X>-_pǜ>O }?JPT?wNGa(U0՚[ЇCj vN)ܸX`{WJɼ9RaB9pF<1r²a\B lxYCY?ѥ#p<@] 2})~X B/NgPkРhmfvԺ ܣ?p޽hD6a)9y ۪wmEoIa nh!gpau9~d[g'5}qV$*Kr C LaOB֐5]檱j4Gk1MsJ@m0|-VWk}ӽ/j==[( jX%GS>/?-'D$$&;t}Z~|NagLb `t16s4])OȯxЋ8$ zvhGpe9! ]d-C%P>y*Z̓ t`W7j FfQ璁Q:VW;?q h9d"-u #[iT 7xDrbLu)U4ԓۚS4A?Z \:Ѓ`RS}zp]qMÞK k#{^WAH,ʆMm96-%9Ch9 T>ihdk3xB4VAG\YIH%_Q MZRtu*}&:_Ρ>s^}A󀉳UD0ܛ6sxk" }Od:fȈ)s[6i<.R/|E}vJ*/?ͯh mY#S?VȼOc'0YF7! eh._^{3fޟ=1 "&QjS)f3o3ĘӱEJW)$x_ e.4GTD`D!F*?D!ߗ"]o_C׊݊l 5@+x_/p[Q#Cp^W -Zo>p1 ',G3,("tB< %WxrkDr[W0 mVguU`ܡK-2nޯ`)́PNOfwkN~a#&n%U}c pX:u/d(9g{;_Zʢ$cPH )"9tWõG&vj*L PTb4s͜2[$%_o%jӻRcӄ5"nϟ3b,,vtHKuZp32/~j@.:l1p+z̘D})l)4˓aý5^ݢ 'd;Dml[?sPQ maI[ed,ckA,1 +h{!SۃeYCB-vqPtQ'yI!C٥B -c0 u rwGy+L݆S&]Ox˰ B |켦Ǡe>Ekɇl2 xrMQ8(v<<^;#8VK=pw)˨Qj:p(J\ DYPhǢ gJ/NZ&+(mcE${txz#ri/|Nta*%r"Mc2֟Ȥ; M!ZU dT @$)#EL7 _ 0>5]eτ$! qy-P1` U& 7&ϰIG#qJ%|[!N~ -AK7`XR\Gn&$ DԖ3<ҹm^ ߏ,%8M0"ft}lXp#>ljlu\-wwӰ#Չ8:f*+ROa<:B:X6q<@!x| jbwPpawƧper v랷wFۗ;/诣ҝRGNu<1.(pBdq 2%@ k1EAuwElGBO)bBE4Z0ͱp aM^[XlkCV2 bLǂ0mgo˱s\ vՍ €/4Atc!l`Wchw/G(8wl;֗3|vR\twK-!R=.0ؘ8ݠpyDT#&zLc` 8U$ $\Ds3`ӵB3#(c"t8 #(+w YS;K`m>pwK o(qՊ2w%Yr$ToYkP_cdy^ed>Wʅ8!Ës]Q.zAR \9uVXb?m\¹w`2DoWaG& I·AF'i#oA;5Z|DHD2aA 07ǷJx x[KlD(+fNgm*%XNͯxtW69 PP0"dBY`?M9r- r\: Fy|wqf4qvERN|hEa(bi}Fc°_O8@˚Q '&l P$6 ~rC::Æ1L;T~ gWD"[qZyyF&)FнPh^::8|j5v 5dzqOa(6Rt$@_xK-T0w׫qӷ}'7;6l|?l߂ϫS=G^PW|vvp~ɳ+Wg:N^>*ud=->H GY .y^r!g^g4{#V l*l(ધLʮhz'4UG}1a۷kH]eTo "ϺAK`C?u{C>S/rX@~JW׃1- )fyhIkDjIrS{ f6!ܜmxA'Z$Qp`cN^cs"հ8O9ĔFi+squoC]nAHAdyĩ}OYSΫ^.B?wvxXz44#G=BNGdyhapyM1D| ӽ%cQAd/ />h^D|Z=@d*01Ë*]g_)#,A..w3_ _Ov|!zh/٦yaM}8t5K Hrk̥(Kܒm0^6wўݞv=CR:ƾ!J1mԣd`Wd͌oOpj5Z3,~wLf:#dKoԪ [cB i~[˔ľX]D=Vl,a_[/ЩgȰ1jG|kMq$c{H* .~5 dyC$Fb,e8j>rD;d~wŠ+N˛l0By@'M~蛱Ko=qXZ^O#y"La^t^ik5poSXE}C1#S6%n^-pl?f\wM$V-:,Kuc ΃'?[COMAr 4m_ifk6a fp AcW8Dy5 [xv*? 3?P~:p`B4oϘ 31▰X geuq,:/#ē u@B4~ Ş(&*?2gs poyJ@34(m8d )^VA"9;ݛή.wS ;>r:7 ܃lGGkU>rgS]DfC<*ŘsػBp͜X/[g<ǹZZrkt'Ck>кFٴz4y`,Y^,̪Y]#3F\X=BPZxGPow!,eT4OvFKMBۚ^+#!I(dY Di9*Jk\LydVeц`j+ǧcncӬzj2˧&Y6ٜf`Fdoxo]crg Fb9ku7<FA@lf, r.dciTڃ5em4Ɣmɧti,]1Ј:]Q;5|z]'Fu>鸾7OXXA$N0cz Ka?{p5QˁF,8_D}ӏtfw^i*r{"7zqj Lk6f^]  nBNgmA؁U~=ɑ>MV, >Wo|MdTJ2|;&>L>b·iuq[U=À\ t 9wCtT}mEu ?&-pC7d$9E3W*:h8,=0 s[[֙qu e 9G+IKxvאM^_}څd->:eT/,\T\ܽF0" ?&6BjG9 IKL 2 KQEdŔe.8&5(\S0G\ps d]B@ZC4EI"FԦW닍T3+EC~4 g"!o6Va{Ԩ8W'h k":x6*}<; m4F(>@\Z`Na& Σgq`=QSІLYsOrhۈ~W:[~fZlY;ShpKe‹7$ 8om~hՒ I$X2!O|[qi[`6$}yz~{zOB~=9}T`@_u/?~#4Q4'8XIi'Mm &$(_t "Hv$02M6&{Qw\⩉|\UՁdN_/.[^Fw#n: n' =퓆X3D@̃ k2sdx:4?bn\OT>G`gLPO('(WgҢ!kp!ӵP 9O.2)ġ @_y2Br1<1"HɀrLj)_vt?.{frDn?{WQ̛4?O p˰P8~ 쳩L Kϯcñ|88bCnlԪh'^!g lš@iD_lǞ=zblICf< BOr7mix: !/CЋyzKD)[a)Q4d; /+¤Ҕ0P.Mb ]W0Yt&>ΑϵSD>ۇ͢;xiToK0yG PcxE#89*|+F^.6[peI:reSf2#1`4ZKDeC|[55GMăE@^h.6J͹rAAq۽s_Aή2Au2v /`b/j5fׇnk jh;-UG+pޭx-g1:_k]p5`l) A>e.uq&-sQQ<'/\-H=(xA\u:Xd(Q< Zb:l>-iRF:+jL.|*ʚy0O#_e $D:j{nL qx{a'ЛO1] 7 %DksE/vyҳA50 x;w@ۺ$e û0m"t_~ lBR+zkE6zFfggM|2#466]@$T@%rPB:A| S'78r.ٕ_jۘ:DU0>=O~TpK®/*d@T=vʭoK'}7P0 (8+nz}~=c{O$o6wJQ $~%D [^G_*n|mR&F" {nsmD-_㻍Q/-Kt.p]d@ >2 W°x?c-aU=L e/\yձk%U]+tGu`PT`C k`6VF-R`MZ ) X2#?BŸi}U cc5頟ߦ)7hÓQ p-Eß\QNCc7 SVjrʥ мtfv#s>v}j8;~*-As Ϟxl%}Os^Yul^ETuV>1wKƨ F{Q6d=zQZSt4'BC^gxG@ēeKEC%80Ma˒b$}Bb^IԘ4<ҶJF;Urӳ5H!T 8B$98 Ǥ]tZUd3tYՂгSVw1 d0M.) F{TC2WDHu)$mlb~Phr`,( ?"}׌W\t_p {_mu/F$QglIu3zykcmQ%X&ƚCr{tﲭAH4MN0^V~ܺ=uEII{aA[\Ġ 8l Vz&ǨDHȲyHDa/ׁs8HR )F@-2kn㮫K|G99{ݘ ήUFnWޑEH.G<@lkÒ*Pi~xp$6LVY[,%&8qc˳|y`ZW4ׄYC[%1KU)\͕ӦٝLTM %3qg5{?Y5jo@^Dy$yFa#س<т.7]C\Wdq$hS˼w \m~ۛes_X6*jxG&y!T]9fs0 yH4p%.;nqʞ|~-<-uV^k':Kа8<[ӍxotU{ϮKƆM7;f{.E]l?_nuNxkʧeڻوa#8@s 9Aj`$~’| ԼcZQNj:NwmqUWYp$Ţ~+t\9y"\=}f %`*E`֩.N;`k^] ,Y #g2JQRw{w0ehciD:GNgjߗq!Ӏ׎YHHR6Zv*ٌ 0*uGڝ  > _sKG Hwsl;}78I5cb0a-ev9X[a+ g y@J ҵG%߃oQgKe~/>!Y6E:fC[ۖmHB3B=!ePn֩@L .h8M rҬLr%JL*~\i:Cyδ:Gh"Dvzu US$͓ !UK͵S;+'FD, iE9[xs'UA"9A<}g 籰z#EhM˰bԜI<44 R S-6wlӐgdL4: u?[::.J q#>k)O&lKY|, ;ZG0 MBx5 nQe ^sqn7IѼ.0"$D(u|U~9" P,>v9iN"2S Zs%!"la^ꅳh>͖5Τ E63^\zﯮ_>WWz`֜LKh&5I,|FO;${d.$|^Z;:ZPw 8 U Pqg*?3lGPZ$mU7;8%:I۲ ?S9#n=HHU (P2,n\(;i`tT2F-*Coƛ< Ec V`i׭-JE9o7ktg/to.NRykV=kg1匨F79T+ڤ؟~+K-:8m-N*#l6w$1,ilEʞ$6'xF)LgT@.pJjc5;W}J.wD&^RK!O!5FSAl3NAn*9dDMTmkt!3w{EE7ץ{)♆+lwS {kӞ%y=VH@%M.k| Ta'h 7W:D 8jJB>,\ t|G_m5\~K~DZw>#5CnM oqrE|ad?mtf߲w;@[R] YWDŽy 5Q#(0X[6yahD#u6:Q:Ȝ0TAm N\:ԞK\Xg_'\yLLO0*9,hCugk|P٠06ql ,yʄ!'N|Jf~2so#%EB=8wt0I=gS2 u!%j1MpHsQp E4|(2Jh9 TVʭuבCz`uvi{[շ`[3sׇ^ܻ_721d d!qL ~ݟHZ,Z\ԷߋŮ BRf*,婬gqo\Ȝ-aZ߼cXT5$;@ MD2~X~ӈR ԙ~فrT{?/xmrv5B H*20s L-Rz`69K}K,NJh&_{j8@k02T\7 9{탚(4TL}\@bP7;t]y-Ķ} }k#7[VڝZLIerdgp˄UQ |5^G 7PWE,ga7mgG2EL]Ykq`8\82J3r`TŌ2es10$_Ҕ?6Cc[pxFZC w#cM=ȵPFRvB_T!PM>زd~ 1Pld(;`VOT;AC7OYj8~ӓW[ 8<dž- rdR_Aü6]+:mM~eFl܏'kuw["5DG0\9K !ߣez-P`P PȰ1WG*eR1}JZyVӛ{NL$7sv͚Guץ'6oU*u|r!Z8c v˴jWZZc(٫Q>8Erlf#zg_]QXsB\dv->Bz螆fi{sL˕Uғ0()fπbb$t{SdBaValrv{q]#VDfaaoq^xtF;ܒ (LD7H)D%uo.,|{b>n> /){qwJ2RrFb9@\]8@Acц|pX1SJd*0c.h UDC9o(D8" 2 >?ZD8.sq}-.c5 cuNu[+A*n@4A+=6Nw VG{lC{϶H\FuqE\0G]';RO@ߴ6>^H|JR ׌',#ۣJ,{M$7{u>spcv=S_M( `4襂g!Aa`J %mT Hlf<=D_A`qesp&RC LDPI bOjƍ%A~n|i0S#uԩSk 'TcBb'1UaFm( BTXpXLUA\V7e:S`ufG(Az7qQ@]Ѿ;p*%⚜2eிMMXj6>^֗ !->:y]s =v*okpY٭;i=!@ylQ (Xi#.0R[.;"x I@!}&n8[Q#u`u wϩYbB( ݶ4-r ;]z3ئ|/#Yx~OJ|C'Ƒ :UmTQF,=UVG\ךN=~w9ߞ#Yf46[뀇8x^G**C=J^ܓܖyjё)ՒD@󶎱an ~soi(`3kmpi+)9^(BZ ȝ4MP&!s~ЈF% Ϸ?ۺW\Q|}r8fӀ8[ N\U= `O5M::|sU9_p2px;p55q@zcv4]4uAfgŅu:dDl<߾>. ER⚄-sK)(@X _8kVmZVׯԇ>$"@VWZ-k/Ls'r5GȲSdn"0Rl @^ giMvx7޸b"Fc=x=EΏO޿bX<v{9e΄-=BB7wq`¬O8$)R.ħYH Zh35u6DW-Z' xE0COøp0rQ&wJSZf9M]Q% 74'",;WЦF|C05΅xd/'vubQԺDW+`*Y]&%iD;r$<0{re*GYgyYQ A0̺nnco;ӝsNm&k`zk…CVp~Y?sk1|[Vv7n $Mո@;9_Vg8LΕdIǝWj|ǨrȋĢIXDz55AٗU,K A1eU1--@u4X&e atzm |{y6bV/=|f? g#;v3?G0|vX*PD3`?KpڙY+.Eʁׁ_T9MoޢT> -g@Ȣ9~lVU& bH,dBc\ALKޯRH {a@:8x E3-9X&$[=ݦi&(C>:bSy? xQ@՗cras^悂T9L2vO! ˶1*¢b8 @JՓ.V'D?e*U?;qeUqۿ* ik)/YY(Xċ 7EFsqI*KA5@7XB@DVZw|03WAavud}$ D3 E$ 繣U^2`)Fq,T|9OhmՎK;"ƁD~K2<ayܟK_/&D4 J "l%Ǻ,~Ε6%(Jꀩ6p6d8(dH->10_N~60rFyA#_㰟dAF-ذj`h:z[eX a@.FT hS}c\Y*`Ua wX&Y4Y(?:,1EOc,?wd0l+6WU9?]oY,Դ wF2^o`fQ` Y|3vڞ&X@(@(m\mEgGEa2 uՃX vPrsD "~-`Hq,,n{x,ߢ1H#q3J]с݇` $`bX#wJ|^(&XGHrYvw"8z!xoj5 +jjL ^iCN[mxsq`ќDPԨk}-LFa|H5@ f~8jN_O<&A{sYE&G;8p p;H"Fav흷ڃFr ot`U:''n2-8 Ϩ|Y_L0IH*Pzq!]-07CYuơmh1{-E`A3O;Ž*& &p !eZYǂ sI{Q4 m1ZF;ވΰYjq/#j&dXĊ̭% Ή'}q{ʵuʄ_ v7\.=ۯn)8wV-=ހ$I!W|DaڽsK3itĻ塴vgw>c o.ݢ<m4j^b(! H{ڨ-(wpԈ+ġ|X֖<딐Կ,P? D~D*T(=Jk5b|5 NaIf%(@86ZLcq6>@X$YbtmޙRϹW8Zf$-*6z2cbul~7vٚ3bF ^g#6kty&ţ4Py#ޤwcwN>_\6Y5 lnzya9qƮ?,o߇->UR9C<&bQQ(}8 @y$-5waz";K ]]\R0,l 53}vV, 3ɨX-ynkY8MK,@o'O9,йӬX̃=aQP(؎{13\tgA0-Ӷu9}0\xdCD(@pʄs.Nl䳏5vHAit#ҖvMw L:+x2[7=xHkqa>58gF Ϭ՘TٍR}C᳑1kZ1^I z"޴Q/ 3.{/zFD9E8qg>T s|㼡cvB3 TL0^\r5*Ũ(~&H`WeřLňϕƍ?8gy m9jX$(e\ -Ur!#dt?k9Zs+}~kj]dQKT?!z;0TUv$py(IsX.OWgttkМKc:}tprpP΍nscY"Uϒ.^]STI'36eCN fz  -8PmR(Yz >DTyynIt1Bc:>9|n HâNC瀣:In|T7Qb..DUQxfBӉ8vOIӇyw2FlHZ`1 pٳ?_?N4r{3H:GT,?աOOnM K c "94?xgkNjsQeƝI2!:z=5b{r0*F*g #~'?utg Ϛɱ݌LksvsO+!oGt??ҧH-^"anq' ) )(vti8/ @[X_E .{]{ SZo D>zZ@6 ìږL>%8m1yB)qaԹˠwqcS`VP.`k&t>"1,'b;S#0U6eGD "]@O!]W6hwW13M<q HE0pbPe~FH~-2}}g4fZra6SYOlCV% ܚ0NHM T(`qb(d"Xo䵢TcwX\W]W$B9\u C1rkY s akV02 `a 7ޠg\F`g}HoL"/jaR @L -ȥRhPu|TL O$zZ@KCv"P7rDBk|aWuE}m0#{PeQe!Ð/1/뾳mm~8'[aA+>; sʚ^-)ߗ3 _`{݈pA0&FIh vjorwQ+w,;(-hMXQ> n]6 ^Pڢ,$t}R gs#D`E#kqb]tXM-f] ' YU_gBEN]BlHnU F <.,xmf)|g 1#3Kl; 6n؀ [\ H67ب!DvpH_ =|0xw-I2s>! ӊyp!jԸz]Zk\eBIB3SVplU>g>D_c(ufS0 qt\>dFGPɼ$FdLrJ vH_o , H=2 Es W3F4jAlyAd*)b.؀8ʳ:|Xk  W_юm ' )}wLP*B̆opa! ]OhV4g0CXkIAզ.VH!07~Z4dK ;2*&zdbGpQ`=P&-23d+|2+ieF'qaOC9!Tl~L.ivBK2{SZ0( 8 )`܂a#>Ğdl6z: o$0}FoF 1c׳пGWm6qڱ4)D.e wb\usi+.3p'G3$c8GvmqU͗ml{lTZ]7O?5݀arJ>~6ppibI EF,& d?YXφRopNzn ߶ ⛒Hnp-Ǩ@%nAe,1ˇ bv+yVߌ+M>jw`zt35Owם;+j6ܬd65q]j*APpVr SÛal67?=P;MfBD\q!`AԸ8Bw>)e$ h"Ax?\p̆؆@nW$R,/sù"K~a.(Y UmٛaD*& 8j! 93,v~,V0?wEgphuC`Ѡ!tj"^qGӜ3w-${&BU$l+.V5ghSIR<-}V(p,/E\U-aΡ0DjdtwkN:b*0 8/W$4bq} ސg8I)',830 ǜ;Jw$AE0DV p s($Yf ܱgyXfXhZ>˨h!JGʋ'rM^ \ˀ򫲗pb-w(sSh+| i5dk[4^ҒSow/  {0!6¥_|b\a;÷\5@ؙ`օ"κ1Ůլψ?#H ^wT>m(ѳ7\ۗ;Wa"Gw#9CvYm`<,NPy~E8 DLp{ ]RCppȻTAli0|^붂 5lְWl)B!BpEh SSǮ3HL|TCxs,}ȉiSf"|isEB: \䗉(#6ͅaK\su!}HmWvS~sq{>yh*u,PO>[G|g-2Aq9m\9VOJEYCX 8*g. U,r_19`"h[IzCzmW1t [2X;FRVT0qhY4kإ|-㯳L.;>=9W;΄5Z^01)d}Mv$!FcXNy!泑K]}x#dyf="Zlrd le(gLgB3u]8܁{(6^q 0̲k\=ƒ}Ujx<>̽E+l5ضΎ<J!9n}i.‚ravnh#(r(`xf:/uHԫ nٓO-<-R<H(Q^l)N/s֨NF?C\w?f°kvga'XΧVO(OnD8O $+",~a7=RI#7LT!HU "THL no-6c Gb N8i<6 -Q5qE cM#QuW>H~ذGNJ+vgh5m!C;yer=-{VmAßɲTR;"As᳀lNٗ8}TAJR dH6FGV% o^hٚMEP{r1.t|$40#w7kdl=+bѣTK޹&#ۅL^ 7I$(nPWũ;{0;ϣTҎ&clC$;NNtt{kȆR<|n0}^yc +xGNɚ d+c~b wTCևw/Þ^N fr$'cNh;@8?u4\ż :,8BhnEC㗚]3r8$4R;qJe#B(x0Zgݮύξx<nb[ۙ@r6%r1PI{f^,UrF6F^8&t焉-ńc [㉇"ʄ iZMntb߲%yjR$wj U3 On&\PeT82{UaW x8eõ@(h]&eJOi.D>m.gd@S>x\dVO uӾ/FDç@PWA;x"Fj9 \ @ОF)x=-7\=B˳^izuc"~T$w=CXN;a[ 81S0sB 8q;8[JsYCXm,ڭ ǰƧ6eh>DGcȉ" NjTj1Y؎ 6ˢ@2",;Ncܐ rƒJ:Ceu9cWB"`= ev" V#]|g&:f8ZzN[L 6ȉ@c3b85od ƞm2,}@!Ƙnҭ)%gs?X_Ю,PnSl;8_a tu{'VB()1 Z\kV)}\D-9[!noInT p!ˁ8ޔXI 1/p(yKT'@\4c8|f\R)PutY Q 㼈)ptnK/cʴcf҄lQp^NOCwLjfxC꯵pxnut]癖W~W')H,0I0 0\ U":_k9q;6uY]Zz 9kgԲ8[#!^^M=xT֔A >wu-B90YoB 8^P8sTt<sp.vq,'+؁B= `;oU3 `;~#.N}3fXG=R%xlF!vn˲읦p@Hu۔;nIaaWvƧGL Qqzdz@E g,9w+ڇ(r}R }mn3 Qec.$#-m7sERzbY> ߠ Jҵ%wRm\dJx*zR?@rDFF۪5W|v9hxpW1~:9:3)}ŗL":Ǵ\ ,0s,$fZЪy>n7:9'G'֩lW"! I7P>r>#fmˡY?v5kgq0> $nbY!%1YN ) m&ϋ-8YQ^b(A%h,]8tRA^݄.o\0o.M,K a:_C_!3>H%zHTGwz|}Eb[Q$ fuK<̓|_4*Zȑ u@L;nq7|`#Љ4 lGptrrja-zO ~A=vkn'a<zJPEYa7"`'J+CFE">3H~wx{ v= IwWi3T푼 xރ;_'~m6'[PH4d$eeh!ۅm8`?ܹ37pXϥlDz/MB}y',P\l;ǽاE[/6HÀv€'" ~zCozN1/v"Ě~O;ǃt-5m=>p,6 A?;ACgLHq܉:&>ϞfTh`tqa*LҦOTi,>insLr',&mMxwNlhͩ>]7ȗb椦FY8.[}~.דdEFp]RfAaO?''U$R ;i& Iw`m%GΊ ɏ,>>郊Вaځnv_ՖmJaCNvrmA7є"(*[l)Ł!WSX< ;v =bC᡿S$O'$I2kBkޅ hY'ӟ<B5ڊ ekmUlLzc|Z(]hAcMU΄Ȧ^oc>mcR~Ä8\JSpP>U\ Aa@MXh~;c9W b K?kTrrqj5~IkΉ # [˻;T Q*>Xc}FcB#SLAH*!wi?cb=""!w,;C ߤ P;@zکKmp]v H\sWYe4ƒNjRvS57qjN*`Q F 70dǢnXM~^С63T^&<+33Nn<4Cg8ɏ!"ݰ~e}2E#+Eqq鉢$x)sĤDdU8\qH}";ߌ  ! *~WXbwUj9:_5 v8*H)YX:~9{~ uӳ{m"@3ǽ|6xХ51xB#\GmLQR,YCL,2*AZdv_XѐVbx "O98K^^TP9spae 8K;^8Jb]`z z4_+FFse͸p> mugFo[ćQG(xi36Zzg?7henbh Yl6NVT׸M9i6a-(ZxBbpg$ TY8@Ac|=! m%}6@⣵3k6l49dX7@vr}wJUjRiT@p#CpAʅfхU_ӄC)Y t1Xg[`c!pv.e~h l%?S)bfBA:+Ƃհt8x̍w`۠ I ?8qa꟟ȪnsWv}!V6!A 85sHq-(\ ?˾~9vPˤ"Ic e֡+"ڿXAwTL 08B?/&.qBB^h80FP[g"DH'R czrwoٷND5]K:f3!(]]E̮e >M7QUb(,}烋$Kq3y L H=dm)DK՚L3C P=n協#8.%ܫݬ1b49 +o. ŖnKyǖ 55p>X m w 5OxfwY:-c\gYqnPOo$OLsxKN98BG!yX5W*j=O3pܥ]_27aZv$'f_4Ӭ!~}O r'F?z 2+ w^Hb̈́@%غ f)%%v^#m/Ȏ̋rPKᣓ>z ]`ýA"@d78_oj`J جe+@>$*SPnߌ|Vx.u74{qǻMRi]y}f]K>A@+mYs%:JU>w D`{ha{4!d2MգFR &FwݟDpsp2n2ݪ|B>?2vK-  eBz2)+bh &(?8@SAIQ'y'KGww]%h& "s {Szd3 i;$aoܟE @VADĈvsFگtAcN˃t^KQOoACKGafp12?(w=8zܿC 7ߛe;c{}k-ԁGRNBd-4m>C_Yp020gkΐ},LGoO{Dmӛ=i弬K_5ܒw}Y\9~grv͐ $xhwp=3(f#fJϦnnۚZlՀWqOʣHKgjmexcqrhc => gmwGcIIW? oL|u_D(s]V }kêe4@FXeOflW!eAռakm}9/yz :̹dQ\|Z:xՠGOx=Π˨=ݣoz8 ,9<=b粛n|K]#쭘gXL11oTOXwy9ܾΑ9cs ©dVXZz%ݖL]/}ߍ^y/w30H(U2!2QYyY /Xi%1dc3-QsH"cb Vٯw#:olJ?3'\7}ߛÓJhߟ 9(pd`@ieVMo/{̵u?+6(%bk:mjrVK?l{#@{hA>Έɥ{ZWjxw DQ@Zy)qGݹlV˪d*~}i֣,Τ|t,ӟoѻ^~;\l"ݟ݌7r;T_w6#, V_ȭ=ພVyN}Enn/2Zr}y;Q0QE"xW4S s m!خqOV&,Zy|mzǻAoY}`͠!M:@ݽcs^BB1-VׂyaYMW,Ll7WC ycnw |T`!A[hÑֽmU!ؾF_NmzCGϕ"1W7v`o?8~E29TrGT~7 S}+z~~5(lSP[i$+q{]77 `g x_ >av u[V{G(?)1Ml! 0mMDgZ9~b'?@OIy'pw̄;'xWwG.d9P'wCxGs '/NIRu5GN4 rR9: ǷJH#nC9z㎷ 5<`+7!LJWv{o,rJ?(1e@+BQQz0N#B" zgyt?>Sz; z~.(C}jPzNI!oz5z@L(AD6\f=@壬AyQWYbbS4S{lڣqNaQ/ >2= f@Qjo,+V]Fÿ`KOZX >1M59[3'/,ݿPAd$Uޕз[3 2U!=0\G $gˆX$&[K3"fhඨ A$1Ԃ"G]~QmVkfגPKWs '`OZ=n2ޡnڂpcc"n(@Рt\̓ٻW址jdg*A @D clW:νe6JZ? rJ2zlAhJ888ϵ nƩQ`{"Iˮ8~qKr\Սу{" pȒB:-rM):PRΠhDxuEn>Vټ`hF(D"@~kJ$j'rjJcLK~AGs%[vYр!l[JvL q%sh9 mH%-P.ǧd f%T}D2CPpAvmh_Δ@þ>8Y糈lvaRa islr:ʼnޕ~]t_}%fՑN=1},pPW;l3dNw.^rkFQ [BKE ؍N\R4~wlZdiZA9C{x<4c}f{@ 0i9\ek-ϫPx3[p{weeYo~ۦ &*:"Iɛ'z앯^JFcKv _4c,=K'4 ^:ȎbXёР R"ـr964|Ԏ֍}؁.Q (HQ"5+fZV6 qVwr2ܪ@θsN\*C(=]&^o#޺XlRa]us;y؆h< ߑ4>zƻaY4I| %>D)#8ud:|F=ӈ v/?fn6tF^s`B̬K~n%;oh>0;3sk0~3޵(MXX=Q,h%u.sՍl%v/{U8@Qa>{JW$a @%>)OA߾o?:n6t`PDR$vO2{SUd!}4id]0]W㊇FӖW`xQ QiETFWdg:]\.:^vOG}xψ W0L 3T_tcL4u殟~ih}x{0QQ{b`k<+YjkJ:^X6ttVb'梇 TB `7[=+6G7~ v]d&5NC.tdk<66 _:tq|RM-+hubl鳹-q@|r.3_DWw&9C\DF\,;d 81= ||s/|@wK^}R p~p#i(X,gI/=ɜ .wp|q#?7'9cWQ>,ߋjet>GQ 5qɘZ' 2M[rVWcc΅DTF B]? ]{ø!a {J3N5AWte w׌~Zxj|00ΝfۻuT܌gpQG?Q+TgɪJ!O:CTZ 0^:®ﶱy.ʠA~fU~jVk䍼f-//-oXTr_;Yot{NYs}ϵ굟(nmP eGOT] ULQl-1l|ɽ=sSbZ*F=\ty9Y Il{y޸æwj W4w<ȇ+(U=qO64i;=a}:b@%qAn ;m~^c_Wfu_uuyP̍T߃Њ\_/ llI};?D n^kpxiuY]Z]0H"~Z"5In*~1'eԟ8WVT!ޙX WZuS$fAi~ Nζ:d$$ >O\h5a¶f5Q#8@ANɬgLh?" pИb#zxBڢ/N >=k郒"{So75,B\b";CKA @~~K 8FzҁD+(}(uj3 Ik1ztw5v `z)}~"sO|?`ꤶy/DOcVk%o/|uw\~ݧӿo|޾@D~DVĨ7߷_.Sݿ>8 $*wbQېV= y6R' ?L )%k,ѷػ% {ۀB >eF8Y6]bDS4P*,፜NG=]o<(Ks>.Ū⮄i@O<u,}?a\?iZ䪢Kbή+9Anj9/='j+SӗPJX^1$}:va~9*1E:zgf<>5x0,HE`d)y֛I%ؓg27>_8v 4S۸t'MgJ"z֬`d؉zFa{(CG:5,KU&c#.U`|_<]lZq@cQ#\6(9 9Hknժ0#UJFt~[fǗd )!d xD8": j%^@@Dۍ tMwIϕ&؋Fx-*Eup$CtwD$=cksS~Mqc!׷/6C ^ZP1H6e91P4$j!sDj_ /g;ioA,>.>۸sҝ<5; AӮCM1l|OL!-8+]~E{Z^kZ/žcmjWR_3cMBC ^FB%%*@'C6Dkir6\V@e&"LvFxpNtb>}FB *D\[dFE$"jޯTq|O ш~.~-+~7TS ߴ]*5 #:jw3:=r;5ƃ O%쨼aAU!,Wy-WrrÈN ~~Ycw)m>1Y_U5={/*p%Q. AEW!6 C4H9 0Id)^'Ј:y~r>gyxv5h{m}ҜMX]g~ldSU.Y 6joT)nxt v":iAzdc!8"BPKh.A;`" pDQ!xZ:仗o貒]@-lO[ <ք o;wZ $obcg$D xpȖ;O5v⽤llҘL=yioyCǚGql<~yVaCHKJmY_?1@t6[j%ʸXC9ԁõ/0oά{zyt vc}aP GW|4<~r'’D =1-D !8t&Chw? CpٗUyW T| R.#@ф4|&"-$}O[_ UBHv}wv,W AEzq '=HA~ A ܢ2IZHT"| MF ~D(j9hXHi $9NJ7o71-3mhOqm 4#&(n f>ސil)b8"8&x'G_Qg%zzxE6kŭA(4{""QPQ'!S@ 0"Bq(+*FBzK&AH?(Ыs*(*߰?_Q"(8PPcUUUT5CEQT#$*b*S"A**j&! BZ *" ԡHTTB4RĔ-%-QUPTEpt!M?]EUEIAEXsWne4$XRUsճ_ӯgPMBPO#dVi/aCB2D-/94"r"P `oސr;Ujs.[1ךv&X]]-TJ"FꨧPU*խmu; ^!݉ڂN[B$$ݡ 'OWvOq[Nn~e?f".誎>}6(** ب<;}D=H7oT\5BժqposYʆxBK36X n? An*@˂Q (j +,_-Gg\ww:Km^BE S3lr3al;,‚BZQU6*w`>Ƿ(!LHDR~{ma[ckvYc&^NMBcYB8Yk%/[B}I2 #=>q\ SNYar [T E8Xhվ`Hn0=r(rR?׽Lu͋r4u8-@f?ڊ754&Hq9u+9z6~zWއϖE,':L`O#7&= ;M['9~e3}/>59&$8cfn.QHHH,cDIcnmo\!L1P-!"x$1M?5 FH%;E@jzkEQ銞frf?wψ0Mؐpϼu#xO5Tcnm aY6YRVZ dugUp DIAD [0x Ӡq k*9f}}?[kqL~TX.wL}< 5N_V:C#l_җ [%'{~cbFYVml֯vcY;huiαӶ򕻥o:9Zёv2ۗ7"';2krF [:~MHr5ďq0O+/~z>>TAD@XUQePD̂?[fX =Au8׬U@p45uYP; cZ߭Ɔ'{oUZnD@M_A@A} F Bl SHI^` :