From patchwork Fri May 24 09:41:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ying Huang X-Patchwork-Id: 90798 X-Patchwork-Delegate: mark@klomp.org Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DBCBD385E45D for ; Fri, 24 May 2024 09:42:00 +0000 (GMT) X-Original-To: elfutils-devel@sourceware.org Delivered-To: elfutils-devel@sourceware.org Received: from va-2-36.ptr.blmpb.com (va-2-36.ptr.blmpb.com [209.127.231.36]) by sourceware.org (Postfix) with ESMTPS id 4B7E83858D29 for ; Fri, 24 May 2024 09:41:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4B7E83858D29 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=oss.cipunited.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=oss.cipunited.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4B7E83858D29 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.127.231.36 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716543708; cv=none; b=scEDFrKrcMZhPw4PeYULv3LYrANOqoe2Dtx7D0DMM3gVbN8O3vPqlGQV1UT3xXfqPLGanFw2rXKbJxqAOQ282KyvMetHsClZc1yIevulfVzULj3RP2vsbFhNXcMJXOkrncTI9ZlDyrFivHJ6AN01WsU+gzOLUb5c1Cly7Fvf0LU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1716543708; c=relaxed/simple; bh=Qx4maztkTdK7eGToA9heMVKqcPhGH/tgp1jfGFpniog=; h=DKIM-Signature:Message-Id:Subject:To:Date:Mime-Version:From; b=FGiTe8QLIC+KGMWkEOtnjVfAmQWRX16XZPVMLjp5HUB/05Gh8Fh38mkkZpmTUaWRSg3x6Nt+7t/OimTa8kr2e0m/N1s4OVyP4+k9AtzPELVIW6LnxeghtG4E/VpCu3d5zXkMDLULzAqp5rUYPVSOSVmeVkpKrhI8ciw0TERuuJ8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=feishu2303200042; d=oss.cipunited.com; t=1716543689; h=from:subject:mime-version:from:date:message-id:subject:to:cc: reply-to:content-type:mime-version:in-reply-to:message-id; bh=wQ6kA5TAdqjreHoEiEcWO9sh8pMTpH0xdbrrx6osuWM=; b=BRJcEZ89Mh00N2hWrrlLQCixTTeQmXNqI28F/N9Cz3NlRtmVxUUWtH/RlNMJc8tDQDErxA 0K0/tmdbK5RNEy7SoHNQTokqbdOaxysoSObuHa5FpbC9FyAOODBdfas/hGSH5r+JCKdk/7 DEdn9sMGW876EB/CIXXhy+iiWyo34f0X6GFqh+J5AUjbtPdvcbMqU82Y7HzWXkWH5xFq/E i7XatdYPGR/vMxlnwf8r9S3by+PDr2/BgcQaRoCtVOuwCwurnYl0+YdlWiTzaFgJGFybqk 7EZ1McgiEcRGIoPpDKfw8l8JDuXblDIhoxPz19lGv9bl/TwE3Ek/qp0k8YqSVQ== Message-Id: <20240524094120.1761245-1-ying.huang@oss.cipunited.com> Subject: [PATCH] test: Add mips in run-allregs.sh and run-readelf-mixed-corenote.sh X-Mailer: git-send-email 2.39.2 To: Date: Fri, 24 May 2024 17:41:20 +0800 Mime-Version: 1.0 X-Original-From: Ying Huang Cc: From: "Ying Huang" Received: from localhost.localdomain ([171.15.159.101]) by smtp.feishu.cn with ESMTPS; Fri, 24 May 2024 17:41:28 +0800 X-Lms-Return-Path: X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, KAM_DMARC_STATUS, MSGID_FROM_MTA_HEADER, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: elfutils-devel-bounces+patchwork=sourceware.org@sourceware.org From: Ying Huang * backends/Makefile.am (mips_SRCS): Add mips64_corenote.c. * backends/mips64_corenote.c: New file. * backends/mips_corenote.c: Add fpregset. * backends/mips_init.c: HOOK mips64_corenote. * libebl/eblcorenotetypename.c: Add KNOWNSTYPE MIPS_FP_MODE MIPS_MSA. * tests/run-allregs.sh: Add test for testfile-mips64-core. * tests/run-readelf-mixed-corenote.sh: Likewise. * tests/testfile-mips64-core.bz2: New file. --- backends/Makefile.am | 2 +- backends/mips64_corenote.c | 2 + backends/mips_corenote.c | 29 +++++++-- backends/mips_init.c | 7 +- libebl/eblcorenotetypename.c | 2 + tests/run-allregs.sh | 79 ++++++++++++++++++++++ tests/run-readelf-mixed-corenote.sh | 97 ++++++++++++++++++++++++++++ tests/testfile-mips64-core.bz2 | Bin 0 -> 30891 bytes 8 files changed, 211 insertions(+), 7 deletions(-) create mode 100644 backends/mips64_corenote.c create mode 100644 tests/testfile-mips64-core.bz2 diff --git a/backends/Makefile.am b/backends/Makefile.am index 926464ae..4e00d01f 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -104,7 +104,7 @@ arc_SRCS = arc_init.c arc_symbol.c mips_SRCS = mips_init.c mips_symbol.c mips_initreg.c \ mips_cfi.c mips_unwind.c mips_regs.c mips_retval.c \ - mips_corenote.c + mips_corenote.c mips64_corenote.c hexagon_SRCS = hexagon_init.c hexagon_symbol.c diff --git a/backends/mips64_corenote.c b/backends/mips64_corenote.c new file mode 100644 index 00000000..f1186056 --- /dev/null +++ b/backends/mips64_corenote.c @@ -0,0 +1,2 @@ +#define BITS 64 +#include "mips_corenote.c" diff --git a/backends/mips_corenote.c b/backends/mips_corenote.c index aeadeb17..823add27 100644 --- a/backends/mips_corenote.c +++ b/backends/mips_corenote.c @@ -35,15 +35,14 @@ #include #include #include - -#define BACKEND mips_ #include "libebl_CPU.h" -#define BITS 64 #ifndef BITS -# define BITS 32 +# define BITS 32 +#define BACKEND mips_ #else -# define BITS 64 +# define BITS 64 +# define BACKEND mips64_ #endif #define PRSTATUS_REGS_SIZE (45 * (BITS / 8)) @@ -61,6 +60,23 @@ static const Ebl_Register_Location prstatus_regs[] = .pc_register = true \ } +static const Ebl_Register_Location mips_fpregset_regs[] = + { + { .offset = 0, .regno = 38, .count = 32, .bits = 64 }, /* fp0-fp31 */ + }; + +static const Ebl_Core_Item mips_fpregset_items[] = + { + { + .name = "fcs", .type = ELF_T_WORD, .format = 'x', + .offset = 32 * 8, .group = "register" + }, + { + .name = "fir", .type = ELF_T_WORD, .format = 'x', + .offset = 32 * 8 + 4, .group = "register" + } + }; + #if BITS == 32 # define ULONG uint32_t # define ALIGN_ULONG 4 @@ -82,4 +98,7 @@ static const Ebl_Register_Location prstatus_regs[] = #define TYPE_UID_T ELF_T_WORD #define TYPE_GID_T ELF_T_WORD +#define EXTRA_NOTES \ + EXTRA_REGSET_ITEMS (NT_FPREGSET, 32 * 8 + 4 * 2, mips_fpregset_regs, mips_fpregset_items) + #include "linux-core-note.c" diff --git a/backends/mips_init.c b/backends/mips_init.c index e7e4b287..6743e2e5 100644 --- a/backends/mips_init.c +++ b/backends/mips_init.c @@ -40,6 +40,8 @@ /* This defines the common reloc hooks based on mips_reloc.def. */ #include "common-reloc.c" +extern __typeof (EBLHOOK (core_note)) mips64_core_note attribute_hidden; + Ebl * mips_init (Elf *elf __attribute__ ((unused)), GElf_Half machine __attribute__ ((unused)), @@ -53,7 +55,10 @@ mips_init (Elf *elf __attribute__ ((unused)), HOOK (eh, unwind); HOOK (eh, register_info); HOOK (eh, return_value_location); - HOOK (eh, core_note); + if (eh->class == ELFCLASS64) + eh->core_note = mips64_core_note; + else + HOOK (eh, core_note); eh->frame_nregs = 71; return eh; } diff --git a/libebl/eblcorenotetypename.c b/libebl/eblcorenotetypename.c index 0e790d06..73f6e478 100644 --- a/libebl/eblcorenotetypename.c +++ b/libebl/eblcorenotetypename.c @@ -94,6 +94,8 @@ ebl_core_note_type_name (Ebl *ebl, uint32_t type, char *buf, size_t len) KNOWNSTYPE (ARM_SYSTEM_CALL); KNOWNSTYPE (SIGINFO); KNOWNSTYPE (FILE); + KNOWNSTYPE (MIPS_FP_MODE); + KNOWNSTYPE (MIPS_MSA); #undef KNOWNSTYPE default: diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh index 87b16c95..f8007efa 100755 --- a/tests/run-allregs.sh +++ b/tests/run-allregs.sh @@ -2904,4 +2904,83 @@ FPU registers: 62: ft10 (ft10), float 64 bits 63: ft11 (ft11), float 64 bits EOF + +# See run-readelf-mixed-corenote.sh for instructions to regenerate +# this core file. +regs_test testfile-mips64-core <<\EOF +integer registers: + 0: $0 (0), signed 32 bits + 1: $1 (1), signed 32 bits + 2: $2 (2), signed 32 bits + 3: $3 (3), signed 32 bits + 4: $4 (4), signed 32 bits + 5: $5 (5), signed 32 bits + 6: $6 (6), signed 32 bits + 7: $7 (7), signed 32 bits + 8: $8 (8), signed 32 bits + 9: $9 (9), signed 32 bits + 10: $10 (10), signed 32 bits + 11: $11 (11), signed 32 bits + 12: $12 (12), signed 32 bits + 13: $13 (13), signed 32 bits + 14: $14 (14), signed 32 bits + 15: $15 (15), signed 32 bits + 16: $16 (16), signed 32 bits + 17: $17 (17), signed 32 bits + 18: $18 (18), signed 32 bits + 19: $19 (19), signed 32 bits + 20: $20 (20), signed 32 bits + 21: $21 (21), signed 32 bits + 22: $22 (22), signed 32 bits + 23: $23 (23), signed 32 bits + 24: $24 (24), signed 32 bits + 25: $25 (25), signed 32 bits + 26: $26 (26), signed 32 bits + 27: $27 (27), signed 32 bits + 28: $28 (28), address 32 bits + 29: $29 (29), address 32 bits + 30: $30 (30), signed 32 bits + 31: $31 (31), address 32 bits + 32: $lo (lo), signed 32 bits + 33: $hi (hi), signed 32 bits + 34: $pc (pc), signed 32 bits + 35: $bad (bad), address 32 bits + 36: $sr (sr), signed 32 bits + 37: $cause (cause), address 32 bits +FPU registers: + 38: $f0 (f0), float 64 bits + 39: $f1 (f1), float 64 bits + 40: $f2 (f2), float 64 bits + 41: $f3 (f3), float 64 bits + 42: $f4 (f4), float 64 bits + 43: $f5 (f5), float 64 bits + 44: $f6 (f6), float 64 bits + 45: $f7 (f7), float 64 bits + 46: $f8 (f8), float 64 bits + 47: $f9 (f9), float 64 bits + 48: $f10 (f10), float 64 bits + 49: $f11 (f11), float 64 bits + 50: $f12 (f12), float 64 bits + 51: $f13 (f13), float 64 bits + 52: $f14 (f14), float 64 bits + 53: $f15 (f15), float 64 bits + 54: $f16 (f16), float 64 bits + 55: $f17 (f17), float 64 bits + 56: $f18 (f18), float 64 bits + 57: $f19 (f19), float 64 bits + 58: $f20 (f20), float 64 bits + 59: $f21 (f21), float 64 bits + 60: $f22 (f22), float 64 bits + 61: $f23 (f23), float 64 bits + 62: $f24 (f24), float 64 bits + 63: $f25 (f25), float 64 bits + 64: $f26 (f26), float 64 bits + 65: $f27 (f27), float 64 bits + 66: $f28 (f28), float 64 bits + 67: $f29 (f29), float 64 bits + 68: $f30 (f30), float 64 bits + 69: $f31 (f31), float 64 bits + 70: $fsr (fsr), float 64 bits + 71: $fir (fir), float 64 bits +EOF exit 0 diff --git a/tests/run-readelf-mixed-corenote.sh b/tests/run-readelf-mixed-corenote.sh index c960f1d6..2b3b4b72 100755 --- a/tests/run-readelf-mixed-corenote.sh +++ b/tests/run-readelf-mixed-corenote.sh @@ -716,4 +716,101 @@ Note segment of 1408 bytes at offset 0x388: 2000155000-2000157000 00122000 8192 /lib64/libc-2.27.so EOF +# To reproduce this core dump, do this on a mips machine: +# $ gcc -x c <(echo 'int main () { return *(int *)0x12345678; }') +# $ ./a.out +testfiles testfile-mips64-core +testrun_compare ${abs_top_builddir}/src/readelf -n testfile-mips64-core <<\EOF + +Note segment of 2572 bytes at offset 0x3c0: + Owner Data size Type + CORE 480 PRSTATUS + info.si_signo: 11, info.si_code: 0, info.si_errno: 0, cursig: 11 + sigpend: <> + sighold: <> + pid: 1660204, ppid: 1457483, pgrp: 1660204, sid: 1457483 + utime: 0.000000, stime: 0.012000, cutime: 0.000000, cstime: 0.000000 + pc: 0x000000aaacce0a64, fpvalid: 1 + bad: 0x12345678 sr: 0 cause: 0x0400ccf3 + f0: 0x1000000800000000 f1: 0x0000000000000000 f2: 0x0000000000000000 + f3: 0x0000000000000000 f4: 0x0000000000000000 f5: 0x0000000000000000 + f6: 0x0000000000000000 + 0: 0 1: 0 2: 1 + 3: 0 4: 305419896 5: 0 + 6: -73593800 7: 255 8: 1 + 9: 0 10: -73593464 11: 255 + 12: -73593448 13: 255 14: 0 + 15: 0 16: -244869184 17: 255 + 18: -244886336 19: 255 20: -73593472 + 21: 255 22: -1 23: -1 + 24: 3 25: 0 26: 3167716 + 27: 0 28: 0x00000024 29: 0x00000000 + 30: 49495 31: 0x00000000 lo: -73593464 + hi: 255 bad: 0x12345678 sr: 0 + cause: 0x0400ccf3 f0: 0x1000000800000000 + f1: 0x0000000000000000 f2: 0x0000000000000000 + f3: 0x0000000000000000 f4: 0x0000000000000000 + f5: 0x0000000000000000 f6: 0x0000000000000000 + CORE 136 PRPSINFO + state: 0, sname: R, zomb: 0, nice: 0, flag: 0x0000000000402600 + uid: 1014, gid: 100, pid: 1660204, ppid: 1457483, pgrp: 1660204 + sid: 1457483 + fname: a.out, psargs: ./a.out + CORE 128 SIGINFO + si_signo: 11, si_errno: 1, si_code: 0 + sender PID: 305419896, sender UID: 0 + CORE 320 AUXV + SYSINFO_EHDR: 0xffff14c000 + HWCAP: 0x7806 + PAGESZ: 16384 + CLKTCK: 100 + PHDR: 0xaaacce0040 + PHENT: 56 + PHNUM: 9 + BASE: 0xfff1694000 + FLAGS: 0 + ENTRY: 0xaaacce08d0 + UID: 1014 + EUID: 1014 + GID: 100 + EGID: 100 + SECURE: 0 + RANDOM: 0xfffb9d0f9c + EXECFN: 0xfffb9d3ff0 + PLATFORM: 0xfffb9d0fb5 + BASE_PLATFORM: 0xfffb9d0fac + NULL + CORE 549 FILE + 9 files: + aaacce0000-aaacce4000 00000000 16384 /tmp/a.out + aaaccf0000-aaaccf4000 00000000 16384 /tmp/a.out + fff1470000-fff165c000 00000000 2015232 /usr/lib/mips64el-linux-gnuabi64/libc.so.6 + fff165c000-fff1668000 001ec000 49152 /usr/lib/mips64el-linux-gnuabi64/libc.so.6 + fff1668000-fff1670000 001e8000 32768 /usr/lib/mips64el-linux-gnuabi64/libc.so.6 + fff1670000-fff1678000 001f0000 32768 /usr/lib/mips64el-linux-gnuabi64/libc.so.6 + fff1694000-fff16c4000 00000000 196608 /usr/lib/mips64el-linux-gnuabi64/ld.so.1 + fff16d0000-fff16d4000 0002c000 16384 /usr/lib/mips64el-linux-gnuabi64/ld.so.1 + fff16d4000-fff16d8000 00030000 16384 /usr/lib/mips64el-linux-gnuabi64/ld.so.1 + CORE 264 FPREGSET + fcs: 0x000c0000, fir: 0x00f70501 + f0: 0xffffffffffffffff f1: 0xffffffffffffffff + f2: 0xffffffffffffffff f3: 0xffffffffffffffff + f4: 0xffffffffffffffff f5: 0xffffffffffffffff + f6: 0xffffffffffffffff f7: 0xffffffffffffffff + f8: 0xffffffffffffffff f9: 0xffffffffffffffff + f10: 0xffffffffffffffff f11: 0xffffffffffffffff + f12: 0xffffffffffffffff f13: 0xffffffffffffffff + f14: 0xffffffffffffffff f15: 0xffffffffffffffff + f16: 0xffffffffffffffff f17: 0xffffffffffffffff + f18: 0xffffffffffffffff f19: 0xffffffffffffffff + f20: 0xffffffffffffffff f21: 0xffffffffffffffff + f22: 0xffffffffffffffff f23: 0xffffffffffffffff + f24: 0xffffffffffffffff f25: 0xffffffffffffffff + f26: 0xffffffffffffffff f27: 0xffffffffffffffff + f28: 0xffffffffffffffff f29: 0xffffffffffffffff + f30: 0xffffffffffffffff f31: 0xffffffffffffffff + LINUX 4 MIPS_FP_MODE + LINUX 528 MIPS_MSA +EOF + exit 0 diff --git a/tests/testfile-mips64-core.bz2 b/tests/testfile-mips64-core.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..00b5c57c6f92ff16ef044f760e86d58ed24b9aca GIT binary patch literal 30891 zcmV)9K*hg8T4*^jL0KkKSyN7RP5_FhfB*mg|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|Nr20e><4)M%*`PsqNgGmx{M);5}zx`F-Kn4Ry+dfB+m*Y#K>yYKCdDNwy{x zZM}DUd+ht}_dH&sY$#f`wtVZ|n{R8zuDfq{cbe59x8Cq^zURG{bBkt&U2MsjonLds zplR*5Zno1mk?D55-Q6v{j`z8fdv-$JuW{Nv=JM&@_U%R2NS*h-N4L#;=T~Q=oma$# z8!Y(%9RVN!eUQW5f_%;G*B0vMJ3wx6ZtSY=XALk1naSYX;MVMQpoCVJwzhU~I;~|g z=Y8GpaZPG&b#vQ!JH7Y2W3|JhzUOdvR~@%Kd(TG?R=wkQefQJ5eea)p-cL*b6aWee zD4+t|B>V2*?g=Puee8YnucHkS37}0d6!g#l001TcMwtvofEsC`p`d6003#-t(3q#D zOqnq>!cRsKk%=<|8lEF2hAH7PWSD5vRP#WXP-uYw002M`nJ^}rm^Cpe`c0;SdM23C zXs5DjpQb8%Oi4dP(^K@LY6DHE*-eyrL(@~rJWyn5pf;e;X!H0XwC!q!=(V}BeXlP*vsAw7*Fijq#L7)u;nu!obh{$LF385Q8Fi%heOo_6m=|}02 zPt`q7#7XT;B=Dn6qCKi_RCq-3O*|-R?L_r7$)V*k14pUqdVp!5Gz~pK$j~04qttqa znq*^8B2pq`G@71MPbQgD-k~;)5tGuGVre{@o}RDPPLw3|&+%6k<(CzSmull46(rkN?}Jg2om`kJ4mKT0(9G|={` z`lIzhqZ(G;h+EfMYglzwfxX4$NKc!HMYZZm@McFmzk`gTLo zcFyxGf(^1^dDUpL&t#oH$xS@`*kcl^z5mZ<#ScwIIh={T=h{%dDMUX~Fq+$vT zWK>|HMG#p9R2Z;OQ5djDk}Qh_g2WLhQ~)RzRUllyIJ{Ffg^BZvkWr_YRaW!fz8^T} zn3bTe_&~Uakx?>uylRH)^|Lt>#4$&D)q{PA`7;ST^a)wxz_Zw<4O(sDreb_OX$M`N zvsN8j?_PJgaAR(-NF~GpnuTemp)kAy4Tnw0&avIR7!$?>O@{)|PXNkYw!!iC{vTl> z=Hu=)d&6kLkrF3cULHBRIVYtEaPAPCINZqaM23XLQxX8dmn)xPtR7o?Qb>2qAn0Wl z(Geg#q!JwbOW;wBcvBd|jXKE~g#oJbvKQRQaP3M+056#%WkiveLK9II1RA>$M^F|F zQgYYwM`eEap+rOy)MQ$l=ngyq0j6NLQG8XQl7tsCW223UkD(aIbYo|}b^A4X-mj>> z>(6=O1DYnM3PxmUYm~@$PrRPFkPbsyOIP|~2@}|X7&W4I^Yb;_>Znp;xAvh1bls$2 zs@DXq3WOe;kk0d~QcY3LBspQDHWzQvh~i)w11ajo^itX?t))qXg9i$eX(|qRFn}&G z0t#zDC2(R);{hUe4olf36&>7+dgymvN0sGB^l4~crHHM{Xk3v@3P?CB3D&CU_bLXk z@C*hvdBFury{z4~21|^n;qK@rT1M-~z7?4U+toLv(`dPliwnyzS+1z)AKWXMV%+!J zhjD2McM#uaAm@Kfc^=?r8H6x+<$U6D+1FV48)ywvfcp=MxJRFGr#FTaa_#8w-I-?TKH#~QLnilV+akdq*84YGms!M$8#s;!3+%gK8So=Qt z!umjWjveK^3dQ0FPMg4da}`b^Fk}y+U$L{9wDVB5I1xMu=D$(HNaYa-D25(i2b~K1 zWu^VD9EsXn(41-UeS8Y6B+M=Q%KdQz?dlCAS!B#G@bLXi3BL;u94QS8g^{H>8bf9_ zGS>+m2QWTUYvtYh(K%q~ZJX#>d4sMVn6ux`aW+Ie!ER*oAHNGB&Bb{^h*r^2_F98z zF$+7}^rUtsY1&T3+R{UK32+8Vob~x6d zJ8bpEJCiK9pO+H^BLwQo3lj~2@==yqL0BwNVxOtUGJ?rl?Al+ean}`2*J5JdG3h|+ z`y0j4g}J(qji}CB|6z^2_$rc_l1^!nAN&F#H*yIIOzrYNBW9EN-?;h8PpLlZW6T~jVpCDe?0 zEQfHjjTl2YdvF(>YcVH-36(tfa=Xjz*%IvLSUIzFEWxf|GmkQWAe|^4=-ZBqQ6qO#RKN1DHCjFg6UDk_Kj#hk$FZh}4 z)fWrJS(nnPR-NvDrb4*4Lt-R00W^rM7t9qXo(DjU9v+Z)k%HdM99pqpswk+*@Zbwh zri!94F-o{r3|HrI`Bpd*P4(k$|Av;!@?8a=hmk_!jADztv(B5tMw2SbDl%o=TO7>V z#y%sOU+NteVO>;KhN@OtP0k?h8Bph{v)4tlN*?1Z@r!E8T&|IZyjDq)0;uk2y%}Y4 z8f!szkfsL8D2f@?Oq1`}V+Bl8S5LOx#u&LqgqoGTysFHTFDi{J$*f%$NT!BelnHfq zQj4Uj*MhJu(We!mhHS;rSi8mxx-??&7KXX_<0BAhB~8NI&exvdXbk}QP@88 z{U<&S!iV<8*L_p0!KCv2v}o@Xme^sBogZBim{MS6u}Cbjhi{6^`0r!S>~qB1+v%YT zGZTq&Vz5rZUgaehr&%;KR?;CBU!vyiS%SdopvM^5cPV~BR7FaN&V;Ud`Ur_LDUfiw zwy}(E67MIX&T-)IlL~9&^sYs54KqMwh(#EtJn+S)*GQd3AyrcNS7Q=#841ni)XgV+ z)39XF3{bIA+bG>|;qH(+`&BYSAL<&U^ zkjsMKKo<@O7m-ygB&37_arY#a8KA2nMpRWA?80o*mCHvY7su8>FUF7hZl{;;@~+(6 z3s`vmoa@No>;ifp6`wyfzPIb|m}|a-5f<1905*k+&;S~nkal@>Q&yYelzKbYW@M;i zP-D!wR8=rM`$p3?ulZk{>(Kxf+7Kj*@DRh>-ITsfyQTkA8dz*1Ivq=0>DiBs=>=h7 z2mu*!8m47qFODf7%_bG87l;{41|c8E=o1iGV)l$21smzRf_Zoqz%4E*OEIWvvgPhr z*V&*c5t|$wOT`kR1Ti~L(*IZ0-jz^71>nV*SRz+RPDu}Jgz7NDPE{161|q>h6^SAU zs=)+BP*FirDytAcSh5QWDwE+omCl0+Ie0o}y~H41k)y%=zTt2rm}_#c^ePmJER){s z=iH_n-Z$V_Pxqu7Oy5NWqnjz9G$+w2%Cnao&2*6`laL-y%fW?X_g;(A zS%eYxsR>8`#wOje6bT8vc#qYDAzfgw`xbfZp1sZf)v|-RZEQ^t$(#<)n$*xPH==zb zkz#|)WITot%C3`oWQA-KJT5tU@)r9#(jg&U)Ui~$m~Xh5r9RKMI6 z>dHg>Uk>L#4z>HmgjvPKg(K3v1+vId1`(x-(gV;O)Yn01^>lj1F zNi7JWB;mR>@b6QZ7fHghNxC2bgXr}QI6C=CHB_Pk$SfpMD2xS?K^_m<*+YB%#}kQ^ z=%)#q2&5ppjoC;k@vC!Pf4eDBU=d_cftw^S!WJls8}@zMctjH&1+MXAQx+Qtz% zWfUxgG_WaHKsL6jTcI>o?QZVpnuyIxB$Abq5t_ALF+#*xF&Zj>iz1Sk6fz4SMFc;U zv~qR7Az!fg)Zjpki7D!OF)G37eH)hpMiNAP6hxE1z;?o*`pA-(;dW;*bo#Xh=$hI z?v5UL$5~oX34IFBHn0yVGz_<4rimoBLjxp*J3?&Ji(#6z2o%ad*dZt_g%f3V?+L`F zby)~zz?(uqG8LR&R?K#MjKfL+Fnc6XR46z&ceOqLi=~t2Qi{|~v6iVVG zfXGNAyod;n_Rsv_r!Rxe-}RYvtJ~M*Z#|dwysR)4!HDJRiXtYO0)qHs|4;=RuoXKY zk`e^T2uY;?0P#>PK=1KIkrM_xIFciFASH4|P}#*C=L12cP3ur)QEly3DX&dII2|@1xi{dLJ?UN zGGYQ7*a?f^X9|QvGY0YsF^KQt8K|gr5DgibqIMBOKLkrqkWFk*Zg7|E9=!uU2Ti9|iFqkJj5XOR~iJ^&jaG@j>i$9B%x$IQ1TYy(sAT2Of^kF5swVir? z8v$vy#CaGXqe~H&hHNti`)4|9=?q9H)++(Xi2OKK8qm}9{cA#pG!;|2E7=9FJaPsY z>#IR^9wv!_5xZ3ZyAcqsZ{mk{6X-yDU0*O$j;^D;4!b*kROhgJ5p&Y#I_i{4=fi97Yq6fi042;rf^7{SFo7yZYu~;c7bD-%i5W15c+o4LxX524*50 zR1SVC(aPLP7Gk+E3g9EPf`RuE1x!Gk)e~J6d14pyM+F_6QuZl`#@Plz2bqe2jOL+7 znY)WnY;IFEmYWn5);E}rv?}o+Uk+9IasLX;)ad` z#6-|U3^an|I$dikgT8xTtl1H?`Wt3S#PsBsHfggft$jH-TB<3)(s54;>+Jp-cnGGPnsR9y71sX@Pz`x1SLhJc(f=Mlw zlB%U4kVtMJ4KQZwHj)uQDGI1iOcTREsqGSnx#nrIbev`MuPk~juL6Py8wvL!i=2Q1 ztbnIs5qA2$PZ#3xXi%?;<#MDAsu1hw(zaSj1`NnZ42&@iC>S;dOo%{GV$2#PJjqlO zq>l%!2uT?lFeEKz0NRUP8|cUxHf#a~WK}H1d@NO7>LAq=2GmssgaIf)9hTzss`}wf z2nqpijixvdk5)kfNJ}-PnUR(_&HH(M_jNi-y8w`TjeDPNU>x_7(pl^gjOuuCpa9Wm zK`)6&(MrYYXLdzj&(_fZkwND&ZdFVJ0;Eg(>J}on5Ht3Q3+!>ukf;jpXf(Ie&40Dp zUBkh%Y_||fMpW17+mIyq$V?27=yu0ak0*MR*-f{cgba&9vPp+IlAgq`vNHE1r0V0@ z55M_PPGm3QVz$otpkBe|Vg?}q4U|B{=_sM0AOK(EJqJfxTZcObhl&|6!JBvm>;$}p zaOHTqDrQ#9R#8;V!S?V@E*8ig#2)%RoJPb{JBVfGNVb|nEteDj)y3*j1_mDzsmUa{ zEPaEp|ID@`Pfhg|Jkn3lr;KPYGy8PL(9 zu1aU)qzOzT?&wwGdnzsJ8-gIBKmm+2j9om3rOS#T7>^ih)nPKNzh~oL z%3MEHputM8;52&+UhdFxy>~6!V*1aKm76$@Q-a%E^3W01K?7d_PJVEaT^X^);wFaV zCF@Zxo>Qz}2VE?3CIHIQpJ(kfyg8MzAu2BRJx?~Xi1*MllM-mcxX&&;?cT*rVr2n8UZVdp}a#;KuV2OTw$!`N-AP}acI zM)oEAa|}SyK@3P6Kc@lLVS$TW>kyJwn2(>pfJUd!)As??%hdm$Zsns%@KEkrK>AD! zk`U3s&f35eiorrn;SC4{iGV!Z+fsbd;DaAcLUisZcKzje^v2hS?k{s2jC@#%+#Fz4 zpCs_H)sR9vw6CYqs;4@9dMc=>J|~Vu!1kJ;8Yj*f9_|Il_5JTMzapi`>1Osg`@e0c zVI&5_KrM!j3kZ07anWmC^j{yPjVo20Sw(cP$#ykr3Grbs((&PSCrKlI%@!Aa=jDE! zxAuC?zmdPa%|PR#u3Q1fi{DwIcwRG3aP^saR1O+t%sIrxUQPlAiV6gXnTWaKItZsB z4a^ii39X};iWcAnaZ~D$95{Gzr4%pZzoBuq5Yg~@#BxVDz)#)42Z%lZ!{G1x+|5b~ z&oh-zi%%(#hXMo+o6O?TTKvu?1Qk<_ina^Hx(^sJ9pcF}Tj}!b&-n77Ds{WRRtv#y zECnbiFBqv!U113X=!$0)Y zCZshv)ks6o2uV7=4wB|{a&}@Kr6jX5AL@vZ`*c;ssTiW!stZP`WR-#pQhe^srtU6K8v9ln>WX4((r;b5MS8is^?i?X% zhaoD4Fm!Q>l1|N#n;0l*82B7JDyX(@J7Z3xX8n^PP3ka^P}|P#PICzfx-9j-UuE4% zDPmJ7H4n8arCEDh+x;-^oMv*_DTajHW`z*Y+Er8xbY>~^hV|rj6~%`MZl1GLVeJ*T zQtKB4~l?{66T27L7$q79NG56)@(9zdGrMv*ia@gz~j5D-A^a2>~4C;@tGvyFzX~FrbAoKx(&w<1>n2Ex0Vk% z!Y<~D$FpY!EV3*u^GfS0-Mi6nCTMfu1&GiK2Zs%oSyUa2$4D4=C>T*Q%tcLU1xyf7 zg8;b#Drl*-ZUkYoxj*2dDy|GIa~KQk4GBEsDJoIyuvcS}sDBX1Lf@g{C^NJV0`EO$?A3V)pcQ6T!^u>XFnN`#PV1rh zPn-nEIzVa972Z*rf(nN9LjKnO9>J(=Y?FirW|*V}l7Mb#SQ3CJT%E7EBK*3nnpi%~ zZ8|#c(T3vsm(`V+e^MVs^LJ@jBLyQ6#OeyTATt30pOf2xOip6WL;(YLT;PPV3l7^P zAogrpf>>JpYK~sHF(}`@HYP~hrcbF zm_b`#ckAxhb1m>SlVWsRuy)AJF zOC*2{fQzk)Er_K=5OJrzf;zJo8NHt&n@^Vw-d6; zdA(E5U2c3VTbEk&$VsXd+Do{>eVdYeNQaxIq%%pU)YLwAf5Gc8e3ofpw$gdemv`Ny zugv|Oso6M>MmE|n&2{*_Sx_1n#=kE&!^oJt&Lv<;n6V6Po2XE)a3L>QErl{SUE?h( zmQ>0dB>7!WIe7@dhz~{+gFZ{F(QW##(K4*sjWTokV}5gBN$WOTH;NIp%j9Oco~`wX5jT5cqfS z8^3o8?e8%pbB$Q%*W=4=qLDjG^ynExg~P0A*61jV;EYZ&`#$!WVWT|$?D?*$0vwKn zhC?O`gTDJ=Uip^@i4c1A!K*x1bbK)C4*W*AMGii}MEB4QzJ7_^+M)o7GQB%|7ep3! z8z^V>5X=Q|=!LztoO^J-OezAVv??QPRGgiVva9_-ilwP&Z61C;SAn(|K?Q~tqe2#-Mw3J^os|6ugv}|tjuv8+$ zIEgmWze=G@1FgCDw>)Ppg$CXC7EQELZtC|X+K5jR%Bk3T3%E#0lL_xrqd4RgFYA2z zl=P#o2j_)Z!&$v01b3Zy-Baw&g@emp4sR7O+wA_v%u`<`4)D3-cPTq zZDk?7u|Wa!|6GOVjNY~S$$7_=9S&i5v6OSNv2UeZF>Ei$Rn-ZgO5q=&*^2ZM_xLsk zHC!R=W1=66HUT(fs-vh!BtF#%+$0Wa8{^|7&xm-J37(%wTmwU!B!T0{2Z3NzwkxQN zdp>BVltc#fMdKI<9p%&J@bFW+df4j>odz*4Db?<|8ivdqjgv$&QWcigifN)c3++YB z36Yhet0Q&ZM7P;-S4!}Ip@3;&AsVe3Pw|cBF5J7GHN!qZisG9Lc z5XIMw+7`{R3r}9bdv=~HDL5Ev-=k)lGGJ5Ku%+FupI5nfy*!Dbdmi5UjKWNiC_{-D z6foj4aNV8nVAa(OeeM451}fLbCtF82mq=e!h6AuA3KE40G@7vms=w2}IbGKU_!-+_ z&25kx2`JZyPT!Nw^{(PT$|{p(QQy|@un0T|7rB{G5>_ecN{+UP!)&Ar?vhqh4G)H) z1Q6gLWEMMZSOQ(v>ejjHLt786`OgyO!0G?KG25xO>UP0Mq`MM6K-V1!N0&CLMd%ePfm4H-Y z!`BWr)0ksJAW{ye4a#g|mOc}VA{xVjh;s9O;^hQ!wzE%79$@|sWWjHZrSs}v6Ce9* zy^!PP#4tlt@}w*yx*Q_9=AK)Sm)wr7)iUa)T~cL)ZJ4f%fzGiM43W)`GX$6RF|xs_ z2S{dyKBkW$QM2f51On`5_g3pDKr^*$jvmLOW=(u z@B_v)HutpO>#FPl?YaEhI?jQ$xeDtQ<*~WFpuv`SwMj-Uml)t$KsJ7c;)TG?=Uv^{ zU>2s!;Noq$(2i>Gf$eTUR}kq&JPf_}#uc4nqcN2;DZjt3n&yt4eF6~}pde3GRMNd+ zT4GiR2wA_cvU`1;_;Hw4Z3lR~9J#NBe*C$ax;t5AM=q7^7Y0KI zaV>#pBAC@&c7O>S4kkN|A7|UjzmCP2S$Mm z$9dg$ty;G`ti5}uj|;$Q3fngrVkUmkC}M{?ikxIA0&sUPDgUZqhgBeKJ+o6($MP{q zX7yv78a!sJfjCCA+|k5CaUkGp10IZ|g5dLZxFAqq>J_Je zFhBzqB$D(7l*K~(5*$D#$6apbfiO3g=Eo(|IwLpK{c1;b3mzn_PU{uIWywey47Z6~ zBQ#{pjfFFRwILkkz!gEdM5hF9{die*! za3g>*S%WY^v~<*GhGkO%wPT%`HOE;g(P;vK1p#1Sqnb|PGtrghw08F^Zte$@F_oH- ztIn#fUH3eQVqaGPCfbsthD}EF4ZDOu9}a{};{pz9y~PPxMG;QQ85Ek)x*`NpSfiiM4g1Sgze| zlObgQ%`uMU*D=Rt9$b`)SSA(&Aa)o)LJT6Bs*vGs zhcCZwWcJq}(jjT=Z_sl+GD~e03TSDji=_*szd?SC`8d3fjynGB*i!!U{$GM2v(o!_ zr-*twT?$84(>Nu-i;NiB0Kl}3jIX$RB@GV~#tO+a2C>P|vCCPy{H`oba_ZYvyo)wJ9-!o{W|_j>-qEAPfU9-I z{j3(tTvc6$u0%CXgAe4Zkx8PcBE7XqR~2PSS}BrsHzu>Rz7D=&k)0dwF0kpu46&uN zR<%{YHDy&uPW_$x4`{;*k!1Ib-*$t)&L+trais$=Ge;f~qc}&5 z()W*b>{$&jR^V<0eT@j*+u{0HwDR~vPk0bSC%fs-PQB$0*ER4G_=_VPTx^w z0oQ2YF+&_eI^#$qH?JT&%0gTr@oR*+^HnQ%Rye^H#AmYO77qFWNuh0GmFLRK;?#{! ze-{Nu8;xc-T9dSeOVS!aY_Jn1Q6zVF^*?8o&z}+>AnXpWU{-VPFDnf!`iYNKM_qxm zIBUXXNwytZqi+GzYGC^M79AR~_ej86|O9=!cN7xVRZ=KL-1O@5PC0H1`1NRNMKSos1q} z5VXa*$)Z)6jzSMG`I5>pNEO|MpoPoZyy!dPvOCOaFIpA(0gOqn5%f3HzUK^+yiIp3 zUpFtE>>n!5Biq*QJq;}qb>p2K>1=Rw8GWcS0-*yCkp>Kd78%2p0v&?o0Y%Z>CvivG zxC?~QnULL_+D9TO8T-Co^S4tD!Gzg~2WSom$KnnNnh4F}(XnC-XP#JqDMtuMU((K# z0$nIX7~uhLi(@`>8z|6%WmNhKyF8B)rW1q?`zLVVMb?vKeprZKG0cBsLMrk9wHp=0 zXQ+{(D#?sta(znM+o=^$D;W)-O>n=9Az~k}AO-Bf2wUrn8?1A&h?R@3z(GO2C{{8; z=n;fE8N-KNd*>$?#HeZ>|J2FmvJ=y#B{C4CB*7uxfVQPsa1OLcT-n4C;nm5~bQ*{mAj&{uG5!zifgWH)L zQO65Fb*zAvct|1%lOxWc(jftm(!#@z2Cs+ux2+M94Lp_jHGQK{^u{$OH`jDp0bxlw zSQ~{zNTeCj5Fx~1pr;K5K$58yB1|QikQE}NRGDW0z0dfWsU6?I=DVCKV(*kHIgK!R ztqE1l@Fa|ORu|DfaA+V9W@HrUiT!i&Suxz_ zI*+MG8k<^K?dtH$6zy3zu2W=M^)JlYerJ=&v1fzSTuut%V+K)hb|MlxW{5(Sw}I9- zE?>g@Kf@V6$M&sCb4G(>lKsX){4SNwMq+0df1_=Kp3lk;2*K>k6k)&jyXNq=-ioQd zcMQ09rL^L7QsL|A(T?@*^+64(qfdhsWRNCJLZIFysQ_$@PD-Iij@jm+bgRt8J-xGO zB!f|iX)m(C)yu06jzY!9C>oRUyE7{FAV1w;a)ugX+U*W#njF1<8{5z^=)r3~Zl8zD z`4A>#@(*&avtB;Y7Fu6xR%GRnv z)K3ixebG?BpAifL?75$YDfP!1xpfJFC1m-ikBoP)GvblXSK=^Rw>E#X7-W^~ZI=cP;X_EG6X*}P?vr-u|r0BFTlUXW4BL37a6j4^I0FYSc zfF6aGx2_rC@by|gl;;8ha@*ibG6rU3X6PUuIR%9Kt7Hgd?v@mC)vI}#;@Hk5yVp20BoCN7Bm>H$9OMK^;hlY#g5w!{5-~ zv~u`+?0#PV8)u#1|1vF$Wsg1x8(;axDd{)`{7E1Mm-syJo@-|3WbDaYR23gbM5tW? zCbVn!GCimJ_3Zul`mU#|?w!OFIwtVD{S%QYMyVVgaZof5B5be=jDqr5Phe>Gu3N0^ zyox`L%{kGbHgt7b$v|acmV|&ENOph6+x;z%9iS(40hd@{+$YEOV^yR*0dPb^J!Bks zy>6PazpmgapbSVH0JICZGs7n+iw{siLN2+AhUje4$D2t$3vkb=NmDeIX@oo^vBc>p zasd}4YH|$GV@1MI8`p$!-5Xkz{i3BDXJYAz_CkA9ZPw(IEKZm^D*xhV) zp6<++4d47@davMbGR;^E(T9jJI5Af7#zKu&!az4&>2$J74rxtJgGUzj0Y^M<8Q+D) zaM6iWD0p+Kn7YD@X^%dVZG^nbv3m@BgN*(eLxjet(a!7<43iFPqr~URROZz=5lM9) zio=P?gm0P`Odt0?c>K~rD3+`t{WwVLGzMbKXM$%8r?Yn~QjG4PkrV=q@$07Yj6;hy zBEh^Int%;VP(gGsM7j_<~SNevV7 zIU~OI^c4b*;WfQ6r<8rsi`;q8rTadLB9+RAwU5*LHtl_|&caKd#EjW9aqRUv8uz$% zlW-M*^!{wt{@>$^tpq3x{#(C5DF7_)Ke8BM-8l16KJ&eU_6&J`7qoDFb?;?HeAqXv z!9#W}S(CqA)2;roC7gYBI*x~7oF{+VGb@FOtQ7Y(+|HW7F!hfkI816m!I9yj8IJrL z7~FKKzK6f+?{xbZOPrrM)NePPFIPF2xt=}uDaj1Ww8Y)8G?ZzCuCv?h&7I8= zHj+<4lN6u92MKjV8IE%7eDJ4EX~Ho#Ag%CEC-Ybchdo!q>W1V|HcOuMH<*&<<(M#+2oxIY%Z};Eksl(8;vYu#l9RI!z;3&habbj6aWAN_nhBS zi0$74%&)E7YaX`?FQQM#mVw^+Lw_{e_mbZv~b)C!K`zdB^59KKf*Z)c;xv~o~CP{wd#yp#=3y1rnh@c4Dri}s#P+8F!$ zksQaxX6rapY9F^cb(xsPoAEdMSrz&Gj{;kl55il26()D1LBkqSY;0Zp!v&PM%Z;`9 zds`eJ-}$9iD;n7u+!+cY4PD+Y0qvYhK@$(F48%E<5il36>9S*=QEpB?>u+5yC2*S( zSzM%-%P7YhrYDUeLlBx8DGCrb>B?WGNqmBjfg>_Asjj63h@qXzE@=shltBd@E09Cz zFrtwHirgh^7=z>RE6uz4j)bHs3h@-49qA9&4i|H@j(SiRIP4CZv-Ppmd*h@GUB>MG zM&B28BU`XR*X{P?=F8;sy|-Y948%ZL-_=!;u45ILKB5v~C)9`>w*eWb+RV7Du&`*V zkkVI)k?bImXuPixRN^$np-7z&2QlN8px*=G@ZEVM7*VkR{PJ9K^_Ut*v(wMoRPJAd z<;2Dx$?cVig-Y^2B#pDNDS!3xs@I(v-9Jg+8|{2wuUSCfFfh3uOb5to12e&yx&(L} zt#Cmpuep{;67qL*s&&8|u{%&eK2X3hHlXqPa3dgc(6+PoSBRBpFStA!jK)P&3-uBZ zVRLa#`Lcx81q;bsrtVL!H!Jg*}TB4eM>e^9qcl;=EkRWYREm- zT=;wrRRZg3$}$f0hyrW_LJ$am2p3*cZ#Yzxh|RlX;*KvaVNE8EP-X3t*GduHgDHha zS-JPi@B9P?-26AcRFWQT)EFUn7<>R=V-VZPd>t(t8n&SXCt|+CMqu!(x}DC>;l-j5 zuJ0F@hkLcqyj$JhU|-@v@qX9y6YND+(9aAEiwp=xlfnQvpqQw1inlTy(bCA&Ozj); zS^bYU@Vg2mM`C-B*pZfXHMmbJd8dE8WzJRNOpg%pNlh(RAD!XZ>(Z7|aXW;5z^{>? zg=cvB_wOBgialn!4N9IGb5JZ2y<9wcT9kp2O_AM`wv@c}J1_ybI;+ zalKj(ooec$jTI@ng$T&fh_OY8%cP=J-IY-;%D1k|QM4IViYW?dLbiLaeEqFnw|`fm z?zz0(o{w`y_KWi{bZV7zk(P8n`#Xt#MjW2%)waZuX|%+Iz#oAZ+%yMkgU0D_IDB5_ zTDVig4N0ZWb75Qo_m~uKZ=9Ab4lxdSA0*gH3j^Wapg~%^x+e4J=T)9wtHA{!{oJUK z#bzDXtEWC-DRoNSnkHb2r~{2k@7!ui3r-kq?0 zbl|c(zu8mbDYco08WmH*_#VAY^h=34v z*4La<_$vb%9G_TigHu$_4$%-u4^lcw9)Yh-mZ-S>W2h6(#nV7n&E<*z_!-mtAC}^U~OLD3_dvC{U37>&B0vs0I~8ZyXLt~>E@=(ZXPt{fb|;v zt+<+9-KyFzjA8Ng)J}yn?w}%(wTH&Ohf}0*?rVD6U>sn~%8jIL838CUY{Tb}EB`gN zEsEdayU2W=CH(Bf@1*>0z2y(PUn!R$quZpQem8sa|M_^#+%xM(QOTLCn=~4_n(Oyi z^39Fo)cBOOh6v0+4_Mvvyz!?lV-s+oeK&pSlLrt5v|Ke32__Mx+}yi$xGQ=Y3K2|R zNM;obBuf+`|Ug21E<&Xa*SP+feDFV`_Z++zA=8hRDAf z8hOQ78qaU1n0hcn(}xvobM+UyVz>XY(in{hm~iS@o~OAfISqz02G%<=Shu*l-Y8=k zLEFg>Q5|NNxX?M7DIsBbPFOq*GA0>3a-98I^lkI)diyr6O$U_abwJ2;=p>?3XM1)} zAp>kp(=OZ3;o>DGWltpWDs-K+=v27ceJ(aNYv{7u46XSW24m&H`G!f+lr^)11oLT{ z{O@zoHk=Tj^U*7mhr{DT_X6RCBkQQ8RWgt{9Nd_}Un~QhjW#k4eV$>um22}=Np-2b z3o6jKbaDj7G6K48o+nek>MoC_zJ>EgmzeaqhG(&Z^T8L^49o#S0s(-~$OM=qqMiuV%Re%$4u^5l=6IRcVi>0WRBJv;0!;>} zD7o|uLrvd*KjwWeSt*77EA%~oqfgHKy$WsC!^i*4c~irM*wTI({?8Yc`S0~BbsXyH zJSwa2?EL)8V86fB?gBD=57i$g=^K$n)nz+qJyTjhV zcG|S;;(aZCd)ee(zbjl6U1Sr75!hJ!kMoB1I?Qn%rYqv!cINA8ycic$){u}{Dr<++ zm7961$D@ttrG95y?bBvz?X;>~*!p*0Te?N#sG0eF)Rt(~nFql4mBo>FV57 zTTk?UU%A8bcG*mYu9F!hdhq^8rKjg=RK!}Lc6O6%&H6o9to})+w+%yF&bP1LzHJ~N zIX#s6&{UdN*Od1>67pO7uN7*MkphUo5J*T$_CmDh=O^e@Fc{bQWXviGt)wK)Oba4G zHVp~0OK5hEK0g0X44+m{)9FDv|2P`{CtWSJdo2sd+tFwc^}(#fq&{fWy80>d;D)m= z=6$v#(2ywvWa&Zab~wlH2%m4ou2W^sROH#LCb&EG`*QjBF>qqhVaqT+A8LiK8<#nj ze|i>+Rr{+XM31(w5R1Y3O?UsF3q^#ppoUUV(4!`^uTb4)IM^W%G4B zE_dO5KXc_**0Ud$_kN$Z$se8@3BS~~7?vXUdevaoSMx)BpPvE@%*zsY-xrS&{{OCg ztZ)FTe`w}-B{*AZ2~rqK66f5$pVxdtZmbt!?t5SEL{$I=Z+e2@H`B_KJ<)Fa?t_xx zQ$h7^A^jF1y}-w>qw9_2ki6dSuTcJ!hLes9*?0ZeyfUHpepHZ;>vd^qm(qEf+y4k>ZbDS8#D^ZEKLV=)b0txKwOc)7Nc}zqZYtlCy3i!YxX=VtT0WqU4 z9-Hu`{kYd(%PS@?)sQ=GRf5>|j%*7vZzlvNw8eJSUAdK+9xpeJpmSkkT@};BXrYF$ zKI{D=WRHfhFI;(pa5c&?S6)l7+=T?tS9nVW%zDP4T)r+=UVLVh-ub|Ye4bPhQ}$xc zo)<~@{S|cB--Cmm!(ndo)w_<;o#O%DZO1CY1JIv{#!UHqwzL{AQv=1J{q~t$BWFeg zXcpGhkLkQ0JJrSmid^6EIL;=61Dh#qw6I!?Bby37|Sy} zeIJ%7&ZC&C5Aua*CRr?YwEUKk*Cmx;k_ZMEbW?sl*e2kUw%sbku0+i&Vv+vd%1tQx zs1?juUQ?&TIs__`#wO@~6&(p)c4EE3Mdw0h%QML(v zS0gh~9eK`vxyk*Dyq^i{oh8%9K*wQm<#@av8S5##$G0!Uz|Z*G%(1Zr5r2*$%qR;j zDKG%AAxsttlEVLhDBCh*8JLjtEH^j@BXlrW0C)km7;y$Kj>?)p^|11FJU!}_9!_e~ z3#~JCO@`aa#aG!;+|O!mj5br#fXuKDPQV^QzSx z<>q*KEdw(aYW4Pg&M%9D&q(tyxcTKPwR^nkx|+5g$~T9s*sEw^f7FB)HbY_NpQ$)< zP;0Cr0(pA|ssI_3O7}F9gg|Bu5Xym>jekQC&1TySUi0~V42hm4SKN2Lp)0>i43=Y? z_(7YD&Dp0^P>i@-S?mv7iHT*kXlqHKeDB`R_hLLt0Qu8#0;VrE&r%}DCUz1gaU%y-u^SXrvA@U2>0_3xx0Hzt!v5jMuEi(pfJkPW9sT?C#dPO!$J(zThP3) zU4#gfuG@c8{Hi~aJE$w=IW{%c>5=-kP_{b_x1F%Y`T1N$k468p>}PklOaEGv*Vo73 z@pJy~wXgMkult+%zfD)s=|uc`yR!ANwEyOxA43Nt={)JwdnxKjd%Jt(-+j*GM$PUJ zKq314&Wfa2i_I^edcI$8p6o-VnCvRoXM`dmu`mOnW4xXS-h^NjT+~uEfb(CVX8InN zr8{l^xm90p=R$M+DdoGLT`zz6-DBf#@46D%y{_}IvCK$zX9o_bA6Lhy9%UGCQ~wm^ z*55s?#cH&kt}iLFQdju{5dKF^(a z&HOp7m!%8Mub|s}Hoh#jbE*2o{4b$(UoSI@p49lbItpC%hu6@ln97XYJ+rDD*S`;3 zoWnkU5!1|uBI*5cWId|C!IX}>$8CFv{x4l>D@>0o1%dl(_I|HMTKPZH!DqWY3kZ(a zw_@Yl<2U>+ZE%^4{|%S115vu)@V9i;91QL^Pg9NK`C2^IZlm~8LZZ??qvzZsVGhF! zl-B7?Z-`>wzHpJ@`v4|G%E2n2&$A3W${w9#Rifg|FiyY*%B;uVg&-6}qJ`vtDZ7eF z1J@Y$)&GrWS9K#5Na9wA)@10nZ(5ah3>N$OY5!f$ns|GLCAiWC&o!4mnO<)~QfK#^ zKl4E3NTIJ?WY_XX2s;+PgBe&&*s$`|$S)p)Kw?%=xbmtHa!)C5e1Ywy@UBEKAUv`} zugk?q+lDzO2eb(bj2e_!H`26UdaAy16Ci@AK)u;Al2{zUktLVXF^Dn=Ab@_D8E{6G zQdJ3%wT~$%sNhG9(1~TAa|N>oNTXm}7L=f0uFLZZ{gcC>)1aZvutm<{3rY$Z!BiL9 z=zSl~6Bh4BE&5YQ;XAosH}u(HJQz-2E8g|>)s+86Lvhaib=ckGJS49yZw)b~0NV=4UgH*(UyRr~DMZ6(=5vf<=4IZ8jb)z^Hj?C?7l zzw_8&-@}Rezr(M-1324dXw&bnZ$r&vsGogVy}ayP{@83k;Uz)8QX$H>-bWF;ceAZs zZ~Q-^&bJfr9nT;5{${gZ3x8|oQ`gOIwE5pN@>PNLkICnu3{b@VlpoHSlLNqn518%q zU-WGS8bn>M*wmI&SY;}gQWNr_wdpLH8n5q1&HC`D(7G8grQ$~|4Hxkb%RltTp@eB) zw;jIsEANx+85x0aF}7SFh=6W*`7MX3!QOc5vN!A01*Pt)Ydx8*_q>M|Ux(9(y+!Ff zH~&X#`?T0@KaKZa)2?l^h11wd`99S)via$`-BCg{`1UV0cU!vKTvsRj_xCLJ{cAmU znPn4sl%W6JMK&E@k!IL-o$K^-K-{ zKND%L^)5fNo!#Hw>Qw%iZbq(M{xGwqDhw7+D2n{Y9D-@AvRW1^ee5wnnPPZusV@9& zdUD&>-+zJmVO$)DnYml41COwP_SFmXL2^O~L4RlJlLR4%D?#QSPoo1vEVP^aq9|C* zi?Ug0JfGier7kvLC^B=Dg2`GI?k>9z1^Vu>nZyU8Tr6GCG6abV@d7gj66eU?iM}|X zz46?cVr|nOaZpk~c&Rcd+gyUF!Ij8Zj6y}|E|ELvL4g4zoJm^%c1Oq{Z^#R7%N%e# z3A>2d?BmDuqsU$yOJHyF7-KFRQemdrW6^)czHd6TGd{>I^i`1gj29xO-9 zj_dzb=e--b+IGY(n8jY0oTS9O)Ld{H2jG|q93Q{D@$tHs`m!URcSm{8xqqq5pm=tW z3m5A`3%KM9SzZx*Wq_2+AaZaD)TJOCGI3j_+)@P8Xs-+(N85V*KP+?~S_1C+qeL5k ziQpBVIMAZ*ZS-3k_LEhnyX7(r_S0 zx_GM0`3x}nDzcy@`>gPOU`5yeSR^wk9ugmfqZ0vgx`jC&w}f6On4Hm$Ul~ux`rUJ2M*IVVc>Giuml;AUv3?}GjyXXFZ(sjsTi7OOMdILYTqQs zzz!<@M0M?Ud{M#|rT5G?*XxD+FJm1qhV+@pR_{3n+93}Jfki+;4vQmxvE_j27ns@HVu~G4Kjyx-#npLreU^94v#xq!~TGQ3KWq!n-U!AObsy}SJ zYB6axwJ==`OrvFj6l@a=Xe(e6Smjk1h^bA#Z~f9vNEn8c3{*}dj%T|v5MbfWIkiZH zTP#hhhOsRffDFS1CV;0)9`d2J-NRgakH;RPqr&w+2l?(d`T|k$oDO=H+~ikmKKOJ~ z4m*!MmfAcwK$e?no&77A*HBp)*l5Hb9q6!bOq)lSkbjHz!gb#KMk%AZiyS@kZU)2D z;f4=AAiz=MJ|7t{)rJq@MxL;AKrEk3?$3*KV>n2AB^Wy_zGl~rYvJ*p>~z0~%+Qe; zcC5(S*<{%xQ`JX}c;l8Fm%Wfd08VL}ZM|~l{`15LU|^10Z+amWG~II~k~_pt2yDXI zs(%g49ZSd+Q+sjV8fZ066*o;Vha4Xg+iRxku7SV58lQYieeJ;*q+tG=$j_TZE=z_P zA+e!}&NE~xjtlCl_wcY+OfZeCa=6CDt;N*F=_GbKs>DDhf?)_*kr7csFS{%}Ffy6s zovnL;$%JEeX|bw%^J=0?VRp&qx{8{dRWq_%oo!oKt;n83J%f7D!`HA5M7asLsuQ-z z;GBvjs3NgH*u9|kJM%>FuT{T^QV3u=2VTX)rK~Ep!Rk429eUEYtCdCVj7(VtZQ`Xr37a zyqV-#P#V~Pv6)G^)|_VS**4DBPB7-uuLOUP*nD#jJGJ+TvZb#<3x z(tL=A^~_7OHkYuL<@I|tyUwGfwodYGjf1EnwWbs~pz96$Z@;td%$_o;-J-;n+6z)5 z6k%j#el)l<$VfEpdl3`*L;c=t-h;R%j z#5mM5V%#(NP~)Dm+`hZ7^cx3(@N!{5=SlYwN0|?{9?CsZn?j2KvF1p|HUHx`Oj|`z zb*h5Wt_wBxiX;>E!>^^Xd7M_;tY0c_G|XN{yhy8{cRVS>$OPO#HYfz?b(EoY9T8Ec zhb}IlP~R=3M>Ep(Dwdh+R2@H#T947k4(}gzh)r(MlXhalfs~rf%>f|+h)5z3Yelh! zgwc>RAo#;~q``XK_r}Z2x%VH)*J&cx$g$i+sd()3FXDf_`Mh5TnW#$DgtKJfDEs%^QD$IMfb6kEb?Wy z<2OQXA2usuVv{fXp?alNt=DLM72Ab_8RD5PEy9Y58H;3{zHCywH&mXPgw+!J%SlE` zR?~gPk)$%|gCrSA$RL2FQ5A+kwYGDHr@&+d*CnbJH>qfgsISc1T~rYvS)&PZ3>Dq& zV8|#Oiy38;Z>g`ja4GTLJyENOKOd+ zNH%$tH{Ny&6*=1~TL%$l=yhW&UMCZll>9m9dNmcgsXxZUlFUSdgMtGq+4DkKz(zv? z@^r3REDv9=qrIRa48K^QMnsVS;Cu)8c+e1iOHq#=b5bdZFBYI#7egpu+D$gbEbfP- z8DcSw4RQ=N#6a>Ainp-S7I6v$!v)w^tPC4G$ua}o)uU25sMuK}1093Vg%j~XDhJig z2mxi%Nibl`weIuJTEHwDAjrq@i*(hPY&1v|*G6F?1%CNEmRPku7#E5S?ZE?yLhb-` z&5O|e=0T8GNZBLO;3%_>gC654PgbM!-_8My zY1-P2FU3^x_dcUiy9K=D>gM1+hFmM*v(ae0we|#VS9JGz|_Exdrfdd;QL;94+mu`KRAle;OK{ zSxgg}z^?e?O~x99MYCqY6aQ?1iF)XkNCB0CNN4OK5=_;2u!3_eic)1U)zN}8`x^uM zmQ}vaov37#?}mC6+vEhoqr(lT@1|8w|edPY2%jJPq~T zF?%f$WCml|RtIp8W#5-(m0RPA2>cPXhJnmB)DkO``dj}~7ijpsZIVfrV>cBFQw8Ol z5r{CSnYLvt`d-f)GeHcoa^ba6Lpy#zR<=-R)gf9goewtv^eVt$G*LVB%uPKQS1F3t z+2u@v9uF7$Gq(HvK#_Q0N7IA}mN8e%t?X^tB@qvulfI$jDowQrc5Gsl#PCKJdPVxj8 zGu7PCy(6$Q&UG_(1=-c?TGTNxZrxUrYk9r4slez67~j*N5<+5LgDs}Y=~uhM76q|) z6gPpx#e$1YR|(uu4A3AiU&jboGzi-x zTGRp|WBneSYGAvZg3Am8M6v=Bl6X?i3Z#tu`UZxsE+oJ>!x*1>hVv64P*CC#)(vfK zgCY$R;5bEiW6ak`Le|lM!@TZFV@CL=*vP8xFW9&KTGh+d|Fnnms5H+4TJ%ZsunXa$SkhF?*J+(kw}t(5u3pM8yp-%g5}$Co$JK{ zdvpt7VrZ!3+A6fD3X@f=Mu=+qgRfy&`_j*n4tuk1&je+wac{AuSz<(ROJ*_NwcN|rpL4I#ZQxX* z7>XsPgk+{nx|G)Tfx*wgQ8;2vR@8_;&V@CLwfcV3kITgMI@tNQjN!n->v-56aUo>z zViqe_ao#yp{0SD;^f48KF-=>jw2*Itvh7eN95^swNG*rkVQKG_V0U9Q+}jS$YGC-$>-|WsRtBD*lesl1`b=ADBgTHWJABM*sM4IC8Bt6Bo!Q+ zhEoL3ytT8nG9+y?AZ07LzS8^sOZCUMs^>GI)9PsGtpilSEy0U}hZ=Kx(sl{Syn<$7 zcopri`5h0j(VuI(uf|sCPAkdhc>WiGW-s@Yk2Ga2XxdPW6Nu}N7b?}kK|hwEqBo3! z9Dv!Q=XRd-`K5|^@2u*}r07OJW9(5f&>6BVqIKanvdb%nx z8#w3BkfG&T=4+^&Gd%`F@kB`WzoHS1@jt?@?Hdr2P4gQdZzUtUT}8jZ$}Qd2#>u>0 z0o&ZdGNkTB)G6I06O%t|Czz``XtKs(nvvV#8&k&U8+h-ezc zFIQJdFbILsHh2W-0Pz55-va#oFJFtAwf4p0IADGnRr+MO>MuZs6xo=YBOjKw<;Z!r``BEbH@Q+-3t;_a%7jfh zbbx|MqG5BPj(G3E_A6F*O432_%!nb4i7u^ir@E_hGA3?q*z!zk-qDvZd+h&;8JtS$ z#eXKx!Pv9;c{J>g2!SlZDb;|s&yf8Y7OzCt0g}Lb5}?U5lXvxGWxa+Q5WesAKw5Ob% zRK+Ni2Qc_53=<3RwA*e>SOgFg1zp0w67VV|}jj`6S z-qXo3j&?M%=GTl*^uGu?rZ^Bam?9>JTX7(`jEB|F459kbO$p`+Vf;IrOPX&;kpCV! zTPG=@8Z+U0sYzi5WV`Rz*7{m`85t*ACePe*fE+nD>9NX4#X43!-|UhD$S}otWVmab zOidhGZA7@6M^yxnl?g!cefHzyubE%&G-W&qEIThp`T5*Cy~bAZ*}yR&BIqVd*&SHO zLlXxtLib8t4rm znr0)6Uf*}cnSXOe%QRHnT`D=8&g2zx&F0*(rxz_PT3{0;Fmnd5u&9j?Ml~&R6D_)# zPTMs`uD(5N=z5v8rX0x5X9WrDI}ZDy+e3jh9}ef-;|~m9QziZT-}4=v#cXUb*4P}Z z&RPpY_VwP7dnwC|gRr>5kek6Sh?%gHg(t^+Wmg>BRjx86XN+)}#;boLk8_DNH*#?{ z4*SFDb8_^l`3GPdThd5iRv9`7#Fdb&B*j;zW>r%`Km?f&2c3Vv?=~)ypB{eq*U`F` zyJw$52MN?G6+ft3>0-kniyJ^u!Lf=leBL#fNH7>+K!-$vFNMV!(S;HhLh-e+vh!#)2PBJN$*GEx}d`bV~;@*00DOO9h9g6 z>16bS;P3+ypl4Bp6fb97D-2{~P=iEZe;uXLTbphZAxvWrB7g)zf*@vFaG`&=Z^?JGz-Cv13;=kG9CI(A2BoH78VvWY8?|S#3#fs7H@7FhI3e- zJ)B?`@uK+BP{gB|)3={Mt%+2}0vqtn6HRZzq~$9HMzzI_J}wPqY0v18mrd zlz0bM?4&eo|8Kz~CWAu5oRp*}qBbzHF;KBkQ4`MPWfHTgqwUCb`ra?p{9|PUvFpuL zc4&Yvyomi}0#(PKI539tE7QG;MMa>n)}upJt`-~?#xYVkx!9i4ynU(ex6SAMKP^+1 zga+10G0V-((BlAyq)?KMi~FA>^{ zF+#t8w696dN z8&b-9>2o#k$S?SUP}$yZb$C;gdZ_2{y#+>^Con`y=q|W-u%f0sa}YU0OlSxJfW4{| z!}03iZ?9JdEnXyJgLjFSXFd)^%MDLkA33(uz5l-0 z7zSV&nTQJoAf!Z#BEev*znO=TuDk9w;XIG&(qk~;_XKu#SZwg~A0qiNKLwrR{nbCv z-4ooNl!R%l8hCd1_U-KM_5;~b-s$bUcu}*3WgGR<7`6vxbT288oP-FpQm8qVAD$a1GTOEwFSpTb0^5 zUFV}S26@(HjC5(dl;smhFkq~#PZEp8oFozk@@W$XNg#9mDLbTO!a^Ei++&O|q?(iz zuwZP12WFmkBwPcfl>m~bE`BA7KgzZw@y|D(DH96Tr@PX96GbW?X7 z^0GH%Ng(rhBXeUdJ1+Q$13mJ$%K(J^ji@rt`f5z8R7TgdH!PpHxhKL~SxUnA-|njXkZ$j6h?U z_7d}-4Lh~npC})Zs5ah^Hev}$lJx{V5X!|5@UMG%5S;A3)L_M?@S<%a$S?pOK==N1 zbN*uBu^k{!>%HbqToG8oBNcu#EBD7g?Y-xPdFkUEdh6fUW#_%Pf*bE#A_%~mzT<3M zX;x<{+(q67cDR6dXAwH|PXSvKeiy)T3y(1-k7y?UY^ps0seo6p-RDG8sde z9wE|TPs~7g<~EFUdb?j|o!zFVH*AeP{HSsSd$C1MX2P z)CU34lLH{BhLsw;bgYd4z_g|nW`diA^or+mTP)z~Wanz*kx`#(BVdIa$gee!^jBNaKM&^I=Cz3tuiKJ_>} zEOa_ptP|yj_#t(M_v*A zcOVRw#)5+a)-zfadVc5KbUGF)<*Ql$wHzFLX=`LjwSyKi9U8bg3mb*I+TY5EnexY{ zXVtg2XD2^k4ZFEG?QOBU5Y{Z3n6stR?k)g2^Ni`)ENZVlppl3BZ3s zP;pP7tXfyoU^#W}|C^ks4Px2JD+7pH=L9GzQW~KV6;?ILV5mv1x>q#}Fj~E_OpxOk z!60E(5YY@IP@N=-aDNQKzg^hxcUrZ0)q%XF1r;{!%hkZO;X9ye?TTL-fXrx-0w!eS zu6MOx(AxyfiC2LjT&TtSr*SV;O)V(d`7J;t?_Gd?0}fZZq0>;>=R(D_d?8(=JYmoqd%zz@Ra7A2v32sa$4sh)BdRzLy|1cqFWoqB* zY~DO1gjqRTIkMD@&Au(o*U&%~4-3V}jwUXa8u0ztJ_7&A0_zf7!%t3FSrSc%1!4 zLWiS55WvJV!+?lB@8A*(7V`(XfnvN4$K=ql48FaV?Z_NBg@tu&>tknIHK=|WMrLDP zMjIhZYv=Qv!GX6R38n7H=&Ynw@V6U%DDO$x8ORY|i50PmbgGJgsnlNZ~$ORuj{ZnCnh4pUvb?>!g>R7P{4J6c^#8-(A2|3S`5;DwT&}O__*Vq7AS!$|tVim-e*^yo zq9Db8)dc{?5-M$z^V{Pa$KA0(7BWPppuyxdr*q|-E(hO^-9p$YT^}0d&Ln>TfY*Ni z@>^^%Eu-5W9j_8n0^kORpScIyMg{}TJ@em+STJ$G-Ztfm_J`#AlnAwu4Z;yZG-r?0 zaz|&a=-bj@z%nx;GBGiNCnCA)Z}2j}+}^jYvG5kRV@fep^5D@C7lzANC11ihjZYXD zvz!fA@eleLYS!INA}VBg>Fw`4Ofy9I$~3LlT=%k_*0=T!FH^q!e&UCxQ;&#$ZVzOj zLE*3u8|>e-v*CyZ`Fg$w$;i>PQM7C@G=JE^rTBQGQnC+wHW3cqZDGyLoH|&TofQ=E z@GxgDh0Iij@fi#xC;^cGN?Z&h0kT67tw7oNU7dwZSCr^ST{VKONi20-8OXYN4t)Qk z3_Jb#0VpybD}Fm*^Y~x`DfA6G=<-#&!j1C>=W&8a)}0dQ&kX|tVVe|@kvYjISqUuc z80L|W#Di%^t=veVKti)D;goX19Kjs)By6xD6e8G5#O6X_Q9;o_7(*%PHXE2E+=3&O zAcG$OG*EccEiTu5n)O1BEet246X&#o!_TEA8999_=kvifWls!BrfwWG@C_9MG;c}) z+8t#Oz_+e+Nu}}}CsDv|sbKjRmSybppTDQ8$A`OX>P!Qh5nja2<(B zWj5%es!&Ib6g}>ATdqzy!JBc_D3qN=elS89xc~rrfyC)I4Xp@_1|RhK5}yY^OCw!Wt3|;dlRSdcu*bfU)VvB{VNy@}OkAdu z^&;Xv@90f~c*}2IiDRBeC9)+^84&`KN*J2er^b0iA@j4af)V!sj=ESTs>8f4WtP@Z%ovr8;P2_p+z?KugA>R^hQ9MMyerMPJ_4rvH(N*bR| zlsN8~MTbinOjR-S8BStS&K8$52Hw3eDt1<2%tA?vR9W%|-*IyhsyC4s zmRIMj$SO(n8fVK(S1IV5O(Hm>iq?|$Z!}qXsl1cp1NV?KO6-OPFFsGpexK0M1q$&ywCdy(8cmo9b-b&<(dEk|&z%WV~ zkbtpqgwM-@)q7wAVvK8Wv^Ikb1}1Gn!#kTh4x5uSiW_cfXNgFW6TqtKm{Qbig7iaL z8ctVia!MA{4Wn)JLZ>UH_|gg>VUV2fxs`+j`R}x`G9*?C_aR~wSqy13!HqCEkfLg| zF#*L)-ba=#I%8vKaZeB_VzK8m&s%N2f&ftE*yf_BZcMd6^IEA3FfnQBpj!_I5edlF zimBLYsRLz%_35WVbQ~C=`4aI6lpck7Y)L^)33{jLiD_vJIpa#m0Ooqt62N9GSPDDn zNGPSffw>Ujz`G`yDq_GqvoK#HV8TP9An{BM3W^o!+?uZqQ z&$b+wu|tb$G%XS}o(f}b zX%gDweMn3X%o&(MLPVjmDAxlDb6f5qZCHp> z&_O15l~vfh`yIuM$y4o2+2dQcDpX1nR0}y`F&&ZHFqv_p6nLSoopTBbD}1_W!Q^Wv-74l!Q}k}|=S+>O#3nd)E; z)0THu)wF=@@;PM-ji}s#HQ|)l^zmB$GgW0aHuMA;3D)f~8_}w=ZQ}_vk{mp$Y?w6V z0ZGl`Lj^M9AZ8jkv>t&PQ;-rOxW*j|__5tGoPG;kd8<%Cvo@WQNQD=mPa3R&WcZ>i zE2iW~`Ygb>%Fkp5mX#(>zq^vRqc~1;N z0JW^C6hSaGwt|x@M42jBHX%nW__PL|&fOT8dna-gYRdFmSUIc@28Nh7okBOGZPK?^ zZ*neq$1=`_(1a=|f{?~g^{B|Upv@bU&>@&e>r0>_nWju_UWPFy#u&M125}n$ttRsd zH=lzm!fBaIF$B3Po&xigxfDPfV@c1JCBY^QHAHgVeX^5BQIQ6W5d;dHz*?n&k+d-2 z264Fx%@Eqdio{@%EUbk$JeLsW4c}Y_^YTh}zM!`3MRX~=fe=QJBQZ%kRISaS$mv9B zxMk220FnEXJGL;h=R=nUCY3rXP&p7n#_rC-t&CHFXFVr%Hd{kR{Q^iyRzN~|;kBZ4 z8>R)$rN>RQ!sF0OLSdB9faH(a069f3;alp#bT=K7IXn(%r$$sw6$aP~rN*(eCTCod z`IVD2$bRbLcH7#92m;+juBF6))-S}QkOpL<5`(-vs&0HXO*NemVyRroBk80hKT-px zm>gCq7s$kjPAZ|!%b;oJ7HDZGx=EgC!)+PNu4MP-klUD4ig3beC;=ExB`-kQC>9fE zC&^r6db+S`1b3B7dQ>vih{=xIv(<3X2t>f6BLTey}g5%t+TC}aL@o&UPZ0v8qxuny362fGjyTYsJBK6 z{bOh{W)(HZE+s&O-;-Kov`P?Ib>7-qEJ8ToAq3leBNdJ%1iSzZlGt{0kJ?9IT{@A7 zkPQin5$)ka^o)#S30A1GkXY1&!{n{?nS`CDvs7u}c(Xrtw%_&^lnlIkC!U6aL}NkR zOiF{EiV;Q(sxkM>l7O+N9A+}rd|bLv_5c%#opMB)J$m@^38BAuZFA?=vGOhA=e=&H zSAlB22L}MSx@WwVVU7Fw9NFen9c>weh99`YVWLAOamWHI5easPR*gop5_?e5Kh6Eh2iArIT zgVaF%%lRoYeCQx}kqw+0K^avD0>-KW$p}&*=1Es{vPA)83PC|)tRlda${0ba6sAgHOo8=N zir9vx09I5rP$?xcnG}UGNk|HyuoML%loCRarb#J~f(;0T z2nv*dl!BomD1)&H7RbO*MWva$3T(beUH`nHS-(thx?hn;U z$q$#Kn}NE>?Yo=?NbdGw8}4wu=o|AKxji=POoAYW;D8C7?;mI~r2|vA)pcG|v+*70 zJ8v-##sEauuw;#Dh$lws3LmA+_#S2!Tm-V|zf20Ytg*wipd2frAHSfWQO{yPvvwxO z`E()Bjt10SH}ogat+*NM_^7mE^f8Z<7wd9E`tW{_=Jqq`V}I{FE47OozsRQEH9jp- zEN>wJ+@0bNMF+U~=q7{eAU!P`TOD!W0tfs{n# zGsxAzAnC9{0sR>QsEus`*Xi9T!;3?Lq?Xt$EG40w6(vM8kVEObB>V517o&`SS7BP= z*tt8x{R@ea>Yb^g=d@}-%mV`Sbda&ITXb^VT$x2@Q>)zZ!zuRGEE zCNcIW@hV-L>MA*yKJey#3&BtvQf!-#7gi5ij+b6lt5#LEPKzg_Nu@Wu@20t>BtBxG zfUpD7_?y@ahHGUAG7AYiv??TEs|1ntR6v14u>EhJ9Y>4(zv`6zds5rAlIc`*-7A8Gw&<%AL;1UBw{R4)C6n13+mAqV-+1Ch<2UFqUJih=2nuP z4X|&X#>kaO{JlSIdtdF5@H@V-!NGP_2SV1ai{x@LDz5V_ndd7KjIn*K;JC_LvlohK z&lCxGvdpVSRhBZe_>-8QmQp`5_FWy{LXXgWs!vNnY{x0N-aG@Zkoa&r);qB@G literal 0 HcmV?d00001 -- 2.39.2