libbpf-devel-1.2.2-150600.3.6.2<>,\hFp9|<a~F /Ae.[hy[nbԼ 5 f m`cշ<Ef=}JXFƜ{h4ːaq}\#Ǎ2]q7Tp.}`(cS+Pl&B,y,2{Hn^=0']y"j PUZo _4XP! T썔SK3N_1r J2wgH"7F x&)7g>>J(?Jd " ? /5@   H  X4X  ( 8 9 4: FCGCHD8IDXDYD\D]E8^FNbGcGdH0eH5fH8lH:uHPvHwHxIPyIzIIIIJClibbpf-devel1.2.2150600.3.6.2Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.hFh02-armsrv1`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxaarch64NLs9I E${! !?qkA큤A큤A큤hFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFdhFddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.6.2.src.rpmlibbpf-devellibbpf-devel(aarch-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 releaseh02-armsrv1 1749458915 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_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRRM`gF4ag==֞utf-8f9b012f5687892cac9141310507ec87e6c26e523692d003fcf5b81561a2c7a96? 7zXZ !t/B]"k%AK37i2Ϸ=P+8O. x-R=`ʊӓTN3 j. _\IiY.I'Ӕ~c":ĚTYlg?7ag.Bbk<{ gkHؘk7]t\%~>ԃ1"^[G $g:2x~-AB~p/J/zڮ-%"'`AaڴA] 8p Jwx tc3=8O6FIndD?bnoww;$%\wJlq`i}8bک&pmR4=q>Gs}X'{" 1۹:^ ?.RyxFx:h]l'X [Y5 ھ:+R]" jOg;҂4 6 J~!k -'ܿZ[-<4߈64Jnl#-W2~KLGliУbyƊq4ԲLCЏ2t@n! hᷜ9'WQ ǐ^n*jY_4Ca`5Y4dMvKd= v{4ev4*0!}v37)xAϐ˕Up &<4ȉu{'կ_E(TmJ~fRisP*"_un~m "%c 8[vKP$E` SL[c}<-[ր2S1.aμsJg>Loh5=C.Ib3^l~hP|лE7;"0 vU=b,$nohbFl$BMf$lۍ,21Uw&z< MWceEVl&o JDLX x-UqZEt?x4h4xƹ#V%Ye` Q^S\g㋔u-f"72ԏz>2ޙGdœW=o;LCc]v,d{ nj쁲ȼzԽ/Br>~Я91U'Nά#b%dEa/J?2,>%6o\~*Gu2L=%]NT<Y%(}2E@C2cCmkW:4:[x.v/a^+)9荃%@.G'3?6r M;9a'^;li:)G`p|Z҈r{Z5r\΢v@ ƊcW(qV#An .0>a?HvQ |ǥ4s0L/mU]{ ,$j@L!ABookݞ} ۜNS&uHtIS.٬{sӤZh'i/dz54D9K]LA͞? =NCX$*Ǽ⭌Qݹ?QI}b!3.OWQ f8-oy;Ds}ٸj]lxDB%NTR?z\" gBp0_4UΛnVW\ BGhi^!P9N7q38:c? Sc^).# kTa v4Al 1NSiR#ډ{#PbhF}ED6,v5rHd X'Lh10#7*Wk~rx ܘJ |if<39¬E@K]4Y.k\ORJ>g EpI1@J5':6L1͠ vj%^6x׶9f1EIũ]vj]x |"~҉bN.#+su d7=u'h}[NW~ 0' %TUiGkvYa1Su9SܳÑmfKC {3oc[n/D& >k[neҏ5F /1սuhI^krE]*+Hq+A*'LLVa)a3#QcanB/Y!5 Se}'$2٣JBEG[vN Umˏ,Le r7.) ͅ:>x}-3GBO_ Wt mdM|oa6vނzH 1#<¼uF؉U%ДnuF)JZçݩQ^w5 +XĤz줅Quxr4+lQ[-ZUF0x?*V}tЁy~S=ULhPhg)'"h.vWna9ط<zri6_{ olT5l (̽50~ִEh[n']o'(7-8>8v[Ax IoaE4^O[ʞէwLjq,pg1,Si*z&Kʭ<1K0q.( F?F'"LrE b*&+6T8^ȁ k.pkR/f}" 9/$pTBonYZ)x ^[=Ѐ$h*vO9*/:rL*4*h6 `- Ȋz7 c_s}%o)?eX1Ct?fsLkYF-y8;J8 #Aڸh`a,CP+&ug-6Ṿ^1*`sv "N$t#SztXp?)rMB!ϥX3`|2>0l^r^2k-+W@XjAEEԶłMf8y*x5`wYOϪFr""9$SM@'/>X?`Xo:B=0wOw_`\),Y[. C'HtoZ+I @e歮ˈJ-|& ]SlmspURRYE+Go뉬HccV^pXjcT4h<g0u nM'Q_=kq9lL@M:i\BtGW["4gng4}C| L1m  I,h0i:H4 Bmn-h%qk4_E67HQ\aPTmBةE,-okun0݇8h~I/8t۰gcu`) |y=ûL12YNJ3N# YhR+~ŋaS,ʠSRͼNLxѬ 9M2 n @qQ*2+CJAclEd=P|5Q3оMjh8倚wguoM:I.O1/ s"ɗG/у]zՖOͭR\zY^bH--qI_t}޿^2܁p(vEGSCYiG f3qq4m^UF=|I: itbͅEfm5ڄfAzeSu?%w 槊p\mWT'khW}}ٮ,`!cJVcZ^`N_ljrF8Bp9RmLe.z'(/lSA:)Le9F!ke>g1|R&qS kE\"#O a„uYeoF7VWr5kROZR;7b R*aMLUdɞe[)z[ڗ E|kHHsƹ\I sah.(onc";Z!U--(I^=3Qh*MDwe&9c)"Y'{~HہM~Z]3Sy'lb6o&.m#- 8 ]|XjiEq]+eQ ;9ƳN,*Xk &Kל.ne@I$QHhe87J/*s$РAXq(v%ˇg )Lߧ >BFEU?f7 󵿋ȸ0G̡)!bMAZЂ3wA;e{q_3vö.D@EtϺb;:Ll)sX!h ,O3eqNZQ&G|^|2Qfs#yHDnT t-`̘Ft$taVj"]c!U:ϕJAF\+RVT\ܥYO\R FjA< Hu/CDWQKCE2ļ|{X<ˍ c t1:䊇8mwI~aAd4Z1\ TTw|t0PcVqϘ8/j4$ ; 0SRmt'fH2R2JPS_$R2-AHtN.IՈ./8B{[`7c Hw4qՏn#{i"iHu9vǔKZ4oG[2EKv+a9H-l{eˁ+ HXOer{ĒgXw`SrSE`f3a6Sb'&02(ϋ dQ8=?ק&*TPN_щ_DYM CBn6b+4$A#UQԎnBвnCk>)ʜ'-_&'lXB8Lw&q0Mdԅ\͵E+QDz++=Mbr9cYT5d!h${ԄBxP.[1Q=&gGn"TÀl cJN8X[tah2|8]cIZvJe8RnW^m9DzٲB^ͱ|r,okItۧ C}]J/oÒ|j X478(HTJ?^ Ƽ)\lod|+1]OB1a*"T8L&T 6_73O4 NVp~PTy Gs9^խ0Ȧ?'eތhDz% ڤ8$p x 1}Uq7:18iO|7ih<5T,% {>RuX)$s4(%Z ~֟9*R]}rcuskJE5W=|/1r1S[`g@Cb~1peZ>b :0vVLdV1k9$YR$674MXhP! rYe2ۻ/&W7Ih=:`½o#j~{/eT|A ݝд;pi=~(D4B_nrv,>%iո+SXSz^Ck5阵RcUAz1Y3d&Kj4U+C)V5EO#ױ6/Rj!yjHYtiU@z^Wp0 f w/Ѐ<ۭS̀}Wi>L73PHoa{y :?b>] \r~tg~' Gԩ\/=hj|Em;k a>+!!e%.ڤ+: }}>_LǕ15T a WpS૗),{P4"zv8>,5 uilVR@f)oD OQFq^nAt'*G{0v|8^Nqv@:HKa iT 18cY)-ѯwO䔸( x4L+$W6Ein'Y}Gde@d=0e`_ %(=? N:a;Fo+¿#;ԍOu!3|!=⠸jݞr2W{e4n8U2ʪ֡b4a+[^Y}pЖ<)v?(Nnc۸}b3e"~,sxiȄӑ4MrRrT| B]P=Zj},10qQ?k0A< =['IH{SI u2iH+RzB)ctW8tYc&Al D=ԢR]g1 3 ZNJ_L{Ao[᧟B)?du|}K{|qc9:HTGv6̈́Ir|'9NhWeFmVJm7Knлic%n&IurF`oA&X0 b^^K``~_Y{;;jў!-TB aѨ/5-D"Q9<3o+1@1JJ?]9m.OCުڕ""ayp4cLIX.'xa?A T 1a!Emqk+jkK$bYu$xNVwի߳^)hl4Rzwlcze/Y[Jbeʔ%J'j/QW:oZ<~{ ID4O⿧eFTBK [zœ쏷+7]]>.R";_:~(h67ZWİo%LO &b2Pk"_x?GhI%glԧDQlm>P'*K0nl5lŨ=Bw!x:G%>iW\ 3^Yv\J?k7-kܢ⠜4m hd#Ѱwxxd& xA/ oE !1%:Jؒ`E+5!MDd+| eJdTiyx ej&]6a#*y41b0uxy*w&A@tq^q- k7@҃2&R[61}]%#&K$:ԥOѲ'S5qICe Gƕ5Cεq5A[ x 68ʎjXL`l^H5K<9ܥD\?0QJjI~rKn ;Dž"}r npj'$e<}ՐIYW»;+*:k<)^d~ISo?UY)lp Vz.vWc3F^Lu~z"@m=hLdxi%E{~~NEkV 8Ϟ[-.L.dB-1MG #E.MeJ~t6Vey%-Y7[}j{?E .mzn ־q::~?:s3;qW71Pa`|rK F[cxPw~t[9ؓͫ](,5 b)k.o D`ؐshՊRŝݒF0 gh'0 AbjѡCmL@$Q?Ԭ1Vˁ$bh }]E ;t kY)%߆V.|"D0]ND 7 ZB5CpJk!VBYO?aXfp# 3$$[Q(zXBE'd9hӔm~ZTljBi8wnq]smr YWo8|i70& /G>/|e0PX`oPifQwErd'qIoAN25MDX&ac\j(4lV 2Z\ @>3^藍7FQ=.S# w8^žK9Xo/~yU$;KruK5""|KWgM&xN?in~a}iW#f7 ͶIY"onKA@> DdD7} >hF@ΙBWxspe*PDDzr#ZzzK%, k\>`5Ƚ=G.8:#Lc*l8m%9qmu)L=և,紩 BB#2 f=zgIy´oaj/ϙ~oϽi}{\5(͇tLXn^ O wDž T[y.}чYoT-ڥ6nv1E_5Q:@_8KIz-~x^M@ %@ޣ5|D+7ux}!@fXgF93{$h=.+=F73`L򂬊rCKu&\>]% $Fh,,oI= }?B>{NW!C;UC_Cq[$(V#6?{|@2rVtI{MtnP(ǦECb_ f/~4(V۴!Ʃ:x7q0g}jg]*6得%NMxg6rv)w#I @k*3!`x[yve┋i}H/0lƘȄÑtzq }gH 6f%z^PkI,ߧ19_,L!7GjCsU{?g{Ϛ&ؙQثڨ3Jss Cx#eU!t '*Ǧ#.6HFW@P ĚBA&L-ށc)ʳW6K5KtH)}{[g8X/KZFl %9@)1|} jm?6hmsf eP]ze-[͐?zIYg@qN; vo7MzD[\~'Td(k`Ms,Xc\P! jlS_~~*)VmQC\V(ggVH5 ~G=R9I~Z=@=RICSQH p9Fu%ѲJ*!BV$>g B,U ڞF3ڬ ^ _$Y7^a9?9gfNKf>rwoAGbWm9h-m3B=*a"L T'Ld(LU2=LVR p3@6,_Pιh\X_ 5 ~|KdpcwW]?MH] 1kn}qqq~wk*ՎMGVkXͭP4&o|:wBq ,ȚbJFvv,=c-uhYd3czlUـ_CbwwG"c>g0WoZlC0vzO$#6]d3ُ$PzZP4Oj7SXCkI])˧Ӵ_OF -|D"16@68Jσ8B҈S%i/e[͹kh{'̙Ep( 6@  khYYmT#]'AGFn2?`T2ӒTv~8o>H]1*1Jϛjh SQ[חJ01$q;yՉ[j u*|ۀsSIRo+F?dr?vR 6tO%;Ab̖f^_&SV b~ZV/aIF<s?N#!sMxk̶ Չݝ~e*G9pfOsλSXK=/!;g-!o; HaGi[zQqQb;5-4*vnb#Xձou;By5]d`ו ]S) _ b@(N~I ֺEc0Sh_uy;^P1hM+&nrժOjp6]AA<$s˔j׭8Vm+%c**a prvz3|>6w`alXVg"͘q &r2 kr d64e)).i-o&a0ꚙ.Sb/QT1i9fzn\Y ' ,C<\srЗ4GnyM-vG\6$wiW N{zHg"$W9h*dxRdrNjN+,|)Fɇ%wh1A: SwיXM/b(/J40"i HVΪ1ό,\Cch:#JY1`*:Cdh7rEf*kVxYʽRkƤ>qLo57؊Gqўl$QݬEs!M=7[ij_Zo{8Կ8iw7?fs; ~Q?wЏٹ961 dr*iT&)+q P"ueKǧ/؆'Ĺ"z햪*4 7ձrc:Z)Y<0Vr%YM؋&G,3mW=7EdMTU5[ $@H3SM MijtfOEl-zԐ'fNAz)Ds}l{Oa\B>ڰ;t;]~נ"Ɗ}]ݣGwӪsx>EvG$=ozND |% <?"^{QcS>}gjH䬎hrY Q]>&{])\#X$^7x>Iuأj1[efN <.Zva$rE r g+ef̓H[!cq:J,u;场B Sd/Sxrs|`;#IQNwnCGEN.#犨%!# M-suiOp&A./7n_`* k6%?:Wd-Wܺlչ#E ?YXݰ/Zi0k*wМrݿ0=v&@zºA;oxoQƑƇcS|Iuf)rZtӧS+i>~NxӡQ9 YVI?G"mJ&SE.dGt^HoRfe8mv>S\d{6m+`/~.=Es4ѬpZr֠*5q60b@ܥ8Hr ;!,q t7H;OB`8Q{t<]|"bu-?{k/a5iJ"հc](N3UДLUY^vA$HW\!ahnX G(FFzTY'%X iZG|# _t"H!ғK}!yb$Yweѵ.,<%u66HD.e{[F=BrJdQE~bW%}a1({KX…@q ]Xe7Y1DJ$.Us]PݢxӋ'hnA ̗u^:i`>ckid4u85=ߤPJ {%?e[ؠ2[J!?̙Ae 9b᪋Yт%$^-PbR*O>;k.9}nnܑ֧֋ciXd'j)L:66PoQT5 4Pd%il|"XT).\}Фx,zOgDwfr,`*27"y~n,l^DA^]3$ڙaIrxv-m vpygV&VLD_ɛkOM#њ%8->K6S!R!om&u;P'?P@.?׸=N34twS%a[.ܗ3& leNywh T 3YęMbCA`L'+/t5څn+RVcĴ`w0W{se:0Tg@K2n22rCmmlymȟUc@V+„) `<&z֖)y'&h]WG*Vpe>3Bo,:>h wg%9FVVMha>Ks])ɠzLFcCfK|9c=k.Q5)%H_!7QBOVr3j dhXpuĠ]%#L(`^aQ+>mEtH4W[=. ԑ׋Iy'vMK{1 iJfG*~E WRO\0%qMuĜ9eOQmtwԑȨ#fT-W7$%|h:᭓O #*+,:*^{\yr.ofOC+@ $$x.ճhqט[h1bb]6hMG>,g ǰLGȲ h?9mN,ƻ|zJN,::]P'? 凪_s:nĤx1#CLy)W0%rwnRdɐ w,&Miª$̌4F*x'FiuqoSީ/wZZU"vhވZQ_]zrts=FOfN^{ic}u^C/0z49k#n'Iٝw^ڕZ"=2+_0%Nb:Yz.^'b*n5&f_ӜiU K61炘m\F{<;,{€VDTDvU3AFʄgWfe?ð"W4քozBiAԇRZ0&͚(brIGFɇAG\,/l$BwMm96|4obzΥ}4kd=I4>b*rn{?wʲr(FΟZ} J;:K~1 A_ kX+Q>R~^jUDw6zZ8d"aYR//hfBp32B< 8%qZ(z]<;|*ݏ l>\J$b[z}vbp@,mZ@m8CU/S߲gJc+vƟ6&+ 1`ȇ0P$ ȻQw\ HE{ :Tq &'VߔqLRRl&+.:c tPIH&J~g*r]>FНZe N =ҡA~ѐ(`I$iM3$e!R3"/wz(+6)73U7 MOLA=+x.!JsihUWiN"^\(4= yI퉘(Eeyej%:%t Mr_X$2kr~%LD$i]Վ)acPϙ]\6 %tF8\#..AF>ymxأj@6d5.n# MvLV8V`~^E6?UEc?1`? Ŭ0 }.N1GXTng7i: .ˏΘ { ᮥ˪!L@RGxCHIK." <׭jK BwZ~$>djd!ᣖ^V+k@4S0P((kh7ck($Xwc{=:SR3&d&밢0\ }3gD툢m;=O7m$"(TФėX_[|ƶgs8m0d6.`OpMWD?(-9c>`{oFCN|s| M80GXa9z;ea CI22.4fGS7!s̗j9VsۙQLD!g7Sf>#9ʥ9KmZ7R(3i,`4yoFC 9{hr/YV3"I0=S! 80ʝ7Wq-vd#vbNpF2,w~좬?ޖ\ @p/kE՜P0w윌qO@ 0de:FEtO)bmԑ`!Z3b %Dry3sW=1PF?{l븥 zN kj[<Mʜi cJ,-=:M˜!?8aݣH .)S$qzTFR M&mˬ.C@4ث?FT9ҚC/-b,i?0O0/'`ΙaԨ߫\U1+ůQVu;";?@0A b;uDž&}ZmbVl%PD icD&G7]*UT 2,]n\+,CϿ6赯( ~aRr)CCF,S(JQ֊!F t;GcV3( tOUljH3uڂYEjejLeq,z*CF`E~N8qPEl^Ge98a<-qΌʷ&AoR–r0G:i)֡$R|rK| ѱi# uڮTBcuoH)8f}{~U>/<;ԁGkS=0)lG+{LGf^mz,/% .9 j=z!;bϧ} 4Lfc&R2s(0 ]j)+ܐW_oan^$Q!MD=܅j@ytʡmlE;B#u]l {?!-)#`yTz-_ڙu. W99%+CzVC`- b4NIuZ Kh) VkVO9|!1%+Z =x1:\YT[{bxE0D76|Ԓ=E䝙 ʮQU 2A ;$%н)d1c-^CjwVϒ<L #8v7}5208W$)Wu> :_]綤cX5Z^ ;{YT׿:E;TpC>ĶwOpԸA;+VϤٴdD>ѧyurVyxjW*)gA&^:bxL)Ǔ:LcW9 Nk# GimF}Z?d۴n>c~prn>=;BK}kN=,%f3uW'i2p3b|y_SOX)XJ/ Xn,s8B'qj?IAI/ؼ3]os]E=߷~|XsP/"ߺ_{y?ORAwq,7-0|H 8xM? }KϿ'Rv%3S`q]ҽmyS/=w+l=‘:dZç\+@w)h*_Wyq4b-0MVI;Ų$b4pA-n^"cEʪ; AAFI8 LۣGO wc}2OYӧp߽gݷrcޓYjW.q 9): q׃ ":ٝfQ앻K?->pI ƝϽ@CmgH{c,I=ڲb}ZfT7`CJĐnEGrU¥nQX4vVx<2v"fc r)6{c Aݦ)WpdVS#rd||f+9naO"]:pB$++3@ GDZ k̲C8G0WA'G&ե9}͒ޓa8)k7'@rmVpa:]~q3e~89mC ι5+:L<m3pP#bU#A0TE \x{6*E `\=X.^aA;z=tc7h=3X~VM_m; 69'ah_ #1hXzܟh=О3]9/`Zp`AmӠi `jf PQT«$16+u".F㼴l%ƶOa_!TB!3ckψ?kK|#s_pigTUsmYsUUTs$PrU6b*&T¶u\/XF,x UR] yy>er% Ԡuԛ_i3`3;Vj cpҺqwU>Rnw8{ӡɷ-IvBbmtƠ5u`mܷю[n*܇&dIst?T [ZsiR]׀$ kXT.߾2>\Ĉ'JWl7.hFs,sN'@{f=x (G IvQ66fΩʝGj׳edz:[ %O@s!֢zbD.T3OPm`m~Prh*I8ǺPx'@MDpPmv\rUE K#1{!|1ϯ Z3oۦX~~z>quK4yG,M-β8q֓DFG@еvv mVwf=R mktl+Gx֣"Na Jl;ōu2oF-P~y1B-ObP!3W&o[OTl̳ŊgIi3ۨk 舰?g1 /78.wJt= r}4A|^(8d@=q'-agq]\/0j ww/Sޯ.7+\EJ!O?T1]n[iC ob8>ƿ+,clFM7o LQ!,"D?v'f<9w(+1`[(aĿד+) CvݥZHԻ^cC}Ԧ0Zጵ }?@@*I,IvR]īLL eGe0)؈OQ=ke0_aL 7 qƼM{^ݼ|3JB ع\fg¨{JhxӃ>jL;\OJآY8TD/XPbi aAGN즌v3טP熲4u,YAA;* ,QZЊp'xw'ά̩howҴ~kK9%:a yۆaE``^"M>g2i <7:pnS"?nkA q9W17}`ueũ5KeyJyX4H8/2&s$Tɺ T$/tm&[fL5ǁ~musb~8< N\T?TNPZV޿Go+Շ.f/^UDA^Ňm8^a 0[Z<<{JȻTO{K(CηШdpg]'J: ?"z[<[mK%aB. & 9wkζr["F)>E{4x-:OXཝ0Ljql.vl ^2 6=}ՎIp'Ne|yM k2̥.hc=^#y%3FbP8 Kܦyڦn#J>a&ߛyYQ `8{S=i.Ձ7u 讑/_2wqogSneÊMX蝼AGV4cQIޕzo &ldhN:L6V <4RSph8NΘ-=||SMHd{ b^"*QX,PȤok?0h-F%0~lՂȜ=M)Ŷ] X.+|:B$~Gf=pL !;=9m|jFlS5TBdLͿZ50MͮuF+akS~4@SgT:,]n~i,b6o{Gl `U[bkڀ X(9ܟ+2%/q8A0wKδsLsd)kAw'VV/c<.I>n*vȼj6K>r~ MKR֖I%▶0Rz!:rMi!HQ0,*ʴ >xŨ*@W7n\ E -m] LZ\)uv{@ ,&ۑzmi'.ZA3Ҹ#:OӦL,|jd#^51eIJ5,d#NW%!jcGhsIK"Bk+dx)ﱶl+#k~VАP"ySنIgqۂlq9+:Qǁ%^WNEvF Wsq)ܸ7 [0?b4ھC$#Ӷ]آR\˃sK(C~|uk;^Q>sFoj?@[~D$xh2v32{Vlٽߦc r\)}mڦ)ۏV栖* 9g> ;#M&%Z+Tiޱ_$JLqe?Ø\_NϰAįtIvIf<a_xtuzk.xa$ HֲLXWhNM:` 6bY=0O9e_>(_?g}v~jpCGˢ0x4"",NG~~&ش*S~li%ŷfhHB&ALg7p]zqW)@3CEDu>ϭ OwJ(gΓ儎2 wPStQRG)M2=QQhEpOI@BSB眜Ԥ玧 s)3^W#w}xj䭒Tsa ,l,(W͐_СjJ-~c^ʽ%j{5 "D WX-\ 8j-ĕ)a. WJWe:9oBW|_s- /')q̗u*l1^ ܵpIQBCv~"DqO_5[ 滳_4Ħ_mPOeU%Ge)O= :m"+M,a2 `DIw/ 7u9{ԁ3{GS紐ѡFx%6bQë3U{ 2CNȐ')fE]3wDSGG[6ѡ !M8ftwl?YĭVy#" oo1šÄE3}51hY^h L&,PNfvuĹ̈`|̀K,譏n>NV{Wb5u1\eG~89u4艸R',ĄAѼ[ي1I>5wx!E:qѠIi؁̶~UT'A ZEJ17!!aekvEWl&9Ь8=Λu2WB QxVl0˯ ӠA mmh@q Q?/G/ AU _xDJeQoC8•|e*\Y$_`fj)ơסc) R9laF4M܊w$9/ * Wz-`o"LY2'[K!3|ȮhECOp8q}dY w|>|;_7谛V>ҍdmW^z=IIgeַc333 ֑X"=>0Pgdf_##.3fVv.Tu g \TU5%-42T&=ꎉ* .3 Ž㜲ߒV" GÓcըml jת*B6rDG.3cTD eKf+(rq%[oD7Ag""4ϖ4oB~ͮ> AB̜q{e@=))r (7\uYyƨe`Ҝ| ڊ/wvÀO=x4!X?g(jx>vKIoԝpk ʭC=@2DnXAAqhx%O`[ ,9 -򜫪eղG엲omA+~]|6[{T z X|R2KU.V],X>W* OJm@>Zڵ1~$NJ2{ps$ "e:0fG0YEp]|7AGںzkF2tL<v\ݞ \Y ` p$/n˝ܢ$[FW3PZ۠Do<7.;5c^y朏O7jҚ,_=7ׇL.bJ}ް;r<("A&Y` Z?߶DVʼ֙v Pޙ6D4}U 샂xߺJ Hk~SKnuNHT"V9lڄ:?0)%mQ`N|A%/ɬLYDZ[xI@h M}6bk ,yXܐ6 M:omU_n<@{D&/N^gJWV?Qbڷ0'jΘZ?|gbJi(*DXD:7&nGvװ6jFPԵ5im).qq2} kLE\|ZL> ;uk}j=ZR+=FEYs:mƅU9؏ok'Y[/)"Z['')#÷h\L[!5ů Z/1FŔ <8e.+ZU}N%oYiÑu꛶dLPE%2L\JJF~?'@'o>lx  j(Q^=pfKc2ŤVxzHMѻj-Rmv~eMIwrz}{6Ox\(|7%ʮ:YØ &PNQƓA9hG (W)UXWc*o4s\F>4 m_65g'Bj|SəB63N/=jݤɾ0;3|O'rSCN gyr;ѻTּCY}?7.)8djfc P6IM⾟ MӶ.[߶=hksąDžI3YnA/e~޿lEeD]c״ } YZ