From e454fe98191095333258cfcfa813585086f669ed Mon Sep 17 00:00:00 2001 From: Jerry Jacobs Date: Thu, 5 May 2016 14:46:42 +0200 Subject: [PATCH] Reorganize files: * Header files moved into include/stlink * doc/tutorial.{pdf/tex} converted to markdown for rendering by github and easy editing * Remove `stlink-` suffix from some C source files and move into `src/tools` --- CMakeLists.txt | 47 ++-- Makefile.am | 38 +-- README.md | 1 - TODO | 11 - TODO.md | 11 + configure.ac | 2 +- doc/tutorial.md | 190 ++++++++++++++ doc/tutorial/tutorial.pdf | Bin 110584 -> 0 bytes doc/tutorial/tutorial.tex | 234 ------------------ .../modprobe.d/stlink_v1.conf | 0 .../udev/rules.d/49-stlinkv1.rules | 0 .../udev/rules.d/49-stlinkv2-1.rules | 0 .../udev/rules.d/49-stlinkv2.rules | 0 flash/Makefile | 30 --- src/stlink-common.h => include/stlink.h | 25 +- src/uglylogging.h => include/stlink/logging.h | 0 {src => include/stlink}/mmap.h | 0 src/stlink-sg.h => include/stlink/sg.h | 8 +- src/stlink-usb.h => include/stlink/usb.h | 6 +- src/{stlink-common.c => common.c} | 6 +- {gdbserver => src/gdbserver}/Makefile | 0 {gdbserver => src/gdbserver}/gdb-remote.c | 0 {gdbserver => src/gdbserver}/gdb-remote.h | 0 {gdbserver => src/gdbserver}/gdb-server.c | 4 +- {gdbserver => src/gdbserver}/gdb-server.h | 0 src/{uglylogging.c => logging.c} | 3 +- {mingw => src/mingw}/mingw.c | 0 {mingw => src/mingw}/mingw.h | 0 src/mmap.c | 2 +- src/{stlink-sg.c => sg.c} | 5 +- flash/main.c => src/tools/flash.c | 3 +- src/{st-info.c => tools/info.c} | 2 +- src/{st-term.c => tools/term.c} | 3 +- src/{stlink-usb.c => usb.c} | 3 +- src/test_sg.c => tests/stlink_sg.c | 0 src/test_usb.c => tests/stlink_usb.c | 0 36 files changed, 276 insertions(+), 358 deletions(-) delete mode 120000 README.md delete mode 100644 TODO create mode 100644 TODO.md create mode 100644 doc/tutorial.md delete mode 100644 doc/tutorial/tutorial.pdf delete mode 100644 doc/tutorial/tutorial.tex rename stlink_v1.modprobe.conf => etc/modprobe.d/stlink_v1.conf (100%) rename 49-stlinkv1.rules => etc/udev/rules.d/49-stlinkv1.rules (100%) rename 49-stlinkv2-1.rules => etc/udev/rules.d/49-stlinkv2-1.rules (100%) rename 49-stlinkv2.rules => etc/udev/rules.d/49-stlinkv2.rules (100%) delete mode 100644 flash/Makefile rename src/stlink-common.h => include/stlink.h (99%) rename src/uglylogging.h => include/stlink/logging.h (100%) rename {src => include/stlink}/mmap.h (100%) rename src/stlink-sg.h => include/stlink/sg.h (96%) rename src/stlink-usb.h => include/stlink/usb.h (93%) rename src/{stlink-common.c => common.c} (99%) rename {gdbserver => src/gdbserver}/Makefile (100%) rename {gdbserver => src/gdbserver}/gdb-remote.c (100%) rename {gdbserver => src/gdbserver}/gdb-remote.h (100%) rename {gdbserver => src/gdbserver}/gdb-server.c (99%) rename {gdbserver => src/gdbserver}/gdb-server.h (100%) rename src/{uglylogging.c => logging.c} (97%) rename {mingw => src/mingw}/mingw.c (100%) rename {mingw => src/mingw}/mingw.h (100%) rename src/{stlink-sg.c => sg.c} (99%) rename flash/main.c => src/tools/flash.c (99%) rename src/{st-info.c => tools/info.c} (99%) rename src/{st-term.c => tools/term.c} (99%) rename src/{stlink-usb.c => usb.c} (99%) rename src/test_sg.c => tests/stlink_sg.c (100%) rename src/test_usb.c => tests/stlink_usb.c (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index d26f03c..f75ce61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,37 +47,38 @@ elseif() add_cflag_if_supported("-O2") endif() -set(HFILES src/stlink-common.h - src/stlink-usb.h - src/stlink-sg.h - src/uglylogging.h - src/mmap.h) - -set(CFILES src/stlink-common.c - src/stlink-usb.c - src/stlink-sg.c - src/uglylogging.c - ) +set(STLINK_HEADERS include/stlink.h + include/stlink/usb.h + include/stlink/sg.h + include/stlink/logging.h + include/stlink/mmap.h +) + +set(STLINK_SOURCE src/common.c + src/usb.c + src/sg.c + src/logging.c +) include_directories(${LIBUSB_INCLUDE_DIR}) -include_directories(src) -include_directories(mingw) +include_directories(include) +include_directories(src/mingw) add_library(${PROJECT_NAME} STATIC - ${HFILES} # header files for ide projects generated by cmake - ${CFILES}) + ${STLINK_HEADERS} # header files for ide projects generated by cmake + ${STLINK_SOURCE}) target_link_libraries(${PROJECT_NAME} ${LIBUSB_LIBRARIES}) -add_executable(st-flash flash/main.c) +add_executable(st-flash src/tools/flash.c) target_link_libraries(st-flash ${PROJECT_NAME}) -add_executable(st-info src/st-info.c) +add_executable(st-info src/tools/info.c) target_link_libraries(st-info ${PROJECT_NAME}) -add_executable(st-util gdbserver/gdb-remote.c - gdbserver/gdb-remote.h - gdbserver/gdb-server.c - gdbserver/gdb-server.h) +add_executable(st-util src/gdbserver/gdb-remote.c + src/gdbserver/gdb-remote.h + src/gdbserver/gdb-server.c + src/gdbserver/gdb-server.h) target_link_libraries(st-util ${PROJECT_NAME}) install(TARGETS ${PROJECT_NAME} st-flash st-util st-info @@ -86,8 +87,8 @@ install(TARGETS ${PROJECT_NAME} st-flash st-util st-info ) if(NOT MINGW) - list(APPEND CFILES src/st-term.c) - add_executable(st-term src/st-term.c) + list(APPEND STLINK_SOURCE src/tools/term.c) + add_executable(st-term src/tools/term.c) target_link_libraries(st-term ${PROJECT_NAME}) install(TARGETS st-term diff --git a/Makefile.am b/Makefile.am index 9afbc0f..fc95184 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,43 +12,43 @@ endif noinst_LIBRARIES = libstlink.a -st_flash_SOURCES = flash/main.c -st_term_SOURCES = src/st-term.c -st_info_SOURCES = src/st-info.c -st_util_SOURCES = gdbserver/gdb-remote.c gdbserver/gdb-remote.h gdbserver/gdb-server.c mingw/mingw.c mingw/mingw.h +st_flash_SOURCES = src/tools/flash.c +st_term_SOURCES = src/tools/term.c +st_info_SOURCES = src/tools/info.c +st_util_SOURCES = src/gdbserver/gdb-remote.c src/gdbserver/gdb-remote.h src/gdbserver/gdb-server.c src/mingw/mingw.c src/mingw/mingw.h CFILES = \ - src/stlink-common.c \ - src/stlink-usb.c \ - src/stlink-sg.c \ - src/uglylogging.c + src/common.c \ + src/usb.c \ + src/sg.c \ + src/logging.c if !MINGW -CFILES += src/st-term.c +CFILES += src/tools/term.c endif HFILES = \ - src/stlink-common.h \ - src/stlink-usb.h \ - src/stlink-sg.h \ - src/uglylogging.h \ - src/mmap.h + include/stlink.h \ + include/stlink/usb.h \ + include/stlink/sg.h \ + include/stlink/logging.h \ + include/stlink/mmap.h libstlink_a_SOURCES = $(CFILES) $(HFILES) -libstlink_a_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 libstlink_a_LIBADD = $(LIBOBJS) +libstlink_a_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/include st_flash_LDADD = libstlink.a -st_flash_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/src -I$(top_srcdir)/mingw +st_flash_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/include -I$(top_srcdir)/src/mingw st_util_LDADD = libstlink.a -st_util_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/src -I$(top_srcdir)/mingw +st_util_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/include -I$(top_srcdir)/src/mingw st_term_LDADD = libstlink.a -st_term_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/src -I$(top_srcdir)/mingw +st_term_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/include -I$(top_srcdir)/src/mingw st_info_LDADD = libstlink.a -st_info_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/src -I$(top_srcdir)/mingw +st_info_CPPFLAGS = -std=gnu99 -Wall -Wextra -O2 -I$(top_srcdir)/include -I$(top_srcdir)/src/mingw EXTRA_DIST = autogen.sh diff --git a/README.md b/README.md deleted file mode 120000 index 100b938..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -README \ No newline at end of file diff --git a/TODO b/TODO deleted file mode 100644 index 2b0baf6..0000000 --- a/TODO +++ /dev/null @@ -1,11 +0,0 @@ -. flash tool - . improve flash writing, still use word fast write... too slow - -. documentation - . make README points to doc/tutorial - -. compile and test a realtime kernel, for instance: -http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:stm32l_discovery -svn checkout https://chibios.svn.sourceforge.net/svnroot/chibios/trunk ; -cd chibios/trunk/demos/ARMCM3-STM32L152-DISCOVERY ; -make ; diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..9c5059a --- /dev/null +++ b/TODO.md @@ -0,0 +1,11 @@ +# flash tool + +- improve flash writing, still use word fast write... too slow + +# documentation + +- make README points to doc/tutorial + +# testing + +- compile and test a realtime kernel (e.g ChibiOS) diff --git a/configure.ac b/configure.ac index 203cc6b..f374717 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ(2.61) AC_INIT([stlink],[0.5.6],[davem@devkitpro.org]) -AC_CONFIG_SRCDIR([src/stlink-common.c]) +AC_CONFIG_SRCDIR([src/common.c]) AC_CONFIG_LIBOBJ_DIR([src]) AM_INIT_AUTOMAKE([1.10]) diff --git a/doc/tutorial.md b/doc/tutorial.md new file mode 100644 index 0000000..937e2da --- /dev/null +++ b/doc/tutorial.md @@ -0,0 +1,190 @@ +Using STM32 discovery kits with open source tools +======== + +This guide details the use of STMicroelectronics STM32 discovery kits in an open source environment. + +Installing a GNU toolchain +========================== + +Any toolchain supporting the cortex m3 should do. You can find the +necessary to install such a toolchain here: + +``` +https://github.com/esden/summon-arm-toolchain +``` + +Details for the installation are provided in the topmost `README` file. +This documentation assumes the toolchains is installed in a +`$TOOLCHAIN_PATH`. + +Installing STLINK +================= + +STLINK is open source software to program and debug ST’s STM32 Discovery +kits. Those kits have an onboard chip that translates USB commands sent +by the host PC into JTAG/SWD commands. This chip is called STLINK, (yes, +isn’t that confusing? suggest a better name!) and comes in 2 versions +(STLINK v1 and v2). From a software point of view, those versions differ +only in the transport layer used to communicate (v1 uses SCSI passthru +commands, while v2 uses raw USB). From a user point of view, they are +identical. + + +Before continuing, the following dependencies must be met: + +- libusb-1.0 +- pkg-config +- autotools + +STLINK should run on any system meeting the above constraints. + +The STLINK software source code is retrieved using: + +``` +$> git clone https://github.com/texane/stlink stlink.git +``` + +Everything can be built from the top directory: + +``` +$> cd stlink.git +$> ./autogen.sh +$> ./configure +$> make +``` + +It includes: + +- a communication library (stlink.git/libstlink.a), +- a GDB server (stlink.git/st-util), +- a flash manipulation tool (stlink.git/st-flash). + +Using the GDB server +==================== + + +This assumes you have got the libopencm3 project downloaded in `ocm3`. +The libopencm3 project has some good, reliable examples for each of the +Discovery boards. + +Even if you don’t plan on using libopencm3, the examples they provide +will help you verify that: + +- Your installed toolchain is capable of compiling for cortex M3/M4 + targets +- stlink is functional +- Your arm-none-eabi-gdb is functional +- Your board is functional + +A GDB server must be started to interact with the STM32. Depending on +the discovery kit you are using, you must run one of the 2 commands: + +``` +# STM32VL discovery kit (onboard ST-link) +$> ./st-util --stlinkv1 + +# STM32L or STM32F4 discovery kit (onboard ST-link/V2) +$> ./st-util + +# Full help for other options (listen port, version) +$> ./st-util --help +``` + +Then, GDB can be used to interact with the kit: + +``` +$> $TOOLCHAIN_PATH/bin/arm-none-eabi-gdb example_file.elf +``` + +From GDB, connect to the server using: + +``` +(gdb) target extended localhost:4242 +``` + +GDB has memory maps for as many chips as it knows about, and will load +your project into either flash or SRAM based on how the project was +linked. Linking projects to boot from SRAM is beyond the scope of this +document. + +Because of these built in memory maps, after specifying the .elf at the +command line, now we can simply “load” the target: + +``` +(gdb) load +``` + +st-util will load all sections into their appropriate addresses, and +“correctly” set the PC register. So, to run your freshly loaded program, +simply “continue” + +``` +(gdb) continue +``` + +Your program should now be running, and, if you used one of the blinking +examples from libopencm3, the LEDs on the board should be blinking for +you. + +Building and flashing a program +=============================== + +If you want to simply flash binary files to arbitrary sections of +memory, or read arbitary addresses of memory out to a binary file, use +the st-flash tool, as shown below: + +``` + +# stlinkv1 command to read 4096 from flash into out.bin +$> ./st-flash read v1 out.bin 0x8000000 4096 + +# stlinkv2 command +$> ./st-flash read out.bin 0x8000000 4096 + +# stlinkv1 command to write the file in.bin into flash +$> ./st-flash write v1 in.bin 0x8000000 + +# stlinkv2 command +$> ./st-flash write in.bin 0x8000000 +``` + +#### + +Of course, you can use this instead of the gdb server, if you prefer. +Just remember to use the “.bin” image, rather than the .elf file. + +``` + +# write blink.bin into FLASH +$> [sudo] ./st-flash write fancy_blink.bin 0x08000000 +``` + +Upon reset, the board LEDs should be blinking. + +Notes +===== + +Disassembling THUMB code in GDB +------------------------------- + +By default, the disassemble command in GDB operates in ARM mode. The +programs running on CORTEX-M3 are compiled in THUMB mode. To correctly +disassemble them under GDB, uses an odd address. For instance, if you +want to disassemble the code at 0x20000000, use:\ + +``` +(gdb) disassemble 0x20000001 +``` + +References +========== + +- + documentation related to the STM32L mcu + +- + documentation related to the STM32L discovery kit + +- + libopencm3, a project providing a firmware library, with solid + examples for Cortex M3, M4 and M0 processors from any vendor. diff --git a/doc/tutorial/tutorial.pdf b/doc/tutorial/tutorial.pdf deleted file mode 100644 index b73396ce73035085f757c109b178fdebdd3c6515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110584 zcmce-1yo$g)+mg-LlOw?F5Qg=cXtgILU4Bt!QCB#I|M=k!GaT<;I09JI|TQ?k-3xm z&wTIB{oY!SwN6o|s`jq!yQ)q#rGkhUBY=q&iE?nXeG&;o!a`!LZ$`qygTyRjXl3kR zLIMPEkUab$F^id6I2hWIFpF8db}$q%d}D23h{VT-Wba^S_}UW5W!f=PP#&5T!+-CR zeib3G9goK1E4$*GV%-qxr4|R%xygk5%nr{z1uSfI-37qmk3{%yXc$)9S8KX{yPE+7 zgPE*Tcz%pgVuq>EYYGQ?e#QrJ1xs=#aFrT?@Hr_21@)3j+y^fsU2d$FPK%a5NW7IT zr&jziO`m4)%A?ch`^Hjzuxz5k%RG++=GWc+a3o4UG(Bkj)LcJ#f9%1il-jcKJgxc3 zxz^Ez3Ws^R;h@L!efTM5BN5%fXHYOkkI|(N%fQge!2MLVD4h&AhaX*-kkK}Q>JK#UmA_krU ztRJuv0PG~JcLVRL93*UiRM|+_@2g!c{oM>jMLOwwpM#Rk?wG<-rN4Pm;gVTORz1ZCQQxPWE+Ur-aWvXnx^F%CzJ zO`(F~QJ?`{G(kCFR?;w&Xq1tzi3^VcElEWn@a>Qct`%Vy>CHTIjHjZrhoY)sLr$^- zR)`=@Z(^~-Zb~84dox~}Q_+_rD2&-Kj)KR*be%;5=dJp##Fv>WNJkpP@iE1_IGd-7 z8mmU{t!iuN`$8$}6R>)5rKm@bzLcpS)@rW z7>)!oMU?fs@4rE{0P^`;ng}=C*wRxokPvSd+}f}Sd)(xkpn@ork&^c>PP6*4tIwD5 zr(+^6{%T8HziHraZ3%Fvqkl6d&WDEooiW`3|Do|ejS0v>0=TzPur&cWNdR{ies5X- zojKiE;UCEV2q3J$e;hzm6~4>0vS8G&(Vv(QZ@XOw#nNMm3JDSHquLf?Raa{2<4_A; z@k(0K*-lR#Y;U{3rV2DGQ%ZT*j9D==X0A$2V9jD;Fj^ZxtC>W6fSYLL7VN>uBmIP| zDsfcflEDxzR1$)1e_^UMl z?p*p03I4q~+EW1LJm}AuS5^lObYP_C}PZY^h=WYZ#!I}Kw_fX16RK~>#)u)u+_?A} z4-%HJ4hUru;uK`{>lB_^2)pHF2WT;4UmQ!iyF~85{}`h??j~G6*)Sc>Dgv%~#O1tx z&O!mi$Oo64=U{3!nn3dLcHygfOAcPOj{lmOfnq9+Xp?wR_7c0x6X;*s_R%OU4g*}H zhTBRc2TUfU8u@H+Is^6q!CoW@k4?HP#smca!>1qtRa@(GR&HwR%_2UB$d3_+V*~MC zXtrc0sDSsNWK*S+;$nO`I)z5+)FKATrUp~_IJso+1saSGtk{GgLfx@jy zJS$aovOW+hVAp#a%^oe)XC8e&xL98T(9I$_vALJqgzTI!T5EDdDt%+RB&4hM*x@IT zMrhv%afK`6P{dJ8`NJ$&WNGBn}3xB1xp4!w4M6m*I;%Eate{j>t`Mkzeu#+NNc>b zbKD-kZCtj=b-|`KDVKc3BaFr+98HXVsP}AtVFmVdYi#r9FMk=RtmNS`6tx+FAiq2y zDpqN-g6(HIpNT9@5g`d|U5@Lh3CFSRr_oX}HQLv9*E0j5)y3+G%zlV4#&`pMbsd(z z65sm7h8cBVC~5nt%A31uhyYP7eJRkrk?U6{1?4gIfO8Zy%U2ExrcZm+xaa@20OmP*`TDdibfq4;d6F^sa|(&sLm`GTvxZ6hPZYgdz~& z{AjLv?p77lEWY@`!aWq8tR9kSr)SojI*b21zUB;^{P?c#Og(+n_f}M?gfVY}03h*I z>Gzbze)z4uYkODG6xllJrE`xjr~Bu;xy*73y{hIhGDy{GU_E{D^lZ|%_u3orXNYKjdFPeiLQtw+~$sTXdl&XZGZRAxekLYO-NNqAci<_Cc zHDYI#1a~E_1SEee4>3uxx0PxRncB8x#(T0Q!E)0bxaxD|Re;7(hj0b2>2``2nau3Q zKpdE0W;8k8U`+>5E^8#7{R;HjyDTT%^3k3TN7J*KXD8we|1{aP9eJ&H>hQVRX@4j^ zI)zs`3a$FO%o|k@~bZQze(5R zqnR5AmX?n~A?ttDm&J8&tUbFF@*?HIIIMxBZD(zB|I*}god6F@;PX+&(9~v4_U;<2N2j)*v8rp!l$m=LrI(_#7liKb*+^SjIV61Zod8KkW=@1r=qF!M5hhw_+VUJ=jQWmw6 zu{rM{?*3THg;$Xrm54*;M9+!}<`mS@XKfJ(5vOvRczrDzKludO>YHa!kEv-;uyHPl z=q40F9U8g*MMV-HenLP(ifCNXa=L+3%v4|u(%TlB#nZPzZp7{0Jt#{>=L7`%_QE^v zw8+Uxg%k>a+4M6J&t0uETbi}h>1Dnr6UwBHZ5m^Z7FI=u8Ts>GAO^dT4_{KUb|NyG zzYYf&zBs4j4D1vesn=tGVkwM}AiFg3Y&B=p zEJk3|JdqWP0an2H`5~EoP@u=w33qk1)x2I6o=V)b2R`e~a7q%Oe~g0_GyR)pRy;kH z=8IFvO3Dw}hT^@^g%LFF9c^cVi>r2}W?uS>t8dO4Y@1G&3geUYy4B@-Hh#h6BQIVK zRStalFg5z-^`(3yrG1Wvz-_u4C0bE1u~KmncI)WyN?OL6jnNML*{OT0)0hpSae9yK zhqqUKYtOAWzZJFFHmC~L<*CFVz`E(l}(5p7&-uAxZF~YC(2~!ojapugR?3 zRdTxO+&MY&epUFEYkgZFayMD~2K+R;$T~l=4=4WAwNhx42n_{4(GvRb$|-ZYiV0ue zY$Q|X8wP9I@DDCq%=%1$%gCAc;s-V)M?aJi$HEp06G#as(nkaQ8jCmISJk2&Kb3ZS zWf1Q$tXk~88D_>1xM$PRtp+i80Wp|BTTGrwnWUh-LHKOfWssJBq3vd*M1cf`$aE3H z=UQQ$jSQ<;_?uXRz{WTw8Eg5m$g>sptXvudh{;K-DpkTKVX8jT7JC8v!99taKb11R zbtyPizh2LnJvKm70`7Vam0m)^TnW7YhX;Fv^20}c*wk))`;!yifrLRswaz%^^180t?l{^c z|Axbo{?h&%DRrP%E66%84}S`1ZkZo$5JD|~h+j)zYBaq%arU(>^1UhiPr(i1GgnZG zmJOPX8bEnG235<%`h_Cx9@^5`70*Y>Iu{4M|u~MVS=8Ii>S* zNi3akGcG44T18}2Ss9v2+m@wr@K+g|z|A)~ZjoSAMtx4xm~mh#YxhR4s~>Dst}Oal zEL6pZB=}=lPCw|HZ_Rsd`4kHnQb_z*#R!7bN7hp4hpm0WqCHvH#=E^V`I0K^Is?Lvog$+Bivw7_U!m*2WILJQf@nf(~D4aw4OSF>`b~i{aD)xx4LwKvBTg zUw-=XF4Qk^y0fzxl(yitgVtGZ_vTnZZ-K2IsV3ioeLyZp5o&6mg=RAB#SfJS)^oh% zp7yqIiwL5?C^jEiSoG7nWJaOPj%8b%wASP3Z(l@ZH{jYs&MWr9^3twON6L^;xsg3r z#MtJ(%xjTo@$17$l(9R8P4Yd^w+o%`FM)Yxu6jeB@UCqbpW&KF+Ov5W`RWR@*pshJ z7~RWT95*CSu!OpbCYkw48UG0OP)`+}`${@SAS((B21-IF>abA|I?EhMLO6o(qNJrx zB*|nD*VHq@u7E_(c>p)+jb?ImL5t1v25(v=uGDfO1)rgTeyy_&Kd6_kk|{M=nvT<} z4T%GCs2T*W`;?pebpFgT+dQr>_Qx}V;zZa*s^A4B&#nsDT(}_$O*U`G4lJG9e0vW@DiSvtEu4{_ytqqCzRP@zhviaVmZ)D? z#3@gV7MVAKm>b=XL$3)JPj?N8nZiI5SQMbfLdb@*RNAqc+eh^Knei7zgU5ceyJZ{ANf^wWk0Q}ra$a4F06 zu%hcvhNYcY7g|zPOXamLzdc)mBS_*|0KGGZT`o?CRWnXOfNKinaogx@j;Wf=V0O1G zUPpvkoE95xbqM2zlSR?f1*5R2fJ4_#f7(kn#|l%Q;--e0++kTs4#sqIVOeu2bY*{; zmF4%&U1}!;IW*LW!^lzSp{A11 zMiK7FPtj3D9}RK+o@6d%(#kG^|AHnc=ld9oQO-piiKa^N<t z)Ps2!ATDn?${g0D|7L;p`+@7KeRU!yS{hSG7>EML!`nbrm*9=W1qxD0F`fmfxn^c4$>TAps}h z)kW90phN#y-o@oN9kEx@h*7BsWPY!!D%xyX4PHj;WX#Rl4L2`6S(JGp9bs-FpIa_N z59=mg`h|IF#`0vDZ!VKGRY)m~$Zr@*z6m-V_EmJslhNRQWn`fWJ$C7dI!9{>0?Rb_zv(9_|ILIMHr z)S&nLoybcIayD$CO=sV|{q;+gZUds~^@kgMqVlr2ZQ|ZiQUpP^6S!{ZjTZF7rrivD zp)pQ+dK+3IW!?dccFI=0kIiV)I9zxbpA9MQrolYJW`ahVz7W)*gTvBd20<9$G}&q? zZBF(qcKpYiF=ZJ)P4j)=Io#Z9iF4BSk38DN&V$v2jlx6Ev=g>vP;bBNqNl-ANxt!R z&JzD}W)DTwkh3SAmpHHXp)gghNz`&BSRB0#NPK{rw>xC2AHkQCPafkQ~ zR7VeK7b}+*vqvKerWij6QJ$MpYT|DrB!z08i%IPi(3inmKZ zY)H!v9kzDeYNj1Zv}}Vm#W&X0DD0TLk~gKViJ8_6m}~%?$~Hx_M1M*fnoIMJRW#Hh zIe5DuS>oupd;9F;uVhwj{DSh>?=n&YzDUW>0;G4!V?~{MEcg)st=jJ} z($~QPi2W;8YNnYmzCOQLQK&kf>aJU=9yU_i7s3JVVoh0;;+(P%QZ;G&Xku(rse2!r zzt>*M-L^?x?;FJ?+&cO2wIwYi9J<0r*LlT8n1>-L|GA`D&P%klW7gT8u(5WP(>aMR zH!*%QNd3LjM7ch%#a)6d8f~?tbTy={PNC`C*i}}1YE1Z(1E=%>DoeO&UZxf36{3f# z74mx%*ns7{NI{r#-f;N>uAVh9iK>1|{G90AYN=k%K8^!{g7(rn6QZRVFT9Uz^y1k| z9|q!$CkSN+a#Y5SaL>2)28Xx%y0;^fVSLGAt6hIOc+GY*O;2qkcRl?Kr)8((xBWt@ zD!Iy=ds5dx_T=>mJ|$tUa0_w)!Aj~<|JPnYqU^r)b&m7dtXDQ7^cZg`P@~^Vh%aMD z4~Q7>ol<=c)&4@1&d!JQtw>N8)Z8U}G?>mp0zm&(4rz=;PW$>}E}j%zJ4y%(W+zz$ z+S8KP5V;eDn>mEIkRzFlOcK;NpCU@Qo(w>Ox`q^LTp)ISLJGXj#(R;|RRFcnj;V%| z8Vqd3J#o!@JqW@JI~mBv!2a&E)vx z`inL*DYMmx_c60YT9uJPLA+Ja984AlCotkaP$NdTO=yIK#aJ!8NoE9a>k7#7s-mHE z!g2MJniiNCnoY<{cB28MZfhq-0u1nKHuz8~fIj4)lX)qvW0mQfiDstdoU={%SKmC| zTDF~%l(%{EHZp6+>&2QU6_JS{NXQzHDP;wb!G@QKKrtgz0yd?@U@1^BwV~s3p7`_8 z)r=EeYWko>CKi6<_ugs(D3ju6c(t~Ug^qQLm-tRT+gy{Lz1vh|WlJMIq zOU}|bLcmrTnUUrgxve9I-00;uimK}Id@CGXhG%PSVPpGvvTDM!5Z~U5SbyHj4d2hm zsx5&FDvJ+k(25*M@8G_ULs8YLGyxocfOae`^Bkvg4PjObc5Tl}ekWS&sKrz~3WZJ? zWKp4hkV^viXt(*%drj3|a%{+=4?-`lA#{#L?zH*!&- zY^23*}Y_6LpkH#H{ zRr4&z7~|pHD(Y?<-$Y{jo4K2yrB|<|Fu&oP!j!WjCt9uz`Y|UVEYhR$ zUQ)>-7$e}NY49Q~HXXUBERo4mY9R^PCKP*6dt|$D2^Pb|w7P9fR~#PUa54g{`i_d6 z@<_YXU|-{ovu$=*etQA2v$;w!WNxOTuhC3SeS_v3;;i5WhPAKz>-ADt(V%`XmS5a^;5!%#68#Q~-Cm(NirrX?q)>03$VacrbaIj%kd-+Y|X}?@h6Z?KSAD z@;aUPt8}i4K&Sc9bt_@fh2f%SdS1{7UyI?;!ftxz> zqUO&y5qfpe-n20^&XRtO&VBVse&}ax#oHsG{7WQRyB1(xRMqSot|yTB{GV(oA^yhi z{^P#p-g^Jt@BXWO&0qcQ_nR00;Unrl`fv*Rn+*&r+dsbtQK=#uIYWZcu%>R)rWAgD zBp&&(HvYrv@WuE}3me73IQvtogWV=(m-=F=K&f~qW+E3JB9L`64k4y!hOSrljxW*mhz1;&B-$P}bIw|zyR4Vj~ z#pFbo6nlJ2ev;VAzqGBB)UnhId~KSSfu*azS8)2WiUB#9*K{Y!aR~{Z<9P<^4p&O5 z>@dWJ{T7Jndkpd~7WsqB%s8N6T#0}p^cP-qIF;w~QvgYSjLGE21F_EFwjWUI@^EnT zTMY}ZUh}|E`*iSsm#JQdG*BY~C3RbGw@cigF)v@8Xh%b)wk?x`@V%^Frhn8JR z`)6kjwZ_HV`7Mi7Lx7@3^%USE>Fk&w##V&qL=&NdD5IKLiEur#a`F-tO#0H;z`~)g z=`|>(WbEnL@P-wSmO%@A3 zlB-)H@CT=9Qm{>_bY~Wk2By1dPe|b3B@A}yQ044zV zLM8_jkc1P&!UVpQ$;J8z0bl{&&%C=IcR%u>{ST}xB&{>T?604yO6HZ~?U z5)L2;%qbTOE0{hmuuNG&?DtZ*$=e!&EQ0HU^f>AvP zp7U-5Co5Q54-*3boOk+oq~czF9QX2ip#MR3e{%mjS8Qxtk4PVM^DqG$kOMsNpW1wA zeT2K$F*^%8c*cj82VFcuf+hb@dl>fpLLt1l;}y zZXlRWHcr6fj1Qw9X8&^(>pe{m<->?S`#}G~^*_<}&)XkqdgS_!vU?6d0I&tI-IsUo z54>`4ae+PKkxwv>AQBF+ce0Xju-tnY*i1lRXs$agfG;H7amdNZ0)}AcU;}Fqz`}l~ z>W2ZGtgLrd$9^ZFhdL*S3*39B4h~Kr7%3+^>m4!oLI!&(*o*J04<$S2oyHz$znkZ= zb}#qeIbvhIvz%9Bg2J z28#_G+rYgXKpVA zBLBp5*Z)tR-{*g*Kg`I=aYy{t4bRU{Q_u1-EA;0xLFmM+&IZ5uz zKke*siH)QM0>?nG_p*S+2^JQRT<&Rq;P|ig-&-Cqvx2F~G^)@5g|^6y7EChXvYQ{c+@d?*m5 zrZUT#wy!fUU2i=g+e9ei>yV5i(UHQ#G-Hf0=Uh(p99vUw$^ zq{Qx8J9~X*92^>M>p~;3UbcX&@ZcY6>w?RK0+zwNaKDmApyNX}Hg+cx69Wf7IC3p& zxTu`35Nw3aeZx~wnJ5lWFKVG=AwBa@6j;h(Z@AguIFYd)1FO>KW$u|SNb7RPG$_)LYxhWJ{&q(jay2jJ}_DR?9uC*~a zHg?pt!DfJR{I=|WaM}&F$yE1>NNh_l18h>iCwheRoj2|E^p4sg_$BTPA zr)|z1m6A5$8I_!uRy6g>G^utH^kM4diyDZ$_8ZGXCZ9`k5c~`1$>gLYPOcgV0eFbP zxi+7JPtYp7+uok^$+uWdYYR(;=;iQ94F!-#WvtMRx6Q6xcweC)`y-eHh(CGK-8^dn zfS_dm`&#A`m9SZk7Z+ru_OD*tkD_U6Vp z6fa(MMb%KmXFM4hiL=);UT%1=bpJHO=HA{GxP`Z#`{(nVw;!85%Wt(lm>8T} zJKYA+SQ^7Y+1%0xpKe}LV@`O=!;Ljf1U%nwqNefsv4)3`c>%hqmD!e|+I!V|n~}I+ zop|f{l--duP(4)=@g;geYyTOG~=HD5?-)I!TXVN8={xM35y-T3BigD=gUN!Hc<>k~4( zz(8-?k*C8Rx3T{9yCTkp(@pCq`yP2WrxLc@*ijp=>NLg4~y|>wFG&KRp$_8D$yaR9&2l6C#YvGx)~81|m%VRy4I2LaduV=t(op zHGCN~uHkLwDUF@ypgWE~e-M82*?Ch?=!(Z%aBC8sCkDQk;xW1#zu-<&PzrXl$q{@* zC+j)$MX^;_{;k(uz4xvEp5f~&_3t;h^|36MZ}#QB^$s6L!XLhZO5wj~DiLIgxZU^U zV7Y~VyJmTSekM2ji+I1`IXf73)bh6Z^xClE(tgxE!D-LqHt>e`*`O!sOdV+5b98TZ z`xbIO`O262kQ=*zzvWg)Kz)Hf!kxp}t;yqtvwmVzKJ7*cK{+3E0lY0=x%9P09 z8@`1q{_ML~jA46XO&l%!(q#qFGO~M>%V(`Cn20Z;Yw37xS`XAXZEN5S9mP{O#Y~dV z+P8A^h+dSi=@#vDUrv#zxw?HqwX#Jr*8|>))RbmmBzWnnn#^Cew`lP;KQD)^R}LVX zY4Jyv1U$R`@lk%bp|r`tkip@dylGR2@Y9>G4gq{pj7l7t>(rtVwjBg$v~eI_QWVr_ zf9_ucDKjrCO1e4plQlFsGe&5}p_q4M6V?N{1}g1TpB6A_+i6=82zB9Cl$lB~N4M?) zCy{mA{iE@(kdsqi=?5hEUjAG)7_*i1cw$T7E4_X`a<%eesJpIwR%V#Ma#WV;2}E2* z(3W1k5KRbW-%tAPfKXH*0{B*sZWn^;Pu3P$Q%?tM$F%e!$6=Sw_Jw^GaYC6%thrw~ z*3JfJc0Bw7fCM~Q=^hUmR%k71Ew!^SHc)BI5_u`lHjZk>Uf#%ULaTy{xHYWllU1E{ zi{iTe5%|4+|Bsvp1|=GvxSls#d6|bP?Vsg@**Z{-25~|J;hoR=<3Qi(&EJx*8M36Y zB3B^{e=0{QB~4yN&F4bVqK0Ba2&c^xSMF2B^4WMNm^+mi7V#?2hhECqq`;!ds|Qm_ zao_FBD?Fv`Yn1#BM3@n1r?34$R{?PzSu+==bNz$q7ge+uVZvglUy3i^9a>1Tpt4U` z2;16gxcA$=ZH#MsUPQWLWhXYfY7)XShxSxU>ZS;LN<&AjG=5~1bj?kU4Xr1aSy|PW z)L>xV%UH)xHW;0mxYF<%Cyz;=kaGBJx6RPbJVVL#fTI8p=dHZd)tGTHq298A32Of9 z5~Ho^#ne}o+J=dC!JZI~I(kaWOmPI+=c7xx{%gYf5yUm&(^;tF{E9@PI=Y^FahRe(ws?TxL@ByMVBa|-*x5g0U@|6UFzvaqn^s&la1_ptYAwT5L z@{5MCACfCT2`4yacZTVAH>FGft9esMg|~>Pgg}HXb~j`|rSwtpJSmTa)+!-Ne9AIM zEn`!1^Dp?0vt*|cE-7lFmz3~n7@s&+RP$dNoSk%y50E6U2mH`zto!-VWq{1iqEU0t z$j5f5+A$T>R?m>uq(cT~?kKX(7W* zSkkYxc9pqS3iRucv~^lFdGmr6NYaIKcPbNz(D1dnsov}=Xf>RKO4nj{to(%1VYEZz zA)JO_JNRS(-533fD?`2rgW4RgExmgALzT3xgSAPO-!AV<{wGhAPVkKIOk-&52$1H;`8*a9n#d``t#Lj_&nOj;dO7KBXE z{qQZQDN>ywBhAB*B`;2oPcC)vYSZSl^jM_z29`?N>nbhmijh2IT5;FCf&1`|z8u-} zSXtLd=fTnj&Yz#RVSL>FkSoc{!rHozsn-6yVUKpk{+qjX2`m~TXxcqNPO+I~aITnK zK1@s74dwt@xWN2p0E7eW+9snMUb;^3fcrP9pm&x*F(O|OzCypHVyA>&iwze^r^{B7 z&5vTUQ*0+71~x`=ojPM~36*Thni`=`CEfZFoWCY4C=lhnZL!^0C7&obRPzp(l`AUQ zW*6RXG+B3QlJ^K7EsU`FI1>&Ua(o%ndZ>y4`!#C1(KH)g(gxEEg&3oqTx6z7;|t$K zuNK5k90FyKf9b zg2BEJ%(r8alc6>X7VU`Wt<%g+t7SVcaqH!)DGNP@C@O9X!?I}fX>BUG9hGd})&6{5 z$^4(CB(^23*y%6wkl)A z4b#PXd#JhnO`_|88x9admLhP~)tIr_h#6C4Pnd)u>U1I(H5j3w(yp3I$kg)AXfH

Yv%9Sf^jINeSn$mk&r)mUNlp5nZO0ealqe!zwGB03@6?2TB>o&4?Y`RJ z7^hrq1~Unrn=|Mu4I)Uf!kATLpkw5ba4H!SR}G-!YRz5TQ)LVYQ(3ZR85f{#g>-Hi zQi(@+o-b!Me0sI!7Wsvi=GTue#L91E4R;+YrQ)M|D0r`;Qzm7K6xea}oeTxaJqe^m=jK1PB5X{v!N zJh?;rMwxNseb6E8FUm3gO>+9dr=e9t42#=29I@nu@Pq@>808+$6G@+x7TurfD`lO# zT+3{HI5Or!I_U+jy|48Vtj**qZeX-`or0x__be2*p2H8!D^H z47s8erIn5lGx&3a;|s2kj4Csjjh(>tV={qTr{}-S^tq!hpB6JftmLmrrPT{ls~2$p zqNJFT34fNj!$$Uj9a|l-=feu!E}(|#gg(wy3%AU57|z7wNwlAj0xEh=@!U^oLCG1q zu>ll_?|rYo3#sWC%PLr566zJd1Fdu#6QmXG*C0acw3wi-DK=(di2X>Q@q-)oF!Vv1 zsZ8%FVcqPR!3twNFwyBGMK$uvZSfEc8 zge`nvp5KBw6Z`e~MzrN}ziC;C7*vk2m7HJN)oLm2r;x>L)(W6yj2pDDTc=@49`5@? zcKH2f*3@1dpSNZN zqR{C$y^~U!nx@8-Qmtgwa?DXFYEifbE4B54$q2epb#ZCj5&uE^bpn`b+gmzg2-;I;T zf?zJl;NYOf+)t&pQm-dy{1?BTRIpm(tdaku(h`j^BPsP2HaHcHMu4igT*(CkWTCODhpVQE8 z+e27`oJT0V#FG<1Cj~qrvvJs+8OUha<-3bjNIPZ&$UBGNMv zln!Sf_(%je=b_|0Z-$;`xyqj+8I(F3y!AHXKf|IsF)i@y-};4>GNxZY0SFS*$6yK& zu&Pd5^Nd;r>=pQJE57eR2neH(tv5uT>mDuJ$_ z++@=0&UR_DG~-@6*OnIv53Cydz9Gu$Hmi^`u+e!+eRljgTilmFtKXD&i@9U?R!JlK zmn7AZcSfjjO~}}1hE~>|48)E#cxPlfEDD;|Lqh3^00VmX)HJqK`phuon!{3Z)Yd2G z0R<^6M$&|G2}4+-k%~c+L~O(Ma-@2OA9Bl6oBW2gPeQ3tdLxcylR^G;G zs3=4AIk7vIIz9zy^9J!4rS9#j-!9dSljAGhN{5~y&HOS9SmKb}39inb<9bJo$rB9EgVlMnkGqJwl-1cO z%l8C39OynbzNf6Qc5q+XV$hACqL+ntGRo{1@S3`PzXxjCJHPva#c&{il7hPVbsb%ZwtJR0 zE>8FaS5as6s*k$SuJL+$WnZ*ay@KzwMGg5hF-4$(@Ca6=R#hO35p{+1>}iwWhv?Q_`OZ_A%2-qq6Dz| zkySS`dw9gQVqkdz{So$=FfLrTjbek|Hh#*0`1DQL;#TUiz4B1mIl+$^Y_jggh)tf` zEAMxfz{LyB)YO>TLp+>JUzbn_ph!WvHm$`%anp7-#@ExBBr#E`wr#eYY$3w98x=Bo z)Y$Dlt7gUd@0$YHl>-b0dA-r~TpK7{m*f+9f`P8dh1j7c(9~%bVo!f*=ack`%(PKB zp1jlNoO$t$e3%Y|=Yn2Xx$Q2E&7RL%mMbI1xX|w*?q7E62xIy`%rmyu}Z(D_)&G z%TCl9YD^D2h|5F!SA z`|PWYRg%kS=gZ^L#pTVbD#A#=)kI^G;?ubQY&D7es=#ew=>|zOWF2j#r@`o?BF8a| zh6CVGY!|y&n$0Tws%IpBsrQq1HP-E0j*KC5f_Qk)mPxKyR|5v*!r4INGyA?>x4`vvO^*a5`8 z1t0KK2+4K+EDqm634{(Ubts%SQZm@0n{-(-?*M{f;QlqNVIikq;{3 z*tSx~sr^bphQ9qyvfI(?1?RdDb)(S?Ih~BDM!5vX(C>wpvg{4!p=6Sngs z35H6K$oMs0w>6Lo`;iWYGBS@KzEjiI42LK-Z>+CPuuq7ZA#4;Cy(*+oTIt+Ub60u@o#)#C;o=|V%#fijDb&Ka-La!!HzM9~CoxNq>4W#CG9ZUjIrJg=vwof1~hQK&u z063HcV98wQvT7S5>)8gX(ao~4!FQ453X-N`?holy7Z=)V?Y9G|W_VgF=tR;4EfrL} za)sSB;Mo@y6bXTjeYrYrJGQDF5a0ii^l}fm;r$uy8|IMx@Pa`;+44 ze6PfmzaP1t{V8)eAxlKdF@hC0>#FG}eR zb&U=RNy&3Q;+B^FI5R?5$~p2C=MhE;i&=$A6*1P;*3Ed8q=NFH&Eo}zte^Hf(m#Zt zdcGYbVxD?CC}venbh)@*BJ!mr(d0|E{Cu`R!t7VIdEkg*DG^*QS9;vwdTXFKiVtTr z$m--X)EOl=tOQSS{e0;>bTcA6k5uD*nlbyFxRPqYlBD2Y*Ixy4ZolRKuqhtm1@CyYn_Me3x zdVP`fTfB-hHGhgO{}TQA>)m;}MZ~G86lZI6bYM!)f~g|O^qxOxtgtIeEd z{j+?hv?w$r2qvzJkmqY8h#N01Zb@mQJZ#%!&&dSTTl!5B>BmRQC3php10dO!&U5^) z5g5@gId+=(?XyC-2HVjc6n=an-TK@^u5HaFc+52b%9c-X;wUEDCrWMSWg`pyrBAgU z96VOT@=;J=jkI@#o_A~C{h}!Xhh}xKE93)L+e>3#N|>D}S$zZ|jcS!va;5LBx;Jhy z6be)yh(@EtD5zA&f7a6syI5+aL8kDg6BqKG+ohMciqNwvaun3&XTG3u2`5Z$vU{pG zN~OHIyEyaBpL0s0(I0k7HO3@iSsn_O=APkV8tE8_g2iRCo_@^;ZjD?;Iu1T zI!WG&3k8^8TBwGq6EtsRD0Iuq#Copk*B|-23CIr9Uan^1W z7*h1G7Iz)3E?vI66q0y@r(Xxn>n4#NGPIR9&CHRZD3~LS<@YU2g5PROtKSd?MWT~X zrP32PWO*TS*8Ucr(Yf>|d+J%>6b`kd`HM#Wr|pSYKM)VcY+(!FKMcBvZ@urE3i|=d zqu-Z**;^LDePaQW=i6OAp}%rr7|D+&MHzzCT*d3h(|&*`EXXA}WfqtpFV8ZoNfzPL zM`wniUCbC}smFDk<<>YOA<9*Fo;{3|5_r;`QUnT!b~mONwbq^<$dfhRZJ#2_nmEYt zxsbhbD1qK_a|xy=P*sYAjyQ&`D;k7#F|)NN$`pJe0&)_uBuy~i1)D-F}7CcE-~o{FrFy$%$6g|pr$*V>-cz9`$D*! zFk^g$6k}O40ZYPnwH^p%WO46jhvDvFMO zz#S-A$189c*vsY&D8w3?BDybD8d=3r2O18tUd=(GfTT(rfg_}?6o+4C$t1%}PNQ>j zy1MU`h%oIlE`gJK+Sp~VkTrDajIvXVdxgr83z8t%6Nj17HhY<$^XVSXc{|9JwCJHhQhzEui$6dhwXv9h&e05m7QEBL z4PpvaAj+X*lbaTrQX%;)QT&&Eri>wsR%>J*D)g|mec6hnt`p0ruKMDgOS<$P1d0Q# zBr+yZ+E8CD5G0OK3?x;A_pi&N*hs}c=Q5jsVL317CQBbBmpEN?`8`S@94NR2iSI{7 z4Gf_hy{M#P}gK_$CJrCFOR70SoCxIS>kx)Y(SCMc>G``0Hob@E70ZTVLmfW}6_ z20-xs7I}-@pV-wvrEdWe5j0ovfB{j-4uT(S88|G_j(W zQ+Az;T8)XOIq)gPo&#Q_p;5cCrAxVZ9|W>ZTcteySOGGzDjSIGL|KhvfKt$Kh`xj= zBHw+i$Jr9kgZma@yAgF(l@@hxkSibC9-Y@BBbNQ)0U{A8uY7cp*SqiBVNt<7=d(69 zJFD2)K8=*<2|u60X9}zDWTJRWugOZ;uY6x3-*beI`Yj1LptdzLdx5Q7a%C(86fq8j z_m@LV=^+@VeJwK38xhV6{xPJBaU{gM>ydaBy}E-GjajUxmK>&33d=0F=c6GGs5_^x z)6Xq1|!s79Femu=Cr{?<8x8V6HepeTWAq7n#ggr5WTB;vrHg+ z!FzVI6f(>S`E)7f*g*;fWrOv*oy&h?x-`$8&Cy%tv>dKaClhTOlCA6^YmatPB2F2I ztZoV~L1T9=GJ(H(1D%Zvxi&6?|KI{IX`%*hO7@iMZ|LfpFM!jvdC=PlNGpTm5d8as zYbXi2?;A&zZL0!)u(bVGL;cQfTXqDh%x1aug0(;p9-^!Un&c#fu-OTL3u=xc){Y4| z8tuV-neEA~r&Xb5Z7WD6PNds4m(6BxkU*m7)%qQnf^(i<`t0Sp_DG7J7AKG_`-pN` zg{FrcVNZW9(|mr8)AQ?3ssXKNIK)jySz+pcs(`Dsy_9uF2u7~G!bPC`J5e*7DlE>M zjp==$uSWiP_IcS1E8l&PuReX@=w6!#d6eyKA7IEP=uPjX^s>>`_>GxtP1mt+A(w| z2N7O~OfqiAtJ4vU(zdgiQcRVJj}xoLA*Sf5*gV2#Y{$1!G};;5(AKHhI|b4C6{+9G z2&C8UAH8MdY7bpr_>PB2)yc{2nHJGGtV=hIY+22#z#LVI6>Hd}p5_)CjZu>3y}I=} zfuDo!+c-^)&mYpGZdl71$nEr2#n<4ldV!SU2jSKZaILu_bjXZFu}QPbykQe zZEDRqp@vjs_8YzV3(Ka1@+V5V68baA-t7aFep(sG*)-^gS~$tqw8(#6@RB$n^}cXZiU83juhuUWp}cc2|LDJgx@V}M_#*O zNRagKvlc|#v$#10X__wsiGGyPM{gD%>CXK8V|m0y%y+n&u1RE7dle@Wv3^LLK&^{R z=OtPxttxk|J_Ps_LJ3U4#woBa)Q!bm-$c7WH()fbU*Hf5f#l9aEY{;^8piAHSrt{# zXDrwb@jK}|E^By|y`mtFjt{O0RJRWt(nc>`TOW_c;Z7zfT~}!ZXimq_JYHl%zDM?S zRBVovQi1+_V^EZm&|!S1GCj@pdda5d3lV^_uT`{e#kJZSg3{SUHcnc_y&LdR>%vU^ zC`rQ~)MZ(CENF!Ij0}3}&nU94F999SxdL(x3m)iicHOTlilOM*e)PmOuOd9tSZv)U zl2?6)2=sX($D%~Pu9YqDWPG{5MI;2xy}uz?Sv^;3Ql4WknHRa;gc%}f^s{#hVS(R365Kt`kLj}UV+u} z)%le-IG|Ot1(M3h25j^3Ti-^-y-BU&dQ zK1TG={*d>+_d2hOaR!6jaanD10Gm^rD51R@JJln1&{T6mfA}%Epo6ko$LMu> z+3Rxj)e5Eodq)=}UznsF0VWDIma4enoLXh)XbFyhAl3BWBq{2RGiWRs{=ltEFj}>4 zdYYsVZ66isn958P3HEtN9Br|}?1USuUngN?_F>q}Zx{*~gl8FMYOHFo6KSp&r}BHV zWhWRfjN`2fh*nxGY$wZh-lqFjEz{E=ROeCzaFVqtgxwGOKd8hF6MMF$ z{CctaUw=*3KutSUlRjX@dEC6%j+%EyXjJDdB{X6fzs89`n2HZKghiQK>*U+oiHi40 zAvLAg{!z>SVc^N+#l%xRg%yQhjQBTnUovr_8fqANZtWV+jlZN`b1(38&qK~S zQjNTi4;yyi>I@Q>o+&kZ7;#F~?Z}-))1;(-NhcqN3gdG$y{H|9C6<7}==I*TO|Mfs z7~j}pJNy8BzdH;2irN8y#4Dk}Niw-~zHSv>Jsxs_&c28Blf`6a1M$(=fX*srxvnqo zfF1Ag2U>dY9TgURI%6lBb}?E{Z;OEt{LsI)N^9tqXQvd5H#gnp{1+AJx%JCCRBTfx zQWuqnK!Fs2R7R&}kIzH&XH7otuUVpoJ;DNMeVH$;cP z^0FV418vYfK>g|8{(pNkex@>&s}YXGO5G+TH7)v3f5UAhzz&4gRU^&9<_iUwVp0kkC3O}SB+TxXW9xah>14ov zy4+eq>C-tPF^5iT^u-op$&n&l9lmOp6z_2r38DMYuItmI75W9o!{6 zDUUEJeKEIC)EkonqduXUVJ6UmcsB-K4y7V$-D8o`D)1tPY|Mq!^Sr8iO0`N~FSDZt zZOCBv{ciof*YYF(`<-E=sHhuBcucV4};h{dd`#`=W zcdRo`GT6k{q>x3uwQ02T9Vt|aRGEm6yibY_`UWdU?die6)c(Jo^y~K$F#h7Yd*?a7 z^7`Vznbt^{iuN1U!z$hc3Sq@D^opR5sPL1dwJ&$_D!R-h?nB~dirWF)Tj8KH84;cgYGmalI##bX*>mjr3&|Haab3$-*n!2^$R9DmQ$Z z0{zPBB9G*j!3x>F>B%I8S4*P%d;a^%85rMeull}j-MH6dBX5jNjxQhb-yaT(L4(SS zR$DbX5&5kL*G4L(ELL@1AN9gtGlVU$P0R6BY)E-gzxNE9kJ>FMztpU1KB*ddP;2En zzjj!A%D-d1UrQ++qGslT?SeT4|DknOvig2=R0#NR%3JR39pcv|) z;w&-%r*cu>#jM->#yPHN*Lr9JcX54`v!|IfJ(;ny(8cDH8(yO8?f0^+R>^g=| zLQ#MU`9@!h#Dx(Aq5>Nbw*!*9d>qKUiIml8w}wG7xbfQe_pDOd1@}5#KxXFx3?k!i zLVyQj;At>ct0u8$pF`Q}Nuifhd{@KzNjtkKS!eZ=34-dgam*;%%)GcKW4naZ@y$r| zMeWR$5JebQ+k-a!qU?MMe%EF2KgZahx~$1k`A;Z~s}9q*zxH~xhzjQcq--pKgRvW{ zzPMCjjec(;{llt=kpL`;)-c^8D2=1i*sIqruMy@aqbWKjJCZiAsW(HmB8dK(ksd|5H161+WWcDrLe zi_cDj2I?{mKwD9^P@xw&)X4m$ZL(2u7!f?fyEV2(mvz$CFOrI6iYVk_)Zjn??!6Mx zv@eXb7E?W6!S~NKqWrE`k47PhOsmbzgS_U*>GgAx6JR$vN7SD)H22ENB*3a_c|EZA z+cOht%D7~Y#D}|6u*f48&N2HzKc-pACJ&0M#%`zv0Nq0-aPFX{pm_%mu{b${>%%!}Da`F>B8_D&&%blmZa zheslvep3~%vS_XRp9z8`3}(zRjUkMLbCG29VUG9_&u(Z)PCD3SQ3L$cCP3AKA$H>_ z{7qQg!JdVld6+12{&V6@GTLg<@A`plo`hjTown?v2-f>b*~pjjZC;(&C_H+UchxQP zb%S@|gEvN2HnE@g>}fHVqtBFvxp-MuevtTlz8@Hqfr2(F1P?3`9GxStkc)#WE*C7G z@9pH-i>8q1PY-iD(f9|8*tj7qCS*hej|ahWwRN`La%6p9dADMazUQHlo+j2sespdJ zF(w5!>?D5wFJt$Pnayh6s}HCz^k4Y#63m?FvMW=WM`Rssy#Zr4;4f}&2Rfe|Kp;UsPNjp1y^Bw_QySU$85G_ zOf>HhnN;(fae7gH90`I(j-0P2db_YMzBJq`h}q(cz{ulq&6uHp`bj_Rh-fbLD%}X2 zASWwcTp}2gxhhiw=0yh3B80ILaU$#rTJvI;QG(mFc_xZQSB5aJ_X8ZpbS1G5AM~fw zYs5mGmq%eFTr(Zq-cM2FR^^)}P*Pl{F6m9ycJyRCsZGGxL;f~Nqj#?FKOt-siVfIR ziSYv34IU%fze$f=ZI3UfyUWCOVz66F6vl@bj>EKX`!V$roSCQoTjHEBh(US>dKIEB zujzZsVwg^GWIX5m4JlnUNDPg_$C6le0sY7WH+gRHh(!c%qLC6h2kkN`Tv@WDFP1L70TwB#PO$KaEIjlNUZpk*11&u)* z@niJ+Nk6z!)I=|n$!o1HfbnKzIO&z{Q0mu5Eh|kFK7H(Kt7~mXagy_ zN%HKXZW&{mdk2ZcYT5xt$H6^dbVq8on8#g9xUM0}3pR4x*#~3GapZ%~)IE#aBbt#a zuJsQsjr*3zb&;&GE-{Hys&+Z1q|N;gg9WW}{;^=a;Xz_{4*f!6>wpK{F36%#|5@|O z9$21Wy>$wt>H^c?R9tyf3dmq)U^qj3oG%hX5a$Fnp)SIC+S^dIXEgH+=gVi`$x#Y{ ziNu_&e+u;wX@}ngmZ<9;;w$?Vap>=mROpskYTOk)>f1}ONOdVzmQfWYyJINxPLOkF zhThvT=Uew^B;p}NXL2QvPpR@vzSb4_Pu@CP<>%MorIrL)qsMS0I16wS```@?kAtRY z2j=4(R$;B>%Ah$Do-q+Qy@ZFf2Br~@Na{YixGF4BZVsg8Ze;pmNC4|y4qfFK4m%vm zR~KnG@zpGJ}?1-p#U z1}O0bYlVanpu9`l;Qbz$wJ8iumU_dRWz4}>h__?UAY$(`Q61$j9f>H*rQnvTwWu-C z+4d^M`sH^kBLTl!4{Hl*L0is2o;}(=Zrj~-enFr8GPie1X`#9_p{yl6yJTJ-?6Q5K zI$@pR;Yf3-C5)lBp~GH@@VF)QDeJAcgsZh&q4_oOE=nxSGX1;8Z5j5+R!WN%gCi)p(WY$$RLb=+k<5%a#XyJc75pq|!90)ImH*W3=`~-am z4*Ns>1P3q|t5$Xbvh{qKl9Y2_2W5sjek%#lzuH@Rk^UO$j^`#Fh7eOB`iCOtiRu!j z^og(8FzY(O@UM42P{h%*p|O#wDu@2jA5VAfgd>R)1<)rs7<7rS`4}P-J+mcp7x2^ z2G;7j_wsr58yR2vWX*kJDU5oD-CHGxW{JW|@`aYapYjQ6SspuPCl(SHqd~bTqURzz zY?*)g*RLs(_8U-3l~;2Qc7}HlM!_Z`WP0osPe^H;eDd%1j~I!x&eZv`z0B zYcb*@E_&oEq*}>|a1a{l3iSS*4bb^%Bum%jZ@Mp(_QmDme{=c>_3`c$mEGeV(F{@lq$DxaC&Ld3G#<@}P%5GZ2wz zcfd4nL`I9pz{k7d;4KizXSIEu=dTW#Skr9KqU8R3aVXeAPk%U*jurM-;S-kO-Qa$p zQCui2=U5?&zyapOFIe|Y>2z}@|GncuRbf&(RKq2*k=E{IdxXqfmxd0OD7*smA&O#2 zIbDocq>6&fZls}6vB&+^xw*lKH(AvaTIpum62&+!aj<;oKOdbalst6MoNC)m=D*BD zJbuGgg>jlFy7#rcf=E`YrpUjo7ir`ok0;;Nd|?V}r#30uPGdN`)hp!z*6pmFW`LQc z^$*odVS47uTseSiWN%x)YF=kov~78IuW?B;+|oU>;mnbgf;3 z3W|p$1)R z++@kH-dyMnJ!)Zqt=C`Sh6$*4$?qfxFkG*zb2sD>T19Nb8rIw{!Q}3xoBzw;tGGQl zTcr`aXuOahV&4zxJ!_MGI1W-?>CE%Q%Y&|ccwBXWE(l3&^KkOJwzMtA4ZQkAW*oT= zlnSA}>tff0Wt}@7#9^zV+=oWlmla-HY>_RpET7wTZMiEPc)`xZ+Hi9qjXl&-a>li~ z_8kRZ>mNtJAW5k)O%-s-nL+LcJgn`jA|Hhbo?}Zx`Z7|sfI$SgOLXvvTFm@t1U&{- zo-E}o+sf`Nb}L36<&!!5BdtzWOl_fu^Tlc0-?!Ifvu?ogG}gk# z4O!^1*r#3x>3xHGBLr9reK;qAL!b5A$^yh2+KH90BMJpeE_WVyNDR>*?976w3$pdy zml6?|86EFO_!Njpvi8x{lu!&#MVFAEEql`+S??G!GHH|mh>NI7x(%$26|YL9N(w5S z_`d2Y4SXZTZTsjLH}k;#rBu?`GpJS-r3F>Vc~U!d^kcO2$l)}DtC*iE#+S-VAxpfp zlZ0mIIT_uKSQi^9`;BK+ex%?IPY1^_M0Dq|%BfjTJD0$#Dn&ee&3ct?|0FEu*saad z1-dq+P-&SieST?B^i=+_thtqd@W5B|;9&g1nX0j#Jla9r(%oZOi)&0B> z-?kdjH7_CCH|ww)F}0+*>}81`e#ECR3yu=Ro4jWwk0Fhq9AvG?6_seD1?pUw|L1a|i zoW_?od$et!^|9#UK&5qnv`pn@m>L!S&_rJzc{O>;QZi(gkF|`iT-F6zRk1>kIbkcs zB!OCWvS61h6=b3&5jIbzON;vUL09q|%f=x{%k)buq$*y3#-G(NOgr|{ABqr|p@h2Io87}N`L;-4UX1xk2v zyCY$dK`*JyxiX4&C+wF3pf(<#P~cqHxw2&rgTVhrz*Jj4qtlqe^B?@d2tAm04tc3{ z-gw<~i$0qdH?Er#Kk2NBAqeeTgj2fostSxtdt%hybU39syq>hU1s)tLlGYRaE>n!P zso9K(RLj6(3>B`pc&0idOg~loa+=r86nuB~&dW{C)!Y4+Qc#PJm>M)my6K{Z=_o*$ z3ok{UTf7^#g!;0Xr8l@(+FOw<1(r(fcQJBAnO1BW)-_G;S=zCTZ!#?TZJlw?%RbcK3g)=Zn9hDx3=lJ&vKkJqpC&JJ37t+dUYjbn- zKu`G|r3r!ZDrA-}?(@qI08xn4K7-AP)HD#n=v8=KlJdTm;)&Wo=Ia2Mm|aXP2hsw7 zN>DlJI(H6v5S_2gJPkke!Eq6YL|{#pzS@$k$*3rg=AJu52ZO>33Q@3$YFgX=px&;l zAMEIja9<4)#HSFX-Oi3-Y4xWtOpvtR@I5f@6 zf5VJ(I>`LSsJDGZmrAev3Xz{&=T~Iv z1O$vSrAAI0Nn=Y4duWDL5f*K&AK3~p*cN7e4DsIbe>bAe*Vn;u$1W8#9{5OKqwPIn zMnK_J-bO)>Q2Lc}?u6y}mcXnX@;nV8ayzm4$#N$hh}JgP-ONS)h0EG{q3rB;g7}ai zrvu(2CZpj`L$95jxCpkP~#{r_+S-DHb6Fk@w#sRRWcYXsdtkBI~MH7FxpxP$wLSh+C^p4TGAO znB#B-&Eb3Jk6xTf$mYh*$f9da1iL1-`&16{K2Iu>{aTJyt5hfQbylA9(l5hAw>c%- zn+#%$wVqG3dxaC5K)(#WNe$#J>rpxrHx=lh1$BqBe=N!cN_sBKymQBNK1lD7_~$ZI z+SZZqQYhMQtcVB+xo91#WO@>+SvUhT+4GGm4OIUP$}2rKJ@mPOaDk_xQb$+@7cBO| zWJa+A;w-?+#t)P&fi!6*HOz&`LN~KjZ&hdm#^)C$cglMNv<1-xTb``v$5Qc*m}}T< zS&fcm$b0|)p)@o9pW@no2%505gQ2~-oujS&4+im5{-baGljW))B%>rLNFyX8sK)RE zNBpGSnmQ0M|L+!p{}bLy$HGcP$M~NJ!@&B3ov{2!WB>sN!~e2dSvh`M3hCR48=IS& z{S?_*VF3Si^Ishu!+(_$j`~*Sh5|OGR>uFi6pD_<)++z8PcQ(r|Lde59Oma5X8QL3 zWw%lS1OdVTF@OX>3Lp*m1CRwM02BdA0A+wazz|>rFb4cjPXH5uiMg{ez{Cn*@{>6W zFa?+a%mG#aYk&>F#@xmjU<S}Pa(Uquob2C?NqY|ySrCm|-uS=LmczeJ8wQAe; z^|$F1wuxZX;d$4xdz@T+xyA2rKRoH)IfSRGi3?gQ5Flu>zuL|SK)ARRu(-I8C@hUd ziRE-JeDY~8AlCf8H*sK5Sor7X#twC1;2|AU5p$TZZpdpI89~?EJ6c;- z1A3->n=gRiIYfNJNLIddhr+%Y^*}z}?SL+5FTUZQZLhmQ)K|YR;h32mY8=4UJk(b; zfhH=gdV$c*MKDxlRmp*72p*D&XO;$cCkamw8tTB)y0AaAIgyCyiXecxoL;WKv?ekt z@wBzov?{E=&te~|f7=ez8Y9Np)ztsoL>tkka&|!?)5^u=MyJ}hS1aoi0>KmSH?aea zN6f3PweJR=dgDc9#zv2Q+;@{3D)DEmy013yhLx372loe14Jy!uxyk68Du@g~>}Ff? zse8bd=jD~1lO1GYdkyGaJvCtai}Z&Gvf(+#wQ_e-hcQF9=~tL?`9=*v&ZYRl`r9hdNvoJoA2__ z=J|J7lB@45xHg|^c%B^}CQ7c3NhU1*XVVY(m6p|sEuEEbK0xm_{r9)YcQxgA_5QaH zO`LOm@TF|%=hAGE66sh z@WfW%Q}?jh;V6|_$X zRkrlL%|{;wAv_?JRlWgey~Ot) zlv?E<-$RnXEn=s!+?$XscEUFjpRe*^_rP{Lywj!FJpxb8+pO9VX7SE8Y+c1saKf7l)x(Dv{KSScL!Ecpl!+dAW_b#5A%)vg6 zV_z!ceALE1<%5T^6h6o+_#YI+&*`n>>xyU5{hHFtKTYkm=rVhKB!AZRtEeId`>=Ot zhpqG7RBAr^>}Wy~`0RgAG^M83->*A-Ul&iW?|cV;f5iX?@bsF9OWh-w_~$M;<>I@r z7zh(gwD0#ZEwpoE1ij z+k}mt-(LQF&1dK_sx0I40`J#b|Inja;=ZA%ZXTWa2}>rW)^hJ~zyf%di2n!S=f~H4 z1AJ&T@HHw1hxEPHqlcGoR>`ooT!+iCH!3RQ6O`^lH8USxxY-{;Bt&_T;8nU&2e4h~ zsO}TEuaZ8`Mr1!y>c~`og&KlN?d0nxQIAW-FMBhLUu{;T4KCjV;1-6x5)R9Bj>t+y zh*@Ei4Hz-kjltORt{=jqxv{$W*`6!ebT(mBoEo`c*cV6|!HTBNAoC6o((N; z?&XrdesBF&=EV2=fK{SHkbKCDqeki}<7C zJYK(ZN2@d$2UTc^LJ5yA&m0!Wxj&DrL_lf}TtRnr;w}jPS*sMgQ)%e;3 z*GjWAuGL>|n zH^IF=W(T`*J3j_>${4`#?;())me$0c<|AXWA~-|;!P}i;K6MyEVjFemBlp*7e2*Z@ zQ;a$DP6QySqB6bC-!LLN1}@en61_A>2h@ zB5~j6B~zTwH9`Ky0ZI)v5_dXHo)Jes?Non(BUq`Y&!d={4n9}ZWZ8v4a3Dq?Tp@0e z_7(}O>zE035cr+_!+KuMWx@Yg8iQy_b0#*L~>NEgVg# zXPm#$VO%$_20qb5xy!EVn;Y3y%$z1nnCyqthHq3{LbMBeTpHQZ`&BbPdLJ?i0Y18oPv^taE?;g|nXe&1(I1f0}^{9G)NiU52FlB?3*3Iq0`bCp6wI~rxrb}0bQbEV`0=YHFjVSG?a zj!}SiHDury+c6u4{HOM1Fp;*JyCM}xdrNXu;#>kkcX&_YfUvWD;z&y3*R1Xp?G=TxVYTF| zU{%kSJ8e#Ge7@afFK(pg4!N&1dR1&IE;bCe4eYQgVGONEw9*e5D>qf9px(WTTpI#b zZ%t}*A?2m{I69&63(D9Y$URXLWP@Sit@H$p!KUFLKaoxVD9YC(Xw&lZGJ5v!bph;) ze}*6x0*FAc_T(491yktVDcsDBe}|Y{z5iGf@~ehvL|lI4N-G=AV^9OYT8XgH3X)Ox zk91x+&Kf+0Bz;$iY4P^5-YZ$k?+-Taj*)m!l;PZ~aPHki(Z#g)p;UcJvZh zIBeD^6V3{8WIXaXD)-$EqE9_>PgrI%>|U|2q9|~R_@C!9mn>ieS~qUbftks`z~!=y z&pOdrWn$8>CFCM(-q*Gex&r)Enh(8>G9wDavWVBT0(~FdmF`PfY*f9EDB_Kn1F3w! zMQo0#&X1JEWBuY-M=m#CL7tutCbqtCfqep$$!qdCNzwFS&=t7QW(i|e%q#l9-O6H7 zqXPEk>7ozKO{)8#4+_xhnDji!;g%Zno|Ny=_}en>y?WuAj1r`0H)Ps6^04Od17SmJ6!;oGoqK?!Z8Xo0JC? zj1m>t3OHm4Ha-yflyBR_!l`m{mz6}vQzZ7|@<>6RZCZ(pU%pA>%^{u`H1UFftWF$+ zB>Xk=i!tW(f&u4IUFKx9Q5Oymww;5Ibnb?Z{qQW}`|nx)==$jLntXX9;f)>J?KJsP z;ga`}0WrlMSm96LJa-9A839&%P4A z&Yy7{rDY?FTT1k*`uw^y&>I?oa}=|zXTqvYY=F9*IUx^(bz5>vlAGN{EZ0`{!Ww36 z7DfrCb1H6S!I>!Lw_W(!7JogqFc_?}`c}EL;P^DUCZ|!gc}n+n&L;%VWBOLw5mI=< ztcPPPhAMT1EA;7`302AmHFEOEGj}s5XBmG|hiL&Zq+R$j@LIs(kxXj~Y@&Q$TDV@~ zTg`+fgKO3%RZOMrPAI#&+J%%q$i;g*hsUWa)r1n>m-qCvn0HjL=py zqjs*sz*mZd3_{3_rXinY6heI@kxAL@pb6J#JxsWznF}OcDW24t3a`J;#bZYC3rnBM zES@x;vhah}g4K%cI=_=sn2o4Ta*UNFlqa#UbUlH;^%L`iJ6q5?x9Hj{nIji3QE*nz zj`Hf@M?A^HKvZvv=z5V5>F8;2ql&A4j=h=NO%_~Z{Acwf%(6!7PM=elVW@?dFKii+ ztkRWKb=r_=L}YoEHy5F;Y{TMxpESs-YK<}HE}pi=SuETL9Qs+Xxt?HHQl>&-ClfmR z=O<$2aoCpwbr6Q8*r)f|qIWo5Y0Fb(YfEw$8S==>>8wZA1NW(P;BHT5;QI2JNY`y( z#oMd?qF3eTeIA|75W5X69xs;Q%hx~*M?}JEt-B!a@al|GbZ@*`4F-$~sFQN$MI{II z%_DeeN5!n-INBlvp|Z>(t+1oTKysCRV_D+}cEhghO;ZPlOyR5lOo=bI z`_bKBvX#eCo$|Z&fW^O01G7nc8T?IsG}Z35S;?ti{wZS*brAR!Ie>%L5QC#2NzJHl z;5QmfJSBz6bQ6W`83!Vn{4-6=$6dVL0P7*q(mvCj+*phzvQC1zH>~Aco3zU(3>m-5 z<5JE-&w!(YN7UJndP}&sG;>yC%1siV3gtMkloss%^Dc@lx)i<3DQlPOd{Y}9QGQnl zp}1eQOjM(c(B5m*ror{O{y)VwnJ_zx7kOqT{^(8;?xHqBWtHy+Y6meKsLi6?FYmUV zGu8OvuLjIRCdzyCv-J^kc8JFDn>L>$VCEOzJDZ^x`X@(h3B6~Kky#Z=&VP+{d#Fk6 z?R4=>-{8AmnLW|m>tVs(m^%d9y$Z?F>kUs7_fIshF8FRV+QB0E_A!Fwl@zrTc@)b* z{u9Z;Eq09FI7$Wlx(VwtkO}|DaoN@sqiG|K&zP%;piZ|>b1kF1;PDDpDkZi*53rVS zZU)H6g*$|qlp}(P^toE*erJOR^g-H^T-61BCdfu|b~h-nX^A_aaI5Q~9iml=%pTCZ(tXil zA56qHU^g&_GK~Cn1`VyqhTYO=3`53t$rRor;t`cr$ z7!`d?h;QWPaf=?dX5YDSh`3U3Z+mccVvnlPc3 zprNTbZ3@@|>p#wgISNd|kySsEsBU+NDki%mCI0(8aY16EgyfGQ4K`m%c1@M7z`HzP zYao0L>g{(q`zCXa$z}R{PPlMbGU0PLCm6x zx^bd-cCGF;fw)LI^*JWc&jS?z%k~w%KK0l=Ql8tomhDiqSG}G;sSJyk77f~-Xo3}K zmO3~4$2CIT=j=s|J_tg4b6rr!UKwU><81QvC}=2YWXvsJh{S0z3&ke|`a{m39f8uS z-oF3tf%4zaQ{j)-X0x}jr45hf2puXULA~}9F1|DSYgA}WK^j>|&_o7|bIDS}75(O; z&D|AM+6|Fs&{o$ow*Vts6g$LGU3%Qa>MW1S`(~vUaY@eF4wD}(|dY**`>_^^FiX*N@B8DcLE-~KCrg~G2W|g{R#$=&dA$s{_;?gDmQmYqV zmC0wi`#&6T)df2&n!x+nWi+>1^gKNK@pI<<~`ZUNk03fb9XH&xiK29a73xx?d)htQRk>{0!iV#g|f&; zqe1YuHt*OR`x?{36zoOU7LgHTXoQC;wnn~95{R|AE)!Vd*1&>~wum8Yo4j%}sdRh` zV~+^kz8#~{I4V;J)7|=Upwj-b6-dvyRw8LxPc&?kO|X3)df4jLgATrDdtXuqvtp^Z~&i&qPI1iRTu~agtx=0hx;1szi`&?F!UQ2h7Z5 z1!emxD45Y`p=}NdzI6vvf9Sb^x|L$CGd_V@t8pBpS^YAn>2~K&hlva;*4uhPfbw3E zuHs;ZsCc9xYnm+nI;W zV>BHE(~`?LyY!&8oaO<0)di~Yoxb|eY7#U%pw3IJ$Hk~Fz?9C`PwJ_w$ZToobwigP zO^~{2X3Cw-OT zms0$^uos7jo*&R(2Jw$u&?7oUuMe;qg{e#e zfRFbR<2Cb=YoQv7n^EoWR${c{*i|ui0&X-}VlN!9)2soupQ(#YXOgc13*Nj4uVpu#3Z}_ERR@rvlv-HdKoHRi(YyZV~&{LBfx(Mzi9| zqOb?+P@pp;KFFD-DB;NqtmCg3g+zxh({!fF=`;x%tF9Qpdw)7SE^#!0Mwl`Xr5?YW zhgrqXz$Zk2C)cMg>l%aUOUGl!W!-gMXvWm^;B?*LZ}0w%q}$P+iUE6dsUN-7u^Tth z>}K!<1U)YExqtJYn}YXv@xZ^{d^GYTo&qsH&hFHu4-=Drwzxaj9_J*=o#7G&PGs;7 zF=M2;^{ZAt`*pOvwNhfq$J})Dr*JlKU)~vzMKdnnRTPgXeW8%n9>8mQx0bB?{g#Az z95I-52VrXk)9x&RhDPvS$yc7UaI*xF$C+)Bm@G@exoO$=7{98VPSpTcd5rNqd>Jo> z=MEBW9yPVk_rgb)AhtQthf6&Z>^#TRltC*7p`8i-+Q)W*Vor?Sm5NLY8AS>c9{YG? z{OXJ7x&5O@aNaNI%B2lDN29>@a5GWPySjN)B4E2QU?Xb%=Sbi-dN z^E*5@m16hJd|do=yh2x-dV%*Cubzn>LKFn^AJ18fTG_`T3OTaY7&&$nQ8=Gb zMnNCm!AO`;jm~X>o?me3vGFjm4b-dR2^+pjdxCBMCSS;00W0TV zs?98L6H1K=Y{TbK*psl9AUAq1{fPr;Uap4Qo)s|>y+`)9oYNBpx$DLdF;eMUCHgm= z0Ec{s)~p?z{QqL@oPq=i z+BMy_ZQC}dZQHhOPfy#nZF}0bZQJhN{*TYb!Cq`dR7BNxQ5BV0H<@ofPqLuCtQY>J z2vv(<(;}L?Es&1=zU(pqAb-D(n@nTIa?xXfGVk45=G~^Ozpt@1-p;BO+I^%d8%PZ5 zmi0pBklGu-SJb2JI_}??-5uN2 z@`Zx7@15Z!0E5E zg%iyI0WPZp4(<569ef|FGvM%v;jV7+3E?<{ga48x*kIl|8%0pV|DxDX?uYQ=o15`l zF@4$+d-e~1g#-m97SnD|gtr@fR4}99 zh|lxPP`gXvhA(ivGt=RQfX|CB*2lTB?)N*3(FER3@9iio`P|Zmsz8jEm!}CE@Z%v+ z$MZwbGF!YNLgl4>rU2*gG+|6#z6>@~Re?-FHeP4v=n8ZSJe0iSQm*wPfJ-U$|aXNDxcCX(%Y*$WCK~;#H=22_DgFUz@(s4&XG?qr%QX%m_Ry@s$CjCV{ zRNfCs7N>34#nc&5-IB!r(2ny6)Yy~x`i0Cz`f|DtHXRhF{?$lj&_8nmy@F`_?kx?N zrO}KN%y&YXVs*{dm0=5+@DzBg31b_ObvQAA830)!a~1=gjZQCozO4jY6;fN{9o`;S z*f8$K|SaLg=;WrGh~?ooP)a5SyEsDn!LrS*$PIn zAZkNMaahdr6Dni`_Pb$pfm{;JOdht2`W4HQ44QkJF=9QY#HtqZ(6U{P>FNrSq7``5 z-w&@7Go4S_?NHCC%|H)7EjN8=&C zv893w4x(>YeYuNq8?*bnB7LHO>QHF%WU{;fdxVKzsbYEKkAmRwC;%=UYXy2g4AzzO ziRcDMCq~tkt#19I0Nsvmt>T8wC}fqt$DkKuy-Q%XTglS5`8sL$w<3?Wj2PwW>{}Ak zn{@ngZFqU?gYm`c7C0@r#*?BQkt%^@LHKu=I|;9#>2+D zVI}7!Jf4bA$#la^1!;Q)x6$t}zWdQ6=~SXfmRg`oc8Qt_yAYx`v!%Aut^mcV>BdnSG$ zcyix22Ff~yrEp{ss@6Djc*{wH+|Ohl-p{%Mno3OzH?=(1o0g^}c&;CBOEu*noW9z{ zFFrO0_<*8(5Mym!i$BSA8&C_D>!5@#1)@uERl6A>}B~c*-22wc0i}#dE3Bb!9)?uuA>^LpYiow7Q6^f zANR9Q6f_yhqLs6xeyz_P)h{uyFBt^Wi#{E(CTy}~mB=xrKT)$a=gUTtb6d_Lte=Ev zfy&XLe>({9_NiszI;z`1-gs|EsaSFlA7wGBJ$`Zb0fjKIcfppfIR&CDqB~xRIcM>O zCD9k5Km{;nZrr24$#d9x-e(;CNxDwiZ1bc26Zx)^8s}|R@~g2qBeT@J*vW#(^vjrlY_^k1f#XW| z5XY0?HUvw43H7Pt*v$|^y>Uh|x>}`|0P;=Tul!WJXJ+E@&Dlpt=X@dIO=V+5*Iw9d zyjeay!~{g{Nkz2jyx=&#EIkM^MmsCn{Y-f4nj}|{cIp!>Lp@J4H+TBk@*oq+5D@Jl zagAYnJy6o{Ci&1r)HWctK(V~!U0#ngjTbbXTBoZ#axAT0^N*$C4+(n_y8RY{)__s~ z_$tK|meL6x|E8ga;GQ!$WSWSJx%ZjxYihxzqxvno5Sfh-%Rt)~vLDI@99$|1?j9b4 zRMc>;yO1_`jVH_Gdmv1GFrm!wJFWTAu zf-AqKM651hz0b?wPe)URYbBYpU!M{9vOtosm{Rt?IX{G*+%mVN#I0g{mlIMJwWE#!+y2YLGSx2d;qA56aFqKiBYVr zi;hk^&8u~_qZk;)FG&j-rmn8SO()hV+=BrsU`M8MH|6Kxy?@$-b-Xm(qifHm6?ZCyU? zsTIJ)%{1CbbFojh1s`s7#fN$d&j9io-790pW)#_u6S1OAJfO7DlRin3NO|&1tZR6r zQ+D~qUe`Sr8Oi4A0HVK?B;DOQY(S_QBFg-CrDs3U?4Peqw#R!~XcRBVk_7jwBP(jJ zSIue&w*`smtGjc|%3%VCp09gp7SZEX(ImFe)TA%tWWyXu8gcoclta&?A&3<*IWDvI zl$bFr8GlvKi)FL`74eN3Y82E(WzWTNNa&bmQ2B987P z-;fO<+LE9Ue}m$G)vELb^KL<%3aqb%1US=_lgpv~PB*as3LH^6iG0tZOkf@o>~D8> z?24p3v%;z5449TY@(%|JhD3_Z9H%N-PC;$ch888DTcoxPLVW(m;DZSd$~YUO1y8#@>fetRi4a)}zx*e?7a zBw%Fp8Ua9?SU0ssLA}&PrwD>Q=v*+aJrwccH8&GlO-jrOGg0p}YuS=~jPFxsI~Bn! zM4P3DJSk6m@V+<$!Tjgkp!aY~Af;`Zp-&2~b-mYJ4j4-+H-Sn8%+ZLO{ht>v=m1jU_xVs`%ZIs8q*9zyRdVY1 z1@lHX=d^`H+QF!;sz$M6((Yo;K^Zo=gcuKv{KQzz&3=r*r zQWll=6~IpKtsI!Yw8sgEP3X(|L6~#PN;{OeOTeJ06S*ExIvzJWLtvhd?3E{+L;$8g6CkAHNeO3wQ&%Ohj;ScehVmBe$eV@M5 zesi|4Hb*K@1`G%8ASOCaF55#QMqr`X^r!v3Ck_JSOt0|Z^d%dm3YcPOZ4e5@hwLS$ zBgly)ZJlnR>bL>;oRy2N*fy+as2()!_y~H=_V3_sjkvih@m2QNuhPr5g?65N zGJ9nVce7XHCyfF14|^M{kdqPM%{y|cx8w2wl~HTO+PH}!<~HQhO<(A$m(PP(3ltMIR&#dFH||mJ z&h(-ZOWw%3%#vt1Uagu4`Oi?Y+-{O)un*YDt2hVzakRqM->z&u_rwPe?vq+O$o{$T z>^k(?w#aIYSj4TrhXTg+&_e;lTw`Cw?Qw?V`u4HezQsBi%x>>Uiva{#kB=PzuW7Va+`i$C@? zo_DXuvTY!+;2~7V)H!)1jT;`&bC?n=@j$oC(?O*dDbO{}m)S~GF9UKnMP5Or(rW;bhP_NQJdFKOV`7mqJGh+R=ZdJ5 zjLu2^*fQKR+{UM!Yq@e;{TF<(=rdfVY-oC8Sm z6U5SY%^`KP&Xh(rmC4K)U|3#!xc++P#l{*BcrPs2^PqGUChAZME0?oV!emAGx!N9) zN?0Fk?3Hh#b1DN-Si;LDAdwk@N4ZAQ2{4kY&Nrd}&a5ZIk?bW1nE_RSF;@E@n^2i9rr)B;Z;n#_Z(h2f! z31Rh-p#DncvgzU))W*TM9~8dfap2MEB|*d*Ut1G`mf0L;(FV`~VW42f+5Q^Y#pO4a zXD3i=4NsMjB{Qn13bOYbEt-?iboz^R@NI=3+0ADMKpl^Hgl(AKv7RiOcyNgq=_ct- zSh-p=m%jM|tWMA$>R!?pX=Wk|>FL%|jVwLA57*8^Sw0!c zd#wDP8MdaWpDEKND4t@Z0EJXL@A%@M^{knwg+o=|6b01$tB7>j>T2S>90pR}=9aB$ zde+Ghem7DlzWK8RO0=)6qj%8F_H-vFX5}lbQ2_oPYRQZ^$hh8X4HvR|r+o0Hy|rnP`*mhe5+Z3&M*dDpsn z*>wQ82hi)kWtnp0R|8IUe4VSg&RAmumN@}0#)*H6vDocX71q807nZnIK7aNOpPp=* zxW3oQ<9CD$#FBhv*_V1zmU4H-n!yIvP_*;bM5_pQmLyZlKa8ANC9cLmwEAxS~*mo_;zlHWjAm_na!7 z`D6XX0Gmo&O!F)~9`bS(wT>**S2*~1UDs<1_#@U%I9iAVV6KcSGa$6dg>;fON@r0+ z^ivP3(?z-Kn4Y!A5K?TamLlFq$DAX3;7&kI&PPFnN+(zf< zA-tLp$~JjAt^7npx(JX(!Ozso7c$mml4M&{02#n@`&qMrpS{ABHCw^TWs=#clTzIS z$XU*Q86eqFZ;wK9sY5W}8(|`Xujz7)Jo}4dnq$Z$PS2uE)21Az>b0}}YypTy`|&ll z%N7FG@ReC{*z8!12TxGv$h9|XGXp*W>X(cnzadev-zavq9Q-$r2EO0H&_J-!A8>V)(nQ?1WM)4(~lKld$KOr0*Pfi*?OAV}gQQ8{Ug z)o>l_eJ^ig1H9OEGa(K0VT#tU3(|;~gI6E3<~$+Y6nM}}L*Qn5EQn%zSnOodZ5?s< zS*&L^p;%EiXJ08?k-^Lr4hHJ5~cLsF7IEJe)8^|^|*JPDC5f1pSHl#7 z!MX!~l)@XR+VoaP5bq@rM8P^;kR3jvE&L;k|FA${2Bo|%I5J|#U(sbZ0H86&=IMBZ zXflkR(weok2TXqb3;`I|wv9C=eHz`mZ2DKW`6E{Ni@z0LR*xA1A_xYm@d4QzW7RH; z1St5|y!lB!m;Q`Rb&=)Dd(()-S&C5k!SJs^q$B8(z%~9U`;fZGIVx6J(>a4?RCAXw zrPF;$Mu#)QtpWdHgd+H{?%3qU%!+40O8+@D00P{I6%g^L6rH#}xU1esxl>M?W+hb4 zcckB{(?=d9HHkNU;KY3#{OGCu`2$hcpPjmLy|Coih%H+yq$M6k0y7|MPOF`8`6&)`#r z#R2| zfnj7PHft4CVm8Hm=(CGrZc4!w+yX+03bagVVrP(LnKQ)Qv@cYx$JNb;2Qrv4fmV}h z6?OxnkQ3j?Dk7DbZx$}0fIB0tPH%K*xuc|*ok^#}W8l#$9ac4U!)ns0&jas{DRbE; z7Y)r0`aO+F9mB25*^S+#h>xVyB$_6C$9F0#`I4J1;J~i!8YeA5Ej~$giUmrl_0AKZ z(1$dK%HEb9nsBJ>$n-HawQJ0rr+T2Xi+vMn0bBxIpBlG=b}W=iB<>^I|DcI@MSbHt zY<}Yor`?X>cE;v`jrbZ>ounm?KUT;hY)cMK5G#x^PHyp?zZ;5CA&Q11sFo^ zlWlcgWjlSj(HfcSYuz*6H<586c_u-1@MmW#y@3^n*y|ywU6N8FReV*)OO1u4h(YVZ z>Gn4D`IJX-xrVNfDFOx*0e81}L{s*9Tn zh0Y0kz8Gl=BjGTd*M~ACq{@ug9QlZa(c^XV^>qo&Bo1(Q&UQuYAPArrr+`pu`o<_2 z=ikoEd~WMqjB|!ag`NfhML-9Q%C1YHh~_4g7FqgiaW= zy-){MiXE$NO%RLQ%U*e%_x2k7gXSb#+c$hn{q5o? zIQXjWZjftOk)}3XZfj6-bHUy1$B7$w7)p-qRAM8xl2jPxbHg9P{E@{?^5quGGlW|y35cB$5J4W^EOyjb^7pvOB zfxY25*zWJ9L!bCGFtLyTfM_1v?G|?WdQbnEPf0`!4&W#IeYcXiS=8q^{URT4=|n8{ z%$iQY6v_G9JIIk57I!z0%p1zHF}-6JvOnTviuuda{p3~gw)2LPwgLS~#{_Kh&sWM` zfDfOPyRFP440LA%O2q*c>tGoZutvT{6gcX7=D~#gb4qW6;)P_Z(iDySxNoZQN?tor zgMszXSgIz_48^vv(#Rf^Y+uG@xF`RgPY)3p3yL<&;Jq$w-(3t;&#XK*XWEWEJEt&_ zSJwrXO4Irvr^;m>Q4TMPL9*^*B#-oWXELq)DF`T*1MS28$&2%-Pn-7-5l6> zCvVrgQdur95PnTvPI>DwSR$&X3!!&T(9D^Wzjq`g=ok3-MAQYdN9f1 zqdf60iI_IC2QY8Vs$UL{0BP+s){pVQUoN;;tH2I=BSCID%b9Z)7*Raw`uq|~pbT0g zJ>FnowgwHwTHcgwh+PbgF~pY_eqNQ_t0A1#t%8En13QF>xJQ4l+m>iqfdv{A>v2}z{!C=p8yx-@%_FEgwQaQe3`MePH^7JT%ft@} z9xM9gNfhT7yPY^<=a9+QZSj8~XK$KM7@l&T^Hf%{A8V=^gq$)<-}fgqsb z9Azbo+qeojsu@mWnnep@Jk?w>UwdZpL@b$;-@tQ+{Mb+?w#H7*jwS{+|G2U zj2Q@iE(mydpy-u7?0*R5|DIhI6H)jjq5043GSh#*e5wLQyF#qe_eRSRop6UU!!ur_cu5jHWhGdB5o z3Dm!IoBLXn8>sTU&pQ7cOdN_t8q`McUr{$V$$|q6U{PzM3>I-Wx1dHz_CNmdK>3A| z#Dsad&Jdlz_fgpi6I3jn{(O0%T0YV{Rq5_B!-g&v z5~wR9(U3s`0fGt=g!SOYnM>p{4dB{>FYJO_5+O3c_zOXX-Tmsv#i?uM^5X|;%iR#D z4Gvz})Y}yRRl~r73nB35LZ~F3KvhG8asb34%CpB)DMEyS%;Pb~EJ4-Ez9A3*Jo z5#}Co+y?dhTNf<=i~;uBHFOow?-$tFFKq+A+*@D{f6-|B3A-S|IlOZ~!G3>^5NI4I zA$@y7ctlqQ76dh1^U^%n1)*Mqo~$N6?hVi{3pj)c_%F3~{#kzHUc{b2LV1cgR8T?p zUPL$nuU2T7(vtGYn8$%F&|e6y{J4a47$kIfdvF0A0@e<2J<)K0gR_w47EyoyH3Zue zFi3!RAQ1rp1_=!uNHG z*99#5O%ADZ9LKMIf9>z19#C-*kU^h-?`f?Y>Vt2wuN;jpwXg5zFlGGq){lCpPuCZ} z3k0>+h-G|uoIHF(hw;3ifhvf-9vvBj9(GM|Q*ghNw{2Be8juzeCEEp{wh|033UiNkyx4+cd51$>SFUgs@kzH;o{F@0JG>D@s? ze7EZ4H^H!7{PKW91wpZR{!ycf2nQgrVC{kaRRAIn1MvCVde{`?@wLYz?~flau=mTK zW5QR!iv;V&X(m5V05CL%9j6+W19%62G!K5(T>DY4@~_I5)>qRfLn=88)C)&Quw)3w zVn`$YG6jRzO;xlw@})6O2IO57idLMVm&#CON<55{Q*l#vx$gyFg(j!V8C5&(@np~T zy+)at)eREgfsvAqn|^~#YCBISQ{08qfTLGEAJb}NDF*{9F$`pzY4(q5_enYGS*-m+O`XN$?PBPDJPVS`41VkAeJ*O`5=Z%lhY@p7eUbPD>{y5@NK`yr9meLnQ_*mjHS#-f2{#cl!gRTZ0usH z3@w9T@joXdZty?cqIFYjoS(=aWV%*Fiw?{UxYI99znP-)^KAk`ciQ@!E)7w5c(u~u zzNvcAX;?mY5J`Pdb*<}&bklX0L`Mip0WN!*BY_f!h)KtV2bCJStLr?4D_5C8F|rNQ&|EtzlMkgcERm z2JA!?zNET_41O+sm|xv$9);DYt&f`kNxYI~drz&dp*!lEu8qgF4Vi8kOuAZlg*A46 z$;1s7y6-m9oBt`aSbktzR}=k6D&DwIi-_HXJpfjT)FpBgmt-7{&f2l95R1IJA9HY7 z1vcpkvMXe63+sATs%i4GDFx-`EroKW=n>t3Y`!#~ob`sfZ927&q;2pS_?+AKy@6ZE zL_SEotD1t5n>b$q6v)^eF<-&a9Fce!i2-xzWpB3NHvtXKl+gh8Ow$SOl3{yVLIm@Q z$f{hbV|YFD#Phb>ZX8fn;_z!2U~tp+Gi^3ZHP`?WJ+blbbn4Zqz*sM=wA&J@Dnz); zlQ*yu**lccBuZax=#EpmfxA9od3-?~qc4tf2@Ikzj=s~FY7h^ElUo&he?EIGIkHX` zr3$6bs)qr~{{VHL9#K<0VGq#2RCc1{TIzgPj zkoY~j?xmmO7SJf|{3r0o`p>gyfv;77-hcTtV35;|ru-&s8Drxh>g)mtHt9&33@(K( z7t@T5ZhQ!2QKE(w3B?CP&;rX-Ka@fOxXa#PP{j=ppi@86?4p{S0`s72rl(c?8iEpR zv|Kz16|`;}0eaDHAcS@)_t|c~B&yVE)i(eM3p+Ha*kwB-eyooLlBM`qxt0>RUdqv4 zJ%oMS976XtB0B(uqO8oX;3z^@87Rs@^?_GlYP;g||H#KGZbd9e~iqWN02D+)<00!`6;@A0Q z5R8*Vd1R1hG3m2Z8$~*5K462AFj~+{%PyZqy9#7bk<{|Lby;chU@`7ZU z->WV}FlG|9)aHW|2HOM;0g>%h-hoPH4jCep3>WfDXX2{9oy(ll;Wequt$Ew2y!@tq zZdLca>sttJL!2^L= zHJFz+OYbUqBnw7Qo`uEt*EcES_v854{zuVBMp>Zo-2r59!LGTq5ZNC^;F1HE`TmA6P_K7$Xw~s_|N26CCfOb^uR8CIPE6vm|p>wjuUv1`|uoPNfz9jx}UE#b^blp;2B7&O}$L-Ygz z^o#uE4kq_i+fK+)OoLIxOKAy zu$jW1mgSu^<`%QW-sQYJbgbhe^Y5?1aH`cy3zY;sbcGVo?I112NcQ_?mJYzP4I1;$ z{$Np6pSb>fF;ST2HD925VxlP)J&b7M2VSU0x`7iBU*QddWN9D2mYJ1w-S=#5L!<8< zSe>GBR-vqZiI*vo!A9#d*0b&wF~kZrwI1l(PPcZWwXBLx%5J>LZtkm&47UmmR!akW zj`G7m3nNW#jj=bxzq0%?N zH*3Li(4yYG07i4{cnugkrAWY|Q=rL6w=)z|Pjqe^ccC zZNn%yFcIF3f{I-Qga$=fD#il2Pw3Rj$S~q?C-zBhuTVpdA$h zC-f32edBFP+IFTg7G~w;x?ZF;@i7yCT8REiH`+dKBP*RqLSu=fD9y+oOADAD;`8Bt zBLNed{jB3pZu{))^O7=C|555BwmZBq3;#iL>qe><$UV3 zG;2Ml<>;}9Glk|dhj+PM;}DCNoZn8T@@9GMy&BwRUx%g8Z53AExEguv2qdXar;g$~ z&rW5VXf$lnGy!#LPzSY>AJ2P=uu266{_KYlCEF7@%H6Nmy z>FrcZvJkU#-A-LoosZAFO`r~#vqwpAi~@T_C7Z0Qe7Jqjfqo;E9*wB{FC9i@UxUty zAWrsF%Ty8*DKH5epH|Eb@3Yg>GG5a6N7EkaU~IZ{%p&tJe8$Gq;%b#Wlf(M$fRRV! zVw90wlhoG$gW?!1SXV)9CHU;R?BaO2vuMNRHN{oEkZWKXjH#t8;}a#U$RIwAHgN8g zzA^3f8u8rCZWCyqe+pH`ZZr3+TT=PPQ#)t>)TDU}OL+Y|856`TJ&kF)E@)TxhqEbw z&{``wZByQ*ZSFyLXI5$XR9%iTR-3H$yK(tq;t2vOTivm=HUX^TJWQ#O+pE|dKWwuuzx4#&Qgq~K>Y311SuHpxm zmsXgT#xA0Q-MR~kuQ`bXMEaSmsKV|RZ74su163nV-jGJU=~P`-p;q1=x^~;%Aj{4Q z;6JbNLtom`kF0Ne>=rZ>F>Z%e^sPUU?hN^|-HbF3PAd}_FM(c8J;uusvj`JCC8%n$ zi#n{urnxmsS66g7gEvs1Hkz9zz(YsB z6Z|Ea$uXzKO-|?Wy7DHgJ!=r?WK0j7z@yBC4fC59tNkbv){Y9|LSmi!@~o)QIPN%b zKcn3HK;>Rw(2vkKSeh^FWRtgCD6#n2VcJ6Gi+ap>-)*3%n$NRy-M%f9(0HI(pNUO9WZ`Y5$)9mv_sfy{o45%&R&r<#0#o<4 zlgGWNjARK}7un=);nH%?Uh1(SQL>zJ!7S8plNwJq8CnUAvjIbpefbi)jpqxVR8yuT zRFMxHT(qiBP}xA|wPtVJ8QP7k6fKN9vjxrT0*zPClB0a&0X#({QJqX9KR{GM#}~zB z9ZS$muL1NJqvA?FF&NoY*ZL_vVX+XHEFl+ux=S+(7AOlH63O0@fi zbH-){1%t=zc+)N~fBWg#{ufcT7W#Ms{|7I$WJpP-2KPjwuq|zfOLpq<_|ztf=^+KR z6_Fw>|LUl5rzg*IQ}iiRK%g$4nhM5IlMgNU@&%@)u!rbpGXc2*82*o+!D_gNY|hm~ z?<9FbD2ewoD$!Z7n%2ak%(EmtyZ2~5BnGR3JP?CxsjoPMIRq?}q3M9V{r9KB3}0^; zzRmS4%ZGu}xM6~%gQ{dWsMPE^t22|+Nw7jjqfR>xdW$5T;CS1Vv<`+-^^zx4Y4&4; z_9_Ncrt3r21{IspGuEbyWro++?-Xk$O{Ww`Dsn5$iPhE2$4;*}5p!r)K_=JxXGWlG zC5k+_&MLX*D15b6P-ND-opqGl0J&(C5$c4f!S^?>I7l9f36*4IsHAuy^kXJ1k6^y* zt=dFELl`1@O2wIT8+BHnkzul)jOpbjHa_z-4A5;4vZ+Rtgp_c_xQiQ%iAn4twSc); z@?$qO=W%l!YvE*zr*&_yEW;t2oi^s2#yEkQeF-wAG5$++-_S-GjVuS|Z(?%*{I!$s z`Xt?kgEL3&h51E zZMk@M8ji`F#Q++$q^1 z=w?<6cjT2^XQ%afYD)I1Qt8_IVopop!_fD9`C=NnC36MZ;#Q$tUZ!5p(&ha@ggMjQ|Vi68sv}D!AlrpM(+T6K#O>SQhXkZ}kMaM!spx^z10=bRc<7^A?nt?Y) zeLnh4>)goa)Ca7VTa-SRb>&3zGxEMrygdu^h((6Cnr&rj6@|3CHQG(p=m zhklqh@FsLki>oL7y=r}HW+LqKti^l7{^PouObJ>Wbxp%!yclj)u39@+%oxOylAE)) zT-28;d3!wsk3JF8vDW^q(R~nYQ;kZNuz^>@mNM#)ROzO*S_Oo|6VSL!dV-Kz5mCp$ zg;69_3K?1t=Nv|pSp!SN`0YDsS9j8r>}MNMdrcUh6t&L8yAx86-}HL0${FDd#y!1% zV!8a**Zus{vG|YUHQo~`rLFS|6{DU7m*u++r7wRe9~VnQQ^FtH=fx zp}lkIDC&hZ=-3%nocqk~m3k~`zt#H}#g0=x&ABFp>JFh}_j{vrCBx*Og0`_-FR*m> zif1%>?5I2h4J$_DHQd$?Rxp8G7vCqjO)uog^WTYvgTNJ+?reaS}RHSxGuQdnbg!C=3PRA_jM@c_g_o)wc zL*Acz)O(S6_!fWRxmhpusmn7S5L6e5nsvdJ_n>lwY&_Gk!hW&wfTUcIv)LSPl1eX^ z+g*P!nh2lVzCsSsZj|QtGm4||cC}SxO;B2R@|TzJG9$KL+%&c-tjn^IG2!S%kYxP& zk~W_+T$fi<{BS`0)PoDgE`lx`a=hQ5Mh0ufDKMKKNj>t9bXlcP2tUmB^}B*$>LU5u zK>lfpM`QUJo`{P4;B_+Jiw1Cc|HQW;mYOCGV0?1{e!PtH`Q^UP-jhB4&EnKq3J?L{v0Ogd{WYn?K z+_F<1&ej`=3!>k#Ioj;*Rp8sk>heK}Gg-}*g{LHbS1A`)P>NBmn%<_5;;!6l?~;e+ zBlwD_(j%2n>olm?pbcjk+vafO22aqmE zncJrT?JE+jb9r^MBhF%sG;JQv0J;!eH-J0?^cKi zryv$(8iU0P&@R3s@YSwYjGoyY&09MXav@X3J#6Rgr@BrncUX1IG}m)}o*tN; zFEuQ`VzvpF6nC}ffF5U{3C<(xcvWmpv(#N}86&@$G@hP2j>li^S*30X_C{rKSty!> ziPf`MX}E+vd)`S{A6{W`H_b)!lxj*Ik7yl67{J%Vrzty&gB8DYdiA3((Y~s;Y#hY8 zM#?!<{?_&}rkH5#d6*1J*$<>^ixB)T6>A4HVOQEOwx_{3M;H<~ijTFBi$a~#-}hP6 z!ALpT4KCs3?tF6BxlMU9>^pZ2-Y&GhmvFhU!AjQ-2utT+3OrimrN(k<17rc0u^EFz z?(dIH4r^Uk5zz0PWAxQR6{z~p>h&l<6_NtsLiTUfATEo?FDeB*PI#^ji{F5a;#PA1 zMQ+LTAHuf(Ew@yV5Rv{T=dz5%f9G6gX8ITBGQ*F}`G0mU|0H<-y>prNAFAblwl1^( zM5O;FU1t7C0smdPZ1xku{)Bx0F;4ua^zc8$i9Z41za_K(8YeQba{dPsG7}Rk%YSJ? zW@2Gr#|tuY}n_r&wOTX zInVD)?QWBrX~)kkIgp%n@l;*4Wm$~!eN#(m*=Ye`-~?1PeG?%1hK43Tryv2jT7z>l z*jH$zKsBJVbA4mO;cJS2De=q*rZ6(IBiQKZ`YMpIb|v6MC4ea$o~bMz85saHGV-$@ z=p~K^fT3u0axs7hn15sz?F?jq_QKRw|LojGALhYPPYeJRvLygBJ3INN-Wh-ac5XpY zSRAdu*2pT5Iq;pip)ss{6LTF1m)A!OBo!aDnVA=!s30pj66d<;8zwVFc7D}WZ&GWU3+;}T0=%0F#-UQx>h=XO_l%_U30O3 z7{CapfQlwut~q?;r?#0-ETnC#CTDv<$%s!e5aC}hLd@V?z$=O6X_)$!7JD!ZVChXV;f4&#>L~TGdWH=?(dYHdL$%zb) z;coKHjDThuYMB93{opalPkN92CO?$?zsbJQRYphd_)9D`8l7{CFu=0!%R>a^INWJf$zB$#VH8zH`ub=##$voW9q`zSmE_xBW@9E33W@ zl|Bc*zYVZg)iu37!~j^v=%#X;Vq1V|LodHk7eT(d#_j}^q|h_I$CF&yfT}`ktJ)s< zO&Xo!Yn{QUxm|sD-C}eYWKL>#V zpHBULbiU~;X~B3}fu00k%b1EBgS??J7Ak$c|+vSa`S1NZ|l`iUPw>Hv|7 zehAe53UBa+zzky_g1PF(-vshBj(!LfXs`SbC=q@5AmJjnKMx2OIfV!EP zh;?h?hd9vr{3$KJ{FGS#QL6e!=^cLnHlF1zNFaX5522K9C|Z;($3OQuChh+J06jp$ zzaKj5KlH!1>>yQJ(BAzi2FR1Gi;eN`gJ=G)2!5Bq?oW&$n|A-wV*Xtc`#)@u4|~wN*Yi_nf4U~*M=q}p*=^_WHKA?;3^w*X6Co;C*L_24osj>C{T43e=59fc$%*-H- ze^s3sl$z6@%zq=G>%XeZ4ia|)y_xRl>%Sli;?#*l zhNFW`0C|HpI!WOra*!bNVcx4Kf2DuHy@@ZMC=;13afSXp!vRZbrKL)wZ9`AB>*!)T z^G?=xKrkg(B)W4o>n9+=LA#mAYU`~=mzh-}{u1}pk2k;! zvbM#se`A-|Q?0}5&~QKfU1(zS{ZPa3c9)N4pvyhaXrmB5ufR)@M_lHuJSHX`F6bWcQT#LZEbq%NKIL^63hf&+sPoot zXdi>#f;bf3j5`u9F7j|JSj7#~LaDM-#k)RdufFE+}t7{rP_h~(n7 z*cUDb$nx2wC3|+~D~2NU0zIrAxN{lKG|JUmzOv^k6Yrcv(vKa~1q_M=h4gaYnjUQ3 zmX?a>V;r4;-A^+q?jxz90^fyw>{efZ%lfsCgMtL(-4EA zsmA}fJ=R(9>_%52Ek;h6zbM})d&n2&z4&oKEWZb*%3lcU^G$<4OHG^NJrx*I+WXZn zsSin z`ECD{>vevrsEAjyh{iQ_H{seP{OZ)1e&G7a;3$*`DQp`n6NbR}i4-8Om@;imE}s_T zZ7x2;YRfZS=#eONd!3-un*O`87Zj0w)6d{iKEOyv;yHw4p1ZEz_$5jDKQ3XViGP@ z(3M!lvx$T0d8$z_ST5XjDyKImw-|9cyYpf<)}s=4bYhAndm&8 zos*iyi@%O!EFOL*F>mfhBEkMG#_duyoXorOEx=BhZ+w3|5fO3H(6^p1osgNS*c&eS zjj!d<=DfDyVIgg8$l_uxD|o&9&>ya@uBs|ka0tgx@R~E>7z@#0Gz(hyd;2w)yAmH8 z^DMzNzw^&~DX=9JWL}QsrbZt}Sr_I*)~6J8Q7~xB6s%e)=kl7#X`fpUY{I!$UlT%d zy>*9kf4%1BJvK!)S7O~%gFETwoT~F5mCu;{dnS>%OzQ-tSMo9s@|oI9Wuq~!UL5P# z-{$o0djJrQnGQoKB&<06caY!G)uyy%8CGPmkA|qb=srje%X%4wi|U9-X0#y?5_l|A zy^D~g4DDf2WSZ7Utl*GVA|tbYI(#f^q>ulwq1%alJOdmXio74dg~O2@ou^Gm4W;=VIq8U&hjl?YZU>mz)(g!$FhMLQ{a;*Nt2{`NrKbUbHUQn=AVb%Y+(x zAUl1SxEt^%?=A0`9Kv+lT-#*% zXjjs+4yZ7A5tOzVL2)_A7O^>#fcd~v$NUa%A;A=`c+i96F0gZH4L~4)TojBgXUnd7 z`1PnIY+UU&MWc%|A#Pw?j4h(klIIq3~Ec=e47V26&gm3@PVoGHZhgZCO{) zNij$we{y8gE7YJl8(NN?S8lUnOwP2J1Wog3m~sr;n;pL%&uDhjlWyHct|ZQq%|oam zOsy&+$GFE=f_27@ULu+yoV$LPZp~ZaHPVSlMcTZe1#K$<6Gs9U36=yF%;lxBU>Aql z)vNY_YR5qH0>W7M)lb&jP9D(!eQr8Y6LtL+Kei3oV@Lkrjl;h*t6IP9&d51~2u?_m z`8b;~9Zceq=vzIj2O(+lwh4;7{QQJupU%swE~HJ_TeIiSC<#9pcr@#hhf_&%OrrSEv=$!DUMvy6p3SwZd~1G^|Ff{I(W}=mE%*Hl=iigEl#+Nq_fy zr~+&Q-El3AaMTY2*T0mrDv{Nc-fmojvK|nC!*p@>uS>W=j(!&LkB#vzSeIXeqYP=S zy>Q{~fXa7sUk!xJK5($&O06pyxlVfGsE=V9RAr7~^y`!|6VjCI3`C<<#>mqS7~A`Y z@_Mb7jKT+$E3;x9XlU>*WVeomPrpM(t59T6%-FD`Yvtl9og)l7=?M)n&*azR-w+~^ z*m#tcxL3p7f{N* z<)D$@SU8#wh;!2abeiL2`X$x&oo8$p9Bg^+ejd*pzFdYU&c`pP7bT8}5&1bKL9Pm7 z?UC}5oZMv6a+a?Y@xlw{c$>D?93J3dGVn1Higj0fvhcgdN@ID7UxbCRhh0PC{nnPq+;uT{n2l1F__?ZSPO$m~9cbgZ7{#1m*NY)ML zlV{9^D_kxN*DkbY+lwTR*8;p3bbg*gwUgusb}g0bS?-X7Oi50GsB?ojXqwCt?my3F z4ieV^=C3xf(RJ<`9yfJMsFUd=A4xrZu@ejJU9Y;3(+NUjlW!OLiWnS4xIdF&+BRy7 zmWwh!_BxlC3X$Fwae+;IQV5%gl&u2Kn&!>zJerBO4v=`HfwY=~k1K!wyiU^^!Pj4q{e8O+Js7Y;<^zwyxBQbqr|Fx4 zZw*93FlIqWY5D}3t05FDY;I`9)}DxaWHT(9=jb(Vt0Da-irmI;xw|Ba1)1o>W12lQ z5@;V+84C(nix=Io_tf6lTPw@pW?#yQlcoLM&Nu2<{1 zq||csn^{k0v^B8(4k;s-jfDtDl^}#rv!69Gk%CZOr$FE(D^a(;e4+m-)p)Jj_Q)6O z)KIQ6_aof0QJ#7>cvGL(b2yso*16pJO7mV0Tl_EPBr-pAM;qa{GpFwu-Tl{BwmR#O zG|4Ue#dpI_Hy3uP7{)?gu^w}XaKxgbM3G(}OyC$a{dDS2&I$LJKG-5|7~6-KJ1HfZ zlF?7<-Bymzq*BQ7*>^ypHKJIfBY8LZrq*&DJTeURCe+iKjSqNw6uAZwZ5q^wcvcLD zWrqG@5pfBfCo*?f77tI9knT#%^l;D+A@MB`X?6YatXO>ANH;vt>|V*8&0i`c3)A}u zR`a=*cUh8f4&%KxIti=DFZRXj=e_$)DLsj19*s3$hbdpU{HiV+IUn@Th`%3xDFj! zb>C_hMauQ6i0Bijh!|OS9J~K8$ePzq=c!?rFRX-G-#c5zIFEou|I$*9QitbP^u%bD z7qZc}m`&`nX87&wSd2mw-+!=VXHHqGi3~<+y>K68)LA;OycOPWaF$_F8~;*h!4|XB zG2y+zuM^vqfNnVCcE#syXJG|sdO2jkei6*ihWk9KUJm&d~bwhr0YL#%NwxRUAqr{iYk9 z9cL(+YAc~54ENF>LE=$$ zO?5e4M+QgO3>;G4WwfzZV3*|t*L(p+cvJT*FRU3wNF|hS=rm1NvbjX7`*ig6?)UsE zg27M+OcIYIXn#LB0(&5y0hflG(cUeZ&cu-=KQPG`uWURad`jgPSsa!Ai07{g!+ZxI zy`FAHwRktGs~jq4QKC)18|bU*`08QA4v<&UmMor~;3edSipKv4RXq7Y8w@KlM2Ou# zZgqW<3K!u%Emi z9)#75U-`vu$uzoVzpDxOxI&6Rwg_8-vP>yzAsE1(%onVR{X)=kI#ShjDHLChoerO3 zR95RxkC80wXA%*5XlJTl<`SGp*D;eB$*j2S&Uy>70Mu-snIdF<`;sSn(62VS2+^>bCv;BT_k+i^mF? z<5j}y^>-HpGanO&9$NM;4`1S!)sM63k9hZ;C-2nh%E8;6v#9qhd8Dqg+7&~3m#HcY zfQkW!1QHtUuMQJ1SOR4(2OGWgl04y?m%W}r86l}sI(pZh&?onVB>6Q0}p*c&4v z(H`Xf3Tj)8^{o8Z64^8C|sYcqYQ;jK|7B(!QA!{ZZa$b6BTeUn%LrZXlTodtbN6T=0bA z%osI;__`52x^;oD!S=bDx!g9~;7Lrt#~y}u&#c6p+k%YXv8WIHqtLnhgW-byRFkCa zEiZd1OrG1oaSPOrw4=kha1pDSaNxQ&s-;VrfA{K6&sE#x`NS2_&pt!AT=yrE``t)JYwGled1aH{**+_G^v!Kl4zvc*PP zWIJx=L-F;BLAqNI?vZ#713|eSP|{QhZ>?7E+2smLq&rROe7r3PJIP`_#kSDZe|CR$ zYtfFTZF?!x;Tb>Q@BNwAm&V+2RcGzD2<*fg05^2G7lOd`hAKND!kk+PKd4RV*I(km zJ7di7n0zucy2wT=7(|ZHtsIYdZ#dOHDxQ(s?S|V0ePTq2hm`HPXL%)O6#N0r$7;B0 ze@N&lH)7YP&(9rY?_9GU8a8>?Hq7Zu5|b^>JFj<@)`B|4p4XAzhtVPh8uz(QiR|g+ zCMgDUpCHd=4Fv#(wMFFJh6y=ms~tm5C4$YaBQ5>7g%~uyePa{U zV)@wpm90oBWh^Ik{whVkYr;VeXjhY#q<(tsi*%PC7dOEva6;XmcbzO{`!xfixu{&2 zljP7#EL4S$k;VB%zHi{ygVSz-|I;UKX{}#zX1T>_laO0)KVP0`(H9G}#7_zn-VZVy zZ4!4*^pMcVEUR+9>s-<%tc1fqfIhccMkb(`S`CNt}u*xamz;xkz&>KHNjpUi%M8bxa^K5D5@otF>!2~O zJ89z=BGzjn)lr@jD`V8tW%5R6nOImxf#Gb$x3e??M~$_BZXEZIRZTFh0@PdQnO$`s z{jJj*uZ+6IVncHdCZLVYtVu$w!6IgvVc~}w1hu{@^dvoDh^?E?3msy(jzXh2 z=7cEtugW__ZNz95XkeXZ_ss1DYwMIALj8jC>FcZZCc9zG2MJ$;RQImvAV~EL??_6m zxVnL`U`Zhq^||*P(ujIQ$-(<8w*t>RLmCE85JLj91>7{!Og>oCb$TRT3z%@{tm;di z{g*>7I}&MTkfV!vAva3vMZ?tMU&Faj0-x3M(;nTZD=y5@BStVCW_UJCtw{5mDpxSW zEnpo65cAVoo$Qe5n}p&JWFaLvW41}ky_F}zAofZgcL6$Ao=)B&fj+staR&-8QyyA??xOUUY5_yBeU)6^E{I0R~^=leJ(sQbEaINmj8lQTX z77spD;L@_73GFTUMm7AYLd%MXDm!=ReNfjA@aU2ZlAgKVv>)aNYKN_>JNm}OntgCE z%TzTqWPm6)n6mo=YRrhJ`0WsV3Af^i}|H z4o|%i>noJemxwf3He8yq09ksR`Blw))m^2?u?pc5Ny?yJtlpK!4?iZRM#axr7AB;W zIJ-Vn5}s=BXb#cWNDQHg%g4@tOc@mUyp>6Y2KMoig`7{hX>ZGS57I(^lW_ZR^rXr! zcYt(hz{|A2-fc3N0L=2y@`%U|j@vPQOx?@YbHs;3_2V_alEL;VR>0>vH9)Jfn!R$q zf{Jco#GRsD-ixLpM+t*z|7JO^5b^$e;(@R}ZpDXvS;UGJ(FR^}=atd9kQPShJyqI9 z%`Rl!M)Yg|@-fnzjjRR?jJ1r#1=fj zMH{48m2J0n5k~!Y=tkdJ=wgXdAj8-9WrA5|dcVG20}pGR*MmNjve8G9R)lX7R)%kt z%!x!BoTbUM#0Q8T5F|vA;Y(Sa=UklC&5lmqqD(LKz$D;Bs%;BdHRjP9S}R8>acOoC zzz7exMl~cs=+q?zAaQcq*_0T+1H<0Am7&U(s}HE^p&id+yAs+YS=aksAGuBF0ro~X zY}zh|$uoqZd`Z$aJ3uz#Ps*ut9?YzqC{WyX@Z=XH$+Vdv(T|I8b30da^5Hh$Nc%LY zR>|LX=skjPc*Fdb0xk995xmy z;RdumehO|PFMRjR)+#*df`tP{bh||rJ(!7U*7Qweo)W=qh_oo`I{Xfshd~Hkd4uAW zq{lx3N?UZE3GQHd09+FEo#9yaQm)Q0y{F7cgLIn7`!iMj4R|%@xhy80Ct*=kls^_7 zkd!kmc2IXby`ACpB{VZ})hT`@R?5obk3@?+Od*iB0dR<&7&5=-%&SJS-5I(Yjd*Gt zb6u=>FN!p(NH7HOX+h! zi2p=@-?kS4cs8CrQ($(t_7elov1D-`uO4b{v(f6@s)J1Ql%G7bVf=%q;rEd$OGt#y z+;8XW?eQd4LvcvGMGvfQ)GBi(Z4{N_v5iHT7O-y?l``*@%B9=8@<;bBEIFvd@_lq4 znS#_*X!u<2k?(v}p2f6m91U zPi>X7d=bcHrtB*u`3?IaYw&-Ny+zeec?iP;v8*gI8B?j^Vdpp6l1?Lu_uerC$k}eA zuc;Tus>5y=zMmYMCRlSKZVA9@>3_zzy_tZC+|G+n!=xDxN*u4C(!_1}8Lq*PHI=L< zuWblV*1^Or+b=Fv#>QF%_OL=T-_Y=+53#ep%XLY|_kFe>?xv~hCIiBxv2dC<+FwLL4jH`D*Mcw zvNXZKAA=B-i}kE8dh}jgv36r{0q%AV(8wVosWpL=43oy=O<#NMQ=61)q?%NOWA6Dr|dW=pOcNwdNxGoT{8WS-q;*(hynfay(lL-Du;%e zk%uOjw1?#NB2D8OUd0{z1x`sWXA+D6q4d556(g~JXbBm-a^;ad%Xw56H%JyXkhSs!43%b$^Qtr64=D<74C-h zAa3I7f2|I*9{EIU z=@vXK+icvLOMB$cFRxRUyfHDgS;8M7J;0N^p$1{jKcKW$r^-=}pe@O-+hgXyz|6Bh8e^rKMB zTqVPVw_@@3UADg5jiND!Jhf<~wU4RyF8pULLJa!GT*oBYRYwoiGE|PTs#BTW z^e9~ZDEly%rWc+NN{MG$^yAIS|$x6bHm24D96(ze`q^s* z($RwCR_&zhFKoh07PNeGTiLV+%S6|JqL_0I6jzR8FT-e>3G8}a|GT9S_s8^LF+a3O zob32V;@lPTwY}|t3Ry)=<{)nTpe46TWNU2Zkl2By#K5A8`46NaDOXlc4IE3(FyW#k zuurhn?9cLbGi4YtYvH}sSPw`h3}8<0FN9=1QZz&|6BDf4S(!^e=6z=z)%CrRy6at}xW2i0ZLIQS)O*R>q`}m3%&{HB zB@b{+&vkQ=i7EjhSv1fF`~y=xoN684=tzl;Z>XN(#c*pY2m z3_-AZZ6IPVH7qo>4kss$!Z*ova96z`g`Bd2na0v3`4i>ynT>j<#nv=D-=KMy3mI@_ z%H39f$MXKYNzGR{9mICA^e#!d69eA?=Q=7b2hyo;kat-4d=#1sW}|XNsA1Y^j4yg{ z&b#IG(5)X?YMzlU*uXS+XY_0iIlmV%5ke-mC{pbt*QJjv4Dk@{4xD8)A>?sRDo|Ix zfhjcFMHbGOX5i0GbId2x#0?SdyKLA3E-1gAym}YNb>CJ0q6X{S<`>b9{g$N2tQbzJ z!A^T9DfV;}>+;LdKhF-A+@+?b2%({g?2?@?*Z#bZ7&F1Gk8m`ov*|)yD?}BWxLZJe zb6OcXQ$c=+_A(SE%0Vg%G498pDXR+Psf`7f1(&$VkNL`v9nn@Ltq2r-SQw+drDl^S z@1(d0mebp55M+K<&86N+>J{MZm>;PtCp6_lVLSYQnd~^=aYB#~8J7tqS6D8lrSvwb zcE7PO;@Z`|6O;C?FSwJ};l9{(i*1JLx|qBuK=U~~FAUb8ms{$_8DHXKrnxQLAV4(C7IwcnS!FXjL4x=Tmc?n^8!UUfDt7*P7 z+j!|IhF_O(UKLmH5WKL#yJAbdlO?(ZPZO}N&TbHeeZEoO2d`}VMFRbMkT3)qY zkknb~IW_k0wr4PerU2>vtR zKIHNR0xVpm5>Bh(q$8-9Doi+7)+u+WzIb;0>&vEJ1RN16u#+=iIg?QRL+<+Ez>TB0 zzxAf6K@$*)G0RRe5Re;|10xCggU(i)-7HqQ78!+{ZuNa8!j z7HKh^N8G#JMy@RO@uibeGzUO>cAgtKPKF3T(p@nKZc>Qtq;H+X#r< z)Zg>jD&zgl^q!ISIMPhM7^0$Q8ije8jUnHq@obWM*qoM&=+2qr3`$NeJq9g&tJkzP zB`nz|c|`O63|CWPQB*-6WOcZqI~wW3F{$)L;tjX6TUb?9SNGZ9y*^Q*8pr9-+ewvIk`<5mAhg;_2y2 ztF;B@q1&*M@)!_KqBgp=h(7AV)gd-3&sHEga^{1dKq|Zu2da(%HmO$6_0{M1JlDaK zdhn+<`%pq)TpXi7tIvwAlS7Ascz%IbLvZ)c-_FdQSp$l5#y&SUV4sSmo1mo07&YAqSXq}#uYOzCh9&E;37J}IPh6(j*!&5+~sFG?i9q~@Xs>KsN$5=wd)fTLc zjFh)F<_lQJxhbVY;+qOL2J*@p6ICR6&e6v5P3Sg1rXP!GH zGGqI;XHHdsV@39tmsoT(_eXd!B;|2CQ9%+nZ2wS052V=d{X>t8!Dg1+`bBoR<6Wz1 zb>z+bKVXwmD=YJdOO=Zz)+zmWP2u$s71Vr+dQ4@ZyoTPWqfGknm7Nhbdmt)GHU@CF zqS4@ONvAD?e5B-HRWb{XZ)kh(?d0f`)kR(2m8D?*v?75!s*p~sjPH4XGfZ_UTvaGF z-ph?RXH$3cIS=`O-m!foG~>{}wkxm)gG~c9n1pgk9efuP03SMZJcj~Bvh+>C4+WtL zWneq5ak2HudCXGdBeNnV1a-nU#6lZYuQ*OYDUW!Yu!zRbUWwbwwjE+gCehV8MV3pg zv+`6%_O2Oa(I%B&7Wt>!7wgp(_HcWIfc(+Bw*=%JlA${cSP#(QDSorHrAlH_sz*#^ zdpaZ!H36FPF^&xW<67!u*bh8Am*-|J1oJ!Kqq;LJu$O2*d{<3H4sE7p?x-;%?BHcx zUg)1NSc4j(6&W8tNxqkrRz0uw241k)WCqS~^B_W%VWGj=h^sgYwvGQfy z@%D<}x5tsU94{bX^%jt|JhmXT)N7DN$8<|7z-mU$MZ*dC%3GRXboP;r0fV@IhM>@6 zNiN4DA< z)@I8Ak!sKzK(8Eu;l(Hly9!0XoNBMMO>0<9r1%*km2w>#3`pWrx$Nl~Sj)nZ4tIx$2Ma>hFH?`Z1NEtJak6kJmQMu*XSUi8%;PFAhV%d+8g@gTEH)76G z+h;4@qzStRY`Mw}7$g3OM8LH!UFzX>L zPMT6tfSlPh&RL6Lq_}*{`9S<|j#Ny6j8)}<$(+vgyc^~6v!f)`J_&rat++)~-2x>FD#(M)mCoV&3NTNk>uORm;GF zq*km&U;TAB2o}=!kX4ZZ&4}JS_jAm-LZxYX#Er3?9t)hcmA|qXT>~fJA!U0aWVkEr zn(kY#u_@XYv`sZug&8{{a%NiLYI5%op895_AVJ~`i%Eztc(uiWEvRtIcrs%f z;b00kCgaFR?akgAdD-+9@JSk^udsa05q67%=O-L`O)zArSoptocz1D}D7$}}{D{0o z8K7Uk@6&gaA7OkuvNp9ENf59wv=Rp4HY^$-@T&5!ERti*SwE9N+%M@!cc!jSxe}uNH#(P zAn7==Rv|)K7*%na0f%$-nxjLrmW1m?ieyN>+%)R!rEOcxt$|QZoK*4)33-zf;)8)1 zzZ88@RBrpAn#XQ_^ZE^6&%>!9cYR?wL*lvisFz@zV+&`Ya#PzT7nsVP z9PKPd4lzX`27=s{U6n*S#YquCq}(|XOa%0srB&~vZ)Y!v(_b~AIpR zZ}cM4fK8F9vWmW5SgDLkDL9Zy*LFLhBdjDYh&loe_%{1VIi>mQ%0zv6A6Ra{x3Xg& z)sj9~b((B7o@HlHo24J7Bg#BnN}HjSy;lH6PSvwg1b=;TT%aiV5bqIlt}rDP9l(xU+ZN8eaJ)F(N|atduX2-6gaW@HuIj!#CfFzr8eHuK7wK1Zu;JkVdmNx@yi08{{LU-7JcM+HMYY02dh+W&V^n5mz7F2S~wR*?pXcX}ns;poF{P4v(owQq8{Z{te>L#f= z^DxpJf$5l2!pRY)9l0eZEG()xaYv=fT$;1Os^{A4&HE%SV}hP=b$OEnNEie})YNXm zaf*?R?{d+^PO22ZHaM5}WCHh$_}@{Idsa<9nfG>Sr-7eSiS4Y$RH)X)0Y84NewDt( zv>7=q=@NG;p4q4AhM*;j#Zkaa!>^J5q;qb^Jd}NZv|f46)w=bzkcSa_hLcL;PqLie zmh$w@A+R5}exfGs5PbGqR7-k4DyRJ|~ERUeB-tjktS+SI^zxjI35iBwy< zzK}MXHCiud3L_q^0qaB_2KMaZzOJHAGCM?fvq&+PVZp4_98#T15Ok*(CdC==jL(11g9VxCHLKDC1g#oV3UR)3w4_HlO0(Mgw+NIb>tZ-pK~|wY)YuPMhf~8{XaxWGG_{{%@P`W!7Dj&F)D#{;aj|$=mZ;Z?1@c0_*3WXD z(maY|&TAz6^0#V~ww`}A4DHr8v*y@zk^01^+CG?Oz+l%(>MyBP_!9JzCbwtepqtX- z!I&4uY=ta-+SyMeFW(?{Bjcjp7Z0xfkzxR2&Om82`@H8<|gnMuTwm2o`SV&F2NA>y|%a_-nS%AHxU5Ge7l_= zFEvKDX+pfB%Gd$D!gDC}OobCPSnAo6FoZ-G%D%nB?2{kmciiSjxWHBjQBBhw($W3` z8!eUuLZHA(eOY^GgDq?C_J&1G9C+9hdaliROO;!;g^J@f+O*S0dD}TKAak6yt3JOO6}`h(Y^RLJyg3B6PMnf2mb>(AT_ zB}OsY2**t>NTgF?OVm|+R82prNerPj2t_sE!~%j)vO28{7Fd^^GxxA234jmxnogz3b9CBZp?AX*YtPweTCh4$%_WQ*^-H zv1$m{e#7uX%@eZ0s9+z}+|dvj_{ch!h@t%)>F>Olxc7bgKCqQwAa6=ccb)4)Ee_!e zC9XuD?2sY@nBL?`U8F`nKl+~EQlU;!S|cvZ$GpmvX1$H+86~AJ5(N0G6@0sVTlf7N zc4sc35`z~ic7|Bu+UYslnyFUwa5gf$#~wHz6EiZBh6>}Z!k}(Gm?q(zxkUyIcH3k1 zbv?1Uf!^0N?C%pH*t)e;x2}8&wdn;%rDBcoT+5K}2pm{9-xhH_mX}0ECuH~bV=+F)i zOzYYD6n{cbtUT4q!h!2&JDkE$2vH{cpn(OeM>mT6N#g|;DR<)if z^@lk)7oy7L9%HI+gD#wXQwA1Yk)5u5Spx1AuWkm2V{;(ZepHiJ$)EVl$jb*7y)hAB zP=TRR)wqV$r?;CZPI}QWiWVTEp`U+j#bM+jeYTq`caP$gvbaEXakHX`vo~#j(#{cpo*Q4S1(ala?M3|+Ly)Ch7nO!h_1N@d#=OXP_(AM$4~e@kD;{@&^`Ab}$9P}{E zOedDkb_}=Uh+(Kg-7;r=&T+Arm-Qk3o3gki2~!1>V{(ngI_M4HK+Z+}!#!-tC z<`(AETHyga?w@;pDTnyNri;?C&JaIV_8Mh zfLn{avRb~Yh7fm2goH$t$ZK7);t(1e-tBYYQ_bQ)u21%CbKjGr?Ls8bAczY-HMw!e zc)K7^*XUmh4^HhWRp50^_fogX^*jLO4BIqD_QR(n*+q6XF+Qy&l`kA5f0%_SOm9@v z^ZvL!>C=V$n3*9Ot*hjfoN~-m{+xu}S%nB89CgZCvA%qw^~N#%PPzNFdng|E- zq$%Q~)uN*3u;syiCQ(|Gzd`EdIXg*JB3&~(rI4GV`wMTn0n(Kbx1@}+Ymx&`;n zcaLd$HI@}&t6Dw6p1ho+dQpVX2jPvVm4A|PDXXl|d770|93M79%kf&D*5Z#_M%IvF{F7I~pO&w^j_1fB z(E8^$LfhM~C=O2MTbs-0zocZ9iG3QYp$&ocOOEUD5$V6!e!L2ajkz>ExbqyQq!)0w znYFH{FX8`)nX5e6B_QV^|FHX&?{TQ<@MB$-z*o{h!iB+|Gp`Z;ouW$R54`W9u+mcy zNJD~P%kDm$-7#G9y>EEgn&Xy8gEcor;h1v!Bm)02F>SvDrJ^w^6j_R| zh9I*YKSHDkCmwswoF{<;9+KzPL-_#jb5TZW4)RR0jxlYeHm&&S7?hcaZ)uvxI*Xg^ zB7DxyEuTEXhcT?5$X3vA^zS>qoMA4`Po#O$7gT-yNhpgaWymp#8hCU~JN11Yp}#^# zg+{N}%Pe6g@WXNCQt8;z%dLfDXhOoob{SJgH+mMS&(Z@TSpRvatz(fbzF&KThGNBZ zmK*oE#gmNkwlpgIwA+RBZKBaWX>Z6=F)cp{MRq!}3YPCN&Zw)eR*)sR=v+4H1+%j> zY?A40(Cv9K9d%w=)r&3PR2QL3l6q|1%N6LzIO((uSCEVL`4*OL$hT2r%8I28Bo$g9?ATI+nrZ!1Ng_@32*xmXynD6%Gm zcCu|WLchSlh&X9c|9bbR{{e_QQJyCCYk)ZZV5uvUEC?#W^cPn}e(&KcxNNb)n3&N! zbXPX6d{YuP_ejYMjBCvH9P_maf6qLHi}6CDY74x*7JqLa{aW1V^sm!w4S9i~cQ1{4 z6#|9&-7VXc*0N5MtrB8TJ2t$Jn2{FmIy8>x$Rc>-#VG6}$XzTrE^p=JM73!K<78S4 zeB0i%b*nrU&1FC4$Ziu4(e=Z9A&M^XMiD1_p?o&+lt$_K;tr{EHBwADAUCG(GC2qi z9r-p~bFYwk`Tbh{<9JNZJCq^qR3+j}shpX?G9E3B-;r5@L7h|UM zmhDZL+7p?rr_#4)5BBJQubX!{4P3dH9iRMt6dMF7xfGGIxQ!ET;cjy~qzD~6O?_FE z-0PY@D^j*dx`E}ZYOmKB z?=32>|+rhGMn%ihdQqDA6AYNNsY@FUiHWpy&8_?C{*kAsKYTP)g9*|+#y zCYYc+SukSN! zBTBp1W~qf^9X?^=#ScQS@Gpwi)YF)iMg_Oy$q#Ng-tp0k-st(mvt-H4u)H$weLc#* z;Gs!p{RWRi8XBEH>S))JD{BylNWda>HT%QMcd9#C#aponAB@+>=s{?K^qLCGP6LrP z>`u$bcsv_((NXK5-c>`TSjvo%5w~BYavF}(c6%0SBn0ZdNQFr|BN!=&pIH1gX_*a) z8kSt=kTUyF>nxRQ>K=-~wYK{7rMX>4-~1AR^VB0O3;T*4CN7)G-Y=+e`xbJ8h6RXp z052x8DuGe+*aDQ6&ix{2jgIc==BwC1!nvM;)RN$pc@|$AAG4@=buxOF@*a@;{>Ho} zgmd^Ls%RlXKzn8N+oo+z8IH7-?)%#d?U|u#J<)7-Lq}Xa4=|DWcGo zDi5tO7MJFDzKkzKi8;-NJ>VLK^y_F06tE&7hsicF{Ee-NQNY|#|Mi0ce6 zwp~ThY9^Jcp>OM-?fp5knUyLb-wVT|6^|77>$r8v5SH{;Nc>1j-CrNKJ} z`PswG(l6!%Ad>4r=LXQGZ<7JjXEq&l zh#MN~y3aTv-MC&6U-DLaK8C{AX_#0yYgIOP4Csm5jLQ-2%uVHd{6~HNg$`nVmez+2 z2srdbSJjL^w2`J2$c;U>3{i&-n%%L$8 zOA6*hiF@X>#E}J@Xv?@>9&lEGdj&gQ5H13t+t`xpRs?5$jeY#VX%d`1MY$rHi6kMO zm1^Qba8zIai=-el(%ZFha2>2hY{udm85LP&I&?pz(_PD=l+!=LUeMQ%_L+3G5o`Jc&aly!`~V~{REv}oD3ZChX4wr$(CZR@mc`?PJ_wt3p8HRs+t_r-k? zGxMgZB4cOdkDU?uqarJ7uhllG7ff4PU_Q`zAqqg;*&DbG0*P-ei)v4xBU&Hc>EV?s zL`D~F)9p_xTZNIO3XLc+E~`25hm6Y1H#;Hd|LAC_KK;c(6a8#VH(HD+{Nc~O*9qkW zW#b5qcx@Q``<@7`(o=Gf#lPs{k(tkBQ^EG^&#ky)*>rolOxc2}$QM=8dz(PVG>-0f z6c9fC*lA4!&GV>QZcuSYj)T(qa_33t8tD8At`~H!$MQVD5Ss?QLAyyUI)yK%^_mm3 z=7fBC;Y-PDF3u5jE1`-YJ`ok{EFG>!FE@)? zIq?kqdC{wSX<6=M5ZgDr5>ccMhBiiqy=5uUL_F=w=DI%Kx1=Rbc+7T)LPv4<(hmvQREx|l1X!5%TQCvk(>8ocEp}6&XpmsXv;h80Na7r^o6_I zays2)Lj`H7q5*-5tL!0sT%UjTv?Yyu$!1E+WuVC!tKBzcms@DN{<<4?Z!Z49+y0Z$ zN=pODhl*;&Lf!R5P^(MaBoQjq4Kku-r}qd#DC4qo7vZ$SAkVqL<`ktIRQLi$*N80pWq+%E@JnKYoL78^-m zV3$5@c~I%b@-9*8WxiN%HM?ldQxU`YCX`U#NFA@}f4G8%13rFT+6WhaqUrU)_4pYAu4aWaY!L)yAfTn{+8G{ar)whb1~$^Q6HNyC6i^YRv8pEq+YjG&YQF0bU$$8r;Ry+b2gnOf+9TzTyj zxTR_;jPww-ZMBN~eAcU1o0|E!q0Ka6e=hHr;~<(|eubsa?_?WyGliUU-;yBu_Qg zP{WTn=B~JAs#^peGa#8qn}lw}X`xMsWi2XD=G9}gLENmSks1soz3 z%Jf7KD`pFM+M-~lZj&H;&Dmg_G_jo>fAW2J2yy9ZmS{+v8<8}DV6SPr7b*?$yzgzC zsl?3QcN67c7}xG5sxIGdz3PY91K{d~pQX%u=e<5C$jQ2dif`P@95} zPb>R;jhUPi*@h_G+S}Rv$--+$B%2g0sEu^H7mYg)6`a{;fo9hv50+VS()dI{_JMK$ zWca@ffxiT}znx#52tBMJ+wZkxq0{N(^X@JWS&loi87V&_E@LFzOCLs#mYip`k0FMM zvXy(Y>Sr@{J!T~53#7!jrm3AwgN*)x-JjonBKqmpad;e#iLGdc+@cLD>*#each#R; zvc z?#~BeCS*wSx0BTIcvNMZ+$UjlfZ6-f&Xe>N`V`r@J;Ujbn35h{#Q#d4W-P5nDY7Nk1mUaPxqMl@5Jo%b1pddy?LemzZ2<{PY`Wa8DnD6GIG z%q7M7<}ouW$rfrDEW&QIe2>`rt|nYEsUipM!gVb1m6%E>JAzY z!cY}W8Jdo%GqgTx+J-AWYV?{eAv~CAlf;j?tq*DGVow)2%TBq@`fUJy!t*<^mRe>Q z2uukSchp<|Vzqc{X>4`wA}fDC3uzIeaKs%{%*soA511~X%7_r>8_3nl@am2Q?G!?| z#)J^=7d(LU*lcID@Jf|L4r}>tbWC{m-mIzHz%9oX-Lj|X(kimkawU7Y`os4qUh2*jdedoBR5P6ti>8039OXj{GE-=g0hi@67fe!A@gA+Z z6IW>2oZ1IK?JhIm>nQnWfxkE03eoGH0d)s!RFkZ6q+qcG)4%sepYCj#2?RqE4tp^K zaKzOe=+#+IDc)XC4)u~#Xo&{YLcwB9C)ldEj(8nkEZ`tt>}Er2&tn$8I&PO`!Q==I#!o=st95C&GF9~J`OZ(o^^TP3tg5~NYwDqn zaQfnC0F4**&+re3%-Gr~UyZ&g{5>nh`1IAcc&`F(#>rGMEn_tuZ{xSW0T~cG+!(g@;2-zrDSyK0T@dnYTJuTzA(0WNV5SmUo(cYQ;_!UoWflP0M6-mZM_(6w zE|37GllGeE{-cN1Y*b~V(T+`b1Y(0w{V8G^_p&FX6vk4}VMvJhLpwQw!k9OB3Ow?s z!st)xBQ7xCTa4zX9v&uMn>~s-D!Ubc*tu@@@sCbKo1WPWnkzRi8O;oM3Lx4yoAb!w z@Wb^=#h}H2CrNQP%AJdrZ$o#dm=3bG`E#v4sYSG4(KFEE-QV=sa7JjsR0r4WE_H zTyLRvb~NZzMU~YP*Zkf+Q%y%!mk^vA4H$*XKn$AQSnDJdzVb1`KA*HFsy3xd78*=1 z77b0@_uzEa|C2UkjZa1jb=zyI&BNtjkF{Ls=eA5KsW&bF^21PH%v%vqY7`<9KFHJv z477mnIPO$db6#u3;8PYTBJ=$P(m8kOx530rxk%;$rx22t-0{(Wz(qS;Moiq$pXWHA zt3-U1H>G>mG0IY5)=X=fQy=}8@xBp$6nmK28_Ai{3z&1XemC{*Xj@1*%OX{_kZM!M zFxzrYjKe>ReZG(}W^B4#=Z{$!Yta4#XI-aX*1T*&bos#tKU*$@)ljkIWi3stWWS-* zc&#lKjt1HdlSu%sgM``5vK@p}y-EJx7^7noa!q|c3Xn&Th2Yl>%vJtSM6bFPX_rlX zX|Zc6Ng@vTSdO~J>R&)JbP%02i0hU?OPE<<&DLSOd&Ji|qDkUTT6Q>OeUES4x6D+? z0m{|lRLjfU+pMItAzBec*#C53jE*2$t3VP;y#oAh!#HW8)dFL*n7))>D82<9_v>Qx zLY#vT2JMXe)1G820g5kuqg%)1rSa1ixIL{@$!D4}t2O@W^_z01*HJC|b1o_}A9)?A zmhC%c8)CMP#aBss`n(*>HF+8)ih^NM5e+j&rPx3_)?Mr(RFbcdEk2uk_%3fxV0(6z z%Z*|@!#7$AuH%n0?QtYeP0G`Q@g`ES2y3SoSox(!BnG%pCVdqukeB-gMRc#^Wy{4G zGriK9xfdDZw$G!wrdCea)AAuskoVn6khXIqih!(O_e30)&$m1Q2L<4Pc7`IC;A;0` zb~6epTwBkqBXziF4s4TJrmI6~pBB#Sk5&R~S%yR@lZ95Nx5(?`VlpYQT$tBz&UjFu zpdh5$51)bOYj0Dpbz??@grUUdxarA| z!_Z7cKmhZ{=^tcR(hbXN7bR@5=5w0a30# z@@#R5t*J2llKDx@xgb2DT`9H}!odnYMbfSAz{GhT=7Vhi?Xiw%E;oHwpvWDTRqoPY zO4UTVOfoN6PTJ@E^;Zm7meNY8=Z6+k{0sR4>eqa0TtC0kpMnpHnhB?zewBsmRivN@ z8B&>JO_Bl_l>_2Ba-phahudu(O>hrA1XTPQH`GATvbL)&Us!c;g)?AV2QBD0GRm*` z@}I+G7nQ;&gxX}3MR3aC_rUl1$u|IkcziW67hUIzFL6*u1%Eh$cZ&(>_xf@h0svGHnfCl~tz zra{+Yt&i-Hphem2X!VLA0?jdKA?h+`(AIXa0%L_{EFIP5kSkg+#+{KFt(nDKJt)>D zdAVa&zeiBN*Nf3onrCfiR9!|V5Qx+)vzO9iCO>8rYo=VMg~M~f zKW>>6FQ($KQU$T)9fF_0nU5SJHd+zRbFY5aav;)Em$AdFAA?a$juUjh>6?kFI{r3< zUsyM*9keBlGZQJ6-TbREsxPO{Ltp1Y6yQ}XI^}CA!8K#&66y% zMtsd|<2$)|hJx$+9@giA)&B9urm#f+O|l+hQY2+xj$tx}7-J2JlG3zPch5HESqh;^ z5GLo%k`WGZ{EGim^WLEG7GP-|g80e>3-KrxeLX|1q(lb{^Y(|XVP2%wXiU7(nu-&) z>cV%gfLfxu5V7Omo)ZxGR4K#5?Y*}_sr#XU)Qi7-Q2oJs$MLrj8N_Exp~hSdUbc5q za{hxC10JqF=2i2S-F;(WWFzYJp03UBY#B3!4R(HWO4(@AX)7c}Fjc)pgGUpHPP*b( zSB2QT*6^7G2T}O zn6idmPk9e%f#yVvD%TSJ1rlRg6Ws(Nk_4=_@}IJFY20+rI@)WzDvA$a+j*}C2rFbp zvt&N+@u?Ep!?}b~Q2|Bfg|Eul*@2|O*d3&HGVvUko* z8j#R1$^NixK}8Dy$9wptrtKkFv2vvmOuu`InaM!$yQDJz+Zf1o6$iJLj)Lci62ov7 z6ws{LtMZeE?9Z%TLflaO)!Fy)mKh`sN7VYM)4o+N{d2qd%`eRCDr$;SRsS(qdM}WzhCG1H{=tbRX13T7>7EEmyw0k zayYi~9B41y-3IKGtl!;iXbBF$$mKlY)Mb8A$yeN1tya3Ob`qOhtS;Yqa22(aE{UG3 z0o!C#={GJ$Wrtov4I0U|_zKDrg(e2Htj1`HA+cz9p3DBGhUeNf)5y79%&_nu_kZ4& zm0p@JlWoQs2#`gsVJ2+;j{*;AXC6tnos5+zl`_8^v^_zbJXD! z-m8rmG~v?r%LIuO1_RD&+sTs`uByN*)FUCJq}3b@Z|MSeS@|xlowN(PI+*0@gi-ICA_ru#N%(-=Ge{~6L0UWdPDm8Jtb2uCevt;#t)2=1u=JMw^Ppa#+wWxPR z16Ev{Eb#S6X7QW=ONMbQy2a`(hr8K~f(Ro8EgmPt>I3mMKlWfC&pU6bu^0q5LC{jC z2>vELHx_je+BErmSr4Tp@32UvlX8FzFsA!hsq>;0c){Lc7Q|R7bmz(k3_9rL)^)6D zwObOZ!PhD|uba%7?h|d>XlG~82Ixp%pc@UON2HllE4&5*xL;dgwa*mKjPw4njH(OX z6Ps;<)cWDBF9IVv33PTwuXo@*lQdF>6S+XAZON*Ivw;}}a{O)CNN2|VVNm)$#5+oA5KPdt@_tkA#o3aUx2ON3pSlz3QJ4;}xt> zf>qc7$AAJA6S~-v_%GvMNvJdMV6OOtQF#pqAz5(l-h3~>&nfH$wXgPtDhYvHRCTK* zj&eR3OrDL=g%!R<=4no2EFF?ZCbi$)-4dXa5#hJ|RvK9{27AsEBws?eGIImGbYyYSU=PWZ!WK#OS4)&18?b(l$og_P z*b*~e8tL5te@O+P8JRLa*`l%qf^j<_nh7o|hJ31vI6J5%h3oi)@ZeL;vDlk=b$on!_+M6T)7kf+q8%!hbYnmwvE zoJDb{tN0Jp8TUL+AYBtz=VM;L&n9`|MTy2Gs*3X;+ut%cX4L^W?#si8X(NB7WZD+= zsdI+fc2fJy3n^bUgi6Y=vA`2{hfasO34aZWGND80+jY;R z%ht{`iStzT`N=C;gcJlHI(^OlW~ZoQc~6GVOiC!uv5m7VUq9GMkO!`&IP zCoL=hz|1g(0`U+qI9`rx>#|5-Y5uhDB%;Ur4d+eqPwSt{SN-0Y24@3oGVy=0K>W@5 zEo)bN3=>VBF~7BXH>`!5<402QQf{xi7^i{?ea~XeZFPKr`>WTy z{i2fshaYvf#w83irJPzK>f3lA(QL)oj=+OEI1rEbf~{(j5?Noz**2ar;{fN3XhD<) zoVjLiys*I(#Nz*fmCyP=Nb>(DR=$?JjE1blKgYN7{~IcwmGQq(`HcT3#rOXwDxdMc zLHX?e)A0SjgYty{!hrv9e2W3Z0TO`!@O(=HWB{^&|1y0m0+azN09Ak*Kpmg~&;)1! zi~z;}V`n218#7m1GjrGfj-9P6EM5P}z)c)%9qj+Lc6LSpQ-G<1t*wzWzzksapTlOJ zCbmX)fPb>^|L}$Xd)&E&o?W)H9eSOaVTwg5YTJ;2_|-V9*x zW@l{X>|$kM5BOg;aU*9l`~RGP<9|f|mHz)$j61oRxwu;Wn}(B{gR7aTvF(42{%7yM zLT7*rz{Sk{UoICbPk@W9k&7k372s;=Y-R><^>6^V0o(x|08fAyz}w8(;eV3|{D(8( zf0GEX{g0*pZ;1dCJLA8F`L7-`5hn-x|56J4PbWDSClk|uDg=oBe>lloz*W&MG1z4# zJ*1%F7I*$#P~+opjEr#q?o?N4k8~0!Nm63Tbd*IslDI__5?{~Rjehe5XF%jwLn-srbA0%AlI*>6C0qFqB zy+dFD0SX+eV^gRfD*uOOfZ--muwClUgO`ubBZwZar``cV6W%tE1Joe0A=C@dP)|Qm zzr!GqUIFZzf_Zm49gvAcO#=gFP2_Tw&+I@oAQh#7N zI1au|T!2V{NIpM5jZp@H8hC(WTU?Gm^mfOsCHc$|~#)=3FU^27I8Q>m>mR5D*&yB@{#g2@31t5m5{x zLcQJ51U&vAz6#X*6&yG4IQl6sfSBGzCwia^``G=82wyX(GW@YI;RO2e3$DBBNgV)s z2}pGq0Sr2L{E*-O)cgo2fB%^NbWQ%qz5nigI@$AEgVT3&2vkUdC5Kc5qGv?9f;6D3$7d7@(^X(XPw|3E&pc=H%5$u1LTM$VF1Qh}5 z=lFhiLQX{ja*x_>pooO^9?=Bs+s&vk><6=-rw`P>iyr^sQ)Da*#2>d;CXfUbsBlF{ z2D88P4H*Uc=K3Rk`06G8Lu3S$|F9=14A&3&iThfy>H*I?y9eVC~)q^;QqTeGGO3iQa_;o=Q1Og63_o9`Lpoi!~Glb=fO5;K(Yb< z_A|CRS2aULPjkyG4y2Z2?zCc>Y^qF)0y1Hbw|nO?3yC(an47~C{ab|Ct|HshN+j${ z*FWeWea~M8RNd4jdf+4fn?oT5Zj58^Xx7hvUEsyqps+Uq;S4#U@iXlQ;1RH7Xz_%x zj3AdL?4jT!{AJuEbEnT{>SyqN=r}xGHlY5y0%KS19ZVrdsz%N60!?P2x!bC0ECY&w z+g5&&lx$)7Jwa+QxRD29hKyl5Fod%ZMPQ0;;H}zf??l=}C_&!Z+**c)`^jbTz)4+T zB-d4LQmd~iS?$en^l9iN$t_(K_#C0@uB`5W-1l`j{Fj+*a&A^MVy^Cy*tK=FcasdY z33Hj_?n3e@jq;Ib%}FL?n?CcgJR*%cz&Mh!al=hd@vbXmL|(~a7TfAvGD&?7=n6Ti zM1;P=f;`r{=SiRow_#aYqhQgg|J zWYWeX1XbGK)ja)ZbFY!@5ZJk}RY=an$`&qZqtZ%_R&n&G$nT+nKVkMULKK!BLJm(w z+uq$MMzNTGw_oL|bHj)dw=hme9X5Kv6oHbj^-JrA>+#S<;j;{ZztyfYB&isQubw4Mrdh9k(aV9U zQa4m>oTv!md#!1uIxS`RkB8cJVgpZKo@KwVsp5Mq%qxxCx56tstMrCDrGGZuvA=h& z&>nrZ*W7Je|IYn6I~3b@BHHhSlf-YXqW6J+)dV6NU7H=`ZFb&4hNMe4%YmW56KlD& zC;ci&eI|D`28IPKu%|5ruWbjxPghXUj*v;;XXnHhArVyV8ifg#mz>-?_KgC$16xzVB*^bY~e(>pX#D)*?KG zDt^{}k#{oP?maAua%Va>BTYfl%U?noqJxNbXrewViW4wrJPYvpY~=cgwsC-Kv8`>- zmgg5D;z+z!gn9DvsJQR6-#)cb>7X|s>=+)hMc&nu#L=+4hLnRdW$QIvo2o5s6o~;E zx?ze4l8ZW9$@f6+QcSUdF&K5WX_ai>R^XEN315-<8NMJqx*nmiu-5y+|ATe+AZ0kq zHRtEizlUM`SO4-W@kVQ7embF6gKB@AaHb~GcQGd9y*HURdzP$I;uJG{&Is?h9ThRVFmy|No+zM>p z`h_^hdgQ~)Je0TCgI6arJ9r<3m{b1n$^u6nk9uP_{*zIdkwkP_;v^J;E{l!Lnn9f* z^jJ+GN#Lh4861#K4WNjn42TeJq@2$CtccTqc;+z-9bgX_Oq!{6HV%Q!JY_Q`KvJT7 zHO>&V6ORrG9U8^jKWy;Qvu^h^(-byz&Ze=7KM0gH*js&(|jbe83It=Deh85h=#Kvy>5vOJw879Tz?m~%U= zBR3wzaIRhjkEj~F(GB)>9?c@WMDhkJFk<@kwB4-oBvZCH4U3V*4}0XoKGeJpj8hJs z3bKX`%$@738Teucf;p)aU9xLOy4P?M=6n8PI$-)q0S+^g=;-1r5=OybltJW+rrD{X33SP(@nU-i+UanK_itJ)$P`@IaGMg8zoYPdQau==J0h1oT^1qv=FPK+o8$5<}>u)8>AIh zN?4$Z<4So0=Ck3-VnWSXzsD4#vsgC^`wMr))UT)}Y#NeF0JZeNSMoJuJCb44dfte& z&_bTAd(>d*UU8PR(p{5Ql4OLV9LCq?{FX*%LVD* z{aTQm-}Sj~{L5fY9aC|r7-c6u>ZLv&{o*Olpn5iqI+o43$8V->?CrvHPO>USM6_MK za;s&js)N;r%nK1I7%_4~;0wH3%n`-j>PvOl!K?1c;)kTSSXtpm<{aQnZ(yO85HDZ8+rH z-g25nwl?I;S0-fhhu-0lc-swKPoc7$(ayB#`}ZDBkGWc5m}y3qdR3~W$ovdd-o9Lz`E)4^0F zXHd2(?B5-0&Bh}y$c!5cQc#gg+A9)J16rk>l{`VV&&pjp=Hk$Eij3Ll|+?!IJPB>z7U9+RP;QEY45T_rDArD7y|X)ah%dm(!M zL!c>D2(?G+65BOP1F&5!aBS+VUk<40z5Was^XfH~Sfpl)pV|?dp37d|TQ1wOXW~*5 z3QQnG64-2rYh>h7izv;@>i%%PneOI&rNoLalJ=9(3q$N=3=?An)k*d0stti*QGXhh zSk3o=-ApNhT&Xmac5vSi`^^}b17@k;Qe;&{44-|X;^p=T;t*pI^7fL_+g3aA(Ry$`Zg(yvfRt? zo2x1c(7~p9nn}w@ayrPyG_)xu4WrYMp)ruSio38OBdGyx zS3PfOUc`UsgPJKxMefLPUzTQ}c(`U0q7Yo~JB&YSAQv{B7)Xby!@!;37A!aqlY~Rc zDJ;c2G)*#C+*l!~mErU1jKKstkOjRes_GIK8F#mn2Kwrcef zWnVzymbJxP`o?s$>@kOgUk?^(#7y9(POb||EZ;gMC^ecLH-4eCFOEz_&mKY$c5_B@ zyg+tImY|C>4!#P;^P7Z9d{WTRi!4uI>B_s~_EpdE2fyBmbTxP`0;*2knYR$+{VdxR zPpDV-{1N zP(AY+HpW(D9;1-qVz5Ytd?h(@enkfk6h4DuK+r57kFHc7Ysdm)N`0AtVi;uVpE9GO zsVZDhz{n|y{Ej6g#7zq)?a@{5T~%qyF?j91<>bV= z^%255Xu#-JQ?O^pDitO9V{gqm819X%Wj%pXo>GE7UmD5tXDpn@^cng_Us_bQXNqEp zB_f#)shNsM(533?`DSh)dX6x$;lTD zRU(QzeSRPFNRRuk#iK;p+a{)U*ZG=X^Lw3!`MKS#om49h{L0eUNyPR{TIUo8n<_SD zHl2Qpbc|Y$aX8G+>J0;55l6s?;S|VE>$aOyd2#pAB|dT0ExzCXOFvstn^d^M69XCg zyBl@4(uimqY<)$eHHU1)c1++U-{hgKS;sLM3UHQ%J+UoN(IiLz= z;hMpCyxGO{ze5j!Wyh{OD_ z-a~nG#aMW38;CGHGa**KrYMa3+jl9VMwa>5bDvl*}fvny1wnAs_lN5 zd|NL50_dGNB>yAmH7%#w;Y&(>38i%uQ$bJ6jieQH`ERl3B)>|tbF`+o%L27y>-&dF zZ$D6iOny@LwZnA`Fbc@R-sU?`pZBzd__MLTr?IF*u9E$lCtSBG>3vj_w^*fXQIzsH z@^t6sMG@+Z@P}csV>>AA)@6{e#M;>bDicTP;J+PI97q2ui_-A0sv!05jw9X6 z^Iu+Qs_cy7k7lc|IIrF?BfynaFKiTKU9V^6>x!jLi$n$MB$jJApgsEb5a4a{H>q#p zH?$sYLc{Qx81h}JfYTtpV>q-r0^`t`zq0p>4_lfmeRrIdN_I19c5Kr+74DXx z@OR~Hyqg>qK`XXW00wVFX1#?C(;8_P)afw_c#X4Eq!3@2{97^40RPuif%fq)!CvK0 zX#9a2YJwfzjW*jiF7*O^uFX$xFhRr_r4S|t(A*!&-}9*MYpw4*)0KvhS#%XJ3qc;z zDlTiXSQ?791zXsbg}Zptc?Gt&6N36V_2Fy6KeCFD@SkahELo_$JU$&TOuDQR(QQ=M zrWO6Ml1nvk)X|Kve$1*AYf-^2oeRyKB38Mh_Oaw(6$sBN(g!Pdr*k!NUp`}e@6Enz z)2_y`t!CCJD)S0PEfrI&g{ZS!8eDBXPV4)XoVU5{yB9JLVd*SYUM{onzH>FR9PXFh ztZ9JO@cFF!`4~7!4M~MZ#a}k%FY*E02Hqu@Jd?dst?&voK%+ei^+o}=!$k(@3%s0U zGND@)<`8mA2n6XOQjN;qotnBw!!sA_JWU@DNOhZ~8VROr?oP~6r3 zz9p=z6V~s)`ce1&b=$>i^bcfO-Vn=U7m7W^{oYry6@pkhO05@anK_1?DLg4NST<=& zp2MubJpxquAEq_s^&0oyjGGNb& zoof^YCsAg?4YOF*qsUyZP|xl@bGP#;)>=^Oq}c zD+gJl)k3Az7^ze&c`5I=!z{d<+kO!zkvU3vdkoAS4WpdU)mFR1HC=aWw}3npQZ99S ztLj)tkkUJk01k>FNOn9BNygn9$vUG0eI&H|$)8`oV)YO=?)<@%U0XVHDJmZO$@AFY zR+uU2ZWe!?t7M9ld$#nt#U0OAu%hOj9?mBwZ1-JfwVbFN8kE>6)`&`ZX_b6rlhy9p z-7I!lnpa3hjdy;bw0Xf8&Ut*BeuT1H4l-YVk<~>z0<><@ek znx3kslHxfw2!EW$v05OE{#c;wpvs(PlVZarvbW;+lczeOS(lcQ%=v7=@upLN3&jFw zPc5aQ89a8{tJ3Me)2)tBWN|tv#V|#o(Qm7GW0^fb&r|<_G{vbi)f*lXaBnk{JyFj+EkaJn(+u(^=*bt|iDI!nn~=qiq8WWB?g5y! z5vo3Zh_*#&Dny%l-O9C_`TQycYpnUu5hvb#L?iiDh)6D*EXL$1X$E_-E!6a1S&Vu?z+>6vr2heqR}i;ns> zZ1f**Y*w8KK@(LP!|5{N5F9Z&oUvgkNxRQFVb%@hb81fY!HOh*r{=tcXRD6z`O&1j zex}vR??8APrmMjd>CR><(Oqc>a)QB6Byl>Twk#A(!Ks~*ER1cM_R!A5B~57`nX-~j z36=N?fF|oyd7Z*^?$wn0u`MDy5)l&?cH-xA4g=b)aZ*f+*=U(ZqSCHh0XTD+-Fhmb zU%Q~I@Ob@`FSBax|A)f_&`k|HuZnB+rd2*}Vj;%WZs=0S_WexCdiI)LGx#e}M%%`;ch3-*Z=o`x#yb8<9~w7$9W|?%lP`vh zmb~S{fNMm;m}%MhwJEZvio=M{4d$fw+f*XVTDUBk-zv~@k3## zPx%@}VQWvv`e?}<8{MkrV>@^NY_SVj-6UEGl_ zIpgMUjlDMW*WKz%&Ux1OOjIqz69-@FM1-Q>O3<8Y>>qy%jr>O6864t9F1=7HIY$=h zO84dnpo~p=I4_*WpKtsvtX5-dp$F=kw%&@U%Q1|bR%Pi$v^oPa9fo{t3-9nRq zOCzPRYOP>8%1Al-R5#SyX+ixkf4}uSi{ChT{;Ga zD2hYGma3zWg_eAV4u&Ce_(@6a-*F-QC0`CcS*d@*02m0*hrbqMedNDK4y8)O8JlR$CITKvM3d8y3jQDu-lN5H7dcSwo zMVs#{D)2`+HgT^-AXM@x^6Z}>!AvNCxD%H0dMuLYg)CZ zgY0ycwcw%G2df?s9DB>}e2U!3W7Do`B@nq}hfJp*G0*VI)T0Qg`!-Pp z@KYz7vKl78lqSFINTa3nPxXyA06830sB?e zoNDl>|0YB#wo2fUkW7>s0qJ?rGb*!afUe>m3y>6%J-@T& zl_`s?nLfjKoE2Zp0I>*3CcPDNiA)63Hk&4KyJM$YB*kX@nk==zP_sZtajQ9%D+Zz5 zMRY=%vRb>|h;wSE2Tq0?87r>i9K=Y0FDE?(38WFca1KxU81_A^mhqFn$JT%i7kfVp zUt-%d!M=J9Bn7Ey)j?g)gZndKm)(|8devXy_1yg1jX0Ky?jUb_z?$Lxvl1o+la99o7Te^AW0 zPVH(JmhsA=x!#nH3*$b?Tcrmv%mQz9&Bhp|e|{!n?f3>J-t9gM-q4hY+3>Ll|JjsR z@)wNqYBdOkzrlotP1MH~JA<7VlpN62M$Dsf1M%U(2gG(t7%%ggH5vwLH_JPL4Vq~RfF9St`GyL~d3@|$WFCl3&I z;&9-iWqzOLNY|Vl%GgU(QZ1y6nY_I96b7yVXE1f-?cHpW?}C!^D;H}P(ww>agl?Lj zSwf$il^j#-F(Eg7mEiw5_h2TFv1`?FbF#XEB6Ko`Wv+nz;TG~=vd5Jkn>%{Ts(xM~ z?xVCrx_Gf2Rm?%TyG$xNSc^ZB_rNS2BmUZFF5mVJ1}#2A>@4#4syMZN;KM`jp|>(q z4bpv$H`yS>Bp$-aG%%p4qP3%VP4Eh`P2_;)PymTU$MdSy8)e*%;VdUmn`M-8TD2@v z@O##1Eloi3AiubN$z?rke&6SPDtO3*Db$$=F}75B5xHUk@*X%RJMCOUuF&bZM#-f< zVh_JKsaGDry@h&@VY31@H(6vA^z0j#`@NxK_%J%sxVi#Rql6y__iuW7yt#wzcNd>; z|MFbrXJn5nt-z??HiuBPhwf?4_rfz71Ai%6$o)e|D9v59M5J)NHWaZ6tB8#`GK2EN zS_oK^Zc(J*VGU`8z&S9YFvsw!W21)#pnZ0-(U*W z%8wl?K0HAxnwiUWaC6TLqcV_n$JVD3g-Xm9Z&mw6Oz2CQe%nM)$s5xXcr|ZV(;P7l zY2vWO;ESSh_e`KdUQmm^qBp0YLrJwh%>cvcBs**AjW0@R&Y&XzM7pyH=qTAZOzso) z*ypP%S3|+BQ+!ZQHhO+qP}nw!2sNYTLHW)wXTh zcJKAPvuD0{;+u#)`J*DUA~Px~BY#vx9rt-*@3-VhA_+}%y!&Rl!Eg#?4Z1r73WB=h z{LnoML(X+!*Zxj9b4G-R&%%~&*oH|{ZTgNS4~DG-m)G97NxpXF_cDI35Et`R(7bHc zJnFd~IFvinA#$0P30|I3POZ<9t&?zQe>mrioWb$a>-8h+eCMl4ML@aQh#}=_A!IBh z;)Qk+Wyw;i<~8jo`O4lpQ{9PkBPOgWmB%3J{o{NHO>{<~q6{Fhji`xPx&1f4 z_Yc?mZ+?&c-@f&K`8{@~zhd$~{T?F&Gb8(d9{xMvV`OCc3pD@P{uh9+jvq#+%&eHeEw*?)M!ShpZq$xvKJK2 zFPNsWf@1`g6ui_;Thq{Z1K5wUve^VsQ-ecOQ*$H1!h)@fraiT1MEZp`I)({TfATRP zunB3he@~Oh;ON<+9I^_0sACIgg9FgA;$ySvQ&k1vrlz+2gCUgl3V=jrXW$$_1T6q( z1n(qPfEdoaSBqUql5DrAmHxqj)u%_juw$vjKGWBhkI!RssPLxoV6)%9H0*hoFsE8 z;IBFyBmz8J2gLnDsvfS<)|SZ;2rvVrU57ck{kQ$Hw2gBJ;sFPzkg5tm!5whnM+&+=;e7ujq z&HcMOnt8tVlcZ0Mpz)-|8|Wva>KE_e*7k+H0bmPz>#J%=dnK^K0^a2*R6_FW#-V1& zW9=l;A<(Xosp--25l{dQAOSox^)9^^tUUOvJ?RGhoiiw(9vlLAz>qT{0e&6m=^OOe z#M&S%h=ZdO=$pq^`Kx`%;4l~icxF3*j9`j^cai^E?hrwA@9o2Fb{`&q@AAo(F>u}Y z`{%>Nu4nfo;d4vQPsUFUy@HUux{6@>U2W9QTx6sm4}jhz4i12s8=V>eJvn+nW+M9T z!w${Q;!p0nzqG1Mpa045JAHmtHz-KohdSg;_lG>DoxeTk)(*Nb{Ob*b)bA5jFu>FA ztxxtUohq{#|JCo@m!H;&pPls|qqkn$?;kRfBP;6=?^WHT#-R`!-3^4Nc-l?>p2w?nNCO`g}HzR#fK zoZ0?)CP0l~eqGT9HZU_b{ledR=uThb=_Q|@X?(8+;>}&~4^L`h4^I2(;C8E70YD}v zN0uj9K6x@a*$48d=fyAM96fk30}h~hMo2YB?{oI#1AvY|p0AB`at02F>J{llga-#G z`=;Lq0buz`y1Ez3|V=1O6>5!0A1_kDhE^bTabkPE)QnoQva6 z;uk0L3jeONnVo;%No?B>^jhv4kN?0=MrwLx;=%*>^G88W_#6J`#~er?kARtkG&BP9 zx4}imZp#LhqLKUY7UUnz4BaahFSAHPpeT4fVVyilw-+e z=90l>ivd2CyXDslTY4`iG*0_#&R67XkK*yi&C-ln3U@$IX66nv&1R4l`r8>2i5LvB zz4B&sb!Uu@m>$QFqSLVNnLGX0K7TVCYg z{O2kUg;B(iCn&uC6za76F$9@6=Y--K(EZV)zkqzR^N1X{_%*7ImpA)7SIhp*=KxV^ zU%Wnefl$z66@Dt^?E>AhTAm<~5YDJMsb_Sm>+ZEP-HA6Qi*CLfDEp;2qQSkKL2T@p zt>pOo^tI{HX?))|O^0`pzxU>vqnYOSWt_wLQ91g;(4y#uzIr;UT)ZCL=s>_%LBjM_ zU{A){7pv+h$2i1ZS9LN1br}8>ox(1gm!OoeAK@7c3SW1|Js zFRJXRMQnU&Z1HUyOqx$&m97x#+Hvu`GWFN$S=%zL(K+1d&K&iP^@k7jEI{uS7(8t? zX4{J_!>6K#>l+*eaU@VD5)U*vSI(x}mrW+HQhvVignFJ39)S|I0aj}mlwvRJG`!^( zaP21Ug5c>i7ORsnS#ZRd6%8>Kn%xNf9pm}*oy5_KJE2I3*;HB{ly4I#vNNSPxsJP9 zx?CWu2@k|*Gt!S4i*#)=djMVw5$ZRA$r-Z-4Y(m0iPO4 zNxP_&ye`a0p5b(-ErT>HG2_v}tgit_)bk+treX1R40Z(KO>zua8+zmsqmfDO&uh3o z9TH^0T0Y5tVoMis&74Rr?HrNNP&IdDe)H1ThXwp%9J@TSOeri%Z#k4KRoAhZ}Vwu-uHjQ%6? zM$cGIT$ZC#S%z!^!GMzamMV5qp{Huv9eE(O=Y6%8Qp8^Ib9%dP#D|Mc$fi97;$1%n((wg6aJrEByC`q}hO zKJ(o)(mXSX^>Aq(bXw(SCGP7M3&yP)y{c_trDl9N;3T(&t47c&dm?e*5eL+W zUGf^NbVCP3Hf}Z(*tOt0&sDm*^zN6FB6OtbbK{IK_>E5Wxvp{)@9Hi_%bkceMz&)1 z(?QN-ED-jcS}Q@L0d*Y}Htk(kf$e;n#hVH$0BHro*wv7BzaBcS(-AYzxw{_`?-4DQ;ThKDlMZn_Mu+%=6A(5CL@~$(;3%g&i8&8_>V8XJFt`{@o3-3^v~7W$w{;X9ap#abB0%p2rWB^FNQ4?5I5Kz+{{GPD zx><(I!%n{U#_IdPxYm$=s7fPZ^L|*u*E}y4sN|k?=;Z;2bB85#7i5MLwuBZEVAIbBuVP|-rirVc*foVXN+7Im=}h7tMjqYd!6)u7F+RM#5U<9Cv`DA! zuMn`l<42>91`)*61SQ{@z`T+dNxy`o1vj|DK%Z30qB{j&T4=UJxO;1g}Rj-6Cq+n!A?fD(t*obNm69oBL;=VS z2s3*v2-k_DYEJ{S5m4&RFgCDPT?{nT6W>CvaLO4UUfs7>@ZLH7>`GOqb^o#bkcyL zuCVXic)VVsWi1=lI=L8N;?Lk2<3jED@#Hrr_3#?ovz~;5-+;hy*i;dsXA4^&hzM(M zQ7%uO3kU%(54Bld|9)EQWIlbI`0Bgvv!HVVM|CaT?r@T}Ji76h_oNPor9WZgCVYw2 zTzV8^CpDW<82*Iu8UYJKvDg2Oo083+Nh{)xjH+$KHjesBRun zd5#Dyx>h0&`i>iK$Mvwv2H-Z}gM?cwA>Znh58yz=s;DD`#)<`f$8y>37)76b=DqfxL%GO;A*05NiJQ%Jen`rtY}{jdvfRi}AJ|+b0P$ zRfZv1SU8-83@Td9f>2~VZR&FABp&)n>Gk~teIT`SAa7BndNyUhkW|*56@=~rMek`t zT9{%6#55;p z`@Q@;yDO?XgWSmVA>C!>r^8Z%(EB9ZMLj`v>nK6|w1fVL4oIes9R1T(BY8wDZx}A! zVK3dx>~?3>d!z+xn%}I46|5V(s z89p>(35VBPcwgVsia8XK9>==gvTSEzI-rM*qht9><;mitdtZMHwU`Z+h)==3JlPky zncZQ(?^>4+xb|QTq`@qC?hgnyhj~BB(Apdvq&F-xWQ)zRBlL^`I423vI4}!CyGidT zo)d+wjSGdpq(tAd9L<2%l#T)kCYwH=%@Q$|MU9GiacYfrE>~g>h@1yQdsf22OFTOB zc(W^zXVx_WF%VjCb`usK$@Y3k*lOsi>Q$-^t6X2c!&QX#+);g$ zth@c(+}}KwrXQUoTU(X~={ZL2tW%H3T@WhKdEqZm;=q7Bamj2ydu1k!{m>E*Sh*jK z1_R{_p*LXOON_Gv;3+YE`aJ6;2HeQB#|AdH z&9WDW3NJaxp9^4F_A>sMg?-qUl!x&7#V%AzBEkOM&pYw=F}8i4KMcMOCs0Rq2&G@~ zixT2#c7MSgiK}+c3A#uXzH)qffVcCKOc?zb1@$a2YH`{rKaQQol zs(ho269jP~y;GeTqB0{iMVjR;b5_sBwXm!(?4VJP$~0MKAQF0o-JasD0AyA&L2M~g z8WIAAg3RVx*Rz$-*}5%OBh4yRBqP%no&O131P$Lel1D_<(nu07z4NV!iZ*8@+*~_t zvU+{eWTK)B^*I0~pGhh#E>f^n<0s86?!ZT;9?B=MVF|UU!hsRYx`$#8W)!i;qY$Vw z;q>l^G?q*V!G;&Sh)xX=iWHUVBLL3fxSCW-6F%63;A1~1^4y6}NzfMfHJ<}!j4RNz z`J3d`4{$A?oq5{WccM^-cX%4txBtD&fhSDWmzShnezdWETHpo^raEA(DR539 zDu~YxnWSPhSmTQ`5C2$j35*$JC{CTw^>we(!p5#}^t3r^0~L8!u%OZ{Y~5nJkW=l8 z*1;fry_;W^se}ee+#PvJ4a;hGw}pUr$$f$8;3&oZ~5k`x(i4ELmhLqqyco8{B1u;Sm+ycqqSXV?WQiGb!4fQ ze!R^>`j$+N8GzUIa1B!n6NmcQvXM>oz#JlFICXjYXare}dyoZcyn^lyBE+g=bj4Et z^5VikqG89rEkUEd+@VKNTCIqx=x(dveH%aY_Fmxak)lqas!2VrjFfG_;kH2gazx4M=2kqaAPFT)l$qj>r!$-Qy} z>5b_8XWBRY%;%DL1|;REU5b_dA*}=U6I*>{?Gh%@Iv}cQX?`#nPh+wz_J65cqO0F0 zmCK=)BCJO~fUPBeMRy)iY-`0~OU~E!^3X#l27cgtGzTK~hRVl&K6~0d-`>evE-5Zf=oJ!aWt!tAVly4c z(`g&@f!ql7ev)aqd(oYDlwUdo06ctM7lej7CuQe$iu<=Ux)qnw3%Z!7**Y;0v`sTA zal7>xn4xzAm|u#9;X}#+ObA9Ve`xoCwzvvvhI8zp9(hYGmhIl!8up42#cypy0z8gO zAz5a&C=BlbU8$PR#6Q^l$%oV_ryBr};JbbYwhy0BM&qI1S^`V)ukQnq9|~ z9A5MIZC(CJ6{xp1{?53a9M(4OoI+w3G(rx4%)ac` zp$Yr&WHaa?_dGeuJ}(gWiT}!kDUpck!ypy0_#V+d)x`mrJsP_9{$y zYayOSJNwA|$KDNjz@$+-Wry#jRBvLIb9X{E*+*Ahj5HnoJMtOHqXkht4rddpJxkjOZyGe~ zos!|?(FBYFrhSDRI`lc^0d=Q&BpG=>Re(7CLVfP9o0r~XN)!fFj}k!rDZ$g5r+AX= z9!br>sOR?zDiggcX-S`0k!=rioobOD&>^H3lI`SYrz0(T6h(?51-v__LU~?sK3r)4 zJP`eQA7qtxLut$SCh>ZC32v#SY1qPQ54DdRDvCORbw3_t>qV`pYm?Z)^QBvL(Q)w!PM0vp3;#ddHLLGr6H1l*FTtFQZk((`-7hv`|^9)b=pkKT!xo zc{*^yi%C4Z&4tgmzDsg9gKiMo^j}AAqXd^=hZ6K52a@vxZj&&O=?_gY0Y=VedC^$m)Qv`A>*RmqJ*^*Ef%u(~z-At&& zT=>{YY$M;L`Qsa_)qdca9c8{neswcb{vi>+aJ~NiHrnVu7=sXJ}WM@mSEHye-vxb+*GH;L9dTsQQpV=-tw}G}wh{ z(DOa(t}%0rNpDHWX5ud-uotGT8WTEJTSz5Prx~5VB_-qw7Iez?)i0pUw}0-Bi904PxF6{B2Y$J=s4?4qWa&Y^Sk! zp~m)3Umh6}Z3*X7bs&s5xNYlCqa!|Vwcrv;)l_hkwU}+`_f=bdua5Y2wL4rWNE4PHB`jMh=xM;4PIEAofh~jscw|y zAUHQKx5y*q9{o2s(He^B=0~%-B*Zyk+#@F4AL_%;CP&Q-iK;1*dFZ*Jq%wn%flCj4 zwT_4$I7$qL(i~*%$m{yCmo2tfX(4h0Rk{U|80i=jKAv4`8!4)3@Qz8iI#?JQu{o)U zcNNDhkB|hAwFQD}Ue?Pk%Q<&^D>9~%T!#lG;oNzzY*kM4G8L=@K?QA`^jVYEuX7DP zojr_tU)Pv;TGCopiArc`HTjH{TApm@wOUE!Mpi<$Ib|%h<@> zhr0-6DM8K))}AmWj%ugkJzwD=r}~z&5EN5gOsPQJ#-x*@f8qq_wEgCeR!HpUmQs63iRsh>{F`~|Efu$-qpD9qV-#dB_)+ssHvq@3gp!&be- zskPhg_RI24cXpskj@>WNskJMoVHKV6B2(3f$ol;rGaw$j03jQdjv#8)9;DvTq^b9>`I_6U~d4e zG6Ox3Cbu6Xraf5>He=xc`G7r_<={_jxUAJAe%o#B1-T0gTtkS?@O?KB14s#lkG^Kj zjtnj3%aJaOBEMMapIw&*Qx-@L6FY=@eV@h-ivNaw6-YDQrtPVHZN6IYpLxwQBIDiE z$VB*{+H)xtXWugc@DwLP2}Ex>YjZlv z;zXj>#Cdi%;JMxkhhIK!ZcsXm&~!2?Bq@s0ZNY-PqK^*;SLsW3osE1+Iqzho1faKg z?!O}De6gv6!x84~L&xibVk;K-*w5~j2FB4jF4Lr8Lkl${6C|Kj-GH;A=y9qUY#|c$ z(;KH+?RF3PYs5Q^s1k2#F$Mxc76;q}2I^9= zfCJdTzwNN^PQkj`bv&}^dHWMVgW9+h&>9YQwVaNZ3G|cP*W8NxMtPAf!esqu;Y&iL zzEliU7H?Wz9yMOT#=1)^q*DYaxwK1!d&1V?(A%ExiF|pB^;o0Y?6#M5+j6;$gQs5M zNq@E~`H{z+adg0H$gxn}(A>|3?%*4{ja#-$t-barC^P$;aljaDZf8M?to$m%z{BQO zAA>59yqEkaepfm=H!Z#1YzQW{aJf76Soi3V7s0)#5*(-qb6iAU;@k35_)ge$c4|s| zz>|_a3rP={Drvr{I5H`+*O6B6X<5l&k3lt0)dDxrYYWW6lx~_y#vl8txm^$HnE@)PR7)fa{Mz?u2`*>|s(%+{`E{a*0CjF;1u3 zkbCLjC`Pgnohr8UAPIgu-d=gq$3^T|I3#KBHL6&$#-)rt{I}eTqdk9SdAaT)H9K7m zI5thNkFkFOuyFODXov3SNFmAbu3}n`{I7~9Bxj0~8XF9;jL)WE`3T}CFmSAN@0V7e z7~Qb8EsH#LmPvME$z`9Y#AE)*T@3AvzO|uv)if9(Zvm4AD+RcPg7TDxkF%{f+A4xV z^TB+z$=Z_*7t%@>IvzdzRktPbanGk~MCo7TQx&qn&x9wNI~!K?m^?8gn!b{C9%>fh zu`VM%UNa)g*TpaG7BK1lA6G_LW40kN(1(j(eH$I`q{9bAuZ;IgNhg@L+O~PwfKC}N zc|ITnrFg}4#-8sKr*r*7o7{bDfor;?R=UJr5^_7G1%#}sJrjl3kqp0B@m*b?4u56X zH0{*MSdZ{FM+sw(wJS>lc`=^clH)Z?rKzV{r5)6W2`osj_<_J}mCB?DCC$QIxr{ey zin1ixw=UbgepZM()+y5OnpuLqq*d(5i%@G^5^UyM`1C#un5W#R|4~XHSo~`1#dLzS z5wf*(I8YKnXJ=n^+J{x_mxP(wy2_)~%@Lb$C_T}E9AH`>NZzAzw8%8ks8GQer(dVr zikA0a{BstY*ttD4%fe7BYSWccg>mtq@W9&V?&1^FVr=}G5$zW|N3x?d~b0EO@oGU16EqE z`KlT_x-%=2dh2v>ik#XMEK=l2C+td*FNq;IS z9i3B9JiRKP;ka6R!^$^5q`4SNafAkjH4e?YEbvU_SPPY(L-~fM^NJP-L ziwE%nWp&cTP;s}A`UA=?aVDD{9ln#OX+Mj@KVT%rJiE#VcL9UW(Op$b0nH(5h4E2Y05fp4WqLi?OH7Lb$-Z7gMsubmzRt5ua z8N(xm81^u2tRWf+BxC&;bx&WFCPpmjkv(zD<`7hgXH^@m>S+xWFj?^Rcs-e#7!v@d zMw&#c^?FLVT^U8wITji41toMSUx8~kNlcB2LtWIYpjukY>t(11TzS2OCKzk7lF~<2 zG)vLSboE764k;fGVjqZi#3-s>9c$yyx>=2XRKxg_oKH%|7lcLAuuhVP=KG-%V|n-z zW!p#de@*dGtIUn0=_C`pomvf25T~^`V)GVs9_AbopvO4Xy~FJmKflDx2p=8QWN{#! z88u?Lqk2|TzT$#M*+F2QMcxb=+@ZSg_Zz!d$jj>wo!-x~`?ojQY>gj0`~4PJNko}U zMbd(lfr6cl2xmk;to_a-Cnv5mBYz7Mx_!N^zQR3!@9Ds=FT(y@E1=&?HX_YR#{_Qk4@QVC^y{3*_3N2#soj@%5q7V4+rG~gIouw(R<+a$4 zSAZ0G!pu=SgKhN-B)+pJ1P8#X%N>)3qDdU660WSFg9vntnpNexu8q$*3~!avYrApS z791vek;Ney-(RYP&Z7*VBPS9elz%c}S9OUS6O+SuB-XeC7qtW%`o@F!Ho_fK=_Ui( zb^8Q&>huGnkJyKEl|q!Qhz47`rTUUL-dRo%-a6qFBgVTr>jbFb69s<|=LP|R(}kMK zSI`BYK=SjOl&yT&y&k>LL<~x}%A^M+-0@th!UowgyM&3jJRRvhELd1|eNtpw(+v*b zEgim!mGVF^=#Q+E=oY~;VLla|7Hdah0Vs;S;b`Q|nC|hz!pLff19gG@SQSWT_L2-I z5mGb(ma-@UQVkt}o?YNX1}-|;R)1X`^mU@km*(yR(j-4#mH35;l|Kk|s^LUg6;XX) zUK2j6MTM|(Li#j^(pVg96fhdG*%Joy_^!77RCdL=#AI_MTW~9QK-|5dv%>5iY7&l| zipwl#tE8ar@-x4=3#8k3>3V1Ezruw4IFjXAz1SiHQ;9?qe`&~dr)kiBW*|GAgH2p zVJzUh+q&T9=$mKcTZhQra)3xpsRCZIxjkXNT(sfAW2TdK1{bmiV=V3;w|kHx^kc^1I}@I!tkVX4+jvB# zEj6)Qx3l}~-lc%KEm$;@9ckC6`nMzP;Rh%q19*kc-z*%S}M8~Cp1Q|n)9?WrR^>6i{l#p3oGff!jVK-Qz1 zb)M~%!^x&Q85@>3-q`hKs<_d#5g?eL$+UMDMR&N8KI~S9CCoOKcru)&P+X;XVN%i@ zkGLB|Yi&^VB30H`VPu*P&ea2VSS;z~jBz4XMbU6ZUMA#G9jPT5gIwD5I8AmUE49V^ zWDEm;K`#8k8T-1d_08Hc_Gm2DY-W!|j7H(qGdyfNJ;byrQ$An2H!96W*bHv@_!^N8 z!KA?*!z?h^)Ir9`ZL-0Ec6Y)W7t##IJf^LO@`e`rOt|#4FC!%^iN0a648i6p8O5et zCL`?Jsi*sGX_jKLD$riKP4#W3_)a%9yS~XvJ+wJKdWnbXVHQ_wiGv)|`#Ec8rk)41 z$ktNgM={%83gC;zZnvI^u>3h1A-SBDm|?=)@Q$_<~3zUndS^Du+_{hjCPnHMEq@?8W}D==gYkFiCMJJq}Kva$m%E^%ZopM1q<-EgtbNth(9 zlhXex&@dN61NltKu5~&DpkC$?o%wwzs?Mls@6DVbB>rCD7p-QFM$%b}k+@<$yz9oZ zSOJPlu9gFb)z`r^E4MP9F__v6brl5@czxelG8T~)U*#?7VrXM&ENEwLV@mK}30u~`O8o!h-+$j0wlH*3HgzGO_?xQzk3_BU zzv%ZrAz90R^<)33#X8Xc(|Y~?w_QE|8w&r&fd4lX&iQZm;=fQh3)A0^{ZACm#=!X( zzW>M3zngG&1~#Vub=1`ZTt)d}o(%|ys9OqNq876IW!pRc?;2?c$ltSqUdh{;1QOyP zMH1p20WN1iN+`w95D|I$j~>_EC*MC>JFN}N(|+bT>7KcsxoczVHk0pSK2Wg`;1N_n zvHQSxz@&guTw-Vh1ON~y``|#JcWbLL`4kw3_S}4#l!MTaqJ5-4!1;%u_2T)qoi->sx@UtR)gc3e%q#@zG=!L42f0AdgfC_(o>;!tvy=qTgD zN&;h*`#aWh~HZh=HUP8ft) z3O&zy2mtE-PpJ|gTMA7(w|$3Bx81QY>KDk3T>002QAU=aS2=(aMT zz8Czk^`RAWijZR#cn{D)XdwVZIGf;<{!^f+8y+O!{yq!@{JZoZm)ZvbViy9m5C9Ir zoC4=(XKl_bVnN^f@y%QC3m`?H=~Dn;w|1uYx@r!}S)|YK`zP#&&j=6}8r4=5H-|sz z=SW3GDY{kv%91V9*@;?2jjeU-;)w(+~B;57p1lc6(i@W2|t;C{k)2$IJYXK-9lkndD@UM~ao$41ad zzJ?t-2(N~3O?6N>F^+F6K|w^tfbP`PZhk&3z|&+10)&tpRq==&`$%Ar*F6XnE|7p@ z3>XI?kG&r*jo%OgeSllUO_y`eJ7fd`eYj9BV&80^g&3=f+1Mq>b zf_<;j4-j=KMHkVd(-U5xT>3rm2OJmJTaJ`y!SzHG&!Oajbn9)NR?In3Zn4cT!wpa9 zl?A0I!KZET^yHsaUeNu^4U5qV7*xU9Q6oM>#5;1{*@Q8%5Lzda^_Ok5^MxwFU`E{1 zHqx;!jc*qe^?do+C-~C#9r4`oB+mfX0r$>G$243j1ww`|c*n%hX3MaPWud5&Na?Aj zv90xCV~4QE#1`|RM&>|M>_4;7?)8*CsL~Elr$`+*K?QF8g53`JLb}1TuR}gU76Xg$^F;oygm#2TM-E9sg#%6 z-1)6r)9l}50v@%jw9}!je3`28)zgRvJ}f6?au8~Zak4`YeU_JcZ{^I}U~V>WMET*v})6Jj;BfyEP-9eccP zxv4)F3xXEEIF-3RFO@GYrssOnj6p64fsbS~qCC~NxBKkQrD5YAT8m0HsS3)#szF8K zXw{tz?`ma9;`*9_+^A_#;EbNP&rBcLHC}g_9tAqY@F< zTMeDGCR9khQ>x;$4kWQ_7kOf5KF-v~Hn2}YS;B$)&^1i=D)x7L zA49jh(HT~deXnW*PAxfn+FFfmk0ncSY8JwftqHsI9I>{fw2b0;UP=aa^p7+?#2hBn z>aOf;wNZt5nGx_suGocz85<_%7S3dm7Xt~pczT%@OpO>OmB%6v`%k}yWE)4$ic+QTr6QJ=(W!d2BV8!95aMPZaHMPsb|-? z4Xj{#0>4PT%cC6D!+&=3nAb}XwSK#;X$5# zy%Nc3qc?i!nOdwG&rm0Bjw-}ON)sh(&zwmt`Ea!%?b~BNmRNT^B@bVndk@V)$92xSPd+ExusKjfvJD+lVqDash|T z_^0a-MYkeVh$*_Im|;Am{JhQ|IT_5x!&KIew$dNnBn|AYON@?JuYGQpD)Wnlit>=d z=gWWA&AP8{AJ$Ipmkq@39>F-O)5yg^rbe{2>R0;hyqFfj`K=C5WC1LbZw$IB-yxF4 ztrzjP7L`k0&L<<` zze?5Iq3PM$ISrVQOD{f(qP8~!OmpZ zC=As-;-DkVE#`XF^ZB-*a)jmXut*hQ0NT_&!l%LV&|N>4%<49IM(VjdOC_`NjlM53 zH(fQ3QtXNC%4diyRplJt5QGcW!OzTcT<9?sOX>JaNnQoW$_Cv!UST>Q)mkE|>U-D)8S2iPI>J(E&$ zn3adq8Q$Tt27YL$Yz14d2O`-L-HoZ6OGob3FC0sP3?UsizWUfcHMCx7-Av1AL$y2g z?0ccz(^Lh}elmlPaF0jb+wUcAoOemK)gL6<4}vD7?{CgJW}(Wk$z-eN$54q&MdBW* zVNX)lk8u*y5EX#YZMsZl(CXoq(MkC$!Prf{UoN-J$939y^tJP_TN1a8iUAF(wDqjH z$6fYGq!E0>Ks&_=O!jQoB9$<{&dO@Az)H~3Ub1_E+u+|c70H@zr(FEcw^&8I}a|Jj}=Xigm!_JAb z00P}$X{P|0HGSZVfHel58hiA=F8b-{=9oTsR1*(vyawoeRzjn}$Y#Mi|fICL+sgen6 zB9*?!^=k&gMDzD&SiQ?0$ApmnPbE8v#GiC~igw1Y8_=Ui_1Fx`7G-b{%XJ8A4b)#`#Np2x5gR z5xCmfiGO9^?VG!c;~

F7N#fT_56|_1+x+jqH#Kr4(^OHy2cd; zV(0H4(+L#$5;Qb{+MXdCf}AG#BtROWc6dlgjm*@`zU$jjg%|JNIXP z@Z1>m*tMcr5#;bzZ&)0)WL_u^!8W6j{ck4+#`yA&SF8vYnZvw1-d_*z^Vz?F%=iT@ zro`%JW|Ztw=M_yqHg`#r_(I$^4wl{wkPay5=$K%Y2Xl9Lh%lr5%sx3+QsW*;hljv1 zj!t3;stb@>GcwrkYAOj?Nj+Q~3;(hUAQz6c_J`f07wtd6=`%B>7oW>Zfr#^d$3pawdf5@h6=R zv76w_FH3%uCz2jDM)J=F{(So#rbiYpije1pr?+X4jx~s=M6y`_(0%VTViB(C6014= zd}7G0Kbk^yQ6aV^HgJkbJ`6P5`T^sc=BY0s2wf8kugH78Ji*4pH6D3*24e)-+k4nl zRb6h&NGB9Cp%7{&SW>Px3a0D~UIU(VSyGd7aohMVe?toJqK_BOsdwjeiiXH(fy~pa zXG^K#YrWBR>D8xi=r~rxFS;4@zomvjnTy)xlF&@Y159HnEL zI*CV{$_KVD?znCdvNqt*-hWXyM~1K zEtA%B4?D279zuFnont-QT4d%YTC(f<8Y@4XKwSN-Kn~$MH@UasVsTHvklkgvH$PoB z*q6)xrP7Au$=WSuLVd9#asw3+Gk#4ondC)&T|PAb3o+hQFYWc827#5#Sw3L*)~W{U z-@QJk5Xi+FDr^YQ$UcJe=OuZDxC5fq&XPFuMk@DrrJ~D7UFmE*h~VVxp0V8t8)T7& z9LWb*G;xAmo;Mj^M-smu-v>xOOMY;S$5PP2t`wIz&jYbIvY2mZC4f!@_}(Tqv9}KoXYB#y7nEF> zB5lit*d0@a>{xI>jg{rfZeGGQv9n3hdEYtNtY|dWhN~(eE;qPlF`z*JXdqtsTA$8x zL$UVAneyc2Qqtsa5Rs+lzObAl$Ko;VHu5DD7X0Az$rrF&QPhK&6g8q%kVr64tScP2J{g-9Pqm*IsFdLbK6MM*0uPs0H<7BJ4EaL~4@(lBoI zvfE#C#5MA!XfTl^uGPQ9FtX;BtiSA|E?$b;+s>FU>pU9XU2OL#Wcd~Rn@%kH8Q7$- zw!X*RfC{yt(YN7SsrMEUe&=Al!YEOE4YopGmhMTDtBI_j(9?>`oTh`&=+LPTYkJa| zr;Hd^H^(h8sS&$IgdVdr6iim~p=)QY0Z|-9mCniI!C;L@jcOa@n*Lg~~O#L{YwP#^wJ@I}1|q)^`aE4;M^7EG(7xx@si;Dkx>3aMYIi@L) zV?~%#Aegj@?(Cm$9YxF^g=K<`?AO zI5gr==o)6Hvd#l@*=kp+?YfiFwW>1~0Dr%RkLe?|v#F-h@l@Ik4vUbGx_x`uJ%wEve!+%!3v;KH+0) z4TsO3Jp77S`Q);H-h6cozlL#uqm*=3olH)Oqxo6Y7M(^rwY(s&hmdHGYv{U`05yAj z|J_N7CnWKtRBjJAef+S|uWgmfan1hqZY%@ul>z&MSRO{I&+j*x-y9m%dUtQc_TI~# z;u7gX!xszMb0Z`2y;i(PsNXo7a3XN{yWu_GHW8g?E>DS?(j1?ip8Y=Urw+*;qC?VGo>e=czTx9peNgp_@PcSKg#JYy2mTzo&P&2jJ{D()u3OVxOr9^V?H6w*WKa<9|9$?-r z3nYqzyY2!!XrTAF7P7t}Z~MkZsN|(>M(tXLFQ4deqt{uf%g@raZuyg9w|O((C9$mR z^Se&+P3rF7x^~@#phvW@Fwq9Z_kuAa&F#b zWU0DE@TE9y)9SIbWst2OZP3rOp3l@Xs=Qz*YrZ{j6eo49-0v};th9e~Ty6Hy&Y=d@zR#-%$*uck_sktLkr9(7}E#)oqKZQ2OdgBxHCQ9=uU~dMaj@_J`Sry8bF#vrPPUjhAHmQbr!c z*?npcak*lN`O9C};`L0LM*EDDe*65%jk+;KqM4FPhKwjvwJX1u-?(X7MjNwAAD}2na9VI9c2`v} z_Gq+-*h>FfFA1`7qprEXG3v-$WVR(rdvx^}+zd*AJU-`6!^jxb`d?`Fl%6k6UcFY(ETKh`3dxnhyd<_cMobYw2 zjBGZ&nvzP?CQ6+ApdirkTVQzKVXdc9@y)JVzymohav&u-x zz8`MuKMh=8bY9`DsKK4!tLZhLZ!Hu?7GqNDHWYR{KwdSTci+?=-+o9cOmDyy8*4}s zoGHlvYg#izVd7a`oltR*(_CalXU*8dO8<9Cb32586@6?P@L4NP?VGK7QM1(GB6o!l zrE@#ubZ1+QS{@npP+Fp&B=7Eynz#=J*w@sPQ!I{!=E^chPUb18yQHu-`SzBrKbp5U ziz#F`x~ZF*^Q5y!m+t@Wpt;+ETXBcH-2A}0^`XBQIEP@Wh?=hQOs|gH0&ZE+>7{Ev zr;eZ5`}XL(wL&^6(R5vcxqjfutidzHHLqkUBBILAY&bqH-ewvp)9TyS_QsCSIFeDX zOMI!~+*HALv*txsX>FaFvDaohPtYXIm~zUb&p2GEOjOMNoF!egSqP!upU;yw{rP%W z*V}EYGPCD!ud*@j7#pT>hBG8#$J@JU^ELPH$th!^b5H2-6eB#J|)@AbUEwr_m1oR?BWwo ziQOnq<9{wa=V@P~H|R7~)ZY4hzqI^Dzmks~9)C5ANLWhvCl#xG9_%e?DmuOW=(mqs zlf9`T#h!`KFVf;$4?OBrjn<`XtxC8mR2tkKpQodXupv9IY&B@ahbPhvh zbAUnqHJH6x#_GBU7QukZEQ)X$7(D94|0fvk5uaF;z;HMWsjBj`jR3J%|0l~B>uMRW zEn}$r70cik)m>&80zmw?WzdT+hFOHIrUp^zP5=V`*L$@66BMp-vs`9D2iJ0%1$g*x zBnTE~$d=o49;=Ha^Z!<5(WuVvE=pakAlz)h zT`C3g{=d8NO0W`8W=VTr7S)*_h6u|1@ZTSZfX4$LIYVD)%2;4l^aIiVrs2R$V{RIZ z0M9PxLtqk?40a9|4Z#EdanWD|gaa21PXuAPoCd=P{1v$*GKgYMJ{XTa=a$nDm`KF& z$R*;r@c|il9M5`)GP)a{>WaBhiP1_6W;=?u zynJNP5|wK`1dr#Di$#dMG$M~~2o6SHvpDhLl*!zf0UH=9&&h`afzNGIWjxxhm6K1I zfI}Z@95V1Y9M5_nHxRh>B@&4+Hx?oZ%N++Wi3GA2mkbgKN8*kH;9l_3%z*{C10iwA z0ItLlc;cP}UbeaKC6T!00=JQt$C@XLLOVib@vEvr7;t=*isnR&34;M1o4|VL8;dU8 znE|mM7wCm1WTU!g4?#m+iwyMCBx)c8>>gN4bB{9EVniGkWE)rw`rjn+a diff --git a/doc/tutorial/tutorial.tex b/doc/tutorial/tutorial.tex deleted file mode 100644 index 5860ca8..0000000 --- a/doc/tutorial/tutorial.tex +++ /dev/null @@ -1,234 +0,0 @@ -\documentclass[a4paper, 11pt]{article} - -\usepackage{graphicx} -\usepackage{graphics} -\usepackage{verbatim} -\usepackage{listings} -\usepackage{color} - -\begin{document} - -\title{Using STM32 discovery kits with open source tools} -\author{STLINK development team} -\date{} - -\maketitle - -\newpage -\tableofcontents -\addtocontents{toc}{\protect\setcounter{tocdepth}{1}} - - -\newpage - -\section{Overview} -\paragraph{} -This guide details the use of STMicroelectronics STM32 discovery kits in -an open source environment. - - -\newpage - -\section{Installing a GNU toolchain} -\paragraph{} -Any toolchain supporting the cortex m3 should do. You can find the necessary -to install such a toolchain here:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -https://github.com/esden/summon-arm-toolchain -\end{lstlisting} -\end{small} - -\paragraph{} -Details for the installation are provided in the topmost README file. -This documentation assumes the toolchains is installed in a \$TOOLCHAIN\_PATH. - - -\newpage - -\section{Installing STLINK} -\paragraph{} -STLINK is open source software to program and debug ST's STM32 Discovery kits. Those -kits have an onboard chip that translates USB commands sent by the host PC into -JTAG/SWD commands. This chip is called STLINK, (yes, isn't that confusing? suggest a better -name!) and comes in 2 versions (STLINK v1 and v2). From a software -point of view, those versions differ only in the transport layer used to communicate -(v1 uses SCSI passthru commands, while v2 uses raw USB). From a user point of view, they -are identical. - -\paragraph{} -Before continuing, the following dependencies must be met: -\begin{itemize} -\item libusb-1.0 -\item pkg-config -\item autotools -\end{itemize} - -\paragraph{} -STLINK should run on any system meeting the above constraints. - -\paragraph{} -The STLINK software source code is retrieved using:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -$> git clone https://github.com/texane/stlink stlink.git -\end{lstlisting} -\end{small} - -\paragraph{} -Everything can be built from the top directory:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -$> cd stlink.git -$> ./autogen.sh -$> ./configure -$> make -\end{lstlisting} -\end{small} -It includes: -\begin{itemize} -\item a communication library (stlink.git/libstlink.a), -\item a GDB server (stlink.git/st-util), -\item a flash manipulation tool (stlink.git/st-flash). -\end{itemize} - - -\newpage -\section{Using the GDB server} -\paragraph{} -This assumes you have got the libopencm3 project downloaded in [ocm3]. The -libopencm3 project has some good, reliable examples for each of the Discovery boards. - -Even if you don't plan on using libopencm3, the examples they provide will help you -verify that: - -\begin{itemize} -\item Your installed toolchain is capable of compiling for cortex M3/M4 targets -\item stlink is functional -\item Your arm-none-eabi-gdb is functional -\item Your board is functional -\end{itemize} - -\paragraph{} -A GDB server must be started to interact with the STM32. Depending on the discovery kit you -are using, you must run one of the 2 commands:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -# STM32VL discovery kit (onboard ST-link) -$> ./st-util --stlinkv1 - -# STM32L or STM32F4 discovery kit (onboard ST-link/V2) -$> ./st-util - -# Full help for other options (listen port, version) -$> ./st-util --help -\end{lstlisting} -\end{small} - -\paragraph{} -Then, GDB can be used to interact with the kit:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -$> $TOOLCHAIN_PATH/bin/arm-none-eabi-gdb example_file.elf -\end{lstlisting} -\end{small} - -\paragraph{} -From GDB, connect to the server using:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -(gdb) target extended localhost:4242 -\end{lstlisting} -\end{small} - -\paragraph{} -GDB has memory maps for as many chips as it knows about, and will load your project -into either flash or SRAM based on how the project was linked. Linking projects -to boot from SRAM is beyond the scope of this document. - -Because of these built in memory maps, after specifying the .elf at the command line, now -we can simply "load" the target:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -(gdb) load -\end{lstlisting} -\end{small} - -\paragraph{} -st-util will load all sections into their appropriate addresses, and "correctly" set the PC -register. So, to run your freshly loaded program, simply "continue"\\ -\begin{small} -\begin{lstlisting}[frame=tb] -(gdb) continue -\end{lstlisting} -\end{small} - -\paragraph{} -Your program should now be running, and, if you used one of the blinking examples from -libopencm3, the LEDs on the board should be blinking for you. - -\newpage -\section{Building and flashing a program} -\paragraph{} -If you want to simply flash binary files to arbitrary sections of memory, or -read arbitary addresses of memory out to a binary file, use the st-flash tool, -as shown below:\\ -\begin{small} -\begin{lstlisting}[frame=tb] - -# stlinkv1 command to read 4096 from flash into out.bin -$> ./st-flash read v1 out.bin 0x8000000 4096 - -# stlinkv2 command -$> ./st-flash read out.bin 0x8000000 4096 - -# stlinkv1 command to write the file in.bin into flash -$> ./st-flash write v1 in.bin 0x8000000 - -# stlinkv2 command -$> ./st-flash write in.bin 0x8000000 -\end{lstlisting} -\end{small} - -\paragraph{} -Of course, you can use this instead of the gdb server, if you prefer. Just remember -to use the ".bin" image, rather than the .elf file.\\ -\begin{small} -\begin{lstlisting}[frame=tb] - -# write blink.bin into FLASH -$> [sudo] ./st-flash write fancy_blink.bin 0x08000000 -\end{lstlisting} -\end{small} - -\paragraph{} -Upon reset, the board LEDs should be blinking. - -\newpage -\section{Notes} - -\subsection{Disassembling THUMB code in GDB} -\paragraph{} -By default, the disassemble command in GDB operates in ARM mode. The programs running on CORTEX-M3 -are compiled in THUMB mode. To correctly disassemble them under GDB, uses an odd address. For instance, -if you want to disassemble the code at 0x20000000, use:\\ -\begin{small} -\begin{lstlisting}[frame=tb] -(gdb) disassemble 0x20000001 -\end{lstlisting} -\end{small} - - -\newpage -\section{References} -\begin{itemize} -\item http://www.st.com/internet/mcu/product/248823.jsp\\ - documentation related to the STM32L mcu -\item http://www.st.com/internet/evalboard/product/250990.jsp\\ - documentation related to the STM32L discovery kit -\item http://www.libopencm3.org\\ - libopencm3, a project providing a firmware library, with solid examples for Cortex - M3, M4 and M0 processors from any vendor. -\end{itemize} - -\end{document} diff --git a/stlink_v1.modprobe.conf b/etc/modprobe.d/stlink_v1.conf similarity index 100% rename from stlink_v1.modprobe.conf rename to etc/modprobe.d/stlink_v1.conf diff --git a/49-stlinkv1.rules b/etc/udev/rules.d/49-stlinkv1.rules similarity index 100% rename from 49-stlinkv1.rules rename to etc/udev/rules.d/49-stlinkv1.rules diff --git a/49-stlinkv2-1.rules b/etc/udev/rules.d/49-stlinkv2-1.rules similarity index 100% rename from 49-stlinkv2-1.rules rename to etc/udev/rules.d/49-stlinkv2-1.rules diff --git a/49-stlinkv2.rules b/etc/udev/rules.d/49-stlinkv2.rules similarity index 100% rename from 49-stlinkv2.rules rename to etc/udev/rules.d/49-stlinkv2.rules diff --git a/flash/Makefile b/flash/Makefile deleted file mode 100644 index 5345dcb..0000000 --- a/flash/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -CFLAGS+=-g -CFLAGS+=-DDEBUG -CFLAGS+=-std=gnu99 -CFLAGS+=-Wall -Wextra -CFLAGS+=-I../src - -LDFLAGS=-L.. -lstlink - -# libusb location -LDFLAGS+=`pkg-config --libs libusb-1.0` -CFLAGS+=`pkg-config --cflags libusb-1.0` - -SRCS=main.c -OBJS=$(SRCS:.c=.o) - -NAME=st-flash - -all: $(NAME) - -$(NAME): $(OBJS) ../libstlink.a - $(CC) $(CFLAGS) -o $(NAME) $(OBJS) $(LDFLAGS) - -%.o: %.c - $(CC) $(CFLAGS) -c $^ -o $@ - -clean: - rm -f $(OBJS) - rm -f $(NAME) - -.PHONY: clean all diff --git a/src/stlink-common.h b/include/stlink.h similarity index 99% rename from src/stlink-common.h rename to include/stlink.h index e2f7b75..24b4dcf 100644 --- a/src/stlink-common.h +++ b/include/stlink.h @@ -1,20 +1,17 @@ /* - * File: stlink-common.h - * Bulk import from stlink-hw.h + * File: stlink.h * * This should contain all the common top level stlink interfaces, regardless * of how the backend does the work.... */ +#ifndef STLINK_H +#define STLINK_H -#ifndef STLINK_COMMON_H -#define STLINK_COMMON_H +#include -#ifdef __cplusplus +#ifdef __cplusplus extern "C" { #endif - -#include - // Max data transfer size. // 6kB = max mem32_read block, 8kB sram //#define Q_BUF_LEN 96 @@ -728,15 +725,11 @@ extern "C" { int run_flash_loader(stlink_t *sl, flash_loader_t* fl, stm32_addr_t target, const uint8_t* buf, size_t size); int stlink_load_device_params(stlink_t *sl); +#include "stlink/sg.h" +#include "stlink/usb.h" - -#include "stlink-sg.h" -#include "stlink-usb.h" - - - -#ifdef __cplusplus +#ifdef __cplusplus } #endif -#endif /* STLINK_COMMON_H */ +#endif /* STLINK_H */ diff --git a/src/uglylogging.h b/include/stlink/logging.h similarity index 100% rename from src/uglylogging.h rename to include/stlink/logging.h diff --git a/src/mmap.h b/include/stlink/mmap.h similarity index 100% rename from src/mmap.h rename to include/stlink/mmap.h diff --git a/src/stlink-sg.h b/include/stlink/sg.h similarity index 96% rename from src/stlink-sg.h rename to include/stlink/sg.h index 7c02028..56780f4 100644 --- a/src/stlink-sg.h +++ b/include/stlink/sg.h @@ -1,5 +1,5 @@ /* - * File: stlink-sg.h + * File: stlink/sg.h * Author: karl * * Created on October 1, 2011, 11:29 PM @@ -8,13 +8,13 @@ #ifndef STLINK_SG_H #define STLINK_SG_H +#include +#include "stlink.h" + #ifdef __cplusplus extern "C" { #endif -#include -#include "stlink-common.h" - // device access #define RDWR 0 #define RO 1 diff --git a/src/stlink-usb.h b/include/stlink/usb.h similarity index 93% rename from src/stlink-usb.h rename to include/stlink/usb.h index 747d54c..76ac921 100644 --- a/src/stlink-usb.h +++ b/include/stlink/usb.h @@ -1,5 +1,5 @@ /* - * File: stlink-usb.h + * File: stlink/usb.h * Author: karl * * Created on October 1, 2011, 11:29 PM @@ -11,8 +11,8 @@ #include #include -#include "stlink-common.h" -#include "uglylogging.h" +#include "stlink.h" +#include "stlink/logging.h" #ifdef __cplusplus extern "C" { diff --git a/src/stlink-common.c b/src/common.c similarity index 99% rename from src/stlink-common.c rename to src/common.c index 18c76fb..3e87824 100644 --- a/src/stlink-common.c +++ b/src/common.c @@ -9,10 +9,10 @@ #include #include #include -#include "mmap.h" -#include "stlink-common.h" -#include "uglylogging.h" +#include "stlink.h" +#include "stlink/mmap.h" +#include "stlink/logging.h" #ifndef _WIN32 #define O_BINARY 0 diff --git a/gdbserver/Makefile b/src/gdbserver/Makefile similarity index 100% rename from gdbserver/Makefile rename to src/gdbserver/Makefile diff --git a/gdbserver/gdb-remote.c b/src/gdbserver/gdb-remote.c similarity index 100% rename from gdbserver/gdb-remote.c rename to src/gdbserver/gdb-remote.c diff --git a/gdbserver/gdb-remote.h b/src/gdbserver/gdb-remote.h similarity index 100% rename from gdbserver/gdb-remote.h rename to src/gdbserver/gdb-remote.h diff --git a/gdbserver/gdb-server.c b/src/gdbserver/gdb-server.c similarity index 99% rename from gdbserver/gdb-server.c rename to src/gdbserver/gdb-server.c index eca6597..666251c 100644 --- a/gdbserver/gdb-server.c +++ b/src/gdbserver/gdb-server.c @@ -19,8 +19,8 @@ #include #endif -#include -#include +#include +#include #include "gdb-remote.h" #include "gdb-server.h" diff --git a/gdbserver/gdb-server.h b/src/gdbserver/gdb-server.h similarity index 100% rename from gdbserver/gdb-server.h rename to src/gdbserver/gdb-server.h diff --git a/src/uglylogging.c b/src/logging.c similarity index 97% rename from src/uglylogging.c rename to src/logging.c index a04ab33..4969c44 100644 --- a/src/uglylogging.c +++ b/src/logging.c @@ -3,14 +3,13 @@ * rest of our code pretty enough. * */ - #include #include #include #include #include -#include "uglylogging.h" +#include "stlink/logging.h" static int max_level; diff --git a/mingw/mingw.c b/src/mingw/mingw.c similarity index 100% rename from mingw/mingw.c rename to src/mingw/mingw.c diff --git a/mingw/mingw.h b/src/mingw/mingw.h similarity index 100% rename from mingw/mingw.h rename to src/mingw/mingw.h diff --git a/src/mmap.c b/src/mmap.c index c5794da..bee0dce 100644 --- a/src/mmap.c +++ b/src/mmap.c @@ -3,7 +3,7 @@ #include #include -#include "mmap.h" +#include "stlink/mmap.h" void *mmap (void *addr, size_t len, int prot, int flags, int fd, long long offset) { diff --git a/src/stlink-sg.c b/src/sg.c similarity index 99% rename from src/stlink-sg.c rename to src/sg.c index 03df7d8..4057098 100644 --- a/src/stlink-sg.c +++ b/src/sg.c @@ -82,9 +82,8 @@ #include #include -#include "stlink-common.h" -#include "stlink-sg.h" -#include "uglylogging.h" +#include "stlink.h" +#include "stlink/logging.h" static void clear_cdb(struct stlink_libsg *sl) { for (size_t i = 0; i < sizeof (sl->cdb_cmd_blk); i++) diff --git a/flash/main.c b/src/tools/flash.c similarity index 99% rename from flash/main.c rename to src/tools/flash.c index 0ba429c..770289b 100644 --- a/flash/main.c +++ b/src/tools/flash.c @@ -8,7 +8,8 @@ #include #include #include -#include "stlink-common.h" + +#include #define DEBUG_LOG_LEVEL 100 #define STND_LOG_LEVEL 50 diff --git a/src/st-info.c b/src/tools/info.c similarity index 99% rename from src/st-info.c rename to src/tools/info.c index 1671468..e29184e 100644 --- a/src/st-info.c +++ b/src/tools/info.c @@ -3,7 +3,7 @@ #include #include -#include +#include static void usage(void) { diff --git a/src/st-term.c b/src/tools/term.c similarity index 99% rename from src/st-term.c rename to src/tools/term.c index 245ed59..9b46e2a 100644 --- a/src/st-term.c +++ b/src/tools/term.c @@ -9,7 +9,8 @@ #include #include #include -#include "stlink-common.h" + +#include /* STLinky structure on STM chip diff --git a/src/stlink-usb.c b/src/usb.c similarity index 99% rename from src/stlink-usb.c rename to src/usb.c index 9865412..e8d8ec3 100644 --- a/src/stlink-usb.c +++ b/src/usb.c @@ -8,8 +8,7 @@ #include #include -#include "stlink-common.h" -#include "stlink-usb.h" +#include "stlink.h" enum SCSI_Generic_Direction {SG_DXFER_TO_DEV=0, SG_DXFER_FROM_DEV=0x80}; diff --git a/src/test_sg.c b/tests/stlink_sg.c similarity index 100% rename from src/test_sg.c rename to tests/stlink_sg.c diff --git a/src/test_usb.c b/tests/stlink_usb.c similarity index 100% rename from src/test_usb.c rename to tests/stlink_usb.c -- 2.47.2