corosync-2.4.6-150300.12.16.1<>,iϰp9|?(aNX9 NzFZw,=΍TEoTz5^ DWwp3z(S2w+tKO \ε!98u^B4PGcY;.;'P:q^?j8i7ooEހ z5䜘Yxq=8 m80%6Ĥ>D`xdblZ:!!A;6By_㍥[uW_]-e2DNmJLA%>NՌ?|d   c %FS i!l     ;o < >HACDF@Fl-G -J-KKK(K8K;9L;:PR;=>?@BFGHIPXYZ,[0\4]p^+bļcedefluvDw4xpyӬ:zԔԤ#,06xCcorosync2.4.6150300.12.16.1The Corosync Cluster Engine and Application Programming InterfacesThis package contains the Corosync Cluster Engine Executive, several default APIs and libraries, default configuration files, and an init script.iϰmourvedreSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Productivity/Clustering/HAhttp://corosync.github.io/corosync/linuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in corosync.service corosync-notifyd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi/usr/lib/corosync/upgrade.sh PNAME=corosync SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi PNAME=corosync-notifyd SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi # Upgrade if [ $1 -eq 2 ]; then # restore configured /etc/sysconfig/corosync(bsc#1155792) cp /etc/sysconfig/corosync /usr/share/fillup-templates/tmp.corosync_sysconfig fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in corosync.service corosync-notifyd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi rm -rf /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf.example.unicast ln -s /usr/share/doc/packages/corosync/corosync.conf.example /etc/corosync/ ln -s /usr/share/doc/packages/corosync/corosync.conf.example.udpu /etc/corosync/corosync.conf.example.unicast 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 corosync.service corosync-notifyd.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 corosync.service corosync-notifyd.service ) || : fiif [ -f /etc/sysconfig/corosync ]; then rm /etc/sysconfig/corosync fi&46JH hHHp  "R K '   A R'? D   XpU/% Fx :   V# W@ xk0 ;  K  !?  (@ ,A5 Oe [  \  i f K#KYC AAA큤AA큤A큤A큤A큤AAiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰcjriϰiϰiϰiϰiϰ`Jbiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰiϰ9afa0d1c0e384b0c78d30bde6901ebb511e8b0ae6fd3b76dc2fc1f58f5423386eb49d0b56d642720df5440af14c28a202c2a4a33b2d80ea451db953ea6d0da6acd340cd8a5d4abeef32bcbe979f0653a75234a4271ba520cf2a8bdc5ffae2e76388b9abb6d9e94fd6900e5dfa320e6f94e7f41c650d0d1d58621b5850ac0e15f1654835836aa2c1eb01e0a5718f216102e85d64b183768f40b62a7d69e49d113b08147af8c2a24d31eb2a6868997d0663456a58bb370defa48ee2ebe71a5a9356135a1d0cf2b17009aa2788fb268c123b190e8f61ad957deeb0f6d8876809e188b79eb6a0e678202b058c1b3296d1351aae43ee0f70123dc655efa043c9e058e4beda7b76538d82b12642bc7d575461166eb6fbfe5d92a5ec34aa601499fdfe8567dfff64412f84408fa44869edb2be0bf41573317e3569ded5890d23ce4f173b007804d6f8224e37d68ac53ec3e8f42fd0929f2a01b6915d0b442adf77de4c44db2ec43a5e53cd7564df9d6ec22ddba10127390448f164167664476d2f09c33e4ea9bc694ea7d2422f3be252dbe8139b27b6ffd4a78853e209142e0bc39ce3a61de0aa26b5a8fd57eabc1bcf1c575105b57e3cdcaf78f3c8e57d8b459f67b6e95ee482990dce896c5fe0dea175ae3439ca95920afa9239b39c4fea3b122b57a15da55c0a7d8d1b20dd3464f3c5b8039f4a909ec807a2343c01cb6cfc1fbabee1c28d55128cf10a0a037a2aa365632fd1bc0337e56b1c1dd4d0d8c5c92c3d6d866badd0a36c079b92b46fb465373dfe0aa1e83c9f4c32ed6c4ea0f1dea9a54878596221948ed8a0a30434491c905d1e3e1ffcaa861a6424165ca8bf013f9420f006939955c0f9630770a08e77522911aa80fb538be694f849ff58a0d17edba7af6913de6a3d7d741fb8ddeb274635a7b646bb31d217e5b5bb3fd88aedaef83b2fd4b7274dc799b0b1cb3fe77c5ffef4721c3d9989a65c8674c0b11d8188d781c2e8fc11bc4a51a6ef7c9330c4de11baf05934afcb432471ad06ca5f54925ea398f5e93d020f512dfbb4799018277954a0a57267ca120966b1cf22a4f29f981e61dd709c8c982b4b7803614bb848fd6b64a7cc59c680db3455c5f44f455b122951ed38f8eaa6d8937a3bd77c88b38cfff1de7d826d5c91b1d0d6543b7fcdd2a6ba06db4b7b8465a50d1f1f024722d5947da5197bf5759b288a315091f346bd8b080abb75618db593488f3413b5c93305d32ab6ac248d38b1e590eb8c1d4a0ab4db393b46ddfdc0f726f78ad8bf7fa0525039b1a480581154f8c2052bbee275131b8c89c97069670e17ada72f709237062aa79a667484b8095bc78255968e5b634ecf83d3395fc7dc599f344417f1ab119222fb5fe9691c9fad0fd1059bc688ff50548db8d4190afb090f65288fec9ef1b190bb6fa0dcb9f42d9a2f9e7b6d0a80135136964ef4f5abd36c4db3b12977c15c8d99bc3cc9ca183deb8ffc64c5d81dfaa4a7d4bb1e0ba18f2a34c71832210e85c5808592a73eb8652c15571ee55cf3aefd640ac8af6a6c32a471d8cc401156219412f7ed9caa03a0a6f9ed7b5949b6d3ce928f0e1d8a0b30b43928c8eaa306cebd5aed3a4b761d863b39c019e192d857dec821b8fd3dcc1e1fc9d3e8f41fd1e94af5e3ce64716391537c26cba9dab05671cbc8b9cfcb2ea3a19335b2e28e8a94fd0c8c601c3ba45f1200a17b982bbe4d68d8b23605f881bc267eefbec584d8666a8775e2618254697ad31c2735400b26c67abf3ffff77b788b0d971eda8196c541ca12fd89ae86227bee8f6550120f33e68e10d666f69676fac56e4d9cfefc5dfff143646736dbb3e8e2732f8fcaa77fcc5d1009ec9fa5cd0247e2f626f1cbd07fcdd3b8bf13ad2fa2ffd02b4088136ebaee2dbbb9d66fd71322faf969b0b169b2d5c57c1f4a74f13ee7bddba8f6156ced24b2fa17aa30cf93fbecf2e03a8e987f321034629fcae751c06285e015025cbc7d2f4e6482fdbb276a2e644e86d4f565e840f69a6772ff87bf8ac01b488e44545b2c3d2f690ab0b3a23aef51e6cb718be8cc20e88b5269a325fc762fb73d18ab8461d29b42e91f8cbd9f888445063fb49f704da440077529a14752e0adfa0b7f23dd1b71a15250a7b963bbee7bf4bda1c3dfaa6c54d5b96502b4a2c710341c269ee08c75d240a305bd6aa7f04c5acf078cee9a8f22a41448e357bd5513328b74e95965189ba7f54fd0c8f5e7052c128715317680bea08f3ab85778fd95c04f89e89377e901c869dac8830b3b76c63413790b7c8ebed3db28f2b9be0d3c0cb38a79a8169856d435fd71fefbf53bc2c62ba5948891bec3545803ff1e61a3ad3e3bd1cfcf803d005fd6f3a3034123e5853c9f884a83458ef0f7a2b992438b80321c9ee7f717c9a3a4256c1f6e5450ae13617aa28338fdfdf8dc31e1bafd9af29a9814284ad115eff8d234b51a3c8b601de67844678fb90da5193766e6dca38c8a17af661be50c17473b5c69fc44ad62c4105173d3a22cbf7d5b3db68798ca55b37d545f1dbbd8fc4d090a57c65ef9c2cf580f3a69f38372b938bcab306dfb01e54b49ca2531cbe206c22be4d97311b5610f9bd6e156d909eb7e4a632230d750da07f3b89203d8480b92f35eaa14b165479f05108546ade9a281fc63ce4726a97724acda8bb6682002ac078f4bdca70ae8f48c54da0e815cac3b4a3634b474079690d17929d03b76fd1dc9652428d8943a9d8b510a784374cf3c9813d7c9923d99125f800fb9377924c242348d953d8c723714478eb19627c1cc2e760417be908d4c7805316fc1f93608c0822e09226d2d614b337b94249a5ec996ada7f634c7fbfd76f7b9da988fc165f94f492ed0303266ce12c1ee28b24091a26c3cf3e6cd27de9b04237a23d4465a7cbfe6a3ecb9052fcf93f20eadb7f2249497e3fc7f283ea622e70679a5ed638d6480eecd05145077114bc38e64757269a6a59150e25ce3d72f9b01ccb290f593b71a3e9d2f7cb0a3ad212450cc6f18a5367bbf5c06393276bc6f32450fc9809d005f4124eca7a2e0ed9089190ab6d0de22ac45f49e718ce55f7c082b17fcbc7c38abd7f254857d4693b8dbe2fcd902ddb93cd3ca0fd43e1d2304f51ee9f57071a778acfaefc3927be0e98a4eff53e1760de4d7295f3791b3fb736239fa0d9b36746fe31c210f46161d38d87c58322958083921857460b68700a33279fde13c9ba9b81de92c4e0f01af0a50af5ebee21dff7f74a026daaa94df544a18c9d0af1df03e76a094e747a9112042fc5e05748cdff64df9280503e24793564e418cb7c72ba7a915db23c0c198b474b3b7fa9506498df22401e8b6117edd6beca5a72238ccdf69be8a6ce65170309df2fed46f8b4e24ec0129583e6e73c41501013cfa71f6c6d5612da38f90c98138be62a716cfaecbf0ccbd0400f3375482ca6764f48dd68f87fbe7290796c79d5e5d29a7bba970378c953913f52473c8e257bfee04f1f2ae7e2fa856060d567bc545decb1f4952a0d9e68d113ae40db1c1b415bdf46aefeddc33840b022bdfe84d431ea746d8e1f4e085ea11fbf2101e2f6b22c1abfaad7640eb8c21451268da1a696697b3447f69f9cd26e5b1b93ca725fd9708b49284707becce84d3cc863018630c33520c896092b4b3588b9187962977fe085792654fa95919696767b097d6d61be1860c8fc54e120830958c26edc5ccbaf3af0f0a5d2bcaab0d95b18225247de069827db81017d753c3b4f699034d65cb05c3814e40ca63805ae4ed8307caab15bc453c4168754ffe68a715f00320cf7eeff889494ec4652e4eeab440731f4f238607303ef3ffd888e01689c1b5f82be61620f6cbd0c6696114e59d008b32935240c84f891588f84797034fb01e4830531ce4fdd959d88b4fd58a9c5cdb73917e7173a4e1ef7e5c2fa74ba0e59e9abc3e220f87cfe0c2429fc588e3304b786d68418e16e03ccd4333d45072485151279a539817f5022273d49b569af8cb3dbbb1b1e24aca7b9ae068e2966b70b37aa420e6f94a10d7377b086189c6d36d11a0f6d2de4f703210c714134cdaf48870caccd846f156653bc673e06c44db2f5007346cf8a24e496afaf8cfc9b3c59d9716bb18af20b1fc743400f4adf6e2daf7028ba3399e87742e8c070b02376cb7e338187d5d7cecf82439f28254ec8596d5157baca7600ec5b0b34e2f51d59dfeec7ef87cafc88489ced9ba45e72878860b2f34aa94d0e69af85df99b8bbb8fad73a3c445bcc37db957e66cb39677aeb66fc7e39d0811a9cf7ac0741d88885f65a3567c45356e96050ab1fbf0188719acb3ba1f8a91d254bcb7afd1f9b10cbc41398e93a38823eb860f0210d3e96a45e576b8d2fc1cf9cbee3d253d54fb2177b56afac460cb40f76afb89e7c16c0fe423e5d04524189e2f724c1b4e42c8ed010a3b82a64abd16b3d7facab680fd36deec3b0b15fc7121c847f4af684578e5de7fa14abaab9bbed00612048b3690743b83c01831cccedd7e67b18084beb7faa1cd6cd9098be4adeb91f17dd56d5d3e16933a1f693c813d82e709712f8e4ca1e9e960a204f27eb2ac310ffdb4063ae6b74577adcbdaa4fe9500e78aa48105a9c09c70f5c2165d41299d495b062d403b013b353b19377f4acd5ff650d537d31127a7430632cfc151c6e057da1a778524c2777a1462191ce9ea9a2f9bbf5f6802f2b983d2aedecd26de79d3e7b43f45808578119d17dc11a0658ab5b20d6055d37e2f2af5a9b724089e84e26986e7d2b4b3d23ec92e46bb651de4743586de135ebcaf453c3b65b692fb707520547b5031a6f1d1a70a13328be18b1dd838d605143a7b26547d3862883eedb93f405cd19b3e0bf4d7c14905818703a86e549d2e2bcf5e4aadef5c4d3943545dc46deeda80e11569f33fa06d5e270a30ab32fad5702d928f60381ebf49a3017b363baf87f1da71d950f581a7c23d8d18a094c922d90beb0e61079df52f7ebb2dffcf21b36c8c66171cb022ff0c799eea8f3a0858964ed54f58fbc8cbc7debe9670596919c5ac7ae76586cd7e48c83ebe0eef64b4c09ee05ccde02cd428360a60ac6ab81a275e5db2a92176ae23550e17cba117a66badd0a36c079b92b46fb465373dfe0aa1e83c9f4c32ed6c4ea0f1dea9a54877159abbf4d336dcc9e390001ddc0fe3510027e941d5249a94e8b7d5ffad8f87fb4047fdb3ba505463e60efe810699686775781dbcb24f2c25650aef9a5dacd9bda5fde4692d64296483ae33c7b73ef82cb3b0f58329c7a9159730468803070d76ab5f5c2023cad38c952cf19efbef719e7ffc9c6e2b133b1a84364c500d78f2315da55c0a7d8d1b20dd3464f3c5b8039f4a909ec807a2343c01cb6cfc1fbabeee2696c5f71806503a253b1214835ffcae1bce3d49205a80280d2f4d4185bd165fb35cd9714a65317c29c53d95471b7f0e3004762c38519decdea9335275bbe4f6c49ad2378ef088572d8568b0b47b87802b26faa27ba21bfa9dbed02d94c9a4bda635084669403e65404bc30bc2fc572d1f03cf660bd28a3342cf615dcfe8b89e45e16100ade3f1c2bdebde3dde5f20c9eabf7861c72fa12cc6fd4d953e234bf685f2765848c03b5f0d60a80f338bef986feb9a35d04af7f19ad954df777d5b2510ec9956011b7ddfee52518ad1c5b96d4574cd2da35d7feabbe7833e16931086431b2b2fbcb7ca35ca9d8864fdce5e6e1ae2342e8ae3966c6bd20c918d193554c0788f6bee9a6936d27bdf930ee11d988e1a848af544f65398e77b1f433a4bcce8f49330c4eca7e39fcb9f008d9753d26f0ebb02a0b00a13b457357186b3ca0d9f8088ce92724449f96a9b3b8310e196bba15a5586b30e591df7758800d8ed14958c7a25b20e221423d91a8ba421c1316cac3bb7287a224b8f677545dbf721aserviceservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcorosync-2.4.6-150300.12.16.1.src.rpmconfig(corosync)corosynccorosync(ppc-64)@  @@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/sbin/chkconfig/sbin/chkconfig/usr/bin/bash/usr/sbin/useraddconfig(corosync)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcfg.so.6()(64bit)libcfg.so.6(COROSYNC_CFG_0.82)(64bit)libcfg6libcmap.so.4()(64bit)libcmap.so.4(COROSYNC_CMAP_1.0)(64bit)libcmap4libcorosync_common.so.4()(64bit)libcorosync_common4libcpg.so.4()(64bit)libcpg.so.4(COROSYNC_CPG_1.0)(64bit)libcpg4libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libqb.so.100()(64bit)libquorum.so.5()(64bit)libquorum.so.5(COROSYNC_QUORUM_1.0)(64bit)libquorum5libsam4libtotem_pg.so.5()(64bit)libtotem_pg5libvotequorum.so.8()(64bit)libvotequorum.so.8(COROSYNC_VOTEQUORUM_1.0)(64bit)libvotequorum8mozilla-nss-toolsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemd2.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.13.0.4-14.6.0-14.0-15.2-1  openaisopenaisopenais-devel0.891.20.894.14.3iZ@g@c@a@a$@_ _=@^1^t@^r @^,]@]]VZ@Z@ZZЛZ̧@Z%Z1@ZqZV@ZN@ZKt@ZC@Z&@Z@Z@ZC@ZNYY@Y@YW@YY@Y@YYf@Ycl@Y7Y6@YY@XsX@XF@X@X@W_@W@W~UU4@U@Tl@Ti@Ti@nicholas.yang@suse.comnicholas.yang@suse.comemil.penchev@suse.comemil.penchev@suse.comemil.penchev@suse.comaburlakov@suse.comdimstar@opensuse.orgXLiang@suse.comXLiang@suse.comXLiang@suse.commatthias.gerstner@suse.comyren@suse.comyren@suse.comyren@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comrbrown@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comjengelh@inai.debliu@suse.comjengelh@inai.debliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comdimstar@opensuse.orgledest@gmail.comledest@gmail.com- Add a patch to fix CVE-2026-35091 (bsc#1261299) * 0001-totemsrp-Return-error-if-sanity-check-fails.patch - Add a patch to fix CVE-2026-35092 (bsc#1261300) * 0002-totemsrp-Fix-integer-overflow-in-memb_join_sanity.patch- Add a patch to fix CVE-2025-30472 (bsc#1239987) * bsc-1239987-check-size-of-orf_token-msg.patchDeleted: bsc#1189680-cancel_hold_on_retransmit-option.patch bsc#1192467_dont-block-local-socket-pair.patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch bug-1166899-quorumtool-Fix-exit-status-codes.patch - Update to version 2.4.6: * totemsrp: More informative messages * icmap: fix the icmap_get_*_r functions * stats: Add basic schedule-miss stats to needle * icmap: icmap_init_r() leaks if trie_create() fails * test: Fix cpgtest * pkgconfig: Add libqb dependency * man: votequorum.5: use proper single quotes * cpg: Change downlist log level * totem: Increase ring_id seq after load * totempg: Check sanity (length) of received message * totemsrp: Reduce MTU to left room second mcast * qnetd: Rename qnetd-log.c to log.c * qnetd: Fix double -d description * qnetd: Check log initialization error * qnetd: Add function to set log target * qdevice: Use log instead of libqb log * qdevice: Import log instead of qdevice-log * qdevice: Merge msg_decode_error functions * qnetd: Use log-common for nodelist debug dump * qdevice: Configurable log priority bump * tests: Add utils_parse_bool_str test * qdevice: Free memory used by log * qdevice: Add log test * qdevice: Add header files to list of test sources * qdevice: Add chk variant of vsyslog to test-log * qdevice: Add prototype of __vsyslog_chk * votequorum: Ignore the icmap_get_* return value * logconfig: Remove double free of value * cmap: Assert copied string length * sync: Assert sync_callbacks.name length * votequorum: Assert copied strings length * cpghum: Remove unused time variables and functions * cfgtool: Remove unused callbacks * cmapctl: Free bin_value on error * quorumtool: Assert copied string length * votequorum: Reflect runtime change of 2Node to WFA * main: Add schedmiss timestamp into message * votequorum: Change check of expected_votes * quorumtool: Fix exit status codes * quorumtool: exit on invalid expected votes * votequorum: set wfa status only on startup * Revert "totemip: Add support for sin6_scope_id" * Revert "totemip: compare sin6_scope_id and interface_num" * main: Make schedmiss in cmap and log equal * totemip: Add support for sin6_scope_id * qnetd: Do not call ffsplit_do on shutdown * qdevice: Fix connect heuristics result callback * qdevice: Fix connect heuristics result callback * qdevice: Log adds newline automatically * qnetd: Fix dpd timer * qnetd: Add support for keep active partition vote * common_lib: Remove trailing spaces in cs_strerror * totemsrp: Move token received callback * tests: Use CS_DISPATCH_BLOCKING instead of cycle * qnetd: Fix NULL dereference of client * qnetd: Simplify KAP Tie-breaker logic * totem: Add cancel_hold_on_retransmit config option * logsys: Unlock config mutex on error * totemsrp: Switch totempg buffers at the right time * totemudpu: Don't block local socketpair * configure.ac: fix pkgconfig issue of rdma * totemip: Add support for sin6_scope_id * totemip: compare sin6_scope_id and interface_num * qdevice: Change log level to NOTICE on PASS * cfgtool: output error messages to stderr * tools: use util_strtonum for options checking * cmapctl: return EXIT_FAILURE on failure * quorumtool: Help shouldn't require running service * quorumtool: strict check for -o option * cmapctl: check NULL for key type and value for -p * man: adjust description about interface section * qnetd: sort by node_id when add new client * man: replace votequorum_poll for actually used fn- corosync totemudpu: bsc#1192467, Fix don't block local socketpair when interface is down Added: bsc#1192467_dont-block-local-socket-pair.patch- corosync totem: bsc#1189680, Add cancel_hold_on_retransmit config option Added: bsc#1189680-cancel_hold_on_retransmit-option.patch- (Again) Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: This time the path will NOT cause problems when doing rolling upgrade, see bsc#1168771- Stop mangling libexecdir: it's not needed at all.- Revoke the patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Deleted: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: That path will cause problems while doing rolling upgrade, see bsc#1168771- Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch- Fix bsc#1166899, return value of "corosync-quorumtool -s" was not correct Added: bug-1166899-quorumtool-Fix-exit-status-codes.patch- Don't package sysconfig file in tmpfiles.d, it's a bug. Instead correctly add it to /etc/sysconfig, invoking fillup accordingly.- Packaging bug updating Corosync(bsc#1155792) Some noisy output from Tumbleweed caused by RPM macro not fairly used Make sure corosync sysconfig keep original configured firstly(bsc1153502) Store the tmp file to a more security directory- Replace corosync-2.4.5.tar.gz with a clean source.tar.gz(bsc#1144200) The reason is some binaries left in corosync-2.4.5.tar.gz- corosync-2.4.5 upgrade(bsc#1144200) block_unlisted_ips block package from ips not in nodelist Qnetd now supports updated NSS database format Partly fixed problem with ifdown (only for UDPU) Added: corosync-2.4.5.tar.gz bug-1001164_corosync.conf-example.patch corosync-init-lockfile-path-error.patch Deleted: corosync-2.4.4.tar.gz 0003-fix-tmpfiles-create.patch 0004-mark-corosync-as-a-static-service.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0007-add-config-for-corosync-qnetd.patch 0009-bsc#1088619-add-version.patch 0010-qdevice-net-instance.c-optarg-should-be-str.patch 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch bnc#872651-stop-cluster.patch disable-build-html-docs.patch Renamed: 0001-coroapi-Use-size_t-for-private_data_size.patch -> upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch 0006-Fix-compile-warnings-with-GCC-7.2.1.patch -> Fix-compile-warnings-with-GCC-7.2.1.patch 0008-bsc#1083561-upgrade-from-1-x-y.patch -> bug-1083561_upgrade-from-1-x-y.patch bnc#882449-corosync-conf-example.patch -> bug-882449_corosync-conf-example.patch 0002-fix-ifdown-udp.patch -> bug-1032634_fix-ifdown-udp.patch bsc#1001164-corosync.conf-example.patch -> bug-1001164_corosync.conf-example.patch- cpg: Inform clients about left nodes during pause(bsc#1091593) Added: 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch- NSS_NoDB_Init: the parameter is reserved, must be NULL(bsc#1090996) Added: 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch- corosync-2.4.4 is available now(bsc#1089836) man:fix in corosync-qdevice.8 quorumtool: remove duplicated help message cfg: nodeid should be unsigned int coroparse: Use readdir instead of readdir_r wd: fix snprintf warnings Fix compile errors in qdevice on FreeBSD qdevice: mv free(str) after port validation Fix various typos Fix typo: recomended -> recommended man: support SOURCE_DATE_EPOCH configure: add --with-initconfigdir option Use static case blocks to determine distro flavor Use RuntimeDirectory instead of tmpfiles.d coroparse: Do not convert empty uid, gid to 0 sam: Fix snprintf compiler warnings quorumtool: Use full buffer size in snprintf man: Add note about qdevice parallel cmds start sync: Remove unneeded determine sync code sync: Call sync_init of all services at once corosync.conf: publicize nodelist.node.name totemudp[u]: Drop truncated packets on receive logging: Make blackbox configurable logging: Close before and open blackbox after fork init: Quote subshell result properly blackbox: Quote subshell result properly qdevice: quote certutils scripts properly sam_test_agent: Remove unused assignment qdevice: Fix NULL pointer dereference quorumtool: Don't set our_flags without v_handle qdevice: Nodelist is set into string not array qdevice: Check if user_data can be dereferenced qdevice: Add safer wrapper of strtoll qdevice: Replace strtol by strtonum qnetd: Replace strtol by strtonum main: Set errno before calling of strtol totemcrypto: Implement bad crypto header guess cpg: Use list_del instead of qb_list_del totemcrypto: Check length of the packet totemsrp: Implement sanity checks of received msgs totemsrp: Check join and leave msg length totemudp: Check lenght of message to sent qdevice msgio: Fix reading of msg longer than i32 logsys: Avoid redundant callsite section checking man: corosync-qdevice: fix formatting vs. punctuation man: corosync-qdevice: some more stylistics man: fix cpg_mcast_joined.3.in libcpg: Fix issue with partial big packet assembly totempg: Fix fragmentation segfault totempg: use iovec[i].iov_len instead of copy_len totempg: Fix corrupted messages cpg: Handle fragmented message sending interrupt corosync.aug: Add missing options systemd: Delete unnecessary soft_margin Added: corosync-2.4.4.tar.gz 0010-qdevice-net-instance.c-optarg-should-be-str.patch Deleted: 0007-sync-Call-sync_init-of-all-services-at-once.patch 0008-wd-fix-snprintf-warnings.patch 0009-add-config-for-corosync-qnetd.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch 0015-coverity-fixes.patch 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch corosync-2.4.3.tar.gz Renamed: 0009-add-config-for-corosync-qnetd.patch -> 0007-add-config-for-corosync-qnetd.patch 0016-bsc#1083561-upgrade-from-1-x-y.patch -> 0008-bsc#1083561-upgrade-from-1-x-y.patch 0017-bsc#1088619-add-version.patch -> 0009-bsc#1088619-add-version.patch- (CVE-2018-1084) VUL-0: CVE-2018-1084: corosync: Integer overflow in totemcrypto(bsc#1089346) Added: 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch- UNKNOWN version in corosync pkg-config(bsc#1088619) Added: 0017-bsc#1088619-add-version.patch- [Build 489.1] Corosync is not working after upgrade from sle11sp4-ha to sle15-ha(bsc#1083561) Added: 0016-bsc#1083561-upgrade-from-1-x-y.patch- some coverity fixes for corosync on upstream(bsc#1083895) Added: 0015-coverity-fixes.patch- corosync exposes itself for a self-crash under rare circumstance(bsc#1078412) Added: 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch Modified: remove unncessary git commit messages 0001-coroapi-Use-size_t-for-private_data_size.patch 0002-fix-ifdown-udp.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0008-wd-fix-snprintf-warnings.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- totemudp[u]: Drop truncated packets on receive(bsc#1075300) Added: 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- issue with partial packets assembly when multiple nodes are sending big packets(bsc#1074929) Added: 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch- qdevice failed to run(bsc#1074276) Added: 0010-qdevice-mv-free-str-after-port-validation.patch- add support for corosync-qdevice in yast2-cluster and bootstrap(bsc#1070961) Added: 0009-add-config-for-corosync-qnetd.patch- wd: gcc shows snprintf warnings(bsc#1071187) Added: 0008-wd-fix-snprintf-warnings.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- corosync race condition when node leaves immediately after joining(bsc#1067958) Added: 0007-sync-Call-sync_init-of-all-services-at-once.patch- gcc: snprintf gives warning: ‘%s’ directive output may be truncated writing 8 bytes into a region of size between 1 and 255(bsc#1066090) Added: 0006-Fix-compile-warnings-with-GCC-7.2.1.patch- coroparse: uidgid with empty uid or gid results into add uid 0(bsc#1066585) Added: 0005-do-not-convert-empty-uid-gid-to-0.patch Modified: 0005-do-not-convert-empty-uid-gid-to-0.patch, check whether the uid, gid is empty before calling strtol- Upgrade corosync-2.4.2 to corosync-2.4.3(fate#321385) doc: document watchdog_device parameter Main: Call mlockall after fork Totempg: remove duplicate memcpy in mcast_msg func Qdevice: fix spell errors in qdevice logconfig: Do not overwrite logger_subsys priority totemconfig: Prefer nodelist over bindnetaddr cpghum: Fix printf of size_t variable Qnetd lms: Use UTILS_PRI_RING_ID printf format str wd: Report error when close of wd fails votequorum: Don't update expected_votes display if value is too high votequorum: simplify reconfigure message handling quorumtool: Add option to show all node addresses main: Don't ask libqb to handle segv, it doesn't work man: Document -a option to corosync-quorumtool main: use syslog & printf directly for early log messages votequorum: make atb consistent on nodelist reload Fix typo: Destorying -> Destroying init: Add doc URIs to the systemd service files wd: fix typo corosync.conf.5: Fix watchdog documentation corosync.conf.5: add warning about slow watchdogs wd: remove extra capitalization typo corosync.conf.5: watchdog support is conditional notifyd: Add the community name to an SNMP trap Logsys: Change logsys syslog_priority priority totemrrp: Fix situation when all rings are faulty main: Display reason why cluster cannot be formed totem: Propagate totem initialization failure totemcrypto: Refactor symmetric key importing totemcrypto: Use different method to import key main: Add option to set priority main: Add support for libcgroup totemcrypto: Fix compiler warning cmap: Remove noop highest config version check qdevice: Add support for heuristics Spec: drop unneeded dependency Spec: make internal dependencies arch-qualified cmap: don't shutdown highest config_version node totemudp: Remove memb_join discarding Spec: fix arch-qualified dependencies Include fcntl.h for F_* and O_* defines totemudp: Retry if bind fails Remove deprecated doxygen flags man: Fix typos in man page man: Modify man-page according to command usage Remove redundant header file inclusion upstart: Add softdog module loading example Added: corosync-2.4.3.tar.gz Removed: corosync-2.4.2.tar.gz bsc#1047860-add-version.patch 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch 0002-Main-call-mlock-after-fork.patch 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Modified: bsc#1047860-add-version.patch: change version to 2.4.3 corosync.changes: add changelogs corosync.spec: remove unnecessary patches Renamed: 0006-coroapi-Use-size_t-for-private_data_size.patch -> 0001-coroapi-Use-size_t-for-private_data_size.patch 0010-fix-ifdown-udp.patch -> 0002-fix-ifdown-udp.patch 0011-fix-tmpfiles-create.patch -> 0003-fix-tmpfiles-create.patch 0012-mark-corosync-as-a-static-service.patch -> 0004-mark-corosync-as-a-static-service.patch- wrong "service_del_postun corosync.service"(bsc#1060767) Modified: corosync.spec, remove service_del_postun in postun of corosync- Restore conformance to shared library packaging guideline. - Remove redundant cleaning in %install and %clean.- corosync.service should be marked as a static service(bsc#1055585) Added: 0012-mark-corosync-as-a-static-service.patch- Fix RPM groups.- L3: corosync: assert(sender_node != NULL) fails after tearing down a network interface(bsc#1032634) Added: 0010-fix-ifdown-udp.patch - Fix rpmlint warnings Added: 0011-fix-tmpfiles-create.patch- some errors in spec file(bsc#1047862) Modified:corosync.spec 1) as in openSUSE:factory, there are %define, but bcond_with coudld be toggled by osc command , change %define to %bcond_with and %bcond_without 2) change service_del_postun to service_del_preun, since service_del_postun is not a right macro 3) remove macro tpmfiles_create define from corosync.spec.- make corosync.spec uniform (bsc#1051385) Modified: corosync.spec 1. there are some lines are commented in corosync.spec, will define new macro to make these lines uncommented 2. in former, xmlconf, rdma and snmp were disabled, these features are wrongly enabled, will disable them- some upstream fixes for corosync(bsc#1048259) Added: bsc#1047860-add-version.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Removed: bnc#867767-add-version.patch 0007-improve-corosync-keygen.patch(since this patch is not for corosync v2.x) Modified: corosync.spec, add judgement whether /etc/sysconfig/corosycn* exist before remove these files- some errors in spec file(bsc#1047862) Modified: corosync.spec - improvement for corosync-keygen(bsc#1047861) Added: 0007-improve-corosync-keygen.patch - 1047860corosync report wrong version number(bsc#1047860) Modified: bnc#867767-add-version.patch- some Fixes from upstream(bsc#1043045) Added: 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0006-coroapi-Use-size_t-for-private_data_size.patch[patch-lost-in-sle] Missing issues in openSUSE:Factory/corosync(bsc#1041587) add change log for upgrading corosync to v2.3.6 and make this change log contain all records in SLE12 SP3 make the format consistent- totemrrp: Fix situation when all rings are faulty(bsc#1039215) Added: 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch- calling mlockall before corosync_tty_detach is noop when corosync is executed as a daemon(bsc#1038147) Added: 0002-Main-call-mlock-after-fork.patch- [upgrade] Changing the pre-upgrade role for node failed(bsc#1030437) Added: 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch Removed: 0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch- L3-Question: corosync logging priority takes no effect(bsc#1023959) Added: 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch- Corosync 2.4.1 still produces libvotequorum.so.7.0.0, just like Corosync 2.3.6.(bsc#1013842) Added: disable-build-html-docs.patch upgrade to corosync-2.4.2: Man: Fix corosync-qdevice-net-certutil link man: mention qdevice incompatibilites in votequorum.5 Qnetd LMS: Fix two partition use case cfg: Prevents use of uninitialized buffer- upgrade to corosync-2.4.1(bsc#1004967) Added: corosync-start-stop-level.patch Deleted: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch modified: bnc#867767-add-version.patch, change version to 2.4.1 corosync-2.4.1: Low: totemsrp: Addition of the log. cts: Make it run with pacemaker-1.13+ Config: Flag config uidgid entries Spec: Qdevice require same version of corosync corosync-2.4.0: qdevice and qnet config: get_cluster_mcast_addr error is not fatal some typo fixesupgrade corosync-v2.3.5 to corosync-v2.3.6, and backport patches from v2.4.2(FATE#322113, bsc#1020550) Added: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch Removed: corosync-cts-api-error.patch v2.3.6 - logconfig: Fix logging reload disabling logfiles - wd: Warn if values are out of range - parser: WD Read type correctly from corosync.conf - Add some more RO keys - Reapply config defaults corosync.conf reload - schedwrk: Cleanup and make it work on PPC BE - cmapctl: Handle corosync errors in print_key func - Adds doxygen stubs to include directory - Add clang-format configuration file - wd: make watchdog device configurable - logging: Use our own version of basename - logsys: fix TOTEM logging when corosync built out of tree - parser: Make config file parser more hierarchy - totemconfig: Explicitly pass IP version - cpg: Handle ipc error in cpg_zcb_alloc/free - cpg: Memory not unmapped in cpg_zcb_free - totempg: Fix memory leak - Fix spelling errors - Add section in manual title for cpg_zcb_free 3 - Add section in manual title for cpg_zcb_alloc 3 - Update corosync.spec source link - Update gitignore files - Remove all links to old ML - totemsrp: Fix clang warning (tautological compare) - configure.ac: Make location of .pc overrideable - Remove a few unused variables and functions - configure.ac: We don't need no C++ compiler - configure.ac: Remove deprecated AC_PROG_LIBTOOL - configure.ac: make foreign apply to all Makefiles - Remove unused, obsolete check - Fix detection of qb_log_thread_priority_set - cpghum: Fix type of recv_crc - Check for fdatasync - Fix detection of warning flags for clang - quorum: Display node id as unsigned int. - cts: InitClusterManager is now BootCluster - totemudp: Move udp bind() so that multicast works with IPv6 - cfgtool: Display nodeid as unsigned int - votequorum: Don't send multiple callbacks when nodes join - man: Add synopsis for cpg_zcb_alloc and free - man html index: Update index - votequorum: Make sure cs_error_t is defined - Doxygen fix for cmap_iter_next() - configure: Correct help entry for logdir - totmesrp: Fix typo in log message - configure: typo in include - man page: Correct option letter for DBus - wd: fix setting of watchdog timeouts - CFG: Prevent CFG orignating messages during SYNC- Default token timeout was 5000 ms in SLE 11 SP4, but is 1000 ms in SLE 12(bsc#1001164) Added: bsc#1001164-corosync.conf-example.patch- Fix: [s390]Upgrade from SP1-GM + HA to SP2-RC2 +: Failed to start Corosync Cluster engine(bsc#996230) - modify corosync.spec to remove "chkconfig --add" - remove corosync-devel and require lines from baselibs.conf- corosync process still exists when stop pacemaker service(bnc#988683)- remove git files from tarball(bnc#941910) - modify corosync.spec to delete logrotate.dupdate from v2.3.3 to v2.3.5 (bnc#939328) v2.3.5 - Log: Add logrotate configuration file - totemsrp: Improve logging of left/down nodes - totemconfig: Check for duplicate nodeids - Really add cpghum - cpg: Add support for messages larger than 1Mb - Handle adding and removing UDPU members atomically - add patches: * corosync-cts-api-error.patch * bnc#867767-add-version.patch- mv the place of corosync.conf.example*(fate#318190)- Replace systemd BuildRequires with pkgconfig(systemd): we do not require the full installation / dep chain of systemd.- fix bashisms in mem_leak_test.sh script - add patches: * corosync-2.3.4-fix-bashisms.patch- fix bashism in preun script/bin/sh/bin/sh/bin/sh/bin/shopenaismourvedre 1775218880  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.4.6-150300.12.16.12.4.6-150300.12.16.12.4.6-150300.12.16.11.2 corosyncuidgid.dcorosync-blackboxcorosyncupgrade.shcorosync-notifyd.servicecorosync.servicecorosynccorosync-cfgtoolcorosync-cmapctlcorosync-cpgtoolcorosync-keygencorosync-notifydcorosync-quorumtoolrccorosyncrccorosync-notifydcorosynccorosynccorosync-notifydcorosyncAUTHORSINSTALLLICENSEREADME.recoverySECURITYhtmlcmap_context_get.3.htmlcmap_context_set.3.htmlcmap_dec.3.htmlcmap_delete.3.htmlcmap_dispatch.3.htmlcmap_fd_get.3.htmlcmap_finalize.3.htmlcmap_get.3.htmlcmap_inc.3.htmlcmap_initialize.3.htmlcmap_iter_finalize.3.htmlcmap_iter_init.3.htmlcmap_iter_next.3.htmlcmap_keys.8.htmlcmap_overview.8.htmlcmap_set.3.htmlcmap_track_add.3.htmlcmap_track_delete.3.htmlcorosync-blackbox.8.htmlcorosync-cfgtool.8.htmlcorosync-cmapctl.8.htmlcorosync-cpgtool.8.htmlcorosync-keygen.8.htmlcorosync-notifyd.8.htmlcorosync-qdevice-net-certutil.8.htmlcorosync-qdevice-tool.8.htmlcorosync-qdevice.8.htmlcorosync-qnetd-certutil.8.htmlcorosync-qnetd-tool.8.htmlcorosync-qnetd.8.htmlcorosync-quorumtool.8.htmlcorosync.8.htmlcorosync.conf.5.htmlcorosync_overview.8.htmlcpg_context_get.3.htmlcpg_context_set.3.htmlcpg_dispatch.3.htmlcpg_fd_get.3.htmlcpg_finalize.3.htmlcpg_initialize.3.htmlcpg_iteration_finalize.3.htmlcpg_iteration_initialize.3.htmlcpg_iteration_next.3.htmlcpg_join.3.htmlcpg_leave.3.htmlcpg_local_get.3.htmlcpg_mcast_joined.3.htmlcpg_membership_get.3.htmlcpg_model_initialize.3.htmlcpg_overview.8.htmlcpg_zcb_alloc.3.htmlcpg_zcb_free.3.htmlcpg_zcb_mcast_joined.3.htmlindex.htmlquorum_context_get.3.htmlquorum_context_set.3.htmlquorum_dispatch.3.htmlquorum_fd_get.3.htmlquorum_finalize.3.htmlquorum_getquorate.3.htmlquorum_initialize.3.htmlquorum_overview.8.htmlquorum_trackstart.3.htmlquorum_trackstop.3.htmlsam_data_getsize.3.htmlsam_data_restore.3.htmlsam_data_store.3.htmlsam_finalize.3.htmlsam_hc_callback_register.3.htmlsam_hc_send.3.htmlsam_initialize.3.htmlsam_mark_failed.3.htmlsam_overview.8.htmlsam_register.3.htmlsam_start.3.htmlsam_stop.3.htmlsam_warn_signal_set.3.htmlvotequorum.5.htmlvotequorum_context_get.3.htmlvotequorum_context_set.3.htmlvotequorum_dispatch.3.htmlvotequorum_fd_get.3.htmlvotequorum_finalize.3.htmlvotequorum_getinfo.3.htmlvotequorum_initialize.3.htmlvotequorum_overview.8.htmlvotequorum_qdevice_master_wins.3.htmlvotequorum_qdevice_poll.3.htmlvotequorum_qdevice_register.3.htmlvotequorum_qdevice_unregister.3.htmlvotequorum_qdevice_update.3.htmlvotequorum_setexpected.3.htmlvotequorum_setvotes.3.htmlvotequorum_trackstart.3.htmlvotequorum_trackstop.3.htmlcorosyncSECURITYcorosync.conf.examplecorosync.conf.example.udpusysconfig.corosyncsysconfig.corosync-notifydcorosyncLICENSEcorosync.conf.5.gzvotequorum.5.gzcmap_keys.8.gzcorosync-blackbox.8.gzcorosync-cfgtool.8.gzcorosync-cmapctl.8.gzcorosync-cpgtool.8.gzcorosync-keygen.8.gzcorosync-notifyd.8.gzcorosync-quorumtool.8.gzcorosync.8.gzcorosync_overview.8.gzcorosynccluster/etc//etc/corosync//usr/bin//usr/lib//usr/lib/corosync//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/corosync//usr/share/doc//usr/share/doc/corosync//usr/share/doc/corosync/html//usr/share/doc/packages//usr/share/doc/packages/corosync//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/corosync//usr/share/man/man5//usr/share/man/man8//var/lib//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43584/SUSE_SLE-15-SP3_Update/09b0ba703d888fded93072945d630103-corosync.SUSE_SLE-15-SP3_Updatedrpmxz5ppc64le-suse-linux     directoryPOSIX shell script, ASCII text executableBourne-Again shell script, ASCII text executableASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=5f6f2a7f2c7cd959b238c598139accc970b6a09a, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=9cbe9fbffaa968e3370c9c2e2e298be406739166, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=45157000e024cc11c1272d72c16500d90b060d50, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=ed3fc0136583fc8bd6d726e23f43d9c842285562, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e80f7da795cd0fcf9c5ed11bd48d1f61d1bcd0d9, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=b8496d4240c69c144a663dc8ff6f5151d905e6d1, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=8ee2cb8675c4f45b428d8385e71d72379e3cadb7, for GNU/Linux 3.10.0, strippedUTF-8 Unicode textC source, ASCII textHTML document, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) !+89 RRRR R RRRR RRR RRRR RR RRRR RRR RRRR RR RR RRRR RRRRRR RRRR#R RRRRR"RRR R R Q"7t%sif [ ! -f /etc/sysconfig/corosync ]; then mv /usr/share/fillup-templates/tmp.corosync_sysconfig /etc/sysconfig/corosync fi/bin/shutf-8105be56b2743a1d89d9bab23ff4923b8818a6b56960cda13726b3b40c0b4cda9? 7zXZ !t/A]"k%a(xaY( xIaDX6)d?_W9 ~OK&|Ajk5' kZNݻ~EEI)0iHHAX>q*d|" # ;~P{[_' ޝA t_i k5蠘f{6Ws~{VU%2O~ rl Ϻ9L$?{(pCKrqB_f"m,= D^fqI}(X#*` %DN23xGһ" PojFܣҕkO*JH}!jsu}ʣ5U\?=#^P+oyÎPѷ Z77zxhOq~9䓿.a"-39_7E*yF%dMQ /_nϙ(#ŒL>R|~OmĤ^_:礹kҠ>"KPZzS e g$x} `W&e]Hq!_eAFԏ֭j:e ߷3ؖu/(HP} OOTɆSE=?Ȧ4aB[AGs8IMeDi_^lfC[xzȥ(yDT (@`hV7ݓYbѹ8N܃֐z]~IQ_)|y )B›qE7Gz鿵{I>1 wO/SP9~@!Hp]eQu"<)װ>QCʼ R`Nu܅^4] IɃeÜ֮5( g/`Mq;^P5}UH}M1oؚK\rPW\TiǻVt,x68sY[Zq!0++M޴Lڱ$"_.kmCgZplq/]/E30 e"eNZV%=f A-#U^CC</Lf7g,IYj4ւ+ 4{do,Y k+OZ,F81O (E"[2;<X:v6nR%pۑXOw0T6b s PSz 6i#ƕ_-ƎސҮ.Yj^B=Iܚg(/EʳAVwlc2JƓEo\R4X ]ZNi>7#n䛭bhW(A rP52qlVXmaѮv ]'T"0<^.[zaa-bޅ>8ݫ 檊K\ٻ^#,^-l=;ab^5  feXNHrcЯv49窜P Ep.qQqKD Rnk1Msڇ?uQM@(*m,oE]K$(~< [MBrWK~B^W̻1- ȝE@Ŗj\īHh$ YNl3G#j(@s&ϋX)[2))} <|UΨ E!{"§$(B''kuX}"V24E'_rFF\缵'tcFjbwgk peih\~A%Ox WuZ^>(\bdbzt82ZNEH7;)Xv $ÿ@Y%*ڸs :kkT \p/ XzQQ4 }};eJ֞Z.3 (x-) ڨQ9=Y"k.f$M ܗrv(NXaSB5EpbnnPLV{i9vUB*@g|~[ڢHo/KIYDZ !gDRBKDMuS/Vʚ. 1^Gra`~.c1&]`{xƱm ValBPӜ @}͡uo0An`Dq ~uNaATugb),/H?ҁ&`gb8 BZ|d~o!l_uo0dtRr6Vfnmm1)nRWZ m5r+딦"S]B!Oh;#8UGUD9"$-uruw+qxM^jQ2˰BWds$P2:R_j]UŖẒPu^78vQEӨ<4$tsr=BkHp # %!2n@EmO3",RHKQ%$ℋk_BY,5GxhB(>^9F_ g|6Ý2I>TD=ȦWStZÝP FoײhЪI X(8Bp󛼮kQi0fsw7)IJS5ɇZ<>="^ѧ ~5M'Yܨ ͱ^Gܯnlrm,MvA2~vQC5sʁFTqLrY zm!}QJhDK e}j._9Q=aYlE}-V-9FgʛxlVzp舉XY11+?On*% J6O1y.r7*|d(Z7Ug}0ڼߚ]bKeaԫ<_ڨ%vsݩ]{=~2Zϔ}<6A+Ui[DK-yuJ9}s#|P1O džidC;m.#F5>i!"l\6DB"!]%|P (RpooMqTd,vi,mgU ZXE#^Oj17"eY߹{8mS.}teivs ρ,WKV8X/[D60/gt7;1x1RǪU42rW!u.n@H]L|ÞۥZtBM|c;?=c ۋ3:6 =gfْKF B]5gُ'Y./Wp1jEZQ]k!ǨtM.FgBt(RĞV[Q黶=r /C{WS%?ufբ s'Pxv08:g 86͠X%' Y-WuHJ?\0Sb1jhJiA=eަk9r-j%MJYCܑS&L۴w(Kas Ti`,ӛN.+`C^:6 r/q oJ6nwzU/;~áREΥmYN`zJoϳdu)F؜b*mȞxya;wN,G# tyf1S6P,|qhH&}!ZQ(vy歔o,0dj%^n ʯ˖7MI5XӖ"9azYda S|D,riȝRwX=6-kf'ѹNEj~U\/)(&>Mךx l*28}yZIv̈tD"о˧ˮ?X, ӻMk@):9,tH%V{&tSZBNc^^øRUp@ ;댩!Հ+WotƼ`2dq]&eOg/IH) v ExHMݧFܷ&}s>Z/741  'yn.U '@& ? )EMyDbe4/ۡi">yy8ou4 y˰AxR`pP!Rϑؓ|2 y>tuPZGĥğLBJF8K,nr}aU $/Ѣ{'FGx(=LΛ3dnl_/>9f'6 oz v_/)!+>1+ŋw״NilFdK٬LW%FYrؕ(/2?.k:Zø Hf ~hr,\ƴIlkh9c J.=Y?(5% 0 'L;{ڄ$ڕGވʝ7g_} XEN}F&o=" ΙQK-/89p}oJ <;%|^c[4 ER=R|[0K:d5#(.~❌;r1cu:F1qaXR [y/𐕍A; RY)bi#KB˚+tפ(o6ߴ"> ]1E4 '*xϱ #7+lC;`s<,~++#2L,-wBasobm_HXH&o!@?pC./"1lDfӜ'}rpC]m-/p}!࡝>BƱߖqIaC2wUqXN7XJ&u}-3?m<\&RA4 hF+لj #(wBO;$&pۺdC6EVdcI_Ń)t8ċLkYl];MESpiw "0f*-!ДgzшѸ<.'7  m ;v| QH[ٰ1j9ӿ^GFk"`K5KhAϹ|W=Bybvw%.+[w;yz{jlkŘzK#_%^䈧8LG( pkvR7`Unu<h =rjwCS;yQ@+N..<ƛQ~vJrTu9TV\͚~8<  jF~d(B&l&j%2k-%1?C,Xd}eC^.QV|G`ִܢm}aVMLPGgTٸHrcLR;|(qEL$^.7p=6n+.FԽSAK< [7'a/%=ҡ-p# t.DP9A%N{h+܇[K#oxm ÷5d]i 64;)Tx, W bۤoW1 Mj6 ?d\mq .5mIFwpX:pС +Q)41"Tq._(XX{iN~eJj.aV9/6pF<=tN1+zpC<>֖ZlZ>Y@72,륩~Da#5c#$^4?ZuŚSw/vYމj[))x?uYф-/R)[,CbRqhAƕo}mIn^Fk54Mk>Nj?VxxRT 7+#j(I  z9Qμz9tcOow.6 +_3 Լzӣo'V Q 4O{%0.MA 'bOc ݃:) !cK?+Lj+ge΢Qi-/T1-+ȟ>@XZ϶d#*@+‡̯ħ pytZ˜)3ZZmq i$o1Ƈ v&Ae"M);vܞ?6~tii mk_W&i; 1#KHqUvsC^˾r(~xMKCw~AoۼBTK_=~|N%u&)7ok%1dNʃ2s/ME458KV el~f d&%X~;OW}N15aX(uA,ϥHk"dNq3%~JdNI)1Tr"UEgSF[U[bH6O'xJ 0WhgZ6zdXk0oKe3ޏrTj^Zvwh5)Q6^64RuЩS:EpI* D瞷db1en3 E)ng?T)Eۿx%a-;lӑ٣[7o[!6Y#doN-L("Ano2=u*q+UK o3:#~](3@F4v\J?m 2DIz K?nD~$5_ ӂy/yqohma=e~@M)![.):zn͗-ш&t"#N( e{';TϚ}+G;ִ:.ʱdNlEнnZ TC='$<5xp<40"ꝥXhY#Tnzŏ0> qC`+y4dy>yu.?JrL`忦 5c$2SOtt<0uPIZںCtzgJ-[WIA]vEi2U{Y?`LHKF9) }ot}Q%.'v,̌jşNKLQN~Ǵ 3u_+:@G/ȷWMHjI~ad1oO_Q to#&%F'g+h3ևS :ĺ:Fs͑ =:qHK+"Yb?çu-~I0m-BAi,}߀Krځ|t*pH/o M> 1vZ|EQu*}5J&x{Y XiF ]|s7ѴӅd7Y!DOsmz?0Y5WmG XPU?[8)(^`tD#,i~-ܰ$DQA]!M_t_͵ZP.m(MM";;~wv1͢?$#>X9Yk4d))b.;\#ubh# +>Ҥ)kJwtkNȫP͢Sdͱxڊ*/bBNy榸vΛdР҃ ~!*ĮB_JJS냃ⲱ:/E:=APk҈Ab~]CTJ&_mkU`=P}?7&-=ߣDh2%UF!LQ ΫAڃ|# |b0ҩ1b''&v>xŋB..4WvqȤA?7m{K(} pĵr2#^H@ KOaa]g6ei_ǜMb QY>8=si-Ԛ%|]c bM El9oflGV9IxWw/UxMΏ!?(1KeOǫ9^3G|֎+ |^ބSr.r[p qԥEdD=Uz+=Fҹj)XҪҚ@#G;RC-sq|,:R LWǧW\k8w} EQje%ޏ]Y3MJC^V;:*Sn|@~1uUx+)7ȶ NJeis LP6ŽƊ\XcQ5wN?=/652jR 4%7ATljs9B(an$;a`^v%t ̢x 2vןX.٨!s`gnP@8b윯yՓ]Y"^)i~O"N`Uv#V:g)R+:3DхJF+s%hEsk#g>=Ze=lt*ݨ##r儯P)pUQ55\>~ h+uIve?\BaFԙˑίTiyyлFba u[rV.o:q&u(c_@T>-#Z Ntl ? @fBۮYtVev/jnōEH]^o_Yb,?yU-٫(XcYXԦ4 ҙ}Un'zxZnk z%BӚ%b$J;} #ڋr;^{oQKxn9SE!#iXE\jYpqv@$2km@r\(ƉAM҃7ǭeC75B~ֺRvedWy~\BE7RWvă`Z :$`;Hܭape2멵?R9HkԓQ NGL﬑ E[. %B<\6*AU;cB3w%gg$џc-X[{1|B8,$R~!0Ɩ{yfǚLUe4_YMN}sÏni#lfcH<_qާIp=JzBX9CdT CvoOoۅO|%_ )s)ij`p"GU'.GYQif8D#"9qvǵe*/& ThHy6sdTlfn p<[h1=1e):} C^?'#kgBG~*`{dě )\lڃTv|jC"hFjtf!.@aCxhA %:r6MhnFWPL'7 -))/wRDY 2kw.*xĵ_o%Z8⇇G]0 +!Qxkv7Wyr\үn`C%i*! ߤZŊadžD̙%s|Q zQ=}VyHMˆ0SV$aF1 '_Q0Eu'xuodf(_kA{ D 6W،V1(%H(vf|/h*KRJo';5K7IUՑiufo`6yh=f;)rZ7h9C_қ[NC颦+x7:"^|XiΞiGڒ| 9TgjA/6|BC=vkcW祟u?k"#h.-:0UsĐ>jIb™K'Žl#?{w+>bX}~Ot3;Uy25zĞ4mRvG>O 4Dmg> T 8h6"1VOV;q)>yդpBNLj{0P Kp8J/ѼXN]KvaNWs1WdsdR.PAHA1 {Xۿ IO_j(tY@7GШx-(E<Ȼ}j 2 #DA}}xm~?ID-hR>8oРjAk"d(%#+t'Nq? t?pzEW߸IwLg"7K &3Tn됗Z4Ķ!{z|k56_ ՜rn5.3k䊷Yxb4QZGL M# #9& 8E bY.V򣈴˶Zy )S\'t_QsjHNi]BtU}&ڬS*ӲEMKݓKtwVJ`6A3܋w';TCmIp b$g]SU~HlQ#2?J/ h3f)G$Ih=eVgתUhQ ]#@Xl,)R)ͦ $-4aeE%;#DCy圌Ie7۰*Y▊2oz/<4^ë((bw(_:Fzl`M[{&WS}׋;vb?s&wA9%kQ׸x:N%%|' ʱ{]#kCO?$i{"t<[F0.j_kN&VIB4[cW&I=wRk+xý}¢(2ũOV~@uë] ֙r0kɶ1Qru֦41!H,˱3l.f^YZ"]0cYPɃLobRsb6QF>'{N~C2 p4rgH_a5z͌IÒRZ?,ClPV!z ^*۝q rtI;K8Pl̔Bw>鋟:qS9oXw{J\Z: Q”}Vgi@I.rZECti{sἭ%P * Hi`ˮ/!Td\Wp>;C!dGup7*m FFiѮws0Vn)ANJR,09F}dHÌkXi\ P8- `<Wߣ4b!T> 4Oyʦ',ZIBPɀ,aL#E^3d*^߽*4o3n]*J(P@%*i{eJ9LA,kAiSܙg~mT&ܵ\auaiEczJcIA {檈lWEQ6V3@Yңm]S FLJ߁{ѕ~?AH+x66cP"|U L2X=&ӌzun,ۍ6}MDC:U&hjp~6 ]R'5CD9xU~ܐf//Do 8/9{6eB٪RҒGO;#)eh X-PKi"G'& '?K&WSb{YQVtvL&*yw߄2#0]Eȥ/ zQdp=D("(rbA nkL[VxG8pڨZ[qdMY|bp|^Ioe2ӓ_xIVI? m81Tz?fm0<@\6Mr!lթRs[/BFak8ʙ78{QAκR.`v:@_wuTxM1Zv/\FGk~uD@-jqRgfWZ->h '[|g-~Y-۵h|6x9c`~? `A&4 >v3}CZ_ 7tL?fB !# ؏rFal%.\)[ӡB֥O2E7Ξ݌χ^3bUY6LО)T\̀|8h%T7U7OSdY2h_tւBiOgN@ [d+Wu}\.M XrN[@BgK?gJ#8Hiwv"%FT!=β3 ٖ&-dD-(PpL n3ӈ'fz*9|΋h|<KN 0yFw-ȱ,J:IҮט[M֖T76J4dZwo{j=?5N/? #Q $"Rrԁ)i]o8Sd*Mu.("l)SKRLm4Cl6u_|{3@5(="9}4nE) R_MֆjN߹R6n,96M}blGcV>遲oq I!`.h-7OO48+6kCկH~:` Esք:*k{Mq,tg+^n Dz| 4;"C%O*n^L%@dͯL7TP2DwM*ϩ&i \q衻9ZmjX`/si|A=KȒV8wD4pj'zTǟ"V.|*Hu_09ĵۦic;OA 3x1~ +釜 iTR,)84ɼe0=ӤpD|;ݩ+\9BFrkieCX7U hG|Сzo>J2Kp`$GxsM%t62;>?kw+ڢ%v0M<@[>wEQK%yv-хQ"{p;Eϸ DZT"Q]p5>AFRsUO<|/Ӑ 9wGh1ZQDVG눕BEѨ,(륫K`),YΑR/HGqNs/f7z=QjS> y9=rZYb|]䥽|ВAg%$)(^`Cθ7@$*)Ͷb?|HCט{X8Z^ Y[cxȎ8 ܍ `+ PV_tcUWA5u\\yg|s(;gE'Aᒲ/݃샎,)& ?afB5() Kf>䫖N#79&2v8~@?'>xSMyN }Ly/\Va5IB:*`JuAI R^).k%zrU@K*Zz_}aթ ]hMBmvRI@k,i:Ix+!^)<]uS@HӖFJGcCctBD6+:zxor="ޠcp:U}N!ȹT#:iW6{gL2OZ ɲ̱7/kyPޤN64gyjS& *tus@9J=Hq-TCfUB 1B$ts.%GJˤƨ !*ʤ]U*ZOkH? .ؠCWUJ5д&"[1 ϲ#"YqjcY}mx@0c/;rϤd\;,Zq;@(m,/iJ|qWE ``W]J8IbG>ɜ=c=mxopZ,5Cmʺ t3U\u 4BȊ Ph ç5a=(ئ8oI5[Crч|; #!h%?n ѫ ]VЩ<5)XQ)R((Tk蝲qPT#b!pv%k~U+u uآz8CHQO_IꚴvWE-h,יc5l\yt'* R$\j;iȆ dzҁ\/tC+?;\۝D4TڎH6oTUadQR$.\5Fo|ԼNǛ;*-r$h},?LٽfڒbH7` D"![W~L@Os3بF%=3mTQLad1"?5X#yJ =| Uݪr^0+<`K"16E/.>λ& ԠaFqϟ/)z;5r:n_-M۴t6suĢb=s6bS•5iCt~,.W2-$>RwYsZv*nonj%snxI$T56 l쳎k|~D/qCZ|\:X!ccq;8hoZɴܖeLė0;vĒl(!Yn('(jR9êІ 7vBdO6pd'M 7=1k űDQn/DR|ܽ&x@vVaJu|2;>1]T]vwO~04 k3Ӟ+溗3}ÂkGKAԣr[`4erj${M> 7% T (7N@=?%q&+#,@dC VNFuQm;$?HmmKEٮ|=_b z9&gC%ޏ\~ oz ?=Gc ٢'@f`1:6@o,8'j Ҳ#q&Tmƻ" "Tˣ3`9|!eQ~].ZK!cEhW pǙ ?,)n**P5ROy?6iP'ٔnR{p+Bيu^&AowfH@z?ڲG,kejOr.el$J J br,-ĎK02sګzDu~C T1Hw\v۬q>tZr̀e ڐiS6S1('du^; ?KS']wHgt6ttZsc](|* z{d-Eb)Cջ]ugtۮA{@WunYA@!D>A|!`wp)%5 D^=7bfWTs eK% \+zȟ6+eLuPՓOW^ɂ#ڧ|jcf#@7r6;p!~8¶PN,X04#˭ѻN٨3xb,Aon2C#G6LRB}gme jnm=q;([ rR~AŶ-{GYr-P#I H%4U3 BFz,bmTTnFUţ4>x6 lcҤl0HrLuH[1wmm<-fݖ5yDIJڡI*3NrZ`$8¬W/LYmK541N,꥖|ӑR})oXKJMsyН֬! c~IϠAK>9gTuEq. GR:V|E_x edAcD>@i:3Z d2218Ilr !0kާRҨV%j3~eP'ٰN%Aو09$Yjez͢#BB䊰_Rzin\,S5[C:XtTRu>C [ {bk>qN֌,yޜp8M|2HHv;kU|n oVި6 #b}fADOl^kӨ 3JXv"}{rŘu"]g;~1,Xmxj4Kߎ;nTKBn&'# %DB njE/ϔWԱӲ q0 Y Msu.|T^sv8خxA)vwzXpUz PHІ}jTIĻ n0'd][(ǿ@Xժ@&{}}ߑ]nmf)@{ /p} m]o_J pTeWqNBpXQ[~7giedϗ%;&_eNQI,n~ }a}pJ~, 0Z'X٨6Fz+6- [PD 6}+o'1/Xpn wV7YݟuUwd- _aGC|Gb[`>6B'b)M #i5vY|:pSǟ^4QlKJ,xzQ X{f&I;flƸP8m{`@" iVPدp((} SGdgŸ 皬AM~zA:鍻J[cF{ soi1aAfena~׽SYp؝G0|u._*<7m7)/xyL#1U2r% /t@'DĨ0F*ʋ5iO.Rhb'VeƓZB.ɫQyX)t=Ie0a} DyiDtg'^211:PuA7P:nce>2$7g.c]xpևҽٸ e< pb9QEUV]Q(=ÅOsCjvza׿Dfl2EX7 l%4Ӌ˙-1-^3A͵L#>!=,j NX@,#02ct(wBjyp'] о|^Yq`^5D747KN:pD y,&X^&?Al\ގnk{8>F7_ ոsX*cڼGb,(W.w-w`bN>kjjÁ_y[rcU~?x`=YVЂ 2%o!߹hl.9$g@ bBUx6d덪OX x[,3J~I*פeR'ExmG~$&gDQ ʟeEeBPٔsxm{1E項=* ;br뙱!O E C-g "n&16,8l út}ذTM !n?VȸUM&_# |<9ꍞ:Tnp#S% M'?qwuuf~aBk5_" `o%aB/Pl/_2`Nq{^ hQ6ĉڭ@Oꫦv|Aj¸ Az%ݍc<<䯴 >QEՌ]/#fAF;ZN9YBRΏsx!^6W;g?<Y!2_"Zvd- ^U aы /ӷ&SPgS I#qͶ0Η0VZn\kD琴îs5|Ҥ'Sh,1/s҉vD䧃BDŽ ʧ/*a3ޮԭZNۡ5:sQ>zn7dU|Yc3meK<\CH&ҞղjqG]dY0bQޡcUdA")yZ -4/66rr$?n2DoG UPs2/|C[\x}T{%tPv`!#@hE`wD8n> l)eUL*F_o,j~MHlhW2gJLkPAbgTξ 1N!PckLW e470Tuu9w: X9k@7kMVa&ڪ05+@Kі xXu:,o.8t Qim^^6xqDKDžaac@|&.O^!$ ^C< Cw;pz0gg":$JM`D·Cށn,:{Uo=NeD0SQݢR( 9E]4@x+S~*nۖ,)L䐾u vyd ^VUZA (!.'gh;"uCqꌇDoAU!j`2 n\K\-k-%VAqQ7~aslE7Cp(?+{0>W gA@*ۑ |/~/x^I]ȁK*ϦԐxiW gD#@vjZxϤ^bɫut: 3wke.4v7pfn?;8|%*A\9Kg+[eݠx2 =SC֨pݽ4p>=ܜ~}̵LzKΙN>jMt&yvs冚Yۿ5gwU HiT>+'فN=#DLΡcg"͢[ݼɍ6JnU}pf@VіC휟C{5Kw$ ^E@ˡގm `.;x4)Ha'1P& Oر4~gyvzL6{$6ѩX)@I qcmRq/`}me۠CVUۨh-2ՖKv neцjRw:yIl8H83axԸmG_3p~!bj3ʿ`μI;;KgA+nCCBFc]>ו0d0)neLjH(X@fN JRrD*#SH(3\l d=XxN,wM=+ȞSb"* 4wbO/ n0← GAf2jR@sYd쉠6a"\ٮ<Ŋ-z@m3~M=W (Cg.i!D_Hq7 ̺TBPv6[>0Ado_佈 crw./^]הxnJK@B/`Gֈ]7`xad/%V 1EisM lFPbq^ ط/vo;PwyF"%Xs`dk6^jݛܴ7/j\/QZyWX2֘Y@bj>*:0+~GT?k#:tܸ}-Yʶ[eT̷TE3YbP|X6-!B]t߇dK؍P^}dEo~,.+&܇+M6lchE<ȑ ٔ0vQ A)jxsg1EHB] 37'Mm.->(O"SEE>@n7hͦWR'gdiEkǴvl0XFV+zP5!8AC%ǘ4ҕ/IreG`FV#E=@\ka%?Ɋ7;gU^9lswjoz;pLHbtl QMXfG-Wn}NJ) \]jt!jom ]-p"vou08м&TրM,TTzRUM(/n*~耎|ЧVkG0=xŜ{謏=;0ڧ?a%Rq@eQQ,Ddy,>0zmWZ$yL7)ϭuM=bӟ1"4 vFR/~shDL|YU& G; a PNBS},11ڐr ň<b왤 A anw -3-ef f\ZжB:ts;qVVLOz"B2L@ gz!Fy"zK tdʿm?QO5&dDf50~W<" /#EsrXogy0c\0Wx d/,&(™FKK3+䞜4vz'ѠEBT@2P }yo:yz4Jf}^W"Q g=GLؕ` geb|o!uܳRQ[^S0 Ut$F%~ƙC`=Q:J`s/P -^JkEw(h"XҕL3Nv2ّ*.@cC^ /_pX Z}2n=Np6ÆxLQ _ҷ:8VN3?X6Z+Z܇gpRb:լJrUKC]ARx!IZВ*GF`#ܯmEne|SnognEkV`; OAU$%UJ*UGO$,4 EˣڥMz]jp|<[~L bDHmD1 LVfڑtvي+i‹%Diތ;M{>Z=%jPN"U~w粡x(e?+Nu-ECiĵv&G@ 伒{x[kIhmy`)r]HeCz'2FxiMz9MLܰ鷟z&ˌ -G 0{$x遺 ayӘTt|Opu_6I'ur 5BC]0gv 4`v}H`"in+ zscu8:LqqQdR1=& sXehBqs]ҹ,GoߚسoL{^I3ϢA&e RִhhDTPP(9 ǿ/~f&uXT$=H[t\R]B}HW]rbhE: pA ?lM:h Ŭ/|A/yHDl?67Ǝ,uIM7 5szHQw^qBPCl :ȹ\j)*Ğ%2XG6R^Fx>lfTcy]%q,R6G% b?mӥI*aZ4 uZƉ4#z & %"lNTP֪6Ak m^5ګ*L'4'&w|(enӿ$h;J>*%QtTh1e>'y*2KQ3d)-$}GVFb#Fs#I?sH I*ts&xj5LJ /\DȡQ~S=`  ]:F2~1_Uc|L AAW .ͬM$sxң}Fе(-jXReRnb? 'hbB`!0t$xABBb$'-$x.)AO@lsyv;<-b2=O.B&Մ*JEuK!5& *>٦Df(H_&?¯/Jp d&,琹X8ީ!=F߸gQL:4"3R@6J J* ] KWQ=(`SM^@4$yv ށ~@-Zh;5C3+d }MF ^,'=IdShDro ҅얁U5n*\a@)SUzNT eӀi$׾kOZ0k>Y/A9;ޅ[Լdv) Qf?^k$8aQ[el%-kE몌ps"d[[[A#ƔO!qͯi@vGJBL5&vVHs;}@2ECn!!/=tBj$&)PZJ$MqPӜ$pVqjWvUcڀ1fsDeQU惩vGWꝭv5){<^ Γ'A%(Uoz)Yܜ$tjr("s ɉ6I6gQlFqTl5#j7Le]ϫ9{/D; ~e`;pXxjJhx'r]+NeNwW)|b.ϝ yAA%qrD ZTȸ&zts9, :}atZr/?<2m] u)^#|'߼" $&L^3Tv؃[nf5o##}bٷ$;JE!~` C"$`D,* O#XB1!Ӛrglb Hʜ2_ug)hz= k!s<ʎ n]ӨpHͩv(,NS_!ba8g"O4Wk$#}H!y:*ǝTZOi$poJn >x}٦ xzQ& 4JAղ? UP,8h$}LeCXǫ#ރ1f j0 >>Z0049Uc3 `qTf!xh4}_WOnƉ[EF@[+ऺDP߅:SEj,tŴ>2b}cbJ^t 85:xGOuҎ=Zg I8?ß&. L![\t/92R*{kLj(\ \4!1)U|j˒].P,Ԩt~(/MHPm4r$M/qo 6Q]T[0j n;[4;-+avw͂ e4Ÿ(}V4 cA je{&Uߓz*+W=CGq4h$ .S.htf7)Z[8 tevWX7_lK V~ ! 5xl!W֡U˱ʇp3V|zy/jߡfZJH!N W{lIMi #1Z-I (Y$5QpAd"ŋtL߃`Bc^HЏ/3֟:^3eĬZx  xt$ sXfN-rz3aqc$ͱOk7*ޱ{sͼ5mo\sivJInCi^LWgء2#  t8X@.7Q(KL.ZeG|Ngʡ7Ok`5 jaM?DWb#tce0xKhq̊gP[k/.6E0(8LU?&R|$)aPWӋ<i"*=>Aٷ hdzkicMtՁn{pd|UP?=(߬. .v+' >T)𵟵$ ?c4y ={M6b*R ܪg*rۙ'5Qx+†Sz4j``>2TB'vFΞ2yh/oѧO`ۗsnqwth:NAeDB!nk *"_+< )up6tX~1GGp]@_8M0e_ÊRnoA{̏9Z+T+(Cοj't Q{9}ZS:ZV:^D| όb['_Z|+Mzn`g钜 2z[ip&<{":( uzFz efIwaI7N v:mBzG6 DupA[麀o_u;Yi[cz}R%~yb5w鄃Ah.t )̱_bOaZ)UBaյ1u &50?.'#YN2e(U_ο*1s<:ހ Ԛ~V,=E&"! MꯥukAuÂORgcwWx3t hX%si%egX'b KOVc`u>% 2e^vF䆔gVUD)xbB %q"bJmTZ'D!q ^@A$֙5ky3oɕq_;঑<7{;NxrZ!sɆ^'E:d[צ#2DxN'~d_Pg 7MH:Nc8<>Ooe2Ap\1UG2P|2L{2ܛvWlo5|@0C9us3'j&֛&ygh/ou2Tu-kir^>+(aS 1+Uv o5͊@_zƖёHd7OCBJm7o \{:Q|HsE?]U'6^MtNf!#l.24.},R58d|LP 9e% c缵iS"R<2^c io6j㻱d} `v&T:C!;U2ě1eIY Қ>q[7Hpi{F勺,*8b%7}5xcG͇{<6ٱbdOtPsn N ŴDR8Tbjyuܪ쎞42m[0 D 6^X[1VqM=[,PExh꟎F{W"YgXGᶊTҌBW 2v7&Gᠺ –ޱ[RFF#x8\aɽ!fPY^?r|j/__;  )X1>JnRH?S.8Y-`W jA~$39l[bA2TMQ5(I{Isˑ}ANTΉK&T=)a.}Jܣ6%6c@[)}cMkEKZ^rޅm#.ؒ)3#ԡ848h\/Z@FbIe/P;?̸P/?sZyW;lw\,j_6EK$#kgt>/ Ҏ^!Q%ä1Կ'>a >; ;7;yVXQk G0#?y F^,U n@f/bX .)yM rfHyhks'}fQA6tb@"{qa3m=J0˸{-$S NJ{zWzg/b‹o`҉dhx+&t6L"elO(schI5-]N>nC+A|\ۨ<5G_VES6z{(kQ^rm7R--BJîc\y'f!-[\Gr,8Uz,ތRԣd]K<mVdkrA{/R7.LmdƤ4[X* Ykzw (001/&!d:f/zo۟Z-: 大 l MU79#I]zg7K=JMvv:_+fy)6 lDhv}Bb<b.Ɋa?=ۏ>'eE*`~ь'Ův΁UiHrTƿsqSєG~(!S] mQ<f;0&K'S"̬qqfS &ݻD\J` p~R70~o0R|2 )/CeeMWTE/fk5@;[xBfDEt#)KfdtE>aH=1?%3Qdx?9xvD>ik#ͺ,/bS=H;i2"Wn9Wu2aeTRb] 1cӵ\4;-SV=u;kt&+: `s# 49+E_ WS +p',#?FA3;s{?iEz$<:Na&D3)$Ʒ91P@\ n']b?T^-?~"J^2VG eR-߫ϚZ9_b_ͺXq>"NάrtCޖR#ꜥ͎֓4׏OsRrtE;X˒N \b!,Jy,giWsEUJ6bhեO:QcpgK?ƾ ?Cp}S5[ܗ|s8lY p<)7jsضd~mkJ+ ѝEk%*R!Aiaؾ%E߱kdžG(S׸*Š3 Xo@|V1c!/YY5g LSBDp͘ߵ$'gM<`A1NƙGV9gh}Ə:?a@ViaHhq4ԅzj5pAa'FLX?_6ɱI>>bG ,iu:UBbh#$P{wYz(uQ]Zro2]@β(ↆr)UZKiMAo`*U74?gJ}λ;(ҕq^ѝS[26bb~ 9#ۻnYϺ~;HNӦl7 3b$e2D畔j_mu%ػϕdÀB;g3RAۣqT:.>?w$9rnӭ B=2\Qnmtrd42QG(2UJ}9|T($$SjezQ*~R~ il#kݓyn Q![ aj/l_{iz]]֕(S,sӚ|sM >< l,/EN18v1Hv/.5HK W汛9 T@uKWNf"7DE|Gv'5QK1= S|;bi%ML?laxVR}k`m!tð*̅L=|AjXu}?0̭ʁfم"!/>!iu,CjI,YGepos0RUz7u99f*=^˄ݝ&u +X_=鉴+9EΎ h#^A0`Ty G,EgN8 $xFru>PR!,*%8U9 aE1ʇͯE7["2c8f @ :iO5טXTa0qC tGDx"J/~DBǭ zmW]Ўe47?4ksH'H8+a׀hM!de 89Kƙʑ3!oCb@'˪SJlFr"7L6B B%%j,jfȜy뒛zIjL@{|n]Bl`98XZ葧o/ΌeIZPbXzUY][lBP#/G8w4WtiE5yi[*~yۉVF$b`Gmۨ (s4m-!M}0Ѡy.:c9o ^zf>S/'^ŤGEܗҎbij%5 XD4VsAbo\DQ C9?k&u/b Kt?B:²A0On-Ur^ F6m*M"TξURL`^YKV)koXk?3eh7hȜ[] TLd5`i"-4XCk×^ Xd"$H!Yt@9TZ?Kngת2o3 `&줔G]*tmiA)pkѕt3ٱiS.TNMHuT|X]>u TZM a\ğ˙c(#7'A3Ķ`ZR7cx; O:[5{eMo5fW2 t:n0PnV!=Z<+3,Fne1-DbCS/L]0= ;[\*7`s9EKS_hޘ Sw+՝v(p =$rZԭS;h~Njda!)%76\}4#b\; 3Z䧊:[Q ݲ/fx[$Vq[\Z\Xw j$EMiZ\FI/\\pQ5 @pU42 )u\qoyK9["Q s_L-H7#Xp{#0L.7T_]iynORIWJ["Ӎh5GfLXHCf,eB4|hW)ճ-57Ņa;ZkUth#yoH1}#!6\%9^>}Gj-Dyȍ5,[6Ƒە|\鳽AU*nIo}ؓ ò1QN]vlkL0#x\HJax`aEAGK*(bz d b>h6F(('s"$Ky?0kбJZ`7}`H~-Ӈn2ng~FVN-U$7`o VEGyRvbD3[+I;3[ƀȹ}UT^]1CUd9IxF%]hG$tB>n"YB?SLԗMB &`2(IS4Gg߃#P huWAeA=ӓj|_8e*fGD瘿Us2XgUQ7 Ǫv؛9pX4XA=.׻%͎ۙ9UKt#=-Ʈ+aL.@, ƃLjU7 5'΍Zޱ-h4CC;'KT|ny^'#++E@ vzGLStRQm FϞXK|٦\Co-y8(|L-wg7j'v12\*ۋ_R#GY`-(f$GZ,+@E}J A'rIk@~5l%%f0㕏u;@\&|6&`M7 Bz`Koib&uFخr>WC]յhoV-ŝo\K<'MՂ -! ]ڱFJ|^ 7 PAa&O zCAݬyM[D뤫æ*bL#l)ؤpLaY.K 9X\5GTO {뾪7hߧ>"@RO?r4z9MH@Ke3}>g H ˯20Z ߎw0`mc 31 )3hpGʷ"3?~u"ȱ3d Wd8(t9$cC }@G,:Ƀ4u'+ Z v4a(£Q^DlN 1C`5%Tg/eD') )=&c\ϓrM 5/`X{"9Mj05^8ej-Zv8_GU,8ޥ\Mk©-:46 #Ô۫w椢ʬ݋Sˆ &u`ɈW ;o.63CpX G$ڢ׫O,l.&f4.\D%.MII7utpCq#tᑒEPXV&F'no/Sg Mr<CzVJEJ9{6׈0FY7mr52< h{PH2U,6 cC49'ʵy-t )䯥I2@d$! r:۷I_|!ޔ- iM#IV7pD`>C*+lVSFnlBWOia(6#3_fiʖԧ#6cBcY$:Fړ_zLuIdNx1)+QKf0ҏ'wdCUQV_r(Jڊ;V g*<.kᕇ> 4(Ə*vGnUɃo7)r =@`+9 tOqp '@QZcY>Mӭ{JmFU28{Y%;wWd5GJP:v҇p.7tFYZS!SkAMb\tLMМ *N39k}3IBo W-6er|M]ِi{hs^/l&)&0 x:Hl8嚙ys @L3ßA7]"$wI-<]A*\ސHܼECgw)&&eM Vc_VݱJ|k2#ljYq8J?ӇC<+zjH˫@(S!{&6Fa'+9 dGQ>ept(g=׶O-41] NZr*O?-.`vm7^f}`BuUL=WJsOXQ7M :Y+>X|{'ZDG?pAm`[gbU0"@=IM~ՉeBMkT}V}G 8 7H~x״@`sz5xO#΍4|l\ %֍Jt,2F: ܫQnIj>H192U]S/Y<&0aU'bC9N@u`dql2"52F[׫! 0o8i#H}e` ə^}_G7CovtbH`R'Z >tkg-yS.0ݮHV=Z'U*1[3N5 N2C5Ґy=>e)x\yXT!|LkS鐲7S%> dDRqW|QQ9⬮nF{l ՒP/ԧOm <܄t &yxmRۗnQ]#fm[ku#VB"A "|H1ؓ?C7] L(] 9 pL?`|NO vn}W~ +mwv#0UBw8%^EnM-t^Dz 0<KcyzYτlǛL<*VIs34'[('@ņq؜i/SX v9[XMw!7bz~o%ϣyIL{PHX7ȥݮ32Ұ5 bD$WXQcyEʝMbQL_Opd&9fl1kS8ɑէ},ЊO k0>珧t%IQzB/{#@` P*32F$O"#zߑ80bTꯧxzKn(ر ńo5K.qD&`{.,#i6qdy:?NJe,/rYұ6`Bă!cͶ-v[|M8i#)&s``$1g{3s;k;hܞ|ͨc-ǃi?j:C¨|% ["] 龅K}@: 3tw$e) vd[s_@ ־3 B,, tڇƏ?٭ (i<xi&'~uzbȵS {D,ẓ1 5txL bΦqDiZ-f#Ha6.3Z#<cq.R}cHz⫼\6]&9?/:|ЭY œi=HjMjKbLH24kwk"H:};!XĻA;|BO[6`-)xVJ'/)4W0fq[06/³2'5>'4m]kcu:T’©9R2 `I%j::`v):D Z&;O ӒjlQlQ_m=VQn@V%ڑv+rd5{- 9/F I6$MH]\jdk|,B0gИA`Tx{j#}D:Cq%ӥ!]w*E)3V3x 7B3}GDX['ޜKHśPB̲Pv6sIyn:If<ݝ--~cw,?@fQ9za8\h$ggS9KA/* Tq[u^Z YUE.j|Fb`nIOnٸOq7M]tZ6n|g"G>c8Ane\}xb$H*,ˣps9w;@8!}P2 HC̒y=[=Wc|nړScK1O_SoctYh+2E}LvXR<%vp9֜8`𛤀NcOCch CsiҸgH9&EG1ۄ-};{LOu (|N^" x^߮DvV#ʪ8iCn8qr]{M=# ^ON6MAz؎[6+XБC=ќvCa^Rk.ऋV}Bw7i]g6p*k?DrWDUdclFXZFYϗ(6v0%OJΉ(1{\ Y.YL` @)HRζ)jURڠi*:iS<߇v]XıGVNLJyvP+ fP4n :*IH F<\<[?cx=Fm ,׳+n=+(-=CǁDa ۖs|+န !T&.TctW]iF9`P\jRe.FohR99CP~5Sa~ ;axbCkL]NSk5Ƌ~toL#`{(g}mU 3K1(? +'fg5=wKudyvXW'E#&:F>4,dk3@XYUZ\Ix{Wĉ).?L0n 9M(SV+'goz7i}deW1nЀbCnXv~f*Mro^;nƺC(OJkjSk)uRH(/fD+3Pjt۟ߙwE[[ aT"c"S?!tZoKd3|6G :RgeuSKzyh˲w5}ÝiP)%\*KVG 2s ZWۦ)rʘhޫF%JnyƁ,[lu8k!|d]:c? HeB_ozv dlyfg;wvWhvܤ=.GMCaK /ƚW֘8ͤV?x ɿ5"G ~L4Z rHR@[uYH9JZe-V/PO)ȷ4[rw(Vɂ* nsεpCP҄6fQx.`;piYNkS$Uwr  З1oMyLu4/E19شM5S`7J(6AJU>rhT|;`-vnʫPQVf1ϊ^=Gf|.5 \Qy.q)K(8h\jMo:҄ 7=ƞ~$,EV tP!!enwC^/Yb;V!-2$(neex YҩO+t.YtM!G-AoRp {T}X{r|;q-y?' \bt/c(tMX3xZ6$[nsB@' T, #2D(j0Kʫ 1|AdxHQy\oSnvxM\ey8\jFFe 8 tSvhʆt7}J J:{ RW[lu ͌ÄG?;9W{2g~.4x @h5L@ܦ企i54]l4@ ۑG h5+%#>X8P's'YJіwݒOdA'Ѥ:jQx]tU@ٕ2PBm[daf] kS[L)c 1 {HPe&DtZУ TA1B1kQɾU"XKtr#`2]z_YM8 &}4nOgh)q2sѳB-z5>?eii &Ŧ\l/ /O~N8Z"J(G!p6VJ_">G>א7qu4O伶qNywlV>"ƖP~w2K]% .7m6H^^Iı}.ܿ>8Եޓh_rwlQ]5u?M-d}3ʦxٹ#Gb^{<+s)[HVմ4o8P3  F<l~Bm&*MOͷg^.9 #|MV¦5dLϙrn|c,5xl'Bk]@52\OwyS q%c5($˿E17OS^,uw$qcvpFjQ`=t+g(w6jD zgL$eP)0h7fs|Cy!8GDpDSSȫJb)謹 }@6.Rr~b2ojb>*ZuxVt<ϐB=_Ae ey"-{Q_G!Ei,eK4OUܒ:;Q-2m J¬%4OU2ϔ9p˨(NU^cwc [hwr(GYO^&b p)a%mb{E}!~rߏ3tYN38yMB1dv\LJZ ' Fާ[X-5inoZ1ν-bQ) =7#0+e>J3+\8k*7}ݡ Y ["I?:$?ZZti`3g2lQ䁄+nOb:~@ ?T(ai@z+X}ڸ,b[hc<BPr D÷`._U)ղw>I%PqINbֹ)VIJΜgT9f1_n:w0g1YjptR-#|9 [:Bm94SO5ce{;0=ͲUq= ձ[GaY}&TQg)ԧJLr鋉4ߘ߭@_禭ZQ)CR/V6cF!tbo3,/WiA 5Ԏmtu BwɅ?<R 2krh0'|EGgWl[19$CupT)$Squdž^B*ZB&JtjCI/#]4LLE@dNDEݔ13<ɧPs!g%/hV%:gDz#t4=cQC*L!伴 z5ƅR/MF:wWc?YsVWDd.߲<뉦R&LЯyƽ܆rF$0)BmDqUiV( 8 -j⯘߷Ap ;7MB`֕E?֊翳7׎]( -Wq J%'<,c0¦dwND+WKY>2*-3Ef%'gJRce~V*~ɬODс v03&dllxNoĢ"q`*":w!\^T۸-x=F/ܚ.Inh2Ieʟe{U@&Ƚ  01ƴx,B_@"DtsZk hl`8JNs)l!o)Uɖ(N@+ 1zn2u܉%gӺ gmH.πdONMN)=t8YhL0ZQ2˻ pDͫYh!]!o[dhRmj0]M$>}a_{ ˪_Y \"K_Pt7 zMEጎ:Nu Ȱ"$mk>vh>XaAqPN>ߙEX-aҢјl=VN\v+. U&M[R*1np4hGlb""r?MIYԧӂhf@&>3 c(EI"p@, ݲ$8N$:"<-OT?%YQ&لqM׷eopaY&d&岕ϟā:4LDG Ș^ƒ x 7Ȝ%r(Xu%y8Nz!}Bء)- !>U&8Htv݄`.i8p35.3 kJo\ߏ -NuWk: @y瘔3 a5Ŭ bC%04)`B͠3pFma ?4U'/}{ nf{wr7qG[NWEh0- ߻4Ip"M1 E|LV/B7O $:̎+|$BŞ_n-8.86qqtbfIY8JD~aXӈ4ǡƃKvӆ J+~}oi95~lϫt[Ef(IȃĂ&όE P@O?Cn->= Buţ& &Vc`t6riZf(V'qD3ZZ. Et[t1^WYp}~Iᄉ|S%܈k&)~v2uXͼLJ_P  :F6dbї@--u4H=oh@x"L40'ҷ{ӑ>azF9VKa+>˧NOmC63؄ I7oN8[R`5B_2xkY^pRg\ _Xo2;k(,5WJIղ_nV7DsjO꧶^(_# 7vv# wsѻ!`KMKu- Ǽ)B~iXGPrghLG6C?l'ˈ5vc|t11?n xkcӼRmEjq>-u]JprBsZ"jn(c<5Ĵ/WGi{|2Oⵗ>`a:qa$ y>H[⅍dyI߸%l{4v(L5)hCO] +ѹͻرplYb4Bvf O:[\slWC+ g$M9*#8rA޴TRp0~q>s7}RR#U#~o_B_?DX4mn24Dur^sL̓oU=[jKw/a&klWu{Loo=vABJ&UJ = !m0ڽc6 \ffkexsf(y Vhw|8u}D5J,Yp!({wJM/o-1RRt{F^x@v,:x}j#8-Ck2W]-c LAfmц*ok> gL4j#@9$,2zXt^S둴&e.܊."v4]f:>[P]8 jե~P <$@+#y^hvo=pFv ?h \YNSc +l*ء9Dﮣ,,?.NBK1yI.aQńK+`gM-(wDjX|s-/P_0O=ESܱ-#hjR,!L]j%~3I9l@j |A4XٙUrM=K@)Rx_wsGP HG#d,C.jX'aU2?QƯ5Ɗ837'e̳pa댐##_a^['-4U,vzSSQsBМ=p/,\!3}6T h9業l+ZűQD຿\KQ{glf)8iEl7SJM7y")oDgGKc;X M=g FR;_;lb$c{E;ڬ{!L(dsg`?F|!Iܯh5=4CQ]X`h!Yʸ4xaB!_ǻĢ|paR=๣,?Ԃ}XF[C,ΰ{s竏!u_89G_-ҍJ%yhm:,m8n Ŭ/hV],\j@N٫sOa=lַpiܾP [T?5PYl GޞvBt=̩pw tiyǾ v%&UQ /fh\a.2h,J{ܽYl2ۨ1u%A. ٝ"EZt ~F.ڴ^CxY6^o88;f3Á+ bN ߢCl 9m4*~&~Gz#r֌g:Θei\1ͩr=~6/:rZU!%Mn35$ YF`;(@?;?nZьL@CE|93w~D#~OebYW}@CCҊ0=G0ۏJB!&\i뺢z S X3{6hcG%p8mj|;GU m`śoEo V<&1]3T9YSL[l%YNjܞe`-g%|Wt5PJ.$_B4ɘSzvuA5Wưs⛞NF|hxU"iv]Da~lin Bʂ,# u尢% eD~6O V-2s4#Ip-3\\£$rD}e>Gt%jleK:Zbw$vM.y* VNL/|lt'k)&"Dιq(XZCob6Kjhw\ 6 '~YTwRxt0w ٴkuR_C ?-FB8wd}˵!Oϵ]ZTUnJ'K[sOJϦx_i׶k4{599l<5)TMVuX7sT/nGcTu%omg=5Bh=]:Y^/'J~:3?n Nož.%6.\]p]x2 ?}<j^ YZ