pacemaker-1.1.18+20180430.b12c320f5-lp150.2.3.1 4>$  Ap\Ը/=„D  TA]gQK>h91v`CP[@Qμ YS~DʷSBEzu.b*c1NTr~SN2 \MRU.NJuRB[,tO:wz_P]q5CԠj]pOp?`d & 2 f ,Gbho | 00 0 P0 0 0 0x0r0 j 0!d!5"p5&5'''('8'J9,J:?J=J>R?Z@bFjG|0H<0I0X,Y8\0]H0^ bcdeflu00vwP0x0y{z˼ \Cpacemaker1.1.18+20180430.b12c320f5lp150.2.3.1Scalable High-Availability cluster resource managerPacemaker is an advanced, scalable High-Availability cluster resource manager. It supports more than 16 node clusters with significant capabilities for managing resources and dependencies. It will run scripts at initialization, when machines go up or down, when related resources fail and can be configured to periodically check resource health.\lamb02{openSUSE Leap 15.0openSUSEGPL-2.0 and GPL-2.0+ and LGPL-2.1+http://bugs.opensuse.orgProductivity/Clustering/HAhttp://www.clusterlabs.orglinuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in pacemaker.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in pacemaker.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-pacemaker-update-$service-new-in-upgrade" fi done for service in pacemaker.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset pacemaker.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in pacemaker.service ; do if [ ! -e "/run/rpm-pacemaker-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-pacemaker-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in pacemaker.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable pacemaker.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop pacemaker.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart pacemaker.service ) || : fi else # package uninstall for service in pacemaker.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fi *~8<8@(;: "_`bx%ò BNFgB%t]Dm6A큤A큤A큤A큤AA\X\X\X\`\a\a\a\a\a\V\a\a\a\R\U\a\T\a\X\a\Zr&Zr&\X\X\X\X\X\X\X\X\S\X\X\X\S\T\U\U\T\R\T\X\X\X\X\X\Rfc56fbf9b94e517dc515cb40a313ab9eb6286fa0f774d6f7246a1527fda6c0cd9e209c942723585bfc102b85196f2e0faba9c593297ba827003511f9c05ea54fa79cdbea92e32b2dd78c798ac315575194fced4e08b8fff3873d11ccae8318a75a7dfb0570a3959fd4f7d62262f7475d199c8340ef2c1e959ab5ffe98703d80184b0c843dff1c2eca06c52276d552d6cd4f09c9e7d90929d7195712279f627d5ba89911aad14c8c24560eb315eb0ab27fef53a5865caed7608ac62fb2ade1e52c43862ae8ab7692c999de97d04123b515ad3751f091b7f900532be1a7627b71244827dacb1073cf7d17c1474248b98dad665b7aadd7f13f80d5f1702dfad1e1fa9e3cbafac7f4a12d608f55c49275ab7cb534839dbaee73df5508650cd2f8395161c5f6912449d780e884d97d73fa21290ddc6ac83ca732b353e96f043b1c559be9fc3b0297a613255b68fedd6eb832c3a8c1573fe02564460a03dd23a54eec8258e6347d11c41a7475d25258ea8936a2890f83f56295a2034ce603dc94c8a18e684981c8c6272719a800d8c026163c3d85303d438b5b296b9a38b22c0f858908fd491cc3fee6d93cf93b143268625bd89b55a9ee8bd3990c12008cec9c5d64cf92fb72769be0734ebc65c62ad3ea8f86f1026870eaf7ef6bd69b4c61b99ee9c37e17476a1e43cfc8ff0ff52a195b877474fb20aecbedbad85c176e4085411f6f5fe3f2981709245841425dc9293153512ba7784e25d8c8718d549ab4341d80d8d1953bd00c3a980f043f86267a512272dc21ee215077b4dcefd63e12cb40daaaa14f1e7917b99f8f944e954fd5f1957508c8f49f5ed02f0dd7aa6b5e3aa8f5cdcd4bb00745d657cb161e55fad41b2ff6fa647c8abff0ebf4c2c9f4f19c9739ed9a293655c52da5798be5b6ab21960dcd61adb4edf15d40358aa79238c412cfa8e9610913a68b50b89a59184e6ff75a3581784f55a0ab2b5006e4b41e56c6e0c925b98c91087dca5ba437c866a250ff69ecd5e4043d630eae089fe124a1be2979348ddfd44da5a127c59141981954746a860ec8e03e0412cf3af7134af0f97e28177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b88064336b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f898177bd34c21dd99e81e36279f5e48b39bf6bedd004c79014f86f44b1db7e7454bc144a544d9e4abe0439d64059cde4815e7db9d14fd7271b64cea2f7cf68b638458b142a3e86b40185eaad4ad7dbf1ceccbcd6f0df199d031d2037ced02241da17ff5e612085eef402f5a43b8631761c9398ecdd51ad73664ee32831adb54a6784a13c7a779f5f6ddfa6ec876a472513fc7a50fbdada0ca53897d72370589ecf46053d742e751fe68f1890329ef00dd0f50cab824fe545f70af34d98cb25a282b32f46526e5783337a3227725bebdf71af5678fcab9e87b122ee9f47b152014dd4c55c4bd325641c7c1d49b33131d41758c58d4e3f1a72673ddeb9dd0528301a3be21b03046628a3728e1ca3f8c187ce0d93431f5b4f78f5f5b08059f881a8bf1663a14435cd7a7985d371f9e048b17b817952a1cbdef40b7998ca3539d57869e73e5dae17eeffe14dc5e33f61e86121c363427a9a44736804cb9e65e66bdfb1cf1ce6888ee2a9be6ea1e3943a5b30cac37634fc6284b98f5b35f252c94863ec856c68f5c6ad9a8f101c4b5f38d49d3b232a6cff3e7f05a040403c520d281cffef55cb6e075c3b17c22f6cfcdfedc6d1d9ab455456da1f2e7a6c7a804958686a7c7a9f5bbc4fd9e36f79399d98a33f238f2de7fea4f3c23617c38d21948ce40fservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclusterhaclusterrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroothaclienthaclientpacemaker-1.1.18+20180430.b12c320f5-lp150.2.3.1.src.rpmpacemakerpacemaker(x86-64)pacemaker-ticket-support@ @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/python3.6corosynclibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcfg.so.6()(64bit)libcfg.so.6(COROSYNC_CFG_0.82)(64bit)libcib.so.7()(64bit)libcmap.so.4()(64bit)libcmap.so.4(COROSYNC_CMAP_1.0)(64bit)libcorosync_common.so.4()(64bit)libcpg.so.4()(64bit)libcpg.so.4(COROSYNC_CPG_1.0)(64bit)libcrmcluster.so.9()(64bit)libcrmcommon.so.13()(64bit)libcrmservice.so.8()(64bit)libglib-2.0.so.0()(64bit)libgnutls.so.30()(64bit)libgnutls.so.30(GNUTLS_3_4)(64bit)liblrmd.so.8()(64bit)libpacemaker3libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpe_rules.so.2()(64bit)libpe_status.so.16()(64bit)libpengine.so.16()(64bit)libqblibqb.so.0()(64bit)libquorum.so.5()(64bit)libquorum.so.5(COROSYNC_QUORUM_1.0)(64bit)libstonithd.so.6()(64bit)libtransitioner.so.5()(64bit)pacemaker-clipsmiscpython3resource-agentsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd2.0.01.1.18+20180430.b12c320f5-lp150.2.3.10.13.01.1.18+20180430.b12c320f5-lp150.2.3.13.0.4-14.6.0-14.0-15.2-1heartbeatlibheartbeat23.03.0.04.14.1\R@\I\E@ZS9XS5d@S,)S!S!SnSnSnSnS?S?S@R@RRR@R@RURRR2@RΏ@RSRjR0@R;RRRRR@Ru@RfhRfhR_@R^RM\@RH@RB@RB@RA~R8D@R/ R' R$}RQQdQQޞ@QLQLQ@QcQ@QQ@QQ@@Q@Q@Q@QQ@QQU@Qo@Qo@QnQ]k@QYvQYvQU@QU@QT0QR@QR@QP<@Q?Q=@Q9Q0@P@OF@O.@OOO@OOtNOpZ@OoOoOm@Ohq@O_6ObO N2NNx@N;@MRMQ0@LLi(@L_L[@LZLPLF@L=L3LL0K@K;@K@K@K@KKKՀ@KыKK @KK9@K9@KK@K@K@Kg@K!@KK8@K8@K@KKO@K@KK@KqK}+K}+KqN@KoKY@KKK K?J@JJu@J@J@Jv@JeJ[!JT@JT@J/@I@IIд@IÅ@I?@I?@IV@IIIygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comjengelh@inai.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.combliu@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrbrown@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comtchvatal@suse.comygao@suse.comtchvatal@suse.comtchvatal@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comrguenther@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comdimstar@opensuse.orgygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comjsegitz@novell.comygao@suse.comro@suse.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comschwab@suse.deygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comlmb@suse.comlmb@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comlmb@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comcoolo@suse.comaj@suse.deygao@suse.combadshah400@gmail.comygao@suse.comygao@suse.comygao@suse.comlmb@novell.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comygao@suse.comtserong@suse.comtserong@suse.comcoolo@suse.comtserong@suse.comtserong@novell.comtserong@novell.comtserong@novell.commeissner@suse.delmb@novell.comlmb@novell.comlmb@novell.comtserong@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comtserong@novell.comtserong@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comygao@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comdmuhamedagic@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.com"lmb@novell.com""lmb@novell.com""lmb@novell.com""lmb@novell.com""lmb@novell.com"abeekhof@suse.delmb@novell.comlmb@novell.comlmb@novell.comlmb@novell.comlmb@suse.delmb@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.delmb@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.deabeekhof@suse.de- CTS: really don't require nodes to be specified if listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-really-don-t-require-nodes-to-be-specified-.patch- cts: temporarily disable any enabled cluster serivces when running remote tests * 0002-Test-cts-temporarily-disable-any-enabled-cluster-ser.patch - cts: service counts as enabled only if it's explicitly enabled * 0001-Test-cts-service-counts-as-enabled-only-if-it-s-expl.patch- cts-exec: still run the tests for the other resource classes even without python systemd bindings (bsc#1121808) * bsc#1121808-0001-Test-cts-exec-still-run-the-tests-for-the-other-reso.patch- CTS: ignore monitor failures when testing remote node fencing * 0002-Test-CTS-ignore-monitor-failures-when-testing-remote.patch - CTS: lower remote connection failure detection time * 0001-Test-CTS-lower-remote-connection-failure-detection-t.patch - cts: use bash in the pacemaker-cts-dummyd * 0001-Test-cts-use-bash-in-the-pacemaker-cts-dummyd.patch - cts: clear constraints on cluster nodes (bsc#1121272) * bsc#1121272-0003-Test-cts-clear-constraints-on-cluster-nodes.patch - cts: resume any possibly frozen pacemaker_remoted when cleaning up the test (bsc#1121272) * bsc#1121272-0002-Test-cts-resume-any-possibly-frozen-pacemaker_remote.patch - cts: simulate failure of pacemaker_remoted by freezing it with SIGSTOP (bsc#1121272) * bsc#1121272-0001-Test-cts-simulate-failure-of-pacemaker_remoted-by-fr.patch - CTS: don't require nodes to be specified if only listing tests (bsc#1114840) * bsc#1114840-0001-Test-CTS-don-t-require-nodes-to-be-specified-if-only.patch - cts: set default number of iterations to 1 * 0001-Test-cts-set-default-number-of-iterations-to-1.patch- fenced: Handle fencing requested with nodeid by utilizing the membership cache of known nodes (bsc#1094208, bsc#1107270, bsc#974108) * bsc#1094208-0002-Refactor-fenced-Handle-fencing-requested-with-nodeid.patch - controld: able to manually confirm unseen nodes are down (bsc#1094208, bsc#1107270) * bsc#1094208-0001-Fix-controld-able-to-manually-confirm-unseen-nodes-a.patch- Add missing %pre section for cts- spec: Install /etc/pacemaker directory for storing authkey file (bsc#1082883) - spec: unify quoting in {pre,post}* scriptlets' action soliciting - spec: add a simple retention of pre-existing log move targets - XML: upgrade-2.10.xsl: resource meta_attributes: tweak diagnostic msg * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-tweak-diagnostic-msg.patch - XML: upgrade-2.10.xsl: re-apply on scheduler CTS test cases * pacemaker-XML-upgrade-2.10.xsl-re-apply-on-scheduler-CTS-test-cases.patch - XML: upgrade-2.10.xsl: resource meta_attributes: validity conformance * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-validity-conformance.patch- execd: avoid memory leak when testing remote key * pacemaker-execd-avoid-memory-leak-when-testing-remote-key.patch - cts-scheduler: avoid unsupported usage of requires * pacemaker-cts-scheduler-avoid-unsupported-usage-of-requires.patch - controld: avoid memory leak when synthesizing failure * pacemaker-controld-avoid-memory-leak-when-synthesizing-failure.patch - XML: upgrade-2.10.xsl: resource meta_attributes: isolation* items * pacemaker-XML-upgrade-2.10.xsl-resource-meta_attributes-isolation-items.patch - XML: upgrade-2.10.xsl: make diagnostics more direct wrt. context * pacemaker-XML-upgrade-2.10.xsl-make-diagnostics-more-direct-wrt-context.patch - XML: upgrade-2.10.xsl: remaining "marking" space with op meta_attributes * pacemaker-XML-upgrade-2.10.xsl-remaining-marking-space-with-op-meta_attributes.patch - XML: upgrade-2.10.xsl: simplify 2/2: HelperIdentity, no INNER-RECURSION * pacemaker-XML-upgrade-2.10.xsl-simplify-2-2-HelperIdentity-no-INNER-RECURSION.patch - XML: upgrade-2.10.xsl: simplify 1/2: resource instance_attributes * pacemaker-XML-upgrade-2.10.xsl-simplify-1-2-resource-instance_attributes.patch - XML: regression.sh: modularize "XSLT processor", allow substitutes * pacemaker-XML-regression.sh-modularize-XSLT-processor-allow-substitutes.patch - tools: improve error messages from crm_resource --move * pacemaker-tools-improve-error-messages-from-crm_resource---move.patch - tools: use output redirection correctly in crm_standby * pacemaker-tools-use-output-redirection-correctly-in-crm_standby.patch - tools: handle multiple values properly in crm_attribute * pacemaker-tools-handle-multiple-values-properly-in-crm_attribute.patch - tools: bash portability issue in crm_failcount * pacemaker-tools-bash-portability-issue-in-crm_failcount.patch - libcrmservice: don't consider a cancelled recurring operation as failed * pacemaker-libcrmservice-dont-consider-a-cancelled-recurring-operation-as-failed.patch - tools: cibsecret --help/--version doesn't require cluster to be running (bsc#1102915) * bsc#1102915-pacemaker-tools-cibsecret---help--version-doesnt-require-cluster-to-be-running.patch - spec: package cts-exec-helper with main package instead of -cli - spec: move old logs after upgrade - scheduler: improve failed op message * pacemaker-scheduler-improve-failed-op-message.patch - libcrmservice: find absolute paths when used with "service:" * pacemaker-libcrmservice-find-absolute-paths-when-used-with-service.patch - libcrmservice: separate LSB-specific code into own source files * pacemaker-libcrmservice-separate-LSB-specific-code-into-own-source-files.patch - execd: handle systemd actions correctly when used with "service:" * pacemaker-execd-handle-systemd-actions-correctly-when-used-with-service.patch- contoller,scheduler: guard hash table deletes * pacemaker-contoller-scheduler-guard-hash-table-deletes.patch - controller: don't abort after delay if we're no longer DC * pacemaker-controller-dont-abort-after-delay-if-were-no-longer-DC.patch - libcrmcommon,pacemakerd: kernel task name is at most 15 characters * pacemaker-libcrmcommon-pacemakerd-kernel-task-name-is-at-most-15-characters.patch - io.c: restore -Werror buildability, put conversion specifier last * pacemaker-io.c-restore--Werror-buildability--put-conversion-specifier-last.patch- libcrmcommon: avoid memory leak on failed IPC send * pacemaker-libcrmcommon-avoid-memory-leak-on-failed-IPC-send.patch - daemons: improve connection loss messages * pacemaker-daemons-improve-connection-loss-messages.patch - libcrmcommon: improve connection loss message * pacemaker-libcrmcommon-improve-connection-loss-message.patch - pacemaker_remote: correct documentation URL in systemd unit file * pacemaker-pacemaker_remote-correct-documentation-URL-in-systemd-unit-file.patch - libcrmcommon: check file/directory writability better * pacemaker-libcrmcommon-check-filedirectory-writability-better.patch - spec: no more buildroot XML to modify- Update to version 1.1.18+20180430.b12c320f5: * XML: upgrade-2.10.xsl: fix "mark space" issue (bsc#1091661)- Update to version 1.1.18+20180427.a34ccd926: - crmd: avoid double free after ACL rejection of resource delete - lib: Changed to lowercase comparison. - all: correct misspellings - controld: remove deprecated configdir parameter - controld: deprecate and ignore configdir parameter - controld: consistently indent with spaces instead of tabs - libcrmcommon: don't record pending notify actions as completed - crmd: improve messages when a node is unexpectedly lost - cib: improve shutdown messages - cts-regression: allow specifying to run multiple tests again (bsc#1091360)- Update to version 1.1.18+20180417.24df451b5: - alerts: Delete redundant code. - liblrmd: cast time_t to long long when printing - cts: separate dummy systemd service into separate files * Drop obsolete fate-323526_pacemaker-tests-shebang-python3.patch - crm_diff: rhbz#1561617 - Ignore attribute placement when comparing in 'cib' mode - spec: remove reference to long-gone file - spec: mark -cts & -doc packages as noarch - spec: fix malformed conditional macros for systemd-less cases - alerts: Change timestamp of Alert of snmp.- Update to version 1.1.18+20180411.2f77f4922: - libcrmcommon: free signal triggers when cleaning up mainloop - libcrmcommon: fix memory leak in schema workaround - fencing: avoid memory leaks when freeing remote operation - fencing: free dynamic memory at stonithd shutdown - crmd: delete resource from lrmd when appropriate - Test: rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes - rhbz#1565187 - Ensure failures that cause fencing are not removed until after fencing completes- Update to version 1.1.18+20180406.633845120: - libcrmcommon: add a byte to pid file holder - attrd,cib,libcrmcommon: avoid %z - crmd: avoid memory leak when synthesizing operation result - tools: avoid memory leak on invalid resource - crmd: log rc code as extended information - cib: avoid file descriptor leak on temporary file creation - pengine: avoid redundant test - libcrmcommon: handle compression failures properly - libcrmcommon: improve empty string check - various: improve NULL checks - libcrmcommon: improve patch xpath searches - libcrmcommon,tools: use format strings appropriate to variables - libcrmcommon: use correct argument type for duration - libcrmcluster: avoid potential use-of-NULL - libcrmcommon,libstonithd: avoid resource leaks - tools: get sensor lun in ipmiservicelogd before using it - schema upgrade: temporary fix to avoid crash on newly present text- Update to version 1.1.18+20180406.ce623681e: - fencing: convert fence_legacy to python - fencing: fix typos in messages- Update to version 1.1.18+20180406.18fe1cc2b: - XML: upgrade-2.10.xsl: add transform for automatic upgrades to latest schema - Log: establish correct character string literals also with qb_logt sink - pengine: fix swapped warning message arguments leading to segfault (bsc#1090538) - cts-pengine: add regression test for notifications for unrunnable actions - cts-pengine: update regression tests for notification changes - rhbz#1545449 - Do not perform notifications for events we know wont be executed - bundle: Added add-host option. - liblrmd: add API function for new lrmd op - lrmd: add new lrmd op to list recurring ops - spec: require corosync >= 2.0.0 - crmd,libcrmcommon,libpe_status: guint can't be negative - xml: Allow local "kind" in resource_set within rsc_order (bsc#1085515) - Pacemaker Explained: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: "symmetrical" defaults to "false" for serialize orders (bsc#1085515) - pengine: Avoid potential use-of-NULL in unpack_simple_rsc_order() (bsc#1085515) - cts-pengine: add new regression test for interval handling - libpe_status: handle ISO8601 intervals when checking for blocking failures - pengine: properly cancel recurring monitors - pengine: improve recurring operation messages - pengine: check for duplicate intervals properly - libcrmcommon: avoid misuse of crm_get_msec() - pengine: treat reconnect_interval more consistently with action intervals - libpe_status: use default timeout rather than 0 if timeout spec is bad - libpe_status: use correct default timeout for monitors- Update to version 1.1.18+20180322.d37067b2a: - spec: Make sure shadow package is installed before adding user and group- Update to version 1.1.18+20180313.2c83c6872: - cts-pengine: add regression test for changing bundle replica count - libpe_status: handle unique bundle children correctly- Update to version 1.1.18+20180312.31c732adc: - spec: make shadow dependency explicit - spec: drop requirements for bison and flex- Update to version 1.1.18+20180309.e51687162: - crmd,liblrmd,libcrmcommon: improve remote node disconnection logs - libcrmcommon: add function to get text equivalent of client type - crmd: always write faked failures to CIB whenever possible - liblrmd: add function to create resource info structure - crmd: functionize setting fake operation status - crmd: always assert when operation can't be created - crmd: avoid core dump if remote connection doesn't exist - crmd: improve lrmd failure handling - crmd: return rich error codes from get_lrm_resource() - crmd: match only executed down events - crmd: functionize pieces of do_lrm_invoke() - crmd: don't abort for v2 diff LRM refresh if actions pending - crmd: validate CIB diffs better- Update to version 1.1.18+20180305.9cd0f6cb8: - libcrmcommon: avoid memory leak when schema transform not found - tools: warn if crm_resource --wait called in mixed-version cluster - Install /etc/pacemaker directory for storing authkey file (bsc#1082883)- Update to version 1.1.18+20180226.f788652cf: - crmd: log transition ID when aborting - crmd: always log unmatched down events at least at debug level - pengine: deprecate require-all in rsc_order (fate#324508) - libpe_status: deprecate stonith-action=poweroff (fate#324508) - tools: already latest schema is not failure for cibadmin --upgrade - libcrmcluster: prefer corosync name over ring0_addr (fate#324508) - spec: add gcc to BuildRequires - attrd: Synchronize attributes held only on own node.- Build: Ship cibsecret by pacemaker instead of cluster-glue (bsc#1082456) * Drop obsolete pacemaker-cibsecret-tool-temp-disabled.patch- Update to version 1.1.18+20180216.ae50b7f5d: - various: improve string allocation - XML: upgrade-2.10.xsl: re(drop) rsc_colocation/@score-attribute{,-mangle} - XML: upgrade-*.xsl: bump the validate-with field from within stylesheet - XML: upgrade-*.xsl: omit XML declaration - upgrade-*.xsl: don't be picky about comments, PIs, etc.- Update to version 1.1.18+20180213.965befd59: - libcrmcommon: use /tmp when creating temporary XML file - tools: crm_master should always work on node attribute - tools: crm_resource --cleanup couldn't match clone instances - tools: crm_resource --refresh should ignore --operation and --interval - crmd: quorum gain should always cause new transition - rhbz#1527072 - Correctly observe colocation constraints with bundles in the Master role - Bug rhbz#1519812 - Prevent notify actions from causing --wait to hang - libpe_status: recover after failed demote when appropriate - lrmd: always use most recent remote proxy - libpe_status: limit resource type check to primitives - PE: correct mispelled constant - PE: Ensure stop operations occur after stopped remote connections have been brought up - PE: Remote connection resources are safe to to require only quorum - PE: Only allowed nodes need to be considered when ordering resource startup after _all_ recovery - PE: Ordering bundle child stops/demotes after container fencing causes graph loops - PE: Passing boolean instead of a pointer- Update to version 1.1.18+20180209.7acb22379: - use proper way to make output files executable - spec: move lrmd_test to cli package - spec: make log directories owned by cli package - spec: move all test data into cts package - pengine: move regression test to cts as cts-pengine - lrmd: move regression test to cts as cts-lrmd - fencing: move regression test to cts as cts-stonithd - tools: move CLI regression test to cts as cts-cli - rename top-level testing files and move to cts directory - tools: drop crmadmin -i and -d options (fate#324508)- Update to version 1.1.18+20180208.f6a261987: - Feature: crmd: modify feature set handling- Update to version 1.1.18+20180205.b44c57e35: - pengine,doc,tools: rename "master score" to "promotion score" (fate#324508) - libpe_status: rename bundle 'masters' to 'promoted-max' (fate#323415) - pengine,libpe_status: rename master-{max,node-max} to promoted-* (fate#324508) - various: merge clone resource type and master/slave resource type (fate#324508) - attrd,pacemakerd,libcrmcommon: make "Exiting" last message - don't use corosync logging settings (fate#324508) - crmd,libpe_rules: drop support for notification-agent/recipient - tools: improve crm_failcount exit code usage- Update to version 1.1.18+20180129.c801ab11e: - allow configuring specific python intepreter version (fate#323526) * Drop obsolete fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch - use auto-configured python executable in python shebangs (fate#323526) * Update fate-323526_pacemaker-tests-shebang-python3.patch - xml: drop score-attribute and score-attribute-mangle - pengine: avoid misuse of function parameter - libcrmservice,pacemakerd: improve privilege dropping- Update to version 1.1.18+20180119.9146c3c20: - crmd: Avoid double-removal of glib event source on stopping- Update to version 1.1.18+20180118.9c3f7a49c: - libcrmcommon: put exit/return handling in own source/header files - Build: bump build dependencies - Rebase: * pacemaker-Wno-format-signedness.patch- configure: Check for python3 with AM_PATH_PYTHON (fate#323526) * fate-323526_pacemaker-pacemaker-configure-AM_PATH_PYTHON-python3.patch- Update to version 1.1.18+20180112.bd7115b8c: - tools: improve help text - libpe_status: deprecate restart-type and role_after_failure- Update to version 1.1.18+20180109.57d48a1b1: - libcluster,libcrmcommon: improve BZ2 error messages - all: use consistent exit status codes - libcrmcommon,tools: improve XML write error handling - stonithd,libcrmcommon: auto-calculate stonith-watchdog-timeout when requested (fate#324508) - logrotate: switch user when rotating logs- cts: Operate pacemaker service on startup to prevent triggering StopWhenUnneeded of corosync service * pacemaker-cts-StartCmd.patch- Update to version 1.1.18+20180104.7ba28d854: - tools: improve crm_standby option handling - tools: improve crm_standby help and error messages - tools: improve crm_master option handling - tools: improve crm_master help and error messages - tools: remove deprecated stonith_admin option (fate#324508) - tools: remove deprecated crm_verify option (fate#324508) - tools: remove deprecated crm_attribute --node-uuid option (fate#324508) - tools: avoid using deprecated options - tools: remove deprecated crm_resource options (fate#324508) - libpe_status: use consistent monitor for implicit remotes - all: overhaul log locations (fate#324508)- spec: Switch dependencies from python to python3 (fate#323526) - tests: Switch shebang from /usr/bin/python to /usr/bin/python3 (fate#323526) * fate-323526_pacemaker-tests-shebang-python3.patch- Update to version 1.1.18+20180101.494eacba4: - migrate cts to python3 (fate#323526)- Update to version 1.1.18+20171221.c91a650ec: - libcrmcommon: drop special handling of pre-1.1.7 failed recurring op history - libcrmcommon: drop special handling of pre-1.1.4 migration history entries - crmd: drop support for DCs that don't support throttling - cib,libcrmcommon: drop support for PCMK_legacy variable- libcrmcluster: use crm_strdup_printf() instead of calloc() - attrd: avoid small memory leak at start-up - systemd unit files: restore DBus dependency - libcrmservice: avoid memory leak on DBus error - pengine: validate more function arguments - Upstream version cs: 098d557cc495944e1b6ebd9d05b819d6da74825e- libpe_status: drop support for "requires" operation meta-attribute (fate#324508) - tools: crm_resource --cleanup with no resource specified (bsc#1071503) - tools: crm_resource --cleanup (bsc#1071503) - crmd,libpe_status: drop support for legacy option aliases (fate#324508) - libstonithd,libpe_status: drop support for pcmk_poweroff_action (fate#324508) - libstonithd,libpe_status: drop support for pcmk_arg_map (fate#324508) - libstonithd,libpe_status: drop support for pcmk_*_cmd (fate#324508) - libpe_status,libpe_rules: drop support for default-action-timeout (fate#324508) - libpe_status: use correct default timeout for probes - libpe_status: drop support for operation meta-attributes in instance_attributes (fate#324508) - libpe_status: fix precedence of operation meta-attributes - libpe_status,libpe_rules: remove support for is-managed-default (fate#324508) - libpe_status,libpe_rules: drop support for default-resource-stickiness (fate#324508) - crmd: drop support for LRMD_MAX_CHILDREN environment variable (fate#324508) - tools: remove crm_mon SMTP support (fate#324508) - tools: remove crm_mon SNMP support (fate#324508) - lrmd: remove deprecated -r/--dummy command-line option (fate#324508) - tools: crm_resource --cleanup for non-primitive resources (bsc#1071503) - pengine: unfence before probing or starting fence devices - Upstream version cs: 4528eb3b726197ab077243ab923ed291473f0ed7- attrd: ensure node name is broadcast at start-up (CLBZ#5330) - Upstream version cs: 407ded8de381543e71c5b94b3ade296fcfd2c828- libpe_status: remove support for default-resource-failure-stickiness (fate#324508) - libpe_status: remove support for resource-failure-stickiness (fate#324508) - various: remove support for pre-Pacemaker-1.0 CIB XML (fate#324508) - libpe_status,tools: remove support for legacy ticket state entries (fate#324508) - various: remove isolation wrapper support (fate#324508) - systemd unit files: enable TasksMax=infinity (bsc#1028138, bsc#1066710) * Drop obsolete bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - Upstream version cs: 53a3fe14b15b087bbde9ccb524d11d0a413cc6e9- RA: NodeUtilization RA is now shipped by resource-agents package (bsc#1070347) * Drop bug-1015842_pacemaker-NodeUtilization-RA.patch- crmd: default record-pending to TRUE (fate#324508) - tools: enable new crm_resource --cleanup/--refresh behavior (fate#324508) - Upstream version cs: f36ad364748880815bf00151c516a1f2deae2fed- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to version 1.1.18 - libpe_status: always use default key location with bundles - attrd,stonithd: more efficient regular expression parsing - libpe_status: avoid potential NULL dereference - tools: use proper variable in message from crm_resource -g - tools: use uber-parent for crm_resource -a/-A - tools: use g_main_loop_is_running() properly - libpe_status: monitors are rescheduled, not reloaded - crmd: determine restart/private digests correctly - systemd: add TasksMax comment to pacemaker_remote unit (bsc#1028138, bsc#1066710) - tools: make regression test insensitive to line number changes - pengine,tools,libpe_status: avoid unnecessary use of pe_find_current - pacemaker.service: Recommend not to limit tasks (bsc#1028138, bsc#1066710) * Update bug-1028138_pacemaker-pacemaker.service-TasksMax.patch - tools: set the correct OCF_RESOURCE_INSTANCE env when crm_resource --force-* executes RA - typo: overriden -> overridden - portability: the difference of time_t values is given by difftime() - pengine: avoid not-really-possible use-of-NULL - PE: Have bundles log to stderr so that 'journalctl -M' works (rkt) - tools: don't expect reply to failed send - pengine: use newer Pacemaker Remote terminology - pengine: memory leak when writing graph to file - tools: don't reinvent the glib wheel - tools: implement clean-up dry-run correctly - pengine: avoid potential use-of-NULL - Update regression test outputs - PE: Improved logging of reasons for stop/restart actions - PE: Allow all resources to stop prior to probes completing - PE: Correctly defer processing of resources inside containers - crm_resource: Ensure we wait for all messages before exiting - crm_resource: Have cleanup operate only on failures - PE: Have bundles log to stderr so that 'docker logs' works - PE: Resources are allowed to stop before their state is known everywhere - PE: Use the node we already have and know isnt NULL - PE: Flag resources that are acting as remote nodes - crmd: Scale all cib operation timeouts - PE: Bare metal remotes _can_ run resources now and must be probed - PE: Bundles only need to wait for other containers on the same node to be probed - crmd: Scale timeouts with the number of remotes too - PE: There is no need for port mapping directives when net=host is specified - PE: Do not always expire failed operations of nested remotes - PE: Consolidate REMOTE_CONTAINER_HACK logic - PE: Exclude resources and nodes from the symmetric_default constraint in some circumstances - crm_resource: Don't cleanup on nodes not meeting the discovery conditions - PE: Restore the ability to send the transition graph via the disk if it gets too big - crm_resource: Prevent disconnection from crmd during cleanup - PE: Do not probe connection resources until the container is active - PE: Detailed resource information should include connection resource state - Tools: Allow crm_resource to operate on anonymous clones in unknown states - tools: Clean up everywhere if we don't know anything about the resource - crm_resource: See what cleanup would have done for a saved configuration - PE: Only pass requests for promote/demote flags onto the bundle's child - Upstream version cs: 2b07d5c5a908998891c3317faa30328c108d3a91 (Pacemaker-1.1.18)- pengine: if ignoring failure, also ignore migration-threshold - libcrmcommon,liblrmd,lrmd: improve messages for failed remote sends - libcrmcommon,lrmd: meaningful error codes when sending remote messages - libcrmcommon: lower watchdog messages when default - tools: set meta_timeout env when crm_resource --force-* executes RA - fencing: don't print event twice with stonith_admin --verbose - fencing: memory leak in stonith_admin --env - fencing: improve stonith_admin help - crmd: hard error if remote start fails due to missing key - libcrmcommon,liblrmd: report meaningful async connection errors - libcrmcommon: return meaningful error codes to connection callbacks - libcrmcommon: async connection callback must get negative error codes - libcrmcommon,liblrmd: improve remote connection messages - pacemaker_remote: warn if TLS key can't be read at start-up - lrmd: tweak TLS listener messages - pengine: don't probe offline or unclean guest nodes (fate#324441) - agents: ifspeed - Try to detect interface name from ip address. - pengine: don't keep unique instances on same node - pengine: improve messages when assigning resources to nodes - Upstream version cs: 23be51236edc34477a99d6979bc0e2cc1e1a7684- libpe_status: avoid use-after-free (again) - lrmd: don't reject protocol 1.0 clients (bsc#1009076) - tools: print descriptive messages for OCF exit code - tools: differentiate trace log level for RAs - tools: show RAs debug logs only when verbose mode for crm_resource --force-* - tools: suppress an invalid error message for crm_resource --force-* options - pengine: don't schedule reload and restart in same transition - libcrmservice: list systemd agents alphabetically - libcrmcommon: add function to sort list alphabetically - pengine: new regression test for unrecoverable remote connection - libcrmservice: avoid infinite loop on bad DBus reply - libcrmservice: list systemd unit files, not only active units - libpe_status: print container type in lowercase when outputting XML - tools: re-enable crm_resource --lifetime option (CLBZ#5251, bsc#950128) - libcrmcluster: improve error checking when updating node name - tools: fix crm_resource --why output when resource and node are specified - libcrmservice: parse LSB long description correctly - libcrmservice: follow LSB standard for header block more strictly - libcommon: Erase old exit_reason - Upstream version cs: 36d2962a8613322fc43d727d95720d61a47d0138- crm_mon: error-exit child if execl should return - crmd: avoid memory leak when caching meta-data - tools: ensure crm_resource data set is initialized - libcib: ensure xpath result isn't empty - tools: missing break statement in attrd_updater - libcrmcommon: check sscanf() result when parsing schema version - tools: check sscanf return value when parsing failed op list - tools: treat bundles with replicas like clones when restarting - tools: allow crm_resource to be called without arguments - tools: update regression test for recent message changes - tools: improve crm_resource --show-metadata error messages (CLBZ#5287) - libcrmcommon: add functions for using agent specifications - tools: improve crm_resource help (CLBZ#5251, bsc#950128) - libcrmcommon: improve cluster option parsing - Upstream version cs: 27b631162104d90e944cbc107c2d46e983f94ca7- spec: Disable deprecated crm_mon SNMP/ESMTP support (configure alerts instead)- pengine: add tests for no-quorum-policy=suicide - libpe_status: properly detect when nodes should suicide - libpe_status: always log startup-fencing value - libpe_status: generalize ability to log warning only once - pengine: reset loss-policy from fence to stop if no fencing - pengine: avoid use-of-NULL when unpacking tickets - tools: ensure crm_resource works if no command is specified - libpe_status: validate no-quorum-policy=suicide correctly - tools: use-after-free in crm_diff - RA: ClusterMon - Correctly handle "update" parameter - attrd: "peer peer loss" -> "peer loss" - Tools:Refactored Crm_resource to have proper assignments for require_* - Upstream version cs: c4a09cfec99570a2509831f4b8974457dcdb1af6- Log: Reduce verbosity of developer logging - PE: We most definitely need to probe connection resources - PE: Ensure the bundle nodes get set with the correct discovery mode - PE: Implement probing of container remote nodes (fate#324441) - attrd: Tweak log messages for clarity - crm_resource: Do not send history erasure commands for nodes where this is none - PE: Resources in bundles should also respect failcounts - PE: Do not send notifications to unclean bundles - PE: Prevent graph loops when fencing the host out from underneath a bundle - Tools: Allow bundle resources to read/write master scores based on the same logic as attrd (cf34f4c) - PE: bundle: Send an additional host list when container-attribute-target=host - PE: Correctly interpret colocation with bundles - PE/attrd: Allow bundle resources to read/write attributes based on the physical host rather than the container name - Upstream version cs: 4328c6a65424d1caf9785107664ec1b7fc824664- Rebase: * bug-728579_pacemaker-stonith-dev-id.patch - Fix: -Wformat-truncation=2: prevent format truncation - snprintf: use correct signedness in print format specifiers - snprintf: use sizeof(X) as size + prevent off-by-ones - crmd,libcrmcommon,libcluster,tools: handle PID as string properly - tools: use right size for string buffer in fake_transition.c - crm_resource: fix a memleak - pengine: sprintf -> snprintf - libcrmcommon: fix possible infloop in buffer_print - crm_snprintf_offset like parts: fix off-by-ones - attrd: improve update messages - stonithd,lrmd,pengine: spelling/formatting corrections - build: install ifspeed resource agent - libcrmservices: avoid assert for HB resource with no parameters - crmd: re-enable local collection of meta-data for remote nodes - crmd,pengine,libpe_status,libpe_rules: remove support for versioned attributes - crmd: avoid memory leak when node state is unknown - crmd: avoid assert if LRM query fails - libpe_status: more error checking when unpacking bundles - libpe_status: bundles now respect PCMK_authkey_location - libcrmcommon,liblrmd,lrmd: validate PCMK_remote_port - PE: Bundles: add support for rkt bundle type - libcrmcommon,libpe_rules: unpack new alert filter syntax - xml: allow specifying alertable events - Fix: a proper calculation of a speed in case of hfi1 for ifspeed RA. - pengine: detect proper clone name at startup - pengine: don't ignore permanent master scores at startup - pengine: handle resource migrating behind a migrating remote connection - stonith-ng: advertise pcmk_on_action via metadata - liblrmd: Make sure the operation of a remote resource returns if setup of the key fails (bsc#1053463) - libcrmcommon,pengine: improve log messages - PE: only print to stdout if run from command line - crmd: eliminate size restriction on node state xpath - pengine: add regression test for remote connect interval wait - pengine: re-enable unrecoverable remote fencing - pengine: Make sure calculated resource scores are consistent on different architectures (bsc#1054389) - PE: Allow resources inside bundles to receive notifications - PE: Update unfencing device change test output - attrd,crmd: erase attributes at attrd start-up, not first join - attrd: accept connections only after CIB connection is active - attrd: make CIB connection function self-contained - attrd: improve messages - stonith-ng: make fencing-device reappear properly after reenabling - crmd: don't need meta-data after resource is deleted - crmd: only get meta-data for OCF and stonith agents - libcrmcommon: generate agent key without :: if no provider - pengine: avoid fence loop for remote nodes - attrd: don't log error if CIB doesn't have an alerts section - PE: Only retrigger unfencing on nodes that ran operations with the old parameters - PE: Output resource changes in a friendlier format - PE: Attempt to indicate why resources are changing state - Mechanism for recording why an action is required - Support unfencing of remote nodes - PE: Ignore optional unfencing events and report the fencing type - Upstream version cs: 20cffae1e9c64217339173c197edac8612ad02b9- logging: ensure blackbox gets generated on arithmetic error - crm_mon: overcome crm_system_name no longer influenced with argv - crm_mon: make CGI bail out on suspicious arguments - crm_mon: make CGI bail out properly and w/o help screen - crm_mon: canonical casing of Content-Type CGI header field - libcrmcommon: handle schema versions properly - attrd: don't reconnect to lrmd if already connected - PE: Ensure nested container connections run on the same host - crmd: send alerts via lrmd - lrmd: execute alerts as cluster daemon user - libservices: add ability to specify user to run an action - libcrmcommon: improve user lookup messages - extra: correct ClusterMon metadata - attrd: avoid memory leak when disconnecting from lrmd - attrd,tools: avoid memory leaks from use of crm_itoa() - attrd: be consistent about attr/host logging - attrd: delay lrmd connect until needed - attrd: add timestamp to alert just when needed - attrd: improve log messages - libcrmcommon,libpe_rules: avoid crash when alerts section has comments - libcrmcommon: add API call for next named XML child - liblrmd: only set environment variables with a value - attrd,liblrmd: handle adding env var at head of list - lrmd: drain alerts at shutdown - attrd,lrmd: generate alert sequence number in lrmd - liblrmd: better trace message when creating command - stonith-ng: avoid double-free of pending-ops in free_device - crmd: log correct feature set revision - PE: update start-failure-is-fatal help - cib: avoid unnecessary memory allocation - stonith-ng: add pcmk_delay_base as static base-delay (fate#324488) - XML: upgrade-1.3.xsl: be explicit about non 1:1 wrt. ACL @attributes - enable upgrade XSLTs to use meaningfully - Tools: Added option of --why/Y to crm_resource to inform the status of resources if running or not - various: fix spelling in messages and comments - cib: reword trace message - PE: Prevent use-after-free when creating bundle constraints - add versioned operations support - TE: don't bump counters when action or synapse is invalid - obtain metadata in CRMd via async call - tools: add version options for cibsecret - alerts: Support of meta attributes(kind, attribute_name). - attrd,lrmd,lib: Addition of the transmission function of the attribute alert to attrd. - extra: Change alert_xxx.sh.sample for attribute alerts. - extra: Change PCMK-MIB.txt for attribute alerts. - XML: upgrade-1.3.xsl: simplify branching - XML: upgrade-1.3.xsl: drop superfluous branching - XML: upgrade-1.3.xsl: simplify "weak identity" transform rules - XML: upgrade-1.3.xsl: easy simplifications + redundant declarations drop - re-enable versioned attributes - Upstream version cs: d134f83b4f0188f6d7cd381c8cdda1a2a7c38bd5- Update to version 1.1.17 - PE: Ensure unrecoverable remote nodes are fenced even if no resources can run on them - iso8601: strftime needs fully populated struct tm (bsc#1058844) - crmd: abort transition whenever we lose quorum - PE: Ensure bundle nodes and child resources are correctly cleaned up - PE: Generic ordering for anything with bundles - PE: Default to non-interleaved bundle ordering for safety - PE: Functional inter-bundle ordering when either side has no child - PE: Basic inter-bundle ordering when both sides have children - PE: Implement bundle ordering - libpe_status: properly disallow other resources from bundle nodes - libcib: get remoteness correctly from node status - libpe_status: avoid memory leaks when creating bundle remote resource - libpe_status: disallow resources on bundle nodes - pengine: make checks a little safer - PE: Clones within bundles may also have notifications enabled - PE: Correctly implement pe_order_implies_first_printed - PE: Do not re-add a node's default score for each location constraint - PE: Bundle location constraints should only apply to the IP and docker resources - PE: Bundles: Allow clones to be colocated with bundles - PE: Bundles: Implement colocation of primitives and groups with bundles - cib,libcib: support option for IPC eviction threshold - libcib: correctly search for v2 patchset changes - libcib: always use current values when unpacking config - libcrmcluster: fix spelling error in error message - crmd: DC should update stonith fail count before aborting transition - cib: Broadcasts of cib changes should always pass ACLs check (bsc#1042054) - Upstream version cs: b36b869ca8fe74caa077c286304f653f0be117ef (Pacemaker-1.1.17)- pengine,libpe_status: revisit fencing messages - PE: Improve logging of node fencing and shutdown - PE: Fence unrecoverable remote nodes with no resources - libpe_status: propagate multiple-active=block for bundles - libpe_status: set parent for bundle components - attrd: broadcast local overrides of sync'ed attributes - crmd: attribute write-out not needed with atomic attrd - PE: Prevent use-after-free when creating bundle constraints - PE: Ensure remote nodes are fenced when the connection cannot be recovered - PE: Improved fencing logging - PE: Assume resources on remote nodes do not need to be restarted until absolutely necessary - PE: Correctly compare a point with NULL instead of FALSE - libpe_status: correctly flag remote connection resources - pengine: improve internal bundle constraints - pengine: re-phrase trace log for internal constraints - libpe_status: set #kind to "container" for bundle nodes - pengine,libpengine: avoid potential use-of-NULL - pengine: avoid use-of-NULL in bundle without primitive - libpengine: don't double score when adding first allowed node - pengine: improve detection of invalid constraints - PE: Prevent use-of-NULL when expanding containers - PE: Partially restore 62ed004 to ensure remote connections are available before attempting resource recovery - stonith-ng: Trigger on constraints added to cib (bsc#1042374) - Upstream version cs: e47bd5bc77a3d1b38589b3716f5112ed39329e7b- RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete: * * bug-1015842_pacemaker-NodeUtilization-RA-1.patch * * bug-1015842_pacemaker-NodeUtilization-RA-2.patch * * bug-1015842_pacemaker-NodeUtilization-RA-3.patch * Add bug-1015842_pacemaker-NodeUtilization-RA.patch - Drop obsolete pacemaker-lrmd.h-include-libxml.patch - lrmd,pengine: remove versioned parameters from documentation and tests - lrmd,pengine: don't support versioned attributes by default - Containers: Relax docker/remote colocation constraint when appropriate - Containers: Ensure remote resources are only allocated to full cluster nodes - lrmd: Ensure verbosity options are handled after crm_log_init() - pengine: unmanage guest-container puts guest in maintenance - pengine: unique ids for meta-attributes of guest-connection - pengine: update regression tests for probes of guest-connections - pengine: have guest-node connection-resources probed - crmd: clean up throttle memory on exit - libcib: avoid use-after-free when deleting CIB connection - systemd unit files: add dependency on resource-agents-deps - pengine: Allow use of resource params and meta-params in location rules - libcrmcommon: avoid evicting IPC client if messages spike briefly - libcrmcommon: don't delay next flush by more than 5 seconds - libcib: downgrade ACL status message to trace - crmd: don't destroy election structure twice - crmd: avoid use-after-free when disconnecting from CIB - libcib: functionize destroying op callback table - crmd,libcrmcommon: update throttle when CPUs are hot-plugged - crmd: remove I/O load checks - libcrmcommon: add function to get number of CPU cores - crmd: functionize checking throttle thresholds - crmd: functionize setting throttle load target - CTS: update corosync fail patterns - crmd: check correct timer for being started - crmd: improve fencing result message - lrmd: Have pacemaker-remote reap zombies if it is running as pid 1 - pengine: add test for per-op fail count - libcrmcommon: filter attributes with '#' from XML fields - extra: Dummy stop shouldn't fail if monitor is in progress - extra: use whitespace consistently in Dummy - crmd: don't fence old DC if it's shutting down as soon-to-be DC joins - crmd: avoid DC sending offer to itself twice - crmd: don't restart transition if no fence devices - crmd: skip restart at (not above) stonith-max-attempts - crmd: allow clearing all stonith fail counts - crmd: track stonith fail counts on all nodes - crmd: forget stonith failures when forgetting node - crmd: consider target when checking stonith failures - crmd: check for too many stonith failures only when aborting for that reason - PE: Remote: Allow remote nodes that start containers with pacemaker remote inside - fencing: ignore empty 'action' parameter in fence devices - crmd: fix remove attr_id from update_attr_delegate() - Fix log showing the node status so that it is easily distinguishable from other logs - crmd: don't abandon fencing after one "no devices" failure - libcrmcommon: more useful message if can't open dump file - libcib: use new convenience function for sanitizing ID - libpe_status: implement active check for bundles - tools: update crm_mon RNG schema for bundles - crmd: add set_join_state() - crmd: fix line wrapping - crmd: update_attr_delegate() instead of set_standby() - PE: Containers: Allow custom docker run commands - logrotate: rotate pacemaker logs inside bundled containers - libpe_status: improve bundle docker defaults - tools: crm_resource should free result if re-running function returns one - libpe_status: avoid memory leak when counting failures - crmd: remove functions from crmd_utils.c - PE: Containers: Ensure replicas_per_host=1 is respected during rediscovery and startup - libcib: change the format of the state id in set_standby() - PE: Containers: Allow the internal and external ports to optionally differ - PE: Containers: Allow custom control ports when using the machine's local address - crmd: set_standby in first_join - PE: Bundles: Better support for net=host, allow the pacemaker-remote port to change - Remote: Allow the port to listen on to be specified on the commandline - libpe_status: allow more than 254 containers in a bundle - crmd,liblrmd: handle crmd-local proxy requests properly - common: Prevention of the double definition. - pacemaker_remoted: Allow compilation with glib older 2.36 - PE: Containers: Default 'replicas' to the same number of 'masters' - PE: Containers: Correctly find the right anonymous child resource running in a container - PE: Clone: Simplified allocation function - PE: Contaienrs: Better checks when assuming a container will start - PE: Preferred nodes are only accepted if their scores are equal to the otherwise best candidate - PE: Containers: Remove containers on termination by default - PE: Container: Add support for non-default docker networks and supplying external IPs to container resources - PE: Containers: Allow specifiying the maximum number of peers per host - PE: Containers: Force a sane hostname - PE: Containers: Add support for nic and netmask parameters - PE: container: Parse network and mount options - PE: Allow the graph to assume container nodes will come up and schedule actions for it - PE: Force node scores for containerized resources - PE: Basic allocation of containers - Core: Track the line number of callers of crm_(set|clear)_bit - xml: Correctly find the first child element - PE: Basic container parsing and expansion (fate#323415) - PE: Correctly test for clone functionality - Improve recovery when demote fails with OCF_NOT_RUNNING - Upstream version cs: ce86684f5d0672791e9fd3043a84f0931cdd97ea- libcrmcluster,crmd: log join phase as text rather than integer - pacemaker-remote: pacemaker_remoted shutdown while unmanaged - tools: disable agent stdout/stderr for crm_resource --validate - tools: Add "--validate" command to crm_resource - tools: crm_resource should set OCF_RESKEY_crm_feature_set - tools: make crm_failcount compatible with per-operation failcounts - tools: support clearing failure of a single operation with crm_resource -C - crmd: support clearing failure of a single operation - crmd: make clearing last failure more efficient - attrd,libcrmcommon: support clearing failure of a single operation - attrd,crmd,libraries,tools: track resource failures per-operation - tools: support crm_failcount -q as advertised - Upstream version cs: 77ea74d01bcb6b7100e1c7acab0e66e79aceaf8b- NodeUtilization: Never set hv_memory to a negative value (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-3.patch - NodeUtilization: Fix mixed indentation, set executable bit (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA-2.patch - RA: NodeUtilization - Use xl if available (bsc#1015842) * Drop obsolete bug-1015842_pacemaker-NodeUtilization-RA.patch * Add bug-1015842_pacemaker-NodeUtilization-RA-1.patch- spec: Merge the SLE and Factory versions * enable_fatal_warnings=0- crmd: new cluster option stonith-max-attempts with default value 10 (fate#323417) - crmd: Change of the log level and addition of uuid. - crmd: use new attrd op to clear fail counts - tools: crm_resource -C should clear last-failure - libcrmcommon: add API for new attrd clear-failure operation - attrd: add more detail to legacy attrd messages - attrd: add API for clearing failures - Upstream version cs: e55d506cc390f0a0335b4ec6e365ea89da30b6b1- pacemaker.service: Add presetting TasksMax=4915 (bsc#1028138) * bug-1028138_pacemaker-pacemaker.service-TasksMax.patch- Build: lrmd: Include libxml/tree.h in lrmd.h * pacemaker-lrmd.h-include-libxml.patch- libfencing,fencing: properly remap "action" in configuration - libservices: ensure recurring actions table is created before using - libservices: improve error messages when creating operation - libservices: properly detect in-flight systemd/upstart ops when kicking - libservices: properly cancel in-flight systemd/upstart op - libservices: handle in-flight case first when cancelling an operation - libservices: prevent use-after-free when freeing an operation - libservices: ensure completed ops aren't on blocked ops list - libcrmcommon: assert if can't generate operation key - libcrmcommon: improve remote connection polling messages - crmd: clear failure only for requested node - crmd: improve message when clearing failures - pengine,libpe_status: make failcount clearing messages more helpful - pengine,libpe_status: don't clear same fail-count twice - cib: properly mark variable as volatile - libcib: avoid memory leak in query_node_uuid() - tools: avoid NULL dereference in crm_resource debug message - cib,libcrmcommon,lrmd: handle IP addresses better in messages - tools: crm_attribute should prefer node name from environment - libcrmcommon: Correctly delete XML comments according to their positions (bsc#1024037) - libcrmcommon: Correctly compare XML comments to prevent crmd from getting into infinite election loop (bsc#1024037) - crmd,libcrmcluster: minor log message improvements - tools: avoid deprecated function in notifyServicelogEvent - libcrmcommon,pengine,tools: pass local node name to resource agents - use callback instead of sync call - libcib: make querying node uuid more efficient - tools: allow regular expression with crm_attribute - attrd: support regular expressions in legacy attrd - attrd: support Pacemaker Remote node attributes in legacy attrd - use status scope to start node in standby mode - attrd: ignore unsupported requests in legacy attrd - attrd,crmd: implement peer remove requests in legacy attrd - crmd: don't clear remote node transient attributes unnecessarily - crm_mon: protect against non-standard or failing asctime - libservices(sync): partially prevent killing foreign process - libservices (sync): ensure no zombie is left behind - cib: improve re-sync handling - tools: implement crm_failcount command-line options correctly - tools: use correct regular expression for fail counts in crm_resource - cib: never disable legacy mode with corosync 1 stacks - cib: improve warning when legacy diff fails - libcrmcommon: ensure filename is not NULL before opening - crmd: be more resilient when checking an LRM command's "from" - crmd: improve crmd's LRM-related log messages - tools: properly ignore version with crm_diff --no-version (bsc#888726) - Ability to start node in standby (fate#323416) - Upstream version cs: a7825f4f0a8db272d1ce0b1f93e8044cbcaa5144- libservices: properly watch writable DBus handles - tools: don't reference hidden parameter in crm_resource help text - Alert: Set SNMP_PERSISTENT_DIR directory for the snmp-trap tool. - dbus: Prevent lrmd from hanging on dbus calls (bsc#1015264) - spec: add %check to run a subset of tests on rpmbuild - crmd: update cache status for guest node whose host is fenced - pengine: consider guest node unclean if its host is unclean - pengine: create a pseudo-fence for guest node recovery - pengine: guest node fencing doesn't require stonith enabled - pengine: remove unnecessary assert - mcp: Correction of the difference in access permission setting. - stonith_admin: Addition of the list-targets option. - stonith: Check for missing params in new device and dup - libservices: treat systemd service reloading as OK (bsc#1059187) - crmd: increase severity when fencing didn't happen (bsc#1011240) - rng: Create resources-2.7.rng to update template class validation - libcrmcommon: Don't report error if the output file isn't syncable - crmd: bump feature set - pengine: disable migration for versioned resources - add versioned parameters support - Upstream version cs: 2817a2081e9e70e7412f0d0a253495611afab55e- wd: Fix to not compare NULL when environment variable is not set - mcp,pacemaker_remote: order after time-sync - configure: fix fouled parameter expansion * Drop obsolete pacemaker-configure-systemd-detection.patch - xml: rng: Keep score-attribute{,-mangle} in the existing RelaxNG schema files for graceful upgrades - Upstream version cs: 94ff4df51a55cc30d01843ea11b3292bac755432 (Pacemaker-1.1.16)- RA: NodeUtilization - Use xl if available (bsc#1015842) * bug-1015842_pacemaker-NodeUtilization-RA.patch- spec: Prevent overwriting existing sysconfig files by conditionally running %fillup_only (bsc#1022807, bsc#980341)- spec: cts brings an RA that needs python-systemd- Explicitly own %{_defaultdocdir}/%{name}.- Revert "Build: configure: make systemd detection akin to + before Upstart one" * pacemaker-configure-systemd-detection.patch - libcrmcommon: fix CVE-2016-7035 (improper IPC guarding) (bsc#1007433) - sysconfig: minor tweaks (typo, wording) - various: issues discovered via valgrind and coverity - attrd_updater: fix usage of HAVE_ATOMIC_ATTRD - Upstream version cs: b6f251a13fadca0cb74702b0c007a55275c8ea09- Rebase: * pacemaker-NodeUtilization-RA.patch - extra: add resource agent for managing a node attribute - crmd: cl#5185 - Record pending operations in the CIB before they are performed (bsc#1003565) - ClusterMon: fix to avoid matching other process with the same PID - mcp: improve comments for sysconfig options - spec: require libqb >= 0.13.0 - tools: crm_standby --version/--help should work without cluster - spec: reorganize so %pre etc. blocks are self-contained - spec: require python >= 2.6 - spec: comment better - libpengine: ensure child is not null before looking up value - libpengine: only log startup-fencing warning once - Upstream version cs: 722276c442bf023931842313bfe0dfb7d90a7c15- pacemaker.service: do not mistakenly suggest killing fenced - pacemaker.spec: consume "systemdunitdir" via %_unitdir - libcrmcommon: report errors consistently when waiting for data on connection (bsc#986644) - libservices: use DBusError API properly - remote: Correctly calculate the remaining timeouts when receiving messages (bsc#986644) - libfencing: report added node ID correctly - crm_mon: Do not call setenv with null value - pacemaker_remote: allow remote clients to timeout/reconnect - pengine: Do not fence a maintenance node if it shuts down cleanly (bsc#1000743) - install README in doc instead of now-removed AUTHORS file - ping: Avoid temporary files for fping check (bsc#987348) - all: clarify licensing and copyrights - schemas.c: treat CIB with unrecognized validate-with better - schemas.c: avoid downgrade validate-with in a corner case - xml.c: better info in cli_config_update on no validation success - fix infloop when no schema validates on update_validation - xml.c: internal self-or-less reference inflicted infloop guard - crmd: Resend the shutdown request if the DC forgets - ping: Avoid temp files in fping_check (bsc#987348) - crmd: Ensure the R_SHUTDOWN is set whenever we ask the DC to shut us down - crmd: clear remote node operation history only when it comes up - libcib,libfencing,libtransition: handle memory allocation errors without CRM_CHECK() - tools: make crm_mon XML schema handle resources with multiple active - tools: make crm_mon resources section more consistent - crmd: bump feature set - pengine: set OCF_RESKEY_CRM_meta_notify_active_* for multistate resources - LSB init: try to be a little more compliant - pengine: avoid null dereference in new same-node ordering option - lrmd,libcluster: ensure g_hash_table_foreach() is never passed a null table - crmd: don't log warning if abort_unless_down() can't find down event - lib: Correction of the deletion of the notice registration. - stonithd: Correction of the wrong connection process name. - crmd: Keep a state of LRMD in the DC node latest. - pengine: avoid transition loop for start-then-stop + unfencing - libpengine: allow pe_order_same_node option for constraints - pengine: avoid sisyphean score-attribute-mangled parsing - xml: score-attribute{,-mangle} has no meaning for rsc_colocation - Upstream version cs: 4cce2b26f6f468c342adb24bf74234a12a0070c2- cts: Restart systemd-journald with "systemctl restart systemd-journald.socket" (bsc#995365) * bug-995365_pacemaker-cts-restart-systemd-journald.patch- libcrmcommon: properly handle XML comments when comparing v2 patchset diffs - crmd: don't abort transitions for CIB comment changes - libcrmcommon: log XML comments correctly - libcrmcommon: remove extraneous format specifier from log message - crm_mon: Avoid logging errors for any CIB changes that we don't care about (bsc#986931) - crmd: When node load was reduced, crmd carries out a feasible action. - Upstream version cs: 58fef06198fef17873d0d2e2d0cc5c7db73c5724- ping: Log sensible error when /tmp is full (bsc#987348) - crm_mon: Do not log errors for the known CIB changes that should be ignored (bsc#986931) - logging: Enable synchronous logging when blackboxes are enabled - libpengine: print target role and blocked status in XML output - tools: add maintenance mode and disabled/blocked resources to crm_mon XML/HTML output - tools: break up long lines in crm_mon console output - libservices: include socket units when listing all systemd agents - fencing: fence_legacy - Search capable devices by querying them through "list" action for cluster-glue stonith agents (bsc#986265) - extra: correct quoting of timestamp-format in alert-snmp-example - pengine,tools: Display pending resource state by default when it's available (bsc#986201) - rng: Allow rsc-pattern in locations for version 2.6 - pengine: Expand regexp references in location constraints - pengine: Allow to set base score for progressive node health strategy - systemd: Allow unit names ending in .socket. - watchdog: Correction to do to change action of the system reboot by fail_fast - Upstream version cs: 630d0d112092042b6f79c2a02bb442e82fee93ec- Remove conditionals that are not really needed as they always kept the values - Remove the cman conditional as we do not even have the dependencies to build with it in OBS - Convert deps to pkgconfig style ones and remove deps that are not mentioned by the testsuite or the configure.ac- Update to version 1.1.15 - crmd: mention that graceful remote shutdowns may cause connection failures (bsc#981489) - alerts - drop 5min timeout to 30s since it is configurable now - Bug bz#5292 - crmd: wait for alerts to finish - libais,libcluster,libcrmcommon,liblrmd: don't use %z specifier - alerts: ensure sample alert agents handle undefined recipient - tools: crm_resource -T option should not be hidden anymore - PE: Correctly update the dependant actions of un-runnable clones - alerts: make timestamp-format-string work properly if strftime-escape is the last character - extra: make alert-file-example cope with spaces in timeformat-string - attrd,ipc: Prevent possible segfault on exit (bsc#986056) - alerts: fix SMTP recipient defaulting - tools: properly handle crm_resource --restart with a resource in a group - tools: don't assume all resources restart on same node with crm_resource --restart - tools: avoid memory leaks in crm_resource --restart - tools: remember any existing target-role when doing crm_resource --restart - tools: correctly count starting resources when doing crm_resource --restart - Upstream version cs: e174ec84857e087210b9dacee3318f8203176129 (Pacemaker-1.1.15)- Clean-up with spec-cleaner - Drop heartbeat conditions, no heartbeat around - Sort CMAN conditionals to be actually logical - Run fdupes to not waste so much space - Add logrotate to reqs of pacemaker-cli - Cleanup rpmlintrc to contain only bare needed minimum - Run basic sanity check in %check phase- Drop sysvinit support we now run on sle12+ only - Cleanup the define conditionals that are never used - Drop profiling and coverage options it is not enabled by default and better to run separately- libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls - extra: correct syntax error in sample alert script - crmd: avoid timeout on older peers when cancelling a resource operation - crmd: use proper resource agent name when caching metadata - crmd: avoid memory leak when sending fencing alert - liblrmd: avoid memory leak when closing or deleting lrmd connections - extra: improve determination of successful monitors in SNMP alert script - tools: avoid memory leak when crm_mon unpacks constraints - pengine: avoid use-after-free with location constraint + sets + templates - pengine: better error handling when unpacking sets in location constraints - pengine: avoid memory leak when invalid constraint involves set - Build: rename sample alert scripts and install them in datadir - pengine : Correction of the record judgment of the failed information. - Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc- alert-helpers: some fixes in pcmk_smtp_helper.sh - libpengine: log message when stonith disabled, not enabled - pengine: only set unfencing constraints once - tools: don't require node to be known to crm_resource when deleting attribute - libcrmcommon: ensure crm_time_t structure is fully initialized by API calls - attrd: don't leak memory when returning due to malformed update request - crmd: always free result of crm_itoa() - xml: adapt crm_mon.rng per recent reorder of the summary elements - Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533- Rebase: * bug-977201_pacemaker-controld-self-fencing.patch - pengine: properly order stop actions relative to stonith - crm_resource: don't pretend that target-role:started would prevent promotion - crm_mon: consistently print ms resource state - controld: use "stonith_admin -H '*' -V" (bsc#977201) - stonith_admin: allow -H '*' to show history for all nodes (bsc#977201) - controld: fix "[: -eq: unary operator expected" issue from PR 1022 (bsc#977201) - extra: Support of the task designation of a resource and the fencing. - extra: Change pcmk_snmp_helper.sh (2). - Upstream version cs: 6a8c1e9d35c65cbfd4019cfe797cb7bb9dfd4322- controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available (bsc#977201) * bug-977201_pacemaker-controld-self-fencing.patch- libservices: clean up non-signalfd code paths - spec: fence_pcmk only eligible for Pacemaker+CMAN - crmd: Acknowledge cancellation operations for remote connection resources (bsc#976865) - controld: improve DLM check with stateful_merge_wait (bsc#977201) - attrd, libcrmcommon: validate attrd requests better - crmd: clear remote node transient attributes on disconnect (bsc#981489) - Revert "Fix: attrd: Correctly implement mass removal of a node's attributes" (bsc#981489) - crm_mon: Fix time formatting on x32 - resources: use OCF version tagging correctly - libcommon: crm_procfs_pid_of() would always return last /proc entry checked - crmd: correctly dig into cib-query-answer if alerts section is present timestamp-format defaults to "%H:%M:%S.%06N" - crmd: Take start-delay into account for the timeout of the action timer (bsc#977258) - libservices: make systemd override file world-readable to avoid log warning - libcrmcommon: correct directory name in log message - Log: make crmd messages more user-friendly - Log: make messages in common quorum/fencing situations more user-friendly - Log: make shutdown messages more user-friendly - pengine: lf#2560/lf#2588 - Correctly set the environment variable "OCF_RESKEY_CRM_meta_timeout" when "start-delay" is configured (bsc#977258) - Log: make operation messages more user-friendly - Log: make startup messages more user-friendly - services: Correctly clean up service actions for non-dbus case - uninitialized use of nano_digits - attrd: Update also dampens when synchronizing attributes (bsc#977846) - Upstream version cs: 389294fd1ebefddad67fff51306f585b758ca860- Rebase: * pacemaker-Wno-format-signedness.patch - RA: SysInfo - Reset the node attribute "#health_disk" to "green" when there's sufficient free disk (bsc#975079) - pengine: Organize order of actions for slave resources in anti-colocations (bsc#977800) - attrd: Fix the synchronization of attributes (bsc#977846) - pengine: Organize order of actions for master resources in anti-colocations (bsc#977800) - pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675) - fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108) - crmd: first implementation of integrated multi-agent, multi-target alerting mechanism (fate#320855) - ping resource: Use fping6 for IPv6 hosts (bsc#976271) - pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187) - ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null - spec: make Publican docs not depend on pre-existing packages - cib/fencing: Set status callback before connecting to cluster (bsc#974108) - xml: use spaces instead of tabs in schema files - extra: Support of the dampen change by RA. - Upstream version cs: 9e382568ac3cd54c222496501088ab3fc158b2e2- crmd: update cluster state in CIB after fencing an unseen node - crmd: don't abort transition for expected remote node shutdown - libtransition: potential memory leak if unpacking action fails - Upstream version cs: 5a6cdd11b4f93b4d55e1b2654078018c339931d4- attrd: crash on exit if initialization fails - build: fix scalability regression - pengine: Suppress assert if a stateful clone is not being demoted/stopped (bsc#971129) - attrd: Support of the dampen change by attrd. - PE: Correctly handle the ordering of demote actions for failed and moving containers - Upstream version cs: d076e9dbf9827f7801c89c6d635df370aeca5e90- crmd,tools: Set attributes for remote nodes directly into cib if it's legacy attrd (bsc#967775) - libcib: Correctly determine the node type (bsc#967775) - resources: match agents' default for globally_unique to pacemaker's - crm_mon: Help admins identify why resources are not being started or responding to commands - PE: Memory leak - crm_resource: Prevent segfault when --resource is not correctly supplied for --restart command - Build: Create CRM_CORE_DIR during installation - Upstream version cs: eb89393a82eb41ff50d041b91765ccac52e873e0- cpg: Ensure group name is never unset - remote: Simplify calls to accept() and inet_ntop() by using "struct sockaddr_storage" (bsc#964183) - remote: cl#5269 - Notify other clients of a new connection only if the handshake has completed (bsc#967388, bsc#1002767, CVE-2016-7797) - remote: Correctly display the IP address of the remote client (bsc#964183) - spec: declare also BSD license as suitable - libservices: Add error handling for pipe() failed. - libservices: Check resource agent is executable or not before pipe open. - crmd: Prevent use-after-free when an unexpected remote client takes over (bsc#964183) - pacemakerd: Correction of the stonithd process judgment of pacemakerd. - crmd: Do not turn on stonith-watchdog-timeout automatically if SBD is detected - remote: Correctly check for SBD configuration consistency - resources: Fix state file metadata in Dummy, Stateful and HealthCPU resource agents - systemd: Modified so that the cluster to stop before the rsyslog - common: Correctly locate sbd via its pidfile - common: Assume processes are active if we get EACCESS - Fencing: Simplify watchdog integration - crmd: Only poopulate stonith-watchdog-timeout if SBD is active - remote: Ensure SBD is consistently configured on remote nodes - remote: Allow cluster and remote LRM API versions to diverge (bsc#1009076) - cib: Do not send notifications when the dryrun flag is present - Upstream version cs: cf67796823c4429714857411e614cfacfbc59d89- crm_shadow: fix broken --display command - ipc: Respect the parameter of pick_ipc_buffer() but don't let it affect the global value - libcluster: crm_peer_uname() should return NULL if uuid is invalid - remote: recover from remote node fencing more quickly - crmd: update node state for migrated pacemaker_remote nodes - crmd: update node state for stopped pacemaker_remote nodes - crmd: update node state for started pacemaker_remote nodes - crmd: add new message type for updating pacemaker_remote node state - libcluster: set remote peer cache state based on CIB node state - libcluster: send notifications when pacemaker_remote nodes are started - crmd: report pacemaker_remote node state in CIB status section - Upstream version cs: c851a117bc77bdefe15181a7d753f1aed867cde6- spec: Move the common directories under /var/lib/pacemaker into pacemaker-cli package - liblrmd: Prevent potential use-after-free (bsc#964183) - crmd: Disconnect the relevant remote proxies as well when disconnecting a remote node (bsc#964183) - crmd: Prevent potential use-after-free (bsc#964183) - liblrmd: Prevent potential use-after-free issues (bsc#964183) - PE: Fix conditions for internal sanity check (bsc#971129) - attrd: ensure remote nodes are in correct peer cache (bsc#981489) - crmd: set remote flag when gracefully shutting down remote nodes (bsc#981489) - fencing: Correctly track active stonith actions (bsc#938545) - fencing: Functionize adding and removing active pids of device (bsc#938545) - crm_shadow: Do not invoke shells with --noprofile option other than bash (bsc#961392) - lib/common: check return value of dlsym() and not dlerror() - lib/ipc: allow PCMK_ipc_buffer to be smaller than default max sizes - lib/services: use self-pipe sigchld handling when signalfd isn't available - spec: associate subpackage with correct licenses - spec: rely on system-wide RPM macros if available - spec: C++ compiler is not something currently needed - RHBZ#1286316: Do an ordered shutdown of systemd resources - header == NULL when parsing compressed message - attrd: Correctly implement mass removal of a node's attributes (bsc#981489) - attrd: Hook up the client name so we can track requests - crmd: Set the shutdown transient attribute in response to LRMD_IPC_OP_SHUTDOWN_REQ from remote nodes (bsc#981489) - PE: Honor the shutdown transient attributes for remote nodes (bsc#981489) - pacemaker_remote: support graceful stops (bsc#981489) - crmd: support graceful pacemaker_remote stops (bsc#981489) - lrmd,liblrmd: add lrmd IPC operations for requesting and acknowledging shutdown (bsc#981489) - fencing: Support concurrent fencing actions on each device (bsc#938545) - pengine: Support concurrent fencing (bsc#938545) - Upstream version cs: c54f10440a7bba5a1491ea8506925c7d6d9ca2a3- Update to version 1.1.14 - fencing: free only after last usage makes coverity happy - crmd: 0 is a valid fd makes coverity happy - tools: crm_resource compile issue - crm_resource --list-agents: don't print uninitialized memory - extra: update SNMP MIB with new pacemakerTrap OID containing pacemakerNotificationTrap - fencing, libfencing: remap fence agent error codes before async callback (bsc#962309) - libfencing: topology is not used - fencing: topology is not used - libcrmcommon: when caching attrd connection, cache connection flags as well - cts: Plugin-based cluster has its own PacemakerUp pattern - Upstream version cs: 70404b0e5ecbe5e51d07c6c2233eea640cbd720a (Pacemaker-1.1.14)- Rebase: * bug-806256_pacemaker-log-level-notice.patch * bug-728579_pacemaker-stonith-dev-id.patch - core: Mistake of the parameter order. - RHBZ#1287315: stonithd: Trigger cib_devices_update in case of deletion of just an attribute - CLBZ#5253: stonithd: Do not intermingle stdout & stderr coming from stonith-RAs (bsc#962309) - resources: allow for top output with or without percent sign in HealthCPU - controld: Return error when DLM status is wait fencing (RHBZ#1268313) - crmd: Don't update cluster/peer CIB fields when processing stonith results - Upstream version cs: e16447de89d25db3b3578c7e080c1a4c2f85806f- ping: Clarify the description of host_list parameter in ping metadata (bsc#956459) - systemd: Prevent segfaul when logging failed operations - systemd: The underlying systemd calls default to 90s for their timeouts - cib: Do not terminate due to badly behaving clients - Correctly check for recycled PIDs in crm_pid_active - crmd: Consider only fence and shutdown transition events to be "down" events - pengine: Support of multiple-active=block for resource groups (bsc#942491) - crmd: use 300s timeout with notification scripts, not 300ms - stonith_admin: add ability to target topology by pattern or attribute - fencing,libfencing: add API support for targeting topology by pattern or attribute - Upstream version cs: a7d6e6b56fd2779a07970df7de4e0fb0b22742d3- crm_report: Call "crm report" if available (bsc#950483)- fencing: crm_resource --show-metadata drops documentation strings for fencing agents (bsc#950375) - Upstream version cs: 6f22ad7312b703289da5d24e918a78117a0825e1- CTS: add "try except" to deal with errors that raw_input gets EOFError and add "--yes" to skip interaction (bsc#953192) - Upstream version cs: 577898dc4ac1efdb5989a996cb5f9ac60ed2eb7a- crm_resource: Correctly clean up all children for anonymous cloned groups (bsc#950128) - services: Directly add operations into in-flight list in the execution functions (bsc#952874) - systemd: Return PCMK_OCF_UNKNOWN_ERROR instead of PCMK_OCF_NOT_INSTALLED for uncertain errors on LoadUnit (bsc#952884) - systemd: Return FALSE for systemd_mask_error() if it only maps an error instead of masking one (bsc#952884) - dbus: Correctly return the result for pcmk_dbus_find_error() no matter if there's a DBusError passed in (bsc#952884) - services: Prevent potential use-after-free when trying to add an operation into in-flight list (bsc#952874) - systemd: Directly return an error if the connection to System DBus is closed (bsc#952874) - services: Correctly determine if operations are in-flight (bsc#952874) - systemd: Reconnect to System DBus if the connection is closed (bsc#931271) - lrmd: Finalize all pending and recurring operations when cleaning up a resource (bsc#950450) - fencing: don't poke peers when remote node status changes - attrd: don't try to communicate with attrd on a remote node - libcluster,crmd: never update join info or processes for remote nodes - cib: Increased paranoia when peer updates fail to apply in compatability mode - crmd: do not accept remote peer data as enough for startup - crmd: remote nodes can't be DC so never add them to stonith cleanup list - libcluster: never autoreap from remote peer cache - crmd: improve generation of node state - CTS: get Reattach test working again and up-to-date (bsc#953192) - libcommon: Ignore CDATA of metadata of the resource. - cib: Downgrade the log message on forwarding CRM_OP_NOOP requests from INFO to DEBUG (bsc#949267) - fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * Drop bug-949441_pacemaker-fencing-provider-internal.patch which has been merged upstream - Upstream version cs: 7bd00f3f3010bc10d13b87e2ff501b597ea6ca03- fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error (bsc#949441) * bug-949441_pacemaker-fencing-provider-internal.patch - spec: Move the normal resource agents into pacemaker-cli package (bsc#947197) - spec: Move logrotate configuration file into pacemaker-cli package (bsc#947197) - spec: Move attrd_updater, crm_attribute and crm_master into pacemaker-cli package (bsc#947197) - spec: Move xml schema files and PCMK-MIB.txt into pacemaker-cli package (bsc#947197)- crm_resource: Correctly observe --force when deleting and updating attributes (bsc#948197) - crm_resource: Correctly delete existing meta attributes regardless of their position in the heirarchy (bsc#948197) - fencing,libfencing: use level tag consistently in internal XML - crm_resource: Correctly update existing meta attributes regardless of their position in the heirarchy (bsc#948197) - crmd: properly detect CIB update failures for remote nodes - cibadmin: Prevent potential use-of-NULL in print_xml_output() (bsc#947180) - Fencing: The device list is expected to be comma separated - Tools: Do not send command lines to syslog (bsc#986676) - Tools: Repair the logging of 'interesting' command-lines - PE: resolve memory leak - libfencing: make topology level removal compatible with latest stonithd API - fencing: parse from correct XML location when registering/unregistering topology - tools: improve error handling when modifying configuration - crmd,libcrmcommon,libservices,tools: potential memory leaks (bsc#948197) - crmd,fencing: avoid potential null dereference in string searches - typo: OPSTIONS -> OPTIONS in crm_mon.sysconfig - cib: Check if the configuration changes with cib_config_changed() only for v1 diffs (bsc#946224) - liblrmd: don't print error if remote key environment variable unset - libcib: properly handle temporary file - libcrmcommon: better validation of environment variable value - crmd: avoid potential null dereference - libcib: potential user input overflow - controld: replace bashism - PE: drop probe_complete actions - PE: Allow resources to start and stop as soon as their state is known on all nodes - Fencing: Correctly construct simple topologies with stonith_admin - Fencing: Correctly remove topologies and detect invalid entries - remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-message.patch which has been merged upstream - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * Drop bug-946332_pacemaker-resource-agent-remote-usage.patch which has been merged upstream - libcib: find_nvpair_attr_delegate: check buffer overflow - libcib: find_nvpair_attr_delegate: check alloc failure - Upstream version cs: 7906df92a713052db1edae851579ea229d8a5393- remote: Revise a misleading message in the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-message.patch - remote: Correctly display the usage of the ocf:pacemaker:remote resource agent (bsc#946332, bsc#967383) * bug-946332_pacemaker-resource-agent-remote-usage.patch- crm_resource: Allow the resource configuration to be modified for --force-{check,start,..} calls - Fencing: Correctly parse 'by-attribute' fencing levels - Fencing: Use dedicated fields for fencing level patterns and attribute matching - pacemaker_remote: memory leak in ipc_proxy_dispatch() - crmd: don't add node ID to proxied remote node requests for attrd - membership: Safely autoreap nodes without code duplication - PE: Resolve memory leak - pacemakerd: Do not forget about nodes that leave the cluster - corosync: Display node state and quorum data if available - crmd: Implement reliable event notifications - extra: Added snmp trap of type "NOTIFICATION-TYPE" to MIB and snmp helper script - Date: Correctly set time from seconds-since-epoch - PE: Bug cl#5247 - Imply resources running on a container are stopped when the container is stopped - Upstream version cs: 20c2178f076ff32fdf9ba9a467c193b8dac2f9e5- lrmd: Upgrade start/finish log tags from INFO to NOTICE (bsc#943295) * bug-943295_pacemaker-lrmd-log-notice.patch- services: Reduce severity of noisy log messages (bsc#943319) - xml: Mark xml nodes as dirty if any children move (bsc#942382) - pengine: The failed action of the resource that occurred in shutdown is not displayed. - tools: memory leak in crm_resource - crm_resource: Correctly check if a resource is unmanaged or has a target-role - fencing: add ability to target by attribute - crmd: Resolve memory leak in remote_proxy_cb() - ipc: Do not constantly increase suggested size for PCMK_ipc_buffer every time we find it's insufficient (bsc#940992) - Upstream version cs: e8888b98cd7dbdfb986c1a46bdb4b113b96e914f- crm_resource: Indicate common reasons why a resource may not start after a cleanup - pengine: Ensure fencing of the DC precedes the STONITH_DONE operation - crm_resource: Compensate for -C and -p being called with the child resource for clones - ipc: Fix output formats (bsc#940992) - fencing: ensure "required"/"automatic" only apply to "on" actions - fencing: Remove unnecessary casts (bsc#940711) - crm_simulate: Prevent segfault on arches with 64bit time_t (bsc#940711) - ipc: Correctly compare values for the size of ipc buffer and prevent suggesting a negative value when it's insufficient (bsc#940992) - xml: Reduce severity of noisy log message (bsc#950551) - crm_resource: Correctly clean up failcounts for inactive anonymous clones - crmd: Avoid cancelling transitions when we tell nodes to shutdown - systemd: drop legacy SysVStartPriority from service units - crm: Set the attribute from remote node. - Upstream version cs: 4ad07f5f464c84b80c739922bd9fd708e8d36e5a- dbus: Remove redundant ref/unref of pending call records - stonithd: potential device list corruption - cib: don't destroy peer cache in peer status callback - systemd: Ensure pending structs are correctly unreferenced - systemd: Track pending operations so they can be safely cancelled - crmd: memory leak in CIB callbacks - attrd: memory leak in legacy attrd's CIB callback - attrd: memory leak in CIB callback - libcib: allow free function for user data supplied to CIB callbacks - xml: Prevent use-of-NULL in crm_xml_dump() - crm_mon: Memory leaks - Upstream version cs: 3fb7f71bf9ca2a3d6e1187fa3b74c7841d6af5a7- pengine: properly handle blocked clone actions - pengine: Correctly bypass fencing for resources that do not require it - libservices: potential memory leaks when executing systemd actions - libservices: memory leak in DBus-related log messages - crmd: memory leaks in recurring operation history - pengine: Addtion of the clone resource clone-min metadata option - Upstream version cs: 3d781d3fe61504c841e3c89b2e8ccff8195d4af6- Rebase bug-806256_pacemaker-log-level-notice.patch - Build: Update version numbers to 1.1.13 in version.m4 and sample spec file - fencing: Broadcast uname as soon as a peer's state has changed (bsc#938410) - fencing: remap sequential topology reboots to all-off-then-all-on - fencing: remap sequential topology reboots to off - fencing: support remapping reboots when processing fencing query results - fencing: treat remapped reboots as reboots when appropriate - fencing: support remapping reboots in fencing query results - crmd: check for errors when searching for CIB daemon's load file - libcib,libfencing,tools: memory leaks from xmlGetNodePath() - attrd: use-after-free in attrd_client_update() - fencing: memory leak when searching for a target's fencing topology - lrmd: memory leak when freeing command structure - libcluster: work around peer cache destruction in client status callbacks - fencing: add support for operation phases to device properties - fencing: add support for operation phases - crmd: Do not enforce restart for resources that support reload and don't support any unique parameters - crmd: Do not enforce restart for changes of non-unique parameters - cts: change the stack from openais (white-tank) to corosync (plugin v0) in set_stack of environment.py (bsc#936149) - Upstream version cs: bd8c4b5a30c9cacd0257fe50ab50d3a6436db42a- crmd: Make resource_supports_action() really general - crmd: Remove a duplicate invocation of snprintf() - pengine: clear failures after reconnect_interval expires - RA: Prevent an error message on stopping "Dummy" resource - PE: Ignore comment blocks when unpacking the cib - fencing: use "off" timeout when remapping "reboot" to "off" - fencing: do not set call options twice in query - crmd: don't synthesize op failures during shutdown - lrmd: prevent double free after unregistering stonith device for monitoring (bsc#1035822) - libcommon: crm_ipc_get_fd() must set errno on error - PE: Record the execution date in PE files so we can re-use it in crm_simulate - pengine: allow guest remote nodes using containers/vms to be nested in a group resource - pengine: Resolve memory leak in expand_notification_data() - cib: Prevent use-after-free and return -EINVAL when attempting to delete the whole "/cib" (bsc#934609) - cib: Prevent use-after-free when invoking "cibadmin --delete-all --xpath" (bsc#934609) - crmd: Prevent segfault when erasing resources from disconnected remote nodes - pengine: do not timeout remote node recurring monitor op failure until after fencing - crmd: No need to re-process actions we've already marked as failed - crmd: All pseduo ops must be allowed to complete - crm_simulate: Optionally include action IDs in the dot graph - fencing: properly decide whether a topology fencing device has been found - fencing: properly sort peers by number of fencing devices found - crmd: Record actions in the CIB as failed if we cannot execute them - pengine: do not stop notify a fenced node that the rscs on the fenced node stopped - pengine: fixes segfault in pengine when fencing remote node - remote: do not fail operations because of a migration - remote: handle merging duplicate recurring monitors for connection rsc - pengine: cl#5235 - Prevent graph loops that can be introduced by "load_stopped -> migrate_to" ordering - PE: Exclude nodes which don't match any exclusive discovery rules - Log: improve IPC connection error messages - Log: make syslog less noisy - lrmd: cancel currently pending STONITH op if stonithd connection is lost - fencing: Correct the all_topology_devices_found() implementation - crmd: Pre-emptively fail in-flight actions when lrmd connections fail - PE: Include a list of all and available nodes with notifications - lrmd: set recv timeout upper bound for tls connections - services: prevent recurring monitors from colliding with other operations - crmd: handle resources named the same as cluster nodes - crmd: make actions incompletable after remote-node fails - crm_simulate: Correctly invoke the policy engine library - libcluster: overhaul peer cache management - crmd: Prevent use-of-NULL - crm_report: Enable password sanitizing by default - PE: Keep the size of the secure list small in the cib - PE: Reduce noise when sanitized policy engine files are replayed - attrd: handle removals of cluster peers and remote peers consistently - libcluster: avoid possibility of invalidating a hash table iterator - membership: Ensure peer cache management supports all stacks - libcluster: do not re-add peer entries for exiting nodes - PE: Skip unrunnable actions when one-or-more is in effect - PE: Ensure recurring monitor operations are cancelled when clone instances are de-allocated - systemd: No need to trigger assert if cannot obtain an unit (bsc#931271) - dbus: Use operation timeout for dbus reply timeout (bsc#931271) - fencing: correct choice of fencing topology level - crm_shadow: Fix "crm_shadow --diff" (bsc#931166) - cib: Calculate and add digest for a patchset after accepting changes for the target xml (bsc#931114) - remote: enable reloads for select remote connection options - crmd: fence remote node after connection failure only once - remote: reconnect_delay option for remote nodes to delay reconnect after fence - tools: ignore stderr from crm_mon when running via systemd - xml: update RelaxNG schema for crm_mon XML output - Fencing: Correctly handle changes to the fencing topology - fencing: Allow complex configurations to apply to multiple hosts - tools: Update regression tests for ACL fixes - tools: improve failed actions display in crm_mon - tools: implement printing tickets in crm_mon HTML/XML output - tools: implement printing negative location constraints in crm_mon HTML/XML output - tools: implement printing operations and failcounts in crm_mon HTML/XML output - tools: implement printing node attributes in crm_mon HTML/XML output - tools: improve cluster summary display in crm_mon - tools: improve guest node output in crm_mon - tools: prettify plaintext output - tools: prettify crm_mon HTML output - tools: prettify crm_mon --simple-status output - crm_report: Allow log file discovery to be disabled - crm_resource: Support debugging promote and demote operations - fencing: Allow semi-colon delimiter for pcmk_host_list - Upstream version cs: ef86b494a411ce920eb18b9b6541a3a0425a41e0- Update to version 1.1.13 - Build: Update library versions - Build: Move new struct members to the end for backwards compatibility - Fencing: Gracefully handle invalid metadata from agents - Upstream version cs: 6052cd16c2f455809f8088af76ce86483bf98353 (Pacemaker-1.1.13)- pengine: cl#5130 - Only check the capacities of the nodes that are allowed to run the resource (FATE#313105) - cib: Correctly add "update-origin", "update-client" and "update-user" attributes for cib (bsc#931177) - fencing : Correction of the log output of the practice node of stonith. - Upstream version cs: a0449d443fa5c834207def5fe36a117a53c334d6- xml: Correctly create v1 patchsets when deleting attributes (bsc#931170) - xml: Prevent potential use-of-NULL (bsc#929960) - Upstream version cs: 677f53216662d121a47b4c7683ec3749c614437e- cib: No need to enforce cib digests for v2 diffs in legacy mode (bsc#929960) - cib: Ability to upgrade cib validation schema in legacy mode (bsc#929960) - xml: Do not dump deleted attributes (bsc#929960) - cib: Revert d153b86 to instantly get cib synchronized in legacy mode (bsc#929960) - cib: Enable cib legacy mode for plugin-based clusters (bsc#929960) - Build: CRM_STATE_DIR is created dynamically when needed - Tools: Repair expected output for ACLs - Build: Prevent rpm packaging conflicts - pengine: cl#5130 - Choose nodes capable of running all the colocated utilization resources (FATE#313105) * Drop obsolete pacemaker-colocated-utilization.patch - Upstream version cs: 0b79da3e73fe2ced8b9602aa59d55873d857b3e7- crmd/pengine: implement on-fail=ignore without allow-fail (bsc#981731) - pengine: Prevent use-after-free in sort_rsc_process_order() (bsc#930368) - crmd: Prevent the old version of DC from being fenced when it shuts down for rolling-upgrade (bsc#929955) - xml: Fix upgrade-1.3.xsl to correctly transform ACL rules with "attribute" (bsc#929681) - crmd/pengine: handle on-fail=ignore properly (bsc#981731) - crmd: respect start-failure-is-fatal even for artifically injected events (bsc#981731) - crmd: don't update fail count twice for same failure (bsc#950450, bsc#981731) - crmd: report operation rc as advertised instead of status (bsc#981731) - xml: add RelaxNG schema for crm_mon XML output - Upstream version cs: c9ad9cd503f071391efe17d3c45d578d6f152acd- pengine: process rsc parameters during unpack (bsc#929842) - pengine: handle setting container attribute in the correct location (bsc#929842) - lrmd: move isolation wrappers to hidden directory (bsc#929842) - mainloop: resolves race condition mainloop poll involving modification of ipc connections (bsc#929835) - Upstream version cs: f47ea56b4ec23c7d8e0c129535a9b49cdbd80482- fencing: Correctly make args for fencing agents (bsc#925751) - fence_legacy: Avoid passing 'port' to cluster-glue agents (bsc#925751) - corosync: Bug cl#5232 - Somewhat gracefully handle nodes with invalid UUIDs - HealthSMART: OCF_RESKEY_drives could contain multiple values - pengine: restart master instances on instance attribute changes - spec: move report.common and report.collector to cli package - pengine: only kill process group on timeout when on-fail does not equal block. - lrmd: Hint to child processes that using sd_notify is not required (bsc#956626) - Agents: Fix the HealthSMART metadata - make targetted reprobe for remote node work, crm_resource -C -N - crmd: include remote nodes when forcing cluster wide resource reprobe - crm_mon: Support of the start from systemd of crm_mon - Upstream version cs: 195559d47b0e9186b5d131981f6f7fee96ecad76- Rebase: * pacemaker-NodeUtilization-RA.patch - docker-wrapper: per resource logging of lrmd and remote client tool - pengine: Avoid trailing whitespaces when printing resource state - pengine: cl#5207 - Display "UNCLEAN" for resources running on unclean offline nodes - docker-wrapper: add reuse option for presistent containers - docker-wrapper: only override exit reason if docker daemon is inactive - pengine: handle isolated resource scenario, cloned group of isolated resources - pengine: handle cloned isolated resources in a sane way - crm_report: More patterns for finding logs on non-DC nodes - lrmd: Use original timestamps when reporting multi-step systemd operations - lrmd: report original timeout when systemd operation completes - systemd: improve unit files - PE: Turn off legacy unpacking of resource options into the meta hashtable - acl: Do not delay evaluation of added nodes in some situations (bsc#927828: CVE-2015-1867) - docker-wrapper: add demote, promote, and notify actions for multistate rsc - docker-wrapper: properly forward key value pairs during isolation - attrd: fixes double free in attrd legacy - lrmd: do not let isolation wrappers inherit the wrapper attribute, or it makes a loop - pengine: pass node name of pcmk host into isolated resources - lrmd: isolation wrappers are moved from containers to isolation OCF namepace - pengine: Fix colocation with unmanaged resources - stonith-ng: Correctly track node state - stonith-ng: No reply is needed for CRM_OP_RM_NODE_CACHE - crm_resource: Fix output format of the warning from --force-start - crm_resource: Display the locations of all anonymous clone children when supplying the children's common ID (bsc#870339) - cib: Correctly track node state - Upstream version cs: 7a2e3ae6b736621933b24f4cdc9ea260021d878d- Rebase: * bug-806256_pacemaker-log-level-notice.patch * pacemaker-NodeUtilization-RA.patch * pacemaker-colocated-utilization.patch - crmd: All peers need to track node shutdown requests (bsc#917625) - crmd: Cached copies of transient attributes cease to be valid once a node leaves the membership (bsc#917625) - crmd: Wait for all pending operations to complete before poking the policy engine - lrmd: preserve exit reason string when isolation wrappers are in use - docker-wrapper: properly separate docker and resource specific attributes - docker-wrapper: set authkey file permissions and properly set container 'node name' during start - systemd: Trick systemd into not stopping our services before us during shutdown (bsc#913251) - mcp: Allow a configurable delay when debugging shutdown issues - systemd: Kindly ask dbus NOT to kill the process if the dbus connection fails (bsc#931271) - systemd: Tell systemd not to take DBus down from underneath us (bsc#913251) - cib: Correctly set up signal handlers - PE: Do not record duplicate copies of the failed actions - lrmd: enable ipc proxy for docker-wrapper privileged mode - lrmd: properly handle poke requests in lrmd client when using ipc - spec: add docker-wrapper directory to spec file - pengine: disable migrations for resources with isolation containers - pengine: disable reloading of resources within isolated container wrappers - pengine: ability to launch resources in isolated containers - extra: docker container tech wrapper script for pcmk remote - tools: crm_mon prints Stopped clones only if --inactive was specified - tools: display node names more consistently in crm_mon output - tools: Improve crm_mon output with certain option combinations - tools: make crm_mon last updated header consistent across formats - remote: pcmk remote client tool for use with container wrapper script - crmd: Reset stonith failcount to recover transitioner when the node rejoins (bsc#921102) - systemd: fix crash caused when canceling in-flight operation - Upstream version cs: 3e93bc1dd6c1c3f2ee101f754567aa007b24bb5e- PE: Support non-actionable degraded mode for OCF - lrmd, services: interpret LSB status codes properly - tools: add crm_resource --wait option - tools: attrd_updater supports --query and --all options - attrd: attrd supports queries - pengine: remove unnecessary whitespace from notify environment variables - tools: free allocated memory correctly in crm_resource - attrd: properly write attributes for peers once uuid is discovered - cib: assignment where comparison intended - attrd: only send ack for recognized operations - attrd: make each client operation handler its own function - tools: attrd_updater supports private attributes - attrd supports private attributes (not written to CIB) - pengine: Reschedule specific monitors when resource definitions have changed (bsc#914761) - pengine: Resolve memory leaks (bsc#914761) - Upstream version cs: e32080b460f81486b85d08ec958582b3e72d858c- properly record stop args after reload - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761) - Build: Fix building when heartbeat support is disabled - fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381, bsc#970733) - extra: Use crm_simulate for the showscores script - attrd: refresh should force an immediate write-out of all attributes - service: Leave synchronous calls to be free'd by the caller - service: Additional pointer safety - crmd: Add "on_node" attribute for *_last_failure_0 lrm resource operations (bsc#918839) - crm_mon: Fill CRM_notify_node in traps with node's uname rather than node's id if possible (bsc#918839) - pengine: ensure if B is colocated with A, B can never run without A - cib: automatically update .sig files in file backends when clients update live CIB - cib: file-based backends now detect whether file is live CIB - lrmd: add back support for class heartbeat agents - lrmd: provide fake meta data for ra class heartbeat - crm_resource: Use-after-free when restarting a resource - cli: Ensure subsequent unknown long options are correctly detected - crmd: Bug rhbz#1181824 - Ensure the DC can be reliably fenced - attrd_updater: Allow attributes to be set for other nodes - native_print: report target-role as well - membership: fix crm_update_peer_proc to NOT ignore flags if partially set - crmd: don't trigger a stonith_reconnect if no longer required - Upstream version cs: fa1311a0159588385f24cd8c3530233f4b90f3a9- Add pacemaker-Wno-format-signedness.patch to disable - Wformat-signedness added by GCC 5 and enabled by -Wformat=2- pengine: Handle ordering between stateful and migratable resources (bsc#881160) - crmd: Check "watchdog" daemon option before setting "have-watchdog" property - crmd: Correctly add the local option that validates against schema for pengine to calculate - Upstream version cs: 3021d731fdeba29e1136c117a62f3201785be6ea- crm_standby: update accepted options to match documentation - cts: Fix bashisms in LSBDummy script - pengine: fixes pengine crash with orphaned remote node connection resource - PE: Do not aggregate children in a pending state into the started/stopped/etc lists - acl: Correctly implement the 'reference' acl directive - Upstream version cs: 03ec61210c82471161f6cf3366e8afc30d737d67- pengine: imply stop in container node resources when host node is fenced - Build: Fix building if ncurses doesn't provide pkg-config files - xml: Do not change the ordering of properties when applying v1 cib diffs - xml: Do not prune leaves from v1 cib diffs that are being created with digests - Upstream version cs: 4109f1539a625bfa3e884d19ab2fc42d7a4daec4- xml: add 'require-all' to xml schema for constraints - pengine: require-all feature for ordered clones - xml: Ensure ACLs are reapplied before calculating what a replace operation changed - cib: Ensure file-based backends treat '-o section' consistently with the native backend - crmd: resolves memory leak in crmd. - pacemakerd: resolves memory leak of xml structure in pacemakerd - ipc: use server enforced buffer during ipc client send - pengine: do not recording pending migrate_to ops for pacemaker remote - crmd: never stop recurring monitor ops for pcmk remote during incomplete migration - pengine: prefer migration target for remote node connections - pengine: properly handle ordering during remote connection partial migration - crmd: Ensure remote connection resources timeout properly during 'migrate_from' action - crmd: gracefully handle remote node disconnects during op execution - pengine: Fence baremetal remote when recurring monitor op fails - crmd: Handle remote connection failures while executing ops on remote connection - remote: Treat recv msg timeout as a disconnect - pengine: properly recover remote-nodes when cluster-node proxy goes offline - systemd: Correctly handle long running stop actions (bsc#948989) - crm_resource: Include group members when calculating the next timeout - crm_resource: Ensure --restart sets/clears meta attributes - crm_resource: Clean up memory in --restart error paths - Build: Use a wrapper for realloc() which calls abort when we run out of memory - services: Prevent potential use-of-NULL - crm_resource: Memory leak in error paths - crmd: Mistake of the set of the variable. - Upstream version cs: d0139e9a00c32b9bc1d7d206d6210126045b49be- crm_node: Correctly remove nodes from the CIB by nodeid - fencing: Allow nodes to be purged from the member cache - xml: cl#5231 - Unset the deleted attributes in the resulting diffs (bsc#905641, bsc#967254) - fencing: stonith -l option for custom log - cib: Avoid nodeid conflicts we don't care about - Membership: Detect and resolve nodes that change their ID - attrd: Simplify how node deletions happen - attrd: Clean out the node cache when requested by the admin - crm_resource: Allow resource restart operations to be node specific - crm_resource: Implement --timeout for resource restart operations - crm_resource: Calculate how long to wait for a restart based on the resource timeouts - crm_resource: Implement an intelligent restart capability - crm_failcount: Better error reporting when no resource is specified - cib: tls sock cleanup for remote cib connections - Upstream version cs: 7dd90226e10035340d6707d9fd2b04f2e0141194- pengine: make resource-discovery work with location rules - services: Conditionally clean up services actions - Upstream version cs: 5093c095c5f517ab58375b2b69ecfc5516c86b5b- Drop conditional BuildRequires of system-devel: it was required one line lower unconditionally. - Replace remaining systemd-devel BuildRequires with pkgconfig(systemd).- pengine: exclusive discovery implies rsc is only allowed on exclusive subset of nodes - dbus: handle dispatch queue when multiple replies need to be processed - dbus ref count leaks - dbus: Ensure both the read and write queues get dispatched - systemd: Ensure failed monitor operations always return - Perform systemd reloads asynchronously - Upstream version cs: cd7c9abbcfc620aa84194ee07aade142240db15a- watchdog: Allow startup without sbd - service: Prevent potential use-of-NULL in metadata lookups - dbus: Fail gracefully if malloc fails - crmd: Prevent use-of-NULL during reprobe - crmd: Correctly obtain SBD_WATCHDOG_TIMEOUT from the environment - pengine: add #kind=remote for baremetal remote-nodes - Officially support the resource-discovery attribute for location constraints - xml: fix xml.c memleak in "missing upgrade XSLT" case - Prefer to inherit the watchdog timeout from SBD - stonith-ng: Correctly observe the watchdog completion timeout - sbd: Attempt to locate sbd via its pid file - Fencing: If configured, wait stonith-watchdog-timer seconds for self-fencing to complete - Resolve some potential issues spotted by clang and coverity - PE: Watchdog integration is sufficient for fencing - Fencing: Correctly wait for self-fencing to occur when the watchdog is in use - Fencing: Ensure the hostlist parameter is set for watchdog agents - crm_resource: Allow -M location to be reinforced with -f even if rsc is already on node - mcp: Turn on sbd integration if pacemakerd finds it running - pengine: Fix the behaviors of multi-state resources with asymmetrical ordering (bsc#899403) - lrmd: Prevent glib assert triggered by timers being removed from mainloop more than once - cib: Improved tracing of callbacks - Upstream version cs: a9c81774b89f21f990be255f9862446d1a38afee- remote: advertise default port correctly, further adjust default timeout periods - remote: report timestamps for remote connection resource operations - pengine: allow remote-nodes to be placed in maintenance mode - xml: Prevent assert errors in crm_element_value() on applying a patch without version information (bsc#900296) - pengine: prevent disabling rsc discovery per node in certain situations - crm_resource: avoid deletion of lrm cache on node with resource discovery disabled. - pengine: per-node control over resource discovery - mainloop: fix potential segfault for fd = 0 - ping: Correct metadata for attempts parameter (bsc#899324) - ping: Pass extra options to fping (bsc#899324) - ping: Remove incorrectly advertised migrate_to|migrate_from (bsc#899324) - ping: Add use_fping parameter (bsc#899324) - ping: Correctly advertise multiplier default (bsc#899324) - pengine: resource discovery mode for location constraints - cib: Ensure upgrade operations from a non-DC get an acknowledgement - lrmd: cancel pending async connection during disconnect - systemd: Ensure we don't call dbus_message_unref() with NULL - systemd: Perform monitor operations without blocking - dbus: Notice when dbus connections get disabled - pengine: allow baremetal remote-nodes to recover without requiring fencing when cluster-node fails - crmd: do not remove connection resources during re-probe - pengine: only fence baremetal remote when connection can fails or can not be recovered - ipc: properly allocate server enforced buffer size on client - remote: advertise more reasonable timeout periods for remote-nodes connections - crmd: properly update job limit for baremetal remote-nodes - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Ensure throttle_mode() does something on Linux - systemd: Perform actions asynchronously (bsc#956500) - crm_attribute: Correctly update config options when -o crm_config is specified - crmd: Fixes crash when remote connection migration fails - pengine: fixes segfault caused by malformed log warning - Allow fail-counts to be removed en-mass when the new attrd is in operation - fencing: Use the correct define for origin - fencing: Reject actions for devices that haven't been explicitly registered yet - cts : change default cluster stack from openais to corosync (bsc#894871) - crm_resource: Ensure fail-counts are purged when we redetect the state of all resources - corosync: Avoid unnecessary repeated CMAP API calls (bsc#870771) - cib: Do not update on disk backups if we're just querying them - mcp: Allow orphan children to initiate node panic via SIGQUIT - Support machine panics for some kinds of errors (via sbd if available) - Fencing: Allow the cluster to recover resources if the watchdog is in use - crmd: If configured, trigger the watchdog immediately if we loose quorum and no-quorum-policy=suicide - crmd: Ensure a watchdog device is in use if stonith-watchdog-timeout is configured - Fencing: Advertise the watchdog device for fencing operations - PE: Allow natural ordering of colocation sets - stonith-ng: Reset mainloop source IDs after removing them - Fencing: Force 'stonith-ng' as the system name - crm_mon: Repair notification delivery when the v2 patch format is in use (bsc#909286) - mcp: Teach pacemakerd to ignore SIGHUP - Rebase bug-806256_pacemaker-log-level-notice.patch - Upstream version cs: 28aee948cebd51305a2cdc3ec4f94252ce975655- cluster: Invoke crm_remove_conflicting_peer() only when the new node's uname is being assigned in the node cache (bnc#870771) - mcp: set environment variable which the cluster-glue module needs - services: Refector services os execute function - Upstream version cs: 266d5c2484716111616bcd0f32d9b94bc49baa77- logging: correctly initialized default log file (bnc#883567) - Upstream version cs: 362f181a387e0a0a9f04e0da84d6c5906d71dd20- crm_resource: Print a clear message if the attribute is not found for the resource (bnc#890400) - lrmd: fix rescheduling of systemd monitor op during start - services: restore SIGPIPE default behavior for child processes - lrmd: prevent \n from being printed in exit reason output - lrmd: pass exit reason prefix to ocf scripts as env variable - Upstream version cs: dad4cebccdb5a4bcdb8fb94e676f6df006ac0846- crm_diff: Support generating a difference without versions details if --no-version/-u is supplied (bnc#888726) - crmd: When container's host is fenced, cancel in-flight operations - crm_mon: add exit reason to resource failure output - lrmd: store failed operation exit reason in cib - Upstream version cs: 1040002ecc1a0dfec9f0561f79936cbe64d716db- Bug rhbz#1067544 - Tools: Correctly handle --ban, --move and --locate for master/slave groups - lrmd: Log with the correct personality - mainloop: implement gio_poll_dispatch_mod - Upstream version cs: 483f48a1921241f1f5976a100a171785dc327192- Update to version 1.1.12 - Log: Turn off the default log file if a real one is specified - Log: Do not unconditionally send crm_perror output to stderr - Log: allows the user to specify a log level that is output to syslog - Upstream version cs: 561c4cfda1b09b31b60fd5f73644ee05348f41fb (1.1.12)- logrotate: maxsize is not supported by older versions (bnc#883567) - Tools: Non-daemons shouldn't abort just because xml parsing failed - Log: Default to emitting CRIT messages only until logging is fully configured - Logging: Bootstrap daemon logging before processing arguments but configure it afterwards (bnc#883567) - dbus: Return 'null' if we cannot connect via dbus - Upstream version cs: 026944ebfad7c4b2da5a6864a9d763bf37e0e088- systemd: Ensure the retry logic is also exercised for the 'service' class - crm_simulate: Remove resource states and transient attributes when a node is marked as down - crm_verify: Perform a full set of calculations whenever the status section is present (bnc#886479) - PE: Correctly warn when resources require fencing but fencing is disabled (bnc#886479) - PE: Always use pe_fence_node to mark nodes as unclean - lrmd: Handle systemd reporting 'done' before a resource is actually stopped - Upstream version cs: c468fa06483152c29529f81aa0b5ccf37da8b2af- attrd: Remove offline nodes from node cache for "peer-remove" requests (bnc#870771) - membership: Prevent use-after-free in reap_crm_member() (bnc#870771) - cluster: Remove unknown offline nodes with conflicting unames from node cache (bnc#870771) - crmd: Remove state of unknown nodes with conflicting unames from CIB (bnc#870771) - Upstream version cs: 440da7f59ac4bed16a0289e33f04d2635b335c70- extra: Add logrotate configuration file for /var/log/pacemaker.log (bnc#883567) - PE: Correctly detect empty tags - xml: Ensure realloc didn't fail - crmd: Only write fence_averride if open() returns a positive file descriptor - tools: Non-recurring memory leak - PE: Potential use-of-NULL - ipc: Buffer size cannot be negative - xml: Prevent possible array underflow - mcp: Let daemons know when they have been respawned by the mcp - cts: fix RemoteBaremetal step2 move resource action failed issue - PE: Correctly observe requires=nothing - crmd: Remove unknown nodes with conflicting unames from CIB (bnc#883240) - controld: Return OCF_ERR_INSTALLED instead of OCF_NOT_INSTALLED (bnc#883729) - lrmd: Prevent OCF agents from logging to random files due to "value" of setenv() being NULL (bnc#883524) - cts: fix shutdown pattern not found issue - Fix: ignore SIGPIPE with gnutls is in use - crmd: avoid double free caused by nested hash table removal - crm_report: Correctly detect large files - cib: cl#5222 - Prevent assert in xml_calculate_changes() on performing cib operations (bnc#881575) - Upstream version cs: c3f1a7f8912f3d6d17497dd8af0b69fe0708b2b1- Bug cl#5219 - PE: Allow unrelated resources with a common colocation target to remain promoted (bnc#899175) - Bug cl#5222 - Enable legacy mode whenever a broadcast update is detected (bnc#881575) - xml: Prevent incorrect xml diffs from corrupting the cib (bnc#878362) - mainloop: implement gio_poll_dispatch_mod - cluster: Prevent search of unames from attempting to create node entries for unknown nodes (bnc#881884) - Upstream version cs: 97629ded958f76652350569a54303b3cd25d1d7e- crm_report: Gracefully handle rediculously large logfiles - Bug cl#5222 - cib: Repair rolling update capability (bnc#881575) - cib: Use a better option name for enabling the legacy cib diff code (cl#5222, bnc#881575) - remote: clear remote-node status correctly - pengine: properly handle fencing of container remote-nodes when the container is orphaned - remote: Handle request/response ipc proxy correctly - cib: Prevent assert on sending cib sync requests (cl#5222, bnc#881575) - crm_simulate: Clean up temporary shadow files on exit (bnc#879934) - pengine: cl#5200 - Before migrating utilization-using resources to a node, take off the load that will no longer run there if it's not introducing transition loop (Rework cl#5044, lf#2599, bnc#695440) - Fencing: Cache metadata lookups to avoid repeated blocking during device registration - pengine: properly place resource within a container when container is a remote-node. - mainloop: Better handle the killing of processes in the act of exiting - services: Remove cancelled recurring ops from internal lists as early as possible (bnc#888586) - services: Remove file descriptors from mainloop as soon as we have drained them (bnc#888586) - pengine: Don't report a resource as restarting when it is a moving multistate resource - pengine: avoid assert by searching for stop action on correct node during LogActions - Upstream version cs: 734e6b538b0a037f9e7d0709f450bd664f26c332- cib: Drop the message serverity now that the cause is well understood - crmd: Avoid spamming the cib by triggering a transition only once per non-status change - Upstream version cs: 559f733e8818a96085134cd2a34efc280c512a2a- pengine: Prevent possible segfault (bnc#880258) - attrd: Ensure attribute dampening is always observed - Bug cl#5213 - Limit the scope of the previous commit to the masters role - membership: Avoid duplicate peer entries in the peer cache - Bug cl#5184 - Ensure pending probes that ultimately fail are correctly updated (bnc#804763, bnc#879034) - Upstream version cs: 9776707a6232f25812009145fafa8a64c5b53910- Rebase: * pacemaker-colocated-utilization.patch - Bug cl#5213 - Ensure role colocation with -INFINITY is enforced - pengine: Mark unrunnable stop actions as "blocked" and show the correct current locations (bnc#878662) - pengine: Block restart of resources if any dependent resource in a group is unmanaged (bnc#878662) - systemd: Try to handle dbus actions that complete prior to configuring a callback - mainloop: Canceling in-flight operations should not fail if child process has already exited. - Bug rhbz#1097457 - Limit the scope of the previous fix and include a helpful comment - Bug cl#5212 - Do not promote instances when quorum is lots and no-quorum-policy=freeze - Bug rhbz#1097457 - Prevent invalid transition when resource are ordered to start after the container they're started in - Fix: fix small memory leaks - Upstream version cs: 25ebca2b83df9263aedb944ea4eeb53468e90e83- added necessary macros for systemd files- pengine: Use "#site-name" in rules for setting site-specific instance attributes - pengine: Use "#cluster-name" in rules for setting cluster-specific instance attributes (FATE#316118) - crmd: Set "cluster-name" property to corosync's "cluster_name" by default for corosync-2 (FATE#316118) - pengine: Fixed so that it could change while a setup of "startup-fencing" starts. - crmd: Use correctly signed inputs to sscanf() - PE: Correctly handle origin offsets in the future - iso8601: Different logic is needed when logging and calculating durations - xml: Do not prune meaningful leaves from v1 patchsets - Upstream version cs: da5aaab97ca5b7858f2aac98107a1a7ffc3e4252- use _rundir macro- Rebase: * pacemaker-NodeUtilization-RA.patch * pacemaker-colocated-utilization.patch - xml: Clean up schema list at exit - pengine: Support site-specific instance attributes based on rules for stretch cluster - pengine: Support cluster-specific instance attributes based on rules (FATE#316118) - crmd: Ensure crm_config options are re-read on updates - Resolve all clang analyser defects - xml: Check all available schemas when doing upgrades - Changes to the ACL schema to support nodes and unix groups - tools: Allow crm_shadow to create older configuration versions - xml: Prevent use-after-free when comparing two xml documents - cib: Resolve memory leaks in query paths - xml: Correctly subtract xml with v1 patchsets - fencing: Advertise support for reboot/on/off in the metadata for legacy agents - fencing: default to 'off' when agent does not advertise 'reboot' in metadata - fencing: Execute all required fencing devices regardless of what topology level they are at - fencing: Fence using all required devices - fencing: fixed so that change of could be handled correctly. - Upstream version cs: 42ae0e3cb50bb9e19dba7d1ad1ea69255bef5370- pengine: Fix memory leak in expand_tags_in_sets() - PE: Memory leak - PE: Do not initiate fencing for unclean nodes when fencing is disabled - crm_node: Only remove the named resource from the cib - pengine: Support site-specific instance attributes based on rules (FATE#316118) - pengine: Ignore failure-timeout only if the failed operation has on-fail="block" (bnc#871175) - Upstream version cs: f7859e2e06c8cf320482c3e4b447ddbe0a96fe83- pengine: Support cib object tags (FATE#315101) - crmd: Correctly detect changes of ticket state (bnc#872794) - Upstream version cs: 3f7ec44b51825898e3e30784ca4df09e3f45bf40- Rebase: * bug-812269_pacemaker-fencing-device-register-messages.patch - Build: Update versions in configure.ac and sample spec file - fencing: Do not unregister/register all stonith devices on every resource agent change - PE: Unfencing is based on device probes, there is no need to unfence when normal resources are found active - pengine: handles edge case where container order constraints are not honored during migration - pengine: Allow container nodes to migrate with connection resource - xml: Resolve memory leak when logging xml blobs - PE: Do not unfence nodes that are offline, unclean or shutting down - PE: Ensure unfencing only happens once, even if the transition is interrupted - crmd: Actions can only be executed if their pre-requisits completed successfully - crmd: Do not erase the status section for unfenced nodes - Fencing: Correctly record which peer performed the fencing operation - lrmd: Expose logging variables expected by OCF agents - logging: Simplify processing of logging directives - logging: daemons always get a log file, unless explicitly set to configured 'none' - PE: Ensure unfencing occurs before fencing devices are (re-)probed - fencing: Filter self-fencing at the peers to allow unfencing to work correctly - fencing: Automatically switch from 'list' to 'status' to 'static-list' if those actions are not advertised in the metadata - lrmd: Provide stderr output from agents if available, otherwise fall back to stdout - fencing: properly detect new fencing devices for v2 cib updates - acl: Prevent use-of-NULL - cts: automatically determine whether to run RemoteBaremetal (bnc#856353) - pengine: Correctly search failcount (bnc#880520) - Upstream version cs: ff74a591e670dbdb86f7cddeec989167de521216- pengine: Support id-ref in nvpair with optional "name" (FATE#316118) Drop the patches that have been merged upstream: * pacemaker-pengine-nvpair-id-ref.patch * pacemaker-pengine-nvpair-id-ref-test.patch - Upstream version cs: 6442c5a67cdd4cbaeedb2c532e0dc0667a79c202- xml: INFINITY could overflow for 16-bit ints - explicitly cast it - xml: Correctly determine the lowest allowed schema version - xml: Construct the table of supported schemas - cib: All schema upgrade requests must go via the DC - cib: Determine the best value of validate-with if one is not supplied - acl: Ensure known users are not able to read the cib by default - xml: Add missing schema file - Upstream version cs: d9fbba56804a7a7bcceaa5d4b7e29e3f15fc0e59- crmd: Correctly react to successful unfencing operations - PE: Delay unfencing until after we know the state of all resources that require unfencing - PE: Fencing devices default to only requiring quorum in order to start - PE: Automatically re-unfence a node if the fencing device definition changes - pengine: Only report 'migrate' in transition summary if migration is actually taking place - crm_node: Set correct subsystem in node rm cache msg - crm_node: Prevent use-after-free in tools_remove_node_cache() - crmd: make resource ID case sensitive - fencing: Correction of the registration from a difference. - crm_report: Add support for ISO8601 time format in logs (bnc#870886) - PE: Potential memory leak - xml: Support resources that require unfencing - crmd: make node_state erase correctly - xml: Add the ability to have lightweight schema revisions - xml: Split up the RelaxNG schema files so they're easier to version individually - crm_get_msec: prevent integer overflow - corosync: Reduce log severity for a redundant message (bnc#870624) - attrd: Reduce log severity for normal messages (bnc#870624) - cib: When data was old, it fixed so that the newest cib might not be acquired. - crm_attribute: Default --lifetime to forever when using --node (bnc#870696) - Upstream version cs: 76579e813b5aaa1972d400055233519f58bbc0c6- pengine: Do not fence remote-node entries left over in the node section that have no connection rsc - pengine: properly handle remote-node without connection resource. - xml: Update xml validation to allow '' - cib: allow setting permanent remote-node attributes - Upstream version cs: d63eaf41fa8173de3e29873d0461bfb888b83b37- xml: Allow first-acl-match-wins semantics to be supported if desired - crm_report: extract additional DLM lockspace data - xml: If validate-with is missing, we find the most recent schema that accepts it and go from there - tools: fix "crm_shadow --reset " - controld: Remove '-q 0' from default dlm_controld arguments - acl: Authenticate pacemaker-remote requests with the node name as the client - controld: Verify killall is available on resource start - Prevent use-of-NULL spotted by coverity - crmd: Correctly detect changes to the configuration root - crmd: Fenced nodes that return prior to an election do not need to have their status section reset - xml: Do not log deleted attributes - xml: Correctly mark the parent's of deleted attributes as dirty - crm_diff: Allow the generation of xml patchsets without digests - crmd: Prevent memory leak when accepting a new DC - xml: Find the minimal set of changes when part of a document is replaced - xml: Create the correct diff when only part of a document is changed - Upstream version cs: 61e95e4864be0301be528874eed65266f4e62cf0- pengine: fixes invalid transition caused by clones with more than 10 instances - services_action_cancel: Interpret return code from mainloop_child_kill() correctly - fencing: make hashtable mapping hostname->alias case insensitive for hostname - attrd: Make hostname hashtable case insensitive - membership: make caching peers by uname case insensitive - crmd: make lrm_state hash table not case sensitive - lrmd: clean up the agent's entire process group - xml: Enable resource sets in location constraints for 1.2 schema (bnc#867880) - Upstream version cs: 8bee850bb95ee01dcba03038ddfd65d22e195cf6- Drop obsolete bug-792124_pacemaker-stonith-monitor-log.patch- mainloop: Fixes use after free in process monitor code - lrmd: Cancel recurring operations before stop action is executed - lrmd: Merge duplicate recurring monitor operations - services: Do not allow duplicate recurring op entries - crmd: Ack pending operations that were cancelled due to rsc deletion (bsc#1035822) - crm_mon: Add failures to --as-xml output - cib: Check if on-disk cib is corrupt in the separate on_disk_cib_corrupt() rather than in validate_on_disk_cib() (bnc#866618) - crmd: Do not start timers for already completed operations - acl: Read access must be explicitly granted - xml: Better move detection logic for xml nodes - cib: Do not disable cib disk writes if on-disk cib is corrupt (bnc#866618) - xml: Correctly calculate the adjusted offset of xml elements - crm_diff: Mirror how the cib operates for better testing - cib: Ingore patch failures if we already have their contents - cib: Prevent use-after-free when cleaning up after query operations - xml: Mark the parents of a partial replace as dirty - xml: Correctly enforce ACLs after a replace operation - cib: Do not try to use an empty value for CIB_shadow - crm_resource: Gracefully handle -EACCESS when querying the cib - xml: Correctly observe ACLs when creating filtered copies of xml documents - xml: Only test write permissions for attributes that are being changed - xml: Always allow new scaffolding - node with no attributes or only an id field - cib: Memory leaks caused by ACLs returning filtered copies - xml: Set flags to indicate when updates were rejected by an ACL - cib: Respect the CIB_user environment variable for ACLs - xml: Unpack and apply ACLs when tracking changes - cib: Implement CIB_file-mode ACLs for testing - remote: Enable migration support for baremetal connection resources by default - cibadmin: Allow priviliged clients to perform tasks as unpriviliged users - cibadmin: Remove dangerous commands that exposed unnecessary implementation internal details - cibadmin: Purge legacy command options deprecated since 2008 to make the short-forms available for new options - cib: Include a request with file-mode cib actions for the acl code to interrogate - cib: Switch over completely to the new ACL code - xml: Allow new objects to be created provided they subseqently match a configured ACL - cib: Use the new acl filtering functionality - xml: Support the creation of filtered copies based on ACLs - xml: Convert all ACLs to xpaths during unpack - xml: Add ACL flags for xpath selectors when tracking is enabled - cib: ACL improvements - cib: Simplify ACL handling for read-only cib queries - cib: Check ACLs prior to making the update instead of parsing the diff afterwards - cib: Default ACL support to on - Upstream version cs: 38c5972cd284ea6627b3309b619dad4d27442ab0- Add symlinks rcpacemaker and rcpacemaker_remote to /usr/bin/service (bnc#866057)- Rebase bug-812269_pacemaker-fencing-device-register-messages.patch- xml: Memory leak when free'ing xml documents - systemd: Prevent use-of-NULL when determining if an agent exists - xml: Fix segfault in TRACKING_CHANGES() (bnc#865345) - PE: Memory leak when updating cancel operations - xml: Prevent memory leak in xml _private field - pengine: Performance increase, stack allocated score2char - crm_report: Only gather dlm data if dlm_controld is running - Fix: memory leak found by valgrind was corrected. - Fencing: Add the ability to call stonith_api_time() from stonith_admin - Fencing: Pass the correct options when looking up the history by node name - cib: Ensure 'cibadmin -R/--replace' commands get replies - xml: Correctly initialize and find v1-style patch version numbers - crm_mon: Add -R switch to show clone details - Build: Install compatibility.h - fencing: Teach stonith-ng about finding device and topology changes in the v2 patch format - crm_report: Additional dlm detail - crm_report: Allow ssh alternatives to be used - crmd: Correctly recognise operation cancellations we initiated - crmd: Improved logging of transition cancellations - crmd: Correctly detect lrm refreshes - crmd: Ignore 'move' operations to the cib, we only care about content changes - PE: Ensure instance numbers are preserved for cloned templates - Bug cl#5196 - PE: Check values after expanding templates - crm_mon: Ensure resource attributes have been unpacked before displaying connectivity data - Upstream version cs: ca8234daf2bbb2d0fd2fb47cdbb6667f892081bb- pengine: Support id-ref in nvpair with optional "name" (FATE#316118) * pacemaker-pengine-nvpair-id-ref.patch * pacemaker-pengine-nvpair-id-ref-test.patch- controld: Do not consider the dlm up until the address list is present - pengine: Support per-resource maintenance mode (bnc#863071) - pengine: cl#5187 - Prevent resources in an anti-colocation from even temporarily running on a same node (bnc#856135, bnc#862319) - controld: handling startup fencing within the controld agent, not the dlm - Upstream version cs: 0b7d85a159cc92e00ebded65c9a33edce7ba1c22- cib: Erasing the cib is an admin action, bump the admin_epoch instead - mcp: Tell systemd not to respawn us if we exit with rc=100 - crm_mon: Allow the file created by --as-html to be world readable - crmd: Do not overwrite existing node state when fencing completes - PE: Default sequential to TRUE for resource sets for consistency with colocation sets - Bug rhbz#1036631 - Stop members of cloned groups when dependancies are stopped - PE: Ensure stop actions are viable when reporting what will happen to a resource - xml: Consolidate patchset logging and apply functionality - cib: Validate that everyone still sees the same configuration once all updates have completed - cib: Validate clients are correctly applying v2-style diffs at most once a minute - xml: Allow both patch formats to include and validate an xml digest - election: If an error occurrs in crm_uptime(), compare as {0,0} - xml: Correctly compare the current feature set when determining which patch format to use - crmd: Support failcount processing with the new patch format - crmd: Handle patchset directives that change the configuration top-level - cib: Make patchset validation a run-time switch - cib: Implement zero-copy status update - cib: Enable the more efficient xml patchset format - crmd: Add support for parsing resource operations in the v2 patch format - xml: New function for calculating patchset version details - cib: Auto-detect which patchset format to use - xml: Allow the source of xml library errors to be traced - cib: Send all r/w operations via the cluster connection and have all nodes process them - xml: Use an optimized xpath search function for applying patch sets - xml: Use the new patch application code path - xml: Detect changes in global replace operations - xml: allow either patch format to be created and applied automatically - xml: Create a more robust diff format - xml: Track changes to xml trees as they happen - Upstream version cs: 0d3f74a5caa7e0f7d1f5ccc97e0d2d018ed8bdfc- Update to version 1.1.11 - Drop the patches that have been merged upstream: * pacemaker-display-pending-ops.patch * pacemaker-crm_mon-brief.patch - pengine: Prevent memory leak on handling pending state - crmd: Prevent message relay from attempting to create node entries for unknown nodes (bnc#862383) - attrd: Support "--refresh" command of attrd_updater - crmd: Prevent manual fencing confirmations from attempting to create node entries for unknown nodes (bnc#860169) - Upstream version cs: 3ca8c3bf87057339c9f2a55cd137db8c9c9922f0- ipc: Convince clang that our casting is intended (bnc#845525) * Drop pacemaker-Wno-cast-align.patch which has been merged upstream - cib: Use the correctly typed enum value during initialization - Build: Add dbus as an rpm dependancy - Fix: Bug rhbz#1057697 - Use native DBus library for systemd async support to avoid problematic use of threads - remote: Fail remote-node connection rsc monitor ops early on unexpected disconnect - tools: Return error when attempting to delete an unspecified attribute - remote: Allow baremetal remote-node connection resources to migrate - lrmd: Send event alerting estabilished clients that a new client connection is created. - Fix: Bug rhbz#1057697 - Use native DBus library for systemd support to avoid problematic use of threads - xml: Fix segfault in find_entity() - Upstream version cs: 6290953f2b035a92a8f093973b94c5cf38b79cd9- pengine: Free memory allocated by find_actions() - cib: Fix remote cib based on TLS - Upstream version cs: f3eeaf49d1fb7bca713ecbbc819aef51650d26ef- stonith: Drop the severity of log for recoverable condition (bnc#857779) * Update bug-812269_pacemaker-fencing-device-register-messages.patch- Build: Suppress -Wcast-align warnings/errors on arm and ppc64le (bnc#845525) * Update pacemaker-Wno-cast-align.patch- services: Do not block synced service executions - Upstream version cs: 96cd1941308be48fdf1e827b88ebd9410cf2010a- crm_mon: Display brief output if "-b/--brief" is supplied or 'b' is toggled (FATE#314757) * Add pacemaker-crm_mon-brief.patch - tools: Display pending state in crm_mon/crm_resource/crm_simulate if --pending/-j is supplied (cl#5178) (FATE#315159) * Add pacemaker-display-pending-ops.patch- Drop the obsolete patch (bnc#857779): * bug-812269_pacemaker-fencing-update-cib.patch- crm_report: Force grep to interpret logs as text - pengine: Force record pending for migrate_to actions - pengine: cl#5186 - Avoid running rsc on two nodes when node is fenced during migration - cluster: Fix segfault on removing a node (bnc#858745) - services: Reset the scheduling policy and priority for lrmd's children without replying on SCHED_RESET_ON_FORK (bnc#858857) - fencing: Update stonith device list only if stonith is enabled (bnc#857779) - services: Correctly reset the nice value for lrmd's children (bnc#858857) - pengine: Correctly perform partial migrations when node's uname is not equal to the id. - fencing: Immediately fail remote fencing operation on peer timeout - cl#5055: Improved migration support. - stonith_admin: Ensure pointers passed to sscanf() are properly initialized - Fix: Prevent potential use-of-NULL - crmd: Prevent memory leak in error paths - services: Fixes segfault associated with cancelling in-flight recurring operations. (bnc#859923) - pengine: cl#5174 - Allow resource sets and templates for location constraints (FATE#315158) - Upstream version cs: a3cda7619e71399d54f209296aebf3ba713a0bf4- crmd: Change the default value of node-action-limit - crm_ticket: Support multiple modifications for a ticket in an atomic operation (bnc#855099) - Upstream version cs: 3e8930190b8b53565ef4ca3fa00006c41511be9f- ipc: fix memory leak for failed ipc client connections. (bnc#857779) - pacemakerd: Fixed a problem that only pacemakerd did not inherit the logfacility of corosync.conf. - pengine: Fixes memory leak in regex pattern matching code for constraints. - crm_attribute: Do not swallow hostname lookup failures - crmd: Avoid deleting the 'shutdown' attribute - Upstream version cs: ad10acb1c4d668befd7ea1d39312356223d86615- cts: Install cib_xml.py (bnc#854926) - report: Add support for xz compressed logs (bnc#854060) - attrd: Memory leak - crm_mon: Fix overflow on SMTP subject line - Upstream version cs: 65bb87eadcf6dfd9b5cd6030ec318579fd4fe7c8- Fix: Removes unnecessary newlines in crm_resource -O output (bnc#853651) - Upstream version cs: 93a37bf6ea4dcaea8fe7462442ee01019ec167c5- crmd: Memory leak - Upstream version cs: ce5d77c6038a0a0294d4cae238169c458ba03b72- pengine: Recover unexpectedly running container nodes. - pengine: Disable container node probes due to constraint conflicts - ipc: Have the ipc server enforce a minimum buffer size all clients must use. - Bug cl#5181 - corosync: Ensure node IDs are written to the CIB as unsigned integers - Upstream version cs: f57ad6c17624c0cbfc58c46f0bad7e28453506bb- Update pacemaker-colocated-utilization.patch * pengine: Do not check the allocation of resources during a colocation preview (bnc#849595)- election: Correctly hook up the timeout callback - crmd: Improve throttling response on clusters of single core machines (bnc#838358) - fencing: Wait until all possible replies are recieved before continuing with unverified devices - Bug cl#5179 - Corosync: Attempt to retrieve a peer's node name if it is not already known - Core: Allow blackbox logging to be disabled with SIGUSR2 - PE: Correctly handle demotion of grouped masters that are partially demoted - crmd: When the DC gracefully shuts down, record the new expected state into the cib - crmd: When a peer expectedly shuts down, record the new join and expected states into the cib - attrd: Memory leak - attrd: Do something sane when older non-atomic versions send us messages - crmd: Correctly observe the configured batch-limit (bnc#838358) - attrd: Improve compatibility with older attrd versions - controld: Use the correct variant of dlm_controld for corosync-2 clusters - lrmd: Correctly calculate metadata for the 'service' class - crmd: Prevent over-polling of throttle inputs (bnc#838358) - crmd: Enable cluster-wide throttling when the cib heavily exceeds its target load (bnc#838358) - Upstream version cs: 5a69be5ff56ec7fa66bcf9c2069af6211e4ebc98- crmd: Send the first throttle update (bnc#838358) - Upstream version cs: 2383f6c469bfb31da9efa8e4dd626de049e808c6- Rebase: * bug-806256_pacemaker-log-level-notice.patch - Drop the obsolete patch: * bug-800323_pacemaker-crm_mon-save-cib.patch - Probe for baremetal remote-node connection resources. - remote: Add support for ipv6 into pacemaker_remote daemon - election/fencing: Fix the casts that would result in incorrect values for big-endian systems (bnc#842915) - Fencing: Apply correct score to the resource of group - crm_resource: Wait for the correct number of replies when cleaning up resources (bnc#842204) - cpg: Only process one message at a time to allow other priority jobs to be performed - remote: Handle endian changes between client and server and improve forward compatibility - crmd: A more reliable method of looking up migration options (bnc#838358) - crmd: Allow non-CIB based throttling to be disabled (bnc#838358) - crmd: Honor load thresholds lower than the cib maximum (bnc#838358) - crmd: Tell the DC our job limit instead of the number of cores (bnc#838358) - crmd: Track the CIB's CPU usage (bnc#838358) - crmd: Fold the enforcement of migration-limit into the throttling code (bnc#838358) - crmd: Don't start throttling until we're over the target threshold (bnc#838358) - crmd: Do not send throttle updates to versions that don't support them (bnc#838358) - ipc: Use the higher of the configured buffer size or the default - crmd: Tweak the throttling threshold multipliers (bnc#838358) - crmd: Simplify option processing for throttling options (bnc#838358) - crmd: Simplify the logic for calculating the number of available cores (bnc#838358) - crmd: Make the per-node action limit directly configurable in the CIB (bnc#838358) - crmd: Tweak the throttling code based on migration-limit and/or LRMD_MAX_CHILDREN (bnc#838358) - crmd: Slow down recovery on nodes with IO load (bnc#838358) - crmd: Make the utilization limit configurable (bnc#838358) - crmd: Use the load on our peers to know how many jobs to send them (bnc#838358) - crmd: Notify peers of our relative load (bnc#838358) - remote: Properly version the remote connection protocol - crmd: Track CPU usage on cluster nodes (bnc#838358) - ipc: Consolidate client/server flags and add version field to header - ipc: Suppress asserts for proxied connections - crmd: Do not block on proxied calls from pacemaker_remoted - lrmd: Do not interrogate NULL replies from the server - crm_mon: Reduce flickering in interactive mode - fencing: Ignore changes to non-fencing resources - cli: Do not enabled blackbox for cli tools - crm_resource: Wait for all replies when cleaning up resources (bnc#842204) - crm_mon: Correctly show the queued and exec times for an action - crmd: Correctly update expected state when the previous DC shuts down - crm_resource: Observe --master modifier for --move - PE: Location constraints with role=Started should prevent masters from running at all - Upstream version cs: 907f52608e97b4f280690618342e1377f184b554- Disable -Wcast-align on problematic files (bnc#845525)- iso8601: Prevent dates from jumping backwards a day in some timezones - crm_master: Avoid sending redundant "--node" options to crm_attribute (bnc#846360) - ipc: Client buffer size must never fall below our max read size - ipc: Ensure buffer environment variable is read before setting max buffer len - fencing: Deep copy current topology level list on remote op - Upstream version cs: afdce1faecf82c778ed81eb5eb9b7518d36a1160- crm_resource: Wait for a reply for each request to crmd (bnc#842204) - Upstream version cs: 7afb87c8caa96d3c1ed9a353ae6061023a729fd4- Cluster: On cluster signoff, make sure that the g_source gets disconnected. - crmd: Using PCMK_ipc_buffer variable for remote-node proxy - plugin: Reset the scheduling policy of daemons to SCHED_OTHER with nice value -10 (bnc#843647) - ipc: Compress msgs based on client's actual max send size - pengine: Do not probe for connection resources - Upstream version cs: 490e695539630cfc158c5967a99237659fac5f30- fencing: Allow fencing for node after topology entries are deleted - fencing: Do not broadcast suicide if the on action is being executed - remote: Option to enable/disable probes on container resource remote-nodes - lrmd: Correctly cancel monitor actions for lsb/systemd/service resources on cleaning up (bnc#842471) - services: Fix the executing of synchronous actions - Upstream version cs: 728ec77851540f9ce64ee1b1269d967841571b25- PE: Add a special attribute for distinguishing between real nodes and containers in constraint rules - PE: Allow location constraints to take a regex pattern to match against resource IDs - Bug rhbz#1011618 - Consistently use 'Slave' as the role for unpromoted master/slave resources - cibadmin: Report errors during sign-off - Fencing: Observe pcmk_host_list during automatic unfencing - services: Prevent use-of-NULL when executing service actions - crm_resource: Provide a meaningful error if --master is used for primitives and groups - ipc: Raise the default buffer size to 128k (bnc#838358) - Upstream version cs: ecd44e642db3b65ee83aceed0e93376894a58c47- plugin: stonith-ng needs membership updates (bnc#841010) - controld: allow the stonith-enabled check to be overridden (bnc#842186, fate#315195) - attrd: Avoid infinite write loop for unknown peers - tools: Detect orphaned remote-nodes when setting attributes - controld: don't start dlm if stonith-enabled is false (bnc#842186, fate#315195) - pengine: Probe container nodes - crmd: Tell attrd when remote-node is disconnected - attrd: Give remote-nodes ability to set attributes with attrd - Upstream version cs: c68919f46bbaa96ec4ff2c770f82588280277fe6- crmd: Expose "expected-quorum-votes" option in the metadata only for plugin-based clusters - decode_transition_key: Older systems do not support '%ms' in sscanf - cib: Guard against overly long user specified strings - crm_shadow: Simplify prompt generation and impose a sane limit on length - fencing: Skip empty notifications from the cib - election: Do not update state when ACKs arrive - cib: Additional logging for invalid diff updates - cib: Correctly check for archived configuration files - crmd: Reliably detect and act on reprobe operations from the policy engine - crm_mon: Do not display duplicates of failed actions - crm_node: Display partition output in sorted order - cib: Allow values to be added/updated and removed in a single update - attrd: Use the truely atomic version where CPG is used for cluster communication - attrd: Untested reimplementation of a truely atomic attrd - election: Track the election state and allow it to be queried - crm_resource: Handle --ban for master/slave resources as advertised (rhbz#902407) - xml: Location constraints are allowed to specify a role - Review and refresh all patches to apply without fuzz. - Upstream version cs: 144c2fc4b2f50623cbc87bf20788717e0b058a38- Rebase: * bug-728579_pacemaker-stonith-dev-id.patch * bug-806256_pacemaker-log-level-notice.patch * bug-812269_pacemaker-fencing-device-register-messages.patch - Drop the patches that have been merged upstream: * pacemaker-node-maintenance.patch * pacemaker-node-maintenance-tests.patch * pacemaker-crmd-pending-delete.patch * pacemaker-resource.patch - Drop the obsolete patches: * pacemaker-cts-startcmd.patch * pacemaker-disable-listing-fence-agents.patch * pacemaker-daemon-symlinks.patch * pacemaker-ptest-build.patch * pacemaker-lrmd-remote-disabled.patch * bug-815447_pacemaker-cib-strip-text-nodes.patch * bug-809635_pacemaker-xml-digest.patch - Drop the obsolete source: * heartbeat-doc-1.0.tar.gz- spec: Recommends fence-agents and sbd- pengine: Properly handle orphaned multistate resources living on remote-nodes - pengine: Map orphaned container fillers to container resource during shutdown to preserve ordering - pengine: Do not attempt to probe resources on remote-nodes that are shutting down - cib: Prevent potential double free in get_remote_uuid - pengine: Properly shutdown orphaned remote connection resources - crmd: Populate remote peer cache when building new cib - crmd: Clear remote-node status AFTER start completes, not before. - pengine: Probe resources on baremetal remote-nodes - crmd: Remote-node fencing glue - pengine: Allow fencing of baremetal remote nodes - crmd: Cache baremetal remote-nodes - tools: Fixes formatting of remote-nodes in crm_mon and crm_simulate - Upstream version cs: d9bb7632492b1f91a300fb43e9ad8a262a8f2928- cib: Support XML comments in diffs (bnc#836965) - Upstream version cs: 5d0a2239543bd5003444af4a16780ac47fd37079- crm_mon: add --hide-headers option to hide all headers - pengine: Order demote/promote of resources on remote nodes to happen only once the connection is up - tools: clear ncurses screen when crm_mon cannot connect - crmd: Invalid formatting of log message causes crash - remote: Properly handle expected late replies when TLS transport is in use. - cluster: Allow remote-nodes to be cached - Upstream version cs: a4eb44fd075e8cb8608f5e45522cade45658ff98- Fencing: Support agents that need the host to be unfenced at startup - cpg: Correctly set the group name length - pengine: Distinguish between the agent being missing and something the agent needs being missing (bnc#833374) - crmd: Prevent PCMK_LRM_OP_NOT_INSTALLED for being mapped to PCMK_LRM_OP_ERROR - Bug cl#5171 - PE: Don't prevent clones from running due to dependant resources - services: Correctly invoke callbacks for aborted operations - services: Preserve errno when handling exec failres least it be reset as a side-effect of other calls - services: Prevent use-of-NULL in g_error_free - services: Detect missing agents and permission errors before forking - lrmd: Do not overwrite any existing operation status error - crmd: Correcty update the history cache when recurring ops change their return code - PE: Correctly account for the location preferences of things colocated with a group - crmd: Gracefully handle actions that cannot be initiated - crm_simulate: Do not complain about CRM_OP_REPROBE actions - PE: Gracefully handle bad values for XML_ATTR_TRANSITION_MAGIC - crm_mon: Correctly extract alternate name for pingd attributes - Fix: Prevent use-of-NULL when ping resources do not define a host list - Fix: Gracefully handle -ECHILD from waitpid() in crm_abort() - Fix: Command-line tools should stop after an assertion failure - systemd: Prevent glib assertion - only call g_error_free() with non-NULL arguments - Upstream version cs: 4f672bc85eefd33e2fb09b601bb8ec1510645468- crmd: Don't add node_state to cib, if we have not seen or fenced this node yet - PE: Do not allow colocation with blocked clone instances - PE: Do not re-allocate clone instances that are blocked in the Stopped state - fence_legacy: stonithd now handles killing the process group for us - Fencing: On timeout, clean up the agent's entire process group - fencing: Put all fencing agent processes into their own process group - crmd: Prevent crash by passing log arguments in the correct order - PE: Do not restart resources that depend on unmanaged resources - crmd: Prevent recurring monitors being cancelled due to notify operations - mcp: Fix so that only pacemakerd restarts, at the time of pacemakerd failure - mcp: Support PCMK_fail_fast to reboot a machine at the time of process (subsystem) failure - cpg: Ensure the CPG group is always null-terminated - Upstream version cs: ac7aa1c94f317fc1d4024fbc09b012bc9f1b229e- Update to version 1.1.10 - crm_resource: Allow options to be set recursively - cib: Correctly read back archived configurations if the primary is corrupted - mainloop: Hand the channel off to g_io_watch and forget it. - mainloop: Force removal of ipc fd in dispatch_del callback - crmd: Clean up handling of pending operations at shutdown and improve logging - Bug cl#5161 - crmd: Prevent memory leak in operation cache - cib: Ensure we set up hacluster's groups in stand-alone mode - Upstream version cs: 368c72641139785ec5981813f311fae8cd1410f3 (1.1.10)- cpg: Correctly free sent messages (bnc#853675, bnc#856018) - crm_resource: Present an error if an admin tries to --force-start an already active resource - cluster: Correctly construct the header for compressed messages (bnc#851951, bnc#856018) - PE: Re-allow ordering constraints with fencing devices now that it is safe to do so - cl#5170 - Correctly support on-fail=block for clones - PE: Do the right thing when admins specify the internal resource instead of the clone - fencing: Correctly detect existing device entries when registering a new one - crm_node: Return 0 if --remove passed - remove the mainloop_trigger that are no longer needed. - corosync: Ensure removed peers are erased from all caches - cluster: Detect and warn about node names with capitals - Upstream version cs: 9abe6876d50ff2879f17b08dfa1500817a7fbeba- crmd: Prevent messages for remote crmd clients from being relayed to wrong daemons- lrmd: Prevent use-of-NULL in client library - Upstream version cs: 9d656180294770e39deced79a134d4cf531b8159- Bug cl#5168 - Prevent clones from being bounced around the cluster due to location constraints - Upstream version cs: 90b8afe77ab8a3ff2fd30826187fd7726aab4f04- crm_mon: Bug cl#5167 - Only print "stopped" node list for incomplete clone sets - Upstream version cs: d16f4c56b120c5ae761680cfb4d98922a185c6c2- Fix: memory leak when used score2char() - Fencing: Avoid hashtable lookups in NULL - Fencing: Force use of the calculated command for support ops - Bug cl#5157 - Allow migration in the absence of some colocation constraints - PE: Detect constraints with inappropriate actions (ie. promote for a clone) - PE: Do the right thing when admins specify the internal resource instead of the clone - Fencing: User-defined arguments always trump calculated ones - cluster: Correctly remove duplicate peer entries - Upstream version cs: 0dc3203917438057ab476a0f0aac4a1c8e27f97a- plugin: Fix memory leaks - Upstream version cs: 5053ba656a854bdf4eacaf7d43b0dce1b7e58b9d- plugin: Handle messages in the common way in the plugin dispatch function by default - Upstream version cs: 704f45e36594018358b0ea9d578291af1d52196e- plugin: Fix small memory leak- plugin: Change the function declaration in the plugin header - crm_mon --neg-location drbd-fence-by-handler - crm_mon -A: print_attr_msg needs to lookup paramters, not meta - crm_mon -A: fix memleak, add g_free_list(attr_list) - crmd: CID#1036761 Dereference null return value - Corosync: CIB#1036763 Dereference before null check - Tools: CID#1036764 Unused pointer value, CID#1036762 Resource leak - Tools: CID#1036760 Truncated stdio return value - PE: Delete the old resource state on every node whenever the resource type is changed (bnc#822233) - Upstream version cs: 61e4b8f62b109ca5b910efd38c7e79ef403030fd- crmd: Ensure operations for cleaned up resources don't block recovery (bnc#825536) - logging: If SIGTRAP is sent before tracing is turned on, turn it on - membership: Correctly merge partial entries in the peer cache - attrd: Fixes deleted attributes during dc election - crmd: Stop trying to fence when no devices exist capable of fencing a node - PE: Allow active nodes in our current membership to be fenced without quorum - PE: If fencing is unavailable or disabled, block further recovery for resources that fail to stop - crm_resource: Avoid whitespace in transition keys when cleaning up and failing resources (bnc#851308) - crmd: Everyone who gets a fencing notification should mark the node as down (bnc#842915) - crmd: Initiate node shutdown if another node claims to have successfully fenced us (bnc#842915) - crm_resource: Correctly implement --master - crm_resource: Support OCF tracing when using --force-(check|start|stop) - lrmd: Make lrmd and pacemaker_remoted in charge of setting up rsc state folder - Allow uuid retrieval for nodes with no known name - crmd: Update the status section with details of nodes for which we only know the nodeid - crm_error: Add the ability to list and print error symbols - crmd: Further improve clean shutdowns - Core: Ensure the blackbox is saved on abnormal program termination - crm_mon: Implement the ability to change the display options during operation. - Upstream version cs: 6ea4b7ef34ce6e17f53f69d87a404d334db5d837- xml: Purge diff markers even if there's no digest (bnc#824097)- crmd: Prevent use-of-NULL during emergency shutdown - crmd: Ensure all membership operations can complete while trying to cancel a transition - Repair handling of attrd_update_delegate() return codes - attrd: Correctly detect successful invocation of attrd_update() - Convert all exit codes to positive errno values - crm_attribute: Send details on duplicate values to stdout - crm_attribute: Return the actual error code rather than the negative of it - crm_resource: Implement the --master option for the --move,--ban,--clear commands - crm_resource: Make --move without --host a true alias for --ban without --host - crm_resource: Implement --ban for moving resources away from nodes and --clear (replaces --unmove) - cib: Allow multiple children to be removed from the object root (eg. constraints) - crmd: Prevent use-after-free now that mainloop terminates naturally - mainloop: Saner ordering of reference counting events in mainloop_destroy_trigger() - Correctly calculate crm_system_name - Core: Tolerate NULL in mainloop_destroy_trigger() - crmd: Allow mainloop to terminate naturally on graceful shutdown - crmd: Use standard error codes on exit - Ensure anything we free at shutdown is set to NULL too - Ensure crm_system_name is cleaned up at exit for valgrind - crmd: Ensure timers are stopped at exit - Fencing: Ensure API object is consistently free'd - Clean up internal mainloop structures at exit - Core: Correctly unreference GSource inputs - crmd: Clean up more memory before exit - crmd: Do not get stuck in S_POLICY_ENGINE if a node we couldn't fence returns - Upstream version cs: 47ed85ac6f4a9ac353945ae8bc4d7cea98b7cb7a- PE: Mark unrunnable stop actions as "blocked" (bnc#816511) - crm_resource: Do not crash when calling --force-start on an invalid resource - ping: Ensure OCF_RESKEY_failure_score has a value (bnc#831327) - PE: Unlink pengine output files before writing. - Fencing: Restore the ability to manually confirm that fencing completed (bnc#843699) - Fix: Resolve several memory leaks and improper dereferencing of pointers - PE: cl#5155 - Block the stop of resources if any depending resource is unmanaged (bnc#816511) - crmd: Insert async failures so that they appear in the correct order - cl#5151 - Ensure node names are consistently compared without case - crmd: Block after 10 failed fencing regardless of crmd-transition-delay - PE: Re-initiate _active_ recurring monitors that previously failed but have timed out - cl#5133 - PE: Correctly observe on-fail=block for failed demote operation - PE: Suppress meaningless IDs when displaying anonymous clone status - PE: Display a list of nodes on which stopped anonymous clones are not active instead of meaningless clone IDs - PE: Correctly handle resources that recover before we operate on them - Core: Detect child processes that terminate before our SIGCHLD handler is installed - Upstream version cs: 674e69854a0ce4636ee54e123e45b1612c8f1fd5- crmd: Do not record pending delete operations in the CIB- cib: Strip text nodes on writing CIB to disk (bnc#815447, bnc#809635) - xml: Use xmlNodeDump() from libxml2 when calculating digest (bnc#809635)- PE: Ensure per-node resource parameters are used during probes - cl#5154 - Do not expire failures when on-fail=block is present - Upstream version cs: 2db99f16fe9b19a6320db62755f0f28ced8efe00- cl#5153 - Correctly display clone failcounts in crm_mon - crmd: Simplify the logic for resetting node status in the CIB after fencing events (bnc#812913) - crmd: cl#5152 - Correctly clean up fenced nodes during membership changes (bnc#812913) - ipc: Reference the correct type when inspecting IPC messages - Core: Ensure the last field in transition keys is 36 characters - crm_mon: Check if a process can be daemonized before forking so the parent can report an error - crm_mon: Ensure stale pid files are updated when a new process is started - extra: add failure_score parameter into ping RA - crm_resource: Allow --cleanup without a resource name - Upstream version cs: 3297085490c2fe0af25fc805d2b53123da877f7a- fencing: Drop the severity of the messages on registering a stonith device (bnc#812269)- crmd: Ensure we return to a stable state if there have been too many fencing failures - fencing: Prevent empty call-id during notification processing - crm_resource: Make --refresh and --reprobe an alias for --cleanup [--resource name] - crmd: Indicate completion of refresh to callers - crmd: Indicate completion of re-probe to callers - crm_resource: Allow individual resources to be reprobed - ipc: Allow unpriviliged clients to clean up after server failures - crmd: Only performa dry run for deletions if built with ACL support - Upstream version cs: a92f3a0e327da2af171856c979fb8eaa00122534- crmd: Fixes hash table assert when resetting stonith failures - crmd: Fixes memleak in failure cleanup - crmd: Do not update fail-count and last-failure for old failures (bnc#804003) - tools: cibadmin - Do not log for query commands by default (bnc#813045) - services: Fix signal FD leak - Upstream version cs: d63c13cbcde7663cfae9bb412583ad11914b6acc- tools: crm_mon - Prevent segfault on reconnecting cib (bnc#813131)- Fix: tools: crm_mon - Print a timing field only if its value is non-zero (bnc#809313)- tools: crm_mon - Save relevant cib XML into /tmp/cmon.* files if refreshing fails (bnc#800323)- fencing: Directly query the full cib on updating the cib cache (bnc#812269)- cib: Use unique error codes for write_cib_contents() - Fix: Ensure custom error codes are less than 256 - corosync: cl#5148 - Correctly remove a node that used to have a different nodeid (bnc#805278) - Upstream version cs: e8caee88c9e078fccf98a9da05543b73d4696f04- services: Improve the performance of synchronous actions (bnc#803969)- lrmd: Change the default directory for nagios plugins (bnc#812005)- xml: Prevent lockups by setting a more reliable buffer allocation strategy - fencing: Fix memory leaks and invalid read - fencing: Correctly unpack device parameters before using them - lrmd: Avoid memory leak in resources_action_create() - Skip WNOHANG when waiting after sending SIGKILL to child processes - fencing: Fail the operation once all peers have been exhausted - Fix several use-after-free and use-of-NULL - fencing: Correctly filter devices when no nodes are configured yet - ipc: Restore the ability for members of the haclient group to connect to the cluster - Fencing: Re-use the policy engine libraries for filtering devices - Upstream version cs: c7910371a5ada346fe7d1e1872ec9a40570018e6- corosync: Support "crm_node --remove" with a node name for corosync plugin (bnc#805278) - Fix memory leaks in stonithd, crmd and lrmd - services: Close the reading pipes when a synchronous action is finished - Doc: Pacemaker Explained: Add nagios resource class - Upstream version cs: cb7b3f48dea9eb1b6825242da2ef507887b409cc- Log: Change some messages to notice level (bnc#806256)- xml: Support nagios resource class in the 1.2 schema - xml: Support resource container in the 1.2 schema- Update to version 1.1.9 - fencing: Only initiate topology based fencing if all topology queries have arrived AND we are still in the query phase - fencing: Don't delay execution if all topology queries have arrived - crmd: Bug cl#5144 - Do not updated the expected status of failed nodes (bnc#807824) - Core: Support PCMK_logpriority to set syslog priority - Upstream version cs: 2a917ddb9d1a01f47db84b17468413522d63ddfa- update license to new format- Include sys/resource.h for getrlimit etc.- Core: Revert to the original process flags for the support of rolling-upgrade - PE: Bug cl#5059 - Use the correct action's status when calculating required actions for interleaved clones - Upstream version cs: 61a079313275f3e9d0e85671f62c721d32ce3563- Use BuildRequires: libgnutls-devel instead of gnutls-devel for Factory in keeping with gnutls package naming changes.- corosync: Determine node state for plugin based cluster types - tools: crm_node - Test stack membership only when displaying partition members - Overhaul the way peers are determined to be sufficiently active - PE: Observe the promotion score of probed resources - crmd: Detect when peers have an incorrectly set process list - corosync: Detect when the first corosync has not yet formed and handle it gracefully - Corosync: Move deprecated corosync variants to their own file - Upstream version cs: 4c8b599e6d79499f28f8178988d65fd33e0d9b24- Update to version 1.1.7 - crmd: cl#5057 - Restart sub-systems correctly (bnc#755671) - corosync: Fix compilation when libqb is not available - pengine: cl#5058 - Fixes issue with on-fail option on operation being ignored. - tools: rhbz#754216 - Make crm_mon --as-xml option default to - -one-shot mode - cts: cl#5047 - Suppress cts badnews output related to fencing when fencing is expected. - crmd: cl#5053 - Fixes fail-count not being updated properly. - crmd: cl#5051 - Fixes file leak in pe ipc connection initialization. - Tools: crm_simulate - Correctly detect status sections with duplicate node_state entries - crmd: Detect when the quorum API isn't configured for corosync 2.0 - RA: controld - use the correct dlm_controld when membership comes from corosync directly - Core: Fix the logging of XML and conditional corefile creation by asserts - pengine: cl#5045 - Better handling of interrupted migrations. - Build: rhbz#805147 - Use default value for HB_DAEMON_DIR define when clusterglue does not provide one. - cib: Even with no peers, we still need to wait for connected clients to disconnect - corosync: Fix complation warning when corosync doesn't use libqb - cib: Determine when there are no peers to respond to our shutdown request and exit - cib: Correctly shutdown in the presence of peers without relying on timers - Corosync: Correctly disconnect from corosync variants - cib: Ensure no additional messages are processed after we begin terminating - Corosync: Reset connection variables after disconnect - Core: Correctly track the length of a string without reading from uninitialzied memory (valgrind) - PE: Fix memory leak in order_rsc_sets (valgrind) - Tools: Fix memory leak in crm_simulate (valgrind) - PE: Correctly locate crm_simulate for automated regression tests - Core: Use the default schema location when PCMK_schema_directory is defined but empty - PE: Correctly migrate a resource that has just migrated - pengine: cl#5025 - Automatically clear failures when resource configuration changes. - Fix a number of potential problems reported by coverity - crmd: Also purge fencing results when we enter S_NOT_DC - crmd: Correctly determine when a node can suicide with fencing - PE: Bug rhbz#799070 - Report resources as active in crm_mon if they are located on an unclean node - Upstream version cs: 023d3b183e77cfdb3699080b26d98ca4bc534c57- PE: Support of referencing resource templates in resource sets (bnc#729634) - stonith: A "start" operation of a stonith resource does a "monitor" on the device beyond registering it - PE: More validations on configurations related to resource templates - Core: Bug cl#5027 - Fix compilation when libqb is not available - PE: cl#5002 - increment_clone() does not terminate on invalid input - PE: Indicate the difference between resources that are restarting and reloading - crmd: Leave it up to the PE to decide which ops can/cannot be reload - PE: Detect reloads of previously migrated resources - Core: Bug cl#5016 - Prevent failures in recurring ops from being lost - crmd: Bug cl#5015 - Remove the failed operation as well as the resulting fail-count and last-failure attributes - Fencing: Supress errors when listing all registered devices - PE: Reload of a resource no longer causes a restart of dependant resources - Fencing: Implement support for advanced fencing topologies: eg. kdump || (network && disk) || power - Fencing: Add support for fencing levels to the admin tool - Fencing: Prevent duplicate free and uninitialized pointers - Fencing: Correctly remove the fencing levels when requested - Fencing: Not all devices might be running locally when creating a fencing level - cib: Don't halt disk writes if the previous digest is missing - Cluster: Hook up the callbacks to the corosync quorum notifications - Corosync: Correctly extract the node id from membership udpates - Core: Ensure signals are handled eventually in the absense of timer sources or IPC messages - Corosync: Default to using the nodeid as the node's uuid (instead of uname) - corosync: Consistently set the correct uuid with get_node_uuid() - Fencing: Standardize on /one/ method for clients to request members be fenced - Core: Strip text nodes from on disk xml files (bnc#769910) - Tools: Implement crm_node functionality for native corosync - corosync: Hook up CPG membership - fencing: More gracefully handle failed 'list' operations for devices that only support a single connection - corosync: Unset the process list when nodes dissappear on us - corosync: Correctly infer lost members from the quorum API - crmd: Election - perform the age comparison only once - crmd: Remove rusage differences of less than a second from election calculations - PE: Ensure post-migration stop actions occur before node shutdown - fencing: Correctly remove a single fencing level for a target - fencing: Add the fencing topology section to the 1.1 configuration schema - corosync: Ensure we catch nodes that leave the membership, even if the ringid doesn't change - corosync: Treat CS_ERR_QUEUE_FULL the same as CS_ERR_TRY_AGAIN - crmd: Fast-track shutdown if we couldn't request it via attrd - tools: Bug rhbz#754216 - Add XML as an output option to crm_mon - Core: Correctly determine when an XML file should be decompressed - corosync: Remove deprecated member of the CFG API - fencing: Provide enough data to construct an entry in the node's fencing history - pengine: cl#5014, Prevent asymmetrical order constraints from causing resource stops - pengine: cl#5007, Fixes use of colocation constraints with multi-state resources - PE: Bug cl#5038 - Prevent restart of anonymous clones when clone-max decreases - PE: Bug rhbz#789397 - Failcount and related info should be reset or removed when the resource is deleted - fencing: fence_legacy - Drop spurilous host argument from status query (bnc#750512) - pengine: Bug cl#5000 - Implements ability to create rsc_order constraint sets such that A can start after (B || C) has started. - Fencing: fence_legacy - Ensure port is available as an environment variable when calling monitor (bnc#750512) - PE: Bug cl#5028 - Unmanaged services should block shutdown unless in maintainence mode (bnc#738882) - Fix coverity defects in pengine, cib, stonith-ng and crm_resource - Fix use-after-free in crmd, stonith-ng and crm_simulate - Fix use-of-NULL in libcrmcluster and stonith-ng - Fix segfaults in stonith-ng and xml.c - Upstream version cs: 1e8a96ae55d6022f7036434b537938a1fa75a700- Add provides to identify support level for tickets (bnc#752241)- Resolve coverity RESOURCE_LEAK, REVERSE_INULL and UNREACHABLE defects- Tools: crm_simulate - Support to grant/revoke/standby/activate tickets from the new ticket state section (bnc#752241)- Tools: Add crm_ticket to be profiled by valgrind - Tools: crm_ticket - Display the tickets that are referenced in rsc_ticket constraints but have never been granted yet (bnc#752241) - Tools: crm_mon - Support to display tickets (bnc#752242)- PE: Move the ticket state section to "/cib/status/tickets/ticket_state" (bnc#752241) - PE: Support to make tickets standby for relinquishing tickets gracefully (bnc#752241) - Tools: Implement a new crm_ticket (bnc#752241) - Tools: Update CLI regression tests for the new crm_ticket - Tools: Add CLI regression tests for ticket standby state - PE: Update regression tests for the new ticket state section - PE: Support to make tickets standby for relinquishing tickets gracefully (regression tests)- Tools: crm_ticket - Granting/revoking tickets need user to confirm unless "--force" option is used (bnc#752269)- Tools: Implement the support of granting/revoking tickets for crm_simulate (bnc#752241)- Core: Move several new fields since v1.1.6 to the end of the data types for ABI compliance - stonith: Default to 20s timeout for start and monitor operations of stonith resources which is same as "default-action-timeout" (bnc#733337) - Tools: ptest - Fix "-X, --xml-text" option to handle a XML string as its argument (bnc#736212) - cib: Fix segfault caused by destroying an already freed hash table (cl#5023) - stonith: Expose IDs of stonith resources to stonith agents through "$CRM_meta_st_device_id" environment variable (bnc#728579)- Only include glib.h in plugin.h (don't directly use glib/ghash.h)- RA: add NodeUtilization - stonith-ng: export stonith resource name to stonith agents - crmd: Send out all of the meta parameters to lrmd for stop actions (bnc#715501) - RA: Fix the metadata of HealthSMART and SysInfo RAs - stonith: Longer default timeout/interval of operations for stonith resources - Doc: many proof-reading improvements - stonith: Fix the stonith timeout issue (cl#5009, bnc#727498) - update the license information in pacemaker.spec (bnc#726795) - xml: Add rsc_ticket support into "pacemaker-1.2" schema - xml: Add resource template support into "pacemaker-1.2" schema - tools: Avoid problems caused by differences between node name and uname -n - PE: Resolve memory leak when retrieving failure counts - Stonith: Implement a manual override for when nodes are known to be safely off - PE: Implement limit number of concurrent live migrations (FATE#310118) - PE: Implement referencing templates in constraints - PE: Move master based on failure of colocated group - Fencing: Support admin configurable timeouts for API operations - Fencing: Support checking in-progress operations for all nodes - don't package crm shell code - add Requires: crmsh - Build man pages and html versions (bnc#723680) - Shell: template support - Upstream version cs: b988976485d15cb702c9307df55512d323831a5e- add libtool as buildrequire to avoid implicit dependency- Upgrade to 1.1.6. - PE: Demote from Master does not clear previous errors - crmd: Prevent secondary DC fencing resulting from CIB updates that are lost due to elections - crmd: Log duplicate DC detection as a WARNING not ERROR - crmd: Bug lf#2632 - Correctly handle nodes that return faster than stonith (bnc#710314) - Core: Treat GNUTLS_E_UNEXPECTED_PACKET_LENGTH as normal termination of a TLS session - cib: Call gnutls_bye() and shutdown() when disconnecting from remote TLS connections - cib: Remove disconnected remote connections from mainloop - cib: Attempt a graceful sign-off for remote TLS connections - Core: Ensure there is sufficient space for EOS when building short-form option strings (prevents segfault) - Core: Fix variable expansion in pkg-config files - PE: Resolve memory leak reported by valgrind - PE: Fix memory leak for re-allocated resources reported by valgrind - PE: Improve the merging with template's operations - crmd: Allow nodes to fence themselves if they're the last one standing (lf#2584) - stonith: Add an API call for listing installed agents - stonith: Allow the fencing history to be queried - stonith: Ensure completed operations are recorded as such in the history - stonith: Support --quiet to display just the seconds since epoch at which a node was last shot - stonith: Serialize actions for a given device - stonith: Add missing entries to stonith_error2string() (missing error messages) - Shell: geo-cluster support commands - Shell: support for rsc_ticket - Shell: let the pager decide how to handle output smaller than terminal - Shell: look for log segments with more care and don't throw exception on seek (bnc#713939) - Shell: several history improvements - tools: crm_attribute - Update tickets directly to cib instead of through attrd - Shell: support for LRM secrets in resource level - Shell: enable removal of unmanaged resources (bnc#696506) - Shell: add crm execute directory to the PATH if not already present (bnc#712605) - Shell: update log patterns for history - Shell: relax transition acceptance in history - tools: crm_simulate - Send logging to stdout when additional detail is requested so that grep works as intended - PE: Prevent services being active if dependancies on clones are not satisfied (bnc#707150) - PE: Prevent resource shuffling when the 'utilization' placement strategy is used - PE: Implement resource template - fencing: Add support for --reboot to stonith_admin - Fencing: Downgrade an error message for a valid scenario - crmd: Ensure we do not attempt to perform action on failed nodes (bnc#703236, lf#2612) - Fencing: admin - Disable stderr logging by default - Fencing: Fix use-of-NULL by g_hash_table_lookup - Tools: Correctly log corosync node IDs (lf#2621) - pacemaker:ping: Incorporate fping functionality from Dan Urist - crmd: Recurring actions shouldn't cause the last non-recurring action to be forgotten - crmd: Do not wait for actions that were pending on dead nodes - crmd: Cancel timers for actions that were pending on dead nodes - PE: Correctly recognise which recurring operations are currently active - PE: Ensure role is preserved for unmanaged resources - PE: Ensure unmanaged resources have the correct role set so the correct monitor operation is chosen - PE: Implement cluster ticket and deadman - Build: Add crm_ticket into spec file - Tools: crm_attribute - No need to determine the node for tickets management - Tools: crm_mon crm_resource - Display the "operation_key" instead of the operation "id" if available (bnc#707201) - CTS improvements. - Shell: reimplement the history latest command (bnc#710958) - Shell: Don't limit to last hour when examining hb_reports - Shell: improve capture log slices for transitions (bnc#710907) - Shell: allow specifying PE files as relative paths in order to disambiguate between PE inputs with the same number (bnc#710655) - Shell: remove peinputs "get" and "list" subcommands, just use 'v' for the long listing (bnc#711060) - Shell: remove transition "show" subcommand, if there is no subcommand it is assumed that the user wants to do "show" (bnc#711060) - Shell: detect (and ignore) empty transitions - Shell: review transition interface (bnc#710655) - Fencing: Improved pcmk_host_map parsing - Fencing: Consolidate pcmk_host_map into run_stonith_agent so that it is applied consistently - Shell: Update regression tests for new stonith metadata - pengine: Correctly determine the state of multi-state resources with a partial operation history - Core: Cancelled and pending operations do not count as failed - PE: Ensure restarts due to definition changes cause the start action to be re-issued not probes - Fencing: Prevent use-of-NULL by g_hash_table_lookup - Shell: Install support for pssh - PE: Support of monitor op with role="Stopped" - Shell: improve logic for when to use the pager - Shell: don't print error on Broken pipe - cib: Record and display the originator details of CIB changes for schema "pacemaker-1.2" - crmd: Display the name and vlaue of the transient attribute(s) that caused a new transition - stonith: Correctly handle synchronous calls - PE: A demote operation is implied by the stonith operation (lf#2606) - PE: Group migration after failures and non-default utilization policies (lf#2613, lf#2619) - Shell: Include log file querying tools and "history" extension. - Significant number of fixes for issues reported by Coverity. - ais: Handle IPC error before checking for NULL data (bnc#702907) - PE: save PE inputs again (bnc#703723) - PE: Before migrating an utilization-using resource to a node, take off the load which will no longer run there (lf#2599, bnc#695440) - cib: Record and display the originator details of CIB changes - cib: Update "cib-last-written" for live CIB on a config change - cib: Filter out unnecessary "update-*" fields on digest calculating - doc: man page for crm - cib: Check the validation version before adding the originator details of a CIB change - PE: Don't log resource states unless debug is on - Shell: implement -w,--wait option to wait for the transition to finish - crmd: Store only the last and last failed operation in the CIB - Core: Use pre-glib2-2.28 version of g_str_hash to ensure consistent score calculation for clone instances - Shell: repair template list command - PE: Optimize the placement strategy and handle stickiness for utilization-based placement correctly (bnc#669686) - Shell: print error instead of warning and exit with 1 if a resource cannot be deleted (bnc#680401) - Tools: attrd - Do not initiate updates for deleted attributes - Tools: Make progress when attrd_updater is called repeatedly within the dampen interval but with the same value (lf#2528) - tools: Do not pass bash specific switches to other SHELLs (lf#2556) - crmd: Watch for config option changes from the CIB even if we're not the DC (lf#2509) - PE: Prevent shuffling by choosing the correct clone instance to stop (lf#2574) - PE: Avoid group restart when clone (re)starts on an unrelated node (lf#2581, bnc#681595) - PE: Set reasonable default limits for the number of input files saved - tools: Do not recursively look for resource meta attributes (lf#2563) - PE: Do not write out duplicated input files (lf#2582) - cib: Use SIGPIPE for re-enabling disk writes after an error (lf#2229) - crmd: Fail actions that were scheduled for a failed/fenced node (lf#2559) - Fencing: Clean up the metadata creation - Stonith: Allow the fencing agent operations to be overridden on a per-device basis (lf#2557) - Tools: crm_resource - Indicate master/slave state when querying the parent resource (lf#2477) - Tools: crm_mon - Display the true number of configured resources (lf#2549) - RA: Fix handling of 'devices' in the HealthSMART agent - Shell: print warning if start or stop interval is not zero - Shell: Check for violations of uniqueness for instance parameters during commit - PE: Indicate resource failures even if on-fail="ignore" - ais: Ensure we drain the corosync queue of messages when glib tells us there is input - crmd: Catch fence operations that claim to succeed but did not really - Core: Use pre-glib2-2.28 version of g_str_hash to ensure consistent score calculation for clone instances - Shell: repair template list command - Shell: node clearstate must flush LRM state too (bnc#653795) - Upstream version cs: 9971ebba4494 (release 1.1.6)- Fix rpmlint non-ghost-in-var-run check (bnc#710272)- PE: Consolidate logging for resources active on multiple nodes - PE: More accurate logging of restarts and recovery for master/slave resources - PE: target-role alone is not sufficient to promote resources (lf#2544) - ais: Ensure that process death is communicated to peer nodes (lf#2550) - PE: Certain stop operations require STONITH, could overload the batch-limit otherwise (lf#2551, bnc#669229) - PE: Suppress unnecssary assertion failure message (lf#2558, bnc#670983) - Shell: Do not print XML for permission denied errors - ACL: Support access control on "cleanup" - crmd: Cancel recurring operations while we're still connected to the lrmd - crmd: Suppress an ERROR by teaching fsa_action2string() about complex actions - crmd: ACL: Prohibit non-privileged users to "fail" resources - Core: Do not store last-run for recurring operations, since it is misleading - Shell: fix logic for not printing the default monitor depth - Doc: Add ACL documentation - Upstream version cs: ecb6baaf7fc0- Upgrade from 1.1.2.1 to 1.1.5. Note that the following changelog entries cover changes made in versions 1.1.3 and 1.1.4 as well. - crmd: Cancel recurring operations while we're still connected to the lrmd - crmd: Suppress an ERROR by teaching fsa_action2string() about complex actions - PE: Consolidate logging for resources active on multiple nodes - PE: More accurate logging of restarts and recovery for master/slave resources - PE: target-role alone is not sufficient to promote resources (lf#2544) - ais: Ensure that process death is communicated to peer nodes (lf#2550) - PE: Certain stop operations require STONITH, could overload the batch-limit otherwise (lf#2551, bnc#669229) - Shell: Do not print XML for permission denied errors - Doc: Add ACL documentation - Core: Do not store last-run for recurring operations, since it is misleading - crmd: Purge status for resourcs that no longer live in the LRMd (lf#2536) - Stonith: Teach stonith_admin to automagically obtain the current node attributes for the target from the CIB - tools: Prevent use-of-NULL in crm_simulate (lf#2527) - ACL: Convert uid directly with strtol() for avoiding unnecessary error logs - Tools: Make unmanaged resources stand out in crm_simulate graphs - PE: Correctly reconstruct the status of anonymous cloned groups (lf#2508) - Core: Correctly parse the resource name from notificiation action IDs (lf#2511) - crmd: Indicate the interval for the timer that just expired - crmd: Reschedule the PE_START action if its not already running when we try to use it - crmd: Ensure notify variables are accurate for stop operations (lf#2545) - crmd: Implement reprobe natively in the crmd to avoid transition loops (lf#2533) - crmd: Cancel recurring monitor ops at shutdown (lf#2309) - PE: Don't imply colocation requirements when applying ordering constraints with clones (lf#2493) - PE: Protect against constraints that require stonith devices to stop before 'normal' ones (lf#2529) - PE: Prevent unstable clone placement by factoring in the current node's score before all others (lf#2544) - Tools: Suport cibadmin --empty for creating a minimal CIB - PE: Do not override configured clone stickiness values (lf#2445) - PE: Avoid relying on stickness for stable clone placement (lf#2445) - Shell: work around lrmd/lrmadmin blocking when not run as root or hacluster - Shell: more lazy help system initialization - Access control list support for pacemaker's shell and CIB. - PE: Prevent segfault by validating the contents of ordering sets (lf#2495) - PE: Prevent use-after-free resulting from unintended recursion when chosing a node to promote master/slave resources - PE: Avoid flooding the logs with errors for orphan resources (lf#2518) - cib: Add "enable-acl" property - Shell: don't create empty optional sections (bnc#665131) - xml: Add ACL support into pacemaker-1.2 and 1.1 schemata. - RA: HealthSMART: Several fixes. - RA: SysInfo: Allow a list of filesystems/devices to be queried for free space - RA: ClusterMon: htmlfile is not mandatory (lf#2512) - Shell: merge properties and rsc/op_defaults on load update (lf#2454) - stonith: use ST_DEVICEID for short description - Shell: combine crmd and PE meta-data (lf#2373,2419) - PE: Only update the node's promotion score if the resource is active there - PE: Only use the promotion score from the current clone instance - Shell: ask for confirmation for node fence and clearstate (bnc#642268) - Shell: insert sleep between stop and start in resource restart - stonith: remove unnecessary logging - Shell: fix exception when HOME is not set - Shell: Allow creation of an empty shadow CIB ("cib new ... empty") - Shell: Allow cibstatus to create new node status entries. - Shell: fix rsc/op_defaults edit - Shell: repair management of cloned groups - Shell: wait for the stop transition to finish before invoking start in the resource restart command (lf#2516) - PE: Correct target_rc for probes of inactive resources - Tools: Prevent crm_resource commands from being lost due to the use of cib_scope_local - PE: Prevent use-of-NULL resulting from variable shadowing spotted by Coverity - Shell: allow adding node attributes in configure when the attributes set doesn't already exist - Core: Repair reference to child-of-child after removal of xml_child_iter_filter from get_message_xml() - Core: Remove extra calls to xmlCleanupParser resulting in use-after-free - Core: Reinstate the logic that skips past non-XML_ELEMENT_NODE children - Core: Update the default validation type to pacemaker-1.0 - Core: Prevent recently introduced use-after-free in replace_xml_child() - crmd: Update failcount for failed promote and demote operations - PE: Prevent use-of-NULL when there is status for an undefined node - Shell: warn on non-existing nodes in location constraints (lf#2486) - Shell: put completion bits into a separate module - Shell: repair ability to display multiple property sets - Build: Script for determining test coverage - Remove usage of the xml_child_iter macro to obtain better information from tracing tools. - Shell: Let crm_resource handle node & resource iteration during resource cleanup (skips down nodes: bnc#647378) - PE: Avoid needless string compares - cib: Fix a log message - Core: Provide arguments to do_crm_log_alias() in the correct order when logging xml - Add gcov support to spec file (disabled by default) - crmd: Determin the target rc for an action once - crmd: Prevent use of NULL by making copies of the operation's hash table - Core: Turn off unneeded checks when applying a diff - crmd: Allow operations in the PE state - crmd: Ensure the CIB is always writable on the DC by removing a timing hole - cib: Deprecate the set_slave_all() API call - PE: Ensure fencing of the DC preceeds the STONITH_DONE operation - PE: Complete all fencing before attempting atomic migrations - stonith-ng: fix two memory leaks. - Core: Preserve ordering when removing subtrees with a diff - Tools: Calculate the digest after applying a diff - Core: Correctly extract the version details from a diff - cib: Drop the severity of a log message - crmd: Don't abort transitions when probes are completed on a node - PE: Try to ensure atomic migration ops occur within a single transition - Core: Correctly compare against crm_log_level in the logging macros - cib: Revert part of a recent commit that purged still valid connections - PE: reduce logging severity for single rsc sets - Core: Prevent use-after-free when creating a CIB update for a timed out action - Shell: update shadow file directory processing - Tools: crm_resource - Improved output when listing constraints relevant to a given resource - Tools: crm_resource - Fix -x, the short form of --xml-file - Tools: crm_resource - Include location constraints in -A|-a output - Tools: crm_shadow - Avoid replacing the entire configuration (including status) - PE: Prevent clones from being stopped because resources colocated with them cannot be active - crmd: Include the correct transition details for timed out operations - Core: Drop the compression limit (lf#2506) - cib: Don't remove client's when notifications fail, they might just be too big (lf#2506) - cib: Do not calculate changes for status updates that wont be broadcast - cib: Speed up the establishment of remote connections - crmd: All pending operations should be recorded, even recurring ones with high start delays - stonith-ng: reduce logging. - Core: Provide significant performance improvements by implementing versioned diffs and digests - cib: Reject updates with a feature set greater than our own - Core: Some performance enhancements when comparing xml objects - crmd: Use the supplied timeout for stop actions - Core: Ensure ordering is preserved when applying diffs - crmd: There's no need to check the cib version from the 'added' part of diff updates - crmd: Additional logging for the cause of new transitions - cib: Drop invalid/failed connections from the client hashtable - PE: Use the original digest algorithm for parameter lists - cib: Ensure all diffs sent to peers have sufficient ordering information - cib: Reduce unnecessary copying when comparing xml objects - Core: Purge diff markers before calculating and comparing digests - Core: Minor speedup when comparing xml objects - cib: The feature set version check is only valid if the current value is non-NULL - Tools: crm_resource - Ensure xml-related memory is cleaned up at exit - Tools: crm_simulate - Ensure xml-related memory is cleaned up at exit - PE: lf#2478 - Implement improved handling and recovery of atomic resource migrations - PE: Fix memory leak when processing completed migration actions - Large number of performance improvements to the Policy Engine and CIB. - Core: Cache Relax-NG schemas - profiling indicates many cycles are wasted needlessly re-parsing them - Core: Don't compress large payload elements unless we're approaching message limits - Tools: crm_node - Fix the return code for operations on corosync clusters - Stonith: Fix two memory leaks - crmd: Record completed migrate ops in CIB status section as migrate_to/migrate_from, not as stop/start (lf#2481) - PE: Fix typo leading to use-of-NULL in the new ordering code (bnc#653635) - crmd: on version print everything to stdout - stonith: cleanup children on timeout in fence_legacy - Shell: use uname instead of id in nodes when building other ids - Shell: add "clearstate" command for nodes - crmd: Don't hide stop events that time out - allowing faster recovery in the presence of overloaded hosts - PE: Use hashtables instead of linked lists for performance sensitive datastructures - PE: Skip probe_resources() completely if probing is disabled - PE: Obtain massive speedup by prepending to the list of ordering constraints (which can grow quite large) - PE: Detect start/stop actions with intervals - PE: Optimize the logic for deciding which non-grouped anonymous clone instances to probe for - stonith: Use the timeout specified by the user - stonith: Add the timeout at the top level where the daemon is looking for it (lf#2473) - stonith: Ensure timeouts are included for fencing operations (lf#2473) - Logging tuning - crmd: Use an operation's interval when an invalid timeout was specified - crmd: Use the correct define/size for lrm resource IDs - Tools: Ensure the line we're grabbling the time from contains a time - Tools: crm_simulate - Fix use-after-free in when terminating - Stonith: Ensure stonith operations complete within the timeout and are terminated if they run too long (lf#2473) - crmd: Prevent assertion failure for stop actions - PE: Prevent segfault by ensuring the arguments to do_calculations() are initialized - PE: Correct use-after-free - Tools: crm_simulate - Resolve memory leak reported by valgrind - PE: Ignore failed actions on nodes that have been shutdown - crmd: Better logging of failed stonith operations (lf#2473) - stonith: Gracefully handle remote operations that arrive late (after we've done notifications) (lf#2473) - Tools: crm_simulate - Resolve memory leak reported by valgrind - PE: Repair on-fail=block for groups and primitive resources (lf$2476) - crmd: Ensure stop actions always have the relevant resource attributes (lf#2458) - Tools: Fix assertion failure in crm_resource (lf#2456) - PE: Do not demote resources because something that requires it can't run - PE: Display managed/unmanaged state for resources when grouped by node in crm_mon (lf#2479) - cib: Clean up disconnected remote connections (lf#2469) - Tools: crm_mon - Only display attributes of online nodes (and sort them) - RA: ping - Indicate that host_list is a required parameter in the metadata - stonith: Prevent segfault by not looking up operations if the hashtable hasn't been initialized yet (lf#2461) - Tools: Have crm_resource --locate indicate which instances are promoted (lf#2477) - PE: Ensure resource op timeout takes precedence over op_defaults (lf#2474) - Upstream version cs: bdd89e69ba54- SUSE_ASNEEDED also during %install, if by chance we rebuild things in there.- cib: Allow backup files to proceed after wrap-around (bnc#630322) - Upstream version cs: dfc6b2561373- stonith-ng: record exit code and log output for failed port list query (bnc#625594) - Upstream version cs: 0db65fda4b15- Shell: print error if a resource is not found in stop/start/manage (bnc#627757) - PE: Fix memory leak when unpacking recurring operations - PE: Fix potential use-of-NULL when calculating the set of required actions - Shell: set shadow directory properly (bnc#626638) - Core: Enable coredumps properly for MCP and AIS plugin (lf#2463) - Upstream version cs: 61360150595d- Explicitly require libglue2 to avoid potential conflict with libheartbeat2 (bnc#628243)- crmd: Prevent everyone from losing DC elections by correctly initializing all relevant variables - crmd: Ensure we activate the DC timer if we detect an alternate DC - PE: Wait until stonith is available, don't fall back to shutdown for nodes requesting termination - Upstream version cs: e0d731c2b1be- PE: Correctly order clone startup after group/clone start - stonith-ng: pass the configuration to the stonith program via environment variables; requires cluster-glue >= 1.0.6 (bnc#620781, CVE-2010-2496) - Logging improvements. - Upstream version cs: f9fbf97b0ce8- Shell: allow adding force parameter to resource migrate - Shell: add the actions option to configure ptest (lf#2360) - Shell: test early for duplicate elements in edit (bnc#620460) - Shell: Use crm_attribute directly instead of the deprecated crm_standby and crm_failcount wrappers - PE: Correctly detect when there is a real failcount that expired and needs to be cleared - PE: Avoid creating invalid ordering constraints for probes that aren't needed - PE: Include the prefix for clone children when printing the clone - PE: Bug lf#2453 - Enforce clone ordering in the absense of colocation constraints (lf#2453, bnc#619581) - crmd: Only log the failcount op if something is wrong - crmd: Base DC election on process relative uptime - crmd: Make sure we always poke the FSA after a transition to clear any TE_HALT actions - crmd: Make sure the membership cache is accurate after a sucessful fencing operation - crmd: All nodes should see status updates, not just the DC - stonith-ng: Advertise stonith-ng options in the metadata - Core: Correctly unpack HA_Messages containing multiple entries with the same name - ais: Sign everyone up for peer process updates, not just the crmd - ais: Move the code for finding uid before the fork so that the child does no logging - Upstream version cs: e9b2f255a20e- PE: Fail unmanaged resources should not prevent other services from shutting down (lf#1959) - crmd: Handle asynchronous notification of resource deletion events (lf#2439) - Shell: add support for classes to the providers command - crmd: Pass in the correct result when processing synchronous resource deletion operations - ais: Fix unterminated recursion in init_ais_connection() - Tools: Make sure crm_resource waits for the completion of crmd operations it sent - stonith: Support the poweron/poweroff actions (bnc#618798) - stonith: Map poweron/poweroff back to on/off expected by the stonith tool from cluster-glue (bnc#618798) - PE: Correctly handle pseudo action creation - Tools: crm_node - Enable the -A parameter, the short form of --openais - CLI: report bad ISO8601 duration specifiers (bnc#618808) - crmd: Fix assertion failure when performing async resource failures - crmd: Include the action for crm graph operations - crmd: Allow non-DC nodes to clear failcounts too and tidy up logging - Fix some valgrind reported leaks. - Upstream version cs: ea6cdd9d9613- Shell: templates: clvm,ocfs2: add the fs/vg resource to the base group, add timeouts (bnc#605580) - Shell: skip resource checks for property-like elements (lf#2420) - Shell: on no id match the first of property-like elements (lf#2420) - Shell: set proper ids for rsc/op_defaults (lf#2420) - Shell: add exit codes for non-interactive use - PE: No services should be stopped until probes finish (lf#2433) - PE: Support clones in resource sets (bnc#586613, lf#2404, lf#2409) - Tools: Allow ptest and crm_simulate to work with configs that lack a status section - Core: Reduce logging for failed xpath searches - PE: Support colocation sets with negative scores (lf#2435) - PE: Ensure deallocated resources are stopped - PE: Ordering dependencies on partially active groups not observed properly (lf#2422, bnc#607125) - PE: If there are no compatible peers when interleaving clones, ensure the instance is stopped - PE: Fix colocation for interleaved clones - PE: Fix colocation with partially active groups - PE: Don't overwrite existing meta attributes (like timeout) for notify operations (lf#2424) - PE: stop-all-resources shouldn't apply to stonith resources (lf#2426) - Fencing: Reduce stonith-ng logging (lf#2431) - ais: Improved processing when the peer crmd processes join/leave (lf#2401) - Tools: crm_resource - Report crmd connection errors - Tools: Depreciate the 'pingd' daemon and resource agent in favor of ocf:pacemaker:ping - cib: Fix the application of unversioned diffs - Several valgrind + coverity issues fixed. - Upstream version cs: 8b9ec9ccc506- Install crm shell and cts in $(pyexecdir) instead of $(pythondir) to ensure installation in /usr/lib64 on x86_64- Fix crm membership check (bnc#603685, reverts changesets 6e6980376f01 and 2e096a41a5f9) - Upstream version cs: e8717a29601a (1.1.2.1)- ais: fix list of active processes sent to clients (bnc#603685) - Upstream version cs: 2e096a41a5f9- crmd: Prevent use-after-free of the stonith-ng connection (lf#2414) - Core: Prevent use-after-free reported by valgrind when doing xpath based deletions (lf#2414) - PE: Fix memory leaks reported by valgrind - Core: Fix memory leak in replace_xml_child() reported by valgrind - PE: Remove developemnt logging which mistakenly logged at "ERROR" level. - Upstream version cs: b59c27dc114a (1.1.2)- crmd: Prevent use-after-free of the PE connection after it dies (lf#2414) - Shell: support for clone instances in constraints (lf#2169) - Upstream version cs: 42a5aa3413f4- Shell: new command default-timeouts to set default operation timeouts (bnc#479052) - crmd: ais: Use the threadsafe version of getpwnam - PE: Enforce mandatory promotion (colocation) constraints (lf#2403) - PE: Don't complain about missing agents during probes of a-symetric clusters (lf#2410) - Shell: don't error on missing resource agent with asymmetrical clusters (lf#2410) - ais: Ensure the list of active processes sent to clients is always up-to-date - PE: Allow constraints to apply to specific instances of clones (lf#2169) - PE: Allow ordering constraints to apply to specific instances of clones - PE: Clean up failcount after it expires (lf#2066) - PE: Before starting utilization-using resources on a node, take off the load which will no longer run there (bnc#594782) - PE: Don't be so quick to pull the trigger on nodes that are coming up - crmd: Use global fencing notifications to prevent secondary fencing operations of the DC - cib: Changes to group order are not detected or broadcast to peers (lf#2352) - Core: Only use the named schema if the validation passes - Shell: don't verify empty configurations (bnc#602711) - crmd: Send erase_status_tag() calls to the local CIB when the DC is fenced, since there is no DC to accept them - crmd: Include operation interval in logged action - crmd: Arrange for only one node to clean up after a fenced DC node - crmd: create the final directory too for resource agents (bnc#603190) - Tools: crm_mon: refresh screen on terminal resize (bnc#589811) - PE: Correctly locate clone instances by their prefix (lf#2412) - ais: Make a better attempt at determining an accurate born-on value from corosync - tools: crm_mon - Enable 'connectivity' mode for 'ping' resources too - Upstream version cs: e8624c181a3f- Fix small error so that regression test suite passes.- PE: Before starting utilization-using resources on a node, take off the load which will no longer run there (bnc#594782)- PE: Don't create scaffolding for ordering sets with a single resources (bnc#586613) - PE: Ignore colocation weights from clone instances - PE: Print allocation scores as +/-INFINITY when appropriate - Upstream version cs: fa1c810f1d1d- Fix regression test for build environment. - Upstream version cs: c11e18619efd- Fix several memory leaks exposed by valgrind. - Improve regression tests. - Low: Fencing: Delay system initialization until after we handle possible metadata queries - Tools: Do not print help on executing "crm_node -i" - crm_simulate: Allow bringing new node online (bnc#591162) - crmd: Improved detection of partially active peers (lf#2401) - PE: Fix intra-set colocation and ordering (lf#2384) - PE: Combine failcounts for all instances of an anonymous clone on a host (lf#2383) - crmd: Add missing fields to the metadata for use by the shell (lf#2387) - PE: Check for use-of-NULL in dump_node_scores() - PE: Rewrite native_merge_weights() to avoid Fix use-after-free - Upstream version cs: 2a90abe96048- Automated test case improvements. - Upstream version cs: 536bf0b9d3ba- Shell: always reload status if working with the cluster (bnc#590035) - Shell: add new regression tests - Shell: don't allow empty attributes for properties/*_defaults (lf#2395) - Shell: add another attribute not present in the crmd metadata - Tools: crm_mon - Enable specification of community for SNMP traps - PE: Ensure important options (notify, unique, etc) are always exposed during resource operations (lf#2391) - Tools: Support short form of crm_simulate --quorum (bnc#591168) - ais: Convert endian for all of the integer fields in messages (bnc#472014) - Upstream version cs: 80e0bb600e6c- Shell: Default to using the status section from the live CIB (bnc#592762) - Upstream version cs: 739282ba9e2e- crmd: fix non-fatal assert in lrmd.c when resources are manually failed (bnc#590924) - Upstream version cs: f77530201221- tools: crm_simulate - fix small xpath memory leak in inject_node_state - Shell: templates: new sbd template - Shell: templates: update apache documentation - crmd: Do not ignore action timeouts based on FSA state (could cause transitions that never terminate) - Upstream version cs: 322ff3419bc8- Shell: add two attributes not present in the crmd metadata, which broke "configure verify" - Upstream version cs: 24ee74882b42- Shell: fix bad cib passed to crm_verify - Upstream version cs: c02327f742a0- Shell: verify only changed elements on commit (bnc#590033) - Shell: observe op_defaults when verifying primitives (bnc#590033) - Shell: update meta attributes list - Shell: verify meta attributes and properties (bnc#589867) - Shell: fix wrong exit code setting logic in resource cleanup - Shell/PE: Show utilization/capacity information (bnc#589873) - Shell: implement new cibstatus interface and commands (bnc#580492) - crmd: Do not allow the target_rc to be misused by resource agents - Shell: check python version at start (lf#2369) - extra/showscores.sh: Correctly display stickiness if unset - RA: SystemHealth: exit properly when the required software is not installed (bnc#587940) - ais: Look for the correct conf variable for turning on file logging - crmd: Ensure the cluster terminates when the PE isn't available (lf#2379) - crmd: Ensure we dont get stuck in S_PENDING if we loose an election to someone that never talks to us again - Upstream version cs: 3fea355803af- crmd: Remove race condition that could lead to multiple instances of a clone being active on a machine - PE: Consolidate and unify logging of fencing causes - hb2openais: add support for corosync as target - Shell: templates: add cmirror to ocfs2 and clvm (bnc#587493) - Shell: support for resource/node utilization - Shell: switch to single cibadmin for commit - Shell: enable comments (lf#2221) - Upstream version cs: 83f654529b5c- Shell: don't touch resources within a group when managing groups/clones - Shell: repair node show (bnc#587883) - Upstream version cs: 3002fabf85d4- PE: Make sure migration ops use the correct meta options (bnc#586710) - Upstream version cs: aaf4d36b8494- Shell: fix commit for new clones of new groups (bnc#585471) - Shell: edit multiple meta_attributes sets in resource management (lf#2315) - Shell: don't cache node and resource ids (lf#2368) - Shell: new cibstatus import command (bnc#585471) - Shell: check timeouts also against the default-action-timeout property- PE: Avoid needless restart of primitive depending on a clone (lf#2317, bnc#586613) - PE: Only log orphans when they are found to be active (lf#2364) - PE: Ensure clones observe mandatory ordering constraints if the LHS is unrunnable (lf#2361) - Tools: Add utilization support for crm_attribute and crm_resource - Upstream version vs: c23bbc5262b2- ais: Do not count votes from offline nodes and calculate current votes before sending quorum data. - PE: Repair handling of unordered groups in RHS ordering constraints. - Shell: update regression tests. - CTS: Make it work for openais. - Upstream version cs: a9f5a06a8f9e- Conflict with ocfs2-tools-o2cb prevented said package from being installed at all due to dependencies (bnc#582697).- Shell: implement lifetime for rsc migrate and node standby (lf#2353) - Shell: node attributes update in configure (bnc#582767) - Tools/PE: Do not warn if the configuration is fully forward-compatible. - Upstream version cs: 745c756006da- Shell: update previous node lookup procedure to include the id where necessary - Shell: improve batch mode. - Shell: add support for xml in cli. - Shell: repare clone/ms cleanup (bnc#583288) - Shell: load update should update existing elements. - crmd: expected-quorum-votes not correctly updated after membership change (lf#2359) - PE: Fix master-master anti-colocation (lf#2358) - Upstream version cs: 059e4095d2ca- Work around non-thread-safe setenv() calls that could cause a crash (bnc#582598) - Upstream version cs: ae0170640c3e- Shell: update supported CIB RE to include pacemaker 1.1 and 1.2 - ais: Fix the child shutdown escalation logic - Core: Give signal handlers higher priority - PE: Correctly implement optional colocation between primitives and clone resources - crmd: Don't send operation updates for deleted resources (bnc#578644) - Upstream version cs: 530add2a3721- Shell: add tab completion for nodes (bnc#577003) - Shell: fix wrong var reference - Shell: improve configure commit (lf#2336) - Shell: add tab completion for op/rsc_defaults (bnc#552541) - Shell: add option to control sorting of cib elements (lf#2290) - Shell: add tab completion for nodes (bnc#577003) - RA: ping(d) - Fix metadata. - xml schema: support differentiation between stable and experimental feature sets. - Upstream version cs: 0591630c8bd3- Conflict with ocfs2-tools-o2cb; a system needs to be configured either for Pacemaker or O2CB/Oracle RAC, but never both.- stonith-ng: Fix meta-data not always being retrieved properly. - Tools: crm: fix CIB upgrade command (bnc#578637) - PE: Improved graphs when probing partially up nodes - crmd: Improve handling of cancelled operations caused by resource cleanup (bnc#578644) - PE: Significant performance bugs for larger clusters with many nodes/resources/constraints removed. - Upstream version cs: 4bc7a38e2b10- Add dependencies on python and python-xml so the shell works immediately (bnc#578006).- Incorporate code for hard resource limits (FATE#303384) in shell and pacemaker policy engine. - External stonith agents were not properly handled (bnc#577007). - Upstream version cs: 46679a8feec7- crmd: Ensure we have the latest status after a transition abort - crm: optimize shell start-up time (lf#2303). - crm: simplify template for ocfs2 - crm: don't remove sets which contain id-ref attribute (lf#2304) - crm: add update method to template apply (lf#2289) - crm: make template new more robust, add documentation - crm: fix check for invalid constraints - crm: rename status to cibstatus (lf#2236) - crm: save options if run from the command line (lf#2310) - crm: add notify to the list of valid operations - crm: fix node delete (lf#2305) - crm_node: accept -f as the short form of --force - crm_node: rovide a way to determin the nodeid of past cluster members (lf#2307) - Upstream version cs: 6a6aa02deea9- PE: Don't log uninstalled resource agents as errors (lf#2251) - fix refresh time for html interface of crm_mon - Tools: crm: don't consider warnings as errors (lf#2274) - Tools: crm: direct RA interface for ocf class resource agents (lf#2270) - cib: Check also whether an user's primary group is matched - PE: Bug lf#2153 - non-clones shouldn't restart when clones stop/start on other nodes - PE: Bug lf#2153 - Update regression tests - PE: Correctly anti-colocate with a group - Tools: crm: define missing index in validate_template (lf#2287) - Tools: crm: stay in crm if user specified level only (lf#2286) - Tools: crm: fix exit code on single shot commands - Tools: Bug lf#2286 - Allow the shell to accept template parameters on the command line - Tools: crm: allow entering level and input file (-f) - Tools: crm: relax check for RA existence (lf#2270) - Tools: crm: fix OCF_ROOT processing - Tools: crm: catch EOFError exception in raw_input (lf#2289) - Tools: crm: implement -F (--force) option - Tools: crm: rename some misnamed functions - PE: Prevent non-multistate resources from being promoted through target-role - Tools: crm: direct RA interface for stonith class resource agents (lf#2270) - fencing: stonithd: ignore case when comparing host names (lf#2292) - Tools: crm: direct RA interface for lsb class resource agents (lf#2270) - PE: Bug lf#2153 - non-clones shouldn't restart when clones stop/start on other nodes - improved - TE: Fix batch-limit processing. - Tools: crm: exclude locations when testing for pathological constraints (lf#2300) - PE: Only complain about target-role=master for non m/s resources - Tools: crm: load help from crm_cli.txt - pengine/crmd: move crm_log_init after version and metadata calls (lf#2272) - crmd: Ensure batch-limit is correctly enforced - PE: Don't overwrite the value of batch-limit - cts: Add the 'cmd' to the output of external commands - pengine: crmd: Ensure help text includes correct binary name - Tools: crm: don't fall apart if there's no help text file - Tools: crm: cache help tables (lf#2303) - Upstream version cs: 443ff5d69319- PE: Correctly unpack ordering constraints for resource sets to avoid graph loops - Two new system health RAs. - PE: Don't log uninstalled resource agents as errors (lf#2251) - Upstream version cs: cd2aaf7e35cf- Tools: crm: fix parentheses parsing in resource sets - Tools: crm: support for description attribute in resources/operations (bnc#548690) - Tools: hb2openais: add EVMS2 CSM processing (and other changes) (bnc#548093) - Tools: crm: don't add score which doesn't exist - Tools: crm: copy score from/to resource_set - Tools: crm: update tab completion for constraints (support resource sets) - Tools: crm: handle resource_set resource references in delete and rename - PE: Provide a default action for resource-set ordering - Tools: crm: drop empty attributes elements - xml: Add stopped as a supported role for operations - Tools: hb2openais: don't allow empty rules, clones, or groups (lf#2215) - Tools: hb2openais: refuse to convert pure EVMS volumes - Tools: hb2openais: add inf score to order constraints - crm: Enhance "colocation" help to explain how it works. - crm_mon: Mail subject needs space for \0 byte. - fencing: stonithd: add metadata for stonithd instance attributes (and support in the shell) - Tools: crm: drop short description from the metadata if it equals long description - Tools: crm: relax checks for advertised monitor operations (lf#2222) - Tools: crm: support for comments (lf#2221) - Tools: crm: test operation name against a list of possible ops - tools: Dont waste vertical space in crm_mon output - xml: Treat node unames as text fields not IDs (bnc#552713) - PE: rsc_order constraints always use score at the top level (lf#2206) - xml: Create an always-true expression for empty rules when upgrading from 0.6 (lf#2215) - PE: Clone ordering should be able to prevent startup of dependant clones (lf#2209) - PE: Add regression test (lf#2209) - PE: Correctly identify the state of anonymous clones when deciding when to probe (lf#2216) - PE: Operations that require fencing should wait for 'stonith_complete' not 'all_stopped'. (lf#2225) - PE: Prevent clone peers from stopping while another is instance is (potentially) being fenced (lf#2225) - crmd: C_TIMER_POPPED is now quite normal thanks to the recheck timer, downgrade log message - PE: Silently fix requires=fencing for stonith resources so that it can be set in op_defaults - xml: Preserve the old stonith-enabled=false symantics from 0.6 during an upgrade (lf#2230) - xml: Allow the auto-id base to be specified, because generate-id() isn't always unique - PE: Ensure groups process location constraints so that clone-node-max works for cloned groups (lf#2213) - Tools: crm: relax check for RA actions - Upstream version cs: 9f61f272598a- PE: Provide better defaults for lt(e) and gt(e) comparisons (bnc#515172) - Upstream version cs: 405fe9a92d82- Revert conflicts with ocfs2-tools-o2cb to ease automatic upgrades. The two should still not be installed in parallel; please see release notes! - High: ais: Gracefully handle changes to the AIS nodeid - Low: PE: Fix the metadata to advertise the correct type for stonith-timeout - High: cib: Repair the ability to connect to the cluster from non-cluster machines - Medium: Tools: Use -q as the short form for --quiet (for consistency) - Medium (bnc#520707): Tools: crm: new templates ocfs2 and clvm - Medium (LF 2185): Tools: crm: add resource promote/demote commands - Low (LF 2175): Tools: crm: add help for node status - High: xml: Mask the "symmetrical" attribute on rsc_colocation constraints (bnc#540672) - Upstream version cs: 05c8b63cbca7- Upstream version cs: 595cca870aff - Dev: Tools: crm: do not allow empty attribute names - Low: Tools: crm: make check for operations id attribute stricter - Dev: Tools: crm: implement binary op types properly (thanks to Alain St-Denis) - Dev: Tools: crm: allow id-refs to stand by themselves (update for fix 37077ed56af5) - High: crmd: Terminate if we are ever evicted from the membership - High: crmd: Unset any existing DC value before querying for a new one - High: PE: Bug bnc#515172 - Fix the boolean-op attribute of rules - High: PE: Bug bnc#515172 - Correctly process location constraint rules which contain multiple expressions - High (bnc#507255): Tools: crm: implement date expressions - Low: Tools: crm: let the user know that curses is needed for colors - High: Tools: crm: new display type (uppercase keywords) - Medium: Extra: Add tools, an RA and tests for the System Health feature - Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options - Medium: PE: Prevent use-of-NULL in find_first_action() - High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node - Low: crmd: Include cib version of the updates which caused a transition abort - High: PE: Bug lf#2160 - Dont shuffle clones due to colocation - Low: PE: Fix find_first_action() when no node filter is specified - Low: PE: ptest - Suppress deleted ordering constraints from the .dot graph - High: PE: New implementation of the resource migration (not stop/start) logic - Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches - High: Tools: crm_resource - Advertise --move instead of --migrate - Medium: Extra: New node connectivity RA that uses system ping and attrd_updater - High: crmd: Bug bnc#527530 - Wait for the transition to complete before leaving S_TRANSITION_ENGINE - High: ais: Avoid excessive load by checking for dead children every 1s (instead of 100ms) - Medium: PE: Stop ptest from logging to syslog - Medium: PE: Correctly log resources that would like to start but can't - High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which can't - Low: PE: Add regression test for lf#2171 - High: PE: Bug lf#2170 - stop-all-resources option had no effect - High: PE: Disable resource management if stonith-enabled=true and no stonith resources are defined - High: Core: Bug lf#2169 - Allow dtd/schema validation to be disabled - Medium: PE: Bug lf#2180 - Include node information for all failed ops - Medium: PE: Bug lf#2178 - Indicate unmanaged clones - Medium: ais: Include version details in plugin name - High: PE: Bug lf#2106 - Not all anonymous clone children are restarted after configuration change - Medium: ais: Attempt to enable core file generation if it was disabled - Medium: crmd: Requery the resource metadata after every start operation - High: Tools: crm: add semantic checks depending on the meta-data from resource agents- Update source tarball to revision: b05d5a2b9c52 + High (bnc#507255): Tools: crm: implement date expressions + High: Build: Fix compilation when snmp and esmtp are not available + High: PE: Bug 2160 - Dont shuffle clones due to colocation + High: PE: Bug bnc#515172 - Correctly process location constraint rules which contain multiple expressions + High: PE: Bug bnc#515172 - Fix the boolean-op attribute of rules + High: PE: New implementation of the resource migration (not stop/start) logic + High: PE: Only prevent migration if the clone dependancy is stopping/starting on the target node + High: Tools: crm: new display type (uppercase keywords) + High: Tools: crm_resource - Advertise --move instead of --migrate + High: ais: Fix cluster connection when using corosync 1.0 + High: ais: Ubuntu needs a leading zero for directory modes + High: crmd: Terminate if we are ever evicted from the membership + High: crmd: Unset any existing DC value before querying for a new one + Medium: Extra: Add tools, an RA and tests for the System Health feature written by Mark Hamzy + Medium: Extra: New node connectivity RA that uses system ping and attrd_updater + Medium: PE: Prevent use-of-NULL in find_first_action() + Medium: Tools: crm_resource - Prevent use-of-NULL by requiring a resource name for the -A and -a options + Medium: crmd: Note that dc-deadtime can be used to mask the brokeness of some switches- Remove references to heartbeat packages.- Require python-curses for CLI color support.- Update to 0123af21a705.- Prevent pacemaker from being installed along with ocfs2-tools-o2cb to reduce likelihood of misconfiguration (bnc#520721).- Build: properly install crm_standby, crm_failcount, crm_master.- Update source tarball to revision: b05d5a2b9c52 + High: Core: Show help text and exit with rc 1 if option processing failed + High: PE: Fix reload for master/slave resources + High: Tools: Differentiate between --help and an unknown option + High: Tools: crm: support for color output + High: lrm: Look in the correct location for stonith agents + Low: Core: Reduce logging noise + Low: Tools: Ensure crm_resource -q prints a trailing newline + Low: Tools: ptest no longer supports --xml-pipe + Low: Tools: remove spurios newline output to stderr + Low: ais: Better handling of to_file: and to_syslog: options + Low: ais: set HA_LOGFACILITY too + Low: extra: Add a dummy parameter to 'Dummy' so we can test reload + Medium: Tools: crm: fix the verify exit code properly + Medium: cib: Supply an empty status section for replace operations + Dev: Tools: crm: recreate constraints on grouping resources- Update source tarball to revision: Pacemaker-1.0.4 + High: ais: bnc#488291 - don't rely on byte endianness on ptr cast + High: Tools: bnc#507255 - crm: import properly rsc/op_defaults + High: Tools: lf#2114 - crm: add support for operation instance attributes + High: ais: Bug lf#2126 - Messages replies cannot be routed to transient clients + High: attrd: Support the value++ and value+=... syntax required for failcounts + High: cib: Fix huge memory leak affecting heartbeat-based clusters + High: Core: Generate the help text directly from a tool options struct + High: crmd: Bug lf#2120 - All transient node attribute updates need to go via attrd + High: crmd: Fix another large memory leak affecting Heartbeat based clusters + High: PE: Bug bnc#495687 - Filesystem is not notified of successful STONITH under some conditions + High: PE: Make running a cluster with STONITH enabled but no STONITH resources an error and provide details on resolutions + High: PE: Prevent use-of-NULL when using resource ordering sets + High: Tools: attrd - Prevent race condition resulting in the cluster forgetting node's wish to shut down + High: Tools: crm_mon - Fix smtp notifications + High: Tools: crm_resource - Repair the ability to query meta attributes + Medium: Core: Include supported stacks in version information + Medium: Tools: Include current stack in crm_mon output + Medium: PE: Correctly log the actions for resources that are being recovered + Medium: PE: Correctly log the occurance of promotion events- Add a man page for crm_shadow - Update source tarball to revision: 9196be9830c2 + High: crmd: Bug bnc#480977 - Prevent extra, partial, shutdown when a node restarts too quickly (verified) + Medium: crmd: Bug bnc#490426 - Escalated shutdowns stall when there are pending resource operations + Medium: PE: Bug bnc#491441 - crm_mon does not display operations returning 'uninstalled' correctly- Update for SLE11 HAE RC9 - Update source tarball to revision: 61da7b5260df + High: PE: Bug bnc#490418 - Correctly determine node state for nodes wishing to be terminated + High: RA: Bug bnc#490641 - Shut down dlm_controld with -TERM instead of -KILL- Update source tarball to revision: f090699a99c5 + High: PE: Bug bnc#488721 - Fix id-ref expansion for clones, the doc-root for clone children is not the cib root + High: PE: Bug lf#2094 - Fix probe ordering for cloned groups + High: crmd: Bug bnc#489063 - Ensure the DC is always unset after we 'loose' an election- Update for SLE11 HAE RC8 - Update to upstream version number - Update source tarball to revision: be123e8615a5 + High: PE: Bug lf#2089 - Meta attributes are not inherited by clone children + High: PE: Bug lf#2091 - Correctly restart modified resources that were found active by a probe + High: PE: Correctly handle terminate node attributes that are set to the output from time() + High: ais plugin: Fix quorum calculation (bnc#487003) + High: ais: Bug bnc#486858 - Fix update_member() to prevent spamming clients with membership events containing no changes + High: fencing: stonithd: is_heartbeat_cluster is a no-no if there is no heartbeat support- Update for SLE11 HAE RC7 - Update source tarball to revision: 7e44933b0e46 - Tools: crm: print short help if there is no long help; replace "desc" with "help" - Tools: crm: issue warnings on all unrecognized elements of the cib configuration - Tools: crm: the new configure monitor command - Tools: crm: return exit code from configure commands - Tools: crm: check shadow name for sanity in the cib use command - Tools: crm: more shadow name sanity checks- Update source tarball to revision: ec6b0bbee1f3 + High: PE: The ordered option for clones no longer causes extra start/stop operations + High: RA: pingd: Set default ping interval to 1 instead of 0 seconds + High: Tools: crm: the new configure node command + High: Tools: crm_mon - Prevent use-of-NULL when summarizing an orphan + High: ais: Bug bnc#482847, bnc#482905 - Force a clean exit of OpenAIS once Pacemaker has finished unloading- Update for SLE11 HAE RC6.1 - Update source tarball to revision: 37e5ae18279e + High: Fix compilation on x64 - We dont need longclock_t intervals/precision for debug timers + High: cib: Bug bnc#482885 - Simplify CIB disk-writes to prevent data loss + High: Tools: The default re-ping interval for pingd should be 1s not 1ms- Update for SLE11 HAE RC6 - Remove heartbeat-specific binary from the distribution - Update source tarball to revision: 3028846cc3f5 + High: PE: Bug bnc#478687 - Don't crash when clone-max is 0 + High: PE: Bug LF#2087 - Correctly parse the state of anonymous clones that have multiple instances on a given node + High: PE: Bug LF:2075 - Fix large pingd memory leaks + High: PE: Bug bnc#466788 - Make colocation based on node attributes work + High: PE: Correctly attach orphaned clone children to their parent + High: PE: Fix memory leak in LogActions + High: PE: Fix the determination of whether a group is active + High: PE: Look up the correct promotion preference for anonymous masters + High: PE: Simplify handling of start failures by changing the default migration-threshold to INFINITY + High: Tools: Bug bnc#483365 - Ensure the command from cluster_test includes a value for --log-facility + High: Tools: crm: add support for command aliases and some common commands (i.e. cd,exit) + High: Tools: crm: create top configuration nodes if they are missing + High: Tools: crm: fix parsing attributes for rules (broken by the previous changeset) + High: Tools: crm: new ra set of commands + High: Tools: crm: resource agents information management + High: Tools: crm: support for no value attribute in nvpairs + High: Tools: hb2openais: fix ocfs2 processing + High: Tools: pingd - prevent double free of getaddrinfo() output in error path + High: ais: Correctly handle a return value of zero from openais_dispatch_recv() + High: ais: Fix memory leak in error path + High: ais: IPC messages are only in scope until a response is sent + High: cib: Bug bnc#482885 - Simplify CIB disk-writes to prevent data loss. Required a change to the backup filename format + High: crm: Avoid infinite loop during crm configure edit (bnc#480327) + High: crmd: Avoid a race condition by waiting for the attrd update to trigger a transition automatically + High: crmd: Bug bnc#479543 - Correctly find the migration source for timed out migrate_from actions + High: crmd: Fix memory leaks found by valgrind- heartbeat-common _must_ be a PreReq: instead of a Requires: so that the script which creates hacluster/haclient has completed before Pacemaker is installed. Otherwise the file permissions are all wrong.- Add man page for the crm shell/bin/sh/bin/sh/bin/sh/bin/shlamb02 1554243759  !"#$%&'()*+,-./0123451.1.18+20180430.b12c320f5-lp150.2.3.11.1.18+20180430.b12c320f5-lp150.2.3.12.0 controldo2cbremotepacemakerattrdcibcibmoncrmdlrmdpacemaker-cts-dummydpenginestonith-teststonithdpacemaker.servicecibsecretcrm_nodefence_legacypacemakerdrcpacemakerstonith_adminpacemakerCOPYINGChangeLogREADME.markdownacls.txtcrm_fencing.txtlicensesCC-BY-SA-4.0GPLv2LGPLv2.1RevisedBSDcrmd.7.gzocf_pacemaker_controld.7.gzocf_pacemaker_o2cb.7.gzocf_pacemaker_remote.7.gzpengine.7.gzstonithd.7.gzcibsecret.8.gzcrm_node.8.gzfence_legacy.8.gzpacemakerd.8.gzstonith_admin.8.gzalertsalert_file.sh.samplealert_smtp.sh.samplealert_snmp.sh.samplecibpengine/usr/lib/ocf/resource.d/pacemaker//usr/lib//usr/lib/pacemaker//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/pacemaker//usr/share/doc/packages/pacemaker/licenses//usr/share/man/man7//usr/share/man/man8//usr/share/pacemaker//usr/share/pacemaker/alerts//var/lib/pacemaker/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:9960/openSUSE_Leap_15.0_Update/b921a50ded7e711e98b66c523c4d7142-pacemaker.openSUSE_Leap_15.0_Updatecpioxz5x86_64-suse-linux    POSIX shell script, ASCII text executableBourne-Again shell script, ASCII text executabledirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=25760d34f161ed1ec6674e55c1c9b1a8632e5dbe, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=7a9eefd97c6da5e9b25342870acf17bc55858eac, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=994b790f2cbdd4dff5a4db4895d12bb9812e36b8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=293f011e9ba986d22e0dbf93a45b8b5a889b505e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=3528114fe5c9f823917b43ff021426c187a60135, strippedPython script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=446639735325ecae597a09f3eea5e2392c5a6fa5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=b2ca250ac56b321a59a30c834fc97591bae58b95, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=2807df2cf8797d917fd77baec4b3022ac5c252bc, strippedASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=dfb11de9662bea953a2edd8fb152819bd231a9ec, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=da7a814dfde63754014db088a7cc55ee88708f39, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=22d6ab5146b14df463c826c749dc26cb4a77b6d8, strippedUTF-8 Unicode texttroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)#09:BJWXefs     RRRR R R RR RRRRRR$RRR R R RRRRRRRR$R R R RRRRR$R R R R'R(R RRRRRRR$R R R RRR'RRR$RR R RR!R"RRR$R R R RR'RRR$R R R R R RRR'R!R"RRR$RRR&R R R RRRRR%RRR$RRRR R R RRRRRRRR$R R R RR'RRR$\,:0:scrmshfence-agentslibdlmsbdgraphvizutf-82fb3a84767200f8ab1a7ad1e26e907b3610c3fcececbcfecfc261c4af8a136a8?7zXZ !t/&] crv9u^~g= zAsgjv<ԊH[<[T#:v*-%8 bjda8*0bԂ]7~&k\pFVNNs7- :ocmَe5EI/A²8"D"h+Qy0ߨk_P}^v’ecz$sY Dw'(״1&.v/R n> m'Tw?`E (5ٖK'ݠϠ⇥t T@{s^ `omR&{j= PNz xVnBQaihcP7 p1ƈkwHp>l;u'=4cdaWelψYU'o&@\thǺncaOrE() Cm?٨k/9P[̭$4[isy]l C ̙ʧڎe„ i#u>s ث9E$}Y~)=Ng(wwZywxu\Kt˲09زhIg%ÏOXHce" yJ> [2"QgFTR4~}w ف+,[Z7^j++|3s'gmVV'oK~cvé4';x@>2BVF@|/p,?Dd[̯ٕkJDATiͪw{(uֿt ,o&*]rOp sThrHy71SӚ` gQ+teBYb BOC#;vx;o6'EI7&G@MQ84 Gz=P_UHfFjhbm7 !c(8 +veAߛZì"5lG =f[q6 ZWlnOdX1 GnRe<8u`ҺnMljOCZޡ~KaxW24/ӣN'b/ձ=w(b5sG@@ul;|f=O }' ?Nl%wFuσMjMɱ~l6(;i#.|>(U^7Qp#u~%0203L?wg }{[DYD:*"'sE\fRt/P&>i!SϹxu[T[ѯ"')FzNR- 16y\='`7۾9;84UuL~]N_n5#q!~i{iB6" ϰs(M*[2pz$Gd+tF!ԁlޙ&БhgU5\mxQ<+f,-C  AE i. Ew0X'si̛ XܾDC%֍: .Yexd3NfDZ^$g{WmLa^x[ZҬ#7HX*̤QvR/2()aAe+u޿ݙ?.XRJfn̮(e1 ?^wd ImM2^ M+B|C҈װZe5, Pm9Rm{%^9Vr+3H[ 9.8ϝ),=83Lݟ[6MsIHeo5>2j҈aTĉ uXG4/RGW-N֋Y:S.&دEjO%3(0+ޭ3pszK-bk?li"6UT2b+dQ,(1\F.Y3-+[CBiӘ7 o'S,tuڇS)fo)l #| x!ZُLpiYtfc"C8?_ujfɂ_iU?MTПG3)F{o9(?2cgz& '9M̼%I jH\YbFФ.rƈBWېP_\]݇`tĨc(>X2C̚H.7Mϴ_D|jo\7#8UDha&{;k(F}\]i?xh4jcUOdC U߹>SMbeUn3yCj%0r a?+YU&XHYT۶I ى**8N!/ZZ<) yHB>G])ma꣓@Rh!!^t {uX$4u$ov{}qn=/<((h\|i4@R~L LBYeBjbicuuSbX郱5zOCqS 9R0 /D5G]wyzxoQ@ymv^a B\䭷ff,y"(RVXP qT9Q̂PFl]\5:vƩ~2yC_0U:,mb1. }j'c_>g`8eLIj+5b {Z֌sCGON XQUUVNF5V_&o'`ٔj\T~JR)jOu[VnȆu!6سL$,(q绱S# eQ4ER#LCD.rTqtX{k|q CCNH7| zqf:O83 u3I $RIhrEld}5b؞y lbs@R޼yZhf&mRZקW#ym#:6X5rn)֋hhsHaG'kȭ&zrZ IywZdX62*u+-~=)7"I}:!=VG/JdԣB0=WMr2 9{K\nKܘvXAj<\;nk m4s ӦCX3 f6e1Z=ssnuN胊 A DT'[uVIN?H;ܟ6@P GsDC8tuJCBx0uYGCfdZ)|Nj 49TDǃL% )@|PPv[xV&&r 7(:-PC% ZõYo- Gs-!^H͢$=^3*;F9Zj*us=&€lTl:xnaoΜ^kX9 {JûC賻/j{~n7sLEb(0B"3F#+ړ>0f Z1bUhk`(U He:462N39F^$ǹom 2o.GY<ͤ++>uE&Ϛnj -S ˙,^Q@G`S+n oGN:3^Ih_8a yȤ#z-YwZR@9{τ9@vɴlx\ӜB8E<`RO,,9T5S]fLTg{N n&<^Lܣ(R)ʼn(8`"@" 8'F͚Ic4s=>'VV(뎹:#ӅH\qJhYB?m[y9QEuN⼮E [8UՓUYt #Nf,P\7do VGr )b^:AHBp)As- t*)o Zą#)v Rfk[$aZV_hJ[zF87 fT25k*yDM#Uy">Vx&ϸ7LldUACRdd, u5<"'ub^JZOR9!}v VV7/Rnؚe])q btid~$w-54E9Md 4PuMeh.ݥdn1g5@,sJ~}j3>dv<X|0}ǗPbޛ%+crUbyr _N9}!ȍ\ ENpp19؜ jVOvDqEǚ"2${8ǫmj\z)/Q%gU/Sfh.ev&}s 5Ce#BLx~9ak_Cz8uS8*>YJX; hlTR1?In1aXQV3榸K[w{ ymn4_Mza akW{1"}un2/wCm5UZB9\#Y:KR*m㼬T.$HCҩJ{ԺF` A\)p5S&  a箚`ϙvm~kl{=%4ȯu+ /&vB=:oܰXkDc4du`HSZ8:lvۛQ S8LC+U wkad6NMռv1rߤ3N*L/s{+m8٤'hRgN~bZCiM02A͝+KT #},O/P^޶WxՙM}5Gh)*g)%Y3ʓo1rȯzv6seO6獓L5l^-UC]#04ݺ>x"%V[kOXJ4l96+#4_l:ZP:6sf2\TMAVZ+lIE3ZbigŪMgZQ /h;Ƈq-!vq-4YLm"#w*r ZǣDP)V̈MT9mf2o؍5` B`]W+849oH& P_S{.[ 1Џ)NxrvAH |@.[ qugS^bkƵ8U >acyة;Vфn`nXȉ\&ޤ̮svS2tc6BX*"BZŧ\j{+|/Q7=ZxuڀFYG$ zA@TV L9La)!QH]iH>q1fʍfтGw ~HcZ|a>|z TajI xo.r^ DMMtRaY^U0:WVRdl]vV&VH"Bjy`’Rw DNµ#[! !R+ w,t!^M{ZI[REfģyy 9 FV?h J&K,B~5@i1DFr?[ p2X'1 ,ObD(x)3 ر@_ϻdR6MeS{lR7o\sp%0w?4i 7TZm2Ƨ。L1 0fKᣧQ.K]GsX^A|ɯje3hVpmޑq8/J8k;t#e3;Ceɐ5R桂h)^1ndQbD! l[@e y++q0<YC{bf!uL+EE;xVWwD V%,mkAD>)̜93m\+#ŸBêa\B%s|PឍørشM,mY3m R9Ow/qFO  u8pࠠ:+,†ಶbcb6 ۬Tخ8l*/ Cx#q"oDD<ЇbQDLBk hC;52XsIZ*b\14YXkY򴮥:|ǐs%?]?C\. 33]rC;s: ڥIΕffB¼:4ٔ&Hꢴ07ڡno_D4<bڇ ']F\އg,2DG?kXDZrL.am(< kUe"Tsr}fk͢8祎)#v X.6PЏGȖR?J{$ıZxyg$N? jMtkC/b ǵucUCJi-k;0[gb[OPֲ2gjߜ#/҃v30amĄGG!5͌>ye=0"L]2کBU YoD?zP\ ӭ V)JHon8 oǀ7#S  jw_L6J]i{v>FṖa$K#Jĭ =606U*$f  ">Vm(.,&* S^[z JZSx[OO.sI,:f̽ܬR^ r$gs;19#rܑYTĪ4=ߵ(fÏ][Tiv4Y&BPY2:5N?|"&Dz`7E i &'U Wv7w G7=&Rq ICKNWܼ#+Q|y1eGe>VJGھ}(x#UX2o/U?/V髬ї*xoHih|{?vJ uC>: qjm@F/n1-1Fڟ[#"ȫM< ~/  -yU-N$寐a5p!1 %ϽVώ]g+t'rpDg6a\[k,FLtoZf`oԁ&@# l~G_#Rc_A/qOo u986TJGdG'wgwNX??5}]j t|U&]S Y>kIJ>`s橑Pc x2Lbݮvꃌα昡u?uȽ d\`!H^ )ȿj&077@.'S6>Y`o˾[xB^e9Gb _jO}>Z9KwIQZ8Vny僒41 /Mi#`XˎͪttLCU3jڪ`o|5nwa7 ~:dsܮ5.ХQ}ul[QZT'TU9ӘM~Ձ)~VF880;߃sRn``g FU! dK,P.>%bqMC+F-NRVhC,)K!1[ ɞhnc~awܯO_<M AuO ݐPDO\?Eq;%O=dvNH+V{gfV x 1B`qk*J\BLdcjTljZS I {`e s|wM3+KZK}FLQ}5*|$|4OO_Cdj<d fȣgޏFa(i{j7Qm!|A 8r"WU2A zUU#Aw1.lv}&GHtsfVռJ*sdG^UTX2`)яt/Nt"șcP0IJX!{f,/}$Tx̩坱եSЗyU_%#8i]ss =\>vX@;<| `:ecȤړL_C@ uPC*pYM{~qxŵFyGؖms%T T 808?k 0*_9?hK{F)>ޓR_ >+IeUK0{MڠϿ~y.F5§Y]gR?8oEmsaհվxG@z k+P{ hq }y+G |wp3{%Q0Şg_ylmb>`ݯ%(5¹6r~wxL2ѧGݜQ!S8g!*khcq JMkJPQ_~~eʚH&:~+G 01SfmQp\1LM 5mas[;ӝ~ {T\W]CW@Ti$.s'̾]F,$lDbܱ\3 :+uI+eLh}^<.$}2<ē ˮ9<tL3+|/w ~9HԬGǎwn5{2a;LPTCPI)]`,[ ؕPi,Ywd?R :?¦e*⤿vӳx,OX f`Zo-拭zY5)X2kk,tGF3c/m?9]t?8߸ׯE[-{MwKg-Ym|cܭg/:~^N"[_aK/r{>:SG1zb9JL8׺bcnhLC"gsAb+ Kz>S @11{ &zNNG%d򢮐ZO:%@ MT#ɷ +ռGj;k ;X`ffbcY|#06axB m/5,BUBX[TV$`kdE 2NmɓWvʈ17qQ*H+Nާp%b$&~nRH::H'Smx[;jf=C%"Ŧ%d{DkP )V.A0Y 7W):C`bs=$9RL=heo31!Z&dJ?*cP?ID,5[@o%gt`j=q7*Kgydm5+jv'c~saƟDqSPL-GSһ^ΐ_֕@l)׳Gj:yp3Ci7JՊץa 77[\.VwjwexP2JAm Rט٦T8x{p d=uJ9kȠ^_[L,A9$`A2Mn0iԀPVizb[8$E̒av8$D0Up]4L(ѡ!= F[{ƸҔq`u1^2C;'<$%h`f80,Dؗ.k]3я GMµ,zQg&|D AB1Fe|)߁; 9l&Uk9i·JꔣZ6ޛDab!ͼFVYdj/[%nVcD/gCVS[Лa m׼Jf^ɁZƊ+xNdkو-0BB4 (ml n@C,/Ϭ|xb>H/YV uV#S.4ts-!UX_K5smP+ً&@N pܿzzV_X=|3=2 tYtM&ր aRPTGgKWC46:9x?'T\I\.2UxDwE z0mҼCУYbxyn~dlXɥ"3يdL4?Wv4ح V;m& j/ב_Udb 9:G\^N`ܫ\ɯkoT= N=G nv-)xŇr`n/Ux?x#ztВB6M-E td X Ria`9@w.EV^Z+iȠ"Dq鶯VHFӕkybKNHAYr!?@C@wLQH3!4wѺva $Vhg;yeo;Ÿ_TIw |4&pof}tGEܦ0.iΠ'E=CJ8~ UOI՝M$v=$_\5`\Bn0!5E➒LOUg}Gv[XTx%2}9זIDQ.@C%0J;z=*wRts^=ª7dF9wq0g,c}+$uM/~ R·ׄW Y:?|d@)f|N\K\Von Ki"̶2y}[j(fX(Fp$V~ӡ Ͱra-x?j4Qf7BPʬu͔*՛PdfMх͙z)vbM31AN:Q ~ cZhTI6,Uf=;ņ-. 11R]Lx/\.Uik2;6m$* oe _BurBJWyd cҙ_.Ts% mZv q ;^uq3m(R'CPVCl29pʑVʸ۟~h{N g S3&y ZAxͻ%j2VoRQDxj3YIdԝzjۆZBHդ*6Qds}u?l \`Td=ȑ ZliӆXy^Y[xowyzf]$VpQ[Fj08ؐU ϜpNAaG Z2tI51(ܐ؟!+V6tM>2\h'˵/ >,EG5'5^ Rd 8A5 rQ48 !G`1\ M9ɳyyiq?uT Dݣ}ܙ]ejr W9;7NE%!r=t9:.'#Va4{F%+O'흱#SW|~KYJi* +оy$hћ:I {y)[£$eD=$q#ah|'.F:H'Qv8jǎSH $#1hYj7'(ErLBjfvOm 1~\J!" E+ <3)mfU0|Ԇ]"If[Iо(v8N]n3xCn@#XC5W&7NY}?@'X& '=4%`Z?DSascQIV"~ꂋ&["wsV#_Fq{htis=xa 9@o@inqg e815$Iց)aW}DFwSYHrix{"S:C?u|nD[zMNS:|)lHuGT=f {T-\Da:v"L]}n2k [GD<(&vi=rl'k؅Ase3xAh$R0_={]YTc;iIUҙJ`4H:D5'o1 P͜d cdLlPg6%I8D_bޟ[^0Z2êMb^9 U`=3"*t7Yh"W 40|h 0@m4|Bu<ɢ:.qE:{vLLlx%t-l^/d |ny}8=!Zۮzk)iu}Gb<WeP1(>k`#;9kqQhܭԳM NA[BdLlyPj%'"7kY'ܑjI,\Fy} WCʹ4c4HQ Qc^}EOmiB vy 0ϛmڧdPJ'OgK)hv޴JN^F'/U,YmTo>Xm?/kΩ)'p1kfq-̌^O;ŝ$'ua}~78aH-Nfp.Hl" gVGV\szumM7K@!iv,v$gx =BgdqTޟVAwC ꫛXF+7nXx£Ax ic+JvIbG;ٻ&}}b \Rȍk[i3{x)ɡ ܈x ް"9m%}J7oуPpPq7.IbuS*de݈@TW>mSH(n3_I= [#㲈EGeo6r@BGYKn-`lƶxw)W 'iivCIX}Y}62X A}g]`eF_Qt/\a=:{+qt+Y6иe6Ou @^z۵m /qF;9n՘U2#|ϥ?-UtsșdjWWDe1RR7V\m+Tnש'(t| &:g:zv#QVSx Kg6HꅚϼG3lGp~NZ*\j)X|M5_2G0!fDXI>Rn b?INw~nwl.~Oba2@j/BcB\ D1EM` 6@ мJ(Xo O(WaTLB?N<[k!u&r?+>I&~,Zyiv򥡷؅E'ḧ́kEsJxN\F%~V@_UdJ8.಼>JGL;ҟϮ'}eq.(jY3IӚQYzhz.wei@ta*ã):r)U(P.)P(#;o J ڱT?r)n6X @=:}ҧ}~0"2w\yMIcCxͿب;+Lxu'ߜ\~u&8ĥܼ$*BDZMQâtGɧױT^#EX&pvMO#C^+K=4Dww ĦLZ4xoèJNojoJS"0}2d*Ip\x*R:oj gP魯כf !a ]ҜEHFlJ/P'Ga'[mX!;{0!qn8\{8.ul|0I^-F=HXA($I}pQsqbV F%I9c*- mDHVa.x0k7F_z:V5n&qrI1O`׏8Y!}5gOI 9d|y35eh?`xOE]Y6 Z=؎,D4F$@hh_ͶƠv$mThǶ䎗 zz EAqV+#~>om98&RN P %E$'uЕIt|,ÿxΫI`j`K!4# E/u5K93Jb%^AZTp+G7 nfaGh#IU ˛ZTeBF)=Q胣ګ]Vs/3g+%VF3}9e?lx4>iS?9,<=cn*LFG"W-ܷ^!G-DƍU`׷;$Ut'<9vBB - "1y!%Fo geQvl$.C])+ehНʄF؟Yn5.lR9x0 "OŒfSt9 _y0tY$lA)U{h&i΢U)wtV+CQy+@r:VmXlBd!u2_ڦKsxg\wۣ`wPU9C]w.ѣn)sfŷUII,4Eh#MU%-h%q~Cw mtI炷wI}H/7p -#i$ uV /i4{Q߉PL Jf[*?N8P5; ~hq7(nTEHKlҡE tk!-R= P%fMFE,Eo1.n{ ~ΐy'l%eN&9Z#FSb6uq R|!Ʉn/84Rn6@FذZ:y[Fב3O LoCa $ң}9c\ԿY>pRz%6-{lVӔ Q{ `dDUm8kʈDxQ}d7 `@*ψ@G$!Rn+n .\~L^xo@̿[%jy:B@utcC*0)~uǞ']L*X&G'^J=#fww0*fj:;>mC$oق9ǑL l^S߳/UD)=Z@J`Ss3w {zCҸ^P:2vߎa[C Oj.YK+!E%mJ"#AEh=-ϓ>P8jަyVJQԥ+ [Pl^1v8 [RĀ+l.klNSÃ|#ɂdRX1r2j%uyx tTǶd̃;ynv==0RLdi)FG6鶹k+ t,&X)~f{|Mo '8qzq/6i< !fx`ϗ0(f" (!:7 +b Մ:$boꛃLZ ěJSrpr>Yu8lOdⱲLBK0OG fP1b9Jm^ͬ@{J4cK= %xJ`֙vKLV"$&d@ C=iʲ;@q& 7r 400}\a`[z(oTM:YBg;b# @H /gҊ/b&@gӊkLTe֢Xo5(.IJŀ.ps5?8GSg/wƽ'6n= @>](J4Ն~az^Y' }E8.g1P9s<-lEСV}+L|YfzEڡ缁W9*`<`u} :!w$_ng=yPW!Xf:gq]%I 0-OgUhOI( B7Qk Qti=7D)}˙^X4pdIw(4SE**+\lFj9\:_V7xכ\HXEQE "ɕkk4al؂Xlp&m{&<ao8~p.1󌯂l|CvuUO턂D0! WưAAdǶAoox䄇ov0vHuCftojު|{= ,1 M%ʥ?JT\Q%䑤4Bq_F2,̕J"SM toC,=5{qRzBʭ,m}LP팿(d 04S6HT`H7sTeRD+dU`L` C k+wN"w[ N p@(J5Zh+`/ SdV1=W xjKꕆQ60V$$Rtآ q\VeSfd97up+l{aM"?adi0b[#^V-<bz9O^86x`㠦HEۡث8f olrk|nmTKxBw:l*eP>ܟ*oWJֶ.,L_V˥dۻ\̐grKA="ho)F7= '36NCH"n~,*v:?D)h֑ gN9V+e1_>/2??Ր/(gc6 z`3lDk0NJ}b^q 7 i ~ɬri;$ \x#ѺE=oẫW{ML@ Eɳg]M>'QB#wg wFEO%!uMb26ҥh94Il9A}\G;]dB_du\-;Д9b9I㈈ej9J-D7<.Ct$'6a!vM,0ju͆CS^(P5Cˀd,g(?<7V @H7s G\ re@q& ^NBmJL%o󞰪eLfe\wEx61ݚm2k8WW'D[Nٴu>Li0è,2v +D=]G'tb,&[k4aZ;ŸܭC1A( \⬊Mߎ̻;#o553=]ԡDNnlo (k.^d)yHX)42@DSM=x$; ֕A , *u;נiG@a_T˸P#8["l/%@!$aI=GgEX9#6TNFLͫh[UM[j$eȓvϑVZ甇}CEP"Qm?0z҅HvnȪȩWXns^Q K:r< IPK..s0cku ǽ!L=)8 ㇾx@i+J#՗NC˖2P16;!$@]ZI^cʕ<#~hU㹼SOsji-%E3'b#HĘ{~ٟQ!|h8\Py~Egxc,Ɵ(jeˡx38oBu.`z-jBU  f:D]Cc a@)Es͚-vӇn%7%M>}0&Lq CCސ5P埑l23 !Htaağe}dVYuD!8[X #GpPq0H0凇H-5eD,qnw>d"3HuکҲ3j2M aK=RD/NˏwZ1mb_ ~9O߶P( ߁nhp6Ċ$< fv(V;rD{a>wdT{ Ej"tw&"@eswހKf RLLF)Ɔ3,B>z I7E'P$h ;‘eBh;WrQ;dZ@?(~3GTZ|/;tlU[7ht+Sw^nŗ>Ds)yEʧ}=Ufɉ˜ @N2+T&Zg! gf4녺?d *kY5x0(Hyq{D<ٯ~?b*XkGijS'n= %Tg]N["_ /1\_,X!v"}GpԘoNe?Or"YP [Y5 2A.se>Z[$nA[\u#aq9kh> tM黻U4F/~ [k@Dg^P>JҔ]!_O <cck]rztSVC̈́PcɝI'9N!J#ҿH֓PkA!=$ɱhr©寤(t= ʻ6Wg!"W6PCXw0loڂ&[vk3BxT6&큻qnՌ  )O@. c0uij,k -"&.VgΞs2݁I]Zҳ HbW佩B6|j.rD1Ai*qr(b,Me&T}~U;,4"5գOlUJR"QFNm :S+3-|KՕ+[xMy>;n2^fv'0[&2diY2K8ԦȨ;KJHYIK.KbAϩ.~`x=j N7y67/ #l(Y6ϲw6zn.Z*ői'uiܒKrdLCQYckUX| Xe%g(S-fC,)L&k'7w94.R`N  $LfCNNGc}xiI?@m{S?>q7e0Z3BߐE tDxzT8X+ -|aELn/@capEq3Iʟ6jΏBk@"jg[~,L%pP`*\jO+mZAF>C{A\xĤ;O ^eZ*Vjp;I tN/ƍ*pBS0&ҕ۹!dP_S69q: [7#$PD1?ZׇaH`%l-zcJB sx& 3[tiûZ|+Wzv0q%_SSa^E4XJ#yҗGoث&7Ih?j LA3ߊ9V@Ik-!Qb=S9/IUߒ AaoAUKm3/3{CGsj!6Ay'b@~Xst)T׽Ōd_fAjZPu[i=-1EJm˺;P0~#FC2">Z€7;K-M$iD[px{!Edq@oqp߬h{2DS֝Q^QidMY>[\]jQj :*& )5t7*\oFG7EӲ.kyG, c&D/ii.~!q5 SYϙ_]sg}˙sGRTIu/ 0 v>IB 2O$b^g5[v SK__#/j6 e=zz[4_SnQds`9• jX xF0όzLZ[hʹREJg/b4-Akj3k u# M=% zͿ{KZo_~Amͳv1 |\-@̒(ʎʬ z(]W&&n7`ƟavIؼ^SWcnx*=B躼ar ӟ?f"G6=~r?čg@SvSC0RL`0l;| $i8^t`wpc=~ )Xm61f;Z\vHbL xScrO8/}HN3߭ 7LD,D{V6Аvԕ@ޥ-B܀Cy90QMt^:z`^ g:ϾHmR ޟmc@T j\u+A'*gT&1s>^o0ncX BMg&Lzc)C!JGe<,C6eJVG>1'WŒO*ѐ_2b9=ی)#S6C89w\wp.k#vAlq |'L#i.@=hGWˏ-9z[tZ,ʀ>% uiɠRqrT նnR14&^L~K0bHw:J-H~#Wxm:, I;,4"yFY;7eL]9ԱZ F W.r6Cc\+hdl(u1X/ۙ~vxe G:rRh;缓jSm{XvJ~r\yԷ-fϩR(jd{KįCelU2l>X_ڜ~H >l똋Ê[oK-hNrٷǵ)&w%LqR@ڭGr`%#sDV. YetY6AP FoEpn0 C)vЌ1Bz: NMcQ- Jд;Ls~yڎPTh"ɘ]SS9 Ζ,՗yr,<,Nc\q<knF5nj*1# 9&GSnH?ɬϔf)qIi=p?'傷GM?Mc+hh'?Ea+zyj6ѲbC[Bc/ ͆`r`neEL doX׆6.Mg@*R8W?=D0y]'6H-0 ݍNEF`Գ)A _VY &V*׍9E6(2q9f C_j̄D+u$A 1w/|UwWW7Դˑb-X[; ZV>w[=a~1G0y!zN6B9\$mY:.UWPBO3Sm1uʕ;i.`K.P)TGDT&14U)e:ƒw~pPѳ*T {CT|pʟPxư4mLD-syIP1ښ+|;lnAP)ԷOmɔ6rIkzWEUvuP}|k m z~,f_"ugE=FK6u3^mA# mESrO憖[3wHQ`p0nag^_+rI1ٟ\,)lPt$d!"^wp MkR0b/nݴ I* UACDN„wz#!F"<Ys[2nL˙PXG*@2F;[5Ƿ[=rQBLicDِ 7[g3myN[c žiZ3RgwG%/oonjNEhAo MDr2{ܦQon5@xs$2QA᪞W[ JN[8>67X(4JMJj\/z&«q"8sCd} E$-ˢ H}?I@MjG{}PG662#3' ?h*-ny RDŽ;PIk~x#NG!ROcʨig$:mw_i-; S]ʹeo@}8J1e@J+jȹ3<5$f1  #eV %eW7en8(ru1Fc =ce3.+#N#&%|:ƽ\`! Feۼ6.zSi뮤w+&6OiA)IAb$p ^ h^y 9nFsK49bhⅽxV8X"]u\1Ɠ: Ba;c>~D.YN>sIqr]'(yjJ*RK+=e.;QOͣX^ QT b?uX;ۓ&MZB'Br8vYC+o70VBS'N#E^"13._.<$ V)3_vPP^q}~\z ue@/m)&'-^4 2` ]39KҐߝMdV:4uO׽5S&7ѿИ,/<ݗ']-LyraL>v­BٶT9ZQ1yIĞǀ@b+Yڑٶ(dCZ6ケ܂k嬨JDi?&1[FA3ucNFCLh-C%4eVy7?<»c#C␥o(M. ~bEjvޅboT= ;<,ݝP!9kSXو^yͻҼySnKI]6z۶ kΙdpʑ_!"F(l%P釁1qNs".3v3"+#U"X)1O[$:{twK ^x05s4! !{f]fY' |^K7C@W՘Idȸ Vp Ð nՍzsd)!D4򄥔Hj8|TMs>s-wZ# cH;#3Jҁ@C=2pֲhq_nPXtD1×Eߠ%yz~}*һȄG ho)mW.ߜޮ t&dRؙl+S^,S9He#jVE_2EfpYY"),\wFTN{dH-U؏J0lQ2@R`k4;e* ".Llo9sXچ ҆ۧS5`ђt(wRlP^vjWgl㽍4O`2!) "LطCQmyjCgTZz!1p9#+|[$˻~)} XDkq!H. "#D^n>q.+@HYcwm;3G p(;zs0&Y'H5x1~ : AࡧZ%:|8P Bด37ĬNztk>_n9(1'A] ɴ+9g׊.mj]E'R^qjԶѨ`TvE>%HV/}!{خƝ )Kcl[Db 쐼6xh1k-IBY-[XI@9g.gqz4Nf/~*Y"A6!16/>Ub"mDbe- (oח")yeQ_S|uĠRSAy؋:H{g59p?nLt}e+RFؾ/dR:n-+1ۆI5/4~v 8=O)oI@М!{f\{,2ƣy1^些3d2w݉p%GU#mn%YLEu3=o\-ݽ?VdbFYG;hxR 7<e%Y[fj O 9oNH Ӆe^wg;f\2)k$O pM[q38:-FC"#It7Gս,iGGT?3@ߠ8}IGErx 9aډӔ`z)4k|fL#{5m&J_ۯ7j m{SclPߘ.kxU |?@VCl͹A/sH* 8B-^b:Au7{ @9R/~ z`^=_ղYieTUd7Q\K([Wx1 >ޗY^o$Pj+c| 6z&ϑ㶌W Rz#> r HK{ pˏwE\WjC݋6)`3Yfrؿ|N{z.g`ݲ8=o{ itpK;Ep&kᄡl_ٗ'fivHF=&k6 F}u~kZsczTf1+ضk7 5Tž:eÚvlRk!7=?TLKkD>-Gp9q1Io?DP ˔Ad@>v> x(WAWB/uelr#E֦;W<:0UNGtB;?tM\V둾 )uI?> .EG|u9<ޝl,t_}P4f"v^(J\K]|.+>CF\ mOwĶ_LmK!qԣ"( u "qzK4(Zオ}G6?gRTZq\$n>pƾsU ZlѮ r?ȜԺp5l*J(N+Kμ[;޹<\h7DfyWPtv-8CQx&~^ݾ~ijzcn VU-yXf{1%x9m7~TmwNtKruӦoz_8\E ~$h+)ZR G,Ⱗ]+vNH3"TMm5YP>lCPeqLLffIBƢZOx3?C:+^Vgn!p>Merg(]MshX\p-J頷]v0 wnjO iՕ"DǑu9w^Wd;K+ tT 8馩YUI]|:iI3b?$۟$Er6pÆ59 !7^@oJ~0ǿ#p]  膈e?CBHص B C$٥u!ʟmիݚ*˅Sys$ZmH!k f:5 }V?öQ53Y%BA-"T}p,cYl݅5Dt?.fyoRTuY,DwVYZp">̃C.VPST=RgD <1nđz3r9M}:J.xI69D']w\֍ &IB>:3! j eGQ-.)^ۥL^ c}^$3rd.@fQu|W9S=7 n9(R/\}!fjcАi"EGLlzD&s[RujӲ=}>&5+y&bT ۆX1V|шQkW70Xtl%$Ww[:4MV'fD88 +dQf:dۇ,BV~U"MPnhD1=$@W%;v]L߈^Zk--o=uNiN۝<) E˧*4SD{aYe*ԜOAm4AAr`!-m=:[YE2}'^RUTOz4M9}iӓ 4x%@L*5Ӫr> 'L5qdPqCCUWemQ3!"H#O*|U®āPmEyfD?eyl&;#7uu&.dfreދ@1qv3@6U"0p`|z4S6wߤStK+`J6l#+2^&Ij ZcLhg/+BfoNb$}y$!}yxW+NIVӫ@Q+!war}$7@K9;)E)zNmi6v囙4_>gSҧMA-ULĒ ӈq+VCG;ح$ 2S2rk2qϑ^̉6И"7N(nퟔA<k=;jLk^) %9f [ q,)ZաxGfX 2nHe76/~ߟuRrܶ 8oK憊KA jPvG1v Z޽|;j2ڬ[tW=c*#/ tA88 nlݖMynO8ӤT soPjc{Ͽ$h՗|1x3@I^KfڦHϦ_=TW<Ǿ *x  Iw%(/ V7Mkȁ>wKV׽h\V5j֓| ^ WTE2(g!嗕!ۗߨ*X*Frv;XI r_#Gvj&$um˜{e3;#כǢMz?Lj.ΠtNIh^  gV2cTZ"` >Wj)d45#>ڡRMT$6dGOIo/e`>RbURP)ve%G4T [iշ F7jNJ8>CVh:qSZşا\-."~g ;W !}2(Dsš 5'ˇ:(,c@e˕ɪPtr6BXfCkLsB0˛X>=9]>cE5jVD"g[<ӼJק^8y("> "f^T.M ڣ)hA @ZT3RhSNTd>>32lyTzS4~G?&ḭtJl]#&=New@;ь.j_Қ!&xZ?NzIx Gr1d,C@~|k圡;+ѕgʚ(/=ys+XWJ_:jZR:; [b #ߤ%D!3eq☤̐ђzYf3,=Y`*Wuuztw ' ='UN&o-0樓+z)9Ғ>^t9dn@{;.Y#g,Hէ*w^a96R&h V;Cz!B[1 nL8:TVHasjkic1 éVwR^YK*;V=7UkaR7)6C( zHHFVq پuȄ3v)F80Ѥ}[Ei̷!J9O0u]W,0k_9Z~n110o{`㛰R?h9h\CR5m):e! qM+ݎ@\uO"&Xƞ㶱2G!?*h{-uVtpdl{lJo^3\k~r}Wyܡ |yefMU1&e)T jv9b;Ѻ>Nr;{ W|tq t6*˕bj>Q6B~C.6DP&d d}_B'9- {ʦT.W~Gsy+4&i7yw%\IiD2cպр C\+call{IƖk LySɟ*e4rci}k`%6̍pyIӮ9kߩ"8%fyOeq0ȏP sA)S0LH}v'*Ckamʫ58~rP֓摛Np¤_C_n *ǥSqClPܭ*.u!'bQùkZ"!S cS$ȳC}e4_R0wgױW4PsOBY$ Hf$ܺ=RdmUF2_F#mhDv|y)(H,Sr=6tWg9>w(J ?MWܹs504ݲe8 BG$`V V`&ЛJ[ Ɲ垡^='>%_Iv|%ȎhEA%0D ?yQN6Dtu@EIWSߗ0BM7g~2n/0EfGc?ya#9<H°'qDl-SNp$J~)kD(5zWyIձʝPr&[}^,4. Uѡ,2m<[c['w'+\CJ]n _H0!Uh?v|%ů*/YM&-ub5,ܕ+l%LMǰWRStSzV)"a9B,-~UڰpëoXՋVgai3FQ'u߿5t'gwEj} O\I?&ßSV:8˨_L`0>,y!,-<^_{hM.ɱn( cG T"|DZI9`osUecn&M^+yU-nα$ΏQ| H[IhF\9UVQ2"\`EۖuEl`(FJarLF` HD1AF~%שrVF5U:I&5⟫Wg{r 7e{fHFmժ/~E܍Zd2QA61MjyYa2Mw 9Ov" ,(dF&g@u|<#nMnFFx+Ca0$ڼ]zKyе!_$O V=mҠ.o@)l][pnN9 .^KƝuǡa5~ZWч|P/CZ<2fg?dq*@u{2UGtePT %~N@a/RH!LBZ:Ѕ0j6K2ʰCrmR~&id5%SYf8/ ,Σgl8>Wz>K( ;S 1*;r=?GGAvJy41Զygj輌4^2tM%Ȉܧ;% <ʄ\bgXh"dˆ| /xip>TuG# vByv?Orwp Ts0v$@qj`NB2E>į랢sŁKG+V8sO h=dv=OK^JݬEr Լ<#㾃2j&Q ]˒>IGme}~=-ذ|$ fn'gKYRj˶hM61I'V8`>)%g55VԬ|W)V /e=Lk+h<-)}F)c[ƗFD>M1<&%'Ame{[Ti,w&+Дww=K3t1^LOc>^6E&1TBg^W@L ))b ߹"b;zN1QP+{c,kI p*ˏ$nu#(E!&C!f#06}z 㩡ψ69;a4 e!v&_pvȪ!((C6\"8vP?3cY@K"U9 'F:+PB{ZI¥hh,FUӪn[_ܴS*X?[U{T'@;o9TqBTl w6dI;Id">H.܇ҍZvFND^*; ߯gC؂\ N:G( >VFKo(*V˱ {&z.?+ei}ӇAcJ4`+CF'f=A% ؐiJ_8]jZ+IEƒX$ӉYh*sagz œ2,.m~,`kjt8nUk;Gsf/)"XfF~~Gtl l])(D( +N0:)9 ڶ2O^̸fP߬-a kʀ8<>hƘ+MIlb_AjTe$t huBA>E-8crW\[Bd)]_BCGRB0窋$8:EGb7t%~S푶\샿18?M .YdeGz_nw5"dl+~2EWFk n}^Uz"@y> h$zbڵڡ )]kOT¸n{({JVt4g&a<;9*=˓~:8qWF$] tFpnqd#~-6S6VG`#B|v5QrnNU̩ŏb \|h3ЎՑaeo# 9[#JY/x"!5}1AՊU_"?M :~䛃y'[sh@g}9 9hC#=F[5F5mBg#a?}cё$, "*` Wib3G\d\- uz_l+KeO_弨WՐcҗw4G>, EȾλacx kC;~2߀靇 DeK珑i_*q N]dH':;#( Xh[7 M:JNE}ņrY\>`/mz)w3z%$5H2J\m~c '\~qh7v _VIxQ`@ZXd>`6\ف;>&A klA?7ƹ*"0U` kj0pf0t;Ym .जm(uhu;KTf] ,h_0W᪛1]aԾ+Hϫ:^ekfkjM0t"a9H${``NDxc$T0QqR%4Gqi6٪kL+B`CG 'gw:SureܥN#aH77w!6x|ul)}xbUb*>*c#:ыdXt7xCu7(6q#OM@!ס K@o#Z=7˒"; A%rHu 9%HSs,@1x&4 NSA4hlWq T;jr qIJǁ* j֢2{6l5W^&P6F7k˟a{\UNrve"AaZiӗQ"R}1Lӂ\J{ y&LIA TN%Bw̲aadV DEgVW~*3{i*¬p !mĹ&3XUm߲eXe7Ԣ{V]4OTI:&a%EXxʹA-19'|k|Gx'e;*L{T%/ T :@[%ư7 ?:ٴDeg7Y6>}^œq_1FRâSR14吥4GSGP$D O\n6sErG:1H+Cߎm.,k*e8=P UY.Ev㑐* g"{| )* `=Ǧ{|J}Gy{)Ϗ&zv;&`$j2leA?l*i6!ޮN^qM@kp& ߾+Mcdjk15 3, dy 5 & OFUYǡ{Ioz_Wf*"XMV|oL@Ap:`<@rJ|َi95E?S" GeSabT+ԝE]y'8-Xٖ̍Slyܢk|(ec"oL\zCz/iᵝBmW$cafCب(ZIjqL` 1Ν&˧:)!"dFyK\c4AB2wL ]~ NFjJhh4ZSؚ[b)Ǧ';2'C6t_@Qt[x."d`6.'B1^_$K`"$k7v%X{I\_~7I^|XoE+Tb`aS F\#> @~HYP:|$eFAzNjFzjؾdWo]Ӭy/JD? ffcl%°O?C+V+]PE AK+giQ?#!"ʛ\|9 /quRDmNN4z4P90>xr+A言~ńf'lb$l̠SҠ{[[ v'f(zOfpMwr:xp$c6Ul]tM#:~8Vqև ܳc-FX9q*8\\ LۆHQՕAÐC:Hө0: &?q\E, 5i6NUfjUe9zs Ċζo0.%%?ZDrCQ@oNw5(6d_<,[X)<=QVW]υL`{ԻF6l'6 *WtȵYrm/9WZcۻ䥙?!P*ŧ CjCY/3O,n [Y`Hj<ԯNO~[y4F KN=xPuW)1nbeH7s5T>ɖF*LjLY^#NS~: 0W 2ӏm(7nr#A[t L1h4JDŀq;͘uuij4vs>9IqBB$#gǰפd+bϙaV;erMB1dy7i( gIF^//6L&=(> !M"W!yRD@H{W@39)V9:m<[~&ɥjκHTO0@ly c]Pb)>` ܟ*hISȫCBĶ:— =/3Hݢ#qUSIE;h`4urUv :S lo*՞3 E0L[ O_9b0\k/- 0>f >C"-ʝHm2 q} hRl(:ˋGM&b,3a9ksF72 U_T#|w+%U,JOgk9#ga sϨ{.B64*9]u#ʳ'Eᥳc?a eJ%6ѼCiq]n(뢓qp=,Tȕ\҈w{cT\"Ó=< ʼnzZD{RfABىLJyDeJCFU rlm팣&!:1P[4<ES?O1c}3BiSyXp8Em@B/Z}e9qR =Õl63$_+n|2;!=|hfhI#>'ZEasU5@HNEj=ES(O|\B"lJ!86u0!CˠZ1n#^se:1/oJIy2f[_ /vt-Q9LpW{M=boX9*tSI͵E5djиa_A9.`EW/y]Zڢc~sGD.K2s ~#H^§G{<=^!'Pᗷ*CVK.u(%JWq KTZN&FUӉslsٌ8ٻ1~ٸxV%::S1 (:W#b}l?Wwp;DzzΆIihL96}Io);&mN3{K.tO} 'Bfk ~Z L=]L[%y)jܒ ed\q's{Q?_X`+ WMjm~mҲlR.TFAI L( uԄEp"08?^x0X!9H]` 7dt%E/H0D#Fۨܠ*4Ug;qߝ`#U|0 z(;27Ŋ+Xb(p0^ޟ_y~H&9yI+PPɨĻCĄ&\Ŭ׊0fQlszUVx D[<"ujQIRNieSC셌 S E-w#SYsCM|\ 柸+CCeܮJ\ r4:/,l +c7}x;X~kȸk=n'8N7[2n.G}B*i{Q{tmZ4@C!#s>~x&̵nWWkXa+Mp&HU+S ,ns><[pxW5YQnFg|fD>)q$7 v;+m&ͅfpZ-Bx$"<\%z|ɚ l\k-e:L-D| D E{16T, &MCE4L=giNs,l/9),& *!VyE0IlRCYihj'cEyhZr$åOD"vqjڔpV3-4qfSQ4pgWPb!1>6 XҕZ4REM^ 4E}P(&U&ZEA-w-s4VxTO"@Xy&153[AP(sqXk,"ojϲܶ CZ,{;@ Ւ4i E5KruHvpY} 4y\7&5u 0ĺ NoaedMu8Fcia 5taܕfl$wryɉBF퍂qpSR=[=B3&9=%:J54M:.H5CLBl]@wSE85OBI,]U4#D i72{Ƥ&k[a4c;Ⱥ 5ii|g %?_ h=OE k^y-|[!.8eƹإ}GqBdBLʚRe1?Lc~r$y.nFJ姶s{&̃"* +r/Vf86@ä엇ڒw(i r0 <,  ZRdЧGj@X,v/rRm4&o@+S>.K^I"D?؀MQ7WMoQ;= h/ؔ0bCc?® dA"CU!:j̎ͧjlr?BA2!̟ tC8}2`*"p8_Zpv$E:cc"K9Ahp  h gY>ΖhW=FstU֝_$Aga&" q5oWk>u7m||W0މAbXHN0/U^ cH՞,$|$ 6n-zJ38zHf&wpE6#޶hTݼ9yWr`}mwk8*9x ^q]$RT 3L5 f64H֪!xҝ ", szZ췷5Oܮni@!8{hӸ{8W0#V\q\F)ڤ"'p=r۾\([/v\`xp5C# p+)pjbh@=ٖXP8ggP.蔤83w=x"9a{9M7A/'̰&@I{¦/=!Ȧ 0ĉ;z %B!T"%2YR>I`~S},*#ĽZؿ')rODXâ7; *06&MvprM!eoDكAfC(; 5Vn90=#Q{~VHIy0W:j!Ud:E4.Y]KI5T}E2j, 3|rP)B[I9}0$ x|)U l@~Õ׳GxOlYf*EA[Keq;{X%$!^vvuF}&i` ^%Vy|jL&S9ar Gj' Q-Üw.m: t7z+n1/Z~RBo8b?/<4ϒX{,j&O (ED͕zmz4Ì" u]|Swvi[aDJ[%)fUĉ}cjΧ@r'i9m& aid ?Ns@(%ұ4[}P1v|x-ޒ1ڬ r.;w' .tbó6JG}&+حug6^x-d ]fm7BM"֯HK.zs}X+x BLzـ-]ƧpP&t9Yu&\3NPRDwA?yc^15bf]Y#[}u& fSQߌhӎk/n ^luoo0E)r$u)}κd/[0ң@"0r}< R7\›TÍb{Zl͎u~!Twg}7_aC&k1a$]V~K<zۄ%V U-hO'Yr:ƮW;gpua\K} ק5kO>؅B \΃4/}J13.ǮF_"rϻm53@% kH듐X2q*^ @*}rK_A@}rjw2X1͚Ab`d ~x.=2`[Cu\` )w5*Uw|D)CO83Q`D#U޴OpQ+OR%r .Lx#JVVȏDhPZm 㲪YiijbALüyp;W磏?'P( :7wq_ԉ9t<"P᩽~Pq ~(Q!2OU0ܾo+Aqϴs-.oYFEqT6U'$ P5Kp+nI)\-&dJ[~XiK05Vzs7B Lo[\iЋM6u6YsHZ E::WIJd [T+1U R-xlDi!鵔QN."v1"s #D2b7K& Af,H/zb*nfOb+s:xHqI-"‡$DfW(F* _7c9N,`Pr{w?sJG JĒ^]MTczzyyp $W2Tx]|ɜ(Bu1r6$4t%柭[XoW\uĐd,?I{<#kZV^ED&PuL"G43yA-$JL]o4yDFfᄩ^Ya5 fuax|?ӻVIgmko=}p]3_ H' 4\6,'IHJl!$_.Z(f<֛ bſ*p oX nJeBrw.jL H{c }n9;R2c;{9*SM5Ǐ)PNqRG;-Y¤:9 i'ͯؔpʓnFnX8 l 8q>ף-ѦX1pMTt|ݶdѶ2{iI+ tJWM0~:/;*b#p &Z1 fҽp룰e6>]]wslxyu kqP#dɡQhKCQ|F^݆ul,dE@e>V\{.2Pnk|ޫ{MƁ-:Hԩ# /8R 1V~գnǃm㽋l,~  ԟ3F8UuE,y(!N]AGZ.lWroXØ#g `SaIS!zdE_]wvhNzJ ()9rQPݛM^0ד- tU?ފg6(.tBqa?C keےUJžԙ*:;qoX[;H6qʗKLk0nn#<`X_*E&hNˬ'S =4*rV쁥dϞe%&EJs 2f>3Z4MG?Zx£KXJ: W3L1lYb,/#]E7ɉjrfq3乄8&|x-8w1y-#2A,җL%U}@X */OCGs8Ndrl㷁E{{DE߀^V=tFCnI)hOH v;jZ~Z-8(ZY!)U&{ R 9} p&gǨT莈Oy7.&WTt4u ( 55X}gaecɉO1h6<4SIE|f *pԇI D nEFca/„ c9S,v܀Jv=c=` ݥ no5TPQ$pYpsFqt%@V湅I}vsA\P!2 y=UF@F0XZO5Kc94D)LHd6^V!z/l$ܥq-4W92U@:ؐUy)'ײ-p$Qu;WW_f?ID=#Whzj.1X[I2=X]OB_QK KeW )//0LFC^x=jy+;kk$bFKprLz$(N_ Ɋ˯{ԎO ΐF`;K1ݵ6k-n1v1pzILJBE[;jlyT}fuK]K"ȠdXEW‡qލRr[JV3jßOW 1" |߲9B!\̏HJ6 {G7w`Lj9* oRcnB `C },0Bbfs)(|གྷ_N!̛oDzXϮ?-:m}0ɓ8p `RPK*C- 0kp (~ba ܪ,wT$0e{'rBoݾ sb3_ #wdH"uF0(IS})5{ bJpC;v%Œ@&r7c5|qRY|g2xIZ]˕t6} b>}F atN9i5P BARG3Q.sr j=Z6 вfuTO,B-87ޗvd&&RwtJt:(CU{Q/pRj.uv}R9)TQ AobLD9!QrKR%jsS{w%xLviu R9Aʲb֌5bc;R/$vUݼӺ E; JzCmVH @=Q@K 9ٔpchW^ii*$rJ,)<ĦJ4OJQeAv-M-j.><6uSWLF$l g;t4.B B@$3tbsn@V,KR4P byOXLo==N: bXx kB&e ] B~nvx.l3z&$y5")}Qs=?*&2(Å3yI5 >ta @svl͔|K%=N7}B:ؙʵ(B5T)JJ>_#Bݭ6J*aI>%@uXf3*' C,~b ,JZ`bm}R2G"^7]xPBp'l-fSNqSij,zQڊ u7\£9xg7 r! 8:>&|-;"'TseŬnj u}+L a&;^G# TOGǐ$.bK1ԇ aWoԝlh(fCH sg8pc?P15 (iDIJ 🡧ն(;,CvpκA?2be)+w:tw6d ¶v4bM9Dq2nD.[EE(p7FyL,e\ 56> j\L|kD' d߰攱$)U%Dӿ-9NUI6Vp ć. "0g##Ebb"J ,UnMIY*F"w&6Ar$ ]P;`Z|Y-%+Iq0iCPjЗɊ)gdC4%bʪ(g\kJ(kgu~NA&g30T_Í mep#ɬ0YQkX9 k (X=pGP%TbfU5Bh׵xV -.b*L3_iS&:|V!8r7=(@H^ 5X}4<, *QO{K/`s!K8;eD{MOC&mp[ 툜Zdhq5 au'Lȴu Pv %{]{׏o$dx-Mˣ< ڏ\ du1BON<~]me}rh8I|904q= Շd(qXBx|n5d(hlc&]m,VZpٗ٪&P]ϕcR27g0pۖ OWmѤDw\CK=|*Ey$R4=+ V7ye0P&DeuI66!G_qmF BRi'Uz;@"0; =ƴ&$X}Y̨z H p`be '%g.Y>BTAfnx_h/ô KBjt̛yʼJ@߰` %a~4klv=>kqϬ2 rS>"*5 tg5_҈t#I% $~ rAK@3E172 |shl AjaU.߻B]4cA[fWwL'poSyzsl=Jmy&&>: c[@gzi_9thlm PhjF},KdhLWn]LY>oV.;m@}Wa$tc'$ݧPzLW}Qۋi2Lխ9F|,sbeS}*K V$`P~GPj}y:kɤϵ7R'"7E`41W M*W6F_aB{6)J${t&AU6 IM#ΕZOX rĴfG*J*`^23J" b[yFgN)^&BJ  l0[BQaX sUe^ {IcxJ{?ԐMOjx]Ge(\\;%*[pl Ǔẛaȁl V:HJm­vpܐb4jTF%(fL+b${hL/csly5Q1̖VXtѫN& }EyմpBUt~)6u@y,sڸ8VZ2~5eZ%<ܽvx{y7ZY\j?Fe h?T^M6g;{&B.,?l-R'n w3D޻pY6pWTq繈MoyyN3oq#Z%FaZ9I0kY㥬q9¹Y܆4)xPKс T=z !YqPxizD9Kk(C3<sд4Io}Fhf tYi@)OpgaQCa`elй@*\>-0 *qqrVZ#RiAdӌMA[c創)@UT:Py>u&IRоkf85[k6| $29:CkYh'wak%)a?aWa hqt1ߠhcA8R/pf."# CJ k&)4a#u-oSx-RҚ3+Y}xR5JgًʑڋPadJ? iCATj)cM?Q"galcdоe7lf<^S:SAPbʘ]Z`mmgޯ?\{ȃ&ҧQ@{S1Fqer4;^q0ntǹȳ=(6Z5j O %-%%۾43 3cClBrquZ7nي s JЛekkH{7j: C[Y)[ r~VH%[]">lGh&?7%e0"g{#tʼrJ;ҫ8  3nPAL9Kl],7WD&pI7! AֹGz<&sWnLbE&qTK=hOc˸.S籼Nh]vPOvD̆}̿-rys.]QxusLc2 y9d0?o)[C EEjĔbmpD/8,= ^W2"< aFjc,w+|i|.FF}uYtF瓙~U)g1n̄́Z|1R'H֒)*Pm_A0^`Q!AIJ$S$abch'ۤ|[އr܌ xbPG u ⊖1Ȕ{IN(woۨ| |0'7̐\l1l/55GOĢϿЀ'o?w~4~բ5CzD푼_V%`FDUDZ8$?_{~vV5 L Rs?KȨC7t@C'd:ɅǛ :vmr3!Q_Hғ@zgJe<+#a՗4WLb4ugmZZv{mZ0ٝY[v>h}BqĻ72`6^\DW@ij6)zpz~){蓍b(߄薒k5"IFQ'wKxGvKףt9-5H\R5jʚaذ{GZCҮ4W $?sjQ=~W4߱PXu_ NF,aXbs!9VjW3 LqՔ5\JeB9LiQVG͐|Zq39"} /E}4!*,nb}>,0fqmrS⯆ÚίYzڔX9UR/QX26}cMB|Rџߩ褱LֆrGICxMjǪ+W'`zj3{nV*^8{V"q:#$'B .:p0d3ܐl3 33މqYR #8مj^Rͺ*߉%dI|QѨoS@QFR?.zv[X€#vʝkW3fL@gH kݵXVHP ܙ.'dI)C/]z$[kSDK<'b,m/CKz]$J-EQtL3v>C+^O ܠY3uCd6얚U FrH%[0Qs@Ј,^oh|?5Lwaj&Ey`D&nz3./nD~Izh89NJs1qJ)MZ)!OrV bJV 㴶cOo)1 cXsQj]V+1ِ׆T*]p`ařG ܃w/mnL[-=/$1؂! ijPDj3 _x%UlKG׊2"8 #+R(? .O,>Z%&q?( H~2&IKM3IQfF7~ДשTcF`ɦ az:$Eh"%뱎Ƒ@GVKd_?0"'IдN (S6.ϫ2*+#u*oӢ\Mw?8pȻF(̘9>c>*x%0B@=ۿ@۞MM 4b7_856t#˰(Qz zITVm[dq C! SiG*c˥"QݱknKҷMa=&s為4/'O (m ,MZ~W|?l_^4q))oi82 };&؆rU%^xtLftEUqoےSƏv>@K,OBԺ>Xn`&^硩7إ\e($Gz$!Wča)6[D#RQ]GOlqMi"f{S Z-]PVlI jvM}{Jgb0rxy\ O cOM'YʸLDV9)F/"ZRv/R l!I}yק4߹ Iݰw"i{~ہ$E [ *8^̕dd{aRtϧt$E4`VmE9}$wjĒr1K- Aafq?p4~[m<^";pHlZ JW;ãhVHNw;Xc ʻjxL4FP<Ӊ2Ò2"q믂[ԸC~8 /ud;5Y|a:_ib[?HDàN15(3EPBYYGj;QR9px:Ŏ A4bfKȦY[ xʎo3@7Ԩ |'t )櫵,<:DMjY]kYiv elO2PI>Wb|t/WW|*䛲p`*O>kOlzaA*V88-:+UTA58;Z+QoA~ua'Bz.5:L5{ǔY9Qjd!bp^p#O?K}bÍtϭYQN BP.zrWtt9 aM8Ma<>bCwe ji(wˑD{>qM!۔ګJ~ +2a2Q%-a(۵D8!&,WdzyHb!5IF֏ˇAʗc$=2 3:XMCV=^YlΗ'L75V<}j[3R6{Vq*aߦ-NuԏoȔPO1u.wz&~"ڎgqFd`RC1l9\D(XMFe S,gۖD}=fcצN;yҹ@6sUgc}Qwſk?EsDZU /_XlT P6ՀVPUlz]sEj<[A.c2adȿ,ko1*CQ3Eso3\"Ft>2eg'+#E( `zt͈nEl,_p5~g @YG u}t@ ~Ė(A!Vޏ[A?zqvTTkjI鰚0n,XIbQc:Y)n2&ÿSJW+P -*DÑw 1*t-@u/'-|scQifZ3"*j_PIĭNi@Y=Ӛ)V|N*u!QEZ+g'fXNJS㔿M'vaZG#r5#v+7u6?W{?"O`"EJB zD s^ pPT_Ѥm& g~ "Nlw6TTv8QfOFήi;fK/?UnQB{ۦ{^w4( !q8 ťZΎ3ҥx8vsKhgLPb6(/PuemXwNP7_*[Cɐt%Axg& X ,w=k_>q.$E$sRwQTCėFfK>a<PnEJ*57-g䋡J&Xp6G(r)##mǶ~4{ 4X-l<`2ҳGާkh_o^XסUR$w o/^\ɀxA7ćX"Mx7B@l[{Pp_~5D|@#&Q$Jz6sYa\hY7X0>΀\fLʏ}(aeOƿIGL%e pd6e>_eIq fi6`R+N+z0\ Ob.=ׯNE<X3ț\@I$s|eN_P3,dJx⦎ T|fw)ݦ7{ , rW2^qx0>Y3bK]ᑉdöKH>eQ3ȉIacocȗRIԩI'a MҳU+Mܖ1;G9!~y.-Bv"YѨL' =b o(hG* 8#u nX')ܱ:U_^PI@CV @Rb^ {$EӘi o Jj* C䢲6So ?,zB&:wMrlx[ b0m@/CE_Ws!f\~(I*.%P"N]31LS˛[s݉q@Czّh3",7M(P(<2(d~805Re;%v?I0KrI牮h*zc*yS#E]sR2` 3UzSFG@C0U"y}0ih {b#%DtOt֣|a/"ێU'Ւ72Px%}(@_d:p+D_(MG^uQ,2{a-h5q:9I'8u[/SYe\·SU!?'r U"0o㑜(i ^| ?0̌O@1 Tw%< ss6kL(v w==Ң%(_/+MץvŽ'`=ݥh@s߸Nث^1 Aʳ&G< 3|=R3U^9뙳X PVR >{g=:T$/9MVC9TrC}RwK1뿁jYt<ʍW '$`aWAKL#.VRXʜשׂ2kTֳw a]dEw=(!߹hc#%[}Z /Lדcb!b,qYM.Gd6vXT @Y;HO,EnO]$sKrN)xSsen4`aS2Smo\׽X`T%Elvۮs ۶=&\{c*-9]}t411^"{F^ @(IN޷ii@w R2ozg@S_y.,8yB$%Լu2f%r OZP ه}d3pH&UZcČC<[Yg-k؎:J脩J wu/|ԶǑW o6@md .]kѻcJJz(h4F ƶhȉiW-;+AB- Lߟg{E'=4GhΗZG1/7IgԚYLLSHU?t&U >c50Mg oՉk\ډ]:J'& 05[\]*Ԡ\7g两(?-e<%8HY2..bG|`Ԕ fxx.{ƔfoJ=;4Գ8&:Dcl!UMp|Wz(YDq 0IVi\H~O`` Sɠ厫F=Z? dVMyUVv3=I5wT™6n}+)Qߎئ@ӝX5\xZ?G_@|K ;)/>SV[}Me84F9'nhkLc@?,C Q RN:T-N堅 KS=}Iˡ} ,]\g2Zwd :͕r8 }8(T.<4{nE$WS-pC ε-0~ʧv }[HTdyŭ$Ql/0V/bӠB 0RR%~Ud=OKӪm'Mx&p)+])DZT?9Ό^?b )]\~nb'jټS5}ttiY FZ|=?',Nlr ^=gei.ޕ"\W0Ob8GшʞWTsϥ0*Z~-ZWì4bta{<ҙΙje=o0#mz}Xz_4]6&S&yu&)i_j_%ةN>SztKnF!XXA] =&+oc0$g^ V%=;0Kb|q\JKuIfi Y[k0Njɛ*HvP|WgjLgIG?%d's:VqI:^Hi ?DK] aT:ˠFWʮ4ָ'J).wM QWᙯ>W`cWaɞ<א%O54Gn>'QԤZBi"i laLΑu}/o5B OLE^L&e?ϑH>7w\@׿gcRmOaɷegNF417lDI㞓E]'+Gb>S'g)_rخjU~j ,\}TtΖ}ٯh[k,[[bR4W+g.S,88h .[_j(I*w /1L1tXd!mrщgOu]̅pA>VEnŜA[!DnjivNJj@5ɆguUmIơO<4ze$$Uȧ(1A6g~CBv ,v|-jAXɻ#c8Va CSyv="4Mt>jvUe'*G8 ѭ q}k+M YUx;uUSk%KB}B(M~1rql'AG;N}%E"ԇ!]/䉺Cҥ Lb5%:ˆ˾qa^+"w;M<>_3 BSc,XQ+BRt2iy-ދNxW9'M~MĪҽc|'_нdŖ6~O"/_'YJGj+B.Xz#j۽ːZznM)aWGәQ kX#Zkz#n6PdLPVӑGf|v*dxtV[E_[ .#IWH @͑_۸m65kjt044˫2صV,Sq~-Qc7 U^jh {t jK^ֶɡ#{h b p 첥 G w#FOZ~c@ ;30e\ʼX`Dpt>CN̼$ݫ.'"@xwK6 32_Rz*Dv%)JVwCT8k`}qؿoQ>gm_#!ԀHnsZ3@%vӖ&;"*ǠˣXP śei#~?mb 'nhL c }>An_siIrL _1)|rG0C{"gu|'X R(w<Q uoƦٷ GzJh¸B|mV 'ƖIB\-ijK0Wj)p@ie|U%sgM`x,}X٪K$ s :e̋QRKQE'*R * ,W"35l{+'= j'Xw5akǒ(ՏHu?>x8]8Vh\E R,F 3 eVf zwqաP3#q؜˔h &R 0OrCQA/2!lL H-8_wUEU^CDJ^0C\W\"ϻ%DD@)ɵęWݿNа8~ۨvz0tS]OKt/`$Nu[Mk`igH$alYI<-B`}87qƻj>ڍz&۵z_6toij83'fl$đaBthIb>F~l|,Q&}yPxq0hK>SfK%k70>9E VaVo{qw`y#t;zlïNcS?Kž#C VG #J{[2k7րiT5UQ,c[r٦'=mf1̇>H|r=aq  $ß_ibFUpg;nG]Ԓ G@ a7~uGp |$Q]d|4:&v/Wl"-w,"â ;Z qcZd t]w,a[VU`/[rt'!ۇo0qP4 A\SsM壒rõ7}ZDv%U,pc >Y@,(02R~0^&F9~[`W8u{?iy,: 9`o|™…`ԥ-''-l^=,黆 +z#G:r>p;+-4s<)ɂbxQ7W=1&]_D]Bk S+/}W!q99{JTiI &Dy6^e=JT0Yq"0N͈7MuV?{H?Qmj$GW'o{Yb|xnAT{4>̏5c)[ҪÙO]naj{0a"n(t Gbئ~{'g}T&k2[-~șxG#9RR_U_y}n P L 6.وl򡾐vDYD=> N-_k0yԓY3Ї6&9vxioy${\O'x Z*ݱbKTjdXD!]_) z4x䷡|ft\QnUiPVH6"lHnjWw t wv`Mî߅X^3Mՠ *O]C; d9~`d0[]=̷:Q1=D44*k ^9ڮ7qo605z2w~,_ uN}4SDoB7ܮ;ih2D!f(Sh7)LW;ҐɁX ,riUDd;2ex8.~V!Hԇ'8(T"_ݡJ>4M쪋CһvXP9';/S ԤѷF/ymfA#Q N:RsWN/5SV}LQ \Hp _peSP5PsJD~_ Rƻ#[2{`h|&u’d6e@ܨۄZ~SmNѿ\]?TrXcşd+AEfUCu޴(gksJ¡6O8ګ|kh}ddL*bs<5!`oRw ?Դ 3dv+Yx.lFyD\JW|eH5Wr&s΍~ A%gaBEVܴ%?7nG" E̅_\**P3}:2ځ7_vywdM Mjj;1FEbnJL,pc5&]5U3[ʇQ3iwz2#\4g.g, A36G8ך? D]A#lޚ1Gks j]{&m 5T cUamZQ&BlK;h Wi"Z"9681 -4Ǜ^*ڲ'JEڡ1B3Wyq^iKFPTjYSjWSIe_Ъ"Tn7hH2 |z2_.A|vaLWsIM+#=DT]?# ~5ihM56sr귿kiJn y-.,qq- 9f*N}V/q@*C@d)=U@vb)SMEE&o@mGk p/ 5-FTW8cuݓHL9xߠ${o0S ^[fE.w_\ FﺑH=J;E?ʼn 2f= o/2J[T,ц3 <KnegP!FWenϭ? (ǍIy6r]h*xE_\A-hW !bD^9ԤU%[H? ̐$#(nup1S]7_39R9?b|^ޖrXoJ?&O,E7"=ܮbl>܂Y85֮W>֢PٺhƘʯ\Ѯ1)5gaŪ뎇lb~L6fQ9B:Y[Yǯgkh#歌 t5#2=% 0|ݘtq*;uO1_3n1Ye3,6hP !0XWƭ(r!`SH N̺!8"F@UI}ʫ*H}Lz B׭w'o`ZT}sx9E`zk/ONuxsq譄=lO%<"~NyLq~'Zc" ѻIÊAWmKf}aUdz绌> !6l/6 Mv dY8ׅ7I_|!v08⌣:;j:mɜ9VBFRDJ Ã.x,mvI /K%~,GaN%cΒes3C]|;"@$߯_k{O,~܉[26FUapt'd肢"rX>8 l: х#2 +Y_ܕ|Sp\a#s-aeC1./wdu/|%l/%$QQήcs=IGaG` 总'޺Ex"ӂoˋ{ >|SE4iH̘Nƥhr7?N@_3* 615-i=mU} t]ΪS 2k['XTEܾk;_L<4e߻L &-5%.IK-KζyFpseχD<^\: 샡_{TU紓N`6K|2 =A&-7毢n ڄǭ嬂D^[7~~9]}y_1D92nE$nq.΢{x9`;^t'Z* QEwVl٭Wx33{RzsBT7dcRw\VJaâ۲~%0pTbs2@.M,i!hm"-}7Gۚ`l*C |mh 佦yTi5K e6G I`axڞ{${ߢzCL_:"iMM SxiR0f]Y~#-">gRrM^T|6phpRܢ3vέ%U% Z7:0 M@fSWRs20chc膜ܶb⌜W0TmLH늌}s+R:m$LάKJ=SnW p/i,$GH Y{[TX{5l24Q;®vlжQ|@1ЋC.LwTNS/2SLsBxM!)@% R@ʒosV Edʃ @ϬI{3;JTKF<_DV j 8E@ J z OĽz䪀2Y!f9;w v&x1'8$mvLq*NF@ԃRW L/iM?݈?Ϟz]\F4=] PQSG;#&Mrqh5獈s|!{B"܍8BPO!UdgވP_=/.xbd.mw+y&gu~y@Su܊sh)$]@Tu>z=^g~V8T;5ȿ L"nE5:cVU Ԩ%?UHgQ& zȤu5i"7K[·A0CRϦxDP> yN.=R',{l`'zmExS9fCK}ԓdZoW uWS G=r !Cmu+L_]=)@eNFsCsPZ&sM9)2) !luh X46>g+NNS*ZЯb~ldP$yW&de$aD+I@nyw5ӉWIR K7 sEr}MʒYԫz>lglCLmz@@̹cح`U'kE yqMH&dv[R$M˺\K';W# ;0u:X'|@ymoFWF_\v$iOr\%q9[G =gB4xqQ;-:f7GzTW5mcj8(@*eQ|zq+L8(*wA<Ȕj _,:6o6kL3biwǾZ+[1A^4mFP#•%2t[uaY5=6-ݧhtl?-R;] G7EI֟ Դe&Θ^鏤8E=]Z)9Kz?. Rx. ?FVѨ&CA<{SvPv>2 ח‚Uؑ H_jR3J0G&*=X14=b(mYR]G4b=bYr:^ x-ù ǵd Uj,T rz4_Bu-U)iZZe "Cs+̅{$m~6E%RH`WQB>࿧"oa}Xiaؘ!i`s]\#htNrT#MQjnZa\ʘ;VM8)mO+R--3u©p'Fu6VII"1.;ZVN|<{H A=ڄxiAzψ>י C TUv-DP'4j] ԆreJ\#\3N@D-ĦkY ¨/DzKb^գa KqjՖMw U"qZj.]Ms㖃^IFQ[]WBq"@ґnA\vɰZPi}ZJz64SڱOQXN27u8cFbh0qpX\IzB0cϵۅꩪd I᝷-RЂeիj +of/?}\s4_G1| ޏfxP8:$(Y?ø{e?w@뵂 uU ܁Ne&BK %:ޛYK!jX0&$,L-ge6d(;@7G+0-|Jo86{oHthQ-"EgDD:?~RY_ ]nУ?Fcbtpuv)~S`%Y'&*ހz+}5В"Yj-&zs%  @:C7J7 >vo3%i=]n?^s@4x'&+ OBPVLMXS`\tRЗ!U^lt=f+;C *#=A&XG鿗Zb|W7QeXnoynqһI]K3/NY9?=$xUϚ?GI=#6kcغIߞ}Pp=k',2-dmAw"-'eB%9լ}gr2J%H42[x].:x$ cŏ0_owy5;g,jvN` tv@U8m>'lY^}țÓOTwGkƥ"$^,^3Kv=}Ox(^6P&$ ŪqGp+Е樗1*~U=֢|DUĴb 8ʡG}ٟm*h\ ۖ8MiO0iTH*w^?ӡrW _gH[G79VPBhά`ܙ`'2'>CXrR֫8wa9F}&4W4Ӡ-%e[q L&FX{5Qc+D+zI @V|3Oۍ mM3^u%YG1͙Im þ3ͣBw04\bC{$o-{zÂbi4\1mm$zm5p.BJI_Ly$,mda-ƀјXO׺?XT NNY~BzA]/0mbGH.C_ll^07][Ya, 3ruTԊC5,#>7)OTv 6G8pGW2ionnNpzT&eb(mQ4%FLM\ѩ3IXk&ܙzۈ?E(^I%LCsC7q@Ln(ia[ئ;k:ԟn0TѝM\.,u?.Uӧ ęAՐ%!"O4<"kEᕝms66Q]M@ˈSJj'#o`CWcij'}{s,܃;983$UdSQALp+LDž!*q/Nr_RLJ \Gt>Ib޺ ́~yM}<2y%ﱁ=&v' (@-wO$0zs'\Ю^k|*KD~OH+3(ce;!^UM]_FsCF9&dڥIZ xbnAdsrۏ ϤhoI \p50Ǩ,f0A_sgp"OE>ZBc FT1u{dF!bBkj a $ Ι%(ʂm yh>} <*2-W:6?ꈣOy\~J>@ءfKyw~nծ)0d$L-6=T'DhȈᕯaC=ueN챽(T>ϼBrZ 9׃ 7kYY֡+nQaێ9K<$W"QA&x^H1St%!)%o/Zj~TMCz{oa=,%heLHSP@GKʏ0lL9r{*O"ճRˢl5 +'s2Fܾ Mn}D$h`˥S$;R+)ܠ(tCDz~Do`Rv뒹%xf:% m/mPH1 O)E9f\YFQE̷Ɏ.9hH{{8ɐa §%;g9 I8[Pq85>`7T֌X(5H5 u5CL&FLQbGm[j&ĀPU'I Ѻ#{ -#>}+Fb 8u> .wTi*pv.t9ybщyL\LtEæ/s Xǖ|:St&VuV&79B)̮XZO4V;kYNIsޏU;;Q0ttS`ٻD:ţ~< 2ј<#g FGɕf(?lK[߾"e62t\'e>'QiMO[Yi3(oV|]c"~סk޲5Ajg, F&^Jp\GVce\|5 TO[xG-鐞m;Av.zԖ9&*ڤaCP<@K]U{iz#a:i#]>Lʄ04kV\a`Yuy1׷)EX='5`ݩ29z) 80*Bdpueo}'+p 9=(5}{ *RV ,x3Nm6$(Ȋl%4֤ R+ X()A24KrfVtF.5""4⎳ mQZэ?@s\}%{ nUdѾ~etO "GdvɊ4 A\3 DsƤ%'N2zB(`q6Tܽ{}BtNt$HUtl@9 ;YBm׽5.z}_sHE]reGQdouX ه0zO] ;,[<|: e8 ,BAK",%ݒC ![㓏it2gͦ'Ѥ{a5}_HJH ġxՔ`#ޟtA?C'@z5Tft4/;rpnRĬ"(V{2gbFlc ;kyn> &h1.f?5o6_^s1[8$ŻJ&,Wt 2* ;0mیq̳f\}6ॽC<+UM; %f}[[= f9*EB&,#m۵L*G,[A%B|70KK۵aͯ?,Jrҏ#.n/RBTh(]MUd;d.JU5P-"O~؁ѽU8س:4C:ׂK'gA9^-s[iԉwˇʟHL  Cl<b:*X3\: =57\=**.|0Uicn^W<^g6a]<)"P߱ p"eM +~xpYgO!-bٯEHck ǸR@ړ$zJtEk(CDskmTy߈tety7J#͍85膼`\k!XF\-Mut q˔?8gWa(  /uJ%IОɿ74=L um H;C]^(#cQFW^ VO6 D9/DL(&̔h$ G/1NK25{Io=|:ro>)YrםO=9!J c|Ь̄bTiJG9@iʦ i0*H@db2q-#N: !5~`'9 h3QG]hQ Gv~Հ$˝ЊI?\l}vɂ6GRMrÑO[QfX)P(?kj;GkyЎA㼽˚U-=7P ªF75&9u27 auGӢ_cG,?_LcTj6`/}u8v84C,_v UNtk~a'<6%|&JU„>)Yp=C#5E`ސcJpX<!hU9p-XSlidumA!y$k 직GxQM쐴DpMi;x$ޟfc1cv xf.D;",wRaA۽3oB1ekv Md+s-78E. 7L :u_o17ֽXh*ΪS3Hr@`vBjn8W~ni6g(+t%U)0'2|.[S&?8zȥa_ٰ=-z$tw1Z̢v+O'c\ x{}d9vHXz~|D  %g E Voj>L@Ug#EInajb@"@!LyLԟ|ar[`Ra; Cvr;ԷF6OxWr\ *< WnMwy*P'~ax8^8ndhM+p+R{6&u]b}7mQx7t]8fs6Unk߮GĔ;_21^c}\# JڽhmkK+WLݹ~1A#r㩐z')3W8 2;,5jt]vyD3pf;;ҍ$B40 GpA;{sZX}w l),W۟[Kf=B+ hww'Y`M,6"H2U"E:Q-t*KCļ76k1>1_ӿ")< QU:4jt >:sq|j'sY&?gɅszͶ"FRƂw͛҃*Ͳ:(spDH!&9p BO WWqe*<|MM<$(i;Sۄ62,wXU)rלc`z_6-:WTAٍDSӎ݂W$knlZ g,c%7CxXd%Fsdrl !fthR0"] '#mR^ jrDU%F]ѝi-3(CWwg fh_TWǶ}Þ}Y6h M\FFj꧟=AFm ^?(X oFL0|5AKla\t!,Dwc[؊3E짿G\ޛ44FjnlܣL,LP~FAc3F^ݔ5(6ZS{vn<YkSnWb}];wStTR . Ϩ穀1>0 ;<1Tki!}>:+.^8'&C5(ct%|7T7YT_[@ZOOGo9WFG l޶]iD)~K>m-4GwnI%+o SD  ?gHVMRzVKK/kUh}&LQ}W֏ Xtݣ"uF]sUkQxLA֩=JB@N|rSOk툌fN{٦EN- 'V$ Jp4ƯWj]֞#-{e)oRJLk}I {mrź?PqJu( pɧ1 jԅ^_j$D2̭vL0ؚ M\=ϓl[R^9R|䇑E9 ŘQ(1 [mlNоo'1t| '~vP(9T/<ӽ3&{ԋ$}򵤀E%Ƒ;Pu%R 냦R,YxG ~JfiRҖJ\1PI FCT"z @4Ǩ$>;Z/[3uU8;rdSPrQS+t%IbTrr챵V#xZOZsɂ,LErTL| 2jcʐ[ (a٬gDR2ss4q8My*\ك w kFW;+,JT6lۈ/ lDِ?7%C74 >ɑE zYVN!B6I4~5?R7˪Cߝ/zχWB'ps{̒NoXd`dv٤ŷ4~WsQmfO`~^ʈCن*=Ho2(+{XK,Z.>E8U^$g5Smom.:#Q Ծ3Ӏ1]{aa[L_/ x_|ykqE X<tksXQ]1X,dl^'V 1/>/*eH~uO0-L@<)Ìݧ]Z[Pl@xnC_`FĪL9MjǙߤU]˦ Qd1'a ;V 'sh < '*>9􉇟`RCYQ)̭Ŗey&e}(Qմܳ' c+/ T}7i(JLLF8VIAP$E.@Pwp<UȉH:ЏȊ+|1%(UT::>FMo*[h}c*I=%u'&~cTxTɞq\&O=رp h.MyQ}|;a״3EJ:kb-tr\@K #aMSR06fǢ1EOaT50KD)LʚWk֐(EL/"0(c=\^[YcF!>A k|0AYIΨ%}͗u $Q~Go" }AL0G;'=8^%9_zbݽMEƱ%,w0-l6hwk8ő%(zYHRiYNnjYfrHVYNd50&\>hc}aShMc@ Ӄ\ưo]Sc}aq!Vy=< :w0lnKyr3{V w%7P r:Z~ k;!D,N,HeؗwGhz-e:'^ag2d7 뀃HC8m5g2DN+UFƉon֖j8sa #V6G{qf FQrY2FDaUP T0`P⤀G7g wm@0|!%J#K攋d5' ^Ĺ&pZ=}㑊'#'iDʉfaaDUh,>{wCs]OQRJIϑyy,PZDjϨHLq#krvcM3m9j%ٵNMfsEs~op\قI : 6߆6-BG,W = *wo4pe8ۋAݚ\wƁy<<35S-s->  ;,FڎJmlfs&z#suZ[*ؕ:5 ,ܔQNIhem/A) U,/|׃ N]Қ H1R7{G;wY97,X(ZtxPt 1`C`hH!0ElY]G6ӛ[G,zP3,=4-G4;[ٴ`>_RLr. ׮؞2G<? (0h(awd0.?' Z{dxC7ez[Q==y"%,YNU)yH2B5[ZwI)ey6ccseBD_坤aPF):a`m *i .R?8]e w dJH #o v$ Ů:86f χ9COf-c NqorS|s8nPO9tD1ӞA:CQm-0"cVWq܉+T<ư`Xz_&4bUң.Of|YW*O\l,"zn>P@'ٽh!/zi_X`tShoNY#d.+,Cwn6@' McaI3CLDjP ",{jXOS0 D%f( `BׂsWyNGlKF[gAhh ev0x:^inAWw+etQS[nVާ/{wUG3 gOHIMʑ2Xp4̭4:k!4ccWTAWeQ' )ɒDR|cEK/È1Y~ Vlp8CNJWyd!\ 'i1nmHaYtiSUz1 eR}o+ejw./H͗E!L$zuG+N|QD(3_(S w ,Gi9 !39@jCH݀s}^wç R>e,.{P %κA]tS=[5 *{H֦x[ta GpbLH9tNA4K~,OhWpvPו$5nOjWC껮Ev&ÐBad8N=GMgHQM ÝjC~` ⋲" ̝VanV֡ &a^3n!alA-ݱ WRJ!bW&f[lj]gORmg >mo8xAL-e ̩YO ث4O%dh(& dq& ,]@wn#Mj< t7q !jMzsY;!=cb)rZ̘I:Y:}vEIgh(c(Y" $ RS*>}_ŭ`ԧQekVeuOjD8cd5&j8lM8k_acrDK=i [eEjfJ0s`pMFJ}>A[ .й@a-νZl / ^6"nk /7[6s "s^i@M;xx-jWFT.tfNqkH|K We _#^OQd&sL1/}y g9luAH+G+:u4 4j"\ScU׷?ro`Y\)Ds+o =0u/k|> j=b„Si 0JM:԰\samӔ3ZIjUkcQ'/vZ[=MC#^; 9 P )u[xa%}T1%ЪlhȘtwЉyG,NU,dz-3D>hLϭO9:bnj{j44Wa A{RLd\T#~ .a;o5 g#V3ܷ[AWc}3&]Q̅lMo츁.;rpOq>^HBnEʲH+a-#,'Iim 9s+7i wź b(T7Hk{U?n%JAly rHq8NeWoV)Ij#>\M̲ '('D8wXw`,|D=A?_=A.Sw{NC<(zGdht" 榭l VdN WPf12p3D/G,(_خW)q~AyG p+8;!|[>Nq/h& P}g׌"E\h`MJn7.+n; ݠۜw\mD/t` @r=TMT5g{8lMs1?=G?v :i +R9ŀhrWkXnDZr<ۯ*"1J(΀YN6퉁PN&eY3ٶE|]x&$֖yn־{.o-;=6Ż^j"x9DHD6#1'SjE[?+,dfU$c1f >ے?f! hF7XlTg&—-KJ` AW@-ԑ<;ZКt7eHߐZG~j@̰ Vv~x*KDs_htһJ܁N,y|Od ES"0ex2K5H(rh,*AgKteJhgh `I44W,տł^Ĵ k-fM0`KKcOO$gHդ* v6 Ҿŷp(& E=}b}/.,,lAi лC ):R/Ё;P􃬁*ST^Ke3(gF?h`|EQI.]g I,zׇ*e-*ŦRyL-8-P͙e$BtSS O#8!^-8EVMp>H'5aٳ3/gEl@ O$@W B@^90+Tg͟  +^Cnrf'mKtvk*B}$/_ R_yZ%;=zkķUJE9tR0퉀a*륡dp7kX+E[W̕:׵T e,]Pwkڬm|ו/j00/SR']^lI5Yww g")O@ru;=u! $>(Yޥ0f6=3(z}\a0ň5D) .sEV RR.f=T>Ul&S4G'*GLmLls}'+Db&//CB;O֑9wB jySllI|7ˍVّi})hlʁ IнCOPϳ c|&.F ^=+&LHll`Q΁ PnujP=oq{׍aV<RvNo$&Z`N$R%TsA5$d>x{bӼ0u9rk @Dtg@CɣQv@aTz.EY={xo0~0lэ}oФ?O=\qQ*\?Ѩ2[ KD"{ReeJZis9w /!;R[=:J]sdM҆B &]#5BEY{Jk)]3>dhL,<5xO Vszo/TҖMJNGM+(OċSv,I%v1n@oP52askȚ6WUoOibM Ybt [l#'c%Ii}FS,+G/ yö9eqCiwHAa**%W03Z>0/e{JJ* qLA;BЅK27]QgWE[ k sB'xO`*ҽpj..~RV$pV5StQ$[GٕG{u| 4ҽS?r7@ މ6Y7ƗzFHF3S4帍[Jnr$9On\c'4hH_$*z%!p Aɤё_1rA.߉unrnavՓ]y6o:R̨n|֊APַb<ۈա4f`؈UZx+&tMP/qQ/GOs_M;#.~+t0xP4}-Wu[Qx/epR\5`~4CUשlѿE͔sI6Xu`jNލVGX_e&̋O xw>i+u߽TG(abvSz vCږTrO l8C3!HJ%%A|Bun |pe\1֗9EmHڤeqD&"*i4!X\RV&;cUxIN&@ 8"o<\ЉK zKꎨ> ΰ;ZmGI_g ؍8~ AFW׉<@_E5*ul.G45gAG: EՈ+SJPwCY 0:܇\>.9R'DiTE P-:j{lhTp;wsO  /K]ST OUm \Dd^vaIuEg(^;yuaɸ55r0s }Ō QjTT̅кKdچ1Q;ۋfs>!EOOKb3rׁjq~Ggd[`9(42"'בi>d8qX/ZLrtB䟄y,bR讽pwƬd 4{Y *^1<#Cd4 SRC,.ET{Zî%Ѭ'Q$wDnjĶaXI6'AaG-.W+RC,$R/V;X`x\e{~oqO!e uZH UCm6K⾴,^a*3OQmc_`w3LxY)$0sK >/q>bIokm;%dUazHC^İe?%[M9h:Q?niA[ƻ}zv-IoGXX!.\." anƕ[a:;ȨY^ܤVvט%{?cxa<!ql[g6.٫jd@OX $8 <*q̾d>yѼ -Eg%缜 µZa<0ZHJ_?(rr)U8G\&zQ^Rਞ&h5q/7%leӐ2mx[P R E-an~bJB@~^iKP"A< / T~پ?O#vZRA5FsuD|ts6/ZW9czD&M}\ ǖ3wu]C YP"6,E gvOR'o6\\vWCgX7).3IՀu;bVAJ! o[+X:#w&Fb?8Ʀj_N>dzB)/L~!=n,!x/Jn=HOP[8l@ /he •ׂDSTavOay"Ĭu)F d^,>&!R.8K [>~{:ePӇTV7.d=10Zh4haœܞ:͉Zh3-6a/Bڣ~_s^bony"^Ki |Ԭ8~}A,IrR4 _ Nc%6X>{[淮H 'ÐQf.bL%') ߭, [翚Wh dR_ܫ#'E֌<0U.令EiR/19F#etęuv]~tH64!TﭮW;o['O6sf4BV8͂o₿#S%#ؖ)Y sv9¬pQ i݃4&BmOpUWMllp6.5?=G5]{(uoNq 6vA6ȿ|\n< Ja`[Ҥ@)+x7PQgՃ3ԋ 1ˎ1 E)X٧Cd-K;^]QX S9*@f}Y|`!cxo:‚s@_ԗAO]A)}aChʗ!AH)(F<̕mFZ#J%~YdE!$>>2A YPېC4Sh`ik8SbNjl9{nyV$y'~/vժx: KE 8#Z«\^%;qDDDMzQ4#S}I[!P,CE`\,LQrD> e` ia!7 v+Ib,eEK[-sUVJ_vnlnE,]G7Wn&F qEht.9/H<=R2o9>3 Ie SF )PtM8J8,m쌷{P^wS;b)d52[ P%9At}E ?zP=wXk]$UI|t{Wqq \Rwwy8C|8IV=:7W|fwHz}_K@;P#[ˮ~Z0%;s,YmwS9"^ی,+MI>LՌ7V>7K AKo1c]\k_[%/$[: >#hBT (e߉PeJ#Z(3$'ZMȪʤ7,Y< t^5FF!Hʍ5;Ǟ ^p!W@ś ؁F1:zеD$/2]>f5`(F;gP+@2Þ͎uz}I쥸:dti;SߵT$}[T6/TeD:7\@FNytv.]iW[ 󠶇v}U<o"IxUʭ][[ci e1WI h¯67+}cBR?xֱ}eI Ajq=Gma 1g+`10+0uuHT@rl~ !3lt+ٍ 0$~hA 7 '&N]kiͮ#']d1:Arepm'tCK+ 6"+Fit}o& 3 ٛjn;`(o'KdeB]ꟸ;s`-ǢA}+ fIAg/е̣Ĭ6lBhV<%~$lB47I5l3^i  &[tH2qh::-7Q0>K.*7aH-@=˫=4X!yJ|}uԱ'B SRHIxt=n$}"Q]ڰo2T /LR ,^DC2KOlFY <7=_['*4hUeITE21 n)R$#R_+)oN?DRa;*zV&QhBJkC/e,?کZ>Or0^e}B; _\j[BƵ֭rbSc=QM\ɖ+3G3MpY(\!3ox70%kΊZQHn?{nŕן[ JWG]}OvWqr9p]>y\:X qoe%eZp,X/Rr\NTӪ( }i_>{"~U!<\-Q,MCOHspuT+3t?Ɲiui~Ցrao}m,TS茚ʼEܐ%C-RL7"uS,s@ D!*={e :Cc!"\Nw1XX a19YQ *}._Dl3(ypIE6, rckr@xe#: t*R,HYR5`{\ M=R K<"%Q#һa~1D٠8 CBiޟB+!y,}9(M\7k"}lau\u\RS dאi׷ 6 G. A U_x8P MbܿH."iz֯}o(hMb\ZZ*~Ttյ0oNCEEs ;AO( ''jK= G?=]8>8Ub@"#|nF6/'Ӏ8;slADAlݫ L^zK&<+v>Bm㔟y{q*^X&'"5W^J5upc!ښWVH^ t{%6Q ɣ&lVPjxnqd~P/G.L{v.wI:hEF;;Q:@O~;vYCx2~NT^kIon#s~gM*ĆxF&H`I+Ak5GOQO;88'΋mfQ{6{%t+M`VaҺ2|WE ey- 1!z?Tq65W& FJo6ncϠVsQ`oLl opu!; -]c~.}tH霑Z"ݪ6{o;]/(=EՈl@&`?0M~@'Ty\6Z49L WY,I&D~]h139 &;@^7ifǏMuG#t/AUdj6*a*b}?6r܄]fZ;2~*Ư*e< `7iz8m['N$nէ0`3tP-&Ќȹ5}OdIdH?* M`hnk*r{ߧHBd$fpr7hCF7M'[8S`tԄX/w;[9Gڬ COݤҘ4 1KQ/#J3$8k`Hʠ=ba>"2%uͲ=$$@s],'$O4|!hjJN<ĭY" v?lCEXLrIR8?2F^l$䣀;6yjڳaF#Cݖ?IX`Y@8n S~1L5a}}dyJ51kx PO0 -~a¿ f9 qD@B|b/]rwpPF8.n#8O+OCX)Hے&?ɟjs8N[XOS#f Ro\9P̰8#WB!S!NوPLH6oRG;YIdA,yNg #4Tc,bjc#̐$224o,(h鐈3=O\7cD6L(}b﹁ ]8){j'I߼9o܍9;]o$=+zdEct vmT6]U0LgZ z]}eP+3\a`TsdM`NMC䛳9$)"E=*&ކlvbF հhBF Vl#m4%7f`="a۝Dg}ut9 l:᫮8m, U~GG ބBYƙ}B,U^Cw)[6ֻ;i؎?Ru@RҨqdqOW)[~gwEѧe=W%t8ԴS}@%i!^\]d~"Qd˒!DV )(jTv`q s 9pF&xe9 pԹWxמ@h ꬼmja[HbXЖ5j k 28%-WqxyXO˭3Jxq6(ltU־oe8d7#6"& @V*N5tƿ+RZ#Wj"rL,Ǹ8{ы%u@TN6AD's"v lq.{6۽bPyb)xUE >yYG`73f2:H#JTh>A۵uZ A웩&o#?L6*3$DBBx4f? ˖I!vU a::` Yʃ$)+QʵpHP_HastGDGXT'j>qmvLr(51"& V:8\VsAKR^jP'*MbO͟ςB|}BoMN$o`9q?K;[9sp+}o6šy%F' 340y}NӨW<[G#RS#,FR }Iu@4A1W::̚0@w$}h!ii6 ]BgĢ)Ǻ@՜Ɠl@}8.v{⫾0MxJ\Am,"bjQ o7 ySCpk&'}LWt]ED<7]#c3j^aЮ#-?c#ÎrJ)T'#F{V\foOe=掉2%(KЍ ̜M3wyfJTriE:h0׹&mǕHۭ)^k Aps4}.ݧtXGRr%)XY=^ c+=GԹ]nRiD,]OhC5tf+`.]ьg}u~ЃjU'6[b7Nj>qG&+Δ=<=MՍǡj6}zoW3x6WEXK6e )yw^EIiJ$ #;\cgwrDH{V#1b"rv+ޯ,ڴf:\3e)H!PȒ ,<*[};"7'I.x@Kwܞv@^(**IRSBA0 rTohGO9+"gBfH{1_̬{tBh&_I$JFYW߮:A!{B7/!ƑA.MCQ,J BQ" Bu\sg/-^r [fz <lRpXLj[/*O;r.{>!Q̙/5ǯ̭(Qe.xD!Bye=>2; 1MFnڟϴľ0&@Z1!Yu N tqeT|_;f=ҝ98ҎEؔhDun뤢J//PZբZ!+?Iq2y1鱥[Uæ}5koJP }\z؆:8 o bd#VMbyq&^pEWbN1㋴8O*D=&h[ӧ^6S|Dٿ<=iC`A?\>At-ݭv QVX?U GMzta @h_=ډgb ;|zyoU2;Wn))@f);|7nR)yᠴ8ۤ(c*$cj]{=`g`l,rmvaO;"T WUsR>1y$m#ErX;M/Aԗ+g<)ai#z-Wm/ƈol`.;z{8+.Q C؟ʥ]!;`&]@UF4HcVm<Q1UtP 'e3惕6k޴! 7.^. &ځ(pP?rn`"Q'1jDK ȼy0duh~ TɏO p$*I_4Hf5)FPTyok}y3b]h yr$_ڢZަګhP݆Nf.p6\mz_5F~i=% q=N":"V֊Gm^Ξ0ÍoG}OŘlt 7r{\_k;T|ȸtImU:'= FˌEeǓ(}Aݗ`D$=@>׀6&mϑG^odbV-<|LvQb, 8EQ&{ 5m5'!2cym"seh$R"MC^R!pq \'mV}̶R^rd>hf&@ɘ?4@ˍC-zc}uj/~Td鳂ӌ;RV5Ѡ/m;]ùbݏHuo l6OX2[2! Z& ??΁LV3&fa?I$[Z1랺sw83./؁"6aJblǘ JZ:)-U_ǫƖ֥;\5eC;6 4(<. *Q4xKƑr~9ӡHY>M]k)[JQVa4=02P0N{T Iٳ1&" :\Rz/j{M;q glU-踌J4\+dž]2kK/މJ ccG+^|yAo®7UMƕS-|WapSm#r?>Ӧ:(+-(lb3pN wN\I-xưNeod}H?_TW6Nޟi9q3mQbfʫH둤9fLQM] (Ԟ{Zd͍`a-[j_bu-r}Du!|n@&cT[2|f0vT @3r9ɮ` ǗS2 ~PG'' [dSB4Ycϰ O})Z \4~؜8ɚ#>)_47jL3 3@ 2PLgAAʚM,6B O{jv9OL1hݓGP# ħ1[dSQݐG?$/[Pϕf#Sf#HU76Y>mrŰFQ;pyVfhEw= iX*@_Crb0ekG M}ni+[ņJ:ňYs!^v=EÃhr8<߲Ði{Y?OD:VenP\JyK[EwSZη$El7#ҕ=s혒$=ȫ3@ٱ[Xϒ&;Ut9b΃i`0':#X bE"ܽHgtLax,0 e][+#"fu VM e=Gm z/!IGL{o8L>4b%*HJKW. lH*;#R~}>eY+S:]8D `޾zAgOŀU]J`o4O:SnF-X^;@M?B7&o i X=PAkI$?k_,'ƩJR&' j$:хO.H'CHarb^},RFJVQ|;T/Q|5(xdU <,Fx.Ԟs^ x.sL=GXY%k"EćDE$-A2h#D8BY9׬9a++ Sר[W镸ǀ?eTeEW DtYyIĸz8I4;7aFc ڨ˳lL֘P8 nly$/}x>Edy~+l&l Ggoķ7voѲ8ReOkm!Dn)hM1jgłnQpvl.h4Zt' ^=9^Jѭ:}\㼭XWh=Tj2|թoP$aϾ$B5h5Jݣ 1l3燉yeFPŧm)L*pv`0'ѵ(Ϣ-IIzz]weJ`"HSII_Ik8I'mɊ:5>bvC=¼a>b>wbt묻oP4UiPZ]>lsӍwmD(7@̀1*^5.ÐzO1<}i˻=|'If 65OM~m fhN]QdWt"BPPZݏ=\ɘN0"':g~Nh3mg7%cPPzX(vA*~aj *jN~yr#Gj%Ʃ&׏}Fzuok@Y,;J{\I|4^kXUk\.D]7#顺F@gF:r,=QJtABp={ BDpQfP\p܉ 4 hde?:L u]9@o<9}kgZ1xxxS<F [A]VӀRO;[r@iryVrA/xEınR@g7*9љIcC +DP5 Uc;Va5X\~zlc7nLKAEMn5]>" ~4~ɵl,Zxl? YFJ5NSDڰN43o/ DvA`)rg"Q8UWm03IY0oaQT10bۄv܃ aH+p7ӊ~. 9GE/B/;RRMSd8pk\>/;^;C=Y &tBc,>:EU>Y5')>FH$,ώP'1 XzrcLGArijqo9EB3p)Sf *@ߟ>(<"6@M+ 9VQ w)&Fh\Et(e꺍&xL'P=Px!H,0ޯܐ)6`FԳQ#BU.Oˑ%R]k:M?nQ{B4Ob;W&8KOf}-4n\;JaxxY,ZMW8j+{c.馭Q84wdu%x$Lwu8c7}P=FsVGϽY#/gIM%/$=BM1; l%)E0JHzHb/h7NFncNßG&r#&VNGOG|K omj& y?`RkQ$=0>)#D5$WdGYpu386*$j-(l#oқ?7Oyt-|XF[6rRӠ6E̢[@w{OUmjUIwD5b^]u9,!,ZPtpzfOj0iZO:n웑{;$&z?zK4kY<DU"$5!Q/>>C{@2L4+nNx]rkSP4Y#' *l,?dI x/^7Y3*اߎ9";+6u\ xҪ[HVBwB6fLt2MZ19t~}C8nn9Sao [ql46qShkkFlA:A)ɕc6ڟSrI"VVvb,֋l{gl'-p$5ίU :E`\>I4EP-t_Rwb<!-#5(k]{¶&y Γ7i@{D2V žkg=Rzzh@\uIzq٬dS(tՂp 8ЗQj⼫KbqщLGR^U4sعJ4,.fm:< u 2^eTӧR)W0 ed )ѳuRG܎s\\'L6-868,k0,խid@zxj*"H5})sd,wECPW\=p/.t8R\d? (Qp<AQӇ.V7i }tA@֋PhW/.Sz5lPȪ(q㤍L S(%KJcNW՜4co{M?@&')TryM&D+ֲV܆jR45 Wo3!IGXp#Mqp릕Q)}_2yZUqd׈-B>x ఖipiA;YIe0ǑL/:_ܔe;CD2x.t\LG$WL@YόE{H40.z붴l2 $'gͽߞ%abJDs>e4Q5boS%gf\aȕd`]=Ak>[2 eL ,S=J;rP&tLV/{;DLliLGD'gtm2.TW]_[2[N3!.Ϝ̶hERp]S !@F |{vDc̐Ί'<  27ԘկRr;kaM}Q Uc"Dž1]PJTC>RNpYSd3 r4DUY CU!qKȮ1&u]<,%dr?2|xqb;bӜi ^ g5~##UgR#@~+8k#q\IQGt >H42OKDzgT;!T@Ah|r$g頒ybҿ0 -5tmvu+ ՙ8u` eЊ>y=Wo^lac*Ze GFYx5^jzQ@ʉ1<{a1jYQ !Ymvs=d^rN֊_ p7jFj S&YM <د͊7iH+>۫3z\)_/]ڣ*89 w5?YXA_[u 71MCo8]wSˊ>dX'J-bvmw27[Fr.^q!*aAPUfʱq_/_55aBDVTc9\+E` ya^Saqn_<: /НQ *=A{LK(3tB˝uOk4kR>-/m[G:.~>fUKb-ߴ.0!Bx f$_kYGP:$ mnAf zC^rw ;‹?m%PCѷ%-pw`]MyAk~*_7y8$A/e%|}w@@`/~sd^>*Ǵy}_A3gNu7G}O9HXϽ!JNhV "!"^zPOaTED`vv-M"!xkܠHCRbc"|wVrtd"}ߒ,!{ k4ƑDFD33jŒvy=KN$A>%HSΪ@4 E%nc)P0/!]$ąD ]~LdBYvՖ*?RfYSH_>jd+X6xNIzRK>43dj쏤ۯ<9b*WCf{Xֶ?\%/{#hJ.'W4F35?n##Glg.-D7l֧RňtzY֒(N,ɾo# A in.q=;Z3X2 F7x Л:5\:URl5sd$μsǡ%TNV6{eG 2/sniv`.9~#FvBSo0` n;V%]Nѱg]SrBc\e\c, B.tMUBB>{) 5%jF:\ol&s׳$GitԲ'2OMiw&G@! XYߖa̯$ot-)-_uՀn*Ԫ,g \5sF\ށnvyKB71CICv`KJY85O;u/B;ebg]LY܇]CT] zƐIK/7ϸb&3+.3MbX@ xt38ʐ>Sj&!ԧąZx}HO sBCgw /$ey>9™J0@;K+DpY`X>yeNUSvZm!S=:Z"8?;I~! }qZXHAjFX5AR^\}$k[LP#NtܧdDҹ~Jڍ*:|y,sX\Q᠟ȿy̳/I R~Z]q0ЊqM}sd?@+ n3RGY\(Me7`s'yPjI1\7ك<}uӊ%ަ^rQ_ fGX{B4cA*qL Y? rHhj~Q:{3s mkz阚Xkc _Ƀ.жC>N+"?L뀃eũIӒ,tR׽Av}Z-=\zYFO;RF9۝dudv yml}d~tnV <b714!6u8c7T5iH=S$<#žKDIRi>&Jb e4[w *'C_qKj*/]|$b~ciRa|';$V:=;S+zgC"(ߴ?NahڶUFaYqZcxC?U@榖+פ5'9Px59Ȋ~^n2S;w~UF\$tAp#P+It9(ݫ՛W@)$yu'ϳWfH{(7-n@cB8Sy!'nu8<*ɘ/V }@g8pfG-F0ٸ+4Yᛥ:l O~4pC*XT!\`&%v28y1!lmIBn29knzEGfiP`l*pnp!xv/_}P|H;$-I]s`Z -`Ӣ6}*Xԉ3^ĥ%y¬}zdp \'RTkZb3,Ȁz_ZЇ` $秏#,[;;D-\ hJ&@.A+?5c2/!HP4퀚R.r4*  Y(Ru([*K_Ktr+l͎LM=k wW "Vd'$+ `&Jz`{ox%K80%OTBn_HQb)iplwϳ% :WXԚ!frNKuHgBqAnɰQ䳃L*qBty )sr"<]  VFrQG}_+f:&hp 6~Z4|t3ޡhagͻ9+$CwhD01/xxٕ/&8޽&ǟ1Ĝf{@jvݱpz^~m#VȣΗ\JAw RGQf| SZ - %ޞۺ0n#ߤ,_bF9K ft[&2])^?EV?y]Q$E.3"͒6Yzc#Z?9oOZj/w uTEhz;[`[z}EubX0'.7Ӂy:f>bŗrՇEBqh@a{sxu8-}!6Okʾl"ܔv²BJU7[6Vd x7]SlfW6ּ(gndy;q\0(pӰ`o r̃9>7(sWˍrv.@BJkwJdŚV%FtN6W90= ( 4Е"P*פ?)JaxL{E4/56f"%ى||S~Q,Xx)x]=*Tn:qP۲aS)QQ;PCybȕxC@G@t`UUDSMzu[luqG6˿5Ea3'jǽ#Vyyh%V5HlKyD \h6/KGW&z{SɬhD4$3ת~We;U7,͗!U6l% wWR!P܂(>SKߓ הYR`Xs*BLux|SurUx&Sy7JmT/"dŨU?U ܺDL;iYtUlrx(5΋9C;pJ P%ҩnˌZH'[L0?tM#}⪲㶠%kXCPtx/u'uσ+oW!YU~`R Ê7JrW˰b,F?ET)r傌4gK!a{nvٚm7DingrXYPr z)])9z~r{>L P½{a%PtS^I84|ix׼]pC6N  Z,ˬBCe@5.j{ 8=gӏs1}V_#e_Wf$~S?":DN8 np7 _}ISﲷ I ;XGNCAĕ!pQOS ,a(epX~.zh6V A1"-)qί!D@MfR3!MHSNw:V !2hsnYQaà lWb JVR`ʇQMMdn'T/f,XV&J;Q-H*g=Sd wLǂ]A~6t8##YgbZ=T=.U_NK_]Q*~ĽgrV cƮ@!;瓞phd,? sYĿP\ ܣtZ*28%f Vg/֕␨;B%Z;`-lo}Ó;J[)ی)samzeF[% sא֊OC_ĥ E;#z@?LUxrz-i %VŲys2OlR3hŭ:뽇Gj?NαIqt9~9#'YpH ҞDv y0tAzI48Fe `3'O=MЬ7U_;ˣq]--ݾu66} yJ+obVr]cVk&0BS5Y>#K2\ HOUMF@ot/\̭Veu p6AA 6Xv% kךwtه~+ sCPah Cf᫖o۽7 V'LX7qB 7q/ k\ayے6v&y}])St+(hf״ܖe:lumP !]O~L-Kw9E Z>7OK,vIq qd juWn lzP4I.Pt@EJi\#h-QB|!iFc`)EQd}ܭzbIVm^+N4UN1?'xdmg0H-j1 Pˆ9jo£JZ,ϹXl4 )VCZ9v7:oHCWj.p?q4N 6iz'K#X c" SO)(ՂYFFG/FmF'|;zUx*$*B}$v0th!%S*/?f ȼ^Ǔ:Ɠ}g ςz|;a <,QfBe*CD ϟҨ!!) h@֣ԳV$lW}(Xw|fg;50]G%c]z%8aԿ5aX?rLX_*?Ն1 !{yu DsgfY}VxKi1O& YiG~9/6*ӶZ{R"][(f8eV>oI3ߣ "h7DjA++kYΝWEҊj)9`EۇotߎR:@zI|#v.PPsfXL> <.vs"^T݉@`Q@5 " 5d<<ƃY~0kV1=\}enrGqW_j1Vo=\#59Tc;夨F 8?YT _kIM1=kAB,3gN2Z^HbgжXtl6LFUS{LT HۍD d7ӆ"7؃/~P5Vmwry̯#Wi)8%m]䳃 fɿ|@z2vv8QN^k`l(*Kf4ʌڠ+liv4Qba֯9Rt3jleN3=K׏ &K%1AYā$P45#v-H9o$Neo5/cLy৺gbSJjJ}W7)4.]_NvWuy)U1 z 5<!(͋ JB;Tb'tZ  q3o{MΫkQ&&?ѸxǮ%ʼ]9Dm|Ld,|uJ7,4Cl`I4!l )pb␋0ڷ`W Ge;aD)?G0(q|aS$zsu1G/)YW '>^& s6 HE!qhDG0HQely4,!0s% =l +IAYΆ:;rT#R ʳf^.i.L`Te_1-p &+c$INX s}NZҍ-+kNHShZ#cBeV=|AUˁ-) yhw g׷ 4Kǎ!2kՒ^{/ʃ2-^p1QUO/Y'/'?bB5~9UCZ8#H30nuA(p|m6C"ӽ}ȯP)Xkx /UT~rDiK2HYU uSG~Sg=C)jG9߰BoX̪_)AJ0dY^.{ d*y5RrDH?JirڕWY'XZXT ^`,UiAUqKNtRuF$ "~5EҔ8/Hڌ8c+ۭ7Z*AlYhM. w{Ϻ0H8N4@_|_Al M MU.,3k$ %z Tڊ .y'vت A?ѪY )&]ɉ X^j{ j׍^F䴚/|w;QrOkљ`B UbIܹm~z7_QbysœY)QNp@\b$ N*)ocpDNrM´N<-Pޅ8Hz [RIԈH\c1ȋLE쏳<e<0)y9" LD!EyǪج ["V~EMD?mW;}ܒ0~ivgU*c_,{ }z{x>4yGy_NɢuH}o("Fӽ(ة-Yvwɸ>jw n*ƴt+xWX:aJ5*D N&'u$#`Z~;h`zû#ę⡇K|l CSu|VN +뚙"D,6؀S{/rnM% HLřxu>0J kkm %~3cg_uy9[By8GFe!" -3_jOwIT[Om#[g}Ae91R>AX,/NHEB VSxd)!ί hudL!|(B;_6@=Z4BY&Z*lik ǣ (SƎI|hq?]mA:qfP"6$M4m|WxiRX8'Q/z8>,=~ꐭ YJM?7>U/&Ϊ ^q-# 0"isy)ʎeS3;'>i6@WYL~7NWxk _*ڗ`̼펙6}CA+f%&uZVղuLzp rqL|+Rx=^KiWr "^ة^3~ ɨf_PgIrf'Ta51g%t:5gAIsg, 5AT[6GHhz[w׏gvuOjk!:&@;wPP7F>ip1@,;BKm$%[Eodgi|3xEhpub}l! j9C_Qra- ?ƇjJ\Ve םS8#;4MQ%I݁DŽ {v^5rRU,#0қ}1 .8͍?Rݓ85Brm R7aʴEcv MEBm5F!Pa'$3Cb#A^C*;efTWaz|8¾?Y!7g?[ Ad*(I] ܦrƆ& )FD.[mL6O{˓N7QotWU1FPm<5g@LXU<•B۪Oc 1~7;h11*G< +t1P4x+TI)A`jk=҆wC9/[k 0~Z[X [=Ÿz!p[Tu@:u9T+8IÎ%0-ĄtnUv~TjDŽR'GF-.S:4 fJ{0SӕdvrOoи/=akx[P@MO0]U Sx줖G Y^rN:JFD)A*|a \&lrʪ^ʼbĜbTjh4E_), j(Z=̼7|GenezSJT52_ 3k)4{]s~λ\M;;qW$51= 1b01md+.,]gx-8څX)&᳾O̺x>)(ZT,!s~ifcB?G/HЅԅ #4CjvzpRY1nTٯugjL)IH#yI> c)!(D+ l,c.'V?"r1 )q 붺43}fr/ry'ŖQߺjv1܅c&E h N9[S5ZK*!p0*}>!m,T%"`O`}P!-_2{dϘ_)ej[ LhsePI% -~㭊cod˱|]`-$)P{wo aU?[h,Ѽ񮪟 t2IJ1)˼r=])a m/^&}# E=w7Qe63~#xaaS_M9Yc~`iɇ903>9Ԗ@sB vJѴc.Y+|bAch-[ڦQ!:.;'l /FLџj_.1*ƮY!ACyqN\k&>H VNfXnwpuh;Edv&L//:뙪OwuEִ'URsJAu~hwb۩E1K[#|{R0 -O$XqsoKR)Q3VbA.3t}wyCKQFl5oYr~ @43'oЏڹSۅ[7==F%(Mmpfjm\@ Ǟ:X P:tjy:^M4G2k˳sg '2ݏ ܀vDHhiQ>"Tg$>`)݁èP_Ŋ!xe[g -jz^eu 1i xk4%AnYn4_ts `!W\Ƥ[k!Sfj?Mtħ;B"LeRabtz!vMfR'ty\*")aBt`53Ⱥa{^bgl QTJ8+h Bb֙Z+}sآ]2Z+:l/]U$hRҒcb.ft)6WGFlHˌ0jiz!M={|ՌZp癹'4 ց_HG\VIQQgۺ4`}=M$sIk탞B4>򈷽,oq=,LlPU%-ao ?ݡCIâ\ E>,uRCܴ>coӬV@S׍l5D-L`( S#4hX gtb23sy$B4 k,9SuvUxؙ?z=y]3N<4cr{z88p(#^ϫNLqh% .R8HfWT9 C>"[{ S+.5j79LŠiG̼%BX (YoIH7[-C14hqmhiJrmtڷmC*>Iv :ȆHh!&4LxGz  w/ ۯ: f$~O+,WlvC&yR\S.@}Rx Gp +,桰 IIܝW uxJxˠL-S`٩‹1EG7hR=koZ?&pޜH>S3} v@'( ̅]+ȒȉB!ƅc +(H)=!dA XfrR[ZeX*?} pEk4 Y_B-4f=O ,i<3^C^*}_W&R'Zq`ɺX"ղT#`(QE8 z" [' w^dv yPK&vɻ_=- AAp5%,yKo|ۚipeƅ`%i&.p ~ yz#C^H?H"< aAC(T'} |ɝDe|^'5Rqbc2.dqMENee1gad zm(\ls/|:0"uSb4f~RZ"Cs#9GuȢEq7D9ʕ1be [8JʴaTVta/dod/ 7CEdc cz0Ux_.0XfOmR/ޖ6lFOmTQ|V!(p CkgnX6ܛI*Zh$DH:᷽71Aij(cM ͥTW#n|Ȍit .7y:f_7gg;NY=j6 c~RYz3q>x V4Gc0RT|]W.ytcԥǡ3D ن.#!sIz~HF VFV Z@fmsq BK;l*WE}XLy\:KU[@w/ZA]$-qh/NaK^8>*hQV'GR$FsĕOPƬ*zi 5X|k1:%m30RC&pNb6]Xv GrdTS K4gbJf."f1=NV3 h ƵRӍONpNYyտE$SzU^0F57LH=ZGZv?]%AL)S%%Ld$O>׻Pm, 6vZN,+Q]BGcKsnZ8*tS;0Ti1Шh iVj^H.n&TP/2iheŇ"jU9=^`Fĩ#Ƃ5%ԡ5;xbYwc=[SKVeɀB|4"o<ߨCñZ0sUTH%db4)bE)XԬ) <}^D>)HN}.,ZzX:}'wGϋt!@%ޢV231-y뤲Ks 3E\ĝa'OA(R1& 4w}t'|o_1,|3Q"wR =ⱨ!0BL%\Jr:_bZ'v v:jUH3쐼|@ӘAsLPyf3UM{Ѳ7J1B/o/a;TsnϿ&m4䬘'2ѵe5S\Sb^3AjYDaPs4貔jYI]=Rs?+l˖Q;"^Wo+$AB ZI+yK~K-A|-y7}JL5n^.)x=~r92sVi}ԯ?6 Fop̦Hwb$dh<1'SՀE):6x/w8+a-4K+kF-;4d@xH?I^~n7{]Yrq/pկo8ޗ|P= r$Aakڜrg-GB, Jł!ʰL{ElQ56WCM}6|#iG-TzC @i;5FSԟjpG-%RʶF<7䐹Y֭8Z^BW\JŪ+7Z LLaO4xmLwW-LV\_ 2v~M_'Uܗ#MD(HE& ,6)]eS_ GS<;q[($]YFz)(rӟ0GC'3Yi Ͼ\bqpa-&͆aܛcell4%F|  _WoV;{GAajq.l~Q|QmLm:au&n6h$5yC!> ~V3Rmgyh$:_ŔojKִiH%x(qPBX U2EѿTy*̱V4wQ BJ،P2[^0V+V H:ܾ̭4^$&LŇF@̷bi?Х% \+ gf3hC 茜\foZΫn|cygdNѣI$4X>˟꫐ TGFNa#=wB{O,pk|w90q-`S:L,dp߀ Loo!f)C&-AcрǪ~}(qɠ wl-Q ɛ+hPL8tMdAoŃ)nxLVds!0W)w}Ɉ ÄI1:` U1LP%Y'k5mjhmrGՕ~ܚ%*@dDSD\0!TΒ(xFlT yOPw;Dw̵#xŸYe#v0[Q+Sx^s6(||hn;Kͧʇ #+NW$@ Nhq2|>.ĨG'är뻚Bf_ujD dQC)52CG\GD:)( _ MrjHe+mJDe$֭`P+Zܗ%tI8Uh'+eW*aX|DvrX'xۈj4f^<餢?%/Gk;8j5&Na xҵ&XU5Z;|wA*PCݯmHz`ߟ.0KWoy`iu%Oe)Үi׷2^:78*\"!+/,W+:G۠䂿f8ȱa]fM(׊!3:!eŏ}XҜhYT518'*+MxS3c(Xuif>OG[NᘘJ+Y7vaInz ђ{-ӊ=6[5_GDװNpʥ( 0놨tPMWӘdbK<작P)J`41IT޲V1ĿYH 8}1.Ǻ/([)^y"sX/V Xoԩs 3vicUe#TG$BC Ŝ'/m"Hs7?awn}\ivϴ7Vp҆c'IIU@@,t@/RZ)x7F' 튣>M<' CAB>yiܟ~#8!ww|ǞuzJ+I%,5eTqQoA6#DWF$yKѰ:*<с ]fm}!c9]ׁfy I~2'kfJ.'cyǾbXʇBk07MK#N}bd| n2M{CX,sb0M0b՜ir"5CR9~Dsyw3~exѦd.r2*j$ծ搞X= 9P`eS:39w4g ^3vSE&fxLv1-cW^Hyu`?'D ϿAE# A$0T;Fr?MBaeһ2@q 1(uP1?Ůڄʜ =Un akPS# ,:XnoT|zic ^'"v_*XZF8"lO}+l+.OtGFn'tZIn2?϶a-?16PmT):k"ŝ)Dt'[ߊ@ƥ| {r`{T-0Wp%^5W2& R0]Bf:s/kwwd&bApއEn=rp(AQb!a^3b5[y/W7T/IRF #W I W}[š} o>;x# &aGh7 dS<tO,72,ω?nsth/:LV6Nxecubv'vr9CHQ]5\0b$+Rլ D26m0J^טLWh;!-VKZPzz"O01Yω܉A6%F!IM*97\G}`A0{1H 0G֡UC_P\g-pĽ쪩,ok73I%̦ =ېxUSNKc.B³- `QY})?ڸSpBC8ca0]1"X.,3DVjD 0g@Z?W(VL^zckK~+\'q=#ZXƠ&37㚤At=C;(:?qX`d~""$j;AgP%9/hz@~{/뒝* [T|#ng_![*@rj8 Rh>3Ol:Ń'7Nj-jBmÄe0OYa3d~- tu԰|E)XVOiq6$g%GUDr2ly\-e)DYwSڎi+TgO; QBQQ j>Nh#!~6IX(%%.ڳ߉G4iz q,ěHY$R`SD3 w9r~_PN DX5Yq(vUj)gYga+;?i}NףsM&y5_O"^ 6@*3T9f\ͽVsEzVt\~2_ΙZ`\Я5qȽ'B-OJ2ipt0O:_G+gd/-6Pȓ{I$sl"@]M=6($0#{aa&|~TUOqHLzOq#mɝG[\plwVb~Y6*8.S嫛QSF-i~gʡe!L\IUbx9_wؿ˯ӼH`P1]kD 0 .% fjBܭsۙ[ &ުNŒf_V!EntMwr)&&uvb?Td'_g?h[u\QJ+yzҡU*):sm< q6.bYlC!e]ƛN t&X᣿?yhks‡~uY͐Qs ,/J@)(!6h;@/ O|3` :D+˝5sfA1`Tѿ86QVk<63L !("$ 2 JO*c'_*<-m-E:@it\{G.Cx gBar :sbI;Z䖌n {q)%98e%]r!gh͙Y4L|xưRi3h0σXe3 I}/.omEDQ??OhoYTGIBq(l uq:]<\́9b[V*Ԣ>~(7T3SЎb9*8Uxf|?;Hε._0\ qAowMI3; ԙԿh1&6TE+g;l8q&:;0?:Qs^u@dYeze74TMr9M+<|."tІB7AA8p`*EdL\^ڔmE6=lI3 $"X?ؒ22nW!J4#1jk@2 A_$PTع' IkYt(UW֝͵4ϱ:GLN2{;i"sMNEbda5j`醹Ip\ I~u~Ԋz7V=3-Z9ۗc !pSv ݬEqdOTLihKv|ʶOVPڀs8.*LVLfO ty#XwkroÈqGFiUPZͭ58GZRJe!/Jgt73f[KcdaIF:. D˹x[O`t0#V΍i"8!i}Jj(xgn^v/PV:_2?c͜[X9!O{{6:͠I߹;⋊e_{IB4;YflQ a&>/UoQq0+Ӧ 쏈]3,u:˥ @'ըtM(H=(h^K.VC9)__+k2|dČwn! V[gPs,C kqwSa NU6*K_m#3vQ$w6TXv~2u.Ѯ`oH.2w:c` H0@c>?M@#llU-vgмyR\*,2|u PśOB a׋;r ,-DJ=x3=)U)5E IY F "m`)VȉqW+qj^Rqs03M?RﰢZun5\G:fHAׂ%JG?YaK!zFd l᛺|nO2vx* `%xlU"AUT0Ɖ)d&Uyғ[WN~"v_PD\#mwDρAyF宎7M ӽ_zSbOFG (e.&3,19뮏 %P=7,vy Ú"cjN|9p=ō$ 7̶ =,X/'O'}\#˿)VfŔߵ|HJLrwE!K.`L8`=J|dӢ7 k!2PƐ<"ʌ_lZ$i+fDgf! ]_cAۈ=m_KeRPabM7TmK:lj;Q;בyp'1$#tkyt|WxL}i2>hpnD1U=jԂTアR38FԼ0*ITƢtM*@Egȋ"@Dz3jN~j~-kj,EȣbM%)ދO ΁Opc ?NVڲ 9M5e䕦U{o ,L'iVz4Rlj}Vktdtjn{;GP[ ̒wu˽GAq*d#:(yp6S?hM|]h]jzTJW_AĶ}x) bvQcG1b]bMd(sd\ -_53 A' +鉛]OO\N~;jlq{ ׄROiHBCE&I]4h[gg q Oq b@Lyㇱ㓍bKAM{K*ibSԣ݈D[TnFmّg:AX3ēl5|$blNUkHB?J<%1N䬙:eey'sr, (Nt VixT?YZR;Kڎ%u:O2_h% تã|TY =#nDrcK尪 T)P~&d_4kP oA}\Bpgi H/ӇP =x[cV 8 Oj9{!4 Uj ]˯9xX%se) P јE2oE"[n4b>xyVP&:+vC25"F`&5O3mۇҦcOFt .ҧYgSU5rYn3EM)Yv .%A\B/d.^]OL_<`H*sPLX+” MzoqE[V77 *q+u ]6۠(GqFͰQ_j7g*bcV7ޫ-y\rBͅOG7n]sjIUKVS/ 3cpӼ4ʳɷRhrGC>Qk]7h?>UF'/4+J NFѭH!cҀGBtV*Ov\gA0me3)^!A+$tS;jS.~2M[rǜ ^I*{.pwQk|7u#yo.<\8,nJ,$\}Qta -)<քB'vþKk_.{O;`.zv= Ђ5WJӃjZe5cJ8ݓ>ƥy[ʳxD*"TfEޯOt[' 8|NH U〠1 ޽csCodR-X,P{]cMLOGEsT'hQ$j9#sjXӴ BIHQqct|𳤘"QhG)0LAo^6{n7 ~H7zkgEȐz=쯭Ѻʀ?ʘPۿIkJ%7a";ӟm[ĸ'ZMpj~?먉OWX,foXq=:#31Fc Smye8UBfc{8=VNv\oYoDLȵzWL3FY|%p;:E$pIJv>#8#rgYV-ɴ0.uY5rM_jp\.TXU%K jXtkj֥({:ܑL;f˹5dotKz%Ȥ IC08.ElQV@7o\*3c+Ĝ' 1WhlN_i[&ht" ]1s掠G~ɱ[KGV$6WdaN^]`R䡺iwb ϟ$#nx/O#5kUt 85z?8VtLW(ⶠ)-&u\lH&#߱M8d7w%RH -%v(LXu\%? eA: #0@]`ڛ~@dvhF.|¶ %7qn &' {r!mw| 琫 ՙ ck}>nE*rYVĩJN!3K: 1>%ڧXrVg'ϸPfp@jom3()ZFM/@>IO-RDm58?X#5jR.R[]E!PKCڠ`$P_թj [tEϨB}=k`:{"w=!Կ6;%Β{f yX!ϵ?\s2vy>(`'#DK=}u$n"j\3UsKA -!n 礼X[|FS\2%6=rPs.߷\ɢԗ-,( ЁO/HBT5rjxo1"pK7E+ҠQyxԚ#ju>RG&/fbRnW.mfWJ}פDQcߊ[U{#ƶWyPKпmW1pFv$R,|SO&޼Tdpݙ>uL)z/7'ُ:d+x.U3\F _N2KaO֪0U63"~|'o9B7U&0c9ߟvᬽ yH:Ww9*6]6g7U6ssO{v6!O.Gw"'et2Mҷay|.A}sMlJM͗Ypljȟ1ND[]2DRbfߵ^±Q8' J_Ȋ3_w9_?q"f˂{ŻIe.1+Y\Hͫ3I/=M*wi4UGZYGFuKؐmDRL#:Y9Nנ:H>ف圝!D>xVe#Vvn\DWSvLW粒4}4ٕ'a*)Pǜ'Bs`qkR fʝow@>A&YgT7+U)75IsYT1vO$b{K:Let=-XR@d |罻T/fޖXsz0l߰xY;jn^= Mbjk1R*m0i"hӂD8 "TUjc {jH4?thXLe(.[XQyt,P>R[cajq+s|3~)UuRq߈JG NCy%u;[!X1ůN@}@jLBuwiFgL\X" 7[}̱/& qqF ܍qH gWy?S/NC*Z^]]g|OQ R`4s D(Rl!"IJ)J)y$<$%4`ol\YΟuDINyv9]ًJ݄= v# *"m5V۴%>YQP6%Wt a;O&zK5$5mSLX15ٴQ6IVn:AOA 4}<*0D}$)(Mv(.ټɕqasgY1{Ag~EA%_EX68tPwetqnxLlut3;`S#ԦSK9SH"ϼe54f ޶<2gZ(qvP0Ω:f 0{$mv@r+.an_A9ʜW脡SK=cgӄ+6cB}J+ q ujR GNYZ|1Y6n-@fk\O'-·b [ -J=e}f<*0͕p:;( kixϭ E& g[H\8k!Q\Ggg+kt==XI_\e {q ~2\un$6n0ԃK*ZB~ታ9gO}^ ӇDe@Ru=:M|IePyOޛi$xt=tu9qGC?&qlktfD= ـ X0YE Lx\jj4r7K{'rs9o6{hi* _IdJ Gi^j _n={36.k/ V?mBaa9t:7qfH6_p'6 /]tʑVT:'Qŋ.K<{^ -H@RCDނD6e`aq$24Tw4уY$5WnܒP pT濣̕ar[n.|ƳoK6JGCp5=b"r49y`"ed{݈He`Zռoos'Wnjk QFto ˤ[3Yk1pk9&;(+0gYFyhkN%t! K[̥3eK /P;\0ĢI"J`)^zɲN9Gb\V#с5aX5ִP h>rK %D&WAw/Id*٠eQI^<|r r?w?T] q jPI!( 0C[4G^? kG;JE#}P*Ƈ·*ڸBUi[G%=7ě)t5[qIvAHxYp[Ϲn(1 )oZȥtݿi`b;i5EUa>B~S_)cT0SA#ݴ~f2gӞNzv؇L^qX0nw^^jzQXu'&ԾTA#r_+٘0gML#RZvn+qԓ d)zJD4;XʅTFCV%?ק?:ʤ#{-G`.RD۠C֧j2C*蘇jHdlk^(̪R+s}|OpȌ+!%T='ŷQe8-Z orV*UՆ9} tkt8rD-pbP/QD _PHگZU UMYj {EYrϵqp~w ۳D, B摻DMT[6%!Egқڳ4)_[pSߟǕA:1)vm`M}`OoN'~mʩ5>-ЉVhO`NpVXĂ'n%Ęi{DIVLOjV1mɋqd 1Cg[}~[z.AQP(/rV7 avfP`+ e=-8+D0H wnL- N郛ܣsM;#83'hо_E &RDo#ū+SeN;-V|>jA  p[ ޭ>NE#Lb(2K1Oq KSQ^%.K1;oO/.g%^ 2+Tec\3]Jahku6/u_ќ}Α 8E8DĕuyɁ&rtHZ #6,F@\FE7m$|&cJvvM'}I)(ލ,.xPhSrص=hIӯMaD#oNstPqMEZ̆7Vv(55"rh1ﲳDR |f#cԯJGJX4;UO|Wd;|݋r8"}MҊaܓT'B0T0|=?,$o$9%/ :`͘0Vؾkq{!F~4l؈TVd]5|N #3'JVn2:VX\ЇPgw >G?I7i#ie F!X2KN 6{i5/Am|UN]xضlGok0.ؘ¡zFDQٗ*@: s+ :n;+#QE?gA uf+Xӽax 3cOzDRC`.ZU{(|<T .oX!+Hx[+ITc9?7OXep<@rpm2 fG9uĸź#07/C+(dh׋"~+ޝ9q/"sew1+? T(WdEIY(<04q%qk?MѵEDS;Zk%1(^Qˆ!sDol sc њVkPYgf;mu ]7l "cv\~H6Q5$75zOMNqRqqrihL@lHS(JP\ ֶjl.g N LQU娄#Gzm7xrQ "cQ ֵiұ2"[{\Zu%|VC}iNQ|jN`4q5UطkVѹB%ރI*ګu*Iց'PHWƽ}[4QG|9%*0{nrVFOjE7=ȽQGྉR .cY' 18TsFg(4-N/"H:Q8%SM (MB\S^@&pU@U+M{< bF=yK2YCtCqSMP5DWi 5\49trsq_y˲PxN Gsr||H@sP{BKo^LL[_ĭH;0$x Ae5id,2+x"7G]\zkD~ڂ__)oc73t[*@iɛY?(Coq8s#C,"m#,oG'%whP)/6#hQ3K5ٿ"R,I S';vfO5Xc 67T~ǫJkҦУlENXFZQkQtsZhT+Z+SN[qo:jxh&L86I@wiXѽuTl'yOB\.ZRotot eNdqb@9 bA.nIO t>L"Duď`7ug3RCy'A@ZSR$uh0z 1-0>1/xz%Mdv>^BhUNEQxbq)Ό'_dluoP"pz]k(nt6|Zh ,o(-QENQ.#X`Bj[ f.#_hE`M{1iqb"3=,[DT1ķϛ?{D[`6m O5a vS$# *={Lu4V'cLt$h~Q@hZtk76k[-4LDׯ F(/4h ?su0J'զѱqth0L^`EitC(e>uy )P*Uc 8޸Sr{!.Nk1Waђ6>vpi?%QoAL6eə̿! I="-gmCH[ ˜MS-Jt`r27Af2BZzo;\$%q4Pq:L!w]4+K ?/N@h5D:2A^%A.(:'~ZQ}{-:$r̪NT(KQܝi\:4ԍ`r=wDgԒC2MG2rN.k~8&w9ZLyB(+= r=sNS 3F&cpkO QMĎj۷8oTh:B=Mht47 l YE֔}L;o^ӥ=j!}V|W_#OFe]2?R$`QwN88B8|,߻;q< ,X${i w-<mejpsɝOCpzA{*v=L\@0NKPV^h]/M jA_..(OT1LT 2wmE2tCחPR4iM$GdWbz}ȊB'`bz{$TJگtVF:n"G8Yl`s/׈Ze\^ykixu'!jjIx(YuC# le7!-,M+:Z&0w9 X.ɏh]t=e/y9AVթqspXZ[|LXHАcxK )"QcKEDz*UAR8FNƂîr6 a./ٜ=*:Kf"˭E!"_!=(~dҞF+Ō&6BIb&YG MkM 磛̑2˳Vq,T"Y8rMaBi+ Xބ~YdKǨAUZuo7y5b,B%YmՍuP4(c=tii0E.=Ai #Q Mu% Jҥ>!)w$ Hs:k[ve F@+3tނ%.A۪:bԩA;2m\be$[ AFu /`(x[مDq8, Hx)*%RL#c̆(xƤ"<)6M Q]Hv C*NBr/33 b ~P;2˔(v8>S B񸫜niemab=8yYsKP Bh|8jifΗ6bv%'cAXu!Vm0OS6P?yS!׫ K~@71%Ef1_AK|Ř\HţdR QQFhKdľ)6?1cKeY\TOp-8zUOl6Ta0 KSwEB11i$T`[Ʈծfȧ#Ho&"XW+b5ysXHgtzGa6H{:*4Y; 3k$dA") az#ݲQt#Sj!l4JpGkV+ƙtFi-Ocd xɆWş%do,kT◢aN\-߉uKܺ#U/~7F_? O y#QՄR0`2'DBg4xt*;Ohl1Xs4C-|'ɳ<2Cܽs x2HY#fcM_w^|>~n8'B!xJ5"]3N`آvʦ0}\2!b<7& ~\ʒ͊Pf; G[F/r[`Q~jU/C?7$3՗b}fAIƨPl7@q, Ȅ;@]*$MZPGy+% ?7axI:?uvǺ̊^2ݯ,ȇ̙F_)+6V0؞S+6nꅛ:t C+!|i(n2Y!򵋪W5SHxE:Pc淊&(}.>A;)" \w˷oꣀ::fLBYz%StjE ֟@~oOSW 9|# ]?(Oϑu?1d8[|v guĞ 9 aaM<jT)藭ġx87HoyTpyjfh!,}u `.k㓨$]q6jOڤ=]VU%0k9U)/,DRjXIOESjy33@p3稜ˬ.+ε\ A%m{x-*AS% J^pcreGt 6@x':+tXi%xX݋UR~]n47T+"ILi9xԒdiv!ʩB {zu󰸢 mʫ=툋D.u~rK iy%26sy (+L9"uG1TTnGk¶iN{h[ [i-?:ܙj,Բ'g:x"W7gAHUqd!] n9N<7U !־r;5H^Q#voN$`> 4d'M:jE1+p>]!Oit֧bF 3n]TͩФ HiEW NGU'NFU xhd .c $%Jhe$J"Ɓ BPUU@ށ&b(%l{V#@ AmJ*MnOo ZP!&tDߵOkD8 zI(kiû\KGAСj>F4<.U4&~ETTUM 9 TFQa(v(ДIn ROqLjCsHIN|j驏_͝Ç ϔ/Pv?iZw~Wx_䲣|P;|};|c%< 9&A׽7mR݁:B|uXj/N~<`/H~t` u9[- ,ְ&9(]|wpަvG3F;(AhɐtK>]+MLM$BXylmpkGLLDc^7^.Fb5ڦ<[pab@8&8R~x6&!WL~\!pO>V7 ~L[f`ٸVqZ~~3R[|?ݶ*fcXHILڟP2|!:AΎX2g2HgrZA Vg_}ACpAp\MEe1s>K4DKPD꧰,եJ! 5 jY;pdbHqicB?.~_bxASzsRfCn%-~3 wΡnNCƧ\1]t{ MڈUE^!MN }rޓHbV d[]&8N5=d("B&Eu?Q-gVUؠiY4(33RFF)QkZj2k F^|v.$!)d8dG;-#JH H7KoRVSOcZcEʸ:8NJgƃeRH#7j%ÔE}iUq>?j̈6sοdMSCne' v귚icqdi3ͩ8UU{%3OA C4R(K͈y%es#:\b@8uU'a w 䍗)bgҭNsZ/Ł1/ =IhB vL`hj ?3]&d.grGA )G R6&ͯ? }LZ%ul RUR%70 2!#٬gwqŔ }K_L V6LFK.Tֿln-:aVäݚ4rNRzWضjkP;?/>?F~#Y\hrN\/E9gkG,I T29gY)NɜYNqŀt[$[H':BJ }#WMBa&/*-l\+8d7{ѷg e3 y}g$p@bD{auɨyΗ:.RTJg{Axf/|GmÄ}: áP0[UQeY9|!_r) Hm(גbh岽y8U5=Uu:uý3Y=k'~fB'D`|UU3B]_s_3qp]>.bWhyAMhx`WvrJ/pJqu .@zb撼 9 JUkn &z)Ul'PJ^k[[#m'yuӓG* BT#yjd |=yL* /@܊[vb#@Wdk<P]Y`i?~0c64(NƆvmY!I ΧdkQ|)%/Tp<(C*:U[#5տ=ܴ@|my# zmdMr}g w0{MrCdQZ_dZ~6{i3Tvj([Ve}3ݰ#.KI3v>,e`g yA*TT]eɣoonB6fgWYN^vaKE = ֍/nwmP<tpLɖ )0\ 9]͇QRuT*ǻ!NVt6*xV՝\-GmG }®VR'RM<΀ƹ^T 0.ФM-na$ 5u <[71F4m:[Nm'z. b|Dy|MI; [7a=.(z)'"Sa\ɊRܚLm.ntP M"ɚi*Îda]04S;fs^il.A]%ǔ*Zlݹ.%d- 4 ^} {ݮ(h^qrabKJWVƊd*@hHMqJs/C]M|2y0ѯ &Ey罊zq mY16ڜ%.4kM#CՖetD& .'Mlj_9zHQ̬(XX]O1 ", Hh*) T7֖m77kVZ6Sgv@@Qf'@r+0e_np5LZ$HvqD5@LE-Qy)VCwC%&h(bJH2Z֕9F&)?P1{^Ǿ.G٘'SV6)dHpVcV Ŭ})ECS&+, ɍ;>+ [ e3;ؒPEW#t%,>c E ^ l<홀jqႸ<۔C1T,"]I(n+F\eRA}Ʊ >I7y 姕6G:GSREQ OdLzP-LK74 `tݜ2v V<չ5Bnp, ^sZ Tq2/{wjsZK\~XVb!ZaorXbM&l4Lо T jF# w$$&ᢁj4="8aJtԤ5HwdA5h^׶O}{n )wﭛtÛ6vڣA 7>l(ߛUɎ9 _C;7PHrMgqeE,P 5G1(|ڞX<͆ncOϞƒ'wumxzLw8gvWv;{TBd/OB5!nąvq!Gܡᮩs@(dVmZ(hGABQ~# O:4ӺL5LUY5'[3>B Kmz<s5%xttwkym{ H1N=:d}b4]֤ߍtba @O(3! GS>>leV_.@Cdr›S׀˲|yG kĐ{5r 0^`C8T"jݩ5 O|AP:~u '[Lu0QB=Xx )P%\3DCU S ̠=zJ=^ջ F? i`WOxsylG:{-4*1c% ,L2SzQ*$|PUT:ўX柽=I z)$FդZ vd0Bs<iDK Gfbeh>>VKuĄrS#X$iTiƠ@'c?-e]ֳTLc2 uz_/XV?m!U# _h,%u~JjajYdncVg?fo8lJ)fEj$ .7I}YnjkaucԔ_=_B+ >Ź\(V[8VF=hq7ȮI̎.h(@^nu]- em?TAIB~maYn>,ۑuGe7_"V-2*2\0<:}VTMl2ԥ"7ƻĿ2.^t؞g71;PIQZC\ >a ;OZ.rxC츓TW2hjhJ= O_+L6# lʻ5@gnCt.mm>Mn73yӅ&31_so'eu! Du0nm/ռNnWLI(2|%"5Ҩ9IߣT)9 *MrfC=7+1#Ddy*\'.X"N—EȐ8*Fy{,*/Iy|> ><O8/|#{L%ͼ)2yy'([TK'-$t}NS.t0'KDaKЇPCZI:D$`N:7tI(nc.҉aMkN3 SADy}U׈B2smIS]S!.ghPF4tXq`I˙Oj`[m\K r~R-|)k+HfC27S4 g]gh̕AR?jL )mr@MzQ܆!vR1a1zD* 3 Xݷ NY.n$:,(ҏuɓNf*$,]}=Ɤ MY%)<͠=̋}Q!NsXf./S$0< *i/)#q9 Y=G8Z_/ƫ?m1M^D<0zl΍|њXR7X XyugCuݛû؞4DRdM_8ߤ(oWjM'0Aֺ"&*_{\ĬA `MAIPlGB4&VO#<숊mc[hFBͤJb=3jP&ȭ,۝;CftT5oe{$BT<%?S1㶰y2CB5-E)tKN sdv%iwoH[E9u{㇪GI{^Gs+@KD_C{Zվ5 jܣ/q? lY9ɝF/[77xC9V}`ɍƄ朊Qq@IJB[Sݨ࢚0'l?m12"}eɮg%)eb!T76 .a{x[;9@SRhK3Xf*Q;۔1Ç-}$L|qUI9kBgmG܅y7pvlahyDa)tV|߸n rgi%evuJZB ,jZrq8/pgU)3m>6AQ&\X9ʥxL֘םW_M ٦3M;2  >Oz&͔`tnk1sۆI_f [XNE:$aWZs!"%i28S`6vN8k:ՂWGX^ t7`8K3 UϵU ATvn$g?|9Je'$^HcHW1G\;9D7)O"dc zhHm%̜Uԭ&!PQS YQY]$w^ ^SC u᥆ڙ8si8ŎAF,[o> IpEJPh]Zcݺ#i@OH~Vᗣsmȃfߝ -A9Tn$Z|&}g+K%;5 ܛ˫SWG}ޟX#ja39p fJOIrf{:$C[Jsߚua~o7WP: kQe.^sp:q!&_{>ա$OQBOf#mm+z2X~43\U&9=l 5n,chs:2k dZ @0޳s.bNe@H6XsI]]l{5̈FןQLD}4g E'XC 6-qkjIy.hlo} Zf/FdwZgywNuȤڙ?7>a`:@m?IY7o-E*`ꤴ cY.7]]V*%uW6'~A`e ThߍՓfgj()`ٲfdtǁ7(/'Q'ޜt3da@BV֍U*^T0"#(K(ОgF. +b9"d=96E%BNg 1~>~ eNX^ ]uBox Y֌K[]^0=>,i1oQh Zh7r6[ZM|#" i~*KtXpC߇,mEmߒg&mie]62d4#_gOȼԏ k d~_^ΕS0RI35Xho) XOM k36mX$ d!}gQ}5TB~YYv,4|I0c$ZbJen.W],z LO}:A?ej̖q YBOWC9gG ]j:.xAnM+l8hVQk <r֠#&! 4bL+rwqLEnkѥ3[B%~$X \pͭ`fWc8ex19Yd#gN} 5mJ×Hoe2zKY`p2y!ߴѨj_WBqG8x.MlgfUY o4Ὑ9-/'uƺ&"VѲ/5wqFE3|չ4eȇ㋨`gZ mh2xlu #piĉ-oՈ]&e^J-'zɄo—{i;5vˋsD^y,uz Z&6cKCr39 qZu3 Uud60Fڣ2:ܗAe6]N$`J#VEL/$y!Xw֋ƺQڮu1l#&V ||eMK+a$#SOY}YВvByDxJ*޲L6Lm iUE 6Q jx$8B R`S|K4e}o1[ہR8h(P8J(*@|֞]s#.r'?Ro Ӹjmaϊ1= ZͰ~Aߢ7&V?=Z! UUhup>\K14Ҝ֙/Xl5[. ;2itξ'k/364]g TQϗO>zKA^$ ϳ^:z=Fn~;nWVA^o flN'7n3Ftx}}֑1krljEPxxnيC۔Bh wYJJ%B 4B,42FԖz/̇p!{?"y@qHE!~%GE@ա~RJ $Lmro:"(f2+3rUPh./Y6ʼnVH,oC- 'P S6k7a@ )v6b?&|MS8La2?05'6R/ց2@tѫwn&)W rQ[pxؿUw+lSYJ( aPM:ި᜼+uo^F;Z6 ̏:RG QyduK .C.d j-Ʉ&%i2-) 8+ɞMo2(ĺ>W ^YmOlۅZv-\{C9pȃcYǯlړ!rV(uK'֚! Xgǻ[60leߠPQqiWሼ?FUq&UluRȻaʢ3!ٳ\DKOsj;a L ddҌs٤k(܌#Ϥg<Ÿ@6.j/Jy> ?էy_7B-돎zvnNK*ql`ԯiJJퟭ킞ҮBF-qV~1$Iy H?GK XN_n|!Z_;"+ػ}>mkR'F)Kbb 4XðZyR !j [Y1C|11փc8ܪu+/^~j0 t^{ΖU*x, x73꩗߬o3vVSdҗ m=l@M/{:?[_-<]10-qW.r2zҕjJ rrpd0q"^wZA"M4 j+b 0p)C MSc#*GE#ڸ֭ιg$%GO?u5iM!עpi!9\, Êb\)rp>/vd_N1]>.T#96.TCg"SD3ć[h(D9{tb'㟲5J<8LW4OU ؏7ӹ}r2:1Pgb<3Cz_k qHb7cHe͚;y6g(gf"7n{ܺ$1وۗT2Dȩ zϊg1 XyaLp̉5jQ$ɪf7USV9@"{t|`ehHg\OJݣ3ͥyTޝ]L@`:"Qf,wy-_O(|dž!#9=6!BER?b|7W+P0`TzC'D03kzw4ɳ҄x9NFּ]}%K(v0gj#<-)LF%vߙc8s0[V>~b:OI؆y:B0[BG"h3Y59_U$w G\Fu>vƟb {DԉXHy`<-m[p§f]մc܅p0>[>>%\x>m{2p^sr/ p3UАi|.6d.J,P4CHMT)qLUr] V/C Iƶ ܶq͡Oʂh, '3CVXY-35 %ȵaYl{ G}ήrNQ`[3Wk\= w]F:# U]2E{0"ej2v&XPlr@lI&8le#vUK ŕQ6iX6!&!óf jͶolD>IB@ R,*J:~ХPqpyLh(W4ehB14*ri6:AJɛ aߦ?֐0́|oxDbL,B/fԾ?Vt ȃ%< 2A (0a$' D W^k{|얪w cV42毎Q/.E.Z"bc)و .9@ȵ -c=Hd^q!g5,jQnm+=S{w?Uop8+UeMe9]$<ճh[ J'kޢiHk!=LC:kV /f`Kp c%X:a={aK1d~v3iEYhí%{FK_,t4bK F򢏑T "@KãVDex,T/ ZgAޱ nVԖ$ኰpWZ^t#:{ `06 J v/By7D^ Q[t:$W| i ̛{q!%ٸVVB@[^ i!tsq|~:=[t?zE{3ƷU}hi$vLn_P@ioS߈++*WB9l@l jKkAQ$ե" TlZEBvQ'O mAdmbgrIM@p)xVoi&-;tg lqtou1(i7#cS}dq8,B7Z:Zj@䯜}qi/IҺiH Fރ._3.*;&UC DEJc{ mjٵ1eEH@4UKn҆nwzέ lm86AK"K9^*\2wvb[T8$?7m&A S4@X dhMrjLR;@j yclh/ݺ)7D!岄 ܋T||]"9rH=r_´ۚ:EDOR1᎑ K.KWߚlx@2YX^ȫIGP o՝ pԧfks9_uh`_]UTf_>n ;EXBx9m*ш ?_nQ1KSseɫA,iY_ARY\m}6ns>h-ߞaFr(?8iNd-`'M[dC-gn ML rs6S XdJRj !.$}şzUtz8+(R%l e8)DZFeFM?oxq>nȢ?OlQ?[;1|.2-ÝXvFQ8 ,@zBre?(l !RΣ#L7aQ6rV-׮/7TR9\)ԄH1VON> N/6qm>FOi5!xK9 QёDT' G{A&Xk 8ljyuŽ&v SJ;2t KEhQT'N:SUBI#/J(ʝG0I8?^t[\؟'Y8-5O+jj˼>]z$5%9\{䯦O|8EIgQ'I`@DM>pB[8pvg@e[p`T@q"oㅏބ^SC{ {"U*͡9"up8d M s*3wDۇ;ng8gL"g,~MB_<.+^c35 ꇭV s6qfG$$#&s%YeǠb fkGGO"hP;5 S+Nn;}ѩ r]#6a]C<봻=A@#aw6'D-<Ymu|ChMST׷ETe,4$V;#3cfcSMAI+mijk`?ꊺ2PvId)l6`䈱 , ،C6o>=mYGo!6vЄoU ~9z-W!W)]dQ/0- 7}Ik:,W2ǖ @ 'օ3 @LSNffˇGvH$qƌ$@|CcmqѨWMxT~ [h dlJHug9!xHpS"E+h܁yXxECP;uIϹ?Ў$f;.t/GRw 7\QKj9i2~Px6P[=Ly3He촲oVYC/b,Ζ9҉Om֠%\źFܡ-|<o55 O̘N2cټnb8D$/wBJzK}G)` Ц w I1.zxk*#i9ͺD+}A~Q2+0}È:m0:=81膙L/j-ĕA)`Nţ$[EhFJȲ0H]Rw(A O3t[Em^7nXU},rN4åE :(AWaD)Ѱ8i7 t[y.hD QXl + ,x?]%e4.lMs?#@z-݊Tm \ +KJJ}?SVhZ3-x^70^Q |cpa * A?l:?+XdtRcJ1kA`~Xn yixoF&YUN,t =͝HFC|cѱ AD< D3E xGUɒͷYr5dͳVmJьbFNPzaBۓ,-Nd]X_j^]vV2]*)\0yyK((kF†{֚^np:}Iu4I6ξCq _Yݑ\ 7%K; ȧgCwRfr y(?N":m;\&d*gӹe]Yadڍqhe)P2g]~ɮgQq;9h92D2vjA|X^SdCr0*;;2ASd0Sϸ:ܬ$0?myt$8pqg2ɡضn mrhI57?.}wjr3YRoRk82MEt[:UV oiƅf{oٙovjxT+3V倨mmfXu0ٲb*pwJxFv!k3+ ~R>1+g׆V9@^3}6+5BƶǏV),acFcU*^F'`4"MFP F*E(SEoXnON'$Frt]'{:R!eb1,KoG]$IƳ,2x.J\qԂB 7bH4$zKPz//!9WH6ēȬ5r]0dsfpY4[c@KV1l#aprT/B IA\b3wrZB8w#"zUP8R 9we+92V|ݹSB{}.V \4UZChT\g1(:IH&eG%))WqNTnkÐ5lx%L3sY)ذTk[٪m^Yу0JICuO"_ Aw=C]M)IT?)XɤL*Me=I0Ahk?օu(rl.lpڕ5`n4'k0R1) q*l. rF*ԜtE;sݖh1M׀lQ&'<%U=a$,-jgG,*`VTڹaarT:+65Z:Nøgܟ;GiP|#| uguB`+$]Ɨ6!h&csȯU a091bH![ ۼ,"vӲ&xx-NtQx;~n=TPPS l6o:G(Fɬ]m :'a 43)>P1]E,9@Hsn1 9[`ߦt8 ݆vd vvc|P/2OI` )ҽ 4JsrÞb^H$XkLo+pմt a X(Q TNimiD&}W~ V{KeRFJ_{c Pzo uSZZH3j3ȉw $]!{~Xp{ƜZ<9' %є.05󫍉e#K,cAPhI5\K{s}pF $m,AcPݹ6;hIr$ Nq)Ģru5[JNS 'n9#<"}5[~hZd=꿨bHDgy/ȴ@.SYܲZ>\gYLM c^ vDj fc6uA]r]EU"TW9`?vLU /E|ko`8%mϮ_`Vlt jMƽG]P iw /gǙ/H ).5Xq~Φf˴gȑ|CT *Z #@͍;!@(`̒8/AcD_xrB}҉!~G2HEI @A$%V#0}έfFOW0v\W &e$4?M%u۹p9;^ Ӱ$c؏Z<3SS CמhW -.*jvuhB`Ur0w [<*UXn\jF+~b=H?vKe1)-ad>ǂMN@SkJuqPzRc p`+`Kl)fxaQQgdW/_T5H/hLBzsQ\mCYqjjXX?n۸Pie冑,xk%1α}U5 `woY]e;B|wB~H\FS"oq Ziؕ`YT#j I u%CP!쯸nn>Uy#'$(z!v8(7UE !XG, (oHTCI{y]Ql?嘇0;XݎgGˮa+1|mKi(sVˎ5Lw%>zRjLa@uH5ig(@\1PA%4KjbM9:p\kdQ CPnATyWݵLSv z-!q7J#Y?2. kvn/Lt$/?@m7iNjmŃo:\O~}Vj^q4x̩(aylx'r Zi;^+U^~>dMH+;@,Fi"?tWwНL.brj-qDe3  P^ K3uY/lu 䏢Ėg{e;SBⱇP$ÓNDZ,]=˺ ߖqaE=Ar7oE_'G¤/.u'2ˈw`ߣ$Ĕ^KzՅ`9D$w2.' ɦ Xkxa ቗i*hXFi48YGXJwvs;qWDvF]v쏳U[d@Ǚ2 T5615(rů2?sJ u ֱDv8~qHRY|wak#؂"aE;Yp;E.).LZbjV!]fFGS3U!0L&Q9~^PHTENFk׏Lw]Ii^ h)139A7-(Y*)pn}nYYU\•dzn `Vkc~9;5[,($m/:WM85ZnJ`tzvW@I2ʂL$%E!oH7V*j(0јSuqfehMK zȞMycE!-1B[L:P$MZ]<L%j-Kt1@h* _U2qEK ?c|,7f~roWnSEA߷>4z=ww*?JNqCᨇ%!PrO$DbM)b[ I}tG,4$-eIlgp h@iW&\Hq֯Wr!sdݝK4V$ղ΀BQ^cw74;~D֎ % BߩoD ^ypKiEH#ƃWF$nŔ2Rwqs '5Ē'O>%1Q)Lo{ђmI$7bEq)E06TB^Om4D:LCSix> 6T ;5&Cz p}Iތ`S^țJ@$45vK!SߐJ_O*"#*3og=RTp4"d 'Ys # }EM{؇#42,|=O6֘aO3ܣ'5WN,%`!GcΕ` .dZtΠ=љx:(ceni->]y>ZyFeEz- 5P3Ȝ3 s1[xZ]$[5odv]# e[xv غ*#dN h_2YNm/FGi}} WK(7Rwd,Nёlgüh2yKlCKukƮ|֑S frcX CN"nLviʬc[q嶠0+yM ki0UV!lѸP/W5"A]D4^Yܤdhjs{˙ ЋH@0NS7jJAUc9qK= y<9с͔0 :c>'Œçڔ_ھ4 ̽rAg^ti_(UR::^Hp<+9b}s02^xcB6/_+<5Gv2R3Q*'4XwrP h@p| go[d,Q] tw` kq"dLLHQ2ٹEUq,,͙+/[bRvsԖve-GYI\NIqP۳س4C嚳6$t^MD*mSr @c+_eYA8]|Wզ= {%饯~*^]Y,Öqx J92˝% '!YG |ì} 0iԐ\( g؃Qᵱ|)&`fGXT:MjU҉f 7f&zu9pW:ON4j"h{Wf &實 N2{Pf閬VGj(^[\j+$t8'yLWZ? U ^x$>Z#Qr쨡Ԟ70/51P>GA\K| Yl{^:.*A@ n\交f r&sfY~"j y896An XrmC TaYrzL 1Q ;$p>cOWSi ]m>bDeҎS`i5&*GES 4LX 4th$d`&!XyE!i.#q)FvP즯|.W>M3l_zd_~HUyoyLѳJ5w~J/9uى[.G҆'UY֮1#*p PBƓ.w]X~Q<>Zˌ?`CgcϦTr)[*L kY2zdNl*#Q#mMvftRs t<+TdqLI^3.EM,nz:L̶4 Go$ɰrTRVNijn iHH>^0O Bͬ@c:]=b=۽!gdLהY.ʖP.e6-C{cX!+`&+tf_J>Aru Ft\ww@,ʽJM9TͣwCR]VLj0u owv>2roQ/Xk{D-{noK5H`dxtܬR?X/sfng&:7ӊ/Իݛ:zQ߰%V/d)ӷ3O62ҵ,wYP#GITʵ%uƣzQ6ޓpß HzW!>Sy31s>!`aP3o*z9w$ꔚG`%wiuSgIʍڌn`,( yW `tly> Xc<XcDʙB|D>{QQzlRURmM0˓]^M1lysJ$n]ѫ??jx2J*}P%<>9mVSZHXLH%i$$I$pT6b5/dA;R)ݐ #DO1vByPv=!g00qacȧC%VFFW85έB Ua]zJ'BoUt9sGdʸ,6+CǬ2]Y/n]=Q)$uV.E^E(q;Z,ۑͤkuǞDhD\U q;1WR~SD'1x3 MuDCod|3'xLs: ÃiŒ^,gI ]P;_孺Fȭ!zGd $4J`"s}wPۺ` Y~{ R[ׁڲx)%i3nT?ŪڅJ}bKLSճ`ewP/6 ŸKp Z]u[ǭge-k%*f;pB }ku +V2tٲ~ttAfb}l"9BD|!MMSzٜû!05U2mɊHlKK3 pZeB:+3IW<#:'[UFS I@$ 7+8*TId5#0/+;˅ξ'U.O<خ(cujAH׀sK?|gܽDCE]¶kmS@\>S,qz*V@A,Xbcm/@V$WF͑F(֡Α11Hm7>hA?ܛy:[zkk?q0$技SIy2Wͳ)G4*4n4Fhk 0"utd#(*ʃEw6X8ՓX_#Õ=:4A2Cb?CxRg$9UͲYv3Tf4jEDכ'VI]9IZ=!ўXͥ+ R6uLlYTy<^"i)t(xM"{$a:=e) ES&WT[o4k`F90_,Fޱ2x)X'- ; ب98- :jLn% BA P6{ J@̃>5J2)XPim^b'&Yng!?Hd:6:,/¨u(Pdc9(&,AWm(J)"ܾ1nRstcM,eƣi D.g^ZOKpJ @%:[UzVϺNf y7VZd bbg=O̊7| wMpf!a>^}z} u?ޟ|;zBv$OH*rvpׇ6  |sꉷ :2p׳ cV;g]s>*T-YiYb Q712 94B]@v: x̀.O:G(\{]rz73$a,1a4ptj!JP,o)ǃN/he+vll,d_jỆEX2:-r}Ȓu )w!nM`hWߥ8KxmI؂L8.UʈXlD]B24A<` o#Cu YMHvM*Zd+ G|\ qx*h\xaL <-!fצk̡ufIpMԲqZ7ÄVFb%]aL;9ʓr*{?ѻlDgj/ZOij l6R|/?B0\ 50DpNF+ڝ{"^bK:D+VDix8K{&;*+pv{cFGƬRdu>@N[B*; L55dM؛(6, ,Lc \̓kcՖTVy,v #wlJzL:Qۅ$RJPw(aLj T%QO25X&E=Y?nIC/c O6~=w$5:-.Zsٹ*KπbP}F4uLeMPv9-6PLt)Eq2垥#ϖZ>؇7cn;Ԛe!4M/PxNtrSX\{OC5!t|()qx+(&1xx|le"HfMȬ%7)pAbL~6G-2[ǞVL[p[Wm;8k4U@EZg;~5l9HRYy?'OsWGw}8Y$1lAZ"sܞaBZN)$&@%/[+Jh?N|&}{::1iJT&dž|e3{.HA՟\梽ћM`B]]Q뜥LƟDTR!gd0|h㵎֪#*T#z^@$+FBI*9ic*6)9°Zr}6W~@ vQJI?#)?ks"~&)40}~390X/k\{8'٢NCEق8/m[92eRV [Gu43ہjlXx[^YľL:f|zqp$74;T_HԠ^"]G ,C Zy*~ex2*kCNC/!l}m(Vq~C%KW6[߯ G) Ej7r=N}u%d@i +CݍA#z&j=/ڐE -2f$uד<;7\ QH 99* 3d5CnSOJ%FzUe0)M)ӋLAy_'Vqa֥2p#xb?tZHW6+d}T,P#n#GOfE=JH{G'q5m" iHl͒%:JǜXwPEr7"BfžF Ǿ}d zwy Y`,pb#qSOpE[Pboasnĺ:Ck+tA]ޅʅRaZy>X166EMLZC6@(KV\6;QC(k%A!ыLwn`{vzڛiBd:~hds|o%;V5,#LhkSѶ)3$&J+>`ICѕo/KTI|?㒞Hd}SeqTXwn|ذgqύ]V@Zܠ **I/PduXZq_>uHQR#>4ڿT.ۖfh5L|ͷiSXWܲ$ZtҫU@|  EbUj U$"%A}.agG4-omJ6ykH6ʄ[wNc;K,NX$i5D @U+ ]Uj6@:l ^Tk%Fү^j  مn'^*y;\TZ#zP;t)Xr}A u TaǞԴlm_'Ȏ專nd.CfE:y!]ee Ҹv6(B%pnnN*yv>H J1˥+M'C7&U6Ii:?7 Og0@b@ BA<.R3qŭKaJu]ڍE_yi}U?Le4lB ZxvdwsF"?l@y8p%o@.Ƒ 97/)~d^Vܐ6C:fhEM<3w e"o/ `X,G؍2B|?QcbJmܫhţ]a .CMO9гZ,55M~zDS$ 7WGM®ֶX*mӽụؗX`fUh9u8/ɿ$n/`QhfA3-TT>q3b,*e뵣s| ,> sOKkd3as(^Z+f_.&gn_lw烀ʴMqNa({AlsbRujIJj˨{#cݨsZ8?oEykdU:\da: xOƔAoIx zEUs}¡Z9%D^t]!q L8ń̘UB#? @ҳwn%6ϔ2;>D$}hKf}7NC8xXev$r @o9'B %8#V[RbYR/Kem=q2*/ƃ#iJʖ۲P Q0dF0rW/5sѓd)R>\s['Geũo]qW>ۭ#ߥ}K5ۍ'{D}j"WG 4w:ֻڇ4ZrU a-+6M_A_ ҾD4n:T# hkI8!;a?\5;hs@4s_U e5̓eΡ̮3 em . a@ ;$ia衃_JDFb`jZv`\5MMr)2R~lv!iRp76zֻ>xM\)t6Cyôr" K:b k+&@ +jXbPU@Uo1 r%$6m7u #MCGN`l%94"#߄R-*Dd[ՑԻ '>$qݨk]oBTOoSo vFA%ꪹxV2F|jfNOIfmDNZ#7J!>*@n@mQH|Q>mFm1*]b1۝ȷe*j.k _[Eҡ~kKUpV꜅g] TKesOHԧQbw"gevs'o$m4ĝ|{:Ű~?8?,ˤFn9Ew< nQm:f? }`ŨLj9gH+{L *\#{@ž/i3<]xEH.~ةr y=icTl XPtb׎/[@*̠CW`6*+Z>Xy4ژ]$x1s1YL߄K#bb$ !Ґ 8)'-&sl` ep}%d3u~"ÕH%Ec/jao+ T$?)\ӞLbSu [tAk1t@@~c`=Bb~ӹi@ۃ(Uy42 `|?Ucwv4Pޫs8gv_F6gJ|Fu8v{r4?huF eݺڊa2&zO))a0zٲ{@ce^K\UcecB=TUA/jvS1sK&@()ch_kvj"|Db;sr4ke2ƣz2d|xM;13!TbRդOۜN:v@YԓFS.Xaҿ"ɠikEpm[]̵ .صX? >td|c| @DRfN.!x+fg'[hgjjvKeLv.{'?YpscIIjzAq oj ":! S.Ah'l4Ж}p" 5jЂu?PrX7fm˟ ޺Hoa.L ¹Al"K2籯FIR_ ɯ 1aGgvqݥrGN|9p!ִ1<2OB;^ ſGm,83qS1VIXRK/H.ى|FSLBQƲoQEc O,\i Z˗zCq#MZГEp WSΒ2Rލ;qHgzcRu$dԨ7l4BҜC.Ef~=!ZF$oIšěl 0R8ᅴˠ04Zl(xdbYw1POH&!]b'N麨q"-ZaX :f)h4zeW艎D3Dqv\ <3Z}jW#:&~Y~![Rŭ,Ղ\_*Y$~vlv#=y_>&/ЪJ (B ,ndEK<<%iu&A/N[ ;⦈`XNߪҰ]Ľb>F AfZVG"ȳv֭+xTzrZlmw$-~3 3#?]<ٲTu_@%8@%2|~7FJ h}K,:hyw#\Te.TݣT4Lt*wT"2ZGYdUnT c^Ot!2 \j! ^Wяt%ž Z .FjtdaTMN6@ w.B$껠Օ8;.) F[8nL1õ'ZX8ԁҚHk{+D!S$ uS,3NmQQKVT6Azp,IEy9d4'>NP[U^|k)JvmcRVp3Ht Kڼ;yWF\̪JzmBϩ JyB.7H/CO@LvuC[/mU\Yo^1 ^~(3/z,*B`nk-.o__h dZwĴ(6mLpcy(wk>_Q,jl) aokH'k…aYqQ׿ CRҸtv'6}wC"eOy3|L-@&!+HBWaOEq_xc6 `16Oc^K (g4߯^[pNDmP^t;J4Z^SK$XTjIC8y}=|(@3X,Ȳ GlQ51H_9mʗ)$lPqIHJf=T0|ѼTIN/dQjcOXsB s;,اgߤMThڷzbIrt|6e;K}+Rta3HB%-Fk+po8]gm8.ӑ&γaYr]i ~[T(j7Q^/8K$Kx@ŻI(wHT$m-gИEXbIㄫzkx Z,w}a#+ Yf" MXi|m)e۹qrZ${:h@c G__%kߠ[or]DZ zVC X Nֵ8J,MlqlQfP.iw^S`X|J5?[SLz)EhArPxg!(*;iSS~B.@vR瓘5b.N#`X\GpNt}5"Q[&@֗ i"3Jn W?^}r*2BIR-K)jl]a~z܂zVem[= bl«ީyFZ8S1!4}@QԑCgQ؟S)LoH/.`[XFΪ 7mm%E-0VXd+_ vc)& ޶Xe0Տ e[<J<LN7M0w֞VεV ꣮}lկ=3n^|ߐ ANb\or|z2ٲCl4;P Yb/K Nsgh 'JǛ~OZ)ʳ {ZuA Jյg  Aӌ(v!/%ىH򉟅084%--yQLk>8Nuь 8]ePƁnIh<kJ 8Ge,zE ѴJX{λ|C+ 2e#[?2J' Y @d3Qٲ0zl(w@tZC{nػ9h>'g<=:|5 "&wy* /Z^<>3/!Zu/9UiK 3!'W'TjN[OO+(U?%h$b+/L.Fa8}MMN:_b׸^; t>Qj)%FiMKfb¨XF\7;;Vi`(@{vvO\ă: b5_U1mןa`MroaT3l_^/}#,Le$ff)qb;{LŽP^2pmd;:9xBd Vp AڍJ~o@M3]G\R3*o7ʿPVBHκ'w0Cb睔T b`W&J=VcIq5@+ ڴ VT'7\8ؕQ gYj nCNŔxR+S7e :QC}nbvҚjf_h~ `Ȍ0V#)Ox4(O2JOV%)QO5ȇ鄻  XG9-Q\_7I]'rv&k_bV5ZM79"V"TYl;FoKq s?Ybo9ߡMFil]$շ>h`rq%)ndMM 9VZZ/ rto .'ZAo{w4>I6òfvtI a>^$s^լl`.GNE۰xr b{@ `d/H&Mሬ`cb6skVJ)bumaVCS'qN@fS?9G6Q]4U[+B1Q&mM+oB~{V?p6W:'WV~¡mtӇy'lG[9CDDÜPmߩ~,k83.}*it9H'iBW9%A ">sJZzY7X?|}%,;Awk vYdkc¥8g'4@H[2lx*4{'D h vʣTt[^bZ8[RL*c'zLB?_GR`Ǵe54l<=-hA*ƒXT΄jm8?T[wsѲqt ӯesm@cQɳ{!X^yeP$Nm0}~޷7?%{nN늦;ɀFZA,=4JŲϼ2ѵw~jv&K$Bgߗ`"QqG&iu+"&qk@YR ]muP;'HՕ(C(۸xkhBW=0H)&+ڴs^uVQtѧ!b@(*؍uorS?E.cmZte(.BQ"Λ~GkNLbX ![C+?d|#TFh[a[]#GEsiB'VR!>RE&yF=*}u.R@vxCf}/)ED.0}sCo1 KOfC O^fz}i)N)̘$ 6f,emD>_ 0Hml@rSw弗T݊ՃHU(xvJ 18I9|,G4Nȡ:$;h٪MAR-q' eK/LEJgPh~BGI[Sr~p/s/4 iܛhڒkV3|]:3({"Cf~=@x@SPfȅ;arI5E>&mV ]]_ۏWo8cUg0-f[S^-8DxrsGl͜I"~=1mbm"NT"BYU_H(lRs9$'ܐ` xS`rnu/Ͱ1 7ufFre`dԴxUh\Y%sOx{8GZ J6*8jo_\cAH.g s@G|{j<<}o=]:ꅰR*aĄq+홰,)OrQYmTR˥[3 iI7}Dx%㳸`u( : LNאa19 $1)5hcQS`6$n(VE1ۊyx`0ڤѷ3Kd~K?G G 3(גSڗ!(J=f1mᔟm()M%W)n(ZGIFGzA/[cib2Q#Ps)aqբ[>9*D<1 ;bU;hd, K!^Z;3tQӏ7~3 sZ)3vJ!'BXy}h83$m!|OۿH_5LTMCn,P{[HD|^E>r9^ }pM+3$0q9{g. QB` _ް}=s_Tw`H+v qy{;7D<%s@Hu")U5J|{$~ S,׆ NkՇ5iZ} T&`C{N$: ű{\>j[:mGIa҂-I&2㚦d"ߡ鞐O5KEmPrcgLEF{֥p hCq֯ꚦRل x^,کTo\6';F▰o>{"AL=j#v;}uCw"XL2Gd5 IЋnz>! /4g8K\Uʶ "4F !%wް'ze]`ȠM9Xy,z`@Bs8d.Z fnTiv.V޽fp1 a0y-.XK7+C&5+٠<?HCX=a"g\W[LAdG C:sAjƢ' %H E>>Nt/#~Ö:Tž(\NӁ]έO,=2tOSKV#uBlqȐDe[j*g57ςf0WBscߛ09 REwNϻĝ'~Lھ-"\ʘRhFMy>L xo_"k ؕIKS/E[y#>^ aѹdOHхOu @>Tm231ήdC7.m:eP5-B£Or='yx:ףytA`0\> =8]E8 \aCCWm&`'~>&cIPBuekGaP0}ޒv/;HgT!.a]Mmnt9' {Z˂e$~+_5@Ҭy>l{ |G\qCh9@^iPQD&~ ̝xxPa[&Wh ޠ´@?]u9fa58bГ12&$B/v ۸mU "wLضׄI3F*13(Te¨Yeyuotc sWAd!PscG0:VbN[>qmTm(!+rV4(ξ-L ? a/uѸIy21U pҽ9F3N=@k?z&nI.NĐ)te[]f_z# |!BQn(n\hsEٛT0zyIͬ߉` ۦ΃~O; tVU}HBxL~5Š'pq}92jԹöOd᪼fP 8{_^FJC-+D]&6e ?V꘹TQ1ޝDFZNUq e#ܺe<\:Ⱦ=Kv)$pѓ1՚mIА2 .13j?bd=/;4cBn/4#M02m/%]4'kFk&)nntɰęV YWk͚DR3l͉ԉẰv7$ Xw:L@9N8~FƼdƩ$C 'uh+CކHzpqQ^O +.րT:2buf&~37ӨL]/~en7J@ӡ=E[OH(F%C?JbϘty{ǔ/~7; ߮xpU[[b\ Fic0y9no[~hUI1VU"_#n9QKKד(j?y*^;xi|a Bя}WcDq<7NZ9]؋|<2LTe"î6p?Y Џ6q99AL f1un͟(ˮ徝X3+تXF1kzNJ%ڑ}eqsMgU\ }zWuۿ."!`V[Hęh0B,6OR'>cT;yc:Kc{0`:6EM̚#WֈJCmFóǑŦ`4Qgۂ0'dU uݦ 8,C F(#y`w5OPbZ d5@`DD{T>Vˆ^Vwp_ZF;׎SeXޓ JzT5?8&{SCk& KWux&KgI66^p|^ICrC}ʘ'ߝneU^Z_f%*-y PshGM)C5w)4rJU x ֝iUXY$b~^Y)뒛yA#J^1Cx\y { wNAW`4R1I8-GЂYxfd\ɤe}"ۂåcCCm`[/v;]~Sa0_vk, ~4%Uu+ƴY>em*9z݈ӊ" -G('r#lejͰ⾓y<_MQT{-RdK٫k8|(xc3)C1P><$e,^Y/ʨwi* !SρYS9{Cz+W∏α]@koh&yJ4uҁ/tqνØE*<(qϒ~)3($L|` !+5+e8bQ& Pcp ӫEHzR=hQh:q $ p[髆@, T]:5?z;ƚIXyZ}n}_$6xzi 'u:ߏK|'$d!tΣz2l1!{6Pf@h8Is@|M%'u3TU< 0joO]XsC!?bN &̒r| Kpahܥ RU$OR5T@?K^$2PBƾYK/0sze;Kݴ(`C00%v1yh2UVJ5f[G,%b7F6(IW @0ª"u[(VE^/hoycj M 28ڴފzA"U(]r,Zc@SEϪB 9&7bvjWeSpbҾNMԥ`_s/f>5^ܪo  #2葩̒BE7<>:=pby2ZOx LFK];m4m)c3Y.2u=yGaeo&d4c2Jd3LdT(o|PSB<&p~5IROv@>3y]onz/dE,QeX}hӈ} VP|{`0ی[.:y _LY:G*R4L5֯ a2T*U 2$h"Bj•dr&VǍkV dʓ8fNo:p^BB_j҂? ([ .OBneF] ŕvYYwpӲ2\2w[Jdv`{^۸ήh (&-++֏+R q YgP ;vhl9>$Gg~J2SIaOUAu}X|:G-_8 ftn".N\kv LHX*;rjW$[H)^ *z\:'eҫKrIHDr8׽0SOšPmxIҫ'pq޼Q;y;;%mWGŴim8/_ɍn!h&M],5| TV|ۆ sнB401b?:ZNJ:LeI$ΘFFCY u˕?NP ش&hDr8)aU" )R7 VRV- uP`Hmmr3@đWv|<JbcNϢƿ!\cӆUuj'N\}Z,t ,ZvݸcpbǢpvAl#5t|CD^ÿA lL!4:k6Iut JY3!=xү&PëYUVmx?wwI|ͤA@SdDzo V.`4-2:Ow!ŻR' 1={B4ȅG`[cкL]gêxHy>PJG0Qh nPŘ,DvV]l̥^r4oj.EgUd ZVOyG$A$$ hH#Lg9 鉐/n ÿq#5vq, ;P蘽pr/硅m^EuƠOTٜI|w9mX!9՘۴}i\V$ڎBq1"HD 8O*ko}qUJqo+G;|e,!p58ln-!w9 AR bABT9W>Ae9/$8twiO T͠tgXr۔[- ۆ>i.~A.3sGw܋fwiԾ\}8 s<CL_jӋZH݊d׿g=˿b4jpJi~5Wy{3oi1Dḛ ?`|9z(3L$G D U2u3d;yetm5!|@! :6Ȼ%!+:I^42 24I#-g8(yƱWZ7 ?thнqLDsN:d {$N|4>- ia #2D:jMaaQ/JlUa8nWlh`mxҝ~0_ Y:]kt SrEb80%$l#EnJ@kR0syj|qsx)qeV]IHy`G ?u8c#Wt?ߋye6 0sL#8B)N+CJT1bu)h;ri6rXVlhk/N:p2:gP 'PCr+ m#+b Vmŀ {PkGV%竗d '.6W=U4HَR;ӗb!9줫Gu + ,;GkE9!VHy1xyl\MӘ==Yl";=a_G-؉RBRٍ)v0[F5uĶ𕖶2!t93No<6Ħ+}`['f뿜5exkX~"N(wp"j <3S6LH%.v |sOQ3\h2'ڿD ygҎ=i1O`n 3?cPF,mM 9eGkШ'-$ Xx`iB%^`^G[wh-{Mӆ]b7SFlI{_xa5*~1-] \q* @p+R絷 7 |xdd;$yjnڄD]L#l [O<Dצiw.YgS" 4:‰Y4>h>/GpP7 ѓI& BD#JUJN^3*j8(C8\E ΗWnSb:ሬ!A\.yg') %#61kLm/O:՟pZoq?}sT;Jy04?pU=Irh0ORm ϫg6)2Igs`[3,R'pV3uEXQRyZ9?9Q)gW6gTsrqk6ڏ;rD}=JJ8i篴ٚJt_PQ,LhOޥ,`T2J+tŖO_֩W(fܠ}-#d_Uvose scME4F*,y,4߻xRAL^3Ys0Y_iUVfLet9^0.V{^i]fbԽ68O:RfF3|Fg4!=}Y6=lbFҶ8*. . gEh4Lokҍ #&_rHױ!2yu* ِZs2ے ׳LP%i gq+n *N2gRP>n~ΌޥF-=ဵX{ 2~x-ohK|%R8\Lc1`V thAk ay&p.ŴuOfSNXg񉇐8}f rci~t9$ޜa*y}b茖w#Re+HV>%:~WTJ|ʗ툫XH%tr޺VW> )^|8 }BLiի]SX"cD \\XͣQ3 D=-/7P;3m}m3%uľ5MͿ~8 r9wxg}a$.d 2jx({<jX]MV/@Lbik}u¡1{ =t'>!~Kvwh s awaxӊ'h܏\|R(BN,}tOq"yB?;2r6AFh4-Y`kEչ]'ȹF=iE &REND3Qʤ3RUQV\I6e]UI+.!%uptEz3P a3r gE.Qp[:6R}%W/LxK[\:+ѥdI] nb Qq2dt1 ?!EQ]y~yV>!gnh@PQĘ-[Q6d8+XLO4 jYK'lm(LלطdB"lK2=?}xiҍ R EW˽Wun^4BE!C e7AEDZQIUȍ G- kH=|G=tBpvZPo5j%(vJw1+DZ}#lHvϼ`~R#MfQ*jݵ9)>%8\a2q7`.KV1\~=H#-ȵhVx&d;'Q2Da ZFal.+C#zQ-'*2Ac~"]7—m:C@\f5UuPH8OMo 89>&} B^*;<"<% AԖ3Qz606 Ѝc#-mҤUicF_CB2Q! >$͟G$ӛ(y3vHP@5+55gRpL1 _(ۦti?3af7Sx ?bM6V\ @p.)4o@f16# (١e,1x;:Ȝ␅Q[]7.TܝUʹa2|_J `q-^5W$F=7jM%shjL>p[e3g|OU~hyNmK$8TukʏlTx7s'PЮl.]_?( V⎢ L ^ךpoqU&ecl Zzp1lWI!&l`0ٱn@O T"6I5 x)v{@QX 6{uE ŬQ6a;6Sh-dY`QZ@Z侻V#'b\et3 ŚM? ,mAqy{AXK* 7m//,f1.Lw (Ix [͘߃x\H풠xWĕX\/?gzr & %Cq*Lkp|"z*na]$.7d>H'VdQџ۪oU TgZq0+ⷳɇBa4(SCz98PCpkG}nN ur?W ΒFNJH.n78TX,kѾlb$,V̟$sXC  ֳKFQa|(z[Cnh)62M]fh3Fn"L1c{KJ*u٦mhS&xdhQf[?p U9WjUl}uÚ@ 4rV\`+J2eOP߂y?1{JG*ELͤ4Z65Q]oB/"<ߡQb^?R|IdO]V*1J> 0I~^ ϥ̵ɸc!<7^3(B?J)1 ^M! &<_q#Rm`L bNo~ʊ)aX=|Q4CsN(YCsc!: Ur:  Ԗ dІGوGMs>%F:S/}s)rlOrHA2~!x`E}ӫZ @?LI7|_`0WsK<4Ҿ,׏|*#Y[Jиq4YڴQ(8-Z-D?>[ ;jCޥUvAs1A̿.=Q|Al:k?vA"*U ۂC6T+ɘ*|8nԡ;ۿϚZ {?x=?|Zۑ¿#IWNʢȽ+<JV^O{Sg4φ2½P\T T9@y&f OgB# D8,Fv56w3]pvhBǚ~B!C{?9U25yMZ}Xz ~.=ѱ넑FK7="f:0ёؑ+8ؒо8n&obn<3+EXmċmWdH";취Mj&??S4OX>(G>jZats/Dw (`K$]eezGM }H&#cU^s3اP8"cdeA /KE:@0s H Pߴ**}¬=鞵&-E t)YFjKf$؞RcPdY{Y.x TS&̳4wC7F$iK4%3!^VpU:.gK2f`h'BD۳);d qň^;eV{e/NΨ.,7x6-R.]}B+ *iwXG+e0zt8TW+v˩f 罥`*"@.u?G}z!0cIlPG5N2=XwPCꑯc", .g@;󫮋-RfǛ$gUd¸Q44&|˚f Y1~ߕ7^ , ٿOIgm[Xz5)& πxhL@SFQ{J`YyuɩĘ)4PG}wmww2~QK&cY?hrq ūontzҊ#}$_a[T LVjJ@ۿeqLοJ?~uMؤlb!ms/nar'Cs7-=&$o 99Mk¶Vz/+CGN#\݄,$yQkޱ`<y@`.H2Izce0B]w3h I\Z8Zar%cK&Sr$Mm]K!A?vPHdҴEoX] Be/0-Y F^_2a݁K܍y1T:r z%A̮JWqq]<-\66)e,tYqhnl;D?COT#aH[1c /ƓֳK!<ߢ8B GJ#܉awT26>6ϩBGMRR#S[ϙ̸$xx4$##_݉ܕ?8VJHh:pcTǝⲕA.eB|`7+~DNK}2kxH.́ɜ0xhLkWN yv}S.)sD7 ebh<5zjf;uWS0oM BC ~'&Y+63yYYS* g<Ā4.KUD:CF@!4GvZDZ&|or6!FJ*O9>"ȷVRʩ2)Xә7}fri)W*~?g^+GxݦF H^|#Յ{.⁋|qk h; ^LV7g:FrSm9>ؒ"?T OG퇊WbUÿq(Qּh?W^IBxrX!fS* [#Q0Hw OJǽ;ԻN{B bEǯ8^BNN$4)+MI=L`6]E9\ۄe݋k2X(o'`" psHU33rvVvIz&yQ2!+ޗ?U蒄ϕ_lWd"ρR=kga$X|Q/i6X\RПL>X}7 D2*K&K_;ѶAE;7䩖9]}F[.mU- xb<+y~ sUqK'uK ʐU| '^ڽ*z5* ,c.qJjm$e'H'#p=Iekǡ/|$YCFk--ҎaȌYQc7^~(o!PSٚd֚:t$R_s*ș2^8Kv?ibBHEgxJoY9E ;mš!:U :%$Jo#ҽ)B3`z#!ǽT+VIsu_l7e<| Y"Hlsn-a/,m9rO 9ۢĖ-Hy_ 9Hwa/!.j]DZx*35lŰ!Px>7?zԒe#L_nqy:Y3I#Ċ>Z`঎6Y"23%r_긜@d=QL+Ek 07p$mڋ?cOCQ؆l7RnTR+-.Q9#Pi1@` !՝{\؛.dpu6N2?oPlw'}LDN*ܬ~0ųs'X$lDq 5-2t\A_NTdcີw$vb/Scc;u R1ATؒ`4}VQ}9- SaiCMDBn($'IVGLcTԐk>Xf(s K%kVMQUy( ' S Z)!M)ۘJd2N٫A+r06K^+v3C; /HD^Fv2CZkAgv$,đ !Ǯ ؜uQItF'GgMPx2 ߗ ř) "U-YkD,\BtTɚ6L0,MݝzkX10gfm{khI,iQ}E g~"Qq$J37~V4?'ǫrWo*Wz5Ww{cTUtV+r)nBA8?KpAsDp pFC768y!JHxB!z)vw[,(ZN᪬MbݟQ54ګ@J𥉉{k2LP8B!cޚhA~ǽc]W# O&9{&L%7 YKQzBcѩT#& HfϽqe注snVLoN{APc6g7hPѪBa)P&"+9n 3\ Q!J}@oa}6.JObvA Qa\h2trҘ9-`2YN(O$]*ܜI-ΫFAI[-Co)x;V "_nI} ΅ipWҟ0ٞ}=^[ttlۀX-nL5:u X 2 Ij np<lWE4zXi@J4dresmG.{ϥ݃8luo?|L! ًEݕ q辩 ׿!g"YpU(fYpMȺcG ހ_o?rE ~-!БZ=ʇ(72pPT A4M;UX j$X_NSZn564C1eBxWtgūCEAr4ݡic#KO\Ō·Ё(O=|]n`P'7R5qP- 3@WM%yV~f8[!, @fgLQ CS~!co n޵7{ҧۙ)Fs1ʪ ۗ-s+K73Rn, v_@lAG7y6NOg50̙§ݴXZe..puMr*#"1d~USiTR1+dm/jd^Y # Xh,M@qz)n ;i."y_T ;Fʎ`"$: ¤X 人я~|'(Kh5e sRjC ơ)>“svu=} K|!;n{*s2/2?_6 Qr񂙠_z;&>Vr5U),^ ;u53lL+!Z"*2Ix,TF}_';_B%+.Ghe\ ,ԕ m6 `RR5U7Wmvk2 mC؞2 3z >e&:F§$dپ~v Knr5kދ_UWgfIYRoFnp:</5kA<ҏhceZ_IPHl_xAL%5i<J77u.mueC V#-o^J M_U7m2QÇ@e`,ŦQuCKf|q${:Q(BZV`q90.OBu7{4(jƟi4Հh8}'iO Gh$sug@^T?CY=k E04 ΐwL8֏qT J8@Vcz 48gGU{d{!pSFKHP%m\yhL1^b}_ k?,W~ X*vMT"7`5 :e8XBڂ V.LB'p~{&ۥ$$8P,OJ 2mހYa\;Ԥ0a'R58&Y~OV&X\BS2詵~|{a)ë.{?5X\@7\ .h?H{8IsC`X7R1aWZ ^C[efZeYڨeWg:\wN i7Wh#l5*h6ܵ 6.\*ˆ9MTD'Ӯf If[ӗ͞,:>!מ|mĚ艛냎nӋ/""ޡ6NmV`XhKio0G;d~4hkz@:6X\NL\\a䤩kĮ<tF= xOoxHb-t!lD4 {ߐOc>kMJ&0n`WC}R0:|i;4@g`RZhV0$3ujL89Z4৙>(0VϬx.>}{vg祿x{Uv {22'`A#u]{;{K52CXۡzl|~bʾPH(B(\ſ0EGV5w eƍ@4ddUHމ`% ?(! QOthwQ)&Gǜߋ(ҷf W 7sq}WFTi~.% fـ`JEvr? ,vmupiG9KmҔҤR\C܉vXQRD&Sg~?ثq)gbA4QQ&t 9cjHg!En<ǝ)a`x:'l8>MnAj)^Dvߎ"N amȟ VO9u)^F^{TXꁕl'jGʯq- 9i:!GVvoh5nZl>ߨWA}+Ȋ %*hMKuL__/-w푫"\_Nn?{?+]m(*>7сl֭݀Qdg rJ zl@H7k1aFLj P}h`m$NlX3u^?%L$zOHZyfs]bgB=6 wk{> ^ pE,nk9_jhkM+[v>lOzH%|p⹆MxD QA|W(|sݢ8P!N lD"'fxùJ`|JrP& "^dGd9 {- 7 ыR1QvX_%B=\wBU}`5r2ĠZ;'Tg<,@qߩ8ݷnب(rvfd3uz}V_зMl< BCfC`ӿD3l<]{1;.39_w}ZA+UP{Ѱ u&Ρ7kcxr BțY5Ad2 CMδ7 ws|-bE7)c ݡ9yp('.,V3 A\eA"QN1/9 +:6t˂HG9J:l{9SϾf5t|c]ޯ\tX%̎~a7kI(~ %(mAOi47/ *M61Qct_o q$ȼ mu`z.y2o.ys-NԲJɛ!\vMۉJ8`]l1 drFMKVJgKx_XဇyǼiXw \Rhƨ,m6ɥ ] 51B l9v){SY6yg2'i^9ZڧuЋGϐdNÝRV1 T]3Tlp&{V,ׂ Iz%onB)O쇲zf5JF]:&K qo _gO$%"N\!"uՉszq Oz!oBCO5ٍ @NHXG*qM$h&KUDz\UEڳTIx57jokt:aFW)+dPmh}f]CLʊ"ͅiCk~XsLpwG. Fnzf1,MuX\>HnńI Dy?9 T0Eg0WOv맼&ǵЙHX8Gd͓jÙR|rc8if1ة޿Mj<`H';JjL6eKI(/sTz3TS (O Gu:UhJt=DsLgf_EeZ"_g9 :e¿*Gj6]=][_~E^N gD,N$CA3adj@(]) PR^ڬ%L tFarP(2Ԧ֪7GL jx7N}IARnJOr۬<&-L.ܑ𿠢^2QEv9BK1b I&y] L3h@if)4*fLj)P I3 |LE{6Ȳa-Kb Nk{N#zB)?MYAyz(.cOшܙHHknHm^T}z1 H<:{ӶcGHLz`3ë//ևb`;wwziail/zX.}>SMӨ9\Oߑ\z\g- }RhA*eDžTzEgyS=_uWxU$+yM֞@Qj:D"m] d\Q|f t:K7tRnq¶اv(/Af#JDx4;ݧkgxn_&B6  }ݶ0M-N uDfm~QLMwӽzs̈́9YKvs=Ec9lL@>bJ{<Ǡi6l'fh-I3$NqS%4\=&\/U0(NL'3>@> arb2X-l2v{)a='U9{6EP9z}`4z&=DH|Ufx#)^>:iwA|)/!% ś:H&Ъ!5rgU < >ъ[3n{o &֯}143A/3-R6HeLFb\xF6p,iTX;6R] Oaޮcr.ո2/cWL߇Za 8֝gM8u^v[2O(<,TzYbϭ*ihlv% `O3xS$zEY@SHh7[żV;|ĿKNYSZe^nD roq]8'b]d(Q_EU`8 ~`lpɱN3^lgJC*D=T0]!l7I5/4[zQ"?n/dN6\t q\ TNguMlz.G^{ltt4*Z5(nrRZ-o<̕ Q27LfHݙfa}wHmC3ֹRw|mi0 RsJ9l1K!._[?3Vz"=k*6k˂ЯS.bʊE,Z#4%25y=ڂwQB 51ܿ:asSdd$E?n 2݈>虧֯(^bX-H`m+4NN*vŽ(`eURmV"Wϴrd6<2;g<`h z[_vsbTO=^JD/@6JR%y@erIW$FOr}vj1ܝs &5;R@3;yK?%I~dz; jfmK 1 OlΒ}5U(A:+yUryT(I'P|'43fx,sz[TG!jA+/:p??wڅ!D?rkꍱ;PSB*?CKEs Ѡb!aB#:@JFZ!4L0)#dҗ@Ċчal3 {C|ˣوDZ_!af;еgkJZBs:ɢ pFCAt)^ċW5^n?`h&QYk#*|wqߓ?JYOR {wo>c[f-r7z7=6zfy RctB݆z@Y’ c17hЉ 2]';ɒ84~(#RK ,_|b Ypt{۰3Lo3uuM/\C\Z[2`tPV>~tkg&6M}G}) j^g茷6Iìiz"BU'1ND cG产a$\Hy*8hlz+&T]hdm2SkmEFAE G+~ 9;؈Eל-P[2 J3Aﶯ݂ǻ m %V+bQ.exDCkK'ߐpJG 0cZaWT~ɥկx'?<\5)zu(eKmgLp٣=_fo p0C@ WK֍@Q2qNyinIٰ1p_ʘa6[꺣@ !6~·Kgeu=sznUz_|-VJ?+>J`oAuEޮ& پR\ 7VbPT>xn" l1- lQJv`t:_ h~kH•&[(*䡻3%h[5CyP@,aL%mHSm_ј,3č 6XF9Қ2.y3Y 66fn.y yfk _ج6C{jҏͤ\!-g\-?F͇½p9;$Z[#cKCDÙ\CU+]^PvJ~:ߘH,ZB=/키>p qZxYO7͔X0 ʢ/PzC!ABUho !^xG5OΙ]Gۼ-~AFUfzK h_ZM@xdjc&jx7Ǖo0SVNGɯMo%ÓbJI ƞ x?130돫0y պďꋝa ]#~hJߠ.g*|R*KrWA1C]2!ˠ3\Ygtxp"B9ZfE3>ޖ{fvP1"W5JdfB ؅mBI2@-߆H7ftFvPxWFJj\r?R^/t?4{U]dI >J2\lς7Vi F/1MQڌ/n>G<2qx%_Lh;dJX3AMR*CPoK ԶWZ[m2oƑyZrU@Y<=u<1 !\񝰜d%\*svٖesF-JUoSF_xaf Mg5{k=f5{;<X]ְo.kC"*Et`#p eiRef"6蝂cGA##{<1ږh$`sÕ =?$}Nҩ c:&>\CT׊#I,LGgnoyXӱI݌-M#٦Q:= "nɥ 7iE"~4@IMȫ˗CzT/ױ7mBc2j#rߐ\LT#V6\ν*4B+ŸG$c"5qӂўU1OL_n" l<P/%Q]Gۜ-}Ќ ~Nhw9 5}{zLl@ o)Рi +J5%9cdԮh- 7'}]3}fkNz1NT]vׁ]^V.!J>SqM.&!>Hmo}FJ7~RU$G ք,z œ h#W\z  .Nk EVKYNy|teMs!v 9&b(AjhMcbte[c}AqoG1w:χHn{dL12vܓ2)݊ў:( O˧FpWu9A&(xcyF~B>yboHp;~g0e Vȓs㞹?%=m~!`<-wޘ-*H+R3Du|y#'QgiO\BM:g%*Z I.(W ;bz*h3coʫ?$[7<֕|W֓!r[];v8_n>Gnx`D$_5WO]UC]oTm ^5?V~z|-WZ"n4$L'T-BY}|.6nu稄&EXtSȩ!.\=Qt_B89b Wk4݋@{ʯU ?UD{p-SxFF^*Rktr=}~e ΃E w-a30J3Iic˾d:쮡#^u9]4*SlB\Qg Nq@.ƌˆEˑ-+8\6cKLHQz9㑬)[-"ovrLÌE*-^t+mp8Fcm~B?֥v*w*bfFwV ▉ϭ݅Peh7蠥lLcuH_ƁMH]yޒP4_^UhK~86̘ *v щ_XUiay/juQV=i{KɓyqۀLDYjoDhN![AX94bC3u *8F/xO+Y{cQJ  RyzJ`"o$,& k}_&B x$֭UHw 3H {(E0mG.YTA`B|8;ޓokd tGfyTvLni`=e𖃈;"PZTbwa"D |n-Fn Y wfl_ԧ03TxAaܝktVF\#H䎰,$CW]^ 8CRݾg"[U% ]]5JžvitKd^AOGvT& 'dGNx Q6&E],XB]4#^Y6"7o)n-qni1I S},Yp*3B!3$>;,>Et7tiĽHɇ@w7fl>#]tRf{"d|R8.,NрMO lXE(O^̗@ǼZmKYyF=aJJifW]dO4t<"2KW6Ct  =Z1 cz ߭* &J-Hsu@$}@|YMJkHgDId`;'ĢX EOEUj6Q~%u;Fmc"+4Zc ` ^Uon=-n > Ę݊"ؙAs1*ʭ;`R}F=զ>Ey?&:W/#dzrv*+r9.?(|_>'VT-^O2`4fMP@8A,v?N D(fR޻ .2*yJ}m ԯ܅pqUjq|SDdЈtyU?al];y`N&zs*U<$:\7/~x3X'(Su_'~TaO,|`UqI5XO^Wg8`` vp-ҺsnF s%}-(-4[$zy0kk?41\ WFXqn۷[GK&Djg]L7 k5m9XH^t]Χ#6[FK b6dU?de8[E߿ sZWY-FeK/ǭ5d3h;zr:I@!og0[&g 1 Q~AYωT(=QxK ~2bu@sȴ3 -qgWzti1E1W(w2=)(%VIMU][f&#`V#M'[>1V%mq?J.*u&Df1(Tm*Wڽ֎Wf00v߹)im~e^H3LV#q(7[F˚%2N2nVgH`mtq+:jzz7G"c*V8~7`t3M&B8HԺК PzwWhڱ9BSSN} a$HT4}0*_=\݈1|8[}h L5lN= 1 mj\٭Fy$~sUAXu%4{tJh6i=띗v ,˴;3`Jt'RיOS~)|yQ آ,.j「멡f8d2\ fP QAz{ڦ .<+&W]¥д-)BWdbϐA^U4-1)p|G! 0Qnj)Rh\u2`j.x{M #j6, (H[ef7\vPdJ~앱SgI1V4|I`d .P=[:o2S_XNyQ{fϮe3bL/RR25HlyQܤ9XK,*y `fbdw<;!wFhBoO0iSc ,'Sl@ <`?$G<͇hғw1<z-$5ZUF 3=@顷7voJlR" uxݹI0q@"]3>ֽ>d=cCο͹ۯGQSmb' 巾QX'}F]'f'D+TKQj_Ճl1nuϑQ5x1Dkm@ϥ]ҟqA4T4?/Ǝ˓h ufC7BvCOi!+ƸN;BoFy4_$P@(Qo*+l_J)ͱUzMwD;WN!wX\:#7uz_]\jrT@!3덑4XyLEqI­aeD% (( 9Fjv2>YVa+Vɟ"^+ ܷ $q!)L0%hMz6 dO!KI{#81 R';$+v Lu>A_ U7HAOT)01)97M#>nB^(B}D) /(@;~=b鯤@6Hd&BڌaW8&hG8amtpY}%Bv:$I9 'KHءs66]@Y&eџ nv"/ÀWu1cCE@FB5mAx^bBVL^E!fb#uoy?|jAtHN* j`Hg#o ;!gcHFD;~*̽cŔt~s6I%ʹ7s2ww=cUUדoRт:fs1dzN\Q䛖3[ T:gJq?WQteVc8d-=L-P.٧-JEc|JcGy51/qQyCw]Ou)\US IFs, [Qu4w“&a8: ) *2u)!~.6_h;ڠD'_^N |t7ހ= :Ū ȍb=_휏G/l%SqsTɪh};hJw?0jLS+Ӣn vdנDO1[ZuG gFn;{i9l Dϡ$e@Àۃf~ Ͻj\R|co:Ž79?ku aWFSE?9G{ ~)Jw2SU8iD)m]Ig0ۃPƪ?9^cz)D)m<3t0L:&Ux8 I(h!Ҹ?>IL߶JvpBV[M/< U{99W曀 |!Ix+SϹh4 A=c;8X"ֶ)>QOYuܠZ Ї}i OJ )o5p+ÅԾ(V{G5.o4h$-m$3ufDԚ>6[Wr<:|*=-*Ń;cي!OBԌ9/D[̱@O%TJ@dgSI)JFиr:4oWPW!!Bl%YMt-rs/VCV)Bn*H ,.[Uoq6n,Lu\oV IՂ!+5^@&DY55[v9jȁ26^-Ũ@7fa[|ss 1?-#AޭY؈P!,3ھö3g͸Il0֣Wȍ2i*M>аt.B ѓpTٲ@5̓L}@rPUMہcD5AKH gUfԔO/y74'/r:JiGAjݣ[(:uL7'^iPUZ AVE*Hm'i%0[쬟q!j} `%trr[>Ck/޼K׃  Rë&d"'ӪuUq䞧|%[ v27mx-O\%of̄jrgi7T!Q@u :`ڧ?aNvd+;~fNE'Ĭvh8g{k < `oU8A&SBqYpdi/Ah~"ļv4}r=1b{[B> ^a]ŗAl#2T,pe⥃E/@jA:mJ%.#hr5p9ÁLSoHdVEFmSs~|ZhS ] ̰(Dmt2VxWtvfI >/`j& <ƙnp?$vEaג'gCpX8P.'hXLsY&i~y(83(A4r }ZJt ) 'k)VzM+CcLV;/bWHg)KaSJ zWN;H8SW١D!Ķ_ojt kqkVxِC""gAt5z[x٬iԍȝQB Z؉mRidbÉcZ){a~ D.=Th)\ИO@ 7.1x>} 9Jɗl]5 ÏRs4/h ֯+GC&Gՙ)*J*]=J{0X "efsA-۵3)|MEbXPLU;1]mL^=k0Iܘ`8ۛGCn @t3h~E}6Yx+<$!猢z{YeLoVk9zJ]#-ɓ/tU_i5RZW89}QEby3X|%2=Vz:)(q7Xy, RKi7n'v,&6۹aJp2]a~3gN4 t*q]H3o~#hA(}rL=# w _3p Z uSh&0% \ s/!\l g_uC26yX-zypG:k&uFE'&XIaPKp*k=@F~% " &6M=щW_Z79 \am^Ј$N$ɛVٕ>Emv~B~ )8m},3qĞ&:Uqj/|vv"o+%on؃w$G8s94n^|:B#~Y  ABnT7 k9gu ҇RWBa&\ 9%N\xBo/uNfQxkHey5:xs=*$1d<r TR}1uN lTa$HGF{IXv:V7h:ӨN (sZI!cb/d[YT,:YdF xJ\ J>@_ uSx 'OgDSPH?@1FuNò'`\Zo#crad"jWkNp $OZk6JWG2|\\DK@, +,OsiYsu%FKxCEIb+K:\)X^eH, wWS`L c3q7O(9>1o梕jOIpX62xүO˗Ksn(WQNY Lh*WD,xy11l 7ejDD0^"#X82H\Wޙj\dbLπ)+Zv`J+8g־?i}KW#$qrt5Ԁp&#KĒ9{V /d=ACzq~ -Iq% H h7P,\1t#fy1f/D4KdzC7Zg[kxSe{ײi ĐIOX%%%:JukzC8en08G̉sYM}*(8|6ȵ/[e[レTCb`=$횶..H?!'{/|𒐑-" >w69BDIqFA[*Y(b11u^ff^V95kXP`LW;tL 6_SQ[ZY9M@/p#_iIyfb2M ^&"+!mjiR;N "c/n.>k&HZ?םۜ΄fqa;xAZ ŚDG|+' Hz; ^X~Fz)isBfڂ\J 漲a3'#$+ @Lx_C~GvB''MgmT.ڿJd7 2 b*!4dd۾7F$gy.VٺB.pv:0~ևkj| G~X64Tc>&9&5Zag/EK ^qb YA4}dYEAkޞ˴rԪ9V6IAMwsu:P[j6*n#Z}|A߇LҪ1ٺx)ĩ_ E =w/[F^ca.|ʇ}}gw/'"yNꥃмneհRJlV$f"MW|LwbRT9\Ҏ^a"Q?#9!xP壉G;08K`]!J_vPZk+=B!<B'U} /po;Q,4^FhL!*=/vfyUXMs~~!)մVV}ܕ~1b_:\ij̖pHCDt^d49v[K݃x7savgR6`lZ#v"t! 11JF- HQy98M/m\VӁ͘cүY[*NLU-|-- %j@CP[HoUD-Aԧ6fXfҽukr8]u(8&W[U _cS,^%LmqF<IZV|q!L73Rܐ1g<㮛y{|r nmxYNbs{L@dGtȃOWW~+(3SqZFbI \PqG9pP,avR q[Ǹ;㦙M;j"A q$|1LW" Ft Z;l o+؁KI!v nu-) ;ohI21{r 825no6gq׉SQ"%B~2hXB;T!/aW6x&c3Ԫx((o854EBI:(RPx2h5`pbF/rLj7g \OdQ)cfl/"KNiB͞-*Ln„s|X=b!˺`>0{˳ܣQMR-8_BxĐwc~/@@? "(KdsF~Bfˋ %ktiAU23Ѷv^LǶW k{j&(1D)-E/t#,tKi4&T- o,1t~.EwX\2K`A$ÉL_M  Л4'p4T!" ,0_#ˏ:N* y8LQBSxމ#)Qܬ6 5l;`hleSiSɢX 9:P8uDӭK~K:󓷤$+^ʃHb=9Ͼz{iGby$ %W\5G<,|\/Id@mU[I8>5gTP:pTr99tIg߭E#pf`F xt9&e6 qMz-?( ڰk36%MO?L-E_er$mZ?@O;UYە1Y="XW1 Io/݃@S;J%3'Ȳ^|j2dnK7(~p2x B=`q_?&YvO\H `P̚#ù7f~xR$TPa.wxf*bzh U?? 2{ ǦyWց'jVܻtY\(=PD"9dEe7S8k>0,64Vc9%=Gi[+>AMwAY;!1xڱ 8;_ԗxU.>)Y߸AaDj3uUHzE[:Q堛EDQ急~Eʱz bMta BsD.!@kbz^8G7EЮ0Qa$v%iE^2Um,oa`9qf a!ҕh/qTT玧@ k9PP|d.wݯЈ!@H3xT]x &m|6*n.D&[]7TzJ|T }/tV8VSO%r4_ ߩ 35@l491Mbì6)w9FTs"2b%3H]+E"Zi}o)3?11ǭBk:!r eKr7P0Wd)K^L=)p[N`f8ʐ˼WPv1@Mnye;RuHD4#2@e~+M U>Ӫ4%{FƞaRWE@5ri M \o~hJ4m" K,;JrKD??qsOޜuLY 0r[jې!rY{MRh= 9LCH3+%b O৅o:PN!pTفWTTwƯd ̞ agˈ2+Q2KT soiq"ulņfȗot7t1}^p11 z]YЬOS-djxEb]&H?iFVH4}"_QUx o7DSDۺRFEh\jJ1:!EApq-Sϫ/\JMvd(iTAKO+#~zJs"?f@+&`tlͳhm)Z4}Z!+s䮞?|'1U >o?hGs9ĝ az|PCңBؠLT'xEFyL6$CgbE#eRLXf>@ wxhO/;?ljH)ǀ@Rc &mgR!pO=q4SWC`x1*O$Y1qԵFAul?m{6FD 7/8s`=e,{JfXg؀m׬- & z8P.1"a7%J&wUiAوHx}m`*5ijM e?, :) P; PGF?04|u-R?Tia6QY?_5|g&`0)#hK՟d{PLto bbŬ#Jf,k@"#e#݌gJUpQliw WFxuAJ 0hX{^դZv;.VHܦ[^g@-zj,ZU}l)6IQݦtxrg&$@!g٬[k:*Sz{!,|O ${I .Li|@5ASZ_Hnn'y)/Hf]4I5{vP2D⣔kDږ7=m+WPdG\`h`? Z f>$at ȳC9P[cޣ,Cki-cض5"UζFNGP5:(5/deÈqwnS!1ts\tv፯0__h./kWr!=g$MQpň٫OCeu_o(ջv<~1diXthN'# ~^&.O^'XMV `]Nh|R6Z@mkZ *ڴ}y3pGhvƎ*۝ѳR:9Y[(I4ك(uzi5ёXY+dwA n8=ZT4i&0q[ʈ$mjs~JN2BSLV.wI3 $Ej_A^m^Z6`0-^V6Z:h"'Hvg ]'@ -5tp9yM4ؾn|kEK==D;((H~vm(r=sY3 %NV.Jf"JG#Eۄ01P(&uر&P>Z"ND6eP-JdqY-mр-vW i5`-]/ڬR'pȄ9YK`\?iu[:XM8KBusiߏJ ABO|GV ]d68` f>vM8ĠMf :1jlEڱ.^6ZSAK8ݥog 1?RGpuIA/ a%c .֛A<&X}ygU!(H//Aդ18T>$ӹP<+l-0g \`lq[/#x082ێ3KНΑѨJsVоĜ&n|I;e#ZOoK5,fz˖@˛кn۔TKT)>J)@J ,_ߌ6Isz+Ԣ~# sG=|ISY^LCE t'mq>` ~P;לOBl%yT*ڻPUgPvw)u|F[CUKG^*%FWޓ$?{ǃA$7)vpYO#Z . QH#AJ! ~2|yG` Ố7(…nŰ rB],nOw%k0fc#X?5d/wAV*x]5J qu", -$rMMT7M8>|YQwJ36>g|iQܤ2C8Z/^pj/Ml$ ם :- aŚP<@Le&?WGU=C\ 5z/o {T 3-xqlŵ|zj2Fַ#Yb3^QigN3Ψbԯ[x"Xw&"6|&PlTG҅oGRՙWEʬjk;U6vl qLy\x":TԓD\Gq"я7~I|X1<)JEVd GIq0.7?(mtcplLQk(`2h3󒁿k~:|*ҳ`!"1 OV|/c1u!\5>5 *L36[|#eW4E @K˧9c-W +iNP D*x\FDն)UOb* H[= U>n: ]Cٴ@l>پWqm 6CW~뺸n3aRm-,WCzsV>˩($k+,ą>2:Z- /xWSZ%X=#>0@Qo. 55%2",`l_mMkDYuWs'ӣL?͟W LNx|ir{Z-lij\<7?t+Yo0cÚV6e|5y^O,O+f]^`Wqt I9}.9N LBd@)&% Q[3D*U!l8mUlBo4F39D+RE@D]fd<壧1\QH~fEEq ,לKkȘE9Nh+R/ˑiiRȯlA|g6CpDz y ϼuy}͝=yDXҿOLʶs_OlZIPl%Hm\q3!)D; SObt9;Wt7C7Dt,1loat3&Ҫ<.yaQ!B;^:靪h>ԽSf'ޅUG ge _<nlU9a IB+Fl^V]<_Ņa1B!Uņ1[5*SBB,B x rTعn{~ÙkZ @s*Z`htzy+guOLyո\ guo^^iLY\_MD\}8&ծH*PaOV(-8 558uT2o3Jv~SJPsN8`-ҋ)]55XlT N ,oM NX5;zwKxttPj^ ( "/46Yͨ~nk= 8i+5`d|AAyD}9H=1L-f24rlQ66sۤޢ%uyQUi"|nıJQ{DDjMlp2hO2~houYpi&tS$CE"CA%|AQ{䣛a7ՙ y{X-:Hov|T R;yTZds6d=Z|LU8@%{gߑ2|^[e_9ȍ%B<{4E?bz"On8{eJu%nsl {n +l3Ψl3W|uc1ȀOK4Y "H1IH\a:؁oioHG5uP ,[ڊN G~0V_har Z,IP Ȋ +>|2'L ]*^I=HߎN/ߟS>|4KZAB' 7@Р 5kac)4T9jh6n|VwM tf++hgWK婙tۚMT:75b6b|#.zDbawW~)L0Vm~Ϋhj#u[XJhF m:̃`zZaVВ?!d-8ıp 6(Wc٠mp]<3q~+JɸR_y9Դ'n;OQKt}00+] OQh0- Z/` Vp~c`P<ϑs ?$$N?BİM<~jz@o_80 !48 ֞5#Sҽ&͔0xEWޒ4<ff[Te2﮵R%UKʔ$h5 Jnz:w#u~8"뾦̿"'zz6ԱW>iѥdx|ŋ"@:\#RЃN IUW%1vxm+_{6ze\'? o)p>L-?P.IGš }z<)i̓o*KXcJ|LL`?[*ؼ¸ue^_JZ?(E|`FM%?r&ȵT.Պ*ؠg){ii,L 2Ŷ-cb+?R`< 34_wiӞ[Nm`qb_c<U``CqSm2/*7)I5 J.:HTYb]+h,`Jsi. !˛CěP̰yM2#*p,nY_:³b>;,[0X졈#GV\7ؘ~$[\3r#3k[Y3UL1.o%KI)F{ $bfZpJSdDC݃?q֚ ې,tdF㾩 LcuIgb44Hэ|5/!WFQ+f@d=dԺrF/f醴WO}sō:?BfyWef*_f8l΂y90 `9+2~gݾ;A;m~,Fc ;w1(y u_=! Wf %8b5z N͉L'~AQkX^>]=j{/C*}F`O2Y[Y> UV?3nLZGӫ҈-iF[4toەvM^Kq$_&WU-7˲=UX1EԝpXM, D!7sk)4L{s~dI/M7M@;$w`=3Y3DChi['E4F9(݂~I44&"e0u6NFm]/T =^]en)RU X߉WlhhT(%Jy齁s_<Ź|H[L*;"ͨx-D8$UCDU"6\2(-,3v$w7ZbFznTE'Ð2@(SR*힮IVM1YyxD!xk6cO5[涯lh#7& NG1[:Ok>mR?͆!.k:/~l o%k6EğkFf+5=#:[؋e"/5S"+&Nr˄Qạ9q/v%ѷ{t:wN;z2멀ٳ7:f9K\L#."DVf-x=ѹ&pS8h!ygVrg%{m2~ ?mSJY,숭%3.y0:P4l֥phU~NG2ݿ67 29bRHL8SnŷU3q7H2 4b+Q϶wůk Y=TOA!VOёYMJ}<onl0oe!W/l/ v*s#i*-;pM6qr^0*朥<["H* %ڟٌ;/@GP$"jjvL? "_p\rDZ`bweu`\~ ]R7*+T7@pIY>̮ kħw )l[oOcQk#QQ! u,̎Ѳ]P_ _p'q*8ˑ[Vhm:l۽$ z&HBN WQL([YFɣ@)ֻhqvx.Ab>s<޲Mz42Am,;'?u'FdҸ_㜭Nއ+J?AxU G X! 8K!݈Y /VA⟒|`pviuq˽xoBL{b =K- h~P+lH+Q7tOtl0(1ƴ(޲Dgve]q>P--pF3^"C5cu>hެWQ "+,ʼnzg'»fV pӜ`yQS[۝׹dN5nq j|:jH)1&8;:2`n ֑5[^cJ j|SRGzgUkiM/#$cwL!E-(— ^`0P(<=Kb[ . Hd00dW_LxcZtq7ZԬՠ+e˼Ct]RhCvm132Cu諹aWUj}vX!ՊN i7k@t/p[zWmrL,ɟgeCC۝7af F ݾMMF{7_QܪmaؤCh˃]8\x^0$񎤐evx5d' <wxA(.{6JEam $ #4<4]=skzb7'AzYzJ"J>N7(c3)G<^*dsJwj'H=/^u\+$!~M}\;Ω:9 jӠěg֓~RGC@ rƲ"|AOʒ8}Vz2fc/ S*E(ޮi&r2 ےmd>QK띓B䇰|{m|WxV| \;K,$՟GkwQحYfPC)SR;꫕yblF,DR/Oâ}UnEd1olY&qʫށ >>ԘuV-ަ!s,=UHPz@kzˎ`_Kٳ+uF5 Y0Aؕ ".oqBV 8k{v~0W!/bK-8MϛwC]3YfXٰ6FQ} E2.84|F_-o̲+gn8.AMMU kq1u~OF%X=Zj5)vKKX UE#/ `ĩ%fvZ eŰ.Z'0uWX>Z=,ʪ…2WSV[c-1|Zag2(pД@fM1z9}#茏iۆTSYd.IBJx"q&"qH׮ K0$tTc0*|_@bi.7q^-4>!*.̋ Vhz]CKOJ>C%PLok =Aoc^&> m1c^3cy8eE< ԟ~trv ZECRbeԠH[]Y&UBTwe!3ٙ#kIte  @I:?u$4*A RA07]378[z2Aiͧ͊_xGsPn Еd$Q_-\09:UoajSgp,䲾*8VSw SዉzpGMg|a'P3Vj[3/k@]0W6Sg==yA'yYZbĩXsxFxf_Fteˋ{3,inpmr1l^AjKuDݾ_A'gv$`X;xgAN"y:,KI(ʫ{oː%8sT ӌ &<(+$]^g9E|kGjQC@@SCYQe4{Mjp&T%[_ NlUG`J?FM͞osrg5k6A6XcǙ< %&[^/T\zD+N%3Ⱦnyy~T8r '*@HAH %= ].> ?1/̕Lx,`ik3 }i,*4z\eOzAۗQ`[Xf)Ȝt=F[Rl""QXAK]'+x2&*- gM1c렁 fD-鑯21u[PKe(锘 LZ~}n Lŕغ_۵@JRbf `?2~"M(1gBP$Oq8. g_5VrG;yܤIu#&+)k1JP$nϊuz|m lpL)1CH \x5Kjaɲ(5P)@]!a@=C! DA/rط,ǂ ؎+̚[Nӥ^GRX{jʉ?v/5~΅*BL 8 8@zse<א[Vݫ "M[3.p0x}/ /͙Kf gvqZ#9-! q;B*4h$aS?`7w.?_L3ܢ1ER7݅Y XR ilWF#oY 4ftV0TX P4bX;ߕSz1Ui9>{mhGe`m:h݋z!Q#q4%8N~Oib,;b\H9[x0H|2mRs,P|{c?{Ku#uKN+B0fXJEaN/rs 75 &P0 H|*k[9B0wM9c}p(= eq4пR SvC{3^FٮfNo*;*tU{Oa@[D De2چ])iU)ة3a{'[*\g햾g?/μĔ,ޅNr9˜r-y6, ~_"Ƞ˜֘ ZVB%Aefd縱2=b]RP񫙊m.IEM[\B#[}oKEP8Pg*ݘJpUzS1>EJK`;=ȮKZ.u)WH{,+)b!M 2ݿD{qhy`!lsy0ˈ\9YU]nqJŚ"&ϴ\$ AoHBM|C22 J' 9hka Qɉ`nj R3z(\mnr·x\|ĥ1ܠ=n)[ZWSŏe`S/d1S h.F=ƕtF~{$p_kD@4h{N;rH;s,\"F,Iqd.SB:޵w} o}',am^ t<@Qoɀ-\Q4ڒX>ls,)^뉱XcX{2;T NN%W!X\_l%DºbdMQͭ>}?ݴ4;T3+ͥ 3B٭:5 e[\ ~ۨr7XMЀ |uh-3QncHat_"&f9jNXA$eGJx:~iSd|MYY2S>sC+/Ygy_SWܵ )a&$" O[r77RFϿByf"U0i2x+)йS3_$JDoFQ297qTl^ԛJaSF9'e ?9qΏ0J5"b ~ݤuTvC&w"xuZW#lmp-7I1=Qruu֕)S~G0]i@YvPXN]fg&FtgT3wR"M!C~!g. "Jt6$|rZ۪&I}PlX dEjѤ9 ?QG՜ٲ@ЦB٦ %CMxxi5Э^ dekO+e fl62\kyj-#/#y['W b:h~=UA-ؔH>+R<&-QL 8w[`^{Xۺ@Pr8P%ɫH 6٧yD̷=x]\U`~fho I,ZWEDPѥMQF4,AtBzКnYO o>ؒ#(T\?Gd"V@%B!1ڽp`)| k[26҅)n|++4APMjZJ,gͦ%{J<5y#O#-7Ro"N_'J73ga"fe]&v#ٝU)L&c0_Vxnq!j F?Np3Ou#"HcrV%}9 Y&~9XNu_/UWTIdn+ yj#𣁍|BS|-w MYZu`0{;gU7_r~R!C\_Hm!1`; -{|g ů6ABy|=@OgR?/-قB@HTMG-sGT&2A<dj 'qOA.PW"GJ9:dmTpiMHƞ-W6z +&lƿXSqS^*r˼'IqѸJjV+5ja ZAU {E \1S'iD^q: PYϕ֜<諧GQ,b#FT".+BSFGFUCܤڧJRBn7#sJ*#]Ƌm9{穤WL 4ߦAν)0+üi!2$K=dW#@-օ\lUǀ?֡}| p/3ȡ?XA}znm)L?NY1:u*\6WHd_tjS_tx"KX՝vH9Xfz,/zM>qS'p- 8. &9ʅsJ1۵ b3i!uMz֌ aEΪt6oߣ\2&Po>t&^zOF*ٜ7XWNOdZ7,5._VosB*Rb5DF)EQ`V)n3¾~UpnFfXo*X|h2CR: Mq|wK>>t,_SHSKp&S Q̟/ּA-H&g D6;E3TqZ11vʦ  E g/9!B [㑁&:6-Ax#m_Oa^[vN z] zI z2bjڤ{3cgt!rc|/T&r YF4l$5PR)̦t>oQA jsq!:{qyўquu]>Ay2ˢ_ذ*DOw19~RUD5 5Yj) k>x-{Lx ;1v/@z39yjbwa'@hΩz&M|RͿvB`GKG<$-̍\֨xH3 q6++"ۤd ,GK$'{ q#&="=d;0" {QM5F6zQlWJ14(ՏH9ׂ1|bz{dqV5UQ.qM5Ե0RXwV 7QV5PCmS h4@FE{gD3fQH@Tșf"*F7:Yc湏 vvJ "<>cgC9|an'2i.b2rE<ޗ ^̳l$PuleC{׀Ό+ߢrV$L3-tM bmL  _v(.xCUh}2M{o$I Rɂ! 8aaĥ>3/K῿kuzI5nX_ g/2Hjfo Ubc/E`C:pT5?͏n3x aGDaڇU.` 뷼<vM 'o̤8E5탞J㒿mm&],tΰp?Rn`q^-?4|2ş< ~0%jLyzUw\9x#zFWF*å˰Xj!v5ʦ`b 4rMІdݣe-I9\PU\} Cmr}C[]KǚnTu]^ZjO:irY➬sypQ< rU)aѤ!#CD02JQ%4KgY1,aQ?bV?M&UQx%f/?k!/ԆZ+ r*$yVp]v`ƍ?9G_E@Hn%zMԤa40 l7˞fx 0Ԏ:(RJ1PH{ f"qoW<1^Cqם߅{z Fg@;s\µbss\K˳$sЙ]ߨ|в8CK8J( 榙ZU4fke+.搭3 $)]R^nNw&9&J|] 9_ɰv E{Q^Z|GSW%СІ5-qNJ+_bЂ/on]gSdiBcCFo'`{Ge>bVn2첌M#:HwԅsoգԊ_Հu.`f5Gt)FmuWĢu7;˺|_{ViVؒ>Bi^^D~QTSz](]ۢ%,s~(ҧRVYY```KIo޿,J YV4<  <* |9q%{"&D<|,*NniSׇUxQ66VF 6/7j9)g:KaIfZ-5t`+-,SF6^! yVkyܒBWY%ocEG5isN:/8W\Ih=x7 /+h1"xmڱP.D[]i F3lsNL;+7 GȄjZ3T텖:ȉ#xsdx *s{9#DB F|ztKL㼽[[ٗɋ vq T?@8oRSu{5,*U1 m$FW9?_3=!npgö.rpJiCƘ1c!%<Í "m ݿR Mkz=ASbRДXi (g%0m_-*`U?DN-$Vܒ*1 R4Ө_IEMԟOr?; CIl$.>)=,y)6ޥ$u@?3d&B)䓾[kS;!(PO:Rc%U-@r(B<-Ԃfu)뵺 GM_U㏂NyHu-1K1b5Ⱦ[DP.9@S/}gµ %ٜA7@[%>[ ;li&?jxt]_ s(t9?b nKA9~mr\h2sw:R"mF~ށ RcN*:>tmk$' < 5EM'Lh[*oTKǩZI2EՄa* v;v>90Bq[e:'=(gL{:mk(vL mj Q{ Iw &&Tv]|Zxl{2 ?"%Z/%WĪj#;$Ʊ[g] 7 H J=f~e4&fSn \rλ&wagO|H[ELWvR/iƎ4x3KTױ%ń{MIMi.ѦjhVs;n`2Jur!"ߊbx z]K rL \]TLQ˸G>˓xCu*}w4 VtMJ`QE׳Yw ](Pz Gp A.z~. ϰkVK(.ҶB|C`E"ND(7[[X+G/ Rpte1P~)w-lܾmpKjW jKjI~ JfIe߽Y+4<$iZzR"z=pM>׭}wH]s^Q<)Wl5\D`E;1EiHT pPњϧ^ Lǃ!AU+tGD0n* "Zh.{7|'۝`4#( \Q#FXTeܸhh\9S;]/i3Gb;Վ0]z_5$˜/5"iF)5hVsT:[ꔌd%Gq #SUӜx:R;FT;Xvs{k&w }}p!g`﯉Gƌ!ظz[E   GtTIl`s?LgS}Ҹ5,# Y.᷹ iδ(ebYuY;H$&Gݒz0ZVM逍Tsf “V?jc9k8.KAcb^"rc}D@y*: 97[-PC5=(Ϡ7ڏ9pjJ5T U6AslUi7=ؔgJPv0펗 w)kL`a<-[x(:#rJobcs~`lF *Eb^ H(M&[*=٪X稥-m{,8^Kmh~*ws?C9V ;ՌPاE KTC}%O8kzD?3D2T=RVr 7Y)M~!m!dr*A2E̳Q3Z=V\*'VHk&Yo5h}% ~S4[]|]@# 'yƳ6CC! xKG(G +I֏0l )Ri%ŕCK|Q~MNȗJy1\2!Iax㒞6cف^:;̾QT)q 8ݔ[?t _zBz >X_Az/Ɓh#"'5WI\$>b72ۆn$`Pb o[\ߛ"k{*(pfذA{BXC,mgjH:+I=d}ҩS1M[ǺN]2LasMobUׁck:ɖh6*ɾUr?pNjٔ6kn-,5O95+?5*RPM& / {hDLMWb\wҰN P-&ZM'ǒc2ge9 ?# _8+O/U\wPx>DV'u$٪ҪKM7:Z'4V+ eCtzO'Iwӂb}+mǃ.P003I&V7_G_`贼6:D%xd~Tu??b#Zj,㫕^7]V ,`7B wF@F-n67U@Hcd~Ϝ?-~ߵ*[)W.JY&jQJ_Ń9;;sօQN,K3O4i^^ZD 2QP+~m.,!hNc7l8zF΍オU r`|?I؝'㡢K Ci 6îď5D9;)H0_t 8 ~59퓃6+*oƟvvS/ sVǑSԸܵ*M0?ycLCp?n9XI;h31Rf᷄m2;8-Vm E柶&Es1ܐTlvI&8`쉒 ri-W/Yl ia3$("mMX > H:5B'FK:M!Mƙ>/ܪZfWxâ9pp?_,f5ҹ lx)᳂b {>fHD8;od`c(nā&ݘ'خƐ;?ՑaɑQ!xÑwwP@! Z2P) 1rQfoZ>Grgn^vy:.CHIsrhЂUDf+Zv^^5m᷍o֌Z)Z7Umj.UL7 (ASsO_2k"r%0R#M"*n޸'g]hAX6 \!؃Bv-F$Z 5g&LE ,~OV\`:蓛3wQuV.qd,f^g?ۨ7- |0_ ᚝*#ʹ_NX/D3DBAU!!~eFlð$i 51fd0sTEo021bz>nJ+$7k3ԏ=PÂQFdVayDAh4l!qP_o"+݄K2"ȑ]kVPPB$_Jai,6 hZ<ZhqY>+wz"ٜ5mjK*?'x 3FX˅fϖ)0-q_K8 9t8ϹJD#4S&W$$*EJ83p8hlپy,8ehȡʳyv=_//{ɤMc z/yA~Yz"*ČMtTuVArttŚ}3gyk>]ʸkh)9v!bpE1+߬u7lONavk"9N 8d'91Ex갂.E&;h7P[t;Lt p[Ke`j^As@LeP{w92q ,4~n 7K3}ŋio6 ^<BRӗ(z?aC ƍJYӡRBtB^c8G593W!n ,Biuv9ҮհF/QSq(Nix|7/-_/0I͎q. \$1hSXʻ|>E=i8<܌c#yaUG$1z_#Y4T7/r+̊$W&lV'/"fD4l\'Yo)Xz'C}E1b|]vJWW{,{2pµJ} (6}܁eAu rė*}0aCa*|UYD14šȃEV 8vD㊢ Zw0u[tazjر0k莲gOotpߙ% ?-ΘY! u @PFyW;ϱ#Rg,_kWku|g;²?O!AvBS#$a1Ϗ<.[;w6mڟs2yC`AwuJ8FԀr'p^ǟD^=Y:apN, rOvG0M ѠDlkQ_>PczI}tv(/%ZW4*w?ӕ=/C;Y5B91—9 .i*W9 uJizh+<8ۦ^Hj/j 붊RIÇH'?,Fڍm}>M =UdYbɥ֩Z_̠%~5/(!XLWY,YF1}hNm!cQ۴gϭ |JLY}KjT[Օ|F*ѶKXDڨf Z&7+})9Fhha譼QPĠQؒiN?[35] ӵ4`B=4C,Z+7"s=z-<1B[Qu$EVH($lxHÄl,@ҡO fZ㒓u(_ĭ<)3Ө<`w{hRvkDX^7;9t]<.OW˕)C~ [~T^h,a,m63Z މGًo(h9NleȒUUUv1gREtN2Lg;ߎd@իޤZD@ T&RIrp\{I W9\W&7_@v8ԗH4Վmͷ+ZE r9)}fDNHR`߫6RJMNJVpATy꜔ ?0pevxepBM #9"N cĵ!9*61 ild; dPW"5%fBYs_M}f:)cfCUh2,*7u͖&`+zU!&9vW=|1qeسG'kiJ &PyM1FvYo@W) 5^"f򁮦1qJ\3iĊ&+)h|Tz"zwIژ:DP&bϰ'UE ̗u/]3݌0xURhS}&a]̴:S+^L/99TpUdwZҪT7ɬ ]??A s[­ݝ HgmUZ;:Y+OzUDr2Ew@=}mOi {;5*PfUI\9㚕x'dÙI;Df D8(b[{tffb <$2G&뗃&(NF(;x 1kK}n##G/IJe[~)iƷ_׉0ΕiO_ex` 4li Tcuì&\~Fr|+K/jХ߭C!rKr}9U:0!*D^'&iAb{pc~U 7!!C |\ovΆNφCk|<8~4IĻ)-5+3+0Hq #:mA8cnnni<=q(#?C"p/67{":}q0pYRCo'LKa(s Ċ>9?Hhly)4b=?bGkP"PEoo"z]w6ygzW*{>%Qu’GWLf?s~Dj^,rE lmngȃHҷ*\uSF/\n?0s1@rN{ Mf`vu ^<8"DJz>M N[ZNvAj**V]OA`  2BN-aX8fr5PZfs6e8 mH:SoZI@fzP>5|ƛVbHE<4ZS؄IQ%EHfU\na:Xĺko<,r L:\zy l躾iAcIu2r:ux"o┻a˓BVP%Ud_OC^-wE%n'ǎ)ƒHFLJWͷLgYbܙq_~#\^ʮ;o<HUi1Kn%Æbn⩆ؚ6,fu" % 9UD[Sj_*͕he$K8n6J} T?2h >`*0ڼz3Lp𫊉x+:#я[%M,m__Su=Zs8FQCO%*uLehƙ~Mg;y]LCѼ][+{EK͓Sޏ/Bl>l<[~Xd:߳%;>^{'B8;,:Y>yB<1)Չ31~#@=d0q /kqQO#Ǫ rlhfxh"p[WQ}1ʈrL&gm|xJ}vC|L2 9kȁS^)Ɂ XUj?#օؕ+VݝP9?g>`K˱ 786TvvdY 5N<%P}aֺDuĴJdfAַ댰+bz=06 fܗI|wA%J?)9ga[dJɸqOA{{C^}Riwi u֜14)A`歑X [Rg8?J*#ȫ%N)ʈ۠#fY1£xh'^qN/Qw8Ϳc˂d8"Y'H/B nG)/&&h6o;C->c4V0\ B!{MtXe*tpí'tZ6ң zZ) \cX 2/< Л-2-ꡙrj>+3@+rٕmFՕZx:^$3k@̖r^oZZd~ۡpvl9wёSyP\k*T6Xqႈ< ({rl:获FZ^&'A5BPMe4%r[;㒩RD)Bz^]ݖIE<װ.WߏZ+=ƤқudEY!I? m?J?PC:0C5ɺ{װF~쁯 (KW]qu O 'K^֮IS_Һ^ܴ[du 3oU{{{2XdRRCBzy`nY&fx&ÿ#U \k\D,\ %Jc B3vfAKK:Uñfր,@1VJ  \UȈi5];Z1;G|Bx|Y.9[M E bgƹv/w/*c# Vk`eyjRT:2uzY  F-YLSn/]{7횔O8whb4"'gC.`!ddHٮA5_f5C h0M 5nAh>>>:AQˀ)o_}q0ANC!|s餠sD+GVD `nuR( uhF9hp?f%2>Piv븨v"rgꔓۨdPM,t 沸@Н֤Ŀ.m c*S˛`u jB>dU>/8Ih,W^!!%MIkq $#rZ5o@*e~mk Yq+unCILJXiObi*BHw>9^#8-mbMVca9/7x\'MÑ?!cK*$gw\ W۪U$]Er߆ʮ=c&Ƨ?;2CX.̱*֥^no7;|^alARH%ly6f Xg@^:?Ji4%Y$YLV^IL#i@jJvHBfjPsfXOK!:jJѭ8͠%w*E[9oQF">}c0Y3NT@J#v>VH',9 BG8' Yfq }ytFQйW&zYnLK邬Q}MWԵ'X=`Pw}7O#|"P>i`j; y*`sDdjJך])>eZP>AM=A%[@5 Mi/IXyԽ"FVV2BsԂ@d&}@B޽ wĿHERmZbGYjꟋg,QhVHO9`yFN ym)瀂k5]Si io!%.Z{xwn ;-Q*(P0jXc^Iǔ f$m" ~'Yp0W:R=8#I"6ɢ4 w۩RfCqRͲP̨ԔNQG]MK-D9Ƽ ,؆X#`27г-j t_ȏ ~sӓsp{^胃r_IƜ_.me#e)wI8U|-O\j܏`8)*֣cn&0WM+mlm`*JGR4:^jbGT5 }:lw(dgY7@?+0;) 9"3Ns/#|#/=$>g:͡#ʵsnpq!d9%!*pA%vv1NՓGu돶w!uEu^xGt"1e:%6d++p6gקM_|QX@BKc-*jW*2GWl[rMik!3J8ejY/?XV5Fa|nENT4%AW]eT#>0ɩf H9LgDwI^¹oy0R&N/`\ΎH+pHy;1,PV\D|k^}o$X;3S܆5d#iJJ@|s eq-kXK * ѓ ~'T>E)`X5u(,OyrT !ۖXM?y]1N:|~/PD H r;4#F|mnP?M\c8y">r?8 aYq*D$hpA@1t!~1;庳>^@v*e*6*<gy:mb r/;Ў C,̓ۍ tz6hGBBHQkN3fMxU>TADHqd[9u 7IbkQ0%؋hMҒmkͧQ4Ѝm:rX3,5g;3Ay&'FYvLjjL\u0"HhKKj*Shqct7_UcOm SL]rN @%61y;8FXyH)[HK9Mgo & #1RBқQGc?K mL;KknᆅbTJm'-⟲} ZseKkz xqކX&dNٖY^"J0Z筯oRY 6rIʜ=2AKˊES=&m}OMT]{v_xkie{aCCb"Yzs._`?g3!AtOt:e'Hf 02 G_7V?M3L;= -_ r?] TBR#2svt}0d娂Kx/]65Lxʡae)%1Y[u;+_c[Pv<}jk {?ց(3WV4һ|p7G^-z h_S-@v}5-x^ϊ-$@F+$B*SPʹe=B; 5WU0u4_=UR# ; ~7ilZm^@L z/2υ$bq 4+֦VkgVڟ0pwop[3"k /q){r{}H75nlKvhFJM˄M)II 3b-΢.* kȐ%@W-FǞ` /8TB.@3;` Yq{ &QA"P1bVb;}#=k)t*Tc]k9/.&DB)} V $q2@’\<}A^Pi4ϐ:/ʤ D7@}#+z[o@(dl;ZHۏwTJcjIt ل:'eEed_3Tcc&t2c#{'xF(x#uq l'92$硉'pUgΠ2LӃ6HVqt]`a8q BV%`q$xniGCY*&3X2$? Y9n4o=6uCafglgCBy]YcMvΎwژėݟ!ZN<6Ao $~fX-Q ʀ {5.HQW3%p~O%"4~VUm+*KOʅ%|k3-mYyʌL¸/J8>h#K!%K* ]uA~1!tF9)^wN)|t7,sOYߖ#9ɋ:ź]JK#CM*# (z0>#>Oz`@G R n-Ten`Z FEd̪"&P䷠;LXׄKAw^3!*2 4`9_KCIHTwi~G0kkhfN;M,80n(o*Ę/*8Hj؎B ;Ps54 E'-E/KȂV2L煄/r+X`cGq!> sjOA pmqXSJTa(8(˟mK2U5,#o4M}j\QWql.մ/f'PNT54)Q]Ȱ m?( txmmFecl p9L> eTxLϕ\^dZxݷm?uԁ |F493* 약fiW]M>IR*Cy_;-8t1I¢&0}&sRщ8CG&bƢ~7V2jgc46?W[!+ĵU;%jH_ ZHQ>_8JyùmgZna?71M"۔tܭW@w|P̑ؐr.NJnHcubRΫa莘6#we& ]CCӢXx۸ /i4ڻzeG71 @߱P$eM&Wb6I\AcBqZ ^ߢ樔oh@@7o`: xf4pTz}Vc|ի 4*BimSUlI+L8M 8r6?|r3-P΋ i%`|Ar3 'x(:i6̦!+F4uvБxmI%Y1HKv(5xd?<S2[VqC+b~|d.·>K #=n<[6yl[Ҁ -|h~ R7`R{vtbdlz\'Ѝxk Q}z TE՛|o۩p6>ؖi8>Y;ylj"fy+jLpA Uh UDzZy_=ߟC9.LBO%V8>4r(GlmOB̥KACW+04$}3:@0Y"#{'|Ԙ$ܘJI#|.92bUwR(}+0 4>g>ûd-zPl۾<J옻c:e-zX R%U:n}zس46RX^%tp"'jD/Ѣpx)̸ܷ|kT)p!c/|)}+4q&W<:a u=%%MP8NA 9G!"庑2K:E6T(UFQs)]Nu=+mΪ%Ub#?T|v% {%nP2(,#}4C&\T0)4[嘘>!0HoxN n ӾN G҅r| zrH kVÀo94jHS7N߰ZӼРP k9kk,FU2Ck0 ;< hzd5xZn`ZL@ҷCwvh9ǂ^;r.;D9ũyjBEj{jkOwdM1\FStxh`XfIF-YѩEr؛nٌ3ìtnWe d}X,U8o`|buHq AܾRoz&pɦ^4f-Cm,G-VM+NEY 'd'qw;Ŗ5aɩoT5JO||RS?\۠ 9lr}Bs*F1CϢs<.ͱ1,OHzx72mOʖI2)Y9j7g&IJvzӇ+w7dɑbUk,Զ@l~n M1@^Eߦ ]UE.3+Hg['m`26N!R;扉_GT1zw0ն'fG:Gps|=2z9HHWf_hX1nz*nU$rlO;~$qT|fVCL|sş6/06;:yUY|CZ"B"7 1CƚXb8}R R$-i X2MƺvAH|эvBKQ2=a#z٬h%eπBalȂކEmnQSam6Q"fj8ֱȖ&wx6m<Hmum܍hd'xR(ɋ\Ao9Y1"nޮ푇[m^G [?Ӛê;\^Y- >{fR z kГJL̒̎ '})_% |ӞuGv7B] Y IӨ=ihNGIl;'2E92&('c?z&\ѧPvWogxV۵ x Ch{ExW|֧6er|]RKRo9ٛlwq#G]"--+@4 0yM+0u ?̂n )^HF 64fHwDN, Sm?ٺpaSew/3-;ӸJN{.5H '\bӢfݳa=;|'+r&t3gl-.0$^*zE^ݹe1[njh'WMl`CL>{ZzK`Eh.} !柱1C}/>*3ޗ7xi:C^hpR :1͝j3ni/>acD ~&5_{bpJ!N8+9 wʔ3!hYOorRv^B@*8yk[jպ ˛@ @LKvޕ:۳idA.#7vDT.M̡?YCF'_ xzhYC7{QXUP 唲ǣ͉o&++))^7cZ@ԮYH;pK^>ZX(;LrÌ@N g2{T%!&W>Ж]\]ðB"IWLL $] Q1~Mx.fOx[{yHa1߶%͎61e^W9G#Xc[׃3[ @kEzCl`%>RI0;I4I*ؠo4ʪųs* ,#rgqSk͝}z$#tIo}}|aioLeѥ?@>ƃ5KͿuB@Q1-z?:lO" a6s1[ZeI\7(aCmH04X9"M$ּ\h|}<8-寮1º+qPyj[{hE" v9Lc/1 il:Fϳ=a @cٙk\ WyFTN=R~Ј#o8.ot'W/p_ sdphQ+D5My[2y$)!2=T &/OTҚvg\` 7 VY *b3ކj y г$] Q=hO*3a(r̓4BG =vXU`_' RhQէR@X5[ĭX·u1Uv_)`qW[%7VslcjbhƱj]HPKEKBe:FsiH6Qj6)v:}kd&_KJEVH|Zb]WTKz5 ~:FJw K6 'o#Snw2K-Cm=L*Wf#*R^aXj #x5GN>#OͰ9(aaVpPSI} ɶ ځ6R2Rh?~4[*j*ƿk jz[7ez~ Q@zvpSkυ n̅K>KgpH.\ t^O>@Z(>ʽIXcC7h_)\=Sn)cG^KGlɲE $ڄcy1@jh e$x]b00#7kbnMi횕9ٶ蔒JNQ74<#1l>N0H!m~[/ܣv{h[Kw %r!S[L0-b_ܠ'fr&ʻjv> k2xiԾzYC~!# _RuzZt?hCR15JhSXێ|6+'NHJ`CUe+H}e=쟙i@ \n0 E0He>%ĥB.7yIar4+ǩ1IxN*T}kO ˂VLfX&Զyl@-Y) e1LxQi_/|KG*>4{AKm<'C٦6] j&Mdjd@Tu{&%D:=fەd~0,6('"OJ֛/{d=TNMNPd%r8}yeBdf9v(p5ѴX*fmd+^aᄈA)9E %=`jӋNQ# +j6hw%h<+Um'C3%H%)̿oMcI1IbUa\)0MM@u7M5)z17ZҾLh3|{k_HFAx}cgçĴՓ˨Ds_b*yFAW|N\ wxuI-P/12QfRIgSj.sЊzg4Ua.-X̥ ^{|Gou I9?/HG3z9[x>ln.1Xx,&c /k=Yk$l{Tk%UT 8.דM5@w vp,=`*e mm5}~jQ2L 8*7L8ӂ!]ë RaI1 %{yz!7%7f`Y ƙR!q4:Vu͟NRuJ&,*SΚ':/Pw2M!ߏoj,*v]p5٨&W*׍jn5,_D˅#yݳ|C١4"P 6)dCI <45&$?]{^ !ipbҢlO\B[C|2Di?|~G3e]+YJ̓@hɸي7\]mZեOu!}qDfC(B?2ږ۪ᵿ,n )Uh|鎊F63jM cG?Ի#s"~`H}u|HEbglUFeIܬ<xIJa:H2X(B lgޚ4*Ry'J]lpaaD2SVʈ­E b^z^rULw@⢣C)"{orpͯ=\"Π& Asx!lݛ*aN.jgCfey./=93'eT/smxB>R>S=H\-en3`a,UuБT8a9^ QUŦa=2Ywt^{J1,ӝtqҸ7b$D~=[53asd|cKP ϏK0mZr#|HX8/:vK0nYV{SPCѩZ -=Z<7M6`/V<:)zXH;(<w >rV[=!Ko,iy\筘6V2$5v"mj-kk)s]P.?O/fZ$J+7^ԓ\| O>hewlUEKO792H"R7. PbOp<) rzjDχ#KwK r W2sOl36,ʣvQ?_0!13 ς45 CCIGF\ER t0% Ѹu6޼%d3Ҳ ZMFl90/]A)g1[y\đH S?R0ʔBt #La3zD3l3|d"şnbju4Uez>-U AyU*ӷ 7TSA7g h<> 1=?D܁|!Л죄Ã+vos7(lC(·=%Z ױB CxSXC6*8G4YAi^f60h?] |YwO~VXsJ2mBt!0Q׵R#Cy=!*Cדo1o َ3ʂYYI"1?T߱m OdZB.8 h%p(I_}"E 0f^-GxjZepzc7o0ZFq.\Ժ$h+$ŸqIaxN|'Ut6^02S{fQg7ϴ!:T÷WR 9൳^Gty)**M"jvH˘>88eP; V]׽tVs.U%" \0&c o3IG\a [*TU0c]HL~0xաqYywTx08ms"i"% x{>¦>%mve\B6X_ ğ@oӺIlX<*mhsSPF( J~X#4LgGS%8m%fQ1=>[WY;5zG@Y;[q=I6 uGcKt*ߡJspi>%g}M=JRSe/ˋ矷ol4MM43r?XÆU|7n"lJ8()^0ʡx'4B\ Qy/_] NJH훹cȽeYAPPgMc=xFB>qqN.Q<~Y}UӦm⇖).XzYɝݎ^cv:ڼ?-{;%H+ ܍v=n1.\7;gY氮@~݄$Y% b]1Ui^&li&-V]Z < V>zZ8x`':p bځ[$aF=.>aޞ82:D(Tқ5u39{jҵ5qb8"TP?R,bWT0ÙZqt0,t5LO}ސ߇&/'HLiUrE`tϪעʝ+K#A?:Lr Mq_"@4øa):#Pbem S5ZCa֦0kьȱ !Tb˿ -UCbK%OJU((k~~5lnQ&(nte݁>{ 6_Cm8|J~W:rU^ H+aTj:12Vs3Tʯi0V5Z.ŚC$;v˥:pВp~xp1 '2FG8Iq/"Uqoć=I;(ahW<|}!gٽ9yF(?"ˣmJs\IzIp?~N{Ea`d kGdh|L0{DTYI9 C`rkzj0}V`/\T@ۤqsw ;>x4Na!{"^&y1oL-Ղ1Hwd]qj/G,Q$<_‡j3DŽpώ%gy߲=Q):-jW:JH_u8{gU K4R3O,\SߌR xk҇>R<ʯMoo׀zu9Q5*pOKFn{3Y)0Ljyuf9 sF6Bx=4$@;ea83 L1Af].F5D$)^s z '|ÑpCMGv ^Lņ_Lg-YDg6q+rWy38mu:]Bm^.mIs&P,#V6Ynpy#hr(.CEW'sNboKLU\eWf(b'26 M1c*.ANZ].O\2ClEO %gěX]{L27ݴH ?ڍ;l6!|?3T袉L4 о p3?';DaAiRP:.RO1 ^dX2Rb8aqTU8Ҝ1w3~Uˬ*7rƽ&pAqd B}@xO թ..ozIq8ϟg~T:u\|5\#YbY󜕄̷ΆAJD6g#zcOqm Z9Xϕ=׀;b{)Ov>}Vd W[ ADm&FNl:}  nwx,1t2L5^Pg4cjm5y_]ՙu*):ꨌ rR\15h5|w.w%珄\%it-?UMj ,{L"h'4pP8W A?igpJfzx~6!#0VV-Qlj~tokrh%xPV :4hQE2-Լx勱hӉ x K$vqhX=xщHY!U@!À,<8ܪS<Ӝp`t 3uzqb[HPD`]=^M(VMCW E ZwsNuR<ZUY:]Q'ʹ“ͷ>75j"  ~ n:4ciY;s(ūsMQ mWTvar:p%:#23:LrO$(kؙ;3JS Lfg!+{@ OGf䂔RQ-=B"fdǺv~ \Ύ߻WNba7^zO4{2>QpNңQq;7t6$Jl%_rRX+xJE^z0dDwm1Ch|PKfZ& &E`xfQSzY Zρ5 PZغ[(b;u΂6`逮2S8tI.yPVcw >X区 qkOeXb"RH/"<H) &# sH@  4i%A}ГcΌI7XXqA9>/o-f!sm*ԁ.~~M=?!ޛiR4\[6&TCgW"o:-2'@W(rƐVƪ" '>Q˜T}>WXy?2L$/y@a&9X| 2@ICC%ҮI> P &|!0֪ l1dZCE y}f'ƵWop@Bw+)=W Bi.=FX^ mV~7HA<2S0-<4& V7G*@:2$:hc xNkpSj$L#6& RC? f-#+xҞ.uWdO-h2Ckp㗰_ Xu$4'<1MTJT`Y] ;jo"MG}r.dy.&g* a`‡Kib#`wqcʖ! + {tSAt` #Jh&{쳌 a۾\MUIWQ 38$`Ca`%6u%#TUiT7!CO>h J<ӿ6RQjH)wAo(wиEVTb7!޲ok_ྂB%Anw*e V`iq/i޸ _@tn*mIwAtK1h^Pil,ǜWbR$\YV_gu͚zؚE0Ȭz !2 Nw(y7$?nwI!C8nG Bݿn6Eɖ% Uˉ,u7²}<BdQOf9m1=#pmp8a7~xiGHkD[k$vj1"g紛OcWUl~GZnqj (LonC_dƩ{: Z'T1:1,͞0 lL֙Gzyb5cOe200GwD"Ȣ""l[Wm8R}Y :͊#nz>U2pXm rۥL5M[P? -[Ez--"Omd*+鐤?jw|P3^uA8V]PUXAqZy3j֠3B:6А$ky,᪕1|ԇ!j6` f41 qS4]&/FlP 2jY7Ԛ\/joX[oB7`@?[Y.nr)ln&"&T^03_3fljRFDkACqEp\۶dq&=X HQf׮muv7 bfmK- yr7Ru&iJ6|?I =yuqbDK/8~2<pwk GNg:rbyG6 -k.J#NT\Fsc(#`G~#MpVܜi9 O֣C_ˡ^^ϼ;-mZ)Zr|mJ4v_crs.s!CYrY.J/# v1J \n4b>]HYު)q0]cC:MdTW' ]"Eż[PcJJv9n e}`Is󈩹[2J+'oM}(7uHD\P"lYE%;X|JOMcO۾)K೛q r¡/DRa&G _QޯdH=ì@^Eg1a:,ֺ"ea&ZGsS 7X9x:?=Tj iR)pIOr/ e (eg<2Қ':kz΁ ǣq{3t!k1)Kw9^'} (ڽn4c`͕m85%Fkes[N ~+|WQe^h)=t%nM4iI $m<2E(Uc3sU?ZQ[ Hug,-E|ŃC7k1׀6ݴ٧M>Yҧq+|u:P9#E-fIUcEAc]<%lAQTe",f`O}ƑIȏaҺlqMDybYm(vtnE瀖*'LK kLi'veUXq&y` /0 >c$ů~ߍ{vc~p)BhW4o=PIJ8.Nki!GCNZ-ڇ9qإDﳷs2VwURΏ_Rg&3c,2#ׯc2jﭾJ\JIƶVtT~_9z8'tXؠ컀+ y\%q| jYxTAº~>j?׹:Fu9WV=Ǚ*z,B?mŤqZs`AJ89[wW:Jxj ݌] U͘r~gnF1{ 8=`A:(3r>.^1_ +5~%K e8,ZeAڱv7F6b_ry43`nP0 n|xE @Lİ[Ttyjdvة73hdqRЖ+T< 7b>ٕ%C)_I0 T*lX)6UFrND[&RCQHKDw=ϩ@dR3153SGgX-FBo߄J1<2{[3H7t8Sj`(]2Лhbh[G*U tAΟFTleT0NZ-I .D@(r4K{zoW_X+3$\V05t@ڧmu @dodH?QHd|]UߟwSGPǓm I}B-G\(?4@`wpgGK}f1dInWW c:҇ہO\PH"V̑S"x;Ki:j)JC &kꢛipxQ?aIN̝Jh]Qb(6 7ԦsNec0*MApv}/N >+#dMf18.sU[Cz >PMCV#0f|&c#L0²89NaS6KOW6<1d^!o9 A%5>̶g3X }(eX(wbU9ks.MeuET/ǰ?\+cF !)tF;D)iII&DrjQNl P}zUr@6Qq480%o[*՜Qp@!YぇG:,(JF\\ږ௎/cf2,^SK4[ _-G85(I!rMEI4ϦöEC;][rڭ~zV:,mg\J7wvtV:S;ЛNֈf֚J!UkUF@U8wm9 zoj Ȓrz LzD2!t-pYwT5 #^{T۟N#3u]*nS"q Ղb< tg(ߞ+b*:r~b2 6W-'x>=vըtfgQhADO1;-u*n]]_\}IՂ+AvD(] (rB(h17|H6Jw?3]Aƺ eLau_Z/E#N$q@8`ynS`")!ۿ1'2tz#vH ҩڬqpKQMcQV@Y}' HTqAܨSY#K#MBC2w/D="= ,t;/mvs6Kzbo[Bak=;,2XIR `TEynbh)0~[iм@mHKFkq$<1>;WE7od $51+~씬MP{2ώQ6ժ?ÁEA7!b$ߠOgأF2Ә;d._% 448{|lHC~@cv<$' 2t!-U(R!P@J9iD.(M^mgpyt Z,#ˁp/0kaKycs"oZKKz[Rr6! =l%L+Ex3kyGċ..אZSa5y:!vm(}etȩۏz Dy$̸#hK FoMٹaf.[$IsPtѭ[8ú{~uԩ+oBp^ozl_$`3FzKFWi=Q#{A,$\zZ Acz ̂X lp=Z.zP^ x"}i<5飼0%?/$G3VBL~zQ(5S2w'rkmxN.x>\"j\Vt)s`U(<6}( el^H|h%ḂaPnצ0  Y{F®0,xP|./7v,7}= nM7#?Q&!l߯68Xt-ct,Usd:kP̵kZ&F&q8nClp3`b6Ie^b<[2 CUf\Jy+3,5uuJJf:_ZhDM}cHj6s@  IcVZ0Y&#+Z3PAp"*?rĪ&)=ycK$\H)]8+^a gv >oEͩ7[{ffIiGt6O}\=`F@JwaAܽxg"˄Vʜco3 M)F5NsG~\/qYJC_vl0u/^`稖}J{>̈́w l9nb*h Sr=[E$=qe+G}I@OuƷy0}- ,#=ImLzoND}lk’t4dV~P \x{_6AikAu362LK3 ϝ55W]81l- el$x^nx, Ma܅"'-H"\R,Е DT7?ˆ=f/-y椞o߂(~sŜbeTNJ&0s\SoMZW?&Ў<{ BF2VCM^WSe`{oOUdɬ!ԶԕYޢ5^x.O1s3HiM:@Bn+2#}ݬF܏mE{W|ӡ? ;@y[mW#XPO$=$t]19VO(|[0Ay+zj9R=?P" 5>OZi%N@PmVa y 8{őˍҍ{7G"`mW"TteZ :znHdJ||x1ʝX16\<4A$~to] ^Eξ .e׆ʓ!D6aM{-3 @7K!Y!SZĄL`+]vb# GoWU)ћ;-EX]f^^zZG墇_9B3.(Wj±]EXb!':b+ΓW~l\a$g`_. Jg~;Hm$i~N5 rD;+.-&&T)&qla;_Q,Ȭ&cc-J8 y/k֧,mu@đZElA'癜; [uOAD%s7͑ xy]5 (*:Nkb^ʡ9I`#Vu" !7e[$D|(_VUqWV0_or!'s"#Jd3)-PlKa̡N Xt@^;ڶnCdx3F9hv&aDl6t52wLsOu4G"2Kc#1xquп&&07.h^^S]וYd^{e>%;5`81?Z%jOԀ Fd@QL\oZ2R7XFW%|Y|bY-iL ̤^aYW`dqł_,ܸ|I^[b^8 <SB邺b4(\##0Par!!z6Lz]̑ݿfrXrS/)ҀthˇʨЈ n[y7Px|X. }X֕HT_crlU(=ICY^>艶P\?3Peד$5HƚQdII޸q2,iDŀMi y#kiYzp*z)M c8WU[fjn8M ET)g{R8^=0zR'wLi# K U(d<$;%lԲn1mH!pG36;Zc ʭ=Q!*^CMJoL'VZ 괊3Mr?eI܏ n*Aq;Ibs AZ *s56/ kuSm7e죨fhj['[RiMk{9"ZgS&y-`&`qa-*n7hu!xI` Qi'0}P /H}}(5Uf#LT ,d:oI@*gG_4zqtv8t.%ܿB)8?8~r|٫Rl 7FCW£2AU_= _@ƒyKcc3 ci͖\&RhZ }1ĘWj'&NMiQ71d& vjsh*y1gN]u'V a*Rbb(Η%.L_o˂6TGb 8?y_ %zU^,e#w}, w h)}lr}HeͼN0|Jyy_x5~)E$z kf.A#/uqwl(M1)V!0!}r @Ҫ%H}a!so }ZL@Y.+񶯋j.\i@CyRy'lcϙZJ#1y ]aA~ 7f9X׮V 8hxw~Scw~p4!ʹ(4@t-[Lf!"V#ţύmS~@P)E)2g=R J>1vK#E!ѩ*3g|vא k\ q~aU >HRO Jj9wn%W PSrY%2κI7aY#vHSE, &b $auR;|' knlgHEd)HueVaNJ}]P4IRAbU$wU ChdN?؇:-iш_'L;׉-;!x ]:s`OP̀ %dY_l &-* l|uv0Y!}֬[` e5b&bP\RwDĊGz_IG 伂 zUߡ5Kҭ2/̎q&ZLr.{[Pul4( 3Hn V7ի7W4i"w"2G u oF@l5όV~PuӎP\Twѭ7R;AXhkm¨\ՋMJњSyPY KH[ Wm]L5s k[Cb=mӴnt2kq$[R"kwF>໾Vjy;]rsvuYwVookp–^9Jsva媧X r5B~|6y}.s8ϯmDkjRp]3y;ن)?-^EL ݘa =vVAבl1 JABA(؁[E|Fz-+v: e7ǥ-Mbp J<îQ}/Go?U\[#jdӟ|~(6" N<1_$>Zlbn%z RGUvl`f${0l~OaV.04WPtP&;:3qjvauz$/oO ,QgYFxkH({ɺ_2+4 }7<"ژ K{*ky k KAZ'® ћRA_4ʼnR"JAO ltm!1kXp&bqaŮڱ֩:q;U@/T[郫v\)L U?_*"(qWĶ1e.]2u>OXTY {GBQ.'Bd]mT+0ət$n78AD}D=<$KC%"߆cW{R]-ҮkY 81Y .gؒ%a~"jTȠ4?J\ⷋп\Ouhά&&X(©Xʇ [+2}{G25J eć1iӟ'$d3|ŌWQ/()d:jx-jeBYn-Pv(ja*`S ? ̴f%BD$/hY{mw8P1R#.m[ds4 |S$ -# aI\ZϖX6s$hY9eTfJ7tMܤR{$K6\Cu7?wUv^#ηUsvJi7jMentLzYh+\&b+>O0!6k%SAw5k8Wec `[yՇwƂu^юhWQ%[fNMo)D YC{ͪҋi2qi SAz;@km[6 Œi=to~ FYUx36o xJXotU /*Xv fؾL*$3Yɴ(u @L)ٯt=O] -GVc7 Ychۉ24_fp?SHOPt@]Lpi[<fp>]q5Ldꟗ-D{Ą84]*&^8{<^gyH/TTIע` EX}\xo=2J $*p^=emR[*5TXտ2i{ r8=V"%1nX(0Tj (s_nsG'"?|GvdR 2@EON5CU,oБu+,~˔Y^qJbѮuu*/R&۔TO1?Ҧ$9]IXfd7>z ]LAXہ=V4wYH)شaEZlBѳr0FlҢ;RGԬ@(KaT} C#t jqŔ.e'iwQ嫈N|=cxR]u Ez {5ҹlhN@,+TUf'w׹ {pԊtaMNHbZz;Qt.\MeIX,Bc|oV3/lƸ-Id4L^[UD#*qGCi_,dC:D}jlFh0ͫ VwlI0-UdȂ ҉(g=mr Zή;C#"'$1mKLpJv-/F.\A5ThS5r󌮻Ok%g KZ̆gW`I722E? S+TW*@I_ߖJةXaP<`+(E!͇ƼdKqYi>jrW fC bĕy|?b0nL_BVA3i[3A&&b|7#=dÕ B]\:f]qCY8Pe.z-<uA)Rԩ&@m@›b\{,Hux:s; PǮM.:5ЗypW^!R阴i֖yNSb[= qlf +Avݖ3@cXsqhcN@s6TddͿ&"H7 /4ܷ\AjیzpJ̍YMqEi%}=500^ ml]KB Rf7 ݼHӝ=ۚ wfݚyI>@PA| =qylD({SNxܺىĿ6 G ]Lw/&G D·@ch-e CyA=R\>AX:%*S෈Y&$ >u5*L яD=z!*7E^I[岘^3JE3]tzLTdȺ\yeBvɪCNŌsꗂg0?T ~ fbĂ7`Pyi> ĉ!A&;%Ȣo I[Ę}ހ+OE@YįP[y\JdZ {8Hc7 sd{ߔƑk+ uRWVn#%JgXT.mm2R$u-Ė3k'OEV5l*$|n]Kݱօ{%FڣSіy49]6 2R}E P!ŪIX<[lp+Q|ů2:AL#ajKhH=N@EDH˽m_gT37bgex\Q 7 x 鼳k*gC5b'dɿI앦:DEi:y)$zAU Pv(*WO`ڲOT[AKu|2<]"Ձ<\}#D,Mۤ Zmkpw`-.TeF\e1]ii$j`嗶6z~jkjr|-z ?ջ}1᭷i#4^|7 tei8ݶW齠-3C*WZ,j73j\#=؋c5 [%Ƅ+FTr= }{DzhOXǟrĘ|'b P1;+gp,CcJ/M Jf0 xiZly̱N2/Xۘ`qWn6J"W.}ߦ7O6>dfBEÑ,D$pyZʹ/h ^o==`oZJ _YcC2w !}R L"fP@KQ, `dJ(dPu!af_Ya&]-M97d>"K5_ ){Ї 'x$P5+$^G3>Rkt1޳2ĸ^d X,^OUq+_ MrhzB?'ʊ=I/،P%X(Nda5vfJY-0[pǂih|+nFtPI8;0'0+ʥlXIR tuZ4R)[WA "[Yثp !ژ` =I0yD$;_Вi&!ủ"8W9rHT(0v!!SP-M)y@jHgSf*3me4NSVꜰ&HͲ7;%a<@V!7V#7k%a%Rt˵cNr*%n֍++2rP%bfbM#8X?JkGQztSv,;3F)i%DNV3Euܹ7|@{ac{RƳ@-E tE{6~.FL#0#0cpO|u?lسKa,'ifQzc~ H̆Ȝ_xUuaP@6Yug+@&S"iFԱa5yuSjg8{N?xJub{Htn Ge-MS Qd^l mcWl@ XW|՚Fs*ύ:=}+z8QxO\lIg |+^X5Cv~H7^EDƇ֥:ED(l|X06jD54R~(t-q~! K##[!dcc,=R )V; <Z{o}+Shŗf>J AF~MACX&@T Iv-v}[tz7QY\GSʩf=K_21O pdU)l?9Z@|Z{A&1OtAf;bR7s>p&a/Ne1S>9(:W(qfht72\ow^}._zv #bZ5`iXxq%Y9zEzaow[CK0KZ7Jz1H]K4˨_?RtaֆvK:.M?`is\սEI ̈́YFʚ"SAx0gBY/n$_h8,5N; M-v#+n^ۆ`'5PFN &z* "q1{l¦t9] ]5~04@4=os`7M%-E-B>-/Nhh.$e(]Z5aE0h2!/?7-8+ٕLi'&ߩ,̀/DZN7`I8yh3K&> k;;>lۦy4'B|ԡ)pĔuXNȾ]~$O_ Ț}O&H!ATCܙooX2tX ->VkAȨ=ҭEm.upRW"*uT%urYeߪPisW'%tĕp*}5q g˝W—"F彏F Dqk|Ī}+^@$6׻lzW/4Iq{O1d?K˚ W @@`hߝ Gi$y<.}Sl !-zqY`F5N`)Ȫ̎b_v/Sޗ^ֲMJ ͙gIV :T;c{SueVE(YcA8Q^oG_ /)fwU"PGfy)Bm TZStR4,K/E!w JS `#O9b٣ڃv淒ὅ5~F.}6Q k\;bݝģp`M)YJ4z 7aeoµ F*K^hЙp8FTgy[a*ak zBq~!W"RB|" dt=JWv/܆x]r ȗG.m Lf<Ǫ#hv  pW3tÜ?A Q.}/HŜ OVJinJ4灕]Rigil~JO =:ߟќҌ-oKu'2f%̙"*rN*p$I_فB(n^{U]wԊ;bN-U:MӶpz zKK*># m~?eB/PQ<lPΫ+ሆ잒" Q5論CZ)_Oފ6VTEhŜ*6>>Ψo[ ]파-5S}f~ܲZH&e&]ʭ&}U>U4P[)ͳG\8d#5D %;o#)} 2hS]5%Fׇ@6WLyU[\!7|dLAsbdw{l3CeXukB1Y ~vunS-<$ȝS8*>wQt!8*ё;Po6WۑTD^m:4:03íYT"?c)-=\^ĬF2t$ܷ7#i C"H V5|T#q0C=+0Ĥ$t}c"v@|VܷmI 6`: 쒩'QeCD>P*}Wh[~J٭ =`t*1չuk Bw2F2*w,4 `hjz|-G\ Kd[2Nz{(` C?ƒœ}l[5`AZ7~N=qD;v.(bOtOs5xY7w,R Qrm2Gn& E>cC,L ~]!OvEk`zw:HAdQSTQq>WbbVE5(:koeX `!u:xRּm'ڔ:Ř%7 F~$Zi~vlP[_4q2<7jgcyZ27)k,&l/@݆Z:76%;PP@OCPUQ]~ˢMֲc˗3-fIpLXZ{rD,g zb<(_u)IC7H.H5=@|% hADCy> nE`qk$!*2,QҼi@b*\|TbOۗ=٥7Q*֮yjp-/V7I=R lgtvXxKskXj\A7>t5Ґ]!Q ]z~dipIsZui$J/E3 WA@%=mՃ}^r%1I$9~*Z?P>E_kשC=)rTƬFHC? t ,ۏFj Ȅ)*36(VE{I~bh]̣eJ(?3ij_m)mW'( pVum:o%К <+3pڙ&}̦1f{8':hPs|d/&Cj~H8_խ- \B+8B%k(^;?mvXgyaWSzG+шSD3|1'^|ܢ*\{%uH\z7Yr;PZdQ8?Vʡ₥vyȠj$/y}{NfXqilB- 232X4 >JYt'uKr.[u`YVۗ3&Ukj{:-/|⫷=% ,-R+kc:;ޖW*&t I\#0-L}*DxM;H C@vH/P)R!/yjИKnDXk{*V!ɕm}"eEz歉f|U:Te#Xn 4PD|CKVga3f^ۮw~\u:D~t 7CWF~Ru2١d}~K:쬭j~ ;$!M; E|C!#`U\Ac؄B/Lpl " =|1 'm nU/"3lD$f9Gb4G|E 0ف1zXҌܰbY zͰy_[5@V.Ц;CHu@TT\%-D55'yQBHwkX@*T;œ]+ۑ(52 dR ++/}E2Ho#V?_|ܛR6_ܻf}XJcY:;$}yhڅ݊ЇJ ſt 3O=zVaQrD&,tC5̹vmKSVWT?w%#)^+jfF'Zq+LV.W Fqf(pMsyBBNc 9 bFw"x'Z`ۋmMRamZrzƖ5eSBS*15G P)-g #9"eP~oδ~@@8Me~=NlEl΅l9ee&ÑxF95m._5JE= ߠ(][i `jL** |VWOKz&B9r8 's.6):R~$$WF3'R>pd}# 2;avgzjZ}fJۼHzV3 ;2fF_N\4́`B54..jS֡FT'6KI%8` ,Ζgb'Kk&\{7m6M1v q>E~5Gsp̈Yzghs?Q #|\+Қ> t1W-ˏ-?dr!mmNDyζ!+itX^5e̘ƹ\_4F$[2x ʥ=0!Lur^&x@PH,2&zsC*'UbG>ڙcG(^W]:_} HTɇ$e'_B$ٷcHtZTp%3t(:{5 8}we/\\Ic'YPwjK2Pc|ce<9$n3e<˶ ZG}Êt`4c6O`2O,ł>2*G˓3ڴpvVHfTzG/<-{J\'@9AN>qkq>P=ˏ+N.i ,cx[i>}$B“@)z{o7ʏ9&c|Tr =c๚1k#?d;.jc.(pvG!bkHF`ג#iPN GWxK3~ A pl?T;.HumBL nC.#:|cu41ؐWc_'Q7ɉYrHb "*qpWJpŵu4u8;vݻhd|}^D1^;z{_v?"nOWe9=*ۨ1g1qlݪ.z׾PεMX)݉E2qj1! 9@ qh(.: qqy,܌qp*!T[2:U^qBFCQXOdNajϞtه7{'NVhmwo: n.?5vKb8 BFj#cPfErMk B*h!K*)\qęB j|p]7 xsy&)5z qIσ;@BX2P5&cijwEM EEa䌒Mh<: gvq~i-,d,F4U5Tlp 9֘_cLV':ޏHjߵ~z:0g/g1L^!qTv+rqDܮfQ@sQ \˳iK&j$@*.|?A֦r(Bxj6vkBa@C.P&Z9v+{Y9 LsfaQ]ujy1KQS'`$Jze0ȹbEr`Jr~$+wȱGT |?\O\)?+\xRVHd pVnϢ?UYpP<vG`T`cHPc tpy]h.13UG>J$7xLB$?Z$Zl Cq80Kr@Ѡv. /h^d'!{L5Gu.w 9=8yGSo[7B$7zwz0duG5VmQ,M($(UuWK Kn>k2/ "4UQ b8 yE@pT>]T/Щǩjö K]#O?ãoi#]v:(ɅY ZFSG-+sj|ĶOwLQmvIxh T1Nr[# tWO: uGCj ԯN?_ 3zݰ|}.@ a%$= MJŠa1)n:A2?05 KъyHS0Ј*v~ֽ~X`){*b{L;8Js]ܫp@)9WrmZzqS(n_Qmu/kT 6jrMu`2l4Mq [}\B.\a s9J&Q}DH#C[_lt^?eņu鞃G#H<:i`_cms{Ys}=FV Q-]{IjqrLαttu]&3"|U<=?'N^*CM=":͙X?CÌyD򝮥W,v<" mOKy;NX8\oO:_&?Ъ$nKР$WB] )IWDWioj?1yғFcCw$"/B(0 ػ:1Ӄt-s95@ŢBh .r=]u1/ŐSI03(#0Pd(n`[= J rN1g V=1Ii o yP̣a$qso9$M좕3vf(ğ]K}ZK&i8p_yohCPlzttT-xM+/Q w R+ "1; #j1yRC{+4MDTKpʇS!n}^p"Ɏz!=?Q mL=7r!noL`Fv8RZjU>Cdc;?ӈ5#V[eﳴ~_s;?*P엯z}(&uӿS XXܣ_ѰAO^R\Q@_'TQ,ByH2Pj۴98 aqa\`!!Y?2R5 LkE6~ 7s7wr`!(@>S>\|0ā*y AOZ㋔a8ӡT|Z55ܤڥdj+<^H|1+d򣋌f`8 pO&Xz_|3\\խC\cE1g;𿲣N`A^hPcw@^^#!;^Yd,MGz]Cߦ̡gX hC^QWi bo'kեypT6D%k(ǘa:iL8imr>{ox fRo8QNMUz%O6 !)]a Ƶ%r0I9(E[ yBFTزԽ[sFfP)`bgKߞu0fBkUlSS:ߠj&x޹5{قc @?՘(,2ap8-&#u[b/>ψЫ¯'eUrYlrk]ujkŵ 9+mjԳ2>dAlBjҦṿk-_oY_ҩ2)ut"`]5c9FfO3 ڴb 0doHCVƋ7S_*SL6xu,}M- 'WéFgu_Q Ͳ621h^u\lS$sl: Ej! ߎ}[Mh˿p:%13%1# 7 {ID!'$-}%-(0LN-h:EzmYo:Fu: .%Z Y߂@@WZ1*S(=e$RwPꡅ0r jwyoarA͘}v/: eݝ#'lr!z 8~ oq4 &/Ex$#au,+FM%Km%(\Yp߭+[an ֪;8P1m]p>Ss]yR.`yW/L2dzYka+7"jy6~Kl529<5*? Ws@=X=F9Wrt]|psKd}ʑ<8\`kVHv)]\Z Q"V]3&9imԼ>0Wx$۴ig?av~tMӅmν$7<< ~XuJx2\ު ojRXIG9}7WljL;,zyp"s*eyyyO|,TM<p:-ѫ!j@EHOE[-XR#>ה<:ey,.?Erm~4̒K4'vlBL[;̅? 5jyDWKC8pⵐִ؀'$j߁׮oRS cG Qt< g+=7OD>+f۾f!5$48+7.8K,O>tlIQQt6Hc<C'5fߑR^&L1Ià hh#to2؍O S8hrepo$P#&XL~${ݑѵۘԹL3i?x_oe(q[1ę=D(m} } 5^8%7=0̲ϕ=1Ȝj H {1i$5mR~Q+q ˬ@^l4]yիRŮ} 8$tޭC”Q}Rx}r\x-=|nƏJ30iju}R$QR|dthuzֲ\T$o;|H@ č7$ٹ G}){L-.feMڐ NjsᵀLwdHFz)b)ښQ]"%A'芐@<.$tW5DF 'ՓCe`xz7U-U0"m(onV׶-W}"9U4`=c2b#2H-Yaa*o#!]Ջl|N$/%!'Qic ۹hmի8'/j+QLX'>,8H( y\1&\94F>+Qk FN:DY˷lc|\Hrd+VP514e+nD=< WX$̪$/Bn';Bs՗g+2f/F@g/THh~wB^NiPű&Ҍ#de>A~fS >̷&Z̵ejO8E0m82sV7"ex't9IӀ=Q9J"^zE]k>;\( h8Tۙ0IE?[:$=;-, #yj`Iw轵ܜTĀCܲD]*{֪-]b#T lGcP|߹M0KW8YP¦]9. z=݆f}1dcr'цnL?O?OCdkJB 樊^[x5RX!`sL,P*qŖT|xǿyRPq8 N(;.Ʋ[D3 aSyDY}gׯ\.x$Y) ^Tg׸ #+zYu$w?z[7?6~{;7.Ű*rtk3R@YƩw!lr;IK9!|(޺vdtcb O51^E4YOyɯ|tR3tbT26p|5#EnIERGƇ&z6|KCNtwrrep]. ,|E2%ux^/Ċj#inXl64]:;1hY! ^կ'H:8)9Wm\1,S7ЈsN5d&*fY?_ G!sſ'z$Y﹨RdH?"61!bA!ݡ;2{y2 G]ÀOVXcE2'6%13raZyd XW2 ~zi{XttnjL^"L~C( w72o8D( j0V5IW*ݑ45 ^>((KV/D 4Xh==~N):x:iWMMW$-(|Նlw`dg}Ù-Q'bkdF :Ÿ tId4L nv;5d_wMNwmظ1as. 6hஊ5i#mT65dSGl隧qٙ#HہW(%#8߫R"UvI_^ק8}DuE.ii1.K.m+H3 ڸ<ƚ&07<%U\!KK?qQʴrF[aW"4kk3 nAxMuB:{'QޢX ~$UK$N y>;m\?cJ{Mo3 D>ī⟗{ȿ\UW ֣[av h#˘$垄5R#Ⲙ$+|Ի)qmxUԎH^b1d#Ј @yøcW)Qd#L=(ez\hLnfPYz)J:ʥi:*hzcIzy E&#il"+Red~ۃJMӝcTV"l/+4Hpc4wdDD=VW:s %X %^>N;%^s,1vB(ada FÒͲ4$euH\DѺpz&Ƨ更XE6cŢ7HX4 oMx8&6(@ݺRǖ g 랡ɳyRLY-}$^#$#eU.^ G" $ߴ\hxE?7&ikLlHX6Ga`2T4'û6!?_W:5l*fT3scv7e\'XG1XI>6c8{KE4*ϻoMԓ mB93XY9QBM(V  ӅlQBh++75u6gE 5DWVKec/n\^?@hfAr aj(L83uš~aD^d5):ҧ`ga?Z(`V0"K]„!t9q]|8y,֣ IN݆mn]{:-m:Q%?:sn/wM65ь@LQQOgJ)bTTT/@58-_L;kɈ$$Vg$c@gT2r o,`]j1V5n.9Gkђhցc|T ]]DNacq؆/L5&ufʙ' 0+v!5`|XfҎ|IPe6gTd;[ZYw L0A2 h{ armd5)([ƀLm&6歡ӬvW(}H$賮8I*oCm2i\hPeCޙ7FumB%߅M%:?D ,*r$]8&9xFZdYvDNo!Lywa?0R@Sҭ>\B}}8͊"V) ' X̻L*NhWZsEPvAU`rTQU!rm8[;݈x-|$뾍ن BmMu>_G\gmoR@\ӵ2+v=dm$D!m˗\.fIH֢TQJfk3KlK2_vV:)#IŸsf Oyg.`&h?Z։ѡÃRw)8A^åٜͭPJ*2:sz~ kgPoR蛆mX,Y'pB`,"-Qm:4zI\:|gX_G84gOPƒn6gIC|L"JPAQ\Y΋8޲JxKj_|mbÞR{MwS; 29$"|kю&t*}$*nj$,ɘWdl=kqV!hȏZ5M~׫Th4&76htXpPBnxMgBSOQ a`YA2z/w{mU-k[H/Qz#ߌx^^F"X}Ov04bb] 4*EB`"jE3trʛ8 #F$RYqe35εe_3dmp>/# Gvا%W^mƃ״<`wŎZ:ۅ[|8,`\]Z 8Q[jR 'D[|U_O!n7+&l!i{f\`|t  !h%v*f}$=5ñ~| #\!L\6R?-6Pt`?qYFUPE-4-E2,1OyAMK $7 ~eC0ݳ\a8JAԩ7 =٥H<'+J;Ʈ B۲bJWً`@ڕ,+@NY oЄU[ǣ*Re^!*hEV\:CXTB`֨ydoB![&5_%`mMjהѐX#LvrEi$Rn_'!qFj,^),js> Y*6ɛ. }!գ'G NFnĮs ?,Dlh3spU\ RUF>̀܉N(F&o1X)4tp"y7!pS#y[!ފ%Kl~ t q~fXRȁxtXyE*dUdѰ_z9Ɯ}=^pd~vN7SRrc}ut@h-@ 5% a\:!PMszòYQv>ڢ ^$/ aVINUKkmVZ@AN 5#Xove AkS%cy9SMM1Me!7Xȳc`ڕab#1&{`T숝6I^aDǣ;Y"H%@3q< ;>juhdcB87(rḐiVGٕ8̔  ~Λjk.$rK9/&Ͱd :rFzqyEbkdfrv<}e.9IK2 va+Ӧ-ґ) 'KK J@9^n'Äc ^Wب75]eͯ޾wd2M|k\h5[d;ѿ;1.蜠Gr0Dw'[-XS狊g/X5j{ι9.TE:84W$ 8>QF>cfۚlRoy}w@5ڃLS#FhpnGr22;<|y emL4Vv"!uQEC]pGUЅ+MܱX_ltI;t*MUAz,>q,W`\l'8JTfsOւ1S,ȶ\ΰT"K&SJ_H -,?҅ k!s(& <բ.[1'3M`0ʵlK5G{s"&`=6 H7 ֫<\l?;a<+hD3`4^N;Ю V AӵBX]" AMV\^-&o(t8Zgj' 3_Rw7 }r?RCbW+D+9pRtQȁ1}oE81 wǷ40_qB. ?Y'_!308e`%d.($I}@ ~rhd=; LњH!jk Ch8,ضe~> a&oUS \4KŢ|7.EظsAk#sMe6^G Ǿ$KtXhZ d(sP(/Qu|̬Tmq<PHXB]Nzu"#wܳWgh} Y [3!cF_@n~-1<\*A%)O9UJhB17BwCF`i?%jWFUتR^$?i쵄7 ;EEc{ ו/:v92fBL#r#S;,Z2sTdcHALI 3(|? xTTlՑ$a", ):17$Cy!xXO5CC(UB촄>qK3'/G񯔃lSfXغOd. ޭ[y.LSp8Xst#'Y5|xa?y{'0=Iġ=1/U'NIl'=غ&ܮXUhHAExA])_jkM&O=6]Ǥ]S8=nqZ]E-w <`-x e8JʎOԁ snՒr^Ou{ȧf<կ '<ц4+/RM<ԶgR*ul]nky8G6$b22,P G}xxì%fbOyU12Nȑ@P%K0eM=՟[lMr{ "{LPz;e | !XEI#琗pcn-'͖)gy_0$0ץ\R K,K/ki/Qr-U6Ue04ek^Jf3ZHCcD-ݣ!#GSz!`FʌYxN\QW৿B&+yO/ik)D4<ETq$wTES.2n١bhdbʆ-kرL37yVsCGqEneKF履Jj<4cu7c8_^k.Cdτy[|0eˋ)M%=]O߂U oy5 Jܵlthj߱/^- NE`=,``fEFvAs΢|>]C;ǎ- 7qx*}궼LX ^_- =aEb}˒8g7~8ԘC2͝ewkꛧmŎcb%!D`ZY2W R,6^/r̡G+j,~2!'JN~>yƊx缫%3ʣ%5 l"٣ LN%j}2>wDKK &͡DL_nJ#24a;% z&5Rv wLHڂ%6YjijbĽ2) fPI?u"W[l*|X-Cu܋fJE1%'Jߢ_ ;F4͚|)6q.LWf`4G=s'DS%?N9qw]?XC&@Y+(臄%]xcܿ|HRY_CVDm{Pb+7j2)$zcS/lfXDw]ZT.<Y zr:Q65K,3M/9-fZ+1+XMDѰ +m 1g-gϩbZUV0VgTx7~撂ؤf{Ul "9Rb]6_Y!fv?5*EF9^'VhJRHq4NƝˡN YREQ.czυrv$cKDyr'?(\^yi?d}M'-+<#D HxjYLu5lTʑIajʥWtf&aԿH7ڐMH3SaZG?W>425^W2N&z$kJZnf\]' 1(dTHMviMl`J@cp*"3E_i&ҥk}خQ>ll>9ʜ`|>ekGƕfs}_7]JznOX έ݋ZlSj]roJeáh>-͙&'Ӏhbi fsp ;hq=^O):@HcGZ\^f"-twAܰX:Zâ^@ͻ8Sr%ӉZM `%b]4{Mxw]耓%KV/22CƆwaeVݢiWL=ۢo7aXx?K{!CET%TD( 2A6.6y\ >}!lR"B(фFFQeF[&퐏eRvxf'1vSl ˳%-˵44O1 - طH[&O Dmr%̅\r^wt .f]Yk6s&ϑl [Q;f.Dg%aaK5e:|lM7}4SCFV,x氨12."導^BV9ه(Q/Usn3ī|"8]izcFA!oͨ{ ͌r)nYSް;Q h_GSk#f6$Q'"voxȾlj Fִؒ~Czk~_XȓTTwHp5WNOe|(\#7<-澇%R!Y6 hxXM>!_j\tooidOB(Ԧ?TJv|]A&<3B !RC ^^XTfJp%fPjZFQynyT4-ɲ3!2\\tPHxI;0p K+Ə[v> =BT>3}7p#im(P|Qyx]o|u4j69bYw !m&=}TVJ#{X}*2'ϷW ˱ T&W|?ѕs )\#Cz3ˀMNWz\MR$¥'l׺04nCݞ }u]ɣ\|tϠΤAˏΦ+ra1կk%ѻ-jH_/'3 #sg㋹+dKvߧzuehG0YǴz,V m=:x8vːYeDS=i6x^cu3o?IJCU,up8IB`hIY,`?P7xKi߹! u#2qNφ o%1r1_İ|bHiy|L|RoR׋a_u/Ȯ>}gzvs|W d,k..v;DwVpd򛗻ؖ<%p:Bl4:rgHD'KJg@]"P3,gUjL V<8%5$R,J)cx(}Bg?IwFhl)@yjKhdiMcm9+pwN9,yDήuꏃ[O e{b)wESS@E$i=UWS漼LV8qBQ=h. ID+'LO<ͅoՉ#iӠu54۩YƬ_^2E,K 15تg2*mH}; |o_H= '4jϼИ<[Zof )2OOT"_ۤcYft$@f!Զ#Ǻk.}p-#Qk\Ir ˤɻ(_e>?U(יP-FM!J@!{ \QwFYPWc0c/4s6~ -(Rr4h 9{BA]3TB)3`B\dpp7:\co3pcMt_ ~BIUsr`+&(96 0|20:eA){k(wIĤ<;=ˆ6*T x.=NZ(>RCA- wA#.AX{['Sl#[47& ˆpKĐʑԆB#[)Fwf葹oP+Ӽ417/m K ?둃Jj|6=}Vuƕ*vl;qwH,:u,{X\TS*<,{]9刟EXID[ с{|Ͷv<:K֔/"؏AiM]GoOt'3k97 V#昣e67{ }9;aI>-w}DDݟdŢyWAk|'?XpR3Or'a[17se_!m-f';R3ZjAjjI Ӕķ]+XSdaٽYg/E0VEp0p]$ ac=6R0l˦ld{ M>-Tzxj⊅_=B H`?yrcY fs,gPI֗V [m&/&w`ބ㝼*ws0Lf?=߆gTnѯѝ=yOg(I# }x=XFߐ@40ˉۭ̣|׬‰Gs`EyA {~-֗Dh|;<7[gڇ5׿ݖ")H-]|3;<+w,uX@jUړa|d7x@αFZke6@{{<`n,`#JU!,^puG,⒒$dcm_qoP16c T"69:h h9l6Ǧ LIg}"}`F[k+ \4.W O̷OƄk=h4p&it߰$*A ;۫b* F> .7.fdkkNFdc p{ٱPغN:19n&>Zrjx]KKM%Wq 8KR?U ՅsICl\_*uLv@v [n9f$d;70y?:m^3=sfK|0 )Z/iCH\JLuSٝ^{6m[3 2H ~f _# od#KvTdX&; *73Ae4i{g=;TѸ?R9F٨ jP4ct/`I Ѧ%uErTzxdzn MxBш:oժޥ1 ]'Xa_'Χ2 `U9G|x-qcF1PZ]TR^ v!~0Gj(h&CWa9 Ot' id?yG3<66qS{J v 3||S"TMZo` i: e:ej]HêQ$Qۜ80zN)jVp0lV(әCߗ[&_36tY tF62ڧ)i>m?T O,ъW}I2'YUҮv>PӃ]  'Fm* qF(\OCOG㨐Î 9<E%m!pΜdR6,%G k$o6#hR2s$isJj$uo֑7)K{tBaCL^'=N_c8gbn*:[5m# ۼP <,6׵{'P ҵDGJƵ @Qڙɠ?RKA_C^o/lYÔ$x.h a%[rq¬:# &MKQPqy5:r kwt s +47pOɽN)~*.އJkϻABDeӒI/ _sWΝh<N8CrBU`\c[c:xN3IwQ٣5^xT%YoONxQ'LwDT:ur_vWo`Oo}V `'=ԯx'ӗ9 esB:sV1iSxʴ>!B;GSRA~HK$^E+2mrE!漭PhbL)Y4U&ٽB@Yv]zD ~nlaQgU: .!RoH맲)<.zh1Ol=菐I5kp8f3N{hUyŀc9 6BJX_VANykUmX5ۛPz+%DW@˄`Fq_Iq]#J|Q k\A,]A5#}QAF{T4|7IY, O ޕ d?;7G#K ۯS"Ql>E9ԭ_#PH_9b͜h/ge~ |VG塮&f*ݡ2W:TK١b75uuRؘ}q{4{1F/m44;\}&K>0\E&'I-7 IRWb+\P]c/غ.sEfWSDl"a*͡?a\tYVz ь6:KHGF&e(@l4~'e/?=Ѭ"=Y_ΉEB[ jVVmRY!ء|n+,hR`~S2'y_{YcHD9zDXH܉Ӄ]>8OKA~B:IX>AbSVj#PIW;4KٮlUҡy;϶a^|u 6 @]5>%o]еIg䤐:F.۴cgw>ҨYC٩W߅`~C"*pl`6g-O{JD~eϜwOXrm>S;j=i>?W?PD?Ð_z&_9PGxvK6e(g23u%h%QtݼxWU1vP-ۖdC͗-V~!RE=sjˣGΨ]l1S~V%QnbSu+kS, >X`E"|6ݤхd Onx-1E cHWA\o}濧G|g9VAcK9}w9H;˙IC}2= rƔ/c\VсE7u%4H_7vDx_)Tm|`^0&_1 GBY48z'k=}Xuۻbs;"pSG+zLJw/JN&Pk2r)aEViUT.,J(8eW5G(Ap~5Â$)0d*df6|eof?(HMFyى*c T=ghgUu0m>5Vn6L_OStYkX6@iwL7T>JQ\ ~i(+ī&2~&CeTi}}r3ι,KrJvfkqF(m_MZ  kzv.۽|2`9ՒifIz vg2y+83Fnvڊ:X-/p8y>ҀaNRR@VcKURm\tW@QE$Ĉ ޯ ՎR=7q:D*l';DԨ+NK4ӶD+i0!lgI Z\&W*ĖϮ{wu:X_5xýW5n3 uc:O,oY( ӿ6=| <ǢDhɭy'lbmmڋ:0UWI>T|?o9i㱔 wU(Obt2A^!Z$:5`b3OeNGu]^%Su%JҢRJ: /K,1l!>ªVgMs@lJ pɻ1yɂr`H݊AQ "}؍L9w]95hUh7^őӒ8F=to餻{O7AA Tu)9>J Lk?Gr'y`q sR$L؆RRK;p?O rDG:aY$)8LD1 ,N~Phz }14.ߨqDV)JwTKat[fRr%,j]`5o.ۜtɄn݈ k~:}/ CGǵWỊ"taMdwYr@Ja/.s׊; A%XlQ< Aqң j+oX-؆(UE'|}^ߞÊj [|3GbXW|\%!ByOVX+R?Oq*#>zP"p[ixc~A$d H,D$U&),,`EqDAuUۖJ}VEgusɀݩк;+bU3w,-mUf/rǹz>ҎQC$ D稺K_/yiGEt5S8P qXSr{U''#Ȝ25j tPhdZZҲo၎ì9bt!X9^Hn@f;5r_-FQ2t-P D㰅b@dZ߭ҫC؏ױxy\0ʰYEsN`߸u uMHw6pGؤeK["#YͶ?:qRj3sSYsbGSw.qp>yRK < F擭v rvD*lk;Y%G34d=~YphHgUJlt.(#<3l$49oƴ9Ԭ:.Lg[RcF7D*l*'Dkc[OWS+&pZ |F>)4PTk.8w2HPx8ӑ<$+isqGԪYE"cyfFi\Rԝ-Bb4k+m1K{ym=_:u >m{!7R%?pЮ+{i~Qȅ͙ASxH:(E$20/gi͒+!gPK!&I!.<9%(6+D)ڡm}DE,$46-,ct]0|kh>t]1-A?_8t9'CvM4bQBzXWLX.sc~5C}:R`2R =jF(w]ҊfĨ eBԊ lT&}ΥMOw\dgg9rh돳 %$(|urdEΒe#&A"-Ln$;Zk~mhIy9O62<vJx(N>+ifS3ݕJq\gdK{u1[5Ė%"|R]B~d$CPj&&3C u:`!;+YmSbhmli\^٘NǫO);L`-PN DBY L"ŔehvaKwX#S n㘄z-nMM:f8)äҭs. HU0=:[!M5y C1U%:mdw\0>H`㎪B/̍?C7dڠ-PgK2nkfsT_b@e٦\{{LoS(b3c( <|ZYOB:R~\nSOVf&}l!ڡ n-VUބZ}otm$?/ʯP5M_. < AutMjHZ[rMi%ְQcLŔw {/Fqn {CȈǜaY):-*'n,puUHź|B;(& 0+]$̈\IT{Xt\TlG7_,Au^hFN("cȶ ʂ28A ĜN6 ?MX̢:!;߶7yOjr\bXbLury4=1u{HKG~WroK9BH.U?jοnnO9L<qUSJ;]3i/p[(s`A?L\G3#+Wn:[R&*=i)D k;r<OȾfj& 76GJ6Oic,5J03I[Xe07+/T:PaBr |*Sao%yp~PPltpH!W]r;5Pw:U;WMe7vqF{s2DaIޛlZaBX _[#Ciج\1Ez)'T Z 34-dOPV3N/Bϱ3yy d3B,5*ؗ^k1]+"㕵(s1s D!ï\P(cޅ^|L*"_M\DLE%øR2:SGe`aPϯeotW_D}" =  lz /YCaz4 2}*vUM3eFj.b+t95)fJ9e20HiDW.=:i*0 @h!~v@9*$ +aw\KTTT=kg^܌' G[ f^:`S׶EXMpo);V5XTA y徛noh2,zaiPtSSnɥP#[ COe,r0l"*VIVL&V$ dT5*Hdix/Byv5@Ʃi,QMq3bm$nJx{:[ j Z4W5c\:hً yoA?wPy@`w;Io JH]L-¦0hDcw OXN'br!{i E^r,h8"HDMܡ,sOnvhK. _5L/6},'E۹reݳ^mHAM3,<iP6tTư;W!p@jH -ԪSJ(%t,"SogOv8@+I?-A}"#@3jkipaG@}-p7t/3,03j ŀXa ,ٿ+Fp ^EDMOJܷ A& yAvʃ)}YN6]|IMcfLE/kdKL@5sJ54g]5[l-~ asR=<",ca \ UY 7{:4kFCz_8aggIܥVo)2-+ve7͈0`vEB~6ڷNa*hǴ<ܓt>3ODykF%n~J?o[Y^$/yHRv;CF!Nط֗PnʊJJK@^n;7qɾb3uw࡟H|a\ܾϽ%O i装 1z.&dbV iKS}Z 5 1fB%=4h8_y$ C8':f\ $KsoΛe@`h7E6"kVap`=J>Og) }.=Ci6phզ\E^[\uڸ=]6 RA~!RҡB)G ۆJF?RM1bi f :en7=`l{,0R|¸]QaU CU@ZeA!+KvJuU7"\ q2+E)quBنA m}xlj%򓟔ù$Psh64V P?rܨ ʹc>u 9x[ äk3-#p3x:>1_iW3SG{ew !{H| X"}`ݐìo;a]bAkɦh[R/TWM4уN hUN{ [8vs4RAt>m N < %uB |R{c|$U#uBʅW rY=W2;0o=`]&C% ð1ԟ[cJd( U~uYcWŲ-)۽v23w,N+rP&UOdasӈ00̀ܰN ܶ YZ