bluez-5.48-lp152.12.6.1<>,X_}縋/=„) [-};P 6IJY"M( Ki,i*9̸S?0yW\B=S\X{Ek+F*By07n5K묲~gֈ!LJk<$C@@-DBp7].-법﫧_L`?Pd   4x| @  MM ^M M ,M &yM &M'M)}M*+ M,T,'-H'0'(181.91.:6.=>?@BFG(MH\MIMXYZH[X\lM]M^Pbcd0e5f8l:uLMvwMxMy z LCbluez5.48lp152.12.6.1Bluetooth Stack for LinuxBlueZ provides support for the core Bluetooth layers and protocols._}cloud114QopenSUSE Leap 15.2openSUSEGPL-2.0+http://bugs.opensuse.orgHardware/Mobilehttp://www.bluez.orglinuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in bluetooth.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in bluetooth.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-bluez-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-bluez-update-$service-new-in-upgrade" fi done for service in bluetooth.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi [ -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 it's own, as it is triggered by udev in the end (bnc#796671) /bin/systemctl enable bluetooth.service 2>&1 || : /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 || : ( 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 ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in bluetooth.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 ) || : fi fi#*!0 8 8@`D@9pnpx6D889JB_SFVUbF62 ;U%r E)E<XA큤A큤AA큤AA큤A큤A큤A_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}_}ZBSHjZBSX_}pZBTZBTZBTPؕSeWG)ZBTZBTPؕQV2EXPؕPؕTUUR6UPؕXWXK7X_}_}_}_}_}_}_}_}_}_}_}_}_}_}7985072a62e0999b52cb89e045311ebb999a45b79890d81d12d42f1c1d30aa1a46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4e8d183722a8d74c908ccfb90ac52426bc3104bdedb7e0010f243e9765377151e3ed2109ef7184c7cd3809de661ba2720cb5f249670adbe70913e851830dfa28cd448beae5bdf3d46c2939738ed79e6dcf7e0c310e8d6d9788f5b06b0449248ccf1730198a7ad71bb4cbcfb04a845364a677c99600a81312b38a13a8d0778f1f8fee768400712a4a5d462720665d8226621a2d322b4ff9ff8caa88a5b2d04901c221b534e92987ac3af5a2f14a4e04cb0c2462e0bf18ad53fcb845178b38cda6961feb43e141e0294bcccd883beb39a9bf2dc5053714f990e844432c8b6e0194ea6a25c010cd5ae30273fc6e00d49d9599453f71f115e8d4182e3815eb195d48823a9507569479611a06e7a0aba787bad58f5bd5ac5a393bfe3f6539a843e28f2c31dfc8f78a3ff382442ffc8ec08dfe73127db9236be05c6c6d618429a14d5bf277699d135a2512896bec27e113aa362029e14fd53969b9f7ea216476682e911d6e5dd2505e3cbc9bdb2c347f54e335c6a6c698db178a14514b0a6dbdec2ef9f5ab5a35f5c4cd55e2001d838392da092c3574a27a42777193063a57730c2393925e922ec14c4f7a0e617338d5bd55b315adfcdcb65cdc2e05632e28b1bc4814e8e7402637fc89a1e314ed06e7487020e613d820f7b46523c90bf13e7b02f260c87aa979fa916cb68389f5979458ef93ddbcabcdfb08070e021008028d5f88f81e5c543a02f166d33e5b3a9fbb3ff588249b6e511c442f1cbaf54d3968c84e9acb7ff8f1f81f76fb9ea0ff98989d506ec1114f8125fb6ce4068a652e31abfc009b39579113b108283404ff62bdf582620de17708d72c84e7f4a46e6b52ba0151c74f609592d3c3ca32b7c95578974be44c2758e5c6decdc124e01ef8033992cbc6dbdb278d0d397b9597238335700b764e8aafdebb064c51ff788c84a966cc179d8b56ca7942637b99c55fbb4f73e3712d40c4d2fa8b854f274163fb77746ef2b11439df52264ae6f0af6871893f1337e5c6336e869ef99d84e85aab73fc3c4983bb29f56a5d2fb0f8863a0e7bb5067015233bfe4ab515a955b2f38d5febabf398004c707a071bab12c20f03d0f63d3edea59bbc4d1697ebec44b12fa58f81fea7c51c895e3bbd5542d696d54ee02bc87f7ccb06c5121e92db324d4298bab156eb499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259c4a02d59fb3c823910e692302bbec85df3db1c9d6eb373f183fd3f5cd02286aa97de2d369b5240450d681fa42a0a2bea89d7151b0f0616566080157e910757b416e2a292701a1ef47d0803386291f691921adb673890cba9841684acb8a133e7156306674b2ff313b414c19d95ce16f1ccabd15e7e60300b005f9c71037c41e6ddcb86eaa3c846e1ac458a09af00491b111a7bdb44c11471e04649fdca044cddbb353163fe00b288954a4de2216d79b8cb561fb2a892c5d26601399a70bc763470a019d35ed5339b291a51ef9d2ded5a173da3d1a7a37459cd348e2d559217755e027f88f1374ddcbff05b188617e46193f6e39ba8d1899d3e2b21fdc3090f2d8bbb59a2d70843895c61f44feea6e3b78bd8348148b1e11eea3485c57018daf6b7b049fad3d6ee83a7a8aa793fb8cf2efc15497227203cdd87a96688a7fdb621ba8a1db8467cafa01f7b553328512c3f428c2eeb5767a397ac4b333aad2b56e6fca7e98b34145aaedf02549cd99d9ac68e2d0936fbb99201198bb6605aedbbc39760143a361ec5fed7b5fb48f858c8f9c79a76166f4788e4018f57ecfc84a7e067e7fd4aeb35f25c3be59358548fc214ea92a9b0b4c5938f6960f1b5cf80f37bc28996ee9e08bf33dba34534f4d5a8ee759199cf4c77de143d45673aea0a30c2c70bb39014dcb084a1b0326bf173c2eb0fcc3a528c046aff004b780a25b03d694d06af4a62e6d523de9a81d0e039b1c9a47450b59a8f06fdb946da6120e0f7be00ea95738af97339880935868cca343431f8d786ee7cae0f05ca89876ca2748f8da781ba67675b25f8bea841acf63d9e264d4b6da1db92cccf70b42e2b878ca3efc49fe675a4c61276d4c640a3edc89cc40a01c0de380653e7faffd3c22c58693cdf7f0d1c5401204d2255fcf31db171558dbf9fed1d117965321da7f0653252d47d6b46b60b2c9d428431f049e2399719131bf1eceda1fa7c8850f37e174590754d28e49d25bbcf535be254fc4bc31997a2c76a262ee8d3970713ef5cdc9ff38727ca1d8905f9a0d3e8bb58ec7818c1dfbec6d1f5840cbb2c7fc6e495d89aa40e91977e5a416984822962bfeac5b0176d6374b73ca85ad6ce84d85a60266cc51c3387b798aeb5246d3719a709b208b6b0b0f8a941adf2485de7c957b347f9c957afec4bd20c9dfca9ae66cd83c6ae24fae5d22da5e83c93fe88b102b17a901488ee3c183c2fdac4194ab631f5c725a8eeff49de6964f2de01d73565df89412d8a1157483f501a154d050fceded2e1b15ceeac40bf67786eeaafcc80b0d18eea51a02566c1e2ff37b90ada825c2d053b38948b5cd92cb0374c8de2f447af78a4ac4634a3da85e3d42fc20af978a05c47fa5ce08d8fb2c2c787d56fa85d3619af2b0dd79a35716cb2320320952d825c4d787423378b38d70cb0bff58f86e28fbe73b5d235e45126a12de5a0672cb394b952d7577c689f3ab6239ccb0e64eb5d6be2f8c923c16940150546741f1bb79bc08acd237c940000b890a8ee691177b5ff1cea6276c6f30a2d4994581a7ddb43ac1d1be11c4c53a7cce56ea2ad32232453f4ff14b648ce84918eee077e12fd111623411da3e937fd5f1cba385797877fbf1d64029cc1e866b627dc34b2d1684c95af1a8b78c611ce95d993f0515ce5e03c9959b6bfb5f22017ed69ffd98270abaca7b53cb9747bf87573f63bf0c53c1efa9f6995c16aa6bf2296a95aa1c055ab1ac21ee39c8a1893bc2049d03f422023a9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootbluez-5.48-lp152.12.6.1.src.rpmbluezbluez(x86-64)bluez-audiobluez-hcidumpbluez-utilsconfig(bluez)obexd-client @@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/shconfig(bluez)libasound.so.2()(64bit)libasound.so.2(ALSA_0.9)(64bit)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.3)(64bit)libc.so.6(GLIBC_2.3.2)(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.5)(64bit)libglib-2.0.so.0()(64bit)libicalvcal.so.3()(64bit)libjson-c.so.3()(64bit)libreadline.so.7()(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.2.5)(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)systemdsystemdsystemdsystemd5.48-lp152.12.6.13.0.4-14.6.0-14.0-15.2-14.14.1_t@^r @]@]\@\I\ `[H@[4ZK@Zp^@ZF.@Z/YcYjY_wYOY9<@Y(Y XZXXX@W W@WgWV@WI@W @@VV$@V3[V +UpUUc@U@UUU@UTи@T@T{T`Al Cho Al Cho Al Cho Al Cho Al Cho Al Cho Al Cho seife+obs@b1-systems.comacho@suse.comacho@suse.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- Add shared-att-Fix-possible-crash-on-disconnect.patch * Fix possible crash on disconnect.(bsc#1177895)(CVE-2020-27153)- 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)- Add tools-Fix-build-after-y2038-changes-in-glibc.patch * The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name to fix the build.(bsc#1156544)- Add hcidump-Fixed-malformed-segment-frame-length.patch * Ensure the L2CAP SDUs whose length field match the actual frame length.(bsc#1013712)(CVE-2016-9798) - Modify bluez.changes: Remove (bsc#1013712)(CVE-2016-9798) tag from patch hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch- Add hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch * amp_assoc_dump() didn't check the length of amp assoc struct. (bsc#1013712)(CVE-2016-9798)(bsc#1013708)(CVE-2016-9797) Add hcidump-Fix-memory-leak-with-malformed-packet.patch * Do not allow to read more than allocated data buffer size. (bsc#1015171)(CVE-2016-9917) - Refresh patches: patches/bluez-cups-libexec.patch patches/bluez-5.45-disable-broken-tests.diff - fix bluez.changes: add (bsc#1013893)(CVE-2016-9802) tag for last log.- Add:btmon: multiple memory management vulnerabilities fixed Multiple different memory management vulnerabilities were discovered in btmon while fuzzing it with American Fuzzy Lop. Purpose of this fuzzing effort was to find some bugs in btmon, analyse and fix them but also try to exploit them. Also goal was to prove that fuzzing is low effort way to find bugs that could end up being severe ones. Most common weakness appeared to be buffer over-read which was usually caused by missing boundary checks before accessing array. Integer underflows were also quite common. Most interesting bug was simple buffer overflow that was actually discovered already couple years ago by op7ic: https://www.spinics.net/lists/linux-bluetooth/msg68898.html but it was still not fixed. This particular vulnerability ended up being quite easily exploitable if certain mitigation technics were disabled.(bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802) 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- Add hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch to replace CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800) Add hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch to fix global buffer overflow (PATCH-FIX-UPSTREAM) (bsc#1013732)(CVE-2016-9801) - Fix %ifarch range.- add 0001-core-Fixes-order-InterfaceAdded.patch (boo#1101119) to fix headset connect after suspend/resume- Add lost patches for RPi3 bluetooth support (bsc#995059)(bsc#1094902) 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch- 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 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-clientcloud114 1604615655  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM5.48-lp152.12.6.15.48-lp152.12.6.13.365.483.365.48-lp152.12.6.15.48  3.365.03.365.0 bluetooth.confmodprobe.d50-bluetooth.confbccmdbluemoonbluetoothctlbtattachbtmonciptoolgatttoolhciattachhciconfighcidumphcitoolhex2hcdl2pingmeshctlmpris-proxyrfcommsdptoolbluetoothbluetoothdobexdbluetooth.serviceudevhid2hcirules.d97-hid2hci.rulesbluetoothpluginssixaxis.soorg.bluez.obex.serviceorg.bluez.servicebluezAUTHORSCOPYINGChangeLogREADMEdbus-apisadapter-api.txtadvertising-api.txtagent-api.txtassigned-numbers.txtbtmon.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.txtbccmd.1.gzbtattach.1.gzciptool.1.gzhciattach.1.gzhciconfig.1.gzhcidump.1.gzhcitool.1.gzhid2hci.1.gzl2ping.1.gzrctest.1.gzrfcomm.1.gzsdptool.1.gzbluetoothd.8.gzbluetooth/etc/dbus-1/system.d//etc//etc/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/services//usr/share/dbus-1/system-services//usr/share/doc/packages//usr/share/doc/packages/bluez//usr/share/doc/packages/bluez/dbus-apis//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.opensuse.org/openSUSE:Maintenance:14908/openSUSE_Leap_15.2_Update/9ffb36f947efe7cf0113cfe38e699bed-bluez.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux exported SGML document, ASCII textdirectoryASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fa2c9a51d4a5f8eec5704608f4f1a566c4c7c095, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=135a89d9c5875bebfeb77a1f07cf83d50550ac03, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=9cb71cba667a8f01269bd90700e9f653b96dbed2, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fff98c35cf3b54cd1c6f4ccf39735a1220d1c355, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=686895adc2e379b86f260c736aa423a40e6002b0, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a35b7d9f8b4081320d6ffe531c048f84db5a4d7c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=601548093fb4c3a109e077b7478dd896e2f6c835, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=5e24d58421d6522261122fbc81dd89e99f1e8c8a, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=128d217f6e3b087b62ced7f6540b025e5639b951, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b818bf0a4f5e41377389d02b1136891c5b65004e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=5859adde089bb66d2a190d65c404683eb6619268, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6d16abfc6092abf417845af4d350755bb9265cc6, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ed5ad472222d614dfe47eb77e60a26996f7e7df3, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=dc8893030b3b16689543f476bf13c0b26b9d189e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c807c482fe47778ee724339b7aa88651a4c20367, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=63ac88256b098abc2cad16a508d04ff93d3d4ce5, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7c56326d5c288fd34ed58b3583388109f61db229, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=cd9c2f1b53c04d6dabb13440866972c0d82b55db, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=31d58182ff99821067377e015b8a2aba12860816, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=31145c4905ab3268b083041f474edc6561f8c53d, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=076db2581dc8c31337b1e48da753d81add0cc066, strippedUTF-8 Unicode textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)#07BIOU^ciu|    R RRR R RR RRR RRR R RRR R RR RRRRRRR RRR RRR R RRRR RRRR RRR R RRR RR RR R RR RRRR RR R RRRRRRR R R RR RRR R RR RRR R RRRR RRR R RRR RRR RR RRR R RRRR R RR RRRRRRRR R RRRRR RRR R RR RR RR R RRRRRR RRR RR RRR RRRRRRRRRR RRRR R R RRRRRRRR R RRRRR RRoyDBIoy~ sbcutf-893d51de020d0ce1e40f9939561fba6566ec7d4a119a2527b3d50350f19ecb950?@7zXZ !t/]"k%jU7}R]RW.Xuc"\O@ U54hXk瓗j[?/*a_zuvV3Lq[SG*VU0LP${ !zBz̅U_IvT*B녺7f/ ÎRKs:|IfL&fW!Bw1A Dc2~$n 0P'„k0L4(Qw]fنljvJwnw0SMi:nQr2L;g=O`I7tIs'O]D7Y^ʽrl\)WBd}NfUCx]o\g!?/Ϯ}eʎ (tI/ȐkFIzJe]޹4uo!2HGU&>;a$.QgF\#s?mUF έĦnxb,sMj5/%8Qw^{nH,%5g&MAW[aqÄuP^#ZD}eTw@&Y6yQw?`\je8P'Au|EAzʯ3L:+QRNcݙ6(r?'t!7mx!|} J]li7~k,IZzxK&yQDqlG-*9HkT@4U _ GqJMAx S‰J+~M>Z ҧ *Mz[vNT}Xޒ}"Zqth;I1={ۮ$ ǭB0™2ƛq!OM@"L3V:5 #A(nOMV1.1 F9q+eiL_b[]U &RW' ?!EtM v% #\2&n"uzܞ͆I a+ 7\/5 ♭pWZn.)%¹}!;n-Jn' C7lO }oۭ~WO9|-xKbs]Q(pyG,ϠvFZlv.}N΂ݝ~M ⟜FDnmK "ިwYDG!:HAZ_F1OhziVKXiWq*zPL_f"Sħ EϔQvmhGZÇ9(0AN$ms{FF+.B8qÆ^R^O)LO~rmNiq&=xpJ :N@j*ٙA> -(5{t2kiҨqKI[H-OLl L(ZQ?=.=d g^͉(- UREC u{n[5ؾއ X6NybU"x[~G"Nq]`7cU|s + MrW•9vF0c)'y%qb#KZ.Bdsmρi{{Y Xש4EW/֓<ZK{A{,o]kx;$̟J=fSѓCBhnoU(7MWyue3pX\8 쐑]pUUE?w+8 VR 8SܵRLFlc`*qo6^1$ՎcoY%`ѯfWX4cv+8SLl7/Vo+NP$RBÁ*Mɳ|佼kNEhf +^!A>0+%|X:& YBS Л#vGMkMq\,sqaz ɓ:s aNDz۩beˢNknߌq WTdsD%Z j5Fr"%0$ cbk0JhjZ6R"YPI8idZ)?z+A 돍8_Nh$0xej+^S$Ŧ= DVdc' t6:OZ Q <aP6V./PqCsJH=%є}}BNy oaPڭ 3S/m3+@Nx 5y!TVr'w*i"å8f6_nK6knwnwlߞcTKxv 9ON_"ZDKI,##zΚ8]J+4 ϴ%?ʉa⛔B,EPH1 ]UbDZHICکjkGYj譴%L`bEyX7q:HnƟ_J(o:rAsb7'oid7? V|,<ͧ0`?.x)gEOW=zaӞ^^^+XPťSW"%fR<7Þ>j&y~֯USgX..[o/c}gў4k_/8pB- rh83\P }šqW:0*D혐tڔ[e0jGvʤNEw(oA)VKB4K _Ӈ:_E, Gd.6fvv$[>vBQr1H7 82 2o $oސ& kǾd0Ó$Gl/ d_ |(P]D`ʚ~Js; p.4ֶ'<41کK.^b6+Pj_֩Ӹn"}iaW{[`GXUꑤm6vŊk̼{BVX9_h`EYҒpK#pb5iz}76*Fֆazl{SVIq ji\!v%rz*wZ3V& V>3i}K%o6G#tיIL%ݲkB܆9@wBDJn/9Rh Ih)N>f qgx/μ{{LUކZ8Q/98l){dkQШwzg|IXP 'y t3F!`j!m~@Vw;r/+dg)35tNq›( m鄦2Wݹ]5xmL&6׬o733EךGu; V#‚O!i|xv 0g&7}6Ƃ5 q&p*Xj>`0tz_Gtnd +[)~RPp5b{^Gj-)S6T;7Vr;8XRLU@0&j~6:("]ψ\ fM=LҀwY,D1]rfzw*%WV-vA 8b//M`Zk/Pl7);r5Umj;pW8})SjAb+>b;5U>Kt59<̡ݡh' K/`%ﭫE+ٺ\@bD 2tywPC2& `!f~AHwGۈPu1+˙I0#Jdo$bsRwաB tI^ԵЬr)(e&GL?AC QU ]z~w@\gwo&grq7. ,A91-}LyjЩJ1 =B<DI#?ySSLs̑p$$^[f0ވ{W~5:Ldn%rOnXBrc$]; Uz>$Z. k9{U)pĈ0!}'B2Pǟw,(}}^))քOv:I7z2G>D͇>O*hoȝwgMVܔG3Fr!S61i?] G w~C>z -cU-(=?E¥l<5R8倖غhl=TYM|ŭ O?d{^S- Õ8'x-GJ9pS97Y wa{8K$IװomLZB2#;GNr, !ŵvFJ0_G ܩZ0#lHh4+k8 U?d,;.f99}Y ՕeJ-MPǙ̈ŀї <?LxK./kH( 0gHf]RdL—6ucSW/68i|1lV>@fJz,/t ]$0t¸2عR }Uf r]9Ԏ(D̐]Ga$G9O/aĺE-˜QU(41VYW)1)5Silԯj@tpIiM*r ۸9]$ rcG% ZF J:G?斱f+'̺PVp"2h%1dצWǬTǭN{ǗvȩDPr E@8kYmfM՟pl'@.}_ i-cz-?Hs>cɼ1!{=LhciJ?̟P^A*¸C^5 |ljL.wf4H4zPդ.eN)jc!E;K%Nά'P 0jv* rKnvD\b?::6 %ߙ:O:Ca9TZ.зU+ܨF8pq}+[zay^5V0OTQfB6#_ {@ClqZ ASn3dd> ?/ !]n_ϧS2 v7f9>)r$ii# i 6ccHVda wk4ZA:y/bA_r jUq: acUO 4d6-SG׉BW%v磩y/sĐDo]>I(0܀%9$9n MZ&ATs+kͷ[s$:gdzp9e@b{w b? 4LH-d W:خ2ܲ*FðoÀ+wxdbqmλ.k?Љh=d> r"_uf;'!:L~*@Ļd BX]&t95h4a;S0'v|@ۻ zBVZPaBl뉐 (WQt (qktH~AR#Ro: PP˛5G*sCjp%L寧EV1<,A̻6`(ۂm[<NecՌA_NHA Ë#Pc!CRof%}+lW Ɂ 5G4IV1wDo_F$hQ+r.T7P}1ʸ |ƻ3Alk&! <څcjMUY aB5Iԗ ''ocNbTT |H8*G{u&v-x#G[eȜ3!ć+; J^(1ulʧm#Sq4Nsl/U]p[Y9c,cen%jDO4QJŒ(@_=g#kv@sP8e"4LW4L&mAR-Ñ/?h{Nũ2VY%IBB<)ӄ Մ.`#_Uwu{]q~4>b&nNȕM(Ţ4n"ktO\k*/YZXŴXJĀ?SyikilNھ;nfĞnP: W[(+\ۉOq`ŵҦy=DgĴXQ)8*3ݻXdvcCcnSV3PzЩw"H fgy0y5_/kv'ػ_scS`ot {V#:J y}!C0Ԭ\^%3aspțuO"8]Ә8괎.:/֜w<~N/ۀ-9}*\=ZU,co!ؽC-jx*L|>a6I_Q/{{\BG>T~[׿R-CmswDlOt9X#gjwBSzRNC~}|{J+2p cJ ӘP.DsS{cOE ばRAp@S@ZmF^?ة8-8/vCVz)4ʠsD]=" *O g@!.eW¾?i +%/xNegCsG8M=Y ) Gb Ӕ$"%}y+c}vf@hWGO MiAʲ (fmųĠR*7a,\VGs7 Ov?hٝw-惦h݅LY7GR AvS*f?+߻7!yhJV3߽wGj+/vi{RV%$m>Xap'\'#ʼc)jL=A.a2 8>j6ŇlA{͹l7}`U}sFHO8/H? ĥcK=s*x,1&6!Õs2D*(h 1. v\a5e|- w7 qtw+{۱'* g?1ϯźTu},4}aKףB:b-I([UJ!G'CpEZ5ZUBLޣ" !xz=uZ9/1a2'I"Oȅ% >~iJ"_nR*@Nܷ癩<:B[#Ag^[{^sF3M<Yi=<8#~8;)LIUR[> ?ETRH-qMSpe%E׏ȅxР1;Q#Ď6NC`0\ x X4gD^ǔI%"ʕhVU+;: .=r3=]Yo]] =]tZvS D-/^U}-Sb˝k%"8*75Љщ Z#߷1];O(T"ip y󋁼5FثS{DLT]T"-Sv9uZɻn4:ȳ_ Y3ώg5x4(Ѐ=s\W f^g]y  =اrLt&-?1aM _q !) qpS* Ntl~Z\O?)pkRcm!biT~\pY2r |gT{0Y PUȼ~K S窙ē%]a,𑃉4tv<C!v'x!JCgpyI|.|fp>9gS%*@Z]F Nls;@zG=Ầ֪: UmʶG};i*qsR 0dnSg.3]+]4%\>+iG)d7>՗XHH8a]Kd6E:}D<*9|C{~BJ|3u{Sw_GTádx {{B\= ;a9IbAH4("2xM)gd<Ыa~6 رVYa?6X3 s{q#kd@;h`9xL?űa !.uY's0+*ȝVѿ)`<>L4vKpEv_{'.!LزubWϫ\6OQ i$Bw:x3'E,LSm'|d=HJT= V2x"qoK !"Oٞv7 {23p1j  zT:-$v[<:&$lSO{Xp"1OC/P[RXKQ$ktIQlꝬr Z ep1WeC?k 1W+M^41[?P%:[6d 홲1Ͼm/7h` >x"G1QH 3F+o`~6!CED¡n[k mqEƭBb{k㙁{hN($Y ~_8| I./gBXgsCT%rMĺ鑨%}5f$(cDs8{ʏ ^wseP?VZsNj)]mksJmQM"2l]<uCJ@b>Q 8B|IL vW 丨f\3>h'aUIĬĸ;4Xqj\&1HX9zY\fqU6WJfHĒq[_zrզSgPU%]̀.wÑRVz) /HpvKޯ͠bc6mIxM{d4KE[ol<ݬbj:T7wbf2Y4 3qټxNuyCYCOOFIT;Φ -O^mE!QN#>ƜIИ?$zq_esfe{.!+k\F`sN}PY$kd&7@q@uY˞z+"G+FT>R4WA g$+E)1 LI#ĭA ,ZeGsB~ ^͋'9pt'Ćlh RX"ߐ+Uɚ ~c01'NUٯXPoj8zZͶ^L7Z,AcZ+ 5р[WF*4OZu5yƜL`bVo3-UI _|N{@zY}Ӽ]P@)K@KuUǠ% (̘>^ˈKdzS눲Ur'dN6ivRLa0g]wIPzT4~yEƑ%ܚ1><,KL}=TJ@z0 tdayAR S4ُEⲧüQq*ؑ0B"7fQDE:wYU](?u٧g"ڢ6m"uHbb.>%W,#Aqū" T+=L/͋fxX G@%U"91uy`Qa (Bޛ7Gͳ$ FZ n}@Pgǀt0E)L *8]n}KyR ,奰V[L„ŽfeEYԐ{#:d&/4پ!rf7xGKIO$j&T$DNo2_q`i(eҴ]ƽ& 75hd;p]$úe3Zfo`H M6~p@a|ů:HNUqzieû *e@D(. RS_S(ڇx^L(̰E QqIA½%(>ZrhlRhq*wd c 0<5(Aت5W_i;WB4ȒG,sjKuDEMGH I4oSZ_7**yro"kx*sV񏚙; ~MȾa3/t$K_ `n>rٻ@6co\sN;2/#2L`_fi{OK[B$zıߚaZxLĸM9y[P>Z=`NWHAfɆՏ(6ߨ#>HoG$3Ft3zhjb׏?S 2s暛 y/ Roby'# 9GiBrV~CR!`ӬAMF?v4'WLyEy Bjtֹ++bQR@[RѺ0Y'ϵQ#+"'pӨԱۑN&@M-^}8]R(f<=m35xu>JQK ˸оhqt aU7NP$A#ܷ@ƙ4y h8 xYQ;W>1W/2ŖZ,/ɠNfO3}2iF8D52&hp~Yg/0h1H,hqZiQ0Fc h+< ":Zʲ=#MhhƱۏ k &-46Ti_np䟎 +dah*} {/fEX̘B̊{!_#ɋtV$um% mNM DT P̐ 0 UVlnoidw氟9S(?}c97=Ad )oب)*JVElg1L *l]TCB۷ڔƂq@'@x3>! ;er!rj;eOX/H .=4 .&tuPLj~!Ї˫k=s l~~Cl0D/ٮ[?ǜJ쨔e@#dSw|[GFЅr_NژˊIz ̋=!f ,!pm^,4x;ƽ ]磿50g`:ݢI-s vcȊ`r0+ͣ1S'߶޵k|YQTKAja Sj7@'Ö_dž Cp̍MFg #K8cr Df `ևTҍ#jɷfZfa˕?ԥaY0V8} kbQ !=ͽ $4=.GW>{C2wJ֎sX/b=x>&SZ˺h/@Hy;͆kuumXRX꒝%j(  qlBAG?_%&uJV˽'d"M<f9C:<~ v(/+]'c@?Z#O-⩜lZxpؘP/2҅U& pܬIWg<>LΤCOiVɾS#B{de+zr#o,u:̃;l߆b/0@ QxOvD}*L]6I U"@U83MуJjѡXJ貨>o:*e+Im O:_6NL&$N^ocF_ Kk(V-N(^t mkb*}s֗DΉ>oj@e5-xwVxO4vKL`B{mCwKW$ rSxxR6qWZղktܯ/>3T^pؽwIi Bte#VrPa5w" \=x!=| BĪlji`LڻA,qCq{1a$+E@rCyt$CjdGԗ-d 6qWhV5Pr.Zdv OFj:-+ՒYl'ޓR}dxʧ;R|ic,!F 娽i_u+W^X 6-NE ?r-eΨqCC}c?nZY~̗-4T]'J|QDsO&`6Ki`>DȏѤq>V(_1~[Q.wW,*`j%l  'phWDLl&H(8J:7ݿF~_%?eT {|J d1L;نT&5&ę ^Z=IsB-^2 ܺBCrr<8T]ǺqR~gqJS!"/i}yƩ׆d.V=73Hq]Sl\pRTC,C !Ibobi6I86{μo!8 ,0նH.#_AA#ڋCVMlKK >B/eߘ-wl?sq9&/)dݻҒP4{71\X9`! k1G@;PfJs9wtmɈg »K\Frl!Z]ʂ'pk OX-.J 6v9Db %7v OFX5:[Fyo`ˍ߶ܹn@ͦI͋C $E'rzUD'Hvy/i| )7,v&ٍGZo҇ßE'Ro3ȅ[6g?oU5N M!]Ik,Y {&4Gnf^]kJRЄ+:s*%hiV,e,lĂt+-4:pNki5*.ˬxTQĦ̕-^Sj|a"Y[׏/uqI.ֈrQQUsJXᤜ{FYإvz0C-4 Mpo5!5_ڹ*W>7\r"Ɛ5@w*{2b ]Vé_CRbd|% tIèK"Sc6k?ֲ3ѝ(#ڂ;|~5ۛk|RPkcU- 7EɊ `v yh2'錴ކ>TJ1~+3}!ٴSn< %˽#K Qe@Vv: m=*J5U:8}iy6EI]0ˎc06=y(S#bi2ͺA㔸HPx3˖3u) L[@pE0q%m-@P A <^ـ_qW 4jTCm:;0\1AzS蜇"=<_o4JB’Пڤw cݷKCMTj-]ALqAQCCu({-q(6VPEۗ 6T3Tݿimd#Ĥ9x&/`+Isjd}2"iW8P;Lv{g&ws$5>Sqj^29݈YgㅯiAopgϡ!PML'e޵vok2RubE84{R3#ǰZ#kBSvOmZL)d]:<`)9iG0c'p8bymjS(NYEgCR84UQ )kewx_@g}9\tDy_} -+X[R Uk۠h8WJGIgA)WtiOE%VdOiS!Lg}42H XnrCe_g=ӟXuNY Kd~?؟؝ZHGRI[8_9Yu~7:Q!q3)*.P^m[!kGcwW֋[:^MV[$. "C <~nB7d ȁN):2# ,Nrmܧ7qU(u_Pud' E?Û:o!ҘM+2>fNhBz@5;vn{H|EU!G57 W"un/E]$NJbǴS4[uah)mv$}/@eEh{VZvƸR=Q W^4ȗӧw2, ifki|נi~tڄ֋2P,֖lڧ _l|, _jE.F%i1]w}Ln=tO_KM%:\zBVĦzz~UI -z=ROfɐ>B9IڢMB* qїI <]?& Ґ[YfX|.+ϫB}JՠL iД~sڑV|\y2Q?R);?ReSWK WǗC,.xW|.C,WقGzxg|ٲvCZSbblzL+u#l<\o ~&z'!2nr& NY3F>1uAY{k99O(=Ȓ!%dUy/pneO oo x#P5N͒8v_ۜYT;HdD09U`N2}|9}4 Q H$?6&~&uֽ˲D޻ c,ZўlH9+⥺C=NanLfx'a!@6yuHS5tS)c(>x5y b: r_1> }rhxT)j \, O olFTRh 4\3bbI:n \QPOB'RU2b,z\~*mYy{;/Lۯdka; ٷ@bWB*Y(=2X'`% >ZL k[j"={k?)y 8!.BqeNWN ۑ]pt:e'B 9X]j6,H$ ONSFBɐQ`W]!7ܐH\XyHk@vA**M8mQ2y5=RUʹ%'#}V BOX_Yi: c"Q- !*QʄbbL.S$]V0(ȃ ^c 7I2u OG70K~'tM̗ֆ@o#AY Rvv2mGl;%`ЛDSbS$cdoъHVJp6SU9T"TK '8eŶGzt[[ &tꂻ;fv7価@ݴͺSy\8 ^U {1 A&)0 I?Kc|Me³G#)/a%m1乞>;@GdEᴃw.*b 6WM֩pnv(ɜ?xfRl&k_%<\9iy{h r`v?AaIo)UܶGLl)G6#š89S-+-6!I \ɷN_D"gG&[7;-#`}2OW֎;S.3[`y=tˍb*r?jC:"GF"ӝIӃ2yP? (@;Bp8/;..Gbo 4@D0ar$5wrk (g0{ 5o:("<[Uuv]Б(,}"^>X:A6ڜ6s wsCq#T?c["ԓݥE(XPٚ'Ikv FvCGXه5_@A*5ȷms)v1;'#/t`U5t5 jˍO`;x7R5|Y?]կ)͊j~m-|eX'Q~K2zH& { DqBe-13Bj E[Ñ0Vp^}ĤOFRfqDxz` ͪ6r\B.`3d( G+] O@{l>,' :W1Y5Fŧ^QK XvE0%rÇN"gL 9 Bե2 xC&Զ3 >&T 4jR4RW̊l׷'/ 4ڮ[$:Riȳٔkyb%X lƌ+K,5 %5Sj8#3ZBQd~gKS>OoBgR2Iq@ǖ42˒@/+>$}jda*W9%`WR*&W\h?HJ)O/!;}b?v _g:^T3dEfiggӪnIv- 8$"_,zwNVSk;f :u?y57G)p@ jTsduOҘs;Ʃ5kOW*͐CJִkE~P24(sگD>Sgy6' ӧ#+ e*"4տh-"߽w~CF#=h{i|0^zM+sSs t0ap\8x#Y?ҥ-dӤcN-G1RNKW[ΜgV VȊC\ۏ.n2y^p:u}:KX؀oW;5b \meEOhB[L6O"HOys}!(1]TU9ljUTHȳz'.d -j(U:ʴFVc сYGyTfO [G1dLzpI5&B\*8ϴ6LL[ WiXw1Nlxһ;BVc;u9R'+ ]5C()b~ 50ʠ3Emo*/s8eo.[]n, zK g;ᯡ<#4-a]Ym&lsYk@o钘>O ǎz߈b4@ho;z o`|kjM)wpg8ÞI4V0tU󶁉^kcO],: mm2{"%->kowzM-[-|+Jx)?G{VX(u7QU9g RNKQ(QxNJtǚDTY2vJQMX٩օe0~<Meݣ ;odxR)6Pj3 ~1 b}8|SY*$nM"j+?< +֜2rW|T4;]mڼ i[J3ƓBE 7a9{}LҪ֏{}~n)BVjNrTkV}[k . 5OUxפ-[6l[mU Y?;=N\wzbڒҖg]*QWܗi/`&8  vOo*+l'%$H WfBP'&9 kW{&^ˠKB'q =9ye^G#% DKDUFٻ[QV7|A‚tC+|./[%G؝?.@?9]u+#-g"x55s_ ?LTvjV2..6؈mKzr~_BRiTJ0V<1wJF>W\ ]˄3&$Gp*aPƶ"p,-wxn$A舸 DPʓd3dF7\5%=woCׇ?@?7&oZ w-ۤ),6KxFt=~fY yG'WJGKKXH_XSHB /gܕ3ث$J'[XMZ=">eTui5|D)uoZx~+bi&[N[߂OʬK1oi)tvf2+"#s wsxh =/eB#.)Zx*dwF7~eIYs5dxLv9>3TvU҇;6*5<WlK#=t܉SARG p[ Ins%Z^VzhT7T{/)Dc= 8 ;ebu3Q=w6yQx-Klz݅%[\':m/,ZKdbi .&=^(ָT47lXRՍc*D,# .e3҅v%ϲE7 ႮD $#+\SZ*ս܀*bH["gG,Y(+U\ː " m\ţJ;]M3V/"!|ܽ!];n*jGSHrӍsK".OfT+z{U +Wᨠ#bL@(hhX 9rD&K/jX\;j)>]ˇ8}~`RigMO]Å>%* k!6 :=khxKlEIX)x{bvxj2IOT C5n5fC[I~I#5tY5_|b7XCg-ֱ9Jo/+=Y()7M䘾}b:Ls(H5g %dע0ZV k%afO%ЌGK'Š{XuV &w_>Ը9;J ѐ5;hU0ěu;[\ox-9ea(`1))mo4܈6tQMg%e.L[w?LCƄ즙.H96jDYɔ+9\vъO7'fkVk}sQxGWr4 u,S{E<P+ ?eK05ZZnsYyO[4-э:r\1V"_>ˁ|)_.J}Q"Q z9֪,{F@x+6y5[ 0'߼db吏C۾-SrGBδϰj}⸲#6GZ|ʨ-'_Iphi_Ƴl1E"9_AInP79͵l-h/j):f.ἹOHZFB^؝T.R쐍ZiyI @E-nv+Im2n{]Xz0Iiл]QyU'H $cQ*?0Ru,! K{1ZaQ-3Ӊ-JGk7(YE6M~;<eQSFA{t؊CiJ.RƱSQ% бZbpwh:$eX-x2_Reth:̊·>ͼj&~jAwa)zً⽥S+46^mMN ſX=t(3GFa3d,W)=l==eG뒥;By *;Ϻ}aͷt0[B OP".yz#9x8O)vO*St7d<۵iێ Ģ4Iv0]F#4)yk :7IdxQQp'2{*U碮"(1 [1o^'+,>sy]7Ob CA\O#fuf.0,%>!8$dl$LXcietJhSJ`zҨGUsbenuaEi# |pZ~E=/<wvD? /J NRO ?%>抂.Z1uK7 6 jaH +ܝHBv$w@=l~}BKBS/8_ :Eojc*k>K]X*گ/bqx۝Kd{}yݟQ" A ?_㜧9m{M_,OPJ ;fS-^$Z7Q辡I 2M-p7FwTcKzf.佽œTKQ"TqK{C=FH5pfZ Bebށ_2[.s3]^y% ,"ćw?1 Cziu@4*_@ ^:gN8mufκok+d\.y1MerAr?YӍaRt Z q8錐Ar|UyHC06kr:֭\ <'#+I#ŰD u6% =0mZiA }H* ]̵;)r\p8K+UͤܠԭfnAwV:oD.9Ce8fC) T8kecl3vlx=7K'RKq JL;|9LۡKR`={IKYp0AΔ$o'U{SeڦdUb;hSe rtG ['k>}ھfƊ ZzNl5; IRjUPL V綱>TRvxZ51 /++u)DFY"/ptz~ݶ eK8TA*X>qU-xdQ{"s_j$D;vn\񽽛P-j%]qf+t+ˮcH8cKoa9 @P^R~yb60oҸkc`;?w1)׼~_-y1a~АǻXE>iO4mB\SKȿ89LYY{MtBN]}۫)K/1>~uZ)*+H)$Lv%FM(<26q/0XPL0/,imSF<:> A~ήa%GsL)ȋp2^7 RdȈ/W*З V X@kZ +` KL_xU72Vl;'=s5jQEEȭxvd޳s}4juȷP d@#BTتRB?+w xJ&U0{vUvAsD*`ׅSWJ IPZHɞ 0(E.<]$ܦmVo*"Z?:vMJh̚i9|}͑bûQz !T S[oqEFQ~&?]4-J-^[De86(zaDyfYQ΋3f/k_ʄzƢP:5s=0oinuT(_C79a@N06Tԭ.~:YPW"2[iArYl9p) R3"U-+76^q}j5]| Ȱ2`&ۑ[~SaG'idρ*J7 զYC6H(·)+^[e & bѴI#SXADzt4u;HC*lsm>hvd*Pu\Fz;EqĽHxPO>?/[(& åb!8R`nKI 9Gs܁pRJEb$]s]řܖv?˥3GZaHe߮t8޿ R9M[ɳxcV^uAsc>Y1#jyo/SrYmz{@ug*E EZz ]͍bhlUK8ʶj0G*"[9B-Eo2Jƨn*{/%=JMH{a[C$I *_cGix!Y]L3ϾB2 X.BW^Tp)? XEտ (eץ"#u2v>\(T Opb#T>S f  %e3$ϕ{Y]_"-ΆfVF͂Sf] ~"#+&[K_lƽgJ%i{42T@=EHAw]/vKOFt #c~jy2Gn52Re//fuK/Hx-&|z(x6fZFR{H0Dw*w7OEۻg )8sm;h5:.EZR"d lU=*ݿ%gWe>ܾxWn"u7Qx)OM.,xGF?}b+:IEF LȂ% (4!]L w朊:G4 UC.>::G˼{}JX;WGH"23h 6&߉i6>b8/8x:wppABvȦQ!qh 8,)i; "Y\󧪳[NdH׊Du"y,@~='{i;eu9(/}r.aU}$N4tEF=j['T)̛s T68W_5;JfXB4{sMzQ3/lT-~{fg4F]rZ&_v]ž+U9#m2f&Kj S ! `ypYdEzK^8ep@nw)pll^ӳ4l])y6 #OnRRQ_geU wV= #Nuq/>.J1DyJ޺@z\'=$$ ϥ1j} !km))(JNN8)}E;m(TI<_iґHTx jQI7Ӏ!JP/2@:a,nZ66l,Ur]QMI ZZ>$%:_3=dn0nlսclcP 3}OLMA<0lf5Q#0CoLᛉg:aIcE h\sBzzŠ.E 0fjaSg #Fed^Gx!NK,լV6S$l=0>RokCDt(˹II <7$iIceר[7}YA[b&^ZD FX1[Xb -6t*<+O-kh?]1es[Áb̤g⢻׫]A޲_']E\W%PRZ)s>p(J6΢!|+D dyaF-lۨLΧp2 +ED+>7\C*?vQWU wj>-;AoFz#?yM5x ڎ"T V٤d jL{OHݽO - 1 #kR2B.vW˙T.x'XcrOfV\G.ndXPKDF2Ű(%RGx>{E$Zw7jC|` -TrOX~tX10;[U &_a wMv(=1xm&g DPz`4sTU*Ng9]s#T~ST o-בdgdMsS8t(, C0Μ2UG 7yhP[+{wA%|x(= +*cr>D@];oeIa1CИ}7Egn6u|Q|"|S؟WK-#" N1eQ%"vݽ1Bʤ )S{j҄]gMpsM9FD"ʇ9ա1A?{tr-7 +eh`ԕB.怷%(&5xƬUA"yR`-av1l&EE`=+9;p͜'vUF׹\vAZQ Z]B.EȔK<[v e"g$3qhO%QaH0g  4ٻfN{ 80ߛ _^!ĥYq'gHw`JP< [PhnU/63ceۏZ5.,n.jY ?,q!?cx )H=c_gAr%frڝk]q(9)gC٦Y>aa |ۦlel yJ3K7dO =@ÂIZA7qǤa%k`N4o$`dd Q㯺D9Sɱq1?Md}ma+μE+nXDJ-Dn QGI8hhUt&[ɀopj?N#s%-) @B7.Cav|OW[r(OC1)(PM*a"EI6g<9.b 2P "CX,QG{bX ,[W Wm0XTM"9H%&~a)2I2kbta7׬`b$^q Z+,2a"|i sO?D܊~6/{ ]~sm%T [(lG!rw>G1 ;8u>!`Q#Ek36M8m1 ; Sӱ .n(I8a 7۠)>?'B奕?t_a"ϻsjuxhƫ.M;rUڳs ^}~2 yt)f Mkv"tO>?j鹵@Qc{5rx'PoJ"o09SԸ'_5|f0S:)4;F+wD"IK#]v_ >A^?ҫ&fy9B6 <}`:=>VҦ'5~)WѭPK'Wv뚰`)O|np6./'tVؒ$&n^#ꤨ?c)|bɾWLyc<=-<%=GI\ ؎9mvt[AtŸĮԸ3J(\_1L-r Ԏ贳~~}:CFvx "QkzSɇfsC`?SpzhR*m"hx +BO9]U2Uw+g#20+ȰyR@0*M ?v+zUE9-KsP !k$^XjGbeT58"f4YD ]B-@JO3ANeP&F D}̋A6*J 9FLvt ,L۽@terQ-ıXxc"V,D%;՝`rh  -0xc碠 sjr0@aWR;W7zVIV~:/ZFW);"qq1o­oLWr[R]u$SݽMEQ+b˭MS`sS-Gbqırdh3XĿfX]bǠfe{GҐfՍKfU7KYp" TLͼ5Kr2Oo9jv٭xV5D_LˎQ%wt/sL\ ]11R"WS r31aX+" utf_# o$h!T9DJ@KWiRgc'g TGD byœ8=\fbǮ, 2wo fp~uȩ/VU| M)/&C!^ctg jJc,'u ȶg+X {~AъZݭMFWٚ9[j!3\pm]Ҽq#,oKks]|K?}Ix'CM~2=])rdF헮2갽}»NˋP'/쮷+7{}o9Hd0q$7gͅI[LHݭ"{);$`n7Sr&ʩL,aXfWdq40 FSUA<4RۇX`xVC1@O~EH:"fFznG/J0^[>Q8pj[Ej~i0Vx>?^Okj,lE^9U=$}Fgl9`P7 ,Fo5twPn zd]-u8&^ӕ4FXlb9niR]_.XL3v2T1l#fz$6+m4g"^>:#4!5E+ $4=gN#TcDYjnܓdrr.{sY\ 7XAFYeSl,`5k_=<0z%\ Cdf "3p;:G2 ?,Rd#R\HF6搜i9f?5~ā@špw~s"P jL!*G:h: %31o\{`[K 'kDqqyfJ;+g9L~>`e՟4ȻUD@2=!1i]QJAXqIQOe;TZfG|h"G!,'(+k MhV`!0SȍUV8CG>de 0m0'xN8V7gSi;loB X1,`T ?*'r`ƿy)juq3(Ǟ) g_jAE⁴"ţyqϔN /+c`mB("Ud#2{J),#>KYVW%ar_̻(6E,jͥ@UcmXŌ GH{ cށt2 knYO:j]6O3R(M 0/QwpOX)$\1'ـ/DY &>3Qvv"cdODqmi?oggᒈ%#jѧm4Q68[riWΪ^TKmw1uO\FLeפkMH '9=8QAnү>S! f/(TA1\~esE,  )T:/ ]d rPdMayQfCr5_faXKS/K :\B*MJZʕXAڕN ZF8TK->tH^mdZk}PaKiQ/[|Rh{`Wf:G#D ugDu%i w p-ՙ]ldBn\\y@0-^8~-BXoMv1õ)hRR澠&dF?[@y ɫou{*r ~Tul|8Qr odjesG o!XDcDF,1i+xG=*فi#Ogv'$NcyelwIFp N{~2p':Mؘߛ̀L~ٽGǎ\.!V%ԸggTE+mEWꅿKr)Hjɞyj6CC!=QS6qQ5L:NFK ؾ#/iG,$")N]>#L)J7ΙƎȢߌ9q6v g(4/39vV5D/;TvLKq-ΣJ@/8(ןꩂlf8'' pᓿMS@C]pz}!-烗*ې A·C LJ[Ύj.:Ntx!8B֠[lllͬ^2A[fe5P%t>uPv1X_ԛrL,2/(dFs5-2nJ`(~KzJ[QjRvJxg ߸oHQ"+;Agi*GG9~#MrZcNRectŨ1}@"fݗXǠЪ"0m<m`״riFbԂֲ*6͕cUt].{ AJw!@,ّIwP! żD*S8emt'=l.(a,9U2D,Z":ǭ:cMDMu{"EE}'9+8A8?o6}AFm T$;fFqu3R7s34aC*W #ˮeCslk.7e!xn(=y7GEY*KX}Q>3R)ڴg*:PO&-zIGo=#{zW[J[90#ޢp"֙^Rn_Wҩc:YS0AVjlr~!L ~k6 !\I[3ÕLKв0H؁R! 쳢{< |ջ=1y^!(dh zuۢr'Ti%2ڭpp6)?: cnS;% $aa{8&'ع0ݕ|Ar `"Sy %p3>f,=?FS~B^HnԘªL3_d;ԃeV <o g;C}z񁋛2a$|Xq%ѼRhlxm/m>LJ. t6oĘ#-E=ًz\5yr shn2~ ?D_DiMG5s ;c}YDhHl`5}5cQ?so:7=,x98造,|X .!PՋ[Xװm~-ir0ѸԵ}V{lhX2~)n~N)HQO0q`32nF읯. C柏lAF#h*MEKJxi%w>/fH+t,0G*DLddԑ m0PUb>Ӱ:"E e xH6^pHiݍUǪѩA H$4Hҳ CX>`ۊ'>L1zE%dc, e3^dZ>`uЦV:K-vgq[t< OmsG #aO/+|r>LVdѝeL22$2\[oS8~LbCܮ[ Ogz?L&:3L'I,:wPy#OFމ'J+? X?i[K3{U\`I}4rr])6Fl0_ h%|)v9cgr.=_O3'Mj,JߣV^r 緸]ȣ)&OgR}HuG;2F; $smY&cM #=7"NqW4K1Ү6yLza,En@‹lJ9=ik %"-)ccp_z{'z!)!AW-DYƶqj<{—.(s¹ڏ[UAPT(4U1Kkk5w蹽1 Y8㎇1RxP_˭QuS fev4 9=rGZW v[Yi~@O +pM[MTi'b8j aK(H͝%1V#300bj,״9B&}W[u3m.7 ?|4rDWj9jRbQ TXWN;#T'/ Hgz{=qdO~źhϩ#a Dy[N6{i !}TL^lTy=w]hZ,'0P a;@o)8}1%Ou{~셉s}<.qAd#8ls?7wyS5w)Y*{250*tAJ)T{9(ɱT*-L#ƱyItֹwx2}:N%\C)-+I6嵲v͊ll/j7ø> #[F,玁T'Z*GI\1t}9eR*y  k|8K]fʇr r<ʂC Eߛ}x4FnMZ \,d,x f߼=blc$ !6 <(Iidq-(7U _*D1‡JJsBRl݁Uob ;m\W]6uH#+|ż?v@s9qg pL6,J~D=q,ajuk(&ҔBli@Ї;ѼIiͨP Jemy']BsVE:1OS&LÙH*7DSoc?`S'2] ZRۑwtM'${6~Bsb$=8EDAMabx{P)XKxuMQ{}FS]}4ҖI5f E!I%P-0w5.{GaxχMٖRY `MYʃ|yPͭ}Rc[*(Ƶh:ROVosc8:w&PEV4 iwXC"LMͅOf@V|Εik|Zсpe3>dnYMb (h%83Qzr;k+oSM\^M( 1 3ό( CP 2nU!WzOu0@Ty*̚nXpo3K05 ^,{rt`^p U?XcSu$9f7:єd]rCwƊm# ,+ƌ:@5&W"E+JgDK2z0>g7e T@4ŶX !sm@/X*Y#LYhZ Xt8Fb(nR4~קexAs*+t_B4 C:(AK}'5*$ znU:]‰hucuMM SGe8YrDdPApc؈#;L0UԚ>EadA6hI!N42Ah|H(:WhxlH.ampqɉ',f?, l-t)n"sh7, ŀbf:vUt7e5-G ,(?)wͅtZ~N=.<^6r Htq- Iru"Kã擐W ƚY;%8thv^H@u(P(NZx ~97XA4 ^Q *ff5|ZvY~{5)('`:F vXy%3A4&>P2tޥs@Z5&gi'KnizKƘ@`Vt4qB\64o#Q_ m6"*dP2l1T u^2k&Lmo1WeMA! ՒzD@jF"ΰ4WJ)e\ SrZG8;;opkm݌"`grP wF#/o,#4. lv^Q& ,Q8=QgaE鯾N%X1vH$0 }+Ab!+lB#)"TH[aL?Râ >I7)pjH*I? ,|P$C Q? !pY괵In'wkǐ ͹e@׼GyM M4yy5MbJ-=l٫9y/*kwX$|eb~950@73()L&\=1 ?y&B(MąVHd*3vcv؆c¬1L+v OJt ,ݳ^jMƅ _NQꩥk6SwE4gbvd!f qc84pf; њ剘w10I#͘ "5n.80y7\!\W}s/or*g1%WO>KP&58E X_Hi6Fs QEӗ҆T7Ri~\eΜO.^>ZI.+B8tg%5W4UzdiyH%/VqߖVKt%>\mNf=ʵ}LÉ4)jO)0vQzj/X!g(c`^RJ{ _z$|m=6-mBZx<CcB$ NQw'؍X#Kh1g05M o9UyIN>j#%F'q /Ojcv\8 ['DtQ[ktev%1 BfAW_Mniy048f|~VSG-lB|9657ρÂ}0 U5qo}w(\Q.RPaJL`TV=(Jο>_l?\1t~S+ R֒da ˸aX0JT?`f!b2h5ȪG>}Y4(`7mG'Y76<R`j1jՇ'_$@T-Q6$1{^٧l|).HF12%Ȥ 1JˤQ">))or#TA#fR)L|0]MJp#h-(#_&K0Gden.o%M i;ӲN$C12AhCdΙu*PSuw rsW5-NT83aACD7+kHMSØ^DG e'j=?> }ڋ]Q:lB@1e)Q|'#r. O c4pq2&>gP_n~Eƕ! X6=v5JQA>xM \x7g+!]Pʗ?e5ʖWSվms-<+ۭ’[Rp2mZ+M@s%j"\^=wWbEܢX_6,|Z3JX"gh =*JٸkGe ;V{HMpF md @ 6: z6}WYwR qG? ݱeQS{ր:ֲQp}E3+W>7K4Y71R~Jk~h7'^ȱ?.noNSF9Oa+06Ua'/nDC9xy-i})]X}~==js@fۢmDZA7K8>+SE K,wOԽ+ Z;GPWgwW[S,"|I2wR@^1a| Qj>͵gSV́ũa;'G2%_!4Ճ-n .S* z [;#}\26&xR(#dUtMdq T-/Q``")\̧r%zb;wGKr/>MPMq?R2b' +Ӓ(T ,"RF j#[|t-Hqkn@q^,=uwkVV+8.e;Fk&H =&VB{vM3dR~adۡ*c+pT J;% ֓ D%`:}[A%]dq$- w"6L1(""!Pڮd~htӤwiEq,њqO6\ag_~`m%Aj|Wf_ϝc\j}R|/>@f+֮$Lx BQRKv}}TkAnHS`&C`F{Ala֤~BfgեQ45OKa7B*8:h1 g:bm@8l%(.>jgAo.(=mN'Ӹdãc)6 (-Md4(d׾u=<5l+pvTسE8p*yd.WuI@5 fny@'$&vJEjO Ӓ~d\hѻb]pYrj#S[j<I::mVVl_\'Iإy| 0Gb^{Z 4양A(*,<#ny uD*8v!Jp_M^xLF(1)ӱEQ])雎nmZA 'ZܣBJxu a #t9p!%.vb5L{5%kT=Ƣq;ސ|~~yӢܝIu*t(rw%Yϼua@ 1/ Pvzia?[$Tp\9fv)mj7޳M Fl9Z bu2۫P0?]$+ǰfbٮxl3=K}((DF F;ϜWK^t+`b q{%[(Oͭ4֫a:_,4!7 $P3Eu-ڹ!S|{_q3Ό[C`@W#C (k^q sqo9q%-dOu[(YL u90R{ja9)#,5)Tz.UVW쮖.x$&}ո=7pύ:3W;NZN5uoRf#XV9|wUF )4F}ɴs5Ƃڮj(P/=F Z 풪H,f(ޮLQvfӖ&o_F|zPJP_F\`Ve-n헲Ԅy↨Qx,!ۘljn,U- 0<(~#2CHp7lC9,ҬATK[yI3^ ߿;Ӱv 8Gn >)Sd? _uzՙQv0Ql bLs2F&=Bt,!e\ՠš/,̼䟿X#sȅbp4f/*=N}&~GS:Iq+]{m8~%g=$6p+M]1%:`t}.y;: =!$a CG4/T)%mkI\vj$ 7{&K8 "(ºp爂AmH];ċh/[z4Z$&^&/\9U.+Do"dI~ry74]SH ĭe~&Ql5]xQ!h=#<51e ARW#o:. /|̲J WN[JA q$4x+d](G>$Epu_{MV\$$.)~c疠_ҷ؞*SPj5/K׉bPr]6m3^3"E/d,zacoQ gBf I%uRs pVki!vzAwR$M<U |T}?(~Sg.Q.|5ogZWҳcJs[]ARҙh;brnP9\ Jz2rE#KIz=aH"?ܜh~nXLM{ څJu~̂pU XS@ઔVpU(0v>8{{ {Ҿ|=PhhT)f"3\CigӬ> F*`9xJP\ݳvG.yK&8 B4d8A,qlQo/Soȣt8N5 ghE@R tQ= aoB#+%+^dzv~BnXpƿKu|3Is_Еׄe^L%$6K4">1Fc },P*glhN.߉U~Y'M6mu /QP'ʇs` z/ B\kŘ }+'J,I~xMâ1eC[G۟B=Q=ȫ['eCLzfv—]9╆H=$>v6.R(F>i* ]yvMVgH!L)qoR5##8!F[/[V*CaƂݴQ 5ZtcĠF. !!]!RLhHA3ѿ;*xkr250k#-*Z}Bwo4{,s,ښ}]4N:`>A+Y.?^1aNZ#*`^ UeqZiFO{4IQmlEA"w0Yϗks:AɝS_ڻ\3yNCwL۟؊GkFzڧсtT][]q4;ϛԾ\ʋܖPl [4P [\p)/ VSgY!ljG'_΋ILfvlA.WߵkU_:G7`@E# D p8*LdTeMhDԩ+*LɆUb3 MM1P锏uTRʜFBOZX ?"8hŌ,ja.P m ˙|nl˿޻'~_p o3_m}q2xDZc&O`DX!#@[<`)Uπm iͬwb2 .Or8_%1}4J ;:x=0o_9u/oBu`}-zvC q^1t)dz7k#a ,$цPa'hVϖ\\HV"24Zc.}  wO)svNJQ 3d*hfZs@Q *F}) J5ˍz~x>7հj[s!7)^#+mvj֍ʻeLkq**a T{?΅? P$7Uˁ^_xôd'twm-t@[Ub#Gb_y>I!>HK3J=I ݌,_L+:\lC͞{%e!GhʟDam] Wy@ʡ|m=)@+퐄h1Iy?01whxOjUkNjdc1Wu*fCLHީj1Ɔo+(+c cxUp4wp1/jX+ .{j6WCZ8ѱPd?:w'(\zM%R}Q~fk7v.!?g="roV34~]&hɣ/WnX޶9cg,r"@K~gkUˈPSw L\;@/M g-:5F U@=;x (X]S %WB@yLx@c[K/詜`dg"BFp)Ofli*=M?6w1|;-iQ /_H6w5^9 ,n K;2<{bׁ K<ۇ~ũf\2)}٣w\fsB,ia o5Ğ,*ƍyT ,  ^UْX5E4(شbB DWH5r ED:D~-0ӚG>.nZΰsO[ĪR}jke.ȥި;=v)㌘cKDӡ$VlT~&XU{!SM{#b ɟV9SD4Cؤmvm??Ÿb"V~#r½I}X_S&uIozuë*"cŀbdo!Jup>C0:wP" ρpb"N؁Վh )]]"cd tJk<4g*2M:kS>j3w,0~O!y E^G=nj1rh+i{|XBy&3\|vmt@RJ=]5ZK0OPUXez)1Hf*H K+EZm5[o A, 9p]nl⯣IKgKfÿ%.]5Az/XyX0<%<҈ s1̂|DW0(ZKhPHY̴OlDNg]1pɒNWVk~J`HÌ!z)S б1uak7tʨ=hJ~[)L;{/nh i50J Cg/*׮Vz^A*^;@7{׃D%WFJά>g,relqPe˟PBVqGmQWm&gpP23=IW7B9%f>&LM2zi)M3N# 1C!j9qJE_\wTDO#V~Nk XYi(H ьp;2I=J|X;m{J @e*Q CQqigO$1MM#ƴ<-(VDH.h3] )uޣFkS5w\^Bj s*U~eyL6n&[1FGIbL6mֈ?YG0 l$!zfd]z )b~̕YHy޻EEwa#; S;h38C:W4L0E1gxVrPZk$-QE[A2ǃ[L+Yߠmbi̤xg-h P&#b1ybnypY1?[tک\_Рc6nn Uj&@-L9|S5@HD- PM~k$]Ã7esd71|Q/ƞ>BL^i3*D7͍]8y/0>V6hoy-p1Wr/"9~>㊔D-GP/sIAjO;wX $a}|E?3TfQ v}Lsjб$=uaŋE\O I1YvofeO.qͺR6?|E'to*{`NBCT_*uUCTNA5Kߙ׭r52@@FJД _)Rpd}_0[x,z6,H?T|:q#j\V43 2_>}0S@ D.3ơBޣB M屯`TECXE1S<:A7U7۵kn)յ.kxDw4~FLՊrfj^*+7K$9*mPt 1Iooo/19Ζe]O/Nuzį[˃grLV r?naQj\ QK-0k;%pq+ _=LC"nGߴ~VSh <|mv< *ٶ^kPd;s7uȷ#qu7ol)x?4@HwUuS׶-it(!x kwk;q0XZϣLvTHEXPe jR"fqdI.B Jn?'},I8!:/" Y04ե;:]1ID xW5ȆpF܍b&;2պw|a o(Ygy[ Xbt?7z=1.yj."߮ 0eׅ5* BB=7ˋ%A3R8RFL YJxT~Hդ"S3gΒDhefI5N S VYҳ dȃ1(Qe#yKNw PdS<32LAPl6&"6ȷ2O2\0`q!B{&`B>YO̜r{OVEύ( e0rKtDkH\>Vwd߂s7F"2ܽ$qaaA**38BŻ&J4dzpxeڢ0Eqmʫ <)9cфu?:; wo` YTw(<*o_*O<ܢLVDn/@o0HE?eJ<8'A)O5Cʹ6(|BOp1+e0˗ idd}aaM:ʑH73md;2{ջJ4cUuylPyQn3"EocF')- =&f.&^C~lbEUgp?Pʻ:[EOo&2rExp?Z4GTÇzx@Z:|2Xj}ѨTjDk;-2M BwA~F@( A3ށ›=$!79iy_!y``MI[]]NLw:'^'u>6%0KƆoꍴ5 g d70(FJ9H%q># {Sn=!v 7u2u"N_ml^b18.&mإ2Rz;0Qħ1⠠V`5t V+m}!/G&i߬{\߱F0S̍XSnD9mb;J[z*d h c/{`vr/ XDs{Pz.7Y 'z?BՇ*3^yT>;ޑ;yKN&`ˑ_uEmJ+:cob ts-!TMrU4ν9=S\uKcsrK85/EMnl9:iívлk=\R[*[(h_@;#e\ty2=1UÔ@ӰNLCE+Jp|b Q"Iֹ[b;LL|pDzMBPtv w0[i/¥ܣᛰC٦*4Y`qe J `ܺ(*joE_A$P`~\t Z^9Lb|eky5JU;sCX~)'`_W 8=#WL,pL-,P&iaE%zg<߷OJkRԛ£_Ayf9pʯ%X`cUDf74(E}N)SxB8=*W0 FM<\0*PAp` lݺ:Un5\b5ބyF2aZpO\R&Ork۽!m񬴂2A\)]tI$)=~<[G8f[>lꆼ@RĘԆ# ZRqd,{HvaWs:yHh~0jt IH OBxjrCuE `Dbڌ^v'PLL^V"iCwv<ϘD]EW!i60 -6Uqe{10TL[g}*c}}=5rnRj-å2ZJ'!ULG]=5Zv,-_7kgT 7ѓ"00;XEZ5q ,m%3!۞tXiNMD+uyDmv w@e4 %2g|i!]n0izDKzެ#羯*ɈnJ٦Ekk:@.eCܪ_̞yHǟ d$a_|d#-,qDOG }Fnkǥ%մc_PGܑ_$$dԦsC5 $/!WNqzrDmrnb|M#ShU\WRD2+3C|KN?W>&Чշbv k7!MP=6 ]Y`G빉r _Бo-:Ĥ&NT<)ƮYϫƤ0-8spT1-۪^&NTMӂ`D{<֧KtTi!oHNu1[`78mUc WǪ~ܮ"9+l*NS ֐2rb?+itNc<7c/QsrGDX>fJ7^dnҮ JTO*p(-pH7ݦ>XwXV-J\Qa6V d>}Z^[h- mt/;%qUQH+r[PDmC >"m"kk抪CpyS\7y"yhRh(]M/)vӍ;eh1RNy z&@-hiuYjc 4%g8iÊhZhxp][`W;|8d}j+(uc~b0 t"/Ve^+;6PJ*3*6$䨼*zlf845M}j崱 ]ӥ }q1dm vgaޝ9:DЀ5M_zP^˓^jcf m=+ًP׳ɹ;1-q2$F9H$eVNRC1"oL01 aG4ZPxXV(QlgQ]dZ',0n^7hkH N,vsΎs3>"lq.B}BZ2R}FA]$=+ƌ9 @ڄ!$9.)l(ZĻ(wE/kd:;b P:QA#pñBn\W*F}7zT5mwɿ<ڧ q?} >2-LA nb`ZXSvu $^oj(ibʅ cKڼ.#3OQ3Hw϶'--{4SpE([=Sz5d?, Ÿp'!5I.KG21#$7&zL$2yh4 /A)r6vq5bF(w3V s!2C<;t%@x9ؚmkO(Q$9]ȁRVoָF'9Ӛt!Рi!HEvHv_ƴ/*@k=pKh1O ڵֽVm|gd\-M'_] v:VW (Zr]<*0;<X8EbLO"y%9 ܛgLr5"ʇ7h^/'F .a ٝf-.N d[l(zv啸WLGØ2#PrhG>h 2"[2[;˧UٚzbY~Qoۼr,0%Jjg_ݦ7bUzJm"gj:vjLKYTpk?K>$tNakR#ozoXíf\!Ja,733E^pcΨQ΅jo4i,ca5~x,+@2iXMK`վkN)n,x z\o! ?n_R` y1bC':e⹃׎Hr.{WJAP "(!^zTmL6˂Cg"%̸7KT ֘DxX/}AR"+aZKwngUӌ$KL.Ks~a2'#8@(Ms3_LpνuU1\'+@ji-#?[w &HCָܦ)B(LѺoç~r1gNk7wўO&`Nb :'w+$"b!DB|OkqG5qE$TCW]k 643lU\[m <%2559M~`-9m%^uHe wMR1^i2IuU ї7H}n w:ffC9>ȋ%y#qb-I1=. 2FL(#:QA-g0B 1Wn>ܘA[C#+EZp+jRze Fta7}%IdD FqU dg0anR >CZYkۉ[6/;&C`{c::ZRJ[q.U#1oba!gD'7#6Ч Ob}}rɳ=UWm]*Yl,zs|wH*-5.*{A\!{ܞ!.-PeS n=3xٶeeAw72tTJ2