summaryrefslogtreecommitdiffstats
path: root/Python/compile.c
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2016-09-09 17:36:01 (GMT)
committerYury Selivanov <yury@magic.io>2016-09-09 17:36:01 (GMT)
commit52c4e7cc84702750bb75d5423da01d01bcdfdf39 (patch)
tree01ebfe1725b4169baefa4e76aeaeffcd25153f3b /Python/compile.c
parent93b2dee80e5d72cf12522d773b512097493c09fc (diff)
downloadcpython-52c4e7cc84702750bb75d5423da01d01bcdfdf39.zip
cpython-52c4e7cc84702750bb75d5423da01d01bcdfdf39.tar.gz
cpython-52c4e7cc84702750bb75d5423da01d01bcdfdf39.tar.bz2
Issue #28008: Implement PEP 530 -- asynchronous comprehensions.
Diffstat (limited to 'Python/compile.c')
-rw-r--r--Python/compile.c218
1 files changed, 202 insertions, 16 deletions
diff --git a/Python/compile.c b/Python/compile.c
index faae4f5..20fe4bc 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -202,6 +202,16 @@ static int compiler_call_helper(struct compiler *c, int n,
static int compiler_try_except(struct compiler *, stmt_ty);
static int compiler_set_qualname(struct compiler *);
+static int compiler_sync_comprehension_generator(
+ struct compiler *c,
+ asdl_seq *generators, int gen_index,
+ expr_ty elt, expr_ty val, int type);
+
+static int compiler_async_comprehension_generator(
+ struct compiler *c,
+ asdl_seq *generators, int gen_index,
+ expr_ty elt, expr_ty val, int type);
+
static PyCodeObject *assemble(struct compiler *, int addNone);
static PyObject *__doc__;
@@ -2165,14 +2175,14 @@ compiler_for(struct compiler *c, stmt_ty s)
static int
compiler_async_for(struct compiler *c, stmt_ty s)
{
- static PyObject *stopiter_error = NULL;
+ _Py_IDENTIFIER(StopAsyncIteration);
+
basicblock *try, *except, *end, *after_try, *try_cleanup,
*after_loop, *after_loop_else;
- if (stopiter_error == NULL) {
- stopiter_error = PyUnicode_InternFromString("StopAsyncIteration");
- if (stopiter_error == NULL)
- return 0;
+ PyObject *stop_aiter_error = _PyUnicode_FromId(&PyId_StopAsyncIteration);
+ if (stop_aiter_error == NULL) {
+ return 0;
}
try = compiler_new_block(c);
@@ -2214,7 +2224,7 @@ compiler_async_for(struct compiler *c, stmt_ty s)
compiler_use_next_block(c, except);
ADDOP(c, DUP_TOP);
- ADDOP_O(c, LOAD_GLOBAL, stopiter_error, names);
+ ADDOP_O(c, LOAD_GLOBAL, stop_aiter_error, names);
ADDOP_I(c, COMPARE_OP, PyCmp_EXC_MATCH);
ADDOP_JABS(c, POP_JUMP_IF_FALSE, try_cleanup);
@@ -3627,11 +3637,28 @@ compiler_call_helper(struct compiler *c,
- iterate over the generator sequence instead of using recursion
*/
+
static int
compiler_comprehension_generator(struct compiler *c,
asdl_seq *generators, int gen_index,
expr_ty elt, expr_ty val, int type)
{
+ comprehension_ty gen;
+ gen = (comprehension_ty)asdl_seq_GET(generators, gen_index);
+ if (gen->is_async) {
+ return compiler_async_comprehension_generator(
+ c, generators, gen_index, elt, val, type);
+ } else {
+ return compiler_sync_comprehension_generator(
+ c, generators, gen_index, elt, val, type);
+ }
+}
+
+static int
+compiler_sync_comprehension_generator(struct compiler *c,
+ asdl_seq *generators, int gen_index,
+ expr_ty elt, expr_ty val, int type)
+{
/* generate code for the iterator, then each of the ifs,
and then write to the element */
@@ -3718,20 +3745,167 @@ compiler_comprehension_generator(struct compiler *c,
}
static int
+compiler_async_comprehension_generator(struct compiler *c,
+ asdl_seq *generators, int gen_index,
+ expr_ty elt, expr_ty val, int type)
+{
+ _Py_IDENTIFIER(StopAsyncIteration);
+
+ comprehension_ty gen;
+ basicblock *anchor, *skip, *if_cleanup, *try,
+ *after_try, *except, *try_cleanup;
+ Py_ssize_t i, n;
+
+ PyObject *stop_aiter_error = _PyUnicode_FromId(&PyId_StopAsyncIteration);
+ if (stop_aiter_error == NULL) {
+ return 0;
+ }
+
+ try = compiler_new_block(c);
+ after_try = compiler_new_block(c);
+ try_cleanup = compiler_new_block(c);
+ except = compiler_new_block(c);
+ skip = compiler_new_block(c);
+ if_cleanup = compiler_new_block(c);
+ anchor = compiler_new_block(c);
+
+ if (skip == NULL || if_cleanup == NULL || anchor == NULL ||
+ try == NULL || after_try == NULL ||
+ except == NULL || after_try == NULL) {
+ return 0;
+ }
+
+ gen = (comprehension_ty)asdl_seq_GET(generators, gen_index);
+
+ if (gen_index == 0) {
+ /* Receive outermost iter as an implicit argument */
+ c->u->u_argcount = 1;
+ ADDOP_I(c, LOAD_FAST, 0);
+ }
+ else {
+ /* Sub-iter - calculate on the fly */
+ VISIT(c, expr, gen->iter);
+ ADDOP(c, GET_AITER);
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP(c, YIELD_FROM);
+ }
+
+ compiler_use_next_block(c, try);
+
+
+ ADDOP_JREL(c, SETUP_EXCEPT, except);
+ if (!compiler_push_fblock(c, EXCEPT, try))
+ return 0;
+
+ ADDOP(c, GET_ANEXT);
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP(c, YIELD_FROM);
+ VISIT(c, expr, gen->target);
+ ADDOP(c, POP_BLOCK);
+ compiler_pop_fblock(c, EXCEPT, try);
+ ADDOP_JREL(c, JUMP_FORWARD, after_try);
+
+
+ compiler_use_next_block(c, except);
+ ADDOP(c, DUP_TOP);
+ ADDOP_O(c, LOAD_GLOBAL, stop_aiter_error, names);
+ ADDOP_I(c, COMPARE_OP, PyCmp_EXC_MATCH);
+ ADDOP_JABS(c, POP_JUMP_IF_FALSE, try_cleanup);
+
+ ADDOP(c, POP_TOP);
+ ADDOP(c, POP_TOP);
+ ADDOP(c, POP_TOP);
+ ADDOP(c, POP_EXCEPT); /* for SETUP_EXCEPT */
+ ADDOP_JABS(c, JUMP_ABSOLUTE, anchor);
+
+
+ compiler_use_next_block(c, try_cleanup);
+ ADDOP(c, END_FINALLY);
+
+ compiler_use_next_block(c, after_try);
+
+ n = asdl_seq_LEN(gen->ifs);
+ for (i = 0; i < n; i++) {
+ expr_ty e = (expr_ty)asdl_seq_GET(gen->ifs, i);
+ VISIT(c, expr, e);
+ ADDOP_JABS(c, POP_JUMP_IF_FALSE, if_cleanup);
+ NEXT_BLOCK(c);
+ }
+
+ if (++gen_index < asdl_seq_LEN(generators))
+ if (!compiler_comprehension_generator(c,
+ generators, gen_index,
+ elt, val, type))
+ return 0;
+
+ /* only append after the last for generator */
+ if (gen_index >= asdl_seq_LEN(generators)) {
+ /* comprehension specific code */
+ switch (type) {
+ case COMP_GENEXP:
+ VISIT(c, expr, elt);
+ ADDOP(c, YIELD_VALUE);
+ ADDOP(c, POP_TOP);
+ break;
+ case COMP_LISTCOMP:
+ VISIT(c, expr, elt);
+ ADDOP_I(c, LIST_APPEND, gen_index + 1);
+ break;
+ case COMP_SETCOMP:
+ VISIT(c, expr, elt);
+ ADDOP_I(c, SET_ADD, gen_index + 1);
+ break;
+ case COMP_DICTCOMP:
+ /* With 'd[k] = v', v is evaluated before k, so we do
+ the same. */
+ VISIT(c, expr, val);
+ VISIT(c, expr, elt);
+ ADDOP_I(c, MAP_ADD, gen_index + 1);
+ break;
+ default:
+ return 0;
+ }
+
+ compiler_use_next_block(c, skip);
+ }
+ compiler_use_next_block(c, if_cleanup);
+ ADDOP_JABS(c, JUMP_ABSOLUTE, try);
+ compiler_use_next_block(c, anchor);
+ ADDOP(c, POP_TOP);
+
+ return 1;
+}
+
+static int
compiler_comprehension(struct compiler *c, expr_ty e, int type,
identifier name, asdl_seq *generators, expr_ty elt,
expr_ty val)
{
PyCodeObject *co = NULL;
- expr_ty outermost_iter;
+ comprehension_ty outermost;
PyObject *qualname = NULL;
+ int is_async_function = c->u->u_ste->ste_coroutine;
+ int is_async_generator = 0;
- outermost_iter = ((comprehension_ty)
- asdl_seq_GET(generators, 0))->iter;
+ outermost = (comprehension_ty) asdl_seq_GET(generators, 0);
if (!compiler_enter_scope(c, name, COMPILER_SCOPE_COMPREHENSION,
(void *)e, e->lineno))
+ {
goto error;
+ }
+
+ is_async_generator = c->u->u_ste->ste_coroutine;
+
+ if (is_async_generator && !is_async_function) {
+ if (e->lineno > c->u->u_lineno) {
+ c->u->u_lineno = e->lineno;
+ c->u->u_lineno_set = 0;
+ }
+ compiler_error(c, "asynchronous comprehension outside of "
+ "an asynchronous function");
+ goto error_in_scope;
+ }
if (type != COMP_GENEXP) {
int op;
@@ -3774,9 +3948,24 @@ compiler_comprehension(struct compiler *c, expr_ty e, int type,
Py_DECREF(qualname);
Py_DECREF(co);
- VISIT(c, expr, outermost_iter);
- ADDOP(c, GET_ITER);
+ VISIT(c, expr, outermost->iter);
+
+ if (outermost->is_async) {
+ ADDOP(c, GET_AITER);
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP(c, YIELD_FROM);
+ } else {
+ ADDOP(c, GET_ITER);
+ }
+
ADDOP_I(c, CALL_FUNCTION, 1);
+
+ if (is_async_generator && type != COMP_GENEXP) {
+ ADDOP(c, GET_AWAITABLE);
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ ADDOP(c, YIELD_FROM);
+ }
+
return 1;
error_in_scope:
compiler_exit_scope(c);
@@ -4140,11 +4329,8 @@ compiler_visit_expr(struct compiler *c, expr_ty e)
if (c->u->u_ste->ste_type != FunctionBlock)
return compiler_error(c, "'await' outside function");
- if (c->u->u_scope_type == COMPILER_SCOPE_COMPREHENSION)
- return compiler_error(
- c, "'await' expressions in comprehensions are not supported");
-
- if (c->u->u_scope_type != COMPILER_SCOPE_ASYNC_FUNCTION)
+ if (c->u->u_scope_type != COMPILER_SCOPE_ASYNC_FUNCTION &&
+ c->u->u_scope_type != COMPILER_SCOPE_COMPREHENSION)
return compiler_error(c, "'await' outside async function");
VISIT(c, expr, e->v.Await.value);
 6zw88e%?YtU`h>~U#pc 32JJAMOvp<ʹ^Sr9en&{(1Ҋ[bvnW; &-~}U^7P F(!L(+OѾ+j4ه;\w!i3nMwWO"cƛG_e=pnH3A:mWZ a.a-FGjCf(~_Mc"}1PaSk,?Oĝ爊2WQQԂWۯ1qm\OF\a쫡Sn&Lg!as9,MiO9@[pn.$P0 =BzvuW>uÝ߅KcG|BmmjU}Y7۝ws|QK$4qoz8L»dшή$0)3YCQ;\36 Ip~u._q>'h\vܷq D|Vq$z]|6(8h6 H.ɒWn )u31@;Pf:jZZf $4ʬ' PŋKDQ(D5¼_lu :jFl36D/7Gmڙ|<1'x%S  %&q Q> ?|ɏ?YutSKُVS猬%ڍЙޖI]؋+ʌ*䢑QFai{Ѕip^"/ܝ/@|({T02O$/mWՌoWeYɼ@fsvPZh/jۭjs";tjh## tT V贗ϪKxp>.]WU) lN+EmJ0v\v]j|^Vq%^V|T]ƒs>w AzTIu,b.AHlZnɃ{Q\^J &uc} PB Q%Ev!JȮc:( ^^CYVP 뗙7U_~Y0WK aOYVhgB=7 .+ukY۫b{{i)yf+5f/@2u/(ɕ)T [Y>/s>7kZ*c4H|v^-tq܏g0;mD n3{Vx#`Jc>`]o30]ܹ]$L"ފGO@o'd)MSZt;Wkwa w Q~t4UB!`ސ'C\ LjO00mUtiSPn[xJ N$ʙYNѕ*J=ZVTعESe7/ _we,ͅ:5wa w>6suW+`rUx[[saYĭa/az0|Ȍu3M/1- Zlٌ_ksfS?cx.n>pvi"eU*R,+]=|>ʝa]MS8[w$Ig x1Wc"WE̵E-΁*i,n{ p.f<̿/-fsk0s<̃E aqhc` Wr%E11󋘛"7P(u8rzn]rVP|_D`w9]n_dX$',rU,"ok9ok9ۜ_$:<Ҳ[@EOHE5!אoM1 u=6mxNFؾ ʔ! 9 @o2e%ߋb!Tbf?W)/SGlڌ4QTsuR,(u[]%~``|r鮲.+*뢻º讲.+ 뢻º记.+ 뢻ʺ记.+*뢻ʺ׺QeMۜ6o嗅nTU bkuºZe]l.VX[+ bkuʺZa]l.VY[Z[޺ɔ^o,/q>0ɗ7-omM9DŲny*Ke{R^alTWX*+, Ke{R^elTWX*۫,U{-RJei_Du}_ Viݠ7cVeZJSџ/܂JTpn-m% WNg~}sp7P\˳}/sKRjITlkΫMwչ07离,*fEYTZ*J[Vl:7[+֊s,+fT~_*h/^a˷w,Oӵtm8]۫Lע-bVsJŗm: Kwv>\\qM}QLVq4L7{тvU؂Z uKM7 ݚ[d lj:~) \%2C>l9.$:Ʋ!Os2xtv|;ԅה4:puHLEߎ\Rg.k9ca9?‚@Ց+h,bUͭ(i[_803zHeϻxo:ҹUWd_e^6sY {^ 8(~ʅ _rxe$|v;$k[ͭ/_>Ç3t4%vô?az44:#6JzS$>'$4 "phQwFzqqђ7gs4btHUoO|8fӕ/;;޹%xrl=`lsxn6[6p?Fdl9fYOO/ŹpG[Ã?I~_÷q[>'&g^u^3w^'@vWJ{_#'}cN@Gg4*Jw;?K< 툭Gd%Nfiɟ:|x郗Mٽ?آmyDY5yFmMv+J7TY_e+LK9ᡵ| 툦}\U;:Mw3o:g#P/eI}Q&\v*9>{4]H S[n 7"5oHw#b!SCXv AH* #N05_<5{#mgGn=zƛc|W}?. xwv:֥ITd#vCCf'F4 c\O:)"T{q#zkǵ{u~xM7%,KC28kʼ4mu7M5k/Ǭ4xo,s-,:DʹOi9Qk4Є!' hOw6.5eX"6޺m?ݢ?{rH| N/6Ma&K[]$e:#@Gh_>|or5jg/ޛEcTDžIFܾqέFP~w^ Tnk޹C0*tyÖj~T90i.GLx\MywIoeA2=MA?Ah]1-F55XF)4'A~kd7m<+7zD&NGFdCy؏U8֖;6 |.w>@#vXFuP{n{uWұ'x[h|kkE vfFwWUK[fВ~ʽԝLNi-@, ^U^`;j_o(9s3F==ek  '5.ZjMٱlUvx@\O'׮4W֣Gkn?LV%h2t,E1"S" +%/`Dnwi3jS#ܥ>INB4+4. *<6 5y/o-xY{x"+$Ri?^ŧ)y4tN) (*YM pǢzh /^(e%5*=Tο0SkO/z<~\[1N: rpF%z܌xeC #YwWVp.(e|:I8QگsԽm2/+T8p&sJ׮a#mx|mn(tn~yo!&0Sbxn۽ЯP ö9wJ2nTƒ\~Xh\-[ן pɉ&}Zȹ -_* Ǝ6 [Y>|6*pCQqxfs{\Ɠ4fZ:s3y@[¤fO;NӣiZ/#m:Y jg!y=;Cy~~/*d_r;,_1$ί/QH޳M=~r'}~K][?m~vaU(c)б_X+j-Fb#WrAtVI2]P BAgNæ'ŧrGʏvˏ-qcꁤҏdBY'f) n#1(Iv^ ^{nρ~۳\RFT,)kMƘڊEָ"g7B̊xH~<ˬIpFjی4G[b]`3;\-1|VKBAuhXڂ0MdRvXc,K,pem/Gb߄BL{`$^Yp@Vs>QՄ^10R~cAsj{欒x|^F4|M`8_~maQeG4M #ß%Gx*W.Z^7mH I 焿VZunk>l lGdcmuǻ=Nv~?^x2 o[Yf#D'ni2 o"ѫSDg4{x't-<{'j(%|[ mÖvdLڙf;|D>\(CR@5>D)X]h64Ó{~_xXDŽ%x3-^< =ݔk=}SiZ4O+MzdA%kyqB!)zn}|3{| c0wBD|l9>gr $Ui||*b ^B|pT`+. e ?h8iV\浉o xNxGޡX[rΗ9>B0/QPo4xj Hh Xz~r?p. p&# vX>t?%o?t* &1ChʵGޜ&$xr]Uؘăq/'w!yMrەMngPѨ``Xu2Um8D߳!* X^4ʡ֋;/?c{I} C+s|h4k('ږ0Ǭ']ǒ߭?ZhfQbtbb$>{a"`BU\&dT  i8.ÛPŘx:n '/*xLq5j@D=1Jcd+zDю{µ^ϖMTm 5Ii':=LZV+&='ld:8zZYa+Ty,x?8_x_uih$3N~GNM]60 Ǐ>6I/eW]al" -U; $4fh.k_ (>E_ 81`c1xMfd<# vW%vI/8H 'ˏc_u;dGK-0l Mt fN={kkYv3f_5В\?[/gdEhIfn+Ǔvh1qBX`&3"8aMbLuOOM4D l/: Θ.[tYwPHz٨5e`\: PhD'64Exbk?ID}=lmP5 "QmJM&ڏ\#?ӒYݔ]9$;Py9' lEdB-zɿ411h&{[c<,є,I̢+has[X%ujQIDY]2:XoqedA3$vxf#i5lX[vooM?o^h2"{9-˧2{3/7IM.ZA.MK\^U?߄C㚜&w&gđ8~Ѝ~/6n6b֞_"ZMm=2<+ uq4*M;7 g$Ci7ZSfSoa Gbձx%v!ښX_ 6ne bv g#^aŽx>qPGg( i5t! ,.㺜nmOqtɇ.sƓeJP68V׿Ҟ{B#~\ƽTt\ſ28?ᑸ*;頲l 8 Ԣ/]+UԴjCR )b@4Ð L8xvMӺ{(ufD˴+ZϣI,v3\_]qGNhzp44߂3BgȿW5~N7,͵ߛsКzzDf1B 8&&Bd}(2˿h!֗'|Ve[%o&dρpJrw$wʮ!X.̯{aw2x _Nkb>5+^.;7wOOom,d0a s$`ljԠz:$& WGRBй i7fk6j?uy)Pk44]!\騦!+~lD ьvZ ?g1zQKN~?瓯s]:T{b൮WZχ:UdE.:g|$[дpLρF֟4~OOC#Dėm˽sg~ɨ &p4kh0X׽ pHpfmFn٫o* {n/İ~?)0фDA1ܕ)4^?S$ 8f &Q.Hur,hcd^ yC0őNЏ⨇>'|scjڢ.M#oVQ;~O ǽcx){+IO7Y<&V4 q4=؈B= Uu_kpW0N]VC>;Э1#D٫[ ȧٱ]&hÕ$2"0]25 5MFrMIh1vÿ";>{&uwNQ]/g̃3׮䧨)9jdnځ}t o%Ոo7E$ɡhŅ@5\cR9U~'ǣ:iJFѣg:rʲ|:G DV FFS{:nF+B>J_ڌK%S;mj]xxKshru2,r`YW'WMmS&}>VFVW"?I͡P ӆYҫ7)yxgkI|zΣZӵ(!ƇftH=2Ol ͐]M2 y1z9mChYLj:~6IHHj3e72o)*"2{#(Ջ A|M1r$PnJP]<T=DAx[ iq8v۶*m%$TTME%ѧ6&']>0IY|(Ŗz\/stKdK D+.zкC}xrKD ͢_,`ևisskCu,SdJDh AXw BJ pHqfYr2x3zYG[lL,mCd,"ٛ ȳf[pU#8}tT!ի"V20TPh`rpf4krhUD>VKBVcA76Ow{v rX ) 7$،E<p)uhw|\OVJ[P{ݫd̀F.4Cw&kRJLr;z)Q4(\_E?KskSO%ѱ>>-͙L"؏$vG9DuYS4Ě7=24J4Ph~O=i\ ֩X*&Gb:K S'yB]0'FmX(nXTÑJ$P|K7Y5my|P9nJX("QY~ǮB|zH }R>>efIZ)#Z> %񉏴K |CsWs*lU4R\/EQziWOI6Q-Yz[ZY  4s`4M-#̟{PZKhGF=$ %wQAz D3cH>6FުĈ&pV,o*|RYԟD#"S9Rj}HZ5|^]:ґb_7̻VqV"9DQՑRf|h~+χ ;O3|>nWs\lweauXLo=>}0cOt_VC4g/'Vn~r3dY:6N;*ܾiD9I w#޺ؕRdI Dnl^FH&[vGQ0X)X߸\+L$m!Ms_/Dݬ:1j6x%X''9 ;m|ӫ'Ch#3O3ʣO?qg>Ng ZG7_>?OM.Xv)NwKq?`sļAfzhR,c:AjJ~=A D[RllL$"p,RkӮߧ8KȐc΢I# G1I}zhF8 M"1.MhBI9x#;@7,fl;E*|r֎j ogDQu}Cbiw4==^r2x}\gƀVlOF /ь$ l@4(#jhY'ޯ` w`@;M2jmaASeڶBw:r [IVY= EɲR(ZeҮcxdFliW#mqvx'q8mxG^NyJlK77ݔ08XwBf2s$) rw9zO~GFVckf:R 1u/\7:,G6(@|^`̽L8ߊG%: J'A Vi5>hRRS݄IŢ`pr &׻EOZK!;P5`?NiIVNp4N cX$dzS$OS?k4S1(,Wyn&b#IS) E O'`/c8bYGMM .cO0}WK #.XӸ̑L=3m؟34WSNny::#AZyC4N1q69w%n h  Cz? q3 ņl!!'zaD8)\5<6 11&t2-uGt/OOd@[ܙz!I} wvtDlCZDPW;Qjo.G`- 4bbd5s {@_~]R8cɲs@m w#A媶W{~)pT}!9/+Xnժ#?tLJpݫZ,˿nιu.߼Q$@{׿u1&J 1C )ԙG1sx3\2>*v X^9䞚I^ Vtk'N42î Op͆ jtJwNs h"5ى%⧟~ yFHq4nJ\U2jܲ &t#g%qOM6ed/3.L8Hꞡ&::ɯ\ ( F{pKz^4nzUjAT\$0H{ 3D4G3\JJd<"'DNMTq>=TFr)Knp͚cf0W76}4-|՜Jg8@ĦT>kJ'Y\ D\B,dr7`.jqWB8h9;׫:dٟչz&\{c}4rݙ1NQ㼉jLf k 1wپg&G1(1%MnϦ FEuHF{ñxv/ME>T~0DXţmGWc ӫlQ)}x|>1L-7*Kb;VQ=+љ_<}@|q{};eRzm]gӣh<9VM9Q-=ǜ%m} lӜ2FQ9f|9?c5Yrz SaJ﹃Eݧ|c흝ݲp-ɶ tItaJ Fb3Wo`[pG]~dn!V.':~k|7r#"/hDAϻ a.E6LItŇtdd-\- PGr|P'Nڳh2lVqnUAZnsO0Y.@QW YEU ǿ+@dYND)6Xg|;%Ι**okf1pPJe"+Xq9QmcD@*}%AWg5LdbŅG0릤˗\kⲺ z/7oM乤1n0Սd {ݺuU©=ufO1ux 6܇.W=- u?InEǝ/_?ǧr9!ގ^KO ؎mz7Z9Sa98Q' |dHyij"uO!yCΡ{?viJ0pY*@BU62^֛_51OM$Z ! +늭/]I_E7 b1%*.ۖӦz_ QnWρI:J~+ۀljD?~Loc] RPdq Oc >W ۖIK 5iŧ_xDH ֒뤱ű1I57XX`y:Lk>E, j8}r 4{1$z?&G% :6HB̾qac;|:rS#nO3s!_*T+RDAǬ=.ʀ`Gx,e$@%TaX-!8K?W-u&f'b5R` cAe$BcrLF)12/Dx2g$zJf%\2m"c2>YQe- USn錛8Ґ/_iƳV!QX4M辡.} iffx 2ImFh# Jm"iƑ7-M>'R[繆lkCfhج:yB/KfLDX XƀǜS^嫲 :{eP0>yNl9.i-0'i`өdj #77ϧ zb822dӄNuIw}&̌~`K@|,XmoԨcR25 ۪c%SN+vy(4OsaW(%guc>& l|U2y[`ݿGv@k͂wMZ؞%GX,z˗R:^o6QUAj`pͣ2o{!o.w̅߹Lpc(=Ca?ò؆)֬2M!R򙁫kc-M]|UIK&R rnhpGustŶP(ˮ:ߋUcޜ6^6D$xڭ >)< -9톓و}qb/#s7[!:7ovi | %zSt- !*h)\ $vfȫȼKcscyP?4CFb UZ\[5ƍG~hYa;>оt@[ـsvN4NvX%%w8{ף8Ƈ"|qMs&pL}N3(6T \Y/HDOHB祫y7zQ~8OnzBЫZeuh)V" T $f/W.saX. #@m3GHS_w6!]?FAW@e J `' -K6UŒvaђx`FQQ﷙>K*ʘ5Q򻪤ݯLWRt8j:rs{t# #x86OL\Ų^{5mœ4Fė0˪n1rSqn4ȯX:~an_VA~Q|35MכsXkakQ?a&o )QM<(F#>]#(BTšxvee7n!1=gGGc%w;%~-bXƆ nIڟh˒n}d*%r=G6g4H{%\8 !HyU+z\˳vp?z '=v7+@ =/%&slZètʲY~\teƗcXPK2(: giy* nI[%|vŬ Xh 6?ST8<+ȴ9^-֫f#u' '9&!PuOZ=4,9׬baA2LK#ء+ad b-Oio >o=cnou5dMɏlIe*be,Qw66"Oу!p9ө u|r$dD8$s['@I=?A^jh~: 4PaP.sk-1M Cii:U5Bf9$[XJ#PJ].s`rz0nJ[7ʩ/ ]txQ _/o/ f.` JNIT< %!:M>9.B._۫_)n x {Y,^bp0vg{C//<>;?8yOz:;R );w9ݽg_ȟunzKEVb؟$ӑ-hP.7I4Ml&[ qWWZO0vP-.~L' a&Q([䏢O8gx:v0Ń݀z&r~`#yKDŘyxi=5LzDr*?3kI фںO ѢZ$Mb$ &ʴ*kG9@%tI[=^z:Vܟmf'@F8꽥i&d< ԣ)~_\\ GxK14s EW>TKc?/CȮ8$k`PAc6k5 #&K lD1x`ZP'Q660jxq4ZM$z٧`!h򖃓MԟĤp&rҳm2F٘mgu-&se' +y:m[Ÿ+tps/ǃ+f#P=AdSveXB[:C/$TFބ3hBw^඗g h需ho3;xqH99ʀ);!w6OB7ri2d](RDmsQEp1;E4 MR?fImej)25' M.hkȅ`dcdDk ̄Τos!U ]BɗYlDzi[m/3d nuOs4$v~P"dhYq6OzxyCMVY,?:x)Tjf7RNo5TJGLw05 6F=|FԾ"HPmy.foG5e(Za0eo[.-SX|7bG4#0PRQ' {V d" Mt~$S' \OOY#NHrWRIPl!پ Cv .A+{ ѧc IOqʄ%#? mI ) c$Aҡr[YBeC3r:lW*%@x1Rt[NSiC1~+pM{ᶬU漣ոiRd9{[81}8letda&ֵ2q aB27I2{}Nޒϡ9eX1*2&(8.j|ӽ~xOAj,k6JO >C!bLxvxI9 y )uH仟y>=ml]ZS៭^UGXY ]0NģUtK Gڬ=\L/@FC yi]u]kL9uɕqJ%@^wHM5i4C8i t9{a ,D0F?D "=%F"CD݇zБ)OpdanґMM|/?z!ɡ,iŭfxFv̟\f} XG4rg(0UGC P!3 wxMO(K} N^Zr`Z0C_P3ZJ%1p{ANC+JSU_镒9YB˂V wʤ͙S^@S ܞ<_ S D,sYI ԣtͲ& =#WznpJ p^LogmLf[Aվ,x@"-[W9/JA_fDOv ӡa\>A#x#+hזD)0F`2 % s<,cQ@axIlV d&(ELN4;# Hc)f)G:%Ǩ;ڥ@1/ӱ^yu dG@*阘 *ER1=6q "G\arYꟲ9+q x>?"5i4Jĭ`siU/YI^xI?dc*@K)-QV\ |bAS.Yv>mB{@>םIGxjXI g7o\Ao/Rxg{f/>gdp4\ =(mO, $t}#o@-^{:64!gC)0`2IK]c߼OS;5ýkzOD4~Ʌ%ʗ\(_r BY(FD'U&H1;=sT5Qˇ>[u-f T";n-梁 3G2'hˍ[ԹU_< #jdY :3ꭎ.u8dQr⭑ˊ<Ċ#-88b$(h-(,,U44᝾toF0!<\y$o"UA+CIBܮVaJV%AK J rrDYkHAqv]0juvdr&Awn Dhw9tȗtkNkTd!5۰= ]tcgX,d9Ob+S{E/X0CP+fz:+nb} um}jTL,H]w* >Bf?PzYxrlF* žrbLD`N'|!7D  Pn`a&ق[ ~w~HkJZpkS'i>0f^QZ7#"|z9j.ǘyZιmbM!'^;[ʡ&7fZ8/g(?Ckhy=HR$T-f7B+ \8x+Ml"^:An =-Ӱ/b+0EM05Tq}?o :ߵZ$E~o)T5#Z: C,hKRSǔDzX"(@,pJr2a( vF»̅i!ە45,ηU8D zv4G'S^M3Iȥb*䞉-"E2Lpo+\yլ@:5\(l"<{_ѴMN)SOϘ6K+Yj&K-ӄ$!Ō>U> bM7PއD.RGuuOÔ "ow+* ^zL=dO#F8%5 *-+4Ge*ΞuB[@pYϱ<(x2qyR(V^nlGC(7Ocŝ\!ޟ[eX/bf32bo3G~0fG`!ϳhM[dtp?MĠ)ZI@Awsމ>n(-gLe9-VI(JVpw6c".l,j+mn߿FWtVEod1Q"QPQqg86lA7$'Äj]8EЙ-țȊ{!k]gYc&D8v"f4fYNr1nJrD B R< ohnl`b.̭Bi>lOy4zj6eͼV w?{bFa?%SP.ȶo6jӋjlXlj|ĺ )w$9;MPLLSGrbaPۂ[2ja߿h9{ ֭ ΐxZ䜼>_{B}ܐG2bb1^Gl8H1ba{w*z8zs.tbɾfLSL  gCENzib+Msp©w8 7m crKg6/2[]Svh5:~?(sNa)*#Lhq(c#~0XeiZW& $rMgno R󫻔K#|ͳ/#\w}=5yTpR &g'hnݎh7=kSXKJY%Ay#@ [4C/b#*2na%@6iavԘ|ͧ6#P7N}IFש?n๺%h\ks§̘,LA:iFCV|Ci%>1~x$=ɢ}w38CVpJ&$:*Dž .P_ǂG/..)ia+.`6cǕz\ :Kw+*['lUV7SXĦN{T_$gb"X{s[3|$&^"㣸,R(ܾUŷ -dN't昄oiKa6CwX IZ~#S 6.h܏ۏPT (%G ;;{;7n?|I|:809e3Ӎ)BlL D$a\H7[F6 bW5Fc?#t2?=*z.rjg 9C%P g DAkcY?9!D7vq`6rL'WMb“YV9EN$o M'xthnrcG#NCF5`G>®)m$= 61FpcN&EoT܍7|)*\Eц6D/Ak1h'bnzWru%& h#:gIquN AgШb 2}k4bc)<$DSVkut%.r%F6niXccݻ6Pр zIeee~ppMSAc VR<,4QVv&}ŵ~m?N܅݊=dseZ}4$@xBu ,lB5u<{/\P}\XDꏶ֓C'u9n[72C9U1{aJحGՕabҊfhڝ 9eks=pX eP^ju26PV=jo|~dpOjr!Q\KC{RJla`Pٷ]5`9~jKvY${ƹm)0ߺ>eP4lu_`㶇z'U>Zfg!*9[5@p"<͆4k-NL@U" >l5ѳ>^?3P,R~)y~K(ʭF,mFWd;3G {r (_\i$'R_:F95u#i洀J.o̐voPUv{NpÒ"1ۃ< nrqy2e TJ/9I8ӓ9ٽ!OqVIZgwcÎp]vڴmZ(2[SǪVa5&h;Ynqd#/ID&ܻNT!$O]L6r2^#¡ aS hݫ s1X3zh kYЇrY-Cޡ>o#ݡI|"H~wIn+[qidḿUu?dԝeC?Ph_²fVDFwC1,56Ȣ>cKӪLl'j B;wBC$<15=7EW0#='iaMS|Vҍ$^xu$}'U7DH+-jt*H'h4v}pj XU$R⋻إы?;ZA<{:ZT=䢺7Ń"'WOgvE@I~!JM⊱ mg&aQ̞9bΜE ӲIӁS2[1KonIj@4oU,I,8Uq\f)=SU`  C6pH2(6MN O"'g烫^G ;X>DC?-'vOުbWP/?rGg!e`D]=n}R>ϯ*=>i,=ѐPXh2_-iTrjWy*j5q<27EOʘ/΃9<7V<{bų鬽 >FW^` Ie|/Sa~mp%⬂JrwI՝bqz+uIwuryk>FGhݟVc 0Xyj{xA@U+ []n1Vk#[w YVLN'_ SU;?UyV5LQ/uKF@^MMiYK%LCO_T?]+x7>*42U?q(,ӿ$f^{Z'jr4cNUܑl ۀv1Gj';LlNWy_>V`=@d$7jjf767ovv=Q0q4}~wwg~wwO~?j>zhy?Vqv_?>Ǜ~$'5/fWÓt`~Mӷ?Gw͈wS>_<8>vi?ĮJz*X] :8'725 IJ<%{X|a}|pzg#֮ |,K{I>@c,m "'I_5 !Zj0@d7`mm̓ޡkSx:[,Mz1 Z=pJAI*@RCYQnk# 9+=m+kV`٧u?RC9# cӸu#qbjNG8>C56Fb3n, Cu#tԍ,7QAQ8g_ӫlD >}j^2]v7Y__?6ƹ ڗg|w<{ag-O\d'\X+r"M eԥTC.̎$4yy_:򄆼x ٲ,K^DA_(L޷437rB]mpT(ky<٘dE"*«khne8WN#I*)_ ^GhES{lM?wE65F~4ҨGfJfT@ 2j7ob(tq: 5z×/xZ:/ F<mQ#h~n]5k!#DeGwm,)x¡x`{޳'ϟ~a(h\=|!_TTz*8.>JR&XJDk6A5l:> pnYZˮYsm-I sU@ִHm|ʼnxrN[ca137lgzaL jffOڸOddpdNZo ++~0ա~OEȕXaB :rS3ܼv"]M̺)WIEōkDw,nZӟ01$sM}Ėawqq.QRݲh/hs6[}Z%fV#?6~4}Hh}rq7R~6fDZ\CF#(7q-5.`O?4EI~4>.+T g Ck&`*c}HW&ؗwtj11|JWK3eXS^R\ЩWyX0 :jX{-dx^Y<S/=h\$YBǩ<C=Po7р'HL4 * S%DN*T >] Hah0r0ą9\FR[ IbLMqSbChTEjɩp tk[xLl 4bcy'@hG"xDk6C&"SiR9K$pWô\jU(>@Ѹ.\=|8v+_yOi2qkJtfFӄv͉A+5e٪^fD Ж :\=J+Thu;1ҽNBa:WlT4*dj'KB3;}c-S{)_pvXښUEt{ۉdujqW-,hKHz.6P{(v@d^2+{3DF>} .8ߞ%={jS:.h|w9 vrdØc_]9;̜'" sxH +^R}VEƴ{VpL^PD,wr*'O1T#-=}GO4ZM7_->ucwtssguZo$ϳ`_ǭc>Й%HD] ߰j7]"nHhǗɉzƪ%˦dFjh]a ҜxW4DL|pva簋$`UP'3̺\iK<ݜ`םPR[zqu349KgWiR}!y-Vvd9 ,$n@D~o/5e7 63a|S=7B+vW Nm/6@dwלǿc?Vs?\tJ7a9}nβI2ڌG4TǍI2HSqr?αjP!O Aޘ)O 8͆dw۲Ql>mۘAz BWMt|"'Egw=[*v f t X[ٶ&ȷŸfU[ޫ:?( #[.7[/ms׷Mva4qvP{owݬSfCj 74!sޮ ]*0Q؟c;Sphr , mz۪9:CkЪzuiMbr 2lwn1ldK= K],6GwO}:6rZS@6C $Nh.47K$qϮ١׿I/$n[nk|?|IX+᷽po=u`oZω)œ,ՁrdӄNITv5p`\wq_*2oO ĜbN[ƣBKP?69^.:@N9COg'$;w)PӱF^nvehasb䏺{t6H CGV:%GG_]!% O1*bd6::KWl!YsKǭ${6#]c* P4EHIٛCk!0$d%SU}+!.<{P N?{t⷇[92Ilt3Kac gt:SVvBCnnD~q:;Q&2A!*_dg+vaOp6_+op+ܿi9po^bW#%|Dp}zò4՝ooUgP`/|r-yP!u0+@Hd朽% *N/8˱Xr}9~c͝fDmX(v}BazՉ[a?teS&ugޗ' ӌl"i6ځuǭ^|Ng]O{2dCtL^d#iMzL9LUs .Vv~I-{g|$>ߓ'/>S<=yګx3|VVVTQ8%[X]XN, $sr\>;xal#SޢL8'jabS)YV9F~ή`є%v-HW{#:UR RP fYsăPSS㺤"YrhR;d5ɋEO17Z7z!Prv1~6JC%_'- Xqߺri&s•#'rݬrԨY)xΧ+=5{Φ'Ԣ&>w5]dnm%]WO.eܫ5h}-\޴RI@oз}nԶTѕ&k\tCx܌b#{ߌ]?ZܠE#aC$)l y܈ؠ.uq= ZBg]Y |W褠m+nk׶ uvlI$xN2P|AJݦ@7[_fV{jv.\s9`85=nm89Y|Ӭ}f[ Xxty>deFP*fW3.[ƆiN "/U6ÂcN31/iBGԠٶ9aKņe.θ8~EWd+P)y^3vѽ B5ӋB͟ךX"n3?m~ɓzX! hRi|WjT&lŪ*Z "1xꖄ0DiNg# .Vag #xb[BJ$uӫ#:y:_ eMz'X*¢tT3-\K8> ϷʼQ UާT\ ҿȫ (f\ir)aEl/uX.hQshY&5uf!pipRhټ~4kwqCcip5GiONj;\k|2|dsTqQֻ稫i@x㻷/_Bwhzk.TKc߃'Iz[AO0Q\h5RJ6H[ME3_@+$w1nZ jtbu+>}A̻u]!3I wd*x*3p_,}D;T‡4Hy!L#CBRC'*%NYnC+~B >i&ѲypfÛ.7T9QwlǡFHe'qNir>﫽eri%Mۢ[k +Mflkl%p鏹8]-'NAsiڛO7:-9- xŕe9l_5KCB%" VYg]針Ձ1~_ÚL9 WJkϞ=s(:sRTJ2]̷| oG]kK|;FnމEP.Nw; r8O^OezY/IKx˄~t<.}Yf9b<NYu2u;eD?abCâGe(̍|LjrnBv-騜-=N(`;K5Z0"QDX#pbvQ݃٭WU!=Q֧ '`jȳl=Nl2|4 `8 UeP"l^ 5>'TPo"WD6nŗ _ooZ^(su%Uċ韰Dk5_ _>UlXIo/B5AdekEi .y.|ٛ)xΈTTU`sn1&|VX |ɘ-VPY.uhHd6[\=\A)J!4Ax-sl%$;o"T/u*:_4ĂkLj`s~L7NtOr/_??Ǝ"\PRHYUɄU$*V6?EߏS%ƫ$bfƠj)묵+dsaXF&j%o$Ǟ  -ft;V'eh4KȢ&p(ڝP'6\qo!v VZN%-P X ;˒Oo<mVy5#w  FoAa'%PTn萄BA+=Ģ=@8^z hb&q1eq{_g0S|Q%ďU˭쌺'jXDм#'Z&ٞ]z@kExCM{:ϲo&}uoG/yp{1;4>>4OUWKr{E7QdvfWmP7ͅx|&sW+ #ƃ+KeNOXxew mz*t'f*,QX4CƲa}<.6vQ'_b,~d_+O&q5${ﰾX ϡ >W{h83Km*.S89(նM=Xl6b:#"څ4 >'fgpnu>ȋ4clE+sBHUD<.@d B91VtQ,OLdW%Xܹc`LoSM0o)sD0UZa@CJJ&)A#jGb \vbY>jT+#/s3'3bjK$2F 3Ta2/t x!.= ȍBC: tUpq4K`"soHx|)g]l7R|oOnaP x=O+ѝ#?r;LN3- ;?%js#xnomWٟed)ɉ2>bQNB7֘Yn%Nsƪ`NN VI'vkKԨDw^105 e:5h%ZmbvdfN0oѾod-Mj2kF{L"@uL%` $A`?3buٌG2q8Bpe]DzHY:hkbx$J\3ҞnZJQsR:Bgir*ЊB)ǔDz3`$ 3fԣ^؆{:EB2?;"B8y-FHbxsgWYU; Kn<=lf$$ ;isVה/Y|'Q@GCk Ja¯8%U"uo&OW!qlrN E)4E+7:a;zj΄dGY .I d8*Gt2 LfӺ7펜\|72%i~#_㖺Ac;m]GӨX A'F}Wvb*j i7"7>"[ӳO9>멞 ruWd#W`f{jB;N8j~up-,mᮉZdH_b5x=c {Y'ԕbfƲl KycT /h>J-ιlict¾1dp'xM-?-lc4ҡ+d&d I/Ur3 iw4OoeӃ=I)6ĿyIn$up57;շؑĜd4v*I3-K ]#biV,uBt)dǖJd2%;Ԇ(k7{v7:փGVS3BayVmd;_Fe`5BըQsq`%]mt4wlOy5M"*gV$SK.}}Ł\D%ZƔwkR LqVҘ_CI}?*}֤=z>nx؍YK.cXFSRńiۑ۬vGU ayh aj1LWwq1?I]SZ;};B"!<۳t{:T*1J$CаܰBthwdc{zOF8\p7o;)&z84$όD{ i]<c׋86sr2''z8`i0ټG ;Cn F I),RoQ䵔TQ #~1 V~ӌ1j uob)il(RRps< gwFDAJˎn3S!o-Q&B#OZm cW~@(ҙlK5xېf͇6+Bo?,7M;}(JG}̍hsl].Q7" TU*io,t`(3*$VYٹJZʟ;mϦxɿi(Y:m;6>͛VܚG"W' pk|+[Ԥ$Ώ $ mr%+p;dkPXiFbV"O4mv^]=sXZAz +Žj<Eo/YQ얃{`IiFLq#J@l)SB2Q0Gn#SO+y3hk0عdMJΏMHa,gp0 "]28y̠Z3b> s$f-zMA/*\T@ܦrr56;pHg9a`Mķ}~|Hꊦ5YeL MoL:q<OFW>i=jt]z_]E-쀡Ht1Ҕ[}`L^v nh LYAadX\Ļ̇`}RvFj>12 >%|bPFY|ñz\QIŠ™LȒKh@ō[fl #)2_-.$_i?i26WA&jՃ7r4W{kt+X ~ 0+Do/?&1,^5G_?×tunJle]44e07糁(l8lWE}ox0"w|7iTM8)([$LѧWWO\ѥ>YVحT|55RniMURo ,'հ;ATt뽨;F3HT\s"ɓ,*?1rXMLLhd(Pt<^eԦΜ Y@1"d)^T^ateC ^4ǭآZ|Vg.~UuR6WN hCwN)2KgehP*ɧFk/[5-}ic ^({o Cf8 }Y%B@{.B{P3V/b&כcGjAۖ-ҶB:lҺٮJ8\n)1ksmpOXL0O[e˵sj7雟^ěN.NMU8Q @Օ|5= [7] Vdczӻ;.}0gb:61tMw4hwn/3=@6 Y"ST`! 5AW_2O\[Z3oOL0lo#(_r\  ʬF5-C B&:ʋ#/ WΆN6zKjD|coͭ7AJgW΀uVgK }pWJ{ԍW2" Dy5{L8 ցVqPj9w3𥪩lXiݵq ]k:?™R&d9*U6b5wCypٕF»ʶ/⯋?7r5؍M8馌|Rr9]Sf6?U#>OM#~053tBL uQPvG37wj|DdA"Wi]~Jء@$ +;xeC%&;RRsi-ZspBg@Om꟭cVfo K:""F#%]LN*22\SvG[Aӏ&QǦԱ!*'6hOofrϟv̼ -mz(T5&F"_rQ3ܚ]2:m8ZDƹbI?K;m%i7;ڷg }tDȏL|EɸGB#~e,Ç< ]R6RKKcDl1Sʚ5u8Fb/֛mlU}a4:@i+^uduxm08KeGJܣߌŻQF.QpAt58q$""O)=F͓x>e-7*qq)M%NCʏ~Marxuu?"Hz ٖtXfMV2! ŗ5׭ ^pR{nLm]߫,r50iv6LG{:Xd+mW.gZp->f!Ls&90 ;{tWզpK~pMZaEaTV>z ph17xc;iZ">crbf ڸUsIx毬tL')--q`k}쯓RD11l\DbkTDzwm߆a%הGo7_YeW~;nAVm>Nc H,iOoD6m+65 SA:|S}׫'`̊\ܒVpti5%RNMWӫ gVL-x.+pqa9k㡱urˢK! _6,OhMməysе0o*&C؉4Ch.K,_!ei? ir.8(`h/sy>|)v\d &`ǖ.uۈ|7Ԑ&݌x7ɟDszovVfj?Pez8&HoU0NX= GW\f:@_ 斊NdPhHn7S`{T>M'Hdoub)*Ӯeϙ1E8e4 gty?ҠXIFx.}kكv;,\I- ˬHͯOh 3A/yZwV(>37YAY l~.at̋qLoíxE o*h2R;fxrfZ珇2a%X/c/9"P.x >)ܮpFm ":8RF vli}X.ߒL {'ӖzdRRgHZ֗ zl]9,MMDyD(쉞dE$`9y"2e\y+,(hwϥ;t*KKcx8i :uYxti2фYf5N=anc Qcvꐼ$z VV? ֩/2tp\cx{MnǘjG]#rА~]cO¦gxƶ{~'e* ^z"w"?__7q)jK>4`^gFnxO*ύؘν.88!8Ce33^j!t_k7,H}VM3-S u9Z1N!q$U!g0<+?,dЭ5־;p"M-_[7uh|XT'c:/hqX AC8[r)] 7_:ak[\~R߿ϩHĊ}sNg?ß^@7*sĤ8W}(mF1ktGW||/~į ^aO;[Q&MrWg݈ڑ ]Fg7 [ Rz%;urb#hb Sv+/j0T@qt5#)qV㮒BkX[h{18 Iv*(-P9JMlmw߿>VRvՉ;ܾ&^?|4sWt[*s>7-S<rnYܷ{(ѱGL3wMYiV}V5娬yb4@mO?UG-gO+?Oֿ|? jdDκ@Mm(ڂ R iQĽ9]q]VW=ˇ/XŐւ`$1Q؍E6Db6Eng#r"> T9!IvN"NS,s"?tw$E$'S}uTYIFo+ԌpQBZQBt QtQ>p-utFv$G:J^(M PƠ\w0.q<Q`EplV㟸}"![ز[I]B1A[lu+tOYd x)dQ:& Knătq!0ی}'l®VizF"٘FSMA-LR +9hnw NF%&D*2 !YU ҝzpxtWnt2bu ;42cMkzNm0`'##ĈD[(A5ؖKp=G`L|nX΃HܸCqd VC0-h]f`ɀ`'eOh"9nT /,D7csv>[)] N-u"{LM W &(~lSDPl⢦MɈY*JТK`MS1宪~rD#7}Mr a9 k?ٗxlmE3:1]lܼNϾo+5V)Ƣ3V}QvpnIXr yadm a؛oyN ;YyXYX0aU.U|29ȳW:a`q;(S+ F^1|0 HL|gD.K|N):35)f vXe(Sg Rb4%eFTx;`T8: c ~w rz%NcuE[s.F 'A-^$|hpN4O{ul@_MeT:d`(@eB5ˡ\K5l]v>([" (oNK G" SUFحO%y;/!eFķC}l~8^c&`NuLt$͘`oAUߧf0ΗP[gkOɳ/_?Wy?<NXЁŌG4U6ܤuvQy_eduEiKz^GA@@2 (:ӳ(-w5jѿXM^I=M>yvνu s՛=+̧KۨF0Ms?G"a[$&m.#lj~/%,92D:o8|H3Q̲I2΋ogb6Qt{Bg܄j!;-Y9K7܂hEG$To걧v^e1mb+I*!?G:՗5*tE}n߲m AFT:ϳQ'~܉tdjT{ ]\TR[X}6V$vǪjVF:ԩ܏Z-oTM:bۍӼ2cDޝv䡖a H&=:M7qrpx;*IoNn;W7D ϸڷk ;b]@FiJTm*FRD\roڌ4!|å)[j"py9<#6ϓ:"o/ XtmP^Q3=s^|~8a{p*rGmù󰼂}'*MĪ:RGN{_' z7ɝc.x7 k0'6&<_9hM" pGZ]mEJTh uov]P}e>3CcL&ߐÁ}F,q_g!3RDB=Ǘ||<[ѓj/U^zUktZ w+t.^w=O=}6֟]Ғxz杆eÉ ϧۀε?_N||:R D"`FӒ)iW^֋ej$O+Ly?RۻhSH]Iֆf8E$r M͑ỏ#OX?&QގNdҿC--2f;(Q+ ˿}>;*(}86ũ]WO<?~V:!h5$6/RMi9⣂ZO'EZ;bdMmbHAe*T[n2*Ntk+kHSq kT*Z?jmML_]]HNX]"8zg <0U8bЅu$ήעB#̅`s!rCDp08wD ͟0?av^>U6󮆋ބײSM66fs vsn9q1x2Iy1|ە[qJy3Y]%a0<:O6tGwEspp>p922@`,RqDufl~_##v ؅(a=f3sND5גYz-;';?Le | ;/_mBC J rE~ПpVn؏ܽciX3~ͤK<&+OӲ ߶I co%mYR!)aL{uJbYn.: 8jXXm Byj&H&zFG^sA`{,Q hi"'/\ ug[ ;yzfa_N$ }3{(|KJLe=/yl~$'ҟgX ]t㧕 fF`P!zqQ 6q R׹.fnϔ;[U.qb/&%7]>«s.ڐp>1^nb7]phh9Yt҈T+htuuaOʰ4:4KZTF..~Q?qV^>\t5\Y) ~g,ceyi =3GٷMԤ [P9tCZ՜ѐ#=`Չ^"xLXQ5TC~ w2 //uA%t7 N_[~Wuk|{<zt<`ĥ׀CMڠڽVʩrL]c%[1x(xu+SŻz-U" 4y7?״Whh f!nl.Z:[ZW 5n5@pd;J4JoBnƾīsvƩ^May{,#ckҼ::9 P\aAh^,7+mo=V[zM)2^W:j?rWE;_}P ^[#ɻH|v!(V1D*%4fw]{Jf;4ͧT0x.A\ MߋVH0Ns-؃s@cb+CSݭkcpP殧.>s]pt7+cpQչl$oY8`Kݒ4צ٪\794edsxF_V@#7-0y{ieUz8/e_Mrsc6-+"~&KuԵ𒀠VIBB'2Vhۋtr؝lIc[uK眽5QIEHLUۡ PcޫKxI:*zkg=[6bѸ)@S\X6,[{/\pzs{66;Ѹ aGÄtf5k"?}L:h $WXFH"˃MhFYpC w dT#8t2:^ݢlE{}~d^[Cہ>Y_I}IM1&J bl6;Ȭ>4ȇ{=h4 )' hpcNmFrXA\|\I>Mdʵ:2s,w:iE7;,)kEٚ3OB5ͳfU_UbH묨?)ل5.pfB[55\ Š;\1&mv|jrJ[ZB  6,,A!8ՁP[0fyQD[}C`fb~A2]v8#H*U*֖N_ |8 ̏d WwtFlIgsōϩэmh(0T|gft9k:R~e~2-oLcBFƬ&6X[ϗTܣ0H6dca]Moχ`Di]oMT+d`Dh9=ݔEo/PR%ԓWu,e2nN rIcӖPzLV%j^ ff+.a߳ J@YcEsC =%PHEdЇ+J=9`Bc?6gOzU/3|;c:X]+K =+Fk,dlb,%\o B+@x>(F1"FZC|_v1*^$H1p~|[Z&g#7~~[GcK߇Kk&e0<;WwU`Ƹ w"C%}`.Jn=6HW23bџٴ.MD  ӡ[e[p664Ɍ(5KX$z`;ƜD1Ih>xpve[|x:ob1@YY7R2av}5ҫF57 FFOjƠN &61/ `-gه4Jdrsi; AK76[bL(i8Q34؜Q#qV>5GޒS/c m-Gm)a\Ϸ|U 'ʽ`bB8MS^\5r l7(^3Cg'O9#rO,eͦ9UKR)%R>fXmTY `&k]*W -v3oWQJ?B{ӤLbJӇI9J+1k} n);3ňڮ>:8+\u$R:6HӺtV"BbÁHoR.&GU,t j$*yscsq֣+ )`L|GOh2HZ(K+mX&a ݌zY npsinMnmTy]pA xCրNL ɬrvnTOmW :H *s7UoyG-X ʘxCҔ%?4> a/O׵1Pjܸ=⽼g!:k.A"|C$B.7._IZŊgK :i:ꕻ`O&? `ur"*|P6)(G25\Ht7`p`ҵQ9%:qG0CeK>]U/C,˾N;ArYOvt.Gfhx3ҍ/^._9`Y+ml*c&൒yY`Rm9Ӂ@WN')Ÿ2X6'o.!U ]t yi2H]qFO-%-[{ACAvA# |\ rwU5-JY؝/] maW+t2|#^i3hً$XnBV6!XRKy)ȹ-|MfE^1@Eᚣ5tkϖz?=WGSGq78dW/_9t+e8!Ē]A7޷¯߀_IB*dW+{B_Ud@G~ȢrZ5s6[st" NZ][P*>x^`$9Qh:@Ul7IS 4DD+v"lwKE{ 'SY U{Z~J# $ L@53}E=B ȖGjA,yR涿 #(2B1|s}ApCb=2x-z7Ez\A Fx -W8E l Oh9ޯhpGS5j^uGU~IdVQv^:ظؘnٷ8_he.r~:p voS~o?O1?9b#*Tzi4VvWǩ`u=G$ZaE#vtʊ80#4)efտ6-923(\( {[ts :1&ߠlB"0p6,+qE)jD ]Ueף%YxTu&kʺr0QÖW:j"=c`khV<''q |.Հpˍ^WG'q۩l 1Jf DO@śTφ&PO%Ds^CȶlpEO˕}(1O2rEf٢I#J`MwЗkVʴU{:M:ZC Ɣx'57bϑue+i3Cn 6 y)Wа]&NdpHɧ9Su.;8nbRddH "=ސYӎ+hAs<Jcq3>kl`7y:]ӳ((^l*Ȕ/ W\w}2uU.J8l\f)Oء[ Ī!@K[amKj"FsCJ1,W/ Ƽ;xw0l?nMmo9BFA}KܙK6;rˁD(q+&J8:ןK]tL?Ng|B(¿_>?]ڗP_0TiVKLz=kO*xrŴߊJG%bm, : 8]õu&$.x|?*25׳/c <ߪΡs+k+)Vԁ|"Z I#ճϦ1w-h8Tԉ LJsM?w+pCc=8\eQ6ӆ/Ct?Pg2~-„J1v b!ʪg!gjRr_[°r Jaz[_W^MFC"O267MH>1qʀbaNsa vT<Bx<xݺV,5@-knXW_uM]@r5M5v wUvk8׫WQ#u Fl|E @IU;J6V-wc/Ԏ|%k10OI!|N'Q횕wxNi5:%e7+^nZ4X5s]- tW' `Mg*%Wf)|GYdC*!aH8!N44N9c" XAsϗh_bS|Sꝼ"^jS.ݯwUj9*Mq8+87T=MP*UObңEWRVIO+G˕Qsɾ_iӋW6bj }ePO3"k1]V1ݯVnMޱݡe`2Ș O 5;f쐰ϳn2#ݞn2t?trzkk;żGoJO8w- ` TL4N <7h*N+K] M%yw}N"E{tb"4_]{j_ěm:&k2Iv 8mձٚ"Mc L'OZlFzjLn~%6Mr,Atm'#ڀQ8F0=bcI>Na_fq~tzV9ϳǭi'lN%͑*)˹Tҕ?-dwocrxrxt]j{yH5'ːHXIGgHg N ƽlf C%TB!>!*g6ʲP{nPǃW~WT7#?P8yCi5s\ʨ1ՙwѮL-]+3?"3ҼTd xOf|~{]_uD~L?Oz]EneZ*e+mQ>BR4,뚅S2g 79(o'%h{ܬAͦQ2%e[w_z|y }uqVśh|&9dl8ZR' \g Nm$niK^ne'1 ި\SڼQfƓo|yɔ~j%eMt)OpubML5.M7šKF9rrbdl晸D%A_o7_wsh?WN:@.+AoN|mNlkr;x!f-`b8H l4K p-ӱڵN|lvg.:k-%wiތc(\Hta}Zz3"ELnFYԵ%X{fJ"I{p /BlA#{_Hoh4ez^+V#pav5̒NIz:mf# LK̦nugqqW+>G߲y?$gy*MY)>pl<|V 2P{ƂI+tﶨYō})J^ǑV-cTӛ!0[_P|ٿ;<mw7?7L+ RϏaĶ,iFĘjZo'G 4'@Ϧorlxs{kOj?ctW9k2ָI<<\"Ef{GD@-l|G½uWY:}#*hs9Dh0 e92f &B>7;ex 7w#&O,fu-˭j` 6>5p9̄]ҶibvuE|8>8AP2i'(xevoku/ ,$HȄIiO5M%RZA: >#vԎaiDIZkL;]pS}r48/dlgacb`*azM%0N~?=G Ȼ3zY laɞG Ƽdȑyߞ^!x gtŬ36l! spbm HX\uɩ"^Z[ގ޾z%ך*a5pj4'/VZY$++mv kWpGA<8<1⒂`m$MIx\0@ H.A/h8Tfg,>ko76rdEʆ7B,xnw\poS\uFvjonU& 0OZko!r'ظ]EV#oʽɀ'7W<;z1+4i.[E|zct:=eNߘu*Ȕߞ[+t~6g&z+xߘ><e;P/_$UJYo2zbԇ!q:.CV&֖GnA3}:~b .\|?}2ViaL>4wes jQL7CǓ! -\zeufaʾt]޻n/š=*\9jX[U&_i z8!Z +fd30C<2_M@cjA.[dwﻗ͛z]QkkRE ە9rVAljQrp$)Dh3h՞@cҕ eQJ7(ʤIRQ'쭣cg0^\0q LDZγ4?;vJj.EX)xHG$N+J ">Y4rtIcοxб1^x5Sz˹EE<'ߧmliyF[;\A"N^҉/Wwu8v4%p WuxS3Y o4Z .lL]]9Br9pqTWy~g:sinݽW:9ouK[l9A9n$-E{5?Ţv^7 ^SYGϞ5!LʓM}5)oڛ_P/)ZSy σkM{S1)4K,k" ׌c7!z7ܰ'l[ Q4:\fS ,D0c<;᧖pn K9.(saMTţlpz~%dQY*Uf"U4#2ki%Q?P:Z5V^ES+1ޘm3+ *Idp@#OA{"N(ː"YQҮ'l.PRtf<כ1l0W8s wҗuψ1Pc2-Q:> |8fu}!qqfo_|o~# | _yenUS1zpHH_ĵi]R&%w*pckbdvy0;U-3wn;gDSX<@¾/:tҶ.l*fy~ά* iOؕ/~VؘqPl.'2ga/mn ُ0Tܩ6/uš ]yT c-\@nkܓA?9&g<ڵr!aLe Z1OB^T=iVޔqo_[:&>aҦp=#3Q_x1b +.$EN7ҷn(;!6u/6fVV ɰ5rK9%`\lfD'[]!pǨFC*+m*TO.#ى4FUnOHȆM;%raI KAWNmv:3~!wJ@Vj7*-q+E{Z<~+R岹+8 kJ=- [iWtzہh)D[>03}>Ow8r>nzRx+;k4kp!ՏDA5Th8jc*) Q|Pl>i~vkk+*|c?cߐ~|8o;0OR1~8+fè',>x]|&9un`%znltچ38eaxEũ>w"Zv~hYڑ7xj(4OF5PlhG' R5̋4R#;f{/hHlԉ[-&"uE^yq j1sZv[ܯA&snq Q28E*Coy 2v9L8 G`L4o֫WG0yv-#6Wl&Ӽjn /׈DWBdp(=P0pl]ޚ8P3>܍90wQa9~E`L Ք㈒P?Sb'c$5 tW)wy"oҨK(4Ӕ֪;HB`ЏdV-oQ_y4"#~d )dL=9<8A$ѣãV[wv^h4Yf0l{Qcމd5zIbyŃg|f 4}`۽%m7f!s#:uqNYx.^/;s"fQc\ 2 }x֍Xru-aۦ$23t8(/sB. xD6Ѹ>>ޣ'G_sO/+qWWqm{kKӭu^pgYp w&!kڻ1A㙹jL2)>|ςtFP ;8}]S3ƛZd*? JQ ;/SH&v8L?'ʚZ!-{P̧|fă7 }Pǁq9`-,9it%#D7N}]!jNQښwi72;74_r`7zOS>qp^;zs=Y+I?JD&,_*3YfMS5g0NY6`lsbǔk*0t;&Ű+/ί,TƳ>w!uN_.Ɛd\bOQqm}PBPKQ鱰rS#+ 5CKTu M =t^rq"~5;@ M.H nb Q,O x7X?3-ŮWKД V]n@f 1ſMd-6glun6SE#p.\Jy e]iC,-ɢkפfn(..p8V*PFrmqd1̺|I Ƥ ut: 4B;Te ]| UIp@>y/$QV:di=+ ho/q7=f #J,;$"GEMK@ e@~nZm36pi[l?hv30w,#&'ЂQU#]TdWiV;OXc ,iu00pϱ ̳LY-s,R\[3A(ua`, DസhԽ03>c|gk)$5Dž[5&ăt:N`f%e&E8yQ}mve 0שC*uB,<[o~8y q2 Ot}aAlۋx~7N+ 4`0 @l1THrp4{X r.V[42Wdϭ53jfT)ce:X`Z:QȻ+}QLyv*ePuKhJ&*w+AChGmDͰq3ﭠybJoQa1 uLS PڹPnGtb1Ӊ{a3 o>jr!Ont p]l-]MI8N0sU}{Â%.ԅC1E.IѢør&O6ǫy>Or"VW F"7=gZ }Xx SYF/IxËiN2)kxE{B\3 %&9 7=X'ْV%60ayݨr^r6}nPq<6-j ;<^NхG%ک!; Xs:|v>e׉B[&`t[p8)DD#Rzn;z 잌v|W"-DL@ZGARNaQxjanUyhOD(LjdD' LF$r$w; HpX4+G&=}1,̌~OHhJ-XW!Z=+TTA}Ej)W.PΑLFNOBDwչ†@HۂP]펽# yٺ%z4^vfK=+>aXl\ 61!:ꞎDɹm2ī&+]lCyײ1Gfi,ڌ)N#n iQ H-!ջ*$y`W41JIM>l|}dmb/?s_@0\qGIaҮCA'>9⿯V9*b@B@[H:HNb ݰ31L6^ KCRȃ6{O EGQDxC`yyĉ8Hb3^XS%̖37@MZS@S9*q[k`_[ZD? 1}{'U$ (|0֓HTQ?,LZd;ȑ֮n_טMA'>?9'cvTlWz^UdGƒ半l@FF40>*R=WhɧHb\*_nA|1/2NtY|^.(X 풘4-0U9YgGe.J(^ٙH;?J@x/e7_i#V!M`VCY*3۟S0{Aߧ3:X.ZQC̠[(-J?޵{]";-2,Wţ! P9XeƖdN1o@XZ$OQ` $tHU\xl237R&o#ɡr@IHm1։ԴE4TLIGw~oJb[C2QىeCcMׁ 6$c(F:SKgyT\(OءW }l5,H˯ZzM]km(nT"H+ UFnܜjmMf/jgZ"7mZY@@[< b#PfT"VΗ^1ET@xl|e[}bӊ'~}=e59>Z*J31W ׾3쾂pҙ2fV ![ע/j79;&(ju\+WXN!]K B{x2 >A.r rVvzJrskzLMK޲<صju.e :K oaTr;RT1 }u '65,"]OY2Z۬.ӵM(tu2.||@/2mNx# _?BÛeh4K>pAhN]*E^)JFZ -_r3̎}+*my=1}! ^+/-B,dVwbj&ZI98 `j A_:/H_4KGCn1ӤCߐa-X7Vۦ z8SrSڮQqM[FݧpdtL4nNXDyK$,edoAHv#[ǫ=va#*(4_έ?K׫3|?Vv]UzkOu tN]"&t΄2ɇټ0N㫋m%QcP uZQXX+'jHpݰ kĖTw &n.B<րR 5o蜨؇ SyJ)PX{wɀe~5ďJ "،O<ݒ#\KvVڀHwo/Rs0(`^u..ŗhp7߲=QKa_v&|ޓ/u*}`Ul'E=Ͽy@Ey@Hfylԭ}s 7M%j6Xlro1|V\9\HnQ9ױmB܍>6n[745*<c FתzƢfY>~ՠا WaS&۞dyFӲ rGŸhFPYZ;Pg),^h!Nv{`[4CTC hZ͐;sb3b; ϥ5/L(̈́ ,Tr A9q jHsSܡ{1z]Sղ_1R`& UW{^kN[#pCX1'!TTr76FԵ~ҳD\T!qߓIܣ&z։6G$NS1UrSֺk]:%E\ *ˈ/E4'jIs<vn3&Уx83"7E.0 ȕj Il83 T +vbl F_BmN?6r>-pVvv?;~ϹS^T*uj܂^Zh0g}`3+Hp+X bl:'^lHA0SnccEmk]CUx;ik,&MZ>cLA? \ap_#=*m[1OĎ":DGts*Fv9b$ˈmh }]$X6VŖՕW!.u1%e \ 2:յ5^uW[x) dx5a] TWps)D 0V9]#Pג61Uho, o9sid#*Ш-;8:&8HT{ q׌ &?㉝/&! 5%_U 5'"cɕ *H,+LB_<œq5>5wX`RJc+u! n#&0`>CK $9ė!||C#EЫ7wA@R~Q\o4 AiCmh[ _o_ܽ6n,ߠ *"vfIji/:~?B<“Qra(b߽}~:5O5AMWIi%bc'QhrHaNĜ1ZTPaKjK:F*jal*i"W8 ߰ E)oMd#v5G5ܔhZ@Y7`7Sv9rp^w w|0^TTnIn꡷-{2J]a H bgYi7Z"s%3'o3Ħ- e++5c4.`tmT|<5&g|e-ɻH+~1'qL5o "v(p &Lü›9" ,>f*[زoC/]cQg|* NXhÝ!+7&3 4p84:^r[Uo^o9IFYzX-v3Sݺ̆vm/ΑUnabD劽ݓ~H|T-:h$`*/޾~c5SɎlA 6k0mDyed =c3J:`jԖ y;>;#F`GzD4o0\@Q:9h+O(F?F؀s>QPnґfHXkK1xNb9{0ԫuzT5㵾iS+zΚƖr@-y3;Kfʃb{g-;OYogoxC 8 k,d ~YHnSZ^4bK A:G\-ւ} ĪqRnAү`L*-v 2@7Q¿j<u639FəFm.rB |JF j1ެ[kOTkMyLHVH܊ U+94bzNX8@-CZ_>Tl$O5M-2OR #ޙ/3t뺽תq &LuW'D6b=`>J~X G 턙rV›Ő}λ *:6^;e0U xk Q9a"TfK|l9M7p eCjTyW_l]_S"TFQ\$MƇmeS;塭`GYWxWwdޖ'6ttAo%^ڃתa0t;7%XH?pJO(AXϊ׷eLTLUUvؓi,Յ;*8r ݤnxvp +6kyr~f?؍)[mdEC~bRND01ziI*P*($OUq x'tlY=W7Yq`=A_'7\j"zG ·6ʲB"9k`?I3'2);꿖,$uMrgzRPN3g݂f|<,pa UHzeUHb|$/,GM#\xZ^9{`GM?e\SIlO뗕 +{v \$Yfi6i˦P^|%^,e\TPZ bί  ?ψʟ#O2|1޺{56+$uQHD䉏*Ox0@³ %daKxanՇKf[lp!|k;L78/R}Gt~݈.n]0,#E E8 y g耥TB~h SPVQ\uWQr;F!$E'Eo̦ S1OnA;ʠbis>u?{Ea6 )ct#b5qϸ)͍`sQ*a,k]Ymq\qn_ްԳ̾9]yFY]eYAahG_>xawٓEzϪ{k_Fz6!pǝMnj؝EzFoP@6^ۛ;o7/6UTt ьüeu= S}M[Fy[< XRٸYA./_7?Lrb.kW ޶Z>xtysV;-ggm /l4cn8Y>ϢZB3(z^KkR|STy2EE.%S (~<=sRH;>cyXgE5k#_i.Ww5W:@6(L}?] uo68^ he* _c!M24L$8-7ݬXk.h*6E| }j~et܍q6ʒpY!e!n}f6'2moPiL f]&/=DqO5q3Л b dpjjMP쁍kM|q {^C&9ʓȈчi28''+p:+ޭ[{{]>O[wncw9sL~`Y7לQ'F#F!\Qtq2*r k(:K Re4pQ^}$p>'GWivͦP*8eS2vohz\'|;|#(yL<-"j}v_׸A'nGDg~_c2e8ǯ@ׯ_4K-1)P 'hEʵ`goĭd>b9ckK^;O:r5e`x&xƭ~6.hۑ֢P*AqjIN M|7t*wxrङߤ<Ǚ%i?4h[w2u4SX,l&>׫"͢t.ɍ׺KT)12o+|B@L~Kv|rT@cp>ok*s'ɥ]Fn/o"s 4^i{A>|Ot2Fqg#x*wmqf#iH2$hd\ \yJٰPot[Xs+sA vwRA I"C"ͬ ^;j`9[?~}ςO%q-9(rrPp^_h8jQۇeMJk D$fÏp =8D?!LtB\T^:A#!|X\V]}lmlM44,dq*萁H١iR:/l+RFH)yN$2HWM$ஃZC~k8J aн5Pj[-H po5#j#|&{'gȈ$# +^[")_Og*I?+pChE3Ţ#C2aV3ҒQ;>=qU* #`VG|/:\hü b8QruݼUd)\M%MbzXIع*N5n1w艚 [/N / u.:;Њ6ͨp}N۞^'l@璎<7U(\fyꌲ_3r* pgґN_ܣt°XfTp\t U>dv<ĕEge}z.'s .94zܱkj۹壜Cu_v޷Xg^Iz^GQ#ݏ*KЏ.OH48\$-X8ML33Pg>OshKh[|4]x~W|!Iɩ,lGp.K$]EwXPC-ksCIeH \U0WJsC|̳G!pQ=7n]C6-o!\=kBuJjq׭w~&7MaKMS o;AJ˟e4@jyަٖZ`hojֈLB6'XX J|QBzs[+B/Bkn5o Ց2P  8@0 @S+q dp1̧Ď+O?K */ڵ?S )=Hk09UCcpO3tX̛p;}PDYD *Sg?pO#xԂJ<04"\4\{,616bNw ]viJD"pH>7;f2%[NYm{6q.Y˖mٙ 9gL1ʞքMS7jKJ Hǰ%/%r(xm kk3K(f`*CpA+:s aI0kI'@/ngN|O QΧ5`Eݱc4o<$%pd9{tso#`7ޒTie)NżL"!5ovK_Ys k&8!)!A6٢_mӗw_o }78ƶg>oϛ4) #fDFk5_@LHkULNJ iDzVԨfq[qiqMQp\sYvS~t,o$|;4tCTYeQߏUEvn*۾Rd6Tg* ̟R{niهO-}ܢ{*3|JF8)}v16Szv6K0 0ÀjhcdW.QB4>޽X3KDrHƉwӴၮtβC6ନP0)4.6D_H!a|_M9KN/LȰ\*ps S 2 (Q5xJ\{dmdUg-$!13ru,w .sI\$2*# >ycCEJ}Tֈz1\|jC9t ۓ}f^s\(IRU{H3۱/t2de2js