frr-devel-8.4-150500.4.23.1<>,tfap?p9| ev1ٶ V6%cl٢o0ǝNbke )^?7  VW_k% c|_dFɹڧ=!z7Mx1` KJa@KpN0ű>;?d   J5 Kk  D  +r ,/1447T7t 7 8m (888(99P(:;(FsGsHv IxxXyYy\y<]{^bGcdnesfvlxuvzL\`fCfrr-devel8.4150500.4.23.1Header and object files for frr developmentThe frr-devel package contains the header and object files necessary for developing OSPF-API and frr applications.fap?h02-armsrv2FWSUSE 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.orglinuxaarch64J#1) $_h4:_ }M ! f#UC)*m%8v$*  S }+  ,(Q O! s  ^!6uL +l]|7-NCAn1 ^ O- @ q  { &xG@%&'} 5{ #/]+Ga i)(z? iA큤A큤A큤A큤A큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad521591da0b6702d04a6a034b19e4fc0cb9feea2e46ce802cf3a2a09210594d83fe139195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfrr-8.4-150500.4.23.1.src.rpmfrr-develfrr-devel(aarch-64)    libfrr0libfrr_pb0libfrrcares0libfrrfpm_pb0libfrrospfapiclient0libfrrsnmp0libfrrzmq0libmlag_pb0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)8.48.48.48.48.48.48.48.43.0.4-14.6.0-14.0-15.2-14.14.3f_f(@f@e@em@e?eRd/@dbd*cn9@cb3"b@aaaim@aa@aC1``@_I@___w@^z^Ӝ@^^k@^G@^"@^!^^^ @]@]@]]@\U@mt@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 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.2h02-armsrv2 1717661759  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8.4-150500.4.23.18.4-150500.4.23.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.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:34170/SUSE_SLE-15-SP5_Update/0ea57acde404d46fd222df4ca5c36a01-frr.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lines>ǐ{;4_=utf-8ece8d496464824419e1ce3a817e223ac810267ace3fa46f25910a2c897bc0266?P7zXZ !t/]"k%{Huuy:?$ g,% SPvW~m%~8הR׆O#QG\1$,ꦅU9ui!,f[`Ʃ %!rpg؏8e S\"?\^ElX?T>r%?y& l̈́o0u@*!,*1b7 GH]&aj `5Pi!*_;n+ OhHnӕI.sH(+X[߯֔ԯ.H0xqd@h=ATQ;k=&k0 E6:8xj94韞"q-QFQK;ur:!iйyHgC=0һ257UG;x O=)1.tA@co?$^VzYXGn@ {A*crh3A>Y>h% c"3ݝa^=;=2p~$%Y^uZ0k=|G"My`nS ntXq+T_"mW2,uf9Jp߭Gz$RRdP $JC ;/8hav)ޓJ?TOBv]pɄMCkS;y9GI %O+, oAk/S:ٳjSm26!5;Ib&Dۣ hi gQg!iG m9{n9WT5XVs\L{ ^J bӃ"Yמ U]XaMmj~!lVT1~`Hx2)_fBͷ$i)]z-6ڈkns )JiB':";CKJ1+bPF.?@S:0hzAţQE5p.ϨsNYALh5eI|J!f*菵Py7q,9b+4_ՔSŶ)w epp+o+9;*w*e0n㻆̍^X_mY ҽIXb0^UI4Z>ԏ(YɐRQ1'%4mKlV 4TDj\t/!74a-g)Uq[Y_P48E=Wsl*dn`]>t[• DkCK7.ۡV' ؼ n?!-[OI57h O)*CS|CWڊh2fyxf%_}jx3T+#+,ajǤgROzU8J2]XAm6;zN13p3۬իWʦQ%Sv.rC$Gn\ Eu|'sпf"(/NC nНL=xRD kmKRAA2sݭ֣y6wYjg1kXYHM; |ěި/ r>l%EʞŚw'\6_]{0| ݙ|Vq0P{ʤUfMgT!&SkRvB1)[@YONXnZ*aKpX*⸔9 ,8GB[)4*S3ard:XZjp(U6*9Nǫ1nzoi~#(!:yZ2L7HljhrDęd)4c!ޢ˧ ^ a9x e 7WtejQtajww".sn,MR}\2פ: FXh(-Sqx c|:Σ$?JI`  [dGsI0TwT{M5EI8VIR"YO9_8_$DcR?P sc :Ivi q˞:_Fe_d\ GNi'lzƙ 8|wbo+UˆzWϼ'4NUI6G6J(_.M@T-NkK3λ#+k+58ԃR:MZ*o3vx܎~!Hℝ-*,%6*e$Fm!}34^9-#c~w3Ϙ ȃ}e~DGPFqg 3J..C<.-mGsnϼ5+XgjLdBQxbjwDePdiՍRt4j~% zb=Pg9ݫi~40Tys( j$RCR\wNaǁͮ{x~_ha/R< ! Co]d(8нRߎ|*"΀B"NXe_XS[wm_2q@/Zee4M⼚D|l:!0d-Wi$JҐ $qJb_"OAXKkE';W-d]Ay}zNd}O`}RY?"s1v{v pI"@y^]Ä́IvxzȂW=zj uxa;كqz_C'-Mp:gGuv3P9I3,RT.`eA33+$VZx6U-`wxEݚMV1Z _)p>n,9aAψV+ 8}DÚu|?Ѓ-?'m1xm]gduleZdl4ef:$8Y1YUί$Df@gD/uPp!¥C>soY*"FlծtYO`F;:XgpNt?ǤMGhΎOKK #nW\zGt(.vŢ%ގgȞrovlx:FY<^[$'ݸ xb3cb0Rbg|zuSÛOen5" -nNJXb #2!ءg _k2B.-^i쀳aXE#j?Fs_3YuyD09!kin eOY;9,A~5efue[39LMMҟ}< v?u>0tщH\ FBR\lI R kWJkQoCK܉Ae\ KDV$zA Y xԘ]O{"!E|2M$~=r qD.iQ}h^5!VqgLhW0-{bjwXc"-ern'n[PJ>PVu}vj&Av! sU@]&*;k`ke.k!Ahdj\OmM0{f-1#[UHY\_ORmВ4t:ZǺ 3ϓ_Nu'?y,yFWZOHP+@qzK줃"& 렜IA^?JfMN歸Ϗ#ѳ=`"Q@L Sʙsm^ai{Nz1qh?%QK=_rzd3vf7Ha#bF ft@>VV;e]0GzrGR8R1qmP?r!o& +uI9' DenkZf@NGp&yJCLnj1>(!H%xިY `X()t֐r~vFϷPg'C%1زv,k#5jЗC1P Uo]< \8e0+N(8^\ G ]hRJʘUڹga(9#onkFAe{grhI6C۬@9e-ri k5KK r|AWzB@cD";xW(Ͼq7M7ƌ a<Ϝ8yk>XJ#R+pwDob9H@OzՀz]χT[zftod0U u:c{p/2JxSz9'܇DVR]ˎ3u氯 _9 h5X0hDE/iENҲ4H=lxOpI[`zޓ1zA^XXŏ-^~Qqz 1J\ct9e?gJ:FNeL8Fqwo]ꉙ ze:^;(T+]3$/"dw#mx^1N-'فxI9``]sti|4f <z謜x׸DW@UxmTܭf!?ؿsH>{47?ğsu)j~b%}; YQlWSIrj?_iܢ(;ӇMRdkw m1\[%Ě?”Ӏu96/'ޥ!<$s:4qQ]*Kݧ=:;+X3uT{>7c;bR,hV{rпMXiBzB `w:p*ǖ7 UhZsXJR$_ݻju*L(rhMBTl0oG#գ,C+C>/qQu[c煮j{a}_9Џz pZ7(^ < ? -{?]Z.t{">过K?4@.K7yPRuxe.d"`®$0#)Zx"Ɔu*mw>q?ɷ#"G @#DR8xcNOcīkpl^bS.ekT(0 ;mK/V,0,= J''wxbƉT\߈ 8*\깉KsqRU\s$ΡHY Z'w!O}%ͥ2>t*M3WZf &dI]Td¦Wppv '[ga<]%G go0D{S7~3P2`5#N֤MMrB%Kw'αgĞ6O_h6xφ(UCf ls"f9 #Lc5'pdʹ21eG~(.$a{X6]f'=Ipn-Dz;0Oյ$p `M"|8lLPEM0iĝo;i-[ap Xc9 /^*cz>u?q&IwSm)X 4&a'"37'W[mx-kge)43:4;ъ7rIrMUI;_KBͱP7spĉZ γ ݓLt)ȍS_%Ŕî(EYu֯yƴ.qk~ڦ;ݘa&kf"˾2^6 !UC46/l \boE>%aűU+H%أ/^^+O>obۗ0V<,-@eewDg֑(:п-4{ ߳XTW =n:Ѓ %Qܢ?p%;B*Tr5WeUZayd` S?lŁ{e\isܜC6xG2' L^DGXoQjAt a@W)|J{T6rڱ>- S SBKZ&fl#~ے _qWd% & *?nHE/2¹DeۺWM`0~ Rmn~(g ev`r:F)D| ߝp-+}xK:lErq,/K@8@տ`϶Or oPp3ԧ02OMmC}H )b\Tle֓Yk53=Ik<1?ԖEr}Px YoD+(j$?QGb/N10CVhɾD~F%yMw 19?}G4@l.`YNoSh` V3(r欳4t*êk0i߆3Jp o}sh0.bbya ZVK@e_NBNd~F$օz6*`<_\*!%S DQ?S#9>kQ(۬펳hT``jR8'a`Ҝ}, @ ?0^V'BO``b0Rݳu Ǽƚ|'h& 4;:eWY!D),>8v9B .\9k&h"DREJkb&*u#u4a=FԤ*o !KahoV9 K(V(,Ƈ/Y+{ aKQ!sx Sn_( kb&cCX].FFDZ聖M={t9&_GV*fn}%[)iL*y=igw޷j*񋦧?y duY8}/CiHT*3ߴP#7# ?G>g7ħ[0Eg3gRWZ*+Ǎ{-T0tAu]* A#9,jY+#&nHbg]jzU߫mZc" ^թWȌXں`?Tz>DDWtJH̤ɮӍ"= 3?UOy'|xxaLr"# ͓1m7$K  BŰf1W",!Z u$*^EA:WM>&Dk);vHr٪H _َ {"I^9X? Q:\[DL\!_'i])KfR1{ ժ`X1Tk;=jsʒ-XO+3ƙk9_\f)n,:@ |eQ$؇Hㆪ[d &:D9K=oiqv\I ޹w+mٽ/YiդHO2H2b=n齴9՚?# n4B:rO\6W*QL͑ yJ2gsiPE&0A"n ]C519E`DKiZ QbqSy ^~Cw Ept%hI@/=W٨OHWeyj.yq'UG|DQ[39ުVhBHj(MCakӏ/=6nAgߢca?@jSP,aܳN>)oע_J$-oއb ffzzO?V_W0֠9/ u8F˙f<;@5> x3؍7*|/?4=NԞ8_0} 'LB)â%BS47^jM>i1MoE,&Jc)Gc:ȡGAmDgr[k>A$ jKHkqWiQQ0Dh\G dreBI*{v/<$knȍg[3glWvkWWE$>#,4 up8н^LPE^rm{w_ R$Ce 38g}yh}](wF :+fIږ1A9I+z}{a6zz=bmF08:-9fɞZ \*Zb~W_XWx%i.y.G0_9S+,0? о+rPx}H)Sh bLli^9g @/8`| E4/.#[ݤD*܈[֖}m_a}7U/&eHRb HNR-= lL}@\$W4(0FfǂUCNMPƖŚc=mvB%VA ZʱQfw֤f!E!͘n{jTT}2Uɓ0{G;kEPr:Yr0XؾHдN@79°%"N_1o[gUۉ Wqy_ +QCƴX[^&ʬp{}7@2GOZ~_2/ǂT"No;vyPC&b0,1Mi,.wN9w |n̈́ӁtC!qAڪW]DB1Z#.WL[VH|]fIR V`I]-pt^,x|ndًD*VxmfVNaȁ`}@eN큨ibbq]jcM`:q -9aƜe#\3X尮7{'l鍻%]yކҁ*' u./F:@)26kXRSJ#,MdA>a!uw7Rqf5StocA mTY"!-U 5cw=f@Lu/$HruH z0q {͂dJ |q!/_WKZ'o(ϢsZHڤ4fX!|嚫gcET֞ RLWublPD^)GsJ \&ݑ_X~Q! `f6~@azPvBt~f| s9N6l>'U3j2&\&3.>aQuI*P"y~QǪ.k]ƕwrA$~9RVۇ%:mH++vٝXfFHЋ:ı@b+8O㌢jR*|,։ ZwLiL߰zwh^(hEFЂ c1ξ#fZ%";*Rޑ&IJ@MYo%B{2 F[pw#,{n^^foa'k05AJ56e+n{2MN 1,Ɛ׫Y b-Lے5Pq4b"\{W FU RWIQDvnzX!vO&-3z)ڱkȶK"Hj;PWSs0 g';|fR]98QX<_J?Uα 80\)TGJ#pb&[t3w 5] V8R8oG5' (/ )͊YE! Tv׬~SSCA7UX|b>OO8ێMvvif|o*)K?RX{hy#QjYύ>o(G_LI>o::X:v/=IDxa lÊz+V@x OC}ƃs4QB&[VZA>7Z0Td7oGآ7Hj:KO`z7~J|7xPMGz{1u )t5 w/PMNN8 {O9kJLYa&_%nQh#ύ =F=,L/{;"52zH+Ϩ<xiFV`Ԉ9Z>trÖT\/blTy[eDc,Trv;]1.J#h'nNc)c===Sq rP@HEɹhݵ=ag|tuXzW7t+lk$+~X<Y۾ҵoAݻoVDإf?52gDb6}aV!is:LlАpopXIl]< nТi逕'm$.| 2iW@6qSYk.`6!iĚ\P / B^|n]2o%^*NSii]Hf?s좫u6vz8AT@PQfXa@E|hȆ/F?l,VmͶan[?BèY @#䬴=`x}ήD#.n΂nXÐ wF&Qb3,ϰ@& z]ؐDx Vmi{&L*7cV%3tQ=\:Y >$R% 69=|[8df6LJ[1M53a[^3퐛MN%{-% t4[Fɳ][wVwj3\C=\NMz/_+q6UuBǏ6)?.+{zobɵgܻ_$eK!;DRgj>sMXq V3R,|$xF:Pr._=B.moi .ȅ:z3q\oiD\wXln;&% "4&d4-q焎֡S'>Ʊi2ȡ76"C=F%<:r]G ^IIy%`|m >N1ջx#N -+ +R/ݔH Q4i뉪.&/A浒q+>h)J$(=,2x=`wLӑGFvw~L}v, YM8 >kf`ɑ$IYG&+W_ 99ettb} So`ϖJ65~;F:inLwz ؃>ݾom=*XaG@i^/iȮBjK~+8B Nz>LeGqw2T)wx=!ѬKOM,>.b6Ao muG"1Ļspk2<3\;O1Rjp@hSdLm^B xHbGN&t5 !ک0<xm^Go'mJ{.[1^&Ch_W)N/3/Lf̾SU5tDBꛡGLHnرlr$K8J M^5A6< Nk(ZID+sx? E2\n= PIx.vOTGQnz+Uz7by s"m 2;X?tL -%L.$2({WpՋ&jpΞGurZ|۽2;jR:1.qq\>'1[X2QK^J5_i^E4%@:2nXtIxG +37] ip˦ajg: y5ƫ~Kl": lZ꜆ rcx4K6Дz l+ԎK;Ȝue4?&,+0`qOhm4 %HLc;Y->*W@GPc^먩V HЍ|ڽ aubesǩjgE0WP\F-dg>zk\J&6㓍"\V`YdN2tتp =/PO.y\wH|Y"I')IJ(VX_usEuGL[if1DFNVr}2vum/KexSRXX>6͹I4 ٴ=dNgښue7EɟYHB5gܙdq5oQP[Bv2IotP!H'BGTM=b $Ҷbr))nxHŖź3+>IJ %O%x>U,|.; v"ܴ/ZVWu0LyAVZ'$/ɮ.OT%v|AMD4}z=5=Ƌ=*C&aƒxMbL~p4ͣwc O:+$sjI*oX:}:IJ(j_@Y3sz6~ % xJ=Ϝh8H!ο͕ˆ=w cV  X!Q [uXzYmS#ы8ETޠ$\qZ'#`l$(-WG'j 8rZ\( [&4ok۔&um9C|d6TM8; ĽlR[4#XJ +TC<. k\yW cG^di4Y yk)Wb!w#aSxN?GP3Ӵ+BW#ݙ$M"Nʉ}}nv̲'f͡[IH*hfI[:db+P뛾Wby\' RאP'~ZAx r?_O|~3uP=,BC^} XHw:|(!zH/cBƎ,q5P щ+g4f.qdd҇$i4)4\ JY^G~`$njh{Xȝ30gt 7Rhxl: @=&1ŻԴf 8{@s` B?,jZt.y1^pprP &o/6ǔBܲ3>UiU#3ah]ҷF!b*mSEdr/=g @$(܋`Ơ6ץqmu20D5߰sᎭha# xw$bΈvJ O ȔF_Ee@r$&:SC,Ql} -0"Mjӓ@ ;ׇCE`I$ *%TZI0^3RA$K0r!LkceҰU%(=_-$D=SK}C- bQЈ9K#BnQ3>S>/X g\کx2w&/Pc*&:Tzr j7ի nTGbqƄ>a)jb2(?DP5j<<֢$q6|f]gbѢV1ZKM~$PI #>^˽c[(Z<QzFA0VheHlۙdsJG!Tث5 imǺ}!y,2=C |.5rFIp`J#"v $c5'O;|aB>*іֿ;q{*%4X _ǧd;͡ єcLcC+  Gj-*vx,= osw)?$(.F6]dnZ}'F$gY<$~A2V`o?zt IbH*XwVq#aq˞0d_4n \ /))WH]Q=PתRl Ay="BiOm'4OfJg`js4QJ90ԁvñ,BM'Ahh_+@2 4(]|(Yv; cRfj0kP؄Q7\!j&^U0if(EBH "e/&i2TT~Wf};o$Ih4"N>`_*Z=TKԌ%`gk9~c螢Enc޶ڳ}uEhYLCO[@=*۵ _e4gdA\8/ )#~U*ǽHG-t]:XU\'W{9ڦ*K}UvyWwԩ$=%x3{2hK݀atr? `9yɽ&Ce6LJ8++`Wb?=!P)gѡקۓƿ8)}4md0W׭t@vR4T3#`\5 L2o殗f̑+SZ9nM`Zoba2fM8c"nN2hOhy7puSutT(!s%DA,vuc_&B&,i%HF .5aCtsw ~]14LX 9-%3f+\?v k{L^5AG3񻅈a>Ys Ǫ0? :d?ulF`+}} ʊB/ucz\Uv8Iz"z jFpIG0`,"(F1)"GoPđ2A n`@;dCc-ϴY:DV.X['#pcRnX*봼$iQX-@zGhoRԴ00x~Itt-&Kp]Y!Zz"2![veɚ?;) LREycB'XXc,)C4k3}]62j"TJ:XDA<1=Ѵ`=X/y4Ol>Q"Ltp&[;̕la\b*tjeR@muc Kh1nKbrD4%PD,?ƵYMH,9ݹ&8 FJ%FqRIrDv/8E@hgZ3E!to{4l7 ̝:-3iWK3aX3nsVå@$5 -S@o:u`*H3O\j$ˑ]̍ % UmC(/v9I#ds"A#LEE[u[J7z'Pr 4">Q;{=Wz?thl~~/l'XQ%HU ,5*TE %/:R%ص_ w7D~@l CDs(*Ydm# =9݉hm N z{|Pߙ7T|\Qc})D@+-[y/;/|ٺt-_{ui31p:vػxa/Z0tBBr'?<]DJRsm9[j+@=@RY՟(B;8jwӛjxiM:%֌g({\# կ/IU^\b80P7y]lFY*PI%&B3)qwEX'*]⻒kOOȁdwP/OGca&}ϝ6~x$'$Q^^Ҧ&>ӌjcUHōavWT^G:RI3y+-68؇:-TyPv;nZɫB>~ljhӅx r?TKxkk(q[.>2$! >~Qg{cf{C;"CQGF"˾U D#A ӡt@pCyiMZ[E},"zEɋj\Z Ql-;Jtu'C!ǭ^1{F3Hy19}ļ$ܞID1a_%11&%Cz88yx^:&T,a|ׇȗ`,$XMu#E0/*B fXآ"u7rbj; *]*.7<&;4/9%ͽ~7 8J| fkQ._fG6 AQxvdCI Rt/aL#Ή(&P*~ijf.Ç,|v8;\;9-^'v#(8dqBEųܟida8 c~xc[\Xߩikju`<-X ;57U.HoNVQw&ݺK}6IM^G)+LXKM>ث%; l/9vY*-DiYqb iQ{E69y9S ^'{tnՀ!~!JѹgMmK'HU1҆v1_x$'5(wo[iVvoSBd[.#=qȯPNk2~(rF| X#H]ġM4Jdy̓3[LG#k^U"ԁpy@=֋-&py,5^ 9o^P5ع?TlqPVc7ca`WHn^FuqDGުpDz8C)#ɫ%$gPeoGo$tz-1lIyvPR źBIAI*ŷt, A} ݒ 3ѕM)&l7M/A+,rpڴ%mvGRl%P8"^IZ3>Ӎ\[Db6se HA6(ĄVaՑoa~l{mȎVw%lw漤":v~vqhd duO:mA r%TOIl`/~/8+ٸ{a^7/M lc2YpIIT7XKԺ۝!:v HǢLql ~}{`WO9aHbyRD+ٖ/-%x+YM`Fg@Զ2lg_8Z3skpZ6wQ*ְh?ѐUn9<aTotII \fOt88*g#qZU|̬of ˃)0V))nڽfXdLnF!ʕpŁgTI/)fTũB.?Qcޑgv?W@'BǪ)P确 9y5&?%A3-j?WJg7`$'0{\!"̊@-tnpЁ_c@e P# `hْذ5/Z ^m>l9,'fi 9&l'#iJڎs*vtori:z&(.WE{X[ΕG"S]sŊJ:]_oO>UiAO H?DZp}HGvm&/if0w"^6cF.jwMsܢsZ?𻹿iUPۿt%06IXZuxm)HNoXeÏs~U^3_^)e*f<;5|-MKnC} -E q tyxsKfVfmz?,|5>hI&¡QZbl]O$H,Ijw*._T-}X\.!D߆ cP x㡼;ď(P& g7ЦEBkAa2xjװNe%| ST,Ek*{ܢA@*:ADZgЪ7dIaFlC?!Mw^{fpĊ`]S>uv y&7A0#PWxiCs$Un۱#ײ}O JGH'iC7"kbӱk2 fX$jKTs0|:c[;&=2w8TִڑC`M(ɐWemu _xs\Q& z̬BK1KOjo tnIM^ej@{Ș3j 7X,FҾ)`}!UE[M(枭:r^E\>(5x)= {B+vQ_rq[eZ@D\RK.#pF@q{hhOdďlIe[aCL܋@ͺ~H&{]k ?zf?1=9 H5ėaRp(j| ˆmx-k1c">]+V9 t|lzaggͲi<'T/Yymoͪ1#k>ZJ3Cse d]US mj,N04vqD%e\I5*R%'gA',O+~1+F +BUz,sDM~.B Xbw:lXl+zK j^F>ˌZM7nɇ˙W8v𓸄ҶK3F#/pyM FIJ0-m4a3%& 0;s(>?%7WCaѼ"G'2^Ma 7[yUw֚]_ yD: x|JR?BkkR. P|lwL%?Hgǿ%ZmѸ"˅ ۴>EǛmzm?w.V#Y[10uk|bZ#ͨP&,|)3K[_瘇c g+ś?y&lj}t MpTsTƞYuLߝ 2w~T%b ba K^Y %^6 MՂD$ŵp(J NBw[}T jZ¬)cJXVbxD<3))-fM>!hB )aE5*{1.ӡNwvͳ`1xzazZ<\kd>*%'*rJDT>JƎv@+H+Q+vbE]l*^-|*ШC\؞T?)+AƩfHx U( lcGQZaO ږ)/JI 4&տg3SOūFv@9W^}gCȚmr)DNˆ;!l`Vۍ':H<+<}+/cjOvA<G?&1C#̤60-?XjJƧJHLG[(T1.VXT8Sw9-:@_ ª]|Zf%3k\cHB8ϭq[s:T#/ZzA?:m|i%ՠڢ9 ^d%3TI`h2/WOfpl!C6ބ=>SZ_R2o}(MtZ6I*n94R|&-C.K 9Q09eT[Ե*m겄QuO<ƚt ӱk$):!AE82d\d|.X-_,rjasbT'(XH'̲6e,_İKwהK~f&!vڧ ːʳ\P6gYP{T[xZJG0B`:~<o",+2}=wQm :y9H/(I(`n [,>?ڜfAZeCqҘ=WKa919F[`RF]L(z0)c.qj^P7K(~ XH}M`.>4tN C@OU1Li;dŰf,ͩ8xDuYwl,|_MZeӚQ*8 5&HPG׋8w"w+6| :"v{ftGWdpQr3QOale?bZҺ#1 0If7'-_ qsP6D[DIbNr}I.heU˖jc+,siSOM@-O}Ls5Fb&SC+ h#E䊢#_h]QWSBd*w ]|$$-g`,@;JyMD9tF gdo 8)oU1jx ҮtMykf|㩋pNOۥ8\aB,+~cmM᝺)F [H/9pV6B^ |zTpZ+m,KRa65ld0wfGLLC/iX]pDURCkU*9aw)\kjJuϷ)GQPLG ړvyVJ%,}?ʥzoSptw^|yں Wm"2},F{ʐrz1uǶ 4SaFSLqIPO`1,KQHHqSMU.PQW3 ygW JcʔSI>#5v̈́E=WmCzUr9o׋Niw#>6m_' UdccO$p\hWKM=6(j~X(5ks۳&E˹2/3qVyƢZk/&FJ<̀!"?_l;cݖt,Wa,sC^h<[ՑOLOi?) {LaÀX9s/d}:oȝD-c'H3X 4 U` Ǫ 9 ؑGkP@P! fCEG|Xך:ˋ'SBѷaqŢvArsɩc`_ ;ikΦM@Y1jA| +@q<{;AaᕶS2/*1NogKb\p::L]s`gT\8ϰg*±BcXz`4=LZӷJVWVI|6)~릍kHGXUL@9M?WׂUQX=125֙ zH?,5kYz-܅bV551wޕ7aV r|ULV~WY623bj5]{GT$BIURLR!1sn!GR9 / jQ DS#>ѶW3(WִXX%9uԎ{-\ܩ&Xc 'B|S-)tK{ %E`?tCZ}^,tetG?~SLI8)ilbsK> ӮUyj?JHXH x bҵUǚW$,\AHkpdNJWC+]Գ=()z{ go?0,i2>Bg| 2+ d<eZQG3yă . +Vrb#S]DޖrFi@ynjѥ?3 +UFڵLO\zvVs,ޥ08Û)-Gz_oqK 7<'0 ϼ|}Zx{q= yIR0<j!j?j1]sӘ\4Q.G/lG.0gY1\d(, T{{O~@1L+$uZ+8-d1 `uH݆>3El1Rc#ע[}v t"ԣQym+ YPG[z.(M1nB4=8Q JI/>T53ЦN}8Z2u,,ɋ*|}m{F7;N( ظN>yNMPtw]UƋ I3T W ,tܒ݆m{j}-h@ݨH@6Uߕ&B[κi:~o>u)!Li+ZjfϞvSz, ښ ?2RGgvAvJ},0,P k۴ƁBA_)IS+Xze [4 A }swt)KP{/ȁgr,ⴓ5jOn[.-IR8'e:~ȵNѺ*M:ـQ[rͻ2##Ff kQs5,֏Ԙ4jT=Uq >G_H`MEOv{VZ`)HH:XJkOY8ƁnM88[af/e)!}%*>~dEjٌzC>FVAQ&kz<ӆQ^lhȝqR$22E5 +|0$o3KOipyMT.>9tx@m v^D7b̾ж4n1uNK$)p\;֑ ƂlOxp}(^X'[dlCq=# Ob4HUˑС"XN-_26Rk/Dm'l[K⍤^cނ=~iLdƤ~RWr1M%Uy+٨5X$&6a`fZe8P _m&3#BٟMs70kj")\yyТk0-N٬~\웻BxuT=b_gMTD:,׉ZC`*kC+ob]T3҃k6MT>Sh1W5If3;l25p!]n9:o#"?*1%3~||1=G~F?/-¾C40ndbW+w9XIE=[,>1?*pV.J]{ni̅rHL>%CT A6rm2huKjQK6!tg.M+&眾}Y}iET,pʽ`d@c:2w ~yx=U;:^H(^FJaRf 7Ѝ)Zw]L $j(~ ?Of|vG!4#E}2vVkcsۯU+(f wB~ʎzEA>H.&ԇI{v{?@i=N{-ϖ>'{G,e5 ⦣P%~\c7q~P&[ĢeFzƊݛ*hGf_ 75N٩k.mMDQ$a[ᤉ)C]b YTgK$!VpK(zbEm`gI *c`B_p@?JBJ}I H`lTsrRlGAJpن79[8I*_*cSXгhҨnWS\324[4J/#Y;a2#_9`^t3bHA7%bE)Xq|`t-g7A0vNpVdݗ20g.WvSQ٘iHO :8] aY! `Ug8?弽lĚ0}?.9D,J|(12z ֞܀) yyhZA4w-&ͿgKyR b&G J|Z蓺\O[xi̹u?/@a99Cp2eg 1;+ LqzH+)>:Ǵݫ)$%/bf1tXĉYj+ীPbQ2i|_6jjŸV`U:B [w&-~RuC;y3rm"~fVy+ӻz^#iՓh˩B2ρǪD+ݗf?L%W CPʸ|@}=o3tz,o,`YSRH(\ E#zS &* */HϠ8fG3e91<_@*$bLIchb53![`p`F`rF43g_`$neU#\do\V3&or\ND ESr5.67[NMuo6\Ԓ`^[;,DJIl2pBr65/ @WoOZS8U )rJEkN?xujU n(9JSʷ~N"b!.w?KE7r2+EWmQ }FOo,p9(EsL01kA$tb[RēqP/_*ԩY'*+>Y8~cX#E_oUKs4":ߜ&b5orCɂ)P 4 GXN&HRߚC,aر)g_b}Q@+ Ԫ_Y9,eQ4|^ (HXO6O XJF!,VD1 9 .s.QiKh7pɑk-xhƩrrLA ba(1OQk7q4]}UHAlu&8JYP˹E5Cvy1)-:SE-\4NU"<\2 d_gM6@^5 v~ڛʄr?)97e!:GS3'n@mN)G<+o`k฽#TDO x 7λ⹣KW m y@G?֬t١*FiY@W8GPm.Yˠ] Y4j]/B_{5"(_Q{zd?2.2о%.|d/{uTY38u;,Wچ|kEA,W8AܺDFʹҕet]̴TrQSz)vùv0}!T뷳WʼM=ݓ16# 鳟`#r !j Yq/i^3M^](StLB0(Rղ+,:XV"N*w1xv f~<ّ-+ˤȚ iّ_^__JHf:ȔzX |*\';'&xMKzC/垍 e Dо:wȋ/ Cy2d}{ʛppf*!ޟVr77+>G m|HYRU"I(묝vMP4:zBpg}|٧md Hᯩa4{%)Wԕg3'{=J&̜f qb7qR"qȁf#Cs̸/彮H3ɵFqx*-MR|%ߚnHCo@1%% _ ƒjc3z0q]2x83iO}oYY^q@5{bHD  'XUJv@qL4=:s칍j_IKҰb?x<1EAf5F1~uzr4 @Lj9k(m1?™5T#B'G(5byp(cY7Mj/NWўRpzD\ԑK(|ܟrI˧U[Lkt#t[͢.(~TJ;iAx #\2|"fKZ~+=0!>x4hio<85NEPeQs&@C|vq t\S]aah(iE.`}1供$402ڞ[qVAv~6wէzb:%Z; xYY /+!B1R\fTblbj0łRʚ2ࡠ"w)'*|:$rx$J̞/Ja%\Vr/e8l쮝[_-#pxD(UAm)]ĩ~cLJ3{pߜڥ 4>XTޞSgj-Pj 1+ ;hPCCQ,' й 9R+cUXXԖƸʢ1Ie\kSi߬ψ( -\n1&ONqܧ'Qn(#EaM7{eH3:ٷ42Ԡb/< T1ՅacCDcʇI*~\I_'4~6i}L2j,湓^ Z=Q{.;)DO ʧ-Jcjs'(u]gN9h?충ӳ!Ƞ3BNs{ Wk9 GmAʨ0u`4@k>Jn|,s{8xǽVOIv\dv'D9A64m"mL7:Q2LĐ^2[ix=ʰ1>S_|JПXv U ҏ^$lVKu˗vB#,^T%z֨FR2'P0K_!h71k-zr59)J5'd|\Yn:g -!?M+r!D^jOO ?r/cBjnП#c7 4kJPfo<7b~BHbJMӪlIgkDW.GcbU mdazL2Hٲh8 F ]ubdS8=ӟggl[5tCS&Bg\~t\ƽ1*|DyI*,fir= N!|UOŵx"R%5&T5ʪMθgPA-a0)(g'BB 67MN_C.ϻPWm{qr,jRkm>.+B^+AFg!IϦUjëCJ_a)$A'xۗ :MY+ =V3^&?QѨ#DKWO*q)f@<'t3 e|HkU%RD*鱕9|yWc#[GpejDϽ]TsГLǯR2(x: GR {rR/8oKJft8=l|`uW6yvZ~Gy7Ka[kU` iTe$:OX$ Tc*CctCD ^BqHs ȓ6ҫEU QJTqI>@Tτ,іʲE8լ4z*tpKd$9r w*sYwS`0w*hԼLVIɾ]C|ew˙^H FMI[/g%{1 /N6"/F9xXǰ_4:&u@\s yr/N9 ;OBC Z/Ƞw쎗x+ XW2BΘ.cU$_!>]Mad 3LtQLx\Mʨ~dk#H7M0nj_U7W>&a4qK.N>=gqy g {w:{ìgו]~25UCP$ H$rvشY`N dMEAfyː} bPL8߼2rvne2J$)lC&#,Z衤~VdőT\6ƸQrZu?^hT.*8zN Ml&]n>6XXd[yx,b$w,bS숚O=:%!05Tf(k5%B2P_:@\=!}Kb!Me#bF|N' [榶ݹ-:Y-< ETom' lQB>Y#ۃ3ʢ_L蘦_!B,L9Ёh1 :ëyL;'(}>dj48W2bHgA3#989D/AR'ǰIFA9Vt>0!?;lYIu*:oXv|cSyhFWZpX1X_E'ᑦ?m5 en1K&rQ|iJlqJEcewid ;>E.yyh6) 8vK^~W*.O}=|L ⾑͚oQJ%wxy4ك XSy*e,ǔg4@'! Rr!Q/p郻n-3*R"TTj+ G4IӮ%t η[{= tP$c0@ AqTi":LE`ںTQ!Oה}:Srm%7b{^'Yʵx6A~z}| RSd~ҐFQUp)3a/3e!ecΎݱze0YzmD9f`.+jLٹ0Ww w~*n 2|YL=_ūMֺhV^ή O%Zu3%%j'D'i-,k{C/琋LLYO{yBQTW="cӀڅ,㈚>9WȊVˎ'd9"Oݛd"5W}Sܶ= mEELC"ދ*Ey+Sb eO;#ߕ2JtGWJ!JY}lfu{h >;:r*j PYg 8J*[>}̎͢+R&Jw4c4^A/ G\%S՟;3iI@ :I\b͟:7 Rv}B(?R^qUZQ!/}[cZ}vj$a~ 3H5q>^ӾSZ3]V؞N V y9;Tnfe +s3~V߽|91&/qty$&% Q,9( ƆnF}vs,8#? PA;v. $؎kG~[8!mĻ =mŗ^9G㫮iN6F0;#jP H nCoAe۽xаhytXG Uy?YW{G\:dL77s'&׳=!QvgAɹہm2%\?rW IwFM"[&ح [H{ǁk,{/FL,t-f (4C)w~>n2ڲ Nk'BS{]H&6"ͺ%l_I?e@?ϝמN}|zlTZآ^[ac찠|R32{h/U]떏k`U}!mAv,ʪ5g/{nZ.o[X>Z{tY_sM2$O^d<Hy8ոH?VGg:@d"[b58ڊ7]6ЮiyT9ćK=4 w^ iG!sP4sq;SsԧtVrM3D9K-A.AUjg1KQqra:u;LھLM <ԯ}~;`TuKWޥ ~xQ&ߋ8_!Cf5(I[/?߹Gz,},PJ^ tp{ҏt,ꜮnSB(ҁTw?qPw V܏Mq΁NkB᠀r(D?~xL_JՍ7Lo4RS90,AG8{+u7Lbngi}lUMV(š!w3le?*LLޠӳX;HggnCflW+tH#O%SxݐLՙF@Ѷ+{gs6hS_|=f:;SE $7|ɍm}fq(x)-Ag9[Ye2@  8ʄq+ Zŭ4Pyh+qC/B#gӈIj l?$26"VH-f[ǐ%QfwXߕ`X;}o>|w"cޯG-F3XU9O|Ο ̌3${C笚c1[;Fыwn9cFBfyE%FMW ,`ޞI0j:W L@Rf/}8v%²{FRQH xΏYybc10ìH?L jg)n`1mGWoVV`8~^>ϴ,+J @P?3JB؆n?qǻ]ф7@N-b8yI˹m&NGfY$6" ٖkZtIN+vps U34'(U6b"j3K$W1f?= b!uTvi|y~A"Flv `Rx/KHu;6QB.`ORO82 TV7w: 3o.3H5WJ?L"O{Zƭl'_]vE^8^0ol>Iq U hcʖx$L绤yj`4@9E0Q2JwףpƼݱ=q(N1W gx I@m 6Ov;aOwdp-V}4#Dc)yt{y(db8w/,_$*2m: ,0hKYYoAC2tWH"ƹHh !% @.9[IhXd1>X-f̸OeM-k,sb.GuKj{+BJ(|{q{D;VrZ'\ɟ#c׃ ߏE:zU:b= I6H }x]|II"+3wh\'\qg[lO"Ù}n6~jxʑ,ܬ*?y+=O7 feӷ\, XS[,T-: $F7 9j_ӝs oZ-CY:$E]c7EjBڼ)!I۳TR]&k˰QXn z,7рEڅ[Uˌgq / ylW|\g%a@ا;<J(B9`i:bfq8PF Os5[mxVPpL"ܑa=>ϨaLl%\R Wľ7 #ЙގUN5Ho=feቦ|ƃƕCib2 涨aC\kUd vK;zAuKӖS&$"v c:-@|aыH oG`yl*݋ ljĂ/N JW{qes&13z8&O6064fER>˗0N QLgPDlda`ؖ:JL#(/Fٷi'c33Qr>H8kp$,\gXf HmUr)6F84J岎5@h#.N,MUFYNRs45]ޤ%5*RX<eB>=.XqY{Zb׋.=;5#5IlV[0wF̿g h~?_ً:^)3gy!@k @sɒ}{uˤf u/А֬$G\rBb)J7AFEDT ̸Hm${dMEFW|zd:+BgFpEk+ipQz5siO|tTv>դtsQ(.$NR_=qc\x~ᄍd}&[-r{C.uwST:!z#;SױqcԘiPaJQPi_|AHu_pt&rTrZ<˯S{XlګݰX%0V6Yl!jbU[ HuhKzS1^0f9[ фfɜY9D^'&},$1:=΅ [{z;[D1UzMv$&7=ܮO:8V$MFpx+TH^:Bb}M˷/+D10H觖lfV߿Uu52M+Qj[H`4Ejd_G$\ Y_:7nѮ;F`m;d#I74zoT~ {bE?`2~СÞ KܖNoD;T2U IR*h_1ѧjg<:oo\/@leÅ]8aoP{{nO莶RázE(qvYH̽/b<K6㮲똅d gB_hI(^TIQps,cE)QhDtPUZcqT)~rg7[N'ح8d3% ]zBs٪T,h!{rcډݑ]BlB/\%<>a&=X`+ TlJ"iG2|d@jY@FĞgWd|u;<:+boT@wS#tltmj U2+HSti*䪋 @L}Z㣯Z #B$X a"䣦X틕NjMvOK (w%_IQnzc|7t]o'LAO/}qWvݴɷz 8^/!ELŶ_/4Tz4K'z GM(z.a82MS5ZGʒ79هi~+눬wP_Ij1\z\SJζzy\N>47ʉ͂p9,i pޗFnyTg\Q#D:yf?pֹnf0 ZPQ3m="I0E>lb/E pm33Ն]U^Q{vb= O?w7K"f_k %xI֪sݘ'-*^Z0Rqgg t> -121#CG1"|u\"K(Kߌ/FYTĭ&T'1+xQ}/!IՉlXS_vu<|[q:]*NW^p5JoPpf.[Uo:7cv4ɼ'Eh ;1%{-ƃgyZ : }EWx$p@7\55NyCë׋]e -ۏ]a-&}T*}Ϋ/aXĥ1V!MXYvc ÷W)KߞE(6 Z-Ltj{퇢0kT .tq~l.9/"qTgtjrz3nf\="'Lr.a ZP?! Zz4"<=}sbSBZww^^M3F1)qAVA=GWAc'!y؈"CҦ0.>tLhLUp} pdߘ#P$# iux֍ae~Fa|-Q0V3w$xtdvMרǡG2-J` 1 ޘ, LoԭY?Qf|`e8nV߷o ́)/ildǺOxCGF8Ly0ljn-=\<U3s"..˛bH?qOmnZ>dX!FVvFjGe\oz;#QKTE;$le'$L/T)~\>RN3~2M5nZێɱ-+(Z#7R92fx Vњa|$s " } ϒL)Z?OKg*\7(,$se9'Ö~pF?\?UȀ9 @\P&sEq;%0([vJg@bK3S|/'tO'=qf~\e/†FCPEIs2jp8.PoF4ZN K@_;* v]ޜtaq/)ܝ}J1[.%`<{n)A'.vy65eBA+C诊ϔ蜣aŦmҪ6 =zO6?)bZ7BT;+{FF݈g [[ّ%Vh81ڻ o^N/`GFldXeUVs΋܌?jpo2<2 ` X8@G(!قݹ+S~1 bdS k#XW*cn~ ܞ- 5{ߗ,I^ࣝZ Yš`#XtZ63Q[31eB)?T.~|mBIF{\ |? Z3D Y[we۲/~tg?}f,pnW5!gRKL\XH %mnE֒Aɔ~`sq AQEJKOz僩|q}}jgh`y;󙦁vE+j=3Bt%u `DA Spc}hVѺK0`RBk[5pI 7D!Gd  MEZu~ns&2L+ j GcTCpy''Cx8BhUeխCe!,2Gn>(|SKt嫗䌆,ٶ$KhoֳoH ַf%؜S'.ad<_7pp EoFCrs`8,^y\] ns^-*{8|NE HR)0d Z|&-PJ(IP:(DGДZ/ y SrD7~GvjcOI.th-pA ͅ8 oJ/h 1hmmdSaa3&?@6 U=zѤW;(νa;͙s)kۼܫ=2D'KV)M^2Litu̐Q܀(=FPF7DNHAp%ʛ>C8`}TMMyD$n8bfȆNË+ub}nNj*w'1mkb cr1h){J Q*,{svԨ#v:Ɯ\5 5c qB&I{n-ln[kowsCe އ,<{徎R5g (kե_qK+LHD0&YMoi~_aT_iǗ v&++J3z9<ܵSv<)|#AZBU^ Q dG \Tj>T ؎Zrttoyi %,/Rv~ )Im׾8~^ŷQ%EC-"D:XJiC H%]2p4tu SE-Dcjcs/HOtD ̟ \$`| ]'uKXu-fjx!"\tmiϸQˡ `Bf'*xGv *8\4 5-ʷ}PLk Hbȣn1G@[::\k^08-AZRSL2YZ|["p {*C fMo5E Ϥ+حY>!XP!wh<~9`Vci*3ԅoU Agq3r5lsb #FnīM'$PЍ g-KPdUY v"t;7QLcRdB*Il!A,7+O3R]{-@ʀoT&XXCW$ːk-~=AjM~P(_\y B`s$ .-  k)ĺA2m$qoڼ:?Cms/?lC%L pG0k[WD`vo;rrK|:;6 `SC~~rhy&CK2O:p;■ՊƉ  W6 e` A[y}_L7Vsf"8alRWc=aQ'E|mFB/HxMw5(FR"=l\m\ Em^xvA0TGMiU#&6Oxbg(3Gʪ t]BbOUWɰ;)${_#Ȇyʽ7?eJˋ/󯩠[H򌓻I @*q(TVko%F9w2hFߑ8kݺǖc;6B\Ex2zatc9]1/`H>Ev:`:|-%Q!\xNupblxGEAmK$}.lJ$۔+35U0u0ȡO1vEۀ#mcb"x"e<5uk)g=ya^=sLje+U0F/ /SM*]GŮ Z0vn9ojy0WNDjaz𔝂>o&V#_:7`i \]_Ldg V3,=ۺc|H)]KLTTQ]VP=̙:o3^ b0`:wY'ٲ9ɺD.'V.e|H*~Lq:+8ݓc 1ɺEEUFц|$qt_6[\Ŗ{9׺(ni>#hٟO ?=w3m fIc$GsiYִ[`sIw}oX ޟVIhFTwOo Ԁs͖<4KiS 9,sЋ#x}Xn-\ YW'}T~)S u{W6SÂ=a3:z!fw]E@\=ߠW@`ן-HO)9-QGB LEdEDr*ip,?AiǯD> bD1i TV)x}D$־b >;npLIHbfɷQ45c(Q{^XØXY̤-)8)EM70AQP>^nxS+\M[#;k٠)JIV>8;:877;;KXqxP{|w*%sdF }}[2l3|x&ah. ( <ˁdtWO7/< sY< R"@eӢ7K8!C$@I6f3!e826r=BYh^3n(AGFt<(i]9wJ Cfq,_Tb_1Z_XT#'QjeƁ* EQSeA*? /O 39A;m!M[nxZvW]CAd(KjM(F H T1r 쀕-chn7oķa?NT(/@6|2gut4頕%/oVE#2FQvը7JkɺMMa'63w9%x(΍al !Z.L[n]qLN(5)lA㢅^^1j7l&춝,.lofGqowҽ js:rLQ#ExcjJBZ,F/#o[ ', gYl<_H^]ZG 6|SiD]&֋2u6$+z eo P;ɩ['x2׫.;cusWOv eMO~aHSNt{r~݈46t.Ml$`$]Ӵ2Ey/|M"C6,n jɚNc;b #G^>yHbݨDO`~R7[&N 5Q$SacH|0۲#%Ck[q(tIP)@p#cb>t=`ŀ8#]6)g j|.j[kݷcH:X#Ѳ_ P$c=$_6HkNm }l q![o>Ѹу 9&šU5{ :a-)smE- +,j9e+U^;ha"xse }t{'=oN,r |5Œź3&#()jO*Y=g|/3XI%:`nS֎A=]F(8-fLD%|p!7uvꮻ6)2cϥD+cLNkHrBa|Ԡ=`'KA+ q6d 9^lވ=5?ztBۊzlHT;1DOԣcAG/J>H+3u{Ra\' =[wMbk"ִՏϚc\arU";[S!ڀ s2(MKJs'#}1 K]/jPf-hS{ЄVOӖTS0;Cq+. meKXFLU(5n=8`){[FZqkv@E8!RilAb5 db&MhGK-8Ƣi~hl P$m0,ZF Id<]C6Lu  ۘG;1 tdTզlaknK7FgI^]٭>z0535uq2^vR-Yg? dUlO[ל+QGם ǶH :Dt%c!yB.lr#?ςpkSMMOd` A_v }L4|AjSgR$ͳ4~>P ޥ(A|h w#eU!+ch|zQWSpd٩(I뉬Mo5#9T#p$7ûuרb*,cF!{ :`YoSi'NfpGc'>,,o[4Ax"UR*Ҳ9˗>2ަ]~ꜞn_%n} m6;Ȍֶ >KB0oey aoY.Οz%q8IKrhM9z?sFQL7,C$$bwşaИFF{YhMU.-Fti! ww2X¤[~Nl8-Uъl8g `B7h$VoY BǨTثpqm_ rN7I}ps\K0Ĭ/`s;I !{"CwxTO;D.brߙyO5t*"x'u[Ř\F.Xհ#"szvY8)D_"icL6/fpNСDo? GĩsHEiiDAa'Q >{1Yix ԧPYfEssRN6Aa]u9S7>]LPe6g'U'3rcotf8RL n/R-_pqYN;)մ!TҎbgR@$O%N}8D;QmD@$M2DU~|$.k0{-C޳.7Fr}X @@T1)FFdNx.!pp*"!&brշX{ R>!Vږ*S&WFW7 ?OX,#!436tTqRW_HgNr&v?D?֑C 2S]Vq@I@-zQtn[nG jpTs}Xo?&# =(WHӝl86C$P*7p!fORVȋ .CsCց3,:.Tľg9_V⮽5ݶb(ۅ-]0Jh|jh(]{^rrKǗ[B28D@i҃@9˱Է/ۖh?8HyDV^Cw클]I{Dą[}Ao*jԭjdd bZn%`OV ĦB# ~@cZ(ʊc@!Ly] # "A۱V@!r :f剚X8+Ua-w[`cc3'Q }|z$;& kJLVqZysL4ނwتѩCZu!BrCI{ZOMM5 bɵy>(TAjG"7>"׆L/+J>Z8AFen=MM*ҧBW)Flq@w@(*Ï]5ŁJ-DUWLz`ƍ|%FJuy* ^J.X&6˪?e6JZiC1? uN_Uwb;%A}W{nBqFO_?S리 B" A꘍zzo'[N^EyONJrvGnhne²GdR@+XKBu$Ftqxٌf  xt-R4+xޚՇ ZM \"JWUã Ur vDq&g]|wEK܍Ezx^'NiO 5}]ߴ,^9Zf團;@oày׽_{ cpR7CPC#+ B3ɦtmb2{4ǞﵡE;k.O"blP#?U'0H._MJs=:G=?DzP˂8`U!IcUZT?t[9k[r dg&68biO9q ,H2"g qQmNNhr8(zmEI=8^niE ˜27!ENp_ dAP(7 QɀX3L4]M~)xqA=8 J݁`O-alh ~@Է.]o0JW(T$uŅ˄+vT{>h/,a֕Hf^Tksĕf{A%Pb6è9x7 -GL%SN3vIxW&S4k1͊po[kZZ36JťXK5NSZFK*YJnoNG (A67W4 Y Ķ(㧱U5fkAҿgݺQzH4pe|yP5M.Hmy)Y`4;~?xM|&G$rk k}j}*ጓ ,(ݩ >y~Ȧn~̲f5`0`1 >,eXhOZtw'O6CDSPcEiVIAV{OESr8 f8% 7" CAt=‰y~A)t'ƨéc8~V&т;0ȳG#|yGۉi8刽}ޫN7N](WrwJF)aTFUcEj};e9`@ N&:zQwB ^/%p]9{ov;1bVu+Rw})N5'%z"ҝɋ>˙' .lB;  }&.uw. M96 g*ᄋtӰXC_Yp>6rH D#N77H2ԓ=2