corosync-2.4.6-150300.12.16.1<>,iϰp9|>L, &6d2dN.kubj#/enyqodWl$sx?K @JU m9$Z>R Jfzk-+_fdPOq=LP0rVU&dxׅX%f*S{ nB_ րLI:Md!%庆+EmJb\s@&"^@!:_Pxm ;TxУ KުFcW:㣠>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/;]"k%]xaY( o~Ϗ[7pla@ca>AR< ),_HZ#ǀ30Fz137{K?1yƍed'QLs'(\C럹F7d;%LyiO NW&m'4>uꖇH  !/Z絈|Tf ҭ"XB6",AwS{T-_R\@*Avq R fƃj}"X{yB!ůHmWo&hbD|i B&֏)gpYrH{JsK)~hٌq!!Ǵk&p[ԅcG18  U(@+a؈B%ۮ8Qa_R:BbC=&zz y󧋋ETB (춺'&%0wW 0S1ԍ$骿$8k]bes$rhTx~$'[g۱׬0G3˗uUo@%=s$`)Hm a-!Uв Hv^J pMtu_/z v" ϼD:QaU}%((jvw&%Wz97ܹ\UڷީCL!SNYĆhj)X6,cҩ$h!4@ }SuT\UIn!O;h&S4@M"ɶƲѴ瘬Cnǎ@J@Snr[qz"a` >ej3,үGV]¶-$x-!Mq^[^v&I޷6sl88(A Shf*\7,!ƛ=\- h*b|}S l޺1!'?f&6n,M8JjFBb˳gGITD(i ?Ha߰N[Ga<۱ZuU۞"J%C$r >R$Nn,/&~:j)&9xWlII+/./рF˺u'#asꑝA!Fexc.+|jKiQdhm#OwgWWkiWB\/-A Zܜ>7/'ʷkmta3V5-2jUyqW1˂i[S:! xM ΰfRb^o/FBctw9.[8+ioHrc.FA-Bf҉Gh6 6vo aZXI0٬v;=1ř$߷maRA`r$uGP֜#F{vip{)/.` sA./zuȃ3I I T*:@}DVD  -ЏQ/>| 4@̴ɭ!k'FZG~ `fvŪɻ\(o"Ϫכ"WPbQ.MD71hM0EVADwN̸5?:/K>0ʹ5[@DLx/t _e GP mt&,w|57N(Z"P]u-?7pOMK.nQMs'21}7kMrZ :Dp\F`;B -L-ir՛D\WVaʓ6JGcrאP6裈Kuz~ZaQ4 h1<`Xć|sH-0bp۾'6QR&:О?w|,V' ^BPfyq Nȹ)o&t4)X @(=,ɢ& 5C15ܡ o޿t6jNZaifO 9vBH/BUvOËNQm+DFVI`%f{g3 ECfGb 4۫i8yKQa%d+R'2)ߗz(y.J%LMFb&G@R oADҳ OSCN)vt:}c7"y4)~ ?B'-؋61~k[&cF:[>3t(RH碧[7K;~TΦL.xAI:Ь͟s9b{HTc&/UΛX@5fb80* 3ˠ7)E:jcX4KΜu:uq#RZ TgdB4꺝& ~,= 3>*[Ox(Lliӎb@iBm!2΀gUy__ Yi VX-lVz[H|Vƹms'xcp )}^&3 e)-u>ҟb=<+YLrOAë*3;$.i<aj mbӕ~Ոq qlPvwAk1)yzAxPgV; ;_ѤOl?/`0si)wSE/2Dn:j+lnmhM+ۆF}uIJֻ7>hN@l]sz>T9|G5 بd@4-d}hiOIP+Vsłȑ`ʏK3j Tl-|*VP֟?z7Cu@B0uPl[݈3HT%k^82GQu:F=oMK+%ɽ#ɿNR-$3c޷VqmHa!S>&*/[w[Rl^`X95!OA\n˲k'cdAō;7i#B^ے;w8W Xr ϓRF~f3oE=|FH)$6kn ힵEO* ySAu뱙gq}G_@r폼e\]`mӣTe%g66H x2s2/:ޙ\*a*n[,ؠw(89&$[tf6Bp56|lԩpR(9>(ꟼI_I ?ȿ@a" Z/XЭ܀.&FJh6W*\M)$39XKu:] W!⤓Oj kS/ꮽ>\lX\)̓ 8l]@۽,v2G̝0~k9dhU[Xoq.O yt|?b*>J!jUs%jf}3>q@ӪZԃΕtz^DБ WdeK`2#,&'u%a{Pٖ%lisY㢂JnD?'W2!Kw޽TvhDOxѤ%p]-K8(5Dߥvwވ9jV2[oL55A]HT@s:+ΉOi$ΝY Aa͛OJ7 u]<O6W>;Бԭ^l.@C䯲vFinm!@r2ػC⹘"O/A^Ҩɋ\so"Ɠ(RqO(Θ Bxm#Vt^5GLVOΙ5Lbyv'T?ICS %[UWxǻa95edWcqIӉL?`ef{C/YZhĄBRN($Y@Gf[ H]@~P458Xi$Pjf]Khnʴ)cΛ9C 7~#c- ZL`7('N;dEVJPn"dž+:n̙XցG\VpwS[M׳ldUgS 9u(PGV }-4[b]Ti fhx_$,:J=y3| R:F ˫ % ^4s~fq.> q:(n*+DS/RN8t BU*h &gm@ш:+@K\Rϊ(:L}NȽ*PpTt!2#|dv4GwV3lñ2fDaG#MbL~5 a>LxnN=HĿd7T(S_g \=Ef*j_8 7!1@xJs S8S|郂՚߶ ?ya?m6 MNeM\Se4m J{ `&#>>/fj.(v_ p8Y8*ncQE0"DRk dKr,ںsXz quGz€Nnť܀ XI:T(=QB߶ ⽀"c@0(`jw ƶga#m h1U6Wn?h+ [+o Sp,8F{B0r助|-;m }eE8M:?CtCE#c'֣Z{3ff"ιzK:B,D/m.E.4.!򙸛Pxl[h \ȫ0]Hmc0E"P,G|YHRiJIeAtݰB".#ek3 'J֑Œ,d,{͉5sr)ˬNr<.\}NKz}B BP|t6tqP.q0E䘕t l.ލ`Q #tKi\ 8;7g*ޯfߞXS[?XeKnM3j`OpS I5C^_}l#(?rz_`kϕflF*WB\;XMi#_ 1'#-#3[-]ɧֱIމӅ3paF &Jc݇f*Me80JWtdV$ s7M JHT؅'Dj>~={έ_lhy+k\Zi~n<^"_ `sPl%VgQ$C }Ωpeg^tfG9j 46Q?Ou7 Q)mb&!% {7]y," ||43yTGt$xj'Y4'Ͼܷ5 w1 8{3u3]ضrORB[sq -"[폊Z{j1cEXyC)z3+ƋQE!TWJ d1K zPr"jGD#smEsK'i'=Pq`AbXGFndeCL2_b(K_tO 2)>8 galx2$9}h/TJqI6OgxpYMox 1؆;9h9]7%Iq Y?m7xbvy.$YU6}opNWL<'zqeMQţל}d* !A,%(}pv 66PVt 3u;5CO^gH[h.jw$߂ꞌ\Y'Vi !N.%;?Ӽ9I`[ʺ|;&CvӉNJX9Pڔ}̀7⠾Q).av/QI,਀(b*v}zX umT9+]k DKOqЭγblRAOXz\CMlNB.’VE o;:H7l6m"zQ* JM'`װJjΞ:ElqSQ"-nz%vuTjnrjI:̒K!Y]Ҩƥy'@Y?cR#2yQOH:^^{|5)En̅Vb! m{ݧNBt>ƽ0ڒe+tE%,?ԯufcdSq#rI*{Uy([h*I7Fn{=Orq'S=?qۜ)AMa#3I I;ZeKg3;ax"UtAN&Gj[G츱M;zEGI\f6fW`Y:ի3%\[h78<R9NY8  k˲X9+"Ç-`(X"QWJ*~;֡}4r4VylTZ[{MlFg)(yxNÌ lHբ" DCu0azSE= <DZ[uƈ/yS"WNmbR[ě5û<;b˕^Ҟ"6eߺi{j2B|xrYY"Ziit˗Gr7"O&*2A*0؀817?Y͋₎̑pgP4~cbw/B $/VG- 0WM7O|v>{?Tni,^cW o˞(tmYbyN.Swg :MZM &v3Vd9C~Vz {.d8&9;D +d[%QnۭnQ>ւM~/z7{_5>{MOuz% Uꨝ\p͑א ݻrH9#CN͑Z4V,<%bn#pOHd$ "e 'w"wG"lq>-OSs4FfywU鬂7ҵt`dOvlUfėvZs!45dr#Bp4Iّ~Hε[tCmu *ėEGtg8=礢 $q"?,[sWJmx'US=Q=Qw'g~< '݀,Œd$uJx oK nȯ(Q30{%Ea 㝌4zAC #eʚ/N6/BBT#T[Xo_oR12K;l{,}~cЎMy>M塻m.>TSxit|4љ="wvH7%^ xRDpa2NZ4BGH]6CK9Xj^0V遼Pɭ'Z* F[[^1 ?~`%ѩ $! HY඲7v>+QDE-_!R 3E 2J/>oSsweT *S 1)v¬Uӥ Z#ƟXύFYMŗ*+>iޙh2B >X~`8sAzKV׋RSqH}Av8[6z[m䞕7uļhN^Ņp I¹\kJ67ɂI8OʛNwԓR{%z6pU仞?G6z MFdjqǵ0pn- b'F9M+)_4-$ltձE5lZMZ?`g캐"5` >Q=f:QY9vj J 4<6)w⊟HZ~~$1G}m [v;Y}[#P@MZyW~d ` .ԁij$K-Z/Cu8?mRؑ)681 y`%#'_ "4qG1bSXFe !$WXkTL/d8SwypU3^=(ytc~l`ܨ&=  ijj'6.7tR Hxd8QU5E@gKHVj<'MBU.}_UD.~.Om!iYĻiO(&(OpV[)f́y##WK {i!;ԅth8j#_g(.dY~Z^K%qbj*@(e(S^NwB%*hZD3MeX /ΙN <#::ګ܄A(4zn^r̯yĚU#+ eUsC)l>kAHnbH!ф@(BM; Me^afs )sNí2ߓU).4C襊 >F2!n`Wjoߧ7NGN"V֏Ĕ)ſiD;Rh+˙7z5-ǹ7:_bUnV2<{ fu4}{mC g-\1eYR4@/T+-Y =p*(9T*s op@8 ^$Vӳz oڬM0sx ^t'۽xӡ: tzyNj7ݣg/8 g=hDܲnjڞ(%S$'Xm8 0Zz{;F Z2/(nk p9?lR1fq|{wrV(΍wbVрLOX~a~{0ȒDӼ@Wz(䚲s{ ޭt&e (藥HP 30 h2^+yo#ߓWת|!ɱD`UeX%aHV"~W=._K*.Qt.1Z8zŖ9[mO?KVͳNyHnn, JQ<.HCL@٬i3.uU |%$&ԧ+R~mЫN(\Sa"sr-Vz YN{ԯK&@I"0hUyb)C`D)wza#WwD{e9&#myU5Ͱ=Jx/F4^>őFP9K_G!M({ A\mkɕusdu<;RQ>4/H|npsj25 fyunפ"?xҢO@7TVcEo ٴZS[;Pg| D;LpL;eE/Z&OZsЁ (cԵ uJ%[xvbL<gY`c&N%M0Yt&N]s̠ؖFv8YÖ|D:8.H%>+B~ "k.' M.[ot6ضͧ$6s#`yMa8a,ha'{wQa c/@f6[)NdS: 9 [m>" So&G ] 8~IpvbA\w7 E+07$dLw﷫+_L #G~UPM^E^ "μ*LMk*БWEkAlA/e`ޝf.8~ܥ*2b;CO|E~j'KJܠ\ϣxC>(m\ToBHI>PeZ§6ֶ@GDrQ0N,LsDrb(?6R!쐤=ٟ}$? [Oˬ7+Fcd ,H%GS lnM 慌@b͟#Z<~\nN.B2u" ;u-Zr5[au{BuGʹvܩ “qʽ4UV f3##|0A g@rR>iQ]٩^K f}̳yDTt|f͹|zp dJ-fRsCw[ _bûdu?mkϧԗh"@ w!s'|6[iZಡ>eOfA5ӱ_% s_W|dje@a-, dq.I `.K_+vW W:&S~oͱ1k8ATɆzoXfx%ꥥ{q@@:5{Nj{J {e{2KE.uD!M+;|rdp,j4%Fυ\r{9أY?^ oqۘѾ ?Ua8=MDKM[KnEY:'+G^7rM4K.}OLhʞ ?[pFUͶX;) ?>߁@1=Ƕ0oKo3W<ETf`{π>9ZH&.t$<8=t{nJ\pN^u7eUԐ^A&RE뾞0$Nx[XOAׁYPp12wp4,H(=b) .M/&L ';ıAo<^@@0(smX_`nA%Q s4#%pLCA܄# xT6qT ڇ젃~9@i$O8;0#%eBy큞C=`5*Y^m&狞CBz=B)5ye숪9H4 jƘS5EGYvhˎFhȲ0<m:,ɐ(CZvv&^9JJ2E6/xYYW{s4WOqv)Mq-58]C?Ϣ%@+..ϒ; /i#=-5[G afxX!OXT(20pc%X.?^>*|nX]ty0[\5>Cc  MȪmgN{3+½{֏SE LS)(]z)ȋ88l:zHeDVu/bhKHJ~9\*4-,3|Įyf6 ^:3$j+ӑn>=u?ʽ(-ݿYUbbIͅ+l2z4U}!6:-,:Z-_< e׮c (Z4?GYe@,peJشlyc3+mҽ)Æ(_ [G`[bX]Ng\P9`J$*[&:(fJ(ՄmxL:϶# *LB`fcN|+>#r˃ӭ RC@O 9|x,շ~@>kĘe98&U Y]3i%@ ]:YU'*ͫZ#E ؄/W0-:B(`T?S<`W -Nx(Fbǟtva׿hWQZ|#d0R$+ NZf?.Ϊ[ q1sC.gj?2! 0Fܣm9Ϯ\9ѩw^r#pYP/oAI:n ̤8ZFJ-Ҵ;{rb',%8r7jP+fBT;DP] mi ph3%u"ǰwH]lZ Tn@gBp68Č^?(6ԯc8_nհ"ug\H%P;R=ot80abfMv'x1v9i>(=uq"aEvI]>y((65oM0TvךcJ~~_$Gk^#ӚdJr qփ CFGx()Y@VIBhUlkC'N/Mk2JOWYd1@EJ'{O$ >9t'DFbD7t +a^HP7O‹*n95d4Gel֬0 М=gGۚ6jp,":s EmfDJ>mjBG7''q؝UbFj3_+@6j8sTTkؤ20s3 }8ԦC`TVq ZrQ U$XYג;2 s0,7O"S41,0Ϊ^.pqփN .+k fzc5،wDAӟ O:&A8BFk{DyS DSx-Fr:г/f=Utmͭ8 t n$E0˩hʬYnǐӃrM)kȅk@{"CE6%O(7H(}N'|)w%dN%1Ft=mT5[W]S^@5NQr 8=ru8&0/U$80=pC[3U#@sFA~&ug"m9"evM}|'o TGL-! ;]L+9$.Pլlϱdt2,X7lqZ~nhcdknY3wӳ)g k?ݚGΰvv Z]aSOj!ZC<JDbnP乧^SG.Y.iLw)\R&&̒"3SuJ1qdr4h(w d}B,Z^uGok)N܉2IYa)/<;_rEN|"G,H^Gt} suB=ƉCE0$$#D)B{&5,)F$Awr4ڇKиf@PԚQE0N;qC{ɡ*e'V(aAٹfrι4˘'9gx[n$˹J1 hu1[ڠmAeɝf2,'E#a^`Cּ{f!A Z~>״<B 5sx^ Rq*R_vP54[16"n`btd ZZdv``jbz:3%tD H#147 sX)}btciWix%[Nɹ]/Bt5a\T֐/ V%dyE^z\UbVqºF+msÓY~銧s2ԬN['{9G:F=TiúfF~,=/ 1T6B{n&` 1\˺XtUL)*{ȟE]J3>bɦr(dMɨ]s:9!e)!>1 $"4$W+KuotpG0*D "P0T`ig{燣Gf8n!*ϏOt9!mbe]_|ί| ٚu9?{sH·n;f0"pM؆EĩbH^{Pa+MN٥ms?39Ly~f'K1>{Po"xXJ4&pK&9'~*% )9Y D*UR0'E 01]͒Ndis=$(R?'AG/>)M^D-)L>#E'Ÿxt!ǵvJr}Qy0P/G寰c͇a@^34?o1_J\ۥ /K8p\naW끰!/uz jWEYMlƕ_Զ_2z8F1~@fγ %7VĶD.f+iw 7BDĝGjt{ Ra"ȨTlXԟLko$A+?ƉPHU'Ac>ٲS}{C d+ }M}0UWIX>EZ2O \V&zi׈D:Ӊ'Q0)SEtX5峞0Enr2fDP_(4VM x>ؖwytLdELFd)+qǠCW!=(x7M D_*WJ0ooH2_q'Aykx߰'J-Q7d =@˫ֵq! c[$8߷[$":-pf42XP<,2PgNYJ,HϴLTNaEw'40iDub)B9rI}%Ś&Yr5,N40iQ"o@yR_%A.w4gˌ3kUc+?R)[sfh9.J:/Np*+%iKS|JE .ȩdwa z~Fڤ.:UɃ -dJ(:. O#7bIĮH/X&xl"sE*챭|jؙ/ p$8u}6E;\>w<^DԼYRrP!F૏i_32kI))#٩4&'#, G1B qю#w` ιrx,#f#,I1J~`bty/{mNax߯A[et($\2YAl.foE7XR)/Y=i$ucxZ5"4ngΗI.W3(:!/EW6i YJ4|C/rV4{%fe(.JʮH&1|#$ȇx`8v>ɇH1CFw5P# jC}9uf;(" kz{K陾4psw92C-`+>ծe3Lѫۍʾmne8i('rָh|6Rpd8aƞCݐL1XPtx^vdcVò?E~oLJ LJмM_2?rqnCHܻCVL @XjP<([n5wӖI.IzbVZߵM;[O#- 5$Z ƨР$+Ӱ|N^q3z9Q+T[[lYESVuS FKw˾{ڸn? 7F[؉] EelUP?HO~ëAEx9S%}z6&҂1J{i}Gl04N7kmDuʯ y+xE z!k5<68P"{V$ߎ=:nZ6aW`Lb5 ZMsFεq1r3~/\;۽mb?-Կ3Cj l7WIդQEa Z-Yse-a}al水HkM?NnS5GMgf4A<;c=@KSRݧWHzVӖVl'8O| >ZT6\GgJ-z.p7I˻辌3 5u4.5+K$'a[mlcJZ <lmjo9.ŜnШK#~a2wcD '\ CW_aSD:'!#h%5>.RAC\ GTbF%vt %T:mx${pEwBu2)IopwH^dYM 29o(86%0CGZFhtrb&^MfE<؀ܮB^g@aj`n15K!f&tFĽdu$JaC%L9HgGg%GnJSM]_s@D4SS?>z^uc|J]w>\i!(8] -"xQ{6ҧ /6ǡyd3MM4~ u: ax~mߠ>vUjn';O-Dp{ĉɊ G>1=pb_T|ܹejxȍ?D,c("da$j' svcRɣ,k>o8Nm.XbP^r/笉]c?F2䎗5@)0_\kù#PcXIL+*/F*N'v :eiנ0VK*OoUnB*Ɲpiװ Qtx4.2O $j D*egUZZ,Nb&1uvuU7?r)܋Su`bqISXw^vs M,psؼv =Iqֻ@ $~< Jc?jTW/XM=,^z@4Ők >%<Ƽk&Cf?,/+tCt.&{h铚/rfۢ*mвxa}9B&MW_ v^ $;znhƶ}};.SbaAo(ny/dg Xx`^cGn",z=9߫%qT t& ’=kHhs P\+\74z1RRuJFqUWt %(Q%&-C]tɋQU󣁰myGҌ::od$9W˻\hZBq8fQH ~uL#_* l{c')0A]>P*ޘ-^X$Db2@4K îUL*Dް@O_.@ܹuia@/6|gwb3}[NsQ'N_Mjhކ+I#BYۉX.7Uh3#W(cl-RVzIXg4'dܤHs p<6O2E00 Qmq_6_ܯ@%5#k*@'W=%yj9Hfqfp_TJ+26V $IHǮP2CnFqY(L(xi-K],mBbqn_w<22݌a01t"k9Lwg&04/);9>GϒIP:tME^KdDlL'``7NQHTG6UA{cq+N~9̊ rN"E{_rTe|dڪ&hsR,NS+} ro.C3'x7w6ݸH m>, KšrUU]1 {lXuf疐Md&z :+?A Y'$6BN~HgO٬:weInSAࡢlV3jf Kϛ2RMF#Z ʼӼ>d,Zhy%DrRV]fr([{A^R yB"*|nBIAJiv}lU-Q&~ӣ6/,X~zWX*_Ӂ%/r1bD/OLX)||栐2x_J{ʜD#mͱ&&ϬB'C3@$yE(e$MU}y:+қr)H[{x̥Gh򽛘#?NP19o)%j-jE[s:(sQy"4r.u;%-o:.Nf >ӕWYWwfgML| V= e!o[ NpxYv0Wrś%iS⍈,.9C袥k!YrjYyDdߒ 8hxF%^@nݠ) e0\N(e\}rPȂ)۴Z Sƛ!H .? 9 iUM^,-,҂PY9%P[TeޠFxH Bqc?˱/v>ժ<3K?e& {ogwʧ[WZ4lfAcD;vcplE#(P&?$@t׆d_Ժ4q%#DvGefbڨd}wD 6np~k$XW; ӯp 4 FmAq)dM,a{㡢zvT!RܰEȕ8 cJQ'6$h9 -B6n:7 (8經K%K^lj"CFV̴LŲVp42JM{eQgmUwcm\*?}VcFP)gXWQfכYO5#hk"ݛХmbK{K>ƺRЦ[/`HBG6:[l6*?>QbDo+yOїUR7j^A`޵΄oڒV=*/[3C9n1}A B}~,) o‡s \=!7^&_HR0~D>nh5_!R-lI}MB9o60A7[ȳIq_C& R}hY<=o3k:x::D ՃhηQO@OҒwa/ ط8AhH)E@Z'HXnWDj)WC }עZnn/7Enu>y5&Yf+/2,W8Ə-)'ej9%$xz#-2P\94vhP߉@Vs$" : 0@Gy[ Q5q t1"mݓ{=.U1"ZYH~2/NTBy%Qfӽw@1lWRIW݄px`FhPa6T2hxq*ِ`}Rk$)nܧtnpm;z*Fef$(F`zB"p&UTڔiE㤑=]pGD<ιxވ=%B0 `3ppj&&<ހ!r|?K$bNh<2^K>`_^E:)n>l,Bj"}ܙ,,[S@hykؽٖMH(E>0/\R\kuuo&㧋@|%p+ ?V)A t0F1«yoP.V1xc_"Nt] ~юNswjrLy9}g5!Z[bHyy)y=>NA& 0@Bf'nCt4@Ü,08IZGf(a ЏƼVZ5F"idS)׀{$.f*-IhB+joˑCVr۵yׂ (rmq5=6fk56p գK?lUJ數FΈsi]of`*慈-lLTC>{bWjPD2cٷ䥎/בh!n/v.;R* *v&lBaE^4XѬfw[#險lZ+zVvR)ʳ<]_#2Xзݲ6ɁUon_{ wHQb ]G7EZuYVeI3=}_wrNDm$ظ`)fxB]ʾ[7c4O%:Jț,:=Ͽ/-3`Sw̛o9-|KC-|D y7"6E8cT/sY,m7:c ~V6NG*{c *  f-W ְϝ+pZL%O*g$GL\^j(TM8fMN{qWl@BL܊ȟb! qQ}`rAӓsN]3֖KP DncYt+$GRŒ~l"Ilhɜa |rMk"hǢ&L$=L$Kj«p"wR|"pԓ|8;sqO{cA L:K}xhr`!j^2vy3o,펻$O%2Rb~T P@ ~KiPvjß۴qD+>eཫӳZ&S4<=8z=? #p[ʃ@m Cr|zjG&W򥘨9Iq(5y7r=CJ~LYwbqaװaFjǡaų|6;CS KzO3oD7TI27/Je!Or}Nox%\%`gM: P#Ⱦ+Lv\maq0qHIJW<+]t!Dh[EDžuuBטT%F, x|EyR5Q e ifЦ-HE30= /u@E:f?lࠖY2552BCB/L[tSK \ @٢Q;?t>PP*GEEFkev4"2i; OA-* 0KG4Ŭ!GQ[<;H؋Cm $V' &\yC]D9j&B`:HOg7R3A p>( |n{'$_GB6\_%)K %pyKslYv}vbG,PLϓ0rd{T ZT!Dwr)볛SWiaUj?x8aye0| ݜdhM) " Xy=XkFMx3,}%5*? wl>2FJx;#K2x@!A'+a d)k;GupƂOM5;:Ӂ>2m[ܦE,~׾UB]1tOaS3֊Tse"ci]Wh%RK=S4H[jꥅm v\av0ʏ]P˟sZ#@|wf-8oet{ * H+2)E^Di?+BZ?xw6%gYn5O~n ƪFw1$|gTcS @V]_a`1~CBo@*d%PۜuAf}ed`gAODE E ` cgVTS!k>b*f^ګAdtW3^^!,Q񮭅k[|h^ 3J쀏ޞeF"5k{Tw;ʙFAa*mʱ\hsRr[Zga`Β04gb J7`hDXcx"^; ?2KfĪGN 3ʺGLţ1ZmfXpXB $]ٚdc:eϓ v;+,nO2WM5a!}ew|cm bCatxxqhDsD[mIC$X3a+I, Ž];)? b\Q:B(jb= 3ux4g] f:̗~%|5.r=#ں_q7KRP٪ S&pW2}K23/<*@"/Ybc, 8fx;nK(9N[@uL.aT8Oh8y gfOؑz%Ys r"(FbG'U\M â3"YIGi@k|4O-7K~~ g/bxu=&t\V_U@U!gy |p{ʉ1Tev+J$c7fQh0ypi5w|p;rŗK{kUXOcl}h=,Dr1T3+\.΢ܢMZ¼?ȎhW(+$c+Hk}1Ú$'CQ4FWLQFj^ ?D,l<#s ^5|T/,c$BmM9!=7=-3;lZPDV;=Bŋ-.ȜhؿMv(Z[~YdcpBBEM+EZ\i/% X+O&YB}NuE0GHiu>'[1x=I¢k뚳bn8}hoqbsr+K}F;xK8m+ql{5!`Eh!j/%qL+!,PZ`H/68m1#oI֊a a\ܬP8h>fޘ#YcyAA,Z#n_`ɊY#r*0UWnC525)KpMz씆]j<<[%^6 9׃8hъڷ( .a3Ͽ]毫K/oZ:h2k6lMJƦgΪ~]2.e0JU~dr@vǐvcC^`Le.PwҟK8ˊ!eDz{Kbݾ8ݍsUOaF_79& 㺨S_)> .h3M!!r8k3%WE1sLx}ƉhON[~PtK9" {CoZqI5FW"Eb<[ D>M-m}jbDA+8#. ݫYδ(]:rf`ک[F҈£Z39'0 ][QO|ݦ([#~ wNt>.-8q 345t UY_Ow$ IO@溅#2ܩV9e} c)4;U>܈jF+9ۓ̫#=SB7*p}R8!ټg)&=u},ȷHvَ-Dmx+k\?c;B@ׅ0hb*j.֓& -+xW"q,^Jqҋ Q(]I'\%%SN=B̆j/Mem~Hyϵm*@#lˍP2/C"pSt;JY %ȉQPt ҫaT wH6>W7G90U~,A?  nZ X÷7%r90d[ل ɣYh@F[gI)2x-PV` 䑵?.lG۱*ةIJˑy+;_[ac1)WJ?olSɣx. @pIվ_d4S>$iVݤuTRcmi(&1 % iK ָ{cA\5\9ӎ]pѷ8C9,v,2f}ÇQp\xowg+eFM\Z[J,oTmjeh^%ȽN }Pk"[aIA&;XD\^PeU~:qpBkO kw o%-űk+ $&Q>Mt!3ͭVّkU/ >['.[TqӞ%I[x ܵrLdTr2xX +E%Ů(8g1y(JFճjSvxxhIVV2@iܖ*6BNdcY]!>kVHf⣍P59PI]?FE}QIѰF7hj?z>|{CZlp3]9qZ!b3_d0E.<6tVGT hiZdhXBV\'ȑnA!Qy/#T$&Z}bmxY1neť!nKfDxyZ՗XHKp(TdI=g6ac*P'}b8fib;P4AwRX);:lRֻ $ޭ4 ZQ "j^q[S.XR%mfT@0I^ L!~My5+_"t4(@Xg3Z p|c o@v}/oOXeV&dXWÇe8=a1|I⑑db}xZhq*/Cl{WfŬs؃ ~ŽPnX# h0 B]nAS+S?~=r,b2먹vZz fU١ƁLb]M7 g)ShN__;eHEvTgť3AH&Azk!$Jdcc\7tmԧp7x X c:SP\)v"k I*@$.214"ի ; 5T]DS?gςNΤ- g*[{/NmF[x+AH8nf47utX˖O jKcCf_EaLZB>`6 Dl`k,ivPaO W"bcٓpeA0~^@шMeȎmbS%Oiqۥ c6 -捔0o+AW-\MWg %%'M.TO)h^_O\KOQx;yQ3m<Qb 6iRS m8#-Fx+tp(z=se|.2dv:-Fo_BZ&'kO0qg`*U|P@ya g GLlb-&^g%0!h~s nYn&)L~PS!G[:bs%&+فy{[73hp *ʑE%[N9=GK_#ffTyN dpg~^ c,Gk$y꣠NAYYl6Nvz۶yjL Nc:E%WxL'dIJ}z6"sjEiL{Hh?/5yNW - se!u b y,I&cv0I}QAH[@󜘑g?l9fס oUVݍPReǛNSUQɟhn޼/XS5yEO5JK/CȊٶ3kJ^Y` ~n2xQvʼ(]n.6c
TpEG웃ntBO3touaCQiYvؗyp"g(o?>,L/4kn?z!8H tN dNҙg鎲"?FAMLm츘 [R rK* u9'V=ۤPm$vo 7*UvrLAD/OR-Pg nͦ`M2sMr059r[2vD O~a[6=Zw3:Ngl:2`,/;QnY >oΎ1tk/}%T9_Ygi˺Kxh']@%⥢ e "Aj˷ӌ"s{(2DF8( |h[kmtkD!-\𤗭X> RЉHoP#¥nC )* ppI+eUyny9Iʴv{zj\(}|vlE|؆_O}:gɈW*@ Q>f(b[+.̭v YjXZ͚7Ť\P5%8DUMi\*|h(뉟@Hʔb:S)F9M,HmrWm9 A- #c.i6umUrh)m-Sسmvf9Ǖ~@C˛N)CCRElLF+5j(+2lg$Rh:&#sWT[5-zcfH9u1І2) _*3c~WIϝ&˄=S#n{-m1<幩 ]^!%( "$KF)[^ ^Pvo4 *zkY_>gQ ˟Ȭ 4I|3(!niJ; 8Ԣ!-5~&]D?]PyKNsD:8z/>)rr|SR7oqIJ=uGs^j 4x@x>F$=CAz]/gcdl1fN).i~RdZ'(ϰ -L9 L/]!_TѲI ӋvƵ&,} Jޗ.9+[—ř N 0֔Ce CCW_#=8jTiWy'wABwa"^.q>8Wٶa!DahyJ]j9:mؚHrtTRS8OՍdp]oO@| 7Br+ts~יEGё:_#*C*-- jBVNGLT4| ,CΏol^^:B0;h}WD-ҹ4~׮.v=-L+OJeC Gɏx63O"5de;r_ۋO;e^nv<{MBq>ذyhHa{ˆEjWŷ()WP+ H7]c=S=#ĎDF?ZbT9bΎ[$Jx ݣk@Iz GVXK儠d"Ol=F3/o̱}2Ja Rfg6MI` #ʇr =7/~F1gм?9'Zʶ`)J10<daGq)l/p01qZ=j UO]hD'ݬKV~=g3 ^E.eCH#/_yy w)2Tzb!70Q"yah& 5<6 KhR oI%\XWxQiEW _)J gk1&;T{ R/A`o4{_mvKQ3R5V"^O.{Iu$#x! c4wu)oP'O3 ĄDC #p^ɓ~ŎAXϽ]5Ǖ x- Bid D$5bD#+o)rBI_JOԘ 57e3'yB7/C%uQ;l$oBh"I[qOsWFyӝP/~ZU"XuW Ż[SSi*9dll x^[#BkQSمҏ.wiXy?r ϧ2–}! FC-N=m٭k h5BE^(|=qYƵۧg|]sщ%Rb𺃬nLj?;,oTl# Gya]Cr 79ݫ$xGKG(!KOn_ɽ~1>8?# y{7\h3:YGȒTƬCW' LHX&ewg4}MuQQr\}L ps[wS/*$?]qΑCgߎhsw͞*G(īuV(P7ͱ]dRz@Z)O>'$[l(t1lĒ>#߂"$KUETh\,VI_8Z" <1p)muN ! 0wo8zA"%!`/: o0v0hJ*UλTHCU|[2E|GpǬ`/ Sup$?6&D.M 7;BYbV0~|i5w x/K_"֟CjzD:d]wU_ao*d#n~q~(vc>]c5x=yrI5xXMxVL/gT bSj#WCORK[RT/bo1S֊jr <Y5.nb iZDb1d.RZ$'(%גMH#g'[0 3Ew# !ݭiqR^/٘saiO"90F3!.#0"r8eAsp Ȳ_(p0se3d!,0"8P-<4? {%U}ybQjLzth"h4:5O^YCјI¬<oiIi"W[.B2|1V(Ϡۣ6)wn*&Kq%cTRE) CmIT!N9E]-hg=jm};/lKѭE+?Ec0gD$XР]eK# tCW唟٬MwrG0N\29Y7umw+_ FܨefPfSb?@^v,nVw2$^k7&~z(ͩD3Or9we?͉˪0V[d{g7K&DRņɦYuѸb"uT[ #}VAZJI┻/\vrqъБa*BZ D GYjɓii"zT}cù_ue6]4(Q;Oʡhk|3Q˓C^IF`/} (6/A2%2w9 eQT=fZ-Ei!Grm Zz##qStIfBYp##ejRS@{!+1%Dhܻ %Jܘ'OŭI7[h^U%;e Ka'EdiI@.La7&l*V`N("6-%s3,1,{{L<JLhQl Wҡ&rXَ|Vhr7:JfS|4ܤ.*/߼)O@ଯ dՃ bAftfwmWs7y2. ʒOe<' }1c Ev@G-ļc#wE= TI4pY$wW+g1:Ō4JUeHVdHS7ִ.Ajp )ԯ4[~ge-Qq/[4'zC/=AkM5,^|kJh='Zdxg#mg.}d…ق+`.k|`‹q&0.ִ+ \.%Ʌu:FTJx$cd|30uZ35: !ϹjN8ʮl_ P켄UevCA1hą9jGOZ|h- vZ4V;\nj~`ĕ(@lL`/ ʂ\$+p&btE쩁$g`rڸGr⭢gm16{&\(!ylZ;'W=KC{̃ظ8 ʊ "]AF/yU#0F^x]h?[;/FJ/!*Pis5b .P*lӻtĨ||j)ntq^)(|u| Ӝ߰ !{$>c,1vtc x6[ڎLM*P9αEzcC PWB8(GĜ<Vsڗ*͖|S{ziSNsO=4ʐ9Fٷr&eٴ7; M|UAt>X앨S ԛ*PSeɮ]M4’V-Bۉe.S[2" o:G$ua8\ΣX^fo,@~Ivx)_S2fG4/8l*k#ЊrE 1 LG'ze Lmv'-r4Oӟ(:AQY~(oչ9iE] qS=s +Y<o Zf#V'HNK١jrK4ꚗ$H%^[I>%5Eπxu7HWY_MwPI[oI%|80S =+vtE*0dGMQ@aE4[ e{7TιeTVBQF!\Xe $m>=b쯽"`YߍYLye'I+!P Z0r{aSc4ÔMdTDP\²JY)AxnwΜm|hRSxHs'=wz@|̓@ƥ=fiDKK8ˮA"x6xЖ,`a|ǚ#PۊmBn n(ʜv;fg;nzg&*yN(NFZ+a7?!0arҳN5^mٻӠc\ Aa@: cJq|ݬ WA= sDG# F5pcĤ G5v=.nX U ݐfфD*S[c.ml q',]i2~P:S8hގgub?0$>D 6qAagZ#3$SVJP㚮D&OH4N[չ/HܚUN9%PvV~𞿳Cqy{*zi$Q]~QF^VkZgEA{X1qceڐ<=e%:ɖ0vΜ\ry2ZZjȑcA;OBm{oaA2^{p|iӊƒZG >qyvAȺv}{4W\>jWtE3Ϻ@ڣJ/8+x$X{}3tl a+cɌ2c/{bVzө*;5,'TƹA "0dӰEY;SIm L RW" .@:_+vyaPf$eq|ؤdzR[|1.(Ԑ&T/]:-uhF~k##DcQ/ )F%u> G9YZL%/\8Pw 5j e/I8d~&9/m 4VMzs4B*G5UTzSg{""Rm{:xD6}@F*^X}&G2XE)f`|MbzIW+lU3Ј^#JhmT<a p)+ǭ?o j}nqk掐[%jä=Pr7Զ6c ycgb ȔLQN"`[ĞRۃh6 MlCHRZi!M}mkػw~[,s"-@}Tmry Y&/%F̃3*1Ɂw2q5LF=$%3(Ÿ.Rٺs"anOsTHyHvXx̕v `bɠ[Ne[srtd rvV&*]y⹺S|^, u9BajX痾 rXk>? {51|T3}Lo^XAJc|L.@j&oet 3[*Qs-&BZy#re:~KevDʕ629]Y3Ԫ +gnއ2]MQ[h G2]]R "VSA鉾 @_3lml{ƎQG2e/uld4bᚠUb_J=ulx Sޱ@ #òބFk@i+ ӻl01,{c I|*am6hemɶ9N%2N\{f*/s -%Z4`vP0U<> JS [*HV>eqM:B K2O>/j% 58jq˃\D(:64f{ pU\:9I#}=-Rlf}NxqgXQ:^板PdҘ^9M-6hGr \Ӡ9,YxLyOWAOr9A7"M-Jh>]f4Xã]IUo 8..ǻ[/42|.d$b@ݖR20h}j^c5e v~;Ѧ-^y6~E!|-qe%RbHAl8zT{}x@]"0 Wn}RaR3gcZIWٸ|ܑbdU،'VR} +Mg,6JӁM>/j}fm ۛI2=0Tx3Z0u s'M;S9[ HR 3qX<+!^,]E1Jnն$܏1(P2o^F+7ٽXp\ 6Ť}'aQ.J>/ 2$Y-tK K-_k8sU _KvHx/6a ,؄0t_fQ\\$?'a^:௛#>hnhrD̲pZR>F7&DIDst}L U-Ǖ:iނȨeaD0-aG,ym|}M$a>w54 (<7!?,Own˟t0>dprT`0W "tE5[fpso4T"7 W(VP{>Yt3|. HNrEՔ J)q[p7Ss_T 15Ey \F~._ fh/_:SvO^9BYՆ(x XNO̎n;a5(YhOb450I&p|(j#!Ђ,UCC(Ki732!zќBN]ypaF"?W88Sd6sfvk+*xłDJ`a,*[vM恉p0(.e?\1>7x1MW<g~yY Daɗ|'HO6euFވ@#qTڍ/p/jNu!gP0-a329]%*΄`]CD:MTu((2?xi3z8*= Դept`vVqhE "çD6qӉj#' M8nȋ AEu 4kv /B?lj@!`k|!z\W=7uz,jӁ;G3DH=ثO{K[>I Th#ӣn6cS .ゼ˥O2F+_صPJIaS(.~)juwDۮ3n~}uShѹAm/'+,h(6 =Ȝb=ގ.ϏtKi$Úƶ`Q)?|+ؙb6Ω敒Mxbz*N[ZW:z Z" #O>ycŹ,8׺9)~" V[ۡӒǨnGEFAh>H_&[FS&W8?_|PN!=3h9N7Icw <Kouet:Rބ"C7qeӯ ՉvZ#20)O4> ]=ďzg֔KDG,^N d&ۈ2SNOQ\č*|⣵ߨ;~载k"\meZ}ê.^h#X2lIeX]P$YAhHwDkkHrYRI?OVoݴ6c*XVrj];C'K`>`3GhuO:[_Kd=c%3,4u-!Y2ǂn~qP0Yzb9@[ܹʇvD[`b߆e8;aHHShG`ԀwŪr.{q 3} р|gM.`a*.ܹO7PX2lN.JA2yhK5PaCZRъHkēpi޼VSڱfaWk/JO`"lǘ@jeh`ROƞfV$aLW*2%yeEAPvqk.UQn|tBqHN(Xo 8/}Gd|B #E I !2MIT}iڰЋ oABA3xwܴx㟳߶!⼜EUJ4?;t?q}AӈZFJG&HW)7ɞ {2 rmxݚwWB4WH)6܁wMk n'iL{+ڼNTOTwGn)_BpuHc@E}L q0x6HhQh^^kr}6eF6'Bsx _Ia4'}m" )NJft@'ly[/r.܏+:93o[7% FHWtV[H+{XihaL|׀8%OZA_l0V`_ fߑ3o" p V"aH綔9>g3|T*jDQM>Cp̻nH~]fZHbٮ^J /<ZA1ʑe%RoIBbʡq;]*Ttl*Lm6o^҉$͹9!xm~^ NMD2l)a:〜>,;n)_0:2!l9{ĬW@D"hl6ӰkfIIi\9Ԫ6(ղQxy5%j&'oCmUvvE6F×+ekl1,Xc9|T8B!tgqg/î\+^ NyFs3[PPOaS/C<0 @Q.Fp`8QJ FVV"a`hڝhTǺ|tt3 oQýѪJ3i^Ji=ECOR; .ֈh">s:% jY۩{RxOR("3+OfgMR-ZfG:ӎ dklq7B|l F]Zg'm2Qar +߷*^#qDSv:emS {+f)&;ш[+*`''VUa:?k$գE6Tær&=/4g}Ϯ1:|-FzA!i\K řu̅hAP͵,t5zkKSb~MOKOek#C^k:Zfb߿~d XxB[D*]Bה!pK=2&Cg!eÓG܁$O?іREH՘50Gr"jX14ߒwKbL5[V"/ڎ8Ɛn O*37 H*݅Rd<Ə׸zT}^R%ʆ3qJD } D% ,*-,Ń:I(qo S. AAT$6=~Vwtvt{3.?jsvjr? jܷ@V0l3h1{-lDM;\ܕ#q3RUO%d^@GccWJ)Y0Dygj7_FU]|gjKM=C&=+.˕pR9Kj9c dےcO.=胅c-8?gs %o0#Cwk/ èҗ 3=COU9ydaEv0XJk1C1GV-qU˴Ek##1U8 MՁ3qȁ*`5fy?*dfZP3Fbin4t(c^r^]n*֭+ؘI[CiӍ{KdO<\k^is3?ZЪ(0eGQ6[T۳E|aENbsW/ȒNkW&i*;Rɰs^U"_yKZ9v&hi,~̯0mx{:Z! ,i붘%va<3iwTj5~Bg!YZ`71 Ma1wex@@̲@swQd\]ĭրRPz\\-\7bO#w'Du ,7G3Hot XRcob"K ![ nB΀ _~\[O0 mCxH_nm[y9* -?9bԎܿI:^[D(Y8U *[-k7Т\C!GhnC` b0}k Ӽ h/I`ё[zr e A,*ⱸPuH :;nڄ302*$+%TMq;MnnL/ʁ F@i@7#4_ruN3sڈ)V)b5T:YT!d+N];-lpC/hX+e3cSK<ߜ[z:$V̴C2]lzLWRv, ǔa7fLs_={mÙܓ3,_ӮUIꚖ%~CӶ)k 58Jh'ʢFvʅҟF'XO?`?/Ue]| )[ ad L 1D5\'*^]eK8'geWH/uMXSP.3[M8q7DAe ʆ5Sͣgim3]tCɘJz?\N܄HL"jD%:.#I9!<ěbHY -4C%=͍jilHE)@K~:mN:+fË2?`JuC46!m8m<-9Cd_Jdv'yBS}lR7Cʼn,`9w jV슳*G#P􎚌JEw+58g{S] toϦ|+pK{T+'[沺箤4F *CGuG ~̆b-nM}rWuSyz iፅ@[@!GݱT mW(&"V1\s^13ɂU\c2"n_bPEM/!A0˥[YA;ÄeUs (_}\TAKׄIxmܖohaMoG@ l띳`CnG.CwK5 vDL(kPjUiȆW_ejzd817NicNj}D6Tx iz s Zr%N;ġ "`[g=82Mh9@xa- i^%ol-y I/nkւ.šʘߛ[B؅STQK[w#yl`7cc[Ԗ9rթ~9ҽ9; kJp`UBoesi1Gkf2 [v0\M8H%`} |B=](|8Vo*?cFIyoiTגJ@GQsЋWl!`8]M vB *`]gֈ)p)e0~(@&| HK'H$Z7VV#] avO*w6ߪ'8>z0(ZDmCB A8_6WU<\ L؟kR=9CX"FюQ8[jΡ{DAf2QyʋJ )eŸ@zmf?:҆2Q, $<ٛXa`A<^gvLxrNuiiG"/= Gfz˩ dzt.Ht%uEni}6򴪐R53 !,^a\#Gjyc8ɰEPڡݨ\Bq7:6N+D~2ORX`!W gpGj/S @WoNLF/K? -"D0Y w#ǥ`M1٥4K:X%k}<}\0gmT 1F =MhIɪTmatElۗWrX UIVn4yfiV9@.{+34}s>! M aM F Y|>F& [kђeuW;ǣ'0`V6l SBeYӃ:#| 'ES/krQofMZK9@7];b-5Ect45OE)Xo'^nBt&g̘&x;Zj~N V=bt0aB!3ջS:㏝msb]&?/I`Xo-kM\g̃˶ x9p. fhY)"Ь#`1\au6| ȻBaޓwt ` l"&czPU Te}[4rLS%&p~o(G|-;w{. d bf m=!I{RlcjA{s?V\"x*+ =T852/2Y.`Ke2׶uq\!ǟ~Ħ*XqOB w~|@vJ/.m49mW&ɷY'+{h<&f na]4>2iz*qGO7')d =2QUL3O[_#)P$ΚmYj׮poTC 4u$Ghe)?TK{d"jh vCvcPop We;aW⬦25Sփ9$g/vLz{L?[*",H" )T R]MҞK>C+Ӱym/[8A;ؑ7`< >u8o³!s,:O`#?NvqiHTQw +l;c}vG6@^ TYܮ!Ns݋5!u6sJF?@nPij=0 l?X#x\ 5A G)A;Hk>PR8L=buŁ ~mWBẸnJyFD{Wb.P!3/9l;ì}RD} i$BB=)ɯJID#Ľc74 AM3{N;%bib -i}@Pҋ~7[uoŲaN |4~(Օj闭A΂; W qxk0! %%9Db|T]o \=w"av=Ţ\ld.ٲ~In31ⶺcxSճU cku^]*HՊ\5g"_V>e_jT"2 pX,uQKk;SJݚbžvp_LBAL6bT": &My``$XWᕥnGfnJ<G[_#Y$;\g>CI%זR+E@x ^cgРI("eQTu (P[,l" UhN94I .|4d#Z33-Ž9KÀ$FKGNdzhL#juM&u`oRA﵌-d ]Ho):4WKzrr$糷拖AMD>l'-Bsn`@v?xB^8 @*Ȅ4X6,֝?eL4噃! +¹c= ʒҸC/P.6- :r^^"xڵ ʯESɭE|w L YZ