libbpf-devel-1.2.2-150600.3.3.1<>,֔fL\p9|t!;֚A:ȉ>MG" BiTZzC^fW춞$ $nxu$|>bUxt=S?^p`V&M:PbHR Sp-G[:= (%Oו9y&kgO9 ~1H*~#{&ԻQ[]8=rXYKN,m8 u)|Fio@X=._,o #gujٯSw@ FwD+-Fb@bkdEUZ_l>>I<?I,d " ? 39D   L  \8\  ( 8 9 0: FBGBHCLICXCYC\C]DL^EbbFcFdGDeGIfGLlGNuGdvGwH xHdyHzHHHHI(Clibbpf-devel1.2.2150600.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL\ibs-power9-13`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxppc64leNLs9I E${! !?qkA큤A큤A큤fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\fL\dfL\ddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.3.1.src.rpmlibbpf-devellibbpf-devel(ppc-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.23.0.4-14.6.0-14.0-15.2-14.14.3fLd8dP@ccFcjDc< @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.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- update to v1.2.2: * fix a regression in perf tool caused by libbpf resetting its custom catch-all SEC() handler on explicit bpf_program__set_type() call * fix possible double-free in USDT-related libbpf code, which happens when libbpf runs out of space in __bpf_usdt_specs map due to having too many unique USDT specs- update to 1.2.0: * completely overhauled "Libbpf overview" landing documentation page; * support for BPF link-based `struct_ops` programs: * `SEC(".struct_ops.link")` annotations; * `bpf_map__attach_struct_ops()` attach API; * `bpf_link__update_map()` link update API; * support sleepable `SEC("struct_ops.s")` programs * improved thread-safety of libbpf print callbacks and `libbpf_set_print()` * improve handling and reporting of missing BPF kfuncs * `bpf_{btf,link,map,prog}_get_info_by_fd()` APIs * `bpf_xdp_query_opts()` supports fetching XDP/XSK supported features; * `perf_buffer__new()` allows customizing notification/sampling period now; * BPF verifier logging improvements: * pass-through BPF verifier log level and flags to kernel as is * support `log_true_size` for getting required log buffer size to fit BPF verifier log completely; * allow precise control over kprobe/uprobe attach mode: legacy, perf-based, link-based. * fix legacy kprobe events names sanitization; * fix clobbering errno in some cases; * fix BPF map's `BPF_F_MMAPABLE` flag sanitization; * fix BPF-side USDT support code on s390x architecture; * fix `BPF_PROBE_READ{_STR}_INTO()` on s390x architecture; * fix kernel version setting for Debian kernels; * fix netlink protocol handling in some cases; * improve robustness of attaching to legacy kprobes and uprobes; * fix double-free during static linking empty ELF sections; * a bunch of other small fixes here and there.- 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 releaseibs-power9-13 1716280535 1.2.2-150600.3.3.11.2.2-150600.3.3.11.2.2bpfbpf.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:33984/SUSE_SLE-15-SP6_Update/fc35553e658afb5b81cfa75f5cea4316-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5ppc64le-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR1kpzcNlutf-8110535c48ba831948339eed52716dc3741b8689e47f3c89c02f10b7fd957599b? 7zXZ !t/H ]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xBlqA?띔^z V@@{&h$l/L9p$ ү`v4ѡHî1X&mt{ƄtRavuOCLeZQY!J-ڛc;ȟ4gH"ϛdγadued6s" Ջ rt)_ El5n &)ExIihMoKxhM;Q D/S׳]Ϟ*{jLB bLQvޚb' +_.h7qAZu y\~<~ #G ʔ< 5薍۪=8pI=l /U.)'[ :cF#/} Rzy1z'1'fdjJ3-%r3NqcM@*iÙtdp` @Oqw,"cH8# &:Co{.)DŽW+1 eXԝ?'X6{gj1sDo=SLҲFm )ð@A!բWuȢ6\\R7a9u_ ?>0H;g9BO-%UCA=r`כ$^Fj˿Pn dQ!f>苑nDQX2SYR{8#c7[/fDnhD\k$ Im5?*+Kd#(8MH~o77˞:t "3ԘK䕛bEZl1Z'֦Ҍb#5$r .#">#b 0EU0!n[' \r9iߋWѐ/G꺴b /Nu$Ԛv}޻85򁅪ePn/P(+ I؇Oi"-l!z{B*Qe(FЊA򐿋m.fBu$,ʟIx^5_]\3X6:Iv5k@XE:-7G3R)BE 5-bGi[Vdzu}HSքԗGkg+bQaxG\r̤gF EZu0h00'[d=bm@O6lg>uFUF @#jvloaq(}j韚# l|q*)dN&Q~`{l6e%g|mB"aJ{4`+.B u` ebuMڏPorOmE`V+~cQ; (JIͽc/Odsmg4EQep%7Ŗ|h׋N+)ya-kRN*%hˁUD&)6ZF^F.aF?g{:}!bKIjy^kLdkt{Ca;=>o%o"rt[,U.I05XjfHn4oP5(_GV|{cwו ~12J9ܛAYX8;kR7yEh/8k!*8eڄs:nAH c]*/7i Ioqx`vrtcؓC²8Z>s G6:XIJcA?thQ[8DMΒ_+-N|eܚ8^5dfgS P[4f؞TZ8+UEGGڙNUiU^^4R޼rO>o-}1,8eTՂ07iX>uQas끄[;OUF־Wg[TA^gTXx,gqv8$ѐ5w% :8)Ag#C9u̽1n"H(ۘxymq228CP{Ìl!d̪=]~UȭE#_NB */W8rc Z<@jm|?ူA}%I+)92P 7RK3%#N3+UOQΚl_ռ095mob†&++i8H̯hqFnȚg.KsOmb:`>AYzEk"-ЁТnۡ7 oԗx|)Zoav#}4#S-IEj9 J%%|Q0O6T uoːk=ن).\ӄU L,+CymJfyG{֙Pgxh9Gi}W!2AuXKhn[Z aA^<jA/w"T$tL|xI,#}+;`ӂ󔹟=n)=d1q/WhJ&zl2XH[PUSՠkzq#J@8ܶ#kcR><ޡ{SQySYI8敆2 DP/HT#pEzpi8{r,QtsȩU+m{CG +PbK(5Lw마đ㣠7H2jtȢmDwbG#`Xwz4 z}ٹ }@P+.\w<ˏupWA&kKVI܌8]LuwY&{Q4Lo۱,GXN1Y%> l~P~RIfFW~*}T.lI{r*h[3/Xj~X7.h8H)R:Hk7xUHKnV/iNߟ!P?N! (i/)>P,K^:,ݑVloN.F.S,Ip!.e3Dݕ+P+Ę+ 6ZDulTw#phgA{\b'Z25} Fc]`lĭk) , ɮaH?qHi/KQmyCcGkVEt) <ꮴ0v/@VAXN.eLYC2l%vw~pbmS)TZb +p*/Ƙj]֐^ I蹭kJ+Y9,Gb~l6縲0X ô uRBigwk2Ja0V%8 iFfWꎿg!XO⮒ 9J/d1D;`@md'$ "~`ݍ"ށ/:ݎ9d1&,ħQ\2:#bY.(*K֦QMeCҺhUL8fci{GP*vWMj񖎀̯WgYlO/sfVcˏ~TG;g)&]WLUtr9 ޮ;EJ@h 4R:g-!vtc3 cNV<+z! Ƥcd֑0$Rlw@5^iUP*l7Gr" \<'V|VØT!v#Ej=Q]O6ܗU'B18FJIN7^,}_#Rps-GS{4-83?;{ y|bC,P3}묵3!,J06*5,!ͶK'lXqNf|x|JρߧٍQ^PX,{9,L]a˖'3i\*[t=/1K9 (p%:WItW#JTp5=a|RMe& S"-w ͌`e.]N3 *LAbbsTb^bN^1ubv?VDx4CEk0Ll.usja|p=t2kl"K͗ Jd;Kour\P6#_CXWmse̊ lgB9S ?[{gVfVCr‘$n{wόQ4+p.M>Wu8WO(4 gNA WXfDG5JUاcq RT|jM2ºBvg9)>B1( FuԓݾiH @Rَh _ws XSnwn8viB>cTr<OǴ.\#Ř$E00L1_lG&c i8#c(C FҔ2Oܧ 5;uɻZHQMwikN=9!wVp[< ڕ>) jtr(8e0~(h}#?ORx';:X <+UEF؛z6]$c!$Pك8MݘbILYfK?] -9aT-tY$& \! b?Kz ? xpN;SMO#k@,Qe|ak-]L*էt3>MݖI/]YN/ۖ71Z͉ߐN(U&?]Ӽjݱ\`3?nƴ]05`펙^UU*`7כ7/ ˥쌻IY|^#N9!f, sG2 vY[3`F“B=YqԜS:S V78zCai+9$edׂ>\vPsp@‡X5|W5 ))Re|c圚S#sR<[YP2o6|皓a6Tɹkq͑ҦW9JG>xm?2u-]u~WTEHC'Ix7S'2kT~`\s[#@rV&-Żb:CҢm+ؽ<( KV$<Z_WH{M^::0=Vͩ+.7рH^?T'VZ 7qTyw׉9fdvpSg^D$OMɻfj#<#ƻ(袋CH,5!JZPb"U`h&d& CZ\phƱ6"p_kYu$K:C,/Ų^e{t ڴvX'+:dO%2@>sdzW_9jAiV?ң ! OTsf+(;:1l އK}s4EY(<tζ$BDv,oA4j$C7= ɒGA C<^-ciThD9iw1Yj5Ҡ̻+,שXC q:B(EE9_ Ֆ?Rfk2 ؟j,dqsOh^J zT"٨D]3M~C<l&,`k8>H EI`?cE/\ec3Sv&~ w*E9y׉䫇2Ԉt>x*ԉH(8ba\6ӡ>?^qzjM02狴1+k]=EE•]q^9ӵqL3~KNCo]h?b;W7{Mα/;( %|Sڪk3SdG)o[Q9},yW{6HQNj:%sNfI'qݚ9ڋ2֤ͲAdzMuDWM C87Ž$S5w:-:zr TU\4MnzC0=n~u 6$z uFGW{)hؽ8_l.jӪعkkyϗտ .-Y4hJԊUyZ[MFϦ<==&1?48ێ ,}zah |U(䱾ϺwD^1)W钦P.3h9#0lE#'*~|ؒ=1+;;L ̽ 9K> '߁\(W%6 BYj߫M2ODTb 1'0uml4NSq_+kҭidZ*JXPkpr/4!sd~w/~ n${pFP8)f//O'ϳ)<ğ\x# *< {֙mx!%$RhpeN =}>fCD1/98K_ڣn?K0fy<EL,mHr1Rs"({bZ9lc:R?.u,Ir]y4J:5/, Z|; 1 (v?ɗDL k>F5izD8.3E*oQ H.Hu$,{so֧}oE/BA`氻*-/+w3 ^0W<(b~4:sol14A CK͚Q5ϼ\ӘnWOg@uF? x;)7"Ą.$7OL] /Xh(h_=ʴV^'fOg^D~Oz,vR6:7gU~SܓJ6e1Q愼Iؽ nV )_\!Ïq*)ox5-?7.8Mu2tm!}ǩۡ4XI"KS|qwB?ڮ8f=ɑCH&ПAh\6ySmx},o*![Du8ITr1^f7rIҴMڶ`5l8AWD|)x2h|C41N}S!cRE ku!ӴWVw jfkT0=@۫]Oy'S..3ҁFƘFw|ftXĵuD!(É v[z*"z1.HY-2O˭~=ѝ=5coe%-fY~4`oyZl5Qj:̯{\¨O&;ՌNpOa*VL%͖|8ٔQ*f 7 hxht췱F)dqv13$ O3bS3n@ ,'t|Ƌ0+ƝchUW,t—w`]0&8~aE$[sb<8ظ(N 41k"+Vl,Xlҥ{g`}` F1]=o3|ii=G}6Gޭ!\7y}4D{R}!WB[3]: ׶2-A+733aO㛄>眝ddŧ49nJMfߔA!~Vi{U<]c* n[eaDdt _5L}qM> $(*b3 EM%mvyt LaV=RV",k 1&) A{)&e^&ق4tQN)L& llD`QraK?/5N486ʉ$.{FU<X.kP@奛QȗXiq?^aI/=S*ŖؽO4}G:!i"D\8 \dZ 4̫cod-N D ͭdDqR<Äe ImC,̇TE^I:ɲ 3:ϩݸI ǘ]4x%Xi*=r/Op݀%>/aSg喔NC_1Q灛܆A8"dG_u f9Q#2e5QAh3P< , LaLV"NY1O깿eYлwv)辺Nпb<XB]VAZ2D_W_#L` K~U! A~  6{I 91G5u@Eر;-Z.AJϿ{n z!%XT|13>&(wE}g'}],SfRZZHTf!7覓"")Pt [T]'Lr' XPR^eŀ:,g"U~պ4$Vnи51W/!OWڷM ]B䀃u@#~ӱZ)loih?C 21T⠨.@:ёS971F|sy7RNPjk_zqlW[Y a߈ # W@xEPzrfE޷_x֜5q-臣Gt^g/Gj.mrjEnevBq TӼ6?t7}Ji;lXt0wW4Rh{G%As6^,TMBC6jumH-f$hwVyW߲L{mubtzJhEuw$WŇY-r)ʲoeu$ K{=9q@D'\?U)6N!Ɠpth^,/Q2KWVT~lRܔeٺ!LTJVSx<曰.]kN.wר9D`O`.L֕JZ?+Q1 C`v>4F_6g|5_UG ,"2ji2=:91 ddJ1(3K,O`)r rf*wq*q3KP׊MC@Ƌ"MU4;ZZxF>~@SoS#??8cR]Z=i}lؤ/ rPa ~_MֳWwo 濎e6coK /"Y#}zXۢ0# mZ:L4noX&Ĵ-ѿV,WoqdU.z›M#%WT?k?P豜;,3`aG56fĈ!kreI=PhGO|-aX~*^oI3lk.[C|>X0fǼ#5-|S<WBg >/=1H}qsvo$޻l,"3js_tt23< rx+/]U=E_ߒ]G36W-p1{R]l;akb&JATlrxf_g6}xbMvlA?^|W No3Jy7Z&hxఝU OѠY"S]1iFhh/Tez˭H,O4˵ ;wM@$lÕL|{0KETyH_یY?b_7Uf*ڥdxP$Rz?>V5>Rhd4-J㛺FUh7)DuLFN1>]!Swv26f)R?:Rσ֪!`~2ן&tӕ02`ɌFII^$.  p|6A  4 y?[J v K2NāMBu@j(SCO~PE a|oJh]VjfOq+/z.N]&aJH4ǪʀxƖ߃c"4?@#.E |M,`8FvD5Q+I+8ד8VfCRռrXdҴR-pE!z8Aw7WӺyV ٰSM<EݱV!\!3@(tH-E(db%bNkptAeɼ-lz uʎӣ0Ӱme8ݨbˠUfcwL@Y=Ʃ  0I-sP582i-É2mx=(z3 j wZFn?;Z31/9PPͼ{1DX\y`fAUVc&aXA͉*Cw פ"[6>~\^Ź| ##Ʒp,DK +Yks2htt%$*ۻ!@er~c;`Jd8avblږ;ƙ62ٵIx{A|.ar~CRa@?|5Ru,I/[y7tҌٷ92Z%*m"x5E~OCwVwH;,:o R *IojZ#]nMtr A{Witb#\ѯ{CC=\Ί,͵Y@ jL68%>N˄ J_ff [ eAaZy;(;耛hDf'>"uˎgm8t{; ]: d͇a뤯N(zV ƾ٥a0MҖ;u ,Ab^dI2eHAz?VV e-ƪh0U"ٷo96M o3@~ fE("dw58xai4?5 e#&&Q'C5Uxdͤu_z$rG^-埀Llv+&m ث+&V(]@GGzßñs~Lހ$.3PYcs2/C32d+PՌy PS8I]B ݑby wb.Far}+pW869ld(ɅN*YPM(=T"s~4aS:PيvS7d1W@;γ䌝Prߐ ;PiJJl=wB6RMdwzl,ѫu_%3=(`-eG)f:)\FPC[Qt >n"S5TZ#z#Pփ[ bMTzP4 g+Ƿ|1]1 {p&f&|,H.컑ܢ&.M-JIaW؜nd紻L%M` SjqZXq›6K{˓>)d^>Cq m`;rX["䯕HOUIДx*MP_uFu#a(@R)݂rbs !~&4ew$*n9Do~oCr,A%iv6yaIʒ-."Ϣe3S 2h:qߙ&uM+QD~l74G6{޴a[0X*W <%bAX jl}!eց\r(-S+$.gDBe„⯉妏74MM3З7o〮`噄E|Rh5S'r4XF)OƊY\Jq+Xq F7LEl8osʣEfR'iτćƑIRK?AD^g4H0:IvUazqw-;t6oakU\ =8MbNw-:[ß[˽\V[zF)h536WWZrvP3eetJ 8S3kAFe6ACkU7!NEG?Vd$n9]puA.? ֎Q6P-(y2*cfRBֻ\iAkl.E%[t$-\u|,O~w!\n*A#xTy26ENnCQ޴;_96DڗY9vă6pEmqo7{h#ġˈ-)1^5rX nBŠ9Mb;T?7:xj{|J/|4"9,h"KVߟfIOuϥVP PV/vNUbBc$u`dV(Qtr$t 6K'KTd^(`2mO˾;`#Fsb"6XNFG @S 3*4@5ɾa^\zdJ iT>%o0M)fU^߯tSMLaM$DlAEfq3F ICpAs'4Xߩ҂G4M qZü߿Vǻy&-Ddq"A][L"ô1t:ע%J8aרZC* njTӊ?Fj6M:R$h]P"\,1!MK3A:R#4#w<4PUT0WS[WV* c<:jQN&p{,8 =Rt*DzI-|qC e{Rkz8W2&VIѧv!t^`x`2~Ҫeʹf2 `̉|?A)ўc\^XQ4y4Jfܞ4Kq#g}Q¿im7L2PfNq?ݱTD83  uk]^68$'*8,hs97Z/EkqŁ W3VO<3Ñ|ZL "KSR==F+&g t"-̤.2.C@],G'|/Ъf*8C_{(4be-x1kdpq\q~n_yNAV!ę֎S'`@pBCMWqɽRA΄<=m~{L(EWݑRw뢈.lS21AĻ4;_!\$cD9͎Ysblz5lQT$;7; G+ k="1*G.bk6B1J3ғNG.QlȻa32nZ u:)uՀY<^BԒ4+@5 S8Sϒ3#͛m:_OmL݀Rwٻ{ãr^E34ᫀcy]Na*H ^I&w@EҤpcʟ)Axi{zq%..A[).?IO"_18 G5G\po`*i ˛:+o=Q.HV6^c&O X?ٟ+P9|=-| k2V&$fa+ /S;[Dx܎Rz9,ɀ@ B?9wRR5 ޣT!RHm>i&dJN>Y;X/JtP}Я`,{_@X)({y~N:Tl #t\pe*] @b}M3PS4êz;IW'aۇ47E;@BBz82/[-JX9L^l;f]a̓p 4$\ E i:.Zvnwp"iw &(9@Bd׾Ie0"6c #CܢwH@aeo5"vi#}uy( u٪dGAH;1C{d] -e4o-Psn./ytՆfX:N¥UgJJxRR%!!i>CۗoMz_dv^SQ8Z|[1=kzdͰ9ނK3K f~Aԅ#$#+AR畎YmrUz~kJVQx/.CWO6OšP4h;j<*Y5";rG $zd웼Rp:~Hݗr쉭-Zr6ZE۳x <WMҧBDF#޹1"'.9Q)dA>ZZ8r6f!,Q{6B>@ Ur.Eڼܭ>KOWϨ 5rB̥ >ǍضPv蠢c'8aGD-ו3w}Ep V+* _n c(g~ @6E=^ͦ8a;6 ȹpM7\Vu41qyBjڽNjʾR#O-CM97MaXgYms?W>=m*.ߒ$@oG]\^*AC@!e풥 <7FjCVL0{W>6/.D7K*1tO&s'~'lJsT\/ϊ+5K ']d9.aqޠ#!T(!UAQ̾|ڄS]_;[؎p!~9^mz<$up.ڎ]T}bA Øx/2zI_Ӓf\:蜙U  ocarc47UyF`eOBɽE&IhqxMx~t~$ZÕ,wlQX:`I'3-9 /12tIbmLPm`ޚMZPmiۺ '|VP(UߧVBM*L J"|8Π,rJ:%4opcן}[?/y(5(S#sbVLRgԺYeju #7 Q'iQb) j}Szp d)֋UwNVj"l/Kq{?:Aw'H[ %yLH;Mh܇`DY⫨j/#d#8=ں'I[Tj~%Wb::, ԇ03e,i=lC+vY 97͝)BaWVfe4pC8o_ABg\ g8,䊞ckϔ=⡤AB^^g.bgN\fUk~Lο9~O-XYYwQ w8_}d/*!Nx)M? =@3ZvZM!Z(CDF&݁âs'䚶'0q>Z66P#I9f!/7Z +BRO4_ ^<Z/컈5Jdm⸜sjC '`€mC㨑2"@9()M1PϒyZ/)ԠA:@m} >k7A3{es-rϰ Zr^<ɐY H|_Β[aTnredoNФ%-iPpNh]=EOEMQBKed?4ɋtΗɶ_3k)Yqs'2E"pǂr7~cU0I\g@V(ՒZuD1=^)>wv YApSqc;O8^SЗ}׫@ܟ̚{s$[`” \:gÐ_ >;Нar1fi\^Y9Aѐ t&caűO.eAŮ דƤˉ'a#l#R  1L#h=ZV}<2S>N;P ūgK&8ƀK ?4edFlLa5rh4,G[fO ~lJ4b25lM@%eBC6[3%ovTZZESQ ,cl")շOI>\* $Wq\,7=fa8UJ_~`-> ᅹUwSCNzsBOzR?zSI)qc0 ˠTD6 nvj__ @cSrt:D2Bu0rC'U5:_<DM@{Ew~T_h {=52T34Bd\VRCU3#OO7'fDIF!rD[ MgDp骸5MASN݌FjcKѨzsP+gd7˦1PW@λL[3 +/K3`YrZAMl9;{Ft#zv= "͸bAW-yaꠕ kF}LDžQ|vc<ɔZ58FQ_o|Q @)lŴZ2h!daxk6MWcK䇉QijNŒ<P鿺g.)tQG v#R/ב++{ϖ ;5oP)Z$Sӳ^Fv}[jm2I)˽p] y3zCD&>Ģfn:NsLt3˱$15v_>HnT$4"V&';&\Z$fzbҍ2Elݎ F׎Y;S 4y=S%6ˆm #5?ⱯV|ʩ*h?>׷2dv`SFm@!2+zl6b+tu>/XH{ҸtufF'uGWņGIENwYȂZeh(ld1)4bDe8V,Dw'h<| +M[N C(Ypq\pJ|@7ЊɅ*:,j ~ݹƑL7~>< D"^Ԥ&r'|b #irG'o>F^<@җEZ~ؚ֏ֽ+&lciwQ, bIz@S][To0Byy֘41N~N% I;* ѝ1[,hǦ)k:ˢ#&c*mw ,\bW Ri/ ])h4@PX?aE*qƹ(@RlUȔ?l2)6^]W Nbq7d]˥834О`rd9jAze8t| :̺"ѽ *7")]^衝a8$~)z'G8>HT4LN,.э#"[/ޓZHY=1 Q4p4 ^tyWWF]TRܼ !]k" +4QN+IXq<e1I"/-hTY߮es6Hߖ'+r{97%z|KOiXm??66S9U*{@e-g8?@Hi_WX>hiK@>& DoWaLA WF7QfCfz9b>{ź;ef{8s/d0d[n]ҷ\6KNOex_WQZ |,mnt} uۙt6y?uiS%mK- 8eC41c!dwR‡dwىA VUԕ<#?;Gu h :l؀ _aOU0`Z#ꡤY?7 ˖.}eYĕ?-Tua˱, cHʈ2o,@<8:3hE%FɄ8[Gv~1f?'obz ] 7ch_hL8A.\z ߸eɴ՗'h|K{cĘI8fi^uE޲f"mޚH%1Ց%<裵.[[6|yϤd=6W W!zpS`u:*={;9^0,G *maFh7a\WK_@D&v[Q@jy-c |ݳXY[Y4- Z}eY&*̐edrE֝jm.%Lzgf?34ivevXٚ32{ NۛV[GOx"`"SdCX]l-AWD4 OVA95{lN4m;Z#>J`ƞ#)<5~̧ DNR;nKh,F}Uq"տ6 2cBWPLgr^Qr }~=9tjo߼]G`XBR&Ӏ? wxwh} :()*jQ\e^~T*uru"SQ܇};ĞqWp!`^.B\|,Ez/SI7z7G/}>+\v3)ñ h*z?G3QD"\`fɢh -@{|Ŀr~2亙n6w*q u*Wz(O hk]7J4OX0tIκf;Em˗b`T悉ЙQ\IRޕG --%OgҐGm,6T|K0h`h?ݖMT,"/5gAXЌ9ֱ㓱=zz=i|ǙĆg ~V_[u&,cO Jhz$Cz*Gի2ff"T{ (W xFTTvC췘=aLHv*ƕu_n#+E A>S9rIr KK}XvTdjnIWd\N\N ľLNyʺ|e6hW{v- x+olǴbiYa `.rSHx6QHBh@s9kvqe!9 V Ҳ_g~gSO`d%wQ -{[G?+ZF[춎|D_GA] G/zX|lu'_PP3Ց" '`2XM^CeY q*zDtZ&uh3WNzBX8A%lAV֦JRpV[aoY})ͺ/6 JqݾOP#ŀ-h)q'avK ;}j pj҈q%#``v,Waolexy79%S?qnE6c\E QM=dax1N׍/zvRO㉄iڕ7+jvfuI4-o 8,&{-<쏨0✗p;7>4-Cq}#MYrס JWQw`hA-eAft8X;bOUDg!肓Dq_mLdD,Nx[X 2+$甈`8nH>F{~< ILʸJRJ BS8[,T[]uU470(ӬTÿFt'Kscx[d}U׋|m3Gq)?YtmabJ f\NyvUk@()Zo,cTh%)xL(|dH` nkb*W/-6B݇'}W?X2~U${`ç{'6dgbNw ^;ஸ g*)|a< |YL"|PСnwFqXWH6qɇHR];SBҤ̴Sb qsiLYUДIߖoI#;;0[RL, =l)bǧ ,o/:UzED1-qs-oX)G-ܘyj^殏~/ie8iL!IIa⎁N-)g\>Ӣ"ľWY7-1Z%:ت枹x;fs Wdp09tUa׭QY]27C'cDvN?>" NػC*E:I3cJs-gY̷tzr(u ic[8kdor˖!#UT&JhTP~M_/ʹ_]fUI FbWi]qa39.rqyܪ쫮 _pI`_4;Dž< asf~e20zY51PkQ)Z QnȂ"ׄUf9Oq޿~#{QKhTJq(: 9j] klGvBdUwun?(ϰ릇ə!VاmJu7 ڀR#óng'x'*,Ұe&J,q6hl|">Ϯ:=jѹĬt1ri'zղfڤbڲ4$ъ W×{WxC#|[|j'zZ~UUB[u}-b' Qbl#u#IW*'\A/H D}4`pu# u Ute|/5NNa{X(BR|,pΓٓt}Uu+d(gs:N8c~xd|,AT0v4EZ 1mq'H` @4#$>I-m 0ż>w~d{#$s}UI*+h5?Z>bhpӿ$L.viYo7ھ[/ۣ}o"Om#c 5Q<67gt|z k\G&߻A,i2Μ=هμdzD6?B'5qQJ7LB\趚btFϿisS`J()'5ykieiѥ0_@Qʌ=Odc7 O\)VmYrA3mHЃLt JEtsm'"Ehkd\C,vM~V`3ig  MXs'=!K?$<w|`U[֚gS"sȤG27L $)6D$vv<  \}<``b'ܷEZWQ2BJhAi,5{,%#a~W,al(X'Frp8|RzZwӨBUW z:X]Mzu'/MLR}83 U"ifxE}+W,7f$xOw )cd䈑81LaGI!Ea_`݌`pH#i ĺy?fO.1a!H޲TufC]!O'iq,aנmNP/&L"X{&5ǾE .*yBğ>h_['Mi6O|ұJ(,%A%^Dyy1p*&Wn~lme%fPH^x%Ydifi}dNsO3tL{gD>#N\tN6E\{0kƱX_d=N"<$x+̄ٚC+껽wo,'Α&]Z\vrf:+ݠ0[ ;tz'ͅF<c!Ul.a @ ΣSݗGɱS]8PwJ i?;)WG~ ͯ*cs )DV'20CO;r̬rkFEv1{l ,gfW`9D6R,V qtĤyp7fbY>7" @:)_]OC߾;0a3C@?s7İukB:-$tNծLOVQyjpǡ{\D8ju׽UE,%J ; XŎ" k Dш rE!* )+{vHVkC`=V$@/*-fI OUP uY)A\@7icxvn1!a놠ChIiYa iJ7Ã3`[ d`gk9^Qh >ϡY&wV1"˟Ay32՘gjm8PjHB#uvaA +EYNŬ>{݋`MȿĂF][G÷s,{꾚B[wEt `]偸-|a\]RHpF,`diMhpVe*0| ]E3KfH34t\ YCKo!yV c*;UZPaY◀95[ؠ~ ;Z(DXIC^xO{ )Ac7PؼVr`1:h7.<><:^dUPTNb]o̚?iL(O:[O804>4*^ae̎ ?⻨O,f!v Ţ q`G il-o+@f2*F&[ynC CoKWuJeNڹ,i[V CGC` -$)6[{KI}MD%%W@ϔ*Uq+1k,ПB~HՀ'e4&V%a}7F.B7{1<ޑ,ZgNOM}z N&wH~AAA %)ǬSџy/+H\w4DiC L}*NsKGK; 3vgyG&lWYњ-`%Ǧc 1YCel*[&B j2g4qj8JNੱc7#*NJin7rh `7.\Q5!K^߯B!y/6TB' L0dL O;Z{ؤ\.kf4'.T'7au? r3@8޸t=) 33B\:β˜20E[[TDqF-id5[c!1*&2y|"E0kuH&7<)"ʲO &1} rw['}vpPp\ 9qOWF$͆E? @͟~^~=;bPA73`yF މ` 9r츓/}(ӰZVjNJ.c:afM̊8TCp5說9^ND;qm 0 YZ