aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/message_parser.php
blob: 7c12321d5140052c888e90a559f52240fec19931 (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
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
<?php
/**
*
* @package phpBB3
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

if (!class_exists('bbcode'))
{
	include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
}

/**
* BBCODE FIRSTPASS
* BBCODE first pass class (functions for parsing messages for db storage)
* @package phpBB3
*/
class bbcode_firstpass extends bbcode
{
	var $message = '';
	var $warn_msg = array();
	var $parsed_items = array();

	/**
	* Parse BBCode
	*/
	function parse_bbcode()
	{
		if (!$this->bbcodes)
		{
			$this->bbcode_init();
		}

		global $user;

		$this->bbcode_bitfield = '';
		$bitfield = new bitfield();

		foreach ($this->bbcodes as $bbcode_name => $bbcode_data)
		{
			if (isset($bbcode_data['disabled']) && $bbcode_data['disabled'])
			{
				foreach ($bbcode_data['regexp'] as $regexp => $replacement)
				{
					if (preg_match($regexp, $this->message))
					{
						$this->warn_msg[] = sprintf($user->lang['UNAUTHORISED_BBCODE'] , '[' . $bbcode_name . ']');
						continue;
					}
				}
			}
			else
			{
				foreach ($bbcode_data['regexp'] as $regexp => $replacement)
				{
					// The pattern gets compiled and cached by the PCRE extension,
					// it should not demand recompilation
					if (preg_match($regexp, $this->message))
					{
						$this->message = preg_replace($regexp, $replacement, $this->message);
						$bitfield->set($bbcode_data['bbcode_id']);
					}
				}
			}
		}

		$this->bbcode_bitfield = $bitfield->get_base64();
	}

	/**
	* Prepare some bbcodes for better parsing
	*/
	function prepare_bbcodes()
	{
		// Ok, seems like users instead want the no-parsing of urls, smilies, etc. after and before and within quote tags being tagged as "not a bug".
		// Fine by me ;) Will ease our live... but do not come back and cry at us, we won't hear you.

		/* Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
		if (strpos($this->message, '[quote') !== false && strpos($this->message, '[/quote]') !== false)
		{
			$this->message = str_replace("\r\n", "\n", $this->message);

			// We strip newlines and spaces after and before quotes in quotes (trimming) and then add exactly one newline
			$this->message = preg_replace('#\[quote(=&quot;.*?&quot;)?\]\s*(.*?)\s*\[/quote\]#siu', '[quote\1]' . "\n" . '\2' ."\n[/quote]", $this->message);
		}
		*/

		// Add other checks which needs to be placed before actually parsing anything (be it bbcodes, smilies, urls...)
	}

	/**
	* Init bbcode data for later parsing
	*/
	function bbcode_init()
	{
		static $rowset;

		// This array holds all bbcode data. BBCodes will be processed in this
		// order, so it is important to keep [code] in first position and
		// [quote] in second position.
		$this->bbcodes = array(
			'code'			=> array('bbcode_id' => 8,	'regexp' => array('#\[code(?:=([a-z]+))?\](.+\[/code\])#ise' => "\$this->bbcode_code('\$1', '\$2')")),
			'quote'			=> array('bbcode_id' => 0,	'regexp' => array('#\[quote(?:=&quot;(.*?)&quot;)?\](.+)\[/quote\]#ise' => "\$this->bbcode_quote('\$0')")),
			'attachment'	=> array('bbcode_id' => 12,	'regexp' => array('#\[attachment=([0-9]+)\](.*?)\[/attachment\]#ise' => "\$this->bbcode_attachment('\$1', '\$2')")),
			'b'				=> array('bbcode_id' => 1,	'regexp' => array('#\[b\](.*?)\[/b\]#ise' => "\$this->bbcode_strong('\$1')")),
			'i'				=> array('bbcode_id' => 2,	'regexp' => array('#\[i\](.*?)\[/i\]#ise' => "\$this->bbcode_italic('\$1')")),
			'url'			=> array('bbcode_id' => 3,	'regexp' => array('#\[url(=(.*))?\](.*)\[/url\]#iUe' => "\$this->validate_url('\$2', '\$3')")),
			'img'			=> array('bbcode_id' => 4,	'regexp' => array('#\[img\](.*)\[/img\]#iUe' => "\$this->bbcode_img('\$1')")),
			'size'			=> array('bbcode_id' => 5,	'regexp' => array('#\[size=([\-\+]?\d+)\](.*?)\[/size\]#ise' => "\$this->bbcode_size('\$1', '\$2')")),
			'color'			=> array('bbcode_id' => 6,	'regexp' => array('!\[color=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+)\](.*?)\[/color\]!ise' => "\$this->bbcode_color('\$1', '\$2')")),
			'u'				=> array('bbcode_id' => 7,	'regexp' => array('#\[u\](.*?)\[/u\]#ise' => "\$this->bbcode_underline('\$1')")),
			'list'			=> array('bbcode_id' => 9,	'regexp' => array('#\[list(?:=(?:[a-z0-9]|disc|circle|square))?].*\[/list]#ise' => "\$this->bbcode_parse_list('\$0')")),
			'email'			=> array('bbcode_id' => 10,	'regexp' => array('#\[email=?(.*?)?\](.*?)\[/email\]#ise' => "\$this->validate_email('\$1', '\$2')")),
			'flash'			=> array('bbcode_id' => 11,	'regexp' => array('#\[flash=([0-9]+),([0-9]+)\](.*?)\[/flash\]#ie' => "\$this->bbcode_flash('\$1', '\$2', '\$3')"))
		);

		// Zero the parsed items array
		$this->parsed_items = array();

		foreach ($this->bbcodes as $tag => $bbcode_data)
		{
			$this->parsed_items[$tag] = 0;
		}

		if (!is_array($rowset))
		{
			global $db;
			$rowset = array();

			$sql = 'SELECT *
				FROM ' . BBCODES_TABLE;
			$result = $db->sql_query($sql);

			while ($row = $db->sql_fetchrow($result))
			{
				$rowset[] = $row;
			}
			$db->sql_freeresult($result);
		}

		foreach ($rowset as $row)
		{
			$this->bbcodes[$row['bbcode_tag']] = array(
				'bbcode_id'	=> (int) $row['bbcode_id'],
				'regexp'	=> array($row['first_pass_match'] => str_replace('$uid', $this->bbcode_uid, $row['first_pass_replace']))
			);
		}
	}

	/**
	* Making some pre-checks for bbcodes as well as increasing the number of parsed items
	*/
	function check_bbcode($bbcode, &$in)
	{
		// when using the /e modifier, preg_replace slashes double-quotes but does not
		// seem to slash anything else
		$in = str_replace("\r\n", "\n", str_replace('\"', '"', $in));

		// Trimming here to make sure no empty bbcodes are parsed accidently
		if (trim($in) == '')
		{
			return false;
		}

		$this->parsed_items[$bbcode]++;

		return true;
	}

	/**
	* Transform some characters in valid bbcodes
	*/
	function bbcode_specialchars($text)
	{
		$str_from = array('<', '>', '[', ']', '.', ':');
		$str_to = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;');

		return str_replace($str_from, $str_to, $text);
	}

	/**
	* Parse size tag
	*/
	function bbcode_size($stx, $in)
	{
		global $user, $config;

		if (!$this->check_bbcode('size', $in))
		{
			return $in;
		}

		if ($config['max_' . $this->mode . '_font_size'] && $config['max_' . $this->mode . '_font_size'] < $stx)
		{
			$this->warn_msg[] = sprintf($user->lang['MAX_FONT_SIZE_EXCEEDED'], $config['max_' . $this->mode . '_font_size']);

			return '[size=' . $stx . ']' . $in . '[/size]';
		}

		// Do not allow size=0
		if ($stx <= 0)
		{
			return '[size=' . $stx . ']' . $in . '[/size]';
		}

		return '[size=' . $stx . ':' . $this->bbcode_uid . ']' . $in . '[/size:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse color tag
	*/
	function bbcode_color($stx, $in)
	{
		if (!$this->check_bbcode('color', $in))
		{
			return $in;
		}

		return '[color=' . $stx . ':' . $this->bbcode_uid . ']' . $in . '[/color:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse u tag
	*/
	function bbcode_underline($in)
	{
		if (!$this->check_bbcode('u', $in))
		{
			return $in;
		}

		return '[u:' . $this->bbcode_uid . ']' . $in . '[/u:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse b tag
	*/
	function bbcode_strong($in)
	{
		if (!$this->check_bbcode('b', $in))
		{
			return $in;
		}

		return '[b:' . $this->bbcode_uid . ']' . $in . '[/b:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse i tag
	*/
	function bbcode_italic($in)
	{
		if (!$this->check_bbcode('i', $in))
		{
			return $in;
		}

		return '[i:' . $this->bbcode_uid . ']' . $in . '[/i:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse img tag
	*/
	function bbcode_img($in)
	{
		global $user, $config;

		if (!$this->check_bbcode('img', $in))
		{
			return $in;
		}

		$in = trim($in);
		$error = false;

		$in = str_replace(' ', '%20', $in);

		// Checking urls
		if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) && !preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
		{
			return '[img]' . $in . '[/img]';
		}

		// Try to cope with a common user error... not specifying a protocol but only a subdomain
		if (!preg_match('#^[a-z0-9]+://#i', $in))
		{
			$in = 'http://' . $in;
		}

		if ($config['max_' . $this->mode . '_img_height'] || $config['max_' . $this->mode . '_img_width'])
		{
			$stats = @getimagesize(htmlspecialchars_decode($in));

			if ($stats === false)
			{
				$error = true;
				$this->warn_msg[] = $user->lang['UNABLE_GET_IMAGE_SIZE'];
			}
			else
			{
				if ($config['max_' . $this->mode . '_img_height'] && $config['max_' . $this->mode . '_img_height'] < $stats[1])
				{
					$error = true;
					$this->warn_msg[] = sprintf($user->lang['MAX_IMG_HEIGHT_EXCEEDED'], $config['max_' . $this->mode . '_img_height']);
				}

				if ($config['max_' . $this->mode . '_img_width'] && $config['max_' . $this->mode . '_img_width'] < $stats[0])
				{
					$error = true;
					$this->warn_msg[] = sprintf($user->lang['MAX_IMG_WIDTH_EXCEEDED'], $config['max_' . $this->mode . '_img_width']);
				}
			}
		}

		if ($error || $this->path_in_domain($in))
		{
			return '[img]' . $in . '[/img]';
		}

		return '[img:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($in) . '[/img:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse flash tag
	*/
	function bbcode_flash($width, $height, $in)
	{
		global $user, $config;

		if (!$this->check_bbcode('flash', $in))
		{
			return $in;
		}

		$in = trim($in);
		$error = false;

		// Do not allow 0-sizes generally being entered
		if ($width <= 0 || $height <= 0)
		{
			return '[flash=' . $width . ',' . $height . ']' . $in . '[/flash]';
		}

		$in = str_replace(' ', '%20', $in);

		// Make sure $in is a URL.
		if (!preg_match('#^' . get_preg_expression('url') . '$#i', $in) &&
			!preg_match('#^' . get_preg_expression('www_url') . '$#i', $in))
		{
			return '[flash=' . $width . ',' . $height . ']' . $in . '[/flash]';
		}

		// Apply the same size checks on flash files as on images
		if ($config['max_' . $this->mode . '_img_height'] || $config['max_' . $this->mode . '_img_width'])
		{
			if ($config['max_' . $this->mode . '_img_height'] && $config['max_' . $this->mode . '_img_height'] < $height)
			{
				$error = true;
				$this->warn_msg[] = sprintf($user->lang['MAX_FLASH_HEIGHT_EXCEEDED'], $config['max_' . $this->mode . '_img_height']);
			}

			if ($config['max_' . $this->mode . '_img_width'] && $config['max_' . $this->mode . '_img_width'] < $width)
			{
				$error = true;
				$this->warn_msg[] = sprintf($user->lang['MAX_FLASH_WIDTH_EXCEEDED'], $config['max_' . $this->mode . '_img_width']);
			}
		}

		if ($error || $this->path_in_domain($in))
		{
			return '[flash=' . $width . ',' . $height . ']' . $in . '[/flash]';
		}

		return '[flash=' . $width . ',' . $height . ':' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($in) . '[/flash:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse inline attachments [ia]
	*/
	function bbcode_attachment($stx, $in)
	{
		if (!$this->check_bbcode('attachment', $in))
		{
			return $in;
		}

		return '[attachment=' . $stx . ':' . $this->bbcode_uid . ']<!-- ia' . $stx . ' -->' . trim($in) . '<!-- ia' . $stx . ' -->[/attachment:' . $this->bbcode_uid . ']';
	}

	/**
	* Parse code text from code tag
	* @access private
	*/
	function bbcode_parse_code($stx, &$code)
	{
		switch (strtolower($stx))
		{
			case 'php':

				$remove_tags = false;

				$str_from = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;', '&#058;');
				$str_to = array('<', '>', '[', ']', '.', ':', ':');
				$code = str_replace($str_from, $str_to, $code);

				if (!preg_match('/\<\?.*?\?\>/is', $code))
				{
					$remove_tags = true;
					$code = "<?php $code ?>";
				}

				$conf = array('highlight.bg', 'highlight.comment', 'highlight.default', 'highlight.html', 'highlight.keyword', 'highlight.string');
				foreach ($conf as $ini_var)
				{
					@ini_set($ini_var, str_replace('highlight.', 'syntax', $ini_var));
				}

				// Because highlight_string is specialcharing the text (but we already did this before), we have to reverse this in order to get correct results
				$code = htmlspecialchars_decode($code);
				$code = highlight_string($code, true);

				$str_from = array('<span style="color: ', '<font color="syntax', '</font>', '<code>', '</code>','[', ']', '.', ':');
				$str_to = array('<span class="', '<span class="syntax', '</span>', '', '', '&#91;', '&#93;', '&#46;', '&#58;');

				if ($remove_tags)
				{
					$str_from[] = '<span class="syntaxdefault">&lt;?php </span>';
					$str_to[] = '';
					$str_from[] = '<span class="syntaxdefault">&lt;?php&nbsp;';
					$str_to[] = '<span class="syntaxdefault">';
				}

				$code = str_replace($str_from, $str_to, $code);
				$code = preg_replace('#^(<span class="[a-z_]+">)\n?(.*?)\n?(</span>)$#is', '$1$2$3', $code);

				if ($remove_tags)
				{
					$code = preg_replace('#(<span class="[a-z]+">)?\?&gt;(</span>)#', '$1&nbsp;$2', $code);
				}

				$code = preg_replace('#^<span class="[a-z]+"><span class="([a-z]+)">(.*)</span></span>#s', '<span class="$1">$2</span>', $code);
				$code = preg_replace('#(?:\s++|&nbsp;)*+</span>$#u', '</span>', $code);

				// remove newline at the end
				if (!empty($code) && substr($code, -1) == "\n")
				{
					$code = substr($code, 0, -1);
				}

				return "[code=$stx:" . $this->bbcode_uid . ']' . $code . '[/code:' . $this->bbcode_uid . ']';
			break;

			default:
				return '[code:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($code) . '[/code:' . $this->bbcode_uid . ']';
			break;
		}
	}

	/**
	* Parse code tag
	* Expects the argument to start right after the opening [code] tag and to end with [/code]
	*/
	function bbcode_code($stx, $in)
	{
		if (!$this->check_bbcode('code', $in))
		{
			return $in;
		}

		// We remove the hardcoded elements from the code block here because it is not used in code blocks
		// Having it here saves us one preg_replace per message containing [code] blocks
		// Additionally, magic url parsing should go after parsing bbcodes, but for safety those are stripped out too...
		$htm_match = get_preg_expression('bbcode_htm');
		unset($htm_match[4], $htm_match[5]);
		$htm_replace = array('\1', '\1', '\2', '\1');

		$out = $code_block = '';
		$open = 1;

		while ($in)
		{
			// Determine position and tag length of next code block
			preg_match('#(.*?)(\[code(?:=([a-z]+))?\])(.+)#is', $in, $buffer);
			$pos = (isset($buffer[1])) ? strlen($buffer[1]) : false;
			$tag_length = (isset($buffer[2])) ? strlen($buffer[2]) : false;

			// Determine position of ending code tag
			$pos2 = stripos($in, '[/code]');

			// Which is the next block, ending code or code block
			if ($pos !== false && $pos < $pos2)
			{
				// Open new block
				if (!$open)
				{
					$out .= substr($in, 0, $pos);
					$in = substr($in, $pos);
					$stx = (isset($buffer[3])) ? $buffer[3] : '';
					$code_block = '';
				}
				else
				{
					// Already opened block, just append to the current block
					$code_block .= substr($in, 0, $pos) . ((isset($buffer[2])) ? $buffer[2] : '');
					$in = substr($in, $pos);
				}

				$in = substr($in, $tag_length);
				$open++;
			}
			else
			{
				// Close the block
				if ($open == 1)
				{
					$code_block .= substr($in, 0, $pos2);
					$code_block = preg_replace($htm_match, $htm_replace, $code_block);

					// Parse this code block
					$out .= $this->bbcode_parse_code($stx, $code_block);
					$code_block = '';
					$open--;
				}
				else if ($open)
				{
					// Close one open tag... add to the current code block
					$code_block .= substr($in, 0, $pos2 + 7);
					$open--;
				}
				else
				{
					// end code without opening code... will be always outside code block
					$out .= substr($in, 0, $pos2 + 7);
				}

				$in = substr($in, $pos2 + 7);
			}
		}

		// if now $code_block has contents we need to parse the remaining code while removing the last closing tag to match up.
		if ($code_block)
		{
			$code_block = substr($code_block, 0, -7);
			$code_block = preg_replace($htm_match, $htm_replace, $code_block);

			$out .= $this->bbcode_parse_code($stx, $code_block);
		}

		return $out;
	}

	/**
	* Parse list bbcode
	* Expects the argument to start with a tag
	*/
	function bbcode_parse_list($in)
	{
		if (!$this->check_bbcode('list', $in))
		{
			return $in;
		}

		// $tok holds characters to stop at. Since the string starts with a '[' we'll get everything up to the first ']' which should be the opening [list] tag
		$tok = ']';
		$out = '[';

		// First character is [
		$in = substr($in, 1);
		$list_end_tags = $item_end_tags = array();

		do
		{
			$pos = strlen($in);

			for ($i = 0, $tok_len = strlen($tok); $i < $tok_len; ++$i)
			{
				$tmp_pos = strpos($in, $tok[$i]);

				if ($tmp_pos !== false && $tmp_pos < $pos)
				{
					$pos = $tmp_pos;
				}
			}

			$buffer = substr($in, 0, $pos);
			$tok = $in[$pos];

			$in = substr($in, $pos + 1);

			if ($tok == ']')
			{
				// if $tok is ']' the buffer holds a tag
				if (strtolower($buffer) == '/list' && sizeof($list_end_tags))
				{
					// valid [/list] tag, check nesting so that we don't hit false positives
					if (sizeof($item_end_tags) && sizeof($item_end_tags) >= sizeof($list_end_tags))
					{
						// current li tag has not been closed
						$out = preg_replace('/\n?\[$/', '[', $out) . array_pop($item_end_tags) . '][';
					}

					$out .= array_pop($list_end_tags) . ']';
					$tok = '[';
				}
				else if (preg_match('#^list(=[0-9a-z]+)?$#i', $buffer, $m))
				{
					// sub-list, add a closing tag
					if (empty($m[1]) || preg_match('/^=(?:disc|square|circle)$/i', $m[1]))
					{
						array_push($list_end_tags, '/list:u:' . $this->bbcode_uid);
					}
					else
					{
						array_push($list_end_tags, '/list:o:' . $this->bbcode_uid);
					}
					$out .= 'list' . substr($buffer, 4) . ':' . $this->bbcode_uid . ']';
					$tok = '[';
				}
				else
				{
					if (($buffer == '*' || substr($buffer, -2) == '[*') && sizeof($list_end_tags))
					{
						// the buffer holds a bullet tag and we have a [list] tag open
						if (sizeof($item_end_tags) >= sizeof($list_end_tags))
						{
							if (substr($buffer, -2) == '[*')
							{
								$out .= substr($buffer, 0, -2) . '[';
							}
							// current li tag has not been closed
							if (preg_match('/\n\[$/', $out, $m))
							{
								$out = preg_replace('/\n\[$/', '[', $out);
								$buffer = array_pop($item_end_tags) . "]\n[*:" . $this->bbcode_uid;
							}
							else
							{
								$buffer = array_pop($item_end_tags) . '][*:' . $this->bbcode_uid;
							}
						}
						else
						{
							$buffer = '*:' . $this->bbcode_uid;
						}

						$item_end_tags[] = '/*:m:' . $this->bbcode_uid;
					}
					else if ($buffer == '/*')
					{
						array_pop($item_end_tags);
						$buffer = '/*:' . $this->bbcode_uid;
					}

					$out .= $buffer . $tok;
					$tok = '[]';
				}
			}
			else
			{
				// Not within a tag, just add buffer to the return string
				$out .= $buffer . $tok;
				$tok = ($tok == '[') ? ']' : '[]';
			}
		}
		while ($in);

		// do we have some tags open? close them now
		if (sizeof($item_end_tags))
		{
			$out .= '[' . implode('][', $item_end_tags) . ']';
		}
		if (sizeof($list_end_tags))
		{
			$out .= '[' . implode('][', $list_end_tags) . ']';
		}

		return $out;
	}

	/**
	* Parse quote bbcode
	* Expects the argument to start with a tag
	*/
	function bbcode_quote($in)
	{
		global $config, $user;

		/**
		* If you change this code, make sure the cases described within the following reports are still working:
		* #3572 - [quote="[test]test"]test [ test[/quote] - (correct: parsed)
		* #14667 - [quote]test[/quote] test ] and [ test [quote]test[/quote] (correct: parsed)
		* #14770 - [quote="["]test[/quote] (correct: parsed)
		* [quote="[i]test[/i]"]test[/quote] (correct: parsed)
		* [quote="[quote]test[/quote]"]test[/quote] (correct: parsed - Username displayed as [quote]test[/quote])
		* #20735 - [quote]test[/[/b]quote] test [/quote][/quote] test - (correct: quoted: "test[/[/b]quote] test" / non-quoted: "[/quote] test" - also failed if layout distorted)
		* #40565 - [quote="a"]a[/quote][quote="a]a[/quote] (correct: first quote tag parsed, second quote tag unparsed)
		*/

		$in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));

		if (!$in)
		{
			return '';
		}

		// To let the parser not catch tokens within quote_username quotes we encode them before we start this...
		$in = preg_replace('#quote=&quot;(.*?)&quot;\]#ie', "'quote=&quot;' . str_replace(array('[', ']', '\\\"'), array('&#91;', '&#93;', '\"'), '\$1') . '&quot;]'", $in);

		$tok = ']';
		$out = '[';

		$in = substr($in, 1);
		$close_tags = $error_ary = array();
		$buffer = '';

		do
		{
			$pos = strlen($in);
			for ($i = 0, $tok_len = strlen($tok); $i < $tok_len; ++$i)
			{
				$tmp_pos = strpos($in, $tok[$i]);
				if ($tmp_pos !== false && $tmp_pos < $pos)
				{
					$pos = $tmp_pos;
				}
			}

			$buffer .= substr($in, 0, $pos);
			$tok = $in[$pos];
			$in = substr($in, $pos + 1);

			if ($tok == ']')
			{
				if (strtolower($buffer) == '/quote' && sizeof($close_tags) && substr($out, -1, 1) == '[')
				{
					// we have found a closing tag
					$out .= array_pop($close_tags) . ']';
					$tok = '[';
					$buffer = '';

					/* Add space at the end of the closing tag if not happened before to allow following urls/smilies to be parsed correctly
					* Do not try to think for the user. :/ Do not parse urls/smilies if there is no space - is the same as with other bbcodes too.
					* Also, we won't have any spaces within $in anyway, only adding up spaces -> #10982
					if (!$in || $in[0] !== ' ')
					{
						$out .= ' ';
					}*/
				}
				else if (preg_match('#^quote(?:=&quot;(.*?)&quot;)?$#is', $buffer, $m) && substr($out, -1, 1) == '[')
				{
					$this->parsed_items['quote']++;

					// the buffer holds a valid opening tag
					if ($config['max_quote_depth'] && sizeof($close_tags) >= $config['max_quote_depth'])
					{
						// there are too many nested quotes
						$error_ary['quote_depth'] = sprintf($user->lang['QUOTE_DEPTH_EXCEEDED'], $config['max_quote_depth']);

						$out .= $buffer . $tok;
						$tok = '[]';
						$buffer = '';

						continue;
					}

					array_push($close_tags, '/quote:' . $this->bbcode_uid);

					if (isset($m[1]) && $m[1])
					{
						$username = str_replace(array('&#91;', '&#93;'), array('[', ']'), $m[1]);
						$username = preg_replace('#\[(?!b|i|u|color|url|email|/b|/i|/u|/color|/url|/email)#iU', '&#91;$1', $username);

						$end_tags = array();
						$error = false;

						preg_match_all('#\[((?:/)?(?:[a-z]+))#i', $username, $tags);
						foreach ($tags[1] as $tag)
						{
							if ($tag[0] != '/')
							{
								$end_tags[] = '/' . $tag;
							}
							else
							{
								$end_tag = array_pop($end_tags);
								$error = ($end_tag != $tag) ? true : false;
							}
						}

						if ($error)
						{
							$username = $m[1];
						}

						$out .= 'quote=&quot;' . $username . '&quot;:' . $this->bbcode_uid . ']';
					}
					else
					{
						$out .= 'quote:' . $this->bbcode_uid . ']';
					}

					$tok = '[';
					$buffer = '';
				}
				else if (preg_match('#^quote=&quot;(.*?)#is', $buffer, $m))
				{
					// the buffer holds an invalid opening tag
					$buffer .= ']';
				}
				else
				{
					$out .= $buffer . $tok;
					$tok = '[]';
					$buffer = '';
				}
			}
			else
			{
/**
*				Old quote code working fine, but having errors listed in bug #3572
*
*				$out .= $buffer . $tok;
*				$tok = ($tok == '[') ? ']' : '[]';
*				$buffer = '';
*/

				$out .= $buffer . $tok;

				if ($tok == '[')
				{
					// Search the text for the next tok... if an ending quote comes first, then change tok to []
					$pos1 = stripos($in, '[/quote');
					// If the token ] comes first, we change it to ]
					$pos2 = strpos($in, ']');
					// If the token [ comes first, we change it to [
					$pos3 = strpos($in, '[');

					if ($pos1 !== false && ($pos2 === false || $pos1 < $pos2) && ($pos3 === false || $pos1 < $pos3))
					{
						$tok = '[]';
					}
					else if ($pos3 !== false && ($pos2 === false || $pos3 < $pos2))
					{
						$tok = '[';
					}
					else
					{
						$tok = ']';
					}
				}
				else
				{
					$tok = '[]';
				}
				$buffer = '';
			}
		}
		while ($in);

		$out .= $buffer;

		if (sizeof($close_tags))
		{
			$out .= '[' . implode('][', $close_tags) . ']';
		}

		foreach ($error_ary as $error_msg)
		{
			$this->warn_msg[] = $error_msg;
		}

		return $out;
	}

	/**
	* Validate email
	*/
	function validate_email($var1, $var2)
	{
		$var1 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var1)));
		$var2 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var2)));

		$txt = $var2;
		$email = ($var1) ? $var1 : $var2;

		$validated = true;

		if (!preg_match('/^' . get_preg_expression('email') . '$/i', $email))
		{
			$validated = false;
		}

		if (!$validated)
		{
			return '[email' . (($var1) ? "=$var1" : '') . ']' . $var2 . '[/email]';
		}

		$this->parsed_items['email']++;

		if ($var1)
		{
			$retval = '[email=' . $this->bbcode_specialchars($email) . ':' . $this->bbcode_uid . ']' . $txt . '[/email:' . $this->bbcode_uid . ']';
		}
		else
		{
			$retval = '[email:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($email) . '[/email:' . $this->bbcode_uid . ']';
		}

		return $retval;
	}

	/**
	* Validate url
	*
	* @param string $var1 optional url parameter for url bbcode: [url(=$var1)]$var2[/url]
	* @param string $var2 url bbcode content: [url(=$var1)]$var2[/url]
	*/
	function validate_url($var1, $var2)
	{
		global $config;

		$var1 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var1)));
		$var2 = str_replace("\r\n", "\n", str_replace('\"', '"', trim($var2)));

		$url = ($var1) ? $var1 : $var2;

		if ($var1 && !$var2)
		{
			$var2 = $var1;
		}

		if (!$url)
		{
			return '[url' . (($var1) ? '=' . $var1 : '') . ']' . $var2 . '[/url]';
		}

		$valid = false;

		$url = str_replace(' ', '%20', $url);

		// Checking urls
		if (preg_match('#^' . get_preg_expression('url') . '$#i', $url) ||
			preg_match('#^' . get_preg_expression('www_url') . '$#i', $url) ||
			preg_match('#^' . preg_quote(generate_board_url(), '#') . get_preg_expression('relative_url') . '$#i', $url))
		{
			$valid = true;
		}

		if ($valid)
		{
			$this->parsed_items['url']++;

			// if there is no scheme, then add http schema
			if (!preg_match('#^[a-z][a-z\d+\-.]*:/{2}#i', $url))
			{
				$url = 'http://' . $url;
			}

			// Is this a link to somewhere inside this board? If so then remove the session id from the url
			if (strpos($url, generate_board_url()) !== false && strpos($url, 'sid=') !== false)
			{
				$url = preg_replace('/(&amp;|\?)sid=[0-9a-f]{32}&amp;/', '\1', $url);
				$url = preg_replace('/(&amp;|\?)sid=[0-9a-f]{32}$/', '', $url);
				$url = append_sid($url);
			}

			return ($var1) ? '[url=' . $this->bbcode_specialchars($url) . ':' . $this->bbcode_uid . ']' . $var2 . '[/url:' . $this->bbcode_uid . ']' : '[url:' . $this->bbcode_uid . ']' . $this->bbcode_specialchars($url) . '[/url:' . $this->bbcode_uid . ']';
		}

		return '[url' . (($var1) ? '=' . $var1 : '') . ']' . $var2 . '[/url]';
	}

	/**
	* Check if url is pointing to this domain/script_path/php-file
	*
	* @param string $url the url to check
	* @return true if the url is pointing to this domain/script_path/php-file, false if not
	*
	* @access private
	*/
	function path_in_domain($url)
	{
		global $config, $phpEx, $user;

		if ($config['force_server_vars'])
		{
			$check_path = $config['script_path'];
		}
		else
		{
			$check_path = ($user->page['root_script_path'] != '/') ? substr($user->page['root_script_path'], 0, -1) : '/';
		}

		// Is the user trying to link to a php file in this domain and script path?
		if (strpos($url, ".{$phpEx}") !== false && strpos($url, $check_path) !== false)
		{
			$server_name = $user->host;

			// Forcing server vars is the only way to specify/override the protocol
			if ($config['force_server_vars'] || !$server_name)
			{
				$server_name = $config['server_name'];
			}

			// Check again in correct order...
			$pos_ext = strpos($url, ".{$phpEx}");
			$pos_path = strpos($url, $check_path);
			$pos_domain = strpos($url, $server_name);

			if ($pos_domain !== false && $pos_path >= $pos_domain && $pos_ext >= $pos_path)
			{
				// Ok, actually we allow linking to some files (this may be able to be extended in some way later...)
				if (strpos($url, '/' . $check_path . '/download/file.' . $phpEx) !== 0)
				{
					return false;
				}

				return true;
			}
		}

		return false;
	}
}

/**
* Main message parser for posting, pm, etc. takes raw message
* and parses it for attachments, bbcode and smilies
* @package phpBB3
*/
class parse_message extends bbcode_firstpass
{
	var $attachment_data = array();
	var $filename_data = array();

	// Helps ironing out user error
	var $message_status = '';

