criu-devel-3.16.1-bp154.1.33 >  A bx!M@eee1~1@A+lGyz,Ht;͂ ](>⹒p4wok" hԈq_f} i1F^7}qGWj?o< 4tm־n怂|FSv)d[@M B^/qTJ ?ͰvBU7>BP船?)8)S:q ?(9SXim$˓ϝm%+8a049f6ffa2a7b82d161cb17548f95c1047357abeaad9775f78449a3a69d6e68b1575e6b0b7f6e63b49a845bad74458c239ea6b4$8bx!M@eeeQ?vF',i*LƤ|R2tḀ^WQYXHHUSD? *rfn6"[9AvBCpIL3!c{וX9/z]!_U񋘯ckO~C*˹Z|mF_R$gxjn/b\@ ,|ݼxq6*7H*_}>&ZDL9(AHdnS>p>d?Td   U *J\bl101 1 1 1  1  1111s(8/9d/:h/F?GT1H1I1XY\H1] 1^ bcdeflu1vwd1x(1yzPCcriu-devel3.16.1bp154.1.33Include Files and Libraries mandatory for DevelopmentThis package contains all necessary include files and libraries needed to develop applications with CRIU library.bxsheep857)SUSE Linux Enterprise 15 SP4openSUSELGPL-2.1-or-laterhttps://bugs.opensuse.orgDevelopment/Libraries/C and C++https://criu.org/linuxx86_64R<Qx>V<CGA 6JXsxK#k.^fsAA큤AA큤A큤A큤A큤A큤bxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbxbx9d9aecdb3029c85f0de1c5fc753574891911a63e6ffb66627ec65682a020b50dd8df2f313499edfc5c8bd67dc829445c1c9780ed6bd3b8f6689221a41b6198a8de2ef04a13db2f9a68642c2f8b78eb39344d2463b5c8c658dc4b223699b4971338eb3bf9cb585b87b13408beb64eb0ce717863a3ad55024d98a1380d423cda7800ccc97d14d145faa0d92359e29852d318de9fa77f74bfa51ab25d5165b9b053fe623834382f640861138b14cdb794adef95ba18d42c4ddf4f6f28f40c28dbcac1fe72b566934a1f57de46354bd213b21fae10c1f2398565f70d895cefcff1d0151460824b5ebb13894e40f248090097ada242d031c931fa696840536a5413a846d53e7ac3f9bddb6d11b388f312bb4cff0ff155892b63873e25c7b01a23488f5b4f26263ffcacdb650ebecd8f58da9db6a07f1259fdac1401c32dc9814c616ea5682e329ed5ea31a05a379fb9d37862f7b10b2643d50b667773c2df05653bce037afbad65494f816899924633008f5c6f3449f3d0f3ae5c8021b57a7792bbde9997a012f6b9fac609f1885f5decba67991faefb2dd4041a3c20e727874db94d591c4db5bc08cae6e305f075f91dbfb407357cbfc34693355c6a6e8dc996f974b6652c280bf2819eb05aa2015d7760eac50a635b05db1b3954cf7598a277f5ecbb79ad1d8d5c26ab9fc05849156843aaadbb53fc37957b5de008a414ad3de1f382724e8ef2cc3a46a327ffd7c14427dad6132118dc94e203005ee5aa1c9efb853cd6f2c1ac47173bb1ebc74fc2c42d4881b50b53959d592275a3ae7bfc1818b6d580efc2ed5a994cc033a728c0dcdb529f833e6249160f5685c946d4eca8dca3d87815348df64a197d24c74ef5d1e48b4ae6414005302730202d0ed2172ff3a6a62e274587569b6345ac58b41fd9b2caaa086854e32c083c640a8a610a123ed4741a964cbd1ca5afc9acfb63b687209da87d8f43f3234cbc76c9bbb64ab8f09d657b88313e8d207869a902f9cc06af045a8f87bbcbba2625f81076df9069588b890318b9d0565c59cd47177a74920195e247d0302b7fcaf323aca3d2ffea61f399344022dc105f062d6b51afdf3044cb0268706b00bcf12648880d1fa3c77889021e30146209251f6a7d40f45d6829dcd082d1a26ff47095e259e5ac8629d1f7a95a175627ed2f4ca7c59c7ff179e0b56b2461f26bf0c77fa1fd13f3fa29f36be043493d714d5327013b8c8c67e55269a8eb166434f4de50aec1c06ece44c79a5b8988e1584548b52361e62034f6ac7819fae6b72f161b75bede567ac82077e5a8cefc0a4a508439506579240bbc0b193e73b541a3bdef11bb6b564debd15536f8e79d38a4f5c84d70b71ac2282c75cb59fbc85c67fd72cb11be74fc7d810a6d6c2f38cf4ea3f52226fe69e5d277864b5d9dcbf4e4d7ca18089d8e796095c4ae998c12f1680be41ffa958e84945796c5bc331c08a79be946b329c3a461de548e9ce511d63a04d3a891b2bb924ae5aa6c8778ce3fb336215f3a8f1792dffbd0391fc7e2c04c320b89eb3177ef290081aa33d9d8ed6a9ad4cbcd84b286cc5cd00bdc9d5575981d888b4f0534f7e2c0aaf2b8f51490cf2ceed1f398d4006ccd4a2dbc2a37b248e5c8dba071c10c4c5947eb8bd114421e17e93a879fdac69fe9e46c9d43d8d8a4c5d3688dc6f3ee2daba58144dbe4ca21e4ba6ca1109a81b3aa11515cc8e4bdc8bd7816d00dc76e77d9fd9c3e5ecfa9c6e17015d08d5f47d9156471libcompel.so.1.0libcriu.so.2.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcriu-3.16.1-bp154.1.33.src.rpmcriu-develcriu-devel(x86-64)pkgconfig(criu)@    /usr/bin/pkg-configglibc-devellibcompel1libcriu2rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.16.13.16.13.0.4-14.6.0-14.0-15.2-14.14.3aLaim@aex`8@_0@_k8^^@]҇]o@\![[ @ZZZ@Z>E@Z7YYYoIYV=@YI@XXDXXf@X@XN@X)@XWڍ@W:WWaC@W;W @V@Vf@VMU@Uc@UlI@U?v@U#U@T|X@tiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.deDirk Mueller tiwai@suse.deGuillaume GARDET tiwai@suse.deantoine.belvire@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgavindra@opensuse.orgaavindraa@gmail.comaavindraa@gmail.comtiwai@suse.debwiedemann@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.decbosdonnat@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.de- Enable nftables for SLE15-SP3 / openSUSE Leap 15.3, too (bsc#1193486)- Update to criu 3.16.1: see details at https://criu.org/Download/criu/3.16.1 Bugfixes: * Switch criu-ns helper script from unversioned 'python' to 'python3' for easier distribution packaging Improvements: * Add '--join-ns' interface to libcriu to allow joining namespaces via libcriu like CLI and RPC already allow - Change Source URL to github- Update to criu 3.16: see details at https://criu.org/Download/criu/3.16 New features: * criu-ns helper script * support checkpoint/restore of stacked apparmor profiles * add nftables based network locking/unlocking * allow restoring of precreated veth devices Improvements: * better support for restoring containers into existing pods * pidfd based pid reuse detection for RPC clients * license change for all files in the images/ directory to MIT * use clang-format for automatic code indentation - Drop criu-protobuf-c-1.4-underscore-fix.patch as obsoleted- Fix the build with protobuf-c 1.4: criu-protobuf-c-1.4-underscore-fix.patch- Update to criu 3.15: see details at https://criu.org/Download/criu/3.15 New features: * Introduced criu-image-streamer * Added MIPS support * Allow checkpointing out of existing PID namespace and restoring into existing PID namespace * Added additional file validation mechanisms * Added support to checkpoint and restore BPF hash maps (BPF_MAP_TYPE_HASH) and array maps (BPF_MAP_TYPE_ARRAY) * Initial cgroups v2 support - Fix build with nftables package: 0002-Fix-build-with-nftables-installed-in-different-direc.patch- fix filelist mismatch after libexecdir change- Update to criu 3.14: New features: * C/R of memfd memory mappings and file descriptors * Add time namespace support * Add the read pre-dump mode which uses process_vm_readv * Add --cgroup-yard option * Add support of the cgroup v2 freezer * Add support of opened O_PATH fds Bugfixes: * Fix C/R ia32 processes on AMD #398 * Fix cross-compilation * Many fixes here and there Improvements: * Use clone3() with set_tid to restore processes * Clean up compel headers * Use the new mount API - Add libgnutls-devel to buildreq- Disable LTO on aarch64 and armv7 - Add '-Wno-error=deprecated' to fix build on armv7 - Exclude armv6 since criu/arch/arm/bitops.S uses 'dmb ish' which is armv7+- Update to criu 3.13: New features: * VDSO: arm32 support * Add TLS support for page server communications * "Ignore" mode for --manage-cgroups * Restore SO_BROADCAST option for inet sockets Bugfixes: * Auxiliary events were left in inotify queues * Lazy-pages daemon didn't detect stack pages and surrounders properly and marked them as "lazy" * Memory and resource leakage were detected by coverity, cppcheck and clang Improvements: * Use gettimeofday() directly from vdso for restore timings * Reformat all .py code into pep8 style- Fix build on Tumbleweed: Add -ffat-lto-objects to lto cflags.- Update to criu 3.12: New features: * build CRIU with Android NDK * C/R of IP RAW sockets * lsm: dump and restore any SELinux process label * support restoring ghost files on readonly mounts Bugfixes: * Do not lock network if running in the host network namespace * Fix RPC configuration file handling * util: don't leak file descriprots to third-party tools * small fixes here and there Improvements: * travis: switch to the Ubuntu Xenial * travis-ci: Enable ia32 tests * Many improvements and bug fixes in the libcriu * Changes in the API and ABI (SONAME increased from 1 to 2) - Updated to libcriu2 subpackage to follow SONAME 2 - Dropped obsoleted patch: criu-asciidoctor.patch- Update to criu 3.10: New features: * Support Python3 in ZDTM and CRIT * Keep names for UNIX sockets, that are unlinked from the FS * IPVv6 support for page server * Set page server socket fd via CLI * Large pages support for aarch64/ppc64 * C/R of Per-thread seccomp chains Bugfixes: * Failed non-container restore could kill random task on the host * Failure to dump namespaces was erroneously ignored * CRIT didn't show cpuinfo image file * Tasks that got PID-reuse couldn't be dumped iteratively because previous images were missing - Update to criu 3.11: New features: * cpuinfo: Detect compact frames and handle noxsaves * Add support for configuration files * Add support for external net namespaces * Punch holes in input files when restoring anonymous non-shared memory ( --auto-dedup ) * C/R of + epoll: Add support for duped targets + tun: Add support for multiple net ns + x86: Support extendable fpu frames Bugfixes: * mount: Better handling of mount points propagation * nmk: Make collect-deps to be more precise about targets * lazy-pages: Don't mark current stack page as lazy * x86: CPU -- Rework feature testing * files: Fix O(n^2) restore in terms of the number of fds * fdstore: Unlimit fdstore queue on start * mount: Fix regression where open_mountpoint failed on readonly fs * page server: Handle partial splicing * ... lots of small fixes here and there Improvements: * Remove all magic of service descriptors when it isn't required - Switch to python3 - Use asciidoctor instead of asciidoc for formatting manuals: criu-asciidoctor.patch- update to criu 3.9: New features - C/R of + Tun-Tap devices in sub-netns + File descriptors which were opened with O_TMPFILE Improvements - Restore of inotify watchers - Restore unix sockets in proper mount namespaces - Print CRIU and kernel version also in RPC mode Bugfixes - Random memory corruptions during lazy restore - Workaround the iptables issue - Don't use standard descriptors when tar is running to dump tmpfs mounts - Fail dump if dump_one_file() fails - Fill kerndat with zero-s before reading it from cache - cleanup with spec-cleaner- update to criu 3.8.1: a bug-fix release FDstore was initialized twice (re-initialized) causing e.g. - -shell-job restore to fail- Add python-devel to BuildReq explicitly, as a preparation for fallback to asciidoctor (bsc#1075764)- update to criu 3.8: New features * C/R of - Multiple network namespaces - Overmounted tmpfs mounts - Unix sockets and epoll descriptors in SCM messages Improvements * Rework service descriptors not to cause fdtable enormous grows Bugfixes * FP state wasn't reported on Skylake due to a kernel bug * gcc 8 warning fixes * Resource leaked on error paths * Attributes of sit devices with value 0 were not saved into images (and were restored into default values) * Tasks with pgid of a zombie hung the resture * Ghost files on RO bind-mounts of an RW mount couldn't be restored * Random memory corruptions during lazy restore - cleanup with spec-cleaner - switch to https urls - list binaries and man pages explicitly - remove rest of static libs to fix rpm lint errors- update to criu 3.7: New features * Pipes usage statistics * Run page server as non-daemon via RPC * C/R of - SO_REUSEPORT option - IPv4-mapped inet sockets - Net_prio CGroups - Overmounted shared mountpoints - Non-broken and breaking leases Improvements * Show criu and kernel versions in logs * CRIT decodes socket families, protocols and types * Much less pipes is needed for pre-dump, which is especially useful for big mem migration Bugfixes * Files in /proc/pid/map_file could be opened by non-exiting name (with 0x prefix) and it was fixed in kernel * CRIU log levels were used to configure logging for libsoccr thus breaking its logs * Overflow in various IDs caused bad image names * Compat (32bit) syscalls lost signedness in compel * Corked sockets lost cork flag * Preadv() syscall was declared with error which resulted in dump errors on 32-bit processors * Musl compilation failed * Ghost files in / dump failed * Crash when releasing context for ghost files, due to free()-ing shmalloc()-ed area * Lazy restore could receive partial page and crashed * Erroneous closing of lazy pages connection caused restore to hang * Lazy memory fetch restore could start before tasks are restored - Remove 0001-images.py-remove-shebang.patch * upstreamed in 8e45ce4905d186abafb7c20abb3b00207fefdb53- add 0001-images.py-remove-shebang.patch * fixes a lint warning about a non-executable python file being executable due to a superfluous shebang * upstream: https://lists.openvz.org/pipermail/criu/2017-November/039907.html - run spec-cleaner- update to criu 3.6: New features * C/R for files (except for unix sockets, ttys and epolls) sent over unix sockets * C/R for threads with different creds * Ipv6 over ipv4 tunnel (SIT device) Bugfixes * Some s390x registers were not restored by native sigrestore way * Overflow when parsing autofs info from /proc file * Dumps of anon shared memory with sysvipc one raced with each other clashing and corrupting image file names * The "dumpable" flag was not restore on shmem regions * Trash bits leaked into image when dumping fsnotify on some kernels * Lock/unlock of iptables from different criu processes raced with each other * Closed TCP connection with non-empty send queue blocked the dump * When --empty-ns for netns was set on dump only, the restore failed (Docker case) - includes changes from 3.5: see https://criu.org/Download/criu/3.5 for details- update to criu 3.4: New features: * Support for s390x architecture Improvements: * Unexpected death of restored tasks is reported with more details in logs * Merged many images containing info about files into one big files.img * When helper utility fails (ip, iptables, tar) its name is printed in logs Bugfixes: * Compilation failed on newer glibcs (ucontext_t) * Dying helper task could deadlock the restore process * Install-related makefile variables weren't configurable for distro build * SIT (ipv6-to-v4 tunnel) presence on host blocked dump of any containers * Potential NULL dereference when dumping net namespace * Dump via page server might not work across different criu versions * Failure to restore a subtask could be ignored by the restore command * EOF on page-server socket wasn't handled - Dropped obsoleted patch: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch - Add s390x to exclusivearch- update to criu 3.3 * Add --tcp-close option to help migration of Docker containers * Allow to override build time to fix build-compare (boo#1047218)- update to criu 3.2.1: bug fix release, * Restoring a stack fails on recent kernels due to kernel changes * Restoring on a host with LSM profiles failed- update to criu 3.1: New features: * Each boolean option now has the --no-$option pair * RSS explorer in CRIT * Multiple plugins in compel * Run-time check of 32-mmap BUG on x86 * C/R of 32-bit futex robust list on x86 Optimizations/improvements: * Start time is improved significantly with kerndat cache * Sigaction image is merged into Core * Unneeded stages are skipped during restore * Restore w/o namespaces uses host /proc * Restore w/o namespaces doesn't parse host mounts (not needed) * Single-threaded tasks do not parse /proc/pid/task/ in vain * BFD engine is used for more /proc files * More verbosity in libsoccr * Fsnotify dump w/o namespaces doesn't walk mounts tree Bugfixes: * Python bindings left zombie in self-dump mode * The last_pid sys-control was reset by restore * Threads caps were compared with mistake * make install put crit/pycriu to wrong place if DESTDIR was not set * Fsnotifies C/R w/o namespaces restored with errors * Inherited control terminal restore was failed (but dump succeeded) - update to criu 3.2: Optimizations/improvements: * Invisible files restore is de-serialized * VMAs restore performance is improved significantly - Mappings of the same file re-use the descriptor, not re-open it every time - Not-COW-ed mappings are restored in-place and are not mremmap()ed - Empty RO mappings are mmap()ed as such and thus not re-mprotect()ed at the end * More verbosity in case TCP locking fails (#292) * More verbosity in case VDSO magic mismatch * Restore or legacy epoll target descriptors and fsnotify marks is unified with common case Bugfixes: * Restoring fanotify marks from old images (<1.3) dropped the mark * Binfmt_misc mount could be mounted into wrong place * Compilation failed with gcc 6.3.0 (#315) * Waiting helpers could race with sigchild handler and would result in restore failure * Missing VVAR page in 32bit tasks wasn't skipped and resulted in restore failure * After restore consumption of files is increased (was fixed as side effect of mmap optimization) Deprecation/Removal: * Deprecated separate images for fsnotify marks - Fix the installation of python stuff: criu-py-install-fix.diff - Fix the build for ppc64: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch- update to criu 3.0: New features: * Compel library * Support for x86 32-bit arch * Version check via RPC * ASAN support * Force VDSO trampolines via fault injection * C/R of shutdown-ed UDP sockets * C/R of bind-mounts made from external mounts Optimizations/improvements: * SysVIPC shmem segments are now dumped as any other shmem (taking holes into account and sitting in common memory dumps) * CRIT show decodes socket's states and types and task's states into strings * CRIT show prints unix sockets names in more human-readable form Bugfixes: * Unix sockets' names appeared in logs with mistakes * Contents of SysVIPC shmem segments was dumped twice * Dumping of any memory segment more than 4Gigs failed * Migration of unaligned SysvSHM segment on Armv7 failed Deprecation/removal: * Exec action is removed, use compel instead - Create libcompel1 sub-package- update to criu 2.12.1: Fixes: * Content for external bind mounts was erroneously dumped, which could lead to dump failures or huuuge images * Unneeded collection of host mounts on restore could cause restore to fail- update to criu 2.12: New features: * C/R of external TTYs (for Docker C/R) Optimizations/improvements: * Sanitized the way the -v works Fixes: * Checking features via RPC crashed * Resting pipes in user-namespaces could fail on modern kernels * Shutdown state for UNIX sockets could be lost on restore * Dump of huge (over 2Gb) SysV shmem segments didn't work- Update to criu 2.11: New features: * Added "pre-resume" to action scripts * New --status-fd option for better control of page server * C/R OFD file locks, RO root mount for mount namespaces Optimizations/improvements: * More strict checks for extra CLI options * Report errors when probing locks * Restorer logs now contain timestamps Fixes: * Regression: v2.10 was broken on ARM * Use-after-free when restoring ghost directory * Array out-of-bound access when restoring VETH device * Page server exit code could be screwed up * Clang over-optimized string.h routines resulting in random crashes * Parasite failed to send FDs via socket on Alpine Linux * Restore of huge file tables could get stuck * Restore of epoll in epoll could fail * Errno value could be lost when reporting failure to restore invisible files * Dump of sched params didn't work on Alpine * Restore of huge memory dumps (over 2G) failed * Installation guessed /lib vs /lib64 with errors * Migration between xsave and noxsave didn't work for wrong cpu feature being checked - Update to criu 2.11.1: Fixes: * Page server start via RPC was broken * Fedora build didn't work * Ppc64LE restorer switch crashed- Update to criu 2.10: New features: * C/R of SOCK_PACKET sockets * Libsoccr -- library for C/R of TCP sockets Optimizations/improvements: * Logs cleaned up (removed bunch of useless, fixed '\n' in perrors) * Action scripts errors are printed in logs * Removed several iovec-s copying over the pagemap code * Restore degraded linearly on Xen guests. Breakpoints disabled until solution Fixes: * Py bindings fault on restore error delivery * Fd leaked on file restore error path * Fd leaked when restoring invisible files (gets closed with criu exit though) * Link remap restore could fail on kernels 4.8 and higher * Impossible to restore after restore error with link remap file in images * When going daemon a descriptor could be leaked * Custom setting of mmap_min_addr could make restore to fail * Sending pages over UNIX socket could race and fail with EAGAIN * Error getting ID of /proc/pid/ns/foo link not propagated and could result in bogus NS ID generated - Add libnet-devel to buildreq for dependency- Update to criu 2.9: New features: * CRIU can now be built with clang on all supported architectures * Ignore missing sysctls on restore with --weak-sysctl C/R overmounted mountpoints Optimizations/improvements: * Batch restore of memory contents from pages.img files * Link-remap type for invisible files is explicit in images Man page for CRIT Fixes: * C/R with --empty-ns still handled iptables configuration * SCM messages inside UNIX socket got lost after C/R (now dump aborted) * Empty unixsk.img file appeared when dumping tasks without unix sockets * Install procedure wasn't PEP-394 compliant * CRIU blocking netfilter rules were added at the tail of the chain resulting in unlocked TCP connections * Dump/Restore spurious failures when open() returned 0 descriptor * When dumping shmem lots of zero pages were written into image files * Ghost directory with more than zero ghost parents caused restore to fail * Shared mount could escape to different group on restore- Update to criu 2.8: New features: * Ability to configure CRIU build * Show statistics on the screen with --display-stats * C/R of Mac-Vlan devices Optimizations/improvements: * x86 can now be built with clang * When dumping files useless garbage was sent with descriptors from parasite * The clear_tid_address and regs are printed in hex with CRIT * Big code rework for compel (part 1) * Removed duplicate error messages from opening /proc files Fixes: * Restoring cgroup NS could use old path prefix * criu check crashed on btrfs mounts * RO external mounts in userns couldn't be restored * Unmounted on host binfmt_misc could cause dump to fail * Off-by-one could cause criu crash when dumping shared / bind-mount * Mount namespace' roots could have flags changed on restore * Dying tasks could erroneously be tried to dump * Swapped shared memory pages were not dumped * Errno value can be sometimes spoiled by RPC * Restore of netns with newer iproute2 tool could fail Deprecated: * --ext-unix-sk, --veth-pair and --ext-mount-map, by --external - Set BINFMT_MISC_VIRTUALIZED config to build- Update to criu 2.7: New features: * Option --cgroup-root now makes sense on dump too * CLOCK_BOOTTIME timer supported Optimizations/improvements: * Output of iptables command leaked into logs for no use * Helper dev environment installation script for Debian * Man-page updated and prettified :) Fixes: * Unmounted binfmt_misc with rules wasn't dumped at all * Malloc() error could result in crash * Device cgroup restore could fail restoring empty record * Some entries in device cgroups were restored twice * Potential crash when dumping cgroup bindmounts * Sign error caused dump to fail on btrfs partitions * Shared mounts with the same mount path failed the dump * Threads were restored with unshared FS (cwd and root) * Shared memory changes tracking disabled (regression found) * Restore of autofs can hang * LSM profile propagation could be lost * Mountpoint with lots of options blocked the dump (too small buffer for parsing) * External slave mount (with external master) blocked the dump * Mounts with STRICTATIME restored with others flags dropped Deprecated: * No reg-file entry for TTYs- Update to criu 2.6: New features: * Ability to leave process stopped after restore * Memory changes tracking for anonymous shared memory * Deprecation option/environment * First error message is reported back via RPC * C/R of More IPCNS sysctls, xIDs of PTYs, TMEM on PPC64LE Optimizations/improvements: * Use service FD for transport sockets on restore * Ability to turn pagemap-cache off (some kernels are buggy) * The criu --help text has become better Fixes: * R/O-mounted root could block the dump * Restore of cgroup.mm.oom_control could fail * Cgroup fs bind mounts were detected with error * Unaligned futex-es in parasite could cause dump to crash * When compiled with gcc-4.9 parasite code crashed * Failure to freeze cgroup didn't result in aborting of dump * Wrong ns list was parsed when dumping userns (invisible since nesting works only for mntns) * Non-inheritable non-tty as stdin caused shell-job restore to erroneously fail Error path in criu dedup could crash Deprecated: * Per-pid rlimit, itimers and posix-timers * Separate image for epoll tfds (target file descriptors)- Update to criu 2.5: New features: * C/R of fs.mqueue.msg*_default sysctls, Unix sockets with overwritten paths, and Link-remap files in removed directories Optimizations/improvements: * Micro-optimization on namespace ID evaluation * Restoring shared files uses one socket instead of per-fd ones * More verbosity when refusing to dump a file descriptor Fixes: * Restore could fail on openat() with ENXIO when multiple mnt namespaces get restored * The criu exec action got broken * Link-remap and ghost files remained on FS after restore failure * TCP window could remain clamped after restore resulting in connection lockup/slowdown * Dump could stuck when injecting a parasite * The --timeout option wasn't taken into account when freezing tasks using freezecg * Race in freezeing/seizing could result in lost tasks * Memory leaks here and there on error paths * Double free in xvstrcat (crash) * VDSO length was mis-calculated * Symlink on --root path could make restore erroneously fail * Potential memory corruption on reading mntns images * When restoring on systems with low pid_max limit restore could fail * RO-protected SysV shmem segments could be restored with PROT_EXEC * File mode of mapped file was evaluated with errors * Restore of cgroups' mem.swappines and ..use_hierarchy blocked sub-groups creation * Impossible to restore cgoup mem.swappines default value * Zombies living in orphan sessions/groups failed the restore- Update to criu 2.4: New features: * Generate core from images * Ability to forcibly drop half-open TCP connections on C/R * Ability to specify cgroup ctls to dump via API Opened/mapped files' mode is compared between dump and restore times * AutoFS mountpoints * New cgroups (perf_event, net_cls, net_prio and pids) * Memcgroup optional properties * Devices cgroup Optimizations/improvements: * Pagemap image entries are cached in memory Fixes: * Configured kmem cgroup limit restore failed * Mem cgroup oom_control * Cgroup's pids.max was not C/R-ed * Failure to write cgroup property was ignored * No init PID in pre-dump action script * Sigactions inheritance didn't work on ARM * Opened "/proc" dir blocked the dump * Working with iptables was racy * Sibling mounts detection error on dump * Devconf accept_redirects devconf could be restored with errors * "All" devconfs could be overridden by "Default" * Name-less unix sockets got auto-bound * Mode was lost for PTY device file on restore * Newer protobuf compilers didn't recognize PB files * External mounts could be remounted with MS_PRIVATE * Build fail on Alpine Linux Deprecated/removed: * Per-pid file locks images * Per-pid fdinfo images * Ancient pagemap/pages images - Enable builds on 32bit ARM- Update to criu 2.3: New features * Ability not to show payload for some objects in CRIT * Pidfile is written at the end of restore * Ability to join existing namespaces on restore * C/R of Data sitting in TTYs, Partially write-protected SysVIPC segments, Debugfs and tracefs mounts, Overmounted tmpfs, IPv6 devconf sysctls, External block devices, Unix sockets with mismatched shutdown state Optimizations/improvements: * Relaxed calculation of AIO ring size * Tree-based search of tasks by real pid * Less mem-to-mem copies on restore * Saner devconf image format * More verbose explanation of why task cannot be seized * PID is printed in PIE logs Fixes: * Too many mmap-ed files blocked the dump * Potential memory corruption when working with IPv6 sockets * Overmounted bind mounts could cause restore to fail * Overmounted bind mounts could result in badly restored mount tree * Incomplete restoration of RO bind mounts options Deprecated/removed: * Greedy mode of pagemap (non-root) caused dump to fail (disabled)- Update to criu 2.2: mostly bugfixes New features: * "Post-resume" added to action scripts * Root task's PID in environment for action scripts * Devconfs drop_gratuitous_arp and drop_unicast_in_l2_multicast * Serial ttys Optimizations/improvements * Lighter link-remaps restore on newer kernels Fixes: * Race when restoring userns vs setting ns' maps * Tasks with zero fds failed the dump * Restore of TCP recv queue could fail due to kernel mem alloc constraints * No errors were written to logs when launching helper (tar/iptables) app in userns restore * User-mode dumped no memory pages sometimes * Bind mounts considered not as bind sometimes * Two mounts in the same directory blocked the dump * Off-by in on /dev/tty{1,63} dumping * Forking of cgroupns task was done with screwed clone flags Deprecated/removed: * Greedy mode of pagemap dumping (on some kernels we do not support user-mode) * Removed the --namespaces option- Update to criu 2.1: New features: * Checking now classifies features to important/extra/experimental * Ability to bring some disk files into images. * C/R of Completed AIO requests and fallback gre and gretap net devices Optimizations/improvements: * Code coverage collecting now works * Use native rtnl library for netlink messages processing * Using --output - now results in stdout as log, not a file with the name "-" * Signals are printed by names in logs Fixes: * Make tar generated tarbal with bad name * CG restore code lacked rollback in some places * Error code from raw syscalls was treated with errors resulting in wrong criu check reports * Dumping task with HUGE amount of file descriptors failed * Task could be stopped after pre-dump if respective option was used * A /proc/pid directory from dead process conflicting with a new alive one could cause dump to fail * Zombie from alien session/process group caused restore to fail * CGroup fs was wrongly mounted in CGNS on restore * Irmap scan was mis-checking devices numbers * Use-after-free in irmap scan * Btrfs bindmounts detection was mistaken due to 'subvol=' options met * Propagation of mountpoint's shared groups was lost for propagated mounts * Unaligned allocations of restore shared memory could result in codedumps when used by futexes * Temporary mountpoints could result in spurious propagations * When aborting the dump criu could crash on use-after-free objects * Locking the network could stuck doing the DNS resolve * Several build fixes Deprecated/removed * The images from criu prior to 0.4 are deprecated * The --namespaces option makes no sense and is also deprecated * The --ms option for check action is deprecated- Update to criu 2.0: New features: * New code layout for sub-projects (e.g. Compel) * Unprivileged dump * Dump/check cpuinfo support for PPC * Explorers for CRIT * Added "post-setup-namespaces" to action scripts * Added timeout for dump procedure (5 sec by default) * Ability to override LSM profile on restore with CLI/RPC option * External bind mounts can be fs-root mounts too * Skip netns' internals on dump and restore (for Docker integration) * Advanced support for external files * More C/R supports Optimizations/improvements: * Align parasite stack on 16 bits for correctness * Compilation with native libc syscall wrappers and helpers * Parasite code injection done via memfd system call * Make vaddr to pfn conversion with one less syscall * CRIT shows device numbers in "maj:min" manner * CRIT shows mmap's status in verbose * Docker files for builds on all supported arches Fixes: * Absent readlink syscall on ARM (use readlinkat instead) could cause dump to fail * Wrong argument to timer_create system call could cause restore to crash * Extra tasks in freeze cgroup caused dump to fail/hand/crash * Unaligned restore-time object allocations caused lock operations to fail * Opened /proc/pid dir of dead task failed the dump * Unaligned stacks caused criu to fail on aarch64 * Changed device numbers on restore side could cause random failures * Fixes in mount points sharing/slavery/propagation restore * Race between mntns creation and fds closing in different tasks could cause restore to fail * Hard kernel limit on TCP repair recv queue restore could cause big queue restore to fail * Unconnected dgram UNIX socket with data lost packets on restore * CRIT didn't show IPC objects * CRIT didn't convert IP addresses in images * Logs from PIE code contained corrupted addresses and sizes * Not loaded netfilter modules could cause dump/restore to stuck on dumping netlink socket * Shared external mounts were restored with error Security: * When checking for namespaces' CRIU entered userns with host creds * Deprecated/removed: * Completely removed 'show' action. Use CRIT instead.- Update to criu 1.8: * Ability to check CRIU features via RPC * Pre-dump and pre-restore action scripts * The "info" action in CRIT showing stats about image file * Python API * C/R of read-only bind mounts, IPv6 routes and iptables rules, ip rules (it ip tool supports such), ignore_routes_with_linkdown netns devconf, empty bridges in netns, FILTER mode of seccomp, and IP_FREEBIND socket option * Lots of fixes, two security fixes Service run as root could allow users to violate ptrace policies Service run as root could give users access to privileged files and directories - Remove superfluous dependencies - Clean up spec file, as systemd and logrotate supports have been officially dropped- update to criu 1.7.1: Fixes in mounts, notifies and userns found while testing openvz - update to criu 1.7.2: Fixes for IPC in userns, venet C/R, socket buffers overflow and unix sockets name off-by-one - Add the package dependency on python-protobuf- Disable systemd service as a temporary workaround for possibile security issues (CVE-2015-5228, CVE-2015-5231, bsc#943105) - Update to criu 1.7: * Improved cgroups management * Support for seccomp strict mode * Support for stream unix sockets inheritance * Support uid/gid-restricted mounts in userns * Support deleted bind-mounts * Ability to specify maximum ghost file size * OverlayFS support * Support relative unix sockets' bind paths * Altivec and PSX support for PPC * Small PIE loader * Temporary proc mountpoint is mounted with nosuid, noexec and nodev * Less memory copies when preparing restorer binary * CRIT action "show" for less keystrokes on common use-case * Fsnotify log messages now use hex everywhere :) * CRIT output doesn't mix fields any more * Many fixes - Drop obsoleted patches: crit-install-prefix.diff lsm-prototype-fix.diff 4c5b23e5-criu.pc.diff- Fix version in criu.pc file. 4c5b23e5-criu.pc.diff- update to version 1.6: * PowerPC 64bit LE support * Makefile.local for 3-rd party build rules * Ability to "enable" filesystem on dump (--enable-fs) * Ability to skip mountpoint on dump (--skip-mnt) * Prepare to deprecate "criu show" command * External mounts auto-detection * /dev/tty (current terminal) support * Netdev and netns (all/default) confs C/R * Images v1.1 with extra magic at head * Support fusectl (only ctl) mountpoint * Sub-version format is now as of git-describe * Apparamor labels C/R support - Fix library path for aarch64 and ppc64le - Fix the prototype for lsm.c (to fix build errors): lsm-prototype-fix.diff - Refreshed crit-install-prefix.diff- update to version 1.5.2: * fix error in mutli-threaded tasks restore with --restore-sibling (Docker and LXC cases) * fix too big RPC messages error for service (and swrk)- Fix build failure on FACTORY due to comment-in-comment in google/protobuf/descriptor.proto - update to version 1.5.1: * fix crash with 4.0 kernel * legalize swrk API and add the ability for inheriting fds via it * cgroup yard destruction and properties restore- update to version 1.5: New features * CRIT tool * ability to request CPU compatibility on instructions level only * C/R of empty AIO rings * more detailed errno report via RPC * per-feature "criu check" * inheriting FDs on restore * ability to automatically move veth device to host-side bridge on netns restore * VT terminals support * more user namespaces C/R stuff See more details at http://criu.org/Releases#v._1.5 - fix installation of crit: crit-install-prefix.diff- update to version 1.4: New features: * Dump and check cpuinfo * Initial support for user namespaces * The docker_cr.sh script for Docker * New API for writing plugins (old one is still possible) * Service workers change their title to better look in ps output * Ability to feed socket for pre-dump and page-server in swrk mode * Page-server can auto-bind its port * Ability to perform several actions during one connection to RPC service * C/R of opened /proc/$pid/foo files of dead tasks * C/R of /dev/console * C/R of virtualized devtmpfs (openvz and future upstream kernels) * C/R of empty mqueue fs (posix message queues) * C/R of shared bind-mounts See more details at http://criu.org/Releases#v._1.4sheep85 1652086521  !"#$%&'()*+,-./013.16.1-bp154.1.333.16.1-bp154.1.333.16.1 compelasmbreakpoints.hcpu.hfpu.hinfect-types.hprocessor-flags.hsigframe.hcommonasmcompiler.hcpu.hhandle-elf.hinfect-rpc.hinfect-util.hinfect.hksigset.hlog.hloglevels.hpluginsplugins.hplugin-fds.hshmem.hstdstd.hasmsyscall-types.hfds.hinfect.hlog.hstring.hsyscall-64.hsyscall-codes-64.hsyscall-codes.hsyscall-types.hsyscall.hptrace.hsigframe-common.htask-state.hcriucriu-log.hcriu-plugin.hcriu.hrpc.pb-c.hrpc.protoversion.hlibcompel.solibcriu.socriu.pc/usr/include//usr/include/compel//usr/include/compel/asm//usr/include/compel/common//usr/include/compel/plugins//usr/include/compel/plugins/std//usr/include/compel/plugins/std/asm//usr/include/criu//usr/lib64//usr/lib64/pkgconfig/-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.opensuse.org/openSUSE:Backports:SLE-15-SP4/standard/d5ae1ae91d771811d76dfcf5412ebd82-criucpioxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesASCII textpkgconfig filePRAZm0e,utf-874d39b166947434a6542a710687f3765e835d814b0c2a5be7452cb62d6e3ad61? 7zXZ !t/Sw] crt:bLL >YZc8A V #!AQint\j4k ?bsbd/3?TWܨ"{jr{ cۉi*~Z*ū6',Z$pVzUzjNWךy-Px25s<Þ xVjM0,GYRMT\Bխ{5+E&qnW-gV;j Me, grSaaM?,vgZvDEW|<`Nrw- Al5io[uZ1eceR.XX^He?sv] FQ6> Ȫt.p*<:a^ER[.Πn]W4Po_J51lꬴd?p0FjMƌVE{>sv{),jvxd.Ҡ ԿȐ .顩YǍ)~K*?*:Dp'l֢OCV.xwe Q(!"6icdy?^Sϯ|>ȉwlx;(|)6&u xÖCQr,雨&$AP~t`ǣw=?8A7c|}.u d,:ULε[~KHHD&_n6pǮr禔 n`Рr^+#}ؐ0% `򿁅tz{DWY&\L7vViw9E|r,p R-70{Fu16?jK;8nRVdƳZ⛕v"+vL$^)EVF ^BYn.agv<o@x nxslhIx8{S(} bU7?ny:/ ٔ;I ҊH2RsMnJ(n|cɖ&EQ":Ϥ7?1޲JsN@c݋ӬanL# >@%ZDG?0P(Pڟhf H{$vhq[Ô/sK ):0E^*%$&2[4#mVOBC5]V3{%(x.^x%v.ڞaw*-z<0 ]u6Mi843Ie}\iU'X4T;q}͙Sh?GlabCÇ+$:#zf= 4an6Wcޒecv8;p阼j6~(G9BT-%&/豞iЋ?Olpǁez$OU *~sfU;uOS_,^wc Z5M*@ "q#s-rɍ eˬΧiFg!c:bFi<4|]3S%6^:mg|p 4r߳hW5 V'2[t^*e+keM~[}@rTqk[Ώ15^_4 c5~tUoAUO2|E,-6"-FY jJ- C[w9xKTFE"C䞙m4?kZebf7r2GÂ]&]-kU̓fiJih"x#͕K1I )ƭ["~AY1oRfsk51|Yx2ƆL \h5d;&gښ@=]_>uAً4<>yB.@|0>$յILtCYF`0-;}("?$XzoK952N|%L3$~<$J)٬;KBwœ ew`K76М.YfKdCQɊVa 'Rs,A##21ʸBC)\#2PQ2a ٧QvV#M?fxdO$],i|;/%!l .Yݨ)hզ_KDB49FgD(NߓUEjKM ٣kV`mTVSD+rޙ)1=H^*\ű$Dcape;z'mURƓ҃މ|~3bR0& T<;vcYgT*H{hq}47W?e}RUpKCԀ{vR jark"&T ,-N ~h^L*̆ }6߰ZHPELi\j'[J#;-jO4b0~kMUZlj3g#=[( Iz>͊CoǴ:3>CS$mӔğQGP3|=fTho*GZ͒yJ:׆M^xՊQѤpV1@ |y/m փux>?ueS5<+7G(~P w]e+2^@ym)\'w1HB2T}"p)e]zSi@[?1sTtX]cyxŁjptr'DQYh&fkIRx'KSç5˜ W 72Lʂz0v V(nPOoՄflU@X) ӪRFm6sW{N֒Fw8eT!KLEv B!VE4u?!$szo[pg[e;6آZ]Xx}OP L@8֨F hYk *AeG ";C?H,nh9\3`"Ϙ 4*?oD60TN{0 W># iU'[VtRJ^xb_-5%L;Ǟ@(QJL=c K( >GWn.e%F[݄]h 79L}QN5v|ʿ/w<4Q ~"'X;(}FOMOgaf(3/-ũH̬MJޢ1 \74?o;c14 [ɪӍ̳r9 lf<}MߎS9ns˗)4K0,:degMbo{-µ ZGAm)!cjAܹjKLIiFe.P9CA8m֘3n \Yh8]r߅Uh6ݨ,蜑ww~"S6@1A2M^ƤOBr^*ڢł|g٨ZX0@~yz 7C8.fK%M՗kZ/[J+V]P6WH!zOU굪J%sԤU˝PL~)jnd40rV; ׂ~WgU 1\U8R[`/DOw A٥-Fʊ_L=Fъ?fi/㌥BɝyVk {Y7A $r@2{m:0Zaܑԧ/~J8X@ $f|}|>W Y<+<S1`PS 9)}dDxu/ͽ/r*raӔ.^yr\pdM|>~5.UfSL0ٖ 2z0uљ@!}[:_uGuzZTV8'gQ)\wcèwxQ-4~[&0qK$|f/:+V̰p󰸥SjBOi2=-Qd,eer b9tbiuOr:)VUkSV&>@3YO^`azxҙ=UҜs_B+~ʖ|v+E2w줇Q 1@ 1NL1PꁧĔ~ M9;YkA~?* y_9i.:JG#j|{B,W`gReBXKixvi\& uRQ;T3*9,.א/xWgr 5uRٟ켨qд{ۋF- ri.ԩQ"qwrTK_5^S`_N{1YPq0$u301cv>"gu_]bX#Qg [+@9cR'L>q7rQ$ı k{R|7TA~ ! |U8i꽂-QFe! o\Vp?\]q !gseيA͠7X/4&q+Q¿qe ϡ s'l>oo3Ɨwj I(_"G͜K0(O!t054AEnNA| -ch߸E;Kl۠ TKA(%bp B.1>SE>I @$H$+AD'ͷŀ?&Q`Jyx9Eź1섶F/F^%$xUù2RjNd` jvY6Jz4N3Mڽwq^Xwi4/Y|.i>9Lh2MT/5)S~Ύmɏn;70GW+r` @W wd0[<=*Y85!]"A-z-֛͆$N56gJtv*$ ų֘@N $n]/xFC(T^jrb È7H耧&ώm"ab.JS!QKB/8Oxd9@{_٬nEo}UgH!|8vZl=R3 Kڪ9(ttcLuć&L:^%T{xx@˭^p Rt>zx0ܪjq=)QucݧIHIP=څdJutp[)3+?RMQ66:ɭrVQ~wCfRVP /4BP75-imNԄs_Zož$bkUlz}X؇!!UܗJp^ˡ nY &531Ary34s[mωT4A%3D1nw61%rϮYT |0x͊@>k> __7[&VGcUc2q݌ q Zuy}9>C>PGV r #„:K+ bt q3;41/%^.0T&:h1FN}XM+آd+ %BY'D ]]bsJgoG'^*0 Ĵ<< B<6&V+߂ϾƢ%^w7ut/kNPHM$ 6c jz(qF\4c 6o~Q<4!)A杍t9K>p&kpF"#p>xڸg8l}U =Փ[[@VQU MBYR^SF cEZDQU+S s)'FclR "y^|6Y ECV3*q>B B,eӃ%o4Fb8Eq#2-kMOJ!uHP:~{PLyb.+8 "EN.7߯}* S4*H|n*H0pFm@ "2m<:Q|z-X3,* OsT﹜qe `qVݧG"1v€̎y%휤/Yu&DSPlD? 0Ko!hcQa{H2{M3g5o# W#GBHG|[TA7p=@I6Oy{:Ţ0Bmm޹`ϊ*lT6w N mP'GeRpk'(- L}#yiVAO?"!!NYtyn]^Ca;)xVxF! Zu{!4InD'pN(; { $yFINpO[\ ɛRPvy.uHy}x~听7ѻC.ޤkzF1cuUP _յC_ s%(@}$/=F%EzLoKyd EA 3six̄9X/O#Oz|ҟ1bEqSĭRR;la!Li{S{4^2_#^;>!ptB72W*R*جѓIb{`Hv>wmKKi1X4ͽT7}DҬǤ6dx vO?LW%4X$ͧV' # h1NpW#uм*d~DNL;j(b3S)i|sLZ59pDM 1(3]WdMzw?I(*M8*L3]`(^L"e"$K2x(ijP]F܂(G4ℰ|Y6<%>9bw=jTM0ch /y l7|Z%<[SRhhc%x?c =d=gj:h<zwMG(fUIFܹkbã ʚ@*zSX jQNL[HxVr>fՊO,241(#(m܇g3/SZta"]LDQ(fBiz&+!x0MsH}IaJ"I_.J5yÿ1Αnk6ͯN0CWg$VkMk ;R'+g"rO$ .GKWҹ'r-+Sϰg󿶬9,%EgNsi WbH})#2%7V֟ _tcp˜1{2&5}ųF!<*E#N͛x&:&-ITjI8}]wlI6rZ5_҈ >VN^ ~d4_sٙU۟?9j%m,"ld=.{WKwS6NΐZe^jJIUmTë)2 ֱ4|Q!v@zRY.=fȁ*Rds; qfcI6>rDGMk iXC/n*h@6O,YeץK嗾m@NSTS4psGvv ae -ءlj ʮOx'G[q8v{Oxg ''|G(T˨$mji|94>^P+E*䠪Z35Eka6XŹ*j:VckOO^fC,Dr?|OAқ#[-GVY$Mpvԭ6Mtaj ͛+3Ǚ,fjǶg!3C$R`y% Z|vWLe۬ȽR-<(9:-lH@5R3a[RTe ˋlݷnvWkM{E|kpO0ya5LÈ8!᳣N/-okRGPbFyX{SJnsΣo%TWb]H B@t 3ν@7{p O(h`8"[[-z[*qw9 m*⹐OzqɓZs[PfvX-ii?4&v'!d [%*9@!txJ]|i 򥇿;Zz8}8= k7\$@TgB#U_¶hbY1U8lWR^g(!OO2ABmpȕ +lU2!b{ t/ޣD{%%˖ڱYzhԙl˷ u&􍉋Zƕb2K}¢IgigzQ?-y6 V'  Ce*zChq!6c:{> qP>XTŇt5[ΒY_m<-K2 Zy>cQyG.K(2H[%g PF J]莯WKpF ,$bLZd:Ϧ3h*[UUH7\5aVfY PӍ/h~P|,fOhci8d@KPF*'sqźSח9j83ٵL2Π;Xij)IQՈK ȃz)M]Bu@9Iӎ>@}[ 8. ϰ7x*`m %`HI %lx[Ab&A}rhZzeA\ģylMgg J(dm6h,dZ'H`d8k}Q ^?5 KsP^I ߱q3% a Ȫ0{j\ /@|y]^Yms׆\)΅IWn )^ UH "s?`r*zew[*э ~P}1:hxPcSzXؙL?jQ45"ÒWĎeTȿ /W1k>k:K"Јq(͐=Ν8IsqWL3]տS}TVjԸG"CKMBJՙ+A--ZtM8b$lBK=-zb Άї\!Ӌk᫲$=3~`$ |R&k&W8z^+=6Jq(a녘U 8#mKfk5I,bAJSDOCRʶ@vIJ}D]>.YuO!Yxs{E WJ_`D2kqcD沞

Tk *)?Qj;@.a5 C.F N"Nٻs[`%s?=)}.rA5})QkBojvP^5s 9~O33I!cRp*! ^Ppl!^+@OyK.WQ6IHT(J{9hzc0B+ edG>Fv(ۂnim-D[Bj@ES ,2r7x8L~G^hxE?XUK 0,2(XK6bm6<4x[V_*8ɧu/r7sw&ahDs8 &ӮkDWvAzJUDf,ʳgn( 3r`3sCx'LcH.V^E,0 GFSsbacC|;J8k{ i[Tq^4/,Fj:{`o9 nS&.LGt*H-{ZD:J{yମ}QkN!6ݠo~jS$1qE)K}j%Lsg0hI g3 KlDiӸM*I]R} _a%53C5lc.'OfpkD 9fcx/T?ѭț\7*$J$i l(uK£I/7yOm|%&TH]2>XϘW;(ԬʱDً̻kT(1ڞ/%;>B ?9 `:mvߞ(hA~xЀ8KԲ9rS'[VZ. lM Ϸd!tL%Aq:o'I"БD=ydrfK F `Bm̌U)T5Z˲7?wFCnF4M>A#]}*=gMc 5I Ȫa!?T]y6ov^c,i]bCT(M_Pk`oψ}C$ \lriX q}_|Iꕾ;ZH(^C eL)8;T!^=b?Zw=k?\sQ xk.DBgREj%;oT>I&-TTmb9t^ū!i& g0A$"a:-5 (X{=NzAXNvnڟeh[4\h L=kj\F+Z7GDk,ʅGQY&gYJ> W4==HW@mbFr=GiT*XZTyKmqz#-O j [H;R` *gtϝ4x2=ueP6y^2c5 }tH_gn:K8'jjӴKٔ42}v!}!nRhkAj4O4Ex;Y ubIoއjql80V"cT^.Z6rr( 3ܼRO% ϗ2n UVH-3gjy$3oΝqu^V۸ep9-_Bp*[2N8k"n4XV{ߢ 6Xu_%J-V߽xfVYAtwD5js|!_d/a 7/6zڿJ+"{(PnKALԴ,>=ݨrv-,c oJ9y$cU/ }; ߹yƼ*(_~x!}WcLAi[y=yhat`O@HUztdr::mk=EEC6pO'85A5bhp*n!`P'Oy6>B I:}6okWQrV璆E7&mDAmE@%9Q,^o.M SL#[B}#Jj2X9vgIYϿv!e,w]+W&o&?L~jhό뼦-,)`i ~y1Vi{{:/kca.L|;jbp/m 4e< ЩNs.r=` 0xxg8 zfͫ(M<8ʃ6 ūd&w~֛=!eְ lorb0hjXv;>"Ecȡ~9,f@Q36e !XZLһD/T< 9͈!Dif6:;>*H~ P3Ы_^ kXҭGkY@WM?arZ) nK+DV+ACL4:;wϨ߆.B:)#1iۮ#2}lIdi"I}֦6E(=`]gw/q@8ØLTν8yKVJa Xcȩ !h+R_k(pKvoeZ|ehC՞unluJYҴN̔ij/Y΃D eXO VPIP߳b:)w z'Zt'&!0_i[8F \Ʋc*`ď%$y;J@:%V0+K6zcmh@2B9-e! _iFaC@GS10/lE?pPmALM R}S }$ε0zɝcHip؝ElgW^}&mF8_gh8DbQ@_QLcm*% &ǶQ5+/(ȰC#?;u/ӐT:7e*ԱR+ ˁ= FdE':Mj{p2RP5${n񞢥kTs:ڥt2cYޔoe$,KU-3(; 0Szy<:Y_eEԲTk g [TR{-" a,$hatSC˅iy:M~S`/3P5M!sm)ra!\7,Ygb=uu8@>vTøy:|S,Ȁ|C@`aiu_~D~j|v/Q\'* a0Nw r eqF avҵNRdN z=;JH A.p*])2Q @)NPZD/ pbPfQ}%]+~yoTV]>o~udbsu Jɔ!:m|)meQ =Lke1v#9b>jj4T]XN-71#Bnڑ Cv::sS;TInr+сԩ_-–,| ^ W Rt4eeƘ">1rHR'/X;v]wA 䗑PX@Չݟ!9$~d?ѵgWSnT@s ϶,AicbJ|S-E*ҸE7-(_q'94"kV3E]7b.e:/dz w/R])M](#Z+\01Je09.U BrL"qUt{NMoxᆰ•;Sx`X tLn+l@ #a9Ejx3av]~fIEiYch}RkxeySus)C5!RDNEJN{ƥ~kre0,5q+( N30YFGeL%,OEAR#9[Ec'G+|8b~dύ.6'ʬe0sg9VNYdW*Ҧ7qa C=JV1Jw"E4z8$q0rѓﻉKᔛXN^.zDxQ|je:yN[y(?ƥu^:bhXl)*Y[8ukRAhp$<:a_j/*FC#">* ,Xy夢:O lnX${9`V/YJxp~]%d ;^?3Aѽ}YxiB_Z1'ٌj/?G6*e'KH3l'I1n~@oP/L}wVLBЌM)68yy S3]ݡ!߰ ߴA1Y~JDkca *h.bbڨtDT)'Qk7RKG 3…"q~-#j!]M8ǾV,b# lryˮ-|ϣpRo|@n ODTXn8䠠 dBҟlKjf]!n~o 2榐z m 1ɰepN~&/f|R.83M(juh|ZհioϻofN?&]Wұ+?^7n W왍AH-lYm]G?=@:? 'vORKg5 tgrStuK%aJ!yp1ŴKq؃x|Q}~+qo.۔~uBxҘ>UZ}\|>Y fW|]y7g[q7\xIOVf`4Ќ䑛P. d|X b/&)AF;BǼ'D$ў&ihfLG%9'/`<px7ǫdOH1XÞw.4J+}Vb(*'Am`m$,QfD#}Lvs KK;b=ʚQ)`s66~x-}]DJUs{'e+-2Gp_=r{He4q'pp$UN0dDGjk(i0QO *VmO, ^5Jo A~E0RW +/m,:s!kgVњc6G7'07S]_݌9ybe8g8y?€oDdz5>*f]^ijʘ,\e(,ƯO@"Z)% iCǣLDHV'ԡPނ4A*.9j,OylU=v-&w>[@rkKh]lf;Pҭ_є PE;Ol,j>j ЧAaNDt$>v(~u-Z,?/V͐4wNPvWUXc]pw\Hu9uA?9}f۹qZsAG1`fdPuPft0B7S:8J'̎笐|j 0?q SK/9?؜cipD*(9Ze |:S,ǯvܔU1%m!SVA㪎7~՛k:L; 'vࢦ3|\'XAbمC8X ӜspFU CƲn]_!(qRYhL Uhso\oN`P+)?i%RWu5K7iG^bw]iZX-wY O ljym;$${9 C vip`GA#,|#O Q{ب AWi#j4tǍKatjŎ1-/*YR_%^BrUWǦ͚&BULWQQɜeDˡ,1$8$Kq:fԪYV*2:hз\Nh %݀L C^r,÷E Thņ^{ ~-&}ќƞ9B&ʑq둶 u{[~ͪB1Ag兺@r{׀~UIcW͈Lv$HQ~YLkۈ{4Qӑ- ԩjcݽ3-^e3HaA$B2(\,s3B W+'Zh_cV+Cưb w Jgu1 ?k nhaaW^U1,'dk6Q,D5e"6`f`É0uOzҚ߼kZ1՟s3Sćd4A'@R+ n{f9j5dpJ0#ZzTm!?֏C"J=ݐ%(BsY ʢ?ݜXK?dX-`o`j@~HdOv"UATW@A2ygvs 0ofMY,/..^aaI૰}:??kêE09K7e'NjIҶ-R3I?GOȷ|{mƋ'53 ! s)48N+EL}מ13mT,._H: Soi) RӁk@z=&c'Z5*y1$Z-*(hGkw!&?-83^*dwUL.bU)\}_}gz{a&I?if%,)U̶>^K1qLW xiY+Ynu`JN@ aATh_0R"Yv~kT]P(<7f͔wXмô !Bg3 k!Wi|GKEPk @~۷D /hV$~WnGxNÕYSk,X;_={!ő iBGxOzɏR(0;&o ;59&|E殬$ alVӄ} ly̖Yn8?-` 𯊮zh84(A&Fa i-Nr. WP8}CȻ7qJ&!h 0F뉊I|wVMWה_IkP=7p15N3}}"'}>|%1<S^D!Ykѐ;@*>v7'zzq?v-#ESX%,PF1D8辝 B9 둵+m&,߅{* +!s^''1H/ ;~b9tAʂqpT5?S $I4o6-Y-YvqVHQ<ƿCjV|؛k~-6G&T2XFBnKc^dڵ,]KB衦"ȶ0$e3G$ȱNVZ 3jH3^~ӞAk( .vM`8ܡC|:mU^F]UZ]56"ZcQ.+UddoV1ȰDH A ҪUDHfFJrT'Sc-]3"5b)[XАlIotq[v/VoN+NP{:,RW\|ގfYRtA1?jXX!( 'gu~$YBgKܨ1Ү.A_Kp*5٬ ٥1[}e/KZD+0Wqdޗ3Z5@XWxCA!_Ӷ0M(M || |$yhRJGR*tjd%K#_֋p"|G;y2'C8d=ڬ\VeCl+z2X"O19;FU׆F.h^ o`{ rk&n%-6=0c跱]``;C5vLadnkA[[,j}Q\x\E}!SKHY8#\n%3ȑ/vhs U 0sa吁@(?W2%BhBTR:6L?*`_\O6"Rn%sI_CPL2C: z޾цTwJ ZTb'`!H;SpԲ+ s~yorOCȭ\`AcݸK4vo_,,5ePRܭΐR܅B-4li,XlXbԡHHWn9.p)[M@hp2HϴOx1vUcg-b$/2&P+nLME"p2# ] 4PT";^2^۷4yF]?4P(-۬#xՎuQRI{It@ApyDAuor!0a*a}'3PQ"|>)TPP- Q4;1!(_Xݗ~6`,irYtI?Upnc뗃w?15>kFS3h;>bw/"]Kc!By$[Ư'n-a'u g0I :tD+owr|\bO1!f͚$HKY$T ikY.RU[]0ڄDUGk|%I|}[O_rUb\}Հ)ArU>/x18Y\r|s^5~*^L!I}'fcYYuJ3{blAHM[5}c Kvm6Ł?4>=_k}q)e!@z? LAHթL'i/ OP\ܣW[hpM9X  FfUZpZΏ>b '%!8hAX&Lݢ]+ajsGxӚ㳻uP})Ddb7DHMXl%[G2AmУ 09Fó.8jL?&"0a.$vQ>m4] **NT+j-T Jvo,u HfarbQ٣-ԃN|a0c}Ǻ iM~}k!+x y2=rmW!ρWd;\N2DnӚ$> }\+֢:e׍邇ሕͩLP>- 2@ô0P'+pV!Ez^͎cyr2OO3{yO (:+Qw* 8wܣR5-`)XB*zjSDK@Da[υ J~Yz`9fqy so@\{,d#[W7&mDW .vr ԍ6+Ec]'^34⩀Kݳ N鵖#S X@M h怰ьi}ZHZ݃3b%%ZB" YA˳,c-BL𱝩W7p_V}O$A>E\.SI ˨q 休W];iR˦UWf>fz ~7.TdƞCa Yvez/QQuwDp_oI=Jg| af@j+K:*\##Ac!-ZǕ?K}ּy@vuXn j%I*XuGmzUJ L5(1|8z!(kY#1fǃ^\xU - ^S[:(ܰLyVʘy)0T%UtGş]-:@VcTw'Ӏng i>@@2 e;dJ f.s1&y ,!0?K`4z,xl<5#iNϿxdoIߠ2Cwͬoe #)_vr"!>wL|C6\3iT_RC f y3ME=2EXa9aAf-Sk|a؇l侺Nہh3!v|a>fL=ͧ98g.]~l] kȀ/sB7Kyeܭ(-*%K=lJΖ!l4^.H(JNO yXR+;'f A;BE#~Fׯ-*d9+~/}$V5XN϶#K=8aKwV">X\@.Y_sal;I2w3_d#^%[t_w@GB^ X / v6 d.õBޗ.S%<^s󹉷B*fqr^4CnqKcy[-~ȱ{{ rcn!;@Ľ\̍ZrFWF <5J> ;39li ߴnq6:-_ZЇT3e"UDrO`?_m25.mǟT3ve"m;O LHC߳aНVC|DX:*%/Tȯ ixLosxK6QnMa; w<3Q|I`+i݂,IMjKU<fW1 ̮V9,C<\J ̧]R'Ē?/&yL\nvyЦ9C@aL}*A# %Lg13 ?,:p= <۲biTQ'Sp|6m&/`sӬJMADpǎb2!mbɑ~;c`BPƬ!AQXg3"MfK"Wd*9JxQuȥg^!GWک'xL2\ÄKCPݠ(f@4YTyθҬfa^!{J[ nf @{ 艩[vy5`rfjC\$NV$c#2_nnX(9JUZrTQQse?ZWnCh.ӛ,,]8Rcj8$*+K5(15+BZ|,Vj(.b&F߶.Xm'.eԴRݝ"9<+˹(vmDI"y5T4gg$gW@U2 bPs.!Au +q.4 [SFSƊ? ^euKZ99GOC=r;rqwIaL\޻db"b: ھXF|ZCW~ξʩG;f'˙dQł9)^yO: dF>CHr4~ؠ2tKߕANT΂PYGbf]y˧ζ-JEiT0R^ggAj%!Em%03%¢C٪Ov~ak3]<}Hȓ B: =C!ׂ8 Mh=h5<,u(md R\uHS G5/ݿ *ɶ YZ