rsyslog-8.33.1-lp151.6.13.1<>,h_2n/=„%YpRshE2R w?v[ȩu$1xY@V#eqa!ܭcֲ*4I{ Wnܳ%NZn?*dtY^pfSP¥𢡊3B4ǔw6.&u\]|1^.8w\B׊M@v=޾C٘ ymjLQqu;a“r*:gO|#}` >7:4it:%JgǿTCeVqR-njX>L?d   F +4V o~$d!H#H #H $4H %TH 4H 5H6 H7H89H:4:t=;h=?=@0@4@K(@L8@T29A2:E 2=->5?=@EBMFfG|HHΜHIϼHXYZX[\\`H]рH^b֣cadeflu Hv,6wHxHy0zCrsyslog8.33.1lp151.6.13.1The enhanced syslogd for Linux and UnixRsyslog is an enhanced multi-threaded syslogd supporting, among others, MySQL, syslog/tcp, RFC 3195, permitted sender lists, filtering on any message part, and fine grain output format control. It is quite compatible to stock sysklogd and can be used as a drop-in replacement. Its advanced features make it suitable for enterprise-class, encryption protected syslog relay chains while at the same time being very easy to setup for the novice user._2nbuild72#openSUSE Leap 15.1openSUSE(GPL-3.0-or-later AND Apache-2.0)http://bugs.opensuse.orgSystem/Daemonshttp://www.rsyslog.com/linuxi586 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in rsyslog.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in rsyslog.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-rsyslog-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-rsyslog-update-$service-new-in-upgrade" fi done for service in rsyslog.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi# # update linker caches # /sbin/ldconfig # # remove obsolete variables # PNAME=syslog DEF_VAL="no" DEL_TEMPL=/usr/share/fillup-templates/$PNAME.del rm -f $DEL_TEMPL for var in SYSLOG_DAEMON SYSLOG_REQUIRES_NETWORK ; do echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL done if [ -f /etc/sysconfig/$PNAME ] ; then /bin/fillup -q -t -r -i -d "=" /etc/sysconfig/$PNAME $DEL_TEMPL /etc/sysconfig/$PNAME.deleted.$$ test -f /etc/sysconfig/$PNAME.new && mv /etc/sysconfig/$PNAME.new /etc/sysconfig/$PNAME fi for i in $DEL_TEMPL /etc/sysconfig/$PNAME.deleted.$$ ; do if [ -f $i ] ; then . $i rm -f $i fi done PNAME=syslog DEF_VAL="no" DEL_TEMPL=/usr/share/fillup-templates/$PNAME.del rm -f $DEL_TEMPL for var in RSYSLOGD_COMPAT_VERSION RSYSLOGD_NATIVE_VERSION ; do echo -e "#\n$var=$DEF_VAL\n" >> $DEL_TEMPL done if [ -f /etc/sysconfig/$PNAME ] ; then /bin/fillup -q -t -r -i -d "=" /etc/sysconfig/$PNAME $DEL_TEMPL /etc/sysconfig/$PNAME.deleted.$$ test -f /etc/sysconfig/$PNAME.new && mv /etc/sysconfig/$PNAME.new /etc/sysconfig/$PNAME fi for i in $DEL_TEMPL /etc/sysconfig/$PNAME.deleted.$$ ; do if [ -f $i ] ; then . $i rm -f $i fi done # # add RSYSLOGD_* variables # PNAME=syslog SUBPNAME=-rsyslog 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 # # Do not use multiple facilities with the same priority pattern. # It causes start failure since rsyslog-6.4.x (bnc#780607). # # FIXME: it seems to be a valid syntax -> rsyslog bug? # if grep -qs '^local[0246],' etc/rsyslog.conf ; then sed -i -e 's/^local\([0246]\),/local\1.*;/g' etc/rsyslog.conf fi # # create dirs, touch log default files # if [ "$1" = "1" ] ; then # first install mkdir -p var/log touch var/log/messages; chmod 640 var/log/messages touch var/log/mail; chmod 640 var/log/mail touch var/log/mail.info; chmod 640 var/log/mail.info touch var/log/mail.warn; chmod 640 var/log/mail.warn touch var/log/mail.err; chmod 640 var/log/mail.err # # touch the additional log files we are using # touch var/log/acpid; chmod 640 var/log/acpid touch var/log/firewall; chmod 640 var/log/firewall touch var/log/NetworkManager; chmod 640 var/log/NetworkManager # # touch the additional log sockets config file # mkdir -p -m750 "./run/rsyslog" touch "./run/rsyslog/additional-log-sockets.conf" chmod 640 "./run/rsyslog/additional-log-sockets.conf" fi # first install # # Enable the rsyslogservice to be started by systemd # # This macro enables based on a systemctl preset config file only test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset rsyslog.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in rsyslog.service ; do if [ ! -e "/run/rpm-rsyslog-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-rsyslog-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in rsyslog.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : done fi # But we want to enable a syslog-daemon regardless of the preset; # force the creation of a syslog.service alias link (bnc#790805). # We do not check the obsolete SYSLOG_DAEMON variable as we want # to switch when installing it and there is a provider conflict. /usr/bin/systemctl -f enable rsyslog.service >/dev/null 2>&1 || :# # stop the rsyslogd daemon when it is running # 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 syslog.socket || : ( 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 syslog.socket ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable rsyslog.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 rsyslog.service ) || : fi# # update linker caches # /sbin/ldconfig # # cleanup init scripts # test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart rsyslog.service ) || : fi else # package uninstall for service in rsyslog.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fi &TYH8x'(IlIjgJkKT&W 6G6D6H6|&6&D6XH0Wh&X6D67h'''x'88''t8% p S?J#,)nA큀A큤A큤AAA큠A큤A큤A_2W_2W_2W_2Y_2X_2X_2W_2\_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2`_2Q_2W_2W_2`_2X_2X_2Y_2X_2X_2W_2W_2W_2W_2cZ)t{Z;Z)t{_2R_2R_2W87d59616920a8b918d54966df2fe841ad8a3fb58b12e96d4fe33f72bf3e38d470985bdae3099233bc73ebf97f77c030df329394640412ae47a28fbffa65176d0545889e27e3b1e8f316833e4e7ed2f9c4f7c9698899a478d02298bd8655f57280bab5113af829023b95bebfdfe4de38ae0edbeaf08fffc3ee40ea84d7f914df76b67270ce7ed8a19ea2a05e7eaa362150813b7be5f3b03d06bc09d0383a91bfe8f33f6eeb30dee0c5a95754467517e95a7996718a0459b2d8e37df0f032cca0ce95fd3597741cdb3e8817f6880974d4e66e2fa239eb0ab11acd6818c60c04bef6d86efcb94b7dbd94a21d85c67b8bf6e727f72377d69cbde863d7bff2c97500d7571f2a43b1ee064af02dfb73a7bea26349dade24b8392680e71e8bb0bb914ee850506ca1375a1ee476f12796c75b9cd5b233057e2274383ff2bfb477c634ceff41d562040b71193d66cd68ee999778af784863343055d51771a951169fd3a010e032ad404a6053cf725881926b0cb85e1ed7f1f46f4cc4db12e0c9c76d44c6ae96b4586ed5f24f9fdad5b1a3b03672a769fefbc84bccb363d8fdf1b50d1cd4a43e0d2b886e2ad64fac5cb37aaf577ac7d2c7b02a4729ba73232dce87b1acf22a0381894727804c87d6a906ec4334af0fe0df20b5fa161c660bad7c31e56c79a0191683710a06f8323654922a30f71d65e11e146762d7d8333db0122d07722342955126142c55b81da577904aabeea9a630ba51977a884a5a1515c1d422ce9a672166422f2640d889b09f0afeb932619a8fb0d098dfbefcdcb23fae8da214f8cb18d0850896b8c7c7db971cb6ff688a4c325a40f5bfdc88c6587f419801df62426b81694ef95ef8ed75dfebce334ffbbdbb85f616bbc7b3e41af53efc72a0ed666e62305f5f94b8dedfd90c384d94546cb659ab6ea40d788ec0dee5caa3340e3abcb00b203d0a9caeda313e7559d3483b7624ef7ea02b1afc81991c1c6a215faa75448500ebadfee22833d00385381f2f281d322180ca5d30751d6c05365dbc63e4bb191e3097e38024498a1c9d190b5c1ad07abb9c71fe36d3b93d137e6a4620bdeb3c9d5cee45448e593e307ca10cbe6462530e608cdf598e57ebf27d753e2ead401dd12c146cb9d08eba3d717f5f04101889e508e59ad062a275c0104cd28de72ceded5198f0d2ebc04d8c440fc59ee3bbb462daf33fc9dd53a39c0c6bec22e36ad43d971086bede6ba33cc7a3372fb7c5d713c0587842ea2c64d88d95266d8335765a01368dc5bb0ea1bf2bb881a11ade3a31469c94ff3d4a5c42ab03a6ff51388c27e3a9859c9d65209e7e5b0e415807a7e2949684dc9ae04c4bfa6a724fc56fda8216490c726c914344242158574fe143c6eb2cc366f9383a2a6bbe42fa2eb9b894086c1ff4099cfb7f3f5dd6fe9ab6f48d785ef881c49394dcca0c4e24ad7cc5b4b14d0714c8d296183628c91d89177b7fcc9011b92fa979d6f11fe11a8d7f0f274266556681df4ab0e69fbbb5fcefa25d9855bd418ed4552f038fe6e070f48edf748e18831591593d6730222796b6855ad40bea9d16a3095ed260ff55aa8ee42781a4073c398a1d48b9948cbdde63ade2285c4ef8cc2df7a261e2a76f674ea2eb7c7d55b4a03dafb3c84eacd06076ab1284380c8d7d82221b35197913e3c06284fcf6addfc9bd7eca9b17ddfc2dda67c9ba89530d01bb7e1b9885adca9e48944dfc0d2000e2f3d7476de6a021ae0f8b998193b97ece2dfa8e3368729c40d30b353a16cb2081ebec3e08ea9660c43877e5934b6b9700cf41d22bed5872264152b45792cefed288e2f1c77fbd469566d550fa63ba09290fdf2d5b183c5e7d80cb3bf5d5ccc2c56a0e5d87c6080b7bdd2c9f01955ab4ae6c18c8dbc9b05745af07c886cd5a6785001329a0a674f4ab9a7769b2ced1800af484165f0d7e7bd75438f2d011a25c363f752ad5ba823a6bdd390fbcf32281d4e987af3cf799a53fb02cbf97ba39925b52f0564945ea2690c6d4c103fc1c7e0afd82e79f0d88bfa3f50b7081316c026c4e391ea77ff2c8898cbdb9d6d87542474efbfea18451d44d15cb40bec26eed6d985c9fc62b7d745bb9471fdc53f8db9dc4e68313f9c8262795e8db2c070a79142bc2751ed9887949f3cad9f835e1b10bc4946363d79dd734cb2fcdd358636eae91211f988a2b1f2a7a8e94c9da4d2a5870cc8e69ebc3bb8849655505579dbb0d79cc2bd614f948980a5d6329bca0f205c82b2fa4e6970fa04d4395df5ddc6918996867bd8b113501738f1e8bb7e81adbcb7fb0b3dd769d45496d13321e42631a84025f0b3b6951bd91d917b60d35e6765a3d4950c1d353b5d56e2f9e538e557e3324ae4e68c66a21fabf4ab57b0bb1911ed3dee1e04cb72eace6a13056e6bb65da7fc9379ec720dbd562e31d0d8d593a62e389cf7f3d3f6927460cc9c636e8d2c8ee0ca563750c1111b1fad64fda7ab722432b0502621054b3a047d9232376a46b87356b19b0c0c2924cb5e6911ab96a01fc4b515f0838743ad560dea1229d4f46cd603e10874db41a27f3c74f64e958ef123f3943fab4038442ca5bde8ffd243cfc235cb4455e7d618d47558ea3d8284733f71d904ed3628c65fe5658b831ce48c98fd88e9c4fbb4513550f6711d334f9223f59b93bde333c440f9d707e8f4c99d62a138cdb7d73c2e23924d349f4ecd036b12c0ee13/usr/sbin/rsyslogdservice@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrsyslog-8.33.1-lp151.6.13.1.src.rpmconfig(rsyslog)rsyslogrsyslog(x86-32)syslogsysvinit(syslog)@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/bash/bin/sh/bin/sh/bin/sh/bin/shconfig(rsyslog)coreutilsdiffutilsfillupgreplibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.2)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.12)libc.so.6(GLIBC_2.14)libc.so.6(GLIBC_2.15)libc.so.6(GLIBC_2.17)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.2.3)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.2)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.8)libc.so.6(GLIBC_2.9)libcrypto.so.1.1libcrypto.so.1.1(OPENSSL_1_1_0)libcurl.so.4libdl.so.2libdl.so.2(GLIBC_2.0)libdl.so.2(GLIBC_2.1)libestr.so.0libfastjson.so.4liblogging-rfc3195.so.0liblogging-stdlog.so.0liblognorm.so.5libpthread.so.0libpthread.so.0(GLIBC_2.0)libpthread.so.0(GLIBC_2.1)libpthread.so.0(GLIBC_2.12)libpthread.so.0(GLIBC_2.2)libpthread.so.0(GLIBC_2.3.2)libpthread.so.0(GLIBC_2.3.3)librt.so.1librt.so.1(GLIBC_2.2)libsystemd.so.0libsystemd.so.0(LIBSYSTEMD_209)libuuid.so.1libuuid.so.1(UUID_1.0)libz.so.1rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)syslog-servicesystemdsystemdsystemdsystemd8.33.1-lp151.6.13.13.0.4-14.6.0-14.0-15.2-12.0otherproviders(syslog)4.14.1_ @]@],j]G@\o@[O+[+@Z=Z@Z@Zk@ZaZ)-@Z@Z@Z YY}@Y5GYX-XO@XX@X{d@XN@XD@W@WRWVV@VHVVVV=VUݪ@U@U[%UB@U>$U4@U+U#T@T@TLTG@TBV@Thomas Blume Thomas Blume Thomas Blume Thomas Blume Thomas.Blume@suse.comThomas.Blume@suse.comThomas.Blume@suse.comastieger@suse.comkukuk@suse.deThomas.Blume@suse.comastieger@suse.comrgerhards@adiscon.comkukuk@suse.derbrown@suse.comastieger@suse.comastieger@suse.comastieger@suse.commichael@stroeder.comtchvatal@suse.comdziolkowski@suse.comastieger@suse.comastieger@suse.comastieger@suse.comndas@suse.comastieger@suse.comdimstar@opensuse.orgastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.commrueckert@suse.deastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comjengelh@inai.dejsegitz@novell.comjsegitz@novell.comastieger@suse.comastieger@suse.comastieger@suse.comastieger@suse.comandreas.stieger@gmx.deheinemannj66@gmail.comLed - fix coredump after logrotate (bsc#1173338) * add 0001-Fixed-race-in-asyncWriter.patch- avoid SEGFAULT due to a mutex double-unlock in iminternal module (bsc#1141063) * add 0001-iminternal-suppress-mutex-double-unlock.patch - fix potential misaddressing in pmaixforwardedfrom (CVE-2019-17041, bsc#1153451) * add 0001-pmaixforwardedfrom-bugfix-potential-misadressing.patch - fix potential misaddressing in pmcisconames (CVE-2019-17042, bsc#1153459) * add 0001-pmcisconames-bugfix-potential-misadressing.patch- support mmkubernetes module and bug fix for imfile module (ECO#327800/bsc#1146872) * backport https://github.com/rsyslog/rsyslog/pull/3051 * backport patch that added mmkubernetes module inclusive a bugfix to mmkubernetes * added patches: 0001-imfile-large-refactoring-of-complete-module.patch 0002-bugfix-imfile-file-change-was-not-reliably-detected.patch 0003-imfile-improve-truncation-detection.patch 0004-imfile-add-declaration-for-restart.patch 0005-WIP-Add-the-mmkubernetes-plugin.patch 0006-Kubernetes-Metadata-plugin-mmkubernetes.patch 0007-mmkubernetes-fix-lnrules-add-defaults-add-test.patch 0008-default-rules-use-container_name_and_id-include-rule.patch- suppress error message about missing environment variable TZ (boo#1137681) * add 0001-core-emit-TZ-warning-on-startup-not-on-Linux-non-con.patch- set default permissions before include directives (bsc#1126233) * Logfile open modes depend on position in the config file, see https://www.rsyslog.com/doc/rsconf1_filecreatemode.html- remove references to obsolete SYSLOG_REQUIRES_NETWORK variable (bsc#1101642)- fix CVE-2015-3243 rsyslog: some log files are created world-readable (bsc#935393)- rsyslog 8.33.1: * devcontainer: use some more sensible defaults * auto-detect if running inside a container (as pid 1) * config: add include() script object * template: add option to generate json "container" * core/template: add format jsonf to constant template entries * config: add ability to disable config parameter ("config.enable") * script: permit to use environment variables during configuration * new global config parameter "shutdown.enable.ctlc" * config optimizer: detect totally empty "if" statements and optimize them out * template: constant entry can now also be formatted as json field * omstdout: support for new-style configuration parameters added * core: set TZ on startup if not already set * imjournal bugfix: file handle leak during journal rotation * lmsig_ksils12 bugfix: dirOwner and dirGroup config was not respected * script bugfix: replace() function worked incorrectly in some cases * core bugfix: misadressing in external command parser * core bugfix: small memory leak in external command parser * core bugfix: string not properly terminated when RFC5424 MSGID is used * bugfix: strndup() compatibility layer func copies too much - the upstream systemd unit file was changed to no longer write the rsyslog pid, as it is no longer required for tracking under systemd (-iNONE). Adjust rsyslog-unit.patch to match.- Use %license instead of %doc [bsc#1082318]- fix includes for apparmor profile (bsc#1080238)- rsyslog 8.32.0 * libfastjson 0.99.8 required * libczmq >= 3.0.2 is now required for omczmq * libcurl is now needed for rsyslog core * rsyslogd: add capability to specify that no pid file shall be written * core improvements and bug fixes * RainerScript improvements and bug fixes * build fixes, including gcc7 fixes drop 0001-imgssapi-fix-compiler-warnings.patch * various bug fixes in multiple modules- remove build dependency on libee- Disable news by default, we don't need to clobber all systems with this for the very few remaining news servers- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Ensure user "news" exists - bsc#1068678- rsyslog 8.30.0 * changed behaviour: all variables are now case-insensitive by default * core: handle (JSON) variables in case-insensitive way * imjournal: made switching to persistent journal in runtime possible * mmanon: complete refactor and enhancements * imfile: add "fileoffset" metadata * RainerScript: add ltrim and rtrim functions * core: report module name when suspending action * core: add ability to limit number of error messages going to stderr * tcpsrv subsystem: improvate clarity of some error messages * imptcp: include module name in error msg * imtcp: include module name in error msg * tls improvement: better error message if certificate file cannot be read * omfwd: slightly improved error messages during config parsing * ommysql improvements * ommysql bugfix: do not duplicate entries on failed transaction * imtcp bugfix: parameter priorityString was ignored * template/bugfix: invalid template option conflict detection * core/actions: fix handling of data-induced errors * core/action bugfix: no "action suspended" message during retry processing * core/ratelimit bugfix: race can lead to segfault * core bugfix: rsyslog aborts if errmsg is generated in early startup * core bugfix: informational messages was logged with error severity * core bugfix: --enable-debugless build was broken * queue bugfix: file write error message was incorrect * omrelp bugfix: segfault when rebindinterval parameter is used * omkafka bugfix: invalid load of failedmsg file on startup if disabled * kafka bugfix: problem on invalid kafka configuration values * imudp bugfix: UDP oversize message not properly handled * core bugfix: memory corruption during configuration parsing * core bugfix: race on worker thread termination during shutdown * omelasticsearch: avoid ES5 warnings while sending json in bulkmode * omelasticsearch bugfix: incompatibility with newer ElasticSearch version * imptcp bugfix: invalid mutex addressing on some platforms * imptcp bugfix: do not accept missing port in legacy listener definition - build requirements: * libfastjson 0.99.7 is now mandatory * libsystemd-journal >= 234 is now recommended - packaging: * add upstream build fix 0001-imgssapi-fix-compiler-warnings.patch- rsyslog 8.29.0: * imptcp: add experimental parameter "multiline" * imptcp: framing-related error messages now also indicate remote peer * imtcp: framing-related error messages now also indicate remote peer * imptcp: add session statistics conunter * imtcp: add ability to specify GnuTLS priority string * impstats: add new ressoure counter "openfiles" * pmnormalize: new parser module * core/queue: provide informational messages on thread startup and shutdown * omfwd/udp: improve error reporting, depricate maxerrormessages parameter * core: add parameters debug.file and debug.whitelist * core/net.c: improve UDP socket creation error messages * omfwd/udp: add "udp.sendbuf" parameter * core: make rsyslog internal message rate-limiter configurable * omelasticsearch bugfixes and changed ES5 API support + avoid 404 during health check + avoid ES5 warnings while sending json + bugfix for memomry leak while writing error file * imfile bugfix: wildcard detection issue on path wildcards * omfwd bugfix: always give reason for suspension * omfwd bugfix: configured compression level was not properly used * imptcp bugfix: potential socket leak on session shutdown * omfwd/omudpspoof bugfix: switch udp client sockets to nonblocking mode * imklog: fix permitnonkernelfacility not working * impstats bugfix: impstats does not handle HUP * core bugfix: segfault after configuration errors * core/queue bugfixes * lmsig_ksi: removed pre-KSI_LS12 componentsVersion 8.28.0 [v8-stable] 2017-06-27 * omfwd: add parameter "tcp_frameDelimiter" * omkafka: large refactor of kafka subsystem * imfile: improved handling of atomically renamed file (w/ wildcards) * imfile: add capability to truncate oversize messages or split into multiple * mmdblookup fixes and extensions * bugfix: fixed multiple memory leaks * imptcp: add new parameter "flowControl" * imrelp: add "maxDataSize" config parameter * multiple modules: gtls: improve error if certificate file can't be opened * omsnare: allow different tab escapes * omelasticsearch: converted to use libfastjson instead of json-c * imjournal: _PID fallback * added fallback for _PID proprety when SYSLOG_PID is not available * introduced new option "usepid" which sets which property should rsyslog use, it has 3 states system|syslog|both, default is both * deprecated "usepidfromsystem" option, still can be used and override the "usepid" * it is possible to revert previous default with usepid="syslog" * multiple modules: add better error messages when regcomp is failing * omhiredis: fix build warnings * imfile bugfix: files mv-ed in into directory were not handled * omprog bugfix: execve() incorrectly called * imfile bugfix: multiline timeout did not work if state file exists * lmsig_ksi-ls12 bugfix: build problems on some platforms * core bugfix: invalid object type assertion * regression fix: local hostname was not always detected properly... * bugfix: format security issues in zmq3 modules (bsc#1051798) * bugfix build system: add libksi only to those binaries that need it * bugfix KSI ls12 components: invalid tree height calculation- Drop module-guardtime package * Upstream libgt died and it does not work with new opensslVersion 8.27.0 [v8-stable] 2017-05-16 - imkafka: add module - imptcp enhancements: * optionally emit an error message if incoming messages are truncated * optionally emit connection tracking message (on connection create and close) * add "maxFrameSize" parameter to specify the maximum size permitted in octet-counted mode * add parameter "discardTruncatedMsg" to permit truncation of oversize messages * improve octect-counted mode detection: if the octet count is larger then the set frame size (or overly large in general), it is now assumed that octet-stuffing mode is used. This probably solves a number of issues seen in real deployments. - imtcp enhancements: * add parameter "discardTruncatedMsg" to permit truncation of oversize messages * add "maxFrameSize" parameter to specify the maximum size permitted in octet-counted mode - imfile bugfix: "file not found error" repeatedly being reported for configured non-existing file. In polling mode, this message appeared once in each polling cycle, causing a potentially very large amout of error messages. Note that they were usually emitted too infrequently to trigger the error message rate limiter, albeit often enough to be a major annoance. - imfile: in inotify mode, add error message if configured file cannot be found - imfile: add parameter "fileNotFoundError" to optinally disable "file not found" error messages - core: replaced gethostbyname() with getaddrinfo() call Gethostbyname() is generally considered obsolete, is not reentrant and cannot really work with IPv6. Changed the only place in rsyslog where this call remained. Thanks to github user jvymazal for the patch - omkafka: add "origin" field to stats output See also https://github.com/rsyslog/rsyslog/issues/1508 Thanks to Yury Bushmelev for providing the patch. - imuxsock: rate-limiting also uses process name both for the actual limit procesing as well as warning messages emitted see also https://github.com/rsyslog/rsyslog/pull/1520 Thanks to github user jvymazal for the patch - Added new module: KSI log signing ver. 1.2 (lmsig_ksi_ls12) - rsylsog base functionality now builds on osx (Mac) Thanks to github user hdatma for his help in getting this done. - build now works on solaris again - imfile: fix cross-platform build issue see also https://github.com/rsyslog/rsyslog/issues/1494 Thanks to Felix Janda for bug report and solution suggestion. - bugfix core: segfault when no parser could parse message- rsyslog 8.26.0: * liblognorm 2.0.3 is required for mmnormalize * enable internal error messages at all times * core: added logging name of source of rate-limited messages * omfwd: omfwd: add support for network namespaces * imrelp: honor input name if provided when submitting to impstats * imptcp: add ability to set owner/group/access perms for uds * mmnormalize: add ability to load a rulebase from action() parameter * pmrfc3164 improvements + permit to ignore leading space in MSG + permit to use at-sign in host names + permit to require tag to end in colon * add new global parameter "umask" * core: make use of -T command line option more secure * omfile: add error if both file and dynafile are set * bugfix: build problem on MacOS (not a supported platform) * regression fix: in 8.25, str2num() returned error on empty string * bugfix omsnmp: improper handling of new-style configuration parameters * bugfix: rsyslog identifies itself as "liblogging-stdlog" in internal messages * bugfix imfile: wrong files were monitored when using multiple imfile inputs * bugfix: setting net.aclResolveHostname/net.acladdhostnameonfail segfaults * bugfix: immark emitted error messages with text "imuxsock" * bugfix tcpflood: build failed if RELP was disabled * fix gcc6 compiler warnings * the output module array passing interface has been removed- use 8.25.0 documentation tarball- rsyslog 8.25.0: * imfile: add support for wildcards in directory names * add new global option "parser.PermitSlashInProgramname" * mmdblookup: fix build issues, code cleanup * improved debug output for queue corruption cases * an error message is now displayed when a directory owner cannot be set * rainerscript: add new function ipv42num * rainerscript: add new function num2ipv4 * bugfix: ratelimiter does not work correctly is time is set back * core: fix potential message loss in old-style transactional interface * bugfix queue subsystem: queue corrupted if certain msg props are used * bugfix imjournal: fixed situation when time goes backwards * bugfix: bFlushOnTxEnd == 0 not honored when writing w/o async writer * bugfix core: str2num mishandling empty strings * bugfix rainerscript: set/unset statement do not check variable name validity * bugfix mmrm1stspace: last character of rawmsg property was doubled * bugfix imtcp: fix very small (cosmetic) memory leak * However, the leak breaks memleak checks in the testbench.- sync bug and fate numbers from IBS changes.- rsyslog 8.24.0(fate#320546): * mmrm1stspace: new module; removes first space in MSG if present * KSI signature provider: file permissions can now be specified * omzmq: new features * when the hostname is empty, we now use "localhost-empty-hostname" * omelasticsearch: remove "asyncrepl" config parameter * omfwd: Add support for bind-to-device (see below on same for imudp) * imudp: Add support for bind-to-device * imudp: limit rcvbufsize parameter to max 1GiB * rainerscript: implement new "call_indirect" statement * bugfix imjournal: make state file handling more robust * bugfix core: lookup table reload was not properly integrated * bugfix core: potential dealock on shutdown * bugfix ommongodb: did not work in v8 due to invalid indirection * bugfix ommongodb: fix tryResume handling * bugfix omfwd: retry processing was not done correctly, could stall * bugfix imuxsock: segfault non shutdown when $OmitLocalLogging is on - contributed modules not enabled due to build issues: * mmdblookup: new maxminddb lookup message modify plugin- Replace pkgconfig(libsystemd-journal) BuildRequires with pkgconfig(libsystemd): the sub-libraries have been merged into libsystemd since 209 and have ultimately been removed since 230.- rsyslog 8.23.0: * requiring libfastjson 0.99.3 * KSI signatures: removed SHA2-224 hash algorithm * imfile: new timeout feature for multi-line reads * omfile: improve robustness against network file system failures * pmaixforwardedfrom: support for AIX syslogd -s option * omelasticsearch: add ability to specify max http request size * omelasticsearch: high availability addressing of ElasticSearch cluster * omelasticsearch: make compatible with ElasticSearch 2.x and 5.x * omhiredis: add dynakey attribute. * omtcl: new contributed module * RainerScript: provide a capability to set environment variables * lookup tables: improved error checking * queue subsystem: add configuration parameter "queue.samplinginterval" * various bug fixes * rsgtutil: option to specify KSI publications file certificate constraints - includes changes from 8.22.0: * ompgsql: add template support * generate somewhat better error message on config file syntax error - includes changes from 8.21.0: * CHANGE OF BEHAVIOUR: by default, internal messages are no longer logged via the internal bridge to rsyslog but via the syslog() API call [either directly or via liblogging). For the typical single-rsyslogd-instance installation this is mostly unnoticable (except for some additional latency). If multiple instances are run, only the "main" (the one processing system log messages) will see all messages. To return to the old behaviour, do either of those two: 1) add in rsyslog.conf: global(processInternalMessages="on") 2) export the environment variable RSYSLOG_DFLT_LOG_INTERNAL=1 This will set a new default - the value can still be overwritten via rsyslog.conf (method 1). Note that the environment variable must be set in your **startup script**. For more information, please visit http://www.rsyslog.com/rsyslog-error-reporting-improved/ * slightly improved TLS syslog error messages * queue subsystem: improved robustness- rsyslog 8.20.0: * omrelp: add configurable connection timeout * pmrfc3164: add support for slashes in hostname * bugfix omfile: handle chown() failure correctly * omfile now better conveys status of unwritable files back to core * config files recursively including themselfes are now detected * refactored code to not emit compiler warnings in "strict mode" * bugfix: fix some issues with action CommitTransaction() handling * bugfix omqmqp1: connecting to the message bus fails on nonstandard port * testbench/CI enhancements - Build requirements: * librelp 1.2.12- rsyslog 8.19.0: * omelasticsearch: add option to permit unsigned certs * imrelp: better error codes on unvailablity of TLS options * default stack size for inputs has been explicitely set to 4MiB * performance improvements * miscellaneous minor cleanup * fix: potential misadressing in template config processing * bugfix omfile: async output file writing does not respect flushing * bugfix imfile: corrupted multi-line message when state data was persisted * bugfix imfile: missing newline after first line of multiline message * bugfix: dynstats unusedMetricTtl bug * bugfix build system: build was broken on SunOS * bugfix: afterRun entry point not correctly called * bugfix dynstats: do not leak file handles * bugfix omelasticsearch: disable libCURL signal handling * bugfix omelasticsearc: some regressions were fixed * improved wording: gnutls error message points to potential cause- rsyslog 8.18.0(bnc#958728): * templates: add option to convert timestamps to UTC * omjournal: fix segfault (regression in 8.17.0) * imptcp: added AF_UNIX support * new template options * compressSpace * date-utc * redis: support for authentication * omkafka: makes kafka-producer on-HUP restart optional * imfile: new "FreshStartTail" input parameter * omjournal: fix libfastjson API issues * ommongodb: fix json API issues * dynamic stats subsystem: a couple of smaller changes * foreach loop: now also iterates over objects (not just arrays) * enhancement: queue subsystem is more robst in regard to some corruptions * enhancement: Allow rsyslog to bind UDP ports even w/out specific interface being up at the moment. * new External plugin for sending metrics to SPM Monitoring SaaS * bugfix imfile: fix memory corruption bug when appending @cee * bugfix: memory misallocation if position.from and position.to is used a negative amount of memory is tried to be allocated if position.from is smaller than the buffer size (at least with json variables). This usually leads to a segfault. * bugfix: fix potential memleak in TCP allowed sender definition * bugfix: $PrivDropToGroupID actually did a name lookup * bugfix: small memory leak in imfile * bugfix: double free in jsonmesg template * bugfix: incorrect formatting of stats when CEE/Json format is used * bugfix omfwd: new-style keepalive action parameters did not work due to being inconsistently spelled inside the code. Note that legacy parameters $keepalive... always worked * bugfix: memory leaks in logctl utility * bugfix omrelp: fix segfault if no port action parameter was given * bugfix imtcp: Messages not terminated by a NL were discarded- rsyslog 8.17.0: * improve json variable performance * new experimental feature: lookup table suport * new feature: dynamic statistics counters * new contributed plugin: omampq1 for AMQP 1.0-compliant brokers * new set of UTC-based $now family of variables ($now-utc, $year-utc, ...) * simplified locking when accessing message and local variables * new global parameter "debug.unloadModules" * timestamp handling: guard against invalid dates * imfile: add "trimlineoverbytes" input paramter * ommongodb: add support for extended json format for dates * omjournal: add support for templates * imuxsock: add "ruleset" input parameter(fate#320667) * imptcp: performance improvements * improve interface definition in some modules, e.g. mmanon, mmsequence * rsgtutil: dump mode improvements + auto-detect signature file type + ability to dump hash chains for log extraction files * bugfix: unixtimestamp date format was incorrectly computed (leap year) * bugfix: date-ordinal date format was incorrectly computed (leap year) * bugfix: some race when shutting down input module threads * bugfix tcpflood: did not handle connection drops correct in TLS case * bugfix: abort if global parameter value was wrong * bugfix omkafka: fix potential NULL pointer addressing * bugfix impstats: @cee cookie was prefixed to wrong fromat (json vs. cee) * bugfix imfile: fix race during startup that could lead to some duplication * bugfix: potential loss of single message at queue shutdown * bugfix: potential deadlock with heavy variable access * bugfix ommysql: on some platforms, serverport parameter had no effect * bugfix omelasticsearch: invalid pointer dereference * bugfix omhiredis: serverport config parameter did not reliably work * bugfix rsgtutil: -h command line option did not work * bugfix lexer: hex numbers were not properly represented * bugfix TLS syslog: intermittent errors while sending data * bugfix imfile: abort on startup if no slash was present in file name param * bugfix rsgtutil: fixed abort when using short command line options * bugfix rsgtutil: invalid computation of log record extraction file * bugfix build system: KSI components could only be build if in default path- rsyslog 8.16.0: * rsgtutil: Added extraction support including loglines and hash chains. * new system properties for $NOW properties based on UTC * various bug fixes and improvements- fix build on sle11: use package name buildrequires instead of pkgconfig- build with libfastjson (mandatory from 8.16.0)- rsyslog 8.15.0: * KSI (incompatible changes): + KSI utilities: Added option to set publication url via - -publications-server. Required for signature verification. + UserID and UserKey can be set by parameter + Fixed wrong TLV container for KSI signatures from 0905 to 0906. + somewhat improved error messages + Update for and use libksi 3.4.0.x * New contributed modules: + pmpanngfw: for translating Palo Alto Networks logs * pmciscoios: support for asterisk before timestamp added * solr external output plugin much enhanced * omrabbitmq: improvements * add support for libfastjson (as a replacement for json-c) * pmciscoios: support for some format variations * improvments for 0mq modules: + omczmq - suspend / Retry handling + omczmq - improved efficiency + omczmq - added ability to set a timeout for sends + omczmq - set topics can be in separate frame (default) or part of message frame (configurable) + imczmq - ZMQ_ROUTER support * Note the upstream supported modules not enabled in SUSE package: + grok (mmgrok) + omkafka * add support for building with libfastjson * bugfix: invalid mutex handling in omfile async write mode could lead to segfault, even though highly unlikely (caught by testbench on a single platform) (bsc#1000488)- rsyslog 8.14.0: * add property "rawmsg-after-pri" * bugfix: potential misadresseing in imfile * bugfix: re_extract RainerScript function did not work- rsyslog 8.13.0: * ZeroMQ enhancements * Redis enhancements * mmnormalize: liblognorm error messages are now emitted via regular rsyslog error reporting mechanism (aka "are now logged") * networking improvements - drop rsyslog-8.12.0-parallel-build.patch, is upstream - drop rsyslog-8.12.0-gnutls.patch, same- rsyslog 8.12.0: * Harmonize resetConfigVariables values and defaults * GT/KSI: fix some issues in signature file format and add conversion tool * bugfix: ommysql did not work when gnutls was enabled * bugfix omfile: potential memory leak on file close * bugfix omfile: potential race in dynafile detection/creation * bugfix omfile: Fix race-condition detection in path-creation code * bugfix parser subsystem: potential misadressing in SanitizeMsg() * imfile: files moved outside of directory are now (properly) handled * bugfix: imfile: segfault when using startmsg.regex * bugfix imfile: file table was corrupted when on file deletion * bugfix ompgsql: transaction were improperly handled * bugfix mmjsonparse: memory leak if non-cee-json message is processed * testbench: remove raciness from UDP based tests * testbench: added bash into all scripts makign it mandatory * bugfix testbench: Fixed problem building syslog_caller util when liblogging-stdlog is not available. - add upstream patches: * rsyslog-8.12.0-gnutls.patch to fix build with gnutls * rsyslog-8.12.0-parallel-build.patch to fix parallel build- rsyslog 8.11.0 - new features: * signature provider for Keyless Signature Infrastructure (KSI) - bug fixes: * imfile: regex multiline mode ignored escapeLF option * omkafka: fixed several concurrency issues, most of them related to dynamic topics. * execonlywhenpreviousissuspended did not work correctly * core engine: ensured global variable atomicity * imfile: segfault when using startmsg.regex because of empty log line- rsyslog 8.10.0: * imfile: add capability to process multi-line messages based on regex * pmrfc3164: add new parameter "detect.yearAfterTimestamp" * pmrfc3164: add new parameter "permit.squareBracesInHostname" * supplementary groups are now set when dropping privileges * imfile: added brace glob expansion to wildcard * zmq: add the ability for zeromq input and outputs to advertise their presence on UDP via the zbeacon API. * added omhttpfs: contributed module for writing to HDFS via HTTP * bug fixes - packaging changes: * build with GnuTLS support again as 3.4.0 is now supported- Documentation does not depend on the presence of anything- Adjusted apparmor profile based on the suggestions by Christian Boltz * Removed empty files: module-pgsql, module-relp, module-gssapi, module-gtls * Moved profiles to /usr/share/apparmor/extra-profiles/ * Blocked capability block_suspend plus some other small fixes- Adjusted apparmor profile to prevent aa-genprof failures (bnc#925512)- disable GnuTLS support, does not build with GnuTLS 3.4.0- rsyslog 8.9.0: - omprog: add option "hup.forward" to forwards HUP to external plugins - imuxsock: added capability to use regular parser chain - new sysSock.useSpecialParser module parameter - new sysSock.parseHostname module parameter - new useSpecialParser input parameter - new parseHostname input parameter - 0mq: improvements in input and output modules - imtcp: add support for ip based bind for imtcp -> param "address" - bugfix: MsgDeserialize out of sync with MsgSerialize for StrucData - bugfix imfile: partial data loss, especially in readMode != 0 - bugfix: potential large memory consumption with failed actions - bugfix: omudpspoof: invalid default send template in RainerScript format - bugfix: size-based legacy config statements did not work properly on some platforms, they were incorrectly handled, resulting in all sorts of "interesting" effects (up to segfault on startup) - build system: added option --without-valgrind-testbench ... which provides the capability to either enforce or turn off valgrind use inside the testbench. Thanks to whissi for the patch. - rsyslogd: fix misleading typos in error messa - remove upstreamed rsyslog-8.8.0-nonvoid-function-return.patch- rsyslog 8.8.0: - omkafka: add support for dynamic topics and auto partitioning - imtcp/imptcp: support for broken Cisco ASA TCP syslog framing - omfwd: more detailled error messages in case of UDP send error - TLS syslog: enable capability to turn on GnuTLS debug logging - bugfix: $AbortOnUncleanConfig did not work - improve rsyslogd -v output and error message with meta information - bugfix imtcp: octet-counted framing cannot be turned off - bugfix: build problems on Illuminos - bugfix: invalid data size for iMaxLine global property - bugfix: negative values for maxMessageSize global parameter were permitted - add upstream patch rsyslog-8.8.0-nonvoid-function-return.patch to fix compiler warnings/errors- rsyslog 8.7.0: - add message metadata "system" to msg object this permits to store metadata alongside the message - imfile: add support for "filename" metadata this is useful in cases where wildcards are used - imptcp: make stats counter names consistent with what imudp, imtcp uses - added new module "omkafka" to support writing to Apache Kafka - omfwd: add new "udp.senddelay" parameter - mmnormalize enhancements - RainerScript "foreach" iterator and array reading support Thanks to Janmejay Singh for the patch. - now requires liblognorm >= 1.0.2 - add support for systemd >= 209 library names - BSD "ntp" facility (value 12) is now also supported in filter Note: this patch was released under ASL 2.0 (see email-conversation). - bugfix: global(localHostName="xxx") was not respected in all modules - bugfix: emit correct error message on config-file-not-found - bugfix: impstats emitted invalid JSON format (if JSON was selected) - bugfix: (small) memory leak in omfile's outchannel code - bugfix: imuxsock did not deactivate some code not supported by platform - includes changes from 8.6.0: - configuration-setting rsyslogd command line options deprecated - new and enhanced plugins for 0mq. These are currently experimantal. - empty rulesets have been permitted. They no longer raise a syntax error. - add parameter -N3 to enable config check of partial config file Use for config include files. Disables checking if any action exists at all. - rsyslogd -e option has finally been removed It is deprectated since many years. - testbench improvements - testbench is now by default disabled - add new RainerScript functions warp() and replace() - mmnormalize can now also work on a variable - new property date options for day ordinal and week number - remove --enable-zlib configure option, we always require it - slight source-tree restructuring: contributed modules are now in their own ./contrib directory. The idea is to make it clearer to the end user which plugins are supported by the rsyslog project (those in ./plugins). - bugfix: imudp makes rsyslog hang on shutdown when more than 1 thread used - bugfix: not all files closed on auto-backgrounding startup - bugfix: typo in queue configuration parameter - bugfix: unitialized buffer off-by-one error in hostname generation - bugfix imuxsock: possible segfault when SysSock.Use="off" - bugfix: RainerScript: invalid ruleset names were accepted - bugfix: some module entry points were not called for all modules - bugfix omlibdbi: connection was taken down in wrong thread - imttcp was removed because it was an incompleted experimental module - pmrfc3164sd because it was a custom module nobody used - omoracle was removed because it was orphaned and did not build/work for quite some years and nobody was interested in fixing it - includes changes from 8.5.0: - imfile greatly refactored and support for wildcards added - PRI-handling code refactored for more clarity and robustness - ommail: add support for RainerScript config system [action() object] - refactored the auto-backgrounding method - make gntls tcp syslog driver emit more error messages - bugfix: imfile did not complain if configured file did not exist - bugfix: build failure on systems which don't have json_tokener_errors - imgssapi: log remote peer address in some error messages - includes changes from 8.4.3: - ommail: minor bugfixes & improvements - bugfix imkmsg: infinite loop on OpenVZ VMs - bugfix: typo in queue configuration parameter made parameter unusable - bugfix: unitialized buffer off-by-one error in hostname generation - bugfix imfile: segfault on startup in "inotify" mode - bugfix imfile: could make rsyslog exit in inotify mode - bugfix: rsgtutil sometimes crashed in verify mode if file did not exist - bugfix imklog: pri was miscalculated - bugfix: imjournal did not build properly - bugfix: mmcount did no longer build - bugfix imuxsock: possible segfault when SysSock.Use="off" - rsyslog Version 8.5.0 fixed bsc#992146- set file permissions only on first install [boo#899316]- Changed BuildRequires dependencies for SLES11SP3 - BuildRequires: libjson-c-devel - BuildRequires: libestr-devel - BuildRequires: liblogging-devel - BuildRequires: librelp-devel - BuildRequires: libee-devel - BuildRequires: liblognorm-devel - BuildRequires: libuuid-devel- fix shebang of rsyslog-service-prepare script/bin/sh/bin/sh/bin/sh/bin/shrsyslog-module-guardtimebuild72 1597162350  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI8.33.1-lp151.6.13.18.33.1-lp151.6.13.18.33.1-lp151.6.13.1 rsyslog.confrsyslog.dremote.confrsyslogrsyslogadditional-log-sockets.confrsyslogdrsyslogim3195.soimfile.soimjournal.soimklog.soimkmsg.soimmark.soimpstats.soimptcp.soimtcp.soimudp.soimuxsock.solmnet.solmnetstrms.solmnsd_ptcp.solmregexp.solmstrmsrv.solmtcpclt.solmtcpsrv.solmzlibw.sommanon.sommcount.sommexternal.sommfields.sommkubernetes.sommpstrucdata.sommrfc5424addhmac.sommrm1stspace.sommsequence.sommutf8fix.soomjournal.soommail.soomprog.soomruleset.soomstdout.soomtesting.soomuxsock.sopmaixforwardedfrom.sopmciscoios.sopmcisconames.sopmlastmsg.sopmnormalize.sopmnull.sopmpanngfw.sopmsnare.sorsyslog.servicercrsyslogrsyslog-service-preparersyslogdapparmorextra-profilesrsyslog.dusr.sbin.rsyslogdrsyslogAUTHORSChangeLogREADMEsysconfig.syslog-rsyslogrsyslogCOPYINGCOPYING.ASL20COPYING.LESSERrsyslog.conf.5.gzrsyslogd.8.gzrsyslog/etc//etc/rsyslog.d//etc/sysconfig/SuSEfirewall2.d/services//run//run/rsyslog//sbin//usr/lib//usr/lib/rsyslog//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/apparmor//usr/share/apparmor/extra-profiles//usr/share/doc/packages//usr/share/doc/packages/rsyslog//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/rsyslog//usr/share/man/man5//usr/share/man/man8//var/spool/-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:13687/openSUSE_Leap_15.1_Update/093e029a34d9a1a238a70b8b65ab5627-rsyslog.openSUSE_Leap_15.1_Updatedrpmxz5i586-suse-linux  !"#$%&'()*+,-./0123455ASCII textdirectoryemptyELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=4585e380804471e2d80f3281c20156925e20b911, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=f8763e801f006f1f94de5d2fdc6f1aaa796068b6, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0a967fdc8fefe1e597649f840d840fb57c852de3, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=9259a16cb58621d53ed480fbca60232793ef5df2, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=028cae923f851143fac437e6a2b38424ab4d0ab9, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=049754832fde94c0120299e5146ebdb5af946c70, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=64d2d4b64efbcd7dd42d1f61e06bdf82a3e7eadc, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=44e36950bbbe7107b54aae7c7da30232d661b0c2, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=31066997f60194651563944c30c91de53902be4f, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=53f1726b5ae945ad4030179707041d37acb3b47d, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=f4056d50ee600e7f2ac0c1cd655e17c51f1ecbf6, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=f50a7af76ce96d9335b419a5b6cbc259d5a7f511, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=dd3d5a11a29f25e84821bf35e32b6e2d14addaca, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=3570e074ed0d67e41372eb757b5f67b2327b005d, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=c94bd94ced4584fc71d2b1d517dfd476beb6756f, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=842df0d252f9cb19f70dfe2eb8880a62cca8a3fb, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=7a5ab3c3c7c184cd74b61394165001eff075827c, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=02ef713eedf2eb9a6c2d807973ed8b871e65adbc, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=06d23f7029b7c42fc516233a588e7ebad421b43f, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=765a34f94705641cd7812a43e8c02258c45c7ab1, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0d50fc1d76d314de070370bcb47363e0953d5d6b, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=844c280ef9549ec45458092b224f9636b22496d9, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=a39b59188c3ab7f5e3faa4e5c12924321499adbb, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=66a7a29cf0e3042a8ddf1f371def21d6bce0c54e, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=15968f495d9e3e410ded09e409282e3d4e74c652, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=9419dc0c24c404c445e85340f4ad10d0171a4fac, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=bca719c35eee24346205ea2b6f7bee4b91e5c0ea, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=5a7758f77980d3b34de97650232a6516cfc8d79f, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=ee8a79c52c4e2db2b8363ae4863b9b48065bc8c8, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=c2c6ea69c4945c27046b2c866589de1e1ebdfa90, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=4a1d493def699639c94c3a18fed492e49ff1c90d, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=7df6db3420ae77c70b3efff02309671b2b090099, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=c72b4176fe38e643fba485816f4589be7b8ed0e0, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=dbeadcd5733645db68d469cf39f88daa56ab6034, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=58e08a79dd7d464fe1f7e2ad6bac7b97c55b14a5, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=240238399825e36c5d9ec8619134d8bdc38a751a, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=bb49f3b4a5120221d4e29e8cf7ab875eb7c897ae, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=3033f3dca5c83915751c84a0a87ccc75aeb94584, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=af9dd379522dae18eb49af0b48d225d7d039139f, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=4cefc9aaa51b38e796f0c669f718f35722055db5, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=e2257447c0f89976a52513de237188f9aa8aade6, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=3d5e284ba06ec9a1af478f28f825fd7aa0dc2777, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=c6f7613b0e2334e1b41077bfa4bd9d713f6c85cf, strippedELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=46edaded33c8290d263a8e508943634ab4a12ac5, strippedBourne-Again shell script, ASCII text executableELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib, BuildID[sha1]=318fc29269caba89dd85bfe23155c74014020ac4, for GNU/Linux 3.2.0, strippedC source, ASCII textUTF-8 Unicode textASCII text, with very long linestroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) %)09=FOV[bglqy|    !R RRR#R RRR RR RR RRRRR R RR0R/R RRRRRR R R RRRRR R R RRR R RRRR RR R RRRRRR RR R RRR R RRRRRR R RR RRRRRR RR R RRRR RR R RRR RR RRRRRR R RR RRR RRRR R RRR RR RRRRR RR R RRR RRR RR RRR R RRR RR R RRR RR RRRRR R RR%R"R RRRR R RRRRR RR RRR R RRR R RRR R R0RRR R/R RRR RR RRRR R R RRR R RRR R RRRR R RRR R RRR R RRR R RRR R RR RRR RRR R%R"R RRR R RRR RRR R RR2R.RR R0R,R)R*R(R'R+RRRRRR R RRR RRR3R&RR-R!R"R/R1R$R zϤ\@6BKyutf-8bfcb7e4143d9c9e22f1a28660abc0b7bd45a79034dde41405d74b8b36f899387?@7zXZ !t/}]"k%n.kg]Yzo?$ͧ5ףz.VqhhyTq27eb +v ̀'&;pKpLKANa:eNHתhBOmɆmAf2}TlJO`B|nIyڲ7u &Vuzhf!ˡxV4 {& y/,i+-NWٺ.B[-ܽUio%Gop:VNEnSqmS灝XLdhxg'?(!5a6G.(;:jDH_}d X:U-;e)"V)U=C^%POvȎd+dLs m|U&FwXC [B D3v6 \sB?0BiҠy6rD* 1S)Z%+!*RL*kނATDT28ڄ]PUduH[=B_#חmCQђ`^R~\v9-@5PЕ^֞hΤ$Ʒ,ܓbGǤQdACZ47 ˌnEUn:Y1d&@esdDku߃7|Ύu"\`GwPxB**p7_eT^xmocn }~ wp/|Gf+<.꘸ƾdFc'w85+>*Ѯ2ؕP)'C#Nq(x"w7AjlؗFp4JxY1# 8k&s:g!gcr{,[6{SQd-3!y@W4X,.Lpw-,!?JϣÎJ{\[0y:k^5Htdźr˘@ZȁW16ou&j^ <-|G>;^gwF,E]*|uN5&1^9?@Ô =^U{;35tr 8Хam+ejh"bRhu$y!jQxyqKcFAٕшNi˥SH+g0ȟƺtJ.r)Z>OzzK/5Ɖ |=0xSawXexhoD bsrNu$fkAy7aCuE=|qV0ϨusU1@d˓XA3(4؜j?;!')~/Wܭ/oUFPYjp_A$dװkY@ PPrI_ڵ3ߺEy?I 7D?FN)ȴƄ9QQpfωnKXS4ÐIӆ AIg'wɞ~͚6#r"Y n2b qv2AHGp wh BA`λhl^W4*pz[2$ә^ʗ$>b˶8EPѪ& AF/%Ո&0+BcbENgGwPxpSkrbv0ֲ5#aˎ~ -2 Sk"S^3PS(x凧PNhu)oÎiijS'!: oh~<̐5TL(bep)ΧAZ&I՘v<+a%X\@bV6E؍wT^7^ wmžnh߅1;-`nQF%&t: /:L~_Ѵ ҰD#u T= W߅j_u)Q{D.H*Z+d=#r+TB{:Њ[y׳r^ RNoDЇrO`dnsHz ovpfn]ۆ n|9b<{˥On^tۡ(ozɿ!bѕf 2lPp>oVs; 㗆" FHI@]sq,7c\y\#e5araXj,Nht,}S04 Ce(" '-s]ѿc}FPkkR4 )!M r) LDtd1 b6@{g:K1]xB##"N@ }J U!&+`Y:qk46KIsVZDHvmcxIF)vŒr;rZ?-_8=#E#tUɝ̛ ,DAs´EEтt KԥeiU-xSa6;AMU\@3J?rV/*H9]ϛ~Ƌ_Ҽ_vCWEL.UlO Br`_RDrM?(˭*ytn yH)nʪB${ f s_q Mlm㉜qf};*@#i+R/4;w9B`xX vZ-X%zmZ!Z֔?2/#;yTzځCaUN =3 2ݯF29EpF2vi_okZӡY4l%ݟ:e%Ì |3-tg Gdq6i.6h%@J6?.vHm`zܒʢ~.w᭛Ķ4jjXZ@=tE_'-z 5⚱{H8wX*5eʢr3\_ g^-dS zB8fQB^HT S'E2T$ yhKf jh+ZhOK'Xl< (;Zp*Vo, ]G;7fkX/ #3[': @^o- k'92̦Vb¸ FH\McwfǮxc+tnҮ ؼaS6,> dsLn3\jx4ٸt4&t~rj8wx'TWFAٯ6L>h.H_{b!Zdɍ]=R",.MmF$񫖮9+U!ȃ_}hwC˴Uf UX:[s#TLM4ՉZ}l60lV\N82iC矂LH@cC::ybd92ACIB^ƢK7({j$ўfƓTǃ%lG\)rܬcurj淄ɬ){`o2> z%BGҞA,<,2+, [Hrib.AY~): $nAoyG}f,7]a *šCrKŒȋ/ӂPm>^"8eC?]8*KoP,`ʹg= |!_$*UkT|tv+<2?qhpq,1Y8SQݷ Fqs9('N$?:1`,% v0lgvZMS_'M[ gȹqW:٣!E5[U`]/,eCBmsT唛R$"dfc5Jŏ37 >$33׈`S0 i;RΔdf^`(<3; /QӖ"+:Ϩ·deK8>;]p:cŸaA +am*/!V#Y3mD0C޲2An.07x>uG0[CJNb~76M%ٳ`zkwKX K7<=r$qK!ǁ|Zy%9O^vi\_ LS.ʾs9K?#ϛC!2#Dw|XY.:긛ztYLm׫c`Z,NʖU&SLue6r}>X+:[F΂B+T RԼqXGYxuxx7 x2"Z<cE5݀UDdaM! v}jG$Fm~";TI|O) c2d _'eJOhe# MﮖoSgG%㜗 vfҿtmm휸R&)AE,5QzؽJQ/Y'A/1 ['hܥ:2J`_8j=HHIULګ kWm=K)D|5j|rQ jű,򼴈e(jN$6G^e|^ŌQc~0{ zCacssxbY\|VH)C㑢(9ߤM`Mԃ!ظfL .-g Ɠw޻/w[ΐ_7d;F/=BJ 0nJMN$5A3PQk0'fcI@E{ߢ9W~Cz%r/wxfv4l Al+bzHͤ<`mCVqdNchDʽQ:G`m[BXI09ZcA ~Zom` 7骑nEx6yZ%pͶϯ j' 5-0w.[C,gvIʧޅq'\H#T~5 ~pLxLa==f'8"XV֤X['OJQßS~a:ɠ3ۗ(JEfN3^Z{, )_vy+WI{"!K&&}TZŷ;q5Xq0$I_$Dӌ5zyҌo"G&n(_1ݴaE D\Xa=#30<SCr| Pm~XW@ C#0S -賁_P6fEGW3aEB|s䠩;LT(#AOH'G % r5- P'"5}3A?-,[uN8ǎLя$͹ٚ5jO@ݛ==;:8$UOcw6!N@}X],72]x?EfE[40էF|6qͽ~tJ#S&gͦp[MYT?kZfNa_.z#1M^oA=@_@soCv1,Ko,VqB8K'̻$w# ӏ[.| yn}{JiD?1I]gfB[*AP5-vaD[b0[;; *ƅ5ТgE眜+_U=ĮSUWRb'y%?}-> ڽ7H#o\[EBf2Q ^0?&94)0)huÞV?S3[6QcX_ vQ^P)lϤJ)hC"YdU. qb&yݶb]E|-žѴ;̶0q&2hq~֡#yP@ȬZo몤Q՞Mr&ϜI^ Iu̾)9`sM קb_K2B7S0ST-[.P<^`Nݲ+/eVi %uF=LA}Z9P\ ^Bg'O4y)>tbQܠ,i,Bt(37!̭(Y>TC :z*X?1 rP#;ۛzAU?Lta`{ӎ;ClW^5ИhuN0[xcNBqUR,/#]h+t.*ؑξNּ=o)th3N :Ȅ+@ ]c`t4}cQ4zZba{|h ZEA^D >jkΛ>GsRhp%vѐw;Ȕ""hOWfr@նܫ^'E)5% N};JW$.9\ dXMWxv7.G7OKL%XԋS0vpvhr>}>B\# CKY|>X[k?z;b#vYS]BߩUNI.N}K@| bd.}Yĝ)Ze)T7cH Ru!86p$@ 10P YtɫGxnG j%^ ",0JȤՈ7[0@?Oޙ t.S@SvL<(xVPZ^82fѐ-i9vW0qS ?zSЎfXO׏ nybzL )}K K LqK5|EɁ2-6d.顇R4С&7 DM!ւ*oOJn IU#reo $]*PK&>Уs8.{PM=Ǭ$o{ouPosz,HoS]! &VC uN#uvA='~ Xq BE!MOԪh *Lw4 5hGDcJc,mMԋPާ(_ѻzQ0O-yhN#f(ApÉůTI0b|`:s5ɳAes, lñ'W Vd8o,V5DeW 0G$Ko/2ct,JmͪǶP_F#$UK?Ñ=խy;2/YJeAcC:)uafO%0IͿ/g\zسi800vvφi+{"U=ǎ kQcrκ>$TKJ0x(N~+k8$R.WFF/t@š1=*2;ֳi_}T~@:tx햪_y|*q&0u)MUtɂ'f^Xu; y*NVkGi*3э0|5w;W,e3Č\яq/5g$5Cn,vzP8$Q;,;nO)m4({A3;!װ~Y/SbUЬFү*?U9."r)DUznzbW z'iU&dU#C>CpBn}VF]zR'm ,_W&TSlK*q ģA !'l $˅#̈`L4|+lUU " ZoV# \XyR@bż=s#$v9RU$QDH2 Kǖ8<8ҝG$,=>K-yװ*lul.TA DomM#7oS8~ݺIJz%bA e <+}i$\~ U9LYJ59nfb5-cc_†\v{([EnBouu^  JTX>lPnzЅr2wG,Ml׺X+%$osrQL |78qdwj>;T;;_*)BjEaQ񏀧g͆l!a.[c(2 j_η)%f (bLЛG @ 5[sWKn*oձa 78j<Ѩu֫PN60yIzV,Ho!)-)1ǜƐdkq. f4'❰rBh@sߺrL"RPy9@:7 Cl)JF]/ Wâ[xǂg5bJHq5gƱ}rks3\=S!m%6=ɡ0^5` aaI|ֺ`aġC5Qv q-Na%xvs!oe2XldE03_,F~`j=^F';Xc!{#dƇy~$&׺:TGq$=gVF^)W۠%ÂT >m+y9sY;yq3p? 6WϪYwWxM©^`yG?y@MkRYȃ;ih wd V$TY%F2 G)OE7GƤК^*H;k ǍEK`,m]c0oۀGzhdyf>Q`zNYVDZhnT-k jzd+IZ^li'sCz韛EJU2 V8>vk+zyOd cl/JW+^^B{󅟖PQO}L f'U_UDfj$7V{R12nđF4Qi~9'&#v^N[]t`ŊӤ7cg˴-#W\~s,6J]  3(~ָ韧%/K'?cuK)1[+{a鱻wK)V冫C.7 _Q?:^$@ޯ q|I_zv }$_ҿέҾ"~AkǕy^6%' 07ՎR\{iLh{xof -2&]Y>PyF1u8M,ЧɅ:-}zmeb$cU(DZ4tP^`{._?WƬd;WF+qcH#5}|/uϥMćb7oh]Nʄιa:"FXkR*~4Nm#8ːF}byc1à5&LV>n~w'lM4 J> YIw4EALLVނfxiCϰBٷ֬'6l> ඘a0ZPsWhw<6廷g SGl,~HX&"*{!ټ|1BK?5TB'.`~$TSC\qr&W'o *tYΗgY#;T=w|34^RЌf|tZbr;.G7+;^@|PԶ>2.@ּb&b*ӞoNN#0TuZ:Kocpy1 "P:+Ђ/5`v#z(\"7z ݷU]Mmaeo6.z{Ooq}t_fVcux_bf]XW[: =2]*Ҡ\ ;Wߥ>ϴ3yF /b6 \ҟz2GuQ#pxǏEM@g;Os{f{9tmG6Y꭛CLzv2*`ku:Y/uX Z9eBLsiJЖ,zdq$PlZO>o[-m8 =!蟋 ^%(`csfV@@SrYwG%J)^ T MKuk Qvjo $Y 9PV"N⑴5X;cz 1h-j^'.U!)Īmvf[|_}se :{zz0.y9µ |D"6XzS.bcXv̛k{Ưՙ,Ą=˚;r>3eG|zkh[9Abe\ +iyQ>[w?9A^7kdZ V g'Б4Y #^)%'2 (Wqv }υ& 9hvA-ks Jds V=$K\dW9ob2vjo/&ŮkI]Y(sb4TFsNmI;6zYrdJ=_|Y]s\n d0n"ؠɤ9?S 1== z`\ձvDθWYpt9bN@(7жxj m!x%%a<Ňx- fG`1MvHyYJzh>4d\t`)`2P{Wg n}7ֻL&:4?}RWi*A8WcasJd|So, m(Q ֽ@Oq<;% Kjw@a)7Qss0a{8鮑g!u Huf/,Cc ez_>vԧ5p`A0l6y$w{;t@ E%G;dن%zUW+u#[C}5dÍxeS}$ \6K󮻒7[8d`< Tؕy栅RyKwWLP>(rDlcFEߍ: V`Rjx;Xί uw/ĂDKt7%A$S;DF-1 q+`Wkj9*-GzQH%Ӿ>`f$_MDLvg7W'މ̓k7_}rˢsYbġATbbP{7aJ`+av>>W(3hL:4:27S0:^}cꨋ)QqI@ +(Js׋k|F?CD\YB[NQfޖ  m֠7WAygj59W{`X~"31+w#Ԉ"VGrQ ? ;߰OE0s {4([ݓ ;v(S-^>e3ς&ˠ[Q(HY`H+P1c,f%,:ϑ:7Zӥq>ԭkz;3%lіopf׳nW /{|"skFfygݖ4aW+7w]v=QgrbcuP #C*%|VƃK/juC:b"y).W 8%iƹ9}4 u _-u0byV29}'Ut`x^U<5j<ݕ+fW_\dT7$ގt+DOӾ\֙8`ϢĴt)gnA%/m7_[tmܔ4A1d;`ef/E1gʊga1b~#qm,4 NF\gy9-2}<5֧Vc#+ uoJ vHf, (ƀ-`PmnSd]h F tu\an`Gr>7AshZ.d;D\t?SeqMKcDHO?lCO.Fte.qἥv О/9yIddQ8HnFFBĥԿPܪQV~gv"eN*_Ij'N=&?Vd(F+JAL29 ݯ2Fi`sTЎ/>'2dgXltU}TpjOðH DIڰ}=HA!kY}Jh=k˔k_ h jT ^a`A2\ZmvfRRqeSZuVh58/{9`y1Ukg@Ii1:aV=@8jJ [h,JaK-/'#(MdB Yn$/ 97 aT'^kQ10wP 9ݤA/h"vNDS Q d`\0sJnh~ mjM;kk4xv n }P)pH΁oCO†DvN(j z. g-Vn+/8T~k8Dĩaє~ָOAYAtRpB[yT\&Ѧ ~eTώMM 迬.Ƞ[L#RΆٓUXaXA/ѧ`S[a) cŒp$*[6ӆLo& 3[Xm='.儨Lo4hH q|b u œ}%6z9<0M@.Qr!Hd͂4"1fzo(f~}!&ZQ ;rC+9߇"q[,8qfNiASVqBۜIܚqe28+!pcL=)v{=]J[DķMrRSR"t%C$Q'W1婹W,ߥϢ9/# _ߟ-8eSCCݡb @쪆aJ]ZNDQq'B O-w<z=m«=m=$|ʌ >VhFфrw56p) @YKFs|*Axٱb#k B:;wHArق /ъG|($nZ83Npߝ"[aHW3cm}to&BAn7VQHVɸ `/7v҈J"ћnCύBݪS{)y6EYFc+s\0jup8v'˳h6ظSNUX $[Si5}7Hƍ0|O>~4}IAJ Ab;_qZB$a̯o.t/K6^>Mvmi+,H~xwv8I0c^G7^pk"omr ʺ$o?y*{6Kmt/ ~.ʿ=YbqB 7,eE80úpe<\A'm#?{Mʡ>9lH*c.zM">$=ӟ4L=vȅe Y W_t824irT`4/Y~ L>0LVI%E rj v^^B17ʔ6q4p9N^.^b92OfEtPjĊB6K኱׼{g^GKY+~Ȥ;',0P,1uaqjՀTL_ڲ7l(+/oNoWgyDYme޹sλثks@ӆ ϯ1"}Fi I0kmPz034~< AoJsX [C~pA{B؎wk5,~Fw`Jv!=38ӲWH 2O xUtl𽾵7e& R(+Z2=tV4T2o=Ƶ3 \ | !92{i_a'5ݎoϬx>ˠLS`s 畹Y[[fҜMh9HMQNf, -UTDE"cdU/d;ka\-:u Am\r蜗VG>:~$?{7ɉ ܔ }x\9h3ipwwhҺI&cS==ӂaIG@gLh iAB^xJd}ڔjpA\ɾ):zb=*tB'GKk>R:5,Fk*䰅E9$R^_! Z9?{4o M6>亊oUF1@U): 2l;O-nlnhY(n:+au@W/vP/Aջ}xVV6yBFs7;ow澁m пd"xJwN釗}5j|ddv:m]PCJ^kYѽᏽ3^cQ&SIDsÑOlxq^g_*8b]gr[e*F-|\=2.DuȥF#QdUhfѵX GdS{zl!pC^e-Y@+!6fdG D#Fk0N̅KROs@{823n_"sz*vs)F3wVSP R QU8AkBXOmS1s:(uck<8&F 떗)Ztq`fct8p z^3FV=]xY,~TQZCޭ\¶gh#TY"a[N]R,R7Xm?skqN1@追T .vu-V'2W"|nAԟHOmjW-2NF86'("hiq @ƌ.Hx'(REX eDZ[HvuQeIY,`ċ~<.S^@Wkk+ s"8qU.@ cPR#  gRyl`>b6qQ]ܔ﷫5?,;ue3a!Ez{3-4$+I u j1毼=I~2!aU<\4Ȁ9}3ʬkVg#+EyXE038> -RfF::6< PͤKijٹ]xsdy\wC6'rV~/߾dC^Ujy8 ]\J$@>Wg ꚼ ҷ#߇L%ȴ 1eJMwmsh"O*&}/Yw'CPnBDgn@qWƱd†¾Q*'$> pRlQ#ީsqu Ι1 mt^2.;܍a VR?BoVbOF@+QhuWVdA)K9_٬9HMNKx_J%с`:/|.k걵ner[p ϽdyN/7x*Av=_uf4͸I>#|ndM7.v ٹ.8{G_r-jK7+= UUgOOju kѦzƈv/͂ WtYLu.E r 4]qҲ 0gl/1-'+:}ql}NjGFZR|xrE^m.Z˒=Wk3,nCS_T頑dg>fMYy3?~J3n <8<&|PM5d?ܫ'ds!w }h/N+Mwfšxϳhhi%`Y71G;%0^>ILqkWG3?"CW \wF+T؁X{-{ǬPA l ad3=j\ޘU+`x3`p#g\uD S,Bb~;V0Y5*@DOaN.vB1(8w#U'4}9D:*[GYgem*2zA%^F (d )sosg3J&_o9u1,:,z)>MS+fN ?h8D{0a keTG\izPqW:|u:'p6 ~ ^p'rOaTg ?R_Vo> -W~W6_.e&~齝2dۂowm88saWLA/" cH 1DEEGH} 0]2=C;Hs1+#mC1<%\sWCl@_ Pm?(يbyIԶ*KCξp5W]֘4MJFs .f?xѫ7Xމ@X9H?Uy~$΄4)=lα镜 'LKao*_t+r/TamZڗ>w; ʙj?J),6;r{0F Bt{mN nס kGiNgMR㬚^ve6CbX'Uv nTv4z\}"׷D.p^`t`( ,DzOF){^Ar0-8U>ܽm4'$J캋o7=A 1㝝0<](|#4z9)re_=be2I-cj10{]/te3ĖH'ߦpf五2$f5dXC8#23f0!Z_ I85NmJ=Fx;ɑVŮ_rMRcщ]T`Zy3r9HIabJRYwv'U0;)F7հv OZ 1f5TD?[0w(3dʿ8 =#OAq>t`SP:t%QŅWuVnos{9M1MŎ/@{)-NS2^88+CBwں}3e5x"IYfGkv M;fr?7H8 ?htMv0PlZ@Ekhy¡UcD濜ݒ7#ؖxFg:\LRNf^6@V].tw;>1vāȚEi||k !/:4HXeZS^aaZH3 uC1 _v C5iԔN<6Hԅݓ>+qXV嫝 ?|LMwNr?xgnb$wvh)Z5*w%)+ʟL.7Tm b|v 㪾|-KF/`:T/$Rk/}bnI:rxH& RMJ?v11bnM[oҘZx)89j2ZYAt#X-;V]CX!.1[qj ǚ x!-ngWPA~J km/pCjյkh|Dr-zadE Q+J$۰Z.ekP'bwokRnXKtPFJ aC˱5r' KHe_~+k=|M`͚3/>JlP3TF*;H?t Ed/ب4BT΢5h(SVNXrzVu[\.Қ :GFN= HyB!0Ds%X $i7yP A,M+];/?; dZ.2&&ߟ4r9U`E:xjAqdx?8=3pP "E4 ۏL9vzXƥ"EY&RQ܀U yX0 U%s0k .}]R:_G$xp[{Yh{.](X}O-&ޗT7-Q9iJꨪ񈡬lj>^ADBTG]\0Xch䩊dzah 7"ʌXJ4%eJSֲ>+ds#Tݘ*d`ܠAI2x|Bq6pi'Ʉ+p\j#l MM5/[>0*01(zhnfWN̪i K2֣j>,+^.QGS炋Pmc2&'be zK0$clEeqtܩkY?wk3Zq`߅I26!,K8b\޷*68mto@uٕ:%5<(K S,ɏZ#t=mè2ag|~y 5R7ĢղAoz{!ā'Xh88֙JXɓ8W;lHuMh"5Uнʌn׃JZ_ZCeVP X"d5M`Ir|lG>YJ$CJ3ua Hv3׹((o=8ch%N7F&U:|γ5?TST䒸pƙ: tAmڞSB'nVEe審j3A≪$iZt, qf() iKQn `\{QF]ϞY0{dzr%jbi{'|,6#y{HYˈ)'>2 ]y=/+uW9Z[q&{Fx*bt])3J 3n v517^Q X9ri4IEfxZɕ`~Bnhǁ֬p+w/SCZ['[ނ.:b*`Ho0`فyCMS[ID. [&܏AOȯvZj-/dYPQLvC":1y l.&1(ODpcNݛ~$e@R KdppFĉӌ4 rLw04pp^F[nf"!}SS-Ai[g~*yn7NFXۭo^bǩK A :B7”0 {sQ #X+D@QagҍRVh7Irb\vvZ+>m|*? {t'( 2ġLH1z w5O,#.H#xiW|^;}zWǜ~tw::^Yz荶U^ڝLܺ=ơҗɰIJhW8+, ҄QłQ/#.=e@Yꈾy$'-ޕY!Q1} nt)KJh 3sZJydm`'kPCv|,s= ]6%@iu9 ,~AUtJ)Ȟ3O0Q@xNX}S@}s*jxuf3}Q8fV͙~DEОJ2jMumUI7*W8K'hӵE0O t4XJpza$>OF$2S.f~O˅p1ZPv@V=)2B|aN."{l#0LuU5@C0\yleVޣ0g " eMX)6b`b;~Ij8nbkdST~XnsdXXI(cM_Ivͥds&T "۞(=-{cpV}+ct.7H- pQ +Eto55oseB߰q27zNm M›x"JZ^E3>ur[HN>! f35|:/Ƣ5I&eEj/#gAY*_yu Q-ͭⰱt4y}zul8{2&0?ݑHř'7;Њ#<4RYM*9㺆[=(.7;s8@P?Np37mz1b>z7h4t+J"ڪ*ovvmǷP߹ړM(ߦv&EJ{rm\MRϔ@O@ܼ0H\xE;0Hn"=, 3CȏNXtx͸"ͨ'[ g>xzP"TcJQ"M(j{n̟i9 d7+R_$EL@AsD)%eUBy,P|¿#8i#ԀD 3#cG< 2RO C/ 8۪n#ҎU!LQcM{mH2rN u碗(vfx"Ru|" Z-0)]¬p-,z 4A!)ABRp`t75 AD9@Kd*j_ё*18.^Lq;{ovk KOK[Nսhryu'H6Vg ȖHן{?aG\"lZ8i@#Mkv@Iaˇ3suݘ͠;oh˥VM=?6=(qz52P\PHT?m6TqأKvm~zA# I|(CtT+5 ͌baAT ❎[fftBu!2voVU^oђ!?!&vSHiF?ٕ!E-M=VDm+ lEiQxH({XQAKpb=+77BWlxp2uoYC:}-w14ހ: BoYNaÈN Z՘8X cVc3qơo=1Բ17ߝPї! oxU4B6#\1Eey3k %gN DW hn 'G)ThA63^%=p5,uC,ZfD#4!!dEHW9M7LT^/23IS2=&rbT"eiTbP`_P`K׈:WV?^7^&cNftAKZ^_mlk# W.E5tf!aic+gHrGӝ$$5Ds!TϴCχlڊƚ߁&bLOv!+u+@ivsbUN 4֏yշvuugt%6ba{iiog{]iIf6FL VIsOq xK﬉IMu~$bb3rd?ჩ/J5Z|ynI1)xTc]oZr&S-ɎE٘G-ͭ<Ƹ',*. Id9d:KE&+ +,@Tn(Id%n`E*ۉbtZey2F'3 -DT4j|${B5Z~&Om{D^0'DDnOoTu0,SBl#/R)iE5awcPtH}t9 =W=e܍qM .xu-WCRo-<>>g'Y0hA`fӷrq*L|+9E[4r\jhݣ!%2ebR,ŧcbȍEC[ 4Θk<1D)\&% RE՛&2|<+cQxemh' K.'hsI'G@+=+Լ-am}:gS6beMM „Q->=M $۵_!㮅>}Aj>~^OpTY+sRGэGٕn-.R 53'XPL(`h& N|BSZC?14N g4b9bNF:z]γX 0zXY`S8*Iu0ҌS=k2˔Hd?g3j= u way9*H|j%Bu%.l6IF;xjAԬ±ʚߕ`/yBvp=DD; 'qA9ƩyA(pأ˧5y lWhXiϮ,z5c0bR=خڜ vWKoAl$r>w 0g+) =%,L8F!5Br߾WA V#zlPe=BM(…YxuYkyƻŘʿ%_ kiSA aɀhX W8qUwEm@mUC~oo492QRm!p{&M ;jIr\?S| s2f=z`W^Qq]I.g&r9JU[6tn&Q*XsԂ;-{>t!m$;jĕ+7|Of:ggZ"6\W-5VluM*oh$Ym@) WruQ pSm0I@z},*l/|bAsG%Erڔ6RNZty:7M4Kyi?|ti]bY/ *G]IOHvl %a ܟ*Nhk%ТɊ.rصU;xG5fT&o9fs*ז2(dD,2&NKON!-缈^crv$.;_q[1JR =P,:ӊV[Ͻ#4AdVm-#\JtHf{nugjf}ϙ[ l#O18D _E2gKX/%ӒjF\B$F%k*~ +ǜ4B>N-Sc,12+6 g}Hgiz9E `o>fENBYq68e ;-n@7e>pAnlɢ];?ZGm8@Ym(B#h@I8uZ锅^~nS}C)y8ZXFMdR3-N3nDžDoZn57 ָI=2+3w4ϝA j={Msr-*\ 1Kĕ?%xKY@ۅÊGTe99/_ϞS/`Ы{hX#usIgpJ]vtm(usi@?C X"]{HϽ;<8z7*#uʴy=EeIHYNh$G2z2$kuR*GJk֓8菖p7{??F3zl i0wGKPh_&2e_c he,#g*:eߕaF B3n!IG3 7UyP+N8>yR{ }Z/|7k[c 2ܿFﯘ" E(0Uޕs5dj9/Ó1uV#3@?F 9|# 6Lh|4{#Śm8ħi'{rmRPɳ[V~fpaȟE)l#찀&(wIXбS8gϚ {4qk/F{ɝk9C(I4x ^zP(ztnGX}#*,H.^GRYs[@ &퍕p)FY)#*8bLl%XMb"2ηyܝ\ gW\@ـe?yJR!~_X*ro x@@wQ4F+aޅxepSmk5Lw*Q[x q4)6Ds >͐_m'&SցmN)eqϥ.I36K.ҋk.u{?X}~_Adh~o2屜޽$w,Rz.̭gKK-#ϙ|l>E=iB'@,D%UhmlC{ sWma>㏿q'lƯxrNd:;XA@A$tom∈?th ]Fx` x^%ǹ#b 25UZY@T^gl zE%Ilcf3bf­ͷ1k A2A7CqmƑI:|!g : lxr.dOHA>3P(xh4X ZLG-D3`saAtV,: VNo@ÿukozv Czݬ1*>];Th Y`Hhj\y958,G}0X:?י+@Y!{<1}maP܇@gleK"ǻxٛ:( i?KcC'γ.8_c6bJR: U&t #}\{Z{UYfBAEhEbE}(OήhLfcҜqIEzk\=OĵNC54v[9[#~~DrW#-y$ ~Yγ2cz4^ESC83=X`je)ŵ9E#v߄嗼`pĚ\M-<vkC/E@TȔo zŐ1m1 )-I_YSNPa ί\*xCƾ@ȞǝQƃ=m S% #[`ej"3/L?A4A\_7&G4B咻0o-Oz8{w| Wi QԹ'h~`pw_ we(# /) Y.">dnjGMʟ)p'8Hp4F Tr:pdV F=M&򪅺#)"^n`ʙźur6LIt(iUIsRq&bba=^nQICr&on Fh{jh]hy. ,*V(EX&8 4&tN#7kR;՟( 3|ذK9{>}ruPF6&ny]Ǎ<ْUXl|@ƪu5}!}i{\Q*sd24Du 7I17R,t I} 5А8="lﮖ7u LB0LuWb9 7x4BG(|^S"4!mH bZr|rO*mj5@- %[sR'VX:=fOOW:zw c]9™d҄X;Gc~<ǽx)|}~FE >`Q^)jFt8^7ctt3D8 ʵ|N,w"avDŒO/UJ=Yy@m.DWp5?9uⰪ@s]d3E0Yؖ_ꮭAȔ1뢥7J3#Ew1ld1T~ #a }L9K`H>(<E ;EJ^&2dc@\% Ӱĝx^ 3FZcO/q X#}*%@;G$ۋ#͚*Y: !MAӎ~4l um(\Vt+C'ԝ-JJi*Vk %; .f@^S[p}]<{'0+Oz3An:nIP>wRxVIT7cGp/ɕW%.8%kdL'h%GNՖ] rclݛU:`H +٬G6B#R+^8Sٶ!+#§ڸKGS]+NQ94|Jj^ ,yj;P' (Hz NM IɊHN3z Y" f$'Fȥ3D5i߆rLI`sHx J(GX,k)/shIDkjb0Y}*M-uuEl4V8sƶ7_| cO#â 2XݽzM,UT4afQQ8㠢@F 0oh-7+1bEY.#1k#}WKez/o 6N6(WjoZ^Ae7ٵ*$N2k{~ v55FU3#p! EiX.{l0+/fª`O0$J NC9dX/D%6Nen%)*eb^l.1WurĐfpv QTJvmຄ:/L%q5+)():su71g)z{jS\"t:Z>njYf{$NWٌ:lFιNs΋ʬ,"j6$QtfU_N,vV7WmskN(=sexkT%ۿjK6#ARY`J#*q9Tg PKN8mkPPe8HRk8龷.4*I1pzZbL0[p tﱤ4!ҼQ" I-US1rsR6HUB:5Ɵ#"$H:{䠘n]:B݋]HśD:op0ꔋzKeI[hdObn4%`nDz/[o )zm"rftŰb*)J\tZ:4P)41y@86Sw+Iqe| 3_gO/qI%@=aqG SHW%x[ΰN=h5W]x1F"H'uC{QU&=xʘCs1!^0fڽZ]ǟ" 01EfJK.6mk\'pSqI6c=kM=Ra!_߃"骛٧ BȶyU};Lu 'X;/H XN'{lDھDaGMM)1Aƿج C㼸S~@Mt]ʰ< ?Oe[$.V 7HS\y"R]7gP+5Lj㦇;VHPMZNu(ȨR. f4䖿+/t P]_e`VPn=i.L{@QK%APsk0h1(!o_fX j\#j'p!6 *znsf\GZO46)[2+y(i x^}?ٲGiSFz~/މQ1?}fbUSAuӂ]>aDxݦŜ` ZE=hSM2 1yf==$Kwk ^ORVc4$]0aw4!z')ozTkpYZkLA(䎰~}G&} 蒑NY|N>C3^ts_Bm{uyS !"sa'69~q"_VYJe|HR7Sǹ Lo5 6`\):l{< RsL:[ɓ;Jpyq쏛YɁ_jπ9Ԕmge8OݴV׮{3PPΦ&J'ײmi6<+>\AW[g%]N0z!@^KRH^3!43z20KRCVCl|e|b @vvWDWN@TN΄2. \"P~1à2j4LHe gE^7t-Z;b%͟J u\7:G'Ms#ظ%+f4Ph FEFiͩXozg C-UN](J:ee5Wr_Kk]R8x> Ͽ]\muL3 U$CslSw?I6,e`K+OcEؤD~~{BrnlŻK.g09>>S圜9}g:r'INPA)'ČZ"w~:XMM;BoQXyNhU]OMTaL=0Z't8!uaFR"dtِiW,  %URm* k *"p٨oy&ްRX%[cDq)aZ u =_#Esh^\o)b׶'_ N=6y&fAIVSމLw2I\3 ]U~xW'f&_9{wu2:} g&ϟL>q8S9C8 B \ҒP'86x; 5f&Ƀ׊Պ窮.E_6YU^q*E ~uAnn>\fOÌJ,*NxD.DXAR5pPC!MQq j-˜6\3 +|M|Js5Q0#1Z #ס5)i"t)) ;0tBžp*} MrOh=pAnK q}Py 7+?$?Ps˜ 8Y?Kpj}|tZ9wD;愌{џ{G׹Z~s] d.RpllkF^(ZlwQp*X*ۚ`NU7̍ BR~C,4k7pLc#!Ac M1L꼏]5׸`+t@sB.{6SZ7׷i겋zcCPh;˳w[⡐*ݭHP r%bQ4j-6wޝ<_Uw'>~ KDs.8,/o |%n"6];f^Mqs&^eb_w24[¸_<2CG6ô@dI 4X[ rs^ªE䒦S;.<]6S{ ǵS4KtHٶ٪hbj\Iu]LLLmO>Pq T/j`\U>aނrx{:vէ#ÃȈY{l;rD cN5}P]-wc/d_L\jx LDdhd[_\ik;s7Ccy MSɻ.Q{գr4WL6W +gg/VMylvܛN'k1iE7~DsR.go|FKЕ(1%ؠ @Q,(߰3iyQ;GhrTt"1C^1^ɡD1 XIV "PbO#a@a<i*z[@v杊6Re*+zBJBx M}5FEWV۬l&V!|-?<\<BWHܐJxe% DNc2P:t|qsi~@Ai]|>o`쯜2R2ԖJIo̲ձ]Sک> +26lX~CQnڿ=\4~MPfID/](&A?[Skӣ<&XP?P֞E '؈0 /IAVљ&mJ 6 /[?]VoZB. Po(޾ˉ䀷J,QaVh闝 Nv6Jc1@gB=tQoRŢ%2\k\h\VFpii0vЇgK d JЉO+ 572֞ВZ'ύG.:NuO'`~I ^J u"y%J A9u5x"N~DYd[vq,|1L h,p,b]Mx)us}EA4sUj RX7?[ =ۮgt W ""9.8 "mkZaN흄'7׺3EAW[[v)L!zK>{#B_s [J=Q% #w'@o*Vv1ܷg<;9k)Ǻ }nYsQ܊%#=R;ﯨ0 \>$+!GT*I3d8r2Jt]8ky:WML2N ;H?f(>vw2is# 6l5lKX1f+S@a ֭J_ѝ6 Nz!M eYFmUMW+j6Si(IqaO.d~ E9! oJ1F S [j2K̡FV$9kx36 p*|.d]} SȚM^IavkFY$<]iƓpdL08e%-K7'7?rJ{tbdRox a$LĮk܄UfOha 7'Ym)KNr )("gtac88\"٬@Ж,W Fza#6 FQN6>9?P!$J<nٮ6 ֚'L ^ׇ 01+N,!lZT՗4J%uzٱ`+ ;/h*?;n7H%[ӝq!UMi4/~fq0MJ8F\w8ɽ8B}"9bIJ*H-> МQi`aMgDTrP0 ,̯^x`pf>)NJ~6[C]8q+l0= {}!#܊zϓ0`}MMr \̉m]r׀k Zmd<3q,(,4_FYU(lWնH"T# ٽ%U*+ksGr⯛H)(/u~LbϰS'9<o֤)ԡ1k? ,>܇$!$inM4Q7h]l5R`r̬VX K:beL_"rPqkjaBML%1i@pBWoy\sCgyZ)R0!)Q!y.cQH:B670d#nP.+g O|x:2Uʋ`P{2MDH*A3 9Rs%."Ǔ}Db}'"xL OЬm=zCS4>9炼R?4ڣ,e(QWNV?SU0qaNZry?6P!q\aE*!.kWӱ !k`W ֡ϣRkZAФrHd2d^ϼ:s7hhyNcpu8c({R P*.AT}ZHaN1 ;mPl笪9VkBu_㎧!U،PPTzd?CCf%=2:;%Kyb]vxBv v~Uu9.tz&ls0?sݽ sn+zLs"ĉ (XA"r o5v&Mk7S.&W1F:a&-Ekjw4?{D B菁1ĻT:>Aq(Cv)@"zKq>1x^TݏeNo?V:ہ.Mhm X%C)pb`aqfnPZ)v5$E.R\PƊKDd yBͷUIb+`#<,L_%Q\(X iy0$B~JdqFɕSͯSysBksrbiA2bShtp) q=7_hB_!GzSbͨL4dIawP1prAG&~z~29FʳW2{n䀉mQS"S!ީW,2%i\L0߬ Ebs =eAq֡֠+ƘօR1s~]Li1?wA:[qB{Ți7TE`@XrF6lB\I@\= HWK{ҥ wbUGC0 `*NĞYlbV 0@VQʬLP p)j{w3= FL>k/XqHqd*= AHR66aeN5 J~6IM߻d-JH87cUZHVLbLx|qac+CvsHEdg UPYAbĈA g9IM_< .zO̺7ǻ0NBL=~bF^/r\{Pm|"~v yWHL4p1^LВd() ǂS'lQ/ QDpθ8D,%\F?$Q.S/Aؓ՝?=Gb ~vV!e.R}vT1քKP"nkԼpWvG`葝vbjAb(ׇ 0+ JS:Fɀx r ޢAϭXb$& k>=̛ T.a (QLԌKQ~Hֳ N'M3դ#.&X tFA[ޞHE';fر̵>D(-|"߲KUi^Y NUW9ޕbja\qF~ dЬÉyGEZuʽXGF#䕜)႞,eFNZ&%>Q%kB}_m`!d[1PYۖǴ_L ;>gJ܉U($A+$0vg%@f<4y !?wJ|+Cz y6ih H's*Z{#g#eB)ҍAG`c|ux[r)K ׳;YU}`ZjNzE `i_g>;ު9%mlEpNZ=Fl62#~eh݃ҼϽ4 &ڀ^Mb*eF1XPߴU;$tXz47u9)>(Y>NJ5eَ)7j$jU±Ҵ/x^2"!$ hU-DY5:LcEd0,7< aT!"gvk _m_Sö`O*(&G_oEܾ0hfj PTv'ꪈU8="c;%7_+ALU I6:>5eK4b{yʳ%Nv۶fuB( 9Z H'[AlndvXCh8k&q:ANnRVA{h9 د|`З )R*q SŕIV/zbl _wBwI74*O󵧗ѳdz^!`XsOk"lK'/03db/spىi5$E 2/ީrN}F3m]RW#Gƺ[[y_ 栎UC36K.濋${Dt%Xh2j`:Iݠud4ԱǞsj VWrZcgK%6 TzZ SLr;m0,o-jK&qc~V(C- a9; cuʶ_$hn^Q8@Q5Mx·Y?( 8$A>GE8@E*T T y(MJ"{]pU9aU I cHc`:װm9R Y0oCTi7ss%Dݮƚya0Ь?؇B(-4MYyGdީg}H58gnGϲ2Npl10'-'G+f/'h\`=23`CvSN +\=r.|ф'Z0vX(%H>y%#n$5.qٮxzf5\"toMtlSܦ't~]/utZŸ15GW-l,!h=XO*WQ9p# <jKQBf'o~?l3 kȼ5$^AA%IlHۈmW(͐mE,ҽCDN={ZJ]x[k%#xw*Uj^"6iLe.dnww>B0M&GutYk# r@܏,_c^>") ':/tg\~pƷp7FhP&#]8E B㉑/i4 :/R%38qɆ. tOji^!^B qts;f#XQ[{ѬDEv!apOm 9[Ε+ZFgroqZKUfS/qZ>iӯCr0NÃ`fS#Z6VC 9RQ_uM.},"8i4iKdK4ft2pn{ b-`KҞaT֪0pVHFqYaE{YSKON mӰ{E^dG)yLY I<P<Ȃ^{PzK\dyXx6֤O#.'-_ɻrDMSM^"܋.y.kάUI* mt#z,LE"f2,CQ]/zg'HtDiO(6`ٹޓZ1>h^6DIO\W|[ ~!ہqӓP MO8nG\-c#,ýS{O_N! W ˆ5,˼&+d=qx"0OƥqϞdTY1 `?F KKŖϡ)gHy苋LMT򫕋1t$êpu':dIܭ%0?6Oaq,WaʼQ6Kj2}'JfS5MENYDUcsvf60wc?fhS͘]ANlՐ.G7 e)Q[#gKk{ Lʧ2nxٰe*$:rRq* ~=5tJ+#)1i %LՑ.՝8zpaF]r3ÏbK[6IUq*NA~T/vwߍ#REz~P;nMpЂ32d(_c#S_ӑ${cTPVί)ǷyCömĒ>VzQcM/m"aY˫jDe"_!Av5w|$X?T2i81+{DҰ<7}b DL+u 0!z'NS>][ҷx~!a$7=5`n ۤ ! wNm|:z't/qZъN@c%B?aQzz4[̛N ԉ}i rG̨H 79W:MuˊWDO,1$їZuq4,22:jl~͘{+uksTD9AnEe;Ѳ,sm뒯& `58<)1"~E<9'a42ԠFkJ4ZKгt.Ψm5b #xp3k5JDkyCz&؄ޒI mDpJ ؔٷ,H]#G<9&Źu.gY1R06,VKu+dff_j9(xc0>z"dzR 1ٵ0V"% X|0wWKq[E4XD_Z(jp4 -_](bPu?:JdU 86[VSK‹k E(z$VgVF~ lo颠 arF5q;L^f?1Zo&D-mϾ023~BKmDlg%xFW &”[MZ3SǎF\p Bz.,H==!Nx0fnڽe4RM PSP,'gݿ ƍ6!;بͮ< "_Z/ 7|YO:./a'ǣzdl^,5q7#'g7`+|nDaw_6,]S l6 IP/ "?ݚEٍߵYbS?nQfN6|:[[}DtX< 5UgkeF^ZE{BptWs>*nM{u\Pz1at=:Df̀l8 2 ^<8Hx%/Ad%j"M{-.bTkOEE;B]{T:xUyƿ; UU/XmdOB;+X򼫹+=Fd o۱qL~$)ܜ퀂Nsoؠ0&G ސ7jgQ[NV\&t=>DleBg'x>0k0Ӂ`Hiev2fxvcDf Xy o),pa4hS4 O:d.G:.e RJ֔Af"lW VVl`vpT>Ph#Աatx-yV=tA'BհME.| }(-; Dy leK)nj%0__ϔsƄ 5>!)m:ǫ/ZNJ5; \/ GndÑW #_xo[f,_2|>#ZKh(qlC@Uǩ7i]21kdkLm:Sпߐsgc0lp ;+׿|v 3$9;8QLyPD﷋ anCS OR6ay~yxnO eȍcQ [f)@G|je@"S|myPFProFuZ̞42ufPziZl7kh&/.1#O`mo)n+[ iMZ3{~MKWIv_VbъRWdqޑOS)5PM+lR^ۭ$5g> /e |Y DLRΉvgXݟegs_? ZVʨ|T+| EZH: e*I ˍε(u1l6Q Us[z.\7X1BRA$]v$փ92j(lh깁ٔ -5$Q: ^g@HN2\mFV/&VRX 𯑡z[s AqIr10b6)uf`5U=K,`&<T4y+):V[^]}a}5q_;Q.pix "8pV6Y*3 D)Sx"7~Ill.bCDn:sW_8 DҞ{q(ﱴj;ըa \R>cըyh>hf?ϩ+w+e}XC|6I|޺2֫1nh=~9W˴%@Y]|t6(9\Nb1>0Z 45,; #pwt 9>So5]7L3q %/ȯѺ>z}xKf o*-(l[K=萞+, Yieap_2ײHEˡĹ y/n,^~#بj wTv}e7mլuԣQ>/M,侐 {+r3*ǥG@Ӗqu_EtZӚ>sOtLEfvbȟ$W^8:H7a¹|zP&U*5ăuLx\(vU"K7fm=S* (ߐ .YcM7/{K Z9qEb 6B%z_wQ?a[aGP$]sÓտxtf܇UIY; ya68!bȲmWui0{v'THwHs_:1Qa^$|o% O|Je*4Ñ_`E @c-]P%  uٔ&Z]AB̸%' ŝѼX iFg*A*w ΜkbH=26IiE}9ɮvZJHm 1TK\( 'Y}JھImw.V@ 'Art?`a{lU%bZó(ce7.$ $0Le H'[U*|f)zht4#F-/~eBǘ\[)nQ)Jϥ`pVPjʴAT&V%ynVHhO_RW:ՠӖ.pNY-Z Rg[ )$?`*?"m͡P|i#FZ=pyJQMrF)+Ȝ/8#$`lw D 8HC nRLpsD߭P_;{cswOM2cOdf 2=ru(lsFq[mi?X_TQ?t#IZ)@+^ @m0=.‹4È9CB\闛+1KEĆ)`$b^\[Df>ec!2=ȮWLƥ"&% ɌU`[`?EKѿ:,wVsľQ01E4D `P(0Nm̥.&c;WҬ˻y~oxmf櫃8Sq̏=-Mst9 6j?' Vx8U?:<-'Wr$W63P:c)u6~Z Vۉwsb:.Y%5(<D% 5[]TSGö| e]|#=H xXV2x;(bYHEҾg 5 x7}UY b}A;e@jo02/T2"96 4C}u3 E1S\N!ƪ]F>ȃƤս0|׻!׻>jQ0kWBHOS ,wR*SZ|+$LQLU׆.A7|@oc@TBY em%<Uqh>}eQzD8KS ~M;&kap홤{ yiw&ioϊ47A")ݾГ#G|D&|F%^Ҳ DΒQ)f\xrϿs.1^Jޚ;zṊbhS@MYhiưL zcsP 3LقF5\CVY kEZY\ "YGK}?y)u4gYx]v$4q\!HPUIϥ# (t ͩ}xy/L%(c4\:l~rKdmٱStuz ;ұ d(H˼7]i:F!Xr?lail閘 Zm5S#o!.{bs,\Cܺmr:4N_/Q:J-/@cT79G/ sBۓӆ9\do&">i͜?Gƨ;8S;?9F@1sD pIt½kp@Be/zwŰ0fHFߖ>u㎝fb 1Vibwrn\]Lwj$osh"đ=3bGt9V:>ו$;aJ[UcCj+G%K(pۡóBFmZa4-\N$KN-xZ9xЀHQy;,Dž"/ 6(3h_ǢO,(!uI< x'ӕ. gO4˴dQПB[ogM9&{匓1^Nocm~Rʬ+K34p5oç/ւu':QqbceݠP(]KE6tojRx7a}H -z7/wjZ:D8CNXvV&"`'@%.ZŗJ`߼shvM@ziAUUIi|!P,;CD˿tFQκbL Z\# J؂KS;;&ه}y&|*)U-bZ-PO,,@S mJGگ&v0KaVoޅphOQYe!o@k7nfZE:Ǔ3m,qI$at`*ߺ-NUTd9PfP~9ݭ y G"zʯ>=B0+ _jrFi/ $lӴPpˍ" :8ʀTF'MW#<^VJ}CPy'"H +$t! ;4=\v{1ty&W^h6і)ҟWOT0VSlx )xn(H&%Ht-PԔB ,μhl 3'ޡ L$tAVC3rNzqfBn,Ng< b>TU_wR 쩃 *҇,:^ U*DS Y6yiq`*0LR|/n*#pudER.qoW hO1AfN—OHã-f.6lk9`0 /f+Pԛ?|{8oa4FAfk+ J2V5yn Q>uQH)kwFpi汑c_k.aDǥ !f cKyx3и$v]ЋMed, B oV{DOM+vA\w`s5Zbߚh%aۼT:4/)Ú$=߇l{8k'̈"/)18JG"}EuV`.SNe*P8FҡyS"y>a$2ٷ+s/HILsv?Hvzn'UUv5 [X T[;{Ձ?嬯9ȇ]Dp= ,wR!fIqmDZq`ZIcCv8>ع y4O0|Lt O:ϾF@"GhG} 뾏-$ N ~O! `a{Y7ƕyR=JƦq0B' Hl32_b}_NvCۭڦ6\8MN4"uaZ4XxQfP+.!!J0AwyOer3υ˨0}rDMZUJmN^TC4g@\HpkEETA|pwdEryi 4MQ zaA4i:&G ޣ;W d˙y܉ݨ#9ȆkW}0ug"{6H^Qc3F7o2ݕ @' - pEO+Jzbfdkd*uyTϓfH N4G&[No>ρuݠH>L(&?Չ,s 4\eSUwzlN(VJqYY^ a?-)|&jW /ȅ ܥ1!+xkgikuف}h3rɍL—H'r- Һ3`;%$ 0LF'f ry`ps#z1r+3z1ͽDdd]^zoi]nGNiuY|Gj: &t-Y o^ g@G

ݸq[d,ų, }ѪQ4t_|l[+}:׾٫)en勷?z&=  r~R `~3)rw ea O| H#%^u𣞤h:Vͬeά: W6x'>Ұ4${%<\`d)vK&>AX7{&c_sN̞\O}IiʙU~7ɳBk~=IGЧ12XԈhҹG6TtJxS2{DҋmQs*_%NUR`=ioد*U -!wLZVD $J븀!46$m pL'(@12اgJDmno*DZ82$v#\U&U+R,H 7lӏXWp^t ]e'ջbUKxw]ふ~# `L~ڂ>+XVϸ9CK8mOz> /lFڽ@w9+ou:<Ue25ɵs% 3K})_t+,o6 溛ը8] \X<ϛ^9t'YnBă+ؖhJ6qٹ4cga^̴o&KP@[snPAˑU)׾zrgDOǣ4jy{&Ib%(Pŭ68N7>1Za b/Wv,*ٍO[d\mi!+X'Luczf3.ZOX!hTޣd-.L'i 3":,CBۚޒ']i-6{@\Im2gR`1$Y}F#|}My;ɜNupi:dQU!s6|pt pou N?; ({ HoF" 3vֺNe*PiLD675Jzjx/KE1_4q1d:7 a!ѪJ]Ɋr SoU k~fP0UD!wmHx4~~8*X6vTOu t~l?a_Puhyfۨ+=ta_4߈)v<,y Q̂XzB!jKoFςGr 203n9-ez\;&ifvHdI5p{{: x2#pXB?MH'CRå]ƓEgϯ5FXĸGRzg-s Ӌ}Yz5LE3XݺE?ak=1r!fDd/DF_t̅uc& sky˭-4C-ދlMQ dc&(ݛ ĭ?X]u"GE|؟$7]1z0i$:Pɋ=vB0W6#Cu0U5٧Q#BXvSnQ9}3K3a:X*R$!úkj曭mW,]k'>+,TV5J^,GG.ׇzֶ6N, ZSvo$%2GC ! { W Z2~RJMEr)YdGKWsNR+|*C4ր=lN,]lLZX/jg[q>?N qm%~jX 49w~ҝZzf}8~G\ջF Dzy1HZ%ܰ^ 7W]?ipXdR6¯&h,nn 힑JHv2-;ygh>+صO1џx_,"0oղ@3 5vUUtNȕ&kόje7/%bvLOU(X7PfY^~&3\K>&Dg#wJtZF<ޅ2koyuOi3H;j}\`#,Nj|Przӹ JB;i_vְ8{r!yӡWW\ر{8ED2t%m%< ^M{%R%&ktON 71`pr /TI0θ>[ а i(_} ?d}-Ԉl4N3GiZ;5]le+Ԝ}Hl:AN t|x 7?9 KUWH6+pvU3.N=)x>\##SC_C1P +a𐹕Q>6?d8R%v>;*\.Gu(4,:ɪTMZfb KJ{5 l ψGp^2cH.pD om L8YaՀƛŗ>0k Ffh,Q x"BcÑ;1@4J.d8,#|95=OjF:&5Głp Ihj&I5MzF#¦)ā!otrB6vZw] y}_ . h|'