bluez-5.65-150500.3.11.1<>,;܉ep9|f3N?d   5| "=  =GG ^G G G "G "G#G%WG&&G'(@(((,z((,8,_9.@_:6z_=Ş>Ŧ?Ů@ŶBžFGGH$GI@GXȈYȠZ[\G]G^bϊc3dгeиfлlнuGvwGxGyz`p?HLPTX^Cbluez5.65150500.3.11.1Bluetooth Stack for LinuxBlueZ provides support for the core Bluetooth layers and protocols.es390zl39T=cSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Hardware/Mobilehttp://www.bluez.orglinuxs390x 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 bluetooth.service bluetooth-mesh.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 # Avoid restoring outdated stuff in posttrans for _f in 50-bluetooth.conf; do [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ mv -f "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}.rpmsave.old" || : done [ -x /usr/bin/udevadm ] && /usr/bin/udevadm control --reload || : # todo: check if this is still obeyed / needed with systemd PNAME=bluetooth SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi # We need the bluez systemd service enabled at any time. It won't start up # on its own, as it is triggered by udev in the end (bnc#796671) /usr/bin/systemctl enable bluetooth.service 2>&1 || : /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : 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 bluetooth.service bluetooth-mesh.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 bluetooth.service bluetooth-mesh.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in bluetooth.service bluetooth-mesh.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 bluetooth.service bluetooth-mesh.service ) || : fi fi@+h@88@O@80 6B8\8@Hp_r!K>"'h?L<&`+U%r $+niFV1 *A큤A큤AA큤AA큤A큤A큤A큤Ae壼e壼e壽e壽e壽e壽e壽e壽e壽e壽e壽e壽e壽e壽e壽e壽e壼e壼e壽e壽e壼e壼e壼e壽e壽e壼e壼e^H9bݳV^mjc#Be壼e壼e壔b1avZBT_TWG)bݳVag'PؕQ_TbݳVPؕPؕTUU_TUPؕbݳVWXK7bݳWe壔e壼eHje壼e壼e壼e壼e壼e壼e壼e壼e壼46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b40630e53462aeafd8bd6586ede7a3676c6e26733151a6cf046a839f3822fd3fd45cd7b656912653ce0e8006e90c0419e9c4d1805e9d516aa5fe4e1aee722f5bbb6834bbf9e9e59f7f45bc5f8789bbbe566953fd3f9137455cb8cd5f4be7b2b0f145b124fe4377b2daca355144773b7dde9c467a7eb8fef7ec4f12de0eec920ac8206030499b85ede1f944402066cb6c6e3ee78fdbc6e32fa250b0e482065ea73cca8617a7499e47719e7b65740ad8763b0bd717d3fcd5d24a03c8bae572756b675239829c57100c9885f2f6ce303a337797c9bbd353221db22a95753ccd87922a9a1cabe725e25549e96cab7c0510db89a24862c9d7cf5e104f34a22ac2afc125fb046d31aa357bd204558b4b1386c90195781c44b45a33b1701ccfbf078ec743fd0c96639008114016548abd551a7ef96ba322fa3b36c4bac8a8f2488635767aa6fd1887f6e7c6d1f653e65dc7b46ff5f16f2dcd25191974bf9ad5bf7b3b0352ecb6325a7254a4bf5e970c5c93cbf69a9fa4918310c94c4809654dbf73f2855545dd4648dc4ea14944c14bec820ecafe3c49e1d496e4b07adb1e53dedc100666f92d3a08fb165046734e9e0f0629b41faeaf0db598bf3e62decca80270739a6e8e91cb0d84421bba2d178c7965231a90a5f02542c617f3cf45e3d11a89c71a1f0cf58c0c6e0db10d069464fd30469fb326d3785fdb5ed9b4cbf954fa3ba41b66d8b56ca7942637b99c55fbb4f73e3712d40c4d2fa8b854f274163fb77746ef2baec969569ce22031c072b9afbdfc84385e91c778a8b32864af322ae221998b168004c707a071bab12c20f03d0f63d3edea59bbc4d1697ebec44b12fa58f81feac211c4412f39dec5dd93c3da9a8b4bbeec37825fdb74d5fd8efd23573f11f1edb755ef7f8d52f660e25689b4169a85d5be0160ef44951cff38237b94633ebd9a68e8f6074de7cab66cebd7e6d5ea655c84509d2a53e33d604ba4c1c1b88932eb33deb9aa9bd8340506b652d37e17c166714f1fd19dcb27e94a5b8897596ee925bbb91c4ed4d37c119254b643f6a12d9eb7378f91fa96dbe47eca3c8e42c7075d992fb831482c2fb407956880835c81ac7b2ab112324f41db84bab7132e1e39c3cf50ffde26371fa8416eab9c0f04fae5a77242d233e478917164c1d6a3ebe9ced6ccf5e93a22c869baf9d46570afd6c384b8f36bbcbbe1fdb597139b6176f5142e13c706f32703f370051f5d28623154e88e6bee635fdd851cc3c11816c594ffddcb86eaa3c846e1ac458a09af00491b111a7bdb44c11471e04649fdca044cdd53fedd9c03c79d389a93481932392379de6204f3beb8bf0d2f44221cd18c919c5e027f88f1374ddcbff05b188617e46193f6e39ba8d1899d3e2b21fdc3090f2d2a077413737530e793190097137ffd58613d408a22ea749ca0bcb31659e21434ad2be080cd5fe43cb8d726aeaf1f82f5208430fcac8def0b842e2c1ad28a4a8aba8a1db8467cafa01f7b553328512c3f428c2eeb5767a397ac4b333aad2b56e6fca7e98b34145aaedf02549cd99d9ac68e2d0936fbb99201198bb6605aedbbc3cbc1cd1ed5e8090692529bb06eff41bf192f637d90cb17a572679cef42ffc550bfbdf036d003ce7a2b4f4941bb7f11c44e09177b32815442d1823d671c4431ebc28996ee9e08bf33dba34534f4d5a8ee759199cf4c77de143d45673aea0a30c2c70bb39014dcb084a1b0326bf173c2eb0fcc3a528c046aff004b780a25b03d694d06af4a62e6d523de9a81d0e039b1c9a47450b59a8f06fdb946da6120e0f7be00ea95738af97339880935868cca343431f8d786ee7cae0f05ca89876ca2748f8da781ba67675b25f8bea841acf63d9e264d4b6da1db92cccf70b42e2b878ca34f581f9a7e5dd2b5bd5a8dc93ec881f635095ab5f13160d2f2f1dc5f8175066a3cdf7f0d1c5401204d2255fcf31db171558dbf9fed1d117965321da7f0653252d47d6b46b60b2c9d428431f049e2399719131bf1eceda1fa7c8850f37e1745900d0c2b4bb22ae06c1660e89618ca9cbfb0f88164fe0afbb24a983d054fc84e6a8727ca1d8905f9a0d3e8bb58ec7818c1dfbec6d1f5840cbb2c7fc6e495d89aa40e91977e5a416984822962bfeac5b0176d6374b73ca85ad6ce84d85a60266cc5daff7df241b157ca476366b76216042ed14ab1e46ce9c49ee3f53854acef6673d54032505372acf0e3748d1379ff65678f6578d9924e35fb566bbaac86b99772362c44bc2b19cb9f84d556a61992359aa73f092c046f495bb9615a0fcaa723dfb499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc2593f7bab2a08008592a4cd8b692c299ea8dc5a3b3f88fbb3d3ada6c8c3183ceb171f43cc19ef063c5b5a2a8088d65bda3d9cc33c6497b73d3802f71d01b609d4fb98b0ec951f088029fd5bbc82365bce7951f080a9d1488f0bca3194426ded8c5e70e481a60a1f704dfd8a15b6bc97a71146b18f0f01912f755fcabdb2b309641b4402701baa17c2ef9d28cb4b7f426818e5653de40b1d7afaca3f9ceebef345e5291ad866ab0342727f01c9ae98a07d19a7167369d732ef8641a2e4b9d5c5cc028b142d5c296d14104eb4d5250674966c76ae5f6aa9c5a47ff49fbbecd5d20eb64ff4a6df4eb26cfb1b209dd0c1fd88d16ceb8a67b910b82114167e800eb49857rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootbluez-5.65-150500.3.11.1.src.rpmbluezbluez(s390-64)bluez-audiobluez-hcidumpbluez-utilsobexd-client  @@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shlibasound.so.2()(64bit)libasound.so.2(ALSA_0.9)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.15)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.2.3)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.8)(64bit)libc.so.6(GLIBC_2.9)(64bit)libdbus-1.so.3()(64bit)libdbus-1.so.3(LIBDBUS_1_3)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2)(64bit)libglib-2.0.so.0()(64bit)libjson-c.so.3()(64bit)libreadline.so.7()(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)libudev.so.1(LIBUDEV_196)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd3.0.4-14.6.0-14.0-15.2-14.14.3eqeodZ@cY!@c< @c:c!@b@bwbrjbgb7@b$@b#Pb@aal@a$@aj@a@`.```9@`m`e`6?`U_cO_Z@^b^H^t@^r @^AE]q]@]|@]@]](]@]4@]@]@]Y=]'$]%@] \O\7\mA@\U@\=@[)ZZZkZ0@Zp^@ZF.@Z/YcYjY_wYOY9<@Y(Y XZXXX@W W@WgWV@WI@W @@VV$@V3[V +UpUUc@U@UUU@UTи@T@T{T`jlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.comdmueller@suse.comcode@bnavigator.degmbr3@opensuse.orggcomes.obs@gmail.comseife+obs@b1-systems.commwilck@suse.comseife+obs@b1-systems.comgmbr3@opensuse.orgbjorn.lie@gmail.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comacho@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comdmueller@suse.comjengelh@inai.detchvatal@suse.comseife+obs@b1-systems.comacho@suse.comidonmez@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comstefan.bruens@rwth-aachen.deseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comjengelh@inai.deseife+obs@b1-systems.comseife+obs@b1-systems.comantoine.belvire@opensuse.orgacho@suse.comjslaby@suse.comfcrozat@suse.commsuchanek@suse.delnussel@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comacho@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comnormand@linux.vnet.ibm.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.commsuchanek@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comtchvatal@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comjengelh@inai.deseife+obs@b1-systems.comfbui@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comdimstar@opensuse.orgseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comrguenther@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.com- Porting Yifan Jiang 's solution of bsc#1220329 to SLE15-SP5 (bsc#1209153) - Add necessary Supplements (gnome-bluetooth, blueman, bluedevil5) to bluez-obexd, so that file transfer features of the applications can be used by default (bsc#1209153, bsc#1220329). - Update the description of bluez-obexd.- Add pbap-Fix-not-checking-Primary-Secundary-Counter-leng.patch pbap: Fix not checking Primary/Secundary Counter length (bsc#1218301)(CVE-2023-50230)(bsc#1218300)(CVE-2023-50229)- Add avrcp-Fix-crash-while-handling-unsupported-events.patch avrcp: Fix crash while handling unsupported events (bsc#1210398)(CVE-2023-27349)- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync more change log: (jsc#PED-1407) - The hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch be merged to bluez-5.51 in 2018. (bsc#1013732)(CVE-2016-9801) - The following btmon patches are merged to bluez-5.51 and later: 0001-btmon-fix-segfault-caused-by-buffer-over-read.patch 0002-btmon-fix-segfault-caused-by-buffer-over-read.patch 0003-btmon-fix-segfault-caused-by-buffer-over-read.patch 0004-btmon-Fix-crash-caused-by-integer-underflow.patch 0005-btmon-fix-stack-buffer-overflow.patch 0006-btmon-fix-multiple-segfaults.patch 0007-btmon-fix-segfault-caused-by-integer-underflow.patch 0008-btmon-fix-segfault-caused-by-integer-undeflow.patch 0009-btmon-fix-segfault-caused-by-buffer-over-read.patch 0010-btmon-fix-segfault-caused-by-buffer-overflow.patch 0011-btmon-fix-segfault-caused-by-integer-underflow.patch 0012-btmon-fix-segfault-caused-by-buffer-over-read.patch (bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802) - The shared-gatt-server-Fix-not-properly-checking-for-sec.patch be merged to bluez-5.57 in 2021. (bsc#1186463 CVE-2021-0129 CVE-2020-26558) - The gatt-Fix-potential-buffer-out-of-bound.patch be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588) - The shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588) - The gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch be merged to bluez-5.56 in 2021. (bsc#1187165 CVE-2021-3588) - Add JIRA-SLE-18497 number to 5.60, 5.61 and 5.62 update log to sync with bluez.changes in SLE15-SP5. - Install modprobe.conf files to %_modprobedir This change already in bluez.sepc in openSUSE:Factory/bluez. Sync the change log here. (bsc#1196275, jsc#SLE-20639)- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and log: (jsc#PED-1407) - SLE15-SP5 will direct use bluez.changes for openSUSE TW. So keep the contents of SLE bluez.changes to bluez.changes.sle file. - Put to /usr/share/doc/packages/bluez/bluez.changes.sle in package.- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the spec file and log: (jsc#PED-1407) - SLE15-SP5 will use the bluez.spec from openSUSE TW. The following are changes in bluez.spec of SLE15-SP5: - Obsoletes: bluez-utils <= 3.36 to Obsoletes: bluez-utils < 3.36 - Obsoletes: bluez-audio <= 3.36 to Obsoletes: bluez-audio < 3.36 - In %package -n libbluetooth3: Obsoletes: bluez-libs <= 3.36 to Obsoletes: bluez-libs < 3.36 - In %package cups, add the following statements Requires: %{name} Requires: cups Supplements: (%{name} and cups) - In %package test Requires: python3-gobject2 to Requires: python3-gobject - In %package auto-enable-devices package, add Requires(post): systemd - Add %package obexd and %package zsh-completion and their %description - In %prep - Removed %setup -q - Removed [#] FIXME: Change the dbus service to be a real service, not systemd launched sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service [#] END FIXME - In %build, add - -with-dbusconfdir=%{_datadir} \ - In %install - Removed [#] FIXME: Do not delete the systemd service once we support systemd user/session services rm %{buildroot}%{_userunitdir}/obex.service [#] end FIXME - org.bluez.mesh.service to %{_sysconfdir}/dbus-1/system-services/, to org.bluez.mesh.service to %{_datadir}/dbus-1/system-services/, - In %files - Add %{_bindir}/isotest %{_libexecdir}/bluetooth/obexd %{_mandir}/man1/isotest.1%{?ext_man} - %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf to %{_datadir}/dbus-1/system.d/bluetooth.conf - Removed %{_datadir}/dbus-1/services/org.bluez.obex.service - Removed %{_datadir}/zsh/site-functions/_bluetoothctl - Add %files zsh-completion - SLE15-SP5 will direct use bluez.changes for openSUSE TW. So keep the contents of SLE bluez.changes to bluez.changes.sle file. - Removed shared-gatt-server-Fix-heap-overflow-when-appending-.patch in SLE15-SP5 bluez because 5.65 bluez already includes it. - The code shall check if the prepare writes would append more the allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)- For pushing bluez 5.65 to 15-SP5 (bluez-5.62), sync the patches and log: (jsc#PED-1407) - hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch patch be merged to 5.51 mainline. So 5.65 bluez already includes it. (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800) - Add the following patches from the bluez-5.62 of 15-SP5: - disable_some_obex_tests.patch - disable tests for bypass boo#1078285 - hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch - bsc#1013708 CVE-2016-9797 - Al Cho has sent it to upstream but it not be merged: https://lore.kernel.org/all/20181031081508.25927-1-acho@suse.com/T/ - hcidump-Fix-memory-leak-with-malformed-packet.patch - bsc#1015171 CVE-2016-9917 - Al Cho has sent it to upstream but it not be merged: https://www.spinics.net/lists/linux-bluetooth/msg79852.html - hcidump-Fixed-malformed-segment-frame-length.patch - bsc#1013712 CVE-2016-9798 - Did not send to upstream. - 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch - Move 43xx firmware path for RPi3 bluetooth support bsc#1140688 bsc#995059 bsc#1094902 - From https://www.yoctoproject.org/pipermail/yocto/2016-April/029424.html - Respin the following patches - bluez-test-2to3.diff - Removed some parts of patch because those codes be included in a1939bd51e0faba9a8550eea2590d99cb63a33c1 since 5.65. - The following patches are the same between SLE15-SP5 with openSUSE TW: - bluez-5.45-disable-broken-tests.diff in 15-SP5 matchs with bluez-disable-broken-tests.diff in openSUSE TW. - 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch in 15-SP5 matchs with RPi-Move-the-43xx-firmware-into-lib-firmware.patch in openSUSE TW. (bsc#995059)(bsc#1094902)- update to 5.65: * Fix issue with A2DP cache invalidation handling. * Fix issue with A2DP and not initialized SEP codec. * Fix issue with A2DP and multiple SetConfiguration to same SEP * Fix issue with AVRCP and not properly initialized volume. * Fix issue with SDP records when operating in LE only mode. * Fix issue with HoG and not reading report map of instances. * Fix issue with GATT server crashing while disconnecting. * Fix issue with not removing connected devices. * Fix issue with enabling wake support without RPA Resolution. * Fix issue with pairing failed due to the error of Already Paired. * Add support for CONFIGURATION_DIRECTORY environment variable. * Add support for STATE_DIRECTORY environment variable. * Add support for "Bonded" property with Device API. * Add experimental support for ISO socket. - drop bluez-test-2to3.diff (obsolete/upstream)- Upgrade bluez-test requirement of PyGObject from ancient version 2 to current version. (bluez/test is at least able to use it since 2014)- Move the dbus-1 system.d file to /usr (bsc#1199207) - Fix self-obsoletion issues - Add supplements to cups subpackage - Split zsh completion into subpackage - Don't tell the user to write to /usr (in README-mesh.SUSE)- add Requires(post): systemd for bluez-auto-enable-devices * fixes boo#1198906- update to version 5.64: This is another release mostly with bug fixes on HOG, GATT, A2DP, Media, AVDTP, AVRCP, and scanning failure. This release includes a fix for building with old glibc (< 2.25) and other minor issues found with the static code analyzing tool. ISO packet support is added to the emulator as a part of LE Audio development. - removed obsoleted 0002-Use-g_memdup2-everywhere.patch- Add code to restore user modifications for modprobe.d %config files after moving the files to %_modprobedir - Use %_modprobedir (jsc#SLE-20639)- update to version 5.63: * Fix issue with storing IRK causing invalid read access. * Fix issue with disconnecting due to GattCharacteristic1.MTU. * Add support for Device{Found,Lost} of advertising monitoring.- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)- Stop nuking the obex service, we support user systemd services just fine now. Following this, no longer hack the dbus service, leave it as a systemd service as upstream intended. - Split out obex in own package with it's needed enabledment as a systemd user service. - Add 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch: obex: Use GLib helper function to manipulate paths. Instead of trying to do it by hand. This also makes sure that relative paths aren't used by the agent. Patch from fedora.- update to version 5.62 (JIRA-SLE-18497): * Fix issue with handling truncation when loading LTKs. * Fix issue with accepting Exchange MTU on EATT bearer. * Fix issue with clearing DeviceLost timers on power down. * Fix issue with AVCTP browsing channel and missing ERTM. * Fix issue with AVDTP and local SEID pool for each adapter. * Add support for BR/EDR and LE connection failure reasons. - drop obsoleted patch 0005-media-rename-local-function-conflicting-with-pause-2.patch- update to version 5.61 (JIRA-SLE-18497): * Fix issue with A2DP while waiting for command response. * Fix issue with A2DP when SetConfiguration fails. * Fix issue with device removal handling. * Fix issue with storing discoverable setting. * Add support for Central Address Resolution characteristic. * Add support for admin policy plugin.- add fedora's patches 0002-Use-g_memdup2-everywhere.patch and 0005-media-rename-local-function-conflicting-with-pause-2.patch to fix compatibility problems with newer glib and glibc- fix bluez-auto-enable-devices subpackage (boo#1177845)- remove notification message from bluez-deprecated package. I'm not going to remove it, and another maintainer can still restart the removal process :-) also boo#1188660- update to 5.60 (JIRA-SLE-18497): * Fix issue with reading from RFKILL device node. * Fix issue with AVDTP and parsing capabilities. * Fix issue with UnregisterApplication handling. * Fix issue with RegisterProfile if UUID already exists. * Fix issue with GATT client attribute read with offset. * Fix issue with non-discoverable device and advertising monitor. - remove bluez-5.59-0388794dc5fdb73a4ea.diff (included upstream)- add bluez-5.59-0388794dc5fdb73a4ea.diff, fixes a2dp on newly paired devices, https://github.com/bluez/bluez/issues/157- update to 5.59: * Fix issue with string to UUID-32 conversion. * Fix issue with connect request if SDP search failed. * Fix issue with accepting invalid AVDTP capabilities. * Fix issue with unregister handling of AVRCP player. - new tool: mesh-cfgtest - new manpages: btmon.1, bluetooth-meshd.8 - rebased bluez-test-2to3.diff- update to 5.58: * Fix issue with usage of deprecated GLib functions. - version 5.57: * Fix issue with handling GATT notification PDU parsing. * Fix issue with registering DIS without a valid source. * Fix issue with removing remote SEPs when loading from cache. - remove upstreamed bluez-avdtp-Fix-removing-all-remote-SEPs-when-loading-from.patch- add bluez-avdtp-Fix-removing-all-remote-SEPs-when-loading-from.patch Fix Bluetooth headphones disconnect periodically(bsc#1183821)- update to 5.56: * Fix issue with setting AVDTP disconnect timer. * Fix issue with AVDTP not sending GetCapabilities. * Fix issue with AVDTP connecting using streaming mode. * Fix issue with handling A2DP and remote SEP disappearing. * Fix issue with handling session of A2DP channels. * Fix issue with GATT and handling device removal. * Fix issue with GATT not accepting multiple requests. * Fix issue with HID report value callback registration. * Add support for new advertising management command. * Add support for battery D-Bus interface. * removed obsolete bccmd- add bluez-test-2to3.diff to get rid of python2 dependency- Packaging: remove _service and accompanying README.md, maintenance in git did not work out as well as intended.- update to 5.55: * Fix issue with handling security level for HoG. * Fix issue with handling HIDSDPDisable attribute. * Fix issue with handling HID virtual cable unplug. * Fix issue with handling HID channel disconnect order. * Fix issue with handling AVDTP delay reporting states. * Fix issue with handling AVRCP notification events. * Fix issue with handling AVRCP list player attributes. * Fix issue with handling AVRCP category 1 player settings. * Fix issue with handling AVRCP media player passthrough bitmask. * Fix issue with handling HFP 1.7 default features. * Fix issue with handling GATT disconnecting handling. * Fix issue with handling GATT database hash. * Fix issue with handling service changed characteristic. * Fix issue with handling read of multiple characteristic values. * Fix issue with handling Just-Works auto-accept pairing. * Fix issue with handling authentication of bonded devices. * Fix issue with handling L2CAP streaming mode for AVDTP. * Fix issue with handling SysEx parser for MIDI support. * Fix issue with handling configured scan parameter values. * Fix issue with handling temporary devices removal. * Fix issue with handling advertising flags. - remove input-hog-Attempt-to-set-security-level-if-not-bonde.patch, input-Add-LEAutoSecurity-setting-to-input.conf.patch: upstream - use autopatch, spec-cleaner- Add --enable-external-ell to actually make use of pkgconfig(ell).- Pull in python3 packages, the tests are py3 based so it does not make sense to pull in py2 packages.- update to bluez-5.54: * Fix issue with HOGP to accept data only from bonded devices. * Fix issue with A2DP sessions being connected at the same time. * Fix issue with class UUID matches before connecting profile. * Add support for handling MTU auto-tuning option for AVDTP. * Add support for new policy for Just-Works repairing. * Add support for Enhanced ATT bearer (EATT). - bluez-5.53: * Fix issue with handling unregistration for advertisment. * Fix issue with A2DP and handling recovering process. * Fix issue with udpating input device information. * Add support for loading blocked keys. - remove obsolete upstreamed patches: * HOGP-must-only-accept-data-from-bonded-devices.patch * HID-accepts-bonded-device-connections-only.patch - refresh other patches- Add HOGP-must-only-accept-data-from-bonded-devices.patch HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding.(bsc#1166751)(CVE-2020-0556) HID-accepts-bonded-device-connections-only.patch This change adds a configuration for platforms to choose a more secure posture for the HID profile.(bsc#1166751)(CVE-2020-0556) input-hog-Attempt-to-set-security-level-if-not-bonde.patch Attempt to set security level if not bonded. (bsc#1166751)(CVE-2020-0556) input-Add-LEAutoSecurity-setting-to-input.conf.patch Add LEAutoSecurity setting to input.conf. (bsc#1166751)(CVE-2020-0556)- Fix path to systemctl in %post script- add NoSource tag for omitting README.md from src.rpm- move all deprecated tools into bluez-deprecated package which can be disabled by prjconf in OBS. - bluez-deprecated will go away before end of 2020 in Tumbleweed!- BuildIgnore shared-mime-info, pulled in by libgio-2_0-0, not required for building, but causes a build loop. - Add bcond for mesh, also enable mesh on Leap 15.2/SLE15SP2. - Properly conditionalize all files which are only built with enabled mesh functionality, fixes build on Leap 15.1 and earlier.- fix udev directory from %_libexecdir to %_prefix/lib- update to version 5.52: * Fix issue with AVDTP session disconnect timeout handling. * Mark media endpoint APIs as stable interfaces. - remove obsolete 0001-mesh-Fix-segmentation-fault-on-Join-call.patch - disable one more segfaulting patch- add 0001-mesh-Fix-segmentation-fault-on-Join-call.patch (boo#1152672)- add _service to use github.com/seifes-obs-packages/bluez.git as source for the package- Combine multiple %service_* to reduce generated boilerplate.- disable mesh service due to security concerns, see boo#1151518 - add README-mesh.SUSE to explain the issue - remove no longer necessary temporary-rpmlintrc- update to version 5.51: * Fix issue with first agent not being registered as default. * Fix issue with loading devices without Service Changed CCC. * Fix issue with GATT client and extended property reading. * Fix issue with handling GATT client invalid read behavior. * Fix issue with handling GATT disconnect handler removal. * Fix issue with missing GATT/GAP service records for SDP. * Fix issue with checking SDP continuation state length. * Fix issue with HID device removal on HoG disconnect. * Fix issue with AVDTP and session destroy handling. * Fix issue with AVCTP and output MTU accounting. * Fix issue with AVRCP and creating media items. * Add support for GATT database caching feature. * Add experimental support for Bluetooth Mesh Profile. - removed obsoleted patches: * 0001-obexd-use-AM_LDFLAGS-for-linking.patch * 0001-policy-Add-logic-to-connect-a-Sink.patch * 0001-tools-Fix-build-after-y2038-changes-in-glibc.patch (bsc#1156544) * bluez-5.50-a2dp-backports.patch * bluez-5.50-gcc9.patch * disable_some_obex_tests.patch * bluez-5.45-disable-broken-tests.diff - add bluez-disable-broken-tests.diff - add temporary rpmlintrc until security team approves- Fix build with GCC 9 (boo#1121404, bko#202213): * Add bluez-5.50-gcc9.patch.- Fix 43xx firmware path for RPi3 bluetooth support (bsc#1140688) - Add RPi-Move-the-43xx-firmware-into-lib-firmware.patch- Add 0001-tools-Fix-build-after-y2038-changes-in-glibc.patch: Fix build after y2038 changes in glibc (bsc#1156544)- Add avinfo to bluez-test, useful for debugging. - Only BuildRequires pkgconfig(ell) on Tumbleweed. - Add bluez-5.50-a2dp-backports.patch: A2DP fixes for newer codecs (upstream backport).- Connect Sink profile which HSP profile connects (boo#1131772). - Add 0001-policy-Add-logic-to-connect-a-Sink.patch- install bluetoothd sample config file as %doc for reference- use gcc8 for now to work around boo#1121404- add btmgmt to bluez-test- add btgatt-client to bluez-test- update to version 5.50: - Fix issue with GATT and reading long values. - Fix issue with GATT and reading multiple includes. - Fix issue with GATT and service changes when offline. - Fix issue with handling secondary service discovery. - Fix issue with handling persistency of CCC values. - Fix issue with handling Mesh session on disconnection. - Fix issue with handling Mesh proxy PDU SAR message length. - Fix issue with handling Mesh default heartbeat TTL value. - Add support for Mesh node-reset operation handling. - Add support for GATT authorization request handling. - Add support for GATT minimum key size requirements. - Add support for GATT server and included services. - Add support for handling additional advertising data. - Add support for handling separate discoverable state. - Add support for enabling HFP version 1.7 features. - Add support for dedicated Bluetooth logging daemon. - remove 0001-Don-t-refresh-adv_manager-for-non-LE-devices.patch, fixed upstream- Add CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch * Fix hcidump memory leak in pin_code_reply_dump(). (bsc#1013721)(CVE-2016-9800) CVE-2016-9804-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch * Fix hcidump buffer overflow in commands_dump(). (bsc#1013877)(CVE-2016-9804)- add 0001-Don-t-refresh-adv_manager-for-non-LE-devices.patch (boo#1086731)- update to version 5.49: This is mostly a bug fix release, with fixes to features such as AVCTP, OBEX, GATT and Mesh. There are however some notable new features also, such as improved heartbeat management support in meshctl as well as a new experimental ConnectDevice D-Bus method on the Adapter interface, which can be used for quick device object creation for testing purpose or when information about the device has been received over some Out-of-Band channel. - remove 0001-core-Fixes-order-InterfaceAdded.patch (upstream)- add 0001-core-Fixes-order-InterfaceAdded.patch (boo#1076898)(boo#1101119) - fix python shebang rpmlint warning for bluez-test- Add disable_some_obex_tests.patch bypass boo#1078285 for PowerPC- update to version 5.48: This release brings many fixes and feature enhancements. Some notable enhancements include support for devices with the BLE battery service, as well as improved Mesh support in the meshctl tool. Several previously experimental D-Bus APIs have now been marked as stable, notably the Advertising Manager API as well as the AquireWrite & AquireNotify GATT APIs. As far as fixes go, these can be found in many areas of the stack, including A2DP, AVCTP, device discovery, Mesh, and GATT.- add 0001-obexd-use-AM_LDFLAGS-for-linking.patch - document systemd dependency during %post- update to version 5.47: This release contains various fixes to GATT, A2DP and BR/EDR vs LE bearer handling. There’s also a notable SDP fix for CVE-2017- 1000250 (part of the recently announced BlueBorne vulnerabilities). Feature-wise, there’s now support for adding the appearance and local name to advertising data through the Advertising D-Bus interface. The btmon tool is now also able to better decode most Bluetooth 5.0 HCI commands and events. The Bluetooth Mesh Profile specification was released recently, and this BlueZ release comes with initial support for it in the form of a new meshctl tool. Using this tool it’s possible to provision mesh devices through the GATT Provisioning Bearer (PB-GATT), as well as communicate with them (e.g. configure them) using the GATT Proxy protocol.- update to version 5.46: * Fix issue with handling ATT over BR/EDR connections. * Fix issue with SDP browsing cleanup after connection. * Fix issue with pointer dereference and OPP Put request. * Fix issue with identity address updates during pairing. * Fix issue with not removing services that had disappeared. * Add support for improved discovery of included services. * Add support for simplified characteristics discovery. * Add support for GATT caching configuration option. * Add experimental support for AcquireWrite and AcquireNotify.- enable sixaxis plugin- Add %post/%postun to bluez-auto-enable-devices so the settings change takes effect (boo#1039476)- add bluez-auto-enable-devices subpackage with main.conf which auto-enables all devices (boo#1039476)- add bluez-5.45-disable-broken-tests.diff to disable two broken tests (reported upstream but not yet fixed)- update to version 5.45: This is mostly a bugfix release with fixes in ATT, GATT, OBEX and AVDTP. Feature-wise there are some new things as well, such as btmon support decoding Bluetooth 5.0 HCI commands and events.- make testsuite run non-parallel (it has problems with running parallel checks) and quiet- update to version 5.44: Most fixes are LE (specifically GATT) related, however some other areas are affected as well. Feature-wise, there’s a new MIDI plugin and support for using single-mode (LE-only) controllers that lack a public address. E.g. any nRF5x controller running a MyNewt or Zephyr based firmware falls into this category. - packaging: add "--enable-midi", "--enable-deprecated" TODO: package deprecated tools into separate package to prepare removal some time in the future - rebase bluez-cups-libexec.patch- Set the cupsdir directly with patch instead of mv and seds: * bluez-cups-libexec.patch - Replace requirements by the pkgconfig counterparts * this should solve out the problem with builcycle on Factory - Ran over with spec-cleaner- update to version 5.43: This is almost purely a bug-fix release with fixes to HoG, ATT and PAN. There’s also a fix for a regression in 5.42 that caused connection failures for external profiles like OBEX. Feature-wise there’s one notable addition: LE privacy. By enabling this in main.conf it’s now possible to make BlueZ generate a local Identity Resolving Key (IRK) and use Resolvable Private Addresses (RPAs) for itself.- update to version 5.42: The major API change with this release is that the GATT D-Bus API is no longer marked as experimental.This should hopefully encourage the creation of more applications using it. Feature- wise, btmon received support for decoding full mgmt message traces - a feature that is available in the bluetooth-next kernel tree, i.e. on its way to the 4.9 kernel release. In addition to these changes, this release contains also fixes in areas such as PBAP, transport selection (BR/EDR vs LE), ATT and A2DP.- Update descriptions a bit. Adjust RPM groups for what is used in openSUSE normally. Drop archaic %clean section. Drop --with-pic which is only for (unbuilt) static libs.- update to version 5.41: BlueZ 5.41 is purely a bug-fix release targeting areas such as GATT, AVRCP, OBEX and device discovery filters. The GATT D-Bus API is now starting to be stable enough that this will likely be the last release where it is flagged as experimental. - fix build with older distributions that don't have %_userunitdir ins systemd-rpm-macros- Don't require systemd-devel but systemd-rpm-macros (bsc#983167) Bluez simply needs to know where the systemd default paths are, at build time. For that there's no need to build-require systemd or systemd-devel (and pull all theirs dependencies). Instead build-require systemd-rpm-macros, which has much less dependencies.- update to version 5.40: This is mostly a bug fix release fixing issues with GATT, paired devices and connection handling (particularly for accepting connections through the Profile D-Bus interface). One new feature is the ability to use btmon for reading HCI logs from a TTY device. Right now the creation of this kind of logs is available with Zephyr in the form of a special console logging mode (more information available here https://www.zephyrproject.org/doc/board/arduino_101_ble.html#getting-hci-traces>). The format of the protocol is a slight modification of what btmon normally receives from the kernel monitor sockets, and is documented in doc/btsnoop.txt).- update to version 5.39: This is almost entirely a bug fix release with important fixes to GATT, HoG, AVRCP & A2DP. - install gatttool, needed for bluetooth 4.0 devices (boo#970628)- update to version 5.38: This release has lots of updates and fixes to the GATT D-Bus API. It should be working considerably better now. A key change to the GATT D-Bus API is that it is now fully conforming to the word of the D-Bus Object Manager specification. Instead of registering each service individually with an Object Manager interface per service path, all application services are now grouped together through a single RegisterApplication call. The details can be found in gatt-api.txt. Besides the D-Bus API change there are also numerous fixes to GATT functionality in general. Other areas that received fixes in this release are OBEX, AVRCP and 128-bit UUID handling. Feature-wise there isn’t anything groundbreaking, but a notable update is support for the Start Limited Discovery command in the btmgmt tool (this feature debuted with the 4.5 kernel release). * Fix issue with stack overflow and UUID handling. * Fix issue with ObjectManager interface and GATT. * Fix issue with GATT database and error handling. * Fix issue with GATT client notifications. * Fix issue with GATT object ordering. * Fix issue with GATT default MTU exchange. * Fix issue with device attribute clearing. * Fix issue with AVRCP capabilities request.- update to version 5.37: * Fix issue with registering external profiles. * Fix issue with connecting external profiles. * Fix issue with GATT service changed handling. * Fix issue with not emitting GattServices update. * Convert to unified HID over GATT profile support. * Convert to KeyboardDisplay as default IO capability. * Install btattach utility by default.- update to version 5.36: This release consists for the most part of bug fixes that target areas such as PBAP, AVRCP and GATT. Feature-wise a notable change is btmon support for vendor diagnostic messages which will be debuting with the 4.4 Linux kernel release. This feature will allow e.g. LMP tracing with specific controllers. For now there is preliminary support for Intel and Broadcom based controllers. - update dbus-devel buildrequires from configure.ac - remove obsolete bluez-no-duplicate-test-names.patch- update to version 5.35: This release contains bugfixes to areas such as GATT, OBEX, HoG and AVRCP. From now on bluetoothd will cache more information of remote GATT databases and thereby avoid unnecessary rediscovery of remote services. A noteworthy new feature is the ability to configure bluetoothd to automatically enable (power on) all new adapters. One use of this is to replace unreliable "hciconfig hci0 up" commands that some distributions use in their init/udev scripts. The feature can be enabled by having "AutoEnable=true" under the "[Policy]" section of /etc/bluetooth/main.conf- Add bluez-no-duplicate-test-names.patch: Fix test suite when running against GLIB 2.45.x (test names are not to be used duplicated).- update to version 5.34: This release fixes a fairly important bug for the GATT D-Bus interface where automatic reconnections would not always occur for the client role. There’s also a fix for a missing attribute in PBAP & MAP SDP records as well as a couple of audio related fixes. A new feature in this release is Media Player Selection support for the Target role of AVRCP (the Controller role already had this).- update to version 5.33: This release contains mostly bugfixes, particularly in areas such as the audio plugin, GATT and OBEX. The main feature additions are in the the emulator code which received improvelents to LE features. There’s also a new tool for testing the recently released Eddystone protocol from Google.- update to version 5.32: This is mostly a bug fix release rather than including many new features. The fixes fall in several different areas, including OPP, ATT and advertising (instance number handling in particular). There’s also a fix for handling a sudden disconnect when a connection setup process hasn’t yet completed. The one notable feature this release has is the ability to select between letting the stack handle ATT security elevation or doing the respective error handling in higher layers.- update to version 5.31 Fixes to many different areas, including networking, GATT, HID, A2DP and AVRCP. Feature-wise we’ve got support for security flags for the GATT database, allowing fine-grained security level control for D-Bus clients using the GATT D-Bus API. We’ve also got a new experimental device discovery filter interface which allows filtering for a specific remote service, RSSI threshold or transport (LE vs. BR/EDR). Another new experimental interface is for LE advertising, which also brings the LE peripheral role closer to feature completion on a D-Bus level - remove obsolete bluez-5.30-disable-broken-tests.diff- update to version 5.30 The highlight of this release is the completion of the GATT D-Bus APIs. We’ve now got both the client and server functionality in place, however it’s still behind the -E (--experimental) command line switch. The API is documented in doc/gatt-api.txt and there are several test tools for it in the tree (even bluetoothctl has support for it). Another new (and still experimental) D-Bus API that debuts with this release is one for managing LE Advertising, i.e. acting in peripheral role. The API is documented in doc/advertising-api.txt. Besides the new features, there are several fixes to AVCTP, AVDTP & AVRCP. There’s also a fix for C++ compiler compatibility with the library headers as well as a fix for device information not being stored in certain corner cases. - add bluez-5.30-disable-broken-tests.diff to fix test suite - remove -fstack-reuse=none workaround - remove 20150312-PATCH_BlueZ_shared_gatt-client_Fix_invalid_read-56974.patch- Build the testsuite with -fstack-reuse=none to workaround broken test setup. [bnc#923768]- update to version 5.29 This is a comparatively large release with over a month and 475 commits since 5.28. There have been lots of fixes to the Android side. Our internal GATT library (used both by ‘normal’ BlueZ as well as the Android version) received lots of updates for this release. Other notable changes are a fix for AVCTP key repeat timeout as well as added support for the Multi Profile Specification (MPS). - add 20150312-PATCH_BlueZ_shared_gatt-client_Fix_invalid_read-56974.patch from bluez-devel for fixing test case failure (will be included in next bluez release)- update to version 5.28 Here’s the first BlueZ release in 2015. Most of the changes since the last one are bug fixes, but there’s actually quite many of them this time, including: * Fixes to GATT service discovery & probing * Fix for bearer selection with dual-mode devices * Fix potential crash when removing devices * Fix issue with incomplete names in EIR data * Fix parsing GATT name characteristics * Fix AVCTP long press & key repetition handling * Fixes for GATT notification handling Besides bug fixes we’ve now also got more extensive unit tests for new GATT code as well as better HCI decoders in btmon for some less used 4.1 and 4.2 features. The hid2hci tool gained support for CSR 8510 A10 devices and the hex2hcd tool received a complete rewrite with better command handling.- update to version 5.27 Here comes the traditional x-mas release! BlueZ 5.27 consists mostly of bug fixes to areas such as GATT and mgmt (the interface through which bluetoothd talks to the kernel). The emulation framework has also received many new features, paving the way for more extensive test automation.- update to version 5.26 This release is for the most part a bug-fix release with fixes in A2DP and OBEX related functionality, but there’s also an added features for get/set reports for HID over GATT as well as Phonebook Access Profile 1.2 support The Bluetooth 4.2 specification went public in early December and BlueZ 5.26 is the first release with support for its features. Perhaps the most notable one of these is Low Energy Secure Connections which will require a 3.19 or newer kernel. This feature brings LE pairing to the same level of security as it has been for BR/EDR. LE SC also brings along with it so-called cross-transport pairing, which means that you only need to pair once over LE or BR/EDR to get the necessary keys for both transports between two dual-mode devices.- update to version 5.25 This release contains various improvements to MAP and PBAP support. There are also various GATT related fixes. We’ve also got a fix for a race condition which could occasionally cause LE connection/pairing failures. The fix will work for kernels from 3.13 onward (for older kernels a proper fix isn’t really feasible). - packaging: remove obsolete README.SUSE and README.packagers/bin/sh/bin/sh/bin/sh/bin/shbluez-audiobluez-hcidumpbluez-utilsobexd-clients390zl39 1709548490  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG5.65-150500.3.11.15.65-150500.3.11.13.365.653.365.653.365.03.365.0 modprobe.d50-bluetooth.confbluemoonbluetoothctlbtattachbtmonhex2hcdisotestl2pingmesh-cfgclientmesh-cfgtestmeshctlmpris-proxybluetoothbluetooth-meshdbluetoothdbluetooth-mesh.servicebluetooth.serviceudevhid2hcirules.d97-hid2hci.rulesbluetoothpluginssixaxis.soorg.bluez.servicebluetooth.confbluezAUTHORSChangeLogREADMEREADME-mesh.SUSEbluetooth-mesh.confbluez.changes.sledbus-apisadapter-api.txtadvertising-api.txtagent-api.txtassigned-numbers.txtbtsnoop.txtdevice-api.txtgatt-api.txthealth-api.txtinput-api.txtmedia-api.txtmgmt-api.txtnetwork-api.txtobex-agent-api.txtobex-api.txtpics-opp.txtpixit-opp.txtprofile-api.txtpts-opp.txtsap-api.txtsettings-storage.txtsupported-features.txttest-coverage.txttest-runner.txtmain.conforg.bluez.mesh.servicebluezCOPYINGbtattach.1.gzbtmon.1.gzhid2hci.1.gzisotest.1.gzl2ping.1.gzrctest.1.gzbluetooth-meshd.8.gzbluetoothd.8.gzbluetooth/lib//lib/modprobe.d//usr/bin//usr/lib//usr/lib/bluetooth//usr/lib/systemd/system//usr/lib/udev//usr/lib/udev/rules.d//usr/lib64//usr/lib64/bluetooth//usr/lib64/bluetooth/plugins//usr/share/dbus-1/system-services//usr/share/dbus-1/system.d//usr/share/doc/packages//usr/share/doc/packages/bluez//usr/share/doc/packages/bluez/dbus-apis//usr/share/licenses//usr/share/licenses/bluez//usr/share/man/man1//usr/share/man/man8//var/lib/-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:32852/SUSE_SLE-15-SP5_Update/e59188b6ac3b92862ac61cc5ed06c39b-bluez.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-suse-linux directoryASCII textELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=d7c0936b0a8b5bd0aa5daabb323a3b164996fcb0, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=311c0692179544f03dfd127a0ce31ce2932a8cd6, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=ea4119df68f2cf5f7912259150f3a77c399552f1, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=ca266a062d774ced8f3fbf2a3999c4eef6df5b7c, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=b3ac45787a9ae5b15ef253531a6ef8d3751fbcaf, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=01c56cc2691db808a5cf13ac68912a810fb8729e, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=19b5cb9a6fcc30c6bcde444a3773f0a349e913c3, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=8599cbb6b7f56fd81b5b83c25004e04e632741e0, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=6ed37573923ad8a8c5a4f335e39e0f515bb988e5, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=7d9acc57901e9d3ae09dd149124e5e71efa2eb70, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=a9177b7b8afcc8bed8da80197d2ef456f93fc9d9, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=533b20ef6c3c0c135c2f5d7ba879a2b928af82b3, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=33c3733a17a76993554d9796610fb418f6934fb3, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=83a2cc13c8be20b33b77723e20b44ac2a28b5ca7, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=dfdec85aee1eaca774dbf9521d0f81787fd7a165, strippedexported SGML document, ASCII textUTF-8 Unicode textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) .39>NZgm|  RRR RRRRR RR RRRRRR RRRRRRRR RRRRR RRRRRRR RRRRRR RRRRRRRR RRRRR R RRRRR RRRR RRR RRR RRRR RRRRRRRR RRR RRR RR RRRRRR RRRRRRRR RRRRRRR RRR RRR RRRR RRRR R RRRR RRR RRRRRRRRRR RRRRRR RR̥꧝Z(>I4dU# Migration of modprobe.conf files to _modprobedir for _f in 50-bluetooth.conf; do [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ mv -fv "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}" || : done/bin/shsbcutf-80a6ea89b8ff6da1173a72c71d27845b3f1a270f9035aae28a3644397ca244c81? 7zXZ !t/]"k%a}R]RW;źXxvRXЦGbv;tkqBj(E{Fa|i|ÖBq돦ucq/SJ_,puD0XAF ROXh8\c1q.a'LzyOv[ 45cbu+ 5IOku{q༚6 ]57tO_tib﹅I9tlV, oߏjMXߖҬ)BM7MghK+_8YdL9>\4K3C<؄M12 +n/b~S4E`L?WE}vXxȰ8QqPqO0;~Jـݏlq *`3N?otp_zTuUkBgKET^o/J]vB|*IHOlJyX"Yxu+CSG-^%Lc݂$`#M \8H&fW9*빿PZUɣK -S/li:GuDШ˰7RBLu;ыgwꜢ5" y,*!eS&OV9-1'"8$|v_}tUʂ05G*>.*cki3J\F-܉өB6 z7KkL L_拏,螟X?}XDzmain"f=ҢH:GVN^-Gi&v{DBP>R;D[݅+U'zDx\ڍ6c'HFE>78z8m\wY01G#q!ָr'hpwnW"eOLBR@iͯ3q_>QYǥ#ꤢE W/bf1B}(r;x,aw/k4 rjNo^3~n# ^$n2\uS2д3rt6r' . +(f4Ve Y!kWW 'b};}_MfbtN.%$NW61~@]gݙXP1ת=AB; a'N߲(Ui~1$rJq>vwm\SZ<^ZcԪ=2nm'!1`[AԒyqjyΏ4掱1ڦ|Fi3y=XaF'PǗ,M^`Ndb~oF_>KIxտo?s)5& Z v `Ǐ"eԈQB@j' շ6'iv t+l<N$p_Ng?OsB[$L#y5G߼ڎų8.xIh,\WO$t5+@a5Y6!ݪ1YrxbKݘd j\U8}@>:i[&JkFE=~Xw2J4k=S>xt*i֌~&3prZ_,=V}Sx(Q.yV HIޡk`*B`'W|T ׈Tu`:. |A`#'9㴯0ԹKVʹ&1P5\/0{=~M˼B<̑(o԰T0mߩRtx6%< nU=>'azx@J) ]<zxqI߀r*l5s~4U(!%jq1.~IWT HهW; xО\Wl CCq<3wYisdq8PR'x} yWyl ޅ(K:O2v6 Tuh{3 g ԛ6At_ȁTl6vX02bE٨ه CnܡH= NfMn~0tg{PF3iy<#ĠNXDA]k1~ampۭ[8G@~6G/4/Y(bR$Fc,H)0:}m S 1` ]eanoE ;]Ar-pg;]K&lŝ1<>RDWx%[Fv˃$#3G@dkcEIC|}Mb~adwœ9`qmTNV?$Jկ-j))T 'K5#H"d<؀shfKb2co锵h:f5֡e[˭AOA-BmL:f>HKx]*`dYwc~Ȇl0>}$|{ѻ,~ ]CVf|y~[D#:補B72h(tjS_9k0" IlX#+`E%movi|)2L ց;VbnVLSNa',n`eGűHb {@Y;BRS\ٔ&,;O bVM//o=nUP#qT+w!^&8ÚvWEQ4| 7\fkZ3cdRv:$vkQy<1P >Y4g6 ?PH!{mG행:3ٙL]ڤlV_T#^GskayΤy8*gm|WwEb:MJy6h:ė{Lڞo߮у'.t~'޹bTc΢Kbj'-ױzXmE #/dqϕS擗É<NS>oۣe 2̏B{2םu`˝.^0 wcwv~#L"p?:l}wp6fX tG j9X*97UFZZߍnE \*u:7a! Bԙ/ lh%3.mP!΂Lz]SD-kt)PWŰ7ܭr%JW @E@Zce Oɉrfn?}^Sh"&&@awf汞ҴD7k&IDbHx:5YS)ԼOځ/썀MwΙl|7@nK?6 hkBgg%ia lrv:MrZyF`bk]0U2/D_8zw f̛|ԝ↝z@=c v !f0OcʂfB D{j7fJu4Wtkul^i#%+InA݈V83U]w}}a=Р)q?Z#8QD;6ueÃ:ߙ ʖC~B=^⼡-6ʨiuI=~3Q%с5k{AWm]rJ ^7Vb`Z;~ѭUn-8|yx:)‖y% s:6VUcg#dٍ&w zk9'Q.J1 XoHh(pe dzœuBeQg Rs-%+e9a\Q "ח(:t;!tE.rՄYzSdi@E]bJ#* Z!/6XQG!ʆ[p`_ؠɼL >- Q+ja.Q~q hH]LڤXPvJ׮,Ϛ ;o%~xS/WQ[rߟtjTRZ[Z2mx8s .#TnO\ z@3gٿEe4*H|S,,J[y+@]" !Ơnc=x"'Sh[kIٯy*X-Xjp-!!,'bHbD>,C\(F-) H0'PPkB 8!_ k)V G Z-,(ۜvC.ػ$IJ\tfZYl` xQXT{e8Ki&@ǚB9VPHvRdbb\=dB߆N\ PJN٥mdc|AJc;M2.,"9~ORiͧ7\Sm!1j|`AA}ki/RR![h+^4Leĕ|_/Ϝ/ idaLcbB0ı}~Ft=%]@hf.sҨBWL>mǫ;A[3w8}GlP^%ķ@@HUێ"0O/RD6&RD{aDdNa4>A2mg،,~7^#{nFTHЮխ /SZ{Qʶi-24o:/AUGtIWT@rT$>2?!{d8BaƓC΄T&b}p1i> ݚ2k[8c%avdV*iGf;cx a9٢o2qvf]åcU5' ԩq6\IW"y-=%?i7 =Q9k|B9z HQBt! >}&W f9޳=7n2Sod8ԣqDsH];䋲Sdf:ίoVL]N:R&ݔ1-t@ow5sH4!ܜq 7wChj8˞$i\ `v&f;nk'Oq0!8űOƎȒx|Zgξ؋ ](DpELFb>hӴ( p,jq'ޯ@tinb$MSciKNVSqnG3+׌҈wD `ˌQi[AlV= +H;zp\{WغAu,Lx 3vrvt8dQ6EV6҃Xc>!N: ȋ=}4/#XXc:i@ E(މd 9 JP $k߮0+_#\\؇DoE3߿lڶma)l` '"~A+ٱп=rQjYq:t;Y7'$'k@"I2N%eDdcΟ'ɐҏ%#O @+֓W&^q9)[zH yCWDs-d?EȻ"_aԻ5yٸʰY*afiTڷoc5]:Qmm@{{(|邋kD.X[z@OY{8C~hEfrDRς35:LˬD@YV;`z{xڣj舒I)lHqDy ]:mmaN TH(H$,zj8TaaQ \"v}&)b -X[MFhQa0teӕV&' `!@=M'yp!7Ι(C8P[ ?FwT[NWQ% ,*mVr̳oE!??Z>l3a|ا|^wG›EvmBoNjڇs3`jD|X5 aF uo|Ym-&~EcZԸ2%ڞ w4*!s> *C7~Xem5+J^۶m? q D/ȓJ7@RǵެdK(|YW5_ҒhVcz_"He_ݲ*QaaHlsaUH%(d&FOR"Ч@?С`P]JKF=aO;'{ЁQVJQir&-3CT_0<ȀFXdl@O^9_9IXϑ,C5Ut\3? _B8 3/le#]%nT:>A_D&ZM}2ѫ>Ű~mmawfcF)5p15K&#x{ ~&N`4՗c.X؛0-՚ı5dzX!ɳ.F1 g|w05&@6̕Ccgxis9TӞ`vh:ѽ/@Y%J吗_6?CHe#tGy:ӇzNRϯ5C$-fUԑ1F?tICn;t ĐUޔKB)j -(^fظlt|H$釢? Ł:Fm*â+<`VÆG&dw%^TSY(k5ckV֎ThG#{xwO dlRkm(40t߃D&E ",b_ lځ4\J&W#p$5VWD1T\`ȹq̲ v*Z>t.'P]Z:ܰ}_JG 91,i*kE>ɗd;k<3JNC4OƗ%:VyJ7_{߬uLAN['.1EeX ㎟m@rĎB \mC5+#:A¸weKMwÿE76ë_#RӱW ׾H >6J^ 7bl]R"f8_^uY]nkM_;!pj~½A,#TP LwT5oi3I؅lIVϡ'2o%/UBVvyh' r[n4Bcha@`q]Y%df~ψǓ9Q*xa 3L5[?K S8rFP(Y/-.EH_\3iVƍ̙{1 p<~Ϯ:Hv#ߞ%D>΀'hW;~8F`P|< A]Y?؞:w^/63 ?HUI1_UĉK^YuT@~'Dž64:\]1-Tw{dql!CK^"z=.@U+F ,u4Y}L3ؚ'~S$`ei, snw@sE) $ on-S^69OF-TJRd:X!jYN+R"p9c OP. 4Vna|gM2ƚ /&u( pg[x`:C[I ^xO:lw.H/Z26⠑ïoHU SLR)̋Teo2e,L~z8]ʯ/-2k%pkhn\gD S k$7V0c|1 ԯE3Q0\lGUxA`zA:vG6&;! < }1iܼa .>9`@9̑TFgD+x%;u `ݝ-K9L͐ ){+ۧ-g`I@q|E`eeKMZ <gZ/h[Tp¦)m%cb/tD Q&y޽"G`l nk0=l,;͖Y:3+/0 7Đc} y [&%WχɊsu{HR*B:,pP_Y]8O)h VXqIS#Q +4@A6gDl6KE P)TVA`^PDD1*y wkع>GISVW 2 jUWN"\Ե;ۀծ7Su-0B@(XDl2JИAVԤXD7=#wu4qFFLH>U'K>5$xGD,ܱ U$. ]/%n/u? ߹|1ӗ6})KU>6ng+9쌒yly x)Ze[uCLThLp/9Ͼ8J_ӖGse\]a-a%VqF兄h ha#yTWA DG ,6r}K* 3 X䲆FSO²!W s&%=޷#?i6 {ٙ'|[7S?S*5!o*Չ=54ŧ,Ʌ-=F9( Oy_jqtv~޵%89#ppD`l BKJ4.38uhۡϸ -@q 4MWvG0elzY4wm54휉dr =|m=^7}Ql)9ffTsTcQͺOUF@v+ I8Ef7grs!ݞ) b?4ݿ4Z؃ hsZLTΉڝQ#6hmS'7L[~nmǝr ݹKd%l3jaF"` עmd 1R_F 4'?/xPZML4s2-Fot^Qi69 ]LǘzrWz\B2my52PfyOvC_V0i 䉪cU%!p yNL13Eק߀Gs3_h\%,#O}SWdv}?Y!A&yq0[`yyN˃w`z$=jDt@2#Zt7hJUuܔMgoj4a[@5QNZ)@>mh4 'D" xָKm9jO՛>gEV0ˉTGqaA)30QYPŀA=f"5KFpcn70onP }^6xudt݊O>rύap݆A3w;)CXi⡰.I!LyS1'pjHvhmx6,LHeQV'Znq%\$Cr(#h)ao{m!{@/b) D6< b#yAdnp$.ߎ$trp: {bGzvi1c2$qjKr$f7_} vEȏh!'JMM?뛟>4X6%ClQ.9;6uT"9[±I%*Ԑ6>:uFV,橆xb.@2O0DKU ]Q7A>{O΢mlsfty#tRO7?| Ε9 1?Q疷[`F>fs7 |fɞMKs䟴ru )_!Jeșmq WARck׀Q38vSIl'@pHRӓlnT쪗`97D|=A1٬ ܒ5;,}oGP6\E{ v+;Ⱥr &*ʧ=kYn,9IeNFn,o#  &uݧ$Ls(_}Y` ~_=7+BqP ANb\L%FJ (>w2(9JBەkgT;`6jN@E?yNR0!f3kx+"'ӂvR Zo[|q|K#*V 5ts+M l& Jfl__\l/*@ݯqO.NV3}n/GuB`Zbp-r5wB:!cI*ɟh4)ĬaJk>"n "e%g#=h̶ Xaֱg}(sq竁xtKtOE?W?} ԪOywU?,!nc`CNV HGIF _8 vy{|4+<"yk:,s/fvV>~ET9Ea c8A՚౪PwXZs Ϸo.26wyo;ڂVk 0:{Ym24 D r -+-fGDSr\2j/8veQp0+zq5 aU`md/U@ep2Mug6TkMX`ׁ䌰,l2||n=R+׹KMITIDQ7EQOBQ_x? )Y֫9jRb!)C2>q 0WW4&|X) *r!Kr8 8E}Y0?y"8Di>DMc V£td@q~_9}Eћ f^M8`VDk*ƄD ėe뮣~Juڄd-1r{˧9'q#}v%׵;9ULa:c}p.k4A2W΁}N~ٔfW#W.\YۏC((;q  %'gfڷv͸g#p7H%.$`c./S;ҏ?D CdV)օr>!X,MuB bSW]v>fG& ѣeG`4z`t= a鰊)T4o*TWEx,<~7Uq3#miJ_&(#C  ^>S#&x6.&9dYT@Pam,ly}cr[`j1U).1U{=H,٫BifS0) 2ELE HM?g :j}_F^şNH>i %',D}ځv%,p^]2=;`Ȝ*GG'JeJX\ɽ G aZJ# iMB1-Q?rJhR0 . xTGPg#Th[u}e,+AXt '^4_ga ;M7%Zub*qo/}ԙl:Ns`/^JeGR C7TM=a^:tXC$ ^1pZWW1mٕFpwpFdխ'T!"7>^h ТT3X*5FL.?KG-M1hVB&n]]) s//V4ti"=UF]?4*|`yB2Xj콧p<ա~/@4=NuZoSk2.Y4Ts$C`G'R h4H9Yϖzqxdф^ RVP/~0F2$CE DX o!= ?H?Z#]p[]*Whslo,H rM.MSec:j i<{+Vm%v%H`ie˄@ʥ2#ge+cuLK}fuX "a]r޹m/kkmnt{C tk J)Uꌒ(/Zj|WšK;1p_Ts9Y4dS ;A4B`{xv7 S&fdUU0M8'}kboބX"üur@]uc p3FX@ -:S(Hk,~,r0rIh]w?:^ŰrNm.x#RN{OWwyh٬uzPK2hCnKB6:hIяqwÑs¹dmO,{XlcFQ9Ї#41Sܼ%I#3Ê/(=7Z߃)00f D.z=}W{Hh[tq(fޡΕ.HЦ8"޼K[;+(ʌBp7dj҈S2JBK,6?/,Nor4Jף(eK 85Dp N4 j}-Yl涨ѴTcTw,++ߪ10.HɗdYAE[qXA9*^ďp" y 5'ڷ*Yy*4qFv +U:j1QNz?J6"Fvk*{̾S(B7ۺYXnbA9ۍ+Ľϭ~:XmQpm%3:bEOLE]=f2&@-2$ +!% iq!;ABgF]F EJL'M3[ּU/DTQ$jUB]W{N 6] &w@ ]bg΂@d.{Y*(ը]*r,5* +@lKa=ԩ(61gǛ'=FNdh@ȴ:%?E9笪pu"ngH| ? Q; t^#V%?itɂo@rYj,n^3ڢԷW^`YnnPN@BJj .1oQJÕd_ŽF~ɬ^ f3)PmȨ ʔ5 &h53"~OF6C)8K /,x}˫El r^1.U׀E&,)XOMQ|H_cIЅҷ$"q;Y"f8f &ug>FHBAkςs|N^i\ Z*F#W45M?&-|Ss`uMfM$t(H V/;aH G"Xj$ŜqCȤ%Lz3̷F܆@(_>Llu Wr~6 zn4xdf8 @«L!dStb? *a^pzaVVIbVA6eW]xF Ӫ eb?ϫetyahm J~{ ` <\yH+;*]^KvXUgZ%?e. 1+hN\Q- 7/)ĥ|/ ~jC 4^<#$Tڰ.Xjҗ# >@j޹@g~rqfZ[7#)ҌIU#J0ݟmT=( )1_e~qO/4)BN؅U{ l ~~Ym{Ll O)7PVwlƎ$pis+,b7WzѰD!}r.̵!#~ZW(=&#f~&qo.k ;iQ2IGtf'CaЬbr=g>MPOrkD.EN"u ^2{oޑVLr[YyZ?UCk~{ϐ/ڠY%ڲBۻ7SwȀYKeiM2Sߴ1 P, N< ~m DuMǁ08mD3Ub6r ֮'%[R5o Od5k]16D-n{d(഼̉v\dSuMXЩ@@n;nb\3H<QYX0V\å9 d;W2Dqp( =),gҳe#>/x7 WEO8ÑY/+DVisG<0Gpz1 8VYK8:>n,$>GR a[&j/*fT]$jb'wCWאsAxwLoMbdkB4 *4>DZ;lm3EX}P=2 g6}>8> (ˠ-ի0r. |Z{ 1o-_45KDx2c0m Lq+Ƌ;iv6bѧ]7+v(;;Oi2ihv:\E_}n/} [Y^t :*b |Q1.P?\5ۇa{stOAfUY..0s<Vr[׍< *%Z UL`c鰝m̕;9÷-Hzd#Da HxxH-B9{ɼ@[6Pա[Qc+n[LZ ])!sERM-Cn@c+rYo4t*g6_C̙wi$S*Z:ڴg5cYVPKw^OC5ڈ3q\ˆI <[MȬsM\nB8B,,zg^odY'`*xϔNIW'{0QRWE =SK@8{_5}tKifWNl3ɋ!yDtt UqH\ZE_4C;z 4HR.%J?ҽS3olu9pnl)RaP٘3f<9&Vv*e>tZ݈uLMv2+H]1h0(Juy>dIU?I=wŝׂq*k{SJ~st Z)M1 R{( 8D_P$9v)Wi7k3)^n|ۈ,#7񀑋xmMΖãp[da:! /ǜUɅT`-S՗jg]ԽG V?by oEL?D6Tt b)>ܧ7,[eXRr2p "g'(XCqgiq]]$ ;Q aj|{%^z+!S~7 l%?'U#mx p:'YI6),(ntf9iQmhP-.=ke*cEK }j!%~lP.Yԝou;\ $;KB&m8ͱу ivx{oR{r]DLBr^A;;,`}N/'g,m}ss!ƅm0 (Bڛ-UB~+ge sblٖ0S_9)Z c#dگXRoF]{Ҋ @*Љg9BoN|| \rSޭ/ϷsK)G" ڐ7# 0,\3+t>T5EG@}Qz9$z~錒r~}slZڑeZ{{6o34ω>(k*d=gz_n҃_HXPE0^ҧuU0bژγ}V rxr; 8q c}6'2*aVJuA kbWs^q=Ġng8ɵ<~wv=Q),f0Iɹ_~SO+u2hsB?.}_A h?W\82*`q]+@ g HޝSz?`t2\h}#@MJ1nvHlvv`n Nu-@Kh+ҰŠ59ܜ ;du`i(jF;r| 5SP}w,19e⟘ >XtkXa9< +tN7dVz5u`Ol6IlqhKR3ryf 2M/a.,0x}1=bZ'v.Hsb]Tjcs_Q_"iy}b{,~߷}&n3tC s rVmӢS +WEE7,ܢH$mI(cj$&<4Jy!>?NL| m](co_yX4qOOf@3rwf*tdJ?f;zSs=0$|flPG*K?:q3 L~Af?ܷMqVrA^0tM ؑWɽ4Y |TOf\ٝ}9U8:jBDy=֥gEp{#$i*67%&i M3,Gӌkred20*Oe\5iݩ\ 4<*v՛+@+#Te`6i=&u2%1`~k˧rQ77."nJ:|7=I YvҎ`@Eb6#:IJcNy޺Ϙpg$Iv3KyJTOT<M̰Is|8N՟t YH†qKY^ř3y^Aj3ξGxi~nL>"~&Yι6ʾbnz}bAw?_!B;)@ XvK@RY'L6z6C O0؟Q,hJipذUcքt+L.GxLS )OQ_I@zIQ x{Uz0 I۝&P5HĹ0B| -Gǜ7DՏENd=> L7pCT3‡3I\=@0v )A,(s7kpDߋg݌zF dYPk>}dۧM)+0 #تݐ7ݧ5jRͳ?S bGRcj+Av" kNcl:-H3yU@գl3Il$@p/E'(q"B ږ+b읖2 gBɷn5v?VV\ީ_tyAkxZD h`b/%[y,<ۦ}KH4E6Kޘ ~~N n^uDͳ-+yGe`K-,[ gJ;y2gޅ'vv;(@I1;p!Xk05/ [Ւ5ZLQL_SgR!Ku SKtC8W#x8Bp1wihg!h5?68q${ 8j6ERjU![B+@ M?PBjUء`"Bf @|u[ߥIF Y\3 EWrҧTX2%:?ծj!.Ep#_e85lqiMVW_׬  b<_V;i[& @HbόԆ uǓ 2C1 xj}""+iq/IjAruȮmц }a }PFCv]k3nKeZ>=fιm\y!q4C20^ys;BRp2e*k풅4Ot.k.jn# {SY=hB~(mrѯXq6;_{ DK `bER^6a DtN9ÿ MBL6ƾ/ YCUи5?^q)@k ;Zo:ĩZ 7n}@4ARI+k:EewV .'JzV-m~ׇOnt}T_iFmX.9˵s:pC0Iϔ ܪ1:=I!vy oyɛsv9x;NtS=~]fݛ=(mI;8QB$o$x. nOAxퟰ6Wp61*nD'˙r4R)ur(UbZԿ$B^t~,B3~pg˾d?,voy?+y| 5iS}Pq}K wf}zqFmU\~U) 4@i/ 2mUJޣ9(.mb.dIYy90[{\Rwt? !ͼ*uC-ԂfS}ɤ~&4 Ba6o6l@jzӎ1GE$F6. kaWFfe_:#=U Agœ:N&fI,-T. o ڬӖFU|fi`eFO7ROY~Tp־cY7\j?x[7DeGYY[O)p06 6Fזk=>lZ10c|'I>Y"޷liklz{CQa9P}ۓHlHA =Өr1xǷ@ynŚ %OQqR $[f^u22~dAu1҂w>xA߾Q%HNtT[Jx pmY`HF|bI7([q ha}ꍊΏ/z~Sƕt.W~. Ozz5qIZ)j AɅ![_@JSt7 b #~`cNzꬼ Tjgaъ@b[ OpsGs5k`W6i^Rs 5{rMc !,W ʀ/`.i#806^KLd3?Xܚfp!YaƏ`2i9pbfm3FG\[5̒%lg6U=tΥjfsסI;%fw !M"-yUЙxͩ茇muhy>cÛBfzj*ԒByTQLڛ [ Ӳk_Ϋˍ vwfV.76wVvH`5$+şSm8PȉN0fE¿L]w#بw.-j)x`nǞ~`cd{e(Կfvu&-0 n %ߜ=3+zg[AiE*qFZf|*lL,V=Zԟ ?yہspvKz' חh/eIpnMY6ph2]3T J{S-!F2^:cj9[[OM,+ cDW|˹Ž@_ݪ}[s 9 iaooEBEO@Mݲ\lؑF #A.b]&*_«-~]h=XG;i2wPHyA\, wi =%Vk]_C UEj C8姉m.,-?ÝVSGe(;gB 8P(| X <:+AcTB9n]:մVP@ f3/v~sT6p=ᚸ1aGPmBYLM`r{3bIS40tJ6]CB S([jrdr~f&3)5Gz[IĶ 4I7m4z*n9,CޯbHAo`&<`V |C7q j?:ʐZe79+Q^] ͐?%ՠ3G92ѫ79}EYԱRT~2:r _()=JX&DT!,Qؑn΍_1G}G/ng3soetN Zd϶ $m -gE?W30SȼYZ##.O:6U .fu8-Ӎ^qJm 4H,ü:z@-iR#gxٹGxNaVbw- 03Pt)re {g(Q˜-UKTP0cC]YTX'̘>EM Mt,,ϰHG~ 몄ֹb炷tmӎҟj|Y9}"xL3?Z1j;X!l)=8=5sl1Ҫk_K5ib+.9e,^諍G1-QE]XP:0)Iq* *wPd_?\HUu[ E ̙IpY*a'hrJ=ۢ7Ŵud7Й8 Ż}:L#P VHQ'j}aΑoJ;'1D?rǰˮJZM޸ό3`? b<5om/>OHię;5-G`,!b/gtu O-8Be#9XOd% 1-ǣO0eE$BC7i؃;CPzy:B{h3K)Ŗ1L46  8JFhMt *)Mrd9͓%yg ܭ󓸁Ů:m-lfB7Q dإҚxe )bS?PVmh,?ʚGʠ"6;`:rYMϙh_ی nL>e')$kl4SnIƨ$VeaϨf裝vTFX3 ?v9FO &+L[58$ 2J?5'4{L$o؞)c깛ȋΈuPL,fkE~ۧ~~ Z/K/PѝT(/ɍ:Hs(.3"r:|yk%|mI|Stl&k*BZ+ uIXFlwC߲cCۼL!ߴ*kcb|dvgE0rX6 b"o(OB'I>)$ M/@z֡ q64*i=.ַ]<][C?eLzPԭKfjI皎_X;f/BxO\% vdr[9Ǯ+=51jx+SXeQS긢)^8;^ÛseZ$|CTv^ר#PgsMjxCq{<7ie7z/ED"ZjK`}M2-Œkc 6*X/# 'd![I`?lfj"n!nAg)Q3O*4qJD}[n' mEx3jlJ褍dVE"x|i!9[i&r堳R /Ue例GA"hr\>fdz7 T+?ܒR8 ,aWhgy5.$nLے.Ex_ !ǀ0X˺fi%2%ZזUthXH&c^j i|KS6lb?khDjO9xbKKRea fZ1EzoϾl0q/ŎJlVvz[u*ź&قD;V(P};uoBsG=@2Z-Z/3q>!{ og+Қ*4jn3n|Z27M."Kcr6} }XP1GW.flemҝ}߿S[8[Rn֡Iy#rpQ58#BGA`.8`}/3z*`Cݖ&ěG١S6ģKSh(Y'T6XpU;֐!v$I70qAQhqB2[5('/_@JU9 >XhAk>`E<-:|Et5Z'L%vw#="LBsx6gՑJ`oqx8xqg4JWM~Yͨ Wrd0 }Md2h3c$yv/-I~>QC)lwd]4ݬT{JG &@ϊdn 0`9?9mp iTDq fHruߺCd|9A欐 ޲7+' I>%]Gڢ,# uu_D.XRlN耨X "pg쓣{eD"xW gh=*$ Si\kyRAH4홰MG'_bЬx<վN׼ٻk]wt^iLtӚ)O!2"=^7 +\g uHN_RKco@Ơ XGm7pU&W^,[.D3zN+|,zX\uìhg=ϡ0>: Uo *^h0΄vexB 3%~LNr(c(a[_?>Y1 UHDN2v:abUxtthIF-}嬦 l>5܉ N"@N#.v2A[wV;lz~ȲNR׍[ۄ YC^D|fX5&Xū4Oq"gv䷩|Mwη1"LIO4EXd그y'4n;!"?G*oMr1%?HE F{A!-Wn jӍT3F&[;v#P8Q48%kj '+Y*J^Sm%o~$Mlm5)^Jϛݛw8=01]|e`DD}%F(u XK~'L7}{_K) &7ӵT -Ҧo8 gfkWZߓ}T|BCy( a}^QI(8*˞^T`7'c'u nÔb.!qtR XIǽDk;;Jc@I%>il7JImJ?4X/[@m*6Do՟z3m?09p s%bE.G+fv*=ӸF{>Yo%@QT[+IVMO(Q.1Ta)W-E`6^xADc<Wbm D5y $n^F+zOGz>5_pV0fk6jO%6-'h$3u@(P$.%"!F}]3Y!0"z 87iT"W8Pm>G?(Ѽ/V#Po6O w-82|PN)AU,@ٷ }YȜxQt6UlJgߒN?y%{4\u"U5t .i1uUֻ4Y5+Xr9}pɄ0s =B%N)쀎X<2Ģm66 +_lr䇇^^DX1?;0,rQ?T|nDaxY/OɯN}yBTx#_h,TB4:Mh/?A 9 㑑_GŶALϝVˉJ}~o^FnN7Fzߵ(m݈uŶyKwxUҫѶ5 4k[5mqBLQ;Jߑ=-hM@zڴG_A0GCh ǣWt[<ܴ@ܷ@mC@:MWt.a8nzC^jJC~#& h962(RZG?79ئnCe$Vrz6OLuc-qa^/Ne YhF .6Kk_/-VZOq0 鈦`TTGm&MǓBBydFR#1|y|Vgf'Uh .JUv]6dVQ#%-{X%훺Ga3ӹug{tj3pb#bJ!~A]A=3nShIq6 O&nƉ@2[ TAݟтw%xO{sKAjch%͖1^gWfSEz?r}%wȋ=qus:E`8,[be@!{a _nnn*jMBH1o'P۹|t^%3[9:ND'aVT`U.E$\زv_/.({{x59AlֲhHO}s'V`ŧ(XB0~ƈwv=泥^Zwuz+! ܝ gIFՁӆ^>u)ܩ vm}a:)3;5i#okzKӈ Z:"`gC֪WZj>>/v gΣ)E-<=ڦt?ެ|z|r!$"pkt.pn֏k[[>+iVbmCGkuQGp)XDRyÔ@w0~d:ܺCr^J;rH2S"L {b y4 8,2٪;1W)Ō;|j_]Qt|ӆKRִ'[P;,>ka,( t !+o>s`,Q G6A‚9N4YSlA>sxqJO!]Ci{,jrv;tx;x,Mb+g 9u7r9qȎL EAw_mϻ qxB"ՓA]PX3Ȱ/[64!Ġ0k d3@"]!$OiS`~=ȩi{ZkNNx!QЂz0Ag0axY7 vR(ҦSxH96Z`B˯ɾP_%r8+U⊜oˀ*Zb8,T@=8xYFN7g\H.wNWUfO!E%Yy+~9u=6Q.u/\UXVnRKSD]5`!Uʅx{ UPe LmY_8!'}fmu܉8.mZqo=:IMM&LS qlak^^p#x's`6vǶrbٴ@aUv7ɭlҏBd.m+Hn\G'"YPHl~Po;dW?V&F`tEt ZތߍxP^*ɰRڳg7H1MJkȈAt ڪPK~}GHwrp1i )Z"Ίzny|%ݧ9gk/&~e3c94DZ&@X{V4XVYmx-!>=So uJ/nmf-9޲$-ٍbo rG?@VߗMߌ73^7nԣTGLCfPhi1Vc}3S}q+F)eدi$SNaI@'urF'-~IiG$ j&M lK0U zCQF ^a;qﲭ wYgRu ɠ'*T'k.W6ᴃ8a U>4{{Љ]m[|pgn1^B#o% *Zv/bxz[,eD:u_S:_MR7+vKЈႳ9Ԭd1pYπN''v«^ȇ/,zly1p?'_2x{Xe6L[cӉY= 5popviO[ *\*cF`Xl. y0pHCճ<Xƿ q0Rt9uO}T$jxIt_Ͳ{DsKyuMqT:c 3")3R݇#ؿ(vճ9#) D"LshVc~SZ7SdgW+tQYXw˵׊7tz0gx[!`z͒mJjv#A`gJxp_3F;~ǁ!܏v6Q/8*m|Yu*m0q '];m&D$T\/*7HK3x/]{ԑmC9M;]Rzb31e[ICWPZQ?-s}Uڔv#cU4'Q…]['* M*DY#ɑH u č r?4,M 5x%|pM:-ouNͣ-#%}WUkQc\"lt6 Q hJ|>aX c~ڢq",RmVA˜ >ٚ GujP&࿠qK /]A+a]A/R=Yxp+Vώǚ T@C\qH_V\(:=-uV ڪo:ێ9&ʐ֤U~IuHaSY@2qXb2쟅RC>-VC?oKs *ܴc@iD o ;#z: cdf~̢n4H.~< gil_!C6,I}*I0٣*c)xE%&qWe@NʃM,$H n,Wƛ(E,!W=3}s5ARc3']tQڧj"0(p\@h)RxbA-.D:o%LgE%!4(fD4#AC sO>!EBj,]54pI{^_#S* tmIoߦ9#O "PRr̩u8tBϔD. B OU#<ϐ@șj¼ E-=XWAi=lKQ gǹ$fc<,ݱȺ7>Pm'i]A&hb`bOrG=vb/MFx#ЫY$Q氱f/l.:bc^j&nz)5~I4[ЈpO &= :{ǻ,ƒ#5_Z25H ǢM5?ED 琿!IO,rǝ嫡S_Arkx00.$y ;!9ic+=.3xqftb%* :٨~VLQ/[=*I^t4<]n+m--eom1R"]%7>=f>.c l4Qov} @\rD Y=>qgAe'D t^ZESճN.)IcN+f^?U\WY;qi$:86X4&>j`- =aҌ/B.$<"mrҰ=Ak=O47EzҟabHR"IƖ.݈Hip$?W􊭂O]`EhoH}9znWyD$'0ETneKCQP DQvq0P6yX[Lclm׆'r(J)eff.Vp:IwU@+peR"{>O65`pIBت5p=Z{2biSm]KjOޗˌƘYݦ@I__Pjí\XJC5'-(v @A4\krYZ{EAbT5m;^,ܟ0ccRI4 ?BG'&p.iU׾fsXl&x#= )Sk w}nTsf.CihC7 9og׿WI G͇`grwa\*?_js:! e7No۵219"Vo**i?H?7 KLnNД>HSQRj>O  hD`eDǙRUt.2ptow<4ry?cX / OD,욅%ot5>?B `s$MC0X꽩dha;ϳe.yL9owdk,!CmɾW7_CGCDiipP-xV2p=О}NWWp/Z`B 'HQ&{e?u$@Ma廩yRė츯ЩCِ6T4A <cULԂQU1pFCN)Gglk@9p"kF6w{VnT9=o^1`CXGmK6^in;1ΰg CUT4u26~&J1o~CVZ`By`h׻D9ΙC'}@I@9fd$1` HDJ 96zکPcv\5E늬HıLN0&%B%uҬbkI~*@8H !1ABE&T/;#o o9C E[L#⯗Ua{[-6P |2M;Pf-H4K4ܦ. ʴġY;@NX6ԈSLvtg/=nVֽ#= $LabQJ,LJT̽0 ۱^qah{&3G# *Wۯ:+9hR̵,xeAtZFGԲQ&/@<1hƻ~dߣ\X-Fs鋁?G\Rat.*I0J$LR3tVk}djMV`r4q@3J) \<>ILC8M#X.n_D!ṆjG״"m*6rw7a3/Mr?+#) , 댕 JcxL)>a |C| ʠR تáGX+om/_K]Tzϐ=4HR [t+/FO܈ Va9Čxr9⯊lIPJp853EruaV n i5SVjnqȂ/'0!oD#WʼnKO㾬F(R&bf:A'4}{朂`DM1]Pm'Ykv0^"f~qb {&@mir^贂#B*d_0d<FaʹT!=khr>nr N;dYK9 (p*Ke$'EX𫺺OA mSI*F)ڵݶ"[/29FS%FGxE O\D#Q )q l.2B{׬Vss]nK6_"6B ϐb=M2Yo;{E2Rse)?ЀzD$JH"75ubp쑧*yAZcɸݡncP"!K6^. >)ć_+6\T ]"*xw<"gK0Yks 6sHoH"~u)еoF^"8gYdzŇ-'kYb.`˚we..eoZ:ޡS d2Ws[)U6"͠;W,4హ%.nītu? \tXпI n_v}{L.i|RXM~$ L>HT*R45xA.p`nIT^bYՆQnMr]`^zQ](Yzא>3&d%'}8o*8x1 J}kVE>D^9gr[`뱢VIzdȱ{PL`#Hx8aTmJ 0~-ty9:9$?Xv\~ײ#gOuPQcƀ=ia?8͔%v|(a:XxlQejt3383taxYz\D$ːy>4^'~j[J5ΈTe,B,/tv1ЂoxVPOzsG' z2 V}!D:avzm<֊"sAuUP\kϲSQ{9&5N}O@7ՙ!ם_!ԳHޭ ǚfKQQE>3|޽F2*6skڑkӨy&FgP"ֻy9Jݬ ̮,Kݡ-O(?8K2W;_Fg?hi<٪QY~-Z1 ۚp˨9u.Ryߠ @zW_9hCPbbĞ_/'JIlH4~C[ 7p[wTs,r-2*(9g@o+֐8w8 f' Q 4 .vdbxr4p,..݌`lwsH&]-iP/;; } U9f201It2k"Lk`ոSoр z)ͲGCؖхXG0ģi*%Sȧ*btYn W}Fdu'{g`϶o7 _֢ '\xcEAP0qݩeݥ)MQ%[H$4,pèފ[ܚ"΢{rV'::>VhU Fbaފðʜݒ0vSIޜ- x y' ZjE˞>^+pԘ3Z, By[a#p,Dmoܼ]Qcϥ &Ko*"c:`n3H ]/|%b}4CFH)47@:Z̓|"~ ''| NV HtS@{)>b ۩N@B H-AߡsJ^6X)޺\~E¥ѓh#px.Rk&noQ}}FK@WF(FH="P'8n!쿧¶YhV ^g0&*qU*q6x \>Ю=_M_*lwEG4ryּRͨ9)dc-r8!6UYr)ǎdY/(2,m)!?R 4~-ᅀ`y-H?_u^^>eypeo3=3Ű ~IV !: H =52_-%*28 Ivab#AK{9[Tыo~G0 䙢~{L g+xÖǿ 2IXuXrlSx]A0幏qnb)UV }7eN"j0TS9gTAI 2LBS.w. N5.oPEXh?7E"?`Z[6UV%\$/͍՜Fޡ(ᣢB~TPgyROv |""+ +Cjن5AV8%QHCk_+[ pU?)%&RIaK8!P021,T{VZ,r;JlJkXą|n0MBAP;]#|KO l >.O6.QĝC rQY+O3'G7!{ŠߠI'qX׶ٲĕ2]|PGN(+S[bG"x)pխ'49 mk 6ۅ\FG %E&ܤ+Ac}}`Hk}׬ɧ*K^Bl&gd4jZ"byc+uX&]0}k%rŸG)Ry#,q6i]6'&mi>K=ڗ*=8˺qQhD3w|4=gW{{:+e:;r8ngs$ ǟ0"$G16>B~bv}P .."ຶF - /w)XC~QcU^{**ڟW@ɵѰ/ai}P*EɁ׊AU/vu!'rXpURj@#=?'GeYf.4rp` OwoS4J57 vd-G]ͼHBKq V⤛X7ÿciXN>X80UXL#@ =I1غ,侗虨*pΟD0RAq"-ںÅ)oU# ֪7RWU tLX3<(!8Lz<\ ,>vsaC|0йu S^uwu`O6!t@+d ,Nr%Ftc4?RAPvW[EfgXĴbFpwr =MAFOkDzE+?'Tz_Ѧ͊oOgcn& ߤ&m78ZLtN(A#_k\';nMvK+9EheU]B0W+ ;SX" ?w1Ŭh sF <:ٟBC^-)bZ+`/0vm+|HNh2칱^&PCy$N~Tl)W{kB2ueO8~\"XLþ!{tdYmUy4J䘰SI6@ǒŞ+K1  P ZC,rf^]F-IveSǙ}dL G=Dɞ]!,愠OiO* !c=3 m9lFVX4 TFkeRŎf̄ (Ցn!qP!z[gVKU,O[tfpy݌s$w5^D=)SXȭ>(oMCġ)x82S ! ƒm I=_৬;Q&>E'>>W})?ج*©4bA+ ُ5nN؀"DYQ)4:A-vbR@K1꽲+1Hu|,k8ExQ>wE+'Ӎݖ|r.& WnJ>8[} 2 3-ӡuTa\Pq{|hZʡ~ (o(0sb܅SN&[up1.zzgO 3Q':It)a؟Icet#lC߾Ԕ4᠃c)_?SZX1S[D\w: G޺,yW0FS|Q&Ö}-Zs`jZ1_WynyZ\"C"u٫o@~ "ʨ=Ѐ&nRz`5_"GDè?$hŁu8$[`.m+ec4W,Cb(ӿ6Oj-Ke==i,gU&XC+hGylwT4YALq-Sh-dG\CI’Py$!붌j3bJ|CU\\=r-~/H|h(BRB-HN*l,,/0z8k;]>ry4)iHȄ8,9׬ЦVXږC<ϹoA FjAsFjf=LܫJ\} Tv2`(&eWl5ɮEe>FIZ遼+Yo J j8NWL=^oJ+Ne$mxn* tFryD: ~GF@vE硟XR#<9|pn3>k b | .JJ cgӎ';l&]]-#d?' <ˍci[p6X䑐lTwKo#AJ3Js+J=n_ʛ{bU: uŔ3a{9xUk <`ҡ]suqvSgQ= \op)qe6R]W"ۏWJZ^mD -z9 t3.NH8c 'nɀp\[K=ᐮz ={CUH @Wͽh qi'Ei?]Ej .Ћw3V%)FSΖlV0g[YnQ%C@O[| >f^Px(T-孰y"3 f[DAj82fOi5.̎v2ݨlw0hzR[x,'Jt0x|zHr/Fpfr~N9E?b1`5+7ђdD*+y;AnWgji'y=-1%˖F~xX̓LT?oBtߌd֧^:N2m*Gf4[pfAR-Y֠;uaewQ_lߘz7, >M#+|O]REܻF3v gDv=8EY +.: Ec1KuUPD0bT=**(KZ\trfH@}"d#~C8= 4,uAn~1}" &^q*vI#iߔK%IB,k'$f,; Xa㒇L?OH3[mBƞk/Rj%J|L pUkgbu4+v b4fZ lL=X~zWe b-‘Dy@VTn޽t%y~%S!ܒ4h<׵F(]׸Ty}tX+G6;*y?9-tNH :[dpc>QX`*VmwiO iRԉt¢jͥ[7&0o&(H;K"i(\-8! t=o]bٕC0ǃ(M$ F;}#JR>v,T* Ot2M9ԮEQ\ 'f+hmc%ZOjv~\Χ~{;Y74IgmG(S$ӛZI_A$ jY>wL7.,)wW/Q10F{=;@S{K_Kp/oyQTݞD0tr$JuC@qW7X4ęZ ba뱫KZdofb2ãqG.^k|tٕ@8||}[JCpJR1sט@s qw޳F+Rĉj}AZȄbV+LQsP 1] P Vk^29\s i?%-?i*V5`ӴI_=0(b6fe'gV%BMi ·Lv|̚) ̹!Ҿ!%CS{z\rrQ՟ :O(b;ҖH>5{4|f\nT`@L}Nx\ǏeErRԽ N3&1TӖXՌh+o-(nGcaI-(.hQpi v([qkWND Vf69ئg%,QZoUNрBG@"_tA6\;EkB֟_C =g@ѼoK$<0|TOܺzgXϨE( kFE(zUufZNm @onXafyl5vX݂8s*:! c]Mcy-߅m|"JFPh-\4fq 'If#u d5ffz!Mp]0? `sDI\I U}B}9;CݹM$ù/ xt2YZ]sRVh"3.GIb:Vڌ?̚輬&}RXǢs KJdJFyz9v%dAp0u^#n'軚f 3|.¨.Ry"ۡϕ9xb놧Jcr4s<~1fJU Dn[q Dƀɏr7usP~vl$))Y^[m4,-~EʵB"̬qdrӬv%W^ENN_-ͥ7+.U>@J\w+ lH^.[q;!ows_Z_J8LW% "%*OӜ'vcQ,*q9f)v(3gQ- &Z7mg qEաvFf6sW48i6(4 .=XaX+3 ׶/h}D&)7VUkljs 1 MVG%<A"K;:ƻziKƤFvv'֎lZui-QmHF.kAU%( ^fl-˄Ŕ"R V-j6MLJ 9i<}r'ی /hu22ӋJ'òQ6n6\@Yi|KIՁgV}9O lۺ8}׵-ܕ6{\k$¤q7љثZQw]{ViP"ulJH6<)!8'n4Y*t~PfiJhwLC>n+ P \эM8;:6>u4 0J]vU_Rz)7:\je`Osij RJ*z[XX0UZ._3L34E}hx! Q* 3?V~/b6 YLWoDkQjT~C3ot~U&U#zʓ `HneStms!p/ף r UWN[ѻ YU꟰Lr( <k%0F_51Јȧ^3'͙¬zI@gL` $,ݽW"&`C44C,֯ޖy(!Xd=X4_4 qXu-s ϱnz綻yhK Ǐ~1pOSԈ|G^U)A(X%+*I쐠{f0ƟƆVA<ۗG]<9ק?EQزb2:!0WYƁppVs+mghSk1A槖s A5,WR8U I`e /AV-PLuV,XӲ۴>d#ynSUU]憌\1EC{phJ.V%יS-x w̱'_8ig<01b8Ll/ƶƤl(SmGYy&l;I%kҘATZ E0eF5ںRzs2J8<3q(er4ܽhǮ !kgc61_;EOgj~Q&tbХK (PO!w+ASgxFX% }g^sZݒF'Z@GcaI [#IxȰQ{5R٥V,.2XE݉ +Q)̸ qn&۫qg`N=Xδ fVROOpGU 7(4}: #Wp$Sm#NB}ʀx/Gh)EwkQA5|""s:KX]D H{<rHAY VcPFHJߴDf-vM q=v!ȥ7(Vw{-1u,դ󠓂{Ie\f|ߡR* [3@H%p½\f<3$ٱ ڠ6Bqe(;KĐ_CxvgDN{_Sj ʨCvx{ٔIh{)0BoQ+2(ϪwF!sYEm!©0G0$w@SֱsC y=zCV9ʕSDuk^ ZGV$<JM^oH'P; }C vFn o  g.i}l'^pyS`AUlh8T˽Qg邟梁2Pp 4܈x~Z/I+AA:BF821a($BD|ZiiXh(7?e  l$Z#DγO[EWFS^6SMGZF\lX5fRLgf+YzvǞylm7x(b\6M!iqV \o_=W,g4>7g" qH,%-$Guk1_!&'q (Q2Y_3G7<+ojiˡ0Ӛv^nJj*coq;1o)XV#<{ocz&Oyz(1\hEZoL- >u}'΄M; kW2xoo"a:1N^W@z-8&辪 oTp  4U7bc3p0= k]))hYFc&- qn#\L=({Ӭ W_Qlܞ.!S6;UV|Z . +?91^+b vbgABGݬ oY6AQDTTpkuMO8NY•3(x56_6@)B!E*NeF.J*BZ(%tcp\) 1XJKf;noe$4tpZMȪV7O,{eHrZM\evy :Tz?Z8}j=:OQE<<7t5eHg^[Nh!򞬏d7-DCu0Zo!m^DO>&|LJKזʙ9 %l;Py1iOʤ7(nl. ?r1pcpt Nc/SxL!zUE2g0sjfv8Z< p }BNw=XT'JRߔoR.X'ՈoI C+3ȿ9q RRuHggf dW}:*pm`t5iڿ8- y`?; tl^z0L1.0$F EdΛz\(mK-"Wr@;9&7.ۛ.Vtρ>ѿIA0&s-g]MviuUĠ;7JzY\tuXϗtѦux偑\RK:ݓ N}N'~jHX5p(>VGd65m.tƤbj<]m'XJlg8G(0! "Jg1Lk m/ j!x4/o)nL7/16 !fF(SԽRv|/)*X kxvKD5H )~,Ϣi`F |6rde)I#L}wFGj.Nj$yZ$+2!!%+ ~>ǮD`ihxYLl6-Y͵({0>Cp4(쭏D̜d$Ӹϳucos 3R\iJ);8kZ Ax;"cة+CaC&Dp_L\Hݏ.6m{K ?Gl{t42wwPJ?Ѝ,s'GZbڞ>@F%¤7zrM)r씿hS񳼰pAB* "1I'*J'N<4Kl&SbFdVrIՄ[}Y Y~fu=G 񟋲 `ܰLT/P#K7}a85Hd!peo^W- FЧMnBv"* G]SWCscK +4LCM1WCIAt lg 76}KlF>o;l#g&tsaėǀ QRswhN"#vGbm`]M~2o(gvIKRfHmf[D:#"]bzp.fnxcpLM>O\–;phD]En9Ss2(H9#(9ɠfdp`AEH?yMHXLGVsdP|1w> Ԣj\[Px+A)|ƞu9dw3-})1IxՓ\KN.\1m]o1cg)}  ^VIqtÑ&q:pLn[nI^ Y iyhO%/')jd9^NkCL! Cx] 0:uκAm%%g)K*GS~FsjGCyA82( G]Cƶ V:kHP-iGu+[ڷu#,O\ZҁikuҲj,3ZQ=Qǂ N٥N0Wydc;]F;6&њ/靑f7% hLNar9\ $6P-N &pek$qzlkqN ]}L?Xj\PD:cRk =d]"b-a1 dt^xe P+*&ܺ>tKlO jmJiƕ/&Av^*UZ|D4 v#w^^q>Goy- 0hƃFO"jhg ߸tJI<@{qD(6-P sdUs""0ܾUkKE< 2o Jvc p8֯(Q]x?U[݋w=M#JC܏}: >%fF9:tż8-<E6 Ҹ9qZ'pU1A'xF˱Ls*/VєKXt;>~xe{4=1nR`MƧr;P3"EYto,XLmd-0$O8A,VuS/}9 ;%3 G" kdV!|Juxkw<@,Z!a.3s]kh/ _?3X8,<|ʴ_0 DOdRY轔X/gj ;Z=^[]R#l4R ~ /]TIS^ș 7N,Otfy]b')HK7;&eLv,T7{Սx E ifqw, pYزx)\-(o2v AR4 (^lR@Ok@˄C<[[ӌ[E?ؓW!JHXY^b^bJ#]W  \Jclk)͜z0voL@F 'Oݸ(ZKPzH>g}3`%4`}e)NRd`a^^39J~_ur8Q3Z#LM9/NVhְt~<&˒֟3~p^7KpZwYYX"NֻXɚc6][1uBuGPT wv1U1p"Nk[&1f b'qbX%eNI9 "w-ڿ]BXZ-zq\sמNyN#6Y}}2:@6Xb9,3 'ΛS6 Q jm֬%c,*jB@]7适ƣd)SAT K%9At<A3hE[HW-*8tg.{| <)O+ϕI3 ,ߩ!zXzXzMNUZQY/HVe읡0ȨOTt#J~x`B^C kOҦ8qpNI+X1b}֓LA@K-0@dU|~KzM[ u礄23BGUrF4cfɣp3 8o/dB{0w&, ^l Pc{J2^cHEH|@qGo'gtkcL6{A]h"~@@k{um˷X("x+0p^Be_5a(FȔlnuKX ?8IfY=^ "3Pv >iR<9*j/D}Ve{?v{+4:]c&k f"a龜j2;紟Biy#Ak}hƆe@xc_MH ~Aqmҵ$5m凴/|LDNkU"}bw+E'Np DM9B c/6n\@fU:0]ղ̱ iB xd ~雐: 8,qmg**j"MNDF;{^!QTv( u!{~$b. 7\t=l_;AxBAY]:.S #ȩVʄ UHÚ x.E,#&8"3y~)uj`$v= $^)h4k;q@_%dP5sX8cXFڎEn؛` \aTCT 6 ~u種}=YgθTxcΣyeݜ_JMqRn,Ig(ٞ Ze[tɈq1_, :]Ie[XE0?`Y* rRN`JJBpz[ 雹-[14[`=w~mLVW)`/qlHq?Z Ƌ򫈅B:zc"Zo̚3Sc!^Re \yHov&R1`t93>ac0 t?)epaWEomٞXHFѼblj?29O>Vk-~ic}c)qIWUթ?2N9iڠyX!uy8|J#y,ݥ梎otp!KpAy&M0ù b7=T{>̯X*[0c\>GH1sn[5ZrW4ˇm("fԒH\5H{!?v=fZ} 5#R>fVLd@4Ƞki+8U> ;Vb8QK%(D3ǂޫRm'gYw>Rq}P}@(wnϖ5+޿xYRNus'YG&c?^e`~PuW{$ױ@GZEL9ghZ9jf__:0Y gRv?p,VucHiSZ/aFڳ:^BBc%^^S-C_ UvruGW 31ΊPIʛ9@zvlcPF aS=zFF6:-%B[wltMrA]xbŃjQ GJWӑ x"] wpW8\X"+A|G#KDp738Q禤v[@=۝u RW<=")Q7*ez{6v~PR6{p)ҖP~l|Lەnhz=tI `M0Cf;YKҖ{SE|O:@?_KIY,N0 vbI=Ƙ RYcs=0ѓ{T=2%3al L4{P[]/ D)jӐ%? ECl̠BrċL_ΐ=Ozp;n|' >)pqU؅ȈYފ?#N~7 ڤ 1\ S3*ݻ$vZJրi~6 k`cA\7+2# (hC/_OEI~z e1&M)p:2)t\nIa& >fm}M.Jz*H+ۈ&)9[nȠ?Dp`, ?sMV~)3ԉoNִjU9.4GªYZW څr<:z?a:z 6$JqIZloԙؤ|_]K)@i83;'ZYfA)I_[64#f\6ąM =ھ|IZ,2֦Xo*2h`_?,H>=c^r톻<}i{`=}9o-Dy904m􍦅DŃY8JH-K9ub4I2"6*oܢa]1-ьYk5['sC{Nsc$q.[dAd9>BvţhT{Sxo ~@$&YJIqU}^UCw6a+u0Ԝd? ʋ.5JR1g݁3ߑ: &u|u\kP)wB<䫋@041/`1!kc{'S fgtjm%  H"';@*d~OQ &\DCs֣ q>&u > {c6yYB!g1R Jһbq&LT P 1GBD{tJ4c'E};,Z .yƌˆӖ?Cndu2HhΰShI:cKCIIȹFjl\)ޖomJK+AYL ' b?71A +3oj[ZBcf䕅fUe6wF+)y|a=\cA#ٙޖKcR=fxSf#5rCc?HүX҃ H4TM ?aI$*[%zJmO)dyiĚ9$ˬj >GsӟpJpb^ R w:̾|f̙3V61W 4 YQ%,Z".o{9'ϣڋ_xVek2o(A^(]ʆ+J3v+ص#r5NKdOV3! ⌨:[!uWƙ"ݮ?PN]v= {cI`&V"}R`:>\uvV-Mljd⋢*,x~[}Ըqpn^eyO,.)8]G_%",OaZ, *L#>v;שlak,Dk~>p/^pF4R?X0.>pID1NuWV3Q=7wB$5Ǔ;1 דk5_A֥zrWqNm(7}ϣ9`FDot~XG2̱.1 ۾s1_{,$Õx;(݀e@_Z1EӯI;Fsm4P= fn4Ԭ<rpلUaBĹż&,~o`Jǽv@`r:S[į]-{Ԝ'%N/[i4y#o>7!L5?JmvcIj s Neb %də%Z mg'tGsR~@45^a>Yں2XND7:2vdOS}nR&1L6pw%33g"(ϫQhs Um}VZgG4.EЎЗm5.DX3;t7Zyc'D$4?; r\tɗf˕ "WK`&[V"'lC:0B1cBM@+2w>@ #{!i00 韤ㅊT ܂"ee'QA,Ϛ̥ -k/mض\& Lc?+Єᵅk/WC$z:֦WN4kS9S%)HS/eX$3U-{Y=V\n}8vv73I7ƹ-_ Q$y>xMM;"әZW8@LIkqFN&{l@gÉ sC:TlءCyڰBcoA[eq,Ua`K(lѕuX__#t`5x(/M-ޑwp룆X`_lB9hƎw3_?VS﷌ulgYi~;ph8&6H'!bp*{2~.*"]R`䜦,pB" 7Z:rռ ށ1D^Gz$Ns\}b3/ ;;DFO >v%]W8ΆPe}p>י|#" ?bP&n^AQiGv{9(rSknKyC܋ ;(axţ>y0GN寺kh@BA:t $@NB `jt%tj$|bS[\ paO8jG_VR'ͺ : noj6{݊'H؄hFI"rOD]IL N.祡Y_YWYԱ_deɃ}6NirPP >xx.^d _jT_?] 2/a>є8EdN]\orȵ|c: φRdUM\Yî}KF_h 3i_#YK[gԢ}<3^fZ nMgu-Bhz4}6F@x{3~`YATzIZ (6Z{^;-r5i)hnrN Д}xwz&KP|I^L}ߣӣ8xֱ iV 5cg}`/%$RoWF[Er.ZM7S/`H^v &f[5h]B}%oJl܋ѥd훦*\.Ú4)̸u1d:"4&a!dčG>kR9׽c 6w$v%S;mΎݽC5_oXkzUtU!kZɨFV; gJ6A"WbTXSf8/tҫ-z.J{۸5=:-*3?[0~*=i/י\t;X2YkXf(?A@?nsSxbv˰-|1o5ɻtjUVH^r 7^ `p)l@1m[@U.)g1\bO:A[Zhu)_ҶjW> e8s$Yz,BCKScuM`ۼښMi#I 4*O`/һpfMg,vb|[9;˱k0ۆ|Q<|t LOLZSbqE*D<`ѣ@4_zMI6i !ӛJNڔTG{6D\fI~ΎSv0x4fHMA\kn3׌[B IQ3 yؾ3u&'GL.`ٵec\U'$7wڐs>ɷ)4.ҡ-k$v&2&;b r6Pφl@iݎ6b,eOJ7[Fׄ >J+lcAM}1J$'ͥ! S VbR'*oQWt|s`A`)]~}Y0-ʯ/nz@ E;>_*9eFmT0=uL^t6\HP9z {PJlņn->yN-(c]` ? ?G{Z(.Pҳku)-6IY+VX\Jx%ZM>ϖʖ]>XN )UhSFD;:(fl\ X.ohdBW(.ȹ4@[jV{0ҳzb]%\P\X\C҇D FfcKJ`dR`?=At5/NՆM<e?d*<֭lw4Yj wC]LrFKω4.4Uvo\ͥ؆/i]а؍LEB$k52JHA(3 m TE7yJ31M-mǝ*(Kf;o74^F;ZO?O6AЃه#F0ܾ| H5-e{Uy0@'¦›6h6Ո'tar`]/T HJQLf&aߴp?]W * j` W[]dY\J3a Gml<\IP%/njB*z.GPњ.b֟Bk3Re˜7wuqANsG rhv^k18.00eMGԙ E1N1i`E[_O+9%jj.[㊳ˣv͠~#yF q)>dKA3,e*I.G[3?ᛃ.ݾf42=M~rhhT`)  #ؼB7ry$_1UyqoϠFT.#KXX Ky{7%x{C7"EcWy._zjٚ/,_n3z\nt7˩TR= e@~AYUw-b/A\h<Ɲ{q5+U 2kjKps=;j5 vb3 uH5$r0-^^Dluސq 3U^Ɍ5+-djw!-I߹~dZf%s6\, Jh 5N<2OfA 7G4/[]wA,z.3ȓ=e;%c /C~|ˑD08s>UWS[FSodQhVI uχWH@wop&a 6,Ѱ#7{3kg`?WC?a~$ƀn̐o)=YUÓo1 M%G%XPN׋qfF _d":`V (F B3'ݙ9R4uYDP=M\2ymFxt! >0@'޿9jf'[+W^2GH :B[}tXpmkq٪JU%ؔ4p3θ5g1F9٢$dRg/*xDa6 _ W~A+ Y~:b0!{ +!vgOK E3 e s&j:Aϼ] ?S9%@?M"zP=)T c1yN뗲E0S EgX'ÊȔ( $y[iD {w +nat*|fDEQ|П3N Whٽ\E'@aKѿˁt?#>$m@9)M5YlX= F~K<|&nWhcu4`xLPx7jA'Hر(Ha\ %LViS1ZN'W<%c,Xw~]] 9b0'\n#,1˝:jI5;zx賬oDzrTW'ТB9$.atq?* QZ*mCD1{!cP^Wۯ',k E!hqJ\bKG‡7D03U\ǀqS*yx5Rj3'YRLyn]h̃oXI-τ9W =Hm'>;@c CK}SMAxNĒ0_Xa/B)|Tk$|R iB kZ 1 8Pek5wx\v7lQ}Gza׶t 7D(֭Ǯ]r"{%{]Ԋn1C|5x-骀H궜(XCXWC:T-"ℎċDú Lkca {h|Ψ_!4#@sþ< rsCƅʋ!BnTW|EvGYjpҧ0-+^5g,EbSΜ3Q0vpB]"7l۰< dG05@3J"B8Y9`:IDyeXkVR\⇢6iJ/Mr=7yWeiʗ1D0>8fw_יf#ԑw)TVۦ!+{ WG Yo|~2o@>R?$r]mmsX&;ȝRCE!:t '8t%'pV|$*`Jql ^+0žF110e;'gS)gɄV$co~!|Z`Le} 'ORQ\`ިol]8nis,3P}zTRd9^Eh鯚԰k(PVWTeZ4zQI2C BX;a(S!ŤESEN)n aO^/+t˿Ϡ޴+L!VK[(u35:HuH9ZؔyX| p\-of"ju jwL셐*AΣ4v-#O{dc>D/HOcPHԱDj/}&]A[ Hz"Վ%Jj Ґ&h~ h]:%5{wJXų,$}0 ށeywƶ!P LW&a`XGo\,)];5A"`9mM@ ImޕIH ތ׺k ('L3ixJuXTY/H>P2ќP2,>}t 䩣B}k:I[׺lS6QzuAEOM3xK&8DJI; |+@MchU?25\;63\v,)$NhH  'a|Y͝B6hLaoOhǻnsVȏa TvME[Qy+1@5ճX X~0 EFk<3MUnHUx0{ ki@Bp|LO Vd-઄ZATa>ަHwK;Z#<MkRmh̚7KųFߖ|ubr ʆ\ RWc=*w&ɻT7Ʋ6rV&-82*::fp_ew [xp֊IvTr[n^0;!Ns^8 {(9#oѵ_Lƞ,4A~wCr.~̶j@X LjG"PdI=[װb ||I:88 8?P(L_NK ̋/o/Ĵ=-=K:~Sx(B,FKVErK+)^ dGEQٰކcX'+YkǬ -pC'R-Զ ;wbY`I ofmVf߯YS論$`?hK#Z?hFprtz "#WL{ZE29[!ep9ɱ@]LIM)or)V0i)nSȮbS~5j+4#D|\6Ą행)/`;"H7 :sFP::g?.4جVZVDUBPk*,gƏEHqI`?I6\* &*7A.F5!_mRf>0yA:Y_+?|V¿E0l+p>n4?{,.ΉAo5gD:CK Qh }v=E!f}<:Ϡ a6 \!-.֥g˽PsDMJ,i, uQ[񿪝'bx&&\@tNS\'ZkwH~$h[nYo*i tYgGJl $ȯZSB #R ht6/bD w/e? 2J@'B k:4k Z$֔dgFw \!u+ѠFahik_O]tkoX+2@ wژfXj2AeC JDF/H1g,Igeκ_!Q=M >S&+UJȳ}DO'I#TUmxHKV10{Go]hش=Z_SyMWiJ "k ըOW3\9fةEz5BVU1M:I >aC!c4f{K[DYBbYl!* ~ıEC0CqbÓI@Pc;Nc%d#hu($&QoD]Y[3PE'730u󭬔vk9{(R1aSJ쏛 T:%<٘lvX['[R?͈AiG;ҺKg`yukmEĀAbW:bR9 kJ}bDK:\TW̿맻GXFWk}n1ݸd2yxqhҿ\Hwz\)V/54(!M MDSw :, {1gE 8 f$XWpg|M!qcihf;|%P!A"}dgj1,PAz q+rA9 H5LY{qW5Ѯ+\ dT.^*Xԩl m1}0Uedo<m NxEqm `= i°'mJˁ$B l+*?hJS;dZ<˲]RK{Kjk>H 7`=Jh;Dr{jUUgm~-FѬXkd[S޿=vqkn_#h*P#'d}#}ˬ(3VgL&]foca<(L)Ԩ]15Pk f"6V~Lm'%>o&6Nt{|Dian~!BhKr^DJ}}W4j ';?Luy71*8Ii])(&HqFu$g]#[j( *\0) (mOP{=.斬N(d[娈I-#19+-B}|m;3fg-{0VDZ%=S<8Hq3{Ie٣, :T UC@7v'ځ8N;Q@vG9GTr@'Y@lOҎC+ekӟD|Ljlm%t<).E/NYI9a}2~ {+#W/ٻ.^I6VPЉ$9!CKuK{oZ: Y8ψEhغꈫ]Yii^7#kg0lyJ쨧0)ߑ,nheLx+<{90a<&e71o`ƚ9lVCg2>Q/&>n dM#|8 [+ RVM鎺-PlȽW76iN<_\@=>KxPy{%\3Po)ܽMqRҟh[ 0};/9&H_SFIDzI @5%K6\2,@CS7`Г"݆qSbȑҔ΃kkhX`b;%#R'>IF `ii4[&g&*k:0HV{%tr Ix-X~gmhs ͫ; {ozd ;Lǜ|l>'\s?DԟU6幾'jE&mSwUc]#S%-\&|TeW_!+!aa]<WLY4AЎm&wR~#6]➯vXO䡽l5{-,^i z c[XT !._L(HHYh6\U԰8Iޡ1*gh8F_)䄒 %j\,4FjpITo^z¾|a1Ԝ}}/}kdSı_V=Eܬ e4å$pUeY4(dG~fv+A@xlq,c0|AXM6;ʷIĂ9⾉*kZRt}Hէ7rY6MWBij+w^$RAiwl8st a0>rrgW]@!kK|9k&n!U@'7 4345eo8 +cvY0oSPb5ǠcScMc48/_yAݪ2\zx%{%^Ī,<$[hᯥd ;YL~J}(S‡=e෡*}GZQÁowԪZT#@2n2Ƹ=T#`:JyFlVH1'>~鰈؂ǒ'Qˮ#"&e#?|}/DBx@7acD.ؙ5L qE i5}ONxOwOKWFt@31"Z{#=;m@B}_rǂ2jy̗ސL4eo*GR \hZ1>'|R1jBtJ4U,^:莠Sؖ&ㄳJzJJXBѤR)q)qBu 'O}x>ovu뷍JxMvL.[uA[mTG>F9|*FH0f6u H՛!S"Gvo_,UkXn˥ܜw5`(KV1PCPg.Ve)!iK,Á{n?rj0oqo!`S巼M(òhGFM b=NHCe*ʺ>`C|\T}ub<*CjB;%/gbϾ8-L>4"8'C6IXʻ9) a"$%wѭ9`C@YC,BO :uQﶱ KV*GgV0#Y[8<9> \P<4:/|,¥('HKwWx`}ϊvk:wTsh4WSQr|uk=zpIKjTOӫ 'O!m}A}6]2S222kJ"(fkpp5[59AŹdZe]uX}>v3O!4jhmrytö;\qXc!.A ŕ\O3#„,j7 a~jx+|hmPvA}V[ ܆6aT:D:\\~^>Zޱ1;5նBώjCRv{V1+GJy%܈>ANkjbB_p 8fe؞+vekmB+-Z4"dd,e/98kTY9cYڰ0~-h _}(K%"ItEOD UsyXB,25\)$2>mcYM$t1Y^XsxzǨbi'1m" Wo+VkDݏy. p3P9fwZC 4G-}([MA<]?pgTsqSHe^A Кu36.} P>õ|{h8;X 5jP8$u>TD ҡxHvx+?N5H<>MDu)zP["]#5[&H!R@ ̾7wmo=ݩvئmEF TmpM5qU+~~r%ㅎA,o;,|rF|C1"D=Z Dcs/xg6.]Vv^CA%&&J%KO /Ng*l YZ