iscsiuio-0.7.8.6-150500.44.1 >  A dZ[[p9|*b t1K"bɞg6j_0 Jm6ق7g$|.ޛ)cEhFҤPy6k7ދZ/>!1WC z!00ý.V޽1W. j HMpo7FW>9BPrh ~ӷ&b`0oI3~*}6ɪ~I;'zŠ Nv9>e+=mx:VyV_6ZuZX΅bda79cfe2d891e1a85be71f27a88231c6dfa78b85cb0f80b7974678b008ca6a120a10d98333c2571810af470cf28796c69a5ad2bdZ[[p9| !ddP|Sb;bdlG>E 4vf$nABb6pl 2J/}Up`"uo݁7K,ِbHqy+%&SEjA`F{w簛F^Z0*RH~j;I4sov^ÔsZz $I>ŎexRo> G*I gЦIfT2F޵!Q'Z?[Hve>pF?d   I )Gbho       8Twl(8h9h:h=8>@?H@PFXGlHIXY\]^jbcZdefluvw$x@y\zCiscsiuio0.7.8.6150500.44.1Linux Broadcom NetXtremem II iscsi serverThis tool is to be used in conjunction with the Broadcom NetXtreme II Linux driver (Kernel module name: "bnx2" and "bnx2x"), Broadcom CNIC driver, and the Broadcom iSCSI driver (Kernel module name: "bnx2i"). This user-space tool is used in conjunction with the following Broadcom Network Controllers: * bnx2: BCM5706, BCM5708, BCM5709 devices * bnx2x: BCM57710, BCM57711, BCM57711E, BCM57712, BCM57712E, BCM57800, BCM57810, BCM57840 devices This utility will provide the ARP and DHCP functionality for the iSCSI offload. The communication to the driver is done via user-space I/O (Kernel module name "uio").dZ[3sheep25SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Productivity/Networking/Otherhttps://www.open-iscsi.comlinuxx86_64 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 iscsiuio.service iscsiuio.socket ; 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 iscsiuio.service iscsiuio.socket ; 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 iscsiuio.service iscsiuio.socket || : ( 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 iscsiuio.service iscsiuio.socket ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in iscsiuio.service iscsiuio.socket ; 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 iscsiuio.service iscsiuio.socket ) || : fi fic2dZ[.dZ[0dZ[0dZ[c2c23a8ce9bc90493d44bc241bc1e3dc8b0a61ee63e4ece88cab5f70fba8c6a1a44e06db0e1035979a4c7a5f91e97f1689efe014770e6cf037bba7d0486d1d99c507d9647e6d478940b8f31022318ae29f5e2323741dee14c6d14495ba2f99df2a4d3b2c2e17187e4c3b2ed7c7eb7bf23536b57dc00dbcf374566ad5a2443835a6316053db30fe155893d947959eb607531eff7fc9db819c65c989b256385077a246iscsiuioservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootopen-iscsi-2.1.8-150500.44.1.src.rpmconfig(iscsiuio)iscsiuioiscsiuio(x86-64) @@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shconfig(iscsiuio)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpthread.so.0(GLIBC_2.3.3)(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)logrotaterpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.7.8.6-150500.44.13.0.4-14.6.0-14.0-15.2-14.14.3d=4c@c@cR@c@ctc1@by@blb~H@by@bu bMb#Pb D@aav@a\>@aUa8a@` @`@`N@`N@`J@`@_@___F@_^(@^`^k@^@^|@^^F^4]҇]ƪ@]@]@]{]QT]B@]/ ]$]@\]@\@\HW@\)- Set initiatorname in %post (at end of install), for cases where root is read-only at startup time (bsc#1198457)- Update to latest upstream, including: * Added 'distclean' to Makefile targets * Ensure Makefile '.PHONY' targets set up correctly * fix an iscsid logout bug generating a false error and cleanup logout error messages- Updated to latest upstream version, tagged 2.1.7. Changes included: * updated/fixed test script * updated build system * several bug fixes, including one for bsc#1199264- Updated to latest upstream, including bug fixes and cleanups. Changes included: * add handling name/value pairs for firmware login (bsc#1196113), including man page update for same * Fix bug where some package parts were installed using DESTDIR twice * general build cleanup (in prep for removing DB files from /etc/iscsi some day soon) Also, now delivering a "package config" file for libopeniscsiusr.- Update to latest upstream, including test cleanup, minor bug fixes (cosmetic), and fixing iscsi-init (bsc#1195656).- Updated to latest upstream 2.1.6 as 2.1.6-suse, which contains bug fixes and cleanups. See the Changelog for more details.- Merged latest upstream. Mostly cleanup, but includes a fix for iscsi-init.service when trying to write to the root volume too early (bsc#1192568), as well as an upstream fix for possible deadlock when dealing with sysfs.- Fix the usr-merge changes (bsc#1192013). This includes catching all the places that /sbin was still used directly, as well as making the SPEC file build using /usr/sbin for openSUSE but still use /sbin for SLE, for now.- Fix possible systemd cycle by adding an "obsoletes" for the old libopeniscsiusr for older versions.- Update to latest from upstream, fixing: * Moving the executables from /sbin to /usr/sbin (bsc#1191054) * Remove default dependencies from iscsi-init.service (bsc#1187190)- Updated to latest upstream 2.1.5 as 2.1.5-suse, which contains these changes not already present: * Handle IPv6 interfaces correctly. (bsc#1187958) * Handle qedi correctly in NPAR mode (bsc#1187958) * Update iscsiadm man page (bsc#1187958) * Update iface.example for ipv6 * Change iscsi IP type from defines to enum. * Handle recv() returning 0 in iscsid_response()- Merged latest upstream, which includes: * iscsid: set PR_SET_IO_FLUSHER (bsc#1188869)- Merge latest upstream, which includeds: * Support the "qede" CMA-card driver. (bsc#1188579) * iscsistart: fix null pointer deref before exit- Merge latest upstream, which added fix (bsc#1185930): * Set default 'startup' to 'onboot' for FW nodes- Local (SUSE) change: update iscsi.service so that it tries to logon to any "onboot" and firmware targets, in case a target was offline when booted but back up when the service is started. (bsc#1153806)- Merged with latest from upstream, which contains these fixes: * Add "no wait" option to iscsiadm firmware login * Check for ISCSI_ERR_ISCSID_NOTCONN in iscsistart * Log proper error message when AUTH failure occurs- Updated to latest upstream 2.1.4 as 2.1.4-suse, which contains these changes not already present: * Enable iscsi.service asynchronous logins, cleanup services (bsc#1183421) * libopeniscsiusr: dont error loudly if a session isn't found when working through iscsi_sessions_get() * libopeniscsiusr: skip over removed sessions * libopeniscsiusr: fix error messages * Avoid hardcoding pkg-config to fix cross build * Fix iscsistart login issue when target is delayed.- Update to latest upstream (no new tag yet). To fix bsc#1181313. Changes since last update added to open-iscsi-SUSE-latest.diff.bz2: * Fix iscsiadm segfault when exiting * iscsid: Add NO_SYSTEMD to CFLAGS * Change mkdir permissions to 0770, adjust usmask * Fix typo in util.py * iscsid: Do not allow conflicting pid-file options * iscsiadm: Fix memory leak in iscsiadm * libopeniscsiusr: Fix memory leak in iscsi_sessions_get() * libopeniscsiusr: Fix memory leak in iscsi_nodes_get() * idbm: Fix memory leak and NULL pointer dereference in idbm_rec_update_param() * Add etc/systemd/iscsi-init.service to SYSTEMDFILES Makefile variable- Updated to upstream version 2.1.3 as 2.1.3-suse, for bsc#1179908 (which addresses CVE-2020-17437, CVE-2020-17438, CVE-2020-13987, and CVE-2020-13988), changes include: * uip: check for TCP urgent pointer past end of frame * uip: check for u8 overflow when processing TCP options * uip: check for header length underflow during checksum calculation * fwparam_ppc: Fix memory leak in fwparam_ppc.c * iscsiuio: Remove unused macro IFNAMSIZ defined in iscsid_ipc.c * fwparam_ppc: Fix illegal memory access in fwparam_ppc.c * sysfs: Verify parameter of sysfs_device_get() * fwparam_ppc: Fix NULL pointer dereference in find_devtree() * open-iscsi: Clean user_param list when process exit * iscsi_net_util: Fix NULL pointer dereference in find_vlan_dev() * open-iscsi: Fix NULL pointer dereference in mgmt_ipc_read_req() * open-iscsi: Fix invalid pointer deference in find_initiator() * iscsiuio: Fix invalid parameter when call fstat() * iscsi-iname: Verify open() return value before calling read() * iscsi_sysfs: Fix NULL pointer deference in iscsi_sysfs_read_iface- Updatged to latest upstream, including: * iscsiadm: Optimize the the verification of mode paramters * iscsid: Poll timeout value to 1 minute for iscsid * iscsiadm: fix host stats mode coredump * iscsid: fix logging level when starting and shutting down daemon * Updated iscsiadm man page. * Fix memory leak in sysfs_get_str * libopeniscsiusr: Compare with max int instead of max long - Systemd unit files should not depend on network.target (bsc#1179440), updating: * open-iscsi-SUSE-latest.diff.bz2- Updated to latest upstream, including async login ability: * TODO: Update to todo list. * Implement login "no_wait" for iscsiadm NODE mode * iscsiadm buffer overflow regression when discovering many targets at once * iscsid: Check Invalid Session id for stop connection * Add ability to attempt target logins asynchronously- %service_del_postun_without_restart is now available on SLE More accurately it's been introduced in SLE12-SP2+ and SLE15+ +-------------------------------------------------------------------- Upgrade to upstream vresion 2.1.2 as 2.1.2-suse (for jre#SES-1081), including: * use openssl for random data generation * Misspelled socket name might cause confusion to inexperienced user. * iscsi/libopeniscsiusr:add libopeniscsiuser_node.h to HEADERS * Let initiator name be created by iscsi-init.service. * iscsi: fix fd leak * iscsi: Add break to while loop * Fix compiler complaint about string copy in iscsiuio * Fix a compiler complaint about writing one byte * Fix issue with zero-length arrays at end of struct * Add iscsi-init.service * Proper disconnect of TCP connection * Fix dependency on new systemd RPM macro * Fix SIGPIPE loop in signal handler * Update iscsi-iname.c * log:modify iSCSI shared memory permissions for logs * Sequence systemd services correctly when upgrading * Ignore iface.example in iface match checks * More changes for musl. * Fix type mismatch under musl. * Change include of to * Add Wants=remote-fs-pre.target for sequencing. * Add workaround in SPEC file for installcheck. * Fix issue where "iscsi-iname -p" core dumps. * iscsi-iname: fix iscsi-iname -p access NULL pointer without given IQN prefix * Fix iscsi.service so it handles restarts better Replacing open-iscsi-2.1.1-suse.tar.bz2 with open-iscsi-2.1.2-suse.tar.bz2, and updating open-iscsi-SUSE-latest.diff.bz2 to empty, since initially there are no differences.- Merged in latest upstream. Summary: * Let initiator name be created by iscsi-init.service. * iscsi: fix fd leak * iscsi: Add break to while loop * Fix compiler complaint about string copy in iscsiuio * Fix a compiler complaint about writing one byte * Fix issue with zero-length arrays at end of struct * Add iscsi-init.service * Proper disconnect of TCP connection * Fix SIGPIPE loop in signal handler * Update iscsi-iname.c * log:modify iSCSI shared memory permissions for logs * Ignore iface.example in iface match checks * More changes for musl. * Fix type mismatch under musl. * Change include of to * iscsi-iname: fix iscsi-iname -p access NULL pointer without given IQN prefix Note that the "Add iscsi-init.service" change adds a new systemd service called "iscsi-init", that creates the iSCSI initiator name file /etc/iscsi/initiatorname.iscsi, if and only if it does not exist. This obviates the need to do this from the SPEC file, now updated. Since this was not a version-number update, in addition to modifying the SPEC file, also updates: * open-iscsi-SUSE-latest.diff.bz2- Update SPEC file to handle the fact that the service_del_postun_without_restart RPM macro exists in factory but not in SLE. No functional change for factory.- Updated service_del_preun and service_del_postun for iscsi and iscsiuio packges in SPEC file, so that services get started/ stopped in the correct order, and changed systemd macros so that iscsi login service iscsi.service is not restarted during package upgrade (bsc#1166650)- Update with two upstream commits: * Fix issue where "iscsi-iname -p" core dumps. (found upstream) * Fix iscsi.service so it handles restarts better (bsc#1163499) * Add Wants=remote-fs-pre.target for sequencing. (bsc#1158536) updating: * open-iscsi-SUSE-latest.diff.bz2- Update SPEC file to work around issue with installcheck SUSE script. Update the SPEC file while there.- Merged in latest upstream (2.1.1), which is mainly a bug-fix release over 2.1.0, including changing the test suite from shell-based to python3-based, replacing open-iscsi.2.1.0-suse.tar.bz2 with open-iscsi-2.1.1-suse.tar.bz2 and resetting open-iscsi-SUSE-latest-diff.bz2- Bug fixes, including addig support for "-fno-common" compiler option, 586 bug fixes, a bug fix for SHA1 handling, and other needed but small fixes (bsc#1160287), updating: * open-iscsi-SUSE-latest.diff.bz2- Merged in latest upstream (2.1.0), including more fixes for iscsiuio, and cleanup/bug-fixes of new CHAP code. This replaces open-iscsi-2.0.878-suse.tar.bz2 with open-iscsi-2.1.0-suse.tar.bz2, and it resets open-iscsi-SUSE-latest.diff.bz2 with fixes after 2.1.0-suse. Also, updated the Summary lines in the spec file that started with "iSCSI ...", since rpmlint didn't like them starting with a non-capital letter, and updated the version number for iscsiuio to match the code.- Use SPEC-file macro for systemd generator directory, since the libexec macro is changing from /usr/lib to /usr/libexec.- Fix issue where CHAP was not working after latest update (bsc#1155510), updating: * open-iscsi-SUSE-latest.diff.bz2- Merge in latest upstream, with fixes for: * Support CHAP SHA-1, SHA-256, SHA3-256 vis openssl libcrypto - this requires an update of the SPEC file, as well * Initialize timeout for printing specific session info Updating (in addition to the SPEC file): * open-iscsi-SUSE-latest.diff.bz2- Upgraded to upstream version 2.0.878, which becomes 2.0.878-suse with our (few) SUSE-specific changes needed for our build system. Changes include: * general bug fixes in iscsid, iscsiadm, and libopeniscsiusr, including better lock handling for multiple instances of iscsiadm * iscsiuio/qedi updates * systemd service-file updates/cleanups This replaces open-iscsi-2.0.877-suse.tar.bz2 with open-iscsi-2.0.878-suse.tar.bz2, and it resets open-iscsi-SUSE-latest.diff.bz2 with fixes after 2.0.878.- Enable LTO on aarch64 as the gcc9 package issue is fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91386- Disable LTO (Link Time Optimization) on aarch64 since it seems to fail -- iscsiadm core dumps almost immediately (bsc#1143192), updating the SPEC file.- Ensure /etc/iscsi/initiatorname.iscsi has reproducible size works around https://github.com/rpm-software-management/rpm/pull/229, updating the SPEC file- Added latest upstream changes, including: * iscsiuio: update version to 0.7.8.6 * iscsiuio: allow processing of iscsid requests in DHCP failure condition * rec update: disable the idbm_lock in read/write when updating the rec Updating: * open-iscsi-SUSE-latest.diff.bz2- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Added latest upstream changes, including: - iscsiuio: Stop using /var directory for PIDfile and locks - iscsiuio: improve daemon synchronization (bsc#1135070) - fix pipe notification code - add systemd support for iscsiuio - make iscsid systemd usage optional - fix possible discovery hang timeout - fix iscsiuio systemd disablement Updating: * open-iscsi-SUSE-latest.diff.bz2- Added latest upstream changes, including: * Fix output of node printing for multiple paths. * Fix printing of node database again. * Add Restart=on-failure option to iscsid.service * Fix node print return value when no nodes. Updating: * open-iscsi-SUSE-latest.diff.bz2- Merged latest upstream commits to get needed fix: * Fix output for iscsiadm node/iface print level P1 (needed for bsc#1122938) * Updated iscsiadm man page: add "onboot" handling. Updating: * open-iscsi-SUSE-latest.diff.bz2- Update SPEC file to allow %_libdir macro to override LIB_DIR when building or installing- Update SPEC file to use %license macro for COPYING file so that it gets delivered when when other docs are excluded (bsc#1121877)- Fixed iscsiuio issues (bsc#1116712) by merging the latest from upstream, bringing the iscsiuio version to v0.7.8.5, updating: * open-iscsi-SUSE-latest.diff.bz2- Updated to latest upstream, with fixes: * Use pkg-config in Makefiles for newer libraries. * Merge pull request #145 from gonzoleeman/fix-i586-build-warnings * Fix i586 build issues with string length overflow. * iscsistart is not installed * iscsiuio: Do not flush tx queue on each uio interrupt. updating: * open-iscsi-SUSE-latest.diff.bz2 Also, update the SPEC file: no more need to specify libkmod or libsystemd, since upstream handles that now.- Updated SPEC file with Obsoletes for library, and disclaimer abot updating SPEC file directly. Also, added using KBUILD_BUILD_TIMESTAMP to create reproducable man pages (bsc#1047218)- Upgraded to upstream open-iscsi version 2.0.877, which will be merged with our (few) changes and tagged 2.0.877-suse. See the Changelog file for a details list of changes in this upstream update. This update replaces: * open-iscsi-2.0.876-suse.tar.bz2 (old) with * open-iscsi-2.0.877-suse.tar.bz2 (new) and resets the file: * open-iscsi-SUSE-latest.diff.bz2 to be our local changes since version 2.0.877-suse. The spec file is updated as well.- Merge the latest upstream code, updating the libopeniscsiusr version from 0_1_0 to 0_2_0, which updates the SPEC file. Also updated with new code: * open-iscsi-SUSE-latest.diff.bz2- Use libkmod instead of running modprobe (bsc#1106685), updating the spec file, and: * open-iscsi-SUSE-latest.diff.bz2- iscsiuio: limit retries on dhcpv6 (bsc#1106694 and bsc#1105916), updating: * open-iscsi-SUSE-latest.diff.bz2- Fix a core dump which can occur if iscsiuio is started then immediately stopped (bsc#1094797), updating: * open-iscsi-SUSE-latest.diff.bz2- Ensure we can get qedi transport name (bsc#1090275), updating: * open-iscsi-SUSE-latest.diff.bz2- Added upstream patch to allow host_id of 0 (bsc#1089687), updating: * open-iscsi-SUSE-latest.diff.bz2- Added 2 upstream commits to address issue of iscsi_if.h stayig in sync with kernel vesion (bsc#1086344), updating: * open-iscsi-SUSE-latest.diff.bz2- Cleaned up complaints by gcc-8 about strings (bsc#1084640) - Fixed rpmlint complaint about libopeniscsiusr summary not starting with a capital letter - Fixed libopeniscsiusr global variable overload - No functional changes. This updates: * open-iscsi-SUSE-latest.diff.bz2, and * open-iscsi.spec- Ensure correct dependencies: main package must depend on (new) libopeniscsiusr package, and devel package must depend on main package (updating spec file)- Fix ARP booting issue with different subnets (bsc#1058463), updating: * open-iscsi-SUSE-latest.diff.bz2- Trim filler wording from description. Update old commands/RPM variables to macros. - Implement shared library packaging guideline. - Do not let fdupes run across partitions.- Removed the "rpm/" source directory from both the open-iscsi-2.0.876-suse.tar.bz2 and open-iscsi-SUSE-latest.diff.bz2 files, since they are not needed for building and are not part of the upstream sources. They are still available under the git repository at github.com/hreinecke/open-iscsi.git. This means that changes to the spec file or the changes file will no longer require a change to the "*SUSE-latest*" file.- Update to latest upstream vesion 2.0.876, with very few SUSE-specific modifications, namely around things upstream does not care about, like SUSE-specific systemd files. Also, version number modified to add "-suse", as usual. See the Changelog file for more details on changes in this upstream version. This replaces open-iscsi-2.0.875-suse.tar.bz2 with open-iscsi-2.0.876-suse.tar.bz2, and resets open-iscsi-SUSE-latest.diff.bz2 to contain only changes since the 2.0.876-suse tag. These changes added a new libopeniscsiusr.so library, as well as include files under a new open-iscsi-dev package, if you want to link against this library. The SPEC file was also cleaned up using spec-cleaner.- Fix vulnerabilities found in iscsiuio by qualsys (bsc#1072312), updating: open-iscsi-SUSE-latest.diff.bz2- Added fixes for working with latest gcc (7.2.1), updating: open-iscsi-SUSE-latest.diff.bz2- Start iscsi logins before remote filesystems (bsc#1028323), updating: * open-iscsi-SUSE-latest.diff.bz2- Update to latest upstream 2.0.875, with a few SUSE-only modifications, replacing the 2.0.874-suse tarball with a 2.0.875-suse version, and resetting the SUSE-latest-diff file to contain changes from 2.0.875-suse forward (bsc#1056689)- Add missing coreutils dependency for initrd macros (bsc#1055492) in SPEC file, which (as always) changes: * open-iscsi-SUSE-latest.diff.bz2 +-------------------------------------------------------------------- Clear errno before calling strotull in iscsiadm (bsc#1029364). Note that this changes the file: * open-iscsi-SUSE-latest.diff.bz2 which is changed each and every time this package is updated.- Added two iscsiuio upstream commits, for ipv6 support, and general bug fixes (bsc#1040559)- Added support for qedi ping (bsc#1036238)- Fixed coredump when printing session information (bsc#1035236), backporting commit c8e6198dca71 from upstream open-iscsi- This is now the latest upstream open-iscsi, i.e. 2.0.874 plus latest as of this date, together with SUSE-specific changes that are not yet upstream or not appropriate for upstream. (bsc#1032402/FATE#321911) Important changes in this update include: * qedi transport support * README cleanup * iscsiuio update * shutdown cleanup Also, the base tar file has been refactored to pre 2.0.874-suse as well as patches file for everything after that tag. Lastly, this update syncs this "Changes" file in Factory to and SLE, including SLE bug and FATE numbers, for reference.- Added two patches submitted upstream that make iscsi service shutdown cleaner (bsc#952437)- Added open-isns patch to remove Discovery Domain doubling when loading from file (bsc#897297), adding patch: * open-isns-Fix-DD-member-doubling-when-restoring-from-DB.patch- Stop manual sessions for iscsi service (bsc#989548)- Added patch submitted upstream that sets socket option to SO_LINGER (bsc#974102)- Update user-space open-iscsi tools (bsc#975217, FATE#320753), which included: + Backported changes from openSUSE:Factory branch: * Removing creation of open-isns RPM. * Allow setting host params to return EAGAIN errors. * Kernel include path * Fix iBFT target flags check. * fix typo * Fix typo in man page. * Use system-wide open-isns, not internal version. * iscsi: remove local copy of open-isns * iscsid: make sure actor is delated before rescheduling * iscsid/iscsiuio: remove uio poll * iscsid: fix iscsi_host_set_net_params return code * Syncing up utils/fwparam_ibft with upstream. * Syncing top-level files with upstream. * Fixed duplicate lines for subnet_mask and gateway + Update SPEC file for spliced open-isns by copying open-isns upstream tarball and patches from factory, since open-isns is no longer part of open-iscsi- Added 5 upstream patches for iscsiuio (bsc#960438): iscsiuio: Get the library to use based on uio sysfs name iscsiuio: Wait for iface to be ready before issuing the ping iscsiadm: let ping be tried after iface config is initialized iscsiuio: Add ping support through iscsiuio iscsid: Changes to support ping through iscsiuio - Updated spec file copyright - Build service git diffs now using 12-digit commit IDs- isns: exit with success when terminated with SIGTERM (bsc#948561)- isns: Adding signal managment around DB update, and ignore empty DB file (bsc#941791)- isns: Remove the debugging output from isnsd (bsc#949443)- added patch submitted upstream by QLogic: iscsiuio: Add QLogic Vendor ID to support newer NX2 HBAs- open-isns: For bsc#941944: - Allow setting server name with "--server" - Ensure we can reliably get our IP address- open-isns: For bsc#941791: - Set up /etc/isns/*.conf files when installing - Install /etc/isns/isnsadm.conf- Allow non-tcp transport for discovery daemon (bsc#939923)- Added iscsi_fw_login helper script, and new udev rule to call script when iBFT/iscsi boot targets added (bsc#869278)- Added rcsymlinks (bsc#932814) - Cleaned up spec file for rpmlint- Updated open-iscsi to match upstream, as per bsc#936114, FATE#318770 The following is a summary of changes. See git@github.com:hreinecke/open-iscsi.git for details of commits: a068906448ef Removing duplicate LDFLAGS from incorrect patch 85ed2b4a1cb5 Prevent spinning over poll() when reconnecting to an inaccessible target bbffa1dd332d Fix incorrect list operation leading to out-of-order items on pend_list ce449cc8407f iscsiuio: Correct the handling of Multi Function mode e7f84d774c22 Reformat man page synopsis sections 271b77dece32 Spelling and escaping error fixes. 2022944815b2 Remove outdated Debian packaging code. d650915062d6 buildsys: respect CFLAGS and LDFLAGS from the outside 97ae5d74d6bf buildsys: make 'make clean' idempotent 770993b1e422 Fix small typo in iscsid.conf c9dcedb7b6a9 Remove duplicate newlines in log messages. 2986f9c95f6f iscsid: don't re-read config file for every session logout d56f49d3f947 iscsid safe session logout 3f59db921549 Add some more debug logging to actor.c 75552f5519a8 iscsiuio CFLAGS fixes 73e3e00c0e5e iscsid: fix order of setting uid/gid and drop supplementary groups 99dfbeff1676 add discovery as a valid mode in iscsiadm.8 688c2e9185f1 guard against NULL ptr during discovery from unexpected event c31ec6483815 Allow setting host params to return EAGAIN errors. 973508df1daf fix regression in iscsi_tcp iface binding 93c9d5ae1c86 Wake up to reap children 24409900d9df Make running actors event-driven bc491ac31487 Remove actor_init and rename actor_new to actor_init cbcd086a2cf9 actor: Simplify actor_poll a little 71ec348a2dfd actor: Unobfuscate ACTOR_MAX_LOOPS 61d58fbf6de8 actor: Remove ACTOR_TICKS_10MS() f53eb0034618 actor: s/ACTOR_TICKS/actor_jiffies/ dfe52b2423ff actor: simplify actor_check 8667dcd5d628 actor: Mark actor_check static 8037a0a30b8f Represent DHCP "origin" as an enum, not a string. da567155cfe9 Code cleanup: no functional changes 6478eaac7b53 iscsiuio: Check return value from nic_queue_tx_packet 1d07286fda46 iscsiuio: Remove set but unused variables 382655137020 iscsiuio: Change nic_disable to return void 7c233130687a iscsiuio: Use attribute(unused) for *icmpv6_hdr 8e1d38215344 iscsiuio: Use attribute(unused) for variables that are unused but needed 6ae604304b10 iscsiuio: Fix aliasing issue with IPV6_IS_ADDR_UNSPECIFIED 63b450de0c29 iscsiuio: Resolve strict aliasing issue in iscsiuio/src/unix/nic.c c1e83d439f90 iscsiuio: Fix strict-aliasing warning with struct mac_address 980c471e9f4e iscsiuio: Fix warning about non-matching types cb84219a4992 Fix missing header 9d744ac8c039 Fix bad sizeof in memset 67ff3a01e3ed Fix warning about possibly-uninitialized variable e5518c7a8f43 Fix build warnings for unused variables 5d68768908e0 iscsid: don't round up when modifying padding len d21766d95e10 isns: Add docs for deregistering discovery domains. ed04ac2f9f32 iscsiadm : make iface.ipaddress optional in iface configs for transports that don't have a hard requirement on it. 148854ae2d6e iscsiuio: Rebranding iscsiuio a3c40ba2ba4f iscsiadm: Initialize param_count in set_host_chap_info bfa2f55b0928 iscsid: Fix double close of mgmt ipc fd a037f5eaa9e0 iscsid: retry login for ISCSI_ERR_HOST_NOT_FOUND f0f3bbd25762 Fix StatSN in Open-iSCSI Stack. a9f4d169a95a be2iscsi: Fix MaxXmitDataLenght of the driver. cf1346a86489 iscsiuio: fix compilation- Double the size of the iscsiuio ARP tables, making it faster when switches present (bsc#922311)- Fixing ibft boot, completing commit 26020764daf70, which only fixed NIC context. Now boot context also fixed (bsc#902183)- Ported upstream commit 51c0b6ef8bc90: Supply strings for newly-added error numbers- Do not convert all "again" errors from transport to internal errors (bsc#903729) - Update spec-file copyright date- Fixed iscsi.service start to ignore iscsiadm return value so that systemd knows service is running and can still shut it down (bsc#897565)- Fix isns server to allow legal registration sequence, including portal group (bsc#905670)- Added fix from Hannes to properly boot all iSCSI CNAs, fixing previous change (bnc#902183)/bin/sh/bin/sh/bin/sh/bin/shsheep25 16836431870.7.8.6-150500.44.10.7.8.6-150500.44.10.7.8.6-150500.44.1iscsiuiobrcm_iscsiuioiscsiuiorciscsiuioiscsiuio.serviceiscsiuio.socketiscsiuio.8.gz/etc/logrotate.d//sbin//usr/lib/systemd/system//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP5:GA/standard/2e7bf23e2046bbec877b3daa8cf83189-open-iscsicpioxz5x86_64-suse-linuxASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=102118d830d37a42ecfc475106a9f6d72a7f26a7, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRR RRR R R R RRRRYpWNeΨ'utf-87d77a9e20a65d38d067764a94e2323f8e05ba6a570ef1fee67566b90a1848a9b?7zXZ !t/:f] crv(vX0$rYv !nqH4GgmMBt E8t hjMhTR.?MJx@ K>/z!<ǖ|,5B(L0@-f8=6sަVͭT#l6^O6<{h!:gp g\,TQA-,>3ݜplSd1 J 8A_ Z/D M|k,ґwɜn8͕c19AUCILG$n67S/<9˿̎иLߖM [f##-0!ڻ=TL luю :,6tنzևp`4x"L48Hx'(5>ZYӗU3{Fݙ[}e]a}E x~4DR_IFr:5cCv$U9ýN"`S10׷gQ4iCOEbtOANs'7 %:*Ȑ.ۦZ%TC됷>)>4j_ F-~ 6P<8jqBa)J¡ +sIt~ul$ȥ1\U#LJJ|_H O$HHR# ]S4GfTFF9$=bw8&8x2z*ёd9tXT52'p pxj, /wet:T0nnL `)#+2Ζ#d%jD冫 )?L ֘p:cdnu$q'H&0BI=ڃjG}&Wį-.x;#j6\>v}l Pϴ./Bxf2yE̳5쀤S/I֤kޫ8ciZm\5Ħ\r+pCx p bKU+EwXҐ ryJIO(56nD=šрaď._jGdAƕ Y)g@W8{uRc~(+túpl!:}| 10xcm[c%A1x`D z[`򩫄6Oص?xmkQ[!ۀ ȩMd(Z gae@us5c5wڸx]K17¡f~; @fS6WZ{E!xl޸qYh,i>gÞ~[$K gI$q9HkmHh|XتX'DӴ7 Sy͔mEXOZ RlN` A")_ϨyP0<_{w܇l!|{Py% HX^Iωz!eCP.-60:YUJj22`>4ȳX,A4XiP^}d6Fdgy" LN ᣛȆC[Mz(93 h ^JG4VJ ?>n:Ʋڊ`S4L$hy${6@.n~exiWzVX`ꊻc$2Zz@ΔBr0Ӿ%OY`&p/\L᥌R`w%ρXL&iOY3]aB^\YF|ش7J.2gx@B6p?JkW fZvB:螈n g6Ka\m!Kf:i0bmCݯpXlõ`:<&Vխ荎q%V6ԩgd'͠/sm j|#x\~ccn WlK^ߏԢpCIT^ fO.zeWTEϤ,[0bz姾o7*؃RK$8/`pu8h zFU6li|Lω0LInIAJ2^ Us6*Ĭ53B" ~<7֡~C%7sr5H.f w 9Sڊݬ#RT#M@UZ 1ls4Iq5t N_S)#4|w2^|ݧF%MT-OŖutV0FcPh̕' r^Pa1?PfG8<ރ?}.IkbHؠ(}q?/O\zpw7W;&J*/ur8~Z#@e8e䡧1ͷ"Gfnq a,>u-R0hա`VMӿWڦwC|X`5- _:xx|VX3dvj'0V+/ChD N0bkJ Нs f<MC!Lfsf7߼?5})AhX$X)B]_ iנل8)v,}U•4^ q>߿嶔mZ+E䧑n|g;Ki΄J %`0q^"?r~ۅǖr΀j$s<)s)9 ڪ!V&d;0 xsBOk$'uٸb+3ۂԎՌ=h<{auN%f"-?$u8 ҹG[vr0i/%M0C dtA!'l[Hzj7XXkp] 1K !G['GE_2!&AQ)68?m4w),Ӈl60\ XRԣ;Hx߯Cc. dA:Z ,UcrnTUY t/eO"=daX|[4UZ/\^7PADW=Uؕ%HSj?N!cRCs~ 7HCw@QmO¬y3'$ #_;5N` HǰKR犚f~K-E[ga#Azv3jvZhJ)9 @.}H2 B1(Qdv\1^Aa+V*4/nR`w5~מ^u.]L0ɧ~E+c@v|ZtN a7 Be֩k!gԚi@+>@-+&aePձ pL@4YRvh!N>.UWsxUu_͎k.9!;`|+6Vlh~"h~pcqǖ$D]!Q2c)jPݥ<'Y6V{w\sF |ʇUAh!+8}JM%-_]"zJ=ʓKlESS"H8D`ׂHJD0#8{Pѐ8ӹ_wQ瑗㺉wv߳?nG~KU׮jcZ]&pQœ3&wP>q )e|GYq'#V uIŀm<>a^ԡhЫ"%,NՕY[LUOq}o}7*q[:ѿ>+:qk(gޒcwKJDQ-`v:Ԃʢi颜}+=Arf(Vl l4d8zv"W3Q*n^AJѳ 0޴+vpΨ9q4:h ҁ#a.*k$}%AMQ?N8{K;X 88iFq}nUW~IN: aamdpHMf!B-EtE'~~s= rP@|8{2"ur1n, HpR %V%&՞ҩ~1(ew"@V#8{G ,ABMv~^䪹!&Q}M*ݭڭz'5bD JTSyYȱH%rҢhEߟ'VQ;`yoS7(9:4nuQ-=7RhcED= =3ά|uDظ(!)^rޗ!DI.v.;=\i[cT<@x fjܷ4_~@&a#%6&l6+Q A˦G,MF2Oξ냙 ޯn\v0F9. 70l;x,G2/P?ik`do)%U%[[7TtRF)`n\ޑTE~h!b q 4wjAw+>L 9£8tѴ:ʚXF苃ȼdWϔI8(q-I6T JJ}R-!?KNA b?=R/ ]WczG<MOs(r[?E2B\Yg.MePRW_,מZ8]cjz~"cd-!gmT$)bvG~(Vӊ飶XVH{2UZ/ok1`V`@=UppSzYupgJW5=$ f^y\I*9+sȹ6衝l:K tlґ1sj{)rv1˕cʨ咔 +UFCa'4XnN,!sGb_j7\p&mBKY1%w}:O"‰$'ۺT#EqTؤo6=Sq&lm-+=]zBwH'5a]IE(:rvkK]>23}@HpUJi`X9;E`)(jʨn#Wk&~77^ ..7=`V\-a5&q %$cU2vAM_ks$Qש1L/ѧў2|L(D$};b%QY{LvLR[YuLe\Qx$U0LQ [0 Xa+]/?M!VbN]4V8'9Ɓ1R, z- t@zfd*krPṯˣQDuj2+Ĭ/Y<8/:%"(u^szK gTޏ?`X"ٟAr4 *]&+JT6su=.v:$:3%.lwAo{2U o-R)AJ b"lI\)! !| OŧC4\O1h<@;"9n_*H*Q;IWlG(4p7i -UK5+Bm8=r:VtfW5˞)v͹ O]G8 99T$J8&j&W/PLx۫Z=W{,w+/X*K j S2*DSE+A&8i~P.ܛFȬux .3zHjtw2gTI1-#`CMтQȧvdeRw/2;k@qJcoVRs5'kz5!ݏ??)4_{\< a5}zmQ+5q`b˅f@܊$o?߳"%G(qjƀd1DeCx[is[ł6bBש@Iϡf=[*HYuĝ-xü:ĮJc-<& i{8ls=H7H\|L˞@{Ttd))H۠ (j# g2mkR εMl|uG!1a[EFYhƐ59*6npZ7 nk-4?@+_iY!Ax$bM4UfY9"RZH57)ȷvw*CN̑I`̕=Qv>4SMD;UWd~UXZ+ xd"۪nI[%`D n_ۍm7=qV[Le1d,#H $8hg/FUnWnݕ *lP`X2dyءަ"@[@>1Jk0~CasԢia"(w3‰"쿦cVO{͌5R_ؠt# Hٸn?GO.8wDÞuG4rg8JA _L5 jB7=vE3Ź#_bMtֹqҜ_{`2NbIUj^8rqߔzA]7^[4|1^|H(c^ bD)kj͍`dHy˦E3CkDP ?ܧ`3i^7Nw>Di MLL͑WE5v~%?tT.cm־n:c*S5C}rvCTyrD^;ʳ8aNLlJ4~$WޝdW G}!O Ao9Fi5keA"k~0¾{ ] eP=!Ƿ<MGJYץQ]a D8 i_ŦOX@+Uh:x8 -@^D9 R?w%_Lz),.ڋiһ buA%lLL?uTg i&܂l,}(EmOL"6ˆ~h&߳<˝W{_>!_qhpX,?SjuC$-,w0%O0gy[ۄJ^Ue_-.9c9 ҷv^pMKK!iŕnQ匩y~J&#$a= c+eVuT?Z#Gh*E+'M| '&Lw#!ͼ"\׻ {2i]Z>drW01"^T!."`lL%I< L 幜-SU$t_3%zV8Yry۾cZ&}X!\RogBk B׌RG\gpzc7⸂ nb:27 #4]T:[d.BܹW<T 4\X0&:܋T])KVclL:̣5J8zЭ٦3Xh(FBOlPp1:ן1ejip@$t̥H[01AL@_~\yyaJb7 p_H/y ?9' ŚTdn^Cɩ'%F٪]hA agt,3?ɵkS|9UT6[\cB%ug 䲇z.nE)%('W+b &ZxST̽/o:kKK H~D^ؙQV&1{}n&]GV@A_k(GwM\KOC|(Zv'LBHG7kx6|2]< ka4Қ:s%t N_'De /uhʼn/m/H杫G~FFۭD$,ܒ=n6rzl;b|%/@PPތ'd=lќ Rkc=h5;ylMfcfU}ZA?|$ @ 0%CV9|N#ڦçs<=))b ՝G$ NPn`VIZ[)lqhK6cB7'ĆZ<9J Qz[J;xjq0x5 vYglë)L ws6wK?VX'W? i}8=rf>Єظ8 4.46p‡>rM;ė_r Fɼ AB]*U_Sq -ngS:A*ONLl1'h80T wZw\ q'@O\]<5B!2o4+vb9^Q!of&iy-qM4zd lZޱfļFU:=W0j@N3 jWӈgh0+ [#D1aL0k0)7njm] ޏ'בsqj `Çhf;t@kg+W˫hO4GoY_!<`l!>Xc3FU2Z᩹]MޛbGQ}R6rPym~e{g "(D*bB1=DEa~ 穕."[AO)ՏTXT-GF,"lC, &ͬ%sx L K>؜V0i1HbUZeWre>3j"P aםv&M٣DC)k+g+'̗dit(fr"b#y OW_󸥡 ~j(ej-q<w52]ipt6ֳA}ZrgsYz5,Bܶ0V=JI&OO*bb.P0J+ h% P-\Rk1OF*׿JP6{hٵ:NW ^ *!p Lˤ~P ϒ*4}%{wpݤ O~oتH ͛P5a|i^JKTZԟ/$$ w흶!INsPP"$m+\,`=NC6Ƚ"* ] .Zfy"sa9, E)a:h^*b3aR&FEn8͆@Y.NbGU2mEV2^"C`- U%&.l# ֟9fnx .\[=1i :i$/FB`0 8v1m{1\y۵$-9)-cu3W[Ws\}v|x}ZGU4.RS'pHtYLs!iH♂>:12NUN9l\ѴSr/!b2Ɯ2);;,\# acDxx~ D?L2S>U!P}Wŕ %b2гЊ'*UfA]a@E=tn2Ml7S~AT]X4cơGM>uMCn)SL.Ib7K@z [feo*#mQHwmfz|if}qHXkIe^qZ I1;/)hYQ<=ImW3qn,5P ;}ts^D8z=:|1Ő1VE%o Kj|ǐ4v S=>.@f…zKFmUt1'd.#C!ب{{C"28Qxd?u[{zlBvΉ8^6sp5fՕ!~R.В^x.yZz 0=^-ܾ<+az_` ~`{琛}y/RSkZC}LM5ʇQuiOn#}Z8=FQo*/&Mr0kBiq~/9Õ]̸ XVeڋt6SQy~BRaь܄z|pRv;} j_複rkt T) xqLRo00.Q%cdf;!L~ˉPq7zyf3u}dUpY͚{ORWU-`?Zp#À#RH{,{KtyFr@`q$RM_s1sY }t6<˲Hdc::/;?"LዺTAb0(f:cuthCh  q3 uԠ fGEw6-$Zs{IBg)=PHcpO M?Я&i%L.񣱒67ۃ*[zYX1}56:z"edxrw$\$HRcΟ^v_:7>@վ˜9@ 2˨.bws%MS/$m~In9;XXIM, 7} 'lU!^|ѝ܂v.ع7& 5~p@Y")Mo ͩPE3eZ99 nD/xݤq繦*Jbi ;zd.j\NSX )Z,;\ٌsiiنJJ&q^JPJ[;t?o/}vd"wMf1`RH 6OSAG0\^/ H-Xl2, e4QCl#" d%3o7't zx3={NBɱ=4&s90,m"CX:xOt`|+.g}<7sgA`ɯB؟ wB멿iw]҂s*gzD``_Vpф:)(pOѦvh| JX(lƋI쯝?:܌g/q05%^$)&fg+h~4Ƴ=hV\Xzq%YX.O<5P")pu2N\@[ TW\[^9youhn\`ާμb2jSHrȥ-Gl%A=458n&Nۥg;OxqP=C9jl9Rc*9 MĴ{S!xo w,s\[S^pBUBÖ+n(nm~z=f#4pأ|kȲar6sbQ@riTݤ4X CJT'[:cTqb(%7-JsT&ٳVH͌`}w Y,5PTQWnG:X$E4ʄHv׹WqFM _pXe 0i-> +z*ftm(M;HoҾ}+^qߙYxlevn6)lS)_ n9}.@GuT0v{w[mZ75dIqtQR>%?΢6>c)yAX뿀3(l QãȐ| h6>h[ү @< Uam F6nBO37jaI Fgu)ZHcIV|sń%,ź]YPht&`W@d1>~Rz_^עW*T##jsqqj|EpLMʡQÅߣxоd ]&oUa=~Imi+Nȿ'_jgPrں&i$7уr[ "63sƇ ^硻8 jsE]ںA<6ar:d4L{WKF i'̆VailŠ1]D%P"s)/Tq>~MJdyPxU1jNX~z*TOc9DZt…4:w8RQ޽Hf{6žxش5o{2RS>K6/ *j d_*%J eQ&iyF_gJ,NZ?J$Ĥ_8q8^ie1782d!2|AU;2#siib"J쑊.auگu+`SvB8T -2O|8'DdOZJñDm tȀfI 1O5-h8LrduPL8K-/*TpyOzύH"4$ۉ¥Wg,Fg+dI+?+"eW'sםk^- Dsamg0zmk?W*?PjeŶ[WT\|ug@HeϷ m泰p(F9R[ׁ`{==R4]WGiF%oIQrF}l5sIx=9f-&^'B4rX@{>(&9vxkد۸P9xC}Ą߻5\m?/[iZMXu?;(=w_14hJR{.Mquc,% `QEvi>[_E\.pឹ*u &aϡ},[l9S8!M3(b dž_-=-QK?5 %F+0Zp^Lyݯ("<#YgheUZ%z!SK 3g3H,8͉'HNDbm8N=u4m'.U AA*p#\~U ۂOe={~wbͬɺxg{c@<&^gµ(V3exyCC&eMoq%$GW 38jOc8^BNrΥN%mylլKi#H }*̴zA}=kLǩFg=T~!0kHnHhPF[|1% =U\VN9Χ …^LWi Z9JSԯN坚\n*L)øWKRK] g\]Mq-d$jr(f ~>, +. ^ѸQTmYۈ(wOY Q,JŠhL,? FKauIB`*!x&OH 1| cs^8Μ"QGKLpMr 72&7cM}LJrN_5{C>Má1[#~01껆yOfO^ɏ <9?sʴ,Rb@2$7gשׄ0ͪ$Κ'^]_n ' $ZɑƎ rF#P9qp 01T6}d5B=960~fFK^ѧN(8%DX A^?iqs(*ϲ%*lrx;@Gв̝A'z8-^s0 9Ə Jz6Wwo.lfZ6Jp_,(CqS𭬓6BV!tHE>Z5kuB7u±+H憷8y)QJ;%6_}RAjz?:ڿF*-*hOВ6җٹMe~A0=ϛXUYjshŸ3q߀  Z;ےJ +vp\=\$N)IһH 5qt:6?)Y*% tya_3v'IΝ V0Y0WXe_O@@l+,"&?O镸ae(AFŎu(k2f4Qbwo8l{A(bP5To^<9gL8L qr`׿\75 ƃR%Uwίw٫@ +`He?*COT kJ WɀKz%Y\k{`*ûJ$^ 1^m` |ĺEo_*Zb%hl+;i5|Y J5b@ߨ B#}]-FS0rDz4%-ǞU٭[L8{'ęoL1iK#8YGIs_-׍zTk;i$.m' ޏ/7L9V 6q%J۬s"He#k-n滕Z̔.0/ e$L9-.t^%O[䑓zHL>#?I5†",ԉ%4+x' 1k<$|셖Wg:K?RU$-iCїKT T5áF`~0f߿ښl_v Wr5Xo%Cs4d+ʼn(m;/Fɪ{GO-^4=;"(+7m8{ߟ]\ÁwIb}c׵ u? q_vpKe 6 }ĹQtON*X{5$n37h2.O)4~a&j*:;#NLK@e5x"*'$ ^Hi}OzPHF2K.Ulۀwt K Roq9y%)q3y2?`X xfkN'sORẏ ݀!w&Fq+j8]6+7&bzd(ۊw#ܹWGI"x:`_U?A?v)YѰ?(S]hŲf~V`N<86Tl„<|irq+E3ߞ؛q.2 "*Ō2:P~5U D+}>F(tiJ<=T3e2#>҉ރA'6nڌxy ^c.LߎXbo/vC-1ZJn4RsxNJRfl,E#1l{.>'`pP43:z;j4 MOJ]fpCJ'  y&ˈ#wB=<l58\{9pwQL!#D/; cjq 5^u9к FnF8';J?W7X/u [RLZa0z+B% aDV]0CAmAT*t8Q bDh7u6{YG Cmx*׋mG1PJ3}^P}r9y|-\cc{_% aD$W]jP`A.r ec8x4ŏ->ʻ;k/2~+ "mXF,ai5cui1x^*KdMvwfV.jyRe.OY-O 1)Ll B :姳qNL\yG<3Shlj PE s8Wlt)daFv7~V}9y~b 0f՚Q8NR,!A|L ˶ 4t50Zou}֯d޼` "!&S VLf1񨈕Pع[RiRD[V,pwXsE4aE6T}w ` LA2Jnf*ꢞt|QiJR᭵A2ZHٶU^JSoZF hR_W3$ױ);NPj-)IJ8*PU a9CO7Apħ5fs;t_\ Le㍑aTrr m)󴁖[;˘nL;n~m4P$0_@q<\*ꅟ=Y6_qD>CӖ랹Ík\oy^w93NZx,Tf+6s;N>w1` &ݠ$F->HXz@J@>uZ Z.?Q.EC`Q }ATByZL=)(vّOضX\MEwMSġ5M8RT31L^Wch[#-IZ-c?gqEK7iGxpx+9Dp4Ծp0CLCp9`Y$?YXƕ!ئKYL*Z@ta0# KПۮw\!̜VQҋ(!T7R9J …ck.pU3Gӈ?4"^J6' 䋜Ъ*oQm-7h c_rF !bGyqhNQ6m[D(iͤhJ",#UOG 0N@|[&"ηXj6u~p\KA C8MbX~-O|إ2_k:8C?ڷ:4GFvΈ}=w4kʅkSύLAJh0E/kO`0d2iBO][&"BD%ߊ' f8Wr! 7Ph/#stP,^꣉ z@% >\RDIH/==ƶL cfzw*`G\3M]dIu=IvyEbnGfZ&eҖNZ54П!O,ؕ_Dw fe Ys4B Mc.5G!:Q2mudQ2/Ҿ"FP^I NHRv ?&`KE/d!_YJxjN|?!iQPUA#9\:LdG/HzAu; 1h. pwJ9YIB?l[Sp(O[$$K1Q)6ǚ$4C-MR- ~^3Z]kV=r ɀѝk>wg֋M6<%@hj9$+NtJehsR`Bu!b‰/2]KKm*5U07=՟|&=>r7 *R<ú&#)h'5%P{5mעbhh )GCzi<EF-b6)מ xzKRUlȯDې?Op!LN}pd'F'N*ܜ3;<ꧾS!1Dvt(ba&k!ApsQi(Wc \ m(n9c&Kql껳B5q<3Xz,䅗qwiBy)pe [i/`z&uy,,5[gN86 #LV&ejRD[13@R4Vwq '為oJt8WBvx?vuG]@d%~\L|I3H$'raɈ|, 뜷q /t|tw;K8w<Oz+]I@)XTb^$,n}]Fv#/YIw/ֵ6Yvi`9)kS w%wS6umb5ÐDm4M6r0gXKZfzPKR٠$$@FbRJ!V#O'Mfw q-ɧEXrNY <.b aS(+-Ho-儎$?ʨ !3yIsH+W;f.nq5(?{E9I,>#UJ i]BonL A:@Bz<?64?pNHBx[ +}0`EJ`@ϠAbf1#(c8*z.:0٫@Է2GBaDB3H@%ȡ8LY!R'^ٛb eV\nW޳|G= k6^#ᚚBFtK@r(ԧH-rcD4չ]t皀 2TUX5ǬٖTGB4xƷ{ ֟|3TC!Ҥꋥmy1.1㝺.s6yݛ%>qmD3«y߇Ѥ$u`ɨ#c4i[{f̮4+Z^[pϩm?#MvU-@& o=rY&Q"n"" _p. A8&iJ:-;>hCd]ЕJw5P:/4W G`3h >,M~^d(Nagl%>̦@qQ`Py&dNlGq-D&3:K;GN֘~!b 96v2ڱo%Aփ-&onD=Xͦr>qn1ekbVwy͐;WJV'$>Z?QX؂zK1\j w q #\R=zv5/}T+$(H?!JQ`]",LchFY4q`c]zv5vAE_rh]~% |u%*˔S "v$fD$]bA DWR`rͥM–bj uB5ɩീ.<ɑ&BaU p QW\z,z#i|da)Iy0a&+ #-¬cv5Z͐lzZ'&&e; ,Q1\-8Y{5b6=1eSKk@nm =`cql6?D8k )D![1}- Q8G5)oޟ`7p xFHQX橋҉d \G us$W-+aIDYWQJ*]u|nO@dֈkkэ]7VD毬49 Z[W0ߠ:!_蔧aZ6/i" mϕ$YݎLݚjٛ+g/Y=>TEw} |)ɹ o<3:}&H{3 o;XNT)̫`7sכ BIm 2o[ 8OУǝ#yc B£G㰑厞; H RCs`2neIL~Y˺.Y &k`|@ m޸ra->2vL&,뛈UoZOxyr=liMǵnP[aLtᣰJH-V>txIΨ|* ^PKcs%pgJTǠ_DO>4!% r+9TxxG;PbDA&JFjfؚbi~иKmx&׸Ȕje*,wvP$2l%ϟ㰲Cp%l=Grett6ѴAV_ZyV8`-Uhӟy4){j_M)چ RֶgFBp2xFwXtL ̌*(\~uRK,@m\]t3[E3wl ')IjR&2R 2ґ[SO[(pS3á܉ ֧ـ ~xj%6nσc8"dc8ؕc& G@Ki@'=6d7B3:&Յ AaAO|`i߳u}&dM y/}-P_8@)͝fx>*(lAGA)Rr46 m_yfは+Aí7sBZHnЮf }6A mhB$OQuBDMWD5L@B1P: QH72ex ]U wz3pr.#; VGԠ#ǖN}\ԺH8 b >-ZYdi(3_\IGzKPVϺލpeECcZ8pC|)Wؙ-f4UzoXds0;nSELDE:dByN],c!uW푅+J`Fuj L5e|BMAQ#)QTbi{e ;h5P%='U= JXpq&ńBUP=6H\qm8uK/pi? xЦuGI#ݱp33-yf?OgKni6Xq|Ë,ف'%ruuy09N^;LRhmll k:=i38k 1o{݉QؖZJI>:3KϹ]r0z(!ޥ'kt#]c*.<T{eӣ"c|`] dʆɔQa/zuP:k 6c"qzߛݩX*D/ `YNpS_$bf#'HKf<=րJз `ۏ9 !DiqhX)tO}3sZFhd 8y{8*Pmn&IU1iL8`;i u!j{Oﶖ)\v%7ݎ&dgYour|ǒH DdA7Xym}(?Lֽ<ѫߏr-S>Y4?+B!y=9XO9T͔~WPkmb '%7t([Bc5EHI-kI] K[gx [#=\ucsٹ> {uKܬ*TEHGdOH 4a!b9[UӴhU1boU<*Nm̳OR NWi:fɯli( RcT VݙݼK1"t[ъxΣ@e\!zݹt9S懌O?oNJ ;( ZkF'S)߄ H=Oe(f-2ĆKLk>Op^8q XJ֘9.f>!aТVBDCvʫ5"*ԔV0Xz$shXR)t.]!:@=S||>?{N2^G j[橵(9m%*,ò@9Tb!K @?Gc\Yk.Y/-E\ L Pz>Vwi+-(BI\A0}LR3Wٟ7DuSHe!AAQOBjeq 2Q9ԓwQc/ŏG/Gkjeԝj)\`H~VL*[m S spo-N|,_syj8\5̦ӫ!s<)\yuc/i|j%ZZMK5SE >.6+N KFܸeB\ܗ3A@ OkL(ѯ"5jv*F>q>]ƢD5MoXpxuzBhlZSp+ۢF ەx>#&˓~0j "p]0F\:E~U+D̀[qvN C禉ZɇH~-ۥ<q6fa5,CB v /{;x Q-ʟ|u,쀍Ztr&t6mW[qދ/ **p(Ħ޴u!W Ш+RĪN/9MUӚLA"oX1|OϢN7d؍ 4+U>y A;>2 dB fWhΎGHRˤ /D˓+Eցg4RT)16 ߌ C6]d`Yi5ҧ?m+Tu~ڌ⎯PǛjq`ŗ8&uv$.gHߕfPO}^xU`HՅ+VD;5 HBo!1τpe7ՇiO܅b'\6"f(Oj4?zY.Et!F)<$އיi4>u2BcAap=rD'&[<1`)F 0_oXy+y+q7BLfoߌPUPvf8H>K%nX)I$6 Sil~s<#uA5CUe 4^XMw\r)gĩ'#"9D#|(xEF7i<Qp뭵dbR>0Pv,$u\_ x %%XLWxãv>LΣ/DnaXdE_M`BVVͣV&ʝ:5{mb^iy͐wY<\G D6l3w}3`:zd`(1y9]¦!)xF{srg+ F5Z53Ҟ4WTff{岰䷄: En2K +W]1)+l@OxfYM[,옭p8~˞q 7*oZq"2'p*)ҪufɸMڙǤdH!}F#TVZ1m#ú@ej̣`>}u4wia >D9`Lo"]8:%,(|},g坡eCA:o.IY-"N#ܧ Gc1ژkM[wvͱkUh/$qlͥ`k&T>P t!}# Bn#3p' 򓝿sʘyߙT}#5o'>zoC-؏xO)A KyUeb KAStfdpW8/["D/>Zrs?ۭE[~(IC}7&ĆE?"r*f찤z+%t@_wK$t{:nu|(6(H~x2i\w#*8GуvZ5>ko̎`¿\P:KXjI ?,cT-B5#a|ylUz.8Ag^r%`Ldk;*֖&*ܷ#6xZ (6wm&!q|ŧVzz7N~ʹZ]pbh.wNeU`3O|ۢxgݍ.3,4Q8<]\ZTY~BeV=r6pV$P$&^!P͓ṳCjnK|ܽ$RJMI4LSW:!D&L$J?p|hk[j*d@Dw"ͤVZX*k2MQn /6vWGLg:_wtgCvv(Ii*=W>[]u!&K+Քrh'Ba!w 򂇈>lʼnkF3[*gHD2Vb]Rsgeo $Pͭv>@aB];>MSz }7'stiv:wϣADMD ڿULME.Z`?ڣ^ xq^!|OQ`] w2dc' U3$kw"MZ4MD:h] DYUR'->Z IqeJs>ƍqqhCQX9L!.!2 >#\ev;PԶ`?ADg Ѝd8iz]tKH=͌^#={ߌu-d>|~vu,y~[A3߬ErttA #"l@Aɺj6Njgt$~&eÛB료AYdQUiDkF Zșa6-0Po>^Y[y<],f篍=;}RQ]61-ॏR 3x#vl@7i%y"<>?v'UGCd+.9ӯ,c~4sFKH0T޶B^+(pBKsBك d 7.#J³EidJcqFjoiSY7]޳ #T~y%X?a;^Hᆸ)a?x3y5d}\@'DŽ H~A@m=LjbNȩfM^7ʨLhSYWUQN\2v9ez3TU.V*J#;"n1U8˧fhW % - ~*9_tk76,֡‘\s&͊Be r+@Z4Qk3PtD ja!+5ɸ ~a[OX-OSmV9UKSi#[NgwNoP𢵦MeAF~Ke_Eۦ/H,# *X#A EkV|k:)jBO`ucv=zͨ_^BRy6`mF0` *:uVJucyK@+)4 Od?&QG$<pHMMۦhVt@Q.?ya \4kܫ7FT If xZñIݢ6;q gkY)B ߕ_{OӘi,}řC.! B;{UWqr b2L(UCڇ>cwY}&1p!v?Z* K]S1~XCy~Rɬ6yz$~A %[T٘QuSq"K:XRhqv?}HӼ!"+e{X4m~<*I|d 1cy3`5ktµx?*JD* ^g>G\{OC395yx) 8Y=}P1:z}6t 1gt-BZ42p„@n \ ȵȐc`^@Р‚ES5|Vh LTOJQ"S$!2nf cb ^='W;w(:f"?:; {\$$Yb "vӂ9IDcy/9<%0F3Y^SwgqZR VGv㤼󊛞;#=^4>cGddXfxbK;״dM>$jV ֢N!.T\bƎ ro*~0aϩ>$h=5ru31Z6ʡY㻘 zeʥIROdqT^^}c[СOf 𻔈F?PJC{ Ѧ| f>M5G,j q#tC.`A5ö+*0lɀm>ݗ9)A}z> 0h4L(HKFlcO|@_hIcŶy<0Kc}>n2IP(3).!(QX`h)+zYh.6<97)CgB'ϐ:џZ)]!J׀n4k|.U.P}9q`<?A7YR}k"ŏId{$#7AqJꄙ%lpwq}ٝq` 5]MiU[JO3Ӆ`D7 d 5FVxlvMo!&T-< 4P ,oj5BN߳ؾ[8Fs9} wrq$=:Fu6}Yo|VVIy)m,À椎~< x1O SA?]:Z lYE-'ބ$!s'J>Hl-OU;U7Aj,KS#aSMw Kw.﮺Vt^֊n@‹lwxGAҏ]635*pk hP'~LB} NQ?]yc \HI0aܡ>bu6| "Ԑ0*7zF-HŇyk9/< QFS]\(bGōh_Jr呼<1/ig }Iey6ԢE884tnRC.鄾 A($4DMxHvh*U`!lѧ ,'{(boyZ0$-zDG۵Sw>Te/al`lԈϽtɯͧ_mJ'r~mZwMhwCK@\urD!_k׈3'f ĥ @,zS54H@\ϼgor~- 6]-:FK7%:$S6ˊkgH#@tC{J! ">P#Cg<<av?] эOXh/8}g5o&o*H^%5Ng >n 3&7QAhE(X1\ P0*tV2M{%^,]Js&V:(SmiHQ#kF܃σWt 2:>TA $VLvxM3zGؽ;:CKǦ ߯2 1,"ҋf,9[gCفwn*O""D4/[E.xj-e10kz?=selN\=ap~I3@2o+fVJĐR0wz+pR[|({YTbGRa'UVA+"@e_C#UdR GU!mXAlLBfqB2Qj/ȏo8+ FVdz!o^»! @?Xn WAi6P{_UO8jk Kqo0ws/HaqDD?PDM=onVhӸzQ'ݫQ zqUy}w9g ʿ,-HC]هQ#NUՅnDXa~fMJ9bbҼ>ˢ/Z`pgx>d-7~gsN 5/UH$!Hrh = Uʉԅ+8DozD$JC:۬ ж7; ;;n(G~vB8D"_6HT-S;Dc/*Vj"ʡO IߍpuԚp5R FG \A'H!-6˫Z$jr/ ѻ|%$Zbj ]JbѐgH!'&xj U~3%ӉcMuO\%ClnytfS8q5*i s0cWL͖uwxꓼ3p."LJbH}L];wQ$~ W-¾h!)rYM_qEk*D1/z!zjDdGjܻieQ]_t=у\c2kᤘ)Ď໣HaDφ, RGA%e ĂḳZVבHE.E4 M#A%1za|J2DBk HH7ϴa錤xyTRLN1uL/[N#m {cgpb9LKi4ǶvSRKu.abs ZTGd(/7NG}_;` ns ZOD[c[&KU )<^:P܎]_1[*18_v3% щ #}V;@I*={'$ԉhzgVG u\1ƙMqD BޤG+3 ϴ=P%V]F&șbT6Sn@G.+kWo鿑KeDo ʣZf^-]78`3l3puulc!ibD;SYWZo s 8`J>]{xҋIM+RŒoވY^艗ra+،\"v<3 =ㅤdC; ǡ)D̗"v)iiSo0;Kxo0~Yj?HԚ#K%7`#uk;&zn e8(74 L$O}L8UQDM%njMSQ!z>S}A_РOD. 7G¢{Mpu:0ȁ C$?%gW%˔Pۺy@x]w"RYe=0u@ze)aVY <K#֪=`p!M>푶m/ ,4})ZP)4wq"VqAgq1PB#פE?zO/;B9CyA)RN,0p je(B._Fw*^-:)몚uY0v(wԠ;g|s,:nEhm`$,*~qHHͫP%!X1」OKZ~}+'z}#d^_FU[tY#ӷdȈ8ތV5)'k˘d)}_Vd9QJqwC) rGXsnLB\>P5!I]Գc_| '>HIZNP"Ժ7Y]I$6hZIblf\䝘Z.}+x7)Z|&_rkUk})p'~*h~)g-ܘ*+Aa+V󜎺,U1㣎LOk_tUFc6E8RA.şB6HR o>EI5L{2,iͣ};SmB*s_ n/CũBvLˇ(`2uq}/* Fܵd|ƶk:쀺`! 79D0 YAw؋nQUsuⓑV׈zxR  6]c!B7\.yhU⅁YV_NY/?V\ b#L(:\h!/A,܊4sک3df޲,X<0*j1#^نjҖKt~YjvJ#9d.n⛛^^4$ܠ!XG+<]E:6hwh58R&F%0y AlnM"pt)Ga$.ƍ ̃TT{LTV.~Ɵfe%~꒍ZA6 g 6-m,o%L~UBsńG՘,Vp}y!^ִQ 9`l)pgv +Q] A8k OWS.<Gf֮ Y')ߨR ~wB.1];FNY uyyvo%3L=qml2fA@πn Ȍ& '},!_; ~YT/|( 0clѣHVW"rcRYCD0-U/AF -ף6$}G΁gHA] |ݎ$i2z0p EC~*Q(97SYgHl"p?}ADxS"•6dqekf>0c 7YF@; 2Y ={C}q'A7qw ;:爉0k6ntzC1sڝ&s_l1Јt¬"dcWG o49{ Nפ<L;  tRd@ѷNK>2tjVJSWڲ:j# O9Q,o|Gwc_8+t+I*kE%1TRF{ X^Э ._7og*o @A~If>|{hm(º(X!*i sW|?'_{ O*1xD[;m=>WI$}1tP./$+|:"iwQǬ|# wLr9p ASzz|W77 &j/KNPN8Fubi>A]+LjEx@ Vx>1n!J3 2CO{ hږOq>l&٣ NDtG@KS:gF〝wu*|I3zaM`Zqnf$W%Y|Q9Jgvڧ!Ph8j*svЀS:ՈH#%>?'юE3=ɍC"Y $I+FΚZ'JT׸z Mgo(׬T0gCZ4]1Pdz51}ih~$k ߶{Av%#L .Ul3N/VyyPrg&=c"|I-ܲn}*l$!=٧iZ-n$vvv?s DBhbC񅇡 ј;ƫQv"TQ²<)jQ?_f\8O Zjӧm7^Ӟ ^Ӹ}6B! =Xe@Gc`nݶMet\. Rk|\Q-6)rGNݚC-ٽP) v~I͂7F`|>[嬬 *j_mbGTV`"g8?†4J~c6m\ڕ) @i3˛=Ɩs_*C+i!=5NG`Kk .B, d-&/;U=s/E]VLR:r6I:4Ԁz|[0JMPx!m߮/Wtp ]DΑ@m#YfZUG.b%90Y{sOoMxtͼzAEkx2j7`f _ҊbWBN4$U)# QMvDj_e*G#Gb\*()qJl-BRB>uzY7[@p3]I2YNɍt @q2 5Z+3,j(8WDK]4iKiÂ:rQ}YM5x`LgK(nAtǮ{kU|peݍ skD[a3vUTĆػ< ,$6i3~;λ l9' @O)@>0d]!Wm,]o3U6vXtc͍% hjzj ;c3󀄘&XɿOS39iwշ,䛇dzНeS2s%˚L!g|ZzfhZ_s6>lwSqGFCuՋq@|ԒCW׻DtZSCE]b1xtVsȲ*P*!LTR8WX5}ή?Ӂț8ݔ><>`)K gL01b`Vu?N$A _ad먶YkܠٕW?jy@-# ~h>8@/ (txM%g)q"q0_R/؈¼-ɫW 2UxVZI` TsFbJ: WJҠ^P4d$;NIuǃZHnಝSੋ_C)>!;. +~;FCHz[DAKCUZ\ yCczMuiQ"p{D9Vt{T>qb^Ԡf'9)Wg~&@Fj^f n>9ϡ1J06Zm5TO 򹙾*V QU5yٲ*5yg`Ȼ~WvPs\3.t#E; }}АB}}q%=$:1HAUPxm=$o@#wEJ10R>A  |.XD>! ^ UX^թˮ !M:D%Gm2=&Wվ9w;: raH%@AO-$s;8f8]` >JҏB撟L)%MP%ؒml/{$#"ph{9C#pZ[%ECl{F02<Ϳ]w_] R 6;Ü:Y#gƐ$>T5u@%ikY ~3rMi@"αEcZq8( C 7P&S%Fh(z'hbki.F.FbI9gzoCwZŎњC0I5Wĕ51ܣԺ{=+'(%5so`Q6aB d[&40gR9}}<;G< >a( L~eܦ9KSyf4V"3rV\j%VK.ِh"ݹM y2-GJ&T-9cxQ9V ~k5oxs¨Ü]$ SqIuWt԰}PgyDɎمΕ:n?!rcDx3ϵ⬛PѺv̀%)5\0 ?vyJuHC}VP25ԝN(xY*IX殱 E^UA++}www΂Io!ռ Eª`_alwE^[`-f6h-OD`㑐>]xMw[G"-+` "|$dCڮ6u!._;亓IlobBWyٿAq-;݌>V/8$%L`%ds, b #@ AXh|Kľ+"}g=(%CCؕzRJɸLxpL*xG"-Ȋ,(ԕ1dalmR##|LeVM(eG($a.D ,Јwac%EKB{IZ'*7W?`mx ׃ZM'5`;\bJiE :?FK= Imr}~yxJ5~p,]H3!ɚ3]+9 q4ܲ4/I++2x͜rgWm*^lf +_Xj4A @5$ϿS*tUro'%iV$(&\v,*Oh?eإlc3B/m]1Eyv_98y?zO|ߡmaUYd|q鍋,Ou7?C +  "bQ澛\NRgZ$)G?e#Fwǀ6,4"IYתwdgNkH{m8{S6WIzһR⎹aK^So] ն nĽJYU_\s_H$GOc~9WRbud<=.IgImim DNUc͵j&nGψBڛGev+^fs dK CFP&#BG򢂥!U:2JnAJ$bv3r6L@}iVd5Jc]/oŻԛ J3S|D2LLq~Xw+EG",F{] zx#>UӀ eĮbQ꙽szREC^>o6zg;*NEhiBP$i fLB u$Ւ{yXc,7܈L ! RhR61dw[% S>n"oA?xY;%mZKYDc?Uu8~ 5些+:B}?]UY{ PI5!RG8u۷#G~b[_Fr6kc]6YVok'6sg$T*o ..57m! @a8 Mc?X^yCE8K hÏ gXOcIz"Xrmާv▀ϣNj&iE&bݳ+J Q4Ta6 I_RMDeW^˹IjP/šCs5z~Ue/ G?sVIľX h ?Cw$.~ucDdՏ4K[\|V9Fj-qat>ZqJgS$<9i:zu9!Ɓv<.V^Qnq􊚁fl׭Xև$S_Ih ױeGC,$,u0_rktS;? $j}~[LtAM`֡L`@vgVpM49!pk#ftĀb9 qIh⩳Ds-HnD&% 謬 X ~ə00~​ݗDܚxaeo2Fi=-ìS7sh'S S z?TWˏ*xLMѦDP i8v "!F&1|Nq=g[&I`0+r0v 3o3v;=ġBMU{R8 %XB1ݐn5|6b z9GVtփ[ ! XUL"R ,L 6fi4 G]2N75f|_Id }jeʒ*|; bpv+54,5oyinLp^U5 ySmo,wO }/} A- dl=TƼul:aZojN-*ѾX%P4a'x:[vXA`H?y)Ԝ.V^Y`3Bw4`گ:9A\j:XI: 1jr>iM-i)(f;\v(Y2+9[RH$G h c8b%:<ۈv *u6O,կ(3nu.2^^a)&~J 4Ong2+! Dӡ8tehȚ11_ MQΰWҰ)s6#at$͌/VJBm<[Q dc8ꉾ*;f^>3Ho%(y%5svH<{;!j'. 7]={i,ԲWj&N"1$}d]>`ԍ "R hS5 Gy0\0kދ3`k!@3|6(Ŀ-'=E]owlɌЫK1v'Ƽ4rH;hpGx2z)Jª3/r/h=$UE"rƺ,l bvEijPEqH%MdR)hdhd ,ʻrjQ-QÜzvL gO_c@."# Ɗ3V)֦k Bfٍ<)j<KgeH7g(RU%`NUg*Xή8G{i5ZĚ86Gk#J_!W&_"gaӚ9W&]nW/4ל:8^Se('xS6ƈM PcD*y+* i/# BYL=;}9Msbf!N_ktetWWZB+M4K;@ SF.zKno>♜R7Z-J' T&>Ddynq:8ojT{o .{^-_+oU+$Wҧ}II)k1˘/6dԞK_Q֝;K%S$}؟@f&njI$] \D0vtK2Rւ2hI?5t( JFE{ʗ5dOZxB=T0 WhXFz22Q~ .#/Yp(aeuh  Ytm׺Sϧްx8HJ3cE<\~}4^\莶&|FZM94,!F27domvy;֟W-Ux)ʀ 0*5 =Œlb1d9ݤ喭pG]{p*| wlٓAĐn!0mV,ODz(}\mg j@FcpyT[[7 jdž,7RI peϠFjU~{壄 /!9t4V͸"0Yj|lN1iU^|B (\0dr#s\fگ"ݔ=3%06n|]`[kB1ĢbؘJFyx񏔠w`55sͱ9›ҍ{Y!Qk,r왛%NUi>>4nY.smL6(˃'MN@͸l~P:m; kױ!KΉQmQɳtqS8]-w&ЕFKb)g|iOHN |v?T X;%X*/4߆Z _%gf 甲^2c4Eg< cW:jgNª!~y zQhrNƿCbތvݯk%VG$z"P,TyZm:ubй RrzS1@57JہgHln7&%6 *m 5魩-BNQhګ. ZO+ W5_P\KJ*eMWՠH8 7<j6-f`C OzzDN*c5[sUUrQ}B!3_p$B)}oFJ)@i[npeɅO"pcw:)hv"K4 g)G% a\ѻ/ɮs7RܭBuuѽ6^l' ,2t/]H%*2L4Q&Zpd+t(Y`>]ů.ҵ zzxs7K~'td'(f5֌U[]K.t}-#_/!;%؈-xp{??\8|jC4zZ,{ﱦ<6 BL>$?/3vBm}lfȧwSȋ*&W Fc<>nƨ5u۴U/B(Ɨcw!K<GŤ69`U٪i{:@D7BTYK1Y_5ewnʖk4'tJg6(y߷31qw^ sF;36LKmq&ն m>`dm&^"΃5\~&VCR5FuOw;[;B_*{k :Lhш*"x?Ik79!zN˰Aޢ@٘xG7d8p̹5l; (1#$fxZ\?cK+@#n$!iij"8oTYKoD7($ՅsfdGn!"4 &\ {@*&vҋ>8m?*ύ2*͖ݥ 3eh9W60Jo3p*i*yTk7USW>^΄9 >yNytviCn݀p_+>wwvBL']TFNUY NJq.ҢK_J&iX;‘͘4^ɱ2z(7&6p"gr[fĄڴltX<tK&OqY'Oik8tw@" 6guҎYd7`界,મz89Mu]6o{Or|$\5\@$NlyʎX81:>;P;3F5̹!g)͑f:Ucw=?Kn(LځmN5B$0*t`Z#k3E7i/Q Tz퀢i0@3Jh[xcByxs%0ltD=aTa&꽺LE聴P/̖ImSO? 7^*ocC3[>J tvm;;;Sr柳!;Oifrlcy~f+p";3wŜ4ߑG;Fua&nJĒ){ G3B3e3ɩTVW+Yy2AޚhPLG8w#J.΁4kA'/C\8*7;+m46f] ;na+B<Yw \ѡT_Gɾ5..cl?dy H 1ȼ&duHE_,A--r`i j-5xon$ |WbF>4^픩G~}|_vJY#jzŲhxǀ'ၶw(6[ձg7վe#][!Qgrqd'[8<%Eq̤fj WڝhYEs29V*y쁣=~/x}) P5M7 LUV d(kW+Ÿ[]?2U{2K]k/||BoX%Z, [K4Uvm`P->m:DagwY-xi xo`[g\LEV<~^]2 ~/=:a\^"P+7,rf֏N/۟?VH["P kN8c`,V[Ƹ!y|%"'Jmi<ҹb1xcNF )…>ȴ yV!)IB׼ա`M`VD1 tCJ{$Az W2*\a>5g1#JH0aJ8FSD8KƩNk]D}MGtKE]Z6ګFɢdU,.9ڵ7w @buGcDO`2e~qK%5ab/:qR_+JB ؈:D0w.[3=r 0 X,`MU{ڵh:n' ;LqJP蟃,gŔe妻$} U&^ C^}\zD {h)탇L%$Ey}ʌ`G:%QK2]:k"z]Y`/9mm빼>]SU+A#Ptf, qyn4plPBihHV26S2+@hZp${K}5"atœ ߘ>ƳN{Ԁ1wtK{IQhEJX;y `z7Ciz^b3'DVֳhv{c]]@?Ge<ʂۏy7)c:P/ufbrˢLOB'; }ډaDc QE?.Clnt lω{#5d T8·iMMM'U҂ycŮQ-E{ˎqc>q9 vWY> #b?3`vt:MfBL'H5S/Rl>}zҋ0 3cs'(vLGPk0~fP SBEoHśp=J!UsU#a#Gw>{+g[CsW@`ce(72(b1yђ}lLA T_9 rO)BB BnqVI߻pSKM2ƨ*Ob6]Fkխ~Oo|l(LTK~FO. ? C#/IJ 'pӷ_:i>Mfd8 Ao=%Y'||zcf֝ |\:.lbaq9}X]=Nb Z?R*!c$Zȵ!@O `d3â~ p3/>Ŧd21P_(.9ȎTqvWD?B]wpÍkТ$Eg=5D(CEQBGC5; & ?BaC uAj9*k앺ltv݄w'cs|up7~ A^sUw "Y]Qŷ+ q xznϮܴLp=IP$p3rl㚦mx):C!2]_E?^HO`~ጕn=&8WKlAGjPIMl,Jw| `;Ĕ>tnQfu$#tF5م-.CM{UTyqh?D, {F Şr gUDޡO.C&?Xj{Aj-=\"4W$ɱtFDzK=/I]PF;ptXm2S[umrhy$f\Ёq$G1tA)=`y 18h?rm`Wa!ocsM!L烣*xtfrD{1ɏuctۡ{iZeCBa;x=]l [l50ChE‡D,:FˍyŠNpºdq@Z*' ^OiWnZ6 a_ 8t(y12/u,8~& &wk"*"3 !*:qE{]m"{>%5dʥp#IΤC-(/, 9v~#恔 i0G==Dž?=V>L8\".9 C _5scmZQRGL ^LD!U:4GOq4rngAl" d3!uמ(YP}1e .6a=$qg[B0lS+|jRMz)uTֶcFC:qiO Ӟ?Zl@WTKGS3rb& dq5Z>AJOYׅ-Mߺz_>Ե&  55smr+)p%_F~D7PtWr7+ݒÀ>ʹ7ЈQ2"6Xta<~C9Ch&'&49R_Nf&z+E>BN7ұ`Lo<^2I=e6;nC1ts;纳 _ne+ AƍKwݠg *I%ųZ0-V m|+yKV-إN!3I2LNa}z3zrOq-|@@t8ͮ*}wo/kӤj8?`|з)Pp\cX}4+Vqk=kSFD4md?y?_~E &08=;@ȵ}2kr@_ vpib&F6Af/F|#Coݒ{ T2ĸDQi| O 4#YsoD;P#=v<Bf.j(=tvI=ͩ(䡖|{*sn/JOF@JaXh=uIN/5 ݳj4'4!?;INoMưzSsњ1@fMٰ:XJ ?XeNJiVR}m$cYl.ykGD62hg,kI0>1\SH_PRv)|tuM ŗj\A 쾻 N (GiudiYuw4Nd}+$v[Vkf]U[+<+ Uoun%R{٧Ÿ$)~i1ށ[^D]>$ﬖ K}k&fD;$H8K],^&} k ֛vm` f&g5 &ϼn=fټѕ!\O֚IfYSi\Hv+;yUmS7c*6^c`وyutq]Xsq,UFO^݄F]8MjBv26OcI~nNE}!`lP |,8-Vh&T|<,rGq7~J5Hݨl|ϒPc´֬ON'h[[}²T3 S( x#KI 5%2 !"A;7+0Ŝ#7m)\J^^L5;ftXF|<[Aェ?/lp|?m1pU-eOu4xLݦ 5m$qLB2ZV u'tD>깉G7ЯLI ԥZLXʌ(=-9A[K1eE~Fx[8O` L$m'- '=FV_dJF}2`D 7'T6O$bz 1zp­eHG܂lзBGkz(S?Ļ"GqT|) e<1X] dEU'SՕ7}q!Xl=1wԻW NFF?QTI'Iٱ 7D+* E؉bXIfnQ'j˯-8WآZ jݓ *^C!2ƣKes{~ir=0mX7w^K!#diL@FP{l D':'aLG 4H aT.p&(#4ڝV/*AiѼaV 9FTJ66q݊Tj-%!e)b>";(NOx;mM8F;պiħ5d˅Y؇yL C/57K*T~Fn/t_֫ JPMSgpQsr ^!]Tvs(IzoHn'tүU@'.bˋ^__t%w2:z! J=QKAz"mߐou :O `q&֥Ls9G$\R$VV?__:(H}c`u = N͠e%[+Cr,S |Cdqs]"{Thr~ ,TSZX^qS/oK8j'5")!B/?H(:|.x#af+*O6T3S#c-1("bÿPܭXVB蔿w|JRXO)ֶU0\n*wK +.`.n@oL '2~ i rc(wuG!qiM^h z|LWցX~ثMmmqR k&1sV"gtZ݇>T4=+pQ;8J t!|z44`n/^kK(Փ:%Ծ1nSA*ʧ(#ڛ3c`H5!T}zP͝khc8QE(q0ygY`#oLJXd/uYĬ.%mtIq!1 OWic9Lƿ睹[uZp'#fȪbӶ^CS*ͅ;5+Ve!]k{V49i &4>' mL|˩C9%̆NhNt'P_V;4-o\*:E ?{!0 ]] j#e'Ty ZB4@Fx-hO^W5Xq/v>аI;S& SJ,)c {ȓ#YSӿ>3J ьJ$fn#'9M>W"ء_mlPݙlơ]{ %,?]-}Ν'^ 69B'] ->wP-xCd&"} D !|Hcs@ c XhTA?l6}n BMCršU20!3/U%[)|{c®x⌔~ 6T\2Z 4Mpp"x+D A>wQ%MˁBL=U{Cox9yUQ!M"dVN-7n9㮷>^Xм"utN ljv̠lȵqn/@r̉pE^ת=ŪKJx|u]zhjhO,QF[#(},PSHE\G! .Z9Yh.P\uJ>e*z$8g'Bsiʄ-7DZ3Z Ws-_{%gʼ?JWggTm?( ŗCI>r FѪlXvRzl:rG*4^N.VTf.fZU2]}3&:j_HI8+ddHTss 9{)߸Kl?E6IvzW] $tPj dkWV"7r HހSSB^vhnH ̐C og ,LT<uӹUI.|,5s5CsH?QWX2R'N3nA%>D8#{밓㵤$׹aPQxQ\8抇 >EQ#]gj3]2%f,rبOdNqՁg9 NF`&W}p01+4,gWC^AI`.eZNx@Wd9ڀcqocjr^{X7؄{Q\*ߏղn_[,#)kC+XnŁ'c{N S*(,+L`k5X*R-ǫhUK"D+vX9FF zfI:%4ܢ_uKQrT7,e-By]_60ej?MQ9 >?ϳf&RKcW7eB ken \NS=9ڙFzMNHNy\5Ѣ2Q>nQQek}='=;¼}áyWHjsg-wOyoG)I gYPQŴ=^$4b +Wy3BP6FXT$S}q")_CŽK.lE5}}{ S,G AP:`>M>zgص),,>vB"1m&hLM-;5 |4)Lyunay'7XcsZh1۱ EUCNH[ҵ4v\ ڐ\$m`) >ٶ1ApwϿaƴWZ uL[iifx`d/c 9P\\'p"ccP\Y'h2@EQh' Zdm0JΰQZ҄7eQAZhf^'.33&?uIQrӽ;v?fe,HëKbtIۄx\vO,i>h^,DYC д(f;)fk51 "j7`ݲiJ~Tz[5/ jJGZrN(!=FR/'#J ǾZl"9S))_uY' M5̀p'j7 m'xIKV|ƬdJąD՜ T=~cY` Gi8%M,%Fuc{IJחm!yᵘZH'{ Y6Y~%Xu7>?:{rŠ`ѲK p6N1kj#Z즻2hejH.3 YuMăj<(JL"-͜`|F'FzmFVM='\ae#y<+nhO(DA7+0}E%~ l6Ou4I6\>jz'>Ń!KN\y5yʐWyHmۛLᄈgS{FOIm tUoZå6z*%2!)BF]Md2ɜnrO,.:Lvxu(> r1vhqc$l,Z`̦N(jZܑYY1v%;97׽EmQ3%ol{IuFhD2/KfW % hl{)2 MR$j{ AF229ar] MHl /i^DܤҤ+6Qf/5Ubr|R=0gXnΠEī31~:ra1u^J'%?ȵc c֦jJbeT3rsR%huk\K\-mqZ03tң)OTA'n,Ij5l` F=c rۡ/.gQ$I3'T;J[3]IWEM!z5#W*.ӾqOq-. aCx.=hn1 )$|WE=!N#W}yaBgb}Z8JQ뚑ίsR@a=qTP Azw,NbIm]"\2X{U 6N"GV_xczFbU[6v۞lԍ|O@ю%]>&h0HsYؗqq}l4;r &}MmWR}R/ioqQm7l]wq_L^|62Fp[9{`#yB9^ت (k={H4&M.C{R:m˜V bmdj4wևnjcpO4;`"Q1F2roy֯͸U|j ܈1 1CS'OÛO&e׸`>%iNTI(E\E=L Šܴ?*-Nj\VDtE>X?g hb_ )V}X8AJ\ e7Dk zep.󚽒K(y-`ti3(@t7M&ovz/cC6S:+VRӱ?okw̦;xdJ`\F~ʌLnIV^&vGOhڧSofD+gm'Csa.m7X.Gp(2CryWEܕ eݛU&*ʰ`aT̯Zeͺ^X]L (2WGHt!8Qu1<W(?_bO]m5xo2^5T;7pkǾ ہ۬'NJ QS `yzdHNAR8 cH:XUw ]5̓*t,MHY)u61Bt#?DxЬ!Q_X=zFOú n: 4;q=A|aIF/hα"qZEцTAR{29kyQZ,&mmO?dIf"I "iT?N:!4v)'HF#|l讍U ]P7l{*0LJ~\Xszbz]%,p}.DD/m3n(I9:I^*RHsѾʯnq8dɟw/kXHkY73x`EZ~O[o x bS_5)1I°nFg: -ȭA\NeL$3m19A !;Wtgb>U} IU YӃpW*WK n`A֗ɭ?%0ψ T:ӽM:HFJ1"}PfZM9$Qb!2KTDL"$p, :~LTiU=VDEs$~Xjb5%>:lQFF) ErAsٹٲu'ڪ|o&?*یo]Z 6uHU HZuD1,HnքysĔ9mi | L=|Q{Vm*FAMhz[ [#ܯ6jL1)_Q\r.hu&b! @*=MZ=r_#\'SsܮF[;a,:~\wri"Q:tj͘ƯtBTC`4yEUžK/&'phE%A 9.M\qAdM 2vB4zh kt_]7!+`@},r_B|ToŰpg{ ,!E