aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_settings.cpp
blob: 14398dda218485fc5e67097458fa9d8385a3fe0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
/*
Minetest
Copyright (C) 2013 PilzAdam <pilzadam@minetest.net>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#include "lua_api/l_settings.h"
#include "lua_api/l_internal.h"
#include "cpp_api/s_security.h"
#include "threading/mutex_auto_lock.h"
#include "util/string.h" // FlagDesc
#include "settings.h"
#include "noise.h"
#include "log.h"


/* This protects:
 * 'secure.*' settings from being set
 * some mapgen settings from being set
 *   (not security-criticial, just to avoid messing up user configs)
 */
#define CHECK_SETTING_SECURITY(L, name) \
	if (o->m_settings == g_settings) { \
		if (checkSettingSecurity(L, name) == -1) \
			return 0; \
	}

static inline int checkSettingSecurity(lua_State* L, const std::string &name)
{
	if (ScriptApiSecurity::isSecure(L) && name.compare(0, 7, "secure.") == 0)
		throw LuaError("Attempt to set secure setting.");

	bool is_mainmenu = false;
#ifndef SERVER
	is_mainmenu = ModApiBase::getGuiEngine(L) != nullptr;
#endif
	if (!is_mainmenu && (name == "mg_name" || name == "mg_flags")) {
		errorstream << "Tried to set global setting " << name << ", ignoring. "
			"minetest.set_mapgen_setting() should be used instead." << std::endl;
		infostream << script_get_backtrace(L) << std::endl;
		return -1;
	}

	return 0;
}

LuaSettings::LuaSettings(Settings *settings, const std::string &filename) :
	m_settings(settings),
	m_filename(filename)
{
}

LuaSettings::LuaSettings(const std::string &filename, bool write_allowed) :
	m_filename(filename),
	m_is_own_settings(true),
	m_write_allowed(write_allowed)
{
	m_settings = new Settings();
	m_settings->readConfigFile(filename.c_str());
}

LuaSettings::~LuaSettings()
{
	if (m_is_own_settings)
		delete m_settings;
}


void LuaSettings::create(lua_State *L, Settings *settings,
		const std::string &filename)
{
	LuaSettings *o = new LuaSettings(settings, filename);
	*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
	luaL_getmetatable(L, className);
	lua_setmetatable(L, -2);
}


// garbage collector
int LuaSettings::gc_object(lua_State* L)
{
	LuaSettings* o = *(LuaSettings **)(lua_touserdata(L, 1));
	delete o;
	return 0;
}


// get(self, key) -> value
int LuaSettings::l_get(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	if (o->m_settings->exists(key)) {
		std::string value = o->m_settings->get(key);
		lua_pushstring(L, value.c_str());
	} else {
		lua_pushnil(L);
	}

	return 1;
}

// get_bool(self, key) -> boolean
int LuaSettings::l_get_bool(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	if (o->m_settings->exists(key)) {
		bool value = o->m_settings->getBool(key);
		lua_pushboolean(L, value);
	} else {
		// Push default value
		if (lua_isboolean(L, 3))
			lua_pushboolean(L, readParam<bool>(L, 3));
		else
			lua_pushnil(L);
	}

	return 1;
}

// get_np_group(self, key) -> value
int LuaSettings::l_get_np_group(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings *o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	if (o->m_settings->exists(key)) {
		NoiseParams np;
		o->m_settings->getNoiseParams(key, np);
		push_noiseparams(L, &np);
	} else {
		lua_pushnil(L);
	}

	return 1;
}

// get_flags(self, key) -> table or nil
int LuaSettings::l_get_flags(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings *o = checkobject(L, 1);
	std::string key = std::string(luaL_checkstring(L, 2));

	u32 flags = 0;
	auto flagdesc = o->m_settings->getFlagDescFallback(key);
	if (o->m_settings->getFlagStrNoEx(key, flags, flagdesc)) {
		lua_newtable(L);
		int table = lua_gettop(L);
		for (size_t i = 0; flagdesc[i].name; ++i) {
			lua_pushboolean(L, flags & flagdesc[i].flag);
			lua_setfield(L, table, flagdesc[i].name);
		}
		lua_pushvalue(L, table);
	} else {
		lua_pushnil(L);
	}

	return 1;
}

// set(self, key, value)
int LuaSettings::l_set(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	const char* value = luaL_checkstring(L, 3);

	CHECK_SETTING_SECURITY(L, key);

	if (!o->m_settings->set(key, value))
		throw LuaError("Invalid sequence found in setting parameters");

	return 0;
}

// set_bool(self, key, value)
int LuaSettings::l_set_bool(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	bool value = readParam<bool>(L, 3);

	CHECK_SETTING_SECURITY(L, key);

	o->m_settings->setBool(key, value);

	return 0;
}

// set_np_group(self, key, value)
int LuaSettings::l_set_np_group(lua_State *L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings *o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));
	NoiseParams value;
	read_noiseparams(L, 3, &value);

	CHECK_SETTING_SECURITY(L, key);

	o->m_settings->setNoiseParams(key, value);

	return 0;
}

// remove(self, key) -> success
int LuaSettings::l_remove(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::string key = std::string(luaL_checkstring(L, 2));

	CHECK_SETTING_SECURITY(L, key);

	bool success = o->m_settings->remove(key);
	lua_pushboolean(L, success);

	return 1;
}

// get_names(self) -> {key1, ...}
int LuaSettings::l_get_names(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	std::vector<std::string> keys = o->m_settings->getNames();

	lua_newtable(L);
	for (unsigned int i=0; i < keys.size(); i++)
	{
		lua_pushstring(L, keys[i].c_str());
		lua_rawseti(L, -2, i + 1);
	}

	return 1;
}

// write(self) -> success
int LuaSettings::l_write(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	if (!o->m_write_allowed) {
		throw LuaError("Settings: writing " + o->m_filename +
				" not allowed with mod security on.");
	}

	bool success = o->m_settings->updateConfigFile(o->m_filename.c_str());
	lua_pushboolean(L, success);

	return 1;
}

static void push_settings_table(lua_State *L, const Settings *settings)
{
	std::vector<std::string> keys = settings->getNames();
	lua_newtable(L);
	for (const std::string &key : keys) {
		std::string value;
		Settings *group = nullptr;

		if (settings->getNoEx(key, value)) {
			lua_pushstring(L, value.c_str());
		} else if (settings->getGroupNoEx(key, group)) {
			// Recursively push tables
			push_settings_table(L, group);
		} else {
			// Impossible case (multithreading) due to MutexAutoLock
			continue;
		}

		lua_setfield(L, -2, key.c_str());
	}
}

// to_table(self) -> {[key1]=value1,...}
int LuaSettings::l_to_table(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	LuaSettings* o = checkobject(L, 1);

	MutexAutoLock(o->m_settings->m_mutex);
	push_settings_table(L, o->m_settings);
	return 1;
}


void LuaSettings::Register(lua_State* L)
{
	lua_newtable(L);
	int methodtable = lua_gettop(L);
	luaL_newmetatable(L, className);
	int metatable = lua_gettop(L);

	lua_pushliteral(L, "__metatable");
	lua_pushvalue(L, methodtable);
	lua_settable(L, metatable);  // hide metatable from Lua getmetatable()

	lua_pushliteral(L, "__index");
	lua_pushvalue(L, methodtable);
	lua_settable(L, metatable);

	lua_pushliteral(L, "__gc");
	lua_pushcfunction(L, gc_object);
	lua_settable(L, metatable);

	lua_pop(L, 1);  // drop metatable

	luaL_register(L, nullptr, methods);  // fill methodtable
	lua_pop(L, 1);  // drop methodtable

	// Can be created from Lua (Settings(filename))
	lua_register(L, className, create_object);
}

// LuaSettings(filename)
// Creates a LuaSettings and leaves it on top of the stack
int LuaSettings::create_object(lua_State* L)
{
	NO_MAP_LOCK_REQUIRED;
	bool write_allowed = true;
	const char* filename = luaL_checkstring(L, 1);
	CHECK_SECURE_PATH_POSSIBLE_WRITE(L, filename, &write_allowed);
	LuaSettings* o = new LuaSettings(filename, write_allowed);
	*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
	luaL_getmetatable(L, className);
	lua_setmetatable(L, -2);
	return 1;
}

LuaSettings* LuaSettings::checkobject(lua_State* L, int narg)
{
	NO_MAP_LOCK_REQUIRED;
	luaL_checktype(L, narg, LUA_TUSERDATA);
	void *ud = luaL_checkudata(L, narg, className);
	if (!ud)
		luaL_typerror(L, narg, className);
	return *(LuaSettings**) ud;  // unbox pointer
}

