libucm0-1.13.1-150500.2.17 >  A dZfop9|#ֶ.|;j[U0 <9N3:jԚw;ג9/8v wpߝZh)aP;~E9g>jګNOVzHc Kx-֛U@~mZ\blǽw!<=hCxb<>{8Ƀғe0n5"K aHի@|^%gS{dV~.0@54#_*Pf3431641832babd142dd22aae213d6d6faae4f1753944ce1a4206d83308aaeef9fb12ca1bcd1119019d06e307e65e1ea69f81f09 dZfop9|~W(ZɐXn#G,6pqlЎkԣ3-󤋊"J wݟ . LC1+J4|QQUb U6J\..^nYqԤ4Xi6aSg9K2cL,*$%(}`bnGdYTU55b)/bDhF:m(d߸gaWye/+2pspv*>Cq]ά'>p@a?ad   R 5FZ`hp t x   L(894:$>]@^F^G^(H^0I^8X^<Y^H\^p]^x^^b^c_Id_e_f_l_u_v_w`Xx``y`hz`````Clibucm01.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.dZf,sheep91XSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/System/Librarieshttp://openucx.org/linuxx86_64XdZf"dZf*4aae0e954b208184459bcbb634838a950b280f56b975ba8ab5eeeb276e5cc34flibucm.so.0.0.0rootrootrootrootopenucx-1.13.1-150500.2.17.src.rpmlibucm.so.0()(64bit)libucm0libucm0(x86-64)@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2.5)(64bit)libdl.so.2(GLIBC_2.3.3)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(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/ldconfigsheep91 16836459961.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-openucxcpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=59305462983c10a35edcd195741c1b2a4f7935d8, strippedPR R RRRR RRRRR R RY>(utf-8d9a7918821a39e799a1fd1a3cd9495dafe96f098f91beec79376bcc0186ef0a1?7zXZ !t/] cr$x#H#aӨ7/mr76=ncU/? ' !^PVy"]Z5uf{6*T 9#FZR%,tV=X69UhOCùmavA9hV@RtE7S-T ǣ ⸕{V5jyCP_r}&UsfZt,yȪ<~ ( nݽ<'. hYƀ]jii/lXH4 @ Vʬ"o.`pY޲+viX{5NH?M܇ b|5;4T9WqUF(t󙭅U-5v<У,VA҅'m5q0a!y-*2cf p$B^s Q??.&U,A^X7J5JdW#Ccy%8KѤdܐ+uEw %E <8x`!#J^BgI,dK6bvF("ʳR' YDPuRMe<}5fAXC!\/ Zw#7kuhzD#s*:1R{Vm<+0u GBݷVo*>r Zw% U,Q&{y B;t0}gE L+<M[&\"FH3bJGFftZx//x"&Xu&R:JsCkiKhl4EBrL ' gPiK˗̺#LsKH\=pP E#q<3+eb 7T5'gQ4iTr~6̒*&,~ճkOS9~6)sX/@M) Sw|$waPfDaZnUl teWQuQ1GߍaA$2z4x` >S3C75k)ѹ4D{'d}ܪ!;`E嚼ȰJCz>#Q"Q-??OghID(8B)G0Z:&} $$'3){a}kuyetj~RN\:`4RwLeSjMH|oJbQ;6Qzu'"#ב9.xםӫ[7cN#rQטTE>ABD4DDqHI*6P$eL^QN1n_$pt  qiD@x=J~t3]$K Srt\4\Rt ,0`'+R"D .X" FU ™Z,XO֤nUV$ 1([iVX}nṯ>lݪoKo2SEL]+S:w~@(bF. ze [N4[Weꛤ PDYi9 9X3,rpH 6bO\S&79tҦ%6x'jm}pZҊ\}5%QBeѿ?.ukqfO]4Qs^T"kudt(e|NGj5L_s5D,"B(&Pn?T4zJZފ9o~DwQ֓r{Pa5sqgS+)¨'`=Az-xFKyhH>҂fJTgB*\SZ},+c1t%Mnt,om5 C%9"z`*:e6qs5J/VeKւ{UҥAv6Nʓ·Т%惄=cVrdnX{cѵ$1}'7߱]zEoR!j|yv4[6k,Ş}Ӧ5x^E)0L}L 2U8%6WIfuv>V{Ng& ̀H;rׂI|c8bg?7(HW+vcȤweLAH-8LfzN8 4Єʤ\(6G~iCp 6HQW2xHnuqN"X>6?nNl x8 'Ocڔ[ITI|mhQ4ϒc=FD.ӞLa jyHWvΌ01߅(Mɗ(O?t- {|Af݃bŽ=1M3BgȌ]p9`㙖Kk5rݩr2&tAʟ@>@ҫݩ3Cw//M#~=kBGᶓ 1 dMC|ǵN$(q S`4,ͯlMV gE"Pkz(By.(NXIY/N+_N'pMzj0lˌ۝&챥-2"Asr%}CCsGR}%+-"u[&zφ/F6v&}ܽ/|ft]N s:]7>Sn-vP /N)qǝپJai$x0EH@XG>ZB#xBK*mA9/Epf]>.e?xC ȗ4N&xh% 0DZd%xϓ~_zeJ$*J {5RW~!{MT,T96U^rcx u|=JaZ& itTbF8)NiE %3tZX~֬tw~8doOL_3 qsk)kL{:R䴜$_l˷sOUޔƏU|S!ie"cz["{*DE`Y[F WjOqUשRt567YPXs<_Žu#(MU\6!٩ujBפ^K{jA퇙;'|.r)=y&U͗)o@*ՈKs&-Aa)Be>}e2%:Ic<\IJ$3lN/n?2T>#!Xx8yKh|ȰNþY%AUшR"$klPx(YneNst;8 R/,Q@:Q9~0¹WVx~G'{!,;笤}Vn^/{SE]@J;)vX_$ao5B6e.Wr^tu:gSg _iGR5FԪhÃjsr龽jޢO-%Qݦ"ʿ>.ӧ{E6GֈD23@ab#O [&NXGY3tupp/t|cJ/,3k8=%C7V2:[.ؾe܄h8X<͑;&>梽;wa+H+*lP@EAJ)+P}Kde \ Y@uSk)2 }B'IecEd!Lk m?vLX~"WV|2=>`d|Lk=oP _CRS/,svl_>X Mn B2ҍETeZD(yHgC&u5XYnRA{SnaotuLʭ >~/f.M,zrZoUX5U {"tqѳ NˉdY%OtBv2'FkԆ0"vT$T~gvr݈~-)1?WfpDvSRp.\OP(2G*5@m!u֢h@V1kN^ *2.oz6/nxۢ&59kr*@9x*&\){jjk}p>^1_:if\-c?zHm9Aw/пϻz$*$Rn[wJ@Sbf~-^ &L;IpLO $gr4绸şcۻ ؂14nsh!0l}p~/;3FWpXI^ie"E#uV|\=_Y^^pXUO-gC !(PZd'7#eB&"γ0Gv~I.N^h׾>QyT{vD]DyFc(E&2䷭uYcwgA QA9E 7Q 5,{?/eEЮu= "{:QVեnno(b-y:|U(p9$6$= ޾EZsT?n-Sպ&f6|}gݻ!LhJ2JQ`VR a,Fvys@hR׆h˾GvP}8jŰ!SM(heB9 vZΦڮI|o~#rAR&)^L \)8s n"zmLc3̸K6L\7 Z{v¡,߃Ry{ܰ=Oz@J?G[ֳ6XY{3k[nܬ16J;Da~nwڗIKy/ Zp!cSa)HU# %ChE`Ziޝ Zhk۩5nS >Kݸ53hGX[)XuN6Y~aesc% niOTp+1ebeV].^'QRZ/' (j ,-yG/ E|xb.Ƨv.]X:MiP=VoUc6&""L{t:/DKzHD"I#e[!i }nt⎬0)HA0**{Y0oW&lrs4!9sCVP\uK1[:uVUaTfR-{XjHǐ@iK OBiY[05kC A+? 4񞘺 7i.485}\TOO8I[p$W".2ktn`c%p?>5ꧯǤb ̶y7)Y9㫘 Z`惦#*×Vp\ w9.1BL7 qgy@*vQb4F"ZQoRo">2(c=8l:j^˦@`ztsynMŰBw%@arxXkjX$ >2sSPN- pzșMǣPFW(=P[fPQ7Z\Xr:q9:N\sa t,U IlN=KFdkTaD3&M.t`{$8Br>KŠe{K/]eqQPI d4 )(*6GSBehْK%4YCk9K E^-cHFF3o=54:b;6*2l6Nk w/|6WM+_ξZ/9 o/:ͤy%&:!^ܾpW%O4`@Vщ;.gQ%+Q%n:Z=܈<:1BH^I  ᑭst4蛜yɠ-nSވcX6)-_rړ]sfi=KO0fJϔ%~*V b 'BA 9f\s,(:wџ9/t(%h/Lf<܍ \ l)|ב4ޢ=9ul*X։.u`\[-[Z%t;K|#Klk:n|L_!+-yȅ0L ?}K+Ƒ]nD>iWb~0(#QUhoBeTƎQC[SAtyrz:S7*8YאryG}xYgJEXL.K蠢w :^qCaBlzi+O+t-GY3^4o׽Ӝa(iwTԅ`8Ѽ`!,б-ODZ3Poܝw/?)jWl5 zw=,W!'HqӨgn:([B CMh*LO)<8pm3/4kdnD Zm=r'P%%l~³vj0j:hCIqx.-[Y9L[-495uTeAnWe-F71"!\ @QXuvPZQ,?9 ݄K\Hi֚ADBg%iXkTPD_sz9Ss'(AVFL_@h3:nZMav@`3WutQ,$/0v䛵a`6 /\z9amlPɨLZ )4.>B6u* yd'Qho^#%dc"C”`7_bQ+pXf;z>-M56@DV<&J᠆0zmEU_O;$F!!Sc'"n*gUjX"QK#ѥ*s®ʲ5zТ0-jav+|0O-3;Ig3!E{R&PbAeBp8[THxX֧БyT>K u]a. K–)=-G*_1'k8 QXvɟ]0HTJ*ֳ\ڹ7.%I,̼_?,m6P#@[}ҋo5Ԋ6Ixxs䢕L܈F&I<juz5m ?Emn?yYr.ܨYP2x fd>1 jh:E:@`0 j{p^R lqm9U+k)g9mo7r@ӗM[$lT,fwefKIy!Ǭ he |{j VW[5 z՟} ( CnNPoR9RĘ«qS- Q9ިLfi9=dWo?h"5 ̓D輦&EGD`7 %!yϰpYcZ(`]ÏG0CUrפʵ1η酈\Rߺ#T8s}_Q Ze%.}[Z&l^q;Cd)54s~1`׎ R5iqQym%a/X};Se<hEzDR?n5F.n>JwJٺ;j)Q_E^-lk$j8U=blVln۲2f~aΫ/'=_~&b(CM/o~өO#L+BOEh48\ݘ @5$kq%aT \vxɟ93Y%CrEvǮ("doWt0tnL.zY0<΀`}0[o9ͫHxBzMK7_M >Qԕ+D u$Dgf nDh쒵H{bv:*w4r?%t~>$R)Dv$#+L9瑿`=`?SD`>1ʎm]M7(s\jg(x/v@_a@nV|TbͥqnA9 W]nbPXh g1뽑A(fMs:菎;z ߘպ2uZ7\:ppwEwtFXH IȔѥR&#\r\f nF`0O9C誽FZqlpMvtﺸ@陂^Jq`)EHb\{7ՠ,v v8Q$^llȎc6@pW Bwu@X 'FlĊ^%eW9lj--c`Lu}YE2kDh/9{?ƱϱUBXܰA~*,^IKpYa|Rb{25U2w#m_{ݘ>>1K _BFؤ2$?2Oq{AVn?X)IDL%s07l$ηh2uI[L*mi H~.i;tvZL،ɓ?,5Rc/W| 6en>kyb&pB~GD{r[bR*]1W?B<Ȫh^)R],F YtsIY }' 4 3hLl(y)b{[W1\@BQXw8)fYywi]i1$R:f8\NmZXlыs7A}8.ʀ$@}E_@+9 BgQQV S;r&z R{3ub깜'qimI)B7m D.ň,VTCbvJngL|m<>/JR1 |盪2e%p?|lDǰ_?ҴZ\dJ)?îIl>v~6*F [?BE@%ٞlNjbCIq Ap5݇WsG4 !$5) ֺHk,[xt֏M nR60,Rb qvw^-8߇  {'h*iMt+XY~*fLaF*įa|#XQ业ltǐ/(h#< =ÙCp+cqZ7z*C#2.܇ӾWKq`r6J| WybbНyR tbkyop;n@{g߅{ӗԏ/AprE #Dbְw|KIqɣ\t/A&"D|Yq0 fUЕmQu6L \hB!uGŕn䖰#l@8!7ߞAaEZ=G5F!g튳ĝ: jh]Tv :N5׉XqN!9vphlsC'N*PpHL4ח>61 ?dvՒye4K"$S T& z9Kѡc*TY*_lă(FmڌoǠ?,*Rb<{OE>n[ &.l~}?}/2{u7B#H ==%rqZpaզT+%fr?Yw LdS1SR InÞXZ9b[XX@6iJRC-U*C]]qN ^Qb{mH[#ǘl?9TG"9R^(ūlRW^:̩C>30ET e)r%6T߃7n[eN&ḿ q= ELI%rwÑ!WyEXK chޒ&&C05ǠvUӑV*B9,ސn6{ԃOf$Ľ<$CO6 tŲؖ'%5G8nG`R4{t(8J<'.ڳfB(ET飧}"]\/KZ^)" L?dI=|dq XiМ:ʱdOo|P-B=)g'Kg̿[~uv+߀On" ɯ`NYeam\2*I~E1q?a8X5S8^$yl#se6*)7fդvu1]BKWܮ{f f~R&ޘ۵j@80zL[q+C_aŭ 0d{kii%b|Ex6!KkGf:uIUy{GFel82)4Tes0:ꆲ(?O^xKRD?\mBWu^bW{$od> _'+Qd4uޣB$l-$,=d<|7O 俿IT085 곧TK t`x4;9 gn3T> ^lGi{5vC7Zd0JF{!dvI7jjÂ?vZX79!;RylM$}IdT˔Xc#70>엍@ 1s55eaǭ#:"Ĕ=xgU/kHhS+ne&l%1|q޻lQWSX`o}]h U|5i6.)YGnj|2(4zw!n|xPdrVU#7n*3dh:i6ǝ6j'+S Þ6)"=T$kp;rĂ3.CbnЃV0,Ug !6\I_I*mU݇ bW`NV0ωL΍.çN>05z)M¶xqgfiؙ !ǂ#<{ gwqo펍0]C`mbܟF+F]hH*1UU|{dn=fi4H7pqTNxh`N$ V]C<=J6؋}),%aа013d0`2O6F!B;G0.^#խ)xQF6\v6)iꪹLU 8DV! "1%ŗDv;{`9pJR1gJ?51e&k.|0jw:)XZaX7#nj]wݟNf v'E}*KlK5ZpG:jj'i"sG?bҴbR ^:U EdF}@/5-`2AŤcgE^f]seXǸG*p.ƚwp B{`/ t*̷ύ@HupZ"n,GH~95D"xk'ڲ/Ek Q}ZU3 /j훅d . %Feٞ޲wުX:}Fk!WɛvLNj fN'tJ<⌎S23ש~+URO$% \<i^D]:x7* cmF@~/7/ZQ6Qv禛mc4O6G ܁עt4/nVZ,ЬcfZ9w0~1 =a?J0x3Sg2(ʩ 8:kFl0m c[=ggqBJR]z~\:(DK3a2]kQv#DpK(_M`&z2 ^0 q*-x;Sxi(Il]t9K؄j?&un׀[ڹj6ML[.~>O%jcEHbCѭzפoylmIVx1.cSI#i<;{ VֹE@ L.dGe.viXГ=WYTvL;Ukn)lYFIoRbZ:pz樢ݫa"\ٌDmp sekRnac~#˶c|WxPP+G PmpgK}K;E}n?ӬysUw'Y!E'k8>\L#G t!V{Oi*u'Om6h~u_ ^@߬2gmB;nOZRJUuۗymWp׮V^Bn4*9Zϣ<\-p[*Oudbg5P4؉1oB[B~ݖO%ۏ3M/-`UƎ/!^2`͆$5'ܻ2INU _ (T3Wn|T(n阘|˟>T"Nl a,=r ̡CF( -q*9:^^?ͫ5aظrC\*5fvʖ'?EMJ4E&spX}ݚWJ>y#2fGO'kIְ[̮>FpMZU^ohx/CP֤5wЉK/#'XuI"$VEMQ+G+g"_TwD öq'ɫz2sYq7Dx`>UHt:A^6'ҢuYNpޙ2Eo5.mwgm3k3 F8xba!!d+b'7Y2Mܓ_!5笴W a) vOɔcY)f Z%WxtpDt]buHW9ʼV'!~c̶M#Ù*$#uψLeHBs bFyje:w>{VWѤEY@*SRHIK-t3?8L'#ѨatV0Ą9 _1CoN(A 0Oz 7P0K`%==t4GJ=,6Ky%dV%icarQ+;v*-[Ko / v5TQ(:(X#oڭ!G5AFE+~[-d5*Trp3E( ,Y\o # LԾ0E q;>+o9+-&Ü'$dj̗S,fi@m0쳄AOiMNvP t1U?:E`Ub0(hDd od6A2o#M ^ܳc }_Q2UVas?6("O%|5?\wTj,oO=o^zm7L3&Q%aK*Xt$4RϾW̔@PBғ#E3Mli$@*n`Z>8;wJ1Z@V|\Wb36=JkDBF!`BDWڎ#Q?/# WtfvdQGNfS -%! C< u^)q9>jlHvIBXeݹ%!*!e(QᓊɣjtVA_/y|7q|e`K*t G5>plv X9V5> `p\s .C} LRЂs)Fn?$砠Fe, oo1o>VϼOgf)y M%+:Je~)y(5+> 7]^K¸n{ٓXM Qvj]ve!FӺ{͎tP*șt uV؝|JZ.ålﰯ9C j^WDdƟۓoٚZ?D~8.``Ar/"Y3D> \\sټTQt.(EWrzX\{U)kI!!/|;ld Ml6M8mhQY)$)>+\E$WwNtK~BOOb!\GS"2ʕ482̲r9fs5;&$7X%6Հ$?y.rIyp@o!ޤ(m͍kIQƌV̓S>`EuE%W S:7}O%]f+2%?q*މ!aQh[֖C^ve{}dM^Όn[mU8:"VuI7a/F iWRޕ:R6#n7; >edKp#qi;(aFPD+qp{KV.1S|}2%vQyhAOp'K%}>\&쇅澡 ||NђMoW3 ~ ahGrH%I$,׊$7*ÉJ_UOn6Vgo W}(Q R|+?hsYwG `Ru߁΀? ꎣmI)TqԖ+7 K*Xj,%eOsobR8q'nSb_έ1PGG{FNS :707w;*zhopXtV^UةLoK@yrmrܰA"I y)2k59s;|#e:r{QB5:kTM& X&ѐn^TSI:|v]d6zE gخjαc+NbH,3KG)٠Ak$㬺^kpfΘ jу>N  Rϴ4"@(x5[7vZ2 5;v==%?Ibs". =z}  F W˵^. .ԓh *̈1 'I6 %.ZLm=q(m<OD SEN\/bUXWPGW>?ɊY?JE,ٹ=uRTpR;g(hw?>=<>XGꗂfpAOkk֚ǝŗϬ| ]ofBϑ(}3߻R[ވ6 mߔ?V^3z\ ܾ򛓻Kv5f C%A <;ne5GMb8YEXb=غ3R!>c.N-Jۆp={k5_h%ڴqvk_#ey+Ocv+#[A;~&h=sxL]u~%jޥ_':CJe"MxWf8_]?L nc1*u C@Fk +5dOP`XW;گؾ QT Wa(8SO3wt>b*kSZ3"-y0 *qCRj<ũ4I_,- 6&ؖ8: oi^^xb}F6~VZ tXtBI||;CV-RIŴ" .֡QzoM5B6=Z=2B+TjG\l[3[v\nγ\ξ;DŽnmv&ZK@|xrz%,59=Z5`2C6";fep 59"R8MS=04 KnVi#MECc%J/ hʴԽL뻹bC88Nv~!)QST8 M͕Xo= y؉izC?߸\lO>Po Sxm Ƀ%i8 ER3 CK*c{BB[g4# X ܵa=7;=3Vܛ ɺ T/ϽwXCpI`m,AB+$S>Ӯb ';B%j:ZMy|FoY6fe1W>7rB]вHPW qrK 0N-k~ьin]dn)$z:1Ia#;pHjpe.gUd)E^q/R"- J 8p.tBg35$^%-E*w%>(0kBZ1kn5D"?ag? C{rq,gX27CU6KLM?'Ё MJRթFr|-8FM53Ʒ !J4+ PƳQ-C> i}?iGoD̉W1$N[='uarkz$R''WRޣ{_s uH/Uرe+܆jQw2K8hsZFT#h\2\szeVW)oX;3f9d(*(+b `ֿFUE^r;) |j̄;BSG0z33:c@ݺxW 9^ޥݶec JOϐ$9&8ARSX+$RxJ,''xW=s$y YvWB׏28L8M{ ֲX1[+^`g]±*2%;!cȁ,} [y|wxJIqw8WfJZ Y!FA!2CkcxUtI!O.L!jERON@ATEe\ŕOm-=uۯ,{9|!56FWP fhKpśq1ԙV7"l%3y$>r.M!Aǯ7mAQ *s^cqj-3hUqԕ, &W8I8BփF<# X)qo k9$Y4#=8 opNWRٗ&imyQRM`bPtP*mϮ4"hMvg#;I{5T^yսb =_aMD 3'H-sGF&D8}l='i?JxRCh1|$c=THF=[1Acb&m03?jbhN}x_c޴!|,Upv~8I1愆jEɑxx7orzŷ17Dou^,,}|VYb ;:Ne}U)&޸j&``U(^ $OqNVdS14u{GS1> u] _N q=CDj01wGA:/ bcˮ#' ^d=M7cwV /-́xlc;nыMbMmCTV"Mֻ}z;᭄Qef(VVt||ft\fOq z5y۵ .eg ǨH!!]yB A4>AĬB8zʥdE6:\ v$q1J$WahQZ`ifbbwcɍm!­۬i9(* fA!*SPz .@ mڎD^!4FѦ+AV4DŻ0BߖqP6-CHͼ$.MƧ1 dl3.` LP#&6bQku&k('oU}KNTUAh]w>Ƀ6&\?B#õ]lҷ|3RO V.v|~$NA_>B8*AݙW'o(Vs"v^T\W7~ަ]Lj-Ty2snL ,fSpf}MZzK 3Ѭ}}\%sDQPa_ ˌMK'3ЈF;V}+_F`_t`M"f."l^BW:DQ̺` P1fI n| v2*%G.Fr,RNSٝn Jh록D&9TY[0ZDU8 ;]88Yka`v M\%h-"PRfHC`y^5v¥z _{d' ?T:7`xG >BZ-x!׎YZxؐc# !(Ɍق=ѕ9U%dB˂Y:Dekw@^ko+:gi3 _Խ +bI[2 +ֿXĝ(>Sf>E P"PE-2!o.9\8W"~Hy臼zb\B3dop稇 ) 4;6-m)f!z06M40DOsuwx$"JWu?_i}J#0V!a'8+4"@ a84\< `ݲC(ً^7=KC`{UMRhdƺZ1LUtw͙.Yh)q*Â-*nٟ_ wJ7g[5.)Mt`Ҽ_K&.k ,SuXA\^/c EƧ/~.zITʶUGUюf&%cS㭟`M9dwM3] /_pc7FkŽs(\jݖ6ѱYC(υx3xu!2!/|baXK6zuuJz@҈V6DKdx*+^Zj*$P!Kpװ*HcT"lLdڑ)obꔥLҤK!W{QW]U{; AsX5L:qל^Ĵa#i.)}ǑѿcJn.y'E|BN5vꓓk1D>qQۧKR)1xC 4c7zHs̠hQ74;P^]+Ŋ_7н:VvX/ *ȉ 'a l+ΠnҤ5\HP,*Ň Yaҹ/B) ^ƃ8)k=C1 9;R Nx !AbQIŗd=8eh]'Av$[ԭN>n4|p'1VAǚ|"idWl'R h܆/fiuJ,F20 u-m/BVH}Wܞ">hB$Ţ˚g xr2(ZbՍIN9YK9;y=z[y&a|bWyYާL`ݿSF( 2iP vVE hQ-3C_)BdכdbP?QD6ڂnl񾼖%g3԰m)8nIQ&6KdDvUY`yu zEWxkv(d^R3utf[>xRg9d tQ K(E˗×gLLg$|N(jip %HeD~ [e#0ܤcχ=OU$].:c {M_Fo\zKk2lk>Q0T8A(%犪87 GM,~8I.VyVZFmg rVal%1*' kWuղ&Df`L./P'VHvNC.o5\ qi + ͆[cSO&^>IOZ@@ᓸ`nQpˑ [=1-1Àcn(E↷O> 4 վt#xYJ'o+oipf&lP'h.m6N4o'`z2߲B/pce6EǨK(jCC)QpbxL%,g"d9=6ĀQ?ԮUS@ltReE}QK0?LfVLś|巕&86%w'%q }ni0Vr[w GSE DsKRhbH85ibRe:\MMПB ^HҀGF] (CB4N{OPQ }D*O2E2炼:72.Ʊ&r+"v_5k.e08S(ErNLtD;k"9jÀL!?V'vbu͋< 㷸FHl22}D7L694z~YǙ/0Kńs`e6p*;ջt{wfi~y Ծ R YKzqOkDuˉփAW`ͧ b-EG_ތR`uD E0*_{+i\N-\ q5'%I3)VʕW ?ҌM^wwᢨ"B[]^gGpT%~BO3ib^e-B͵#?!`JļA&D(~7^ex^XO >jk:% tN xWO{KcȺJ1%e N,Ѿ-*S]b Cc.tiL!K#\%;YC,+Ub/i2Z=2ѣX UԚZ=+2By[seSQ"NE'ԜJR+f6zlTN~FH++7f"x,0=J?+vywQJ-:4-l&߀͞R^7rINµj b>=ޔ*~m[LhO8z9F>F!Ū _n? *>;{KOۭ󉼔u!*/;EGgU ݘw/sP-Wu1* ld(l`],xg#Ĕ>2CӥXw7Rܙo7[2aau`8q'w*@B洞Me(muyv`MH~ bOIqtᬖC~ 4ZE{E& 倀@"/}Hz" IX/xh ҿAw\148#O\WʂQ>ȯg_ޙK\26h4o6Aʄi@?-xZ.b0cW=]cJHR/~QeO.?^5PrOH{ `>}()x\j c, T8t!9^f 5jj1JGAlE|#N`'RWb9$3˜N=C0P "7ӻ3L|nJ}"@PIϵa`ڂyrc;Zr!R]/eXUR0_6 Ӛ bEFjm}kIRi8ɸ] Hn6ܸp<`.,J~as;pUF{!S5Jd?".Gi,!i5ԄWkH +P+ܛ4B͆?sϿU&V)Ĥ0&j_GĢ0  ^L2HAa?\zH$lhb!-{˜JyɽoVu1I̩J41-X%/zSlq[$LR|:-'a<ۘ˴<XKY2 2d)ݦ$] :YS1Z-?z^`}tJ{|#,30en6Z-((C#+"dVv!RQ_1 ^W`KJՎH"ւ7 춿Q=/AHA䕑9:1F'ޣ#+VNJ"fݫ9-!;MW(5pv*83|bjn^֮@܃d<' 1,E3twl7璃.Rݭ?˵>Vw(#uY'n'CCLw1,q,EY[χ+&'0Ka,"m{81y}_ɢVX6 g1>\WyK=S$uc7ȒaKÌD.F!Yx0qkqdQUFpnxۧ7I,a.3)L#ZVaudZYjdMWP34Bwf,,M'ː EzWpOE0Tl1IrkAЇڙlBb6! lDʸHX9\ Y8}(bKQMp2ͼoN!ӎyMkU>[06  ti4dh/-7KD9TsP*Ϟĕ"WמYܦs3ta'dK~|챧[SN_ o;8~ "|/XDkv( Es- H[ w&S#,)l(9A0S?A$ȯdDd-!%(ˮYME)Ko(ǘCXNIN";:3HTs BŰ&0d42/Vę71 Cfژ14UlbwӕL@rq7xnZsG|r2/llf (h/( ӘX 6%g:KvLkXF\5֕UHokDѼ}$v.]g+ BfEQ*ob0;zfN_ľweArtEGعNaU؃Xt܇#$aD*/A;Xz,Ɍxv|uʟjB30qPtI5֫W3`>cHM'&J b,> jmVBAÊq;)*eE|RSHn bot1$&X ͥƥ*sWаln<`uq.-;19JA b|B)ehrˡCf#3sYfN2~d84&Tg#6"KZeDW;I .)SMǬ7) |1'[ i8oϜXpuͺhm6m$=ՐH{CW߰>KʧOTk~Z3@cZˆÃ qn[xO6a\VXx ˄Htv'-A&0iIhr)$OymOm@"fcXRz]34Ϛ..n㢋f?D('^zD)1KZFoi $_}n4ɨzDv9V"ͯ%Jf]71Q$)Pg@4ٶѢh;z_l U:|ɽOS }9cDb5+#,BAgzj@Z59eD3U|Imwd<ՔAyPws͸x^`ﯵ[+d]Z@P0h㛥GQ$ΒCw@6|?übzgjH99^&g;w i{Pp,B{(a ZrN=yv7@tN+T.IWjSZDQEeR/$DQ"jZLUZx;?B'/|ạn׌`%>zIlX\N'Rz=>m,tG8%A:2IPJR\| }.g_z6r)m&ɗp 5@9ٟM`U@WSd(C(T[N8X*nzu6%ʥ#Uԑʹ#PUCj+!ݧdj>kW5kWs`KT;QWTd#9c6PVd2 ޝKCn|g1foʸ9#US6iY!*(Lv? q×xmh0|T݂t=x" G jR}ɎE-}7QYX1PH:*5F 0U+uAj/w1rv#~|?'yrX\@ۤkv>q '^m' My ^ZebKgIS ʼ~<#S"G#+> kp#s6rU%xΡU~bQa[]oԏXfkb/ 3Nyx`3|-jtL nTb 8=bBV[;Ϲ=9,M6jvP\ {<:0`rmmu ٴaJ /#Iф-Kj+I(k@Jfd?kNKO'|eQGwG9SUu @ܬ+FTXԧ6!1Y\$Ăl5SJtV-m!43Hb|)ѷMja8U2 i1ck SU-fqʹFGۯN,"D}v0#fJHzQQQZ.=w+[hܬYΙ#.4LRLR !eWGo>!C`+33 ֥pc\d3!1^@^UoЛ?8P$ 01# y40Rħ,H6;yDf_ Kn<4ۼ-ῪpZ;b_izF +SS|xcg_Xi@l:Dؓ1s@Rx9G 5ɩwVUE}5ީ&7_|T(*MmV*cWMe+ ]S촢=iDqBXŘ B G%^$kx@y|BϟHsyq{@;\.A OKвg<Û+V?#`h*6*#ZHqm Q V֍ jSB;cO=[G*v^oݪ&U.zڂ =]#SK*yWd-F>R<8~-cVQ bA+qV&WjCfp2M=D;Z+S\YaIk;5ⲇBw.>8>(?TzWss`@|E!~.7|7(x!pe[rx-bnއ{S#]S-4Xfx $-z߶SȉUs烯f"xa bO9hk[E4!3`٠ׅsDP& pɣB }FӌF|ri'{SRMBn{/fvCɚ [1"6;R&f\ h%p8Fze5]XZ!}v쬁#cuU\e{շ}d53)r+1[y nI]%w!G^a]*'3q8{pale9#(5"h+$FYDVMUEU C%|BJѹ9\A=-v9mKkKV1Շ[J<Ayq.0QtHt8K+͘"I) e PdߜG$_y>Cn {׈TGM(HOLh@Dy?,C4sy$,򻂍42ODʪD=2 ԗ>Lz7Ȇa9't\"gkU"mY- O}-Ha#_I_Q;|~R/Վdfu|rG05FmCRg EQ>ؠ@.EDAk v\/5f>ADTZmaiѣƪ]FѢҀ _a,7;wr)CYj>:JTR}WdOh")J=uzYk-4T@*=X^F=p$ g.X+h9>Hf0"߹FRb/AYi_(,=b~8wO/$T=w,m#ԼEhhظIoq ŻPyUl Ɠ86t߿dM2` כ7c o*:ٜ;Bu$e\}\ZAW>Jgi/5.2n'{/jIk>[yuG:Ӳ ]wDhcF3ӊ԰e*_ϵvFr䶼xمb]qSa89Zހߌ5ӐNu:šxؾ!N8D)&N`1VD^7Lӥ wHhQ睤c*2VȞ1*$h21ϿYe (NȬcWM] U h"5 EHI:z |֢+0z|ѰeD3xxYK}􈮮{?Gs\{"DQTub[q̭-~[Λ 1FYM__Ȋk |!zEa2؜n1bRG}vDnQ-[O5C*hڎ{ƄGBoWKܜ#56bȹkv+NQwMk:u`p١@m]nJA=2g{CcТ]$DApס%&'5lpd'A䓫-o^69sbrD OCt30/Ȭ7&2{Is ʷ9a"f#x/X;`qD ?]d'X]oETUm5P>K<˃NN{, p*5yTw",ȃ>#` Kf&Δd=[tkX\ASߟݦu)J݈47A"b 9A8ϼǛẻFB!ӑ a܄ lhfL?tWAFgԙ TsFL$MS›crP*+B}T?:Nu_<χJjEXGW!Jm@ZΟ 0bk+$c %ਖMpDÌD*Z~krZjƉF]AmoAo| غ1  q L ꬺHɐ#ʕ7 7ߝR^d9rX!tn˔WU3a̠Ue:0*c,ʶow V*ψjx7däA/ע zmq#mЕ9ё/oIj?u_ cH9O[E ~Wf[DS4k~P2Μ&q13ee8u %wUՄNrt,A&_N6|j-v0-S#3ԳCxwcb'&a#]:nWQ ^ H>N}~G*9|q+9Xlv%7VN>-Y/T2MC*2'{v 5J#NM kiPovа-c䘋[}WPCAPe/sćnсL6 vYt@C辌ÓgJmxJ)GpEFpv㢅$]q{|_ܠѯPJULΜTS9?4>aHB.^͛Y FŃ",?GeBm.O\-D('6@ŽKuUޚӷ?K5ax|qF^Zpi۴`X Asz}-ɍN|yOy`׬Ҟǰ5ۋ[bB*1MWӢOhh}Y<6u>0W2W='0ظ$lb7Qnt"It6P $qz2#gˏBhcS8{A|=XU(dU7PApA^3|ܬT'F3 }!Ovd#+5GCiwRawU^L5z)mPn_q`!0!f:H~PXvaؔWQ/'pz-v ߤS\r)/{"yS'!гe͈z* RzqS^>Tۣ}6O9WW{+C9,6(v[aYdJJwr exbGcGpYD q-㯐G*p<)iDڧkxL_?iFU;qO(Vq7pp=c}x1 Âd~U ҄Li&K&J/aIŽlC iU]^[hR ^t? `r)B I:[v(_EH{.KJIkSu'kd+׸Y Q~] VOkpkCtW{qr Hb}9i^qctW{Оg}s$1&EK $PClsyt/QY.)Bq/Whyarr:f̄v8wyWw@ƾlt똒T0"$!7q&T'1hK?s}QH؁׾yH!^f{Kc Vϭ:9MV.uD!)HՎPq*!-Jq"" \]Mx:Fq ?ǎKahv7fh(å/U7VVFں:{[ID;'sdqԵL:SƑpև+|3~+ ZYD ~$7|zCHijDl'CpǪ~λw'+7h[~V[lOJˈPBRJ߅\}W b`У&!E`qVSgQd]l:D<ٖ^[]OU;ݷ&C+a0l yNL!v1)ȅf23Hkwwz5AKmuݱ;H%Dv9#܏}:B N)2,B1DžvTǼLܭbĽo~@)rni ObL_]mTnuvBX$gZi&ɀRv}4{vʐUXKʿ{ %@=L`3>e>8SúSAAC+=:#D׸o%T 8m-i}p6[5 ֭s#c}>_lkk)o' oUX nwOH,q4ϔn< e `aj_tG_,!nX6xe^0fb[p:^ sݣk% Pw(Q{MV+Qްi/$9>O 6^yy]kE}7z-"dy$j<6q֞A[JX5ʑG5G~i|~|#9k+L p72 T v[셹 ls|٪ij")t\+6L뙕@iUq85AfVmw7l鷢TS,W| % p27 #2>Gk|W ں^u+Podn[J_hfrYLClJUְ`:zw >Z--<(A8?1U'ZrfVze<*QK0p۩xD`lJ?DՈVu׆?FvHT:}pğ,;_gȼݾ,9_'|iSY2O˱`!q/gOy?)wUE#cMcI hB >t/ ) YZ