frr-devel-8.5.6-150500.4.36.1<>,Pi3p9| p ֞ȯG_+\լe7gVuQ4yͧcmTq2{ajC!|4zf =5Gvܹ͌56y}v\C.|%Jt+f*gu*OS S e b"k9#h3I<^O w20f4dϋmiT*н.3hM`G.9ȶ16؄k q7jd#/se9X\'=+>;?d   L5 Kk  L  + ,/P2C565X77 8 8 (989 ,99,:<~,FGHI\XY\$]^b8cd_edfgliu|vz@PTZCfrr-devel8.5.6150500.4.36.1Header and object files for frr developmentThe frr-devel package contains the header and object files necessary for developing OSPF-API and frr applications.i3s390zp37hSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.frrouting.orglinuxs390xJ#4) $_g4@2_  }M ! f#OUC)*m%8v$*  UZ 3}+ %Q O! s "-uL5 +l]|7-QCAn1 ^ M- @ q.  {] &xH@%& |'} 5{ #0C- Gxa##)(? iA큤A큤A큤A큤A큤i3fL3fL3fL3fL3fL3i3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3i3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3i3fL3i3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3i3efL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3i3efL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3fL3i3i3i3i3i3i3i3i3c848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf589200c8ed7146d80cf2bad9ce0f42a8b89c64a6d264340bbecf314a702d1c6dbdb9ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e5525b478e4cd82ac76c33b32db3655938c8ef9b02b12733c250b32a590e3aaaa28ca56a0c40884a24688bd23bc2399b77e6b8d5508e41dd303c6675057747904b7eb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71baf1ffa8b32be495b4ab483c3550a1caecde73ea5aad8955e3857d80e850b87471793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa1168094364e02c114772ef43795cf627baf39b92858c76f9995da58eb566310bc9fb64def38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5fdff9b3516d2f0e0d4e137437fbca293fc025bbd40778afd0f4fbb3ac402b349670dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714b27cd0ab838facd4b47655416a35ce105ecae35b142ad06a86cc91bef1839baf9412cc6b4a2876c6de1f33c3d353cdba63068f798c68f0ed20264742931226a8b1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d5605698d2691f1cfc7c38d6e31b2efe124e166f479f64bcecdceb6c63812ddc8c8e2707347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b565cc1cc69cf49f1aedf991c4b8cd246428db7b7e2992669ee08f348ab1903fadcf63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111d3958325667a82ddd1bccbb8659dfbdbe39429606f98ce5d7a3d4e91600a63dc6b60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e785cf831c9bbe911bb5d7cf3b41d197295226a5356195eb60545e09f049ed2f87c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1016ef50e7a062b7aa96a174f79beaffca5006a0d10fdcddab5a4bc4b1837231cb22fe6428fb5c0e7a8fef16b7eed367feb525b8554d0df113f5bb66bdc868536314014239704e2e67cdcbaa6b75c346fd61d77fdfeb6537395896e91ad490584cb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b83fbec55ed9912d0db7171af4f973e50e1845aebe9a15e158bae1b4bbe2cadaebbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca5ff5464f11952c1e576e1f7a8c1afba9c1091235cd15aa3a0db1f6fecd9cc813e64160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e57438f6beaa5e17ce086999034e7056c832e55521a9f4b7c8d3dd99c370c42f66781a2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c986584e55d004faae40046870bfb28a927dd5711d0290d7ba78c2f7a3339d05b43de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c734382a69b9b4d874887a8506bf52587c6a032525e963adf6d232d12e4a5fdf26d5123cc98b2196d045516e8d0018b3950c511b4850ea129ce4b4795256bd8edcd53934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653a05210b8db0440d05eaa08f10cfa27fd1b420ddd11ecb7dab74a15c3f8ff7f17139c6623cca5c55d29252a19d33c4594dda87e7b3f55aa979b14a47b4a15e41a46975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf98c24cd632dd7e692544e181e1c00aa894320ecaecd7f4f9b5cd6bf07c96ee2152ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88a9bb74edcc4f56894967c3cca96ab0b80118adcf3ff3699a0991e7cc0db4430f13f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad521595411a3ea64bca0e02f4d3c8a0bfe5d194b964de0a8f8305678da8381e22ef709195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f04b47f371b4ebc0c49c8ed9f990f77883a07705c662da4eabac6b27c114eba0aaf20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf233b43e20ac1735251b9b6f3cb043decbba20f21ae2e125d3e42b3de0ac7428d7ef516e557a94946bfb5a3e5bda29d737971a6aec16bdebac33805285d8f76398be00387781ec072743c608215859b51de244ea0e98505342999e0d2887e8bb0360aba0aad2bb2cca38cc0aff9af6e82122a32d0d7894d44ed5296ce1645a46a2d381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367fe0f43039338bd927a6dfe728564564e47fc99227bb8fd3b169a22a79469990e6472c9c17f3fec580a56e0be7efaaf2dea08ea052557322ea47e26b917626242a826ab637f16b040469e41ffbc8dd3d2483c40ec1364947a7ae13b5cf4e14518d32aafb044cea9fbd0b014b84a60b5444fa0a6495f974f5ff268c00f458e6bbb759c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.so.0.0.0libfrr_pb.so.0.0.0libfrrcares.so.0.0.0libfrrfpm_pb.so.0.0.0libfrrospfapiclient.so.0.0.0libfrrsnmp.so.0.0.0libfrrzmq.so.0.0.0libmlag_pb.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.5.6-150500.4.36.1.src.rpmfrr-develfrr-devel(s390-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.5.68.5.68.5.68.5.68.5.68.5.68.5.68.5.63.0.4-14.6.0-14.0-15.2-14.14.3i@h@gf(@f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comcfamullaconrad@suse.comdimstar@opensuse.orgmt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.commt@suse.comdimstar@opensuse.orgmt@suse.comjsegitz@suse.comlinnaea@lavia.moejsegitz@suse.comlinnaea@lavia.moejsegitz@suse.commt@suse.commardnh@gmx.deolaf@aepfle.dertorreromarijnissen@suse.commardnh@gmx.demt@suse.commardnh@gmx.deerico.mendonca@suse.commardnh@gmx.demrueckert@suse.demardnh@gmx.demardnh@gmx.demardnh@gmx.demardnh@gmx.deidonmez@suse.commardnh@gmx.deerico.mendonca@suse.comerico.mendonca@suse.comerico.mendonca@suse.commardnh@gmx.demardnh@gmx.de- Apply backported upstream ospfd NULL Pointer Dereference fixes. The vulnerability allowed attackers to cause a Denial of Service (DoS) via crafted OSPF packets (bsc#1252838,bsc#1252829,bsc#1252833,bsc#1252835,bsc#1252810, bsc#1252811,bsc#1252761,bsc#1252812,bsc#1252813,CVE-2025-61099, CVE-2025-61100,CVE-2025-61101,CVE-2025-61102,CVE-2025-61103, CVE-2025-61104,CVE-2025-61105,CVE-2025-61106,CVE-2025-61107, https://github.com/FRRouting/frr/pull/19983) [+ 0005-ospfd-NULL-Pointer-Dereference-fixes.patch] - Change to sysuser-tools and macros to create user+groups - rpmlint: use python3_fix_shebang_path to adjust interpreter - rpmlint: rotate logfiles as frr user [+ 0002-frr-logrotate.patch] - Switch to logrotate config correcting log file empty issue (gh#FRRouting/frr/issues/15818) depending if syslog or file logging is used in the frr.conf. - Fix /var/run leftovers in logrotate config file, create /var/log and /var/lib via tmpfiles.d (jsc#PED-14796). - Adjust rpm requires for service macros and log rotation (lsof).- Apply backported bgpd fix to validate only affected RPKI prefixes instead of a full RIB (bsc#1235237,CVE-2024-55553), potentially leading to a Denial of Service (DoS) scenario. [+ 0004-bgpd-Validate-only-affected-RPKI-prefixes-instead-of.patch]- Update to frr 8.5.6 (jsc#PED-11092) including fixes for CVE-2024-44070,CVE-2024-34088,CVE-2024-31951,CVE-2024-31950, CVE-2024-31948,CVE-2024-27913,CVE-2023-47235,CVE-2023-47234, CVE-2023-46753,CVE-2023-46752,CVE-2023-41909,CVE-2023-41360, CVE-2023-41358,CVE-2023-38802,CVE-2023-38407,CVE-2023-38406, CVE-2023-3748,CVE-2023-31490,CVE-2023-31489 and other bugfixes. See https://frrouting.org/release/8.5.6/ for details. The most recent frr 8.x series provides several new features, improvements and bug fixes for various protocols and daemons, especially for PIM/PIMv6/BGP and VRF support. See https://frrouting.org/release/8.5/ for details and links. - Removed patch included in the sources: - 0004-tools-remove-backslash-from-declare-check-regex.patch - 0005-root-ok-in-account-frr.pam.patch - 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch - 0007-bgpd-Ensure-stream-received-has-enough-data.patch - 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch - 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch - 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch - 0011-babeld-fix-11808-to-avoid-infinite-loops.patch - 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch - 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch - 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch - 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch - 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch - 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch - 0018-bgpd-Flowspec-overflow-issue.patch - 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch - 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch - 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch - 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch - 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch - Add RPM_OPT_FLAGS to CFLAGS- Apply upstream fix for crash in bgp_attr_encap that were missing a check of the actual remaining stream length before taking the TLV value (CVE-2024-44070,bsc#1229438,gh#FRRouting/frr#16506): - 0024-bgpd-Check-the-actual-remaining-stream-length-before.patch- Apply upstream fix solving ospfd denial of service via get_edge() function returning a NULL pointer (CVE-2024-34088,bsc#1223786, gh#FRRouting/frr#16088). [+ 0023-ospfd-protect-call-to-get_edge-in-ospf_te.c.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in ospf_te_parse_ext_link for OSPF LSA packets during an attempt to read Segment Routing Adjacency SID subTLVs (CVE-2024-31951, bsc#1222528,gh#FRRouting/frr#16088). [+ 0022-ospfd-Correct-Opaque-LSA-Extended-parser.patch] - Apply upstream fix solving ospfd buffer overflow and daemon crash in RI parsing with OSPF TE (CVE-2024-31950,bsc#1222526, gh#FRRouting/frr#16088). [+ 0021-ospfd-Solved-crash-in-RI-parsing-with-OSPF-TE.patch]- Apply upstream fix solving crash in OSPF TE parsing (bsc#1220548, CVE-2024-27913, gh#FRRouting/frr#15431) [+ 0020-ospfd-Solved-crash-in-OSPF-TE-parsing.patch]- Apply upstream fix on error handling when receiving BGP Prefix SID attribute (bsc#1222518,CVE-2024-31948,gh#FRRouting/frr#15628) [+ 0019-bgpd-fix-error-handling-when-receiving-BGP-Prefix-SID-attribute.patch]- Fix build with RPM 4.19: a stray %-escape sequence was found in the files section.- Apply upstream fix for a crash on malformed BGP UPDATE message with an EOR, because the presence of EOR does not lead to a treat-as-withdraw outcome (CVE-2023-47235,bsc#1216896,https://github.com/FRRouting/frr/pull/14716/commits/6814f2e0138a6ea5e1f83bdd9085d9a77999900b) [+ 0015-bgpd-Treat-EOR-as-withdrawn-to-avoid-unwanted-handli.patch] - Apply upstream fix for a crash on crafted BGP UPDATE message with a MP_UNREACH_NLRI attribute and additional NLRI data (CVE-2023-47234, bsc#1216897,https://github.com/FRRouting/frr/pull/14716/commits/c37119df45bbf4ef713bc10475af2ee06e12f3bf) [+ 0016-bgpd-Ignore-handling-NLRIs-if-we-received-MP_UNREACH.patch] - Apply upstream fix for attempts to read beyond the end of the stream during labeled unicast parsing (CVE-2023-38407,bsc#1216899,https://github.com/FRRouting/frr/pull/12956/commits/ab362eae68edec12c175d9bc488bcc3f8b73d36f) [+ 0017-bgpd-Fix-use-beyond-end-of-stream-of-labeled-unicast.patch] - Apply upstream fix for an nlri length of zero mishandling, aka "flowspec overflow" (CVE-2023-38406,bsc#1216900,https://github.com/FRRouting/frr/pull/12884/commits/0b999c886e241c52bd1f7ef0066700e4b618ebb3) [+ 0018-bgpd-Flowspec-overflow-issue.patch]- Apply upstream fix for a crash due to a crafted BGP UPDATE message (CVE-2023-46753,bsc#1216626,https://github.com/FRRouting/frr/pull/14655/commits/21418d64af11553c402f932b0311c812d98ac3e4). [+ 0013-bgpd-Check-mandatory-attributes-more-carefully-for-U.patch] - Apply upstream fix for a crash due to mishandled malformed MP_REACH_NLRI data (CVE-2023-46752,bsc#1216627,https://github.com/FRRouting/frr/pull/14645/commits/b08afc81c60607a4f736f418f2e3eb06087f1a35). [+ 0014-bgpd-Handle-MP_REACH_NLRI-malformed-packets-with-ses.patch]- Apply upstream fix for NULL pointer dereference due to processing of malformed requests with no attributes in bgp_nlri_parse_flowspec (CVE-2023-41909,bsc#1215065,https://github.com/FRRouting/frr/pull/13222/commits/cfd04dcb3e689754a72507d086ba3b9709fc5ed8). [+ 0012-bgpd-Limit-flowspec-to-no-attribute-means-a-implicit.patch]- Removed protobuf-c BuildRequires (source package name) breaking build-system setup with libprotobuf-c-devel 1.3.2 updates. - Apply upstream fix for bgpd: Don't read initial byte of the ORF header in an ahead-of-stream situation (CVE-2023-41360, bsc#1214739,https://github.com/FRRouting/frr/pull/14245) [+ 0008-bgpd-Don-t-read-the-first-byte-of-ORF-header-if-we-a.patch] - Apply upstream fix for bgpd: Do not process NLRIs if the attribute length is zero (CVE-2023-41358,bsc#1214735, https://github.com/FRRouting/frr/pull/14260) [+ 0009-bgpd-Do-not-process-NLRIs-if-the-attribute-length-is.patch] - Apply upstream fix bgpd: Use treat-as-withdraw for tunnel encapsulation attribute instead of session reset (CVE-2023-38802,bsc#1213284, https://github.com/FRRouting/frr/pull/14290) [+ 0010-bgpd-Use-treat-as-withdraw-for-tunnel-encapsulation-.patch] - Apply upstream fix babeld: avoid infinite loops (CVE-2023-3748,bsc#1213434, gh#FRRouting/frr#11808,https://github.com/FRRouting/frr/pull/12952) [+ 0011-babeld-fix-11808-to-avoid-infinite-loops.patch]- Apply upstream fix for denial of service via the bgp_capability_llgr() function (bsc#1211248,CVE-2023-31489,gh#FRRouting/frr#13098). [+ 0006-bgpd-Check-7-bytes-for-Long-lived-Graceful-Restart-c.patch] - Apply upstream fix for denial of service via the bgp_attr_psid_sub() function (bsc#1211249,CVE-2023-31490,gh#FRRouting/frr#13099). [+ 0007-bgpd-Ensure-stream-received-has-enough-data.patch]- Enable pim6d providing PIMv6 support (bsc#1206234)- Migration to /usr/etc: Conditionally moved /etc/logrotate.d/frr file to vendor specific directory /usr/etc/logrotate.d and added saving of user changed configuration files in /etc and restoring them while an RPM update. - Declare root as sufficient also in the pam account verification; without vtysh use causes to log a pam frr:account warnings (https://github.com/FRRouting/frr/pull/12308) [+ 0005-root-ok-in-account-frr.pam.patch] - Applied fix removing a not needed backslash causing to log a warning (https://github.com/FRRouting/frr/pull/12307) [+ 0004-tools-remove-backslash-from-declare-check-regex.patch] - Applied upstream fixes for frrinit.sh to avoid a privilege escalation from frr to root in frr config creation (bsc#1204124,CVE-2022-42917, https://github.com/FRRouting/frr/pull/12157). [+ 0003-tools-Run-as-FRR_USER-install-chown-commands-to-avoi.patch] - Removed obsolete patches provided in the 8.4 source archive: [- 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch, - 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch, - 0005-isisd-fix-router-capability-TLV-parsing-issues.patch, - 0006-isisd-fix-10505-using-base64-encoding.patch, - 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch, - 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch] - Update to version 8.4, see https://frrouting.org/release/8.4/ * New BGP command (neighbor PEER soo) to configure SoO to prevent routing loops and suboptimal routing on dual-homed sites. * Command debug bgp allow-martian replaced to bgp allow-martian-nexthop because previously we allowed using martian next-hops when debug is turned on. * Implement BGP Prefix Origin Validation State Extended Community rfc8097 * Implement Route Leak Prevention and Detection Using Roles in UPDATE and OPEN Messages rfc9234 * BMP L3VPN support * PIMv6 support * MLD support * New command to enable using reserved IPv4 ranges as normal addresses for BGP next-hops, interface addresses, etc. * As usual, lots of bugs and memory leaks were fixed \m/ such as a fix for a possible use-after-free due to a race condition related to bgp_notify_send_with_data() and bgp_process_packet() in bgp_packet.c. This could lead to Remote Code Execution or Information Disclosure by sending crafted BGP packets (CVE-2022-37035,bsc#1202085). - Update to version 8.3, see https://frrouting.org/release/8.3/ * Notification Message support for BGP Graceful Restart * BGP Cease Notification Subcode For BFD * Send Hold Timer for BGP * RFC5424 syslog support * PIM passive command - Update to version 8.2.2, see https://frrouting.org/release/8.2.2/ * BGP Long-lived graceful restart capability * BGP Extended Optional Parameters Length for BGP OPEN Message * BGP Extended BGP Administrative Shutdown Communication * IS-IS Link State Traffic Engineering support * OSPFv3 Support for NSSA Type-7 address ranges * PBR VLAN actions support- Apply upstream fix for out-of-bounds read in the BGP daemon that may lead to information disclosure or denial of service (bsc#1202023,CVE-2022-37032) [+ 0007-bgpd-Make-sure-hdr-length-is-at-a-minimum-of-what-is.patch] - Apply upstream fix for a memory leak in the IS-IS daemon that may lead to server memory exhaustion (bsc#1202022,CVE-2019-25074) [+ 0008-isisd-Ensure-rcap-is-freed-in-error-case.patch]- Make build a bit cheaper: do only BuildRequire the primary python interpreter and its modules (python3-FOO) instead of all available versions as done using %{python_module FOO}- Apply fix for a buffer overflow in isisd due to the use of strdup with a non-zero-terminated binary string (bsc#1196506,CVE-2022-26126) [+ 0006-isisd-fix-10505-using-base64-encoding.patch] - Apply fix for a buffer overflow in isisd due to wrong checks on the input packet length (bsc#1196505,CVE-2022-26125) with workaround for the GIT binary patch to tests/isisd/test_fuzz_isis_tlv_tests.h.gz [+ 0005-isisd-fix-router-capability-TLV-parsing-issues.patch] - Apply fix for a buffer overflow in babeld due to wrong checks on the input packet length in the packet_examin and subtlv parsing (bsc#1196504,bsc#1196507,CVE-2022-26128,CVE-2022-26129) [+ 0004-babeld-fix-10502-10503-by-repairing-the-checks-on-le.patch] - Apply fix for a heap buffer overflow in babeld due to missing check on the input packet length (bsc#1196503,CVE-2022-26127) [+ 0003-babeld-fix-10487-by-adding-a-check-on-packet-length.patch]- Add ReadWritePaths=/etc/frr to harden_frr.service.patch (bsc#1181400).- Update to version 8.1 * Graceful Restart for OSPFv2 and OSPFv3 * OSPFv3 NSSA and NSSA-TSA support * OSPFv3 ASBR Summarisation Support * BGP SRv6 and Prefix-SID Type 5 improvements * BGP EVPN type-5 gateway IP overlay Index * Lua hook support * See: https://frrouting.org/release/8.1/- Drop ProtectClock hardening, can cause issues if other device acceess is needed- Update to version 8.0.1 * refreshed patch: - 0001-disable-zmq-test.patch - harden_frr.service.patch * LDP gained SNMP support * OSPFv3 gained VRF support * EVPN Multihoming is now fully supported * TI-LFA implemented in IS-IS and OSPS * New Segment Routing daemon * See: https://frrouting.org/release/8.0/ and https://github.com/FRRouting/frr/releases/tag/frr-8.0.1- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_frr.service.patch- Use skip, not xfail in 0001-disable-zmq-test.patch to disable zmq test as it is not expected to fail but hangs (bsc#1180217)- Update to version 7.5.1 * Maintenance release See: https://github.com/FRRouting/frr/blob/stable/7.5/changelog-auto.in- Requires libyang 1.0.184- Disable ZeroMQ tests due to sporadic timeouts during package builds (bsc#1180217) [+ 0001-disable-zmq-test.patch]- Update to version 7.5 * Upstream does not provide a changelog - Make grpc support optional and don't enable it by default- add build condition disabling mininet build require by default, needed by the optional topology tests. - removed one occurrence of vrrpd binary listed twice in file list- Update to version 7.4 * Upstream does not provide a changelog - Drop patch (fixed upstream): * 0001-build-use-configfile-mode-in-init-script.patch- 0001-build-use-configfile-mode-in-init-script.patch: Fix CVE-2020-12831 (boo#1171658).- Update to version 7.3.1 Bugfix/maintenance release * Upstream does not provide a changelog- enable verbose make rules - enable grpc support. new subpackage libfrrgrpc_pb0, new BR: pkgconfig(grpc) - enable config rollbacks. new BR: pkgconfig(sqlite3) - enable realms support - enable shell access - make sure we use system openssl - fix shebang line of the frr-reload.py and generate_support_bundle.py script so we dont pull python2 - do not delete users and groups. - add Requires for libyang-extentions- Update to version 7.3 * Upstream does not provide a changelog this time - Remove patch: * fix_tests.patch (not longer needed)- Update to version 7.2.1: BGPd * Fix Addpath issue * Do not apply eBGP policy for iBGP peers * Show ip and fqdn in json output for show [ip] bgp json * Fix large route-distinguisher's format * Fix no bgp listen range ... configuration command * Autocomplete neighbor for clear bgp * Reflect the distance in RIB when it is changed for an arbitrary afi/safi * Notify "Peer De-configured" after entering 'no neighbor cmd * Fix per afi/safi addpath peer counting * Rework BGP dampening to be per AFI/SAFI * Do not send next-hop as :: in MP_REACH_NLRI if no link-local exists * Override peer's TTL only if peer-group is configured with TTL * Remove error message for unkown afi/safi combination * Keep the session down if maximum-prefix is reached OSPFd * Fix BFD down not tearing down OSPF adjacency for point-to-point net BFDd * Fix multiple VRF handling * VRF security improvement PIMd * Fix rp crash NHRPd * Make sure no ip nhrp map works as expected LDPd * Add missing sanity check in the parsing of label messages Zebra * Use correct state when installing evpn macs * Capture dplane plugin flags lib * Fix interface config when vrf changes * Fix Interface Infinite Loop Walk (for special interfaces such as bond) Others * Rename man pages (to avoid conflicts with other packages) * Various other fixes for code cleanup and memory leaks- Fix license tag- Build with support for pcre, protobuf, rpki and zeromq by default- Cleanup spec file- Fix build-time dependencies - Remove superflous comments- fix_tests.patch: correct syntax for Python 3 imports in tests. - Enabling tests- Update to version frr7.2: * zebra: use correct state when installing evpn macs * lib: set entry to xpath in if_update_to_new_vrf * zebra: capture dplane plugin flags * bgpd: Autocomplete neighbor for clear bgp * ospfd,eigrpd: don't take address of packed struct member * bgpd: Prevent crash in bgp_table_range_lookup * bgpd: Fix memory leak in json output of show commands * tests: Test if `distance bgp (1-255) (1-255) (1-255)` works * bgpd: Reflect the distance in RIB when it is changed for an arbitrary afi/safi * bfdd: fix multiple VRF handling- Updating to version 7.2 - Adding systemd scripts - Fixing build and permission issues- Update to version 7.0.1- Initial package, version 6.0.2s390zp37 1773679592  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.5.6-150500.4.36.18.5.6-150500.4.36.1frragg_table.hassert.hatomlist.hbase64.hbfd.hbfddbfddp_packet.hbitfield.hbuffer.hchecksum.hcommand.hcommand_graph.hcommand_match.hcompiler.hcspf.hcsv.hdb.hdebug.hdefaults.hdistribute.heigrpdeigrp_dump.heigrp_topology.heigrpd.hferr.hfilter.hfreebsd-queue.hfrr_pthread.hfrr_zmq.hfrratomic.hfrrcu.hfrrlua.hfrrscript.hfrrstr.hgetopt.hgraph.hhash.hhook.hiana_afi.hid_alloc.hif.hif_rmap.himsg.hipaddr.hjhash.hjson.hkeychain.hldp_sync.hlib_errors.hlib_vty.hlibfrr.hlibfrr_trace.hlibospf.hlink_state.hlinklist.hlog.hlog_vty.hmd5.hmemory.hmlag.hmodule.hmonotime.hmpls.hnetwork.hnexthop.hnexthop_group.hnexthop_group_private.hnorthbound.hnorthbound_cli.hnorthbound_db.hns.hopenbsd-queue.hopenbsd-tree.hospfapiospf_apiclient.hospfdospf_api.hospf_asbr.hospf_dump.hospf_dump_api.hospf_ism.hospf_lsa.hospf_lsdb.hospf_nsm.hospf_opaque.hospfd.hpbr.hplist.hprefix.hprintfrr.hprivs.hptm_lib.hpullwr.hpw.hqobj.hqueue.hresolver.hringbuf.hroute_opaque.hroute_types.hroutemap.hrouting_nb.hsbuf.hseqlock.hsha256.hsigevent.hskiplist.hsmux.hsockopt.hsockunion.hspf_backoff.hsrcdest_table.hsrte.hsrv6.hstream.hsystemd.htable.htc.htermtable.hthread.htrace.htyperb.htypesafe.hvector.hversion.hvlan.hvrf.hvrf_int.hvty.hvxlan.hwheel.hworkqueue.hxref.hyang.hyang_translator.hyang_wrappers.hzclient.hzebra.hzlog.hzlog_5424.hzlog_live.hzlog_targets.hlibfrr.solibfrr_pb.solibfrrcares.solibfrrfpm_pb.solibfrrospfapiclient.solibfrrsnmp.solibfrrzmq.solibmlag_pb.so/usr/include//usr/include/frr//usr/include/frr/bfdd//usr/include/frr/eigrpd//usr/include/frr/ospfapi//usr/include/frr/ospfd//usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:43193/SUSE_SLE-15-SP5_Update/7cda7a07a1054820981bfd407b72ee82-frr.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesDn%lEvd{wy:utf-8e583286d6898cb7f83f293926b496d4316dbab2b93fff239d0891438cd001c95?P7zXZ !t/]"k%U8uy:?$ g,02]Ke_wuВQ_#[ s9zu-.>M;ap^s ÷w.8 ?Ē~;2^`x6@t# 7?XCTk=E~_@n.k^I-C; \ϧю aC[RG6];ڔ#*+zmgU#ªuךtgԦm`Tc/g7x!0>so *[Pʮib#986& $4ӿ{3㹩Yz0 P`@@[pЇ|@rڣdBBȏX%EV /4OzE~ܺM*qQ|y4RqIc7)'&AV[ jQ1=߄^44yE+,ﮞ? 'c0&PWDp*: 'Tyw x+ջ0_1J3&UYSjzI4$;>p^b@M;NG.AQx渵d*tU'sy[Zc8@HIbCuM(P[hy*F:L&G +58b8kIus Ryv;)Z2K\YC;hpw`m1tҴ#,{Wx’C XRJ: T~5OqzdxTa6Sg@>j0J+.VL"iH {Z)T()4A#BA0< .<}E9{*@5r>u}F+o^%̈́^L(Pqx-Ad9 UQ~r/}\S#ColBp`i߂0X_߲bЅZ<ĒtXDDp_QA܇g8:SOӁ0Qj! GhrJ/["4s4"i0.Ed_ ɧno*T dK-m7?,ZE8z[QC jA|`G )%3]E㨑C /vϱP'ۍY}'d_.V Q8yw5srTɇn\pw UL03fn=V}~Gۮb^`i#قJ.3m!jئ,R=c͜&^ͻun=;>-|LՔ"L!67:Ml^<`z&N}ɾȦ|I-s-Chǃ ⠒.^G%Sez#.ȏ<0h)yBj}RF3KwR1anY;N lȟ,6YQvpWD CBm0zN*5u@avy;coǭIu.PQkȭA]lnTsow ㍆"\ǹ0J(|*6b3ҿ0ay y0D$1; WSFZ_[{q(RpՇza aX AX$\,K]bv薧my![ҵEG\IBOZ*rrltb`W(ia B{H(fx{&ʟjíi{'U$8rk~-D%en`>z)Qak4 %,ͥ҂pmZ(5H&ԶBb ` X5A~tL3~S$s83 U_/i!6&p^МlP6%k^ @P@exJEwBK9Ħ`m=BWRN%Bcrs"0#葇o:|FPcuaHNdx ,+Ƥ^@sTQMcaVe'L*;޸xv"95c-ꚨ5K_shZ;RIbtoAQ ~ob'gE ;1v]}ѧ܎rjݣ_R33|*x`3x`6s"܈iE0*fINs,{4$Pc#:FEZ7ɃiU kh@eJ9 QDeyF&R} K;#]20n :*BoFTS&O5l8h=  ;:W0`~O^b~aQn6>:m#!ALeē6XA)L[27WW -d2d qPC Ifl!<2C8v7n5_uQ>A`-pO2A^+F<7V) -$|v-"%/ɞ@8ϰZE7t:s]?W90&Ԣ#eW ֝Z;u=_bskJ5W&W1w,wKS!Z9 w"bCXގU@;f/6^TyuBSsэ\qlt/>N+٢QL??`0q /\s!Fܓ#>mCU;(Y-&9 ĽpX*WMm_fg+s+HSo+2&qd`er׽&QȖ`334i%<XS,?( fJ$NN >_km˗(? =)*CB_lo I"#%A!ƣ"C"DMIz0<_\G ,~Hf'Jɔpb?4O94 ޳J{/rؚք4=Ň=-D̓y~< KЬ9:- ?l%3r~YS@e)-8y qRE `E bqߓ]!; ]1|7qv*]Vsn̈́&B;'oyŧHH>FoQ} m;}19a+z52\˾0{BXi,i^Fdb%?]'y,qOB* 4F äm[L#rXyuq֝GX'Zb/w@_"^l 7 ;?Si|;DKQ.hON;=g|WE<]O/bjY%ʦ gfG|ax}a(6Cf,XCrpH=W?"o~{+݅8FmDW$6.NskE#%ǻl89>s1 97ɟMx,9W".pd%щA;a R *=_[.#ac;aJ,ez`;j+4);dABY;|xMX9lY;׋F7[$]Vs7UGv>@W#q:% KY ifnJ9LJKayX[ CR]]M 0wnMy_,yl@h@F4S#{GERJ`9qVۮx}'f1Bf Z[CnU# "/ )40F0nY6(Zz2^![bȶ|8 %rR{6TB{5dOq|AsJ&:p(bToa3dW B"N< K8L7`Ɔw7dek 4ͥ}w#dr~ߌKHs]<6ID$7c=rY/Ԑ =TlAË4TmuB;)dz*P͋o%ZMH$d:*}?y Ź"XAFFEA [dʏřqҒ^н)m cM)AK4/ҍf!力qѱ9P8),=%J=a:9UyX]~f{]iq=EjDep:pN1M2KIMK#d"aMD/rWRCےL@~gw+T^&) :MV'uRDTOĹEUC=Lr`Oa Px:M(v5on\QFє7"!nhZ^|n(f8w_|b#x9CfA+|*9"nJo!gA\ &YlI Nl"@ٹߨxBM}w]E^(Ahm&,0k@/CjfZ(0 ΀uNr8% j(찚w$˅ﳢDbr]E6 ǖJ)K>ױllcѸSzﲙ\/t+ׁ-ۜ ys3Ǵ&F0v)Ŵ{+Awʑ&h~@LLm|ؼˆ9 $+,s86S1@+I6Jb|Zp:kJUcy(yGjQ/Ω6й-Zۇϰkk"j}[ַgx a=}1f[!(j]^>cѱ<|ȀkLs2ѪxHXmUԀvhh@1*v%ỺRyk4mtq~>BI4uEJKD#i4g7t\:RL))F # zbzJfӏQ#t"t޵253$^tG $0“ѕA}A2wFw0<vilkR;ڟ/QBʽ؜)#5 0s0 whk<\0!Փk3$.l,Hwdj煄]ᘶq69l@\ 9SbᅋO_ }O'3sy9.S=~ һP-9T)16C#R{ 8'GD=QsAvij;#(҆T@J ^1h V/WO F2"gK쳣x,PKTS``~ 0w)\=C(mc>=~>J6@WPΡՊ ߿*$V%Lxdj(Hg.B@2YvdSgc:g(;u=5愐d*( ?|%3}Rm]p/d6FGoY943Yn` /Vcli~,nM Ϙm+jatIABr'1ImפkS N_ͰiG|Ҫ}6OEip0.W  W5/_YWG#44:ndxӫZ/_uN0N.kᛖ,CMu ئVYom{6C#/,A Uv)c( 1vOU^PX +| k=7G]:p8YSFS)ehLdCKڛl'TUTEV"͐%7K+QL-oeﭡW[L.QOU 3decJg³{~@<ϑG_N'Fh tF80uiS)IWz-N:H^gY-65ѭMo Gs!Gbl8>nQ-ǝ*?Knő| C'SmT~|A_ mN~b,8{ :]T}KxZm+rpXXdž?bgB)V\<΃"JlǓѼa\{=PU&0.(hc]$u7Ӧ"] 3DĪ :(?qBG hla&_B0]6wYXNSВm>ŠlI*0_) Y(dMԉpkATL'R79\s/YRmeMṡf9N,;=K^ p2@3 UZ!«QFFe7ݨ28~ogQtxvmG;DtJ:gۀ{_<8,ط 2l+ZGO9u[۪/О8BDUƜ:B۬;:I4:xx$<Ձs +p2߼n1ZqcRFv(rׅ)%~f34;CSo2ԊRF_ K@ģiH[V,>w7Μͺ'I]Lت.gT!#0j%UwgQ_?/7J+4:M!z@aˮN*x!Zh/:uM5o\tIה/ZIM:ӏ,Y M_~ `{A8 V-7p AE]7[!RXM&w92 lvYb~2{ @ qrnCDKq~o{RA!7|*R"ۤ"NjD5SadUVf+)yz[~e4[sȷK.>\&3`Մ.4"ܔR ĕe|XrIP7kޙɯ%` ] +16iGZ>z}ʯTxgI^R 3LbF8Eew)T~_cv3Fɹ'ij!LB>zҎd $ڔsBX3]f[Cnq}ri+zI p/oʂTwN ޥ.wItU`{EM'uڄKHs@0甧`AIalWmpP˴h@\D3wP1c'C;Y{T5diL{i2sHX|p&+}ϯ*ֶ >a[1o_ SJ'ְ,o :\Y J-YE=,3;RsѱtѴ9c<NtV3J黗-)x5%ej!| e s7Mh\ͦK)[m `قRg4$K/z4tY0Y&m)cThҊRa !DŽL^sͳR" +r3o?C=M1|ݔ6.b֊ OZ?Y%}ƢʶǎLYI4v3HU[87&S¹d]OJ<tn˴*O2Y#~>zb\\j釠VPlH|%ihC n(ӬE8fq2Ub8%ذG[<1j8L$lJ~ڶGa:g-f03{c+ӤL5o!@2Fh-tUhKf ڑ)Yͱ=]v-M%Ykx_ F$\vl(;y>Q+yZJb]e8cd=SE@T oeJqT^rcߥҁB&&: R8a.pPWqސŶoZ1zjzG_JHɚ~$qIs8eNj,HkQ]["܁GFbՒ] B}7Yxbك9xMk#;t+HzEнLFNLB pϨdu6O*!XV{47G$| ̙tm (5Gޤn"'sFx1qzQ/BrE0]&~?ޝ(1aǖַ^)S49%|ł뾣, cq5<4ݠ2칁M+ZtoNYsosfo dYȵY0bBnnE/ ^ZSw{sm&b0,ȂXqڜD?Sf:N?OO4Uǵf"VЍӎ"hþ0o2e47_L{IS(Po\=ɣ@v @ 9&0O xvZqtkoA\l*r:*cÂ}Z4/dKZfGt\F,G\]Tĵ?FET^;ǃ*!XXA+f#ᢔ"< *q&If=nD$o%"‹ɫJ(t³KQUЉ|(m7&کi{aфfo~ nu3WX}XXfSU\Uy 2V6C#XCћn/[5T^-56}Pfܡr`5O e%foV)޺o^^Л_ҌFfgۙ[nd[pM=wR"3-j[ٟ cstZ\7@n9ĸFZm֍cPZ訚C l V!.8 fbs1?V9 Y@-q'jE\KV5+[c`t=S:;d MU>4\wJ0ǛS' ]掿Y7mG-o@I~pU oJ>EL"̙‘\\@ǒ:4ӱӬߩ=R**~-sd5Q2#XOI #TkA=[?n LE s=l3qВ2ΤKcPI=hJ7q?9 q~cHdym]δY1Ļ@3H'"m#s-Vt7w?-VUjI ‹"WiTYכrx3.=8go3PgKQQ\{KUʹ.@K^TBWt ^v &*B ":"W =x̝|v7 'гXxSzڹ9'7չBֶ&\zA-k4eCN|<Δ%I? A%mu4 k]1|n^a,mփhsu IusDXf?+!Inx RQ8QYv/E5c'<%#%E\Ovӟmoa]&XpԸ]ʉI*"AYiwAO#LU SGhhEtlmp7b2;p/_7={cA;6mo.;as!Q5׬S-]^4&*j;n?v3*ĒC8sD<]u2D\f4 CNJαu($MWGEӘoPLrnNU|VLґ,߫v)+o*K [\vbTYF4U<6w!-N icmt#N|eqeȨAtNo¥-~ؼ(vdqiƀʆb)h'/^(>b6qo$ᏠǢ5b_+ j^gs[e&N^.:o Ϩ]G5T(ƶ++F-A*I8Ŀ`rGN]w2X7x|AMzIA{aWD[3*YzD]!GF~,:44lYlV  әttQ}FujC{ wJ0,T BV .-`8ZAlsUdߨ"3 P:Rѝ+f; mFQ*r.d+ n<)sDz4S6^߃j>R2m{ m)y4x  )tLB~|F6sj)dP $3;TxuKiM/ٞs$>5ԳQ z"eAR6Ǟan$LHPz86V,~$  Qi7ӷg=,{ҼIDX0ɣ֜`V X2Tmƚֹ6׼iWk;J(vtķA~i+C *^\iώ#pӛr~DTfcfO݋iҽjK0Cpf^H!+}:j#FM/M*b/JxN-"Cs SLcNMvbpcY5dФ_R\?(zCbLR0(r]ncݧQO2#{><HKXg:AD3(mo|)(r`]A}4oYm0H:R;]\*UnCt ~֋x8D_ENxwOf Le漋|ͤ1J:_~nGtK-پ&[lr4~p5E3zj"Ghtc4,eێ{r竎?Rl23#|k$5)D[boy~A%Yi|D׌G^toXPl >ʂ^If[h4> We~:Umh.$S%;M.#lye2+٣NrWuo@7r2D54QEQ%fW9V4fMERR $ ~Kbȉ?҉sCoȋDp GMl.?NR܌f_(iߎXwO܆MM( mrHA1@6>,Q t&U,BqFleՓdH!n8#t)U*M B%} ]Xu˩rMlusOb:RӗsG)`kLn\dQ {D[!6VMwm7 c.鳯[.kB)($ȿ=p;Ltlq/44ȩnܗ"4=u<F#03w0җZ#1uַ<᮫\Zinsxˁw,A|`ۀYGJgl."e'wLw\268M3]}B}=;>OZBSh0i KXvS\dz`GKՊRϚ b;Dl?lli࠴L . ]7_.d]Ɛgʨw8q- hU~'el%V!گZM58Lyho>04`f6جW>=+@0(kO !\zU.ed&[eWg>?+ztލpЁIԋC;< _%O@%6tr_YE'M|/$Rѕes6}2F]4Tƙ-6l) ye H:T=CZ1 {Pʔ{H0@1Q%_T˔Jn>-[' J9ۛ V.xkH$(Et9?IL >E,\٨_F+SkH~7Tu2dFzJ@UzP}KORU_0Ng&nYx˩SR ܐ#<(<1R¢_^2d8Hɖyy gZ *i;+wf֥+};tCH{f`[hjsl" 3tLdq.qHt& J`"y`uzbJls$Sx\ˑرϭr줆Gk3ƶ-1jʰNYsfhI@?0|T||SȧeM]/l0e>ԋnωVBtmb 'aשP, E^ǹKMWܦ!aK./sW ꇺEB1qHNϩ+ks!yO;ڝ70|_]YR4dձvi45=^~p깹xZ_Dj­DLHmS~T ]Э/ʟz{0xhI6*>4O _ur e}@#U{q,fy(U:WzBoI|ќ䗈LmHҞFhQ^LY|Ѝ_$<֨ױ_'fq4y9R-fy":Zk}Ѽ)m0T*&;uiCw4fa~k۫GwvW]VZXc*ˍ?X^-hs3a`%Xhq̛M0=_=S?Bj{mj+9>GRw9%0lҒpY.hLA]ԸO9-}q0l9 .VHSIABz5[n]'wC[FDc=;qg>P*=Q~wyڄ,CgVٝ;9j:/dL-(ޝR&gNf V']<.GӁ&T*Y A!s>ɕ9EeTe:g8(jBrS::GoJ@| b6 d,V1`I>`~ 9]p70r%[@ŽbW)Mk2: =ڳ UA?C]7QrX.}3s> kznp*̊{•, 7.-C+F`EQR~!Ud沢[^FFǚU,LE0k|zl  kؤ;(QbǍXqX(H8ѺJ-I=bH'oe sqFYrW-oKG\ӵ:w}! QY-@cLtN{~ e˝ rz⏺(; מ>qYB}I[Yl:8cvõ^ ;S yɆ2i]x"s&F˅͔c mdvGOk4j~PMӢg9jK‹W q3YSdsE5:\{q9:L㯕Q-+-f)d+- ALuPA1<dŰ^7F3W*9|rv&lv/['8;6[^jpÃޟoZ q"Z37E7k6P2kOH 9ߧ=?8*MK:}U=RtmHr1ƿ6u76[H/PMKi܆Iqʭ s<\LTW;Xq#)UR'K<HH,j kh3A. ]2Hh1A ^K jD&l8Nln!Oaz"pܿuϬ!z|b+"0mM/4O.r2NY~^LT;dUkQ1 ybMӻhwSk sc,*>~^4"Sx'nVEۺB5$K:L t4G$ˤRf>SDn7ս_gsD?f>E6+5##d;6?pffb^-+R7>]ͯ7Lsk䬥U&.jbu/eL:rv#$rfmgξy5~SX;2OM&zv6?Sȃv:,)B8T)dnb^L]+D"W7I\~,jHSjv -̵ն&Uo&>1>t{V-%@)~l| t'3Lmyco/EF9ԔybO_CN#֯6Ա+'iPaqƅ#WJ|I"x"1\u81^ PL5c`0T YG#VL"KQ9\ wm=43]1 MF} "e]5LkgD}m}3w~0OTfܼ =7r+X1iѻE>?E}ө4=yi^%gրƬ<^r~Wt~vg~ 1%W̙b;CkgpQ :a80"d["<) Xs?;<0vWEV^ H4II%Yd+*.CV?>yQq|Pk< b!4'2$\5D3H-k+e  d!ƾM~>HHG<{ZK eJ\Z$r[O,bh@uh#+ سmP6[L.GHk#j*Νԭ>BZYjBףN-"ao'!c:4>ZӴmق?:Hc-T72;P'.Lu!\w%;BgWB8&h;(p az;3M;94NKL.qH1˶W)c{͠Ȩ&:@ic9}M5B`*NhhVBEԑ6XTs_ r &Ѳ5A^@Jt^&(O ec0&Dg 1h5Th-$0pYl?rSv ¿,du_] G4렐5׫&%IWͨsdyaf,۹IL \MWmJ+_pbad2 cψr[M ɿAY(پ$ŷ: :PoJ]/W pyfƜ.-4|EiƜlp2f L~>9͂zo6OȢƭ6ҬEJ þeZX[~%pc jMîqqAbG/bm}!q5 ؇@zD`WhX!Ft fނcN S iKu49cvBx0y'`].?xLh܊bIGݽy~tf]^{%Yk(RXR~Ccw%( 5U3bD`uoG?*LŴEBip'!k|ԱɧY߿ tfLk`2*ž;;+o='Xd69i|鋏S4=5MG0})ɣ 얻^EgLHRy2'h C. a}9\م#`G)jbv8>za \beZTѳ<"Y Sk["w©1 CJBLG]sH:RgYŃؘj}v#M9SWˤe49}EuNLbM3f7x2hc"Ǎ;:)f}PJd{аjjjWUg-fMʫ}{4o5} ;-1-(~+r-par[R!ԾQ_s'd<5G& DZn'N+ObCMc3QD _!z,vM'X IuBk㤞jE+8!Q `8}Kw%kRW#ӑŀY59qO0Q %486r?߀Od߸!Q̤}!V%K_TZt疋}ȍSt?*2am++&bדV/BΞ8I~̜u ;r۪h/ eg4!Avr k ŎZ^0H 1PԨsv?]&m1*~I ~F 1 2}pF>%3َ0} I:pƒ Txjһ+s[T@{pZΗ7OLteqSc mQjfm.yT#z7ԨnT4>V96Aɏ.;?y St%yAⅫʎOhxqZyբa'9Cqf v1*a;q70@ƌZB vC]^X. jtF+- \GZ˂!:eOT&zU]GE0>+iR1œP~̹<+xq< -cyx8\f `x 𽢋%vV3*iOLXz"3Β {`x= b\OWH®%y?hQ& $E= A,͡٩͖^( *L'IH_ h@G]1O OtV!P ᮰g`>ͩ{tu\n0>'Pqo}o?P9\Rf9v%(9q'($2|'))}Z3˞/ w<,R U139XtZ'/d&=FiMK,Lh\wfk:5! dU')vgݼDǟR[7جPzK79Q7U(ԙw]U%63yѸWB.[E]vϨ F)8@>c{qda#y/?@E^Njs#Ə9fH"I0 {{#bXXx}* i[I\&0p)NKeX1#vL {ܩTm\bׂ [.d{K_Nw>?M/_[#ml R'4Ą^{mU0V-\-d́۵ ۢF%/`8Iqgndׂ/ Zq8\}?M7*[;*cd{yB~v1lb$]4oaSH٠jmgxte7=,t0\[QfX޺oJ4:u(Q-)rz>IE}^22Y+f+r"dl;1'/yls_>-0o~$HYWTa4r2#$IS_u9L&Y/sn )қ%j;B;iI)%eY]Ė2a`2#S7}'y_&7;j yrz(${(OGpH %ǒՠ h, Wr/ >(/-iCeq2:,oq$A8:uv>]$TsaehF0o҄^/HOitT0QчL5Jfao+8hM/SĶeSs9W-*kWϰ˖j9'ތG5VQY+,,dc6׫+H3_Oт\XF+۩{)F ɠot,Z(FۥDY> X#ǩ[EmNjFu0It]ƣIq(8BKh"V48Dc,Qk&0^0lUq&ѡnZة |v1h<+IGk"lyjϣH\7I6YCͣG`/O&`e# \̬"a#>q^f1L|*S%ޫ`Fc>WeP~cB8f^=VD439~0-Rs=@G>c6Zz $1ޭLP;+LG%;Ob69*evw?W,VX nxi#<,ZiR$T-2v۟XRϵT,Na'oQR者2HYK{ё0 mO fp"{=/*Q\jꆠvI<@/E=`i| QBDMݜ=Ez]g`rĎE9s}gbM;<} ]-]EΌ i`A|A+$}`JQNW-Hg :ڲں4|o֋8 S7:Onu xSIG"-- v rQ&avX^@=yƖ|yr8\ET܁Qk=܌+h̜lډ,;M~fHDŔ/+-RmEHNχ)F:]/&5$ڝd~-5ckw3{+¬옰uO LіKSgPhYb[W2tTMC#/(~'+"]%SiKguLwsDArPVMΠ͗.wRT29MmAouhZ].cA+^t9)7Ւ}׍D\.K˜\KwEN3=1Y"n3\*c}=|1z܈!6lfGq7gCledagGm%F(%jV!j\2-v ʸHtVFIHf u^ J2P>{dZ0D $w-m8qe qI˅v#079vŭS7MȆ-I{Od™^eY0N6--$bs a3+ |禸:33yêϞ9# :nZ9g:qJ=!2%PzRg݈6b,/LQ|#g0tq[W }, 7K~oY0VBzu6uJjDrYk2lOۚ"A 8W:WDl#i(IIrx#zl%PG`|r?>^opϨm$8ĥn&CKqg 6"" _(W*9F iΛii_Q:k= f {<qҮgp sw˿l\}yp23Vb)c[HG^TWFl`RyʧNJ#udNjl{V8LVt3b Z*l0SED6pQ_]"Jxz#oD`8HQ~81tbWPVjGDexZXŐz'w:I}-fP5iT*vW5G+3%=ce50R/9(gC?jFgUqQW^O>V% ~Q=A 0s?Re6QfnRd#FW-.^Q%ãr$N6n-$TX|]Bc.t.Jy>0[5{S֗o6B6hf5v8B@#tr.;z H9ir{P@hYʏ{6o~3Pܐx?ZJLY) #z*I/w91s{ i4^MQkCI=xK L4cct{Q GY ~}b[nWF<͡cصEIDmJ.'Cr`ұ@Ȃ+A6lB9>e$8O.$9@{]`(mUҷOOy^X'8 aD~W}GW`귏N Iy6 Y!e1e -@2gBXVGFaM:W HP"aV7MRYgVɨWZʿ_\55qhgP]ch2WoZ]FXpuD /wY7>mu P[ ^eQ/eͲkzVʶxRxƸX9Et#8ێ5 dKkd9f#Ge`!'Rt0pqqYcfH&Ny+i1Áy8?eۆSR׿j%ƆMSm^ǒUr/b-P`W"S7s\lwc)"eL^8QKm<1pcm[XXZ9IłqӅvO_F+i,o ;ڢlp 6ن ןH78Yuޚնfݩ%pECT#.+{%&ś(uT~^Nn)E o' Xס[NT*Y@uB R{ \_ךPJN!_{*u 3)TN %Z.2oI#|Ĵ}T^YH5r`M/: |VkʜKӘӻA7G6~lSa/J 7yb{d"/$ .rMզ',0]-|/0n >U32}ax .ᾺJcftˇq" fo5쑰-Dw`0Ni~#{Yk6io!Gҭ)}7l/ Qn?CNްwऋj7$ReaTR3aG9h#tǙg$6xjyVF:Rpe/wZt;y wՃqlV1؜]xOO8,b[#G)2WX Rg;aX7?`Q p&&c wg>-#h:K_QhW[ċ|[XuLch ^F0V:.b'4\0{e|Y_VA~Rjd6 qoTx~N4@| e~`@?ݿFİp@1S<*`q¤=H X'}-/nAί60qnjEqh1Yp<Ɖ|u鵱Dbݺ)t]r!M7 'y9L6~wi#(ґl9ϧmΎͶh9t"O'* < ę/(E;:̌> )Y(i?C/Tqjq?1?T=9X+u6"Z))'l`HO-I=4Qe`'\q-J_iUz4ñ[E+#p+S)ȗXr Vhe'4?nX{@br*1ĊB|~.]$,Wb]F¿Β0g*k09*m _r L7q/l ثo:9GF\p$[P=CcIh'H6eh:DVA2uCsPQW4-o=R 2V{Q,]5,P.ڣxVKHRDQ-H((fA}z_#?zlx9 1q܀zb[5t6 %64]'_ylxx|Ǎ|zkJ~] . WDRw*)=4&xH`oٖZvucW\W Md{Ekf1a,co9^q:7g#,,lI-ͿbG *HHL$o*Rj|wd 9AGmZAhDE8 &'Hy `(d?Ldt=NT€pߙBD iGl&f 2'#M4u; ڇݓSjt+xdb6t6.l$i-Bafj! 0Y)n bm ]NP=z\N8Eȗ]Yc[z夀ٵ#kMϘR r-rsIiY]H20z!&m2L,ԢW>?Zy"m#xO['o բ9|Xpb`sr~9p#OFiqF&oOKML79 8up-ͭKvF+>q,vmi2$swE3#ĨK; _X Vzf~,Uz: *X{Dk e?Z#^ ADbW>Tԋ%?G6!r})lg s,8}~7!uڜ/wxmub@.[ލhPizp,G90M+Yvl| zn߽;v ` ɠQ*&K[:03TxGߎ&ꛄKԣwxjgϽ=OENdgSѪ 9G+yVZ¬L3i 5~mT.r>ƧJgĔ?FN^CqqQ$xjzD3jVkfx$R;rn"rpM;[i*^\09w/MK^{lRTH??gad1, 9 ;8œSt VcaY2)G}1x4cXD6%}%&?mwSf̵G4 ^Mvaz2Q Uo&>dжm3hZN?jŝx 7BC uҩ3ԍ3TnL i6Kp 5sq֑$^PwЙhtPRb.˓; KMT[Cb42@ɵY>8?9Y|s߿JS͋G&q8 Ln(vu'gpOp טtMLG7fP(<4,Nr 8 Tf0iF[%b:ٵ)/($I}RCp;<)a6ol+,9%S/Wn81t7mi/w&%~SʓGwToX!RK<Ҹzv8aoJAF/E/`גEt+mC̴3}Xl#ONIٙ7z!Gp--hz(p.4Haz„stϧ,VVN8 W+q#)!SZy-$X6-Q㶩b9=d %16 C38^C Ƅ)$R_4#;Ƹ)tlJ'rtkIF_,jASGv<9hvtQCE̎f9a(Yn58KcLnUbŕ"dȅo˙rԴxgҿ? 8kaGZE@pibv583Y/k.ǘvy]\Ea` /C) L$] ݦDQbHK8W;4.wG:4i4ExI̸ov`UPW]%s -g= ,iJ60VɰɑV ᘨv쑙-in9C7 #mDRUx[h*d%bc0 ƒ0y٦#c_̐ =|uc< ; iRJ J+K]n- \p, PʨGRV/F=}"5#տ3,J~~=p2YKn-[C7uG\J2h/#6Oj󝝁mh!#mQ!ffJ]^tAʨ3C5rl6Wh[zkR#lY9ܫEMnPUp!+hzGn3p@*k԰ M5Kp `jEWzxc: 6C1_!ey0K7k"ї|Uph|oO[824V J`5KykvE'$ cM1SֻB+Sé!ΑrtV 擝nWݵ .h:".~txُqL*Ք0n W %+Obk-euA8P<7<’7rz"B[쵀f}Xfd/VJ`?[Ymi~**"gR¤ERia7ڏkD]1H*wegx)zIYU3,2`L.EeN%\Ic^wMoWLƠmqvBaJN~0},{d.ZUcHQX<,ʮ:얧93Ʀ=Ws`K' ,U^H9V֠WB-M)F&v~jTUe6e1{jg W}"Xj59P20FzbAnLPƉci=7~EITP)Mz# ;"<BY7My*b#¾$n"mʟ&'6MZfLL3z5{)V`SIj‹ |S\3j&cݿzZ#+a(ݕQauxb R[#*9wK8Im2oIIK9[8WjacpEN~sk`lq,ʗ=CǶR9[&sit.c=>aA'xWEJ7mbcP$ (:{^Iwk4Zn3H1]:\6 /UF{+I>'i'^n0T|ŀo p{f2[T@r㮑a(?0~b^#aYA&D"|yp5pݓ)-`U=( Dl: RކcUk#1DAȱ[;)%qPޖ0M isz~&Ly;Yӹʷ6 |_gk+ٰpN'ecě$ۼ9oTa2Z|8WK{^*8 ,5SIxH,aV~QW'BBs4\64#MŭDD2n[% \?k0]bC?rl1xFi2;נbou]Q?5_Z|a7|%T&=x&53-]gu8d$ikŬmnG¦.{'^>\& ˹P9̩&~d.qR3խ1܀_LS*1r,0%ܟ wu{ mìL^LIDcs2ה}eZЯ UYWxL=;Sq[Z QL 0 !E%ikKZt~>^}VQ=u#i0¶TK`P 47+GJOȽɏUSXYShp?_[u 2qqEsrP[ #;=hzO8\Ma%pvbfцJvgfg.ٜ|`M6Q7|#8U£F;/Ou"4䒜GC%iX\aҬ#G`q,w]$j/ ˴@rOlۺRd&Cq/jėlLäc55lD>^ĵ!3o ;]XAZz[{ ru8S]xD^շoKXH;J;{O k^J9oɍ++#;0YL*;_-8==:shk%o5XyEbzƬRp; 럡h1 7QZ}s,q%'K؇%z)3 YxM#36K${:!1_\bަO -ԭց%N8~ [^[\z-~lRnd53 CbpOKyf4 Ŕytp9z5v+.[Na#}.ePC]3nUbLk0{sAw]]0JϚCU%{>|w 6ח\"c%ۂ7Bi":~ͲhVr~*I:·RHυnqWs3cúhz#TQYd+YTE6WM+G3kln O؀zm `!3[gk``M0toMHΛtR:F kS>+l%-jESoB30Fȷ6r@e`}IDz[{:1ܓ3ywZG$DE5(Po 5 )ـsėϲcib,/+U_N /A^rl!ertA,!xz gr1 9l`'%t-Ϡ['^3u?) דogocAjtYq0:cm`keZWǦ'1q}n2SdCvb٧Ǭwݣx󢔹XRҲ7M Qkfp&΍h=غP~s4n[~B6TOmNVwҠ]Mv֖ *,(p`STxD˧]ENJf/vn 6A0x=4y //]K7S· Ą0c^`yPl,pŊ/2ꐿW2yEMh ;[S:yi׻R^MB҈9,>o GCqn?}'>3ݘqGpA T夿|=^d2JwgENK_E䎪ʋE:&@fV ae.LJZck`{e2iκqTeDg}7`+34vhNd*,Tec)Uny~icPqV)ݥ̍kO.*|Ͷe[iy="KuTb2_@ Dibf§UrwgTVRs" $<SP0u۵#HCPRhe7WhAŠ݇&bā$"ytZ(`&*y%nZ@Jхd?t]g8)n03H<4ª+0o9׏f<5;UҼyi%7aLݏn‘1isؠ%5Sh `2lXhta'j%// Sץ>_X`eWOl~w d˓EB?l`Ԭl 3Ȧ1m,5NV>0Z!c;xQf XΆ)x0_VV5ӟ 5HM&!؝f$b!-C/(iOxS/n nvȒJ Fih=>҈jQ -_7ܔ7 ׼/TQ@^I_{<-pS4,xY]r3VݥY=Kʈf[O$b4b)޸ȏJ( aA|ŕjTԵa@oq7-Tf( /*{*;!0m0Ccw2jo |_ 6XBdv08)Icϟwm{Tx\oih`O8A$Dy :2#v܁Z՞"=[o̝Oz/ý&R7|x?J߀ ϘTcnϯ.R:x@# xeX!^iDn_͉Sy:DCdX>VL'}Ft5[?gРO8J^ܴ߽ wv=>^ Ӧ1"a HXt2υN*"ùCdba:Y +IWl.&8-tL] |"xvm}#}zv&eY7k)4J*|Lao5?7Z[;X`O$Wzj&yuѝTdrVgj&P]T2Je]:>w^ȢfV10 71j4sLϦ[ig1veC![s#y._ |&/z;+mqQ <p?a)\Rg*cu+m9냶l(2jmh;(mu̾9"E'."fiaB("3;<թav'Pu|;RH0RO?2VYj߾vOi,@6G4{hG"'x, nv','ɚxWfzAzvI/{ɸR䒄*КhkDj8ՈU.l%OW*"bv)-E К,ƚJ UZEmI۬VL; ĺ}dcmC4X![)OL4gR~Z-~YĨz'k2_aΫ9L.. ivd>˟W0(I_`Nts @‹%/=3 PR%Љ *4̩1c:`#'  `i!i>5,K|t~?[JJ%ڒ*2PT ЍRH@9_`i؊M7iPr1^圃0sRaT&BC-{6MxȋC;=cJ;)Pb`M`++6GUN~nxƲDˎNb5 QfsY8v?u)x_|iQ|{R[yB.ύgzckD䧮noEOPZtv]m\סx?wO+6W$ZpHKd\8%!C1nES0#|J15R8 ?g-뒋TCU8#Xd7g & 3eňj h' 7, NI " 2}l=69mhV, sگ†e7cI&_г,+@z֡Ϝ&/w  l\iDϋBHų~cA12d鹮Jph>&#1Pm≚p_ڭL1bܣ|TF:;. [y=1V&-^Z)-jZɑTj;S󱺞~'赨y<9;oqXl7,yG} K85,>cSǍ"aen#e$wCdql 8hZ%nBl:{g1s KШwPAa~^(O&h>dmC|%m/+ko#R1qբ6Gpvѡ^Fi#;U*^l0SGKGD:<P{!dJG/yf!3>_]:#5mJ35븟iٳÿd_@p`^^b֦۹zژjF0 th{$>u5q}ެEɕoлseo"g@jٷumZn=r2ql1:zi襄:( ̫& c0XpB(FRm% hڡ"KgE!UѻpZ@ *Džэfp7f>gg>z yUV, Ӳ6ҍ(`_C= ^K, &MWlҕWNئE,~xI WXd !k#SPYXd]i-G+Qιoe˹87+6PZ"}n, CƵ !yZd^D-5`r N2'M$*CMܓ 7ܽ] Th&ФNWY LAէ ZP ]%5O cמM"i;rNL߼mF_='B=|gq& / 9RFuťu*N>SO͎^[v,3\GDtB "ggxcM۳Λc(mڏ |ȵ/y3.} |-;@GecqkYSnGhyGFV%ްRHbxhp nbɥ0{"XB(.9l0W +zU檯I"ɳkO8P6~K{3{vU֞ђZE_pjC@ې;$<'LC8`[Qʞ_><߷vȃS&oݴcy$wCUS-fSSp:F\ 䊔9YÒٞ](bⒶ te1"͹4c߁v_ "kbʪb׮r#ɃRam'эصkL~ L$ҡ~gDVYN8 9<(. 4%$}}6}%E$'r4N !I@l1ho7em({:hFUP.jԲa$X">Qhy:Ã}63?-;&c}*Rfn2Xh2T;3:u~e @~- z̚e4%rI[oJpk1~1̾euÿ"`cahcgjgDo,G5`;H@7C_={1;j)CByjepNp.c +XЃԠ\.0Q_r7J+u-=R&'˳3Oa}GJLe-IdR&@Vˎèn+i J)Rj~%鯤 5`l-Pai⇵ rΏ6 8 ,sO3+DY=R0Dk" c+WDFd‹a/}i4i1+_-`'Ώ7A |e2PH;bYj*g6,k:F){O.s̿у%A μ2B;WgȔ>my=&ܭUE~PLLnDn2PKځNq7Gה~LXZ҇$6j%A g[5\SJDv?3K埜5?2`ze5Iu #YP̚Mun'2J.0Bt;ㅔMʾI&Bۅ50N}S6WQ<$A3PM L5vzek$jtv00NBUYDۇXIQݐYVb+Ƶ糊srtHG"`@8SZV "7w.Q)ڻM8K9 +FH0S?hrp;15]IKњrӣF5c gD=REҾ*R3|hC'mE3wPt1['M[j0\ly4´1if"dR*OcNtѰqȸZj>%\h7S,{Wxz S3h@ZnS +~D[:D!]g*{ Y;vYe#]@Nk@ ]\<RjFn@*ޝ;%JHYlC\wzNuW낈IOSV;ՀE &a,VR>H!43hL(5̨e3.I}{ *#jB|xC\EpNOL_R\(j>Sٻ7VP:)9C\*_;[JLPx]fFG}UgS \ajBDqwq ;54^*5&T\yk^}X Ʉţ- *F ɉ/U8vϦ40K:y1$ai, _X;HݴKB'eQzG,)Cu>(F+.$M[;~j ;Dh]xAw4B>p+ljqcC}]ζx& nuA%?lW&qAS{]hlXwLgTYO!Q8e`SԊߊ3mFGm=Za `J}0 㵡&>\<_h9 W/Yz|F &;[/֭0qc@cWpb2#MVZ "#-=c4(W:vE5N\~q_(_ > .Tbuo},ϝݭ>yk`|ؐF pPEjD<=lNHﮣt^AA;٨0fBijJfS&gTL B#SH],##9tm ƒ ]HiWi{TY1׍Нh`[^t¾8BvPgZ-A׬Gh{ ?O5 LJw^s*@T\Ȅn Z@zn!׉Áf ݪ(m ) 6cr?3P@ɌQ+tQЛqbt9،) p0 F%0a_ `a1rԤm 85wِݝBqg~ڼy2Ni845ԍlZQ MxX})p,j^8JLY?q(w6!:{X$%6\=5Y`Rg! %s[;#A11At2QRj L -O{7Q[$QK-L>!$DzUSd]DeLQB7a Pv-ЎOnv*ގ}IwntԅW\>2>̂ RO7J_Yrk`X%4R^19iI}!SNWzŲ:kG 5⹉p4~@IkHw̓G[ey# . X_#doN?_Lpwwn|.ک F1Fso>avW|r_%1HFnu4-~GHd (a-nW0|>'ȄWCFx77r.&b/1:~]$LVa50vݰ_E N;B%5au UmI㉫S|n1* щx;:)I8{.#fQ¼BtRS>,ʽKrwF]%?_w@Y̒J$n2b?QA61D~lf\FIm@:#nk'Rl0tɪhfWp)v.o@Ţ^(q*^[#r93_@ 4r.tm~Ľ-i{.dJy63*W9°,!b ծT}I.~]_{dz9!S䯍XbS2T 9[NkP Q;&sHOd޳"ױ)|~9PZk2U(%m/'HMT'đ2~P9=wk}*x0b>|;Pi-H:s *Қ?Z`5k 1~62ŭNg@fهN䲺PuQBLE.jOGh45"՞ ssj#OπgKf.0niV ~D ub C2w1 C游yMbz"QB 'uZ~'~J"`<}Yx? ~ʙk2݀ͺ t0:oQaE33w V" tKnaa1V{gJ:w0~Ҙ%_oT㐩IFMh +wRg!Uq:I[Br< ŋtjG&P/O̓ vJR<_mچ'FqTlU\?dv0RZcA+Ty 7kÇ.Ϫ6gH 9Oz,-O|}1#jkR5}*x~`e &\{.n.E,zW rg2`N; ~v"N=^wRw'h9Ȑ1c)8SxB9wFE*! s]^.t#Ů7v 4z!RC V8oZ#?"ݙlR1i2˩Xe Mԋm5l 82X-L/דr=~G;Vt⾖oQ"臭`M*U^ju!aA;T9E v bISuLu 3 <7٧ !F0mm&1ugTj&w*p ЀZD5 LwHzg 7+/:d?4{hش}'!#0ߒ|%qr9k 't? r7hJd #>*I m?VL 'ZF빼h,R?Pr/YstMniG a6j=K @dK^!d1ɠZTX9eDZg))/T.mbئU| zGrKff]b 3OJ?z\-TKo %ND.D&$8rݏl<|jkfZ\ A$'>Xk`TYҴa8!ȶɋ,2F)֙+oC:QO͜2? NFjgb!dPU->^WNY%DR3|3uVsc`$u6ǝ KxQ;ڒkT^" pbᡖ62L(Icp왣a= vub#bˆl,2ANgkt¼ҋ敢wEudq.}0e+4Yx}e 6,2zT3ZRM0U2i?3LReTPvl`uN>/NEV>Kon [7Ѐʸr|&SQc 9,V#UkbI쾢\V}#;zhs/98wJڌ+O >WT9U/ DC%T`\Dھ"K=p2#oZ+Zj_- sM=# 5d,D瓨Cmp g0&ZqQSb$ 8I/37OY:>bK.ǖsdA?J~w]&QXpJRz)ǹퟌZ !uY{ؚ~#{y©UL"6pm,]\u],--l@hc]|h%hQXe#7\_x |*&[&4&?t$j!dM_gɋ`nr>I>Gz7zmYPz1(^޼UABUާqw-m9zjO t"\3yT$[hxƝC&;ek+3Iű'ɽ1*gsl_[uWG;>y"acV.oW1T>AX F)X+*InK><Ѝ -Bf9,̌b?3/7אMEW'&fЇ5:*rC;ε&zAr~k]տ>{!,6#nm}vJtʳ Lj ]46m,U(\,N`PŧIXL1yվ֫Ahk}3OP@1h-*N,) ⯅1oJωh0Ӭ zWaRz7"!%!xJ3YrNUW'lpg+RsFB3C-.M/ $]>yu{~oqhЕ@jA@~  Z^ T/]R Y/E{+;Xۊ bz p:B(gD bW~Z1 iA_3uYb/f4f͚]%? >~_QI4$mNΥ+¨&?l);PnpM( y!䣴{g}ljCƯ%94p'I8jyޑ _{WBg*s>#{u ̂x:»N(ʒ mJV.n,i2ŲN_NA*qdφrkk+L/wok)Ju"sn}@33)VgxX~?ʌ*rl̻oٲ q+M9H!O/ƟL.¡y ]7GfP4PS|0ϱCVk;g^Ln̯!vp.8}|T%r!|z0FrmʐZj!a#x >S(F_Kqf l4l @W1\udbO_Dz}MTKDsKү?a\LȬF{@WΧ"*,D-_?t Å( e_=]9Xl%YS>8/hsT:2XI}x(` _hhk&CU|7 $FCԏ{|`P6A8pڭ5w 0-4;}+x9Q\tE\Eh,Avڴex\|l]8#ĔA\. pnzwNBPfV.^ܣ'm>D;.BYʥ7pL8߰+-J&ˡ} ;;j:MWJxYΓ/!zZ@[8K4j F뛼5nK{F l zk_DiMO'2phK/ADv @ѫmǙkWOǕ" q*'dϬgW,`*rw C*9SU-?%[u%=!"]l:/ņ7'8ZaDs8Ju 0Vq/~/T8KX^#C8˗C x䗬j]KO Y6{H*tlHs3DF(2\qlĵ~ql *iiv {gH}c 2q/Hr,b9h[VYŨ-ȧ+w@\Tcs,G)ns@WI$e-&C!Xu6-76-3]4FŃg v6~QKNpiEr2MωdrS $ÒŌ gKb ݩ+:_e4$Qӹc5YO6 Whv@t- Җ$]&BlF#):)f=KzPf]bp}'Gfk]j)KY$ZHxejpW}IAVq y/ mW3hʹkii2cpLS XmJ)%=spQyW#CI v["Fe62 i~݇.-Cs1q/hk4p3Xh-t=1{Q(BD>h8,3ޘ(|/,W N=`&sb_.6gAԣtʪ3!b3'.ĺ]ۈbBoBf& hl+,QL(ES-VdzcMAm^ [r 8!{ol A^F?L0M4۪JͶ0j@g*E\KP_}1>C5[<ܖv{{\t JY#Cz\+<`RE8 P4% A}㧗h 6((z+VJbr n= uo{AL6*ނ1$;$ˮ\k2Ϩ<rDq6޵G#6z8NrH3(7^JյvC]m 1QaKef#m,.U07'?c,1U6B* .e:2{j ණ̔ Ir{d؉VƽkF` 'eɐGWG֎S\)Gk \21T{_B›E+o7#d͊v;EB\RRPSQikG*+m*2\v_y[2'v!k`]_Ϥ W$ -6G4;";5Q#LΝƘJ5zD1[3r139b(nf l(5T[S$z )! \گq7s7;Gk0TM, QۄRrlgԕ:GոeS/CFB {q>F֒X;_|D#yw-I Q2_tW <|ǐYK,oߙ,hYA8!T`p>Q<۔?xq{!g vi ~[J`dfɦˊC>=9)žYO.H쓠=Ia=V)rmk[*#7̒v\KNPB1XO|CyTu_Qf ~-;[x]L@Ů@'8 Bc#V~ js6n>i~@0;LHJ/0lc+c0Kɶcaw&fҶr Mt\)^d zYcAXu0ܦ'\1aG帬~MGXd2ФTmKe uqԊwGԾr0ܬs=.?ܾTuq[*>W:ؠd`@G.o`._*%"Zjp~J #ts^Ay澍҆:FTeCM*/k@A]/s03b[u̴bKq*?ք*Z5I)A&c-{ͫCr˘&)[W1Wb,~–q׌<)ୱ|)Ҋ!h}QR)EVyIu?zK؞-H'=Sx7Σ8ʟ+ރ8e~Dok`ut`K#Kruꯆ(n`m9Xf+>D O^_Ǟ>TǪC8FZcjbrsǕɲ;L(1# zG($$N}xWpwǘzO!g~wq81‹߰qvmI-cE&nM>B3fXȬ@ X/[E\lXsNn&]2"l ϑ0Xe8k!h^i!J3X&gdbS8j)Nv`ɽV~^X_Phu:]6%bd hcx_rڮ'*LEdzQ+0Yc1RT1n*a@nCq'hGH0=jA,[=PI ^1Q@&ygD>~4'g*+ )D;Vh YcIRT&NZĢB\ޢ%6H"_>M%֎4GZrY3o{~ϟR/5ݚW ~-+R6GpA Or4اvOZ=+\`~Cw*_~Loc6`7jsgqY8'"8 g0E؜e6O{C '$KYn4OT/xjy[&hѐ{gAWBSdžImFY6)ӂ^3v7zzx$HU|?@SeC*{:IbP!7^X6Е! tD"𤰻Y2(F +j ?/+[qՎ@Ҧ%Su>XL'z(z3F! _5ϿCYO4X?*SVOaUw&.l]%ͮ2;̍]w އ6`t"8-{AR<]nqB.(k7XD;7|ĨrZOÍtK:B Rx߃IU+0YCަp!_Qb4$MHE,H==پX6-diC !FHC#-@?l"V*`^wCiщkK;X|}y`h=P1ud9M}bulJ{1ɒ$Jg{ ώ.bo \tenLe'G{ۓnjhmv1{cnQ 8 mY/Hz WE aק\{_,k\=hJ 3lOyK s/#1ܓs*q}g" 23I&q`B輛7# ?#ݜN}ijh^,0)$H &?&br%WH7kdbk|}ܓcֹ([/]Z[kq#藟c\9ZE΂]K/xg]iv C86E5VnQ[ |Mb ڶW)9Hy Nk 'u>\71v k)Itb6 W(E$PVE:#7=J dxYW?(fe?wYy("~RMW'UC9Xp+uÍ"= ]'J x:6< xLypO>ccRb#` ! ީ:_GU_cBdP ' [vGu;+` kR-(wHA.3Z^OW?5gh%Gi϶L1^NQ|@~AgÔRp 21Ӥ1Y](Qʆ݁iZP!hNɝo4pt2j;BMvJ_dPefs_ok&.DxYd#DfJ$IcZ|G6 |Ac<:Zzz9.Z97Zk &]B\I`or_9V9¥sS]ύjL?fޒ:Y[}VL gZ@0lv"~~?_qBBkq}d%KJyz/~Y bZ|"oq.Lʗyjֹeky0Cyλ.y7f*ۏnќ&#MBɌw›E{_c+޳|M:ec9["2HqG$ئ,07ʦۤ Dj(ͲDԪX5s+}J}G8iL"V:1L>&O6܁nҴn.^Q$y%q6(< 2LsYu %05Wzr77aNOcȝ#b`%w(YUa{@цYjrwyUn܁d˕u&sl8=EN@*hdi '{Dvg[IS_ At"qlNRQB1T ZA BP S.3GnsxF(c9G᪽Ŭ;:ǐȈL}`h:B'`|H` Q@?CTsv_sZ'4.&SJ0OQxWہ(~@!F0 ztˏdEWK9D[ Zqs k8E 1E;%G&r|^lZKFUÑwqYXth&T_ͳ!3 I0;˷lDr*/:CeSE;,9յMSfԦV|so9=;1f]I;vm&q>&Ex0]ՠ~Tt& P\<%T߷yTGl.LOWt$Bh;1966V0{dK0yΧ 8ve Eա3K5%eeybƸ3INFrv-g09'É1}xZ/Bv)PfeV-䦏2DٜʰDaE!]}Gn-,_zi^^Qbx$MVJu;cLq}%ޣ`Al5 I1| W]8"+`q9Pro/adsںr=2՛N"_)qTjplAi|~%+|Ao}P>Ag'RWqzV-)+%$c޿"Z۔f:uDŭ==_[]qPmxgaCN 3YީN8g9۹ P#"}Fl Cϴ8B14Bs (`%傈*\gl]Q m %b\[񡂥ȬFAeEҏ]Aq9@R ?W16uLZHbSLH{ZE\ 77=C/߾ޯY8LmF0XH@j:#80`gީQ:ʣ'zJ 3(ۣ Q#rExCn[bCr+f&\X~Sgjв~cWbsEl \Aī^j_g 0T@AKyH4zC%Wo(LLP;叫2+^shX;Y'Le:򭟕>E TF]۟^BNcg,G"6}.WS4iLkX.[NRrHny=z-C1Zi7ji)^s\؄AETCrZ%CZ9?#XM-]W e1 `Y?&4<ѣ7܍=)ž,'ћGRwqR ,ctʥkCK>pMϛdV7nxr%;Wz-W/\(B00t+$k}R& G7Wda!# ݒr4(\9\9(GHզTmQkմC32Q W͚,* E7"TMXzp/8.qDՍυtA*FϮ#>`>M y` Է=4,&9$|2^ͳzE;J'v;]G#T_,b,7}ِKuEJh𓲪8~V("]M5HG Y ȁPJ~ XPWޖ.$G&bS4'k/܋$ѻ$ +|2p9YT(lK `+Gf ̷m "9˻@EDwinbVfcRm6QYƬPFtkxup3 Ԁ '?1WRΑ%/KAZlX(ݘyt˰#5Ȫ.iuYoJSiaԱ mL/".=a5 9\}fBD^]s%5Izp,z Ȇ=?;$AQ۞p(K8ϋGVE:t\L4kI(f*ojVAMM<%9R>ACcPΖ[Fvi)ddXuAo!Cu0Ӕ>g=ST:ſC ^c+ljNkEפ{!W s'6&J||翖M=/U0+hDćT^07\Yg+ A5xazw f:a F;~p1&+ 9gޚ_ A0bM!t7k Ҵb-8|k#bϽJt yXf}/o 3Є,sT_ӼabǑ?ʄGvChBTĘHF,GFֶ3,g3c@1j`1iɎݵ(2 nBbhw.u+NL"*)Z3dS1 k:&Gн\b-|`,Ps+Jmd9˩2%! ><1)&R;e[*:%,}e|h卂#)hI#! "4 En͏lVw}{W+O(xv<;2WG Y\J=69as}f{~W; @maʓ[xoP)Z f5Xs 9ʀx=D< pqOlaiYN,FLl jAzM.$RQ!ǓeN .{ vQ8EaY"7[Q3-TrpZCiskTB b>"z.\oW:^k9D`- {/yP*NJVY!i!'C' 47hPUNdQ9aGm>]ND"G` "k`'wWx?tPF_J@Rim^`H|g㪣Ѳ($B@%Kp=|36.=u_vU\`A5)7dRHi)x96JKeͼGyTቲwWTDR^T𹯛9D͝cˊ>5!UubyflOaބ?UJ5NodwkPijDx$^}T~~ASМdQjesnupB8bn|> )]BaxP[0 (a s- {O *NS7 viưkWvUr :vjNs?.ON0y݃ "6?Td3MH ظpЕiso9=% sߔD["?.`,E2WlF|ٛiPs # $_"8A%h6mط0!a@A|ìgDR9 3r`Ktb72(1=tUuY'xO`S(մIn$+l@MiiνqhMk%lka,VV2$VD_a"ʓ7%KDX ^? }M7#sW>2I.'H2фeH |>*/v:6N%NaO1H;޵?57AFl+RSi/.ហx79Ξh]‚n o'lS6A}bbS$0n E` ޛ >Lm -Y*2Dp3?RLS/t2n1Q/lFu(uAh+e}ύ .S !8;@dvGDZW| ~586? Q7%CL Ҙ0}߇A&BjCRS+E!Q]0SjnG% oMEeS| ,4qUŲ9VW0v4i )R%Z:n0mVrcL})6kQ%0𴜯7?QPm[C5|[K E]h-I?j4;!M-Wx[77ZKE8ڵ8KcEi6ҭ9l娇ݫ~K'12;. }d isj [J:&h]x)o~3oK[![ P\U&!^5HoZ:[zr5%c1;w6 cD'Zq[$IJ;cΡ {fJ_yyW~ubg+7(iO!- 8pN1?$ոT0 SdOy7i82FZpX-9+ƹ&ܧiרفIdmq(F2ڥԵOD5ne)-ЫYWYJ7]&{NОqHzA&`!X3 n [:k$"4T \+@,Eή{a'&Ǵc"`n *֐,ȋekczg,JcD^:vb)~Mb$[4xm͊rLJJ/][}4򏻨"h0즜k1zn8{}Z5*+Qrd{{dg7Yxǭ"9N}~fWZ؜m33H >Ys ʻXtp-~ e^9 v%Ҁ -(Gɀ{;a}S}Qq/Y@ }+j\vYI74"QCn05R2-(cSĆ4:%Z7!ǞO. w*OMv?wn5BF0pŧAJƗ$f{sWyF8jI"QFq,_lB9yeۛի~w5S,>W hrkru2گ &2.ԉǯĊ7'2Evsn' :6RhU>%>^0)2-".Ȍ +"NN]AL8M;NjC@Y-eMK(x ܮM>TgTZci翔h0XD7<=hQ2t fczA^-BI%^2NA#EzWjCbwVof^xuZ YZ