wireplumber-0.4.13-150500.1.2 >  A cp9|F[Iy͖Apې)YH zvcڟJQPx`hh*ihpV訨Wʏr (Si(q9?TaP6Ш8 ,E8 +1DĽ,O1,۞]&Aq]yסt4(ԍ>gO1'锺gv y!~k@❀"qӿ^rqpGjeeba935c3f84c50e8fe9babd819336344d80cfcbf6ca35bd4782221b95e129d7ee6253ac20dfbfd2329fd31f9b3f48d625a0f92fhcp9|'ሢHlg_ uԷ`Q(>_>ζ_ږ1Yj-a$סwT%c{nZ{zfE8TXgږ5jYqUm PVG'НNx4*o mYHȡ$ǎ 1_A4q2^o쳝K2Cwp#‘|,ϧ`P M+F0;0|m;3?3p-}~ZkPdEl y>pKE?Dd  U@DPTm '`O O  :O  O  O O 4OpO O""O#&'4)()8)-9*-:--=&>&!?&)@&1F&9G&POH'OI(OX)Y)\\)O]*O^1 b3%c3d4+e40f43l45u4HOv5w?OxA(OyBdzDxDDDDDDDDDDCwireplumber0.4.13150500.1.2Session / policy manager implementation for PipeWireWirePlumber is a modular session / policy manager for PipeWire and a GObject-based high-level library that wraps PipeWire's API, providing convenience for writing the daemon's modules as well as external tools for managing PipeWire.c#s390zp34 ESUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Libraries/C and C++https://gitlab.freedesktop.org/pipewire/wireplumberlinuxs390x if [ -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do if [ ! -e "/usr/lib/systemd/user/$service" ]; then mkdir -p /run/systemd/rpm/needs-user-preset touch "/run/systemd/rpm/needs-user-preset/$service" fi done fi if [ -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do if [ -e "/run/systemd/rpm/needs-user-preset/$service" ]; then /usr/bin/systemctl --global preset "$service" || : rm "/run/systemd/rpm/needs-user-preset/$service" || : fi done fi # If the pipewire.socket user unit is not enabled and the workaround # for boo#1186561 has never been executed, we need to execute it now if [ ! -L /etc/systemd/user/pipewire.service.wants/wireplumber.service \ -a ! -f /var/lib/pipewire/wireplumber_post_workaround \ -a -x /usr/bin/systemctl ]; then for service in wireplumber.service ; do /usr/bin/systemctl --global preset "$service" || : done mkdir -p /var/lib/pipewire cat << EOF > /var/lib/pipewire/wireplumber_post_workaround # The existence of this file means that the wireplumber user services were # enabled at least once. Please don't remove this file as that would # make the services to be enabled again in the next package update. # # Check the following bugs for more information: # https://bugzilla.opensuse.org/show_bug.cgi?id=1200485 EOF fi if [ $1 -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --global disable wireplumber.service || : fiXHGhGp7p7hx'hw7xpWxGh7 _q6I5 M'{7JJWU+ /' L.2$+G6 Js71' $큤AA큤A큤A큤A큤A큤AA큤A큤ccccccccccccccccccccccHBccHBcHBcHBcHBccHBcHBccHBcHBcHBcHBcHBcHBcHBcHBcHBcHBcHBccccccccHBccHBcHBcHBcHBcccHBcHBcHBcHBcHBccHBccHBcHBcHBcHBcHBcHBcHBcHBcHBcHBcHBcHBcHBcHB748474aeb1f46003a8052e030266df1cdb9637ceb54de031f48af1be6bb7fe523c22168a2eca7ecf0402cad7f06086151627687852c7a7ad2e84d6166a37a21ce3f64ee45c8300a0fd40580989119515a823973f2413525e6534d2dfbc17a4f8b5c35aaf0e1a994a32db28a1a9ee9479cb74227bb343a843190e9a55f0937367fe331238a6dad590f5552b2db83cc3493237c576b7dd6d3e6cc4744a38d4b9632a620486160bc812819da69d93583b843dadafc911a5f7277147c5704ba86e5e23d96da4d815686099aef16df703304e6901034ece5ff87368e71d9f084073aa2743a0d1a8d8096e9fc27fb087c8ae2a08f4073c0a607b43e681bacbba7f12149c7640cba33572a2c110782872574a4c2950085c8c8c7fdd85d23f4d8aaf037d49575f318dad313cae3745c78385b7f78f9ec3b09d8e644c77554ad28ef90d0901445cae9977a20e54c77619b5f740f041813b08b4ffbaee71cdaf3a4d1ce39f811d1a27cb3899939e0d94048d25727430936e653228c0648b41e1c3f40e76606c3e0a8e567fe317abd45b1bc69d661ee1342667e6f02bcfaa0d7ea4f513be909c2879e4ad059a398c10b12568fe4c3c7fadc894906389d938708f8450ec69b1737b19cce28c6e2254aa33b0976e7fa4c063b5ef7445d6e8e1f051d7a5fa3198cf12155621037dac5a458d3da5e5c69fa80cbde2b7103ab91c79583caa333cc7fab1fc256026c5f5115342b399c03a36b61f0b0dfef4ce2375a1899240c9b42979c81c175706f524c6977a662e6fd7896d7e054b41c9aa0734a58e568024846b4b66f57bc3c4536f5b225218cdb42229376ecf26a271155af125757df6f8fa91fddb115e00446bdddcbb262ba81041d2fa2221bc61c51c078d17f6e56c7187306fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d17707bc53cdb081d026f5b08a67d0b12de5359302150e1910e875f62329afa2e08bd5f7821413f6867e8ffc4149cb3bccae46cd4fd268e339658c72049cc8e3d31fadfd73146bbe037c350304bc0dcdf80b0364e1bbfc7c04a428ec886713ad386fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1d534cee0ef73e459cd352cece669a2ce07d6c16126bd0b414991b001b3cd534f6fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d1526a23059c0f218e6067f0d0ba94073ebbaeb9095981d992ddb2cabd2654ce905bd8793ebdd98aaddd86613a5cdb7c0c66ee9a6f0c708899f29e213922f1fa3ea89665bd9cb22d013a601f176c2e6095eceadc9f88e0363927534ce1c732cbbfaeda7eb6cecd43843154c4a59dd6b8d2d7764d8c6fdea6261b18fcd83bfa78461c810f689aedcdc686061bfe6bd80944d0ef97242e7896022f7c2c302f25e4b62456a718a2a5c26b7c42778b969d7108b1a7fa500a3a6429aeab2b6b3ed94722a85c7a6446e656aa5421b806861b65e52455d14d8baae96b62400d77d53ae2605c906e275e3e35661e2f8f69d9a4bfc8bf380a4e80562a52c69561dcd9e281cd5f3d70f43b7341ccbbd99ce85ee834061babd91fbfdc1f2cfdca24584a93042b01cba116c52c5819c96d0383bcf034de1088ec1da71a395b72ad028f56fa534b2da9a21b5aaae3f5366b9a1fe762af09282c3b289870eebc547cdeeca7fae5806747c30e3388312866f61710ee54b471a6dc24e522732cefc12767ee98e483ad199d43c1d68b66e2f66a3cb0eca1c17f86d0c775a7357911b15fa24a60afb37d49d425280172a05ae53a7c383db96667efe93b22fc3e5721eff2f4dd187d677f4900d5515ce2c17a57847a057e797135f336321a4d0f4d1af73ba379287eaefde8cd25e6b0539c29e225682e73504e292fc97d4e68cf9c411e704bb105f7993018630168cab03768fbfdd6d06f0b5c88b7456029daa1961a93e900bdbaaa8da79dbfad40df6659d5c6cc88e04b58ce9afa46bed8368b7782f8a976da9852ff266fcba576bde3bce1c03abf827720f23004c29570a7f336b2d4a1daed2f2573d185ca29f324cb73b2cf3fec28a5f381ecaa53536e447ea8cb3e2145c53704d23cf06d5c83042aca119a973f6962300adc27cdecbfe1483715899484f220f014378cfbbeca2965606607eaff573bdf5cf6a98006ff4b2ad4559d387184407750dbb3ee6f669f2459c8ac4fdde1907042052db108aad52fe2488b7a20a7aa7496a88e05043b4cd5730b8dd56e546a9160e4f96b5b49eddb99b6823cf3bd8d4737780ad461e4e6ecacd1677cdb0057d80497a279fd954b34c202524d53a85eb2094be46cb19d2a0abc868d34b690774a28df6a2fb2bc2360a9faf59aea6030208e5d59f75323a6953ee26b197648b89e326a1e4d8a81c96c33478a3e03374d3bd6982f5fcea274b8b253f609b0bd8c548494ecff7a5fdeca549f5d0b0165a81f4e033ac0613ecd8a786c0147e69bff1f681d113eb2ccc42efe96cce6d78b5cc286cac153231a1c7613bb9aeb0f05c2464f963f5cea02b06b5ac7f7db44756e05db66bb208577da3002b1fc8a1bd78299728972853cce3b31d914cd02bd8623a6659d4691c7781fbd90bb131fe72aadb5a90ef132e1dfdbaad7357e3baca5a3e3f1ae8fe690b14f01e677445f190a32a631d5a5fda6f157e683e0ebf7e80515ab20fa692f2a6eebbaab88f4d8a2ffc3bdfc6a4e7596894cc971d4f26f4bf82f7f9b6cc2988f99b5da6f339145c75005b09e634f83375679058cf787079f96a76cf839006e398bec38a5613793dd5915b99be797e2b69824ffac8ebc2bac7d419a720f48ffb96189caa7dfd8c1312a99898e655d6e19ed16048710f0be6436506985cbcaa38be5bab4dc6d3f01d2f1a7c86183b0f85abe93be9ea709a9ecd7c1406ded0aa4f4e93bfcc1991dff974b31a08fb159436e07350f604c15171adac11b74d1c4b05d110f21455f2c8c03efdb4667cad93f201d59b35f6affa83b2f619518b6d7bfbe34faf8c554e552af8f1e4433ed711f0219a62bba3b01ace342624e08dd8e3eb8c01be8e5d5835d98c00b746cdb79119cf6c4ed471fc853d8273c68fd79121122b238153efbb83c321cdf468ef12ef82150e22168508746a092a4bfe3d0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootwireplumber-0.4.13-150500.1.2.src.rpmlibwireplumber-module-default-nodes-api.so()(64bit)libwireplumber-module-default-nodes.so()(64bit)libwireplumber-module-default-profile.so()(64bit)libwireplumber-module-file-monitor-api.so()(64bit)libwireplumber-module-logind.so()(64bit)libwireplumber-module-lua-scripting.so()(64bit)libwireplumber-module-metadata.so()(64bit)libwireplumber-module-mixer-api.so()(64bit)libwireplumber-module-portal-permissionstore.so()(64bit)libwireplumber-module-reserve-device.so()(64bit)libwireplumber-module-si-audio-adapter.so()(64bit)libwireplumber-module-si-audio-endpoint.so()(64bit)libwireplumber-module-si-node.so()(64bit)libwireplumber-module-si-standard-link.so()(64bit)pipewire-session-managerwireplumberwireplumber(s390-64) @@@@@@@@@@@@@@@      (wireplumber-audio if pipewire-pulseaudio)/bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)liblua5.3.so.5()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2)(64bit)libpipewire-0.3.so.0()(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_209)(64bit)libwireplumber-0.4.so.0()(64bit)pipewirerpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rpmlib(RichDependencies)0.3.523.0.4-14.6.0-14.0-15.2-14.12.0-14.14.3cGcci@cs@c< @b@b@b@b'bzSbDF@bBb=b9@b)@bOb a@a@aa|aaaaaa)@aayaqV@an@an@aim@```@`s`>(`8_k_ܙ_@_E@_[f_@alarrosa@suse.comalarrosa@suse.comsor.alexei@meowr.rualarrosa@suse.comsor.alexei@meowr.rubadshah400@gmail.comfvogt@suse.comfvogt@suse.comsor.alexei@meowr.rusor.alexei@meowr.rualarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comsor.alexei@meowr.rualarrosa@suse.comalarrosa@suse.comgmbr3@opensuse.orgalarrosa@suse.comalarrosa@suse.comsor.alexei@meowr.rualarrosa@suse.comfabian@ritter-vogt.dealarrosa@suse.combjorn.lie@gmail.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.combjorn.lie@gmail.combjorn.lie@gmail.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgalarrosa@suse.com- Backport the workaround from SLE/Leap for the bug in systemd scripts that didn't set the default enable state for the wireplumber user service when installing wireplumber. The bug (boo#1200485) was fixed but that's only for new installations while this workaround will fix old installations (boo#1202008). This is used to automatically fix installations of SLE 15 SP4/Leap 15.4 that were not updated during it's lifetime and upgrade directly to SP5/15.5 .- Add upstream patches to fix glfo#pipewire/pipewire#2214 and to handle better non-null terminated strings: * 0001-alsa-monitor-handle-snd_aloop-devices-better.patch * 0001-spa-json-make-sure-we-only-add-encoded-string-data.patch * 0001-m-lua-scripting-ignore-string-integer-table-keys-when-constructing-a-JSON-Array-Object.patch- Update to version 0.4.13: * Additions - Add bluetooth SCO (HSP/HFP) hardware offload support, together with an example script that enables this functionality on the PinePhone. - Encoded audio (mp3, aac, etc...) can now be passed through, if this mode is supported by both the application and the device. - The v4l2 monitor now also respects the ``node.disabled`` and ``device.disabled`` properties inside rules. - Add "Firefox Developer Edition" to the list of applications that are allowed to trigger a bluetooth profile auto-switch. - Add support in the portal access script to allow newly plugged cameras to be immediately visible to the portal applications. * Fixes - Work around an issue that would prevent streams from properly linking when using effects software like EasyEffects and JamesDSP. - Fix destroying pavucontrol-qt monitor streams after the node that was being monitored is destroyed. - Fix a crash in the alsa.lua monitor that could happen when a disabled device was removed and re-added. - Fix a rare crash in the metadata object. - Fix a bug where a restored node target would override the node target set by the application on the node's properties. * Packaging - Add build options to compile wireplumber's library, daemon and tools independently. - Add a build option to disable unit tests that require the dbus daemon. - Stop using fakesink/fakesrc in the unit tests to be able to run them on default pipewire installations. Compiling the spa ``test`` plugin is no longer necessary. - Add pkg-config and header information in the gir file. - Rebase reduce-meson-required-version.patch - Drop patches already upstream: * 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch * 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch- Add patch from upstream to work around a problem when a link is not activated: * 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch - Add patch from upstream to fix handling null devices which result in lua exceptions: * 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch- Update to version 0.4.12: * Changes - WirePlumber now maintains a stack of previously configured default nodes and prioritises to one of those when the actively configured default node becomes unavailable, before calculating the next default using priorities. - Updated bluetooth scripts to support the name changes that happened in PipeWire 0.3.59 and also support the experimental Bluetooth LE functionality. - Changed the naming of bluetooth nodes to not include the profile in it; this allows maintaining existing links when switching between a2dp and hfp. - The default volume for new outputs has changed to be 40% in cubic scale (= -24 dB) instead of linear (= 74% cubic / -8 dB) that it was before. - The default volume for new inputs has changed to be 100% rather than following the default for outputs. - Added ``--version`` flag on the wireplumber executable. - Added ``--limit`` flag on ``wpctl set-volume`` to limit the higher volume that can be set (useful when incrementing volume with a keyboard shortcut that calls into wpctl). - The properties of the alsa midi node can now be set in the config files. * Fixes - Fixed a crash in lua code that would happen when running in a VM. - Fixed a crash that would happen when re-connecting to D-Bus. - Fixed a mistake in the code that would cause device reservation not to work properly. - Fixed ``wpctl clear-default`` to accept 0 as a valid setting ID. - Fixed the logic of choosing the best profile after the active profile of a device becomes unavailable - Fixed a regression that would cause PulseAudio "corked" streams to not properly link and cause busy loops. - Fixed an issue parsing spa-json objects that have a nested object as the value of their last property. - Rebase reduce-meson-required-version.patch - Drop patches already upstream: * fix-alsa.patch * 0001-dbus-fix-crash-when-trying-to-reconnect.patch * 398.patch- Add 398.patch -- policy-node: fix potential rescan loop to prevent high cpu usage (glfo#pipewire/wireplumber#152); patch taken from upstream merge request.- Add patch to fix crash on session end: * 0001-dbus-fix-crash-when-trying-to-reconnect.patch- Add patch to fix alsa device creation: * fix-alsa.patch- Update to version 0.4.11: * Changes - The libcamera monitor is now enabled by default, so if the libcamera source is enabled in PipeWire, cameras discovered with the libcamera API will be available out of the box. This is safe to use alongside V4L2, as long as the user does not try to use the same camera over different APIs at the same time. - Libcamera and V4L2 nodes now get assigned a `priority.session` number; V4L2 nodes get a higher priority by default, so the default camera is going to be /dev/video0 over V4L2, unless changed with `wpctl`. - Libcamera nodes now get a user-friendly description based on their location (e.g. built-in front camera). Additionally, V4L2 nodes now have a "(V4L2)" string appended to their description in order to be distinguished from the libcamera ones. - 50-alsa-config.lua now has a section where you can set properties that will only be applied if WirePlumber is running in a virtual machine. By default it now sets `api.alsa.period-size = 256` and `api.alsa.headroom = 8192`. * Fixes - The "enabled" properties in the config files are now "true" by default when they are not defined. This fixes backwards compatibility with older configuration files. - Fixed device name deduplication in the alsa monitor, when device reservation is enabled. - Reverted a previous fix that makes it possible again to get a glitch when changing default nodes while also changing the profile (GNOME Settings). The fix was causing other problems and the issue will be addressed differently in the future. - Fixed an issue that would prevent applications from being moved to a recently plugged USB headset. - Fixed an issue where wireplumber would automatically link control ports, if they are enabled, to audio ports, effectively breaking audio. - The policy now always considers the profile of a device that was previously selected by the user, if it is available, when deciding which profile to activate. - A few documentation fixes. * Tools - wpctl now has a `get-volume` command for easier scripting of volume controls. - wpctl now supports relative steps and percentage-based steps in `set-volume`. - wpctl now also prints link states. - wpctl can now `inspect` metadata objects without showing critical warnings. * Library - A new WpDBus API was added to maintain a single D-Bus connection among modules that need one. - WpCore now has a method to get the virtual machine type, if WirePlumber is running in a virtual machine. - WpSpaDevice now has a `wp_spa_device_new_managed_object_iterator()` method. - WpSpaJson now has a `wp_spa_json_to_string()` method that returns a newly allocated string with the correct size of the string token. - WpLink now has a `WP_LINK_FEATURE_ESTABLISHED` that allows the caller to wait until the link is in the PAUSED or ACTIVE state. This transparently now enables watching links for negotiation or allocation errors and failing gracefully instead of keeping dead link objects around. * Misc - The Lua subproject was bumped to version 5.4.4. - Rebase reduce-meson-required-version.patch- Update to version 0.4.10: * Changes - Add i18n support to be able to translate some user-visible strings. - wpctl now supports using @DEFAULT_{AUDIO_,VIDEO_,}{SINK,SOURCE}@ as ID, almost like pactl. Additionally, it supports a --pid flag for changing volume and mute state by specifying a process ID, applying the state to all nodes of a specific client process. - The Lua engine now supports loading Lua libraries. These can be placed either in the standard Lua libraries path or in the "lib" subdirectory of WirePlumber's "scripts" directory and can be loaded with ``require()`` - The Lua engine's sandbox has been relaxed to allow more functionality in scripts (the debug & coroutine libraries and some other previously disabled functions) - Lua scripts are now wrapped in special WpPlugin objects, allowing them to load asynchronously and declare when they have finished their loading - Add a new script that provides the same functionality as module-fallback-sink from PipeWire, but also takes endpoints into account and can be customised more easily. Disabled by default for now to avoid conflicts. * Policy - Add an optional experimental feature that allows filter-like streams (like echo-cancel or filter-node) to match the channel layout of the device they connect to, on both sides of the filter; that means that if, for instance, a sink has 6 channels and the echo-cancel's source stream is linked to that sink, then the virtual sink presented by echo-cancel will also be configured to the same 6 channels layout. This feature needs to be explicitly enabled in the configuration ("filter.forward-format") - filter-like streams (filter-chain and such) no longer follow the default sink when it changes, like in PulseAudio. * Fixes - The suspend-node script now also suspends nodes that go into the "error" state, allowing them to recover from errors without having to restart WirePlumber. - Fix a crash in mixer-api when setting volume with channelVolumes. - logind module now watches only for user state changes, avoiding errors when machined is not running. * Misc - The configuration files now have comments mentioning which options need to be disabled in order to run WirePlumber without D-Bus. - The configuration files now have properties to enable/disable the monitors and other sections, so that it is possible to disable them by dropping in a file that just sets the relevant property to false. - setlocale() is now called directly instead of relying on pw_init(). - WpSpaJson received some fixes and is now used internally to parse configuration files. - More applications were added to the bluetooth auto-switch applications whitelist. - Add a new wireplumber-lang package. - Drop patches already upstream: * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch - Rebase reduce-meson-required-version.patch- Add patch from upstream to fix no sound on reconnection of bluetooth device (glfo#pipewire/wireplumber#234): * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch- Add patch from upstream to set locale in apps now that pw_init doesn't call it by itself anymore in pipewire 0.3.49: * 0001-src-setlocale-in-main-for-tools-and-the-daemon.patch- Make the wireplumber-audio noarch as it just contains a lua config file.- Update to version 0.4.9: * Fixes: - restore-stream no longer crashes if properties for it are not present in the config (#190) - spa-json no longer crashes on non-x86 architectures - Fixed a potential crash in the bluetooth auto-switch module (#193) - Fixed a race condition that would cause Zoom desktop audio sharing to fail (#197) - Surround sound in some games is now exposed properly (pipewire#876) - Fixed a race condition that would cause the default source & sink to not be set at startup - policy-node now supports the 'target.object' key on streams and metadata - Multiple fixes in policy-node that make the logic in some cases behave more like PulseAudio (regarding nodes with the dont-reconnect property and regarding following the default source/sink) - Fixed a bug with parsing unquoted strings in spa-json * Misc: - The policy now supports configuring "persistent" device profiles. If a device is manually set to one of these profiles, then it will not be auto-switched to another profile automatically under any circumstances (#138, #204) - The device-activation module was re-written in lua - Brave, Edge, Vivaldi and Telegram were added in the bluetooth auto-switch applications list - ALSA nodes now use the PCM name to populate node.nick, which is useful at least on HDA cards using UCM, where all outputs (analog, hdmi, etc) are exposesd as nodes on a single profile - An icon name is now set on the properties of bluetooth devices - Drop patches already upstream: * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch * 0003-si-audio-adapter-relax-format-parsing.patch - Update split-config-file.py script- Add patch from upstream to fix a crash on tty switch (glfo#pipewire/wireplumber#193): * 0002-policy-bluetooth-fix-string.find-crash-with-nil-string.patch - Add patch from upstream to fix issues with PulseAudio support with PipeWire 0.3.48+ (glfo#pipewire/pipewire#2189): * 0003-si-audio-adapter-relax-format-parsing.patch - Some spec clean-up.- Add patch from upstream to fix va_list APIs for ppc64le and aarch64, where va_list is not a pointer (boo#1195818): * 0001-spa-json-fix-va_list-APIs-for-different-architectures.patch - Add patch from upstream to fix a crash if config.properties is nil: * 0001-restore-stream-do-not-crash-if-config_properties-is-nil.patch- Update to version 0.4.8: * Highlights: - Added bluetooth profile auto-switching support. Bluetooth headsets will now automatically switch to the HSP/HFP profile when making a call and go back to the A2DP profile after the call ends (#90) - Added an option (enabled by default) to auto-switch to echo-cancel virtual device nodes when the echo-cancel module is loaded in pipewire-pulse, if there is no other configured default node * Fixes: - Fixed a regression that prevented nodes from being selected as default when using the pro-audio profile (#163) - Fixed a regression that caused encoded audio streams to stall (#178) - Fixed restoring bluetooth device profiles * Library: - A new WpSpaJson API was added as a front-end to spa-json. This is also exposed to Lua, so that Lua scripts can natively parse and write data in the spa-json format * Misc: - wpctl can now list the configured default sources and sinks and has a new command that allows clearing those configured defaults, so that wireplumber goes back to choosing the default nodes based on node priorities - The restore-stream script now has its own configuration file in main.lua.d/40-stream-defaults.lua and has independent options for restoring properties and target nodes - The restore-stream script now supports rule-based configuration to disable restoring volume properties and/or target nodes for specific streams, useful for applications that misbehave when we restore those (see #169) - policy-endpoint now assigns the "Default" role to any stream that does not have a role, so that it can be linked to a pre-configured endpoint - The route-settings-api module was dropped in favor of dealing with json natively in Lua, now that the API exists - Drop patch which is already upstream: * 0001-default-nodes-handle-nodes-without-Routes.patch - Update split-config-file.py script- Use the default lua instead of hardcoding 5.3- Update to version 0.4.7: * Fixed a regression in 0.4.6 that caused the selection of the default audio sources and sinks to be delayed until some event, which effectively caused losing audio output in many circumstances (glfo#pipewire/wireplumber#148, glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151, glfo#pipewire/wireplumber#153) * Fixed a regression in 0.4.6 that caused the echo-cancellation pipewire module (and possibly others) to not work * A default sink or source is now not selected if there is no available route for it (glfo#pipewire/wireplumber#145) * Fixed an issue where some clients would wait for a bit while seeking (glfo#pipewire/wireplumber#146) * Fixed audio capture in the endpoints-based policy * Fixed an issue that would cause certain lua scripts to error out with older configuration files (glfo#pipewire/wireplumber#158) - Drop patches already included upstream: * 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch * 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch - Add patch from upstream to fix selection of Pro Audio nodes as default nodes: * 0001-default-nodes-handle-nodes-without-Routes.patch- Reformat .changes file to limit lines to 67 chars when possible.- Update to version 0.4.6: * Fix a lot of race condition bugs that would cause strange crashes or many log messages being printed when streaming clients would connect and disconnect very fast. * Improve the logic for selecting a default target device. * Fix switching to headphones when the wired headphones are plugged in. * Fix an issue where "udevadm trigger" would break wireplumber. * Fix an issue where switching profiles of a device could kill client nodes. * Fix briefly switching output to a secondary device when switching device profiles (#85) * Fix "wpctl status" showing default device selections when dealing with module-loopback virtual sinks and sources. * WirePlumber now ignores hidden files from the config directory. * Fix an interoperability issue with jackdbus. * Fix an issue where pulseaudio tcp clients would not have permissions to connect to PipeWire. * Fix a crash in the journald logger with NULL debug messages. * Enable real-time priority for the bluetooth nodes to run in RT. * Make the default stream volume configurable. * Scripts are now also looked up in $XDG_CONFIG_HOME/wireplumber/scripts * Update documentation on configuring WirePlumber and fixed some more documentation issues. * Add support for using strings as log level selectors in WIREPLUMBER_DEBUG. - Drop patches merged upstream: * 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch * 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch - Add patch from upstream to fix a pulse client hanging issue: * 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch - Add patch from upstream to fix an issue with libpipewire-module-echo-cancel: * 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch- Remove many build dependencies which aren't really needed- Use %autosetup, apply patches unconditionally - Hard depend on wireplumber-audio if pipewire-pulseaudio is installed- Supplements: (pipewire-pulseaudio and wireplumber) so everyone having those two packages already installed automatically get wireplumber-audio pulled in.- Quiet setup of sources, no need to see the package untared. - Disable tests for ppc64 for now like we do for i586.- Split the configuration to separate the audio initialization to a new wireplumber-audio subpackage. This way, if that package is not installed, pipewire doesn't open the audio devices, thus not entering a race-condition with pulseaudio but still allowing to manage v4l2 devices and sharing the screen in wayland, for example (boo#1188516).- Add patches from upstream to fix wireplumber breaking when udevadm trigger is run: * 0001-m-reserve-device-replace-the-hash-table-key-on-new-insert.patch - And another patch to fix an issue where there is only 1 sink available and the card profile is toggeled between pro and stereo: * 0002-policy-node-wait-for-nodes-when-we-become-unlinked.patch- Update to version 0.4.5: * Fixes: - Fixed a crash that could happen after a node linking error (glfo#pipewire/wireplumber#76) - Fixed a bug that would cause capture streams to link to monitor ports of loopback nodes instead of linking to their capture ports - Fixed a needless wait that would happen on applications using the pipewire ALSA plugin (glfo#pipewire/wireplumber#92) - Fixed an issue that would cause endless rescan loops in policy-node and could potentially also cause other strange behaviors in case pavucontrol or another monitoring utility was open while the policy was rescanning (glfo#pipewire/wireplumber#77) - Fixed the endpoints-based policy that broke in recent versions and improved its codebase to share more code and be more in-line with policy-node - The semicolon character is now escaped properly in state files (glfo#pipewire/wireplumber#82) - When a player requests encoded audio passthrough, the policy now prefers linking to a device that supports that instead of trying to link to the default device and potentially failing (glfo#pipewire/wireplumber#75) - Miscellaneous robustness fixes in policy-node * API: - Added WpFactory, a binding for pw_factory proxies. This allows object managers to query factories that are loaded in the pipewire daemon - The file-monitor-api plugin can now watch files for changes in addition to directories - Remove patches already included by upstream: * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch * 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch * 0001-add-missing-break-in-best-route-selection-logic.patch- Add patch from upstream to fix a problem saving the default route: * 0001-add-missing-break-in-best-route-selection-logic.patch - Add patch to let wireplumber build in Leap 15.3/SLE-15-SP3 which only have meson 0.54: * reduce-meson-required-version.patch- Add %post/%pre/... sections to enable the user service automatically- Add patch from upstream to fix selection of capture ports instead of monitor ports: * 0002-policy-node-enforce-the-direction-of-the-target-when-linking-by-node-name.patch- Add patch from upstream to fix a crash when there's a link error (glfo#pipewire/wireplumber#76): * 0001-si-standard-link-fix-crash-after-returning-a-link-error.patch- Update to version 0.4.4: * Highlights: - Implemented linking nodes in passthrough mode, which enables encoded iec958 / dsd audio passthrough - Streams are now sent an error if it was not possible to link them to a target (#63) - When linking nodes where at least one of them has an unpositioned channel layout, the other one is not reconfigured to match the channel layout; it is instead linked with a best effort port matching logic - Output route switches automatically to the latest one that has become available (#69) - Policy now respects the 'node.exclusive' and 'node.passive' properties - Many other minor policy fixes for a smoother desktop usage experience * API: - Fixed an issue with the LocalModule() constructor not accepting nil as well as the properties table properly - Added WpClient.send_error(), WpSpaPod.fixate() and - WpSpaPod.filter() (both in C and Lua) * Misc: - Bumped meson version requirement to 0.56 to be able to use meson.project_{source,build}_root() and ease integration with pipewire's build system as a subproject - wireplumber.service is now an alias to pipewire-session-manager.service - Loading the logind module no longer fails if it was not found on the system; there is only a message printed in the output - The logind module can now be compiled with elogind (#71) - Improvements in wp-uninstalled.sh, mostly to ease its integration with pipewire's build system when wireplumber is build as a subproject - The format of audio nodes is now selected using the same algorithm as in media-session - Fixed a nasty segfault that appeared in 0.4.3 due to a typo (#72) - Fixed a re-entrancy issue in the wplua runtime (#73) - Update to version 0.4.3: * Fixes: - Implemented logind integration to start the bluez monitor only on the WirePlumber instance that is running on the active seat; this fixes a bunch of startup warnings and the disappearance of HSP/HFP nodes after login (#54) - WirePlumber is now launched with GIO_USE_VFS=local to avoid strange D-Bus interference when the user session is restarted, which previously resulted in WirePlumber being terminated with SIGTERM and never recovering (#48) - WirePlumber now survives a restart of the D-Bus service, reconnecting to the bus and reclaiming the bus services that it needs (#55) - Implemented route-settings metadata, which fixes storing volume for the "System Sounds" in GNOME (#51) - Monitor sources can now be selected as the default source (#60) - Refactored some policy logic to allow linking to monitors; the policy now also respects "stream.capture.sink" property of streams which declares that the stream wants to be linked to a monitor (#66) - Policy now cleans up 'target.node' metadata so that streams get to follow the default source/sink again after the default was changed to match the stream's currently configured target (#65) - Fixed configuring virtual sources (#57) - Device monitors now do not crash if a SPA plugin is missing; instead, they print a warning to help users identify what they need to install (!214) - Fixed certain "proxy activation failed" warnings (#44) - iec958 codec configuration is now saved and restored properly (!228) - Fixed some logging issues with the latest version of pipewire (!227, !232) - Policy now respects the "node.link-group" property, which fixes issues with filter-chain and other virtual sources & sinks (#47) - Access policy now grants full permissions to flatpak "Manager" apps (#59) * Policy: - Added support for 'no-dsp' mode, which allows streaming audio using the format of the device instead of the standard float 32-bit planar format (!225) * Library: - WpImplMetadata is now implemented using pw_impl_metadata instead of using its own implementation (#52) - Added support for custom object property IDs in WpSpaPod (#53) * Misc: - Added a script to load the libcamera monitor (!231) - Added option to disable building unit tests (!209) - WirePlumber will now fail to start with a warning if pipewire-media-session is also running in the system (#56) - The bluez monitor configuration was updated to match the latest one in pipewire-media-session (!224) - Update to version 0.4.2: * Highlights: - Requires PipeWire 0.3.32 or later at runtime - Configuration files are now installed in $PREFIX/share/wireplumber, along with scripts, following the paradigm of PipeWire - State files are now stored in $XDG_STATE_HOME instead of $XDG_CONFIG_HOME - Added new file-monitor-api module, which allows Lua scripts to watch the filesystem for changes, using inotify - Added monitor for MIDI devices - Added a system-lua-version meson option that allows distributors to choose which Lua version to build against (auto, 5.3 or 5.4) - wpipc has been removed and split out to a separate project, https://git.automotivelinux.org/src/pipewire-ic-ipc/ * Library: - A new WpImplModule class has been added; this allows loading a PipeWire module in the WirePlumber process space, keeping a handle that can be used to unload that module later. This is useful for loading filters, network sources/sinks, etc... - State files can now store keys that contain certain GKeyFile-reserved characters, such as [, ], = and space; this fixes storing stream volume state for streams using PipeWire's ALSA compatibility PCM plugin - WpProperties now uses a boxed WpPropertiesItem type in its iterators so that these iterators can be used with g-i bindings - Added API to lookup configuration and script files from multiple places in the filesystem * Lua: - A LocalModule API has been added to reflect the functionality offered by WpImplModule in C - The Node API now has a complete set of methods to reflect the methods of WpNode - Added Port.get_direction() - Added not-equals to the possible constraint verbs - Debug.dump_table now sorts keys before printing the table * Misc: - Tests no longer accidentally create files in $HOME; all transient files that are used for testing are now created in the build directory, except for sockets which are created in /tmp due to the 108-character limitation in socket paths - Tests that require optional SPA plugins are now skipped if those SPA plugins are not installed - Added a nice summary output at the end of meson configuration - Documented the Lua ObjectManager / Interest / Constraint APIs - Fixed some memory leaks- Remove the Conflicts: pipewire-session-manager. There's no problem in having both installed at the same time, they just can't run at the same time.- Add `Provides: pipewire-session-manager` so wireplumber is recognized as a pipewire session manager implementation. - Add `Conflicts: pipewire-session-manager` so no other session manager is installed at the same time.- Update to version 0.4.1: * Highlights: + WirePlumber now supports Lua 5.4. You may compile it either with Lua 5.3 or 5.4, without any changes in behavior. The internal Lua subproject has also been upgraded to Lua 5.4, so any builds with -Dsystem-lua=false will use Lua 5.4 by default * Fixes: + Fixed filtering of pw_metadata objects, which broke with PipeWire 0.3.31 + Fixed a potential livelock condition in si-audio-adapter/endpoint where the code would wait forever for a node's ports to appear in the graph + Fixed granting access to camera device nodes in flatpak clients connecting through the camera portal + Fixed a lot of issues found by the coverity static analyzer + Fixed certain race conditions in the wpipc library + Fixed compilation with GCC older than v8.1 * Scripts: + Added a policy script that matches nodes to specific devices based on the "media.role" of the nodes and the "device.intended-roles" of the devices * Build system: + Bumped GLib requirement to 2.62, as the code was already using 2.62 API + Added support for building WirePlumber as a PipeWire subproject + Doxygen version requirement has been relaxed to accept v1.8 + The CI now also verifies that the build works on Ubuntu 20.04 LTS and tries multiple builds with different build options- Update to version 0.4.0: * release 0.4.0 * create-item: handle all kinds of Audio/Video & Stream nodes * si-standard-link: treat endpoints as devices when linking stream<->endpoint * config: document the duck.level policy property * scripts: change debug level for some messages * lua: improve the object:activate() callback to report errors * wplua: add a wplua_checkclosure() helper function * Revert "tests: enable G_SLICE=debug-blocks in all tests" * meson: add '--keep-debuginfo=yes' to the valgrind command line * pipewire-object: change params-changed signal to take a string param name * tests: enable G_SLICE=debug-blocks in all tests * meson: use environment() objects to define env for tests * meson: add a test setup to run tests under valgrind * daemon/wpexec: standardize exit codes based on sysexits.h * daemon: replace the exit_message with direct message printouts * wpexec: force the log level to be at least 1 and use fprintf() for local errors * daemon: exit with 0 both in case of a signal and in case of disconnection * tests: si-standard-link: remove unneeded core syncs * tests: common: make sure no events are pending before destroying core * lib: add struct paddings to be able to maintain ABI compatibility * docs: set breathe_default_members to get struct members to show up in the docs * docs: remove :project: annotations for breathe * pw-object-mixin: ignore set param on already destroyed objects * proxy: destroy pw_proxy if bind_error is called * restore-stream: implement storing/restoring of target.node metadata * lua: implement metadata:set() * lua: fix refcounting of metadata iterator * wplua: fix memleak when converting GVariant to Lua * m-default-nodes-api: free default nodes when disabling plugin * m-default-nodes: free default nodes when disabling plugin * global-proxy: fix leak when getting global properties * spa-pod: check if pod is valid before _parser_can_collect * lua: remove hack around WpObjectInterest since we can _ref() it now * object-interest: remove unused _copy() method * default-routes: use a constraint to check if device.name is present * default-routes: fix storing dev_info * scripts: initial restore-stream implementation * object-manager: small doc fix * object-manager: support declaring interest on all properties of globals * object-interest: enrich _matches_full() to be able to check all constraints * si-adapter: handle autoconnect property * si-adapter: handle dont-remix streams * tests: store temporary WpState files in the build directory * state: remove support for groups and propagate save errors * state: don't stat() before creating the dir or removing the state file * policy: don't crash if some node properties are not set * pipewire-object: fix memory leaks when getting properties * m-default-profiles: finalize parent when plugin is destroyed * si-adapter: take ownership of format argument * endpoint: free media_class when disposing WpImplEndpoint * pipewire-object: take ownership of param argument * monitors: sanitize device names like media-session does * object: advance pending transitions if activation fails * modules: remove the old m-default-routes * m-device-activation: don't set device routes * default-routes: re-implement the default-routes module in lua * docs: Write gtk-doc comments for constant variables * docs: include wp.h in gir sources * docs: Add brief descriptions to all functions * policy: destroy node if defined target was not found and reconnect is false * global-proxy: make sure registry is valid before requesting destroy * lua: don't crash if an iterator is NULL * lua: allow the Log api to debug boxed objects (useful for pods) * lua: fix PipewireObject api: s/set_params/set_param/ and cleanup * lua: add WpState bindings * object: use weakref when advancing current transition * object: use destroy notify to keep self alive while advancing transitions * docs: make progress on lua api documentation * policy-{node,endpoint-client}: do not crash if media.class is nil * meson: add reference to bugfix * config: disable role-based endpoints in the default configuration * tests: si-audio-adapter: test is.device property * m-si-standard-link: fix number of links check * tests: si-standard-link: fix racy test * meson: force the gir target to depend on wp-gtkdoc.h * docs: tidy up most documents and try to update the information in them * docs: use the default sidebar color to make the version easier to read * docs: show version number on the sidebar * release 0.3.96 * Makefile: use wp-uninstalled.sh to implement the run target * gitignore: remove obsolete entry * editorconfig: remove obsolete entry and add python script rules * LICENSE: update copyright years * docs: convert NEWS to rst and add it in the generated docs * docs: update installing-wireplumber page * ci: bump distribution tag date to the actual branch merge day * gir: fix generate_gir() * docs: convert lua api docs to pure rst * docs: fix gobject-introspection data generation * ci: update fdo template, fedora image and dependencies for docs * docs: improve the home page and toc; use README.rst as a base; add badges * docs: fix C API documentation to work nicely with doxygen & sphinx * docs: meson: rebuild docs when Doxyfile.in changes * docs: setup sphinx to use the graphviz extension * docs: improve the visual appearence of the generated html and cleanup * docs: reorganize .rst files and add tables of contents for the APIs * meson: refactor docs + gi build system * docs: build gobject introspection from xml files generated by Doxygen * ci: replace hotdoc with Doxygen, Sphinx and Breathe tools * docs: Add Lua API documentation * docs: api: Replace hotdoc specific commands with Doxygen specific commands * docs: Replace hotdoc with Doxygen & Sphinx to generate documentation * pipewire-object-mixin: fix memleak in GList * policy-endpoint-device: wait until previous links are activated * m-si-standard-link: remove unused manage.lifetime configuration property * tests: enable si-standard-link test and port it to new API * wplua: ref closure before invalidating it * wpctl: fix iterator cleanup * endpoint: remove wp_endpoint_create_link() * scripts: remove static-sessions * wp: remove WpSession and WpEndpointLink * policy: don't link endpoints on startup * m-default-nodes: check if node is valid before returning bound id * policy: reevaluate all linkables if one linkable was removed * m-default-routes: log error message when failed to get current routes * m-default-profile: log error message when failed to get current profile * m-mixer-api: make sure the enum param iterator is valid * pipewire-object-mixin: make sure enum params task is only triggered once * modules: steal the format_task before returning it * systemd: Add conflicts with pipewire-media-session * proxy: don't accept NULL pw_proxy in set_pw_proxy API * m-device-activation: use sync API to enum available profiles * m-default-routes: use sync API to enum available routes * m-default-profile: use sync API to enum available profiles * global-proxy: delay object creation until bound feature is requested * alsa-monitor: activate BOUND feature in JACK device * tests: proxy: add a test for enum_params errors * proxy: relax proxy error warning messages * pw-object-mixin: watch for proxy errors during enum_params * proxy: add a "bind" watch, to watch for proxy errors while binding/exporting * proxy: add error signal * policy: fix removing of item links when linkable is removed * tests: spa-pod: fix int64 constant to work on all architectures * global-proxy: destroy the global when proxy is destroyed * global-proxy: inherit from WpProxy when declaring class * spa-pod: respect the SPA size for long and int APIs * si-standard-link: configure the format in WpSiAdapters before linking * modules: implement WpSiAdapter in si-audio-adapter and si-audio-endpoint * si-interfaces: add WpSiAdapter interface to set and get session item fortmat * session-item: add _get_property API * si-audio-adapter: remove unneeded 'preferred.n.channels' property * si-standard-link: make sure create_links creates at least 1 link * modules: remove role and priority properties from si-audio-adapter and si-node * si-interfaces: rename WpSiPortInfo to WpSiLinkable * scripts: cleaned and improved policy scripts * create-item.lua: always enable monitor ports by default * modules: remove 'monitor' port context from si-audio-adapter and si-node * release 0.3.95 * meson: depend on pipewire 0.3.26 * config: bluez: update to match media-session's bluez-monitor.conf * lua: rename Plugin() to Plugin.find() * session-item: remove undefined API * wp: remove WpSessionBin * wp: rename debug.{h,c} to log.{h,c} * config: disable ipc module by default and move it to the main instance * wpipc: place sockets in the same runtime directory as pipewire * m-ipc: cleanup server using g_clear_pointer() for consistency and safety * wpipc: remove socket files after shutdown of the server * meson: generate and install pkg-config file for wpipc * meson: find threads_dep early and also use it in the wpipc-client * wpipc: use proper api & so versions * meson: replace join_paths() with operator / * meson: remove audiofade pipewire branch check * meson: make wpipc optional and disabled by default * policy-node: accept node names or paths in a stream's node.target property * policy-endpoint-client-links.lua: consider 'suspend.playback' metadata * modules: add ipc module * lib: add wpipc library * config: unify config and config-split * systemd: add templated systemd unit files * policy-endpoint: implement volume ducking * m-mixer-api: track monitorVolumes and allow modifying them * access: add a more generic "default" access policy script * config: add an example of split-instance configuration * Add a wp-uninstalled.sh script for easily running programs uninstalled * lua: remove the ability to specify spa_libs in the lua config * daemon: init export core in the daemon and share it with modules * lua: change the "wireplumber.interactive" property to "wireplumber.daemon" * daemon: Use a pipewire-style config file to load initial configuration * core: use log.level from the pw_context * log: factor out the log level configuration into wp_log_level_set() * audio-endpoint: configure adapter for null sink with monitor.channel-volumes * impl-node: implement WpPipewireObject * device: debug and enhance spa device event handling * config: policy: improve the endpoints & roles example config * policy-endpoint-client: remove handling of move & follow and endpoint priorities * meson: bump version to 0.3.70 * m-mixer-api: allow calling the action signals even when the plugin is not enabled * m-default-nodes-api: remove reduntant call to g_clear_object * wplua: store closures only with a weak reference * examples: add example script to get the default sink's volume * scripts: add policy for links between clients and endpoints * lua: add WpObject get_active/supported_features() bindings * lua: add g_get_real/monotonic_time() bindings * si-audio-endpoint: give better descriptions to endpoints and their null sinks * static-endpoints: avoid capturing session item reference in the activate closure * policy: export endpoints, do not export endpoint links * wpctl: handle endpoints nicely and enable volume controls on them * tools: split wireplumber script execution mode to a separate wpexec tool * tools: move under the 'src' directory * src: scripts: rename policy-endpoint.lua to policy-endpoint-client.lua * m-audio-endpoint: remove target property * static-endpoints.lua: don't export endpoints, only activate them * m-mixer-api: add configurable support for the cubic volume scale * wpctl: use mixer & default-nodes API modules * m-mixer-api: also add channel-independent volume for ease of use * wpctl: remove obsolete default node/endpoint key macros * m-mixer-api: fix getting volume info from nodes that don't have volumeBase & step * lua: add a Debug.dump_table() utility function * m-default-nodes-api: load all information before declaring the plugin as "enabled" * lua: add a Core.require_api() utility function * modules: add module-mixer-api * src: config: do not create endpoints by default * src: scripts: add policy-endpoint.lua script * policy-node.lua: do not handle items with media role if endpoints exist * policy-node.lua: clean up findTarget function * src: scripts: add static-endpoints.lua script * modules: remove unneeded si-audio-convert module * src: config: rename session-item support to default-policy * create-item.lua: only create items for client and device nodes * policy-item.lua: only handle si-audio-adapter and si-nodes links * src: scripts: remove unneeded policy-endpoint.lua * m-lua-scripting: add object manager get_n_objects API * si-audio-endpoint: deactivate node when disabling active feature * m-si-audio-endpoint: fix port configuration and target linking * m-si-audio-endpoint: make target property optional * tests: si-standard-link: sync core before finishing * si-standard-link: call parent class finalize once finalized * m-si-standard-link: properly set in item port context when configuring * policy-node.lua: fix param name typo when finding target * policy-node: properly remove links between apps and capture devices * endpoint: remove useless pw_proxy_destroyed handlers * registry: fix issues with dangling WpGlobal objects causing assertion failures * modules: use dots instead of dashes for session item properties * wpctl: status: print nodes, ports, links grouped more nicely * registry: fix odd assertion failures that occured from time to time * policy-node.lua: support config.move and config.follow * m-si-audio-adapter: abort activation if node feature ports is no longer enabled * m-si-standard-link: make sure in/out items are valid before activating * wpctl: fix setting default nodes * m-default-nodes: restore configured values on the metadata at startup * policy-node: use default-nodes-api plugin * modules: add new module-default-nodes-api * m-default-nodes: move common code to a new header * m-default-nodes: add properties to control storage method and interval * modules: rename default-metadata to default-nodes and enable it always in the config * m-default-metadata: remove default endpoints, follow upstream logic * policy-node.lua: fix type mismatch when comparing session item Ids * lua: s/Feature.Object.ALL/Features.ALL/ * bluez config: update based on the latest media-session config * m-default-metadata: add support for default audio nodes * wpctl: list nodes and allow setting default nodes * modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter * tests: si-standard-link: use new si-audio-endpoint * modules: add si-audio-endpoint session item * src: scripts: add policy-node.lua to link port info session items * src: config: rename endpoint-support to session-item-support * modules: remove si-monitor module * src: scripts: add create-item.lua and remove create-endpoint.lua * m-si-standard-link: set out-item-id and in-item-id properties * session-item: add id property * m-si-audio-adapter: ensure ports are available before enabling active * m-lua-scripting: add get_associated_proxy session item Lua API * si-interfaces: make WpSiLink work with WpSiPortInfo instead of WpSiEndpoint * si-interfaces: rename WpSiEndpointAcquisition to WpSiAcquisition * m-si-standard-link: use a weak reference for in and out endpoints * m-si-standard-link: fix in-endpoint check when configuring * wplua: sort properties after transfering them from lua * properties: add wp_properties_sort() * monitor-alsa: add api.alsa.card.* properties on nodes * bluez5: autoconnect bluetooth stream nodes * object: deactivate only the features that were previously active * bluez5: use api.bluez5.connection-info * m-si-convert: rename to si-audio-convert * m-si-adapter: rename to si-audio-adapter * tests: session-item: add registration test * object-interest: add support for session item properties * session-item: add _register and _remove API * session-item: refactor and inherit from WpObject * session-bin: remove unused wp_session_bin_new API * lib: make WpImplEndpoint and WpImplEndpointLink public * m-si-adapter: rename algorithms to audio-utils * m-si-monitor-endpoint: rename to si-monitor * m-si-simple-node-endpoint: rename to si-node * lib: remove WpEndpointStream API * wp_init: set PIPEWIRE_DEBUG * spa-device: do not assert if the activation transition fails * m-default-routes: return if default routes for a device are not found * m-default-routes: relax some warning logs to debug * m-lua-script: add object_deactivate API * m-lua-script: add closure for object_activate API * object: add wp_object_activate_closure API * ci: use 'disabled' instead of 'false' when configuring pipewire * m-lua-scripting: add WpSessionBin add API * lib: remove WpConfiguration * lib: documentation fixes * lua/api: add Link() constructor * module-default-routes: store/restore route properties * module-device-activation: apply default route on each new device * modules: add module-default-routes for storing/restoring routes * lua/api: default Constraint type always to pw-global * object-interest: remove type checks * lua/api: simplify & improve session_item_configure * lua/api: make the type optional when declaring Interest as a function argument * lua/api: improve getting optional Interest arguments- Update to version 0.3.60+git.20210301.6c2bfea: * scripts: policy-endpoints: add move and follow options * m-lua-scripting: add get_n_streams endpoint API * m-lua-scripting: add lookup session API * examples: add bt-profile-switch example * lua/pod: don't crash on parsing objects with unknown keys, just ignore them- Update to version 0.3.60+git.20210225.9f50117: * lib: remove module.{c,h} * meson: fix glib version requirement checks * systemd: use the older version of the systemd pkgconfig variables * systemd: remove RuntimeDirectory from the system service * daemon: add systemd unit files * m-lua-scripting/pod: retrieve Ids in Array & Choice as strings, if possible * m-lua-scripting/pod: s/id_type/object_id/ as commented on !125 * m-lua-scripting: add support for choices when creating object pods * m-lua-scripting: refactor array and choice pod constructors to accept Id names * m-lua-scripting: allow constructing pod Ids with the Id name * m-lua-scripting: set id_type field when parsing pod objects * m-lua-scripting: set pod_type and value_type fieds when parsing non-primitive pods * m-lua-scripting: start indices from 1 when parsing pods * test-endpoint: fix failure with pipewire master * config: split flatpak access configuration * scripts/access: update access scripts to call update_permissions() cleanly * lua/api: fix client update_permissions() * examples: interactive.lua: add a shebang and update running instructions * lua: enable loading scripts with a shebang * lua/api: log using a debug category unique for the calling script file * lua/api: ensure the function name in the debug output is non-null * monitor-alsa: fix node description on strange embedded devices * suspend-node: honor "session.suspend-timeout-seconds" * monitors: sanitize node descriptions too * wplua: table_to_properties: use luaL_tolstring to do string conversions * config: bluez-monitor: add hfp_hf in the supported roles comment * m-lua-scripting: add WpPipewireObject api * config: move loading of all audio support modules in 90-enable-audio-all * config: split configuration for endpoints support in config.lua.d * monitors: drop the monitor- prefix from the filenames and s/bluez5/bluez/ * config: make the monitor properties & rules available in global tables * config: load reserve-device only if alsa.reserve is true * monitor-bluez: fix source priority assignment * monitors: sanitize node names to match media-session's behavior * wplua: gvariant_to_lua: convert dictionary keys to integers if possible * monitor-alsa: sync logic, properties and configuration with media-session * wplua: improve GVariant array conversion * wplua: improve gvariant <-> lua conversion functions * wplua: remove VARDICT handling in gvariant->lua conversion * config: mimick media-session's v4l2-monitor.conf * monitor-v4l2: copy properties and rules logic from media-session * config: immitate media-session's bluez-monitor.conf * monitor-bluez: copy all properties and the rules functionality from media-session * lua/config: load split config files in alphanumeric order * tests/lua: test monitor configuration rules code * lua/api: add wp_object_interest_matches() binding * object-interest: allow matching against WpProperties objects * scripts: add portal access script * scripts: add flatpak access lua script * wplua: handle more GVariant cases * m-lua-scripting: add WpClient LUA api * Revert "meson: relax meson version dependency when building with system lua" * meson: relax meson version dependency when building with system lua * lua/pod: optimize push_primitive_values() * tests/wplua: set WIREPLUMBER_CONFIG_DIR to an invalid directory * lua/pod: simplify spa_pod_object_new() * lua/pod: optimize lookups in primitive_lua_type and fix some mistakes * lua/pod: lookup the object type and values table only once when constructing objects * lua/pod: convert Id object fields to strings, if possible * rename all foo_iterate APIs to foo_new_iterator * m-lua-scripting/pod: push pod constructors using luaL_newlib instead of manually * modules: remove m-node-suspension * m-lua-scripting/api: fix om:lookup() to return nil when no object was found * scripts: add suspend-node.lua to replace m-node-suspension * wplua: fix enum <-> lua conversion * create-endpoint.lua: fix some issues * create-endpoint.lua: fix indentation * node: change send_command() to take a string * tests: wplua: add pod.lua script to validate pod API * tests: wplua: add a script tester to validate lua scripts * m-lua-scripting: add WpSpaPod api * wplua: fix vtables lookup in boxed __index function * examples: add an example interactive lua script * m-lua-scripting/api: add wp_object_manager_iterate_filtered() * proxy: add a method to query the interface type * daemon: add a mode to execute lua scripts from the command line * m-lua-scripting/api: add WpCore bindings * m-lua-scripting/api: fix access to core in session_item_new() * meson: bump version * meson: remove C++ support, there's no C++ code anymore * monitor-alsa: simplify reserve-device connection logic * monitor-alsa: receive script configuration from config.lua * scripts: add static-sessions.lua * m-lua-scripting/api: add WpImplSession bindings * m-lua-scripting: pass component arguments to scripts * wplua: pass SANDBOX_CONFIG as a script argument * wplua: allow exchanging arguments and results with scripts * m-lua-scripting: use wplua_table_to_asv() instead of custom function * wplua: add GVariant dictionary conversion functions * wptoml: remove, it's not used anymore * daemon: refactor * m-lua-scripting: fixes * wp: add wp_get_data_dir() * src: move scripts to their own directory, install in $prefix/share/ * object-interest: add a NOT_EQUALS verb * m-lua-scripting: allow queuing-in scripts without the plugin being activated * m-lua-scripting: refactor as a WpComponentLoader * wplua: allow loading relative paths from wplua_load_path() * wplua: add g_autoptr support to lua_State * wplua: add flags to modify the sandbox behavior * wp: export functions to get the module & config dirs * lib: introduce WpComponentLoader and remove WpModule * plugin: inherit from WpObject * modules: remove modules that are obsoleted by the lua scripts * modules: actually delete module-dbus-reservation.c * monitor-alsa: add device reservation logic * spa-device: add an "object-removed" signal * lua: add wp_plugin_find binding * modules: delete the old dbus-reservation module * modules: implement a new reserve-device module * plugin: add a method to find plugins easily * conf: create-endpoint.lua: make sure endpoints always have a valid name * conf: create-endpoint.lua: use node id as key in session_items table * meson: add 'system-lua' project option to toggle the bundled lua * conf: disable legacy endpoint creation module and replace it with lua script * m-lua-scripting: add session item lua API * session-item: add export API with closure * session-item: add activate API with closure * docs: update daemon/running.md * m-lua-scripting: fix reference count in object manager's lookup API * object-interest: add _ref and _unref APIs * config: enable lua scripts, disable legacy modules * lua: fix some nasty memory leaks * meson: require pipewire 0.3.20 * spa-device: handle DeviceEvent and configure node props * m-lua-scripting: do stop the lua engine on deactivate() * main: drop WpConfiguration reference early * plugin: debug activation & deactivation * wplua: object: unset GValues used when calling action signals * config: add lua-based device monitors * m-lua-scripting: add bindings required for device monitors * impl-node: derive from WpProxy * spa-device: derive from WpProxy and manage child objects internally * m-default-metadata: handle default nodes * config: rename desktop profile to desktop-ep * spa-pod: add the ability to specify Id properties as strings * spa-type: refactor * m-lua-scripting: handle default endpoints from the metadata * m-config-policy: handle default endpoints from the metadata * modules: replace session-settings with default-metadata * wpctl: implement set-default using the metadata API * meson: fix lua dependency on Arch Linux * metadata: refactor API to quickly find a specific value * state: use GKeyFile API to keep state in disk * wp: remove initialization of wireplumber types * session: remove default-endpoint-changed signal * spa-type: fix param profile's last Id * config: implement the functionality of config-policy in Lua * m-lua-scripting: expose session, endpoint, endpoint-link APIs * wplua: expose table to/from properties conversion functions * object, pw-obj-mixin: fix warnings * config: disable audio sink "streams"; they fail on latest pipewire * Fix compiler warnings that appear with the warning flags enabled * meson: enable compiler flags for warnings, if supported * modules: implement module-lua-scripting * wplua: use only the basename of the files for debug/error messages * wplua: use the error handler also when loading chunks * wplua: implement __tostring for GObject * wplua: use the registry to store vtables & closures * wplua: remove TypeClass, push constructors as ClassName_new * wplua: allow checking for a specific GType with isobject/isboxed * configuration: convert file paths from relative to absolute if necessary * configuration: implement grouping files in subdirectories * wplua: add proper GError domain & error codes * wplua: implement sandboxing of scripts * wplua: convert WpProperties to table and vice versa * wplua: new simple engine to integrate GObject with Lua * meson: add dependency on lua 5.3 * tools: port wpctl to the new APIs * tests: endpoint: re-enable the params unit test * lib: delete WpProps * pw-object-mixin: refactor, implement param caching and features for impl objects * iterator: add version field in the methods struct * meson: bump project & API versions * spa-pod: make the wrap functions public, remove private.h and sort out the rest * private: further cleanup of private.h, sort out header includes * session-item: move wp_session_item_set_parent() to the public header * defs: add a new WP_PRIVATE_API function annotation * iterator: make private stuff public, cleanup private.h further * lib: move WpImplEndpoint* header parts to private/impl-endpoint.h * m-metadata: add callback for wp_object_activate() * src: port daemon to the new APIs * modules: port modules and their tests to the new proxy APIs * object-manager: recursively store requested features on children * impl-endpoint{,-stream}: disable FEATURE_PROPS temporarily * tests: fix library unit tests * lib: refactor WpProxy * lib: add new proxy-interfaces: interfaces for the refactored WpProxy class * lib/private: move the registry & global APIs to a separate header * lib: add new WpObject base class- Disable testrun for 32bit arches, upstream do not care for them, so we can not expect fixed tests any time soon.- Update to version 0.3.0+37: * m-endpoint-creation: remove undefined API * m-endpoint-creation: remove unnused variable in Bluez5 endpoint creation * m-device-activation: use profile from default-profile module if loaded * modules: add module to store device profiles each time they change * lib: add new WpState API to save and load data from files * m-monitor: add use-acp flag * modules: refactor dbus reservation * plugin: add name property * wpctl: add set-profile option * transition: stop and return error if cancelled by the GCancellable- Update to version 0.3.0+27: * device: set parent type to GObject in WpSpaDevice structure- Update to version 0.3.0+26: * m-endpoint-creation: add bluez5 endpoint creation for bluetooth devices * m-config-endpoint: refactor and rename to endpoint-creation * modules: add bluez5 endpoint session item * modules: add fake stream session item * m-si-adapter: use the adapter's name as stream name * m-si-adapter: set the configured flag when configuration was successful * m-config-policy: set the stream name to the media role propery by default- Update to version 0.3.0+19: * Implement PW_TYPE_INTERFACE_Metadata * metadata: fix more coding style issues * metadata: improve implementation * metadata: remove WP_METADATA_FEATURES_STANDARD and fix copyright years * module-metadata: s/settings/plugin/ * modules: rename metadata module to just 'module-metadata' * tests: fix permissions check failure with latest pipewire * tests: implement a WpMetadata unit test - Drop use-system-cpptoml.patch: fixed upstream.- Initial version of wireplumber 0.3.0/bin/sh/bin/sh/bin/sh/bin/shs390zp34 1677595171  !"#$%&'()*+,/0123456789:;<=>?@ABCDEFGHIJKLMNOPQ0.4.13-150500.1.20.4.13-150500.1.2  wireplumberwpctlwpexecwireplumber.servicewireplumber@.servicewireplumber-0.4libwireplumber-module-default-nodes-api.solibwireplumber-module-default-nodes.solibwireplumber-module-default-profile.solibwireplumber-module-file-monitor-api.solibwireplumber-module-logind.solibwireplumber-module-lua-scripting.solibwireplumber-module-metadata.solibwireplumber-module-mixer-api.solibwireplumber-module-portal-permissionstore.solibwireplumber-module-reserve-device.solibwireplumber-module-si-audio-adapter.solibwireplumber-module-si-audio-endpoint.solibwireplumber-module-si-node.solibwireplumber-module-si-standard-link.sowireplumberbluetooth.confbluetooth.lua.d00-functions.lua30-bluez-monitor.lua50-bluez-config.lua90-enable-all.luacommon00-functions.luamain.confmain.lua.d00-functions.lua20-default-access.lua30-alsa-monitor.lua30-libcamera-monitor.lua30-v4l2-monitor.lua40-device-defaults.lua40-stream-defaults.lua50-alsa-config.lua50-default-access-config.lua50-libcamera-config.lua50-v4l2-config.lua90-0-enable-metadata.lua90-1-default-access-policy.lua90-2-2-enable-v4l2.lua90-3-track-user-choices-devices.lua90-4-track-user-choices-streams.lua90-5-link-nodes-by-roles.lua90-6-suspend-idle-nodes.luapolicy.confpolicy.lua.d00-functions.lua10-default-policy.lua50-endpoints-config.lua90-enable-all.luascriptsaccessaccess-default.luaaccess-portal.luacreate-item.luafallback-sink.luaintended-roles.luamonitorsalsa-midi.luaalsa.luabluez.lualibcamera.luav4l2.luapolicy-bluetooth.luapolicy-device-profile.luapolicy-device-routes.luapolicy-endpoint-client-links.luapolicy-endpoint-client.luapolicy-endpoint-device.luapolicy-node.luarestore-stream.luastatic-endpoints.luasuspend-node.luawireplumber.conf/usr/bin//usr/lib/systemd/user//usr/lib64//usr/lib64/wireplumber-0.4//usr/share//usr/share/wireplumber//usr/share/wireplumber/bluetooth.lua.d//usr/share/wireplumber/common//usr/share/wireplumber/main.lua.d//usr/share/wireplumber/policy.lua.d//usr/share/wireplumber/scripts//usr/share/wireplumber/scripts/access//usr/share/wireplumber/scripts/monitors/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP5:GA/standard/9ab8e181f349bd7757aeb5892c95016f-wireplumbercpioxz5s390x-suse-linux ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=b065dc9e3fd6eeca70ba2ab986ddc16d56281f95, for GNU/Linux 3.2.0, strippedELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=a58176fb8dcbe59a57094d1c02bfd009f4b25395, for GNU/Linux 3.2.0, strippedELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=716bd973b32d80392e51039951e1369903a8ab66, for GNU/Linux 3.2.0, strippedASCII textdirectoryELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ee7cd89bed0b274bbcba163b0c191c1e9bce0d32, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c504fed29d903099768826b81e846c1398ef20b3, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=0286bb71e78a77a839870133f1a64e9b0a54bd84, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=53348d8bdafae22f30290ea1f0597a27104ccc84, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=82eb56bc4d35d28b4f9b6111b4fe0a2d1538ae71, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=15ff9b27281a45ace49990412af6ab316d4e86c6, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=0a008a8eba793c4c832dc4b4ca643f4eb9e57319, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=aa96d49fceec9c623f73194e85bbde794f7bfe06, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=45c7e2f178820b96e1d98b91cee94863321ddd1b, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e3bf401a091a1439abc1e630eeac324e8f402b41, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=bd4188fa24b90238a670a31e4941dac359c738c7, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=870aa89041ad45edf01eb46b8dd9d0f81a47193b, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=efc846198571e0a5d18fb96ccebf83434eeda227, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3e97a6a4e8c9747b26280b837f342170214de059, strippedASCII text, with no line terminatorsUTF-8 Unicode text !(0:CJS[cmu}   RRRR R RRRRRR R RRRRR R RPRRRR R RPRRRR R RPRRRR R RPRRRR R R RPRRRRR R R RRPRRRR R R R RPRRRR R RPRRRRR R RRPRRRR R R RP RRRR R R RP R RRRRR R R RP R RRRR R RP R RRRR R RP R RRRR R R$*ۭ?systemdsystemdutf-8a3488d130b0464669b34e3d9c80bcca2220f095dc120f8d2f84aae66a51a52ae?P7zXZ !t/&] crv9w"K eȲ hqB`, o6QkGQIhHa//}\LY0fΜU~`;Keb:oG""3 hOL;urq4 >U} ѓ'Tbo}mNdLIcAQح6Ί #W]δv*qֶ.}|_7;WpU{(&{,n_l3[gò2QR֓m-Y!/OD)"dBLZI)/JoKFUcLS?/37tD_de0?ws }"}#aZ~P]çuJ>4Ѧ4@{׏*Pk8c |F;"kNJ| j}.)~[)p[Qvڥ},Cv= Rzp@b{=**o#@i`\DT\|[@8jJLNjIh snLz;`M?dD\L)!kfz;;u0{/!lC|S,\mk<94BhWգZgnt~M6=O1)qHFLsÀܸk.;À[�dD);H  ^GM!u}62;} ~RIJ\(Y_̺d_?#kH1Kq<lT4޺m mM^g7oE&2RͯGNr,?±0!#L!i\q$(OX:)Bg )C*_kuxlgxtk>*eW?c#/ZJ6sT'7lVLDmS>1:@TLvϦɺD!HY PӼؐwz, eTV̯N\st"!tU1`@KzR.Ny5-m%P|6sDzEh /6^,-Au[SH+XUp/z0 *?7#{0;GhZ#X#߯sv(A`|l k0,Vt%,WIvyI^S-DGA8z;&% [T0i@wXmY͑D!_t-IJv,:+3ߨ$U.)=Ё7}g[.W??+N4`N-j/eLK|ó_|:ıDѩjK,5[b촤I4;IYgR徃wz>P[qWhTP&p1$'(wB@&?IG먻 U _}D#ԑT[ppJ`RE./4V7hX)BY!+hBt Ȇ>,HVMO% !!Mf]=pU?u*R "`k9Z0@@^RF _ SLMOM* $&#mH+͆hDȯPYx9E 0׌wuv R'(1sDe3uxV_: ا-~  (:ZIWqII}'ySyJZ E0ˏs(STpY:W͑hìd@mj_Te&q)@w" HU7i].N2$[~ڄ>| "ZpTWx> pS!̻pwjW-3_NbEGX DPa! sG?(V:EjKD] YV8Noid4b@Y̮;«| ,#ϝ$~Άƃa0X%1lbytJҫ{rrW-+>; &$Uث_*2Ű][&(t+,|; .=Uj ݹ+$m|rfCUN:{BFs<"O}L>Xgv^9by c K :6(=MEQ^`=T?XP5/@ Bo \T| {e*)KnT[azr8ץ4Ar*(ws_^JPӎHMf*;YM=B|X21O(3%uvj}\?jJ,*'9ā=%󠂁@ȳi##95Ij$;,p,OL:yգ„B? _KXi4ґLBOsOJ(&3̠Dr>`&)IBTj.[9>9EJGPOJvkE"@#;MgfN j{0@  MX<$(وׇc2h5yRe%fr-| 4L꘸8L]\`̟fMR^`:aR<)KeoOi-;*MS!aWD iC#_xޡXƛqϗ; A  KJ$Fu'Q'b,bQv [*ܘ<+_rL-7*aG@ޟ,H撉20^%G>|a&]w%2pM\K; Ъ{ D܆CIZ6eֱ>>Jg1f 8ܾbdJYYY|M8Xa&2s օ㆏v)A **S]7ʳ+JW=:I|֔rR J/wc*KDP&K v6tƼx?E?7Kn+L}cE?Q駒:C JyXC?Wcy\\755!hrczv48yTK!h(VgRTi>4Uݘ#nfٲ>lQx?i(Jbť^"N<9v&YB̫e꽓uT\}tu;" хPk 笼m#CԊ()[, SOR0ED& 1G5?4{+8rfI6:_, t ^·bMbAjz(KԥN#x@6'BAqbX:Ys#}.I ^(e[ɼybN$,>J7gUljMs Vp"A|F$@m}e?x|Jt<ޥ]|SY Q/X"Z] QXgw&G+<yR|#=s%D6MA14.@D 0I#*Y#ׄ칪i6_% PͿkb+ѱA(=К.kGQPxT ɼѼ4[EOo6rѰo^ S|b76mUhWϦQ p&D.Y/(> MFIޔ'sLT 0#Ci2Db޲M:դb|s׽}T PQo.NigntfJVòKߐ@G5r<v5@>Fu4Sy)s?.ά*9X;4ъb)j])C܋(d.v#CQ^'ٰ^Bsct-jdPEȇfyJN+կRUlg:FBrn_ϜБf8C4% z9|ld:V̧˲݋Ę+X),J 6bQЋ"w߃=RTyQ8]JlN}0WTtL2"=iCt Z֗Ja2]`0C4J໥ hˋpx0NXqv~/IES2.ty hǼA/ve ChQr'j?V7"18 0x&ocE-2NےpM7d7f4jj%.Fɚ*pw6BVr `LıTs@B;}rtw.M8|N(5M#~k)ԣ j+%?uGAw2ws&8U |j%=JOڠ< o0-i|r_hvO̐;\Wuo ->A,>KRJ?tTLeۺL9):sGǺo[$K`Ʒ3n U|/㻩mZg;&(WGT'liSϺlV9lUUA"|&CA~{^Zrّ3;OOLIz{.+ շ%u5sIQl-Ҁ]m(i>XGcra+һCK]?R.=E7rr F?`JhV.x gU@JIU؏Vg_Tsqs87r}1TKTw|PIn]{e83g r`?wVQ+&;WH*:mW!?\,3gp4*oy&}YT50M&m!R,+H Z~JgX 5{6fgl\:GZbb. 7M\YfNy=wvrV9\;[{c@Ϣ2$&?ܓ'19pƿUA.pJ| !tr(c+0 g!X]4U:fHZˈ<]G(#G(ӆY>ք!ԫkQLc Bmb>JXoaKK.w Mt]j Ԕ\0y}ߑhvy.%*KMQ[;]70|A.?|ء][2M~0 _{Me1m/~,Mig@R=gh>Vorl g\yՀp[N6zм^YHGYaP,r.e){VAŴ@(IΕH .+CxjiO)[Y&5׼4|C,ǝI/Y~,|GYF\6(tpؖ"쳦=l ,oJF[oz ==X2l8!]vCޑ&c(P1fjaa۝mf!2'եfl*F0ѨHȬpzYfy՟P<^4!Zᬤ]ҞU}+ -Ɔ7Ʈj 'SH!JICDK&5 1r=!{e XOWz $y(7n9Jd}t}5g~ͤ{, sW6~D]FnU<ܠ Dk#q%U2Wb_oLJ'BڢRM"Q| ɖD'a9VvNޕჽv1+[S#[', D}R2Lt`zc﹭ݵɤ<+7AQvLJ50{F^|#,g :$4V[@_I>UpMC\H1}#Ik8,j);i! Wgˈ~oެh&.?GfR\R23,$jF,>6ճ\RMS)V$|v(mL!`Qu!Lk%_*-3sUd<6jG *_l#=:\_ӏ k8S`$Ӱti` .tPm-C|j#MmzEyznf*:bEiY+S#eAcٶKVH@d+AJVA9W&$7(Ws ('0~$t`0g7Ix_G\\by[!;lL\Fy02F^.~i-Aاy1WlJ&[HDK"%շZJe(Yp?!??IL%l>ىu]UZT+Fc@m)St+N,|I'D]ل=Cs\t *yHX4¸F-!\n.tޟ.&R瓳\n W!ʗ8.ڿٟ{!=}Y:E*qe{}KV%P`x驰jԀ|4Z/źg6[V?is :|,Q2+1\8#%LjH[ϋ_ߖ+fH`R :T|V :v1Ev#俽y$f5{i܁[倝 t;tZ]i<+.}*jWY1ak_ExklMzTao!{S$Op2d+ihrô|EOC, vW3\.b-W~|(?)Fk:Rh͜79a[h%l7P{y;읭@f$#AM;cy rMBiTKg„m9d"'aP~xY+ޯ4,Lcm)_A-4(_E-Y$iCNѱ~ɽ wU'3Dh xD.bÖf|ןƝ4Ƴ!+r z*&I/.% $}zHhA84P%'߆$(x@P'`v kCg/*ԭe 4ԏ`uiq (a!Z-osv-1͆Qsfh,6z1;|npHSླ-Á9b\J$ڔj֏I ہ@!_Q35e(ΪC 8#a,gU$f3gh: Ǧ=e7CVBAfMo >/SVz@xPNCOɚzz#ȱ )/>=^"\ EY7DDΊ΃bSŊ+EpYl}Ќ`˪#vzIQbm)}XX\~ @ayz"=EAJkf&c6W&UGM6:Ǽ|sb(t/ BN91*a޵zW JF=kf~Бz5e 7@:!KAat'gF{q 8د^?Seڲ E{}u7c>}=>- YP k7d,2S.Iaz[%H J÷{Yvꦢb_ڑ$v%e>up%Q$! ,0TbK|BAH3EuOUyGH21}i#^6|;?֏7>Fv8薃Hݳ9QnIɿr94%uVn}kp$ZfKegM"\NjC+5Bs+q3J.!C2?5(#%h&zmMeK(. YM;Z%*φ a"J򽛚lêІW.w_2XE煞jPXGB I s 3o?]Й{Ϯ 1t|rx`B& kNTAm 7 ǿ DkuIh|xn^౼2ӊY6*xg~qӝ'R<evIŐ\RYf3'cTgs6N/nPl;HЄןܔm8Z&]v.bO?n CEtfj/i ^a2"\3 ;:I$Q'[;]tuxs0_葉LaF5(z-[}=wsUHW2wޗY7zJscD R_G3hT͉'j8@m {ND>zD(W)i~H),LǻnJ(>"]FjYB2 ǃy'+4&/mX GMD=iAF?vo򭵑t)j3*QL~z0/kX0eNO70* ?n؉70o"Zxx7K5y" D(+_)m,~uLhȡ<0B],%#-:w ;!^j-gAEX"M5v;\K׆"KfÂG*:mw]M.)q)V݃IP(h?)K #a0]W[v` qpQAEmgK{g\q[*.VȿUx<6op1UC|_jl kK1~{Bn9g, !zչ3 %Jt&-AIq([. *d>Aœ&h<3̡v/is(06:Kuϥc]r}Mat&%2px/y>QG=j^d-A52@줟8Dht߾f@7OFԞgAt[XQ ^MtϲuZ=z^\[ aֹH./;n;Nޮ.ma`Ɋ[X>ucN?2 J̏#jGMѭTx8l[M*HR:pC]̧bթf&^h,֚iP) "?[OVx0)]i(uoV|,̕\c3MT. !,d#'z-Y17-|њtP6׀oB%`ztm7%}"%V:ڎ,-w~*Ѝx {kC.@GJZ_JƠ<#rz!-FS7  iW{*dˮJ^A|;mscb<' ϼ5tJql {S8`II^ѴJ=PbjD|+>tB[,QF䬘*'dwP~uAu₂F3: cU/2 #p >z swk-Eg_ɗ3fT(,ѽirIƋ1&Ngyb/~a |m8V0 :.2 0Lip4UŒ"ڹ;\=vf' ky-kG}mK%7]7SsEɪcJ{*d|ȨOn =Cir! Y+Ia( 84"}'lI2yH+L5>#Ct L;ﱏhh^26< Am,H[T8eo_$'9ҵEt !ˤj m,9}I,w+2&]nIꋿu~R- Fl<)}x|ߞsέ3EowϹnnXKT{^A@yĘ_ a)E/lR@愑PMV]/k\iZnC@(XIF;GG*T{2?+ ѳؤ7Hj;d<65ZظTWSe{vk Z<-2Bߩ8}Ў@SO g1%+;|tq).PJNG =*WNŎWtV8?GJ$ꂧ0U|SE|?բޡ4VfO2ƙ%a +&B9}~YLǹ/^Կ4zY+!BsU%E1n4Z=4CɪՑhtH mI5缯SoS$AzO#W%FI42/{_UbvU{4 q}nή͓Fk&5m߇ F'%FV f+))%MtĎ'Xu QAΒuo5vV+:W5ٿS HCB9Aec7QӬƴ&\\X_=?hV^+< eA)Y*ds2c/ mY0Q?`/W4 UxVŭ%>6.j*J~L;/r3f*w1KozL~䘊X(A^U [wugMO{گA 0{!T&[1rm%h=Nkn9 I?FG+;GdDR쮦va7Ϋ@HNm|1~1׷hVHD[y@m-;+Tb/eILݙVw$>g01R~ #Sڶj./2a^SU {e M-yM <='ݤ5H$wǴCG0g1nx9 (& m뀓fgHuD;^W>f(Z{xS-y)=3̹bŘ@ULY X`X41t?Ljc6y* }|E36_`e%Fw?kz>K Y>=9ӜD iy`2N6,(I|qpPH&_(Rb×4d5˗;H4߶gѫضÑ P_r0TO=Q(^[#EviL aPhQgS(i'YPxԬWR0J-EcPog}6tfnL#Ƚ =,,qєWTհPA9;& _$DYY*l*q꽁͸v[P.&Q o;I'/y!N KArNIx[LnCtMKI/ ko̎V)/ip> UmMxhQεC0yzg]IO1T-D2KU˪"B$ Z>2w6( }#Y k.6(5LXXYLo/-3 "V='>b׋~W7 wT7\!'RlIM:=OޞiXTOT+e۴)NȷOØ CaMO\T[ԉ$h)tVNb'mņ.Eئ!kY}߀/<\^jwmAHKdI`n) `_ @oCKHp/Y=f$q|Em2)dv 4Vz$|㹌l?q[jTۅRkD Oڣ[mK1%$Al 0$QnLy aKE'ջpC/!sd!,z/~u]3_29wryYe"޸(W[=>3q 2r7Peʝ+*o q B1E! @o%>\QJY  ZՔע cSp>S|!+xR# ,=D8ޒt֩ټr--X]p>PD9N'F3HJ5fIO^`bM6:x MU61*othaj_n#Z|.5>^/Pjyd]rVijpIy匿r"s_˪0q .r?|ٓo5U| 2Gv+gƦFŋuWt"cG/yMKn|y4AT֋c;b=̋j<~Ov/Pז?rHǤ7fx~5WMēJH E!}nkO.5RRqx,GrlӮkh2f~2`5 V6nA :8?W)dOIE$=_Z{ީ?04)j`ek?]O:XCEa.pt1ГX؃T)\7|LFɟsK۔5t2YЪCԳ?yk@"BH8>atGhDW.Uܑ]kfKsDXCG%%yQ'ֻ3'` lI_p"h`,98_~H䏠pZ^o=Xf5R, 8Hec'LOS(k7T.v ]ub?Qɹ#j`Ͻ5rr@VmI?11S6GA3s2궂?3LJ" 7+ߍSr" H:4QWZu;ʀ49F"zr4Ӻہy9'lZ4$>c`/kV6w5z;Q:vZk7O{J$YېSUH=b@A=O/^gbUL{m/!2Rd_:0%{}&_CjH.DEy9{vjTn0V~nB*N_z[7..~v̹Մ]] :!#<\Mڻ++fx"T$ i@X1NJ Nz*8Z-I0=j0ZaR,IX#$qW-j1[ax/ئCRWrl:93+$r% ׂ7ƹ [y')o;dJ@ɑ[R)Sŝ^>36@?ShWoʐB6 E⯋%E2s T69C(qw|yTj_j?b}cAbKsMqr/8Lʨe*3UDYdyaHJoj3WT'bӃLO,s–\ᮌΔL:9|5>7T_~k[ZMtڳn ,=2[Ox6/mvH}#poʸ'y03q9œF}CNbPTkLӗa%YQM?$Nm*`PʖHk-92AYE4ώi{4LjH*Ӵ605}+n8<#kFo&6erۺД%dCχ-2:-g~Ǭ$=摄ْg Ṫ% ͓"nGdeoNdQO4N44wÏ¥=pVoc0:H)gnaEqIQӘ tu 75uh7n/(/Ww#Llt$UU@W5?N6@gqRzkA{Vh1:DB Psb!LY؈s6x,<ʠz++tcJspYd/ oeLkqvi []HK bSb6*Y4 `a ~:Ǒ6wE(Q ڙ) >oSn+1eA &|:7@^'Ol-D[$-%^pP178Ny„I\]T4Ak Y3;p}?wd|IeyK;*Q>F*Xvǣ`V3l,-H&nOE}5ȊX 㦁\(&[9& 4VoDt֦4ƨ51#_r3`uς_2>j:9/69.;1ą #Dl("޿B@/Ң[4I3đ8'uZW LJ}~Tx2F+>!",1hUc^Rnf[?Z*eusE7݇3|Hf ɘƔaY }Gْ*|'$-:~nc4()AZ1EG.\eI~P^6 6N ˑVQ _1Ijĺ~++@SD0b H؀Ȇ@O 9&dT^ڥcq6(2ߗ}A\]ݖ}b)Q1}ɪmxZuk~5jxGJ{)T1;[l= 橳a|/i#SW:ĒW6 {ˢZ $mO9׬[ r*:FPWc"onTxs"Q\9𳹊Ȯyۏ!ɖ|抖r6ZɃhtCEE|MF*f'F)Xm,-~h5̒Grܗc8ϲKDZ".B)A9ZN)3wKU>:ZjD迃)hr{::9tX78n8 tYlB}u Q8|\CڬD/5JiXC 84h܅泶$ nTe mzzD}O$Kiэ.6 lXԷnhw-Ԟy n7MJ F cRzdϻŧjL @Y.6摓xN(8I #(ݞHw4f~ivJ wHdC7Y=g =N㬓"Q%rC/N8Vr fL"G K\&iGn|6,m^}nǠڲW+z@jxȥ@莰Vsr-B.AR[`og߅*L2Rߝ=~O%_:f QMs#YD|U:9Yz6aVKco CClɂY΢xk>E =R>iRJV%K0Re0F77)m= ->HЧ 9JZUm[EޚcVbҳS8 oZAz4i ȏ : {)% J=0KIIθ =<- 4kt/lSY8G})PRإ~M3~rFw({kѥn; ]qt`V/oIF<;>\vYǮq@yNaoh Z PX $dEA?oa|q ü!Y"P}~Zī-@ݾ@Ne+S02!j3f@vE a`='26X&ҏxʬ>(4z spRcm1S³L7u›0koFKz=Ga034Cs,RG4uQ2;w\W]:&*KszIp,9`=u/l7PlZp8ki{bsMu jnt #H:G#m\v4y"` 5Оb:THpDB')5fnX*:ѽs:1 8X&Rn30铜&CrlIlѯfv;hjBIifU4N{ɪzq sق%b4kbFNDũHpr(.6x~4 *=5(dSAJ!4j?' vlL7Y t- Q[cCcU%B:~kr^,L]vQZTvײQL7nZjEi☕`|Ò:Zt{.ZϐA @(hQZ:KvR0I*ု#^{HMN4y^|Q.ҘE<0ϰe=i)i٭MlIs) pE:˷D"-rT-P =f^ë¶]3ozƝ3TQ1*}X&錶_QT,pdDɓ՛`O6Ӛ)}z;S#JY5$^m\m!ZRH\6x3gln >ꩲ=:Qj-w'f{;ޠ0dR@:U &V&MQ^v/sTp= ޲v W+em ua2z1ܧ|51ӂ$j+1㦥 M){`CuZ*$y7xʒod -LcULU@o)gz{flAז-lU ѷ%Y!3i[؛ !o]' wJ(>ϼ[ĉ:sPaX#J)ПS7n;X6crY^5wgʉ)dȳFCCV,|c̹=ޗ;iKsS-9ͨDB8M NV> @Qgyv ?::VKMA]̶F1lFo_VFYJ+vLaA9+P5)=qxz>E'*j% ]~D(&sm(i~ڬ?, ލ﮽++x-ϔ Fp, j~eQ~웃q%3 aˣ. K4G_>VVK9}N! jRpKRr> 8x;NH^F^At"(ֈ!um$MtH{D_y!=(EW3LN# o~:#JkӝHtimaCiwA"lqXOM;+Sfi4%Á;Rk^a>&az~ѬI/xikiIy1H^/,X"/mJw>JZv ORfC#QZ޸85oҼw :Z43C+Uס_d1=eA-‡*R qaEJ!)K7(V8Up'pҷkݭ{ 6~"[!: W3:Kb-po~l$?Rwqۘ愇 g:&P;5NkÏp6݇hF==$l e4H㼼TD` (ˍ^}]ؼ*%{jM)m"Y {\RβZA~bNqHnpSFhSSV+$R#`;ۭN耣Lm9w=8egOx3sX5 (A-ECNou]472gQl{47J* `+Ihr5ŭp1qdpTp̃=#E-Lt8 _L!ALq~b籚h3 yekn%m>a@s? GͶaFbX!˝H5(³_a|n\o^5uϺZTc*h]^0},=UWWk$ /TwA*,2!AA*m.Ug? Ȭy?_Ш؄8V4[GݕSa ;qܜ_tj1PKRм;v[ZRSgXVI\㧵"'mkXR9|xcPqc7ұz`ԉ=pK ;-q0JC1kvfM B!ENMxjgHʸ3ո5BkMܨZY~{j;!}UfZ^+S+!_N~|Ty R3L(a=Y&4 ?Yf#>fvY-˪4}&7XZ{Ċlzb\Ye4=|HG)x$]O[rOPd'*,N,͏,qB#ubn |Lxk(+oq?zbNT0n\ٶa mt3$" pN&N'NY|! JrvBqJw\% BnJ5@w>hJ8 ȅQ0ĐY‚`A~ 5W3i0<\8PwxHt ҍ̀m^#D[vW}q-(}Uv̮s(#xo\*_ D2v`ʣr\.ۆK$|=6:DDF7辱yQ[k$6E^*%1`fo~`0iJf.~9 ))uxc),!G'gɕ^|5A_R ~Yrha @*T|_?UyG:@n4N2MnX Ғ%eV4)D0$w/h O*x.0hd1Tp5f$Pl`0a s8-iv`,svk&4SYӭ4V3W<ÑS5Ȅ%AOpM C V s%7֫ۏ,#~5VM pн~)``Jb;(|Fӂy- 2*Nu  [*qJ9p֌ W4+kGC ߧkeal[6 +zX'G(l_Z1iT Is*!c c^<'͸ԖJ߽*Pf/Y.N9F{<JR1w'fc TI l6vC𵌻͑,chEڥƟKOЬknW[ksq`px{9:SVdߚMwQ,%LhVf±znN1E4pS`RO@ ܻuJЙI$&ЄLJ{k!SS&weL8Xc`~&\W?ˣd`2H+ZDv൦GcU<~vWV/wEW3;.4`7X )74b磦oR xFq@ PbhC1ꠓDN6<#!w L7vk _C|h6P~+7b4] l[ Z{d*pMM߯9,mlkT9 K0Һ%^!/y]cSs~Ai񚕡3͝hBV7pTQ@)ۣmķR(fN8_eQg Gꍚ驣%CE@m.6_>);&K0B5i!K]SO62VqRh⥋c3 =GK$[>]@bz5l^[E+p%a\վ'y8QHJDEb#luW8pns)&\v8Mc]'wvr>X%3^r11BРIHDpQh VS­w+y@]YFhqɰ\bR4l&d=*0e26>;qU{k[V.Lb B%ݳstFŨdgvb[J09ί15ZxT펱^4[ ּb0*ľ&755 ̈́C,chBqxyy/1'nc#)*;iC$gI )9Ň˃}Mk!%GtnTbں#_j'>P0n̘n]o^qwcg,얶==rzaNv_;*l刲7ok_>Y̤+'=!2ȲL, Fo;y>QW)j)gE;wq1}3z &ZzSl؀o61Nc>ivXq* -n"L:O?g6}:qJĶIB{uS,Oмv |_MJ*j }r^^@0*3N*m6<&QX@ΐy.#[Poq횂< LuD#VB`B2i 8ͮÐĬڕ']:-]1,}lõyf}aEև]V<8r^m ϛpt7qZ|ڦZMRUe@S\|_q+0vEC9ODҳzYO[- Ӈ}&9 DZ)N&BJŁO0΍ >% >pK)l-HS$kGJ i tk|˧x-$>~ dhifǟ D 61XM gihnJEJ}-hѪC^nU9J0ڠ<_aղ:5]Z{a')6W=sJ/pT;ގR*(#>Z̓ˬZd7ǸψJ(J yP\ ԳP?AS"9* 2]rDGX4\M0 .˵Z5 k);sh_۱myQOD[_Kb}1ff.vLw5|ZEF`#j4}CStW:ҏ*@zYĕ+Ȑ!9:XabR7ObMKvB)e逊Y7?uɒ%#ɶ> —FS/4_cPS"*g幖+1zS5v2pcVgپIAa(18Woq6J<5[t陚0nߩP;@٫.!1eAMzgR^SfOߝǮ7ɐl=]dFZV:`RN=gm`$P+|ږw@wt_17Azw6. F!cnהΣ%XB>ա Q)]}xFSkIZT7f##~L格#"l11hK jLutFu-mk!|d`;;z z$`Cxi呌6}սjBqp L:_+d';uq뿫I1(mhƐO;@ZD3,|`+x.DjhQc³S~ tVU=X|O+'􃱟4!'l}cZ7fRJ| A3}]G)^ֈQ2e06*@W%vۄ9$ԨLL.=轒e–{J"۵[B}A+CJCN.z`q>ZxvYͰ%Uق8̔jL(e,h@4+3y³0ggN>9dMQakӝS*ZxRP<} ˥Q٥%"r0e0;a;HRTOeZͳUFYrJiɱle/YzP>R3PzغNVVjNƠ)vˢl+RCa sT-y]=а(*!_Q(>Mr1h|`FX?B=s0_bAǗK;nC((K\3( eK;yv y0. hv>nӥl a' q;7Yfe(Ki8/V^P^bBFZ+/0"{ PKrP"5bs!Y 3? :@ -zBi!S" +jbJA'(R*-I7ዅ?70A|ur,]w+)pNF5kV-%QSXHPw;`E(Fb:8 "QamGSZZvݽ`Cuٕ~N%LuO31Ĝ)?QLTɓi.NdCa t_QT.D%KءfA}{pE<*x^P tlit鬙?rz6R.I5]'@t{@r~^Xg`q/""i]=/V@;.NJI)fe0QA)1 u! Bfqc0"B]xvkS18Fs̥M"!ؠ"U + 󨎮8`"$u-y>BC196Vd>61U(k*HN1{=Iΐ2}/W*.Efo/L~\Y {. >#}@sγW1] ` ;) > Ԋ&@'ޖ`W r1^MaϨF 8e6 xSF/U%[MuBjk7D}ʾZy ĚLٕGj[?e3N(ٱ*ЎҰ{^J:҄ ^;̠SO9 XQ+*|l~)t -h@ٚ{Zw8*@*XЁz}|i4ڸ&_ü.J}0 ܇\3G^Zc_1{GyJ7ۤcg;P7%&8HN'U4Wn1Xs3lz8CoKYG f̜\غ Kh~uB{]|6EI$ -Crř3bĴ N`sWp O ,{WYCW+FWó! Ǽ`nT96۽8sBaGIBZld]a/{3bM~E}=3GJ2"!9_ɩk^Hw 5 sXl$T٢V(d.~Je)=Un~Uʠ8/:ۂ:le$Ie2Ad:pXdh~ZJW&LmOŕ|mb4r;m璠=PX^jt:b|rr vh@zC‘m» )xeEOY+ <ҜÑe1۶( ֫TNW<-:1^4&?4=G3Uas>rZhf{c(B-O(xm 1޹?ձXu3km> "CחL .* 'vජщ e?o#R W܍3j\lw.Ɲo7'u7 L`q8&."d"Hs9^}ˋ:7ecn"уmuG>8"fBݪw3NcLdpl~_SNs1o k֗g䮍Zs|_zev1g*۠!񸠅PڊE|Lx'~_%- 2SQgWs(U7q8E >[_AzYcxihbvVbimCKBm4@cFGӯZr@(TGe:{${!F96%iIy{?ZTXԆix9!W=A~e,Rob#d֤_H Waߦogwcs:cs,C: gӟ;X%2W38m è4MiiVDL}17l;)q.P=зBuUBj6Cyi07/3J:1do|d`џ7@'vsw%C2f7jT]k Z&O;O B-שo51P%d .+`] `Fk3^8'5oǴy/4v'A{B$S+>0 ]p*UT":$|8ḡ<T7[HƢNTŠ n;mk66 ?6GahK e 0"\0󾦛=n="Ѽ N Vk䪜Z*XL)aSGF1qi6tԎH5=3`xY"(}D~ܧDUp ۈ4i-( >wf#Z.pz(\&KeGHASѝЯU6~ a7!aL+&+6773b|`3ឹ48M*>) ?9iw_Mps0#3Z/uq쯪<#'zaAB=l6s{ˆ[,WCNx퉴Ov۶W?܅s.b9 Ӣ%.K>uCTjې{/6pGTHIX Xf?ǯs^;uTX(T0"]iq|ݫ}jǠ+E[ŨjF}$8v(pi@@$¢;0?]W zRpٝ<j֘Dj֜Gkܡ`yi')r-.4fGc8g^p KR\Wv?(k|R/"eԮ7I:} `=SV8D[9D(#F%1i@TkG ܞ ,=BvX)lvnOQ+mdeu0 >ČM -7=6"s#xws<~  1wL8q~ Z\'Љ6[m*Şa)ktg)H|Ndy&6As+- H%Feuec0>_ZfӔc8-ֈ31U&bS;YZUa)#BrBqٔ.8+!-Ĕ'Zt迍^MXGkb䃺)e 5Q|HHg(qN@|TɧOkJW0!$8FL ep;{'pBmY MGO-%3+ywNj$+TnK8JwH¥S3 '|5k6'fꯝ@{TNb]K6)ҹ]\+IDž=ӂ:Tqݛ)xYݪyX(բ2o:}SRD #u(3ȡ{ =2,%Cܓ!5CF)f ;E}pjfsd[>fKCΧ.PbOMtg'~N3em!hiJZ;1$r9aD5x]+Zα`^(>H,;c)_JTϡj))a7|v˥ּJEO[qUMUһ_jo_K|k5肟Yw2e AF&}r*+~`όۣ]} I#4]@ҋfK 4CLڏD&ɉj4]{7FW0.ecC?P JŁU`!i(ɣ4\y2L1f4-;>@; 3x5FSҽQ.i5.O{:,7IӯDP$P 87ÌbrOP+ 'C>D\2e]nێ"nL U8G`tcC#Sl~h[%ɥ|dOGNmXuX,?e8[LR^i~ HUVsjXb(pJ&QBTpJ} iۅn V@M>N焌v18ʁ̼q;.=f@`/VsNQhS[`κi%KmB}ACُXQ|5^ xN|e0ag_ླྀafW9aS XV{y3ޠ\t:!=#o܎ŗ@B:2 H*_RX^'eǟȤiAG ]Θ5c4xbճ꼧~_5")57kb=2bpSe9~@O[%2Z*"-U -ɣd sb [e0+Oڣ F"҅d}w2|*YA]mNU$/u"7|5BW._2[-pr:+tӁX/%e-ecȗǻE/KKenΧ`pIuh ~88[\õq-φ\9`h49hp=5-S "U^ZvEzHTQoMSƨq_D 7F*R9sii͌A"<ٴ7b|FL͋ ?^ei)49P X 'euIK0sw_f~Y pBjckA@Uxc!M )oV}@GxG@6Gk>)s}obxM lp3&9}b2LuC)(A&Ȟp~,!Mwse yծd[DIL.5 w q&V ހk<[q&ho* 5j>H~Fc&iQZƣFN:OGEJ.wrzski 3>q$>%Ϗ0%r3 dno0n`-y6ې1\/Ї/ɒW#SFfRЂq"4:2R*v{c= @ fA"SA $Fko lۙlK`4y{T`B#`^anQ-%z/eicd. e@Y1o|r5w^,6_Ui!?b'4a-s-},^F"~.7Q>+3>v`bQtR=+5y'+Y:Y74$8Ԋx2N.7ƘU a.FpyYk5$aT SJ GM*x>FYHaL@-Qo &,=PELÈH8IYvPk.XIxԋ+{wRʊ-783T~vN lhedb6I%vOYۤښ#c݁}ҧp<_7^:^Rq0QyW;E _뙼Myfع:lG;$oБt|I+E/o]\׺x>7Wz7hE4 5u,>n͹yvuν*FB8ڳTԤޥvCdCEȄ/\gyٸޕiSLqfu)P8z}fdўWP>+*T:AyViu&<(àJ9Qe'K&9N0wxKW=ra`J94k׬@Z-=[J Ҳa97qq~1TlI4 {E du]Gd@rRU$7;4묫y*o02U @eac{&b[j<]ϤhVv=؂y ^< .nH[K\݄u*v)*weߗ4 ~<0|yb6z'#nA? t> 8š%zu-\Q'IDn5oSpuRnӿ9NlX(Ls@]Wu,5]l e^ ؞tϓk7qpӘE5@r58vK,J0'x)1ٰ\w\,:+0j<+G8s*[[$`L=Nu?j:XrRih]|6#BEG5Ɥh#G5, .<}u$vb=ˈ}ٸbk] 3Olz @jG]T/hɵPN\g ߖ>le#^#GU<% Tl_m:1ν&7C᭝΄bi$Zi`(#\8MrMSlYD``sT+3Ө)-]mA`mx y^b pzZ2ܓI`珪1ߚ̰C%QUv\SS!b`ܜt V#yjb x?5BbJXV0*Xfۯc\ I[R zK8=3s|z뼃nm ǘc&:8cUƝfG"='e3s?]hl{nCΛߵU<;RM*8!um +i9Ⱦvm$n.[VR:D4a-sՅ,&mf7ubb(iym(u㐁@Ei0_]yI֚D.٧Oi Gģ>WZE8\ Uy #kSf› ,Wx4Kf^Oh-tSщr٪2@_JHp / cV0EeiC+=rL+ R@º吿U sek H7ROth|:e;_n=E/2K '$mI\hJ$)޵X;a4! U5CF5 @Tai)@`ӸgZQ$Iqmy#&&ת"P *t_O]i,$rhs?ٱq%>?[t-L`ovbL6 # =q|x$N 8^K!:4&fZ$O{[ ,gJ˴%s;Ỳr?뢽Z++9C2y*aOBGu&ޝM-QQTe|oU >JH=d=X)) ycЌC>@(znd.auJcoU6U€Ag;=ZC NDYFd6M9"LSovq)tW*K dO?zѓ \'t2ֈ*"PYƝ:9Z>Bxț&b_q X0zZSKsxfu \ ~츖PsȽEM_rB 'H@c)mOj/lߋ/BS汢yq"|u?PѺ\͛j[\p`z%H"G.Q3ŭB-Q >{Gp_fK1©^놁 R5%(%sW|hC\yVZqK+&";}|-M8h:bj4,hXox 'u@g%OZ[ݣx!iG_Ҥ [O/eH)|ZWXN]35T핸؞C5kՊX~]K)J饵:I,IR [){yDU<|;ϥ'lS3izH+<;ǯs,|kdHF3UNvgUGYwvYtǹ||>iowlS?Ũ'y ($%!OC􌩢/yoZCBRNC7ɐ6ho(-[ћ=xHuT;ӰKn2V-޺9čn+:޽U>sNN<\5Eqq( o} ʙ,ߙnAC=d:yN4|F7n>D!u8\^^MD>o ifs:Kjv@[e L\^Q9uʡFBHvX>]*.6 ElR˂v6h y9KغyN:ă)[4$#_؛o}IeXqjt}9}L}P-+{܂u/0Z钆R&?#a_iJg9bWؤ/fTXg]Xc$$.2epōHcUg& T'IQzYXˊ + k}DgEq)l)X A ^M4 Owٷ`aUmb^Ј̎T#j0Uԁ ԋvb[nyF$D ÏY5JlVUG˥_]o_t(G7k/6>wyz5GF5U@@2>ꤎ~GttGL-v|B{[BNjG@g6ŐHVVbWoƲ~ʰ& e7᪏N^1V껗 MdʩN;;$Ezt5rmM.{^'S0Pח֌ۤPBF&銑!;A8)W $@կ.S=BNPlX狌oא ^E֬Dp)ZMalz-*GUH_CAp-&Buv9ƾ)@t;x_x14o*g꫿gs\l6WTY 1O{&h/8h#^pDaX5ce? [*f{>X+{tytw["E ~WC,)>d!~k{u(I?-s QTN'dzbwXBq`!ILԳ^^iQbK5Baa2f~L-ޯ̐Ǿx$`牣龟a!"sowx0,@m3o!aȉU6XqKhݱw{u8[|ABV^ #̍mCqc1 \LEf 9sRB;mMÌ$VN}܍D9,Gbܐ$Y?o FZ`{v1R8b;RV"V@w 9ӟLvx̌uskۻۀq R/ VhߺP)]90tP,AyoD 8 1❧th 'Ԝ)D$[i p $zY=P3>{tG.|W95,y^P e~!]WB۫d>_97DR0c60B o\8~D8l%i0Z1w{UeϕhOד豤y K Q.-S̱p;s& 6ui H(Ja7*U(v$=}1MmI~ `H^{|ITGQr}+jk$kb9+d R3*B*&.I /{#&򸒃?;#&2Kc{h>zЉu֌w]5ݚ T?۽c$mŴTKVH",ӗ#M$|~).-yct4io \Q]{#R%!H1E L MLҮ/PV"POU}>$ޥgݤ_:j3W)Gvi!_0]0%kV<6L99a+37uT׶~4 xI)tz; VF5 #wWf\{/amu 3s m|3* Iٕ觋ݨmxWrGnL 7Jfpv5<؊E):WD|i"oAOvFVDJu-@[ͳ*&HYB}e،mWl0oʧW2dToxl q.L˨% HT@Щ>1Kh/^.S  );DP̙ն mhzVږdmnVRN*?;vSO3nAI=DFN9^M A3]҉+{Ynվ3`#H&қvtd3&/ˏ1 )_ 9@!n8j.)!(oUd=NicQ~@5$gIS6~#@5x' a9d~"HQCf$ QLzFiZ h̻oJڷ,E Cc a3ś7so'rt8t2audav_vm`X-+'v6jja,='櫡fPP6 *_mj@8!'H@)vb,xoKD >?:xL23:Ok:aDN~#G{/0.d^" 8~ٖn5lL O7 ?4!DxWk݆T`4:̤#U!݋`*12 G{-u/gM,gZf,~ ,6! G/{ΌY*fZB ,-=G8Kc lVvXx>k'$&Ae@e4\do%&(on$XEg{ngbkKs2>9<v-}f)|Jء[Z:Hm79jC[3@>UT٠SQV TWh DcYS{\qf_]K =nMb_?E ,?b`-lmTtNV.S-_|'fFȓ)\.|2m.`TtK.c;H=/=uc3"sx9 W S:ī7ć\NqD~qk^|3Z*$?zmSwoӤ +Ϲ$*rIyY  ,nեFrQsDZM3lk!}4d,AGEvIң0ErZ8b3YrU?IQ=mw]ѳ]U'mDI]]EmD^M?2TbB{.{6W'q ^'wti:)5/M{qa>IZ/ I&O 2Wk T'{ X=Bs ź u YX~.0 ^j|.(!]I f3e\\hɯj|3_G>sӺfvmt¡.z/BFNg:9j3'Du6Ƥ7JL:3YmxqC#>]7&RmYɝ'̊7\ 5 Mn39龐 x9cq_AHjrx7ѕ 6̙^JbȑUAGI}qjePƨdcu7NDՋ&Ճ~ ^v͵[)U-NlEg~?6{RLcgy}2x"PE-︷l `z[i34> 6--6O * Fm> TkOУ%?}sZt1͍ lns4WwaaX('$n).6?WhX<V4x_xR=Ml)չql`uT(  F?ίڛ]o5ؽ8mr| 5N$̐J>[?mLۧI5MJ^v>=_g{Pc 񲯲sތŃHQ^T)LV-C 'StԙOaHb{M&v!@1F.nwlmH1VzR.jڬnJSfNkYW#!췚 kTo-xi/׌n9,/pБǃŁ|>];T-jQpzTXzޞH1EE}n`pJ82F0T$\16Җ3ĎROwu& ƞGhH῰E)ZWuEdLI8!6h߈Q+t8DxLNTƪ޹-i/aT:d|;Qo&i4T 8XS l8V55/pʂc7coj~`߆x3m%:/(I5:|RHn,Vm;ugMPF\D-D,JN.xΑ (,,7a~ a73Lۨ-GP]-z wg[}pʂOBlW!ږ9X{H3:Φpi฀SJ֛"&mr6mTB,άn|wjy -V8{rVbJVNM 0! h]ʘ}rڔ_DD{ '@얗;wiu^TQ1I8@" eӇNtW>?׀L?NѰ^A&RQuËE2d+;nN.[bq3Ά۔l>ۯhbHf;ٰ~tÿao eƼ.Q8s@56+dڪ{M;X5!hgfvH~ƅRc@0_8,2cGVl`MaMKm|JrRvPfAiyםZz>bVmm+,!Sk/s_|A]/֭ܕ+^!`zDU_<#{ [b!oïwoy M,iȽ춆jaS#> ˪p@= ;`^f|^,GdgVұ::ˍ[ US%[ھ`)@nn`hrK~pԢulRxV+VDS8H@^[2UFaIJu& |JUwk0 +$)ҌhB^2ZBY 3;I6D C E, t_ gݒ'xK {m1*5Z=Rhk b-%Z탁o[?o:f#8[^I#>G2SQsPFS_]*ɄGTǹd:]C\ ?2v~F55]n ɀsݔ'4Ԉݧ#YV^@f}?m$DHƤI%G,PqfIIԶ6<'vzY+A67[3򫍩XoG}v<"XT|B}R|^0TuuV^`]F܄XۿCʖÞ4"6hJ;W..I4b(@8P$l/7^̋,JZ^K3 OxyI 4\,壅#sn@c.^-Ghϒ^= ,EPeygzj'XZ9^ʗX U~,炱0oⵔljRwLKYl]9",CJs"ixFGy;%=s/8NGʊ "oE0>nJZ.켒,98hRrKoFKo$[rm-:ls^i4` WGҙ.KOT;!$fQ9\le)1tf]ςvbhՈE(X8J{!F7Rq5>.;eH0п P;iowU8uF+ oͬPNVMXY47ǀ߳bdc9?+Jʾd5p-atœik#"1{.B025Y^i'uHOՂY~C#HPYMe9,_3cWMUSl7 |>#cj?~=t?qzRT<1:Q9R>=X닑vqRhѡ`-?/+AKk{܄P҃(|#us]f 4I}zA"5(t(b}XFEeLMpFdsZ4E1ձyqZ( Vi>hQXlCt'T袑.BA'q96.OIX8X.DP"9agCCo4 m bZFGO65ЩgTHKթܜs /(lTv(e_ j5>`v GDLo Agua Mv%2ocpBEkĭHq^7Y{FWDԕK7hI03Ewhb ]fvb!vb]uUIݲvog*VdcE}(b%гU‡.hpyH4 Ŵ潄"l(1hy7-MR[5 nr+xx@^IBcL:]մe?e sbOO2u_19;n#WgS -9JjE2b ¦%*|0 ]}@VʽS.&zBб]KlaH-0\h޹6-p{?cSiN ˩;83 9PigfY X<$By,܏C5q`Gd;ř+ݥgk @`"e{j&F¼lp/"QKP=,ܐӡ# -Wӆ}0kC, $6e9[ڨG8iFÍ|Cԣ6>!N/5h0kw)"trJdS{hB+ظGb;>@4Lx:/rOG߫\-'iWs&Y!Gf㊨e'x,㋽vH}|~Rt[@{,nl /\~hu@r|HMHqmDDq*#2[wuNElM^fՄF{3~q{ I-p{OɅR'~1ԠO0~(|"lI&›J@/&$h?;8w~1"X33sYŀBl"Om/YDphHLIZ`4yyyY?dQF3&]3tO4 Β%E>G(XF0Z4;ŗA4v )#OQ C0xt֖ڵ[" #Z9ǬW^|zP >Jud8ʲ(1ӋZ9RB :-lȋ76ъrZo{-`2Yk\AVGPuud$-C=F#nȷ=ٛAudl ~QF\vF\ Ք,n ǽƄYn/?N8$){gTwnMcYwCaièՌ. ./} nn&-{ WKFHkR/}- NDX!ĵX Uj%_O5g\ǦQP̫)GwLwEHsfsND&_.3x&eiW;nK 5Ъ@I7MҦ-E<= DXj- UYb ];TD8NOEh,JO}.ۍ . )ñpӼugh 1Oa!-8^V/!Q2 y্×Sb )_-nwL_J~[oor-cyE:i.sfqi[ nS^ >F 3vfB3_T7ކYGN{fE6%$>r?Z ;RC&kYiPިl4?ٮaQu+{W;51#)d0s{~xF~q(0$ɀV$heDkw\uNJ|j-abZUb+mhVQ q/(ȕmz@RwW*%W,ꦣ OoQoQ'TvT?CI"ڒve](`~ivn7cb@xzb ^&vScb [ --;goh} :%?JDXn0 Yh[YH󑋈N%7([vԏ˱Y} r-j_Yza3ۭ~Q=ߢ . Or1(n5!Znd$b{]Ѫ@7_#xwUxV +Eb-8Bu094o\" ΟeV]]Q0R< R)_d%;c5>^1IJ+y*gtJ I" k6xq3/ͪ1i*g4G? '[ ZC ,޻"Fx ZCE:{L8Y,HICFw ̙v()QafmsrtU*7*e.GyOl̠Gƕ.<@}B&t8owIrg,B`UXf+y;*f=4 '&ӏ~C!9p>vhyd]Ǿ<4nZ/rU'$7L|-YKqmֲG~vn˭&+֯JPĤǐֶi"3?P@|O5GpO>/'z}!4}|!2ﱦd+#A-xMn-6 tƘB]l05c7ьcF |-]ɼkD"a E+ݏ S|Sc6t`Z-\O,Vrt-#H"D= Ս oKs m Et|$ǁldQbFuAV`23H0Q0<;6X0@$ZQf إ7uz@8&gYXx6bh\ns*|\O# |]tԾ2 wo "&_7!%Ñ&֭Ķϋn2Ŗ͡H[QCIN* |^^ོ ĒMŸBS5;DFIȲ(Vimq #d85^&QFѿc >?p.0^P9WgE/{6Wx<.4wGS/~P"l2V!`,'$̮O/R~AS 2ZiJg=PnЫƳ4 ZغAl5]Y!;ru0)ymdL[q3R#| H_(Ηe폥sLg2R$ݟ R1#O*:RcPr5(zv+3e)QaQdс*cwI`,vXA{uJ ("m\LjG/-!fI-xWLgHC JDu2Yi}m>f} ١ GJIΓY|b 38o |i{i[D> "t#i9ND #sɮ@p@21 7v?bГTAܛԆ4U;\Xp-;(C>|vp,,1Nz 8f wJU3>}-awnXo8eNGa!k a)#Yo!(i*tIMl%zh4ԍ89UUF]黒@[Ap,{(.zat.#Jv=W!8j~X@W3Q?A&/Aܓ% č9ջ&bӅWD_1QdW,9{b#BȵHn죏nVvQ0l8>E!%a@$o*xr ݒU|U|$8HHES iz27B#USV^glߍy9 Yj ,Ä~4HbO]u  m.)cy1o"ͧ j*G!¼?Ąa=n" {{;  B.8sa#{Sl~#%׋àSkhJ߿ c}Eziʭ&%ʏ'f#l3O'ƍ),/?Zp{I$Ь6{f*y~6F>4U)^~0Ci mE>^̇!ޚ <)@‡,BJ1aƒ%U2jZ?[tR1K>NMtK]$vKxewWmɂ , nhsMὓ-9.0Ċ1໐MH\'G{ËV#5k@>=pg>b S|4pX=N:uRL;{ (/pXEqAl6ds̠!\)~ B#f<9_h`.{1- /4:Y1yxYTӣx= !FASVLS6-#4ȵSx5OU .[Go7}Nr]6"zs'`/ /z>4Ŷw0Xn_ 2h4]ٚ4!$6C 1^+)5,D*@`EVkӅjG'lumf,?q><؄!l!E .B\EhIIᑂ!|@r ڹoP(9 ص&% \ -otvFkwVPZ|[4?G|׽..!i 䲬z{ZZOŀ{7s8MwP$ euau]\yyzcz3!ڝv}AM{9>"¸Ԣz5JiP+8EfC",i[$/cu70n /QTn ~P﹑y%snr Gk|I#\Lw petOw"l2<ov;jKvh6}EU5EItu:Ӿfk%ot *v4F%}o L%FNP 6]!5T X+I'R6a[i/Ky-ԓb.l`bw,4^#z 3.-?+mGp6݄xV&NĊ4?CpX9dliCtD%|'IXي9O\ 9dNg'7ӊxAι'T{c8Xb5هtչ}t^1O$J|$cj9wȤ[Eg6slF P/8/7rn؈~P@0I3&oKj>jK=oPS:^Oڷ0a7е2Ws8 2~E` iR@М 0(zw.JqaSo$*Ut̜&].Ik\~jMl^r ٌQ1.П[p>o }G2*;Ies6Y)23ӽRԧ^EB>dL6z,ߊB>]Xx4WL?que{ڳ ХޥMA5k}JY@(m=ZBBv[~1Чx49&hL+Jd4{a3^I& crH=x4H&ًެLM.ٝNsݴy>-2fL RG҈Jz i4A|R4ڞ5iMVr1$U.UVUu 6C℣\uArJ('AEw5ÚK֕\ya_+r[Hr+o͍9}݉gaLz{{MH Zjl/4E˻JNrYڮ`۱A0,x@ت⳻ݠ8  X(!os2Qi~H5 C\=D ےʵDIH_V]6g^3|6e`O 5s]m]y+*"FhH,uY AMA\8e:Zu5ڤ&Q_|ܖ.j@%V^Ԅm7u"W'NW1)τa.ʪ _!`-@47DTjTW;N Бqj=/4:y.DF=Xm51V׉DE5TN|j&xQH,?I`ǷYg$cՎB/~I*0ڢ\9KV_=,f<~ЍxJsRB3O#v>3*- iE Bl= 12·s}Ӈ-ǐg_ e*za?Rbꠎ &EV7_Zg!-/>#e׊=ؓ Mg5A5tHL(>`™GXꋟYRMC20 j{?m2J\ZvqUvڬOpШ pիd6=sǩ഻bl|$'cͱTv^LV~E= ТZ4x'z%`U|؟Tid`tS_/ě"cvzbQʀCl K3bL|ɡ:ըK:c^c\^4-t;f-N GphZ<@u|GfKZjb'2:cu2/:&(JrzQ 1^Qн3F~ŠM݇XQ{|4́Q2Y!Ahro&POpb2 `_0> e6RFv>N1Cϣ ,:rrpgŝy xC.UW,RM< .*Po$ݭӎ54Ro&|d!]Zrv:.4b>΄p[hѕ-H6pcDphM=hA:<҈\-Ъpq35FP~^ƾO%t2AO ]" 5\)4Qˀy_u%d5AniDYX1,NiH@rENAtPPzlb+.W^X,hy&܁K%"Ks.?0xKRS =kfq/m7lʺBSpe2IKa hɳ-s~wJ\pX<93%{}'b"h9F ad*zuĮbğeɠS}PtrXsjL-ɺg?lu9K;қ1.^{ Ց4|e-!_ EJ[-L76Ԙ<<^}4^#?-ݕxxu%Ѓc(bw<)%M+ݞq{QvTL )BReEתmDd])_N90~w-=vX[`Pǭt5{0+YȠIG.G%Z-=7pM |}]1N 9y:; b.wWA.8$,ǐ&/{hQ_c>"rd;%.:_oo;G!Bw3NXOV|Mеpg["(kԛJ(N滥 x=h:ŬX{Hk07PE ;G{/VE4`7bИ%rdo__^bxkO jb(lOMI?!X3]?bi )/6zzaA`[> $:cے? w\:ѱ# J ^!$ܥ60%y |y1ZCѦXVo=)"]:k~3l>iwܶT|u:a~%s+#lx;v GcdsiDnT2E41iaF^A(Wu$Dlk+b4hMؐ4^O淰TiN=^ `y(iBzmCnk=P?(ՐM'P/7U#ȰP2/+Io@'[2_&R6r)qrʿnm8GYPZ/5vfz~ttV:p?4١. K pԍӀ0CMFEj.9dH`ߕ=iMvr[91nгY#t eP,OIw2>t!PEpk";{3åcb#iWZ ;_O<#e'?G<n%} V/үׯ(;VʤlQehKPl̡j>@kA*mZ*f6aE;tz.'*{K.[\ ӯeܨG4Dr]#@"rGӦj_T]!!j`=J.|H|hKd3Cu,yXphra^'wA MdC#bTeg&ѧVAMpu͙J(4s0齥8I¨ɖA D&կKA1A#H̽,X 2KϽ:4~VLǗJr%}}e%\jqUܰW;$~U(J,AVh?[A2[5HDf-b6E Sa4њ6& 1j2ټ`̋F&B%hmaϓ 5 FXbCܘDf#ܦi&!b?gbn/emɯm՜, 8:Hu鑻xq`AIQ5W/y7m QѸ;vdqU#.埮x!Z')H^ :'v?T;E'V.&ohWeL.:c+BAhD,A<v9&Vyf7@n5,UX11׸/g[O~^b/Mrf 2}2=f1nH-MDq;-wus;11G;V"sI:ACpeXhduUq,J382NF㦟:P6Ys-18&< I]lP~Hs3"c׏]ܩ!"$p3=)yM}|*(V)lf #aU*)!O4PR_!An;@juu(6IkbFod,3 ]ڒUrm0e!rZmQL5ʚmX>6A ChWÓ w pq 3 O8AYDˇBhKj BVG|{:䱌{#~= _Y+ Y)A*,橬mM%~XT Kٌ]$;n^l!oNYeOJ^gM %D?+zSCw4s'XbEe5^Ҫ8D_Cz},BogG{Iw_6!b>kur >z{eyȤmʃGI(l%( CoۯDJcP ~NMfu&M1~U3Aagv(ڹ hLtW:A#jo;hp)uO;twi &"^z~xɽz@i+ړXY[ (pt=\hbY]cW!t瑖|3` 4g8-{@ q]= D7]`AQbÊ~[ dte7شk4_xD;o{x[wfׯsB#dIy@3OءQ7ٶ{Wt8=eN]94&mt9zl 1#^vzo0!S}^r$;'\J<ƈ)K\\@ ʾؠV`&,;Om[EǷ(diq|(D;\m䕈dEc߂o{eCaPڡej]0VSۉqGQdg!u>Ϯ2Z#V3j_kNb_i= B5Ao{Ibk _Dc&3eiJyӲPOPt2+N-G?52e. J"˹1g1 @&3ýOp)Mc84% K7QQA{"5^8HSOFz9xɾtx( d`b‰  f|?j4t)r };..zQ=PaGsvm,RL+/Uf /KșD| H /FN'DM݈Z-'m\ug o&鋖P#4ٴ`j\\,ق2*hSǣO;yγuJ#[tV97V9YP hYc]} ,CĚnG'D1ݯ1RN♀WPQۯ;)OD,OflM(Ժ{_rqPR\LI3ƫ*FnW mVVC /'&-/.uY'ߠ*δ1 >= 96Ηk*$99w Ҵɧ{0λ_ʉVQ~l%xO';W,^X iiHhUAta_äBhb(>jk9зH6R " :IgdӚؖ[J\]:6!07t $t0VH~$ =],'t7 #X8 8tRŤ۝*u_4{!fl')eSˆ$9 4 Cqg(H2{V㕼b.BpH4l 3ﳝ:0]#&K  &0HJşEU S>VCj݆)qoEjcT|KH1Rb=CCU _g+lLJUuLt#i;ʢL{>SplJV+X:|owCEpnr&XTW ,7`n}s#KŸsu&Vfa03{mMߠ8n gFrT?=qԈIGR2&o=B'-2-c[E4P֓f`3cP ߍ"5eKf?TU+l<ȿ?Ukwipʘ&\W%vA4_ Jq )t@h@!g\{?ސeAH 3)X4!;QpD8TF60 FM^ƫ\]AyHi/F7OGnCܘcff7=X&iTUhkp@1^۪_08cD8#=x1ݾGEbI'-PPDUBV\b+ ضkچ-H10 Tl "cjK]$rTS5w{LqCzAuL{BɊP͘*/L KDžޯ{5:{Ar>t75*9q%_iqE'P$fQBȫB;CbsRߺLkn8wbFL()^l.+X.`q{ 26~T1mH!љXuocmt˪:+F?0=Չ-1l 6(\SɎpѕw{-'{nw8T,n ]"4+Æk&ˢ ~޾'<2 j6 "NT:s{:0+0_`ή;:8b0Db^i;7 M6֫o a I~d.$= &u2wq> M,yc:L䃙YPdzm]1mF7^DϹ27)avw+og*Y$ ]LxGx!*yȍpJ[_x4O8+ߊ:9Rd=DiӖyn['絋s vG8xPE~.,a>&/W&너,=XцIlE  y>)riۯff`X(jx;2,pg 7с?Ysh+Dd|Cр;+! #f*((re еV6\*{E+[ LmE/s9ַ:o24E'dZeRjp n Ѐr1 `ݖ=s,s%@< Yt2Ht:l4",'G\벻q/ :QV-c]^lU!r,jg> P#bQ0ڛ4]JOs6#A@V4TۇR1z>u Ԏ9l!d3RrvYt=CŞmm1߷]R*MH5!pI(4 )[!ʜ7К)'h U1s E-,VȲz[Z_K9OM0v$PU(E+*s ,kBhшPXE!+ixKƀė8G94tt!e ~r& .%N,ff6aiN¼nz} ː4 HyYP_xʋnoNݞdhy M+ e* A29'kzGUm֧`*8>إ' 6o\j:9 Ƹ!6LЮXM>?#ۿٚ?C)yoeMƉ|$9XvWK^vA]ŗ+Ym&(K 17Nɶ@45G&քi|SM@Xy;fM$HU9黨iHFVQw(u Y6ψh(zW^0l8{GXzSu'7M=A]ıjkF3Džї=l-}ƺŕ%isn1&XK%yd:@.32I?b ݋6b\eOzٺC%u?42zt]z`%B4#ļ(Hbi][2u#Z;a K[3,uTsjAP,ͪ? B-B= áffH_UKtKez{%WL$6r]PL0CGwY#xU'253눆n4Ó!ϗCkM2ɕ/y<-S^4"rfRl[>fs$2 tE£&nxJ㫸]&J=蕅F^?G#|-1)٦U:Iu%#}p%@€ nm5e9v84'@{:*+>8DdD^Ft#g,ҎOm/݋.dY xPz%1}U4uBo.4(,I`/w]d0aؚ<ЀϐEt ?E ڰC-֯aaS* +!`Q92g]"6eD{ASEX&Fr=}l2ݟKZQ>κ;[߽uߔ0e"jri)~ KX=m"E~nV{CA6H59BlWXIb*EEu|"ȇд"#f%!MXvH] qA tAKͱEiok YG!j`ۃ,pO#˲( )R? &nyѹpy>\:SV$(Yn0avaңr䜖RJr."Evm`=$fA=Mo/Fw'/ 22Ozz}"/ӎ)gnv*"n$g 3={ZVpoZ Z7@dYάW6Vq }វ7 5\#M!pOu28K]1mpqI>wX>=4|@*k62GOEGdfh)XrͩQL~oR#jӇ]qƯ_.SAz@aOJc;uH6wQ×6i#xJ5K>Tu5t1ro4ė N@V(b HdS'h5:a1 /1^EK{=vDS|NC6}3DAթpKA'^i*[d c6v;#Ttgԯ]釁#?.+~hȔ|;^?@{^OX3 SU7ÇKLI~ t9Qh6,6R{=-,bx)jaH vHrSR de[.q/nȎ5#cDKwG!%Ua\C b|.]!達s%$mZC~V 8SI4:Qyp)6j! F|H>*qmedh9!'Mo yk<[*Q^$Ng.E4mrSLfyP)vߢ ] _d̵}_Gg_3o2H<~:}bm/Z5 MET\}IMn9HB_iOIi7}Kמ"n=;nS1C{`Y?4'daw;.i<wd;4#坒Bxpot_N+/2c`72J`]v=\SWu:wFE5 udf\{U?bO5&ˌC۞R *,X/׉m =ǘ<^\_?)~hcYp{{TFt| ׎vZWXsGOA@C1O*n9z[kV~_mͺ]ܿZ.v)tٌA˱>Es֓#ag@qؠ2$RԾ֟|fymBUGs*:F/r䌑G F,&)|^ľ>^IKM:^lB7]VUYU|)@PE+:1Ⱦ=S &r"o>}{2FqINM!\`q36>QW I8-`qkBXz0ÒY<AЅ"Aǡ^<ؼVɰfG3[vr-L;Q]/|J0`ype:>࣢߸J{<z$)Lyk)!4~2 lp*%Y '^jRIF+@8NCHyIlX@)"%Zdy&|A*ֆ%-85~ ytI'Խ`RO%#LءQ/=vޫG{Y!)eg zeLCYk!3ښ)iBLM yD?u.)6-zLIkE# )#IܚmovRi;@#7.e5`Gte (asS8? Z.R٥ rShӶeA 39E7*#AOhk K o H81 e1oZ 7̽T3- ueV/`h["k~۶F9=#1r9_OnU5l[8ٯ>7)r|r'ɩRDv:;R;Ш*=D[ r~ht.ots{5^i#ޜpju;%Y(!ISFqL />*@%U 9<د79RYđJ;NžC•D5؜_&nEyK]6꣨"֒E1엢Ǜ_E۪MEmEIu6S]=۸ <9˹#AkMf,]>?L0ǹڗjHcԿaK̲qYgŏ삌{_kMQ] {?j~ /Xw:h܌Ͱ'5gRA*)9/Fي /.^E$%? 7b580&a$ڞ{>sZVX7EH`޷1*۫4f-JȏSXdsL׌!E¯k!IapL"Fѧ"-=&D%3{FIezJTݲտPō;օp- rl+a~do+\`ގ[my?BuBRZt`zˎ,y"xw5FwZD6;_ 64hc2 H:uxP󀨃 xn2<FQ|0d{wM},W8wz5 =BUu]{o81R.6f P|cI)VS9 DPWs*Xm0{4R'7jS谶ױdc?c[ '%=GxQ.8\y%_VˎӦǖW#03oN7d[+ hcGCg)9"t{踡KN`w<@M2.O<IZƨ9I2>^sNQHYp ؖLv.R@37"? 6Ju0C4.lEďgE4AiFW?x7ӱ#rW]5%ϖi#=Kq0h '_<sm $*Į+fi&@sfrԗJ8VWUl~&,Fdژӣ0ۍZ.u'U <#7$B0 f(o~h6hyPjkk r(NOBحEc~0.4f~+^̵s^2>͖}{@{pUx:Y;jB%^dߒ= U'+5\h3)O ]gz_ 6RidE( b˶P?&%JBzkÑO\-O$@?ۧ2A3 )(@]/,a\ѸXYe?e .zHT4qu4ۥP 3K½wfeX&6v8:Omk׽0v'WYJJⳋHP`<&;9 ţ0bh35$Q٥y0_M aM=̂ӵ!;%yO He⦛PH:9мjGpKYz m1j6ij1gKd6Q9>Jr%c&h[JS#};Gw4%CWq83$ʜƫgAVJ3F$u0<L 3>b\EC.OMʥ_(/|z, )Cje9imvUJP3M4@i//^Z3g! i,DZ ;3eđHn1UK!$'tS֫WcX-uXxUK*㤌.S' ,Ƴ6 I:!23ր7 (C3kk,v1v/hAi:oJHEv5Qv" i[#aQ$?«eFeZN "ٰ_H|fͶ~Q8T!x*q\a)&I>g |)D G:^Mty }nPu|݆=%Y%*3XH֭3r&0]m+U7v3T5]ɲ%Nۯ9 :( yE7Lwr /m?VD<9r{^9 )d5ʽ<9UɉG={GmistLgP$AeswE^7>5.H\[ʀR }>һbmV0grⲤ20jT~ VZtBe}T> ahup]&g wjmjTá/ 3b]NK>QvfqĊ`)0 j\$v4$6*҆MM: q H*d;t) ATEֻn"bğ6S D lM"O |U=D,J`n\A:4j3MjsT~nG#4UqvAzR=\ e 6_.xR͹ͷl#)n}8~kVHMRzYQ2yKhT $yB_!β[&(2˵/> Sv[ql#'Bޡ_ <=ڤ䄋uYuGH?{-vwJ3xVh(Dz=CC"' wWMCn}0$/D`W]'k S5! 6w'5G (£^,~]_p%F.qo'Qjs@ 5~f&"q4yS^]W8s[Qnh\)z/-UlbFA`F#"Che1U= Q9cP~!3Jml0-[5,C}$!walfy =(B /uH,ˠTrEԀ ͈ܔ1mgP5У&]Q6 ?ժ%5zM]rbvkU9 Ech͚Snrw`{ P@ԁʘ 769N$.C7f}IE.CӶtD}b&EyٚF^zX (Pf jm'}kHxQh E`ݰGڗ,;Yuj }3̞Oo|J)ߣEl\R=BJmǝ0+ݬF~m({.Htt6% g͋I evpcy1P״]TG} W(eM3H^F۝|-̚ Sỵ;7sI!S 'ygj(Ϩݳ$ NUc*Dc >攡@[%R`%#II֘BMOˌ< H]a*Mp`gCvI%4==tc<>|F7VV?d*b%AyA$k*c]n_BʒTxƷDYIgCUQ4vݧƘ8 K7}882T Z~b9Wl]єE,%`]Rvmh}oc T =߫Um*6~Tk C*A]lˊr. g$5#ڋg"?'$\bz!ʙWOK ;IVPo!3 ~ϭpQ4}7=9S:lS *tOI+sN *eɱXgkn~r{Ɛ]8xl_cDI:U^ _NK왻lì`OJ9m$2=C)areM|HSy&M!yP㈁eVz U1ԋn-홌OuLP1Lz}H$pD[,_Rg1SIa6ՙ9q$AϑY , BN;^2X#Ow 6[M^Dil~c9Dyq'xbgEze1?NFǦTM&7pQPҥ< ޜ}!J2{jIUer1oVLy;׳ȆuGk(\5H?G|W7eC/wFy8M5?'߯rv^&"HW( TC]tӳ +Y%zV8Hw!hh/5Pn) YF'$e)pY,f=)2_v#g}9B gHFIso c{3EFGh,-Ϸ=RUp/FnO-^>'Vvug 0)? oUC 5@tv٣ɲ!xo5h{tiVV[90$CDpH"Vi Wp5{[S $wfƬx었S {^C`q8d_a*9\s ?1<(2KRge0}-Pѣ쬡4l_ OI;LxM#3v1[4ȒI a.%UDz%2(%"ŧ ՓmId$5v jB8?Z~BT#MVp c0oV"Pe _a6^_Q 7XBO QܠHy'w7-n&ic8$ST´cUu3Ou?O} S37%y/FuP8)o156(Oq4IG ?FKH5h;̀Dv4SqX$E!hj|CY桬iE@~HUjp'ex%nåͪ}Α1H\N>kW^DtO5kE;ң4 |s Zr1ήǚGҟqǽ)%:jAb hʾ]YFo%7bVX~2KsB\ Ab!7c+_$ms}3@R0jfUpwր ]5dOK|責@t&Glsӏ(r}|f_Yij^$j]lvsK JuAO*sVG20d"".5bZCp6L9S~iȡFr{׭N_H :t,e,ĉٍ6|QX}N*BTv6na3#@k`l_KsbsTn0z󟣡3QL]CtkRqw$sCՀP|u L06X`ú4"| WǽpulQy ō ckt>OH#+iӤ?.n'5)CB"]r]G>`옚aM飌WژlWυ˨FdbNk ێ5H$9AǝτW)-qͼ轿QD, )Iga%"l%`+9v) 4 gȱ7RI26ӕiӯߒ AҲ$es֚.XS(5 (N#v"s$}}ǰS˸5/vaBP` &72 a-dn_O5 ߧT!'(nvNKK0irgv8ef%*W<\·YWvVr֠N.7?5#aruO` 3yyڷO'hoM{qyל5,PTJ]gmD)JJF0:p=P#=`aA&4Z9 +.#Z%~$?'%|GɑFsԞI^]Л\ nLe,O~Ubi@`X-S6Mj YRcת  P>Y{૰j?Yk*\O'Hz-OzLıpvIquE} E4nTTm[ o}fIz >)uiA@̥s_Ԡ  o*k_{k85'J31MΐI[}q`}__AJL#&^ @Ԯ ~T!70, (gsSևlJ9xZOt?$ \JԌIdQN1r7E Ccr8Hz.P8Yڭիؼ̯9<}VAB{lgZMiCaYK %u 6 ^'(CAF&Tz&iBˑtiX <km3ׅxvhKUv (QL|`clL ;}iۯxn`)vvQYT2yUJR6{y\hjLPV_Lj/J?3X xEmͭyçsqvӽ>I`bZyMM6 Dmz[!cR EytV뗢|p#hf0 ;ro/kmX^/c%/٣`"PKVFAI\s>(9Tv.Y3QB aETߵ w! Ǿwts__fVc9XC@ߞ~ݩ6Kz9G:&3rqق nz/g]aSOu5aD}zYWB_= 6'3vK\lqюt> K51rfT?\C=5]#] Tjkh~N9PZ:-FhM~l(Q&Lmo~וt֍p,Z֬}po3WZ.__gcB~΃j⽑坯F归j$gLg ᣰlBB_u͉م#&K+*\ǝDzƛjWF.Y;\#^./zƢB'K/!=O@]5yƻ>.%MtCpz,t$Sw?3xX>+`WCbR]4jB̲TǢ|Ci2X:J Cr8/QD8"d2<oްG݇}q'{,#Ygř|Xpwu #u hC%yMbnNHY$/˅JHLsIʓڴW >?hfL8E`,ա]Ӆ^Lf(x !MTAl­jplp`O0I#2FZ_?Wb\ZNn.1=ڻy[O[.3|xF(>@˃]ԿwxG" VSEThV%2zOH>\+N_T}'Ϳ]jćOI 0Uk&Xq'f[T{W_3OpoQ\G/$8,0,Vrh9[HȩY+qETJ_dO&F^%p[*ҝ.aɮ7bRSd!@,RBY ,>wNʢ ±M;q g [8Gq$h0q[[Mp`9v yf[v<Xkߚm+/t|]~i \BBGdVϣV~a)k{K\7uUk7NЅ/F#nD[ja oۿFSa:tFZ}dJ|Q/ɸƋ;[mn/Pof-_4*NOI kqm}!+&&mJ@vOYUWO&l Hbԑmz,4}7?gq-1Hn.)հ뾿yOGGc7xmb|vÃmMK!݂m#ثW[->6Kk >z+?3\L=A6,1ZV`@&~Jv"y֐fggP^(kx?BOA:_[gpLUs]1j'wp>J;QK*SYpRoxU_K1C|>:e=Ts[}S5|a8)Ow Wnz w)]20M4G^a[HSsm[3,zRN(ΉZhz~ƈO) T j\-3J83_wf''9Chd _ oc~g^03FJ9C6-KPOB@R~`bx>>',201۳zJZW5Y  "i)JR& Y󘶙_| -˓dn8s1߻zs?{]rH T-&DEMl JCũ !KRd&ț60%?1⽷ b%YV68mA]4f us7Y89Usn31jZEn1v!y.Ј#9Ɠ@\w!f3 *͠ xZ)j{zjrd >[]TfIgA9&\xBl\)p-pac"E27}0C>qA֙wD}C۬UPM(V!G| 8q8SW :5#|{/YD(zdtcRmIlW Ҷ|>,o^c@~T( T͎>$4@!<!# 'Wi2N\wm7'oϋd!$Zй}tY@Y  -0P=i!I(Bk1Z1bfW-Å Y,eT,I%ĂD.jAއveǯܸm =ǾEc#\/0h+ BZA5}JxǸc"-W\?!E^v ZT${R]3\ܪcyF&22 G5w`{6! {Y@J5a_"s>u?UM\vn'* d@ 7aYBldV˖X?61NζC*URѓm _\A,ӏGғ Q@BVl,l=Mutksy;axl;]o߶prIPanYч%6K@ )RW5m"zY獎L!j C~DL[@Jh/ebыxBu^iYr+*tFmůA|ߚd55N*J,3q5] fZ@!lS\ 4FS|>/0:MP.t'"Ј1~Y=ptfd/7pݬ1I5fV[IB9NSc Pgɓ/1e1[(IV *X 0g H-x0Ay8-}ɩ5aM$ۭj^ް7'< q|]]jdIg^]?bT:QfS@z;؏!L&v#|:;J7l3<_iDQ={<,xf:8Fx6'TwgdPMRcp3Hgw3hJzr-Hr`֐}(Ӊ&{4n͒n h[pVZ8Hw%,EM"^V/X+08Ϲ~}?hklyPy Ḷ^ߊLB@|DuYN;/k rZzlLއ\BTjf*N, -zLhF4VTYY?,7!WPb#8Ty={ 7 :<~!k7e 1Ժ*dQnb$RR5 ELHz}!UVP7&cӟU5Ѿ? TNdnBu%Qi_'Z!-m<ꩀK -.S@h{JQ_Oij#GyLo8g μ4 *ۗѯƾ>j,4S(lϕdŕ"?L29F#xJ*m:XشثW ǗJp賉-O;< ܦۆ]?< &ٗn'?̈́o;{m>$E%褃u.++Er"K@m4I9=XX'O{/ b'8 G TibhC}M.~ijD~z ?Yc` ֤wC]!9v:j4oK Ȉ5Y\. 9 kp"fal*z?w XEu`@{BCC;?T<\Q~g sz&j/I/A|W0;([X^;ClMxP69S~篴4sXDdQ!~P~p_5ꄮM1HOv"GT]VҠ)NXSMSc˄#'Aޛgy~ lyxND"i֭dJ(9.f۹qu#Z`l!en0Yi~Q9z 8NASy[^h~ Gk̴ȍ TJeRf>]qH_XR-r~WB1v̹p -*ybd[X퐮j4'˜zuCG =}@+ݴZ haC +@Fjy@wAnUɥ68C7$۠PRt%\h5 񯏗nuܖ l@V"~Ns6\ː_a V])&wrBFF.Wt(c=b@YJ\+htiTbPVyKxt@Wj`M*tX*v\^#f禝a[r( VnS(C@R]1n}'6(Up\%]L9-FGZYS#& d6fYߐT\9un{\llzGѼGտ !gQ^-4+h3H52%N\e瞊;vs@ Iդ̓@Wk\ pmtrѠU.&0e9X#sO ddp'?^Qy-X)2`c)[訆$WByRхUȺ/")`QOD웙?&IhPn:f&ft#ᾥA6!La;H JW=@kؠ5T87 qWu$9Cm /xqeLʩ9Ca|28{Q=TI8pL;N(@R<,"%؋J3%Q6@ 3Iu{W5Ħl:OmXt&G5d^ fȫBזXLZ]tK1(%̼i1&:S H[t%+ 2"tE0du*NqT7XX͂ICi. 5scJIR,X[4XٔoDPW%8[nXm ̂_%Hx{LLɝFm coNIr1\䔬2,|PB>$LM hGRdEHOz 9t^ǻsIOXr5/I:@ECm2Kp[VΈnT(6UQ8D״ :P:+)ˢ%+5l02EPv! RAY%c8șTI"> $mG`X,(:d "OLKt KZǓ0kahK15)20d&W_wPT?W25 ل^&$'woXII?Gd8n G6M1IPS+y(9rH-@\tӚiNc WFo2H܈Iy7~&[H?Q_$BqG])4ċ'Ê,`Q "h<_*5_SA|J<}H?7q8T.3B ? [l!,Rk˘k_鯡R,'#1zDk;a|Ԓux2 VD /?سer=V>UVEap$+pÂJ~z!&1vzRrM2:N[lYdVSǫhvG-DAVnj&pC;,5-ͩsHS~IxZv!;^s:HX-x"8f %n/˵| p_?EdN~k:E0(\* ތIM]]Q*>rM5UD.du`c9)H?Ps`p`h;d}So(gkpZ1EXrI'4`*C>(YD悰:掵[w܉cQr. םLoUj>+>DkH(-_,C6QGJ+p hT\gkCD#4J$Q*5piuҞa| C3.AYn#K+b!$o]iyٛunWK ?9ʒ|xoOʏv`bnb8!Kaq zGw)8?R*,{N3isHZn2NdNV;z>*x0-Ƹ@cA.b3H(ƮUs7DcN_ |ͳ%<?|v4=7FXǵjW?K3엨a<naUuj&bm~(B%G-x881Z>S kKn++n}8d;JET@ĻKBހw*P$XF9$b=mO,voie2n=ʛq.Y @~Wotc˯Lz6xR^e6o~{x1"#e1]ۀ:%{0P>o_F`QOYT=©{&0F5;ގM|fاL0z$@GL5pJ:q;,<9.>H:I^ϺL.KaoR*}wxy/kP#2_jf_)rG^wn];lr lʌhoc=>EP*.pe̿>^PzM&۩D;&;rZOkChGPFKS\Ti۰ұ  0(9:w8mz H!'۬RSJB  !_KҖ Jk -exrnd^5q-B}.>H.H5`_SNbCdf3%wG)hL< )n*su>[gàͤ)K[feye@vm~8̔+31'WPcWޟ$Sh篳c"a$ $zӛ-xhk*UeWA|0Mgc}%dS bԸs ǸNI4CYTiL*+DZ4 {1T۶ @xR);?ygd_RH t}Ʈ.;ϋbD]RT,?*}̀5[GENzݏǵ8M[^1zҳC^Zy@5""H k页o%K]w[2ORVsއ]דb_P[4b' < \qkwlDǚv^pNLHo U ]8` ;SMי|Þxܳ;ap/)S34I=i(ߒ ߹^DHBezӼ@?lIM^= BIfK %Ml -+5DH\5W[c]!n_&E. fPx "vxTuwAYpeav!y9KCVwLmClԾR<4NuPI`tC?pfl=BKnVS``#t]!8R;2QEe/rIND|Z_*mV;Zcvd S^H2 VϙCHo y7ؿژ*;R0)fXZ,\c]ܸK'-Adzm!/L>6!k|j4V~SwkSO`Vmx~#KNN[cAba"! ,eΩ`sgL05r h7M zmv"{ƢpK D,,TbwCTA2lԬ ћMY ԐqHڑRg=xr6$"2)Eϵ˰HoUYJFY1v6 .Kip/o USۉ2*(0PT c&D`4Eˊ} ϐ>Z-2ˋhe_Sc/lr mNէc;Σe Avŵd Ԉm=_Bx"L޶k2-='deH2^`@@V)hđ*BBh9q>m,$!VR`Zn$4L3BlC4!† uxktBrPGph'5~ё ;Xm6LZ==u¨`"gnm3( d0Ƭ$S(#ޯvP`/#hb^B:* T%z -!,$A6M(`Yu:g-J&^OT,),Sǭ6_hf)N͚d[*LȑE_9(XkŊh9dƙY;Wt+IY7#5 7JTVipPu2_ž8LuvnB{[L!y3~PI:G}-q:^RLREX+q *J?[p[L*/ZA@sO2b]HW:*k 滓U~ǔDމgB,\4;g amζZ4Q!ntx+dNIbm5OXvz6N.לȿioY&en$F-i9 "hl7cdᄏãmv# 8$t8KJE=Qx3eU 9 \8ڹyM^zS5tF W9 FYfuÎS`jn@z5Xr>s$ָ%JBA7؃^E*~Eus74YlHcvyhsZ*?6+||'|_#LQ[>N’[q*ʼA1IWZ4D.F> ImO,XI$q/rAo)7E<^IП]:Vp]r~%8 {9J9Baehz._n㊘ZtSpJ)J0R{ ޑ, (Wy 1 9_1+j(qIYdbף#!C7q ^;k^;?c"l (\j_N`|N7ȉRV-'x/Qw/a 3Y-}Ђ?"H⟌q:`tuջ[5"pkEbB5d`#3,!,}O\YM}ƿpO> ;Z$>azɊfOx@wܿ޼ PeFJהEU!iWPZ<~<^`AZG`>mna oxwpa fx&vuU;\: U^ޮ(7PolqDA`+YKB6uKOO[CĴcdWcz|@ {< d% En!="=0vSl#yВ 4$¦7{I<T \^/Pp_?VNlA'Zm.cB+p%O1uTei߹>T?f):phOD0Ka<YnIzPJ'u 3rʂr+?qMS7LdL ,ӗ5”zY#[^oc}԰߬$v[ż 櫄$Jy[a׉M+TgrO~07Djrcq bJl5)T!m8J_\u ;`|=\_ѢnptA X j|̚54-d]RnG!w_)EJVDCH\A_ yAکuAajc$T$P\v׫KYLqaL 8Y"Fa w 1¼_'~ɭ0p\c."%x7}6-k>m!|LjAHKuZE}>sgYfR۲8\KTvK6{2<…mt/ema;%Ѹdh[d~v/ٔV)] ]= }m*"ʬ8iRkK桃$f"r,XB`KhޅrkySK`8?{ώ ̄$׫c2)KcŽ+ZpQHyx%G9c\)BJT! \ I%XNuNju]pHBQI}fekSDN~ZN+h?] س-eÍVS!JEotM4Q|=)ePK@7Y$R\\KGeSѽu\U*|~a{>A *.=ab]'9ON,΂jIvh#DNXnCxu 9wSf[`cPtqN r7+s!cL]c\_\\#B ; *)M܊ur X _%,zjI)9*6{;;?''gtv#S"hz[?wRcNJ BhzJ|%sNRȃ_4EOGr&sP)*gbEGv&_vs%~zmi-N]y|L3AM21| t/ &fD.Ѓ(!51skG"߻{4-8SoHmN Ѝזe RiWao^X?&{HpwR3vu_ᓻ'`Bj1I1 D?7NPȀצsqW!zCV-A!69D RQJҞu?Z}s kOZ ]3FdoS>˱̣@fbD~Eiwȳޗr ш?)*9Dl-iWk4 E9XDZ{y#큀" d hfK-hic$!eҟjQ=yW|Pc%vKnyX=JPw`f81ZIbz?15=za6e.{> I4U> YxЦdXl23L!*q%"lY6aH ъI*Ȑq+ժxYcP4F Vxwp2ZCy#?X2t8p),Koiۻ~=6*3;^2[2#:zN (nYKQ[j*>ZL"t#gIS e;o}eEC!T PI)4%3{?Z ʲkc(C3r&Lr 廹\EGl̻Ir15 v"[ 6,؋OϋBʀIRATwgΉMOKwwf*SđcAFo'B7;fsF.Cco(EDSҝܟ{n.Y 4ZHQfm) 9bcٷH 0Va=뫬mB=gD)0W|;NR7/7pV9[Zm*]ӮmxE$Ni*5gTS,1m!և|G52!$v )49n3s}8"_ W _l .*wIsQwOK1_1ϛh%q}r>7DU q +":+^2:oqYٶ@ }5G!S$<%ǒR^BNmd[lG @F5y \*!FU-9Jsʭ&EdpH!nH?Na.%&{Dϙ=>IC+ʉbd~_^Y8ݎ2=*(5R\8PtB*[H0 G]G̐M6 V$ڠLLC>!! lRg%xm>`Yi0H)j~Πg7rdYh- xV'4rTZ͗ Hj[ a(7@3Nʟ&k/rO2*ۘoެ6zŠ%5/$qVv׫>\;w1/sbXی݊׷cd6D-Z@ kG CHG^5O 65XAH8ehc/5捁ҾVj&b=JNA2T? +[yζ'4&7Żw !mdVa ^~j_"&LQr;} !EbՈUQP Mb~C,_5T_5ƓؐS)frnbIb>uOS&h|l+Vt?ar6$9vKK:0j_M-XM"֜9b1?&߻Av:`\nƿ)Gq&RZ󭓳Bx:b>H{-3ղ9N<(mć$´%tj˱'ւUf{q_=G2|enLdp 9vVN> o,16Kqs\B B0G-,ih"} QM*#=N+ݺ:8Qbe+ ˙G I^`P^>dȇKShxE0əœSZ@S[@qƇJa Ԕ4uz95+%Rg 2ns0Ol>c)Thz:GVغ-s| ,^6s 7ɞD/af>oc ͣ%  ]췍3VQ햑u`_L!!MH!&qĚ";ѩV-B*xe϶)ԧN} G8OBW\#>=Y Z7U+Ӱ ^Vw#W}teT[4 np3PQDI1.J)!yꨄߣM4DCKp، ܘԙy .mY[աĂqIE0sBmm#[g#:hR`JOnPs@\SPg|jjd" ~yڀv)vIJ,)Rfh!ؤ^kmluT9E5Mk{%dˏ*+zH`>+__|܋)JƠ+ nŋ7Gd8sݢYB1:bI#˃M3x F&h<w12 n(_Ǡޟ`b'zN16#Y[ƎVR<4*ˋ":<+'4Gܓ8Xct1%@4ُRuKq+ ]ё^x3\ӻy0aąQH[-$' ژoDz>pk>h)D[B }V"'vl0 MjQ-;pu7DRBvMp)&>-S.B]'߉ӯKY&}|wLg87whMtT.ߖMMStmyJ]]5,ubdff}{߷~l㧚fmPTO$1JjD9P (Ԉ/ƁI:v=\rãL BϮTT܇E?@ MڲU$o(>n1ct2`+ Euǹnu=?92Uzڄ{) v"t(˃':2-4\^^q/v3/SlPDFZkExKԆDÁHJR{zރøn5YTk#&@nI$!S+ tBt~B" ŵtQ"H^uMӧ:Q!Hk6Pkwa.~jC?+|Oᅪ0W@C F> L 38X3֮BG?CmMaX0hj%@Y$4HW7.*rtч6KVTPK]<bsV>4DZ7T7.{o,YɖSpڊ˱~{qVs_.M$|d:8 k3徉xŠ$fvsF?^ƭI4U.?Q*Xm8Buj+,ىm *+{ w|hy. 񻁩0z25aQ=j; ~ɋ~׎qkkcqwˡݸ[?!T'qrd `ZowNXmc6:HZ4l!L=D6w;-{N9b_`Рo^)=$Ҫߝ (xoVxwRG*IKPӿF.I͗Ճ7>MI Z4_m*_8s00_ Hy[;A߅Wu]7XoYvnЫ:vQ行μ1,V&^-76~Lb[Ƶ0IV樠uU徰t'M?jg@I .syI|C%!0* })ǻN3U!0g}INk ISF7rܬ,q^x# :V@+,_:6hGinƚe.$ d[v +O  $׻{LB^ȣQßjj+jќh)@e=rG$zـƴdWtcX\OҠLL#ȥtt<)VYQSuoʔslZgRuhǿ=.bܩD$@bSYH ;:!BCX[Nԝ7EGK0u%6kr2A21/@ Љ2sIsP/q^zێ9f\Uakc7xiDҥzdUwvE㓩jL+dǍ#ǂ W~\** 5 .I{.b$R7EOc2J‘!H}PFH&*+j䙊1\k&Bd5*᥇`U xdu5-?/%>?F1ʈ$8 $x`ö\6P6Kb3(juiڐ'\bX,Ymϧ u=#0!%=dzroi"(Ik*xz&֗,]x B@$I#ɀ5γ!l .M㱕Dˮ# 5BRۢ ?e`nJ 9vtX^Z'žN>/ey Z/;€%㣪/a|ƓdGIy/#05h$אI,BzN&XΓ ePXb#2ѽwXb ?Ic<1#Ƨ_P\b:w69l'Q KdY#UԿe|ƷXu: QOsh|Aǜ{ݤ2x ߂XwQ8\)G/)3Z6[ێ`r`awPN}:8-s"7ehtU:lģj[ڙWlҤ?a =xPZ{9XԞfl9T{Uu)y3YRX6BEu.Ku hu/rm [\JuLJnQk 7{ʞ=B+Rb0Ib^Oe&\U!09 HGDQB) KT״bj7r.cNMuNU[bPy—Ea 2ѡ S3?xR⚳Ame45 ֤MӚkKg' !O=Oqa}ԍ|48n(4TΔR{ñƑXљaHK4 wW=r!Yt^Xn-;DNO.Y_Yfm>{_k[e ˦<ε||Z*rMuj(R(Sh&. mPezL>;N|Mns8D߻% sx{>[˒|N[6R |vCb><$ܨƋ69DEPK׵* %\͆v Wګ|YznMKDk)=]x| 녇nPpqWYg0h\zC1u4B2UVMTo yדD?jWF1߀mS%4aN9ECtB>#=ov{4nd΁)Bs^#'O*Z2m`Qcqml㷰nysAuxMD,Ơ @nrrweKSZ3ʼ4jT:m·T26%̖_45*4 6m 1L"I҄pP(q$9{?)9RuhhDX3?0J]aųcʛ\F> @.VS!ñ''6p0ܧs2gL  hz#A[kl@6H&z.6?O?j-^'ed!{=IG{ң4$3~]XXEW S1Ňp# `@40)&v'znoس!w2Mݯ x6꣎k)ťJ)(IbmIEሀ%s$&1n$1\7/|AXT 6\BအYDTcn$oxj1iВk.sO :IdfkuK$fºD}.]^!*4b]cl ig=)\|y9D-q2b4 0L̘ c~zý/Jl!8iWu)qv,OIHZp@.LՊuު^̭7HO24ye&Y\YJ \aWƆtH|#h ݵ 'S) }%{+β3D<#LBSdpn&)11Gce "n }wb`4uSp=5kU*9OyUmͶ"Ge^f%FZ)6e9)(<" +f&VB9[Jd= 9$,&5KVSGk‸Yu~9F4-&EyK 3f=LVgI/N9y\Ln륵7+uǑA<3r#7^me>mlM0E Mlng1<$? Z(kwsΙDSS|cҼ*݈R=ud$KW{nzeܶf _py/Z![>Ȱb?X'*q޼|ڄ$h$jBٳTSU<֛ѕ!clf>98Y#7_1Ҫ{=ױ֜˧\>uj+fd۶\sEF7rb  @=>rSik@&mc~OU繐y0~-q^j}K\$:B5YljiƦ ?񅶵GoIkBSB1g2)dWcH+]lPU]s{9tHMM-Kb!PJMk$Yl2+lPŁBԱm5R`kȂU!ԛ%Qp-Ԓ[ΰ ~qzE!oa ֳed_+ EJ8@o'O?|ᇍ)X#y NM`rp躗WLxu\-yJLgWM|( _Ⱥr).LTtTj0x2&;:zOOvWesaj!Z9%eTj\ {2h! $"K2L9+c+wDGuп{<$]i!zMT)9/xɽ=@ȼ-qmj!rD_ց[5X #øS6IMģ-dƅL'rlt֊߸ʐt6ɥn(i/Tnw-2?:k3*.YR֐,%2MpȳVxIkLW4k"lpյ T3ܚ: tik0)Oiehu:^E8DR9X?o~RH1[GC]M[L|Bu٘r?⥤Rmơ^Fv}7RC#$r2>m~ʹ"|VDǩ;g&kvX6 JAۃ~:{3%5[Ӆ#mDWv@w&܀܍"!j#M.mĦtШr):,m1@T(:ٴMDs@AM}VFO@N3]2m;|2 xGC2Ƅ15BAPQw[]0/E DRN4~urcUlOC\׸!n[Jґ3#@(? RមATs@ Q`$@^#LI@ I36@gYtFib3 ,ξeDuyK3yscU]b5lp Z\v"P~DǓ@۸cKYm gr ʪI43\gQqV+*쇮D+"{̂y 9WH($.ao񳳨Yxn=#+%y;o+T}x БLhC cīJ7b8^?esSEVo`|by@ۨbdnDw?C 0ߨ,c3~j*.n`uG SGhUql@r.o$ Gy9ݟ=cmNPul X]g:?b8'ewYGnas7qo>4fx XTd=@峫5C̺ 篶Kn#'qLP`-DOPH!AȀ0ʈgRQ%@ =d#=jv'Dq2/I>!MHE˸RD93Ce|yqag/]|:4tfqb]\~[-]/=Hېx԰L} ^ĊGs'<J/֊%YPo)[%F@hC ֖MA [WM=BB3u4oWGA/퀳ʗ7T=|1!N"a׼Ug2 he &t+sr.xa=WŞPԁA6sf\`P> JSUBbFts~$"oDLܭZdP*)eg:prdX. Kպ(ݙ}, ?HicR9%ȘQK 5@GIQ!*93_kSLIE,l ?FN7r;i ?@OuGdrx *D&fxgXױ,-* Jv避|}^!"x?G^/ʮ D~gd&eي.USeSPkfA_TOlD#(teH:E0LB_ILF5P^BIBD4{l\E;@ }?ޔbeBG&*@Rjp˞i+^9yNdMS0͂z..Ə9ɳ6oq'TuIOu5atMI G$P:~vgk7d(,?Kwyfqcz'c[=Єϰ xdq4F!.7+֤ZO:o 3_,ZroyK$u? ޮbŞS*2!l<] OMJHc#:lCϭ;λmQH]s9PpL}><.ok>7jG,Dc40EFjr*vZN zA L [3rD'֮>ݛ+J52Azx%{[ Q )f9i5Bv2q; KM!2SdhI^#V %U=$_!T*y-)3G^-%^T9nRE2D=+گ"j13pf./_n%^="’N5Ű,Ov%G\ ;sKAy:kCM%V㑂2i987xGT͠TC&&-FpJ԰ԕ,dnQfDҦB"I^¼ N`t+%r XIpg17Mӳdd#21S+w烉p51+S3\~3]͎|vcE%~cm4X Z!Hl=n1rՍk (`5WRӃ:l b"@{<aE3y\.E3Oztu$V#fcb9S&Κ&AoNnfM˛.g| fc1}_C,KY{֬"iԎ/?2 lm(ZbWņffO74f}9Jz߯ǼfEBX*{% -'*z0^6g?56}e-D &-/#v ~#!p~xgkpWMϓFP[$c7xxl9 .r#.Chk 9 kc# 1La(dހSue 'XqKd z_wkĀI nbRgC~t&Y_' s{Ud;fMwm,L2cٯD#r|dy#}6}5.T9K4%ʰiȎ=mQ8:@Cұ ܷW|j1~+W /";pAoSQT^2=EhH,IrC_{Yۑ:QȢ;P1YU<1 ⴈ&&mp@k],ӀPQݾăD\ 1ֺm,LIz#._3|hL (AK18~ڱ5'<[YyZ+ k=XPXy&Ȱ1gʍsk3 ɻj<>VOKKx[rJl㓰) A V`3x@epFؖl;>~=b>sLsSAN"]RR=`>nBӐveHq0̳o*1'Fp>gҼƲ>עZ'%* ci:ǫ)=$YgTś)/{Ĕ*GS? 4nŎVJx 7tk딳'+o~g6X|[1:c=o)I&*qAH"T0?u烶祥ոU)Bcj 欥H0ƽLM:VŦ+K{K`D QlJYUe(c$RU9yz.L[M6Tk%ߢZPWˤ&9|ԍnv`F}PS ?\m;zlgav1Q |xg 85BMdr+ (LmuR\<bH+Ժ[ai%:uf`'xv5=%d?ޔ}BA Whm+Z)3'V uP,1cThV}o4o[,%K >>qNT{7e S\[SD}ǪD|D;(M̟a]i,[WƠ#FӨ} $;\xwWf[Pq)ȳǡ"LȑT|?v7 *Ќk,O9< |D*y1uj h*%D"&%[: ~|8K'LBn559NXsܵ pޤmdx~KJL⨸ȉ;JU (uq4RePܝuw%,vv^X/5_]l/e 1 ( H |BhH[_-U>;T+憎M(9p-zNֵKr>ݬ2a/ц GսyB9 l٨r,ma峊,JH U -r;b`|LVBHa%a1g<lsN[DbA.=DnO+r8v~]5:} SI)8jY| n^MZ\87E]ƢjMwTE33H]V6eL 2c>Xp O52l;EOJ/4[ƣpguBT(adp~/%ٴx1x:WfC4o솅e:(z1e"OȠ:cb1T J9~Il򏐞wBB/ ES @U%;}񩙵H:fY+ڟ4]bg]GXe͍*8R $YЖ؂=z;;J8Gg$%\oBgiH<^bhnV]TtXGI`j!a79nnD'hK/Ħ#>t [G$8&֥ )ڮUt! mkDeL9 ǩ ׁ.mTaWn;_Rf Yy_U L 8U_ĝw^R)XJ8%[EXɹ=i#tq `d5?\S M^ ()N+_5=FuKi$7z^9oH4]yA[oʡp43_AHyLR~5F=XS8G:нO]lF4s%rENv~4?pCT.6z[j3-msg p bVYؕ!@3ZR[2"lߪ/ hSJ恾p#/"^ێwb`lG}4).PBbfM4ع,M.+nIk/>+PQ+qxl̷d){L׬}q5&&ED;QfKarJGǦ୞D.~XvәwWerj2ԯ{!|#>8XDT:9XJ\,$*ok p4U,VA{tG{x%9=J%ω,-{׻p!ʴ31KR,@2!78U #MPFH-g{ PGD+ǃ umW:C{vMq ($tzbӽn^^c;1ZA)HޘOpC|s_\n|Nr}oD< 'dCQܹq.-uȻB[0sĬ{$a.tleOcL4<\si%P`N@:d>ɥ=(r|L " &ȅ7ݮu-坞3z6VVMs-5d-GLrL6ï %g߮CD);,n̲*QwZ2*8`ra%j:IqIރt@_vӲɄ+d9>]x0FQ+niU\CM<(1şcp3:NXxOIS؄FxųWߧ(S<^K:U"H*.ewu#bc5ɂ`R3=bz?&io ^6rj%9$;B 9^G!aoRt [ޗnzVu!͸ʁYg#~ED0*EGRSJnħsh(ʡf^0xD*9& *{![l6b z!U](.vXM5Im8JSu<᳼<* X!9d&Otg]4&y:*n/DjL)e F€[Aٽq{̰YT`P7oޝ_ц:Ͷw"ȴ zvD}i6:]cEm+L/1Hj~,G,/k)C׹n$騾R NHA-4*4שX]ׅTz ?ގh/ŲɹiP5Hقs(Nl?h]T-k>#S߾]t[[~BiIKo:k(U;5&"7(ڡv#"GPxYbt&mbw{[kNLAfWhQJYz/,s(k =AGDx8e`'{vR8$HQCwk(; 6RF*|q궽s]OSu?5_XAiƿ!POzN3Z#eQ6q=#0ǯXy be9yR4iOG+'=y1/ b;)f췻aznevUU^!1a;8Y]=t/Cn\c3lg@v= lujdWhrFP"Z_cC0iʕ#p@{bDqG\mLAWnIKnhG5oLa2P7`BVޭtstZWo!jMw{}y9ҍp`jv Go42A'/y7Z**j:U:eYa i?./ٸl ԩ>Lr.;zVѯ>׿hQL=g8=$w1sr\׃ί5 x\g% f)Āvn1i?:n5 >+,lP ϓO[4psPftH@n =({T^䰓xbUFPa]QJj*=LňE5vN#2&{ac)WJǑz^8Iէ5:5@`k_ouUE՟?FVgߚ.7gd…:K9]k]$bsXKoe,r)a 8kypTCbj# 2>%{ q!Tq˜UGԻHܷ?b?]4*")sݿps]EnWaKo,M4苈{ Qmɪߺd5Qr·Τi1ŌȈkl/SFlhbDfICR&tCx:^v#ARX3\ SxWxNwn.Cb]qFzNrKE=dٕTmV_+5hL`byRK.F!)KD~κSF6(W@JDIEj|2cU1M=[R:%mVom0 <Ċ{(Zʍ;Bn$*bitA-%u*}\u|Fى !\pmxq|{T8h_"V%a\

Pm0ChФۤd ݾPɧggt\Fǻb(6cOQ\ ?dUFF-XW#/ToO@i Ѱk+;)p\BXtS|1ݼ\Y*uǻgҊQJ3Xr-2wo$gI?U3t{6` :vbg&0i)V"]g6࢙:4hFt5D@zhg;)^CKF=oP|X_Ec[S#biV1kO>)-f,ȃ.qutWY-N#E7/˱xX~=ÄNv2U& !3(gQ]KfWaő2i-ɶ4j7b& <+72a T7YR&,'t0SȒF ɵX񓕁|i Sm?|&s_]M6/NYB ҧCP`Kݼ02HRhU4´ٸ?g<6%srKhCZ̍ŰX۵(.v/a,;Cj#PnI+>\wTJ)=?T0 +tBIŽ9OYan^G:)9>࡬@ dIIl:p&̼ r8SZ31:tAIlՌTxNn1jFLxP!"V2ܥ-EYXŭqRF).<ʦK;:E;.ǡC3Sw$ZvPl5W[14 q:Wg/Z *$Y4^ dLn!.}Q[uQۼ@=ǿNf^ݬg]UUY?.E7F36xw<2DwL7K=gẌ;{-:͒nz˄Ymo7 itcw^E-9o}BA"d7H; a!X,k_E'yt˻dF^PWrU4gΫlKc{d.} GMaϽeyקomJ̾EZWSE;>c"&Tǫ*a]y['3=Ә^ %8x7"Uwas M|[-lV>sYl^L6ɢE9g ᰮ4!6*R%D7q$GA\K70EhF|!qWLcf0|{N;FsKF: 3lPMbZUelO&,mONfoG#g˙g5\A>1ȋ*R[#Ww(?{s-->|X*<(vj׿oϰvHq8ʂj,V)q%b{]nG14QgT?aȿ {K:C3ǥH-_?p~[!c, o"vG#|Vn)Ar0ΓC"~Q?Ш`HQlQ-HIyvPc&+BJCr\=+)X#veZj fק"#5|0j4+W.,LRt 9Z>uS巇!f)Jl Ke)){Ąћq|%H%=wB MbGu5{.g9JN?\P!Ÿ́꽵ۤS!η 7jh9ׄM _(cMiMr@,&Ɉʅ")X x'iJLuAmϴ$D/{^O( yVH$O*|m{)Oc)mf9Crt3p=BK+Z 2Ri=!`g W9og7! )7\`x~t5s1z= 4gu[$a_ znK6Z(u@8@h@ @c=C6(r!PkξѦRU͑yFR^y !nJjcoT @]2h=Rl%%U2aFkYJT4 ^V'.9Jz:kX4w,P/bKk:ʘ2_d1ԁu*$n9\>sضfL+=02;!P|EVBJs*ՂNqܠyl DV${4Q" j6b !VU c r"tslz$8@|هGT„;ך5u L#ξ9 [u03h4tr3݈a!2A4 S9"v{ |Hx%ZRK{a ut2K^%O-n^v0wYHz.֊#$C>,tSÚ`bu::땸xK*'V_kbH PʯEc< ^H¥=;XGJ4=59vCI{0! Efo'M{!s@jDy%Քq0u#z0sX,89iMo/я)%TNyG9Ɛ0g|g د'M%`fx] 0 ?vs%co;xx@M*(ΐCg)u±7!ݝޜ҉aQ(fv%H2l`9۝ذav}r)= t꫘Mȿ>B7?E%߶&eO#XHQ[a\VC?%RM~+2!UӓV#N )21f)vO98 Ɏip*%=9dwM4^߷ ;.44lFO8wAu׭ 0SQa#@\/K @2 X P>/TҔ-{/6 J>D6 f+y ]g*$;_"4=-?Ylx .zZA-1k\%Ih(BA䕬AQL'0cpq׏=I=*X 8<9WˎcYͅ ^(yap fw0∪*8VvEEo8,\q>oIpfׄsz\;ݓzFЅM*DRr{ΖdP fi= QD=0ez dוiw=cN>)_/%!ɑ_W!r3ԂHSрpJe(阒J:L7Wqk%(I~XS-nSe@udJE*T~G]]ɑ9eWNk3˫E;mB 1m pdl"9_lۍu@/S$ٿ7JgAᑽ^D @/\d&Yo)Y'<,ZEcJDTNO=>davWbڸ%!ӫ܅mnA\3, h#.O YI ML1+I`Uց04}%8Sz485&3/|(cW}2MgϿ917 Y g\1o Bͤf3^xvN[4L@qo:G` S[j%;d㻵oE^\)P(#zO9q{a˧rA 1dOc wYa-|E ].C9U ]m/˄,ӹthjY 5Vbl 6DB y*ݸT,Cz)o\zj0abN"͎rk1N-M)sʹOsY:AcdcMYvHN.?LbuRs޺da{I޵쎱"(gT7K6|UU}u ШP[I.ӆC2\0Cɺo#8<թJQJ2z~?8{ @4#ܻn/P3;@tP'8,+ckbΈeHɱn5he!RxQj{O[ &Y8*6YN; yL/j(%Hi:EWC$oSM}Q*Ǹ5hƴR=z~buZEJ 1W/Bc{ ]>Tѡ5ڜe~:@A֤ƢK5A$ok'|GVtunn)$[U$jPUnsJ^2MmjMqLq-^^m9%giB<&+G-b 9Ƙ;:,@Reh*6UM]ќd ,io=)şr!x X[BsEUpMuo]Dݾ,.e?gZG]ͅLwy\irS߂bd9knj}e#"N1E9af;a~($ Q1*.t gt~956%yK4F©Ʈޙ8k5͓Ȃ+fWɟǦIr&4[2Q ^~飸3u_т#74?KV?i2ƲiNlwS<`nufgTD@.o9ͣ-8Z'譤1CU9N?Cu r6!Ou!7yuu n=0GU )Jq&[#zaoe_:lC)TKj!=lI:f<]iLp"&gc6# OLqdz]#ҞJ?^T&M4(yv90гA<:'+V! ͭ (cvRjͱ i r:oBSi r{bJ^bQѯh*]wkYу&MWu!iieUHSIO^oǪc._Zw(;eMsJx!5sz=M`|!7x֓|8XՇ]㡰G]\{Sjar*'~^![E*EK@<%+jR> GlMUyj70J_ONQcoh3={R mTGJкm?f|%y ?=-C7ޒ䎲uˍ$T v%V.3MvȽbn G!fx8l12j_KX;qy13䘤"djW(|LP/ Me3}34" yZvm̉^~|3bzo?r&hr,W;11L Dnĩ16t8׸t չ; oZ1_Uר+^'vktleI#%B+ɷR]ԕX #-虉Dw}:g9'yt7,Ί6BGMeY {Ϳ =1 G}ٴF4ķEm^/LLHwImYnZVZ}X]Y\)QG6%!m9[`e gذ-D^ '4wvn[~-`m>UGIdҟD.G?)';QwoXLBHPLT>YuH;gIH8U " z a ›<3)_}>38+ߜô_ZtTZ>Z_FFx" =/iU:?N`!^MV}6Κ}ya  ( e-i!9`Fhۅ? ʧvExY`H !|Y68(y[ fȽi  d!oa#FS o(ه̨{Ր#iֺW$pT~{)7MZV^ |L,A8 ARρ6ͩ&!Ez| ТǠ&9gwEg~I[04Y)Szm`SL~"ֺ 0vujՇ9 pEI$ۙP}N■(z&'4ciYys(bJ'3D 3ohׯ <]D]f$O7Rn̸DVS\uT&>a&M6A,)(5ʔ@̢~k s*?!}źOyBU{?@d@9hײR`0sLxq?dwjF[ш3i%܆(~]=Ş/FL:#5lK$TTۖ>!%pk:֫vI ӕ4,"p.E֥7I?43'10so|0S[Qo V*c[r[UZLϗsC{&WqEBbmߥuP^j&/0X$6?n0mȮ9䰪幮i Ŷ9>Uȱ#l{yPaFYn@3J/}c1&r\Ѣ YD *?齄aȞZ{$H:0g*7!? IV'>9PٖRh. |-VLF5,.:k%OGs¾@ *4A:5>}@;qf>WF)C+;ǜsd—& AR2G ܃wIꈨWt4DdIy}'*aS*;`F{*sK5r B/܊gi˸KAh=Y)p%ʒWdp`9#3RYðwhx䷙{8%)kO p <-5R߂ &'# y[w1'_7eͭ)BQ@רW/@?Tfrָ8r/]]t0̆ /_.R:.׎|Fw~fTKX4_b<ťh[{9)2{_ݺ9FO7h+2X89agHp,Șv^lSgR}:EW G^U% ]sS.& ˌ'j]dPf+r]U[ uZB` 9=g^o h W!-'{1qE|S,|0qؖο侓V"b!݀[&vۏtfk~~l&HAFsRBFHCEL&0OL{jkAw,/ҤE3r!O< !!y55Ow &|eKb\fuZͺ2A*&>@Sw~8Ȼx] uZ=V; O6I|;KXϒ L~եnyR>SqG;/9Q[wdWO8 Rfc3ٰH~nZ$hXEpKUok"Yu8"uS v\MچX;8J}eS4+PSKDžSפjo8O,AНx;Z[_a=kS|,{ ;EǙM1}1M\/-_/պ#JRB5TlbK|Q9(tɣ'Da]3Ph13N:|i4yrƳ_3?G)GVn6 ~=DggA}bDvg8܀FAygnڤ Z :Dn;sH&K|mki?űVv۽7q'T\~Ci!@zCۼ1 EE8v]biFtF-BavfNrI Q e ~l]zC?gcC'XW,KZA{qffpBewp5ApRxq ΰh>(O]iI]yi LԆ¼,!"9W+"7(u3w5ށtQ>AUH>F9JYzdޠ5kmnV@Brw&4R@X&jiw$\1c\: c5bԺZ6'O3 YZ0{&|IDnSrp \!UU2b\Rϟxތ%\:~qḰ|HAl2&rB3I%KMW(NAт=nVH8?GqccB]%<<=BLhJ/ NN-N6;x$$ڼQ@}˫LcOjEeuQgn=ybJ*,bpAir4'!vd [yA r0FXC-ճSbuóݝA 7g,SDt9YDtv#A%̷ch#\>b6QF}q6}ȷ:iIF.nzI"E^ןE8B.5epN"AM{8z6țxB縃@1A8v+zhH>}v9zl3T_.<*R;\}XQ#/]\[Rx -hds8x⡠`Zz;x~KpSE3ywygx>u`ke$WUi=H]w%7?}&]{v7xClb ;wB J)Dd>b5nP/% e|hn=@_ vG35RjI9? 5o .&s"NR}$Lexe9</A=)̝o!rZYulRͅp?RU5=YHکuAm[J.XmlE.HkA":NK)30K;䁴* 644~xjZ+c@\u~bj9m_XJOx6kKil "$ZIP TID rɯ`7 uJMV1Aq џv5?T#a&$}φp>}Uv7h2ڍ6=bVr%8+Z]^~[壟jb듍M .pZP8qQT |IY?.rp0/@(k0꿤pgvǨ8jlbV]ZZm-}l=E8N4j5b EuRːϽh]:&"l@a,cƴ^q.yL0 ٌ(.24_ 9OňEc"ϓ%+(Rw VR.- ޯ_źIM@2^!j.q||d#[m8 ݬpn=x߫9lBdX^R&":s:߀-{k9óORbt $Vm>e"N΋+T ) K"BųgvpJ'8N14-s'[iE8v|rs8׎ 7^zN a *'0pF$:s#*ؙ4[ 8S^ R^[F$x!5fk_Ȃ,-}x-{L"v{x6Psc"qҰ+?k]/ 栗;Bt@aM޶%I|'xNX((̓d . |8 WfK-d33 Lpf?u[jcV<PNC:\{iRG4MZ9?\W9|8l'?g˺SYC(_;K-T7(^DƮW5!p~ x chke%ЎЍNt v7IlnV)fJW/78 "۸mP`FZtMU> /,)@S˺Bc2w4 8KZH*;G]ș{Kߚ/Ot]tA7Ilvav0!#XާY!X03fjQagNA@ 0Y:`pRDݬPV|H*{ߡ,HJmZnMl-YUպ/Z*;'}Bxl/xClVP.L(ܦߐ9P6);鶾z6crI+tH:R @QJ`pIk\ hUx찝\*UdQBT Ps[]m-fn 2ek--F\&`-XË6h4S9K "8vR}>|cߚjS4$ 3 oFF's(EI0 K$'<9LkR&282CpK]x h_~ر8 /5gj8_EpL ,4PYeZ"O0"*2'3㦷5rJak퐀Tqaf%i$Pk!DvaZX-W}z!;qx+ҡwLAƫe/E)N[وj&!R øf%w}Có>u;$emCJDg|v-Tz JQ9#o"B\X\S מYg9p$V%D*] +"YYج;an!,h`d nݖ.Eo$+])r[nť3x/=_r^(ߒcA;,PY])pt{fllJΰu . &B{Ji*0 8 Yj{ Zh(/fKՕ0 zY1Mg{㉂Gj4]2ޮf %V+dH;K8ﲑe9/?Ę?¯\\ )Pm e6$XڂWI6j̈́xOVB?>:*Mg7޽9A3]w-t0ًv~TWqێ~# &¸jB\]Z?"P:ʚz2m85ΆdT#?B L4z&pBecʪG k~[|?:3Wx>iES48QMSʩYl2"TufԖLB l BdzRHNDZ!FK aAե2!6:fNMZVc1_]< 0-`zg=&;2;?x/t 0(iƥ@uU." ,1kZGXM @_sFHHLËꁡt:hνod`a楱4S;S ٰI7);BIe"R6swJugH=J&BL"2SgW_FY kF_h}G3\'LhpMe nEE 4[_*T|y'K_ϿqթQnȏ̜H~Nc jYBvC1DpA`lE6*й s/ #n IueTAGR]98 8r%b׾Ec16Rv2,: dÄ4^ೕ0Wa@y %3˜=n#e3!/i 랷SUx-!zK s^|F(r)QI4L2֛GY%]‡]neskW}OAfsߥi*;얙G= eg%\#EeOJdc{i說네  6ƉRe3e%Etյկvu̗--㳊55[?**ՠ<8ʳK#[+%;8xLjq_&Sx\GخB$x(p7VS>= [ᆒ1R \wŝqdkPJS&NAR<=sx {ճ,#ؐ-3`V&8Fd1Ig&U+pme w_g'[oXFigP`etUb%NKTlftl&:{# Yc%1Lՙ^t8!!A.,qV5ML> U%WGuEܣ9FPBסJ%<$0`Xw+] 丗# s ^7Ĵ1#ˬf5;Κz 4 K a3:r[YեYKʞ~ qnCMp(͘n.aBB<JdWq@<|rtP84n;@7~aa"2/IU #~rpD+4~Rp*1Eunq_IDІURm#߱s0Fqh=2̤^ ڀ0!Um}PM'<28 L:|"߭QT=aEy9jhDxyݘ9?BBwA˥pY*OhaNc5nJǞ{f߻mGVsQ?9g|~f% uM(m˺(M]+5 5B#աW:,m35ęd8R5ZMN) 7>@`gv=͚hd-bSH/ZIcBw/ Us24lZ?j qJߨ}mؕ"Խ[Y<6_Hl_=-Kū UK*,/UfXb^vna#UGHX -NeK> atQ+WkEJэ߫(,Ǡ$tY= @A/1eߦ\yd8mRaщ 9Բ҃ڼx>Q>7nzp Uh|;./~1zhyS,2$Md `Oz.=+V)/e֤07^#e/hTˡ:fZ7^ǚ7J4, g3̷mIMzr^\5Zdhv ժ"Ÿfz1u{\ U%vqqMJ@vhM7Ii8Hg1Z'J*T]GZՖZtdw1spKtz2vXjq n-[ Mh@9կWL1Z򑕖(հ9o42H ƝSjqvQ04^[wa5ċ?rǐrH$!sz kNy]+oJ3!#Uc( Ўnr5~Ui/i5ΰOEPvfoxtKpyDЭgQX *ΒDCV ۜxJ;J~ '+~Փ 7Og#٥0õ nQ"}tN{4 Z wEVR Ab!\ |V G얚\?k_ ʝGkV1-;f+Ed]/" u={6Ix\ ?AF (HBo@Xf#o&4Z4-.P^>δ'J'9}fjtm儗x3!k rMX4B=(?fK=37l2)Ƥ6mjW/@^%V;GÁiRΨ%ٞ8"G:bGO%0-Xmz@Û͗8q. Ej6Td?Ch+,?by%\bܨԬp!ikXNpo®N*'H@Ј̶; dX$!h{~\F솊;"iFd(fG4bX._ `qcr-R3~R'Rk2fɼO";":隅*t#܍u@^oE6@J.GXHх5ޏَX3wGOή*BGwm접ZOK΂^h؂G\1/r!>o|$0`|6 1y}A YZ