const char LuaSettings::className[] = "Settings";
const luaL_Reg LuaSettings::methods[] = {
	luamethod(LuaSettings, get),
	luamethod(LuaSettings, get_bool),
	luamethod(LuaSettings, get_np_group),
	luamethod(LuaSettings, get_flags),
	luamethod(LuaSettings, set),
	luamethod(LuaSettings, set_bool),
	luamethod(LuaSettings, set_np_group),
	luamethod(LuaSettings, remove),
	luamethod(LuaSettings, get_names),
	luamethod(LuaSettings, write),
	luamethod(LuaSettings, to_table),
	{0,0}
};
]~n;ڥWo 4}XwmNbkekz~`ƛOsq2:{=I{ڻ>P%P1o;ٕIWw:)JweI5 JI),M4נUX P8j"ҥi:x<H*Q. b F#ahƭ Zی?tgg>w0x7&20D= sa`P-tZ?yX?A,i,sbGrr axp~]{ pMsw7s*GJrYr<=hyh4;:mÔOEe}')Z>Ԏ*z'N>uoo!ѝ> g񅜋;XC+ K6Mrinh6Yn37beȘS?6L7>|)mꉵM"dg&y PK~'?q嚲|p'.vl1?qrTh{"&bm?0@͑[|3ͧ>f8܎G)-oWDj*4 PX{ (ծPq aŗ-9WfŚx+|ѻńg>97[7uC4W7zۇ`=̓+q5@d()&Д2!2Sz|O٬/" 4ҙǴM`s퀱\Fk}jJpFCؤ 0]55yD; TT0%-}uST/+[sB|.=݄N`8әNdJT蜰Oa> Odlp:SyAMT¦˜#ښINP^+t0ɞ/|Iϙ#n3p`q{7 K_\"t!0LF!"H D32{oaE`Y@b꓆L6H X2fYkEK^R>{ !KzͶF}0&*cx:28 6m^B8q&<22du Tp_=ʫc&pn**L1Jь3A41=9 PΩVvu!` ~i< xo:_I5ƶl~܍1zz6t͹nW6zpNz,*aeCt7m{Œny :(=`#|jʸ"-ŧqSNԭ t:hxޑJZST ez Uu 4g a pRE^[? d2,w+fۜ?vxmtbȉ49Qzǐe[hOK`C6q;3؛ '#gNq\>4{'Dk33>dyS͹=agY͹fف.}dÛÎE`5WEuG7]lU6.DzLPܣ|ɦCaN(&i2}|D_M#̇Fa]fð&؈tCJy)fP/wD:h!D%2LûBI"Oަg-iҭnqfssdacAM^6OKL<]}2&a%Ee)A!3@HM_cO>I䪫CJp康sI>ZLO =kMHiM2Yv*9Yw$ƣ30p00_| ($`15PLM?K3x$ৎ|x9SIG>:R@g-'=0)l ]? ~."⿤V8 ``aX-V:4D?ȽאIcI~u@5}sbLVYuMDwU@m8x STc@!CMޓRZTZИ>yIKHT&Dh,Wqv8o |YYdZFt1lpϣ-uSA s'&ٞsgޕ .SI@0Xދ* 2[x)E4/ÿc7Ye z{fn7N 0]͇~=VO#E z)i O OaU hH| Y (c&"E}c_%Ph=+E4tHV$ɥa MO II>}SHcL悵q$]աэ4ɐ &_8b>vV7g^"AS ]*V0  JҴZ?lڊR-"ҁ|!g?3Udwvmlj=*N < hƤY9Ki;~ՌGjxxzՖsnM9cڄh(nc͢wLm,Y3) \^ C?ΝuuRJtw>xtvVqޓ84/LML!;sIΖRPf˗Ing00 {PCCGJp %l'42 aB[ocQ1ljR VZVԪqm4͗U\xFKSݑ(UsMQ,?Cd>ªS|0&Mgo7fߜ6N`Y=eO@ 8f֧>?QTќZUSA>_~T]LDҷ ʖ3D 28o /F`l`մ*XO޼V7/^w8` 8EB,]^-n={Ɓn 0HHM %5z|%wV]=VՓE|Jc EaXP ഀV`mQeuW鲂5o c637!2"&%%)2vn2x eqF V`e{[W_}/^{_U}ߟk#ITETPUOxF 2m۽)~6nsjm+*7U{M52A$,Ir@&_V.靸Bpgdt>P/E#̵_K_]^iWd@ Rqy !qyP[\1+Bmd+!%:70*8}}q!0OG8ܧv,p'mޥ< H<Jc'd""}?^z].l,t5ۮphʕMsW[T*W9w \@ 7ENb莈tL7'VKR 1 {Ε>"D#N;(I֣{6',r=D~ 3CrOF;Ig%<|׏ims:`ƛc4|.z (% Zz:K e# D2h2a{k;r I$<4$u{۾}='"NPD%J#npp[Wtrc\Tcnv:m8!D[!2J j4nPӹ6BE3ޫU"86{Q^9ڲ0^M%酵.yª W-/[ne K+e\Ax;Ӭ\%AP1{.0Qdh6~ujPrvmp^h*khLUE֋L\eT/ZB셲*K Ih e#x۽IÆmܙ1⅀;1#I ;gww|*UUm59ٺەҾnh扥DNKdE9tn67Cl}!O@f/!y.^r׸^bFH ؆8``Yѭ&l ܎7,^j31<\#S5) v͏qlIADC ; cp(>oE!&K{`ݜNלwK4 !J.A >tyzekmF$䜓dCKm/+qzōVڈq.eΏ7 C8nCƂ;yG3LY5Cu,I_.F(Bb #n+kdhlhbhIJ`̀SWʾO}o8 :YMN^Xr+ss|j)0(iBՍJ&$di8 y4of߾&v=Ⱦ=9#IXԵs*6[,mDXsntVdpÒrq袕2;ȳ.wg9;Ӽ8pz{'w2tG^:YK/ B+P E.^R4Ѧ5闦W#Yk-dk/@a~+@oMFZdEm]p MlҔlTiغj)@S pbŌdTEMXd \BT6k[BglXX"`.6%)vuDնS [iukcRkm"" YWMh #^"u:< @FNsUƒ>BIIaa^hگ[~Ub+򶼻Ŏe2dmHrgU=է_xѰ|Q*O!Ra #ցKvqIL*.lҝCѽ8NX rn|Sl[dOS7&P(slo%ŷ7F_]s+ٺ@0dB0H-pVZ=:q$" ܺOwn!.ڕ(2͗W`XAVMh@|>wdƍ-5w)p.9AY܈֛n{*Ȍ%A2y >XNL;7ogjmo/ap9UjESQ;QdFwqpu\o7]lT7;r] xCȶ2Z {puŎ;#-[v9@pmXUf@į7p cLO9%# SNQ[YPNi} @<"α d;`#N;h9b{ny^M g)N!)8r5toƮǽ`0oh)3w@Q:]~ݝ{6V%0.w']1ʉ&s9c]["is\3p-bsD7A c<ΐ7P7u]C87aRa ɤ(63Cy ,V&Rmd(3 e!Bw;5bZVZfe Xx a,zpX+VYMť-,$ &6U,Yuk LU*YfdM'F7dkPȥ9shm;5cvdn 170:FGRNIEukQF6"r(X&sc8f wPC?kt۫ nK;ҤiLh֎L&Cn93ɨuӭ49lImUa=;Jw4,r\D9Bv)ТLcFIe|w1\;fyT1#q܇lAw5-Dκ8}FCڷD)Bس@yk5(S-P2n$7 #˛rBN3C8)Gldt q8P&$&nwqNL7n8{U &[ J)- nWy%dIV_$y"FuWˤ'* b(cxEF1ֵ=k̈RMJLh@dIUU!(z2Л s8I=t3:9sDY~K0a "⊸XYL31 0!c+Pw aCL +,ʈ" \p f{d 6+nTLlMxMT&& d \rk[YaXbwD:}nk{:UXi$lE )IPbeM/~)Y>aN3&878m6wZ"vM{8F8:DY΂TUeUlX[lUN7ݙ^1Uܝ(N'?;M>#YUmK4B \fq/`yfw\ɟiP % ) F/L\΄Aہ7S4tU i14pl4tD{V`ȎQ"7?Q0^wy ٗh"sׁC&`11s[ R(}5q3_*_FyS;yt]g8yf Si*TRN{ w97@\=}ϗ?(~_M҉Uj!Cm?u ` F`G66  pK83ewM'h^L2d20i|y! `v2UU<` %F|7OJH pMFix˭Tj9c۝֜,J >m䂬O9RyNdha"*DΖڃuxW0i"bLJi `d L;"ZgQ6mcoGjQBYoJ$C:'+ EhGU3HnWL %B9tg{G,EniC:-ꅐ=C~/,!<~H_ 34B7]mҋ_a19* *< B8&uIzNpy#i4J;yM9i$mS5n]NuMMד939OmXqD3fnեJֵfqdx!gT{z%9SO83]МD&RUB:td5F\.gDlvGHycN鏲:s|t #7d(L{AX0č`,P&8~tFulyeNY46:s0EmI nG*w"BL;RYZ`3ѧb9yɹ[̎xӛ-g*Muf~HfiEQK9^TR̎o{3HM/q҇$~7|hVC.C}y(]3h] F ڸ[06vѩsOUÈOT/cM14&PMLdd*ޮn<.<#y=z3&x3??& ݼ9ο\۝TN 8[K!2Ŗ8sV@x:D{RtGjN{As>bŻˇ#0,a1\0 t~_ub6+CcxDn҉9JfMNd@ti68Rz2M'v'%NNv9ffߟ|6b\MhqMB̉HULw)sKiՂ#mYUV(]TCTmmmH *kgU.ydz60ƽv+O+XlJy>0"S=@coF͓(@,\O!Qp8v42fFdnw@qg@cU r>deT|qt} ܕ E| %  +@K9bFl-5e&[Nxf\D9?t?m[np; þ H/ɹUn]m7j]5Α|:` ([;."8\1 Imb I_7x {>wߩ'M|fi!YA$hĆRƦ̚)% _Vͭ1mm6K6=iCvҭ ޴.MU\=yGgfٌr,Ӝz4؍@&cP[P[Tink8EŚU!lW~옚ۅ6 +k8k;~wϫ_H2bC!Hmm6cm#=EןyhHyAG!Ρ!k iL:'g􌞏La$h7u}ڜuKqcP\ln&jlh8MV&܎Nw{ÊmMrSvr\(0ú ̓#HNĪ[VTRXeM3 d+D6fH `طEش_K2xʘ7!|>Ri&=`BMno6%?Mpz0 v-瀪p Y v7[wTv@Z,LA`?0b\9 Jnr+;ImcoaFn"!2(kdY+U}u!h 6]v^@5Cl@f_;ˠW(mȇ ~kӭR{v$s}jjk%$o:=)t4( ?,S"Ɍ&q~4*dDI<2Z^]{ͬUTW2q|[:fڪփހcjr?~7(a!sԄ$#! 5h,sE!^Bk[n^/ "1=K6xtd]VuII]MdYa^_ 5RIIVwIiQeSv{/'sуeitꃈxÚV~xDž[FdNWA n&Uih7""RygwIiLdƷjL0 g:Aen*ҕeyw 16iۈ1hlZ _ViE"ii6[}_~ j^T̡)ץ*ML)bS(Mw}Jg8*-YHU2+$Tm mQf @3CAf͑4M9llo3AQC , a_\z4dټOH|jٛ}sn锐Ҋ4Y{ 7-c#35i jR-lW0a^ޞó=0w;Mt֬‘0ͤILR2HI& &LťM6LM2D"-^)#/\o09 ؘw3 >/g4|J 63QrتAo'ih1̥MK)ԧYU]UܢL*TU 2@g) ]オ d*"RJJJJsG,%ՇƤXOlnX3 8^txtrc|ճm' .Ζ~hm]naeu[q"[ɋZՎ!vMn=K0⸮ -|϶ᮭW1j8 ..F#he U]q0'<0Vڱ*VڶغjtAimԤ_}D//ɓb!֤f7;W/6vf ;Tmpv۶(#HwYCU7"FaZmcC&HRz_7Oxf,Ulu %m7N&ǚ^:G]jre_U](fSa3zfW Q)/hTݮLC/ktgߚm<[UԴDaFp LxcN|Jt!RaȀ瘉E䗦W֒](3xX,6#Cmӑu GRxtq5h&ۘ"S3w ^fRpyi7eY'7:ʴŖM=EvVRW"""0KX07[`/T(𧻓ǯW:P ܃16-qr̠A v4)\I7;M}ԷQ(Rq0jsj1,{hU>p>D6!=ZT TVLQLS>3<8ߊW:j>Xo @Ӑ\6_Q$7ג!O "i% $bNs1F0ǾqG#ot6 y`4QʻT ii{A*}bJRT(`'s0¢x %f)^p熚'+\BH_ F5FzMj0Ua2JSFH+5':`u)/u-m%I'&޽r\pZo|2 jjj[.b.MJ2(IaTEUW”**bu֦fq ͂g lXnf54fU6L%J!Rdji,ن4X5TsyˆI|5&h&JɡP%tb}`7'=a04:S}! 7N:odNJ8Nʃ+-1P*Bூ @w6Vo;a&4+ee72jA26 M5"ldG5Ynl0VRw9ŠR)N'I;~H;w4O\I8N{/܎U"<Dy(~O,LL\&NZ_ཡ~%JhijÆ\@VJHw&(q@˕X7׊`]2բrdA ƫ8屎],+C"0c77U|?LԒ"*`G{g N":ot!PG֎O)S -1G.xn7|C? *9A˟wq_̖Xb|6ڭ5I˰#v )lѱў7-Zc cj׾*7*sr&_d߾a*TwsF6 E(H m2?,yE??Ÿ~~qihfoCl *JRJiiiYJe MKJP՚ قK110ڣA', rT|qN'Λ+7/:ʫn^>=i C"qRl0~}5,1qnXiL+l6D`P>Q&|ˇ÷2GLc`gncLKQbDS}TÎ;,? B`#=4>l r'O*K\A8c8p;۸Plխ+T^x6Avc(ٲiC% r<#,VG|NNj qidׂ]ThJbYj](5-->LO=M&h ,7o)':PLtS;:!NqԞtF鸛М2u?8ƀꃐbD@gkd~ɛ+ 443c”1 x Vf[ܙꔓ<,D/ VNjÐz~zB*4vZvlBM7UTV'cV} =I@x~4r6Ϭ/,<+?L9&\~[O6Q52i+&|a%vl*>7g+[ F&3 3Iϴ +_1IξtC6ha"A+$my4y`uh-U")* "zF oFl~lO쌎|;3tK҈v=mN8Hp ߌ' QIar˽ɔYtBRS]ҷx " = z0II"]Dȓ)Hlbmd\%pNwS^KRk/K"yY;mo)d{rJ(C3^b/O)]\cr͢^8K :`+:")lEQ0)(*5al""#aDJZ"aaz_iKiX !~%d> W8QdI-ae bղ̉79_W^&lI!%rmf2ZLM7*&E%8J(]Zwۂps[x<O!<ok ~0jL6zlN9IgR!رU6a Ĭ)beU$hg?ӎ7Jk_N7\;)hҲjb',sӒI)J JJJD PPIILBF %*PRDH$HRR(RRa)hLm6XYs ̾-j`h#LJl(DE/N'8q(.8sñ p+})w/M9ZZPu=GݽLNn t'5 ?5):#\S3gON)P$zasJ㉊,x޷a؉(&|}[U3rfkmS3'BfuMEYs#󻶫r)M 7Ujqqc62`z}G&o !pz"9) B%/AZm&xۧ_kI`J5Gލ:V\z4`$Q% |^Wp7Cz$HɘiUSn^R"8cè:'xd|1DN2oU_*KkT4pT}Owk2kb=/>ﯖ/nMgڃS9FUmVʰa7G餰Tň#$%@1r!iK8$py?țgX]WmnL%)NW{_Erwt{ #"qII9׵+8 n$;AI~;>3yJפI1J /j('9(DPD].Z,r#Ց>{2k꭪ы}`vӜBg88i7Nog~) RS\juͥ]]豑XRz8L}}j&}Lӆ#,3)OzNY>NM3qG~aiN"^vMAUjʵa8}gTV VԦMxr؆:WJ4՚Z,Il<31aU-$*(%HjV. I4ؤ" E MVxiTMTaZ(b$PVo6')ksq50amVD]|`N晳0bx{89p AXi1+,MvRMbD3^3^'XޯgѶr Z @p*WGVi/\9 ~hBrȟO{xSt0űNM "6`q[5'4Op:T#TuRL0ڿ^%/LL$~_3,d@IhUK@b"")h$DD=OY )ӍؓTDM6MxXZ-sONs9wS9yក3)̵fu'빁C?m^#ngGٕ9Sg׭ex!MiIBnf *lTnG@U}⪺mU^7&Ncz#}$ o$}bFY+sK:RίdML#\>ۇ r}a3%I=3S%W#GTzU/P\V>0ƆհF!A&(i>*vE "m[m-RaIA#->)\p%BcJ'H$QIEiK,*tC`6EsgB:GD::# d &%3z"l!h}24>qQB|r?WNp7'?%jqG4N'N*`1 DR=M?G,?2K恠>9(`]XW3&0hNOL=Pޕdlj7%*e0uL0VWOG;m^ԏ=sjR#T#9!ӒPD"l/{'H^vS35C1xG(LK'oB= 4lޱ?##_`sf_M?F1 W~!))/S4 oTQvʜȿ@n#@c«ed蛛׵c`~{ܧ *շko c<ӛF7&ٺmJR`4M3)a˒S2ngPS\R9|zn? \zp>}wVǦG͎@B}ч2MEe ٍE5}hqWadS}x r'DMHBYV:U6RouzW)dS Ь7YGPSA1$p)иSmXƘbBm'f3^]s65~a0׆kjԳg ě8d4**l'QJ>lZ_ۀxp djqS9SNpM p Mfcl&l0QW<8(QKOA0ϷmDJ*T_OdTt|]kp*RrsTc!Ƒ]h+2v̺_3BZfTD jD< 7{=! o}Pŝ۔asO~tGa,dŻLY\RwmǍe#{8Φ~yV3[s!E48i8i:W(u,kvWֿs:2?w9m ʭVZ37)nRIIINRI'j,O5du4D:~I:;ն >`p.-$$z1)ބ'sdHsgp S&d{D:/)0h!NZYf&&%1$۱K;w'2dG^6(9ߑ둁Z骏<'&xCN:r r 9 K KT Alx/U톒~}ջE6vԵ^r82MgTsݧv326 b=@4Yݦ2x͏ڋW;c1hsq,ARqw<&PZժjbaǼ2xXZw )L|I XxQo{w/^c Y%jk1ձ-;$|y$JZYy>i ʩKF9y|P;`Y(K)m)R0aF1$,%8+KCUv8VĥE0L E0T& F`*%)0a(Y fe)ag1)L"$Y;2F&Q0a)`g*QQJYK X*0i0]eTڛ24k,N0}yFl'`ޝS߮FG~Jt.XR'!?w|}Zۜ|!Z3O0*ubtz9_upFĜ+eZG:=KyRu1Ye$5;m1Ftĝ4^/יM\~uBR5 efI;c'|:d22k&{olkLhl(eTU<ɉ 'jmaQ|NftA>~p&uU.[(e<P.wvw2EnWJw\)hXZmcm-Qt ܊ 9R w7ssܹp _?^|)ۍ?NI2̕':a ;Ow*t􉔨 }no9R܊dQGRh 4B^C}w\<+qvvzBO9Crqu՝1RcmdGJ2j߬')7?8Ot|.ISs:Y+ sg\E%`\7Z'o1ikE9RUiƥEQS5`>LRE8Iሆ(fl4LMQm7Ϫn\iBӀ3,K[zj\AgdÍ 6`&#Lco{7Xb}q''dۮٶ1KsvaVhD]Kr'cRZ6. DD@æhL@"M7Lr9  ȪRةn龲JT22L}9-5IBHBtdK\uh)f5n:P vѡl}~ج!l15x f<"s BubiHb ;PdI2x&F֦ )ѺnmMF36qV<^ӞU;E(Z(='Q n׫"R,AOȆآS܇!>}^pP]PCÄ(sl1V {LÆ:xwQ kctL$C#iWJHhT6*jP͔0C  bjnjFkpk&T @;nõ],;"@\40 2hpӏ՗F ԈOI.s`zBIXֆI)cK116eVCƇڥKf 1?Qibؾy#~q<)𦁲WqxI$<$o Z&a$f8 #"ФP-EY{5%iVF>=>|*},Njڮk_V@[nuכ}O*oIJJRR%*?yeJ5TR͐8#YaR +/)7JȦ7-!LM(֔fmy28'(py?alɆKPSaQUXơ G,#X9,M7d4EcphRTg)"<!7ƣ j͓#`1USA=9XN Jd~JïFzFUOS[{]C: VS22*,-d6FvV$e>Y4v4X|?ie*7 9T,!wb .> y[pD܇8)~x'B2DEI?QLa?nJOr|Rr5 9bnA4&ZpYi#aMiB}LC|  ޵ (g~}fyǶ{^FdQ.KAgzM6ݕNGZRRZu|{ݾc~fD%@cUP=7vnDCRm6b`a]ɰpcq4hvVa[dgؚje]=;)Ƅ2WN}/e7>/'L<_7,+=72Ϲt_~)JRZa5ڐ>pvI)NYK!~>tQ='7OGCZ8;$=(+z)gp"?N2fW0i_7Məv`p5` ti=o.rE3 ,n6Sˈ$k6 qY3)g#.]xKITe~;;qw yC*I%QV#$neEX`r&`Rmnw[#%båsƔgk w5'-ڿ1t5={r!-ā ,bIDZH^ H5rvZ}2,U:p+S "ЦPN @Ld6L2C@RAH  c&m28\e#[(hkVFet@vP׬3;@> zrB@ƞ3j?-ҸK:n$Q}$n*ρXM,[m1aroRkpua!4riĝm")8Ԑ'22*洺 ,)Od+NHFY_jUs3cފ0PP4N\9̱hceU]hI+pcZSSn(Yr'Uhyp%TDMXRq`1w;p(V}bxEJQ64XT Hhi7r$ =2 Ӟ0H@wC30|h,ѓ 3^U+Yl0eoweJqWNYd-TZPTO}_vq*KD7ҜѤu$}6D'tz&Ag#ކ >BS 59vQۻW_WU钌$"d#ߴ4|5." O5UYA $R.!#Y8쏱e,i~ o鋵:vܝ{XލaqHX,X,={CSCλw?ġ3P8K&ƗӾGٚh+65mn;6  "Z0!ڱ݈H.YYK"GAr#UoyFOo}1CCp)Uf:w'ucsٓO~-اOC-,DQ/v99JV?,c,=p!Jy+pNM L0|!pAW2z !DHҾE48*2/bHFF$BƐ(|3Ha Au#4C3JF[mm] ;0htnj&O+S2"E%CGFqr bAoZZ֣JHȆPtS$m*{w>UU`, & 5o GSgX:),Ɋ Gfp^OCfp;56Zqhf+:I;%UlIlI)ex`ˠ㚱4f\ZQׂ sM I( ; $ #ܞ)Ճq-GN*0-FBaR*[gLm(x*1)0`IJnjO}io4Lwwe;yC|JpF##(%=~K#e!z5)T>x#+Ze</r ]wWx[;ũ,~F5߈h ~wmdhVሜ}gu=BlLDLbf"w؉֓qG蛬h72h4ۿ`,YLN8^ASÄ8*! 'hHDUi]U\\)ۓZQ5XvDpXj+EIM]A0oPko]&ݖ*J1VCa;\2 f1.5d5B0c M.D S C'G 11ĺܓtpE=piCC,ꩫpuiz,ւ׺ܝkbIS0y4. iDѕ# p !`{9‡Sɺ !bN IBr&6KU4Y,};cU1mPrtW-1/͔SyЅƶo@Zi5SJ ID6L΄VDp)5fYPQ(Spm!`D<ؑI{xT>M3ܕ6 L+%WzC9.ISI"QX9 g`!ݥ^L:gz)&Q ʲf/ÿ=SWsdOYr`9׊*gI(zAh/ք5^H6?㶂xͼbzt3{pLXwHO '-mkD!v e€}{p_avAH*;聒E$8H{*ƪWXr%CF`4T̄uk 64u.1UKl4*`7~C^S-3hݷrrtcNY ngfM-22)N>~Oa=l?qOoo'`w#ðP6I>YUEhh|hOm իSoG[z*[F*(%@(S JP 8Ol'X(c|$l2n)M!IIL0vԩ*gH>Hb[1{F}jS |5uxpeH׺=^oRXTC+܈NzCbTX5-(T'Rr'z*[ohSrhnn1DgS4QQ"up1 5 /s*5"՝TBgB/h6,>hxumU7j®ݓXLmO՛C_Șsf }&cG&.+736mUT D (O]}ҭ.|`ybcB|ҐO 1egPћ+t9BEhlYl=^YRKQMK^zkT!ˑ_C5"ntϞ?ŐfH%L=5C%T a=j}PIwqC_i4{&oSUj3+dE^2 CjR̈́nUGE \v8)ߜKaI R)ԝ*{^B &R1v~i &Lj*JIca90 2p ; DSPhccIosk7ڣ7# Z 9E%D]Y%Z ZdceCM[F5 f9ч$Hi_bS>d(bўMtΗh`C0`5 `z`x8qaG#chpI! G'~үU1hwE)Mci_m1܈pm;|]{=,Ql-$n"'yo\ڙZ*I vdSuuu+rYr4fa%FF18% 07^r?v}1#Xm0)07ݝQ7F`R14}u pPCR83g%̄)I43u _StՎ53h1b|c '-+ū\E*kHw>X$M-׮*Ŀ?4ƽv$X){1fˑ0ٳfvmM"M64*f|k h\q-lƅ'gs۟'X&/הՖE 5WSQ7\xM3kp7 -]Q;lKfٱ .ںdZbP,9L&S#ӺG\MkZ1FrCF46b8eeg) P"u痬pkFړ]Ϊ[[e 2mY-vٝBYp-0t֡ڋAB aF,}-ArF'ib*>#UnUka-5(+@V$3b_666Zѩ豷%uX0q.lĬb鍍坛&͢\r;mt6y!_%ViLrjv^ h_\r #[S`IdJ]ݩrw0:&КCHdwE 9mg6Ʈ\vәRyC3(bl绣70ΆHI;w ͛:&mm ^kXWR<>a2I(N93R.x:'s:d&yȳ&qL4u ][kKFA,&:L#Nf?gΧe\b fnBC8B#'4Аŝ !! >Pk%EF7G.Ǥ&n:hb +^RWiV ْx/}|9=xiaز4vx!lHk`$57ov*onTjM',řߎŞM9˚)34y=;w) FkZ}1_9^5MG7-0j,͹yP-5qw:__HkNjo \d.J8m4Q|X0kRTt oصġ4j''G<%ʟ09gj2>bR xgL/U Z7̀&`M>dgY 6ყ?.{nIm1E+AK^/!Hab R1aid#3ё#`oP FǍCWc uL)UJEVvm𙗐R~EԴ_4-1,1yՀk~7W9 oToh:[9 u1BBփ&KBj @jY\W?0,,iڬV" 0Ҕvz +#-]uT." m pq`vӟYòqa[eJm2 &UMLmbMS͓=ڮı{ G -|IeuݙSl J p,%P5Y`∸J0cFXoͮtZZh_[[PЊM4,VeQ[fmkmC[\BC8;0&a9]d`)P1x ɕ؆q݋]CUӸbqAhd+*6&0}Xa| %l,)c)GWE;&N;Mߣa"d5ـ+=2z<)=фщ65qnR&Jp$Jj-"ҙ`~sn\X7ߣ4`Q`{ZXgaUDݗSD+lhrhɰrHb嶗wlF8mdn-wW1/\Lsw>r趓78v;b<wKrFm{1A͓O-> ;^T,4BѪ65AT."WG%@CH64'DA#^|y'Fe" 泿 elVI,yLzqbZx-cݒ2oE&M纻%Sh"Zno&&sB0XQ3FO'$ ]b@6qϦfQ\ HL̪2*4PiWd %=' ʊJZal)14jC %gg&ާ7nEZٲslRopCJW ٝkSn{#dL n S#AJt$o#(cPwA;00 s SPc"hDN#0o6E)1r`T61&5$o8m%x*#_)) C\8\0JQM&e =XM QKE;V73J?!뾸B[XQmLmMYk`="{YkUYiicREE)I$9p,rJRF[)MfcYsOy6&Ǝu̓2-01jjjffTz߅Sj{ka|@lځDUCG~8.!]iL! zkܴ[cVC`Nx+" BeܫNb[kB+:# $l*jm2&L? V<^쳕O?d~)03=m.sz(JSfQJ`nhXY1Z(sn1N: VUJ\)%hTX~+X-Dg G q:e)8b%39FXfS31P^CWm‘Q )Q'mvf Z7w%Ye"Jp4Mb+in:-"RFr!7)f5Лa/40zLt'{=~pm? } Ci Xȹ=y8܏,˂S1,Gay|Nⱚ'siHp7Q*1ʉ6رF1jƱLeEF- &[ch 3AuM $V0Sj@iemxmϫ@nһ.0Ȣ45!$ ޔ5#64{ooϋo{yIZRS4I6LIf)[Q !7l-ReAYiIC ,5E*WNVqde= UEE] `$6mb?wInP /N|ɗf02`>Ls\fo\%Ŗu"~R鑠)E''cBkL a&V hSV Tjme)W<=j"@&TU&e;l!B0A SRz1GGo}"ӎnwwDdYJݜᲚ ˮj**[.G'D/th,2Rae,og@sAjl:$dhTc>W C ap$1Ҏ'|ԩFW%5\s6TI)@/i}GI醕d0EYjs]|D+TI؎ԍI&Lo %3&YnInFy~}eήŰ{DwlU|rR'Uk4j vrBXe$̯n',PARRbF%ed ZgL'kN)@'[3B0b@XMKp?@SԳp12]M̫ zl^HfƤaRK%`paSxBc`~ϖJÇ-au$dO3T"8iej>~%z3˗rLc̲qe*R„ڪ dSpkZ59llɸmT jS-+m V6R$'|S0T܎TeH}#N79RQ7H&gh'r+Y 54e3<\lHuz0+Y4rf 'C## p*A`( 5toiJ"Iʦn\2*g9QK:cMŅSUb:l2ՈIˠ\`)*C\T8Kdd' jl>'qѥm_8&) iDfl:nU~ϣ޲S;tN3|xpL0P(I7(a 1iʂƉ)M3s _{tOgeEHj"¤׫ਸ਼8;=g67H14RLMfE.Δk89/mRERbJlnqu-\pV-n A|LbZ#IγC"2e!8VƘƩP`k ^I!B쟇a ¶%fFN$)<ai &tE1/T}=(-6l+KO(@؇uLdd1߄Ք!0ќta2%Ԧ;ѿMKIY*XmƨMjō jKى2zщI F-ҒvMRB5WJFk-km_-c6锳S *ioM\M6Yfi_]w_>S~g$)N-EYBmempmVNFIƏ=(| llhֈh͒w㑲Jбcidd1(ȥ22C܊hdS3 S0׵wUԫWtIR`Fe)Iv<ﬓNCoSg U7#} 27i B~|s?3o[uInJIgD,'aj9FQZ4K@8bF޻ݓKU2cSI5ށ (@ԡhe bX45(hʕJUiT6(`aqb"K12Ue33!(Np b`?9 U<&5[ʼRv-' 10Փhe` E)F! STc5{ XcKM!#"5[*RLeJKz告 WXĜ cUt'E"v4Y]UT`L0ie`[E % (PAXiY^ޕֵuU=( Y*QP >SB6Ie°ĵ&b Pde46F#D]٬0N5 IH4 pl Cr2~3+z 5 )LS!$+*R*WWt,02)JdlqfO0=M&v].=llM #4Q?6m: ?xo=^i|VԓÁ>:~ЌƉ" 08#ǎP?0=G5wne (Q!)  aNhf3)Jd3J *P  `ovv`^8eU"0d$tqAk?q=(&hﺱVev O.x3daM/Ca3e kS+H 5 RX h I9)ɎRC32ڕVn!wlvo˫>}~/ =zS:![0]Mlx>)ģυUUUpc6:ZEUh`L&)1l)c@mCfT{@ ORt9otN f lX-(؈$#`زfMUVDI&n%RJЬ$ڢF 9KM "tL0I1f:䮄V*=>g<$dQ$\@AIR&%:Li0H18+$ ?sާ PKCZlM,, w;!t90'J)0q~q^b%Zűu4Vm%XkK:J9SfM =́ zg\OCSieBgCw4H6EQ+JaU&W$D=V-jòva> 0%$4[-脭4eO4jnЈmW5w%b#p<ɾ46pބ%hEvˆL:lY EZPP\ цՔˤ=2#!,Xd?Mx4EF|h"LY("L$ e)Щ1kyhjG:d1ug PO)B%~@KhyYGKZ|F؛|EżK]Y`̒Z%d {|Q,h۽z̛x!Ȧ@U5!VFvb 2uXͽX{N[zhB܊] *uP-{¸WB[A52٤NK3H:+.3;_ԂX@XE'>' ϐɆ < 2`zm`]ቇw[0x9I)MRO{=R)RUĬI5¿wꧻ_-ߴFɜ.4`³7dmDZ?D)N`ɭа°28g Nmv)x:  )JMѢƌS$vh=JI&XDŽ4$?׫=?hͦ&:ί竜'O>IuC-7 W7,_٨(Rrۍe#m.w#,&Yޘ{$iET!VlR*-%~ֻ+tMpt%JL0Vڭ&)FSrMp6 l_{ ܓй>,U-^±95?=O*`T$o,D:pMp"BS6: }UQْ2|4N3e ?'IٽȖ:0>#sfSʺjKK&$ =f63<˶SFJ[<ȩlSD262~RI$%jX1 jqq {`l O./By QЁL\]Hf6/ "I"f&* 5^= JhUZm۩徭d4V+B/[˗!4* |S11!då8mtTnpC,!'(IfUOpM%č[+6T&ݘ M'VP6Js=rD;+?hpGgd&f {!9ñc>SA#a0yDf30!uuw5m8|ah"IIX%ENLlLΰ,'y4Y}֡ ՖW&ϗsz+"mn&G0;vD<:>,Ǽ*~ԳbLC.C7dO"V>e&٤#tIEe)}=\VB Ey2pꮯ?HVqwu|7X0QTOʃ1 䞨 |o0(zgwϙ V PI'O|Xȱax?+Jb,ߘğxexyتHRMϛ t3p@ǫy'!O#c ZmLTRE&҅5n!8̓!P-dRdDgH,+J AQ:H Zʽ $a,g 0dd 7fCɮZ(mX!atqK0 QdLN-0:.-0*F"? zX &oA fh!6nđ2 IE[[~&Ґ$ʜd 767ҋ)$<Ћ$!YWi8A"" 2q $jY=$0orXy@Jpd= q)+\2짽i9A0m,$^kV%(Г窒,=)r>,GR䔑PsBa60eȬW!BCA,Mv.RJw#Ro윥wRMCi"BVNHAXFم1_J삆i8h L]Kd-BդR-ӳrof\MX$ ) wr'1"@`>P*[Zϓ2vb3bU/@%c:,VlZS4HEA$B@,v&F64,lIR/,gYv%`ZRL݌mx,n(C9%k\ VCaa0NNB ̙<W˟`Bab Fk-@P%(Pac4i-ca1׉ʑU"Emo7ioVozXiA+[bأX/L3յ2Jʻ,tTlE}h-`!dzв@BVDJ-Z?}">Ty=X:PDJy9帊 py ʞ0(('' ryc CI.3;ZK䠸YUPaTUcHT VU^=Pb!QF(:QIѓԑXg|$ٰM615v-3eŘ9ȱ-2t)k1K,{D6%Ņĭ$|ۛ S"A!llzmkG#Fd&6;q4peH`td<[@xRxjpC"-у<0 ЀD҃qnl!&/d@l"hdC#Vuk>l W-hEX$Y7#sU4!2$l/NƖ8ěٸ`m6 N؈BZl%ΖE$RE1h{!=@E1m6W̛3ݣDb\;z~aJBpmo#l[V-p2 $D}}_iwKpꛘLFĢmEXdJ@6 aQ-]Ke̥Tgs\9]{hk QRVߤ]xفhV!OKRCD ٢Vŭ%G:}v$sFsOU]k%n `y3|!LIɸ(ܔFLn٢EQ%3hqJ,,- U}x:'oV={r#3O/tFO s $X⫽Iޗf6?r0]M4&*ph*Y;L*s&AW)YV-܈qիؑQ ,BGSԝ8RMG1%Z^?NY}(_f011fe$fCLFs^9n=J1li,-z8t^fu}SaD2E{)M&󴽦,baTԼbҩSgUxjD *8.)O56U(BR30UZtSʅ7_oo9 Q狳bJiRxm g @M܊z b)΁(hg,eNru{SsUf%_*,2ʿ(h!`ͅ (PRtbi&1x'Y ~LY=q*#SKJcNvrH1ȎlII70 (:eh馤M1t IIsBҴk1.+{aq&V6dx2?,[MiŘ*D55$|k@,׎ܥ8iQEX,X;D}MqE I"B-j'89"*a+馐o[@_'GhT|3gmOK1hy&fOwOof_MM0=3=,FŒIf~i5mΈ3( h hnJMQNP;hr96LtϤd)ǟ1)9kҌ%,G1IEHXsqpz&_ jJm3VVbbԖ%{ =ĵ6Jo}Go 2A M #vn; MGiDߴL\uޔN҄PA2 ^ ~ _ɖk 2^P`al6ˎe9.`Doht$/$e/$/A_a(a2cBILZi%ȆȈ"L観#oF""&wYJyH>>6]R}Bt{>6h10"O &:u %BlaݲeƆY1E!*hKwKPbcx xO=PyM1gI07n'W.=C_֒WQq$TlfRYL*$X%Қt@J5b @Z2#Qu~▯JHeΒ8џD (TOh]eEAHX4@ElŸ pJa L"T![HGeA$D6\7IGXuIPxغ)(:J1xh?>(lp9Ӳ@0![. (GR?PM:? \b&gqu𐲧{gzD:TYYbGqJ< jwfS!2JDNk} ''0u슧H43@! mjd4ڶw i?NA<GC'koW-џ]ϫ~⟌[S{>y`PBbV.˖^R) 9q'L( 6' e3`ҮȃC,mjnz_nõ!jr˜ iZ5dŝmv֘B赖t: ]H-#h))v랎~i ?ijY[XQ]*ml2X-U*.k0P)Y&Ia&dlR*7О.b#x&n@kj8t2M7H%rnKM3qcm]4 !ÑUwcD+ Z,V 8S鴁і16+Len&'cj"6YmR9&,=jETo,/F)40K%C6:d^[neٙOVSFQL8@GAPv= =Rmy7NS/uX/2Ҟ]&<RcC+:{w3w0 k iվ3gUFr&_Oi'FCZ(̓#@r`(!H{i6'NoF{ԛrnO)l޷6| q m8NXlwz:Q]15̀d\n&:Jv9ؖ9ѧ;. x`Gq FfdFE(Nl$Ӧ /d.bYu//ϗWˁJQNf3>_Snc j Xވw܇4;#mMȐ;%*)s8`1v=EvSyb"IҒک 0J4'K:(Q1 ~v@ (4S ==It-e2=K~:ˎ+3XdTSMUј7K̴^9L !'If0`Ir_57Qe h]-aOJp˦(X l&a]6nB'0$ L4\&;8k+"FRhA$hw\P>GҨ"Dio a<-f&Qe<]8^G]u.dޮ[n . m#=Wh-}Ls,Y9*Xⓓƃ%ǃĒĭ ''N 213hxbdd1YGu' N8 zfn&&o{+bp8( ]V+e|)_ DEln~$Ieoi-jgY4wg4exaH«ͩQ56}bfQH_*[ҶRF6v^ջѧ\s6}Ʋ C{;樈Ql1 4c-;f  !1IWh4F`qq87kx2C64،jz)u"+BwC49梟c4>lhlTű=tl1Zga&{ a-dT! ST0`'e5Zn>Xg67c|m}I Ɛb|<;R^[CB r9-lZ*b×!5R(~{ #8;1Ü Iؔ99ffBr HrW4?;e`w.(r Б. 0 8CwJǒCȶREǝ?Ĝ zG(QR]V5咲s C’m#p7D<&{C-FOjdb`fdm؎iɦ#H}Q6"MFac3jވTŘTŌ f&1&GLdujl*Yzv6"8Ka'+$z="@L%د'DR1RTͪm% j*ItI8’{uDd^"2# %jwCmXݮFڤEV zò" 00R5dk! DI2I.@= <ˡaƅ1mȐQm=:zdԜ7,Np+0"BHC6lEҸXBM3u&Xt@3kVLAi.g Ylg-DcD'vwyLC\AGR9_LT+!FI!XfMBKd-l_hr_үFC5ئ(j1X6J=-ipĮ˃lr2arCQa&I чU6!GoU;7idlpu` k 4 s"a*2Y[&@̴81Bo^|͡w#z))VƎf?21FVi2 Xq|ki,MT1$L RQ'|4s7ݟ6瞄ջ)4hNn [P"x̤AuӸ> F2C}Djpuڝ&Iљ'Bt$}tB%N|d1 BelZZ_'zwDTE;ِ@wNKX[jեUnJS;F! E- iVkBd]3&4Ŷn(G)ozFUΜ]| .{aS,xa=֟,Z*9+SZIZI@{:LBp͂,&HM۪cY`(otl,zEi&r$m(Uc d4 ][8LJbY%RXU10h[;˺N?@cKA < pcF1Fb.-?;O:y~M~=n'{" ,KSOgS,~23R*̧@,0@]&oAR" s#{/]!4NfwC3`W@ 5. Bڰ TSj_X4^4ܹ tL10m7X(W'rNS'~YoQR ݓY`%pgx$0C!(N+z#H [-[x]?+h=J]6#7_-2?@ 9n0PBu[4JR.@7G 'dV`度.2 i͓>'Wm*buuA[B2KQ2ZS֛”醓I##`R&=Ӧ4qa |T:)t^5;!#p4,/s9d$FޛYO;ٚ>@vF,#c,֩L&N_/|#g5 dG'ՆJ'q-b;Ӵwv4rsLm`0EQH,Fw9q8x8Tc[)Mt 3l%8^Z[̚HcKY4TbK "̶iin&>ң=CןunX:#H=U){aF3#ݛ1 EYLfCtڹgQ$~ ۈn$_ćL#K d_lcm;/g8Y\oLnUCco.gjn )V3L˜ W9)!b`6V0 8PR&)YM.)Xݵ-XTm*sDbV= fx˶HU0 *&9~@[A$ ITSP_<"zBPߎ̃"C!$av b$x#$:˝IԟbR(i'[ 724O~ W;3IlSV f'8b zj`vg,QOs{{/Xw˃^EҾ{&R(Ǐ |Vdnv%8lMw.*+ \\I 8N?3gNcO|ZKdl-)e%YiމPM&sN&'?|p1krZ-Q3$leUUʪV>rGD5G*l0DpÆMw- ImejYdʎ$OM#Q'5 / ;=J}勺Go߉<c\-ώ?%O>K :6I1 ?_),BSR YLQ" Q0Ȋ\a,@ʋ4OU2,cM0_ i-SE ȈM)jj"`;c@}q5U`Cs:5R=LsbbX䏚+ּlOV+weч6rWp ޗ1H,J&Am[ ai)$l..Vp> %Y)I!JI Y$zAH0x" ۴G%'J·,p&ʂ"K_kU#M0104nq|Q]5lq2KTC&ʃH‰-R*V$JfS g,?`kf)?X S@& JRRCqaE q8ə$LPѹpfh2&D)F)Mp?<8y<-㮥Զ-U2ӗx!,LPR7ڕ^U[Z6>MЪ)d Y ާ=RIdz5\x<(Ay(2܎ƣ=oLqG~;n'OS>mK?7ž$u) ?27CϓHуy!ݞ܏@~8!GGO~|d_<ӓSiFGFO 'yC?. bO"\b#'^ %/:eΒQBF)Q-(X#-e/0H䱬hJ V6RQBʴX%J+e(2Of1CYVک4nwVww]NPs0w.t'ZDD uXI.: %d í 1NGn8'.4ҍÙ J2I]ΎN'nO>9!@v咩<M>ٶNj)$!?[[eU%Sm#7{5q<3m O?VN UH`Ǜ#DR(`FfB`\#dJ=1t_KAn'/e9shr y{2>sN孽"Glv^ޏ$9//O7CtN;G˞}PC#xtPS‘e(*YWnݥM5ٻJ]WTʚeMnݸ`X2P:l4iYԯPɓ ɢ串roMNERL h#nGDM '&ѻ?&I(oQ7Ig62q޿h{x]'%'%H # N\T~$h3:`g#!FK2GZ۬ʖm{FeF )J2 $̱$dg0Ld0L "bI0QbXM`)R H)6[& bhp0?0iDibH4NprK| dy\T*\MnKw5&(i)I]mcSYLi]6RI&ҚIiMH͛"ifFT3][kMerӢ˺vn:fT.n)]Mv)MٵRpRpۤWnݻ2ndWqsu 2.Im1b6Wwsw\&1*HJEL)b*6GrXۦ62ՖT Hۍ. .aПad*o&xJmJunzF&UU*RťE1=Q1k4ۆ'>؝=by'6M48SE04O& XFFS̎AFHdR@p2) ͺu2/&Kĥ0cY)If6TeT6mFS&8"IUVŋ|"ua ܧO96.X$SԵJN7е3`I2: f1aN`!̑Mvݍ'XJr9drbrqmx?;oU9iRy)M܉ $O29C7rH䑘ЦOVxC ߬:i-yMI7RW &7ٔs9wm}?} 6QE`2^cb|ɳ8N6ӲweK1?"JW/~崩ox~iӿ}w*E#2=;C>03;g:7YF(1܌Gm׷9?'G,XJxm[|]x6O*RI= J`dz?yw>w34f$8g.JqF~E)FH 1*ղ &!%v;,\ˮdkMLe#(2Nf4Jg[jYIeYgy#tQƒp|& H=gy??%=۵'K8g 2E'$Q^`Қk/\,ecmH *y"iOg3YVջ% q d a;1)BI֛a7Gv6X䌦Sp d;7̣DacdNrüG]ww:1_83'8G ݙFNRοgN g90U[mHnP_O /([*7@7{?+˷vr½>S+v-ڶYqrq}~ܾl;i<+Ok7Rq#IdY,K2X2)VYIV~hçrQ(r'\_\bG-a qVUIZNX8Cij%5Z6[k9rֵ®7hS6rU%d5$;Hx<,՞iYcJY9#˓rdȌWˤi*sEVVR62<>j; $ǁ^Gn97lu!?X:1:)#tG%))IlZ4K%dcK3QYMK-X[-`J7g̜ߐq|&WAU},VRAӥCJ5lI JOZT) AHnϔrw|3f3=L(ORfMR 7\W|kie8u >Ͼ s ԇj5TE-|ysPx39Br!!HtI&1x''`bL;c!&gbe4)n=Z۟*/յlY9tCis$=͎dDy#,yǮgP8f43D)I)(m C#d)J7fC0Ld`3"04 00d`Ȣ&C 2SH))30dfj0dh)L &DC!JRR 32h)2&F f4 ddR22204D)4UUJ>pc4."2V}!1OLT "ڨ86%Usq$uk#,АUgS6IԄMblzÆ9/?gYLS9w罼'#l)JR%TRT `SH:ূW֏b= iRah=`yd= 'vrNğh2Q?MG$8p3.u ^LoVC֭i@ppDzfߔrC7AL5'w1՚\@n,wed⩃GEXl"`п{C6ZaRX0tl"4%EdCߘ%1)?l,3)fdFEa)B',=?;vsŻWLjݻկZE9yTyp`z1TFl+v}3\voAʴ9;Wh)i:w# &IҧL*3t65ΐ#1'JtioyiNd܃ zY2SG,)c#48̫s ,cW,0*DdGUm#)3V^>6Rխm֙ɡW\5,?0?22<~9Gƞhmj6Fٌ_Z?r9pCDEcJOL-[[jJtZJM*Bɍ%Y1UVZU & dJHb錈"i9a*g)UE*<у D%TTUuFffefyI:tJp0pA)Q1)N舞@)fa *fR&bhIQyͥ&ɠRgCB/Ȉŋ_m_I)-qP@H'!s`<f6G xG|p>z!͎nRYͅJ&(s–gD~x4&FOpi&و-U_yؽyO⟎IaV͹j2W,OMvîZm?4'&ƃ&׮Zwb%dI쉁\"JS4ZihFbd#G}MIS2l&zae)JNrp<8$IM&cTS?OqcTن YHNZp0\)c*Os(ƅlC;&JMGգFAhJ4%G7gCk;#C'p ɁQ7#x3Hh3RX!j1: |Ch`?SLO;6\MCtmA,,3[A=~;5lnlN(0 䔥*ѭm+`Lp뛙ͮw滄n9ssV+[jm(X~S=8OR'>XJGj2cà{|o(Աrt0dAZlzNmR̦3ߊf4 +ѰɃ\dydcLx#ަLrv &B9!8PA;Vյmڎ9xIU]Y2UVFQ"G|P2 iESs 3SJ79 4d|f:!';۟yǡNy8KyEW'mŜdi*p{1;c#Fq,fi&Ob`兖0g5,QfMnԐjJ2I!i"0"o~o|{ MlB${ ?'`!DڐVM,yG<-eP LӖ2.2l/.\AH\ߧ'~s9ҟxM ($pt#ND ~h*BΘjZY~ uJL0UYF9ZTXEbJ) K{rؓIa˓"yd2bDJ{i71H+~S8cÜMDdFc0dp⤙I0,=|CXØ%R"fT)'b4?f,'~Yc7LI#t~+#Hv@r<{Î?@{x5M\fYOB6Nq G%UK}Pmf7џMr"{} ϵOWlW36ڴQHk$EWӖRu'N2*|3&&dI)9brm#1,,Y̦P*a*$d1 $`cFIa,IJí2XO~TNC!א$?a80qBfA>~AG!|)r'Gg~h䌑rGdy]J=dTH<(<;x$#1yߒ~g,4`~y4M3Qgnv?=?9u0rsu|}#HXVb"L٤i<"rǗ8SL̐9 򜁽nba1-}<_ {di*HrFmpҲOoT ót}M^^StNJR΢)yqUIm5mV,چvJ<63skD| 7dΑui%mQ hĮ]2HD4FU5>l:S|C?z'$Op:37tfO!?,H~ߑJ{]LRwф~si0sl>&mƗm:8N0Aqfh?ln'qaeW+ԯqqjqP"`a0=h{U݋8m,QgHr덭p@!s4p>$Тl&$Zf,hHo0*x%FȓB8Tiqy녩1Kk)M4Db DDURѤ+g0/UNxrw`;2JR}&L'9\7&#!Ma8O_w㰹gP?gV A=d]S͊ԽZD,UhVwg&yur5b)1 & tG23\ݟ;=Vޔl0)G,GvO>)N8q-Ma0K,1> ,Ubϓ"^d=SЉyTa&R^Hv~i9p8tT*M?[V[ۥ Moz.jW7B}/xd& R`RLS QĜb0zLƩ6y1~?ɖSrwedEg37Ƕ=Ql͔Tij)S3a;<& RA聒\T-nlZYfL Dt9hsOzh;8AȒr~0pFȦızpQNB,Ig,^%p_kӴ2/ޡqF#T'㎆Q1?o؜GM G<> ڛx03I7<# j1,V?I0IbOpɁ?a|$ ?\q,ńF8CӤ|Nf9hFϾlYgHZsC4FL#H;3蜑9B}yd%GffdTTNnSOOFD[mUާ:/p[} $)`{myi]ul2{Fg %TPYL%(ȘK%Si&6M2#U,UfhŸc첶@(<19a=T ǔgt7}V]+d`*CA5WF=S|m1L['(c^HzOJ=mC1#lpZKmgY`ƺ $VeN^ٰ-DlO ;;ļ&nBIb D{_l/,"]*mVdW0s&S)c|CG~$nD⤝pIOJL l?( j}4(v",yca:eijlVZj>~ )U5iUijեV|9HxbY&=iNn!&zS:#X'9,Yik?}fc.cTqҲ4 h2a\0fD;dszyBYcFJğ6GGَpCՃcbmxO9'-;CJ<)!=|kX>5#] s9͝+N:tg&8'evڶ#B ˘]jіe5G2Ԭ'#Ң9mݶt5;tlG,2̘Nm; ͹Ч,~XG:2L:0ss32&{F;|ủq+7e|?˓EᘻYR'sN!P}tH`H?rD!!n A<-Uy/۳[y`0%}ZkzCHUZ?pnIJln&%Bo d&dd22LF2IJ)0S!i%L3 Z))t?5o5RZ E`cZ(*Y\rş|lA< 욒NHrGȣ7ߋʥ? d]Ǜ.?9^a=I!h"?Ї I ?XĒ< Ozxa7g#T9C> $O=:v㝑NNtp}AOd&2ZIQ``)GF'mޱbG]|}z7dQ b,!H}I'ߢ?xB}!s9a$}JS[mֿ[ϲ%3Ɉ,hM(Iɝ~q2O>!Hp66+Ǽ(TxJ`xrܽ㗫Wݵ9 sxy(A-o-oҿǑN:"U[~r)9af7 Y8ʼn,pW#@QOOӯfStg˟2Ihc!Ӣ`D,=Yxw5B;fmE7ƽ΅dɓ&OYdɓ'쎩L g>@D9QPj5 :yRIc,K%de+)Y,BYaV[@{!\Y OL5NMsI4 ҖjmL%5K=D؛D' .&C" #܍9smUs dY0LǙ?t5 a*s_?gܦ6HC ($S C$!d5qZJߟJ͙ cZԕGxղ-*Uvbih ??X'٘|Qo1;؞k2Ӕ* ilD8`;K*d0p:]SpEt,)pӂc)K8w6nXQN:%7`V .e !(7w`| qK~[X *:%<l XX .(D)`>0a4ϻ'<0vqѝK7T[,mTՕJYexOvK<=GUUTTGT:dR0rFHr $4dCx`oSV08m-"œ69e%,Zٖm2S#~U{Al&˨dda,Y ]!8K5Ov.WtNgWE 7 vC7<8(LDn$h{|RC>Cƀ $̇7!&sC{.fmP9:/Y|Z.4c?NhmG-䥒%ezBWFq'JJYe,LfQM4Țl4eNzjFek5_T644&)h̶RݛzyXؚ$W4l54zo/*i%R-K%IeYOH~8IJUUR))N̥JdRRd)S L&UUY^h%N`0  04""ds$pR!@JAI!dQJ*IS"di54%*` b L!Ja2&$Bp8PC0P&FEM $fh&FAiI4 TR 5dN835?emͨm#Iv%&-GQ33e%ڜ&;aņEMd("996~՘Fĉ'~CڶڪXbG1ǩEG O7ibrNLN9E>4x<1S=qA?7O'q'LlI;pra[mJ ׁG4V;jlf-ڻvc 冤k+"Cw:#O{ګw4?Dy85~G&9sd~=sɽ*:|qG:y~lH{1;IB9tfG4a duS]3W0/y.\ # H~A,6X#=X lO}bbSHȓaj[n 3YTF'>o`;1fD`xS7F&NYO:74 `fN5 Ԫ)d 2 pzd%/kKdc3AT4<4e7IcT뾀d2) [cḁVVp#MBVdVsdXvtk+]˳D5zL=4HqGq? "|̊mb1$a3f8HQ,\v7Vۗkjj}Ĩu唧r'}c)_L35J?l=X|LZfp%?3&x)Nݛo)ԟFy*Ki&˘C LajեV\&֚RjOOGJ6 f>mcA=yMّ4%MlU,5Bumڟ~>ji?NIXq:ՅO\>x󧋖l%'T!NqfgKeۿ&?FsaG$v0r}z]ؘOh$2JK#|g!"u*E5*֖[leP37ffk2ݻ7nކ c;hV&r,kE>9=0Y,V##X͒<\yJxlSˍE 8Q-fFW󕞹y"lr<;dAWE7)< udVVӯraM'("U)_d9pkE+z8Nyy*U=^yrթxDpvԑ'ߟbe ۝ya?؏:I?'͹̐NPxy#z1?}?9Ō'{G~<8ic̔H:ΞӔ9!5j>?Hܒ6w`?ES!5 Nxs'"9` 0`b|Cy/v'ۦqJ~ZpHr莈B b$w,m]=آcfO:LL{@!{jܱצg;c 2DSL?ܽýn𸸼kv蝊F 7BɽЧ<Ma' 'Zg$Օ1-GQM:mMjݬf͓6.l[Q0i=`?mysi"qihxa͍4t_~}7g 5~'֎HdkYGWA:6$Np9$&RsgN?n0{4Eh@|AqOX\ŘvD$O YDsğ2&L$9X&&'4p9Y SKSh6)śߦ͋'?0$de#ts SM3"3M3S 2mw1Yp<R2kdЪ)Α,TQ6˔36G2Gp5g4=G[hICզ46$)eK<|4!8L}2|?1=z͝ᅵbe;hYSP?r~>d`e6lܟ@dޭ0|?j-Rg5̒_*L?j?hO)iY՚FR*YEC9RsoL&Rv?T`(wAIVa1) a F+PxC4N S{@}yY>.1X. |̵<ӣ)f(6cv|yf6TTҌJRYE&)S~o! h+bxlG.{3f2;wYSu04N/Z70jd0D)x:3djNKQO%I*TwrD4 Rv$0*'xWa'#-ڝqx#nm*M^;s4“d̑NMNIJ4Jr5Vs5 Hc ;z4#dhM'־cYϨtCAM.UoSzOz!ٞ? w¾ r;IٽG/oO> OGD:SL +A.W@? R=xhgORvpt|o4:osX9CQoɶqFA؆]{'! 11?+>< t[h88H#9xoFn8=៖>(|OIi(f?ɽO'fO8wUj_,d ?h|] O6.epA/o2<(j0c_ WFz{Q}^i<#yq!8~a#ݍyÌ8}q?rxd?`~WCl`UdrC\}#ҧGHl<\H :/*yǍ׏Q >~ BwyʕRj< jjҩ\QMx0JRooG@{6NJ2%Cu#Ge=(L4Θ'!vu$K/~s3?QBp}%Kjs#lL٥Y: 'Fri<iM܏#;dN5`̏7z#מ'T%'&3&z܆w0{Tݖ:N2;t6:#8V% 90͚e x#YRկ7CS+V}#H^{oqOoXgXKl<&N+nCho=_,=X<]fۻ7︛V{Ǖ6't<Wlxhxs{׽{1n1ƈxإ=ÙOn4Z{sm<9{yMiI9;Q_H=@}?9;tr;#y'{yW(~#Ox??q$ߪU3U{'Px0ə8sYS#AM;@\ 6W毎kIJ9(W5fiu̧9gy~\&lJ>buN?t~4֝-O=ܽVM:^ OO _ւ0\;[Ŗx1ep={Iy_u֪)䓧N|!G8׾c3Ŧ0dieMw]g].]WZ~.w;!q x7NX||$t4lsӧNNގDG<OoS4'!9$ڏ\O ):QGܝScNrQG5MSDgVI43=?2w F'Y?eCx}_),q9Ch}9VuTvGn'#q=y70I;H˜QΕ̟6?7z=yێ7C;d~yYe|s1e[gM4d'0yBsR<) \~y;7(x i?g2t'2Ǘ<,rf"βzc9Y>C -.ɌcOv榓CՅQ,+տ±an [6MZ^xؽz .q\#C}pT3F-JjUR'aM>z{t.h/xqw/,y"J5=2{O̦ k3i al*K[NN2|'U=(Mi炝ϵ<餝,?ӈw#aF|u'ݝqpvF< w#=矞tG;ql~sɛ>SOVxYgr?v#>G\t's;;S؜','htZ}|Ci3G{)c Ld?(ѿBTf7Gzl,uD@9#y l?\^$0>0Rz vl|NYTOzCrz# «͏>擷tbd{Z|qGs 'I>|I<秔|q7Tq'71ǵCr#eOپݔܳmȫ f;MR{KwcJiM8/riϸFZ[yvm-3iܙ  | mEM5±J80?U))4Iȏ %/  B%YVRT)!UUUnB)/UUedPS+ |:*ꨩ0lLVV$ंb 6%0{Fޒwګal p$'gx)Qa  0La,J_@e@q Q0C!0XKJjLs J]!Uf5-X[- ip&*U06…Ym T 5Qz*eVP/YJ*ڸTaccj²j)WnL +wuO2Nga$&S'}IJVpN)lOL;`Ͻ=N~N#&i"oɋ^Oz%U}S.By{]'^;iؿtCo=<̱cP,h]@/~K]ĠwG@ƜFjX|LDɜ0s=:L]/xHiĎ};&`(>g=z1LF;yCvSϒO7,?| u⑐|DÙ)މ$ot#$1wQGo'pP>l;ا*:wD?pLolmG>:_OON`{Q)=4ʲJ}2OMavRcif<`vuHLQ-"M&,+ 0Ƽ:Y*zq9dВvs]=z{iPtǹ=(M#9ͱ:OO:syag K ɎxYV| Ǘ}X[y֎<ǣ?-p`x퓻z~9C#mEsLLO5>?,g`;n#7 cqOONvl|O=s̺O;39r@oP%g$jp\.Ճ}EXjg %Ct;04~TX\Ď;=.>GʖT'y`~_媗p<<r~|~߮Ўr> U?ٿӈ=]y@#z}$֏?,|MDs9aUѨf7i2ysK,YmOrf2'huu(}f&g{? G>zst>g>Ƕ<~J}ydrBx}Lg9O;j|O>`=O柍=ϐxSSמx,=r9o˛&#)JRxXٞw_ Z+=1?<wʞ?'B˪U['r;i S,~k"77pʞ@⸈|3'vceg)YYqYRഩ}`uf~w [,Q8N Zؘ¹ 9aΌyB$GNxJ7&I7&lgOp <3<1 R5>HA#s~ ;N[d?3o ^-AhbG-Tj}j(1.)ڸSv; n?|n^Zq.1=J>lS8ӸN"4Fߵp}0x O?B0mNO3 SXcDIݷ'~TI .WyOE_9'*z`c+ػ>ἰz3>+4\eeɆ +[&bYLh/9U]P[㇖_ +ޚ~'vא|ds{V.>?"sQF1q6??hݱ#.̈Gb?>ba0?yћ1Dfzp #"!wA&fd&FD0`%)=_OmFw IX;a&G)>KJ'zr#*Iysnܭ4?L[:J Oa(6Jʪ3Thhd&OPwV)ZRNUGUQ;8b}ml$TG@<kou^z` :ގopuRMÒ W]寬|`^w,`SJ?jf"O7e{ձEUUͿizUr8Gs ]XDMt-H|WZԩaw֔eW!n(^:/\^~BݯWMtW^l|F(^HRe&%dvݗuU_?v;s''D<<委K:Y+9XZk]zuJfo`[Ŗ0;I'; '$;G+:T摲{x{16܉`(F T=g߾ Tͥ?(y,)du΀qtscFZڇsD1*yθwb{K׿\X^RK-/,RA:A3W||BދUB򅮝7 qZw-{KE_!i{DO36) ӝiVzS'<^ZB^bA |.k jC92ImpEx K/PBѯFE.wY ]h-Ur .-D 9`pwNl𧘼߷q:Z<>0P>wׯ}՞)plr'Su%Ŝżl EYeYUiL: Rt K,̛㖑g&hPŲ5\O`9)ڟ7#ɏSZk[oW`- "nd+]r-xx>*>T 6' .9Jř0Jm IM*xcGGG_]+9B<ŲPQT+辋ȼj-@xz`.:fEœS4m;9%|'N;Drr'f5,9svĎbM¢|'HWtܡoNf9GI24.!*t`'N6G0U\v'oGydqs;?IQ6u7K͞ SN 45(8dieNv3g yq۵WY=QΎ|[8qR:U͜ s! NG0q37F}zG: zí'9Ch]Vʴ\,a,F v7of3#bo)tLwm1$1[FO+J!EVQmvB)NV K% 6F4D`sC"<ܪ*"̖"9WJPDV%' 8 mLx*Y,3y7M=nn˴Fs,MQ:;pg|r4nbZf7Pa={,l= \:^Rǎxx|cH-c*2sc'uIVXX\ J 1VU,|⓭8za3=w2GyvD'FٚN981]*eYxɼÐBGFx8(BNPcso4 ԕ=) &g4;!xuM:hoI8{0艬hHx>*\ap'̍Y h'0{q֓hǦ0ɓ&2p_<&A9Boȓ@?mU]Gc M̞ ޞu;%xo #h93!֏p=k}2FVUHԺ5G``qvE ގd<|LK5 SIJyaM`ݹ8rcz4u#1fRClݎf6f`62 E[8a%6X?[3<Xa:M-٦c*sf-)U3f :&Hn[ʺcGV7ɦ|yޞƶ[5ȉ$h4s7If`i&s)LL܍nrpLiJrNnɴ6e7܅YX1YVVE#&JS-fG ̤05Buc!7cMgAcJVrQ2݆(7Jd#n3nƲ ĦuMk3 vRG\sJZZь%psp71УMxӒ*y< 07',6H`O`uf*hhad~':HSlt'HqNmָ&Xtܕםy6:`dy7%>5“YN*D`su쓯^dž)G&:"oIxƂx‡8NJNLw3YKm}9t=IJ#BqIM 9ᣴx%R砎l$IC"#%8Ddj ڑ"4K0i8vZx<Ut\7טWqu3GBw*ӽw:SzgS$7;S9 <Z;G8r=0TiC~Q9? iw~K8Q_th }TbmAl C3 f L Z2-b=[Wz{Guv%V!U\>0햲,AT&A(tD eC)ĖE{m*~7n~*3S *@Ϻ @/ bfU=UMW|py(hz|{mm:$98##:di'x'7'Xw#TG=ɞޟ|dڍɞpG{= O:3ߎއ`GxW9{ǧ8w8LzNA˧MNzi:3Ц;;>k"yaSx(|棕:Rk5Ca88INNGlDt"z$B= އ9Ʉ<#ui$vJ:ADljIـ5v3CPO 1198 gu{1X7 LF!44^mHZ+q;Lsg( lv$w9!\DD~8@@>I JUX2ɆLW<񃖞5UfȫџrӸj,z&*Qo4ŘJ,:#?t`;`uC_?~~L1c !Δ}|~螚XwC7늀P66m]P:- 0 7W!CO1 ̎Ѻ49_$\Bn<qFƼſ""@JQi;7K1|U~3tLj\ia2{WdUf"gVș,l\UMX.&v[4p:Rxi[g|:GDǪ=xI4M5ˌS*:J'(ln`)Bsp :gM \}@ g_/&3x_pp|\la2[|Ď,QNWNubnXm6[v#w/y&=d:ҝ*sIa'ɋO]xEF2[JsI^G^X[;=ݘ7G< N@ߎs'WF9>]<_Yq>R [9e14CD > !(";yt4ەBhdNp"ʘl}@Z <+!@71 q' m~ߦU]Y۵6ˣ;5N*7p΀7+z]:T3A:sHrE ӓr}ЧnE}檬XiO?F?A~6DL0f03}D yANtĩjU}.1||tg“x^.LwI:CS'ލsc#~oowKsim26&Im2LV[UUnsgEQ.)*)Ɵ "/*ʲUU&|7n<4͛ӰaL8dm6_P$$,#f3)d3B5EDE%,h(D`$d51*[aUUV+;zp٘< \HiN;l:S#"d|p:KQGl2*ZmXB{c8fbb nR`ȑF4Fw2A~}OhO$v7mZhSDrΝ:)&"F4hۘUhT{47l2Sr|D?y+ڛi+Ez67#)ҧJtm՝(AFQӎjtӧYg93Ό꣣D`)ZČN;4';Aۢ93)U%:Qqee9T1(j~T,=YOI ')Oz`Ryyꧫv`8.''%%%(`2RRQ2&dLɑ))(y:*#CyT;:ì w1;=}'ZiݎX;dΰu4oo0?rD&#t?m?ß7bb$xh?˿Ǖ1.LM3JYa,T9gK$E<0֍'rUR)62H;#)BLL()JMGM"IIIDfTRJ`E0``RJQ)34R ?dPi&G`d2)X"J#BRRU& E!DFFE(``S#Fd&2)B$ə0{'ND~vK5sŠiz0ҕK,6_p,O2RQJQJQE)JQE JRRE%RR)E7U1H;Vr'7CG|ol/lKHzD;#ĊH2,Hh|?.X5%J$FH&Љ#2lٙH@ JdF̕5*w}_qhlЧzNxFuc#q'As,b!3}L\݊O8e=n=I%)Dz{:pFS'MFɥ؍$ix7sL;Q9~19Q֒t${։ ̎8lU@})e10g 4%66:]vd%JGN/. 4Q()S#G $Jij3dMRSPCeRhlY: M$+˺RY/>0CA4%>9XR#~LQHI7܇$&ta~I+r<(S6Y'M7II^I IB)QUlbYNMZ?0 Tlc}8O;hx7HpuSF+ ܙL?AO6FGjf*}@<%)TnQ)8hۑ!7o9N>Q,T E'L#%Hr{' oCqJzC-}ق9UiibZ#e90pBt%SIIܜ*rII*qa`z ڼ]6Y&FYw#g^}J?rma' ʩ* ЩYђ #$CRR)fQJRQE#0)g)K3)EE(`CDFA (2IHȦLL0R)L$i)e)RynLTC=@Y 8,Ae,)dQe4`M^2v4eqh2PP3% YL)dv8$qGqC34k7cd&ѭB$hJ$60U~JLF. a7ʪެZ wdTb4OTzt?p՟OF?=To]w׆8vm[ѓ Hwr'3&Ob>wD334R49u?s'FnJ0k"G펋Dҝ1DG&J bI(zzEmFZt3*Ԭ(ؗ2O`>(NHqOyL:qSS',J|qObDpRNqL$6SZޕt$ؗӇ SNQ $=$G 3])QSDM&aYVZ4LL3K)SJK$@bJ6,I Umlس rv2=js'u՟d *8x÷0`q>jYelXK)-*X UF{ڵЦ䡻GZN[jۤ^7bė_mmd}3)N65ZyCdʞ]`]5(q('TnlMTt瓘9"?3Jj+!`80 Nd~l7|zqrhN]CBD G-;T?pr}v"~)OF~Ú s?8ZI&dR܍c\eYeK)m2W,I>pf;qO>jr@dfrQE|~ON pu? sHMI j/thΜuVN:HUCZDL;MeTT]R+jʯBwJayHR7))Y2@[r7##X[ow0$_ԁeHkV(c ՞8pKڿͳPD%h 0va[VUf=0 釄Mruɏ.=A?GbQG9!H边+<+A,q?!5mSv0!37E)IBC'Yk;h5<'bx6!eЩ#4 灈#'St˫_|>:C{ލ/:̵77_AG+tMTn~XI܈̧vN;̕?y=j<,P`D1IG) 7CL,Ɓo}pQRM2V`ik;]Սͯ7V0V?+clwZA(}6jj16O7|p {QFs쟰f͓KBz&IFYF!fέr*rdd9i9suy]2f\ѠғxhmE21$}2x@Dw`{3ן0LG6xC!X_N>'kfO IYrOk]TOlǥ9a44ٽeWB&'L N{RdHUI0xѿېER+m,JJWS!S67F"d>錎4Y6d% ŻL{IR,nvs*,ֱ1sVMF}rt c_%d7145&"Us4%(JrI=ϖc )fja|\`E&RLMSYeԚ_;Wm-qpbiLx `Jd< .ۦۥnkԩK)`"JD&,b0a D0!Fb$Z̹]5V.lb ;8`pS ҡBa0XU `x,Id%ND#)fvi,)fpLBCU*a`` %Ricqjե[5H XI K(FYȒKY#-#h.VĘ[l5%n7ie" )FX@d$0AA,,I@@D!)ќ"LLJ)p İ0:bRIKqVnqV=%<%D< $HY'F&B@D%!:j\ij* 4V"|rnz;AG&'v"}(33M{؝7fO';W!zPGseR ləY! TRh1ePRFz-U)&&1BJ_%jj뛅\F.,pZ[ՖYj8ssb՗ig"Fpei#,ьe#H249er!1,Igei$c!9,X9eI'YYfYYݺ322̲2nv۳7Ye M}XNHoq-dҜc~4?ǶΈuοYЏԝ$nʧ6:#"eXX+׷P eݑS w3Ꮬ?d kF2wҤn *VfdD<%%$f]䯶*ݓa5`8 u H''Kzm_oE(~=-U[lX׼$$NגG^F}?.=)Џhi>TMrI!3MhJf6S>I&r-YGJ^bϳ<}AC}x9;Ccn9͜#`lDH J'^aXԴL+ijjק*Ⱥr2g,`F6{}G *U#$FV-<1F"[*+У.`1I$ȞjL)&dĉd:ʛ&x3qpL)QdJIfDJKj%,IItbJIF>Q\ I?w ϳ[VyJ x9ԐjЏS$#ÖHc,L䌤I%saz G 0X~%fJ3)3%AQXR B$BOXG,m3Zx1˟z})ٟͧaz؎!H$x̓zvGr<?R~Dwb1}_y^`6ͳM?N׃ZN >={~˜!lKZL0u슙2K%vܤɦYF뫻7dcպ k87Q[-Uj]fI&i1RQRJIL˅oIB}`_=k@͙6pq4X!掰~;Cq}ǔSO:䓊00e3`>L3 ƒNӅ1 g&cf Aim((15<1 +z?*8p0:rYlջVթF-ZY' /VOg۳"M\ZcamlcFhCB11XEL#S2U6E))>ș #1<#ϼ2{9>}o سzT{>v(pF#78eJYCa2Bb$LWE6hhXڸKC;>so}K!qDDb B p41??=?IfЕU0&`,A?W=y-Лcmn9͌R;ҝĉӗ[h6ׂpTӯ8"-C8bD'N1$ITJ0DNsK4ӍtmD^ÃiEZ/) np$F7c.hPZVSs6/1eL:p8Ne%'99h9q.{{ymR/L.͵^dfjw8N1*(br ^rsɑQ5sa{sR0jvJsbxR*(!/%F Np8r<)-&qZaJPN"Vemu2,ݻwrfMcda'9G VXSw{99s#ZRkM#q>lܘ Im((X2v)%LƲRR֠ՁP`ͳH2VR`JR3%$Qfd f# V+JIfLHA *M#mIP&TbakywuF Ks5[<$SIЧ04pQвtx~O>p97CO?C| K0 "s%(TDx*C1R%2%Pܒ`{SJ~fDyK;;I$.uO^;c某}GDw!o'~I;phB`-b43"E-*XXH:sî&=xN!OM[m1mQk6&gLt"#GPxmŔGm3'| QГi94ia10f7lRK7I=? 2}dOvA}h>j4sY ]&' 4แurdi8+UӰ°ì:frG!jնBlNكUU2b*-BʉK@9LܚSq<TߟTd6_>s$AODGm$ I8 &)xXĮC\t^ގޝ2tPN)Mxge)5HqG˦:8pჷ-2cJcgzc)ޘgWՉif,RLz7)J TQvAGp⎖GJwYhHdb{cʖDz1<< iFMfIv2<7I7##"Rk3tI)EEˈq!V|1FNDbab8(7;ٌ1ڝibjVy!2um*M~e61.eJ[E [)mD-mZmiVZRV iss;u;-, *e`qW'ɻz cC-`(Or<2%)v 1Q-+Q pɭ ,gx&YuM\T#ܓz>6F{8DB=9g陽?]=KW<0Z*NaL^\{ϖ%V*ƕ)T a T^aaUg.HfYA3;ju7¥V:?m62 r ɐbm;gW،i%ɰLL1j ;U"nez>s_:|~8Fên1mISK.I1dĖBuwudC,lPO|f@ Nš-gOI8xO1-lUQ$T4F C=3''?*KeU-G. &庌RwtQhԹ&jFڈDjTc-(*"VJJ1,ZyigONg6gu!r:A?,-i?+~2yws)'<,x $տTI~p {> CŎ/VShzqK T@hH7{t7i]}2YۥK#|꾵_FL,J|'k0*Vx$s^n &l~3j-hVPzCG~ª4" ;Mig +ڪ0K!aaЛ0 $'fjGO|kN{݈nWVhCkNqҦS[+jou}Zp/s9Vm-|?nKދ/p,6lܯ5k<=mR:fh7O`90*/t7/_ ܏Ɓ5,~$pOy O)KEpD'*(pKTf(cM)FqG*,iÜ4`bvb]drmx~m-FI`B'.f>=lH<*Ī;§پY6==z[*36"ɣRԆB[czoS cEE L*U1"REy1(E[.Cx7ct؍3V$ډ6F>D!H x;qE> ԝvo6-9?TIFjja:U  7 ٞ~l4?9~D/yP=UǑ(OQ(j+(qYQe f &OXr:b OT Rl pRRɔL[0^Jޘa>쟷?E,c=3lYgM'K;jrFQ1*g(x sQ%-F#(6YQ΃O4ؚ+su`<qPyɂa ݼ?㷛s(~OO *%YX36F6"mfI3fl<))w&$8ӳƸR)+ ʺc%5iE1dhJ}ڞig=)fb+Ahh4 *f!b8l 9iÂ4%s&Hk9#cb5\c Fo?V .yOn DIh̓tŞLmf=x$TMmzAEN\iYF&!%& YA=g+0m4X5Sb٤PYdShO8!RvQlC x$alo b*zg4K*T֜#&IO4<&r[lpǥ ' [[JrIE4L&̦D3%"mLMGM'ގe<4I!S}@呾');&Eqx#R.p}fzq_ϥDU<֨" :Q*gJ kѫ^2eiIQDO=JbGٛY2E6U-gm,,;2BBMgI|]LUӗMVmSUSFژ[mŖt2a]z{?SX&͉0$,ޓMHTPk.v092v$Cy:lo$46#jH-e)7[o9{p;XdhsL0Uabᒙ7 gljlG)\/}hՔO >v_}`i-7KDPS L鑬M5ʺ,JlI&L87Ξt)Va/'-(Սdx!XOeط5n [n.qI6LIH"6(