libbpf-devel-1.2.2-150600.3.6.2<>,HhFp9||Kֶ+V<j v1=9 lX<{AW66ZT<]MDvE^.+jZc vB;1hF b͓B/_iFXEeͦ~]56\vclM8PͷL* h!R.eFPSίy&c. a[`){p"L-iXWQCA]9Y!L6-tt"K@ZuN'e>>J?Jd " ? /5<   D  T0T  ( 8 9 ,: FCGCHD,IDXDYD\D]E,^FBbFcGdH$eH)fH,lH.uH@vHwHxI@yIzIIIIJClibbpf-devel1.2.2150600.3.6.2Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.hFh01-ch4c`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64NLs9I E${! !?qkA큤A큤A큤hFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFdhFddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.6.2.src.rpmlibbpf-devellibbpf-devel(x86-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.3hFfLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-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- Workaround kernel module size increase due to BTF deduplication issue since the introduction of TYPEOF_UNQUAL (poo#183503 bsc#1244135) * add 0001-libbpf-Add-identical-pointer-detection-to-btf_dedup_.patch- 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 releaseh01-ch4c 1749458906 1.2.2-150600.3.6.21.2.2-150600.3.6.21.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:39139/SUSE_SLE-15-SP6_Update/63c249027fb7d2f24e9734f071edb4ca-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRR!&l\=3Jrutf-8adb00ed6c6799438fe94c42cb62d6050f152ece6f09b7ba3dbbc7a8effff4806? 7zXZ !t/B]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xB`0\ ȖbIAMڇ #զ| 4cVxX=CD{cڱ};!PݚʅdJRagyLӳ Vm#M(яkȧ>w&:. _77V#4(zf81Rk$6mAE5^1ƶ#L<,l:e[A๒S?Z1}rq"F@ 84`A ӘS}/LqKHgrlgc%xba~ )qoY'\0k.2 $ɗwnbfKCc *NKZۈ8h>X0j_7GERNL9%4 }nW6|fK"KK`3qO,TvسF7e32qȔ΂ dl#Oy]{G1Hs+Yxj5_U**HV6י9Y4 %6-Z wlEƏYҾڸ.~}Cޡg:.B ]de5?Ӟl:(dܓk*J$0nI/j'چ9NF/`S_Qq?N\N5F\I .)V|c09 'dcFho _ăÉvo Qh< /`4֝gpGGuFڢo}GHcst?3If^Zn"/Ō3OEQ&:~-IOCQkHiUYv/oIjd$/)}2_ѣE*tufgUjhW `>=q5DЈjzpUR -g>۪E_'uV8wOL$7IMseH[ UpT dz݆1P"| g?oTd͆23uxu=P͹i2K<蚶ZDi֥pg 4"Ӄn&n%]u3My]vFGO$L+ry g؄Цsa3^E R4pɸO%(_FP 8h+[V3Jz&MCVJl^ZC>%aMl=֛LM0}G3Od@Fygţ toKZzFʐܛHwkobj$KX}PG H(V85jB{w92EeL]YE^z(~&*<'cDƀTI7ʩ-E: ,{!5Q8~mp{[\7^8.!۟Z2Wx_1 `Z6[ zh>MwVa#{MDbŵbq/JcqXIlJжG6#|+YǬ(%r7LmصLk )1%Y(Q^d Eb7p⦅E%Qd>:B{WD\>|s"i8h6IWDէrtNȹ%,-:6L9,M:"k0)D&LHNhatW62iH0$ Z,-%<֌Ky!8`i+B) vWɥ ú[eOK0j'ؾ 3FlJ4&Aqne.@YZT~&Mn/8mB^*+AB.0S ޟy{ǚlj* n׫Uf݉'TJ@ڂ/ 3"IK =.3Dg)"8$V{VP?)gJ' 2z=//^>O)YߕfX'a^9إj[[QbSҴ\[, ȌlJ@6 HJa+˗|z '$sa/uׇ/!PH$<4k#UxV_erV2::׊Bx~+n·k?+uhsﺽf-Ftѳ`&Άy(bRa@6p/q;yH <]RE d)]Hb tTͪe@DU?{tδI`WBCILXN` sҽmp~׀;]$々}&`:+Sq^S"!Rer-k]:%XY˟R Io:σC{rK- XՎs3|d**|ݳ t\ۗ ~jɾQ-_ڵьcNY|p 7C" %[YW^ ~K Cfp󥄏u "F U(B1FNb Un(eG~WvWI~,2,=Y,ӠHWi獇L5odݳ+TaϪoѽP!e_OP6d5m`8ɶcuƶlા#xpsBզ 2_^!g16)x%ǔ,Z"V5 z|Vo'sWXSɓUVOg=VD#Cz0EV"ݴ"vu$}Ify͇!-39̯%I>c{>,GdM$wnNo}A#KGpj &yt gF_uj@aOڲ)gY?>m$=db%?)keNqE}ALXsHf݈ LFp[' =`ZRKqmWgPWK$&E"ԟGXum #fpҊ!>`q5M P5%bV~unhY"Th<ܿf]}+Y>½ky%oBca792p [ ˩1H fgR=`] IIY0H'ʜ8U% Oȉ9@Z[le_`5{Sۊ%yVAMЖcfԘϕ2H|ZNҲ2-uY;Tr£t|C'e _m93m@&!{3 fO57)2H?nVQՔaVSW! a%W(~4nMt*'.t$Y5Ff4ZGPNfϬ>l|&ktI~OnDZK{ $+LQ~bV'$5j%&}${zOtYk6tT!sfQ @ %-\-= 4j:ݒ=$bQ)<3BУwh#.fE--J)Hca 9:d%~&dp!Z܄eߗImϐfJ[L+1?O Ann>aEO uFO: Shwo[09- ٚq ޫ@$^w`QQ.Ϥdq; -"T7 ӳ$bל5.aZ13ES\EܝwgCQ;^'.}JAހ_{ m@ݡDT0߉ PLyX:̜ 1/2bz+yyA[BwHs [0~L|.-yv؁"瘛Mv# :8g 7VdUt}N,%ۑb{Swŕ^TJH? #UoW~ 4~xC5r[:A1%| `-+xbշr92X=tu nbW`$|MlZRE ,Kr;^u)'hP̥ocG,C}Հx"g6)Mtgu0YTF\ba*a.nL3 9su26m6 8N&p(UCs{Z;0w9tTAh&@%(j(_Δ;MD4=ϥ]_ijXÅr@q bV!N˔늶bNJZPxS%Ԗy]/Idpiv=9l_?ӽNhEN ŞSwcI;um K29kf{Gt,7FHm&H!zPRAlUk:k[1dQۛ|:;pƑPZ?Ժ}86^_]2%E.ILé:Liloi]e-bZ&K-x?XZ'ԅh?bgzzGȼk(Zӗ7FJl\:Dfd&v ¹WK -GFJ V$5~D\$uT˪!3әO%RR# =G~P m [r\yHi?0 HКŢ3ס Q{Z%v=-!Shn1Heq5nDP-{|DbT 3r9Qk5ubw=D8tfY+b8eÌlfH*B9]g];I݆e0^p, rP9r 8>N)j=i]i$,?GhrIKYЊitZ7~\OkrlV7Wf#2~JSK|1Gm?d`F c&WFB.WX"R7Of/J#*lb/3!:?)cE6#se?|4Ԣp0no'imUeY>sAYAd#S)I:;'v8:)0 p>hJ9o gu}-, Oct.h;)WVԛI$ьU V_/ p߄ս ?=,jޟ ²Ee{o` f0 j[/e3&|%i8eީ;jE2(6ޅ|m]a3 'oygxm H |7gȽH$X^B5ճ+|Kyr$3'>yfJq&G -UQYZ,o7a1HHc%`V(JyؐRF9qayg2Mmè%Sڊ'thJ@$,#v|trnk͵0}Ԝ=-/myb;j’2ZY iJ|NcHY "2 ..v/^31A`}8X .R1| [Loٍpn ?F`y|$v_D'̘W"tQXK )AN[fӗQ$o+Z1S# 4ؗŢ&}I!5bbIj phJ=uxK߷1D>h^\zljQ%5[ri1CfeuBͳSW J\dO+^ŠJr˼]W1'uNS@" Ec@*gƸ,󼇟;bD* &Y,=|*f{z2^iV"5HtTZrs#31l媔IBDЇqxZ/;Gb.շ' [*= (^f ؆r 徥 cǿ6$ y ?9%,.goKpYl>ToTdݑ,1 ׾vd QK|1h}{wѳ;0pmB^ZCVglq{P Po$>q?hom10YʓnpϷ:_EմvZcΨ);KCJ/w0B3$+?ݔ,kew{K lGkr~a2jZmH((x W*ŎOi8.4mI?f%1G$DV;ѡGӑfFm<4锜6u e}v ^T9M/*dW45d`}脶Uܷ zX5/Fdԑ0 uws Q rGc6-jɏ$J]}8<V܊[<n4MESۺ+=ˣ/Yd"I3 ' a'h=Wjq>z)0$@|$ Bd& &~/R=pG垊>mGjM Mg{voU/0Xg_G^^.Sc8Zz +=h}n9%a RMa7>GVjE~F֏ duRS lO'nro4D _z~:F>Ff AQA ۢ7APJ 6"/\vs#8X}+Aw/,YF;eC=Ln P/l4t/aP![i,U}0G`扒̷=7,v:%LL*Ű$o*'TG7mitϺgqb (}{E&]+0Uq€hs ֆp"LP4Q ].^ZiG*)02tEY7?@&/U5TRCA0(),w:]ZV6X*Kբ>u~ qBn'*4"4Y6Qk;_¥ijmnYGM C-\:tځI9HX?TKdS\9mj x/EL "}  fCr ~<:$*p#u֡ $IkO-g-;H'7 <ĉSfs*$0ʦSEu_̥m?tG>vFMȬcWfX`&}yKr̃_4exLʲ3,Xt`Poar ZIp'v5Z МP/ =W,X?J1ܒJQV c2>~# 0]v 03h δ/iTO䷆fzXM& BMD̝ / ,+u3?R&j1I&\`{SIzmkKxk^GrkHzUɖ;YVޒqΗp楟h臏%v[a^s{/q=RGbnC`|@6~ OP?yʨ!X<]E$ e9SJV|yhvJ]L|r juSK\nH(JpcRj{.j93y?+ߗ%?.Xpƀ'XCƀ v\90X/̖l@pvղ/!9]+oroL ==2)uԵT.xT>Rdwaz\v:Yp8|-w:Àa@5++O;KaA*fO6f yͰ#7}{Di7 nV:v/5u[1gUK׫ΜvU'n61Yny4Ah'et_d[:` t"ao2MeKˇ[/AԁbKKog8^IqsQapf۹a5YAeEs<=obSC*O& yhe !H q`joȝGJ6DYC5d8ŕeYV v1R*i\RF@2e zoP]I37- GX^uE?Cx5p83d%:Et~t+1ÃCQYxa2OFg>\"f*hXjeE#XenMj灴,K"Xc_H6@$-?Œmeg?*2f|vN㥯M[X)?r)/+Kmj`;Bm)ʷ|R͡q`qP~!)%<&.n3w'ŏ1$ϲJr/ԝե4a Zx1sBC*D=6jh< -WtsB] 6 ҢϺ ˽zrx(8U7hU#2hKJwW?~Ƒ.~2/P,"$3ɩ. rsUwbr}W `M`,H;VAtkoKVi9L$?#E<=S)$;wߧ{wyD Hjb`wwh0pчkn$='4b̹凜GT9Xb Q'HlbP`v<@Cqmɬͫ pOrv"1hY )454ʶY{S^4^41a,}Ęs݀~}7|{9ΚK-".iPFٸkr՗Vde@' ƃoe4'9O9g].t;aʆ},Ki7Y.yvν[a!"6@=ymE،X8sPB۟Im?)UIc/amAԐ߱`^R>gY jʭ7XLKxξv>d*2ZvBVp!` ,q"%F?f6fنwXomWCMQٺ-&CbpeV' E!u$UP$KѼ5SPV;'?4Z0"i4gv}trD{p\@@,&R3Z8"D-[Us HNR3%X9& Y3eb3<:zj֊ qZF+N6פq6QCf"@|_kFykf+b7X{'B ڥ* ? ogv.g@Ǥ@u, h: zAQW8!1% $:zhVw+UơS)UZ"/ty%6}x)ĨձamEXQ.~+ľG/WL쓋O-nͣ11r%0)4=6ٹY.7qLCh]LH hⶬ3(m$$:`'\`&gO] 'U(yuvoWvGIeЭ6z]xPϦbD?ddݴIISͰKN '/6.Y̷G]#|! CsIc+%uAÙѤ,phys}Q(Vf}7*c9{=Ȧ׷I* ~('JYM 0traEշK8h,vh MpRw(q] Е0-&Gy9s$I3KfKbd̹]6b2($SQ1Kk{ 2C'/Q ! J;QF !l.;bӿdLĄGG qYK8)TɎraZP/o6D TU}/>;Dh-oxKºR` хB'.&b0)yH_(ąD|,='br]QsRgT87HyFDQ Q'5gcz<_;q-MzXta@/ ح\?ceE〆P.ǔrNIJ؏h,r0\Udht"[`PUG9r{HQmN~&u0C]A ?%,}&+eR <]Uަ5pYx'*̽fomQaALoI5K9Zʠ q?{UT\6nysyuy6CᇁU>:VC{h$I<_6rvGI s^Ѻ IkO==_0u{olFVaqŌgonqϒp)5ZEf#ʃɿRK7ƧR',ILeÜ3/B`fl+^ɍA~ynB K'2sT'y `ư&u)%<\Ѩ|bې,)eһ9FلEf QjRA>e2%iR+lh{p%*CR^*!t-VʑΡ-ތ7v?SU`dxNOilEh̓T㋕`FG߶uP[CBІ_fyeluъ3x}q9)Iů #uc^{Vd 6@"7JtJ=)uPM >MD=Uֱ&LZ&Ӿ0@ʶzH>!XgD}'N\?N[NC8x՛ T"&k 㜻myM @#>5Y/O;]I]zjNB6Uȇ&Ua~j Džb̟TKrW':R,B՟{Y0PPZڢWK?2ȵDw ߖmWpxx#W1p /~ VǕα^tTl<NՍ0mWVͺ8' BU=)`%V}H!5aY/{t^CãT1u%̿`U򊂀eY|C \ pK5K,^ʵl1Ee2d1t9z<ݝHC4GD5|zI]~mĬOH9'EDye Z5ef v^\%>)z6t%N˝q׵? TC7ڻT7LU9rrHvzzs3TǙ[䡝M/ߛK)9Үhxӵ}Ty\[.Ξ Ty^gA^2n*)J<BtsBY}I )I_g0ǼI3UHP-KҴ hF{M"QJbm1~3͐CkLgpRcL^M V.ˊhn}<, G o:?Y:Sعy1à5] Ho} .{mT XHG۝F@BT *H2r;h-o23[i"G)zU}&FVꋣ $]ZϨܾUa1< yE+HevG8l)+,5"busy_<#jxetGtstGtg6a> zxe&U0t.# 2VXĥ6eLJ"jSHy Û JL~Oᮊ}俦߇yp"9D%y̱|g1S)υ|-_Fok/&T:Gvb&B%Y<S ۢZ[y4= N;7Eh U0FHlѢO9+_'(<<g!C3rpw Oʔ7{NNeɥlc-*m^׏6~f ;HszbP0p;4U񰑬++2w¸3:\q22UVF'SvVs^ԗi, py+v#tABSn̋H]Y_],Rw۱٢b ]# v_rpCVR䴢]˄Y6@xjuI_:O}$.k4k /=mz?Ae"eG45 ZP>װjAl5E%C/(M nR'؛1M6ZDwu}rۅ |U PNWMB%&.@]Ln@+ɋ.Jn.1`4^8Ϙr!v+DERFV&ɐFk\[L ԩ DɄY$6Vl/=dm1Φ vR3yr˛V(n-%)8TF^Z_  % "p(;r\8S,Թ 0# $P4'xMY.$:dwHf+jq":z{G2tyGrb/)ɂּDQV@q#- v0( t㴦vt؍"momw{ׂܼ O^Iu4ǂ ADnh:vBSZe*Q’o,h\({hOѿ&wBmJz!WL /:15SK%M3Z~;V7v>p[*~y'Pd^U2YluEL!x'8:JruCOh?@XGԦQw0}1bX]e$DH2M* rJB id~ 6 )#h\U f+_]Yhӏώ:_;42uq QCS;.J{'PSSK!~7 =(5H/™;< vW,u !tw*_+M)Ô,4 &K0:N,d V>/*}>PcH5QW5EĂ JmoAc{WEML y,/'Z;0[` X'c@,)*o/lfCsoERJu_0&Uk|E=Ip,X{'zH$DFI7k M|acӽ߇6lrq UR$at6⻫1B> ғUnp'oknNo e]E hOSϦ[O=t7Yl[ KS\λmL~QJ֘.IZ&9lh+o uX,3@w7Wݥ,ˮP]5S].5hy`ҜXZLfg"Luܿp@U5yNсn$̌|3MHxC({~BX)7#0<:9O\Ɲ4Xt5AAAfpubt;-35Dx,e@BȤxz4׶zʟK4q ;|4sGZX|A6!,Gn/29lJEg{>%1?A uرձyQS] NӅ u= |[@s<ޠl#> (tL\o֡~dKx*V1r$98@N*tޫ+D1wG/**Uf3`0o?l?BԒ G|TahrA2LV6cBOν#8STbkLJp:q:@.>8 <{bцoo5Uw(uCb뭴@y5.eu r ǿzCTiCB獢ׂ ˄?X bkzI13!%jO3r 9$~w>xV&8Ɛ\|33Gim?})1ΔSm-~w&p Ϙk 8)uDL܁jχs_RR4І[ǾmmB6T:߶.Q$Y!a}/Hf$R$KC'&Z~XCc:?kiVp8.#M}ߠ*͏~w2{6P%kn~3$ES5'u1]In Ti g j^c'\s8AꊙX˗;M*m{> 9-i"RtOeOSsW2?ĞW淵 olKVECk`~u^pH}~rkVz. *}u夒C9Dvz4ޱ5M\>߅h _Gr]3קQamfXym^5 &|=F8*#)iAXoqUb{w Bt+x6:ܣ*=du]Qֺf 73nba&Ey57Be;ɦHء8R@5a^Jr39+IcV"p*,ql=xqV 1=HH"ڕ~}H5ΡmzeXqNe J {vX O)re"NGYNYn af_GC7u~‰ʩlDn9U4=a[PG[v $P^6K %IYwGv E# Jb{8e6]R dk..;()Au_JDB|*R` ڇy_I5\ :=yvvzqsܲr}-.T;(3E{jrՃUi"!JLý Ag.f0~=LpI~s;UgjhUT@qr!@{؋[?JxŠF6|6%87 0dF{ wi0+6e|Sk.Mɍ I~W$6-*?C,QӒR\Gi,JSSYv[";j[K=1B:kTRƚ2_sZic%fjظ#wG\sa%u7}k QtF6Q{ʷX!) ܌dBlƶ` %u}ӿ nn%b^ IdTrN(h{l8d:aàMXaCM%/("Vub 8wI _9mȢK\S8k 5}{RK{(nyDW@ưa̛*TsXMZgבeY <1iӁGOJ4k Nm2WO04D[|0Q=ie\KBfl[m`\^.TTE8M6/!w-" cPM?nPHH&Ȟv:-3%@S])īCy7j/pzGyB5PVĴ\SܤW2 B7]zD;s*kP׺1`/ !RC#Q(ݼ /59?GG|MY $DRPd~j|JYR ATw,4({lpJ'D4[y5+7 PkfO횷SD-3t |\U0 \1y,Q5SpTi5\Gdc!2~r?J+mhPA3k~ 8.ˊ+Ag2eNN,QrEo|Fy˞ Bia4-'7%) .kw8&E]  Mȳ^H{_H)x B sLK̓]loN*Bk_fRjЛ+7D?E~ю5t+Τἑ &L1c:#g怌H Og@gjn2!-3 B` VbO,ԀIp{P'+$;{dgê5vx6=pch}dh, K3?%O7oep])gڿH̓վVDJӈ_@1eH;u ) gXOc{Z7.oꅮ!Sܸ'SE*z kH\2~jrm4L#jmh_%0!"i)ǟGFFtqɞ>,L\ fuV9<}nLl)W>rMWʦiT`~/eYƼH /L] d0F-e)Y)H}o.OU;lrܒ9H` *RmۢJcnԇ۳3 խJs ;'CqFqI/ VQGBN< ZdOecPd6΂\D-?_;WJN֕!0*I3EPaj: wNO|"{{VQ8Kǭ6c(8yĆʀ07q'B@I[Ќ4+t+_+ EhC+ÖlڣZ."%(~ (;z%-UzY4B99e|j%!?%t4[j+ )X2?AS4RH(B+m7>Y[̋x.6sZVFl4#/ VrR, T[Z=Ԁ؇,?E*ԺxJD/u?tF#BDމ Cocj^+\AԦ-D\T-$nc-'-Mgg@+ U0=Plطmј(w~>MLi םt}](Yᜒ}@4P$M5Dps&_(gӽ\R )Q7$Ua$5K`̈́(_ѕyąay%! Gz }fz J+~[=q&YdPtՃOZI 꼔[9}b`e+"nv^.IDַd+Vi-dksp)w8 *j\h%J j%xUk9O{cܼle=k uk&V68ڵj TNjM( z gf %k{Xp/=lX"UZ0|TR?DPܘwRaev-OFXiX6҄WbYƘs 1%t7" `du8I+LE&kܣ0X-E^^r7>̝8w>o>?3^sc&R%)\&[{֋Y3`)צVb'>hO zBAZn1 Dl*4^Kb0߬l}E_RM]9f>lNYd8Aν~N ?o>N7FNM7Fn<ۋ5=!?|r nT Ogak"1 yz/lL&0M| _o'F1IK4"/ޣH6cFJ)LtKj;| sVgLH=,L]{Eh-(Oo9ɡ1/w9v;3Qk=Eq~3)`'&^f뚣 S=EwՎ1R. EBk@wҹZ!D)`yC`7_K=*0JEXF:6u x]`.\{lI4Bg1>QVkt %/Pg0tO Lj=,fZ֗\*'PR3FqmlTը]!PcV{ Q89HI6nW)ezkmV]ZPFc_өpۏ!3==E?I3:?fsMD [:gCJϖzz|Ű1]i٣k _$ ;}g'ЌS{&Z ㏌؍!71[Ƭ$8?axFA幖Yg^IAy6j*X 0M3 S?i-rd]19! j4LeL+zR~>*[Mə):;+PԼZ"xa0ӕK%P=dߪIz|lZ0m*%_i,?&)DSn 6D8M:`7Xxzs/[CA+C/["P՟Ǽ-͋~{v9< I{c!bK :>zk8=\0K8G=S%It ej#9MrZC w^:1:mPDQ$%Y:EzB[7?9G>gA Mx{s׬B'd+ L[xA7_Ef13+NţL5pvB&S]"m5So6t&o&5.VSpWc@~t?3vE'KQV޶j^9p.ajx8>->aN;m΢}|dHkl);@BLpnlKȵ#n6ߠh,~R 8 !&S?V%!򲹥іHv#M-V|p/<7l͛gUAWgl 9j2HE[qU0H,7,*H!:p)+ XaVen'dxcreRU}O/x^E{!d{QfŦ.n3D-]. MZM:=ZpUx2҆Nr[\qa i(0I?ˁ&3(n`Rͨ> dRZ9d) =-+h!_*y$PX @qgr U.zEp y,:[]muy Ikry;i{2rz.Z%X N  5A[mOQiYƤ<@u41TN6en'jC!Ai*U \p3!W.hi l ^v; /kjZDkˬD~2\ѧi6S'ٖ`X͚C<'OzN?rJP-D %&,y^zU#{7ݹ1Djbaj/ong5MF\jT#[ԅf)[g򉋐!R'enDk\RE+Iy`&&l'˾R123%FXm7 65{G1%nxPNH3jhJ% EOoIZ?ɸ.,&'6Ð,qYx@Q.TpV2{0NtJR\ =cp_9seP 4Hg%Һ66::T=GkZ&*%C.es L<חʳ7uӓ8 mU|8DUvIq̊Q`MU~}*X)~s b>{l;oOλ~+*bMP1SH IT)Tz6װw7V}l`_gV֣E},< ͦgLI}8ʫ3k)\s7/Ǟ_b t𴅠wm];3UU,E* j):bJM>(W8SûP(݂}Wse}gp[ɚ!#pQ,_{(*zaF=FLaނ``+XYc l ia*Дiީ\`~0S 0C4&iSI .14x?4KWrZ1$raӓě[E0ʇ>#+ fSioo0- :3 ^NY1H15 QV22#vfBHseUkS]CwȒ[1)*/> %xеFKb,fVzueDM25Zѓp*4жRG:ZƄrN+GD|BgڥF(gBK5`K P+.ϘgtdWwD( 8c+=lLla6@;6G-Kc .r#_12s!N=O$buh4 1R~"X4Ԭ 1rYLjnNJ,Rͦ%=HsșL2le߯Wڟ .b&JSH< h6/.imXGVgwT<.m~s <Ǝ}J"j7Rv>&bU7ķV(|/Z21l?%[TDcׂu> VH(nY"&I1N Įo'Įjҵ;N'P3V-)TXuu^yu=X;hIL :P9ȑ[C5 eX?"mgXٗ"P{cݧ5-6~v/'rg̵k"摟`B$':cx^\1vpEcJ_|#dفӘ~=|.aq_ pfZGjC\2j(8e򈕄u e| Ђ~H9i I/:VL>._Зpn=;ֻb:0]#79*톞P>>ҕ\sB=^>ة#Pߙz31[ ףsp>D1SLE%D> ]-~BTFU?۝eq*:V0]}<+{He W`ⱐi`W+=;=Ui4MfQsc62.t<`Xv'Y W{t OwFLa3&NMꎺ&+݀kٿM6qdZn|9uܴ?ԩ_y "<3_6&Ҟg^FR RKmO 8 -xsLLǓ |X6ě8VuHFvRׅt.̠`w IrJ0 o ?7i%wŮt l!)?4D\ UF%.Fؤp&HWۋMx2JG̨QwtwHpqN6o',?wvL e<!L wǼIuPI yb"7KKh4+W ^6m^*gV=J Sf2]fk{ F6?*`d)I]œ{z<Ut2S_T6U"8V&mS=B4+~>Ea-ߣ[2mnKI z.9dJ[8`ٰA]?Z;Ջ?%|y% "e" 4s")~oEK V3(K)Avh1b"AuϰT۪FUr#կZ ѯE츸/h[/ܜ0Үbh'8ʡ~giXY``#B^O! "#_rTiMgz+=H.SĐׅ0 T6g,dҾ0~VEFz^F/Qdmia5m<}0ʞ`kw xǀSVCBnék6F:Q B+r͆N${V_QrPa m4OExR %G YZ