libbpf-devel-1.1.0-150500.3.3.1<>,fL]'p9|,#5 /kybXl*|dSImatՏ[%DxK~W(\X\$?e+qjvU:v|WoO8[Crǰ!A0dkz N`tRɨڼZ@lΠI+ ILC`K.ps p w][Ò`> as+TRdᅉUKb%NUTn1Fށ*|>>A?Ad " ? /5<   D  T0T  ( 8 9 : F;NG;dH;I<X<,Y<8\c?3d?e?f?l?u?v@(w@xx@yA(zA8AHALARAClibbpf-devel1.1.0150500.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL]'h01-ch3bASUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxx86_64A#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(x86-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 releaseh01-ch3b 1716280615 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_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRRmP/Q-w;utf-8bedd7a830ecaa439b1957227f2ca7fb560e348fdc73e6ea14f7749588db55f85? 7zXZ !t/%x ]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xB<[N`Z V*h9 /A'4-Тn/hc#bv/l6+MU"o/5}[RVv}7y*3 |U&j׬5 X BXxC ӽޛ̟#c`wx>j!lό+!!ju0f4};,-5iinGl=-Y-EѡM\.3-vA^)/^%Ss 3X=U*1 >4iQ`jos%Sߪbo u9&X҂ׂʣ;s8;XX-q3.ew^ 1Z ^w}ܷC7W-S7-~?!%6L~Oe*c][ ɎA (fgR8R-wW+B=%*4AK.$UMacɈש'ԪaAaJh_dz@hу/4жE먍EZM?r+iJÑmnȉIO,Dz% }c7GGd]5xx:o@@te~嫮 PDx6#sghw1M,dגYB 2k܅O\د^V},Íx$]-垏^Ŀ!9ev7 I7|Q+zBفX(Uv,~beyI 4tZHvdh}Ɋ>yIPOfC9?toչT'lRoi PRj}1 FV5PW>HO-4"Sg>}ٞu"eG5EOOa>Nzy&K"85VPdOv_z-;[bŲ)-3r@|TmO*zE^po4s$+ĝr6Xu;:1wx]H6n-~KSk?W(IԩJO\Evb&hzD ۚmݙ+0Դ]bۘː ! ~EF^ WMXp@>2?Y4r@2ޒPaO<ޢҫzgf. U"jEUtp d2ooJAā&=d}+ gtU''{~}`TU^P K ESe ApHfr87Cv>/CKMk1ư[92J䴱pƪGk]7Q-zQ)E'q=YSR48y)Q1^׶x Xҧ|m39S[@,ZwP".U-x=썘z1Z4"2@pEX m:Vy%á>VaûؙU#0p/t}Su'y yZTOF@5bt^a-\pqd޿7lU 4w=7:D7U\K67  ^uKZ  ` J'^2 #:i&򳚬cPhjǾlrF VZhTUW7yyUOxNFBt}j∞bBh_ laxQcT)p8,?<.!>qn;M;U^)z 4Gb|lN &=*BV}y;E+ЍBU p~|~ȩun4VUd)+V< [dXGjP9g@DZ0F\jSO)$ݔ]IX! >㈦g(휃O7]AWս80^|kՍ1ZnQ*xHzMRAҁra>@q:!^{&K [^+:q!rߥK W^S}O$Z6jlD:K޼wl |@#84O7kkرiȐLsbfL%؋'w: 5N1%38AZ@ ~X%2?:&~nXE),jv )؞*[!үMd %xC*,5ZP_O@!Ί/*F>AIU fa푌$||qh@σy È$8 8s$M(6T֛ D\`2-?0#ٰh|jrdø?uם\d-΢m.Ƀd[l# I6w~BKtй0oe?2\苿ǦA#BEkq'7]wlftHXNfAeKŎ;^ 6]u޹}ef^Y+ʑvĶWybe^_bH~T_dk2|eώmgL[i>ydA¾R v&UO)@CgP3]ENDwfp0+fYhk 4qɐ5DqQm) auN$qS0%yѝBO{x;eȮ{*M Gȫ$hzRMȪqKO-_i}DvЂ""-0 Tumj7K)\%d)@lע-xQfԕػ2 }oYsM=ٞ7mHoa @h̺/@i6DMӷYqر˽5q[ۙ(" .9h?;v3:8=Dc7Ffg S f4G٢1u f߹ э0Cwc$GXFcx (uۋv~i8d#=8:T#;ZoE('A)"kw.8R_ľ҂UzTK~G̐y/q 6,J*Ӧ .}v'."Kf\TM/H` Cd=gDy2`KnGTpc\@X,7F9{vlS0zeX#$Vfc{n!F .;$cc5e5Nab,fa2)z D( m\8Ӑitu4ix ixҸO:]dSwDN RUҚ0NnFr0ādp'7dҦjR +@ iD2H UP/ z($K +OJ>B٫Obc>_JlX`ӛ0dLҬP;C< ΕS,Z{A1o/{FkH,STp(ڤt(7*7'ܣ7EB6t~J/rYإWoN~#&Y[S80P0ȤKc#u).4a/TD?4n M$4~k0d$2(qL2/sRvY,|]L0+R_˅ e{8^+l%, `bnw&3wx;<IZc]b+nJ[cFktOrrq,qzM HP eϗ'vqSu'2&@1Pt kO359]=X+{.~tʍ1:mo͟o׿FQ'Z/*i'o KK+];!߮{pAx M涌nXs=!E./ۢDW&텰.ZړHe'&:_'Uik5r&W)i0),h.R>*]E@Ϥj9r"]Tqͱʍ5q]ɛ|m։+Kxmz!vl:3ދ,/[FvtS|XA<ч]WNƽhpUjK%Oh11w5hF9">]PWCTwu&i,;hZtG@z zHsW'\f?Ww~󛓗0΀Omc& #+^hծ]&K?Pju^hCr$DTiwI|0sD4x^[~”-6nDRӅ+;bb$f'GtxXFbĢa V,|2m=қlnGoqXp0g`[: c(7MQm81W3R6KWX=ٿmJ$X}}K"+E~Ә6qXxhE搊I2=uY! `I+G'30}\ٟaj*0{`H@2IO*Ρ!¬^DHC{ A H7(IU6_ =E2$# f+HlA120Ǎ?^'}s #j[]L&m6 >m.9n1Zwov˹s'_S*"v[|,b<2nNCI4}h{'2s4IU =XwGiDk>.gJ6Z:<ឳxJii)jǂp.<Ê{ػ Mt 8 s9qZ婐f*jyEb-`:moJ5!z!oQpѰ B9Îq8KA L\f^rAmGk˿ BV-(^[r $@wfru*/٩ , f\|Vlwd`[n<ٱO$_nev /7g6& *JҏpnoL:;9Q\(fؔӽV;wVs-@nn:DPt}^>G,Cգ;I%Kߵf1%6k ʫAA@QzCѿE,([{jP/(Z&tjm{*%Px2ʹ D M"QWf]TIΤ %>k+Ø[mo}JwN+#ǡ-_d/,;AvIN*Sps!?%m#Tو$<0Ai #f@DuNpg LjZa^~0mZ<-Μ,b_a_-;ٌdLo/@5=Mqrg_zY-}ND*_(u]C8[QV &ۂ-.kqU z697HwL&>#8lmvg'NYy5+ $;e+I-<&_ʏR8B`seț1S$Hˇǔ 42Rt UB9]hy{y% 2x*CF0"|ydNRd6Z\zE~Xx{7kt g>ZP dS MDߟ{uxiA%Wz~B}~ M/t*L7zmqm&O?2zTij|4mW$X*ia C{$]~P|RsThXmXYɇkHS-+AwgGb2bL{GUD_9?DA 5A;Y;.< 93Z^&-ӽ)`"FA">2$@r|g=̨pA48|G4]4*J 7X+FPz@]u06j|fk!Z5Άt)NS3kPek|V".)Pu?O1[^p^LCd\lyOvxe8Xc~.`eұ@k'0݇f^>U O=CϞ6|&ckz7?5BXf~"XHj;GTÄi64ypkLuAtL2Ù>2'X'qo @8!cjm]WfKՐJ2 jóGF—0ϛMs>vE2Uـ֨ h5V<'"dZEӉ6:qq4RLXeXmΓ*< bG5s6bYGAV2=ĮexUP b6=>bq4JPIV25u rA04dqƯv6(Atb‰afTj2Ո¢蒻kR*dgCc+eҚ5;8m@ E,o]\Aj(C^$Gx'&gBA[%$JSFE jPٛ= ݻʏ:X ;Tv\hإ7 p3B2d/kTfDTapufwx>oj_)>e []#:pOZwb J5Gw\St5[m?Vd[|Mk4 {qHGf֦qjͮ6,"b 3Re;3 <iе2b|$9V\9/:-g##m:g/ g6,vn1JI!q4P_N/*sE?|"gG[pf'|(5΅mE8"ޙ KDٜ30L 7@]noi˛; MoD J`3Ms+/.% cKH8!.2Ki866:M[[ CS\,(*b:=|s Ml_oϲeB\; WȒ81tc= RLxXWD5"^LedȝJpTꚽlyy+NKSFh4QL I#a?[{UdKj61(?UP?Uu%UX_jiy R8oP?~,ҥ躀{.ɣD!IZ"E$_K4KE檊\O0G8CXr;ѽzH+l7f[77BX ݱE&ͲH}hlvgiխʼ:dlm~VWAgySj'G88(:hHݶjD@ 4QDl$+$N"pMZY ֗cq$#n;l8bEHcHfsGiOix=\gDׁ %RҺDrFʦ$mYnX]!ao*ܚth˻D9]ؓ-9 ֲ;kVp X4ORV:61S/4"d͑riM1-0"qau;,I5LuFIa= jd$z,J`4惃F+GU'mvxҥӐ1sԐ-2WVA hu+n/4ehNvl L4|l96_΃7IoZS,`㒤AhJXI~ړ$aW-~قGi<$%=r 08BuC{(A '7rT)G`4f}ܥY8tUxskP۱ M@ r#v;(Q1Fߺ&dSel Y߿>76և}/];@"t$# kYJI.fU˪ wlHmGv_2a$bp)\HYfz/pcOi.$&\LzBeԔc{>Ҹ:{ ѥF1^X&.-hj0jj: +ƫFC7lV|_tOEf <US֫C˸a!]5)W0VvA<Ր)JxT{HT߼0=DC҆$رh>bi =xiV6l`v0 )Y<d+a෷'*1~ƤqQ/ 8˩n")EEE9xSO`R\mpԘ11b#-2d-Zs8U(1Nzn$U})\?݁ Y,$oœ9pJ؜XznP Gw!AFԪoA"!G QoBY=Y"Y-0NOehQ<7{)>rT*舁O.q{ӑۚW먷!29%%UXQmd_.gK{j{e `M#;rIA ^qĥfy*h/GMJja*b})͚^:1Zh1i&' >m15В"q#KxpΉb^ 1DdL8U.{p笩LkgCZT?<-;TF_q[!-S9<OqCb'z*/mrxbyLϞ%a+9;KRt>k/MS %,( |NT8[ G }[M~z_E eEQ?bJR:d%*BhP}G]NuI'kowi¹E>xUlI9OlG/޲D7T8U՘&dNC-dB;T< K͂Nz./bH0c#tu6a di0eiwNJ~2DڼEJnE0:$y}sk( #0N*\5ㅅ'}+Ed6!raZC!jUfj\ΐ#ꁢ3U黄QSxCN},s`KN\:'\#k{ 1uHspDMI'KӘsidrz| 8&S3 5':m1d"U9P2BUw³,pK4I C<]D/COX/ u )E,NY.RM`S3iqdj*HqxA+YzKҥ۽0BafnA$W`мJ J+:E;6WW5ޤzBǖ_Y>qʥvJԉwDMǙU NQm7}r5TBEb*tJ"gvc9ё>(?HOv)D>VUP@{MQGΘGa@Tx(2>./\+Y9R;OzމMD3 Ƌ󼈗Tw!+x~JUɻԱX4!bjP9SgnȒ y΋Ɩ+,˖kx#횸"R?J*LQco Q>o罵?kf5Er͎nj-R}9]bd^.I,<;! x,}Zb߅YurRt#7Y EC}>A[A=%ie]]q -`:\ɸYvEun=,OAVnm7>LQflr^(f3P%mDמÕ+*7iέE.` NǁV3'ob&Qg_geL ~jϲOa*+Ojv;B(Hlbb8gnBZޑA~PIm8CNEjk"@xa:eH7cDE+:t{&ZtHs\I7A&oK O69-NdnuB sH "GhSv<lVDg" gcdJm<\'aOI5jx.y< 0"\n 4o .ٖ&8?k/ '<fk@g֋b}.59e˝>n6w6bkYKE 1\QŎ.$kT#DQVқA7_%[$R8K֏gbm hC=P-E]7:L4IvxzrŦͷæDyq%TξqUmErUj#bnlՈ#Ы1~Q%JI̦'#KD7H/f`jicT{ˎJ?0EА@{E)0N[c+r ;ce,J;])dvPI]'kbLAK9 ~%OgQîU9݊ VW&6piVyo9 #X9pm{oA4ʼnk'(] [LRҬ];C@3M'';UDm)z{3Pn4"vu"@>F/Λm wWsgKUahx)f(Z (Ga'=e<[ÝQJch͗V/qmǁ3H qқFo*B1H:ۀ Qz$yGDUiLUƄ)Mig̅͞% {%Fxa-`p^ 2G!X/oN1ZP׵alڱM}zI 'XNK>A+|O %MQK(jm=<夥EdZj%DwIwWk|ռHui2Uzeˊ_kx3ұR/K4o$gLjNʢj"  ̳s$5d&|Y%7VӧMӏM`PaM2&gq5v&)SM#hsq42 ,~45Z$O;=s[*uwz+헨4'Hf;x֤;C_ Z' .eU@b$[j3PCd5!qf?zUQ;7wנGu<* t'8 _ypY@ 췜l:xԍu`jJ-ֱSm :؀`$dBt-~̺!|J1vUϺ zuPn./ ^-ifE>==C{ۘMeR.JUθ3*㋋ aL<D`=U*i([EU:ݯnD}ؚD{OQyzW×c)8U3O(֡W2tH[\婅 NX8,#JB U_%#c"ޯ99r!1b+NSwؖD+G.:Fj2 81ca]@2Q)ղ}:8#n0ز$>.Ә7(WVA8Y:^`hOPwjadhsy)| 9?\ #9tew1XF9"c(Q0+~5ӞהN<4OLx0xj(eυ:y&xx~HtϺ}{OIjZQ)"&6f7ٕ'I*)fȐ$“WN w'l% BALyU[\J_L&PmR~u.Qu':}|&|B g6WejھNT Af>S<ӹ\x5z97 gձR&[fWnUCs l>-V A"9'jJd-ӶhbeMï&5qg xv=&Ydr 'nT&aQtZxd\V&}Щ`plL<p!s#C@D n&[w%oPʿtdD:Ѝd ?QcsM}Nl3T2 OkhHDn9.čgybmK`<k,/2W'/4W"5ᠬ++N8D-v`|Vw]b  P#3vأWDԆȠ %=`okI:og0SSĴ-Ð[&qOa/IA^`FDG_`/Ar$Rcu i5Pɹ/`){˗Q18i7~a-&Ԃgݶ?[ K5Ҧqr砑 ڹKN Y]8e\[,HL ΫMcWpB$["I'NMd )Š?S"V y.&% ACTD=y8ŭAq}u%ۨ`QO6l*q$ئKt6QنֆѫRޝG.K(8E~Q|2%LwZdi,g &p@չ@ R`R 𡔭dC%(1A- @S4udGxhMvxBWVn9>z5"A:#0^94==FzNݷD# '/SN[ :wc"b,) V4Kv;$ w&lG]Rb> bU 1vqT]?r?֥ lUo"ЋSti*|8k!.67@v̴M`B쓅 '<hH> 1x"cMVEu5MjAXIܲ*d)5 [Փ9~/vH"\t\'Ҩfsf `a&'BCO"a݉R} iօI`Es$VLf&l"l. ( с 2PS<.q4gFo\&̀oj )5IW* ,ak4ODZCj۹ăk89HHKXcQZq޿IkIG0{>L(4VyWxE#$4#}tãn}>~l^A>T",fr [qW#&uDn:yPƀLy͈D[~]+jw+p<  {ך߲fY_ +VRS R#Vs/ љF:aY'뻪T۽̾$G/@;ord% /)__ԅ/zmjllVC;?9"a2CLg\ .ۃAτ9ypǁ [e}Zku~w |kA"EC߷㏨Q zص㳀B+Y~f3Kw,'s]?B!YOr&ٚE:h|GeͿEdUЃ2tCEghD) 4i X-.ۍx)tl_pPK{o@qJ| TwP$5_%£enLP>nva CrlРk=._^ײ_ܝ\ݔyeyA$MdײkTD? A]m6W=!Y,v.S#ӯJ\-.Ptu|M2@ ڡa" .EG iT(w*uxnĄND#0Ea`> n7P[aCp*%-!^XEJ0\&GD΄M' XTm @<_)$YS-b0n8{"OXЉPGXr]681,L:x1>ۓj.qJQ_(6nJ]$t&1|+ުڦƐ u"pyO" =[>YTW##;$ECU/Jd:+ LZQhVᦏHəV6@\z叔\ya)6mز)ѲaB MTͽ&f"v472w]V.AAЁ+Y69Elby*yP8:܈NxOl}qAXTG_L]]cs&ValǡWEa*⁛/ܵl!7:@']@`u:ɐ' R@"QW$ [R؊#_~6eMnL3 b~ 4ew4i?ZaF)v[H=h yք~7jB;w8bg{ DhN*=G4o!w(0a{C5]~lb="0c#ڡ.åmxI6߄$WD7n/DO"K_o5Na|˸ՠoHkr\h\A6(3|-n0ĂM+yDǻ˭W᳻8թ&[ˡ?‹cGX5Ik./]`}Fi2-S!ڰQ'Ji; }?pOH~rC|ròC$AC6u'`6}~! K{Ll<,a~5IH=B/Nz*tl9K E=;QlY4hy< US(ms-\`Nntd;;yKur~h(R:kѲ4О:̙=CA*N=:.R)vFY#I:HRlʌȽX|Lg^+zoشC!\v4Rjj糋kN({Mi#h\g@Y`K?+x7m%acd#6jPG9)`n;7)}ޏƎPjBߨ !_ityMikrw2U2%'pS EjmyP#_w^9VvS-cDˈQFH1HC{GrJstyt nƣM.~B +RgqD2럦wnyަu5v }T0KD@8|χX'fPGx+Bu&N鶵U@A7 $8Xm U4ga:ZGhs>*jn}gi«ZcZ%+c s{uU]e̘±Y ޸_>ٱ63@bm+Bր|!94hkl_9Vߥ(\{kj \B}Q^96J^ w{?"oyx1` KE+Bl7Ԍ}o9XZtis}MJJ*hzTw%cl @6{ZTh/aI1ϔ{4L2k+Sw.cJp ^z4oxys7g ҟifkg,v "MϘ +v"xD-ot3 plO3*Ƹ8R +edeԆ6g+n۬hK(z^߄fXA{hNYusV lwͦc"M{)5ati0.[TM@)Es=DKq>!uE0v#7Y14τԎ;˺3]8漹xIbCGI`p7Ś}??!Tqbqf2 1s%U )W,&^iGe\Ipi"Fjt !J_CnSG,H ٠X^R-iD/9bbt!<_4ֵ %h+ږ ђ 25tײ}c]N?BJ(5VX;J= ͼtk)q_ lF4 q1l( -WTl+ke#Rd? !/DC;2@e?[![:~!.!nawz" noU5m?NPq;⋞[UK_5 ȡ|$ڡ 3rs?|=!6;(Xc+^L cO{|b|P(N_lvnxȉS3jgͱJĽKS L@D?Jj+>a)CeBunܮ~u3&tlN Њ.4$2ZС~[ѷCLm3S 9fɃv/v| v"))tGETƕ1S O8l 5Y>298e,TD@C#h|I}V)i]F$9 \.O|mDY8jƲ@fEÃob)S?"JkoP(WӯX>}Z d:rhU.m Κ,iPCB'y0yirMIp2? u|/VMg`501{^I\kFy>|XB7Qā{d&rP33ׅSKlMQEO*+#97_Ob4lnٻ^6O/_L(xd91θ",ݻt Nm|5_u,e8Mqx;ܹo6jw?0ȸhM0}I矲KTwLfykjkD:^K e#I.ld7+Q\Z̭WmrND""`-,T  ;Yhiݒ2ϚFG%ੑ 7s! `g`ͩ|%ݢj7$.TkQ=q,Mtmnn= (B]^ٯK^kUKVжIN}ZǬ9 1&bDwha2RFhgs~"Ɩ+B9KIlۖ;X8>̆ iqNʐlg\u HFq;|AN]+R+Uqn# GmF@25Oun,_&2P\ؠ)=TyRn8:԰\; ЃR  :5euFCɹnX(},ESc%=yD-ZqXxrǪVvVn#wO!.]HX|6<&/⦠868] J?X=qkH3!!x;$UV r)jCliComsJ஼.0>}SCωDLZgؕLI>Uy1z$h*1풄jEo/UqS,ߏy~~qwk`T]JL.\d .m oj^UI4`[FPܩèI$u}P/Q/ҊlJq+mҸx}*E/`>,MB  k¹d0} CXm\p)R 'dl~b-%\L7ˀzp*Qrl ",..\El8JS$FWIÎ- #26!)bօ)2C)Ds럊hŐ5hҮ>8D=o*RYD{IapSCɾB_cY]x\SٶMjM: ?h9Pи !DFjr`&B٨qw4G3KKiK" CI7lX-Z.O(q"4:-%*Q-av}Q5HekxFMMcz+8Wb8AlbCQ\E/^署6ڍ6/(p+~Ʌ?PABv^xh키0U=G'"nWú2%Nb(15WQ:{f'f5@cT2}HR5 h5΀