tukit-4.0.1-150300.3.8.1 >  A cQp9|qiktצ8Oͥ]d2~иWPwCyݭI>{} H>nu%6#Kt`R]yzi!ԍffZ3SJi3Qn_{T\!fN*)o2[4v4ѹvkvLt;^l*Wb@$@"qHFj<'L`\gޤ!S14p. oMumkot`A܅ϯWqeE$b060da008aeeda2fc7dae599338c70367e1813961072f0a3e2e4779a43372b93f1003cf1e5f37dc3dd055d49da3d8cd975ec13b6̉cQp9|SR:%"`@gEӑea ,i>\=GRu }] !nZK ;VQ:%9K^HCHM-jtFO-=ש_4sN?2+NY#zUVŲ\W{7D GX^X̺MT2uőivwWή{-V$,F:Ip^fM {l/p$h~ve Rh$׋` è.11 &.3O2d>pI?d  V )5flt  |            0 b  p,tx(8u9pu:u=>?@FG H I, X8Y@\h ] ^ bcUdef l"u8 v`w x yzP`djCtukit4.0.1150300.3.8.1Tool for doing transactional updates using Btrfs snapshotstukit is a simple tool to make changes to a system in an atomic way with btrfs and snapshots.cibs-arm-3КSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/System/Basehttps://github.com/openSUSE/transactional-updatelinuxaarch64: if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in create-dirs-from-rpmdb.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi: if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in create-dirs-from-rpmdb.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi: test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable create-dirs-from-rpmdb.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop create-dirs-from-rpmdb.service ) || : fi: test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in create-dirs-from-rpmdb.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart create-dirs-from-rpmdb.service ) || : fi fik  X+F~A큤A큤ccccc6c6cc6c6c33243f2894e67aa69b0199786b3573c407ff37ce2da38da3c88cd2e7ca58d3e6db2156a60417ab1ecf3af69d19cc435f30fef1d0197423d3e8ab955f35b595ad46a27af2e9005d6f019c2b010240846ed84e6b6e3218756b497d2e81fcaf176c3696f7011cd3bfc9aff2d8543a61ca0127b2dbedc28805e1d3352193fd2dfe3a9370537fecd78c68361a12bdda1827e52d49ef2fda8fe997cb328d991862c19f4ec94987f3af0b357c6af2280ebcb5b352e6c5fd51f4c33eed6e89d8f20ccb6cdb296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc732290a219c2df22905aac92438c492b5bb65d8867d3118fb6c807400c350f39d2rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottransactional-update-4.0.1-150300.3.8.1.src.rpmtukittukit(aarch-64) @@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)librpm.so.8()(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.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libtukit.so.4()(64bit)libtukit4rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.0.1-150300.3.8.13.0.4-14.6.0-14.0-15.2-1transactional-update3.0.04.14.3cobbb@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@fvogt@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.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/bin/sh/bin/sh/bin/sh/bin/shibs-arm-3 1662100990 4.0.1-150300.3.8.14.0.1-150300.3.8.1create-dirs-from-rpmdb.servicecreate_dirs_from_rpmdbtukittukitNEWSREADME.mdtukitCOPYINGgpl-2.0.txttukit.conf.5.gz/usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/tukit//usr/share/licenses//usr/share/licenses/tukit//usr/share/man/man5/-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:25588/SUSE_SLE-15-SP3_Update_Products_MicroOS52_Update/91413ec70f7084b592fdeb79ce3ac4a9-transactional-update.SUSE_SLE-15-SP3_Update_Products_MicroOS52_Updatecpioxz5aarch64-suse-linuxASCII textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6945414291dfd1dafdbbf7a613b48f705b59c80c, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=09700aa28b471c253b47dfe2119825357391f234, for GNU/Linux 3.7.0, strippeddirectoryASCII text, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)RRR R R RRR RRRRRRRRRRR RRRڰnQ:`Pn([utf-842560a141d8e1a70ec2c48166c591cbc4e7e8f215abfeda5ed5c2c8af06148a9?p7zXZ !t/ی] crv(vX0VqTU S7U9Z?+ȡAT=JַH!tT̈́];w'QzN>[CU"Voqi~DWT"'(PՖi*_[ 3>G+m-{ױ%o] umD4 RW1 ~T"eM\H&2)ܟIз]5)ME/S9,X-dUi==9J |ɦei rt/Æ/TPH#iċasH6c Po4wˍF!E #w~e7d$o|5k꣹IE$|#%{0n$H[ixЯ[Cq=8x%9`{G`,?#Cԋ|Q;5>;c䳗uq‹~=vH$7Gތ=.47mUQߥ N4Ƞ hK$pLQYʉEFҧ @?-bÉ%sZo`6Gǃ:Qۻs!)F%5(k YV%e#10-kVU"z.<|50Ď8u:3F>|'Ƚb܈ D̻Ή"/iUN_<S_$OtD ;qڪԔ݇6dDi'Zwm]}N{. bfB&y"/%ߐO6v0E; pU#\ ;jt#Ės$HNX|ذ8BW^.7/FwvZdTop)1rcE+ |^ ؕP@Zk  G}UUQi7|Ci:7=o2J^8I\ GSCKJ.H9ɒ]{Q:+$Ӭ< pjoG@yG^T<2ϙfd'@,a>'1zRmݳPKThb@Qr]OJhL7'WkCqJ] -8iͥ3TE)2^;! gOUY^B-)n7ٯc0:uL2~\l',u߹*>TswY@֘Y.LsƦQZDlf KezYb yLφrA3ڢשYWKMp҈ rX<"d}QUx|-o > .Ew|MSĺy-EGoF'd<֩f$Xܟ A4u!(W7QjurxR˫˟C($Yf4 ESϿr ;5nSF͛iHw7 r(\YWНIW:\d8~xFe 9:1>FU"BpL d:ߖkjڏ?UcaITFs5ycmJIFlyen\gxg$(f!uzHljPfX\jM}ĩ*|l'@Ǚ='Зmqߑ׸aywtocebx7,6dڡ3<~H!lvD~&"pɬ?g;ȹ|&H?21wzaCOi1HuGY[$m  qX"!S3%\R]Ziқ FE,o{o!g߼Yk#?+EL+,- =XP?+ȯ9dP6"%!7oJ*Jp h(OCa=7V.ikeͼՆ*<k[d*u?wMJe/s >Q.z)̙lYr~FTDzYӤ./4wgY++)$.H1'78k=Cfu"۲y&f7p9!MANۇ-27|[%'+*`8%|9ܣqIDPIP6ۤ A{onJfҏ,r)c#`ʾ(+.uU٭vUTnS|u O8xC2m}sBaaPh뀋<>־ޗΖiڤy01GJl>Nϔǯtp҅_^k&Tbqx]g6-Dοqt*)f`e peB{o 4X~ Yȉ~wS0 mUY܉Z֖VI`R;q;sN(W̯xC`GPCӚ=XdvC[nCGf ;H&1l:}݄kndŞ{$Ls &D, "oTU>k+`* ƑVmc'qsُ:W7jZUYB: -Y{Q: 5ܜ4|x\wrOMiG˒I."Ź?^AaRܬA,C ˺+ib.uv%cv/ !#Q}pEz&/Cǟ@E(ЌǖHH3 \zܔ(i%tQ,h:CbI d􄤶 E3kh`8օƇ&Aq%6{EF6a8y5pT&h pIXp^_5v/rׄpg+':w < 'a{oXmkwfţbW::Rv;Г?Y0`:NaURZ׎K1}Y=1] CeuhsOnMx=6}Bj) bʡs*r-^^k\&a!]H@-iG$q9VMr5z_մ`LPTnXH5ypV)"gHRr[ն'9RV+NnƧS5 (oW嵓2ΧCdne+Jq.|cERRy^7!BXĔ򵬻VG'KK)}2؁VD=pI`'pttJ8?H>Z,ms'$Opy 2F*0u᦯»[V;(>.>\W=a0{2M<=W,cZ;A̍EJfBX0M\rI- Kd Gg 8qSU8 z`0 ܤce siR3 BeCU2{zZ.uY n"#}!njZ7EHBƀjs?zaZDۑcUs#$HRRl^"o顶>8`X3XeuosOktSDXPe}GDI_xu,5fbba7Xs'xlk$~4k5FSw_|%5x=Zeՠ Q Ȯ({U,#DG5)o5n3̪6GOnۄ|9>wόОD_iiB-/FDYN2uڃ8|43垬.ZiZWYw`<m.+ю1 ]ѣ\(NEGL?8|6r(H;a%S$}O |ýSIolT!/6ɰ8𻫲ZyֻS[p>^D.~n|TF 6Mj(P*G(YבT/1 ڊX8PO%7 z`Ӵ?h%~.>9`#g%򭞤AKP : UnTߣ)6obB^kk.[G1[K"bC$XBY::.z vUl_\K^m&2` +7sUib/ 2˽_>gF ʺn@F)85PoXF|3+4)'_K+t%vLpul[zrDk[JO3]9ޔ4:]Imd! +hP͝z~rO $,9դ,7ae}qD9p>ze)qK ipJ n՝9n%Pfo]i-Vm5v2vcć)xRZ͎G Egļ,Uf *pn%9տ-PhrN[>,|h@6SG+Jx(z oʷ6`'Be<0YNLk(9TIj\gת\}filJ_RgF\(گxe2S8W؝mR)`6שPv{!|{e!s*)Y!%7U(b "ћ>vmh沂 dP:8}>S93pEOR1j"8X>1ZtB'BH_y%}>V(K#z|FոmSc7*rxQ7G̹vx|$X~gタruF:'׹-ZAQJx'M37[h*^ʬ x.GoIT3bH_T3Wv>fm-uL6ex-DKn2vaR%b)t`*S%kaȔ (!=J~jzzj=X!oUΡu"5:e@=A*H|4++~ ]|tK@$/]]r0Ei-kd"ZYɇRqF7$SkPҨĢĎ$.AiA[rTW-]xdC?Ű%!BJn;_r8|V,,j ?LJ|^qw$Q8=XgѹudX2&\W17Hm{Pϒ]-?B8F. Έ8yb\/҄XKJB=2o@>.ʖ`}Ǔвs.,&տ3 jUTi Yyر'OKMt#mXp2ZBoN此VE!e)[zlc_'_3> і!Q&Gty̻g6\MᙝY+( ?&#+lj?Vnu:ܢht,$ݡKL3BHમL(P%rR`A_t$oX$m'/);tL\ hjt~:DG(9{/ =®lU&!avz9)R;[ 7uZbBݺA.E1YP6|f7 +&N~E Ζ/`s.3hVax0ծ$l7F [dr0d}(W\mQ<܍ uh1RNY`b²Mhf ɣun~ ʗ*B2x=B~ꊪUMRT爭Vv,4Ԑ1u2"ۼG "LFBRK%4ѫH6} KI*:T:~U rSgtđ=-%!^-iU[ h,MZAagLj 3T}2P35oU%S H6]֢mgVr]pB?TJ.͠i# ѻGzUqR8m!2=;M>Ypi~ (_r6Ȫf RU =V*AX_ ;G3Š\jQL?,5j__?„X fIjqWo3XB/1%‰̐ "/4"Ì(uQbW$_M<&uylu9ȹ ro*Bl[)JO ܑ7&'K6I٪?EͥvU]}DPcGwTāe$׺s9}E"1sz?K'5[oe44][A/[uyk &݉¸QUG,>~D&ݨ7*V.x@0BHl&2B^4 :'xذfhKƎ KW#Vpmy⭄3Ϋk*`LL2'x6N!#̙b4yORKHG0T[.$ksJ;[A69)G8 xh+tGߎ %NMds9jebqM"$yQ΍F4.\ 7m8k.:7+:WL'[S EF0*f¦ P V)sz$%9c=JK[|>ҫϬ qOqFR D7`IYfxm@ % ]9!ا2br:sO7a#BvItf hpMA`ӷ x)4b $9FBm-t3Z{.E:*h4XҠ+OWTW'`;'|{Dw:'*gn)a$2ツTQ'Ң .k@ľd=9_v #,5M 3b(rW8%0s 6PMzAcMԒ@2UR{σ6^;k%&29jKG6ݪ5K;XelS+(81ppa̚39l7xpceΉ3?bu9KɭwKb_S. Pcn@SG$ؿ&I v.ņW]u$%Z\T^m$_us (5T>q|Q(g PI[UׁT-Q" V:VohFI};WfYwM&[sLyPE'ם!w'+1㸟;fuX ꠾^Hp{OD3LI!UW.=inK4 ֌V>v5+>@$VM&1me+9$iP_:!TKk L\\S;Mnp*adJM"RR]B8rzwM/Buvzjiݒ|U0F^dL 40?փR9آlM}6Bz")VizGڶ|rx\/K0F nJ\tD+WWМk@k8D|)۳x6,̌dmF000FQwS_: -jycuY' BrB+ [(=0 05Ԕ$&kb,i}6m90dBf90:au-O)sezh7{Y L2Pq l`ߕថTWgXIץ{k"kx/؀WtH"h'RO7l-l2o[4z_QKҦY'>ye }R:QY( ;Ca]*S "="ϮD5k-.=y\Q)̣?~XKZp(<ݟֱlÆW#a1dtfPgb5?ڰDoR0sؾ?R ,QʫKĉa"+.Ȟc,:U8*&Cp|k5_Jh,y{~K(Jl9/~:n#A)2BJLC?U$`-TAܲJPrM*Ej:O_grBaCbL]33ƿfN4 `U"gJX%JG~AӱXKiTCbxltc釦' D~ OOX#"-t/u!{W(dTSv<>Tvl ƞ em А,os̹_-p@2;?@ rV-ĻX2U +{Nz؜Z7&&?I y+`Y yKsTIJ3ٞy)+*o ~ jtsJ#;u1fF[/:,hj|ʧ(j4^7;[n#?n-C=X l͒RW#Y=wjSC`om%_<U~X{U{6h|+dه"`w#`k@a{PЗrKKJ5MnipV{+nrPs܅}]4U&* um43A7`~<'R:H`Y- 0z4,ʓ4(*h'}>=g84IuԐZu)+F2?z)4yXzhu Jo\k6+jdǞ={ذ!켎eB*?^*6SجMp)/5Ómo:b{*!IJn筥~SeAf(:tZި|^nv=4M\v+$f ϖ 8L8t1Ǿ:P׋<SmD"}FxwgxڎF'VL^%&-wQ: =I;pZ'F_ljmXefkvg2kPuTHWDZJA}*%e~j'lx{¤Z"*}d|~m!M`L/$-4:gI)i!Dg1ʣ"(sCޤsOU@z/~mכW77U Ui]h 9slK6E !8bK-G05=h7%%F7 p+8GS.\M ߖ*/h7j>q+'Sv`b}N}(T%`lnD% 9 Tg-xAQƴŹ!j+he&nL -PfSQ -Bv0RL=.Qvէrz1Ὠ-5ީb)'nOp#!/EP*&VimTycq W~z(G-^u#$Y jgzZX2ꪙPCl+SOт\'@WX?_}T3=1 Ik0eo%pVWcQQbşL_ RCjb,)= + DsDWBM}Wc2#(_\rZb̳b 5s 0J'=̈K?x:P':ɒx#@q}n.+R$WN3]/O) RŠB뇤cc{/wz_-3tO'`t*ڱX/CtŴY{NQd3dуMP\ *u3ηeȓsR]o& \Y}=-HOaϺ\RA\/?S_Cs-d# lȤ' S@vJ:^"(1X65BX*8@$b+ӹ J!/1h?v+\,}ӝi{cG8g\/T_B*of',Ia}ah} g#'JǎǒϺu{$ j a2K5}qBX:@p 0Gkck0N_xZpLQa 8 ; YyRsUx`|#P!Z$$+8ˠ]{w!#Ft|(0"ߑ5h<!UxvIdcv[Wdêmx9VMk' Dևj~+5W)[k:`B"27EuAN >ߏQI)'b*w&l{DG|e&])No80ႫA{M>~_ 1twϾ4qvIIBU\YLץuq$X!,P} -ue\\n@TƬB!X'.aAr |^`YR0 К'9>[܎[ն^$&uR' P;_9b>d9 n u2dWc PĹ=xBi׀g/#-VN'1G Eǯ0k(˗ r/7욏/ $Ŷ6MB Xs'd>Lb.xHnts hgn2cţglMb4 <, ֓ȡh{_KrZwoUC(elKDP @Z9=+I]]JxڒOoԩ+h¢|o,<|UBZNqS)3dQl3bg, Ah ϻ\'N߫"^ULp&chݾXT";(#r0+\|iGfL= NBKIэ_Ճh|oYiqT`K8DgWr PRR6 5H$(wmKIZ Zft3-YYNk@} \9 _%LńU!&ZBm5E)+gPZU~v#U*T -z:uEP&af9 @Um0;?A1pZ0$r[Y\dpL%M[:DjַPy [dW"٪VP~[:""|goS+ , =sOIs-uX_#S}: #?gBbgC%y.ʆxDX]ni⹣zcac±/ q8~NADTܱ^,X0Zt Gnpv1k|{QЇ9Tk<3 UJWO y_M;P i[pFcV0"oD@J}3* r ^fqJC$nb-ļ7-bRE"p2>ҎX)dtu*"#sXeibQjIWoLC|F l`:uQ _$!]b}eEh.g&BJ[ٮ*QmīC~|̓; I֮eXրȢȉ;!'xL` /I`øjy =xXJI]p yiDXD1 \cR_wDϕ- v+B4gCr4sa`%3(l&>/MYJHKȌb^%-H/g/~784KL,19RRU d|.JC&QUqֺI.h8eۜ"]cw-iW$@4ݷw'Gӿ)U5B˿ OĶ;ֻBΎDZfE16ƞe e!Gr؁vFjQ&-UlZ+$`%GMFYx*[NL-wt+tٙgUuCCqBӫ-hq qI'% 0 p)TlxBڜ' &Tmv:R6#q ^nF:sgUNt̷P~?US9Y -㱔fl&;%krrX/b@gs_uI,D[`På6`k˔S{o`F^=F7P鮬_5U$?x)^xlW2g _˽}^Zs%ËqI0,<3Ģ挶+ȭAwJo.bMYHzYv-´we9gM+oOXqwr7n[L#/e7) TsPx!K8"LFo,iuBK|s3i *.,wA,d0ϱ*Ҝ[_4k0:28ft{5 U5ZtNn_P]ٕuhiV`u&]+vTn;Ӭ$ƹ1эj]RP'2U5AB3&T]ypx:΄jm8L?XZm:z28}-~h؆֬N+v$$Xt΋h̋$gb҇Ec2bdIv§\_^d?>,ҏX?,lVt3t^.AU&LNoԝQb_M=q3Kdk`./$?܃@:?ٗ׍ /n© f\JX1v6d2rAc<m* lLK(< `sMHKfHBvjbGexD%0j3泃M]91S"hu3OO,L.Y9woنi2"ڻ DEJ*Ǡz?qb3zwY*]W4u XLrHdf^uoM %o< %:hBxif~ iQ !JdyhQ%zՖC3f{{-BH 勍g5֜D;fH0)~2٭c!؉o~ BG0jˌzn i:]˩!MGN9qk/CoOJtĎ.*H%(*vOF(0V /p'dyDJpv畛#gHVVvxg;o'vUVK^G.6Jw3;R.l҉uLi0 J,1~>N _qbL}ńtR>ȺGJ XG I\ A#WQ̍$jD*TIeH"k )s@a 8Bҡ A|qи,*IWFA+ buKClUh&Z6mu㨕EVXOT "wHp=6Y$#s4ǡMsG/d2!χߝa #-xđPbvAY,,S'2?:\~`4k.禗1u=gveU;aX9tCh̳`OD-ӝU.,(m'8G-K-^?B9"VU!OTz钭Li8&Y]EpV vqi;f^0M8q2ť;F%cH#'yq[X$SjQ8m&U.n.IEsFx nI y{H ,God)#x$G?Cd2dSFϪ'=$p=&_E%a':N3ֹB=JpQRp3~msXADMJGLIߛ_ԏ4[)ߌ3C%t@bxg報%D9_AŃV۶ =nђ(hC@U/ ~y d{pd⧘ЊCn*VYrW&ț8ӫB:vTlzf̥PDop4) !kpP`WOkvZ҃Nf,@Bq5ά !1yP֝茜Xf 1{V+/,xM#\e#l۳0U£>983R\|q.wbnQ}{c76դy*esN| |8kpkvJ>G$|5a:q9KOC+5#@=`Eӷ z!4e[%ƅm2M&|17rT^5Uwead-/j\j.DEq[́/K8T͠-=7C[д9Nݢ 'kg>UiB# B`^(Ӣ^A y:x 0//ro=B>5vch/K2FDO}7䎹J9ѾnP1XGaIX/L?hSv&/&voa]M er)"cCNzݕ뾬uGOld^묫irҌ4ŗG(*4ӐLI"+9XbV6%(+7WMFDEJ+~ `tA4% {ؑMIn5윅lmF3;Դjc燴?*}C e 7yfn˾APk򄽼Vj-/0Dac'@,A neUaى'fP Iٟ9±}'sq 6IHߧG 7ќY9Jkv.LBi,tifIvOqViu[MbN Ҹo42{F5J~6h9PaaaJYeQу b։sMs'a$M1> ~J,(yCkd1;E .OR\!iJ70U醙ު>YtT:ʧ=}M 9y{6{g/s 9)_6 J|ź+Iy7_V^H[`ȓ .ڋb؎VʀXۡ9}j͢Gsyaψ#J lk̍kN-J Us{LCRɧ7lWS͓`/:Qٕ: !X1Lǃ(u7*ޫ]gzpSo!8$7㴷ԈQ99|BOO =AL@~X<؇mg<X@}I|3vp>.ZMߗC4*p RLqAc/zM U^hQMWeV>r2~¸U%WiۍHj*wvVم{m6Y'XUa ב5vwcy:Z!&Q V^"g( ^ *A %2)&$)u\}EĜ*ɲjG]|E_Msi׆}U/cJ Y[D?f2>xL#ܪ$g(Rk:r9+:5LfPewDţͤFTB2ѱ(z8ZE/bZ]iw@bix^M7_lt{C"gp DNeI8V7= g8CiW=UZ%`Oyi_qhR؇U.2/ OSow+*>ARl߳ "sp(*Y֑ @ C,r S=]Kk Wa%68?2j&3ZpX@0:qwԷף3@e}wj^gbrwkv<'{9~t]ޠd{ M[ז?b&'@ Z`!dWGo(Ej B֫@7. M,8uJ C4N}h'ʜʺt!JNVYFǂ#P:M<:LQPk e{;)=]>&T&ɚ_+Ce5\k0 ݌6%OF?ZUz|%'VKȬkPC+* Զ`]l<+`mMbrY>v5OU3*(u~I<.h@D]}H[؋LRRuȷɒ#ٱMS  W0k31.2w( 43BK:| -QEv!=+2MLJH#cNb}lwzQFdVFTvD澳Л;f{ԃ,#O-H)ɥR1^,-5%Վ| ߡ>tÉJFgy6y$KiӘq.AOY 5 |(gipC$dh7N>m=$htKqf sYkrIYBP^ܩK%|CpréP[)@\^UM'F} 55rb^rR~Ķv# yW 2<Q]% zk%5ru龭ikj2@aג;aNIZ7oH{*Z_9p=$ w[lq&~޶'t%]^Q6,jsH5ɧ, -Þ_fXu,ߵSX& ^-0%hh4(")Ye>,u`GX<.[49:+vb@4T/aWUNN k-'Ž(^5+b4HG)83$^%6De%:I B^mzR; bb0bx=}JPq80HA<<ϒ`t$v&s|Ӏ1ua8TBژkDP369jQJ|Z=.yz = \'jM5ǥ +CH.ܸ1:U*P`dP} k_p'5i@ΐ>W+9kNM [DY KSKEkoVE\Qlon$Q(ˍOW%Wso[1KP-+LN~^<9o#N%*PAb_Cs_-6Ѱ)TjױCѦ"r -mUy<ǼJ~¾LQ*ĤHs^ r׼|̈VsZ``mVowT߸ h^\p!GGuʁ$>z=8i mSVDj@hmw?6 v[#̐y#gQ"M.K;弥85c5ߒCw$͜,`@k+ڬGaxz=ƏI_gW6n mߤ16Uq)(4\V(%! /ֶ l ;P`. s!gCE_Is<hed`oTH^o7 h>}\:y5/c/әofp.1gU+ݒ!,R8xUM.k:em Y? M w:SŀEc<$k+,1m-i@Nifbgרl߯K1Z̲;<`mC&hulhDgDDpܗ{W|8Qnsd(0[$\:<%KqsA·-⮣e&S=ކ${ǟgc;mZZ@}Ok+=wwI*N+a)AL1$X@ieF.-!\<:)lwބKO/܃M_BJ!?#zUJ^B(Dwk %$]CN0ǜ]=Q_O]0Ȍ\qooLr.@oa 9_uD{45^Ѵyث::gTٲ  >*#輼{{:V Q>[6qhy:_o.j1䊷ƹ0 UNCrQz{Ɣ@׮Uw@,;jt~=g8I.=kv` g^Ju1Kψ)Lis yn;:=븺dMJ5oan8_5'`=qBG=Q4݁Xq^lw!ɏ!/?hZ$ =Wfluch?Xi#D<s}b:aw Rn汜nȊ%VJ0%g%q^"!`ʴK.g,7gl?g|3^fzJkY9P.+]wkDI'TXQE5u1a bJɩjvc;ŋ&('?; =l |3S-DiYEsxA9sҥ$mK5 Fb+mvY~<#dd s_'LSLȅ@ZL˵O>d𽚅 ܾ㙕qΒ9ǭX,ҸR/uwh}/o?kH; ~j+I-/HPOmMZT˃e/ ?D66 d&HߏH?..&G47+|_ _D9ۀ?DU>j%d \br{]xou{ۤh'^6}~퉥(B5 Bfb t.Rl}X̡h#:Ѧ#1 GDbN? iW\c}fC!-6),l 1's-?!G!_=p_QX}Pzf̈AGU#p5JdꋧI \snHqc;`^P]?۲~W,)Ds(R `ӵcy3)4)*WYw=};M&S.Llߣ!CL&x}>&8#7gĻf"{W!:c|gOsLb @*D:_l mjА#E9B%Cn'Oi0¦WQ?YiVόs1E02}"|`0.&`j?'lS1BF`Q69LM4 _ބ!UxBGd8RTWCf6 1(&ҭ$jȡ.e. m %ϧ\tz5FTXp#reő\$lFKM E}D;S1LϊZ\JS#qhK*u #gXi4œfDjIeǕ#?=,((aLIƢ>Ѭӱf)ˏ%}hBed;[3_S\R./ovJu~!6 PYe@ ܖ>isTx (H9ΊK kEEh3q>\(ݪOd˶:m{dg,av 2[2[Eޡ;7k #Y0N=5>.UtQ̤dh*X$EԄFxuھ)ֿ1 (Vw`BϡkPi;Mpv1hRאLERVBTAت_8c !kv[vcA[WMMhAS<*YDZ y$tV8_2@膔C ~]o nSA1PD;Ef`víWC9kBПȤ\, qtbɦREѰRQa+X\8%v2Y̽GN jguƛug*V!\7=' f3Ђʵt~Pm3N>$)1.ϋ۷'xFn~^X}g5:[q>Fl6rԑ"35V&RgtFr[3^GL}S]GV?Cr[?[%K0~X‚-D ^*#Vk!2#b7;f8ѐqMtfvs}[Iϔ!D~r)c Lc(O3{,\Ue e)?Y@j(.XUZ}ȇy8t9Ѧߋ4]ʚ?M R_H\kn3T=Ky}6;\1:U @04g0ߪlC!A/|SW-G%Y%h* O% ^Z i-%?85}A{8]y;(S)וpi e JY9>(GbT,*{-KojO"wA Zׯ*ɛ2֊ߪ-dcN]' Ӹ2 ]pDַ3rzLaa,2L]Eȳ>>)`K[ 5l-{x !M?%5Sd:.[4Z~C5< "@4JR3 [REuݞc-oR.b:u+R@PT{~K37 fQH.Pn$d$oI׸8j-`j 2|#_JojVUÙdrWrY.Q&ҟP߱?/9)A_aǸ(\i2;hC9EIRO[eﴊJ!)1ֳ`wK ~$f/60.,}V6{AHhrـ=j:&OQ$* +Jȝ!R3Dœ(ǣ uJFWR{>2 Ǩ-ա$?}dZ*GYv_"*͝%23kh`Rҡjb #6J89$u⟘$Zw8ybl7 K3# VJdiəк!9%Hn>H- b;AԢ)B;YRNHli#SruDl HfT;Np\B!(FgWmCё4KA#/ T+u@Z7 eUq2)hCVAfg<[JpK;e6^?VkĈq9&|*/ɕԌYF3_(픹l \kǔ(t:viIMS(ע#o(יOmn AgbMKS_?Un_]kzz֗S_[Fnp~`˴ P7 6A'JXZKyT]^)ǧ`o4ũvy!VྐߥiYv^KCů< _hXv_FF|kNG-r#vV4P@)Ij$Cd1QQFլa|2e5=l|IUݩ@I»[;I ԯk1$ְ.P{ !3;=$Y<{HTq3eX%λP4&S |7K\&,5,p =I|2f8lZ[#UTbyb-c\Yu]*I9i S&*ׄd9lqf)|PzYq?-QN;Ra["gR8 pqEq\\!mR<򲱣%PLH_T^>!Tݿ \"XvM*VS?3ԉt@~o*uudy V Bo0n2K3_McZd7:j%12%pszнށ)pIOM&\tӜN 4TV";D?B;Q*@IsoF-Z&;Ƙܭ VZsG YZ