fwupd-devel-1.5.8-150300.3.5.1 >  A bp9|U+P( 2O]t,q Ծl}'iAl8(:BW+K(ywacvQm"msmF8L!?uPeu+! ـ|=.%u}p>a?ad ! R% ;[nt|q@q "q q q !q "q$Pq&q((q**+8,(-8- R9.hR:4RFIGIqHKqIMxqXMYM\N0q]Oq^W bXcYdZ eZfZlZuZ(qv[w]hqx_,qy`zaHaXa\abaCfwupd-devel1.5.8150300.3.5.1Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.bvs390zp35D+SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Languages/C and C++https://fwupd.org/linuxs390x@ CP " nf--Kvq  *  Z |/ ` I \rAG<I`ٳ[ Q9)]9)DEc!2x*u+Moh^,0Jp1Kq +u-Vuv9?A큤A큤A큤A큤b2`[^`[^b2`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^bb2`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^b2b2bbbbbTbSbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbTbSbSbTbTbSbSbTbTbSbSbTbTbSbSbbbbf3cbf852a17766ea52df4ee6d4c531b6b168c97eb157fa91473628bc4783263823999e85357b8b5f3d2f0953e9a2245115bbd48955eba7111fc36f230dbae45e73295a0c521b16bca98b42a29228c78f2687c8561104ec317fa17cf982ee95fbf20a17434988cc1517f54adab67c130aff925ca40d2066def02fe8584a337d716d5f1725d841854294e27f1fe8b6fd4726877cc3b6b7e98b0b376344e53697d0f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229086066e2a2ccb105be7c2ccd4ca15048ebc8e0a56252f9c52231f1844e4c5ec5908d071153617a0178e0ef5d269c87262928657a5c2271b2b3e96b2214922c383cf1537f7454f41b4a2f28d3207751da5f9c1b48f0b3c2e1ed1a6b3792833a105fd4e9aac3b87474d7b31592861636a1938945d2ff58a566840c2052533e73f0fb9de2d74b3999a8513ebb810380173fea9c145fd94d35565142d31a13f4adf2a887d56a173bdc523cfe38346ab90f60b8b3738684a8c63994b493d043bf180d4579c314ebca225e49e2f0f5c7aaf3ced394822dee5aa654b52f8c25ff62325f95ca9ec2b74d2422ee455608dbee886b63369286413b12ff8578eef790db615df2e9d38d4c8d3f6cad84feea1d97e73f80f38cac83c529133b91a639867571c483ca68c171d09d2f7c1366daccf63aba35a17073e443718be4e1b9a5a0f1cf2bfaba47c62f1dcc8e06cc8cb518fd24d41eef730d4f40b72ddfaf328be1eb70c67a76a8db1206fc8ff1e047635b7e387c47011e38793c2d9d74c859e4b23d28f3d163dbc1ca6ffa16c04f4617cfce2d34a9cd0d1d5a84252dcc1daae690cc8b4f7de2ba7b9213643c272e2bd82eb82cb048e77f601c7a8db7f4cc3860380f83f1c0ec39b218a2342688abb320eccce1d9830c3a3774cb28e3aee902d8786093c890c50d69b21a3da323403f188132b17fa9220b0ac147d7c13ef3c3787a5674d99f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229078b73e50b009f6c86dad9b514198eb7d4736b623e5dcff65b47f14070d579181e0a5b865b4d118fd3c2f172de156316ebe0b099b3df476c021aaaf0d77641dbc889b043909ddce94d1f24802b0501bb7c9c7497c8968c0318344f22946612d789e47cd14558c5e4d818fa5ecec64c964213a0d3727fa6234f037bd2794c890a486a03e399cf02cb0c84a54f84737381af119e98c2d7918b59e569b1332a0499d361072290c6ad052c9d18d0bacb71921142cbfee8c5e67892096b03e14f885ecd1877f29afe177fdbdae431db1efa6f63f02a2dfa722e9886fd75ca85e743baa41495f3f5e6d72e60dccc1f814cd24b3a93d36b801e58adda4315cddd82086ed7ab67c119ca914e730acd40124e628fdadae91b3b12120100213124cc35d3a5e38638d6576453eab38fe165b12d7fce788ed4944a15fbbfafccaf3e57003bb96c4ba9dcb41242cca5b8711e6b2bcaecb4ee2376b60d2fd2f4b2f3c241258ea2dc64be4767a1677f85edd97c500fd8e573cd8530f4739f5fdc9a3bbda97ebc10a4ba2ee43d804a261230aff29401778905379c7273ea887d30f286a3ecbcdb31d4a744c6caa020d6495e1f92b86342eacaa1e59180531fb0c8e9683d1d444a537e99a3a84faf3a9df02d517648f504037d0fb7705799efb7bae52e273900cf24dd84c221a71b80b78b75f8c8a07c9c91e8801a465aa80f8d0202b922434f3fcceba4b008a01f318d7d55add474b75a6c9289bd9f7919f7b4bb1100eaba87a77cf9051c55028d3bef196650c78f81ee881490065e0a2a3c5dd46418c575aea39cd2bfb40b21bdd7191a3c792b2b0bf51fdc9b05a0c3efa20e3d9e101d29ec34bc7e0aa7bd292179ec55a8e29199d55964b85f86710a58a953eea825103c894de1ae1155a96bd15bc7d804e4f3ff3e60bc1fcb2d1315c1ae40d5006d5329f8ba6ae3cae0b3305ecdf40446932d75d3e4ab92a61494771ae421f3ee2633ad31608814909ef6dd16f23ade68f15e65a3c20f909b983baf6882412c06ac9636cab2a9cbd5a30868c1cf804d4d219eff362a975d10088991e8bc1a01d8a2263433fac17b03fd9955686afd13263790933d6856a6eb1e580c50cdeda5b05f8a5d1581b8f7f2b529e63e34c8d5b4e4d5708d653179db9cff9985f6dca74b9ccbbcbefdc088499434d80f935a31a114ec2169f2ddaf36c216eedbf1fbfe4e91befb1071e16ac867a8112e9846ccb313bb173203a4fd4c515033b67e24b0bce32c825b836f3ab2a4b3f18946c01af41ceecd23db00c41371f6ceb94e9267fbccaaaf937a0d7e80b603a0ac201598cc6db9a74a81f272cb258be4fb0d948d7dfedcbc3b590488915536f3daf988bd6a5420e75dff698e673a94902f2f3ef142d3d91c7ebb181e8c0d6505dc3c9fd3a4c8b7dc1ed8be8afc8a207ed295ea5a8299041b2902b90ec2ade822864477cf15d30113cf9ca98ce9393f736af3c32b32b96ef9869ffb8f79287fa4c737f0e382321c59c16429edb1142d43709a7a573558cc3eaa23a9c7408e2a5aa71f77e2d1c94135b5cb24ea08da34586fde10f1c28b6ad242888fba30a61b3c2747a216272d11312f285fe828654767499567ddd08a18c2e661e2acedab7d6658df962cd674888fceef0bfc425a80716d74b3d0dfcddfa3ae6ba367789b9626dea9aca23eb322ad7924d90bb16d04458e81776fccfe7e6b88d06b836054a2328d17132e4bf95857d20b6e6bb23838c5e9ff8f3e82cc98f90241fce2c9fe23562e56723d223f6c2b24bd62494b13d76d7cfd3e5953b0ae666696a5fc11a95196146c6065072b295f80de0f5a331d972d0a81c12c0ab56e4019d966270dc7aef348335337feb501aef64a54321ab2cd9cad7c39444865fdb6e02633ecf9d5502b88dc6977478f4deb73dbf9122aeba7ef51df6dce1db6f352295f0532044a5eaf98bf431c3667bc8b57ab13227fc84e172636d9f967dfbe931fbedba0c6be291f391f38f7549988d9b26c3501a55dae56fe7df0a1820b3b1799aa2fe21934989e0e67d0552df120a013af846819361587fcf0c4c9ae729a2811e08e6d71a7a16648bc53618c91d8b481a6d06599946f85d7af28f325df17836cf3fe605edc8ef9b2e3b6d7b6b33267e9b3fcf02c1d39a606667537511bb5bc26777a5d9b66b138a7aa19b24104d206675cb9dde59d7eb01321e084672c4b1d0482b4323c6837a960db8cf0b750193daffa9a5c31d8167d7935803cbb117fe399be4fe4ef30ea8122acdb0bfac6527051ad330f95e2f469bf18ebcff00026fbef5577d5889b73adea0be60ee8cb5b60f67a8dfe7ffac1d82a09b80567090fb8246b51bdd19c99725bfac9afc1d62872a3a7cd9be35a0e3e479d5c6551a350f175bc11bc7ac8e6b99638ce178dbd1ac37563654067559d6382a7d8babfc6eb15120af63d3a439fc59fa2afc5d4b3679a94812c7b3f0252d61b1312dcc9004c40882a0f704ed6d01b9ccb49ad9da7a343643a52f83be2634b84f8ea8a69072fbf0e2516abddb8b5af682a7fd8f84678141cb6c68b0f9a2de09916b5ff97928ec1c8f39bf1cec5fcdb95eda182c604dedb5a1b3fe4bf7b7389cf36f7461d08646a631232fd7a89b985ec01d2cfec0efddae636f2c2923d6e445aedb906b3d7802b55b2c454449d3fc73cb4a46bbb006e757923eac7b47d4faf9b9323da34ca2a1e8e95a13612b557065d2d741ebfe06b8de2f1106343dcbe7f28eef78b45132aeb12d46297ba7d54dd0e9ca51f57540afb571f58adbf9adfa11285ddee01a8c4cbe23bc382bac75a28168d496d32ec674158ae741ebeceb6a6e7a003b5a47eba5fd32c334f742f59ffcf01f2b8c712a066ca9866877588d8cc3916fd34c8e515ec8617b03a8e8bfbcdfeb5ba7650d8d9ec83295561237ecb4ecf62a8bf3244db3ac660aa83f70c8ed5c94a50cb382b5821fd0d42f12264923e5b8b9cba74f7ebaeb93a4f9d8ecd3c9e82308471cf4e063f2e3a34c913423b8619ce825af273ba403adcf0b7a8d24b00f5fb6bbb0446249b605efdd36598e8a0f65ac3fab2e18438c73b91e5c564e4586aac398bcaa3e5bfe9efe5b569c1439dca55b06b338d3d0a3130ccb41634b3042e56dc65e9bde9a165c231df4052906bd26af3deba74987e3d7fdeb303355d93cac53410997dc7a3f9bd60f3ce0d8ebae7908978c8731fe9bb139ff0eb96fe775524c2d4d4f167d79041b17c5cc8ae9112478665132c31a1417fb4adbad72f861982bb78e1fd3771ebbc230a1a27559f8f662cf3229cf5b3c6ff567f2130b883b3c95ab17504880cedd2c2c208f6466053e0515c2bcebf4351e838b794050c64c498420599162f2b3b6928232dd0be7991d942b1dc0b1670eb8695e0629ad38280184be1b94602f2015707a28170151058f7171aeda501fcf0979d3b5a67eda502f1d76c81b8ed7a7cbeeda0c867a4c24dc206490ee519d4200dab0371530831b2ba10977c7a6c0fd7e6ca89e221cd416bba0828a20c195dbd73bd40420f2040eebf418098a86a3fb2ef5a9659c87d37b81ee85b69316b045a9453ac54b75948f4d26357dd018159078f36f90deeaf29ce3b9d2bd0ea6655ef1bda801887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd188872030fc1a7e7ea726c79f4648ff57fd97c270b1ea1c3bca24c48c6a280c51a44d49201887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd18887203312936dad905030c45e53af3485acc8213899f4c43d74e7143bce01a9d6bd959libfwupd.so.2libfwupdplugin.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfwupd-1.5.8-150300.3.5.1.src.rpmfwupd-develfwupd-devel(s390-64)pkgconfig(fwupd)pkgconfig(fwupdplugin)@@@@ @@@ @ @ @ @@ @ @     /usr/bin/pkg-configlibfwupd2pkgconfig(fwupd)pkgconfig(gio-2.0)pkgconfig(gio-unix-2.0)pkgconfig(gmodule-2.0)pkgconfig(gobject-2.0)pkgconfig(gudev-1.0)pkgconfig(gusb)pkgconfig(jcat)pkgconfig(json-glib-1.0)pkgconfig(libarchive)pkgconfig(libcurl)pkgconfig(libgcab-1.0)pkgconfig(xmlb)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.5.82.45.82320.3.50.1.01.1.17.56.01.00.1.133.0.4-14.6.0-14.0-15.2-14.14.3aZ@`e`c`KW`6?`.V_S_м@_$_i_F@__@_O@_"@_"@_"@_@^א^א^1^@^h^)^ @]@]@]c]8H@] \\-@\@\Yz\73\\U@\ @[k@[Q@[\[h@[Xf@[GB[E@Zľ@ZlZ@Z`@Z1@Z1@Z1@Z;@Z8@Z2gYYYX @XX*X*X*X*X*X*X*X*X*Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@UeU+U+jlee@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.cominfo@paolostivanin.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgdimstar@opensuse.orgqkzhu@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgyfjiang@suse.comdimstar@opensuse.orgdimstar@opensuse.orgglin@suse.comglin@suse.comhpj@urpla.netstefan.bruens@rwth-aachen.debjorn.lie@gmail.comschwab@suse.debjorn.lie@gmail.comglin@suse.comglin@suse.commpluskal@suse.commaurizio.galli@gmail.comdimstar@opensuse.orgglin@suse.commail@bernhard-voelker.debjorn.lie@gmail.comglin@suse.comschwab@suse.deglin@suse.comndas@suse.denico.kruber@gmail.comjengelh@inai.denico.kruber@gmail.comtchvatal@suse.comoliver@getspam.deoliver@getspam.dedimstar@opensuse.orgmpluskal@suse.comantoine.belvire@opensuse.orgfcrozat@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgstefan.bruens@rwth-aachen.defcrozat@suse.comstefan.bruens@rwth-aachen.dedimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgmpluskal@suse.comzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.org- Add fwupd-bsc1193921-nvme-ignore-non-PCI-NVMe-devices.patch to ignore non-PCI NVMe devices (e.g. NVMe-over-Fabrics) when probing. (bsc#1193921)- Remove valgrind from BuildRequires since it's not a hard requirement anymore. (bsc#1184248)- Update to version 1.5.8: New features: * Add a new internal flag to opt-in to GUID matching * Add D501 Baklava device support * Add fu_device_set_battery_level() * Add missing uint64 read and write helpers * Add Qubes wrapper source and create packages * Allow enabling plugins only matching a specific HwId * Prompt for unlock keypress if reset command is blocked * Remove obsolete dell-dock non-passive update flow support * Remove the Hughski public key * Show a warning when parsing invalid quirk files * Support for GATT characteristic signals/notifications * Support more than one protocol for a given device Fixes: * Align the CCGX DMC firmware to 64 byte chunks * Be more strict for custom quirk keys * Check pixart firmware compatibility with hardware before flashing * Correct a thunderbolt assertion if kernel failed FW read * Correctly erase STM32 devices when transfer size is less than sector size * Detect SREC overflow to avoid adding ~4GB of 0xFF padding * Do not show a critical error when flashing footer-less binary files * Don't allow device updates while needing activation * Fix a regression in the elantp defined IAP start address * Fix a regression where activate stopped working * Fix firmware update of pointing device on Lenovo ThinkPad Nano * Fix the HSI plugin 'Disabled' state * Fix the quirk key name for the Lenovo HDMI with power * Fix writing to the GD32VF103 bootloader * Only call elantp->detach() when writing a firmware blob * Updated StarLabs GUIDs * Wait a few ms for the Logitech hardware to settle after detach - Remove GPG-KEY-Hughski-Limited from the filelist - Drop upstreamed patch + fwupd-bsc1182057-fix-sbat-section-copy.patch- Add fwupd-bsc1182057-fix-sbat-section-copy.patch to set the proper section flags for .sbat section so that objcopy can copy it into fwupd*.efi (bsc#1182057)- Update to version 1.5.7: New features: * Add initial support for Bluez bluetooth devices * Add more supported pixart devices * Add support for the RTD21xx HDMI converter Fixes * Convert MBR types to GPT GUIDs to help find the ESP * Do not allow updating a synaptics-mst device with no customer ID * Drop unused heap pages after startup has completed * Ensure SBAT metadata is added correctly * Move the plugin build logic to the plugins themselves * Only allow verify-update for plugins that support CAN_VERIFY - Specify SBAT metadata for openSUSE/SLE (bsc#1182057) - Adjust the meson options + plugin_uefi => plugin_uefi_capsule and plugin_uefi_pk + plugin_synaptics => plugin_synaptics_mst and plugin_synaptics_rmi + Disable Intel AMT plugin in non-x86 systems- Update to 1.5.6: New features: * Add SBAT metadata to the fwupd EFI binary * Add support for GD32VF103 as found in the Longan Nano * Add support for RMI PS2 devices * Add support for the System76 Keyboard * Allow downloading firmware from IPFS * Install the UX data into a single .tar.xz file * Add a plugin to update PixArt RF devices * Add new hardware to use the elantp and rts54hid plugins * Allow specifying more than one VendorID for a device * Detect the AMD TSME encryption state for HSI-4 * Detect the AMI PK test key is not installed for HSI-1 * Add Maple Ridge Thunderbolt firmware parsing support * Add --no-remote-check to ignore checking for download remotes * Allow creating FMAP and Synaptics firmware using builder.xml Fixes: * Add support for the Starlabs LabTop L4 * Allow using an external ESP again * Ask the user to reboot when required if downgrading * Be more paranoid when parsing ASCII buffers and devices * Check if the fwupd BootXXXX entry exists on failure * Clear the pending flag if restarting the system * Do not allow flashing using flashrom if BLE is enabled * Do not allow Lenovo hardware to install multiple capsules * Do not parse the OptionROM image * Do not show Unknown [***] for every client connection * Fix dnload wBlockNum wraparound for ST devices * Fix OOM when using large ArchiveSizeMax values * Fix several crashes spotted by AddressSanitizer * Fix several places where the Goodix MOC plugin could crash * Include the PCR0 to the report metadata * Report the lockdown status from UEFI and SuperIO plugins * Show a console warning if the system clock is not set * Fix flashing a fingerprint reader that is in use * Fix several critical warnings when parsing invalid firmware * Fix updating DFU devices that use DNLOAD_BUSY * Ignore the legacy UEFI OVMF dummy GUID * Make libfwupd more thread safe to fix a crash in gnome-software * Never show unprintable chars from invalid firmware in the logs * Allow using fwupdtool as non-root for firmware commands * Do not trust the Block.HintSystem boolean for ESP filtering * Fix a memory leak when parsing Synaptics firmware * Fix a possible crash when reading the Goodix MOC USB request * Fix crashes when parsing invalid FMAP, DMC, Solokey and Synaptics images - Deprecate fwupd-bsc1179790-disable-hintsystem.patch- Add fwupd-bsc1179790-disable-hintsystem.patch to remove Block.HintSystem from ESP filtering (bsc#1179790)- Update to version 1.5.3: + Lower the CURL version required to fix build in RHEL + Do not use meson ternary operations to avoid bumping the required meson version + Added Lite Mk III + Allow setting the GMainContext when used for sync methods + Fall back to the misc device for serio devices + Actually implement rescan in FuUdevDevice + bcm57xx: Refactor CRC code to remove extra byteswap + bcm57xx: Fix CRC check + synaptics-rmi: Don't crash if calling ->to_string() before - >setup() + Fix a possible critical warning due to missing retval + Add the serio->firmare_id for UDev devices + Export the driver name from FuUdevDevice + Allow the client to send PKCS7 and GPG signatures + Force the remote kind to JCat server-side + Only parse the signature if the remote is JCat + fu-main: Fix sender_features insert with wrong size + make platform integrity plugin optional and disabled by default + Add quirk for Western Digital + Mark more user-visible strings as translatable + modem-manager: validate firmware update method combinations + modem-manager: remove unused byte counts in QMI/PDC update logic + modem-manager: make sure the correct interface number is used for QMI + modem-manager: udev monitoring only if device switches layout + modem-manager: plug udev client leak + Restrict loading component types of firmware - Enable supported_build to clarify that this package is supported (bsc#1179790) - Drop fwupd-platform-integrity.conf since upstream disables the platform integrity module by default now due to incompleteness. - Address fwupd-refresh.service in %preun, %pre, %post, and %postun and provide a rc link for it - Version "Obsoletes: dbxtool" and "Obsoletes: fwupdate"- Update to version 1.5.2: + ata: Add OUI quirk for Toshiba + libfwupd: Restore recognizing gpg and pkcs7 types still + Register the SoupSession gtype when required + Switch from libsoup to libcurl + Fix sync method when called from threads without a context + Move ABI check to Github actions + Enable github workflows + libfwupd: Add fwupd_client_download_file() + libfwupd: Add fwupd_client_get_user_agent() + Only download the remote metadata as required + Add breaks for fwupdate 12-7 (Closes: #960688) + Install modules-load configs in the correct directory + vli: Do not be clever replugging the MSP430 device + vli: Make some trivial debugging more specific to help debug an issue + make gcab optional + Fall back to FAT32 internal partitions for detecting ESP + Add a flag to indicate if packages are supported + uefi: a new option for uefi configuration to use UEFI removable path + Add a section to man page on scripting + synaptics-mst: Improve reliability by waiting 2 seconds after writing data + hailuck: Add an plugin for the Pinebook Pro laptop + Allow setting global flags for FuHidDevice + Set the SMBIOS chassis type to portable if a DT battery exists + colorhug: Don't set the version format to triplet at startup + Allow components to set the icon from the metadata + colorhug: Fix detection of version on older firmware versions + bcm57xx: Fix reading vendor/device ids from firmware. + Remove HSI update and attestation suffixes + trivial: make dbxtool executable to fix snap build + Ignore an invalid vendor-id when adding releases for display + Notify the service manager when idle-quitting - Refresh fwupd-bsc1130056-change-shim-path.patch - Changes in BuildRequires: + Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) + Replace pkgconfig(systemd) with pkgconfig(libsystemd) - fwupd-msr.conf and fwupd-platform-integrity.conf are moved to %{_modulesloaddir}.- Obsoletes and Provides dbxtool since fwupd 1.5.0+ now embeds dbxtool in the dbxtool plugin- Amend the spec file (jsc#SLE-16818) + Only enable fish support for Tumbleweed + Only enable the MSR plugin for x86 + Only install dbxtool in the architectures with UEFI support- Update to version 1.5.1: + Use UDisks to find out if swap devices are encrypted. + Show a link to discover more information about a specific plugin failure. + updated fish completions to 1.5.0. + Remove the duplicate parent-child data in FwupdDevice and FuDevice. + Show a less scary fwupdate output for devices without info. + thunderbolt: recognize authorized value of '2' as well. + bcm57xx: Make hotplug more reliable. + Use a different Device ID for the OptionROM devices. + contrib/ci: switch TPM simulator from ibmswtpm to swtpm. + Delete unused EFI variables when deploying firmware. + Fix probe warning for the Logitech Unifying device. + Include the amount of NVRAM size in use in the LVFS failure report. + Add external interface messages.- Update to version 1.5.0: + Add a compatible re-implementation of the rhboot dbxtool. + Add async versions of the library for GUI tools. + Add commands for interacting with the ESP to fwupdtool. + Add firmware-extract subcommand to fwupdtool. + Add FwupdPlugin so we can convey enumerated system errors to the end user. + Add plugin for Goodix fingerprint sensors. + Add plugin that can update the BCM5719 network adapter. + Add plugin to update Elan Touchpads using HID. + Add support for a delayed activation flow for Thunderbolt. + Add support for ChromeOS Quiche and Gingerbread. + Add support for Hyper hardware. + Add support for the Host Security ID. + Add support for ThunderBolt retimers. + Add switch-branch command to fwupdtool and fwupdmgr. + Allow blocking specific firmware releases by checksum. + Allow contructing a firmware with multiple images. + Allow firmware to require specific features from front-end clients. + Allow updating the dbx using the LVFS, validating it is safe to apply. + Include the HSI results and attributes in the uploaded report. + Support loading DMI data from DT systems. + Support LVFS::UpdateImage for GUI clients.- Add fwupd-jscSLE-11766-close-efidir-leap-gap.patch: Set SLE and openSUSE esp os dir at runtime (jsc#SLE-11766) - Drop _multibuild and build option -Defi_os_dir="%{efidir}": with the above patch fwupd can detect esp os dir dynamically - Update the efidir related %post and %postun scripts in spec file- Update to version 1.4.5: * Add XB_QUERY_FLAG_FORCE_NODE_CACHE * Add support for a delayed activation flow for Thunderbolt * Allow firmware to require specific features from front-end clients * Allow multi-byte FuUdevDevice preads and writes * Be more defensive when remotes are missing required keys * Disable the SQLite lookaside cache * ccgx: Add more hybrid dock support * ccgx: Modify readme to remove customer info * ccgx: add new protocol for dmc dock * ccgx: remove verify flag in plugin * modem-manager: read the vendor ID directly from sysfs attribute Fixes: #2209 * thelio-io: Add the DFU instance ID as a counterpart only * thunderbolt: Add a new subclassed thunderbolt firmware update type * thunderbolt: Allow quirks to skip the authentication step * thunderbolt: drop support for force power * tpm-eventlog: fix PCR0 calculation * uefi: check for free space after cleaning up ESP * vli: Add dual-image feature for VL103 backup firmware * vli: Add the project ID shared SPI PD controllers * vli: Allow chained usb hub devices where the parent needs GPIOB reset * vli: Do not modify the class vfuncs depending on device type * vli: Do not use GUID matching for the MSP device * vli: Rename FuVliUsbhubI2cDevice to FuVliUsbhubMsp430Device * vli: Set FuQuirks on the shared SPI object * vli: Set the i2c instance IDs in probe() * vli: Use the GPIOB reset for the MiniDock VL103 * vli: Wait for the root device to be replugged when updating the MSP430- Update to version 1.4.4: * Release fwupd 1.4.4 * Fix regression when checking for downgraded metadata- Update to version 1.4.3: * Release fwupd 1.4.3 * ata: A OUI quirk for Kingston * ccgx: Fix a potential division by zero * Check the device requirements when returning from GetDetails * fu-engine: Allow --plugin-whitelist to use dashes instead of underscores * Always enforce the metadata signature has a valid timestamp * ccgx: modify install duration for dmc device * ccgx: Add support for HP DMC dock devices * dell-dock: prevent updates to occur via synaptics-mst plugin * dell-dock: Capture the dock SKU in metadata * synaptics-prometheus: Force the minor version from 0x02 to 0x01 to make sure the devices can be updated back to 0x01. * Generate a body for github releases (Fixes: #2034)- Build the package separately for openSUSE and SLE using _multibuild (jsc#SLE-11744).- Update to version 1.4.2: * vli: Add no-guid-matching for all VLI devices * vli: Remove a copy-and-paste mistake * Add two OUI quirks * ata: Add WD OUI quirk 000cca * synaptics-rmi: Essentially blacklist Dell K12A * dfu: Avoid communicating when bitManifestationTolerant is off * ata: Add OUI quirk for Western Digital * dfu: Support MATEKF722SE quirk * Fix various build issues with -Wdiscarded-qualifiers * thunderbolt/dell-dock: Delay activation for Thunderbolt updates * Switch the default of EnumerateAllDevices to false * Add OUI quirk for SanDisk * vli: Add two standard USB instance IDs for shared-PD devices * vli: Use GPIOB to reset the VL817 found in two Lenovo products * tpm-eventlog: Correct the display of final calculated PCRs * wacom-raw: fixup switching to bootloader mode- Update to version 1.4.1: * thunderbolt: Don't show safe mode errors for USB4 host controllers * ep963x: Various changes to make the plugin actually work on real hardware * Make tss2-esys conditional * ep963x: Remove some dead code spotted by Coverity * ccgx: Only update the FW2 partition of the ThinkPad USB-C Dock Gen2 * ccgx: Expand the FWImageType for future hardware * Allow specifying the device on the command line by GUID * Fix the DeviceID set by GetDetails * wacom-usb: Fix a theoretical buffer over-read to make GCC happy * vli: Only show the i2c devices on the USB3 hub * Allow devices to be updatable, but only when upgrading a proxy device * Reset the progressbar time estimate if the percentage is invalid * ccgx: Always report 100% when finished writing * Add a device quirk that forces an explicit device-id match * ccgx: Set the device name and summary from quirk files * vli: Only do the APP5 FW bug fix on affected hardware * vli: Show all the buffer when debugging with FWUPD_VLI_USBHUB_VERBOSE * fu-engine: Refresh device name and format before setting supported flag * Allow a device to set the logical or physical ID during ->setup() * ccgx: Split out a trivial helper to set the instance IDs * ccgx: Set the device name to be more useful * ccgx: Set the logical ID as the FwMode * ccgx: Split out a trivial function to set the version * ccgx: Do not reboot the device write after installing * ccgx: Do no show the flash parameters when unknown * Allow devices to match the proxy device by GUID * Do not skip attach() if the device is marked _WILL_DISAPPEAR * dell-dock: Port to using fu_device_get_proxy() * Allow adding a device 'proxy' device that can do actions on it * vli: Do not show the USB 2 recovery devices for USB 3 hubs * vli: Add metadata to identify which is the same physical device * uefi: correctly format firmware version of Dynabook (né Toshiba) X30, X40 and probably others * synaptics-cxaudio: Use the ->attach() device vfunc * synaptics-cxaudio: Wait for the device to reboot after writing firmware * logitech_hidpp: decrease verbosity of messages that hid++ ID is missing * Prefer to update the child first if the order is unspecified * Do not modify the device priority for child devices- Exclude fwupdate from the architectures without UEFI support.- Update to version 1.4.0: * Release fwupd 1.4.0 * Allow removing device flags from quirk files * Use black to format python source in a consistent manner * Define SOURCE_VERSION when building a package * Only set the parent when adopting children * Do not conditionalize attach() and detach() on IS_BOOTLOADER * Do not crash the daemon if a plugin does something dumb * wacom-usb: Add more sanity checks in case the daemon goes crazy * wacom-usb: Use a per-device cleanup function * Add some more device regression tests * wacom-usb: Add a lot of missing metadata about the devices * wacom-usb: Hide a lot of debugging behind FWUPD_WACOM_VERBOSE * Only auto-add counterpart GUIDs when required * ccgx: remove update message * ccgx: add parent guid for hybrid dock * ccgx: Use a smaller timeout for i2c read and write operations * ccgx: Retry the register read and write with a i2c reset * ccgx: Fix buffer overflow when reading out i2c status * ccgx: Retry the HID disconnect up to 5 times * ccgx: Show a better error message on failure * ccgx: Allow forcing firmware of the wrong app_type with fwupdtool * Modularize the hardware tests * Ignore indirect devices that replug during the composite firmware update * Export the device state as part of the D-Bus interface * Fix devices that use CounterpartGuid when more than one device is installed * Use the GUID as a fallback rather than the connection ID * ccgx: Fix critical warning on i2c write failure * logitech-hidpp: Do not add peripheral devices for receiver in BL mode * Install the installed-tests only if tests are enabled * Load the signature to get the aliased CDN-safe version of the metadata * vli: Only reboot the USB hub once * synaptics-cxaudio: Only use the PATCH2 address when the patch level is 2 * add STM32F745 stm dfuse quirk * dfu: Add a way to set the timeout from a quirk * Export the release urgency * Export the release creation time * Check the firmware requirements before adding SUPPORTED * data/motd/fwupd-refresh: Only order after network.target * ccgx: Do not add the HID device that will disconnect * ccgx: Use Silicon ID and Application type to set flash parameters * Add a new daemon configuration option to control EnumerateAllDevices * logitech_hidpp: set the bootloader protocol * Install meson from pip for LGTM * bash: add completion for fwupdtool reinstall * fu-tool: add reinstall command * fu-engine: export fu_engine_get_releases_for_device in header * vli: Wait for the VL103 to timeout to fix detach * ccgx: Show the UpdateMessage in the correct device mode * ccgx: Add extra instance IDs to match specific firmware * Use a static version number * thunderbolt: Rather than hardcoding to PCI slot numbers, use domain in GUID * Revert "thunderbolt: Create a unique GUID including Thunderbolt controller path" * dell-dock: Port to fu_device_retry() * nitrokey: Convert to use FuHidDevice * nitrokey: Port to fu_device_retry() * vli: Port to fu_device_retry() * Add fu_device_retry() helper functionality * ccgx: Implement writing firmware to flash * ccgx: Add i2c status check when reading or writing registers * ccgx: Add 5ms delay between read registers to avoid an i2c error * libfwupdplugin: Use fu_device_locker_close() * synaptics-mst: Use fu_device_locker_close() * Add fu_device_locker_close() * ccgx: Do not store the silicon ID in the image address * ccgx: Add device quirks for the Lenovo Hybrid Dock * ccgx: Switch HID mode to HPI mode at startup * ccgx: Clear the event queue when in startup * ccgx: Wait for hardware to settle when coming out of reset * ccgx: Do not mark the device as updatable when in boot mode * ccgx: Verify the firmware app type when preparing firmware * ccgx: Set the update message when running in backup firmware * ccgx: Read the FwAppType from the hardware * ccgx: Set the HPI version number for the current firmware * ccgx: Get the silicon ID to map the flash parameters * ccgx: Read the HPI device mode at startup * ccgx: Set up the HPI I²C config at startup * ccgx: Create devices when in HID and I2C modes * Add a new ChromeOS CI target to build without GPG and PKCS7 * Use Jcat files in firmware archives and for metadata - Removed fu-keyring-gpg which caused CVE-2020-10759 (boo#1172643) * csr: Allow truncated HID reads * vli: Only consider the high nibble when building the sub-version * csr: Parse the firmware as a DFU file * Add support for EP963x hardware * Add FuHidDevice abstraction * vli: Correctly attach VL103 after a firmware update * ccgx: Parse the metadata block in the firmware image * ccgx: Add a firmare parser for cyacd files * logitech: Correctly set the protocol * Add the optional device-id to the update --help output * Fix a difficult-to-trigger daemon hang when replugging devices * vli: Remove a dock device from the whitelist that is never going to be updated * vli: Add some trivial debugging to help track down a bug * vli: Never add USB hub devices that are not upgradable * uefi: Don't use shim for non-secure boot configurations * Start fwupd-activate.service after snapd.service * dfu: Actually reload the DFU device after upgrade has completed * dfu: Add one more m-stack device requiring a quirk * Apply version format to releases and devices at same time * Ensure that the DeviceID is set for child devices * Fix a daemon crash when removing children * Allow waiting for the parent device when replugging * Add fu_device_get_root() shared API * vli: Fix an error when detaching MSP430 * vli: Fix a critical warning when getting the USB speed * vli: Fix the error enum values for the MSP430 * Do not add blank lines when tokenizing Intel hex files * vli: Fix the version calculation for MSP430 * vli: Ignore one more error when attaching * vli: Always expect the VL103 header at 0x1003 or 0x4000 * vli: Do not fall back to the recovery write for usbhubs * vli: Only show the 2nd header if the device ID is valid * vli: Fix VL103 reboot from ROM mode to FW mode * vli: Add some better comments for writing GPIOs * Add a helper script to add a DFU header * Add 'firmware-convert' subcommand to fwupdtool * fu-engine: Make two passes of requirements checking * fu-engine: Copy the VersionFormat from the CAB if specified in `get-details` * Add a new plugin for CPU microcode * Don't build/install fwupdagent man page if agent build is not requested * Introduce a new VersionFormat for `hex` * Drop UEFI quirks we now inherit from metadata * ci: build Debian using libflashrom * When TPM PCR0 measurements fail, query if secure boot is available and enabled * fix fwupd.shutdown.in according to the movement of fwupdtool to bindir * ata: Add OUI quirk for Western Digital and Intel * improved fish shell completion * vli: Set the MSP430 version format to pair * Always return AppStream markup for remote agreements * ata: Add trivial OUI quirk for Micron * added completion script for fish shell * Do not fail loading in /etc/machine-id is not available * Use xb_builder_source_add_simple_adapter * Create FuCabinet and untangle a lot of legacy code * nvme: Do not try to handle integer version numbers * Allow server metadata to set the version format on some devices * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * Decouple the version format from the version itself * Add raw versions for bootloader and lowest * Allow server metadata to set the device name on some devices * Remove support for GCab less than v1.0 * fu-device-list: Check protocol before de-duping devices * Do not allow devices that have no vendor ID to be UPDATABLE * ata: Include a vendor ID for ATA hardware * ata: Switch off the verbose logging by default * Always check for PLAIN when doing vercmp() operations * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * Use the system provided flashrom on Fedora * Add a plugin vfunc to run after subclassed FuDevice creation * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * Generate an additional UEFI quirk file using the stable LVFS metadata * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Refresh fwupd-bsc1130056-change-shim-path.patch - Add new dependency: jcat- Update to version 1.3.9: * Release fwupd 1.3.9 * Always check for PLAIN when doing vercmp() operations * improved fish shell completion * vli: Set the MSP430 version format to pair * added completion script for fish shell * Always return AppStream markup for remote agreements * Do not fail loading in /etc/machine-id is not available * fu-engine: Fixup broken-ness from 0c0fada18fc9cb2a0efec351db67f0867bf045cd * Use xb_builder_source_add_simple_adapter * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * fu-device-list: Check protocol before de-duping devices * ata: Switch off the verbose logging by default * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * fu-util: fix a logic error in report uploading introduced in e076d48afb74d1447936d353f12781755f13b047 * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Update to version 1.3.8: * Release fwupd 1.3.8 * Do not use fu_common_vercmp() when the device verfmt is PLAIN * altos: Output raw buffer data when using FWUPD_ALTOS_VERBOSE * altos: Prefix an error to provide more context * altos: Add a trivial _to_string() implementation * synaptics-cxaudio: Make the verfmt match that of the existing Windows tools * synaptics-mst: Allow MST to fall back if no PCI device is marked as parent * Allow specifying a list of subsystems when setting a physical ID * synaptics-mst: Fix trivial thinko caused by the wrong dock connected * vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child * vli: Switch around the hub tier values * uefi: Fix a build regression with Fedora 30 * logitech_hidpp: Ignore detach failures (Fixes: #1183) * logitech_hidpp: When detaching to bootloader use non-blocking IO and wait for timeout * vli: Show erase progress when doing a v2 recovery * uefi: Do not remove the 'Linux Firmware Updater' boot entry before update * uefi: Do not rewrite BootOrder in the EFI helper * vli: Add support for the PS186 device * Set up more parent devices for various Lenovo USB hubs * cxaudio: Set the update protocol to prevent a daemon warning * vli: Add support for Lenovo Modularized dock * Add an extra instance ID to disambiguate USB hubs * vli: Remove the unused tierX custom flags for each device * Revert "Correctly delete UEFI variables" * uefi: make debugging output more readable * vli: Fix a potential buffer-overflow when parsing firmware * tpm: Optimize the string parsing and fix the boolean logic * synaptics-rmi: Add a missing error enum value * synaptics-rmi: Correctly identify a checksum failure * synaptics-rmi: Fix Coverity issue that is impossible to hit in reality * solokeys: Parse old versions of the bootloader string * Add a plugin to update PD controllers by Fresco Logic * vli: Set the device progress correctly when erasing a PD device * vli: Use the correct command to get the device firmware version * vli: Correctly reset all VL100 devices * vli: Set all standalone PD devices to not do SPI auto-detection * vli: Mark standalone PD devices as updatable * vli: Set the protocol for FuVliUsbhubPdDevice types * Support the new gnuefi file locations * Cleanup ancient fwupdate-* EFI variables too (Fixes: #1739) * Detect kernel lockdown status * vli: Add the DEV instance ID to all devices * tpm-eventlog: Replay the TPM event log to get the PCRx values * tpm-eventlog: Store the eventlog hashes in binary form - Update to version 1.3.7: * Release fwupd 1.3.7 * Correctly delete UEFI variables * ci: allow working with podman w/o aliases * ci: fedora: force correct rpm package version * src: fu-engine: check version was updated by checking version * Correctly import PKCS-7 remote metadata * Add 'refresh' to fwupdtool * Add 'get-remotes' to fwupdtool * Generate a win32 setup binary * Fix display of UTF-8 characters on Windows * Move MOTD population into the daemon * fu-util: Discourage metadata refreshes more than once per day * Disable the battery percentage checks if UPower is unavailable * Allow getting the list of updates in JSON format from fwupdagent * Revert "trivial: Attempt to fix Debian CI" * fu-remote-list: emit a changed signal when modifying a remote * synaptics-mst: Skip self tests for systems with amdgpu * Allow applying all releases to get to a target version * Split up fu_engine_install() into two halves * logitech_hidpp: use the correct timeout for IO channel writes * Allow quirking devices that always require a version check * Shut down automatically when there is system memory pressure * Show the device parent if there is an interesting child * Allow the client to get the list of FwupdDevice children * Set the FwupdDevice parents in fwupdtool * Don't always get the vendor ID for udev devices using the parent * Add a runtime warning when adding a device without an vendor-id or protocol set * vli: Set more of the firmware max sizes automatically * vli: Add a SpiAutoDetect quirk for some of the PD devices * vli: Use a different protocol ID for i2c devices * vli: Add support for standalone Single PD devices * vli: Move generic SPI functionality into the FuVliDevice base class * vli: Remove the PD emulation code * vli: Use a more standard GUID for the child i²c and shared SPI devices * vli: Allow setting the device kind from a quirk * vli: Make more function names match the docs * vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice * vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware * vli: Allow the device to specify the PD firmware header offset * vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice * vli: Define the device GType in the quirk file * vli: Move the CRC calculations out of usbhub scope * vli: Have one 'DeviceKind' for all objects * vli: Rename the `vli_usbhub` plugin to `vli` * Capitalize GNOME - package has grown a few new binaries: fwupdagent, fwupdate, fwupdtool and a tpm event debugging tool, that is packaged separately: fwupdtpmevlog- Drop docbook-utils-minimal build dependency, manpages are generated with gtk-doc.- Update to version 1.3.6: * plugins/coreboot: Add missing fu_hash dependency * trivial: synaptics-cxaudio: Add Google type C <-> 3.5mm adapter * fu-engine: don't expose bootloader version errors to users * trivial: dell-dock: drop unused quirk keyx * trivial: rename synapticsmst to synaptics-mst * trivial: actually set vendor ID for synaptics * fu-remote-list: Drop fallback path behavior * libfwupdplugin: Make sure systemd created environment variables exist * trivial: fu-remotes-list: drop usage of `FU_SELF_TEST_REMOTES_DIR` * trivial: synaptics-rmi: hardcode Vendor string * trivial: Set vendor ID for Dell WD19 to USB:0x413C (Fixes: #1653) * trivial: Document the use of vendor-id in each plugin * superio: Use the baseboard vendor as the vendor ID * uefi: Use the BIOS vendor as the vendor ID * coreboot: Use the BIOS vendor as the vendor ID * flashrom: Use the BIOS vendor as the vendor ID * dell: Hardcode a plausible vendor ID * emmc: Set the correct vendor ID prefix * fu-util-common: correct the default prompt for reboot/shutdown (Fixes: #1617) * Split out the remote loading from FuConfig * vli-usbhub: Fix the quirk for the legacy VIA 813 chip * Clarify error messages when no upgrades available * trivial: Don't handle a vendor-id requirement error that cannot happen * Only check the vendor ID if the device has one set * fu-install-task: Enforce that device protocol matches metadata * Add a new plugin that can parse the TPM event log * Allow other plugins to contribute report metadata * trivial: dell: hardcode the physical device ID for tpm to match the tpm plugin * Add a new plugin that exposes the system TPM device firmware version * Add fu_udev_device_set_flags() * trivial: Render large values of VersionRaw in a more portable way * trivial: wacom-raw: mark all Moffett SKUs as self recovery * Throw exit status 0 (instead of 2) if there is no firmware to be updated * Add a `dell-bios` version format * Add support for multiple LVFS::VersionFormat tags * Do not do semver conversion in fu_common_vercmp() * trivial: Deprecate fu_common_version_parse() * trivial: Support 'plain' in fu_common_version_from_uintXX() * Add the sysfs 'description' as the one-line device summary * trivial: Also print the parent keys when using FU_UDEV_DEVICE_DEBUG * trivial: Add fu_common_version_from_uint64() * trivial: Convert the VersionRaw value to a uint64_t for future use * Allow building on Windows with MinGW * synaptics-prometheus: Allow incremental version major and minor number * Replace 'scheduing' with 'scheduling' * Export the raw device version to the client --verbose output * trivial: Only dlopen the test plugin once * Export the device protocol to the client --verbose output * trivial: installed-tests: try to display journal for failed tests * trivial: ci: debian: enable verbose daemon logging for failure analysis * trivial: installed-tests: explicitly choose webcam device ID * trivial: debian: remove obj-* built files to fix back to back builds * trivial: ci: don't let bad symlinks cause debian build failures * trivial: debian: correct a dependency for libfwupdplugin-dev - Changes from version 1.3.5: * plugins: Fix potential use of NULL pointer in fu_dell_dock_mst_write_register * Fix shifting integer by more than 31 in fu_util_filter_device * synaptics-prometheus: Reload the device version after IOTA update * synaptics-prometheus: Reload the device version after update * trivial: wacom: remove coretronic config from Moffett scope * trivial: Fix a NULL/FALSE confusion * trivial: Add a BR for Fedora * trivial: Fix coreboot commit to fix CI * trivial: libfwupdplugin: clarify name of self test * plugins/coreboot: Improve version detection * plugins/coreboot: Get rid of FU_HWIDS_KEY_BIOS_VENDOR in coldplug * trivial: Move progressbar out of libfwupdplugin * trivial: Unexport fu_test_get_filename() * trivial: Unexport fu_test_compare_lines() * trivial: Unexport fu_test_loop_run_with_timeout() * trivial: Do not include non-introspectable functions in the GIR * trivial: Fix up a few introspection problems in FwupdPlugin * trivial: Include the Fwupd GIR in the FwupdPLugin GIR * trivial: Never add duplicate symbols to the map file * trivial: Properly namespace the defines in the exported header * Install development files for libfwupdplugin * Convert libfwupdprivate to a shared library libfwupdplugin * trivial: Allow building GCab from a subpackage * trivial: Fix under-include to define O_RDONLY * trivial: Allow compiling without * trivial: Do not use FuProgressbar in dfu-tool * synaptics-prometheus: Manually set the bootloader mode when attaching * trivial: Split out a new helper funtion * trivial: Add some optional debugging when hotplugging devices * trivial: Include the correct header for S_IRWXU * Always use the more portable 3-arg form for open() * trivial: Untangle FuHistory from FuPlugin * trivial: Allow compiling without * Revert "synaptics-rmi: Use the build ID as the version number to match the vendor tool" * Add missing documentation from the plugin interface * trivial: fu-udev-device: remove a prototype that was missed in b3d4d2ff * trivial: add missing gtk-doc fields for many files in src/ * trivial: fix compile failure without gudev * synaptics-prometheus: Mirror the _IS_BOOTLOADER from device to config * Allow setting the device flags using GObject properties * vli_usbhub: Set the composite parent at construction time * synaptics-prometheus: Set the composite parent at construction time * Allow plugins to set the parent during construction * vli-usbhub: Whitelist the PD and I²C devices * Set the protocol per-device not per-plugin * synaptics-rmi: Use the build ID as the version number to match the vendor tool * Create a REV_00 instance ID as this may be what the vendor needs to target * fu-util-common: Invert default behavior for reboot and shutdown prompts * trivial: fu-plugin-vfuncs: Add GTK documentation for all vfuncs * Make gudev a compile-time option * trivial: Set the offline trigger using an environment variable * trivial: ci: pull lintian from unstable for now. * trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h * Fix shebangs on scripts * trivial: Use prefixes for DATADIR in config.h for portability * Allow compiling GUsb as a subproject * trivial: fu-udev-device: add a to_string func for debugging * trivial: Don't assume that plugins end in .so * trivial: optionrom: remove unneeded includes * trivial: debian: ci: ignore library-not-linked-against-libc for more * trivial: remove version-format.md * trivial: Allow compiling without pwrite() * trivial: Allow compiling without * trivial: Allow compiling without realpath() * trivial: Allow compiling without HAVE_LC_MESSAGES * trivial: Allow compiling without getuid() * trivial: Allow compiling without * trivial: Allow compiling without * trivial: Allow compiling without * Ensure the _get_type() gets the same ABI version as the constructor * Use the correct unlocker when using GRWLock * trivial: plugins: only build coreboot when option set * fwupdtool: don't show a warning when calling `get-plugins` - Changes from version 1.3.4: * trivial: Don't force specific linker flash when cross building * dell: Use the more portable g_usleep() * trivial: Fix unused header includes * vli-usbhub: Make erasing less verbose and writing more obvious * vli-usbhub: Correctly print the 24-bit USB3 offset * vli-usbhub: Print the PD firmware offset and size for debugging * vli-usbhub: Open the parent device before attempting to read or write from the child * vli-usbhub: Set the install duration for the PD device * trivial: Fix a failed error prefix string * trivial: wacom-raw: Remove embedded from device name * wacom-raw: Correct HWID support * uefi: Just use a uint16_t for BootNext processing * uefi: Use a simpler entries set algorithm * vli-usbhub: Add support for writing using I2C passthru * vli-usbhub: Support updating PD devices that share the hub flash * vli-usbhub: Support the PD file format * trivial: uefi: correct a NULL pointer dereference * uefi: fall back to `ID_LIKE` when the path for `ID` doesn't exist (Fixes:# 1566) * uefi: Make generate_binary.sh more robust * Tokenize the Intel Hex file before parsing * trivial: Detect the USB version automatically * trivial: fu-util/fu-tool: explicitly block unsupported flags * Add support for matching requirements on device parents * Skip cleanup after device is done updating if `will-disappear` is set (Fixes: #1529) * efi: use a wildcard section copy for final EFI generation * modem-manager: explicitly use plain version format * modem-manager: add quirks for the Foxconn T77W968 modules * Allows confined snaps to activate fwupd via D-Bus * trivial: thunderbolt: clarify error message * Add a new property `Interactive` to the daemon * trivial: contrib/get-version.py: require git less hard * superio: Never read from port offset zero * superio: Fix regression when coldplugging superio devices * trivial: Fix Fedora CI build * trivial: Fix the autobuilt spec file with the new tarball version * Dynamically determine release version * trivial: synapticmst: allow missing `/proc/modules` * synapticsmst: filter invalid chip IDs * trivial: Provide some defines for common image names * Allow aborting early when using fu_archive_iterate() * Add fu_firmware_image_set_version() for future use * modem-manager: increase re-enumeration delay to 20000ms * modem-manager: add counterpart GUID for the DW5821e/eSIM * Add versions formats for the Microsoft Surface devices * usb: make loading vendor/product/serial strings non-fatal * trivial: Fix the protocol ID for VLI usbhub devices * trivial: wacom-raw: add more device IDs for Dell devices * trivial: contrib: don't require TSS for debian archs without EFI * fu-udev-device: Adjust bounds checking to be safer * fu-udev-device: Don't assume all devices have `device_file` * synaptics-rmi: correct an error cleaning up on probe * trivial: fu-udev-device: add some safety checks for fd * udev-device: fix offset of vendor id of hidraw devices * flashrom: switch to upstream source * trivial: fu-plugin: only show an error once "failed to open plugin" was being prefixed twice * trivial: debian: only use mingw-w64-tools in archs with UEFI plugin * fastboot: Fix a regression when updating modem firmware * trivial: conflict with old unifying plugin * Rename unifying plugin to logitech-hidpp (Fixes: #1329) * Add a new contrib script for installing a Dell BIOS from an EXE file * trivial: add-capsule-header: rename to make it easier to import * trivial: simple_client: make it easier to reuse code * trivial: firmware-packager: make it easier to reuse code * trivial: add-capsule-header: make it actually work * trivial: fix some gtkdoc sections * Bump the required gudev version * trivial: Fix a compile error with older versions of gudev * trivial: wacom: add vid/pid for panels in Moffett * trivial: post release version bump - Changes from version 1.3.3 * unifying: notify users to replug when using dfu control (Fixes: #1383) * trivial: 8bitdo: set a transient failure while waiting for user action * libfwupd: Add a new error type for user action needed * trivial: 8bitdo: show the same message for SN30pro and SN30pro+ * trivial: Fix up some typos from codespell * trivial: Ensure config.h is included in all source files * trivial: Fix up some NULL/FALSE confusion * trivial: Add all the _LAST enums that shouldn't be checked for ABI * trivial: Fix a typo that means that UEFI results were never cleared * Always report the update-error correctly for multiple updates * trivial: Fix fwupdmgr get-history if the firmware was not installed from the LVFS * trivial: Do not emit a warning if a child has no version number * Move the file descriptor lifecycle into FuUdevDevice * trivial: Fix some GtkDoc annotations * ebitdo: Modernize the plugin to use FuFirmware * nitrokey: Use fu_common_dump_raw() when debugging * thunderbolt: Create a unique GUID including Thunderbolt controller path * Use device safety flags to show prompts before installing updates * trivial: Use the new possible_plugin support for USB devices too * jabra: Move the Jabra-specific detach out into its own plugin * Ensure the device is open when doing the subclassed prepare() and cleanup() * vli-usbhub: Add support for updating V2 devices * Allow verifying the device image itself from fwupdtool * Use XMLb to query quirks * trivial: ci: disable pulling libxmlb from unstable * synaptics-prometheus: Don't add a config-subdevice in bootloader mode * dfu: Use the VID/PID to identify devices without download capability in runtime * trivial: debian: remove some unneeded lintian * trivial: debian: bump compat version * ebitdo: Add SN30Pro+ to recognized quirk list (Fixes: #1503) * dfu: Add several quirks for Realtek camera hardware * dfu: Always mark devices as UPDATABLE * uefi: use `genpeimg` to mark ASLR and DP/NX on EFI binary * trivial: solokey: correct a typo * trivial: fu-util: fix typo * uefi: rework ESP path detection and lifecycle * trivial: uefi: show more metadata in to_string method * trivial: fu-device: add new method to remove metadata * Add a plugin to update VIA USB hub hardware * trivial: Add fu_common_read_uint8_safe() * trivial: Fix two typos in fu_common_read_uint16_safe() * solokey: Allow parsing firmware with fwupdtool * Allow fwupdtool to dump details of common firmware formats * trivial: Do not do system coldplug when using FU_ENGINE_LOAD_FLAG_NO_ENUMERATE * trivial: fu-self-test: set polling self tests to slow * trivial: fu-tool: Allow `detach`/`attach` to prompt for device * Strip trailing whitespace from USB descriptors * trivial: Add fu_common_read_uint16_safe() * trivial: Add version to the FuFirmware->to_string() output * Add fu_firmware_set_version() * Add a systemd preset file for `fwupd-refresh.service` * trivial: dell: work around a memory leak caught by address sanitizer * ebitdo: if the device has the will disappear flag, don't wait for ack (Fixes: #994) * Add a new plugin for working with eMMC devices (Fixes: #1455) * fu-engine: Check multiple plugins if quirks match * trivial: don't try to enable LVFS from systemd * trivial: coreboot: fix a clang compiler error * fu-util: Add user friendly strings for all device flags * Add new device flags indicating update resilience * plugins: Add coreboot plugin * fu-plugin: Add fu_plugin_get_hwid_replace_value * trivial: Increase verbosity when actually updating devices * trivial: Allow plugins to use WAIT_FOR_REPLUG in prepare and cleanup * Add FuDevice->prepare() and FuDevice->cleanup() vfuncs for future use * dfu: Implement FuDevice->to_string() * trivial: colorhug: fix a crash that occurs when flashing sometimes * trivial: fu-util: break out of automatic reports if one is not automatic * thunderbolt: some more clarifications when using ICL * trivial: fwupd-refresh: activate motd if using systemd v243 or later * trivial: fwupd-refresh: allow exit code 2 for success * trivial: synaptics-cxaudio: Add Google Pixel buds * trivial: arch: ci: Wait some time for tpm_server to start up * Allow a custom FuFirmwareImage->write() in superclassed objects * dfu: Remove two completely unused helpers * dfu: Make DfuFirmware derive from FuFirmware * dfu: Make DfuImage derive from FuFirmwareImage * dfu: Remove private headers that do not need to exist * Fix device flag filtering * trivial: fu-engine: Don't compare device and content checksums * fu-engine: Read all releases and convert versions when comparing * Add new flags `can-verify` and `can-verify-image` * trivial: make verify and verify-update safer * trivial: test: add checksums for "stock" 1.2.2 * trivial: fu-udev-device: use parent udev device to indicate `internal` * trivial: fix TPM2 simulator tests for arch * trivial: uefi: don't add PCRs with all 0's * trivial: Fix a recent regression causing a double-free * synaptics-cxaudio: Support the ThinkPad USB-C Dock Gen2 * trivial: fu-util: add some extra checks around automatic reports * trivial: fu-tool: typo * fu-systemd: Use correct method for stopping units. * trivial: fu-udev-device: Use ID_PCI_CLASS_FROM_DATABASE if name not set * trivial: fu-plugin: quiet down debug output for optionrom plugin * 8bitdo: use will-disappear flag for sf30/sn30 controllers (Fixes: #783) * trivial: ebitdo: don't dump out firmware header unless plugin verbose * trivial: ebitdo: don't use local errors when writing firmware * Add a new device flag for indicating device won't come back * wacom-emr: Fix a regression for EMR devices * Add a generic DFU firmware object for plugins to use * dfu: Use FwupdInstallFlags rather than a DFU-specific version * dfu: Remove functionality for modifying DfuSe files * dfu: Remove functionality you can do now with fwupdtool * dfu: Remove the merge command as it's unused and broken * trivial: Add fu_firmware_parse_file() helper for future use * trivial: Remove the fuzzing details for DfuPatch * trivial: Add klass->to_string for superclassed FuFirmwareImage objects * dfu: Remove DfuPatch as no vendor actually uses this * dfu: Don't wrap provided VID-PID functions * dfu: Use the standard FuDevice custom flags functionality * dfu: Use klass_device->write_firmware() directly * dfu: Use the generic fu_plugin_usb_device_added() function * dfu: Use daemon flags to ignore devices rather than a special flag * dfu: Set the device state directly to avoid proxying signals * dfu: Use the built-in detach() and attach() vfuncs * Read firmware back from the device as a FuFirmware * dfu: Remove a pointless function * dfu: Remove support for the Metadata Store Proposal * dfu: Remove XTEA support * dfu: Remove the SREC and IHEX parsing out of the DFU plugin * ebitdo: Use klass_device->write_firmware like other plugins * trivial: Remove G_BEGIN_DECLS from all private headers * Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it * Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN * thunderbolt: recognize new 'generation' sysfs attribute * Rename and modernize the udev plugin * synaptics-rmi: Also add the product ID as a GUID without the minor version * synaptics-rmi: Correctly set the payload length rather than hardcoding it * synaptics-rmi: Write the core config correctly * synaptics-rmi: Decode BL7 status failures as actual errors * synaptics-rmi: Add some trivial debugging to help debug a write problem * trivial: uefi: Make efivarvs errors clearer (Fixes: 1330) * trivial: uefi: don't prefix efivar errors * trivial: Remove some now-unused vfuncs * altos: Modernize the plugin to simplify it * Create the custom plugin GType in common code * Reduce more boilerplate in plugins * synaptics-rmi: Check the correct register when querying bootloader mode * trivial: fu-engine: fix never reporting remotes * trivial: fu-util: don't show warnings for no reports to upload * trivial: debian: remove more conffiles from transitions (Closes: #932617) * trivial: debian/control*: Update for fwupdate transition * trivial: Fix a tiny memory leak when starting the daemon * modem-manager: Fix a tiny memory leak when starting the daemon * synaptics-rmi: Copy the behavior of rmi4utils for BL7 detach * synaptics-rmi: Simplify fu_synaptics_rmi_device_read() * synaptics-rmi: Set the version after ->setup has run * synaptics-rmi: Use the correct mask when getting the bootloader mode on BL7 * syanptics-rmi: The build_id is 3 bytes long, not 2 * synaptics-rmi: Read the config partition the same as rmi4utils * Provide a default implementation of common FuDevice actions * thunderbolt-power: avoid checking for bolt support * synaptics-rmi: Add some debugging for BL7 devices * Fix usage of incorrect type for return value * synaptics-rmi: Do as little as possible in device setup * synaptics-rmi: Speed up reading the PDT from 900ms to 30ms * fu-util: add support for a reinstall command * trivial: fu-util/fu-tool: update re-install help text to reinstall * trivial: fu-util: remove double printed message about succesful firmware update * trivial: fu-util: show no updatable devices error for update command * synaptics-rmi: Ignore the ATTN reports from the hardware when reading DATA * synaptics-rmi: Move the fuzzing instructions to the toplevel README * Fuzz the SREC and IHEX file parsers once more * Use parallel fuzzing for the SMBIOS checks too * synaptics-rmi: Fix the packing of the partition table * Add a plugin to update Synaptics RMI4 devices * trivial: Add a parallel fuzzing script * trivial: fu-util: output newline after prompt. * trivial: fix %u output in report upload * Add a --no-domain logging option * trivial: Fix compiler warning for impossible-to-hit condition * Add support for automatically uploading reports * trivial: motd: disable updating motd for now * trivial: fwupd-refresh: fix a clash with fwupd.service (Closes: #941360) * trivial: Fix Fedora CI * trivial: fu-udev-device: fix some assertions * Search up the tree for a vendor name rather than (ab)using the HID_NAME * Add some success messages when CLI tasks have completed * trivial: Put the boolean prompt on the same line as the text * Never show LicenseRef-proprietary to the end user * trivial: snap: correct install hook root directory * Export the instructions for detaching the device * uefi: detect unmounted ESP partitions (Fixes: #1405) * uefi: stop recording efibootmgr output after flash * trivial: post release version bump - Changes from version 1.3.2: * Add support for '' to disambiguate some firmware * thelio-io: Add a plugin to detach the Thelio IO board * trivial: uefi, dell: skip self tests with TPM if non-root (Fixes: #1396) * trivial: dell: quiet the TSS output * trivial: uefi: allow forcing to TPM2 via environment variable * Do not ask the user to upload a report if ReportURI is not set * Do not enumerate physical devices when running the internal self tests * trivial: libfwupd: skip tests if machine-id is empty too * Add a new plugin to update Conexant audio devices * Export the salted machine ID as a daemon property * Fall back to /var/lib/dbus/machine-id when required * trivial: add stalebot (Fixes: #1393) * trivial: dell-dock: correct another write_size error * Align the key values to the text *width* not the number of bytes * trivial: Move dbus directory location for snap too * trivial: Fix some NULL/FALSE confusion * synaptics-prometheus: Fix tiny memory leak when using FuSynapromConfig * trivial: Fix tiny memory leak when using FuSrecFirmware * snap: switch to core18 * trivial: Return the correct property when getting the host product * trivial: fu-util-common: fix description wrapping (Fixes: #1378) * fu-util/fu-tool: Map out changelogs from remotes * fu-util/fu-tool: Better display historical information * fu-history: Update device_modified in sql database during updates * unifying: Use the instance ID to check for supported devices * unifying: Ensure HID++ v2.0 peripheral devices get scanned by the plugin * trivial: Add some more defines to the srec parser * trivial: fix wget command in fu-tool.c * Allow parsing a raw SREC file * trivial: wacom: Add support for second vendor ID * uefi, dell-esrt: Show firmware version when capsule updates unavailable * Add some more debugging to the SREC and IHEX parsers * Print the instance IDs if the GUIDs are unconverted * Add fu_common_bytes_compare_raw() for future usage * Call the set_quirk_kv() vfunc for the superclassed object * uefi: make the TPM optional for runtime again (Fixes: #1362) * trivial: uefi: Make the TCTI output less verbose * Support in AppStream metadata * Include all GUIDs when uploading a report * Do not crash when starting tpm2-abrmd * trivial: Update DBus conf path for example Fedora package * Move D-Bus conf file to datadir/dbus-1/system.d * trivial: Add fu_io_channel_write_byte_array() for future use * trivial: post release version bump - Package new sub-packages typelib-1_0-FwupdPlugin-1_0 and libfwupdplugin1.- Fix file list- Update to version 1.3.1: (jsc#SLE-10751) * Allow disabling all plugins * trivial: Specify the tpm2-tss-devel version in the example spec file * Move to CI Fedora 30 * modem-manager: Fix two build warnings on Fedora 30 * synapticsmst: Add another name quirk for the ThinkPad USB-C Dock * Re-introduce GUID support to fwupdmgr and fwupdtool * uefi-recovery: Add a plugin to add a fake ESRT entry for device recovery * Add a DMI quirk for the Minnowboard Turbot * trivial: Make it easy to disable or enable libflashrom for distros * trivial: Don't use Recommends for RHEL 7 * unifying: fix timeout metadata * ci: arch: minor improvements * unifying: fix timeout * Allow disabling SSL strict mode for broken corporate proxies * trivial: Allow ignoring the daemon version check by using --force * Try to only show DMI product name once * trivial: fu-util-common: Show unknown devices as interesting devices * dell: Use TSS to query and build TPM vendor strings for GUIDs * trivial: dell: show reasons for lack of updates in `UpdateError` * fu-util-common: strip all trailing whitespace in XML description * trivial: fu-common: match all whitespace not just ' ' in `fu_common_strstrip` * fu-util: show release output in get-details again * unifying: use fu_firmware_strparse_uint16 to read be 16bit values * unifying: fix incomplete hex file parsing * fu-util/fu-tool: Print devices, remotes, releases using a tree * Add aliases for `get-upgrades` and `upgrade` * trivial: UEFI skip self tests if library fails to initialize * libfwupd: Add a new private function `fwupd_remote_set_remotes_dir` * trivial: add libtss2-dev into debian/control (Closes: #1324) * trivial: Fix up the GtkDoc Since lines for API only available in 1.3.x * trivial: Post branch version bump * thunderbolt: Add support for kernel safety checks (Fixes: #1312) * Include the kernel release as a runtime version * trivial: fu-util: Drop GUID support from get-devices * synapticsmst: Partially rewrite the plugin (Fixes #1105) * Remove replug flag after the device comes back from reboot * trivial: Fix running the tests on devices with the TPM in v1.2 mode * trivial: fu-util-common: more cleanup related to topology * trivial: fu-util: cleanup fwupdmgr get-details output * trivial: Don't use topology printing in --verbose mode * Make get-devices and get-topology aliases for one another * trivial: Adjust daemon device sorting * Make get-topology more useful by showing all information * trivial: Fix fu_common_string_append_kv() to align properly with idx > 0 * trivial: dell-dock: correct an error preventing write_size from being set * trivial: Do not warn about deprecated declarations * trivial: Update BRs for the example Fedora package * uefi: add test for TPM 2.0 PCR read function * uefi: use tpm2-tss library to read PCR values * fu-common: Use environment variables for systemd managed directories * Use more systemd directives for directories * trivial: fu-util: fix debug output for devices * Allow turning off the timestamp prefix for debugging * Add a ->udev_device_changed plugin vfunc * Add fu_device_rescan() and a FuDevice->rescan() vfunc * Remove the duplicate files in meson.build * Hash the source files when generating the daemon hash * Split up source files in the build script * uefi: add support for tpm2-tools 4.X * trivial: plugins: clarify stance on afuefi.efi * trivial: plugins/: Update README * trivial: disable gtkdoc by default * trivial: update references of hughsie/fwupd to fwupd/fwupd * Publish docs to fwupd.github.io using CircelCI * Add support to integrate into the motd (Fixes: #1270) * Simplify get-devices output to not show un-useful fields * fu-engine/fu-config: Reload metadata store when configuration changes * trivial: If no devices support updates, show messaging (Closes: #1295) * trivial: uefi: set vendor name for system firwmare from DMI data * unifying: update Solaar url * thunderbolt: Fix logic to work properly with ICL thunderbolt controller * Add fu_udev_device_get_device_file() helper * trivial: Fix regression when using fu_device_incorporate() * trivial: Fix a potential crash when using FuPlugin in the self tests * synapticsmst: Make FuSynapticsmstConnection an actual GObject * synapticsmst: Use the same style as other plugins * trivial: Add some helper functions for GByteArray * Do not use FuDevice metadata for the physical and logical IDs * Use fu_common_string_append_kv() in subclassed device * synapticsmst: Use G_DECLARE_FINAL_TYPE to simplify the object * synapticsmst: Add a SynapticsMSTBoardID for another Lenovo dock * trivial: remove unnecessary CUSTOMERID_DELL define * synapticsmst: Add a SynapticsMSTBoardID for a Lenovo dock * synapticsmst: Display the board ID in non-hex form in the error message * synapticsmst: Use a more suitable icon for the device * trivial: Remove unused variable * Never use memcpy() in a possibly unsafe way * Add a ->to_string() vfunc to FuFirmware * Use FuFirmware as a container for firmware images * Allow filtering devices when using the command line tools * Be more accepting when trying to recover a failed database migration * trivial: Add translation for X-ThunderboltController * trivial: fixup standalone installer * modem-manager: add counterpart GUID for the DW5821e * solokey: Release the interface and rebind the kernel driver on close * fu-tool: Port ability to update a single device from fwupdmgr * uefi: Actually write the new device path if different than before * Allow setting custom flags when using fwupdate * trivial: Do not show a critical warning if no firmware is specified * trivial: Fix overzealous search-replace action in user string * Verify we don't break the ABI * Fix a crash when stopping the fwupd service * Relax the certificate time checks in the self tests for the legacy certificate * trivial: add cache directory into systemd unit rw paths * Never show AppStream markup on the console * Do not segfault when trying to quit the downgrade selection * trivial: Update icons for Thunderbolt and MST devices * Add support for the SoloKey Secure * trivial: Allow a device to *clear* a firmware version * trivial: debian: For signed package fill out Built-Using (Closes: #932757) * Allow specifying GUID to check any version exists * trivial: post release version bump * Release fwupd 1.2.10 * Disable the flashrom plugin by default * trivial: thunderbolt: catch failure setting up device * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * trivial: uefi: use UEFI-dummy for device ID instead of just uefi * trivial: fix error handling for non UEFI case (#1220) * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * trivial: ci: debian: Only turn on flashrom when running CI * trivial: Fix typos in error messages * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * trivial: Fix the version script to pick up boxed types * trivial: Correctly order the map entries according to vercmp rules * trivial: Fix pylint issue in the version script * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * Revert "Allow SuperIO updates to be done live" * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * trivial: uefi: use the path for efibootmgr that was detected * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * trivial: Add some parameter guards to FuDevice * trivial: snap: make polkit directories if they don't exist (Fixes: #1205) * trivial: fu-main: clarify missing PK file error * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * trivial: circleci: try to fix automatic snap deployment * Allow SuperIO updates to be done live * fu-util-common: Support empty proxy strings (Fixes: #1199) * trivial: uefi: clarify error message * trivial: Fix non-systemd build * trivial: Sync example spec file with downstream * trivial: post release version bump - Drop fwupd-bsc1143905-hash-the-source-files.patch: Applied upstream. - Add pkgconfig(tss2-esys) BuildRequires: New dependency. - Add gtk-doc BuildRequires and pass gtkdoc=true to meson, build api docs even when using source service.- Add fwupd-bsc1143905-hash-the-source-files.patch to hash the source files instead of libfwupdprivate.a to avoid the checksum change due to the random naming LTO profile sections (bsc#1143905)- Update to version 1.2.10: * Disable the flashrom plugin by default * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using - -plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * fu-util-common: Support empty proxy strings (Fixes: #1199) - Add python3-setuptools to BuildRequires for generate-version-script.py- Update to version 1.2.9: * Release fwupd 1.2.9 * trivial: Add two new translatable strings for new category types * Check if the system is offline during install, rather than at startup * Prompt the user to shutdown if requried when installing by ID * Use the correct file extension for the offline updates cache * trivial: Allow using --force to use the wrong daemon version * trivial: Display the correct expected command * standalone-installer: Be smarter about existing installed fwupd * Add a plugin to update Synaptics Prometheus fingerprint readers * trivial: standalone-installer: rename uninstall argument to cleanup * fu-util: Check the daemon version is at least the client version * fu-util: Check that daemon is started by expected unit * fu-util-common: when stopping a daemon, check for snap too * Allow using --force to trigger a duplicate offline update * trivial: Allow using FuUsbDevice without a GUsbDevice * trivial: Copy the icons if unset for the device child * trivial: Copy the physical ID if unset for the device child * trivial: Ensure the parent ID is up to date if the device ID changes * trivial: Fix typo when setting the parent ID * trivial: Disable the flatpak CI build * Allow handling FORCE for devices that subclass FuDevice * uefi: Fix a libasan failure when reading a UEFI variable * trivial: Fix a memory leak found using libasan * trivial: Fix an libasan failure in the dell plugin * trivial: Fix some dead code spotted by coverity * trivial: Fix a typo spotted by coverity * trivial: Fix a missing config.h include in a new source file * Dynamically read path to use for /system-update * Display the remote warning on the console in an easy-to-read way * ata: Set version format to plain for devices obtained from udev * trivial: Only apply SmbiosManufacturer to release version for internal * trivial: Fix two bugs in the hardware self tests script * Never guess the version format from the version string * Only force a semver when the device opts-in * Export the version-format to clients * Add missing gtk-doc documentation * dfu: Add some trivial, but useful, debugging for AVR DFU devices * dfu: Correctly identify DFU firmware that starts at offset zero * dfu: Don't keep showing trivial debug output * dfu: Reset the forced version during attach and detach * ata/nvme: For devices running Dell firmware, set `VersionFormat` (Fixes: #1169) * fu-engine: Check if VersionFormat is ambiguous when adding devices * trivial: Fix fwupdate --apply * Only use class-based instance IDs for quirk matching * trivial: dell-dock: set minimum board to 6 * trivial: post release version bump- Update to version 1.2.8: * Don't upload reports when the user has configured their system in a broken way * Allow setting the daemon verbose domains at runtime * Allow fwupdmgr to modify the daemon config * Do not compare version formats when the release format is unknown * Do not fall back integers to a plain version format * Use the device version format when converting the release version * Set the VersionFormat using the metadata or the UEFI quirk - Changes from version 1.2.7: * l10n: Create Lithuanian translation file * l10n: Update LINGUAS * Updated: Add support for 8BitDo M30. * modem-manager: increase the timeout to wait for modem after uninhibited * modem-manager: implement qmi pdc active config selection as attach() * fu-engine: When removing activation flag match the correct version * Require --force to install a release with a different version format * Match the old or new version number when setting NEEDS_REBOOT * Make an error message clearer when there are no updates available * Add support for the not-child extension from Logitech * thunderbolt: Set require-ac for Thunderbolt devices (Fixes: gh#hughsie/fwupd#1142) * Fix some typos spotted using codespell * Add a component categories to express the firmware type * fu-tool: Port get-history command to fwupdtool * Recreate the history database if migration failed * Move the core built-in 'fwupd' remote over to the dell-esrt plugin * snap: Add a custom systemd unit to call activation on shutdown (Fixes: gh#hughsie/fwupd#1125) * ata: Flush cache before standby and activate * synapticsmst: blacklist plugin when using amdgpu (Fixes: gh#hughsie/fwupd#1121) * uefi: add a new option to specify the os name * Return the newest device when using fu_history_get_device_by_id() * uefi: More carefully check the output from tpm2_pcrlist * uefi: Don't overwrite CustomFlags if set from a quirk * Shut down the daemon if the on-disk binary is replaced * ata: Correct activation functionality * Fix version comparisons after reboot for some formats * fu-tool: save history from stuff installed with `fwupdtool` - Changes from version 1.2.6: * ata: send ATA standby immediate when activating firmware * offline: Be more graceful when dealing with Plymouth failures * Save the new version in the history database for offline updates * Show the DeviceID when showing the updates list * Allow forcing an offline-only update on a live system using --force * Do not schedule an update on battery power if it requires AC power * superio: Add InstallDuration default value * superio: Add support for writing new e-flash contents * superio: Fix reading the attestation checksum * superio: Add support for reading the device checksum * superio: Use the chipset ID in the device name * superio: Move the device flush before getting the register map * superio: Move all the IT89xx code to a subclassed device object * superio: Move all the IT85xx code to a subclassed device object * superio: Split and export fu_superio_device_ec_writeX() * superio: Remove the port from fu_superio_device_ec_read() * superio: Move the register read/write into the FuSuperioDevice object * superio: Check the IOBAD0 is usable during setup * superio: Use fu_device_set_firmware_size() * superio: Move some constants out to the common header * superio: Use GObject properties in FuSuperioDevice * superio: Convert FuSuperioDevice to be derivable * Update Plymouth when updating pending firmware * Ask to reboot after scheduling an offline firmware update * Do not fail when scheduling more than one update to be run offline * Allow running offline updates when in system-update.target * Fix the location of fwupdoffline in the service file * Add optional vfuncs to allow detaching and attaching verify() * superio: Add list of SPI commands for future usage * Add a verify-update command to fwupdtool * uefi: Actually upload the UPDATE_INFO entry for the UX capsule * superio: Get the chip size from the EC rather than hardcoding * uefi: Check the error code of QueryCapsuleCapabilities() correctly * Update the UEFI UX Capsule Header checksum when needed. * uefi: Copy the shimx64.efi binary for known broken firmware * Correctly get the check the new version for devices that replug * Add a simple script to add a capsule header * Ensure the PKCS-7 client certificate exists at startup * fix makecab directive options * fwpup.service: use display-manager.service instead of gdm.service * Allow signing the fwupd report with the client certificate * Add a D-Bus method to generate a signature using the self-signed client certificate * Allow signing and verifying data using a PKCS-7 self-signed client certificate * Fix a critical warning when loading a PKCS-7 certificate with no DN * Include all device checksums in the LVFS report * modem-manager: Fix a trivial build warning * superio: Fix a trivial build warning * Move out the offline update functionality to a new binary * Do not reboot when failing to start fwupd during offline updates * Do not write the schema version to the db when loading * Do not recreate XbSilo caches when running on a readonly filesystem * Add the fwupdagent binary for use in shell scripts * Allow restricting firmware updates for enterprise use * standalone-installer: new --allow-older and --allow-reinstall options * Show the upgrade and downgrade flags when getting releases for a device * Rename FwupdRelease:trust-flags to FwupdRelease:flags * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions * modem-manager: implement support for qmi-pdc * Add a plugin to support ModemManager hardware * fu-tool: Don't let failing to find dbus prevent engine from starting * ata: Support delayed activation * dell-dock: Use activation when calling fwupdtool activate * Add a support for delayed activation * uefi: Fix the self tests when running on Fedora SilverBlue * Do not fail to start the daemon if tpm2_pcrlist hangs * po/make-images.sh: quote LOCALEDIR and PYTHON3 * meson: print stderr of python3 command instead of stdout * Revert "contrib/debian: Switch to debian unstable" * Add elogind support - Changes from version 1.2.5: * uefi: fix segfault in fwup_set_update_statuses * Show in Flathub correctly * debian: explicitly depend on shared-mime-info * superio: Implement detach() and attach() * superio: Correct the names of some constants and improve debugging support * dell-dock: Filter the last supported payloads of certain board 4 SKUs * circleci: Manage the lifecycle of the snap * Add support to run snap build in CircleCI * wacom-usb: Use the correct buffer format for the touch module * wacom-usb: Set the install duration for each device type * wacom-usb: Return with an error if there were too many retries * wacom-usb: Make updating less verbose * Convert all child instance IDs when converting the parent * uefi: Allow devices to create more complete fake UEFI devices * unifying: Fix regression when recovering from failed flash * Ensure libxmlb dir exists for LGTM.com * Add C build configuration for LGTM.com * Use G_BEGIN_DECLS correctly for internal headers * standalone-installer: Fix issue found by LGTM * Use '#pragma once' to avoid a lot of boilerplate * Force LGTM to see Python 3 * fwupd: Hide firmware-packager behind meson option` * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab * Fix a regression in using the InstanceIDs for quirk matching * thunderbolt: Convert the instance IDs as we never open the device * udev: Manally call fu_device_setup() to convert the instance IDs * fu-tool: Correct a crash caused by calling fwupdtool update * fu-tool: Don't fail if dbus is unavailable * contrib/debian: Switch to debian unstable * wacom-usb: Record the block number when failing * wacom-usb: The touch address is big endian * wacom-usb: Accept a non-binary IHEX file for the touch update * wacom-usb: Only poll when the device status is 'busy' * wacom-usb: Only reboot the device when all composite devices have been updated * wacom-usb: Fix flashing failure with latest Intuos Pro tablet * dfu: Fill holes when reading SREC files * Add fwupd_guid_from_string() to drop dep on uuid * wacom-raw: Check the InstanceID rather than GUID * Defer the InstanceID->GUID hashing until after setup * ata: Check for USB enclosures as well * Do not use efivar just to print a mixed endian GUID * Add fu_device_add_instance_id() and prefer explicit conversion * Report the DeviceInstanceIDs to `fwupdmgr get-updates` * Export some of the GUID functionality * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin * nvme: Add an extra check for Dell plugins to avoid false positives * ata: Add support for detecting Dell GUIDs * Fix the self tests when using glib2 >=2.59.0 * Add support to call composite prepare and cleanup using fwupdtool * uefi: Disable -Wno-address-of-packed-member * uefi: Don't unconditionally enable Werror for the EFI binary * Disable -Wno-address-of-packed-member - Changes from version 1.2.4: * Remove the autogenerated headers in the gettext files * ata: Default to the non-activation 0xE subcommand * fastboot: Use a much longer timeout as the removal delay * fu-progressbar: be more quiet when running non-interactive * fu-tool: Show UpdateMessage if applicable for install command * dfu: Simplify the SREC parser to avoid a crash with an invalid file * wacom-raw: Use the correct error codes when the panel is not supported * wacom-usb: Add some more information to the README * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7 * dell: Check that the flash interface command is available * wacom-usb: Fix the plugin name to allow devices to be updated * fastboot: flash the partition after downloading the file * uefi: Add a quirk to use the legacy bootmgr description * ata: Mark all devices as needing a reboot * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware * udev-device: Add a utility function for debugging * udev-device: Set the firmware revision automatically * udev-device: Set the serial number automatically * udev-device: Fall back to non-database model and vendor values * udev-device: Fix critical warning if the device has no parent * dell-dock: Add support for a passive flow * Add support for an `UpdateMessage` and display it in tools * fu-tool: Port the `get-updates` command over * When using `directory` remote type automatically generate metadata * libfwupd: Add support for new remote type "directory" * Ensure cabinet archives always have a container checksum * Add support for a per-release source and details URL * When generating a CAB Silo use the prefix "components" * uefi: Add a trivial debugging statement to debug a UX capsule failure * uefi: Use fwup_new0() to allocate the updates table array * nitrokey: Correct Nitrokey Storage invalid firmware version read * dell-dock: Add support for flashing Thunderbolt over I2C * wacom-raw: Add a plugin to update Wacom embedded EMR and AES panels * fu-util/fu-tool: sync up reboot and shutdown behavior * dfu: Ignore the SUB ASCII value * dfu: Fix the parser to support extended segment addresses * dfu: Support ihex files with leading comments don't show an error * uefi: Correct a boot order creation bug (Fixes: gh#hughsie/fwupd#956) * uefi: Remove all variable length arrays * uefi: Fix a logic bug in fwup_search_file() * uefi: Use _cleanup_free in one more place * uefi: Do not pass required attrs to fwup_delete_variable() * uefi: Delete the old Linux-Firmware-Updater boot entry * uefi: Use the GNU-EFI BOOL type * Check if plugin changed after the device attaches or detaches * uefi: Refactor and simplify the EFI loader * Show a console warning if loading an out-of-tree plugin * UEFI: Do the UX checksum calculation in fwupd * wacom-usb: Add two more Intuos tablets * nvme: Add the needs-shutdown quirk to Phison NVMe drives * Add _NEEDS_SHUTDOWN flag for devices * Use GCC __cleanup__ features in the EFI loader * nvme: Add flag to support manually aligning the firmware to the FWUG value * nvme: Support FGUID to get the SKU GUID * nvme: Support FWUG to get the write block size * nvme: Add trivial comment to clarify address bitshifting * uefi: Do not check the BGRT status before uploading a UX capsule * dfu: Fix flashing various Jabra devices * upower: Add support for checking battery percentage * nvme: Check the return code of the admin passthru ioctl * fu-tool: Add support for an 'update' command to fwupdtool * dell-dock: Set minimum board to board 4 * dell-dock: Workaround a manufacturing bug for board level 4 * dell-dock: Wait longer for re-enumeration on TBT SKU * superio: Support IT89xx devices * fu-main: remove incompatible locale error message * Add a new plugin checklist (Fixes: gh#hughsie/fwupd#899) - Dropped obsolete patch: fwupd-bsc1130056-change-esp-os-name.patch (upstream PR: gh#hughsie/fwupd#1119 - Fixed fwupd-bsc1130056-change-shim-path.patch so that it works with the new files - Cleaned up changelog- Stop shipping polkit rules, as we have the distro specific setup in polkit-default-privs (boo#1125428).- Add fwupd-bsc1130056-change-esp-os-name.patch to change the OS directory in ESP (bsc#1130056) - Add fwupd-bsc1130056-change-shim-path.patch to set the default shim binary for openSUSE/SLE (bsc#1130056) - Link fwupd*.efi.signed to fwupd*.efi as requested by fwupd (bsc#1129466)- fwupd.spec: fix shell syntax error in %postun section (boo#1120363).- Update to version 1.2.3: * Correctly migrate the history database - Changes from version 1.2.2: * Log an error if started with an incompatible locale * Fix building with -Wl,-z,defs * ebitdo: Fix the reported version number if the daemon locale is not C.UTF-8 * Add Dell TB18DC to the known devices list * Allow replacing the last byte in the image when using 'dfu-tool replace-data' * Check the device checksum as well as the content checksum during verify * Submit the device firmware checksum and update protocol in the submitted report * Include the device checksum and update protocol in the historydb * uefi: Add the PCR0 value as the device checksum for system firmware * Add new API to get the release protocol from the metadata * Allow plugins to define support for a 'well-known' protocol * uefi: When adding headers set the header size to 4k * uefi: Append the header on capsules without headers from Linux * flashrom: Ensure the quirks database is set on the new object * uefi: Do not add devices with invalid GUIDs * Do not allow a GUID of zero * Add shared functionality for reading and writing with O_NONBLOCK * Only run attach and detach if the device is in the wrong mode * Sanitize the version if the version format has been specified * wacom-usb: Remove the DTH generation hardware as it will not work with fwupd * thunderbolt: Remove a superfluous boundary condition when verifying update * Add a plugin to update hardware that supports fastboot * Fix a regression when doing GetReleases on unsupported hardware * dfu: Require a specific USB class and subclass for DFU mode * Correctly parse format the version numbers correctly using old metadata * amt: Fix a crash if AMT returns an empty response * Check plugins set error on failure * contrib: Add a simple python3 client * installed-tests: Adjust to actually use a remote for installed tests * Add more standard USB identifier GUIDs * wacomhid: Rename to wacom-usb * Provide a way for plugins to decompress a custom archive to ram - Changes from version 1.2.1: * Remove DaemonVersionFormat=quad * Shut down the daemon after 2h of inactivity * Create a silo index to speed up GUID queries * Fix flashing the 8bitdo SF30 * Speed up fwupd startup by loading less thunderbolt firmware * Query the XbSilo when calling fu_plugin_check_supported() * Guess the version format when it is not provided * Fix a use-after-free when using valgrind and --immediate-exit * Add per-release install duration values * Fix showing the custom remote agreements * Be more explicit setting the update state * Include the os-release information in the release metadata - Changes from version 1.2.0: * ebitdo: remove SF30/SN30 pro device ids * dell-dock: Drop delayed MST callback routine * synapticsmst: Adjust EVB board handling * synapticsmst: Remove the content checking of firmware * synapticsmst: Access Board ID through memory instead In firmware images HDCP 2.2 will be enabled by default,so access to flash region will fail.` * contrib: Adjust flatpak build for moving to flathub * dell-dock: Prefer to flash VMM5331 via I2C instead of DP aux * Use HTTPS_PROXY if set * firmware-packager: Make it clearer to use * Sort the firmware sack by component priority * flatpak: Update gnu-efi to latest version * amt: Set the full device version including the BuildNum * fwupdmgr/fwupdtool: Move monitor command to fwupdtool * fwupdmgr/fwupdtool: Move firmware builder from fwupdmgr to fwupdtool * Add version format quirks for several Lenovo machines * uefi: Set the quirks on created devices * dell_dock: Use correct offset for finding version of MST * dell-dock: Add missing unlock call for MST via dell_dock plugin * Support the Intel ME version format * Port from libappstream-glib to libxmlb * Bump requirement to meson 0.46.0 * fu-main: Catch SIGTERM while update is in progress * fu-tool: Stop any running daemon over dbus before loading engine * meson: Bump dependency to 0.44 and adjust sysconfdir handling * dell-dock: If marketing name is invalid don't fail initialization * Readme Updated: Added KDE Discover as one more graphical front-end available for fwupd. * dell-dock: Correct a situation that error wasn't propagating * Don't segfault if a plugin returns FALSE from UpdateFunc with no error set * dell-dock: Use different debug strings for each device type * dell-dock: Don't use the VLA feature in the new dock * Add a plugin for an upcoming Dell USB-C dock * contrib: Add information on how to use debugging scripts * Allow setting the version format from a quirk entry * Don't use AppStream-glib for string helpers * Don't use AppStream-glib for version helpers * Don't use AppStream-glib for the GUID helpers * fu-device: Ensure that parent ID is created before creating quirked children * Update all sub-devices for a composite update * Stop showing the current release during updates in fwupdmgr * uefi: Move the TPM unlocking functionality from the Dell to UEFI plugin * Run the Dell plugin initialization after the UEFI plugin * thunderbolt-power: Fix possible linker problem * Allow firmware files to depend on versions from other devices * fu-debug: Redirect all debugging output to stderr instead of stdout * synapticsmst: Adjust panamera ESM update routine for some reported issues * fu-engine: Optionally wait for replug before updating a device * fu-device-list: Use delayed device removal when removing the tree * thunderbolt: Use replugging from the daemon * Add support for devices to show an estimated flash time * Marked some CL options for translation * ci: Run clang static analysis for Ubuntu build rather than just clang compiler * nvme: Initialize the buffer before reading the contents * contrib: Add a standalone installer creation script * rts54hid: Add support for Realtek USB devices using vendor HID commands * fu-engine: Don't show devices pending a reboot in GetUpgrades * Add FuMutex helper to make various parts of the daemon thread-safe * rts54hub: Add support for Realtek USB devices using vendor HUB commands * uefi: Check the amount of free space on the ESP * fu-tool: Import debugging options from fu-debug like fu-main * superio: Set the physical and logical IDs - Add pkgconfig(xmlb) BuildRequires: New dependency.- Add pesign-obs-integration to BuildRequires and add fwupd*.efi to BRP_PESIGN_FILES to get it signed - Add LC_IMAGES and use efivar only if %{with efi_fw_update} + Also update the version requirement of efivar - Disable Redfish and NVME plugins if %{without efi_fw_update} since those two plugins require efivar - Remove fwup from BuildRequires since fwupdate is already merged into fwupd.- Use gnu-efi only if %{with efi_fw_update}, always use pkgconfig(efivar) - Fix file list- Amend %post and %postun to install/uninstall fwupd*.efi to the EFI system partition + Also add shim to Requires for fwupdx64.efi - Mark fwupdate as obsolete + fwupdate has been merged into fwupd since fwupd 1.1.0.- fwupd is require for thunderbolt firmware update in SLE15-SP1(fate#322681)- Update to version 1.1.2: + New Features: - Add a new device flag "ignore-validation" that will override checks - Add a new plugin to enumerate EC firmware - Add a new plugin to update NVMe hardware - Add a plugin for updating using the flashrom command line tool - Allow the device list to take care of waiting for the device replug - Allow updating just one specific device from the command line - Allow upgrades using a self-signed fwupd.efi binary - Download firmware if the user specifies a URI - Include serial number in daemon device output when trusted - Notify all plugins of device removals through a new vfunc - Use boltd force power API if available + Bugfixes: - Add an install hook for classic snap - Allow forcing installation even if no AC power is applied - Allow using --force to ignore version_lowest - Always use the same HardwareIDs as Windows - Check the device state before assuming a fake DFU runtime - Copy over parent GUIDs from other plugin donors - Detect location of python3 interpreter - Do not add udev devices after a small delay - Don't fail to run if compiled without GPG/PKCS7 - Fix a segfault in fwupdtool caused by cleanup of USB plugins - Implement the systemd recommendations for offline updates - Improve performance when reading keys from the quirk database - Remove children of devices when the parent is removed - Rewrite synapticsmst to use modern error handling - Rewrite the unifying plugin to use the new daemon-provided functionality - Show a time estimate on the progressbar after an update has started- Use noun phrase for summary. Trim request for comments from description.- Update to version 1.1.1: + New Features: - Add support for the Synaptics Panamera hardware - Add validation for Alpine and Titan Ridge - Improve the Redfish plugin to actually work with real hardware + Bugfixes: - Allow different plugins to add the same device - Allow flashing unifying devices in recovery mode - Allow running synapticsmst on non-Dell hardware - Check the ESP for sanity at at startup - Do not hold hidraw devices open forever - Don't override _FORTIFY_SOURCE when building the EFI binary - Don't show passwords in fwupdmgr - Fix a potential segfault in smbios data parsing - Fix encoding the GUID into the capsule EFI variable - Fix various bugs when reading the thunderbolt version number - Reboot synapticsmst devices at the end of flash cycle - Show status messages when the daemon is initializing - Show the correct title when updating devices - Show the reasons that plugins are not run on the CLI - Use localedir in po/make-images- Run %udev_rules_update in post as package install udev rules- Update to version 1.1.0: (FATE#326702) + New Features: - Add a initial Redfish support - Add a tool to mimic the original fwupdate CLI interface - Allow devices to assign a plugin from the quirk subsystem - Change the quirk file structure to be more efficient - Merge fwupdate functionality into fwupd - Run a plugin vfunc before and after all the composite devices are updated - Support more Wacom tablets + Bugfixes: - Add release information for locked devices - Allow building with older meson - Detect the EFI system partition location at runtime - Do not use 8bitdo bootloader commands after a successful flash - Enable accesing downloaded files in flatpak and snap - Fix a potential buffer overflow when applying a DFU patch - Fix downgrading older releases to devices - Fix flashing devices that require a manual replug - Fix several small memory leaks in various places - Fix the retrieval of Redfish version - Fix unifying failure to detach when using a slow host controller - Set the Wacom device status when erasing and writing firmware - Show errors in the CLI if unable to access directory - Use the parent device name for Wacom sub-modules - Removed enable_pkcs7_when_testing_only.patch- Update to version 1.0.8: + New Features (including version 1.0.7): - Add an plugin to update some future Wacom tablets - Add 'fwupdmgr get-topology' to show logical device tree - Add support for creating a flatpak - Add support for creating a snap - Add support for Motorola S-record files - Add the Linux Foundation public GPG keys for firmware and metadata - Show a translated warning when the server is limiting downloads - Add enable-remote and disable-remote commands to fwupdmgr - Add fu_plugin_add_compile_version() for libraries to use - Allow requiring specific versions of libraries for firmware updates - If no remotes are enabled try to enable the LVFS - Show a warning with interactive prompt when enabling a remote + Bugfixes (including version 1.0.7): - Add a firmware diagnostic tool called fwupdtool - Adjust all licensing to LGPL 2.1+ - Allow installing more than one firmware using 'fwupdmgr install' - Allow specifying hwids with OR relationships - Do not call fu_plugin_init() on blacklisted plugins - Do not require libcolorhug to build - Fix a crash in libfwupd where no device ID is set - Fix a potential DoS in libdfu by limiting holes to 1MiB - Fix a segfault that sometimes occurs during cleanup of USB plugins - Fix Hardware-ID{0,1,2,12} compatibility with Microsoft - Hide devices that aren't updatable by default in fwupdmgr - Search all UEFI GUIDs when matching hardware - Stop matching Nintendo Switch Pro in the 8bitdo plugin - Check that EFI system partition is mounted before update - Disable synapticsmst remote control on failure - Don't recoldplug thunderbolt to fix a flashing failure - Fix SQL error when running 'fwupdmgr clear-offline' - Improve the update report message - Only enumerate Dell Docks if the type is known - Only run certtool if a new enough gnutls is present - Prevent a client crash if the daemon somehow sends invalid data - Reboot after scheduling using logind not systemd - Use the right encoding for the label in make-images - Added/backported enable_pkcs7_when_testing_only.patch: + needed to disable pkcs7 test during build (can be removed for fwupd >= 1.0.9)- Update hasbang in installed files from /usr/bin/env python3 to /usr/bin/python3.- Update url - Small packaging cleanup with spec-cleaner- Update to version 1.0.6: + New Features: - Add bash completion for fwupdmgr. - Add support for newest Thunderbolt chips. - Allow all functions that take device arguments to be prompted. - Allow devices to use the runtime version when in bootloader mode. - Allow overriding ESP mount point via conf file. - Delete any old fwupdate capsules and efivars when launching fwupd. - Generate Vala bindings. + Bugfixes: - Allow ctrl-d out of the prompt for devices. - Allow to create package out of provided binary. - Correct handling of unknown Thunderbolt devices. - Correctly detect new remotes that are manually copied. - Fix a crash related to when passing device to downgrade in CLI. - Fix running the self tests when no fwupd is installed. - Fix Unifying signature writing and parsing for Texas bootloader. - Only send success and failure reports to the server. - Use a CNAME to redirect to the correct CDN for metadata. - Use a longer timeout when powering back the Thunderbolt device.- Ensure library package has a dependency on main package, otherwise it won't be usable.- Update to version 1.0.5: + New Features: - Offer to reboot when processing an offline update. - Report the efivar, libsmbios and fwupdate library versions. - Report Thunderbolt safe mode and SecureBoot status. - Show the user a URL when they report a known problem. - Support split cabinet archives as produced by Windows Update. + Bugfixes: - Be more careful deleting and modifying device history. - Clarify which devices don't have upgrades. - Ensure the Thunderbolt version is xx.yy. - Fix a daemon warning when using fwupdmgr get-results. - Fix crasher with MST flashing. - Fix DFU detach with newer releases of libusb. - Include the device VID and PID when generating the device-id. - Set the RemoteId when using GetDetails. - Stop matching 8bitdo DS4 controller VID/PID. - Use help2man for dfu-tool and drop docbook dependencies. - Use ngettext for any strings with plurals. - Use the default value if ArchiveSizeMax is unspecified.- Update to version 1.0.4: + New Features: - Add D-Bus methods to get and modify the history information. - Allow the user to share firmware update success or failure. - Ask the user to refresh metadata when it is very old. - Store firmware update success and failure to a local database. + Bugfixes: - Add a device name for locked UEFI devices. - Allow each plugin to opt-in to the recoldplug action. - Fix firmware downloading using gnome-software. - Fix UX capsule reference to the one specified in efivar. - Never add two devices to the daemon with the same ID. - Rescan supported flags when refreshing metadata. - Add pkgconfig(json-glib-1.0) BuildRequires: new dependency.- Update to version 1.0.3: + New Features: - Add a new plugin to add support for CSR "Driverless DFU". - Add initial SF30/SN30 Pro support. - Support AppStream metadata with relative URLs. + Bugfixes: - Add more metadata to the user-agent string. - Block owned Dell TPM updates. - Choose the correct component from provides matches using requirements. - Do not try to parse huge compressed archive files. - Fix a double-free bug in the Udev code. - Handle Thunderbolt "native" mode. - Use the new functionality in libgcab >= 1.0 to avoid writing temp files.- Unbreak compilation on non-x86, upstream renamed options to disable plugins.- Update to version 1.0.2: + Add a plugin for the Nitrokey Storage device + Add support for the original AVR DFU protocol + Allow different plugins to claim the same device + Allow quirks to set common USB properties + Move a common plugin functionality out to a new shared object + Optionally delay the device removal for better replugging + Set environment variables to allow easy per-plugin debugging + Use a SHA1 hash for the internal DeviceID + Add quirk for AT32UC3B1256 as used in the RubberDucky + Disable the dell plugin if libsmbios fails + Don't register for USB UDev events to later ignore them + Fix a possible buffer overflow when debugging ebitdo devices + Fix critical warning when more than one remote fails to load + Fix DFU attaching AVR32 devices like the XMEGA + Ignore useless Thunderbolt device types + Refactor ColorHug into a much more modern plugin + Release the Steelseries interface if getting the version failed + Remove autoconf-isms from the meson configure options + Show a nicer error message if the requirement fails + Sort the output of GetUpgrades correctly - Changes from version 1.0.1: + Add support for HWID requirements + Add support for programming various AVR32 and XMEGA parts using DFU + Add the various DFU quirks for the Jabra Speak devices + Allow specifying the output file type for 'dfu-tool read' + Move the database of supported devices out into runtime loaded files + Support the IHEX record type 0x05 + Use help2man to generate the man page at build time + Use the new quirk infrastructure for version numbers + Catch invalid Dell dock component requests + Correctly output Intel HEX files with > 16bit offset addresses + Do not try to verify the element write if upload is unsupported + Fix a double-unref when updating any 8Bitdo device + Fix crash when enumerating with Dell dock connected but with no UEFI + Fix uploading large firmware files over DFU + Format the BCD USB revision numbers correctly + Guess the DFU transfer size if it is not specified + Include the reset timeout as wValue to fix some DFU bootloaders + Make the error message clearer when sans fonts are missing + Support devices with truncated DFU interface data + Use the correct remote-specified username and passord when using fwupdmgr + Use the correct wDetachTimeOut when writing DFU firmware + Verify devices with legacy VIDs are actually 8Bitdo controllers - Add help2man as BuildRequires.- Fix dependencies and build options for non-x86 architectures. At least FW updates for USB are arch independent, and EFI FW updates can also be applied on Aarch64.- Update to version 1.0.0: * Add the plugin documentation to the main gtk-doc * Add a waiting-for-auth daemon state * Add fwupd_remote_get_checksum() to use in client programs * Generate the LD script from the GObject Introspection data * Prevent fwupd from mounting filesystems * uefi: Do not use system-specific infomation for PCI devices * uefi: Support uploading the firmware splash image * dell: only set coldplug delay when we know we need it * dell: only run SMI to toggle host MST GPIO on systems with host MST * dell: add functionality to blacklist HW with problems * dell: only run on intended chassis * thunderbolt-power: always run after thunderbolt plugin * Allow plugins to depend on each other * Add support for SMBIOSv3 * dell: prefer to use hwids to get DMI keys and DE table * debian: remove /etc/fwupd.conf on upgrade * unifying: Use fu_plugin_check_supported() * Add fu_plugin_check_supported() * unifying: Use a device whitelist to avoid breaking devices * Fix various printing issues with the progressbar * dell: Fix a trivial whitespace issue * Do not fail to load the daemon if cached metadata is invalid * Do not store the newest release as part of the FuDevice object * Add a method to return a list of upgrades for a specific device * Move the downgrade calculation to the daemon * Make FuDevice derive from FwupdDevice rather than FwupdResult * Add a command 'clear-offline' to fwupdmgr * Merge releases where multiple remotes provide the same firmware * Remove the UniqueID property * uefi: Do not set the release version * udev: Do not match USB devices, even with a GUID set * Use the intel-wmi-thunderbolt kernel module to force power * dell: drop thunderbolt force power code * unifying: Add hardcoded summaries for peripheral kinds * Create CODE_OF_CONDUCT.md * Ensure more devices set the device summary * Add an 'Summary' property to each device * Add a human-readable title for each remote * unifying: Disable if the kernel has no CONFIG_HIDRAW support * Move deprecated symbols to a new header * Introduce an s390x cross compile target to CI * Add ModifyRemote as an easy way to enable and disable remotes like the LVFS * Do not auto-open all USB devices at startup * dfu: Use FuDeviceLocker * unifying: Use FuDeviceLocker * colorhug: Use FuDeviceLocker * ebitdo: Use FuDeviceLocker * altos: Use FuDeviceLocker * steelseries: Use FuDeviceLocker * usb: Use FuDeviceLocker * Add FuDeviceLocker to simplify device open/close lifecycles * dfu: Remove DEVO support * dfu: Remove the now-unused symtab support * Remove the ELF support from libdfu and move the code to the altos plugin * Use -Werror when building in Travis CI * Do not install the libdfu helper library * Parse the SMBIOS DMI table directly * usb: Disable the fallback USB plugin * Test for missing language translations at build time * Fix the libdfu self test failure on s390 and ppc64- Update to version 0.9.8: * Add a command 'clear-offline' to fwupdmgr * Do not fail to load the daemon if cached metadata is invalid * Fix a crash when using fu_plugin_device_add_delay() * Fix the libdfu self test failure on s390 and ppc64 * Format the BCD USB revision numbers correctly * Never fallback to an offline update from client code * Prevent fwupd from mounting filesystems * dfu: Allow flashing when the target does not specify an alt-name * dfu: Do not try to verify the element write if upload is unsupported * dfu: Fix uploading large firmware files * dfu: Include the reset timeout as wValue to fix some hardware * dfu: Set the vendor ID to the runtime USB VID * dfu: Use 0x0101 as an alias for 0x0110 * thunderbolt: move test for mock environment (gh#hughsie/fwupd#280) * udev: Do not match USB devices, even with a GUID set * uefi: Do not set the release version * unifying: Disable if the kernel has no CONFIG_HIDRAW support- Update to version 0.9.7: + 10 months worth of bugfixing, integrating more vendor specific Firmware update paths.- Update to version 0.8.1: + Delete duplicate translations (gh#hughsie/fwupd#89). + Do not hardcode docbook2man path. + Fix fwupdmgr timeout with missing pending database. + Fix compiler warnings. + Fix a crash when enumerating devices on a Dell WLD15. + dell: don't initialize libsmbios on unsupported systems. + Do not fail to start on Dell hardware. + Adjust systemd confinement restrictions. + Do not dlclose modules when running under valgrind. + Really remove the NoNewPrivileges systemd confinement. + Release fwupd 0.8.1.- Update to version 0.8.0: + Show a different error when checking for updates while on + battery power (gh#hughsie/fwupd#68). + Clarify the test in --help and man page related to offline + (gh#hughsie/fwupd#69). + libdfu: Use a heuristic for the start address if the firmware + has no DfuSe footer. + dell: Don't return the address of a stack variable. + dell: Fix a possibly-impossible-to-hit buffer overrun. + close USB devices before error returns (gh#hughsie/fwupd#73). + Make libelf support optional. + Always make sure we're getting a C99 compiler. + Fix redeclaration of polkit autocleanup functions. + Uncomment SystemdService parameter in the dbus service file + (gh#hughsie/fwupd#74). + Make all providers and plugins share a GUsbContext. + Unexport libebitdo. + Move the plugins into plugin-specific directories. + Convert the providers to plugins to simplify code and for + future features. + Add support for Logitech Unifying devices. + Add a set of vfuncs that are run before and after a device + update. + Return the pending UEFI update when not on AC power. + Move the UPower functionality to a plugin. + Fix udev plugin loading. + fix dfu plugin loading. + Disable PrivateNetwork on systemd service. + Use more restrictive settings when running under systemd. + dell: add a new method for forcing a controller to flash mode. + Add VerifyUpdate to update the device checksums server-side. + Move the Option ROM parsing to the Udev plugin. + Move the device add delay to shared code. + Add initial skeleton for Intel Thunderbolt support. + unifying: Use the actual bootloader VID/PIDs when in firmware + mode. + Allow the metadata to match a version of fwupd and the existing + fw version. + Add fwupd_result_get_device_version_bootloader(). + Fix the appstream-glib version guards. + dell: Add coldplug methods to let other plugins turn on + TBT/GPIO. + libdfu: Don't read data from some DfuSe targets. + Add the ability to run a prepare->exec->cleanup on coldplug. + Allow plugins to request that all plugins re-coldplug. + thunderbolt: Detecting new devices and add an actual device to + the daemon. + Add support for flashing the ChaosKey. + thunderbolt: add some guards around empty arrays. + dell: Adjust the coldplug preparation and cleanup sequence. + dell: Fix possible linker problem. + Revert "thunderbolt: add some guards around empty arrays". + Add fu_plugin_set_coldplug_delay() to allow hardware to + initialize if required. + altos: Add error checking when using termios. + ebitdo: Subclass FuDevice like the altos plugin. + altos: Set the flags in the init_real so they work for the + cmdline tool. + unifying: Subclass FuDevice like the altos plugin. + Include all debug messages when run with --verbose. + dell: introduce a standalone (noinst) tool to force mode + flashes. + Introduce plugin for Synaptics MST hubs. + synapticsmst: Add cascade support. + Only register the D-Bus service when all devices have been + added. + synapticsmst: Refactor away the global state. + synapticsmst: fix cascade support in the plugin. + Updates for thunderbolt plugin. + thunderbolt: Add special handling for safe mode on Dell systems + (gh#hughsie/fwupd#84). + synapticsmst: Iterate all nodes rather than hardcoding to 3. + synapticsmst: build GUID using dock type. + Add a new function fu_dell_supported to fu-dell-common. + synapticsmst: add a test suite. + synapticsmst: Fix up some trivial whitespace issues. + Fix a refcounting issue in the udev plugin. - Add rpmlintrc untill security review is resolved- Update to version 0.7.5: + Clean up PO files + Verify devices support updating in mode they are called. + Fix an assert when unlocking the dummy ESRT device + Don't create the UEFI dummy device if the unlock will happen on + next boot + dell: Match on TB16 as well + Fix a -fstack-protector-strong crash when uploading firmware + Enable the stack protection in local builds + dell: If running in test suite, don't try to get product ID + from sysfs + libfdfu: Show a warning when getting the alt-name failed + dfu: Fix listing devices using the ST reference bootloader + Show the nicely formatted target name for DfuSe devices + libdfu: Fix two possible critical warnings for corrupt USB + descriptors + libdfu: Correctly offset addresses when one zone has multiple + sectors + libdfu: Do not do GetStatus on dfuse upload + libdfu: Fix uploading from DfuSe devices + libdfu: Use the device offset when writing DfuSe firmware + libdfu: Add DfuAction enumerated value to represent a device + action + libdfu: Use an animated progress bar when performing DFU + operations + libdfu: Do not do a zero-byte download when in DfuSe mode + libdfu: Fix verification of written DfuSe firmware + libdfu: Ensure the device is open before claiming the interface + libdfu: Ensure the mode is set correctly when faking a runtime + libdfu: Re-get the quirks when the DfuDevice gets a new + GUsbDevice + libdfu: Add quirks for HydraBus as it does not have a DFU + runtime + libdfu: Match the device booloader or runtime VID and PID when + checking firmware + Add a 'replace-data' command to dfu-tool + string + libdfu: Add dfu_sector_get_zone() to get the continuous memory + zone number + libdfu: Wait for DNBUSY to be cleared when checking the DfuSe + status + libdfu: Correctly erase DfuSe devices + Enable hardening flags on more binaries + libdfu: Correctly set the element address when uploading from + DfuSe devices - Add pkgconfig(gmodule-2.0) BuildRequires: Align with what + configure checks for. - Add pkgconfig(libsmbios_c) BuildRequires: Support dell bios. + Unfortunatly, until we have fwup packaged and enabled, this will + not work. - Add disabled pkgconfig(libtbtfwu): For future thunderbolt + support.- Update to version 0.7.4: + Add a fallback for older appstream-glib releases + Write the ELF files with the correct section type + Fix libfwupd self tests when a host-provided fwupd is not + available + Add dfu_firmware_add_symbol() + Add the Altos symbol table to the DfuFirmware + Use the symtab to set the VID/PID from Altos IHEX firmware + images + Show the human-readable version in the 'dfu-tool dump' output + Allow specifying the argument to 'dfu-tool set-release' in + major.minor format. + sections + Support writing the IHEX symbol table + call + Load the symbol table from ELF firmware + Load the Altos USB descriptor from ELF files + Add DFU_CIPHER_KIND_RSA + Fix a possible crash when uploading firmware files using libdfu- Update to version 0.7.3: + build: Fix gtk-doc build when srcdir != builddir + In get-details output, display the blob filename + Ensure the update ID is set when getting local firmware details + Use a private gnupg key store + Add support for installing against multiple devices from a CAB + file + Use the correct firmware blob when installing a composite + device update + in get-details output, display update_name rather than Unknown + Device + statements + Don't make failures critical while checking versions or locked + state + Show a more detailed error when installing firmware on the + wildcard + Add Dell TPM and TB15/WD15 support via new Dell provider. + file + Allow blacklisting devices by their GUID + header file + Add XPS 9250 to Dell TPM modeswitch blacklist + Only display flashes left in results output when it gets low. + Add a small library for talking with 0bitdo hardware + Add another compile warning and fix up any build failures + Embed fwupd version in generated libfwupd and libdfu + documentation + Update fwupdmgr manpage for new commands and arguments + build: Fix gtk-doc build when srcdir != builddir + online not offline + Get the firmware version correctly from 0Bitdo gamepads + Switch to the Amazon S3 CDN for firmware metadata + Fix writing 8Bitdo device firmware + be updated + Show the vendor flashing instructions when installing + Split out the DFU file formats to separate files + Add fwupd_result_remove_device_flag() + Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER + get-updates output + Allow providers to export percentage completion + Add fwupd_client_get_status() + Handle the 8Bitdo bootloader in a better way + Show a progress notification when installing firmware + Add fwupd_result_get_unique_id() + Use the SHA1 hash of the local file data as the component + origin + Use the correct define prefix for FwupdDeviceFlags + libdfu: Fix hang when parsing corrupt IHEX files + Add a set-target-size command to dfu-tool + Support the 'DEVO' cipher kind in libdfu + Add a set-address command to dfu-util + Disable the Dell specific code by default + Conditionally enable all providers based upon what's installed + Add a summary of providers that are enabled from configure + Do not use the deprecated GNOME_COMPILE_WARNINGS + Ignore devices that do not add at least one GUID + Do not attempt to add DFU devices not in runtime mode + Save the unique ID in the pending database + libdfu: Add initial ELF reading and writing support + Add dfu_firmware_format_from_string() + Normalize the DfuFirmwareFormat enums- Update to version 0.7.2: + Allow devices to have multiple assigned GUIDs + Only return updatable devices from GetDevices() + Add fu_device_get_alternate() + Allow metainfo files to match only specific revisions of + devices + Re-read flags for a device after a provider's unlock routine is + done + Test for a locked device when trying to install firmware update + Enforce allowing providers to take away flash abilities + Support returning multiple GUIDs from GetDetails + Add a GetDetailsLocal() method to eventually replace + GetDetails() + break + libdfu: Add DfuVersion enumerated values + libdfu: Show the DFU protocol version in 'dfu-tool list' + Only claim the DFU interface when required- Update to version 0.7.1: + Fix libdfu CRC check for big endian architectures + Add dfu_image_get_element_default() + Fix libdfu CRC check for big endian architectures + Fix big endian issues when reading and writing DFU and DfuSe + files + Remove non-interactive pinentry setting from fu-keyring + Set the system's DMI product name as the DisplayName for UEFI + Re-order output of get-devices to be easier to read + Make the device display name nicer + update version + Return all update descriptions newer than the installed version + Add summary and name field for Rival SteelSeries + Fix a critical warning when restarting the daemon + Add a 'supported' flag to the FuDevice + Add fwupd_client_connect() + Add a 'monitor' debugging command for fwupdmgr + Add device-added, device-removed and device-changed signals + Match the AppStream metadata after a device has been adedd + Re-match devices when the AppStream metadata is updated + Show 'Unknow Device' in fwupdmgr when a device name is not set + Set the device description when parsing local firmware files + Add support for a new device field "Flashes Left". + src/Makefile.am: reshuffle so enableable bits are only + referenced when on + Add support for a --force flag to override provider warnings- Update to version 0.7.0: + Use g_usb_context_wait_for_replug() + Run vendor plugins as required + Add a plugin for SteelSeries hardware + Add fwupd_device_flag_to_string() + Return the device flags when getting firmware details + Show device flags in 'fwupdmgr get-devices' + Add fwupd_trust_flag_to_string() + Export FwupdUpdateState in libfwupd + Export FwupdUpdateFlags in libfwupd + Add FwupdResult to libfwupd + Add a self test framework for libfwupd + Add FwupdClient to libfwupd + Use FwupdClient from libfwupd in fwupdmgr + Use libfwupd inside the daemon + Emit a FwupdClient::changed when the daemon emits this signal + Rename some of the new libfwupd API to align with the D-Bus + names + libdfu: Fix up some NULL/FALSE confusion + libfwup: Fix up some NULL/FALSE confusion + FwupdClient + Allow other checksum kinds in FwupdResult + Allow SHA-256 hashes when verifying + Show the checksum kind in the fwupdmgr output + Add Alienware to the version quirk table + Do not use /tmp for downloaded files + Add fwupd_result_has_device_flag() + Do not return updates that require AC when on battery + Connect to UPower at startup + Test that GPG key import actually was successful (or didn't + change a key already in the keyring) + Use g_auto() in FuKeyring + Return errors of the correct type when using libfwupd + Allow overridding the location of the pending database for + test suite + Allow overriding the location of the provider offline files for + test suite + Validate that the dbus system bus is available before running + libfwupd tests + Update README.md for changes that have happened in the project + Add some basic explanation of how to use fwupd with various + frontends + Split out the libdfu-devel package + Revert "Allow overridding the location of the pending database + for test suite" + Revert "Allow overriding the location of the provider offline + files for test suite" + Allow the test suite to run in %check + Generate gtk-doc documentation for libfwupd- Update to version 0.6.3: + Require AC power before scheduling some types of firmware + update + Install the hardcoded firmware AppStream file + Correct the BCD version number for DFU 1.1 + Add an unlock method for devices + Add ESRT enable method into UEFI provider. + Only read PCI OptionROM firmware when devices are manually + unlocked + Do not use deprecated API from libappstream-glib + Ignore the DFU runtime on the DW1820A + Export the attribute and quirk values in libdfu + Show ignored DFU devices in dfu-util, but not in fwupd + Allow defining update vfuncs with no runtime support + Revert "Allow defining update vfuncs with no runtime support" + Add a simple plugin infrastructure- Update to version 0.6.2: + Add 'Created' and 'Modified' properties on managed devices + Fix get-results for UEFI provider. + Support vendor-specific UEFI version encodings + Move quirks directly into a single table and file.- Update to version 0.6.1: + Only dump the profiling data when run with --verbose + Always persist ColorHug devices after replug + Do not misdetect different ColorHug devices- Update to version 0.6.0: + Add support for updating USB devices with DFU + libdfu: Add support for DfuSe firmware + libdfu: Generate gtk-doc documentation + libdfu: Don't rely on specific hardware to be present + libdfu: Move the VID:PID checks from the tool to DfuDevice + libdfu: Use a custom error domain + Use the same device identification string format as Microsoft + libdfu: Fix crash when setting a target size + libdfu: Allow setting the alternate settings in DfuSe firmware + libdfu: Add a merge command to dfu-tool + libdfu: Allow choosing a different alt-setting when downloading + libdfu: Fix a crash when setting a NULL image name + libdfu: Correctly implement auto-boot in dfu_device_download() + libdfu: Check for extra args to dfu-tool convert + libdfu: Call the progress callback when doing detach + Ignore the DFU device detach:attach when verifying + libdfu: Require a --force flag to flash wildcard firmware + Use new API available in fwup 0.5 + libdfu: Make the element address 32 bits in size + libdfu: Support the ST-specific bitCanAccelerate + libdfu: Only do a Detach notification if we're actually doing to do it + libdfu: Use the progress bar for all uploads and downloads + libdfu: Improve the output of 'dfu-util list' + libdfu: Support download and upload to ST DfuSe devices + libdfu: Fix multi-interface devices like the Neo Freerunner + libdfu: Add a pkgconfig file + libdfu: Use signals to propagate device state + libdfu: Add a context object to handle device hotplug + libdfu: Add an example showing GObject Introspection + libdfu: Do not ref DfuDevice in DfuTarget so the auto-close + logic works + Close DFU devices as soon as possible after the transfer has completed + Emit the changed signal after doing an update + Rescan the DFU device after replug to get the new version + libdfu: Add dfu_context_get_device_by_platform_id() + libdfu: Add dfu_device_get_runtime_release() + libdfu: Add dfu_device_get_display_name() + libdfu: Fix self tests after recent API change + Split out the DFU provider as a new file + libdfu: Copy the platform ID and invalidate the GUsbDevice when removed + libdfu: Accept multiple spaces after the DfuSe sector name + libdfu: Verify the GUsbDevice is set before using it + libdfu: Remove the weak pointer when destroying the DfuTarget + libdfu: Fix dfu_device_wait_for_replug() so it can work with a DfuContext + Export the AppStream ID when returning device results + Rescan the DFU device after firmware has been updated + libdfu: Handle cancellation with ctrl+c in dfu-tool + libdfu: Add a quirk to support DFU runtime-less devices + libdfu: Add an explicit 'attach' method + libdfu: Add dfu_firmware_get_image_by_name() + libdfu: Make reading and writing to targets easier to + understand + Fix compile with --disable-shared + libdfu: Display all the files shown with 'dfu-tool dump' + libdfu: Fix a few crashers found using afl + libdfu: Fix another bug discovered by the fuzzer + libdfu: Add commands to encrypt and decrypt firmware images + libdfu: Show better device errors + libdfu: Add DfuCipher which is a property on a target and a + firmware file + libdfu: Add support for the draft 'DFU Metadata Table + Specification' + libdfu: Only enumerate the DfuContext when required + libdfu: Fix several reported crashes in the inhex32 import code + Release fwupd 0.6.0- Update to version 0.5.4: + Fix compile error against fwupdate git due to dropped + functions. + Use strerror() when printing errors from libfwupdate + Use new API available in fwup 0.5 + Release fwupd 0.5.4- Update to version 0.5.3: + Avoid seeking when reading the file magic during refresh + Do not assume that the compressed XML data will be NUL + terminated + debugging + Use the correct user agent string for fwupdmgr + Release fwupd 0.5.3- Update to version 0.5.2: + Ensure D-Bus remote errors are registered at fwupdmgr startup + Show the dotted-decimal representation of the UEFI version + number + require appstream-glib 0.5.1 + not found + When the version is from the 'FW' extension do not cache the + device + Support cabinet archives files with more than one firmware + Add the update description to the GetDetails results + Add profiling data to debug slow startup times + Fix verify-update to produce components with the correct + provide values + Clear the in-memory firmware store only after parsing a valid + XML file + Release fwupd 0.5.2- Update to version 0.5.1: + Fix the error message when no devices can be updated + offline update: Use glib api for for reading symlinks + Release fwupd 0.5.1- Update to version 0.5.0: + Do not merge the existing firmware metadata with the submitted + files + Raise the dep on GLib to support and use g_autoptr() + Do not reboot if racing with the PackageKit offline update + mechanism + Release fwupd 0.5.0- Update to version 0.1.6: + Install fwupd and fwsignd into /usr/lib/$(triplet)/fwupd + instead. + Use the new secure metadata URI + Update the offline update service to invoke right command + Don't apply firmware if something else is processing the + offline update + Remove fwsignd, we have the LVFS now + Depend on appstream-glib >= 0.5.0 + Add application metadata when getting the updates list + Simplify the version properties on devices to avoid complexity + and bugs + Release fwupd 0.1.6- Update to version 0.1.5: + Allow fwupd to be autostarted by systemd + Sign the test binary with the correct key + Do not pre-convert the update description from AppStream XML + Devices with option ROM are always internal + Prefer the GUID from the firmware than the device + Allow no arguments to 'fwupdmgr verify-update' and use sane + defaults + Add the ability to remove a vendor on the LVFS site + Fix validation of written firmware + Move the verification and metadata matching phase to the daemon + Add a simple config file to store the correct LVFS download URI + Make parsing the option ROM runtime optional + Add a Raspberry Pi firmware provider + Use the AppStream 0.9 firmware specification by default + Generate the ColorHug test files at runtime + Release fwupd 0.1.5- Update to version 0.1.4: + man/Makefile.am: Add --sgml to docbook2man invocation + Make statements about storing private keys stronger. + Provide a way for clients to add new firmware metadata to the + system cache + Fix fwupd-offline-update.service + Revert "man/Makefile.am: Add --sgml to docbook2man invocation" + Add a Udev firmware provider + Extract the version string from the ROM in PCI devices + Add a 'verify' command that verifies the cryptographic hash of + device firmware + Make the ROM parsing more robust and add self tests + Get the version number out from Intel VBIOS too + Provide a way to dump the option ROM using the command line + build: gusb is required even without colorhug + remove unused variables + Do not return NULL as a gboolean + Fix Intel VBIOS detection on Dell hardware + Do not use the subsystem information when constructing the fake + GUID + Actually parse the PCI option ROM + Accept multiple files at one time when using fwupdmgr dump-rom + verify run + Add a 'verify-update' command to fwupdmgr + Fix trivial bug when parsing firmware versions + Keep hitting the hardware until it gives us enough ROM + Make the version parsing more resilient to corrupt firmware + Fix the example .inf file to reflect reality + Fix ROM PPID searching to work for all ROMs + Move the LVFS website to the fwupd project + Add the ability to create detached signatures + Allow cab files to be saved + Add a simple signing server that operates on .cab files + Automatically download metadata using fwupdmgr if required + Don't call efibootmgr after fwupdate. + Associate the contact email address directly with the vendor + key + Use the actual LVFS GPG key + Allow running fwsignd as the non-root user + metadata + Do not merge existing LVFS metadata + Do not use the file hash when storing the LVFS submitted + firmwares + Move GetUpdates to the daemon + Change the DBus method for installing firmware to 'Install' + Allow installing an offline UEFI update without --offline + Add a 'fwupdmgr update' command to update all devices to latest + versions + 'update' command + Increase the size limit of firmware to 50Mb + Only sign files when the entire file has been copied + Fallback to offline install when calling the update argument. + Reload appstream data after refreshing. + Release fwupd 0.1.4- Update to version 0.1.3: + Coldplug the devices before acquiring the well known name + Add an UNKNOWN status so we can return meaningful enum values + Run the offline actions using systemd when required + Get the firmware version from the device descriptors + Added syntax highlighting + More markup + Support OpenHardware devices using the fwupd vendor extensions + Move boolean properties on the device to a set of flags + Release fwupd 0.1.3- Update to version 0.1.2: + More markup + Fixed typos and markup for executable + Add slovak translation + Add helper code to validate public key signatures + Decompress any firmware signatures in the .cab file + Verify firmware if a detached signature is present + Show the firmware trust status when doing GetDetails() + Only allow signed firmware to be upgraded without a password + Add some guidelines for vendors to README + Small grammar fix + Extract the .cat file alongside the firmware + Release fwupd 0.1.2- Update to version fwupd_0_1_1: + Do not crash when there are no devices to return + Add a 'get-updates' command to fwupdmgr + Add and document the offline-update lifecycle + Create runtime directories if they do not exist + Create a libfwupd shared library + Export the status as an enumerated value rather than a string + Release fwupd 0.1.1- Initial package.s390zp35 1655109494  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq1.5.8-150300.3.5.11.5.8-150300.3.5.11.5.81.5.8 fwupd-1fwupd.hfwupdplugin.hlibfwupdfwupd-client-sync.hfwupd-client.hfwupd-common.hfwupd-deprecated.hfwupd-device.hfwupd-enums.hfwupd-error.hfwupd-plugin.hfwupd-release.hfwupd-remote.hfwupd-security-attr.hfwupd-version.hlibfwupdpluginfu-archive.hfu-bluez-device.hfu-cabinet.hfu-chunk.hfu-common-cab.hfu-common-guid.hfu-common-version.hfu-common.hfu-deprecated.hfu-device-locker.hfu-device-metadata.hfu-device.hfu-dfu-firmware.hfu-dfuse-firmware.hfu-efi-signature-list.hfu-efi-signature.hfu-efivar.hfu-firmware-common.hfu-firmware-image.hfu-firmware.hfu-fmap-firmware.hfu-hid-device.hfu-hwids.hfu-ihex-firmware.hfu-io-channel.hfu-plugin-vfuncs.hfu-plugin.hfu-quirks.hfu-security-attrs.hfu-smbios.hfu-srec-firmware.hfu-udev-device.hfu-usb-device.hfu-volume.hlibfwupd.solibfwupdplugin.sofwupd.pcfwupdplugin.pcFwupd-2.0.girFwupdPlugin-1.0.girfwupdannotation-glossary.htmlapi-index-full.htmlfwupd-FuArchive.htmlfwupd-FuDevice.htmlfwupd-FuDeviceLocker.htmlfwupd-FuDfuFirmware.htmlfwupd-FuFirmware.htmlfwupd-FuFirmwareImage.htmlfwupd-FuPlugin.htmlfwupd-FuUdevDevice.htmlfwupd-FuUsbDevice.htmlfwupd-FwupdClient.htmlfwupd-FwupdDevice.htmlfwupd-FwupdPlugin.htmlfwupd-FwupdRelease.htmlfwupd-FwupdRemote.htmlfwupd-fu-chunk.htmlfwupd-fu-common-cab.htmlfwupd-fu-common-guid.htmlfwupd-fu-common-version.htmlfwupd-fu-common.htmlfwupd-fu-device-metadata.htmlfwupd-fu-efi-signature-list.htmlfwupd-fu-efi-signature.htmlfwupd-fu-firmware-common.htmlfwupd-fu-hwids.htmlfwupd-fu-ihex-firmware.htmlfwupd-fu-io-channel.htmlfwupd-fu-mutex.htmlfwupd-fu-plugin-vfuncs.htmlfwupd-fu-quirks.htmlfwupd-fu-smbios.htmlfwupd-fu-srec-firmware.htmlfwupd-fwupd-client-sync.htmlfwupd-fwupd-enums.htmlfwupd-fwupd-error.htmlfwupd-fwupd-version.htmlfwupd.devhelp2home.pngindex.htmlintro.htmlleft-insensitive.pngleft.pnglibfwupd.htmlplugin-reference.htmlright-insensitive.pngright.pngstyle.csstutorial.htmlup-insensitive.pngup.pngfwupd.depsfwupd.vapifwupdplugin.depsfwupdplugin.vapi/usr/include//usr/include/fwupd-1//usr/include/fwupd-1/libfwupd//usr/include/fwupd-1/libfwupdplugin//usr/lib64//usr/lib64/pkgconfig//usr/share/gir-1.0//usr/share/gtk-doc/html//usr/share/gtk-doc/html/fwupd//usr/share/vala/vapi/-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:24641/SUSE_SLE-15-SP3_Update/0e9319e520ef939ad798c08e5b308527-fwupd.SUSE_SLE-15-SP3_Updatecpioxz5s390x-suse-linux    directoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig fileXML 1.0 document, ASCII textHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesXML 1.0 document, UTF-8 Unicode textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedHTML document, ASCII textassembler source, ASCII textASCII textC++ source, ASCII textPRR R R RRRPRR R RR RRRRRRRR cG^a]utf-8ab3202f564d97dfeccec0bf32be36dd8f3c9c6fdcf524afaabe66e15ee8f1601? 7zXZ !t/Q,] crt:bLL Axyrw,{Z,wDYۍVEs){rZX= w;*|Xo]!G%3,d!HHMJ&\aST]k#2=o-eZd랟Po^ 왑[8ڳ$Qm ad9pvHn `DŽ.C f&KüK~*sK$J-Hop4d{m]kLެ9tCϮP}obgDWl&?mw#@-oU$!|tQ[e:51#Q sqev`2cBl5}p!sPU2ӱ?9Mx?dܓ9ON&A!+F7ѿ?UʕHDQhLyI跠w?Y"֊u͉#߆U6eǚ; ?CjnI#ӽѕfH1}ASSb0 ^B|[B9e5p|kh8λ64uk6`0fIط} 33L[$$Qi(#1([U2–,ŽVl%aUDX lPa7^RPB?2TH^1֨_ٴ|ff+9okECpuRf&Wjlf[7X̼ 3AsMJE6:{3!,>Ӫ$0"SМXTxļ1.B,XMrһ(aƢUgbZMY")N}g^Fd2(XI T2I\:zKUȠ;+#f9['C5'R8-)zn3B)XgZB;.mrU;pWՠI`ֻ=%Q*Ci=7D&U]ڡWR M ϒi^ܮ>Qе:Ar--ŲeҴ3رS Gʊ7rIdntkcJޛ 1  z|Ǻ`RxS{F[. !B9k`BWfYl=.H*ueFw0JR]c ,pViL9_niDٝ0q C&!-di$H;qr'BWEMY>I_ecpǬ#UWHwT̟o@ 55 {d̊@TPaTܝpq <5bοH9%:CIЪhIYiH,?$IllJEjn~ v۰4-bs7|62gb^s]?FA,$#U=' 7L ,>k7ş@-v:.@H5ETleUGElyHj R.qSiɦqԤCˋxD*/^a"m`)"-%av$ӛuCoj$/d=6.@NvGny-DiѵF8 ^Dj ٍj3':i*_է]j Tgv,p=ÖQ!$y@q"hPRt/gxLǼ]7db P++֥E2J1ϬgljX2\ NS)P[V{PUf!.buM=2W)&F鐖3.EyڗR+R.va56Hc#bV9Cbs1Or$+Ӎ92JN-v u]W `q^b5`#J5$8e!c?gsުnG&.tgy@&ӺhXFa4ߦv}ܕrs3*EhɌXO,Z6xA@ Y59W >ì'݉lAi6fV\m,C'U/˄l4'>nryWV M y Z[u38 L_\:4gYOC/Ob[{X6xEUһDS p-t3%%ur9o1@ͤNM"k KMA^TyMg^4CꚌ&5K$¹̈́j(X?{zfgšW1}9sϖNʘQQU^z-[ tޮn4`w嶜b[Իm6 1STqrY ^-d *q,2n<[W%zޗ@bnWȽ{ k?е0ɢD7>dL}QK%ӗߖ:CLѮx.-yHDX~P?cZUve2p O$xP+2u9IdxĈld; ^؅=d6}m,>)A`Ez.ҔTԪiW2(7h*6lsiZ ~yʪ$itV^}9:&s[DsmEֱ 6&,1X -dx#QαO%@V@ii$B "_f#Sw"9!%L$Ez'L՞6˒~Y~T+C}Kj@*iJ +74|Zz%^ytoN:W76x&t&fJ]$8k8`:KME&^}2nw} g2؉?b JEz?IE^gV"j.>%|Վn/'d3,qcW.5/c%1Ik-iJ0`pۏ95Ɯ*ݲiqӐC~Շ?dTN9 i@32O)ߦM]ݏwZ=pG0+ @w!~,HT"rY5mF +ƹt3[:}܅c~%$qj`nY T4ךgJq"~@p=?ϧ i{3< CEd2dEc $Zh3z BxuUB:}LSD+'S 932ʅȽ:}n cCHz豯~hwz 3M!#m# ۊW Uw)azlOSѸ=rqۆJT  dzi^iBYkvW/dQ{@}XtQyXǔے.D҈C|%LeC6&)N3Xp~*|zXSI 6"~kG6)2+-8tNFOۗ4s48y3(@!@ԼamS7H+S!79t,%rENPb6{IgExv@]uL&w4JZԥH#,7MqLhY &zr|NΪYΜ: z-Ҩ[eaNMN#? | 67lvsOr;]H/M|8<Dk < M2xU 0l?SX`TC4з7yT Q.u[$9Zѐk.{UT{Bӓ1؄'k°{̚w6/iOD!#yH]0}օМU:l sYdl!c&^lV!]f,g]$iER/"\OtX#*҈EV*9#Eo8mu~gy(/$Wc!~QFŷeOBŔRD)mlr+_!Ln \AQsZc7iv]g xްYgʺ9Q&$|qLgRp9DŽɏȘ>lezˆ׈S9y_"@=d$]Qۘfi;\r,)v>TZ<׵ΑTgǬjB*yU"u)&íޙ~0;]"hL 줹8Fv[nkۭn40m>9WI bZR?Æ#c6BSj:V7O=9+.k 0N?gB-߫9 PqpJf]\p4qeTt 4 NL[k+̪Y\u!}3s;UW P MpAg7 '+h Ag̓2sڲ:{V`{F:,^Dq_HZTmpĹ)`wgQW]V L2&*Lj;A\~ ߕC|'Y 挾L Z@>54Vv@]N^JI%a0Kb46p Sڥa!o:f't5G]>+ծm zw2nTP Wgퟓ9 Vg0Q.\iGx_-&F7z6.b~J DZݩ? bxb u8r6þrBiMɶ|)uФ -Zo[jrkuƥv[XJՔXc<^$&Bj0A+5gpr.TNHsMuسk%pfNY.(Y`c#PlWr Ѵk0Aj'\\B4&~^ p@2nm4uϸ=~~A Ìkw(G/s"`=ezl VS6ό9`Amt +x:˂c nКe9ȭQ[m^|-Z㈳X!s==rjJ=~Ax9!Kibg6]QU~N{-wZ<8xB  q!_^T4)8>-#[<'1j1Xqgy牽AMC,{%_gSYdL,q X~|>z''b4v ֒'U!-%3c/X(l _in j6݌(Н{ 5^E;mϸ۴?[+!3)9W;U9 %ՋȏW]RvM#]آcvV`/V0 x%1{2"77AkJ!G@~ P$0sj_CO~5x9=Q@ "n[3 \ d%S:%kUҕpZ"1?Rۡϒgjըƍ]x+_AX-$0KaxB݋Up[]7 {cV}S{dÿ́o|D'<y .qL&lQ; tyVcUwkA = 1 oWWJjTӀ6~/5(S9̛m۪O^3 TMے\S~TtJN VnpuAmU-wx1!rVq_Wybq,bZl8@oOiG-|gW2Ox.z"(*((wwEּ*ж $5vMO0!KvHg: u^F/`ߖQc +RW\9]s6#*v #5~fl)RFA#䯑Cŀ-6W\ d>L߭{+)Ϩ'3Pa0,~l%IѮ0plC^DPX{6!a;󩳞U0Ȩ3vy]^Ʉ?b/qQ |;N޷@6>2ַDn1Iڏ`xʒ UăT؜*(Oh%cLk׾Fy$xApFKۡZd2ƀ,(u _y&NB'iq TY'Xu*yO@^t-F#9P2r8cyf?>VkɜCW7EceR,`4O^)'Dbpz^wn_/ `* vl;՘!~x֤&350Z]0iٕ‹t0frEcL(;7ㄸnl5!,Ü3 {L>)7IHǚͺR8ϥaV+$.a9{|I|ͨH&ZI-DwxD;x"P7MfBjj1]=gN}-sD;44d[O8BnqU;>ax[#ڳHV$qHmRַ#/݆S=~΄+'*s0 -ht=T(a@eN"c(imVQd6}qCn0\''DJ3mߪl>S0@Ⓙ\C#r7'T+uG&0T` M׼8./\RO PiMvU'P#QX"-_njuV m!6]Z1KHuZpmh!(gs"(~p:UV*6?1 qWy<|ip_n]W$X؆0aP`15jDŽ,skQGY}DfIe3¯ԣ'?Dx76kxW-^ZhNo2 iCGg83@۴ :&jX뼁P_ѕ67?}k+sxw98 x]k 7L~ZdmO0(L&جɘW\:#w)[[Ũ-KkK^HdBBr'd"x f8IR+= |\xWUf"g> O MGyzۉ]g~** mޣRlI]"%燧MR,V{i>Fi#Gi;:MP90JkA8}sqV + Mo[60 }v[Fh!175\Z%~_Oh|M%`>Hs$P[o`OZȈVRoYI3Qwv2%,ոfrɦȐc8mܝk <&@E;Mœ{[od4>λ|򙣸+hCɧ̭c%R8[|tbgBs4'It1&qv2GLm%̻8$WjCZ6y]aEzÛ_wQ7AFA'X|ߩ +룣y_GX*C坅w  h`AG|ӏ07fqοg)Ф+i88ad8[SRB=Βy'˙ԃ#qWy~C XO`ʎf; nCtW^N+SD0izx8ȹ3⅃uF$;E;&,L^|ثY@X¶sHeq ÔgS:jU,#'F3 zp[B QOCW1_#G*X{0xY5Ju{yq.oAMU&ߦq˵P D@0 QJ[S='Q!\7&x7l%*S}ޡT{K$>aP[>ɹ?Ź,#g,ìd2Ta_æiwR'7ÌTƸok:s#w,pNRɔeu凕 VGmcz:5@k]@';OfrCAi;]ƩCVFYSidabC]@( /Qv_LXKuuQMNhݺ=r;^גyLsalA_5͵K39Q(pNK@8! XER:nĤY }\RÊzRޤ7]e!K 8'"]Khcd/ugcT٧gDR4!5mJATYւ"Ml|mM93jӮYVV 2 xQizFl w<ܫy0%5;&* 9Hli8$w4M~O8t@ս.^4ߋ"ޚ^k3Ζڙ 'L4;/)+dQl\M[3UU쨁 ]sd^[u6}xMVbSRY}"'=>U4EJV)=a/ 6)'Y>HGX=K.\]JvU%s fq .)ۛ@vnt5 u3cvH0(ݍ,^ \ ALX dh!8w۔."24#Z0M`G .YV&5#` c<ק!4j$ƅ&u=DH}2VM *'= Y\cH|,}߿ m畍J1`1zy0ǩQlyq W7(?LuT-S#Xbv!^%lȵ]q('9(|\M0d#Tq"orOEiqP4J,t&tsՐ(B(Dᓧ A9^3^!p6ĄEEwq?OgmzEP ۩j4 g[QW?=_켈86S1c(R>9!AX D@YZZ7ۣ@@;Zm]:Sb@P1j"&LQk*WK'1)-CzrQu,䗫@H&񧇮3smw';"LI0$/=A&aR>I#2UsDr~\Q|%л W żMTG4M>,8ܹ?O%F5lvR/bEK. eUٺ1C^#EԵ5sxj{D־!F=ɊvvKF/s[pW1`1JKq`(.tͭC3 CO=&x$cYՅCthh!vdn~qug0{j@AlJ!$͊_O~T!ϫ{!r%ȼӞdJ!՞A[D2}0TW xӦ"zUfb U1'TYKneVn!DW%(SJ78@f 8[oh\f8e]R cѥwd̊IVDW燛xg)'DB{X3YRٸOҥ" y&kj1VFaAUXt]wl\`oI[_78ʭ,pWB,K+CRpLmrG"K9!q8sw[&Pe|f_Fo6t87&>m!sw>݌Nxx>k_`)sN/1g6)ׇprrzl)cJ*CCXm vYl F¸oUxPWhr ZLܾ2?EO@(Q-fS(\ZZ%ҝ`' .Bd +qnom?nzs"Uyq2}͇-gk  ~ )XJ"QgF` + 7ySIRmz1{|W■TR/~.g9hytcmBn-4pU u=ޓuD>% cQGx 'yN>]S@%k?v7 @-"^taUMҞ#{x24 ^0HW1 WX4ET%=A[ea1*ʚNS -4Vvin(JL@`'Gcs}C57y9%)kUd:+@o& Xe`RS~H}ƨr0>ѩ!wpHzxrGI%]{0n.QRȤ{CBdW D$l(9P0)iFm1Ef{1G,˾"6aPGJ Qzuڤ >`DЊP2(h `S.JNpeQz F*7.HUU|6'^HI7:@IԮ hmp&Ȣ%'G1l* uӭ3G=:V[5-Js˥1IYxbVqZ/QTtת Xd=UpʪRzF.SЧ*|}b|*:aq2S֌_s)J -d.y~y HP2W 0yBĂF!V澧6|f5H2i].M61~rÉQ$_W1/*ҰK]BJŒ񒤸BX9 aW#)((ڛd> X޿8yQ$P/Fo<<ӘH~-y=ځnoK{y8t&X}EN&)nD-g>5Av?'˟[bagI%vJNOn{@ J.XUk7|k{Sr:FFWD([/ D,$(wRr!,yIr [s4;ݿ|"΀Gly@ސyM`|H , !bK"$~rHC$kK']!WLj7xͣ8ȑ (ϒkTX&ߍ[#o5{mjryVnّ&d/XmG9'NE&]nӳLL^bwcz ChnFit|l!_l"_ sTnF53p0x?  ;ZzȠJaxzV/X.ZC:@AiUm< +x9J D- 6CrDGǽ˕~"R#.#<̈wlWL[3:aq|ē4On ~dh%y">e.nǕ[Ǵ?"6W;A[eHcРoJ`}ɴyl{qڠ F=?RUN/Hsjү? Y(JFV3&w#J KQz}^& |]2t)jE/>}(.qRh 869ۉoRpo i.nE?@zP,=H3W9&B|\5$I9?Q7骢e(8l(.@sɶ )S g#bu]ţ*ó?BxжNeF0LreH!nn^: -!8 rvbV %k~I-1d{ x1mz M|cZVyPNowkI}:Xܭ,!"K\~ZNmH2\z.oi%OUV:pE:4b1n"EpC?/!_%R!'~(H-pY-y[\Ӻ()T(|ȫ [6XZ`ܢ/H@:G)0RXX-D(" ź>򂍀QY#}RD43L&/&Ax="lp):R&~i%8Lxa~rHa"[u8}Jՙ0wW.O]}rH$N 2XQ^SG/p i"H1Ou(TNx)-4 Q>ֿŢ۹³60$j)C/@e8W!8ib /(0$!tnj 9jm]6?pZ/Z.p\TI*)軸;de^{9HG0\] ^ #Nơ}dj276č}x-^lp)% ؿLrȤ Ll,͉od.$ pXo3\] ҂V+=z;*ת)M!M0?qY/v,Tȃ 7^jjbrǜKXqIחSJD>(EςYn{q qǛJ/L]|vrJ "22>KF$5n1B0^PK^xޑpS2'l$ ;LgnRGcp-r\acW'e6:/ET [<#-&\Kҩ6{Ͼv)P5~}B!co,#`-w6-dr1t9M< 0 8a4'neQCb5}ϽmH>3c:z R0_DUq.+l"y}$[QXuiI}&mPr`Lٽ@E )یXrbdGRВ̦Մ❲"g.q-YEt2g`I*W"X4Y.}Ly>$;+HWߞ_[3+'Vu 4A5FN;js~cCyk]J"Q\s8)m5M(dVح6AѽHʹc⿰wfi3ɚ1 >f :j:D mDjqk/Ob~0?͐&0yx32Y~t?[PN6wmFuD7l=Wˎ0Ar! RF 3C^x?hY|8;_ȳvN;UsCMf!"zfMmY< ã!۽-rqm'Z\F #6ʡg;ld;N 6.E jjqDl4Jreτ-#g l*6Cwz4MT9T^|Imz,14" m.aJrf[ȱeJS}嵩mBheT!?.?} {=d {(1gBRſLNX%yUpkM-=u0Fg4;GC*u7KVUFgisHo@x RpOU>05"cM04[Mԏ)RC?Cm|H+ t{C0!"'9~U5*&fm5 TysDon3>xA#hEĜgCƻL7 % ȖܾBLċ=b_rpkx~E: ,ZzތRjWEu/ 墢_P23@GL. d}1:hzd6o:rJ`?0|43(Tlz[aI "HG5s[~/ ӫ7xdÆ:oTGKi-CǠF!FNbɦ0<2.-0s(}É#ճ=,rF >ܭ3jhc/HQ@,"$R!W((u/ {}6Хrw(̖5eg"2kX8ǥL6QbU*%MVc5 X4HݪPPU$0|\a4LE 7FZOCyl";DY7}(vE7^;[/yrysUѝ:>{.vW{5NSݺd(Bϳ &T'VM?қϩ#ȻV"19\ ¢O!WbLZlypEN /`(ubML~ٖvZuԿTBtati8Gx:>M&=yd>xzE>}Do{/l:2y0BlUSǏbd}ˉŒj#øi{y$IphGFε4Y>"(~\a@mHG`PH[.;\~3Nupp܊voXT.3.hj1}V2*ƒ$\ug@Ln xdkktK+܅e* n>B7>dI'Y*y߾LL*쑬mN k-"xZSlE;6iWuj.aEqrd7`` OrxCH['y#TJҍH=plFE*3۰/ hci+I8FSРn$t0k%Z4 _({Lqj7sY1q2xR&mC’ 9O(X ̻K3{3͚n1aIHw]gQ#9ۃ4rM9dAw%|MRVE5TiiD'V;5]nލގ^+$QzKӃ8Cֻmch!cGj3&{Jh ~'C Bg6۟sW-sXezU%e մ˳ׂ:G@A$'T2LhQwëwuB6yLbRղ:3姘g2\>+R&"b u7@oPk]E4k$sg6V`}̽>-նgu}‡HÀ9fh2ޫj6x"=ư_urV+d4< ZzP; ̛R(`LD,9E.^ϴSgA^*b;j!a#'7u> D.zW o17N 3vAN_ԽT0!bo=,QHߔuq?.؅&Xlx~exXYo43 .ЁhN]g]UrmG<Sè!O!n{~]ÆV1Bx>-b :13E40e:*85(#^D+;Ԥ*ң-vq &,L1g ! -锣;T+Ȓ cK程,k()a/}'V>D6Cmmڙ\d貹 7Hȴ'v{!RcTsSB^BL)Wyƞn)ʁgW;- mMR*H]㳛bs-&. Bnm;ƇZKc kȷl;4;#'ޏogdک%m_OsP&W-9,}.!2v!d[-ٻn͕ܰĎ;p¶w ᆑexb^XGJЕ!gY^S!;*RtghXB\m6MpgQt0[T q0o T7xS\13D_t涖 5?,1T~\Le$ѐLT2D=?:)1q8UO bK yV=5071\r9yN!HKZhV \mnggm6Δ۶=uڠ`vDc bbb(8*i_Z"%;. qXAg\!zgr'C J[P_)~No9C}隦T>IQA{ ÁX~ɦ2`QEƲ/_.jA "AWtA'(@H|B3khpd~} TCin@ytJdFqWpvV  SP(~݁=\:`q*dzebXw&ozⴥjW_Z=[<_8x"?/SM+d/&hVkٽFƨ72KDE4śSЭ/|;F k,{OqI_v*ٓ?vd}76wF_|a\/Mg^Ug[vUy:.RB|F@B).AźjŨ7WI㔴=w7*!͆G8N #@SDYXKWXRQS[JY^ZrSWmzIZA#;7A[`/SAv3A ZTGZ'HA뛕||W {~e}* 6}7EwʧV9b=O~gDwIhhrDfKV-͢LZˑ+D0+TVBc,@h2Ƒh[{94 *7J@:^^Q9-'v^',&cl~,{cOРV '}]&,#gί87#ar׃!wJ`.U}bBflw 4v݉Lz.[ε]ZU0ZՄ`ZZth)Ol)b6q4/00$O}#l|S 1r[Zưk#`r,yu|y<[g@od,~8HbxU}~P i =phQ9>Vrb/暇3q]]?Ɓ'+7?&"oփzR>E/5龛 6J`i0`Ҏv`Í$OmrTL?hz 7n3 M5cL[3GxEMPBKe U4+gKn1 5I/>1ʯS"h^|hXTp#{#MZu VL(/OEVrr{۶ycRxw3Sk6erIDЊ d r$Sǩ W'vl&*Ȭ U-mn >w=b%Z[dm,t检F(w\.;EsEs6yU=DLZp2foc^Bީ is]{zuEIjd~ p3K|ZX`{ Lsq446纘X+{-.H :$DÖ'jǼttb`xb<{x+X'YXMnGf'NGP b{r$NɇpE`')yz0۴ kmg9uqdu@&9&*N)g{N<zQZzE_luV-P2zqng0:1ZF<3.Otxs]+LA]`.QLn1k浪L6r9 ҢU1Iʘ떉0pV+'(qX:eV. wы~\ʒA[IOG 4J(`uK7\bz5yL_~1R6t]\DžKk۲~2Ta6JJOi9I歛&s?ÐiQL iUXbs"1~;7Nڈ 'zg|+,2 ]* (K Å4-$yQ9dMt!.SN4!aM-/o)}ipacG|#}#R & c(K~rvf-'AcHU5f쫈MSj\d{C)dm5\=Sty 2쎊~nbC* gz\`6N1_3U*0 Y>UN4csPVF+Y9SAq?5ƅƟ3HgUkKo^K\6OH ou7D^08T92r+4-, l`+FO-Ff€Ϭ$M7e8lFd!+Uvky5ŽMEvR>rpNdؔt ˘}c Wu<7G0{-ųW~7KE bc`gbK>&uI8.?ת0HNRFo]BC1MKwHmi̋p&*\{J;;>pbv ʆNxiCn!kW'5cSuٔѭad-4ێBp}'+T 1 ZWՎcO}UX?#zoqӘf˿g^̒<+,(GAzACdhp輂?|U >*ƞ=|@7)D/~xT`l:3܇s=\&taӈqkVHl IjɨEg5Dڪ|w5fVS'9xulDiEGw^צY}L=p:].oK!7]_4Ri80í#g!.,ȟnM'YQLC٢ AǥPf w?oqKP'Z!eB3TT(l3ϣQ߸8iӂߍdC gcD j+Pž0*p<{0r weBqr埩Bfe)qEb'(B |#xiqHUd:qU{UZFgIn8Pe7Q*N~K *&+5.ԧ}b/89tDލ\#@q{'ދa3|חIBYn40'%] A$_u9鄬5ͬ9فmu*%ZsҐ* ϵ{q]`ls*g_$66Oi0N| &=-x5;+ -R|2 `T`/c;3e0YUoe4dmfa6bfO_;\,"}yzQh*= eYª}[e4K/tn1m<+j#xV}Zϊ6_@B( jǝ2B44(;rQ3T]:=(U+0GeDS7*&(:/wj/>Ge;hhmLH eZEtML[]2齘}Ϋ,N$h9)azY7MAWmd% )Xf$DR(]*΃'cnweog}'Uf[`IFK2{4[">*K-z2=//%*D<TNkƲ֮>3㇣GUvYzG!(6S = \b䪤.=Pīi+W4ۭ\RR#bɡKEug³7j!Qdxbka\ѨP"w1Feix'\VdCk"Mqo(rҴdFUr]|l00!uy4Nc7'Ľ>Kf}x`m" m~yZ}@U <75)!jVB]4o!Cz*P |HWY'я.NL@waOP~;k34Vbق(Iq?Yk. R+!_l|Ɲ[Lh:Iey!EhxMAݏUsfWsQHP0_^t4P0K9 >WڲZx51\=,{/Mbgm[И CTT_pVFT8"=b(C}=w%ß[d@$護t]| R&CW:`ceFuŽ@6e:IlqxݫQCippW"++.4Ks L !vGFd]UDy_۝f%Y>mSxЦ B˟$>|۱?mPa "v]TI.z^ E%~SJjzr}bK7 Xy#U :X|4aqٶ"3]ԋ]/f"ÕVaٌp =7##qn3tFfŨ7^+J|uH0 ]Ta}"T ]sdd͋ &sQ %|fL>J( K@bBynqCaWzR >2/u݋ d];+a%zьyN9dBRcR#v:o>Hֵ1_ ~M؅'1iʋ%6su T79PH@HJ>}GAx,>XA[ 0 Beזƒ=AV7[S9ً܎]a!'ͤv+p\skU?}گugҮyN®G;XPծoA%0+~˂W69mƑq_+Rq^CS2h@OGvX*Hm12V>.st;)q0zĢe!Q“#)ru~\|fy zW*DlSG9C)]rS3kU9b[7݉ZͶw:ܓ XX+qwm{J6 !r,A '$SoEK1>e98g'W I4Մ">XWPGBH!wHj.YJV??&K= noO#\6װ&K|ċv`ma3ڄHe^Ch[1Z.3r1IM%pG>j.}7J,͑.އUB*i1ՍqFګ?E9*-[b$pjNᕡBD$}WpN *@GRdeaCIqd1gTYB#GonM܎q `Ch  @#Ŝ7OlCk"f_aRy|4AN.1b/~ھuҘY ;>71L>UBW7D1޹mBuGCV9.K TB^AmϦ*.}LJQhF6+IRXi_?W'Ԛ٪q3~lS a[mD]:#oxwXaO#<&׺`m"bI;$4B.o wp)|4Kkk~㩷"x\~_wQ*~7moX>Y<ɺnlȂ>P^cW)]y;r%s4H(O $Fz F-wkaB ;h8JwTG&Ypk^#p?ܛB\6Q%K`p̥g5EKWX#vbeQg[1 3KNWx=a$H4A4ek[n_qC@ ]`F"fWs6 zƈ +*ǜjQD~V\.1r)ê9ޚ[Tr4 빙#V꿁Q6ұZN'!ĉô#r07{䳉uXC9Y+FHU_TR3LU]]2ڲ; Y䵪Hk o)^d9P †5NFIA6Byls (Аv"rTx:PV&ڙfLGU6ePMѲ|.m}L$cֻ~tyQ\ig!OFQW*7hdB1ƁGN:dQ^34aJ#=xTNW5(8KOJzRfI(ug_ƞh1?h30%j?54f ͭNJ4q6vrLջ [1PR=Ktc v>U{V z5@ID"NCZp$|Z IH^qĒ`ZMZvj gS hk8ExqvɛQl*4nad Jb,|>vx"-{#Z-=F\-CǦKqaDzEyR0Ԋ݃S|~1)–s+R1x!*(‰Xy{IT/ר2fԑgq蔆|$E/gq/L`>}@PZiL*ܳ1[ItY %{wMtC&ݵק hƥC۝(]$2 ,~I޷3SV4#ؑFnq4blďETP: ar&S:ܔ( 9Xk;ۨΛ17DHf>H`9H7-e 5/ih8hx?ߐ+*]&8z7LL4yoAoO-Rc\m(AH/0݊N|~T?rv˓&Āq?D_FCȗj$hK7 qvü|eŒ- TtO94& o͊ qj^7ޅaOɋ54,媗 OI$+ = [fΔpBc: ㏓8Vz~:?CdZnʶʼBm~BQJ:F5 0ҪR2"rl{9B=բHBRR5J  #XqN-R9`gv`uK@! }Lk.l]ƛ @_2H$+g'\D`lo{?#-\妣EAV!܋wrɽ{WMUdXm7*H6"79Yk1k"PY+]ec;l  حxBَ'ۦ` .n+]S`88E2v $sɵQ邪ʘLk4@]]Z[RzyMbY T@lcC*-L礼!,#~jfU|{*wINU%e8L>(:TFL?$liD'ͱt8R+.U\=]KP1^n|p[ľ9KV縫T РRs!jy>HTBͯvWiSkX2a)>B05 x7|cl:)s#DJs*Fuz2V+N#1қX2I=y>9;L7| !2:,)s2lCy SzGy`r^w]8ة8\jCiLiqM50(fxR9c| 1q_ʆ[E?RŭlЬQ,GYUQ$n+sƁE†hG޿ؖGk)%:deԈ7[f66/ӡG\68v bp AMR16 SGzݑǕ;Pծi  }eYՐ0PV ;G̨ ؎t@<,{PNޞr@/5FywlFa.]D`IMU{am>C4=mҰV[gV*5o9OM̬`C}Dw&JUTweXV &&Z&x< ƒoD*8\[r'kÞb0@g 0gkCG$jaqzTfo|{̋v rzu_ٍFĝ _{:TឃN)VG:9lM Xy0 uYp5F/RtPNt G5O1FƱ[_B{bnIDSlaeQ kV)G.VQNV@*-6!Rx+GYъ6 #CHLGyKo%85 QSZO,+8,c|HgJwvi(6@}9•CYwZCň i\;iLvCb[y!K=>7}#;gI-*DA\b(t^nCx?c:OkKڵݳԚ_(>fb],[x`P]{^\r2"Gl,ô)r%tiKc dMknr@|*,dC/r˥MUVƾH!p5 ~uF|-)@ТDUOT?.P&x0)i6\)P }x,p_HX{up SE芁ZLEu8B2ǔ &uҢO]2-! ݺk8)䧺`3<&Ro^vPtPW &W fuT$*^n#+~"ҘHmP˓6H'DJlg)-/b&>ꠊ\q̾ )7bO-[rOl6; OӁ0r _\x5K=7fS~&*"Wu CF' 61&ŲW=ښs:}NX y+@sn@#8\AG-' OfYDV!w!/w i(Z)nbxȎZ؈g+Ve1Sak_PY!3"D=$ 6 {k:bȱHB9wje0eOm)tsDYQ qگH_O\`o4p7%)Ď,*] 3w|?FB ~rں;ݒͭ$ЋT:;F@ߨ,īK }-F8聣[FlU[>0/;kT(vV*E*r)awCbBD| v+΃/kn==L:c-R>ZAt8j9o#:,ڑIO,^m_ њ^lĽh.!S@7m nZY&-xDOIL:/EKAAxhn?N]atӀS}l~4脫W? ݱ~R.?0?O*v'Y)BQ`JC`zcґPxklI-'tOXn n37'~BرY/hK꧙+O԰ ^S{6ˢR|!(P0?c4EOhsO\-5% M j@k "FU>Ֆn^ SbJmkdJ +ZIFqN93b;@gm ]s/%d*[8o\2\NeEzRVg#1ܧuQEQj_<{yBA +Y 9X~ '8,ϋ{)!z^;svxlN[ȃ-$+L?2Yl:^-Sfomr]kb[& jו Ӎ뗾 ,. "SdcvP ʿv,tn}'7 d%!}-;WA㎊t[.D=7 W-3=fVKh$ڪ=|)2;4sm]pK6a6̀J%^ 3Ÿi!T聶 @w$˺I=ei[avJg_"RhN(Ig՘`%^7PVyDTMCK!&#t납jeE$cQtQg?K1 ,61^n`wXfcӕ+ZN'{ "X]"McaALBy mf+3q?}&Fi' _ZFY(Pri%JܓfPǶO?dmZ=Y| Ng3]}%tf?f;0MT ;u0ep8?/Qe9  ֕*v*"t~˪QCU#OrD :s9(eR2QtWi' J6xA4gpP`kEԂ wam g h؊|zt&:,*;_'6` ]mXզ^gZ> 11eE$[iyCۨܬ%EލFBͶ9on@)`RLkE3W$͞ +3+<ٲMY?cT%R5Ƚe.|Ҭ>%)yyy_"+pЉWpD"-Vm[7DMS5;r [n2XBs9˜)sCWPψXkt6I5$;jfYl | GT@~/>`$<t=1ӷA!RpE7K0P2sB*u1Q>fuTW GM56jav(;|k, *:@iW3W00#kΝr гbAd,+(V@0JT<R,SNPu ۉi2m3R[UD2%+DkbuE0X&9U0ѤfڶoraM.#+uqzY9PcpީHcH>^щhfPgG@?~?doh'Oz(.mm)EGq|(ku1Hq⒞_VB}匮JZHG?+ta-O7wX 0gM]\׬/BFbY-55Y_n|D@9$P]ؚa'!vE|_o%v-ט`5Dx2PaⰭ+?Fu{UY[%]Jz/ͫg/ZO6oec=Oi"N*pl x6M;!0 6/ ef9{,xL3X;=%YQ U' bz1  2|/>z0SdrCLi~B&-Cx1:H~7 { n44eA'CƓtϖ;4Sde/zcܱC]άN2nm:q^ÆmQPʁiA.ŵN J Fغ()y~3c X3֑MQCDxͱI hvh(%oȏI}BP oۘ|:49oE raal%Z<#F nt?cFz1qʡv: x꘠̒ DY.> {/(_3L1|5oI嬧 zWdk\ecEHth;1~})6HȻͤS).jnRT4VF hc@(xHڄ pD"_9kK"xXҜ5o1bD}0\ZW'n1;Wu͢_Tϔo1BZA<J%y@%rX㡐.Qe!7-L۸O r'qE{ZKl"C)"kAI%H;B1-ZdCe0"?y緇8c.eb'J@1k=aB/@6V 6Ǘ1x}>Ffibp/x7C ғ z)"?iX4H]$"aYݩ4ci@3#GG$v8F0rv± O`4!&;D~9wS r/c-vRt J쉧t%p;."~x<'7DW.c5a8sU_$4ZL>s h4l0I؆r*FRbYx*}^ 1hJM@Q7gE{;l$3McAr Hx WZ-qŎ_LmPXa=$em'M.3PYʑ<։ jېzT&96 &oG&D#\q'[gx㟉_"s2df*$d,֦|g<4PIǜs K>X MAWV;VD f0E0? d~M)mxaᠪV}4s+lr 5We^Qxq-ަ߈+M[GH^);I6=vL4O^lEԚ6PqAo_o4t '·>DTvA#K C$X |^s?M#+:md Ǭ#IK;i9C7y|\+fQǪsԢ c5 $IW\RgBYynzLgsji2)tsӼG:OpSá ǵP aᛳwcPH@ QvEthߌ>Aɤ R?w ޻hs#2 K5(Je^>1֨d>n#րǏf+jq湯YʘZZ!ܚ~FqB=Qhz&)Z!A񴼭c#RWa#hT\ƐCIKC?ƠL̴I"ui&埼7z$HqѨ;An `kpyb `ã1,b gXX`t &\waAnjQU>r^GkeGҳ6A"~O žGr,O|#[HZnc:’NJHK۽h 5yb9kh|`k3 r@Hޣ7o+3P^)FΔV1/mɟ`rԂXuky%^0$D֩h~c\- oΥ:7:je=X#Jf_!|,~_[zgdn+yFR7ZR:= d-3zsX5 jr!%1}YHgED$krqcf) }n[,M#k]F\Wab.1@.LJ~Ky7 :^'8\c:BPf}NxUeʜaR}&c>ԖZZTG $5lZrLYs~ᯒgvK%I%H7\EKH0].#2(94LvDJ-͑Bv b|;p13NLP8zn-͠;ڛ@тAj%ؿ᯾,W;,>:syVW,|rҝ=bPkz_!Zzh'R/~ٻH?oPR:(MK+*c#Y{]#a̱xkGsm %jtD2$#>s:?/%DY= $쳺9hh.g4 K4I l& \2vpJw2)v5Y }yX*[<_&lFmxZY٠30Z"&ՓI[u;U3=~XE d+p=!N?7pˇK ,lPMq8p%d-2empWJA)Cp2"$kFUixbg]uЁlQU}jNM;OP8u0IЂj2PÉPcqK}fC"*g\|ҏL6u87䆻RR{\G$#U[ul$/8?Bi2aQ¸w.*_SVQ+Qȗibx:c&a`%>+=;+Nc|\a"3v7PmI@5"?qq?=*븤Y4 _Үa%6hQNRx2tE \öމt^lTƊv!9rt$98n !)=QU+z/1لbauqsWSLM8 ;V]5]"|Df3U%߆DՊ. YfoDf3lYQ#}GT2\;A/ 1>D.a޻Мmc/𐞴MDzub,KHpoҪ+b8y&O,+c_7h bYL=s` 5)6xֻ߳h9nuU Fս7 aG^AA|W! |ęvn^_?F>S?ggA5^ϝoJE148H~-YCʄK|dzq8 / jj^f\rR*66V _^ZXzx2t5@D@rY͟@ͬwQ/U(oV(^kq(ȡZ!bHbxP훟ߚdp"x'À렾N3 k*?U# N(Ȟ) `z%WOzGCs| !z\];3sqp#YW >}wF4̞wd3В5 :!69rbC}#]3} uC'MrM|ʈYcqA;mRPh.s"0dtS $ky~){S !1 G{!'4dS0ThCNy>{_=oKP o~B! 6K?J麙IՅo[sl*;#|S$ғ'ÈOo!,׈$ eE0ԄYhRU%v&Φg +/-w KG_ 40)] b|{qEy͐# ,LM[ceӠ))n=ipwv?& oo*=qa +{EKn˅>փbGҴ3:̰`b[s-g<srփ%{aHqOim({gl 1"3϶~G~nE)I`I7h o6)ukn&Dم&sX' -`sa*'p z;$2 XR=fƨ'`ʅ$iKЏ$2o0a:tpgBv\Ox^+S,ɇœHyC(2!EN .=y/7%VSLvC"he.p?d-{Zz<&?ڨq5G.h~HkMS9i&%7 Rʑ+q)rLW 4[wK)Ua9 (xDTL0-nۿSOZԪ8'c$6^%Q(%9?t+EC*[ T0( }x5.`X~#H4ft%ȤK{UZ T ].c'VmjcҎ Il6>U;E%/.aEF7jE`Ј<b]LCS붍wX v *C}?dLR?M씬oIBKcvW)% L?\r^oL=LeRPOvkR$&WuiOƓ:L/mF Z1(vׁ_$YHԺX;YCPkPE--=IgM6oB%q rzx>&z[R ><>8a.*/^vL!p[/njI+F 2;ޒGEdRxkcdCW|LEĮ8贮>9+M\W}p.#Oy &w͘mLSozwc2M]V1Rđö-TɉdbEz#JIhs qlJ/A]o7@I8:@Vsh,h% tϥsa/<0IHأ69$73#84?\t&[ ֭R̺:L* %1r`khćɬʶ a fJu&JZ1}jzN` ThOž/T79j4w+Y|,A P4]Qș)'JwuƜ I 9%$*{ ߭J1uxsυ |Jo% !(me)@.r}ٷC9*L)M!2~ ؉<ӌV`/2ckz*UH @lU6: QjA׹3nzJ"9_U4]f`:rJca!Cs+j[Ms$M4׊Oì_{3:W~2FLĝC H#*VQx *WZO5_* =| >0HFLy&W/y#q=tUn=2/VsG1?ޯk&C ҍTZfk?@Sy?[=M/ ن3grx1gz 2m*>+q##a+70WZImݽ% ก>D&xKTپ)|k^h*ګO?Goea8sa X}oU63Vbr#6)cZCUMxƏ,ݛR LM5|A@XP|GoGmڏI` ŏrm"pK6(bO!]%!!(0AepZ6ND' < '+\*uR >][;R\._CE;[;ky$ߠ!uҷ8qN7;!(mBzUt#$詶Hw)j>ŶC1B1EgPCX9iGƠ4&X|!/5˂z^6bМhD@oQJyrEzP,ȡPvrT [,*`ؕ" 7G?YȍN(y L#T"fz}=ޠ-DFB7,ga'2>Y> EX"U ӱ4s% o;o1ce)Ur&dϒ3 7u(ms,fxSa_2s>@T挮J=4a6T ]!E!x:'韂)շ/ Vgm |90,-׎=fqghxq Tʣ>.[dǬu|)N;`1eK$-aECA22( !\jMX[_O6G/ wkmP8Zfk - Z}|-r/뛱e!P{fn(ڂw|fRlaGǕuA9/ml'@;Hf΢i,1SIyK;e\] "RS?VP&#v&Cԩc^vaj5 HK &ҧ5]GyN! 3G~~iJu @>,&xi0%T@:.z7֢AjEq憏F9p^MTH4lKO|# qҏH+!O}2y1 ! I9{O7ΌM#!NG2uYRA2FC\sPX>'xcO?Y=̭%II*'9fR@JICi(=QFoN,hHsHuu#*AvdBjnqɸfbH KҹZ'0>1r@/dc#rs[ܶ'$Ss֪ھ%]}<;GV'#Jd%_Ds~]\k^WKL,q 0+]xۂ? =O6*:v3U8\&/Nnd<%m12TaI_5 }kv<}@g'bF.a_\<^UDp,Ô)J{J<k|yw$z,D-RJ؛G/5m?V|^Zܚ*X~Z&KZ!ԫSb8^R?&㳖+tB)9raډ`D(9L?,e_BQZV,(RQ:{6NtX3^=Щez]YD]BЧd\sW)"܏cZU 趭D qeFH6>"PmtƳgg%\foI@`!{#*ug/]>yvk直0AWۗW).Au7FIu/h(HxDxx|lz[)BݚZ%-JgDqA1<=:2ʑS:7e* jELc?gL`a$YY$`vAeF˸ 1.dVNN9#CKWSkAJ>N}Hnn[p"w,t 716eߵ7zQNz'DJn<l~ڞ.@"l[k{ҟu4kazo顺#Ò4>}ILq#6#Ő|ׇż+GSt!֣tԥ,S' [B<\S&dzɵԉDlα"Ś~Dkrj* zUƂ)-XWլq, ?o\3#{/F&'zЙ &DNLw=Ds4I*dcfWgC5ϣ.籱vzh@ j]ZSVWFc?gk ^ bC(3hj <k'XG*\K&Rӆ{R[U k=evo8nGBjQbf9f eœg:&JMOHg$mFNWn=uOHLIi|b 'T ז)6۝1u-re-UnV^#YӏjS,kS~*WYYkȧxN;# LZ%{(pY@(,L+&ʨv E Nt3iQ<-Fy5_{ {_ȺP |ؿ\ l)lZזŚq뫀 N%lkV4L 7zD {%}Q8?8..9$ѭOfa=m7 [›TWT  X%%fM,If*AoC%l]'x*\Bca'oWsJ P{NܢRخbFwJRdg.^p #*ό?f[FtO>a~"u`\&>!5+XS17ܐgp/ &Zu+C#kUFtN$V=706%wOgκuPk ɄۙNvCj]}d:T;uQJL5[Gomu[*QwXz(Ҁ p_r#3H(gu|cWՈ1tBc*fDBF{ʿa=KRs{us)=oa^hi|_m򶂄3wS@+z98<4wO# u=*ڂM-d&ɝ!5sJjz@Peҵ EC^2ucQ$ X|뽳-̊2~q] MAJbl2KfB} 1B]Uc jo-X?lv]_Xܠ/\- N` x|Hxҳ}8*[3St .+M U%:jeWHe"y1@[Mv;2vۡxd!ma'Uӆ#NJ]_m a&[ϏTrBrlt{c QAD6L&}99 z?OynfSֲD3\ X szr, Yo=FSf1Ev n[%A00b 3K߉;rzTŮrߛt ǍqvCۯiy?b3:eh-"q$27)󯁜6QV+ehl;zUUS]Ng?!Ziv$V->QZ}?u.쬲U4~R0s2i!Bf|ıC%Ŏ:P2m|=:@SіmGcF񾯮.>0>H)x3QU;4CcNgΣAtzXNq4ټN*dgK^"^_oY)^mx ˆ9tEs` MO4_ތ+5!i­RCc_aUUc> OZ2: nJp6]̏-L(ِuOW8 zCryLZT[eGQ rQ _Ɓ RT e@7J/kY-ގ>B ,{ll[5`Ԉbg0F"jQR$4"X*.̛QsObX(A׻Gúc Ex__wo~c ]}“Q?cmi/ZE (6ԡI|H~̜fT8P7CzM$E<\D^;hŵ[OjZ}Zz{(C +`ݢZnaQ, ۸ v%sY=BU-bUs@*7` ʢ`uR ^Zk>1'І9ދN&^22D" .a<^Gv<չ>s[zYMp r︻٨zEHs$p~p]#dVƒyb䦩]Vveb^ƋJ;#V<9O$mGPoV6g#NcSEG1ޛOJN@b&l^wL(Ľ?2,ܡI]Ҳ~jM-A|? 㑆%>T5wArdA  PT1aB݂{ܼtje1~ ˢc7PVx9i{S i_',ljГ[]'-k!2\THT7by,Sl!Fu8fQyz G!]q9h>XY a EdC#GEѐCl1ӗ^.YZAR0^r x9ARG=+ +3_-<[ Btg1qmy b6wQJ4[CD`bV^1l LX$"?3Yِ<KQ46]Q:(]!lWi8ˊ͏p!% PEW̞,Lxܜfѓ )[(b qs͖2xf R4xI)<KV?Kj5F:ԣhK2%]!ZI1:guYKOK_얂7N+XtcwrmGҳ<@ᱍE_)+I7q\;&vI;e<ΓWvrjP%#p@/!2žmH}q|0Jg)i5F6ɞ %*Ze) K&26q.79 @j,Q4͵q#o.c:"Jq]K]Ѡa;ol ʾ񼿘o6VH.q#@HL‚Ɖ%GP/7$6ŧ x}pzΞlMtvUe ctߠx$^V>ZpK`Wi!FMz9N;Oq8}.XsPQ{P/#'wutA Fxb.VK`,Vw^꓈UH=_VDM zLҵHQ;=$jO) jtSWO:;@a,&Dm !]Mh&8iFŞ3ہ}~E>4-$`X+X_6#J_!]HWIդ P_6:toАjl (BF ҸHmm?"QԀJid/faj^XS$"׏#kVPUYb(JdfzDݔEG&U=e}sx٧#R{T yi_5|e8hR7:4b򔮞Iy~만 gӘ-Ks%"Y0hۏӬXfBqM aSoǚ 1րύt:6x_)\<=-nqr3\NR}mY_npbүιNErDRkY7VJXTOٮe {@ ]BL fv;". Hqsœ?!.OąńsU-$z#Xd TR@,kZ7sl?~+vt *i/cjMṣvK ‘Yk͠~#emEPTD6%M5):6Y_trr&/.e9P &`Fn`-eIiS̨dTpPsO$rkzF};y?'x&c4ĪG~Mkemߒ FL. 2R^&+7pY:O8ZT-D+ݭ0<ė{&hfOZAS`hP})k)ˋD_Qdv0:1T'\.h] Wz+wSj }aFН#j+RZĠTR魾 ^?hU'xpYȯ/5fqdODikN yͧBaoa#@vl:[DkddРΌ݆ }\rFZ R= sC¹']^Y4 /7]R"N|T;ׇ8K6?(su~tW'8n_0YI^F8m|ToFpdK#ӫ\h #!u9gs5q@m1qN/S3'in CƇ@.u RQII|r?:FcwcDxr [5QPؽ>i2^<iI@!9_&n^{e hJxf5t؉Ŵ:6G"z lEcny&2w9lh-^pj^%X&HKEr^AԘD z7=W/Pe>F48r~V:{kYf$&.8ٳWXC*u"ٳD0).k7߃DD)ɮ!i:%Nom#۪VY$ƯJN+H"s|c' }D,b1t YczÑIj7_a6VS u\gRӲ42H՝ X6)Tlك,Az`MŁFWth ura0oMeW[1/}/p}: zŅ')3uM "H?>yXVT:~_NaSlOqrQ&K #$n+A|q/iGF LhD[n~+MTBBgzpOߘ&Oc&tXJ|p"i,zzQz7iqQ_@zT__3:b&]fa8s)r:!/5܈ 1hSe3r!FuC % \ތ@δ0/Y`hEI.$dbdpnE"̢ͻ=͔ZoCWz\I%~SGdO/ZngIS<Ua[(mL@4rػY@l0lHp[-yG 24[b~ۖe_8PX-`@(F+j _ aR.'5&L"Z>0?{HitwOxkì#0a0ve6DxhZ›L+j)ztu.6p?F윂.i?y{8վv5ฏ|d=@`"6]K GMr)wb{^QEqD׬s3{v` aqDOg IX3&rPK1N$:/O TL|3Dɚw-=RHxFJIBBGQlDǬR/R3 LI &L0orn; ?w[#Su:sN$&6 S%bV73mI[C]=}Adp⮹3vzݬfztΡ*ګ]Gћtx"o6 O-B eG^GWΧVg(s[g#[}鄎FDZ+X$ѥ-lT"G*SfU= ʅݣ>릓f%.o7B m@Yqڕ_}=0 7jva vtz˃g6a*R, 2ʏY e8DueԵ l2xe wwPIsʜKPy, D* [,:=JFN&m*~Q1bq< (B rMf7?1nPϟ6]yQbPN8civw@ȧ{ 5Zz }Z>B~:Pe2~`3+A}oݨ4=Tm|)e}2mJq!]`ƾ-i3U*JQʤeOTcAn{mkye-~1Aʼ>-zlʆQe +BC[B"*Y]ﳋzljr *o+3/:| -Cۅ9JMk> 7l'YfgprPtͫ&Mg䶠!{f0#I3߸O|p fNc3_ 'lL6="ݚ 뛽Ȑj%qQahw@KVN^ZK1KeU֐Q܉?w x#5ݸ[Ua^v LmvDRJ[7߀M Mrѕ nT,h\hsKMAHZPu<߿DK5LL6H)pb;BlI Ri+1 B{ׄ =[z-S$,*$l.I7ncdPk k9K'%,;|V;?E3S@wP g:I'=N8Ӿ@?SH&#Tǁy^mslH:ec*-,%rfr--41ea]##|뽿Hl#ѠK'c5!|j:h\:&UFmy}E14(Ri{H/0%ebRN,0mf3v<w$su8f'e1ѣ)utIM૏|}FqO F`o͔Z+Jfe tq/koWo0\Įn5F -&gD Jw­wJ2ͻh k!`Ck%#Ma2W2hpS26r\}ͩ_U}EВ4եnkGDvrdU.6x3/?#*[&4J:fXU"͵7-Og̺=BTfp1ξ}kcgBFGbS|]Tmj ,Z zyzb&6{vzyCXq<N'^|.țdc E к6* IM.}J43zvLY-zbnB$l"9fk6[B!48’=~: 6.3bD8gz.ʊ\eQS3l^H2XmPeOypCvאDMt`&Ek #\iWL.kx˪Ad?TpDۏRb , 5KBM}}&e_Aq}3l:F^n* c; 3x Rƽx_5Q;^~pZKxW=c#3ӎ? xU38pĔ`C8:nOlX5 Oi@ii$Iya| Hg+i*+Ƴ#%;4FSTӮfKS*~#};3ug_F+܏šT<^" j -&1b]lbOGA=NiB"%wsi/3C,/wR. MM:G 9->_l y"e5Xϸ4Bp@;o^ަҀ.ƍZcACϨ:~-@`p xtͶXX&F D>LStՓU F:Mdb2NOw? FUЗz h,kYX8~/NOR0u BL@bG`a[G+5g*bG0PW|D( ،OtV~o{ r RD zV4]E^r[hws"omy4LU4Wy4F[G*4с,2h {jf ϙҴ2("Ǟ,IJ=WyCRmIky* 6S*ۣSHֈEHI :1]H 8IBley:뀲ONntV];SYcwgpy-A„b})3Z8QnRn>5M&Fۑrk5XAr.zСR|Xjiư.QKJ-bϧI!@)M^!ģ-<0AB,\ξ#_\2W-RVu'fv(}ybҔ #3hb39,Ff<FB =F^~dภ̘{ZJ R }G$شk2|pY|AIN[Q"FBglPhWdwhuBll1 :0k=@d?y[\M0ZoK lb'~ LeΡ]h]h/?ɗy-{6:MWEIB1Hh睄&凝cDŠsԈ<(pfiH0+Dc"vzI~z~aceacMױKP-yP_cϥh]H~fhd~b'c~/P6B˜Mɱ *!qpqY<'8y0"-< gIz3}]HCri!IW$$]*:jҝwoc'MI싳1߇Rv'ެuGorx0|@YhXX (~ྤ =A\y&/g8Gl^ioT9[a$9kָ0'̥lӶ{{ׅ:l9d_cv|=*7NꂊLC/7 oyQh'nz>w~n!ݵX0b7bO'x[]}$r& P;8NgawC:Z$7w͹|)q]MXȪBm?1Lg%w[xGԅ?*_0U]Ȍ3h(z|FȊ:-țɫ e, W792zi /i5X2f@X9*m58ٯbx$ Q\m3k]EqǚťsbtTŤ/蘏6:0E^4m:.U 2쟶yayO@3"fsO9k-.Ywʃy{(`$]d ĢU3}A\MC,2Oʥv.׻)]^--Lk ǑKE]g^ĮO(tϧ|4^?|F2[ul} s [KnD>NyPL 8klRKMFH ӹS[#p: GN~$;fd\r&pJURFTn1VSźyx;:re%QY֞:s^뵨ckh-=)90| `ݐۿYo:=cD+NO-B40UJw>A͡1N}ap WYT#+xȖ&|eڴ;~bkQ/XZR|i7Bo`eFQS[r`)P-e #VbM'Wc '6\{h-糹,XJDZ*?s􇥲bXMW[2 .Ҽx엞 WN {BQJh6WZr 5q2KZ=lI*j>dhf|}6Z|D ywhYJ<9Xixzϯ~ g3p"YM< Qѹݴ6{ Ty^at!EsI}k-K7F!WpLWq i3j/8u'H;uIVJ=yO;>O`U-ޜZ-p"IWi8lݑQGM9أRi-Kre|r063#q0ha}mU\<ZW0 +~>PF(zM10~eiɺb<܅sX&b^8E e^4U i=앧 wH  Ȼq{X~WZc3 ;!o-q3d0x-0xB&5kiai|}k97}685rɷ=_"05Mt._ˆ%_=ȈcKFFF:C|;sPq=%QNlU\m݀&8G*+,5-lg}g0!j뜥q]dѕ!ˆм(X@'򇅏K6!qלS/.QSmhh2 ax7AjW?HQ!*E3ë60*inSk}EV1MjXbcRʰui#{-+i˶ݝ>m]y.G n 9y2"pN661!s|mcI3S@?4>bh/fb{ /"x6!nZ瞳/[QxQȷEMҺ~=_-H( G?2s}dKK+&x]h99%hju=؆qjfHgص hyr6Kl" 8PK;NJ߼6~\>mLJq|'UOD"t-l}a a❷;M ֝aÛ^)t[!Kp8;SHԱ>! #xP ,eߓĶ~B>`*Ye(QL燊m!Rغt}[99Ni&F. ?v-`7Bqzr=yoEXSVq&fe!|_ ?'t5]dx$ipy -Cj]&ϕj(C8.kc@$Rqh }A& :S.۹'ū0'$?@Eu[8ձ/B Hq)oMb.hIWoM1`F[V`bchQbԯIWW"* yQ= >痒D|5yh0`0фk1O$O,?wFW/t(lF[^pZ~rrݑ^ YvA4#‡+Ƈre| .GĤD3[MSr.;=ľ_Jd ~E k\@dߜN;b#n` m'Jn 9nv+ ؉'yQeaD w>F-Bc)e 7d]`A`DKLؘDz~g{wh*)!JĴrx~C~T}{VFuv;pBp9{@;E?+^ F=|Пn"vGCO@ n]aO"l܁)O2~-,1l% *JAwJ*Ǿ +V*s)|ַ6x4̓޹U!b,bx{Mj_{ uNkCӂV❢g5sP@1] v7K1|g2c7{?m8G nƼt%<׬U[p^?L$| 2ɨ/)m/!#6/$K rmI,M+]L 8+_^'r E巏! %dP fSѧE} 繁in~@i-x !~1ymN]w%yɻFtFHlP"b;1gf47"!7Ss˟L$L@a[9zg͏-i^AS+u"8pg$=P ܗmkI|2*n"VU1ln; qa6{j݄{=&C7pK}uw{<^@.7C:% puYqm˄$;~j^XKUFᎦ{;X I=:L ۾L6X %j<(qaA?`U>F#wY Bsj%+Op#"' I`Q4E# #I6yKk/!C:_]6͂BM6{e3V{":WVr1 ?{X+ۏLP؇)5.+8* hֶ9^M&w < B9@3g1 #sh&9&΀ˮ'nk$vԇ oLva" ~:C̓ӡ*GT?GC(R$?j=NEa{<}Dk^b:ZcQX˺2p+ScZia=aIMEs8/̺fȃx"7;s}3 l))ئi&^hs>rLew&Uf.CkIL?X^]6r:*T?=TR Q냡Y 0[/]U(X*7( ]>e<:_B^gFϑd8E ɾeOᥦDΛjtڍixQ/&(< Wj_SkB=Jvq0PF2}g$=OoEH,wCCEuR%/>Xt4EeA}ܻUwr&}`ACWt,*`/4+l]qEp^=T$ڢ4i[B Lo(kAkX*E02ӑN㪙8 ֢UrE"HOUR8~I#5Z+^S-,YWdWyI ìʨ:Ͻ (h͐IYU}дxNVϨ/Zށ Zǡ\DTKqtxByfNZ|?`mR.2D D$ {շB'̣q*{q"LV[qD߲Y1N~@OTPTkrUS@|:HІ U)h"n"]MNaE͡FBZ8WH^NGɸrs37Hri:| r#n59`AoZ_lZGߣc@B҃TŽ =u\s0}[- u&aͫ#Q qLA)gj4m :hle,K0 iYpai3^`h;'Q^CU_:x3 mC F0>5Ycџ<o_H*((UCzZFyuB6"U ;(d(ɻFe?U=bk}jjM 6h4y_ 1?gQwR g j}Y#&+9Qqov!.YrDKWX?lD$YbH𒇏]Eg QQ3J_$.. Cjh >qPȽk(]|ZdABâ# Qw$ns 0pam1h4mhɷW1B{&EڋgdP' fCYҁPgL5DPcpc 􊮃3!aрފ S" j^@x;E0v%sRƮA`s0 "dN2"J.թ%ݧ zq,0zrf?=쟕x+H`wtxYcZBW- 32?a:f'WB?±2U!5Ïs"/Vj]> J{@c;N+jY3L]L r*^$=$3'+}ˣvGL{ArvM͠tCyb P ~Ljk3J+|$k'WMH(ju1XmTΪS-IGOFRu6)`HPQ_*B+"VSÃq{}Kipa$)4J? s.]?V S]ʃ.V)I ` fF☻*"o0/}yhD=Ϗ_f r|4kp/Z ^>!~Eętg Z xVĕh_>rA }dj1 ANFi RʱTM bh5 YaK;Ve`2fcĀSPJXn,">jbHv)֔6 5XĻY(>ϸǬ"Vdcx jj:ڼC|j@@ ä|#uap D6s$4Ȝ^^#0/%$vĹO}u2ty"wAH8o@ V.NԎJ%?kcef[ iׯt=8LPb8yaNѬ6N9OORUnZec~|'-PR*:p/@ô!YSV{mmQ*4v`j(%DShDvꈇWlgf9 N8wj=y6.GɦgrpJGVXd4NO _{i7QT.(ܺ@I- .W[udJ#c_sL ,L27{ twHY*6yHpP4k6j5F+OhI7I2Ԛy6V $׻hSuC+g[Y7w8;jHօuwEQ~OWVebuS!x&S-9epҴ8(_C^KdPKV VEp#þ:+$U~%ɤ?sE9AUHQLwRTKh'K)shD¦w<(mg\: 4bwcX950:4ݿ!NZ`娕Hg{tpjP&越caCP5kÙkJz`h[}w&U`"mր")y#h  qA*%9AѐH|myC ! d1TMר}]ɵ8EWZFg)[oО$ׁݯE E( 5αRw$N:8 "tb`#qr\h BlUͷ٣Eto+rh+@p,YB!y{ɃؘV+IP☥E|xlY'ܒ9W+<\cw oM01V |=KXCw?]k7ݸ'?}M$dzʪ 4p8Onin.7.@3 [aBh<u<$UsLrUJ[}:ka&0kʿƮtSzl4qK; !I k-|=*{RӒ;' pSC֏I˅/}K'*[hm)˦,0kZwG,XDHǨu[ȱ `T.W>zlk'n<íXK) 7ϹLdpo5 ܳʏPsD qnQoQΔZ_ iOΫh(S1X-0 ϋjg7r*12 R.dЛPpQ{#,˘o2(Ew,|.q4 nYMH?Q@3{Y0W"fdE2aV s8[^x9<$ (de'.Ůr`n<"9Ba;߷*a7r6q%'F쭘 C\"QMQ"f #sEǵ߉_cϨ%SM^d~3֫Ho4'3xkT8CL ɱ-`][ KGiZ& k+ *R-#K=CfSum,EO5!3s/ywLT3aA &F=UUaIQcl hA=܄6`՞]$o2&C4zxwR;xYj嬯*6hQX87]Ғ)ۊc X^JtNrxNP;@u $Xsl6j} h_ 㓀TTNC-uسu Il35W&g癫a4ňH6^]K1>rHAxX '2P}7*᪘1Ppn "ȿ0r0 +Hc   O<_2AtC9xLn.mfҒ9s)UjwG-6]umMwm#C/{M{YND56uZ1wנflX[p"Z%N|KmeZx!x MpQUȋ#% c$ޛ^Fڼ) sا*7C܀'eMNL+06&8/lYwW*>krykDnYrQ's6r01-!7+)ۢ)vEW]ֿZ 4fH:'v MOEZgLvq=+`EpBL![7VŘ;-*3JtVH/,@._+ۑtcP)/oay.3t$鮰J6݊ZctZq|-?Qv9% k—GOaIt),S ,A!6[xX{FQG0r-#O\/0 G/BF P52mfOn*K%50'6JK}CxP ]]hҶ=ee-KdYp>_YEJ0Y; ac_OC928WM6)nAQӗ|CM͗-;ƶrRt)00T."Az3n&C*/`7kxo>Q;NESw6%5uW%åa'Rp)X$[^Ą3< ^eZ]ɍs/M*vE̳E =s|Eo/jb1ȃ' d,y?-ͱ9G(!vZh *Yj_^U.:F[%7. .C]GlEh'o}dd,u2>Krnhv`TP头M(,Zd{9٪ ]xz®T60h J2eإ} ^r [('um{_ 0. .h.(]7M*ͽ .{Lex9;# {ZG?NAc[f@{AmLEHEU1Gwc>i ,3 r;jKK6Mڋ~GℛX+D ɴgdWQϧn7j» FQ7wo=`\v 7 \д~yJTnoÀ J8b,u[Qj$4WiB J;Xsa̦Y]J&6̪sG8`UתT .Kǧwsp $#0M CoIT?tӌPꊧ$kU-j%JǨ[kvqc Ut$,N=t @lqUx*N ZߨOp]Hm-vL )<8;4aŒ>.걾֥Xdژ^K{)M{I;h2\+*FoT+ ?;.+0XxP1[,zPEnSa`xeZIEq yI3~ߥOZ^&YVY Q$?6do`=},3J+}17Y{i-X2цZ5:z"N>|ȨYQ{˶8xz$ ۿOzbFB/l|TpȸˇKH<565-e#9,;,~{rBJަqpyVY[TWNFE'[2}|I$_eJn?>nIω4v iuzleh\RPk*l8 FYa+R3]>nrM.SfpC IhHFCA~z놣S>?V=A("4TEnCo RzÍIB3Óڨ7J3؟Ź.t'\防nw}Qqm0K*&z?geY{|)XtNuӮv7P^/e]}d$4t@V1B[ãUxqh F,Ņd-p&iC|-"^ޞӵ/RxqP-NnHwAs+}vq3iJg\ߞ{9gKM8or״KY쪎X ۳:qƑPQn/8u_rM8/vx76Ufq+BhWsBc("uBWzv妆!(,drxZF5/ -~o'! ~vAM3¥NjJ_*&DKg:ȬU1N{[+/gx(35ʫzX*_EA%hK%kƖZl!91Yz9%xHDsN6~&kO: t؊HwQ/_66{7jDT:UͺQKj8_!Lf{ׂ Ӫ7z_|hQ{Ư h Y= Ex&q !9Z30M6pѮ2m8eЅmٕ{BS#\r;ڭ-WW, ؟הތK&=ueTpg[ʑEX:[Tk0V2OOTRz3`%K/q 6}V[d'pYKEɁ'aHI lx?5%x6jbw\x s &Nq(b,33exlj@akʃYcEPڭ oD?{E|V]QDJ]XFuR׭ Wqe+؍X Rp> Oq'[@)C5wd uBEMv6 b]0y0P+  Ӿ*0FA|(qGi㢩ޚ.'>2F{tH%}|uWp& )J214r@)͹BVׁ.*ieP2`]X,`qfxv6aܶRa!X_B{d5S9LPI5x?N)4L%pS|*pz )q̫@;FipF7wFMb8レȌE;KywGJ mx~:b$oﶆNėn 1c,CVqqr 9ѷ= (%獍G z (k{Lcǐsyc}Pe`_#T \6!.Gs9{S:Kc$~JZ}(Odʉr2 S\g~:J麔Y@e(s&R(7cQll<Q?x"?Y~=z3/A&g`9j'!-pqw³9v!2qo2 4t 9~"n#uCpwEk~V7K ų cjU8Xu߅ྕ* Rd΃5*a"d?n%^bie8צ3n%p:^--#[tꕎ.U<-"Ǖb$b#dp5sWeDp0*P=AD ^B-ݯ5< Wg=dvvl2 NM%9QD7iGp%7ZI;K dhHj!OJkr&#ԓ0v#zvtw )ޮɒ=T┡#Qxg=qVs,jތ!(G29@.m$m]"yWB%`ujl5OՙќRm_s9"ف5ũD&EփFs{a|a#pgV?L!}.L't9[ډFZ55iCAf/t.S Bo/' PH%-}yWyFJJާǛZ6m"m NjΈs v'7/H-FTEa9F*2nd] {Û{ "6\ldSya%3Jp^b_*tUݪPݛu5'HИJ֌J+֘s _b/]/n>/P8F|mM*YXݙn3FsJ8OKYlO=zqo }F K$اSʟ2K#389KC:1YGTbo7G^6)w eI]* 8d?B{\FCY9~CJSgT)1W B%?7 .0+ aNy0!3MN#Vm*d`yet-q=ʾ-6c7.D\ts$$XQڮoT>]XXy(۫g0wOL(v8QM|o{V}b~v[3:c\0Ȱp6lɥZ ?0+;A"jqgj%\k%צg)g 9YӃ^UgL?{v]3Âa#P1Z?VR\} (2 Wa&o 0FV P_=c@i\sk0{ezHupC1fq|=p5D%L @1smo_K Fv\М/o.] "$U \uDFOacB!4J㸛Onpi*]c$n@0"=SHI8'68:$3x2%G o^̥YrVaD09Chv3wj(@9ӹ?@ "7}:)3^SI۾–~j^%»VzPL/A,᝹,}nU+o|'5]Q,^Z2)]$ҤAzAL2#3EBj9Xv\Ux:`~ĵ:!?Ɩjk/IzCWtslS u)e%%N!'"qT{H!|j2BCDuTx,TUR-/>j R6W& (yb7-]Ut .nTo34Ôi[.BsI]rl?&c^Zc!1qu^=w|f +9DP^F,GIr (uzKFsXuO.4:ηp1Dc7~glBNbJu5ujȒsS( @G6 ?jPXz'*j]>C.9x;!f(G$Oco'w9%{Jug@ַYZ_̒U5g3{NK5$xp_v ^oVB>iiwݝX?Dz%c§Gb y!#vFn؀;_.jѮZJpy]no*i Q!mTg^MX7oz$;x]w2Rv<is\(ua_V1.؜gb<>Ĥ`.8;GKm/1Ot@D@vZptd*Fwy5w=g}K p@@sd $Qt | 6Ogؿ0't\]SͲ%F+UbVExXCxb`aIDkIg8+ &H )Q1`£˵suۥQiPIŌ;3JtX`+9ԟ(ZRvC$#Uy ]lQ;jJQ 0|-5Mnd oLă}r[K,s#b=ފǷ;"'c͑YYbm5@4><яVH> qW?HC=?a2"`Hƨ-ّy$2>毑 G<N]]H_SaYjrh*{*/螄wajy',ȲY  L ]m ؋5Z{{'DT-9iB" _ [A6rhyd7|eVJeu2uX k,c0w`R,=WL`ߥt K gLSSEyc1w 5 h.ɤ)1 N$$'r1zJB9 7:2&v$]_:WԸqe[a\ߧêL { =\+KxY M O!1*!Tct zENRЬsJ P$V$Z^/JCafp.EL\@߆҃jMZ5G4\qT>+.l@۪ڛh!QQ ͋"sw~M*0n-7}-*Z_AfEÉ!C.^Wpg}dt d.'|c'j{f5)Q0/;fJ f՝~:iTCŖ˵~O0-0n2KYy;na+,I+bC NM$\\*9'B4L^h t?[NAX~M}MwKgsnw; 4йYX?tZhZ+`#>;dHRaCDo|D;k 7]|,g"x(Lk84`o'4xvHVW`d0r:sc 0jA4;Ɣx*+ɣuG$cYu  s!̳:Մ_4bx|VՕ\Uj7ܛצ @2@@cY~wT*;9cBC7Q/v#uE3! Q$_ Kz78m#3K!TpbT0W߆ yO8VJ|+#@:H/ _y)K00e_@CC,FTI]^sTMyx!'$<lu}fΨ)ĢhdIDV.kvtyƲFD#㲉4Hv+Kq(`՘(D>A,^FIl *}w:KH)O̤pPB+Te{4"l>R[.Б{tQhSf:F;߼p+:ժW-k $c_:c9~Z~9hylf7`N\kՖs%nyLo3֥{>[MX( Q yD!/N=+L$AuÝQ\-jpN@;ǂg0Wy `__jYrί]G8iH0i a_a ǹ FB5Z2u$!< Hʹ>* EhO0s<~aI9pڷF=,·Fuİq 3xs/cԺ?Jˆ/GB#rLޤa %\N319P1]:(rE?ȪuM=?ηLQ+8Dv Fb recu;#Q4r3/=7+K1UBoJ2 0DtV]woüa҂ޅ΄Q:e۸/Qq5Bc^ɃpW2'0wN(k•>cݸRܞ "US5%5K= Y99KEb3 l\Nr1E7;xA_|2x ~EOGazһ\ (qSZ !?ipDŽ8^t!yG'S@;E;'?ZB:Jbk~9KQY-sRsnfCi/߆7W/:l@ r.9%mdC303eFP-h%}ru8/| e4H,MUMSluڙLu&\}ӇپBSyyT|SR3ET\kbݒې\{ @>n w]bc]%VnDF! +\}8 r3 9 &ӊE؝ߖ7q1|Dvi2X!mSwQC'IoJ1}:h>}pjWΜP# -L<#Q (aK=7Pii,eyMZ }D( EnhEI8c{&Mأ p$Td|ּM>#46ݞؠD)m1i{g|_%ne !Nnu&.#?Dq $o`<% ?'2.Uhb bۃ$㑗=g,V!cǢoSzz!"gs'%:l `)3@$3MQ1ZÕ >f{J{ NWʒt /O䆀 ݝVٷF$La&C㒐Nrahxn\QUNjܠr!c5qcD}OE8Їz7mqW;(nu3uԪzb)W& ^Lg Yʯ@kc*) EHuLS<ϽF {1ʐm'g p.;/c̒VCTH`z mhwP#/QZع@+$BXr<4G<TPtסOكiI;kErUySVaCstaM?xB#< {Zm+%߽A:\ώ`9HVJhQ}^5{󅼿y_5DLr^,fyN$ 5}G yinOw$ݺ`A^lIJdt^c@R%'[,R]6yl ޖ'Ts"R̡"@l^9ocRw0cw0)XI4GmЅsj #YkV?[8܅I:1+9㝙f B#.CAvPp.DR%d"!ȑLtkp2\?mԹ#IJJd#xïJ|Z4zz~C4]kx?,;("C懁VL KՈqA] 7ht(6˪GZDfe9J 6]\-b"=wH ǞZjK91-/ip.dS!sGj/uj5!=t|-Wkx_:{ Ōu){QEk4= fAϝ6J0UvNtWO3wi7Z1x^VИJ6+)YHYRpM-ˍQ+k Z0!b)&~mƦw$T@'MBr&Hxİ%rFS,܋|(QPٓd ڭ]EZ 8)GX&A#.&@I{;/Ry"r""EL>2祲zYo5E&N+k/X'iKAaf,0ǁEvO#7ܪϓDAz-}׮v l`j;eQQ~,uDd@u"qͦ5j݉q9_cD{Ua9)ʂbjkL _XWtf}k3a5 ''%Tt̅QN8o[hdE}޻fL^;ϛD#wAt;oDG աx+m3̉!t**l~<uFKz^VR/R ]vO!wE+X|QbB*qif,BOzo~ !=R$tn g8p?'&Q ''ȑv@[MfMȅyu6BjKH: ^;;0-xC2iBmf ޢTx}LH^RU&]'FiXYKeb*C%c5 ox)v`_EȢv;8F NGn% Dl ^yڇzZJbLE!YF甡5K&8 !:߅<"'yj2 /z Kij_-оϑ/aǑ/:1Kpȟ3ɭ bJ(b8QTv!^F0=9/ Q~9~>z%nzi%mWvxGD/[7AmDme^0WN/MK(~0$=u! 7̈́%P?-B2q]tU0f |e{Ui+ WZw@u~GП} B3Fb):*JyXڞ"mw{F ?nJy>AG!,gݡ53d6wc,M Wt"Ƙ"߁gU{!JL?*Mi烕~l}0q{#??6EZӛ\զ¨0yToQ[-.Vݹ-p dV^*ǚ-Q0uяZ+៽Pxc`r: 8L[AKy`s9DDƚ_N=/d@m* ~:g(_o\;ˆ"rӔ-'%6̚QگY+sz2v}35R3e}U$sG$f*Ygm^ڋ1gÐTNNs]=.N?Xs*xTO#'QCvz%|32mc^!Bgӳ D tgTFjL/@sbG5}wv(K2;ړ`4/CgJ%|ID9miy@iGP.}_GZe.dѶ`a+EZIzK]4XL5_<ZўX Vb}=۳SPB ^5 &XL,PqAg | \4 %{T}9ـJMD5*M;FA*#jdVhX[<;u@荏&vod>q(/5z}:ڭ */+ Nʇ5~k"#?<MN1H;2f_Jfp& ')o{1кt]D){E,;\>V4k"1(($ȗ,"viCwΦD`U "0+pzY #fߤBnyBTipvS—ko i|ČS>XRFe/#q\ Ӝk:Z3I;g,fS6?k> NcаBLeC灙~VۤK1v'9CQItg<^'ཚJ`ˀb?I|uWGnE9)b2{sIKt _T6u##軃Iω=6B0x} e>NwPq4g(aSBzԴe8@DۓE x1rՙ>MYa$u092dIq]'7 &=L`1dGpSڇ|)zJo[S !W9k%UJ=N U%:Ob њ(#K(X:mP2ѵeB?ЕALЕ0b^$v~n#^>п̟݆Z`2B)śeJ}0)9=N1Vv0h=BtGxi]FK@"~cPWF˵cA˓YnSTX!-/ %fUf/\kl?Uhߟ|=d7%H Z B[/ršcnIC+\'#C ?DrѤ+oY T%1הC] 9׭6vr-ېI);k8tMѴP}զC2<-s#O VV"$AڴE(d*.I5sp 9 Nj(T>zifA  ҂X#L уKdU6Z8 eZz p 4I?]ץUYJ}+-R*?I _b٘-ˣdkqAuQnKD*~K?v% ,0Ĩz_M=K~hus66fx6J8_:6 䱴vޥ*j_ZzM4 )@b =3Zf(~=P-1KAF41!4ܤ){x:JtOӼMf3D Jn?@_y'4 t/G7K Xݐ &!HqoNG~Ҭ&gI E3yߒ#yUr{>=C-;V?o[rPNGn^rz-Dd83C,DžKٝE+WbN}ɛdf5, k3TC0>{ hOأ[ IbQOL 11epZտGlX/6Abe2tsh i7>*=p7e ³ΊH;AZPG:4&o F>4~/p tIj`f?Z9iPfwrJ^F^Y9lj.<ʟ+pW7 SR7JCEˎ9w}dƻ~RTˍ YWbo<5uK)z`eΌ@=g2VddϔfTpNЌ?haXHVa (&Q[h ʶg"Oϝ vNM_ Ad=e`NL4䗍|sk5y7; YUl&j(G_t'<[K>sln7=ΧS@%PYQY]`Yt3dkkd\ ggb0hє՚4)Brחڼm,%z&QQ('AiƩcD4mEJ-(7|&B҄ifUXu <,MMuJ& n؉Z Aҥ9VX\)W'ꋮpEN!3RRě W a|xpn\E언/™B-f. S *.HtLfEc~D l8 ؃\u(6;Nszʝ]ǒ¢Rq!F:E$g1rn. >N^I܂UaA=R'LVLHO fʱ>%y쳚S"L^WPo/n)DyMinIn(_8>vC 7WP_הB|9:!i_dBC 4}^&CKas)V}g)V5P9a1حzMɀv:74O4:0 nj curn.+0ǖ%e,[.Ҵ{8Z8GiVmUfH}.koX`y1%/^jӠ25.9^`f![] 3\0aˎBP5m PN~qG\i!R8bU5qt.2pyIEcVhRD[g*ȂZ?p]:T,'Zѝw=).{o|&ؚ31_N6}swl 阕@|4WSV 9hJji&؜E*1[zCM~4'fzm |jFE׀r~|S=` E|cD%ﮫ .ȪrZiʪxenTI?zdI Oˍ"݈kLⱁŽJ}I]60N 3CnnH`g y5Jg3qSƓJ "e,iV'QFJA$ʍhoSʔ!ugxMS$IF%pZ螑4"\!$:EY#)$B%˾r _ď0BKYn=F)(/MGF~ǫLpD^*kk3;n s]Wj;7f>:D6BQmO^ғo)*(gE;ADb9-gTD 4d~;)R೓( |d5kS$oqTJY|v)hR0tb>b{FHcG*ژ7<ڗtt(x3c8//!*푙~ۗ~fдRo{9[ȢjO9z̠6s9} N<հ-U̒Go LE$QKR^Ѩ6b$ &= ?V@Ǥ?? Q2R#qQ@25@>bH"ZSVrcDɜly@Tg]h?;єqv!#b$ӽП*̺ج¢espS,be*܃'QF6v6J?ٔe_m: ڄ魘FЁ=EI ۩[YmA-$ԡ|f7|Ed`: k`VjOmq1p9ͫ;:'!r<7*ÇעAA W Ue( AHâ$~XDy-UuC1Nkq6̩dUvG<cTCk*R"! ղWxBK(FNP3, Cq*쩌Ve1T[Z9 @;»4m@su%txp8S i7ŞY9a} Z g/l,8t(p{$o !>ehpӌBBcoD~t 0V)!.W[B1IrY'~p^ūz7@aNG Y b3%9/q5?uz t.Y/E \UOI(uмo `wE[ѺQ[.BUfL,VHC.r"kŽ/ ڙ sp=C!JX#(ǧ[ٷ(zYBrԷq>Ms:'?/OƎ$P}>҆Þ"+ѓhe8O%I]+!NU_t[N ;M{A7Y :35HǙ3Lmj|7IJ`( w°u[:j9bݶEapyj$'}m-Y%Wfi+8cN}yǜԅh L7}1KO]l~M_S|qkKjd~qo&;=Łf0 ^ذea Qr5MhoqZ*^.AiV$:8,!i~]b0Uw{!}+xޤ84XVH#3m?n-|ծQ)tǕ.7+eƉ4_T(؉:ÿTW8oXR^C~S>эM4wN=@^wG(μ˜~|u[& LC}QT.x"pcpA{A9*Lv D7v"k̖glR\iB- S&1e7ȧ"X[쭪uͽE9>媦 3ojIq Wo]UQDc?X}CJqTuZTPU{|p1&HǾ\A֛$7gxKPۛ}/Jh6W_ ڷ~љvbn?^ҽ 'F,`,Uՙ객#SNC8{xƖZ"0wEE}cr 3gSGuG%k2ȷ`L/&dDn+Lq?dzg2X(f?*`E_AxLd;(.¡%FvLE\MbÂ!&ka&$i *+)EQ{hR8Q\@6s wx(;DžixLz-Q=/nEy&s-83vk\2 h|Ŝ?߁y3QyTy696ei}?F=^8V p)m@ޏE_:7h60Q踒9"Mf 6w۔ 8U.ȏ !Q˘Xu*ő;lZ-t Ιс'ٜZ|`p₻h-VY9Bk򷓆s*_P ^KA-#tϺqb <̭Nn}Q%"u.LyiҚ%CFHr;wdwQͫjϿ!bqI= FZșAC@<=M6-?N7ZJv du)e`Irn_nZ}'S d+nV3"w PvhᛑaN6kćc8 xI4jfw/{^#R(hv`Q%: '" a/rԊOcM S޳H0W$' ZK 0iE $HƤ' k ~zM_/k"ѥOȢtyH=f>:Ls)'" ǀ>uyWIBh6azNm[[ 1;!vp: 6,ٿ1Iv|ՈDt^Bj.u"!R{j̄Fhm7q~_tp({(Þ4b|v\#^0pT:~&^ 2h 譩ˮj% bL:N}zkو0Xy}Vj .zQzFS2 7˔^b5i*LB1_6:`߼y.gibAD}L5M,xц &'{,$Mj^=A_m39$SwP۵$˞-1C͝Qʩ^JBuSȵQ}ZB]#waV5L*A Ő+'} d[VbUc ӱ>L!WS-d#+KH9ÆW^&asFBȉ׃V^,pZkpdrrK}SwzsOUT kcx&4IcЁn SͧȽ5tQ'?`9I;g6A`Ul\t@nQ Ҷ( N I90a)op~Ȳ+ԯ tEVe=I̘f}4둤LK Fh,nۏcy7ODD3yXљ5Dsbc+Ґ,*vm|WG_JgQ# Wk 1uqD(z_}B5ΚXr$G1<*zhLCrWJ(7 3lMX(Іhq6 r}%Fil Q4WB jGE痌cV N+ӍUIR@<֑*Cw$z XNNE@g^VH `&%^jQ<$ӒiK2dbɕV터-%ms\{fVMU&ȨT#a]`r5rS U )]6)%'0sYø4vїD*ۓӉin$SfiY Y@u]*4/;tcx2R/@DPC UǓH T_H.zluş6K{ٻ71Z3T Ц.(KYͫ&SkH%qs;÷g]~X(Ab2tRĎ\Ax% 0kGCQ6Va"ovvNDΓws`~ǗPˎw$z၆?\L(ziMS شHҸ|~Ъ]0_GPXt:걢yJW:N6JhKu%  #qnB%E;nK*Gގu/nEvksR[^Y`%):-5Ua-uX@ng̢rhoMb(#HIItdZ;@Q'6k66V"r $ FX>ȅmA 1EUa#Bt;ܮȉX 3\`nŞc\ (7"H+μKԞ =l]K(BY,V$au:'|4QRn{˻`'#pm2דbrf#.Dx,{&FYA fbAAVqy?T5$~NB}Shd v`aiRyQP_x "K'7i>~o8_v 5z.t8#:\2Tr̡ulh3-Qʦv^鏧L6IQti~'Q x埯N .fJ*ሹܭoj8II^ X¾Pn݌s}4 eb H=s 8sx69oPƘj"ˢʔvW -:T"oտYoƚ2jK:fF>ð~D'~T=+y#vsFfDYMiLzL[~;fV}I#\̈́:o| Q8_2`xU;ڥtztkF{AĿ l"╣Eƒ ,XWq #2$_؅ 4xA4U1{DE؃6ƒٜ (Ci)+/l`SdZ3A]>9Vf9ĘZ2ᣟ*8 { (_8NpRy4Y^&;cWH |xzwE]OEnŮ ]Wn' %i.I󥞺hl,8!:DKuoϡ|}W%כ=92^9ԟ$7~3elU GXlnkcKtBIMBK=h np_?d[|yXU Czߔyג\ ޢ"F\.4}d9n(J]?C r_g}h^OW6kӘV^Cd:J 9żĕ6BRB:@` 4vQxѩӨ]+rM$|Cӝ1z2C =_:\@L5fc$fI(_"WS%iSaO07M|[v06dLj_,~7[jMao Q >uC{DNdNE8a^XY`F!<PDx |G'xHHḀm H=2g,jLI;sTu}1ԇk2Js|l (X_gwzgϷ.}I}鄼]q'ֿEۡ/{\qv?ᮆ~կGIrmϥ;r w>CFX8Ytw8t6=g6}NWh:IN.$E?`rK2j)809C[ɲKx>qzA]q6QPQ's"8[h)*t3 F\+]%tdۤcXLU#t4zN|G)+STlX0;Uw- m }^q{||Gs[^TU7ͩ:+Gw:5!g w`zBCĽ=#hՖaEuYWbKn%26gyڷw@]}"keQjET9=ű3 , k ӎ.@4Õ՘'c\|zES6#fk ?pLfTy,'˖@F CNJH){y}n߬)f'pLG$˛ͬTBtv<ꂜ$Yyl/ҟ]d|~bٙ;v&F^i "\B8CƼ6aww"nb!3>N^p#6՝M8U8vA% {J]?D{_[62^>w"Mq$0Q?̉3 L!V>3u8DS:g<HDdoEA;Be‰ 4Udc7(Tl-E\5d`tBnt?Ҋ}nC&cwXߟ0 Z!o7]QҀf&>tbn[Z:*EY?w*4A;"ӹ^7xoY=Ij9~]1?>Cg5:y`1 uC,f wIrG"[|iYlpظKsac7Z]}1FU+&orh+®Ig˫5hʴ))3(BʩuŚ O2=ӝEbJ };vϗpkPmf p仉\qٷ ܹ̚V UZyu.$L&+ RKPpL#B^i~}0-gX<)n{?oN魕{-7:=o 80k- D Ԏm@4$~Ho`z7J#=.MQ_o Ty9D5z6PAeOh":8HY )>PcyY xԎ2`mVyhŠp~JEp3zȾ?Eucki'jk4d g'H>4!ۺ@QNr(雠 J[ҿ:TG.h^/Y,ch8oo ?`0oa<}<0ZA ƞe`+((@pQZݎW܂z7+֑Y1:ϩV=ȵ07< O+VbNJ}=OACcˬfJױVDmg' @itoYBiy|d|^SP0sȕLN aw C80v#{ H2WtºCקQkv4RpN(:q~PkfqsFFI`NKYbĈ|9ˊJO>&L*&(EMr_Aǣl4m:^BX׿-hD~^.N>(0e[¦^XIq6z{ mCM]᮫"X}H3M5zTQajfHCXo."*s[]}3d9$ِ| s9?D-HԐGNCD_)+]LVť{0Ef[RmQ I$~$<&MTHUNi[:9F-Aj;\^˄ڸv_ClLl +aRm}7[[ꔨ}{p+ 'k&.X"6ݔy_f ܑet4m]҅)B<o%@ˇI#A&ZfAC3ͽF)n]^Pc&_tp8]QN-KVifg hw̋S1Y5tKX!5ljyK)lFXv\kO\e}kLϙ 2l4u4i1BOHJ(ɢIJ|OOg}ť.yxX1ϟ{ie6(Fn#[]E7Hbt#jظvZatɺxCҁ !bٟʭ&L2_6hVdq(6 zc ^`N)m};ISv2R`'zAMY6<U4uRz> aa,w#Hj=}WI;'xTvԞ?d/ךp(AC4TPOFfו~Eap aSc!oid ۋ/ƍMUui*g7= J'֯Wl'Jw%k'@ „CTIu].}@ֿyp.c{,@ k4\.ɩB.ƬJB.I| ȷ{Zb ISK ^EiЃlB09=8gΜh&O)/_T{/Vvv#D~RWQtAI4 X ]{M2kTG@u2d7t(ѫQ8D zȆ+Qǽm5(` ӻM:RT@(m]co'o@BARZ="LNFO$̌V]RV-ghK1qw\ *SxR r ћM ~rEG j9 ,_4jI@8m;8}Cj Hڟi\@q|c鎼nlȎÎ/Kf6GoIF)Jju aPXL( \f̶].KlJj9 ko#  i3,A1*sŒ#d'NL{H,Y>ڧPxI\:# *3ƽoҁ= <-| !O='&#;q)pK 9Nژ@l^s`AֺGƚo_Hkm`2mVPHv%8.D<;|{{M`K1]wȱͳryxJu$R[}_`MX)+~ 'ׅ[9ZHPC]'>)bj LUx!"3[վO;i+***9M l%x(uH6:E6Pe7G 67 DeܙKNfGԠ zń}?dU,Vorw0H 1\zw Ԫz{ vʠE,<r#_I5^rr~kd:{Ɖ9|bm6/VY=g՜28.>j?4҆0Yq1Wf41.D&1e ưZ2 ,6! r˳si}&}$絨zub`۝s乩)gljO|^Gfʶn:Xkq1)!$Y,ڛ*a:0  "]@)t/UwKKcox$ͱ"y\j,nQoN%6dztEbxŧ%|Zmfn1R,?VI]zu͢|vOO39^QQp)^e3h߰m)&Vwo( ӵɾfW~*vD% ?0/_EqcΔ;O@CwBN^ϵzEGv+%蘓0D$JXJCg>Dh^Ej0K VdEw8 }Aı]cO5қ5aT) j ؀) MƗbbC4`~c3d4@Eon[YKfZ |z/y/Y(jgii}/Cݒٺ\j~j%N<05_) KA]vO_6FW2'4CB^mCi?PvuV焻 !DG0L^UUvkgA<&{@~f`c^P5ҸQËNTwmTcJ(;6enN&v"ȚV.-"XŮUcΛ$W2>KUEB0r#lnOBR&w,cD=)1@tjɢHh+7#fK+g@~T_eD`C)–k oe/MvD O)R|I_ M;4]u2:! A_Et@S!pXDU#~rŵU"m#=:6_Ć95/;2R[(`c4!TmGIcGS0>(Cl/RE ـM!N m~:yO #5Kx l >&M'/-6P˳\"4'ͣ= J5T/LT(#mi%?Ec92>{.Q= /u(Tm}}R91HDjk87|Rxw;rX-]Xykk0c{Gl7بwKE\ Rxrud 3$ig13-x4+LW"~RAAËO|$pvHF\X/k|QQzs~.G\TB6%DTG0OtVhiB+d-y8 $~%/~]@cJn*I69 *.Z{E!>f S? C/@,<gn%_)R9uo\/@/*5k]gGJЩA;}mawlq뽫{J*#l;3}q۷`.ب cL%b!#m&Gok~׆]ȉ r'4u7r?\^v f Wk$ .2}*J ks!ʹ&d'Tf9f \?y0豯+a6m}XH"LC&iJ5,g-9F+)dq_O+_nuweiNW_60)yZ[w.v}܏mJzPY c%8H%jn(* >6֝mm#<-03DK>/_欣Y[/Z`z| U x[`"G_[S.tǪ vڔCNu8H[.zˍܢX#A8V3/yG5jmP'<XH.EǕD' Muo #M$JF ; 7rߥJ^7 `W1LŲZEvdLv1:t[M F;ew t s2{d&J//q EEU;jjlN6c4WRsf.P ӲeZ8FQǶ@n$feOߕ S@fU:ox)DPu1;X;9R>g&m>&`o6Ypc HpcY4cnBfnzRN{{_k/xSβl*Lv+lE͛䑺g ( L!==D`dJxHbR& 4yypHf X l,zPz e!+#dHje`حSӎ }Lﴆ8"Z{[tUgWFb'MkM~cqC|,]{b@v ]7Fzڝ>EԭrIuD z[ߵ'R%OƤxOŽ=GZTF?n#B|xgH|gr rLd9n"-;f:p88\ϸd"ײ-{׽yݯ[ +%Z);}<S`q,bF"R[ ;۲[&bYhӞt=uh}'߭H^K2 c4r$%1C"c|$(WJ_RqEpyB`Fζz\<@l bkfs>c/*7:; PBDskmn,Pr`3+ ySyj7%rlqD\v}D)1:XhYj'QE8 w| p7 I eP0[/kR'\yD՝ńO,; 19*U]V=R#-bO1 ^"1nDv\h\_v: ^Syȯ͘ ,:j$kr;s##.c8\ܡg+XjO X8M,f6SC B$]) X40EC&$j^)ߑCSD~~t4@3u^>?W\yjXTE`y's:4ASe;kyY 2\uPgɅ(r3+ [Z4́a}, &]3^IB;);#IotJ1n4`UJ'MA} &B84N[ff_ӀBZb 97y0 |gu!KPclP8@ fXQV&kz^!0j| guon-d1XRI!1A` @ /TmXǷ*zI>`Ҵ9ŭ3#WzLkMrQs|EV#᫔n9O' |{k;juh>h+Xegk8f{,A*HΤK5!bxA~m afqF}rf6z:AsK*Xa?2Pl0It۠Em*{AﵪT60h^,F;9h]P,\#63%犯'K]ּSW _I݂ g>+ Km'E ⦤fcH8_FU:y$t@>R o!l;DwИr{⩥ H)!8(XM X0`ӝTJ|xa*3T_Blv`C灕&d@XsK_(Df ;\Ea™S7c}Ժ(] YB,j]VL)uyؔȆM+9;3̈B(ض8c)ԑ> z p_i,utdQw:ߓ麗F,h@? 3aRP 9K4/ 4;\1.yAp3f!"#iȿ9_,_ 3vxq8!aH&^K髄14> q$J1YM"2E4]-o@9cq޲3~^0И~%ja 6/h7[rVϦy t AwlD h/u3[lWnd\~z/NSi9~MG1U@n);<)CH:x൜՛_#^X?)8fYi7lPdFyKBcFbEo?a2iEݳ("?NMv`Rto{m}G7뭘_qO̐|1YGګ 1V2b Ź 5hED\@a-@$޺8e%Ԅ4ɲrX/L!ܯAOAMr"itƞ۸ Soțs 6w7ٽj*47@Pg :jUR2E(tˁL^VNQ3?W|34bjC_-L#:ϦDhg\e3M8ٟgBfHzeN‹Sǎ7O4 gXŲ,ԶogV H;Y ^ Ev*e?݌,tj/a Cdv{IN#{wF*6<޹DmCk@ԡ{t17^˃N6!pꚩk45B8*֋eYc[-v}_V~WkOWmxfI#4͔0 c|2{yu]Tм!ovPMSFoԝ{Ws`VmnkZ/re[,Y`_;bl %{{iu/u0;"4+WFNteLQ:Cʁm6Bh&ҋ;[>3єY8܊eH:D8n8m,+#Tkԙfe%@Ø,wfbUv>!>1U9ʃ rĘ9i;0GCVGCeRTʠGwdyͽ;RV37I`#EΠ ,( f*-+$W(a$I*#տpҁ܇EY!YJME": fBvr^PEXjU];\ޢIxA} ",fЈ㧌ǏbLLa:#ˑ^گ0A&؟N9Xqp8Aܤy2yt䑶5fuMՊߠ~l;y)mV%+V4_=gDD+mF.qC@⢁A. qy(CRW<")Yf>X&e=PlijXE]1Z~ zzT9/Zg.~֥,0Sgj\U}G/v?*H,xX:/Y]q@89H;o+D PGU#mb~7AzѩƶV`m2.!y0xܝLU^a۫ .z ?of0pZ2CtOW}+AߗJ 9>k%ɎKDXNU}C.aZiLٛUK* $gS08 uB*LT͑-;7SUв.$>=6v}^?0q&iv5 Y.υ w+=:'eE:.i{KI `V> cra__ѡ? ys=xQxRnG-|NśFw7V'} &p)"c5-(}a+(3<94)<M?X"8 aGY߲hD] >o`ӣ#;X_EDG5$]f,H:xs|9ne:1;{XFCY,٩> E[^I}~zc^W .mL-pwPlr)l`,j=CJ&ɦ&IDς jTr9XN6{%Y{} ._yh)$Z >#S`X-(]"QrhؼM,;PiMq>Ƹ>(Q5&jX]d^p=v$>sE~Ej&ch9_8.O\(cm~a;4`k3AOѶ%P{ (mi" ҅A EXs[)V ?~eanN~.uHcy=#O9oS4w!iWC4'`WR&" ۭ"*$A'oߞ/\Y;]X&m! 0} {ŘYcz$tyX#hˑ46갿K}-h 6sJ'/`YP Ť],x$#gi,hs5)Oh:}4 ?ؤ!V!yeFT<؎PeglXk2@OZ[ua=r 'd?%.V#.]K@M`d W1Y{= hbrdm|=0(oD'ᩩ[?'ÙC vx󾏿)>zխ ^,/|snEXԦq5ЄJ+zm.)n#96L-I/f&QuPF)2) =SDp`)B; ` 3 q Ƴl6׬(L;mRbدmR 3"sCP|U1 34OC5sUDxhhLxnxOb~cp}_D ` LNc{r+٪ⲷEzpLJm'O 8> –ރf,ۼj] 68z43Pj~j?߆x/la|ӑbWJ&GN0BV>O h\ y ];Uy =J1^}9(~Tg8Q/[֤"=,^+g$nb/->w<&R<GnMj`dSE@>`׀ D `?BME%iW2qCۍb[)QӤG;uxq[t/8'6oݵ g]: RnTao^)%Aۤ3dZCKdEwA=ٲGRy;@78$P#5ʓu8 Y_yW\> p99#H>S_jv@/&qm`y*$Dlt Zn֯[Hیq$ӧl)aPy-P*Pv}ҝH x\XKZ 6Rӯ60Q^GO t dw4?a 9wɹio) ۣ!H&+ԇyT Ehߊc;Wm#*s"KdHsdΖF_W\.;YUTrw|N`%X+QZ^eGV4'(L<ĞÑW$^ՐB_ԑ0Ej Pz4)vC[G^O#Qx+)khZ>αLC1D P [<4,o1^E;Gԍ*BRO 1Bl XrJA$HJ$3_V(|1sfz%P\#vL t8uDyuPj13RY"fL(j9@YCh"+n2J X%=?$ ֘U=Ύ`}L]!\ ׸hm$~}1$egR/ Jb.q-Ql2b'?}Iqac~j~VwUrhޔ>0s(<{usRW]0 n77m'v_0xጛً-`#Tw g*0$/ZՀS@m0RWν0ni $N8-8͔&m :ωP/4<v´W|xM1y񼣀MhaĐNt㚄du"2W|FNjLCɞYiFL107Q+vV 7'6kcG+)LP8O > wnW:*lr.f__w4ᐾP}W˘0/,ߚzt1d%p#4/cQ\Q:AV:fkď 䌈\aѹ$`E$| =k :o6FIkKPY=S9|Z͹>w5 ~Ŏ.-el 6  H;bܢGŚV4*TqD971HumCҼ=ZW wG0:rkP'Jv[7RkjڼrZgMDb(,%T z34zϾ)}D ĭj7t B tu3Oj/Hg."!"Q-0LKYsΌ B]ƣ*SYo =lzsPs@<6nJv~@0)S$/gkRqRÏ )ѯTQt-% C_)MoU m h@l%4M,xzVvkIKWKrqnHTF/`X3u86C~r64VL0fpyyNǦv<0ͤSpc^u/4T IH+6f>mӡZ=ܚE>m[_uxJT!aT ?C!b3<8DqPб+ Ͼcѹϋ b*y\2/+m { LfZ2lr~t_qϏ"o8ۢ\w#mFt35m@X!'<8V3G|Tl}E:gd| 5d=Y⋏hۓ. Mv*]Ң&X8)y[;YKwFa+SRDXCїZA!! )\._8s4hs#J&R>9<71Tͪ&*US?,#36!&"FyʦP#OZ Jֵ ǻ&dZ/ӱ5UyfyCg&][ĵƅzVF3ֲͥ㎙S$줦`%r=EcR6:JAvuH{BAPi>sC"͞HA9PǀOOSZ6nj@ڹu:Gj4/Hq^BMc.96[JIuatКYWjcR9SU4n=-ЂeC$#GSo(ϦR*ч3zSJ]_Jr2P).s=Kbq%Ǻdʪ|Βy%u57)&IA: $MT%J3#;?UVXANJDTgdAC"=4Hξ:F6J]\3n[=X`E\6v,}0`Q*Xhz450eTG{jߞJ igR|yJOW/k<&!՘J|G=ƆR2f¦݁cDŽy$5Pn=W=Nw!,1i˩aTV2|K:oRbX$SN4kes`ݹq&m:Vtш%]uBbS(۫pVȭ+ggrBv;]zE-P+ uk ]vbVYCT |\>0JklrMK^`GJ,~m\k-Op2\ћoNgBP˃ã~b1:B|p6ѕ! ρC#9J S浏a & 4(!`mx#.m= |r|V2%\3'o`!ВYV Wwހᔌ%(VXExzl<#(|ϜOo4D΀9K`2ˬebE)A9q/E63E&SM=,Uj*udOS ,yB,eǮ\pKZHvLq<#\ 2mu8r(!f􍏩BwPA(2?AyK;;·D*NG:I[TX 6:#MGy )G/sҞl_da@r_nh3an 9_opgi4/8=YZ9,G;# sp 9ׂIp]Nr 0Neڬk`~( e R$T@RxIy 3~DW<Ϭ.Rq֡^VpI.Tk^E^WO$dNaa@ƨms;t, w :'>L4H ߌ4aCǓ PI,=Nꦍ5Gue){*EJLT9%J3rfW5[_D+tqqQKs9:.:z6KT'ާbyDXm738޻j]W_=!#"~Glſ!'qqt6וv0A'lB7v@:-t1gAeOLW1-oxMM; j:A{JV'孖~_5+ ӹXNLCP;QJi.Kj*pc. Mn'g2XQP.VxAեf(CwЧ4&gG)Uh#`$AAr "m'LK诠 ~.hݚ5T UB߉Eup.GOy 4"plnl& ^ 1U1^ڿ"Ʈ",›)LiGQhWʩ9u{:9~s+ۻC4Y$WIV߫_cOc[247jb@cF<:1:MQ,lOrM9ϋ56vr[ qu'd/bt}30"pM`um@uԻEgMVAܸ|.KQcr\f$A&#t+FݴxWS*]2hvָXsp|XUuyǔnwr984WVojal^\ehN,ayP7*dvx1糼udq;l͢z)W =[Nޙ1ʓYy 7(E qc9 3B K{ReΝHζ]+ObL*Pu0 L,LENsS{\C')2nq9E6\ h(yEkoٺ7d#eSc?1*+>4Xv٨4F7Zd!xqZJ\QCT6ʭJ&KBRoBM"b`g"00d/,!!AB͙x1S\A }l!.6JPcDO]1OxFΦg)ci ]Ws J<\س3IխE OVx I^z0ehNRk#h ǒvj|؝A&14ND՘Fp5N/&4K(ݑy˒_;1r;ilЭjrά=Qٜ8o$b)^]%sh9Xyk~~?SSe(4C>+8tS>/ `Îws)ע3á2s*(Fj 2Læ2tAc%h קzgεhcl:ltzyq;쮏|XՑ~O %=X*CrGd[Wa]cX,Mhɪ[X7eZkއDnhɶ= s8Rk1H-v: 4n(#7 J,L ˚|n?1`<{-`UfH&2x[o໲5 zTdx{lng9]98Q@{95OnjXkLpW_y?I=}Ёaa綕|rc58G$NcS3Evނ3́p| '[%gN .l˘rh _թ Yn͵dc-+xF<7fc5|8Y)K:1*r?8ܸ[VF"gmH Uݲ|e\uǩg2I@|ny +փbEQM =9,OR?{Ơ5T5ĒLh wP_X=I^*6ګ$g4,|E3 Vp@2*U(އLayÇ-1Uf/ԑ x[{AXC!GjEK;$JUy@x+*|ӥ;*+Cԭ..,]5/\fyHv7RLG0xO_;7(iu057'(@Bf@Ӄ҈,;(O@_-J3J8U4p _|nQC>. L yKMR8f,b76XKsԯ0 1 ϊ=zqWfEr2 it0cɻ<#dȿx@~LsƋ1&z2]ycD40uvX! |mY);B1+LB\1:u2u?dryN! Uo(e|( V~>m R14+^]eLtϒ]-J{НmžJﵬ(~z8QP0."]mer5y ߫@!" vfeh<i>]]^U'C[g Kap8 LEkt`4l[8! <}+gOdK_7z\qg)C|Q?2='9^'yWegDx:)fJvD8I U-㥱 oZB-=a]i&g~_3f^}4K%YM1}Ʈ:t>=S4@3]$528ϋreoҹT| z[wt:!%;Xy=YX3L` "R_pU]V.uy;XT})DNjW.Y W!`¸M@h?{3 ln @ ,,~OkR gE6) ?1ZԪ{M^a9-Z&۫z$3Æ=*BKs.M-@1@@enūdtI{~p Rb/I"P!?c{|iGy7ԍ7Ke<7!jd?W˜Vа(MJ>o|uFl'Șhj')In%cͷ-)4c8QIE*@0 Nӄse۰+zpI҉c/whY8/+v-Ԥ8Fa؏в&ymQؤZ iPŗWQ96r:{XK k4&э#^uyr W9Ίֱƥ0[gwP+m?G6m% &c/3w3#~!,@dM f^)-l,e 1U6`bBw+``"=WL ^uF'0v?EZ=ER$th̺WEd3kT7~ap p#!LtQBA,zé j,:maͫgJ4ӚDGuc'cSQ(Ba6bΝէJ)6CUd55R/.sR!_ra\Ԙ6+"u#[_I(;)w!"1Pk=@]5,+3Y:xCzNM []; zߚL SWeɕ"~s4IOm'"+9$XקkVI \DQͽ6c9 1@ȿKl~mԮ_U; ޡNdG̅"oG钧}Zk<c Z?E낡,P]2xWaFDDOV!O>5efD@=zr~SZ>Q$3t "8rd>yocVR;~c'>kE P>EyLJ"Y_sD,ܭ0,sgӠ9dG6 =gi}ws#{+M>SKNG'&#ETp% }-i4@xMabk\ƫ/pk&Km U[aOz#P\U℁fX`<"w" %ԦytFj+bPQ]pӍWށoP NY(R_C{mM\ SUH;_*lDO`MgP &|xbN=R _>&{qgӤgJ=GxT`% ņ[h+A}؁x GA@SkTVPHfлIfy=勻Nմ[jۊH趶IL,78 Uo135%Lރ/e?it"v %h*ޥAE̎)f$L|_4)>-ad 7QN ?-ß dy uN cB$MRT/;?y³c/Q jfA0^wvQIWJЕeUh%|ѹȣO>SfCyY7z 5R6t'1v= hXzqCjgTa)V$R^F3-&oFR,Kg$XTX|q,;T0fz _A6T%\Dagad?D C){a<ɽ#&XqkˡwFc7M 5×氖x6z큏ZT*@0)Scl IqYUgԧcUTR(= |ONiʵؕ60ԓhԍ>C2xYrbX(7EGW+|OTh0ޠq>ù-u+{Izka?'Btw CobJ}/Լ5۱tqTk'YS%K|їGsm_EQ 񠴿,|Bi.W8g`zpQ-/%)f7.|BWϭʼ 4@znTpʈgt؆ l*pZ UF" -,iXv#A *S2 ©-/2GY̗rfpIY znO;4CdV6-Pzs)e?|&3arv=ǐr ~mDz7UmBUɫ kc@GUKG (  Vdivדa}\:Z AjwR 5G_ ےtJxk(XKu*/o+ 1hZq%*@S x>TsCpBx\h>}6:;S>u} A.)qVϴ@yM 6$ÞRz3N^('Ͽ4OS5I|Mg/'RRђ/+X*BEu H#x>zu͈ rgbI+m/u2jluG"5+ߊ֘sE1qGs֩S`3G70ʬaEIw#cpS z:.:>9 ~/rs$u8浞pXtGtiAdK[jQlQPi}*W@%sw @:VO HF[4 \̜n7@Gr<4 eu>JC4]L!Eb=F:;Qm(}4t'@R'I!5ty|Eܕ[)؎b@ýa31a@Ōsq"p;-Sɷ<3gFcya/vҖ |.g;J{::Dhdؐ̕ NH L"K^ ڬ {y()'*(jb*w:Y mNmGL6HMw74WzP2.̳V7Q+| X|8Q¯}kp88YJo$vq0ؗ )`5{y*;)s,D%<lagdfw+iwp(`jEɲh nd\?N FX^,Ue"Czj/(KhS%j0o|pOf J*{ t&(I;ZXG: $c/IVZ\/fzxh>#qnW"]Gsg`V|:t97~aIjt<3b$ZX0.ss>U>ETuWF-Q3u@c#"= 0Cԣ4`dAI\:@+a= ynҙ Y%b6@0Q 6x}^;ˡuv&"e& 5rD?<ZOUZsy*XGk 1:{KLFFg྾q$gKWtyl)b˸ eO߿/oDFKsg6'Kojsjz+>qPz<.W؁%m_aW98iZK 5 FHej$+k:VʹJEE4m ”}Щ~$1Uq5pp9|XjzQFF`~;TE%}9D.IٸQm\%Ց0"JH OVg0=b^|WEYoI+MglcѽJ:$Φs4QQh=wiFڲTk`f>q"~~LRj/UDT)' $y>RY2K6yJKb\b 'UQv4)̽ ", [["՚ JxŃ+ ( B5+V&CXʸf1; >_^mTHpVnpm89D~]fj+^u߳;w7|3,2m3 ,hj 48Jt-ϟeW` hcG\K9Hm~L1#MQnѐZ!:aBm$W|:,r6ԾUze`v֮:Żz/>"s\kH3>6IJnu7 ѩ:o!3Q) TZK|;|K1.b%17V|+վ2% LVڿ Y?gj@9/Q!kFU Gtxn˟ڂ,&nª植&VX{PG?8vNv1үZ 7YұQ|c:lTae6},hD =,V +"rb= lͺѫ~,YnĴ"+:gnNloZbR;P]5sCZ!ue+-?`K%ot˙,,@ǺIF s Q`2 !Qչ,C8DD?Q[-_&V=A-_<D#:_dSv5ioX3.}ʓN~+9%;Z\ce4~i$ȀEHCڷׄkbj rB֊N'Q ~7Y 8p+4E@q Z2`Ԫ(#R:&hyW/waa҃yj,==rdJ7y2C 7 SpM؛/,џ+h_@>׆M)0u+^Ŀɵv8sҧ5Xv LE0l$}Ǡ!-ouQޗ#{ĆS/֑{;2[ ;//_jёB\LJMy2 8T11*ewwhsjryR(&bPʬérO h9F&\` mSQ!H{U: ԴbeΠkǐ&+|ƮAaV7LCzGj̣XxGFFlOH׃"ݔexm ۫1EH828S=W>-U Ea²)59?}!Kω^Zs lra5^=W5w2X )g논k}e;Kp z-,JgTxkͫ[ T@i:@7W%NI@sh-("ƅ 6^4JǏzޕRB?:nˡĤzk=jk }+G [ fjKP>Es:op=h$J:?qx[cJh/TSW5+A kej~ap#'dl@ޖx]fk i/OzOMIȍOo10–6x y// YJmp{@t[73^Ʋe' fo,XNvm2\إ:\@lDT>,|eeuVHpq -ii{T+u%1]s!B!M.`[VzH-.<2>?)Px:ͻ*kBgl֑>++7r`>w$ s|LP;.s@1E D'#osUYiCMxB7G8 J 2X`] MB +7.avQPG뙪fcH0v˺msd8ȉ'nc_;|DB<<V$+J]_ÅQ8-Tf 3T 4AaOׄ;͆3fXBUd>tXuP)(\e1.^U^ J VBHl'/fP-vW%W[< P7()@&HM_m\`%[TE !וڅEEG5H#7aC>VP>G!Fg@.|rd(&ҦX:ƿPѧ+f+F74v$r:E2uϗbRr4m. hV]o{,-O7r>6*BSwV +' 8yL*=n EiJgg0l~GǻC~'<1HhbjT UےX{S<|eEGwt֢0De%i%du AA֪bB&|2N1̷ `EO=4?T DslsǑ6 j d'ɓQKBp".MĮ!+F K5@ C5Z_}f᩟b]pT?\j\. !pv'{Q_KMrT&sTh/UꟀvw͑Zjg.{e|\3ŧsk ًx܍ bGM"Q4As-IȴO~k.ًH%Eb nIo*HO(Ho(tMp^ݧ]ɅڿCg4qDEk]Ty?a҄͜Eer&t83R};ȹjZmYf!U6SmقeIG|Zuy ҘpF0&l#]NJI/ӤN 1*p}:8c+/`4ʏZ4 FoRIjF ֹѦl ݇W*UM&2KWz%@`$4y&VK.`;@m䳞Tye^&K nX\7-r?)rrt,4`[OM神*"\L6<$(Hr]jl g$r )/n{vE؏yC(d4PNsBi픪dgL{BEĵsQaae=MW3?u(BB Nl(B?Y g/"7ح09ycٔa"yhV3ݐ2/ ݜ+x[Fjw2JpF+ &.4m` -1g} NhCmBAP0Ю@dmc`9@46|jڙ6,[0pe8J Mw(F- Cj' ?򳖈dCkA8mr3x~Wp+ --$kPy7q>]^FK1?(kGjO hE3$@r)#ɹ 9ZAt'ݥXUb1{FQ0"_ @ڲ>d} IP@mK<TPsݿ+5ZuV㭙U\pgqqB`w%4;PBKj^yuCFqМ;5zpd{3̺(XR,0 N1BMnjW]8g\jID`ϒRu90.Y]7A4^%.*|2j e]aCk -|(4RYU?tKkTR5Ob`0FB(t*~A=9~x@BW K ʦwӌ 984ݾS]A͒XaA'+p|odgT΀ְ+ڷcԞɝFxݝCUb?ŗPN}TD`ȝ{gwrqeDa8MwĘTSIF鈀2iGWW]$w8"#Geo8-BEczHI板R*-5 "Py !./au>@qι9XusetVI&`?3[ۤyg+DC Y`qY/Cuv<}748Ś}"lHWpxw`,9%@EX9L2a|Y:M2*0׋͗%{9M+Iǣr֯3%Ծ j^V.^1.jdwW+ 6BIIdScx5=ʋcr+L4"?rcX#!#[[ZhV"^m`4Et}:Eٚ <Ē9|bS+k EKj4 GN z7eMPC'C 9'\5+%%ҰyUau0[ Iʘ3)ǖxƃhElG.Qx67t층= Vݱ#x1L&9k =V(7=],8uhK2%d# Mm2# )JͬҎBcHGcz%uAEn ?w|Aq4_~[DTkE@$У$GVxɂ5 lFuFEb>qY4"70qI4.&,(X>ATk^`\nd߁E4OaWFi:sPXdͿ횼_+kYG-K`E/iBH(JSuFQrb$9l⬳MIhmqygL5 -)K@TcU;| `=!U 1PHky٧tRɉ1<8LL)ȴE޳9jHxJQ 2०Փz8Bj͌ޠfSĄuc~*wpâQϙ6ᔈ [M ez}~b#wQ Ca9Guѵ#y,7LE´s^,x;%ApM244;>V(&/G{>U=QDR&ԚЇ֬6e}#O7GI|!E6YRTVhGsc n<6C7|[F@ᖋv92E`C'ׇkL8UϜ%.nL`vEWJ DPz:tNdnhEFCzx>vV?eGL*A )GMUB9&,!)7R3pN|>f"Wbu'W$^+ T`8BAn_G[jL=} d4k[-糾sy,JۯM 6D+յIZY;Z6<*RFOE8uL2_zҭ烖٥i忩Pe"9įkwM|dM{o|1xw,djI|+D\_ ص ddMX4e' >`dߌt HbZzʿX(6Du^9?< k1fܮWXKf7|uqX|혏 ^TۙAg1{>Ǔ҇jd],'=k^<> -S}D+n$ٲM*oppC"HUL]uv1VJ7L( 53.BkPs5\ q~RcPʫѥ{Vқ-#̛x@'4[SN.qAKz#hZ8!?O.EhAE&!.kBg'MG\-2+nsdrf녌_zBgEI80/G돥Qu6(`[p 9 zyWLƦe\W|AbL|)ʒ9 8)9[+{}LҟYUaӠ~[CT즅@ew 8*^F A% ɼh0YRk/9Ž`Pz:WYh-o|$ehQSn l ˸͝oA{!!,#  L@(TȬ`Ep|`2/DIhKC8f<<%'2RV=6MʚQxw0pqEAVeKqĜ)ʌ޿K',wy q.6e7ڗ`!wyi%Hfu3Pi\#Gg׃|X{[Z`01q)O^#Eg bmpJ&haț:\2;G0@)kg]"!AP|wtQfh~gtTP' |`ANBъC_*/ml4%tHӅڇ`"ńck}sciH2|QbKњez(ll +"kO>Z 8q1;ׯŶDJ!$O)ʺh_oĞt 8킓Pqߏ55=O񧯁 $ ox` Ptw Hw|ŭFfYxbUw3>":-ib^wb a8 QaT`pdƵf>D7bߟ\`|S@`;&x,_vqccsIIKAV*0ɈT{)MH%B.I {ہN85(^xĥp?_nOC *%\om<,-vw)oi.Jsg0ś+CUQNeF n:D`̫mQ|!G uzd@EHV*Jr,%v i s]9d-*~9[R&9y!C]*-_?[gVG3!\OT'w} ēy[[?{Rם ?.||TNOHB&JŋZiVRU]`j,~\W?V`0w,RˁEk#y  ,)&y'Ta7*s!=NX#5{g[ôTAiu0:qF;8Q[l #Z:d6P7BT 3t3v8KLJՑTKN$siWJ||Rץ9W"y\ݽV'cqe6$93c|qftPSDBRxY4o0Y3!GGY6gW5aS^(hct視a vZ&_dZZV-=Q֕|i}虡 ]F"2O;H re36L?h`g{pM)n?i,u-qXpoO֪dIْ]( t YÊX]"=3ݏei|\'>lWdzZ5յ~YxJ($@:t΁IO *`evm* N(t9zgż3GO%GHw$Z~٪hyLwoU.ODQ!CM32`mU 7J$,}ciM.Y )u!s[J{ |%A܆ R>d#>YnyZ#;ԯ|Cr[Vir-0x8[:~cD\WB4=KOcsd{w-[`. $նpi(fBUq^⾜1;Pb:vIsTZX_c_yɷq;Fhl_spx#/jbMO+ξPfћRc pn1X5$*GkF(Lì':dkWz;^ Aq@ݮӔeQ7=9L@,}@XC&'@'4agv;B = ˈgdG#xs-7 ְ0 sD1Hَ{Bg4[[(.z pԝ1A&_4>{Uh]b{˦=uH?n NI~BQ^wtHۻGԬ@!?eKy-3vΥV!< [+h+fH~0%Z "B[;X\|@W<;i[8;QXXǿRW9:P_I{QpI |ǒAD엠_p}CUnoi7Zpc?XׂS@yӶ!\\eWKNwVrM٣*Fw )5 r&PG+5y8:Qʱ2kӎQQlm;}!Gx!HWç<5OCX0͍+woRU lsT" _ôZ(ſrQ3ƒ6diiOS^UGc1PѾSDJ` >SBz?as?6뻆0fb<eF\#Շk DAk)W8ZW_EC owV֒!}[cر;9L{OFal}lHy"'tb7G"6I35k,F Qr!.sF =K>; 5GG2D91\CX6o$ ;v4Z|nJ(+y靧,'4S{įج)s„K0K?E3 saӠrFc; =k, 2c/̚[J݈}rlLz PL=L~XUHW7]nMv5j l*DSUh4F.iM H|?DF`~%W_,"!g14P׸Y"vJ ŀӠYb Tڞo*ey@ 5 -.WMi+%VFQKU W/"b;`L[ICC3fɡù@IcaHQ5 WO9"\91IեgnS*sFU!#O/`Ľ~y&ξ]c-MK3OBvL6B`}RurSKÉR҇[2״b?)@/ J i,2E.a1nWrW/ˎ`?̱fl#K^^!$MrC(\R 4Dnİe|eԠ5ǃ,f{=$>t ëu8ɔ^8CJTacb$293q3vHrSwg#ᏵH>(,!b*:5ԬbH;FxuN Hl}5D0i5THd 'I70ҭssؐ7?HD`M~Z@A5~9Tk_C:=vz%zp'oFmP,?qsjVr~ ڏ Axl=5=J1fc ,|>mۚfW"y(}7 ^[ 3&hj! xU@W= pgDL<Ʃ|dBýOUsd؟ǸgkR{Cq,,k §m*jT;k Hp\hu=`!V*DT~IWY,}lzxm83D󦤅7!%ҜΊ]-DgJsX љ;IpKRO(:,5ZddZS|{"뚆]O󍾫:4 u7|lDŽyS GNJJ?FCp7jl_Vu*^?tK7!$U#p<<~Wq3n ;I¯UaOR쏮N*tߦjǼ4|}vz(^6mCzW҂l8׺G9ZeƦNq&!$1˘d]І1aSXZMH?jvUvi8d/++2L/saHS*#('bk˟v YzDW0ALۃ\ @!Nre$[%(7@vt`B=wHi˳).yoGa xoU#92l?#G{UO|"[YhhrK@TMUˉN9@J3$EmK;%-dL0>!0v4n8Z+.grÃY{Ŵ@*WdV`8i]  :[JufÏMY 4]֝y01a~F*=k}/J:l48+py ݾO4\I Mtb>%;bEOZd3sX"4IAs)Rݿ,cJ5C-[IL!"pb_z2]È!pׁ$x;]t\#58U PiZhjʮ}*8 I MWΎE2{} j? @ŗG^kۗ{σt1 \05!@Y'2v#u%K4Ѐ(wOh]AG5ŽlʹyÛ]ĭZ{ ŒvH$缰 få;&iWj?+fDt(L')IEfPffSnʮS HȎ7,)^d8E/ׁd}as0PsOne2!H E%ǡ]ֽIE2snzeC'/D4MrHw9#8 \yh Vu\Gn>6Adpt+X{a3=gpjetKA\h~g +fXk4\ޘ [. `H_9&&`4 đ{{I=lde 8ڨp eꞞ]G>L{o5`g-ȡmPq Djm;ȧAWɦ?it^qZ(bwӊNRMh(1@FԶ ;WkN5!+M *5h4oh6K @mG=ޠ'y&\>XWKyG6ug դ%LTxwUX-OAʼnbDtd5q4o廚v6VZ d3os]_$16l疅E~( %%J v>s7Sl`ow ,^2G[ިK Ub%<1ۚ/9xDIy"PT8QBw MC 1Vxގk ~:dA{}Xd wGン/]1znM:}M4gA齏w'`̣SΨsfnGx`>3U˼ࣾyk+|/#HS@#Zkw2BZӀi7Stq4>fΘ+s*XIx{XQq.FB:&R{0-twblflRxuy<&L0E8/z]E>T_T5E]qeu8Y\eݹ(MtS!2֢IItb% 0g/۱]qHMp:͞"o |] =\51}:RjR '2,dV윲jƪzvUIzq= -@RCƵ9}(B/HJON,[\="`n@EeD!_N"tW44KebЕ%J*b]v98F0Z]%+}:$+Z327헉D3"n?ڞ(_گ뮐f%6`rѩ A:|bm`rE|O{ۦfE:{ش'ã6XAsXx5ԱE|dĄF@\ITv)ARZ}r,]XUsS(fe'IÅ.@Ȓ^&nTEMo#dFށ.i%EجgL:UQAwF 1&N@9US@v#AJvs&jθGPXcT:jOHwN/=72m+Ya 5VBKkcDWy6j4)Fp,Rƒf;s9GYǡ]$fIbg%F]:^{r:=~dcx{?us4AJAGM i+6X>eVk]gc8:=@fkOkn1u[#ryLzŕ1JwXr0/`#K[ЏZc]HCnL;b4ΡE @Us#jur]bz !I2@њ+& eFYy\T%r(bX,[u:6\ac# N,9ɾ M̂;lhE@m~BR;cڒ}8:ҟā `OˑyB7i.0U ksMa\+SJGKx;.$[d#Y(JU\jW$Kg4>݅ =IsLU&Dg'm5>?3ғ=TBgaP`y+L|nP(ӧ\ӈ{O>_tѯM'^<-F]]0ʨXìoY V :,0U*mUV[~G=בn У% N(шX6TؾWD; ]9?s)p \\XؐFDPk%TU;-[e)ib(R0Ůa թ&f(Ųœ5eppyZ/h樿+p\)ng0 w˖lk1"βFG*])V-ndʲMPncM>zAvGQd̠3U<-ܭ.`~Fzè4+q#wǧ&h uCQL0SEP&c8w(&u{-K%,cL}gx>?i7*9 K>lM`na6b|Y/Z?1[QSz阧;V3lV-qvL9r072/F͚l%~Mp g3fhY,՗:ElF'՞@C6#Et`y͚?V;;KS2+X+"ehqzGg"MP ilYa 5LVYCӃQ`Q 9@m7mA.߂ٝzfiZr#xU'pE#vqZ%_K\[t$אpcѺ+Жapش}T:i@%K#J,egɝ6,EPGp}AO ': h5 `ʉgaVoTR~uT %s݌fPхU0M /'*!SguwK$бߴwQ6,`S38&wTfŧa֔& \as:5UF>}?5~=Q<@jZѻzs6zI[wІflΏ~*?r)rĀs,G=}!vЮ_@~Sl!Nk|\%i6m dj)>A;xt2;r<*Zl=ҭn/Sv=uϭ[wOJ4n$sAqHMzS-իhzE^ʢK"lpjhMN ȶ?XA|ό7/;O`}>z= F8Ueqe[Aך{z2~hf8RM$$Nd1^¥*.S it=q9$:)%w`B51ST#Ņu&wx7Cl5vx:GB]!0훯QuN7s<w]~]&윓boٞx8%EeJ eسS@xp صmU#'Q[2Q3or4+ur!ϳܡ-]xhשy/XU;4_-ѓf^eov?dõ 7oC5hi`i(B{^Чg.UXOmq.|m dҕ?m`RS06)''ZٜK;;^DEy:ڒռR92ciL7\<؂iW$ ~ l7b"ES˟JdU)Hf&Pt$XV2~?1Tq0;Yu"mH{6ӺɅ~6Ucd(~c9F7s?G[UٿS>uO:kIמGpQ:ib.D0sUMfV%E$kH\J?u $I| !;I%B 7(fq[!`㠁Lg7˻wJ:5MM^X+w-،_C:iXDSx%D]# ZtiX!`&]-1Em2; 0HSpT}oF3" h* NsQ^}SN3w?ˏ) qt0mցФK9,n< :œ N ?,ůNsq@K-ev,"Ɵ\N?Sᠯxi%:œ$&C|ܑY$c=O]cAEW-Cfz#~n4o'6VӺ;-g.d;q&EҨkob=YS&4 9?Zܬ }:]N&XO#j@yk,pP'wc.t_f>Jz 9*rQStNL˦̅zXόtHXi=PRwBjqkČƷyF0*?cw_ssSL>'o"2:l*x o.ν@篷;Aמ!e8~yys{`a Ym%##[汎)ɔTPxzymC'6ټhQ._ȯ7Xqo"4#nz/v'y3=/|!Em-ubUtbdT{vڻ6WG["5fƁ1e$e8u'tb1 h%Ș EBvCu;{f/`9D]$pJ=ԇ]|XoTm9a4)Cs\DYOG\cTmA̖(%dʡc/VVӞ՟gj6NY϶SGRYk#L .0;aW܇ܪ8Ћ\;調0ĕfZWERY(D,BOJdΐ57ňrG6@(1,7B(,ĵyz͐ @.Ynx//xPN}!df!Eexu 'T5rdP_u <5;ڜ}scEjj 0OI7k~|\#/eqX êOi Q睘?sD4LOj)So5~( >= /+b4[xs?#aʹH,vC@Cw%B <ILc- DG2z(/n s m`#JՔeւp0r'd;J+؀p!I.3e>`>(==F)N[ =ɸ w T$SmG;y# C3%Lƻ&+ Sz-'.*(HD~ݏ (Ӂlg%4B9m]ϫK`P:=q 믽r&}?Yh UØZ ;)< uMly{u1/]`LG- *ls&NOJD1:k@[ՒPX <Ưfގ…Dg">@P=!fgUc}n&aary)wEi_şS= LLERXDڽ&k^hV\tԜJ= Tb$qː$ZȰS|Vs'U&듉'ʢizUEp_ ez0Sv߇J =/)}pZR%l&'b2-ѲV~6ˈ8&ePX7ЬhENv6V}ql*0V9p*4=k$ߧ Olp\=4G<:2ʛ:_aĮ-;@1H@~ฆOhDg2m'/u= (<$zdC {psT!6kmWb&B`` >ƍ?9Jqv٦N&U{b; @ nJd+>˒ȗD?,.̢TRo ypfw :*g =`+uk0#]De'pp{$~[i:⅔1xe]qk"L^f!d_̯fʼTC9-_eb5: G&O>^"ҾR9Mpqm rMPH1m_z3L  u7+o^-<>߅J^>(L-RHrZ?s ViȮ>㵫~ WT ޓj0`= V}FE}NDKH]z]0Ȑǡ ^-RH}}<İs_2OYQL'sVɳm`r\xi> _w6b1s栲=aQ %9}/Gȩ] 4,%[9eYDm»WCCk,_$-*́ y4Ź_ 9:˛[(W^Oј?E@>7rܽNHUVKYFQHŜ0z'OD9F`M{zˀU elBkԭ8RaUZ]@9c"JRNBjIھ(% 3UCI9bۜn rp _&v8 =Umeis0Qr/kӓrÀ{&Ow"C̩ςnۜSUV} dĭsEq?gs{r[ Ij1Jmt{[DsIH5[Hİmk;<7ژ,PrPȺɛ >\Dž:.0aDU܍Å+貙[SvvĩU`3)Ni#}A&v^@:!'ZN1r\t/iGB.Ya} |ЎKNW\."Nw򟰆`k׮`v@[§&fG'Dnʄܥ-fF<Bg>j P_~g 4Nek)D,=wkQ%8A]Fhܶh mvl7NHưA,_$uѮY`! td@~S?o|G.s'3໵rc1-)xL#ywj!L|?wSj$@xC:dvX'daZ%;kıwq1߼+ImwqEHj#*TŐVBN?s:+$lկ}]Rv_ص/\yL/YoĤ[t2,)VkM-Wv`E~/_z+8PCi/^Ty@cH/2|v8qQ9< -@~ Vi|r"+l%7bO=uu0߳aLх9칯vϱwa`P4Sna,vk,v(mspC+T~ 868/Xl@O˓p4$5M|'hEOJK^Z&4V&(ne{oGDfծ:`Q"E}K$C؝/?C}`YoB(S̵·^?nJf QDrFn)%|{G@^aډ/ɖ4^qOφphg_ y5EI8im2!1QM^f_L8HO: 6|zkh>8U/ma|b[vÐSo]"Uso(>^`+-AEpJ0#kgD꿐~޳Yj$njKdtx2b0fO~5Os>^0/ +́l(f~"(1}~m)GTpu#v=HMXIT(%R5of[UI F6^<*;%SLSB{s\" ,a5Eg-DtK5GhLo”ࡦ x6^E(E~ͺ)e9~?+z #5t#|8mPpN+'_" ;$nnߞXV*uehs?oS;+4^b>*H)sRv~˝#JW;?0ylQӱlPl}fzx!gK+sxR8f3SNuۢ?F6*Np\t]@Kk.L!+k &hh܅\e,_2Y'FF7|'SJ!2{GM3?_"LX;XJi2PV2"4TAaJڪ6ϺI -/t]?Q8Tpjmf=T %E宯¨OH# B>LJ>.T7a2kɬp4>#a,G%O8jFd8Z%b=sUB/"$כe*$\*SnU8}~[nADA]=MtLWRދ[v]Mg<5*3@⓸9Uӛ{KmIOnp ŕvK?č="}uqt$D_h:d"yW>\o+*C]:uC'jz.BTB\ @MpNzkZj>j/hSwt, MmKG>?"yߘȒ$e hAa" ج<#fT%VgS4]4ZHz c+sL&s(/e}Y,DaV֏_~1YF5`WkG ;@@ڣ~cp,7ɬ0Ïs06,\P$cSC S>Lxt"ㅀSF(3 gE*sT|DvXŇ3!zk8`_#D!*'J{ΈIGc'ΒGy>F[Јԏ2ώZpIqE{_!WW-bϻ\vkr$)^8PW _[X8 z9bGxa='z%I9k3 /MD  Gݤ ]tD (np ,-NAlFvS/!\3m<]ǧmJ輣jj{cҟVvWbh÷2fwxйNܰ"x{Ș(UI!NsxZ~ [`L>+T'bfmG[=g!Vqt(hN(Y,81OV8VU y(ѻMyrynǰ`Yԑ N8 )2m@ J@̗(4"T =8 *5 "~v3# ^4z-"J^Q.ƾRDaˊғK !`p"5ҀYVm795O]= Y}a:ZJ@ >9?F})N}l1 9:14B31~6Ј," 3YjB՟DGv1UzJTی jZUyW2H,:bp]jDqEfsfc*V9Er|0q٣#D4T0k3# C#R|_dCjgBƉ-[;ݿZE͚ 䪱(zՑȩbx F ޓfsI }Qn9eV}阽>yB@S)xH@3AO$1EF*Aƨ+Bd$Mw${AЩh!J ~P[e;[“OE;RxVA (?#nW SX%3*(xH< 0"9AZkPv5ĸi[)TC<)Y jUfċ𪧳 fB,|ʠ:K_MV!m#H-V[uD%}gކ }Aa9 wZò0ᲊe5>>g=GOF":Iب8^H%YڞKeS2!aqe;gJ+OX+arGpLws۬b7cWnxځ+@Jt?AAVK7ňO4k[⁳Ed0^ltAcf.΃B 0_OYI?5QՐkp<HMkW&4Hei9G}y`@  YDSP=x}7=G?ok[3OLJ&zmVˣo^=jU!M>DYۧ}/?W:f:z(@lԖ)lG`@cwoo6lB<3<3l8VӋJaD1ѩ","HmpAzllun~)L[{tf΃ %"`sJA o. WسIyG {`vm`~l.>RMbH[cxxꭖJ5 ķ>C&"E'/8c;gw-xQ3^6GH=XqUSo.ںhsjYNvރ I6viBsH匛_(\]b\t TM25o :O7bZ ;P~.؏m|`Ut/uϩ\QbobtͼmPN@B:<9rC@Y,Kѐnb߶Kar;F>qiڎC;3h4Ck>NlIF!2R˴S>+Q˃sIbdtk$:u)ȇ9ѭ qhwj8`?O29ZXncTZ .LO$cD;tP&Hlʕ'2Z9op@myĪWm޵0_/eh1k]e Wryw:vZxxTJ.~,dfpZ3T8[UoI.HT+X=Y_VPo:]N,q{#2[r9+_/Nl* oҡHu<88όqŘ%dq_J/uo^6`) #*B={2ZNIx+)|+Uz6BT(o |~Q 6.ѪRG5I#q"z}avSh`@c໶P@oYSR&K2ۦc֮wCj 7YN|IzBa< !Aoގ" 4ĈATsWFŧUrRG@\gA,rOe)Hw 39oAa3tW봽qZy^1c1bY9ksuu0Y/7X4 =>ʇmaf!oF(۵YU'I5腫5m37=Ppl7T "7|sug57݅0'9e48Vj)4O*.rӎ>^족FJ %L"13GW6k {\d!~ٰ^Y6%Ec>5ǿ2KOad-:E #BU7[̆alR?TevFs%sӸ&X> #H+U~tFn<X7/waL*R]吣rx:+لwA7;f.O !ax̛;:1܎RΙq=r Z~ e7(@,|R !z<(D1HkXՒUGRϊ7Lxq,7#{oL3hz奄$ _+S}˸Fx [˶ `wE˫;NNI}M 7f9i?%&, 1(oƂ:]'s}AiF~ $yYeZsNWbqĴ)?3=ؙŦYgl^Y87aih#OW۵*9]^reB"RlOuweI0 E2`MSK+Uw86zD%,tv53rn%Vq6<&FKN}_.83_U@BY*_֠ۻEXտ>TW$3H\BFVdvyD}|"  lЃB2rz+)yjPT_oOfdI6Q=ˣD.p2 e%J#Hhg' RSzW5ai2/͆bTPLmu =δV[ r|selCx?1&ܑEKcIƬ8Gdj:]i_`*>8nФ/3<*<궘+[ h_ӵe^IU0|T<Ǖyfs42y}oF2yq`s&O =vTmu Mqo)WP_φkmKRyw_FAݗ4Z8a+SLj}~ D) Mi`2.p]K6(yss/\ Zb8 2x6!ё*IxW"E'WmI?{Oyۜ̂y5 |F_HR `AчgxycKCAĻ1x.n.ܞ쒜'~ ޫ+iw%ڑo`|-mQw.!EUgKXofs}H028^O>6D3j`6Tp{tF6 \tlR5{rAм{$풃7^ka+pUyg* M8piE:utIH zéx8i{5bHQ]{{:vHh?"4 !Ji܅`L}m>T9?˙pߘYFa=z,_a"]ҿj'ӳ" >peO&YDgy(`\2V$-_ᯱ_{a(0(6\1Fc&O%J=ŕHЇCҒLJIb` 9-9]JP?fkk  .=An%[I/^090'"ā>}m_uR)J@nWJ)_,҅JK=puxz_LYB*xU.]>ǭg",o R Q$Tf"t xu+fċO<_:n)jmĔ-#/A=YNK9.$ܸ;ٍ2LXHiA UwmlCȌckZPrWI>T'wLN({/g$i >'C#d-xº yAX2 !T<jo\ZB_\,+#Ʉ^Y6oQ MSΗ;WsH)mX*'_~J9簠[-frҾqGtANQAGo~q&GԵ5#Tƍ,YpPRQxVUIt V8yG 6>wo2׼vk\ NTSvkR`+~;GC"r2Gy'ءv+*Py Ada5f[:Y@MAۿ(JNW>ݖ9rg /(,lLn})Xj~Qt QM 0u,"PE_ǧ *@ग़1'jwz\LSXʯM/{Bepm0@Bn]Cg~gk祰5&؄H26aqMpy|*cy\̠VhHE~4*jh :>B}!הj2œ !-@#â  ĆsP5;)#/^zN613""<=xt5VśӖSf^v+|\3ޔR{͈ /#RWE1?vKU^i~U|ofs-^26#L6*sB_$}<ҍef}j[-Qۊw8O_Hdv):r ('o!^֥f]I5akvȵɻ)IMgW+*\= -v}@;Z^?cB)G3g}?3-]eKG ^WI| lVGw2R^jV@2<=4R;/֧\Hv~(KNkoҧ9'l-f|:`6Ru$,[3&jIwǒq rd,g[5_w9CޞL(;$XNY*,=oٳuiv_o6 wZlb؛Ѣsؔ&<~FP43a'{3rOIڡj#?x-* bPZŽ [ iŲXps/Td%Ŕy`5lގ|&D ahmST#r@g|SBFs< uMƻY0շF2Y%|*U;zS@l\Eَq{Mְ ,CKXsq6EX9[WY*T8Vwm3qP>*&72LnEخlA(OƖ4D{}EZ%^c+޳ QXَ_PO8i ]$6ETwjnX0T'iD>zi G[w[%HlP5,ݜXWlffRD^D>Ȗ%| ihf?Hi5 J-ZL04&nU4ZjY8)$y6Pa|ʷHF\v`e\i~Q1FӝP,t)=(v7TK֝ pXxtN_$Ç 1 \bX%bd㦞3uJ66Pu newEƈnS"\qx9F >ue%a% g%d?$ƕfiؼ/9d.BLe]1y\mb [](;y$.ǗO xW(Oy3D)u(ЀM:N$?04^;y|%$OS; ФؿA>yV(ZaC_c%:5& 6bv0H9쑊N!ӂDq䫛n_9^A;0x;Ra0BL.X둃$$nE.osD3m,5љmv,ɐ;Lg*Ge]bMq!aEOjw@XX 7 rJ{PW'bxEڳb l ,A$ZeM Ei; 8υ_+03cj&BV,3"R2[dneY CtL:S0%tZXOb6wt7nU-8f #KٽXsFbtηa1霡[ #fi5u9.7NJ:$7)(M FFصh1)]t?Ls~aGYfpE1eO6⥑ݯQܥWBrȇywåyRqι د>L G#$d:Rқb?S w?_ey}ec!WYBts!v @xy(gtF rzG\VTQaКM:7vuKJ!Kfm@Dl/uPCG"Bo7UAR|]74e]hGʎ|sF 'j=7μ;;c޹4f.q,0}1ҳ$ 30ݹ -6pPq5-&;!B^$ ^)*#!oaAŇ9J53`P;3o6pؗXIcdw #&q+!~Q>Ch|a`Zd!0NT閪M.J2, A^͹Sr=Ҕ:nG`_2,Ʊ/AqnVN}f~G~b*2Y>x!.Ѥ±^"J6$xi+%Dx3Wfʮ>{b:8R4y NeGJHbN*8a/~mU !/U9ѸMPkR191y%]!<73F[maX& M1lPxN+ 4]6\P)+s&Э7VL;HO!k:㔔O1Nȳcl~+HGɽJL~3dF_MsnHoW|EJCwD|ajQ 087I^; !e.CZi7ܟ | Vb>& 999ꇀ.}1?"v@$LKϡߔz!$)2NAtamQlZ{ROl[+PTd)Wu"GB.7^r RΕ`5lc *`ۼ6ПƶhtQ i =K.\c(/B)P8N~e[%IM(Zm.~paQ.ezgcVe dt~6a_W7خqWˍ2!ElUB`{ׁ-rRiP=(Q0*"r1r9F5 fc T>y\۰8ب< ؚ)WoC|+{PO[BmܤGxDst~zRă'2 /+) s'x?̄"2KP[I #m'ϱUΑsyOdH ]tWW7=d>+ )*-*bKI:CK/Z 8#t|TEQDوc_˜jõwE?{)P!g*iN.>7<79PV4#D{zm,p$I)ClXwpx;"jON /'WB1]b3\‘J QA,GOfM,@}CekEY2';ENZ1gv ^zi\Gڛظ^$qM݌@b_?3‹s4du!qy "eϴ;S\N@ zϼUtP~ $D3W8U6!ڭg.F%=-+6)+Bn6ʹ9l嗍~GvY,Ly _1[gjj:oߡ%({+?x!x W0BB+H,~|1 M-D5f>+;5gEq$<"HB`U9ՈsTD =-zŇW)l qa?AQEݻK[ <mn1QWu~KxI|ӟCK\Qy$B}$kQa9ⶂ2q*j[t#D񕤖dFnh[uArzzXulS`q pm4 ǛrMN*[޻no Q`K^xՋLa1.+ *7O_&D3[h `jC (4/AQ)rU&LQ#mz--} |;n>IXR_['5>csttQ/-{H/^kt}=5HKlߚdUۨc'`סl#)DzfV"ژJ2i*%-D y_N>xܟ̒!)#\[uLdO)Ytì-+۰9sSk l;4q+2 B:QGθ"PZ6'Wd4?]mVy^> PX8uPlţl,23~#c$jG[GIq]@1H*'8V寤v4vBH[(){1p$LWln5G::M!iޝZrl}7\w^Y1*ep&iR i7f%zN*P{40sZ]W'%nb}/,RPf$8Â6ø-ӭ7&%7V:Y$^E a6;b榀(1-&II0ޜNRNOQz+ Pk:)˫nj* Jfc~9l&43ՙPl -@s2>8:)f 7T8CO.L5_֣ yB~TxVPIC,j1Gtq=`#OlZז!c vڸRjh 7[ 'ad"fԕnȻMAΚd:Т9 To[~$s*/hՁp/=sIVɦHa'N{6:6ox(h6SKG.R+ֈd0C􁕰kbpf9mj@ 8|8¼ҁ5FH25!MlПF56c[}d[KR iDS\ VXW~j81#9W md]f#IH" zq z[N _%@ q)]#,M (o(* hO4ЌƠA K-e-98~ :QMrDxlW*M7_ 5CG${MRN{*S^Q[7 w))Ũ#)`[Q}~ e{{83߄*&|*F\38ԵOs@h JLEN(wxa{B<~6ЂoUI4xԣkH68>]c'B!o{ddc&;Q &;N4OS*-hQ*[gNSU-1+z`#KZL>q%1ڜL-+m bsF;əW hU V4#yȶ)c>}h) h= B,ߌCH GvLMR\_(-<\ǭ򲬁!JtY Y8|y^C`痝O(6Zd \'Yurdӟ,FڋGĆʡbA_&%YfG$zލdlD|0dz*€ 8+y`(gDN%ŞRݭ9odhVxGy{l6ն{&#'BE7s46_ l Q ﵛ+rM\Jgc#:[ۡ ^;.r~VWktDV$~AB *`8 T9vݙgM">Wih=0TyR N:sA&gαQH"K"M K W+Ax4>,GU^ޗf*娲icSX*?3IuWN+i,X.'= ,(de5WRa%ES7 |]4cͱjD^k*Y$&T_ |jۅ4#C5dj4܏2;| Sh6F>!K-twa9 >*C[x;2+LlFxAq$Zg@6Ɣ# .(@S*|;ǾI\ o'Ω\t,'Z#^0㦼ք`pGY1g3&z+Wv"J9&t:WOpw]x}P^GS0[ޫ"bC]:Vט7le]1"{Jf~+A-=]E|@KָyE p(I0+7'nwN iAiy1f2lҪyWE'%_j[ٙacňZr3;p~kvYEH*j 4[E'vy wUˌqUWG/q}IsC bn j*p<bS OP偸{vݞ4COAKmJk-yl.B0FK"WM?aÈSc;>c3{!d>>CNejpZ1)$dlٽ5NE}Y"UZmbixW_ܬb3PV~1c=tvi_ %bm&e]"ВAp/Oڥ!L̄#t=XT \'I(fH,]& L-Τ~})XDIءF~qjƯ 2Pgҭ= i,9gt5J1oo|WRjleg!9rr;(vz' cS/. L|նc"MSKxscbU K[6!5(wQ G㵰C (U#" jTW>c\{Y ։d߬NzmTuYvHQ`(K.#7@hcV9?8W M(9P"蒖&"#oj{A#gK}_-D'AǾ>)΀Ƶfk}9=vzAY/ S*M?qk8wG ^U2#ؒV>)(-TLb\NABͦ$6Aᄐ^A)/x<; ۙ8 bk S0x 4cH~h2syҸƑTX9E_;P=U;/kouVm&C5|Q|v?pOu^iਗ਼8qD m=oDzzD [ (k6E$;x$\8dX|vлy]0=*%tՉaɳ @Fpau= 9 ׌Zv϶'rjq M$xI]( 0ʌseIC.+-Rs?'VnϘn#wHI>&U"2%$B5tFr94PxrMWf/ C*):iD׮%M{I΀Q'etT$߱ۧUlQ8y ]NeA,(8 E솃<:c]3-";* ;D0r-t݌@4S,^5BꭂGa/z{#"v])/h'(cQ&q3 nY2O$մ/1O"4R L,жR z#4I[EܺW*Yۯ*]Km07q*1 szΖ-OR2oxluE4תْM$ԋFL=MxtpROYIy2}jnLfqSc> Y-GΏʗUO)n$f67]P~B^(4^#'NG3^0;.ʿnX`߰UO@Q케E`ސKk幙 NjF2שd!IS]Sӓ*jLNUt*s lDj OeXGMdJVQH&TQ:[23o8MNYfBÏERF=Jn+NPX=HXU&ɱޤ1bj0sZ\R!k#0Q=،ko6)(꣱t ػu84u`QLPK3021 6tWzrPYXۣۤa9ORGfn+E-*EjFeT{jNPڙdž|4Pg.3Bsc|fFʖv  hY@xj|w_YhK NZ "5KR8V[sGp5<_Yp T F۾H^ P<=s{RU,nC)ԣ`YI9QL){l$ s s 9\Ο%բ#V9?N[#P?i#E6`d xJaۼx# 3ۗ {0(e~v} ^JET~)k34VbQg{cު\F[ `}!w&.[:Cز7%強 SM]T]eq IO2U.|5\"qcŭ4Z͌dtU XUJP f~TR2p]'#m23O\yFFx 4)Sm}4Ḁi6bګ6<@cاQ@I)" `<ufV$į)>,tr/>yf F/'ݱnkm(w^tKE#4da0e m;&F,9 ((C5pgaU H$-V5 kpFXZ չڕ WK<=en//q`ISdMΧ݅% 1^hR^p143)y=}X}'"7-WJP mbpW'k^!+ ;j74.i .XRat%dd;1Fvאkaݎw>wݨmMkap4lM1q8l%HvswBWff( )oATU(ޙt>)k`ȃv` :bi;ɢY&E)r881Tz?Fa‰>c?,euH== )E^5p.?0ԌzeH8HXok.~zUf Rxf9(.jxd L ܼUo6zI*M;]+!XAu1/cdZS soN ЯAZ?\s2Օ1 :εKszfFp,4¯?Ȗ K1Oz]wvs0Js֗x 5T$?;;f2K'*-茰&ᭅ1k>a.O0HF +I%$Y9פn ]Ok0>!n4ש3e< =rI@w5n*ogt.8^ۺ@Ss"x#0"780,rxVhh:}EV\-t3+nʻR A0s 5|"р1Y4e.-mCr.5')!Kcx⾤8ѩx @pFI>v(Mk@9)ޣc^r|OPظ 7QG<\rm|:[ڡ(,Tv|WD65xOu~{H xD,6@)zp ѡRWuUs4@p^ gb' =D, .*iI1ov~Z<Հ[. W R\eԀK{>ς&| 87٣amh፱!3idh\0rnT8i޹IB߽ƾzjAy #Q8n2(ԚEx 9&Dp|ja2cwy_HW _pqo"uEf5IcZ&NtÄ#ƖHmP3P%~c# [b6@=%myx Xʡa+ͱ'U:"{a"p\·,2G9R %oՉ. UW |"A/껺6.ʜ`>$bC% %CxU8=zOӖ' 7%GyoM`:t(QZ昊X^Ӈj ~-Tdl78 _E=Du-%QhU\joexoU_a\Dwm8 ¸1Gs\RAJtkഄ$}\)p ii1ͣp3?V?y)54IArrx>&zVc{>Sw 6圊eq݈!q$aDgj&jQAup[ g:SvݎZ} [͝8zt 571e$6Tȇ 74Rb>sc'4Ss0CU 8u$qk{j(2IKDEfSp#sriٺV]M> N1 8pe3OFׅVvfx zt)|o0:j)Pp=c59[_ `;}MĻ|ƊbMxO֝eŤtuEq#BY#+nlI8!1Xy8EΤ0B]e/ c/ubFM+p ʨхnβ6bQcb8a?r->!d%>{ph-'Jƒz@quc B]OYX{HR3&.Ms<=WR~ hLNb#ow1,3̔`knR1PWƉ|ƸW{Нpe-T]{6O'hmq]iS Qc{6o 9EJzU:jg^UmI%AKf[ [˄% 9jIi6x4j|ؘ8~9 ;TJ^:i?7dGrNNAiT{%\YxiHFVC=\+GY !+Y%A`UE) _)r7C:ݵdua|Wv*3h"JzLߪ ,ml=sɁAO}L@B)lΛVz6P qH2-E dEZ\TQM&}b=oZޯF(~Tɾܗ}V;{!EoШw(hZ a!Wj_Sp^ Wuԓ 2D\e&)iq~NkdXѨNTh`,A OYEj5_^sP3 GMXȦ2sKjI%YQ5sѣWQ?|KyF.W?^k~HK9:~YD$+rQgmY`.jN5WRJ\+x,ΚɅz=hFW#LWUDXE?rtm`\n̴4Ck,u @}`g6SkG=D)rT.1V7x-I](^T*GțIlf#?|j_> q5ʞ܃լJKJӷ%%@qwQK'jj~7jxlM)1!҈/D h[ nkBSڙ-Bl)&.Kg]b[ե`{a6*2E'eQ{O'K9͕c Uhl) (.qQ60q; Hᮼ4E}qL3]4#Ӓ;?%}sK<[r@/$uQ'\RZWȐpzR6+{ vv3P̱ݥ  Vǿ=V ^ S?*$B͊D]$`dẗ́lÈoݗCm^,)׶*  Z4ARɛ^UO18f%2vl2i Կ\w#L!\ 1B̴vп-zj2JJΔ>9ۡRxL$'PN0Z3OHj ~a''«a-XxǍ?rPT?@߸EM\E؀.tl#3L`ѵqׂ?NuJS`g'#wz7ΔG̃!7o2B <3=}q1+]&rv{]}c2]P<0b.ºypnv]4n?8dz!H9mmS|[JHG%%>knͱ,hݜV2gl$腯B&erC!*  0aVižv:xA^eYyUr9=pQF~@ZoW H6[/c9z<*Sϔ Fgc$zLkwIS:8\Ie{{FZ#(;ǃG+tQFN\lXyY"D?Ok4ZC~(lo"Xy䫥w>Z8$dƺt*'G؍_Zŏ|NrUF7W2`mv Kr/cDݞ(4E5M,5|^ԭ[Yf2G4q1-<.l|eTSY(&[ D'HVElBCiiw.4JgcqTpђ,.:N Jm mbױojfQrx<4ѧ4]"=Db#3RqtKe =UaS=WAW ag)g1CǚSc{ &mg`|~G|^뗁 C/DVB1; ݘ ( ѩ?QFqU2M#NJR ih_ WIj~ג.b%8 m>Gh}@k^O.; 2ث6BiTTfS#M7'l}꠺_Kl.Pb]R=6t- u3(B/CdcE{K&d]coGl CTb;$_vKKh0Yc;hjMȀ^"]4Lq r͘Ȣ<.~dtxu#G9ac7٘Ř%€ύ_ @qep5J:R~&W%#P]#SМ ^׷@;{ 5,P*R8M^֡wT^G4z!ڸ|+cFΞm*F#+O鷝 P$pZtri-Eq=C>Ym\T;exƬo*j]ȅK-=A=b("<,$`U?-8?>bjTE:WEvN [Xn~.Q5sԩ8 |UB7BGϚqZD18}D!YgE!쐟sT [CsxV58lz4 "s r @Sĺ3 s*IiuŠMJT,Zᬞ 1 xo:;YIY6ҵx&KļӴ=e8b>k&w)IwTˣHo:$!P_? ꚫޱ*;ik4(9$Z~W.Dv,c'#g(Wt82 gܪ"]`Rkz*%q~^!UYg4|_1 ŵ(of<A7 "P3"!Y3'_*"+l{LGΗK-0@ 3v>[Q0]8!HFnDB\<H V>j+Gn;;yssf~rt:7&zVX&^p']X5><$,re!64'櫦v#3G#H9ށYCS n @LpI$Yw% Mqt2q:V$-D[t(mW}pֶ1,0Zpe2Pkq'91DBxdeA1+WL h{BWJFE4O %*ADzH@>tX0Tf{~ڲo"%&~鹑:NG>x~b£WfGss@Pn^'W&J78N`"Y^7)ϭ~eu+,>( }M+ɇ]cS>Uu[LEv$U=Xl@)>pf{[o3:-9#V.KI)?C7_:~>hxsl>*BV yo"P)ϯ\yG`l͛^ k}p‘WPsȂ؜ҽ5עL8H&d&*ȎU QX|FeH'ku瀿yhdx F{ssK5(pvTп_-`Ă;JWѿwLt8Z$d0,%H@?h\\M+6{[}\6|jBN`̉]dtm1{u2FI6MR ,j'!/C6v9鮇XgE-19iy4&%Cq,XfIOe8 pc\Q$ZFB$2};70xey$Mσй% Q'ya|2r =ִMvڬmu){u& cz3uk0BϭU-6C;oF,l[N@|q"$_¸ҜoT&4N~,X?k矃Gۧ޵$XhJ3^F+ljLM6,A1-ߒ q B"ڱg* OAhʀDn^vIWmы1 Z5ç>P;#MM6ܬh^z  ~5 gW!`1Gmq=E{=%52= :a2$T gӂMދ,lMB%od`iDG# GLKܩ|@#ê'+b?<U, ݗ=7. ݫ )VmJyBv_ џlZ(]=HK8Mƈ%~3 3=TYg,jaÑ9O &޹o1rӼ~nYz>zs1H0u;!O5;0Ȟ).@džmї+]]Sve.!biWT[佌c^x *WiÿJ#*ޚ7+|!%TW>} ],tӗNĂ-bW_ځNu\UApsLv @!Up1nb[)Tf=b}j{b!>b'#S#S0N[ǺXN{Ua>}Pm>>cFm pWQ C?+m?xL Vӟt9>5YWȠP~}QjE4]TTZ:{I6TUkɡo,C"=a<5x-&(BcD=crkR{X1X,V="=5: 666>7bE(o H>0Dw=/ mFVlgBYݤH ,:OVA7oQlHϿE-z/}Ԧ^X-lR"|ߴ^p&>P^17} O V$Ѻ[,hg׿kE2*X&!hR^WHrԯrǑx(Kh#^^-9ki8CCq `)X!.(8=-YBaIq≶C"KX~MNƲb/TEnwiuzV5VuN;w5Qd@%M^iUPYv16!XusQw*2QQ`ӅpK"??a016b^Ѓ]e2]wtK,P@v9TYҀ-„5ۂ4gRAA(B>{!\&y1F>QT{20 jazKb>vNMP쵯A5}&_㮓hi[rЉ`ZƥG^qAlMkrN) xtLev;1#zF72FYKG6rOa8AZW&]o燑Ac,y1ǂl!矗]CzڅEg A]UO: 8&(&䳃geٴ+re_ 8ϻ{JAr$f:KP~K$܍mIF8uPp&35s /[SCȸlc;TſS&v@RRjhT.G ?p4ǢCU^~?AuE;Z_/&\ƦW~"H uqp5;k)JjlɯE(a)r6ՑzcV%}:CcTY86D&5X,?w}Äܛ(W)cj9&S̱"{z_'ͧ6;GbMI6 a؀5W"Ve/ˎz:oS ;QӼ5=bfݺ)Ko1Rx,~g0X4[p_'S}ˌ)ILx~a]jH1k"?6TA A׌FՋ&ݜKL85Zn>B}L}U =k(Y9nҽ]&W7֔shDFL[=\SSq@܄U$\k1#/Y-"h\ew.@yr[A"u4}g'L6hTqaEݎ0w (TX(aD'V ajꞥiשsekTpmxL2Qi݌QX=[o_T@y{YqjO>PWE?hWΖs'O׬U@jvsm.o[3k=и9 hc◦ klRc0 ” 47TS D6Yhѽ ݁T+|Q9&Tm;o*^r[_C vT}ԍ𝙨.5z !/1cy2z!8c? ߄z,{) !ץBri膃4&/ ͈D>7NGeߩm Nn]dE˛gkYh<,VQpkGV/٢=손QX9>v /* boC4n c7wŝʱeVd9GKMxqRD|k~`Rxe(M¶InBQx/Le{yڪI=@C+n߀w[2QvF MmZOA$k, 9<M{uEg 8i8 LCahJwVGT(<&m6L; ɉ+ Y g$Dˣ72{/*u$]X'pڊ۔ "kk6< FmdNs/ פKaVllxH"&cHg-"#JjSTsX a*@Rϝ IQzTH#1 !`2O7$͹?N h j֢wɮ/!.Ce{m+==L@dHHY|eEqt^Kk13̺|U?F%Rݭ6K]&`notq9KkLMF-t8QY&N̤:8|yN&ߑ 2.d5?6t;]#uRQ7aN l.&"hzu}U{]mAW{<9dp$A0wM쟢~*Z)d@p> o\qH)A1Z٣Zpsл7g0D` ?>, ]fN\0ꉑ-avJ?HU"WFpĖZkh9VpZU}CYo$32-F.g"LHWQFuuJQdLEr4C)jwaJ \.i5J"o]bO~Ɓs&Z:wxJ>Ѐ=lryU:k˘co),#h4,zis.$Ež19eX 94{SJb1m|[b{ oj2vzo&2עIQlsi_ !d:kV4rzARj uuk ]z; j\+hL dSRA{oS8¾IchZzvYOEoTKK#!\ !R#!cF.Sd!;22Xփכl;0R}W2tZm_&T㔫8H8ܕ:Gؤ |Iӵ`MU SF U]b L/ ^L!8zNB/ql;m^(o(pzw"ZO<|z9O)s!h H)u hK)F`ngI(Ty6zB7F UMmdݾweI_9yLtC"ZD u"oO={ %As[d&V +g  Hݎ}JzVz)iebͭ`X $jYB4ib{`ث`^f 3qvrlowa[2 dq]^i kl!mX(/\{<4u&.=*X tv++ xIFuyr-t?w$M" #03Ks }1BELzH~k6HXԞÚ y(,S-U'e= an#/|H?Ikk cjC>_ :1jt=,4UpM&% &=C=\2w9;pLnIUL@-(j/tstc"SH]~N넌fK\5mZ,I7!Ws*ƌPyXuۛsY;;զbbwD&pY% =5+]]8 NWZDI$ʑy>B \pU,֣tG[ !JfNf? 䈑:l"΋3֬) e.gK%͞DD6(sj!EnՀuubn.^).d_44#-&*0Ӓ^_& F87^hU{G^.j n@` ;#{畔~>-aQ$s~WPM۪V)t/WlYRvLvm\h5Å:NZUMHRm= epG߿&3'k%T/15lĺ]lOPnVP'Yw'"=az/<*iSBʕI^v XC&;`Z8ExGM@@fNuHң J߹MljgJ VKRpR S9!˴:IpUE+bZ{|1RJc6*㟐bc *B4!uXf;Bw$B Yn{ ̇%]qtX_[;a ];1[ABU No? aU%Ž+"28r#AwA֎D'k1.zl 23w{ɑvmIBFICqq_UđϬ>GRSI9(uJt$GQ;3ipҡҽЯH PZrzXހq_X_ػ0TPU %avydwIbW>jPY:yGLQ^9?%pQ؀WCi(JS(ƲE{,L5x`^ػ2_ eӨ pkI0 /_}1/qw`9E`7JʁV ٴzoXRD%g"D)'DO6|fk‡a]ZIœsX^`=4=70 nm~{:7|9} 2%7\+0+3ܓeRJIdNGUA'yJ/kgwבIZCFk{28))Um =&yb`+SQ’4$Z%'D0d&ƤW_g)>QI Cl*' ŏMLb{T(\ttIIt:,A*Pbqy:o5Km{͖E3 yuaRCHt 6b".=3uBͬEj,UxJ=;t9 1_rS \{ t Oem\d) % sYZ8PcW쇠]>cprmT)m&;OWyY\/OaY.p0j'Ҳ 5tɖ|;OjdסVo5s UWF2@(xz$0B Syn tfS&XO?{\!cLن!ׯ [;R_$-,._1ŏڡrN gQmvK=.3CY\]nN>`pviLG~P 6F0uA{%)w@9ߟ1p ٕwYEϞG^FuʥeG 8L_Vdi91ۥ97E2!wPAJ߮p_8? m{՗zK~[A/T-?o ?vb ܏{hq -}ڌSN46l8~忍3粘S8g%!7.S*:7Y.W-=.1KǍW= Ų~mbs#r(! `\~mB}9 }0V `@kpƄ+IBQ臘Mc}CI` }z n^–7@pC,{X&Q 9Jr|1ESh5%-0`zPC~E:d_<;OcJ̘_Nk? 6[dw[rY{U# P+,> G KE%Il6(W߶-tWo:-EF932 hl8Oċ!w !$ D+I X-pwr^@i= Ƶ&e2on>j&\'86 ϱ9'alθ@1[a}˜}g-*z>֢/DnRW3oL$];)Zj,*wKRx#hSTe\FVj\X@]ǖz36ֳIixceP0Mj~vJ:*Wڊ|E 8a5Sɩn$kGEܐ[[ThA@\.k>"Y*Cxk=HOfjy_ WVbՆ퓡`uHi jY[zo:g ԨAIeW}(?(v4"l?q>ױ^CΈדSe>Zbi݌^0gYCߔj8 XvQ~.3x&V*d3oKl2#u\%Rw.37d5xboi&vNdccQpNiif4ԇ Z~Y^E|Q}_X²O̧` J_u&4׵74\ lN?6s|hg0 \ܺ8iЅ`i ߌvzj3m/.~nma1wY+` kFF qCp|%|Q z`'.:d sBraU*ee7KĔ-tuMv"uA|˨Ya)/jE23Rc;ҧI,lPHY,̤Gj5#HG (vA"<j\2^ /0xfeũKͶ^%A|E}٪Сم's 1ZӦA/Fzop| Jh&t%4XFGЇa=-On9E+W]V|Ko*U-饑aeVuO$e -d(=ci]]l?,80T]A٫VS'=%o DVҼo#\S[Cb9ƃqC74x؄EZeT!4-f]ֵԈ&6Lnnyhy{ '4ܘԾ9f4Ae*o>F̜ȃ%0Btu ZAgwȗSF.((D}o{wgrDŽ,4X! 8& \}u%L/*' {\$ yH6LD~ rhwx.@DסHdzlNkHwb&J?Z ϋ2ga ? )ܚX[)U׿(JZ`DG.Gym/'HUJk@ҰkRoq[%n)nnj𡧊JuYT?zovsOGQVR$62KcSDjU⼸eC*!^j=d?Z-+T9F6΀x}C3 pmm)PN듧DlgD&O QPv(e8prf=Z+F >8?=RyobK2׿U{F8UEXaا(L/Ţb~Ut`cR2xkrfxjB NYw$Nw)I~P n.%B$4{5K!@(GJ_6}CObk *mK(yt<# ٲsBHb]TabhK࿌+Ѣrr4*jJ]#H̶-A| (ar$&UK 4vITA:Be1,L+~ĕʺyT]nM|bS&65.N@7..Z_)^/ (8VF*P:{ڋGJ{& Q.YM6a i[F!z_ ց~g{+i.!Y_#3Xhfz H"Z?T4\?0 pFq po )T$ݹ7 &dK9p/ C ڿȏC(I"H*~c?2P cUAV D[*zX]J}]͎\nT|N5)llфLkxҘe @:S;MSUSr\o:Mߵ }I~XZii.}fxQ[Jzĝ;Wԇ/ 87>{zx@70XxJ} T' b\HyӐ4(|+W7="H{`gUaե6V3A,ļE-y Ũ4fbX]9s79U-F 2Ul} ʮ1J2h X$' ?Bnf2ؚhc CfHyiY]s]B!PvD9Ѱ"hT.ubN.;tXF!16w:}IgWN YT"%:ď~v=[]D’<{r?My(akxw#<zV$9t iV"f z;֌);ką<ʑr.Mx@/HiWO,GZ4.2hxױtwos}=YRcX$$+7xw Co"Rhcgw^oBZrp^B8$_qhv~Ϧ-%FA7Y7r.cZJw?߲ I>צwAE ekV "+X,dG7sH(SCp +i'; E4YZ7†Z^2Q70'C$ߊ9&UB 6.>k'J^o㻕  TD`٥|9ϲ.`$j֞ꦄtsq&Z 7dB1b_QU'-֦ \dA֞$I'ʙ*Jml.MNFI?)2 KLq~KtNOTwTԸ̵FD*[LS@򹝀Dә}oZd_#nS +4K-b4$kOt7&>jů|DK$tjB=ަO+8i & absiH~-F#}B\aV>X=*D| YO/#>;ú/@B@>z0NS3i.BclD6el&=Q^UwX>VJ.|a6:c* t9*N0s8ڋhq"KN;0LBTqs+2,;Hc"aKNy"'xXPTeәcFg5T[!.Lʇҥ&Ԙ>~M\f%?-)HľGknqKt254+q龜 ӆ愈%,Vw bRAZf"Kя7$С:([̷7aj<7Y٘ X 0r4gl5-t4:]fEMQ_wɣ u MG%mǁNֽiza+Vխ1 .=r5=VɳsvR>QW J5>k~0WJbX=Ҝ:</ ?D|z:O DL#D_жȻ%c"اdgNۭc{󚓽 G-JKB'*\N!Sax.2v@.>%XI°z'?yJPmsBK@ .ITJq1M ]N~48MSz_Vt+ü ~3.OQ~K>nSui:of#h'bmёmeq_=_Jm[sx9mFq:n>ֽ4&*{R"sl/R6جd/-r 7TŠP!gq?= | X4IεN?ޖq.eRz?5s ?s3dB4:]4-zנ ֞^[^;+~(䯛n.3nvlacσKQ3幊X$\OmmVQ0\[frX6]+b%Xhcp:fcO0AԯIo2 ixyo:x蔖H9xc%rnE1/;ϾoG;JWEXj:)K (͡ D;KC*3JV_2ӷ͹ jf#/%qɸH࿊sS#L:7E>a <팓P$);MCƶD9v<| ;8O!|E<xs@e2Ytх*7S9X$l,4]C^s?⠏z ƓCҜb&gzL7mq_m2b28_6EOƫF 6.-lSjK/-F8(8/F)nC9.Pj}-eIk}(_[Muy͐*^*D?=< GjڜH*q =W-Ԕ#ne3L͗YCJ~a~ӲgԳ}QO{֮0Z"D᎝'iDuB`6, O/QS혽`ooBՉitL/^,O BÕGTJS_30*{H&C&i"f͔r}:3L4I+K-,tᑽ*Gpc!^zPFT)./J_u5 _EjSa,'|bqH% F88MU$şEڳ?eQqN9>_݊sWv /߄D1LZV׽B$+~D>-B H AL tm Ne1Gq?ٮ#{,A', dxCfqd`T<=P*d D5Nf%a(bDOK :lgE5m,tm[:%AsHӢCGpN[#P/S T:8x{/G!s5`~Q91b=j(sQГ;?J#nwE9"[gqxtDD 7IMDȯXDUiK?&xA/;gEҳ:\v~uK'8eoAˊ=dӚ@3м4XvEHƝ@Pu.{Rk$iRǀ$9eLeO7{Ver{馶Cw $Ycf7Zyt-}Jg"54$R-9ah/$x`Ŕ`gA4mX/r>͌g a,Z%Nj,;9C{َ94 njurU%lro E«7L=䭗aN#U&6J[@D @~)o88~"UaYOt A kڜ"2H7H$6y1'q?PCE VHZ:mˌ0񘭯0K &v3Ƞ[/.V[ubtE|[jȕN$ق)\#~`_2>$ 8GȟQIMeJ ' ?3 *G%nT%maDL$';7"2IN77y uбC(@ #쯿mol+%nˋm(a[agbϑHP\ؗ>UmUP+Mz^DžP$ւQ Gbe2)T2Dճu#tіu{hY %#@EFM31o2$ Z%kߚ6ܲ\r0<)%"5hSRi߀u7&cZǃ0XQK3i?n߂,ȹ1Fxzf<㠑7b@"5n 3K] ڧpc DOTO}\oa7Mɩ~bZ1ocIf ~qx Q*s@CY0L.iSN  4̈xɯ NrNppG~cKiR#H2Z0p% iBgS`U"jpWm)1*7+cSx>ަZçйZPC5 ;Kd9ށG/-Ë0 VJ½/mJo䝞74 `[ĠNMS5Rptmְ<@qPX!3eHpφXl(R1-cW$kDoM x<5 0(T=4Uu:m4$%&9Ę{9Q-tѺa\lCrޱOA _>OX3`< ChɋÆŔmljCkiUXIew>H% 4+p[q'@ dv);uk)5>,U67йo$+nf 2iInjCj@oF&6aE72h-BIn(]anXjș  a8k5t)[M/Rm֦'=QO0H+m &"C`FtxRxz)$j_Q.¾=nhi77]rLdWRpd?x(G /Ay.Zm<ƞ!-w!ϯp>XYf" &odbx1Ͷ,&@bO_Ո~; EZ'H5LTF@W2ѐ,[Qthu%7zsYͻ`}"56Џ@͸u ppq5jsh}M.ɱnQ{ij+N"@N23J7X&pnZƴ4 ėG gnL;NDJ9_S6 5<_43q_%#jv@jP.jXX "L˷ m`F9DɳʏgtfJFx T W9 XܠxJg>z@V.n#=r׮|VD7icW&o'1+\YZkc5zƉj64gy78ЈN&)7ÁJe1u6(HH!>TF -Rn#*j$eO$Y[SV gK3{WN CWRC62hራB~5p~ޏbMH7A1w-QcOD ֽ ߔBީO0K=6V DUeq;ot)9D\LT B?Oo{2=۹+۸+}:; pW\ͺT5_I`}pco3†\`0ss6KcgV8(PƝ P,M7j{fVJ񁸧ȧ6.>1pFДBi@H,JMn߸MM\95P\+j4dL:_;a@JΈ#6y燂\R]AdY32W (`ڞ#5DA].XRaX܂s=i[ ưg`5Wۦ2oel3U.XgG}?'B,F0\`־9>'u{J=Q٥Z]JbdKup4>]eh zuL{TKGM#}~ӥx.R_W^n֡Q([J)/?uCRLUvڡqF]fU({=gWRb-ڙAl{r,Љ{lƩ@dF'x}FMv~h;yo꠫Ku\a -ޔg%ðX{jfQ(|;z7iP]CYlbӣ=\ &FӂMl+zv|a]uA(uDw;=DT:+x E/̧̩!0fѳfcZg#M~xLFc&[6}fk LۈF]AHҀ$D'4jNѐl>#AsԉBJ*y~Bۙ](*j>=,c-BN%^ ',Rr.%bI wyxJ)5 Ҝ^\ZSա;7P ou*E^/1̊7=pjo"0'#90/W3tm _Q i҅&vX% Ks h#"RXb؁@02e,[u}RQeh"!«ns@ wg0yrՑz'좿кsԿXhqRk=`)Z\S6+X3ІJǼ O)[ز끖w]s(J qaVBzxwo$,_9@qX1U\e;DI ;|ܠ'v`u7kȽ > ;lx\D'(Nm'x6$kKGsLZ6Fεk\u}I1 Y;M#ur(q| 6;hęc3/_5( " LGP"Ƌ! 83!?̣)玵hY \^&^j}2Ԫ4RXPKNy<:d4 #h@gDkWUeX9cclN{ї^&t*3>.8(v󸙎[^)vR v7_X -HJrXd!*h|<Rʉw.NGOխ:E:1mD+8`$zԥ09(M+C=g5)KW)D2Fl3/3J 6+sAX(pMLB ZSҳ8 {˺@sqm +ќ;eC司>sQaa& P#Z^VITT}GdQR ^\wVWһf3paEX:l«*&v]rEEe\Qqt7q~)ŋO_b-XKS>*Xy\|.`>rG+p;8,z *S83qrM^ w:JoI"PB?4]xX Zy b۠r{7k0I Q9|}l߿.-|JN㴂+ t\4Ks;F&y~ bg[`֬5wFvEDIdyWL41a -pԉլ)d~E~Yn8h="٥n\ 9BY&Bۆ;Gq,Z?oPVd_Џ !yI2\?ĆKtvhY[-1AT 35ܡ { Sao4. !?nryR#bQ }9o:&E4vi(/C1e K}IrOq9!UIvNGHAHduEz$Rͨ&Ȓ^ ~ Q񮡓cǍ, {'χM 4qsz,c8ߺiHǂ!cކwb\~4'Fnbb ,K$xʄW98 ި 7_X.T~Ňo ?.FA`B& dOn/(Re}>`u`+V+պdbԚDMNp0Jj0;bYf6nݻ/5JP2 mx4\ay$Чs>MbNwT%a:'0rH躮=4Es^>nY5A,'@F&5mAH+M)PTj'! `**oh( Yt&1meRM!o,)u((WsĢoE-̄÷ 9--za~𸲼wik%BՈ8uĈ(h"]U\HA̡kbd !Xq z=|J5S(޹EѻL7 t7[VσߜWLGodS?6ٿrbyS'W?LQ`9XssG`_Fw:U /JCjS{70 (, h+r> bE2Lv&18|cG`E+f'(`\Cd^R));11Ͳ,1Yjq&kQ\5pEE/6z)~h( [ WB0+ Vb\HK6mFAՇ'g0>tg.Teu *w|>3ٖ+U]ȩsp /Ǖ@QYO (ܬHa KqUm{pW,Cv_Mq*A1k(YWOfTֶ<T bѢ+JP,8oU(H=$./2gBAQoj<AC,-9k5|1HC1'P=ъ.e]Q` bj" BJ23qmo =Ā7.h.2Pj*&;Ư"F@\mDpV ?<|gCJ 90d#./`\%r<ܚLqp@EyvZcP4JOs}̧`pJ yA0I8/"bϛ6iJlVR~6p3Qb!*ŦQ]Ma, 2Xd'[L%t?*+W*^kpH_U%DsĴYVAr 8u1}'hLNIĚvg Ӟ˜|>"sYEѯҙ*%[OrG1f0}'յ2gz \ƏP !pf\ʢPRWֿ'/COl7dڷМ|!$mۊX-īuTUΡ [os~{#bz?@3p]߃@k Ad6~}e.<?;nGGn{y&_~PUlꠔTi9jØwzh{^.#&;ͽLsʍbnvݪF@Qx,Rl[ T *!tx~X[W(|2ʻFX{nmM; qubnp3uVA-.:5Ċ0IAO\hs>2?2Ua]' OMs܋a@wwx-t0Q%!0Aaێ ;4 `0wԈ[ED|.8%S~QLpd*4Mq6rF w0tꊏ҅ ߱ȕ>7P +[f$ۣ&Հ>Ka}zH(3g!\5-jHZ0}ʡ g!Ót? 9ɕN' 7#C. w=ƱG/ i7},S 3c}9zL-&d5*fS:`q+RLZB)O0i@ӯU!aM׉~oπS(K Gj[7j.ڍ6gEHF5?jk[aУ7SJY ֛ɌTǂg'(2B"; ċ82ө](?es/ [ #U, dVtk-LՈ^~KyIKyNQO5Yr r7Ե۸G/T̆_= )~F#?ޟ lWl(Ю~z'*G GF fE RrR,ͼyBSN|:N(w| k.I7P $a=Ϸ9B{4X ~h)-՛G096|:T( {Ű[+ܭv&J9DVꞿ孲0h" Nb=M&Ɩ/וWFj#=g,ڢk@IOOe|/?jEn}~=DT'b"[?Lh!ˁ,K%xfSȫmJL_|Լg7ϷPzaW%^Q!kWF)\VVp {j>b%#yctoPze!PRVoMO~U KT*ԻK'O[j*}ous 6%*zlq˒ݏRxU^Hmt[gserilBGB荈LA;ȼVp`PFF7H*\FO죍 h%|5}NAR/]gQ&hu#sdhL4[Y $Cy o[(eiE,(ݩ,_MJcae;+I5JMy?QPi$rM}dtu+;N,@81*`I)9n{4Q])kAI ?*Ur͜0Es&ڹ,Gc"{%HwW VBRY-ZmaI@ #5R5GARB?uϼZB\F}C3&J#8$p[dq7w\B RukwV>ɆTj{$TP# kE攦ٛ gN2|4ә8ֱso1}2jm;&I Uv ݘH&ȥ =yVb[G^vS $LvM4^/Tãg(]} JR?-+X440-pugsnEI NGAQ?'i0@V%qq=ΐw}Vo0E~Dw^nlsJ `PW6R;G0j꣣Gm#Z |Zp nA<} uf\*O;IЂ^)U ɼ ӹ)Dw^LzAQѰiW3Aw XZ6ߋ$儾1c0%.-o֍ :aAY@Gws2g7]ӹ'v Ϊ6#gG]|;,%H0t/U6D)Wq8E{r#ĽY{Cҡc͵bk+ϲFd?_[\dcw3y%*oߕHSFm=ViѼG\*wW@$F;'I3z&p.ֹӕiX r E'ĞxHK/Lg]<ˁ[u/ A=T@+KVsʲMKDVC7F 9C4*ɃC>;%[=ͨHs.q[\8)C0r @ :X@;u 0y/xF^ްVf:'*ӽ ۻXk/oU~`jȢP=||aǻU0xDcfK(`V@GQR4VG568V"'6JzŴ%NvZ?_-Mܪճ-EbqQތ*^bZfTح8b|f3r]fo/}kSd=x5HI-[m5)䉶=ml̹_јe0ñ.c%": YZ