libuct-devel-1.11.1-150400.2.18 >  A bwIp9|v-OAL$(Q8Ŕ,:/kx)%ÝR.-U7<Ϡs<dqP-`pS @河)~,o\m& | %mo~jL  N?yDȼuZakTOIHG&`8ż2~䁆kMxN6n+c(s_8a265397dd0515b2dc3cafffa23d425ef71c020b1dbc062969cd0f570974ca83431a77529f6e574f3c9e6469398df318405bced0bwIp9|uw7Ji9y^A({)So~}8ſqh)H>Ow<P=eUU+<\6C3j7q qn ]Aݰ}FٕUrbRu mt fZ%uTe>R눷l:۽Rʺ arNZ2=(}B5vG -˶o)$q.ւʙlK+Sdy3 L~=!6oYb%$k",>p;M?Ld " _ =QW`           D p   0Th(89t:,FIGI HI IJ XJYJ$\JL ]Jx ^JbK+cKdL-eL2fL5lL7uLL vLxzLLLLLClibuct-devel1.11.1150400.2.18Development files for Unified Communication Transport (UC-T)Low-level API that expose network operations supported by underlying hardware.bwHsheep95qSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxx86_64GIpAA큤AbwHbwHbwHbwHbwHbwHbwHbwHbwHbwHbwH406c39260c8ee90a04b88c4d9a47f064c3e2bfcffc6a1f05e4e1dfd9898d032eacce28969dc9b09635de18b6f4e01504ed0e840a281f8414576047c28e557bec8ad226ec5cacfa0c40dc87bcc63ffd9171a951e7af0909575fa1057297fb2969aa55aadce05e87eb569922eb3a7f3f69919b020b6e83906038e6888802cf2831libuct.so.0.0.0libuct_cma.so.0.0.0libuct_ib.so.0.0.0libuct_rdmacm.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.11.1-150400.2.18.src.rpmlibuct-devellibuct-devel(x86-64)    libuct0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.11.13.0.4-14.6.0-14.0-15.2-14.14.3a@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.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- 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)sheep95 1651984610 1.11.1-150400.2.181.11.1-150400.2.18uctapitl.huct.huct_def.hversion.hlibuct.soucxlibuct_cma.solibuct_ib.solibuct_rdmacm.so/usr/include//usr/include/uct//usr/include/uct/api//usr/lib64//usr/lib64/ucx/-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-SP4:GA/standard/41a5ccdc0954f1b671fe20fdc28a26aa-openucxcpioxz5x86_64-suse-linuxdirectoryC source, ASCII textU cQG7M"Zutf-83b32be84468db00fbc73da3db0c0acb66c846dd0df5661017874866306501c90?P7zXZ !t/"+~] crt:bLL f5zZκ7-i>;#hՔh|*$"Za)YYzGh[} 16FX*WhPiAl/61p̏c<~^Cmo--X3T1Q7Tc$e/'z$v1zeQ8;"C^%IxdU\`kN-PN+Q'q=Z׎4"O: _pd Et3ɥF&.qޚ\xܜ1*\.y,W=vӫK^5\*q9eGn&nV){`R$ݾ#~@ZңZOX:@: ,?b8(DBdM͇pg,{_\/ȒzMrk-V+;<4O#:Lg7N:>j~xdkW򩧾谒lA'jd!zB?sW!lb%8fX3Tߧ q3΃@>&OBb{ez`X{lj*ol"7A[IHae}`4[w59KtS:=>}rhepdw[˖}:?%,RH ,9J쟑m$$ w.-|%tV4mAŊU' k~Cak,G۠\JCZgDV@$0xmvHcHJ'??yb{(37}jnVxgh%|yhr,k|s")q/# h5>njsl 9i5M9ٌ 6:+ArW^qK#17xg,eS'd~zYNqRAsnCƜ] y<~ b F+ ag~$欍nuնpϗ/ܧ@G&<4UԌg~6k(ߥ+KX|:[8oP>aT4lR(<RZƹd{} fUZжﻉCz@ھK~= 5Ѽ>M8 ԡ{S\y(|#Rs==7dǙg)Ο"\6kIXI8T @mfJ&ֽ/i1Qaz`x5[7٠(7Ȥc)`?ʯEk~"EKG =ā;.FN) *75xr7^yM oF )+kf1`u^:a8䗻^z -TF-ufe#cA;G_'jT8[p r o}.b[хa8~+Pb=t Ju: .+?a4>tЯ+C^z8\#YSmFu_{(\$2 FЅMNri?ݲŒ 0Rջѓz&;Bˠ#*2hhq-P؉{̙Z_$. 8NN"m᭲w}l0cg'MiL1>:Ԅ}(#dԡWʬ?ЃqHjXl1XEu|-k>(Ylڲn[^fjOvH?kGjUVJ}s p}ZKb'#\鍼PSaC .+=Jbv6c.CRR?8Ȼ`۠}עhI{YcPP> Y6R8.1%LvkLmLT8vSqK~7w+Y7Ւ~EkM̭<έnluK̛q+ud&@W 1Lf,FZ#-Y0fYU~˼3ٯ YǙ{ιWW`ӯ#Y  NYc|J?D{Ro[‹# iE՝⣵%C5C.ar\gc 벱Aomhɍ%ٻr_ZMv*)TdfGV񦻂crv0t 7|D92osbhH 8SKH]rԪ%,KShj.kIR0dV߷ 2뫮,Jۨ+\LN"?R`ܯ1\b#R:~[!S \# QV ?@ yHHr}%_u h3Wv&3&f_sJȔu&U˴ 16!'*$V~[=?ҌG|!l}Mǒ,]zU׹<,.4JdX/3 }é?C> hzEsRd)pH(&%Oռ-='4nt5u~P=H?&ጌ}#G޵("+E)) 9y t3h5J\Aca2Vr)NcX5LPh}m- 2()lVEk:hZiͯN-nNN)|҃7yd/ScGT[k!<%}t/ŋHWM<`%V3s8 ǒ38}.4k:9_[ ƞLMoRiGBMX0'h;2دKE0rbƢ6٥ms"kq6a*gGpB0T^FGR3:yU5&Js^ A O))ώX ӟĺjAg?jpX~úl_{9fTl~Ab?2+ <#JC!G~X]xGN =Ky0hno(yZ۲4oT6mpv_7~ p1{]kɏSۧj̆y$832^u/:ݙtj+ )abtilWxyc'wyƔ_~%eeh-hSt!ߍ-j}:x)EAN/cs~rOxHjQ?Ġ/Mi"$6s =Hr:{"U!'? AȘ/$24Iw+X|9CDХ:g8S3nletOE'q Xyk "8Mam`CǍvq Ҫ rBlGZS폙,idUۑ "L7LAKA=/E BEKhXֲj[+ܮ0dDY=5 2(7\7NxI`2T ,u3rk*0O-YO쐯HpvLr0+N+ 9wyxHȲc]a8=fje2i]vcRqj"CInT*'κ#I6vGz(nU·E6xђFSˮk0hPvPΓ'>TZ8K iǙ5XńUx^>M mǔTKWŹ 9,~@T0D J@=X*+LjAwA ;T,X_e*ỏ#h2/ZPuM- ay$R!BOJ|jx2W0ڀw)AJM,}/LsjXENy>*y5i RJ8HoBneLk^wm])MЋ"dO/%JNzdzqLQY'\)q _Z+0rl oAw`NH 5LS?A_6-Ek$71OŖhh==/\02 jd}C?vf4R|z좞Kg䀱P/Ɲs9IOMˋZ&IX֋Ð|X9˓b=Ҁxq*jfנSB~pInxŴχvc} b'ﺈsm+~0i+Ic6.T;+"Ӽ4ilK묶9XOn?cqfgo/[:~mi+P(}؝RcT :.l5׍WH'7!bLJC9 QA#)ǿ>;$7l]=;D h ҁ*YɬZf#&p'RP=~o"4tMM;tSN Uv; ='[5&8><}*'\M` yWB3w8Ta5>B,[73YoP)q]S{T*ɽ9mN x;_YNJ%=-Wv'D q\ {lhĽ-`bx{ћ,9؉h\Mdւxf1^oqO#u`{5k;S`x^Tϕ9peS»xgd.\T*h;iY kw06DqB9;:˧W!uNH 8 {C#R朧}mK(*s7Y%B%' &92= ]@tT)?*P.‚{R ۄN =&Xu\F>3c6Z M`e ~E ^j2GxZ{g"ce9 0YvN_μ`Υ}v["Ym`LUZn\8iɀ{wKw1X/ܸ.r%iPF˼! 'IOfvhԝj`֡ÿ˼cCJ&,_e%OE!9QpG鄒6SxZ0H `fn =-;.x2x e).sb,3W=?}1и!8apܴ}ř#^p;) 7靫'p>0sB+#W"FS(Vxlݭ)KqF10^ޟ$/q2*gkw)RXI>$VR#{w^⵭g VzrA8̔t~F'Ikqx x:bh|,e͚Y4ꋅ↌$'OHj(/-X#.aP;+Uk|#@.F9]M0}u{;@͓ :VeڟK}<ˬqbu<~ZdPVN%!Xc}WuQoڣ!kyH(O(.ݠH\.B(P}pyNC5ow'#=PHBۇ{dw 50_O8}+'u]qVc{MTZ! h>{1i\϶ZᙓpPc5 ˽]vU:^{ӛ*Y@ͨ}F9CemoVj!.9eN*^L w;+zw#uCsu~DG*_+FUԚhE}r1,̰I $K.ތ=gRP1@Ha_-} U=Mw\u[n!۝;ƼՇ`o2;v`J6mN(* ݧZb [d3% =섶G $@gC(߮*_WidE\S+YB.oj+6I*MEfwZd6e|Hšm7iɀ XxcA>8Mkώ{=C@hni n YPTK~(T)`̂n2k+4Md~j8c%#\g>VFC%Y z̐0 zr^ݦW TK UcEK^٧-J~L Ĺ^/()!OVnús=ADH( > E]q ufE"EnHZ|6s?~XM3zm_#S$m0 "Ē-J58V$/~CHoyDl'//-&tCVxKb׉>^ؐ Q#46Y60J&UUhQ}șd]dB ^vzڙL- _)H8Ԡ~bdni}#T`|1vޢgHJغL(=9~:ٓF.?2fo-SkHŴ!CviQ}Y nfn+N=wBl \v%{zq䄖Z;m8Ntո>S 'w U=W<Ȝ!v+are^co_|ݡ0n[PT}+?O9 PJ_Zi9ݴ6i[RX}[S61"gBkD[nGhd‡IfcS2MN:L)o] 옥.sNJXƫ ÃDJ8G}ECrjvO!¿ ij`~~j#,([ "+<<#ݖf|Ÿ&h}!a0e4gZ .c[<E$ Sf4WǰPN +(~ht%ϰ9YIi"- K+ (XDS4 GsdY_*O=ߙd>lȥ!$?Bݥb9Hzk5.Xr4"2–u#wm|%C1ZE_>޳?Y}!H8T$9Ιe=" dZ|JT=/nȯ/Mxg.\GZ2X.o@ח29a]qT|D>E3%a4NE3X%-n+wZsxhjq~=[WMP!M `PUWx|[~F} ƀ|;e-NVAbhgv-:A<4UshCw]$@KiXa)?̅Idθ2ۥZxGIgZ8FO*,SBSTHة] Q_P/wxq*r\&~oۄE#zA,<1&%e7̱2Byzǖ]A:3Pә5|MYX+7&edոMj7$ͣU@X!^ KYȋmr\̩xUnY\["Q6L92|nZfE+v724q\1',_ ɇD#h-  `o Al5Fj^a} -D[jr=e)Ŏ&vbQII'ķ,Ba}`rnl‘x[貢`T%? m &m)u Rl>r x (*KRv\d^:KpYZp)|U[h\7r.r.ͣ쟠 ̉)ϱLt buC'#.6,ӬKe ʂ%'")Ԣޖ_w!KE?>qR}S?9I4A 4Kßq>9a"' jI m`J< _|{auOܑ[/3N.U [EAi}bW׼Ti zIk9]E1Z`mVY걦̥Sa}ccI?x!p28YI0}L 2wo8a)ABq1V@\]]3iD( D7$"[f .ӛЉf(z$k6Oc(IK. 3l'}ja]ȗ}7C5$kJ@fXOa69Rbƛtvz$4RO@Mr{,`܎1ԗE quB*W!)TY@ba=:gW~YD /V'&%쪣SV;..:v.Ldzq׍Rh[P3YA"u76m VFOA/ TggT?*si%x9 4:C0#mҍiy(o CVBĭ ~>yYN g8qa$=ȄJ"lњ~>cPU;Iv*eAF;Q U ux!Ta:M*ĉa׌m}*!R5t'u-@nUDWnwrOqFK3oՋ|6K /Ӊ4>H*k3wKV,ï7H(`u'jEl>']ٰZƊ'|]1hf z%ćQ@ @*mWw U2춥gCsBlvڥ_TC?1P"e֩hGG}Er)piB1EIr>1jErD VlN̪@-v-z.eH~@((g$u^?{4  W{.)J7g1 4%I6V0R/lOlYp^ Ѣߜbu$$7O9wqDސ4jx> qO'\S@v$kLr¾Kpe).܍)q usќkyF5?#{*ZHxbm sIV̷a%`rNMq6d95;vjO^7T jt)sH P&Xl`l.`LUujc!L8hlĸ_y稥k ;UE=&S8OSڞj2X<&IG^Y |. ^9Y G:G;6i)8;MS?LvKR5G~=/^kPNy<˺Ð 8xBG!l en ٿ~WXǭLGE_|F߽&Ʃ> `=.s1IZS}QZΐyѠ,Fju`yߪv>W 3ߦJG%{JhƨcqXqg_:u#^:%`/lj < ER[[y-vT|.Rg`b{\@|CTV 0hv΀M,ZKsf0L5]7Tն3RȊ ӵB` S`@oMw~Ѵ.u}E ջDcBƺ+2P#')!|](=C''Mk `iE]'V)ҕhWG ?ppU5\Xxݠ:|Y⣞ƏA&5dcQlK#㜛KZ]R[Y0s.8PBm˾0PP3}$o4!hc薁v{p=#+yts<@!-|h$w& 49c T{ jm5.D& ,6_ko'fˆciNz I}FwV7)]J$H99ƆV{n䯸M,6<&&DhrOҢjLT~ɾ\:nTJ_}u^~ϵ6ґ'ıNC Kb Տ!cШEws+U'/eWxEx>|g%B@)(3 z8+g=TZV*? Mđ5A5q 9 k`p{4sdhsHy;Dte~FjaK~H8`U^R6+tѵD׼)BLs0dɉ98m,)ꛇN:6%@A"Ʊb׳<$vg.R:-&h90pvb]_( t"hgwq.vs05̕ECB3,͙&]EhzB?\_#5H~YTWbkR;D;jB{̖n%]IΎ ,9y̢Gd|DD7(ߒbݲ,"mD]Kmq^=.*d'"@!SE OuG߃e;bjh/uul0~pcYJcJ;OXr*AWem(?k0Nj`xpaV26uAV H"aZ@~a4~gVqϸoDcpK: ݼ%sY߁}1qd;fE}^pew3W̘MnKcbJVR+m\79D7F`5"|hm̑ h<9TK5tm$oj4!O#Id^`a4iH<3f e і#df ^[spLP;q;0_w2fTDaUU0ujmԤ+# '4rON Y;J;bb5w84TU{]5Tʊ}{S'⊻#x UA|x7vyB!wVryql ry_kB`l^B2φ?Z_Bu],#YS` H$r?SYvz s #Vaٓ?OP#0ȴ[s 'o%9ySrc&~ɪhK&ߵݤ:<_2ޯ#/uMsZs&VWZ/N,u03S<ߓ~2sST gy+i:g+ y:>M'A՝f\,p>ewL(wƀVМٺO).;a373#Ez.06ҥoEOj+2 SgV$uUC˓E-c v(Y"89mtE5/3D="'b;=n1q@Ў @U*., 9,J!欎tAdJlA=*2]qѸ$Ɇ| w]]-G.AWv Go1?WEI&-8TU呡}I)}t>#z0%"94o V+/ luv:Q E^]qiFm^g񏙷W4{IbzW{$5'S/KrK1-nDoRe Eԧ")/bf'i'֘E} 4=t{cJܶ۷Vq@{I`wA0F9/X]oMZ7Goso!04e0YmXm CXNcB "* ;UA(ky%/ NNb\\LI8D4,݆sSGR7,p(yJ aoAR#԰_~zY  ;fҺmǂU2(vkkn2Q s|A=X. 4sJ $Beߟ8%hmBKOMY İyUîxȼ_b?![ؖ,՘o{~>3b5 1PlyJ7;źAͨ ' OhmQ׸'-[ړ! 7'eS7<%3~:9sǬ~!^f"m06OjJY hĬ: fAvcˋIZf^l0 žSBKJtI3PEa^B ֺqC#6He!z!#] = BΪ&7b@@M_\Q5N}tvcݗȫŃ-:]'W3</F$5H 9;<^rnH?<)LP( ʧyOxCox.=&C :ÇWFpܿhaE~ag`OrECcKvDJw]45  CZg啔X,0} AYYaWtk޲w(,_8/?xW"@ؚ˗(#Fl44] gS)vbx0g+7p2nyk@uǜg502r۞#* <'9ruNxBA:YBdo>=YؕP2/e~b:H+^(4LGo6\,a,@&[к 8C`Fpx9^Jd@ t,s2%m$e&.r3 7n X!ZTCu 2jlr{_ntƃvGtS^פ)^8kSW'?qa&z ȭ QHTNO)V6MI_4 \u»^m6[,)YQf֚aP56< +A'Aawݸf|TRG&r\od3ğ^{k!VqU.k R a]qCFBÄG1:]hbm3.W:2\>Ќ_1Y%!q|̝{\$1P*T TOhT]UV%+=5w9 QxXϨ@@ M*ADd1INGOBrPRuL$mǍu|̚*Ǘ]p[o.P.ћϕX{=,޾Ar+ԅ!H-[2cUgw%+5f*؇7XF7#━siʈ\Ĕ7emRxL4fVO-6Y E:|\VjYilÿQ2|"K <(o8#QjeJ3;$uG+V4}c㥿/'hK>A͉E](A+4t?UD5[ s'7+ •9 9>l6\D'~ܦ׶ S%M쏴\Döx'PɠȐ#_Qq8" pAue}<":Dy=N2e {6N뤙Ӊztγ3Z‰:'* uDD?~Hv k}9?Ͻ>yg+ͺUj+fbnjG?o; @-0,n*tTO,<ՙ2xκikQ0 @tfnEoc܁wuuhyӣ e9BqB9ą{xwE=tiE4X`D~9zZS`bJiV2,G@<[-ygNaH-X#:.tVd{X}jXPoo"!ȗ;+}؃D=S.Y_B=#AN2 x៞};@-/5ؓ}[j ;rTxrbS)a5Zj-ehsD}ct?a_v:3qL `LbW>i=Rd~CV-t*mρpEu4fCmЩ347q\MF[ Jzi)2z,DRܨޗflEЋfZa#thMTqi^ͼjW T)pYPA./yO@W^I 9oZ=p ȄQgۻ%QF/Xd$4T{N{{ W'H28_íGYY(5+`JO ^6<0^3~h=2W}ÅCy'>lNIS2`{^U$fT8W1cW)KuQj<;YXͷ>jrr hG·weZu]dZE&㖮 ƻ 2ruŎcO8g?(R\/ͥR Xܙm(=5qѶ8^oo'^6IȋƳ |,)ƀ`Bi+po>j-x렞ЃZ2I(Ћ ځ9ugˀFv޷FNaOߜ]=&vQ2:*jlj򡹩;p2YW yi8/bxe$RO=dXJ, x]Um!QYMGԨO83aFY0bve?5윾'ϸ r0 i5կ@YxtsZ Q_K%bK?sF0_Յï3)>L2XW58x^~bٍ'LުvHܠENͅ EʡPT7l1`{zijj]l9+˾b5q4%$iz<uζn\}ꝪWo$6>"cs 65Mhߥ5 Y@UB*xWJȈOBL4;Þbz0[}O;1;)<Μw.3xI)(v2NXI;2x{F *[Xj aקwf\<5|!fx@d;xHigY+;E3vl}g|o~vpz زʻv` GĂ<U|Y<Y C1=(zt$t,R}* ΉSG-Ze/ry3<`= H4H? "ATQ)rB$VH>bwp!w7˄piDfh *=x49QЭ֞qw D;=E Jɰ+a¾".Tay*Wg9wbg| d -GLRe1L0E _uNa`x9Lm|kohz[3v4uc_\{eaXɋ%ׅ)3HvU?>BGJğscP"htšJ$}qH5t- kٲ&RM^:p"6!6_P$~:ZE)x;mzhnepÖ\LB`^2sCqUr=DnyVw|uWޞiWA={2T:]HIS\IJ?dA3U'!{^Lx.`GRp{pg4h_y:)%br٬0R.MbVT7녘 %x*C]⹵HdSk nE { )MS oՐY<2nbbY!Zvg~#Pl'>)7S:՛ڜW_KL*+ѮKm0H$ >8{m*$N`tw gRmz݌D R9ߜAjevay8E< JԬB2#DuNE%li ,)p۪qa8H+> 2Gb$!.8ܯhkZ_n#, mDkygyqBzcI8Ju%[0:QSQ1g,܎_vbCHuYj9/ _ixjѿY_e:EL͗ 0؉SwFAg.$|lQh %d`' *LHk^g0̈́,ԋhl ;O$I#0ꖲv"נ B¾K/M ʎK=Ȥn$@`$Wtf~y꿯K9ī8Za]+<8ã_%\]UуW uMJB%DLQ Le\_9K)v?~k3rWdC^u$Юd6b3qRz*f: '"D *f CΖ97YZkz35H9hES4}BEŃͮQhON7C!CZ _/, ϴ T'$e`8ε3S^4cC0q-k;_ SځqyK8ge0G`$IIb|&Na1ԩMp >( 2WRG#AF *OoC k$%02\ٮj,g b ZCf?#|})BO &i$1(\ 2!=:w[zW~/&Dt&43{iUb9_ȝ`er[KDpiM:г^"Ѻ/ܪ;RCdo%w #o5{!j>4хxkhVqj&{꧅agSD{k`S0'D84s|X2 0 .xߥㅮj5A(\ N{Hm[؊8^?Ѿ(`4=a z6M{`[r_sdk- \>{|'mVvBJo@u!Mk o,s'h {otWʓql*_)B102sI>҉t!_U;mMIDu#V\lŴXA{J ,i*%$|~oNvidn d&U ɻC3-=.? ;pPz2 t8Mßa7M0\ j u,RmDNu ؜#Xm7lގ+yl/tH +际ez=Q5rG.'30#tSJpK ].o7qt,khg'kp>Ie SLO42:=12sF5Y m_6O.'UȖP Tz=i{)yg<@,5)D#gIצ W=DVUư9,i&!0VZFwL=GqU^pۯ {;s*ȩNoql3N4ڝ=3Jz&" ^*2!>q8J4`ȹ9'h2ȁ2^]f.NxK$ 5.-W9ϻR[ib+(0hL=ےuv\AcHEkH]P}kQ1<.n9ʟoȓ[@I> 6 'LLqq0X {ߡ[G_#ohF4#.va|&IƳo^#gk46n݄bqQ#YZ, WRNpERqo:x4ր,Y3 ERɧ\}O(}‹yN1ڵȬT8^o&orwa1u5 m6Z瑔X8[5riЙ% 5Ϗ&:# {Ksɋ˾ϧ IXF(/r79zfKXcB@y֖9paye@;dX$ srNµR Eo 6e3k2iʰµ3JZ榡3;T(K;hST҇ )W'(sDv2窓c؊t-3CB[Ѩfj7'c 'M -)}q]א!|4H T!:pUJc\ȢۤhE[ `+t9,X`ѕn OQ1Kix>bqwظvx@- +Mx>|86tw/6VY^s/Ѝ/zߚOFh19lD l/ >e  jGn{zlk !^3ʆ"U|/&k .8c~r?iLe,aE L4-*ƪH0?.*a\ʩ%t` sA-B"5%]eeΡ!6 <5+(F1ZR[[cUFfpa"'{Eå|pmHolA@E{ u($D,΅e$u.Չ>]4UȢqa+Eh㖝Vr~[D31; Su!'2/PXa8/;J+yL^thFV  e vs?amP/T z&o:Xfj 3} HFw~T0SxqxSdQRF"qmzX/0|OR~)@鱗l VHc[pJ+ M$p!8h ?mد&\4! gM䰣;#"˕FFUд3RD^Z8 grň} !ᢖ+t (q4Ϡ/@t^FaB Lsk>n9Q+M$@9G^jeU^a4j $n]Ҝ'6?0>e;.vyrN6*T#Τ]+b/[sZ~bh'NUꎰvT?}Nj2*"-D| )02`3h ,|F-Gi ±J|+z=`mJJ3쩓jBbh'U?;"$Cnq`sK*|ǍbDeϿa"0"Lϰϻw&{Oflb5U,LvR Px."t=LxݳܽVK.E Ą),M#<,L8OrKRV ih,3 H/f6u=c!~3dXPؖ5҉$IWWI,%d? xEEK/(NpzrVG2;w^[TѢH>Èu.yP`um#H^ `VGr8β`+FCꈑ~:Rae&;\7JjK罤䬷ٔÛFttg]^!xa 0mQ2x8IMM>;̃Ds\u7 )ʅc?1.a j(Qb& rr6gwʬtZ 4"#5W:|y۴G.wgfsך\e}|h`%BVvĎY>}7\˶#@'^IH$>_7UI^zɋIK`/ьT8[cvJHd ΰ2/*X:ճJ}9IbV֚ ^36rԥۖG+/{CB՟"BC2Ju<zv,ƹ} /{ r)pD"`!ap̌$UDZ9t*Rx-Jsx%TlmힸV۶!6u YJuWh{  ɠnN-sJ19т|W̩i~WGVySFd= _JN{73HSoJtE͛ن]mn}5'PX;՜Bߛ0퐊 L*)YړY7 alh8z{@ts73RY7/a49F%oɍ 2sJN!S1بU}'O.gHQ~ 4mD_9?J+Je~SFd׈yꚕ[OP"8`ZVUV;Z%CO{TF mܒ Vh XpEK_dgr,.1($fPxL}m]I"+i=&I>ŽFӤ`TJПЮ͞Q!UۙEfV۸G[9hUvB>֠ւ22^OHN7&Cّ4NstL̠.G3%&Y)!OQYr #s:DJڽBFq6HώVNA`"hVi 99lx\ezΎ[v[`r_Z%fQА4. n[[z|g?2-ZP>^=,E!8 >j5M+ !:Ư&$3.2?XL׻ݜu2ڄz*0w?yaH.wHTfQ(DfduE35OX-6 hpt)fKFV^{W25ճS6LOA }fl]S%kktTXw "i R*p,JT휅g~LAϵFayKWil4Vq!fD3y6XO'Uڎ> qapGZ"[ =.P5e?u"E?Py I2"3mjߤu ` ֶj FN" AK2U/IwE[_*@xRokQB<[ M%t'69zF7Q">#ÿ.~|jʖ"?ʅ.Z[`=Yp>u` h}sTo3\a]4@r6::sRo4nBn3HrE-/#lfjya)!j KP?TA"1c`I-!bZ)Ac'doCzH:'LL4&7=,Z,WplW Pv{#jTkukiȿYͷ#ѻPq%J<<i\vY8^O]oo!Ć0Mpl q_T@p 2Zd+<_Aи"|&|ݜ;~Q::FCXFքv*/!(X=od  0t"X*VK"cD ]ʽIʏgʆ7GX 5xl!Lx^<'7H KuKT2_KYOY6qq—ha߄Q l}ڃ|'=%+NpJn<}-ը<-f=5pYG ƃ,w^ttQd>GB$%vϕK-ur{ʺV0s`T6W"!0J UOcIQ; FQ \6Wn&ep $2$0p2d_ 'd>A&nݏocSk6Ӑ5{S~ _H7vTN$xOWWD Se\dkjٸ W^⏩BXjIS1`|Rz^܌k.}s>=֚rd_>O1OK§C;1$}+ t#LpO w!ڱۆ*V-OԬ6:cb%L5Ht/c2!Da^HT 5%!I/?t<@CeW|N+ئbbޘ,hSQ-y&!uL竻m-Yy3;]+hnбd/rq?\ЇGYLw<]NOΚs ?zʭˣ.%ǍxqkN)qeVs:hH2+ɱ /Qǎj_RV'۫6^3S'B@;,HJFջ-+٤J bFu}9}ߦqX\ Is@rv ٚAyGώ:/Rt@S}T5xnֺ\:ɯ&z^Z-YrnJ7e c]ll6]WLUה?u*YvT{KapV5>h;(/i[k푆,$@@U4kZR-Vt>!%Zq- ٻgKa@zz,ԕFj^a.2J`w|>lz<1}N@ZfvRIif(