tukitd-4.1.6-150400.3.3.2 >  A eq*p9|[G%l"0Uu2| *#N Dh:i4i_k -,}ץ6RDcܟe(*:z@́ϭ)lv 4} \Mvll.Đ.c.d!y,>GtMOU8K/zu?*ʅ}ͨLu";T&E/s׍}7ԭO/°y` 9X0k &Am94efdefdf5abb94b8e895941346bbaaf39d8253ab81318162a1fc9f60f6395cb7ba606d8532a8ca9570902a0bcd06b62c597fafd̉eq*p9|,ڑӒbI4J]a - $Tv7vUvʖ~, E+BZp"0?jňThb O>dUeu0?v57 3PFөo\bݠ1l#͗g o!V/&# ƀr U/[ $6w7MDž7] UP9F=Qgrx'Q6&ONxda!>pFH?8d   P 5Fw}  0  T   f   x         .` 3(t8||9l|:j|=L>T?\@dFlG H I XY\ ], ^bc(deflu v(w\ x y z4Ctukitd4.1.6150400.3.3.2D-Bus controlling service for transactional updatesThis package provedes the D-Bus service to access libtukit4's functionality to manage transactional systems.eqh04-armsrv2SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/System/Librarieshttps://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 tukitd.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 tukitd.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 tukitd.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 tukitd.service ) || : fi: test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tukitd.service ; do sysv_service="${service%.*}" rm -f "/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 tukitd.service ) || : fi fi %10BeF~큤A큤eqeqeqeqeqeqeqeIeIde59695dd200dd33889f9ef47aa57c5cdce81da1c8a415be733f13d494978f6f2381207d31adece53097b195704a398d0617ed9cf7c1cba568573ef73259951b96c4445169ab0650d9c6ba33ee2150feaa990784d089946d4e6fbb7c07c98be249bc9d14ba48daf3d0c451e0d961dea8c99bcd5863eb6ce449be42367ee87b3987db71a519cc966624da999770f01f723d916b05f0f154a7c3c21b3745d9762f300ed6ebc147291c5bebe5bc09de3e4b09bdc597238212470d48d71797e0623e4ec94987f3af0b357c6af2280ebcb5b352e6c5fd51f4c33eed6e89d8f20ccb6cdb296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottransactional-update-4.1.6-150400.3.3.2.src.rpmtukitdtukitd(aarch-64) @@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shdbus-1ld-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)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_221)(64bit)libsystemd.so.0(LIBSYSTEMD_222)(64bit)libsystemd.so.0(LIBSYSTEMD_234)(64bit)libsystemd.so.0(LIBSYSTEMD_237)(64bit)libsystemd.so.0(LIBSYSTEMD_243)(64bit)libtukit.so.4()(64bit)libtukit4rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.1.6-150400.3.3.23.0.4-14.6.0-14.0-15.2-14.14.3e@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.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.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/bin/sh/bin/sh/bin/sh/bin/shh04-armsrv2 1701960722 4.1.6-150400.3.3.24.1.6-150400.3.3.2tukitd.servicetukitdorg.opensuse.tukit.Snapshot.xmlorg.opensuse.tukit.Transaction.xmltukitd.d-bus.serviceorg.opensuse.tukit.conftukitdCOPYINGgpl-2.0.txt/usr/lib/systemd/system//usr/sbin//usr/share/dbus-1/interfaces//usr/share/dbus-1/system-services//usr/share/dbus-1/system.d//usr/share/licenses//usr/share/licenses/tukitd/-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:31250/SUSE_SLE-15-SP4_Update_Products_Micro54_Update/f6614e6846c868bc37fdf8e3d6d74e12-transactional-update.SUSE_SLE-15-SP4_Update_Products_Micro54_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]=dca769e1a33ad117f88302b0f72f984b079a6540, for GNU/Linux 3.7.0, strippedexported SGML document, UTF-8 Unicode textexported SGML document, ASCII textdirectory R RRRRR RR RR R RRo8k^butf-810a0de6ebe6f7db3e70dbc7b413a685aecc69a334e78cc7fc6cbd68dd375d74c?7zXZ !t/I] crv(vX0yVTHht^Em9j&1U+a_ތ;wV;@r(|~`q 97a)j%4EDIZGb Ը ](rtlG}tۜx[OI>z?(p˴wV6(l]ֲ _u#jS NJm܈ ñN./> &uч@8+<\D%WFNDo[ [@&q(j){vd{!q) ?-&S4*=G@A]k9( V ]ۤ#"BДa,,>=&٦$k Ad=(_ڌ8n HQ{LOw70]*Qm=@,!]hb2US g@0Q*ƭ|&-}־-UT\d!8?6GcXь{n3Dh\Xw }4~BT(rWnh2INR5 Xu-hphxw3/k78P`țAX9mgG[13weIxBcWq6" ~1%!3-44d9C4כ\$ e蒚^f2B)'` $Đm(!}yh;)plޚ8! ؕ AL٥ IJ>ױsqQ8XDsx"XlNUXY/:WE:~*kenbDG1gQCsS)Qm(`6HWPCQa4'xЩC%1.cq=b"%O?&ߙԶ_Է'REJT S =bsY/0vUWjm$O4_!KQer&j;G-1Kl2G?4N%L'hɽ,-]]?K`p(NҿJY6l"n~4FѵYF1$̌7[ݻꌌz8e*g\AFEmdNgYjQJ[_eNռW[G^}{?oEu9,K{FDwtot$8!I b9n3#??0f2ODi4ݾeQ5dgZCTI6eQ0nܥ zuF!v~*4@oKW?&Dz :!QH&"vy.٢ Gk.RL~([XM `erom %-W ֫HD ?qU3{CůlpWV""))݃D1,;҂@C$!ܱIM~`,zvК뒨ݍ 4*5LȂSDU?ƞV(StHp38w*m#zqPڜ)F+(op]W*@|Cd?VjsZtCs=goCpڣq/;&誧ꊎlnM-R/l#y[RRS9pN`٣ rx4J6*BF+Lu4gA+@&}{|_ 5 E \ݰ,+k᎚lBda"puر?&Bb\4kQ$,px^ Gy30J1,?Q#ef< >$hvI;nx),'$Q:H}3D5LXvlۋоV;-LV;KˀA4h\?El]&^+`"la&:'7SD^J ow¼?Ң>^ P)ZKCk_%x[@?s<q>[F'#(&m[}D³Ky6}U{1 ѯjjp $$:zU:$:)S%NO? XU[|N-}ѹLh`9!6ܰ=KF–OD(ÄjeG3ԽBSlQxHb2"h3K3\Rlܧ%J#Oa~ Jl~+cl"Nҷv6m=^2-Cg.Ǐg~^c_1X_KxSc|jpE (qyѢ $0&J~ȑ9#$>{'j8c\.2aPm2Q,@O/,Ǻ[jkᒋD jUxOֽRĻ`WuIEdC96iV+Mϼ͟x ԕ 7B!\-/y$^B9LtqF@Wv\$LϾENu#,IE8Qёp+~uCuAˣO$ 7wx-* |Nϛi)oKX%eb^]3h7_WPYC 8^׵GĽY4h =xݠ(K6Pώ.@uahE Zp=2&^Ł |Ha{0{?*h!Z; IsSUI->Xs::%{Uv$|f#E4~D z0t]o-ގJ1MQײg 0ļfșC<'fZ\ U>ZOq7rՆ*q<%67Q۹% Y#5 $>d`[}MG̵èP !_O] ɔzJ,!(\dN^fٴ 13`p#~&qvC|ݡFzf.tKJ ]7G8* ѡ ڤRazb׆ͮQ)v| H^F >I< tvN28SÂ&=!k-kw_̳+i Qtٕ|<Ιbg\U*]d3⡊Ђ>UduAo6y  477 $ W5 v$eQJ Ulg Py'r>H;VrC},w1\ёDV7q؇?9! lƺ 3/ 7N$v"L۵x|4md%-!ɏdZغwQv%8qxh:qq2c餥ggW;_9,]g^4.} pHϪ %\?|ٵAt+&nLVY?C22NX=%F(N98D3"I&%yh2$0WIxA&t*ªH:&Fw24d3¬Ȫͽq S¹vUŞd0Ho#HI%;9H#1U !/l*;9K16em[`I$w(Ajo֠IUV ;n\uX0=DM4 ؛ůj`_7sm]6c҅PpgSn[S<*/jL|B\rTmZ REM,J}EWq"]T*ܥImҬx$ e6I.VY~ܠ1j=CBϐh!i>SVC.rJyP"H3MTpG{D5ULBbq7m'0_n9.sb uysl$vGڭe|1!x]91rxUsyfYkQ"7^6:~%L0wRϋO*-+ޗAQ@rXlOect!=95k!1=!X XᘠZsHoAG,CӺ8J"u*$b6@Z>d4G⡼#Æ*ir _xXiJ?-.nci3.]"vg\ژsVŞ_lsXWCSp߰gU &ݕ'Cm|%j4N&|7ɜv2/j6-tC|'˨Z`xLInZu4W=!YlC8r%鷺<7Є)5:"[HQYUpo |P2綈ۯ/ 0QXg %x_9L|T B*&b'ݰ?5{+{󧮱(#P@̍{emDmIPD;f<'ΘyYo2rL+d\%D~SWV:Z!A}fqN&~sTi7~;lTuNsG\lihvuOL8&+`P҇?$;!;43mYT"c I\T2:q+f60B6FjǷحa4ثz lOVwp1t@ܻv- !C]ayNCS;J3}rϕKk6E5#D&)r/S)CɽZ}xnyD;)ҦȑٹZԷ.ǻ"c(Tw?y_k4s X\`l4.0HEk~:ziw*fQMeq'bLjJa$uIzM."+wQ "BqT6|Tq$fXE[sAG|jݦ=)0i{l' ;<ü8fWX…xSxZV*#lPC 8Eo\t &]/weqӎ=LfzA$9*ay7${奦3503twhA$FY";W@K ;[NcHnb.n| cZ4Qo}KVWԒ[JA)텙ǽ ijo9B#Y0"(p!Q^iB-N+@~VxB=D͙[lyҼ6d ?[]@Р%b9`oաL`2f1X =W2l i61l~63pI<О&\md_nIrp&le=s1H~rtX"{7x#!@CobCؒH;)D HwΞ6htΌZ@pZ ػo0`BdOP\+r6> (z%+ͱi⨺Kq"s Ӫ@V|Gv[PWՁbt3p8#g ])no} bqo?ݒL˽OtNgoAg'H[duxCe<&qOpY)B⡁'I\K|ήRG>hbMl"gqT#W: \Dӂ[||ǤmJq!@ҭTuMӳm8˽Tdۿ{>tD8^wD BUÄ yާ]'/،$~\QxNP5l&rr̯ahͪ)c{S&`zrhJaY@1ʼV {$$PcC=A_:@eիp}Qwr?Aeq"sG9 Y=sak,Mޚ+&o]NTυB# pER4vvM]IJЃ| KʘV$H] 켛pwfBOyZOSQm ŅHiԳ3 )b"'by0g|y(oh=_e 0P" Mz}dSuН\-.K,}^t8/t]@9=y;$B)'D;%T_O$^ ^Eèݤ=noeA %EU0V^f^~D@N 'Xr;#\ -W@.E@SjhMHD_f myl!it3U'~$ 6_sOW2wi:jՊCm`@@} [H͐rwi6CXl,WZB) "%x_T8C%m*8,[kaW ?WA4H33L ]k.{75RG5 q-=(8<{\n[" @#<ؽ1;<͢]}FQ޷}[Ohv^Dơ@Yo"]; '%Dҿ1q6ԮH&GPеsƣ,/%) 5YNgZ9!Xs ׍<]^+w`hC:PBqg s& ih^Zap! ʹO =@rx>Z"m}Hw Ywo)#.$fSMP ӻw\]-%605HM^vM8,t(B}9oniG b%9s/Xt6unb=91zkn'*|!4`*0ٕvh,mfHļzkEM{Lgq@"Eeg0-F,V6>:$E{c>E F_9KY [J\JPS@B|W/"1hT GO'Ǧ3ԙ(f< ރl,n%(Vzk!0[-*G>zt#UewDw֡EuⓄlv*Dey\[uG|{cƪܿJe^ 0yy=xGѾ}C^pR\3ˍ9z3Zh #tƒ$r8Q#3Z =?&op\7t=+)\e"(FC$1cP4(VFp]& ppyZ#pQLɮ.PςP5F;92aUx-Ցӡ ›ݦ/%BRD3#ҵM=^~zcֿ̊-<5^P_5HEdtWvSe0TC~lgϒ\f&pj,VUóO``P=ܪ$ZV:j@﹀qFnaʍyHܪmU@aZOߧJ#f6tZѧpʒB&;PU|Un~)֦iraGՖgS4_Dl *& D٫WN[ B'aXju,:D씕{b]վf˕& TXEZZabd|ڴ$Ly&P7jR5[{wzTr&T/Qaߋ.b~t"Z8ks7xFd'}e3֬asN'ϻzV>rzȇDroYSZ^(Ҁsd@kbqiV,B; ^8|:/b/4kY`h2:j_QbmJsݏSMXZf&GKR_=*d 5?rBq|AHy1rU6O2 :HxOJO ;,/|rv+cdAGG!EݬG)(:+X<w.5]7@n6/E>wыp EIXAFά,.~"OgX9@w\hV-+:D?! (jVs͉C+s{PjW#+;T4K('ן3صԲ[z*?u>1Fh`tRlQnsZZҝDqs"JR+LM tQ* ͺ?TՄ ~hz/p <1Pfa\+pqAoTXy&  N-dW"5w|%׾ب5O B D꺛K!۬8/LЌp?3+. n}W Umk7G t rʸ֓ 9ĞhT4;Pv#H;]b{W" 0,@hPmᨆdfqCj <;&x[eڌP$vAրU4&*^xᎱJ=-eAّ=7;rqgA/i|*{8qHqk1@5]`}uC]bI+AN1Zb,hËb}cL!g`mBФ$aa x[+6AמS#]!^eƶۦ(='I>|\{P{:E${5.?9CϤ%DJfwlm,DV3+ S_;I\|6:H+M7; ~&9[-"j a(|Aז =Ok7I Lyhs6EG67w{HX%ŏԒJRV+[G}KA(@˱ z.2cɆ~̯ud>;IԵ|5gSpFxpίgJ8Ş%La0ag"U8>[Cw/,~\*I򱮧LdaZ-Ɗ f*M/m[,#s3`h1 h`۬Vy6w Z?4 7~ĩ0.IV^r$uƐ]ŘwٹPROT6*7dw MLԹ h烢8?, !1wk4:`k 1]:QQXHA2V^x_  k{h`HHE `!RzC5!0l/dΦ׶GX V72vC12x</"p~]*Z*g7P1(0Y;6Ov-yE-Aё%U?@&rDMa'']x~? 5]V@yȍATOi, |-XK܉n5="I㸜qtl\Hjy|q 縉 P姄 .ƻn}]:|+&}mR2Q "OUq(S¸3zy[?JoOR/f$= VkLL̶#&rl'$hb>5ݓ(q1b]@APWƒsxQ@8 g{S3ņ8@x㙫/<WtXW>LTYWfxȕ!aN4'*%,@Ex. 3ooRб6ѻ1-gDA57ӧB B;/[mH*-N74oKo%@c{vFVf &@oTl;VҎ!uqs;krhTW&GYFEo",}z#901dF!Lt tHdא2xh(ݲ4Hb3 xɖx7iry) i9x*Dd7Ī6VT?[9@hv6 FiPC. RWCQޕ>1㝔lҪ9LSYUrz 30~&vׁ)NJUrȾVPhS[}`Z$1`,jaK[ Hya.@JN$Eiޢ&T.Fb߿Q_p^pG3G/#?jD />jz@𪵐lu#y)Xӵ1r45E]1MdxVyY?[p_mraO3㫑 MihoT ((p+_1~*_-NҀ|;Ms`X$>siOvۣhN!%,6،hvB8! DOIv k ܥCC9ОY$7=Ql lH$r1Z^`vbA*ͨjL6 ȖWֈujx6,Ixb MVϑ;p&>ֱu{^a>]ΦT{oDh &_>ݦrP|Mbl_p<:|iHx!'H\P6$Pl2DE7+l ٳĚBn} 4Q2K6 ;f J%'+C(/FJtNGn^/~|Uڳ0cm/R_R7ݟ`ӊvժbi][qtj)AYl7}e*}#:+@A\$.³`>j3YŃ$| $Ut؅(p~y12;̮WջnZٖuw>@"|=<ij&_AsP$+ .EcE1`En)׎{k> 8gĠ&WY/G , 6K10 ʜL9=qsbbi=f{:v|UCz'_Ⱥamp-\L\#4 /V|;cxqxݼ3m\XW`"䷮p9PL J)ˉ"nG]fɋG 18 4WFvu$z53! oܘdCu1IO B @?Nfaäy2bRyfx2U<#d7i4jķW'8~PD|KY19(k RoA?Y`H]yoRmD EU'0y_6<{~I!_ P|F[MaV;Wn'"Q(RFo p<7)?ǰnGRq-dt}UG¨+:G>˫*Y{_r,4]Z%4ZqT]H.VpX'cs] \zz;! wVEAT @5fNnV:GXJ*վ=1R22J4dРc! H)Jk; K^}BNf 썥.u90E NIR^\n{Ihm'M"x;T5tնS)2WKEǦ3o<ȳ.w6(M^1F|{\ |.^iY͆Ό?P>]罟ix2=+AF,UR$)! ( Zӽz0n1bAua}=5[ he*AJWn!144*7 Xƒ7Mָfw[~"oNYMcUR᢮%kG_tPuT缕UM[* Т绍yw#VMg^Ae5c`=JZsJ!_Ҫѯq:qdLw7%ڛ1h֛hs0Xv?]t6`2:a mk \~h ocv/ln!e&KWf m_~w\zbsq+:у#Xkr"B2QᨈsLi ߀ N ((73~նx>μ Df+)_e*4JZIQTU#SJ:ESRB J4hEo F8$A2(B WGb#Fr@:Cs,V6Z _Ի~2}@'3n,Z۶;kW4X_7Y#*_\M 2z,Ԡ}gRwh17O#n9wuS-"STf9̼)?nJHn0w`/:?ٶktf&ndL3T^ R2F;2x)Fxc@w\pY阙dۘh%m) &Nyfo*LOp1ߟm4[f4է#Ix6+q2LSe$+~w[dgP:s vvsǯ?XL?Yd˷go?'9VABE&y &3eL=?YmۧZJYfʩ;DݳKPs7ҳ 0^pHQ<"j*U,M}#s ȞݍrS#&J8_CZ j6\hnNC:JdrdҦ2 Ou@(F[Ze++xu)y$6a]jg@p-õr;O)A?ëN:;;O8HV؁ Uwfg~ RwG)y7J@nTQBiO>7&:.<4O$䧑"!D'T*]ʨ5ً$ӓ!!<bۀk;#s½^㾆)mpp nE{/+ Po"2AGpnHz--Ԗ{Yh݉ͮws͍hr]IHdv8o `><SId"])qR!d6󃉶kN ;o><&'(hr^rO ,9@-GI;&ˆ/h:hᲙ,= zmto(ܮ|DJ~Ut?;e} cU:S<חݢ@B&wi9 y5 Ζ@*FG`%}WUkz\/ӵ"MMR \bD>BV[F{TW"3_lvpiǞ"BhsBL BW7iL_0#r"Hq}ގ7Pvm`gy?7s][~RpgB*r"#%)10H1ypn…{QyGDr5^OUX+ےQN2ڈu`^6Rୗі,.bU>!:6nsM~6)(04m'aR $.X6veW e2jq#M*:bh6Z./Ȼ!X,O'}y!9dÕ;#XhXLC?obap/Bq?=(tkN:Y}&BDś6T~1X.r~9OhO6ؚFHKH0Ѥh6"D4RMJZ,8M6@Yƃ&;L ~`馵C;T!=!pW>,#q}BЁG.kW7)9IUc7,n=.ߦD&R5>Sw`%7Vy$q4Cwb'Ou '<ɿfT۵tp\3-b̅ n͉bcOZN4hn*¤m*n^ػt1ϐgNeQ5g81GQϗײ2aT%ռHXȌ ̼֬{NmnFRFl9EWʩqYZ*OB{ZAT8눶$vzmEzX6  YZ