libtukit4-4.1.8-150500.3.9.2<>,Wfh p9|F{jW@?d   ], BS     $8l***( 8 $~9 ~:>~>@F-GDHXIlXtY\]^b;cdefluvw|xy"z,<@FClibtukit44.1.8150500.3.9.2Library for doing transactional updates using Btrfs snapshotsThis package contains the libraries required for programs to do transactional updates using btrfs snapshots.fh h04-ch1dSUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/System/Librarieshttps://github.com/openSUSE/transactional-updatelinuxx86_64gA큤fh fh fh dY*_)72a4cfa395ac49b0581c76e9dcb9630418972939b447a48e5e23bb7d87681ae84ec94987f3af0b357c6af2280ebcb5b352e6c5fd51f4c33eed6e89d8f20ccb6c376b54d4c5f4aa99421823fa4da93e3ab73096fce2400e89858632aa7da24a14libtukit.so.4.0.5rootrootrootrootrootrootrootrootrootroottransactional-update-4.1.8-150500.3.9.2.src.rpmlibtukit.so.4()(64bit)libtukit4libtukit4(x86-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigbtrfsprogsld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libeconf.so.0()(64bit)libeconf.so.0(LIBECONF_0.2)(64bit)libeconf.so.0(LIBECONF_ALPHA)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libmount.so.1()(64bit)libmount.so.1(MOUNT_2.19)(64bit)libmount.so.1(MOUNT_2.20)(64bit)libmount.so.1(MOUNT_2.24)(64bit)libmount.so.1(MOUNT_2.30)(64bit)libselinux.so.1()(64bit)libselinux.so.1(LIBSELINUX_1.0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.2)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.26)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rsyncsnapper3.0.4-14.6.0-14.0-15.2-14.14.3ffee@d ccvc@c6@ccobbb@bq@b$@a@aa@araexaLl@aD@a<@a6a,@a /a /a@`@`\{@`KW`KW`H`H`>(`-@`*b@`&m`"y@`>`@`@`@`U_/@_@__t@_@_o-@_h_h_3_+_$_{^^^@^|@^ku^^F^V]^r]X]V]v>\\@\@\\\}@\eX@\eX@\N[[k@[[z@[#@[{@Zz@Z@Z@Z@Z@ZlZ@ZkZZ@ZqZTZ&@Z@Z@YYYV=@YS@YRHYP@Y0X@XX @XXXXX*X@X@X~@XWXRXN@XF@X5X2X2X-X@X@Xx@iforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comschubi@suse.comfvogt@suse.comiforster@suse.comschubi@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comaplanas@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comngompa13@gmail.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comiforster@suse.comjengelh@inai.deiforster@suse.comiforster@suse.comiforster@suse.comiforster@suse.comkukuk@suse.deiforster@suse.comiforster@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derbrown@suse.comrbrown@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.comkukuk@suse.dekukuk@suse.de- Version 4.1.8 - tukit: Properly handle overlay syncing failures: If the system would not be rebooted and several snapshots accumulated in the meantime, it was possible that the previous base snapshot - required for /etc syncing - was deleted already. In that case changes in /etc might have been reset. [gh#openSUSE/transactional-update#116] [gh#kube-hetzner/terraform-hcloud-kube-hetzner#1287]- Version 4.1.7 - Always use zypper of installed system [bsc#1221346]- Version 4.1.6 - Use permissions of real /etc when creating overlay [bsc#1215878] - Version 4.1.5 - Add support for configuration file snippets- Version 4.1.4 - Workaround for broken Tumbleweed package libfdisk1- Version 4.1.3 - Suppress SELinux relabelling output in quiet mode - Documentation readability improvements- Version 4.1.2 - Don't try to mount user mounts if they don't exist [boo#1207366]- Version 4.1.1 - Mount user specific binddirs last: Prevously the internal mounts would potentially overwrite user bind mounts [boo#1205011] - selinux: Relabel shadowed /var files during update to make sure they don't interfere with the update [boo#1205937] - Clean up /var/lib/overlay more aggressively [boo#1206947] - tukit: Merge /etc overlay into parent if --discard is used together with --continue - previously the files were incorrectly always merged with the currently running system - status: do not execute the status command if experimental - Don't delete created mount point dirs any more - Small code optimizations- Version 4.1.0 - t-u: Add a "setup-kdump" command; implements [jsc#PED-1441] - Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in the update environment; implements [jsc#PED-1078] - Add support for "notify" reboot method for desktop use [gh#openSUSE/transactional-update#93] - Fix kdump initrd recreation detection; the check was performed in the active snapshot instead of the target snapshot - Document register command [bsc#1202900] - Avoid unnecessary snapshots for register command [bsc#1202901] - Various optimizations for register command - Remove bogus error message when triggering reboot - Rework /etc overlay documentation in "The Transactional Update Guide" - Fix incorrect manpage formatting - Remove leftover "salt" reboot method in configuration example file - Replace deprecated std::mem_fn with lambdas- Migration of logrotate configuration to /usr/etc: Saving user changed configuration files in /etc and restoring them while an RPM update.- Version 4.0.1 - create_dirs_from_rpmdb: Just warn if no default SELinux context found [gh#openSUSE/transactional-update#88], [bsc#1188215] - create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure [gh#openSUSE/transactional-update#88] - Handle directories owned by multiple packages [gh#openSUSE/transactional-update#90], [bsc#1188215]- Version 4.0.0 - Last minute interface change: Changed "List" method of Snapshot D-Bus interface to return a map of properties instead of a comma separated list of strings; this will allow retrieving the snapshot properties even if they contain a comma in their value [boo#1202147] - Remove "Snapshot.hpp" as a public API for now - all public functionality is part of SnapshotManager.hpp - Add header file documentation for SnapshotManager.hpp - Add method to delete snapshot [gh#openSUSE/transactional-update#52] - Allow setting description of snapshot [gh#openSUSE/transactional-update#55] - create_dirs_from_rpmdb: set SELinux file context of missing directories [gh#openSUSE/transactional-update#84], [bsc#1197242] - Fix broken logrotate due to typo in config file [gh#openSUSE/transactional-update#87] - create_dirs_from_rpmdb: Fix handling return code of create_dirs() [gh#openSUSE/transactional-update#86] - Fix broken "shell" prompt after selfupdate - Add documented D-Bus interface definition files - Add tukit_sm_get_current and tukit_sm_get_default to C interface - Fixed typos- Moved logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d.- Version 4.0.0~rc4 - Fix building with GCC 12 - Fix stack overflow with very long commands / ids [bsc#1196149] - Use separate mount namespace for chroot, allowing overwriting the bind mounts from the update environment - this could have lead to data loss of the bind mount previously - Fix C error and exception handling for snapshots- Version 4.0.0~rc3 - Add Snapshot interface - Reworked signal handling: All public signals are sent from the main thread now, keeping the same sender for everything - Implement D-Bus call "Execute" for Transactions - Implement interface for listing Snapshots - Implement Reboot interface - Fix bug when using --continue on old snapshots - Fix hypothetical integer overflow in snapshot list [bsc#1196826] - Fix wrong sort order in status command [gh#openSUSE/transactional-update#80]- Version 4.0.0~rc2 - Fix missing prompt in "shell" command [bsc#1196580] - Add output of tukit commands to log file - Fix compilation error with GCC12 [boo#1194876] - Fixed (non-critical) security review comments [boo#1196149] - Fixed selfupdate - Code cleanup- Version 4.0.0~rc1 This release is API, but not ABI compatible with previous releases; existing applications will have to be recompiled against this new version. Major features: - Introduces a D-Bus service to access the libtukit API via the org.opensuse.tukit.Transaction interface - Introduces a C binding via libtukit.h. Other changes: - t-u: Rework --quiet handling to make sure no output is shown even in error cases; this is necessary for automation, e.g. with Salt. [gh#openSUSE/transactional-update#73] - tukit: Allow storing command output into variable by introducing a new optional parameter for "execute" and "callExt". - Replace multiple and non-standalone occurenses of {} in "callExt" argument. - Split transactional-update.timer into transactional-update.timer and transactional-update-cleanup.timer; the later will clean up old snapshots even when the system does not do automatic updates. - tukit: Remove legacy alias "setDiscard" for "setDiscardIfUnchanged". - Throw exception if snapshot is not found. - Fix various compiler warnings - Update spec file: - Include tukitd D-Bus daemon - Only install one version of the library (as there are no breaking API changes yet) - Add %pre scriplets for systemd services - Replace %systemd_postun scriptlets with %systemd_postun_with_restart to satisfy rpmlint checks - Add transactional-update log file as %ghost file- Version 3.6.2 - Bind mount root file system snapshot on itself, this makes the temporary directory in /tmp unnecessary; also fixes [boo#1188110] to return the correct snapshot's working directory via API call. - Use separate mount namespace for transactional-update; this should fix several applications that fail to run if a mount point has the 'unbindable' mount flag set- Version 3.6.1 - Fix rsyncing /etc into the running system with - -drop-if-no-change [bsc#1192242]- Version 3.6.0 - Simplify mount hierarchy by just using a single slave bind mount as the root of the update environment; this may avoid the error messages of failed unmounts May fix [boo#1191945]- Version 3.5.7 Various fixes affecting Salt support: - t-u: Don't squash stderr messages into stdout - t-u: Correctly handle case when the snapshot has been deleted due to using --drop-if-no-change: Don't show reboot messages and avoid an awk error message [bsc#1191475] - tukit: Make inotify handler less sensitive / ignore more directories [bsc#1191475]- Version 3.5.6 - tukit: Add S/390 bootloader support [bsc#1189807] - t-u: support purge-kernels with t-u patch [bsc#1190788]- Version 3.5.5 - t-u: Use tukit for SUSEConnect call [bsc#1190574] Correctly registers repositories- Version 3.5.4 - tukit: Fix resolved support [boo#1190383]- Version 3.5.3 - t-u: Purge kernels as part of package operations Required for live patching support [bsc#1189728]- Version 3.5.2 - tukit: Fix overlay syncing errors with SELinux [bsc#1188648] - Don't print message for `shell` with --quiet [gh#openSUSE/transactional-update#69]- Version 3.5.1 - t-u: Disable status file generation by default The new experimental `status` command requires the availability of /etc/YaST2/control.xml, which is not present on all systems. Hide the creation of the corresponding status file behind a new EXPERIMENTAL_STATUS option to try out this functionality. - Increase library version- Add tukit.conf to spec file- Version 3.5.0 - Add alias setDiscardIfUnchanged for setDiscard. The old method name wasn't really clear and will be removed if we should have an API break in the future - Replace mkinitrd with direct dracut call [boo#1186213] - tukit: Add configuration file support (/etc/tukit.conf) - Allow users to configure additional bind mounts (see /usr/etc/tukit.conf for an example and limitations) [bsc#1188322] - Add 'transactional-update status' call. This is a POC for obtaining a hash of a system to verify its integrity. The functionality is still experimental! - Internal bugfixes / optimizations- Version 3.4.0 - Apply SElinux context on /etc in transaction [boo#1185625], [boo#1185766] [bsc#1186842], [boo#1186775] - Implement inotify handling in C instead of Bash; this makes the - -drop-if-no-change option work on SLE Micro [bsc#1184529] - Use `tukit call` for up, dup and patch to allow resuming an update after zypper updated itself in the snapshot [bsc#1185226] - Fix obsolete output type messages in initrd [boo#1177149] - Make different base snapshot warning more visible [bsc#1185224]- Version 3.3.0 - Add support for more package managers by bind mounting their directories - Support snapshots without dedicated overlay [boo#1183539], [bsc#1183539] - Link RPM database correctly with older zypper versions [boo#1183521] - Don't discard manual changes in fstab [boo#1183856], [bsc#1192302]- Revert inotify-tools dependency: The package is not available in SLE. This will probably have to be implemented as a native C version.- Version 3.2.2 - Don't skip patches with rebootSuggested flag [bsc#1183442]- Version 3.2.1 - t-u: Forward --quiet option to tukit - Regression: Add /opt as bind mount into update environment - Remove output indicators of the called command to not tamper the result line - Fix /etc syncing with --drop-if-no-change- Requires inotify-tool to have --drop-if-no-change available- Version 3.2.0 - tukit: Add new command 'callext' to execute an application while the snapshot is mounted. '{}' as a parameter will be replaced with the path of the bind mount. - Fix --drop-if-no-change [boo#1182525] - Check whether self-updated version is executable (e.g. on noexec /tmp) [bsc#1173842] - Fix overlay synchronisation with SELinux (again) - Always overwrite supplemental files (e.g. for network configuration) even if they exist in the snapshot already [boo#1182544] - Improve logging and error messages- Version 3.1.4 - SELinux: Fix syncing of SELinux attributes when using overlays - SELinux: Tag the overlay directory itself (again)- Version 3.1.3 - Fix overlay syncing on SELinux systems - Fix resuming transactions where the parent does not exist any more- Version 3.1.2 - libtukit: Report when application was terminated due to a signal, and return the signal number as a return value. This will cause the transaction to be aborted when called via `execute`. - libtukit: Set PATH variable for internal commands to fixed value to find the helper applications, as in some environments such as PolicyKit PATH wouldn't be set. - Fix compiler warnings- Version 3.1.1 - Fix hang in tukit on aarch64 [bsc#1181844] - Prevent deletion of snapshots when resuming a snapshot where no transaction is open - Make tukit work in non-dbus environments [boo#1181934]- Version 3.1.0 - t-u: Support installing RPMs from the user's directory again - Adapt selfupdate to new packaging - Implement signal handling - Remove empty text files- Add libselinux build time dependency - Remove RPM version check- Fix libstdc++ filesystem ABI incompatibility by using newer gcc version on old distributions. [boo#1181582]- Rework packaging based on Fedora packaging to separate all the components to remove the intrinsic requirement for Zypper- Version 3.0.0 - This release changes the internal structure, but should be identical to the previous release feature wise. - Major parts of the previous Bash only application have been rewritten in C++ with the goal to provide an API around transactions; the transactional-update script is using that new interface internally already, however the API should be considered experimental for now - if you are interested to use it, please notify us in https://github.com/openSUSE/transactional-update/issues/52 - A new tool called "tukit" provides a C++ tool that can be wrapped by scripts to leverage the functionality. Please consider it experimental for now, the commands may still change. - Bugfixes: - Implement support for system offline update [boo#1180808] - Add statistics files to update environment [boo#1173282]- Version 2.38.3 - SELinux: Make synchronisation work for both pre-SELinux snapshots and later snapshots; SELinux support should be ready for most tasks now.- Version 2.28.2 - SELinux: Exclude security.selinux attribute from rsyncing (again)- Version 2.28.1 - SELinux: Fixed changing the wrong grub configuration file - SELinux: Move /.autorelabel file to writeable location- Version 2.28 - Add 'setup-selinux' command for easy setup of a SELinux system - Allow complex commands for the 'run' command - SELinux: Fix /etc / overlay labeling- Version 2.27 - Add support for network systemd-resolvd network connections in t-u environment - Mount /var/lib/ca-certificates read-write to prevent SELinux error - Prevent calling transactional-update from within transactional-update- Version 2.26 - Fix broken sync for second snapshot [boo#1176989] - Add new options to allow separate cleanup of snapshots and overlays - Check for existence of inotifywait before using it - Check that mount options don't exceed maximum length- Version 2.25.1 - Fix inotify watcher setup - Use log_{info,error} for more messages to avoid messing up Salt logs- Version 2.25 - Reduce number of overlays: Instead of using transparent overlays for all previous layers only add the previous snapshot's overlay; this will greatly reduce the number of overlays while still making sure that /etc changes in the running system will be visible in the next snapshot - When using --drop-if-no-change synchronize potential /etc changes with running system - Exclude all non-root-fs mounts from inotify watcher- Version 2.24.1 - SELinux: adjust labels for etc, fstab and grub.cfg- Version 2.24 - Add partial SELinux support- Version 2.23 - Add "run" command to be able to execute a single command in a new snapshot - Add "--drop-if-no-change" option to discard snapshots if no changes were perfomed (BETA, required for Salt integration) - Removed previous CaaSP Salt support (gh#openSUSE/transactional-update#33) - Avoid "file not found" message on systems without /var subvol- Remove unused attr requires - Change bc to file requires- Version 2.22 - Use pkgconf to determine installation paths - Enable SSL connections in update shell [boo#1149131] & [boo#1133891] & [boo#1192078]- Version 2.21.1 - Rework error messages on failing umount [boo#1168389]- Update to version 2.21 - Use slave mounts for /proc, /sys & /dev- Update to version 2.20.4 - Mount efivarfs on EFI systems to make sure the bootloader will be installed correctly [boo#1162320] - Fix removal of existing overlay directories- Add dependencies to btrfsprogs, zypper and snapper - most of the functionality is not usable if those applications are not installed. [boo#1166502]- Update to version 2.20.3 - Reintroduce compatibility with RPM < 4.15 for inclusion in SLE / Leap 15.2 - Prepare for removal of /var/lib/alternatives [jsc#SLE-9101]- Update to version 2.20.2 - Use full names for zypper options [bsc#1164543] - Ignore /var/lib/rpm in shadowed file output - Optimize create-dirs-from-rpmdb- Update to version 2.20.1 - Add missing documentation about --continue option - Avoid error message about missing fstab file on first snapshot creation. [boo#1160213]- Update to version 2.20 - Add the option `--continue` to extend an existing snapshot. This can be used to perform multiple operations before rebooting into the new state. [gh#openSUSE/transactional-update#16] - Make sure the dracut service to print warnings on /etc overlay conflicts also runs in the pre-made images. - Add "none" reboot method - Remove conflicting overlay artifacts in case an existing overlay directory will be reused- Update to version 2.17 - Provide network in shell on systems where resolv.conf is pointing to /run directly [boo#1151081] - Print new snapshot number at the end - Always mount /root subvolume when using shell command to preserve history- Update to version 2.16 - Use default command if options, but no command was given [boo#1146116] - Make sure only one process appears in `ps` output [boo#1111897] - Move update check: If a new repository is added (and ZYPPER_AUTO_IMPORT_KEYS is set) adding the new repository key won't fail any more - Avoid unnecessary snapshots / reboots by detecting zypper operations without changes more reliably (e.g. when installing an already installed package) - Update the manpage accordingly - Bugfixes: - Ignore commented lines in fstab when checking for shadowed files - Avoid warning when copying network config - Remove Perl dependency - Building documentation requires Python 3 now- Update to version 2.15 - Move description of interactiveness [boo#1132438] - Enable network during update [boo#1137890] - Add compatibilty with new overlayfs versions [boo#1140057] - Allow updates of the bootloader on EFI systems [boo#1139015] - Add support for /boot/writable [boo#1138725]- Update to version 2.14.2 - Prevent unnecessary error message on systems not installed with YaST (e.g. KIWI)- Add requires for bc, needed for some calculations- Update to version 2.14.1 - Improve non-root fs changes checker based on feedback - Disable snapper's zypper plugin during transactional-update run - Allow parallel installation with snapper's zypper plugin (useful on read-write systems).- Update to version 2.14 - Warn user if contents of /var have been changed during update - Noteworthy: swapped position of upperdir and lowerdir in fstab for better readability - Major update to the transactional-update guide- Update to version 2.13.2 - add hooks for telemetrics- Update to version 2.13.1 - Bugfix: Clean up empty /etc snapshot directories again - Use official release files from GitHub for building- Update to version 2.13 - Fix a serious data loss problem (deleting all files in /etc overlays) in case /var/lib/overlay/etc is not part of any snapshot any more. - Avoid error message in case a system has no /etc/fstab.sys- Update to version 2.12 - Implements support for needs-restart (Fate#326451) - Adds easy rollback to last known working snapshot by using "last" as the snapshot number - Migrate /etc/fstab.sys entires to /etc/fstab for systemd being able to create mount units; this will prevent errors on unmount - Remove implicit --no-allow-vendor-change - this option can be configured in zypper's configuration file now - Add support for mounting the /etc overlay file system as a systemd unit in /etc/fstab on a read-only system (replacing /etc/fstab.sys in the long run) - Various bugfixes: - Only remove /etc overlays on read-only root file systems [boo#1122455] - Disable "Persistent" flag in systemd timer unit to prevent updates during or immediately after the boot phase - Don't set global zypper options during migration - this is not supported by the migration plugin - Fix error handling when interrupting while rsync is running - Filter out security.selinux attributes during rsync- Use noun phrase in summary.- Update to version 2.11 - Update man page to explain new /etc overlay handling - Add special handling for migrating away from old overlay directory - Read default update method for systemd service from config file - Add package "transactional-update-zypp-config" to prevent accidental transactional-update uninstallation on transactional systems (boo#1111319) - Use "up" for systemd service on non-rolling release distributions (boo#1111321)- Update to version 2.10 - Introduce /etc overlays - Each root file system snapshot now has a dedicated /etc overlay in /var/lib/snapshots//etc - Changes in older snapshots will be visible in newer snapshots (if the file hasn't been changed in both snapshots), but not the other way around; this makes it possible to roll back to a previous snapshot even if the configuration is broken - The /etc state of the oldest active snapshot will be synchronized into the new snapshot to prevent ever growing overlays - Removed creation of /etc backup snapshots - Removed complex overlayfs cleanup handling during dracut early boot; only thing left is to output a warning if files have been changed in old and new overlay after snapshot creation - Unused overlays will be removed during "cleanup" operation - Add compatibility with snapper >= 0.7.0 - Correctly detect BTRFS ID when using multiple snapper configurations - Fix disappearing prompt in "shell" command when application was updated - Prevent accidental rollback on fast reboots (boo#1111786) - Use zypper attribute packages-to-change if available (boo#1105992 & boo#1097619) - Add kexec as reboot alternative - Added explicit --with-doc / --without-doc build configure opttions for enforcing or excluding documentation build - Removed precompiled documentation (boo#1088676) - Added more dependency checks to configure script - Small improvements to documentation - Restored compatibility with older rsync versions not supporting the -x filter - Small bugfixes for cleanup in error situations - Fix possible incorrect detection of snapshots numbers during cleanup - Mention parent in snapshot description - Add dependencies for documentation build (boo#1088676)- Update to version 2.6 - Add --interactive and --non-interactive options to change the default interactivity for zypper calls. For previously non-interactive calls (e.g. dup) these options makes it possible to pick the correct solution in case of conflicts or make sure that a script will never be stuck at an input prompt. - Add kured reboot support - Tries to clean up temporary files and mount points if transactional-update quits unexpectedly - Remove trancactional-update-helper (replaced by zypper options) - Create /var/lib/zypp if not available (boo#1104452) - Robustify parsing zypper output (boo#1105992) - Various small fixes - Changed permissions of systemd script again- Update to version 2.5 - Support for overlayfs attributes like trusted.overlay.opaque - this will avoid disappearing configuration files on system updates - Documentation update - Only sync /etc if it's on an overlayfs mount - Use correct locale for zypper - thus updating locale specific packages and avoiding "empty" updates where transactional-update didn't see the change - Add dependency to attr - Fix permissions of systemd script- Update to version 2.4 - Bug fix release- Update to version 2.3 - Reformat help text / synopsis - More detailled output (use --quiet for less output) - Log all error messages into log file - Avoid potential lock file race condition on self update - Accept package names with whitespace - Don't wait for user input during self-update - Fix broken error message output when creating new snapshot without reboot - Fix erroneous mounting of stale grub mounts- Update to version 2.2 - Fix security issue in self update [boo#1091316] - Create dirs in /var more reliably by sorting the list - Rebuild initrd (needed since 2.0)- Update to version 2.1 - Cleanup the code cleaning up /etc- Update to version 2.0 - Create missing directories from rpm database during boot - Merge /etc overlay with root subvolume during update- Update to version 1.29 - Implement self-update - Disable optical media on dup - Ignore certain zypper return codes- Add conflicts with snapper-zypp-plugin- Require perl-HTML-Parser (needed since 1.26) [boo#1085764]- Update to version 1.28 - Adjust for latest grub2- Update to version 1.27 - Fallback to snapper without dbus support if dbus fails - Add workaround for update-alternatives - Add support for /usr/etc/transactional-update.conf- Use %license instead of %doc [bsc#1082318]- Update to version 1.26 - Auto accept repo keys config option - Detect broken snapshots after abort - Ignore user deleted snapshots - Include all error messages in main log file - Add configuration file - Correctly implement migration of major OS versions - Default reboot strategy is configuration option - Salt option is deprecated- Update to version 1.25 - preliminary SELinux support - support for seperate /var subvolume- Update to version 1.24 - Don't save unused snapshots if we may delete them again. Partly fixes [bsc#1071038] - Copy passwd, group and shadow to /usr/etc if modified- Update to version 1.23 - Fix re-registration in rollback case - Fix problems with updating the grub2 bootloader - Add support for migration of products with SCC/SMT - Re-add support to re-write bootloader [bsc#1068933]- Update to version 1.22 - Rewrite cleanup code to be more aggressive- Update to version 1.21 - Reset salt grains even if no update was found- Update to version 1.20 - Improve documentation - Add pkg update option- Update to version 1.19 - Add 'shell' option for debugging and testing- Update to version 1.18 - Auto accept product license in non-interactive mode- Update to version 1.17 - copy modified bootloader config into snapshot - unit file cleanup, no change of behavior- Update to version 1.16 - internal changes [bsc#1045942]- Update to version 1.15 - Rename option ptf to pkg - Add option to set salt grains- Update to version 1.14 - Fix check of return values of commands in pipes [bsc#1034900]- Update to version 1.12 - minor bug fixes- Update to version 1.11 - use --no-allow-vendor-change with "zypper dup" - update manual page- Update to version 1.10 - implement and document rollback option- Update to version 1.9 - fix umounting of special filesystems and subvolumes - fix interactive installation of PTFs [bsc#1023026] - fix dependencies of systemd service- Add Requires for lsof and fuser- Update to version 1.8 - fix references in html docu - build kdump initrd if we build standard initrd, too- Update to version 1.7 - build html docu, too- Update to version 1.6 - Add support for kdump [bsc#1018098]- Update to version 1.5 - Install PTFs in interactive mode - Sync state file between current and new snapshot- Update to version 1.4 - Fix wrong error messages - More debug output if umount fails - Try a second time if umount fails- Update to version 1.3 - Add initrd option- Do some spec file cleanup- Update to version 1.2 - suppport ro-subvolume with overlayfs- Update to version 1.1 - bug fix release - implement lock- Update to version 1.0 - implement and document PTF options- Update to version 0.99 - Support for rebootmgr - Write real manual page- Add empty directory /etc/systemd/system/transactional-update.timer.d/ so to make it easier to override transactional-update.timer entries.- Update to version 0.90 - Finish normal options - Implement support for PTFs- Disable restart on update for post install scripts- Implement activating the new snapshot as new root filesystem- Initial version/sbin/ldconfig/sbin/ldconfigh04-ch1d 17180950614.1.8-150500.3.9.24.1.8-150500.3.9.2libtukit.so.4libtukit.so.4.0.5libtukit4COPYINGlgpl-2.1.txt/usr/lib64//usr/share/licenses//usr/share/licenses/libtukit4/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34240/SUSE_SLE-15-SP5_Update_Products_Micro55_Update/0537c6caa4dcf5000e8d901120520425-transactional-update.SUSE_SLE-15-SP5_Update_Products_Micro55_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=f9e4f8838c43bf7141a42c5a9ccff5c4b9ab64f4, strippeddirectoryASCII text"PRRR R RRRRRR RRR RRR RR#RRRRR!RR"RR RRRRRRO>s@X[A0Mxutf-8bb8f7119899a3cbeb3f9739c9b52f250b8ad328ebd82e12626b7ec0047d0963c?7zXZ !t/W]"k%wd>CJ&4 ,'+D&W4A80k+4Y6 'VRB)54&tZNxkozT 9/c6t]bHTAj$^t/sfyݟvi^<.LL Eoe'Y׍ϜpBؗ4.^šj#dige$iC1 큜*9 ͖SoQ!HkYlfkI'/rͿ S_ 9 =v8wUdha6젩\'3[Q2jobc_R2h)2IN AUA4>{E3o}BXuw.~c\# HƣuHJD[ҕ[PJWp28_qN FA [,Sg<m0Eg7=lX5` [+X?z<]t瘴XXB)tnJbmUM \nx"xk9a%F?Tsu쑁d&0X0dE=[ '(➜ւ;5A&ܚLcF* 1,TKe<>8o3Z+.~ XBXLUϪJf2;.EqWjY7m`CMS2\Ш{8́.GK'훖0' fU:c!9;6̒ib3*c5Px4#1#Ӌ%p;˥̶Z"7)V v&YStDB-@t.BCvFb8h]LkM8NrSQ B#lMaD?bɶGe?'Rm_9~Y5)3h^^H9YFeJ:ҁ0­.uobّ*m@1A!MFeu/\ Lϝ?a}[*-dj1? He&# E@ӌ@,  D9?e"w,w͝6NN5Ks o*J1Dc,QOm]sGWEh1i`2s2ޯlh#Wj>AU(ddqm_͌Uȳ'{g5Ew%N$^fZZdǤnEG)tO) -Ɂ I%Tߙ`,[G\H١ꞨiMpDor#-=Қb% Y8a ^B-#Z7JIZWS,2IP6uJHZɨia[jG*zX TPT*n5j.Z2jTVt \ Fn5̞+vXWl%G^ 0M+87-W%dJMv|^SxO6P+ݛo~MD}hY4OUx~+o?ihg1o{ljc&hKҎQ^)mD#IRl>Qy5;#1h9c ѧ!0 { Iu6-U8 ʂjbRkhZmN6E>%PC%[a|C޲{絴q*0\6_ r]VSj?9^)9z 6Z,K@Ol6gߢYJ<7 CԖ⣳bƙC*c l ˅ۥ'Bih]w ɥ+6*85a7 xϜnk"E&=0' ϭjRw/!@FJzk..b+.Z"} o/͐zv Afzem-Qƻ㠯FQFM\ᰘhˆ1uB%:u88LEuw;XV J h]قIe^[Dk*xΛqLJ}&+ݒǦ-VOTХzju$QTOXy"J/}51gbpAyf;خ3OBK#'|&S/ i%mg|bJm멧IsyEs%޴8FŞR-g 'rS / *njO?T޶;XZ|?b4~Q?do$@!(q4-ӑ4 mS*45Stw㟽HԎAY%Z;DnmѼ邏)`_s3|Ɖx[SwUݩf&*UVAu+ӷJev(,Ca٭9k3I2 jbc V/q]mL ekRҰ~tj2Lw|vQ%B1҂H;+U$R[&z=TZ4naz%;+GX69\A»s`ٲJ4kнgӦ+,d^ֳXyE#3ˍn@xd+KL2Kث@tL~,%i?"<4dץyWCpo[[˽`?eZ3/)5^y!8@&Y(c 6ːT:bHM <'.!~HFOT,\1oty_Xכ/9Ej+t\)d`D($+ߠp#IҳU= <R^I* uE:1?uW}ҵGVqFI9P-ܗ8[נ "wOcޝncv0|8Q}i}{ B~tM~b!h;p%_ժuprۜЊ ڤVTb+>A)%v= 8ZmHe?~.8>Q8F285o7DzTO*hH՟ҧ(A9m!Y >(6i=_`77֑${~OqUf) }K dݙuCl:] xMJE|^mJp:ű̡d?GwHpQLcX&-M=QVxzc/ '5@)S[@}wL4t11;/_EMSύ eU-Giݯ%$DU@q*Z$}|EwEk 0Oc*# ^ynhb2IfuDT?᦮t #C t<ʇ"U,q}NZh\EM8,q`֋ϬJtſ-QBݐgLt_He*j'lZ))EclK{U]]nuP1 c¥׳5(a|2vp]̓7@,8K|?Z3M- )T]jʠ{k3ᥩ V-;/TOf~FG݅Eqv)x})bwN:i y<6:FaoF9}ߝ@֕}9zPF1ߴP-_*FUВ6RE|y^ޮOԡlLD*fd .Z}fw⤬HC)4P(zX6r(bRZ~Z{EhAP-t@j;_M'ɇ}L:9E^Wf*[#-*Z{ ,3HwO듽mou4C5ԙvn)X`y yKO=x[|xgJC~=3ؤ1c^ꎄ7}9Q}PLh].he8z&{f3ˇZRdGҖP3:+>ķl_ߣU/Gv( Y$ QY>tאCqK[/ <q)RWebѫЦk|gFZi*j\pI.SB)A@f2Ϸ23dzz}syd~FZ^ӓ7UKTTG;L/k) Em"v9[p0&;oLr9e-+HI}jȵ([l+0˂]ڨ]4hx (z Ns?T$~5E9"9?4^t@ V,1JmKXr ypLĢg4["})?FB 'PFa +qӔ:< /.$g(tKĬ::A iB5i^q|ఉ-nj58շl=AW J3 &:"iS`-FͲ"X9Mx&V {dsRQ]zE>6aZpΏnT8ʶCtC}hg<#yg*"ό S+̽i;}X%ZVBd)zЧ^ӼB幊L~[V=cCwrf O󍯯(~RNsM^#kM Έͷݥ^*O%J n Q!u(M0[|.XBdBK{iɯ09&N.MNT`?c{,~iųć&b9%sf S+fo27ZTR-z*l$#Av{ܱkکWA Y_ZGf#{Y]hxir>4JBA?A;ܲG@;|HUB&ÏPD6& y>i>TêreqW -"2!CYU+34Q3r`yv}-pÄ!4PT\G%`xEy2r9fXKh.0:&oEA˗"~W;yXkbd,%$Q},hd;wȈ#!ZQln9Ux 7@+:&/Z[Q $=b{JtT ijo SVIs\s؎a#tW%ʙ ܉GgENk0S̫7ͥt'2R%F) ~S#(2y (Ob#'[RYT }y/Q@pm1*tT#Yi^L<0 n.(`pajUJDgFHX+DCՉiu Ty'W|3Z ڡ "-\3ַZ|9L~߽7ʽ݅!fN$-]yGeUf@%/xA.@wRsw>(m WQխLzߋqr;JNw&%MK.3 C˅f!L@[N$=(dwH0O7g PW#DGo\Ϙ*dGT70e] /hN$$_=&MNكٲ~sF_=)^{kݗ ]O41qfD|:S?鰍󏮝}k>5r 8h8o"I5x0`F*2Y*}U2w\ 8֓뙠9<"L*@*TXGGm[m@E#$(ƿVvaV!j5d9{*M*BJ*oe}~y.&IDBpQQWq05 LyK҇Zz-*cD%\~uA[ijK,<&~zO!hԓIR%"g†tP_sљ)㤁CjNq@ ]:W?tv\ev;5KZE3Jas,aZ`V? di9&4.a$T 0]@mGmY0s0xJfZ)P%㔊8&JQnv7 hk=S_Z"I.aZ~%_YH\"؄џԇ!Ƃ:楡e=i(6 4D=`&E $,]sr)JD7DzX`QAb@}T~(bUL˒uHmy/|\at@֔e^V@ZV?z^@/&ˁo^BH|9 7}K\juBPh ˧\cZ A<9$WcX[=q4Vw + ehTw ܰˠ X(ӟ`<> &p{m<̷鎾3@vU\0C;N=LJ[1}5.ZG=ݠͬ4r򢶙AWSo^@Z4y&YF/z6p0֕X0 d#{UbeN$P4+V %u syy!8)vJ)gE7$멵ujHNwCt&V!b1 ukX 嗯'zJeHT5BS =b#fz9vɶU;2"y3+Ii^M%uP|neO36glw;˺\.pTTOT6-;*V ڿE?I㞜[C{+mx᪾"0mˏbʭ "mqS6shDp6p"LC "Fq@ U*b'^nzl_DŽ/M=CUJm$D:y2\˨a0%joBG6KEF6yR+07O/&\?-L "*@fS2%+'ZZb8+KO$[M8r;lBΠWf<.feF~RAQ ^A or-Tjq,LE/Mqڒ42Y'0Ѧ>b>WVTsnN!GYdIDlrdd4?eO-@jf3Cj9{,팅C `45$&Уz9Zu)!s*(QaX">\Ǚ~w3$w͵xWPU]@(@.$;/=zY)v[Z<[&z(C7r0fBCڽ%Y R(J7/0 &6!I%~ ` ǣ-WQuuXcV9%o):0\Z|5W  ۇ183t*V"4v1#H oˣrp _i{ C&&ć%*lMR?tKɬkkGU-MT-BMVGF\TRӖ䌭J50Zsұ4Sv2yAqʗmr̓I+ӏĕg 71?.,WW"K$KE1'[ JD::.w(ᜎϧlg_g uY[wDLzRTn#d<ӧ'K{I+$ |E/)0] ^ yaMQ'<7iG5L7zW7311 ӭ O1.0g_ ?v8RKqcAĝIqtQ_,I;]右QO%$C7$P>OP@8^C~_'ʼRVO#5:,D:1OX*zEϹ2Ǻ׵0eC$֫X o_-ҨiË3uH屲pk^4cYq,pQ _IԉFďp: ma;'.ލܐ {jb|ĎqA[M*XF`|EFmS'Uf)JRn ofd]0dOB+oWS K6ł= h}SR륇dN{jB܋׿C(\`ľuǭ4FV pyJf(5+~dȎޚ"<˺dqH_߈S R_V UL2nLx2֥s;Gm'W em1kfM%j3_eyR`4Z?zl>ot]e?o0.)0)eY&ש% F|1ɠ5›'@訬"-p7S:+F/Ql85ش|L`9E`zݪr|D\v3 \ 5Ka39|p&n[5ؗL-duy  }Up㔳klt2`g1Y:1ڶAު&qfDq_FKl ws.A: _z/{9}RkHo?b@̀>H3 <1ShJa X>W=73.#$pkE=izu8b=zȯ Y\Y`Tw> %eWj,4o"E +1+kz;WؖcjDAKuw=g]}4x~d:ȠP;doq5&G{ Qqw ,:8+ױ1FeTg8z+:A873ʂ"}q;Lp$bS_q`[ .\>`tEՉ=V;nSy|=d.`WA&"y:صFMpΚf"oGLQ{յ~ ĝ%uLh-.ֈF>ͣ}_xk!7D"`.I66ю4g$"4M`Ic2jSP t9ԗ'6RtW^ߍMk ௥ٷ/rV+{juۼLU_?h[)14‡RȦ\pz$?~[6~en{_/p@rh+a p[\{ ,aq%ĪޜN X!^˗FY.F7,9q[e7Y +=rLHԴֺioݓ̔~{O,.2vgwҺ_(#$b^~Q"18ml1 l yp]&P ^M o`n?rarT6DW-9_JgVγ7I~aqM6A7 `E!RMg#UfP3/PXٵ4XC9dp4}cЏ9Ϻ4O`\MGiRHQh3>^#_2Tׁ9; 7e5ʑ2}?h%5p'甧EC_H^Ƃwy7JOnAJ P*>s}WQgeH PDt$$*e$lj5o#Bo)y7`jk~0>6gZMݐ a={[sd ֫=8<[g'E;I'a $d!.~Q͙}a9bhr`S8ogJi/zX-\s<>NA}­GkA~MG뜴Nr ɚ9M3ZJ%͡?Z5T{AssC$ɶ:9M~BB'stW~+>W4ѼwxikV"<I>&jAv S;OܖQ^ĢyEctT$] E[IF? `g+\cy}bҷ# U1y2 Ѯ .3$&3U`}uΗ`fb;1' Y#B% LG&G^-pgjR>Ζ:u+LqKWk|3Tbt]?CON Ҵɻщ֘!&mf+oF?ݧoXN$]'FXGv1NaC38nzʖVHgX*{DPx:qɷ'RTđTΗ<EcVODgyK#:Ή+T۔.tOaXś#B[8[D ߝ.e7u0 YTk(SR>4.W+yzݠXAfu,i.aztg? sۜPYrXm*Rv:0aTc_`Fixp:F)8ӝ.*֗d->ʍ[Jp>ROX&>v̔_.dBg\޸bms.E9ET}PI&hPz.FبQ&gD% Hx ;;<}Ѣ_ 7&|K.nZpIj9`5O2, *m!.HSL( oPG0,fO3}cA`PWz|}%_/x&D6{zpB-q7a30G>Uq~sɧO;Eju)ᄉ)wTSD\(6 ʙyk^ة :,|9 :fdEwieWɕz6F!E?C6΢)w tF=w#p= 56U@5{~Y[1LRdY?PАAGq:]<8s :Na]dmin:=?l5hP9SYEFCW=vBmP}7gyݏ:S%/`2I zqaТWp[ Z-8H^F i?iwUBk_N.sF[#:YBCl3 5vSZ^d`[o6Bx\nO~z_3<Z= S\0 I]訑jjl1-֟#+@Ih_v% zLf1/Э0B\TCh*{v8Hk-ٷ(=k+-Õã\NaF6i@lM `Cp0s pQREi(>< tSz:Z Gm>Hg/Aϫ QՄ0^!;4iԌD>lʃ@0FŎ$V bgZZCƐ/b)dS)Ϋ7>$;+e3G[$7C΂#OPf(Ӧ3ӟM䉀|TW C̜E|<В#6j'72Y# :8: k9>Zrm)vV3p/ū8[ntQ013m6L^?f^# SǾm /T&'\~1w޷ƒ(1[!IeR ؖD$qY+ =UÝN50qg}ЈV *$ 65*MHVAC@mFeA.}sK拌TJ~pʹ4 {z ]UNܭ}cɘՕOu២5AK$%$ᶎ*PT0%j${T% Ur +l-&g#ԛȢ[sTj-Atf/_jڝڌB %bV* $nrX86unϒ0UipNR1ekV5lGNlc}ϭ&^DEM,|tL9a7UY3I9f"[rab` w!r[\S}|D6j/4Z@UXkGRZ]| 5j|+)w/ekTݚ^4k&3}qCB }!Zk[^ 0 ?G P"Y7b~j}!b<#^}>U6[hn[𜎇f($&0IؘRX&~&lV0(P{\B뵝a#i3I,mm∫Ml ۃ=ݗ!E>K[PquXu4 Dիk JȜO]ý:Lm.gUxӲ ]e; хɎԘ={ZRI\q9 R dԄmOD@+hNIt6vX5j,R~ޟu/9լJ7ӤrP -88>C?{w1S. ݻ4:< R+kW+{toO#;zuR%.T)I U!PǤ$ӎ g6b;uK 2fiH|ДKl/a/˿5`/dCߤҢ j-VJ|w2AjNw.hmE6vp`T_\ xF9Y?idYu<#(f艸Ơ햅wtL[gJ:Aܛ{pώk(kCq`́y(6<>#<3v]tL(5Zaw`p7EԔ}j!R<׮ :]_q;Uͦ]a|Fm?&jK\܃K`}" dxw[Z\%5 #𯬐b/s5J'(`Z4B!^ΈA)}K%$Talp w|KLyRrbLSZ/Џʪƙ*V67"V2'~c XG{ \e 1Ha~U3d끪>XRh|!R ol?,Hy:v x  #x ,k*NVi7:-s&њK]0ڥt赪t)|rOv{5"W]ڨ4qyx;hی5]xrwuU0^*T3ȃi#XW-3ٯ+M%CHR4)m,T D KUy@\+\fʺ}JlH9_D ʰf҈ ьZO̻^w/cl] D`u׈Z7|ur&Mr4JV=; x|L^]v.#,i9>j'J_j&;26bşQ:}UyqXRuK3- sP 6Сke o@N7%׭ S`zUZm g/)}w.| 9CY%55?s5(Z2`Th85<ѓ5eNgFD¶\$ 갆C@ "'g3s݄F\'u#wM#9b -YlJ#̥Oxo|vȪ:MU-hf9 )|g눿mN},J7$܂)wn€f,.ŒawNCp8PV%w NQ,ȪE!˼i+'86p#_4`F0y@:K!z'IjRD8CHN̛5&m0r[-9?$(Gsh `|[?Xrf4~!:rH/[VA- 1.hCiF-/0R ^:Q}bFOVg+#Ff9MXo.5+F˨MF*eN@|f%& 0Pԁ7 n:(eyR}SgUsߦ/TTDV9@GyI)ן=Wc1v~Ңt0L_f <&lmu>\jB:8x֓MDhi0!k^ (c=HJ>t⫵ʬ@\H 3|o(:8m[6#Uȕ)C?@.ײ^`oD^!2[ݦiߘp /!|"z១'F~7+DZ0<£O "T6%͜*>EU/|KW@ LhLcR]5C1/_'DQkjGﶴ9TD<",3^GSIZ&/j0=C^O \B;Z)a0BM(OaYCR&RTx*Igg 77CUz̦3iEC@KAkuZl1TO6MiO9RR @/H㧺`nFEE/o۩0IU @0)ոVg%qC3 %+:h[s+z`|8\v%K֬E+sdk̈ :=z-u/Uha1l- V7ziZI1_^52SHiI4: n$K?S~Gv=ÆƁw#)Fp)t+}(l_?Eď{+A8 oi xHd{/e:r}vM9h$]p89o  kb-_ q:rnSP i_ VY;n\TڳcﴪMv`Yȿ?Xߔ^.+e)™)_v4MI6ag [Y9Ĩ,ǶslY~8l.Yb&ӿ!(7nsR,5d~Qr }}‚<$ /y3'V,'sl &; W:HJg>nڝh)$ꉈ'NSHƈDKX}ƁBc}3\ǫxKJr}f6I7B,sFxkȶ5ZG@Ń 5wӨhn5O2[r#P>U`S嵶Rm9\rqZ*ceҦOdΣ9p2xurLbBAd+0r(毇;nG7Pu=Kh>KE`(L<4?y 0ʹ [y%F]C4 R^ ]EpPgݎ..)8HjBHF<\;tkZ4G=:7T1ζ(frI,vy$gDV8ABh;kS" e @x` <[M'Ԑqڭ8ڤ#g5x8B]0&*b?0ja֧T^geFDϙ,/~[aAd憊W B}SASd^INXz} ;(=${'Ga,5}B@ܜZl2$ApP.$Q]5`y륲sw At!bd˔Yd?7Im;&űOΝv{-TZ_۝V|TM<'J- 0g'X#,՝I̔Kj!PݕhЙP+=2-RqsGkip ߒ| >wɫZ;.zs۳&?Oco?c1bhSC! nUR#3[B}6| Yj"v#g'=N/aDiKvpx`+!j$~&G[ByhA6d=Jd) V8yb 'E7NM~.齣EW gi%) $3ayUޔ~q Cp4!H,z. s+f6V.qL?cw.ʆ 4Zȯ˚@U0QKJ9t+x[g](Fa5m3Mvx499#}±jnmpO٣IeK0C'ٺLjuRK'Dk glWb!ǎ'(wD%C@5_~]ˇatkDS NpjviqwHʕI2 ?.#~@-k^Xr49D>aܷI26K\mm\Ӽ';2,4->?otBHlL"y"aSF!eq\xϗ IC>O,n xP~NI3M}_p~+Eu.(J1ʩ@uVl#eظ| EDmXFsو2{$o9[pōӄ>յw@Vf"EyډtR?y0Ia춹{KX,ZzHZQwӜ1<ʆƆ_ )gI@~1f5M!_.eeDsajc{{7rFܖq"l);T4}VvŻeC*(nkyDH>b2jJ%ȶp*13P, ubMkMؾ*FG:}A%H} rOt#MM ab_5[$g fgj### EZdZG-Xl gD J^4FR>տ5짶H7qLc;_5N( chy?J=?v)9;^-,#Щ=O ޴$ʀlYLZ;/Wqu4i@hi"o4Q.3KÍw#?1iYg;)9F~\vC)H]7IO U,`j3Vwb Yf2 1x^K`FӛE=O;űbp1*WLhVvU6fMU v mhE[f=UrY?ܝL$\Є0h0,lWZūq+3_X2fwE\z%CR+ y ͷSઁ<{Q}˱@aTk(*uca{UO+j~#Gw-&D z aDv: 5mTV@Z#&JU M֣K߽ڥHOD MqV+^V<25Diw>QXӶұBmAo6HU|Ԩ}!oQ,4oY=Pt$sd$*vt}7t z!jsKE6! ( u{:ؠ=yG &I?}⍗B0 oN9VCFʅ;Ԑ 3\w&e.4!Fa#}$=1\qe_xLM`Ǽ?Xji(Ix&#h <54'7!löZsEr̝ڜboJt+Jf.i43mRūǵ[9Uh-ǘq .u !MX]mݦ|bx\+cm#+UΆ)5kK蔁HJĄΉ٠tUT~KCQwi0 y Xˊy''B,pĊgO#n՜xLŽަ ,t=Ux*vs$@p+Ч4h[*+v^xA}r)? xE Bl猅oiC5Q[&6_S AdM8< ,nXԂ  {Qebؓ( | *C!x'lL9xbDʰtDFS#/Kcwn>,McN(L2ڥ1i6hb):?_?RF/T dI(RlFԯяڢ>Ze/1nč9XlE}CNVX0uZ-ڻ&B10Kq36JV#|Ri; =l9_EAHCWǞ!q.S@⨟D`:P"D5D5_OL:,ǟطiȨN} :KlvV T/k3EiEkQCQBߏrrP1M>>o 5UNp^O7+o >2LU3(NJ:ѐqM&+BOr*"!L_6BzmOۣ*#LvdbrJ!bt=cQdm՞C jdF ;wvkʳ/ؽ_WKMF!xKvg@,,6Mζ\\Fo6ٺ\M + t\]ޏ;XTSntq/ #:&~!VecK U"]'cJhe5~}o̺kSKNAcwKPe-FÊؑ[ f@K!9/nʸ =ƾqClߔ(\?}BpnoBpؒU6UȄɜm8C e?/ݯ%`bv4v\(ًj;K.L>ܔ=-7"86eN·%[DZ5҆.)q({S_^tMli0H(ς汣t#*,\;"Gܷgc7󐾏}B[Pg+ӂW'b&".!i](> osvBaf0 6KdV 2ꮺd~ 5)SR.7,QMnk-;~CΛKGGz(hƯфuNgp P(Sp]k20Hz[nK5&<ǨL{VhxH]~ja@'O,#C/}<,%ƃA('i! &8&aQ2+jJYgk|gt`o:%D\ L< LSrenC_j(։ :óZZo--:Rra4|gq5Pf ]T/P)xxoCz5KV#p!U}} :"WZϠKQT)yR߱!J~SP6.%vw pI)ҘmZM=I@ VaS7H/C֖ы3{X]u"7$!(iP DeOQٌ+68$~Q _awu? ;ꅡC׷PϬΛ[Y4_L-xgjQ)?՝^I`0b @/8x^،~XE6xy`“_=f{6B#P`g֖*WX|'~*UY<ڜQA ;C $(RNѢǓ4C?03WקݴD5<~[. ,eL=5 U9 x:\R!syX&z]`ĤH[oa>V P ߆&p23 D{WKRЋgcNc43$ [QO ߌԫj0D۬݇QuQ M?]NnUDRV0S@FDN3Ta?;SO a[w_vKX%@sgZ[ex3,"5#|*V$A;@6D9Sѡ<9m)[3 ' |lyD5+ɡ޺5`|TUԖluݠ6C1B qSdl7ǏRѥPiQ4!>xdr0+tpT!̎\MӸNgY4*_dU4{N'݇Xur^~juATzRzt 6 kl&.%̢ۋul3`Yoa狀tve=BaUҩj#[Zf85zp:4{Mcg,ev{҈Uo~ l^rl\3iQa'z\IAgq>] Hj끮r:F)||E~UFgD —cWx,}9^+c&n8=Y@tFVתI 7䁓h/za+& ]0 JGe5CC9c{L|i̬Ɲ>\#0wLš7B ۩$0|<'玬 ڕ"}-̻?hj3N1GǷ 濪ۡdi`m&PkB%:?#Y8/*cE:|:~Ԛv{H;nN iW3$'c1*UbS|i_eǙ2,s /s=HW svPx3 c.=cH3!+=c@`|Y&,ͷnLm(boubƗN>[;Yp5sbf^ '9"fD>Պ`t^0+ubNŦ46tiPw)a˲_h$h,ijAkhSye@uXR )1cm6n D쩤s8HSo(2& `mb HJK,;M6vvR,k JKYէ=iRL>LBq~"z2ZJ>d'˗S' %`+4Я9&JWv!REBy_ 6K-bt.92NwX4s7oL<'أ)!hh22͡4ڼ{'*YMR(g%F Fi8jQ1,LUtIyQGɅy(*$Dz?~H3œd G?Oσq"$]ԏЪV6n<9.dc܀>0i0 ,޷W{cm;D4k<'ܺqm懜hz#U뗙(}Ö˲U@G>( ^uU̢^GAo ,(vm}}Ŭ%Vj2U-4[VZGE2;vO"<+3JJ7Xų'?ݡ|c!jqrY9g!f kV[*檹W.5eIj}9J,F/I(4TNtwǴu#%; R6fNfpQrȀYa"9DhKE!O9|ʵ$~Bզs=J8x8A8YaL:U@ER L "<=#ZKi..p@m01 6o8f#z-_ve˻ Srx3HÏĽ,֗qX+,r۞Q=cFqїM/z8r1;x!m|f{7R%"kˡUbb%&;G'F~5 ߉3XpkX>BؓƷgm&Eʘ'~ [[萾ۓh l=I*,$Rnkޅz@˿n'EW]Y3\F)<3eQ(u0 [<Ӽ\Ժ_/I/kmJ4R SlfsL9MU+㑬YmkZN`_(ͱ"-]-j<>uZg@<U2qcuq>b\4[nlpz3PMLӔIA {5i@1KZo@w]]Fg)Q)^>G se2 Ͻt<.B |qYE52:^\^UI{ :h.뻿0ahK=T@EOm# |wqݨ-ȆiJG%U|>v3mD9$V ?ѝÔ .VX'h>H9kBE6H $.8ou~蓧g3׳G:^Sx6Wi(QΒoV? 95zj?Wt  cb80(4x lE^վ '/f6.$UHavL;?lN4 7 c4IZg;Sdl3 %@"ټ+ڔrt3]ERvd~cu N֕4RZ(h ǣ2VrAn+QNjI4Nѷ5mZP}T" 3ܘxEθ ȌR9ɒA<4f 1%l֔:|"0 ye?KSB~~ ,"5XJ;mNʁ)}M 'aI£rH9^U&* "Id5q0j[~KWGJpUNMEbVz+U5DL^w~RQEvGgt~\)'Â.ℲNKr'TGyЊFb!ƥ2W*^Ϣ%;C/o}"vNVZbA`QQQ2hj/5uLx=*ʓu礦p cu! )̃{ b 3%{eܘ?I8 ˷   Wqp#2cmVu/2wuυ3α+J"3|#lqNzBG8עF0sz m/0gT4!:&g3S%{juzCw}4(Z,^iSM-hj+@V?N]8E%qP{r\"Gh[NQ?@KA a Z $3aW89wP`qv {#ow;vJs2WVb:`pm"pUށR9f @DyNF?Z)+fD1*oXJ<=a%DBvWD&Mjk+|i~@]F/N5#`,KKBaJ4Fýih)̎^tX|&qgʧMZR1A9_+9>l/0#mTJ[AHW^6˪vvNaǃ;cڄ*@i+t'˰J}ʖ JjjNq@We "Tnt7 əS8͠bO~W_b>R_ 5OIP M-g"SA%, Тڤ=z.ُ),Ϙ=v8Dx4r– t(ȐRe NCwJiNbGcs)J~@IB_qH*htۡiͽ0 *Y6{+TDfP_E}ͨ;zx%pګA(Nh ?' Nxbc1ԦCk)OpyNC>xb 7Os lA!AB ְrWq`D؏F;o:{O<ԗ4[N[ _~\ - 3ZaTS~O*= !0qr2_o6afy[71SRL{3Z+*Z=9hHW#sws)ׅ0{&}hq%95} 0+IO& lUw=a~6=BiX4lS;v5MUKWvi-݅ŲKAr,^KӯGWMpGjBRcEk!Q7>2WNaj?䜜wzGlq9N Dg^򃦷.'ׅ_% rj42͟FgfR{/$Adk ,O/a8j_k..43\4ZCN5ۅjtBP=BFR@FU-@'%q>7۶6ÑH˛;@E|9xf}>}GŢ7su4چ1:໭~ܼיQ^|'a;~e|$? ՉcĀˋJu)?xLV,7[x  2. ,"O6r6GG4g|K[NND&>{Kn|I( SM{"s44"Lr yd;w|H ȘJ}Nwg%]5z$a/ cLs9\--<m*E-6ti_q] Í~끩x4&`j Ó`s6JoCpc>wzBw2L5/yMMs5Ct'g;f(69/`tJٗT!/shS^ڐw6)n}ŴDM' ( QVԤ q+Xƈ[)X%>Z]I;@'%ެ۶(a$' @:jΧH7Þi'N׸Mׁ xc- fV]ŁUG;:Г+8;BkShCPs6 m7b_7=Me5TzLR/1gHRfteʈQP!ٞZmD1^/S3D#oѯ<=Ӽ <`nq_fei*!jĒ B$rִ-^RO@?lDP9jnUWƚð6v*ZBaVB6h @ n]@U6LVez$'}w(}Ѐ~l5}cˑm`hH]O)maem-!S?8Zk'ܭq5'kخLrB$ %#'G%F΁qui-Ww,P$kM'PTz .V) [O8LD`cDrOljy-.@G>]% -l6b&%P:sc*F7Vjo"$:c'7!5qXo_"c2 !?F=ISU/*եv`(Xg:yWF?O윉kN9}>, #}JQ*|<$1/D"i`FrHA {a tteX+5.[q|OGy+;E+r~TJH|}DH`J?f _t𧻓/Fe"G "PB28 8b)mG|C\0&Iҷ ;&>)ׯ̌Z$Ed[0*SMj6l2Nlg S0a:m`֐Levl-|$7//(}X~˺.cgDJ,6~ (O8dE&Gj[PѧvS_c4NGGY~]MTtV5z$drE=*/9OPV$ިEżWboo4J^׌LmLJY92;u\WX>3W `W)BX%P/*xɎ`20ԗ6Ջ 4v\\ڸ%^`Ap#wꭽ?k/y7S޴$0y:)kqvK"=}S[d{DZ\$Lt|xjU*,]ƊgBo<ir#,y9*2+۝w] dRĽfTC"%>-8h *q?]oq@˷REQ-m6tɰNfؿkd /Dm1#_\-@"j+fibjwʑaT! v}s' .*L"jrhc3k{:fh٬/Z~BWEAˇ'}id"$"Y[}Y<ڂ"mY"&y`ߜqxn,? jJrʱ8,Z`cy`J2Bq VY)n<Rw/4~M@l%eWމ&ҰPdkb sAE'5^qң13e꽱;cT*țI "nhulCE z+VDl{}\ `NL~@{Cvr"~4,NLuu\WC_?i/r&sV $pNQD(Pht̶UUvH^&^>}1}'r&dmǰ 2\Ԋ~]PF4#l> & ,iw-7dGDZR5GT#\jXN_q3fF U6u/{ @p-+Ю{ ӁM 3DLW= >MW?GjTlÌJ i}E gMT5 ,h_mEߣPɯ$y]JLXE3ohM8\3X !6D 8\w~T;Fgîe G%!2QpчcݒL5& &;L b7!7=~j"~Lė Ш|4j k oJ*rXh@H+]'Vι*!{^eްaƿ+. ^\ُc ] e,'"* %_`cAhÃ0 oB7JxB">+ͱl!H즏M%i&Aw:-!g]9oKK&1rf-_Ȗ^|gz qMrָc7")K0,@՝eDeK a\ ;tLTZ>ְ`پ튯 xA$ՠ!^Ra`:OԶW6Nt7[Y`ΆAIM2!vPԒOYDMj!UO; Yv/6gUƊl\z .Roj+0QS{af{֖HOpTlLDq30d(7^sI'֘AVAMiAn6s+'U80{ /@zn[n` Mw ^#;=b.p«+uêA5M}G':+ Wvgw:ƌwHa [TT8M˞+DIyȒ s(V:|¯gSÍ#7);CFS K5ԣjx)S#yk"]c1|h#:CRG'\-JDYS-$jnCPU{Il}S3̛b> Qn;jHI?Iξ֮GGGBN([#,ιV\6\|KR 0<&-?pٓsx ;k$7l 6z/i@SE80Ȁ7]XviLBPSH6'=tq2 Z Oi7$∜$aa%j {2k~2g%iIw$:i~`掤H+1DImƸeʇ˧ z+u\BAP%"|{΂N!kb˸jȊ\C&t w0`%8><1 w8o 8a[`6 e+]Z> Van>HbJ5wwazLA!<|˔<$-yt@Uo`VM5!'VlG+UA] o-)\*Hos*"=:4`& VkKcA;njWGti>U~Ծ`G6RF8>3ER5lQ/ pXAR.~A; =)GvI3?M\XRhB{sXxFԗrzB8(iO,LV!`;oe̸.d8 -Mvs1*@KK"D )孼Q\-p~_8,Oe;41 u) RBq̲Ɇ.&'aAWZtN@xxoӔ7ڕ)k`M|3kTJި\+I3;ȷ݀R4Y+g`]DC%x\*L;ܯ/"޸ OLz*pJ=kQKAЧ^Z!?$\Kf D6^;Й&bhi:%ْ蹳/ͥp@#haA~(AFxKaGQƭ2d4fn |^?o˱kk{sڇ# ` .uLEM]t̫W0I%fC%g az^v߶O<~&#j>ͥʚUe6҄{ ~/~Ha ׯ`zAgL>aIMcYN~,PCtvҜngq?HϟfekD_zpEuVkpkF sN:z6T{:}T%b}Փ^*YGET"'QA2A y0{: v]!SlƤxj%8ud  3כ캫u`.3 ahڶ6bH8Oj5R*E8JHah$|+޹fQ [ p- ] 2cw C!-N7K0 N#ȽE cP+fY+ x)rƚ[e210AA hퟡ/ݐx^ 5;j7Rci7@X7yEGYփ՜ǟРI6|.ejX}B@Iϊ/<N]oa T@Es4 lfg<]HzAdA mB*wQ=gY1(V Za*bu`Ec%09aoI@!ddJS٥XWlD#GJlע.zpR6zqU «(5s0Ko^3#~D][d?qq@ MM pV9\yW1\Z6*uZ IT}L5 va(3'^TTѵit@m=ǯh 2b_(\ #?(X.$)FKUgNXȟkw<6r&EUo 5vPNS`1,(.\ cϪ;#9nuSex\>u +uSUx䨻Ai'Xz'Y  /֖R `П1unW3Xi A1 \Rսmx(W:=8|& +.oQAqHNU$A cxj,Ȉb: G^sdh:L8Y8!}CArv}W|^y T{aAl <ͼ'@S#܅+x,m0yOu0T<*oiQ^WAN!c!0n+֬U;†]jȃ&5Gh)XYD!E rwG k3uZ?UdUtaOw{*fv*EHe6oZZ;Gĺ}x==F^Eˀ Vy~+{5jEХoc!è0Ο:;#@G&DMnG-{%?'˘} >ٔb$>t ]$s aXS,Niˑ${,X>KD!Rqʹ-~‹ŞLjl֒OWMR))H:,Jx3dzU4IufbCVOi9+PݎfH3&'ȵC[鶤o[YCrz6[# T x]ōGF F^Vg1OW6cܾZ GڸIwB 5Μp 0|jP~ʮX6s . T/AܼA~cozNMti頶Jrajd.~y#]"Ya^;Ǩ8(Y1A VI-^0΢ 8h %Z"N$AvZR|U܌$'M/Nda8k S/$9n<닯X\ןf{xɀk{XY_N9y[cc({fQm &IU#wDhfVP477Ǚ z}nֺQ-ҵt'|I|Kd̮` 2B\֮BԔ*ds6 mz9'&75FuIF{O*2hߋ AqǦz 9io8 o/sk2"CmxV0_Υ!⵫th;.D' jʋ=,J`9:Ƃf љbe@ۿgJӼJdqa+_|Mֹ6b2ZiNqlPa{~M-{w䴑e}WZ* 7"<0+ԑxAxP+=ɹ4\}a$hm 2PP>Y>*GkҘT7zdO˔nF u~6"ĉ'Hu*~(9%u˷SQq 2'ކx)`e&QwCN7o<3=u9mlw_d5wEl)zbVTHB=N/l5›KeDThԂQgA%so9끀)bqNV>3[o\D?N'n@<>(UvDAs i9HbYX w[|سo4s5h?7nLIf!BjoMcwIۮhR!Aw,IyxKgfJ /_@N"Gg{q- V%䥛;JO`gI]$v*L3P pHJԼ9{VK0y98;k*7],"#UWb%_8: 3 }0A2Oi(Vsrڡeq7Qx^j _<'qܩ2Dzy )Q7sOzbI,<G!0P cdy}˫fX1tx$2k`ݍ ~QeW &^PGr*O+_Əo{3IҪX&t4<F޽o9~5 7?lW_+[1A@po!ۇN׋2uLS2DTO{i WI]^ZX3Ʈ+`ÞXW`3wE=˰وNI~nɽv|G'\/o*gjssoI10aJhȰ׷PYSlaXIA]gV`rБ4##- Ssr>kј*}-Ew/O1 v'&2Nh TFEzL$OM5%\躥1 (B㆟*f+^OepP&X Hl'GF Hm~Nz# & W8r5 6K,'(~Ư  IYy7;`|1)l|Pu^6M`1~GIմF @Ѧ_S jۭ,F <{s&( 5:1ߛ|$+h @1 a<;$èПz3GH9[D6&?CO"aQ^ Iu=. pjf(VUA"d[^t'_FPzoፓu~Kze#0pՕب`?\sJ*2lg[em#G]׺EH**v},ML(2/V>_ɉ߁JuvURoG?#ģ2jݙp6ԬFNTTw޼OTaU9CPDoTuy'g‰TRi]0Y=Ar:Q]%mȣ*!N-KFϢHB:͔ $$宁Lq0aHwJq‡D5"s޷,7w*J1ԁ; E/[Т T=> =pA5rg1cT@GTҴۮUG:I^c渚iQgH‘xV|A:b~7?EW7rLHg2VI;/ |Ll23ˣt/ ]B ̄{ VY}*ue8^/{Osr 垾<$ تUvgg!Cua0;]ڼppr' Mv0lؑq*WUpg/hj7Lt#l‡cuJ= UY5W*$f,pc_ =͊Uz! 0qhTƬ=_D) ^GFe!z{}(E̥+oh2*QjVVsaUd9Fjӓ^$Ҕ_?} (+6r AqA`Pj ;at%`u-\s(#!6cMl!_* OH&m1w2jK<Ljh3erΟulPLC۽"SaϿsR[`%[[UR`z ȇ= ikMEU4HV#4xXNߏPQi)XCYI퀛DʖuBUaŒZbZ{}ɲ3E6S(ѱ Zo[[Ħy-#4µ ݔB*V{;ͫs}o,%*7q$բ.[tG؀6e )hAڪ<)i ˥ۘF5`0Gu$& b J{ " ?gӆ:M.q fms 2]p]\*Of 0r}\\>iSCj߆=\.%ڬb&v(S =;PرE{hqLai}`?VS/%:]]6%*sgv =EOՇw%#nS%m|6k|& ۀүf$00@~c|ȼ f(t!=}?QEO'hJLg@3*8zzd4;c4~!#1kq$'Ŭ)tU~ D}! FF۶`FTUf<\٧y,۹M:UtOtJ(Y d9R+d o u|2v+]w ћC(, ]{ ZkRc5ʔ[.ri^͹r|v35w9Y5ɶ *kU?ʴD9C쇎ȍ4yJQQt116пzg oGe_FN 6@gX\2YZsJ &`FXcyXIv ~ @BޫSaP^|ꑓ7&o8!uk(W, ї Vr[Ät>gI_f5ODײH}}jkcVp+\6 k[;&&'"quv]]hlO @pFx:=_/v<#PhsGUvdňRL7D*Q`5Ir2l٫rGUU𭄴'/IdR6%6a99#s nIByY5 pKE3UqL%`;󭻷NJOqpnjktoM|k0̔pa/LloH`V`Lϲ~'l5= XhȬ ANDL2ZV#-YL9&&D| Z& +ftw'K}պA0/yz(rٽN>Hߩ~rdi S( =sQti^" 5'ZԿ&4Sݤ+/<ҠCC(0~-w< A6ߍ[u/:2G\@Y|I}K2~?ӓ+>W1Uyb#mí4gңygL`_3:G'JGJenYW{A>svTh-! -#䭆h3&3E"Qr]ّyZJ@:p 9'͌% _QEWcN>;hXGvV -xJ㮪 d%=V%8ּ⩬ G\bs42Dnq#>Aa6d.LJyY@=+K VyaҎ4E9~9 .P#{D˹ V7kY( m#+uy3F>HAcMﺾ 2Av|F/auufxv8)/t 0՘(oeNC~dtbJ<ȝdwCl>i*=a`#K ~*f2ޱ!$AqYO8 I ""+Df"%EG$A-=Š?QIg;t~ ٣7\U8zIp\4yXc+DMLUӾj^%y[u\ceNJm+hfl 98:=<, Adi(ǫ ݬ.4DL1'V0G3 *lU_ҡ wGo;q3SyLH ;?@e7yLb ҏ=}FRe,2K3VA:BYR{=bҟE~`q e\z^q{g!Y>)_^(νzIlqʪ(Ggdfg%FEpP뮵}Bk΋!?G'<>nA-݂G@qy!͑л鬌mvS 4rܧkڞܘRNTj <-|Y1;l YZ