rspamd-3.8.1-bp155.2.15.1<>,$eI%z o.((_^6iZ2|ٓ E=>, Ү5 x&:&t$ď8J3 6cW_r3DJ!yLHK T١DgY`5|Y]w\s#Q,ױ0TeA IrDX$uP>O ?d   2HLX\u~   L  \ #  4d@ F(FF48F(G8PY9Y:Y=>?@FGHIXô Y \]ʤ^*bcdGeLfOlQudv$w(xy8z|Crspamd3.8.1bp155.2.15.1Spam filtering systemRspamd is a spam filtering system that allows evaluation of messages by a number of rules including regular expressions, statistical analysis and custom services such as URL black lists. Each message is analysed by rspamd and given a "spam score". According to this spam score and the user's settings, rspamd recommends an action for the MTA to apply to the message, for example to pass, reject or add a header. Rspamd is designed to process hundreds of messages per second simultaneously and has a number of features available.ei01-armsrv1IJSUSE Linux Enterprise 15openSUSEApache-2.0http://bugs.opensuse.orgProductivity/Networking/Email/Utilitieshttps://rspamd.com/linuxaarch64/usr/sbin/groupadd -r _rspamd 2>/dev/null || : /usr/sbin/useradd -g _rspamd -c "Rmilter user" -s /bin/false -r _rspamd 2>/dev/null || : # # cleanup bad unser files from earlier 3.4 builds # see https://github.com/rspamd/rspamd/issues/4329 for the details # echo "Cleaning up '*.unser' files in /var/lib/rspamd" find /var/lib/rspamd/ -type f -name '*.unser' -delete -print ||: 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 rspamd.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#systemd-tmpfiles --create /usr/lib/tmpfiles.d/rspamd.conf ||: 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 rspamd.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 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 rspamd.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 rspamd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in rspamd.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( 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 rspamd.service ) || : fi fi==m&"jtzX2& -y  s7 8;k@ &cfTfe 2er q]OT'$5$-oN M >r{y|nyj S=L;L\/,)\[Fl&(',UIEz*'/;}DQ+JGAU @"CE 9 E <0-P18M( -j8-m$ U"=F/ 1AJA|@% XT+|tcknbocfXd{TF0>Y6$.TacrvbdkA[jEApwo=ds.2&!#W JBK ^@  ]Ba & C + zF|/Xl"C+SBW$+e/"{8x>Gj(R' CKi@L#>2Y c*8u_)*7R ] RA [ #V'%%a;2ot7 =f0O?OROJ-^ JcD%JX w rm$Ey/K^": Ò}o5.'A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee58c231b4463c51f3bf91154abe76d5caf51fa26576ff6e533666ea34d93d72efe81b59c1c02063d4c26ce6d48d02359e50a6e17756ca9c29ba298c9846be85bce5c0b13d01c0da7dc39d98d0be5834401291d018513c75745a834a4b7a388b639b79f0ea5ad8f9809173fefa8cfa74df5a79d80ea6de14538e403de000a9f29712f9c1524bdc57401b9fb8c84f2cb33c901279c7297b51e972f9098759caba1145457a9288403ee992d98544679a5a5271ac0b7132149efa2dcebb40d7afbdebd7af7a3828be0b6843499959a38d9f27a72a103c8316abf35cd7ac5a3ace5f82cdc77bc7ae48391408a1ebafed9c8468b729503d040fbfbb366d938e486f9a4f9cbe941f116a1254d843023d1c8278fb6accf6347f8303615ee2ab69f557e25f896e4d1cb4a087101e44ccce31c69665bbfdf1f3bf20f36ba68f1535c9c47858b3e84140ff40ed80d38624c6b6ab406aa6194082889db59327e672cf76e2d537e7bce8e3b8424531c07ff0b9e8c9d2adb808c4e635a137d955d0a3cb34ae11d8b10b9a4683d8ec31e7e69b712124ad7b5ffc2d6185b19d2b4bd2f033aef571aca255a130271ff3c36379a32b0a55a348437e431453fc030403b069a09b161b03152d39c6d375515395e9c792277e04b80ddec419a58099a785e74c2cba7fc69d7d27cc4572c81506fbff22babe7826e73228dde6ee8f34ed98ab73b59808495a4066bb08428abf51703f8c1e6473166807232f8009e70e1f278b632313b1b6e618e025eb195c3932587ab1c8ae580206dd8b6b23a9a7b8a9c3205d7b11c22b57cc11c523ece620f6c86975caa34c88c0321bab87e977eddea2ce1dc241db1f0a1c7360ba025607f990e560f9ad3ec6eb649b50fdefe8437326272916c67f6322f736b2b35cd8ec12e0e0e56053c4373abffc1f3445f5f0a7c24e8dd2a3cbeb5c67c622b50013595e6f5cad339a164a7314fb61c01af606eab2aab76d4ec268f31875cfff33527eac367cb5bd993af8cbd20d76e3b99f486a3787a3c5f73151c12855ec99cea46df564336f6d10163904cbbc93135f9de1b1f7f9a47758a2126f7b1223108da6190823bbc304aa6a5a1a76ecbbe7fa7e2379502512a8f98e68fa19a53147e084679ccabdbeefc3e30f5f21f0c09330e373ce0b868b881e5fc7bf76b1a52b6c405427ec16d59fb179923f405ab3690eea302cda13d1204f549b146d9a11ce78c5e66148291a76e98bf5facccc72be5eed66cb491d3607d0ba3949f858357b996f3afa77cf2308a0db0938d2a265b0b4bc8a5a1fa74a744e430c49b1d560e0a7b8555062a1cc8c8617dabe51e775bbb6c68c7786a45e1b16e289b7d50880614a5a3ad6918ec30859a65be0e550b5c46fb161badb15a488f51772b2143e60fe84a9de2e7beca79f780918ca12df2b775e15586c2ca15ba75364113f391e0616f7fc1d69ccd0102359a3156f7864d80e5ad8d575e889f3c0c80770c3665ecf39f5d3ebdeb44b1a1d66eea014f2ba32e7880e890eff8a237883ecc9e58e594d0bc6399d09e0d8d7ed5061210eaa185dd68b86b7b33172ddfe8c108f8de7af52a500562cc9ccf83ff56a248f64e5ab0970f9abb5615575f3a230486b130361eb223b52dba3a2caf2a684158abf14011415b179751541c7e059fe97ac1415660ed8ca4928d7fe4f8c4977ea70ffb1812c0ba3bb45a6853ead89c17aca94c2e38a7729a8bf8db86436a9e9b385945d940c3c2743df4e4c2ef9f97a5a35d5527f880be5215e1ddaacea67ed49de9a375975fad1c959267b01bb97212ca2b02e38229443dc9eb6873e51d2b46e2868bd1c4d78dae17f5dcdde0e41a33a06951c5ebee3342920086476f994d9ebfcbe2638bf58b76444c7d721d00ec8702b15b65c40974a312f17518940a46d91b1b72d932d3553e0c63b0121dde08a9c1be16a41116609cfe82ab77d5fdfbecb3a6b408b5fe9ffcb9f33dc2e42fdf01361cc0ab17af1a3ba1bf014e08164900745364eeb8594a32ce748a1a27ab11ba096fa9962ee910546fad73436e89c4eacf5a067a4e9cbfc6df83f977d4b3eed301f0e258e33fc9869b77f9b4685cc747e29de2b8932665437392b322f6d500350b38ba3f0be3a0c664c81a0acf204eb45d9a47e68d35db4df716ce81cfa7e979229e9574858291ed987edef5d460a21872e71bbd530808740c881003cee9b925da83370986fd4e15a910a81249c6c9b985179e4f8d00a0461f52e210ad44fb0a0492f926f8040dd3698ef11769693d66ca7983b8edbff2cbf553fcd0f1420e9818e1c19065e7a9408748f1bda99eb81bf460a1cb07649fac9fa5d8e187bb4c4073304bb8dbdbbc3441937f86e66c1ce7239aa8c123fe649ea76b022384c8f25f0b327486659a247ed3691a2246d52fce65ceef507cd9606b7f28f20fa8b52f6fbdc2bc0f8bc552acb94e7c093127e4e532d317237dd2689842b6c449ac86cae3738aa652f1f559e2b0437d21238e378cabc6f55d92f36ed8cbad485fa0336325181993bc4747986cd090094e9fd03f63d23b750af592132f8aaa40b3d5699582a23bd06500df008a13931409d655c412675cf81f2a0b92f669ceb6c56173a4f959d2150f95352a8038165d6ac0fdf523a212c3f9ff597854f5dde895de7b57fb50424e7aea4a93a02621e199be606e11b647e77e16eda6605197f6a64a20f9b4d28214b550aa846b389d74fbd17630cd0fbf4d47daa6c076ae21e54a849705ff99ef4257f4a90da5d39f9d2be829e58ea1f0e0d2d1c57d499f0c7a1495404587aeabc14c93f8f0386d1f6718c75568d875b3c1b84fa95628f79050be33b302335d0619693439ca8e34c6c5a5725c64de7fb9d97ae9ae0571767e72f199009f62b318e60f513ca2fb92f20187fd408e74e5d0f44991f86767ed0c7c2a0b6fb0a9433729c4a9285d689c2c5993275d1651d0300e8459af4465f5b3023545cb9574431d8add2e07a26b00d79abcffbbd2af8bd60ff531214ef4f0dc7f30e6bfc2b828204df3abbf9abe92e133a9aa10f0eacc88466d10e169ec791aa331776ffcdf798136533b0297e98406b94a8d2cb801e66364ac8ce96491687320bc1fa8b7ae14774314c7c47f6c7fa6985f3124bada8bd957167a8365c02550cb057e773dfbdc3e20109edaf290a915c93675c061f2f1d12ef4e6e02b366b816c366fb9c5b10d340b88ae7e7822658b2caf4c992933071ccb5dc3c73346cce767c8f6320427a4563389d8f71e57e167be36e1af1e77f941522e4829c239ccdb4741b62048740b858bea68c8fb1516713d9feeeb806b11faf3d1b015eb38294bca12c57a67a9424e206ed321ac71124ed09d55c3fb16c89bf4f0d53f6aa1cef79df4ca60126adc4deb9915a627f79994850446a8a2e97bf28eff9ec3172dcb37b3fe61246919505d8dfe6cf0ce2cbfb4c222daf6157e2e10f9915bccd8808dda858910940ed985c356a60b775247b7c44c7fec99e07ebb94d10b2fbb2b9e487eae53bf0a2a8779449d6a0d6ef8b0dc0de858adebd93b65314c9b109d50d55ea613e3501680d158807974e3f4fffe8e999e20bf5b60c4c97069d5c87a3501ba7ff1f81c7d0b5ad9bde93ae787ea3d492aad4e3722ac570b7c6c836eaa7e80ab3245be5db209b0208e51827ade6feca7fcb7c070c1fd86d8454da29a0c36c46394cd6049d67055ec934f9002999ff4c4ac26953a2b9ee305684fb7cc090518d3858fe331c04aebc93a638350b06dbbf2fea9ac3e2ef39e1cd8eb07e6330f167102e228c154584957c49b5782025876ed380a4cf6ed9834fa3536a047c840b96d6a2b661b8ceb902b2f2af6a610fd8346e5dcb857a900d21b75cd06b39c006acbd87cb14e449755d55044d7f645c8fd78a3a26caaad6d88bc32be7a4ef546cb664b867f4670189fc054418cda11476dfeee8d6b27ba695da30002b1413fabf5c70a645cb14ba1e445e0fec57091142b70d1cfebbc72f492ad7cefafd1d46ca5a7374e0893102445124c7b65c891f7705e2259cedfe8afdf7e31d595fcb18e4bf0ba0802436d06e7960031256ac34988816b8d5ab6276d91108d963339e8f065458ee864abebc235dc5913ff115c1d5ec1a911183f7f2df6d51c5af7fc7649eda3b5d12d21f07afcb34e34eb55a21a1d62e4aad579146554f61fa7d94692f34a68b7702ab1ac7b5abe5cc411d9b8fd69cd109326b709a316d22cad85cbf64f6c4ce6fb22b612ae297e03248ef8fd49294af5e6840ad8b47a00a8e2a0a1b68e568c98d4c4b66f7c8fda2763017df4a76db5f01c2b99b603d88b03106df13bcfe18e67b7c13c2341d3a67df5a3780c052db28dfa776530ab7a20eb87f5df1d8f0bffbddaad2d52a0b6489b56ea9ab37e1ab174bd55efc1a0769878aba16ef2e5dbd7222385671780691bc9bbc3e576ae3273f2a161ee4f2a15752270d69d9f9904a03d6940ec45d5f6360d180499a9704add27fed089331b22c970e764800556fc3f1d1662b705c2e58c51f80c8232c263ae3b955e91fe5d843e8fe3016b833d04b2222ae3066797fbca75a9e8d1ce5c703383070a7ef614a657956f3e92b01c2a5b5735c77b1224ba933a50b5d74a7bae5ec029575637e80a6777f5b6c13105685c6d44413a128eeb7df069f8bc90b77bcadcd059f4b9117e16ba4b08b1ab77e51a863b24f240fab6984fc49abc8fd2c14e59c954e0f6af0f3813999c03aedc1ea36d8d95ed3114fa032628d3fbffe47dc31a3a94621287899ea4335c911dac5284bcfb12117631cf723ae6dfafef5f987414c5978342de965827300bb192b14e0441d615e9fa8e36836cd65934be829b8d957cce772813fff62689ee965a15b4590372ec0e286a65b44e5e395044093757d82afcb138957d06a1ea9361bdcf0b442d06a18a8051af57456a26394f7ede100ca118eff2eda08596275a9839b959c226e15439557a5a80742fe185d11a49676890d47bb783312a0cda5a44c4039214094e7957b4c040ef11c7ffe63fc6d06a65cf3f6dbc82bb1288712be5e5b35de0cd12c972f18c0c37debf30340cfc186328272626b6cbe967086a841c92e5e8801abbfb4f8795163a4df51c0deb49328bc90a609fad6efb3454be2fb50244cb349bf17ef43383fc62cc0debe74840b6bf4c1899f9aceb315b643d3011856c4fcdc34f3f27007b7fb5410e2c8480eb88116697615a2f1d5a85ed119d9fd7343927418e5aa92f4a79b8ff658e0c00a518cbdea6e9ee9214ddc5bb5a4370be6133f2eaa66377f929b4617008b4684a0ffbc1c796a19f4feaaf0f28d379daceb18a3909decc75b1af70ce161cc2e81cb3d2836e3ada9ff642e4ab0eba63a89baae3b621c7b29cd00cde922c2dfac806314a06b98ab31bd15110f195b4abd28cfab2d045ccc1d02bbd4d0947f8b14f0fd9fda6bcf65fab2d6cbce247aa924fa651b25d8b16fbc139996f48e0433f1ad878ad805a377fd4c9cbb57eb68065424f6e0dc41d5cb9186f617890b1ccdd8ab3a72723a07011e3489c16e93cae3e78a90649a27ac2e2742ed96666d38307637a283445447addc42682eee5371fb259808a7e27374ea2231450ac9384a99d1f61fb9ea91b5c08a699d698326ab380d761442c0c730a23ff9397d57b41182f64f62bb03c1bc1824b0f9c9e05f70dba33e146818e63cdf5c306c8cf3dedd8f8e5dfc3033b01c31a5e053c703b77d2ecfa2196e2a074ee823aa3da45c63c463bdcfd03071822fbc6b835cd722e6bc233997c29aa5e2b113dc0213c26d9dfed6b03aefc9f6c44c7bc78713679c78c295028fa914319119e5cc4b4954855b1c48c8fe3a30eaf9f68fe2cffa6e60922890abc6893f1d6eb73050cbcd84da6d9d67d08e1fda37af001045c104d9e0a16175831ed9e6846b82a31afbfae6c678617e3426102be7a60c313b84f21243bb0897aef7b2eef892a818308d1150eced7d47735f7d090e254aa68aeb501e7c445115d45d9aeeffb18c74ce82747ebbdd0cfc9a93dd241f6b045cbff0481cf4e1901becd0e12fb45166a8f17f95823f0b1a49101129a234b8649d8cbab3f15a22d08f2dd2544a0caff0027b21a182bb010b02e8133178ab0a4002e6b3e9097df0a98a63ae043f92782021ff09da186f718e39164bf2eba34d078ca83950b3f45cdaf03ec315a802a40a9445814e80b87fcc4948c3fe4b57cd92118ec7b89deb99ff0eb2586a02c5f454df21c1ecfc144c81759e3d482634bb0a6670d6cd10b9bbea43a3cecfe658c7984d39d9ec8c0881cc282ce8501129420df4c9c82943184c5816677c5ebfc7a35bece70451ebbfdcebb5c9255121e435618603823b720f83993db992468bfe7d0a5404e3bba7da7ef2857135ba8703c8c52e241228ebbf5f04e1d1c950e6d8111dafcdbc501fd15340d6456d74ac7727fe28e55b5d75a2612305b349a49465b24b8d85df51376a4b64b0318c7339767f325ef6e969f0a19f50f8c5f8e242fd2a99ef99fa2a115796275005c34b09abe27a541752a01d1aea53175825bb69a7de5ae35773d334ab489c7361a9e1e7728e54e00c8c20a27dac19c3df1d5adb26916b3e1fbc5baed406ecc4ace3e08df511fef01b15339e209582d8d300926f2fc33f58df3ab8ca7b3de751029ac1ec3b544317de2748766f83fe52085f0e3f473e5dc957d48bde9a6496b7e89363b4f54de0e572f7ab52941e03d58c2629479abf5c1636d37b5b2994f39704b3feeb3db86f964b540221af0a378b31393ddcba1418114e5cfac57763151b713a1424d874d303660a685a1a8b962f24d17870e42b525157b510ce0324e3040c34ea02a5fd2b483917d26ab8084327f649cffe2b9d7203cb65c4926102280690d60fa7d0f97ef7a2a13f9be20399747988aad2a890455df34c90eaecb9b4bf6350a5ceecb148d2d43ec3c9e730e87dd996fc36b4cf74030ffee5c5fa527239bf20822b13675efa282448c8faf7c26b466e0eb0855ad6d76eb708c2dff1da87311c29a0109d47b33e3c5940438cce55c02e90ec558423ae593334aa80175b47f688229b65cd7fd860bd567ea69e16bb28a5c1556379509ee638ee4f94bf9714679aee9e871c3ca595a028d0abca1c0c4b5ff68a2ea5acc68bb649fa2a2a3a89a5e0ebf7fe847ecac283fbef877658efc901639d4a60774355f034cb64b0d2ace3f548f42a4ed3637e9a05c7cca94a2725c8eed08e5dbf1168e20c4d672dfb95574d7cb0f11ad3059a249ae2dcc9f5340dc07f3db69632d82627221ed41f02fbd5854ff907c13c1bb0b357cd2cf6c6d0d3571b991c316749ed824b600edbf2a800bfa04eafcca2de32f70604118d78c7ee1cedbae4c8dff332260a791fd179fb6d92e96e8ef3d0614e0da360b28a67bcd97cb073805cecacc0ecc9d890a9287ba2a9d9c16eff94b037711202a776d3546bd20116c9881be72095217b0d7e65b97f37f3f9c444933c31c068551299f04e291b3c4e66f3b06e3b1ee534a13e31a6de68d1173c027e71e41848179f93a907268bb9cb7bb9d215e5ecbb455373ced26b3833d33a97d764aa98e5ca12478ab5c39e2831482f4a624c96a5f993e22e00a8b0db7cdfce57b1dda23a885cc5c4428ea026da5897cec0acd8fa3db121b7b37392dc92e5536e9106790456a290927c6b2c05c03baf07dad6e4d2bea953f78116b33efcdc664395bb3379c657d684c12d2e1969a5037aa96c620baaf82c2c245de1785f021c617ee2a69d8b6104b735407b6346c9cecc827486fa18aa0e2999e458f9ba19a309b4f65d0d4f3cfaf08199315833c19cf1825e4a198218547422a0ff57cb022f31b3e68ff2a89cd4a1bf8e5638915c6b0dd508a816fa21368e440ba3fcbd9d49ce6c73449e6607a7ff1f71fc14d09d58409701950b8012f375c3104b8e789d0c5f52c47e21e13c342ae2585aaa25b95997bd71cfd7f130b2a96add564a4ea06899e760419ee0cbd0d0572b282901cb9607c43c02f8eb7a0494e826be35347f308f267431948ae6636ff95b966315aaf01ffd70c6ceb17b722403a812f30dcc4f20d0dd50cfbb8c972a633b78de3ba8d9db7fe64d8d4817534d9c4a1ad04d42b5785f7348a8a5b4f18a72a7b3ec82e76a7ac6f1c2f9a309714ec9ed85e81eddce6db950bab38a731135869dab361af3837e2f5c5bf28505bcc7bea36dd1f7a3cf2d8ec5e3a9da29d0c190091014e53503f8e5fd06ef661ba53ac14781cdb8ec23ce9c0b5bdc30150ee33ee4c14287f9a510999ac4c9dc44e20e3b36af11ac4bcfaaf1dcfd7758f27cd7233f3da7d8d69c8398cfeb07dd45e2df44a506e78e94f623e06ac46f0a29d5eef2343c2e678a9edb004b02bfab7954727e70e25e7d4387f0e924dab0ec3381a4d4ffa700db01af5f8cea16a39691ebf28ac954106f8bec1e09da48b40135be6cdf3ec4c0775d84c0251b58a0f25b360bcce172a0481bff2966ee07ec2c90afd4114975920eb2d42711070b87f9da4c6798d6447536b50ad3340e629607d164555c8b2128265e38b88173399962bdd457f5c37e7cca7d0c2ea762d085d39c41c374b210ed2edd5e2b903f6d5ba181e44ea19543a2dda93d2914f77bb7b9f963f77a54b558692d17aea64d0adce5d11633b083bb338f22d7903c5915bf11306e4ac291d922cfc6689da9187b69285738f0ee4d3abb0651bc5baf5ab130558e1bcbbe0259d654626ba118a463dd05f5db4274c9f654e36a060bf9a11e68db43d0d88ab3250e0a5be4f684052e6fcc5f8de7d9ca32cb738c8e8ed30419768efe0cc30c5b84890243aba661addf8a1c1c149f2438314425503f2c6eed6bb144d5c4c0c12822f46c6cfed3e2b535120cf75009d2b071169e781cc581d316873e8f67067c94b1dce4b9bdddbaaf94f6367ddafaed5e188724e331e16488559c7eddd6d240e55fdeb58e1048d240094da3a6f53e738aea95659da7f22db6f0677194cb64ea296b96d264e859b74e85d79af9872c44a683d9ca8e4be0361cfa4e334ebc14fbfc136e63d270d6fb9857dca88a11524b8c2e64582e204ff2779a98b8bd65ffbaaf7651f633c8be0b57fbe763d19082c5fd778fb5c8b32460abdd170be2a615fe5a8c2a9389615be3077f03a3e788e747f82ede12d57ff9adf317c6d600f9191a0bc76d98951fcba4710fbbbf1660b9a18978c17e609e62931cffef5a73c69bd8841f518824ce72cecc568207ce565e7bb1f8071ac62edb6c853861cba80b32260e5495b0d1ec8d4e3d147a966f0f91277a11a8ca24d471343332aa67a68dc8e9eca58f5facf46d0a2ab57ac5ddb2c026da218370dba7a1af516febeba240fbfc9ca2eede5e67e5827eb1cf8a7894af4fcb2eab4dbcac607111c9e940c1f3addff9344dd103ae17950b1cedb5f6d91cacab4957de6ad3442dab474f86859c5d8b587da7e0cd5b7f6b09d76fc06a3cc6b769d715169f0b708d8e734dc133b1696838cc79d1dc0f4b10d84ad771978c841c1355ba886aca4203f8f5cd6f8bef935dc0b3287689a191c5b6d76c9445d8c54a5ac500e417c40bf7b6bac0dd412956c670749b6d665db592490ebdfd353c88493e2c46298943221cb2bc0c8e17d753ec73c349ed79c367b4e35dd314eb07aa8d2ed74366b3751db66aa4277b5768941e6b4bb6aa4900b3bb6fcf383a394286efb2e981773a79426fc71627f04642543318a0e10b854fba9f6eba34199706aa04141123ae3b79a18bebe28056d3b9ec901f002b959a903dda7380dac4e9b905a8d4971bf3a40939eb5b47aad3e4c04e48df151ffe0aa3acbf8a4c5e30f8bfd624510e7ffee7907a8f918b48bb1e83d4bde18a014ae7556eee2455034d881e43dbbd90fd7e4488d0f38e0b3f35dc70cbfddc1e2786dc1d1f0185a7f50e0ae97bf73ea3a34baf1579c23420f4e55067aa94f9aac2b27b8a2b0ae7b89faa16af8ef15d19d6f6158404163b358abeb6c93aba8ecb83f12b660b5abb86fa2712163a2875c851544c257aa680560f332360c52ae02201dc882767bfce8c714e881262652f6fefc6863756d1d14e8cdd929570602f9e89cd124a87f320e488fff12e17a1ee89e7f8154460c3c857c0265d4f7a32d7f8f5311052dc90b8177b642b1f56b5558fbbe084592bce6286b6ae91a4c9557d72588f0f04c7f054cdb9a9295f637006dffb7032f2b52da2309d8b17231f410e6d8e146336cee98a982ab52d056b1404882549c8aa840c7357ebf604219d512cb676efa34501c8985b68658ad564b24b786ff1dfa8ef153e10e89f0533671eddece321a559c43e7fde6901c8b124b25c4a5ab75966fc9db40ddb2efab69ad9cf46957f41240c0a38fc0f7b4bda742401727388dda27057090aea049a304ad30f38e44fe6d5d76f1d9c051abcce1928e8b24d9a0d02c3a351f7078f21149274f8067b8e5a224e627f5b2f31f1b7931c16a92851e61b3cbb31a1d04121638fabb5fb2df6e66fe256cd5b2a8a21c207640ce3afd284b3baa958648e80880845e28880a3eeb9e727dcbe8de92622772e5452fe3f07abcce3306168cc33d81fc3dcf68a78a196952e4eb2eaeeb581f3584425879fa183d191b0148a96ceb7b922cb020726018663cd097de541968783b219f4798a8fbaa426a97658a4b676bf48c7a2906c0cd6b6a78dc5a0596986009cfd979051d7ef83bb7d7578dd8ff12655149cb803ff1ffb359e818064a6215890e278b8a22c09a7bc9a26f0ff71d9ea5ec04f0dbe6891ae66bb8bc068740663bda4ae550c6df466b0e6b20000bf475476931c7367e2d72500f7cedd8922476b95c0161d97dfc7ad9f3c3c257e1c206f51da6650ec387f575e22b830d633e8e2c636fe17ad7d1bdcbf9bfe2250943bf969f7e7f2029f8fbe4b5dad1a450bb3d96fbe944760ebbf0fdb0139a1a544d1c48749da5ebdb5c3916d09fe87b6d3179cafe6d4c36ba9a808d031002faa7abde07b310f9bb0280200e08c2b5526e4fbbb4c61977627d8d381b2225eb4bae3ed15c1391820498d920e599227f111d4e0ee51b6e03c3162e242114adbfbf08efc9de54dd82cd6042f0ceafef4dfb58399138fb27757ce1471074d4247172adc4262ad3a2b4d99b28d99b72888ce71180689eec8f2fec185b26af1c4e174b72e028c01b9e5f57eb5b2fc32116dc087023a5753a7bd69a3e0d831c377a8c64b91ff33c44feeb78807e285fee4fd9b739668854b58ed2b0d8d14ba1c41bef04573755ccd156f7fa44aca6558feb0cb44c3d5de03a82605f8e18aefe333573b80e66e124ba473f68b7f08e2d9fed1d178798523a9dc757b2b13487eee1b32b1b79f3090cbf40bf6aa8a7fbf7952f36033b053b681ba2cf4c1542bce648eb5c2eaf3b0a8a2c59682efa02ec7c4bc4d2e3e50b6047fb264e6019a24d9bd2004f9f1b43e3ad9d730bedd2e4b521b08ae78efc9460557a3526697020ea61919d3375bb5343b6b1b800351e7605c69b212c758eb756ceed506c223b04287dd0cbb201ae0bac8c030f1cc174382064ae0d8d777a4e8b509debaaceba0adf0554beb8a4dc11d99a65038f87e6d0d7df3dfdf9ba439ccbe2c088d94daa71c7b360bb2b155f54c1a77948e0c6a301f64451d65cdd278b84f402e5418ce11231ffb40b48d91dd8b9b7692ce5af1ba4f0769d630de2348986a17ff827d88eb1172b79aa869ac33f4caf07fca00698d5407608c6ace194d8a5fb5b13e0de2d4e224b8e9da66d8ebd73a602f25529a64e1ffa7627e01964bd0cb267a76c3caa60616a574dd5c1d95bdadb595ca9ffb8594088e7f066e7e257c7165c21e2bfab2463139d0edd7129be7e9c6f3b3b3fe3d9c166f616d6cee10e9ce14c84ad9a1d2c7cd8a36fba70980da316dee2ac648ea4e57155117183a359196ab6323d61d4e2e5468924d8b8b1c1cbf777601bc340e2ca54aedf77b13dd64aa0195245f33769e0f8516d8950f8900db430e2c75e3362b277d7098f423bff8668332f1a018d087cb1021c7798d812cc01a0b318bb84be5765977c99276c920c35c5bc36b32ac0df6e2b5c68f1405624186a9a6df80e2a666eec9f68c1dfb66cce03b8c218d1050c73a1ae52bf4eac91f888bedebd1cbc88f8c9730fbbd811936ad64cd43edd4251d4eaaf29cdde84f3f3b1a3fb8ef95c9813904ebcf4f0f82d065b2fc41c7306be7483e058f859a6a0d43833ea78db9df81ccc0ce02a879af3a498e39b5c0259bca2a76cf7dd17a8dfc44a81e617ba782a5dbe0f89d0470fae1ec918ffa5a64c8a7f9ace14b4737ecfca33eb6e762215d0b7104959e9c4c787e22c82017fee48baaf495f915b8e6fe2aa91522ba2b5205019f6bdc34e4c8ad8985276f6971522dd756f170b2176a135f962abb9d1cac4340f28225097c8b75730ea366ea8d0dea01b8c33c5b3206b86acdc85770f7f7745747bb411ef404ef267a8cef93558eeb7daed5981eb350b5238da09bb9f52db951c78cedd8b3d05511d35c0987dbe585b2ba607b2c11c9ff9324003df31fa094f3822f42555326dee0fb41a2f0571d2bdc54fdf44f72e94c38a877a8c4012e01c3392ddc7a5772f275984395460656e4297a7d397359a0306a66e94044f737f053d40476f2d1eda01710a26134332a1f4e38b8882f8dc0c32c2cf88cc59a9c614498e1041b066594993f18c7ad6c5e3ba834ae1f2fb5a3d26b2b7bf4913906e00c5ba268bd861e333e41a8ec671f938aed12c8a9e726d7c6dec77452d89e856b2652e9b71f6b74b14d9938a1d951c54354240fd7ca58663e33f65519fdd17fed834cbe98b4ddae73ab63569f44e4dae20cbc69b2f4411bec1b0a517251ec9a38f56eb6c926ed3fde0e3adaa2664a75ee54f52b216278eb1b80fbc06528f55e0cb5291a2c1f01e2b2aa7aa61f14f00a6e05ac4d11c4b1a93ca292c9b550d33ff8f17c88acf6b9467bfded72b1ff901db1bbc1db9be039f41cb388787f4c4b560e7b7cdcf4f1728d1f537e90f71b30ba2aa4f1ae059b86aa4da85862d446ba17c986def54aa11303136edb0e587d618f83b2d61c964fcf3ec90ee81c260e79289aac086686d0a272092ebbc66bbc4ec3bcb30cb78aa9156b24d5bb22af978c10b88d01658170df53cda75abb9ac1b8ee321528c6bdde3c1856bb5597265f05193aaa5fcf63076113e999b2f2161f0847d5eab6d8947fd82f2d0c354f2884f80c8bd3f2beaaa0500914c39c2303eec7fd0e88f719bceebec0484cd94cf962c094222328188b1ee008fe91d089aa30e15d643ae039043576b9076e44a201a75d730eb86b092652f16ffb4ebd4276b4d25b72670a0f5e641f998a1899890ccb1e4e91c0ed1ce2bd2cc925bb9824498c38ce786449973fa5db546cde839c8dd7fd231fa05b602a37d76517f1beab864e551e5ccff80bfa495644d54b52b98f31e3d61415145406b7028f14197160c8b20510e8649372343b1783109bb572b6287d03d257bc33b77db356d045b05fdcfff876793cbe206d432224d7f365adf4d898ffbe5fc734d0a44fab7bad66e0e52b4cd01644b1917d16728d3da8c1b48444b9c1c5498d211721fae1f04fce1a8ef4824c1e9841f2338cd638f0b15c37b9e55805d0ad83b3796a175aa0697faf0771772990f39269887607096518ff3c9e2cbc98331bca7e95e3aa4c4f3de592ec21b887f8b3d9b6c4771646d3548935ba54567149b5eabc0739d2d32fcbde970766830fe5fbde0dd7f67b33495339f20f62aed9c946c5002d44a4e8ec77b139704aca573add84634b01eb2ccfa6d057c7a3782143416aa9a23e4c2e3fe2e2b70fa8b29d99780813cd06f3d0980a274918041d2479f9b0e0a9aa05727647e21d2816d5a766d9b177a808e493c7e130b0cedf38d9c8409e7936e4ff71be419ab2358e63612c9bc16e78cd7770369bbb2a5b2a4daa6770610a9d004051e5fb4f005858ab7e460336ed4651e14f17b57f21d9919762636c177aa8e0aa70389dedc5f64ee11afdf348ba2c7747b79ac01cfa0a9deb16fa56d526bd2386cce539cbaa4a88b783a77988bd0641e0e4872fd573d2b259069af75ab51db1216cacc32c7331b54f8c3f63c0e43402eb888a93eefee506c23e4f7ec1b82b357d084935647b97623c6686eef596bb0f8ee556b613d11291e80c5bf5da42a6849ac1d61f2bf69c48848130adfd92c9eff3c4f058d8f41199190d64580022de9fa6a66f14279c5b6ccfc7d747549341c4c85764ce49ba722ffbcf60fabd2760d813e52d9f6df1386bf77b7acf9d58e41e14134c5af2fa78e97a8938699e50d448ea00a12da88af8a70da9321c6f8f734e760aa484b3d8800986e134a39cd795dce04103b2c4ef55fb5a43789cae45316b0af215a21dc4711b2b0467eda9af3b653fa2059e4d4bba6e377deeae898239bd9e0f569463bb7be8d966e844f021d5363f1b374e29cbfa9ec0338a2c7316af75402b06e108f616023d7acc2a91dcf6f4f83647c00749608c24c59c98368893cfb5a4690a724aa478a59b618a18e3e192725ef11b525aa9d15a7c0d283ac61149959735e6b634418e54e54e73876b753baa9123906c9f82a5670db1608f500368034347d577cf74bb9a7ea7ffd7c14cbc74d72617dac6e2bfa8c5d4c34cafc702b0291d092085d9f14e453b2d3fe393f04107ab814594805af6cd3a5df56698fe73f449f3f59cd8a9e266e1de65ecbce79bdcf2402cbe108be4839938344383ab6bc65c152bf3a13f1790e661be482928a6153b20ef6e737b8e58e6dbfa9bb23fba3178191ee3029803b28ca0a73c6ec4c3a05a5376ce19c509d156454face302851b4bd5d893e67a5e0a410d9f1316ea04411d35e08fe4265f336d78f377c5407cfcb4dc5efbe73ec4ca7d41223afa9c86661a8925254daecbba2816df79bd9cd5cb2b1644227cc7cd3ca0bf64f3b1c1f65bedebbf67f4f0e5c40f5ef7abbb1c5216c3bfa855d4ce1e52f741020d8e4fc549bc8606b81d6dd53c1c48d34a7be236b5eb2e7a10b76a48b9e0bb40702df7fedafb7a828230fed93561f52444f100fb35887638178216617b34d6ddd72a5a155a852e984da74ea81927a1dfd781b1bbcc618f2b9952c509c484d17c24266bf2b784e3b9e38d4d3ef5d3972a25a66330506bbdb390e61c779058095829d832015bf1066a541805c6d2caa0243d64f9a421c72a1dd3d2a73803f57017be481dc66a718f88143e023ee5649f76d6e5bb6b230016d54b638e8e6d93f738633950a9ba0fcfd97fa61df8cc3186d0a6be26122ecd6c1633d3f159b3be1f1cfe36ba164a085204e6f189e50e1b7bec401e1df0cbdd7aa223ec4c30a950dacdd710af4ce45c936ab15a9f73ae938cf987b30c84e618049949aa4f682db2b5d3df7c2373b93b24437f9d44e529adf0a0321fd84afe72b0859812b03ace2cabff6aaf64382aa4a78e0ebff5642d699b5122fca613c4df759e48df3273aab20253577cdfdb4eadb3914a5961c7b8634c20345f111c3d0f429dad97dedac2702a3141e3ae8b57c59617a72216c80784c72d3beb1c4af36538e1e180aa1694541045d22925b4f7a2359f100894851844d7f109030eda39cdb4bfe941e79384405f9e825187c3fefc245a4f29444559dc6353155b69655e87f11ca8e3cd9638c2675557889ffa04c741efb455520d2077fa5ad1124522965084a16d9986ce5d3b2866078617cc49bf5a286864d4eb28c64fca9315a5fca6337a6802d1256e2fe7e0b7062dbe944039f0fdd0a0a5b31c58d30e28086c5383ce88d11f1dc7dd81e5e5bdb5a4d2cf7d39f3356ad27637ff9e53eaacf79f775809d0ddda5e7732a3191ecc10797175ed5ef7f9e959e513117640ace2b0ef4046690320ad55791ea381c8def4ccf2dd26cd72e4005558a6e4e83e6677a0a2e52f8df0f7f29ca10b5cc575383ec9905fc5924adecbd747a2cd5c7a3d10b363d532d246015fa0c1099d168885b26d3793a06ce2811bcc581aa6c6df02fd953e226df8956684f9ed84a90ccc19bc61a9ea3c8eb31899bd990eee104a2d7c7a557cda1722c2277f4babc3f10669f721708c7fa134c9ae2fdff820f9fa050b89328b9955cdfab7e2801de47ddb4bab10ef745e1f538fd686c102c85e022c925feeeaf1b8b3fb769fec86d80842a6ef361a8807d0217b94344e40f1a3a960c6d57887e1d859d1f13a86241c6efaa3776ff520b3c764a5cade3d13d54ce8dbcdc4a54e690d52c6cdf2dd15646876b7c0047ac717dd7ab75913e6874208c5de4caab02e4c9d9c70e2b304a976fe370984a0405dc6126e3605d2d560d44b7ff2a8d70aeceba2a2590d21701320904d3635b9bc17c937a000bcf8a1eb27e61246578c8f27188e7d09f27c4c06ec7569f41d44c13c05737eb5687c5d8935f69ee9ce77df659455f1a87db8f559fda70b91d68d7163d7194c8cb01d4575e602413b9cab4b7fa875272923d12a9c9894cf0003d05d944f2b28da70debe20cf0e6a98e1c43359c4113aeb242bd3a0607702efe1bbb11a541a5ba998749c2c6739ca7e9e4fd4339f5c97b74c9182bc184c2b5dc6659abee066256819feae2f8da6139db0d1dda816278c06b9dc62f3499100a1de639bdea1f18020283e4524aeb458152933e1b42d4d7b4e2e46b09359a495652526b64bd2ba4e0af47070d66b6ac765f290cb36e79eaeac98fd0f81102e862d73d803989881994e7f27989d9dcb1e8330b4e8a2e7d7407421c4102a89fb73439e9cfefb251d27f0ae9f63a10efe593554c4d9526f99bb1f35c419a35858411f312c8c1edc694705fb385acefc17e2e407349d73b5f86f18f1a7f6df4aebbbc2a426bc21486d39d78695722a0bfc0f870d6f0a94d5055d1dd0f0910c2a03d110cb0501ae6af57e3f79216b8678d6b5e2f8765113599319a8052c931ae9f83b67e79d00d0163bd2414dd5309d8e198fd11a703d50ddf1b03f0a2b8ae578e2e9aed9e14fa1466d3b2fcd59117b714af5b258589b3c9e2efbc1d63bd6258b1e4b464a0463efeb032afaefebf3bd4f8d238fab7a9ab7658ef7d0e14a1174d03894fb349f9effdeb778c6bbfd3ab2516cb1f2467d5951a9bbb17d3605a609628d429c2156f82c88e27d64ed9aff4c288ed195089b8316a07cc34570d45a545c7a9182b801b96c1e02a55719e6e53fd185e128be56cfb7542d6c1b50ce281187b7f4a6a130b06a3a392130rspamd/librspamd-actrie.sorspamd/librspamd-ev.sorspamd/librspamd-kann.sorspamd/librspamd-replxx.sorspamd/librspamd-server.soservicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot_rspamd_rspamdrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot_rspamd_rspamdrspamd-3.8.1-bp155.2.15.1.src.rpmconfig(rspamd)group(_rspamd)librspamd-actrie.so()(64bit)librspamd-ev.so()(64bit)librspamd-kann.so()(64bit)librspamd-replxx.so()(64bit)librspamd-server.so()(64bit)rspamdrspamd(aarch-64)user(_rspamd) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/envapparmor-abstractionsconfig(rspamd)ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.27)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libcrypto.so.1.1(OPENSSL_1_1_1)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.0)(64bit)libgcc_s.so.1(GCC_3.3)(64bit)libgcc_s.so.1(GCC_3.3.1)(64bit)libgcc_s.so.1(GCC_4.2.0)(64bit)libgcc_s.so.1(GCC_4.5.0)(64bit)libglib-2.0.so.0()(64bit)libicui18n.so.suse65.1()(64bit)libicuuc.so.suse65.1()(64bit)liblua5.3.so.5()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libm.so.6(GLIBC_2.27)(64bit)libm.so.6(GLIBC_2.29)(64bit)libopenblas_pthreads.so.0()(64bit)libpcre2-8.so.0()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librspamd-actrie.so()(64bit)librspamd-ev.so()(64bit)librspamd-kann.so()(64bit)librspamd-replxx.so()(64bit)librspamd-server.so()(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)libsodium.so.23()(64bit)libsqlite3.so.0()(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(CXXABI_1.3.7)(64bit)libstdc++.so.6(CXXABI_1.3.9)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.11)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.15)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libstdc++.so.6(GLIBCXX_3.4.19)(64bit)libstdc++.so.6(GLIBCXX_3.4.20)(64bit)libstdc++.so.6(GLIBCXX_3.4.21)(64bit)libstdc++.so.6(GLIBCXX_3.4.22)(64bit)libstdc++.so.6(GLIBCXX_3.4.26)(64bit)libstdc++.so.6(GLIBCXX_3.4.9)(64bit)libz.so.1()(64bit)libz.so.1(ZLIB_1.2.0)(64bit)libzstd.so.1()(64bit)lua53-lpegrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)shadow3.8.1-bp155.2.15.13.0.4-14.6.0-14.0-15.2-1rspamd-client4.14.3eeeee|?epb@e]@eSa@e;@e:Te!H@d˖dV@dV@ccr-cr-ck@ca @c< @c< @bJb?@ayaUaD@aD@aD@aD@aD@aG`r`r`r`>(`/@_I@__P_{ _u_3^H^@^Y^?@]߶]߶]@]\@\@\\HW@\HW@[[S@[@[ @[[@[@[@[[[j@[H@[H@[H@[*A[(@Z@Z2@ZZ@ZkZ%Z@YyYdYA%@Y?Y6@X9@XX,X@X=mW@Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Adam Majer Guillaume GARDET Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Thorsten Kukuk Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Wolfgang Rosenauer Michael Ströder Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Michael Ströder Marcus Rueckert Marcus Rueckert Marcus Rueckert Guillaume GARDET Bernhard Wiedemann Michael Ströder Bernhard Wiedemann Marcus Rueckert Bernhard Wiedemann Bernhard Wiedemann Bernhard Wiedemann Hans-Peter Jansen Wolfgang Rosenauer Wolfgang Rosenauer Wolfgang Rosenauer Marcus Rueckert Marcus Rueckert Marcus Rueckert Wolfgang Rosenauer Wolfgang Rosenauer Michael Ströder Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert Marcus Rueckert iippolitov@gmail.commrueckert@suse.demrueckert@suse.demrueckert@suse.deiippolitov@gmail.comiippolitov@gmail.compieter@hollants.comiippolitov@gmail.comiippolitov@gmail.comiippolitov@gmail.comasn@cryptomilk.orgmrueckert@suse.dethomas@cupracer.deiippolitov@gmail.comiippolitov@gmail.comiippolitov@gmail.comiippolitov@gmail.comiippolitov@gmail.comjengelh@inai.deasn@cryptomilk.orgasn@cryptomilk.orgasn@cryptomilk.orgasn@cryptomilk.orgmrueckert@suse.de- Add Provides for user and group which are created in the %pre scriptlet. https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/HG2JKUIKDTWQQIQSA43A4VWHX7YKJQT3/- Update to 3.8.1 - [Fix] Replace comment types by @arkamar in #4785 - [Test] statistics: per-user by @fatalbanana in #4789 - [Minor] rbl: fix warning by @fatalbanana in #4790- drop fix_stack_smash.patch: solved in a better way in 3.8.0- Update to 3.8.0 - [WebUI] Update map editor by @moisseev in #4668 - [Minor] Make Robot Framework loop unfunny by @fatalbanana in [#4672] - [Project] Support of JSON logging by @vstakhov in #4674 - [Minor] Add missing include for gcc 14 by @arkamar in #4675 - [Minor] Add rule for messages missing both X-Mailer and User-Agent header by @twesterhever in #4682 - [Minor] Treat *.zpaq attachments as archives and harmful by @twesterhever in #4680 - [Enhancement] Add composite rule for suspicious URLs in suspicious messages by @twesterhever in #4681 - [Minor] Improve FREEMAIL_AFF capture rates by @twesterhever in [#4683] - [Fix] rbl: unbreak exclude_local by @fatalbanana in #4678 - [Minor] force_actions: set a group for symbols by @fatalbanana in #4685 - [Minor] doxydown: fix elements containing few spaces by @fatalbanana in #4687 - [Fix] known_senders: fix config handling by @fatalbanana in [#4693] - [Feature] Reiterate on gtube patterns by @vstakhov in #4691 - [Minor] Try improve test stability by @fatalbanana in #4695 - [Feature] Support ping command in fuzzy storage by @vstakhov in [#4694] - [Test] Set umask where it's useful by @fatalbanana in #4699 - [Minor] Remove obsolete code by @moisseev in #4700 - [WebUI] Load modules dynamically by @moisseev in #4705 - Add support for loongarch by @wuruilong01 in #4704 - [Test] Try correct settings test by @fatalbanana in #4706 - [Minor] Get rid of 'var' declarations by @moisseev in #4707 - [Test] Fix dummy http server on python 3.6 by @fatalbanana in [#4710] - [Test] Skip miltertest tests if it is not installed by @fatalbanana in #4709 - [Test] Restore stylistic rules check by @moisseev in #4711 - [Minor] Re-sign YAML by @fatalbanana in #4713 - [Minor] Use consistent object key/value spacing by @moisseev in [#4712] - Fix fuzzy stat by @vstakhov in #4714 - [Minor] Convert callbacks to arrow functions by @moisseev in [#4715] - Fix issues with the raw header on header insertion/modification by @vstakhov in #4716 - [Fix] dkim_signing: siging_table: lowercase before lookup by @fatalbanana in #4717 - [Minor] Replace Dockerfile with advertisement for image by @fatalbanana in #4721 - [WebUI] Refine symbols score input boxes by @moisseev in #4723 - [Test] Remove default ESLint Stylistic rule by @moisseev in [#4724] - [Test] Exercise rspamadm lua logger in functional tests by @fatalbanana in #4728 - [Test] Use npm ls to show versions by @moisseev in #4725 - [Test] Unbreak ESLint by @moisseev in #4730 - [Test] Test systemd logging by @fatalbanana in #4733 - [CritFix] - Fix reported length of logging structure by @AdamMajer in #4732 - [Test] Remove deprecated Stylelint rule by @moisseev in #4735 - Migrate bayes redis backend to Lua scripts by @vstakhov in [#4718] - [Minor] Have bayes use global redis settings by @fatalbanana in [#4739] - [Feature] rbl: support disabling or replacing url_whitelist per RBL by @fatalbanana in #4742 - [Minor] rbl: try harder to identify lua patterns by @fatalbanana in #4743 - [Minor] rbl: revisit previous change by @fatalbanana in #4747 - [WebUI] Symbols: replace individual save buttons by @moisseev in #4748 - [WebUI] Send only altered symbols in save requests by @moisseev in #4749 - [Minor] docs: rspamd_html: fix some copypasta by @fatalbanana in #4750 - [Minor] ratelimit: make per-bucket symbol behave like global symbol by @fatalbanana in #4755 - [Minor] Log a debug message when ratelimit skipped by @moisseev in #4757 - [WebUI] Show pass-through module in scan result by @moisseev in [#4758] - [Minor] debian: add missing stuff to rspamd-asan package by @fatalbanana in #4761 - [Minor] Fix typo in hfilter map by @moisseev in #4759 - [Minor] Move common stuff to separate files by @moisseev in [#4762] - Fix an overzealous s/NULL/nullptr/g by @jvoisin in #4764 - [WebUI] Show message size in IEC (base 1024) units by @moisseev in #4765 - [WebUI] Normalize IPv4 for column sorting by @moisseev in #4766 - [Test] Some more tests for logging by @fatalbanana in #4767 - [Feature] Support suppressing DMARC reporting for particular recipients by @fatalbanana in #4772 - [Test] Fix tests on Robot Framework 7.0 by @fatalbanana in [#4775] - Rewrite redis_cache logic in statistics by @vstakhov in #4774 - [Fix] multimap: rawtext: use decoded parts by @fatalbanana in [#4781]- Update to 3.7.5 - Test updates for rspamd-3.7 branch by @fatalbanana in #4708 - Fix rspamadm lua logger in rspamd-3.7 (#/4727) by @fatalbanana in #4729 - Some picks for rspamd-3.7 by @fatalbanana in #4731 - rspamd-3.7: fix systemd logging by @fatalbanana in #4734 - rspamd-3.7: [Fix] dkim_signing: siging_table: lowercase before lookup by @fatalbanana in #4737 - drop pwatches included in update: rspamd-d907a95.patch - refreshed patches to apply cleanly again: fix_missing_return.patch rspamd-conf.patch - While the fix for the logging bug was accepted into master. The 3.7.5 release uses a different solution apparently. Update patch fix_stack_smash.patch. https://github.com/rspamd/rspamd/pull/4732#issuecomment-1858255236- fix_stack_smash.patch: upstream rework of logging doesn't allocate enough memory for an array (bsc#1216830)- Add upstream patch to fix build without hyperscan: * rspamd-d907a95.patch- Update to 3.7.4 - [Enhancement] Add composite rule for suspicious URLs in suspicious messages - [Fix] Another try to fix setproctitle - [Fix] Do not cleanup hyperscan files unless new ones are loaded - [Fix] Fix various issues with canonicalisation of the paths - [Fix] Properly set config field when creating tasks from Lua - [Fix] Set loaded variable explicitly - [Fix] known_senders: fix config handling - [Fix] rbl: fix exclude_local - [Minor] Add missing include for gcc 14 - [Minor] Add rule for messages missing both X-Mailer and User-Agent header - [Minor] Bundle fasttext as linux distributives are just useless - [Minor] Enable fasttext on RPM based linux - [Minor] Forgot it in one more place - [Minor] Improve FREEMAIL_AFF capture rates - [Minor] Limit fasttext to amd64 only - [Minor] Properly search for fasttext include - [Minor] Treat *.zpaq attachments as archives and harmful - [Minor] force_actions: set a group for symbols - [WebUI] Update map editor- Update to 3.7.3 - [Fix] Emergency fix for the hyperscan path error- Update to 3.7.2 - [Minor] Make compiling with backward-cpp optional by @a16bitsysop in #4639 - [Rules] Blank spam detection by @fatalbanana in #4644 - [Minor] Treat *.cue attachments as harmful by @twesterhever in [#4642] - Dzjaivnt patch 1 by @dzjaivnt in #4640 - [WebUI] Add control to invert action filter by @moisseev in [#4645] - [Fix] DMARC reporting: fix reporting for subdomains by @fatalbanana in #4587 - [Test] Banish luacheck from functional tests by @fatalbanana in [#4648] - [Minor] RSPAMD_SHAREDIR is called SHAREDIR in configuration by @fatalbanana in #4649 - [WebUI] Fix history table vanishing by @moisseev in #4661 - Tighten rspamd's attachment policy by @twesterhever in #4656 - [Minor] rbl: support use of different matchers for return codes by @fatalbanana in #4657- Update to 3.7.1 - [Fix] CMakeLists.txt remove whitespace added by linter as it makes te… by @a16bitsysop in #4560 - fix: redis schema parsing by @Conni2461 in #4562 - [Minor] Update JS libraries by @moisseev in #4567 - [WebUI] Restore contrasting foreground color by @moisseev in [#4569] - Add new exporter to push JSON to a raw TCP socket by @lingfish in #4572 - [WebUI] Tweak bootstrap colors for accessibility by @moisseev in #4577 - Rewrite configuration utils in C++ by @vstakhov in #4573 - [Minor] Slightly adjust DNSBL scores by @twesterhever in #4557 - Added support for Redis 6 ACL (username/password) by @laodc in [#4578] - [Feature] Support feed exclusions in phishing module by @dragoangel in #4575 - [Minor] Remove unwanted debug logging by @fatalbanana in #4585 - Fix regression in invokation of rspamd-test by @ln5 in #4588 - [Fix] Correct format pattern for RE tree tempfile name by @ln5 in #4590 - [Minor] Remove unused variables by @ln5 in #4591 - [Fix] Correct format string for unw_word_t by @ln5 in #4592 - [Fix] rbl: really fix dependency registration when symbols_prefixes i… by @fatalbanana in #4594 - [Fix] rspamadm mime: arguments beginning with letter t by @fatalbanana in #4597 - [Minor] API docs: lua_ip: fix function name by @fatalbanana in [#4598] - [Feature] rbl: support checking numeric URLs in isolation by @fatalbanana in #4596 - [Feature] Add ICAP Content-Type and Filename from TODO List by @lbahtarliev in #4595 - [Minor] Try fix CI by @fatalbanana in #4603 - [Fix] MISSING_MIMEOLE: avoid matching messages from Android GMail app (#4561) by @fatalbanana in #4600 - [WebUI] Set locale on UI load by @moisseev in #4607 - Update configwizard.lua by @Dani778 in #4605 - [Minor] Revisit numeric_urls by @fatalbanana in #4602 - [Fix] Change Date: header location to conform with RFC by @lbahtarliev in #4608 - Implement known senders plugin by @vstakhov in #4610 - [Test] Rudimentary tests for known_senders plugin by @fatalbanana in #4612 - [Test] Ignore encoding errors by @fatalbanana in #4616 - Merge tests into master branch by @fatalbanana in #4615 - Run CI on ARM by @fatalbanana in #4617 - [Minor] Try fix test logs by @fatalbanana in #4620 - Minor improvements for CI by @fatalbanana in #4621 - Fix wrong copypasta & mis-named file by @fatalbanana in #4624 - [Test] Use Robot Framework native IF by @fatalbanana in #4625 - [Fix] Prevent DNSWL sabotage by @mdierksen in #4627- Update to 3.6 - [WebUI] Migrate to Bootstrap v5.2 by @moisseev in #4444 - fix: avoid double-dip of nrcpt when calculating ratelimit condition by @simbuerg in #4448 - [WebUI] Fix "Clean history" button enabling/disabling in the Scan tab by @moisseev in #4453 - [Minor] Use a scalar variable as a dir handle by @moisseev in [#4457] - Fix arc by @jendis in #4449 - [Minor] Fix pagination control border radius by @moisseev in [#4461] - [Fix] remove obsolete rspamd-redirector files by @a16bitsysop in #4422 - Add fasttext language detector to Rspamd by @vstakhov in #4473 - [Minor] Fix rows background coloring by @moisseev in #4490 - [WebUI] Add ability to compute fuzzy hashes by @moisseev in [#4499] - [Fix] rbl: fix dependency registration when symbols_prefixes is used by @fatalbanana in #4498 - [Enhancement] Add composite rule for messages only containing a redirector URL by @twesterhever in #4496 - [WebUI] Show validation feedback inside login modal by @moisseev in #4504 - [Minor] Improve HACKED_WP_PHISHING coverage by @twesterhever in [#4506] - [Minor] Add additional bad extensions by @twesterhever in #4508 - [Minor] Assorted cleanup and housekeeping of configuration files, take 2 by @twesterhever in #4505 - [Rules] Add thread hijacking composite rule by @twesterhever in [#4507] - [Minor] Move HAS_ONION_URI from "experimental" to "url" group by @twesterhever in #4495 - [Enhancement] Make Google Firebase rule productive by @twesterhever in #4494 - Use the correct mime format for 7z by @JasonStephenson in #4517 - [Minor] Increase score for .chm attachments by @twesterhever in [#4518] - [Enhancement] Improve detection of Google redirection URLs by @twesterhever in #4497 - if elasticsearch_version >= 7 we should not send the _type to elastic… by @mariojansen in #4520 - [Enhancement] Treat HTML attachments as (slightly) bad by @twesterhever in #4519 - Dockerfile: Switch to bookworm by @mrueg in #4532 - [Feature] external_relay: add ip_map strategy by @moesoha in [#4537] - [Feature] Detect Apple Mail and remove scores for their known common behavior by @dragoangel in #4538 - [Minor] A bit better apple_x_mailer regex by @dragoangel in [#4539] - replace ECDSA_sign_setup/ECDSA_sign_ex with ECDSA_sign by @sthen in #4541 - [Fix] dmarc gramar - allow spaces before ";" by @rheoli in [#4547] - [Minor] Minor fixes for previous ratelimit changes by @fatalbanana in #4549 - [Minor] Improve catch rates of FREEMAIL_AFF by @twesterhever in [#4556] - [Minor] Test & fix has_only_html_part regression by @fatalbanana in #4559 - [Minor] Tweak HAS_GOOGLE_REDIR to detect Google AMP URLs as well by @twesterhever in #4558- Enable more features - Enable nice stacktraces for crashes. New BR: libunwind-devel - use system xxhash: New BR: xxhash-devel - enable blas/lapack support for the neural network processing New BR: lapack-devel, libopenblas_openmp-devel, openblas-common-devel- Update to 3.5 - [Test] Remove test case with non-deterministic result by @arkamar in #4323 - [WebUI] Add legacy history version badge by @moisseev in #4326 - [Feature] Enable Mime part filters on antivirus module by @jonmoesli in #4328 - [Test] Use TMPDIR if available by @arkamar in #4327 - metadata_exporter http pusher: Extend valid return codes by @yo000 in #4334 - [Minor] debian package: disable luajit on arm64 by @fatalbanana in #4335 - Support external maps in Rspamd by @vstakhov in #4324 - [Fix] Return true from has_urls(true) if only emails are present by @cpragadeesh in #4365 - [Fix] received: filtering of artificial header by @kakochang in [#4367] - [Fix] Replace broken strict_domains with phishing_exceptions by @dupondje in #4376 - Fix build with gcc 13 by including by @heirecka in #4375 - rspamc: add -R option for human readable report by @amishmm in [#4377] - rspamc: optimize indentation condition by @amishmm in #4381 - Set required_score = reject score and minor change to the report by @amishmm in #4383 - conf/modules.d/arc.conf: fix parameter name by @jendis in #4387 - Fixes to support global lua maps in user settings by @dpetrov67 in #4393 - [Enhancement] Make Google URL redirection rules productive by @twesterhever in #4399 - [Enhancement] Add rule to detect Google Firebase URLs by @twesterhever in #4401 - [Minor] Assorted cleanup and housekeeping of configuration files by @twesterhever in #4397 - addition: add Betterbird to user_agent_thunderbird by @georglauterbach in #4404 - [Minor] Replace "Spamhaus XBL any" hack with a more clear solution by @twesterhever in #4398 - [Enhancement] Add IPFS URL heuristic by @twesterhever in #4310 - Checking for redirector url in mail by @korgoth1 in #4351 - fix incorrect asn references in bimi.conf by @mta59066 in #4410 - [Minor] Account for one more undisclosed-recipients address variant by @citrin in #4413 - Fix for x-rspamd-action in Milter headers module by @nishils in [#4416] - [WebUI] Update JS libraries by @moisseev in #4414 - [WebUI] Update bootstrap by @moisseev in #4420 - [Minor] remove check for sys/cdefs.h in CMakelists.txt by @a16bitsysop in #4430 - [Minor] Fix some compiler warnings by @a16bitsysop in #4436 - Drop 068714f9f5a96fbd94560211cec75775ee023d02.patch: - this drops the rspamd-director binary- Don't build against libnsl, it's not used and deprecated- Move cleanup code to %pre because otherwise it doesnt trigger early enough- Upgrade to 3.4 again - Fix metadata_exporter with many recipients by @yo000 in #4294 - [Fix] Fix favicon.ico Content-Type header by @moisseev in #4302 - [Minor] Fix copy-paste error by @moisseev in #4305 - Add basic auth to metadata_exporter http pusher by @yo000 in [#4300] - [Enhancement] Add composite rule against AFF involving freemailers by @twesterhever in #4304 - Penalize bounce spam by @frederikbosch in #4308 - Added 068714f9f5a96fbd94560211cec75775ee023d02.patch: Official patch for the unaligned memory issue described in https://github.com/rspamd/rspamd/issues/4329 - Add cleanup code to the %postun scriptlet to remove bad files, created by earlier/unpatched 3.4 versions, during package upgrade- Downgrade to 3.3 until https://github.com/rspamd/rspamd/issues/4329 is solved.- Update to 3.4 - Fix metadata_exporter with many recipients by @yo000 in #4294 - [Fix] Fix favicon.ico Content-Type header by @moisseev in #4302 - [Minor] Fix copy-paste error by @moisseev in #4305 - Add basic auth to metadata_exporter http pusher by @yo000 in [#4300] - [Enhancement] Add composite rule against AFF involving freemailers by @twesterhever in #4304 - Penalize bounce spam by @frederikbosch in #4308- added fix_missing_return.patch: case statement without a default return. - drop outdated patch comment- Update to 3.3 see upgrades notes in: https://rspamd.com/doc/migration.html#migration-to-rspamd-33 - [Minor] Fix typo in config documentation in statistic.conf by @kamilsztuke in #4137 - New SYSTEM_XXHASH option and zstd MODULES fix by @arkamar in [#4138] - Migrate ZSTD_reset{C,D}Stream to a new API by @arkamar in #4140 - [Fix] Disable IPv6 lookups for Blocklist.de RBL by @twesterhever in #4143 - [Fix] Do not exclude authenticated users from URIBL lookups by @twesterhever in #4144 - [Enhancement] Adjust scores of Spamhaus SBL hits by @twesterhever in #4142 - [Enhancement] Query HELOs, PTRs, and Reply-To's against SURBL and URIBL as well by @twesterhever in #4141 - [Test] Allow linters to fail by @moisseev in #4150 - [WebUI] Add HTTP (Ajax) request timeout setting by @moisseev in [#4151] - [Minor] Query EBLs for authenticated users as well by @twesterhever in #4153 - [WebUI] Learn a random server of "All SERVERS" by @moisseev in [#4160] - Rework symcache by @vstakhov in #4130 - [Minor] Add scan_time and hostname to metadata_exporter by @lucasRolff in #4166 - fix missing preprocessor macro for SSSE3 support by @msuslu in [#4168] - [Minor] fix lower transformation for utf symbols by @tierpod in [#4173] - [Enhancement] Add expire to history redis by @vitalvas in #4175 - [WebUI] Add option to choose map editor by @moisseev in #4183 - [WebUI] Fix privileged access for secure_ip by @moisseev in [#4189] - [Fix] Upstreams: Don't ignore revive_time config option by @citrin in #4208 - [WebUI] Tweak history table layout by @moisseev in #4209 - Update rspamd.spec, delete old el6 files by @ghtm2 in #4206 - Update rspamd.spec to fix Fedora 36 build by @ghtm2 in #4211 - [Minor] rspamc: fix crash on non-string element in messages by @fatalbanana in #4214 - [Fix] Empty envelopes should not be emitted as arrays, drop from schema instead by @JasonStephenson in #4216 - [Minor] Mimedump improvements by @JasonStephenson in #4222 - [Minor] Set diacritics flag for more languages by @fatalbanana in #4233 - Add MIME types commonly used for mp3 and wav attachments by @citrin in #4239 - [Fix] Skip sending dmarc reports in no-opt mode by @rekup in [#4242] - Fix: BAD_REP_POLICIES does not trigger for Bayes by @Player701 in #4244 - [Minor] Remove references to Atom in CONTRIBUTING.md by @fiirhok in #4248 - [WebUI] Remove extra To column from filtering by @moisseev in [#4249] - [WebUI] Hide symbol order toggle in search dropdown by @moisseev in #4250 - [WebUI] Hide extra To detail row on small screens by @moisseev in #4254 - [WebUI] Migrate to D3 v7 by @moisseev in #4256 - [WebUI] Wrap Prism.highlightElement by @moisseev in #4257 - milter_headers: Header fields may be inserted at wrong position. by @ikedas in #4259 - [WebUI] Put total in the center of pie charts by @moisseev in [#4262] - [Fix] Avoid overriding IP with Sender IP by @dragoangel in [#4268] - Allow fuzzy worker to listen on AF_UNIX sockets successfully by @BtbN in #4283- pcre2 is required; so removing any conditions around it to fix build for Leap- Update to 3.2 * [Conf] Score MIME_OBFUSCATED_ARCHIVE to 8 points * [Conf] Set one_shot for URIBL rules by default * [CritFix] Fix upstreams name resolution when there is also a port * [Feature] Add ROC feature to neural network plugin * [Feature] Add public suffic compilation utility * [Feature] Add support of Cloudmark * [Feature] Allow hyperscan for ppc64, as vectorscan now suports it. * [Feature] Allow to skip DNS resolution for keep-alive connections * [Feature] Aws_s3: Allow to store large parts separately * [Feature] BIMI: Add preliminary version of the BIMI plugin * [Feature] JSON endpoint for querying maps * [Feature] Lua_magic: Add a sane CSV heuristic * [Feature] Lua_mime: Add schema for message transfer * [Feature] Output average scan time in /stat endpoint * [Feature] Show average scan time in `rspamc stat` output * [Fix] Add guards to avoid race condition on TCP connection * [Fix] Allow spaces in DKIM key records * [Fix] Apply the similar fix to the url_reputation * [Fix] Avoid overwriting whitelisted_signers_map * [Fix] Backport PR from libucl * [Fix] Clear SSL errors * [Fix] ClickHouse cleanup of old partitions * [Fix] Do not double call error handler on ssl errors in the timeout path * [Fix] Do not forget to clear pointers on IOC reset * [Fix] External_relay: Remove useless check of the map value * [Fix] Find suspicious url encodings that could break url extraction * [Fix] Fix HTTP(s) client timeout * [Fix] Fix exclude flags setting * [Fix] Fix expanding of the variables * [Fix] Fix host header usage in lua_http * [Fix] Fix http maps shared memory cache cleanup * [Fix] Fix logic in HTML processing FSM * [Fix] Fix parsing of the compound mailto urls * [Fix] Fix processing captures from pcre2 * [Fix] Fix removing from khash * [Fix] Fix stuctured headers pushing * [Fix] Further fix for i386 compilation * [Fix] Improve duplicate settings error reporting * [Fix] Lua: task:remove_result didn't work in some cases * [Fix] Output service parts as well * [Fix] Phishing: Deal with phishing + redirected URL * [Fix] Phishing: Fix finding domains in the phishing map * [Fix] Plug memory leak by using mempool for a copied address * [Fix] Properly find the request and the number of requested entries * [Fix] Rbl: Fix inversed logic of the url_full_hostname * [Fix] Read file maps if they were not pre-read during preload * [Fix] Restrict x86_64 assembly to x86_64 * [Fix] Return a real number of recipients when dealing with aliases * [Fix] Rework unshedule DNS request function * [Fix] Support definition of ungrouped symbol in conf file, use group info from lua or other conf file * [Fix] Unschedule DNS request when clearing IO channel * [Fix] When checking for phishing, we need to convert punicode -> UTF8, not vice versa * [Fix] lua_cfg_transform - actions without score (discard) * [Fix] lua_cfg_transform - silly break break actions * [Fix] ratelimit - symbol per bucket * [Project] BIMI: Fix helper integration issues * [Project] Further DNS over TCP architecturing * [Project] Rdns: Add more functions for TCP based requests * [Project] Rdns: Add preliminary reading logic for TCP channels * [Project] Rdns: Add reaper for inactive TCP connections * [Project] Rdns: Add timeout logic for TCP requests * [Project] Rdns: Do not treat TCP channels failure as fatal * [Project] Rdns: Fix TCP connection mess * [Project] Rdns: Fix TCP stuff cleanup * [Project] Rdns: Fix various ownership issues * [Project] Rdns: Implement TCP writing logic * [Project] Rdns: Initial support of TCP IO channels * [Project] Rdns: More fixes in TCP handling * [Project] Rdns: Restore the previous EDNS0 size * [Project] Rdns: Send truncated replies via TCP * [Project] Rdns: Unregister TCP requests * [Rework] Allow to restore SSL handlers after keepalive pooling * [Rework] Allow to set a different behaviour for actions from settings * [Rework] Include SSL flag into keepalive hash * [Rework] Make `rspamadm dmarc_report` default behaviour more sane * [Rework] Mempool: Use explicit alignment * [Rework] Rdns: Use faster and more compact hash table for DNS requests * [Rework] Rework SSL flag operations * [Rework] Take disabled flag into account * [Rework] Timeouts are now global per event and not reseted by IO activity * [Rework] Use xxh3 as a default hash and fix memory/alignment issues * [Rules] Fix old rules to stop global functions usage * [Rules] Fix symbol for DKIM temporary failure * [Rules] Remove ancient and inefficient rules * [Rules] Slightly reduce MULTIPLE_FROM score- Update to 3.1 - [Feature] Add junk_threshold for autolearn - [Feature] Add neural test command - [Feature] Antivirus: Allow to set fake eicar patterns for testing AV engines - [Feature] Lua_cdb: Add cdb building interface - [Feature] Ratelimit: Add per bucket configurations - [Feature] S3: Allow to store structured data in messagepack - [Fix] Add concept of uncancellable events to prevent use-after-free - [Fix] Add temporary guard to prevent linked list exploitation - [Fix] Allow spaces in DKIM key records - [Fix] Another rework of the ucl hashing - [Fix] Another try to fix references safety - [Fix] Another try to fix rspamd_text passing in the selectors - [Fix] Avoid copy for received structure as it has raw C pointers - [Fix] Avoid dangling reference - [Fix] Correctly check numeric URLs in URL DNS lists - [Fix] Delete the correct pointer type - [Fix] Dmarc: Always lowercase domain - [Fix] Fix compilation of the hyperscan databases with errors - [Fix] Fix hash table lookup - [Fix] Fix http message flag shift - [Fix] Fix parsing of the from_hostname when it is an IP address - [Fix] Fix parsing of the unquoted attributes in HTML - [Fix] Fix passing of rspamd_text in selectors pipelines - [Fix] Fix rubbish QP sequences decoding - [Fix] Fix some complicated case with the closing tags parsing - [Fix] Fix the case when l tag is too small - [Fix] Html: Fix the case where only bgcolor is explicitly set - [Fix] Libucl: Fix deletion from ucl objects - [Fix] Namespace and add metadata for OpenMetrics, fix interleaving - [Fix] Plug memory leak in http settings reload - [Fix] Preserve SPF top record in the mempool variable - [Fix] Remove aarch64 GC64 workaround - [Fix] Remove bogus G_LIKELY - [Fix] Spf: Do not parse non TXT DNS replies as TXT replies - [Fix] Try to use on_connect/on_disconnect callbacks to handle internal Redis failures - [Fix] buffer overflow in rspamc counters - [Fix] fix static building - [Fix] lua_scanners - message_min_words logic - [Fix] src/lua/lua_mimepart.c: fix null dereference - [Project] Add constant iterators - [Project] Add helper library to handle mime strings in a more safe matter - [Project] Add preliminary support of CDB bayes dump - [Project] Add trim operations - [Project] Allow mempool allocated mime strings - [Project] Cdb: Finish backend implementation - [Project] Cdb: Fix configuration load - [Project] Cdb: Use shared data between cdb statfiles - [Project] Cdb: continue statistics backend implementation - [Project] Finish received headers rework part - [Project] Move C++ specific declarations to C++ header - [Project] Rework received headers parsing to C++ - [Project] Start using of the new received structure - [Project] Start work on cdb backend - [Rework] Further rework of the redis pool - [Rework] Redis_pool: fix issues found - [Rework] Rework learn and add classify condition - [Rework] Save invisible content to a separate buffer - [Rework] Start rewriting of the redis pool logic - [Rules] Improve zero font rule Full Changelog: https://github.com/rspamd/rspamd/compare/3.0...3.1 - drop patches included in this update: https://github.com/onqtam/doctest/commit/099d5414e97244ec44cf46b14cd176b3a3dc52e3.patch https://github.com/rspamd/rspamd/commit/cdedeb9f4.patch https://github.com/rspamd/rspamd/commit/309bb213cf.patch- backported https://github.com/onqtam/doctest/commit/099d5414e97244ec44cf46b14cd176b3a3dc52e3.patch slighty modified to match rspamd- backport https://github.com/rspamd/rspamd/commit/cdedeb9f4.patch improve lua 5.4 support- switch to autosetup, all target distros are new enough- backport https://github.com/rspamd/rspamd/commit/309bb213cf.patch to actually make it use system fmt- force gcc 9 all distros before Tumbleweed: leap default compiler is gcc7 which is not enough anymore- use system libfmt and libzstd instead of building the intree copy- removed obsolete rspamd-add-lua-5.4.patch - update to 3.0 * [Conf] Align ARC scores with DKIM scores * [CritFix] Neural: Fix sorting application * [Feature] Add a simple dumper for bayes tokens * [Feature] Add lua_maps.fill_config_maps function * [Feature] Add preliminary exporter to AWS S3 * [Feature] Add preliminary restore bayes support * [Feature] Add race condition protection against hs_helper restarts * [Feature] Add rspamd_utf8_strcmp utility * [Feature] Add zstd streaming API * [Feature] Allow to log severity level explicitly * [Feature] Allow to save and show attachment name when inserting AV scan results * [Feature] Allow to sort urls for Lua * [Feature] Allow to specify different timeouts/retransmits for fuzzy rules * [Feature] Aws_s3: Allow to compress data stored * [Feature] CMakeLists.txt: Change check and run-test to use rspamd-test-cxx * fixes #3807 * [Feature] Dmarc_report: allow sending reports in batches * [Feature] Fuzzy_check: Allow to disable subject when making short text hash * [Feature] Lua_cryptobox: Add keyed ssl hash functions via HMAC * [Feature] Lua_task: Add get_urls_filtered method * [Feature] Make monitored checks less frequent * [Feature] Milter_headers: Add x-rspamd-pre-result header * [Feature] Neural: Allow to balance FP/FN for the network * [Feature] Ppopagate monitored errors from rbl module * [Feature] Pyzor calculate score dynamically Count - WL-Count of default_score in percent * [Feature] Rbl: Distinguish flattened and non-flattened selectors in RBL requests * [Feature] Re-add pyzor support * [Feature] Settings: add ip_map check and rework structure slightly * [Feature] Spamassassin: Allow to set the default priority for SA scores * [Feature] Strip smtp comments from message id * [Feature] add SYSTEM_ZSTD cmake option To use the system zstd instead on the bundled version * [Feature] external_relay plugin * [Feature] rspamadm clickhouse neural_train subcommand * [Fix] #3400 milter_headers: fix inverted logic for extended_headers_rcpt * [Fix] ASN: fix _FAIL symbol for when main symbol is disabled * [Fix] Add a special logic for text part with no text extraction * [Fix] Add diacritics flag for several eu languages * [Fix] Another FSM fix to accomodate possibility of multiple consequent ? * [Fix] Avoid curse of dynamic array referencing * [Fix] Avoid reinitialising neural settings * [Fix] Check remain before processing TXT records * [Fix] Enable error multiplier on http errors * [Fix] Finally rework parsing entities logic * [Fix] Fix '==' parsing in the content type attributes parser * [Fix] Fix IPv6 expansion for SPF macros * [Fix] Fix Mozilla Message-ID detection * [Fix] Fix an edge case in BITCOIN_ADDR rule * [Fix] Fix brain-damaged behaviour when http request has a custom Host header * [Fix] Fix check of limits in email address parsing * [Fix] Fix copy&paste error and rework * [Fix] Fix expressions logic for and/or and float values * [Fix] Fix fuzzy retransmits * [Fix] Fix http maps with no or invalid expires data * [Fix] Fix last quote character parsing in the content-type state machine * [Fix] Fix normalisation flags propagation * [Fix] Fix overflow when appending many broken tags * [Fix] Fix parsing of rfc2047 tokens with '?' inside * [Fix] Fix phishing flag set * [Fix] Fix rfc2047 embedded into rfc2231 pieces in special headers * [Fix] Fix round-robin rotation * [Fix] Fix searching for symbols * [Fix] Fix storing of the regexps inside variant * [Fix] Fix tokenization near exceptions * [Fix] Fix visibility calculations * [Fix] Html: Attach inline tags to the structure * [Fix] Html: Do not treat empty tags as block tags * [Fix] Ical: Do not extract urls from all flags using merely specific ones * [Fix] Initialise symcache even if it cannot be loaded properly * [Fix] Lua_fuzzy: Remove text parts check when checking image dimensions * [Fix] Lua_maps: Fix adjustments for the map type in the complex map definitions * [Fix] Lua_task: Fix deleted symbols in has_symbol/get_symbol * [Fix] Move metric and symcache link from validation to the init stage * [Fix] Oletools: Another try to fix table sorting * [Fix] One more default behaviour fix * [Fix] Phishing: Rework urls processing * [Fix] RBL: was missing some config schema * [Fix] Replies: Fix 'Reply-To' handling in task:get_reply_sender * [Fix] Rework metrics handling * [Fix] Save symcache on exit * [Fix] Selectors: Filter nil elements in lists * [Fix] Selectors: Properly fix implicit tostring for nils * [Fix] Try to fix some broken code in DMARC reporting plugin * [Fix] Urls: Fix processing of html urls when it comes to the flags * [Fix] Use proper buffer length * [Fix] Various visibility fixes * [Fix]: ASN: dns cb func should also return in case of an error * [Project] Add a simple css rule definition * [Project] Add css style skeleton * [Project] Add css syntax (adopted from ebnf) * [Project] Add css_selectors * [Project] Add doctest unit testing library * [Project] Add expected library * [Project] Add fmt library for simple string ops * [Project] Add fu2 library to better functions abstractions * [Project] Add hashing method * [Project] Add parsers skeleton * [Project] Add preliminary support of vcard parser * [Project] Add process exceptions for invisible text * [Project] Add some methods for css parser * [Project] Allow static libstdc++ * [Project] Another whitespace hack * [Project] CSS: Various fixes in the declarations and values parsing * [Project] Cpp: Add robin-hood hash map library * [Project] Css: Add AST debug * [Project] Css: Add colors conversion functions * [Project] Css: Add dimensions handling * [Project] Css: Add display value support * [Project] Css: Add frozen library from https://github.com/serge-sans-paille/frozen/ * [Project] Css: Add opacity support * [Project] Css: Add parser helpers to simplify debugging * [Project] Css: Add preliminary stylesheet support * [Project] Css: Add rules processing functions and tests * [Project] Css: Add simple selectors unit tests * [Project] Css: Add some c++ unit tests * [Project] Css: Add some debug methods * [Project] Css: Add some debug statements for the css parser * [Project] Css: Add some logical skeleton for declarations parser * [Project] Css: Add url/function tokens * [Project] Css: Allow at rules parsing * [Project] Css: Declarations parsing logic skeleton * [Project] Css: Enable conditional css parsing support from the HTML parser * [Project] Css: Finish generic lexer cases * [Project] Css: Fix HSL conversion * [Project] Css: Fix minus parsing * [Project] Css: Fix parser consumers nesting * [Project] Css: Fix parsing of the qualified rules * [Project] Css: Fix rules merging * [Project] Css: Further fixes to lexer * [Project] Css: Further steps to parse css colors + rework * [Project] Css: Further work on parser's methods * [Project] Css: Implement backlog of css tokens * [Project] Css: Implement numbers and ident parsers * [Project] Css: Implement simple css selectors lookup * [Project] Css: Implement styles merging * [Project] Css: Make debug strings json like to simplify tests * [Project] Css: Minor adjustments * [Project] Css: More meat to the lexer * [Project] Css: Move some of the tests to the doctest * [Project] Css: Projected a parser * [Project] Css: Properties attachment logic * [Project] Css: Remove ragel from build targets (maybe keep for reference) * [Project] Css: Rework css block structure * [Project] Css: Rework flags of css properties * [Project] Css: Rework tokens structure * [Project] Css: Several fixes + tests * [Project] Css: Simplify checks * [Project] Css: Simplify debug code * [Project] Css: Start css selectors parsing logic * [Project] Css: Start semantic parsing for rules * [Project] Css: Start stylesheet implementation * [Project] Css: Tidy up lambdas * [Project] Css: rework tokeniser * [Project] Dmarc: Add dmarc report tool (WIP) * [Project] Dmarc: Add munging configuration * [Project] Dmarc: Add preliminary munging logic * [Project] Dmarc: Fix header removal * [Project] Dmarc: Fix munging logic * [Project] Dmarc: Use full recipient address instead of a domain map * [Project] Dmarc: Use zlists for dmarc reports * [Project] Dmarc_report: Add message generation logic * [Project] Dmarc_report: Add preliminary sending support * [Project] Fix lua bindings * [Project] Fix xml/sgml tags processing * [Project] Handle new modification * [Project] Html/CSS: Add transform from a CSS rule to html block * [Project] Html/CSS: Link html and css styles * [Project] Html/CSS: Switch styles parsing to css parser * [Project] Html/Css: Fix some issues found * [Project] Html/Css: Implement visibility rules for a block * [Project] Html: Add more tests cases and fix some more corner issues * [Project] Html: Add rows display type support * [Project] Html: Allow decode entities function to normalise spaces + unit tests * [Project] Html: Another rework of the tags structure * [Project] Html: Another try to fix unbalanced cases * [Project] Html: Fix crossing spans * [Project] Html: Fix parent propagation * [Project] Html: Further rework of the html parsing stuff * [Project] Html: Implement logic for tags pairing * [Project] Html: Implement rawtext state machine * [Project] Html: Insert closing tags as well :( * [Project] Html: More fixes * [Project] Html: More fixes * [Project] Html: More spaces logic fixes * [Project] Html: One more attempt to write text content * [Project] Html: Replace \0 in html content * [Project] Html: Rework img/a tags handling * [Project] Html: Rework propagation method * [Project] Html: Rework tags placement * [Project] Html: Rework transparency logic * [Project] Html: Support 'hidden' attribute * [Project] Html: Try another approach to append tags content * [Project] Html: Try to deal with bad unknown tags properly * [Project] Lua_aws: Add canonicalisation utility * [Project] Lua_aws: Add function to produce AWS Authorisation header * [Project] Lua_aws: Implement request signing * [Project] Lua_mime: Add lua_mime.modify_headers routine * [Project] Lua_task: Add modify_header method * [Project] Lua_task: Allow to extract modified headers * [Project] Make unescape code public for unit testing * [Project] More fixes for closed tags * [Project] More fixes to calculations * [Project] Rework API for the modified headers * [Project] Rework html visibility rule * [Project] Skeleton of the css library * [Project] Start headers modification API structure * [Project] Start working on AWS Lua API * [Project] Use lua_mime to modify headers * [Project] Use modified headers on dkim signing * [Project] Use string_view to constexpr variant unpacking * [Rework] Add composites manager concept * [Rework] Add tags definitions * [Rework] Allow C code to be compiled with C++ compiler * [Rework] Clickhouse: Store url flags * [Rework] Composites: Rewrite the composites logic * [Rework] Composites: Start rework of the composites framework * [Rework] Dmarc: Move check policy function to the common utils * [Rework] Dmarc: Rework reports keys structure * [Rework] Further work to make html content private * [Rework] Html/CSS: Remove css C bindings as they are useless now * [Rework] Html/CSS: Rework Lua bindings * [Rework] Html/Css: Start rework of the html blocks * [Rework] Html: Add images processing logic * [Rework] Html: Add traverse function * [Rework] Html: Another steps to get rid of gnode * [Rework] Html: Convert to variant * [Rework] Html: Deal with the utf_content part * [Rework] Html: Final rework part for the html processing code * [Rework] Html: Fix Lua bindings * [Rework] Html: Forgot to add the internal include * [Rework] Html: Further html urls rework * [Rework] Html: Further rework of the tags content extraction * [Rework] Html: Make parameters as a vector again * [Rework] Html: Move blocks part * [Rework] Html: Move images processing stuff * [Rework] Html: Rework lua bindings * [Rework] Html: Start html text extraction rework * [Rework] Html: Start refactoring of the html tags handling * [Rework] Html: Start removing of GNode stuff * [Rework] Html: Start rework of the html content structure * [Rework] Lua_magic: Try to detect text parts with 8bit characters for non-utf8 encodings * [Rework] Move HTML url functions and rework them * [Rework] Move and adopt entities handling logic * [Rework] Move common and rarely used dmarc code to the library * [Rework] Move compression routines outside of rspamd_util library * [Rework] Move entities/tags handling * [Rework] Phishing: Split from redirectors usage * [Rework] Redesign html blocks propagation logic * [Rework] Remove tag name string * [Rework] Rename phished url to a linked url * [Rework] Reorganize dmarc plugin and remove unsupported reporting code * [Rework] Reputation: Use more flexible types in get/set functions * [Rework] Require proper C++ environment for Rspamd build * [Rework] Rework extended urls output * [Rework] Rework tags parsing machine * [Rework] Slightly improve old regexp API * [Rework] Start conversion of the redis pool code to c++ * [Rework] Try to resolve failed upstreams more agressively * [Rework] Use C++ utf8 library with unit tests to trim whitespaces * [Rework] Use C++ version for unicode normalisation * [Rework] Use C++ version of the lua threads pool * [Rules] Add raw addresses to MULTIPLE_FROM options * [Rules] Another fix to HTTP_TO_HTTPS rule * [Rules] Do not trigger HTML_SHORT_LINK_IMG on external images * [Rules] Extend FORGED_X_MAILER * [Rules] Extend OLD_X_MAILER * [Rules] Fix CTYPE_MIXED_BOGUS for text attachments * [Rules] Fix FPs for CTYPE_MIXED_BOGUS * [Rules] Fix HTTP_TO_HTTPS rule * [Rules] Fix HTTP_TO_HTTPS rule * [Rules] Fix zerofont rule (partially) * [Rules] Micro-optimize X_PHP_EVAL * [Rules] Reduce default weight for R_MISSING_CHARSET- use systemd_ordering- add Requires(pre) to shadow to fix %pre scriptlet- disable PCRE2 for now: https://bugzilla.opensuse.org/show_bug.cgi?id=1182864#c10- Add patch to fix build with lua 5.4: * rspamd-add-lua-5.4.patch- Fix i586 build- update to 2.7 * [Conf] Add R_DKIM_PERMFAIL to the metric * [CritFix] Dkim: Fix simple canonicalisation if multiple signatures are presented * [CritFix] Fix controller paths normalisation * [Feature] Add INVALID_DATE rule * [Feature] Add controller endpoint for training neural * [Feature] Add sanity checks for actions thresholds * [Feature] Add support of '==' and '!=' in Rspamd expressions * [Feature] Composites: Improve composite atoms parser * [Feature] Docker: use Debian slim variant * [Feature] Elastic: Add some missing fields * [Feature] Extract text from img alt attributes * [Feature] Improve charset detection logic * [Feature] Lua_clickhouse: Add optional row callback for large selections * [Feature] Lua_dns_resolver: Add idna_convert_utf8 method * [Feature] Lua_mime: Add ability to do multipattern replacement * [Feature] Lua_trie: Allow to report start of the match * [Feature] Multimap: support adding map values as extra options * [Feature] Neural: Move PCA learning to a subprocess * [Feature] RBL: support matching content/image URLs only * [Feature] RBL: support use of multiple selectors * [Feature] Reputation: Allow to specify ip masks * [Feature] Support SMIME signed messages container * [Feature] Support multiple conditions for symbols * [Feature] Support ping in milter mode * [Feature] Support rspamd_text in selector regexps * [Feature] Use own daemonization routine * [Feature] Vadesecure: Implement settings_outbound feature as recommended by Vade * [Feature] `rspamadm clickhouse` command * [Feature] allow hyperscan for aarch64 * [Fix] Allow to set priorities between post init scripts * [Fix] Allow to use maps for strings that are not zero terminated * [Fix] Apply max_lua_urls limit for emails as well * [Fix] Arc: Fix CV check on signing * [Fix] Arc: Fix signing of the broken ARC chains * [Fix] Clickhouse: escape carriage return * [Fix] Composites: Allow partial match * [Fix] Deduct type of a table methods * [Fix] Do not load errored hyperscan database * [Fix] Do not process links in ignored html tags * [Fix] Fix ClamAV result for cached encrypted file (#3395) * [Fix] Fix canonicalisation when l= tag is presented * [Fix] Fix flag shift * [Fix] Fix handling of skip/skip_process http flags * [Fix] Fix html attachments checks * [Fix] Fix issue with pushing binary formats to Lua strings * [Fix] Fix logging for rspamadm * [Fix] Fix off-by-one with init check * [Fix] Fix parsing of escape characters in quoted pairs * [Fix] Fix pushing ucl strings with \0 inside * [Fix] Fix quoted-printable soft newlines bugged case * [Fix] Fix settings in case actions are set to null (#3415) * [Fix] Fix several issues with auth results producing * [Fix] Fix smtp comments exclusion * [Fix] Fix smtp date syntax definition * [Fix] Fix substring search in case if srchlen == inlen * [Fix] Fix text selectors * [Fix] Honour `systemd` setting when logging to console (#3514) * [Fix] Html: Add entities collisions prevention logic (e.g. for mathml entities) * [Fix] Lua_auth_results: Quote potentially bad values in AR header * [Fix] Multimap: Fix flags usage * [Fix] Multimap: Fix scoring for combined maps * [Fix] Plug GList * leak in redis pool * [Fix] RBL: allow for multiple matches of the same label if types are different * [Fix] Rely on libev checks for file maps * [Fix] Restore simple dkim canonicalisation mode * [Fix] Return MimeCharset as we work with emails... * [Fix] Spamassassin: Fix pcre_only flags * [Fix] Spamassassin: Preserve 'pcre_only' flag when dealing with regexp replacements * [Fix] Try to fix GError leak * [Fix] Try to fix a mess with settings loading by adding priorities * [Fix] Try to move setings initialisation to a later stage * [Fix] Use dup fd in milter handler to avoid races with the proxy * [Fix] Use message pointer to avoid obsolete data to be cached * [Project] Rbl: Migrate to `checks` * [Project] Rbl: Move config code outside of the plugin * [Project] Ressurect empty prefilters as connection filters * [Project] Support connection filters registration from Lua * [Rework] Add final cleanup logic * [Rework] Add preliminary support of hyperscan caching for re maps * [Rework] Add stale cache removal * [Rework] Clickhouse: Improve performance * [Rework] Distinguish between strict config test mode * [Rework] Furhter logging improvements * [Rework] Milter_headers: improve extended_headers_rcpt support * [Rework] Move parsers to a separate lua library * [Rework] Neural: Skip composite symbols * [Rework] Rbl: Rework defaults logic * [Rework] Some tunes to cache saving * [Rework] Track maps origins * [Rework] Use full crypto hash for regexp maps * [Rules] Remove broken rule- Wait for network to be up before starting- fix apparmor profile - allow reading the webapp dir to make the builtin webserver work - modernize the profile to use a short profile name - remove php abstraction, replaced with rule to read the icu data files - remove all file rules that are covered by the base and nameservice abstraction - allow include (with "if exists) for local/rspamd and local/usr.bin.rspamd (for backrwards compat)- Add usr.bin.rspamd apparmor profile- update to 2.6 * https://rspamd.com/announce/2020/09/30/rspamd-2.6.html * Rework neural network plugin * Rework bitcoin detection library * Fix IDNA bugs * Send more fuzzy module telemetry data to rspamd servers * Drop upstream rspamd-gcc10-buildfix.patch * Drop rspamd-moonjit.patch- Add rspamd-gcc10-buildfix.patch for Factory - Skip rspamd-moonjit.patch on SLE to fix build- apply rspamd-moonjit.patch in order to allow using moonjit- update to 2.5 https://rspamd.com/announce/2020/04/01/rspamd-2.5.html- update to 2.4 https://rspamd.com/announce/2020/02/26/rspamd-2.4.html- update to 2.3 https://rspamd.com/announce/2020/02/04/rspamd-2.3.html- only use hyperscan on x86_64- update to 2.2 https://rspamd.com/announce/2019/11/19/rspamd-2.2.html- update to 2.1 https://rspamd.com/announce/2019/10/28/rspamd-2.1.html - dropped rspamd-fix-crash-on-startup.patch- update to 2.0 https://rspamd.com/announce/2019/10/11/rspamd-2.0.html Please verify the upgrade notes for incompatible changes: https://rspamd.com/doc/migration.html#migration-to-rspamd-20 - changed build requires - added rspamd-fix-crash-on-startup.patch to fix startup crash (https://github.com/rspamd/rspamd/issues/3079)- update to 1.9.4 https://rspamd.com/changes.html#release-194-23-may-2019 https://rspamd.com/announce/2019/05/13/rspamd-1.9.3.html- update to 1.9.2 https://rspamd.com/announce/2019/04/16/rspamd-1.9.2.html https://rspamd.com/announce/2019/04/05/rspamd-1.9.1.html- update to 1.9.0 https://rspamd.com/announce/2019/03/12/rspamd-1.9.0.html- overrides.d should be override.d, this might require changes to your configuration, please verify.- update to 1.8.3 - [CritFix] Make flags mutually exclusive for mime parts - [CritFix] Strictly deny unencoded bad utf8 sequences in headers - [Feature] Add Kaspersky antivirus support - [Feature] Add method to get dkim results - [Feature] Add more words regexp classes - [Feature] Allow to choose words format in `rspamadm mime` - [Feature] Allow to get all types of words from Lua - [Feature] Allow to get task flags in C expressions - [Feature] Allow to require encryption when accepting connections - [Feature] Ignore bogus whitespaces in the words - [Feature] Implement more strict configuration tests - [Feature] Improve SPF results in Authentication-Results - [Feature] Support ClickHouse database - [Fix] Add failsafety for utf8 regexps - [Fix] Do not trigger BROKEN_CONTENT_TYPE on innocent text parts - [Fix] Emit error if connection has been terminated with no stop pattern - [Fix] Fix boundaries checks in embedded messages - [Fix] Fix double free - [Fix] Perform policy downgrade on sample out, add tests - [Fix] Properly escape utf8 regexps in hyperscan mode - [Fix] Selectors - attachments args condition - [Fix] Some fixes for raw parts - [Fix] Treat learning errors as non-fatal - [Fix] Use tld when looking for DKIM domains - [Project] Words unicode structure rework - [Project] Add preliminary Redis Sentinel support - [Project] Improve Authentication-Results header - [Project] Rework DKIM checks results - [Project] Use more generalised API to produce meta words- update to 1.8.2 - [Conf] Add DWL support in the default configuration - [Conf] Disable rspamd_update by default (again) - [Conf] Fix configuration sample for ratelimit - [CritFix] Disable broken url tags by default - [CritFix] Fix \0 processing when doing RSA sign - [CritFix] Fix adding symbols to their primary groups - [Feature] Add `rspamadm cookie` utility - [Feature] Add specialised functions for generating encrypted cookies - [Feature] Add support of cookies in replies module - [Feature] Add support of words regexps - [Feature] Allow to add 3rd party clang plugins - [Feature] Allow to create lua regexps from glob or plain patterns - [Feature] Allow to set custom limits for upstream lists - [Feature] Detect orphaned parts and attach them to message - [Feature] Filter tokens in bayes - [Feature] Fold b= value when doing arc sealing - [Feature] Ignore cookies in the future and too old in the past - [Feature] Skip stop words in statistics - [Feature] Store stop words and allow to query them - [Feature] Support query arguments in controller's custom commands - [Feature] Tune upstream limits in Rspamd proxy - [Feature] Use different callback symbols for different uribls - [Feature] Write DKIM selector in dkim allow/reject symbols - [Fix] Add obs_fws state support to eoh state machine - [Fix] Add sanity check when applying mime boundaries heuristic - [Fix] Antivirus - virus names with 0 were recognized as tables - [Fix] Disable headernames in bayes temporarily - [Fix] Do not allow syntax errors in include files... - [Fix] Do not allow to merge an object with an array (or vice versa) - [Fix] Don't perform forged recipients check for missing recipients - [Fix] Fix DKIM based RBLs - [Fix] Fix actrie implementation (sync from upstream), fixed OOB read - [Fix] Fix explicit methods call in selectors - [Fix] Fix extraction of additional parts - [Fix] Fix finalization for internal plugins - [Fix] Fix override_defaults function - [Fix] Fix squeezed symbols when using settings - [Fix] Fix urls insertion in Clickhouse module - [Fix] Furhter fixes to ratelimits logic - [Fix] Ignore signatures when looking for boundaries - [Fix] Properly set learned count - [Fix] Really fix ratelimits configuration and work - [Fix] Remove ambigious format flag from printf - [Fix] Restore URLs exporting in ClickHouse plugin - [Fix] Rework bayes calculations... - [Fix] Switch from chi-square to naive for large Fisher value - [Fix] Treat normal password as enable password if there is no enable password - [Fix] Use proper syntax for making DNS requests - [Fix] Various fixes in embedded plugins - [Project] Change fuzzy check selection logic to lua_fuzzy library - [Project] Rework async events and symbols - [Project] Move all metatokens in Bayes to lua_stat from C - [WebUI] Add history rows per page control - somehow the Patch/%patch lines for rspamd-after-redis-target.patch were missing, adding them back.- simplify the feature conditionals: mostly to enable luajit and torch on more platforms - add -fopenmp to the CFLAGS to fix a warning in torch- update to 1.8.1 - [CritFix] Fix options insertion - [CritFix] Fix words decay one more time (affects long messages) - [CritFix] Increase default words_decay - [CritFix] Plug memory leak in redis pool - [Feature] Add `check_violation` feature to DKIM/ARC signing - [Feature] Add only unique elements to Clickhouse url arrays - [Feature] Allow `g+:` and `g-:` composite atoms - [Feature] Allow dkim domains check in surbl - [Feature] Allow maps with HTTP auth - [Feature] Allow to disable actions by users settings - [Feature] Extend whitelisting options - [Feature] Store url object in images - [Feature] Use verdict instead of the plain action in plugins - [Fix] Allow to call fstring append with NULL string - [Fix] DCC - luacheck - [Fix] Do not load torch on each rspamadm invocation - [Fix] Fix boundaries detection and rework stop words algorithm - [Fix] Fix dependencies for DNS_SIGNED symbol - [Fix] Fix errors when dealing with dynamic rates/bursts in Ratelimit - [Fix] Fix groups mess - [Fix] Fix groups mess - [Fix] Fix parsing address with comments - [Fix] Fix resolving in DMARC reports - [Fix] Fix various issues with parsing of the received headers - [Fix] Fix watchers issue in lua_tcp when doing no resolving - [Fix] Plug memory leak in language detector (affects reloads) - [Fix] Remove one letter stop words - [Fix] Slashing: backport chunk logic from libucl - [Fix] Stop libevent from using cached time in rspamadm - [Fix] Try to fix watchers chaining - [Fix] Various fixes in redis sync interface - [Fix] ip_score - respect check_authed and check_local settings from config - [Project] Rework passthrough actions - [Project] Clustering module - [Rework] Always create result for a task - [Rework] Completely rewrite DMARC checks logic - [Rework] Rework and fix whitelist plugin - [WebUI] Add symbols sorting buttons - [WebUI] Change symbols order without updating history - [WebUI] Colorize symbols - [WebUI] Do not display password form when secure_ip is set - [WebUI] Fix symbol description tooltips display - [WebUI] History: add sorting by symbol score value - drop 5093631ddd4d3389cddaaa95865dc4a23143a10f.patch- backport 5093631ddd4d3389cddaaa95865dc4a23143a10f.patch: can be removed in 1.8.1- update to 1.8.0 The most important features and fixes - New selectors framework This framework allows to combine and process different data extracted from messages and use that in different plugins, such as multimap, reputation or ratelimits. It is also possible to use data extracted in Rspamd regular expressions. - Coroutines API support in Lua Now you can write code in a usual imperative manner but you still will not block any other tasks. Each potentially blocking operation creates a yielding-point. In turn, this means the code is suspended until the operation is done (just like blocking) and resumes only when there is some result. Meanwhile, other tasks are processed as usual. - Clickhouse optimization Rspamd now uses a flat table to optimize ClickHouse SQL requests. In fact, joins are not recommended by the ClickHouse developers as multiple joins have proven to be slow. Hence, Rspamd has moved all data to a single table. Schema migration is done automatically, however, please read the migration notes in case of any doubts. Old data is not migrated nor deleted automatically. There is now optional data retention support in the ClickHouse module. You can set retention policies for the data stored in Clickhouse to conform different regulations (e.g. GDPR). - Unicode processing improvements Rspamd now normalizes all unicode data using NFKC schema prior to processing. This helps to prevent “glyph” attacks used by some spammers nowadays. Unicode conversion has also been improved to continue on bad symbols instead of giving up and working with raw data. - Language detection improvements We have reworked the language detector to use stop-words and rely on unicode glyphs more extensively. As the result of this work, the speed of language detection has been increased significantly (by 10 times in some cases). The preciseness of the detection has also been improved. - Fixed various bugs in sesssions handling We have located and fixed various hidden issues caused by async rules chaining. It might cause inconsistencies in the dependencies processing, crashes in rare cases and other “bad things”. - Various Web Interface improvements and fixes There are multiple improvements and fixes in the Web Interface. In particular, the issues with cluster support and aggregation have been addressed. For all the fixes see https://rspamd.com/announce/2018/09/24/rspamd-1.8.0.html - drop patch 66ffcdfa880daeb3b50c7ef3bcb5511abb6d92f6.patch included in update- add conflicts on rspamd-client to ease switching between the 2 modes- undo the split by guarding it with split_out_client: osc build --with=split_out_client if you want to build with it- replace our copy of rspamd.conf with a patch rspamd-conf.patch: currently we only replace the logging to rspamd.conf with console and set systemd mode- split out rspamc and rspamadm into a rspamd-client package. the main package will still require it so nothing would change from this perspective. This allows administration and training from other machines without installing the whole stack.- added rspamd-after-redis-target.patch: make sure we start rspamd after redis.target- updated version to 1.7.8 https://github.com/vstakhov/rspamd/releases/tag/1.7.9 - patch included to fix lua builds on i586 https://github.com/vstakhov/rspamd/commit/66ffcdfa880daeb3b50c7ef3bcb5511abb6d92f6.patch - 2338.patch is removed: included in the upstream tarball- updated version to 1.7.8 https://github.com/vstakhov/rspamd/releases/tag/1.7.7 https://github.com/vstakhov/rspamd/releases/tag/1.7.8 - added https://github.com/vstakhov/rspamd/pull/2338.patch- limit pcre2 to 15.0 and newer- we had a buildrequires for libfann but the cmake flag was in a conditional. removed the conditional. - enable pcre2 support - prepare building utils but they are broken atm - enable hyperscan for TW and newer - enable openblas for 15.0 and newer - gd library had a BR but was not enabled- changed default configuration to match current rules https://rspamd.com/doc/workers/- updated version to 1.7.6 https://github.com/vstakhov/rspamd/releases/tag/1.7.6- updated version to 1.7.3 https://github.com/vstakhov/rspamd/releases/tag/1.7.3 - removed obsolete protocol.c.patch (incorporated into 1.7.3)- updated version to 1.7.2 https://github.com/vstakhov/rspamd/releases/tag/1.7.2 - fix for https://github.com/vstakhov/rspamd/issues/2120 included- updated version to 1.7.1 https://github.com/vstakhov/rspamd/releases/tag/1.7.1 - fixed ix86 build conditional jemalloc, luajit, external hiredis and torch build - fixed build without LUA JIT https://github.com/vstakhov/rspamd/pull/2100 - fixed Leap 42.1 build (cmake used wrong ASM compiler)- updated version to 1.7.0 https://github.com/vstakhov/rspamd/releases/tag/1.7.0 - disabled ENABLE_OPTIMIZE for Leap due to old GCC https://github.com/vstakhov/rspamd/issues/2091 - luajit enabled by default (required by torch)- Add missing runtime requirement for lua-lpeg- BR libnsl to fix build on suse_version >= 1500- updated version to 1.6.6 https://github.com/vstakhov/rspamd/releases/tag/1.6.6- updated version to 1.6.3 https://github.com/vstakhov/rspamd/releases/tag/1.6.3- updated version to 1.6.2 https://github.com/vstakhov/rspamd/releases/tag/1.6.2- updated version to 1.6.1- updated version to 1.6.0 - rspamd.conf with logging to console added to sources- updated version to 1.5.9- Ensure description is neutral. Replace unnecessary %__-type macro indirections.- Update to version 1.5.3 https://rspamd.com/announce/2017/03/17/rspamd-1.5.3.html- Update to version 1.5.2 https://rspamd.com/announce/2017/03/01/rspamd-1.5.0.html- Update to version 1.4.1- Update to version 1.4.0- initial package/bin/sh/bin/sh/bin/sh/bin/shi01-armsrv1 1706866068  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.8.1-bp155.2.15.13.8.1-bp155.2.15.13.8.1-bp155.2.15.1   !!!!!"""############$$$$$$$$$$$$$$$$$$$$$%%%%&&&&&%%%%%%%''''%%()usr.bin.rspamdusr.bin.rspamdrspamdactions.confcgp.inccommon.confcomposites.confgroups.conflang_detection.inclocal.dworker-controller.incworker-normal.incworker-proxy.inclogging.incmaps.ddmarc_whitelist.incmaillist.incmid.incmime_types.incredirectors.incspf_dkim_whitelist.incsurbl-whitelist.incmetrics.confmodules.confmodules.dantivirus.confarc.confasn.confaws_s3.confbimi.confchartable.confclickhouse.confdcc.confdkim.confdkim_signing.confdmarc.confelastic.confemails.confexternal_relay.confexternal_services.confforce_actions.confforged_recipients.conffuzzy_check.confgreylist.confhfilter.confhistory_redis.confhttp_headers.confknown_senders.confmaillist.confmetadata_exporter.confmetric_exporter.confmid.confmilter_headers.confmime_types.confmultimap.confmx_check.confneural.confonce_received.confp0f.confphishing.confratelimit.confrbl.confredis.confregexp.confreplies.confreputation.confrspamd_update.confspamassassin.confspamtrap.confspf.confsurbl.conftrie.confurl_redirector.confwhitelist.confoptions.incoverride.drspamd.confscores.dcontent_group.conffuzzy_group.confheaders_group.confhfilter_group.confmime_types_group.confmua_group.confphishing_group.confpolicies_group.confrbl_group.confstatistics_group.confsubject_group.confsurbl_group.confwhitelist_group.confsettings.confstatistic.confworker-controller.incworker-fuzzy.incworker-normal.incworker-proxy.incwebappsrspamdREADME.mdapple-touch-icon.pngbrowserconfig.xmlcssFooTable.Glyphicons.cssbootstrap.min.csscodejar-linenumbers.cssd3evolution.cssd3pie.cssfont-glyphicons.cssfootable.standalone.min.cssnprogress.cssprism.cssrspamd.csssvg-with-js.min.cssfavicon-16x16.pngfavicon-32x32.pngfavicon.icofontsglyphicons-halflings-regular.ttfglyphicons-halflings-regular.woffglyphicons-halflings-regular.woff2imgasc.pngdesc.pngrspamd_logo_navbar.pngindex.htmljsappcommon.jsconfig.jsgraph.jshistory.jslibft.jsrspamd.jsselectors.jsstats.jssymbols.jsupload.jslibbootstrap.bundle.min.jscodejar-linenumbers.min.jscodejar.min.jsd3.min.jsd3evolution.min.jsd3pie.min.jsfontawesome.min.jsfootable.min.jsjquery-3.7.1.min.jsjquery.stickytabs.min.jsnprogress.min.jsprism.jsrequire.min.jssolid.min.jsvisibility.min.jsmain.jsmstile-150x150.pngsafari-pinned-tab.svgrspamadmrspamcrspamdrspamd_statsrspamd.servicelibrspamd-actrie.solibrspamd-ev.solibrspamd-kann.solibrspamd-replxx.solibrspamd-server.sorspamdlibrspamd-actrie.solibrspamd-ev.solibrspamd-kann.solibrspamd-replxx.solibrspamd-server.sorcrspamdrspamadm.1.gzrspamc.1.gzrspamd.8.gzrspamdantivirus.luaarc.luaasn.luaaws_s3.luabayes_expiry.luabimi.luaclickhouse.luaclustering.luadcc.luadkim_signing.luadmarc.luadynamic_conf.luaeffective_tld_names.datelasticelastic.luakibana.jsonrspamd_template.jsonemails.luaexternal_relay.luaexternal_services.luaforce_actions.luaforged_recipients.luafuzzy_collect.luagreylist.luahfilter.luahistory_redis.luahttp_headers.luaip_score.luaknown_senders.lualanguagesaf.jsonan.jsonar.jsonbg.jsonbn.jsonbr.jsoncs.jsoncy.jsonda.jsonde.jsonen.jsones.jsonet.jsoneu.jsonfa.jsonfi.jsonfr.jsonga.jsonhi.jsonhr.jsonhu.jsonid.jsonis.jsonit.jsonlt.jsonlv.jsonmr.jsonms.jsonne.jsonnl.jsonno.jsonpa.jsonpl.jsonpt.jsonro.jsonru.jsonsl.jsonso.jsonsq.jsonsr.jsonstop_wordssv.jsonsw.jsontr.jsonuk.jsonur.jsonvi.jsonlualibansicolors.luaargparse.luafun.luaglobal_functions.lualpegre.lualua_auth_results.lualua_aws.lualua_bayes_learn.lualua_bayes_redis.lualua_cfg_transform.lualua_cfg_utils.lualua_clickhouse.lualua_contentical.luainit.luapdf.luavcard.lualua_dkim_tools.lualua_fficommon.luadkim.luainit.lualinalg.luaspf.lualua_fuzzy.lualua_lexer.lualua_magicheuristics.luainit.luapatterns.luatypes.lualua_maps.lualua_maps_expressions.lualua_meta.lualua_mime.lualua_mime_types.lualua_redis.lualua_scannersavast.luaclamav.luacloudmark.luacommon.luadcc.luafprot.luaicap.luainit.luakaspersky_av.luakaspersky_se.luaoletools.luap0f.luapyzor.luarazor.luasavapi.luasophos.luaspamassassin.luavadesecure.luavirustotal.lualua_selectorscommon.luaextractors.luainit.luamaps.luatransforms.lualua_settings.lualua_smtp.lualua_stat.lualua_tcp_sync.lualua_urls_compose.lualua_util.lualua_verdict.lualupa.luapluginsdmarc.luaneural.luarbl.luaplugins_stats.luaredis_scriptsbayes_cache_check.luabayes_cache_learn.luabayes_classify.luabayes_learn.luabayes_stat.luaneural_maybe_invalidate.luaneural_maybe_lock.luaneural_save_unlock.luaneural_train_size.luaratelimit_check.luaratelimit_cleanup_pending.luaratelimit_update.luarspamadmclickhouse.luaconfiggraph.luaconfighelp.luaconfigwizard.luacookie.luacorpus_test.luadkim_keygen.luadmarc_report.luadns_tool.luafuzzy_convert.luafuzzy_ping.luafuzzy_stat.luagrep.luakeypair.luamime.luaneural_test.luapublicsuffix.luastat_convert.luastatistics_dump.luatemplate.luavault.luatableshape.luamaillist.luamaps_stats.luametadata_exporter.luametric_exporter.luamid.luamilter_headers.luamime_types.luamultimap.luamx_check.luaneural.luaonce_received.luap0f.luaphishing.luaratelimit.luarbl.luareplies.luareputation.luarspamd_update.luarulesbitcoin.luabounce.luacontent.luacontrollerfuzzy.luainit.luamaps.luaneural.luaselectors.luaforwarding.luaheaders_checks.luahtml.luamid.luamisc.luaparts.luaregexpcompromised_hosts.luaheaders.luamisc.luaupstream_spam_filters.luarspamd.luasubject_checks.luasettings.luaspamassassin.luaspamtrap.luaspf.luatrie.luaurl_redirector.luawhitelist.luarspamdrspamd/etc/apparmor.d/local//etc/apparmor.d//etc//etc/rspamd//etc/rspamd/local.d//etc/rspamd/maps.d//etc/rspamd/modules.d//etc/rspamd/scores.d//srv/www//srv/www/webapps//srv/www/webapps/rspamd//srv/www/webapps/rspamd/css//srv/www/webapps/rspamd/fonts//srv/www/webapps/rspamd/img//srv/www/webapps/rspamd/js//srv/www/webapps/rspamd/js/app//srv/www/webapps/rspamd/js/lib//usr/bin//usr/lib/systemd/system//usr/lib64//usr/lib64/rspamd//usr/sbin//usr/share/man/man1//usr/share/man/man8//usr/share//usr/share/rspamd//usr/share/rspamd/elastic//usr/share/rspamd/languages//usr/share/rspamd/lualib//usr/share/rspamd/lualib/lua_content//usr/share/rspamd/lualib/lua_ffi//usr/share/rspamd/lualib/lua_magic//usr/share/rspamd/lualib/lua_scanners//usr/share/rspamd/lualib/lua_selectors//usr/share/rspamd/lualib/plugins//usr/share/rspamd/lualib/redis_scripts//usr/share/rspamd/lualib/rspamadm//usr/share/rspamd/rules//usr/share/rspamd/rules/controller//usr/share/rspamd/rules/regexp//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-protectionobs://build.opensuse.org/openSUSE:Maintenance:18283/openSUSE_Backports_SLE-15-SP5_Update/8d8876324a7e6a8dc405fb8cfbbcecee-rspamd.openSUSE_Backports_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linux     !""""""""""""""""""""""""""""""""""""""""""""##########ASCII textC source, ASCII textdirectoryBSD makefile script text with ".include", ASCII textPNG image data, 180 x 180, 2-bit colormap, non-interlacedXML 1.0 document, ASCII textUTF-8 Unicode text, with very long linesASCII text, with very long linesASCII text, with very long lines, with no line terminatorsassembler source, ASCII textPNG image data, 16 x 16, 8-bit colormap, non-interlacedPNG image data, 32 x 32, 8-bit colormap, non-interlacedTrueType Font data, 15 tables, 1st "FFTM", 16 names, Macintosh, type 19 string, www.glyphicons.comWeb Open Font Format, TrueType, length 23424, version 1.0Web Open Font Format (Version 2), TrueType, length 18028, version 1.589PNG image data, 18 x 4, 2-bit colormap, non-interlacedPNG image data, 1647 x 1229, 8-bit colormap, non-interlacedHTML document, ASCII textUTF-8 Unicode textC source, ASCII text, with very long linesPNG image data, 270 x 270, 4-bit colormap, non-interlacedSVG Scalable Vector Graphics imageELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4b60d5edc507d95f021084fad67cf9c79311b37e, for GNU/Linux 3.7.0, not strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=06be7ef3a42e1fd52712589aba58b7d93a94f236, for GNU/Linux 3.7.0, not strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=fc15cd2b4795a757b0d70091a138e31c4f56cccf, for GNU/Linux 3.7.0, not strippedPerl script text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f43ead1c596ba76ee3cf66a6d085414fc66ae33e, not strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b44a1e1963090ca88b91cf4de8b90bf19dcbc19f, not strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2753f98835ee8afdade6ee5aafb667e646f5a70c, not strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1dd5bec30d196a95da0169825f74269723e2d1e4, not strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=c1d9b56cf8d2e25335172392c391d7fdcf8257fc, not strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)Public Suffix List data, UTF-8 Unicode textUTF-8 Unicode text, with very long lines, with no line terminatorsAlgol 68 source, ASCII text +,29D[   6RR R&R%R#RRR)R?R RRRRRR4R3R9R1R.R2R8R R&R#RR)R?R-RR RRR R&R#RRR*R)R?R RRPRR RR RPRR!R R R RPRRRRR RRRR RPRRRR!R R8R6RR(RRRRRRRRRR,R!R R R R6R:R/R3R0R5RU)42f)[rYv^wXL*$vu6l,\mN݂%0W-P5pc#uV*JtS 5 9sk~%8=Cv&E q>rF Z,;>b,y-V2~:7?5SP R,h3nϙP}v Z4Sj%-?w7bkP-˯>m?s {p.wib.O5ﭸ,OPB1s.e#}P0UnSO`af8+c;Lx>39Vb/L,K ~_:(B/g/ɬ>*. ~P=A~j]z֝!0]Mk QKAG~jmGᬼC~*߂MW<7Ҭ\u2_ͱ/=S#~z2P E) lb KUص@q݁GgeM]g\ ȃ.T-'%my^|𲣛ļlDyXnONaMCnC{2x[zmSq`&p( /CNj9岦)lQWxyU"-r{b10By4v91 +R6H@s8\eFA$ -Fhֲo6<g\UP J/th -ha?bF#+]]}2)T{XJ7$ 4ij/mc:Ӻ@f}?K+גڋ7"J00+G~(m؉򦠳QU\ kvRUBNMbM#EI'E#z:m  `hƃ@fYv;Z]TP5mrWe֘pn., CȚ\A?WM뵹bX&z\c;TLe\:&QzjoWpe&w״ez:؏R]v.4{w}wQ'R⪿3kLuajXI{n@/ldF<*R9:7Œ̰EA~4\8TP+|h_ 疣^Jm<  NrD{~#gF2AGIʅk!H;ލw/[ ^?'5꜊|jNOLǥǥe6w']:/) ?jh4? |pqi3qnR$F#!QV ~. 1< FE c o&zl6L>!'d؏q,jb(v PCRk"iG9 *8 a EHNp*/K5{f NCI tG )fEq[ ^Z8h"I):KvLj3,KnIq` CE+t[U`R e~|j!t ֹc8d.ý1xޅL}О=CoY_h5U%(q}J'qBk5 Z($,Pc ot-ר' [A&F]/GL}z2𴦔 3ޛRs> RAs |#35[#;)V`.CJ6g1ٷ/ CMzS jnE:8M^9^F#}-U!YxX';wO>-t Go"٥έHRT~ Ej}k64;N~/;14~ ыChL1ȼpA'ΖŢ|Z2Z=E OhI IӲ@2>6K y8xQd#7޴) C]ۮ͓}` +O E&TR'nVqL\4׼?C7 zP+1n_5aXt$.?ߔ "02 z)_gx."q| WNTmR r2.Ie iԼ}9%#1Ï0bD~GqR_821jg嚏̫BB Efny?{x=TSj@ޟMW-%PrsЬl4 8“ķ [nckKZZjT_4V H N;H,DZ(pR'leb["e R Jjnh\J_Rs{epS#ЋMGh W(80o)Jr+:A42ս@}QnO6pF%j%5y8V 7u%'):v<u%':zHYGJ.Cռeh|D˗"~X39q-R]uQaf[ jjHsi ,oSA`:U+sht=/qpz֓GK;ɞl`/kz5O0_l#f]ed9;tRg+l O-~He[!TztTb##&q$rԡdDŽ \V*U}Yw'"陉a'>UC&M1T6I@ ~>dAY뺷Q WUQpPE tss0i5~d/T$WF_ڽ{VI4̄zD {o'Tx W)d1G'Zejk˨Wsb_K)[hݿT:^4|h)jJR DpeVo0ZbbWΘ fC(s@p)rAKnG{4;{퇪ޔqU x!4tw"<\N"hA-ʁUa@O@a Iz:Ӽe4X-Y ۴f7IJT„Z\ۿ:/eQs % '.41.z ^MÃY <8f}O MBx@v~aQ^=\Le,zR,a@: kH= =rop7Rq8Ղ4ף 9[2ǝ?uiڣl1,0O{t[TJIlًegkj8\q"_ϛ-`jt7lXh2Q[X20z,q0B pF5а5'BWBMI,al؟1Ӹdydcd0܁è\jbeb= f*˅.fo%=*=35Pﺟr]-rm${W -zؾADE%od%KJc(xۇ&fuEH|U} }Dbsg 8YףclE=D߼7ɘYa,#\ڬ8rS>wOW+m)!@Еjd>܃cq2"_Phbb5S7L0#2cw\@)hy΋tU>&9aUu;Z)KlvE-K5LJE#P. Y5YQk 1ۧ,G5V IC7a8u`4?|&;vlk,PRB;$WUJˮ980Zc8%) T\+,? -oEBeUۘa:ʔ4\q-UA!082x]zF:el/fr/#>G搬P enTDaj!6tȔ^V_c\#xݔ$x Zb$@X~jZseVM!84j7T6RgIr=*A䧡S@$zX=$VUHΐ-5kP_$[mK"L!ң:>XHߋu9X͸:,W1u﫟.q{UO(͒kK}sznSJXsd &9jdu,4/ue؟O v>@11(Jvyc#( t89⩡0I k,0;Q;D]L|y~ֈ(Oqk":tAqpo9&%Zc+'-81=R6 mijo!KȡhSx;uay4qU@ES~t 5l(_2z; 1.PbAk3 f_mЈLx,zշ[ r ,7~働)Dwo%"i=%Z6a) wy,vt3<TG燳bZs^:i]kÆu~oH)A: dސGҖ"N#x^2%洦Em$tzH7M 3~mZ+Uׁ d?)ɞ2L׫T28H *wkQ|_.kCy1emv$ R`#9&`fmLP& 1dDʖPqj^uOfjZ s܉ͥ|Lv +y2 !z\iM֤weooJ=8 K;2NڢVT4hB/S=}ѳNL8i3FUxHIf&$Pq4|LQti<{%nW[~RGv-/OCctjY E"e,X՛.OFF D-w]4|f0e1뱺qK ]KN\!|OE}7.pQ > l;ݠ(Dhx V'x^Q]޶;XW`}ws:@+p9N})P$LflO)Y*b{ V"4fddqgu!0D.4o-8@]?.Z4z+kQ Xxs,<$#ږUijCVr-x?xίE#TԜߗnd'NGVSgpifvџ ^XH}>> &F$X3 pE؋2)U> SZS,sHt0N@8=QoT _o++ yNԫ@2"P`E%z]1I{>Q$?@;_Ur9U@YU!4$ '+B2 P6QwK`H~غhd~.kv^ 6+o(!Ip(͜>U.^3l2Y T'*fwH.IIү7GWʗ;2񌮝qb4a Ckd K=֛ؼ]NG-0GP%m 6NJ1-l W jo⿋ww=L8}."WXqs_4-Jnf{"[V&N! cdUKGp0V >D |)5qP%Y bdh XƟqp%fl?hg/pZfRUI=t4g|WasWvo)Hebз= uy;4h"kPHycA`"0p`(HnǶ;VÈXTЌE=1=ˑНa4?C{דq?ٝ\ר~I톲%C5$T ?݌=*ϲF1kw>L,pY4V4g_3E^VĽ\,֧wl"KP8}D+.{ <+OJ)&-/ZP bx_U:cxG6c̲QZr<\[rt)ױW6N|K 0a8KŅ#+wP4?%$)RxO:J'&d.pds:8 ڤsDoTO};u5%Ro*:OXNi 3$$4zFU}j"3%GEYRI H8 [9E B[j]")UhUX.kF.Mڥ>ڔ\ҿzbĩTn4+nn;vFPEcMᷕ@&b" ciu el˳ư&,6t2{RPkؼ Ow^.¿Rʻ6'&֜rGV[.Y1H4lr2c)^.dnq9ѷ)$X'YYO BŅ+˽S 97 "~hV:Z5[bWqI,r.$G>-QN;HVjoM5Tu@aׁPNDOtBKUSQK_qdOU=6\= pYC.&׫.dsXȷaXNUXUEpt,9G_xt"YHA7ʽ` ic00leJk)qX%;\ u 4: {Euhf 0N-z"/M(٫ I"k1Jk3E4ѲNmA G#F?˷ @ksƙrw@Y4ufVLpYiѮT&Iר؂˖z~DscPӶ{ڿܦN=89e/Ll^HEۂXulgұ@>P#7_r=gXOl kYk^-'jcK_Q`0Ď_ɪkiINI_C*fȍ1W-Lُْ"Z}2# ,-;*rZEnY*vJV7!oDW Wd.ZwY}hV ɘmdשs떥KMx8`ɅuH7S?~↩|mpM5r G.en̻w|oL۳3 x'@zpgcS|a2 3VL^ 7ӂÔp~tc 6 'Z^@i 0wzv"Ѭsޑ<}IAy$=ÃAL[Xђ2=)B4>XXn̴tٿ4- g&503#\ŵm lATS 3,THCףى#:NŴ# 斖eL $MK`1C٣;#Rkw_bwv .(B#э*@'7.^ٖ fMq $UttKz:ơTW:O4L,L_i,7Zmt|Cz4v+ _\1[^ԂxLr:ynt!O/JOݎvZeTN^w5!_-*\Yw}.gu6&"jfPE"Jx83-G?,0Sd<@ŶF0Lg.z*{,,ܒ2!ӇANl(pjZU4eQP_| rBLo.9Ǵ\UI䭓o; ]PCҲ\أ!a\aҵ J a7=TCfŀ#gL\ \:;#̬3q7 S>]ktTuP:|^Kwarqĥ7_nCįj< or~<%4)`v3 ݣ2Gr79?KQ},wrQm=!WAk4xj ʏ-:SfEO}Sp*|Lp~^FXL1V $A_;U1ۙrhzc^.5IbpǾvnas,gnjͯ>- ܫKiGX ໹AUrëwIE /k㖻jfaک ^?vI:3GKqsd x~u%!]/#}YB+@^`wLl1Ճa4^+F$uK\zh)r"cW`ָH=yrVhDyJM n> -V[1%ouK(`e-K/>l4PAg 6e{;M,Ua"~)­ Ke|Dbc\w9x oO8)F|}rBúP.ifEH8* lHy# -̎c/+~?i, !ܹv{4S B˽U։-ޓ))X Rov=?W97F7s)0JkP%>tbkRkDmjhR~iZ)[8QSIΊa 1zH=:xlruOsVmpRYxkyY&kI+B t h3r>jlq4kvw"T_*LڣSW&a'J1•NDIFţUN [Y;?2P8nV\Ջf]INܘZ$+ے,rJLSJ(KB:lpV!` !SCd>Pݟ`8#QN y"o(gUgR: WW^4<0WPޣ6 zٓާ YZjC dأ;(*'&>.r[?s DŽ tM(|_|b"Y2q'&z4>=ܣېVj1ލg?uyL(no+e0:Ky,eFg@!sЋEx⫝̸@9B,m!QaG ^Mq_~2 BiȚ9FO:}`UxcI7U`.!)꫿4ՙ ndst`8uߥ7 AHNaw(Zk!!W-]%E%.mPټT)25r{3ifqx/{W8A ,Enz G ̞p!cAhYRt7YuRhkKeܖ+Fꔲ"x{}v^~+s8_ǡyFGm$ummF{̣2sF:t<ť\tD!lćeX}+LjGcN3s(K9{kM?H= >9sᵅhۮkʼ!9<UxF-3_jT=zޚH*~{ },&r#:o#*F]tscfrrgׇE:\TfRa>|R&٨9l ^˜hi>0f2\stܡ&_f#,!/WLpKPDFYV;h呇%(pO9tA}8&9q]rNV[&JS&1BR 4>"49 /4M (wCp1Y4=9YcOH2iG:GW+gf792vccs^ Ube{2&*MUd N hZ+Ld9CayZa<} ";8C՘z}e@0ِ:KqR|q Vʃ^%i1xCS8%,ӚNMCk+<[IgJVBVS/sxhZD#+Mqo]TIH(HFE)@#semkREGrhhmXfEMMw7{%;9y:wMXޢX? `"M%)}CNkլ*Epʅ 7I[}d+7C]熼x=fIyH'CMI;-7}x^JEį0}XqMne宅R{A 8fLd_ r*`#ĜsA*GB!E:Fae5v ]2n2|79CNSjPbw 4̅(Gի)"׵@QHJ4gŨMZ S^c;s{ߛp"V2]/͠+aB):H9ZxuhX4& `$#.*{8:4lmUuN.@ nBKd r#L# ef<-i4Vޔ+Vl0u9sYouV 9ud܋lqw7_mg9lEWQjq:{ yۚPUGh5B| |$,c]r_I 9T68!Fg$(spÒ@ck~H6* _| F[8}'+!J`y8,Zχ%EV=$t3+0)L=CS |;35[7[]kY-B*]rD&C05qVa5ji9AӉfXٱ@$^rUS vj$mGV4Xs#mn*zp>=зK=+C_0.1P%GRw˷4 ̭R.Ƈ%aN%⧈J:KR |DX:K q!`;:qH&٨˔f$Z)Cu3aL6s,A`*=ZJQոD0yA=b炭~prQFVf>ȄN*^[`f q34gB"VV7 /eD$kČW:~4}L>1kC7uSꟵ߯ޗ̱2/Mr A@H}JO 7bbrw̖i+65^> b]ʥN\]n„;qxc@Akt(Wg0N56s>{qO[H6mG/mo1 anp ڧP&ze  *(:3y!S$Mw,^nLACA#vf|G Hjj,XFښ2BMP|g[)x|Bp.F5E\HD*K|g"{Eosdzw+6l aч Z: @X4/tw<7-Fq ؇g0[AI$CnUo%LKR+;a塊~imƨx.PoI asE!Ǡ?*jٗ3 1Oq#s4{o1jw6n#i{8Bد@ڨ 7H.('#[8<8n?{/ V0apfD6Lc2YFak4b=Yʨ׫,H%NFhu?BpC8٪vzDvCeSؖҬ{8Lnh\^B!ׂ~ю֚Z({wCΨi5'Ri:aȼW%U Lj#fqch"#ŲM:ֺ~"붼l~ё4f?#~ )P 8zNJifED٧%GzC8ꆦ;?OL?}`sN_3ݟ!0Sh//$.qw N&i4F/].}ηNiڷ8+QJTS&qV5Q)`Pފ01(􇋒+ ]=EBOaV'j矟 ʥyDse[Hú6Y!2qIrvwHPVkBt=$[d6316."HߋC"= 0c/&LINQ1KlBmORM{N96r ~ %KmƀOW7LRa6{U,797F[ ev+ ńǪ0yJ88Vw>jkV7m=mYwQh,(F=|7ߺ}C(i{$cN`•;<*&}ju#FuΨie7w 5T8kW .FZQ+]λ(L;WN2ϝ 9u;҇n|+pn zYsr=yWlw^:wm 3p91RNBLߋFՔZ Qe13f}mh&T8}"nWAH&ÅKdv6 #EУ5L\&F*_64x26"(玘ZjXC4佦=@%?67:I6U0x-70Ip )](XNv^Dk2U˵-GiqQ,D갓[ uO-u[Gr.RmA 5֡N;ӤAq4!ٶ>F̓ {3/p'pYKnoF({u~8zTO[U4F [ Ic@5‡e{1}a$RpjO,%-*Twژ\K ;Ukp"#zrR*[G.sզX% C@TW7?}n\``!vRlk}OA55 ȫl:wf ul(ya y'TG?nJ@ d%t_9O˾%`,Voh 6.^ ΕlzQ<-^=2=sUqI YJB~_٣Y OzfB5@G~iO 5Zg*i QG 7$V +ˏ҉p.ㅜEӈO F`f]yvH8lΩW&Й! oU\dϿWj>&xۖY˿O>B NƕWMM*`lOyHѸL McAjܟ9`/8pCLI?c*ndzˡ7r߮JC&hP <7-^gkZ$ Yj<( zvӼPu>sۥf)Ց٪O=`vm`H H;̨I6 H?=gILxߐY\&CCqrxorrWm4kmD.gvݯf f kݣ-~<-/ Jak`*@3jƟlrʊcMzpr?0-JrFCUK Y!{)%h}Г^~EWF(-#E  ΛM^m}Yl~4ky+^^TLts{93dYw3:y(jM(%;$e 7 N2ko Xăɿ2uW94b4 *c}+txbfo=j]kA\Ѓ܋k"M'gi5pe h⍆D\(\KFsw`Ti~wK]HuLo' ĀI_;Q_* [SݹjD}.:9,]g?lhZ% -m}Q ~όÓ@@IQ؊;_ l͙ףt&|>>-n3stxzRdCY- V0*_\2[bd\3dmIb@p'4h?̰`J(nPK{uS Ʀ)9G> HTmPR/Clo8]a㲢Xc!ܬJ5ᅠJ!,|ȋ~ncz*F1ng:,rʡa=-G rL(Σ)c?ߤc!E\ c2Λ/7UyUЛ6h|J*k,Z|\g&h ('E} zz9]}HϏ6X ߎgܓv׼:W05=0 UD#bU=B,3]}+ ~duO_@ pސ4bO"rLt&ȯLq7k]AhGzps !Ix NÕ o;7_T.MEΠݮUͯt?)rqSh9&T;e|!3E7}p 5˸"R$^DSi3eqF05 bCHwJN5t՚|#ϳ6$5%]^dtc7 ޵λr9%'D̳eY2$\3Ōi!͓y˼Φ]Eө$D `|3cvD$QՏ?ڍqUܜǙtjaѬPUSTx vsTon@r'>toq /L)qZ?!IIxh0+gn 5S)P-o {tٱPiN@#1÷ ވiKdf,,dhIGu <$҄@FNCn'W%vcv0k3IP ͦ>^үbH Ed;8,/d]K-Ӧψ.BF1:ʧ5ьx7tmMn5jk d\%҃HIP2$m!5AGgeSAX90}x oZv{^S|d':EFϠt>n,^İs8nf_{A-mu䊣&bݢѫKkj:VA[NA,E5!ul_ʞmD->Q{,(z^*EQ#VEP\Ⱥn\^h3AZ[ ʼn t~j V)R0':GX4ZP=vܘ&N9{9$Ysm:ф"mJLf] ШqfdÌUPjG:ˣXή^h@Uj%q/ _@9Gg%~Y-LE5M@zhStN2F,r~6߲L3Jz+БZxͰkfۨ<(ϖi*sHE]dk΋֠5!מ8p7OޜzA^b m*,`p-_l*X@lM/,Wm'O1~ށtfϹ^CB텬Ī3[1L!w@x)KLܞKҬ/Ci_k[Z~rD :۩!~jC#)3kFLrTTsVkʦŰ Gdt]m:|[ rL >Ȉfӯ7a/s\UZAg7)M qz{;cc6ј GW+oUG`ƅ!-6BrlJBAn\,@`>6:Vݕ/ *n=jiMS| Q=as[ hʣbH)֡S ]b9rC΢c 7gzM;@*q+!iw)cLn+~Ri҅7+ѮtfrȎQJ*( fa >/V*40/>L7Յ0 ^ ڸ FbWjףM(Q0IPƄRP-hE>-N,Ie&͓, gu23S!na5!4a'ZAQpRX :0Ϯ/az磺1d#II i3C50?gщ_$υ)sdz@̲ ҁҌ8(oK`IU\xC=bLxY*'~ ]_x2US`(PTOÒO>'&\[g]Bu:vOЙjOiV猃Y[u *#aS+z1:b,ӎz g4E1ɰQ.4Z(X7U?K<(K\&&咰[WJx5Nm?GQ+" :w2l>Oh'fwQ`sHňDa$:Lq0@%,\ 9ĠNi ͭa;L+ jW? 3oaSP:YݱF-@88EOmȐ݊,чyd,jBxrL EL g ȩZJݿC%&w{ΫhcGQM E\b4BCG@` i,|O;$A5w*ЕzM5b|~!}Nw!fdQ /I1H)bXV *]_lz7j(w7tO}Hi#Z/ uY3J!djP6LKi7rz4u[pa ­rF X>ص=#;$&'<i~ FRB C]3sW \y`ٟqsQyX+%KS߬D0 5S$f'W!58F3DV[Ӓ۰EÚ~ nEq|3OItJ |( zX0a5 ːF s O봊_hg͛CM!B,~"+ $D[i E)ly:0jlKx #p"}jņ'Aq|^ `ΊKEؖr \~SZ񴆊:bh4z jumfѮJ)u4>_ ϙgyYgﺱ'qyڼb  yr%fb<ĺ&z Pnoi2ȭluA$'n O!v6@ LV':{ffz5iiaqgF~,mJFE_w8 B?> ܺDY] o Am5oXic'(Ax8pNcUિ1I>Ȁ\Z ,ЇczQZsr'E`>Ua 9 :Ԫ,Oʑ׋ƫer /G*}d;J8vKN!;5ȯ;H/ҭs a QV,oKTWg Y9"G./EKխOb] gҤ 3]a~/YkH7_jh4ьf rtg{mYN_Uz6vPv|FJ1-A}U̩e:)8zZ㣲HlOX~ɊJYVh-Ջ?T(]j ~4\9X3vU$L\~"rjinpޯV.Ep3Rsڴ@jREĜ!6Z}s -Wl G;jiǝ ;XOl[Kc S+9}ڮe73pgJYcݫP=G\Ag81ݾG7C8lLrcb@ wp88QM?qa]Eǔΰ)2_8sgIףT#K*(f-!=+E''}uVvB@4 =ly[̌1i-&,O!FifDtZmXe^ OIܟ"j4xInP%7%)EhyWiS<}-~$M>NC~:ɗ53X0[jGoC+<ٯqE[ ;_ίh,^O@AWNq+pQ8ؤ;ƴܺ'74yDGR27I]RڝȻcduf2F0K6NDb~U`b7 J$y0vĈڇp~wVzW#} I֗ lTg-s,(T.**3c*= ^zpܫn|e5C(=E|{&(qk&׻p( tKٞFtAV%2#\V,d m$zU9 8\`T9mgшPDQ9؄1u &5W\)BZҚAt߇{,GI㑧PP!Tr| r ZJ k=fkl_ܵEXKR˜a65kIMo ~䠾Tas Z8 EI,FǂIٗk-1 -إ?u6^Uw^+GƳX={պt:[pwH4hP% mHToBBHaM#H(t91yayG@=>/*z}*oEAP}lvckyc } ){!1lxYVRּe-8҂r%efq-T@(xD6PN8w}24 MeGS/.Ar!ܜtvv@K>B lMXt 7i V }H batte0W+O>s97RsW/eߖ̍g(oxE7 iL!մdFQ!P@ymrߙ p$l(oE|k1z~D֓z\ӌni4fE ,v tbka9k1 (}Lm 8 } r- ` 1P8Hױkɔ.7P'Yvv7NDIXf$qd%6> /aC޿2j 0W[C((^zINiDs 7C]A( 焝_h鲈" T j=r#4 P @YRtF/6d2k 1lҋ^b;NfVR_ _B\PxQgs[eEv5o5x݄BZ<4DWm7 wZa0 ܶO-Ḥnh %v=o[/>9!Y̖+O`#10r>-LEڊA,Z~oJ$Ta_gCϣ7"Lϳ"p',%RKno|?"%U/y|lvd(]A₣^=QM#-HgN!b4no|'+Bu@1$tnRHӨ,"q'$hKsKeEwxr01(bn Զf 8{Gzo*Hݱwк,yǟ$,0jsg)aN:^`w(H齜kbCO-ǣ/<,Wx;O'=X5\-g() pCYWooU 1 Is+}fGd=S :4sjv-Q1!}FIR\FrS"'Uްcc_iֳ\V7CNcI;2^E'ɷ|hUfSF0H'U!|,nAʕzsȶdqp5-F3#*/cUDTHwޣY= (]^Q1]( %kWg(7IgAZ=4 /SXa;*x} &g8ʥaI6ۯY4;" E(Ʈ_@hHckO 6[LK|b;iqޠ4`'$ɞ1ٝ`T >Xͽ@7o$YUZ:ۨ|zYDQh#|}۠;1i[*c_՚BHq##0yp@FnاLZ Rۈ==[Kܦt `i;UVۚRHF8.2?W'u&yrU~񙎜Bre 1IrJt9˸C_Ov19hq?7瀘RK?A\OR?&2mOʅ8OLO::#1IO7QEsvŮ Amk,+Pꘈk_XKʊ\RBycRw2u24Z#=BIrt菩6+ W$۲^SwXQxH?=2&55/{.{0l˺m}[*-W>Pm&l+fBwueGȺdq<{ 3x-c3'-"*a)Ec,QM^)fᰕQﵬm> mA,xucd4nk8 SO]!5<$c7[˓vŠH?{;IE.iual14|}w d} miBKnw[xYcT*-lV=)m&@d7rf4E66瀡d;?t4aX={QwY3oP w>l{=#VzK޵ǃ$:kwuɨhJ`` F,M\J%K=y${]1B [.1b)"yd;(R-!k3]Vѱۣ% Z X+`1EԖK?$i ^H{\z-GB則 `,EηFRG<7>?E߈ EODUIQvNԍpe& r[LJ_EYGPLBQHzҖe9=cy' >%k;=MNPwkd>MN8Rv߰ wtA1هL_qkv"x>%x5>VZuw?&<"BZ7K|~њĖeQpca* .XZc+%9!¹V#EC#vvӘtLep~B}܃e$R@Vl=m@AU{K7F<'TRcϒ1HGϚ+WZDFE=eKFۨ6)  3N= ۀeQswWDM0,]M= bw1Kb`ِr U VcUH&sr|x353.qHLnS,}[/:GH\ G Xh mx8h =$>Ie?17䬝-`:Ri ;GLI^u].@7ҕ ޮIb׽Nm*?ָ\2[“Ȓ t.`v;ݏE0HQlzRUc`rdj=Q˸;cdהMA@ʡzG<-OV599;GN2|ջ-Bxnr Ykܱ;vh\o6x/ϟQ\XV $AV{!~I=5MBoBmVFrmp,"1˪MBE;ҞЋ)KTs Iq˙ϷշpsCBsC=׫:݈y+bW.k쬣sHZF ŔFT8|AL PkG#Uypi+85j,5H:gydsT)rx|#.agO\+LSVQ2PThƇxWmo %e/ߎ/=R&Fiz.\0ՀN rx24 < |CzF̥YUr؄gɪYTBM= 2w#'(+&̸v0 nJ!PHuT?"tmɆc+brQ!(J((TlBF1D B iޏ׽ #i,;(PD/4+M(T/ }D#Fxb(+UNkglK *@҃!ۓʠoxҷ蜸wF\?V`#>fegזc7< v_B̆蒗&|74%bη)~ 1[!J <5<.s^Z$aJ-$"Uݒ MB (j_VƄt%Xsߍ 0]*_*d軅H߈Sh gVdg/~Ed+#׋KKŎ_ Ա Xp6ѧ,ߙ\! ѯcp4_4M:,8]HY/OcT^wžrE8þ /",YWl{ġ]=aV, $&e!éKAGjrČcDBF0>X [瘾tCԃ=a<6dp%ۜuIW{R҇ig039(WJ&wa\z~. * SP>(6ŭuSڲ8Prr$:<2Kў}]9&sr [ ak.UK_O/]3{KyD;h}`k dLt' JM6B1(<a7'7+ƲRQ|2@cϖ1@BB7 -)k[09Z"yi$U&}fNOP$p=za1iPj:-I4RbvUpF:9*~3MAgI8R΀JO:eӾwF"s%NSE`:M{[c$x*XC xa7dY%e>2٫M )tЧp!iLKu? qM 7o.{s*pX*X 7e!zNJDDdB +>,8QX3ȊL`Y<f)cԣ,YU"Fdu hXWfrE< LBK7%VΓ PRU9ԝڧJH{/Gx1%hG|ŠrCGy[\ĤԒbέf `.@k͎ZHq hje-ȴ &:Y}+)E< %=UưEq5&?JAZ8&E{Yp\G`ƃ~:X5N|;mj5Uͺ2+WB'( = $AFᙏv|5w/à$5aSԦr!Q:_ pakpoSR 3?ŃA$> {`Fdzˉ*j-.OD&RKGy,u[|>.DxτB,$2ٻŀ,/*xf 353g<.*IIz}ʭA'!WASn<1T#DyiB4DS/IˈhL'#lN1VeLgiߚ[>U/b5GTNUpDeO`,HO-=b1`'3)>sUZS@p5"Rm'yLr#Jo=.o9zSOG+\!Jx{Ɖz)p֜;9hyϚP^nXEcQJFj([o,O&Q66]""&Exuky?UtۇGtAr\IV& 7YW˒!?ڧ# SѶDæ |=ML]l=%(DvfeWTBr~˥&(ŲȢ\ɱFu=FI3r'iv"7.)KcNm,Nj] 4PBJ)/{=br5w#1+ϋM8>FaUS~w\qal =W#e2Bl{1$~ ov^+3/m(7ͭFhݼ{BķAt #{VB<. R9jCʚK,$Xikm+#xueFi0,F|.γSeFc;+ ף]QZW."CցX]$Ex.W o5>o(>HᐠL²ẮESFv6z&x D&I}!BV- txˁ*~  A]v d~q` `UkhΦ,<N^ʢ++uVpf s}+^ .qIf4ثLɴ36y~;@揾䉽E15ZmFU)N'B{qOVTM:BHN{ytYk]^75ʞJ^lS4,uBFj 00A7dFXW쑏[,ʿ~:^6dak5%'>pus԰vLM`M3tNo=G'IyteչCm.!"3xIZΓA)tnqv_UJ"Q1 Þ$0Dn8pz.Ipkz-JY73Má  ;XܹIO9DEn+i+2HQ?k\Bx> }º:&4TYMfL [ŸopXdWo#Kfm\Y4vzsV7 KH;0oK^ģDFȬ-.xYi(e7ůPRu1d﫰+lXm L@h'"[%}/^oZA&v^Gy}#o?e1oxEGE+_!RN{D -*fhTٸr9tY knE\&eJSU*p8TYt2JEHaz"-;,P{] J!\GN/2 61K/I\qxBwu''fk@_Y юj>gZ 1XEc gbU>FXK /Lbc}sƬ̶{Cf߸Lz)v >@= C" Y 03Z_[U.+zv?DWMEl*Ap-- 3%Z|enR&ѸLb2I;< ނȳc}Pa۠N6Q֨֔`1v P{}HƉaљ9$xB^C@Rtd)H>[M88{ת)<Enoa#PPLBc]J]Xz(Dj<~';.m㫖  UrQ{L-;cⵠ[dcDi5wAǁ@LfiQ"~,"ls,A2lCC&@' TVh)Hno>#ѷt-K5Y`;?ȿDdLmAf>dkTn4RQ535+2Bf7XiqW6)f ߾p2O7d .qF 1e54m%QT 5Bp^  'XNWp֞襉UiΣQQU/Bg>S5榗]&^*t?`Xn)x6Ba:'#1ѭ-l710*I԰,եkcWGp](Gb(ԵyB/*; SJs ZC :@E%Z  |mt2MT!_6;{r Qlvv*-sK|Hrbz$dFpO:hBK1(غj$ʷ//-5CM`zz ù90PԮɘ1 \ˍn{`+zͼ4A0 N!Uacv ddK6E#1NSw<]g;wax brfFnrՔw]G]ccg?SC5рcF /nu/8e*҆n/JjȺ>;}Q׹۫գ [XyH`CS:vwoD x HܢxySi/t;" `_n.l>C4lPB|>F{s/Pp fxq&֖6߄*]w7A_\^~Hߒ7g}vnl# _W&7x\CrO4`{Q,BWeZ-qRN;ʬfD@]jJQɋ[7I2(:|O@>q;vK ^m;~8+DBvGP&'¶pOq&mA-#cq9PCR;xC@ XH,U8A"0G<@Q},[9!w ]x+^-v dVw{#n7/ :lwHD=Q/ `xJÔ1y1sZiV2( p)S:%{hIyPgYW>.*9L̅-HГΗ ۙ kP]F2zIߠR2pI,hN)XAN 63Q 3SX.fNt&[5JL̏&P.`S\$\hr^D9vsW2~oXW2YBC> l o#]"=22y$\&+y !v>CmiX 2& |l;-ҹ҃XMxiY $Ly3>xG6k %kApO>39W*jG)w(e gPaj~I3[RvVK/Ds:3H*o!-<λ b֝e`<& [(LئUIa!$FPvw,Jv\TW, lLq2*96dKqw*|A>MK%IP{?=W%>Cè:-kُih0;̍π"_a j/)}_ぼx V'U%N4لѝ!S3THQJbGI8\ C-dA ؜٭qltȊ:񺒝%epF+C@̈́cE߫,KC/x&O3Ts=z1+Uߘ lYwsۡbOi\ܡO l"7tP6UNUpEx)tP0.=%}4핋XDcJr !hl#$*]ᙰ{:v7g0Grthj7?N.i9W┍ CY*h,Q]5[X&*Oq|$X:7ʡJZni[g@v0*dU[BmM\)dTLQy,O DpƸb}Ku;b#sԀC!''^zMBJ[] xKaǣXVk8ڿLxQN4 L Y5٥6Fd{+2a-`$9fFܑ$/R]IBMlzh).yH $ JC`6o?t =SLXt1)%cV(kr, 8ZPP1fW8o^7#)aH2yL~ A3/MgpaPu\m8.NO/Wo30s)g!K=NdٵK<ڍ/2S<}Opr+IZnBr禚I))EzVoCy$&D:&͓!,[νUnf<Ϟ-R7+L*K&JvZu,"bm A"pijW:aC`õ=^h%ènX,)yNj?0+=P7!/_OŰ(kPC{1(/4^ + x߁/٭fb֗4'g|\eDTD&^͡¯7Y!*^ݡtEz[l2-%D922Յ®"Nq(!¸Hx)sL*N;}?!U4%)9ҾƮA ^t#!цXjUfkǚj({xq؏ɕ+F%F[cy)yq?#lKi9J0^'X̥4z* ~-F͝j'E=if{ejf7д'o7m^rQqpyV JkB'SP/T;/'ԗ>Opzk~}h JwɒD#ĭqZՉ`$%ؖCJV8Q+ov/]F ӔsCl~VHCMMjN=1+vW:IyS1uƲWzOꏧe' 2=V Ů+H0E.4rVDqkX bVzܓeYVA{*t5X{qh[~5I@bypdN{a-I%|ٸ[ X=aN)tyn&nBs|SJXZUܜ>0}*|pIaϠf{ޠe|fvs# :BhP,Jf27$ex̬'ϖoS헰Q\H-IP{ӗ!~B97CbxRY78r.0ӆq}'~8_`죬KZvb|.0kQ zD ٳ[nQݗ _b-.Y(y^Hڂ33Fqf2U,F6Fjo3s|~96 %V$Ϟ`6dc6̔C`nafjƙ?QzKǓs>@tJ8$Qᘯ5u,8lx"l"7go34Zm{H|<;:-%@o&ZFT >:&b~n=룢?Bt8}Gl-~9Wwr-4y_+$/8oLCa/D+O(qB Y˗`ux$Rsi $6ƒa;\ݚ$Y]El]&1̫Yp.Md?|i>(~tkhGͻubi!v\1*T Z@ i٧g~ c壊!M~jE ()S54+prCWϜ21G]Xqބy)rBI{ٲ+d~x@Mk$ýц6p6D^gE?j}HWkh,f6vntNz$Ļؚ~L`nz}WZ tun}Ѵ"ꌂd7EwRE^D^sS{=1n} KK" ! Cj ) lQK'|qHsMFz<"Twp3v"j| w1dkmE=m BZ'([Yu͕/GI$_nɱ-qt=ZC|ɹlE]BH ƥ*R0~<:MuYVF%3}85Ïi56V\}f.p +;ta۴IBpx}1QV9&Q W}FN?D% d҃ȾȒyzLF:X[#g:\aab721L@-26[ujSgu@=ur܅/vO/@EPweR=9VuH O3Ǣxњ+r9El#΢}'`iYcO`{E&,P2J71v](c(=]0כ$rq@"ްR5Mpax[r g*0 K d%!NkSrFs#NێP>R1.ŤBG#X&IN-W1D k7 % D/7djLr[z(rAcʖ;CQ 5N&5hj?6-j_g"2ӕntґl ߠ4NC'i&Fܚ8(ZgQlƒ O2H(=#riXiAGCGVjR9uQRW?e89 MB;CdK m7osһ1ա!0^2[@;!ag;n:El }\ńKN~g ]oD9w^TӰn|懼VsM#yY*bFAAkʬiSRy\Aq`u }RI-)pxn_FS!(5x.[m*RR:Q!yT/?fծe1z.#60%w9|4[m}kk@NS(%;/9 bkH5d*MPWҵ^V-4}s_ļq$]Ep(PYźSW8_s?w4ƧߌA]d,I;y0][.>z-MO\%EqaۿTi.[%׋p&,'۱gk~")W Ҍs?‰Ns?[( +'SZ:8JjP&`"[z-' +LS'Kf ?hLhnVC.My;&j`RӢ%n@ ApoȽ +!nGgM[̽@G<]Awl#G+z%kvѴɩJO.Qczakז]sZ[D%ܥ?6*_Į1P$"JXѰ&B;?VIpجj -ٌ[8x,?c^R6 Gwm_EtM ȦdU\2sp2jt%EdbT:x#^V/󬣲R;*;jW ң`i_AZg2j];W) W=ohٯ 0 S%gJ21iY&KݬbRR ֖FjsO,1[)'H&FS P~IN.-q"9c{7h050Jt 9UrvHt_>>jAW(?#m7 J\) J%H i3z@ho м„y}BJCYF'(~B9"YPBk{ rx\5kDڏ#!9X0(qvWĔ=p);(5mKvoTQ[[1 PS#B L;][>sLNMzu@)ӈ8X]%@'-?zJH2MJ:gDP \[^(c|CWkoNU:4-ْ(9hc@$aTn{E+DZ"hiؘIn"hX]eoG "<7=/&ȩ!h=3[z+C;{DQ) ȇ>mYNN%) Ɔ#+x|#Up>I ݬ[h. =ۍWژQvh'Iqf@cr21呯g $zj\PA]<iALfCM"HH2WMQwxˈHSabԡGC")u+YqeYX9i<۠X(NС ?KO1xaysˁ-U| *(:'1ܝW>۝W6^QNBnDN#,1e/_fh"IKtu;`v[Da:vScTq}:VtYeظ&q>8wCIy.PP~&7Gl\wwBXa96Hπx+(=)P~kiR]fOv|Ÿ6ާtN'3D @o]rL[6ztRҐRXy{ǯD0s)sx\K]jCjƆ/„"ST=?f3eDD!z%M6"?Vq_:ܖ4ie8|B:V سB gs>O:^Am+1 c=UvW(K-8M8gѯXܘ3-ގ&>LegLf(;\٢^XȠ(GuM<NYJtPn0'zQ?C) wx-PR_+oSNkXpN15p cg A#uB DiPVBW=љxa9U~QKT@rEl`B }w%ʆ}%y Bjr|2 EiWM=F~ޓY'>FJXs~W4j@ ,J> H8X_(< Ng]k2W!և2'ᢾ)`4p.n`q/jnJTh kf^,K :m"u i zE=r{KT(mX q[;t:eѥI;84YA +ǚ+F}2- pO"0r h< t;6r_X,y]ړ0[SU$*ae$z7Kbg74|κV, NWS?"gԚ]b΋oEڃ=ϵeTQZg_*>wNjL1ZUO|CynrhwYɷ* `. =͵}6twtq SLw%XJjwaolȗ3N-71!E7'q/,~wSɥ'zAd 4Lj-析RC؅v!td_YWoUkcE7""R8Lsp` rV:" sggا迆P[ dF8o}sT{ %zv89=& 3*wFd PBBCӨI=H.sli^Չ^bϮP߂`D4F%MBOːezٹB=(8(?}JXe:+q=M6}^Wb\{%pЪ~˸I] i3CRb{uC1\ f }>')FV0o2r%ձ">oW nݣ UYLH3w9[WgC>}f2zFVZ&y0" ▬ag`ۍto\[Ŏv~1K[-6Tv{%sog WCzx88l ҷCQ i\."I5f*[EBTΠRKkkKz|7waQ'iFX,VM"QHAH㲅̟lkHh`!ذth;l,t-By qm`*#6T>JuZx$,9h8]Rx1b)HNP;4c 8N!u ֱU" %KD Vм!E/8 6C :dJ}HiggOap > "3kUcP='IĂ8ar$G3}?"!?p& Kq4ډ,[|++_G1X ž@&W8oժ$nKZ[#gv3Y6!oPHkp`^]Y־?P0ó hw[:N{̓NDw*߻H!>R+;)f!,kGմv5RnHOC~k}g M Xlܲ Lp#]Wh%ug×s+9y.D6ٹ7K e0`@*˥T`C#RB爧S =*˜T`{S>fS;xݒQ2:MlB8*,)KV5͓,PlSk-N`94ALJ|Зѫ{.~MkizgyC&#Z `IJP32CTZ(ҀT+hԣK IhU e7F 4!Lgʐ@d.GmVr<DuA**6Zٟm\u+W%ЄT?Փ#oz0/uXd#BQϭPWۉJ라 X:y⅀UV$*e嗄#Uie5X-l[f<@rC2*["yGx?VλVxb@.!c8λBN^ѱvGYK$VTy^[lrܣ.C0j 9 3ʤw9@v0|חBF1:0KkTbԦWeW| Q.4+`@D6Y't,Ϧ,Ghқ_ZETUUJTBmߥUL @DQ=yv8\yg*[ٵ"z)%bDTD5 / 'D=_󦞞Zv=֦_;7O+08U}LرDMVKxmT0mN殛ᑡ,8%pDٺ.!XEtY)y &׾='C{7Ub;9s[,0#+$Cz3EVC!iDrx] m* c|E ][97@c(64G2gI:: x ^NPNg,'N0o],_M4́"R[L+~idY;=O.m]m%!SOnXb1c ,$+ixcG!4'9k`'$^%BwF␞D 5<0Қ*R!DSYAȴLed %5y3- 5tG?Fli zL826?OBrz(L?Gx_a 161;np'8_U5\xќwnYu$?d;zJZ+a9weg\#@G+)O]# a]`ݰ1- w,(\p3jORz%*j wZ_qCaKI?ZvIg[|] Z&Fc-,v͜[d7f1ϑ@sy'o9 zd6$C/_)/#["-˙dr4F QKs]/=iؗu="4 ??(s."T"(+.SӘֲ֤ɳѱ_K . b bu5*5b(\סe/{ * !A͞>s="lPt>34 ֙Mn:L , .~}:宔IǗ|QF;PrtM3vpvFSf%Gadl~ ;F<jI"hSnwPk\s \RB?r4*_1t1|:?."'ՖO8D孠 Yw17|[u!` y׵%:(r׊/| >`\rIu|}lTL: % ?!_L,) l]&TaS#bXf5{Gp^+V3>=vPƨy.?rߦ+s!ْ*o3 d-lPv\`"5qKu(LU4f,-+\qP*p2o8ut0O^YibMf@7o8wi.-o [d^v6Z2deQ6?E P9D;D5Xr֔_Rmz)6`ӤH`rIroj$X5c0keV``汷 ,sɆ_qb]윇èh>Jf"SB?V#QD {Z5N7С бhUO"L@D+۷})Q)9mYzΙ|mZkZH %o 2>?k}$.AM? uV' Mb4sW!H3m?%lƑJrGvEٞ7LسaHsO7x} ßGɚGfA jm5+zc ?TӠ/6 7Tmc;3U-B;_?Cqz>l\y[pbqi]ٰb$lc̘8c5.T<)Վ2@:{<j&4&z{+@g3^;I`(EC p5^/3N1xsLM&);OԔAIV![T_]o)Jmޡ[M=RTY¿0!~5)|eĉ)W,^3*?ɂtir%qλc=RҲ[FNԘ$Zjq8䰵hNzdPd)þ$5W)}j8́>fRFv$\qS˒nv&ܻ`i$"lW-J#eݒeح #)Iݿ-$$(ZRgcv I~>1jѬҥ#(31<g9ۏ 0 xCyo]>/#:"5kV;Q q%X7VF5o9WٜG6p{|EjOMp)쌛[;o[ꀷQCS 랖^R1%JCyu)@4|W_NG<( Nr)mAxN*ܝ8ӛ׳E|n%L<=7G?8U !f',͙S YTq&BkQ89[*9X=2JMcIA,(et<&](~=tAir<樎t>@)/X;+X-YR\?G'+[+j]JJߵJ.1n~Y%`lH57&>ƹ|ĆϸkvK* urwj"sZSo*uk92G'"=~.]`Da yǜO蟽rgPW [:05GHzM<hDQ/VA%{KzdWToԍ M%xF[5bUQY'cעL&sh #c #\Jz:U83-њ1=7l>hZ^xh) ϾώK2Iŗ#Ӱ&岐('N6҂[˴Լ[F(>@CfwѵE9ZJP͞~ itZv ,unKFq+ ?Yَ3gxu3֠˝2vJnpɒAF0q ~)KҗG 9ζZ v_$36pOa*i\Bi[nrƈ]oE\Ci{gc{δTz)UV#%.Nt..N{)zAQ 7DDkl#v1R:jv o%vLBIUP^GhP<o ="%_)HyRbt(rS`wpN|y;TG+<[w%){oe?xXx],9PҜvcJ b'n$<Q-b[8مd:"g|,WHmkTɡڐ1/ P u T1ӧL|~e.CV"3O`/˭`G)G@qNoļGXԞtsrZMuMh9܂:Z&Yw?$nek~sޤ%5{0 &@YspH.xsd! .mհ)s ^@fI6݌@ dv(4ȼ][hۖ].QHRT]f>!1XзF}ar)5jxLYV KXB_ )otU. H;&;{8M Lv%I-tVCR@Zˢh3 z1".ة i#N&l!ϩV?61"3YK>1Kq.VE{ķׂn4&֩sr#3H\y]u*{ɢe\J5Rʿ\%vfW Vlr:3eFaEH,a"~Zhr-hB͟ՇC{=B\a]vh.wrH@"ilp#f&췌뉶 E!($ f^ bݰ}(i4$6zpru7+^:D4HPfG S19h8dV[4ux9E&`B0="fˑ鲛u3#R'g; }([6ZLTf#斠/r kJE!!>cO!i2#03:4<Ƅ XTF<#Hx'@hhki̦AnVCg|63; Gh~:ܽL#Q.,17zqGo1~@i.ӑFj Hv +^8`1+v4읡r㡇!/Ȩ Et1!ܐ4] 0wA\4 s^_lvhby4)s,, ?q'D]«k{*p dvA]7;R xO4e_ \s*)8mZc7cl#\?0F,kB7z5%ޚvAmsD]7NS1ߞC_LLC09U~1 VǞ̻' _'ݿjFHIi߶>fLGޑ҈b8BNIȭ>X:GhﰐU2G D4E*ƩsjǡNMqR ZZZ<`dBc7מGmVd@6G).E^#Xț  Eؙay 0m\1l@fAYf~0U`MlnnD8^dOHie̸3;/Zշ+q帧/qH'jc*J E1wHCo+>LjA){$5h.d7$XSCQ7b٣i,N;샱fn!? Y;3#VynlFkQҴ0'V> 5Lh ޮǑ4=wlᰳ<8ob4E=҂9^h?1-4p2`%km$U02o$t:*E`$4`/h1P,#={->X;0-s J0hDh[`(4[x%CDHNsCmzz7qR.f.Ih1Wa#L?/4 M |LhRcP;fDV(8tfH^6b:*Ru0­E1ED\kF¤9#J}|¥"Q WQDgp̴=/\"hG퓞ja3YED+K ċYRh ST:r (CnabS@i)F /Ey>74D(V>gBӄ"@þ&XaqTNGXv!#{8.SeQ UKߎQF'q1%rkCAF{m(R&2+bJ+Wꧠ}Q&f7KU[Bg" 9#{}5Dh=z.h {tj< l<MվsJPJEdhc@9d˃HCdrΔw =:K/~#oy)vc3_ۇYΤGh?X꒘ B 4={.R_=ssKܲ*`'K1I{_a\ ъV$IJQox}{{Χ ůTY!"RduV׉Pgn1%6r1`- 4^^ & tz^)9B:|mSw;ô~?y(Dgذ_ϋ9y9RTA\ƥ3OA+K&80Kp+S) D;Q^:G=GϪqm $]I0\<Ԟ1a3js4[LíL P4L#+ItqȐE4+ e5`$6$s{k9nʗJdwN݇湿/p^R+^rDY [AeY5E >t|g!S XJ_.ЉAgYď̊,7dg2YVدR>oÈ0f\`:~Lڴ>ߋl7p*=\Zqƪ--~S/p y8uF~= Q)r^7swn!7)F@g/#()w{wHfg8`C4)p+v4R=e6/j'9!ZI,PSGzs5AC1 K{M.$tI{Afw)*0 r 8r_3*Y,z~D2l^,zl9bu3bpԻxIYpdŖZ-p"z.6V}OtTQ͈BjD)^DViNTyMA9\?I 02MVLcMϥf~" ^07&rxM;@tӄVsCw5ڇbGw|a ^K~ ^h+*C|.D5,.hPՄfDv!dqIWY[j2D y0sx+B/R+ F[ZaMU$Rt E--m 3!ǹX4lwfh BQK`NQWK$bN$װԹƴ|U}=#dNĸ-~5Ґ f=JyW5dҘZyzᆗ)쉸X̺}h$vB:n([D^,!ESH! 4f8#P> 2VSs̙]2r=ABQHIT.8Yy FĨ!K2?cHdNAUпPWOԜi(zhpy _מӢZF~411ߊ44N|o>L3>8w*/b22 &-4GU@.fק"}p1b.;f -c\i MCJq6-h;q{ʼnq Ya#lz" i/6{ z@q.|Z{tfҷ"+ Mπ{hK]ǥ 6FLT 0^_=twhO8>"%A'22h9,tqgpwv4z|Oh΂N%3jo!hܛi3icu`iӝːٗ}iq4kqAy]'Ygl5AD‹1IJ0)c!A>һRw'e*|~״iMϥr!2?ΡU'YzڌKhS{Ήfrs:"^l}Z=Ug<w@8{_Z9W#\Mq Tq]5\$,xh(yQ.ۥ[~" e۠좱|ЅbAҦ-Wa|kL)jB"{ FPShI(^G0~ 5/l@es37=" ꛫ8;%npg.*rZ~_Nx̣XS$ ]t*T,׆]Ŧ- $\w6eYL^krpNnq{* ۍ]')`VwLmHn,_nT!Pռf1ݏ0)_'!ݥS2}rEQ杵97`ӸijvƖDٛ[,Wi^F斿/x]7159QWG)8rv؇Ҽg1E,pa?T&n:|a; >ZGǏ%-t/Vf…=Ph,/nONW3udq4P6le;yY<&rd~P U_صs~l2Ṇ L~(F<7+JQ/Fgr0u/f2XU"D24)34( H l *<{tD* ȟ+:.}(z$E-NoaXӤ!ʎOoѷ37Ƽ?O:~iwbh9kȴDimk;<3: 3[cAr۔Vϸ;@ե;!)j30~Efs]|q^vz4wi@/;6k/wC~gŕr`!oxi@ÊU^#NMt2!\,]q,l6aa<0恗'{լF+!{8F‚ܞJ<-+W!nYH/0l%Nxu =e 2_2UM}OdPu^aV7,<͹►- c#FFŢ- R<\]ޘ8i@9KVq= ?Rz5pl+|$3A=Ekʫ[0;5n :& O(l=e4;/kΟjJG1{ᒳq*6 [2BhmDZibB(~U t\o^z\hO'd6B+>\I9L*U5"-jn(V/t1eg]eW_Z;ik +wI ^T]]n sՁD_F01ڸ6N> OVWh I۽ ) 䀇]lA+ )tJWQ^9{r|",.ֿGznImJX' E=ԝW/tM^xA K ae%nvG8 .+ }]gbua:Ï0UU%LO#-$W |Gv 5`;-.ݰkqIZ%|<0fL#6(EaspY_hpŐ<-F%uۮCl%NX9Wq.Y0Kϱ_5dMw#JU]Ls#;q ZWfz> `AHE@~{m@]B%l(*}Q$ַkнJnɞ ڪ75auw.DRn Oj*}<}IIY" m h=18(P4>:W:\cIUq罝ٮXj3п5[r1 I`4„Q dԭ;24ݍ:p"@#d"E*D￧ĵ2q{H%&s l_-> wYi=0z{ԩID=JDwJ ~Ŗm#+7NVV%"COWAslї #P[PS9ͳրu<]+^ I89!KgSVp.BPI4]~иP!l&Yxy%a;I=^|0sj4cF/vIi԰T2I{b^ȩ6QK(y67jd#azduB,lXv:DTh9)$T09̻#%%-J"s+=+a"叝W-Npf:6b]B@ Aݧm|H1JUܠG.7:*Oطb(nl?Q%_Cw<_L[zxf]F X9*E@O5$/}_Pqj-_Wű'>JӞISaeZɼ:H /@Xx~1CKJԽDׂ[-[A8 wJGHq~N@NuI-ph[L^⭄O<_\bˁ^=_o"jaURu-~aQdQZ0\fPh^gPz\AX8bW=D}.u^ +zxblU+MbG"Gq1sKJa)VTx"Eսu%x?}&55T˄/sѬޭg`5 7ٽю׸UCM+af̲P<#5 Ll~i' i%ϼY <El!_#\Cد@>CY"j¯U96NPపj-yAT#dJRƪxk֣LsS#M >v] t`%K/w+3Āk7:zO4.S<3뷠mR ^*&QH[>cW(*wwAN/ W/KTmtEXK\MRReH˸n*&CAw{ttqJ$RxiFqIxV 7"avGR)>lɮఖS˜Y2/.'f/w׬. V[߻n̹M*rbYs_jFݶ=q("jv7q1!Hϡ0SK~YY{_7/aY{g+g,x~2'VGm.|T 8;#yejv{u\/]$ 8ȋU3y[ifiU4,پz@+ҦTv[b$ARb )&x^8DE_YMqwNy,ANP)HW;6Eʝl&lYŞcuHh ŖZSk` ˬ"WX:db/omy,^0_S83& 6.L~`~ Fb=w ue3n9*63ϠσBi{?#Pwn2c0Q,i9 jaQ ~SE$ c?*i)MNrr2@h-+=gvX>rY9;!RFXLV[Lv@(f"hm89Fs%ׄӕurYEI9s>jzmOጕ5UtS$ ;:\"*9–I]7%6>OpB*`H&$|$j |#w3?xa6 [ (wp,#2Mb^!8sA" ,74@x 0թm{",t|OBp]1eQ2GF(pHXyWjj½4i,4qQE#5,yhO7P7h0֯@G5}ғ.6XA}B6T#{|Ca_2yyUn?y+]5MJ꯰&ӒPJ:]'H6Cp]6ό4o02ݑ1yVR@eOw q }$PGEV3cߛq[T|u=fa݈|,BOY 80$ӺhA`ϓ=st Oݳ !(L"Bn@P} F߱A̟W]8ϒzP_kμ;2+ 7lNf0<`8 Z&|S~;4*#ĴTyԏ^V[x^L$~id;ӫ:~:|Y" 8K ZW䄝Gzj_1b)7wseP>6ȬJ~BT#YN¡jn금4{)wY3[@f$ܶwX4Z)/NoNS<uRsc3' *^QV\/bi`K" LkWjݬ)O+: i^ O,0Q9/B/EΣ"G򇞨#Ks9gDU2\?Ջ(n,ZOo+Ӻ70iXL찁N|bgn7Gņܴapna T+{j<^d\3[2H@B8"LswĐp`P&Tld"wCa?U`5".JH`y'UvF3 6q su~,1DNAYO=w/7m3c" ȼV%]0}vdʖOQ&6<9#c8_۟&>Yܡk3Ueh؞.WA%09|AiJ3 +8! 27&"8pWb@#~|ߞK]4qj2toU`ZӞ]o}K42qBq]i^m g`dbVe!aw Itxc >ΧUꫩ <'`JQ/1M|KtjQ0gje5u,TW`y9X'{ѯnE& ~qn?s3֊r҉ay@[Zn}iU EZcөk)vა0ׇ Vײnr"Y >Ҷ w#~n#Q!@2;u,wNe"8}xLԟhs3W6b ~sKџc1vm6NNYHBH iW֙>cSލ%W]c|fi(ޟH}|B#ʒVjc$Q gvr8r2f 06XoNu'Gl(js]uv&ٞ͞ /ֺ㨄T5eJew1:7)IWZ], b)ϡ5$(|`a#L~O90WR.eDF <:41 -lSSM??_:Dz`~k yc_w8SHB6^Xꈥ-}3Xd-J+,MGK,r[ɳ`M\y8, ػCh(wYy_!0bIl}tNȤx)<ϐL\%Æ7[]̼m}hp(dU^$FsWa +τDIAvn&">\-il<)ML^_Hnך2mT`K-!a޹8wڰ+9f8WAPl Vct7?0$/LBnrsA?.Q(5=סTVy?~Xgi _2Prγ<͓ ^Rotj8yS@4ɬNP Cv;뽭$?ÓyryU XK̀t{>ŌmB^ߎRn Z}4!t"v60ˣI]j0aA`0['dRlmT.6d-& ͕}^w=2 i\^Qy7RwЬw1َ0eIG79D=ܾ7~e !') Q$X݆%ۇDդZY!tZQځ9 % > |঴3ՌXHfjuꉣP{H?Qmd|Ƶ]K>ujE!g z'Pjs'2"}t@hg7nYlDCk1;$,@S!Br;|/(F 9z#@IZSt}(A VUh!.|c.ژD |33v=* m/Z p6a<:hb_ B=fjdd娦ú6P:|v-Si]ɵ^,ŊW.؃GY:͝D1'YʴAAL\i0B:;XS hS,PdTj)5Jv[@HNiuvk(P3lxJ_!`rW?b# \!e|:4 Sn\5 *p0_bm\8z$emD)%{QS7!84LJ=`jw$?K-^$+:Ѫ}sW1eZV6wI+k,% zz[7'>4Q}1P+aUuGP^=;ƨ8}QH$j-@+S9=qE-=kX[z6=N)Kb\w"TKU{s_rH6fa]/;~kAI ZfO&<ϗ/ OlJ잳^\I5Zd~U@np )`!,nJ%;4DPos1u$Ellz0 .%:s=Qe 䒺 vVB3`(ba9T; qdž#jNe Ry*nz Ǩ+Q}#U˚X\xIKjikrfln3\&h"c_!A}S ݑ@P^W{I75%VRn|(!adUn[MaEm)yY'eǍ/%A_ae rr8x(|1>5rnN*}`m# /y$E1]ޯCMR="pxFm-/[WzEVЏ3T3*L9-7OUInmtY.%,>]vQtxFfp~u AV8]d0٧=srEBJn 2PdxCuIM(ѝ0p;tJ  w#l;:D Nep DzfFL0}uZk7i<@&1P9GKR=ub :IrqYEvM/S Jui}0PPfd2gؚ-:,u7"uRt⦈tGNo 6: JB㵞&⃁HgI ڊKxa/>D}N{'֪T-H΢S%C9UM˰~)Eht˄:IJ2Ĵ4gULT] ߱` ȜKXY=7o};? <0}*=b[MRD~ 3q26K?O*)LPE\lxj i6- ֑LQrM]KL~,vZKmWT2 nA`x!J Iv5) a eӏ6QK L'nsEs|zl-~D]ܽoJ!p_Tc2"\FFtڼ31;qɒHwhLENۧ !4Jr /` r:G9@GOg S]cC> ':tWJ(r*[s B̰8DcNEt/k? 6޴D50݇~ָ~72e2YG6їDWl*rzV`RXH?>8#h(N0DvgeVI㑇i>,\yZN߱~Dp2IՉ- ,Xre.n~u;TrF3(OUk؜'Sb]|z2*E%4 d荈{?sO p yOJoYISNm{xGi0F峚/Aa7r\*wrڊŋ}VH~y+sLB;r @5iqXo=7DFa=^s5&&1Uίp&Um6g N;<<@": Y򗪙t+Pr&3Y??ڪ'S/xOk ĩuwZ gF%RE(=ȡ> /Uow8;ڜe4BmC] JٛוseNU >{.LS)ipY Hh2iwh8hKwgbCx<<E5a = L7}NEkY]%N73(<Nr!d@)!y! 7zq.vQa\ԃ퍖}`J@k/3fܾ8Uv^Nφ0T޸"ɥ!?UH?&<Ò톎vnl t&0Rg0U*G(E'i*D׈CwȎtbc 0P<|6QI0P:;w0v-8ǣCɞn >z,ú}80;3VqDY79Ry2Pi.4g^k~ Kv4\qb'xWe"sc\AƲhY9u6!ٛnnU)լTL(;H lHZY]u*H>Yz@!NF`W[7gKh۰d}g݄E6Q&/F MLb,;LhYhy 3kLlޝ;˻Аܗ=bbv]X .Bg.r 3Eꦉ%3VIweRdo_VV`ֆ6yDԿ ו46 N[>IY.Pݴ]ܢ&2'$w{T(/&Rs I ypS#_24F[3Jhr}\XQϥ:uT9T&m?{TC.S^@ yp8K(\.4ȿ>gٵ3޴Ut{ۅ(>>*J)кR|mػbG/ESc}EHR~E@S5$Uq;H0^yJq?MJS6.IwzT*qz;ROUND IzP` vA Ϟ؍<;5ƞ)R )= 9-+_-ͻu"ՑiQ9:&-q cL']H$zk/TLG*qrULu&WɣE4\p<KӾlD+ۉcUbw P} b +`yMj78iVSyT% j vʶu !WͲi_y)b>i-B{#>F@4,˟t+RFh\-  Dr/"d1w 1jl^Rl#Rp/ ΨIx4ztEG5$];B:7&EAQfF[G˖"߭(gm0K)z3W ǒǐuޛ'Ιة%ݒdG:pgjv8==E:5VO40sÅ1*ɻ=T?xάNb%js%$/a_enς.30Y|-!FcDƑܐ;L6h>n ɵip<Qg&;6螅u$ r6K%0*z5}\3bߚ\Z/ğ܋Z)q>CːzL( &ʟ?T,VgҶP7RxȨ!Asxi;f *`?G mPc.f7gCVCY&}8{BcF!Z513-@^I"6G4W _0d%kv?¡Ãm!]ayʵc&{Vs^Sva\DAtz9Qgn6/;d?l9;ͻEї1{Y_d{Hd|Ftʐw|H8Np Gsl61.tPs:UfV~{s4G0·OP$B N\COiٶkʁ~Lu?w)ʊ7& AA<noOԏw\+p+̌;4^Dv #Dl 8UV7O:~&2qK8MMͻЋ|4D\җABr&'w|DCZ'| YU0BjX$ @~3=VOߟLst  刄/WlƔlTOp1gZ|0?>1pVK^ vV%[r= &M`2Wjr"h)=!rJS bkdk>,訖`W>>)RpS%XI`eW+"bigѡ :Aux0-`">V"^bS Jؐr >WvC#JnX<}j1guTpϿҩR׽h'] \|D4rvI{iVn'hgxj._ tK'/RLB4Fa?"[c{.zGkQ AVRe1+UgJgt N!w[Loh~C4| [qD5Rr`3zC72HwA`-dz Us O* =>!0?J:<⇖5(K7Я)tI2'G*/OK9o=ҿU?~&CN]mE8!f`@+ -ݬ /& o/sHSKdS;1t4/%rlߩ$AzVq&˨ie%n^~ ~XyhSsBRWh6l QƶO qG}=xM+Ö v?'CX!;7UM&Pk9Z4k{2kJ%HxcsoҘ! ]_~l̢"on*tC Q6:Et_|'cKgSgɬuPE{g3&Wo. 6OB1TfXJiy`Nƍg!݈{V}Sg8%XHJSsD6w\.nNMyX㝅M3/9N:jsG&!i$n0E"C_#Sf[oV7C"e5b6a$E2 X.`>0JmsCa8p;wU8ĉhDdM'l ڨ$ E%?\'{}dh ԉpOQ\zu( 7OVw]o&I ՜#Rat@Xq}J'[=i[D3託O6tG~;23K E_<g~{aY:/<;]%ltj)hJ:ӋlV[a5szg[4޺]Xs̓.e F@ &ސKF.sj' 9^իd*'b!+DT}]5ZS{#/FS6b}C'Ej|XHW'WΎ}Ʒ$ sߖdTbLt)/cE~50ߡ=c4INCM \Y\P.hO?0<y>n]M_)g/Εs|̠0@!W'zPmm+ISB\ 㕝2":>v|S=@ڙ{i tXLa-6]j:egLAMx=NqS߼WAa?&8D[`<7Jq9I,;c6UwkԴߑdF]ۼ*%JJXب:4<x0vcE/;ձ|`hrk[c+v/_Y -0d}h]Kl[D>c"\Bw#wea ת NH)x݌ O Ia;p`o)aks˖Z h<YT3s&#jrJOjPʣ7C C"G\Dmfto+^TDQEku$^t* %vDQ1DţkS^)cR'xKϛj7a R[Fu`0ڹ3]vVa!ɀ+T,՘R Dmո&kk ]gva{Gu2Ah`md*6x@UF"@[NX/+g6E(]5$3e@ |𑋋bȼZ (0==VS_~h܋w!;*82zbM&8?~PƝu" FcZ{4ӫ\#PG(w[KTtjZze|0[p>8]~g`MȎ!ބ/O-r`Q&#} #BKt$ة] <7VCO4y/1P` U@38Em3Byno#aWp<=Nq;^∫* bzdNc; |kp"$]^>A)N^Lvd8I|7D:me8Iyݜqυ?^^$Aw$J4) 3իŷw k`iӚON3jɍW2N)2R34?zB@[ ՀG_ӣfLxʢyUigF eS׎9a&RE6n a"ﮏ֠R ƒR(6CaOp_{OC6bv,K2:yY?2,\=2t"k=9 a+d\28?57op*mpBZ'DNN<:7&3x=bl2 {tᵗL'L#b+_xl(R/-}UxniU8Sqrр_e e( Cy6́m$+uYv}Extk vUG ČC 4\Ks*kMHA8!mwJ.Bl0{- h∿[iԃEB7`G28Ngp?ũ&!*KL CR:JL9 =uuL⌣-BlF,vNx lHZ7Xd'yYfyv(Rc>ϲ̮Eˉ-O*\4uͽ1Z&h4Ym`2}nG=F_%DqxM'C3{BN4]&3Kp"(^AvBRi~j4B pTۗ3}RO|VJ[uS=(h$gn6 CT:ۿn|~۵Yy{ >"]ސb7槆 ,>iZF2/VO)LH,Qv`VK`״f4*U1b1yqDSXоS|MU սk{52.<ڂԹ.QnOTMQZr: v7ƢIB2 v*sI'\(cYC^*t-1dC _#틢OIb 5 ]7d?f6 ~@Z#w,Y= 017c$lފ{sA4}Z:v<;B)[KLg 2VftOr2B9%P9%Ё8y+/oI;_H.Tb|Lt&5ŰڍmT棉8m/OeHt$-KGEأWKb8jl-# ŧLB =Aj47s%0N`b)ŞC5{Z:R6Ƈrk_%믱0 U6@+ cED2şz< sƠE@ bAVpIUAL:?cDp%onJlhKqN[ss2}ZCג͠ Ԥws/J6AeyX+ ql}\Qc~gt_A{Y}ሯO>㛵}NOfyrg7]A92]o-Ex8z;҉bT҅]!䘵&P3fzV[@#Ti0glW0QykW]jTm0Mdr6&Uy2 Vv=N[4B8/ڽ pS%ߡl(L<qx ! xu3DtYil!S7EE#->6r}nj2G.y1蚺~Ŭy v3^e/ޮPsyk 1_L>xa47T!SczFn]ܨ5Ƿ>gr\X1Zs ;[Niyob GfĺB/dD.O>Uo7P]x:{qgMQ!^.x$[3Fc'^,z]*)`)uʷ[!Mp0:5e$Y04_"/rrr+u#T BoȢes?听G^eõ9!m .}k'6m#|+-췋 <*2IӥLf>^dT@wz>`d| U$U{H/8YDϸr/|_6Z ߘmzKHv#i,o=dDz] M+UJx>;IizT1]+<~Q%QJ#Jَر*M:91R̺f='Vx:!:U7[WZSq8ڈF|mkHz,jD}6C8H{Ǜbo]=fDМ#^[:6Dʱڀ?U ^{*8=Q30|[x0܍#+L58 zӂ vx1w:yJ'Fӭ`|b5O,藅}Z+:AH>&5A56" q@?\w{F۩La6J*kcLܠև!&Bɪt- cX:eJn7bunV!hX_ؚe)xr:l&Еϸ@KbY,ۀICEcYQ˹bñzKpEr<N aa-hLgp&K򔿳Y3uGf^,,-l n zQv:u$fr|c%u4ųY-x7 x 怰̡|p]_ ! _ǭpafn3n8Pxq<|E9[+^CDITUj5X A> D!JDj$3+z&aL}9pCL{\R7)~8, j^?]¢ {[R鵓8[iUժsۑ.z†B&05r*upT:oyHRQ9cNta,{4~? gIB+NcGr4݃W6o𰂲RW>/2Jo}iAff8 |Kߵ̍@c9PEON™c!J;Nv4vzd?۬Rn]Ǜ{4ު+oja!giO#MO(}{mX.S-(-G^ǯnqېEVs e$ (O̫QmճI QNk*y0o> /gAv%kn#LP2s[0冺rsXz 8jc2:H~OQ'Ӫ{6lx{2x&|ٹen*c"F%hҊbZcǦPUu"ӑMf>DU#3;9R(nm;1%k\G0DJ $?%{9s>DZ2986N.ˎ~\ b;; !JSh(i c3)}n0[2`+J!侊g,,,viİ(\MPgڞu橍M4RdV]/uKBo6i+di7p6>':U2UtCs(0Fa"Q1xr" <. DHUaNRX&Cչn3jvY~kj62p{&k^P l#"s|"Cu qZdDžiVWf,h} f[ޜh4%d0Jzi}Mעf&L*O-KQ4p'EWdB?$|`w_vRQjYyU2|8imL>Tk"兕zYZUYeXFIK?%L(l;h`VS].,BHwW sX)V̡K d=Y]= Ʊh`;Jq] NOZؽUì[qŒ 41aCu^'/`9 =ȋO !M|$! Ğ#:栰"21U (u)B%;%kUj %M8]Gv~fk`Ua Do#9K> 7 E4X|YI :9a][#4xPLjjX::w /2LEʹa0|*,& U-D.<'[h]vXLКssMTS#vrE^a9{KMA[s Lc +"RB0Xhu ߗܵLG 4 `6!VǩSo-M^qczR׫*2˳7&ub{6/G`LSChG!Q$5F|nK:/ }<`*ZT+6I"6asT|KO&\q'4ҬKddMo3 OD?3F4O[<|5JZ^28RLgK0;*WO (CLL% ss{Q!ẹ Ģli6D"o{a=w({mSoooO`5V+ } Y9u>3e[3<&:q"k_ZV:CF:PJ)tŗOs\;p7>W+ȋԾfXtn؟j\py[(L2\Z9b19휩ރHCЙo'We]W3+[xr|YkLv%HaSRe<BבlEs #!4 ـC <'f^,Y:+q k0e;ta?EǮhizU_V7ozj05? Oe"xx,ZoiCi!>X(L)A%U$:xR@n%=_9۾haR^A3Q5-a#+%YG^*QdV$?> e9+!iă㹬EMe[/sm$֮v֖ Vu E@Zgc0OZ14 AJɒ1me=gPK'JKscDۏ>QEB ~K䒖|:4h6L~jP'% 1IQ~wqm\aFG n{e. (uBDHRv˅sexh:K^g5~#irCRb>)<'˒"}i*!'nẄO5^F thn]|X畝_R[De '@(%k\KeJ i] ey6Gncz[ Cc޵f\ y1ߊ޺գ;/ QYO?: ѣi? yvjv6MΩv>Ie2Kc*Dq8jrbg /{`qڇq=g=GPyiT 3bXܶf-62H B84cA}+J#30;'[X{?io_V1&}i:.jiW#7)nb6'(̯ s8C/urntv9[v8G|=򿒄ZI G|K׬RUf`"Yɫe6Ԥ"ϸ--n /uWҫI$܆i*5hb:F9¸ǪXDg\ h S'#=[CVºI-Q]bSx_FQ#噶:`KEB1\ʅ[Z~yvś c/+A1iM>Oae+ΚyغòUR;t#*ȣ yO-炇~Pz-mmsvr Khsf"s^ՑT uD{%} X NuLj|3h8a.hJ٭X8,]+EkH˦fqHsO ]GL4SYe:n'J<} {h_`s& ynؼ kUtil߻eEPΥ27)LY_1ٮl͑!vӶ >/:a(E7lGd/%1vZHg_s6`ZN_ 9-P}VgIm9}&w 2fDD)iqFV aoH&cć{'e3I=@(˄X/|ZF)Fvٵ!0dN=jʂ5܀#qXw w9|,L. 268$` پQt?_#\N"L \=Λ9l)N^ ͸$m?ch\e- {9|a%xkR 'vAe~.@U @01z*cZdn7,8ѭKlye-otLZx޷~%uNn_Le# Ȃ&n66I᭟;ܹ$k0}ILF(Vp,dwi1vm8L[ի)jمJv-`GzI|^ïm6写JS#P;K.:Yv8^[Bqt陉rOa,#!xU xҖL."7[9И7$8V]fZRn)E޼H5Bk.#s…m%߇ĞtΣyVcXqs`|^#I'7cX e ݚfht;2Y{p_ IG MpIj cm1CلoBv)]YP[& B!TZN%#+8_Es%AG;H_3 ,"\x ΞZ9va^r {dTwdR.SO+VKg~V 3T}o1<諗r/^gScӂİz%~T~"b fRR@BZEP2áqdJ/sc+: g>L̖!w[0lLq/0 0*h~xuUO. .6_Lϯ٢u~k7TxJK"ל/0w"/d/? V 'Hn w'ss:DA>M>y8Bu|qM7Q.S(a%t'EiSxye6wcCf+rOITH29{l}MQٴt:傹*u/ڱ$KIS+Pc6%#:d`x^GR,!K)9ԩ.?Q8c\]r&GE ۠C3K;-Tc&} ]IMIAnxp XkQ15Kwdzqs-c9QK,!W jΈ\BM;0w'u"&=-D^2Na[x,w(~jII Or`+q{4ݴ Nx™Aaʫ./7$I41[gWMe|6d;!k^H~D6pzHcU& ܈$AI|^!G-d3 q@zk~J;_xgjA[)뢖$6Sl2+UioMP1;eR ?hsՁ: 5(W)ɔDmbx/)XQ@(sgjCV:iELHGl۳=͓|["e2Mq7v1S#vG"U^$)l- 2O9~wXc"[snI݉gx#bZ 2PqR$pej@}ʩr"j>3: dv,#T?Am2QN |Йh#sAiWjtQx C:#p*<<6!;RY|k#Aso/Ԃӝ^/^Mnb잶zV4Ck)JL' ì'0,W^'׈M^)J,ggdDFm@][,s (D &bwNܠ$t6)WB4U,@ %..ѣ=KF<%IW92Ӌkr䑒i&wgTNKk˄kmP;|)%$rʞaiЪ(bZf^&\q}in )){8pUg}!>4cLp/[þ|=72)ˢ| ғc%`&.0ӤNAp:t#AX qtf1;t7oiT@uGX;lNd'U)L˓qap q^$vʑqxjT45fҠ+~f-v^3۴5}t@ΥuՌЮ꨷\Ɏmq`CcšpLGiSNFJx٭`BǑͯ1qwW<%HësO b7? KJuKUo5*Xv |4B)vTG[HX}&l?='L?qJ{ fcX}Zgפ=oHdb;Z ,޽6hi4aN*7L[JX8-:L'[&>-Sc2D:rq:V=ݦOnSR枥r{#Iym7NuD62;CׂSzwhQB]?*P| k`V*e.ONpIE~u1GhҚ5(VpglߚnyFy: =qPxЬZxACsufD~2CȦZzH6|aM^2hȯ'4@~-Ӕt&]b̨6PASEuƯ>w/g !ycx4xMsO 4AL&OF|cn8ܕaTnqb{tZo kh8#H`OtHd`X P)g:7:^!oq'W*aCB?bQ E{$R9I餩{wos_McOkrhw 2;躇fK)e8`Vݷ_? Pe` h'w(2/ v})YwSbgsAq& BT3-m?9ٞ\[uɑn֟^*9 F4_C=a@A x|zZ7jceq=y0ȴ?V1f6Ԁ'TgoEi<>*J`HoP7;{u hZDdY 0pN];glPKFSQ%yO< lZfDtC d<,ӽ[1 \q \utՂ/HLw,~˛%c"Iv39W$c+Gj> ܪm&\f-R'j2޲ 9 a/,R%零8o Iyzg%\n̖~5FB͞&!mg Y@LZF+(єCΜH>]صmwO 1񫶨-*Ht,Iރ*(K6˲LHA<Ӈc.{JsFMM KbM=+_~$Z2[[|\2Lϰl'ϼEQ#=AZhݶ$(n*3$̟=f1,iEg TS)Y&&|)sу˶z5m |=}.4%z?r&jj9ET Aο/+8GrhZWU> MM b*| fd;>gϥv+}r 0,\F_|~IܹbMA xL(. ̶ MFʛXZjL$gIָ)_T7|Q u\xo]hmwAEhV] sOcx^\"ERsZ(9yJ kp۱`{M:ByL-Ia'O=݁f ۃNʜI<'%;=DYOY<+M@u 1>Xzն .Aq,5?9+MyK5G<uoi$KPW9blܐ()G'Zy&jPqlC9/>Uإr%^$BZ:!N*go:W{֫dX+Y0w,K0`/'#wDqaMBP"MGAtLV6ObF;m~D\ImhvpxR`=\'`# &[)',+ZyJh&F2+KQ1ii8-*:r2E G=oƑqJ ezu1iCxU0f؞XCr;( Az7nII پb6_eTv8޾N8H۹UA:.v|=,/m_ey {2h& HȾMzU[ ȸJa4̏g"E`Th@w9 '2LGJq7=PeB}5OdeǃoArO/]lkɼ&;*>i#]AJ*X1ӢL%Ԙ {@/$X 0j܏@x@+*$w%!~+  ؅sXߋUnUR+o Xt<ޑ;R\Cٔ:GHEܒ0?"_ݩ ]ڎ7݈j+ ]CJsi|[~r g^b{á(0M{gZ Q5\A0QtjNci8T Z.K-Ey'$9dXۧ9Jz a"7ևg^;f/whG4p39v'npb4S"t\YM?,Tu&CT&00@J~?.S߇AFV*"loS;z{4%)*N{h efE`}C/CKR8IN0~bL\ b$i SGN||gCħ(Z&ksid#I7E Yvh1X_ڥTbÐhK9'.ȲO)Cd׃QCNZ,/k_t5;2RuMz.mvm!Olp9my޳x% 'ΝT ZGMnk%|d5ps'NipNDȥ,r;BMȹ7T OcAe ~.K׬}9M6d/8!rpsde^'De"zU R9{eh-UT]3[0n!vPHl*/lYWY 9tľn?ek ǒ1\w )"T|]'rPbL -8| IPTaB`9TU!MzrO@QeƑ#iKc:tvX ncn&Zٌ Ұ F[ kmƃh5ߊ|^2Я⁣Ҭs_ŗѹf.U[rN#Mк7WM/$әmF-;38 . ``ԙ.57nqLd rBp/[@-'[|hϊ+( |i F֙vP.C1(K-a#Z ?75%ہr)A-]Ym`s<+)UHܵFhWRԋ(?Ӈ(/^>.:=U7ݡ0HM&0Goը=%B19 ゖ(nݑ@JBS#8=ήew%6y΂}|wo^rdN7![z11ɯ( ! +o誄xү|\1]vBjd뻨̿MH:%]uT S oݜ¿1\|d!@E缽ڃje9suرaS[!y RԾPpEb_4Q#9uz ^Da8L}A&hx;sx^)zp5G r W i)*r}FXz _'#u>DfK/jKxRHFs#ȦD.Smc gENemԋKGw]C([B2(/} iRdEcWIRi*`{ew.;N cHzgs? \6]-},s1<Ά~D7[#JcfҗhWdHY:鹕W3d.[g3xY 39N6ҳ ג @[,3HAT^TTE{umFh?<5[K4[z |@0%=C U)r]cBIJ;I>\cE}$:KuUn6o w\ Ot"/iWRT#cܼ-^Z$ӍZ cq0Z+6UqnL}TJ:w ο2Iâ]EC1sf!%y6~Ӏu5i^#7HYde7ƌҬ2&P-1Nh7uqJ2TD|{Vī<.}ehjLG. jzn[S+/-Yaey|2^NEY( }=Wcm٤).㩼# 0jVS$UObl 9(c0a`},+=ڑa`𭕲)w㋣EK3SǏ7]ϸRDY?GS6B,k#W+8#l(_-8Dq}zb9g[eJP;|H5_qm2iwI0t~TmƖ(OhR =Yw<@G #liކE.FB|s6R}Dy`efe,7vGZ TCwEOxZ} EA ⋆c?H&@k;2Bm ʾ}gy_ S51~Uv*L̚աI=HWB/ v򃖘I:`f.;Q_r;ر p"1eT)RRF9ͺ<_ c} {FdS!2F z!c3[0j bp)Yp@1=sE8IB,OrzQj#q?/ |]9Ag-lFl`yya//7ObQ5w56nUȸH=Sns0JH@;=MGaO %ٽEYw)mÊD=ays'+]` PfW$; P8f6u/U"G=Dd{Lɹ N(CkG(n9TNJ[kdGfX9_+}{$ZV5C4q9,#dXMt.o^#=n5\4+ M>iTv8?аؽhXI%r[}4"z&4-Ẉ]6!*,KUxԊI{ꌤOo2v:`2VG*pVDρ!T`.ܠ:^j{8/<+*$z.j9lŹWlS2cgqRR{p7d;ȇXfEpdz6Y"ko3T Qu\!ㅸE rU gΡqu%CLh㼟|0˝TkjbS/(mؗ6Jp!VPiɇ1-e<@?4#Hܴ]u R|໅SiScUvx.)uU tSh3:snR%e.Dx? KS7" +RK% DC Ƚ SfmѶyi7UHb޷Q3" 5,{Dl+ Hb.QoٛBmFF;֤MVmq͍SĈ;X*(j?-8 V~`aw8:NNQP e*(4-M qK?Ї!] LS'GtF \}$&Z}~X yDnv~i4⿧N|$K8r9 "0D\Y Xս9Yo~oA?CAӮE@XL[ҁ^36wRD ldHalZY<>\0c1QrqjPz)^jTK>D!'ݚ68"2H1 FN:Tm3aJD5s$iסЋ2S[2 )Ά@;q~MZ]pT>A g}Rj~w6@{ل5mV^ Css] yD(ճt17h39^O9PkƑh$V$W>_/],7Wo^ܯ!L)FűNIS/h3OWpQ#ڼrIB^U9NoO?B0n"T0S%>mʅC*dLȘB*yZq65>T.Di +dń)/tUt:+ Naoxpe|HG\4ҎkgF. IyYp57Cvx99Sפ?5d$vhpRd΁ݘW\P Ncg'-c(oKa|vM)Ŗ崦m>L_!y2g?컚!YgȬ>e XK|NlE=puSu fy0"~zVJ5u}VۑI]l՟ aٷ矄aJKy7SҖg0n*Q휰q*WiON #AEb@hpمkNҹx̂.U s[6/!wx^}TRc?+18G/mtbCXԱFUIՀO~c*$Dn^OG:*`Uo=_mAHqϲG \LsMTy{ Խ xF10IJV~ E5:Gu$!656{ wcs;=q¡ULe$a {j-IN74SV-`oͶLx:g*o$6oL+ f~W9BGb4n~2ġ8ُׄ/D͒!#na5M5-zuwcөoz Ob uN%-?Aҁt(Yէ#쥈K&z)sRzϗ=@h/"ӛdSguo[b^ *8 :v0')TZP,[;SCl%<냏PTu*`:۩V{8ԎH)KוχegL~7K%{sGi;.{I'zNe qi0KH;s 9֮6R.5'0BEla 4~0直;#NB?gyGЛ3qa}NzewZt]0Υ>ה^끳boK3/$DIB$J,C"݄϶f.1F7S*0U/Źf2ر&^aJIUPX$1Qr6g2ha;&R6ngqJ E0Pao1 *J͹"&z:?&"GBFSx&^~9ݗYqG#Hc߹HsOK 3n"wl j p%_hHM3x**i/z-іgڢFՏ#g1W81 /U#*k[O([֞U|5< rYY Du[Rb簝TspxRgۤ1,3HʼnkٗR@өXy -1[=s} c rj$[1ۋM^Y.p0;pj,XL`y,E!U^hu hT y"%ʅ7f9zO)s]`7%}oxZJEBc+;3KxUJ m|2KN,[$w؍ ?ٕ;VBb:XPz oUWFIF 9%WcֺOOf{eמt8+Wԗ%Ot׺+Է.y֧V[&!8)uG=i̩,6D%7;S}F_wVjŘ]\Dq+*!N΃\uAPh)rp[5ΙVx-5? qaÍ |ɻu&< oRZ~3qHw}$?tLmrl&:>.q1M sV¸s.-*vdٖ'ƌIf]pͽ1hV!#ǩɄF^pQkhsaĶt-\$芹;YTx@ønj8U(z=3٨P:iῒ^FqI;M*wpgg#DMԞym s6b4",ۤ7X4d:PhY!c^sY>&?0);|72\E p>Wkߎuݻb͒'q`Ӌi兢TOJGyK ӵT'Wl`g1X !Pvg}댶b.ių[Q6! IoT1̎/YpC[Qܪ?P11@3.u"^kp2?jM[-??QZv9I@B?JxQaNtƹ#HHaף:’JI!i5VrZ~][8ƮmΕ)Z,$c~X$> 3].{{G{$Hd,wv/DhRƵEraN!fy7n=pgwV1 Ue6&tx£ %(-O>ȴp7K:Mwe^ȯx #:7ÖK),]Um; M $ >M<O-y!ȒLx X6kX)NP7ާnD TtnE HpKi!B\{lƐh(IA.'5-/` S.ȖVo Y3ChY0G|\d,MgUdqFE9` NJ,rZoP=JARh鑃lW+b+dz $$:mA.(\N#GTJCtJӈ'ͿH:|G1FrĔ(ߞ7 xnɄo^!kP`:߈dF ۤE@\?ޏXnmRWꮖR-|&Вg*B9ɻ!f 3#܊U+Q7b3:| |M87y?5$$Ska{Aw(/.8: G_ kٕ  ?ّOYkw \KsV U}[hh~˄uV^.kBQq~nR:CxEW*턯^:htd:=?"Lv]'>{ݝx;>x:4v/+sF\9$4,e`&`hY{XU ='J ܗn#k3/3h- wCx!oHҒ&s]5o,ex3h!z5wu+OjF&Xt Wt٧l82CjtQy!h%>[TH́uA"s$`Za6?j[9 Cd?<.zW>'=y/ QcoOq\HݥS>jAN3?̙6jQcͭS_T8yѮwbCeX͞&l¡>{q~9Dʼn:Wy:4^z.$qo*$m55ιT0siͽM3:oɶVȔ-8>0T;D*o(rS#b8 KJ8 r3pTicѸH}'7+]}3 7*q`'a(kP2e$3QͶ=ﱮ[4 QV3@aؾRx/r @]Z^,A[zII #O1Gs`R4%`dQEx隨LNc~%SG_uia}i/}7Vv̮l= L]s8w\ $|Cx+݈6bVDu⣧p8)GK_`Q025-k'm/6IYEE`@z+߽1Y-+X'j?5Aw_F"A,Ns:8ݳi"w@ޣawkUW%Nȟh4PG,TV%bBS+ r4h z,ztÚ^̲/'[Yj0fDQۏϟ |5ϧ]cS&*e:.Ik+E?ت/yyyooޗݙM.a:ߦ0}N;"<]nm#2"Zƣһ3De |Iw (b yd Y_(e=S ~ꛅt} &"g_uM#Z~MkRdc-lqRf`+wyVUl,x0 3Alaj{_!]G—a$Xaga?Ձ}J`r;t̰@,>W5pO+\8团 nwOcI]鎔&QǬ#缴c6|9J?@8C:e_ƱQ梻켝_{c]')˔qcTWogj8CX̆lein^^S@#%|ߢ1;CD˫u<~|waSIЁe06K>~͝XLhlv|ڮz?pX|$Uk''t W ڴe.@*SrӷJ^=ptWLx`$94dIб%J,T&]mc+ .?s`ZMIt%) }zŪc-\Ele/= 2GcA{W7(͸^C4!鈪iٶY`˔ݖYJT><j~|d_sf_ ݭB?`|"-}yR t$ #ic2H}72Ņo<'c)XD,A0@ςOxDYӜ Q,:{&s`Y*KSye.pAϧ1`5њ%(MbU KE=ihum}Ysim[lV\K2i{7%5"q?P,x>7DD]͆Ņ`nX7~sNE4Ca,m^#0FXcXv*a@:[ݺ 6)Id C dq .dJ;XCiǜ@"iAUK)Q;T􇰇y6ߡˎ7b8#ΖєI#{O >k_Hm1g"pp6)V~TނGY))F?iS!2Fg*_\=9'F!=x qr 줺*|6+H,('E}ɮ&>MyI,Xj=ԑ.K7 E-46Ip_,)1 xj+%T-;`H? 9 G;+ 5_aǸZI Af ePbtcjJBm^]vJ42L";}Z1vVƚK*Jg[xk͇$9EHrB_Eo# W!%`Le U i0%4, l gՔMĽU&Ν.myU$O4[VSZheRh,V\-$r%/j<Jw%U'X#?[G.AR"i0I}@7WZSG.˽k EOYGxψ>C11].}$`H^d: ^n(&?Ww{N|\_^qzu7EpC8!t" v56`&CktF79QIkj) d#e-)CP:ˮK.uTǜaTr"Yt㡩4z;ոL-~*t~cE4MkGٮQL:ġW {3=?ZKmf6/ ]J ߲b!ā\55v%|nj0S _XL{v]]fFN_2qXm0ZE 8ztV[G9R*W|zӚmIR,>MuDHk^XMqg Y<|I|fh4J$9hyV{:W*3bE?&~7xN?vEPsa XHi)FhiVi χ/IyooVaƾ*3Ƒz)aH} zK28O FDcȝh_z'Q4E'ފOVwi쿬cGkPPaqXDK@}H4b8}S#1jάZzK~6'ڼƜ%H4t (teO3YvG2uPc2&4-4V~1da[^;b' 3xя I^0@ӀBQ2rNBP1d.Yb 57zsN,36:CZg6GA?1*% A?ߣ~sab&US˅WĔ&~[so̊MG 2!@Fo}=mBu>rdBK3nzvG,S$( Q oL.a5 ` .ksxqa"k ~EJ QEd!Fߨ du2kޥ.$|o©M+؅Iu$28HENtd#a>yP O_JTڪu B/!˒ZKqå]qySԾ^OfMҷ䳈ӲU! |$ m/1 6\w0H+vjweGDl`"A=~3oب']쀴%R dӫ(pܽD'ˁ|8UT%(z$P!6Ф4Y]ۆGגOw<В] /R@JLސt'?9+l,ߓdP֨уPՁvP;3'kkdo"T0a^hѫsAJ$i};-XNb_"Y**+n^mL0C0.2epD4 >8w0nnG}$^hCX`¥STP^\rK3e'ӂp,Y훽R-`B/tʠvO0a8&ozϹJF$?_Hm-ؖEV @Sb)O-9tU&ϻUgKqZj}# GiYP] ]$U~f9FEN:[Xkò $%YXbuObɆ>jz`oռe"t=b`"DI-G\u s{[e\ɫ_F80PtdJ EW]v-bpVBtcDNWP*>ޝT!n,>]> 6O[Z3m}$@^&w2ՖA?B]T&*[Kdh\6tŻ9Ocĉ'T m'E y8đd݃_#'lLBj{oku&(4рwn"{(-꿸}2/ ԵxFcm9&̈J4n-QvF_Ā;\'&9q>\$}g[&ؾZv^F~7`Qag6ǷfO͗}j3&Zd%4Q /ڷGs4TsK \*㙃F[7fSo-">Hdwp{ahJ7׿dÌT(}l]|=0w$NF%xVX$7A%R ½( LB$~Y UV|~sMَq1tQ4Txk?ŋhKZו>dNs^FE0Kifnpܥݬn*ϬD&P[cpv`%K4Cfƈ))pj4MjmM:2-QUE7E媒VWԤ{cy%,=r/X %5.lj>wG_۲>S&91u88*I ͂9m3 nk[1B 0J~jeIuHc̠*'-' N*|ٕ l.D ۾CK "g{I}Þ9k3wxBPq$$B*XȲ胡ؘ?q95Ď~,Lvߨ}|CSD{mv3ta{A͒1]yks[Qҗ0d١+CǕv$Kq;l_{H$& y%Cj;%҄BL2xCMȅa3,K9;|I|ә@1_X>`0 IIp<=)WI [zf646*H<ДI~x#BPmƸӖ}e"cy2_ŬE-2#utsM͆ ~B楄N ݇; kjUE|:Mw\++@X8IM=r9u:gSϡOXr[h1qXӥ5Ch!1SÉ X\m!{4cc#y:AsDZyur.2xF&PݙGZ;P߇ޮmglԴ$],Jfh՟w]fp?^#|k&\~1kgK UF#ӆEi嬔.G7މeֲc"e -q:y/TJ%ʩn9>W'#0P#Ga^ԞF'[\t| @6:[/`&"1Ўf/H9M蒘8JQ] Pe$[J hp34D"ҁO<]r;4O]HTŀa)n/ո >:21c.G!mR {֪qr<|IkR2lRw*ܓzBŧEj waNы_c9_9}b:\lv3qk4Ԩ&qi 3]}Z˼5u;z+m\/zrxfw$bG W~)}IM=z*Ko&^:0%uEm[=B a%ד.i*aevI_ WPzњ/Kn78r,%G Hn$%h&Kup:r!- #Kh]b`IiI^i$%<ޚ4Ww}C_ ȹ~#V OَwWpMP j*@ӞFHnkl+/9ϱONЦfpzҝy卯@N\([|@wҽc&2,8  o?5ъ m (~ʨmlCG0PԞfHQ/3uı? Vi{"?s]&ldڒ|Q=]s|~0LW?.d`V|_BVeKa%zfMYJa8?W9%S*.t7c*{Ӡe{ٵ^^2ۡp?ȿ=Iu'~{{$xMq)kWZN L[<$-Cݬ`,9D9_c2팼+3V' >)Ÿoͫej9ڱR z36FDgX,vNzsBꭤ @5E8%1Rvk6dAtl54e%%׬ 7b0U߮byz0 h&ݭڒ&œn'l漏Rwt& /GA( Qֺ@n"e"lgP&kө] !ٕCUb0jNx l(~SuRcʎ;I^,W,2 .N?ہ: *z3v D*6X&T$uEׅN++vnh4ZC YϟwbgڣV.V~'Cn-t ;x V ԧQcM?׈O^QIkx)b#uMfU&g@biɑiV}, , 0mE%B@ bw <;ً!BI5_-#.n0$Ix}l_.{qnr1vԓ 5$6|e߫ۧNҹVZ>;.ATxr_<~ؠi)#8,r._gOuS'dY m})0F.d띧gg*zb e324} NtP^\=VB(/?VAV^R02㥾rvR"J  Omz@|@G0vgtQH:kVjy7/"xj>)mjLHagTdgǻNuEH}ߞN\‡kٓZޙTqf> ҇^aaƍdg3-[lYYc>%t+%>B>f%)@NHdz|T}FEu*;qpظ"le Д{-Ms#;uTj 7ݰ9o) t9):/$sֽ<MA˱J â%c) {:P;XX4:%$(\uARM͘]cWci~M@ȟ] jH< #3M xi1@e٘`۬D2>Z.׷_y]a{OUr}vHw8.!sw6722Vڬ_Q@/^Nf l*pdL\tRX>%sD7ܶ-,|gO+wrHw֮٘xΰ #uB"(ӿdMP fD\ݘ:Δ#Ӂe%L~48Ic{,N2\!$E2ɸWШE :4-v2-]cV|grcZ%$sCEn nWYr_@ 1A]}ggvgӿSN1Þ4YѕPP%̗s&^e/$ccE|2&uC7$9es C]6י! +Vʥ̚n:&1RUcEB"N|ŒG Tan ǜjT6#T>oTUVè"Kpwq(L12{*ީ[^κ)bUuIK–yN(#4 ҸcXu1 y) nBw>9ZVmc瑰y:AZe;wz g@] =πQ;Ԓ8 K1%&dZx">_Kk:!j shg0dS? ^PIW Kmt F ZJ}o¹u2xʆ}떟ZX-ʂ7?CbS"-v onEHEN}WDFn a/.ȃY?3;yL`jt}PW$ql["=xE#/H<}R FUTŎuƶCb% t@i^|O!l8P cc?ҧN.:r3f4ZG-^K39G"(ɱk~D"j403/D&2TFzlm5+ XLZV^|,da|'5١ꏋ`^Tؗ()%"O9ἰ&[+):wOgv&YɆ$',Cbě i U?Z f7Y@h > 9ɧ oTc]i1<#+hf[44zѤz~^-^+0a/L" B|`Z}@fgGTO1q^moZi/6)_;֎^:{,ns&YVҖV`SRq:-0R_Ю*@?穚1$jH 4Xa-ۉ6ߍrx$2D( d+hH+(ݺ];G]g["4S?0lĴ]k{KYMB_ *+{V\M"$Z1s1Md<Ն/ xcF\c1L%SM>yCCGQЊ$ͪ[eG1[.6roiM摂}At`YuJKPM^#: .F9BѼUW-%!< $ TcM ;{n.t4,ɮ'NqE0j_ڷDMU8KqMҞ|鴪5:ؙ\EH+ޕŶ1bB͍(0i\l4[!zna{jIbVdv=T+5Ihi&s6"ۍ5hprk IBWqWȂ})8ؔ:vjBQ\iˀ~zMYIM)c*4i-(#S|kGڼwoC|[iڡf BʉYg\J!aL9RN$2: 9uG Te&o1a[+iɧ5,!qno1ׅ5nOF1l{߶lz݈"hF}6FbeHڌ\*$2a pG.Wp A$+,q3b`a 5+4V%jUf9:co}_ar)ŧjdxWEk֪ïWy82Vz"s68J?#/~Ox [rwݧ3d_H) d M`F`~d=V.9D /?Mnۦ7 /@X hojiodODQN6Ô '1z6Ԫs.ʷ;=_ō^i)̪ >P];a8CUZDD (ArN.>B%#9lűBh7>ILZ-/y(Zyg* [SlǛʘe~K=תz*!׹G8?c<-”|XJÊ %F3x6z*NXU$*ZnVKV[z^Ĕ1))X~@naId: ɄG+L_Ʈ*/[ⓞuOnHeiN{ KZ{ḱht82Y C329վ'g=b[H]7S6GALf_5DoE + lsi@CKqE`q*R~~^mY^*6oNu5J]b?fRnT'L > tb8Mq0X-oc=6'5x).uQK#WU2O."X/xz$_fwo uJ/;Ɓ<#t} ?0ȅ_~|ATSRN7kT񁚹)hB*h7Vfr^8Np "cWҁ~6Aї\56iە~/pIPtҝUu;V9[| NL V%npoi?cyIMVfA35 olmzaҴG¼n&!,\쫵"l+%A,TS$.qۙ0eMpYOcȍ_ZPuxsjʞw0u-KW%fNi%` _8X=&Ed/ A"W’d+~I{3-"o<"|kc(!_!vMMykMJ=j.șmK3֟'c¯k\ #ToDeÑ" /W/r{lfcmHB }qŃ\!tX'2O#1OQĪ⯺4pH^my8#GDU|z^Gl*"O|u3+Ƶ\NWgJ i"uHEqP}6t Al[<">nE{~yBy\zeBd8vOyՙQ`LobM俐6sDr#eri>ɵ T4qNUBB:4rm^TKaCu|pyO肬m 0*%- ,m1>dY%807?`n2(jaL`[$ qHY'Z%rw1d`89ٚa;Wjf*F~cr:&εOx@.Jf b!M%fQ=`yRK[H7cR)EvPcH8DͲ S@+`j5÷q]F-ZqP[+LG.nZ܋:R3f$OXgRffD]n%SA7-wM!C{N>#TTf̙L{(k_)YG`k^ga"de=IHE1fR0 viZ.W#PwNjG ⩂ L/.lj=H댴M%d&SWww;/)e)`ʂY6aUVw@I`"ͣބc2Y5W/GL" QA{Zx326@~U‡jru-c-(4b8{a: G@wK4[m]BKsQevrO0_KH_hEy|srkk'5&N ` ՞DnZho@f>:yv.6DwP4#Vaaaߦ1>6) tyяhBo^Yahhv{/2+5R2gE%B?@FaOG% {eSn /e9Ks\lIF\GiQʹ2 U_8&Yˢۼ9v:,0% a.>^uBu5[Iw4h .1VI}]#9/Z%a7Vu!9/.0+F|j[AwOk< HW|_j@o5uzņjAoDF}pK%~ELGVlFbŖ( uI2G.G4\r? u&! h70YrCP$ܓ칄413ouLsH"JqL-C]8 ŀ}!D&ҍж`t,o Mlz*Bt뾿F.uYzL~` FNutb.`-J4j.ԧؒ_􎍻24G _6aakNG>A;8ւ`N"ٖDHw[E^ӓA,(?Jb ,v+u.JS~Sx 'h_~JW/%S8$ydu'R; 1Avu1-QIzf^Ѕ(z\4?mͺ۝~f$߄F}͚ Ջٸ54A6H{IOcʷ9UyJm+13/ڡiy Hpof}ij x9FXT'35?Auhl^-Y=epm\w418`Az\qL3+>0,o sH= ]s}zn12u P ~% viV z *X[iRE]|vIU a8\d &űI_4ӸځBΞNlR+"NXT9 f?(j$ X"`ȃ~aJ";i/JlM\[Uq4N|L>rۂÑp>1=(jɿQD٦BjZh|o)[W^٬)Mыm,~)!{iC#N#f]]V/ͷJ,oJX,y282{>D"C96ix~}vf.xA@:j3 pYEsyq\ Th0f'OONZu~\)Rk["? RD9X͉_ř88hfB]>\Q.R@*XL@nϰfEuu*²$w[;}Io,9mA hS+:iHn*oZ  Vҟ7aeI][ǐ{W hpt'w\mj ߁5nP ~;&OJk*_ vi1Aj7uV9{ WrU>u{)aN)dLA $w5mCЏmRsVj@%dmI!?0i\+lr`hEj;?8rVݳuin-)\6D) >=uOqe {6]G;"u?q'm{eW-Qy>R8 1e J &[ԋiT11+rM țTm2>`/*p6Spsw3bx$:e:we1$؆M= (` &Ov‹ʔ$#>OQh|SRӭlÖM7JwCE3_39{^gv1L]!}&&P\^TΣJH-`Q<{c>N qDU 9ƫG8p"L{v[!zmX^^GׄKFCfge2.aRt&WI>EMɵC 5G[!B*U _k*fEp3ZvxOJl ՟ɗO8<1F|=5%" ~p>RdIϜ +gs:o+=8BOB3ɟG_fjBr(J'%v؛q+-fTUmcMv@)ʤ'G' Bx T|$uLn@qk4$,l)Zyͳ2(IND;cu5.KX{")Y4ӝoh 0GJŸ9.95x瀴F6 td-M`?$⪉7BKYݓ/^S|qIT);;Vk!E1 A0'Cz~E)aF!xM^+B:3\luT9gN.jxs3\#qv ֘W{cЂ'Bk@~-+&`{PV6UOVfaWKu&u dIZ]c!.*B MғpqJ$=ѰUTDmu"4qn7j/V>q(Kj=\C*7B]Ha&&ke+BLj%1EkW4(6чPP^ <J~\.ٿi-=zOR27hwNEc^24|CL#5_\"=9`am݇Dtzu#1ܒ*W3CۜW#M^.Ӱl%wmLe.ĀZ(hDeQ33#b4'UVa/SsPhg,j/߫c^k4\eYk[aZT>;tG4`UW ΢g.U%?䶹b3Xm?gMMT .Ou5y4YQ2XyO4"]$ֿ_0*Ȋ.٢6qYw K#x~jiXաcK0J(vuϺd1tD~D[QC)D?W+8Ρgx|c! ڹ9 T2ԠT$s$]ÑaOû6qiGhvχ䣡,' H^':JPc,#ȝ$w[L"K4Bh+\?͝Jew1P@v*Vl5toGߣϧ+`7i@Kθ%XF"D@[!~@ˊbg}S#G.ƒi7oDT-m_A~bGSWdt%}~_F"9[Ŭ?0ӦKaQ.#M(88k+|[,L%2.TX>UIu>Tcp:Ý[ ΃mY%5:K7vLpa>j:ﱿu_|wv@~.QuTo+`kQcX' j^3Ua0krImvMrPJ~0EDAIҢ(ugבL^cm޲AQT\H YՃ S/@kwL:Ɉu ] fN^UH)?0RO|EYZ8QitĻIx]V{>xy)\#{SFYyG],yQ#VGrǃ61}&(9D|@8MhɲSAD=a1`R8H5X2t"9[2;ν,D-30S+Dj`RO؏y$x6S%v?SAC>]\)vl=iN) ,]h] w\Ǯqgix_ۨ:Df?K5=k )d 9(ʚժOzoh-:.C{R۫9 bJ$j ?`U즠 URzQ*C;XGʎ,g@-{NߖZ:[WeD:ܕqbj[EP T%Ao7Zۍ 7h=*-6:|&F5ay5͢-BQJx ޥǾQ#38vx}.nI#.t Nkـ4jFT_c_$XT[\k$iyOp>m]~,xe‚eJz{47 9"N|-YA12<"֨' CkZ}c""ugCy ɧ!*ׄ]ĿrE)+:xy!?W(iQ[JSMl ->IRLX,&m#7+&Y3kR.DғsLwfyڀb܈G(it*dRN化DZ;.szB(VV$Gص#g $Y-I^o8y 톩borJ|.O  rdZ̊JbX0m#̎' eTi-V 3$ofMBRXDg3¹r(AC*>HLnuÝj5oO>r2M3ӊ'?um l\9,<;1&fS|=hS&4'v"@/y}.t,8S 4BV>'dq;!`kڿJnty8iv1&7niî1PFlpE.]C ]Ҵsڱ=-GKqms]rkdK@ur JT$RTa?Y;7Ɩ#/*]c+IқZf(7nʏyՃ7!⎉ox%CnRuU[f [+h-fndU.dԡ.m,-Z2kO 8ے%#jտGXMtSxjAi"0LX_oyRa[N2JZ/mTMK +v{tL %*0P#6HB̒ ɂc[#U |F6rjdVNy~\}+dH:$5\i1ԺpcA"ޘ{V̹Qֵp-hյ%(QvйE $38C&)0(7rJ{pp[8ju^`2X$db=w 56>B Aitsb>hJ>Cx?h(9"R](֬5xv 7 BL$Ucg[dž(VWNk]L]7߳x_8R 4M',G*L .lR!̠>  Կ{_,bh yX&n۹gӶN#EU(n?R?70fʟn->㾧/85{iM<3Xd ΋LI`K2M ڝWf_{Y.0FC&(+(ưOPVN@ Q|J?~jYGiR]JtBo~UֵZ0gF)v+ }p5j)Ovռ7k) 0|oaQlcUk@~5[E@p9C4 BVH=Xs덅B yꊨINźN @.Mue$?yV2:_+2IFEbi { 63rQ,WT"sDuߒ*޽\)]ϱWfG)a-g5(e][e~GLJWYllg~CĞlF'BNUZ_." [PA;^4H+4}1WEp\B rQr*- h=?ssc<>ǽƁtakӢc|rSά%vx*˓+o $SQv-/S`R6bE3/}:KI(I{Z0_%cxGB1[77QTDc*E LLy*{yL$E? !T::Մ+o(!>Q\pOǕG: f3əѯ)t)ۛB3=KV]ryd(&Tf43Fuo)>;%xM>o+dM 5=FO &60|wΡ9ީ' 2sx^*_ Xqh:ꔯJ39BX7>T Њ%T{鷝v 1xQJoRtG$|N< q_4eUd2"aW.o둍ƅ3o} U1S Lf*)zk#TA)ب_.j:kr r'18RK'TqQVk3gp_m5i:e%z} Q/^5*{?K*a4TP,57`, '?Lx!ko9񚋚 S=_#6:ѓjzbyE0j6'Ьg9ZӨ x ku8= ^ށ/bFm:_66{l8;<k rHKG!iKy,|Nmq+?I['rT=0#\2uxi`S<7֥, ȗNLVQ)¦[^S3;%2$Edw|k2…MAƁcFyJ<}A!LȮڷuv}CJ{:kS&!R{22߅ci+]2sca8[^fla/5Fi}5&Ĺ!c τ?zEƙY+ #NT o ʶ(IgT6 Kgոx ?Rf⽅p!$_JX^Յ|eSYJgw !sC.(D=ࠌ,KurFgdu* GDkn}imGմ"5U*ҷ:s%r1$.Offu#cq|j7nP|W?b% ѣkg0)WĂ,~IsJb:_f,`żLE 0.s+t& iw@SAF ~;O,n{믪W?ؐ`[E*ȱTC a#cVܦ-/je L̀$Um6<7O|{ֈ}*X`|̍/pU2^@DzKhd(G?k#L(CzTG&atS%,W>?'[`GZoy&](5V=_ L `_R6][OcY-Ṱ]M]v@gO#3ϕaWr.9HN kX sk"ui4.)Bؘ IQRG!(gڦz/(W )ˑ36(p\[]fP|2bu2 ʫ\z_f}2IkɄU;ڴ((dȦʍxHm,n}Ծdpŭv6aع$Nk`Ӧy: t:;E s}οg>۠¢ot{ A(>a]+?b͠E~?I2qU;dzm/t_98+ sb+.|H^C~{"b_ ˟L;7jx?rKkPbk+8qO$;3": vM4÷TƼ28KvS|WaQlm aaWd5]{5A`2:9 iU5ꖮH=ȟe  dPSyIDta \ a*oQ 9*^gR$D(j5m8훖f%&|;6 ܤ3pn8 1^"w z|zk G*\[ =w l9G ;~ kcS|Ik)7ci]>Xm4+I}dL Ħ pU69|t,IP$:yoZ3an%k+x'G 562E<3  u6_[r,.V -m. uAm#Z6}e$|xO>v6,Xn?f˾g- iD&||~Qx|Jф8`_jI'&dgcxgZOc^/(o"&f!+&buAU#+F0ܶAhu6q;˽2log=# 4}R5,v)!e}5;XuNPcZ8A;vZ?;ٸY7H5&ՃV c$.u_z .a& AaPo^щDW>~ 9 4۶vRh'V9.;ah!+6|@ćG=QRt8uO{o 2VcG6&ӱB$r%'*iFEŀ}? bUTVsM,U'ʱR 9g )k=+ҕrIh Ws%0m[uegoβh]nxw)aBQσJfEV@@^xscTowo~jqY) 9 $RnsMU'衡'jwK> s GOL^lԧ~'mdp.ׇq'ii#ҁI @65S]CӥGBR k>y>Mj r}%g396F -tlxJ-#Cz@0五 ~69|#8(r_՞< gp}X $[;2ti!#.p!6|lf$)OH9#yYVΓ5[/' 2srXO$0Υ|Oc:1zg٬Ӝ],&엽%񕧇칀,ha9S"DPn&TKt_#_! |m6uH_2ڦBc eXfZ3Fq}ZnI1m5[յI - 0ws9)'+÷y3cO5 ާOݾ>B 2G_do<$%2PQdׂUݰW'1Maէ2Q bJ \PcLm%\v ^ ע??X(ͳ}+-e="[``g[|=Q`*Wz/ycA=DՓgbq =@1Λdce9/* \yk{ᶝ\d~ =l.r=EJY^|?YqOBݗ>3c-6~~5(w'=t5aEA|/ꡳOPHeȓ.ߍIF]e2 w7h?W9*R%^sⷫ{:uA C#J FHڞIbު 1*6w,-IY :9\(Il#a`bQoPTphV l>YEe^-4<&tiHtdna"F ?(n6)YGƥ8X(n#"+ܿ_- H7mjL"jycZVI^ȚN}"x6j:I*|*] ]HDvk'bgPyяS`r@:GȚ4AroDyO(jny+;qFd!$=IrD =gفWb{!)ߨlhYaϑ?L 阉Թ#ɍnXsZ@] .!wVeʬzBWx2FijO""rvڵ)CpeŁ/f];!Ĝ5 I?%aJOfB6v]65zЪP 2uA*ASu^[Lq XWK5% CZtl;(7ߡ&AǏ%bfM?4bi$`EL X3oOP;dq4ܫ.G,j!#,Z$kkUDtׅ0X+]ec bQoހ6h #73U"lpHզ ڑ2:@8nPM C!CQ3+N>QpoN %3+?Ny\ 3$P}ũ"{`=W708|WWN}̘ۯ 8%ddl:WF9ʧZ4V_m+PNKwdk[!B~f?yg"H(ɥmZ9b m0t f܈_n_' =МB͗"y9<vS?P%<6a8 `ryBM7 /X:PkNH*/v˾dM0CbAF lì%h-8AcPu1TλLӦ+幍A06gSݶl Y3Y \qgXqZ JKe,xTon}:yz5:/B-%:2p} (Wc2gcJYՍ}: l7 ef:c}G)w`o 2PDFzy[Jip[́>xV*rT@w(w|vr+aY +JLV e)RN^L'%o`/7^Tp=8w-+^W:A!ȊI1dZ!@rb> &^sk$J?/"JDY+ H짭zSI#7{\hW<J`po蹊fz4jP4y,2Ʀ[*AQMJmj{O,15X{J" P%y:ſO^iĺ c{흐YwH̙ږ{HL}8,),g8'ߧ :*P,Q}nSϫ<㣒Ye)hg? TY\vS2cv9rSb$aa!mwԚ$`BM|KZBEgosCm0+ᅃ(޽w&YY߲[9tKyUJ&!sVF*60uJΗI2a+A 15;|H7KBBAob]S:Ui&ιqE F9nPeҀ7C7̀{xxUg%!K8ocRV*iE&ur!RY֖D"РƠa(u@b88+u5We5;'WhJSriobQsY[?/' 8M eK28jH܃o\[D7Quݪ؜c؇%v5EPf&Ef2"w@r[b՟ka/ +3!Oua$ҳ$ƯOF⣾\A@`VʘXQ.U@wb,Pô ; }㘕Wb]PmhXl?inn<%~e@2<]xe팁Juul5ib9u-?fpIf2 !ÊdP6!w4,f_Jk v;zEDֽw>WmUD@/l4ZoY/6S·f#3Ot+/iRyk!b X{\ ƩkKsA]c{NPgؚʼ2)8["n=ͳ jAȑ0V@H8;UXGR^EF 10^ڎ"da| vuVl E [n0gJ&"t-"8K4M౧5hGw(`@B#n*4tmIT gQ#pJov'k/Dq" ^|.v4e-El %;h!EM{H샯 +g21'Y٣1'bz W9Kқ;Lǎ;bRFEE㯞T:1UF (hDp[*41bE5=n}o*sؿbW)xLH"5XwЩcFљ\!\\6,@@N7e::56 ,~`O-C4%6߅mqÌؔ]Hl޸lM a{VJQGC{9J> HVq, )D ws`**])PV*r(6iTD÷nʏB%B PICǑ4XcU;,8AA1 [Pb:"l`|UVcph%g! .ș1KώT8^b۬OmLM)wq$Հ変^u/n^2?/Q4x;zLuWS0̿J9݌EWL!]c/1EX;o{;Di"ԏ;p ,[ 2ؙU ,eI7#rT--ݩ If'N `Ҋ"eãƖ*&Y_qBuefG~kh.QWIsNXA&%_!s_c.ϩ"-k1bE;%[qOlU+) ƝB^m]>J +be쬡1'<"YnmGBq}[}/uGyʿc%Y&5ck)Y0sO@T#%VG9<瓷5-NYnh 2fׁܶ#F,7iL"`-VAG_8cE7=ry2ۯ̦c]P=%C-q | 1 w@*=k|XZ$Oup2yu)hC"oOEz| "GU?H]d脍t%6ҙUC+xt]ƼÜд1fqf8«X<fDQi &ҡRu[c>wI(/Vicf\l|Ac:M'tkRd>?^_?7t}b2WƂyyrc}窞r([q˲ {.6W+BKY1SplL>̓jf]pb'JS¢@%͓jۿ9_ʡ@I~"qʝ54\zApD)>2V2gnwjV:_H3:*TbKs14{9n)j*Nn=8]IVptp׫DŽ`YAVRZGpkXN}$6n~/EE$|  T뼲;1\쩝5+y`QNVp˫PnJχS6#\iG>q9 o,2.bAsܱ; ՞* }|utYM>V&mL9̸'>:,GуDvM (#նwu&p鳰B#?ps4ړGk٣޿ qjF*]ݺ%,:da>Q^CSsw c>trv.Paqjն_-T7:ݵLcTSI#뇈t ~)~FOal[tpg4I-tiXuy[ "/vxUpܱ!k<#p4]7v~>+ ;:ޚY~i8l(/~LǚR!qKf,εP+^tb}6.o ! 5MOAg^:k:O8ZeV_P=t#ژpxa<ؽNkyռc*?~ M·]hQ4Ӏ T҅(hN;&c3Om2p+P٧[,Wѕ~)5 <ʝZ:c5J?8Z[˵]^(2yvҭV Z5!70K ,|4+)Ff:^ݧ?4D&ޓd ,C{?o\0-dt8\;Kyg9֪srmq$q^D*OnR%IA<՟P_)x?!J۶&=ttŞ :3TpJУs7_?L~F7Lܘ,'*EXDe6p1$ȶ/CB{-Ԏ 6eg_<~Kꅴg w_~Em#:1 '~$F(ЌckXPxsB^*rRKJ.D(vŢ0(rK.nH!YY@e7K^#_A/.=1j4T0|!fm]](4ɕlcԶc=g)cn+f.2{Ԗz XODJCߐz]H '_m:Uʺ/gvxE~Ya#_O-KKءi?&tk:x.XIb6J"$U5#WBtm\Mlo߶Jw7߮I%o;Qb_Iӳ&ْ^hI)S3~ DeG#+} #HQwZPBg`P26yy*\idkod޲S6['g5+/o4l^*/cHKRQ6vwejflT\)m6DǾ]DUz3{؁45zdGM~]b%]lS^tBΒNMXsqms $["W;oycM֝/\h"ϸD9~(d‡Z>o!#f6S" smu_[=6$3yZCNcbIDTZ'r }OkHO8>6wTpܿf6֡44CFlmtrI|8̠1_%7@^33e w(^Wryln{Wmr $j*$~cEKWP F@z_@y큔bƭQz2xDiMrIGE¡ F)ҁD(")cQ# Xjg[L>"F mo5ދ<\>*NVuC-߄{Stz / yYR>FUj.USj_ `oLz;>uy2ٟ" s`麃E(%ۄ;+?3 w"oԧsyߪ@w!\ gDg\!&|8xx k6B=rekq.)7Rj7x$2r T2ghø}f+] Quq h~G\^y36 ޒ$=R='yfr~]VS05ɤ3˸f2[`/q~]PbA4=.{=9%(|hZvO|i~d DǨ:MYguBW/mq#{ۂy"ġYgay*OP4lSئIΫxu%3Pgԏ|>1$0DWq}h8 wRch"f)iZf\ɷzOt]=2vX{uL o/$+ފCv"[|q"&{dgw/_X&Ԡd12>y Q]HlRcTͮwujY3TM-)|U|-t >^1Wqs퀐__7AAo\ĕt{>U%rOĵh;-g*>;3+!qCk%NLY$0ph]SݸE0#6/ O`$g!N}kD ԛoBHXl!Z:x#nhEE}WOC嘕 GKgmNmձ gGЭL,8٨z6B9)y Ⱦ5xEH}^'a-&xg?wEnaL ۓ 5ur9 a!zQlg4lw?!@KVU\t9``>I!@\5*`m|NP~bQ%NE4@t8upEI4XnLjP~L_ZSfoZVK#͌ӜE 27?_K T4<nvT:-w/S"IRKkr߄-pIqI SPG2S?úg3y/IBvUuW\ӠFxo;ؔe @f1`e,:,mZZ~ tH~f|n)!kn*.kA8DyRx* 9P#JɸW /ƠOÌ1M!ncpOmOw:e\|I=qCfnb5QpYGrӆ] ȃٺeYaMLVYO2@lZ &́zif[wfkTgסX]ȇ%0*SVeP(`ӶDIwU=%Ui`T@@7о؜$[/b "[( %:\8$=+mu\oU0-dNٰtK}j|kTRSBh^|BrDO2JU#FRL߱%t^ƁQ#!H vi'El=b;XlP m`:P؂[b }o1Mph4!Qqr#l(4;VF qÀr7wB?Z܁OXF`Z%DQ8Zd( TP(+T#C75d*G9Dg 3V[Y_T:˪2GmuQgGf'^sa;?e: 6EMZjbsT1 Ձ%V<ԁ7EH$]ck*y|Ji ޖc KUw|)v /+)zPCFEձfy#D cMg#RjUB/ # DUB e˅+_i%Iܬz\# |[9S{@/%_z &Be hu$*OrJD`G#,Ƒo2ˢyxn"b 1S-)Ҽ*sa 9I  Ç( ~E% E5:RAp18#U_>[Rrkע*ݴhΖ_=J7%dXh]FX@?OjxqBSoyքuHR-(*Áz8p$KIvv?ůKFo(J+I }:hK@P=H hnsJuo#qMH؊ArfQba1S벯/ | Ȯnj~+Mu|N|\'c lH|iFsdeOVMM% ]ܻ+Ld|(cʅ'|pV#|BC1eHrJ9p4馜i+Rvbx ӍzF3ݽ7?r _քnN!'HB@p1yCTzR\RAif)vb J)0> S>1jiᲒJ"Gg,[&/'dn#,˜vkaݽn¢L&7U/ћ/[[>OTyOD䲦Ul;\h|@dVZp p;}-\Hu쎈%F6ek܋:y9r|_M'$%-G U=t/FfSaJ)ChUR1¬ }4ӫ: -ىr[qYϹVE,4cb[˾tǾCM8Wդ}:C%d[R.dֻR_Kt E2®eat0uVi&Ƹ}42l>2O~ΥR'V^rM}R#P! ئD5 զk2ZxE%>vux&wEDΓr +ռ$Kd(!3""hvˁ XonpDNʵ+vMPЁ^SgK㭘L'I!-򅈦čtyX?llwDiti Ц@^{.5a+3̺R q:+$%DxF{h4-MgPD,Rԉ =7D~ڛ (ShyvUS?mpw%ֺ;,"ԠKCt'GcvӏQ+2q:#1hT؂0ohHidgEo^WQ靗 >`_2{}SZ: )^;>0c͝`5`ZVGH^|ZNGy5  mw%= 8^w4q}} ]76p^̵3t~i^鉍 ;6dQh#L7X}:!8ML#4;w:\CmݾmV(;}"%ی)3]#j7J ˤET!hv:SW&oK>js-Be@_ysj7 XBH{Lzķ&O\w;Z =RuHp:J:%b bu/jNC: TQS',/1ƁT}Q0ĢS-3'F5|S(Zv.쉪\ԟI#͗Tz ˩⬃;,lq] 0qT0zOYY뉋ԏ); X t>J5';u2c"Bnc}B=ΚCzΨp#LPt+~aFP ]"f$+KuA陷6aJy r0Y W; 9&p)N vALJoR(-# 8?>Xny%JsWXh/b#taoN vI(lZ s}>!4xUXs.q2s]fot{?-{A Hv.Ы q#z C߳DbS5 /yW#Xg05BK#d3~Oܧ.u9υ:G 3[pPhΙ4UXXCg G!chL+7k&|sH6_/A4D·FI9qܩB##η7 >c t(`!ω޸`r+x ic3Â$y!HWv"K}>u*opp>߰_}JBy`U>2LP~nsӐ=HL1ZiUگư_yJ4;-I OB 22)%Fʶ|f(tyE7&TLi\s>q3|8Iw.7w҉4F4Iwl,ncq\x\,-"/BXoپq}u"6~Łf9eYP)֡Xjbn0{{p租N5$o#}/Ҝ$"? y/6|/0nX{VI0 -%-t)F1LCD}0]݁t/RшI4s]>lkqm<(2ԓ =-f="w:[tacy7)ﯝ`6 np&5gF l4¸RZ70W c6gL|<!VK9/qG0!uI߲{)/JYWzcTWIP˄,g @ds:p^Ka0s5VutVI|ʣh2k_U_UA=u^4tz\ͨ|ʬG^#rD,YovM-aJKg_ 9lsΞM {h%W]LbA9.ӑlmxML͔RgJuΔ Q@V3'ӚW0o$egWz+?`PV6t  m&TeN/Jl'D0' ΃d_Ri_f/U\M%j:Ⱦቫa/q%Tfleؑǣo-4bp1eΈŦoOI)C./2Rc ^,':i3ٌ7.Ѭtmác}bpC&TնDu^oݳnF%D_n$*k]e4.Ѥa2`hDV^XT^XT#l8Sg}JfM -ֵ]{+ʶﵼ/#"ph|/3PU2y?QF NqІtOvT֛5ԥ!=PCb/}U ~ TEf+b䏢7MQ q0j㺄~1V@ŝ|'öšcY7voA}ANLW'( #<+tJU% TUP%ĥ8.IO.T-A^nمr4(3(%Y^?EpXma}$}PyJYd[+B}X KkDљC ]63D^0-G[+qf-y>w56_ (I924[eҖ*|Bd*#,RwƥHsNbeb{e ~8LɷO5?5>Eh[VFr㟸u!s --3a?9ef$Ɔ&gȼ;?ZaLw!TEGum-GOW /֚f7_.~ g J/>ZD’ֿep*8{M4DCWM0 Q ypˋ{klz4AE%=̇v .UPh4\`Yj|dbg*e?c~v8&(j$L'X<D3~n:TP؍l1Zkz yWr"~l,[U įY #Q]y]Z ,60Gim$2Y?H*VxT̂HNSbj){#gtu2qnUMj+rq!xSOg7E<|x?~gw_}!b:OFuL}Cicj^"f:s:bA<E83{ZDdbdX YWP>+3FLJ]۽pV sM\A5)(8~W?l Wm}qKc3^\f\ZbicP &]ܐJP~3ɳ%7oVK&DN6iwzxHR"g ԃeu`Z ݪf1O5 '\ IoqBd"+ ɮ˫i y 3;e; Ɇ+W?[Mzqug?*.?WPH7gk\ =r>ƒ]Bvm=iޟw3p{y6s$T"Sf?xϘ+WAX£XQƲ#uJn3n:SdFp7!/;rAQ?GYL^vu"̘5]Ի TDj$uL@Xͅ4PEk۔Fa1bIIN8ʧ75%u'0馯WS}fmE*B]1>`ѯF$Wjk[-hk!H`9%Za8n^BTe0>"{t/2: ߬_l8DIҏM %*0k](Þn#UW1HKk"Ա%&FDRIfqM}o*O %\xtٓ: 30&ajU-R7WK j~M$s~\sePR XE.$c)^H¯2N H|d/U"MޠOwdWU4]E#5 6iFTc(/ Mmٗ?9b<˺ 1! yL0RoaV/]yF"f@#(?KiILpn8z͗&E(("ID݉b=B`34f)5?Y]~: Uv%fHRe[WzyVp(|6-CZgT.*/, sKH{z!&B9(7IɿUw[/yu#j58{zP4waOMҊ#JGZHy75C[.I VI@t{}F(7DNbABg`ogHY+nP\v N4w, L%T:yPⱷQBD ##0r16{:G˂qǏJ(~2&W.P'-|ʄ&k6.zpvd%OTYŰI`\2ezؑѹA8'WI(8z$fI ш;?LgR$s6o D-j sXyb=t(ٸ2 -k~țʶ{R,` vnk->z#H!m4vnB͂ FkJlkzbޝx?) n?KEUPVh6KLZ1z<"Tc )#E0mkgjF4.{PIgLP\tEq P뉉0ԝtHQPX[;/7V?0΁EAtg{+cay.y*ΏƧcR3vYRQ! [AW|O`su,rxKmiyx{RRz*vA{\y@Qū: .LҟvL7?sSeZG/OsߖȢeճK^a-"k@PsAt#e$:3r?XR* `V𪀵ޤ906"Y{3*2럻|~1;#Si*4l>dG@_3SH0j~qNȬx ݚq@b Mb9hyO]`,"\@yg'Y=XS K{SHuU{y@=X%z h,J샻p>G]a<I rƝcUY x A8cp\ L2[;3 J)5{-?[qMZQn.t ƑvCF\Ez&]Af?@O~)r. gĉ %xp">W{ytGX+bu tY`Fg3}ʣT`FWՒx$MW `bdUCɩTC{X^~.W^.oΖONSYD ~WߘAs^iLRKWӪm 5HQX 2xH"h li?DTt/TBdnU )*^Jp2s]aOrq( [1ذMFa/ V1VJy't8.\e)V]xaLzIl%+Mj7ii12l_Wʪ!A\ʫ ׯGAA;1jsRZIZShKHY@PHoν>_f'0&+*DNl{ %u!9T˯DjyFʊ`Ky2e> m;[[Mw5G ay;t5Vy0 Y2LVĦyfv-W`ڑTCG6xzwz]HPE1^J5d.P#{b(-+kE<>d."|ܧ.7FGR O]n'[ay OPrE ! b& D+lYmf_`4FaSfo 17p-$cg/daf kHEZcȠ=uDF:xf;#w05LC780W m0#76^S$xX-St- LA2mH3U#~g)YݬkFp M"eH+`D5jrU0陁 a lL+L bSF@̺{Y3m^BiIB8 GI'n*^ h1,t3؂Px3n՗41qMmqƒP AB[Hzϣo?\&5Cぺ@”V rP+m/_ڟnx9g87c~ېRiLSjkМ IV "$}y:F]¥ 6Ӯf CV, <.Wlq>f$IU.>|WA" Ʉ[?z(1T|njA VrWEv `gY8WꞢ|0ԟ3`˳Dm4[zվa>.`lԞ䃁-ϵfʘa(y~ڢ=ތ`s(Ɠ"+?NVWo ɯ+C YZ