libucm0-1.13.1-150500.2.17 >  A dZbp9|. ׉JK{-@SP$^ҢAm]9/L@-lO=u_:Y~̧ⴉ4KXH86sJ>ȋJHZ:Qjna1|ҧ+LyUfN}[ψ ABxpŰ\ Bˑ6/9It7 b0z3ę]PѡY=b/>L^$(E*D;a[f>ibY}6 15b1bed558cc85209d18593698227ef5967d541231730fa7dbc91cd0e5397877b8cd36c61036eed48b385aca2537bac212bbf39cdZbp9|H,u##b}p^n !;9-sCĹCn@vF# `y_U>be@-B'1A4GdX6 qfOpnAϠ~ Ċ*^b2 P[ĭtBAޓ=eT`O!&#Ilp6l귧t-V7ĨЯ CU̍Mđ}ρ&qMTaU *H,XBt#A; >p@`d?`Td   R# 9J^dlt x |    P(89:>]X@]gF]vG]H]I]X]Y]\]]]^]b^c^d_e_ f_l_u_$v_,w_x_y_ z_````PClibucm01.13.1150500.2.17Memory (un)happing hooks for Unified Communication Xlibucm is a standalone non-unloadable library which installs hooks for virtual memory changes in the current process.dZaibs-arm-3SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/System/Librarieshttp://openucx.org/linuxaarch64dZadZad6c71d3cb5d2d76883e282759723c7f30f613a1b4c2b523993d3f22187cf0abdlibucm.so.0.0.0rootrootrootrootopenucx-1.13.1-150500.2.17.src.rpmlibucm.so.0()(64bit)libucm0libucm0(aarch-64)@@@@@@@@    /sbin/ldconfig/sbin/ldconfigld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3c< @c2a@aLl@`6?_{ _ L^3^@]4@]@\@\s\o@[@[ā@[l,[!@Z2@Zc/@ZaZ*~YYYV=@YS@Y9<@Y(We7Ue@U@nmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.commliska@suse.cznmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comdimstar@opensuse.orgjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.dejengelh@inai.de- Update openucx-s390x-support.patch to add missing ucs_ffs32 on s390x - Drop baselibs.conf as openucx only works on 64b systems- Update to v1.13.1 (jsc#PED-912) - Core - Added new objects to VFS: local and remote address of endpoint, statistics of ucp_ep_create success/failure, failed/destroyed endpoints - Added support for UCX static libraries - Added profiling for rkey management routines - PCIe relaxed order enabled by default for AMD CPUs - Fixed not deallocating memory from ucp_mem_unmap if no rcache - Fixed versioning infrastructure - Multiple code improvements: refactoring, debug prints and assertions, etc. - Multiple improvements in build, test and docs infrastructure - Added new objects to VFS (md, component, log_level, etc.) - Added configuration variable to specify which loadable modules are allowed - Added build-time configuration to disable sigaction overriding - UCP - Added API to pass pre-registered memory handle to UCP operations - Added implementation of AM rendezvous protocol - Added 2-stage pipeline rendezvous protocol for GPU - Added support for fragment mem_type for v1 pipeline proto, disabled by default - Added active message support for proto v2 - Added UCP memory registration cache - Improved adaptive progress - deactivate iface when all p2p lanes are destroyed - Added support for user memh in proto_v1 - Added support for selecting local address when creating a client endpoint - Added option to limit GPUDirectRDMA size in rendezvous protocol, UCX_RNDV_MEMTYPE_DIRECT_SIZE - Deprecated UCX_SOCKADDR_AUX_TLS configuration parameter - Resolving remote EP ID when creating local EP disabled by default - Added client_id to ucp_worker_create() and ucp_conn_request_query() APIs - Added ucp_worker_address_query() API - Updated ucp_ep_query() API for getting local and remote addresses - Added address versioning to correctly preserve wire compatibility starting from version 1.11.0 - Added new client/server connection establishment packet header format - Enabled rendezvous and tag sync protocols when error handling is enabled on the endpoint - Added iov zcopy support to RMA operations - Reduced memory usage of unexpected messages by fitting receive buffer size to packet size - Added support for modifying UCT and UCS configs by ucp_config_modify() API - Optimized unpacked rkeys memory consumption - Added request flag to influence latency vs. bandwidth protocol - Reduced memory management overhead with new protocols - Improved performance calculations for new protocols - Added AMO support with GPU memory target using new protocols - Added put_zcopy, get_zcopy and pipeline based rendezvous in new protocols - Added support for user-defined alignment in Active Messages - Added support for offload tag sync in new protocols - Updated ucp_atomic_post() to use NBX flow - UCT - Introduced API uct_md_mkey_pack_v2 - Introduced UCT iface features API - Introduced max_inflight_eps parameter in perf_attr API - Introduced UCT_SEND_FLAG_PEER_CHECK flag that forces checking connectivity to a peer - Introduced UCX_RCACHE_PURGE_ON_FORK to enable/disable cleaning regions when application is forking - Disabled PEER_FAILURE capability for XPMEM - Added API - uct_iface_is_reachable_v2() - Added IPv6 address support in TCP - Added latency estimation to uct_iface_estimate_perf() - Adjusted knem and cma overhead cost - Increased built-in TCP keep-alive interval to 2 seconds - RDMA CORE (IB, ROCE, etc.) - Introduced NDR autorecognition - Introduced CQE zipping support - Set the default MAX_RD_ATOMIC to maximum value supported by the hardware - Disabled mlx5 ifaces on verbs MD - Added detection of IB NDR devices - Added check for CQ overrun in assert mode - Added bitmap usage for releasing detached DCIs - Added configuration for requests ack frequency with DevX - Added remote QP info to tx error CQE traces - ROCM - Increased maximum number of HSA agents - UCS - Added topo module infrastructure - Added memtrack and rcache information to VFS - Added API for a per-process aggregate-sum statistics report - Added memory pool set data structure - Added new ptr_array API for bulk allocation - Added ucs_string_buffer_append_flags() for string buffer - Added ucs_ffs32() - Added ucs_vsnprintf_safe() which always adds '\0' - Added thread-safe put to ptr_map - Improved accuracy of the topology distance estimation - Added prints of leaked callbacks from the callback queue - Removed a diagnostic message when fuse thread is stopped - Added configurable limit for the memory consumed by rcache - Added configuration for VFS(FUSE) thread affinity - Added memory limit support to memtrack - Packaging - Added cmake config files for better integration with external cmake based projects - Tools - Added loop-back transport support in ucx_perftest - Split ucx_perftest into separate modules - Added process placement option for ucx_info - Extended parameters correctness check in ucx_perftest - Backported UCS-DEBUG-replace-PTR-with-void.patch from upstream to fix compilation- Fix UCM bistro support on non s390x archs - Add ucm-fix-UCX_MEM_MALLOC_RELOC.patch to disable malloc relocations by default (bsc#1194369)- Update to v1.11.1 (jsc#SLE-19260)- Update openucx-s390x-support.patch to fix mmap syscall on s390x (bsc#1182691) - Core: - Added support for UCX monitoring using virtual file system (VFS)/FUSE - Added support for applications with static CUDA runtime linking - Added support for a configuration file - Updated clang format configuration - UCP - Added rendezvous API for active messages - Added user-defined name to context, worker, and endpoint objects - Added flag to silence request leak check - Added API for endpoint performance evaluation - Added API - ucp_request_query - Added API - ucp_lib_query - Added bandwidth optimizations for new protocols multi-lane - Added support for multi-rail over lanes with BW ratio >= 1/4 - Added support for tracking outstanding requests and aborting those in case of connection failure - Refactored keep-alive protocol - Added device id to wireup protocol - Added support up to 128 transport layer resources in UCP context - Added support CUDA memory allocations with ucp_mem_map - Increased UCP_WORKER_MAX_EP_CONFIG to 64 - Adjusted memory type zcopy threshold when UCX_ZCOPY_THRESH set - Refactored wireup protocols, rendezvous, get, zcopy protocols - Added put zcopy multi-rail - Improved logging for new protocols - Added system topology information - Added new protocols for eager offload protocols - UCT - Extended connection establishment API - Added active message AM alignment in iface params - Added active message short IOV API. - Added support for interface query by operation and memory type - Added API to get allocation base address and length - Added md_dereg_v2 API - UCS - Added log filter by source file name. - Added checking for last element in fraglist queue - Added a method to get IP address from sockaddr. - Added memory usage limits to registration cache - RDMA CORE (IB, ROCE, etc.) - Added report of QP info in case of completion with error - Refactored of FC send operations - Added support for DevX unique QPN allocation - Optimized endpoint lookup for DCI - Added support for RDMA sub-function (SF) - Added support for DCI via DEVX - Added DCI pool per LAG port - Added support for RoCE IP reachability check using a subnet mask - Added active message short IOV for UD/DC/RC mlx, UD/RC verbs - Added endpoint keep alive check for UD - Suppressed warning if device can't be opened - Added support for multiple flush cancel without completion - Added ignore for devices with invalid GID - Added support for SRQ linked list reordering - Added flush by flow control on old devices - Added support for configurable rdma_resolve_addr/route timeout - Shared memory - Added active message short IOV support for posix, sysv, and self transports - TCP - Added support for peer failure in case of CONNECT_TO_EP - Added support for active message short IOV - See NEWS for a complete changelog and bug fixes - Refresh openucx-s390x-support against latest sources- Update to v1.9.0 (jsc#SLE-15163) - Features: - Added a new class of communication APIs '*_nbx' that enable API extendability while - preserving ABI backward compatibility - Added asynchronous event support to UCT/IB/DEVX - Added support for latest CUDA library version - Added NAK-based reliability protocol for UCT/IB/UD to optimize resends - Added new tests for ROCm - Added new configuration parameters for protocol selection - Added performance optimization for Fujitsu A64FX with InfiniBand - Added performance optimization for clear cache code aarch64 - Added support for relaxed-order PCIe access in IB RDMA transports - Added new TCP connection manager - Added support for UCT/IB PKey with partial membership in IB transports - Added support for RoCE LAG - Added support for ROCm 3.7 and above - Added flow control for RDMA read operations - Improved endpoint flush implementation for UCT/IB - Improved UD timer to avoid interrupting the main thread when not in use - Improved latency estimation for network path with CUDA - Improved error reporting messages - Improved performance in active message flow (removed malloc call) - Improved performance in ptr_array flow - Improved performance in UCT/SM progress engine flow - Improved I/O demo code - Improved rendezvous protocol for CUDA - Updated examples code - Bugfixes: - Fixes for most resent versions of GCC, CLANG, ARMCLANG, PGI - Fixes in UCT/IB for strict order keys - Fixes in memory barrier code for aarch64 - Fixes in UCT/IB/DEVX for fork system call - Fixes in UCT/IB for rand() call in rdma-core - Fixed in group rescheduling for UCT/IB/DC - Fixes in UCT/CUDA bandwidth reporting - Fixes in rkey_ptr protocol - Fixes in lane selection for rendezvous protocol based on get-zero-copy flow - Fixes for ROCm build - Fixes for XPMEM transport - Fixes in closing endpoint code - Fixes in RDMACM code - Fixes in memcpy selection for AMD - Fixed in UCT/UD endpoint flush functionality - Fixes in XPMEM detection - Fixes in rendezvous staging protocol - Fixes in ROCEv1 mlx5 UDP source port configuration - Multiple fixes in RPM spec file - Multiple fixes in UCP documentation - Multiple fixes in socket connection manager - Multiple fixes in gtest - Multiple fixes in JAVA API implementation - Refresh openucx-s390x-support.patch against new version- Update to v1.8.1 - Features: - Added binary release pipeline in Azure CI - Bugfixes: - Multiple fixes in testing environment - Fixes in InfiniBand DEVX transport - Fixes in memory management for CUDA IPC transport - Fixes for binutils 2.34+ - Fixes for AMD ROCM build environment- Trim bias and filler wording from descriptions.- Update to v1.8.0 - Features: - Improved detection for DEVX support - Improved TCP scalability - Added support for ROCM to perftest - Added support for different source and target memory types to perftest - Added optimized memcpy for ROCM devices - Added hardware tag-matching for CUDA buffers - Added support for CUDA and ROCM managed memories - Added support for client/server disconnect protocol over rdma connection manager - Added support for striding receive queue for hardware tag-matching - Added XPMEM-based rendezvous protocol for shared memory - Added support shared memory communication between containers on same machine - Added support for multi-threaded RDMA memory registration for large regions - Added new test cases to Azure CI - Added support for multiple listening transports - Added UCT socket-based connection manager transport - Updated API for UCT component management - Added API to retrieve the listening port - Added UCP active message API - Removed deprecated API for querying UCT memory domains - Refactored server/client examples - Added support for dlopen interception in UCM - Added support for PCIe atomics - Updated Java API: added support for most of UCP layer operations - Updated support for Mellanox DevX API - Added multiple UCT/TCP transport performance optimizations - Optimized memcpy() for Intel platforms - Added protection from non-UCX socket based app connections - Improved search time for PKEY object - Enabled gtest over IPv6 interfaces - Updated Mellanox and Bull device IDs - Added support for CUDA_VISIBLE_DEVICES - Increased limits for CUDA IPC registration - Bugfixes: - Multiple fixes in JUCX - Fixes in UCP thread safety - Fixes for most recent versions GCC, PGI, and ICC - Fixes for CPU affinity on Azure instances - Fixes in XPMEM support on PPC64 - Performance fixes in CUDA IPC - Fixes in RDMA CM flows - Multiple fixes in TCP transport - Multiple fixes in documentation - Fixes in transport lane selection logic - Fixes in Java jar build - Fixes in socket connection manager for Nvidia DGX-2 platform - Multiple fixes in UCP, UCT, UCM libraries - Multiple fixes for BSD and Mac OS systems - Fixes for Clang compiler - Fix CPU optimization configuration options - Fix JUCX build on GPU nodes - Fix in Azure release pipeline flow - Fix in CUDA memory hooks management - Fix in GPU memory peer direct gtest - Fix in TCP connection establishment flow - Fix in GPU IPC check - Fix in CUDA Jenkins test flow - Multiple fixes in CUDA IPC flow - Fix adding missing header files - Fix to prevent failures in presence of VPN enabled Ethernet interfaces - Refresh openucx-s390x-support.patch against new version- Ensure /usr/lib/ucx is owned at all times.- Update to v1.6.0 - Features: - Modular architecture for UCT transports - ROCm transport re-design: support for managed memory, direct copy, ROCm GDR - Random scheduling policy for DC transport - Optimized out-of-box settings for multi-rail - Added support for OmniPath (using Verbs) - Support for PCI atomics with IB transports - Reduced UCP address size for homogeneous environments - Bugfixes: - Multiple stability and performance improvements in TCP transport - Multiple stability fixed in Verbs and MLX5 transports - Multiple stability fixes in UCM memory hooks - Multiple stability fixes in UGNI transport - RPM Spec file cleanup - Fixing compilation issues with most recent clang and gcc compilers - Fixing the wrong name of aliases - Fix data race in UCP wireup - Fix segfault when libuct.so is reloaded - issue #3558 - Include Java sources in distribution - Handle EADDRNOTAVAIL in rdma_cm connection manager - Disable ibcm on RHEL7+ by default - Fix data race in UCP proxy endpoint - Static checker fixes - Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS - Fix malloc hooks test - Fix checking return status in ucp_client_server example - Fix gdrcopy libdir config value - Fix printing atomic capabilities in ucx_info - Fix perftest warmup iterations to be non-zero - Fixing default values for configure logic - Fix race condition updating fired_events from multiple threads - Fix madvise() hook - Refresh openucx-s390x-support.patch against new version- Disable Werror to handle boo#1121267- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x (bsc#1121267) - Add baselibs.conf for ppc- Update to v1.5.0 (bsc#1121267) * Features: * New emulation mode enabling full UCX functionality (Atomic, Put, Get) * over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics * Non-blocking API for all one-sided operations. All blocking communication APIs marked * as deprecated * New client/server connection establishment API, which allows connected handover between workers * Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports * GPU - Support for stream API and receive side pipelining * Malloc hooks using binary instrumentation instead of symbol override * Statistics for UCT tag API * GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe) * Bugfixes: * Fix overflow in RC/DC flush operations * Update description in SPEC file and README * Fix RoCE source port for dc_mlx5 flow control * Improve ucx_info help message * Fix segfault in UCP, due to int truncation in count_one_bits() * Multiple other bugfixes (full list on github) * Tested configurations: * InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core * CUDA: gdrcopy 1.2, cuda 9.1.85 * XPMEM: 2.6.2 * KNEM: 1.1.2- Update to v1.4.0 (bsc#1103494) * Features: * Improved support for installation with latest ROCm * Improved support for latest rdma-core * Added support for CUDA IPC for intra-node GPU, CUDA memory allocation cache for mem-type detection, latest Mellanox devices, Nvidia GPU managed memory, multiple connections between the same pair of workers, large worker address for client/server connection establishment and INADDR_ANY, and for bitwise atomics operations. * Bugfixes: * Performance fixes for rendezvous protocol * Memory hook fixes * Clang support fixes * Self tl multi-rail fix * Thread safety fixes in IB/RDMA transport * Compilation fixes with upstream rdma-core * Multiple minor bugfixes (full list on github) * Segfault fix for a code generated by armclang compiler * UCP memory-domain index fix for zero-copy active messages- Update to v1.3.1 (fate#325996) - Prevent potential out-of-order sending in shared memory active messages - CUDA: Include cudamem.h in source tarball, pass cudaFree memory size - Registration cache: fix large range lookup, handle shmat(REMAP)/mmap(FIXED) - Limit IB CQE size for specific ARM boards- Update to v1.3.0 (bsc#1104159) - Added stream-based communication API to UCP - Added support for GPU platforms: Nvidia CUDA and AMD ROCM software stacks - Added API for client/server based connection establishment - Added support for TCP transport - Support for InfiniBand tag-matching offload for DC and accelerated transports - Multi-rail support for eager and rendezvous protocols - Added support for tag-matching communications with CUDA buffers - Added ucp_rkey_ptr() to obtain pointer for shared memory region - Avoid progress overhead on unused transports - Improved scalability of software tag-matching by using a hash table - Added transparent huge-pages allocator - Added non-blocking flush and disconnect for UCP - Support fixed-address memory allocation via ucp_mem_map() - Added ucp_tag_send_nbr() API to avoid send request allocation - Support global addressing in all IB transports - Add support for external epoll fd and edge-triggered events - Added registration cache for knem - Initial support for Java bindings - Multiple bugfixes (full list on github) - Drop UCT-UD-fixed-compilation-by-gcc8.patch as it was fixed upstream - Refresh openucx-s390x-support.patch against latest sources- Remove libnuma-devel on s390x for older releases- Add UCT-UD-fixed-compilation-by-gcc8.patch to fix compilation with GCC8 (bsc#1084635)- Use right documentation path.- Update to 1.2.2 - Support including UCX API headers from C++ code - UD transport to handle unicast flood on RoCE fabric - Compilation fixes for gcc 7.1.1, clang 3.6, clang 5 - When UD transport is used with RoCE, packets intended for other peers may arrive on different adapters (as a result of unicast flooding). - This change adds packet filtering based on destination GIDs. Now the packet is silently dropped, if its destination GID does not match the local GID. - Added a new device ID for InfiniBand HCA- Drop doxygen BuildRequires: The documentation was already not built with this enabled. Removing the BR causes no regression in the package but eliminates a build cycle boost -> curl -> doxygen -> openucx -> boost- Rediff openucx-s390x-support.patch as p1 to be in line with potential git-generated patches.- Switch to version 1.2.1 (Fate#324050) Previous 1.3+ version was based on a development branch. Supported platforms - Shared memory: KNEM, CMA, XPMEM, SYSV, Posix - VERBs over InfiniBand and RoCE. VERBS over other RDMA interconnects (iWarp, OmniPath, etc.) is available for community evaluation and has not been tested in context of this release - Cray Gemini and Aries - Architectures: x86_64, ARMv8 (64bit), Power64 Features: - Added support for InfiniBand DC and UD transports, including accelerated verbs for Mellanox devices - Full support for PGAS/SHMEM interfaces, blocking and non-blocking APIs - Support for MPI tag matching, both in software and offload mode - Zero copy protocols and rendezvous, registration cache - Handling transport errors - Flow control for DC/RC - Dataypes support: contiguous, IOV, generic - Multi-threading support - Support for ARMv8 64bit architecture - A new API for efficient memory polling - Support for malloc-hooks and memory registration caching- Disable avx at configure level- Add openucx-s390x-support.patch to fix compilation on s390x - Compile openucx on s390x- Fix compilation on ppc- Update to snapshot 1.3+git44 * No changelog was found - Add -Wno-error and disable AVX/SSE as it is not guaranteed to exist.- Update to snapshot 0~git1727 * New: libucm. libucm is a standalone non-unloadable library which installs hooks for virtual memory changes in the current process.- Update to snapshot 0~git862 * License clarification on upstream's behalf- Initial package for build.opensuse.org (version 0~git713)/sbin/ldconfig/sbin/ldconfigibs-arm-3 16836448621.13.1-150500.2.171.13.1-150500.2.17libucm.so.0libucm.so.0.0.0/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP5:GA/standard/87f022ac0f6d68cd280646c0898f2d13-openucxcpioxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=79cf412a178b79480b43d4d6ea217cdd10737bd3, stripped PRR RRRRRRYnesײ]A~utf-8a82ce5afc4731de9efacb0f0a83c61345fb9c1500015bcb442d25885daa3917c?7zXZ !t/)] cr$x#HwЪLNPnA@!+ui3d \OKŬ? @^ &x7LJ3AOhrlZaqƐG/ӻCǾf:٬-ߚ;מY@NڢR0IIw̫Q{.²V#є!߽͏nV`_B("ql+}:r0?kvkNl*_2pRJa2L&l[("3b2KB Cg>YFt $l=9"Vz=!eZur)!'YVU YYQ+tdѪ IQ)U T,XWD#XP0ȑw| X0ђ4QeYO0e/`g==rJbǐ־R2Hr!a@s*м|l|g_eNvQ.SN hza eTӜ_=B=tpȄ .Tq.nj4I!̮au M#IzbpȰЭPKvLZ ~x1c^S\׸#Y`-Z. Pf}|Pһ2VdzjyĶ#k1`P.'z|a}@WiЄ~#rLN*H DRihUNq;M@!WW|2m]7 Ԁa?ݾ`=@dv=hKWӉ;%ɋc1xtل@TjY8L~NGK&%IU#y]۫< JiXe4*!NF(yh6  RtP,{(T71 "Ch" 6Hiu#$,Gk_a#w_kr|%Ȕ|$ܩRmvD t I/@QRSJXH$]P':([Aqi9 F_*&2R;,#Blhge6r@{f q݃z|~,p˚EUAO#X8'knp7/\ŗ]7D`T0$rsyhU ` BCK6w<*_qR:#?;oc>jos_C, |.Y"987/n+4Q|y&h&6Q>ςJwԻqnӢh8YnX_GPGp6v t 2TFq@r);B5FY!QtV&wLuwΉ*1x! |1]9"w}؎WUN7"aҬ]r|8ͮ;XXOQ!PN߭յr4H6 {U-^ 8(س'$,0fDN?N2 s+J \cJVߔQ Ahר Hms__M3?zV9/AņELm$吮7G6L` :ĶjG8b/@cs}.i(zH M( VJGx@ _Xӥ~y8ak=i_-PQ# zK} 3o qmvUq^;:YOSAvpEٸk)}qFNeoԐ^~bnŴ&Ѿx}(~j+Y-=*ߩy%xBW Q3c- 4-L" LeQzLnR婑\_Ba#1h%O@U˅aFĈ&nΔrBCOafPdwVOP lCaρҲ4+C+ߌ>9Y=2+RTЇhE9H5K(cMg$4djqi Bk=y sDS@ԗcs׷zlgbcǺ(B,2mƖ'+۔]tIj'_tt&| ڞ@ܦQk!fuYomO66Z5b{9 >P4-T^ɍ;!eqɡ.pHAdo5˹iGO22r|ioI*r# WѠ&o i0&RRs4 h!)8 LLS r[.Bt狇k2?NpvP4>l6*`*k,U%ka4RftKX{?G˝6PPg}k#n!6'ײY$† KEI0āվj7 wtT妼ȉ'2/B Fzay#9+SUo'mv:,ꤥA)C$=ҦbɨhZQvu3 Xv,Otk6n3->U"tdJIv A!Y `?o>U2n.a+unI!82ڷj::{ެFݯ4uc^_GlX_7I!y{[TȫV,U@e_N?s9,%^$RMys9 +:0 4݌pǘ|R u-cHr8cμ" Ű9FarĪ:zfdFk 6 `gD^u&s:[$Dy >)m9]dz\D҄Q*?ܻ%bJoQN }'D[pU|ʵ 4Zi"[^%߸cܣvmmvecHjMLhJ "O>h\fr^8JBqIS({G8e6FP>z0_3F|t,S=p.E^h L@Jˌ^HS)s_b U>jpT;լ*Wnݴ9Og|q"qtd,(7(U$j <'Ԑ!:ψt z7TAz]zIij4=N (9hdbwH4YsV 8 S![pu Xg&6r[q/a=@q?A4[rUh-h~ )JEweQ3Q tpD??7gՔ3 Xӗ7C )Z_4ɖK/5cu}5aMT'k~βl45c%Y] &F Z?$t>P&|l?~|J[M?ukE" &~&߮ql1EOaSsjtK~uT9=_LA3[2#7p7؛ (=!3iO= *]2a ]A/ \(p,u#Z2O=7AK@MݪG8n=μOb)dGW_h7éKwq(!GJq^m;Mt]5'sDBYXbNQEYG_4ƥs/3JM9ZX G)Hԥ&ۦy(_n 9? *_(T2_^<ъXN'praȨڡG_rCjWi"0V2^pLlL9G @2P -ip AXL`N-s3Pmd'7prj.nV;kw,icP,j](!kVlj $b֒n/ vw-@q΃aYa3Oi*-_Iqan)j }$+JLm1FCJBK! 2vZ]nECi;Kutu>,Zedt/gC9o:0pOM#F%$UxFgJYimŚ{ 2)~k'>U;d/9lnV!xc[MOtB7^,/|xɯ-Ag#]Pש~$|dS4ltKe<'mпeuƂ@>!{t8|D"Cw;_脌~w헣g]%9U2Xe 'hHx 1Be{<]}M2vL,5a^DJӷlk/fKM(mMP>/W2ub8CA  MXV,A-z'N 9ļVh31 &aRߪȕb2?+) _V_Qu'-I]l~:deb6y5{[찶\$qN\ 1FoX1 Q+ʾM3&Pͨ^i(!Nw1_KP3 ۃn}-IsK OF8C#zd'X㿦<:aş Ϡ!0?\BvIk `Z3o^|+;Xj`ZM v6ŗ [X:3w?_:Ʃ_yKAeXr&Nyףs6nʌf5M!.bb/ͨΥWIrzf]Z1<'ϵ !Pgbxv WuFMH[nR% iP SZl[iAl}¦lۉuur2K!8> cǠV+I;8ײF٨6Yz :Eʸˡ2Z,16ؘw@O 9 mBFo7|X1&ض|"ղgwTnAH@񿴀vYdCd^Q&-j}u|S.|{_,%~3ݴIպS%*(42[d ,ϰ(5 q$* LXyQݐئ 1SKb6pUWZ$T'˹ԑ''w7?>uS^9޾^馟L'*P9=\T2hT?XH|;#z*s6S wnYVO'sD$^mi~_h[J}C# K d9Ό,7|9k`N=m #-*ӭtҰq#MQxۑz"@_EFPmQ3ZǿIxLW%WQx\4t=Rև+H&Fӕ4Vvx^xROG.XDGޜu^\Soa'cO%y嗀Z Yǥn+ovx.:y4CۆMZ:n:bB#TrW:/;6y9f=էBmU_{aݹD_Woј]2Id0cwWZ`I҃~!Rָb'{IJ{v`1]n{:oo"S\`A3Mc[up1$v8[M)<>vw_SFeۻRу!Kb#U'FNI:]4ՙwT5V;{{ƫS/!nZDdU[+:1UB8yHa݋na}bD ׎&=EpI03v=a| j&-I8PCixu씄,%aZ/lBu[k7_@u$E <, ZP2yO.>m/LflW{*o25vm*tDZ.g1^'[V r(Qg:nd<߮*.IEd UCZ:=q =6A [~Vr!k hSqhÖ׽nֆfwx| ;J믤Z`YP+ \ .Qd;V f^)*2aaП6.jNDMXzE:?$ Jn\j6v yURN]2rF  ^7v:|?>-k]vO:-A8N̵e7WQLKU_UIZc( (Mg2ü>, &mGM811S-p9[AGNomzzA`1-ʯ͓/'~/@AN AFҡ _0~`)N(2.P?b9t jtX sV⁲1n<&p\Mm1<3=+^ Ȧ'b;)pDJb `DY<)e;Ⱦ$qhn+_/jQN&xA5e׹߬ ] 0iʒOs˞65^q&=\fEAaՏRq6IФ@42^6tS|$!+)ՆQQئpmg \njkh&arCe%iǃ]o{3#c+#DG*֠I}N\D1An7[7P*QK.b(3pPUo[I麼]; Lulhn8:@>k1'Ja] .EAɦ;mL3 05騁#=.euj>h?^M8: pr#乶;8iUl }vI׏:r Mo16$GWOwP}qcZˏh$fKRb5w#VtY}Q$c1s|f F?FkeHaêd/+N5ǾW"Ry \ͩ{;!|i@]^psȣIeg1dC$d n?Vc ȯeooKI-qU^V0X9U'(oqy[P˾kVpH?Lea"ms}է wq_ɋ ͒+8v#5pA6w2i "]3wCwpKR\1u\!]IZF14ፌ3r]=7‡9V]d[W*,H}>La-~S-0=:S:0<ո'D_Ȝr@itJO3z_a<*T̊e R: Tc؋dQ+Ki]~uMkJiV^ @j@Fν vvvrB;GޥPoo)S)YS{q7^VF2:wuX B'Ku3M(/Y*oioz93\L3}6Dz6C4E>%-r;CPaƺurߨ]%gySptjS~'v:8vlMes|-X2ق`s 'ucdݟZ]h0@>7ӁX5`2rǺ׍.I5DŽtHm.ԡ9q*J#lڔ;$97s!4e4݂6׵jtEf3PNd&1jq%܉V{.뮽Cuy If-VrQ[=X%"J~S0F|Jtv$~BZ$𣏕ϼW 5'+UFc&PQ; ;[ike҉|WR"N}#6G ~b$dDyΆMJ1dL['Vobcw:shYET+@APy`ʐ4R#JI#VQx$pH@L0 B70lSY礗ɩ_t.|'ڭ`92aaqM2u WZwc&`DW#8>ϸ,γ|gBd:6WS"^$&#+rqS au>wׄ72H:o]B rB0Z/ךe:nC6vM PeD4]w}mr!d Aԁo:+UbŎ2+6v6Ɛ)#c8V` e,{zY_:z{UH,{L؇`ُ-knضS5%'Jϻ'?_ +׭~8tW~o4*L-Pz #_hTgXh%X㷽)XEs$:k|h>z\ac+GTY.|Li+ŷ?IH-+m} Ğ*DdDnTw:P~M!$.AR'W>MBN\^V۴z AnZa۴idEWPUMȔt&lšȪulXLriM3`X/FiFW=#5Fwv5i,h)I~tiN>3o}AF!Š0ψ)qp {xnzp k̽,G,j384ySFd|ZdaQ Ԙ0t =V֟QyTYпX4@އ@Ho3:5_j;0LK6Y`EPJ3D7LE92t ct_ i{l36pe9 YUzG[MV^QBրsNP(|~LdBNd0P,/;By"@;~  ǂGӿpO{s)X}b:/[ i{b#^+f vR9^oN|@m=mm>mF{Ym/a5/7-vʹȿ mm1F\O>/{g4+lC~k A3?nBO\Deu*51m0U2*Eqӂ;&UǟG.& ;_v1A"A+HxUԞ8jNr:Qs|SH9! 5є9!B0Ο$ /0c'h\נ0*6A^s:JBʹiH%8kH8BrzDx55.cc'*d>k!+:Ow7B٘~.OԒI?,6EgIA?[bk=f.@ eٻ .N*q+Svһ/w Zo58qaB=Q΢򮉬ak#bB'p-DˮOcsQhUQ"ᖞhV[8 fiT?wqL#GH0HC^8?iKܶZŰD cV`eE۱i<>_9ajx6ac_RPiG *ZOI3ci8!).*\#=[з _ڥNm2h._tڌDP|#| _xtQπ%Yծ jqz١55pE>Uyi+!G~ .R6|/& 6,؝`r9H9T\1uSؼKofk<04TNo+*cA|::WԻtA'Qt-0DNQնNyMT"}ʟ|K}ғMȇs~=Pw9-[MXѝZg4arF?̓XD3_Z |ce_J~w$\s pQo?u'IQ=edps_jYJ rs6k52,3(.N:PLpnuh{EQb$#͟8>@|y =e٩k/.kA3\&򢘥74@UkFrk LvɁN 5@#K˛M'шaJP?ů RJHzdV8ڝ%9.!CL1&.lY{;ԍcVF4x&ZFF['4ԹPC϶[?4M\s  g{IR}yO~ ]|tXPaUD: 匟!_ "wpԯS*3lD>{// *:n5g `YuU~f[c! cE$Zbh 2lH,Q= ӏÁٹ\*l%2~R.A+CGޕ[tQI΄*[GȒ./ŁetlnSY04{N ?`lkzY0F-Di@Rn8]a-Bu#a%9~DzQhQFp d3`N~?*G;J9D'QsQ["Ia!w+r+*$JliȋNtya' iZs6rbKܡ/J!4bo8a_?s,͎sYR5nc=ʓӍ-U'iGpGC~_ 3KicTǡ/RJyw"z7%-avqVT0mb8K&mY0xPI#+n*=CtuPkYܟqXId*$mJ`R/*i">zPܣo$7Dt-C̣ ZW'Os2`S,f@ 763@{XA' M|&Tim}Qaz!,DgNlA;@.2\Jh&8`r<S#FF3 ov}':M#_ v㾉r}jepmiNv̦c)P;cԓ36 έՓz Z曵DM#vAɻ=S[)v/!+UCbHk¾`L*(6Žw훛"SMD6iy$<u4aFT5N`YȶV~EO\̙xl+_QxwΕ&oQ J_Ia3+mX2Vz!HgIH9 0&9hJ9<ߚ2%tUWI}wSPbuqEc62ν&Ydhb܁ BOhD.hY =([hsq ྆Ӏu)CϞ5zL`(Gz@ꓜqB9R)U0NӤ, bh(іذ`N/Kn|+cjwp2ǐ-Ov{GYrZvK& kQGzhI9K:{f>G ͥ ;9;amEOݰV9Uc>ЪE DC|EXnw^B ^{8`–:Cw=@6I!CB_^Gi=nla-/=qpjm=u)*XmfYXҥqfZ5q@-%N%\Ukm%tDWZwh&0nETP/E^im&#G{VNH\Q 5}"l_]/h ~!@ॎC!Eu$CtT@Hإ 9],ǐ E O\737ڙ&m/ Pk3oU 0Cֻ>ʿfSQR=q-$#CBWlfDAԺU& 8~ULn˜<87l@3-]_D">gIޫ(M\ Ґ.zf 657Tl O]Հe!=~uxcK4nD> p0 æ.q@a=AZq6M]M s GW-O"Q9b02! 1#i.e[ BeoPl]dSU:k{}h?h.|O4Go/ޘHߴޫYhe\ Kf+.`u6krngQܶOg.QlgsCGHfknv>F` c1x #3_9 6xvMFA 67Q?̚?uREJO+wr`)-+8,GG&z]J=a% ť70K"Wj˼xJ3 _2{+>GZ)uҩCut}IcqV,[7"vZ̯=2 hr Pzt RQD,I8Lܑ<3JV=[~%G  N*Ak{H+:h{z@a#75Abḣ5(^<8ԩxb. 7ۊ^57 \c"K̋+%O" ]Κnvz&-9H!j/^N?]uFU"9ej)CtBqV8ڲpa+IH WA1W۔\k$ąj^HL֖4ݽX99,fVcЮkl x SiN?ɝÏ%ldagE&/"&ɞ w\:y`2Ղ|>Fڄ)H6)DN*)`xU"3w)H]˵ AH~ __fx7`$|ֵ w0vwUQ]~H%Z3Ow4o¡yee^ .7Q".=v<<葈[(-q%WtWл0 ο OKɷ@*.L2oæMEj(߂'$E7 Ưd4 dÒ%5+),﶑eXvtIX͡>ЎɆ3Yla!2x&fvG`3Ω?/Vӑn;f&+ J`q13qAL%3] );A5V#CYxW @fTlcyi<κ"{'ٛ:P9IRFRYrLLj)p\ب`Z.Bn.bXB\:ȅ3X # @ @ivBiЃ~H] Ι ck+HǨnEB4VV "fV?'ŠC ࠂq ?('V3j)(p* KWOܯ! CJ|~y븓UW:I/b}ԇbV`M K1(k2鿉g1_L|xD=eN)kiyM푏w|ʩg;|z]Ҫ*,D4AQ]g⏎$ i K ΠCSRxohu:X@Y$\R=QŎNy>Y-E+{v)JN`{Gx4apT+'}ڻԞQťހW aVD͔/2wkqlk~x~GUB[i-hQU\to"VY6,!e}-!!'cg qVyv7$QRl J|#c{xIu'K:Tb0Q,̅iiZ)Sy93ot|]~$b7:tˆT;*q9g:h2Z6qxFҾt`|nU|TT B0WWzQM*趨Ъ*o~o $_DafC\lwe @|b(&^p/TiSh}pCTP3 W @(;@1>E"x[>{\G uo&ekE_V|0B.#%U.u8~ޫugj ~#<:W-1+n ' Ya20tZJz@/`-VN< ?csmM63eX\Ez}KFˊnv:[L:냲ඡ38fk:gm!QHQ3?Oᴾʞr lV)c( `(>i8Tٳ(87I8#X턛8<#̫VhtT.곂 {XWهr};kG16/i,;Ա]]@f5"z!r!@7r 7;PZoA"xU$7aH輁a.Kfxdc=ȋ~]OgjQVRBHxzt 0`}=GzbYѓ|r>7 ,ݽkK?%#hƠVe7I>c8:5wA CJ>$0*JX[-n@7w"|pq:Rݘ}կY~&O,ȶoݩv~QBhKT_ߔ |.q@mIkt-- H Jzd{S#}+EEaY1C3Iu,Z pn<.h}JHaҢ(׫Ib.S3QGiՌU݌T vHag/e" "S*8)u;O{"Rl&g|o&I#D 1}qsX,y:ʡ/-HئVƀN.3H_2.'p7 (BTݮ[$|Hϯzu)짬#udM C<2T>uyIX{u ۆuXە4M/d 4/ZOg< 'ׅ#YnH0m 5~iLRgX^ b(Ōm7+eP aw\\\ILW8csP.rY訶~dow@!'F}L;IS.EZ0OJqDv&qk뎚v2LJB}]P/'RuH`ُͤwqmni QAk J"&#ӺvE'm!5faޠ[F#*dP@(1mc?t2>iGxr+ oMޖ  AN |BWBBQӮC԰J@;C/\OQdݣ|B ⃿= -ݠV|糪. ]81I\ Qu1~{p ϵZ{ft9mT5QOCM7M@'K:;ᱜLqqedN:͇~kA';ܓxYzVWP%nMiw;YUA? Dv!rIQ:MoNÉwNJ<@27[l^5njek^!S!3쟚D9L7gp"! ۻ_LG)eĢߑ\UV~VE!I0Qܽ컡%4 {țr<`Ј@Ok3Kj6TY޸oDvS>}c*"bфצ( hm;%e8Z_ (JܙHm཈Lc!v cZVF{#Z%,~adAT GR0%ZH$[h,A2ʀݎL۲ @%mcPi)z=@dpspyIy IQ^MƸn]8,}j]F 4Px٦ c>W58u- e\ ( NwXь6l$+>$aat4@`Eh$~0kvhi 6[4^RR᭩SqT/#mU3AJ/Yl M˰a$@k>)NoxK֦f*kR5e]Qxi୶Tĩ)pyΖh8o>C͒o].DyP0/z {|Ej2Jc\o0TIDЊ{FE>57qd 祵M4-٠!=3BJ`IPIc:X2񇂟m}蓄6CW.7C5ѹw39(yM ޻W4ED[HajR=u\*cc@boc*V$V8IDz1󙄰8&όB$}.b_K XŀHPIsT`9feZUr`t-.I0!p? ҨBBHȶ3;!,xܠ"5&qDiXXtf<rh%gW SY27T;<{TD$3%nnd )L /='1jv(zd{x"% HvYd=v1Ǥ֛{X&ɕĿdsd,s i'eŀsjpo9E5ǃ'jP~/6C?6o{.͏{nHh(4GEv_uC'/֡h2U{Fؗ,z=. VNE`Z6gΏFߕzUqulGxQ#@8A/^}B|x]O~Ks1w~pv%ql~^??74f9g\6i8&Ko4ʎ;+~gMǔ TpE [kYt&92I68O lX;yY3@ChRY3' /&Y>M24繛 UW-SvTxهO|p9tи@0Qɽf◕P}W'%$ dK~ב4h5M@ṄC=^$e5qD:K#`qb/X {0Ymlm].KiqfHoA(,N%L7|"Ǔoܰk3 (#q~‡J~ IH@hQ)ϰ eTs.!ݡp\Po:!mQڨU : agҏzTr^_O ҏ@ANR+`a5==>ٚ?$\[v?*gd2fdl}lٶW 1j?/ "074wMyf _?~.q5De !Gs4PGыM+"AGuIh- ÀWob$!>xd-{i஛p7z@58.gC-I„ '+2 !ԿZLM[ 1 [.& jiA_(D$ļFoa%+U8mbJY_WW>;7MlpgUv%9I}o ;eg@Wn515 ij|eܼAqy0XDZ`X81 lARuF0Ke 5tybӦ%!g+r)Z$%uк(ur]RDQ 1!-^𪾛%beH ׳l,WAca(fjZHR{O(2Won1'U ־R,쐢r8g@`G7=[QxQ&g<Җz1+Y"4\:wa$*Sag^U[B'$:~6B4ܒ8x d'|6"C@B;~DtWmP @nUhAR{4!8{NXYo?|CI@9.þ,,m_2('[CwV.]K,Ębh`8,>.^[{in%$y> ;<E~\k3R9^4?uZ+&oZM>orٙ"MQ ͇aT30T/SA7+[ 4 6ylY*DÿY[sR'}`JN8+2 v½:'ӡ̖<>\[(P0 ֌^~7M18 5AIOeyV9K= YSF'*5// ,8x=7$V=MߥE<":Fy^ Us'8N8tJq MO'-eƯ apS@R0nZ~ 5avd2n=%\'d̷M/ gYkվ\į THrwE˵349ҿF7r(*h. `<*L'~0B{?! \f&*_82\N3U }hD3aHU.K*qqoY|h@bWdhTӹrbha+v%ZQGW+72Ӈ?PPdٚ1ѭjN Iaq] ň+ZUOO+fY}^ ZVLI"zXFS+RĊ;=%7 A]/pt2v4:,<;jSD(V]J {ZF&`$ynߡ6gc؝+q3QL_  ,7{%[dA")!ŶfWG8ypn1 pGs(+SgS_5{Q Z @RJXi*0Ovi8zz%\ch`q?Rfj>0Akh6[ ٜNx}jڔi >\'˭zCZu &ANԘx}'u ((D jCOǂ"pv41zE*c A9iJ7?1"gw=RƺomH&QR!zƯpxM(W8E9t)c%65%W"?%Ns)td7ߣ_>  Hܞ: {2gm.TO$AG&N O7Fy ~dŇ%Qb &0(53 KTwUb(IW IYۿ7D*sl=bghjBsHnZ9z[&k)֑Z,'j"xibnu#]N/fKo[baQ+x mƛ7DN#NHOt~wx:V2UDA)5[rki&km mNl% n\~9BP"b샏QR7_(9Ӯ8U7Ai,8Gz8dH,i58q*6Q8vQO D3#O+Q jWR'@77]M1F-^NVn`"DC;R?Jo\ Gu}.ÿ46XOOۗ6od4h@IΝ'ģ 4>o2>g{~2"9rRD9VKsi2͗=I VAHZ&o"!`@ÝFjP@F߽elZ?T0od`Q0y*5JvEU:WCƳs$ ̈W!s]#Ly"kTlu\ZϹ5ܷZmYʿjQ4y5xJnBΞ7l9KVvpBv'oևdOԿ'sqL'vg;c9"f#eN/7p %Y  \)="›9D5ǨdɟƧc:SdžP~[Dbۻya 6B9 Iy Il= vYߘzTZoIfJ](EFtm\&ʻ]U;EXw֕ի_@&1S&muAtA.b:$[wgyh_3?>4;/+x#m;=&!i*".7E,D{&[Hv-'ehh끟;LK-=Ѹ~}LO}bra]<d UIT:k#0sd}.mT-<(*ݠ(-h=8Z͉f۹7gkT9NE/ ņ\CWGk9|:IٰEG BrjiiR4VVc^*759y<Ěck>ZؙHpw ыV?9cӒB{DZqPeIh)*:+̖P}#-³JRY'{}{]{L8qԲY.U*[8mu\6 N+|zeמSC5(|)F:*icHq*~C{ ,0!ЈGl֘=w?2{ M9S(f$*-c )%;l(j^*,3R{r9eOWu &UZ?̹d LGD (A|P`7|X ?([\oNtBJh3C~Il>G|"g5*@Q`gt]} ~o^B;MK|R?VL;A83π}Eѿp*)A`Xjśc[!,is߬r>.Xi)rF|\|"֟ҩ%# {ML3G]w,TrIѯ&fz]\QHQ'M4(B:,$>2.Bl|  LӓM4Oq[q.ok:4n׋= jܔU/][<ItmX0Xmo,"$4vFr TB0agV~b{zAw> ,$xK¢j w6lauBwώٮajzULH=rWd J"\iМmM0 ʜXMxe|6cj;pgUȽ>3vVا2*5իNZ}j]p乿3 XRO0U)%D,<_·t^6s*=`*۔};pi,m':&LVB;l@y=ٴ1nU~'6w'4܏6HQ=ݾ~v546E=wo fC} /SxGU$s "ݷ0(@`q9D'5Ǐb@JNч ,SzG8RY摙V-oN%=|F}PIK2(ԣe\OցMS&V7 Y5.vLP>K&1З<ѬlON|=GB"g\Kazp1CL ԰ܮ֡Eqi'S8ܽTi\MQd,[cGDAS%J$E6,v[T[Z}J Wэ*bIU0 40*uQTlyb9^u/6Td#cM/gbkrʱ!׾|ّ-JU򺢎% Q|*(9?#28G-@foEOx+ RM3bbj* Ua{+֕3{Yw}ϣ&wArc .8m}7i}CFzџ smRt 0?ercvL& ݹlQ U.f* ?+%$ۢL|sQSYA`yˣbڮ. gQ-3:tHPZ ̉blK3ݙ8Qo+#]Th22ZaB r ,LN ݪ}"'fUs`ܪtm3$RJH.kܒNJ\ #KիGM[T* i k8; Q&߷K\}29$b34'3=<96n #>}n*CMPvbL%&R©Q{@ۜ"U){K>L\r_F'jy$7_^j#mjBT5&-'LeVmTTuH(Mͽ*h~ĔTRѨ*NG ,>Y[ gq8n=wG 쫁 ge-t^-i}0XAEhDvˡ0M $N̊9*ZBȤ4Sj%ѵNzqǯ<3g&WWokum*d䖽+`jLA{V&R<+%QK竽[+4v+ z싃Q@M|@Euf?F~y>5{j΀|.ţs4dGb0&|&Fn?4nGEVXjPEI&:[!yiԄwȾ~ڬb~:YCgkr !7Z4)01,=⒅GF iRknjyv ;b'J9HqX},6U@Keq>=&A~o [ gAelaDӰr8me><#<342Cr/q\ ;TuYKiuFmX a@ɧ8{믍lZ87ɂպ=Fcȁ%DM !GAАQʡW5^ޱԆ9Gy$KJ& $N? %= ~JGk/][䯗f5OH0%o:m %rw9}-@ *| N+5hתPD.NTK4!Hp" iH/(Сƒ'8%w\VcNrVyVJ`@Ǡcf}|~ 3]猂+%LDp6Nf|=!G* ʪ^ιyu* %8O xM -0ΨŒ{RhCYK8͂ pD ()?E\cJڳl$W)Oh/ʮǹIl6j&;-VةJ;e~Y@TQ|;s&Ly>!x!JzZQvkE}YdfY"|Q~_Q4abz({``4,n TI4ӞC?3EbR](g-I-w̷;hnɶjNA;{|{vNhNzƣ#JZD:R$MBԂ D+ay{ɺ`z([-,YJ2tCV|jH1e>lq/J֤]fg8l \i(1N##O[%=gQLk3qwuٮFW\i C$Y4J\E= vǀȂItKAyN-A{F@r"kT*c>Ѩe#E HA^ܺx,t7y=&8|,D83umQhu_jrf`)bjanu|-R6ZTO}Ni'16qB3cħcS7*{5(lPBIÏ7Α3 _,|o'e/_BTVШ@l_ ׳7rά O$Cyam*I 0X̞bcΤN`<[ĪdMHսTIKM0mHj9h3t}3 m)"&-T͍E}68{;?m`a7j:ΐF5|`:NO4`4hD# _]8>UF.fR?8eUl]d]GM\cӐM(c]xy*fԄ(֣k#6^@oA40A2Z>ڄI{8"G30]en-32ҭJO{=z@f>&z\dy׼Z.E]rpӦQ:ہunS5xOOl";{ikLy(酝 O%JU%T镝MFTJ܎T!cf#lloHTRdC(F5Ҳ\sUFj" 'Ǧ>0b:Ww#4Gs·>|I$ݲGrBmD?Gcj+vu\Dhi(ܡmETTc&eZpJk8>VEN}j\~"ՈG^֦|UȘڇP2xIj+ '4pz[4Mmpwiߠߙ̄^gP_V2ϻJr&M s%)sDc"N0єt-ԯĦ]5GB烞R3a׸?xdL] Jb.RZ+>ufǦ> -ӁGi3s&8Mgk!qCقbJ/g62<6> qxdhooKG.o?.W|VC}Bl${2H~p%2غbU8md]Z;\,G«7]"'%> w.Q`iz:tHU.eq䟨)xNP qj/@?;W3;i)59^[ANJ?XkzmdžW1zDI<aFk 4b& C0FgנgW@_Ci, Ȝ,Ur3wbfH!oT/9sqЊ40s FvZh'WKwW~KwGmhwI f28XhB 'Bcc<'<[v=D jk%Fz3ˢ ݆ lĭob bl#.#|hoY![l9Asm]+xYxwoa{ZE'+^r=RJXiҺEhɶ: Sa{_I_;]-7EX-Nz2z;A빨>(sda:j qz!*ı…U-U <<2%)'{wVu9^|Ķ"k,exM7Ke (@~~q2~J9[׊F IlbM~RxZ˵(Y/b*Ye=m6nGi#m U'p2x'Z+:X_IC9oy;- 4wP:i3\n-K'K vl7]$?99Mnd 6 u=dl2tӱ ,Ι0{e3m@'!Y2XAݲafCDRk'ţv3ޞPF?VLj]iTqnҕe&0tU9[ 8xb`w MmcpQD)tPq6B'D9Po?9[b)e;m0?&5!8F'h .˕[;ozp (⵵I-^ Uf3RqUt5y2 qZ z1_V&y69Zi+S/?OW8,jl@53 & LZ6ƻF]EyG 6Z3EawH^,h# Wrr<# pFJu2\X,&1]%۳nQ$Ո Ӂ;u!@Vh✔h`Y ߊ{t$'@<3zPF*,<`L e$IMۋǚZ;MuuV`h0y, r 8`YŮ溭"eҢ켹 n@mԄy\\r&9$awm>fN3Ӏ= rޔ^L& gj(BmmU=́2L&dwQ0 s窗v+I=:Z%IFu޾Ǥ]X'YB} ~uLۖIBM>mDesԇ5cyO-FؼNovx14΀޴2N9tH`O"\ڷRHq A烟Ki]j{9nQ]ClIKB;3grhPqJ;9<\^GIiI{‹מ?$\GADJ KKf>[`l3i9$YX6~tLuW{MuLֺjN ~Jmա@;`bHk%