	var $allow_img_bbcode = true;
	var $allow_flash_bbcode = true;
	var $allow_quote_bbcode = true;
	var $allow_url_bbcode = true;

	var $mode;

	/**
	* Init - give message here or manually
	*/
	function parse_message($message = '')
	{
		// Init BBCode UID
		$this->bbcode_uid = substr(base_convert(unique_id(), 16, 36), 0, BBCODE_UID_LEN);
		$this->message = $message;
	}

	/**
	* Parse Message
	*/
	function parse($allow_bbcode, $allow_magic_url, $allow_smilies, $allow_img_bbcode = true, $allow_flash_bbcode = true, $allow_quote_bbcode = true, $allow_url_bbcode = true, $update_this_message = true, $mode = 'post')
	{
		global $config, $db, $user;

		$this->mode = $mode;

		foreach (array('chars', 'smilies', 'urls', 'font_size', 'img_height', 'img_width') as $key)
		{
			if (!isset($config['max_' . $mode . '_' . $key]))
			{
				$config['max_' . $mode . '_' . $key] = 0;
			}
		}

		$this->allow_img_bbcode = $allow_img_bbcode;
		$this->allow_flash_bbcode = $allow_flash_bbcode;
		$this->allow_quote_bbcode = $allow_quote_bbcode;
		$this->allow_url_bbcode = $allow_url_bbcode;

		// If false, then $this->message won't be altered, the text will be returned instead.
		if (!$update_this_message)
		{
			$tmp_message = $this->message;
			$return_message = &$this->message;
		}

		if ($this->message_status == 'display')
		{
			$this->decode_message();
		}

		// Do some general 'cleanup' first before processing message,
		// e.g. remove excessive newlines(?), smilies(?)
		$match = array('#(script|about|applet|activex|chrome):#i');
		$replace = array("\\1&#058;");
		$this->message = preg_replace($match, $replace, trim($this->message));

		// Store message length...
		$message_length = ($mode == 'post') ? utf8_strlen($this->message) : utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $this->message));

		// Maximum message length check. 0 disables this check completely.
		if ((int) $config['max_' . $mode . '_chars'] > 0 && $message_length > (int) $config['max_' . $mode . '_chars'])
		{
			$this->warn_msg[] = sprintf($user->lang['TOO_MANY_CHARS_' . strtoupper($mode)], $message_length, (int) $config['max_' . $mode . '_chars']);
			return (!$update_this_message) ? $return_message : $this->warn_msg;
		}

		// Minimum message length check for post only
		if ($mode === 'post')
		{
			if (!$message_length || $message_length < (int) $config['min_post_chars'])
			{
				$this->warn_msg[] = (!$message_length) ? $user->lang['TOO_FEW_CHARS'] : sprintf($user->lang['TOO_FEW_CHARS_LIMIT'], $message_length, (int) $config['min_post_chars']);
				return (!$update_this_message) ? $return_message : $this->warn_msg;
			}
		}

		// Prepare BBcode (just prepares some tags for better parsing)
		if ($allow_bbcode && strpos($this->message, '[') !== false)
		{
			$this->bbcode_init();
			$disallow = array('img', 'flash', 'quote', 'url');
			foreach ($disallow as $bool)
			{
				if (!${'allow_' . $bool . '_bbcode'})
				{
					$this->bbcodes[$bool]['disabled'] = true;
				}
			}

			$this->prepare_bbcodes();
		}

		// Parse smilies
		if ($allow_smilies)
		{
			$this->smilies($config['max_' . $mode . '_smilies']);
		}

		$num_urls = 0;

		// Parse BBCode
		if ($allow_bbcode && strpos($this->message, '[') !== false)
		{
			$this->parse_bbcode();
			$num_urls += $this->parsed_items['url'];
		}

		// Parse URL's
		if ($allow_magic_url)
		{
			$this->magic_url(generate_board_url());

			if ($config['max_' . $mode . '_urls'])
			{
				$num_urls += preg_match_all('#\<!-- ([lmwe]) --\>.*?\<!-- \1 --\>#', $this->message, $matches);
			}
		}

		// Check for "empty" message. We do not check here for maximum length, because bbcode, smilies, etc. can add to the length.
		// The maximum length check happened before any parsings.
		if ($mode === 'post' && utf8_clean_string($this->message) === '')
		{
			$this->warn_msg[] = $user->lang['TOO_FEW_CHARS'];
			return (!$update_this_message) ? $return_message : $this->warn_msg;
		}

		// Check number of links
		if ($config['max_' . $mode . '_urls'] && $num_urls > $config['max_' . $mode . '_urls'])
		{
			$this->warn_msg[] = sprintf($user->lang['TOO_MANY_URLS'], $config['max_' . $mode . '_urls']);
			return (!$update_this_message) ? $return_message : $this->warn_msg;
		}

		if (!$update_this_message)
		{
			unset($this->message);
			$this->message = $tmp_message;
			return $return_message;
		}

		$this->message_status = 'parsed';
		return false;
	}

	/**
	* Formatting text for display
	*/
	function format_display($allow_bbcode, $allow_magic_url, $allow_smilies, $update_this_message = true)
	{
		// If false, then the parsed message get returned but internal message not processed.
		if (!$update_this_message)
		{
			$tmp_message = $this->message;
			$return_message = &$this->message;
		}

		if ($this->message_status == 'plain')
		{
			// Force updating message - of course.
			$this->parse($allow_bbcode, $allow_magic_url, $allow_smilies, $this->allow_img_bbcode, $this->allow_flash_bbcode, $this->allow_quote_bbcode, $this->allow_url_bbcode, true);
		}

		// Replace naughty words such as farty pants
		$this->message = censor_text($this->message);

		// Parse BBcode
		if ($allow_bbcode)
		{
			$this->bbcode_cache_init();

			// We are giving those parameters to be able to use the bbcode class on its own
			$this->bbcode_second_pass($this->message, $this->bbcode_uid);
		}

		$this->message = bbcode_nl2br($this->message);
		$this->message = smiley_text($this->message, !$allow_smilies);

		if (!$update_this_message)
		{
			unset($this->message);
			$this->message = $tmp_message;
			return $return_message;
		}

		$this->message_status = 'display';
		return false;
	}

	/**
	* Decode message to be placed back into form box
	*/
	function decode_message($custom_bbcode_uid = '', $update_this_message = true)
	{
		// If false, then the parsed message get returned but internal message not processed.
		if (!$update_this_message)
		{
			$tmp_message = $this->message;
			$return_message = &$this->message;
		}

		($custom_bbcode_uid) ? decode_message($this->message, $custom_bbcode_uid) : decode_message($this->message, $this->bbcode_uid);

		if (!$update_this_message)
		{
			unset($this->message);
			$this->message = $tmp_message;
			return $return_message;
		}

		$this->message_status = 'plain';
		return false;
	}

	/**
	* Replace magic urls of form http://xxx.xxx., www.xxx. and xxx@xxx.xxx.
	* Cuts down displayed size of link if over 50 chars, turns absolute links
	* into relative versions when the server/script path matches the link
	*/
	function magic_url($server_url)
	{
		// We use the global make_clickable function
		$this->message = make_clickable($this->message, $server_url);
	}

	/**
	* Parse Smilies
	*/
	function smilies($max_smilies = 0)
	{
		global $db, $user;
		static $match;
		static $replace;

		// See if the static arrays have already been filled on an earlier invocation
		if (!is_array($match))
		{
			$match = $replace = array();

			// NOTE: obtain_* function? chaching the table contents?

			// For now setting the ttl to 10 minutes
			switch ($db->sql_layer)
			{
				case 'mssql':
				case 'mssql_odbc':
				case 'mssqlnative':
					$sql = 'SELECT *
						FROM ' . SMILIES_TABLE . '
						ORDER BY LEN(code) DESC';
				break;

				case 'firebird':
					$sql = 'SELECT *
						FROM ' . SMILIES_TABLE . '
						ORDER BY CHAR_LENGTH(code) DESC';
				break;

				// LENGTH supported by MySQL, IBM DB2, Oracle and Access for sure...
				default:
					$sql = 'SELECT *
						FROM ' . SMILIES_TABLE . '
						ORDER BY LENGTH(code) DESC';
				break;
			}
			$result = $db->sql_query($sql, 600);

			while ($row = $db->sql_fetchrow($result))
			{
				if (empty($row['code']))
				{
					continue;
				}

				// (assertion)
				$match[] = preg_quote($row['code'], '#');
				$replace[] = '<!-- s' . $row['code'] . ' --><img src="{SMILIES_PATH}/' . $row['smiley_url'] . '" alt="' . $row['code'] . '" title="' . $row['emotion'] . '" /><!-- s' . $row['code'] . ' -->';
			}
			$db->sql_freeresult($result);
		}

		if (sizeof($match))
		{
			if ($max_smilies)
			{
				$num_matches = preg_match_all('#(?<=^|[\n .])(?:' . implode('|', $match) . ')(?![^<>]*>)#u', $this->message, $matches);
				unset($matches);

				if ($num_matches !== false && $num_matches > $max_smilies)
				{
					$this->warn_msg[] = sprintf($user->lang['TOO_MANY_SMILIES'], $max_smilies);
					return;
				}
			}

			// Make sure the delimiter # is added in front and at the end of every element within $match
			$this->message = trim(preg_replace(explode(chr(0), '#(?<=^|[\n .])' . implode('(?![^<>]*>)#u' . chr(0) . '#(?<=^|[\n .])', $match) . '(?![^<>]*>)#'), $replace, $this->message));
		}
	}

	/**
	* Parse Attachments
	*/
	function parse_attachments($form_name, $mode, $forum_id, $submit, $preview, $refresh, $is_message = false)
	{
		global $config, $auth, $user, $phpbb_root_path, $phpEx, $db;

		$error = array();

		$num_attachments = sizeof($this->attachment_data);
		$this->filename_data['filecomment'] = utf8_normalize_nfc(request_var('filecomment', '', true));
		$upload_file = (isset($_FILES[$form_name]) && $_FILES[$form_name]['name'] != 'none' && trim($_FILES[$form_name]['name'])) ? true : false;

		$add_file		= (isset($_POST['add_file'])) ? true : false;
		$delete_file	= (isset($_POST['delete_file'])) ? true : false;

		// First of all adjust comments if changed
		$actual_comment_list = utf8_normalize_nfc(request_var('comment_list', array(''), true));

		foreach ($actual_comment_list as $comment_key => $comment)
		{
			if (!isset($this->attachment_data[$comment_key]))
			{
				continue;
			}

			if ($this->attachment_data[$comment_key]['attach_comment'] != $actual_comment_list[$comment_key])
			{
				$this->attachment_data[$comment_key]['attach_comment'] = $actual_comment_list[$comment_key];
			}
		}

		$cfg = array();
		$cfg['max_attachments'] = ($is_message) ? $config['max_attachments_pm'] : $config['max_attachments'];
		$forum_id = ($is_message) ? 0 : $forum_id;

		if ($submit && in_array($mode, array('post', 'reply', 'quote', 'edit')) && $upload_file)
		{
			if ($num_attachments < $cfg['max_attachments'] || $auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))
			{
				$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
				$error = $filedata['error'];

				if ($filedata['post_attach'] && !sizeof($error))
				{
					$sql_ary = array(
						'physical_filename'	=> $filedata['physical_filename'],
						'attach_comment'	=> $this->filename_data['filecomment'],
						'real_filename'		=> $filedata['real_filename'],
						'extension'			=> $filedata['extension'],
						'mimetype'			=> $filedata['mimetype'],
						'filesize'			=> $filedata['filesize'],
						'filetime'			=> $filedata['filetime'],
						'thumbnail'			=> $filedata['thumbnail'],
						'is_orphan'			=> 1,
						'in_message'		=> ($is_message) ? 1 : 0,
						'poster_id'			=> $user->data['user_id'],
					);

					$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));

					$new_entry = array(
						'attach_id'		=> $db->sql_nextid(),
						'is_orphan'		=> 1,
						'real_filename'	=> $filedata['real_filename'],
						'attach_comment'=> $this->filename_data['filecomment'],
					);

					$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
					$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);

					$this->filename_data['filecomment'] = '';

					// This Variable is set to false here, because Attachments are entered into the
					// Database in two modes, one if the id_list is 0 and the second one if post_attach is true
					// Since post_attach is automatically switched to true if an Attachment got added to the filesystem,
					// but we are assigning an id of 0 here, we have to reset the post_attach variable to false.
					//
					// This is very relevant, because it could happen that the post got not submitted, but we do not
					// know this circumstance here. We could be at the posting page or we could be redirected to the entered
					// post. :)
					$filedata['post_attach'] = false;
				}
			}
			else
			{
				$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
			}
		}

		if ($preview || $refresh || sizeof($error))
		{
			// Perform actions on temporary attachments
			if ($delete_file)
			{
				include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);

				$index = array_keys(request_var('delete_file', array(0 => 0)));
				$index = (!empty($index)) ? $index[0] : false;

				if ($index !== false && !empty($this->attachment_data[$index]))
				{
					// delete selected attachment
					if ($this->attachment_data[$index]['is_orphan'])
					{
						$sql = 'SELECT attach_id, physical_filename, thumbnail
							FROM ' . ATTACHMENTS_TABLE . '
							WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id'] . '
								AND is_orphan = 1
								AND poster_id = ' . $user->data['user_id'];
						$result = $db->sql_query($sql);
						$row = $db->sql_fetchrow($result);
						$db->sql_freeresult($result);

						if ($row)
						{
							phpbb_unlink($row['physical_filename'], 'file');

							if ($row['thumbnail'])
							{
								phpbb_unlink($row['physical_filename'], 'thumbnail');
							}

							$db->sql_query('DELETE FROM ' . ATTACHMENTS_TABLE . ' WHERE attach_id = ' . (int) $this->attachment_data[$index]['attach_id']);
						}
					}
					else
					{
						delete_attachments('attach', array(intval($this->attachment_data[$index]['attach_id'])));
					}

					unset($this->attachment_data[$index]);
					$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "(\\1 == \$index) ? '' : ((\\1 > \$index) ? '[attachment=' . (\\1 - 1) . ']\\2[/attachment]' : '\\0')", $this->message);

					// Reindex Array
					$this->attachment_data = array_values($this->attachment_data);
				}
			}
			else if (($add_file || $preview) && $upload_file)
			{
				if ($num_attachments < $cfg['max_attachments'] || $auth->acl_gets('m_', 'a_', $forum_id))
				{
					$filedata = upload_attachment($form_name, $forum_id, false, '', $is_message);
					$error = array_merge($error, $filedata['error']);

					if (!sizeof($error))
					{
						$sql_ary = array(
							'physical_filename'	=> $filedata['physical_filename'],
							'attach_comment'	=> $this->filename_data['filecomment'],
							'real_filename'		=> $filedata['real_filename'],
							'extension'			=> $filedata['extension'],
							'mimetype'			=> $filedata['mimetype'],
							'filesize'			=> $filedata['filesize'],
							'filetime'			=> $filedata['filetime'],
							'thumbnail'			=> $filedata['thumbnail'],
							'is_orphan'			=> 1,
							'in_message'		=> ($is_message) ? 1 : 0,
							'poster_id'			=> $user->data['user_id'],
						);

						$db->sql_query('INSERT INTO ' . ATTACHMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));

						$new_entry = array(
							'attach_id'		=> $db->sql_nextid(),
							'is_orphan'		=> 1,
							'real_filename'	=> $filedata['real_filename'],
							'attach_comment'=> $this->filename_data['filecomment'],
						);

						$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
						$this->message = preg_replace('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#e', "'[attachment='.(\\1 + 1).']\\2[/attachment]'", $this->message);
						$this->filename_data['filecomment'] = '';
					}
				}
				else
				{
					$error[] = sprintf($user->lang['TOO_MANY_ATTACHMENTS'], $cfg['max_attachments']);
				}
			}
		}

		foreach ($error as $error_msg)
		{
			$this->warn_msg[] = $error_msg;
		}
	}

	/**
	* Get Attachment Data
	*/
	function get_submitted_attachment_data($check_user_id = false)
	{
		global $user, $db, $phpbb_root_path, $phpEx, $config;

		$this->filename_data['filecomment'] = utf8_normalize_nfc(request_var('filecomment', '', true));
		$attachment_data = (isset($_POST['attachment_data'])) ? $_POST['attachment_data'] : array();
		$this->attachment_data = array();

		$check_user_id = ($check_user_id === false) ? $user->data['user_id'] : $check_user_id;

		if (!sizeof($attachment_data))
		{
			return;
		}

		$not_orphan = $orphan = array();

		foreach ($attachment_data as $pos => $var_ary)
		{
			if ($var_ary['is_orphan'])
			{
				$orphan[(int) $var_ary['attach_id']] = $pos;
			}
			else
			{
				$not_orphan[(int) $var_ary['attach_id']] = $pos;
			}
		}

		// Regenerate already posted attachments
		if (sizeof($not_orphan))
		{
			// Get the attachment data, based on the poster id...
			$sql = 'SELECT attach_id, is_orphan, real_filename, attach_comment
				FROM ' . ATTACHMENTS_TABLE . '
				WHERE ' . $db->sql_in_set('attach_id', array_keys($not_orphan)) . '
					AND poster_id = ' . $check_user_id;
			$result = $db->sql_query($sql);

			while ($row = $db->sql_fetchrow($result))
			{
				$pos = $not_orphan[$row['attach_id']];
				$this->attachment_data[$pos] = $row;
				set_var($this->attachment_data[$pos]['attach_comment'], $_POST['attachment_data'][$pos]['attach_comment'], 'string', true);

				unset($not_orphan[$row['attach_id']]);
			}
			$db->sql_freeresult($result);
		}

		if (sizeof($not_orphan))
		{
			trigger_error('NO_ACCESS_ATTACHMENT', E_USER_ERROR);
		}

		// Regenerate newly uploaded attachments
		if (sizeof($orphan))
		{
			$sql = 'SELECT attach_id, is_orphan, real_filename, attach_comment
				FROM ' . ATTACHMENTS_TABLE . '
				WHERE ' . $db->sql_in_set('attach_id', array_keys($orphan)) . '
					AND poster_id = ' . $user->data['user_id'] . '
					AND is_orphan = 1';
			$result = $db->sql_query($sql);

			while ($row = $db->sql_fetchrow($result))
			{
				$pos = $orphan[$row['attach_id']];
				$this->attachment_data[$pos] = $row;
				set_var($this->attachment_data[$pos]['attach_comment'], $_POST['attachment_data'][$pos]['attach_comment'], 'string', true);

				unset($orphan[$row['attach_id']]);
			}
			$db->sql_freeresult($result);
		}

		if (sizeof($orphan))
		{
			trigger_error('NO_ACCESS_ATTACHMENT', E_USER_ERROR);
		}

		ksort($this->attachment_data);
	}

	/**
	* Parse Poll
	*/
	function parse_poll(&$poll)
	{
		global $auth, $user, $config;

		$poll_max_options = $poll['poll_max_options'];

		// Parse Poll Option text ;)
		$tmp_message = $this->message;
		$this->message = $poll['poll_option_text'];
		$bbcode_bitfield = $this->bbcode_bitfield;

		$poll['poll_option_text'] = $this->parse($poll['enable_bbcode'], ($config['allow_post_links']) ? $poll['enable_urls'] : false, $poll['enable_smilies'], $poll['img_status'], false, false, $config['allow_post_links'], false, 'poll');

		$bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));
		$this->message = $tmp_message;

		// Parse Poll Title
		$tmp_message = $this->message;
		$this->message = $poll['poll_title'];
		$this->bbcode_bitfield = $bbcode_bitfield;

		$poll['poll_options'] = explode("\n", trim($poll['poll_option_text']));
		$poll['poll_options_size'] = sizeof($poll['poll_options']);

		if (!$poll['poll_title'] && $poll['poll_options_size'])
		{
			$this->warn_msg[] = $user->lang['NO_POLL_TITLE'];
		}
		else
		{
			if (utf8_strlen(preg_replace('#\[\/?[a-z\*\+\-]+(=[\S]+)?\]#ius', ' ', $this->message)) > 100)
			{
				$this->warn_msg[] = $user->lang['POLL_TITLE_TOO_LONG'];
			}
			$poll['poll_title'] = $this->parse($poll['enable_bbcode'], ($config['allow_post_links']) ? $poll['enable_urls'] : false, $poll['enable_smilies'], $poll['img_status'], false, false, $config['allow_post_links'], false, 'poll');
			if (strlen($poll['poll_title']) > 255)
			{
				$this->warn_msg[] = $user->lang['POLL_TITLE_COMP_TOO_LONG'];
			}
		}

		$this->bbcode_bitfield = base64_encode(base64_decode($bbcode_bitfield) | base64_decode($this->bbcode_bitfield));
		$this->message = $tmp_message;
		unset($tmp_message);

		if (sizeof($poll['poll_options']) == 1)
		{
			$this->warn_msg[] = $user->lang['TOO_FEW_POLL_OPTIONS'];
		}
		else if ($poll['poll_options_size'] > (int) $config['max_poll_options'])
		{
			$this->warn_msg[] = $user->lang['TOO_MANY_POLL_OPTIONS'];
		}
		else if ($poll_max_options > $poll['poll_options_size'])
		{
			$this->warn_msg[] = $user->lang['TOO_MANY_USER_OPTIONS'];
		}

		$poll['poll_max_options'] = ($poll['poll_max_options'] < 1) ? 1 : (($poll['poll_max_options'] > $config['max_poll_options']) ? $config['max_poll_options'] : $poll['poll_max_options']);
	}
}

