bcc-docs-0.19.0-1.1 >  A `ep9|M),)z*ѦBDLsHAl,k|YWJ)[kIb7uJ*njG2dhkE )#'vWUI_j֘*QE0#.Qz/zP.(TvbP%-](~n,"lFVgPS I_ Lmw߀88 RNyC pT5SȞudL3Uɀzx{:':}{bx4遨Մd7701b2485412b8e18a7a6990a3c1670b7e0b76b5e362f2ab0786cc03e1d1dd86ddf9f0e2d2672ca326f08eb66ebb86d391f61d4[`ep9|<nѨB)=( l`MIBn#eȨz_haۣB$4H@ǵ|rxVH̃>a@^4;T.ٻ.M. 3fP j h$r.kޘjHtP%3kyXD'y0s_c*O缾Fsu;)hOOp (f2 ̾?oV7UM,LZGٖÁ3(ojZuH>p;?d   < &,4P ^ l   4Wz?([8d?9`?:?F$G8HTIpXxY\]^"b]cd[e`fcleuxvzATX^Cbcc-docs0.19.01.1BPF Compiler Collection documentationDocumentation on how to write programs with the BPF Compiler Collection.`e=sheep15pfSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/Otherhttps://github.com/iovisor/bcclinuxx86_64 UeKZtA큤`e=`Un`Un`Un`Un`Un`Un994a0c39dce4a66bce5f887b46bb793ddc0b36d35a3a7ece1ab914f05efba0963abb0b813946ef3e3c2c8d16a82ec38d6af5c2b185e9dbfe8ba4faa4ddb65aa218955ed015900375aba12be6f5b0bc4e1bea14ba2ed19e5d9bf4fbd9107491900138bc70d8c71de86371c26969e6402894232744e4d2eba4a296e421c5c7a642e1989f3f00b204d2170966410e96be816e0ca370f689cc9c4352ecf827ed44bc0eca65a15c3a670bea27ac806e027dc1b75ace9ef520e874c92ba746c132dc3drootrootrootrootrootrootrootrootrootrootrootrootrootrootbcc-0.19.0-1.1.src.rpmbcc-docsbcc-docs(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1`a@_@__m_-B@^@^@^@^1^^F^%@^@]q]@]]c@\]@\@\M\\@n@\=@[[;@[(@Za@Z2@ZZ`@Z_@Z|;ZaZ8@Z3@Z)-@Z%8Z!D@Z Z@ZC@YY5GX•@X @X @XF@X@W WҤ@W/@W Wo@V@V޾VVŲ@V@V_V@VqR@V\:@VI@V*!@glin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.commimi.vx@gmail.comidonmez@suse.comglin@suse.comglin@suse.comidonmez@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comjengelh@inai.deasarai@suse.comasarai@suse.comglin@suse.comglin@suse.commsrb@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgglin@suse.comglin@suse.comglin@suse.comglin@suse.commanfred.h@gmx.netglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comidonmez@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.com- Update to 0.19.0 + Support for kernel up to 5.11 + allow BCC as a cmake subproject + add LPORT support in tcpconnlat and tcpconnect + added bpf_map_lookup_and_delete_batch support + new tools: virtiostat + new libbpf-tools: cpufreq, funclatency, cachestat + add install target to libbpf-tools + a few lua fixes + doc update and bug fixes - Set ENABLE_NO_PIE to "OFF" to enable PIE for bcc-lua (bsc#1183399)- Update to 0.18.0 + Support for kernel up to 5.10 + add bpf kfunc/kretfunc C++ example + add PT_REGS_PARMx_SYSCALL helper macro + biolatency: allow json output + biolatpcts: support measuring overall latencies between two events + fix build when ENABLE_CLANG_JIT is disabled + doc update and bug fixes - Update libbpf to 0.3 + kernel modules BTF support on all levels + ring_buffer__epoll_fd() API + xsk_socket__update_xskmap() and xsk_setup_xdp_prog() APIs + New BPF helpers: - bpf_task_storage_get() and bpf_task_storage_delete(); - get_current_task_btf(); - bpf_bprm_opts_set(); - bpf_ktime_get_coarse_ns(); - bpf_ima_inode_hash(); - bpf_sock_from_file(). + ring_buffer__poll() returns number of consumed records correctly + handle corner-case case with unused sub-programs + xsk_socket__delete() bug fixes- Update to 0.17.0 + Support for kernel up to 5.9 + usdt: add uprobe refcnt support + add bpf iterator C++ support + new bcc tools: tcprtt, netqtop, swapin, tcpsynbl, threadsnoop + tcpconnect: add DNS correlation to connect tracking + new libbpf-tools: llcstat, numamove, runqlen, runqlat, softirgs, hardirqs + doc update, bug fixes and some additional arguments for tools - Update libbpf to 0.2 + full support for BPF-to-BPF function calls, no more need for __always_inline; + support for multiple BPF programs with the same section name; + support for accessing in-kernel per-CPU variables; + support for type and enum value CO-RE relocations; + libbpf will auto-adjust CO-RE direct memory loads to adjust to 32-bit host architecture; + BPF_PROG_BIND_MAP support, .rodata will be bound automatically if kernel supports it; + new APIs for programmatic generation of BTF; + support for big-endian and little-endian endianness in BTF; + sleepable fentry/fexit/fmod_ret/lsm BPF program. - Enable lua support only for Tumbleweed to close the gap between SLE and openSUSE Leap- Update to 0.16.0 + Support for kernel up to 5.8 + trace.py: support kprobe/uprobe func offset + support raw perf config for perf_event_open in python + add BPFQueueStackTable support + added Ringbuf support support + libbpf-tools: readahead, biosnoop, bitesize, tcpconnlat, biopattern, biostacks + bug fixes and some additional arguments for tools - Update libbpf to 0.1.1 + __ksym extern variables support for getting kernel symbol addresses; + BPF XDP link support; + bpf_program__set_autoload() to disable loading and verifying specific BPF programs; + support for attaching map elements BPF iterator programs; + new getters/setters for more control over BPF map definitions; + all destructor-like APIs (e.g., perf_buffer__free() and bpf_object__close()) now accept pointers returned on error (in addition to NULL and valid pointers) and ignore them, no need to guard destructors with extra checks now; + bpf_link__detach() for force-detaching link, while it's still alive; + btf__parse_raw() and btf__parse() APIs for more convenient and flexible BTF parsing. + fix an issue with loading XDP programs on older kernels. + CO-RE relocations in .text section (in sub-programs) are now performed properly; + vmlinux BTF is not loaded unnecessarily twice; + perf_buffer__new() can be used on old kernels down to at least 4.9 version; + libbpf's internal hashmap fixes for 32-bit architectures; + few BTF sanitization bugs and memory leaks fixed; + btf_dump handling of GCC built-in types for Arm NEON fixed; + BTF-defined map-in-map initialization fixed for 32-bit architectures; + various BTF fixes for 32-bit architectures.- Modify URLs to get the tarballs with names not just versions - Drop _constraints + We don't link the static clang libraries anymore and this reduces the requirements of hardware. - Drop the unused _service file- Update to 0.15.0 + Support for kernel up to 5.7 + new tools: funcinterval.py, dirtop.py + support lsm bpf programs + support multiple pid/tids for offwaketime + usdt: add helpers to set semaphore values + turn off x86 jump table optimization during jit compilation + add support to use bpf_probe_read[str}{_user,kernel} in all bpf + programs, fail back to old bpf_probe_read[_str] for old kernels + tools: add filtering by mount namespace + libbpf-tools: cpudist, syscount, execsnoop, vfsstat + lots of bug fixes and a few additional arguments for tools - Update libbpf to 0.0.9 + BTF-defined map-in-map support; + bpf_link support expanded to support new kernel BPF link objects; + BPF_ENABLE_STATS API; + new BPF ringbuf map support, added ring_buffer API for consuming; + bpf_link-backed netns attachment (flow_dissector). + bpf_object__load() better error code propagation; + few memory leaks and corruptions fixed; + register naming in PT_REGS s390 macros; + .bss pre-setting through skeleton is now supported as well. - Drop upstreamed patch + bcc-bsc1172493-Make-reading-blacklist-optional.patch- Add bcc-bsc1172493-Make-reading-blacklist-optional.patch to make reading kprobe blacklist optional so that the bcc scripts can work with the locked down kernel (bsc#1172493)- Amend the sed rule for python3 shebang- Update to 0.14.0 + Support for kernel up to 5.6 + new tools: biolatpcts.py + libbpf-tools: tools based on CORE and libbpf library directly + add --cgroupmap to various tools, filtering based cgroup + support kfunc (faster kprobe) for vfsstat, klockstat and opensnoop + lots of bug fixes and a few additional arguments for tools - Update libbpf to 0.0.8 + Add support for BPF-LSM + CO-RE relocation edge cases + expected_attach_type handling fixes at load time + fixes in hanling kernels without BTF support + internal map sanitization improvements - Drop support-clang9.patch + Upstream fixed it in another way.- Update to 0.13.0 + Support for kernel up to 5.5 + bindsnoop tool to track tcp/udp bind information + added compile-once run-everywhere based libbpf-tools, currently only runqslower is implemented. + new map support: sockhash, sockmap, sk_storage, cgroup_storage + enable to run github actions on the diff + cgroupmap based cgroup filtering for opensnoop, execsnoop and bindsnoop. + lots of bug fixes. - Update libbpf to 0.0.7 + Major new features: - BPF skeleton support; - Kconfig extern variables support; - STRUCT_OPS support; - support for BPF program extensions; - cgroup MULTI-mode support (bpf_prog_attach_xattr() API). - bpf_send_signal_thread() BPF helper; + Usability improvements: - BPF CO-RE improvements (flexible array, LDX/ST/STX instructions, improved conditional relocations); - generic bpf_program__attach() API; - SK_REUSEPORT program type support; - bpf_link_disconnect(); - bpf_find_kernel_btf() API exposed; - large instruction limit probing added; - improved error message for RLIMIT_MEMLOCK. + Fixes: - fix perf_buffer handling of offline/missing CPUs; - various other fixes and usability improvements. - Drop upstreamed fix: bcc-fix-test_map_in_map.patch- drop python2 bindings - don't require python3-devel package- Fix build when pkg_vcmp is not defined- Update to 0.12.0 + Support for kernel up to 5.4 + klockstat tool to track kernel mutex lock statistics + cmake option CMAKE_USE_LIBBPF_PACKAGE to build a bcc shared library + linking with distro libbpf_static.a + new map.lookup_or_try_init() API to remove hidden return in map.lookup_or_init() + BPF_ARRAY_OF_MAPS and BPF_HASH_OF_MAPS support + support symbol offset for uprobe in both C++ and python API, kprobe already has the support + bug fixes for trace.py, tcpretrans.py, runqslower.py, etc. - Update libbpf 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 - Replace lua51-luajit-devel with luajit-devel to reflect the recent change in Factory (bsc#1159191) - Add bcc-fix-test_map_in_map.patch to fix the build error in the test case- Enable USDT for s390x since 0.10.0 already supports it- Add support-clang9.patch and apply it for llvm >= 9 - Fix sed call for python- Update to 0.11.0 + Support for kernel up to 5.3 + Corresponding libbpf submodule release is v0.0.5 + Fix USDT issue with multi-threaded applications + Fixed the early return behavior of lookup_or_init + Support for nic hardware offload + Fixed and Enabled Travis CI + A lot of tools change with added new options, etc. - Update libbpf to 0.0.5 + bpf_btf_get_next_id() API to iterate over system's BTF objects + libbpf_set_print() now returns previously set print callback + libbpf versioning, build, and packaging improvements + convenience helpers for working with BTF types + experimental BPF CO-RE relocation support + various AF_XDP fixes and enhancements + BTF-defined maps + tracing attachment APIs and bpf_link abstraction + perf buffer API + BTF-to-C conversion API + btf__parse_elf API for loading .BTF from ELF files + libbpf_num_possible_cpus() added + passing through prog_flags through bpf_object__open + new attach types detection added - Use version for REVISION instead of libversion- Update to 0.10.0 + Support for kernel up to 5.1 + corresponding libbpf submodule release is v0.0.3 + support for reading kernel headers from /proc + libbpf.{a,so} renamed to libcc_bpf.{a,so} + new common options for some tools + new tool: drsnoop + s390 USDT support - Update libbpf to 0.0.3 + Also add the source url of libbpf - Drop upstreamed patches + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch - Drop bcc-libbpf0 since upstream dropped the so file - Enable SMP build flags since we don't need static clang anymore- Add upstream patches to improve python3 compatibility + 0001-fix-string-re-being-used-on-bytes-for-Python-3.patch + 0001-Convert-bytes-to-string-for-re-in-get_tracepoints.patch + 0001-tools-don-t-mix-print-end-with-printb.patch- Update to 0.9.0 - Add libbpf-5beb8a2ebffd.tar.gz since libbpf became a submodule of bcc - Drop bcc-bsc1080085-import-readline-from-lib.patch + Upstream provide an additional argutment for the shared readline- Correct the library version- Remove unnecessary use of xargs. - Remove idempotent %if..%endif guards. - Update descriptions for grammar.- Update to 0.8.0. - Remove upstreamed patches, and un-needed ones. - bcc-check_int128.patch - bcc-python3.patch (replaced with sed pipeline) - bcc-install-additional-headers.patch (bpftrace has fixes now)- Switch to %license over %doc for licenses. - Add upstream patch for bpftrace builds. boo#1117223 + bsc-install-additional-headers.patch- Update to 0.7.0 - Refresh bcc-python3.patch - Drop upstreamed patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Remove bcc-bsc1065593-llvm4-hack.patch and set ENABLE_LLVM_SHARED - Remove COPYRIGHT.txt which was dropped by upstream- Update to 0.6.0 - Add upstream patches + bcc-bpf_probe_read-fixes.patch + bcc-fix-ext4slower.patch + bcc-fix-tcpaccept.patch + bcc-prevent-bpf_probe_read-MemberExpre-rewrite.patch - Drop upstreamed patches + bcc-fix-build-for-llvm-5.0.1.patch + bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch + bcc-bsc1080085-backport-bytes-strings.patch + bcc-bsc1080085-detect-slab-for-slabratetop.patch + bcc-bsc1080085-fix-cachetop-py3-str.patch + bcc-bsc1080085-fix-syscount-str.patch - Refresh bcc-python3.patch- Add bcc-fix-a-compilation-error-with-latest-llvm-clang-trunk.patch to fix build with LLVM6.- Add bcc-bsc1080085-fix-syscount-str.patch to convert ausyscall output to string (bsc#1080085)- Only enable bcc-lua for openSUSE (bsc#1085810) - Amend the spec file to enable bps only for Tumbleweed (bsc#1085403)- Add bcc-bsc1080085-import-readline-from-lib.patch to read the symbol "readline" from libreadline. (bsc#1080085) - Add bcc-bsc1080085-detect-slab-for-slabratetop.patch to detect the current memory allocator and include the correct header. (bsc#1080085) - Make bcc-tools require audit since syscount.py needs ausyscall to get the syscall list. (bsc#1080085)- Add bcc-bsc1080085-backport-bytes-strings.patch and bcc-bsc1080085-fix-cachetop-py3-str.patch to fix the python3 compatibility issue (bsc#1080085)- Update bcc-python3.patch to make python3 default for all the python scripts (bsc#1079961)- Add bcc-fix-build-for-llvm-5.0.1.patch to fix the compilation error against llvm-5.0.1- Replace clang4-devel-static BuildRequires with clang-devel-static: use the unversioned one, folling the llvm meta package version (like all the other llvm/clang packages in the build chain).- Request at least 10GB disk since the clang4-devel-static needs more than 3GB and sometimes caused build fail (FATE#322227)- Request at least 4G RAM for the s390x build (FATE#322227, bsc#1070362)- Tweak the installation path of bps directly instead of installing it manually. For those architectures without luajit, %{_bindir} wasn't created and it failed the previous install command. (FATE#322227, bsc#1070362)- Update to 0.5.0 (bsc#1070563) + Explain possible reason of an error in scripts that rely on /proc/kallsyms + bpf: fix a couple of issues related to arm64 + bpf: Add support for prog_name and map_name + Add a few introspection helpers + Introduce BPF Program Snapshot helper (bps) + Trace external pointers through maps + Merge BType, Map, and Probe Consumers + Fix exception handling in python3 + Add usdt support for ARM64 + bpf: make test py_test_tools_smoke pass on arm64 + Add soname to libbpf.so + Fix Module display for unreadable Modules + Use bpf_prog_load_flag in APIs + Add flag to enable verifier log_level 2 + bpf: use MCJIT explicitly for ExecutionEngine + change frontend rewriter to better handle anonymous struct/union + Move BCC debug options to an installed header file + use user-provided log_level in bpf_prog_load + Add utility for cc tests to read command outputs + Fix 'test_libbcc' from failing due to symbol name mismatch + Update perf event type and config checks + libbpf: Support unbound raw socket creation + force linking the whole api-static library into shared library + man/bps: Add a man page for introspection/bps.c + Do not keep Loader instances around + python: make _decode_table_types aware of __int128 + python: Avoid unnecessary pointer object creations - Only exclude ppc and s390 build (FATE#322227, bsc#1070362) - Add _constraints to reserve 2GB memory for linking with clang4-devel-static - Rename armv7.patch as bcc-check_int128.patch to check if the compiler support int128 or not - Drop upstreamed patches: + bcc-bsc1065593-switch-to-mcjit.patch + bcc-add-soname-to-libbpf.patch- Add patch (bcc-python3.patch) to explicitly use "/usr/bin/python3"- Use the python3 package by default - Provide and obsolete python-bcc (it's python2-bcc now)- Update to 0.4.0 + Fix helper to access stack pointer for powerpc + bpf: rename helper function bpf_get_stackid + bpf: print out the src debug info to a temporary file + attempt to compile with system bpf.h if default compile failed + sync src/cc/compat/linux headers with latest net-next + Fix segfault with enumerations + Allow BCC to parse vDSO symbols + libbpf: print error to error stream + Avoid potential SEGFAULT when resolving Kernel symbols + Fix 'tools/statsnoop' from failing to attach kprobes + Update USDT argument constraint for powerpc and powerpc64 + examples:dns_matching: make it work as DNS sniffer + add debug option to dump asm insns embedded with source + examples:dns_matching: helper function for adding cache entry + Traces external pointers in parenthesized expressions + examples:dns_matching: fixed loop break condition + Fix bcc_resolve_global_addr on shared libraries + BCC macro for the creation of LPM trie maps (#1359) + bpf_probe_read*: src argument should be const void *. + hardirqs, softirqs: Fix distribution mode units handling + Add a generic utility to check any binary availability + Fix 'test_debuginfo' from failing if a symbol has multiple aliases + nfsdist tool (#1347) + annotate program tag + add helpers to access program tag + examples: fixed http_filter example + nfsslower: trace slow NFS operations + Update after lookup in map.increment for HASH types + fix a bug introduced by previous lua-bcc build fix commit + Better check for compiler standard support + fix lua-bcc build issue with cmake try_compile + Fix segfault on incomplete types + Trace external pointers from helpers + Allow the flags to be specified in remove_xdp() + bcc-lua: --no-pie, not -no-pie + solisten, tcpconnlat, tcpretrans: Remove unnecessary bpf_probe_reads - Add the new subpackage libbpf0 - Add bcc-bsc1065593-llvm4-hack.patch to work around the llvm libraries searching issue (bsc#1065593) (Also add clang4-devel-static to BuildRequires) - Add bcc-bsc1065593-switch-to-mcjit.patch to switch from OrcJIT to MCJIT. OrcJIT actually doesn't work for bcc, and the bug was covered until we start to use the unified LLVM shared library. (bsc#1065593) - Add bcc-add-soname-to-libbpf.patch to install the shared library properly - Update the group of packages - Disable USDT for ARM and AArch64 since it's not ready.- Update to 0.3.0+git1502955391.9de830a + avoid large map memory allocation in userspace + python - set attach_xdp's default flag value to 0 + have uniform uprobe event names for python and C++ + Remove extra S_MAXSTAT array allocation in some tools + Omit include of ptrace.h for empty usdt contexts + Add clang check for -nopie option + Correct commit id for BPF_FUNC_get_socket_cookie + tools/tcptracer: add timestamp option + Since LUA_GLOBALSINDEX is obsolete from Lua 5.2, use lua_getglobal function instead. + better state default value handling + add --state to offcputime + tcptop: Filter out negative values in receive probe + tcptop: Cleanup argument parsing + Use unsigned conversion specifier for nlmsg_pid + Fix wrong netlink port id check + 1. Use more safe snprintf instead of sprintf; 2. Modify procfilename buffer length in bcc_procutils_language function. + permit multiple pids attaching to the same probe + generate proper usdt code to prevent llvm meddling with ctx->#fields + MySQL tracing without USDT (#1239) + Fix a clang memory leak + Update bpf.h and virtual_bpf.h to 4.13-rc1 + Fix trace.py for library filenames containing colons (#1252) + cc: Add open_perf_event to the C/C++ API (#1232) + memleak: expand allocator coverage (#1214) + libbpf: fix build warning on setns (#1246) + usdt: Use ProcMountNS + proc: Enhance bcc_mapping_is_file_backed + Fix bcc.lua build issue in Ubuntu 17.04 + Added helpers for BPF_PERCPU_ARRAY (#1230) + Add an option to strip leading zeros from histograms (#1226) + gethostlatency was rounding to full ms + Change clang frontend optimization level from 0 to 2 + fix cc: error: unrecognized command line option -no-pie + fix incorrect code generation in usdt- Update to 0.3.0+git1496334311.6fa3681 + Improve PerfEventArray clean up + make libbpf standalone-ready + Add support for generic XDP mode + Add option to control bcc_elf_foreach_sym behavior + Add bpf_get_first_key helper + Enable recursive scanf support for char[] as string + Fix computation of LUAJIT_INCLUDE_DIR + cc: Work around verifier error when reading USDT probe arguments + Disable non-static function calls + Added the option(USINGISYSTEM) of Cmake for controling whether using -isystem. (#1064) + softirqs: Migrate to kernel tracepoints instead of kprobes (#1091) + lua/bpf: implemented packet direct access + lua/bpf: support for NET_OFF for dissector + KVM hypercall analysis example (#1082) + cc: add support for prog table + cc: add support for array table + Add TableStorage class for wrapping bpf map tracking + funcslower: Trace slow kernel or user function calls + map.insert bcc helper to expose the BPF_NOEXIST flag (#1085) + bcc container improvements (#1051) + cc: define load_func and unload_func public + Python 3 compatibility fixes around string handling (#986) + Verify format specifiers in bpf_trace_printk in rewriter + Add build option for installing C++ examples + bpflist: Display processes with running BPF programs and maps + python: Allow module=None when resolving kernel symbols + mdflush: Add missing #include - Enable AArch64 build (FATE#322227) - Remove remove-isystem.patch since it can be controlled by the cmake option now. - Add gcc-c++ to the BuildRequires and switch to gcc/g++- Update to 0.3.0 + Added s390x support. Needs 4.10 Kernel + Restrict rewrite of unary operators to dereference operator + cmake: Explicitly mark static libraries as such + Fix bpf_dins_pkt rewrite in BinaryOperator + cc: Symbol resolution with multiple executable regions per module + cc: Fix assertion for debug builds + cc: Don't parse the same module multiple times for USDT probes + add XDP return values to python interface + python: handle null module in BPF.sym + filetop: support specifying sort column via cmdline argument + cc: Retry symbol resolution using perfmap + cc: Handle nested functions correctly when resolving symbols- Add remove-isystem.patch to unconditionally removing -isystem, looks like the gcc check is broken. - Add armv7.patch to disable __uint128_t usage which does not exist on ARMv7. - Always use clang as C compiler, note that the build system will always use clang++ ad CXX compiler if it finds it.- Update to 0.2.0+git1488325605.4d0d430 + Fix long running test_debuginfo and python3 fix + Make perf ring buffer size configurable + docs: Update eBPF features list + Improve matching of file-backed memory mappings + Fix symbol resolution by name (SymbolCache.resolve_name) + cc: Resolve symbols from external debuginfo + cc: Correctly treat PIE files as shared objects for symbols + Migrate to new symbols resolution API + Simplify BCC symbol resolution API + trace, argdist: Treat small USDT arguments correctly + Support base + index * scale addressing for USDT arguments + cc: Fix SEGV when there is no build-id section + syscount: Summarize syscall counts and latencies + u* tools: PHP support + bcc: add support for lpm trie map type + cc: Support for __data_loc tracepoint fields + Fix python2/3 incompatible percpu helpers + fix iteration over CPUs + Fixes for LLVM 4.0 and python3 + Update [virtual_]bpf.h to 4.10 + add bpf_obj_pin/bpf_obj_get to pin/get bpf objects + uobjnew: Attach uprobe only to the requested process + uflow: Trace method execution flow + ustat: Activity stats from high-level languages + ugc: Monitor GC events in high-level languages + ucalls: Summarize method calls with USDT + Example of using USDT + Add USDT support to C++ API + Improve linear histogram limit, and improve error message + add runqlen tool + docs: Update eBPF features list + Improve C++ API perf buffer polling + add support for bpf map flags + Fix bug of missing to install simple_tc.py + Add support for aarch64 + Avoid unexpected log message on BPF program load error + Add lru_hash/lru_percpu_hash to python/lua + bcc: add lru_hash and lru_percpu_hash map types - Remove the clang workaround since llvm 3.9.1 supports gcc c++11 abi tag. (bsc#935533) - Enable PowerPC64 and PowerPC64le build- Move manpages back to /usr/share/bcc/man since trace.8 is conflicted with the one from postfix.- Update to 0.2.0+git1480569532.5647de0 + profile: -p should match user PID + tcplife: reorder logic to catch missed timestamps + hello_perf_output: match the data type of pid + Remove debug flag override in bcc_exception.h + Use StatusTuple constructor in mkstatus_ + Implement StatusTuple class instead of using std::tuple + biotop.py: fix compiler error on newer kernels + Determine kernel dirs at runtime (fix #743) + Rename exception.h to bcc_exception.h + tcplife.py: Catch passive closed by server, #788 + Install exception.h and common.h + Fixup test errors in clang, c api + trace: Avoid passing -1 as the pid to USDT + Fix Tracepoint example (#809) + cc, python: Clean up BPF module and tables + Fix warnings covered by -Wdelete-non-virtual-dtor + Fix argument type for increment() in documentation (#794) + trace: add pid/tid filtering, fix symbolizing, misc nits (#798) + Expose destruction of SymbolCache in libbcc + perf_reader: install perf_reader.h + Use headers from BCC in installed files (#793) + funccount: Bail early if there are no matching functions (#792) + python: Grab all keys before zeroing + funccount: Switch to BPF array instead of hash + Update profile.py to use new perf support (#776) + Example for using BPF perf event + funccount: Do not prepopulate location cache + python: Filter duplicate in get_kprobe_functions + Python API for BPF perf event + Add bpf_attach_perf_event in libbpf + Add BPF_PROG_TYPE_PERF_EVENT to bpf_prog_type enum + add tcplife (#773) + add reset-trace (#766) + funccount: Verify probe max limit (#771) + python: Fix kprobe quota test breakage, add uprobes + funccount: Generalize for uprobes, tracepoints, and USDT + bcc: Make regex helpers publicly accessible + stackcount: Style fixes for linter (pep8) + fix profile.py page_offset_base breakage (#768) + trace, argdist: -I switch for trace and miscellaneous fixes (#761) + cc: Support glob+offset format in USDT arguments (#753) + Support filtering by process ID in the filesystem slower tools (#756) + trace: STRCMP helper function + mysqld_slower: Fix breakage after USDT API change + trace: Add %K and %U format specifiers (#742) + Update opensnoop to filter by PID and TID (#739) + funclatency: user functions support (#733) + tplist: Print USDT locations and arguments (#734) + src/lua: LuaJIT BPF compiler, examples, tests (#652) + stackcount: Support uprobes, tracepoints, and USDT (#730) + trace: Initialize USDT arguments to 0 before reading (#725) + argdist, trace: Native tracepoint support (#724) + argdist: Cumulative mode (-c) (#719) + trace: Print USDT arg helpers in verbose mode (#723) + argdist, trace: Support naked executable names in probes (#720) + docs: Update eBPF features list by kernel version (#717) + fixup the issue in which distributed_bridge example (#716) + Fix bpf_common.cc include style (#715) + Fix argdist, trace, tplist to use the libbcc USDT support (#698) + [tcpconnect] filter traced connection based on destination ports + Fix bpf log buffer for large bpf program: (#680) + opensnoop: Introduce process name filtering - Exclude the cpp examples from installation - Remove the isystem path since we are using clang++ - Install the manpages correctly - Improve the spec file to search the luajit pathes and fix some dependency issue in Leap 42.2 - Remove "-DBCC_KERNEL_HAS_SOURCE_DIR=1" since bcc can detect the kernel dir dynamically now.- Add llvm-gold to the BuildRequires since the package was split from llvm since 3.8.1- Update to 0.2.0 + examples: fix indentation in tracing/tcpv4connect + fileslower/filetop: use de->d_name.name, add filtering- Update to snapshot v0.1.8+git1472097662.4ebb7cf + fix biosnoop after kernel change + offcputime improvements: use less RAM, add PID/TID support + Add perf_submit_skb + Adjustments to the documentation + fix build with 4.0 llvm trunk + frontends/clang: Safety check for invalid opLoc in ProbeVisitor + Tool to sniff data contents before encrypted with OpenSSL or GnuTLS + Add bpf_get_current_task() helper definition + USDT Python API and example + Lua Tools for BCC + BPF: better format for `ksymaddr` + table: Implement a StackWalker for StackTrace tables + added percpu support in bcc + Fix error handling when attaching {u,k}{,ret}probes + Fix python3 incompatibilities + Update headers with 4.5+ features + Add v6 headers to proto.h + Use pre-calculated function addresses in funccount + Add name to address ksym helper + Add a table.zero() function to bcc.TableBase + Enforce limit of 1000 open [uk]probes - Drop upstreamed bcc-kernel-header-search.patch - Add bcc-docs to collect the documentation - Add bcc-lua to process the lua scripts - Add the license files to libbcc0- Use the upstream tarball and add the URL - Amend the description of the pacakge - Use the right group for libbcc0- Remove "strip" from "make install" to enable debuginfo- Switch to clang to avoid the c++11 tag issue (bsc#935533) - Update bcc-kernel-header-search.patch to include headers in /lib/modules/$(uname -r)/build/- Replace bcc-suse-kernel-headers.patch with the upstream fix, bcc-kernel-header-search.patch, and add "-DBCC_KERNEL_HAS_SOURCE_DIR=1" to cmake. - Fix the formation in the spec file- Update to version 0.1.8 + http_filter renamed, README fixed + Migrated filelife to bpf_perf_event + migrated to use bpf_perf_events + Migrated killsnoop to bpf_perf_event + Print traceback only if verbose mode was requested + trace: trace function execution with custom format strings and filters - Add back python3-bcc - Make python-bcc require libbcc0- Update to version 0.1.7+git1455766673.13e74d3 + use __builtin_memcpy() instead of unrolled loop + http filter example + Add bpf_module.h to CMakeLists.txt + different man formats + Fix segfault in ~BPFModule on syntax error + Add bitesize tool + Support array and pointer types in scanf generated function + Add biotop tool + Added memory leak tracer + Fix python map.items() racing with bpf delete + Don't show allocations newer than a configurable age + Add bpf_get_prandom_u32 to helpers + Added --stack-depth switch to control the number of stack frames captured for each allocation + Fixed long arg name from stack_depth to stack-depth + Added option to display only top N stacks by size + use bpf_perf_event_output() instead + save one bpf_probe_read() + 3 tools: oomkill, dcstat, dcsnoop + Implemented histogram functionality, including strings; added examples + Added ret probes + Renamed to argdist.py, updated command-line switches, added kernel probe pid filtering, added verbose mode that prints the BPF program + ext4 and xfs tools + tcp to bpf_perf_output + 3 tools: tcpretrans, zfsslower, zfsdist + inline C in /tools + 2 tools: btrfsdist, btrfsslower + Split bcc/__init__.py into multiple files + Split bcc.table.BPFTable into multiple type-specific classes + Support native integer indexing in table.Array type + Fix breakage in open_perf_buffer + Embed runtime header files in libbcc.so - Add bcc-suse-kernel-headers.patch to fix the kernel header path - Drop bcc-workaround-gcc5-abi.patch since it never works... - Drop the dependency of bcc-devel from python-bcc- Update to version v0.1.7+git20160131.143df80 + Updates to use cmake GLOB and libbcc.so.0 in python init + Add decode() to ascii string in offcputime.py + Add libbpf.c support for uprobes + Add python support for attaching bpf programs to uprobes + Fixes for address calculation + Fixup objdump calling syntax and add docstrings + Add uprobe strlen histogram example + Update test_dump_func to be python3 compatible- Update to version v0.1.7+git20160119.f50ca1f + fix pep8 lint errors in the rest of the tools + Close fd and unshare when public map is destructed + stack walker typo and improvement + optimize code, remove unnecessary filter check + add -u, and change from 2 to 1 traced funcitons- Update to version v0.1.7+git20160110.a0aa7f2 + Remove runtime dependency on gcc stdarg headers and make + Add ability to set custom cflags when loading programs + Add ability to export maps, enables cross-program sharing + Rename BPF_EXPORT to BPF_TABLE_PUBLIC + fix pep8 lint errors in biolatency and biosnoop - Remove make from Requires of python-bcc- Update to version v0.1.7+git20151210.23b87e5: + Fixup dependencies of bcc-tools package + Automatically bump memlock ulimit + fixed bugs in control-flow generation + Fix breakage from LLVM 3.8 API change + make sure LDFLAGS are propagated as well + Improve json type support for misc struct/union types + Drop broken p4/docs symlink and create README.md+URL - Drop upstreamed bcc-honor-external-cflags.patch- Udpate to bcc-0.1.7+git48.g1c7debd - Add python-future as the Recommends for bcc-examples so that the scripts can be compatible with python 2 and python 3. - Remove python3-bcc- Update to bcc-0.1.7+git34.gfa9684d - Add bcc-workaround-gcc5-abi.patch to work around the old c++11 abi in clang - Add bcc-honor-external-cflags.patch to adopt the external cflags - Drop bcc-fix-packaging.patch which is already in the tarball - Amend the requirements of python-bcc + make and kernel-devel are necessary - Add python3-bcc since the python binding is compatiable with both 2 and 3- initial import: v0.1.7 - Add bcc-fix-packaging.patch to fix versioning issue of the shared librarysheep15 16172961890.19.0-1.10.19.0-1.1bcc-docsFAQ.txtREADME.mdkernel-versions.mdreference_guide.mdtutorial.mdtutorial_bcc_python_developer.md/usr/share/doc/packages//usr/share/doc/packages/bcc-docs/-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:SLE-15-SP3:GA/standard/eac4487179bdd2cb3c646451d7ce8905-bcccpioxz5x86_64-suse-linuxdirectoryASCII textUTF-8 Unicode textUTF-8 Unicode text, with very long linesASCII text, with very long linesPython script, ASCII text executable, with very long lines+^$bm:]utf-8fa9f0b110fc2ba6a05d830d8d99c584d76f971a600cfb1f8a762aebc152409a3?P7zXZ !t/uG] crt:bLL ܰZUw=;@>Gʊև/ 5>JTO d*%jʍE鹇V[w۔ l%MGNT|{f415`'Mu3U'~K+ CN袙VZ8 .&r(45}jzV$M}6cz튿W_ZjI^rO V@}R lmMd#w77> OcgWa[XB03Ӿw чue|W~ArrFՁ7_ Svd2b@%ziN'6Z6YQE=c^8dd7_+ɑ_ 5 ֲoe}_F8O<0VMj X@VO7=\HAxn' };uVyں8oa?IϱkIQP~=|F#J"L_Yȋ.h#hJ>{H⮐!`gt>ܷ|>'dU*|P*++Jjd6[QZ5J,Zy Sz-.`J4Kil⢒D#,m>H$=~}%C2!xtr oM_Sl h@?SVnj(hx(3045)]t/SjX~"Lv4 +/HUpEiEt^7yVk]*m_ R5h*1RU_e#v%o3b4PU9xQX bD6bC}Oa9ϘX5nis(aܑ+O*ZcBaP֟@F^xT.3חy1,IPwY"YPZ䄹>|PnSPp/@]q7J ^P@xe]ld؃/Ui0(< )\B'ٖ ,9Dul tq#9$1AP+ZHuX<= v5s5Q`2kw]DN'C1YJbsCuVļ3[b-~ӰE$ |]Fcde AF>kU6X PH (u3S9X5"`}~ Sl/gƄ&)7vZB{ rxf}/͞wP'F6lu*Y FnbƱ|W HU3OT$ =; $!U:KROpeac|͌D Ny/z%XUmHKaإvnSV"o\Q)f$x=ɨ1 %|_ad|ROhGKu9;`oD,Ld:Nxׯ=-ZlؙyyƶDY/t_+x-4#{QoU^]$k{()9ۀ^?D9]L5[Tc(rhfpZa܎/ɩOߔJAEzTȵd[k.{t0})7G^m ao&nt;VX!& R!(ӭZ Ecc>z(2$AjOSIX)l`'5%; Zτ(˚ߋL*ޟmY:E;c}lV3Ƅ v?*xJ:v ke)g=Z{['HѓfJp$8ƥsoqm=9@TQC~ӕB9kkOi'ϛqΧk'FlZ[0j޶)>A;A m֯k%8㋳_mmJFF_acaA']tK|nqp|bk3@ן^Raߞb޶eGtty3s"87GO1Bk -]H+};z EJR ճ@-ɳwpƾZ"jst^g^\' FAn:UGpWvy\|{m%0}oQ֎H8jVT5WnD?uOrUX-t*4d.Gn$B318% !+۫Vk*([[hH-0s|wE(bʶXBі9V-˒mAMz{;J$5<;diQOiMQAG9 ^e@Uޓjv>&.2@JXF@^%E lA) GjC/JdճR]|2H"J . 9c jvͧE wo/peWdg{_BԾ"sQ#|{xpB;lYS ~zz^ $B5cTDѮ @b6MNsO.! {Mdlo $GV_UX?+UJ\m$e颴AX)@S֔4XPm߆,qb@7J߽)~(彴G zl(<+>}umFY"Ґmv(S@ M,No/uS*]^2S{r7D Ç(Pf7B3Av ҲV&:lF4nEv#'4KczMjSH1B[E#F;(t=N.٬̜ ]DN3->ujuݪh1|n"$gQ%BЀDJ\_k|Ѻ##deZcj+lu ./vndcYT] `<[4%,I#qb,͸tEuX`'Πu/X9ǝ5v"PeKF^wB]=:%Nu$G yFXh 1gr6V?U2%N{QF9hy&(덟*A򌴝]vRw3(RT`YlPζ=%-Ntٞ[Ow j$-<>Ƃ8 mbfj3n  " CӓiX& i#xZP GUQB`"D!@EPtׂMPhJ(.(8par`T>! lZ" 8.mYfX&JtƝ`\4e57vg uM]ix^AS% Ъpli_Tm(*oE%ԟMJYT >ב]T]Upm.C9eO~z ;تE7.{KDI3[Ң ὞h`u3>zI3QLNd7&')$Ct$ઙ鴸ڀL|vr M02Rܴ8Ql城TRvu xYnUUd,13ZaegN ղ*ZyՇ1tIL%Ob<:û?N_Mηw90M&au*ߤT-FZYAxO6sS==Ee _bTûQosҡBX~ǡVU/Oډ.Ã{G3 y J DQJ]nuP寿0.2yӍ홬sW?uSe S,0Ⱥjg5::~iϏsdY>x J\[I2 % w zEH.1(G[xF fLپ^ ~\U$7K$VStX} 4xnj|l $(v iq/zc ۫F(r1\Knݒ+L0_A7ˁ{/[2* dJwi߽N>&OmYv.? YVT=[um" )#ӋfL˧4흧zY+ܕ1ⱚO:R%P6c@Y{~%/Iy̑eSwŠ>}dg*{47991Ag5e=,]@%2O=1˭oy5MA}@MOc8A %d=G:$\?Pg?~N9p*E*^p6Հ4:H L3>ѧ䇼 -X?M`q[d>}O ql@6ȕPGVT\=eSEڰj/{.(F~F* 2e.,v6m^vObwfu}-s g_էqn@E9 4Uu߅l1.,F1ba27!Ź;yH fY,@T\reiL7J_fEMYzD:lRfJґ'@(oEaZ0Ԅ?Sɗ-k"d̀ވa~S8:s>T7Lxsvٲ12zB?ɑWBDxǯD m 6)S Z% e2=BpEnx,3=۩^0AB\x] ڔIEŗV+E'y1Z݃l<O=g]7Ma+Ė~&L`y>5|Q?P/6/^aKQD}űA6q@`oE{L.5⎣=g7sL itqS.>:cY=f=G;h[_~->͐axKi#%kCsԚ܁: 2۱nx2292~7Ax= rboT^ h}4%mJ?qFkvl^,o{'Ɍdo!cA/i(=/5d*tzj'Rv?Y7+<;-ʯ{4.~_9ٍ?S>y橆'1zs7+J`78lZ)(&`^ˣ :M ƍ(pZH&n^+?}a&^O^6=>l˻.Y UBm.ONa2EBT}!]xeѲCJ&i@~9D{76.`ϊ?pQHfW8 YJօx|O<#)e х@>w rF\`6w'xcxg")L!=S`ʩ&,VbK}LwL[>$Q5d.+tjw߮sX3-qܬΙ.Y ]9v@/yGo uŏ2h E#mee&ʔI&B6CͿ0Jf&OƽZ^tPCNQTJZ~Z8ة[zٷZR&]@%&滠ǡBfeF*U n 9.1Gۍ2 ]hI=6.0G&n<У]Lx!v I'wӢ=N}\V%wYψp^Xm3_Ll\ѯ- ?U|KVdYe-+rF.g# <{K%$'0m#HXPP>)x-9E` CCD>X.ڶC <`t%pdX vJv#sTi7LZȨ?e KuۜXڻ㰡m706:@Fܔ(H쓼>T77FEӷ& l!A_$"k6nRjż`R6{թmb滞R6-r?JJqI{0SRG!'m7R~Dm{Nw/.E3zүŜ(o$0'9s\8+)ִlb~u(Wԯڭ7"v䑶Psr,OpVs ,C: $gaǢ0UK4m# #Ŧj9|-iܪ;?i5$e0F1E3hȯvU~GV]-Y6ݪe+oAyV_U'YX*(Dg;ay8q~w\Yg_Lg3hԀxuΔb$-wOq$eSx1A8[lz^zyHC0 72 jq4O D&#;&mX7k3Kf-;E>8+7463sqM!/ӿbP.֗]/E!`}~zrlz`|{ywcsE|4ۚy|+g>魒 Qt({2! h;0~.mYy/A`Q@N |X*\&02t(!,è$,\ طW-2i^ji$6k0Iv]\M>P*bŝO8vȞ~2$]>fb  OYk]Vd}Sve^lFҤ7}M@~- FMWMP9 1 /t:0c {{627R.>kGN:<()m#|,Am>fe(6A}q~u]iz  Zen, H$i͵6Dȵ^nVomڵ?=UW-u,O=w`Wg!mep58T?dcYK ÁҨꎏ g^3чX3?!~GB""%>T.^2fة~A01O.J'`+hXx<p"1AʻH߶z&6 R c}İݑԤ]p ӲvY_DB_L'B%,`QR:i#OW9[ 9 fYm~i ܾ1;P@GvǐI'}_msϩe`N%3]_.`@x: I{-܄HRִ-WsBdn[msoASp0+Pr0 ~ hG~Ƽ¯^c8z:+< rVƮӐz͈G?y/L~;SVxhI6%0N7Iwz5X&~PF*փCuvȦ,r`~ [+ޒ{2-cѤAQk2Q@h cHqNh<>n8=cNhtIGaLri\{ͮą0 4b/)y 0<+B0~ L4z`F7 p|"=npg-EĞiK87OLXL^k6A,^7YW0Kܽz7Q&x|}'ɓ7P@Ћ.JmFe \@2EqB:+B)&hWKo1pKs&v*u",&ԀiXN3P"GLCO@8CL=UK*QG;e,3՛'}7xϻaW6mkzw]}7jӤQPC=ŝ4oX 5U$81f ;ti}{.zo+mLmNOؠ@O(NwG"?phҢSd.*1qGyD0KAIn9W|2O6Ҙf/nsm 1a&gZ8ɏWYŵro:Ca߅jSei2,t7blWՓJ E.&EEA'Si L$CM9lYP6R"NAMLa^RЋvD(e7X*>ޓ2[ɟ!,#Y17 A[zVƲ0Vꉮq "gtЊ *}r/hq#Bǧ1 `'=ѿ7p\7w)epC`o0VN*K/ IǕ- rR+V4uG_{'եL{$[yL=c+ֺ5Ut= j⹎ߐe6҈|I^lOY)4O0}Óiń=mmj RUIO,1c;䔻OcCZ"@XdTG?QUo*^C" 4v__OӦpJd*8(k+uUwZrC䃈#?)x~J'{0X)>*`pSCYQ#_.8 ^ѸZqBGoô[ߧsZ)k'0c_OՍMoseLL76?/`/X`.ECBK2Cl .z!|°/C%덑JPvv;1yGatQ0NanbLVceY[oycvINʳp7Ia@-TG3HA[G5 va*b:=r LԝxTjy?On9737!czxz^` +Nun}XDylUu` 5.:9rEw![P,/R,^)$c9rzK-'8՗k+g0_mVW*jW:hf5Kxա c6=.¹,^z bnq(A9̭I{1NPOoUe_v8DL׼[@KYuD1>7@$ZxdcU!wĝ]giZ jiw]GX9Ev!ݣDegJWMWMrYDr@C=+2?ԯv5r]FמؼXIxs`2f .'] bOxCvwӂ}ϯt"$1:Y}rmnvZy$ n-TLsgӐTn)jӬↆ͎bnj/ó?e.3=WG$@Cdˑʥ it#9|֯bn&"o;E2w%DH!#Z*֫N@vJGݯzs󩟕 ~hɈ a~hA͹NqJIUS=)5b'B28G BnEo@u/sZbzCfo`Q ZjAx2$ ,.J2^H)v5] V8kՂ/'%t]eUQ2)yc+0h5k`]5[kܛLsGÏ$e~䚍AcOB,+ rIO@6Ց(ٖ=d!}tnQP?Uت}ƳՂ#Iy(֦Q <;WPڌxݸ A Hء`FVo-C!"ȸ6HC|IO~%F=zڿYnni3_'$}1cKU( 2 oau;"3Sg1l3A/+NU$,6gm6cе\cP-P1Rz! U`U)`C&&gUQf:Ts:s~W! D:FG>в t֩qR8nt}۸YϬG|H; g$0.I?Gנ|Du( MAխ'P,!'yK!*S*.umk|1FU trH#6@OYh2d-/ӉEm w獘`-(G41zѷkێi(;Q4'7Xa*M 3Fk{IC5&x-⭂p,;Sw_]H.4UvO&ml:~kytvѳ}XT|4eMm<܃ԯףU[j6T!qh> 56Fב`os I]agA,,w:ѱFMK4^*'LCU-CJ쵁R7aaۧepsLl^.W)rSIr9u<`Js­AvgպGXs'={l-G$h7IMv=!Is\(Nϛҏ:Ż+0t5ѹ-xh,WuvkHBFE bű"fQlG3Y<E`V#yϰҗ!]k}-X(a:p z:J I0 `Yq+8Ul* 1kf*f ŷ˥}ДVN:a]}'| Z(il(cQÕK@Hچ.qq]>=/.&ʤ|톳6=$L1$@"Q\J;ё=qy'JU97a4#+.O. aj6/VI9 SÄHh牷9>^Yrm4hQchFjo_%XO0]ClG߼VžHx szo7H:A$q[lt(3`F!ђMLTţUMldyk-qCZyTRZ8¥ni6#<`Ov:2ь*-B\(jFEc"77..% `P'Cۢ},w}!mݟsaSFXE/՚l@a{7+ErӬ/C xta}>ԥŢѳjfp蒿4 hh>m1U`Pp7^ -S7:" ?`9 ]ɢ;VomF)iJEMɸ^S7񉊽畚{IKTMg> =Αt-&RъVk<i=z6z >n%g :cϟJu* g|#BOC4`כK\*ޓ[SE !<9,Uy|u=|]y[¾cݻj`Ϛ%6 9ut4.zvo~o"gMw*#oɎ ⶶ4{|q__5Zsֳ SO>y )3~kO׈؎TkSʮp[.mC5ƵGZ:*$Q~^q⽃Ъ;ՓG3 ;ac}~]oAj`8'T*0ԕ%˧mҚWN4Cc^g&j _% '?E-.6\L[$;<8P+b_h' BˍC%Pei-G9 OrSĽ$-#1Q`69a3 nNs;8$p?>)hgmvE-}awޛl@ AۀxmB?C~uYߑ7$$f"`c@S]kP8tOꋥU 'vޗrIlTn,'(JUk&/7ƣL,ł?ѩ*qtWzgdi2&v24I YV3҃RFs)<(z2I]b@v[1aTnֲC砄ّHBF5^KLuKu_zYM%ʻ'DϳzrzNrc Nq.YCnr[&Y7˽2I:}Fb4\c4m t}ŭ3tG˼(`+ׅM!ӁfU|" s ޿NwQgi}ݎYq(x g`g=5 X)"2Q|&uJpp޼QhD ]RYį~>yQA4G)Yf@cuqljh%嶠o}^K)!8/=^4ӑmt xwaoDtܭ,@L;.k yY)>,TqI|䑧r7Yp="}:mGvPi:I]/oTg&bafܮQ-W`S0WLZ24)mĊPO<ǍtwOkw|aiZ֜| ͸c=0 BBJ/p>d"0C%.΁LɛaA.,vh"퓼F10HƉT[%8[39?,j] qAY̧Z&Ȉo}Ga:AH1W D''TFM 6{4ŷ{}]]A8r8l^$ \Lc rP+F*uhA ~y( #_X5!ꤲ?kꄔ?/Z=(F]gM?=6/e}D8hA˃{/rixE)$tSh 7E2&t"?[>’ .Tby|~PڢSXSB, :TPN/| s_OJdb|!鶾Q Bʝ3)28)wKހ/P;y,Nhb[0ZۛAݢ|RKiHy4H24%oT!)1fwamYwEpE@"/w ܻ'Q^,[#N`oϔN{4XI☇^ ^7_ݑCg%UqS7|ض@S\1dOY­TLA`Au!:"ƀh۔&}v -8>'F[(|#cl }> QqFH*՟#6hE+vK$tN5+Ew1>P.s!X|j7QoZӣXѶy.id=Qh Kh ԧ3` DpNyĂ[ڍ+HֲmU'FXI9dlrIt1pn2IUkwT$pΕ4ޓpGHkdd~]iasxD[G^!;)~ vN\~ Mzc-ַuc_At;ǃ9Qdy@VwɤBr71c <6_5/֝TATJڟM `*r^r),t5w<:r$~հ?Xv[ |Vr^AT%)IݸV5X \l"5IU@>j1Ql"O-6-_o%|tuX}pjnN>O@~˩Ek#(b38U"OQo(ZFg;A/oUQg"j{[hsOBaz{kRjwTZGt8{' &WS [YzUhՋ/=CEYh%ޏy18-Agq3rV&qDHbyxavCK2:ʖbƖwȢow)H]*<5qLJ2K$ڃmfFx5_) Ty:x Zpo' ͳ%w[|ERBîD=|U6L.~u[x:݌tqަOMO ZztZ+'KWs379c[AJ@ d#Y;a:߼#Yk] ֯b9nV:i?fǜvfNR$jYOΦė R X&lG33j\; Pb'~^,Q͍8k aVjey|JJwʹxsĵvQ €mj-տ +k|8@*K1w.2ln͚(o]Ц̭U2Տm.:bhuCRWAo*ioƒAXHU!L]ejxr^[t%Jʻjg Lc"'Mꪄ%QwW5śKHnj_?YSùMtש 6sߓJmFPxX;${&mLi}j. ss.-LѪ0=mupJfCU~Kf ?1^{qeZ@h`/viO$i_2 naFC1gx!~-şW/W+h]55A늩|sN~hv{u2 /R&\K0H Kj3Rm6Zm/j?U:E@X cpP"f`InUsgĐb;b 2[1a9duE/c9 $66XbJ(jK.O*uo>䴞?|pvhQuG- Ⱥ)M6z^d'$smf ;a慄ѝY"RDjg#BGaBQCֱ">qM(܃,ɴeIB !A-fdz;R9:R=r# P5>^jYQW9n_-B8᰽lӺ`D2?)ORv\a ]@wb$!7jixJpp GrJ _{L@OH[y?8TQm+s]&;g6D䘢Y-N> "VwU)3%kq]=}Hn|Pa>v[grb۱R!)H [Sh}%FOBw ~S7s͘..9XMf[4>p7L"4H(8p<4`,} ٶ2$z{<== +=/$r^ޜ*jJBҏ!~k$xv ;][ׄn[T  It `HF+`"Jifh붖w>lWWFCUx Ypj569Œ\ҎWJt!XH?\mrcB.AS3}#3%HѲxhpȏ6is6}U>oD߫}chWzӼ!9i{zu )DvY{ =g]1#3P~@^jht> ǵX+,:eoB,䭐Xzo?b$+TJNpp!߶tKV`nK5Tu5\il%β 梚 M:@P`elRfZC8̲S;RҸ'D1 L&hl1LG\6y}*JOsV )Q(dWm#UVa:1z3#ŷl(>H`sEs)Q p[R}V|e1 1)ٷbd5썱2( TKݜ7U@-f/Yک 4Hi4!ɣ\0yHa|p>凌Wiȁ#LGkCߪ6^b3Dqvdf JV 1_PJt>1J3+GO ik(F|"tj Us8?k*pa<5Wʍ~IXKy:d R55WPtlhOOK;*T6q0|!F J_? /jÖQbd "g^^V#&f #y ^q:[+bЗwIdžQ8@,mBcՖzaPy*:Jaj'ڥwp/D&61}J/ RIi+OçDͫyXnqKƣ]p1sqV8肼WSon ֍Imuպ$\Nh; C<͝52ϤO0S6X[pc7:{S8M:W.p+1WɆsZ2o֡x!tX8 ^)\W;PQDAPCK+0b*‹$jySVԄ* mױ>N+7p5x(&SLWšw ZU&[+uABm`prJ]0*OGtTS=[]=J0ӽǼþr^rF5MM2>q4J1U2Oifss=ŰlD(:ٖ߳o&x~0Kigw1|^A,_?;ՠK+2f'RyQx?Dπa 0eTڐ?C̡m>VLJ@yׂagaS.ꐈLuH])nXu Fzf{LA^q=zwvFS$~81OeIe/ kg D^w_8 \}Dv).9*k$|M) ?&ﻵiG:c4XY.nt*8X: ymT.ホfՒ%>nʬ79G GOIB*E[Y7i[+QKI~z֓J)Cfy04!߂<]c#҈`YO>!Caބ xvNR= pAmӗq+%.§V3z:yMbzVAu^8Fv9CY ɉ 9N6[i>ȆQX.(c@ۺfxB=,.%.B|#`WL\yB]A獷#Aq~Z9DtaƣBq!+Q=ޒzv\*f~ cuuslV؋K29#I VLU+w IS&2nIġX=q᪛~e 4CkIu2*V+v+6v'~4ǘINWvToNMW*6~M)Φ'<65?tp'cy*  ˙h,CMVHe=GE\7v3'ET`+u3{[b eV+@qR҇K-ӓ q {P)gL-8bXN*k[5]Vt-Kz斤I zZC>vC"U11eJ ֤!ݶŖJ%'S[x@ɿwJjtf'v̶cYD0?>Ԧ-d_KiVPĹ!-<:HwP-)+I=t 2uy֘v"xߵG쪖(TN/(W5D"F6^_Ow-}䲿 覩􃫱wJzGըwJMOzM0=EV7>j@@Ir3?/bjSfDj\xe_J?m3CMiB+qVJ SM,MDגǖ"6~u y1k#EdRM-@W)RQ'?c:>^-1;7.4a.\͖1XPF4:zMT6Ml\sߝyʗC kPo㯋莗8Րڏh9yw?Ll|I&TNm-@?H S1V*jF$F ?]zduEY!, CƳ6íCUҟ>nF)ʂ L0QGR *Es=hi1yls[7N*6 ;ii_z{]qx\Ti0:B?oַePLX6rw7挌lVt&8-gCyU]Mg(8N~.+^*[M<<~_=? Ɖ[&Y)|׮KH9cDb SiX\Z *3<J!MFApT}K)Hgt21{NJyuL cVۤ.D5oS8*´GK]_{!f `%"uiv+OH- /`LCXLf%aM[/,-A1|*;wݯnmpO&هm:iмEi+ڕÕ(g;ynAh`AՓ 4- LٝD%+v$a `/zu h.rrsmWsy!<)PD\z%v ĸGMdǮR0[&lj0o >Ts $HJUVs; OV ☌9_&{=sʲ}J"}F[t ,MKт;NXӇzV u P&&( t*Ի\Y:Yn§5IOVGBWI kSz'0]R24xe>Tﶋ"FJEd`1G4$& Z *'wD7_h),пNVX\7"|$ZǚkY1 ӈT@H+{ BbSpځ)rsۛ 2`VVٵ0ܩ{jJpPB$Uš}rpԮV:_Ad&jWG?u3HlգiSvgF(@˟hl늏p{VG< 5-3[-%Wdnt~>sDEX"? m2K`l`ΡP./4>㯊:9!4zX $)r\ %00[G%Cl8@`:ޭk%i7:=\Jk~oWmQ-﬚5?? d`j%}ōYeL-A?_&@s%(|ϙ͌TW}#@YJV9W0#/V׸ 4֐R,^R1iK¥k (\M0|PWip*g<rt{1_pٜ]эn?ɛNTsŪz\h^Fq6PFewCnFż 1$E(<[ ֵIVB#[Y׃7@6[@}vdB\/mPE}j3Nڔ;Fف8P=e7okddcXBq6AXC*Au+\  Izt P*uB"-,hAvYX =) #טV kmnx4%4hO'q-;"$>4_l(⼉ai g8(%ZB%E[Wypcò-' ^U6hTG 6T5"wa.YXkONmT2>T2?ƦPB9c' 'TN"|P..6rϲ($ڔ<' BQ}eÑ}5 ³J|9ߓ#-R:sWx ʱ}.gFݡ*U{떜%mW|bҹmvm>pI6kk]h`Q?.85zOSwG&ݯJ$`N_MΨLIE@,5_ 47޴&PE%>P8ZSs&nS;o٢U0>Z/؞ Npq2szLYPG"W;H1اE+TarW۝$fc_'3Z$}D(q6둮,فC e*l0 c4F8Y`msMDk6jEѻB'c@Y JӢ=|Ah\4{|T|Zc 'NBns<>I8p4UXo?5'~Axzfu6SoGlK6uuw5_TS0M:n$e$?%V g|I bf[Or`^sD]' l>][Zz IU=T4 "æ/ox&Ki \`n1緓bMoI˫DuQ3C؎_n#h݆Tx8\ex)sWr(x H#,K H`0ZP@ 7i8] !/y]q,y)@oMIb_a^ }2?$(ykwR 9#wʋ;6:^w3?dݽBΪbd߄mO*(+,4q͇- 8~7JFAKJbcLxCm3˗(ٟ D,@;SȨM."!) 4\PZs#~L q:/o(!5hU )Qk@k<->tgSKx{_"pZiZ;f@7ּY$dԁj F?[N3̃Q/%"z˓tq$${ݘK\Wgy( +*FD]<^! ,`% ҜG+XɭO64]N5ՐQ߫=H9)JM܊v`J^H˴KC'FPy=tFa?zS%W6HJ&ګf/8 Q87wPQvdw,@ A'y/iBS$mWLY,j;Y` % a<AM{P `Հ2,/TWBȎ+{l`$.G6qjf&X-C>͚CMBq@HnqUޔ>WoWǜNx8v"R3F ʷs~PI謜F1> %/8 OCm@H9ar)@zj^wR[gP`1\bgøAwKx'E-#3]g79ŷB_6L?DآfrB͇3Zy+ JeNXZi'We6 8W9~::0,5K~6V*m>qH~&j] AX*am!:v/w0S.+U*=r L}-)h ҚK|7lAbjkk0fj0 >2҂j*}Cm嵚 O͐t3;sypJg7 .S9zqMBqHũp6L8wD 9gF{їL.U@Q`l  2}@j &=GC]n֦(d^Y]a#26( g0˘6Jo[qy[ۿVh9g`N?tN7qT)sR꿪If*axÙ.Tfu:);;5lNB0&`/xۚLc;7Ds7\x0Mz`߫w/ѺOZ=QXG X }QrIx=gJZ&l3.&3myS~.5+Ac5d+B 2!4ۏIY\o̒|n̫+)93=^/|,$K[q$ ZDVㆾ7:qio+1YN=S^E='"I}-}i7zGm/Q%(g魂Z!:Q匢/"c(5~= []*)ڜ'` lwLaݪJ_[aށCjô(16oTSsnB#^Y?ɔȺL[/䚟rF(ʜ&L״o6W,iC(z HZϘ-Qd=wPgqЇ:UE0L ?`v1 x"X 0r^=zî{}PWܦsg91f"8tI[ ,n, Tjn8m=h~: QF4* }*/mq5}~(ݬ͗RװS@( ^%+!I,󨾃983^\w8X"Rӹ`cyb} Oƥ qM3 +d'q9,S A\ ck=y<5+}8_(vAЋܣ}%O3 FG᳽ -M w#:{'FL~sa}X[ ;\[Z֥>@},vQBbG,@P:j2.Dۼأw2&ËX7QdeuXq}Қj(3K}R zz#KD@"2Qڋ8G_e:WGCZH&H5p =:+xA`jQ9nn*q~ݚQg w[7KbJoO :nI"q\fs W_/qLS x:\ӚYˠҾX~,wxU+ FΩhMqLCޫXveB)p3ǯW@Fm`.Aqs_wdHD~-2:B旁jkw#Qb]vq\L՜FyFS0GD^%uk[ؖfqmz9F'm.#7s.#hC~i0el-P̆_ 6/P6&.MG7HqJn3ȥO6ףmCjx>/kt/R2'2ȆxR'aRv:|>lB7̬谶I6LqhzR54g"PDKG]/^X*_Yv+==Qp8փɶKa 񙸷ő0 7?;Qe߱g-&vfq V<7ʎ1N %tA:Hy\Jqkx&19ԁbOR+{ d"ӁbZ&=NZmx={ަ3xQ^1Ȁ_8 -'(L?NV_4rCw -豮jȃ ~"gJ Xbl E70q)Ȗe%Kϼ@h.,PDs`U]I7KRWO~Y^9.H0! cIV8 uOmUCXFf=X<[:L,5A#Dj/M e#Zj(,Z7Pp+_SFȫǪw#Ä́bDU2;Kv7wÉ#=KL]].EzPY\RtAѭݥL =5ZsT$>8ƎҢU%fu$d !r+ 3.JgЉ2Ni v2cNH\>> k򾐣}m)(ePoB̌^M8nlo""CϬw]l$VZ@yLO!ntTbg`CjMxvMZ?/Gb#KL'<bb&N;Xd"%I&5)%pchufj63[ -[Q/ &o+)⺆9cw"..1\iV`8cc-)I-U}4JtU+}?:p7C3@=y|IzҗqX!Nl( 797I:ͩ3kOȒ>l0lT늮U;lOl[MT7bqűnWkʸDy NLS"sB(+CGtׇAlP-v[2ٛ6)GI%!~R *E)df@*Yy6Nunx? TٮP*IKbm%ڶ^I-lҤd󹮝D瀢RiFA&7dǗ^vk k0Z;y# U֧_bS78K[\>dY. ; R }|ӈz~xQvnJYЯf k/&R:9_X^d˨bۀ1~o}qfC:?v4p9O@h)\3 3@?뢂T|Jn'9/?*Wkm!?Va3|,$_jD>}0LQ@ \*ϥ=#dgP5cbL@E,oP$l?RpCX&'kXNxPӂt4NzGF@R81VVg9&<9=ϑ7ezӴK_8nı ԜK|B%S?r?MEXUM֮}yYG&o]/wӡK gvb wqK mfs+UFS.;%L?!u֖n)i<%d>-.v!n8toSPL%gj>t޹X %87/"#0oBibʁ]/ ['MI\?won>?iv\ }GܬщOJpO{..7FRGuތ,(0 !<<&2jL7;_phϬw|ьeتj~-YL{`;I!^2\`~;z"dֻZ72Zʉvh]P.SގSX ܵ88Ӈ-gnS!'tmc.}n(@PX/112c&n-C%>AKMpw1yywpBʢTE.sde6u.muuml9!>len0Ӎp^;)~%p/T^E&ۚUT>ͪ;POit Lr* b'⋰ĸCJThCc7CJaQJLK:1םfuY+N<E$^7/vNuogdF'2o_GQ^'q%$ ʃ.yd{thH4*ҳ>r.?ʳ܋GBM5- 4hI< p %3+@K `SQ^;S'VWq|.Sc'h`ލo)viqn1\/jl'ܭўCyT^Gu&iD$E$]׺V ūG#BPl9|b^j>Pyy3&">qOC·."UsQkLJB3+h,*FO[=k̢@N^=xWc*Q^Xq AMܣi!i ׽٣qm5-݀"W/Zm*~WM=+ߪ(wnQƁ% hGR@"|mG^P`4|TĬZr4ƹsXJnvp}78!6'̰0WX|9"ȅlkՕMZƵў 5ZKٟu*It6dQt׌-x1/ a6 T2|/VJƦ~#1E97-`G%QI͢\ah4q~!Yss*Cm zu-/s%^ڊ:ϖd<Р4V:⌥5^e]JH{qҜR9UD级~9LItӁS < b1Af1#ݡY;1't[Lm ) go g8'MqnQ{L Ÿ./hkaUjr!lrg 6ʍWU1T<Ce7+h_}دl__n$ӂM[{}Օ{0hJwpbۍmHs\/v%Ar:raP$Hpmh 8ZWqW;@&r#H'X'mfgƇ1]}'`>;V 2Li b `Qo Zj@)w5`**ou<5 X॥Q(H=3=bth$>K&1#yQZ 8qO2$/629D=ۘJGj&ӱeH=vcŊHNkt3ىe`e8"PP-8WX^z\lwȌ#ΟmfpJ/&bZ,}y܎5 >1Vn*Ogܹ L lGؼPt*/׺qT1мRʠdU&e4i}CfH-:4],SFd0N $ UIEGEjPvot 4AtS:#cԢu1yOw6gtmstfһ(8*'gvϫU+Aao ' PePvӤ 1? LN-oհE;(o1imftFI(CN̷w%@[9n$[zDU^0tLLE5 }Mf꙾.\2|'ԅr_?Pax4sJ/Ə+v1݅/odqv(sH:Rd20@ )Nu9̒KJ|%?S=Mjxbx`Cp #Bw7 ϼs6S獵H'F  ι J_<?w.,ŻϵکP)E>{ cS܈=aP`kUC09-(yTddtw!4y-QX#Žnu`Oa"G(F4;aX++| [i Ä 2V,O_E,.G; ȱKJ9'o"R Tvij#Fޗ)i(o8vtRFOq4nqSb!E[&Q90 -W'L 8v3 ~:<oU;SX0*q땿d1#VFQUe"rxn|uܡ ׃K_gk,꿷ѕe`>J\ OY6Lòz棠*:,gicư!t ݚC[) `{kU˶\b)ztG·Fe0Y"Ĉ">(Q6^^\]-盕6}b6#PrYp۔ZU7p'0 (Y ICčw%9Ak $TzE4(C] q뽎%K>J͌w|\L,nԖ $( iGWo&iN8Iz'A`swv qYf,suӭg JYD\7+=-qU0Н%r۸M9Yz%*6"yf{~Ɵ$ ʈ.sF:z `HqYY}˯/}RY6~5#UNxL"ܹS&3p4/b.-35GJuGB7aijv5q !\A[uVk!wGi"Hgh/yV jJ9d#Zm?S0^6{)WϷ}p0s6#}XpR9G]%TUO ԬOE(0CU6"aP3mW'r:FAгf]U{n?ixЏI%loj[m~Ȫ..Uro^\b44NTٔ0ׇVqs%ߝg%ʦ?pz񫍲u%J=s1JH ?/l O\Y8uJ}]=]e#i`DNFՔ?IAnsK%WyW’'1c:GFxpe;:A}Ep16[я k1۰}g5i#"6,!s]YҬyv?+());=>0T4@@ާ=S"G\wrX|\ \bBmYkTW )X-5GԵg 5^ |b*C7|6!ž[`ޮzXLS@u_6@\0nQAӲɋY 9v> TL5J+ KZx{ -{OqgyG'@[T3PA^č 2*j>|=eTg&T Lj(0ѿ̛?(K V᯺ސ/-@ke>=H)b/A9CbTKL{HLkp a ]T,T^pׂ4x:dwO%ТЧ)mžNy (sz#4 fTT>_LSrkbB]&Zɬ@TΚN6RJƏxT]Bx␢O]m$xY斯"2Ќ?\@e( ±wCA=YS SDYw޶Bӳh[QhQݩ6 {b&y/go Zn`b{&74pEs!l 9-_>Vs&Q1.MB駙%NZ& ZC"߹X>|i E*{#kɈOQ79j'J4xC-|![+{QVp$ByueDUh83CxZ\X%/e Kb?_A=xl;jׄ[7@sȔ|L-\@A"F$x zZQ@ # yc7h"&|&Z>@tWv]_}zIi Áі#ڭ*g=g*GS-eLLSK Fdv\Y?Yw(LT.a5hPM]Tv@IlRTeD ^jiB VWȂB1Mah'+D6<(ɫZqF])cY,g̪UV p9P/V'\?`2jX7gʃG޲ v&ƇUָ@’ZXX71g>>-f4A_wHkhx]^?l>gޫ<w&χݫșOp>+Bٹ9Y:Jjt`Ȏ!2B̾,R˷ZAx~(|NvWU^wned( 4{f[&pΚ D_O_kyv:oMAU w1ه}G.tu"K}nuZt7=|]OӘ^z'cȽ7/H26ȟleShBIB㤩X~7*zdu%5{+M(;q%$n;`"( &0}U6ӷF{WQobwbܜosV9 `:׀ꌳ)͑ļojm|!܈UrY{ %*S'="ΞP.GȰJ6wr gi%!LJ$~w5'\V$D5:Z D0LH{~93sR&|A蛬S iNآ`"sp$u+̗7H(U M%% lA׭ {n#]%4<>%ӽ :LίN=;y0c|cjEvݕ(PcTU_6HXN6+y7AĚ5md=Ѡ`c lCUOo߬yFsrR_2Hh?R &p-wR!1D}B[-=(a삗!G`Mi-}.5y^FFfU@ F"8 ΊfbF?F9c7~"*Ts n'uDKoX[N& 5@MywxL g_{ǣ^Is.:L넸tZv^ƒfXuPYJ@nn}Dɹӥ.݋/(/s\,ycr5/ˑDb Ȓ2$tVCA@ӵg=1vp|#6[&lhg>,q1POyLDrQ EϺUq^PSG]TͿXF<'I@-4f]Ϥ+ 1@) S/N%(rFDi&xQ[2N*ɦ ëMM؅mM\\>T\bUMIXdRv]njwq<½ǦJ4@-$^1^9LQXk̾Trυk5AeU z ja[pыU Gos7{8ܸU# hw\@9֍=yk~`kJ.pʂH Ul]lqU}!4vjx I, Chr첣7sSXHI kB~Rz-\HkU'ge`F+Dur/Bn0rUܢ,p2f[Gx$<BjzO 6f>+s_Ͻ蓷T_/ C?T4N+ HNJ=#Xj-FNmœ'[^oc>g~Y&=2R|TiMSz,g9fʡL$ ~Rۍg OGI/`t!xhB䣽JJ;>颲BOj^Cy~&.ƜT| m`z->a<jkn %զ4l;%'W)Qx†cc69ސ yr-s;U9'ֽNkʼW | 2RvP^"40˞MF xwܺ^a}yʿ\J0>M=XWHNk+Ktmb/3ov42ui(RDLS2-Oy3DQ"ڰOJhdvf!3`J4szNs\w,[Xd{A{PÖHY N~VKùxR0Vq>&q71X\u俵 ]Q;J˨39F͸FY pTOds !w3vP۶}e)߃Z@06A%/Ȳci֍$h]]uf3 NKi*v3 )9$P:lg.4}m0W@ފ.R{V~Zt)]Y1zxijľj]ii^ɶV}m).(CѨHvcE0Gϗlle\NI<~'4yp2MoU:qk)(9Ƽ&0% U=x"Ľ̀zk/D%>d@\9yr4TY&lp] *C'lXKwbbHj8 r\{%#fZ hnX!$4e6B>*2t݄.]F" x\cuvm` +t(Qؗ ^ضSc=a~IYĈȱbι\"RcU{V7$t#B \1xDaZ_c"FXJ+Vxf0MR[aE`Wm, ZV1_\,!u}$0Č|(.01_#[th@m>ZDd*4>N.  $JWLk<m5..B>an_m;PQku#1d`rz0ŗ䈉Nԝ udv,"#Q3Ӷ^A<V2C5XY4ݵIh[*ǀʽˈ+jZ`%5Dg@#09`#Mf`U!\m"4v5@M%(X'1;p!h97hQcWqZ@W8k' اe |zƏD_/ U4 }lKZh)ٸ,XS7IO1ȠhZ^}[5"i2~=׹>(z*P\5 ]=Yt( 7V6 ǘZ.M;PZVޟZ\Pqajصղj3mrH /WV5# S oD?t G;w̨Wq$_9b"ߵRo>7fR\wy(U6©9A-w| K%Qx[Un@0~`2:G-;WlFry*Y},z.*7Kߝ-nj1ծJ,=i({*:$Z$mw=a`+X8ZX^{Tg{J.Ka (`7ڷ9F5$ڦ&EN.2wS OZ|A5N0ǂY$cXsx>xӻQf^'5h0zSZ148UdZMC} 6.#J^U2{C U;=j^-~Fu[7z7|NwR7O.т6nj }w`/{ZxsflA2_Sbsݜ0=q=xgu:v@H ߠKB“P큒.+X}Y%OS#KoN ou &|'4OJ76vb'ǙXQං(b&wGk. &p 0%eMBt,4c0Ny*Top+ tټ; Ri./#ٖ_@@zXdiiP6\DkH̩gޱ_|je2D|ɖ# UAoSt{\PrZ:{DfQFWqH׃DZ$o*u'h[rk>^r(?jiOY`2N+]l\ʹHF!!*]'MUAds@M-kT(Y@Ui"Z^3lGpK=+6\~2OcJz @eo׻5)I32;!אri|?Iq<7d^+0.SmVǎ)cjZPpwysg>"e\C%,_sٶk=ݬK*_`)f4~*+ůb^؞u jE iCڎo xѲn S6SPvcdKFa+KX:VP @K%&&Olk#Js`6s^FO&9ˬݵ8x875@LgcO"wy=%x_S+U*#ػhg11JV1<I%([9dtO3 `eu4\ruPr.Y5ylĪL[^cR2;T6z#MF62\ dQtcݭu-W{e.YĪsy"ϗ,nMtR9^c8AC/S 4$xZR{ZhC|Es/&4P)&CwZ+riVJ2yĄ*M2W*qH&B*"˷AC(@o*tMWErt_ oHgɉ_fc"~U[x.E/ 6>WkM S\dͰ'5x~eJK[%wz$e0xRpzkGY/&KXx5 W!8XY!>R/ɏ`*.1ŠUe=)xJ'm2Q8?s?BbKq(Mr _E N~QO}*nƓw&2mJV-FRۋ;&UYjxT׍o ĨCThIuq9y"G=& ʊB%GBEV .^lDɚp;(#A%DhkTeѹC95reΞU!J*-t?ۯɮRR w&.P>W@R @-68̪Im!SGMoJ-4K3/>:\1O·Us! zЅ;nh_+d8\>9pЙX?~FFO:bC[~jH/@2}PfQ8-Eª|DyУWNPOuEFR_1ÐEhZ_Z :b5F:=GA&oDF Nf],#P0:sW 6E˒~j`\'^MgWnJw͡8%^t p𑼲ouG<)J<9Z|*k++{!)D ˜U~[2x?Y2š:sB.s{+ϕb>pM[i~{oF/sG,d́A">zAy!:kd2ލ-&" u˳=J\&x2CʴqgrK$}&Kg*Ca925E[UNnq\$gEjPႾޕ8)dprԨ# CޔFk@'$y .Kc^¬;.|JvDy}Lb O- E_:aM,q׻ aBq_ XԼO浉 $0ع Eq %_jGcNkU?Aq~֠];'5`_ n-$s7PV֨Z uN+OvGtv8rKQ>oGOP?j(eemT'6lc@4UfC&L+HܐB?H ! 3yn>;Y@6VOI"6Տ~:Jlώd\.K(H][iw\wgZ*sS2Yics-2_#)?-}oM&\ xxd9.|/L}нcÆ%Mz [ YZ