libbpf-devel-1.1.0-150500.3.3.1<>,fL`p9|K@"Wb**io.m| |--] Ă{9l&TêfHā?B~5 …ɶɰdDw.$MCãM`_s8 0f1pj]l N.i5O}2[5^ixiJmPh7ILG R xK}oBCܨY x+jxнFXomXv>>A?Ad " ? /5<   D  T0T  ( 8 9 $: F;RG;hH;I<X<0Y<<\c?7d?e?f?l?u?v@,w@|x@yA,zA<ALAPAVAClibbpf-devel1.1.0150500.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL`s390zp32ASUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxs390xA#LZ&nI E${!~ !qkA큤A큤A큤fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`fL`cVfL`cVcVcV2a23e9331fcb79c6e49590378f8fb91c7945c887448bf2e057f682f992158df37951d21f37e0f1e6affea5a2849c883b94e539886ea3cd0e1d5e30bf8241dc8a64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb3e4aab7a422319392972c75caaa6b5438bbc478466c7273ea17055221bab90a0cc7570f3121ad4b94a0d835ecb71f2c1883a4f9766c864ddf1b0e136cdfc7d05372e36702d3021859ed9daa57c6c356769683d6f442b211446038ff970701de4e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50337099a4b085c09cd9570de1145d90ad60144cdada69f4c23268ad2e16ed2802656479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8e0a85fad1ab71453b9738cfe059aa3800b17075e50c01e5a86ec75de43a25a05a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6b13b913cb8e8e0e98ed5830923cfd22e2dffba50281af8dcf27e0ccafd0e358309a7b427e4d3821688f73d5f7c9e2930058042b8d8dace2c3dc94b5297d3b8fdeb3e014c62b1a26bc6142b875674568fa913b10a0506dcfcf1768d600271ad5d5847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.1.0-150500.3.3.1.src.rpmlibbpf-devellibbpf-devel(s390-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.03.0.4-14.6.0-14.0-15.2-14.14.3fLccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comgmbr3@opensuse.orgshung-hsi.yu@suse.comjeffm@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.deshung-hsi.yu@suse.commsuchanek@suse.commsuchanek@suse.comgmbr3@opensuse.orgmsuchanek@suse.commrostecki@suse.commrostecki@opensuse.orgtchvatal@suse.commrostecki@opensuse.org- Fix null pointer dereference in bpf_object__collect_prog_relos() (bsc#1221101) * Add libbpf-Fix-NULL-pointer-dereference-in-bpf_object__c.patch- Remove requirement of linux-glibc-devel >= 5.16 for devel package- update to v1.1.0: User space-side features and APIs: * user-space ring buffer (BPF_MAP_TYPE_USER_RINGBUF) support; * new documentation page listing all recognized SEC() definitions; * BTF dedup improvements: * unambiguous fwd declaration resolution for structs and unions; * better handling of some corner cases with identical structs and arrays; * mixed enum and enum64 forward declaration resolution logic; * bpf_{link,btf,pro,mapg}_get_fd_by_id_opts() and bpf_get_fd_by_id_opts() APIs; * libbpf supports loading raw BTF for BPF CO-RE from known search paths; * support for new cgroup local storage (BPF_MAP_TYPE_CGRP_STORAGE); * libbpf will only add BPF_F_MMAPABLE flag for data maps with global (i.e., non-static) vars; * latest Linux UAPI headers with lots of changes synced into include/uapi/linux. BPF-side features and APIs; * BPF_PROG2() macro added that supports struct-by-value arguments; * new BPF helpers: * bpf_user_ringbuf_drain(); * cgrp_storage_get() and cgrp_storage_delete(). Bug fixes * better handling of padding corner cases; * btf__align_of() determines packed structs better now; * improved handling of enums of non-standard sizes; * USDT spec parsing improvements; * overflow handling fixes for ringbufs; * Makefile fixes to support cross-compilation for 32-bit targets; * fix crash if SEC("freplace") programs don't have attach_prog_fd set; * better handling of file existence checks when running as non-root with enhanced capabilities; * a bunch of small fixes: * ELF handling improvements; * fix memory leak in USDT argument parsing logic; * fix NULL dereferences in few corner cases; * improved netlink attribute iteration handling. - drop libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch, libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch, libbpf-Fix-memory-leak-in-parse_usdt_arg.patch libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch (upstream)- Fix out-of-bound heap write (boo#1194248 boo#1194249 CVE-2021-45940 CVE-2021-45941) + libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch - Fix use-after-free in btf_dump_name_dups (boo#1204391 CVE-2022-3534) + libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch - Fix memory leak in parse_usdt_arg() (boo#1204393 CVE-2022-3533) + libbpf-Fix-memory-leak-in-parse_usdt_arg.patch - Fix null pointer dereference in find_prog_by_sec_insn() (boo#1204502 CVE-2022-3606) + libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch- update to 1.0.1: * fix inadvertently changed struct bpf_object_open_opts memory layout; * fix btf.h header relying on struct enum64 type defined in kernel UAPI headers; * fix NULL pointer exception in API btf_dump__dump_type_data; * remove struct btf_map_def accidentally left in bpf_helpers.h header. * All deprecated APIs and features removed! * support for syscall-specific kprobe/kretprobe (SEC("ksyscall/") and SEC("kretsyscall/")); * support for sleepable uprobe BPF programs (SEC("uprobe.s")); * support for per-cgroup LSM BPF programs (SEC("lsm_cgroup")); * support for new BPF CO-RE relocation TYPE_MATCHES; * bpf_prog_load() and bpf_map_create() are now smarter about handling program and map name on old kernels (it will be ignored if kernel doesn't support names); * BTF_KIND_ENUM64 support; * increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using tracefs or debugfs, whichever is mounted; * new APIs for converting BPF enums to their string representation: * libbpf_bpf_prog_type_str(); * libbpf_bpf_map_type_str(); * libbpf_bpf_link_type_str(); * libbpf_bpf_attach_type_str(); * bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting out from auto-attaching of BPF program by BPF skeleton; * perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf; * bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information. - see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog- Update to release 0.8.1: * make shared xsk creation network namespace aware- Update to release 0.8.0 * New features and APIs: - support auto-resolution of binaries and shared libraries from PATH, if necessary; - support attaching by function names (only by IP was supported before); - support attaching to USDTs (SEC("usdt/...") and bpf_program__attach_usdt()) with initially supported architectures: x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv); - improved BPF verifier log reporting for CO-RE relocation failures (no more obscure "invalid func unknown#195896080" errors); - auto-adjust BPF ringbuf size according to host kernel's page size requirements; - high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(), etc that validate key/value buffer sizes; - bpf_link_create() can create all bpf_link-based (including raw_tp, fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old kernels transparently; - support opting out from auto-loading BPF programs declaratively with SEC("?..."); - support opting out from auto-creation of declarative BPF maps with bpf_map__set_autocreate(); - support multi-kprobes (SEC("kprobe.multi/...") and bpf_program__attach_kprobe_multi_opts()); - support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc); - support BPF sub-skeletons for "incomplete" BPF object files (requires matching bpftool to generate .subskel.h); - BPF cookie support for fentry/fexit/fmod_ret BPF programs (bpf_program__attach_trace_opts()); - support for custom SEC() handlers (libbpf_register_prog_handler()). * BPF-side API - BPF-side USDT APIs. See new usdt.bpf.h header: * BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(), * bpf_usdt_cookie() helpers; - new bpf_core_field_offset() CO-RE helper and support bpf_core_field_size(type, field) forms; - barrier() and barrier_var() macros for improving BPF code generation; - __kptr and __kptr_ref tags added; - ARC architecture support in bpf_tracing.h header; - new BPF helpers: * bpf_skb_set_tstamp(); * bpf_ima_file_hash(); * bpf_kptr_xchg(); * bpf_map_lookup_percpu_elem(). * Bug fixes - netlink bug fixes; - libbpf.pc fixes to support patch releases properly; - BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix; - minor CO-RE fixes and improvements for some corner cases; - various other small fixes and improvements.- Enable building and packaging of static library. Explicitly enable fat LTO objects.- Python is not used during build; remove it and help break a cycle.- Update to release 0.7.0 * legacy BPF map definitions (using struct bpf_map_def) are deprecated when LIBBPF_STRICT_MAP_DEFINITIONS is passed to libbpf_set_strict_mode(). Please use BTF-defined map definitions. * ability to control and capture BPF verifier log output on per-object and per-program level * CO-RE support and other improvements for "light skeleton" * improved compilation when system BTF UAPI headers are outdated- Update to release 0.6.1 * Introduce legacy kprobe events support * Add legacy uprobe attaching support * Support uniform BTF-defined key/value specification across all BPF maps * Support kernel module function calls * Support detecting and attaching of writable tracepoint program * Add bloom filter map implementation * Add typeless and weak ksym support to gen_loader * Add RISC-V (RV64) support to bpf_tracing.h * Deprecate AF_XDP support * Support BTF_KIND_TYPE_TAG- Update to 0.5.0: + New features and user-space APIs: - libbpf_set_strict_mode() allowing to opt-in into backwards incompatible libbpf-1.0 changes. See "Libbpf: the road to 1.0" and "Libbpf 1.0 migration guide" for more details. - streamlined error reporting for low-level APIs, high-level error-returning APIs, and pointer-returning APIs (as a libbpf-1.0 opt-in); - "Light" BPF skeleton support; - BPF_PROG_TYPE_SYSCALL support; - BPF perf link support for kprobe, uprobe, tracepoint, and perf_event BPF programs; - BPF cookie support for kprobe, uprobe, tracepoint, and perf_event BPF programs through bpf_program__attach_[ku]probe_opts() APIs; - allow to specify ref_ctr_off for USDT semaphores through bpf_program__attach_uprobe_opts() API; - btf_custom_path support in bpf_object_open_opts, allowing to specify custom BTF for CO-RE relocations; - sk_reuseport/migrate program type support; - btf_dump__dump_type_data() API, allowing to dump binary data according to BTF type description; - btf__load_into_kernel() and btf__load_from_kernel_by_id(), and split BTF variants of them; - btf__load_vmlinux_btf() and btf__load_module_btf() APIs; - bpf_map__initial_value() API to get initial value of mmap-ed BPF maps; - bpf_map_lookup_and_delete_elem_flags() API. + BPF-side APIs and features: - support for weak typed __ksym externs; - BPF timer helpers: bpf_timer_init(), bpf_timer_set_callback(), bpf_timer_start(), bpf_timer_cancel(); - bpf_get_attach_cookie() helper to get BPF cookie from BPF program side; - bpf_get_func_ip() helper; - bpf_sys_bpf() helper; - bpf_task_pt_regs() helper; - bpf_btf_find_by_name_kind() helper; - usability improvements for bpf_tracing.h when target architecture is missing. + Bug fixes and compatibility improvements: - improve BPF support detection on old Red Hat kernels with backported BPF patches; - improvements for LTO builds with GCC 10+; - pass NLM_F_EXCL when creating TC qdisc; - better support of BPF map reuse on old kernels; - fix the bug resulting in sometimes closing FD 0, which wasn't created and owned by libbpf itself. - Remove patches merged upstream + libdir.patch + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Fix LTO build (bsc#1188749). + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Depend on new enough Linux headers.- Create libbpf0-32bit needed by libdwarves1-32bit- libbpf is now a separate project, stop building from the kernel (bsc#1188419 jsc#SLE-17288 jsc#SLE-18805). - Fix LIBSUBDIR + libdir.patch- Add python3 as a build dependency.- Build libbpf from kernel sources, not from github sources, for consistency with bpftool package.- Reflect SUSE CFLAGS - Do not bother with obscpio if we are fetching direct releases - Remove patch 0001-makefile-Fix-install-target.patch seems to build/install without it just fine - Update to 0.0.6: + New features - new extensible bpf_object__open_{file,mem} APIs and DECLARE_LIBBPF_OPTS() macro to go with them - bpf_helpers.h, bpf_endian.h, and bpf_tracing.h are now distributed with libbpf - BPF CO-RE: added field size, field existence, and bitfield relocation support - BPF CO-RE: BPF_CORE_READ(), bpf_core_field_exists(), bpf_core_field_size() and other BPF CO-RE related helpers available through bpf_core_read.h header - bpf_object__open() API now auto-detects program type from its section name - BPF_PROG_TRACING programs support (incuding BTF-typed raw tracepoints, fentry/fexit programs) - mmap() support for BPF global variables - declarative map pinning support added - probe_read_{user,kernel}[_str]() BPF helpers added - bpf_get_link_xdp_info() function to get more XDP information added - a bunch of other AF_XDP changes + Usability improvements - no need for int version SEC('version') = 1; anymore - raw_tp/tp and uprobe/uretprobe section prefixes added - new bpf_program__get_{type,expected_attach_type} getters - preserve error code on program load failure + Fixes - btf_dump padding handling - bpf_object__name() returning name, not path - ELF section handling off-by-one bug fix - mem leak/double free fix in BPF program relocation code- Initial releases390zp32 1716281573 1.1.0-150500.3.3.11.1.0-150500.3.3.11.1.0bpfbpf.hbpf_core_read.hbpf_endian.hbpf_helper_defs.hbpf_helpers.hbpf_tracing.hbtf.hlibbpf.hlibbpf_common.hlibbpf_legacy.hlibbpf_version.hskel_internal.husdt.bpf.hlibbpf.solibbpf.pclibbpf-develREADME.mdlibbpf-develLICENSELICENSE.BSD-2-ClauseLICENSE.LGPL-2.1/usr/include//usr/include/bpf//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libbpf-devel//usr/share/licenses//usr/share/licenses/libbpf-devel/-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:Maintenance:33986/SUSE_SLE-15-SP5_Update/0cd15d3dec476d582fd15a7dc7acc38e-libbpf.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR?-KK)d:930rutf-8969721983d7c2d1ac7e9d814401085b7eed91a3ad27dc9a28ec83048fcd25840? 7zXZ !t/x&]"k%AK37i2Ϸ=P+8O. x-R=`t~2T:wsWYPx^4SnS-&ů(o!*q‰FhѺwjJrlrm.S\4OoQ2QL99WH8b<ס6IyM*APxaL}^ Y1h o܅]9_fȢ90J4ʘSҍqj:ֶPkTƯ#;`79/dĵ(_iˆS%ٕYnNF!rĻKH>@J rn(U6Y|uƨʊ1UlfLLp п6ڄLœ֢ezɓ@Նɟkr$ZV~T9Ge5pDPC0z:Su|udI<ɬCS[&(=A1d1t coYjk-X܇xTR9/LƐ<vx|/vqu svZ$7H,1{~Їm0?=$z@x1c=:LK_ pw[6wJ$?_6tdnL\ ,z!(߄ʺ#"'7 ~1SS*߇qrEL^{*xc=6SIdﱤtiuVytǐ ME.}kO*eLFS)ÿP5zf-t[ic]!,Hq2 ҶmK'^$w@g] 4n7nJ#9+cc9E~1˟rZ?"vOz8͙-HP|AǼɠy:7:5tֳa-!'Pk" dQ at L URA.tyW |2Ji(tu]^5o Zz(u>s% N,~Fƒ9:Ô<©YْWVnc$=o,&FÜN>Wh Dzǹs5 @eKDdxv4_Ot븬ݠy2N좎T@Dx#A6Wӷ9CŴb{c0,5d̾lլlj ˲g' 1鲹|ABA;Ut R@3ZMYw园ȡj 6L؇>e7莲Y*QdLYY0as~ 0tZWkY+Pe$>i6m˽ޘ~ndp[KJ%Goj[1#Y6}1Cfc(S:CIyGSS| U+Aim+g\\q]=AhɊ)9嵈xVgg8q q+P̸pNץ]|VB欭٨߿̜(藼$IةJb2`X B ܊0IVA7%ʗ"< 3[d3)rD\{Ǹ:{sRO27Ϡ\Mző7rT] %u`Qh!.M4t,0x όD /ҭȔκ&`Wp?qD Ig5O6у?{gT?"}+/v=9C#zrVF5S@a(i8}@wIl5@j2?φqfwǤQIZpU71J|.H0[_1ޚJ w'->˘=TߠZ@z61S[p-E`@ޒ):J%`. l6J/**>x$c!}se!a❫.\-Gn26Sբv3]~ꂌQ?^(KZ{BL֌|ԅo%tDgVD# ,$KyIQ cX6$FsMi"ѿĚ;鼂FU𵿸Ƥʿoю['J*XZ 70] W]jH =ȩ3Xk]PVY'IU.$PIEr?,T8)3?r%F3TkMϱ0:m(4V [:rs8Vld%qUɴdkBZ]Xg3ZN|<, q\}xcK5LIO`[*FM?a$Xy,CRiB{zcYaW{u 1~K:c oB u& & uԕpp%D*I+qU^o6PNH1 dlU>EVȬ.4!skۅ;n_$&ߵYPo~l102uƚv7ۤ9VaD,Rfnjw]Wur0-1^Jr*ڞDKOBFDg^h62fy9-Z91fz,099)HDOLYJ5[LDvUEM(3S>!ee{h[NKg9lwO]N Oʅ;(CE8&t>1k! ȝbhe$ SbO+p`teBN`,يC9fvy>6]4-VGΡXyل<<ʴ4 M=T'PZr\k}oJ;F Λ"Y\mtӃ*lxukar_]rG7pcq~[rx1GxTl $#d@g[Bpdz;;H` +f.BFx*p3+Y!?<7F~d;윍K*c\Y& U 8aCDs{/p²HԄ0o_fs y P>mn* ^\|@1\)Y$ [~uc 鞥zuдz=u%Bɼ!O@ZT8yt?b4ﮄY:?םõe||;P8xtȒ~ת(#׉Zz$z'er#aKτm˃k紓ҲS5] #@>:?ZHk'Q;ta.DgZ 5a/)n|bOLx×=_3xBUϳo) S}1G=ed?mUٝe@rHnMkXZ e R]2#^>\~& WF15y]HF!5Y֨B0ĈeҼ"0~:̀]NхLN;SoNREXg |V{1.Y86BFLQۧ#Hv7SCꮆDN=͒d\3p"F1ޟv}54Wű Gmi +K*+klj^kN`e.+φf=~Ry\ - Wh)&tp#aX e&*gzYL9d02)NNA\|G.YqI:t+66ݬWR\FŸ!րk#t Wf4'% b! #?UF][" /~[*UTd ņ͂ ?}AHf3Iّdwf!XBkQ.p o=6{KW3& 2Xl$צBVm/ܩk$>xY"ל Nr4F jʜ# {a-a`q YtE"H E!/&ofi&HZ3˵+SR"eql+jYe\^5T=ΑO\5Žvdѻ 4hf6,CKuPJq#&^`#NmeE۽a8=fQ CJR~ekXmZ.srqY҉R/ЦvYL_J $!9-xǠYLYJz\7ar .DE'x %y䒇5G:l{;򌼖]: \CTkldGit_lOQyrHb/}u똨7(<.P6S/1vudy-;.xff sCl0Q7w/C̈#/cSo350UYYLݾ8ʋ'^}ק\i*do?R/J WԜVhCY1 ,=ឥeL΄oa~]%2Q@j/ʅS]n.>z좊.ͧX#hpfO锲zijb& "e(oPt;7(Xm~SسVxxEIbt.ZnfoXg,ݸ9S^ Q5U}C>w9!NFɸr* ;~&aDH+|.1FFlE.㋐;$ q&1aI$g;vN,#[!/OMgD #smհ&S rI'ć;J[)pZ 6cqJP4[RuS0nٱtS5 gX`8]ܭn6bd<4|t׻)Y܇&J pN8@.( ZS `ۛӱ) 3E=_=qjHkV;(|-QwYtFj]\'ˣi![,u `,zzkS 1TlisO@-Mu!wH1kX%W+Z}9~Jҵwm`1%!3ʵ uxE}Fn==gxGDOymF (Ni;O1[=J|t3ϐ{1@ K;D?;H3 -٩/P >4nŖ0)}>2V]}7sh4"|*[@PZspM͍ځ+sP$$% Civǁћ WٓaLBt2{sU4 y MJC/ObommAgp`\eNDK K~_M))T"粑$T䗂>xޏN-Y_,oyrbJ s5YJ@Q|OFO9֎I Sic܂ 6LPU&FVˣUd~0M0T`={Gm Imiƙ9p14%G!'\\E㠱?˼T8].Bv-9:&ݏڰ'&Q 8 D夷!lU0{`1#P`4_ϴ\. &UY$}+K'0ɶOcFkC1ge)Ve[5}#&M\:M+5"OFAEGv6x&4IЃ*<_QX\5兼q6P4SZ e?XӚz:՘7=Gө4Ȃ +ٓ8=V` sl~Usr uEo0JahYA |"8&3ؔ[>cvx5PIe jBFĀ 0|.'')R{w-z̞ t;i0)W2Y6DN" T ZWKO'n$2H[LS}̍Q4N%pgY<-_b, \1%Ö^LʤLؾ; s[Ckz$W2 "Jw͚ѳl4*;hc?_ )8^]_kCter+U Dj3G9²z!u5Juu[{^F$cnO cm ] (c c Ϻ^{vz4sHwHÇ#Ejkj娊'Ǜ֐ˑVݍժr,hLdۏQu@sr8#;.Lǂ#-ȆbN2sI҃%+ǟM6ZEdLd%sK\ )AE6JW-Sczm[{p͎,$j>ybEſJ1K7E<xajBell'z_wě[% .kQ FI2pª9rQ¡Mei?bP92 [ 1'\ Kˊq [r'>RW*m0# k8lZ%a`]]^WNU&4J o7HwE qƫW5i]^>{=R"LVo >!yT yiaBCђ? ڔ.֔7T;\ZKo5 Et(:OlWLc7?,a ic {#͚j{:ØܺoP$`tylYE.fw+`6f< W bK(`jA֛]%>95W>.UלMEU+0g@^Olьi=(R'/(De8u 8Hg8N{[9o͇u\jhQGE7ZDm0e 8iNUQGDr9 \Gtf] sA: SaǤ ţY-хj9畲'^2!ءPҡ+b Iٿ)~dA=Pq$@ͫ f'{Gё& lj "*7[n4LSxģ@i艉eP,&pxO:6Rf(~ Lqd=`Ѧ+^/^Q"2,qW;pa{OoPwcROxEIq.ݫKWEjڳ(ib.BO ~IT,NӴtq VvM>=ǙB0 ( дݧͽDK8ɔ᎐O W$VnGԂD&uQv"53{\l@^ؾo&[dBhtF2̓f1> sLH!ȨѬlwa5"au#tccg5T6%&PN1J[LlUSyE!oӒ^]/hMMW*@F{A)NXbs:ި '>BE)06 "\Zxk4 ,|K͞t g6|;z9Ph>,1:n_hHB=ɻ)`0@p[ui3D7N{ǩm1jYeV0kUX1] Z'z&Ġk‚HGZhN"&uz>(bO3sq$gϞR,Qgh^tfzxS.-h]J&sttq s-򣎩(`ܸL>B˹/GƄ`uSJX2;~K3[k#}g1#Sboh<~,[g ̦Jh(JFUwWwqӀTTyd`—yt r1ȫ:*y4\ŅAyE8@@B,z_J3ş 'ypvw#sjwR#P*w8&eYUFl"&MHlt.cuQ1?۴4ޤh筤 AW[K4/Ӊփ!o[mgAKeP=l17EVfnШVF(Tg۷޶ Ski]"x$-:=|b vDcrzr_6 d27P!w1Ğ%*l3`}RSblrkx$"~iL皤wN`puJ*zaE^")ܘ'S!S2mRSk}`^Bhʹ)Xg#7 Ӯ֨sY)az=irBkhOb^hq)@T%j;nY(%]=k^Bki2{́d5d2c*#+6$T2o~]->+24֧{"t!itZf?E"K ImK2i Pq˥@IΤ $ nǵ e7%V턭SW*@(ZX!Ñ YUM ^~|?'NHK[:WNV2!H_D`b>/|%pJeM`{p|Ľ9HO|ml$~rrt̹u$DU$9N=nn UAiHhۧ">U 5<;bf̞yRl鬉gh'9FHg}IF/I?\9ȔW\X*YgN7$< 20[S/Okr"CUO}#AXA=Z pzن2Eڏ.ie="pN X4xbΌ+]^ 3/<ǥFpm+g?7@g۪G-SyH bJ%3D4[6͍ OqEc1w{pl|!c0Npv<8, ݴ,̽#OڰZ3="켲ˀ 3D*Wq#9367Iz YμTiw1qrmk" _<?T[`HA>w=/sEIpGo#|zr9c<k5"b4yA[-j4)0Ni?Uj]Wt0)J4CCyp@HSw^6ءG@xd1h  PI?h R(xKD`&1-1]#EbrViERvY n̲^eay(4J+A\CT7 +"FHg?aw-a(9!T_S)/8TwIhqm;)E<0/M`OӪB-,rƙ!5NH_tW&.3Q7%tM"xbc3$!wi`{=)` JZ+C0Kɶ+mٰ#Bi #`{ky,]H2ic{$U1B I7 Q_%ɾn1[mhC`FDXqkGql q6T )]UpQ1Fph EBr= Fqm Zѝ.R+{?J 1atlʪ#,MP[p㐎mRj`boYoʽrsc@ދBK&x quls)>IBVX쒗JX{1AQmp ntʻqսKP:d5udS@ux1zrKk4tA&ڞHǔoa SzwdX:cMd"gV (GO?M$9tʍaIzǰl_ qqBb] px hsF2h`Bq~<5T(켵oVֽ2ϴlSa=c:=;G+u2sxg|gfa$UeV-W*,B $L;SRQV'׍?6kpm{Q)2#Fя pg*d8HeJI3ޏ/iuϮ_*̚#|j$Fx*٪&^èVȣP5Fav#4bc@rKaJyQWsr"3o[8[qrM[HD4'SDf@%Gm?}(#,hn 0o#dѐc%\.}:h?3F\eiS_1npCHn?^^qv>fXh85AQ/UIow P) anVsmAkqqw(#SL J-x쎣>#˦9bZ͎yMn@T帔@kG8) }%_%iIqSp]jcbwMXbxjG8I"J_.T>bz2՝2ݨ٧?y{O#_!m[?;(zG8N&);!Pt"G`m5<Jy:l$8=͌B91rѲZzcbh,8@y+]2po^|Jr2GN UDSlYakΡ=]^/҄q2nAc Y7 ,O<$)HъbQIM~mx@_ 3h9R${.'w{;rV+>Wz8iKJ'9)ǧ3#Ȃ+vҶEy'o=UC!ۡ~U,AaifR>҃"gϾ*MzPf7UhRj/x8\X#gqJOAioTnXbL j_ q3YOYq8o(AKxaqPL¢eHsιf:Fcɧ`82%*$'zt^0۶<!FR9{4 d`Y@psOX&IGcQnQ Js8ZC2ҕ~ <`C3Q]s;W(uU|e,[q8EfBc?ĕD6S-kf|%tXjB="͂ò)Hts[.پnV6S_:姴RqBS9Vnl/FKP~h)>GFlyX|FQ-q≗x3aƁxAna'_v]f1mOeU`ԀRIt$XbEx.4$_<)$} p#kifk;"!~D1R3Nm,\uxwKͣ4'e1NV- /{h ESv\B0HZ2ap#ǁ.֓D3%kM#m]猕yߖء\F,#6\Gm#r)7#)73?S=+bNlw:X!HQuqV0n{2/P^WqFWo1vтpt ##jr5&hn5Llj2q瞾T2\.ƺ9` PICD;A Q@!XڤG&1E9ISes #"_QAce jSGvP@EIa (::__Wccjq G'4&=蛺F*5VI[eW,\"ׄ\ŪzQ,*24bċ*Ӂ_%6K&7ae/%*WBC QI Qt[9->P_u&64V#MLPT$ ]nrVB!ƻ%إs)\5[Q-uƖ5ږzRҿdՊR ~)Oio"oձ ~fqj;!Ae1dO4|\D-UHL ;]31xLJPT{)C/8g`mB6yB.+,~+Y(M ntd@ y_._:XiJƜn0JxFxW}ƂpD(^pFem5_{k?v%!?qǒ'=FC%{ p]™+ @OSyL `eJ{<3zͿ:TcRV3>ܱ7O|շRw{HShh~bz"M=ȭ_ƶުx ڀs-7-gB<ꍊ)=$ IJvOWEم%96-r҆,LtOz5|g8^mejs+,h|L ,,⚯tT-30:rFbys/u!J_sʵ4fe j8؏ _▉&C[YQl^Y:%Q0SYe*bhYwc x)u&'yysa'ؾ&rB\EyR6dZ˂AΡg{ɼh `nfʖ[w[`M_f:fC( FVoC:cNRCr؜ TdI>I8\kY!aZ*!ŇHM v9jQ BP/ǘ_'աrLWoŪ*`*H J @iX\(5ԵHҩK2޾63#m]>sLm j}]3 :gF }Dh8BHXwNgXIR03م~&zܺe͒&3ae#aSs4x`[F6UgRd]AK6\ꙧESKBG ub|m5Vf yf}a8oLU3Zs#zL܆KE k*:N9w@o <'5DV@ S@jH4=6!Pq 0hK,$[(Xj;+Fcf>VoN%7撟 ͟c9|pu:֏8~!i#"3J׉<])I7e۩5D zdo &J|0 )VEBia7%'A.路<[ҬB% HD#4EW8š7z[ZNom̽HMtNG7:)3C,Fd7hd-\9aNR^Ŧ۵Єf&?Lª\},Cd,aBỴ?d \Ba% f'77$6ʊS ػjKN]\Ǟ`d#JNvXe0p6 '!s]kOA .|v ^*CCyW><~LjUvQҫGX(i@=a9?u04~">+GߕLTGN2moTqNw-|}Oӥ nCB:r TU _.ƅS7&ە)VمRx ?w;odI]U<=㣽aeg; 2;(HSNT|zLKg %_^]"?ẏŁAѷX|Ç2h"&TvKJ/ˀ7OB=x;;"=}p8jY _~5$<0M&dzq(xO?L'AIOk]E~i'9KKSt{yv()FKHt3l]ͷ%JDHĔ;+VԄ9;7 !$=Plxa609|́)3Fc;VkALZo)ťׯMGBHݳ--`yDEI<8/IF Q>݌X&_Cz-t%[Ѩ_`^p/hLCi/+sh oЁDxVO* Mgۆ:.˯9#2jl&]2"X&RMv0Nv `jFj:- |U|n@oz6ͦWM;rh]'+[2<gM iv'zýB1XTl"dC|ɴa WsD %|a͓P3}4(ǀ >D;tK !>j6G6XNؠmȔ`g7zmLL7R_f}OVPxl?233ߊvv%{b{,/\0 VUA韁Jo߂iȔ/uUTsKP0a 0ϿJrE7>vR`42csB u`)+G-l$SxgngJJN_o!F/s> AI 'nO^>*`!̯&U0j8eyd=.JSYpYKAJqREz6Ch6[)y~-o{ &Ao^d%@>&/+݇Xo8WV鈸y3LBK;qsj.}s Z%KנN :C^BeNZXc u lu  $=-HegoՊ\{݄0@h=5 bKSs]֠ ܘ|IJSDFD.1.+Z>p "wП+ ml/6"&{Q_tҿՍ]ΜxUD!e)֙X{Q;sɞ_mZ7',{n3Ѥef*)v—6y~d,<'T˷'W/F~~llhoVMgql˹88P"c fN#}mA54R6Xg =NQӊgaE g֞Gj¤kp雼g* ۗ̃T9z~-hcFs_H 83> 獼/4os:°r3߅FZAxE'=LfUU$,- 4py0Ŵd>y>'dyWz]pa^!J"Zao׃ ښf6|ߌwT| w^_ΆDZ be&isκ5똉wH$D4%~ǟBPք߲sޝYpp4{HbRc("!{ki7 Bmį[h` x'3x"՝|RK1k)Z[mYf:BY%Ѳc2~a/89(5}.I9R)20HԿ96R&j!a.ejs6&6lDvcH2bFqO3*^R72mQmǷzƒonefjk_η^˷ XIHMiUJM-%>B3+⽝&Qp06{3@fEg(A 9HY@Z.yu62_¤jiĬ0Un@};'BY8 ͬﰇaP9#GMgIUd9J~kYU2!l'61x$9eDsz nrâ1 px[ w[q%LpSX&TkR&j1oYylc'=* ^&"u0r-tqkv8^IY(tFc C@j 3prQA%OkZmk|H.-9A.vfô5;|{gOm.<};p%F_Uma^NH=wkoa6{b}zj{}1CxąXm_D쩸7L`9'I84D$UmnিOڿú[yd .I_9K@m"2}|߳4Fe'WȫZ½Zx&Yi ڑ9Hױ83-3gʐp,ea'ɻ|)q`.էMȸ^5*bI3Rqx#Qm p%½m=_xkc͓_]R|cNبkѓO_;8v p_sb;DC@NMeP&EpzTl:vQfpڽACP㩲 ~W+*.h&u)܍(U=sE./ z$<*QÏ-FtSJ6, [حj1KXUfS,`X-Un*pѝ9VN:<5m$ )^ Ra]Q;) H3mQ*a%%vh׶&{8a!UUrK*?,1[*&FJL οN<߯XzЎE@s~X˥~uS6-*Wa-kwZ!U, \zugN.z`kGTqо`|Cs-:6do>dT?_1_(fpyk#7t$&H_ert!A(<m4}G76";_ uFՙW~)̸9r;h;lv`Ah3~h H[?IYfrcG`!Zu8=Nw/q2#؀3γ vzH_[ ѢQ&AEiRP_U R*&zlvVg u)h$1fu/ݬE)_E~u䟠w[oM1P>0TjecRO3 6%Oo  f~OLU{6O$:wd~#-K6_Pٮ.Uuw e ɯp*c?zEVĶN?pYj+T1WPGh~Gu$o0O+I+ eM]05hHh?95'Yܶ_gi>oYBqoe]c+밓{ `v=IeNTUJS|>NuC摃F\Z,h4=Ҙ34[~mcY%\& l23~ʣp'fR=H=ιo`~Woj?-.NCI P}M>]׀#0yV(o&>$7UOzcK3IPnnˠɝ'M mܲ\Jh'#h䯕[ޖ.b[QBygQi,:fC䪜aIu[d3xq°7tcpB+~`||{;ScIuXۢWfjMiVuZ]ޓ<]83`-KDl<ՀxX&ù,fS>9 =_.N* !:5]$ pIN4KA,R~6IЏE/ Ƣ$@ѦlpԷ[ NaK.(\-O!"Ȋnn>&i;NWs9 h5Y ӬFmTvkWpOhPH[S: 6a)mVY֠}I^K{{qV9?f^ &_][OʓkdWգ[qt.а2S#?ɗ- m̳(:\x$&1Fnrht#OgiU1 J{G&=P"q&>K5mR ዖTx7.=cmJ;^0Z+3~(ao I)})0r?{+ڞpHĊ1l[:6ꢼBRA\Ae7@i<;NiϪ:8*[oQz_asnPLP\O`( ۪ǡHIOw8 ̔)#A5kJ9ې{IJ8װT> Ī{=N +ǷHOg9[)o'Û80KYo.0+X/Cͺ]&T"ʋɘr_v$}ezkXtHyDߣh-ܘ3Y@#LQ:0!mWS1ּ6 _4C~f-t};kh`j *_eg| x, AcZ֊!" ZTS~cmM'(hv" xұU ſ6f԰uܕq-|jFY9Jjlj+l(eC޲-W+1Cc["ˇMSr)8>zQpovW)ʚ.=!Sa8cʦTm*x.6Чx7j*-KnFo3pt@c*ℊTm$#<6fҀ,LDn32a;*4ϓ.q6\1whA$?K]\BJؐþll`?zWvPS8b Zȑ=YlH.шӦ ~6^Է☕u5#og r jM뤮/"H.b>jϝۉ igx~)Hk3YX:zq5:Q;P$==oD "~E_~PP2#_FxX+ G<#o8:rh`҅b[N k {?-MY}ZN%kgPiа(5)$U7 .q9ؒ#-VЯ>u4ۭ];<0=Icm'd&d2t¡aVN9XI-{AQ:PyLliFfuC *6r[F ?D\Tˆ}kLQj0ɋI&vڂfsd CvFv±e5R6jVl^UWSBSMm=S PdAy n K:JlhgpTn<%;6c+F:}-q}BmA| v P9>m⋵GuKxLp%YV!"Kf+I>4Ѽ#d͋n?Kp Aݏm,؞E;srQ9és cfxU q? |YpU\p6*\W7R:h ~up~?/G[mˉ{C;b$Ȟei4r (/SQ)i+eӹupsqk3Bg$6,^vdsx)@w~ zYr:҆wY?AwLSBxo^^&OI:IVRBSsGf5PK$GK9gÐ1hNµ=Em-!vbE М#{brS~2>}|a_1hF(-z nfx9Ԝp9PfOplIdʢ:mD T0ܝ~ƕ$h8I>T$`j!-gQt N t% ͏PPK"= f> M(,-[g6v1߯Hy6.q9ʝȱ6&WgNۏ`Ca#} Svif褤:zv"=]+my;C!Vt BպJt-* VDڀzX ɧFi}9^9F'F`PjV^7k]#1&6О`gQIRяsY鳫$,n2fp=jx8 `>|&#ԇD{y*.fx3ΛD`7Z@h.yX2Vu:|y6l歐%2y#*ِ7 D7?xFp۽R5L*)4tM'uɠU5dlxLZh4B^kQo30Bi/1+pzUumqz :f쀚,{һ4)R)($QrR8Or vԠ.ԉ8须z\k %ZT#xDx)jV#Xl+pAf[ m`,GxR$ uGyWBlS-\e͛'*?x^0XCfxtX^RN~%"/u*.gֶ!8Qђ3kf잦/|7[DcaZQz>lqe( SP:\;Cnj(ii xj/k-b$h/=n'W|!7FS}p0GD[^sQB M&K*4*ck-1iUq2ߞOGqI`e{/) #4ʯn[CAp؄} #蚞 Rh+MNVX E@"8NU!=1tG擨yåfIN "KuK ,Ω*:Yq7"(wE^[PfHvK|^sZR"B`~QK//mQf%=!Idp4EebHJ@\yiq%v /nc\4a“_8*w?gz}T!(U0K,W=вAfi>/Zxg!5 c0H۔O}FȱM cs`y˄KpP ;,Ϗ&fLhʮYQ$%4M>C|j6}ޮSN3*j2kqWh0!` `bW5sPq;ccٟxx2juh"67!4wF,@7LնI4I±~2XrA76rilGX15!L8,<_ҊJJ`M|~1K5P]n;x6yxՑGɅ]o}71cq"Re,4\/>rAkV-S=55@;ùUg7^zH9Uakb/&)sW kb,w<0H2(_VщCƒMW  p&i^4&P)BPu0)HL]]U\6:ҠmtQNamFQ3a>岼7Қr`V[\َԫ,+w*!C뽸&9jH0lgj zH>$STThr\έ`ɪgC7^;m|qG{ҵbda ~o ա3`v#O֐[v᤽PDrMag&Wv7{XpJ/']> -Wr|R]RAR@8YHd܀v U  ܺ$m5W,&G%R2;pWS'uX0 cܤ%צH::8$_x_} ѢV"ljY+p43A=[\,Bɪ i[t>/ٹ5X] '\ p?2oB{(Q6Uo$f0WDjբ/+*^?j3U>P8'cM2FYBen_{I~_ˉrf \ίtd &SfS?҉V fF Tq 8>c Y{"EEPUkw!xЄ#Py~"_>)3Ch$L5kl19\ "WDLZN\k}(0v<ޥPNL"lKt<Lj`8֍1PƗ"؟3V躤vNL$lItl\rSX$i^ctJitB߶QøԐ9[JcՌ! ٶnku}>[ZĹH*~RFZT桯ޭb~Y}۔a=b씧!6̝H@DatPlQtLmE Kq(jj#W"E/sn'Z> Ng P'zM%4^%vRtX%oe fX37md7@awAYr2l.ôX|O2 a2(0#7_xbgr6 xIT<+ vY:[wwfw0]]~ړԝW9NsujƽG6+r*D*drNjTH`Q-g!y sUקBJ[u헟eL8i%q2՛p,g }Q(C2B*tq@T"EzƗ^UVMVgpo_2w3Lut*>t$BW9V<6@:IwLt5$i5':y%pb;{Q߱i\|d@z}-U؁<&@>gQոCu=}CNvgMsٳH(T~bgpC0/mP* )TNW `^|qqĨh> $5'"xfd`1o%OT7< ?22Z>CQ YHq}uP6s_p zGNO`D[_7HN n乓KcfCꘝuul0g]8f :kwX8W d0:yХ^@ISj!#[48NM2pJ7X c-KNkײfh%wsPh*$^8R0/X)56ON+6. }8BS}4>@F_z 셈z-w춤@P UpCH .Wc}IƢ xϛr0 0*ҴܬpțcNc j'6v«hMӊwS/~13g<'J(3d f92)?;oWrb"Y yywMaU!u7{N*DD>}wH"24D:)ٿ[]']Ȍ6?m_6-^o")kU.{Xx Dp_*MBҥs^L 4Bd#g9ER.Ñ$!3E?-:^(,^,nF<TRߩH[N:y+ x CFO4VvY9/'>X_F-BL6*i&Tfu͍ڝ=DrcYգI{n뷿(><1iv$GVL'PbC.zJ}HE D /i9=c1\ۀi-<>PThumjb}/'xN_ÿG,QousgAIG0k*:7*žwFQ^+7d 9U!g\b`A\姚M}YϴV YZ