?>
x&|0!81 ,#T +1v4A,S+0_Vބ;;|+5Ad|4s+׺(W|kZ E=x!u,rN'ZLXNv} F#L-dⲇ,qCZZ6̠33I䖵RZxp@Q)OV5WY9.$6IU_K$-SLfzag^w aPL*X U1p-he {;w/c>wBxed*m|}#:Io ҏdq 2ή|^ /rҸLsnpBUhzLh%l?Tfge5bX^&͕̔x/G;pw5; xLH~:ji,[{dգ - #䃂%cK&Gm+t <N-CrO#{_}3p~'P8~RRQ\ڒGqLS[}KHN&9BN vβ䮉j柩8dd49+Bl/'a+˔7ճhπ )QY̷ؖ]5o0;; ? \ WlQO- E-AؙȠ($QV"ngqHhΰrWHF؛~efj \)uyI ~c?!;%@ηN+rIapKW p :n4 0B8aސe&K&/'P|uyJ)LP}[`@K!zxD|!Wc?X_܋SZhp!3b*R2>&۬l]b3?FPٺwR%8'^@wytC֣r4krnZ@y a+: MǬbq[cJ8I*%\}DK2owNOZ/_Y]UēR!;juθ2.T<@ĝ!*o--ڴSza  8{L66n#IC(ew&h %d+tl: kk:Va[ԩ)䜨So`M]ʁ@ܸP a7Z\b%pZA*hv7z  {geq[=B(EHtݑE{;srǨ a%:32/H 7=s|Ü4a-"G]muF<nP>ko93Dbe0@DC2~{1%YDV,S"V;yR{j| SnFWI(|F_q'a`jDPxd{,ħTͣ&gZ#c&Kt5{ddC+&ccӚ/ekJ(Yh |`k'eo38.۹.^4/T$CfSd; t{z ;}יvMpƉlbx;,b@X_+ٕg!rVĶDAKϨey~V/\0~4O̻7zP-.?60P?_W(I~3Ԍ:tHgx{W7gt!d +=|Ъ77P[ ”Glc0! i%zB6=@O4Su {<xWznȢiԦ .[r% _o<ĤH:)[B3fRKYpP ?vnS.:}vuw5T 9ccBn6h_G`ɂٶįsB @AK-1s8ؔd+rIux1ɳَeɎ\{-wq`qe?hE4``AʇzJx43fJ e C&@p >khAv!caR̩ؕ:e&U<0ա*H )KsFm=l,u;S3ߧ4ko4جz 3b{|BnvP!XHbAAxkT⡈xWDΠ{n@0.^q0s 5T;i4h(zy`C$؁L,ێD+"}n7F@`DMt8. bm Bx{;}ONV:2`ZD6pC>Vr 0| 7# cs3 Ik=&J>1RqnȎOh$dBln+fyYX}"6,wkK#LJo{= U@5?ytb[.Zvd,7\W혋m di`CSbh I,@Go1sd%%=#>o+\|;ZcRבYMC"ɖ#qcw@I_?f8A@cCP AHszUtK(c *JYgEIe$G!0gU5!S/_P_p-֪GǙXP.R5Av;5h펷h坞7QUX<89lk/2E6:^Ll?18pm!Yzruۮ iYųc;=xmH%A^1u`s4Pۢaz̴oɜqelOGmK3$(~+wX' s0{[nv 4p3}@τ=DL@1ɧ_PiP"-)^f̝urp@yhxlw 竔Rac{eH 1۬ZX,˒oha,t^Q>ӄ 8Yx3K=u.-;\Bek°,E2W_[{IVaIYt<32j@Q9#{+aݔK tBh~KrtNk;b֊ o$6^|g8+J>UeLSF*v 0gWv&nO*%H,ui{] &hD ;XSp=k_OT"7SNgXi$j^a4U~|Ӷp` ݶǃTiC[n=|A7=Mv,CMyhkFYn,O;T @o ce)8zƞ޺FG*brNJ,\T1 J4U-7IY9eKG]Q鵙8C[kI[oP_*AyQv*G@vyuz]#n`H @zMco[Et=r?A.9cYXCh  7iЫ2>3#/3m):Ӏ03P41eۓ/-ը`gJNA0~i.}Fd,ō7sْ;MIS9!X{#jSk:!11rꪽk{WFMެ5Tt s|Unp%\~2ΩF(ސ1XPGX =/Q 0ҎϽb~^?2}7}/+6Xy%[ɋ 1lcjKwW.xSԔ&bWs|{Bf=2YfYa9 1ؤF^tҐOmd4#_>')P@iJSxd̹`"^Ă |PҁSDpI33O S( iNA VxKh&q{%kȁ0kҙ*93<.|\;~:$:ł;%}s.vwT͑="E66$^ɯNL0Qist tmb>3T!!†lkj<`rd݀ļ>%mLt[K_6* t*o,v : wNa9sr . zbaWol臬- :S( ' .yD،e:7[$*Gr5D3r[m\`3m*4F?qYSɞYi5c醞ǘCi"E#DK:hb\GJ 'mZ꽵]FQO;~Kvxet%^!nAy>_!sk%: t]xuڢ:¯显n:Ђ(aNZGKe /+eh.`kڠ!@R`鹲"g_Vo]@/욉d+ I {BS`$CPAZ-I}Gυ;k8A{է 63n-z{,bCcd_?3"|/' L=FedioG C4X6V`Sw5! .;elﻊ@ MH {d~v'0i@~L]JP坜B"U8(0;kf|x?&#`Rb DeHzM5?kqߤD\'/ ?υvg؂ ?,+p(V](=/s Shw!џ2̉،ҁSB $x!N)\oW$LyN4ӈR2hSu'?jU*vR5`K7TWT>?RRLpR D >*ՓEjN0qI '|byWiG6]x1AY/Bf_d H_c.T Z0mn?yDN T 2ヘ^Dp r+ЉNx{r"aNa0?2סHXp(%%q8Hyt! ٘Ip'Z+} dx'”h\shP "o":bU9gUο]uԳ6oY82DLFiPIoOtK[ ƛpYryud7tE؞3ѨK糁Y- -ЕG!X{[$S#0Q26Y P%*ex(Ґ*ZZ53nII&,wΒ/h) \sI JuTV]̷(\: 69YޯVA(׸FaS{şV"ޏ,Å=&X^Zt "sM@Lk %!ĬqCzd$)^k<âv vd(et,erlQ_1zF5?YuyV 0ڹW&0m'16rl+ᜊq]اx[R 1 qѴqϒ0>'ϭ+Ka+貂,K>%,'2g] &j|)m?B9N8ȮSwc~:Glf`;}8Ȁ-(iZ5XK܊y(V'0>Eu35J ʹ㑮;'<EKXH9e ϒ z S`uB*,.IT@CJ1&)x=]QJAћ@ޅWT{#k=rTY[RJEiA$o:lv#dI ~lXY(LJ`mث֊I e'E/OHW ׹MjH GM O x3A(J9bnͩFj^ssؠBp{!LwTj-i㷔vdF|&"a\'&FY\ '?$+U'몇 /@kmfg)5c,ZD5&VнB@0*A[L˶.q"0ϷD{O*Ĕ+<` RHKAm} {8K7C \9y܄82]1K؀yڿ0!z|éeӅDvFQ]%tn}) 5}c3COy8:=fI sᄢ߻.A(UeKS>!SwV$'W'џ!]YW~{+,n7ckY%Ř%ROF^/BaORTL"*2,2r!IKBT_YX7RY˲,l=Uخ&?3z#IK%F{:V,@د"qЂ=}.)R@˅WՌ͈T'JخW2Ƣ_ e{0ғنhr`ߴ M tf o0.͠fc$!Yq7Ӝg[ ;Cr=P7:fh|j !f-MWnpEqG|@3*3|qrힴŅic5vYA/FMHh  /F=7 @!{,{Lq-_? ѐQUJmUN Nf6@POmIg!f«EF=gA7s!.:mC:xL}ڠ֓AJ؂(nqȱBa[ʕ,2ˎO"*[R'hnhY0 ^`b|%u ɜ߶UjiM+(I_Zi<_XyIy1/Et ~{BU[dC~NYu}5ܰyb6D&wx%v}ړхobԉF v,F" uA"H߉qto 3 ROLYX?+qAJĚ5X$Gŗ^giշ`jc#3̞Xc\%F=r.kz26c&VPWp2I}w ;VwOҘ,- ."e!HR|j)p6׾ FpWAdcs9xyW~)~{6{w H,`(Zx :V8cCNck]bqݽ[(wj.O\+8m&ފG ZqjKXk)\3Xm'TQJ RБZ';܂X3dZf/vjrU`ښ&Pq %Tol*m Vy 01͚1FK*ON..wbWBq&v9.c>lݠj~rX-߾4$m?W6V>©[+z3,vqg#a*22wdWG+v xu}iӚ e 11ntF6/^1dFMCFP8 R'Kcx$ηfƄ\LCw{%(SJTgfyD*U܀cvbI󟫆 %[rK̳d@%'Ԉ˓$C<ёUm_ ʊ0$1"kC,6oE؁^pz7# gs3Mnz{$QuâR%o=qqzڱNDWJy+x<$ϢhSzT}te2rJYNU,x|eLךYV8|TKF<2Zw: MMvz){/;x͖y) ?:Dd)汛n(H_-NybTKWq1(p&7Y < fOtS}WP @8wqŧ<5Oe,354"@g0nAט9bhud#$`[ \zmk8N8\!u><Du1=W)AGL*c<9B]A݇ee: MtΦ1 kDm)\Q-i?)˔B8ts:͗]P ^hH8zfdA;%˃&-Bҝ(>QsMI Bw2 tH?)^lgůWJJ_I :%]:18m?2&: 2Ԟ"iQ+3_gC?^tPYiA™49󷶸#V!cj rHЏ}4nQXqyX[RѪ9_OnIE-=Jy8͠%]k6~ea3UQRfVDPҤS.,!j+8x/dQT8CQbkq) W2oMNKf.CH.>br0Cc̡^Bٵh6I F vEHDkack1CRpF Ż#;CZv3֞C΄2`p~?u̜ .N;ʘ=gXp<q%SA訫 URCE>bjjP ^P+j?E{x%8qcIk: ,F2BMAvl|i؏(ӄ)UF0'/Euj<ȡ8Bc܆^}mp7VcǬ RqJ#NXd(cV #bEYW(<i 6< UHx+sYd;@0ǺQSny*1vNʼ #U\zW$#,N+2EZFI%r Δ+vA~ǫ&tPR2i_vvbM2H޼ZW2. 4ℊƔhkv S7&OT3-Sy͘Hݸ ~,Px; d}|.eoM7m Z͞3 WlJ|'ήFbTA3R9py}8,H%(_y߉MUx7:4M=n\5+a5#a͡W"bBlv^͢Sĕ?ǠqaR._qDQɞxg8f9ٷ3]%Jdи CW6 M=<3b^hV609ʪHVS9/Q#͊f^--ptclQqmܷxxy([.I >~9HX:(W0.j Dhaɘ(M9D{LUϕxԁtMa,RI3s b؁k7/JAD좷$APҗƼqp-jDZ6SMZQ35񹷏yȜu4^F?Xݽ:koKpV8 GK¨&IM b0cU%jP1݈YA<P\82XkKNtN6SR^ 7/lcRǟ(1Q,%JHh.)LE9F`dM4PчkW=SptPwT=73idZDZWoЏLDRp߉f6`5}O7<34֬틣stc 8:3*ìz8U/ySTΝPvMFC#<\VhӾ&$55ҚsO>W 7hsl}(lumb|Nvlc-j1Wiw6 댵rwCV KNjPfUsUUl86Fu,GQl- ٘n/Sdjz.W_q}йFŵL~̲7uC%D%r4\n(Jf aNi2E # pE ,6(%a,7"=1WzhJ\O BD/i_g JȊa') Eb? mo 䗞l~aЍaU_{aeBbVJԏi_a c5r-. ;BL8{}6!$M"Xj7 b^(1@*<ICI&&$54q<^B#)ePFONnУ9Brkuvr;,W{WKh"62g%u zGo3 fBT_.8l4vJha r&t]_(B~I_PӦH5zq?w,X }24DK(H4 `UՍݢ&zqK?08l`~%հ]yntmJ8@9~b0u3 dN%CS[VV̘n7DM" sSAͻ$|-Qo2Ovq]\>lmX5t* 쌑6H.]$#Ӫ.}ȅji8UHctzc^O&>4բvZ4]ݡDz޷5wb$ݜ'+}/TtuRli̒yn,p< Q 5&V,eҵ[c_zNJ`rMW5OlQ#Q (oXxszU:}LEO 8`c#I9F ;tՃ+ _SPw+foA3eqL D> %g*\͝,VO-@5^V@ <#hE[`qw͑ X%;匠%۪'x.KaQEBl{%)Pʂm#PC-f^L"8W&4;ȷ`9قT?0F}KM4y[VzRGaqcTVj' k]GTD9ъpEl$cVѴ[tOS퍦O7HyDSj4ي uN\ja/@뉛RDCT\C+y)VM=1M7Krc>iQ:%M"F=FXm0Ii;~ߴ F0Aߴ9s k*=H^ wkSeV`p<U1WQB !n6Ay2G;";.acl%?WE($0ZO1.Lser]9yqQ-%MOOtȴݚI|"I\3Bkx:WG9﴾n"ͅ?VaN;$<99ܒ-cc䚭6Yxe?|Fʡ8L$p,߽G9Z 58 +J,8|&(APx֯k]ג)̏Kgg"4N\5؁Joc,}&lo6Yrq_ F]2 ^DiH4f&"@0pIGrN^`\{u M11| ݤ*D?X\|F!I`n'~-?A.ɦ؆K0KEW>.fx6K /pIRsTÞ^"Tmb{;"QK TcN*ov`cb4N-> pπ L>D33Tb|}[/MJX1鉎Soif{4R _#\ kykAMI#W%ٌ4/z˜,>C 7 ޅ{V05>nqsy^xjwmRjO;?b gv4Զ64;l ?ADFvsUnz틘\) `wl0 A5)и #2Q%ۅ켋gX \>pa"tc`-'%gZa;pw'Mb$VX0$W1 u:-9LfS|9|ޗImУ:^\9dn=)+VH|ky_ Ǵz6Ƒ:A ⛊D|l&靀' cOS5fy"jQvp(Lң{Evä'$Nmy#}SB/ qvlŮ+hʙΗt;+ut.T;=&RY؊b1K x$_4VnD48j1hIL<[_&^R.i:>ÆŢ :g] J Oص{ߪz+Yo Lr?ˏ_Z>*?W\)\ +^Vlɵ5nk{ Y^S[+r#-EbI_c}sb]r.Q J$,}UH:LNxCS@Gi7Aq*451qwZAJ&<!+wiP n@|, &G#bjRdtiZ痟 kTnJӴabk)Y3\`Kڮ-X3`]Ff5%k9Ja89j$𺉘̐.2 RF]BZ52[vV?l_768MBm0ܴwLDAt&UXfs3pdIg01F:|\L FJ ~C9٘4="+^oMꂠm#А),0$rR؈M毴m~G@ޡWm}h"Ḥ{N5)%8jfAv9={ \ÚbnĨG&pGöiqAk5-[֨ ͙ C6ztNy{j)UsCLDóP~ptZNjyh/WHp_yz)!) _0m~IUAEӦGV#^+v+gWldRJ\N^ yoyRGsA+̢S b;*',Ѽweh+_;($iA? ՟Y]qL<~^&kjYS_=СS˵gՋЇF5 3Jokq*ƺ܀~_AғMDd-^sUР80`@'N-o*aWoXgAD>WfԟM]z0EY&8l ez߬,?yoBR@ Xŗzb Mw=Q#n9`D9LD xg4{lj؈KX! v"AI}ճn@ ; QP/4u==T5^t| ' Xa< yN+/{{Nqsò?UI//wjrD諸D}B&|ɆY" bMo3]\ۗ0ا w.#SqˀLq]b{UU[@ NJ඲wS_$@z@>W""ɳgЁXCnM{$mcAgx\S=\UzHPb(n|{G<8]E"$/JIavL˜z=pM>`O*~ioXy^ʼn/',l0o:h+_m0`XeUsCI IFMuQ(UPOWOĒ:8Y[%fދN+Q R N PmTb6c) %")`uF(KT<pJ&07ҕ̻uWSFѶr߻.$  ӼYڀB' wsz('iztO >g^Y"){~u(pg+&ŸKfаQHCYbyrՙ_DpN!I3C>|]>'IVN͵ *RF/QcC#\ߵցH>B}K)[^MRwP# w%d.{&*ԆXgSȺE|X'|bóhYYsr 0!bj4P/~0ܜE%~`ՠޗ5pr5Jfd9%LVr$-Ztv,S& wwyX(ًŅ;džP@ 3 џqtWA(r0`PK -FI"4mwovtMjrB8˺ /{3fZV.'2GPչkd?-3*0?P Oڈ*l0<@Ey۞<(gle 0h['<^2V7k<7{y?t 1E#רC=.вZ/f96 J_QgS=K_00/oPD J~W8J2/X-%18 kDRXce_$-=pd Urnd’,eT 3g);M" _Cqҍ껇 Co5E:ԗ$F "ؕe.I֯@5&#tO~J Z¯tZ^kV(.y 4|/(f:I}3yu߫Ejݦylv#(i(<=OP͗FZPhB.}ƈkJs۝ȊLC3UA9 +P|mP`^5' Y&5GD&ݱW jiZj0H`Iaۗ$!I33Դ NYj`Jc}ЕСvڇ̟WwQ'EIg{_*aۈR۵ k3ۻ;#:"TіǓ|bP'ו- x;h+#_Ѫ`EY}"͜ *c|ЎCs@~_ {8N$(6}؏$ +! i0~oWKVO`h"4r0EP3lQ:vBvL9Ε>!ީApi@rx{w2*iyUu\E7-g/ջ^En^N Σ34&vU l#GT=ΐalvFxޱp~Rt~L_+;Rql[w)SA+fT$bL/|EBjezvN%*x,msdqsj? \#E!)SQ ZOvgT`H;`,WrVҲZƍ [R( ͇5‰ #r 膝6z Ȕ֨<8; xK"͟OFlRP#bcF;n-mZ.8<}(maK$5P~#xUV@^ 'h| 0P=b v)?Îi+Uw׮X H8cx;U3qq܌>l)#}#Ep%Wn2x҅a+S[(N9//F̃_&JzpkWm7 K&xO 49Ȗ@[ңv*γޗ8.G+W޸q{1b͠?tXHP1EڗfM`y!ю&rP-GєS[yzz E y N oug1h"owq/ON<ݠI(c A{#.S$w_Ňpwxؚ ֲ?;ϏFb1Ʒ̑␔eW*Ib]U/jb\ ʲr6ϭ7cN>:6E:bJEśXk|;6Zs ^79&Q`9Wk×eLsLjZR1ޮyS6&]&ARwzK4ALVR8iv~ӳَE18JA![Ȑ h0 L)D#PfW֔F,< B'K1fˋkL~mM11Kǭq7nU|X lp)y?Nh=vkjr{zKնYP3(3ΐKp Ys׻~k%2`؟ueQȽ>'1ӜvxwiWG .k*T텙i> wUAEqNIB'TEal!rS.:r іqĿc{>U قȞWЫUn1*G q0 XNHokq'Wa霃"rӔDotC8 r'g"F.P3_c~M7g]܎ yWce>֪>@\SY!V={GDWch`iT@ F_o0zodyE38^bXV#l-WRBZ'K8&i0(&{(qݛC?7hnxvW;k)+ WG@(Uj N9$=޲>)7Z`ƁOôjW/5{_8 y.njU[U#0`Umk|G0),kr`Íd?^O}XHks 5+R'lXJh0K%FO1qVSB"ϩq+߀.nh1';1zjriRrk56\Ӵ?  n@za׍AH_Uk Oh|I;4c 5yΖ%j-I!m"Ieo]w4e 蕬;bz@"1$,? #l.,DlGjep5B3ID̹T0pA)c__޼( MzYlF!vJ~1Wk8~(E_.JU[!#t&tRc{J Uʩ:6Z9\<~t )>uYIl&/T"淘E+믢NT;շ~DFra.À4ϵCIwwkI澖 N3;Ҭ,)yEE kE|2lM3ģfk/PFgC!Ν,4m9KFxGǏJ2&?Œ4n&I\beK}DwFbb%x/֨5k;P 6)_Z?#BG%u; ֛}D 39mҬiPc1xܻF^xzUwŃ_2mU?#)>rOջfȚ:?0 9#smd^l+ul3h#{m 8Ϭ&̯Ĉ G66`tA{C}ڂy)-3b*7W;}fmPY/ n6.y ~xE _Š6gᔫs>V)|tywP;}NMRT:Gp'dO]FH\e<$/XLl v%8hߤ87@~UG*Lctp(1<ՇwjeJR}π8w@QR~þ'c+(uBcXRp.vT܄Yir-ϷbkH Kr]5c:O$ G3c3һ7+:&Ԇ4CV "׸ZPyRZ넂\g)<.6y̽b #rG!C- I% u'V <:v:o!?d,Z.T،ao$4;;=b>[i%/0Lib۰IV aDtf+ ~_"~ǝ_~Y~jDM#_\$aȆ|2Eгl[Ky&(ćSO S !,HEgjBդta=A a{XpR#DIZ@n\ȑZ~^}QUK+ 3da Nbz_tR{x5#dG7ia)cPB)C'ڞM̧t;XJ͟{"U'ln$[J bA7v6]V ~BSƛ *ڞ59rq)>_J|7>q&p䝇sܾvJ]]pŮ792SrHQ9b~u'yVKv L2(/ ]bE:\E#0xU)(T!~Jz07߳,wP\fRT~q HϪcg9qKL7woP)vPF=T:E<.]|9hҸ? c:jX!?Xlh}^+7W,48@?h~*A0ݫ},HctY-'Hd`K_m?EJtzA_L&_uDkbcQ<~$fAcu2Rƨ.mb =jZܾ7䶪8"7((x]EEg_LILR8mNh|Es;f,! a͐@P3`⫮3O$11rgfJ߅sorRQI ;d"V,ÜaV+d(J5kG #u-#~hp`^c;J4"t5{2 } . , XeE4 $DoPJ»p 8nG+YY;TiDT!p"Sl7̖dZQ4da>K YKu=_br++һjNr SoLJОq2x4Rg }OmBFʉ'%9ʽmXtk^뇻 >:!5Í ,m\)({~M36ᑥ  *SfZ6\^7nGvhgXu-rh؋b*DEk/]q8>9*ˋ۠Ÿs8BN ݷ {Xy^K=,p.F"b},h=ClHоPO\W]'vA 9cXX#cwJ-쁖$րL2aBiDlڌzl!VJbzCU{@A ut 2aItD+TwR FǃvrFQ.[TnZREÈA7@ |w*={$ b8@sʀ/ܦI aOFZbZi31r\Z_?C﷼vzܢ+\_E.EHCiу:Uq S~-i| 3üQbυ_4l XE`Mʌy6pvwՑ0 U ;2 Mx}|Н,xf'7FdZ|}m[; nk־zD1/SG;:M5vvs`4U/7An})49#'誺5{~9X}+ nV}K"ehdW@Z\};G94&m 9V{-u>">>\#,/J(E=Nt%eA77L6Mpq8,M 'q*zx*1QoG11(8~I^pc!&e%8(ˊܚ\%XVh?Zl ZD 7:ˡhnC-On_l.pfra}([U|67Jic@ṳ^Jߤ:|7 ic& v}ފL&v3$$!8W7qeA '$>k01SO@FWf~o \k'6 {_7\mOd'p+Dt/6 aUOrfA*Mv욞 e$fٵG! `". Pq<>,~͖j`Vl+{Ÿ%n ܨh,MߏʦW~ec< 7N@E)#^MQNnjzM~SBb$6{z{h0s)yLL.'}{@ ӓ{~'-o@h0;Re:n゚HQ\ ~@YT*)&I<T4A10 w Rsr=y+[R>9< NIŜ\%d }K2(Tjeo_e58GUQ1*2JuUc 0ÄҖe H2t8O )(ou3[\8}\1ఝW"hS-\EFဓM:ٲD$]z?p'M<J5X0W||{e[bUV"s9^\>O%}YyOSޥ̏K$ո9&N97tv 9۟\pc5GYsւ!a!HZK\uX%'mX,ԕ|L+3b dp?ґjNT="LQgK;c`M`ϧi1=-x1k$Ԭnyi{JO< Ê|& ݦiPIVq7 Wp (T3 Ir+:Y:}Reunw{GpZ:%*;RQhpϪi;.5 _wNr $](Ÿ]ꗓUOtY1n(=Xلj>3(_o'nuY0THVPl/7홃b=&3!`2ņ%K8DvD",%)5Mm|m3Swy 6&iz6lsUj0ζD`WdtR٥4َ".kKc,Úume7n*٨.[S9=mz*E.5t:R+u]7KцbPoӭ[r•2d2%7YBNiB5gg#E,]Y,>&x=dwQ|v./Lw\!mwHh.y2ts\0LBNVzeN'0%b@xk%s430B^^P4G<%9YPA.}0KX@8l"ʁxCpF-]!bo}}9)O/H@k/Ym"&&tRk S!x QwߚjJv~"iM1,˰v~-%C$`2GDp[ƽڀxcD([-Q$2NI-Вu%K`y8TQ48@y'KT $Ċ.Dӱsd&Z$ټ^}Šx?k o0&W n~|;GlmmV$$ÔQI1®-b{ iӥ͞B3)هC^fmqRPn« LJ \Id| m r[ʓABt/Z Q݁KL5]IǧKqtj3!śr-?BCFOFYJ(uj:lԲ~w_I%s[7&K~!Z Q6Y]79/&}Qǔ@9Z_m^QTeDh3FUoA{wGk 9lMÌ[);tS1CCg %/w$B!DW\@'ě=2 qvc`ix'ضj`W&Z+Vty`a$7n׿hߠUvT\JGvQ8Cj(P|[R7~:q[%7ˉ8#ݹX1x}NOU 8g:35XYPU}Nata᧔_1;%þ\it6HX32_M7bD(JްZХlO݁%ƮAbѻD[dZ*[~$st2ԴYcIn,UqVǵ<43qj?ӯRk". &r71蹾 ݃֬;A,r ޢ88'0, j{2xV:'d+3q'PΆtK`M[ sk2z~X2wsG_ VF2C:eO֥=r^>ѿib]M ]Ov'|ɐ;B[˝?RECn qzi!+&#i+ S$k(2)wx81q3$IvZEN.uALHl#n?V6yg^Y$b4vNU)5@Wa0wldR[T Cȑtͼ#9Fh#tmr9l2_ZJm_X5R|ҝeW1x}.q979_sWs*撳D=g/ [ "Wݔ_IX.Rss K;`qupND==|u'~⨞-iR?qC~;Cl:IhA2ލڂd&o0a.4@RGpUh(c=^ݗhi6t猣ϒVzgITl4ZXoIChh|ɌhEШFiĵ#k)xֽllTD$]҇o+餕{Жp9k!OyTgVH7~xK]QkBnX. j 뎓HA/<,5y8}m8NZx s5|6x;l۷_=xo}CGnyZh*ZVq慞,ȟ.0ʡ~c("o RWmFDs$kV-gdM"1YrٛP6;Kd?8=/{ e-c\kdOb8 [Ln뗴M(Xp~uKĺf;ҏ7.vOcAS'ƓcVqԔ|)Z5?ơw`Ob0 a~C{Y܉{Dq#B t#̅kP#VCQn ~O;428.3(L"aaqյuzGc%yD_MA'Fjs~1l3?r ÿ/RfH'dvC)G3<^e i,`Rb$Bq[1t*%A˾R5ҷ Id) pۥb]`^YC#ׂ_ X!:S=_['VƻyB;@Cn?(>ćۓK8yK_y p`Sx7$quqsQrRـ^<Ew֓bj 鉭{:@TDR[N%W:=ҁT%ψln*%c]7nlJ%ǹuhǟX(-4ܻVQW9+ƙ ~}aZ7PV5d\NFyiE*ư)!ўPd[uA|hËX{_oh&ʅE{C7&\#l6PK'@9շ6jXXR\Pa$ 5MmH54ysq}̄D*[Q$vV۰MHRnE 0/h-,BHϦ]z_Ƞ؁ JՖ٘|]VVR r>;3?<RV3.xq$ x>FsuVO=ߪF)(!g*\A{yP^3fFvyJ„uL@,HBw$dR}MY.mRFK,!U2?qhb>;UH ] 2#tǝ6~G^1ԲDt>vX5v8A!$kIQ%$GfE+ umV1ucfՂX]t~u4 5_8t,ɫXz l5z)#ʿDoeƐRe]U9aqA h2QJ5<0ؽ f0"D3xő{4ȬT{kzmeyA7~#ⓑCI7BQV(/S!mbtªឨ,U,Sݠ(=%kTz|jq@\ 8`Qvsv?m [@Hȩ"g 670 ~Ln&6{Xѡ8[yRʂ vۑ UaS}SlO~I , Io\ Ù2!oi{~ΧpBy5 璩8GSsíwJ(Z.^9 E&fώ2$Wg5ёzv#_ZFcҌD?*>;m|3FApL<|9 ҒzAWaaV%ێ=#g·`Qvc`E% 2 ( +x~Cqqܠ(27nb셛r>?CSlՓ5T p>-<$SJ68ҷע!HU䨾ZbS73TZv:9bA%]cne7VLmrR=]3 B/sxvL'.5y窓;>'4S(ü YJU{D+O5,}2#KNVZwj_f\`ʠA Nq!6eB-ivIc\s_!W+ C=V{0(`}#w^gd)L3cii7)Ud$VedK}x`h|u:9>:ZނvMC0S qC\ wDfWWbx^o;Ymƃ'aDakb5.&ќᨽMH/?1-yxki 5nP\l{ע~x*PՑTX_1|^E=mݫWU~:T{VIkko8ޓ4heWnxcFwGhCցv5y|\q<-3 A]DA<hV&j2q-  5bϢ1mx.UԸRFj]v ( Ēh}*_ YrԽ(oNnnmʝ`%8#rD&TgeOv#t$TŐ z[LMJv VI g_{O_;`dr0h FEz^w.))^պ'jMs1.CS>,^fbpq{6paB0xo*H@8j:I;|%31μ)]tnHX%\H8jucgڨb/x \>W8c0 ӫ5%{]DT`qwuk_c٬ޒPZ`"d<M}dI)e簤5XtC<<22Q}'݁LK/K4{gŁ}^,lV0eLqSS'KYcUF䖗E#wkV:Όuxp>lsMJZdmGJobHׁvtvܩS xlEN$٣{ptP22VaDB{2(CW61Yq>0hm[,4lIDٶJuVH{;O2drWd kl`:9Bϸb‘;\|Tic@ 8H}-KbSFԞ>OhdWF #!c@R'lR=G=Ig0HDa;+O ٝdM|z!gNr;i?~?_8OC.{ؒ^\t(̈d>toW чbE`(Gh,4X滀i szo49['\JpG/py{hl)Ŏ"ܾA?{l ز&sqǩ$1Dɀ"%ÃY.ȁqf,|_bf%d f{&XJBTV%qQE?Oq T3>o\GEpsRD,[kkc5fhgІTzV*Nu՝w'aAC}eĚF% Jlq !UMF${]NP:zƷ2@AiAk'U,@.fz}Y !Y?GTs~ *wbf~.P[z 50pG/ Y}1OXxѦ;NAeJ0' F6 t]P02 ,RK*r721b%S^9fB%g/b)@7TUSnA]2杦=G~Q(?|:릺Ժ|,141aY1?`W!L׫[eɄ\E-Ɂk >7!O8loɣTK9c\3oM5t=}FK4*eq \aIP(EUuE!jґ.3o3#7rԹ ~\uL B9GQ%|ҼdUc@N D-EC$ Ҁl4,qXXgJZ(;U%،bcm4+ .11Ψ;:ڶխ/N7T't. wd)'ӓޢ@ٯٽ0 'X,bDV׈8BS.(U/hhߴB}nwb, `m߈$1Mn)PAM,B-:u@&A$CsUlN  =/m AUW^ܕ6mDh?B挩=Yr;nԣayQdMBuFfuaNy v8<cc˴2JGIAh #y۸IC>Z>+TU9U{i `pFNO8(^{ Ef+*6u_.%W_7݉fξ|u1:7iw>0[qlBVg\(XUĜ8s.Zч76Q]H7ڔGVPkl-ÚJu%G'C5[ @ûvޢa>W6a9pٍTQ`/.d|$ӼƉ>^ 5 b(ݿˎ33# 'bEJpr:Ŋ9a$8pS3%Zyԓ6L7KyN!7rFzm(]%(j1ZN82|/3}C\ζ= j?N`@}]Z~ Zɴ[Zw!وx!5PC ~`2E4/Ԍk}uwpؑ:ϷM6Fe+ۙWo20»\O3bz$ِsEDܢQwi&=I[)4E:6=崫0Įc.IFi| ƱS  4Gw dCklR&[p(oj4e7GF*YLkdBw8J71M7E=enjF%oZ9F"F=H$`Zw ?X+G]0zw,AX<-8&`A1?9eQ`q[GnK44s48hU䏽f/fʺц! c|SKeo_†jIe+.LȓR2Rwh΂ax o.QuFtk:4tc8l1-py( wo$G5yQ6(!'>W{w9eI' ˆ/(r0 q? $=?cʞ N򺌱| gsHH[ԨaI~6(7Q_ l wCeM|q]v.0"guSjѵN-@*, `B~AWq\;%r[*%`rHHITAj$PFRn6.[Jג$@ݠncDFT>+aV[wU&GEiib BM*w1؃n k1 %s;G*x><5I5ͧnk>uJfh_[Yi1=|,^!e ͻ !C5>.T1rNag}[xJi2WޭKRz$ۚt/YZh_Oj]GhE?櫰h&{14@Qքo|Vut2d1̅pX( Ern,C#מKuE!<1}N5a8BfqnBY܊}Kβ>ey^)KOimk541%/*w. {EVBE҂Ģ iSJnH=qyׯOsޓr(?qZ[K`#%9mF8u fO--a]˽>kBtP~bܥym.U:T <;%\q_ yߣ-ۻ{ l 9AD l޹I1#}ց6Fcw\0- ,N]%ًRv ?*zOv"%f0# }Lq{Le_1uf?-5[)Gir0zocaN|S‡NPK;w(ٮZRUFSa>oo&Vx_wJv-zPћ|y=嶿`X ^89G^G)+kǛ MS!Bi5KQ/-w'QOk R'f9j zrM\&@=9l ș1.X1qj0iF;cQCz:`'`1>ȷoTE=|҅g]eqec#GS$apZ8'tƑ.3sHE1b) ~mhJp\@ɞ1WcRj5/Y d *Loڃ:J#9q<#99eAu8 ՗?ϙP);Zn8mϸz$k7}2zV!V$d Q} 6n(jG~-WBN  0C+k5).82tLօ>wI_5vgdsc<@vm Z$D-/|v>)j.Xu4&.,r_u6>%{ӕsO@:z~ A_tO'xtLNՑ, `$M. jf(!R:g4) =s /-o3b7;*ͥ7,!n%@ XY?L穹/~Y:L3Vg+-M>5a=v3V*mŻdױMT3<_y86*r=C$L@8(9M7pcc\Ϗ_mvlP!a!t[¨'W7N*: Jk/VTmGԵ-ߞJ 9F2ro2Xe JʼnoDF?lCģS#=Z %ݽg"rCND)-XYKU[A Մ1ւFDw(9jllaUُ 0n+ûI=nZWG~p^фAx9ͫu4|8ZFL튕(|SH'?Kg=徰ʍqqN^{|]Sa>-jU<'ud :'Db[$l ȶ-F1TȰbcJQF'gHKNqch<D/g3vˎH oi"x@) p  ])gt E]`HҚKb=1ֲaS?/\3H-U\DD];;Dj.)ٻK-]m`XF%q6t2G"p*NҽUS$ `D*򶲺f 㝐:=oeE/){vxKbḲJ" Cmܳx#֢жw 6GoꀌfQ?FysgZ~ՙ& ?7(v`W[fZK;4 lN>JjI 0]R y[5HXj{vSt8n/ajҨ$w!83:e%Ž K]' ̶8{ Дx+ X@ק#cv_tB3Ƀ I'>vњ)+5~8]܄|J5O8`8A@#/T숡Jz(łI@P5^ڈB䌬_lfzVvj_Wҵ:_338APm!H;uӔ+&NԻl.Z]c߸ֽpݴ;Fe %$l]_|og(> cH@+|&ж3=0'%heLG>aAҼ;m;?`S ?V[+$eX$P}$_2],'}ϻ*.̕{D?VLm ~5dt igj}uzfI*pqPo +Z0⒕T_/ͭ@5qtj}!e2Ir@:zxAG+v p$N^|«| b 6 P!uD\ȏ:P1PD(E% U%!)/fzOEvƠl`ǎO/%!XCϢ*>X/WSzw0?-L7+0q\Qk.XJ= h-:d7[r~FQVG7ޏ-gI-t hPJ.ׂ ?+elʯKtZY0B,/E (tXn&IdwU+r!hd#le VpO@ י|#SVĕ9!C~txe7#v[U%RPަ a1OV[coD=6G/T *l0FfI]FLOp&(DIKƚ3kib0Ƣ4Iu g@ec3Hm2e6}v旙K5uO$XaLwIqT ?eYA-BD=Ի!c>*(Ep0KZU(QChM!םwSQO~3ObV-CSo5ݾI՜P}}Q D8_?|O=kNM\{E)ff?ֺ–⊑Ͳ]3zBO07bU)HKTRO<vwN@챔%}aĚJ'Y -8]ka Uw}EBݚw٘C$e>j8FbxyOٟlZp oH!*UnFߣNg"悓1ɸJfB[׼ߢڶm8arO/K~F}r V$o6Qą*( \z?x"8dwb_c5IFFr]@D jG4dM,I$5/Ȁ>bMq!obl풲<l"=EqjcO2lŸ ϻ#$rԵxԍX0[bCۥ(aao7ی! ms|K:Og{'hoҽxu[j^"2|ۀqƛR.,10]Nr;43ݫVyfc:>:N?.dz[ɋ=6%xWpCM ۅ"RF^B> ,=Q0"^DknQ@Ƕ'xNzU=-h@[;>ʬؒ%HIu^mѶl{;rv$-HeW ر&C{j+n[я@ګ4#hJa/5Z6ѝnL\U|ڬ(.V,]UO; >9:q"Ab6ZVQ~KCl;tZjÈ#ʪϤk%eޮ1Wf*ED,>쵖uFW#1nxДkX fn XS+]hu[7L`%"6xg<&Lqo~Z`! ^*N{bv;;\9[?j;TD,/@jm"r@!6}'0[}L/^t~D1}rsZfPlv;}vG`}Wj ᣶J!Nd67&ihU(o4 l?VGḡVV̓>6@8և@"c o>fԡ_ꯃ7_\j]o?xF.OEl^K^bnJE^qjh'oAt`?^\ώ:-i\Í3\{xUl9󹫨e P$M҆rZ wszkP6mH-(-np (_X:=ײsiFtrPy0j0.@u>~#7,%Nb[=vA$0Q&mȶ`QZ /8{vsMhedJP Ң@ԧ@ّ0C~uA/i깊nD*Td+ c wP?MTznlZ5 -b_c9,`}uXj".{(X|q=tUgY[n8(w,_E;O:ˀ?N ;*G)jqxtz CJ0\lR>̟mL$ŵgzGrcK ~hyȳRJWO=.s{}<X m C߰E -t>W衮p%QFu4guaB\Cݱ".W ʋaQ=Ol5R+Br6G,'t }0 X V5Ht4W+` 4p"fXFU 2T&?oyjbkٰr8]3~7@!Fne5vҰ)$ KQGQ>kzɲ|`mqh`뉗,^<{EpgYB1ʈFv]5:H ovE XOidyGW4h< ؕf*@­B1LkoND5V+ `[aXÓN1[)M@ hН]$a^W:cAh/xʀ\:^+.݃ ÅBM 8ԮmZ4o[ M {K5&%jDnQ 7cB y{bžoe/rfɍ ZT UT?9%Fs\vTw{tAfQ\l ̙"P31+xdA򨁖ImaUr h[[+:.woe샇*%O;l2i1fP07tAl#cё|Ci?`zgF-_.=Bܾgq.s2j2xY˜o|d%-*[iwVR2# vۛYg@z60(ba.4#w*AWΡ:5z @cZwC (YAzh",m :Kj3߉1xŇ-QSɉ(VҪu}:᠓r:Zڛ U=\@-&)I35]H# @hC;Km8HM3_whTsڔKt2 lgs g!,3&=l> Jr%ǮÏH}a˷^Fn}7^nT#K4vprix;`UFQR'd )Q㧵T&j4/^2R1RNBQ3ci_wZr09<(ݟLWUOpQKw00o8^]]RtYmhЇepG\.YS^"(8͙O7*Z-{\&NtL@J)J\"n+ljXT,T Z@R!&tMfNL٦.Ll:"!QŔ\sW#ǩ.MB.@"Bw9 -`5D53.-p{02"(#@SBX"dEǘ_zXBUԺ*J_)kiJƓO%94Iݡ|ق{Wsd_=Y  9Teỽĕec@py_u#P\]cQgi3@_Vq>tBU[ah@uXBDE?'ٯ#q 7GNvVHM]8|b B \x1po EFzb- tJ0yp[pU89z\z ypT0PȎz}s#ܐsbp>y"V=d`#,?"Ύi6f@(?;{] ;rne~C)p?66ηΧMYb Î$yv5>R`4`* BJ%;<,X_RVUceW=o$b`=-PJ*["K{ju|bh 6сR1TNOH_>0ecEqfXhsz=44(vrؽ:&,aN`dfRGUH̍ :)HkX qqI&wD'nuU9di԰$%PΡq`y伱ss*Bb?Gs-!WHF()t%}Z`?a$ 2U{B 5aKQST7״1tkO :R%۰"2i-mb`M/e2( zH5ш[9^ӕ D(2a mc 莫9Nk4WP$.զ\Zכ~ &5E}L fB3x7/GZH_KdZ (|3unp2+ݰgR!5,T@Ymh%u.}u4eb )=jf]Pm0Z!wׄ̓q8gPm`@c;x=L/l%{=Mަl#3kTX ऒPHO);EİJ9K*NКhw)>hS9c۔[4 l(f5| |-hM.f&)~QģʍjBN8 ~fltО M[1*jE؅M |z<뤋uBR(D(߻Yס ^n'E:IoRCEvez}s^ Xo S1lQʀ kGPrVDT4_;?˛J˜^;~*FH"T"ro#9\,~h]vyRE\s`#ٍ沚 #r>47R#"]ASԝ 9*C;QpX,b+1)URB}i8e(qNH%ͮʜqFxbf6 RU-/{zTJqzJ* (vnP}<8VsHm_3Z7mɻHS|WgGzavm k`z*LG̼C*CDsT5ƾb ٱ:v|[8Na]t61"o59ΰB zq$8P̖ʅF:Oka2mV-*v84s l fןI1v?JXRL fpfq\mpA^G퀼]o@Z%5T ]4w6fFCsy@~3tj=ّ` -as1x$/u욮8?Lmz.-%h{2yf5Ս߹FZ gCӧ/߃Vy*((j j`lZ=njwx._~Q-yc U4׉ګqezϷIwE-CloLqo 8sp~n]Ƭ<ގΐ/[?$-W]55~FZ>3P;O%C˻G}&0~zIºO7:+ੱi9zjS)7)ٕ8d/Ft#rF +cwZoRdySMh;HK=b}w_ j'qI}Mn ݗD:{J8򽮚)Tֹ]WPb^WTW@EnddGTD> st (Wv+fՂh⯑Z\qˀ ,sh!Ơ޵-KbB)*n*^ BH6(j#dpFR ̈ͫ\qKSGx6T̟s7= lkR|* ;Ƶ{/ipHnh#}XM՘p[d3.@O5:dpUaO*t! HNVeuhׄ1GQ:&)wCv> MKBY$OR̾ET޽|^Ԋ@bbR r^/߈U a3ɄK˺@8=\H]4PjB>DԞZaNJ ifUXͶUکՈo[R^u)un7ܐVӍS˒$SQ , Ln%8,j-4GZQ%YVmLjNT `H^*4!1O^IqeDzרm߯w Cpld}]gPIl;"U `Ҫ Tw^uM;;'(o_U6~a%. _>gjoI==9 xY`>| ̔0)_fh-cݸEpFǒ*WX7McXQX}a\3NHmB.KDl#`҃63cxŘv;LC0έꌆIֲ# ȜnO1— =cANrN}>\9nUFr'À ezXY|Q$;F5);@- I.<ȞE2G'Ᏺ hj Idck]F1'b8 A)viz601K?T/n8۾GUhe | ګeUnp O1UI|h>S4J?ɁQhzNX <(j` {A\mV!lDJjW琰ߧ06„'!'_0{! HtXk !TPAuљ&4_+1XoNm'J 1lM- :}Ogn531nMqNΊOu@FP@J1F]0~[RQ/%/".d `m")?fj}L)eG,}74P\BDksr=bksTލMHRwG T\ o/T$Ɉ^-^vY~d;!wOd(bidǾ$6/\jx19 uq"܃~uك*'!mr:G}[r'.+ >q]"FfA̲wÉ+ZD9_KO˜k:5Z^r*KPRUʛ?a[yU%)@ RL<fʓ&]ߝ1f;s캻>tc 3#߂ ie!dFfЇD CO}6<^ݽ`b6*ō!jP,5b:v$ek$!vz[h!ږFbRW86i/9?fd8W?}Iߠ:"@L{s$x*U_q2ٚUu6[]ﲧёJ+{p`TR#AW/u0Xh$b^ sRL;"k1EoiSKa sˍn:u lῴtnh"O]mA͙#Kv4%a gԪb_o}K-0OA(\:4vy\&U!:B C\ oUa8(1oޕNݻ_t|2W: aJу ON~po:Uτ]gңj#eqz< yq>-/pc!1d/Q(Wmndہ4$T:5JƄ]vB6ȚiqHqH|vi-է,Q`#%u&xگ>G'c?ܚjXa^nwԯhͲ$*}2;p&;|nR70fpCV"WJ:^! XH)ୀBȫg7/$ٴ}Q)_'|hN g k3du^Vd vyZ Bwj%uPOG/JH|q,(s@[{td]!@em;p~getTLd`tw2RMxk$+2K^Nkϫ}I[0ah{˙=z |iQ_>~qi3}\5~ .h !sM/jy-@ CV3;To~gLư,Q(>ꞇLoɂ|U4}Z$=[ XiGJ'ϛK3;i/(j_|B=M S"E_Y#i9"GDUco `Eox XJ=hEr tu2@fN;)~>bb0fb9R7wu74*lnho2o%?[~/i:ޜ`lh1l;Urmpk!7a>y%(ɮoc`t#GE1rf9&^&VQ9ptԾJ3@ɏ&}?i {?mdP]eΏDD1̭9р2CY SRܱ<-$3jUZrfJXiQBӬ-ZhnwcUa2pN/iȦȕi[urWA*R[2.'1\bg<,&#  =#+orM'X.w5#IN~7KŠJv|.|H:Aw"Dչ>Bؗ S+)`a'0,׆Й!Dc&CKcڋȒX8O1VQ^;~D#Yc@Xg@wv3PMt|kQGX:8#[!ݍf޶)DxrFjCFoExvJZ;س4װ^*x۵ѧ0DzeM#j5gD}YԠpG CGox]qQñ*ZsWGJ\\2}꭪DS# ߆PDF@8A >귣}C Ǩ :ȯȶ৲t5$SȤ"{A rrnuh F&۸Z SOً t ͭ j34#n= v 8u+広*o攢I)m{Շ A&^}hl[spkCMh4rjY*5 uQHKϗWnq^k7g#y-W: &؅5<_7=#]ɷd2UzR=YSI\8I| +H CFjhU5΍qd]0'鷘{CG4쒐6~r~qm]ÉAb  ]+T·X ^*K؏\2%p}$p(E QDy'>2^L7zsW }|E=.yZ E~?f/T̰A¯y7ΥNheZ4Ņ/T0&49nw)9rD`gv 9ne8;ddM#T0G1jpЯ\.1.*|.W|}8FN/~,"P>2h0<zEuUNej4ƒc޼w1j=)<&ϻ=5/(WS uA,1U5B%k،~E"Tk4ң3#uZS6a!ށϛ@0ҕ5!lL?,c8h hȝzAPYj"&$F غ%L8.UߔLg0fUu_ N,}One=} N'wHb܆,.V, BݖSMBNj r0d&V ]A1h8@qr0O۬;18 G]m_dTʠxWbLoph PN%塙 Djo XzF4ggcf ui!+Uʖ &d٫1@T|ـ [2Ie?+}g,uDPLPۤզ뀉հc\<H@YX)Q=MOc 貋?XL_^Yu z\}sHكpj5a_*bLRۣ(`k_ }SG2s6“|?(n'3B,=zg kݟ[PF2lܫĥ.[4=FRTdD5/י{oBI #~\Bô~%i̊Q#]] _qx?Yͦ&d{@&&1NW)vU[$suή@0l$W&\U'YƺVpgI } E0&u)ZnWf%cY!_Rj[Mr(ݿJj6~HXPpF1L lT*wS# cLc˩i.ꏹU;_mF ٬xWG%c,&_v`C6?n59']*%1pKQE\qJUP@crO8 K}vFj`=L|\O̢ "ŀd\ )if٠AoAO?c9Z}UV]V U߷Û9;o%^(?hLރེ9ʅlv8͉C7*]^DYP6kh )$r_'kt칄;-><)lڶ#5/`gzN XbDd;[ШQ2U #6kـ Wy̡A/׮pr-o$PP&>7ucazH2#(2󕎏]Gv]DZ1kL1Pg,r8 k$nB6_ߨ00 sC #Ce l1l@Q:WP3f塄淃٢N!Z~;N?4AɆEXqDY`@NѥR"V(5Q) _w:t sR\+|(8Py=RIIݺ0)MLAVl' 4hynu`NoXB3.:JCm9cWOWWwQ:|1CGe}^IZTk4!;P-iFc)(zk/:3Z$!f#l*O ·J6-^mCK*3|033&ӍYD) ;{siuaXO*ULx^#&&W>'w(I0ʻоyȽO#9K|Uhh|iO:bP'yAٝc9VҸi?bzd@%o<ԭ]BTgSLzsp*| s~8BavO; 5Z\UI@<*#]K] 61XO;' 7]̇"z[Nc{\Xr,qG+c9䗴܅eI4kMW==\ )sgeb-5[aEl0k;xlxЧ E^+p!uC0*_ɻ5=! c-1>se|iSf>o3o`Y;'ՐoiyŞ#[y}fuө2>uqfۜ~JqXyνyN-Pgy{X9Ġ][0U` \>e~ TfO%)Gэ Qi]`ܼOO>MLo.H`lFPH^V 8htԊixԒ,CnscZb*dp< O]·$?;tC*A} lr^9Qo-xҝ] S8ϖr7-_}5L״ou9o nVM UR=Bw{e(V-[/\ac}ي`#8 M\}>qZ=cb/W nžߟ@ Ixչt ZU* 9꤭DU"-RJ =|2BMs1Vu=]I-Wrr/UG15e;o^pɑ}N~A@\ğR-zej?TkJ e9>gLЈ 8|Hd^i#lSS#/ZwɺK&2ȝ0fL z5U|VN t-nu + 52/tN{r3ӊTU"^ EAn'ArcMR7e"J`WSF"fW[Wh&2uEZ4!@[f01 h(8'Ѭ8ozjkHAu0N'}Äx!il':f/uP0_L+ d7}@A1_;,gy770 .~fY/D e ̴&uQ=.M'&!qRRu2MYCX}=H]OiCy?Qr2O4KenLu+rhlps#3[^LXH}1}t*򩌯'OX%ىwXF.#2Ddl;.͏XK *GsREd.,hʝo_- ~.Hcf'3Rk.,4V}fT1?ǯ&e'{+~,Q5i_E0]Q3mM,\95I0ަ;?ƾ?h n30#JPۤOocP{]*:o{nwJ@7U #s:$6Rep*gCjsL\fkVogDb(F͘LkgͼXʞ`؞G&VZfMՑqlߪ%=4/W R #Tu1]s8m + K8Frd_B4{gu`с86 c ހzI2<mU yvkFDR1k:ʌ!}01\jmZT FvFc:{>v৶_rM9D+pZk^˜r6KsL|ZZz#{>;X~4ζKl(єyEË́Pb)^]OHU: 0[zF%zT_j%Wg]"s6g=!3^ ڏEWLux=$(rOعra&:Lg_ dKm۔ anlH(k93>{V8 ] '󖇬kWU,n5qA Fa):X+ѓ8rkXEJ-:l~>W_ZcԼdPcDA3z@-HXB]Xm 7>_H)AKTx2˼_|֘XPe0lz哟d;顽`g(J! 6g9ʹT]pɉ]d|F a<|P"Y"'UE+)MJ3feo۽iؖXF{d:ud|pë,[54=y_|[l3w\J-ַވ a ,wvxD:Q[1Z1N>4pU*Tސ4R(GS({' L1eVe,W*oq,,b<[xx (/Ko|E1$`$x{7N4 #ƛZYg&in_ДnWd޺l#5GGSUCG\9q6ͧN6NC︖ !a FI t6h0uM J73w;|ÀUrI@ѲHyZXJ h0%WiʱAG4'瞮$)+pDUu"è6뻯j:/=J{b}eЧ}Mǭ)Ed qFah捲 0TyhqPVP&iiڭ %99P%bqKU#Wu9[ +^bx&/q/EG'_R?^R q]TTW>I\ $Za-{zoKڒ!ZvPʺfVq]5. 20rE O(7/X"S?(WN!#bI #Hfjz2imj٢wF wcH4L]bۍ@ASsT>5Ca$<># MBlBR5{\ s? G/7Մ"v;M:"<%`m %->.;n8pnM6 TWO19EhjM-* `iCXQf6xٱ^뱯F'ʞWZ0ЏWkH+NlnK"I~q|F{{"/ {.6J4)OYi]^JB)CI|*%!(Zܝb* 'J毋ix>LJHS&+4p}ܷ|zJ!̎fv-u7}qŴ'IS4atizQj]CuijukE-9P21t~H=Q(Ѥ |a;Iv /} <_s2ÖLeuKF|"$v42 O˟]dG i+=qv_cAӞsjy4pp֠H* 4ўd+5'w1\HD tK(JD7ID.W=n™l Vʪ8`@(+cKWb>dw~b 0\\_}22Ԥ"춹tz!L/t"y|$`a P2s!Ǣndj͝O/]肱ir K|OQe|SEK[.2 q ^qȧ "3-qB=YiR:{>|]*멽z0-FL]~rF⡹̲S֙-G/J=_Ja ]1:6M&.]Ih_p| 0XlK~$xpBsҒ<6G1:n4)c g2L ?oD_X8 l_INlڝ4A}f rB2~! ƜN(&fcP:,<^br)ڠcP*!%aQaE:vqÞFgaq&pHZ8.db i|<գ+ŐĦ#@$`'ǘO8pښ1Eg@t߬^㓯wiׯګX'xW(,)GD]KkFВFNG٥|_hHRܘ)@m <雰t Р{$h O{BbQ2I.=@v"Zl oe9? } /mYgKv-5W&=Jieඌ;a6ΙDPl=v$-RŲnY;>M[+h+|=![F\mnA_d 9نKӡv6wf1GUxo}\& 鮎;6xyY]yGBz-LE1kf,A FPu/2I2?cd@'-Oh|OS=-Oyҝ$pr@1&1^ 5[5@͋'& K+Fy*oƏc'#:: L78;ũs^:;n&^:^9BJ3q]:WY]]DC01}WȣلZy\vFDOHp  ?[l@ r+֊HɌG1 Ǘb8m!Yy,/:BO#tؘv iqVw1q@W9/N9#c2˱(btW}z,'DZV⛈6 6&I2Z#jE *{F̡`ƅ^`hP44*fL-1!<:cZLc3Qx^/P+p; =Ǣ.T G`r56TZ×-Dp- 2l=#_>2#VW&D8 2.қk)|Bn~NG E|/>t@mH J]Ѷ;7WImn>R/9.(pxG]5'FXhoqU8yT6e*c3$Z/7& +4%=pY9Ha: I|| 1MoCv.@?\o|_g({a).e=5=DH5\;n#()ȥ򄋩;IQ,:v\DZq81qVfU76&vqze`kˇg'fELohCPZW]j Ⱥk}~28CkɾTy(?/L)o-6cSK+{@ֵxtuZq屚CEhԭ"׼$'{PJvB7 nOƛ@\ H}ML+LE% o`?>GBl0%XBb/35=t ; g t[/==h |Lx>wF@k>$j{wUM+zN+,[E"،S0KD*oԦ:SvVu|,p @5eHbVM` D0Nð輨6G蘺P){3e+]sRvKYkqi&4BRo,;8 f@!]6^N꯴*$qN)㧣X?!2%$kYP{q92Uj(n9eh+;ePh<0 &# ^IAeuޒ.bpe n)Z.x6I\B,qC}%i!NߣHU&w *`낤[aABRKZAK'XH̋<* ַab#g0'i ¬-)|F5-Qc@>T:c’H3IЗR\F(ALC<Յ/sh{l,/mǺ*6}Ծ5[b"8[26LxD{hط[X^%J%j\Wb ;\F;&id~BHolN_?n흹LY W҅TUYL4P9TLI0 0Cz ͈cB5`xDe)vM&hdnlLlBU#!aJʅSx2~(,ʕHtYX_Ś&[Hɛ>Mbn|)uGN{齘_'sx]=M;v#NT?iǧpRQJOP2lݪZC ;6柫 sV̳zfWхK94vԘlz b3A)eC*Xo><}qQ [ƲX6::Yȕ3iP[V & +ad\ĴO>k}l_nzM+5#FXYfEv @Pw,t&Ajtc1Z ssœ\tO&V2{'i/$stY=2=EY rg38EKK*vvaL?+=u'] Xo{fh;cyCOݗj'i lp^*|(Fx0ӰxD|ڬ#VRNF $b;cS}-7ћ)W+)a+aMv"xQ yw}cCsi$ԍBLGq'4fIH^d8inzj|+y>܏Ĭ8pg[5=͜KJ)9qDrofb*Ƈg;zk0*,`i6#l(@.G'BnX-}CHo)i( rMcL*`&p7gD0K P+tٺja" 0\Ld ۈzFF˘PugPz<>INjA/ىemѝ} Il7 PRaҙ2=׃5Zp PӖ\c3>=F渏X٣|^=8EUO<1\` N.._FP+`&p)IZ G;51λo3B*ߟ[v)i`fs/Jp! gjُfpAvȯ~HSt_Fsӂ V !ymӠ/d 0R~1 q]rio+ff㔂1c>J&̈#1'CCy#tx?yfMhZO$^e|;x)w}U̯hlUwu"M!Q Le#)ZV&f1S{9nlCƒ'bpM tfgwR$T]48ij2NICF9,C:vjf6Tu)Mx=+مf׾GXC~IaV}/6طظiY & nG!?I@eTsKem\@J0z> D \㛻 ވ]S1˳hԦnл^JuY:\ y'?طN~b D$W .Y3Z]i$=RnP6\Q9 [쇢P>}L&O|MkQgٗ+Woh.77}$!XŊ4ASV+soi։*> uj̓V9j^JV2qY#8C#H^/]fi=^!KsSZx*L %PIby t囻\c h*rqX}]*^֬] $,|&K79N,kxV2)u5j%xBuY8x&Ԉ*% <ǿ.YŶ!J5Ժ^t?`6<&-cv2!b.k~& ?/O6#„; :.{^pyȔJ NWZ~eX=Ίd(Ω H;͆Mׄo,e$6@4X 1ϔY21YP{;= qi$kY)`܄~ FYG8edczx!zb[+eEjζ$ NG XIS]6a@{Sairl~9~mF[=M ?Dy좦H{RB8IrlONgL$5dwIk6B6U6#qW> ׶hw-6 uU;= #,BJtToPZ5|185)_Z梥Y<5EܫŵJ?jIUĜR8BⰩ Ch׈Qo_8v.ț&36M"&`֦V7:lT|m;tH1\)dl- / 8=k\_}dhi'ӛ: FgBTvC A=jN>_;cE~ŋU6g."7p$a v ̎q{cv!C_Xp*3?Ҿ9PsD@,h_zn'j MФ3ɽ3B}))>Ͼn&bj"Ը'I*x8.h ޶R_7P[LTt]R**QfMi-J@Vk&'Jl:_#%@:%)Li;sxAɜL8i#n/i}A͗ް:"M=.V"L?eYf枺\Ǣ[B媔 ' s,KF~@jHPȗvvl>b}<4'>šJܷl{Įǹ. X#p`p6:b}93p _ .6k.C2c_SLnyEqX 6;bM['⠩?dP랄v*c<:|W6,] LVh~`(WZ.]255M;$m_=xeW`Vl&z I^/ .WZT:!=m˓9\n/$~tlҙ; <t:bpѲ ^{US'"h>U89yp_ekJ4wY_X¤0!H.6Zީ?Q Cعoف޼#΢hmZB`(m^yǹ2|." }>^*̘ǀ<:7@٫xVO -Ni@bIi$8fk}rGw$︞FյP0 Tc)!Xq?6-/V˘4+u!%ǰ5%v.z&ٞ_(O3À,sU&OglG`tէ,JqfrPPfa>)}Ue`\,Q.5!ՊDμk>@-PJcRΈX* t@ҲKMbqM?AghNW`6JSd#Dr9*AO Wma]_1H# a$=gU:C2 =X_"婖zhu\),[G/9Xqh sg$>i2qnE*4cKc$NiRy zvY3rIAjK}8XԌn9=m5A.WW0d1V}bڼB!A.(m%M$!eά'( )mϚvdˊa\ڟ G%B&i,B lj(DB2ҤC+eT,snZp/h'*?F4V1<)j.nւ; 3̅}*ǧ 5iyC]dn/N t }<{tjWk+-y t`NҐΫUr!m)$Y$>'KWU:$=.y QH`1BIM|[/g+Y$@,"V8&X;t? #xYAV>48gۜDLU+;HcL& ۇI:3'E)V3䇒ZMv23mcCh1%lX-;7Q"ZZ$d}L!)cD/.Te`UmVN7@;>&wh]~bgPr&A% {_4Zm ` , 0~$NNfb^+ D@О}a&(jw:@LlMR-ß'+9} G`]3(!P BcgVñ#k{`+P\%v*2 LM19!5c~\Z&|f.1H4cK&Gӏk7FS(XMϿwjp^u@21؊!}ve)xs+)j jeh2J֓dzd|zHy@db K_C}n]PpiJ6L{(\W7 <ۍ㕆5J ܗ8Ϩ3dЯxȟVaxlIZNIVlI$7 C[K^sDӠPzK.`=(RJFym`s:+RP<+ Ȫt>Pkd;i#o3E/wr\5K 4WJ$3?WyוK4CT.:= >u!*>ۉ\z6pTg;"m*"ᰙ@yCiѨM;wEQ8TKt\ %- <`8;7*p<鏻A fi]Ӫ8'h}Q.(qqQ+6SYn#t7$˸Ejz=IQ"rmNIyIF#vtHHǁ +BlcTg@Wm"5/(nl =6\=qw6^x<A1e&TPnCƆI׺F| cjQev*h\C7>t3IJS|I\EB!,b㪠,WԷNQG Ԅ:NOH҅-k @td }ت}r4ϧuv{cN[\˥$|j?! gI8,S:b/Ј-Ciqz"Fɕ(ԵY{OE.1)@5@0nxi  0q.n=1,xEDbOObKn% ޫ_Fޣ@DHi]Fː P߭IL4e8'M,3rd0x佤-^G-PRZShߤ߄fKaƽUߥ6hkQDm7qUw$~l\w”b̈́6l _+,G.nHB5 .6P^@FV t גRb-qNÎD>^ FKph5+Oނlj7!p*fgkzohX:`N`uHߙC6#i֬!ӭi(/ĥAJ3dGf"=M:"d6G roga)]} ȸcrl\ %ڴkbt#wآ EGI;uej;`b\C1i@\Q@T8d|S0|>T{R2,-p6@ v>Ğ5yE}^Ύ%f@z!!MR#99ӋA0)-BV|_c1Ϋ ?bE]M1BGF;߳[=?ik i=&@>&ͯ0r5tQ@)"ߠfB YXRo;vx)o qCex_aM".~?o4L" ``7?csxZ~{6Px hpjs/_GHк !.Z2nN +0DE9`ǧ{e Gft΅_(B~.yiF8]@ Taa3_h)`K\f/ O)*׆E,`iyFdl]=s9cK"قī̹O䱯F*FVeӌG@6e{wmMcVu`u1E "}.JpC<1R߱/dge#[w %#e( /q| \,V<^n xeM]Bm%)ZEDm؇S@,.4.#6+P:PEJ1jζLd˯5[+Lb͢ 2޿`C3]ˈ <>4Ҙچyz xkAiaL(UJR55=}(۱,*dfk%31[ G_1/RG"]sחPAO CS-PhA9Kqs=IynomOD:Mxnƴp(?>,pA+\ }($ 5"A޾[BJITSo|?zt  eb ڦdԮl'\P؁F9Sk ,]#5ס1EcBAPoмHJ 5?+&@`?w][!r!Y|dݰת] l RKԠŜDHҘ(o=Ԓ-癋}{v;ss䲨._yӘt'&6@ }nC7W&w-yR} 3" &JGY-@ᬼO'9@6`?15XoSBU З܏F= F;.ۭL&K]je^>B+/BxC}tY/+ #(R1Xg|(RP@M V3&E/Q иaSDXVրA(J3]NP+ZN~J0Y⬋uPȒHibw/sVC?A):fX%>3ǿs"pA'T[uEi@>1ٲ@N[k.F_(8).JWά> z9E?7d- {o &1ӓ`!qǡ&]hO3%7fg^66覛G {+jEyjx5-͏8}| B6†AMr_Y烧%tw&YuqnTS)3&hv,T‰ 00$l%EHX)/u]~@|IZ@^a!ĵ sڵqDeVB53+ٮlACbzZ̚Ӝ1אoW(麏#R$6b iM!iAq}| d3WxC!b-B]!^a 5%~5}L= ڊuXQD6KL6vmz4Ȓ/y;5i>(V{-^YKI=I(N׶9c?pE:xB9맟c '*5 !1,c0*[Dޗx^#Q 34ḵҟs|B '>wYw2]Or}>_ΘwN!$ǐH"Հq$KtkjBM`LSјnħt$>|@+rjkA=8j#.Fy]e6=1Wq.>j2X\lRh_@}`墏̈j_{Wި`f/?8kC9d2+[~%,PRfxF66朖kL,V\Eo`P@4 ߜߕZUs$Gu`2ץ,?ZF?rkUVNUc+3Lv5iȹRIJlD$/\~ 'u) ,aYs@uzӯtL<\J\S!G85KD+,jX[]:t'`ed4%vQWE}bĎ#6(tmm[%g,܁BBnHvҲ'iP9qıG2&\`$Mxz>SY"۠>Oܞ+(0ƿgZ4ѯ0?ݥw¸ *@G;=4SF{w)RUla`us)GL*-ggF6z˒> +ęg0N$ ¥hD*Ңˀ#T߁xd*㊸|6рi+0Q0d%?ggָ݉J$.[yB\CٟP% /X'UH\bFwz2wtAT7I_94cÑ:O)X[E?UI%5uhS tR|G:@Os#:%R%< =7N"jYͶŢN7yM Q?,s>Q8'$]Ȑ PA[KRZF #gT?+(a /=@C :W6da < dFnnW}S!;ٜ6;suul‘HM<{AUıT83؅ q7NjHX9C{wD_2p YM0%-d%"` C7Bv*z7/٬9`lRRZdH5BL3,v#:nmPI, :QdhCԉb'4mORA0|~~y#tfwoSbyC1ZXdXxӣ!Nd-%t1*JDwOPyLpX=a0~^ʷ2isrb MQuUC=)b"*oDAѣO~#IU _u8bMnyܔ,-|5R F\+Sh@<. mA᝻ً1!;؏UFIO4s:*Qo*A$'J,D6lrxΉySN1Q ލeJeИչހ,| ]2-w,w xEfkh+gvEn浑_2B,}r1I7N!cQCF+_SFSºFZWCF> ^ ' +N88zN(a%̳mrHzs N.gom@m嘼in#iIԣ_ 'ʒfqOywCл]l6.*+O.0rZez9QK:LLO I.xnF-忚&?q/~teÚ[i,toWsn:}_G{Ux8sX_MOL:ZW f]l&܌R&AՐ daEaC|:7_)[&x!\B2Voxz^Ck;д&Z N˒-A7Nfۅ|8@y>"CO #0zP_+^V Tr4%+\@\Rwj*'K8?;ꐈ#@0E1*svu"qCOxQLB7q,"cw2E=oi iӂd:ڄbf<@Hs\zLA2g;+FE*A]6we t%'/bI.3u= G(PdN {GHZ:Ƽ_Jvoi2R@54~<$lAGh O6w &nXNut }K؀'6*t6'Pp$\Hsp6 L, yw֬:zڷAQ*loEn˒4 TfQ0F-o8Pomy&O>?KY|.m,dY t}`mm|R!l"KZӕE2"9_YA^(`:QJs~: DԌYO09e,hab˄>&g\gܼJ!x/$_Z"pDjPr8:yJm:_LVyr7 1q`_Ѯ]P;A*2(я: CU !^lNR)d"A 8l M c$i\NW>Uֹb?Mfe *M?.@H,S$k%7d!њ\yMVg]UBL[Knbp9_lZ3ϯ}k b;FĻʸoڔԡ>sژWf|G$C571 8@w3*ʸ)8}8M`R^ߟ*2io.`D;to-_: ho|EOy5Y8VW1/u<ݙQx(\^yN*>e|̯Gl)Hp,BU>`yߠg@gOi 硌ѥċrpgc}h=ƨΣ@Qs:ϕ ~ƫ1=o/27H[ۆ3{ pSkK"+wC il[5K.iF)rSWNQ>U?*}`e@ɝ-,ĵs(4&@B 𿴋`mQ vApl5!|xu&@6@P!{ZbĐSBؒ R>L1f7)3qa)WN]| X/"Z mKƍG 3=u 93ag-O4j'Gr l6yxژGZH?驒x-{?!&7zҡ+IF宇,s0#ɧƜrwמ/ު5oہn=. ~7n-̴&MJmZW).fc̎6kWf$jI[uRҖQ7<q$َ1?0xjPT*@NoF}yeTboA8'|>Yx9eG>6+i7Va[%ȦS0t oU¹^d><ET|3䔫0߇*a+@1'KFhAQK/oUu+$&XْN]AM@֏uC|8!==j&V '|2ۧۑeez/2  庚NѶ{/8hur}cJmO햼zΆF} {_)LEFU^فE9[%񹫸ÿqRtEte(N1rFΧE -XYCk]J\!# RŹׂUyqɻ?Xal"yZ"^{j.y/*owmqWRh;/[JǮitҰwY_0#+`jvH\ 82w('{'CBxI} bbwIzzx~GuV8g~f%J?Oe!Wژ{c YzMYRqNABFO&A;"5A.w/ kx` 3pڤ=ZՋfk܃I@!m!%;Y8XvM~YOvs"8I2`/zҽh10yzШΊ ޡj"YPrM:-k0bt{!-OsR[0<PD(8C;2mkRhTz%8?`L̕G0To':j#C"A7r2jdxږ+B (}T}?2\ixOm>>dbK"P+kc|z#ٜE$xԪ`:֚PC3n9ud%1SxG+^MKpL8ÿ&rBvf!82,Knk`h4%1t~ 榽ԡt ?NX=> M5#|S(:cws䎴 H [CtrV8_TkX[kv0ΝQuHpJD^;pQ'Ch!Hwe]ȇs9xJzII;ށ%L+cHpn+(}%Pz^"@xػ|x{6z 71y"/oqm٣l73 J݉3%v7?,l1.Gxu\xdoz3+a4 񡓩WW6w9D4OO7Lw{r7!ًכ(8MѠԀ cR"iDc"LN:^CqȇvrSdjyu?e^ @pyΥ|_nr#Sy/|)zQQ!hZ#JJ}#SuFksZ(Ԉ%] Y;E/lajTwETIa%6NBZ>RItE#[k6݉ ߣSWJ31O-._5^ wN6 ¼, Bt6tN&lKx} *Ja­c>4'C)up zZKSAoz=KYWy|=$y Fo6bG-8I{%& (7C$GiI`5YS(d?'4fjFHEA.IU1ta؈A z$co]+6+]cWlv lm Řx*lCdLU:8(,O] VH暣fqnuj|~T.i;]J{'Y`kU֕ߘ. Ĩ I=NΚgq&`4*,[%DnwN^MB鴊vN?9*P; 9擥'5@5h&RD!H/nRq:LͲUvyvv?ׄH2Dm52yr5t3cN44}M4SX4gր6) J^Kҫԗ*ۘĚފ^8qr'y9=sC4MY81G[WəC6)QFH\UԈK`UHZ q>"7cJT;=Չ42 0椎te/$y -;j)Jd ةw/:Dd F~I~5K+0ZV C~%{eSoE12l'n`g= y+l򬇓HtOv"6Ls"Lx&eVBJ/mq1ӲtIަںϚgK=. eeZ.\ӝ3e 1Ρ,[B=*]:1 S(@ܸQl{$ /hpZݑHvTP;̑\I3[/$}nY.' W.F՗/SR,W{R4T~$׌X`QC르0bD2Dz ]ܗ(q:U1ʆ_s?ґڅ*mya FH I"Pޫh3Cl&'W#e'ŧOy{xQz%M"'ԗwIͯ103H;u n%Sl9xn`U*2drB{9<: 7|i-WaUgLUg`vB4$݅(-Z.,\NW 41bly^+7'հf՘Q ;]46cI٣ECÑTŢcX`ڴA<2ӸG~RU/ă z.K:i) f0;x&'X(+g&?/<́Ѫ@%7~Ğ|XgNnMzC'mݜQc8h+[gb.@VFpZοFXP1Dj)Ja)m C,O+fYl48WBP;K V GKsw^i'Jf&;77)ƶ1VB4w¨nZQڃ7ʖ=2y?EgJͪQK\,RȲZ?3:tkđ|[جS*2@^ue2{Pt8*<k*dox2F[?Oײ@X"ʎmuJ5 jXgQnJcǶA&evo2׏QFhi%i|)4e?6 l sٖ )DwޢqWU/~9Ub'eCԸBwbkamC>ݺe70 $$_v }?IE70l9% 3Ee7ѱvkՈ>;9WMs_4j)joťOS* |R[˒m$QQe)=d P c[~Y#5>4ޕgL"k"CT SkPf}@-ikpwGڵkh$xh$<SC\SFZ@bcm,;k龑AF5wrb CrU{Z_SqG"w4ܯӞugFwQA@ FU3.ۗχ\TV*ޱ/?,uB #*^+ I>{Vl.G@<7fsi-tR<ϩaJ1X3;f6`ؓҾ8־:A~>C[DJL71b-v=ks9t횜mzt gJEsk0]oebqvQ!l*#ھwi# {6y ҫ#k98d( إyM; H>"BL v:p=*v9[!H-3no8&V*" YUu{^R4j֡Hۗ`6MSy;jG4Y&"Xd\apa@% זzMG%?.{Ԗ+.BI ,hY95gt3aQ[@JT34"+wh oq5ޡS@"83&V{}f7|ٜ{hѯ~+d uÏe zsl07Jx7|^Ic۝Nb[x] ?Ku-0+0 w6ߏ}з;hbxb;p*Su%tDkl};t-MmwjҀ·Zuyė`6/v}l Uoc Hvx f0 rV5i(-@uH&G{˲5Ykr#USMr% @!@fi<([{qj"8͋x.Md{ Q nT@wnV)3Y\s} -eKCFfb&JE7P?ܸX+fǚ1`V҈}HT@"]ցW [xOW*-Oن'XZ͊A1ǣxp} Vղk{(s6M ZNl5A-֋qvo"&#G1EX&6i 3`d+Aݧ!ƑUv *0ove~,ĽL٭:P}Iu3RgI D10%E;\kZxS3Rs-FTf-ϕuӼrjzi:6Tt{>pΟPu.bgZ._}pCM67y/Vt sq%H~C!Nˉj3ǿ>S@]`lF6ϪzwVH?4oEU;IUj8M $'Ԃ)r,ji ,vy{Gءȯø^Mm,9X"᭝_s5"h ^k MgltAD8%t+A6raN,㾉3̲`PyuY˹A_zh 4o!+~3BcL7$кW3;brQetf YEa &j7pi;$^+e+@KmX ~sPR?XtA}n,8;CO g2yVp{/"1`.=\eSGAe'g[~y}fGHb%=~!MI1z`m #dKpUX)7DŽb$"A /=W}yZeQQAMg@yˎ6skEeQ6=7ß|mm[;Li[@JAa)'%m"I5{gQPL۠pJbm Lv=bT%i|9µRYdwE> ._L!R6kdbȑT?Lz% nfłʏ rW9ޮwU+ׄzD{_tV= 3\k%M:w)4]_ϱ@NִMW+{w ZfM8B}a~fٽ|Sߨ/,KΞEԪ_-g Z~0Ϥagķ+Ԯ4(KglD$uZjzg@%zPUVAz:X!EscRwkt8B@N*љ@{ 6^N,iWY`&6Wl/n+٧l+qѰ|g( Egc(]TkTjA.f=,@3G|%{,Z;uPcY `ʸ"mYT:vIxIR;a'd;Al1wh;6%Cz'Yӌ1 @˕<YHd>@F[D0KoLsmX"73AXWLTZգƴeG}. On9}ڛۦXIxYYA_E%$RS:%eӏU!?;ޮ i0-#Kʻ&%mG/T h^`8MgbS;7grcf/ra,r@%77!C?f0]9WHxt~nYjWl`3%7.Aw[5F<-Ih8bu صޗ0ߎ={ҵM1_H+"j M7I4zrQy?۶nF~J@\ n_zƹVuo;ڮ"VRe$ЎZ`z(a. :y直ܬ{ptk93/?hw,Rn684#2R6>Єt(O?ԝ|G3R#@f}=o%Y@dc5m+eU?=8׺أ/6]“m9g{d|e2Z$Оѕ,yjXfGg9$6ܵ/m9oNå"UMHg.fcT'ݣd~/8(VlYD6PČfbA$tnQ"9ƅ4~\O:-%*#Sl43vnpރ8ՏTsEb9A͙"(p+`?KDW:VD,| Β$ECDFoi݋h \Bu]ᒥ'OWrQeo7>H+\03T On ({щdtڀ]9-\Ac1#sb4GL9q7'z;-ԁb݈-NJ9Z\TO?ePjz(d&N$¯ sXsԿAAsFVM*cN w\A0;( }4'~v+ HG9'pH:qj"B}YꢁMcYƜኆwzXVXnB7 Rg}ObY6 ʾFmȭGi[SR65(o.$ uq ɂ-7|iag FؒF1~^' GC݋GXH2K@ҟfn ȳ[c-hÐ1 0qVJ]GD'EWӪMSw7bpŴBu#Y/7Iihph"ukKAIM߱voDiFs>JpJL zhQL#5~Kíߚ 7B`,΃f}xoBTX{g1Tx-:[ O6==BmYG(c+02/׍K<\GXb|VpFuH~xm .VG 4[d/EM+;L96@c5iaUͧBur-w"*UE+z;aTd>b2VRCg/[ #11qߝ-ԋ~eEB!)d5Ty֊wQs%6)vJ^t?Rn DUd//N0 M\ҧ2D~4 )5ꌽ^ [)9֡<$Z1#dpEv ɋL|5%_8|5ϟLeʧZ~tМqqM`24htQѢO ӑ;& a,+z*&\ZG6mJ" y{ 3[ &QO/e_'A&{swFԇۍw%SM0k9foUw+Tm.NLTSi" GJu8|!4SʞN`؀3#hGW t@kF$v{R^)&RK:?fM=1 FեYrLIo3ct<__7 3SNAԢd&slV+]qsFp;9Y:<7y/ż_7?~@U7qgqhϮʙܽTGK0,jWu? "?ysnT>X5 &'uS-\낎 N6_:+N"@D(>;/TO1}8MN#ky;mZus(jG62:M2~(͉St7g< G7ϥ &6 e }{fr+|-Xĸ܉f?_/j3OThph^f0GWo!Aߤmw- /̽{rE h)Gx)yͰZ;sқkvb6)z.Ε軋v9:ZO:),DvR^5|G~E6k} <‹Ϯ~( NmQy&Œx}VH0ԅ.ޛ ?e#V+$CA#|8bCّIz>)k}ˡ#%>J(,.d˹)gcp3&Z^anDvI?Tn9T'?vy8EL$KbJp}kM2ڔNMbc3i79@b2X؛HxD? * *ajъT)3tyVKJe0/YhEl h*:j 4|,./?PަYn NUc–=4'|ʃlʠc?lVL_3c gݱWO}1z=nRT^%+PyR[2/S7 @Avoim7:q<6]ޟ%Л0 a^d=2VcZ[ wu,`} JA`: 9]K ,]%CXʏ$_dg0]ɤ#MTkdҤ̈́@懤2n{a6G> #tj+?~ {0v-sW2ldڕ ij+KVȰT'pKR8vzX?84 UT, G5cg{p,[$à#Ce&\{G/V+%K<JqIѼ@2,̵IԐ T-UTD?!-V'>90?9_-6 t.wA?Q!|+ҹ v,Br ѫEzcУ(EEu|$Hw7ZTldRy-q ?POΥyꮽ…鹡CVz+@,0W"P?Okr5tS9`F} S8mfFL q5ܐ y.l?>Ю.PPqƧ !ר5{3Yҕ&8o(MhZK((J QK\! Z.(q  &D'>H:б9 @S {ٖ[ӴErMt0>̪`ý]- e{I/V]n}?^+B n׊+'Dv^3,`j8J'2/4S&O:Mv |4suɍu- ~V (ғ CEY+f fkl'1b\#w:ۗ[1/{0&qhGݬdJPgKwEi hbEXlByr1*6Z Bad)r]\計M*d%=źiti>SA8xrc=3z,ɧ +դw]ЭgR9yb ?)V_BaGGJ9WA<^6FT ,NuQꖶ-l~4Old/jgYvi5ǩ Qo;xd'BL!Y}B# 2T9u5I5AhjJ=wf@Ѩp_@Ҫ礗F+OE9N>ڇ \#6է~yv\' 1(/76Z;z9&yULGܙoٷ~hbޯose{EhP R RRޤeܨ.È8lv}{ӾɻxVx_r`L޼x`/8TïP2Gq*O=Aw넇¦1b.-S_)s8AD 4KG sd(44&.lcp>0%<JZ8^i`6Z{G'|JS R™}KJpMQchy>![2emKί A ;O:kZdWr2UˁlapHE IͿ er^2 tz'uoOl d^O!'r[x#e-Oaxonb4.HOY6vжezF;c8Kk&v!*4$m& ]pʯk㪴\O!zzp{KV~Żo,c;r+iO@4ql:"k%Bd'}͚,BE1Ǿ3.#3%bЂ5ҪfXBJDx 5c\A]ϫɖ#3Xd"G ҊfC,T̹@ I$JK#GMMvfEE0 b}C5qM\ٰ?1U4#hR5؇qA'ڋT!c0"_M]*Q=oҘYCLz+P^II!OAyТB^7B}*?Cke\7mԄ],eyǡu \63X6FdA%a[d٠ ͞ƚ|@{$'/1Թgagf,:y&XGO"t+ -t,YgBwsJma_/P66@5{SccG| IݜͿin{ƝgW ť+VWWQmry\="kȠ}GkU X/FOw:@]ڲ1wZbO1zgLwq]<[.#n{ęN)u;7M@E.ڃ< x-̧0Jݬn7gb+vYӿs%e^ T:]O.sԤ[0Ә3]ѬcV i xVvn'DUt|虷\0[)e7aX4ѳj(v_mL`ݥ>_4uv%籃L>vM8N,0!s2rVU_<2[;)#'/Tqmάkt8.G8(#"rLl*Thد| όxcR$[I^3;}%Sfz{z|8{3 bAqθ2ofc2FW|;-7:ը$d '{1,P$g#Q=--PEZ6 uQ0ңOˈz<`Ns-0SZ_eCZ./VoU<]f.a]I,^kOo<%<tC x? /Ff_tu)g6yJ/qۢR_xbv 7'3fI@Ow`廝BvpXZ /*jXc!5dt~"a,NAatit"M{ݞ,39c;J6a=gp(mpoƟa"O0 ʵAXDž)rה*Bdb֦yo{0 RdI^_ys]/^ʆ+ɑspRQEV-jT.۞B@jv2/}" LC$l$!w $QK`I{^బD,eB!~k"cqHdS{ƵF߸yZ\~ڮ27I@owVub8EEȝ.j rO7Z3bbeܘ 0kn|Ցm;Cz+,y7v|Bt*U.`TNd+w(>>-o&TPIxD4٘;Zx&»1,ii~7[oћXz.C RƶT?U86DT-&Lmq(te=@B2E̅TGqr" 7 ʯEɔ6xϹ;wE-5r ~Wf\\{(>VJ~t2K4DfG2$x^g'$p =E'0eHzBhN"NYs ;dXF""3,qbFǣ"0F$y!3ԔG^$(25u37n μ/r,Ycď=_F_C-#@.M}ݎz}ŝMjVpcBՖlR0P% oEb2fɍҥeY;ً%r)"QWDd#+X#,.y8'edGI,\xb%ÿ;I4BW^izCڴ0j__I5mƬ`e{Bt#15Q7f( Z owq VS;\S9tJ#ͦi<:qq>)^"xaM% RlUV:7Mvt`.lLPV6Zr$Aen-$hQe@k,adbS ԾE~Gp\^,~fJފ|dӜm]gѴYMR83=؂'E;B% ,Z^ VۮܲdNM)nA<5PDkz&Ҕ) ̕]Q@-+.u~Hf4An-8Pk#$f;_Ռ>kl}Cm k;7jSR(fz(=D|x#xWke Ƚ3S"]<0i˻)l,2yX{'Bmƶck^sv+2:T>;շ~WqqɌ)eX؉o(^N]mBXrݰ$i2dNxrwʦ-~9߄'k"oIw6 +0NJ zǵs:&sCjC <XЧL˶L(֊MGL``m_CST3b%VGBV&ڕ x%ۭaهT$%"ʹۏByJ=#_\^Ht-O9Y&\`.e H4Cj6kbi&m/J+T4{b5W R#Kd2s\!vyFW܈yK⥅#b!<,޵S1phBq$C*+ 4(i&5)&"yJŰ"G5Y'X܀]qwV8?>J&dxiHYMPyé[AUÕFMg@9%o&JbALp/1D3bYK_ZYdy3OHR[a fn'ëRK":I"p)j!m6νfD>#wbT/ ML5`b׮=%Wu=KhFwB  WB©9Me5(*=Uk=t1nW,Tm6!Sd ]a v~eHH " 2%W:+\.bh!.V~~54Ҫ }fm%f*FQz٣DoS>ļs¡OA Ӧ=J̄FRꘆ&mCHŸT.܋•i$RvFjWƠb.2Ꟃ!^YE.IH-?ӅI6 O&Ar'8շ5j o Z] TLcXʴLIo"U36f]ُ*)D=G(bl9ss aia;gq:<ǖCE 'mq{5|Xvq[]|i#!xdgmԁb}wʼn& WqwZB 夽zeru/An6/.C'1o2dEp>hVTC/.ԗ.Y|g"AmeyEm 1ښ綴t;٥qϢ䃨$%&8H [;/,;l7Nz]=s,d ͍A*rX ̏.!m*?IҒ/}L/,5/G5?E|M}{ҝs&b8Z/Z:>(,K=әm4/xJs_9m36ȫȐ \KO?<Vܹt$Lr82L3򼖫J֢ò:$*԰J,~nKok4f,G{E42v'0˱3R0ell3EtwC˪GRCH|v^O [hLyf;O=4Gް)=11҇ƉʻwG(`;/1<=O/YgB?J}|0b6:0/^Y@+" 2űji>JX+3N.?P^lǛ=slC_\|oV݌c7G;^'YWK Z]ɣSH7+H1ޘ _YuιRM-wԴO:>LH\w {̰GaJX):6f7t^7-zuV[腪qMa(=0DLNIzxpщQb`tq{nO'$-w{PlcPq2cZ_sH@%c ܙeؽ!B֚WUw7;leokF(h?ވ~{:5?T ݅D"HA.XpoEN IqhGw!r"Y׈Q΄,>qi#BRhA!`boفggbn:9GH~̤ڙc'&`8w[~C]i4 R׵ۘ[& L\c ,в>)ȺdU`arwbua̎F[~_WR6׸bX" {l{ف[! Ϸ}MihA5㪧i."bGNo=QS켞[ey_,~ ~a (-]4P+ 7]Q]8]6V`'- (2 ZM-jvI?"Ō_/}޸@ϰ-[ DnkH/ 'Dg{60pHd衖ѩE?̡)W.tjzbFcW eQȱ[ ncԭ#hHijE9FBHFMBiݥF$Si&nDX 6䜨 8pr[Ő >iQFKeƈP#7?Go};6) '׈wcx/TF@SaG,Q,qzY:?)ϫZ8ǺP4ŸamL$uyOB9iI ^W5p9$ 7~D05wQvIY6*onJX?{Α$PIzU&\[8\Rv qemCA mJ1 z]}QQ{A>^> ׮MC3*Rt'>_E璴ROv-hlK#CGT=Qt0)?S睍 ~Kޘ}?a h!dOI;֮LХ`H>ĩ.HJ3ipTtQ3尞4),oAw@j0\’I0Un_F馇I]~NNڠ]`jzȁcsh0 C^tYulq~` Y-V#K3r hR,~˓EW&GI~rMj.bVv0Cy4mYu/?KHqqe˴;~d#)J$vKxs>Jxms(~ *S 9"^'zk nB* /n #CKMBzqs!7hl3#xŊ}+yvp[QEm%m&H^eU>Q2˜={#E|-ڵ.o?E#eԭKO+dߔt= I\tV]NߞP N`i~݁L#$qQ4/Q'phJӨ2OpTϽq̀(@5}N7b rn/$|=XVI Ӱɬg޾A[A&B*QArܱis$zâ厖1FgՙfCJDUdJP ;cXWqV~QXyD_;1))mqzwT&$)R &S1A82b&UӎQewV8rovHIʘޡKկ[P1n.xYFg=EwP`r*-Qۯ.'ՄhSG?B*TN&P>Щw0'VDL֑,B.@`;ЩmXmLéO$-Z4ypUOU?WbV&ܓ<3%]PSe'#xoC ZqDXʂ Lqkԃ&;]Q DD;94 )z~~GrlD'Jˮ TlR?娜>I:7lM ]'ݕr_B $pȅX}Õ@"5!:OA {E@xੜL!'eqbcÞk05|`ذ9#qsXe@uS.*3pjN1qTEDU >ZUudۯ:3!^'+ ȩuCj gOY`EEqr/ucŸC&wv_B.a }IMK]F4сk{2"i@Ajr-vnf7izj+iZtV]J}L\_Q 8r*^P@g 'Cjlj[$sy/8ě5V2}RR}mal«󵋦=#k^`lwq)LAu6E^O6aEE4qTU,JsL ̻*QscQ޸@S.ae=Mr/|'Nh+Gyop'5F>0$hN7-ri"͓$Z21,]n6毶RiMmw7Rt F\j crex) %Gn epm"߅!;adpϓD'`q2V{?9yRTY9z7QymWbFgDn/5 0@1(P Xtg8RXl OÝu/8&zQYWyt[HъoP:Լ @Z"^ ƻ*ˌ ]h:U"`Ȟ*h}ʷqs>H$tkN֐03q+ upWO>T x~Kƿ+{&8րvgjEN88)oNUT5剏QC6g$",C*®4\{X77Qm3ER%TDZ~*s%ƍmdp8ΫM9J,Բ?F($Kӂfhl~.IJrl /4*[;+Y=FGl֖{nlIzkb>6O] 0_/t<yf<*:ȃ(/ތ@|KNXbK;g3_qE{gq|&4~j /=f66n!w6?e5UɢG4̈́̊0-H,\" {8=k,):ڤ1֌6R=Îv,L!S r'Q[qhXtEcQd8K\z!~mA~ݿ2–6n#pCDģ]O.(-E)q[jr. B3'AZeTkqd knPsm%T(m["'4] mq(D8BOk MF0Kŭ9^ |]tOG(B`R*g̺=$˓d}GDiGOq"ee@ K/MR?k煮TSᏇ^,/wzF.}X.&QuUT ۓ&+:yW7gT2.PmءP_  8QXz!~ֱ/^<޺z>6p8N*oenǭ|#E\ס X?0×2O.y78q_ܺ䘈 GdcY扺Sy9n} /I"|+xyM3P3[mPjZ\^[|(_AbJ*c\8+3u+G \4 1qVmMo>;hubEZcu]&l? .$mi#bRCA<7͒L"c3lp@} 7E }%5)ُ +@ Mفx]2Xޗۇ?M#< DrXTCmxz:LGקF v 6,_ Q?\LA}4SR(Bb@Tm_qo\|8]<"2w]>!kq/|7HRh!djoEjK+ ·=يȸǬ ׋p5ׇ4c:e:nh|-å)%!!XꛖHAqKG讐UΣ ӹ@0]y[RQ2/y4/4"!zWfF9OrQ :&J1ZŒ)ߓʀ8UzM8(`N =0jmC3j%r Oi%>;79> --1/Nz_Y-ƲpqڐGӳ",=Wυ|j]:VI9jMf黴?`+DckXTCQ6O_nDN65W$xPbN:.E\x\*@8;Q Y=B}|#oqD)!hѳ_;T%M[ok."|-Njz0lSN$0/EF2Z knv疉^Ľ'ò}郱%?OV&_H96ύ=p#%3tjfN[Rٍjk=YǮbq2=J{s8\@?-,Iq]ADo^hVv$ڄ&gl8v+iDH0$0Jpɳ@ G߉Sd9J.aPӴEc!VުWE]eǟjogXWd3k2+ ɭV.(sCy 3~ưǝ- !;k Y1plUIM8*PwNسd#4 xnbV-V_Ǯdu|NR f &PQĢ;=% <$1Y)orzK?[Z!m7fhx9㋃qђ,WӚhSZH$T^)}cz]j@[|J ٠1eUHaG';9‡5btFw;P 3;q[״M2gh/wO:j:x8C=2=2Mx{ TiRBw#+GZ!OjGK#ģ|6ύE(̦T>bO39+uE1r\Ң 7fx}fߋ14rf.LI$+2mKNG؏Ceuu7~j;fč/LDhf}ѣswզƶʄg[)'&„ qC"LoDw+ Ãڝtx,UƁ70ܤj3^@>f :bgSf``8Hrz’VĂޅ %,r75Ynr_Ljz()΃D3֒F-7,c .0%]En5L+ahCG,!Z\}/H2\_.SMK>n+mz&.,sQyujn.<ڔ,6+bXIaiWp-YtPAmBwQpN'o_/̪{"FΈnܦ;|KK H?ďcܙbƎɶ~-^[*Z*=tfNFr(w\*JBePTHC_ioiг' c+}gMuԯ%0C @z_pܚ,wtDHZX8*F\̻='$xPPNnYꦼ:j¾)e?}{M!A)Dn  2p>Y[6 CLVbv/[H3*3ނ F7x}+< fu5b7۫ ~ݲ-wf@"B{jP,n6,6dPS_k)lR$A7YUJ R{2M!s2H0jȾ@dkx5%5I5;mv NJv&v5TO[xkP9LJnѵcuPjK/55(v^O. 3i}ٱm *]|2 yd{ZƵWmh0PYZ[XD (\^c/ᧆR<*dK0Lu_ Q8*DcsRԘ?[­DK'ч 7Sb$OapRE\i뉡 (_NG3K `*j+@XE{l'YG5BO fɆ&{mp殨;vEWc۹۩q1Z$K@HU4\Vkf6Z̄Ԥ>Bu45# uXywJv3v};5 1+Fe)c+&<`G i9e{b1kmv;!,2 bGtf08|~eƨeXv=U%C+7W`|^oOxm$W?Jixeܬsm (1?Ɂ\;*^3QYLS.gsG@DŗCDGg,܅t] & T- -;\MQ=h@PGTf4: :=:eEttO&d!ʙO8k|yFTm/Ss3Pwҿd(fyQVD7_.MYϣ/%hG#_;kt7Lo r$&&Hhbɵ|5 ^-mH'2%VagyǾ@*֚2BeuXݬLWeC`CX{ArZه#?]A]bgXKfR`7h2ll`bzJ+'сF$Wi-Ѽڢ\Kyf.n+ 0ӝ?&MB[z(RE8b!AӽoM׃mm2X}IO!8(%)-_w mߩ0lkt_dݺ"H tܛ0OQ:g5y!m8Vx=8kq]QY-M忯5]FIgq_loAXc^r_,a BGrbu!L|LsBӔ$~v/3fqt"7 #y> .YU)WVw}y0P5/ҢyzC<6Ib ݋kC#GZ; ^Cld0uf(AE_q5PD HqMػLt׊NSxP.]VŰqO}`OZ` ,su8伬7J>m (ٗ"F?5"&9|ȺG,kZ+ Mx :W UY]ֆs[a镰Y9@'?_C( */FAZaDtK;.BXb6YWO7B~^c\&4v+شP}-}]IhX!nUKjF-X4[Sp_vQNyY>1K'eh \dd(^FhB8 &xV\Rt!P\Ej K=9O->` uUW jHUB:[ב+sA4|2pIj$F"iehM|@ZlJzSPG-: ]v:m ,9$55DNg_dsn')=@},NIP$(kZ=8CEZqwt1Tj#˺K1-&Q9C񟒺3 Kۘ E"m'MKۚge"Ɗf@."HF䥋0Y]'^1PPJ!`wT>afG}6ms ܥ9α2݀BwȢ^TA`[Gsl(B .*zrvŠDI AgHW"ߎD(yiΔS kOz0YL_hd|Wn^߀qq<2?# y0 sj(elE7EDmbނf^zY=V;`hJX^\.۠;l`)JNRq%M* 8p=nAϊr5їP^B@Iyai#q3y]1䖷,fo  0='6dCtyi`æ\hr!Abf 0Q.Cvm;(_QCZY%$0N2W)K+kz?ל8+.|ɏ=OG}2M/![/ǂ}TƜĨ8y3!}\dyqܾb4ЛM*tw6?x}GQf$bH%@WΎR(B]_̷i&XtD_5}g KOIں *+m#R$'/3_;?'h rS^ U6D H(apl?x^SoOxDCDBE9b1d .aB)k5m@깟\3XZBA1ɋzc1":%,zzƓ6^OZMǮ=3QP@{onfLI0 [ߙ{39)1_mh#2a|bۡ-'ZJe 9O[f0ܟMu\ >6g tWĐͱ3ь0BadZ*B8䖾^6@rS8?$C( B(rЇ'V0XBP(:dǖ/}{]my=uuzLU(2F>+몔8Fq7v)۰FZȚhh7`7W]$| XAV錸Zxbd6N.Tu;9SLJV _R5=0酮n>LeZԼ4t&80l≠?Q&LM3s>nlkG7ܰ czbz}Jqe`5@1R+Qʼ-:pI7J!X/|x4KA! Lf5$Y7%_W-.q^YI{xl!jQ*lGOZ ,]QL]/tYj8S5$R!)$tp"SVO#\3y^Sj $sC˖4D%Q w` @56uT[yne5SəFm&s#v[䝀NJ C [',6Y gXɮy\{C`O8DЙ0S9T|lD;EJS(F6Rc$R jgP g0κF^LK,0'=n"s1SbAʻbr)QO}?xw6jYfuDn;A|>]ekU&~m)e+4u X^+>(C"=*ⵉ(Dr{E"(k;i5ri=Ѭ᠃.)N9_]jB~9٦@f%y>wWuYo!$jWwAy,$-_09R cw>=lDHL%U;ksv#wر:M`$xUXhmnozc Ӹɧm;KURt䌈܇QFٓꖗeZf& _2R!NI^G&SfܳXq2y{Td/'R\ hAl$x%v^0c*maUb)U%vU#d`C9P撥!|O%Jݗz >ò_Kr&Z|vѽa2c%8?T#N CudTP}[𴦹5s3dhOhZJbgQ沿 ̒gˆO >y3*Qs>Kj=vj$ Y`/#=dBmW'OV_G0IT 6 >WEcdۤv|ĺ_}5=sNc\aRur>aP[Zl,y``- l4EE Oϋyn{zzIUXP6V5HUYVw Րߦ4Ll&wX#[d'L9Isk*q0H71KMĹqۭ!z-BH% af> ̻QOQ K{T$L,ldڳDδ_#1TyfsEfUea/˾V|$;Ӷ $NTutsZ&=G-N;+5e[bjotfuT]aaެEQ26ܩI^5ɽ !eW&Br1j#LrFZQ>Cg~\{B;MXFojʣTDx<;߹MȄ޼ݑnPO?0Ap[c? P{nab  pb Xx@;)Ի(ׄkuQmQ:Y\Z72.QT 7-S{>0.(݄\zh4.PKKڅKYlx77O[kkt*MgB&ĩɅENLZJ pRg*}Jyk` wM< c_"j̘O_d`7E/Y4NROM!LMC>b(ϲ9 JGU.ZB&կy"%3Jr c'fV5RRf';V0(!J̚BvQJggPtW~۾/ o,$i.PN} r >1Ey =9;'5Kо#fmBa2Kj-)3"Z-]I]>9u_+_} ߉ ¥e 3s!2$nύ=<F.5<4MfHЅiev{.MR|^rgY=4fHaD [Φʷ|RʞS1kdzskX3PjA'5sؗMgY7I @l An"\TdaGJFʔ"SF@`z&Pz}Eq屖{%{Y{m]1UT.Mp eV"%.7䐌0(8Bĵ0f>7IU(g- %/_9T]9y A0=Qt}_1`V\'UJ<-C=\-KlЪT޹جET_Ύo"B e^'i!cˇ$U͛?Df> |dwM {V%'Ϩ2Sk`RLpsnh,Kww zR1eSV_r|u"KڇA @b޲Q!i2᠍ڵtOhQ%"sj|#l Dŋ(*%h_aۜE0op!Z7|T gs9r$| G@Q?C Uk2RRB%2@ Lw5cj/wmA@HJ>af%I6A_vbE8n *`JEv`ȏ378"XҞһ&]+IH8M{nl(xQ a.eA}[PDrJXUiKknbUy /7Cƭ8ҌvmF)H-Gkl @7[\zSD: LF^Sc;"G < b؉߯Dq #OqS3rPlX'֜DMmdE1k=`" qd%؜z BJ>gsOOF@@A;bFMHnooC(43e YEjg?oޡoW$+(5Nqcs`@Qg ~/dXy@&t9zJ`H2_>w{UDٽpb"BΗ%mէh!J# އP nE2 KQ"\:ӸIsĺb }-p~- :\Ma\m-lxz rF\7RJ\gY>ݫ Wt2ոCx/.e% }B3:$Fݒ1xIXt*u׾`[f+R%~7*6ȶRZOđƯ yМjσ7|OǝϹtfY s3'Ol{ lSI Mxn]& k1!7"2/4, ;$m|=ZtY UU'?΅Vl O6ڰ8=xAA{;V1lDŽ{*)D@DtX~x)~QS8'UUhyzqrViwڍ r,iG5]T5ch&Ct/w)t ^DAmjAd Z [-pI?%B6zI7 啩L ]JP^ a ɣ4Hb n;1!P:bo0*z TW+G˿ل)Ϧbq Cjqlrvp`DNo5%u{ye/OK0Ͽ颇b7.Xv}ӫb_@dhX2/B-K\ELZ9lD@Wm-b]vYɋV }jhiGveP_a@z݌?x]zH\3ؾJr5O@Z6ˬ6k󔢁,EK)cKluXH;Z^kGIP+c "@QV[ZˣBwXpL.F sU_¤^L_Q.5w8hc庶V۞{ï%#t:mO)8kv)dmZۨs||dM!J+s/̩qwyj:.@2=^rJR[ M!x-m̫5Ew\϶k=&vܲV5! :ivC'3waz2~LC#t[!Qf&S3 =XNcу7~Q(=2G 202fj`qq9>Q 6L_im'<~ f+ ݕt)dЫxjpT I)HHeMA(Y#1 <R2q-j>¡߭dN^DIN} HZ#ֵ< 6XUi[EhGE˹+vʼ~&51at\suԗ+n$9t!OJ񨣍4]1G٬Gt?ZK:zeLP"Gz&.oV 4 0=^=h<CB&͈3tucE vrP`l*~a/۶(G&$lniXA G`>/s\a~wpj/Y#<k̈́US.m/3f?gDqfGaZ /UXa:MC9G_Msu׭ILz1kIwN oM-xZ%عUbӒn!HրfE{Cq>)1ʊ*& ŵLo$[6qAP$ E֢\V)%ʡI$?Avza-ir0C^ l|\ 8B^БNNGE({SZfC̜*so(1ٰJ߂b^- dpҘ5/t餃&w wM{Ǧs^ 9~"`BA?Tx*RH'C*G'">?&X$^]S/ܧoD?%w:[D=Tn:.&YfOeʊw\N``%Qn韴P(N=_?h34gGJ\1~Ts67wMn5/TK2)_Ʒ[td~Xu,$0}PY^BK~ f 0q_ fs3 C~:l(#+UVwkDlAΊpDa晫N['QW5SzU~64?qaAEoi{ 8[2 houkٸܜ9p'S6u²6p Ƚ'ۯos䡧ZV2ZXT6=.v5snC9Xpj_R.MdD㖎mt&)vx>BݥeE0Oq yӒdipʴ6_w(cic :%,\tP:3 ܿ;cAMu!= 9YEmJ8 .0 xYV4j0~lxüPB 0 ]Y^6שUa`a$HjvCh{0BݒJճ8}ۯ&УKb(ޯg1H؃E('6:I*^u}093 [5H4/Vb?GSrGMBQ[]U&#<{B&E.x}UXK|` ׿;G|2\:+HWC-5׳8<;B#.תDҹA 7O=cM L1yc-\n DƼH]9ds{vs>`4!Y?ǕʡUuVʕx7u#(*Ɨ60?̍ThHqlkv]7'&#YWǾȾ/%^".1;ΑaX+4FFw{i4gsP{C^Z @g:)P o3փz,k݃>oj8F"dćH!D *@H;+D?R\JD/t y7͏|&FKTYhOK h)hL[izFNX$/` oVA_s9("пj)W{o© !<G?L\~01l)n%*`K^~Bk:k4gu-|[$钲Px9-)LhjC[q9]³|AamʟsooZcsJZ%7qnKr c 2L,d?)OV˧)T=ArL OuKgoR?9A07IHy OY-OvB50w&'S:'BC(XSXR/J&0CGpsaQƜ<du!JDP*Vj 84abıa:ڠ 0@29sr1aEs h9q fؘ~[,2PW{ZM}Ҩ@NͿ>$?[oZ0 Ko7#4jJ(%o 1$v>!g yr22'9iK'Yzb9a[Nl!VCT)y-l$D7:xO٦ d `l <O̫_" cc8lGbTy:/'t 8"3$d63-$\Psl$2+2h(! }eD7>+`Φ Ic 41h&A:F 5`<˸`7%{w4MI1u^%Zك! /Jۤfk3|ZC7oV:8RBk [潢h~JF3En4f#0'd*̖bW{R㉻5?`Nc98kQxlO8qEH8D7c#Qٱvj9G%vjyƢjR~H ߖYרC݆T1Ι:ã s񯲹: =z{4s,אS Feq31SvTnjUd]Q~f}p2b=l<<#*Ft8gzs;ɕj2IƇ+ 'O\>׷%u4殥@*y?}K\eK-{std5us8]{$y >_kǚ%ò߷9}#n:_<++@sQ5>hunQ}1Z"$z~*Nv $c./짻k2N? /7ȖIj5JBЀi1iFvkKA|'M;wN,P= !93F811 ͓'CB^ |ۃA}<(؜ssN"a4).N;’.>nk~Y0|RwJ JG@-%Q9nunt1cW_^WRew"Zy p&QP5џ*Y»^+%ucLZC?i=CuԾ$؜_dTv {~ W3$Xt o[JVP0ehmg&fz s=V 6q'YlfWWtsر^l-gu j$9yո =;.mlǣep#ᄌP/rf61C4})Q}WRN~T\<;hA{UHRڼ_ٔa ߗ4+rlCZBD/cZn] bb[b!R=X1K|9XQv}tЩ ,_Z^bNIOGA1U;"N#`{F fz&٧bEes\TT>8Enl@Nmg`dz6)UG/?? C\2LߺyY'nח$VR ^|،LiHoS/Ī_-u^Nkz[BvB0_H;_WW tmC--+_&]zI$눉D8X,*ƠMs {i@M\"hع<D*E&{|8~&]_nϞQИ і$ui|x$ oZe-#g.',/IJPQۃpz=G?ju)HE|xTFYe/5/Їb$F[ϺpR{*|Bك,Ͱ6u |x@=;@Z)nPU h&>;w-H&YEhf?^( μ˳:5$u># ^o*Tv59aqltս2U 4ZNҮA Lҭ(!-%W ĕL֦ ^^KjI5h%nEшyO&xk"8DAg{$*J~C, Y5yQNT>vX23,IQ\%8{ ]5eDO鸞wCHĥ{rS\!Y¦~~Θ'{K47 Ųu ?O< wŮrIñ{<شwe&ʶ`׵7FDrjI2J6'5߬% G_IϞF>&#FUϪ$ < lqC} Й"~g3%5NJ׃L.<'6xq`8hsxsFՖRt.dvRUn0U-H[gkT}OTc4+!]fs%SG`=4݃Ȣ+h[%c >Mn5QdIӨ~X z"j^45("Wc|<~Q۞p }dqiۣj oῨbfK=f#:="ޏn,Ja'nw UdYŷK& fǵp2T$?j;q%P;`:^KC$FX}I,3SOY9p^|g4\w.mK:'^fsJp)ZqImü/XC{ERQ>Cƈ1O XCx e&T6xG|֓r 'YgUnA K03>BeF`eةt_٤lߛ&i]) 9|V.3QekI_*z}Wa9KtCRr ?CsdE_`pѸ:l,pi{ r•!Y-3Р>H7eqx)W :ICG;6ZXv4)V!P234HC}:\ ~ގ_ա<'sc@}l5ˍg| il+::4i Z3wȇ%jjCGgtUQ]ԅ .\ρ{ A$-@{X^Fz-jOhu0\HʦؘBm/#s]`;AI(2Th,z*}/:(G᱘4|듫])/L$Cl8W3wqWAv,֏3F?reEQ{*fL|y/Dc(@$,ba3:D[okPYrYuog$[AyG1>ilj5pVhީs6mSeZЎ$Kh HP<]PO{j3ڴ仉rK 0=}ERv obO˛srr?gSFza]*+I|Zb9Re\FbZw#zZI)m0 &,Hy{i)JM;<l9;B>՝'DFrqěp0!7stN]_8]M'{[z"7>z&֥7rO_7)A,} N=R1-iOd{ }gW;E'I-{o#P?)#JoB٤Ž)ժC2et&k8m8d F'kVl\g܎Pӑ)AnQd\SV^!ǼyB^2פ_z{b%U# wF<sqܪ`Sx}.07`७o$&CbZ:{~zZ>Lcb[ǣ^|rDP[a6lʉC\Ӛh}!w֢!q헚%5Nh{?|J5 ̹ cs JrϱY}po=LsZ 0xGR2c ӏxR6 b\VPv7wG&ԃG-!\]wԼvA}Vss2,-)X}#dT"xGɶ$NK5#dlm[4e%]ff[S\I}tq4SVOt {jIvc5HbP&&f|rdA!˜]#nBvޖSSl;ܧ&Zz\b2 D/1Mn*0 f`_;ÆUsR rU&i`uiU_XPZ9oյ41H 6ތ}8c6p:S<2@~gХ7w}Y!sXN|!ͽ!Hi{#f=50ugx;zA/'\UÚxX7K:ZUss)G gTUuO#;dV*Qo~t.-.ۛCdR?}h5- sPr;?o'L#HVKb5Nu÷.ظ3NAVi^k[Rmρ eH`}&PCyh<ϸW KG`>q!sRb!J`q5ީ]ԋoZ7©! w _`Ԯ<+եf#i_gz 2 >Z.QC(b7Ȥ6^? f7w1xXp{H.Q[}C|/ogo8^5V߽-'X4 o~yCfKkCòV͔` H*'c2~TϤ:)MnH`LGrXϐ:PߠCU3&ᙬxB^+MTA+sY$Rק9<5#4 4B|1 ?QwgfzlOI A" @a1r1g~bgiw4ie[s)Z9ܾvgH!q,Ո,v4qȰ+szPC礚h&hgDn7LPxl_uePByۣ :Rye7P=T-dN31zT+HY1Iιͬ^D(#DN:gBi9տTpYRmWښq'!!-K/pZ GU"?{%ZWپR3p?:"nEAksnGbe- Z>٥jkU]ACD5xcZ A|-cQdQǶqv ݻY#oKnmkN΁ Sd<C&pG^Q:! vRq̔zAm^=Ρ1FV9cdXG}M3#v{]h SO01!9κ9O{C|Q f^I(kVz7^8f\v99X P#T!mt]uWLLb@WAr&1sq7,8#o(Jdq bx:}UyNv0sDqb3Uba?h>2"ocSx衧qT Z/x;%$*Dtzwwݬ ԫ]e@ =t\J.+;A}S/J@G7EX?ÅF5-}'(yƚ{%X9.\9B0(5, ]ъps3` ؽJ!"Uj4g;գ؅u0;wTv .zI婪8]#6펅05<]) #+oqUN(3V䙬D`ya;=G#5^8$ƛ3pBª,_rZEeAOB.jQgq7T2qo'>A=g`qD\͉l$c%nOXjfd$aybXT$]o|Ml'|G%꿔l2yߕ_ʦF3gѸ\B+!xBvERvV4򅰬V)P5lg:۶X3JH$R^mO*٭EHc!P_f\~lW$kL>BmEͥ]ѮmV{&,Dz6RˍARqAjX0o8ps_$Siῃ0>oJV 'JA}]̀}, N{g!IXuB'^)|Q|@8/^g3mO-: E& y%n+Mm.DhZ;,r2Ytw)x8M@9/>j) Sp[B `ɶ܋˫lj +$;yذɭ=}=,jR;B+L}1(~}/*Qd>K1l'aS D[}b[ @t6z 9kO hVŒ 9~ , skHjDa)TrCVFUeߐ@ᅰvWG}sJ̀f)J-))*ԏ dIŒm T7EnkF34lT$V:'^C,paX9{x(C[%`J"qIARDT[n:/)ЇP8]D>+#*|L1< *}vis~o-H( Mc-"Aϻ0W9yqn{g>0B:00pD#Adr5 ++ܗP G7Pjrb=kA>m7g}\EPxP*]XOP[#i%25Ϻ9ɶ^_<]%}?9x̤r{¶:J"LZ 91UA6:.9q;s׀YF72mi78$G5څp^=gf!Wۭa3EKa.xPw# AT{7L4,h~Cŧ{W~4! uef)@eb ")3uZ=q[nifY821!ݿi$<b$ Tӿeݦ >[G q>n/^lE ${2|V֩lCsCpW;pN GtuM3:Ek=kU`P=@Q8yApkXJCʶDWTr'NV{II239f{+*{чȪ}]V_ ˉ}Ak%Q%PII?_3","Y -#m}eB^"n5uBM g;{wP1a8_#ֱMxcFq8"Ю.69 gĢlIMc4 0ɉz2K E гÊ^g+F+zD%z78GCFBvoz+LnYP=2tu(}4&DȀzFEZ1.˦o!HR NF6"Czv'Q琩$BMM2F{6^s_8+Yk4 K[N[p@hUI;*g,ƇvsXh]xx.[=`JHxU.n@z대$H!Q/mG1"TqT%4NlHסu-ogWco'jaeZtN 0$tuM~J:ou FH&Rhޗ r:F6D$2Kn/2!ˌZL#+$gɪP6bVe_r}EӣGeNQ[-& rr=N'(/-:8sY#u^M 9 M'KW|vFśIUZ G'EN{2f8-DZ@#7r!zx!b;Nߊ1f@L0{|hWdNx.k?tdm?wkD,AɃ+U5(MϼyKKÓGDʧ, 4 _;zR, GBF"LK[vQYA($"߁M)kzu\c&Пu]|3c=fUN#6%ڲA䪫p@XߌDɱEGn7cٖׄd*s U$u#K35iz3si.*oGqFxUȝts?;$h*iwC=R޶$Ȏ4MT=pzjzIۤ?!PC\_?ȃv 8FBHia9vgKƕ>|hq/LcO4<{rb:^3XEz+c3~'݇Od }_U=I)̟jvN0h5biOoLCXEX̋|=u qh/q^ȘZO!dpL tS4<[J'@hT04V+g 4dTo?ux i|SXkh܉3ߒQj@Fx.:ֽ9-Ǐ{fAЩd;3.&/m0>[gɯrc>7/M} iARH5>YV#sJ7pNф[#i/{"VH7r?\fO9`{YįTs\(n_mCQOI'(%TmӶ[Wer4#\7֥%OoQcO:D7?cYd46t*v%Zl *ZZ/+x+a79=#N`Vn?"-~f $gI^ͥ}/,W+ IŸRG<$"K z|bSUk#NWĒod1=8!u`Wh^w6IkfuApPZDF68.c|瞤 ^9N_ۀ)nvH|[%A6KҤ0/{<"04=oW ܡnty~lMfg12ˣ!Xֺ9YcLGSJE.YXm-rm6NjJ_YH3|>O̫u4MpeԠUm,Vf5[3r\28j1V\xZnlZ A&W&j YTo ݟ>5ݜZnR3=LP* ᅅgа44ʴU՞Ia#s;[qG*:`;)TVxTZ5Dw-)cułm=#J6Z#pRhk¹(ϻ rp`5@gtifė+x`W$a&o#ؚЁWuS9W@;3*nV藞\-j:ƁdJw~?Y ˖)[ 'B$4&^Ro] WKL w>>Yylj\eJځe*VyYHB@c%(pbCff/XbѭͿ۴Qdih? 71wD|36U~-~ΧANSk]0 ofHVZ0 fiKHM;xK<2dX(k=d+^Hc<=$ꚮf9zT1dnFw7AŝZgPk \hݝ~Ͼbꛉ,!YcK0DVR~ūY3Jm)܆a:]x~Qy1}ڻJp>د1vHRᒝr{ <ՑÖ-QEEHmM_`lw9b ٘<9+v|pA[n/d*eʌΨA6Vnb3MtW(~lgcj_  4ѵaNRK m 4@F'7%Ģ{YJhK=ZD+ {b%^{o^2z׶cXG>b"n7^8uP&jYu\{=j/lf}Iz_F j7<=cն.L \Ǖ`u@LAF77Wm)?I!)_/נ>Dox *TA8y }#$ᗰȱhOyFTln UWʩ\]7ᬩ'Y=&+髙I'EŖ-RlȲu]5VDY J <p0ScB*\?䓇!6]W?+ْtM`ϮץtܷTT\`鏚}u\V'a>Zq"~ec|ъ:)`M@Kہ(f듡N)RuG46ʶdјߚ}MGO1MKMMLF 𠗅v[)adG'_ gbL9铁{;|LX*SvHj@H &-*A=h(OH"GLV~,$YH$}#+޽P]Y%ر;nv9j8[ I/U⮱ہ܄JB^ƮИ:o]7*5pgYrMA2G많He %-b4B执F+)gb/-nEc/w%1EAz4l`M7(<.t=Qz۵Ozˠb~_U߾ryt.W#uyӧ7o*79e\+%?baLt *S>߂IXʿR1aۣ,=Vb&$Ѷ$hE$ ;|: Z!^|qahϲ!nL>CmVÿPlDٹO} #|ȪP_`0zעoAĻ^ngeBK/7zoDuPp%қK #abe&!rYTc__lw~rm(D;]M*-}߻:`-PNԙozO3&!n0Pfx gE׵*<{V\M1{ːF]'5&! 3HO=^}|KlU^Mؒ5p>QbBe$yJVIFt!Rߕ 𒚳(1d;Bϓ2*WyrZ{,fT? ^a jUP"Fq\3v \]orϒr#? OO[~-i:kn0µsP/?qm\঍*b6V^#90xUaVVe!-.덟)H:}nB8opM;< JDS܍_8ТE:#[卜!F? ûݶqk:RDRt=~oKoWx%v"$J2~%c`]|i? `rlDzI!-t3JćɸC!^Re PW])O#eߍl9zҏoJ<܁&Q/K1.ty.:LY!5S j,X_ApsKgT *\KZ.Pc c;k/}3rjtV1q(W<,Aoz:T".iʕv"$Õ)[yuPU|Fl~yjR1c㾆Y;vضvݒx;Ԝ)j34/%́ԥ &[ݿF BP4@u|VF/:θ˒_CEy7 yJ&p6"IJڒ0X.Y `^lA!|?Sr(+AEJ2[Ŧ!nkFWL %9Fbxz´v(AZ$∃}͸ot>ooM)'l[^7 -WVtUa$E[(!t@b}7ǡ3:mSnW郌?@ _, Ga~p}cpnȃ(ڄEL$'aj*4jLhO(bndOp XcO`:\taBYT:&0\Aj8&J X)dvaʅ89]}Сʢ#y__ ަs#|%%!imn5"\Ôz2:`a#c||tQnB1dJ˰O& D#;83 ԀPLo_ 3e8/fŚ3?fR`\]zؕ2dZn!=lWc O;0y6eaؿ̻õ;᡿+Mxuęh-0t$p< hf EՓv1 x3utHmQʧ.cBZ0wȏx"x8SKG*3y$gT 7 :܆O7lgg@n!͡BcjW| =g0Ӆ[!}=ܐ5>B.W9ZXg7ʈ?P Qm0 j1n}p*d >6h^䠨≙`*^2` dtzquI._x&K~n/kKJ݀r0S; “ܕG\̷33gMECM2ĀsQS'pVo1)!|OkmEK,ahOBcT>n`$4'>IGMܹ y{*keKY޿a4-ݙ[ ADX*=45+V~ݞYO)КOg@YQm)#1|oĤ\KNmvkBӒ㞙_EI;8l.O0q8|Qs] /zv/:"rMxdžu}6q%o[Aԋ##ns9_rA1b%FQF7_bE(Z :KmX5eƧ/d137Q@~=h/|_dGjSnL _5w{zpUhi(*ĜhsϏ*7zу|Ӑh%aB_}D3#o*7PƙD٠K˘ _*=!Y23"p^Q kj>lAebPWڅ8ܨ'9mnl@09}?HVIFRB|EY0ZxUXFS: "y򗇳]nMfV:/?5(rNk6sYZNNj!zHMNP!JD:ھr$f@ʻ=XTy(9_zgզ* le+H۲ 3&Nڒ4Rq֔QՐu" .9Ӛyp ŸUl1,o 4e50{E^K}zkd_9?`kK$A{Yn< rhπKƁ/iZM|pcκ@ҷ.h)ZTe/*>ǟ86~!_B5x vn )/G&AQ=~i:lOTOҤzmMk"R8G-Ol;]lͣ(@g*(dx)zU%YDRwq=Xa 4'BW f &F-R?%+>p|rW u /.  '7M'gBNH |LY˭Q\\a-ۍ3[] T^B{B)zW>g"j7[ U#۷CN;+HWDMb׿Po:jL 9zۦa+$JmP =C+op8gO.Db>H/m@jaʛ˗Qŀ$Ft3%4 jfmoc@dVAz}˽h%p)VF]ĻmƧ"]O"aɭ\D6~Y^)LP&D' /ublOnG\ VJQ; Uy4W]f$q%"-:Z%Sk=WKS'HZǸ-thB>i ܸZa[T@BANcA-r0`QجWPZl\(ro^ԐsO?¤l} &fZ9}F>UÈ} yw8<v$qrɀv'^9҃Tϲ#_] U̸F2x+vWYR\+RNlQɣd >[a՜/9NID~(">O$--IS bn Jz^ji=ko`6[U'#&IhVÈfnِ)uSbULq3bs悓eNT1 3" H gWو 9O/V3O,cջj)eܧ U,R֙fc_A^X秉[b{Yx@߮0ܽ[Q]O>gKЕQ/I{:n1H{@51p3^@jo QAvueh\=ՇMZ4tE=_Lx]yDxmj%|װ9˩^Ww%1#{镂 ŭ'<7 @B^j+jxFa&H ȗ)QȤU Hk rѝ*BV>o6!lmsugR5:Xड़5NWۺFF[6pV0 _+/d'j\q7clK evx4 eCen9A ) wOܧYu#Fm'Fh;>̋9Hzuj%nL[,xFq4!4S9 ڬ#(M- z L\}ه /$seM-z?r[\|J'ISR t;&+I@JF3T6D%3@M8{iAAB3Sࡁ:jnv{CCD'{\+l8N zgysg j-N {åTouBUٌU׀A#$q9T}qI#O-`zS/1 ! 1f{M0 M8h,(̈́ ff#Y%~IXA{ms2A. H-Nkg1~di֍8ɰb kV)Jh TΫo LnW4jK ; : gʽK @I|^x)N=Xur!=o[h)ٍJ GKU/%cu ԓS(+I `yc]'}6M^JKN1ַoszTJ7BY>]@}+„;`P?)<`m]:Q?Dh?;u$kyDie0[, 9ƺ-dr3ڎ8]C9܅-&w?D(1.^#4iG3`uKEn]HMʶsn6ީ EB/{ҏ=u/eͤ-1Qqn:;SJ>hJq!%y38"XK^j\3.$ `&}iW]E/HWJʟ$E<Ź[HQƪ{̅zwNBl{SɟL)T%s[';o^w>K*dP KW265g3;ݡ=63C@{H:.m& *] ~[(>3wQp\ئ@d>'EPp>Ld]/`zkRviL "xEStBZVq~Ƈq'uM$ɹ~׎_GD)Yzl_}Bi/ >&%Q wNݺWNRF@?vN cpeCQ2]^ =RueUH/CuEq׊@HD9x8kBec1\.W0K60q+$u$_MfC̸zZ'3q'4DF !85ԣ] Ve15Sz5_aXOԊ"xz g<W"ץ⥰G z>e-NzqdB8qA`}CvMj-hh. BgU[.l6i:'b~0nr}P{Q,9\5YkٱyҀa!;b^= Np!ެFQ_#pO= _}ygeБ@3g*ۄrPZ)sP6#g>DK8D'z JS}w㪾+Rݻu\{.+{r6!P6B_FlP;zf iqz](B{zzL$}G 4≠:떏ד$jAϻ PZ\ٻ +{~Ghp+ *ַbop*6\nYq!x8Ysz'=>1]@aBҲbI9d,[l (ʘaʻ܃FDji"r*Uhð X&09b ֏1|Ii/lOrw8GׄڰUP4le lHܼT\ِ!V繺!t-ita\% GG_Q>Кqk0=]V=}3'[kéwȈPގ~Q=oN4L 5ЕhqcFEy(W'oya)0=5MHZ8qd1~Mi jTFewLbd I]u5GAjd2 o7MsA֮>Xn\\JQŹQ|ڔߎy229s]6bֿLGDX=d(wNclG!c[dn៪fX候ȹ?_ĬkN-ܭT$j6Ď|eB@;8k!ՋƩ!}EQp dн.r`.n(*{[ 0lSN[L~̶_(OG/0vQJe(P+f~&-ge+iY\-((VOIc;A{甁,薅#3b5 1fS"Gp["_J{8Y+vȒVwϒNdKˤpL,q0޴?!gpa~ܡF,_.wA6 ~;h%ֈ㙛' q>LKD,THCP H8#k/ha0mb|QW} I`6Y>޷1e( Ň =0;ߢ3U%X(\8jԺ-K6 y)Wn¡ j|]aF^-`͚ ezBP&jQ"8,og?Πo`y90^U̫SIcx$N -<И FZ8$PBΠ91&Z.υM&QmE,NwNCp|e?ZmzN\њXDYI۵Y*l8{cG&ƕ!}/0QbP(1'MNc܏1vͶj+5(u헀:ck6xqa{Rv6U JI(t2vk> qoduū2硥CN]cX&8}{mR!{n W-&{9Ltk:!f'qR|,&g8o)7PFב$0_["әOrqY$ZԌ.5xJfÝNF-D#-&Drۦ ($<%vc{\.!0Zy=gii W'IVutyqRg oiB%lz(u5A5*!QklHҲY^ k }죻QgOnG 7N_8w^(3Nb\S¦ ;qܑ/y=T˼ .e+ t+p\M-}Y;paWUzeDkjWmqbu^v\4#<wdJFDX^Mm" CTԶW7n̑uW:nF% Raps|wThlS:xAj*J_i?:C3j$[NRZBR+}Nck# Mhb# ؤ` uÜQ/I@\9@&akJZ)s9*}r#*)=KCpaU:sԭkF2X UonH^wN@‚0+:( FSx^ qrv/p%X^CrM|KѺZ;JiFRWrnIǖ櫇f.SCVOufʀa-9h/^*%3r+8x 2EZiC Py=:bovݗtSsk UwqT*Cp:o{Ts[&ZO߃{V5pk=ܣS=sr`"Y df4xIR\5 Sϕ]/%o)-#|3zG#Jbue?/~NZYIu+?m]֬z無ISSi'o|_\!֗UQi6 $E@8{ϒcc'#"yz 8'`Q |Ž\%cBנZp!hI)hέmYϔ* t4sSb*26yS%cI@~ f,$RXƱ. \] VlĜ'tPw )_}w:Zo!`Htg/9ڧO"?ok\Nen_+[ft#W0:bEH`Fac7K:h9Cq}+i7;7Ϲ=C6I_݇l< 5B~a8 ۪`'EE#t[lύ\_˓>M,Rڙ+P۞ DZ AkL78½ћg{o$+|m oAB"8Ƙ21JLY7[&aeN!|Q>7g0]mKɯDtiJ%1 po  m$ɒ \m#53hJV|pt98 ~vp$k^UCx3r+V,3ز?4qm`H`<:lڀ*)1/L fo(ɸ8K*l^ &Z6tMTYP3"?i&0-]YrB| SYh".gT.ʝ<46in O 3}WJg6xtYF]G | -KP}3[#@vM6uMB?)/%_3,i-&dns*➧Kc9jY5o={AOQMNM~Ԍ_#"Ao0NǙCöys4g @Tk$19ïZ!% Ѧ*# 3Yw> ,іBEՉHf0(/s;!7|xu B VGO/i5xLqţ-s~sQ人(gIҬ#ѿl6I4Xc2~+&Z()uv Lՠ[\VXԂz`A<#rY?WF>xo#%T89$.ysi{1 \w,rmmb?4F nD&J KT~MGP7t-fh;|~tAx;+'J?Dx~~Wk L+b\[ynnl,%7M㫎:T)]6LnJJQR" vi"]8W>(,ṅGn}m`z+TVY}Kq`7wG "y) 4ЋR:MSʿ5`Kgx6Uk =KJHx_wՁX6\|L ~Ht#cX!As"/yWVCZX;Akfw?FcX߯o/~Bvfcl 4]Ҵ6aކeQP D[ڇMHU]lL=feA`=vdc 662yq3XA`GBթb  ր/EK1 mMj_9qb´'f)XeXxf`vx+g:hN1ҍ2q2'0I/{2<1?Ypsw^pF_5 Mb!)Ϙlg[)]naeC(xg(LS(y b\Hfl.L'm<>!g!ʻrNasuobafgօ{@XT@p-\ x^h;ǝڤ+& rKS]d:/X3ihH ?v i5.$e%N:%xQRT;ܫWxK͹jebw:p΋5կ h'&´>g⢇H8;CZfZY. YiշއƏdBPHvҺ@ qn:T֭W>5ƋNODH%ڇF_""gCJ䂟Akcc|<ȍz235BgË>DGԼ PԌ)3O]#˵A¹--Ѥ8";{wbP>RK63LUxW]NbZ+ 1XHEn#OqKK F:֩pkXtu\>L4[j?ob@m8:Qv$=qO,YDHjfO.!o1w*v\G:lFiFYSHҙBگu~?uԢY kDwa/,*c[]NV4ȺۧVU m Wl'%-Rƌ%xN,{b3R秈ևj9s`%q Mؐy-y0 ~9'Vls8/'tRw&)+(b:g)KUr7Fe{̊Ҙ [4]) QQVNvzbM}`-""?.NГyII",\;3b;k#.5\P#d홞,/ re[EvOZ<PuFR80#YkDr`K$;TLg)X2ނaiS(Iz PapplmD,T* ,flq@IojĤv1bjoz"cgMjiiJOݬ40m:%6Fx.NU 3K6Nq'Q7/~51**uK.R6 CTgrxxsФ AmhJw|ʯ)>ݍZptREk2&e5 9.NA16p4ɕeعњR;8OhWb8ADHY * Bg 14H|O~76k_..yl1..Y?9M )\v4Mbۑ[D jћPoޜ+=OZ~>pŮ*u+7|2s?Oմb z1sl̿~upL^v+Uyw Hrmz#SyyH`{ÚޥZO-nus繦]{-oq6敍^ԋ_JGQ|ok3JxЛ3' /T.U=) {f?8c=GzrhVȞ&ÔI{KWC>q)N?0E% a T*ԺNunLHQ'̘UP_އ-SBf T$k48B "-%|ɠQ8Î{3q Q&#LmQ_+aS%d u%x ,5 _ŰW٘DP!F6H=Q؏, D>e7r߮/"U|˧Ɨ'o#cݶd9sڇBQ y$rO0O^Ob^""OSf}] o4q ,TžloM_R {~Î!>v`\ 'J'e ]$T~BF魳jbf8ɖ8R+5ϥ=/mO)S^w8gJў_F7~(y' 1겍}" b$%e^nMLRO ݧ2!e&N釥lD6;"j#6lrUD'IDdLza&K"G4 ux,bŴ6Ѫ|뇆ZRabcb0Bgl#GIFa$2irw%#Z8#v,$`x~8w5yPc7! *c,#T`ȡ$G2$%W[fDqE\FIRCZgD_/T9"l$G(jCc^v& FP%;{_AZ"2A1-V{`-ٽ&^S,*aPUU73Ouz}P2X!80,y$=%Id_?Q{; +C)pzиUnqi 4 Vwm(Yvcr OX$ bHЕv;0Ys"0ι7@w_$vOf^Y~ZegJ`%*7GVZ{K 2I+EۮRsMrۂ3Vec;KG/æY)h$$:^NM6#qȾ.@yi_QcJa;,%I}̼DJH t⏑ͫ1/oicwc-'U-Ud)4 HMrO"=q葷'ezoS/HyrUӜqO:t4I-r'[o.nv7?sBf9/CRc>_ ˔~hx̣]P\FqJ 8)?,L<γGh %0&pfhcΙgg#+l5qsћ?MceC'i6ZMNZmW~HDl?K`&Z/F5"ljUہuݰT6ƥOVr45!(% /m(.=ĉ2-~GBmTpw ݴ/v ?|QTni,:Ҕ|p# +Dߑ״DT3-=8p2 ϞϹ~)w6;)JM6r-NaNA (^aE&Mq [ZꔠlFd'_B# KՀF4x{w_(ԎlvV Қ5C$OHݭVRI>Jt<܂"cubPG ~RڼpGYs<RT.;,/4V VIu>>[9kwj3@*V3*!Rj0BK_ ZìʛL" 1L~p(D XWow`|Q  YR蕘L`+Y={0ay؛hzGn?K *@p`KTZqGuki$s9Un-Xv *FꜺ7xs(+c!V6R:cԞ5^k3V@ Ia,"rs٦`XkVp Ab3Fū/ajh<zeWk=텖pΒXjDY:eϜ8 Ez#|ϹI cf4tM.Q5&uvPp"a1 ~0NrLUyp!) __(d8e!rs U& FM;'f!myS׌0qԵ 3cb" b ȓ+?Z˲-:BKxQ Y,b8Y}OL`6`!hjU| Xʻ2 qg=9]M<8!12?i d(K~׀d<H*W=b ʿ%r995~-{j_DC4R M3]_ĺ-Q}>x;gj{q'PrLIl=5c)]<'ԽNzVt)<~D91ZcgxzFW0NN^jiՇܼtڗv1'V-[ܐ}JxZV,@6i UCC4^ɧX/DxfyyfgwWO虺;0Y{*i7@4zqSMՕ$2iÏ|' HR8>hpqS"@.Z19]y{~A_UB-xy{_^.~Ҧ"#]qo-sfMK:2ז`xj=pB.2 ̊ U0lqZvS+HR=ԅ޾Aќhm}]${r;>_"h0;:Ұ g%7C B%[`W}R4=hcV9+39$M}=:pPyۚ_Ou^O6uKWʨ(\˙uU1،,*1Cu/"/hdXp]hvKaN,yD-Q.v݁TO xO)}WFbVVY%\KjL,d7N9ȰUEWnv/s2p<ǻKC`{G2]mOk{g: g}ꠢu])\ra iprj-W&*bLqAnZ98_[kfPDG'ᙀGlVe?鴺*Iv!>?2&x?\~EG/xfi9p JM_ˇsb8DͤΡ`=ٜ?[@&#w_PMWRl;Lîکi|WB5:ےWԣFeKA LɐK"Qʻ8NcJRHJcʠZk'K".׃7d7WVN҅ +kYuA4sc2FC5c, !2?o\eEvwҢVRSx5Bl%wv>""7 Qjg##$[Y~YeN⸄ 1l%Wn.p*jLEd|6]`#X?[eM vxmIoW) ƛ *r_83zo)=SyͻJ=R(Yd3ٽ)|^$ZBspOur/@ʈsrJr{j=e B ȐňdCSEejj/?:w*`:rv*rZ5|1(Z@*Ahndu Mj$rd r-\ S~U_U{uAM^]Nv =ZCeQm_wijſZAuuvT&}W!* v`8r$.5V&f& t9(A6K0CzNL=QrSȭeYÓTxjjCV=a: }YΤ} Gߴ]:2xQ? ~vAmXe$-y@zag|`eȉ}2:v4S M%wWh}ad{F<|;8 ;vMaVF, )EbʸL!/E2#M/i3-/ u"Pvh(XcA<:!aC¤>Lg\sk Ԡs(#\DNmBkBd˦dPaϕ &`Qe4B XMD#7H.X4w:[`TLBHrCḮH7{D&x&`*eK_\ȩ*"('P>G|#+?M^EdT> C$E00aɅCsH Ϝ4Oi\}ggr7 qsR*|&"uK#by T|B(x$YW{8<ݮKQIв"U[2b)|J]|s9eIIz@8l4@d8k@K| X3Py ?Rt[ 5a]/d3>4E N;#:g%xОd'7uuߘZh๧e&f87y*]"b_>$%[l F#Ԅ+)l_ O?-څӿXK֪tJ>nn.3J@lۧmbQI*nNlG>d8Q$61f_ޖo&2͔ 憴nZ2',y~IFHLCbu A3E t@KQ^<`. D ;(hDRPi5@5s݌Pn B1z\"'<+cKׅ E_D$m,!Oevð.hcq{*aqښƗ~M&9=ŸSsoY/\x-A(%pS6g6k}Fݾһh`, ~cnJ2OOKֺ6hv^֋zuNÂ0RрDWAڍ|!~+H8@(]Y4 \5W>UX@ ǒqd0 QEM9זtU"-H6v(`. an*<*뻫GDYUg`3JT/~Q541s?7ޞL$+z ^E,O0_ *)+& "]q®OVl%EHpR? q'49uP\&tdnEF Ki酣FҌ]}^}:n+jʵaV~αce7BI^ ۸\@Clj2F2 Z4~ G\9V]3Vhv6d8LMBa}ԍċRPOQx֠D?# }|T P<̥zI;nyʃց `OŔ%)oZb\|Z@|DPKd;gl=.>)G-]:5JY_[q-`ȁUAj* #An(\7IjhfkW&0,P7*ٙ!DIQKml87_}~@jVZD @HB˷m0{8ZdW >ؐ459z\^ ʟбG*Eto4yJw VZ{< I|L:25NPV?FA+ 0+|V@pߤ޲Ck-]XTـgC7jne+ֺʥdbW^_C85bP꽇;Dů>\d)vŌ;!Qm o/"[Ҋ^kyW`L5"Y;Ȇ\]e ~ѴS>fe#o9*P5x݇ ** Z睐~3:=m =qW'-+o0C6T o[- JK2 ;:'m($HZ(gԝ@qD]{n$H֜_'zY!pȣn&a<9Oy#:Yw8T8W@MJJ,:ᩖl1Ef%g,TQuLlȭ;[T.(-C%wX-3iqWG 5IcjDx^WH&vю`$,-V4Vqh.CcDBK΅6䡡g_]hkλ#WM5C .RV9ϭl@h%5L43q$ u ()ˠz۰CMK(/ڌ3N(Vjp[8@J\92=\QN&tVOOaMRMU gnr;~<~7i*)F deYbN10b`ۺEJh8bgA OQ[8yESp?Ḥj8B|! &7Y ?nYi.!av2b}t&a nh3U2sv!%Pn=zv"E PCQ:^ZNՇo m 㐲֠sbetYDRXnL(]75U4fwyCn޴κWX˙!(8uAL=<觱Jm18M.ɟF`AEO\0q@/z^`x*lB|U-q=%dw;bzCL !>MeL/o@0tFwXiLFmIT/_90&oa䘨iv83;5؟,yz꼣Cֻ1NGP8PjzN7%f&e8.1Jq^59T](HpQkN }X=@( b$HVk7ADuT?~N%w<wHW4FbZB!|J.% ^"AɌ -/="1Wm /;ώ#Q(k*Yr a)V^xZu|Z9cSm o 'NOA4HU3 2.V48ddW{[Ρ̻P;# isKIr`Ú:LPo+ɵ)Ν*Qa2Q3jؚ \-0Xp4ŹG)MܙV "jyz4PbqsMgkU[AXv\G5Ϗϝ{{wHÜLfBH#7 !i6ש#}W% k$1`Ԟ9ʕaw9JF.~|J{',蝎$t2 JRn1U~+=4c8 RV"~&88n[vM.Քa^W6{!B K@W?xCC_3Y%.(EnB6q9wf7)J:S y!x%2X 7ՠ(]?Ъf6~U\躯KKqƖ k8ڦrv+d1{ZK7#lU%?.Z_ :UT{Ҏ|A+qGDڰ+4ZQZIiހiuMYmܸBe;j5͢7K+3ĻS.gx<;T@ʂfJDG~s?p$ F 6lw! k +''di&1(ȭ. D(MP~ Qj(nh1L,@q:xG?)>5-ߛpP禱r"xVOD^"G'ٍwL(Sײ 78`UFTHQӓЇ<;B ⨞SdTuV[Xu`5!cid;`z!&:b8pm.*uQ8Ļ4X`܋3я vgV.uI/@yd&x[NF+*btPK|xӓu憜ɑ^bRl$^dE}d;?Bc dfpRl6?ޥv֯iznwZNf%jwt6 W c=0@ &AE6ɥHqM IK,ű1v:o$$տӣ,ԋ^ X=m g}ښ챝?BfckuȮ֦+hjtUUubl  3 yLֶ:Ldkrp,5F`&u#&ѷ`J S9EyPwnMP'wRú'wH l"\Ir^ (zR_yLA&-y #6VЎBYSu:sЁ1vю=HоU.2LR 떜F͠bͦ]6vBW!v#u%X DZˢBW'F%: _ C2ط5db3=~!-* {P7H9WTLi*s<qSsn3*ƯGŀYwʝ"#H2U| '-}4l97IM b*ԲFTB"}t%(*ǧ3]a2G0iʵuf#l_yjל]&4&w^!~VYRG;43TJ}`1:T( i?Cu7}y~8#]*2S&2%,]\ѷ6HWފ>RN:eKVA#u8e عBMlS]jawd-]Jya#׬*- !,[7U9\ČUAЬCh(rMriZ:bIty G犛!pʰ~ =yW)7C? p$!G|ҵQܛF''?d{|׿"G`/T+3qзt❾RP*;'}e%<Z9Kt1H'55 8s㥤:%o;! >UfKӠnX=.!m8穬S@1"(wZaIDIkR M 3'?F= 4WU y.8|@/Y@3_(W?n ̡gaQAԍCY"b ۦ-l8IҒf.sKH,UMu&iS}]JAe#Qr2?\&}cXX}LGJ5PԞ G@T")u ɝs JZ[HG<P6y)66!QǹI_LﶖЂ .4"}}c̯>>Ha NQ4@pP[θ,_tuC j gP˕04iS'ƄL@xAez8Ш\n2uO$UxcamhT`mL6)BZ[@KзUڦ.cEEf|ſgrbdg]*o ,l>= nB@vQ$"6^ 1sضQ)?ҍM=L xb b%nT>- / 2l*>M<Ƚ}*Vwҧժo˜nQgNm3bl'իT6l?փr)%ڸ5Srz=PGL_(wfF1_K;9 ֨T1Dw% w|K%Zm̓XM(#"r*lA g;c>\fA坲Cv&#J/gJX{q+>\} n̎zpة=g8sl0)[V-Qa\!OivbXr/j_ *iJ&2g~IM1+p47S(7a ;{F̮f"r븒gP},BWZZ^k.&PLw^+냦@],-U2\aŁH69\&\b3*tͣ" HEzfSLĂkʴdH# -VI :0wWHrg#(sH=,;%MvQWa,kB'#&-9NJUJ&Z pzтCD DlՕL(X1Ig)CtjDF-FMkP.JQ 66,&-q=Rdvʨs'*0 F:oNy7INzBp=[/%pb7p$F 䚀`s ʣ+B'+>>l4Ag`?'#LIyFXXvWTY;sA[kEz44= ep)|V R 9MyY?s=P۫XqNDKH$+0ʵ!{r49N3iX!Fg?A*FIUq:3aMof, פܤVzK};RѰ .@Dz8}iՖ.uk+Waŵ"~\_{BD~ f|޵ w!Tɒ-u;i1- Mo$b^ 3@)mB\d1szW H} ~ h oPĚtcN#+&f#3ru#51zK}Fv /Bn6Ң#KY:'CDc.'; ީ"d'@! IE"P³}vqHCVWETMtŁL0zU {r7Ha,|<׸vZ~ۉ=xTbl_nk)FW:T1u9z#E? \5*;]k/kd .b|hFLϬXsqc46siK]XЎ5-"kc[Os&RTv}G{&s!Y-cuʀό>7R\RI %.iQ>A4"}J)Q0ξmhrȞuA]cS,x7Yd"u(hE;62b2`0%M:M،G' O=\hL:" #?,FlBK7gok>MbDy+i*6+RE[ &]`#b4i .]T^ p m]tc_sN<|*jkPaɽǼ.JdYJFf+"Mc1)s?/8I~NCEէ0Úsr5 DZy(U+ ԩT@TTfI+@ؤ_Yކ9 P@t;q&A/s`!nUS rOl; eIC/WԆVG(l؃Ts}#c_7f:B>jsToD;KZj ?P*],54k.76>6y G#0 AtOR.S3}&%Mt L_7/b1}*0ى3;+JhݣPukq( ! Ww5*çlv F]7Ta~VoL1Dŭ%dk#~+#-}M bx\~,T.}T]knf<6Rj!jř?3R.C:f3IMnE#`*?Z*n\ +9?Y{gH h/N;uN*FF@% ȀXREquG`iQ}]Dz ~ 5 6, %r;"m$ڐh70c H pG3BwanK,fl9"4䕧N |zPgxUf3zTԺ <,;Ne(VJ'l|DLgK"g#z.b2| 2fEn&?xIV=lt*S!4/KB丶S9K\l=͙ ڬ/N=xm(B"Ë˨2Q4p HV @:4ͦ%"`&]Ig󾪏&ՇŐ4 HOXAu%]H<3 P|#pgDS1ďҴqc \]rf"c6j*.fM%No%mDU+Zc!CknV"5߄BP b$\sW [2oyzɮ^1uvN0sP].T#/d$Ksdz5NSSFߗD76{1pl2 FdʍHwkɽ}':l jopPRjA[>T ETuh.P0naKfrUP}hՎF+3xGE Ctvj"Eʻ#㸮J|F{W@ (.}+=C!KJGN|z]Ek }cT~zV_F;"墈@?"9d<^]Oe醺2(Y^N8&uͷRsE4lGj8]yek9L9Wq7= 2$^_'KGM{1*J~LJ֕6 v膈{bqnw4cȑωD7StZ'T\Î^xS*S[au:jӫ}V|f![;Wǫ<$ܡ0ݹȞpJ垕} ^ؼ 촉G" I+#T+4>8h=QRJDܴܤKgK*"G|o(+&FL& #z޼n# Bfd @}MJkO?q{cN>\al AYGAyڐl7EtO-¹k*? O,RI-mt&>Om$9aBJ1v>VΡ,$d f)Y7bC(~)g!eMAE+?a6A +9SxfK}{"uA5sC}W.nrM:?Ci_XO=z2n߶f%>ҰV҅*&glyJ\Yn65M5 N4,7λaƮ] rCJ8ȴR8Sg_ 2Eq>t1ܞ0B" .+Iaň@wLt}BЬNDip%0*%۟`X)[jXg<Mv]!? 2%߻11ia$ޒo& * b3>Z-Gh*/>˖+*aY994pc ]Cge֟_C$'.´k 0Ae ք=b YZH3lNO?pnN~@ -nJTjaߌVN;fNi%c/L"?w܆ ?PTF,,È7o%huI<Ҧta'0A;*J G[Ir/e0Rv7E@Y3[X\M-o y i⒆)k+yŒU.fy%/LjpfR[u[@)x@ 40 +=b1:62u*x(:S}!]"ӷ*Z<i sK;Y]߽9Tl_H7w$>qJ@O<ߍ>Ċ'K!00rxŪDEjEa/)e}ƮKLo&R"; U}fɌ]| c؋gzRG1 !9pJ:ߡ\@[/q\&dDsDͻ^8n5R= ֮N{Q!$JTR'qe3/MQa^sMQ,6k(:}6.;6U:7u sLH7V[(H Z=04) t? 2n,W䝴$!\1̻:;r1<dk<~'!NO w ΠT֭ju,7v* &{8wk"7},x|ߗr  En1+&jjW₟}W,QLz$KQVJbA_GZrxąfkw>Dէ_СwJ#|X*b' n-〔i4'K} {gDR q'sec̱3O*4RLr}uƢ˦W^ rLҽFA[XiRRrG eyR헹,.D*y둝F"Ov/{-f&? m[HΥsUi|aKPH I}dn1;+{HZ$9qxdd31`Oؿd7UX/fJuMhYY-r' rE (Nqkn?zw<vLBj3%.W5 )"^okV-Bvݿ?’NW0qdxnyAn,u:&1 *=rfbv'Oy$t*P-9apޏ2^.GR*?i`Z4\ʩC] 8ae/mʼ7C_yze]N:J+H%N̄b|Րy]_˃bvWޙE,?"λM!jO|'dvwL @k< ކ( q~51mg5nS6.<^l?{&NIW5|"2.JRj$.k *֦"W0xDMm1I= ,y0<S3N w@VĜ-`RH]Ķko8տ%Vk^wEo&Fgޥ5(R *?Wd3px4F(y\Re> 7N|a7e2poWۧU:D lΌ-DRM󉰗sDBDn>ݝw P5<ۺL$*` Xu3?8mcV 3\f"6CB#qo[wӉ_pSQ"?ឋPɆ~s*S>@n:a9JG͝~%ɫC*7+`%RΛJ`Ahi l.Iw%~>ةiSC8){@2G2ؐQ8V~;tI_BKċ#i&/14,=J*aRךVo_ -8`C}iyl40J3YmhQH9c1 ZmGq 5cgCXmn2$6Ҍ@2*ծ˶)Cc$H0r񉕟2`^,SpT=br@5*~ؚupcYT y!&ފ6t0A,0ѮЕ4'c( a^ϦO:,Fu>YK:+x|T)TPZjq}dG;qŮTW쥆;)[!ODRH{(m31AdxS̮`ADGnna_8GJS[;/*I& 8aXS)[t,~Sw()% iJC:lnD.{C8.OtΎ6V\Ȓ]Wg-ކ4o'n.MYw*Oa JR#y%c{)zݾFX ۊIfwyw3(%=3Xqj}nU@y8b.n%͗HN.u1E^dڼƁ ߔv]~X9VYkqHt&]_4;+Ɔ {#!Fǯg  +Rfh|e!6얟iP4z";*K4;>OloKb.Ҁ!3F"4OL vT C u9jN,1INdLQaw ݸPg~f+ZmCն@Z$JEQR|ޯ;T@Mp_9IӲpWv.}8L3ihuftnu0e `~rbUx+v|ŽI{(VXɀc.U4ޟ2 ;$]T<}s<gDn$MۤsS\~g-V3}6Bwn >~0'QU% O5X 8kyHi̕$ϊ)@~ݩ7 6j\'HK( 趃s+zzhSQ"A#Pcz,^K:,&>E5x_;29r Sh$[0M;Ƥ:L/X)wӫ5ޙ\T52K e'?Mw`FSNAAE|/y >;ejϦ˒i~;=^/8 i7wՠǦ&^"Ky_b ; ^ѷ7s16׼ǘ"͡+5/c'Z>k=͢ OGQ}=FTPO|z:GM訊Giǚbq0A;__* >Sw'ʸPF+x #g @0E#/B:X+izˑ><^,m3_C=uPTtXF8lES46Fk^!C!K8|-ꈀ|WN˝RPOŇmHyn۽FtbBoI-3>jLe`(⼽TPy'aJ~Rb*WIk#-y fy niRawb#i1i0JgRCw:ƚar]cP!7 FG7.32\|y6=Kg2,\ N/cC$AMo ~?'D lB-^^z [w"(7E4وW˼'%Gns 8&wiP}>wꐼb[[PypKd9!+>! ^Ҍ.SRO3{Nnf!M9r>Et1hev9n·j!SYʥ։P^ċ1-I@-\#§ٲD;ᰦA(;㙮';[k+qSYrN3)! V'^`]1ope&uh)R} kB}x|w)p$$ T_ .ps;8ޠ!n晑<2u4cf 5"Vp2Jay^ O _UoPdJV|-D9`+>N44)2;VFQ<Ϫ/Rx[g(Z)w% 6ȯNn 5oz\,Fo%(8#Fx1R8yD{lad .N̤ {1Mt77 L=5`ߗ*Y"5m+%tZS8^%Kuuase6AJG@x/DI") Gca<%Q:xaNXĂf372V:80dgz >YnjԈ؀ lCMB'u:6Redt Fyv7U\M:E߈Y0pRAxXQÂ`$QCLM^oa^s3'=jL%k/ =FI}nurP+Ǣ=$E@s@D;ږŅ35g J+xa8lJn5]!]"ɰǸaeNGp%Ymfx2gJz0ۃGB,P[@=ބs݉ yDΤ d8 IQyn]--Ŭc!Vq0p>[S^$=&%r0?%|:1O'{qTOg;so[l rAq)K%_j'.`n@ ܫU0z^ Z!+E*&_`SPN@اo,+⫴m&`"]Ĵnvf xhhϲ,3:oV aC7fHPن#ۜ&H2 p]H\mͱF)!T;T@ גܹܣ*kq#r$D]}2p2gT;}J;]cJ @,'U*R\AC$"t5ǓSEZll)]ƴl"E}ƽٷZvFLhRĢ+G;>_e#0ejl GX2ݝ}ti_ٺ` 5@ݍҦqs/ ĒTd9'Dvfv еO=~zs_%  P`6c%ӱe4~7sRʵ a_n-<
m$_o|3wF5&7l("‘@{7?Mio$e 4$|`8=9Fnȕ>٥@R= RȷqۆҰ]n[/TxTOyOITVMAFoΝo`P2 C ؎#+,3r̢wHE٧$kS*j%~1ڛ_ćК/sB9G<$ʏj|Y ?MDae90igR1:#WX=റ!sKKql.F]Yn3U J<ԗ'Ru|?`W(nFKV5<(fE><1T3S& #KbjL_4uo,rA!6*a\lޤ.t%z2v/ _EUgo Jk2 @7g(DS/yOT v}k\7 䛫 $n1==/Du)༢%Lj!̮MLӲD Zmm\gCz⻼N[7СT^†9!J߄HNwN*3BAd > &6;*lyA h~I'P_v5|- 4m-V>L_J uEY{!cExh1OsrJdXi1McjFH—aQ2T{W]vD, yg%;B4w --˳)2x8(I ϳ8R{U:kmj C4^Bm2X3U ܺ ~m]mLJ>Yx_rmO]"RSR1 r1MBp%iUلU7l4I5V\Fʸ)@n _l gCM%ro BMlpKQs i}I]:R[K6kiIOcmBB )A1" Ê&ز߱N*{@"Idn_#Ml=s{>w壖@~Z{OTU`\C|  CXŢLb :xcZNj?ɥ <+LyU#ٰ`BwXZ _"@_kq5E=P@otA t[OKjID9Usky n>Qʀ 8t^G`>A3\p:9y_cL=|Bq}k9ӈK9T^BbZy,a8zS`U \~SJ~"Ogsij01hC^BkPfa;tu7JEFsQ?%}0iz.&CU㱆9y% ՠ?T4~wv9kYvšU%wB8f@q[+_@(4bOcg=(bJ@ 5Fke:w9/zKsdKYAzXe/demql+ahUP F"+GgV 4@/.Oy{?kGw6ԲFU9Y6AtF9܍{:&zB3B_lWo-N2$x߈Qwl?@F";&Rjv˩Yz!<\Xg!fs`~vlVFoƒlXiWB22T[=6h;Fxd 2R9_̟C59 MR9 ǜMDR>O<;$LDSGS22{A8,룓"t> ,tQzOc A-\h#aXrN3a7>5j5$%+ E;:Z,ɣ7J0(ǀ?erB9=5V0dgȒ*v- u~ 0Z\7#+'˝ :==/$`qM i&[A\9L&j;AdϤSTzB>zz6_ϡM/qRb$<|^s_hM/5Wu"aU9׀ `i2\(8 ܟMؼ+x_V7BzV"EB죙")aTJfv6Ǯog+зC[Zj$rW#DW1T*dXe8F K!Wx_de}&\5[ѩԑoqjy$x?TN{wN/Ea0Swi[4uVA 񚝬 pY ƴmΗs)m_qBF>mtC pSSӄQBu_4|uF{ 50C\;RZ^=RP7;5fF! UTݙ`NOJM"ĔΖ\܋ҜYk}-SwNOlڇ McWLu@_*,W(ekB:4+{?Nk^m)dW/T9s(Ɨ/%B+GN7hYNG؈[ ;:\;- ȉ]:6H)=\>#1ApW ވ>,ο~Uޛ8T%W8$xe2sPtN|b"hC>"[SFl*wX 4h;ȷyNjK.J%u_mxΛ_:& |kr܂M`AX !`Wv\Dh~bjvKUT5ue qSk4uЉ8w5KUFw(l pҀE~ ɝU^˹ 6^ Q\0d]j,?>%ir -=}0I;$)jL"ji#A[.wڛ>ŹJC5ﭠ80HOL[vteIE`{GZ̲ɖjE[ed{Lt-ďX:N' ?LiX{tĔ8<;%ǝN-R)ʚI $EzL _(6B*) 2 USZ7~rxA|-b0oݔRu@igyhvKڝvxP%%qljfc?QUS0UD8#9On?NeE$s5Zt>uF |""XN @ޣ;[ 8k>T%T yeQ͊Br6)?s-|+^.ǜ *qd@ <3`u1-H6N _>QQ`u6EsWFYq.KcLGS[hIMY5-r! 鬩 HlydӢ7%,43yǎń"73IjCD NZԐ0K~KD`Tܰ5zIKWr|tpkRF$)\N2*T7@۰D?N3˜nzTܶ^ASkp(^5Hg+*5fd*Bʄ.!ȊRG}QA W[ f1NxƏиO]h%8I4 ?] :b\&?uP"JѴBDNjwP#a@_2|T>rL^zY3KrM<+As}PV=)BB9(bJӡzڣ߽AѶ +Nk[4 rۦ-WCkl0mlj2wJT:wD v/{T%Yj4A,.IdYrFn;"("_Hc4['o_W?2-yj<7M [a/ - 4:eZ)M;J,y=hʙ"vJE3 zQ)p4+gxDBV9KI͆}d:̖bPOs8M胇=)/m&Z:j:=hN$prDd=!f%0–&ǕE>QB?ӭU_CĄn?T~ g|z7]a{=I-]nFY] :z3:: g(9^v[Vg']]ruou/Pb? uY9!g$ʱѤܙsME bT]N1nUڸl-l) \!TR`R y,B_ ]ֺ#X^v1մȚN׈>:]}!/|Q?. [3_m?ImPoo]]gddsDD%Bş:}XgP>Ul|ԧUܞ <*bO( ]HjDWPy]T01 y4π3qL .48?-\/" lA3@iL-m GŐD9J~_vASk~gE\ G?ӹ\R)*G:Xyr;2-=KUVaERD> 2QƬV`ԵYe~1H{j^t]?LźB&haEF*&'`u\-G}zdW=PqǴ "DEsC{yK+ɼSG&#;dFv% )J[j*Q%_AA@AfWK9~4FU*0,(Q| \@' aON+i4 w,(Iii{*@7Iv?xKHЮj!l&@5Je^=gٓ5l}5ům#.]foʨ u enu}niqMCRɓ 0$\ёǸ,yנt~,Q7{lp6*GՄ4-ꂄFջ ў0C! ـ2pխlcVj,lm{;[ANwz`r8 \Dd |ܱc/AФWݓMi*&ϫ(omɐ8vMJ gajk?'N+]#̗9C$nOoRD񨠑5,ԙ %p 8Cї. WR7v. ,^yUDoGEz=7CL|fLm4dH|i_ ntiV+Z8+HqgAAA"8J3M E:&SU/f~;V3^$3كj;mnSXhD'@:с-.QCʎSF:bd{&WcKæYĀ؍b/ y4n*\ =n{ x}y | a-hkY%njRKĠ>ٽ6=P/.DᜈB!$mΠtkc/-'9bȭG #Fǝ)P ή8_"Ƈ )nv3fi[sJvRV@NMx5^1୒+[~h]cHiIAKMݖT|RVre,#X@_i8*"Fe)4a|*O%P5&_l>`͛0-*č8"KP%K\8=Cu.zuvG#kQHa!mƬy|l.1\wJg ʷ' 6(aG6ׄF KXE!>k;J0bǛ` P>%xL؟/:/qBMkVF`˻PiEoT˿a%UaM|5h;CK*ȡSUIp]b/bYs'bґ:)/@i&tEm+F|{vDh5* tn%ܰ9')͡yKB?l?.bj72R-.N1#3N@!t1[Uی`W.&+]n_ xCi8U'@Qg6D)~[q&#)Ղ&kdPJďXݐj$$}pWͨ:~[` t35IE˳r 2u$Y/<^S1GH$g>,_[YƎ+j5k P"ySQ:ϟU9>WdSTdm.LPL(qB\[FX-=I^Osڕj_\$CREAA0:xǒB]H/{b290dBoV%ԋSb)j-4eԧC~*V]DѺ((UWښ),"qHȕ24)oEǗ \Pa=+!MzFv ;ս)xy8DUpA}\@9:YPbIƽJ<Q?gX9' DZJbs6!P;<.2e#)D{<<_L'k 1:- BzKV\9TV,EWOT3?zp(-Nj\4'Ǩ bRX 袪qw֚pæ__Sx2@؏JdϨ_~,Htc'spVr.swOQ?!"ewNanJ>=KL{+k}ؓ6!)QUQRBkc'^{c;TaMغM2N<`z[zTKO1}|4ý*}{ǗؗQ.Z=۟⻨t X}m7"U\'8dw_"o7*]zּksᙩl$FhቄԔ !qҙfub}8"&G)N;1j[ii^ڕЗN It~<_!Yk%(\y :dӰ>t*qO"OXiqy{t5G J]g<ʻmŶWHട;oB *߃|FL?)LC(ub~3^__ c 9LJ,䨷05C$>:ؔn,PJCὃOK*O \i1K:I 0 4`)i6G= =OIγ*mhc HENKOJypu&9= `cQ5ri]rAfrׁq=m0Pdrri-V8{üFƗX5až;1$WIQYTz31~7HR,k;PCu*=ciw#HO⇺"f'` Caj*ۻXuSdYJ$pXDnd&-X=T[mB%9cmC@0q)a2Ἇ藌>YUBZ  ɎXE:<10={6]W,6N0H!BSUsww+a 5Vm1r]; d&R0/:r؁dc A~4 ҮI?BH~j{*uu5_zgO'2LT6M1@l\$^bZrWGG&'tR QH$l'/.+0G`ߘ-D '@y dѲP[GLs͉r#'gBbGl9~WՋQ $y\̵ϲ2.LhO>˔ςui@0Ȍ`[=bԼyXA]f>ʦ݆&^& ӕze'js_ҭ)%G+5w<3iN}뒓Q$Շ܂:"";_(?=dduv@ A,lKo J#a9󸼷J 4hs>Bq4]XA|6,=oT^:LJ2b(B eRқɥIF#N3}f8Hd0 V` d-ecÅ{J'hSkAK?lt5D+pFiptp';yhߏv; t*N ʼn!d`%䫪!3j: ~U= Tˠ4PbAt[!}(?N_$?v lv=`-q۫8zܦP 9d40 #qz5޽)@ 6iRDk3.r9%[TcRU|$$Lf֟L0tVNKx1+>m_(==x!W{twQ}ⳗS#6\zR'ţ&/!D@'{M]TLYNF4ӼA:| u5 ``LԮ-j^I~B a*@;*žyN'rE^7gu8 *^( #Ŕ`H-Q#"`yC<5<_I+.:I+ɝ8[OsHrFJ͠3>-8X;R.M|X85}^i3Xngxmvyxu`}2A1BM,g jQ=9mRWQ 4S.zBfkPN̚zG {Jk=3yV^)LgoĔ+g%]iwY%?j=rsmg9)= RtQ%9)+*^R_/Myt>5(_y0=~KGanX _Ys:mpC8>J= /}oYLEb?wg3o^=}7[G $d?&=a4iy]r5_@³|^wߗƒl 8D/`(2F珼 *ϙ>TQ1`CWy* hA A%Q(\UOX4 2yز3X.X sj&HP,uR@O*\eh.N+V,䘁?{ q+sR[YSyqhuQf"zʊz$j_*hCԧ,Ea2  M nFpH#T} fJC8˒0Xr ꐓ&F-LWn_ vIzIѧo)BU+o6\[LJPJ :)viDN s4݅3(bptHu lKg]գrפK$oVH.u8RX蹞)ToZ lM ~ Cs5 3G[d>S)XAhi[O9nKHS똩em-&à `/~-@H+)Ŧ^mK=PE*XjEqB1ٔ9ee#iJurdu"l湜lm|Df|WQ3:n3P^䒪@r1n nzWK`iyrNoL'49tyCzHwd`V *^U|9  ]4^Wlom@BD @;AvNS'b_%L9L"۟Abn t'xWkLd}t%.y 9(XpGyr$Uoڤ?8ZbH[E̳E=uOf\s줗];yx-im9 {a%Np)8ruLޒ`kmvb!ayʵZHRk=!9A7/jlӳ[펑LSʴ#jc^3 }x0~)~dw }^'K֯ј3z%Vv>69v~k`SmB(05WڐVA,Ǿw${y^@_f_Xq",o ԥ9 [MxT-?:Sr?}.].dn_@_QJ ڏ'*"Va_ aPkh~+S%+[Ɵ{"V)_YJ'Ymvuދ\ȣZ,2Dɐ:AH-tPSP@Zi#߽{bk,Y?q!Wt\i ~5ne:?:(_5?@VDc^ ͖!zP_pܸj_а]9IEMS cwT0;8A,,Z{"/K}UðXX2 g0Sְ\km*`~:+7|Dp "mw5 w;uKl4dM |aH:CKdE.0"'AL2j Ԫ#j{AA X_=㇥XrޣPݴi{p:9rSXzݾפfvĤ]VT,\f2|\4SKorcXCh&Iv`zA oi>t Zq`(W9`[:0C7kz~q/x J9 G`gк03sX6Y$}Xa"8m77O>zz2B '@KyAŴ=]J](y~g9&0r4ɘˮ7A~c9(ݚ׶=Z*)HrO`ˮv{3xZ3-ܑ^aXHG+r3ZSMK0WGsX͐#HL$/C5=5fo0 oR/79ށ0Q ]۬]kجr]-F {L\fyFLOg7jcg8<ؙ ~zS|-HHA Gy X(g9S67bS5I~{H1SC@2ۭ}p+ND&ZЍ|CJ u MW͊d ֭<] v t LOlqAgWf?p UC?K}.+we3Z2) PQD2 tab_O!3E孽k.6M$I52["~*0N*#GY-_oŁי9v&S)c$q#BYA(1owHwvឬ9@_6B/|̏MOsa!yKzZnUbB .9/WFʧ̑v0&LG0U^)=DW |Le5X4-{'HaR&}^ƶ0ꍔQ|vJao/ _QkrX@e_^҇g ұk_²21,DKA%.|1p()p]tzRux.+C PJYiCm /o(Gjc CtB KR<2wHNOa`*<ĸ|n%Jz#;kf?6g14.x&ߐtKݹɔb;pnn+F\~\޳ފƲKlJfgS$g_бW,3 .&g>4'(PuBRР yڽEdWprGk_j@KɛmJ)̏lsK/DrOY ov5h1! Z b,u0k=(% ( adg Tzҷ0sB !GI6ơ.XEgQt!3,XF[/ѫ sRM;SW ~ǍMZ l@LiK1aVd+^fke$/i,jw ws-) A`qL"CRU0X'#`79NOaQ*|W>qA?~:&ʧȩzMh;쬴f3͘Us OI aئqhv6G؃xf;\l͜"r\HW9Qg^wc(A *ywm GIm!7*x"{vWm(80KwB %23g3OޯTs\U/(vK.5op($Xi F)d:rtAi!&i(y"$x݂F`ĭoFQ]F&ٰ'lAr]6teZ2/btkHJD)w)QH s\]u1a.'L/SW Vpզ>{ulܚ_{h9A5&xfߘabyo;EtqveA OEՆۡ-‹,5{P.@q e"6f& S~ЛoX嵨u _7^_Xog O>Rs'.V.P, 9Y F\c+p1IH㸧Π>_yg;^~lYLo(5g:e.YIxOJ=,e3ZV4"R leG%αb!uzd JJj.3Ą` tH1}mu鮶1k0pv1W$PW)OGW kS6'}vgJ @0nFONZ&1owá1<c&ńMF=+%. ,ȯӒT;|D8'E j}::!%HTaQ[F].&z=*FEf?}` 2 ZpΧcYbNm 5̒/eg)Ԗ4r25O"]B#ǮI+;G2"sfY_he9j+]agW/{PJyգv @65T-o O<@~T RS 3m Aq9k}nXԡVSzͥE*>;w(V^M(P٩p9,?.bu:ŕ-VgX4sܙf>f$eiOV8q&a3>NFͣ2ږs^REɢhj !4#w2_G+i%;Y}&j<3RYuݧn,e4!O)DRĺMYec"?w*<nCe/l6F8_'0)i_PxOO n22(=hEه&Ay.Z]uAdC%L/-FiiV }pb\7 cP9av]UɁ:J/%'/:3L{޾?q@1"+*V?,#*SDgrU?I$Xaߺҩ2ٗ8@ @Ff#hGI?]f4)0CnnpVɐ[ ?έsLle7~mXQTڲ&#+=&ODd_)<5'>aI䆝IajJtQsvtz#\ws069i8Qp-UzhK:[Cު;hGl7@(j *C0(잴ᾁ@T΅xMЈڏCG$; {Q Ary2UG\Yw7{fa;b'p}a G@.BŎs _JuߊJN'vUA(0&X43 WDR\}sѣ&Bi2EDۥ"vB^x,8+J]\_~`VjL\I)BL89ZxJއE_-戵kcf '{.98J]c&85@[BeR6,dž+ԘKM1΁GNq/5HRBkC \^/D GM(S/`+v yY%r$a6^|9 t'Z GR|ϡbuzQ_]羯a8{lPW  y̸&h̄+QAc0,{m>F3<`GOV 6:.P&T7\:=EѦ{pnθ99Ա(%oE{@{z$sYN*zˇi]9n:+M\oFS==N' ~|  E#9iw@=Pgk<(#[/hP8qW:-g?QO^GyP3,|M9Je\e< Ors=&PWT3CMq?]ltu"Wf8X=q9йbV!R 'ktP`,}bXNkQO2U538(t:vb k֬fl L:Ρ^H N^X qSǾ +pfrey_1UʕtIi\{u`5bloq[TJ 0g/~ Q\ćV\qA Y'D-[Pzʄ{EzHES`hzv|iV86P΄E t缇:W#Rcq"#&`ڸkPޖp!SC Nie{n3ĩހI>EQ/Le lW㝪ToՅb9Rp`'~/iLjO,if_TG顼 9ZY<`W8iYfˤӊ @vܝt1ϒL Zo={U)6((C11> tqHU&Ԙ*TރjhL+2HP,z.a #2>¬mZ ٣1sAPB1sIޢX >ߵȏ(kXq d`HBl!5$՜+/LIJW[KB@|߹~V `I7T%O˅W' $ TM')Hc.H釬Kb /ylT9̂$620[6[8scɢv㊱aT#JF6 0yab]$'ʂf,"I4e @l<4'oRlz]c OfRpST'22#:0Ǧs:eP4kLJ+ұw{&2"6@|Ugw{ 1c$fStpܩq0uϕhI# 2/I9MQM҄藇Ydlbu~;d50G%N?RZ/^Lm/.ӕ3/į% -b&\zb(y`DB04MGH/wN7} |%#/s x6G2op x_B;"yLi<9]\@;z$-]%ح1'\HkO~i/ee!cO/N_]+}G6ĚQ翵2?PHE Ҳ-*^KӬ7U,iV[g=뇨}iPt$li"ȎZ|`ꡮ *  4@s!\pNq(=Qg+d"6]Wć?:Lk ZQuFXHinNp3'Mqb>eZh5^%}b ]VD↝(jzfN}cTɿ%΀]S{aﰤrx`~Wnjg30wv3H$ ߃Fs9KxKbwGOV=ua$E@-ZoMԁAE,HHC~ ] XveOޞPܝDŎvLYm3Vd0(旪@>3^ }{|/uУ#cv||%q6 ^+MLK=O%y4im $n# 7IY4ISNvSBmMU]aΧ7Gn_e$N!T0j_k|#7aqqځhXbFSU(CM {&% %p)v|(=țФ xd/kieaYk]"dT2S&U֛Z#oT?HOpB34UHNi*)y~tFk( r;ՕV߭:fو(iScvRyO}i&d1N}RCTj_ezr3Š4)&]|Tv'2fn%3y{xѱQbD! ~Wtɑ& %<60&GZ%!A 0z5r-1'o NoE\L6eE Ձ!mɺLY?%bqm.-.4OXDى؄٪U$ Su+J隓@bY;2Q** =(@u%r zxV.27~#zQ4bMHFfZ.dەx}RM=BE >>!MI=A𒹃BB%C sD$N+qb ԥ[B_DMO4![X0U(gaO˺y,y%ÂI=,0tx%S%s6*\f$G|bbJٍg}$q~ s SM{-8$@K1SӀlm!'s‚1\pM,=s` &xR*~7<٨28n g򅂀-ɯ)²hm+CyZ]<A2blRV)1Wخg#iĦ/040g؃ݳ{AP&FȚ$- r%(XbwM vmLr!~6hץg=3$szC в%>(J &e vSof8tLhjoCXX>#}*Z?S#rnƳ\QM^>B(cz biP JE-L b9uyt)-!5^U,U-Wp2ΔIbĔ3f?Bi/j ]߸[ Q%!\q#ކ\0$s\jh+۳.a:1Of5'9'bR唸u;I H0*] " /.ѱRh.n6|h, ݉O 䧘wwF]pLW O ڗ-K<|jX\*dI0 F[< DaU%J >¢)3v랸t;uqZZ?}?3Ξ7:h顬tx_?~`V@~Oc+|QZfUƌ(Z ƟVtUT[ HEGCoғn>xxJdT{#EsHB07OW1@}2GO1a=KR@;}(9gnʟVC`/o ]jhɅLBq8[Ja<.`G?ZD6Dk4G;F'+= + -&1I"0PoU"J9&꧹~>a]ի20. 院i歆j)Nq;U XP]܁RGAoɃ ,ee0L:@YT{BV rw߁N_ O`P]3o#F ֧KU m\z=:֜W6Բ3ʚlX-fa>) ,z?J ؇}SJ:m&ٸ†TLϻRO[|Nz Le#zh,2}˚`D%F۞.B@O5[_@iCZy>Ec:e"i|Od들! Cё֏|(5O578n`7+BDhu Wؤ?#a2/d~XOGJS8<<Oi>(I%*f{ӟ:Oh1w,,FX"3 џf5s*!/c^vW!iP6me+l7W8J @O5r({0Ovϸo$ PeH=18M "Ŭ=1N5rկhZ{f9|ˍ8"0u p[u仦-2A?&i{f%}cXyZB  Ae?!|t}~B/&ZG #a$ۡ֗\A~^, Wx!`N+S7{}7nciwq_X’\KI&`>4&!j3>}O!wؔJe70W(Ns립8 @|%V9a8v~nBY36]sECHAU~@fVgإЖIQGhe5C`(arQX`F(.}bj*[~2vwJFa~>qź((S]$;+2"Zp%0\BC\wۨ,n.tL^JUM\[cQ^?'ՐU2|L/6XL eJ/-?bYMi1G"\~?G<|ϗ~rrS8qVnqOьȼ!匘J$H9{FYpf7@lb3"q بa3C3>7A" 걺f־GtJT EDŽX<.$4m;,OoDIɸ‚v$ 3P6k9(MCؘ?g M,1v@xZ9B %QQmt˾VR| *h_2QiEB)5?,u=ȼ= mVmMyIFcfa2ATwZTLsA=CZkJ|pmli_Ӿ'ĩSv(qC>phEpHRzݩnK T^㲗rGBe:P #!Oe4o‘ԡ&b{}=-r`FץՍyGk0!+rB,l L@C?DL`\s[lxBtJ+h} 9p7v֎T^OKq=5{͗+X?FYe~̐gpEwxLs\%֡r傗 [WZ)zRI{?s)^ o97_U8x"j&ڍ~C=07+ 47vF`mFCvigII:t@)f6xY iEH rDz`~St6+nW a,Yt,t5'+NS826}䧒&QRoϏ c.]ϖdk3̷ e͔'B,%a& mJXrݽm` +8X:wN%~EyAq˵ GF7pҤ?tNiؔ'ut++c$7#NZ(Ք$r/ވ}}˖{ M %ZyM7_)ڈCK1Ѥ\>x_&f)|&9y'3~'z6vYQA'6}X̑Ej+S~h\Qqiak80V?<4}EͿsd]Ʒ?2.4ڳ9 1l@U]{0{֋Ǭe,ŲP༟{2xP8_f9{f r#EJߣ9ϗ)-8360 |úuQy hcrdv,ZҼV ٧(:5^4<9.NJ.|{9 =+nMQ"*t/IT֦ka<69DCj,`IkVg[OE{wEjHyԭ[?iG ZZGu)(eVCC֋ |hBAf.;C"َ01,,ƛz bU1y 5G=xX.m8ߑ?lߗ y!*iY{u\Ri.'yĢq4]CoOI%G|w 0#`S ɏ1͆+vY#R_"FD.T2y*mK4̀KC`PӼo'Tq7Jg3nibܴ/O5(4h;݅PXB>&J7]Tw n&?}c^lrHuow3T%\o8_FI١y9 5բ CT*ykhTJ| A[8NºAy7TLr*TFWσD*G1yҪ D 0g#R%; (! Vjߍ5^5' hqIX޷%?JuwV!ԓkybWNcłn2E :I4e,6{q4w)}՘#sY LPfm(]~|0qwCSXwFpsB[=zS #jm5u>şG;yDs/לJlw9: UD*7['ۻU?W8xP6cwz)tM[jW!cʏ%0# SŪ%#?;_IT3!fĴ X_e~mp3#Nvfwe6\GHlrf00lrOLڇ~RI13l9s?6raK6OJV;£k]A;KDۜlzP3,VfD^RIE@UmO%KtT"V}k|ݟHwz;k XݎmF0` Ǹ覓?lBW7á^1+I$.Omėge+|NeXcٲdoVv]1lʙmqNR ͵04pzO]LCDmu~L!*ZKrzqacȸ(Sϛݰ7&&q0)}&)ڄ@VQ"L0qhmimoUeH$$_ZfU'jM+Y >wPjR41HQ^%g*M2o Funx0-K<3p@?hf_ڣVyn_9*:<[/ .|@ CSZ:Inb:lK؜E-!4O0%Na25#';60UGEh*SUwEU튰q%ݒh7+SpƝ܃"HzE $2{O)|Pu;j1Ry.eELg/>-{M ;>Ɗb^ jE6bE >^:r1dId v9 &q̃7G,9 .( m#O,d=e)1* :uZ:m*P1hre?+:vQ_O|T*xr~&s FǯrF z^Y7Hm oeFa<:+~DEX<]@6Ӷ@ Ԣ0n=(C?ǬlYB5qKay<y VR*|bZd"<_j,rSY/(:K>WOSZ?f燼$A@;k^ 1k㌉gH>>)oR'PI9d-%eӢ%Uo.%1Ne2YU /N{!l2Nf:DsM3 SfIJ^^J L %'# ]V*37,_;yLjlTmkYui /Zc 1n`B9̆n_ Y?x>B\.>)e-'KP=|-o\46V$0ZG[vMnǾ_JkŊ4c`tS9(:8 7fDK9h;`q!KaY# ȤgF߄+,VMx>e8h~ Bb +{\BQw"eia*[b)>{6V\GCSj;+_S5Ce6Xy7'iT|/j_W\3tSR߆2ƿMߋvx"kڄ#LD칵Eΰ<`(KԞa._WJQHT%,G|;BF֣<eW_l~QwB@c-nIf]I>OBƮKv3$N#SOއ}~6"tN!Yjޥ#*8e5k:n !w5Ȁ;fB;9Ƶ#)@z tiŞI![ȒMmms徠Ia3'ᘷC |Sxh@NJ l9~*8lB.e:$H}I$ﱙFZ(U %E<|p?d (pvw}aM#qFV xU@oh?.Ew^Mq 6`s]Y؇IK^vCH u]s]yo:az-2T+D}'M~H?xN%R16j[KXc޹]g60'uVm,B58%F45`SQmύPNArT%]vx&{J9 !EIJ!NAC&$r4v RCc]b U}nd{*E11H(sѴ.k-y:m1rE 9t>LS" Ҍxk@Hywt{`җZr89 XMtC\7ܟCt}m1:T9&xg,8/vMJ'9Do bGhg53VĆ1b/^w^/͌ [blayz7Ub@"eCZS!s%Vi1FI5D?E4GA14z![du;mg[Ɉn h26 gQV9PCVϋϏ`pHEv].cJ)4f%*8R,:&DpuZ"B.WAt B A0 zK'E5S#:5j Q w1qVeM}sk9. )%'Zį 蘡SkOVb Guy"i6OdԑU> 5Hʇt]p3EZ~N G)SرT_OdP{cJ7&9ߞQN|\4 гMj)=t8G9cJB+Tlg=6{|0X"c6x`Ֆ̥ s1P^448Ma\jO$Kvu-ޓKҷD=[}>3[|% ׅ-w(L{(ilu@9 }KӋ9s={;m=?x8u3:1g%ʁnoJ\ RE)0y 5C*[?Q҇wSt&ww#4;6P#kQra ^"bAmG+$LoOSh2YD^I(8O;:E |}WK=*Uo\D3ĩ} ]@G.TQ̮GU,nmxl6MQ O۷kx|$+o/On'ťҔR9$-Pk6NL-BQB.-Kidi~Qk2+^B,ǡy2gw!.Rajg Zp._:Tj-,ܼ_/xx[-#8H0>?x}LZ_XtV>NY>⡤W,q@g, e7Q ]=?7L OՎ IT;n*N=p睾JlxJf18V,RA @N>`ڊ=?yLqqdD}U}# Sw Ɣh^ 8Db)A ,Mͷ8A%G/RָfWCހ=W)ernhfu1_ wDSq_1vħQEXOfuǵ,'r G8hڎNTNIj={o}ꎪ%͑ <>| R:N={q![8"Oy6nTwȃ\I}|x"IOӏ^U&u'n-p.H`CxX:=jwwXܙ|xWRYq`\2Eg|Y)ˊ.DϦHN#! _;q${AfnUms1;Z4Nɴ 7a.H bk}cIY{YFWVV- GU& A5)G<YtT<_OVx芕Uyw7ok*wC-ϭblNН+tD;_8/IG=-̡KMvP( A{f:S_J5CYwHFbs=ޘ+WՉѝmC[;GRRN$M*}z>x`p /@|q"N)%&KT]ĵ ?CI8 P<\tCsŐYN_^.s04wp>LGBY`?%{aڝfR2} =3(&=  oC߶u9YC6\K*xc@*o?/\F3-p=x jᰧ->(7xhn4&Ҡqž1S { KbSDyb4Ml `߮{!zW+ܱPN852򻫖oϷE(p_/+=;"#ߟɕh⍱d7΍T^C2ͨeB]"pW|¿^@i/5Jb 4hrw8t N C#(=>RpK`,uҥ:2F5H=C]Q٩UdHJψͺp-Pƨ] G C]nieG,qƎN>>A(=IIfWb ~.vW ~4m1=bm֘C&t2$"F.I"{ @i/Q;HL D=z8EIaxZj(^m~g\݂)ObtDQHw6v`)Lt48BZ#CD* wXY:¹2ßz,ś7oCZ7IpGЬU9_qvCr-U\Қ~Ϭik?`d"FKH!enKtLh 64*WȰ,A%2.#'1\O#\l݃2x;Vn~3Ӓtߊ߳FqƳɄSYچ!i焆W6Yz:=n,.|oe2(ҠjWd/B:@ čɷ{ݣ92ZqQp);Ub(NO=or/o. \슩 0wԝ3Vfͤ"P).o¡1pdL]w#T(5B,G &m>NJaJYJ8HABhg4p]b+{7G y "J_o[n"AYSpԺIU|j4pna}%Y2hm^@4v;cWo{V!5_aaD+5Z"ORzWƃA%o4ʢY0ԛB]l%oK8! ~vcˣǢJr^3-UĹ9k!>sY H>9R]9;bO-~}mX0LY[2d k?J_ﯝ Oϋ`tַ,l<'kP+Ji1oi1JiON\יx珞yUαn');$Fz ZQ6xqm v.6o2tXRy:4A#.z ^.)Z<68֟Zmx\q_I>n\ v] C[?ʒQ/K ]LOCWW{) <0H> >Ȣ\ ,At&37xDx7![[}B#]S\ >#mA[I@O׺P73Be6â*gHvطEuiL-T"QPEѳ`B2o H "~g׃2!ڑ0!S$Ȟtr8޸rP7qx.ƤtMDk*[ و>^9Uh>!@ˮ"wqTw[\Dw<d˳%"3: yP&hA#6OR GwsK)ݝPk{޿ds)6[\ߏvH%P1sΘӐ5|LGBC"=&3,ufW0yuE}b=} ߳ÿsr߳o̖g( !N Ϸ Cx7*MKuG%v!:U?j呐XQJ(0}ea@cr3 F<[[q?]b!Wd8W3!Q!^H& R}3 -!J=XM,_ej=GreK7ڢz=^D b //LqZFv, mF{y&4dfc[Ê K=b;̮b CJ0Buߺy!X:vHS7 Y~uxJz+@E (5e$d/6wHZhBɼվKmuvїy%hI q9+۟=%\jʥ)MmLAbkJPg=.7 ~`f5S7ՁL;,VPҧ."*Y˔&Z_ג] .y@1Pc@a6j% '/Aq@W@~/t&42YZ`!hCi yYYjC5~o:qMhE8O#`r,@˖ 4xkȌ^Pѩ4FD6 -)Ճff[eEl/JSzႾu@lԲ~7JH4~K9Im<)X֔8a\?3$6 UWO[Ŧ>Kt5-KHM$~䶱42 Fk%WIfQfNMQ8kHNTt:jH&L_, z4<쟱Ȃf&Wz?% r~fN1^6q2ؖe<*pCx-vA QȿWMP;|"328i!^duN 70VŞJ:'_Dz,m.o놉`\4(A!dr*F#9~'rbs CmAV5dvHvJć^pK&2VSQފM` pi>ew!EiX\ؓx*Tsi \5!¼,Xjsǎv=H:Y~7 U>RQ%DƢhkWS"Yz> ]؇. wlِfVgF)(4Q.=h;Ĵ_>"D Iƒ|~iU7KR˿ k0aZ%l0_{XNE wp׫RoJ%͸r<{Sx Z܌^KRWA+T/5<\0j ݈3`.1{BN `Qv2yDwMIEH!ggB؎h\ ~<x̠~3WE_bG@5 ` ۑŦpd7 #tDҩJdZC9PCzk7(Xz,p *:l, oHilBJf|1Ao47b1TP(UJ*s~1&UtGdC1]ĚX;vo&v[/hXYe<'zqLɆZ)XϩVK,<s^\{紡N#p܉FD2ɆZ "!T ^&/뭤L"=,JRd =mQHLϳ\ޜ y46AKx*6yqK.c.b3v1r6V‚ᐄABZI4ʚ=a{3>6ORQƹ.鳃(cdم5['ߨkb%Kc:ҴD8i^Ff֫N|3v$b5u *@{vqM#)1sYX@Ҙr% Jv f"Xƒ_ &P= 4P|>2ҳS-},ˀYpbn\-u+R\6df)6+PZhKթФi]@ʊ@nLE7!33ոy5>4LAD9F|#Mۙ̄b1!qdƨ{XGH Qq־= D#n`WGxGVjB g38вuBbmT~ _EyfQֈኀ ~$+s_5ٰq]$zaE\CXU=32ibջsOVnхSǀD}@*B\L&9*; :_aځp'BmPtBy! x~qϺ$e䝵qsM^Dm[iBPJAM3 ,&%A/A>h]qMD6[vs *C# % Jّ#{9Ǭy3d(KkEv`f9vc!ae9} LT3 &BJYacLVJxFTYcy`l̩oȥ}LF|U{"gH B:*D7*ة]Ϯ-k|82ZX";0jw+U#$Jz#0F\!T{OA&(n#!!jװ7~=> +$Nߜn  Am8l>l?x.8~}@A60f]'_FQWrU&UNݶ9T =J96U~ pK8SC#%kΛ@UqzG;zJdj-?imP(5(mOM' t4U|S[Z-&19cg)Q@r=-+VZ64Z0 G$ q;9aJrWr?YQ/i ifi)͚g̳2pnoM35d *#*Ez6D (d#ek$ m9,#N9g}AX͍$-_47=+M2sޯ<!Wn^܎.AT~IABM/Hן/K w΂G,f15 'Zztk@GG+1މ^Vvpq18%(;>*V!ؘ;z,d^0p8lfz#8sSmEy #3TdF袡g\29ޔADtK[8p\T:S كݱȽCc?Pl_W"g|M&WI%: p娺Csvݪ!%ؼN.'4/<׋/0`_xN?#KAt?=bAky=*~Z,9QqƉ7o&yt$i54Ty. 7GMꆀIoc+!,4^ a; Gسp>A!` #(S3$A{W M3Jp0[i@WEuyG8q&N?Li&~|J_ut;HRq&t>uk1N3:)}ZpZլŔ4'>Kl rlIگ˶9Y)A󔽇ڡ8ù n|ZsKm7ݸzbZK~kxe4؟ ʅHld,[GKٴWJnL lo"C4I/Od .kڧ}L1"R!BEqڲu/I[7h"juEIQfl>}זv}F@!2hױiir,8כ {g8HF'InUbIh(68Iò;qqB^,CO>>B'WEE`'&4^[$E^P&v+)-!Fm,twLlb~>#,]uZE?vT鼘##V΅crL`Sd|h$Uwp_誵Ӷ\,P6 4>8$q$'uo 3|aAhb. |G0xYfۚŠ`cۜ+}s.D59K'z6.5sKX?0Bȳ͉ 9ӜN!es [[MOk1gjj2JN8@qcon 0YOvB±$ {X4Zچn\kڟ}=\5%µQ]4(HR1ldƽ,cҖ0}컆"On&I(mD9k]LXX *\Nw+&|~;Ft ~x-btK.aZᠡXOZ? "d 2>ߗNa نeqo՟AKhNqYtMkr^#uwkK5x ׋J ;WX߯l87!Cps0_n$΃ 4-#]s3T"mDԎukLG|Us*e=B\~ͭYw4>*S`/Qiou?g)3 tA F̆Eg\;g:Jw:#Uۄ:fh"0Ҁ˞#+*'qrgR+=n$3Y0YF$I;Y%wxڕcĹ;wI=*n.5D4"-iGxZ'rwch,<#m Żef**' 1wUh Z:+yc-u[NXc->Q08 i)TN$q^pn\ V(]M6QO@dC)հo+S(hb gCS_L5Spw1-h*gW 4A a\ۊBV O;擜h#K# 7k&$ V2= oɷƒET`^uYbe iqgoБ;$\?!;A[-'%R*r$#F ?"oi 8@ڢaLj96^֡LY$R8+hgGB_OI[-_Ek2t(Ymqe!y9rxze;рg^>XveW[ck߻n,"kVBJq  ǻ]%0iSjS)Nch=_RuI 0'\">*$J dO{+m&3 mA%'`.f5Mg$= C"T}-y: TY#f*W)+hA񘾆Q>F WE Er *5xur!}x'Y?+bVӆ M8)“(zrL^p{5I]>{!W㨛"Kx|79L0.l'?fa>#6F?='vcԍB5pLt+K?0CӈV;z6my5mh.F_%?d?r qiFO#8||ǹVԆbA}hQ5?D.P}FW -WK|e+ _Ӥr#"+L<;KVY2௼d]O _cp[{Z)A#KF3_s0ٯ:ȗHlaNw'5k&`gkc[dy<af)j!G tY$CN.BK!sK2 ꠆r&fnXй̽nS(AGN _YKMU򝬵B6JL.4=}ΰJd X8v #QAq 0at=|kleR=(jݫK?+ɠAvT܋7Cr y*/$aqeO`<߷{CʥHxkRFee-yEcmF$Cӷ`Cjab' )SѤNSM5E)E2#7˺=F̝|_k]Ǣz,ɚ{*[aɎ"SɻSv) ?/q S9cFɁ(0:{@6Fn*%l4DAge$3&4`q[qѝ9Ya>중7^xj#l=oW$>/AA&*^C1oɌjW`WzNy`&o7@X"˪ r%t{ut> FO9jvoإ](DDm¡[{&YOP%K/c!u .l-9v-qZy2Dxm I>kN} =(!#8FHyVoh9zEBMi6 fh򷫄_`{Z - K29 lvا6JQxRv' vY"X&t NQ%b2 lM%a:|6η.=n6T-͘_8.˿j&Y|A[-> {I( g^U0eTe~5bL쪡{z ,D7!u&rM_@G(ڿ.GHC-$UHY}P5cYnkOi{?gӡr)ynDYxmRo*M_e5l9(eD [Y 4&`jcHurYS`-pK/I^8Yv0>E<P^E3\`F oGt`dC$xcmuxR ҃86ڋ^ bc(V$. PY з.e'#= ZzaBW,I^">XAt9E!f_Ua(i3"GAs7EB`'s.~XTF%wEA0#Z<Xn7yQ}o;ԥ yn7~4$>CC 3=u] FHQַe/uz pS:a nzԿ,_5Il=uc$&fX=[Q=8'a5˺|2@ mz/ӛ7fg~Km.vWXZE ORe9VV1B (`Ag(m-{4nG(qKui ѫIz#`;TR2p|Mug2_®xez }A!z1!a-Ȟw9,N;ŮZ5c[Z4k%! ` ASHo=;.fDY,&BbXڧ$Zt qk(I7t&E7@l tUU23~ӝ=? lXvhZZlj.BVK0:-8ߞ\0`m@u \C9`fKq6Z0FW91mxxƝ2u8W]`3d㢚!)q?&]TŸJ[B剌= gpݕ~K~%exULܽ{Xq7i!dRQ3 5Z:*F< cD‡-`e̡98x'wqg tRG0N節q).&lUES}=TzE:lkIc8fE}ZkU4A2joXjA~U>Fs0"Ѯ&^@{a37eeٻrZC$ 7^!эI` w$&Db8k9h \bH9lx>NA:=#vۂ}ڹ-s˂}̷eQG?'qL:F)BF^vYqf(?X$A9804FgZA"Ie{|0O6tdlCtdR!c֬[}.4CN\zy' | "plK%6 td@p]b3%ҲJ?$:Ľkᄄ;b\)Io>%?[gcguRsMI"/W阃|NOixue-%]xum,t59WHE N^%t=lj y`_["Bf2T ܞK⌮rTr`||,-V Coa?m| #<" b wv(# XWō 5,M|?2U[&ݡ6.Ʃ:c ;jlz'66Y" C@Gmqgܱ+Njxq2EˡRh0$6Zӓ*ʆ_c y B @7$IQk>O1wn7O'ʀ&Zp>: nW k/":ܶlB<2dpJ\xŨ;8Vor}G:ftc'h :OY^6*I/.JV(֔`oZ֢ ͩ7ncEM I}uԋE!>HP˫]ݦnwi!b*lY'楼QxV+̓F'ʻw$9"Ew:s<$![zbBs`ITo#'HE[=;wZty1 nV[+c])xBU۹]'_c<d }V`x'-ɒc8W9>`}Q9mu=< h*A~"HlIkP9$X7YqOY_aGVpxXU^k*|3j~9+O?,&5`c`hkzL0%犥q i>^P`!ޘ/"PdWCN*2Ez_zwSʙh} MKFjJxkևnX}މɸ  LzO jEw/lY H(9Mר?'w%H;JkXs}~1zNrMp2!md&>؄QBZ'Wz6uZbp7ZjwNQS,? }0Θ q`:yTttn{8ŗBDB J>̘GXR'wG\1=X#;!yVnd A2. p֧%@?x {ro`#{묺Pf3pU ΝLFYj|)ՍS OWG# w|Lo\'%Kha,Eleʠez)mH@3 p<+G XVI&L"}@Bc-+Yd 9ni߄%p&W}|o~օSd@Y /M 9Wr5WvHٙqq _ /7OT}QUr閕価4GpҕA!9 55XLͱ5g%{].IB%ͳN-)Vj[)OWnAT-{0AǢ7T]EUXIesJ!dy$٤;_\!݀iIQ|rV1߾Ksm((%pgc5bds+)xkd˅µoưڷ-V0n1b|c}4 " ،uW 1&_{_rH,fBȳ9")r'R[P?[EUP9 +}0'|THq9cEZgR2/j OIS?ϕr(*xk /V3iSH23Y 2Pjt?&_NTOYrG vDO쮯,t,'C0ι8mSe*={!;ɕ30jOh뒌 QGrHz9%x0=OP&}I]e82 -A a ɰ2j7lm`ɻc)re]' O_e,K0dswj>y3f2_3YmKR)#!0YHgȱf48 R j&[ʜRI6@Eś}7"hM f4)|ݗ~8.+Ic3DW-'굲(KE1fl𡒆ശ2,k5d2w]:Ng5Ng|~QIs"?_F%r#{L)JE8-WկY$\b m+?pS"vAbuͅ)}7\-V]%II-Vv&K,oLI@B@5+LQz@$EF%YU ,mP6__L# 9YgϙM jBYxME|FY9Wl,LfèK2K }hcf귎TcUջaIZ/n2;W#J:K!r"~CaYw)hrd $>޶ĞAh_l/^W2:lS_NpN@'uaOɱs<ĩDGA,<~/@%%G2HЂbz!Xkf“|Kǐ}V>xB z0զHԈn>.yM< q1&.B sLiZQ]q"1{N%ٶ1uʐ[