diff options
Diffstat (limited to 'contrib/ffmpeg/tests')
-rw-r--r-- | contrib/ffmpeg/tests/Makefile | 114 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/audiogen.c | 187 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/dsptest.c | 178 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/ffmpeg.regression.ref | 198 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/ffserver.regression.ref | 10 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/lena.pnm | 109 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/libav.regression.ref | 113 | ||||
-rwxr-xr-x | contrib/ffmpeg/tests/regression.sh | 722 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/rotozoom.c | 306 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/rotozoom.regression.ref | 198 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/seek_test.c | 91 | ||||
-rwxr-xr-x | contrib/ffmpeg/tests/seek_test.sh | 25 | ||||
-rwxr-xr-x | contrib/ffmpeg/tests/server-regression.sh | 54 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/test.conf | 307 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/tiny_psnr.c | 154 | ||||
-rw-r--r-- | contrib/ffmpeg/tests/videogen.c | 297 |
16 files changed, 0 insertions, 3063 deletions
diff --git a/contrib/ffmpeg/tests/Makefile b/contrib/ffmpeg/tests/Makefile deleted file mode 100644 index 3417c687e..000000000 --- a/contrib/ffmpeg/tests/Makefile +++ /dev/null @@ -1,114 +0,0 @@ -# -# Makefile for tests -# (c) 2002 Fabrice Bellard -# -include ../config.mak - -VPATH=$(SRC_PATH_BARE)/tests -SRC_DIR=$(SRC_PATH)/tests -BUILD_DIR=$(BUILD_ROOT)/tests -CFLAGS=-O2 -Wall -g - -REFFILE1=$(SRC_DIR)/ffmpeg.regression.ref -REFFILE2=$(SRC_DIR)/rotozoom.regression.ref - -SERVER_REFFILE=$(SRC_DIR)/ffserver.regression.ref - -LIBAV_REFFILE=$(SRC_DIR)/libav.regression.ref - -SEEK_REFFILE=$(SRC_DIR)/seek.regression.ref - -all fulltest test: codectest libavtest - -test-server: vsynth1/00.pgm asynth1.sw - @echo - @echo "Unfortunately ffserver is broken and therefore its regression" - @echo "test fails randomly. Treat the results accordingly." - @echo - @$(SRC_DIR)/server-regression.sh $(SERVER_REFFILE) $(SRC_DIR)/test.conf - -# fast regression tests for all codecs -codectest mpeg4 mpeg ac3 snow snowll: vsynth1/00.pgm vsynth2/00.pgm asynth1.sw tiny_psnr$(EXESUF) - @$(SRC_DIR)/regression.sh $@ $(REFFILE1) vsynth1 - @$(SRC_DIR)/regression.sh $@ $(REFFILE2) vsynth2 - -# fast regression for libav formats -ifeq ($(CONFIG_GPL),yes) -libavtest: vsynth1/00.pgm asynth1.sw - @$(SRC_DIR)/regression.sh $@ $(LIBAV_REFFILE) vsynth1 -else -libavtest: - @echo - @echo "This test requires FFmpeg to be compiled with --enable-gpl." - @echo -endif - -ifeq ($(CONFIG_SWSCALER),yes) -test-server codectest mpeg4 mpeg ac3 snow snowll libavtest: swscale_error -swscale_error: - @echo - @echo "This regression test is incompatible with --enable-swscaler." - @echo - @exit 1 -endif - -seektest: seek_test$(EXESUF) - @$(SRC_DIR)/seek_test.sh $(SEEK_REFFILE) - -# video generation - -vsynth1/00.pgm: videogen$(EXESUF) - @mkdir -p vsynth1 - $(BUILD_DIR)/$< 'vsynth1/' - -vsynth2/00.pgm: rotozoom$(EXESUF) - @mkdir -p vsynth2 - $(BUILD_DIR)/$< 'vsynth2/' $(SRC_DIR)/lena.pnm - -videogen$(EXESUF): videogen.c - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< - -rotozoom$(EXESUF): rotozoom.c - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< - -# audio generation - -asynth1.sw: audiogen$(EXESUF) - $(BUILD_DIR)/$< $@ - -audiogen$(EXESUF): audiogen.c - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< - -tiny_psnr$(EXESUF): tiny_psnr.c - $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $< - -#FIXME cleanup shit below -seek_test$(EXESUF): seek_test.c - $(CC) $(LDFLAGS) $(CFLAGS) -DHAVE_AV_CONFIG_H -I.. -I$(SRC_PATH)/libavformat/ -I$(SRC_PATH)/libavcodec/ -I$(SRC_PATH)/libavutil/ -o $@ $< $(SRC_PATH)/libavformat/libavformat.a $(SRC_PATH)/libavcodec/libavcodec.a $(SRC_PATH)/libavutil/libavutil.a $(EXTRALIBS) - -DSPDEPS = $(SRC_PATH)/libavcodec/i386/dsputil_mmx.c \ - $(SRC_PATH)/libavcodec/i386/dsputil_mmx_avg.h \ - $(SRC_PATH)/libavcodec/i386/dsputil_mmx_rnd.h \ - $(SRC_PATH)/libavcodec/i386/fdct_mmx.c \ - $(SRC_PATH)/libavcodec/i386/idct_mmx.c \ - $(SRC_PATH)/libavcodec/i386/motion_est_mmx.c \ - $(SRC_PATH)/libavcodec/i386/simple_idct_mmx.c \ - $(SRC_PATH)/libavcodec/dsputil.c \ - $(SRC_PATH)/libavcodec/dsputil.h \ - $(SRC_PATH)/libavcodec/simple_idct.c - -DSPCFLAGS = -O4 -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. \ - -I$(SRC_PATH)/libavutil/ -I$(SRC_PATH)/libavcodec/i386 \ - -I$(SRC_PATH)/libavcodec/ -lm - -dsptestpic: dsptest.c $(DSPDEPS) - $(CC) -fPIC -DPIC $(DSPCFLAGS) -o $@ $< -dsptest: dsptest.c $(DSPDEPS) - $(CC) $(DSPCFLAGS) -o $@ $< - -distclean clean: - rm -rf vsynth1 vsynth2 data - rm -f asynth1.sw *~ audiogen$(EXESUF) videogen$(EXESUF) rotozoom$(EXESUF) tiny_psnr$(EXESUF) - -.PHONY: all fulltest test codectest libavtest test-server seektest -.PHONY: mpeg4 mpeg ac3 snow snowll distclean clean diff --git a/contrib/ffmpeg/tests/audiogen.c b/contrib/ffmpeg/tests/audiogen.c deleted file mode 100644 index 68ae13586..000000000 --- a/contrib/ffmpeg/tests/audiogen.c +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Generates a synthetic stereo sound - * NOTE: no floats are used to guaranty a bit exact output. - * - * Copyright (c) 2002 Fabrice Bellard - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <stdlib.h> -#include <stdio.h> - -#define NB_CHANNELS 2 -#define FE 44100 - -static unsigned int myrnd(unsigned int *seed_ptr, int n) -{ - unsigned int seed, val; - - seed = *seed_ptr; - seed = (seed * 314159) + 1; - if (n == 256) { - val = seed >> 24; - } else { - val = seed % n; - } - *seed_ptr = seed; - return val; -} - -#define FRAC_BITS 16 -#define FRAC_ONE (1 << FRAC_BITS) - -#define COS_TABLE_BITS 7 - -/* integer cosinus */ -static const unsigned short cos_table[(1 << COS_TABLE_BITS) + 2] = { - 0x8000, 0x7ffe, 0x7ff6, 0x7fea, 0x7fd9, 0x7fc2, 0x7fa7, 0x7f87, - 0x7f62, 0x7f38, 0x7f0a, 0x7ed6, 0x7e9d, 0x7e60, 0x7e1e, 0x7dd6, - 0x7d8a, 0x7d3a, 0x7ce4, 0x7c89, 0x7c2a, 0x7bc6, 0x7b5d, 0x7aef, - 0x7a7d, 0x7a06, 0x798a, 0x790a, 0x7885, 0x77fb, 0x776c, 0x76d9, - 0x7642, 0x75a6, 0x7505, 0x7460, 0x73b6, 0x7308, 0x7255, 0x719e, - 0x70e3, 0x7023, 0x6f5f, 0x6e97, 0x6dca, 0x6cf9, 0x6c24, 0x6b4b, - 0x6a6e, 0x698c, 0x68a7, 0x67bd, 0x66d0, 0x65de, 0x64e9, 0x63ef, - 0x62f2, 0x61f1, 0x60ec, 0x5fe4, 0x5ed7, 0x5dc8, 0x5cb4, 0x5b9d, - 0x5a82, 0x5964, 0x5843, 0x571e, 0x55f6, 0x54ca, 0x539b, 0x5269, - 0x5134, 0x4ffb, 0x4ec0, 0x4d81, 0x4c40, 0x4afb, 0x49b4, 0x486a, - 0x471d, 0x45cd, 0x447b, 0x4326, 0x41ce, 0x4074, 0x3f17, 0x3db8, - 0x3c57, 0x3af3, 0x398d, 0x3825, 0x36ba, 0x354e, 0x33df, 0x326e, - 0x30fc, 0x2f87, 0x2e11, 0x2c99, 0x2b1f, 0x29a4, 0x2827, 0x26a8, - 0x2528, 0x23a7, 0x2224, 0x209f, 0x1f1a, 0x1d93, 0x1c0c, 0x1a83, - 0x18f9, 0x176e, 0x15e2, 0x1455, 0x12c8, 0x113a, 0x0fab, 0x0e1c, - 0x0c8c, 0x0afb, 0x096b, 0x07d9, 0x0648, 0x04b6, 0x0324, 0x0192, - 0x0000, 0x0000, -}; - -#define CSHIFT (FRAC_BITS - COS_TABLE_BITS - 2) - -static int int_cos(int a) -{ - int neg, v, f; - const unsigned short *p; - - a = a & (FRAC_ONE - 1); /* modulo 2 * pi */ - if (a >= (FRAC_ONE / 2)) - a = FRAC_ONE - a; - neg = 0; - if (a > (FRAC_ONE / 4)) { - neg = -1; - a = (FRAC_ONE / 2) - a; - } - p = cos_table + (a >> CSHIFT); - /* linear interpolation */ - f = a & ((1 << CSHIFT) - 1); - v = p[0] + (((p[1] - p[0]) * f + (1 << (CSHIFT - 1))) >> CSHIFT); - v = (v ^ neg) - neg; - v = v << (FRAC_BITS - 15); - return v; -} - -FILE *outfile; - -void put_sample(int v) -{ - fputc(v & 0xff, outfile); - fputc((v >> 8) & 0xff, outfile); -} - -int main(int argc, char **argv) -{ - int i, a, v, j, f, amp, ampa; - unsigned int seed = 1; - int tabf1[NB_CHANNELS], tabf2[NB_CHANNELS]; - int taba[NB_CHANNELS]; - - if (argc != 2) { - printf("usage: %s file\n" - "generate a test raw 16 bit stereo audio stream\n", argv[0]); - exit(1); - } - - outfile = fopen(argv[1], "wb"); - if (!outfile) { - perror(argv[1]); - return 1; - } - - /* 1 second of single freq sinus at 1000 Hz */ - a = 0; - for(i=0;i<1 * FE;i++) { - v = (int_cos(a) * 10000) >> FRAC_BITS; - for(j=0;j<NB_CHANNELS;j++) - put_sample(v); - a += (1000 * FRAC_ONE) / FE; - } - - /* 1 second of varing frequency between 100 and 10000 Hz */ - a = 0; - for(i=0;i<1 * FE;i++) { - v = (int_cos(a) * 10000) >> FRAC_BITS; - for(j=0;j<NB_CHANNELS;j++) - put_sample(v); - f = 100 + (((10000 - 100) * i) / FE); - a += (f * FRAC_ONE) / FE; - } - - /* 0.5 second of low amplitude white noise */ - for(i=0;i<FE / 2;i++) { - v = myrnd(&seed, 20000) - 10000; - for(j=0;j<NB_CHANNELS;j++) - put_sample(v); - } - - /* 0.5 second of high amplitude white noise */ - for(i=0;i<FE / 2;i++) { - v = myrnd(&seed, 65535) - 32768; - for(j=0;j<NB_CHANNELS;j++) - put_sample(v); - } - - /* stereo : 2 unrelated ramps */ - for(j=0;j<NB_CHANNELS;j++) { - taba[j] = 0; - tabf1[j] = 100 + myrnd(&seed, 5000); - tabf2[j] = 100 + myrnd(&seed, 5000); - } - for(i=0;i<1 * FE;i++) { - for(j=0;j<NB_CHANNELS;j++) { - v = (int_cos(taba[j]) * 10000) >> FRAC_BITS; - put_sample(v); - f = tabf1[j] + (((tabf2[j] - tabf1[j]) * i) / FE); - taba[j] += (f * FRAC_ONE) / FE; - } - } - - /* stereo 500 Hz with varying volume */ - a = 0; - ampa = 0; - for(i=0;i<2 * FE;i++) { - for(j=0;j<NB_CHANNELS;j++) { - amp = ((FRAC_ONE + int_cos(ampa)) * 5000) >> FRAC_BITS; - if (j & 1) - amp = 10000 - amp; - v = (int_cos(a) * amp) >> FRAC_BITS; - put_sample(v); - a += (500 * FRAC_ONE) / FE; - ampa += (2 * FRAC_ONE) / FE; - } - } - - fclose(outfile); - return 0; -} diff --git a/contrib/ffmpeg/tests/dsptest.c b/contrib/ffmpeg/tests/dsptest.c deleted file mode 100644 index 06a185202..000000000 --- a/contrib/ffmpeg/tests/dsptest.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * MMX optimized DSP utils - * Copyright (c) 2000, 2001, 2002 Fabrice Bellard. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -#define TESTCPU_MAIN -#include "avcodec.h" -#include "dsputil.h" -#include "mpegvideo.h" -#include "mpeg12data.h" -#include "mpeg4data.h" -#include "../libavcodec/i386/cputest.c" -#include "../libavcodec/i386/dsputil_mmx.c" - -#include "../libavcodec/i386/fdct_mmx.c" -#include "../libavcodec/i386/idct_mmx.c" -#include "../libavcodec/i386/motion_est_mmx.c" -#include "../libavcodec/i386/simple_idct_mmx.c" -#include "../libavcodec/dsputil.c" -#include "../libavcodec/simple_idct.c" -#include "../libavcodec/jfdctfst.c" - -#undef TESTCPU_MAIN - -#define PAD 0x10000 -/* - * for testing speed of various routine - should be probably extended - * for a general purpose regression test later - * - * currently only for i386 - FIXME - */ - -#define PIX_FUNC_C(a) \ - { #a "_c", a ## _c, 0 }, \ - { #a "_mmx", a ## _mmx, MM_MMX }, \ - { #a "_mmx2", a ## _mmx2, MM_MMXEXT | PAD } - -#define PIX_FUNC(a) \ - { #a "_mmx", a ## _mmx, MM_MMX }, \ - { #a "_3dnow", a ## _3dnow, MM_3DNOW }, \ - { #a "_mmx2", a ## _mmx2, MM_MMXEXT | PAD } - -#define PIX_FUNC_MMX(a) \ - { #a "_mmx", a ## _mmx, MM_MMX | PAD } - -/* - PIX_FUNC_C(pix_abs16x16), - PIX_FUNC_C(pix_abs16x16_x2), - PIX_FUNC_C(pix_abs16x16_y2), - PIX_FUNC_C(pix_abs16x16_xy2), - PIX_FUNC_C(pix_abs8x8), - PIX_FUNC_C(pix_abs8x8_x2), - PIX_FUNC_C(pix_abs8x8_y2), - PIX_FUNC_C(pix_abs8x8_xy2), -*/ - -static const struct pix_func { - char* name; - op_pixels_func func; - int mm_flags; -} pix_func[] = { - - PIX_FUNC_MMX(put_pixels), - //PIX_FUNC_MMX(get_pixels), - //PIX_FUNC_MMX(put_pixels_clamped), -#if 1 - PIX_FUNC(put_pixels_x2), - PIX_FUNC(put_pixels_y2), - PIX_FUNC_MMX(put_pixels_xy2), - - PIX_FUNC(put_no_rnd_pixels_x2), - PIX_FUNC(put_no_rnd_pixels_y2), - PIX_FUNC_MMX(put_no_rnd_pixels_xy2), - - PIX_FUNC(avg_pixels), - PIX_FUNC(avg_pixels_x2), - PIX_FUNC(avg_pixels_y2), - PIX_FUNC(avg_pixels_xy2), - - PIX_FUNC_MMX(avg_no_rnd_pixels), - PIX_FUNC_MMX(avg_no_rnd_pixels_x2), - PIX_FUNC_MMX(avg_no_rnd_pixels_y2), - PIX_FUNC_MMX(avg_no_rnd_pixels_xy2), -#endif - { 0, 0 } -}; - -static inline long long rdtsc() -{ - long long l; - asm volatile( "rdtsc\n\t" - : "=A" (l) - ); - return l; -} - -static test_speed(int step) -{ - const struct pix_func* pix = pix_func; - const int linesize = 720; - char empty[32768]; - char* bu =(char*)(((long)empty + 32) & ~0xf); - - int sum = 0; - - while (pix->name) - { - int i; - uint64_t te, ts; - op_pixels_func func = pix->func; - char* im = bu; - - if (pix->mm_flags & mm_flags) - { - printf("%30s... ", pix->name); - fflush(stdout); - ts = rdtsc(); - for(i=0; i<100000; i++){ - func(im, im + 1000, linesize, 16); - im += step; - if (im > bu + 20000) - im = bu; - } - te = rdtsc(); - emms(); - printf("% 9d\n", (int)(te - ts)); - sum += (te - ts) / 100000; - if (pix->mm_flags & PAD) - puts(""); - } - pix++; - } - - printf("Total sum: %d\n", sum); -} - -int main(int argc, char* argv[]) -{ - int step = 16; - - if (argc > 1) - { - // something simple for now - if (argc > 2 && (strcmp("-s", argv[1]) == 0 - || strcmp("-step", argv[1]) == 0)) - step = atoi(argv[2]); - } - - mm_flags = mm_support(); - printf("%s: detected CPU flags:", argv[0]); - if (mm_flags & MM_MMX) - printf(" mmx"); - if (mm_flags & MM_MMXEXT) - printf(" mmxext"); - if (mm_flags & MM_3DNOW) - printf(" 3dnow"); - if (mm_flags & MM_SSE) - printf(" sse"); - if (mm_flags & MM_SSE2) - printf(" sse2"); - printf("\n"); - - printf("Using step: %d\n", step); - test_speed(step); -} diff --git a/contrib/ffmpeg/tests/ffmpeg.regression.ref b/contrib/ffmpeg/tests/ffmpeg.regression.ref deleted file mode 100644 index ae5355406..000000000 --- a/contrib/ffmpeg/tests/ffmpeg.regression.ref +++ /dev/null @@ -1,198 +0,0 @@ -ffmpeg regression test -dd4c189859399f7f251876be8e26e4f3 *./data/a-mpeg1.mpg -722848 ./data/a-mpeg1.mpg -78d202830e5ce5a67495ab14ebe6469e *./data/out.yuv -stddev: 7.65 PSNR:30.44 bytes:7602176 -f3b008355f68394b6cad694f3488ea2b *./data/a-mpeg2.mpg -736978 ./data/a-mpeg2.mpg -9f364a477987c3b14412e303b94377ca *./data/out.yuv -stddev: 7.68 PSNR:30.41 bytes:7602176 -1716f466ea82b4d90677868b2ce1f8e2 *./data/a-mpeg2ivlc-qprd.mpg -708232 ./data/a-mpeg2ivlc-qprd.mpg -40746946d5661606f7a649c62b6c4bee *./data/out.yuv -stddev: 12.21 PSNR:26.38 bytes:7602176 -2566ea5760247a9485c8281cb52291a8 *./data/a-mpeg2.mpg -735853 ./data/a-mpeg2.mpg -55c22a09e4924977ee2cc4180078d3ae *./data/out.yuv -stddev: 7.67 PSNR:30.42 bytes:7602176 -0093ab9141105dec8dc4452ba8f0ab6f *./data/a-mpeg2i.mpg -749746 ./data/a-mpeg2i.mpg -5189af71e6aa96cc2f6452e7f6b29287 *./data/out.yuv -stddev: 7.68 PSNR:30.41 bytes:7602176 -69576facff13d45171e3a6c53b8018c4 *./data/a-mpeg2thread.mpg -813459 ./data/a-mpeg2thread.mpg -c0e8cbde76ff8377494fe6843fd03e11 *./data/out.yuv -stddev: 7.63 PSNR:30.47 bytes:7602176 -17af99d1a7fc391242a809b0782263af *./data/a-mpeg2threadivlc.mpg -803833 ./data/a-mpeg2threadivlc.mpg -c0e8cbde76ff8377494fe6843fd03e11 *./data/out.yuv -stddev: 7.63 PSNR:30.47 bytes:7602176 -c8d8b07b5fa97e0affb4a52d4d30a2b6 *./data/a-mpeg2reuse.mpg -2102956 ./data/a-mpeg2reuse.mpg -75d3dfc8133f0122cb9e272a21bc8c5c *./data/out.yuv -stddev: 7.67 PSNR:30.42 bytes:7602176 -c83ae8d8f3e2b4506df58e6a2f7e3b2a *./data/a-msmpeg4v2.avi -636512 ./data/a-msmpeg4v2.avi -279c33c2f6f58b7eb3d2daaa87160cb5 *./data/out.yuv -stddev: 8.00 PSNR:30.06 bytes:7602176 -f546e8d0ada1917bc470584477f83e0e *./data/a-msmpeg4.avi -639406 ./data/a-msmpeg4.avi -8692a2e9ddb8081c4f00cb1557e2388e *./data/out.yuv -stddev: 8.00 PSNR:30.05 bytes:7602176 -44c11ce4aa20af1aa609f68e544e5479 *./data/a-wmv1.avi -641448 ./data/a-wmv1.avi -69454f78ca636e83a600834e5a90660e *./data/out.yuv -stddev: 8.01 PSNR:30.04 bytes:7602176 -044b1b5bd5899d54a8fe09eac2181d8b *./data/a-wmv2.avi -675342 ./data/a-wmv2.avi -69454f78ca636e83a600834e5a90660e *./data/out.yuv -stddev: 8.01 PSNR:30.04 bytes:7602176 -12d215719748b4cf1adeaca4e519ba6c *./data/a-h261.avi -727616 ./data/a-h261.avi -bb2e71de01899ade4f850c180f9b0258 *./data/out.yuv -stddev: 9.13 PSNR:28.90 bytes:7602176 -66d36048d15c3b04bd7bfc08ab977fae *./data/a-h263.avi -673694 ./data/a-h263.avi -d507be4253a9c8211a3738c58ba28118 *./data/out.yuv -stddev: 8.06 PSNR:29.99 bytes:7602176 -e9e884a7c6b77d1aeeb4cb56ac150f92 *./data/a-h263p.avi -2389564 ./data/a-h263p.avi -0bb16a352798c997cb36e167f4fa8f3c *./data/out.yuv -stddev: 2.07 PSNR:41.77 bytes:7602176 -3ee2dd25f141d520f61e5c01d08bdef1 *./data/a-odivx.mp4 -550787 ./data/a-odivx.mp4 -a1c691f3be526ecbf3be3152d5bab88c *./data/out.yuv -stddev: 7.99 PSNR:30.06 bytes:7602176 -6c58e5707afe056b072d2ce21b3b8e4f *./data/a-huffyuv.avi -7933744 ./data/a-huffyuv.avi -799d3db687f6cdd7a837ec156efc171f *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -b27e911f1563455700c93e6ae39715ca *./data/a-mpeg4-rc.avi -813988 ./data/a-mpeg4-rc.avi -f57311745de96b6551c175679b138efc *./data/out.yuv -stddev: 10.40 PSNR:27.78 bytes:7602176 -85e2456a673041d528b242d78318fb65 *./data/a-mpeg4-adv.avi -600188 ./data/a-mpeg4-adv.avi -60edc5a67271e425d0a2a52981895b81 *./data/out.yuv -stddev: 10.25 PSNR:27.91 bytes:7602176 -d099307d14c1a4daa145618ca0522888 *./data/a-mpeg4-qprd.avi -657996 ./data/a-mpeg4-qprd.avi -8a52c562082bad78cabb40ffa292ceec *./data/out.yuv -stddev: 12.12 PSNR:26.44 bytes:7602176 -9192b10ae298ba325d53abf7b5b91ba3 *./data/a-mpeg4-adap.avi -400650 ./data/a-mpeg4-adap.avi -0ce1d1fbebc9e9178e1a1d4a32a5804c *./data/out.yuv -stddev: 14.66 PSNR:24.80 bytes:7602176 -41b27141442f773eca9ef3d48d8d555a *./data/a-mpeg4-Q.avi -878264 ./data/a-mpeg4-Q.avi -8995abbcc97ed4767fcbc0bf46accd01 *./data/out.yuv -stddev: 5.61 PSNR:33.13 bytes:7602176 -5fff534f0b958547dfdb811d4f289931 *./data/a-mpeg4-thread.avi -761170 ./data/a-mpeg4-thread.avi -fe1d119938f8a26174b38eeaa18dff85 *./data/out.yuv -stddev: 12.31 PSNR:26.31 bytes:7602176 -c1dae02bddd79790266bc0a9f7d6eb0e *./data/a-mpeg4-PSP.mp4 -406449 ./data/a-mpeg4-PSP.mp4 -7315281e07830456208dff61337c982b *./data/a-error-mpeg4-adv.avi -731526 ./data/a-error-mpeg4-adv.avi -6ce2c82a0a9cf67a6991694473e9a306 *./data/out.yuv -stddev: 18.23 PSNR:22.90 bytes:7602176 -b699b2fd005571dda3f8d34cb0ce7aec *./data/a-mpeg4-nr.avi -688676 ./data/a-mpeg4-nr.avi -2c16e13b1367022d52b0e75d93a734ba *./data/out.yuv -stddev: 7.02 PSNR:31.18 bytes:7602176 -225ab004f6ac16e5ade3b453f45b9d96 *./data/a-mpeg1b.mpg -1026429 ./data/a-mpeg1b.mpg -dd9a471c6b2d1004a90e42f34707becf *./data/out.yuv -stddev: 6.34 PSNR:32.07 bytes:7602176 -2f9cb2ede35f7d12f6b518c50e20d81c *./data/a-mjpeg.avi -1567580 ./data/a-mjpeg.avi -18c3a76f984e717dd886d21fa04355f6 *./data/out.yuv -stddev: 7.93 PSNR:30.13 bytes:7602176 -5a662e3833d900b56cca79ba5ed5ec06 *./data/a-ljpeg.avi -6264498 ./data/a-ljpeg.avi -799d3db687f6cdd7a837ec156efc171f *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -dca9d700da7857217408c310c501b9bc *./data/a-jpegls.avi -9086676 ./data/a-jpegls.avi -0f8637e9b861230aff9894825af83720 *./data/out.yuv -stddev: 2.84 PSNR:39.04 bytes:7602176 -7eee6367442884321e27d15a26bc032a *./data/a-rv10.rm -667915 ./data/a-rv10.rm -d507be4253a9c8211a3738c58ba28118 *./data/out.yuv -stddev: 8.06 PSNR:29.99 bytes:7602176 -55c73229105f35cbb06ee0dda215df2f *./data/a-rv20.rm -640856 ./data/a-rv20.rm -297dc46da1a256c0a97158c036c30c7f *./data/out.yuv -stddev: 8.26 PSNR:29.77 bytes:7602176 -d13292f4583618d1b7b525a9ee010dff *./data/a-asv1.avi -1488864 ./data/a-asv1.avi -925320b74c7dfda5dc8378dd879ae2c3 *./data/out.yuv -stddev: 20.00 PSNR:22.10 bytes:7602176 -2e50b590f32bf98bde82dbfaf180007a *./data/a-asv2.avi -1454536 ./data/a-asv2.avi -0b310840a6d3970595983491687669df *./data/out.yuv -stddev: 18.82 PSNR:22.63 bytes:7602176 -cbdb25fe5bb6a895baf9799b8ccb3038 *./data/a-flv.flv -649040 ./data/a-flv.flv -40281942d6ee254f7d3027b8593b19be *./data/out.yuv -stddev: 8.06 PSNR:29.99 bytes:7602176 -f8f51fa737add17f7fecaefa118b57ed *./data/a-ffv1.avi -2654678 ./data/a-ffv1.avi -799d3db687f6cdd7a837ec156efc171f *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -9078723c943de5d79490f54b99e6ea9e *./data/a-snow.avi -156656 ./data/a-snow.avi -f2932084b52e2ede167c9ba21eae0656 *./data/out.yuv -stddev: 23.14 PSNR:20.83 bytes:7602176 -ba999e86070aa971376e7f317a022c37 *./data/a-snow53.avi -3519486 ./data/a-snow53.avi -799d3db687f6cdd7a837ec156efc171f *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -c299f64c3e85b928c5bfe71629cee006 *./data/a-dv.dv -7200000 ./data/a-dv.dv -3b9ead854b912e43ead976e4e86aab3b *./data/out.yuv -stddev: 8.91 PSNR:29.12 bytes:7602176 -70dc9a58345e603094dedcac71e2dcd2 *./data/a-dv.dv -14400000 ./data/a-dv.dv -d727da8c7ce387ebe68845a1be916ee3 *./data/out.yuv -stddev: 8.50 PSNR:29.52 bytes:7602176 -6860534864cad0de4b1af9f987aaf9bf *./data/a-svq1.mov -1365791 ./data/a-svq1.mov -fb0a97094a89d6f379535f615783d00c *./data/out.yuv -stddev: 10.98 PSNR:27.30 bytes:7602176 -21f8ff9f1daacd9133683bb4ea0f50a4 *./data/a-mp2.mp2 -95712 ./data/a-mp2.mp2 -83f8df5d5f84480566af548bb037fceb *./data/out.wav -stddev:9330.70 PSNR:16.92 bytes:1054720 -stddev:4396.13 PSNR:23.46 bytes:1052672 -aefe11ab5067621a1c674859d6413891 *./data/a-ac3.rm -98203 ./data/a-ac3.rm -39878597b1d65cce473639a7d8c93b02 *./data/a-g726.wav -24279 ./data/a-g726.wav -888f2f016e608d044a1bacbca5497ed2 *./data/out.wav -stddev:8368.02 PSNR:17.87 bytes:96256 -de3f0e1f50b19bd8572fdd3dee2e72c4 *./data/a-adpcm_ima.wav -266300 ./data/a-adpcm_ima.wav -60178d48204f5662d91776e36eddc82e *./data/out.wav -stddev:11441.89 PSNR:15.15 bytes:1054720 -628d4789cf9ee16a756ac54b7fd8650d *./data/a-adpcm_ms.wav -267320 ./data/a-adpcm_ms.wav -91a84bb4f319a3a0bf0c0441b3d3a529 *./data/out.wav -stddev:1050.18 PSNR:35.89 bytes:1054720 -ab11d9151644cbff27827b7e89f37aa9 *./data/a-adpcm_yam.wav -264248 ./data/a-adpcm_yam.wav -e92cec8c07913ffb91ad2b11f79cdc00 *./data/out.wav -stddev:18312.68 PSNR:11.06 bytes:1056768 -c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac -353368 ./data/a-flac.flac -c4228df189aad9567a037727d0e763e4 *./data/out.wav -stddev: 33.31 PSNR:65.87 bytes:1040384 -0c406c4e4586ca27064e28637b662631 *./data/a-wmav1.asf -106004 ./data/a-wmav1.asf -stddev:12251.50 PSNR:14.56 bytes:1056768 -stddev:2106.00 PSNR:29.85 bytes:1048576 -82442aaa5fdbd327769e4c4ad369147e *./data/a-wmav2.asf -106044 ./data/a-wmav2.asf -stddev:12255.92 PSNR:14.55 bytes:1056768 -stddev:2099.31 PSNR:29.88 bytes:1048576 diff --git a/contrib/ffmpeg/tests/ffserver.regression.ref b/contrib/ffmpeg/tests/ffserver.regression.ref deleted file mode 100644 index 851a40d22..000000000 --- a/contrib/ffmpeg/tests/ffserver.regression.ref +++ /dev/null @@ -1,10 +0,0 @@ -b33ed697236149e1503b60ca9f645b6f ff-test_h.avi -3c104d3664ed260be9117ed1273c6dcc ff-test_l.avi -d976848a9e4d5d8fc2659e4841cdece5 ff-test.swf -5dd7a3cbc430f2534cdfc68030e4d5f5 ff-test_h.asf -1111699f36f2fe2240d3e5c73827df50 ff-test_l.asf -0b4c970507eeb57381c92c3309f2d982 ff-test_h.rm -daaaa2e170f48f8bd423c0c45ab632c7 ff-test_l.rm -e0dc91430660c619e97b5c82e0f398fc ff-test.jpg -0346739ee6ba2d3bbacb9814d00d7d2d ff-test_small.jpg -77a905f865ca536b6b92b9beb96beb94 ff-test.mjpg diff --git a/contrib/ffmpeg/tests/lena.pnm b/contrib/ffmpeg/tests/lena.pnm deleted file mode 100644 index 700508c86..000000000 --- a/contrib/ffmpeg/tests/lena.pnm +++ /dev/null @@ -1,109 +0,0 @@ -P6 -# CREATOR: The GIMP's PNM Filter Version 1.0 -256 256 -255 -}߈v|{|rބu݄nފv߂kބj܄pg݂tށsjrvrrwzyvxvtwfvvZaP_@T>\=YEXGXJZIZJ\NWJVLVOZLXLXNXLVNZNZJSJTOVSYTZXZTXZY^Z[\`\^\\Zf_b^ebabbbkhffd`b]b``^g_d^d`a^hahjb^ebfagfebe`ddfbgdhef`d^ffjffefbjfgbidibichjheghknhlffe_ddf^e]cbcbjhibdadddbb\e`hbf`g`jdd\fd``jjplgcd_bbe`d`fgb^b`e``eiebcc^b`cbccabadbbbd^^bcba\`[dZ`ZaX_T[PXHVLPV\`]lbqlzlt܄pވnފrڎv݂nzg~jڀjlހn܀rނr݀pކxނn߀hހj~j߀eހlf}f݂jށh܀eބh܄m܆n݂jކq݈q݄p܂hnn﹅ȐΖОԣԜԟȐ⪀rjM\HXPZOZX\Z\Za^`acX\^^ZZ^bdh[c\aZ[[^ZZZ^^^]`_^`c`b^_^]V\`c`bbh``[[bba`[]V\V\VZ\b{v撀zrd}߈v|{|rބu݄nފv߂kބj܄pg݂tށsjrvrrwzyvxvtwfvvZaP_@T>\=YEXGXJZIZJ\NWJVLVOZLXLXNXLVNZNZJSJTOVSYTZXZTXZY^Z[\`\^\\Zf_b^ebabbbkhffd`b]b``^g_d^d`a^hahjb^ebfagfebe`ddfbgdhef`d^ffjffefbjfgbidibichjheghknhlffe_ddf^e]cbcbjhibdadddbb\e`hbf`g`jdd\fd``jjplgcd_bbe`d`fgb^b`e``eiebcc^b`cbccabadbbbd^^bcba\`[dZ`ZaX_T[PXHVLPV\`]lbqlzlt܄pވnފrڎv݂nzg~jڀjlހn܀rނr݀pކxނn߀hހj~j߀eހlf}f݂jށh܀eބh܄m܆n݂jކq݈q݄p܂hnn﹅ȐΖОԣԜԟȐ⪀rjM\HXPZOZX\Z\Za^`acX\^^ZZ^bdh[c\aZ[[^ZZZ^^^]`_^`c`b^_^]V\`c`bbh``[[bba`[]V\V\VZ\b{v撀zrd|yvxvvno߄m߆p߀hhބog݀tނn߂lށntqryzyvvuowhomX_O^AW>Y<VBVFZFYJZJZKVJTJTLXISJVLWJTLXLWJRKUPWQXU[WYVZZX\Z\]][^^[[a^c^dbdda^heccfbc^a`a`fcd`b`b_iegjd_gdhdidfaeafbfbfbidd`c_ecgbdbfchbgahafbhdhfgagjhijjebb`bae^d]cab`fdjab_ddc_a\fbfafaf^gbe^d`b_hhjihddabad_c_ccd_a`daachi^`a^ccdea`bcce`bbd```a`a\_[b\`Y`W^TZOYJVJPTX_^jbplyl}r݂rއuߊrۊs݃m|jh~km}k~oނp܀m݂pރoh߀hj~f~lހh~iހhބi܁dރhނi܆o܃j݄qކnބp܁iفloŏΘМԡԝ֞˔求zmNXHXLVQ\X]Y\Y\\^``Z]]]\[^b`e]a[`[\Y\ZY\]_`^]^^_aa``_^\WZ_a^abd_`]Zbb`^\\U\V\Z\_btlޅv}lWZxqvnvte}lnih~gނkf|jނk߄nހgnrvt|xysngxifbZ\L[<U7S;T<S>T@TKZLYFSFQEPIVFRGSJVHOFNITGOKVLRORVXTXWY\\_Z\V^ZZUZX_\b\a[ec`\b_cba^`abbf`d_c]c`b]c`b\c\fgfdfbf`b^ebe`d^a[f^b^abcdc_c^fcfddaedfdc^b`dhkndfmjbbgbb`d``Zc`jfiebbe`^Xd\d^gdd^h`b`e`a]fbd^ffedd`a\_\`c`^fh^]b`a`a__^bea\abcabaab`^bd_\^^^`[]Z^\fW^T[RZLTKXEPUX\^e`lgvn{nہrۆpވt߈tބmނo~g}go|gހn܀ni݂n߂lfi߁fe~cih݀j߀f}deނg݂i܂l݄m܄rނk݂jiہhxʐКқԞ֞ҕÉߞsd_HXJWP]V]V[[]TW[^Z]ZZ`^Z^`a\^^b_d]^^\a[___[`_^]]\\^\Z^^[`^^``]b\[bd`\_`[\[]`cb`VZET~,KfEiprntrklknjiށn~m~hl~ijmrrwsrnpldtfjaWZNX=R:Q8N:O@RDTDRDPHSFPDNLWGRKRHRGOHNHRJTLUPYOXQYVZUWZ]YW]]^Y^]]Xa^]]`^_[d]c_b`b^d_d`a^b]b^d^b\b^f_bac`fagbfah^had^b_gbhadbb`kheddafbdba`efcad`bf`_`bdbb^gfba`\^\`]fbgdhced^V_[b\e_dcb^a]c`b[b_b\cad^fbec`\a^b``\bb]]b]`^`]\\^`^^]^baa__\`[b`[[^]]]_^\^Y_YaTXPXQSLUHTJUSY]^ffqlxp{n܂qބtߊu߅r߂n݂pހj~jރkl߂ijބm߁ijkge߁jg߀jj}eށj߂jރj܂l܁l݁nہm܁l܁kځh~mމn쮀̙КӞӛԙ͒~ЄlU[LYNUS\SZXZZ]\^Z_Z\]^[^]a\a\]X[Z`\^^^`^[X_^Z\_[\_^Z]\]^`\`c```]`_a]bbbd_^_\NT/Id@\B\Alnizkoklknnki~hhlbhjjnoqsonhm}eo^f]\[KT;O8Q8P<P@SBR@PHSCNGQFPGTIOIRDMGPIQDOJRKSOVOSQTVZW[[_]`\^[V^Z[Wb\^Zb__Za^`\a^_Zfdd^d`e_`]c\aZ`]e]`[dbfbfbb^b[dad`ebd^ca_\bbfbb^d`d_`]c^fabbc\c`cba^fddbb`b`cb`\a^a^`^fcb^cZc]bab\dacahdc]d`a]a_`_`[b_d_d_c^bbaZ`]`]a^bfb]``a__^aa^]`dd``_a]a`ba`]^_\`V\YbTZU`NVNXLYHVNXX^egjfsozr~t߄vuro߁lނpj߁lilmojljl߁j߀ijhjk~fg߁l}a݁nlڃlhۀfڂg|iktƒΘМԚ֜ӘƌulcJRIULURXSZVX\]ZZY^^aZZ]^Y\\]Y_ZZXZ\\\\^^]b]^^\\\^\\\^^^_^\_\\\^`dcfbhb_]HO,Fe@\@ZAZBnpknnjhljqlkj߀ijhjqnrpttknhh~gp\h]VTJR?Q7N:O=O<NBRDQIVGRLXKVMVNVFNDOIPCLFODOJRRVNWRRWVVZVYZ^X[\Z\Y\X]Y]V[X^Xb```b_d_ebd`c`b^bab`a\c\d``\bcgcb\b^d^gdg]c^b\b\fcddd`c`b]_]d_`adc`cc_b_eae`dadcd`b^`^b__\b^cac`c`_[`Zebb]hdhdhaddfbb`ebb^b]d`b_b^fbdfa\b`_Zcab`ba^]b`__c`^\]^`^`__^`^dd__]b\`\`Z^V`PZPXSZPZITHWS\_hkiqnvl}tmvssmm߅lނonlmokppjfljgkfހhh~d܂j܀j~j܂o܀fڀjڂm|h~k܄l|ʒЛԞ՜֞јrWYLXM[T\TZTXX]Y_X\\_\]ZZ\^[]Z\X[^c[[^a[Z]\ZY\]\\\\[\a^`[\[`a^`^^hcgc]YOV,Gb$HY@X=Z@\>pnje߄nhljmjgjgހjiippqrvrnnmof~hr^bVX\NW>R<Q<R<M?OFTCNFSIRJUKTJUJRHOCPIPKPBKDMJQMVOVPQTWTZVU[a^\^\\Y]Yb[^X^Yb^^Z^\b]d`c`a^d\b^a`a^_\c\d`c]c_b^b^aZheb`c]b`b[cbd`dbfec^`\``fddefdcbeca`c_dddac`c\d_b^b\c`d]dab`c`_Zc]e_b[d^had_gfddb]gdb]`^ddd`b_aacbc`bca^`\`\_]`^_``bbc`a`_b^a```e_ad^c^b^`\aX^WYR]T]VcN[KYJXNZVaehpkvr|qsޅtprvntrtnppojkkglhhh~fffh~h|j|hـkـp܀lڀop~jyhqč͘Ҝ՟֝՟ʓ簀{iMXMYMUNWOUZ[T\VZ\^Y[ZY`][[YX\]Z\\`\bZ^\\]`^]_`_^]^^^^^`Zcddceck`Z\EQ&Ea?\HZBZ<\B\Bpmmglgohgkjj~f~mjtntpqpplmnmg|go\f\WYHR<L7L6J=O:JFRGQ@LKRHOHRMVHTGTFQJTDMDNDKENMPNQQURSTSXVZ[\b]Z\Y]Z^Z`\_\_[ea`\a[d\b^a[b^c^b^faa^`Zc_c`f_fdd^c^gefbe`khegfca]d^f\efd^a_``fceccba_edgdffhdecb^ffeb`\_\`Zf]d_c`ba`]b]c^f]iffcjfe^cad`b\ebc^c`a_d\c`_\`\ba`[`_`]^Z[^_^_^bbaabc``bd`^bcb`_``bY\Z]TXQVT[ZcMXOWJ\HWS^^hoovpwp}q܄wptsstlppulqqmnonjnlfg}bhބr|ej|lۀm}l~m~h}i{i~h{ʑўӜ֢֠ҜÎvb`JXLVNZPWX\TZV[Z_Y\[[[ZZ[[]_\[\_a]_^^ab_b\\cea^`[b^b`b\d`hbfe\[@Ly!B^>W>X<ZBY>[9_@llshjihkkmipmlppronqppsjuod{jreje^aQ\@S8M9L?P@MDMCNBNFPGRLTIWFPHTJTFODNJSDLKSNRQWUZSWY_XXY\WZ^[\\YV`]`\^``[a_^\a\d\dbc_c]fdd`fca^b_daa]b`c``[aadbfbd_d_f`c_b^b^dac\b\ca^[bcjidbb^dbcbabaadbdagea`dfbe`bfbgbf`_]_^b]d]gagfigjfgddcfbdafcd`b_gffb`^a^\[a`cdcbde_Z`^^b_``\bbcaadab\Z__aa^dbg^dZ`VZTYS\P[NXNXHVFXQ^[gfgolxq~u܂utrxvwooqrummqjmjonphkdj݁l~l~jl}jـpln~izexf߉jŊΕӠԞ֟֝̓ЅlNXISM\NVTZV^TZX_Z\\Z_`\`_[``\]]`^`bb]^__^^b^bd^]b`fbg^gdiaZ[>Lu$CZ<V@YBZC^D\?\>`;jonlljmkll~nnnnoqtoprnopklod|fqbhb^^V\BR=O9N=J>JBPFPFOOWIRFNKQHPIQCODLKPELEKFROXOVRUQPUUVVWVZY\YZW\V\\\X_^a[`^a`a[cb`__]ef_[c`b`dab`dcbZabc`d\a`a]c`d`c^`ZaZc``_babad_cbaaeec``]`]_\ecfgbba`acbbb`jfbbe`c`cabb^\`Zb`a]caedghkmooefdeb^fdb_b`bafc`Za`]_b[_``]```\\]Z[```^^\`^``_^_\_^^Z^`\`]h\delV\PXT\LZJXNYFTOYV^ecokztzn܁s߄pvyvvpotxrnrpolnporfsjރp}k~n~lj܀jځol}o|k}l{kyetɒϚӠ֠ؤӘƌwjbLTR[NUT[PWX^X\X\Z\\``aZ^[]\_`eZ^^`aehjababb_feedhgiglf\]?Nx#D[AR@ZFXFX@\CZB]?aAql~ilminmrlnmjimtnttnlppljrh{hwhhe`dOZ@R8N;N?OAKALDNGPQXDMFODNELHNGNHNELIPGNHPLQPTNQUUSVZYWXWVZXZV\W\\`\_]`[c^b[`Yc_`\ccc_c``\`bb[`^b``Zc_dbb]b]c]dba^cf`]c]`[b_^Zc^_Zb^ec^^b^d`\X_[b`^]]]`\b^a^``\[b^c]b^``c`^\`\_Ybbfdbbedfdffbbc`bca`b`dbb`b]e`aaa_`[dd[Y\_]\\]^Z`^^Z`Z\]^\Z\\Za_`\]]\`[`[bY]X`RVQZPZS\JWJZO[P[`djixpzv܀x݄tyvwxnrmpstnkoqgmjjhmhl~jۀl|kۀj}j~l|i{k~k~lvevf܄j|É̒қԞ՞עҗfiTWJSPUPZRVV[Y\VXV\UX\\_][^\]WZ\`Z\adbcfidhddedgdhild\[>OnA_IV@XEZA\ LZ?]>\>b<c@hlntqjmlmlroqpstvsorqsrkllj}dtch\ZZLT@N6I5H>M<I=JBNJRJRHPHRCOJRJPFLFKELEMHNLPMPPULRQSWXZYZWWUZXYT`\_\_[`^ZV^\c]c_`[c_^__Zb^b_]^```^`^_\`Yb``Z^Yd_fde`_\a\`Y`Z```\b`fhgfdaa_a\^\^W_Z]XZV^[^[ZW]W]^\^^]]Y^Z`Z^[^Z`]\W][aa`_b`didbcbb`cabac_cbd__\`\^\\Z^Zb^`X\[_\\Y\[^^_\_\^[\Z[\\X```_\[\a^dZb_fV]Q\NWN[NWJVL\T`Yhafjltr{t~x߅y|vxxtuprrnlnkoi߁jljji߁ol~hl~mڀk}k}jl}l|j|izmxkydqǒКԞ֢ء֝ʎ~w`JUKSOXTWX^]]ZY\]Z]\Z^Z[]\YZ]ZZY\]cbf]_cbdfdhifjg\_<Nr#Gf4XWDV>W=X<Z=X:`;_?f?f@f߂pojnmiimrnmnprtrsroipnqjpn~gt^g[TQFL7F8L0G6I<LBMDNHNENGPHQLVJTITDNFPFQDLGNKOLPJNQWSTX\YXUUZ\ZV^\XYab^[b_^\]a^Y^_`Zbc^a^Z`^```ebcb_cbaac_`\^X\ZaZ_``_`]b^^Z]Z`\dbcddlhfgfeb`a^ZXXYV[WZZZZZW]W\X`\`b^[`[\_\Z_\`]^]^[baZX`b]^bbfecdcbaadbddcbfc_Z_]^Z^\^[__^`][ab^_]W_``^^]`X\\]Zb`^_^]^`]^Y`\_^a^dR\MXNWLSJQJYP^Wb[ffjolut܀xx{zuuwtsmqpmlhhkރll߄njkބmjހl~lmہmlhm|j}m~kwhzlvh܀dz͘ҙ՟إ۠ԙڜw\ZJPNTRWV[STac^c`aY^]^^^Z]\\V\ab^c\\_bbbd`hehh^X=MsAYA\FYDS:U7Z<\8_=c9h=j>c9pomjhnlhoojruotrtrpshkoqhnlcsZgZXRJN<K6H3H;ICN?MDOHSDNHPIRHNLVFNKVFNHPEPHMKTKOKRSVSRTWXUZ\YXYX\[]Z`Z`Z^W]Z]Za\^[_[_[\]b]aba_a`ch]]bbbaacabc]ac`]`]dd^^`a\]^^__^Z^^edfehhgaad[\ZX\Z[XZWVUWRZZVW]\bd^[ZY\`\XZ[YY^\^^\Za^a_b`^^bd`^bebfb^dchfbbb^\\_]^\_ba^`a`a^[\Z_]\X]\\Z]\Z]Z]a`^a_\]\\_^bU]X^V^YbOWQXNVLULXPaXcaifjprwt~wރy߄vx{txtvto߇tomjkjjimmqnlރr߂o݂s܄rހn~l~n~h~q{hxkxixdvglǑћԟ֠ؤآДɁlINMUOUTYUWVXZZ[^^]\Z[]]]ZZ[`]]^ab`^^fdfdjdZ_9Kt>W=V:ZCXA[BW;^?^<b=d=g@a>f'Ljqpmmkpiqnqnvrwrtrrljnrtknmfs^gXXUKP=K:N4K<K@MBRBLFRLVLVNVDNLUGMEPFOIRDPIQIRJOKQNRTUTVWV\_[Z[X\Z\ZZV_[\Y`^_]`_`\`^]Z^^\\`\_a``bfad``_cd__^b]c``\``cb^`a^`]`__^^^bfebdea`bbdc`c_\YVZZUUXVZVYW\[Z\\Z`]^^]`\\\X]^[\\[]\[Xcadgac`^b`bdeffha`dh^[a`]`bb\[\_b^``_^b^]\ZX^a_^[Z^^]`\`ba^\```abdX]T_V^V\V`TYLWNXNZKZOa[jclilkjwx|tހvxtsxwt߅vqvopighmjlenqrh~kރp݃rބp߂nނl~l܀ozljyjwgxjtf|gxʔҜա٧٤מ˒vd]JPOTPXUVVVXXV[^`]`Y\ZZ\^^]`b[]``cdgbgcZV=Ks<X9W@[@\@\BZ=]?^>b=e<e<b:bAcEgpnilhjlpvprstrrrtpeflpioijcv^hV[VHN<J9J9K?Q?PANBNDNGQHSKTKTNVFOCLCLEPENHOGPJSNUPVPQTUUVYZZ]\\VV[[\\_\^Zb]Z]`\^\a`_a^Z]`]Z`a`^`a`^`a```_aab]bbb]bc_`_^aeeh`^^]_\````cdbbdd\Z\Y`_[XXVZXZVXYVW[XVD[Y]Z]^Z[^[\\\XZZ\Y\Y[^_]ab_`be`a]`abhebecb_`__^]__^^aJab^`^^a_^\ZX`\`c\`]\[^^][]`]``]`^_[_W_X_T`RXQHL]N[HXJXLYY]^beljjqnws|rހrރvxwtv߄wކt߆s߆srmrolVopkqoj߄nނp߆nn߃Tރrހm݁no~q~o|nvmrOqe܃ildӂؗڞۡ֠Ƙښ\~NwNiPZVVWUUZXZ[Y_[^[^\aa^^_`d`geg][]CUw#R[NXNTG_DZ2]B\:`Hb?eBe;b<`<d@d >slnkmlnprtrqurqropkjmmllilg~er[fVVPHM>K6L;M;KBPBR@MIRGPHPHQJQFMFNISEKCMBMCMEOLTOWOURRSVSUXXWT[ZZV]Y\\[Z\Y`]__^]][`]_]_X`^ZZ]\YZ^`a_ceb^^`^\ZX``bd`ba``^^e`e``^^`_^]`acgda``^`][[XZYWUXY[\XZX[XVX[Z[\^^^b`XV[ZWWYWYX]\[X_^abaf_aefbcbfejgffjaa^\bd`_`abaa_\`][^^]\]Z]`]\]\\X[]`]]]^]_``d]^[_W^W^RYT^P[P[RZJXLYQ^VaYcbfhkqnwq}t}t߁utކvtuބvqo߄nkmnnnim݅pnppl߁on߃mހpmr߁p~op~p~pxjzjtctcves˗ҠרګۦڥΘ賆vfLUJSNXPWQTVYVX\]^^ZX[\^adhbbdbhg]\?Pu>Z9W;V=Z=Z@a"LaBfFdCf;iAd<b@d@f>e<wmolvrnnypstorppjnfjimnkjll|ep[dT[RHP<H5H4I9H@P@OCNDQFNDOFLFNHPHNEQEQCOJUISFPLTNTQXPUX[RVY[VTVXXX^YZ\VX^X_`^Y][\Zcd_\\W\ZYY^^X\^\\\``\][Z`_\V^\\_^b`__ackgkbd`^`]^^\\_^`^^]]^Z\\Z[[ZX[W[WYVYZ^`XT_a]X]X]VXTXU\XXZVW]ZZZ]]`b`cab`adcaefjccejab``]`^`^^`_`^`^]^^`][ZXZXZZ^__a[X][\Z\\]__cXZWZY]V\QZY`T]T\PVJTJZM[Uc[fblklmptrzq~uހu߂t܀t߃sttކrށmޅolrl߂p߃ooq߃lހornloko߂jހpp߃q~l{p{n{ozl{kvitfrc݁f~ƎИ֤ئک֣۫ōܞy^YDOFQOTRXSXTYZ\^^]_bb_cecfdfeVW:Js?X:W>V<Y>YC^D`FdDdCe>d@d?^>d=cAa<^;vnogrjqpsurrosojfkenkjrolng}gq]i]XQFK6F0C3G8J?NBNCPDJGMKTCKGNFNDLGPHNHQGPBNEPKRNSQTSUSUSXZ\VXVXVYW]^^]Y\]\\_Z[W]\_]^^\Y\ZVV]]`c`^^_`_ab^^ab^ZZY`^`b_a^]`c`b_a`c`^\\^\bc\[]]\[Z[[YZZZZ\]YZTT\^XYVVXX[XZZTSVTTXVVTWZ[Y[\^\Z\\`b]`_dbhbeehacab``^^^^^_^`^a```^Z\^a`_\Z]_^\[^Z\]X_`[X[\]\]bY^ZcV\UXV_WaWdU`NVJXHYKYR`]fchhkpnwszszq~o݀u܀u݄tv߅xކs߂o܆tjohpp߂lmo~j~kjroloރsnn~m~lzkzjzlyiwfufqbparbp˔Ԟ٪ڪ۬ܩҙhJRDOOXPVPTRYUZW`Y[_dacdfheW[>Nn@Y<X@U>Y?V=\Cb"Od'Pe#Kj%Ld$GdDb>d@b>_?^<`Cwpnpjpqvtuvopoikfkjlnmqjhlg}fp[bVUPAJ:I0F2G<N:KBPHRJTFPAPBLEPEPDNEQEODNENGPEMFNNTPTQSVWX\VVZ\YX\Y\^WZ][VTYZ]Z]Y]^\`^`[ZZZZWZ^YZ[]^`\Z^`^^_a^Z\Zba`b^]a_\]`d\^a`^\\`^a^^^a\^^b\\\\^^[[]a\[XY[WZUYTTPTTWVWSWYYUVVVQXZVVXXWW^\``]aabefafbdbf_^]`_e^]Z[^c^`_`_^^`][YX^`_`^^^b^Z]X\Z][^^]\\^[`Y_UZTZR[S\S\R\PZOZL\NYT_Zdbdfloprnwswo|tv݀u܁xނv݂tކs߅sނokl߂oiނtilj}i~i߀lpnrl߀jl~m}n~jzjzi{ivjubtbtbp_n_dyȎї֥ڪ۩ުפȍzf[EPLROXMSQYRZT\Z_\`ddd_\\?Lt?Z=V=X@X>\>Z@^@d@fAdAa>b<`@`<a:_>_9Z>\>mpopkppsyrxjlhfcfejnrhoojklzfp\gXYUEM7K1H4I:N<ODTDOEPDJHSHOHSGOLRALJPDODMIOFJIPMRNQRXUXXTYWTTTTZ_\[\[]ZYXXXZYZZ\b`_YZZZ\\YX_^^b`a^b^b][\_\Y\bZY`^[Z`]_`^^_b`^``]^^]__``]\\^^^ZZ\Zca^\ZX[WZX[UWVZVXTXVURXUUVWTSRXRTRXWVUVW\[\]^_\`_b_dadbe^a\^\a_`^_`eZ\`gbdeh[^\_bf^b][_b\X\YZZ]Y^]_aYZY[Z\XZRWX]RVS]Q\R]NYKXMZR]Xd\`jjljqntrxpypzp~s܀w~p܄w߃ttj߂ljnn݀rނl܀q~gkl~ln~jnqm~l|jzfwfxkvftgvjtbsbqdq^o\s_o̔բئڬۧܧԛъlMRGPLUMVOVRYSYZ]]bheYY>Hw"A^>V<V=X>Y>]A_BaHg"If&KdCb@_DaD`B]?^<^:]>\;pklllrquuvmheghbeigdmhnlnln|fubbWVSDM=L/E3F=M=NAMCPDQENEOGREQBNHRHOFLFPFOFPHPLRIRPTU\RVVVVXVXXY\Z^[ZY\Y][[Z\X\Y^`ZY\[Z[\^^\^b]]`bbl[^^^\_[]ZX_bc`^^`_^_bc\_ab[Z^`Z_[YbbbbZZ^ZXYZY[\_\[\Z^X[Z^Xcdqhrȇuzņy~v~jpkr[`X^WVWVXW[XXZWZ^^\_Z_[_X\^a^^^`^`^c]`^aaebc`d\\]]]^\``cb^[U^Z]Z]`]^\^Z^]\Y_S\T^Q\R\VaPXJTJZLYP\T`^chglknfvqtiwpzr}s|v|n݀uނtނrރq߁oހl߀mm܁ql߂pjjkii~hoi}hzlzgzjwjujqdwhqerctbrcsbp_rd{dxŌΘ֤ڨکܪ٣̐}hZFRJTKSPXU\RZ^bb`X\@Nv@[>X?W=X@X>\A_AdCa FeFg"IgFaEa@dAb>^9^<`;_>]<xqsnltnurhhh|c}cz_z[|bcljplqulpb~lt_j^\[GS;K3J2H<R=N>OCLFQFNHSKTLUGNFRGQFMENFPHNGNPWNURYQYUTXUWXZYVXZXZVYU[Z[Y\Z]\[\\`^c[\ZX]a^]a\\\[^`b^b`b]]Z]\]\^lj_a``bbdm]`\`]_YY_`[[^\hf_eY\\`Z\bn_fzpuus{xńʝϔΠԜΡКѨԤͤɠu}[]VYRTTTVVVZXZ\aZZZ_Z]\^Y]_b]abfbf`hac_d_cY_[]]a\\ZZYZ__\^[ZZ]Y_YYV\T_R[Q\S[R^LVKTHTNYUaU_`egdklqnsmuptoulxr{uzrہx݀tހo݃r߁lނp~j~mn}oހlހnigli|h~i|i|hyhvfxfvhwlvdvjrctgudpavdsdqaqbpȒӜצ۪ܪ۩ԜĈזtRWW_OXSZU]Y^_aVV8Jq B\:V?ZBZAY<Z@]@^BbDgGh"Fe#IcDfAcE`=]<]>]=\<^?\<unklnmysple}ew]w^u\xdw]jnhnmprrph}ds_e\]ZHO<M6L2J9K<L=O@LBQFRFUFQJXFPEMHOFMCNDLFLFLPSPVNQLPQVUSYYVWYXYZ\[ZY^[[V\Y^Z]^^^\^^]ZZ\\^\\\^`cd\a]^^_[_^`]_^^]_]\abb``b\^^\^]_[X[ZZ]^\birivrq}~}}|~ȉʖ͒ϔϥΡΣΟӭѥִ٨ְڳӤʧȘv|`hWZUXVYX^V]\_Z`ZZ\^]_`dehdlagdicd`b\^aeZX^^]^[^`_[^\^^`Z\Y^UVX^V\NVOZNZP[LXIVLXP]X`\cedkjqjsnqmtlxptl{xzr~p~vހpށpށqq{m~n~n~k}mjljgg{e|hzj}fzhxdwftfvjtdvhrbpar`scrbsdobubxew͘ԤبڨܩڧϗxaNUKTUZU\_\TV@Nq@X
:V<V>X:W>Z:`@`Ae!Ga@f$Id$Jb"Gd"FbE^>[:Z:\;a<^;`<`=qrnntqsuqhbt]t\p^n\qcv`jomnlqqlnihscgXZVFL:G2H6F9I:G>N?LBRFPERIQDNDMENGPHPHOENFKJOMNNVOTQVTVY]WVXZVRWT\YZT`_ZT\X\Y[Z_\\Z[\\[eg`b_`__^`^b^^ac\\]aY^]`^]_`a\f_]\\\^\\YZXZ\[fivw{ɂ}ƃǃʐҠ̘͐͘ϞզԭѨͣҦҩЧѦң֯۶ڴسϥĔpz]fU[NWWYUXZ[Y[X^^b`ddjah_e^b`c\_^^Z^ZY\_\Z\[[^\^XYVWT_VZS[W`SXMWOZMWLYJ\KVP\V\_ffamlrltjsjsjumuqvlzmzr{nހsnހq߀n~nl߀p߀mk|h~o|g~gizf|hzhvfubwgudrdqgsbpfpfpapbp^pfn^n_pbve߄nƑК֧ڪܭئɎvc[PXX\]]XX=Lq>[;S:U<Y=Z<Z>Z?^?bDcCcBfCdBdEbA`EZ>X9Z:^8a8]7_=^;tlkrmpplmhx`r\lWiZm]kYw^glhoplosih|dr\fWWREM8G2E3F6K<L8LBODNGTFQFLIRDRKODMCLGQGPJPHNHPMTPRRVTSVVXWZVUVWTZXZX]Y]Z\VYVYUZZ\]^\_^_\]]`]ZZ`a__^^_\`_^a]^^^\[]^[Z^X]Y\`Z\[][afrtv~}ʆzs||z|ʊҖΝ̛ΘΝϣԪէԧХѬ͚ʝ̟ЪըөֳݺسХdoPWRXSZY_X^[^\a`d\a[`]`^`\e]c]`[]^_W[YYZ^^^X`T[VaUWSXT`RXOXP^QZJXIVIVMZX`bcgenjoixusntqroupwowrxq|wzs݂r}q~nq{l{g|l~j{l{i|hzh|hxjzfsdwescretdpen`qeo`odocp^rdscscn\pcqdudq˒Ӣاܬ߮֞֍rYZYZXYGQuA\<R=U
>X>V>X=[>Z>`@dDfDbCb>d@`>`@\@\@[>^<`9b:\8Z9]8hoisrornhesXlY`R^ReZl]u^gjimnplkpejrZjZVPFL6F.C6I5J:K<L?JAPCPFNAMBPFLFNFPEMIQCLEPJNMTRZVZRUTWVTSUWVZXYYYXZ][\\Y^ZZWZXZ[^Zbaa``]\\\\\b]\^`YY\\XY^ZUV\\^^^]^\\\Y][can_pfxy}qzɄzu~tyǂƂȂ̌ГɌ̔ИМԢУѮЦΤΡ̢РУҦӬֱڳٰݼ߷ยҪ|U^PVUZUZRW\_\b^hZb^d\bbj[^\cZ\^b[aY`Z\W[Y`SYX]TYR^PXR]O[QXPXJXIYP\NZZ```hflgshshtkrlsnsnvnvnxtzs~x~u~sq߀n|lyl{n}m{lzfvfvfzfvdxcubtcrbp`vhsdndnbodlbn`ocseodpdo`nbrckbv`zČИب۫ܯެҘuf\ZDOz"D\@T?T>XAXD\D`@`DbCcFdEd Eb@b>d@^>W?X>\FbHb=`:_?^9\9`<mlpqpqlhexZmUcSXO[R`Yo`{bfljknluppliubfXZTBI6J-F.D4E5H;H?K>M@LAMDO@LDLFOERBNFPIRIQFOISMTTZOQTVSRUVWVYVUT\\XZ\]WWZXYU[YZY`^YZ[ZZZ^^Z\_`]\`c\^\[XZYXXZ]]^`bneoppyjw`kdvtxˀv~zx~|~v{zxzzłȂx~ǂɁȆƐʇΒ͓̕ӠҤԨѢҦϢҩ՞ҪԯקӫڵݴشۺỦ̞jrPYPUT\X`]g[b`i`h^f\bZ_Zb\`\^Y`Z^VZX^XZUXS[RWNVQZR\NUR]JSO[HVQ^NVY_^_jipondshvmukritmuowoyqwq}x{v|u|m|q}iylvjzgxhwevcubxcwft`thrarbtcp`peqck`ndm`kXpbo]pbp`o^o^pbl^l`f֮̕ڮܬ߮ݩ̓yMR~#CX<W@S>U=W;Z?Z@_CdBgCe?cEcAb@cAaBZ@Z?`F`B`B]:\>Z9Z;_<`:ompozmmlzbrXdTVKSORNdZvh~lgllilllnnh}`vdh[VPCL4F*B/F2EAX>M@O>M>LANBKFS@ICMDL?L@JJSJPFOJROTNSQRTWTTTTVTXXX\VWZ\ZXZ\XUW\XT]X]^\Y^\^^Z\\_]^]^[ZZZX]U]alZkkx~~~rzfmXeYdixhrnspxrvx|rwqwvzȂ}ɄxzȁʆȍLjʔΘ̙ϔ͖ҤҜϗѨ֧ϜҬ٨ӫڸخֲܺݶܼܶ༦ֵ~T_NVV_[dV_Y`^e\dV\V[Xc[`Y^X]Z\X\W\TZRXR\QWNWMXOULVMYGTFTIWMZOVR\]`fdmlrkvnulultjsmsmtpvpzwwuxs|p}r}n|nzhugwftbxhxfsbr_veteuducqdp^rfpcpbpen`pfl\m`l^l`oao^o`sbmal\q\sĐϟתܭޱ߮ڠHP\>RAV@U?XAZAZ?X>bAeDf>d@bBd@eBdD_C^D[@^>aD`>]=\A]?\:_:b9rmxnvpjfzfiZXPJJEJOL`Xrb|dimpkommkjjgt[k\[PDM6H3G.G5M;N7J=LCSFPGTALAKAJDMALDKEMFQISHRKSJUMSLQTZSTUURUXZZ\UTW[TXWU\_YWZZVU\[[^ZX]`Z[]^^\[^UXX\TZelߛyс}|v{owbibi\c\i_ndllwlvnsfmkpjrzxqwutȁ|{ʅˀ~Ȅˆ͓Ґϒ͞ћʔ̘ҢԤҫգӞ״ܮ֬ظܱܰڷߺ⺡ݴۻ侦ݺǝguR_XcPXS[R\WZX_YZV^X^X^V\V]X^X]V]T[PTPXPVQWNXL\LWKUDREQKXOXRW`hedpiritnvnultirjqjwjwmvnsmvr}q|rzk|n~rzltdqctdqepbrbr`uetcvgqbr`pbqepbpgo`l`pap_n_o_pfrco`rdo_m^k^}dőҠبݰޣ.CM 8P>R=W?V@\@Z=\>dBhCc@bBbBdE`=]?Z=\B_@g#I_@^BW<^B`?_6d=f:rrpvqjhx`p]^OKM@J@JUPdXug~fdtlmjmlmoi~hvaf[XSFO6J,D0F2J8L6H:L=L=N@N@N?KANAMBIFMCLCLFOELJQLVNXPVQVTVPRTYWYZ^XZTSXXVUZZXVYZZVXX[\[YZYZ\XZXXY\XXwb``daemqllgjcj^jbh\g[j\h`rgnnzlpnvfrerhpwhtrxy|~}ʈȄň̎Ж͎͎Иɓ͠МЦ֬ѝҲײլֱۯ֥ײݸڮױܼݸհXfNZNXPXV]T\SZT[[`V]W[UXU_WYV[UZTZOWMSPZKWJYLWFSGU@JKWKUT^^`hflbqhwjvntmthslsjtnwrvowrunvn{uxkyl}o}qwhuirbn`nbrasbsbvftcqasgp`rbufpepcodpbpbo^p_sbqathqfl_oapfsfsОتްԐ|_Z8P>Q=T>W>Z?\@_?bBfBeDdAdCeA`<[<Y>Z>`@d!Db?]<\=X;\9`;b:hAf=mvsrvddw^iXQKBF3C9ERNbVsbfhnhmljnnmn}hv\fZWOCI4G+B-C2F0E4G:I?N?L@O=JCNAKDJCMBLFSFTFNHSHNMVFKOVRYQRTWS[VYSRUVRUZ[WZ[]Z\XWW[^_Z\ZZWY[^WUXYV\g_rNMV[_d\d_c`eX]]g\e\f`n^cblmsnvlpipdohpptsxprpwtw|~~t|˅˄~ΒɅĉ̖͍ӧӛКզٮٱֲڰ֥ԯڲ۲۵ڶްڭڸຨܸڻܾ⾪۷ÖcmLXNXNWNXT\YdT]U\SXTYS[SXTZS]TYQ\NVOVMXP_GTLXFSFTFRLZS\_affnhtivjyoujtgsjsjqitnrjtnsnuptnun|k|qyixopdpbnando`o^pbqavfp`oaqdscrdpeo`k`pbn^l_pauerfsetjrdpcqen`yk|ʕצ߲Օp)AL:Q>Q9U=X>YB^@dCgGfCcBdBhBb@[:Y<X<]@a@c@`BY=Y:\:]:c<g>c9\8pxrmkixbq``WJI:J+B>FQOe\ta~eknkljqjknhzbrYf[VNFN2E-F)C.G4H8M>N;L:G>L@K>K@MCOBQEPDOENHTBNGMFRDNNTNVPSQURXVVQTPSTX`cZ[XX\[Z[Z^ZYVVZXZZZ[XXQWXZ}o\:TNY\cZb`iX[^eX``j[e\eWbbijpflkoegfpjrlvnukos{nwxrtzƆŃăȌˉҥԞЛΣԤԦְخգشڴ٨ر۸ޮתصݶܺڻڼںݺԮt{N[FTIVOZU`PWNSRYRXR[TZRXT\PYLVOYJULYLZKXHQFRAQFVNZW^_ajfmgtlwlxnylxltfuqrmsptlqlrmpmpiupunxp{k{nrbphlbn`nanep`sdtbtepdoarfodqapeo`pbohoaqesgtep`tdugrfufteshmҞۥҖxBHT=N>Q>T@T@V<\Bb?gCf Fd@f EgAhC`BX>Y=]?cBbA^@X:Z?[>`;d>k?d>T2I2rwwrj}ftddVTR<F*B*B;IRMbZo\|`lkjqljmlli|bmYcUUQCK4D)B)B2F6H:K=L@N<LBPCR@NAODOBPDPGTCLDPFNHPKTLSNUPUPSNPOURTRRVZTVWYV[VZUWZYZ^VY]_ZXZZZXXX\\XVuXRTIZPXV_VY^cV`Xb_iei[hYd\ddpdnilkrfqfqgojsourvjnknpuxvx}vyƀ|ˆ̉ВГҤӢӠդ֤ԦԬجتدذް٪ܹടܯܴ߸Ảۼ²ݼڶڽܾ۾WcDTMXJUGPJSLWQXOWQZPXOXOUN[LUOZO]HXJWJVHRETGUNZP[`ejdpivnzq{mzmxqwltjtnrjromhtmnkokmfnhrl{mzpsdtjpendo`r`rasdugtepdr`pfoaqapdnbqhpgpdrjqhtfnbsetdukugxlxnxj~Ȓ̌qHNY?Q;T>V@U>V<[=\=dAa>d@cBfBgA`AZ@\A]@`BdA_AV=Z@[>\=bBi"Cg!DW9F3D3~pokhx^lYZTFN.>*C0F?LRNc\p\yagljrniqnmk{`lXfXVQEK/D(C(B2J8L4G;R@RFWHVGYHXBPGRCOAQEPDRIUDRKVJTITNRRXTYJPMQSVSXUXUZVZUYUVUZX[XX\[[\YXWZZ\XYZVpgNRMURZKVV]W_V]V_ZaZ^_h\e\g\edmlpnqksenkujsovoriracktt{krjt{yżЊ͒ӗԚӤآњҭإϠөۯ֣Ԧظܱ۸ߺ߱۵ᾥວݻݾܼúóˡYgCUBPHSHQJSJRMTPWRXNXPYNXNZMVK^IVJULXIYANFTJXR\Z]ihnfwnzrznzjyn|qyrwnrlmijllkjhklgdlhoiwkylvhthpbpbp_reofsft`tipao`piqbpfpdoesircrgtepesdtgtjtjwiujzn}p{nu}i<FX<W?WBW>V=X<Z>]>`<d<`@d@cCd?a@Y@ZBcFeDg@bB^EX<]A\@d>n(Jp,ObAI -3?0R9ztlefr\cWTS;H.D(A3EBJQSbXp[|hjnpttrnlgj{boZg\TPBI-B,B(@1E6J:K>P?ODVDUARL^DTCN>MBN@MEQ?NEOGRKULXKRPXNXTZTZRUQYTWRTXYUXTTUVWWTXZZXXYXUVV[SWppdWMUQ[SVVXRWPWMVSaU\Vb^d\gbi^b`ijm^agnmpjrljmonmeoenrznr|yrp{~|w͍ΆΖӘБԣՙӜ֭ذڪը״߸ܱڶݹܵ۵ยܻݿںٹ·õĭΥbo>MBN>JBNDNIRLWR[KRPWLXJXHWJVL^PVIUETBRFVIXS\^ejjqnvh}n|k|m~pylzotlsjmfhdfdficfb_baiepixpymvirbobp`peqetguisdq_pepdp`oeobrfqfshrcsgrdvfqbvhxjyixjwjnllo\2C_AU?ZBVAV=Z@[?a?`=b@f>e>f@f;b>[<U;^Bg$JdC`>ZEV@Z>bEbCq)Ls.QfBT;D6K;E]xrnlxdl^VSDH1B-D*B4FBOVXdYn\hhlnqssmoiixar\bWVUCK,B*D*@2G6H:M@P=MBTAODRGSCQGSBRDQBQBODPERHRHRMVKTQYPWPVPZNTPUSWVUVZTVUVVUX[X\ZZXYYVWWW[f`~PQMXSWPSOUMVKWPWS]V]Y[ahfk[a`ghe_d]bgjlpjlopnpjwkouxmspplswzqx{˃z|ȍʇɖϐΎПؠ֨װܨڭ۳ݹݴ۲ܺ߶ݵܼۺܾܾڴݾƺҲ~tSb<K@ODQGRO[KVOXJSJUJXHSETJZDUDUBTCXKWN^^dnpwszn|l|lsr~oxpwjxnohebbd\`]dZ[\`bgnjrkzkvlsepen`rcucudxjwbl_nbpbn^odqfpfsetdshretjzotdvhxhwexjzlphkb7J`@X>V=V<Y=V:V9Y?aAg Ch!Cf?d<`=_:Z=X:^>dAgBdF\GZAYD]BfDh$Gr+Ng"EV:J5O;:Survpl~fq\`TLN5G9M2J,D4HCNUSdXq]{bhiojpnrkif|ct`bUVR@I,D*D*D1F4F3I@R?LGY@M>P@R@MDRCRCODOERDOFNHPJQLTOTMTNSSRT\QTQVRVZ[UVSVXZSXX\VXSVWX\\YXTZwpmUNUQPNSIPJSIPP]QVX`Y]T\]aX_cibe\a_cfllneihrchnnqupqprjllxszekxzz||~zǀ|͑˂~˚Ԥԙզ٭تکٳܲڨڱ۸ᴜ۰ܷ߸ສݻ༧ֶػڸӬѰҽξ`h5H;MDQMZIRKWLWHPDTHTGUIVFXFXBYEVK\S^bdnmsm{p~nmnn~s{n|sxlodd`\_V^PZTXT\`_edpiulxkufpdrdsgrbxgvjtdn^nepcp`pdpcrlrgrdqfreukqerhuiwixj{hoowhKPk@XAU@V?W=W<V:\>bDc?fBc@h@f<d:\>Y=^AeCe DfG]BXC\A\@`Dh!Fr2Sh$HS;J<N<y0Nio{vmiwdj\VR?G.D3G6I1E/FAMTSbZqb|chnsppunhjd~dr]fYTPEN2F(D/F2F:L5J?MFTH[BQ@OEQFQBQDTAPFTCODOGRGUIPNYPXTYU]TWNTPRPVUXQXXYTUV]V\YZVZVXVXXXVX\Vx^UWSSLRJTFOLXKSU_W]X]SXU\PXbfZ\dlXbbghmdldhafgmlnilnslnjrrprxsxz|zzyw|zˋΖҔҗݩئشݶܬק۷ܱۨ۷ܺᷦڮܿ༦ڷڷ֭ҭҸľҴDV4L8JERFTLVHPEPCQCOFUGVFXFX>TGXK\O`_clhukwl{np~lp|nzk{l|rrigbX^PXDNJVIVTZ]^kjoiwnxntir`rhrcrdtesdpfn`rhpcrepdodqfqepdobtgrbvlwkwlzn~qn|gVVz'HXCU@X>X@V8[AX<`@`>d@h@c=c<`8[:Z<]<d?jEb?_HVDX@^D^Bf$Kq.Py7Yf FO9Q@m'NYi~txfnycn`^WMO:K.A2G3H5G3HFRWTd^td|fgilnnpmjml|bq]aVRL@K5F*D&B2H4J8M<L?S>N?P@O?NFRER@NERFRDQCOETJPLVMVLSNUQXRWPVPUV[X\[\X_VW\bVZ\ZX^TTTWZ\Z]gb[VQRKRHPMXKTNWO[T]^^RXRXX_]c^d\c\d]b^bemdlcj[bjldolrhlqojiishlrvll|xπ}ˊΌ~ӟء֠ڰܩئ۶۫اٲݸްݴ۸ٯٱتӰԿ̾ھ|1H4K>MCRGTDQHVCTFTFWBSDTDV@VDXN\Q^`cgbslwi}n~l}kk}n|n}q|orfg`ZYJP?J;M;MIXU^cakmtpxlujsdoapbo`tcrdpbpdncqdodqhuiqgtirerdrfsbshwhthzlnzk_Z.JZ>VET=X?X<\>^>`>c?f Da>e@f>b@]AX=Z=cBjBhC\AVAXBX=^B`Go-R|:[t5XdHW=o)KXhxzۃuwvhtcdVQP@K.F0H4H4G0H5HCNTUd\q`|bfkknqrjtpkz`m[aZOP>K0F+C+F2F6I;L>R>L<OGTDTDPDPCPBPBNAODTHQHSITJRNTOZOTNVRTRVPTRVSUXYVXTXZ`WZWXTYYXXW[\\]]VQTINLQNTLUNUT_U`ZbWaRY[c]`X^[f[^Z`Z`_dT]cf`dhnckrubklqbdnrhklprqpropim~zzw͈ԕԏӘګܮ֢ر߳ڪޭ֧ڵݺۮ֧ҠҨҴɸ̺̿ʼͼĸ^l0I7J>NFSBQESESDPBSFVDSBV=UBVKZP\`djhrluhzjm{i~l|mzn|ozrsklj_`NW8J1H2J6MJX[_hinjtkvpserfobreufr`pboaofrjpbndpfqhvjrgshshsiulvivitpmc<O`@T>T?U8Z8Z8[;b>c>d@d@d@f=b>`@W<Y<b<i>i?`BU?ZBYB\AcFi(Or-Ts0Tn+P`?p&JSdpr~wهvߋu|dybm^ZQEO5J.D4K4I5H6J8HDOTTbVq_|dfnllpnnomdz_n[`TMQML5J+E,F2H6H8J?N@N?QBP@NBOCT@PL[HWDRFSANHUBOJRNVOWQTTXQTQXRZVYSVX[TXWVW]VVZ[VY]XYY[\aXPRHPMTIQKRLTOTX`V`V`T`]b\cVZZbZc]bT^^]Xbal`gfggnjmlnroipvvcfprklqvrsjnz|vẁҋφՙכלܯ߮ܩڬລݰٲڴܦԤΜϤѲĿʹ˽ɾɿɼ̺ŻʵдBT2F7L<M>P>MDR@O@QDV@QAU?R>TKZPY]defnjxlpm|k{mzn~p|pxpqjle_\NW:J%C"A(D@RTZcehirlvjujtkn`rfvetirgpdqdrhn`ndrfthobpdqfsjtjxivmylnviLPmCU=U9T
:V7[:]@b?d@f@fBc>f@c@`<X>W=_@d>iBbAZ=W@\?^B`Bg"Mq1Wv6[l)Pg%Jz1RNcmrx}t~uՆyvar^aRLL7G.B6L5H:L9J1D;NBLTVdXo[{hnhplrrnnmdzbn[bUTRFM6J-E2L3G:L8L:L<N@Q@MCPBNBPFQJXDQBQARDQDNHTJRKRLSNUQTPQPOPURTRVVZVWUUVVVWZ^YX\[Z\]YW\LTFPHRHNPZRVT^X`MXXa`hY_X_[bZaU\ZaU]V^^fbfghkobbnttthnollnooilrvzyoswukqπ|ֆҀԌԑۣ֘ݪؚٮݪܨگڭώϖΠո˻ȻîƵɺ˾̽ǺȻƹ̺ƹʶؿ:N-F2F;L>OCU@TASF[@R?T:O@TIXPX[_fcokzn~p~mzm|k|l}o|qzsqklfbdQW7M~=q@x=4ILWX\fhlmumvmvgriocofresindmdtloephpgrhpfnbodpfnepfxo~l|mc`%@[:R9U8X
6Y
:Z:^=eBgCgChCdBgCaBY@T
;\Bd?hBa>\@Y@\B_Cf1Vh2Zm'Rr6Zp1Xn*Rx2TLcls|xЁwzuzs}rq^fVTP>J2I2E7K8I8G4C2D7KEOTVe[sc{bpnloqlqqkey_o\bXROCM5I,F(C2G3G:O;N@P;Q>M?RFTFRFSHUFUEOCTDOESKSKTLTKSOVPVSURUT[QWVXW\VVVXXXXXYYXX\^`\RROXJQJOLXHPPUS]NVPXU^Z\Y_UZQX`gTXV`U_U`W\cg^bgj^glpkmorjidjqsfjnptxmrrrtvzwt}w҆~|דؔՓأީ١֡ڳۦҕϔʕմʸȼƺ¼ŴʼžȻȿķɼǺɹμƺ˹ӻ2G0H0F9N<PBS?TAT@SBV>RASGTPZZ\gdqnzn~q|l~m~k{l|pxnytvkljafV[@R"Dh=p>$@;LQX\ahgpiuozotjpfpfpdthqgogpbqfpgqirdshn_reqfqfui{q}jl_5FbAT8V?Y>Z;Z<`@dBjBgDdBfAf@`@\AU@Y>h Dj"Bd?\=X?YB^Aa#Je&Oh)Sl-Vt8az/Z~3YPiiuzx́~ЂzwsrqulfR^NFJ7G2H6H8J6G:G7E6H4EEMQR`Zq_ybfronnplnlbycnZ`UPLDN2G(B,E4J;N<P?PAT>P@SDVGUCNHVFPDNERCPCRHQIRJPJRLTPUPSSUTXPTTXWVZ`ZZXZQTZ\WZXY^YXUJQNXGNKQOXKWQ[RYMZ[`\aRWX_T_Z[W\QZQ^Z`^d[\djc`X_fjkovsgfnptrlmrnqquxvtrs|xzz|}yvρ|Ԍӆѐ٤ܪڝ٥۬ס̄~ƍϦݹȺȼ˶ĵļ¼ȾʸȴȿǽǺµȸżǹƹ[k/E1I6F8M7M>NCU?R@R<P?RFUQ]]_ddnlxo~ttso|j{mzn|sxqolefV_AP%Bd8^9y:1GFSR[__khumulwkrcpdrfpeqfmcpgnhrjnfqnrgpfuhvpwnxn~rscBNk@VAb8\`0S^IZ<\=eCfAgAe@gBfBcB^@X@X>b@jBfB]AY>[@\?`=d$Lh%Nm+Vt4_u0\:`Khfwvx|zЁxӃwqnnlzZNQN=H1I6I8L?N8J:M5G9J6G>LTS^Xr`{ghrpotnlngdz`lZ^SRR@H6I,G+F8L8L<N?QAQAP;N?LDO@PAMDQ@P@NBNFSHSHNFQIQQYPTPVSVRURUTTUWUVTW[\VXWXYYZ^[SMRJQJOKRMWRZQZPZNXW_W\V^W`V\U\V^N\M\Tb]ebcehafekhmhmwtmnsrvrptwsnpxxvuwvtkrusrqsvv{vӁ֒۞ٙڡܩՖϊȃǞܾĸĹŴ俵´ȺĺIJïŶĻͳAS-C1G0F6J9L8M;P;P<P@SGXQ]]_ihqlzm~mq|l}o|l}m|q|vskppglZcBT$Ab9W;fB,HDUKVX`gbojtlwpthpgsjpgndqfocncrjohrcrjqepduluk}prZV @Y@V@V;Z>Y;\>a<c>h>hAd>gBfA_>Z>X?a?n Bm$E]=Z@]D^D_@^Ab"Gh*Xl.Yv7b:_Jgatt|yw~{Ёx|xonwԋRPDH2F2F7H>N>L:I8H:H2D4HAMQQc^q\xbffnsqsunlj|dn``TOM@H3G+F1J4O<PBRARBPFSAUBNBNASDMDSCRFRCOBQJTHNGNJPMPQYPTRYUWRQTSUXTYVXV^Z`Z[ZZ]_TXTTKRHQNSSZPZLWT`R_W^T^V]TVJTS\HYP\TaZcV_ehblfnabghlhijrqgjtwvsrswr{zzvnlhowtlmyyyv{zא֒ک֔юŀ}ФǼƶȹ÷ửĸƿ˼ŵǽݻڶƾùʽɹɼ̾@M0F,D3G3H7K8L7K6O?OHXRX^[ifphxn}p~p}l~tzi~sv|rvnphb`VZ<J%B_
6P8`@v$F<UGWV^c`jgpkvlvmujpephldqflbpiphndqhpjqhsethxi|mmb7F^;R:R:W?X<]@bAh@fAg@g?j!De@`:X<R9^;fBpBfBV<[@^>aC_AaBfLi&Tr5b~8bPnbwv}~|zw|sqr{qԋ|ؐ{CK9I3F5N6G:L:K;K9L6F1D8J=IPTbYnZw`ijvpsurnul~in^e`RRLT2F)E4I5K;O<MBQ?MDPET?OAPAM@LCQDPBNHQFNFSFMERJRPTOTQRX]UWRTSVQVVXVXVZW\ZabaYZX_Q\PZU]IURZNZNXR\S\X\U^SUOZRVXdV\ZgX\\i`b\dkl_fhleaotlhbdrsoltrtnyvzvlorxssosrrtwyyւ{ҀԔڞՑxzt|٬ø¶´µ÷¸ûôɻིıหݼ¸úʹĸ°Ʊ²ƺɿŶ`t>O,B.B0B2F:G4K:NDQRZ]^hboixk}s~m}q~ryl{p~rynwnphdaY_<K">c9UBWFg G3MBTIU\\bbmhtntnufrbnbndmbmfmeoirlqjrhsjxjylzltiNPq>Z?Q -9V8W;W=`BfDjEj"DfAe@dBb;^<Z<[?iBnBiA[=X=aE`BbDd Fj*Qf&Qg"Nu3]Ijdtry{|~{{xvut~uЈy֎}ג;L2F6J6J7H;K>P:G;N9L4H4GDPOS^UmZyhfhmprtrllkydj[^VTSDL7K*C+B+E9L;Q@P?RBRCRBQDU@OCN@OBODOAOFPFRJOJQJSMUOZRVTYSUSVNQT[VWXXV]WY_ae^QVNTLVQWTZPVOWLTRXQWT[V^T\OVYcXc\dX`WdZbYaeifhbhjn`flrtrkotrfmnsurjjvmnnsrnlinrrpm|zxtvwӍٖԊ|ppo~̥߲幦ķ߹ƺɼȾ⺬Ļܾ۴ڿฦøʺŶིྶúú¸ʻ4F-F)A0F3H3H:LBOOZ\^icolwkp~p|lt~l|nzr}vztqldaVX>M&Af:X=X@`<p82H?LTZ[]geoivltgseqdqdmcmfkanfphrirjtkxlzlxh^Z*FZ;S:T
;V
;W:\@gAl"HjDhAhBg>f?]<Z:W>d>qCjC`@W@[BbB`CcD`Ie"Jh$Rl(S;_[nrzzz{z|vvx|zӌ}ՔՐ}ד:N4H7J<J8J9J7H8J<N8N5G6H?MPO^Xpbu`jnpjvzstrmzbpabYRSBM5F+C,D0C7H9J=N@Q@RGSCPBNDPEO@MFPAOHVIQDPHNHOMSJSMSPWTVRUSVV\TVTZX[TUW\i`_\HTIRHRKTTZPTN\NUNXNVQZTZV\NXXbW\XZXbX\_hdmbcfnba`jnufkorppfknppot{rpptllnmirlklsrtoqxy~{ӌЀ{imÂױὮݵⴠۺ߶ƶ弧ĵ´ܺ༯¹ݼǶܶݼݻļļŹȻƼǼȾʾʽıFP$@)D/F2G6KBOMTX\hdrkzn~p~p|n~s{myk~su߃lgdfRX@L'Dj<Z>U:W
9f9~;4JFVV]a`gethtgterfn_lblbqgpgndqitlulxm{kj`8Ib5T8T
8T9Y<\<^<h@i@jDl HgBfBfA\?V;`?kDlA`>^?\D\=fFbCc I`Lb!Nm$R{9^Rinxwxy|xvyzxxzщ~א~֑֓ؑ~<N7K9L<I<K:K<M=K:L9J6K9LANNMb\pbvdjprxtzwrsizdo`_XTVFN<O*D(B0F2F:K=M<KBP@N@NBSCQFRBODPFQEO@IFREJJNLRLQNSTVTWVXWXTVVXUXUXWZd^cYRULTPWEQLWOTRWOXRXNVQUR\NWPYTZU`RZWZYb^ffghlgj^dlspompwwsrhqzwjlnnonkrpofhlphjbmrsprtnnnkqrpnxɒܱ⺩⽮ڶ㼣۽ಠḧܺ߷ߵܾĴĮǸȾƻȾʼȼʺ̻̽ŰϾμ³}}%A"='@.C6L?OMV`afdocxsr}s|o~pzp|rzrpxrldb_RW@L'Dl:^=W:W4`;m:)C<LGS`adcohuitgtfqem`lakbndritjtkyn|rsdPTr;Z>T:V<V<Z>`Af@j Bh@i@h=fBeDa<[@_AgAjBf H\>\>c"Gb@cBaD`I]Hb Nv3\Vnlxywxw|zwxxxz΅~Ӑ}֔֔גՎ}4J8H:L<M<N<K<K?J<J;P6J>PBNUYaZo`uanopruvrpojzepbbXRTBM<R*D,H/F8K<M?N?LAM>Q>MFUIVBL@MBPBOEMDQDQELIPLSJQNVPVRXTWVZXYVYRXPU\_݊uSTHMBPEPEPEPNRRXV[RXKTSUOXTXU^PVR\X_VbX``_hkadfrrrijuvwunorvljnpvwqynturflmrlrlmhhmrrlknemjs|њܦᶡඦྰ߯߸ܸ۱ܸڴຮອݶžƷᾶƱɾ߽ƲʿȾƺȼʾøŸʻ̾ʾȼξؼξVjv:~"@)A4H>KNVZYd`ngyozl~p|ozm}pzr|o~uwnnkdcTZBN-Hj<\8[9X6X5b
5v6+E>JWZ][fcnfritendk_k`jbjatjrhtlznygc\(F^;V<V;\=Z>^<d=i>i>h@f@eBh"DcA^@[?dAh Fc<\;V:^?`Bc?h$IZB]H\Mp(TNjlx{||xvxyqusv~xҊ֔֔ՓՒԐ~6K4J:K>P<L;K>N@N=K:L:N;LGSQWc\lZvbmnpprtshrj{fp_f`RSDO6L,G,F/F5K:N<N>K<O?L?LCRFUCPDT@L@MBNDOFNFNHPKRMTPWMVPVV[QVQUQUNVNWބpmNRAMDPIUDOJQNZMRQYPTMTOUQXQVMWP\PZW`[^^hZ\\fmujm`jsrsssurn\`nsqnptyznqqsrrenio^hbnll`jbldr͕۲ڨڢޭỰ漤༯ݱ߸شٰܳڦڲڷļķĺƼἴƷƲõǿķʼ;ȺȸʼʻɼƸظɮ~*D~ ?#B/D;HHR[Zd]ofvl{n}n}l~o~t{r}r|wvpombdXYFR,En=]<^<]>Z7[
7f5~>2FDNUS`Zh`obvirak^j\k`lbrerhwpzmma>Ib:X>X<X=Z<X>`;iAj>hAgBi!EhAdC`@Z?^>gBfD`CY>^@dAfB`>_AVA_Kj%R?acwy}}{|rtnvpsҌ}ҏԒՑ~Ք֓~֑<J8I:L?L;L>L9J7I:J9J7L4FCPSX`Wnbzempoosqttro|ipccbRSEP<S,I,G3J5J8K<L<LANDRBOBPCRCNFPCPAOBNEMDPFMGOKRNSSYQTSXRXPNTVORPVTZꩄbEL=JDNKTHVNZRZLTR[LVOTNWPXMXT^U]X^V``f^dYcbb]cjqjpotztghajlrleiourjsorlochmn`j`f`b`j\ft~ӝݠ⸧ݬޮ߰崛ತ߶ܱ߶٭۲ڨװٴཱྲྀ³ĻĹƺ⽫ɹƽȺʼǺȽķĸĺĶѿft;J B*B8HFOUVbZnfvj|l~o|mq~qzt~tznxolgcdTVCR+Er>^;\>^9\7[ -6^4m5"=8FIOVU`Xj`qbpbj[j\h[n`qdtjwlvkRTt=V<V9U<Y=[=`Ed<j?f>h<gBfAf@cCZ>^BcBiDcBZA^DaCjBiF`@X@R=`I<d`wyЀ}|xzrqns~|͆}Ԍ{ՐԐ|֎|ԏ~ԓ֑}>P<J:H<J<M8L;L>M<J6H7K7KAPOTaZpewelnnqoopsxu|irde`VTEQ5M,H-K1J7M4F;L<L?MAOALBOFSDSFTFSDQDODVFRLXNVNUKRPTMUOVSXT\PXJUK\mduYBKBLEOHUKWKVJVLTNXKUPURWPWZ\Z^VZY_Z^Zbde^dalhlopppwnbchpjiilhstmjoqrmjflehahdeQ`PdVi֞ݙܯⰛఢ᳢ܦޮܯ߹ܹݯՠڶܸỪ߾ܶżżƴ°IJŽŸżĵµµǺ̻ĺXft='C2HHRZ^d`mfugzl|nzm~r}n~w|r|txpnib`SZDT.Jr?b>`<_:`:\5\5]5l5$>:GHNVXvyҐ֣֟Њi`nd܄}zjwfcZ'D[=YAW;[@Z;`Bb@h?j$Ig?f=iEhDdB_C^Bd>fDeE\?\BbBhBi!Cb>X=P9T@r*SUtt|}~}~x{pwprzuшӌ}Ռ֑|ԏԎ|ԎՎ|Ռ|<L@P;L:H<N>O=J=O:M:L0F4G>PMPd_pdxchnmrossovt}ir`c\SVFT4N.J+G2L6L7K>N>N:L>K<JBPAOFRIVBQDQETGXMZLYGQLSPWKRQZRVRVLRLTIXQ]誊b`?RIUHYFSFVGONWHUPWNTPTORPUSVV]YaR[[baa^gblioinsqhgfnklihhrnklhlvrupumrbg^lceP`Od`p̘ݦܨ۪ᯕ⯣㷜ޱަۯۨ߶ݰެԠӣܴྴ俲ᾮ۷ඦ߿ĶǾǻöƹƻĻƶƺصĽƼ̻Ǹɾ˰}"B~ C0IFTXXccldxoyhxlyj}p|q{q~t}s~wpl``X[FU+FpD`;]>a:_:[7\6X5Z -0g7+DUkɠҺĴԠܯ÷┌md8Hb?V>U<Z>ZC]@^>fBh@g@gBdBg!Fi"Jf I^DcCf@b@^>ZAaDhEgAd?`=Y@T@h"LIjn|~|zvvptpxvv̄~ԌԌyՎ~Ԏӌ}֊zԊzԊ~{<NAQ9K:J:K8M5G9J4G4F3D3G>MOT_Znaygjonspsoqtrzcpde`\\KV8L,I-H0H2E:J<M<K;K>L@LBNCP@PBPBQ>NEVGXN\ITKSIPLSJROWNTNTLPKTFV_^őwYW>RGTHVERGRHRMXNXPXPXLSJUGVNZX^T_[_\a_cfaafhlfhejnnvspolkjedklpljqn`cP[`j\bVePcuԑێݫൢߤ⬔ڣ߫ݳݳܹ١ו֗د߲ߵⷦ⺰ྲ⻬۸⼮㼯Ƹ»¼Ŀ·ܽƹ¶õǼȿȻ²̿̾ӻCZy>2HAQWXf`ndvpyjyj{j|n|q|m}nxm|tokcaZ_BP0Jp?a<Z<_=\8Z:T -2O4N8\Bj~ؾѹºďlBVARAVAX?\F[>cBi!DfAgBe?hBeDf$HbB^@fDdE^?_?^Ad@h Eb@\<V:\Fk$PAfgzz~~zzxvxpvxz҉ՏԐ~Ԏ}ӊ~Ԍ|ӊ~ҍy҉z{8J<L:J<L:K;L9J<J=M9I2F4F>LMP\Tnhwhjptrquvwrmzeo]dXSSCQ9N$B(F.G2H7J6K8I;M<L>O<M?OAM@R>LDWBSDRHRDPHRGTLTLTNULTOTJPBPBXۓȒcPV>PHXERBRJTJVLVRVTXKVNVPXMXR\X\S\P_aeajclhhnrkngidkssjiZ^fnjhopkf[^Ub\fW]Sc\nzٛڡؙ୕㺪ᰜۨښ؝آޱܪҞרܴ߲ܲݺสἩ߽ຮ༫ݼ÷ļܽٹؼǽǾóȽøȼʾʿx@*C?NRVcaliwnzm{l~l~n~l~n~q|r{spncbVZIT/Jn>\?\<\<W8U8P
6L?XE|ɼҺ۲ӹijj,LLARDTBVB\C]AfAi"EfDbBh&Lg F`BbBbBcDfDdE_B]?`Dj"Fl(JaAW<P<^B~5Z_xx~yv|tztv҉~ԑԕՋ}Ռ~ԍ}Ԍ~Ӊ~҉{ԉ{Ԋ{CV:K:L;L8I6I6G9H8F6H2D4H:IJO`Xh`xflntnnpxmtnzdp`e\TVCR/H&B)E/H3J2J8J;L<O<NAN@N>L@L?N<L@PCODNHVGVHWIRHSHQNXKRNRFNCVNY~}eRVBT@PBOHRHUKTM[LQRXPTPYRVS\U[X^YdZ\]edceg`dnmghclmk\`]djkljolhe[c]eX\GXI^j|όؑؖެެߡౣڜ١ؤ֠ڤ٢טפݳ߲߮ۮܨ߹ະสݻ⾬ڸܸܾߺִغݾƺȺĻ´ʾǽĴȾȽȿʻ;μ4N(C9LOT`\jatmxl|n|l~n{j{oq|r{rqjdbRVBN(Dm=\;W9X8R4M8J<f4Y̽ȰۮַiHBNBSAYBXAbBg"Hi@c?dAi Ff EbCbDaBb?f@a@[BaBbBh@dCaAV@V>p#NQmtπ}}wytwtx~ӈ~Ր֑ԒՌ}эҊ~ԋ~ӊzӈ{Ԍ|ԉx6I:O8I:L=M=L<L>N=J;M9K1F<LPT`Zj_ubjmtprqsrrl|fqb_XVUBJ.J&D&E+E0G4I:L:M=LBP?J@L?MBN@RANCR@PAPFTGSFRHRJRKRNUPUJPKU?Uf^ΚvnXYDTBRHUFVLUNVFSPWSZLPR\QXWYSa[_R\ai`b^dhia]\bhlc^O]`lmiiikhbcZ_hgS\L\M^nwؓٛ۞ޤ㯜ܗؐܞآ֞ؤ٫֒ѓלޮܬఞ٪ݰܴڮ߸สܴݼฬܺݲߺڴܷڲٰ״ݿſ¹¸ƻźᾯǵƻݼĴǼȺȼƼúŸǿª&C4GNQ^Xnh|qzn~l|hnp~l|m}q|rskc_RTCM,Eg:V:R9O8I9K?{Mm¬Ͽ־⼥ћҺŬLFNDP@U@Y?^?bBfDgCiBh>`@^>^>b@c@bAX>[AcBh DfAfD[@ZAj$ODej|Ӏy||uzvx||ІՋ~ԍ֎ՎӊՎ|ԋҌҋ~Ҍ|҈{҉{:L:K;K;J;G<L<K>Q?L8G;K5F?JOP\XiXvefrputrpqpm~gpcbYQQ=I2E&D'C(B,C3G;LAL:J@M@MBPBMDRBP@M@LCQ@MEOHPISDNFNLPOSNUNWGSBXӈ|͗xuaKRER?QBTDPLVDOJVRVX`KTPUNZV\TZP``i]bffhgXZVbdaPZN]dhigkighccad]YQUMZP`{}؎ِަݦޢݛؑՋאך۴ۡԕצܥ۩ܚ٨ܪܳ۶ޭ۷߳ڭᵦ۲ܲ֬ݼᾸĻĻᾱ۾ǼȾļĽǼQf.FHJ\Xjfnlz~u~qjo~n{nzoxnohccUY=K|=]5N8I4I<RFj¼̲֩̕þ`(LLEOAV@^C`CcBeChCgDa?dA[@cAf@bC\>Z@\@dBf>fC_DZBdL8\cxwЀ~~~wzqv{|ІԊ֎~~Ս~Ս~ӌ~Ӊzӊ~ӊ~҉{Ԋ|ӈz>R:M=L<L:G<N;IAN=N:H7H4E<JMSZUj_vcflqrnvrrpi|fqabXPO@L.E0H-D.E*B5L:L>M@PBODOBP@JDN?JBN@MDN@NDNEPGPJSHOKQPUU[V_FQGXƌzo]HT=PBSFVGSFRHOLUOSVYFNLW[`JRVb^_ccfkaaXc`jY_Pc\gcghkhb`^\fc`RTPWLXI`ȂەܜښߧޟؔڐؓԒڦ֏Ւڦᯜܫۤלٚߵ߹ذݬ۰ܬݶ۬ⶡڻئ亨έἰ¶¹·ܾ÷źȿƾ˾6LCN[Viatjtrnmoo~orzplfc^NR<Jv:W
6H
6C<[(NƼҿĭМƛ¼п;ͿƷxC`JDRCYA]B_@a@c>e@b@cA`<`<d<^:W:V=`Da@iGiDcC`I\Dv&PRnt҃yzxvzwv̂ՊԊ}Ռy׆{{ԋ|ՌzӋ}Ԋԉxҋ{ӊyևx=P:N>L;K=L<L?K>I>L?K=L6H@LKR]YiXv`flsqrurnsj{dqdbYTTEM0F'@)B,D0F5H;N>N@LCP@M@MCLENBLDMBLDJDKEPELHPKTOWLPNRNTQ]HYOXkocAM:L@MFSDSJTJUPXPU@L@PW[MZX^\_af^`b`[bZ_OYVe^fjmrp^`TZ`afbU[PXLXVi~ڌܚޟܧژ؍֎אՖܣږԒڥܧޞܤܦئأڮܮخܪݧڮ߷٩ڢ֣۲⿶㿵ὰ۴ݮ⻪ø´¶úļĻŻǼŻƶŸüſɿμevBKYUhaul|lm~joj~lh}otcojZZHJ:Gg6J8F>o>aҼʐʢϽ˻̾̾ɸŶƽńMcKDP@ZAZB^Ab@b?fBbB`<`=`;b<\>V9]Ab?c>iAbB]EYCgH@dj}ЂԂ~zzxxx{~|ш֊|؇zֈyԇ|Ԋ{Պ}ՈzӉ~҆|ԉxъ~Ҋzy<J=L?NAN=LAVBO?L@P?KBO=M@MQP^VfYu`hkpqqxrqnimt`e\SSEN4K*B.G-F1F8J:L>N>M>N@OCOCREMAL@L@JDPISHSGPIOJQJRMSOUPTFR@R[YМq|aHT:MGTDRHWMWGSHR>QGUNUU\Y`X`\_]`T]^fY`N`Zk_c`ghgdf]gbfjd`dRWGTYeԋފڋܜٔ֓֊ۣ҄ٛؗݦߧުٟۡۛݪ߲߰ڪާױ۩ݴۮ۴ڦڠٝխݳḨ⾵ུയඦῴᾮܺݲᾮ¶¸߽³ľڹؾľƼǾŸȾ̶htXXcXtfyh}h~ilhj~lxeschbRQBI-D]:]#Jfʸ̴۴ȖΰооλλǹݻŸķȺĂK`JDR@\C\D`GdDdC`8\:\9]:d@`;[@]A_>eBfBd>Y<U>[F|*R\t|ф|z~t|~шԌ|~և|ԋ|ӈ~ҋ҈yԊ~ч|ԇxԇ}ӊ~։y>M@N>L@KBO@JDNAK@L?K>K=J@LNRZXnct`jnnxqwpllpgvefYSWFO4G0F+E0F4J8I>O?LBODNALDPBPALCNDNBL@LEMIPFPHMMSMRMPPRMPJRBUrhΞg`VKS@NGR@LJTGSEN8QJXTbVZNYY\abTXZb\]R^_j^dR]\fhgdlrtnngh`aKRDTajxyۅwܛےڎڈzԊԉؘ֞؇zԇؖݦकޣ٣՞۪ܪ߲ۨެثڤدݦ۲ڣ֘Қڤޭ߱ݶ们⾶⼰ܵന༬ݶ÷ܼݳ֧նھۺ´ĻĹƻȼžȻɈbYp\zd{b|ag~dj}fwbugaWPP5D~&FIgҿ⾣Ԫ̽˼ʻƶºķĶ˿D]HBPB[C]EbHf"EfEa<_;`:`8]6Z8\=`>gBf<c<^:O9M -:fLDcu҂Ҁ~x|w|yxцԌ؎|։|։~Ոxӊ|ӈ|ҊҋӈzІӄyс|҈|Ԇ|@NDOBL>K@LEPAL?I?G<K>I9GBJJO`[jXufgpxprxqwptcxhh[RRCN3F+E.E.D5G=K?L?NCNCP?JGNEPBMDPJOEOAJDMHPKSKRLRLRRTOTPVFR>Wyʐz`\TIV=L>L@PDOCR@RKWO]VZMR[^ORTYa]R[HXZaW`Ze_g`bgnceZb]``_HT<Req؉|،׀|ߌzܜ}xvҁ}՚ڠԄ}҈ؘܝޚެܡܜܭݮٟڠܦްۨڦשܣڰ֘ҔӚߦߴܶܮܧެ߶༴ݺߺݺ༯ݷ¹ŷ۹і˓Դ·¶ݿŻú¼ļļøþԍjVw^yd{a{e}f|eydvbm^[SJUD^yҼĮ۶ҨϪ¾ξɹɶȹĸĸ¶Ķȼտu9RLBTDZB\DbCgBe F_=d>`<b:`>]<bEcCjBhAc=T8H8S@5]fx{~Ӂ}v|w{Պ~،~Ոևxԇzԇ}ӈ{Ӈ{ԅxԈ{ҊzԆzφ{ІyԇzBPAKBPDMBLBNEPEOBL@L<G>J@HHK\TjZxihtrqstnsplivdhcVTCJ2F*B0E0G5I5F>O=K@LBNBOBLBNCMHRHNCNALAHDMOVJMLPOPLMPRQTETCVꬖʔ~q[SOOT@M=K>OENGTLQNZIQKVPVAJLY][NWIY^b\fXe_d]d_c[^R]Y``^MZF]fq|wz܌َvtyoӃxyэ֒|ԍޠܞژݘܚܨګܤݲؠ؝ڟأڬؤۧڦדϏע۪ۦܤݴ۲ڰاݴധݲᾰùܼ༮Ԟ˒ҩݶ¹ƺºùúھؼľ¸}nv^fd|`yfybxbo[e]^dsάӻརմ׳մ;ͽʹŶĴƻ¸ŷǻȽͼf$DOET<ZB\@_?bB` Gd!He@b>_>^;^?eBb>h>f>_<P 4L -:lLTru~҄҂|v̀ԇ||ԋԇx֊~ӈ}І{Ӆ|҈}ӆzԅ|ц|Ԅz҄|Ѕ{Ѕ~FRDPCMDMFP@JBLCNBL>G@Q;IALNO\Tk\vdglrrpwmtnkjydi`VTIK2F)A,E/C6J4H<L@NEPFRDRDODOEL?LHPCK?H@HBLHNGLJPNTLOPVIQ@QAQɌrfUSVRUES<PDQFUHRIPHTBPLRBOKUVYTZV_X^T`Xb]_bdafYZU^^cVZNZM]iv|uڍׅن|ׅurpwus֚zwlvՌݘܛܜߠڦܣ֟ܙڦءٚڨڡݰئӏ͌؝ܮ۪ڣܪݳ۴۬ެ߶ܲ߰ܰ߸ºΎΔرڹٵٸܾ߾º·ۿؾڹ۾ùζܡu`~`{b{cu\yfvemdԬɽҽ۲ش֪пͼ˺ɹķ¸Ÿ÷ķĸʿܾӸQDNCVF^E^C^B`B^@b@c@^7^9Z<[<b@f=e>`>Z<O -9]B9`fvЀӃ}|z}|~Ѓ؎~։|ԎԌyՈ}ׇ|Ո|ӈ|Ԇzы|Ӈ~҃|ӆ{҄zхyԄy҄xBTCNFQEOCNBOCMALDO@N@NBKGLOL]SmXwb{hcpotsrvrtgxgf[WTFL0D.D-D0F6H<L<K>L@MALANFPEMEN@LELDMAN@JDKDNHMHLJOMPKOGQ<RLU̦fg^b[V[FSIUARFRIU>JGXAN<MOSOSU`TVHUQ[^`]fagXZKXTaZ^S]T`L\kppk}܅xيspwvyxӅ|gfy|ֈڊݔݘښܢܢ۟טԔؙ֚ؔޱۮڞڥۓԒҙܧڥܞܬܮۥ۩ڣ۞ݲۭ۠ݧܴݶܶ·٫қѦ֬ڴزݹۼܾܼܼ۹߿ܾܽݾ۾ضټּؾʹ߾xb|b}dxZu_pavq؞úѾǮܱضڴԭ̿ξ˼ȹǶõ¶¶ĹøĸķʿͽڼKFPATA^F]B`B\=]@dAc>_<\=\>\:b>g=e>`@]>hA.UYtz~ҁҀ{{wx}և،~֊Ո~Պ~Ԉ|ՈwԈ~҅z҈}ӈ|ЇzЈ}҆z҅yσ{ԅy҄xCRFOBN?HBL@LCPBLFT<JBI?GHJNL_Vl^xl~lfplsrttqpizgj\XTFL3D+@*B0D9K?L9L@QBODNANEKDN@JDOEMDPBKAIEMDMHNININGNIOFR<Tb]Ҡpr`]VYYFRGRHVJZBPDQ?P@RNX>QNVIR@TR^X^T`Y^RZJXW`\aS_R`Uesvyrwv{ov|suuvvԁ҈diy~ՉڐٍՁژۦڠם֒ؓהԒُܪۦ߰٦҃֙ܬܡ١ښܪܠۤؤؚݦج؞ۦ߸ອߴߪ߰ئИ֬۳ڲڲحׯ۸ڵغڼڻݶݸ۶ڴۼؾؼյֲպԴع»ź݄yz]zbxfxk؏ܲʼͶᶜٳڵ٪طʼξʸǺŹ´Ĺĸƺ¶ƺȻ̿οܼv|KCRJX"I^H^E`AbAa@b>\:\<Y9Z<`?d?fBfFeEmJ~$MHhn||рz|y|zx҄։~֍֊|ֆԈ}ՆzՌzԇ{Չyӆ~҄{ц~І҆}фzЅzҀzENBPBN@J@L@NBOBPFO@I>I@KGJNK_WlZ{hnqsmvrt}xvj{giZXPBL2G.F.D3I;O<M<L<KEO@K@LDMBOCNCLAL;JBICNFNEKJQHOKOHNFKAO7Qւrџ~kq\_W][DNHPHTGUKXLWHYETDULSPVJYRYRX[_X_O\Q\^c]d\bU^Pcsv׀wt׀{stslrtvqҍojbkx~ن~وڍٔ֒ٙ֜ڗחْ֑٠עܪ֖ۚ֒̀ۦ۠נٛ٤۟ޡاژۭأטکگڪܴܟ֙э֟آڬݴة֦դլԮֳغصںݾݻزڮڵشٳԵҬԳвӴ²ۧqbxd݆۰°ɴả༨ᴤܱ̾ͽƺƸ´·µµ·ŷƸĸĶĸķȹھRdOJRGXF^E`FbE`AaBb<Z<W
7^;`B`=eCc?dFp"Lz(P8\\ty||xyv{x|π~Ԉ֍~Պ~ԋՍ~Ԉ|Ԉ{Ԇ}ֈ|։~҈zІ|ц|уwӅxσ|Єzу{BPFOBN@JCNDPCNAKELAI@I>JCGPM]Vm]zflnmrpswu~rp{fn^UQFL6D+D.C3F?O@P8E<K@LDOEPBM@KAJ@LBK<I@MFRBMFNFOFOFLGNCJ;N:O~Ηm~ch\\XPUBMESDSIQIXGRFWR\@QP\LWITY[V\KXTbZb_f]bOXK]jrxtxv}~قzqohhtt҄pgait~~uڊׄؓڙӃ؎ؔؗڠؙؗݦԛӄwӈш٤ܠښڠ٣ڣܤښܞڞܚ٨ڝۨר٨ܮݳԛҙتܮ۬۳ϟ֤ڴٵۺزܽٸڶ߸ڶجתٰٴٳִ֯ұЭӮҶӯַ۾ܐۚϹªڪڳ߱߳ǺɸɺƸŸķ¶¸ùƼǼŹĸ¶߿ʿֿv6QKDVH\D`BbD^@`FbG^?]=X:^=c?c<dBdGjJt%P1WPnr}|y}v}~|Є֊Ռ؋~ӊԊՈ҇{Ԉ~҅|Ҋ}Ԇ|ԄxЅ}хz҆x҇xЂyц~Є{@NALCRDNFPAK<ICLDP?H?JBHHLQL`Ul\|dfnqtotvwzxgzdk\WPHM4E,A+A.D5F6H;H?K:HAMANFL@JBN>I?K>LDN>LAKBLDNFLJPFLBK9O<P9ΕvjxjhbZVLQHQERNSLSFRBRJVHQNXP[T`S\S\OYT\Y__jY[MWK^ktz|rs|z~xvqpnqnvrnjafpy}x{}xx؍ؖ҅Ԉԋڌڢۨۨ֔ؑؖ{Ԗڢܜݡ֕ۜڨܡڛءܜ֕ܞ٨לޱܺಣܧ֢إ٧ؤڦܫ۴شس֬ڰضڷصײڸڱڦدժتذְԪӭЫΣүЬԮӱ۸ݹİƭ⸡ڵܹܷۻöɹƶĴķĶ߽ŸƻʵĹݺö̽Ų\AL@V@Y<]?^>`Ad#EdD]@Y;Z8`>d>a?dIk$Pq$P1\Imf{{}~~x{wzy|τ҉}،~؍~֊֊֊҇ӆ~ӈӆ|Ԋ|҆zцyԆx҆|҅{̆}҈z҆}FUAMBPBNDP:L@MBNDPAIDKBLHMQR^Tl^yaglrmxvrmrri{gkZROIO5G,B+@0B4D8F=L:H=J<L@MGQCR@M>JBL@LAMCM@I@LDMIODNBHAL8NFRͩǏx|x_zc\W]XLUVRKTDPFVCRJVKPJRPVRQOTX_bdV_]d``P_F[hruw|wwwsqnnpnxv|rad_jpsxtuv|ԀӁy֔|{}yօ֍ْםؑڞܥ؞ԃҀ֎ܪܠؓܜ۞ژڗۤڜܠ؛֘הڗۨܦݨؤإڨܩܪܫܭ֤֦ڱٲڸԯڲضٳزܪګبכԤ֫֯հԤҮӪԭΤʚȜΪҪ±俨߰ޭສöʻ̼ȷ³⽫³߿߾·÷ƸøŷƸຮ۱ܸúɽʿξظL>O=X>[<_@]:cAb>[>\;Y<`Ab=f=gDdFbEn%R:c[vt}~}|wzvz~~҇Չ؎Ռ֊Պֈ~Ԇӈӆԇ}ӉԆ{шч|҆ц~҆}҅{҇{ӅzFWAO>NCPDQAN>H@M>J=I@L?GENQN\Vn`xchssmssyrzqnydhZURIN3E'@)C.E6F8H=LAL?I@M=JAK@M>KALBN@M>I@JCLBJEMINFNBHFR6NLQУʼnqn|cqcj^`Z\UVTNQRXGRHXGRGVMUKV>NQWTWTZ\cY\VaN[`nqsvrz|ytlphlwwԋ_ahouvzyzy~|ՊsupnՆ}z~،ٜڞܚםԍֆ{ևԅڟܡڏݘܜܖܙޜܦڛڐܢ۞ڜ؟֖ڔڢՠٟޮ۰٪أئ֨מצٮخ۸մԮڰزةتաלԠԜը֭֭ԩСϠѢɖʐǙԱòêݬץӦۺ༰ݼŹʼ̸ǸIJ۸ܼø¸ŻĹƸ٨נܲ߾ƼȽʽպ^fKCR;Z=[<]=^Db>dD\BX=Y=]<c<hAfB]<Z?u)TMjo}|}{y|uxy|Ҁ~Պ}ԊՉ|ԆՇԊӈՊԇ|҇Ԋ}҆}Ӆ~҉~ԊzԆ{AQ=K@NDPDQCP?MAL@MAJ?J=HCLML\Rn\waenpqrurwvorv`jZ[UJM4H,C+C.F3F;G?I@K<KAL>JBN?LBJBN@K?LCK?J@KFNDNCMHNDJBM7NTXԭwts\zch_jbQSjbTSMNCNHPCPP[FRHZJ\SXYdT\PTP`L`ckrxjlwyzulqnpvwрwY^Zfpr|t|yyvԂ~ԆztgkprprԇՍ؏ܥٙؔpt֊ݤޠޠܚՍی{ޟܜܚޢݧٛۖܠڞכؙטڗܛ٧ݦۦۣڞ֨ܬ٪ןڨخٵڶײר٢٦ة֮Ӣԛӣ֘֫թըϖ̠Ɋő͢ݿ®՞գྲĹǸǶƸƶ²ܼܺ߿ྴ÷úƼ÷ƶƹץҖҕۥڵƺĶƸѺɴo,HQ@T<X:Z:\<`Ba>c$L_&LV;`>a;eDhDcDY@ZA3\cy|~ԃz|v|z|Ѓъ|~։~Պԇ}ӈԊ~ԋxӉԉ|Ӊ|Ԉ}҆}ԊzՌ{Ԇz<JDQFT?M=J@M?N@M@LDP?L@LDLQP\Tn[w_gjnruruv{tkzal^XWJS7J,D.G4J<O:H=K:I=JCMBLDN@J>GBNCJ>IDJ>H?LFODJGNIODN@I7P\Tzjzoper`aX]VZSHNHQJVDOETIYRXGV[b\YGRAWHXlsxuhjtpurkjsurpЀrT_\hnlyvtrzvՁՁ|opktxz~xy،zцՇ~ٜ҂}Ԋۙߚݡڜ۔۔Տݐݞڞܜޜߢژ،ւ֔٣֕֍ܖ۠ڜܠҐ֜ץ٢ܪگحڟګڱدץ؟נئؤ٭ק֘ԡԦԟ̐ƎǖۻĮṞ֪ٶܳߺƶƵö±±ݼ߿߽´ĸźĹƹŶܰԔъӌ؛ݸජް伮ʼήƕT<P>U@Z@]>`@_?^;]AZ?\>_;`9_=`C_H_Hn!LJjn}~}y|v|҈Ԍ~֏֏ٍֈԌԋՆyԈ|ԇ|Ӊ|Ԉ~ӈ{҇|Շ{ӌ{҈{ӈ}Ԇ}Ԇz@LAJAJBQ>NAN>L@M=I@K>I?HGPNO`Xo`zbnlouvzxtvxi|jjZXWFP2H.F*E3I9H>N?L?L@L?MHSBNBO@L?KBJ@JAN>HCNBLDMAJEKBIAM5QVTԮ~ulghwar^mXj]Z[QTPOIP2FBSMSDPUZXYRXHTFXdjtsspmnfdnvmnԀtrrP^Xfrpvu{xz|zwӂ|vx|{ry|ׅԊrxns֒tp}ڑߞݞۓُڐښٕ۔ג؊ܖڠٖڋ؎הӍڍؘؘՏҍГՠ֙ؤ؟ۮܮڪ֡קקסآ֞Ֆ٧ר֧إҖԚЉК̒ȓԪ®ڧ٬۷ݴݺ¸Ķ°²༮ܺݹܽݽ༰߿õ¸ŸƻȾ²՛ҋ͈Ћ֤أz؞ḭĮϸLWQ@T@]"J]C`A`@aB`A^@W=\8`<^9Z<^Cn&Vz0\:_cyy|}zxwzy|Ђ҈~،،Պ|؊Ԉԏԉ}ԇ~ӌш}ӌ~ш~Ҋ{Ԉ|ӌҌӆ|Ӈt҉Նx@JBN>JES<K@OBN@J@J>K?LBLBNNSa\oalhlruvpsvylkz`k\[VGO6J0F.D.F6H>P>O>PERDP@N@NBL@L@KAL@K@K@LEOBJBLHP@KBL?M7V`WԬp{fmd|jpYogdZg]\VNS@NBR<L:MNTRVOWMVGXjnjnnjnmnldjjpwwzuR`Vfjlpnyvxt׀{wurrr{ttՄԅrrx}zt~z~xvڈzܔޛܕؐ؍܌ۘܔۙؖ׆ًٜؐ۔ِؕҖ؎Րт̅Ӑٖ؞؞ٜ؝ښ؝گ٫ԥӞ՟֢֞՜ҖԔףجԠϙʅ~ʈɋբݺ㽢ܨت۲۴ܹǷŴᾰὬ۵ڵڴ۸ܻܺ·ĹùȼƸǺؤЋ̓ђؤؤjhzٞæֵ^=TDR8\C_"J` D`?b<_:Z:Z;b9d>\;\Bb Oy.Z8dXrt|{|}vzvỳ҈ҋԋԌ֊ք}֊ӉҊ҈{҉҈҈Ҋԉ|҉Ҍ|ԇ|҆yԈ}Ԉ@L@K;J>H>L:L<I@J>L>I?L@NBOQRbZrb{cfpruwtsrvojzcl\XRHP8H)D/H.F5J<K;L@N?LDQBN@K@LBN>JBMAJ>H@IAHDHAJENAI@I>M4Pl\̜|lqgheobj\pfm_XUFNFS@M8NHQLSHPEO@TmrtqmjioifeglnppqoP\Zjjnllllxt׀}tssrlotrԁvp~x~֊օ{yjp}{ۖւوډ݊ܘٌۖڒؖܒؓ؋ֆ|ߠٌؔݑٗՍ~ϋѕԓ֙֕ؔ۟ܞוؗԓء۬أמ֓ԙ՝ԞӑӚԕգҚŎŃΔٱު֥٭ڪȼĴòݹܯڸݺܶڵݺµøȾȽǺǵ⽭̇ˈюأإkjnqӋ۠ߴѴv}P<P<U:X:]@d(K`$C^<[9X7^=h>c<\>_Fl#R~1\Ijo}z|{z{vzz}ЄԌՎՌҏЎև~ԌՇ}ӈҊ|Ԋ~ҌՋ҆~ІԈz҇y҈}Ӎҋ}ԊyІ{ϊ~҇~<GJT=J@N>JBK@L=J>I>L@J?LDPSX`[n^|dilrvrytvxqm|dr`YTFN6H*D,F0H8L>M=LBOBPBQAN@KBN;G>LAJ@MANAJBJFQ@IAK@J?H8K2NziΞjxko_rf{^m`fYpf[RJOGTCTJUJPLWETEYdlrqpqkjjiY`intuaaZhXe`iqqwuqrrptortnqvqryqjgr|xׂ~ցos{zz܊ّ҇{ׂz؇܌ݣے؆ي؆؊ّڐ֎ۆݘٖvqықӍ֊֔ۖ֗ڔڜڔٌؚؔۘכՖ֜ӒؘԜΐҔˌΐΐȐب㼦ⱑښ՞ܯܰȸŲ¯ܺܶٹܸܺ۸ܷܺݼྴ³µ߿¸ĸøļȼɻ˺ɸˆҒڢנpnw}ʆؙܟ㶤ҼBTN<R<X;[<]AaA^A\=W<[<`@e@`<\AcLv.Z7a_w{~քyyvyx{̀|ӉԊҋ֎ԊՋՎԈ~ӈ҈҉ҊӋЋӋ}҉}҈~ш~҈|х}Ҋ~Ԉx҆ЈЊ{ԉ|>K@M?L=J>L>L>K<I<J>L<H@QDPPRd\n\|fjlqvtyrotpjzcn`]YGS;P-H/I2J7J:L=LAN@N>M@K@L@K<HBN@I@MBLFNDKBK@JDKBK<G8K1Mܒsċzntmtjdvol\`\pc]YQURWMVCRHQBPHWiltvppnnhifjehmkgjO^ajcntusrpm~}kkjmppythmimrv~~yz~zpoho}~ډڃ~؆ӆԀڅ~Ռڊٍς҆Ո؍ڌݒܘَҁxyzwԐלَڒؙؔ֏ׇۘٔܜٓؓ؍֕Ԉ֑֜ӗҋԕғʀɊǂԔᴢ䶟ޤؠܩޭݪ㿪ཨ۸ܷڴڹܸܻ߽߿¸¹·ķ·ĻǼʼʺඤ̆̆Ԟ؞wrԏՖҊܣֹ̳V@P@T?Z@\<^?_@^=^&MU<[<aAcB]@^Gj#Sy+ZNoo~҂~}xzx}yzЂӇՉ֍~|Ԍԉ~Ԉ~ӈ}҆zӆ{ӆ~҈Ӌ{Ӊ҇|҈~҈{Ї{Ҍ|҉{Ӊ|Ї|ӈ}Іy҇zӇzBUBMDS=L8F=J?J@L<M>K<IBNJRUTaXnY|dknpsnxtrtunzgqb[VJR4H,C.F1E:K:L<K@OANBL@O?MAM@LAL@J<H?L@G@K@G<IBLBL:F5F/L➅z{pojv`ftbq\j^j\UUZTLSJR?ODWeg`jjilqfhgljpttX^TfUf^dtptrssuvwvnlmovr`gbnkqzy~xЁpsgo||ـ؇ڄۈ{~x|ڌؑ~~ЁvsăԈ؎ؓܐ؈Ѐ~яۑ֒ևیؓڒ؏؊ؔדَ֔ԆՎюҋҍҔЈЋˌ̍ڬ⸢ٟڡۨ㼩㼦ḟ߲ᷞ٬جڶܴ۶ݼ´ø÷ĸ¸·÷ĺǺ˿ʽ̺ŶȅҖҘuyʇԗӉ~vẁᴥٽtvLBO?V@XD^A^?_>]EU:^$KaBeBdB^E_Jk+X8bdt}Ҁ}|uxvyЀщӉԌՌՋԈъ҆~ӄ|ӈԈ~Ԉ|ҋ҉}ш҇}ҋ}Љ|ц}ъyω|҆|ч|щ~χ}҉ӈx=K?JBRBPAN<J@N?M@L@H@M@JGPTTbZpazelpourxxptnp|fsh]\NT:N)B.C-C6J:K>L>L<MBL=L=J@N9G?J@LAJBNAN?H>IBNAM>I:D2G0I찆Ŏyz|ppj~_dTyco]f^LNHP<L<NgfmkhjXajhfrdjrr_bWeZf]ltulqllutzvhiuwip[g]lhqz}Ԁ|ss{udmyz؈ցځ|ׄ|~wӋΉŌvjbygxUh^aˆԊڎې،ؐ؈ؑֈԆۏۖ؍ׅ֔ՊגאԐ҄ԑђ{ʄʅ֤䶟ۘ٠ެ߸ñ¬Ứܴ۱حԭհٱܵݺܺླ÷ĸøĹø¸¸ŹŻɽ̿к֪ƂіђzzΌ͈wedUdmv̷ٝҽt0HJ<R@WAZA`FaB`D`"LZEc!Hi,PgDc@aH`Gt&XJjqyՀ~~|y~wy|yӅ҈~Պ~Չ|Ո~Ӊ|Ӈ|Ԉ}Ԇ|ш{ԅzӆ|ӈ~Ԋ~ԉ}Ӈ~҆{ш}чy҈zЊ{҉~҈}Ҋ҈|ӆ|҅x>K@M@NBPAPAM>P>J@JBMDLHRHNTT`Xm^zcirttvrvtpml|fqca]DK5E*C'?.F4H;L>OAQ<PBOBN>M>L<KBOBK>J>JCL@I@K>H@H<H:F.E-J髏ƒxkpiiq\~knVmhVb\DK3JSVbhjihken[fjuom\eVfcjZfutqmkjllqrjgnrgi[lipfsjrԀ{|rp_kkryxۂٍڇys~^~d}ihrxƂ|b~zxzvU|+V~ڎۊڌֆֆ҅Ӌۊ؏ֈڍԄ~҉ЄЋӋԌτэȂyy˃̊ެ羦ߠٝ؞ۭṧอ庢Ἡܳٲٳٵ۲ڵܸۺݺܽ߾¶öº¶ĹżùƹƼ˽˾̾ƸɈ̓ЋƁ|rTSMX>WXf{ⶬؼ̬T?K<P:X@ZDaDcD^A\DZ>bBl)LcDbFcNj!Q2\`v}ւ~xxyzz|Ђ~ӈ~Ӌ،~Ԋ~ԈՉ~ӈԆ{Ԇ}҆|Ѕ~шԈ~ԅ{ч~ӆ{҇yшzӆuш}ЉzχzЈ~Ѕ|φ~цz΅}DQ>NBO@N<J@KEPAMAL@MHLFPHNSUbXo\zalnrsrtxpnpm~go^[SDL6H'A(C0F4J7K<MDRBP=L?K<G;J<HBM>J?LAM<J=JCL@GBL<H8E/G+Kꬂ̙w~hl\j[|mzVzkZQESHV]d`a^h`fbf`hqragN_\g\fopvrstkjnslospfgVgdkjmsyntmowr\j{zvy{yw}dvDfP{\WvJiEhAbNmgvm|Qs|xЄwNz^lyՊڊ؏uuzz~؎ֈ،yiZx7XłІ̇v{Ɓr}Җഢ䰖ݠ֗کṬ佭澪产㼩ݶ۱ڴڸ۷ڷڸۺܼܿླ´߾³·¸ƸĺķŸķùǺȽʺנΐΈȂvZW:G1IATH^v֢Ͼڻ_bM -8J -6Q -7Y;\?_<\@\<\?]@f@lB_@`I`Mr&TLjny||vyv~}ЄӉԌ։؋։|֊~Չ|҆|҆zш|҇|ԅ|ц}Ԉ|҆|ц|ц}҇{Є}ч~Ѕyъ}ЈЉ|Є}ЅzЅuͅ{BQDR?LCR>NBPASANBPBPCLDNHPSVd[q^{_fossrsstnsnppa]THL6D+@$?+@9K8L=JBNAL?LBPAKDN?I>JDJ@K?K<HCNAG>J:D>J<F0D,I檈ɝƌylt`n~Wvh^{d{X_`PUZ_U^[a^b^i]dns]`N]Xd\hjlptklpqhkehtrZ^Xchnamksrr~cl`lsvz~׀~q|ToCm\{~n~izXp[rPnKn6^>dOzăْۏԌw_TSZ~Wx`sшڈӆǎzV~pkx^pw5pf Omʆvxؤ㳚؏ؖۦⶡƴ²⸥ජຨܹܹڶ۸ڷٹڻܺܽ·øĹŸ¶ĺĸĺķȺοоܮҕ̇|h`;H3J<M<OL^an֛ƻָٺf:M:P8T9[:a@^<]?Y?\;c>f>h D_G^Kh N3\_vz}|}zx|wyт~Ӌҍӈ}ԉՊ҈~Ռ|ԇ|҇Ԉшшчц~ш~ц|Ї}фzЈ|цzшzЇ~υyΆ}І}Є|͂zΈ|zDNBP>MDQDQ@O?MBMBP>NAJCHJPTQdXpZ{bklvuqpvnvplfp^\RHN4D'>,E0D0D8H<J>LAQ@O=M@LAN>KAKBK=KBP@J@L@F=H>F<F4?-C+I{ҢÎzfu^vd}Xpfbp[hYTWQY\aT\P\\ffl`dM`]hXdmrrlnijhefnpfj[bXdbjdihnjqnrmk`lnrutzw~{~hRvno|n~]sYuTqLlFfDf?ks&\N|ٌ֔؍lhlfieJ8^Jha{bpVvLqCjl$Nw6]h$WFdFpQIw4VŅ̈ۦ㮛ԉג٧ܶᱠ伦㾬⼫ݸ༬ܺںܺںضڹܻܽ´³´ǼƷøŷøźǻοǰީncQR2E:M?NBSBV\kцⶬѸԹLOO:N
9X?\=_>\;`<]9Y9Y:c?iCbA[B\In%RLjp~}~~|x{v||ӆԋ֏ԌՋԈՌ~Չ~ԌԊ|Ԇ|х|ӈч~Јх|ц~І~Ј~Є{ЄxЃ|φ΅|τ{Ά}Ѕz̓xЈxρw@NDPBMBQ@NJV@PCRFSGPFLHOOQYVf\q^~fhktvqvtvutfio[\VHQ7J*E$?,C2F6H=K>M<J?M>IFQFM=M?LFS>J@JAM?I?K?E@F<G9D/C,P~Ƙ̚vuhntOaVw[l`bbTKXKVSZ^bT`cf_aFXRbXehmplllhkjllmfjV`[ffl`ffljofkfl^hltz}jntwzawPrxzlz\wFlKnMm<\0Sy(Ps&Qo"\Iz̃ш~nr\R|V}@vr;tx=yWu9il.dn2`t0`n(Uq+W^NUHXLQAUDJH]"Q㸪ܞς{ՋԘܴ㿬翬书㼭⼪۵ݹ۷ܸٸٷ۹ݽߺŷƹĶŹŽƽĺȻư߯ϐwpoNQ;G6G7H8G<NFZTfȂƲӷT:L
9T:X<_B_=]<^BX8[8`8c>h@^?TD^H<a_ry|Ҁx~v|vwу֊ԎԋԊՉ~ӌՊ|Ӈ~҇~҅|҆҈҈}҇҅~І~фzІ}ЇzІz̅~Є|Јxυ|·{΅{Ѕz҂vBQBNETFPEQBNDNANBPFPFJFNKNTOh\sY~dilqqqwxturk~gp`^VLN4F.F&A.F1E7K?L>K@M?NBNBPBL?JBOFP=H=J?L?JBJ<F=G?H:C3E*Ky]լxnqXlVeSSP`hRNYJULXR[\`\`[_BUNbYgfqqnhjhhfekjmnZgdn`dhqdnllkpcmZbjsptutnuly^qRpin}q~\|AhNuUqBeBgPqP{;tC^bllxhP~v0gh*bd$Xh'et8tdN~b Xp6kk+b^LZEYER?SGSGK>JH\"Vnٖ֮}ϒذ侭彨㻪⸦Ὥ߸Ἢݹܺڴضٻܺ߾´ྰྮ⽭ǺƸŹƽƻǺڪvdXTDM>L@O9J:G9H@PBWXd̃ݧ跤̳ìv/BY$IR=X=[Aa?a@\@\?V@a@h@g@aAX@O@bJIfox~z}vwsx|{ӈԌԎӎӍӌԋԊ~Ԋӌҋ~ԊъЇцωҁ|̃|υΆφ~Ї~·}͆}̈́{̄|΅{І|φ|҆z҃v?PEPEQHQFPAODPAPDN@KHOIOJNVRf\r^~`fpprrtvtuqllrc^RKQ0F&B)A1F4H8N=N@P>LCRAM>J<JBNAPBM=JBK@L@KCMAHDK>G=E5C,IZNΟɖz~jeeVPLbT^Qc^UWT`R]NZU]dgFRRcQ^_kjnhmhmfjhkfhU`^ddjfljqeodkjq`hdpnrrrlvntdtIoZvo|n|`RvZyhzQhJxfj^8m|1i~BtD}>ph^9qv6kr4ke#Xh"`RXk,Xi+bj,hm0dr5hWKRCN?K -:RQONNQ`۪ϊ}xЏðı仪ܶ߷ܹݹٶڸ۹ܼܺ߾ུ߸⿱ɻķǸɼྤЕ{\VEN;J;I<NCS<L>K<MDRTadqΉᩜ浢PTR;UBV:]@b@dC`=]B\DZ@^<hAf?\>SDQBr*SXnwz{xx{w~x~҃ԍ֑ԋҌԎԋ~֊ӌՌ~Ԍ҉҈Ӊ~ъωχІ~΅ͅυ~~Ї~Ά{υ}ψ{І}υ|xςx΅xфyCPDNERHPFNBKBL=JAMJRHNFKLLWOcTr`|`nlrttvqpsslip^`XGN4F.D(B2G3F<J>LDQ>J?MDKBJBJ?IDMAL@M@KBP?IBK<G?L<F;E4B,F9K˨Çœ{va]WQRINqlk`dlS[[cS_Z`NXMZS_[dlkkphigqhkdfZeWa\`dniljqkqelXc`klmqtjohom{Ila|izew[rPxVyaV}WOXx=h}7il"Vt*\u-\t+eFyXNT~<y{2pBVy<ir2hyAxm.cb$Uk>fn1h\!MVDM>C9B -:HD{Dlͤܠurv|͚ݬ⼬潤⾭ẫ⻬ߺ߹ݷܺݸݶݸݹڸطܹܶܺ߾ݺܼ÷ŵ°ƹʺʷéƋrMNBO9L9L9J7J<LAO=MBRI^Xj|ُ榖캜꿠s`s):V9V;V9Z>bAb@c@_=^?[>_Dd=j?eCX@PBXE?dj|}|{xzv|~Ӊؑ֎ӋԌԏԋԌԋҌΊъчч~ΈψшЈχ΄~Ѓ{Ї}І|χ~΄{΅~υ|΄|΄{уzBRDSFRGRFQDP?K>I@MFPDNFLMPXTeYp`~ggltspqqrvongoW_ZGN3F)C,B0H/D:G<K=M<H@NBM@MBN=JDPBMAN>IDR>J@J=H>G<H:B:E,E/G̢rdn[KWY`݉zln{fW`^_Y[N`DTUeZdgffjnmjplpflYc\i^bbhdhhphpdj_d^fjmmrjnjt[lJi[yhyhxfxT|N|f_TKsv-Zk%RgNf RePhSlTx2mNOrEyRHzi~;nZX]Lg(d\Vo@mwDyNCJ;OJD
BMJ_|ɡؖ\djvӨἨఞచ߰ݵܸݹܶ߷ݶ۲ݵ۴۸ݸܶ۷طعںںܻܼ⾰¸ǶƲܴjiDT>NBR=N>O9L9I>MHWVg^ooy҆簤뾣ħtmZ7V>W<\<\>_BcAa>`=^<]AX8b>f=j AbEXDUJl&SSnt~}x|zu|y~Єӎ֏Վ؎ӎ҇ԋӌԌҋҌъҌ҈ъ·҈ІІЅ|τ}Ά}І~τxʅ~̆~΅|̈́|χ̅~΅~JTIRGQFNHQBN>JAK?LDNFLHNJJWQdTs`zbitnrrrstorlgp^aXFM6F1F,E,F4E9J=H;K=J>M?I@J>JBJ@LDPAL;H@HBNBI;F<F<H@H=I6F/Mڐvɜ~|X^X`Xwgmj|u^^sp^fGVHXM^T`dhddlphohjfuP^]l`mZ^gnenhngq_hZfnrkmjlluapFf\dzfyjwa~P|KzHtu1^s.`~3ly0hv.`lQdLh"TjSt,dTJ{pBs|>uj"T:lAvOXx0ev<{v=xXRlAer@tF>C -<@@d,fn֮Ԇv[ffuԢ幜۪߮٬حڶݸܵ۳ܵ٫ױ۷ܶٴ۶سٻڸںܼۻܻ߾ིܿԫxpcx@V>LAP:L<L<MATMbhsvwهމ|㙇訔鴖¨͝g<VA]>[<_>`>eEd?fA^:^<X:]<dFj Cj'F`(PXL\N;aduz||x|ztxЁ|ҍՔגՒӐ֏ԏԌ~ԎьҌӍόъыψЉΊЉ͇ϊш}Έщ|ц{φy͇~ψΆ}Ά̓~͆̀xHXIVKXDPGW<KBNBNBJARBJFPIMYUbUr^zcnruvtrrpspngr]]THN8J*D(B-D4H<N<N>K=IAL?JBJ>I@KDPBMBLAJ@LDL?N<I@HALBH<G4D'G_NЬĆrj~\\SdkwuvgԀ{e_[gDUPcO__djnfgbflobfYbZf`i]f^hckjndkZgUansuxhnkmbj`t7`ij|hxTnDo7lp(^n&Zz3lF}~;qq0^e MaHbJcNm ZLbXRs2b]D`Sj(XTt5h|6jIx=m^"RM
EiDnb)ZB?<<YNy١~m^nvר㰖䶠߬٤צ֩ر۵۳۳ݵݴڮڲ۳۲ܴܴ۵ڸڷڸٹںݼݼི¯ذ|uNhRmvk|VgBPBS>TJ^aoksЂ|܉|ߋz旁柎ꬔÓ|m#>T
<Z?^?^?`=fCeCiAb?^;[;Y=]8f?j"GbD`(T\%Tk(TRnt|}{}{z|x}҅Ր֓؏ԐԎ֍ԍԎԋԎՌҌэ|ӌЌΌЌЋΉΆ·҈~υ|υ|Ѕ~Έ}̆χ{ІzΆ~́{̂z|LZFPJVHUEPFPGSBQBLBNBIELLNVQf]ta|cdpsmusosqples\bXLS8I,D+F0C2H6D:G<K=J=L?L?L@M<JAK@KBK@JCO@KFM>FBKBKBI>G:E-E8KƘ|m}cmj\ZڀuheyehnHYEVVb_knrfhhnjkenO`Wh\hbo^h]e`ffn`hZi_hjqgjkmjlirhz>dhfvMo>lv,`fRg!XJLzl'SdL_LbL\DfQ]L;uj]Z~v2`]FX
F`N[Fyl,eI|LzXFJEHB|WqAHHg/Y~ܞrlfoɆݳⷢ㵞ޯة֦ةٱٱڱڰٲٱڱٯڮٯسܴ۸ڲ۶ضܺܺܺྰzFXB_XvVvuxly`ohomjzztwv|z蛄馒Ƒ~g6T>X<^<^=_<fCdAc@h@d?\C[<W8`7j@l!Bg!HZH^I3Zdux{|x{|suzxԍד֑֓֏ӓדԒԎӐҏӍҌьЊ·ӊЌ͆φ͆ш|̇̈Ά~͈ω~Ј·Ά}̃{ʂ|LXGSFUDQJUDTER@LBMAMCKAIKNTPb\q`}hlqrsqtpsprrhr``XJP8I*C)D.F2H4H<J<I@P?M<KALCMBM@KBLAMAKBN>I<H=J@HBLDLBJ;H/E,Jސl̡}vxiqpi[ڀs\X\^LUPbTahkihilce`jLYL]]i_jcgcmfjZh]eYdUoniudrelhor~n|Fi`vSl{0Zj$WdTw2iM|v6_^FXEZDdN`F\D`N\LWWPt{2]^HdPbRW\o*`y;tz@q]IJ>RNI?[f3g|<kږlh_j߲̊伫ᶡޮذרԦժذججثԩرڬ٪ڰڱڰݴ۵ܶڸܹݽܾv>H|<\Hk=`UqNkjxЀ݊urxwx|蕂Ⓜ蚋쪔Ĥԣj!<P;W;[;`>cAf Cj Db?dAe>_:aA]=a>d;j?a9W<VFdLPmpz|zzx{sxр|ՒْՐ֒֔ה֔ՒԎՍ֎ӌӍύыюъЊЉЈψͅΉ~·ͅ|χχ~̊|͇~΅z͈˃z|ˁ{LXMXITFSFQHUHTAMCPEKBIFKKMTQ`Xp\zdgjtpssrvnnpbp\`VLP8F)D)D/F7I6J:N?N=L?M=K@LBNBLDNBJDPBM@JALAK=ICLBLCNCM<H3G.Mq[Ұ~p߇|trhs^]ALP_`gdkknfmljenJVF\Wd[c`h_j[k`i_lVdWblydpMhB_F]aspxjvDdBbv*Uh0^g$Zx8hAmi"Pb$R[IWAh#Ph"OU
:]FaPz;qlx.Z~4_dH\Gh XWgD|@{RTEO>i4vF @QJXKoƋڐsdfhq̒ޭ廤⼨ܮ٪֦֤ԩ֮حըҧԪԧ֨֬ٯڱܴܺݻἢ̤IG<YaI};XlSxTpRvaz|Ӈwxtvv{阃衏Ġӣv(=R;V<V
8Z8b?b>d<jCdBdAfE`:^;]:^<e?g@^EVB^Os*T]q{~zxwzxz{yӊגؒՔ֒Ԑ֔ՓԐՏՎҐӍЊЋЊЉӋЋЊЈ͊ψΆ̈Ή̇͆̆Ʉ΅~΄|̈́́zJWJRIRIRFQFPEQEPDKELAJBIILVTbWo_yblnptvxrqpplgr_bYNR8I(@+F-F7L;L<M?O=J=Q>J@K@L?KBM@K>K=I>JBMAL@GCHDLEKFP@I9E/IFKƟǍċtp袄rߌumU^\ATZc\c`finkmceXbRb_l[d^gafZhZhbl\gU`holpjlhp[sJl<cEbVkFeq(Tg%Xl-`{;ky0bm*[f"Xb ReLj%Su/^X<R;\Fp)`IvH{cGiMdOcPFPy4m]^f&ZMGnF|nC{:>b6l|˙zm_fcnє߸ಢ亥߹֦֮ѤبتԪ٬֪֩ԦԧӨҞӨױ״۴ݲ۱ܳݸݺٸjf;fDMf?jy,RwkTpdRrt̆ډ}{|v|ꚁ漣٩v)BR9V?Y;^=^<a?f>c?e?c?c?d?`<[7_>`=g>d@]E^IdKA`juy}yytxvz҂|ؒגؕ֓ԑ֔וՑԑՎՐӐԑӎӎΌҌҊщΆ̈Ήϊω~Έ|ψ̈Ά̆ʄ͈̈́{ͅ|ɂFPJRGSITHUDQDPBNBOALDMFGFIOO]Qn\zchnrqszqurusnr`e^KP6H&B$@,F0H:M8H;J>L?N;H=I>L>LCLCL=L>J>H@K>K>KELEKFNDHDN>H9L6Nv[ز͗|l~堄k_]8HNYdddl[f`bfmR_CVbo`k]fbfVbYfUf[fWeckflnqlsjtHf-NFb6_x,X{:ft8kn+^y3i?|p1el*^f S^Lm'VN^CQ -<R>bR~>vx;bx4b^DbGbJh$RN~t*bCyNo1gP
Go>xxQLEHiƓ{sZeftИḦ罧严᳡ݴدԪӦԩ֩ӥ֫ԩѥҡңӤѦФ֯ششܹڶ߳ඥܶשfY.ElEf?FbWn8aLd}[xm\{gz{{yxy임꽖rXo&:U6S5X7]:a:a=f?d@d@hDf Dc Ba?_@\=`8b=e;b?Z@_Jp(QPlpzwxx|pvyzֈ}ؔؔוՑח֑ב֓ՒՐӐԐҐяԊьЉъЋΊ͉ҊϊЉ~І̊Έ~Έ̇|˄͈ˁ}̄{˂~NZKTKUKZIUHRITBNALALENAIDJPQ]Vm[zbmpqvwsuxmuhjp_bYMN4F(C&C/H5H6I:L>L>M;I?K<L>H<K<I:G@HBK<H?JAJ@JFNDKELIJFNDJ>F3HBM춄ԯƓ짆mzx~e_BT^agjdkbh^f[dN\Tg\e^f`l\lYhWj[jZm\lltcl]fUeNd@bt'Vm"Pv"S{4dq6dm(Z?q|;ko0`e&Xb PTD\IR<iS<S@UAl(YHzq1_cFX@cHs'Xs)Vv,^aLm-]PZNSKbGEj0l^r\tlzգ溧㺩෦ݴڳײ֫Ԭ֪ӨѫլңԣќУԨԩЦׯٵطڵݴܲݭڦՓYf2O8V<^}.OJdSlDl_rv\siRq|ˀނzz|뗂紊TN\6W:V<T -6Y:`9b;b<h<i Eg!Gh"Ci$Dc@`<^<\8_9e<e>aC\Fi"N4X^orvnupvlt~|֓ؕٔՔההԕԑԍԐԑՒӏӏԐԌӍЋҋϊ҉Ћ·ϊ~Έ~Έ͉·̅x̅˃ẑ|΄}HSJTJWNXMVIRGRES@LAI>H>HCIPN^Sm^{dlpvtyquusqliub`XJM4G+D(B0H5G0F8J<J<M>MAPAO@K@L>J=I>J?N<I>I@LALEOFMHOHLHNCKDJ;H2JaPƔХƎ禉{쨂{g`cf`aagdldoZgRbTf\fbgflal`oZq\rUl]xjxarSpSsTrXrKlHn<f9gp&Xk$Y}6jAoe%RYITBSC\Sz3lft2\R:S
?YDo+]Ixr0^]?`BjLdDgNaNYIt?k~IOIX U~l6fKziRoOhiի帞仦ⷨݸڰׯլӫЧѤժիԭѤΘΚӧ֫ӨѫԱײհزتڥ尧걨袛BU-O9PPt<^DbGeCgtfb}Lml݁蕂ᣁ8CX<W;Z;Y=[
5_;c;i>f=c=jBfAk Dg=\<Z<Z<^=]:f>dD_Gj$Qt(SHdhroxlsjtptцؖחْڔՒ֒Ԑ~Ԑ֏ӎՎ֏ԑՐ֎ԍӍҐҌьюЌЋъЌ~ЉЉΊ~̈~ˈˆΆ|̄}~˂|N\MRLVKUEOFRHREOCLCP>H>H@ELL\SjZzhjttxzxvvrrohs`bXMQ3H)C(B.F/B5H:J<M8IBO>OBN?L?I>LBNAN?M>J>NBLDODLGLJPFLHLFMDN?I8L5RߕlҦĒ彩~}o=Fyb^[VZaibp[gViXe_hdq]wng_aV\^b~a}^oUgB[=X<b4^~.^t.d:nIt|@mb QUFQCSC_O<qhdGQ<YCaMn*\v.Zq.[bHcFr$QbEbHaOUGzFz{;zTLuIl`l6[b~Ⱡ䵢ᶥ۴٬֬ԪҤѨԨԨ֪ԥϞΠСѫԯԬѫձԮժۧ⦢箪鰪鳨櫟]e>P2]4TbRtLrSw`vzf~dkǀ܉v]*>Z:X?X:X;^<a:e>i@h?f<d:gBe>h>f@^=]=`?^8b>e>dD`Hi$O4XWjpunsfrdpv|Ҏוؖח֕ӒԐԎՑ~ԑԎؐגՑՎӑӎЌЍЍϊЈЋϏюЌ~Јщ̉͊˅̉Ά~˅}ˇ΄~KVJTLVKWFRHTEQCN?NDM>G<J?FIL\Uk\t`opwtzyrttslhtb`TJR6H*F(B,D0D4F7J=L:LCR@N?O>K<L?M@L<JBKCOBOCOEOEOFLINHPLRJPJPFJ8E4NONȞf`ghoaU[PW\dWaNb`l`q`jev]v^qXlRl^|e^UQ{_R~Bl~1]r%V6f{,[:j:hDuH|p,\aN\KZFTFbONU\CVCeH~Ev^A`HcHgRm!V9m>z>z>}p%cXw8sk)lRP_l]`ʝ˞ްⰜܮݯ۴հجԩӧҦӧѥԧҢҠҢҢԟҬլլѪլڪ殤骠ꯨ봪빮깬殢⠓qrHU:N7^<TlKf?`:Zprpj|ޕ꧉ߑqJIi9];Z>Y>Z>]<[8f>j>f>j!Fh@eAf@f>k?b<\;Z:b=`:f<f?^Ec"Lo)U?^dpqriqdnkxʀ}ԓؘ֖֘ԔԐԒԒԒԐ֑֒ԎՎӎԐҎЎЍьЍҌҍыЋψϊΈʋ~ˈ̈˅}̈̄z̄ź|LRLXNWKSFTCPFLGPDP@K>M;E:HJM]Yl[zgnoxtvvxvwpmhvbf[LN5F&A$?+F2E4F8H9I;L>L=J?N@L<J>J?IBL@M>K?L@KEPEPHQJRLPPTJPKOEKBJ8K6Q詄زxhu^\[Y`S_V]IYL_Yeajcq^nOeRbI`]rbr`p\sbvj~XqFop%Yp%V|/dr&X0a0`9gFt|;km.Zd"PdLXJVGj$X|7jAni"Tf Rn(Sp2^[?^>aB^@` EaCi"Lf$N^FbJ|Auj)Zn,dyAt}ALz^ĚƏҢ۪ܦؤ֬ذԬԤѝҞҟѥҞўӡҤӢҢѡѤϥҦڪ䲬豪갦걨촩봭ﶯO밡㌄^b;J7Ox-Xn,Ha:[~8bAavqp}֊qnXX)F[
:Z
=X;ZAY>]>a>f9g=h>j@h>j@i Bj@h A^9Z9[;`=b=g>bA^Cf Ly/VOgjqowfshsmtΈ֖֙ԔԕԔՐԔӑԏԓ֒ԏ~ӎӍӒҐҐҎҍѐӎЏόΊ~ЋЋ|щω͈}̈́~Ά{̄zʁ}ɅHTMVLVGSFRHPDPCLBP@K>J<H;EJM[XjZ{hfruvqxywzsqkrbcWOQ6F&A%A+C1D2F:L6H?L=L?K>L>N?L>L:H>J@N@K@MBLBPDMHPGNJRPVMVJQHOBI;N5PzљҤribXb^d^jJ^DXRh`p^k]lWjSjQefnfnbo[qFgH`gs\sDjw*So,Zo*]dPi!Un!Vz1dAp~7gq*\g!VZFXO`Pp-bl$Zx4k?v>rh#NZB]@^<]=^>_C_C\>Z=T=R@l-ar*ZFtz;nm/nzK]l~ԡڥ֞եըիҢΞΛ͖ҦѠϠҢԣӡҠϢϤ̚Ϥᰨ궩밨격찪쵬촪ﶩ蜎njFO6K-LkOr0JNo@ct'Rf}nx}ɀhmQS(BY<X9X>V;Z=^<gAh@h>jAl DjCg@jBe?a=^:Z8Z6`<l<f>_@`Hp'S=_drqtlpandotw͈֔וԔՔ֓ՒјѐԒґԒԓӒՐԎԐԐҐҎӐӎԐҎЋъ~Ј}ЉЊψЈ|·~͆|ω{̂{ʃ΄zIVJRHUHOHWFPFRBNBKBM=I7F;JIMXSj[vchouwtwxvxtnmtcbXNM4G(B&@0G,D1F<N:N:KBOALAMBPBOBP@P?MAM>K@OCKDNHPDNMTQSNTKQLOKJDL:N2NߖӮΖȚz`X\Z]Zc\dTdRk\g\eTaTjRg`plphjaf\h\mHeOgSc?Z5X.Wt,dh#PcL[K^Ln+Z{4gx.dq(^y4hp)\d!U^Jw4m^Ot8pTM~k$UW:[=^BZ>]>^B^HZ@T<SATBx6hQxLi:gx9}o~̙כأ֤֦֯ҦНҙ͗ϟѡңӦԦѝϚң͡˗Ԡ筨찥쵫봨춭쵩칮춬ﱢ잍vrMU<J.Kl!HTCu4RGe|.]A`pp˅psNVv>`>T;X
:X:]=b<hAlCi@h<lEl An&Gl$Hf@`<^=Y;[7\7e;b<ZDcLv*SNhgtptjqbkkt~}ЉӒՔ֖֔֓ՕԖԑӐԑӐԑՐԒՓ}ӐҎҏӑ҉ҌьԎэыЎ}ЈЊ~ы~ъ~Ћ~ωΈ}Ά|Ά|̆~̂~L\HRHWHTFSJSHP>I@I?K:E7F<NLQZVh]vbqjxvvxzxyxoludf^PP4H(F%E-H4I7M>N8KBQ>N@P?NDREPANAN?M?L<L<K@NANFRHOLTMUMTPVMPFKDM=M3NzԢ̛ПȎsRNFPX_^iVfVf\f\dWeE^NbanjqejdjcgapQd;X1L7P|Ht"MBtq-[^EXBUBWFaKz7lu,\q/a{:f>qa QXHu3d^Kd$YRg|:kV<\@]>^BZ@V9XBS<M7P@l'UNp_t/RBg_{զۨڣبتٰٱ֪ңΘ͐͘ΚҜӦӧѠʏʒ͛јᤚꮤ춧쵧캯춫붪봨췯췰ﱠ랑|X\9G,Ir C^AZ>Hb4Z~5\lnutwHRl@\>X<\<Z>^=d;d;j Af@k!Ej>iAl#DiBd>_<`A[9\:b<g>_>ZAbJ=`aqrvpvkpfntvȇьӐӑ֔֓֒Ր}ԓӑՓ|Ӎҏ|~Ԑԑԏ~֓ԒԐ~ӏԐӎАЍыҍҊҊюҋ҈}Њш}χ͇̂zzˀ}KVLVESKXJVJSGQFSBLBN;F;G8HEM[[hbu`mtvwvwvvxqnltf`VMQ2F*D*E'B4H7N=P<MAQBN>NANCQ@N@OCR@K?MAL@MBLFPFQHPMRRVSVPYNSLOJR<M4NߌrҨТʊ̛}ZENCMVZV_T`Ye\d\mK^Nd\kfldmeldhTfWd^o*Jd:mD\Bn.Yy4]dDWAZCWCYHYJx7f~>jl$Yv2bBs^ NVJu4icRUKv=wbil'Z^G[@Y?Y=V;P:N 6L?h!Mc|ZtKo?bج٧ۧجڲڳװԨЗʒ͎̙̔ϟӫҤ˗Ljϒޛ磙詜ꮡ촬춨O칭ッ︨犂ZZ;J2JtA]>YBn!F9\y.W\rxʂy.IeA^E]B^>]>_;e;j?l?k!DlEj Gp,Mm#Hl&Hc@^<]9_:`;f:c;Y<[Hk!LIdjrvuqsfpkp|}͆̅І|ҐՔ֔֓Փ֕֔ӒґЎҎӎԏҏԏԐԒҎҍЌԋҎҊЉЊъщЊьш~·҆zЇw΄~HXJVKULZJVEPFTCPANAK?H;H:HJOZZi^wfiv|twy{ywypntce[OP;I-H&@*B1E5F@V<N>N@NCPAQBRDPCR@R@L>LBNBPEQHUFNJRJSLSNTNWNPJRKN@M8Tr]ֳљ͔XNDNFMKSRXP[S^TeJ[Ra]c\iZgOYelVcRf\n\n<^V@Z@hJ}=llI]@ZB[>X>\HXFd$R~9jx.ho%Xz9fr.bWIq:gh VQ
B\RyCvwIBxExdQN -8N:I -8H
?^Flz}zFfJkĂٝk۰֣٪ٴܶبқϔʑ̓НҨԪҞяێ敍蘍ꦝꨝ鰢춧첢춨ﺫꔊmjAL7JzBT=ZC^<:Xx)TGfϐuy&Fa@[>X@]:^>`?d:j<k>i@jAn%Fl"Dm#DkB^8^;]:]8b7d?_=\DbJ|2T\muvutnqjpzyɂ|ʆzɁzȂx͆ΊҐ~ՑԕՕԔԔӒҐҒ}ӏҎՎԌԒ֒Ւԏԍэҋ~ҋϊЉҋ~э~Љ~ϋ~Έ͈Јz΄xЄ{~zDQHVIUFRHRDODRBNENER@K7F=HIP[Xi]xhpxtwvsxxwwvj{nc\PY<M*E">/E1F5G<O:K>O?NBNBNAK@NEOBP@OBOAOBPENEPEMKQIRLTSXTXMPLRJQDL>ROTȜўԜsFMKRKQKWLVU\R[VdXg`i\aaibgBXRgOdPcG_C\7V[A^D7b@i]>X<X<aE`?_EZFYHf"L|9np)Zo*Zn,\d"Vs<ml'[^O^Xk._~o)VbDd FZ?O:G6G:X@n|xTdTkƈܦڎΌmЫգݶگܬҢИ̒ɑɐʗЧ֮ҙՄ咋薏柕ꨛ쭤챥춨촩ᄇǹǺŴĶ{xKP8I&A^
:T?[Bu%H0^2YЖq}x D_<`>Y:b@_=b<e@f@i@h?j CiDp'Fo&Je=\:\8]7]8d9e>\=ZEj!PB\iuxvqpjqptǂ·~˅~ʂyʁȳ{ǃ}͆ω~ъҏԒЎҏӐՐ|֎~ӍҎӎ~Ԑ~ԐՓӐԌэььΌшЉЊъ~Ћ~Ҍ{ψ~ψzЇ}Єy|yEPHTFTIUHTGSFQEQ@KDP@N:I<NJR[\j]wbmstvw{zvyqphvef`RV:O,H(B.H.D4G?M=L>NBODQCOCPDRDRAMENDPCRBUDNCO?MGRmuRUPURUNTPRLQIM>O>Q쬁֫ӜށjPZLPSXS[OZPXFUL`hjbdXdT^T_7W0Q9\0T}$L/Q3VkJ_GDo{1^X<V=X>k!P_Aj"N\A\E\Bl)Ts/`h"Qg#Wm(^{<nj$Yf,^]Vc$Vus.`V>S
8M8K 5E5O>Zi֎xSaSgΉ߬۔ڏՎvĖԜ۴ԤըқћМ̖͕ϜզҊ{z㈁䎄昊蝍覛ꨜ첦첥춧켯LöôƷdzǴ{V[<H*Ai9P;X<hAz.Rt&TfzƊzv"HbCh@_?h>n?j"EeAfCh?hDl Do)Jl%Dl @b>^9]>_<c>g=c@W>\Fr(PVhu{ztnpdp{v̈ЎΆʆȃ|̈́~Ƃ~Ɂ~Ȃ̄΅~χю}ЌЌ|Ԑ~ҏӌӎӏ~ӒҐӒҌЍЍԌяшЋщЈ~щ|҈|Ї{х{І|ς|||BQITITCNHTGSDNDLDNAN>L<I=JHNXVjavdqstuwt~vzvnnvfd\PW<N-F*D+B0F0E9I<L?QCQFTDRETIXDSGRAN@RCP@N@L?PHXvpބhJOMTSXOPONLPJMFSDZu^ܶӠn[ORNVXYW\Q^@RL`giah]ggpUlFhBb2Y5S2Rh<u!Ez!F[D`FTl$MVAU@^Jr*VaIgKYB_DfL\FbKi&UaQdSCwC|J~aR]PVvL}R;N
9L -6I<M>Ng҉yajQeЃݢܚؔؑӔ{̦ҩ׳֦ЗИҜΜҝЛӅ|yzቆ䍇撇嘑蟕ꦚĴĸõǺŴɸbdAJ,Dr?V@T:]
:jE}+\C`ҕÃ7Y`HdDZ>`Af>h=fBi BkEl"Jl"Fp(In'HiAaAZ<\8b<d?iAbAU@XCy2VcqxvsplpotȂ~ԎҎΉ~̄}ʄ{Ʉ~ʁ|ʁ}Ȁ~ɁzȂ~Ȁ|ʂ}˅|̄~Ό|ҋ}ЌӌҌЎҍ}юЎѐЏЋЌЉэЈ~χ҉|҆zΈ{φц}҆Ά~̓|HPMRISLSFSEPEPFQBOEQ>J:I;HJPYVj`tfksvzxzyuuwpktbd]QX?S,I*F.F2F6H<NAQDVBRCSGSIWJTDQFSDN@NBN@QBR@OZYo\PTNRSXOTQWNQSXRXLQJWT`~nMPQSQVQST`MZ]dX^_c^ketcoR_J`Fb8ZkG^BbCX?V?eIP~dCU<ZCt0\j MbKdKYB`IhMYC^Fk&VaLbRt3fRbv2nbVl5\gVCF4D -9J?E^ЊvgkXg}ݨݙݨ֒ԙ՝Ѡ֬۶ٶӢИКМΗБ}zzw~y拄搈撋朕馚갢ꮣ쯢ᄚーŵŹƷŸɸǷ휎mmDL.D:Z;M6V:aA4`z-SÌГĂ@[bH`B^&M^@f@g@hBjCj#Eg Dm#Hq*Jn$Eh>c>Z9]:`:f;j=[=WAaFCalqyvtxhjzxωҕϐΌ͉z̈~̆Ʌ}ɆȃȅȀzȁzɁ|ʆȂ|Ʉ˄}˄y˄|ψЌь{ҎҏЍЍяЍϊ҉͊ψ|Љ{ψ~Іzυ|υ~υzyЁ|tFRHTISFREQ>NBLBNBLAP:H9KBNHMXQh[tbjvvuvyvvwwrnu`h^TZ>T1P-L3O4N7O?RATETCRCQCPFPAQDPBNBN@N@LDPDNHQPSPWNVRYPWTVRVUZQVRTRVKTGZ|bܮTSSTOSFQV\\\\a_hV_hr^pU^DXB]!IkD`Ij$PeGP<VAZAJtcHZDaJcH\Bj&S^C]FeHaLZFh#TdNVDj%U>x?zw3cF~:C~r2^D6E;{5Uǀxi`Wjsޫᖇި٦١֥ϓԚ۰ڸҚјњ̐|z{z䆂搆哉撈蜓묠첧﹨ﻭòŸƵƺȶȹŴyqHP4F!@`:J8S
;YAz0Wu&TГAXl H`F^DbDl FeAhBl$Hl En#Fq$Iq(Hl%DfA]<^=]=b:d<b>V>YDt*T\pvwxuprkn}}ҏ֔ԔӏЌΊ}͈z̄|ǃ|ȃ|Ƃ|Ȃ}~}|ƀ|Ƃ{ƃyƁz~{|yƂ}Ȃ}ʄ|ωΌЍΌΌΉΈψ|Ί~Έ}φ|φ}̈́|χ~΄|˂{~wҀy}tHRJSHSHRDP>NAOEP?J=K<J:J<HHNXYdYtciwzxzyvyuztqugf^RY<Q0M/N4P<P>P?P<OASANFRDSCRDODNDRCODOEQCQFTEPMR\eMQNVQVXXTWSVTWRRR[PQKTV\쬐XTXWNNGRdb\a\cdhctZd\h<R>R(IdMaNq/`<lU<P:RAWFw6ez8lr)Tj"TZDf$Pg"R\C`IfLaG`Hr0]dNU
C^FKo._u-`n*^VH^F|m+`B:n&LvsqnUbevסߗߗߣޱܮإէ|͓ӞܵݼӦДϐΓё{z}~㊆揈攉畏蔎霎릝몜쳦쵩ᄚ´Ķŷȶȹɺȶﬞ{TX<J$?j:P;Q<UAfE|,Zj~ЖƅLdp#JZA[@dBlCh DeEf!Fj$FiCq#Fq(Fj!DfC_>^<c=d@e>aAX@`EC_l{{zutnrqs˄{єՔҒ~ғђϒϐ͊}ɉlj~Ȇ|ʈ{DžȄ~Ȅ|ń}Ã}z~}~}z|z~{Ƅʄ~Ɇʇ͊Ί΄~Ά}ʃ|ˆ{ͅ{͆z̅z̈Ѓzуzс{}zEQITFQFRESCRALCQ=J<L;H6F3HFKZ[f[vflv|wvx|wzoontgicOT<P+L.J.L<R:O>Q>P@RBPESBOESCOFOFTFTFRFQBPEPGQIR^\MTUZPVUXUXUYWZYZTZPUQWT\}`vZRTXER_cb`fk`nbrhyexM_6Qm@bI`Ra!PJzw6gV?T?ZDWDbHHrk NVD]Fz<ifL_DbEbIZEk*Zl&Sk$VZF`Jl.\YEz6j`JL =N -@wQpRbFnrvlU_enӗی|ݐޝܢ߲ڭذϨlܷ֪͟Κ͌ʊ|z⁀䆅ᆅ䐎瓑斍阌蚎蚎ꢔꦚ챤ﶩ´ŵƸĶ˽˼˻IJ扂ac<K/DvBXBRAT<aD5cNcҗӖK^n@\>`@bBhDgDh&Hj$IhBg!Dk#DmCg@c@^?]<`<g?d>X;XBiHNhtw{ttrnp{{֖ԖВҒђҎ|А̎~̏Ώˌ̉ˇˇ̆|ˇ~ɇ~ǂ{{}~~xz~~}~~ǀ~~ẑ|̈́{̓|̆̂|˅{͂z͆υ{ЂwЂwрw}tCPGRFPBPEPDRBN>MBK@L<J6D:HHPYTj^vf|ow|uxs|twrupzmg_OT8L/I*J0J8P:P@Q>OETDRCOBRFSERJSESBSDRDQBRFRIUIRQ[SXQWNPPTRRPQQSSQORRS\Yc_[Mq]MPTTUYa_kuftic_Sp8ZpE`Gr.cXBS?xExh"SVBj-aZA^HU=bFz2d`J{:kz2^\B[=bG]FWAv8hbEx4d^GYEVEf YIz`OH 8F<XHUcՂmYcZgޒzڊۑܦܲجٰԬkʟڴЙˍͅzツ⇄⊈撎蕏操蘌ꙑ螕렖ꦘ쮢ﶪ븮︩KュôƶƷɸȸʻDzꖋjiDO:I'FZCTAS<Z@<b>\Ε֘FZm!Ep$I]>cCh"Gi Al"Cl"Dn&Jl%Hk)Ii"Eb>`?`@b@e@f@`<V=aL>_dwxrtooppw}yВԔґҐҐѐϒЎΏЖӔя~ААΎ̌Ά{ˈ}ʉ|ń}}~}y{ă}}|~~{~|~|zt|xx~yʅʁzʅ|Ά|ψ{τ|ЂxπxрvCMGTBOIUFNDOEN=I@JDR=N7G;KEOYYh\vjpx{|zx{svuqjudf\NP;L,G,H0H4K6K=RARFVBRETCSHUFTHVGRFQBPBRFSIRGRKRNTRXRTSVPVPYNSLRLVKTPTn\VH8HMPTVFLcbYddze_g^|Ib.RZBl2`o)\M
@L<Rm(Z`Mj,[T>aHXBVFi SJ~FphI[>W9fMZB\AFxS@f Or/ddPaT[Geh&TG5F6M=Deo{T`Taʍܞچ|ۊԎ֛۰رخΣЧԨҔДч~ᆅ⌌ↆᅆ⋍䌊璏薐薎阒Ꚏꠔ꜔죘뭠촧´ŵƶȼȸtpHQ9H&D^?P
9R>Z@|.U2UɋכZiw&LgF_>aDjBfDhFh"Gn(Ip(Hn%Fh F]>]:b?b<e?e>\?XDdNNikyxwqpnrsp{ԑ֑~ԒӎҎҎΎΐ~ϑҔӓґӓҔύ~Ί|·͉~Ȇ|zy}~|}}~z}~zyy{yzzx}z|z}zʄ̇~Ɂ{ˁ|Ёx́xπyDRHQEOENCS@PCL=J?LBN>L6F:IDMYYibzqqx|z|xz~{urmtbb[KN;M.K(E.G6M5N<R?QBPFTFV@PFUCQEREQDOGSDQDQHRKRLQKPQRQPTUVWSTWXRSVTSW\Xwt9RV^΄oҏLWVd^`m]tT`]bF[wL^RSd RI -@NBWz9ldQV@\O]En)^o$\M}=fs*ZbEU:X?hPVD`A|@nT
C_NJfTZGo>nk0TR>RGH<t2VrxK\Faɀۡیڐؓ։ӌӜܲشլױӧҪРϔԄ~~ᆆ㊊㌊䊎⋊䍌揍攎꜓虒ꘒ霐ꛑ또랖쨚봥ijƶȺǸƴ¯zvKQ8I$Ca<S
:S>XCt*O.V|ٞdv~,Pk&JeFi$Kp*Nh"Fm&Ji!Fl'Jn(Ik&Hf@]@_BbBa>e@a<Y@ZEr+S[puwtvmnhn{vщ~Ԑzԏ~ՒђґЎϐЎ|Б|ҏӓӕӖӓҖДЍόΌ~ʈ}DŽ~}}Āx~~||v}z|||{{{|{~xy{{{y}}~zǀ~~yv|̄}?NHQBKALCS@LCK?J<I@L<L8J:NFRVYlfwmlzxvxzx{zxriwdfYNO:K0L)H-H3J:L=P?RERBRBPEUIXEVDTBPDNFRBN@NHPHPLQOUNSTTORTUTSUTWXUSZb[Vr\NZOjRhffWu^gbsTa\dUdz"G\Lk,fXZ@KBSFXJ~V?R:[DZHr,\Ft<gt0\g"JZ>V>Z@dL[Ig(Mp2[S>\FU`LY>|FvWF]VRLaErx_a;Swݫܑ~ݘܠؙԍԊ֝۱׳ֱزҪөѤ|kTZ`iqwxy~ᆉ⋍⍉損敕癒Ꙓ꜔ꞔ뜏ꛑ뜐좔죕쮞봤ﳡﶦ︦ŲȸƸ|NV,F}Bc9U:R:V?kGw"Px٣q{+N{,LdHn,Nm*Ne Ef Hk$Eo%Ho*GjCb>^>bBa@d?f!E^?TBe K@dbsrwrslqnsȀ|ҌҐ~ӑҐґҏ~ґЍ~ЍΏБzђҒӒӘҕґґώϊ̋~ˌ}Ȉ~Æ|y}~}{||~|{}y{{|{{y}wyz|{~yxwr|w{x}vGRCOFRDO@MBN@L@M>LAM=J;I8HEPUTjfqfox|y||zzvvqqvddYNR:L.L*H0K6P8N<O@SBQFRFRFTDR>RERCPDPBQBNGTHQJRLSQTPPTWTRSZUTSWR\Ն㮉քdbPb:n6t:(=ZnjdcmV]LURV9TdJm.lu;g|KxL -=NHb"Xcv8iP :Y@`Dk"Pp&OdDaDeJZ;V
;X@]A^DaHf'N_GTBh.`O^Kg&Zw7id$YQCQ>\h}nDY]lݰݓܢܪԗЄ~ҁ՛۳ڶܹܴ׳̟PJ*>:PJ^Q`_lhsjpru݀⍌哒藒뜕렕띒ꙑ階똌뚍졑쪞봢촦ﶤﺥðôðꛉvqDL@p=a<W7T;T?lFw'Wf{ۦ|2Rp Dk Im&Jf"Jh)Pi$Jl*Ns1Rr0Ph!@d?]=a@`@e?fCY@XFk"QNknttupshprr̅|Ԏ{ӏҍ~ӊ}ю~юы}ю}ώxΎ~Ћ|Џ}АѐВВғБ͉͊{̊~ʈɊƆ}ąÆ~}|Ā~~}~{zyyz|{{|y{xxuuuxvv@PCNBNBPDPCQANBNDN@M<J;I<JDLXVf_wonsyx{||xsplxfdXQS:M0L-K2M6O3J:M?RAR@RFUGVHUHUESDTDQCTFUCNFNHRJQORSVSTSXVXVVT[Y_މi<A|;Q
9Q
<S
Ar&QxРקVZBQFT4LkEeR~?s{Ng%UOFPKu7nrn0^Q 6`EZ<_DaF`G`Hf"OYAX?bJZD\Ah$Vt._k#VbOp.jy<ldRl0`XEL>H9D[}qLZN^Ԝࠆߖݡ߮Ҏ΅ΊبܳܺڸʐHPBWK^KZEW@NBV6I?UK_Vfmrۂ㐊蚓ꢘ뜔뚍ꚑ욒ꕊ뚉죒쨗겣몜밞®㒁vnRX3Jx@j:a8X6S;V
?iD{.^JeݪƀLedIhCv,Qj$Ii"HiEm'Hr-Jm%De=_>]>b?dCb@fGXBZFx/WWqptvxpvgpz{Њ|Ր~Ս|э}ӌ|Њ}ЋxҌ~э{ϋz|Ό{όz̊~Ў~Ґϐю~ђґ~͊zˆzʇ~͌|̉{ʊ~ljlj{LJ~
~ăĀ~|z}{|zyx{wzw|xx|szrrBOFRETBREPCQES@LBLAO<L=N6JBLWZj_yjotxx~xx~~sm|gh[NS6K-K+L0M6N4MBT<O@RESHVDRBSCQITGTDPEOCLANGPFQKRUWPUQVRWW][_Z`cc~҆r6KtBe>T=gELkufRX+H-M+NhSj*c{Bm^RCQJb#^D~pq6`M7W?R<g"Um3]b*R\Fl/Yc LV>dGX=V@XAr,\HdKt<vd(Ti%[f)_OAJ@n*Lyp`dG[̌ޜܙޢުۮЇυҕڮٴںڶ̃x[bdjtyrvrwhs]jQ^<S">$@$>4HFXjo݂斋ꘐ陊靕陎疉ꗌ웏쪛겣쫟뭠ꭔߏrmX]JX<L(D~=w:d
4[8T<TBdEr$U=Zڥ̉YkgH`Bj"Fu(Ho*Kj#Eo(Il#FeB` EaE]?_?e<g"CeA\C^C:\dstspxkqlú|ԍ~ْ~xӉ|ӌ{Њ~Њ|ъ~Ћ}҈yЌz͈}ΉΊ~Ό}ˋ̍ΎЎ͍̈}Ɇ}ɇ|ʇ~ʊzʈ|Ȉ~ȆzɉƇNJņĈă}}|}{|{z~wzw|rxpyptGQHVDSDQHPDOCNEQDO@J>J<M9JANTTg^ujlyxvv}{}~vxmvci\RT9L-H0O1N8P9N:J=P@PDRJVEREQAN@N@NBP@NEPALENIRIPMSRVQVRTTY`cnhiblb߄mXRvB`:N;RFLoov\a:ICV G8T*SgTz?w|BugOVL\PyB|:{xMp|GtM ;QAXKr8cl%U\"Kh6_m.Xt0^Z@`BS
8T;Q -:VBt6f|>s~QU<y9t[HJ?TBclҁxKZஙܑ~ݝਛ߷қˀАӦۼֲqhT\fjsu{xuzpn₀~lpXcJY6L-E$> ;)ACUpr㊀摆瑇鍇蒊阍뜎쩜䘁vgUTEN4K1M8SFXBV?L1Dt:f;W=U>^?p%S~<Xؤ΅eto&KeIaBu1Rs-Kt&Gs+Ln$Cd?Y;`?^>_?d@h"GdD^DfLFbp|tvluhrtt΄|֏||֎|ԋ~ԋ|ъ|щ|Њϋ|ЊzΊ|ψvψ|̈~~̌~͌Ό|}͈|̊ˈyˆ~Ɉ|ˉ}Ȉ|ʋzȈʈ~ˊʋljŇĄ||~{x|u}rytzntBMBRGPCSJVKVFQFPBL@JAP5H8JBMTWbYwh{msyxs|x|zzxlxeh\QR:N,I1N1M8N:PBQ>QARJXGSBQDQBPCOAP:IBO?IGRDMDMJRGNJPOUO[fi{vtojne}jVemE:Vp0SJBPvcqbo1Q6R7Ty"IhMp-bMt7p]R\Uv@wM^Qh3ZhV@TDV@p)XcHSBWGn1`Kxk#OV8T6X8X:Z?_"Qm7VYYDh*UL7G6>V΄vb`lxܫޗܗܤݲ߾ٳЌ·ԟڵܽ֬^YRW\c]`kkijjqH\vt|uuZbaa?P?P8J2H/I2KGYhn㊄抆猆ꍆ鐈얋죘뢒ꡐ{tTV8M=TJbI\UiVcdjLNCJ4Bv=o=Y;T?[<t&V}/R֞ˇar}.OdBbCu2PgDo"Jr(Kp(IeB\@`A`=dAfAfDdFdIp#PRnrxtskpjn}{Ԋ|Ս{֏~ԋ~ԋ|Ռ|҉|ш~ӈzЊzЊ{ψ~ІzΉ{·{φxΊ|ϊ~ЋЌ{ϊ{ΉxΈẅxȇ}ʆyˉ~ˇ{ʋzˊLjȉɊȆȇDŽÅĄ}~~x~uyr{qznzAOFTFTFTJVFVHRBKCM>G:J6E4CCMVXg\v`ptxz}wywz~to|il`TY;L,H)G2K4J8M>PASDSDRDQBQERANEOBO>KFPAKAJCNDKJNGQKULUTZxnށuހyzpvllؠnq|~lzFdbU`jf=Rp(Il"D[Kk$_{7o`x0hp&fp0hXn1fK@ZH[e%TVEYD}=n\BP=RCh(VR}t-[T:U6Z
5`>\:V:Z?` Fr4fN -8J:f!B~y[`Zfڦݠܖޡ߲⺪ྭ٦ғӖڮΞJLBHJNFPHMOPPNKQ<CKthP[=LBRDYXiDTLZATEVDV[btv~z剃牂둉죗ﳦﯠ쥙擇~|ZdWfN`U]R\8I9GHNAI0B/C(Bz =y'HZAU>[Cw,Xv,PњΊ_jB[a<b@r/Ph Dm(Hp)Gl"Bb?]>b?d>b@f?a@_Af J3Ybvswrugmkm̀zԋ|ԍ|Պ~Չ~Ԉ{Ԇyӊz҆|҈zшx҈v·χxЇxχ{ΉzΈ|όxЌ}ьzϊwΉẅÿ|̆wˆ{ˆzʆ~Ƅ~ȈȊ~̌͋ɊɌņĂ~ƃĆ
}~vzu}u~oy@TFRERHWFRDSBMAMDN<I<I3G2D?LXUe`ugkrxuxtzuv{vv~gndQU<K,E(H0G3H3I@P?SANBRBREQBL?KBLBK@J?H;I?JBL@KETN_Zto{putj܀rނxހx|phpg}Wa/M$D} @`A^2[]#Qh)f~;t^}>sdT|7vv3j[g&XG>RCs<bv:lY@ZHBrZ>R=R?[L{AkP~YBV<Y=\8a:]<Y<S:V<XLL -5YcxrJXА⩌ږޛ⺨ݺ֪֜کɑ}7B6E7B3B;H$="=#:~6o5z6/:w9m6w;4GVaAV\eU\Q\R^Yafmtw|~}ꏈﰢﵥﬞ맖߆no`hX\5B(=z8r7r:}>{@~"@'? =,Dk8\;R:\B|1Yw&NҗːXhG]hCaBt3Ol"Gp(Ll"Ef?a<`?`=`>`>d@^?U=eJIbpwwzquhovv΅zՎ~ՍzՌ~ՊzҊy҅zЇ}ц{ӊzӉvӇwІyЄyЄyЇ|Ј|ЈzΊzЉwΊzΊxІzˆy΅v̅zʆẍ}ʊ{dž̉|ȉɈ͉ȉȆł}~|~}zv~w{r~@NHRDNDQAPDQ@MDN>HAO8E8G0E>IVTf^uh|jrwtwvyx|ztnxdhZRS;J3L*D*B2F3I9J=K@ODNBLDMBJAJBL<G>L?HBL<H;G=PQd{ʎԋzqjwfzhr|s{mpxkN^T`mu<^^:T<K ;QHk8kt8s|:|Rjp&ak$]Gx4h`d#VNDWDr4fq2a^MXBN~X?S
;P;RH`R_M`MS:X9b:_8V
5P
6G>L9w3QˇYclvݗݝޣⳣ߾۲ڮ۪Åo+<*B&< <r:v:o:o:l:j8j8l<h8f<a5] -3k7;Ubju\f[aXa]dhpnpvu}z}쌇쮙䖆kf;H'Br<m7p8l8k8j8l=n?p<v?$Ay"A`6]=Q<X<2ZsIГӘ^nF[z/NbAq,Nn(Jn#Gl%Df@`:`>c@^@d>fCYBR
<bGTitxtqmpklzuЈ|Ԋ|ԌxҊ}ҋ|ӉvӇvЈzІ{тvшwӈxч|҆x҈vχ{Їyω}ΉxЊ|ЋyЋx΅x̆v˅{ˈ|ʄ{ʇzɆ}Dž{Ȇ~LJɆʈƈDžÅ|{z}|z~wzuzs|>NDNBN>ODQ@Q<K<M<J=K4E0F0G8FOPdZtfkruyvyx||xuiwdnaRR<L/J&A-D2H6E6H4F@N>LHQBM@H>J>J@L>K@L;I5H4NF^łؚLjz^l_vfvf{p~r|rzwfrB\lF<X.PR<G @RMzGXz3kz:pbt1_Bt1i~@~|Byoc"UMCUCu3fXAq/h[IW[@TAR:O -;RDj,Z_Zm,_P -5Y
5`9\;J9F<U=opnfVdکࠃߔܠިᴨ¶ݺݲݶƍw*= =<w6n:n<k:l=i:g5c9d=k&KCY9Rm?Z7Y9_
6>KXfk`eZb\ddiklrxxu덆᠋[Z(BjDd@eCk>~(F|(Do=h<j=oAl Bp>z<l8d8_7U:Y?v)SqF̊[nH`v,Lo#Lp*Ln&Jl$DkAb<[<`=c<b?eAbCZATBr$J^ly{spntstΆ~ՎԌ|ӌx҈y҈z҆yςyчxЄzτzτvц{уvчy҉y΄y҃zІyψzЇ|·|ψs΅{̇xɅy̆{̈zʄzȆ~Ȅ~Ƀ|ȆȅȅĄ~~~}|||~|{~z|y}x{x}v{s{>L=LAN<J>J@N:H;K:H8I6D,B+E5HPTbWrc~fswxtrv~tvnhxbe\RT8J(C&C(B2F6J:J:J?J=J>HBN<I<I>L;H>J9G8G0H.Nτ~tZQnbravelladox^o-Mz-Sm@X@JDLEU^l'X^IYd)SXOx<pBwz5v_lXJJ<XFn0`TFd$Ti&W^f!KXE[>T:T=TCm4_VGty:pgOZ6U -5J;H -:H]͂zHWΌ㲙ݖܢުྰܼȐ{*@)B!>u7g9f;i7k:h:i;]=hCtJFfXpt$E[
7Z6a:*GXXbdYbZ\bjejnouw}zꊄµŭ篖PVj=aD\C^Lp!K2dWvk~?Vk<^
5f8m>p?n>c7h:a=V;^@{.WpFȆ١`rAYt'Jo Hv.Ps-Km"Eg@a<^<`>b<b=cC^>[E_G;Yjsxvvuor{{Ί|ՎyԈzҌ{Љ}҆x҇z҄wτyЃvςzцyЂyτvЃuщЃzσyЈzЊ|Ά|΄|Άzυz΅ÿ́tΈ~Ά|̄|Ʌ{Dž||ŃĄƅ~~||||z|y|u}u{vzw|t|t|qx>MEPBQ<L;J?O:M:J:H5F0D1E)B5DMNe[sbivs{xx|||vtlvcfZSP:H*D(D,F4H5J<N>KAN?K?K?M=HCL<JBK;I8F5D3J0Ov誘h^\lctezfhrkC_jp]l|+Ox$KO
>RIXNp>pVzk#VVF{Izs9aJ
BNHv6l_F}YDpVHP>WG`FT>XHWF{Onx<h\D\AW:\>[AZ?bBW>b)Ls7abHT -:K=a@xw]`\nܘޚަۤٯĸȚ7E4D*B|9g8a7k?2IvAs"BpDT 8d@0W8T֮Ѩ~+Ns=;Z(GOTXbR[V[`gejnrpl~{銃Ǻ̵èoc|AbB`CZF\Jx*Nx[sȏfv*Id9b7j8n9jAd;d;_<T6`@~-TgDǂ؞^tBY8]q(My4Rp%Ho&EfBa;`<`;d @bB^>\@WBl"OPfryztttpq{ӊ|ԋzՉ|ӈzӉzшyщwwЇz҅|уtτzЂtЃxυzΆ~ЄwЄwΆ~ςx΄yІuΆ|ˆ~͆v̈́v̄xˆ|̈́{Ƀzł}Ɓ|Ă}ƅ}|yzyyxvztzw{pvt|t|q{s|pxDNBNAO?P?L@O=N;K6K4E2E,B'@8IPQf^r`krrxxyvxwnxbdZRP:L(C)A0E2E;JBP>L@KBJBL@M>LBNELBK?L9H9D4G!F[]ࡔݦ{ިׂvptlxjxikm[h{h8Rc@dALE^TFzDr\FXGo2hp0Yd"XPKYRx:nd|;s[~>o^KUBV@U>V=ZCSEk1SYe"M`DT9X>Z=^E\=U7YAVFR@^Rr(gNfvmEW֤㬒ܖݢݬٯྲ·լFNAM6F"?s;g8k:#BIY1P|/N>`lEt(HCeo(PҮ潾ܰn~&HLU@T@IRXLVT^Zcdkghjp{v쏊лвۘ>K(HgDz0NbCdCx+O?dTrԛ|9Jv>a8g<g6i<b;b:bDX@d@~3\gD֝n4NDfs*L;Wl"Fj!Dc>b:`>a>a;`=Z>Y@]I}0R^pvvttssstτzԌ҉~Ӊx҇{Ԉ|ԉyΆ̈́|͂x҂vтvσxЅvσyЀv҂sтyЄyςv͂wxτ|πv΅{̄z̄w˄~̄zȀ{Ɓz~~|ā|{~~}z|y}z~v|s{ovrxoxovlxo{vzANAQGT=LCP>J?M<K8K;K2B,D&?4FOQbXrcntv|z|y{|vru^fYTR>K+B*C1G2F>KANAKDLCKBLFNDNGNEP@LFP@L<G(BiBMRƕ2O^T값筜|qzkQ\,D/E^BP=RGWP~GzHtfQSCm2ip-a`Pt8nZNaYzEz^|9tv|=mXCSBZD[BZCW<PAcLdp(U[?Y?X:Z;`D\8X5W9R7L@L>j(N^{@Zlڥ҇ɀ͒צܺ¶ܼױZ^GWR^HV8L2H{<l6&FHSXlz'J6V;V7WwJbſ۔AZ6IR\:HHTJXP_T`^`dmqt惀쒋óθŬpn<PRj|&KE`=]6RA^{$NrږzAN~ <h3`3b2f8^:`9^9W=fB~3ZcF|עx2QGbz.Q@\hDm$F`>\8a<bAeBc?^@ZBbE?[joxvtpnpyz̈́|όЉ|ӊzщ|Ї~ҊyzЄẍ́v΄vτu˂wπû|уvфz҄yІzσx̄vψzτzЃtЂv̄x̀yʀv~xʁ{Ƅ|~{|~z~{zz{}vxx~uvpsnvosjrmvpyz~ƌFQCPBQ@JBN@PBR8J=M8G0B*B%@4FMRb[sdmrxvywzzxov`dZSQ?J2H+E4F6I:J@KBLDLFLDKEKJW?MFSJQYU1B}9q:^?l@ƍc{穔ɢҾꮎTTbGR>TCSAOBXKx<n~:hi Pe"\cWq0fi*bd!Up/am+gs0n\b=yzH~RDVA_H[Bd#MXBSA^D}BghF\=bEZ<X:a>^<W9P6Q<PHVFZnUbH`Ɗ͔Ԡܼܰز\_N\T\_d\hYdQX<Ov8=EZV^Rl}.RrHy*X^˱첦~_kBTWVKVKSV`NZTc^fgnpp傀씌̾Һ輪S`M^lvWy4RB\B`.XYΠܔq~;L=m5j6j4h6\7^7Z;Y?o)Jz2ZeJu٠{0T@b6U<ZhCfA`<bBb@`>i$Fc=\:Z>dCNdryytuttyvъyҌ|ъ{Јx҆yІ{Έ|̂wυv̀x΅z̓v̈́{΄|wρyЄwyЅxЅxx̓zςyτxςv̂w΄uȀz}xĀzx}y{{~zx|swt|txr|mtozltrwy}{ȊД؞@NFQCPBN@LBN@N9J;J:K2F*C$@6FLS`Yub~nryvzx{~~zoxfdZRP>M0G1H4I8I>JCLEMGNJPHOIPHNEL?F3<)<l<2[z$P<__|И˂甈ݯr`h!Lm0jM>R@M?TJs4nK|;tq5nh(aZKl0jv7ny<s|:rDys/hbUs0htX_L_K[BV=cFZ<X;_=f#H]DbEfFY=\:\<`>Q8N:J 8RLD\wxBVڨՂzܟڨܿۻԪZVR_VaR\VdhmjocjTf6R2N@TQgezaZuΧḺ忽ļ析mpso\gNW_cPVNXU[[d[d_hin~똒һ⮞P\<P\hp`HvM~lʢؠגgp:L>m9n;n6o=c>Y<`C_Br,Lu+RdLcvڣ8\>`>^;Vl&G`>`>_>];^=k>f>\>Z?n(MZfuxssqrtt˃Ҏ~Љzщz҇wЇzцv΄|΅w΄v˂wЂxẅ́zΐ̅|ʃsυx̃|υx·{·wʅz̓yzxʂẑsɀw{ǀx|w|yyyyzxwwvyxqvqxnvlwtz~{Ň|ʏԖ؞ۢોDQEPFPANBNBN@M8L8K:J6G)@&A2GPQcYsblsu|uy|~vq{jg[WT@N4I5J3D8I<JAMENHPLTIRJRMP]bp8^7b;tHSlk~䔊្߫ɤʔk|<CXKYKHSMVQh)lPoZ{ApP>OCPDuB_LByw6mr2lt8xjgk(db|>rh"Ke$VR=[>T -4V
8]A^@^Ag GdB`A^=^#C\>R6J7K<e CruMX]qۚڕܥܰ۾ѪOQLVX^Zd`e[bkmrxnshl^kHXB[D^Sddntۋܜ㤡餟果څq_r_h_bV\Q\QZZb]eXbov~욕ડj|NmLoXpstzщבцprHP*@n4{#@{">t<r?d?[Bc"K`Fw2Ks*RcKdzܞĐGb;[Hcs$Fm"JcDZ:^AZ8b;h>b>Z8dC8Vgtxwsunr{ẍЌχ|ΆyҊx͆x̓t΅ȳv̓x~z̃zvΆ|όΓ̃zхwxЄzΆzˆ{́ỹẁv̀vɀw~t~y|vyv|xzxyzt{vyxxstqxnttx}}ƍ{Г֘ۤݧ䮇粌JVIQDRDRITFN>K9H8J1F0D-D$>2DMPb\sbmtwz{y|{wp{hk\UR@M2F1F7H<I>IFPGQNRLROYKS^PXY\8\
8*PJfƅ͂wyrΊۥifb CY RTNVP{G|PPW}Erl/Y|Gx_MJ@MC[NXUJ|H}v6pl,kv8xYvGR~~Bwn1ar9hSAY@S:U<Y=]@^?a@]=`<`A[?Y9O -4J -8N -6O]rl>U˕ଛړ۟ݮöݿҮLNDNP\_i^hdmcnjqnuospvkq\hcr[fGXRd>Q[lgpfinldk~ؑۗܛލnqW`V_VbZhXb\d\fkqzz闒氪ޘ֎p~vdp]gnrprJT4F&><t<8J-Av<t@eB\=e"HdEv0Mq#J^K\uؕ̓Vn}3TD`u,Jp$F\>\>`?\<e<l#G`BbBy<XLcjtuxmnop|wъ{ЊχxшzчzΆ{͂ÿ́zxʀxāzz͂zΆzόʒȄ{̓ỹ}̈́z̅{̇zφz̃ûz~t}x~u|swvutyvxvtxpwuzuytzrw{|Ȇwӓ~מܥ⨆⬅䯈它氆贉CPDPHWHUBNDQ<N9I4G4F.B(@$?0BHLc\s_qox}}|||~}yt~mhYXTBL/F0F6F>KDLDNEKLRKVKOFPXJhciA+Kbvlyڍnjjc~}S`j&Vn-`e QZF\RaRf^n,d`\V}IyRFRDTJ]IR`$ZwCtJTSn2nY][sDVrZCR<\AW?ZBX;\<_@^>[9_C`>V5T4J -5H <p)IwvJSXcڮאڜۨྰղIN<LJXZdbldtnrhpnspzptnvqzqvqucmTbZfF^`njvcyYl\x|x܂ރvxfsVdT`\j`mX^YfXejrvyꏍﰪ涰ޑ~tvlnjmUhRjTlQa8X*H&E6N3G4F)?x7v:e:]7eBdD7Tp)O`PVr֔Мd{~/TH`x+Ig>`@^>_?Z9h@hA]?dB8S]mtxrrmqvw˄|эԌ{ω~Άyυ{Іyτt΄{ʆ{xƄȁxs͂w˄y˂ŷvͅzȀzˀx˃v̅|˂{ʂzʀy~x{v|tzvxrxztsrssxttq{rwz}Ɉ~ϒ֞~ܥુ⬇泆沆糈汆汌籈DRHRGPCNCQBP;L9L1E5G0D)B%>+@JNaXrdlp{|xx||x|hjZWPCJ.D.E2D9F>KCMFLKQPSJPFPJWypapprdt^k8Xp,Sy4^Gmv2^_JW>PAWLONh5g{lXsK~Kd"W^ TO
FxCsg'bn2eXj,lh6lNPlnk|d*NP>\H^JV<]AaBZ:`B`@]>_D^>X8N -6D4S>foqkFT˂֙ڕڣڨݻòNM0BANPY\dbmgurzoxs|tzx~qulpppwwkrjqhk_jcnjrkxjxx~܁|vzw}YhVf`jbk\dZcVc_nxꊏ龴ޜڈ}oxdp^jcp\i^iQa>K4K>L@J=I/?|8y8_
6`8c<fBy-Ln(P_LVrՎ֤m2V?\r$F^<d@\9[:\8q(Dd<Y<a>>[jtrsmnhpyu|э҉zω|̈́yφz̓zτzˀx̓ẃxȅʃy˄|̄x̀ŝx̂vȂ|Ʉvʂ{ɂ|ɂvȃzɀuxxzv~xyyvuxyvwsstwptpy~}Ύ~֚ܦ氄洂贅鵇泆贇賅氄粂CQGTDPCT@O>O9I5I2E6F.C%A:.CFJ^Wqfrwz~yx|z}n~jm^ZSAJ,D,B4H<H=HCJFLHMHLGLFNDT`UwޏڍpyRm4^l3_j+X}8d@dj'TRDRB^#YZJYN^Wn6h}vhhSd!Q\NMFh+[u6nf&aOS{E}p4ir3kXW{R}|>tm-]h#RX<\<[<]>\:\;cB\?\;X<P6P
<I :}8O~rRW\b۪ؔܞ۬ܶıTN/G:JJVS[[gfooyu|z}z}wxz}{~|~yzttnrrxoulpoxq{z~}ޅ݆މov_i_ldndm\gWeXdZhr|荐ɼĺતޛ߉ހszlshn^g[cV^HTFTHTIOBL2@~8{ =_9b<f>hFs*Fn$N`PRkԎաp2T}2Rp$DeBg@`F[@_;o(A`;V;c@I_puqrnplm~{щ~шxЊz·~˂zχ~Їy˃|ˀx̀z˃y̆ẑwvˁzʁyǁxʂvɂyɁx̂xɃ|Ȅ|~z{x~u{tyvxvztz|ttrsrtmxtzӗۦᮈ䲅趈귃뵆궆洆泉貇賅籄鲇DRBP@N<J=M8I6F4F2E0C)A;w8%<EK`Zqd~ntvxyy~yp~fmZZP>G.D/B6G8F<HBLDLHMJNGLGMISNZkgyXoXoIik'Tf"R}:iJxp/\^NNETKq8pdTn-fq2nINvGxuCrPk/^XDTBPDb Vp1fh&d^"YZaPUIyDvWj0[M~`F`BZ@X>X;Y9[;Z<aB[BZCWDP>J
@Z@ope^FS~ޡޥܫߵóŮhX&>:GHRLVTYblbllsv|z||}℈䅈儂ㄈ⁅y|ށ|ރᇈ⎐㑔ጎ␖ᆊ݄kt]kckjrchXbZhYbYjqx劌訪ĺ⮧⤡ߎ߄x|qw`l^f^hVZPZR^PYJS8G<|=c9h:f>p"Dv,Jn&N\MNiӍקw7]~6Sr(Jb>f=Z<Y7c;f:Z9ZAl CWetvqsntqrʀzϊ~ъ{φ~Έ{Љ{͂z̄x̂z͂xʂy˄{ʃ{̓v̂zʃx̄yʁyɀwʂxȂ{zƁyĂ}x|x|t{xxtyvwxyzrvnrmpqtƈ᫊֜消鸈까빂븄鶄궂鵂貅貄賁贆賃DT=K9J8J<N6L2F-G1F/C&<;:$>AK_Zqd}hv|뜀||~ws}fkZYP@I4E*A2D9G=G@KHNLTLPKPKTJXVf]w^zOpRiEfy-bz?{KQr1_\H_NUJ^MzBzq+fJ[a~@u\Wq5iRf#TI
?ND^Tb[w@q|Aw\ \W Vran,dt@zyAxn9_QBX@_B\>]AZ?Y:Z@\D^HZHUGNFPEEVzkETXf֜ޠެ߲⾬ʰo!>.B?LMSQ\V^^dfsiruxw{~懇厌懆勉甊䔑⌋䊈⌊㌌䖓◓㔏㑐⌌䒏⊊ፈ||jrflopkpch\d[aZfYgov厎騪ǻ䱧ᥝߘމ܁|xyjsdl^hY`RbRaL[HU<M:x>g:h>h>s#Dx&DkEXFFdюޤ3Yv/Jp"Fb<g>X<Y9f:b:X8[:|+M`hqrnlnsww͈~φ|Ј{҈z΅{̈́z̃xv̂zȁ{˂{ƀy̆xȄ}˃yɂx~uȁx̂yȀx~x~v|}y}|{wyv{uzvxtssprovrtƌؠ⫇赊꼌컈빇붃鴃굁곂沅贆贂粅괇<N;K:M8J5L4H5I.F.F.E"<;:+C?G^Xl`|ktx|~y|x~vpem\ZTCK0D-A1A:H<F@LDLHMKTJRNZN_VmP|L}nwdwvJye$Ud S_QcXn*_Tv2jeXSz7wt5rg{@pN>J@QFZKe&_Jdz@{l2nl4jwDvdHbff$Rh&Mh!G`D^B^@]AX=X;ZDWFXHRDNGeDxs_ZJZˋܟਕߴสĚw=&B5EFRLSV]W`Zbhsgqprx~}}慄摎懆捉蔌蘑䔏䏍掌吐攎甏㑎掓䔓ⓐ⎎yvlthontfn`bYd\fY`U^fr倅訨汪चߏ܃zztxkndhbh]fW_VcS[NU<L#=t<b=h<p Br>z-HoCWF?`ҎܥLj<]r&Fm A[6jB[A\:d=_<[<c@?Xfkvtnpnt|xЊЍvЊzφ|ψx΄x~ˀv̀y˃{ʄ{ɂ~ȃzʃzʂzʁx̀xǀwȃy~sȀ{~v~x|w|wxxyuyvuqustrstputvƋ|ٞ㮇鵉켉쾊븆궂괁豄簀鲅鴂絆赌:I=LDQ:L7J6L5J3F.C,C#<:{>(?>JYVncoo|zwzx~uoilZTP@H0C,B3E;J;G>F>KCTHXQq\nx}Éy^~Vvz?ki)Yd!Rf%Tl-`e Ux;nMu6n_WA{XbFu[HL?R@O:ZJUN_T{DtNX\M~>x|\n.X\}Hc9P3TR<WB_BY;WAX@VDRCLBNFRb}pEWXcإܟߴܴĮҵt/B{:(B:IKXO[S\Ya[balipouy~xw焆玈葌琄薐ꙓ甋蜖Ꙕ旒甑吏呑處晓旐⌍xyrukqnukscjZe`iU]V`bk}袠鸭ࡘᘎއxyptjqfien_lXdXbU\QRDO#BvAb?f@nBt!B~-Hh?U -B:WҊܞȋFan!?e9V2o#CV8_<h<_;\=f?Paqwrsnnnn̆|Ҍ|Ћ}Јz͇{ˈ~̃|Άÿ́z̅΄ʂxǂ}̇zɃ}̂zʆzǃ{ƂxāxÀ|||w~|}z|yywwrvwwsrtrwrvrxƈ֜㭊趇븅췅괁곂鲄糅궈괅趉鸌7L:MBU7I4H0H0E/F,D'?$>}<w8'>HR\Xpbjo|xy|z||{n~ikZYU@L,C*@1B7G7H?NDcNthȄzppup|:V^!Sb'Zv=ph)X` Rh&Yi&Zh$Wm&Z~GB|x;s^z@zfnIth*VWGYHT?P?XASEUKd*Yr3ot8l_kkl6\NARJx2VuhuPc4UWFYE[>X?VBWDSBSFNF_ J}zbaP`|ܨட߷ǬGL]8<.B<HMUOTT^X^[bdnilptwtvx~焄挄蓊锎蕑ꞕ痐葎霕皔蝖曒痑阒皓敌䏊⅃xysvv|pulrdo^e^fY^[dbnw|皘¼뻰ᡚዉ߂utirbh_nZi\i\hTZRY?ODuBa>l Bt$Ds"C0Hd>YG|-RЊۜ̍\sm"AcCY8k>\;b<d<\8^;x)G[dvuqpmnvtц{Ѝ~Ћ~ψ}Έyʄ|̆y͈zʂzʁ~ȂzȂ~ʄzǀ{Ȁ{Ɉȃyʁu|x~x~x}w~x~{|xzuzxvwttsvppqvptÂ{֚~ଂ赈깈칆췃鶃괇賁资뷊귎鸐軓6K5N:P6L0G,D6N-F*C&?'D{=x<'CCM\Zth~lrx}{yzz~zqin`XQ>H/C,A0B6G9LETatht\bQ^XkdaeLx6hk$\m)a|:nv7hg#Ug'Yb Rf']j)b|?xu<ru7pZXulfaQXG]J\DZCWBYCVBUFYNl/Xx?v_Jh-HCWT<D>[D<\otnuP_v*N\DTAY>Y@V@V@SBNDRIM`zpT]\dӝޢⴢ̲zhO9g9<:JDLQVUXV\Y`^`_gfnpxoryv~~胂挈鏊蔌ꖍ꜔ꜘ隒階雔蘐皏盏꜒薌玆懄|~|uxqsnslrgl^a^d[dXb`iw晙䢙ޓތ߇ႂwykrep`kZhZjZdX[RW@M|?v@^Ao?nCu'F3Nd?VDy*NΆԔ̄sl=`8Z
4`6^7e:b<Y7[=5QdjsrsqnpzvЊҎЉ~Љ}ψ}͇}̇~ψz̄zȃ|˄ˆ~ɁzȂ|˂zʂxȁzɁvƀ|x}x}ww|{zy}z||xttvtxntquxvԔ⪀糅븆컅칁컈긁굀綇跍뺐꽖4J3I0H0H0F)C.E/G*F(D"=x;t? @@H^Xnd~mpy|z}{~}|}rzdl_TSDI/D*@6G5H=JGVMYHUMVN\Ved|PoFh>mH|>uAt~?rr1]s)ZiN_Vp-gHW_ \r6nkvbk)Xi1]n1f\I_HZ@Y@XDXCXB[HXIWEr.Rv:ncC6IX<H<T<E\epqwRfLf^AUAT=T>R;XCN=J@j&J}|efTdɀⲥᰟ߰¡X<Z<p<!@8IGRRXR[W^V]WZ_eikkstsyzzy~}凂针閎阉윓ꛓꞙꡚ蜒蚒界蚋ꕏ甈率}ywtvtvttpqjnbg`dVa^b`gwz琏ø⠚ޒވ߆߄xyqvkq`l^mZf\aY[MR8Iu?tA[=p?hBv$@9Nc@YAt Iȁ֔oxp?\:W7^:n"Be<`8]<d:EVmmyntppq̈́{ю~Ӑ~͊xψx̄ẇzˈ̈zʄzˀxʂ~ɂzɀzɀzyz~yŁ||ǀx|x}x|yÀ~||zvz|uvrqpulrrt̍ޤ豃븆~칄칂캃췄빆깆跊꺊껏쿖 2J0I1J.H.F,D*D*B+D)B~#@x Aw@#@?H\Xmd{kpv}y~|~|}pxfl^ZU@J0F.D4F8K@P@NLWKVLUN]S]_n=`<jx4my6oIMy0`Lz}1bdVr-hN^c*\\^zC~QVd*cl8go2\`JV?Z@[A^J^FZE]FZFX@d&HZD_@8Mb:F9T?CYbqeuR^\BQ7P<R;O6U>K;K 8M]tjP]\fڰⰘݴr9FM>Z@l>'B<JKRNVRYXb[`\c`i_cfkqprrrr{y元鍆菅ꔎ옐霖윔ꡒ顕薍瓊疌蓊蔅戀|}zxvqroqtslmfj`cY]Y`_gblpw咒Ƚ࢘ސ߉~yxrtkr`p`q[d]bZ\JP2Fx@n@]<oAdBz#D9N`:X <sFƀ֓qzʌz&HZ8^=\:r&Dc:`<^6o>PZnjspqnxvЈ{Ґӌ{Έzχu˃y·{̅|̅yˆ~͂zʀxv́xȂxƁz~|~zȁw}yǀv~u}zzv~w{{x{xxutrqmphnŀy{츄칀칄칆꺊뻋쿔ŜĞŠĢ2J2J,F*C(B*E'D(C'E$@}>w?u:%C:D\Woj~lx{v{{x||xzo~hk\\XAJ,A.D2D8L9JETFRFPGNMSMVP`*Z=|dnav/c<lRz4iz4jXP}^(UVP][j.gjaLzx?xc'Pe'U]HUDZ@dJ\E]FZ@ZFZEZEZ F^IX@y,Bj=J -;t FDY^pJlȉwv7TL6N<L
;L -5N:K9fBxj^^Tbw}ߴ⼬ȲpmODSCdCo?#?:HGPTWRXSZ\d`f^dafionrnptuzx{vx艂ꌃ쓊Ꚑ꜒ꚓ顏阐镎藊璈捂|u{wmpmphlpphkfe]cUT\a\cdmt{䉌쭨ᣚޑބނz~rwmqdm^jZgZbV]LT+EzBa=a=i;d>{"B8Nb8Z -=jEĂٜv}̍?ZT:X -6Z:t*Dd>]>b@*FadtktnppʈՙӓӌyωzΈ|χy·zˉ|̃xʄ}ˁx̂xǂyǀw~z}||z{Ā}|v}w~vyu|xywzwxutwopnpkotuԑ{⪂괂ﺂ캀칃캃칇ęŜƜƛƞŢ-G,H.L,G/H.H.I(G~%D&Cx>t:q:">:F[[ro|ltx|xyx|zxuw|dlZZS?M*B,I3J>THi?NCNFOJQJSK`M{JyX|w1f;oUGzs-_]Nzc%Y^&\e&^d&bXWqBtv|CvU\Pf'RgO]J`Dj$MYBXAY@V=ZBWC\#FPvX;^5o =R>\=CZZv>aPQ֗xyx2QO>H8J9N7Y=DPreJRZa֤ౣ微ʶƫXBJ:UBlCr:#D8IFRNUUXX^Y^]c_agkghnptvtwzxzv䀀戂猄ꐍꗏ閎Ꙏ뚌ꗒ萈ꒆꐃ猄{|xtsqkngnhjijbdZYVaVY\c`lruよꜝᥠލކ||uxzmtfp_l^iZ]V\DN&Bp>X=e@i<iCx)B8L]8V -?a>xؚw˄Vl^ER9V:n$@eD[@h>8Nihsjqnop̈́~՚ԕ҈x҈{Їz͇y͆}̄y̆x͂xˆ}ʀtyɀ|~{~zx{}z|w{tyv|x{x|x{yxxspptmpoṗxޢ鰆ﻃﺂﶁ}츅캈켍ėƛǞƝƞŞĞß-H/J-L,J*H.L1O'G~(H|'Hv Bo>l= =>KYVpj~mot|y{z|xxnnxdm]YP?L,B'C.LJbi@S>NGTF\TyqwLfn*XdU>sqTs2dgJqZOZQzHl,fq0p_ aYzPqh(Z`!Nd"Pb"RcGl(QXBWDT<T>YET
>^"Hr5LhCkAn<`@vKHcr`d)GQUҌv|}`?J;P:R
=^;jia_LXnt⿵㾳IJʳCJI9M<^>{%Ds='B5FAOJSPVX^[`[`_`bdjngortxzxx~~}{悀狄쎅ꘊ딍떎ꕌ閌鎉钉錆芁z|txtkibhcgbehj`dX^X[T[Y^ckjsည霝ļ㪧݄݇~sxszhrfm`h^h\dTZ@N AdBX@h@jDnA|*D:NY6T:a
<lv֒t}~^nj"FP:\<k>`BXBj<P`ohtlrnxpЍ~ԍzӐ{ҊwЉxϊuυ{̅zʈz̄xʂ}Ɂ{ʀvʀwȀwĀ|}t}v|x~z{v{u|zvxw|wwyuutunoop{s֖u䬂췂ﺀ}︁}캃뽎ĖǛʥʣȠƝÚĞ 5J-J.J.L0L0L,J+J|'G{$Ev@l;l8&DCKZXnh|lryꖁyxz|wqnyfk]VV@M(B*G'HPbh=X:ZQxuōyl:bTBaUw2meEv\yBj]SXVZ$]^l<qi,th4nq\ZE|_JeOf.Vc Lj"NX@Q;O<O<SBX?r$C9Q.C1Kf=.Q4]W~͐͆7Rw"F`\̃j{(LF4J -9H<~8NxoU^VaԚųȱnO:N:N -;c@*Fs;<2E@LJRNVT\]`[``d`dcflnnossxx~~|惂}鈁玊ꔋꋄ蒉ꔊ鑇蒉鍂舀|yxrhfabbhbf`c^`\`RVRXX\\fco霠·跴ދߌ߀}{~rspyjrbj`h_hX\SU5JxBZ=VAfDt$DmA)A;R^8T>_B_lѓs~Ƅgxn(HK -7b>e@^=X>w*JYaujrkpo|uяzԎzԎxՎ}҈vҊyψz̈wΆz̆|΄{˄zȂ|ǀ}Ƃ|~yx~x~|}xzuzw}wxuvuzwuwvxsuknpru{|z~|z뼃Ɩǜˠ̡ˢɠƘ0J1L/K0N5P/N1P(Hz"Fy#FsBl<h:$B9FZZofzity|zyyv|spoyen^XS9H)?*C&F>QwPTwƆrSxdf{&XbTz,ealBjSz>ie#Z`"`\ Zt@{Heq6u|TqYou>lrd#Pd$Rd)P`Ff NV=P8M8H7V>jH=NZg:K&@b@7[Hwq⣘ߥWdYD7FjpkBC4@4S:iiibXddhݯƮģZ4K -6P8N -6i!A0Hx:!;1DDNFNOYX_Zb]`[c]`djdjlqrxwz|~{v~憃}熀掇捈萄ꎂ萈莄舁w{tvvihdd^d_dad[cY]TZSZVZX`jm~蘒ﴮźۂ{߄|zzttpvmtbo]j^fZ\HR/Iq@T@Y@`Av"Cs'G-G<L]6P :^@Ndяȅpwm%HH3`:]=[<Z:5Pfhvoqlpn̈́{Ԍ{ҌxҎxшwчv΅xτvυx·yΆxʂxȄzʃ{ȂxƂzzĀz}āz~x}y|v|vyvvsvtwwqrpqlp|tژ|~츂|}쿎Ƙșʠˢˠ̢ǟơÜÝà1J1J2J-H.L+K+H(Fz&Dz @s=l;c7<<H]Zlb~lr|}|wvzxsnzfl\WO<G+@(B'B1LR_xkZLtRz_}Zw/ep \AjhOp9kKzv<l|T`!Yn4sIv@vhj(ea^\{<qrf#PYCZDb!Kc HX>S8T>O:n FfP|*EQY>PwB2`Fi^rFU؞nr^<s:8JO5D2D6v*CugTXXc˄ưվp1BJ:R
9O -9P=j<9Rz:$>.B?KHLNV\`T\Z_\bbddidmjmrvpqzzvw}|}|~|挄艁猄刀芁抁|yvpohfb`^c]d]`[bV\SYRXTZXcfly~挍쪨ۉއ~|{zsrrwhpen_k\aTWFP-I^AV@`G_<v#Ev$D.E6K`
3R5]@DZъ̋~v{s+KI6b@T:[?c@EVnltmpjtpфyՎzҌxҍwҊ{цt{pφt·vΆt̄y˅{ʂw̄yɅ{Ɂz~xƀxĂ}x|x~z|vyvwuvuzxttstnrrrҊx~}~칆켈Óșɝʝʜ˞ɢˠȡȡƞğƥ0J2L4J,L0N(H+H,J|'Dt=m;i9c9~79EXZla}mxzy}x}yywsl~bm[TK;H*@(@+B1F?NE\PjYccgd6fdR|9pT>qF>x~Fc!Yt:xzBr3phOp4t~ZzCfx4prJrg*\N<RAV@`E]?X>U?TA`El4d>b6R8S*Qw~a`SX+G9Bh_JW^:W4dDN5K9R8S[l^WbclƮĤ][K7P<S9S -:R9n(FAT;(@2C<IGLPUSZZ`]`\a_daheijnlqqvutwwwuzw~y~{|{僁戁犁兀~{|urrmnddZ\Y]VZ^bdjU^T\V[NVZbclx}抌좞Ͽޒ݂~y|xyqygofn^g]cUZ>L~AT<SB_>cCw(Gx'D+A/Dd:Q4Y
;9T͍̆||xx8UV;\>R9Z<v&IS\totlqmvlҊ~ҍzҊuЋxЇz͈xs΅t˃t΄v̂ẋ|LjzʆǂwǀxǂvāxƂxz|t~y}x}x{vuszvssmomr~v۟|氄ﺁ|~︃츄ÐƜʞ̞ʝțɞȜȢɡɤɦƣǡ2O2K0I0J.J0J0I.K| Bw@r<g:`5y88DXSj\{mxzꕁz|zy~wk~bnZVP@K,D&B,E2G;THj\|TtOt`}fXr'Yt*^@q}4j|:nWHo0et:u|D}n.rn2iqc%[e'_~Xp3sg>~d0TPN?SA[FU>^FdF\ET?Y
=e"F7as&H/TG\wtHO3Fy HOiC_aEP5W;]@F2Z<BUd_QVZa͂Қ~{Y9J5K5V
8U8T9s*EJ^:%</B;HENOSRZW][\]``bdf^feklqqvsrxyxxxvxz{z偀|僂艂~戅}zxtsspn`bRYNVY``fdf]`X_W\TZ^cdlrw犐ꞙӾޗvrvuxxzznphnbj[cZ^T\:Nd>Q>UB`A]@v"C}*E.G~(>j<U4\
<-N||ŁQf\<T:L:U92M_bxmwksm{vҐ|ҍzъ|ψzΆx̆{Άx̂t˄t̂y~tʁtʂ{ɂ{ʂuɁyƂy~ƁxŁvx}r}xzvxwvsuspqmqsuЍx⩁뷂~|ÎƗˠʝʝʙƘƘȜȢɢʢɢɥȨ4I1J2K.L0H/J,E&B~=w;t:f6` -2{76BWTi]}opxy~~zy~|vt~fl[WRAJ*A"?-L@^\dTmG^MmRqRi<ht%]-bAsv,fI}fz7js6nt6ln-nc"a]XURh-nlq1s_U^ NfWDQAZLb!Sl/X_CT9J 7^Bn&I~7aO_Sl<TnYȄsdlBX=Po'FV:N7X>K -;Q>hu|fmP\Pf|wʈ|xn%JS
8O6Z8W6W@u*BK]%<&=0C:FKQORTZY]YZX\_b`egghnnqmnoqxsxvuuzv{z}~~x~|~~惀|{vsmlmlSYFRQY_egielgmhn`gX]Y_bllp芊Ȼӿߕtsuqvwtwlrdj^f]cW^N]&CY@V@Z?aB\A{%B.H+E+Bf;T3[;r>v~͓ʅ̄}\mg=R;K
9X<GZik{qzptlπtҍzщw͈z΅xͅ{ͅt̂vʁvȁx̆wʀsɁũwʂwȂ{ȇ|ƂxĂ~ǀvǁwz~v~|vwvvrrqllnpzw٘z鲂|(ĕȝʚʠșȖŔƛǞȠȥ̧ʨȥȨ6N9O2L1H0H.F,F(@%@};v;f8`4|9<HXVjazmv|~|}횀{|ztpdmZVR<J,K-VFqfe{KZEZIVPqSrPk8hz,`i'TAy;ybZz2hx;nh,^o3pZ Utt;nPQe*bpx8vH{b\Q|Yj'^[Ll+[g%PX<^<l$IN -4U=iH6Nj_KMf=q%K@TSin"DT:P3K -2R4T9D:LfΔؐωĆw~̧ҜKP[ -4O5R9\7T
7U<u.HNa0C!<2E>HJSPWX^SZ]bY^\b`cachllnmpmpppwvwtxu|~{zyz允~~|vorwpoV]DMR[chjkejjjkjjmZ\QXWXlo熀Իζۏtqwuuxnripdi\eY`X]BPfDR<T>X<_?a?u$A{)G~+D~&Be:Z6^=f?mxҔͅ}~bln$CS:H8Z<Pbrkyhyhso҇zҌxΌ}Έ}ψzψ|Άŵv˂yʂuȂwʁvʂsǁxȀx~yuă~zǀvƂx~v|t|u|xzysssqkqotΈxߢ|춁~z﹂jÑȗɞȚɛȚƚƙȚǝʢʥɧ˥ʦƧ=N4K1H7L0F3H*B(A$? ;z ?k7e6"@?JZVj_zlrzzzꘀ{z|yxymj[ZYFX?aOlPjHW?R>PASDXTuXtPv6gq&Zf&[C|N\M}8ll-cXNh(f~Ten.eXXUTbCp3q`ZvPsbSD`EZBY@g=4PN -9L<WAl-TcFX8R<^FCfRh0LV8N8N5X:G8D3Дؚםڜघߨ֠[al:P -6P -4T6_5Y=X -:x.JL\.D#:4C<DKROVWVY^Z_W_[d^hbfklflnrkprtvvuwuvtwz{~x{}|~|z~{vrrtmlT_FPW`cca^^WVNab`]\bP[OTagvs옍︨®콬րvuuuuruprmtir_a[[QX&FX?V@RAXE`Ff@v@/Hv"?&Ab5b;\:Z
>_pГΒxzdpt$FU<H
9gAW`zp|funztӋ~э||͈}̆v̈́z̆x˄xʀvʆūzȃzȂxdžyƄzĄ~ƀyvȄxwƀw~w~x|wwxwvtpprmrtq֕䪄|~~ÐĔƘƙȜǠƜɟȟȟȤȤ̪˧˦ɨȧ2J5L/G0J/H,C-E*B"?~!?{?t<n8&AEN\]oi{lux|{~}~~~xp|dnb\_Jb<\*L,H3K9J=PDUDVMjUxPw5a*`v,bD}D|lV}6hi(`J -Ej6lHj)]l/qVVWN~>vv3uh5]~ZGXGZDu-Tj"@4NN4M;N<Z@g#Od![^Mhwc;P -6Q8R<V9M7E<\DȤ֡ݯۦޮڬ˞UVb9S4Q1T -4X5b=Z
8[;t+EK]5N)>8D=HJLPQSTRTWYZ\ZX^afhdhfjlplnwsqrvxxu{xyuz|}z~{z{₀yssrljblPY^^bXWQ6t6%9>BCERRTWVZbd芇ﻭ}zvxuvttnrho^h\`Z^APe?T?WBT@ZGcFi>}%C0Dt>(De8f8\
:X -<VpӌΒnqnvz0MS>VB|,Jdg~o|nyjvӌ|ҋ|Ήz͇|̇|̈{̄yȁwȂxȂ{̀v̀vɂxȀzȂx}w{z~z|~t|tzr{s}tyxyxrpptkp}tܙ~鯁~~ﻀƕǘǗřƞǜȞˠʡʤ̧̤˧ͩ˦ɥȩ0J0I/G-G.F.G1G)B#>"?$>y:{;/DNVbatl~tvv門|z~y|}{q~hn`]dFT.G%A.E5E:J>MBMDSMdQy?h1\6gz0dBxH{pIwv1hVHLM\ml&`j2f|@Z'\vH}Q~BjO`%S\KTDW?y5Nt$Du(Da?L -7J8L
<T@n-^z1jwdldDV<YB^@R9E -;F9Riˏז߮ᷩڶhnV2R -4T4S5V7]:c:_;Z -9w*HWd9P+==JAHFLMNSVRUVXZ][`\`bddhjnpsoppoxvvttvuyww~{||{y}むytvqspflQZWZ\ZQV7P.KBTCR7J6DHKRW\\vt袘謟މuwsvpuknincj`bVZ(H\BVCYCTC`C`@mA(B(Du'A)Af8f7d:T;@ZЍϔgnz2NQ:o F;Pni}oykvgvԉ|Њ{Έz˅yɄwʄ|ɂy˂vȂzƀzʀxȀxɄ|ǁ}Ȁvƀzw~v}x{s{t}vs{wxtxwruprpsфw}|}ﺄƔǘǜɛǝȢȤʤˢ̨̦̦ͧͨͪˤȣɥ/F5K.F-F,D.D*B'A&A(B&A$>#@7ISZhhyoruzꕁ|z}{ukk[[W@H.F&B2I9K<MBLDPJZMnX~>f=f3c{6g>pw1gCnv1bj'`M
Jq@{wPi$`uF||G\ZxJ}`yG|a~vl,dj*YF -8K8^>aAYge`f>LAH<J>O@TbjFR
:f Hf@j Ha Fl%F6Z^dqtЄz؎ߙߦyr)BP -8W :Z<Y=]<_5c:[:\B|.JZh:O*=?JCHNQKPTYUYTXZ\[`]_bhbjiimpprootsurooxxw{zx{xzw||y~}vusvtps]gRZUZYZ[\[^^d\[PWKWFQR`Yh|橢䟑␄ބ}{|tynripfp^f`dFUiBZBYDWEQBbEbBo B,D.Hv&B,Be5i8h<S=|-NʈҔpx~~@WT?n#EOZwm|i|i{tτzҌ||Ίy͇v͆wʃŵw͂x̂tȂ}Ȃzƅ}Ȅ|wÂzĀxȀxz~uv|v}rytytytvtttmqtp֎w{|ÐɗǝɜɜɣʠɟḨ̌Ψ̧̨̦̣ʤȣȤȩ,E4G,D0D+B(A+F*E!;"?)C)C/G<OW^lnwqtvxz{{z|yv}gqe^VEM.I&A0F8J:F@PBQI^[xSj@d2YjNv/_Bwt1bw4`d"RNGh,dlN{l*_y=wu:rq4mj(ltFx`t5w^^HxK}G9K;hG^>ij܋tHVX6? 9E @WN^@h\LH
:<\:\PiOfYpqNR[^\`fnϭȰf$<P8P9Z<d.Qj>^e&J`6b6[6^Hw-J`mEY.@:GHPJOPSRXVZV[YU^eZ\_ebgdjlnnomntrptqsvutt}~ux{x}|~|yyvxvtplnfj`kUYX[YZ^^``QXQ^fxՅܝ嫤欞晎⋅܁{{uynvhpbkcfX\/L\@XCZEVEVE`CdDnF9L2N|(B*Df8k9`7V ->qHŃҘls{~G]^Dl$B`fxi{pwh{oҊzҋzΊzцtφzΆz̄{ɃwɃwˁvȀyˀvƂzƂ{ȁzɀyƁyv||x{|sys{wzt|xtqponnztڔ{讀~}ÐĖʛɟȝȞɠȟȜʠΣͦͩˣ̠ͣȡɥȥ˭,F3H.D,B&>0C.D*E#B&B)B+B5MBR\aop|tyvzwxvz~z{{vfp`[TBJ1F'A1F5I:I?M?PK]RfQcRyjNRDj$X?sv4bn']`U\ VfHo` O`Uu:os2pn4m{G|QV|BlB~[yiRCN9fD^BZf،n|f]:@ -:E
9uJql#Gr&Et*Sz3VD[PhZrˡmbNRDUZeŋв[ZN>R?S:^:c@g$DbDf;b:Z9Z<{2KaoBQ-C:FHNMQPVTWTUVZYXZbXZ^d`dadhjklnommosqrtvrqz|zx|{zzzy䂁}x}}~|zxtvnplqaj`lagkm{xtyoz㊌벩踭赥嫟旑⌇{|yxtxpvhnej_bLXdBXDX>ZFVETCdGh Hp$F?N.E4J%@n9t$@^:\>hAv}әjtu}CYlE.Ill{oyk|p̀pьxЉz·x͈z͈|˄źw̃w˄yȂzƂ{ʀvĀ{|Ƃxƃzy~vĀvŀu|v~y~wzxxtvrsrrqpm}rޛz벀}~ŔǛʜȚǜɢȟțɟʡ̢ˤ̦̤ϥʥʣʧˬ̮.H4K.H.E4K0F0H+A)B&E$?,F;RHZ^err~vxz{tx{z~~~|tjpe`ZDO1H,F1I5G:K<KAQCVMfhqy$WUHe&U~=up&Zo,jh#bf^f'VSL[Tt2lq1oh1j~KaQZar3vfnyzu8kUEgHfDD\hrAJmFLC_,S`$LNGw0T\vUm\{fզčDVLZ\rvܼZEVG[HZH`AbFg$EhAfBd>\A^Dz1O`qGZ0F>KHQLVTXT[UXXZSVYZ]b`bbhfihllmljlopslposwuyz{z}|僂~}|}z|yvvvvtqtklimnp|z服䞙}}琋괤鶪賦䮡暎}|uzptkpblbl^e9SZH[IXBXET@WIaFr&Jo EFSz&A:O{$@o<x(B`<\<\
>ivԙkru~>S(KATrmzlxewi΄qҌxшv͆y̆|̇z̈z˂w̄z̈́ýxȀuzwĀxƀzŁ|x|w}u|xƀv|y|v|uztxypnpppnΆv|~~~~Ɣʛʝʜʠƛƚɞʞʞ̞̤̥̦̦ͤͥͪήͲ3A0F(@*C.E.D*F)?&@~;~=)?@TJX`iqs{tvxxvxv|}uvks``ZFN0D*D/H8N>O@PDVJ`eyWpz,`]Pj&]~Bzo*dB\lj.Z]RTOZSl,`q3hf+ep9pQy?tXe{D}S~wY{Yn-ap*Y5a:]F];\n'Sl(Pj&LG>TL{;dtn~͔ҢҫHPDR9WhlӬ˯l.EVDZF_!N`"JbHd$Jh%Iq'Hj"HfA`B\Gw0OZlM`8L@NITPXW^V\W_[^\^]`]`ahgkglikhgfilnkrnrsvyxyzzzz|{z~z倀{~~zxyv{zxxurutpppo|w荈겤紨⏎瘍괦跮账籦䗎v~qwswjvgkflU`fBYEWHVGYHXFYFk*Kt&Mt%D@Pw&B1F{"Cp >u#DgD\?ZDVeҘw~x~>U8RW^vl|juh|nЂtҌ|φzΉ~͇zˇzʃvʂyƂ{ʂẑvāvȂxȀzȂzƁz{w~y~xƀy{x~v~uwrvqxsrsnmqpҊww﵀}|ƒʛʜ˚ȚȘƗǘțɜʠʞˢ̤Ψ̧Ϩ̨α̮ͭ*B.B&@+B(B'@+C*B!={8=(B8ON^dlrv~t{y|yt}w~~{zrjq^]WDL3H*B0F2F6J<P<RZtvZwP|{/_h&Yo)av2jHoPtl)Ta(UWFYRZNp0en0bm0ck.ft<un/fVR}Iq6plPcw4ju2cKx@m<`7Z]>Z@g HMCp*XĉƄ͕Сհw=M?P@XjnԻv9@U9Y=[>]>b:d<c:h=w(Bn%Bb?`8\?mBYjN`:N@IIOKTTVSVYYXYX[WY]`_^efegkklnhmfiikgjllrrvvvwxxxxvszyyz~y{zutxwwutsttupyw|皎캯柘痍츮뻮긨賡㓈߂x}ousvgrflaf7NYCZHXHWAXCUBXDq(Ho#I|,F:N{$?1G~"Bx >w;d6V8X<AY̒v|;QNa]^xg{hr\~qщwъwχx̆yʇȳ|˃yȂ{ȂxǂzȀzǂxvĀx~y|t|y|t}~x~u|xÀv|txszvxqspontnw{~|ĐȚʙ̟əȚɘǛȗɛ˟ʜʜ̨̦άͨΨͪίͮͰ,D,C&@*B)@(@+@$>;=>'B=QN\bjpt|vxvwxux|yztlr\`YFJ1E&?*?4G5I<RPjyXrUiRtq Rp"Zr,d;vlYVAZFkBf[Na"X\Np/id(Wv1lh(\w:vp.i|Bnag*at:|bfi@vm$On=Zh Gm@Z;O6p E5VPkzƀɈҠظҮIKIR;PP\ɤ]TO>U;Z=j>]<a9f6c7i;}-Fo?_;f<Y -8o ?QeK^GY<JFLKQPURVVZXZ_^\\WZacdecchmeehlhkloiilnljqqtrtuvvsuyty{zzvurstxv{zwyzu||刄飖Ŷ槢晍컬쿳궦筟㕋ރrwrxpviohnZdiCWBYD\EZC]CU@_Fu)Gp%I/F7J&A/E|=}'@o7f8Y6V
>=Zʇ~}mt>TVfc^ve{gva~lЉxцwΆv̈zʇ|Ȅ~ɂxʁuǁxɀvz~zǀwŃyā|xzt|vvxt~w}x}z~vzpxqwlrqlnsmؒvxz~Ȗ̞˜ʛɛǗɝɜʞɝ˞Ȟʠ˦ͭΪ̪ͨΪ̪̱ΰ+B(B(@(B%?!<%<&@"@}"A$?.F4JJY]hpq|vxsxwvt}~yzzsktd\TCH.F%>.D4J0MB^m\vJbapNznUr"Z>yUlx;kTGbRd,Wp5li+_c(Wm.f]L}Brn,[h.bo.kq/d^c#`n3q]lbbdFeʊt8aFV7p#Dz+T<ZMbI`dx̐Ӭֹb^DQ:OBWlVAR<`>e?n?fC`:l;c8n @~,Cz(Ed<c:\<j>L_HZQe1EGTJPPVTZV[[`YY\aZ^^`ehagfjlldhfikkcdjhhjikppssstqqrqtq|xrpxvrvvuxx~}~y~䎈馜Ǻ´槝攐쯥긬箛䔌z|ntqvkwktek?XYDYBXCZDXAZAYEbFs&Lj$I4I4J*E/Fr8y%Bq=e=Z9S
?@]ƀzĈjs=Vcjj_uewbznwΉx̄xΊ|ʇ|̂yʇ|̅x̆uxɀvɄ~~xƀ|āzŀz}x~y}v~y}vw~y}vxnzptpprmlmowmڗxv}ƑȔ̜ʗʙəțʜʡʞȜʝɜʣ̪Эϭ̨ͬͪίͭα*D&C&A$B$@%?%?%A>z <&>+E7LG\\jmt|yyzv{u}z}임}ypltc^SGI,A#>-D1M;VghH^FVdrHvk V5o<pN\j'X^M`Qa#Vp2ff(\l2jh+^h.bt8fx7gd*Zh-bj.b}Ju{C|[V`$^\x[tx\\R0U@X
?|1Oat`zLfPep~ȎΜֻtDQ:L@WkoĠX8N:R;o#@*GdAb=]8n9f>n<{-F~,Fp?c:\7h:O`DSLb0D<FJRJNVYTWX[ZX[_]``_dedhhllkgfiiehdefhfljniokiosppqrmntsnlprqrrsttzz||ႀ捎騛毳騫Ľ츨谣䖓tyjqjujvkq`jlEU@Y>XDb&JYFXDXAe"En$Gx)H1I2L%?.Fs >v"?v!<b9Y
9U ->~7UwzˊknE_`gmasbwd}qΆrΊyΆvІu͈xΈẑv̆xɀyswwÀ{~zł}~z~yȀx}x}x~|}x|y|u{pxtuprmorljzpޘvxđȔ˚˚˚ɚʘʘ˞˞ʜɘȚʞΧΩЭΫϭΫήέϯΰ,B| @{ > <#?)D'B$D!B~ >#A&@5MDW]lnt~z߃x{xy||{~|{vis`^VJO*D%B(G/OZsnCZASHV]t>mp&Yr*_]HYHy_Lc"T_Nn5fc&X_&Xn9rh,b{Fxw:p~@st5kh.do6kp7m|Ftz@~YWh,dlcrp0[@@IB}0V`rs˖ȕ۳ظ˝>HJUCW^gƤx?KPDO@R?3F:Pd@a@Z8l>e=l=x(E8Nr"@b6`<h:G]>PL^5J8FEPJPOSVZY\ZZ][[[\_ggcafjffhjheekcdehihlnlhefjlnlhjglonroprkroqzzxzztt꓁虇쳘뛎苋ꈈ暏⒐fn_ldslsjqDYZHVAV>[Ea&LXBZA_BbAu)Hz)H4K8P~&B0F-Fx">(>e7T -5X>n)Lw|ГdjPcieqau_x`zh΄sϊwЈv͈{̇z̅yʂw̄zʄ{Ƃy}xƀwƃzȅwĀ}ĀwƀxĀzys}v}x}y|uzsypwrwqtrnkkp{lޜx|ŒʜΞ˜̙ɚɘ˞ˠ̠˞ʡʟ˦ͦͬҰЭϯάͪϬΪά(Ex?x>{:~"@#=&C$A$B~= ?,C2IFW`lpq~{xz}{}~z~{whueZRCK-E&H*LB\sIc:M>SJ]l?ifO[L_#WZad"Mb$T^ Qf*[f$XZSd+cg(dq;kTAuJ~z>wu<rp4li*aZw;q]Sh0c|B~dshTTMATdBd^~И⾴߾°⼩ҤFIJR8POXȓqfO
9Q=S:V;+BAJ^:b:Y6n<m:p>-D|,Fx"?`@b:l<J^8IIU/D3B?KKQTTT[ZX\Z^[YV^\^^`_bdeejmjnfefgffjicc`^\Z[Z_\dfgcopifomkgoljbhfef`a^e[bjphpvxz}oxeuhrtujhL[[fkvotenrCYFWCXA^D\D^D]FcBdDy-Jo(F0J6J,B4L'Bv>}(Bg9T5Y<hFv̐ZaZhkbudzfvcznφ{ΊyφyΉyˇz˄wʁvȁxȁz}vȀt|yĀxDŽx~|yĂzx}|}z~~||zqzrxqwttorqlmhk~qߚzőș̟̟˜ʜȚʚ˝ʠ̡̠ʢ̦ͣϫΫЬЭЮЯάЭϭϫs?r>v=t<v<z=&A$A~ :}< <*A4HDV_jqsڀyߋ|zꔀ}門뜀}~~qjra[QDK)F!E6XiXq6O8OH^bzs4a^L[Ir4lb!M|Gsl)[b&Xa&Vj-]f*[^!TTT`!^s@vkE|QNy?rp4kh+hl1d\z;|j5m~PLgNV_ֈkh̢ɾűִSTLTCRDY{}ĦZ<P?R;\=V<l84F_;]9a:f;j<v%Ax%C|(A+E^6^:g:Rd3HD[,C1F<HGLNPRY\\^_XVXYYX[Y`]^_cbhllolijildrg[T9@6>GHSMYS]Z`Y\Y[VWXQQOOPOPMKMLNHRRVWXf`ba>D3@DMNS>LFUadrtovJ\]CVDXA[@dDXB\BZ>fAf@3JlB2F,D*@8K{%>k8z&@p=U5\8cDhv͍Yjjsodzgxa|ivnφxΈvΉv̈zʂūz˅xǂxȂvǃzǀw~zƃv{Ă|yƂvz{}w~y|u|r{r|uzuusrqknhh͂ut|Ŏȕ̟˟̢̠̝̞ʛȚ̠ʞˡͤͨЬЪЮѰЯϭϮϯЭҭpAp>s>vAv"?}#A&@=}>=%A.F:SK\blvw~|yx~|}~~{uvmo_ZRDM-K&Omg~:T0L:Te~yl0`bQo)\|<iVE\HbPg*Zb(Xl1cm-`d&[YZ]^wJ{aTJV}@xs=va'`o6j^gNf)^xM{n3jy0]jp^uɊܲ˼xx=LKTAXclеJPP
=ZB^@cAT8c<.>kA]
5d9b8h:r @q ?|+D3Jc3Z6f8H\(FER3H*@<FFMRRQR][_[ZW[[XT\^^_d`gefhjillojnhneTR:N;K.>*=0<6>:@:B@HHL>F;D8C4A/=4B?HGOLRRXER?T6TDXWfQ^\blpuxinv$FW@UDY>`BeCZ>Z@bBfAt*Gz*Jm C8L*B0E6Hz">e
50Az)D[8]@^DZlʍhtvzoa|hxb|j}qЊẏy͒̆vʅw˅uʆwʄwʃvȃ{xĀ{ŀu|{}x~yÁw~z}w{x|s~y|u{sxutpnmjlkh҄qx|Ɛ˜Τ̜̞͠͠˜ʛɛʜˡ̢̠̦ͧάάϭүӭЮЮѰЮάl@l?p>q?v?|>&A~!A~= B$@8O:UL]`jvv~uxy~z~{z|{qlnb[ZBU/T\rBW.J2LLhrm_z~,\bKu2ch#O[HR?d&Rh-Zc,Wl5ff$Yj0bh*j^ bwHvkLHKOTDv;yL}|I~e'\j3n]"\>nh{mkb`bf伶̾ӬLRES8Q\hΩ~oSAXA`<b<^9T;`6s$>s >]=b<j<k=o ?n@v(C5Jj=a=d<G\*E=O6K.C6D@INSRRUS\YVTUUXV\]]bbedbadejspppqmnh\^V]W^R[FV>L<L@ODOLWN\NXO]P^K_N\ObLbUm`ve|jb}Vr]njqfhilrqnnDRZDVBRC\@aB^DU@W@f?gA|.HpBr?6J0I+D8Hz"Ah;{.F1K[9\<\BLaЈmu~|q_~rxa~m}rщxЉxЈw·xʄw˅yʄzȅ|ʃxȂyȆ{zĀv~yz~|y{|x}t~v}x|uvsuqonknnlՋp~Ďʘ͞ΡΠ̠̞͟ʝ̠ʜ̠ͣΤ͡Φ̦ϩϮЬѫҰЫϬЬϬάh@kAp?q>v>y?} =|>|=z"B,E>UAZQeeosr}sxvz~}}{|zqlqgVbC`g|B\,E.L<XbqYvRp7bj(Wj&Rs/^^K^MXA]NVJn7ig%]d(Ws8xY^uQgn0jzEL~KPPGwHxn2a{Do~D~l:vL`}{n[a_VaێۼpqGTFXWeГɦ`$FQE^DdAd@Z>U=`:p"Br <^9a;j?r"Ao!BpBr"@2Hm?^@e>CYz)F6J6L1H7I@JMQOOSUYUTRTWXXZ\ZZ_aabffghposnqnonnnfdZZVWVXU[RbNWKVSZZi_pZpmw{儜脡듬젵뤱잫w_{bvrstvnnpo__mAV?XCVBb@fB[AXAZAgAh Dy%CjBw&C:L-E.G5K}(Gh>z*@6O_=_<\BB[ʌw|}ys`ׁqwdǹrыtʉyˈw̄wʃwʆ{ʇzɄwɆzʃx̄{ŁxÀwÁy~v~vxvÀw|xz~vzy~vzvvrvunogimfv~ŒΞΞУΠ̟̠͠Ρ͠˞ΠͣΧϩЪѩЮЭѯЬϬΪΪΩϨͤj>iBp@r@u@z!A#B"@z={?*F8L@VK\alsq}vvt~zz{y}vzzpwWrh|EZ)D,E0NKhuVtOhJl9fm)\f"PSk(U_ LN>XKSHvBzp*^b!S~JV\xXed+cd(d{IW]Dz<p|Cq[%_i-\VPfhyocb\P`yxFQNVgiښ֮FPSGZM]EbAb@Z<X;\8g:n6k=^8c<p >k:t!Bt">~+Ht@]<g?:O|$A8K6I&@.A:HIMLPKRTVPRRVWZXYZ`Y[\``aglnlppnnnltlhh``\_VUWZTWVZLWNZP\Zmety錎휘뚘辶ﰫn`whwvyxwlljl5JX@WAT@ZDd>g?X<V:_;j=l=f<j@~-D@S(@0D/Lv=o:~)A<Ob>`<]D>\ː|uxbׁrxdрr̃s̊z̊z̉{Ίwƅyɉ|ʅx̄w̅vʆ{ȄxƃxńwÃzăwĀvxy~x}zzv|v~vzwzvqnoqfnoj؎t|˚ΞУΝΞΠ̜Ξ͡ΤͥΧϧΥϭШЬѬЫШϩϦΤͤͤ͟ʜhCkAl>r<s>y>z<| =w<w>/J:O@UHX^hrp}t߇xw{z}}{z}|鐀␔|lpB[$B$B+K:[`xIfIbDkw,V|2ks2`zp*WT<S@UI^%XNm+^f!YwFzf"fffn1p] Zv=vt=w|MfPz?wn6hg-b@rJxp|kiU`hsԯϰ?PW`jf{ؕ~]TVCXJXB_DbDcB_<Z<^7^:k<k<_=`:j>p@r At#B},Dx(D`<c={+Cz"@8N6L"?3J<HBKHKMPQUPVPRVXTYTYYX\bY\adlhjjmitpplnfhfbdY[W\RUVZU^YaR\P\\njxn|u|xnp{x`vk{rvxyttnpW\d>U=V<V@Y>h?d<Y;W8`8g8w(Ba:h=,ABV,F8J5Jz$Bw$Bx$@@Rg:_>\F>^ɋɄzw~hֆyzaрrˁr͊v̋wx̊xʊžzʈyȇzʅxȄwȆxɈyĂwÄ{ăzƅyĀx|w~t~yz|wzw~vztvtrnklhkmlےx첄ď̚ҤПУΜΠˢΠШЦϨϦЦѬѨШϦϤ˟˞͡ɚəɘȗm Dg?l>n>v:x9v9v:s:w<,G8L?SDT\cpp~vvxy}}}|}|욈瑊匉nxNW'D>$F/QRtɁRlC`Oi=dfOl&ZU~ff KZFZHRJd/`Lg"WAl8mt6u]b` \q9nzF_%_xNwjTS~LZPĄwtJ]˸pwSatkr躓ihZHYKZG[F`Ed!Fg CbBZ>^<aBe@f>f@b@f>t)BlAn"By*Fw(Ec>cC}6Q.J9K0Hz!=*D6IBLHRKOLPMMMRQTTVZZXY_dZa_ffghijhlopmmliecb`f^[WVTWVZXZYZVYT`^pbxbykidzbzcx`vfzt|vt|xlnfh4KXBXBVCSAZCdA^@`>]>h>f8r"Ad<k<.B9T~&D8M1J(C}'Ds>DWe<b=^F>_ʈΉ~t~n؆x{f͂tˆỷzʊw͉xˈxȅxȆxʉ{Ɇy̆wʅxɇxƄzĆxāzĂwĆ{āzx}y{|~y~{|t}uvtrrnndnnjܒwʔРңѤРϟΠ͠ΠШѩШҬЩѩүӬѨΡ̞̟ʛșȔǔƒƖǔe>d:j:m9l:s<v:q:r=x;/F8KEZ@PZ`nlyprs{~||{}훂葃|tqY[@J(@"E(M;\zgDaH^Xx:`cR`Ot]X?XDZMSOwF|xDwXPv:qv8xv<rƖh{D}zE|Dcn3ne+duFonNxpTeΏpJa~ּiqwvr{fn,NVL]"LXI[G^Gg"IdDb*L\D_FbEcH_Be!DhDe!Dj Du&En#Cw,Fz+Hh Ed>v-H0L3F2Hy"@,D-A;HBJDLDILOOTRYTUX\XXabadbdddfkfjhlijkfmjddbd^__`YZ[`XYQTQWQZXZZc]hdv]g\jWfVbdsuvxwsrttjjDMx#DT<XCVBX?_Cb?`Ah@`Bh=j@p"@e=m:4F8M'F8H/E0Gy >x:FVi;d@`G;_Ȇώ}m׀p؆tj̈́sʉvˊvȋz̈u͉xȇzɆzˉ|ˋÿwȅyDžzDŽwńxą{ÃxzĂvzx~x~y|xywvszrttqmlmcoliݕ{ʔҦӨҢѢΞФϡТϦҬӫӮҪҨѧТΠʙȘȖƔƗŖǗȖƖƚf&Lc<f<g<j:r=p;n;o>w;3FAM8L=NV]jfvoށtux}~}}|~|oqf[T@K)D"H$NTnĀFiC\LbNil"NcUo&Y~TyQ
=^HSHRKPj1^XP\!Vx=~FΜvo1n|RqVlw=tg,bb$czPrMvo|?kx_~zUoŏ½܂px쥏ئ{v*KXNXJ\H\ L` LdDhAj!Ca@Z?`Bg!B`?_@`Bq!Cp$DhBt(Bn"@t(Bx&Ek?a@o$C3P|,C6Ls >|(D'@1A<FGODNBFKSLQRVQXTX[\\]\`dfaeflfkjokmgiimdf`e`_\\^aZWXZTXQTMSNRQTOZLTP\T`hs~z|ptrqqmMP)AiBVBT>R<W>^?]>hBeDn"Cc<i;h;j;n<DS2J0H5H3D.Cw=x"@<Jq:d?`F8[Ґ{lفrv}mʃwʉxʊxȈuȈẅzɆ|ʈ}ʇ|ɆẍzɇzɆz̊xɈząy}|yzxy}z}v{x|yxqvtonikagjiٖx͝ԨԫҤУУТТЦҨԯԭԮӫЦ̜ͤɘȖȕȗǖȜɚȞʟˡʞ`?b>f>k@h;h8j8f6k;z"@<OBP>O>NV^hbrn|rt|{{{{~{{wpqd[YBL*ED'PXru@^F`Rj{7]\L^Ty2ct=bXAXFOJ\'XI~g&X\TNPa&dfȞGg5nbnGq<zr6w~ZmxcMs}7jfMxdQgԩۭzr~8GVFVG[J\F[C^BeCj Al BdAW?]<k@]@bAa!GfCm BqBj@l @o?s#@l?dAjB|-Kv$C:Rt#Cv#B,E,@6D<E@FCHGLELNSOTUXXZ\^\__faihmfjjlllhlgnbhdi`d^d`d\cbfdg^c[bW`Zf^jbgiru|{z|}p{hrpnlm >*Cc@V>UBT?Z>aBcDdCl+Im$Cd @e>j>i>k>GW3K.I8H<P)Ex<z%B<Ls=o"EgHz4Wă}nڅzՀp{n̆vʈx̊{ˌyȇ|̌|ɇzˉ~ˈ{Ȉ̈~ʈ{ʊ~̊{ȋLJ~ņz{{zw~x~w{xzvztroonhj_ehhܕvϞ֫ԨҤТңѢѣѨӬӬӭӪЧΤ̛ʜɖɘʛ˜˞̠ˡˢͣͣ˥bD`=f>h>f=i<h9f<j:,FL\GRFRJ\X[edqjzntv|{~z|~xptb_XCL)DE#NXtp<ZBc:`y2Zi(WcUt4]bh L\HUFGC`-\y@p^Kf)\WUR[{pt<f{pTSlLtBvljDlh-bme`V֠۸QTVIWJXEZF[BZD^Ah!FgAl Be BZB_Ah"EbDgD^DbDf"Fk BlDl Bp!@t"Br'Ch@d=x%CpB3Jt'Cl?,B+A5C6D<GCIENIOJTRWU][cY^\aaj`cdjikflfkfnfigicjejglbjefmnqprptyx|x|vxw{zy||x|hvqsolJUc8,E^DXAR>UBX@`B`BhBg Bj#D`?f;d8g=j<DT4J1H7F7L)Az"<{">:Fw%Dk8fGt,Nԓ~o؊y|o|nˋyɅx͊xʋ|ʉwʈ|ƇzȆzɊzɈ{ʈʄż|ȇ}Ƈ|Ć|z|||x~{|v}zzvxwsqklgjbigjۗvҡ֪֪֥ңѣѤԪԬҪӨҩФϢ̠˞˜̡̡̠˞͡ˢͦͣΣ̡̣bBb@d<e<c;e:d6a:i<5FITLUFRJW[`hfpkvktv}y~|~~}zrtc`ZCH+G D$KFfhHgHmCf5\l&U~8gu3X}Ck^H\EPHLEh4ay=nWKi*[] ZY!_lqOm|MqWa[h1guFbnDbo&WbQwge~྾ʿt_m#HSETEYF\I\B\A]@hBlChBg@U>\@h Da=c@c@\@aChAm"Cl@p @t#Aq$@h<`<n <r?t$Ax+DhAv$@&@%;4C6DAHDLFLIPKTU[Z[VW]abfcfikdkfjgmimimjpjmhppqnrpsvw{} 煇猆戄z|~{|zu}rwspnhy=a<.FXCR=UAZBXB^B^Bm'Fh@o&G`<k>a9d@n>LX5J-D7J7E/C(A.D6F|'Bf<pLp"Jăؚ׆s؎~xfq̊xˊvʌzʌzɎyˊ|Ĉ~ĆƊĆȇ{ńzǃzƇ}ćƈ|{zy|z|||zxxwtqrjpinbldj~ÑТ֬תרԥӤҦӪѤХСУЧΤ̣͡Ϧϥ̡̠̞͟ˠ˜ʜɝb<^>^=d>c@c>a>b@rC;KFPHTFSJS^edbqhwjpx|z|}{wqsb^VDO1J"D&L;Z\QtNl3`v.\s-]Kt>ev8b`JVELDNHr:fx;lQH`Pf"^Z[}WyZT_Sr}\^Nv;wp:tsBupPvEhkr:dYJiӖȱjh$G\IUGZI[J`!J^ H]G`De?l Dm Dd?W@`Aj"@_@f<l@^>\<`;j Bi>n<t!>t&Ai=b;l>v$Dn ?{,Bh=q;+@:!80><G<DCOFNJPNSWZ\_]e`bcfhffngnglkkmpnpoqtw|}y{vxvv䃃拉猆蒋鑎劂~~}߂|~u~uvyqRZ\7b:v#BVBVBVBVDVDbEi$Il"Bt,JfAf:j<a>gAo?S_7L0F>Q1F-G&@.F8N{(Ep>mKp H֚ևzڐuiʆxʆyʐy̋|ɌzɊ~ɌĊȈ~NJÅƄdž~
}ņ}Ċƈ|y|Ä|~z}v{w|yzxwvrrlpek`limޢĕӧէ֦ԣУТТХΠΤΤϤΣϧ̥ʟʚʝɘȜțƖƚ^:`;b:a<c@b@`>`Ft>6HJTJSDRLV^_d`ne|tqv{yꚀzy}zxora[UCJ.FB*H7RLhHlJi8fw/Zu5a;aGmr2\`"OXJNFMFu@mx6gPIZNf"Vj)j~PvqQuB}Yd]thm_Tn9vl6nyR~Ldpr7bKxPvuйt:RXJf FUDZB[E\A\CZC_;i$Eo'Fn<`AX<bAn"@`?b?l=c>]<`<f=n>l=n;r ?lAf<g<t"?o@s"=k=m>.A";r67-=2>:B@HBIJNRVVW`d`cacbffjfkinormtnptxxx䅄၂愄叉蔌葉玅萌准䊈߈}~v|||un/IX>kAw$CTAUAXDTBbHb!Dm$FhAo%Ca;q$Bo!@b:l;x AO\8P3I@V:M'C'?.D3Hv$B~&GkEr$L
ԕֈt؏tiƂtLJx͑|̌xɎzȆ|ʌ~Ň|ȉŇ|Ć{Ȅ{Ć~Ń}Ȉ|Çz~Å{}|~|||}z|v{yxxuvttlphp`jprଋ˞֧جת֦ҢѢСΡϤΠϣЦҨШФϣΞ͠˜ʞˠɜȜȞȜǜƜÔ_:]>]>`>_>]@]A\@t @;LIQJRGTGR\^hdnexox{꜂v|w|}xtqs_\TCL+GB,H4QNfGhKiw&Rj)So*]h#R\m0YZLa OUIOHr<ft2fQF]"T\Ts2rMdX`#Xb&`i3eah{tjfQp8yzbHjƀBfn5aUtX`Ǭi)Pw:U_LUIZH\H^G[D^H`@p-Lp$DnBb?X9d?m"B]?\<f>f@Y>`=`?f;k<p>k?r<j=h@q!Al>t%?t"Ah9-D,Ao6p46&:0><C=BBHMPUZZ[Yd^cbhdjejlqsxsxqvzy}ㆃ厌䎌扈憁狈菈抈䈇萎䎍王ވxvx}xgfj9W?v'BgBSBZFZEUF^F`Fn'Fk#@m @^<s*Ee<e>jAy$FVb?P2LDW6G(B0G.C*Bv$@.JbBlIיֆ~ykȄ~ʇxˎ~ʌ|ȌzNJzƅă~ƆĆ~Ä|}~Ä|Æ{Ɔ{{z{}|x}z{zzy{xvtssqpnphj_mwv紏̟צٮקԢϚΜΠΟϤΦҦѧѤҥϢΠ˝əɚǘǚƙǜǘŞƚĖ^=^<aBb@\<[<`B`Dt#D5H<KBQCPHP\[h`le|lqyvwzyx~|pnr^^XEL+D"C,J7RG]Pp0Vk"Nh#Rb!Tb&Rkj*XY!N`#OWLTNk4^t2cRJ^!RWQj,i^jXf&^Z S] \l5pZusZssXhnfxG`FvI`@[l1Lh)Nz6QTLWI]Gl$F^D[D[F`Dq#Dr"Dr"CaBZ?dBq&D^>_E`>n>_;^<d=`>k @m?n>l:k?k@p$Bl<s"?t(Ch>z(B,Ar<d7g5u3";.<0<8DEJOTT\Zb^aaicjfnhnmprvstvzyy~}捍䒍厊匊萋把半犈葑瘏唎ކv}zzzxJQa?\>v%D^FWK^!JVJXJ_ J^Gn$Cr(Ef:`=j!<e<b>l=x#AT_=R5OGZ2G*D9H0F.Hv&@/Kp"HjHÆٜ؈|֏xoƀwɉxʋxʋɌ~Ȋ{Ljzz~Ć}Ć}~
{|}{|z|{zxxxzyvtqqnqckcnx긎Сک۰֥ҞΙ͙ΛΝФТѥҨѦѧΟ̘ʙƖŖȖŕĒÓÔꪂ^B\>`D`C[B\AY@[>mA.E:LBPGRPXabiang|ntxz|뚀zz|||tnr`^X@K*F D(H4NG^PbcG^GbLYRe.Z_~<dVJd$Pi)XVJo2`l*]RGZNSOTU]tst2hZPl*jl8p{IYdjzxZ_ct~LvDkIaN`^%No+N[#JX!KUE\FaD\EYBXDa@r @t@u$B^@V>eAx(C_@`B`Ai$FaA[@d@]:b>k Bn!Bh<l!>d=lAn#Ep =t'Df@r#?~+D+Bh<a:a5s59(>0A>HJLRVSZTZ\a`ibfcmkkrtqvvtv|vy䂂≄扈捍撍璑揋匈玊䎋⋇݀rzyvml@IY;[<s#HZHW"M^$LX$OX L]J_!Jo%At.Id;f?e>i@i<l@,EWb>L/GCT.F)@6J/D0Gx"@3LjFgHȆ֖؇w|tŁyĄuĆzȊyŇ|ň}
}ĄŅ~~|~|z~}~y|z||ywxwxvxtrvnqjkbldkɊzҢۭۮզО̘͛ϜОСңҨҩЦΡ˝ɚƙƓǙÔÒホ쵄|z؇egOa?\?]=\=[<Y=Z<\Bf@y$B5FDPHTTZcdd^qi{rtzx{||~~trua^YAL)Ex D{&G3N[t3Ub F\DWIj)[v>j<]4^YKd&Sl(Vd"Rp.\h,ZSHUKUQJPRsP_Vs9ro5q{D|WKfa}^sx4cyAfMeIdZ"LRKT"LTJZJ\J\H\JYHd Jr&Hw+H~,HcAWBc>v(D]@^Dd CgBe D[@b@bA`?f?l!@j Bn%Ck%Dh>nBn!Co#DgBo"D.F+By"Aj<e9f9n:|:,B.@8@<I@KJMV\U]\f\hbigkjkprrxvz}|~刉挈按蒌䇄ㆂ䆂߄z|r{srgd@NZD\Ej$LY%OZ$N[&PW$O\$L_"L_ Is+Hr*HbDm'Ga@fBgChA.JQ]?S;NAR5I0F;N8M3H~,H8NmJl#LĈؒx҈}xptpur|t}sz~wx{~~|||~||}~}zzwyzzxuvvwuxnohlclfoԘzÒӢکجդП͚͜РНϟўѤТΞ͞ɜȚƗŕÒﻋꯆpنcfPFF-@h;X<[@ZB^@^?X=W;YC`?p@1FDPFRIR\_fbukvxx|{~ꘀz|{zrpq^[TAK&DiE/Tf^9aV~WHNIp-ZJro,Tv0Xf"Mg%Se&Tk(Sl,Wc$RTFTHYRKRlDtw^g(\n4er6pf*dDx`h{F^{Tntgxinh1VLHNFSFXJZF\H^F\DmB{&B.Fz&DX=X=g!Bx,E_A]A_>hAjA^@_=c>[<a?f>h@o"An BjCq(Fs&Er(FiDl D~+G+D,E|!>u>q>n:x<{7"; :":&<0@;I@KMXTbZa\cdjjnnwwzxytz~|㇆䉆劄Ⴢ{zzx|x|zpuppkh^S0BX@ZB_FXJ\"MZLX$N`#Na!L]Jn,Jl!DcCiBbBa<gBo$H.JO_CZ>R=S8M/F=P:N7I&@6Lo Kt)Oȏאֈ~xrohffflkrlvnuwzwz|{~~~~~}|y~~||}|yxuxvwsunqdp`kouިǗԤ٩֦ӣϞ̙ΜΝΝϟΞΠ˟̛ȘȚǓt~hUL0?i8^<X@U>Y@[>`A]>Z<X:X>V>];q B-DBPAOANTVe_pc߀rry|~|x|z~tln_TP<Iz H7`ӰLmUttUEOGc M~8`q0YfJl'Ph#Qa Np/Z]H\LWFSHWLMPa4e~JLz?ub$`p6mhwJq;oc}SoyqfX)SQNRKUKXJ[JZG[Il E2L0Ix)EZAT>e<{-D_?`A\A_?hA^?`?d>]>c=dBf@n!Aq%Bo"Cp$Dr%Ds%Bo!Bh=p!@&A6G-D~"=z@~#?/J.M6O5O>[H^H`LcKbQcUl\lXh_jdtdzuu~|z၇⋍⊊~}|p|hriplbVU4KYF\F[L\#NY'OY(SY La%M^"L^Go,Nj$Ff Dd@a@_@d=r$D,HN`BV<PCR<R4L4L8L6H}&D0Kw*Px*P̎{؉yrff`bZ\\`c`jnnnmlturrtxwx~z~~|z~z|}|xzzyzuwtvuvlpjqcj`lxt䲋ʘ֧ףҢϜ̛̚Ν̛͚̜͝ʙʚɛǒ~ޒnvZMJ-Bc;Z<T7U:Y;^>^@`=`A^>X>V<X9T<Z;q;-A=G;O9JIRa\qe~oyx|{vww}z{pjlbRP7SAgØܾJT|$XRmc~TGMCUG~>gv4]aKj$Pj(Rf#Pm*S\H`JTFSETHNOb0`|njt8dy9kf&b`!]~HswzC|n6toot>x{~Tq2[Nmah0YNBM@RDVBZGZDlC0H4Hu(GT<R=h Cu$B^B_@]?^Be@c?\?b>c?_=e@`?g?m$Cj#Ei?o!Al!Am Ag=j<'=,A-B0E1H?NLZOZQ`\gajbkenptpvjminlnpznruyuz܇܃މބ}߄~މߏޏᕎߔ۔ו՚؝Ïav{A_e.MW#HY'PZ(NZ#NY$L[!H^"N^Gl#Dh"Fe D`>^BaA`=t%D|*FLZHY8MFV:T2L8N:N0I}(B,H{+S~5WЖׇtՈmhX[bbRXV^ZX`faebbfionhlntsttuwxvu~xÁ|~~y}z}|yxx|xvsvqpmphp`i_kƉ{꼏ϝէ՞ϙ˒̖̘˘̜ʚʚʖȔǑǓ笆~хoZQ/@e;X;T:O:R<`<n<p>eCf DfBfA\=W=T:R<X;o<)=3C0D1EOTdcob|sw||}||x|}zr{eh`QbUxРGLNmr%TftLaX KT MPD|<d{8an*Vi&Tl&Tt2`_H^Iq1]VIXIXJVQu>svfhNu8fj.d[Ob%XwFswAZqv>|Rwx@xb"Tu6`f1aGCNFSFUE`Dn@.H8Ks @T>T=o*Fy(B^@]@`>^>cCh?\>a>b>\<aAb>d Dg An"Bj<u&?j>f<f8c8t$=,D3D6IAOKXO^Zf]``d_f``cflhihhejkljpnjkmrtwzw}yہ||{{zڀۀxڂ~ۂ|݄݈䛑槜貝鸣ᷥЭ\{j9]R#IW$MUJY$M[E^EfBf BaAX@XCi!F`?s(F{(GKYG\7OFX:S2L5J;P8L-F,Hy&N:WӕՀjֆ}ffQX\\Y\O\SWU]Z_Z^^c_h[cbibgfkjnlnpssszzzwwvyzz{z{xzy}tsorjqgnajdlԗПԢҞʔȒʗʕ˘ΜʛəȔȔĔ箊ߛ|Ҋue_8Hf:W>S@P:Z>e8w"=.F*Di>i"Dl$Fd!Ed@^?Z>U:V
8l=z!=/A/F/EKQcblb{mvz{~||욁~{rzjklj۫ܰBH}0Ru&Pc K[xj*PL?MDNFw8^Bhp,VdNl)Rn)R` M`Q~Dmd!Q] M[LXPp4jkmZx~|Fv^&UNK]#]WfxPwD|ReT|iFzd P_vÓa0`MKSFVFbEs#G-G:KmBXDXBt.Hx-I]C]CbF]B_@fB`@_=`>_>_@bBbBjBo#CkAl?r#Ce?d;f@m>-C2G:JFSQXV^`f_d^gY^_c`abcfeedglihjomppqvuvtzy|zwwyvvtutxtzwہۈߔ⟌⨖絡跥캤쾨༬kn?aX,QW(PYH^HeEc E^BVBXB^DdEv.N1LGUJa2K;PAZ3M0L:O6N1H/Mw,U>[יրnybcZb]ecdZbV\YaR]\bX`V`YcZ`Yd\b\gahdihljpmpprpwtvuysvuxrsorktfr`mdn؞ēϚҝ͘Ɛȑǐǖ˜ʚɚəȗÎ굌⦋ה|rjDLoB\BS:W;a>k @})D1G4H/Hx,Hu*Jp(Hm%IhCfA`CV@W@f>{#?)A%=,BBLWXf^thsx}|z||}wwt~v~߭Ӓu4Hx$H8[f"T|<_xVDLELCLDn*VDjv*TdLg&Ri'S^NeT|Ej~<he"S\M[Nf&`q>njrSmwp7w`*fq9tPwkh1jwJzF|Ffp~Dn}@lt8vIijT"MODVFf Es)P,H:LhEWCXDj%Fy/NfH\Fb D\CZ?cCh"G`B`>bCbDfD`@eAm#Fm&FjBl Ce@i Af<m>2G7K:KJ\T^[`]`_dZa[`]c`gfjbcejhlknilgmnsqqvtvwsrrtqqtuqxrtvu{ތ♋⟌㪘洞纤躣鼤꾨«ȪusDg[,NV!G]G[H` HUCTCZCdFp(G>WIWOb5P=S<U/L2I=N4N+G8Wx,VH^؞ivrbebfmohfjj[_ag[^Y]V\U`T^T^P]T`S^V`W^T\^f^e^gbmbihmjolokpipfmfn^jdqڠ~ΘКʏŐčȑɗ˜șʛʘɘ갇䨆ݖzjLTr=]9Z:_>gCr B+C0G8M5J3INdBZ5L{,Ft%Dj>f>_@a?q>}$>{$>t<~"<4FNR`Xtjtwzx{|wxy|玅䌎贞ٌrEP#Dx$I~0^t+VWaMBJ>J@K ->\ H;dy.YW@d%N_H^J`P~GkNys*[l)Zf%Sb$YUQm8fxa|Axmfotwl3du>}s<xZJ~NqVm.khrfw6]hRKTBcGnB~(E0HaBRCUCr,H~1J`B\@bD[A\>^>i DaA_@bB_Ad=aB`>l"?l#Bk Cp@hChAf>k:*C8N=KLVP[YZX^\_Z]Z^ZbZ_^cbhdkjlhnijklknpnrsqpkjrpllpprrro{xހzᖉ⢍㬕洞湣黢꾦뾤뾥쿨迪ϲ|u@\Z BR?Z>O:N>P;`=p!D=U8LPb/J:T8O/K.K=P4K~&E~3Pr#JQbٚ~ltmfilkqmljqlniedfdbh^c\`U`VbPYP[OWOWLWL[Q[UaX\[hX`X`[b\d\i\e]jXcUfagۡ˖̒ŊËďǖɘʚʛəʚț봊䧄ړvfX=Fq<Z7[5f=n>t"B*E1G8H7L5J?NkzcvRdCW5M}.Gv$Dj@jAz"@x:t<n6p8(@BKWRoepxzytx薀ꗈꡞ갢朄l[ZAP'I,RKornsi$ILBRBO?NBXCg$S:bn)Ux;fM:SB^Lr0[R{|6fs1dj%Pr>lKENLdq`s8ja)UtAiM|luFqo7vxF~Px?xb^Y[PfŖTn|7hvB^o8cVAgBmB)D5K`@RBVCx-C1L_?^BbA\>\@Z<jCf>`>a@]?^?a?dGl$Hp&Ci Bs BkBj?g>f:~(D5J<KMVY`X_V\Z]Z]\^\a[d[f`jjlhhfkgjgljmlslnjrmoklnspmpotq|wބ}ᒃ☌䧐殛貜縢鸡꼤꽢꾨Īĭ̲wf5TQ<L8K<M6`:n@1J:OP`(F;P8Q1J,H9H*D*Dz%Er$NXgْ}ptrlnsntrqnrlvrkejhhhehdk^eXbXbS^MWKUJTIZJUDTJVOYKXLYN^LXU_X^R]GXDYUbؕyﻆɐɒňŏȘǘțɘɘȕƖミ嬈ږtf\,A`<^<c>m>z&Ax&B~(D*B8J4G4J9L<Nqqk{_nI]=P4Lv'Dv$B,Fy<s9j8n9&?>GTTnc~n{z~}zz蔂砏|ttg^YBT,PMw`lЩw(DT?M>L>L=O=VARFr-WPwItG7L=[Nm&W`Drw2ew8exCrJ@JC^"Tbxg|JzCvv:pWp^#ZUVLTLgf^Yaf}Cj~:ct/e|De|e"MiChB'D/I`?T?U=y+C~-Ca>`@a@Z@\BY>iBg Bd@_B[A\?bBh BfAm$Dl"B{0Ip!Bl@g=b<q!>0F?JHPPURXXYY]Y\V\\d[`_e]dhkfgdddihjjllninouknkmomrnvvxuށ}~ߕ⠊䫐毗粖洜跚鶜껝뾦¬ëƯȱWvR#CH<J<[<q&D-I<OOb},L7L3L}.I~(D5H,E,Hy)Kr$O^k؎zqvxvzzuxtvpunztrlqroolojjhnfibkYaVcU_P\LYHTFTDRJVHUAVHXJWW[XZRU?Q0JDVыtȒȎČÎǔ˜ʚǘȖƔ걈ޗ|uf5D]6`;pA*D~,B+F,E0G3F8I7J8J8L7L|utr}bpTfAZ7N1L4K~(Dr=f>h;(D>HTRncqt{wzy||~zrrtb\]C[Ddgw}ƊW?RCNAQAQ?TDR?WNi(VQuHpE9H<PFh%TpFsv2bR}w@iTIOETHo4b[avTR|Th.mc-eb[[Yv@njhwbizu-X^JRvWbCgD(Ax(D^@R;Q;|5Ix-GbC`Cd!E[?\CW>f!IdDj'Ib!F`B]B`BgBdCi Eq%H|,Hz(Fo BjBc@r B4KDVHRNWNUQZY_X\[_]d`d^`_haffgehkhjjnkjllmmnjjmnrrppvt}yބyᗇ㝉䧎宕尖沚篖粖距긟깛콤ᆪƬȲɮ~\-PJ:V<n"Br@:KNZx$F0J4N{*F~*D1G(D0Ju Ep#Mlw֍yqpn|z~z~|xuzwyrwvsrsurtqrnomnjlfkah^eZbWbP\L[FZJXBR?SFVT^ca`XWZCQ0L>PӍsȒȎƌƐʙ̠ɚǘȖŕzܒjhY8Gg<b;s$B,F4J2J/H6J4L7I<L<K6H>P9Mzv}yshvWjL\@U@N3F{#@d8e4(@>HRRncq{zyxw{z|{wlrfZ^du^uzzH]RFP?QBR<N>Q?ODv;rUYDsSIGDXUUvu0`y7hHra%PXKQHi,`N|u2cd"XzJy^y~Kpd(]k2iq6xh2fff_HohtYLboy|ZN^ MLpm,UeD|&EnCYBS?W@1G~.Gd?cF_BbD^BXC\CfFh&Gh,L_A^C^BcAhDi"Do"E|,H4Jn"DfBbAo B6JBUHURXQXRXVZY\\b[`^dZaahdhhkiknplnlnkmhhjndemrstttxvށyއ~ᚋ㠋䦒䫔粚氕殙豙踜鶠鵜뻤쾤ᄂ£©ĬƮȰ˳ʱm:ZQAfBeBx1MK\u(J}2N4Ny(F0G9L'D,GlDs%M{ֆzwjqt~yt|w~|~uzvxtvuuvtvtwsvrvorjmgobjel_fZeR_T]TbHV@TOYXZk`eYSNDR+IFTږwʖʕȕɔΞΞ̛ɚȕđ窀eUQ|$>_7a:u$B0E6L0F1I3H:O;L?P@NAM7I2G7Nxt}ylw\lK[EU7H}&@f8e9z=<HVUplt}{xzzxz~zqlmd_e҇ܥC]^tv.RPBPBQ?R>L9N8H -<VFIpdpbWli|8`r.fn,^k.Zs:rPLf+caAld!Th(`^hr;bn5l^$[h2ft?up;uq@raje~rvm'RaLg{`MLm/am{l_Ew"Fj!KXJUFTF6O|.JfFfHaHbE^BWD] He Hh$If$Ha"GaD^Ba>r%Fi%Hx%Gw$A5Hy%Df?hDmA9L?SLYRTRZTYT[[a\a[`Z\ajaddiiknqpommlmnmddfkfgoqrmvlxރy~ᔃ☉䣑䨒宓嫖殐沘貖鲖鴗븛ᄂħƬƮȰʶ̮t@^\>WAl$DBTp"Ft(Dy,Ht"B~(A4J(C(DfAr#Jąnunuŏxȁz}v~x~z}v|wxyyzwxxwuxqutvopopkpincf_h`iZbWeSaGWOV\YjTk\XPBN2N^Z~đʘ̘˘̛ΙΜ˘ȕƕᅬݛr\Wz$>\@Z9t!B;K:H7F0F0G1H;M?OCRDQ>L8K2D8Nnv|m|`hP^;K(@j=^
7w @=IYVnjtz}y{|uv{vnnkj{Ƹԕ=]@Z1Yd"RTBP>V>P7T?P@VCk)Ta!Jc%J|;`VvLlu1\n.[v8hc!Vb([k0fx@|fTu^HTHo2bym-X^"Vf.ba$[]"\r>rNr<tRbnxwzDuHJvB_|H{\J?fl(OlD`CRBRBRDz0G~,IhDfA`Cd H^FSD^Dh Cl)Jj&F`EbD^E`Dt&Hl!Fz&H},H:K6FiAe=h>8P9NP[PSQWWZ^`Z\Z^TXZbgkikgkdfiknllllnlmffhljmljtnzv߁{{ᎀᑆ㖆⠋䢍婒娓檒谓殑貔級긜캞츝ħīȰɱʳ̵δŭDdT?j D:NjBo!?t%Bn C.D/H+By#D_?t#F̄ցuvqtoʃxxƂx}y~x|v{tzy|xz||zvvsususurrlnkogmhoclal`k_kR`X\bVkXjUXQDQ<Pxe賅ƖΝΜ͜͞ΝϟʚĎ鱁jBP^=Z<p!D9M>L>N8L8K2I9NDQFRJUCP?N:L6H@Ol~t~|nz`jHV.Fl @\8y#B<HTWnfuy|y|}zyyzr~lnn擔оnzTr;\`FdJ_J[EbJXCWF\Ei$Rv8_XGLEh'Rw5_n(Rk&Sb!N^Kf$Ss4gzDozChx;]e#PNBUP]{XR\$Vd(\n6me)dd*c}LPxA{zD|[vvr{SQSJm*XF{vPwh@Z@Q?TDSFv-Lw,HeDhB]E`E`GXG^GcDl(Ir(H^B`A`E]Gv.Jr*Hv A1K?IBKt#C`;_;0H4HS^QVPWVXa]U]O]W_adfkmlhjdgfljkihmjjhkljmouqrws}xx~⋁␂㕅㜌䞌䣎棐槒笐欗鯔貒굘춗췞¤èŮƮʴ˶ιϲĪs;ZeE4Ll#Fm"Fm#Fu'G6M2H-Iy*J\G|.QԎ|mxrwxǀyłzƃ}z~|}z|w}zx}zywwxx|wwtxvyssnrlrorjtjphrai\e_ZgZhVjS[ONRNTٍqﺉȕΛΘ͙ΛΛ͝Ȕ북sn^*C\;k@0H;L=L?Q:J7M6JCSJRLRHRAM<N=P<PFXlh|rxtzXa<Ls ?a7z#@7FVXohrv|~u|xy{vpnqs蜒¬Xro}xJ
:S@P8\Bf Hh"KfJh$Nn(Sx3Xf#QPDr/Vx6\j#L^Hf$Qh(Tf&S`!JXDVCVI`!PRNXRV~gm2jPH`(`p:kn6lj0jk7jZK~xAuKpsbwVm-nVr̚rEt@Vc JXHTFVJWL|4Qv.Ok!Hh#Lc Jb$L^$KZ L^!Jd%Km(Lt.M_"Ib"M`$Nc!J5Sy/Ls"J6RFWHU0MbF]B~-J9PZfW\T[SZW^N\W]fmafcejnfjgmimmlnmhihjiflhrovqxt~v{|߈|Ꮐᑂ┆⑃㜇垇䤍䠊夋毎讐鮏鴗쳕췘ĦƪǰɶɵλѺгp-Nl!<n=c>l;p!@-Dx"D/H},LYE4N֔ufwrwr~xł{Ƃsxx}vxr~zzszx{xy{vvwxuwvvsvrxnrmplpitjqdlcj``dYjViUdPTP_Sy̛ΙК͜ΚΜΝȒxՉeXSwAf@~(D>P=L<NAQ@Q;K<NLVTWV]JVDR=N4J@OAQJdSjl~yfm@Rr >b8| ;@LWZnerxz~{{z}ypnphހzᵪAhHTfjJ=M>S@T;ZA[CX?^Ao2Xl%Ko+R]D]BZ!LXDZKw:h}>lf(P_ IS@PBQCp5^^"NPFZ SuBoVb&[VLh*`d)\p6nk/ltBt^Fz<tn~ts`jxMzYRlr8l]Jv4ZRESHQERC5Nt(Ij%Fl&HaA^@]DUDaBb"Hj#Fx,K^HbDa@`@s#Bz*Ew$F6NMRLP8Hh;^<|(F6KYdXYPVM[T]`c^aadbihkhihilkjfijojhgnlllllqlvryt}rx}z}㐂㖆✊㚄䝊䝉妎棌馐觋ꮑ쵕븚èìƮɳʶͺνҼҲc?j;^5e:t;-Dt!B}%@r"D\C@R֓rdtp|tƂ{Ȅuāxx~x}uzt{wxtzv{vxtzxxxwztxqtrxqsntotjrmtflglfdh^r\lScO[Rw_ꯂŐОΜϝϚММ͙œ鵅trXDPx Dz(H9NCR>Q8L>N=O?RHTPYTYMTHTCR=N@QGUJYm*L~:\\rp}puP^u!@`9v=;GVXsjq{z}~}{~|ytkrhڇ~Xx{/Qf AL=Q>V@Q;T>]@UA^Dr3\\@e#HeHTCUBQC\KJxK}d!Mk-W\KKCQFr<_v8gLDNKf1cTGvYQ^$Tl2jo3fh,fn5s|QYy>vknp|nEodq%Ux|\OeL<N<OCR=3Fr%Dn@p"Ad@`A^@TCb@aCq&Ht.K_D_=Z>\;r#@{*Dz$E>PQUSVEPr<b<r"D9MPbTVERO[bffd^_\\fhhfhgilheljghhiikghmpqpnltnxqzq~r{z}~~㑁䚆❇⚄㜈枎䧏禋槎謒촖붘;゙ĦŬȰȲͷмԾͶdwi@Z8a8n8{'@n>r%Ch=[AJ[דq`vm~vŀvÀtr~uu~w|u}zxtxv|vxz||wvyyutttrvqtrvmqlujtilinhfmZsXqUhS`Sf﹄əѠКΜКΘ͛ʚĎ讀ւdXP1J{(H4MANCQ:M=N@NBUFVPXQYRXLSDT@O:PAQHXKYZ<n'KKff|wxz\dz.G]
:t>9HXYphry~|~|{|홀wjvtw͚_p2Tk"LO>O=R>R>T;\AUCu<bh%LUD\#J^A^GTBSHf%US~EyXBx=dj$QOBNCd)RTWOPH_(Zz>tt;f}Cy_"Zh-bw:ps6ni4ih2f[D|iZ[bxy[r[Ie*J:pL>N8M:Q>{,Bn$Fm Ar%Ff?eB_@V@aCcCl$Fo$Ea"HbH]@Z:q#>x(B|$B@LUXRTEJ|!:`:q$B6GL_GTMZ[acbcd^a^`cfeffmlikklkgckkhfjmnlllrnpnxrzszruxy||䓂㚄㚈㞇椊柊襎箎謎걖겓ìưǵ̶̺ѿպ<TX;_:m9u=h:r @iAaB\eֈzl^wpxpƀv~tĀvƁt~q|u|rĀu~w|v{u{x{vxwxzxzvyrtxyrunsktiposgjjcpXpSrVpSjWmΜԤўΞМΙИȒznX=K,K/M<NDS>R?REVBRFWOZU\W\LV@P@P@RBTL\J^L\P8\?z9[Zqs{fm1I[6n<7LXXvlt|~|}|훀|{zsfsgt`ܞWy@`v8]K;M<UBR<VAXAZEFl\DUFSDZ*Q]F\EVIm(XaFuUBl2Vi#NQ7O
@RDJnt4iQJUK}J~h$Yw@l~Bf$^~L}~Gxq:t`(an<qIh|@t_kd{LtN@HCQ`^tɬM=J8H6R
:x(An&Dk@z)Dd=d>\>V>]A_Gt3Ts+J`B`Be(L^9p>t<$@DNTVUTJK%>`7j=0JH[TZUUY[acedadch]`dhegfiljlfmllhmhjjllmkmlvtxs|u}vv}z~y~┃㔃㘄䙈䟉䢋禐媌諐걕겖춖ªưůʶϼֶ\<X:d:r1Kb6q!?]>b@kk̂vmbwq}tĂ{Āt}t}u}v|ruÀv{txr|xwtxuyyvuvvuxtuuyqspsltnolsgeealZoXvXv[w[uЛӡΜϛН͘˕ȓ~۔rTN.D.H6L=N@Q:NFTFUDSJUTYRZJTBP<O>NBRGUJWM`J_N 5V8fGBakot6P[4d72FV[ulry~욀||저{ytjxfdbY\ēJYw0MG<R?VCSAXAZDo3[l)LWATAXFYJVBXB\Im)YgK{PCg,Vp*RV?S@L
@`LAns.fQDwDug#Zd*[Mz>yw@sQWLj2lq=r\z>vosXzRz_"UDCd&UzyY@MEF?P<w*Cv&Cp>~/I`>b=_=Z=bB^Cq(Gx/L\BcF_C^:n?s=2HLURUSRDJ"<^8d@4NK^PTRT][bb^\aeahcgb`dbgcjemkigkhlhmimlprrlrqvnuqyq}ru{z}㒄☄⛆䟌堊觏䤎欐糘鲑뵘츙ªìůŰ˸˸ͺʴE]X>b8j9a7n<W -8f;rpЀuk_vpɃyȁt~sǀs}s}rzozptztwuwvxvwvxvuwvuvwssttsvospsjmgleda]i\}fڈbޖlt곈ĎРҞМўМ̖ʕƉ|}^DL/J6J;L>P9N@TGRKZOWRWSXFRBP:N8L=LJYIWJ\H\LeJ5K 4^Bx6Ymov8NU -4\3,@[Xrdr}{yx{x~{vkxfdZP\̓z2R^CLAVDT@R<[!N^!Jj&O]EU?WBZGVBT>TA[Go,Wm~BrQCf'Pz8^^EN
9M
<QF_KDq|;qt?qn.dZOq2dz@yw<wR\^~Ji0fzDyt:teyudbCh)VRFr&Z` GI?G>P90Et!>w!>2GaAb@\BXA^D^ Gr)Ep"E\A_?_A_:l<p<:HCJINRSAH)?`>i=:PFRTWRT\Y``XX^`fecb__`^gfdflklfmjlhlflhtsuqyvxtunztu~txy{␁㔅㗆♇䜊䢎壐复媒讔箘괕캠캜ᄂîƱȴȵ˸νҿ־طÕ[8\9f8^3a7R -<t>zq҈mgxmʃrȂw~r|p}pr|q{s~s|xywzwxwyxusstsvxustssrunpjnhkhg_ahfxh܊quxɗМҠҚЛΖ̖ƌlgP:H5L9NBP@R8OBQHUKWQXTWNVDN=O8K;M?NJXKYLaJbL`L6M<[Dq-Tayrtt(BP4\9.@WTtfnvꞀzz{|zti{fc[KdUbsTAM@YFUAR=ZCf(N_D^AYAYDUBUGYESCUK|<jw;hQA]C|=^\CM:R?[LVJd&Vz>iFtv:nYJr5mf-\H}Fx\R~J}r9pvC{s6qT~^KRCz8meRȨ̵T:I;B;N
<.DnBw&BAT\?c>[@[>`@b@q&Ai!B[A]@c#FfBp@~(DANNNJL>GDH0Ag7o;<NHTTXVY]\`]XZ[^bdecedgdhdfdjkibigldlhnksrvqsmphxrwqzquxބw|{⒃䘊䘇䜉䟍垉䩒橐氖毕貕꺠컟ªĮƱDzͷ˹̺ʵ<UY
8`9W -4_4K4?рtֆslh|rʄrƃtƁrɀv}stzv~u}w}uxsxvvrwtrorrrssttxptrulofjhkb^b`shގtzŐ̙ҞӟҜќΘȕƍ~aML:K=L>MBP=PANGUIRMTSXOTJQCT=N>N?OEOLWJWF]K`NbH -6R@XBl(RYt£¤ipo+HN
:]92DWWtesx||{}zvuk|hhae~_phjPHWLZHRDUE`&N`"IXE_EXBX@VCZH[BRKXRWx8cNAQ>}8\j(NN9bKaMUA`(P\K[Eb%SVIu;mf&\{H}E~R~J|xE|n4kwB{r:uV|wx>qK?_J^P~ƳJ?K=KDTA8Jv&Fu$CCU_EgA\D^HaAcDt(FfEY<Z<_>i;r=1HFLHK?HHNPS0@f:l>>OCRPV[[aa_[]^\`cdhbgdhdidfbf`hajdkemgollipntnplsoyr~stx߃xz{᐀⏀▇▂❌⚎㡐嫓媓媒殕籖궛뻠ᆭíǰŲ̺ʸ̻ϽZ -4\ 4S.\ -3O6.E{lׄrqn~vȂsȂtƄuƄu|r~pȀt~r{t|r|x|rutyvtststttrtrnpnjlmgiffd^ofqȓМӢҟҞћ͖ȌojR@J8M>M?L<MAMERLVLURVUVLUDN>P;M>PDTGRM[HVCZNbPdI2L -5V@j,WVoģkpt-HL5[ -4+@XUr_qu|zz}{x}ylyhg^ؔepz?]NEa GR?Q@a#Od%QZDX:`BU>T>[F\DUBRIa%Zsuv2XL>O=l+Mm(OR<i)Qf#KUDb.XWLO?ZO\Ph.[r4jj8jNR^|L~s?um4rg2nZ~y^t_YGNFZNwVhREI -;I<]>:Hr Bz'C5I`<j D^A`<a@e>p*Hf(K[B\<b:n?u::H>F@JGPZZST6Fg<o;BUHVRT]^`_\\]\``hdfddbhdhehdb^fahbibiejgmjtpqkrotlxr{q}t~wzw}ᓁ㗅㜌塋䢐䨖殗宗泖鵜깢E«ŮIJɸ̹̼ͼػu @X:P2X 4N8?Ozg|lyssŃuŁrpƃxqĀp~p~pyoxt|xxtxvtrnopqroqsrunplqhjefefbaԀq殃ŕēȐҟդҠҞћ͔ŊsڋaVN<N<J>K;I:KDNJWMVRVUXUWHS?N@S:MARJSIRJXH\I_SgQeI1K3O -7bJRmmqv0JQ2^7)>TTrblv{x|{x|zthzcf]؎^jn9ZN?bJTC]Gh)O^DWAV@Z?XBT<_IM
9L@NIyJpju.ZNCQBYDa$LT>r4\cJYJZJ[$PTCXKWHZLt3ji0bw=vQc~H{l6ik4n`%fSnjm|_j)hd Tv;`sJ=H<b@7It$F|,H~*DaAg>c=d?b>bBg?bG^$J_De>t"@"<5GFNNQWZWVSR8He
8w"B?NJUOP]\`d`caa`]gddec`hdedfed_eeebfcfdlfsqrjrmtnrjwo{r|t}v߂xw}{㐁☇✈垌䠎䤎歕存汗귞긠Įűɲȷȶͼ;־յfpP6N5U3P5LXwdvn{qpƂuǀtātxt~tp|p|v|qtqzrwrtntrqnrporlnkpmolnkl`bjb}̜Ϡ̚ēċɔНԠԞҟϘʍjsXJI<I>J=L>M?ODNGPSVTWTXTZES=P:N>NERNXMXL[J`HZMbH^G0I 2L6^DJl{ţrvx1KP0\6&?VWr\pv{{}{~xzwqdyah\}uHdR>PAdH\Id"N]BZAV:W<X?W@ZBXAJ=JD`*`zffq0XL>NAR=` H\Dr-S^AbJS=ZJVCa"QWHTHl,\b)Wj4ju@opZ^ R^![a&eXzB|Ll~I~k¡w|\GK?d>,Dk?x(Cr"Dj Bg@j"Di@`?c>h@b@^DdGhAu?0EGTRSXZY\ZWTR:Hg9~,G<LLTRT`]`_`bhfdagie_fde`d`cbhfhff`f_h`nhompjqmphtnslym{t}u݀v{}{ᎀ䙅➉㜈⢎䥑歑欗屖굜鶠«ªűɴȵʶͼͽοض̜T -2D-M2R 3Y\re{jzpƊ|ȁsƂu~v~t~tztÁt{u{qyuvqwoxtxrspqnrtqrknjmmuikeiaep`갈ɜҥԦОȕȔ̙ҜզԢӜЖƊtߊ`\OBIAJ;F:H8H<LEPKSPUQSRWJTCS<O9OAOJVKZO]J^LbMbPcDZG 4I3N7[B@btŤtx9MT 2[3"<VXoYtu~{z|~{zxqh|eh^rlF_VF\Je"Lf$N`HR
:YBS;[<X>XAYBO@MEd&X_ZFgIlbINAM?QD[Fj)Pp,TU9b HO8O=VEh*T`"PP>k/^d&V]&\`$[dgg(df.htEcz{zDqrx5hlqz_jQ@V>n"@}(Da?r!Bm!As'DeBf!Bl!Bd@h"Dd<c=`?f@z&F(F:HTRSXZZZ\WVTV-Dk;6L@OLVTVWR][]`dchdgaeficfbf`d^d\ecgbhdidhdljlhnjrkrpxtvozsx{zxދ}ߎ⏄㘇㜍䗉䡍䦐䪐存毚紜綡빥ƳIJǵȶ̼̽ٺİr)EE9H4X
6_[ndwkxs̊{}pƂysrzp|p{s}uxtzrwpzsvpxsqlonsnpnmoknghdebd^_}i֨͠ԦΚʔ̙ΛӟԤԞњ̏nvUNIDL?F=H:H7FANDONVTWTUMTBP@R>N>RFQNZL\L\MaPfK_J\:RH.J4M -:\CDctƨ¡xyBTU4\ -4#;QRp_lvy{|~|x~nj}ijfbbCdbOh%Rj&RZEXGS>X>X@Z<[>Y@VDRH^Ld|Fj^LNz~Bdg.XTEPCSF\!Kv4]k&LR8`GR<Q:[De(P`#RK -=a)Rl.`a [j:pcZ[~LTfx|zKnwzǮ}[BG9K6f&Kk"@y(Bs @]@u"Bj>n$Bb?f Bf?a?l$Ad@b@bAoA(B-FDKWSZX[ZXZTTLO&>g:<P>MKTXVXV\]`_b[ebgdj`f^gdh^gcf_hejgjdjhhcnlphpjrlpjvpxnvm~r~uw߅|~⌁⌀⑄㚌䝋㡌㤐妑䮘沚浘踣뺦뽩ƱĴƴǷʺɻ̼οտвYhA1H5a:lgl]zjytȊ|r|r~r~v~s~t|t{rxuxvxtyrzvuswrrsrrqqmmjmfgfe`ab`rΞզҞ͒ȓɑϞԢԥѝΗNjz_iTNPIMHOBN@J?J@KGPRRXTMRIUCR=N<OCSKZO]N\L_IZDZE[<Q=XF0J6H5[A|Ddv¥yyJY]8\3$?PTqdpvx{zxswxwvr~rplZmLsl'Xg%Ne"PTAS?T>Y@W<X=Z>WGZLi*Zn2[j.PQHYJb~<bn2XVBTARB`!Lw7[h#JT@XAU@P@YDf&Rf(WLA_(QAq_OTIf/`n4f]ksjri|6pKrmvY^&Z`'IBXX<x,BjBdBz&DfAn$Dk"Dk$BeCd<o"B`=c<e<}!@)@4GGMXS\ZZXXZ[[PN!<h8;N@QKSZX_``\bb^\dggffalfkfebdcf`fce`ffhcieidjfjblipmupumtl|t~vz߁y߆~~⑄ᔄ䕈䛊➍䠐妔䭘江粚綞꺥뺨IJ²Ŵƶʹ˽̺ϽӾǐG0D5g9ign^wk|vȄwƃv|v~t~p~t{p{sxmyvznwpzsxtxrtqststppovjllofec`jhےwМҠ͓ƌƊ˘ПզԢҝ͒ny[aTRRKLEJGOAICLBMHPPQRUQUIRDR>O@PBRJXLZL]J^JZCV@T9R5RH3F0L4W?w@bt¤z|Uac:^2 =NPodnv|뜀痂~|ߔ}◂{u|rkifykk(UXFYJTCVDW@X>W@`HZFWHm3\Fp]EUFTGbMAi~<d~>bVCWHTDc*Pd"Kf(QXCU>VFTC]Jj1ZXFZQi+V}Bpe%VTFUJZXm:njpd~lU~}>hs:_zQpsbxvRz>nGfo&Hf Cj Bk F}0L9Pm>e@hAi>d;`<f<(A)@5DIKZXZ[YYW\ZXNR?j<<NGTRRWR[Wb^b]_\efjiidojjbhde`jcbY`]b]fbg`jblfndpgmhqjulvryp}uxxވ~yކz~╄ᖎ⢌䪒䫓峘沘糟꺤꽫³²ųƸɷ̺˺Ͽ;Ը۸`<D6w:h^s`zp|sƄvĉ{|tzt|p|tyoyrzpztvtxnwrwpzsurtsutlqoqkpggfec_mczÐНӜʖččʔћԦԠИƈy^hUZTXTLNGO=GAICMITFLPVQRPTDO>N;K>NHVMYI[PcEZJZBZ<T>Y6RF/D2J:U>v9^j}ä~~U]]7[0#<JNl]lw{~|~曀㚁堆蜀qnyglmrbl&Rd&MRBVBX?W@X>T<`B]DXBe*Ma#GUA]HZKYHBk}?dv2W^HRD_#Lc&OWC`$J^EYHZEZHZGd*S^R^P|Bk}@qYJTHFBQNi5nffrqpFlJuM -7O:i0Kp1XX:h#A?QG[Rpol\s_Y{>Vj@n @c>c;k>a;e>o>(B4I@NOQ\ZWY[\]bXVHM%FtA?PHTTZ[V]^c`d`a`abfeicljjehbidgcdac_b\c]f_jeheohnemfnjwrzsym~y~v}x߄y߇{߆~⌀⒂┇㐈ᡍ㨎䩔存氚泠鸦軨꼫ò±Ĵƶʷ˼νͿѿҺ̯=WF:*Dh]tg|s{sĀrĊ|~s~v|r{x~t}twsxowrxsxryrzrxtsrtsmnjnghgehdgdnb|ēϘњȎÉčʓҞզҢΒjyY]TTPXVKNJPBLCM?KDNJNPSNRDL>O<K9HBQKYN\L^FYDXF[<S>WD[AXJ 4H2G6R>n1UdxåĢS`c8\9"@NQk]ky{yy{럀||ztkzfwum~Fjd"ObFXG[DW@] FX>ZA^BY>U@YBVD] Jc#LXEXFw7\r5^j)PbFYGg*S[HUC`$Gc"H[BY>S@Q@d&R^ RXHOtt8fL<e,eLE\ Zo4sZl}JvPblY~r0cN=`=|FmP>W<x1DI8N;w/Ir/Jl%Kcf[oJaOsy/Qk Bd=f!FhA^=f=}'C.E6ECLUTXZZ^`b_c\^;ItB~(E@RESX\a`]\b\dfcbgfjfigkdgggbd`jffcbZc^c]e`gbgfkeohplohsntnzrzvzwyv߂x߄y{㑅ᙊࠊ⢌㤏䪘粛洢趠躨黫쿯³¶Ķƴȹɼ̾Ϳ̾плҮpzF58Ji\vb|r|rÃqƂsx|p~r{u|uztxnwrzoxrxoytxtwtvrurrqlonmlmkihbn`䤂͘ҝȏĎʗ֣֤љȎ|blUVSPRVXKPHNHM=HCMGLHJKNFPBL8I8F9JFSLZN^O_>TCXFY=RAYA[B]I5H2I -8R?f%L_u¤äUbf<_4%BLPl`nwz|v|z}xqozboqsEhbH[A[@d"LZ=V@W=X>\HZCUBYH^"Le(PZFTFc Nq2Yj.Uc!KYD^"L\FXGXGg+Nh-TX@S;N=T>g%SOD\NPvr9kMJX$Pv@k,dt@zLh[dlQntf\E];TvR7g>b;H?]@w,HfCYDp1Ja"Ht$G?M]fo&Hh>b;`<_>o@*A5F<JIMVXXY\`^a`b^[<In?4MFUMU``b]`[bccbgggglhhdgbhdlhjdifcadbdad`fdkeielhiglimjrkuptqxs|tބ{ބ{݄z݇{ދ}~ᑄⓁᚆ➈䦒嬓粕䳝綟踦躪꾮ƷŴƷȶɺ̻̼̽̿оҲРM 6>LbWxg|uvĂws{zw|tzv~tzsxoxrzrwqytwuxtxuvrrroonokllmlgeXobsȒ͐NJÉ̗ԢԠϕĈx܆b\NWVTQRSOUHNDN>J:GEPEMIP?L6J8L<JCPHUOZM`J^BVI_DW@XAXF^H`P9L9L;T>f$K[sYdf<^:'FLQk`htszyy|xzytsxey|vKkgHbEZAdHU=WBS@V@^HUAVFd$Pq/Vg)PVCXKXGj*Wd(Lf(Ng&M^ LR?UDTD]Hu<aUAQ=RB]Fa"NMBl2gt:jk5^s>yTPs@q|Bu?kL|}Jvg`X}IzZtHy[>Y|T9d=P<Q>p&Bp<e%H[>u)Dh@m ?a?|-@r&D^@^;[9b:z$A2C6FBNJOVV[Z\^bd_]TV/DjB:LLZRX_^`a`^gghfhfhefdlelflhngmdhffcdZfdc^gdhbjbh_mbndpfpmsnvrxo}u~wހxyއދ}Ꮑ⑂ߚ➊䦎䨑孒䵝财跥黪켭꾭´òŵƴȺʿͼͿξжo EBLfZxixv
|yt}w|p|t|v~vzr{t{vxtzvzxxqwutrsqnmmppprnlel]l`چdxÌΚ֤ԞΕm|XWSTRQTNRJNLVDM@M>JDLJP<H2E.B9MIWKXL^GXJ\BVBZF\E[C\@YEaH_L -4L -5K8Q>b LUl_jm$Cd<#BHNj^iuxyxz{|zyrgtfۀ}z`ufEo&PV>`FQ>R>P
;VG]HUIu7b@ek'L^CTBTDZIh*Sb#Md$Kb#G[F^JZFVJSGd)O`PO<UA^I^$TPF~Huj+``&V}Myn2jQFyTNyMzHlubu<nd&]{Fqj}}8bKp\ CdHL<T?r$@j @`;`;o$Dr(Dg>^>d>i#C_?]<^8j:$=3G8HHNJRW]VV^_^`]\NS#CnD:NIVUW`]c`bajgkhifjigikejgkfkghbiiecfbgfedfbkeg\f`iblblgtotlupuowqttuރz~ߍ~⏀ߐ⛆⥍䦐䭔氚涢浢漪꽬齭³ƴŲȸɼ̼ʾ̾̽Ϻ̮VjGOj]zf|txmxz|x~t}w~t}yzus~w|u|t{uzvytzvvuvtrrnprlnmpeo`m\sZ܇`nrvxÍϝ֢ҚʋirUTRPRLOLOFODK<I<JANHPAJ6H&@1FBRLYLYHUJXBT@SBVBWBXD[HaJaCXR<R>N:M9[FJf}dlx0Jj>)DFNi_|du}zz~|{}|qkxhvvڇWmkF>d\BZAL>NBN@_Im&R~=ey:]c!CX>TAPDTGb(Tk(Qf*S^FYFVHh&R_$LZ#PRJZ$It8hRBbLXG`(\e.\m2[b%Wd$Zs:bRLLIIpȊb|d^L~i.gd+ddfn_zFp}N<[Dn AeD\Dh Bj Ap"B`>b@`>c>_>Z8a:p >1B5D;ELPPTVX[^\ZZXVWDNnC~,JBTLX\^^]ffgfhfkijghfmiqpifg`gbf^gaf^hdc`ibfae`e]f\jdldnhpjupvp{uzs}r|txx݆z|~ጀ⒁ᘄ☄➊㢎䬒䫖洠泠纩黨輮óķĵʸɼ˺̽˻̿λΰ̌LNpcxftjherpwnwrzu{u~zwt~xz|x|t|w{v|vywwtusopsqrmtpthtfr\t_t\ZގbfzƎњآЗɊ}`iVRPMNKQEMDM>L9LALHT@N>M1G.H9NGTT\LXHVGY?S;TASF[H\BZH[H^8OR:M
7M9J -9WB~Ddunu~:Pn?&CFLi\h{tz}z{~xpnxfprZrs&MBb^JXCO?OD^ Nw8^{;^h$K[HSBSBTARDVHj-Zd Om-X^I\I`$Nk)Tm,Uc)RWIPCk,W`$N\HQJd*VR^GUD]Mc$RZm4fOMS IoBdq?obhep8d\R]TxK|gvfN:^@k@^=T<n?c=d=]8b<`=[8]=_:f:z >,D>HFPORTVVW^^YXY\TZ3Gh?4JBQU\]\adedfeginjmhjkleqmmhldhajfieh_hdc^fdd\daf_d[mepjlkpkslsiwnxl|s}t}s߁uބ{ބvߋ|߉zߐߖញ⨍㩏䬔谝紤踦黨輮꾱±ŷƸɺ̿ʼ̼ʼ̼̿ϸ䶫WXw^xae`Z[cfffijnjpksnxs~t~wyw}wx~u~v|y{uzttrztsnxoxnykvft\q^iRsZلdxȐ֢ןғƉq\aRPPNPJO>HBP9L<NBP@L=L4G,D6J?RLXPXHZCVAV>R>V@TEXF]DYNb@R0JN:M
6L -5NAR@zA`xlr;Pn>&>BJfY{btvzvww{x~xs{jfeچzats'K?`b I[CUBUC\C`E_CWEWEXEV@ZHTF\ Jd"Nk+Xj+P_ LYIh,Ue#P_Ic"Ld!La!Ij*N]APCLDk6]}Fq\FPEYNl0c`Bzi/bUKWKVKWNtHr}X[K\Rn0lrBso_$JY<d<j?V>X;r!>e!C`>]<b<]8Z9`;e8j:(A.C>JLPOTPRXX^`YYXVIM}@lD=REQZZ_Xdbbbghhggfjfkhidpksnlfhhhdkbldlahbfcdagckbfalhmfllphsowqwmxpys{o|r߁u݂w݅{݇~ߊ|Ⓚᝈ⢉⦐㨐䰜洠帤踦轪꿭ĶȸȺȼɻ̽;̾̾Ϻʷspv^iXORDQTZOUY^\_fjgfnlqtxuzv|s{zx|y}z|tyuvswp|u~ŕo}hwft^tdk\viֆk췄̖٣֞ϐÆg|Z[NNLMPHNDP<L7L@NFRAO1F1F1G<MCTLZIXH\FVA[<R@WCZH[DXDYCW9Nv'?P:N6J5L;TAFdxns<Ps#@&@BJdX{ipvzxzxy{ytn|bd_tr_vx,N5Xl%PZCS@R=X@]B[CZDVDT?TD[JXEk,X_Jl)S[L\!P`'Pz>ag*PRCYE\@c#I]AS@OAP?wBjb J`IUJXNx@uigi0^o6jZHX HLFSO`zm[P\"RJ~Gxr4^wVuO
9a=j>e>R7]8h<a:^8^;]5X8Y8e9g;o>*?6DFKKNPTRRUX\^Y[XX9LiIx&F<LPV`\a[gcfaiggfiiifhdmhnincpjjdjblbldkbjde\g`hbg^ldhaoiojojqjxmvrvjyp{q~u|qނwz}z}ߔᘄᘇ➇⤎䪒殚岝涡踦輬´ŷȼȻʼʻͼ̼˽ϾѴݗlXLN@J4HHS;FDIKROTY]`defjhllvvtryvxsxtzx~z|wzrvm{o΄t҄j}gx_vYq[o\t]ݐmΚآՙ̉|^mTRLKMEN>H:J6I<JBLCN8M,B-F9MFXL]JYCTDTCW:P@WEWLbJ]DVF\:R},Em>N5L2M -8M:WB|<]k|Ŧqt:Or$@(@?Ge\|frzxzx{~zywm~bf]bdVn~4V>^p(PT>N?SA]Fa"IYDYGXCTBTC]Ja&Qe&Lb&Pj(SVIWLd,Ur5Xl+PVDT@S<ZF[CTAR@XDr9bTA^ Kj+^\Tj+`dgh\"Ki)TZNJ>VLf1To<Z_#WYMV[G~\y}BbU
7g9l@^9U>b<^8^9^@^6T4X6]7i=u&C~(C,@>HNOORSSSTZX]]ZTPO&@c>/IANZ\fdd`b[cdfdhfkfkfnjlfnlmjpnlhjfjcnggdhbd\hfhbcbgbicjbkfrkrhulxpum{p|q~r|txވx݉|ߊz|ߒ~ᘂ㡈⧎䰗䯜沢綢带龯ŵƷȷɼ;˽ϿԺ亩ZV6F2D'?6C,=8E7GDNDRFPOUR\^_adbfjjnnpqprutyw~{Ăwoчtщkz`tXiQiTnW~bzŐҜءҒƂrXbSQMFJ=I1G0F5J>LDM>K.F(B2H:NN[IXDTDVFZCT>XBWN`ObEZEZ>T6Mt%@j @L4L7J 2L -6Y@o,Pf}¤§z|G[n!?~ ?>GaUvensv~y|}||ukck^`ePn4Z;^{3[N>N@ZAj%LZ@WAT@RDVGXHj(Qj*RVDd+Tb&PUKWJg(Oh&Jr.V]EXCXAT>R8]DQ>ZFYBWHa,ii0aXNNpm;p[Lj0\l0hVCe#L`!N\Jd%Ubr/ZJtbd CX;b<f8R
:Z<c>Y<Y:Z7Y8U4Z6b:l;+D,B6GFNQQRPRSPTVTVSVT9Dd;r$G:NIT`Za^b\ebfffdhgnlmhohnjtikggejendndlblgiae^dYhbd\f`h_lciepdpfrhrgvpypyn|sށvށuބv߆x߉vzᔂ✊⤎寘䮗䲝波淩龬ĵŶƸʹ̼ʼ˼̻пӼʶUZ,D4F0J:L)B+B,@0@8J9F@MCNDPMUJZR\[`^d`jgjrstp|t͈vҐzӌpjv]eXjYlW؈e˕աנΏ~buVYRFL:F4E,C2G8HBP@L6H&@0F>NHVNcBTBVCWCYAVBXD\PbOcF]EY8Pz-Fl<n;L3H2H -6L
8Q=h#Oj|ĪĦ~~Wcn<&@=F`Wvipwxx{|z{vxn~aodX^Uu6[<^|6ZP>O>`FdAV@V@VBUCTFZHo0V\HSHl,V^MQJXNk,Vj(Mj)OaF`DY?R@WF\B_G\FSF_'LnErFDpBlZ|E|hjx>ua&Vf(Sj(br2az8fv2fElZBf#Br4KbB`=d9]6R5b@]:W8Z>\=W;W9]5i @q;0C1D<HMNRRXUTRSUTTVTLPx;Z=0NCQVX`]d`_Zhba_cdf_jgjhlfleoilfgbjcofjbf_jegbe^h`g]e\f[fag[leofmgofrjrjvlvj{l|tހtuކxyᔀߘ䗆☆䢎䬒㬘属洢湪辯꾮´ĸƺȻʺʿ;һҸrw/G;H8H>N2I5J3I2H6J/E1D5D2E4D:H>KCOETIXP]\ffjrl~pЊpӊl|b͂hч]Ё`|_ۍjЛ֤ԘȅvXdNJK<G1D*A,B4FAN>M9H.C,E:NIYJ]K]BTAXFV@T?SGVLbRgI`H^AW}0Lt*Cg=l:O:J7G 6F1L
9g"Ol|Ƨȧblu">&@>H]Wvdptzv{z||{{pck^?Pb}:`Bcx3ZK
<Q>bFX;RAV@R?RB\Km.Vi'OTFUGo0U\KRGXHi(Ri(On,Sc!Lh(ObFP=U@[D\D`K\JZCZHFARHxF{v:v[a_] Rn5hK^[j%Do#>U?X<X=f?h#CcBV6X;`;X:X9X9Y8W8Z=`8o;w <3E4DDJRUVUWVRWYXTTPM*@Y:e=;LO\^ZbZd`d]b`dbegegjflfjdiepijdhhjhninhjbjahdf`g\hadZaXfad\kdmckcrhmdqgwkwlynzm|n߁t݆zކwߋzyᔁ◄㠊㨐㪖实岤温軫꾯ŷĸȺɸʻ˼˿̿мԴЖ,F9J>MBNDS>N6I6H:L0F*A,Av&By(Ax+Dz)Ay,Cv.Fx.Fz.FAPNV``l^r^|fԌgݜpݖf^ՄcuÎҝ֝ЕxduWSJ:B.B;};'?2F8F2G3F.H3IFVN\JX<P>TBVEW>T>TDWLbNdD[F[?V~2Hm!>k=k@W9R7P -4R5R
:f"KhvǪȪjtv&?|$><H_Uwlpwvyy{{}|oj[W1Nbx>`:[t-WN?\G\AS=V>S=R@YGv6`b!G` LTCTFr4]\LSH[Ln+Tf"Km-Tf'Qf'QaG[ET=d LVA^"K^!HVDN@OFXMQFzJLgqoSgIxBpSuFt`FO<V;Z?e=h@\9S8\=]9T7U6X6V5Z8X:d9r @'=;D=GGJRQPLTPSRUSUN5<a6Z:,FCRV[bXb\g]g`b^fdhdijigjeiehfkejbljofnenijdk_f^icjbgcf^dZhbibj`k`hbqlrlphslxpwlyj{o~sށvބvކzߌ|~✇⟎㤎䫗䮘䯝涣辫꼭鿰ŵôǻƹʻ̿ʾԹ⺭6M9JBMGTFSDNBQBO:J8J8J.D-Ew%An Am=h;d6`7c8j <w,B?JORVT҄n||pdڎdzƐҘԖˈq`aP?E/D}"@v>| <2J6I2F,D0H:ODSQcP_FYAT=S=S?V@T@THZLbObI^DW7Rs$?n ?i:h;`<^;b;hAhCp(Lftȫɬģkpy+E}'A@K`[whsxxzxzx}z~pfWY9Ti~6Xp&LeKL>\ IT@R=XBS@[Hf$Lh&KXEb$OYDUDe*P[IQD_$Lo0Tc"Je%Mb#Kc"L\De$Jb"HXBP>R@^$Ib"KVG[HUENBUNxG|V}[v\Fz}Axp0^Sxt5bT;R:^<e?]8Z<X@aFXFU<]:T7T6Z8Z6h9{&@-B;IDHKOPRPQUSTRVOAFt6V
:k?;NRX^Y`Yd_g_gad`fbhfhhkchbhdfbjijenlkhqkicnhnfj_k`i]gcgbg^d]h`j]h\g]kdngocuk{nyo{n߀prހrrއyވ||}⚃⠍㟊⦑⪓䭚峤繧軦꾮öĸƺȸ̾˾озͲ]h6HDQISNYLTKTGSAM?O<L4G,D(Cu'Bo@d<^<X9X:U7]<k ?:Qld}rݔcݒj﵀ɐЕЍƂfzSKH/@(@s<} B(A0D5H2F*D6LAQHZSbP^FV>P>R8P=R>TBXJZPhLbH[<Ry2Il"=p <h8g:i8~,C.B~,Dy(F|4Q]pĤȬ˰ȫin~4I(DBL\Sviqxxvvv|vzzphMZ@Wt=^j$KbJR>dHR?TEYDf$OdFWAYCWCc#LW>SEZHh&TTBh(Ti+Qc%Mc"Nc Ic"Lb"NZD]ER=SAN
<R<l-P_EXAe&QVEXCRJp<o`qlu8pN`n~:fP<T;e>a<S7W7Y4X7U7U8T6P6X8Y9d=}$@*@3D@JHKNNONSRPNXTLL:W;]<0HJR\Z_V`^f_f_gbe`hceefahdifhcgelllerllhpjnhldjaifj^jdgae]h_d]hangg`jbjbnhjcpeujthxl|n|pށvqނx߆vފzߏ|ᓀ㜄䞌⟊⨔⫖宝䴤湤繫輪õƷǺƺʺ̽̽ξкбĈ9JBQKTR\NVOUMVKUGW@P>P8J2F~1Ht <h@`<Z?R:L5N:Y?<RՌp컇ĆĂdۄ[p͒Ғ̈z^[M5C!?u@vA&B/F5F2H&D(G:QH\RbN^FY=S8R8Q<T5LAWH]SfShMbDY8Pu(Es'Bj<f=n;6I>N:L6N9RB]^rˮϲʪrv@R-C@I\Pteruzxw||y~vp|bL]D[pFfj"LZBWB]DVF^Jq2Zh%IY@VBT?XDa!I[IUHYFd$N^Il,V^ Kb'Mj(Sd&Pf(Nd LVBUESBS?YBR=T:f"P[Bv6`c JVBPDMFq9fnq|RX>qRh_R?W?c?W:X<V:V7S8V7U9S;V>\8^:p<0D.D<IFJQRTSPRWXVNOO(;a7W9u>@NVU`^]Se`e_c[c^f_mhgejhhcjghajdjficohlfplngojldpfmdh]g_iai`hbh`ici^jbj`i^kdpfrhtjrfxjn݁s߃v݀xރyz|~◃㘁䚉䤑㤎䫘峢赦繩缮辭õźɽǹɼ˿̿ϿӶڮ=M>OJTJSP]PXRXPXLVFSFV>P=P8O~.Fq"Ai D^8X<N=I
:Q;<Lnȃzޗ[܆^xˌĀnoP0>!:q>p>z#@*D/F0D,H+I6ODVN_VfJZ:Q6N9R8O8O8M>UNbXmVkJ`@W8Q|2Jx,Gp%Dj>l!ABRDV?P?QE\I`dwʬ̰Ȭ|yIW4ICO\Vvdrux|{wy|}urzfU_LbezCct,TQ>SAXBd#J`Ca DYBW@XBZA[DXB\DWE[G]H`%Li)OZFh+Um,Xi*Te&Lf$MR@UDR@P>ZG^GL>b"Gn+Uh*Rd K\KVHXLf,^p:ea~t|D~G{j_X?^@[<V8V7V9U<T9U5R5Q 1Y6^6h6(>.A.@>GLMRPTSRPWQOK%;[7Z=v%D9JPQ]V^U^Zg_d[dbd`halaleidg`hakhhciehgpjlelhmgnhmfngj`h_janfh^f^e\iai\mbjag_kcpkpjugsixl|p~oނt߀tzވzxⓀⓂ♅䞊㥎定氞洤纪纪羰³ĶƵŷȻȽ˾̾̿ϾѶDZLX8NCROWT\PXRWPVMUFRGV=NAR9P2J|1Kq&Ah"@]<T;O<X?<Jޒi|~xfjzƅ~qzV:Cv9t<l>y#B&@0F&?'?)B3MCTNaSaL\>T:N6N1J5N8N@VG^Ui]pNdK_@V6Q5Pz)Fn#?k!@s'D:PBP?PCXK`Vjn~Ūɰʮ¢Ta0DDNXQtcqxy|zz|~vpnzcL^Nh`s@`u*SXB[GX=XCX?ZB[DX?VAX?]Ja%L` HXFWEV@XAZDYGi-Tm.X^!JZIf&Od)STBVBRDVBh&Na#NP=e$Lj,Ud&P\Mb"Rm/^b$Np0\j.\m8]Zxfaf3O[A\@_AYAT<Y@T;V<V8O4N5X7`@d8t =+@4G4CHJMO[WTTQPKE#7T3T -4p >9IJP\W\Y]Z_[b\f]feb[hbhhjfhfjahelgjchehfngnflikflcohpih]kamfhbg^edd]jdiamdndkdibmcsfrgrgzi|p{n|q߂tކyފ|ފz~xߒ㘅✌⨐䧕䫚沢洣湧迭龴¶ĹƻǺǻ˾̾Ƕ˼ϼβtx3DBPJTR\SYRWSZOUKUDSGUCR8L9M5Jx,Bt'Bf>`:^@jE:Lւbzyxu~zi{T@Cx;j<g<o<|$B*A,D$A(C1J<PKYPbJWAX4N0J2L2K2K8RFZMdXmXrOgG^;T:T8Os*Go"Bk$Ar)F;R@VDWK^Sg_pvìɯʬģZd3FCLZOrbztyzzv|yzxmn7O\qYl@`d FR>_GT?YDYDX@ZD[@ZCX@ZCb%JbIWGZGYEUCTDc%Pd%Le'QVJVHp4\|>fVBZHVFL@g&Q|@j`LTDf%Js5f\LXLs>gu;raQw@svApOq<lfv@gZ?\<[>U>T>\@T;V8U=N=R
7[:`5n9,@,@3BBJFOQPWROKDHv9S -7W<v#@6FFLVVYTZZ^Xa\^Yf_f_d[jhgdlbh`haebmfgfhbgdlgqhohkdkfolpkmflclgneiag_fblfibngjbohj`lerfrjrjtfvjxp|nrނwx~{㗃䝊⠈⣏䨖䱠峥浦绫農²ķķɹʾʾ̾ȹ̾ιдա7G<HBPKTQVV[TXPWNXEMHTET?R?R7J~1H}2Kv,Et"?v$C{'C6Lwe검Ê{jj_sYJM)Dl<g>k>u"A)B*A"?~$B3K?QJYL]L`BX>R6L2L/H6L6O@YLbUj\qPgE`H\=U4Nx.Jm$Cp"Dt0Lu.Kx-J>PL\Xh\mdvtƨǫŧ\d6GFPZWsgtr蚀xzz~vzs߂i6RbvUn;_ZBQB`HRAXGW@\FXAaJbJVB]Df$J_FS@VDTFUF`'Su5bj/Zj1]TD^!Ox>d|Ad[FSAZHKAf(Y~Ei|>g^L]LzBmZH`&\a0X}Jyf'`v>olld&Pp1]p@XJud?Z@U?T>W;\<X:R9P7O4V8b@c<z)H0F4ICHFKGIOJFF&7]6N7`6-B>HHNONXUZX^Z^X`\a[e`h^d^j`j`ibh_jcjchbiejdkgldnikbjblgngohoelbldkdmdhajjk_ifndh^h`fZl`pfphreujwjvh~qr~uވzx|}│ᒄ➐㦖㭚䱣䲧座漮迲´Ƹƺǻʼ̼ʻμж侬CR:KCRJUKQPXPTPXLVHVFQMXDTFS;P8O8J2J3J6I3NGU|l贂ǔ̖Ȓzi|TbQBJ*Du"@n;n@v&E.F,B)B|"B/F8OFXQbO_MZ?U2M2M.J2L4M>VNbTh[nRhMeBZHZ=R~4Mt*Hr&Et,Gq*Jm Ak">?WJ[Zn^o^oj{ũħ^i<LGPXRrdoxyz|{zz{yo߃h:TWlYpBfR>N?YCTB`"N]Cd&NT?f&N_IWC^Db%Hg'NWEQ=SCTFb'P}8duAnk6`SJe&UvAf~Djr4\N@R@VG] I|Cnk,Sj,V_#Te+MwAu[ Jj+\`!Rw:nl0iT~Mzv4jTAwAhn'OU>Q;S<Y=\?S8P
4Q:M3U
4^3n:1A1?=EAHBG6@6b6R:Z:x$B9GBLJPQQSU\WXR]V`ZaXc^dZfaf]g`icf\hdljnaleieifjfldngnfnbtlngrjpkmhmfofofndlhlij`mcj`i_k_i^mendqgwiuivmyl|to{އzߊz~⒁⑁⒇❊⢗㪘㮠Ⲣ涧湬農¶ŶȾʾ˽;ϸʯ^i7FAOHQMYMUNVNST[JUIQJVGZHV>P<Q;TAR@P=P8KKTӀp鰄ȕ̑
pySPK4D(@|">r<t@{&B|*C.E&B'A,H=RGZQ`NaJ]EW5L|-Iy*H~,G5P<QBZPbZlZkNfQdG]FZ6Ly1Jl @t%Fz0Kv1Ml$Bb<4LG]VfViSi^tyĪŪZf>LGRVPrdmwz||}졀|xkn>XIfTny2TN@N>XCTD]"KX@b!JZBk'O`FT@XG]Fq2\b&OSAXFVDl.Yv0^yLuv7cTHb$Tu@jLt~Aj`LRA]JV@Fli)TQ>WJ]%Ohb%Vd&Y^Rq:it9u|Axaq5d\Ih.Vj.YR<N8WA[<T9R9R8Z=U:\5j4)?1<1?,=|<h6V@W9`:$@0A@IBGKNSTWXTTYY\Vec`\_\a\h]e^d\g_h`b^f`lekbheidgcpimdlbngpcqdtjtfrjqirjphndmbleljjdjbiaj^lbi`j]pfpdugvhxlxl~q܀uށtޅx߈||┃◈⚈⛌⣐㦖䫚㲤䵧幭缰辯ĹŸǻ˿ʽ˿νί3E:GHRJTLWLTPVNUNWHTOZK]MXETCVEVFXHVCQ>QHUxf樄{ց^HJ4G4K~.F|(Fw!A,D.E2H.D*D.H:QK^TcWjN\CU:L2Hx(Fu(Gz&B4MBWF\VhYlVgQgMaH]>Vy.Gl"Bq&Bz,Hx-Ht,Gh!BZ6o'C~9PDZF[Ke\tuǫȪdn>IENXQp`߂nwv||xzvlmP`7XD`n(OQ@TAU>YE] I[H_GT>m+Vf"JZBZHX@v<gTBVCYFVDj*Sn)TvLoq3\KAd&Vz:hZLu@n[JWFQGh,QKtK>THc&ZsHa`b#QY Td(_uBxWd_\E^Fd+SS;P8U9Y>T=ZAX8[8^8f3i8i8e8^>S7W9[>j!D,F;OBPDNHLNSTUUT]^XTXXZV^Z_Ya\^Zcagafehaebjfg^jajcfbfdkhmflhldngpdpjtrphsftlsmnhlhnfphodjehbldpfnbnflbodphrgtfxlynzr~suބw߇{}ፀⓃᖆ➊❉⡓⤔䬘䮜䳦䵥漯龰ķȾļ̹̾ήܮ9G;H@OFOJULVOXSZR\LWR\PZMZFZJYM^P\P`NXGUGTc\ۏupޚnyZJJ8N8N:K0I,D0F/D2J/F*E/J8PFZRa[jMYAQ9L2J~5Pz(Ct'F|-F;OM`Qf^mZo\nPgNcFZ7Mr(Dp&Fr,Fw*Ft(Fj!CgAW:f >p*H<TD[HdVpoĨƨkrFSFRVRna߂mvxz~z~~zsn\fv'K}6\]BUDSBR>U>X?YE\J^Jk'Pg K\I\H\F|GsVEVDZHWId!Nd#PzNxk*XMG`$SE_YTj'TV"QTL^LUz`(VLHSEb$Wat7fn2f_!Ut>pb^rzFt`L`&NR<P:V9S:T8\>]?\8^5[2U5T6^<d:t(B(@/B6C9D<JGNPTTVVZ^[ZW\\_^`_]Y^Z\V`Xb]d[db`Zjcgbf\j`h`f]fajbiaifjeidlcsimgnfqjrlrisoojnfnbnembodhbjcj_p`nbm`ndogrgtkvjzq{nswކ|߆~xጀ⑀➆⠎ᡑ⧗䪚⬜㲢䴦溨輬ôŶɾ˾ʿξз¬HX7H<L@NIVKXMRRXR^S\V^Q\K\P]R^RaW]V\RZLULVVWl`p^eZJS:L4K2F.E4H4G:K4F1B,D,G8NDYL^QbT`ET<J,C{(Bx(Ft!@v(F4PK]ReYj]n^pZnMeNd?X|0Hr)Dr(Cn"@r#@q$BhB_;Y@e>j @u1L;TA\Jggxæ¦lqRWKTXSkZlxzꝀ~|은trddr!Ev5ZT@XFRCV@\)M\ATAZDb"Lh*Tb!L` Pd"O`K}Mub LVBYFZKd*Wn,Y~Nvc MOCZL|@vT_Zj0]PGKBt<rHi[L@G<j+`k.ZXg*Xn.nd(Xi_yDt}KqZzAm\EOBSDWJV IYHW:S3U4X4a3m:v"=$9);4@4@;E;GHQLRTTWXWSTUVUWVZY^W\U^Z\\^V_X[Tc]e^`Zc[fch^e_f`e]gblgkdlfjelcmfmfqlrltptjtlnjnhtmndsinbrfldkbpflaodl`ncqhngshyh{nxl|quu߃wx~㝎⢏㧒䫘䮛䰝䳣嶨庫迲鿲¶ķ˽̾ʿ̽θ̯mu4E9JBPDRKYKQNZU^TZW_XfP_RaTa[f^aZZVWSXRXOTTVTZNWCR:O=O<N:LBR<K:I6G-A*C.I<RH\PbR_DV=Q0F.D},Cu$Bs#D|0KATQ`VlVh`r^qXoUiIc9T{0Is(Ep"Bm"An$Ck @c<aC^ Ad"Ae?m(Hz6T~=[AbbyƪƬästW_LYWVjZkuz}졀~}tp[_t"Iu1W[H^HVFV>[F\FR=YAb Kk*Te%Qb%Qb"N_Mn:Zq5fTDQBVHc M{BdzCkXFPGSGv<hP|HtjzBrPCFCb%WNxjn-YC<MFr2ey@\L}^$Nh,fSXcj4jS|~Di]"KP?P<V"BT8P4R4W6`7k=t;'@/B8H6ECLHLFIMNPPTXVYVWWUXVZYZXZZ][b\`Y\W^UYS^Z^\d\d\had^fZc\b_fbohofj`i`ldnfibkhliqjrlqjpfrnnfsjpiqgpdvjndneocl^leldrlohqdthvivivlznqރstއy߉~ᒆᛉᣏ⥑㪚㰜㰢䴤縩湮述·ŷʻʼʼ˼̾καɔ4K3H@OBSJTKVOZS]V^\bWcV`Xa[f^b\]VVTXTWTWNSLUJRFSAQ>Q@RHVFRHT>O:M5I2G6J7PBVPeJ^H[8L6N6M2H{*Fw,Fv&F;TJ^XlZmbwfxYjTfNbCZ|/Kv+Fo$Ck @l"Do"?gAb <bA\@f%Dh*Li%Cn,Mt3T{:Z]tдԸδ}\eJSYXl^kvy~~|t|a<PlIp.Ta.PY#MSAWDZ@ZDV@_"MaHh'R] J` Ne$Nb$T\ I}FxZGQARF]NyDjt4aQBQFQJv:kYg'Xjf\MNERLHzgHmVF><XFBpah(\SJo8jVaTp7cg+Ka"KM;R>U?T:W=]9h9l3t58*:5B:FBHOLNNOKPONNTSXVYWZX^\ZX^\][^U\V\W_W]W[Y`Xgbb\d`hhfZd^daf]f_jeibgbh`kenfjhnflemhripjskpipisjtlpkqlwqrfpfodrerincphtlvkvhxhvj|rzp}sހruޅzߊ{⎀ᑄ╆♊ᢐ㠒⣔⫝̸ᮛⰣ乨巪绮¶ȸʻɻǹ̸̽ͱװ3H0D=LCSITMWQZU]Y`Xb[d]e^h_d]a`^XVTUVVQTNRITKTHTFPDRGUNRNXIRBO:L2H3J8O@TF\JZ7N6L~2G}+B0C.C}2L|.H2K@TN`\l`lap`sTfTeFZ6Ox+El Bj @n>f>e:d:b8f6^=b BdBbAj(Jj)Nn-SYpжµóֹ_fT[ZXn\lr{|~pS^z,QdDh%N^C_JV@\ I[DUBVE_Hc%Pf%N\Jb Md$Mf(TXIoAao3cP@VH]Ka|@mTLUNTLzAp^hYR}w}GxZ"PPEqGoVzOyr/^H?J>v0`zC_hVNPEr3e}Jubl.dR>b$MP?T;ZAV@\>c8k8q0!60?9A?ICGNOMJPKRPNKQPSRWU[VZUZY\X^X_WZTa\\S^TaX^X^Zd\`Yf_c[e\dZh`fZg`i`iag]f\mdj`lclfmdqkphpinirqrkulqlskqhulrhrlrdncripfwlrfthvhxgxjwkzpznpޅvޅzߌ{~㑀ᓃᖆ᠔⤏ঐ⪚⭞䵦溯罯迱ķƺɺȽǼ̼͵îKZ|.G;KBVDOQYR\RYXbVb[f`fafaf`^YZUUVUVVUXQTQVJTJRDTFRQVTVQUHR@N:N6N=RDVI`I\AZ:L~,Dz*A|,D~.G~)>~6N4N;NPd\haqs^nZoPeEY?Uy1Hn)Gh$Ah @i>h"@f>f;f<v:Z>d"@bA_@h"Eg%Jo.Wav۾óij°ΩpoRZZVjZnpx{~~|ylpOlx'Pc KVCbFf&NZAZDQBYB`#PbHfKb"Ld"Nj(Qi-UZL\&IzGvL@TGb'Tuz8bVEWOVH~Etbo'_w8h}jb#LOBRFy@hT_"J`#SI
@j'Ou/^XsFxOBq0dn1c[yJum6po4\T=P:V
7S6_6l6s2!70;7><@EGGGMHPNQJTLTNRNSMWSXS]UZVXP^YZRXV^X^Z`YcZ`Y^Y^XaZaTd[aXhah`h`f]dah`fZjghciekdjahgogqjlepnrkrstitkpjtfxopjvpsjrexqvltntitkznxjyl|q~kzp}mvtx|ᙋࠐ⤓ᡎᩜ⬜ᮟ䴦漬溬龲õĶȻȻʽͺʱox{.J8H>JGUGPHTT]TbT`Zbbibfae``ZY[YVQTTUVRTOUJPLTNVVYWXVVRYLTAR@Q=TDZF\H^K_>V6J~.C}-F.I}0F}/H0I=SM^Wdbndubp\pVjJ`BU4Lr)Fh#Cd>h">k%Cf:h;i<r >2HY<`=`@`>d&GcHk*Pbz̤۽³ijòݼӰwPW\\m`jrvxx|{~|~snndo3VcJYE\D`DXD_KPA_"Jb-Sf&PfMd Pi"Nn)Um+Tf"RTFzJpb PVLg-Wrs2^[JVJ\NQ|eeR}4qUvs4dPBSJh*W\g,ac&Pe"TZA:dn.TNucTi)[p,`TGV_ZDL6N 2X1c3u4#;.<5=9?DIHJGGNKJJPNTOSPVQRPVOZU`Y\U\X]VYR[V]Va^`X_Xb\`[^R_Y_Vd\aZd[f^f_b[g_mfj^hdh`kdg^lblhplnjnisnoeqiulritkthqkvjwmthujxmsjsltftgwlzlyn~s|s{pzoz{yߑᚆ⠊ឈ䨖⭜䲡䶨亭羰ĶķȺȺʼʻ˹αʓ}/J{4L>LHRR[MYP\NZVc\b^cad]`\^][[WXVUVUVOQOURSQSWY[V_XXWOQGR?P@UDXNbF]BZ@Y<X;Q8R4J;P-G2H:PH\VhcqhsfvcpUfRiD];Rt*Fh @c;`6f9i<j)Fl<}+F0C8IZ>[=b?`@d"EaEj'P\rΦڼñղ~R\ZXnbkuvwx|{|xߓxYbNbv-QbF^DWAX>ZAc JUH^H`#LdLk%Rh"Nr*Vz6\z5]r2\[Jd$Ms0`\OsDn\q,XcJ[Nj"WFq`TB~?ut0dzd[KRIk/b_XXJe&Pf&Tr0T}<gf*Oh+XVGn/`~@kI}s9qf^^!KT4\4o37&9+;6>9BFHDEGFPQPNOLWTUQUPWTXQXO_W]VZW\X^T`[`UbX]Z`Xb\bY\T^Th_d[jdf`eXc]`Xf`jhjbgemkkfgdicngnjpdrgtjrgsjkirfshqjrhrfzpwnxitgxlvhrfuhxozj{l~l}or~rwv}~|݊ᒂᖇᣒ㩗㬝ᮝ㲞浨幧缱辱·ƷƸʽʺʺͲڲ:N4I<K?IBNFONZO[R\[b\`^a[\^^aXa^\VTRTSSPYWXTUT`W`X_XVSKRGT?O@VDTE\<X<V6P9O<U:P:P5K2G<QH]Xjblmxkxht\mUhEZ<Tt)Ei<f!A^8a>e>g=p&By(C5H?J<KU<\<^>^:c D^Fc&OOmˢڻݿڸҮyNX\Xn_߄ntw{적|좀}vޑwJWA^j"Gf$NdHR@P<_Bh%LP?g*V[Hh)Rn(Rg#Pp-Vs*Tx5Zx6b\JbMp0fj.^oHpbLg!T` QiRLubP@w8fv3fu<hjFzXMf'UpXzXDRCTDl(Q<^s0\f(SWIWFaL~Kym,b}?gfX|j$Ki<$<->4B1?7@?FGHHIMJQNSRPPTTXSXSWU\SZRZXZX^[]T]T]T^X_T\U\XaZ`Z^X^VcXa\e[e[i`f_^WdZc[d\hhh_hdlfjcnhrgrfpfphrjrjkfrlsjtosmrgwlxluhtlvhyoymtgxj{pwkyortpsy|ᎀ~ߓᘊ⤕⪕⯟䱠崦帨帬翰꿰ĶƼǻʼηĮVl>Z?PDSHN@JBMJVW`W_Y`X[^_e_g\`V[V\WZTXTZWb[h[kXdY]UTRIR>NBQ>O:P7Q{4Q4R6SBY>X@T:Q:P4MDUK^Zkgpn|ktgu]kH^:Qv/Hg >a<_6`:`8c;j?u+F4J@RFRANR9^>`=\=` C[>`HHfęڼܾܾغѬzqS^`\l\mnx을z|잀{JWFdh&Nj%LY>Q>P:d"Gi*PH8g(RV@r0Yr2[k"Mq*Vm&Nt-Xx4^f%ObS|@t|;hr4Y`Fq.`VBd RGm^THi(Tt4`p+d|Fkns2l\!Nx|EhN=YFSJZDo*Xy:`e-Se"PTD_L}Lso.a`FLzz7NRz8/D1A2>:D8@@DDFHKJJLNQRSRWTVQXQZPXQZTbZa[ZW]T\T\V]W\T`\b^b\d]`T^X^W`Ye^ibe_e]`Xc\d\b^fdhfhdnhihhbojndrlnfpfnnmcrkrhqhrjrhvjxiypwlvhxlxqyixl{ozt{prtxtt~ጂߌߐᔊ☌⦔᪘ᬘ峢䳤䷤䶨溰辰´Źļʻ˵ȷnRIhEZDRBPHTHRPWRZPYbff^j]h\c\`V\X]T[T`\j^l[kZfZXPRSBK<J<L6L/H1Lx2P|2P>Z@]AXBZ<V6Q<RDVP_cnfpmvjxdrVgD[v+Fh#@f"D_<Z2_7`:k>v,N~8PBVGTDNHQ
\ No newline at end of file diff --git a/contrib/ffmpeg/tests/libav.regression.ref b/contrib/ffmpeg/tests/libav.regression.ref deleted file mode 100644 index a498d6799..000000000 --- a/contrib/ffmpeg/tests/libav.regression.ref +++ /dev/null @@ -1,113 +0,0 @@ -ffmpeg regression test -8a0536ccfe36f4fff408b3327d33e1dd *./data/b-libav.avi -340344 ./data/b-libav.avi -./data/b-libav.avi CRC=0x400c29e9 -786446e80ead936e5faa8f5908f19281 *./data/b-libav.asf -339775 ./data/b-libav.asf -./data/b-libav.asf CRC=0x74113749 -1ce78eeb6881ffe5b649a9b5105de919 *./data/b-libav.rm -355405 ./data/b-libav.rm -bdb7484c68db722f66ba1630cf79844c *./data/b-libav.mpg -378880 ./data/b-libav.mpg -./data/b-libav.mpg CRC=0x2b71a386 -322d59758fe9446147223a607d1699bc *./data/b-libav.ts -471692 ./data/b-libav.ts -./data/b-libav.ts CRC=0xcc4948e1 -d6fdeb9f7083cc827f9510c6c4517dc0 *./data/b-libav.swf -335771 ./data/b-libav.swf -./data/b-libav.swf CRC=0xe14e8847 -a1cd7fff97d5e4c83f0d18a22d51c552 *./data/b-libav.ffm -380928 ./data/b-libav.ffm -./data/b-libav.ffm CRC=0x01522b4a -f8ad5bd78f4d012a8ce9570aa395ac54 *./data/b-libav.flv -335833 ./data/b-libav.flv -./data/b-libav.flv CRC=0xe14e8847 -16518706f425cb537362bfc1c58b8de5 *./data/b-libav.mov -366923 ./data/b-libav.mov -./data/b-libav.mov CRC=0x45079dca -7820fa85ab86c62028d8dbda94589573 *./data/b-libav.dv -3600000 ./data/b-libav.dv -./data/b-libav.dv CRC=0xf517e829 -feb04ba3cf4f607d5527664eb69ec72e *./data/b-libav.gxf -814640 ./data/b-libav.gxf -./data/b-libav.gxf CRC=0xa376c09e -9a9da315747599f7718cc9a9a09c21ff *./data/b-libav.pbm - 317075 ./data/b-libav.pbm -./data/b-libav.pbm CRC=0xb92906cb -6ea0e1faf08f6fcdb44db4a104361b57 *./data/b-libav.pgm -2534775 ./data/b-libav.pgm -./data/b-libav.pgm CRC=0xf4aa7c47 -0c5fe86621b7377705837f304d4ba1e9 *./data/b-libav.ppm -7603575 ./data/b-libav.ppm -./data/b-libav.ppm CRC=0xb2bb8e92 -88a98269295fbfce7816558ad84e1259 *./data/b-libav.gif -2906382 ./data/b-libav.gif -b977a4fedff90a79baf70c8e02986820 *./data/b-libav.y4m -3801810 ./data/b-libav.y4m -./data/b-libav%02d.pgm CRC=0x84c09106 -de216b43403f51e57e644fbf812568bf *./data/b-libav02.pgm -./data/b-libav%02d.ppm CRC=0x25c06ecf -86bbdb77afa289ff363120f8044f29df *./data/b-libav02.ppm -./data/b-libav%02d.bmp CRC=0xf3a66ecf -c3a9f333ddebff6eae3f4360bad2de29 *./data/b-libav02.bmp -./data/b-libav%02d.tga CRC=0xf3a66ecf -f558eef0740c4b247f1eb17e1dbf7adf *./data/b-libav02.tga -./data/b-libav%02d.jpg CRC=0x62328baa -5d6c53e5297c4485e26c25e37885376f *./data/b-libav02.jpg -b0a8c8063d81921db5d7c8f50a1cc454 *./data/b-libav.wav - 89132 ./data/b-libav.wav -./data/b-libav.wav CRC=0x2a09519c -e2a6d6fae17394dfe87cb5bb8ae11837 *./data/b-libav.al - 44544 ./data/b-libav.al -./data/b-libav.al CRC=0xefdf94c3 -4574d7e2c09e1e13663e61bd2889f12d *./data/b-libav.ul - 44544 ./data/b-libav.ul -./data/b-libav.ul CRC=0x6064b2f8 -7a21ff174e3cca1702e0826c4ca0eccf *./data/b-libav.au - 89112 ./data/b-libav.au -./data/b-libav.au CRC=0x2a09519c -272b91d8fc31ed43b08246d182719751 *./data/b-libav.mmf - 22609 ./data/b-libav.mmf -./data/b-libav.mmf CRC=0x03633476 -ae3a23a7ea13c92a2909445ca8144dcd *./data/b-libav.aif -89142 ./data/b-libav.aif -./data/b-libav.aif CRC=0x2a09519c -8d117c49d6b210abe783d1b0b897cec7 *./data/b-libav.voc - 32768 ./data/b-libav.voc -./data/b-libav.voc CRC=0x49972c8c -ce356ce2708cb6033ab5d762da93cfd4 *./data/b-libav-yuv420p.yuv - 304128 ./data/b-libav-yuv420p.yuv -ce356ce2708cb6033ab5d762da93cfd4 *./data/b-libav-yuv422p.yuv - 304128 ./data/b-libav-yuv422p.yuv -ce356ce2708cb6033ab5d762da93cfd4 *./data/b-libav-yuv444p.yuv - 304128 ./data/b-libav-yuv444p.yuv -ce356ce2708cb6033ab5d762da93cfd4 *./data/b-libav-yuyv422.yuv - 304128 ./data/b-libav-yuyv422.yuv -545f61c353a8b4419808785cb4f0069d *./data/b-libav-yuv410p.yuv - 304128 ./data/b-libav-yuv410p.yuv -d6c03f930018ff859bd43f52b92e9321 *./data/b-libav-yuv411p.yuv - 304128 ./data/b-libav-yuv411p.yuv -14117c4d7956775a7bbceabfc38da808 *./data/b-libav-yuvj420p.yuv - 304128 ./data/b-libav-yuvj420p.yuv -14117c4d7956775a7bbceabfc38da808 *./data/b-libav-yuvj422p.yuv - 304128 ./data/b-libav-yuvj422p.yuv -14117c4d7956775a7bbceabfc38da808 *./data/b-libav-yuvj444p.yuv - 304128 ./data/b-libav-yuvj444p.yuv -deb2f7ebe297df2c1fe264d19b34d2fb *./data/b-libav-rgb24.yuv - 304128 ./data/b-libav-rgb24.yuv -deb2f7ebe297df2c1fe264d19b34d2fb *./data/b-libav-bgr24.yuv - 304128 ./data/b-libav-bgr24.yuv -deb2f7ebe297df2c1fe264d19b34d2fb *./data/b-libav-rgb32.yuv - 304128 ./data/b-libav-rgb32.yuv -5d395f62bff8ac475f743268c772ca3a *./data/b-libav-rgb565.yuv - 304128 ./data/b-libav-rgb565.yuv -2ffd6871fcbfe9570454e8703ac8ea01 *./data/b-libav-rgb555.yuv - 304128 ./data/b-libav-rgb555.yuv -0b62dcf9b57b294dbaa5d9e99b1ee192 *./data/b-libav-gray.yuv - 304128 ./data/b-libav-gray.yuv -e197450dae2feba9e757b551e1e9145c *./data/b-libav-monow.yuv - 304128 ./data/b-libav-monow.yuv -e197450dae2feba9e757b551e1e9145c *./data/b-libav-monob.yuv - 304128 ./data/b-libav-monob.yuv -7a319375916cae4e691ecb74295e5d2a *./data/b-libav-pal8.yuv - 304128 ./data/b-libav-pal8.yuv diff --git a/contrib/ffmpeg/tests/regression.sh b/contrib/ffmpeg/tests/regression.sh deleted file mode 100755 index c4c2f776b..000000000 --- a/contrib/ffmpeg/tests/regression.sh +++ /dev/null @@ -1,722 +0,0 @@ -#!/bin/sh -# -# automatic regression test for ffmpeg -# -# -#set -x -# Even in the 21st century some diffs do not support -u. -diff -u "$0" "$0" > /dev/null 2>&1 -if [ $? -eq 0 ]; then - diff_cmd="diff -u" -else - diff_cmd="diff" -fi - -diff -w "$0" "$0" > /dev/null 2>&1 -if [ $? -eq 0 ]; then - diff_cmd="$diff_cmd -w" -fi - -set -e - -datadir="./data" - -logfile="$datadir/ffmpeg.regression" -outfile="$datadir/a-" - -# tests to run -if [ "$1" = "mpeg4" ] ; then - do_mpeg4=y -elif [ "$1" = "mpeg" ] ; then - do_mpeg=y - do_mpeg2=y -elif [ "$1" = "ac3" ] ; then - do_ac3=y -elif [ "$1" = "huffyuv" ] ; then - do_huffyuv=y -elif [ "$1" = "mpeg2thread" ] ; then - do_mpeg2thread=y -elif [ "$1" = "snow" ] ; then - do_snow=y -elif [ "$1" = "snowll" ] ; then - do_snowll=y -elif [ "$1" = "libavtest" ] ; then - do_libavtest=y - logfile="$datadir/libav.regression" - outfile="$datadir/b-" -else - do_mpeg=y - do_mpeg2=y - do_mpeg2thread=y - do_msmpeg4v2=y - do_msmpeg4=y - do_wmv1=y - do_wmv2=y - do_h261=y - do_h263=y - do_h263p=y - do_mpeg4=y - do_mp4psp=y - do_huffyuv=y - do_mjpeg=y - do_ljpeg=y - do_jpegls=y - do_rv10=y - do_rv20=y - do_mp2=y - do_ac3=y - do_g726=y - do_adpcm_ima_wav=y - do_adpcm_ms=y - do_flac=y - do_wma=y - do_vorbis=y - do_rc=y - do_mpeg4adv=y - do_mpeg4thread=y - do_mpeg4nr=y - do_mpeg1b=y - do_asv1=y - do_asv2=y - do_flv=y - do_ffv1=y - do_error=y - do_svq1=y - do_snow=y - do_snowll=y - do_adpcm_yam=y - do_dv=y - do_dv50=y -fi - - -# various files -ffmpeg="../ffmpeg_g" -tiny_psnr="./tiny_psnr" -reffile="$2" -benchfile="$datadir/ffmpeg.bench" -bench="$datadir/bench.tmp" -bench2="$datadir/bench2.tmp" -raw_src="$3/%02d.pgm" -raw_dst="$datadir/out.yuv" -raw_ref="$datadir/ref.yuv" -pcm_src="asynth1.sw" -pcm_dst="$datadir/out.wav" -pcm_ref="$datadir/ref.wav" -if [ X"`echo | md5sum 2> /dev/null`" != X ]; then - do_md5sum() { md5sum -b $1; } -elif [ -x /sbin/md5 ]; then - do_md5sum() { /sbin/md5 -r $1 | sed 's# \**\./# *./#'; } -else - do_md5sum() { echo No md5sum program found; } -fi - -# create the data directory if it does not exist -mkdir -p $datadir - -FFMPEG_OPTS="-y -flags +bitexact -dct fastint -idct simple" - -do_ffmpeg() -{ - f="$1" - shift - echo $ffmpeg $FFMPEG_OPTS $* - $ffmpeg $FFMPEG_OPTS -benchmark $* > $bench 2> /tmp/ffmpeg$$ - egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:)" /tmp/ffmpeg$$ || true - rm -f /tmp/ffmpeg$$ - do_md5sum $f >> $logfile - if [ $f = $raw_dst ] ; then - $tiny_psnr $f $raw_ref >> $logfile - elif [ $f = $pcm_dst ] ; then - $tiny_psnr $f $pcm_ref 2 >> $logfile - else - wc -c $f >> $logfile - fi - expr "`cat $bench`" : '.*utime=\(.*s\)' > $bench2 - echo `cat $bench2` $f >> $benchfile -} - -do_ffmpeg_nomd5() -{ - f="$1" - shift - echo $ffmpeg $FFMPEG_OPTS $* - $ffmpeg $FFMPEG_OPTS -benchmark $* > $bench 2> /tmp/ffmpeg$$ - egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:)" /tmp/ffmpeg$$ || true - rm -f /tmp/ffmpeg$$ - if [ $f = $raw_dst ] ; then - $tiny_psnr $f $raw_ref >> $logfile - elif [ $f = $pcm_dst ] ; then - $tiny_psnr $f $pcm_ref 2 >> $logfile - else - wc -c $f >> $logfile - fi - expr "`cat $bench`" : '.*utime=\(.*s\)' > $bench2 - echo `cat $bench2` $f >> $benchfile -} - -do_ffmpeg_crc() -{ - f="$1" - shift - echo $ffmpeg $FFMPEG_OPTS $* -f crc $datadir/ffmpeg.crc - $ffmpeg $FFMPEG_OPTS $* -f crc $datadir/ffmpeg.crc > /tmp/ffmpeg$$ 2>&1 - egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:|ffmpeg version| configuration| built)" /tmp/ffmpeg$$ || true - rm -f /tmp/ffmpeg$$ - echo "$f `cat $datadir/ffmpeg.crc`" >> $logfile -} - -do_ffmpeg_nocheck() -{ - f="$1" - shift - echo $ffmpeg $FFMPEG_OPTS $* - $ffmpeg $FFMPEG_OPTS -benchmark $* > $bench 2> /tmp/ffmpeg$$ - egrep -v "^(Stream|Press|Input|Output|frame| Stream| Duration|video:)" /tmp/ffmpeg$$ || true - rm -f /tmp/ffmpeg$$ - expr "`cat $bench`" : '.*utime=\(.*s\)' > $bench2 - echo `cat $bench2` $f >> $benchfile -} - -do_video_decoding() -{ - do_ffmpeg $raw_dst -y $1 -i $file -f rawvideo $2 $raw_dst -} - -do_video_encoding() -{ - file=${outfile}$1 - do_ffmpeg $file -y $2 -f $3 -i $raw_src $4 $file -} - -do_audio_encoding() -{ - file=${outfile}$1 - do_ffmpeg $file -y -ab 128k -ac 2 -f s16le -i $pcm_src $3 $file -} - -do_audio_decoding() -{ - do_ffmpeg $pcm_dst -y -i $file -f wav $pcm_dst -} - -do_libav() -{ - file=${outfile}libav.$1 - do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $2 $file - do_ffmpeg_crc $file -i $file $3 - -} - -do_streamed_images() -{ - file=${outfile}libav.$1 - do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f image2pipe $file - do_ffmpeg_crc $file -f image2pipe -i $file -} - -do_image_formats() -{ - file=${outfile}libav%02d.$1 - $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $2 $3 $file - do_ffmpeg_crc $file $3 -i $file - do_md5sum ${outfile}libav02.$1 >> $logfile -} - -do_audio_only() -{ - file=${outfile}libav.$1 - do_ffmpeg $file -t 1 -y -qscale 10 -f s16le -i $pcm_src $file - do_ffmpeg_crc $file -i $file -} - -echo "ffmpeg regression test" > $logfile -echo "ffmpeg benchmarks" > $benchfile - -################################### -# generate reference for quality check -do_ffmpeg_nocheck $raw_ref -y -f pgmyuv -i $raw_src -an -f rawvideo $raw_ref -do_ffmpeg_nocheck $pcm_ref -y -ab 128k -ac 2 -ar 44100 -f s16le -i $pcm_src -f wav $pcm_ref - -################################### -if [ -n "$do_mpeg" ] ; then -# mpeg1 -do_video_encoding mpeg1.mpg "-qscale 10" pgmyuv "-f mpeg1video" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg2" ] ; then -# mpeg2 -do_video_encoding mpeg2.mpg "-qscale 10" pgmyuv "-vcodec mpeg2video -f mpeg1video" -do_video_decoding - -# mpeg2 encoding intra vlc qprd -do_video_encoding mpeg2ivlc-qprd.mpg "-vb 500k -bf 2 -flags +trell+qprd+mv0 -flags2 +ivlc -cmp 2 -subcmp 2 -mbd rd" pgmyuv "-vcodec mpeg2video -f mpeg2video" - -# mpeg2 decoding -do_video_decoding - -# mpeg2 -do_video_encoding mpeg2.mpg "-qscale 10" pgmyuv "-vcodec mpeg2video -idct int -dct int -f mpeg1video" -do_video_decoding "-idct int" - -# mpeg2 encoding interlaced -do_video_encoding mpeg2i.mpg "-qscale 10" pgmyuv "-vcodec mpeg2video -f mpeg1video -flags +ildct+ilme" - -# mpeg2 decoding -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg2thread" ] ; then -# mpeg2 encoding interlaced -do_video_encoding mpeg2thread.mpg "-qscale 10" pgmyuv "-vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 2" - -# mpeg2 decoding -do_video_decoding - -# mpeg2 encoding interlaced using intra vlc -do_video_encoding mpeg2threadivlc.mpg "-qscale 10" pgmyuv "-vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -flags2 +ivlc -threads 2" - -# mpeg2 decoding -do_video_decoding - -# mpeg2 encoding interlaced -file=${outfile}mpeg2reuse.mpg -do_ffmpeg $file -y -sameq -me_threshold 256 -mb_threshold 1024 -i ${outfile}mpeg2thread.mpg -vcodec mpeg2video -f mpeg1video -bf 2 -flags +ildct+ilme -threads 4 $file - -# mpeg2 decoding -do_video_decoding -fi - -################################### -if [ -n "$do_msmpeg4v2" ] ; then -# msmpeg4 -do_video_encoding msmpeg4v2.avi "-qscale 10" pgmyuv "-an -vcodec msmpeg4v2" -do_video_decoding -fi - -################################### -if [ -n "$do_msmpeg4" ] ; then -# msmpeg4 -do_video_encoding msmpeg4.avi "-qscale 10" pgmyuv "-an -vcodec msmpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_wmv1" ] ; then -# wmv1 -do_video_encoding wmv1.avi "-qscale 10" pgmyuv "-an -vcodec wmv1" -do_video_decoding -fi - -################################### -if [ -n "$do_wmv2" ] ; then -# wmv2 -do_video_encoding wmv2.avi "-qscale 10" pgmyuv "-an -vcodec wmv2" -do_video_decoding -fi - -################################### -if [ -n "$do_h261" ] ; then -# h261 -do_video_encoding h261.avi "-qscale 11" pgmyuv "-s 352x288 -an -vcodec h261" -do_video_decoding -fi - -################################### -if [ -n "$do_h263" ] ; then -# h263 -do_video_encoding h263.avi "-qscale 10" pgmyuv "-s 352x288 -an -vcodec h263" -do_video_decoding -fi - -################################### -if [ -n "$do_h263p" ] ; then -# h263p -do_video_encoding h263p.avi "-qscale 2 -flags +umv+aiv+aic" pgmyuv "-s 352x288 -an -vcodec h263p -ps 300" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg4" ] ; then -# mpeg4 -do_video_encoding odivx.mp4 "-flags +mv4 -mbd bits -qscale 10" pgmyuv "-an -vcodec mpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_huffyuv" ] ; then -# huffyuv -do_video_encoding huffyuv.avi "" pgmyuv "-an -vcodec huffyuv -pix_fmt yuv422p" -do_video_decoding "" "-strict -2 -pix_fmt yuv420p" -fi - -################################### -if [ -n "$do_rc" ] ; then -# mpeg4 rate control -do_video_encoding mpeg4-rc.avi "-b 400k -bf 2" pgmyuv "-an -vcodec mpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg4adv" ] ; then -# mpeg4 -do_video_encoding mpeg4-adv.avi "-qscale 9 -flags +mv4+part+aic+trell -mbd bits -ps 200" pgmyuv "-an -vcodec mpeg4" -do_video_decoding - -# mpeg4 -do_video_encoding mpeg4-qprd.avi "-b 450k -bf 2 -flags +mv4+trell+qprd+mv0 -cmp 2 -subcmp 2 -mbd rd" pgmyuv "-an -vcodec mpeg4" -do_video_decoding - -# mpeg4 -do_video_encoding mpeg4-adap.avi "-b 550k -bf 2 -flags +mv4+trell+mv0 -cmp 1 -subcmp 2 -mbd rd -scplx_mask 0.3" pgmyuv "-an -vcodec mpeg4" -do_video_decoding - -# mpeg4 -do_video_encoding mpeg4-Q.avi "-qscale 7 -flags +mv4+qpel -mbd 2 -bf 2 -cmp 1 -subcmp 2" pgmyuv "-an -vcodec mpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg4thread" ] ; then -# mpeg4 -do_video_encoding mpeg4-thread.avi "-b 500k -flags +mv4+part+aic+trell -mbd bits -ps 200 -bf 2" pgmyuv "-an -vcodec mpeg4 -threads 2" -do_video_decoding -fi - -################################### -if [ -n "$do_mp4psp" ] ; then -# mp4 PSP style -do_video_encoding mpeg4-PSP.mp4 "-vb 768k -s 320x240" psp "-ar 24000 -ab 32k -i $raw_src" -fi - -################################### -if [ -n "$do_error" ] ; then -# damaged mpeg4 -do_video_encoding error-mpeg4-adv.avi "-qscale 7 -flags +mv4+part+aic -mbd rd -ps 250 -error 10" pgmyuv "-an -vcodec mpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg4nr" ] ; then -# noise reduction -do_video_encoding mpeg4-nr.avi "-qscale 8 -flags +mv4 -mbd rd -nr 200" pgmyuv "-an -vcodec mpeg4" -do_video_decoding -fi - -################################### -if [ -n "$do_mpeg1b" ] ; then -# mpeg1 -do_video_encoding mpeg1b.mpg "-qscale 8 -bf 3 -ps 200" pgmyuv "-an -vcodec mpeg1video -f mpeg1video" -do_video_decoding -fi - -################################### -if [ -n "$do_mjpeg" ] ; then -# mjpeg -do_video_encoding mjpeg.avi "-qscale 10" pgmyuv "-an -vcodec mjpeg -pix_fmt yuvj420p" -do_video_decoding "" "-pix_fmt yuv420p" -fi - -################################### -if [ -n "$do_ljpeg" ] ; then -# ljpeg -do_video_encoding ljpeg.avi "" pgmyuv "-an -vcodec ljpeg -strict -1" -do_video_decoding -fi - -################################### -if [ -n "$do_jpegls" ] ; then -# jpeg ls -do_video_encoding jpegls.avi "" pgmyuv "-an -vcodec jpegls -vtag MJPG" -do_video_decoding "" "-pix_fmt yuv420p" -fi - -################################### -if [ -n "$do_rv10" ] ; then -# rv10 encoding -do_video_encoding rv10.rm "-qscale 10" pgmyuv "-an" -do_video_decoding -fi - -################################### -if [ -n "$do_rv20" ] ; then -# rv20 encoding -do_video_encoding rv20.rm "-qscale 10" pgmyuv "-vcodec rv20 -an" -do_video_decoding -fi - -################################### -if [ -n "$do_asv1" ] ; then -# asv1 encoding -do_video_encoding asv1.avi "-qscale 10" pgmyuv "-an -vcodec asv1" -do_video_decoding -fi - -################################### -if [ -n "$do_asv2" ] ; then -# asv2 encoding -do_video_encoding asv2.avi "-qscale 10" pgmyuv "-an -vcodec asv2" -do_video_decoding -fi - -################################### -if [ -n "$do_flv" ] ; then -# flv encoding -do_video_encoding flv.flv "-qscale 10" pgmyuv "-an -vcodec flv" -do_video_decoding -fi - -################################### -if [ -n "$do_ffv1" ] ; then -# ffv1 encoding -do_video_encoding ffv1.avi "-strict -2" pgmyuv "-an -vcodec ffv1" -do_video_decoding -fi - -################################### -if [ -n "$do_snow" ] ; then -# snow -do_video_encoding snow.avi "-strict -2" pgmyuv "-an -vcodec snow -qscale 2 -flags +qpel -me iter -dia_size 2 -cmp 12 -subcmp 12 -s 128x64" -do_video_decoding "" "-s 352x288" -fi - -################################### -if [ -n "$do_snowll" ] ; then -# snow -do_video_encoding snow53.avi "-strict -2" pgmyuv "-an -vcodec snow -qscale .001 -pred 1 -flags +mv4+qpel" -do_video_decoding -fi - -################################### -if [ -n "$do_dv" ] ; then -# dv -do_video_encoding dv.dv "-dct int" pgmyuv "-s pal -an" -do_video_decoding "" "-s cif" -fi - -################################### -if [ -n "$do_dv50" ] ; then -# dv50 -do_video_encoding dv.dv "-dct int" pgmyuv "-s pal -pix_fmt yuv422p -an" -do_video_decoding "" "-s cif -pix_fmt yuv420p" -fi - - -################################### -if [ -n "$do_svq1" ] ; then -# svq1 -do_video_encoding svq1.mov "" pgmyuv "-an -vcodec svq1 -qscale 3 -pix_fmt yuv410p" -do_video_decoding "" "-pix_fmt yuv420p" -fi - -################################### -if [ -n "$do_mp2" ] ; then -# mp2 -do_audio_encoding mp2.mp2 "-ar 44100" -do_audio_decoding -$tiny_psnr $pcm_dst $pcm_ref 2 1924 >> $logfile -fi - -################################### -if [ -n "$do_ac3" ] ; then -# ac3 -do_audio_encoding ac3.rm "" -vn -#do_audio_decoding -fi - -################################### -if [ -n "$do_g726" ] ; then -# g726 -do_audio_encoding g726.wav "-ar 44100" "-ab 32k -ac 1 -ar 8000 -acodec g726" -do_audio_decoding -fi - -################################### -if [ -n "$do_adpcm_ima_wav" ] ; then -# adpcm ima -do_audio_encoding adpcm_ima.wav "-ar 44100" "-acodec adpcm_ima_wav" -do_audio_decoding -fi - -################################### -if [ -n "$do_adpcm_ms" ] ; then -# adpcm ms -do_audio_encoding adpcm_ms.wav "-ar 44100" "-acodec adpcm_ms" -do_audio_decoding -fi - -################################### -if [ -n "$do_adpcm_yam" ] ; then -# adpcm yamaha -do_audio_encoding adpcm_yam.wav "-ar 44100" "-acodec adpcm_yamaha" -do_audio_decoding -fi - -################################### -if [ -n "$do_flac" ] ; then -# flac -do_audio_encoding flac.flac "-ar 44100" "-acodec flac -compression_level 2" -do_audio_decoding -fi - -################################### -if [ -n "$do_wma" ] ; then -# wmav1 -do_audio_encoding wmav1.asf "-ar 44100" "-acodec wmav1" -do_ffmpeg_nomd5 $pcm_dst -y -i $file -f wav $pcm_dst -$tiny_psnr $pcm_dst $pcm_ref 2 8192 >> $logfile -# wmav2 -do_audio_encoding wmav2.asf "-ar 44100" "-acodec wmav2" -do_ffmpeg_nomd5 $pcm_dst -y -i $file -f wav $pcm_dst -$tiny_psnr $pcm_dst $pcm_ref 2 8192 >> $logfile -fi - -################################### -#if [ -n "$do_vorbis" ] ; then -# vorbis -#disabled because its broken -#do_audio_encoding vorbis.asf "-ar 44100" "-acodec vorbis" -#do_audio_decoding -#fi - -################################### -# libavformat testing -################################### - -if [ -n "$do_libavtest" ] ; then - -# avi -do_libav avi - -# asf -do_libav asf "-acodec mp2" "-r 25" - -# rm -file=${outfile}libav.rm -do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -f s16le -i $pcm_src $file -# broken -#do_ffmpeg_crc $file -i $file - -# mpegps -do_libav mpg - -# mpegts -do_libav ts - -# swf -do_libav swf -an - -# ffm -do_libav ffm - -# flv -do_libav flv -an - -# mov -do_libav mov "-acodec pcm_alaw" - -# nut -#do_libav nut "-acodec mp2" - -# dv -do_libav dv "-ar 48000 -r 25 -s pal -ac 2" - -# gxf -do_libav gxf "-ar 48000 -r 25 -s pal -ac 1" - -#################### -# streamed images -# mjpeg -#file=${outfile}libav.mjpeg -#do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file -#do_ffmpeg_crc $file -i $file - -# pbmpipe -do_streamed_images pbm - -# pgmpipe -do_streamed_images pgm - -# ppmpipe -do_streamed_images ppm - -# gif -file=${outfile}libav.gif -do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src -pix_fmt rgb24 $file -#do_ffmpeg_crc $file -i $file - -# yuv4mpeg -file=${outfile}libav.y4m -do_ffmpeg $file -t 1 -y -qscale 10 -f pgmyuv -i $raw_src $file -#do_ffmpeg_crc $file -i $file - -#################### -# image formats -# pgm -do_image_formats pgm - -# ppm -do_image_formats ppm - -# bmp -do_image_formats bmp - -# tga -do_image_formats tga - -# jpeg -do_image_formats jpg "-flags +bitexact -dct fastint -idct simple -pix_fmt yuvj420p" "-f image2" - -#################### -# audio only - -# wav -do_audio_only wav - -# alaw -do_audio_only al - -# mulaw -do_audio_only ul - -# au -do_audio_only au - -# mmf -do_audio_only mmf - -# aiff -do_audio_only aif - -# voc -do_audio_only voc - -#################### -# pix_fmt conversions -conversions="yuv420p yuv422p yuv444p yuyv422 yuv410p yuv411p yuvj420p \ - yuvj422p yuvj444p rgb24 bgr24 rgb32 rgb565 rgb555 gray monow \ - monob pal8" -for pix_fmt in $conversions ; do - file=${outfile}libav-${pix_fmt}.yuv - do_ffmpeg_nocheck $file -r 1 -t 1 -y -f pgmyuv -i $raw_src \ - -f rawvideo -s 352x288 -pix_fmt $pix_fmt $raw_dst - do_ffmpeg $file -f rawvideo -s 352x288 -pix_fmt $pix_fmt -i $raw_dst \ - -f rawvideo -s 352x288 -pix_fmt yuv444p $file -done - -fi # [ -n "$do_libavtest" ] - - - -if $diff_cmd "$logfile" "$reffile" ; then - echo - echo Regression test succeeded. - exit 0 -else - echo - echo Regression test: Error. - exit 1 -fi diff --git a/contrib/ffmpeg/tests/rotozoom.c b/contrib/ffmpeg/tests/rotozoom.c deleted file mode 100644 index 52f5546a3..000000000 --- a/contrib/ffmpeg/tests/rotozoom.c +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Generates a synthetic YUV video sequence suitable for codec testing. - * - * copyright (c) Sebastien Bechet <s.bechet@av7.net> - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <stdlib.h> -#include <stdio.h> -#include <inttypes.h> - -#define FIXP (1<<16) -#define MY_PI 205887 //(M_PI*FIX) - -static int64_t int_pow(int64_t a, int p){ - int64_t v= FIXP; - - for(; p; p--){ - v*= a; - v/= FIXP; - } - - return v; -} - -static int64_t int_sin(int64_t a){ - if(a<0) a= MY_PI-a; // 0..inf - a %= 2*MY_PI; // 0..2PI - - if(a>=MY_PI*3/2) a -= 2*MY_PI; // -PI/2 .. 3PI/2 - if(a>=MY_PI/2 ) a = MY_PI - a; // -PI/2 .. PI/2 - - return a - int_pow(a, 3)/6 + int_pow(a, 5)/120 - int_pow(a, 7)/5040; -} - -#define SCALEBITS 8 -#define ONE_HALF (1 << (SCALEBITS - 1)) -#define FIX(x) ((int) ((x) * (1L<<SCALEBITS) + 0.5)) -typedef unsigned char UINT8; - -static void rgb24_to_yuv420p(UINT8 *lum, UINT8 *cb, UINT8 *cr, - UINT8 *src, int width, int height) -{ - int wrap, wrap3, x, y; - int r, g, b, r1, g1, b1; - UINT8 *p; - - wrap = width; - wrap3 = width * 3; - p = src; - for(y=0;y<height;y+=2) { - for(x=0;x<width;x+=2) { - r = p[0]; - g = p[1]; - b = p[2]; - r1 = r; - g1 = g; - b1 = b; - lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - r = p[3]; - g = p[4]; - b = p[5]; - r1 += r; - g1 += g; - b1 += b; - lum[1] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - p += wrap3; - lum += wrap; - - r = p[0]; - g = p[1]; - b = p[2]; - r1 += r; - g1 += g; - b1 += b; - lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - r = p[3]; - g = p[4]; - b = p[5]; - r1 += r; - g1 += g; - b1 += b; - lum[1] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - - cb[0] = ((- FIX(0.16874) * r1 - FIX(0.33126) * g1 + - FIX(0.50000) * b1 + 4 * ONE_HALF - 1) >> (SCALEBITS + 2)) + 128; - cr[0] = ((FIX(0.50000) * r1 - FIX(0.41869) * g1 - - FIX(0.08131) * b1 + 4 * ONE_HALF - 1) >> (SCALEBITS + 2)) + 128; - - cb++; - cr++; - p += -wrap3 + 2 * 3; - lum += -wrap + 2; - } - p += wrap3; - lum += wrap; - } -} - -/* cif format */ -#define DEFAULT_WIDTH 352 -#define DEFAULT_HEIGHT 288 -#define DEFAULT_NB_PICT 50 - -void pgmyuv_save(const char *filename, int w, int h, - unsigned char *rgb_tab) -{ - FILE *f; - int i, h2, w2; - unsigned char *cb, *cr; - unsigned char *lum_tab, *cb_tab, *cr_tab; - - lum_tab = malloc(w * h); - cb_tab = malloc((w * h) / 4); - cr_tab = malloc((w * h) / 4); - - rgb24_to_yuv420p(lum_tab, cb_tab, cr_tab, rgb_tab, w, h); - - f = fopen(filename,"wb"); - fprintf(f, "P5\n%d %d\n%d\n", w, (h * 3) / 2, 255); - fwrite(lum_tab, 1, w * h, f); - h2 = h / 2; - w2 = w / 2; - cb = cb_tab; - cr = cr_tab; - for(i=0;i<h2;i++) { - fwrite(cb, 1, w2, f); - fwrite(cr, 1, w2, f); - cb += w2; - cr += w2; - } - fclose(f); - - free(lum_tab); - free(cb_tab); - free(cr_tab); -} - -unsigned char *rgb_tab; -int width, height, wrap; - -void put_pixel(int x, int y, int r, int g, int b) -{ - unsigned char *p; - - if (x < 0 || x >= width || - y < 0 || y >= height) - return; - - p = rgb_tab + y * wrap + x * 3; - p[0] = r; - p[1] = g; - p[2] = b; -} - -unsigned char tab_r[256*256]; -unsigned char tab_g[256*256]; -unsigned char tab_b[256*256]; - -int teta = 0; -int h_cos [360]; -int h_sin [360]; - -static int ipol(uint8_t *src, int x, int y){ - int int_x= x>>16; - int int_y= y>>16; - int frac_x= x&0xFFFF; - int frac_y= y&0xFFFF; - int s00= src[ ( int_x &255) + 256*( int_y &255) ]; - int s01= src[ ((int_x+1)&255) + 256*( int_y &255) ]; - int s10= src[ ( int_x &255) + 256*((int_y+1)&255) ]; - int s11= src[ ((int_x+1)&255) + 256*((int_y+1)&255) ]; - int s0= (((1<<16) - frac_x)*s00 + frac_x*s01)>>8; - int s1= (((1<<16) - frac_x)*s10 + frac_x*s11)>>8; - - return (((1<<16) - frac_y)*s0 + frac_y*s1)>>24; -} - -void gen_image(int num, int w, int h) -{ - const int c = h_cos [teta]; - const int s = h_sin [teta]; - - const int xi = -(w/2) * c; - const int yi = (w/2) * s; - - const int xj = -(h/2) * s; - const int yj = -(h/2) * c; - int i,j; - - int x,y; - int xprime = xj; - int yprime = yj; - - - for (j=0;j<h;j++) { - - x = xprime + xi + FIXP*w/2; - xprime += s; - - y = yprime + yi + FIXP*h/2; - yprime += c; - - for ( i=0 ; i<w ; i++ ) { - x += c; - y -= s; -#if 1 - put_pixel(i, j, ipol(tab_r, x, y), ipol(tab_g, x, y), ipol(tab_b, x, y)); -#else - { - unsigned dep; - dep = ((x>>16)&255) + (((y>>16)&255)<<8); - put_pixel(i, j, tab_r[dep], tab_g[dep], tab_b[dep]); - } -#endif - } - } - teta = (teta+1) % 360; -} - -#define W 256 -#define H 256 - -void init_demo(const char *filename) { - int i,j; - int h; - int radian; - char line[3 * W]; - - FILE *fichier; - - fichier = fopen(filename,"rb"); - if (!fichier) { - perror(filename); - exit(1); - } - - fread(line, 1, 15, fichier); - for (i=0;i<H;i++) { - fread(line,1,3*W,fichier); - for (j=0;j<W;j++) { - tab_r[W*i+j] = line[3*j ]; - tab_g[W*i+j] = line[3*j + 1]; - tab_b[W*i+j] = line[3*j + 2]; - } - } - fclose(fichier); - - /* tables sin/cos */ - for (i=0;i<360;i++) { - radian = 2*i*MY_PI/360; - h = 2*FIXP + int_sin (radian); - h_cos[i] = ( h * int_sin (radian + MY_PI/2) )/2/FIXP; - h_sin[i] = ( h * int_sin (radian ) )/2/FIXP; - } -} - -int main(int argc, char **argv) -{ - int w, h, i; - char buf[1024]; - - if (argc != 3) { - printf("usage: %s directory/ image.pnm\n" - "generate a test video stream\n", argv[0]); - exit(1); - } - - w = DEFAULT_WIDTH; - h = DEFAULT_HEIGHT; - - rgb_tab = malloc(w * h * 3); - wrap = w * 3; - width = w; - height = h; - - init_demo(argv[2]); - - for(i=0;i<DEFAULT_NB_PICT;i++) { - snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i); - gen_image(i, w, h); - pgmyuv_save(buf, w, h, rgb_tab); - } - - free(rgb_tab); - return 0; -} diff --git a/contrib/ffmpeg/tests/rotozoom.regression.ref b/contrib/ffmpeg/tests/rotozoom.regression.ref deleted file mode 100644 index 94c4e1b72..000000000 --- a/contrib/ffmpeg/tests/rotozoom.regression.ref +++ /dev/null @@ -1,198 +0,0 @@ -ffmpeg regression test -73ca6f1deab02d1d67a0e8495c026a9e *./data/a-mpeg1.mpg -192783 ./data/a-mpeg1.mpg -56147e94b12f08df7213e610e177823d *./data/out.yuv -stddev: 4.95 PSNR:34.21 bytes:7602176 -2d55ce623a7be4e8136f80266e487678 *./data/a-mpeg2.mpg -198667 ./data/a-mpeg2.mpg -b7cae8a1f751b821cddcbe4d5dbc518c *./data/out.yuv -stddev: 4.96 PSNR:34.19 bytes:7602176 -4dd6e884eeccfb5c0d9b5542349e3d62 *./data/a-mpeg2ivlc-qprd.mpg -249692 ./data/a-mpeg2ivlc-qprd.mpg -99214c2a75ece2a0bf4f5afebc0f8ed7 *./data/out.yuv -stddev: 4.41 PSNR:35.22 bytes:7602176 -f979bcca866e6e4cad5dc6cb06e56cfb *./data/a-mpeg2.mpg -198041 ./data/a-mpeg2.mpg -f6d9bf24ff8676a7f6076c05cd2c81a3 *./data/out.yuv -stddev: 4.97 PSNR:34.18 bytes:7602176 -f90197a8b6e62ae25f82625337f27240 *./data/a-mpeg2i.mpg -204579 ./data/a-mpeg2i.mpg -ea5057b60146c06d40449cdfc686bf13 *./data/out.yuv -stddev: 4.98 PSNR:34.17 bytes:7602176 -c346717be44450e41d9d6e07f59d1490 *./data/a-mpeg2thread.mpg -182959 ./data/a-mpeg2thread.mpg -02b85a7f67ced2d146a5c4e8000712b6 *./data/out.yuv -stddev: 4.75 PSNR:34.57 bytes:7602176 -ff30b3df75626398873ac4f30093a5ae *./data/a-mpeg2threadivlc.mpg -182105 ./data/a-mpeg2threadivlc.mpg -02b85a7f67ced2d146a5c4e8000712b6 *./data/out.yuv -stddev: 4.75 PSNR:34.57 bytes:7602176 -3942f86a6aa6fe5aea586fedf210e33e *./data/a-mpeg2reuse.mpg -394265 ./data/a-mpeg2reuse.mpg -afbc483eaa769925259e6094cfda2c72 *./data/out.yuv -stddev: 4.76 PSNR:34.56 bytes:7602176 -c09815e40a9d260628e1ebad8b2b3774 *./data/a-msmpeg4v2.avi -129918 ./data/a-msmpeg4v2.avi -8920194f8bf8f9cdd6c65b3df9e1a292 *./data/out.yuv -stddev: 5.33 PSNR:33.58 bytes:7602176 -3069f95f2ffca1f20c8ea36e2625fabc *./data/a-msmpeg4.avi -127680 ./data/a-msmpeg4.avi -0e1c6e25c71c6a8fa8e506e3d97ca4c9 *./data/out.yuv -stddev: 5.33 PSNR:33.58 bytes:7602176 -6896c9bdf765953d272c25e34795b934 *./data/a-wmv1.avi -129548 ./data/a-wmv1.avi -81eee429b665254d19a06607463c0b5e *./data/out.yuv -stddev: 5.33 PSNR:33.59 bytes:7602176 -34b40c67036c8e09740f7acfe3d43df6 *./data/a-wmv2.avi -129864 ./data/a-wmv2.avi -81eee429b665254d19a06607463c0b5e *./data/out.yuv -stddev: 5.33 PSNR:33.59 bytes:7602176 -dfd005d4c9030a0dc889c828a6408b9c *./data/a-h261.avi -191086 ./data/a-h261.avi -db7ceff174823b98834faa2320ca89ac *./data/out.yuv -stddev: 6.38 PSNR:32.02 bytes:7602176 -9a368687ab34c48079f11a202839a6bc *./data/a-h263.avi -160106 ./data/a-h263.avi -61213b91b359697ebcefb9e0a53ac54a *./data/out.yuv -stddev: 5.43 PSNR:33.41 bytes:7602176 -c7644d40e9f40bbd98e5a978f9f94bb4 *./data/a-h263p.avi -868018 ./data/a-h263p.avi -4b0ee791f280029dc03c528f76f195d4 *./data/out.yuv -stddev: 1.91 PSNR:42.49 bytes:7602176 -f15f07988bfdb2851f88ebe3036b72d3 *./data/a-odivx.mp4 -119797 ./data/a-odivx.mp4 -90a3577850239083a9042bef33c50e85 *./data/out.yuv -stddev: 5.34 PSNR:33.56 bytes:7602176 -a1323da0c8b437cd6961f8c90451880b *./data/a-huffyuv.avi -6455232 ./data/a-huffyuv.avi -dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -968ca132d8cf46f84e657abcf8473b7c *./data/a-mpeg4-rc.avi -227934 ./data/a-mpeg4-rc.avi -895773fe8250c806a0d1592a6dd12401 *./data/out.yuv -stddev: 4.24 PSNR:35.56 bytes:7602176 -9001cf571eb7f26fa5592bdec6538583 *./data/a-mpeg4-adv.avi -173590 ./data/a-mpeg4-adv.avi -699edf05648fdc42196b7bebef9be269 *./data/out.yuv -stddev: 4.84 PSNR:34.41 bytes:7602176 -1e12bb209dae0ab4b64265b0a4262257 *./data/a-mpeg4-qprd.avi -234048 ./data/a-mpeg4-qprd.avi -1ec355ffb30d2adf302a550cf5812636 *./data/out.yuv -stddev: 4.23 PSNR:35.58 bytes:7602176 -d581d6f4a331325905b8ffb05cd3bfd3 *./data/a-mpeg4-adap.avi -204284 ./data/a-mpeg4-adap.avi -c2c7f1c7844ab92d34247ccb70198c61 *./data/out.yuv -stddev: 4.04 PSNR:35.99 bytes:7602176 -a5150067914ee1dee50f8fc8dcaee841 *./data/a-mpeg4-Q.avi -165802 ./data/a-mpeg4-Q.avi -4dcc71ad79bee90777cf5299044be362 *./data/out.yuv -stddev: 4.00 PSNR:36.08 bytes:7602176 -8cd8940d7451925784536fe9b2f2a5e3 *./data/a-mpeg4-thread.avi -254260 ./data/a-mpeg4-thread.avi -d160a4224ea1af66c85178912f8d3a7c *./data/out.yuv -stddev: 4.03 PSNR:36.01 bytes:7602176 -5b5b88ce610114e346a5df4f46995bb9 *./data/a-mpeg4-PSP.mp4 -325006 ./data/a-mpeg4-PSP.mp4 -90e65096aa9ebafa3fe3f44a5a47cdc4 *./data/a-error-mpeg4-adv.avi -176588 ./data/a-error-mpeg4-adv.avi -113defd3f8daf878e0b3fc03fafb4c09 *./data/out.yuv -stddev: 9.02 PSNR:29.01 bytes:7602176 -c41187c99588fb7229ad330b2f80d28b *./data/a-mpeg4-nr.avi -155044 ./data/a-mpeg4-nr.avi -f7fc191308679f709405e62271f5c65f *./data/out.yuv -stddev: 4.73 PSNR:34.62 bytes:7602176 -977f3caf286e8f36c6ab4c7464632f26 *./data/a-mpeg1b.mpg -229806 ./data/a-mpeg1b.mpg -f41c60846bfb8cb6dcf6071c846c82b4 *./data/out.yuv -stddev: 4.13 PSNR:35.79 bytes:7602176 -b179402bba391073b5f5f9324a834061 *./data/a-mjpeg.avi -703564 ./data/a-mjpeg.avi -b1aa72cfb6f9cc3f525b27abc86a8f51 *./data/out.yuv -stddev: 4.38 PSNR:35.28 bytes:7602176 -bc0d8c868c1a05db0ff03f41768f6c5e *./data/a-ljpeg.avi -4766558 ./data/a-ljpeg.avi -dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -f67cd488dfd06c03ad1d6d94d81b80c8 *./data/a-jpegls.avi -8334488 ./data/a-jpegls.avi -a63d4e3ea1f0b0c0d44821da9e09b8f4 *./data/out.yuv -stddev: 0.67 PSNR:51.57 bytes:7602176 -989a42671603dc1a7e6b156dccf0e820 *./data/a-rv10.rm -154330 ./data/a-rv10.rm -61213b91b359697ebcefb9e0a53ac54a *./data/out.yuv -stddev: 5.43 PSNR:33.41 bytes:7602176 -1b1cbff8e78602de498b4314cb991e72 *./data/a-rv20.rm -132754 ./data/a-rv20.rm -c66afdcc0daac2f1b4167b9811968877 *./data/out.yuv -stddev: 5.42 PSNR:33.44 bytes:7602176 -4eb34d2de25f67a2706456e999338fe9 *./data/a-asv1.avi -832512 ./data/a-asv1.avi -c96ff7fd17c52f99ddb7922a4cb9168f *./data/out.yuv -stddev: 10.47 PSNR:27.72 bytes:7602176 -9649a4b68fb1107bad13e8a7574cc72d *./data/a-asv2.avi -789072 ./data/a-asv2.avi -74a78015b64b2cf8cb9da2e44f508a69 *./data/out.yuv -stddev: 10.28 PSNR:27.88 bytes:7602176 -7163b470e93feb36b3f01e82168a3d31 *./data/a-flv.flv -131360 ./data/a-flv.flv -8999c8264fb0941561f64c4a736e9d88 *./data/out.yuv -stddev: 5.33 PSNR:33.58 bytes:7602176 -d72b0960e162d4998b9acbabb07e99ab *./data/a-ffv1.avi -3525804 ./data/a-ffv1.avi -dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -40a6e938ac2bd92ee12cd57925e86454 *./data/a-snow.avi -68758 ./data/a-snow.avi -1e356854142898c7c4aab4bfedadf235 *./data/out.yuv -stddev: 10.86 PSNR:27.40 bytes:7602176 -3d0da6aeec9b80c6ee0ff4b747bdd0f0 *./data/a-snow53.avi -2721980 ./data/a-snow53.avi -dde5895817ad9d219f79a52d0bdfb001 *./data/out.yuv -stddev: 0.00 PSNR:99.99 bytes:7602176 -54cdeaee32d1007666a1e487e739daf6 *./data/a-dv.dv -7200000 ./data/a-dv.dv -75bf724e37f667f36af50e2051846574 *./data/out.yuv -stddev: 3.11 PSNR:38.24 bytes:7602176 -ac6741e4c79e9ed18f179c4124ede29c *./data/a-dv.dv -14400000 ./data/a-dv.dv -ad9907f4ef608f025f5fc38b4b067b37 *./data/out.yuv -stddev: 3.11 PSNR:38.25 bytes:7602176 -7ba9292d663819a9a1d1cdecc6f1b079 *./data/a-svq1.mov -768407 ./data/a-svq1.mov -6bc10518bc387c3bdf117997713ee69a *./data/out.yuv -stddev: 3.44 PSNR:37.39 bytes:7602176 -21f8ff9f1daacd9133683bb4ea0f50a4 *./data/a-mp2.mp2 -95712 ./data/a-mp2.mp2 -83f8df5d5f84480566af548bb037fceb *./data/out.wav -stddev:9330.70 PSNR:16.92 bytes:1054720 -stddev:4396.13 PSNR:23.46 bytes:1052672 -aefe11ab5067621a1c674859d6413891 *./data/a-ac3.rm -98203 ./data/a-ac3.rm -39878597b1d65cce473639a7d8c93b02 *./data/a-g726.wav -24279 ./data/a-g726.wav -888f2f016e608d044a1bacbca5497ed2 *./data/out.wav -stddev:8368.02 PSNR:17.87 bytes:96256 -de3f0e1f50b19bd8572fdd3dee2e72c4 *./data/a-adpcm_ima.wav -266300 ./data/a-adpcm_ima.wav -60178d48204f5662d91776e36eddc82e *./data/out.wav -stddev:11441.89 PSNR:15.15 bytes:1054720 -628d4789cf9ee16a756ac54b7fd8650d *./data/a-adpcm_ms.wav -267320 ./data/a-adpcm_ms.wav -91a84bb4f319a3a0bf0c0441b3d3a529 *./data/out.wav -stddev:1050.18 PSNR:35.89 bytes:1054720 -ab11d9151644cbff27827b7e89f37aa9 *./data/a-adpcm_yam.wav -264248 ./data/a-adpcm_yam.wav -e92cec8c07913ffb91ad2b11f79cdc00 *./data/out.wav -stddev:18312.68 PSNR:11.06 bytes:1056768 -c3382f03ce2efb5d475240d288a33898 *./data/a-flac.flac -353368 ./data/a-flac.flac -c4228df189aad9567a037727d0e763e4 *./data/out.wav -stddev: 33.31 PSNR:65.87 bytes:1040384 -0c406c4e4586ca27064e28637b662631 *./data/a-wmav1.asf -106004 ./data/a-wmav1.asf -stddev:12251.50 PSNR:14.56 bytes:1056768 -stddev:2106.00 PSNR:29.85 bytes:1048576 -82442aaa5fdbd327769e4c4ad369147e *./data/a-wmav2.asf -106044 ./data/a-wmav2.asf -stddev:12255.92 PSNR:14.55 bytes:1056768 -stddev:2099.31 PSNR:29.88 bytes:1048576 diff --git a/contrib/ffmpeg/tests/seek_test.c b/contrib/ffmpeg/tests/seek_test.c deleted file mode 100644 index e17409439..000000000 --- a/contrib/ffmpeg/tests/seek_test.c +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2003 Fabrice Bellard - * Copyright (c) 2007 Michael Niedermayer - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -#include <stdlib.h> -#include <stdio.h> - -#include "avformat.h" - -int main(int argc, char **argv) -{ - const char *filename; - AVFormatContext *ic; - int i, ret, stream_id; - int64_t timestamp; - - /* initialize libavcodec, and register all codecs and formats */ - av_register_all(); - - if (argc != 2) { - printf("usage: %s input_file\n" - "\n", argv[0]); - exit(1); - } - - filename = argv[1]; - - /* allocate the media context */ - ic = av_alloc_format_context(); - if (!ic) { - fprintf(stderr, "Memory error\n"); - exit(1); - } - - ret = av_open_input_file(&ic, filename, NULL, 0, NULL); - if (ret < 0) { - fprintf(stderr, "cant open %s\n", filename); - exit(1); - } - - ret = av_find_stream_info(ic); - if (ret < 0) { - fprintf(stderr, "%s: could not find codec parameters\n", filename); - exit(1); - } - - for(i=0; ; i++){ - AVPacket pkt; - AVStream *st; - - memset(&pkt, 0, sizeof(pkt)); - if(ret>=0){ - ret= av_read_frame(ic, &pkt); - printf("ret:%2d", ret); - if(ret>=0){ - st= ic->streams[pkt.stream_index]; - printf(" st:%2d dts:%f pts:%f pos:%Ld size:%d flags:%d", pkt.stream_index, pkt.dts*av_q2d(st->time_base), pkt.pts*av_q2d(st->time_base), pkt.pos, pkt.size, pkt.flags); - } - printf("\n"); - } - - if(i>25) break; - - stream_id= (i>>1)%(ic->nb_streams+1) - 1; - timestamp= (i*19362894167LL) % (4*AV_TIME_BASE) - AV_TIME_BASE; - if(stream_id>=0){ - st= ic->streams[stream_id]; - timestamp= av_rescale_q(timestamp, AV_TIME_BASE_Q, st->time_base); - } - ret = av_seek_frame(ic, stream_id, timestamp, (i&1)*AVSEEK_FLAG_BACKWARD); - printf("ret:%2d st:%2d ts:%f flags:%d\n", ret, stream_id, timestamp*(stream_id<0 ? 1.0/AV_TIME_BASE : av_q2d(st->time_base)), i&1); - } - - return 0; -} diff --git a/contrib/ffmpeg/tests/seek_test.sh b/contrib/ffmpeg/tests/seek_test.sh deleted file mode 100755 index eeac747b1..000000000 --- a/contrib/ffmpeg/tests/seek_test.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -#feel free to clean this up ive made no attempt to write this overly portable ... - -datadir="./data" - -logfile="$datadir/seek.regression" -reffile="$1" - -list=`ls data/a-* data/b-* | sort` -rm $logfile -for i in $list ; do - echo ---------------- >>$logfile - echo $i >>$logfile - ./seek_test $i >> $logfile -done - -if diff -u "$logfile" "$reffile" ; then - echo - echo Regression test succeeded. - exit 0 -else - echo - echo Regression test: Error. - exit 1 -fi diff --git a/contrib/ffmpeg/tests/server-regression.sh b/contrib/ffmpeg/tests/server-regression.sh deleted file mode 100755 index 1f561aa54..000000000 --- a/contrib/ffmpeg/tests/server-regression.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# Even in the 21st century some diffs are not supporting -u. -diff -u $0 $0 > /dev/null 2>&1 -if [ $? -eq 0 ]; then - diff_cmd="diff -u" -else - diff_cmd="diff" -fi - -# Make sure that the data directory exists -mkdir -p data - -#perl -e 'chomp($wd = `pwd`); print map { s!data/!!; "<Stream $_>\nFile $wd/data/$_\n</Stream>\n\n" } @ARGV' data/a* >> data/test.conf -#perl -e 'chomp($wd = `pwd`); print map { s!data/!!; "<Stream $_.asf>\nFile $wd/data/$_\n</Stream>\n\n" } @ARGV' data/a* >> data/test.conf - -FILES=`sed -n 's/^[^#]*<Stream \(.*\)>.*/\1/p' test.conf | grep -v html` - -rm -f feed1.ffm -../ffserver -d -f test.conf 2> /dev/null & -FFSERVER_PID=$! -sleep 2 -echo "Waiting for feeds to startup..." -../ffmpeg -loop_input -flags +bitexact -dct fastint -idct simple -y -f pgmyuv -i vsynth1/%02d.pgm http://localhost:9999/feed1.ffm 2> /dev/null & -FFMPEG_PID=$! -sleep 5 -( - cd data || exit $? - rm -f ff-*; - WGET_OPTIONS="--user-agent=NSPlayer -q --proxy=off -e verbose=off -e server_response=off" - for file in $FILES; do - if [ `expr $file : "a-*"` != 0 ]; then - wget $WGET_OPTIONS --output-document=- http://localhost:9999/$file > ff-$file - else - wget $WGET_OPTIONS --output-document=- http://localhost:9999/$file?date=19700101T000000Z | dd bs=1 count=20000 > ff-$file 2>/dev/null - fi - MDFILES="$MDFILES ff-$file" - done - wait - # the status page is always different - md5sum $MDFILES > ffserver.regression -) -kill $FFMPEG_PID -kill $FFSERVER_PID -wait > /dev/null 2>&1 -rm -f feed1.ffm -if $diff_cmd data/ffserver.regression "$1" ; then - echo - echo Server regression test succeeded. - exit 0 -else - echo - echo Server regression test: Error. - exit 1 -fi diff --git a/contrib/ffmpeg/tests/test.conf b/contrib/ffmpeg/tests/test.conf deleted file mode 100644 index afd4c16fb..000000000 --- a/contrib/ffmpeg/tests/test.conf +++ /dev/null @@ -1,307 +0,0 @@ -# -# This is a test configuration file. You can invoke it with -# ../ffserver -f test.conf -# when in the tests directory and once the vsynth1 subdirectory -# has been populated. Then point your browser at http://whatever:9999/teststat.html -# and you can look at the streams -# - -# -# Port on which the server is listening. You must select a different -# port from your standard http web server if it is running on the same -# computer. - -Port 9999 -RTSPPort 9990 - -# Address on which the server is bound. Only useful if you have -# several network interfaces. - -BindAddress 0.0.0.0 - -# Number of simultaneous requests that can be handled. Since FFServer -# is very fast, this limit is determined mainly by your Internet -# connection speed. - -MaxClients 1000 - -MaxBandwidth 100000 - -# Access Log file (uses standard Apache log file format) -# '-' is the standard output - -CustomLog - - -################################################################## -# Definition of the live feeds. Each live feed contains one video -# and/or audio sequence coming from an ffmpeg encoder or another -# ffserver. This sequence may be encoded simultaneously with several -# codecs at several resolutions. - -<Feed feed1.ffm> - -# You must use 'ffmpeg' to send a live feed to ffserver. In this -# example, you can type: -# -# ffmpeg http://localhost:8090/feed1.ffm - -# ffserver can also do time shifting. It means that it can stream any -# previously recorded live stream. The request should contain: -# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify -# a path where the feed is stored on disk. You also specify the -# maximum size of the feed (100M bytes here). Default: -# File=/tmp/feed_name.ffm FileMaxSize=5M - -File feed1.ffm -FileMaxSize 100M - -# Fire up ffmpeg pointing at this stream - -#Launch ../../ffmpeg -loop_input -flags +bitexact -dct fastint -idct simple -y -f pgmyuv -i vsynth1/%02d.pgm - -ACL allow localhost -</Feed> - -################################################################## -# Now you can define each stream which will be generated from the -# original audio and video stream. Each format has a filename (here -# 'test128.mpg'). FFServer will send this stream when answering a -# request containing this filename. - -<Stream test_h.avi> -Feed feed1.ffm -Format avi -# -BitExact -DctFastint -IdctSimple -VideoFrameRate 10 -VideoSize 352x288 -VideoBitRate 100 -VideoGopSize 30 -NoAudio - -PreRoll 10 -StartSendOnKey -MaxTime 100 - -</Stream> - -<Stream test_l.avi> -Feed feed1.ffm -Format avi -# -BitExact -DctFastint -IdctSimple -VideoFrameRate 2 -VideoSize 320x240 -VideoBitRate 40 -VideoGopSize 20 -NoAudio - -PreRoll 20 -StartSendOnKey -MaxTime 100 - -</Stream> - -#<Stream test_h.mpg> -#Feed feed1.ffm -# -#VideoFrameRate 10 -#VideoSize 352x288 -#VideoBitRate 100 -#VideoGopSize 30 -#NoAudio - -#PreRoll 10 -#StartSendOnKey -#MaxTime 100 -# -#</Stream> -# -#<Stream test_l.mpg> -#Feed feed1.ffm -## -#VideoFrameRate 2 -#VideoSize 320x240 -#VideoBitRate 40 -#VideoGopSize 20 -#NoAudio -# -#PreRoll 20 -#StartSendOnKey -#MaxTime 100 -# -#</Stream> -# -<Stream test.swf> -Feed feed1.ffm -# -BitExact -DctFastint -IdctSimple -Qscale 10 -VideoFrameRate 10 -VideoSize 352x288 -VideoBitRate 100 -VideoGopSize 30 -NoAudio - -PreRoll 10 -StartSendOnKey -MaxTime 100 - -</Stream> - -<Stream test_h.asf> -Feed feed1.ffm -Format asf -# -BitExact -DctFastint -IdctSimple -Qscale 10 -VideoFrameRate 10 -VideoSize 320x240 -VideoBitRate 100 -VideoGopSize 30 -NoAudio - -PreRoll 10 -StartSendOnKey -MaxTime 100 - -Title "Test data stream" - -</Stream> - -<Stream test_l.asf> -Feed feed1.ffm -Format asf -# -BitExact -DctFastint -IdctSimple -Qscale 10 -VideoFrameRate 2 -VideoSize 320x240 -VideoBitRate 40 -VideoGopSize 20 -NoAudio - -PreRoll 20 -StartSendOnKey -MaxTime 100 - -Title "Test data stream" - -</Stream> - -<Stream test_h.rm> - -Feed feed1.ffm -Format rm - -BitExact -DctFastint -IdctSimple -Qscale 10 -VideoBitRate 100 -VideoFrameRate 10 -VideoGopSize 30 -VideoSize 320x240 -NoAudio - -PreRoll 10 -StartSendOnKey -MaxTime 100 - -</Stream> - -<Stream test_l.rm> - -Feed feed1.ffm -Format rm - -BitExact -DctFastint -IdctSimple -Qscale 10 -VideoBitRate 40 -VideoFrameRate 2 -VideoGopSize 20 -VideoSize 320x240 -NoAudio - -PreRoll 20 -StartSendOnKey -MaxTime 100 - -</Stream> - - -<Stream test.jpg> - -Feed feed1.ffm -Format jpeg -Strict -1 - -BitExact -DctFastint -IdctSimple -VideoFrameRate 1 -VideoSize 352x288 -NoAudio - -PreRoll 2 - -</Stream> - -<Stream test_small.jpg> - -Feed feed1.ffm -Format jpeg -Strict -1 - -BitExact -DctFastint -IdctSimple -VideoFrameRate 1 -VideoSize 160x128 -NoAudio - -PreRoll 2 - -</Stream> - -<Stream test.mjpg> - -Feed feed1.ffm -Format mpjpeg -Strict -1 - -BitExact -DctFastint -IdctSimple -VideoFrameRate 1 -VideoSize 320x240 -NoAudio -StartSendOnKey - -PreRoll 1 -MaxTime 100 - -</Stream> - - -################################################################## -# Special stream : server status - -<Stream teststat.html> - -Format status - -</Stream> - diff --git a/contrib/ffmpeg/tests/tiny_psnr.c b/contrib/ffmpeg/tests/tiny_psnr.c deleted file mode 100644 index d8bce2b7b..000000000 --- a/contrib/ffmpeg/tests/tiny_psnr.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <inttypes.h> -#include <assert.h> - -#define F 100 -#define SIZE 2048 - -uint64_t exp16_table[21]={ - 65537, - 65538, - 65540, - 65544, - 65552, - 65568, - 65600, - 65664, - 65793, - 66050, - 66568, - 67616, - 69763, - 74262, - 84150, - 108051, - 178145, - 484249, - 3578144, - 195360063, - 582360139072LL, -}; -#if 1 -// 16.16 fixpoint exp() -static unsigned int exp16(unsigned int a){ - int i; - int out= 1<<16; - - for(i=19;i>=0;i--){ - if(a&(1<<i)) - out= (out*exp16_table[i] + (1<<15))>>16; - } - - return out; -} -// 16.16 fixpoint log() -static int64_t log16(uint64_t a){ - int i; - int out=0; - - if(a < 1<<16) - return -log16((1LL<<32) / a); - a<<=16; - - for(i=20;i>=0;i--){ - int64_t b= exp16_table[i]; - if(a<(b<<16)) continue; - out |= 1<<i; - a = ((a/b)<<16) + (((a%b)<<16) + b/2)/b; - } - return out; -} - -#endif -static uint64_t int_sqrt(uint64_t a) -{ - uint64_t ret=0; - int s; - uint64_t ret_sq=0; - - for(s=31; s>=0; s--){ - uint64_t b= ret_sq + (1ULL<<(s*2)) + (ret<<s)*2; - if(b<=a){ - ret_sq=b; - ret+= 1ULL<<s; - } - } - return ret; -} - -int main(int argc,char* argv[]){ - int i, j; - uint64_t sse=0; - uint64_t dev; - FILE *f[2]; - uint8_t buf[2][SIZE]; - uint64_t psnr; - int len= argc<4 ? 1 : atoi(argv[3]); - int64_t max= (1<<(8*len))-1; - int shift= argc<5 ? 0 : atoi(argv[4]); - int skip_bytes = argc<6 ? 0 : atoi(argv[5]); - - if(argc<3){ - printf("tiny_psnr <file1> <file2> [<elem size> [<shift> [<skip bytes>]]]\n"); - printf("for wav files use the following:\n"); - printf("./tiny_psnr file1.wav file2.wav 2 0 44 to skip the header.\n"); - return -1; - } - - f[0]= fopen(argv[1], "rb"); - f[1]= fopen(argv[2], "rb"); - fseek(f[shift<0], shift < 0 ? -shift : shift, SEEK_SET); - - fseek(f[0],skip_bytes,SEEK_CUR); - fseek(f[1],skip_bytes,SEEK_CUR); - - for(i=0;;){ - if( fread(buf[0], SIZE, 1, f[0]) != 1) break; - if( fread(buf[1], SIZE, 1, f[1]) != 1) break; - - for(j=0; j<SIZE; i++,j++){ - int64_t a= buf[0][j]; - int64_t b= buf[1][j]; - if(len==2){ - a= (int16_t)(a | (buf[0][++j]<<8)); - b= (int16_t)(b | (buf[1][ j]<<8)); - } - sse += (a-b) * (a-b); - } - } - - if(!i) i=1; - dev= int_sqrt( ((sse/i)*F*F) + (((sse%i)*F*F) + i/2)/i ); - if(sse) - psnr= ((2*log16(max<<16) + log16(i) - log16(sse))*284619LL*F + (1<<31)) / (1LL<<32); - else - psnr= 100*F-1; //floating point free infinity :) - - printf("stddev:%3d.%02d PSNR:%2d.%02d bytes:%d\n", - (int)(dev/F), (int)(dev%F), - (int)(psnr/F), (int)(psnr%F), - i*len); - return 0; -} - - diff --git a/contrib/ffmpeg/tests/videogen.c b/contrib/ffmpeg/tests/videogen.c deleted file mode 100644 index 39d85a26a..000000000 --- a/contrib/ffmpeg/tests/videogen.c +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Generates a synthetic YUV video sequence suitable for codec testing. - * NOTE: no floats are used to guaranty a bit exact output. - * - * Copyright (c) 2002 Fabrice Bellard - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <stdlib.h> -#include <stdio.h> - -#define SCALEBITS 8 -#define ONE_HALF (1 << (SCALEBITS - 1)) -#define FIX(x) ((int) ((x) * (1L<<SCALEBITS) + 0.5)) -typedef unsigned char uint8_t; - -static void rgb24_to_yuv420p(uint8_t *lum, uint8_t *cb, uint8_t *cr, - uint8_t *src, int width, int height) -{ - int wrap, wrap3, x, y; - int r, g, b, r1, g1, b1; - uint8_t *p; - - wrap = width; - wrap3 = width * 3; - p = src; - for(y=0;y<height;y+=2) { - for(x=0;x<width;x+=2) { - r = p[0]; - g = p[1]; - b = p[2]; - r1 = r; - g1 = g; - b1 = b; - lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - r = p[3]; - g = p[4]; - b = p[5]; - r1 += r; - g1 += g; - b1 += b; - lum[1] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - p += wrap3; - lum += wrap; - - r = p[0]; - g = p[1]; - b = p[2]; - r1 += r; - g1 += g; - b1 += b; - lum[0] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - r = p[3]; - g = p[4]; - b = p[5]; - r1 += r; - g1 += g; - b1 += b; - lum[1] = (FIX(0.29900) * r + FIX(0.58700) * g + - FIX(0.11400) * b + ONE_HALF) >> SCALEBITS; - - cb[0] = ((- FIX(0.16874) * r1 - FIX(0.33126) * g1 + - FIX(0.50000) * b1 + 4 * ONE_HALF - 1) >> (SCALEBITS + 2)) + 128; - cr[0] = ((FIX(0.50000) * r1 - FIX(0.41869) * g1 - - FIX(0.08131) * b1 + 4 * ONE_HALF - 1) >> (SCALEBITS + 2)) + 128; - - cb++; - cr++; - p += -wrap3 + 2 * 3; - lum += -wrap + 2; - } - p += wrap3; - lum += wrap; - } -} - -/* cif format */ -#define DEFAULT_WIDTH 352 -#define DEFAULT_HEIGHT 288 -#define DEFAULT_NB_PICT 50 /* 2 seconds */ - -void pgmyuv_save(const char *filename, int w, int h, - unsigned char *rgb_tab) -{ - FILE *f; - int i, h2, w2; - unsigned char *cb, *cr; - unsigned char *lum_tab, *cb_tab, *cr_tab; - - lum_tab = malloc(w * h); - cb_tab = malloc((w * h) / 4); - cr_tab = malloc((w * h) / 4); - - rgb24_to_yuv420p(lum_tab, cb_tab, cr_tab, rgb_tab, w, h); - - f = fopen(filename,"wb"); - fprintf(f, "P5\n%d %d\n%d\n", w, (h * 3) / 2, 255); - fwrite(lum_tab, 1, w * h, f); - h2 = h / 2; - w2 = w / 2; - cb = cb_tab; - cr = cr_tab; - for(i=0;i<h2;i++) { - fwrite(cb, 1, w2, f); - fwrite(cr, 1, w2, f); - cb += w2; - cr += w2; - } - fclose(f); - - free(lum_tab); - free(cb_tab); - free(cr_tab); -} - -unsigned char *rgb_tab; -int width, height, wrap; - -void put_pixel(int x, int y, int r, int g, int b) -{ - unsigned char *p; - - if (x < 0 || x >= width || - y < 0 || y >= height) - return; - - p = rgb_tab + y * wrap + x * 3; - p[0] = r; - p[1] = g; - p[2] = b; -} - -static unsigned int myrnd(unsigned int *seed_ptr, int n) -{ - unsigned int seed, val; - - seed = *seed_ptr; - seed = (seed * 314159) + 1; - if (n == 256) { - val = seed >> 24; - } else { - val = seed % n; - } - *seed_ptr = seed; - return val; -} - -#define NOISE_X 10 -#define NOISE_Y 30 -#define NOISE_W 26 - -#define FRAC_BITS 8 -#define FRAC_ONE (1 << FRAC_BITS) - -/* cosine approximate with 1-x^2 */ -int int_cos(int a) -{ - int v, neg; - a = a & (FRAC_ONE - 1); - if (a >= (FRAC_ONE / 2)) - a = FRAC_ONE - a; - neg = 0; - if (a > (FRAC_ONE / 4)) { - neg = -1; - a = (FRAC_ONE / 2) - a; - } - v = FRAC_ONE - ((a * a) >> 4); - v = (v ^ neg) - neg; - return v; -} - -#define NB_OBJS 10 - -typedef struct VObj { - int x, y, w, h; - int r, g, b; -} VObj; - -VObj objs[NB_OBJS]; - -unsigned int seed = 1; - -void gen_image(int num, int w, int h) -{ - int r, g, b, x, y, i, dx, dy, x1, y1; - unsigned int seed1; - - if (num == 0) { - for(i=0;i<NB_OBJS;i++) { - objs[i].x = myrnd(&seed, w); - objs[i].y = myrnd(&seed, h); - objs[i].w = myrnd(&seed, w / 4) + 10; - objs[i].h = myrnd(&seed, h / 4) + 10; - objs[i].r = myrnd(&seed, 256); - objs[i].g = myrnd(&seed, 256); - objs[i].b = myrnd(&seed, 256); - } - } - - /* first a moving background with gradients */ - /* test motion estimation */ - dx = int_cos(num * FRAC_ONE / 50) * 35; - dy = int_cos(num * FRAC_ONE / 50 + FRAC_ONE / 10) * 30; - for(y=0;y<h;y++) { - for(x=0;x<w;x++) { - x1 = (x << FRAC_BITS) + dx; - y1 = (y << FRAC_BITS) + dx; - r = ((y1 * 7) >> FRAC_BITS) & 0xff; - g = (((x1 + y1) * 9) >> FRAC_BITS) & 0xff; - b = ((x1 * 5) >> FRAC_BITS) & 0xff; - put_pixel(x, y, r, g, b); - } - } - - /* then some noise with very high intensity to test saturation */ - seed1 = num; - for(y=0;y<NOISE_W;y++) { - for(x=0;x<NOISE_W;x++) { - r = myrnd(&seed1, 256); - g = myrnd(&seed1, 256); - b = myrnd(&seed1, 256); - put_pixel(x + NOISE_X, y + NOISE_Y, r, g, b); - } - } - - /* then moving objects */ - for(i=0;i<NB_OBJS;i++) { - VObj *p = &objs[i]; - seed1 = i; - for(y=0;y<p->h;y++) { - for(x=0;x<p->w;x++) { - r = p->r; - g = p->g; - b = p->b; - /* add a per object noise */ - r += myrnd(&seed1, 50); - g += myrnd(&seed1, 50); - b += myrnd(&seed1, 50); - put_pixel(x + p->x, y + p->y, r, g, b); - } - } - p->x += myrnd(&seed, 21) - 10; - p->y += myrnd(&seed, 21) - 10; - } -} - -int main(int argc, char **argv) -{ - int w, h, i; - char buf[1024]; - - if (argc != 2) { - printf("usage: %s file\n" - "generate a test video stream\n", argv[0]); - exit(1); - } - -#if 0 - for(i=0;i<256;i++) - printf("cos(%d)=%d\n", i, int_cos(i)); -#endif - - w = DEFAULT_WIDTH; - h = DEFAULT_HEIGHT; - - rgb_tab = malloc(w * h * 3); - wrap = w * 3; - width = w; - height = h; - - for(i=0;i<DEFAULT_NB_PICT;i++) { - snprintf(buf, sizeof(buf), "%s%02d.pgm", argv[1], i); - gen_image(i, w, h); - pgmyuv_save(buf, w, h, rgb_tab); - } - - free(rgb_tab); - return 0; -} |