frr-devel-8.4-150500.4.23.1<>,fap.p9|XeCcgi^[b-B|#\kwܲ=//a%e+,RSOȿWנ=)׍'a֨Gq]Hf0u 5f }à;8Q =&!NЏ[38QщTR8:mL{)dP'(-zdl#Ktyh;`|s4`~xT<`+#%UIƮz o@ڌ3S{6}_>;?d   J5 Kk  D  +r ,/1447T7p 7 8i (888(99L(:;(FsGsHvIxpXyYy\y4]{^b?cdfekfnlpuvzDTX^Cfrr-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.h03-ch2cFSSUSE 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.orglinuxx86_64J#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큤fapcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapcc9dfapcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfaocc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dcc9dfapfapfapfapfapfapfapfapc848bb4c5b0e9a0b5c58567c6a854b8c6ff228abfbc15c0078fbcdc0e7bb62509f0a914b91ff407414dd17949089466d8fbae3d3c9a22857bcfe13e144d8c36ddad740e3a8173858fab26a8fd675ff714769b01c12996145e3a80d2aaaa7b7886cbdc34a530795eee4953e9bfb8abdb4f07b152ab99979f24534ff46edcf58927d8c50a0ab8780ff9ab05db804db17a79b184a0f8bf15b4d911d11f3fc7fa361ae776f96bf453b6580120c8aa4a6b5f012e22e2dda5b848356eecfc4dfa40b4d854959b803f10e1983580565e542bbadb5117eb14e918948d44a40c9c698e186a459373df22806f56d43236eaf3ed7f12d9b17b899f801482a8df8062f80317d44e03cb13875f38ed2475cf5776f7dc700e7259b3ba9dc07ddc0a36c1c594e55915503329a36731f0221b01b5253c9f699661c2f656d38298f2dc9aa87a08c5822fd713c8580ae843938c5d34e2e8ebad208301e96d1a5cadffad309985b56cbeb34f62643a9d95ea43d6008b680defd912cb361f6f97c1db3d8f9245e4e71bade9f7d7fa468f6d97414d53d87e6cfb77540dc5d03f4a3a42f173d5493ab1f8a793e04f42d3655aca2f7a2c2a7eb93dc7e1a6a638bd252c99adc6b6b9fb1431134b3307eba542164932283ef8d9f703e7e4a968acaace1a0955d75dfa11680947feec3308492fa73d3fcdf9b0865c0774572fdb287c4427595576afa9943b548ef38f1bd15dfb2861fea92b15216136a52d2faaf17d46cbc0fede33e172d9006c8bc7b7aa372b78dc6ca2f3ef36a97e4760164c50161f7ca8e661a6ba4f5dffe843edb796d5604661ff60a9f6220e5ccd5815d66d83db2eddc9ecf336acd5c46c97a2bf260d434f66f976e1e63701d3a70d44d072726c7e0afb629ab2214b25746c09d83e003e34b130a64e67c6c574c25b482de2d3871292a859904cda0112e0f140e94ac452a91f1dc2646bfa2f68e8ec709b57258586df31a25e29fc2cc5f1f5b13376a95d6990c5a4434748b21d4670d19e6172e3bd7e39db76be4ccf25b70dc6d215d8be9159cd0b5715ca6dbda914594e6a977339c887f776b81a18970f8ef8a5c8d69d7bb8a72bdf4965fdd3eced9aef14d30a3d5c4375bb5fa6441f45826dac68bc7ae6e1f0189d3381f2b511a4c9098e1c2c3b09e78ba5577da65214dd4e419592179964afe78f4b5f3b515b555e7c9ad0f7292551ac3b4fdd7dc51e80cded0bb614045e89b6b7596f68dc7eb7757cd71300a97ce618a92ff04ae1188335df2036b65910c540b26185cb474f8f968dd52668120e979646514f15ccf6cfe0c7ef69af23292e2c95e24add2bda99f7522dfa0716cb5fb704d0ae63714db1ff787e1e6b448fdd0ed463496842c0a5b19181308cdda3bbcb78a79f6737e3da33dfaacde641224913f4adc7830ae50943d88b1304008b1808d920e9e921cb1b3482512704b64a152b8f87b4a1eea26c35ae1051c337f254a0d26db7e7a0d2e934cfc8d027e688d297c5205133e73c414c41a222809c4ecaa3cdcb21c632e03f8a75eea5319e6fc37bd4da9d44af3f582cfa11bcf8da03268acaf131de23496029e33d28ed2de8d942a47ba895f34c5aebd7838889d1544fb834ffadc5e820de3e011a1dde5709d356b3e4b268786f76ef31be1d522fd662c57d8a1577a04208b29931ff32e209aed6825b08ed615eaf14d7d30ef6064548e3e7e2d560569176c39880e4e12d23864d3d224bc4c21ae0cbc0062bdaa9ac230b95e7716e1647347324517940a6a98623e2046b6b29eff5f713ceb3696bd2062946f1569524aeb94e79185394d0d12f0e2b79bc69dc6e6419fc4bd0ef0c343513e61af323b564903d053f0f4e73fe174084ebd506002e3552281fdcd0a418b30c94e3db37f1af63dc1efe340b7bebfa3ac656fb64a694b127d4de98c72bc917dd7848267e98d73beccb3a25afbf321e198dc060ee0390cd87095d3e7e76bddd0794a72e23237ba7c148003b71d9ae4fc24fa53b364e3e6070c88a81cfcde3aa792597534b2852c28220a29810ad2131d0fa560349e2c7e2a4faf1f6a0b60cf2a6df84dea0125e523bc7cb5531ccedd54072c5e00c70e1f75b0cc6625879b44073d730d69882357f8cebff26a5e2eee0faa8dc19fc5199db19fff5988fca2e5ebdb05c0e2d707fedac81f489da251b6e76e6082249d4f873fcdd205f7873ce2297d4338fee6adec65581fa96bb5ab56736a97c510b5be6432abcbeee77174467565ad2cf0111de28934c5140e0a0ce88c8198a727b23c42d4e623903352d48292c56915d489aab60b1297f775d5164e08fa867d86fafc395d8ecdf8d4da6ae2d79c032b1779e7caff905ccab8cc47afb63f25a53a84e28ed1efd64e61994a5673b5d7222e1583c919b82c1d8602074b1610b17c64dcb1e42297291c78302841d89e68952cf2245c2ba0bb0249dd41d091a7175df3e2b14cee529a1c309593d28d258b68f3682071ad2f26016044a3b08dfd8b01d777ca5f738a1474362baa4c0cea0f5bbedb627f1bd1704a818ef5e78105f6b392efa2da33b617c38053e123009e0c58bf238b5c17c692ad3a20bb17a7bc3c0a68357ca1068c7456b7045994f9c02d68824357d5d676ae410dea58545d642a86be93271112bf93ea178648557be7909e12cc8eb28c04fd2824d7dc0c65e980a71d37d97355500ae1adab247599ccb77b2bca70d4fc0c380cc4fbb3293d2d08284b65a8ca981d8658949028b155e7d56da3ecc1da63eceb5a65a3ac287d9aee61f612c098d498ab1f691a73d3778f6f624fd9a45701424533712d06a2215dffb086690238df91f9a968f4ac100c264d8752fe8c1d6fa0d3fa3f983d4b79d7723e7a45382f61e432b323c2cfda66206f880b358fcb628c83317f9392e86313d7e9babe1dacd568a1065157c2cc704c96f17ed7267eb1e5bfa7d5ac74bafddaf59f165de12a9bf057e0e1f0d4a9740bcd40f2e80b923c982f320422c3c7656826d509761f3552c9a2f8bff00b07399239d7665436bbc9c134c9bb82702ba65bac94612a95b176c9714424bcb209df8e1bfbaf640d08b2cebb1f6dc48caeae0d83f7f1bb3d10a07f81bbb00062da077f5e1e4e372dfb5bf7a342f81531f7397615f7c402a134ed23f01afaccfc6b0b597ccc273d736a4a7aac62f554ab6d5cbd93557cdb87edb20ee092089707e588412c13963346fb5b4d394eb11ca1f3afe14263ae84854e305501d94302d7776b3889e5d29ca50d0c8a75c900885619fe7c75d77b7cf61a33946f3556d6055e2ff0b49f7fdb4964160510cd207e717915e531605d5fd8efcce06eda9ab658ae1daa915e55290983cbeec1eff6b817385fb3aa14a1ee01cee25dfe0a4b75a73977b10607bbaa7d2ec7ce6a6dc1382188663aa0a26e924db53ee41df1f79cb1a8749239c81bf14318bd7b4645c791007bfc799a7d55543ebf41a6c0fad6293c1db7833680e8474e94edb86bd299bfdc30cc384d1e9a14c5eb0b17ebf784190f187c89ae444bb25d5e7c3319d4bb471ba56757b61a1ec9b191a321420de167ebb8661427ef4d1228b132c9c91c0cd037aac140fe2a73cae346866f30e2af3fde3a782ef3b7a0f4878479722f06e44f07985c5850882a1f37520aa143affad3930a4d92884abca8201d191c7fef999e6f8948d45bc9452b0135dfa8d2c70bda1ed53ef003e9ce2f242a5e46a90a7ba15d0b3ed042c8e0394539f5ef24012f48c2e4f586ab62f270f14cd1290d5368662b690d6821ee0677a830948c4d467a760da469358e63e574389556699c28a616f1e13a482fd55e41395f9c9068e752b57f41d12327f6a53dee2c93a6a6abcc3a83b7de56f8fccefa8f2ea70a19d426854ebf539ae0c7dabd3c101021dd90602ac7130789b4e5d56a63bf68f11c54d6543c99f94f783de2f84fb9dcacc3f10c0b047fae94171f117bf44470749b3308c930216cef78c197b352fda548ef8f72ecbff31f7bec9a825e5dff9f9d1d98263a638d97a055cc16a88f3a83fa984356dc0c5500e6e1b9e1b705455cbd241b596689dc1f998c6513b1994b26fe6db5034b9cf750f06094b0797716406bf02b898e807e3815cfc1e3e8e7a885284081a0f3b8ca61f8bd4cb8b4657d5233e2fa6a75aa581206a0ad288df15b61fa7852a8433240f28750c22d187067eb36c7c83de65bef2c49073952e13cfcba78e89662c17966a337732b46e5876f1ae17155bd8fcc29ec184b0db6d186ce05a0f3f1cbdc49f628e79354b08ad98df6bdb6cb2b6d6feb517180f12a7034d4605b4266a9b7c6506eb6b934ee9ce94930de822505825b950612e1bdc90c9897553dff667c8851ba4b3442521f42883746c140a3d7d5903a0b27d3d8fc74a1de2e63638072466d896a0fac908c9254680640cb5c1ef612810ba60c6b685c2668a27bd9cd3d1146dd978dfa2e39cca09f8448645884a335f0b533a2155807d640274fd781a69b37b311783c6927bfeead5856804c3a96f0e6cb881f119e75118d2b4e1ceb9ca26c64ea508395f0b18d0e8c5e6e7f63c7522649da629f3049d8960c45e01c2d7125203a97ec993f932b67b971b0d4f188604364e4f3c97b65f3c48c27587fd6dc18c4e2f266a296fe502735e931b5993226e1cd0fafdc8c7343312e5c71fd2de032f9931ba6f22230362d9bb0638abc8dc5a7bf09086e0fa14ab4de07fc8ad5f9f0f875f817f0738bd966eb0df8d563337b4156f81ccdecfe20934e2e510ca443a8ee22cab15cfab986cee3a6c0e57698a1ed1b7840e744c93cd56af0c78a83328092803d2ce2f151a7e9766df1588f5b5b71ece5a2c306ae1914e013b1af70fb515805bdd40967d2dfe5bbefebb8d53c65e60d16940df1aa7c0b08064e99bd85d8203e57e28b5aa4592c26472d84f4ecedb4c51df248a2653ad6c969c84dc88d92e71c38757a8757853438e4cf378e6a926077f21ce13038beb882aa0653e686d5d11ddafc1a59981dc49ee52fce188e1e1d6d3e85ade5274c6975675f6946fb95038028320c0e9e76c8cf65d3ba88ac37e0933435e24bc2ce8c01cc1ba9aff55a6d455f3edafd887858612aae5349c3adf5e07630d2009cf92ebebfbb611c24d4c1ae625ea94de43b81edf9f55b58782491e7b225d105e70c5745a0cef526f11b6b822102bcaa2070648a070c5845b8e6368d3622d1c854f27d9289fa273e84e1f1f27b5443ed84df59dbdfd5a2dada8d3ef31e26c4aeed2f65688a45a01ce9d35371e14318579afdbf214d825e2777f23c57ac4bc88ba88af1c2c60a5f0c9b403bdf3ca492794550dc20e7c6cb18ed72fb3637230a3199863f58c49f7618eff5395eab6699b5c6cdd7b43caf8d86c15c721e797dcad52159bb78e8948e9a47f36d55d662ad527ed429c1a2f971c6350a6696f07caf589124195d548b21b45af360f9e6291c5e8d3dffd567ca0ac1dda91a6b20c2ac8c49c5a54ccc7599c44efbdd0510308f8a70fdf8f04df8506755630c86b2b7216946b0f80ea5dea5e10ab95fd64c2307c4e57b0c14daef75e259ee842b135fb4f143f0775461c3dd8f700e2b816b12bd7dd1e83db00b1d74e8f0dcaf70ad1f566cb526f20d4a8b804f6da3366d2813e638d41bd48a8a3260d956b398cc8a2fb2c5bf23dacea5c300b6c13f108ad461aaac0473e4918e014a4a7e2d0605ce39360fcab3a8805177ccf1ab9a7a127cde118d77e720eb2c1d06a04d131fcafee260a9584147b944377ad3379a703e89a6086acecd650404502f6c4319a31e1dcc8b26eefae3251c81beec3c5947fb2df8bc48b225ac66686508112aedba816abde8d189a3381d7a141660d1a5837e5f48dbbefe1dcccbbc73005b91daa030b11d8e4c367f724a5ea0d72644cc994a6e7a40ee5e7254e6c4ff55fad7ad5023a396c47ba5228bfed601462cc2e7b69f3e09699d6eb384ea4ea3452092a41418bab15794fdba383a33c5ea1d828abb2e3ea5569f200e6fd186d9dbab58a9076e65702ca3172088e9776d4a87bbbc83d1f28373c62e8a8eb1eae1de0a13f916dd4fc0456cab5b59c03e0f21b9afa87a82e69b890518d3c546b139063565e97110baf3ed8c0f415e7f51b387f21a06b6b8e11bdd6623647ff01ccef5ec91c6824b4329e5f94722dd22ac9a5bd463d14a67ba99095e2df758c5fdfb72894986ec949188a61e1588libfrr.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(x86-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.2h03-ch2c 1717661742  !"#$%&'()*+,-./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_Updatedrpmxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long lines-qlф"5utf-8c30d62cb5e0f12e7ff541565b549a0fd9c6909bb512de64b03061f6882c57491?P7zXZ !t/]"k%U8uy:?$ g,02]KR,O[DjZG!tKkoEKJmUl + j|~l+A!=-1,=DUNǒÈ=0ΫRn:쨑 ZWN,~`tbG"χC";*Ł6[fbJ>)"+Kq9╨ 0.b۶b|#i0!L}9T nCt1i0 =dh}8SWrQEN:d lW6#kk\[χm2L1R [1NT%{Èt"g{hAO;t)3wU)/Q}\lAjs7|_K m8ɻt_t2lavZ cN'mikbj=Rg97(~0L*Kx W~\3'Xl埌k衳ʓC,5g_}3&Hcy{Z$QFX3@Cd`gSOv505G l"(^᫅t^2?pRc- khAmFhƝp6Ļ=vxzcpC@|Meҩ CUUu @d2u~\RccQ3C(.c$M*N%.# F[?N A&dCR櫒q%1f69|P9'{a"&ssB!]ۑ3zp݇AJbI#Z3;၁2~joEH QM)\꫕w#e1uCa)s-;9Ib0`k'9j~`2'iCPVt P+*<}BbZf$C5p7|jq0}_b(6z4?|VQȘOGݛpgof rɶzWr.3 XF=e<f+%L|H8pS{Vt :Ʀ6~v& P>ot΁"3o3C3 SBMX=_/W'X9ϴ%8Rc5?\u-CƼ%|RӾBJ6n4צ&|# y*UfJ;4쏂W-%8WӍPd_' }bbD$>05thy!!wLYW-S;9 bD'fUtgO VgndHX#o͕\WӱW)Iw'&muŞ5Eb; #2!/kȃ7C(x<= t%[@/픰I'_T`o΋z@A:c0'.z%nSS: m*"@c;`\g N8^f2zY7X[˦ lǔ-xF<lCsΎ;1] /%]Xa-TlG\*@ȡӷAJNo$CD)s'C冁ĽRELΠd MroVg)GPo”h5y* Du/.s=R@ _t(ʗEp0(N?W]{x!xC;084uK5_EDC9@[W~T99c7j"u~O椈>vK]0}gd)2mFepéGD7o^]+ )3)2BSmF^vtMwkO'arº9UI`Nk| OP u(#Gm$ O#?|m-IFɦJYQ?rM Bk.sڱ}gՀ[S%GA+|An^^0]q\@9, O ]t$fHVד MJ7rx RtfAL >ɪ2I)Qvd/U|u6޶І~8P T6Qvޜaf{(9'>15:V25Y:m㔊ijX^2(3~fnͽT0hIO{͖JX"\s=Ѡʬ ^'赙P "OHW3`U'򬛓;ZݞW{ «D66ւC@ w%/ƀ^Kb@C XLyf7E-7aZ4cPl"t@/m; ztSFdU4b64!TD(֟쨩hy z%@-'JzoZ)9bVm,5S,MZijxҽɾLxaM؎ 㺬9`oqB%O|=ȑrV%=0|y7(YkY XPI,zzw̵Aq1'#n)4"ë6U%?eS(kIqY/#1 t"^+tߞt3-X|Rp+n.Vyw=*f Xb!<~ ^vU#>E|a 烖e.q[|1V&Lw22/R@:P2*ĚqV"++b8>wBid9(mpg_!N ~kZ-v nmZSԶ23})*# 9GYn0WIF.ϣ9O>%-d/FًHrL2unb;ы̫~Z r,t2pc8yI̠YQ4Ũd;S艖k9Bng*WsRZ367 ݜ-b_Ó 8U;A}_߯oUAT`XҦ|-,vؗ?ԙ~nǕCN D›KT-kܤݷW6oBaɺ4?yFZ1N4s1(-|ըQh\)U.ՏH]e54bfD!2b# A D/CG_W$ŬCn}yZ7.;yV--SyA,:=ubd/ )wG**cjwHbRT( u-3>ގZ{樰]:+k#C"[L[ "XQS==j>g0W J1[t ~foEM¼eMf*E83jvÜ^];je@L<4Z18/C 0Y!܎zX즫!SzV~>BgP_Ew_)횫x’;dy>b+ߌk1n6>c1h!800RwBJI*x.=l# y֞&B1CJN5b] ?&r&qHB 2&4H:k{T!#YޢU\$ tqHiSI %rWkqƒ}80 Upzr3:ZƼP͟iy.u6>%e яȶyafn6 L:e Wmϓa||\w+#GdN1Sr-qWf _=ZJp=2_iKO~ׄ`Ռ:<7u&̎\]^FX;!|g!}lhWYeyJ]F1m\P|u kBW᥇H8e]@BñȠsjc/1|,MaQ;ngUؼZd^aҪf_Ta3[si~LOwGCu^9o|zF;/8B$G$Owco$=@3]6L͌6Olu+y./Dž+Ptso&HeczU _D&@O@XcjzM6`2@æemu+vt<)㜹w(o{ 0r2톹G/{Pmޟ8_FEl$P4/I;}Tq>[rqpZGPui-Wd9CrH|*ig1wR=%>]&m0K⤈T_65 轅T[ iտض jQ cAukvK3[&GbUXȸ;ED^#wkV`6*z eտ#hj(]oM05tbNu5U&d{8UIH#,m'VsӃmt AvkS\E`# y V%{xEWr!MQ$+~B/^|f E=Om3 SK zSvD"I.M#',70a"Q:fx BB NR>7}:-~<#J L-VsA,/_=(.eiN+E:J?+ V8'fPOʏN긿SF3Lr^ b/;Kjnkھ,Hk}8r_cyXy9k]VjYN>6 BzK'o/r($x nhcPHXDm`,4&(ׁ`bNznFFXP򱔮EO?ټаT,jP&~u5 9A/~M^2%<i7rN.ntUK.t,aKY+J]iL1}=&{J)Ep4j`Mq8VˎZ ׻ tRw(-;YM] { Ly]ߝkd1=9T+0o-$SCԚ\^&ncR˕o2 ̴,8Tk1(Oߒv{Mu帖vd_%Of52I .^r©=CV9i/+f  E/RDĦ ^h &=vb>&_TyֵFKd9z(x25F҇-#@ {5_peX^2b/cI U^ݷo#|7R[lUsW_T%v0¿?Tpޥo"XV(ݩ|OOd%Y j=DfV&o_ȞqOmO_|1 P.1S8ЛljLmmvP?M!m:,#*#j^Sr5^{JdIx7]] K% ô뻑:1"?+I@rZalM{Rc 7x%sKm#@i21, vT9>bߢНwz<%g`pل04ĖQ[@rWθ&Taͮ|g60SDUDe-JBL1oWk  ՝f޲ci2֌'`zߌxxwϾgu0̿=@PʸX[4snBTl&egAu&Ȭ&yY2=X+Uপ"j m}u>||~i?2uC9ǥ(O -"/Hweilf͵{5;bOSr8? vh k3 :[A/&vD:!pB;&f-S4!8/lk>e>F!8+uM0JfDܚHG͎J'bu6qvg\ xmB{jI) qx:>[ڦ *P$:Itd(]eMZat''5#Znk#=pIAv4X=j)s1Tzce@P.3xy|H{s+޴\LL(ϸkC%2DV;{ᵴ@C 3λV҃Քt^SHO %z͢wT% :Lse+ǰ)A*+Z`wX)Dntkhj᜛7_v@zhJwݵu!Tu+]d5Qfa,M c2*]XTmweg'珧HvPF<\ö(| ?gU#h+](6V^6`jHhs\@CP3(4.0d_*'9ļ9+ERH(7bҜeP*uT=k?!B[j78sE9DP]1wŧ{Jp'LޡgfdD9/si''"Mm^FpY =!}}o 5!Dku`NI"8e/Kzή{7} DB䵯D7n)su&V[ %0\k|l0!u_E=ϩ7ߏ=7WdLƿ9ֵ7-c3RQoR,fBjO/qQjOHK&ع@ޟOHFt]&6aMAk_6á/ m0}gu9À]lOpy8Q@,Bv*'E*y4s8ng9xͶ퍚yh9`}TI0DAj(|x;0`Q2ST:@շaۤOg!coHL0U~K_S% T1>ˮluХ(Bl `ZmP(%NX|aC'j::k9fK8M۹#F `^V"WI#=̈́:Ƥ{^6}95$Cܗ>yw\r&K/iE6]@&xr8-^vΤl0;9@7;QM#L/Ҷ~ 5%9-q|?q%Bu[ow) ȧ>C]=$Cm(Zh;U3d ۘ_NCF OkdEmy|Wd=^Cp=FD 5Fk!+dvDnRpG9 e7rRޢLĉ4Q \O,3 Q \a5,@9]`ILf9PXMѩ偤V]y̕}jV_M 0mZjf'a?|3[" տ~d͑Xzd <0RHJvq]t{`@C7{sURm~k5>DxR#ūXE[ݝ[D߱L.Z_O* y]8$ U-a+3㽠v զt-"kݾ/MG^2T2Y ?@"xڟn膧!jSVGOSP93(VxkQ 芇_sM!M'{;>րǚ9b0;=vJUn,IviQ !)`? }\*Qqzwⁱ`3u "XUxjFLrg=@&8PiF=Jf涽|х,CbuR2 > E7Uǁ#Ͻ{2 12cU۟ WaZ2-$5 :X>Kjj,JK}fwo>3*o]=Ub+a;B\ҝm贆2% m'Cz ׎*QHR%k74<\և̯\QT2fegbs5+ⴕ51nj-jin])d/f\נalo" 0ս-LT00ўXXæߊ]8__vߋzg*H=F`n2o'*c~;0R';O6Al2I4zrߊoY,۲{??ahS潨^'XĥZݴ8-U$԰Aϩ>}*PHVF/ِ(d%1ȫY+waA#+ĽK;Bc 3HeAJ t>D?٩'`D{zfš}om`'iZ mRF +ì( D> ~[?g\%q%sE;/ &a f;->,fF|Z2ؒ;F>)"5$g3nTeOJP6ʘ (uFINێ*@*F Ey:-aٷmWq+)ELE/b8%Nwц?uSnq֞}afd4qJ1ItP!/-,A2z@WGwd /V/ĴD+qDi,I"#&iQ},µrDeN68̤TcុLv܇x 4`h invIz%f9Q^ k^G&q 䣾guhWfm:茜BmQwJ.<>ᓳ<VcW1g z?傥6&@ۚj4P ,U܌U$ oYxNu;rwꙡ~ t:zy_|8H[ 퐮 n5mO Qn+O"Hm3*@&Y TqzJn`zhɛxW:f8uxD}xV#~6u%Yx69 Б^qa@.x*N`Wg6fI";!+9!yoŤB7 8R/>73I#&2mA.ad|o{x;n%L]k%/RɎl޹/+A@+8tڝs('JV"7V'ӵ%2w@CA*.w paX+$eVgEA^~ґ-ݣ5PV#m::8jYG\DPߨA7ws׮b,"H 0nTpԐ-C!d+>İŕ܂cHmxNmmnӟUʒÅPi{&C I70_획_*+]Scwϰ!2#x9 vcRL \\4Bt$a>$䦇(Åumk[#$eaCO($ѩ<ݽ_ƣ|Vo )|D.Djv1R_o\:u&3Kfh{59h%L0=O?0pH*5qo+W{}}&xCyS,&>Z?p-^s`6,NfE=Mj¿4q;!ѣv-enrgw-T Q+g]aP49&Q`J0Y{uЬIS#QBK##Pypk9iDmE3YeT-"t⍢_laH|[7NUk %h9=t0UQ 3.4-ӱ|~6 t벬^BQo-9-^Р ]@q"Gv>u2R5ƣ0 6]h q{G3GVC D);z ܵ%O'+%U'sϛ?;Z/eP]4Z[[Kk4"EAZIz?f7םW8ܔwb+cQH$?_RQIFH-Mx]5 -fm*~p#c^0|7D?D Fz |Oqr 4&UWcQ:\Z6ר÷Qc/O+'č>O3zRBR!_O- E;W` /e> +>l4gu$jg"q`e+:!\ "GB{ OiFl>Ơ_ZbRָZQ3Ub7^9Yk4g- p}Ԡ%b)2kXJ9. ︸Al\ptUO썕A#6$B,Ѵ1CΝ?3YqGl%mEGt{ +7Z?5@24xq!̖[ nO'miaRܴy5)25eO'Qv^-؛8 | ogmNj6i}V g>ı;7a;hpEF"Ӓx>&Gf Hf eGQăOiPkAGUV0.e 6]A7DG5s-X_RVB=fF=>uI[ToN#,9$2o'cΔ_}<PA8{{y7:8qy|3i{Ű6&.7fgCU\tIp%Ge3u  \YY_* i|N~-jWKbhR醃Q t \d"n<$$4 b!C*ڇ4zsj9q8{Nw3$90u ϟ]=L0jdt)PpDI!(0FO簢y6h5%>?oǴ1wO`P|^o^ !&:x3K;jjdbDŽ]"GN/"CsWSg 9}0\8JǠ"v ~\؅\yqZVSS::W{bG;xn UM`-@ 3B/f0p!GU$Ud~xBw&s I`ѓ& ?M2\H޹Ч.Z]3b+FF-qLFs#eEU <="m8?U}P[ Hj =Z/8D,/Mݕl}m(n XXB늛n@JlzNeZ!}3)0@ g=OjIjOFg/ egzڙjBDe0:DwХ?ci/I'uT@nZ Z?|`yP s.[MK8@?.u@ Ry.4 Y%?>aE6W/C[9¼awqZQ"Lr|4sp_dZ3h~ei'R61Ͼ*0iv2r\ )[RHQ9gw*R5)k%\-.:!u #\S)$h`  C"$,1n )6,\%YL{ b9:HEĝd5iIaSQ YQ"SrԭOA.7n DUebY6^<"Ն/-؜f81whժ#P7}\֎,drz<~H&D.$w'RsMd K.sP칿MeV!*I>_,pcG7 m*.'e7i41} 恵.Y`, BʉXEL#0D&fJYys\cy^zOBS_PT~ϊ<%Vrۖܓ>H,:~m'QSrf)L,=JVI9ʃzծ/kM.%Ty)7QAZ8#_-`7ΏO͏YoCʻR8,'fB^95C3@F>q UL;؎=%Kv0π6wѲFgpwاJm!3ŻPݚ\ügժR1^&ň(%FQ1] ›iC,Tf%Oj&Y,hXI QeY0 ,Vlx8izU51}iGdLn~6| k,/0~PB9, &A.3 [qէVM^8 zӼVέ.〲uG2hy=f")Ii]O3%ob$I{9= 9Q~@jkp ۴qX2O˳"ʻoD{1WH[hf Z@inW3̣~%흳!䒖ڃnNX ^j.:?It7gmfwh_Ԟҭ%PZ!d]5VL[;Ow#S Ћ<Q(?d'YD`Т]Lc;ƫ"1_c@"Ep)!zL󊴉By!wj.~g,@{2b{LUK$Q}~.B_-kkWh:.O5׾4Pf*n8^ <NrPT8$(JT疨^VZFBԺS'9Qq[_7Q IfMh *&t!ΰa'`{HGp&g/G,8S[CCB8[!vvU8m$ *;}qgŨM{M;htHd+Ba ޥl9ann}kgc|bsXІi4$ cZ1M/ΉiMy)LK{+Gz^jphR%O+,k9<.q ?6fvc&QJ|=&`ѣ3Ipӎ<^A$ tnysjs-%41V 舢% 4A(6"7ۏ/z)4P] چOeer-tsmaBQg@[TEw(\:؆ldŭɄ( &7dŭ{+,"1K%~(KZD`FKlKy-? E"N*mF$x7q`JUdd Tݶ&<& Yd (K#Hem&@0E^?'k)20;k sj^PHg1TK_صgp(җ䤳\4]WBi[/_yOumeZ8 8Aa1W[I,AIY<<!XۅNA$c lL7MjcX TE|2?&%C6UO4 cF@bhR`F/p٬:l'xg["=|1%+C^F4楪Y}upK0#|4b:˙ToJQ%5Ξx[;t$-'U.ec[g֧2$FYä#,dv} {WG/urP@aATL-sLYЅvi˹Iu@ɒlYٕa h BiT PEoXJؐ QXo*1c_Wwo\Ҏ݌/ehó(偣Xlsp%)z΢.ig3) >gt(Ħy$Tm7 "e(7WE;XBj, %=T01x\EnwDx"N3AԆ#|o8ͱ)꠻Vt %HR]Ӄo d "PQ)$ث$sX=~LQP/z#Ńj:E9I"{6BSe=m:~T1XD!9-׉|~Nӄb#~Pj?4r(.dZꤿ4ccFO?m넽K,nRkC}՗d/k% = ܮTV`8in9KP̿/PxVq;r/9`Q^U\"ZPR*  Uo|ڽasE(%9-݀{hNXOk)LY,m˹fwD j8 XN'eN,縹\'T{!~ܩ,_ʧ˾$Db@^"t P@ ȭHzna,^ (v?lUr+uwXF-έmE,C{oPBlBz|F**͸ M4rfҦt]95xI-yVQ ImHc[/_[`sYLje^yR5T~/.Z4Ye G!y/6B < U]Y׺s*Pn;-˿~Ll2%>10$ nҧe*=\sOnq s 8'KEX1|W؈vBt! 0nwν"s1^j2sT^b^qPrJ Е#O^3ƺN93q84<xW>HK \^/igbjV]m.%'=I<[:պ$׶n/&ંf3 wΛ x܄F]KxLehR/vD- *]8Jd-3#sֺ~d@dtmFLfdUb|$Bޏ0ug4gW2<=}JuBsa. uHdWJ( kK>+c&l\*c]tZw`Pw~/m_~CZ0T1 KH ߬o<!]6b󼺖A`sٌ$T*h3W?mqwǴU\݁94ǷZf3ґ9$t$,-ϱWōވMͱXA}4nzsKf߰㵢 B 03dʜM/0TT54 Λ;3a p 6Er vLHTxK$jE ߱id J]X8u<gnwP\(VG&4rOHZy9GM&_1>p١.y8Ҧ-1w*LyF;V^ig"foɮ2ТzQه嵏ޠ`Fke -f4@q UE e;:p,ma0@H4D^JQB&ՉUv$ˣ㎬a]FPi#.YHe21/MVgFĈD,BAF"쀟hXb; -Ю&dJIQc &ppИ0C`.Ec2@Mp!l?=tm#&b8d pOpp+LX5&X8`}ptVi[)=.{>CijWE!NJ6w4TZeY0u-?J4y9|d^5(v:lRG^(oԡ"EIY@ee]ym;m{^<K/Av"imah;uTFjѨ\lrǸCl (rs?:o 3y]?`a-wuBmK{k{QNH֠爼c :2;ap칶z}#9MCpnMվnGa]Q Q%۴ZC)60).hde ,Xz vǦ?Uj0/ʋF-.(ѴL+xׯf%nejxMqFR:VKQc`{:=oRU^9pu)wU:,ã/h5!Y؍$ |/ͧ*qu8*=sH1{*6劻""᥅q~(N8g5Y4E&=1&@'C3K@= $| ?$l.p7 z&1褓Tu *2 ցͲ [b9^3g'?b 90>;خcqKM'y O4 kX>J~m)@lVn{oIet֫Jw(DW (v" ^y㭣AXXѺw fȠ=vq9e/g-cLØ9>srG]Gcp-`hW@8@YT /SdF Ux*ĤGLsKThY\_L `F/ݨb:.k d^c-ǣ%hP&dY e1` Xn"KhY১ f O-jRA[(y'fW\N˴LKu;r.,Tg}Nw'2W|s f%'YFg?Xx}xKKߙ%1IA\K<ٞٔoes;mbOTsapV?qz>Tph~[ñmV~ϸ7+O ݣXVQ-\}/nO8bT!sJoRTք,d)-B vEF: K-YMS-8/ ̼IPqo՟7|grzn {}YzNk 2$$x~uFĐ>8GK?EJJ#U5Xt%U;e`ϝLͶd&O se1&0?4x0o'S,G  _t3^ 'B`WiB7KwD|朝fx xg?Ua'M^Uh9Ok݈xE짗QSAfFG|Bl$ ˜5 ḿRxY'$y:>561|sx0c2e;==S'Jyw;Qbpkn f*~$d)M|0EknFĈ,)J3UгY|(^Y;{8b ZbDrM*Edi嚼H Dd؎F"aɤ 6Xx}jASM#VSAOeS9nUEU#Zse딧8ڈa7GT$p;G( uh  ͒g>s͂bg2(^#o*h Tʂ3ʛ K{1Jc"I. WK wYDv&Tk+CӚ]/:u">P]$H_+A"."؏Z(:A}5wv[}yT(CUS(J0g 4|/JgL+q>gq˟~%{쯌苡zud*mI q̦\-yhɕ4uR-fʹu},`;Uڙ/4#kgyN!ㅭD)T _wEWÉkɟ 7eÇ˓(YC Q6ߞM線 Zu_tM'jzۯIQ߾'L͈VqXcso ɷr;\5H[aNZN}?q~y^2ZJEjb| @S1~>y8OcK,WO [0KKs>C,!W}! CnC*ED6«l#ՕF㛻R=x$uK<Z ѴL8@]%NA=!gP#q]cg!x7Eu1]Q^izpҡ@۵_N D(cZ14wG Pt@^NYdmj `LQ!:5n(\ EMM8W*N.,쟝Fhc5) j,LLuz|/JT뮺s x6O Z3.Z$}p[+{Ϝ͡zLΧpryfRtPjٕ*F'd iCbÉb |zoVy; ̶0:wPZ?Deh41yڱR Il4zn>2虜0{[ͱ"OOmY #@w9,f,;B0U۵¶""h9?yl. cq@DL Z<@lC{7n"wV)RdUΥo\q>2";$Qdz O5!Y&.R[ 16gd'93naT;uO:N h;Bc`iCJHI*uX ?ZY|Od\Pn﬏Z"ftc?eJnמQATd@ͶWxQ$= ¤xrYwŷ.1:r*(^`zF]?ՒwH6/oXG>HB rI}2"Atqz4 S  r?IYU.%NJ`J@$xU\l9~Ÿ",!qhoG.^Pm0oS~ʤO]h (* KJ|ƜDl0\>t7d w}4RU+UP@26 ѿ23rhe5VKӸY5 5rJ-hCh3iEMTqSoM(9>73eh,I?brI\8B0u $~ɤ۵Ae.|,ay3}M's7]3cf pʏ)t;a ELYAr)fzuHוFE,Tk}oU`'I8b)]ʾa,=I_lYo0|l/|&zsM'Vխ,4xlNfReoFk( ^sQdM EZJ{:W׮]D9ʜ0 r\? e.t>"(< ږPqcN¦*o I Hf = xTn6^?Klo9qGDAA-@{|axC+Su[=( /} "M*I(kfx UJ^oۣ iC~KKءW g|$r.^^ToW RcTՃCw7PncLB0ykT7ј2թ5}O&y07[qӅm&_ -7p&;2eeGwT<ǵ %,V *F_\ITD}PSB\)%]A MF#8ioǎ]u:.u6xVfH"Ge.oʵ`v$Z fuQ:ϱGHvd>JRC:C >@OB*./a8O`sZ aHg $#FQ' f @A,ɔ`iǩtb栓ɁT$5ɕxraxPr;Ej[pK~/׏>D|\-}dbzvcy+$ H)O3@aH0ǝ]Ruǽ?-O/9׭WIHM0%UKX|KEfՀ44v"AaZxT*@z{aꜳf/7W/mt_sBWJi77#/P KgҬQq.ӏDB_:aqH.Vm=׼^(8e:v.oRkFWŠ5?C{OU& iُPdoh}\͵;HK,!,~^qrJvWGa9)30:fq؈i#X I3'^j!Hf^Awo]Kf4f=@.mB9X.d-TPH%N\3WdgUNW]]U1=-=MMQe|@,]'ݲ:i ȤoyW^lg Rvn3M6 9ߛwqI"4a*n@L dLNUsq*_ls0  _E,?(zl}?vl2-z|^۝/WhJݜ(nهbQ~[P"41'@4KМe]s?Īԇ?HMĿ_,Hy3*NV;2iO\1NO$ lwh)79RԷ=">lhRVmJmqyᯃr=dk#PFRسA5(+-dެ&Cx'kY8=~}Y>ekJ'"iao>HK0rth^8Y3FVY)5* `94 m76Y0駒-8=!R !^W!Uo̒4@TC5C=zyynR!󜗳 lѳv!'QlG s."Ie}0Ki>Fi@ÒXV1}j}4 ZjZ~ 2G r^Jia&$Nhng1>ьGfynhOd}ϮϦBU^M&piT3F{p,<|US9ܫ/+2 =J6-q w!1@w_PgD2 gG ;m1{Ҧ{Dr ے8"wAWe= nh|ϒz5J}g^PlXZ+IPV7<]ل] Ga-0׎qn`q:4Y6?sO "*4FR6Ro12SWϘe=f@-ucNi1m_siHțmڠ=iV3-z𷌵[`~ЍB #Ӑ *TY>[D= f0rLᘌ91<8e$:&9,fQp2\o>hy-H)('cgq'VW5\4Lq gÀYkp嬜 hZkasQ&'rKZ!D5mX衧dsQ}6/(%FW~&|/&aau`X;SM Ԛ7DEx?UF ʙď'R:QtJQ~}v$?xmd1E3*\`0Ĝ`::tSBtpK#, ,kM'QA+ [1Fel[D6tԺg*޴ӍxR'xj?9X:(HZGᨖyc!j7yqDIc,! 6hV>9㐷Glt ;M#2m㤦@b'B)a"͉Bow^~K)Mmf˕шcC7|k;Pbkֻkԝ?"%*=z~fhPހ=<䦉wϘ3g&Rt ='-% |B{|IH{I,YKec BW,4ͺgKр9ㄇ:$&VX\zڐfh} 7%ZN@WMW^zvz ft勽<,[]uՌF'!x(#+yXgtkk+&ICCoT:^UceĴʨzB8Y%*Bg 4WWHF|i:̓J^ 6zF=7*^\ qiW[P- \N7 7izqs CxLE$P $nBQӣk]1Cd4#,hy4PEibm?j2RL@5}SPٳ>=;NeGlSK߹^E.>5~zY>;u8㛢n1Rap{C5]] )!r>Ea8Un|hQwfJkt59HWt-W˅O0-}.11FK3 \^m'Nl]J<+ !Km+sO,6;9#g ̆?*" EӂOa4I?]ZɫD;PF=6ώyWfo) 1p 7E>~[vY3^_23"Q)w))4Q ٚ9ˑp:%V-vb0:o1V/66tK7yMaL+ ޢOmam c+9NEKhU^.5ISֶ !|;5\intfXNx~BK AkyUA^X靂2mQs'}]W,s¤$x!te (`F;ISL^ 0ѾUx,/˕[ *[ !~ځ'`H8-BQ^۱dwP|x~/"wO&p:&}ɝl\eD7JNmrp^^ϥ*ɩWt) v;+?z:3NV'87yV&Z'gX*~X!ːUyo~bb#\*2ovJ蠪U,+ S=)g|oE̐vhN.QvMXlC2߷5pr\jInog mlF OAtD8\>Y4l#y+/m]dZ]nOE18i.㹺wGWhbԴg2Kд`莅%R@‡qgy #=kT}71[㶟6J@ꜧC"`l70śm>yTGGf$,ŘSmH3?{#Xo9 ;;2:57ߕɻN0?Fz/HTmx8 k Ïia@9Rى!PC\=>n׉X, Sl|MˠAgخ6uPn9QYO_6xM 3Yy`>ڭt]\&0<1i~xl~0gG;hì{ؙ-kn!MZ^$;/9MN|"F ,U? 5?^93ݹcj뒠>fO K-?v6ZLT|m5^!<{v֧ݽsk\濽z,U nAm@p~ uZ]+}9v'8 ܞo>jO\.}_/mx޺= /?_-s G,_ktPBD7EcH z~B@Q ߩ /6anǶYHbavf#0?3J1Kbt3>wZi\R { E\y+yPWR.6hGX^WK(q 6!e_1B}۶l!YK& ڡꌲ9= 6j&3T՞'75skjQG-GD TJ+6"`5<8əM2,CU `c?0'܇QJ=]:!V F3P9A'-5tɮ3QKUqKBv7]2hY줪-`pDvaEG=A@WسL;1)VJZRVG$q))r xWꆕ`7 XI*Xu'm&{e14[Ӗ[q,0]Su|d(] '8keEqcXMIa1G|xv*R+ju7C'bqD?Yg7%:Yݖ#~K(&ozEl}7_n3B ' 7aQ?kKT- nbb C !5g=Nf7`Ll`ON|C!۩kswl^xX{хPL2>GskV?OO[02kxzQP2}VKٺuiZ5+sZB6Ks2QD2թY؃dޭNsspNisb_ dm* 3 }ǔxmٻoJmHbفs_x^N䌕6\# 3WL};Z5#^`y1^!KNDbX42 &7 ,\j(__Ҽ #&(YP~TUP=%߬Zw$cA -yo{L_Ja{ob![^#- crnOpf *^Ї:6rƳr?&X|F pRmdxo0vټ#S0'S4C["ku+'-BV\v4Eؕ-dZ0Y-6e- YL%ΡHOq>n#zk(w$Dpѳ3jLJnR(@M#j 8f8ɇ_3V:9tb] JG0"JO>Ez co|Lr}ɼbq)/"{\Gz/X>D,}XWԛ):нa=~F“jӌԯhy67I#Uboߧ} z:O*%pde%5kcrS#wB r6_HjWfgV69*N N?ܷՁ7wt_V񚓕!MRm!g @{4W1x"P<,Bz!ójX] ;|// riy9-VOL)jZKj~H<^u3Hǣ*)ҷ !nR>Oտ_!MGTOێ H LiNG($EeO9ic]l |6iLV['鳟Bu1El+gweɅR[mb8sBw|hY˳hH?,!,Ƞ p \H9Uys2 \̚2$w9 CO0>iTb+e.&NR of,r0^kL^?evPe e=bz_ 7,Ez9d5+ZM 'M&LZS/=6ZыBq,lRtOSK*;&# n&IܳF.2k_ayLJn௤PL ib!w%2Q,`;KwuҷܜZ~F!i,fAW*=pM-$EA9O0֬{ "pdJCpQK2.]vŧC_? J(R't͑K9lthxE:̅ rQ*ܥ(# tLhUF Ӕr)ve-#~؜e{o Q.сm=t{?$_flW7&"E3B"/L]" \<`~t%vkPHʹ\@w;7龳ِؓh`eؙ!ޕYq>b}(kxHh3'1_lW_ĉ@Ӄp|ƅ'<,K4[b#&aZ;&#U4_žĘZzfn߱=}Y3ldhADmt֫xO;@R%CbU{zXrYL=bO /a\؈#=N:G#zȌuբ5 ;2gJXDWi=/NEp&h4KovCqo) {VK,;HMIYG[_坷DvUkXԳ4Zz3,(ӐaJ GtwoU؞ wum@c MVJy&}$ i)Ѡ90çy&#_v|6>խ#ϖF"<$mV#XT_,x7頋&tX,BTHc%khTI`B~B)a%ߴ&bA/n/RdOIܗ &o.ɹzh5]~1sr^v@n}DyX FrT [:D(|]( 8 e$\^kxD?"Iq J}Ցwn%ez!I^&|R "ޖC&&{Hl3.X5`%xI]8q ݤޭ􎠹Һئ(gXY)6#ӹ,.|4$_ H ӯ\אoF$;0io"-NJ4$a 6 f`pb:fL(AK3sgX{ۢG^V=nj\qgΛWuFx f+]x*uU˕XUD;xrd{c̀;[:\WxF'M^Hֲ}૑o*YItA2.gp9;N;N)yk}ݙ5ڶE2TdSn ҆zS+wH7x埡 !D4%WT98vBޢFz"|H `L! y j1#kNȝqd3$[@a͘#=Q_4;L=HQv`!*lZjh95z_;e4ؒF3Ԃ\9Z=C`[M-~̛dg]YH@NNisv%YP8E, ;AjnpdD.x*G]###A s}iʤԪݱ!m\TppxӷID.:A,ԭٸ!q֭`AWIy>qr; FJ'(/NHW&>sn G$?KYhS{k6!tFvn]$li`!%2(Fxcr,JqpO~}rߏx>jx}mҟ7؎̮<\N|#IXLRfd H: ]1!;C8 IfY pȃM8ָIfȌ"_s0T|po#%7' ,/]܌^b)wT0I8k0H!t7Q}G<zk F̋y5x1͘87Nqg #`wqPiV %(`IIvC_N6Kӵj j[+6B_Ss"b\qvZ[kB_U!2hJ^a}]tcOTyGwсfw,=2P[ WF٤X˧S> _(„e.'[Qtv ܿrl)/mWl+-Ndw+!˦ ˃#D%t )˖ukצ棊y킟OZgt'ɜDۦ.ob>NZ0\GRlv3A?dJi~ݭh<5}s+B\>$fEUEpx8po+Ȝ&p8ZFs71!}G$Zgb]_'SpT| r=y둥5q^` U$pmpF{-Vl!V-W?eJc#9mJV=×m١!F4XY%TaC$I/ :[Pp-rDk$D%Bml^!@Zt dgROSdWeD`#}#r*uQIHd`f%nx0JE\m4_4:YySqq;Bh^6qXͨ7eTkYJ;x#}h5F9<,?u|0vM^Rq;elzau>dpӗɉ6q4MVd)Gnz6veW?dIO]f$.WXm:ԛ7;eY䂗}NjƿMXzx*1j22bHg1G/6aO57%dTi}}¿0PR:4baj7zRIs$٥.Fc>rvHX(cYiVJ0uVDp6 nJ mP8douh:B4=Zb+wm֬eFE t[jwП^?aW3 NO1˷:Ћ? vd!>DAfR䛄-CulsS21萖Q`uo?T q@y&C@QZb" R0uL^ӈ//ÇԨktXDʧvi`պ'4/~&> nLaF|v\Td!y2k1"N?Y'dn_M1"NoUQrW~*Ѓi~!q=)y: 6GnX^CҤgM44{1s3o,KҾ0~`CA)㼩gGFlueHh.|1xi]`߄1QVY_<ʬ_Y+@84NOu-ظ"鼀>1^gj{VKFGpOh !qŵJS!haTY]6y۱ip=ź;rӥ 1X5g[nYf'y9=-#NIR.Hދdp|`Ynxhmc]f1eMy_r4>ZwЧB/V6M/E̿JWvJN54Uc)PyyۛW=$׻|1b딹98x[l(Ī?^HZ߳Վ"0t0 Abp$9C/#nZweMo;6cVQ5r:TX'!T]$>`=s*7XuHTjaڇϤg#CNS84CeTҡZy/8 Ph'/s:Vci^@"YID4Qʂ[ᔺü&NMldmt,/#9`e}xC9e-o_~זębs<ufW-xwq䤛ZlA>-żBNѾYw]Vm xδn>qE={sǧ?siijfӣ\_Eo#^џbw,H"-^dh] /m\(3zyB||]Ps— }ܑ{+spc l4QH1t;Qց bj+/[=-8ҵN:):/M(kHRQQ|[eOZ-Of^+_{`1WZמ<+;b:ؒ(?Ӂ-O(|ZHqyf3[7ͫj*mbB~dY+F XR,<&Z&%o \--AubŠVAi/NC$ ʜĔs@]>3:|tIahQ/Ns6ų޴<4lpTT=Ԝ) Q@3ܓ*.]G7BcRВE 9Ui[2A1#tĿ*ݍCabA]i JKM 0wp* H\ڊSoBebI&ȄcC(\udʹh% t#,Mu(NwK (IWnP:;RCҳ:d |y=!/%zhR518 w?^< Hi;s{,xQ  - .M CdFE\qv<`E)_F7JS "+g^^>. ymy*/mX~- V1^;8GTF,7P)~6Sz/t CLI+>ݹuoShd: bK#D .|VN^6Q=IF۪kXE,lmƾHϥ\=H<X TĉHmF3 &YM9dܪTmBF @zo]Z3ޯ."a%:V SU\87D8̹٪~6y؀-wk_iAn\ܵ18ŗ9f(zKXE%FZ2~?:p[3ʡC_T@IҲ}0pp0kHZS.⸘ שּ)2MHRuy$%qHyGY5{;J,*[`S8GϘ"ξo % nxK<6}E 16LO|a'z#Utctc֤y1W|?aO4(ul0lAIT_NM@:J(XÒl0+y;TLV~ ,R|o.P5>M/jp!h/ T'qv84YDApI/KJrj `NTbַ"@YSd{2HF ֏S[?ʹر!"p HV:Ul[ pq*2oZ3tD!UG9:z,-!  I P|_OEY9 {DXCh|F8g Vf[>NLc6̏zyx;+ &Un;\:-1^y6;zKx/W UL\ߚG.aM%h$K)lI첂gb^3%S rһ<^1VVH4"#1H?_~97]1 a&ٚ8i:T=mJZD*7`cXfQ7eş1BSD.lf;ȁZ_V:9:Ӵs/ATQ#AJxQ5!_3hW.&ߋH-ܟEE"@%Abn: XPZ@͔ac¸L1mP,! D:АyщxSuLmxC'dQ3 "vMs""&#+Q|J(2?2'lSOtaњK}K0ӳ-]J]Eٶf= ,ajRPhwy[Ҏ~`ǰ^vދI3mpM6`x/ , =0(x#VECx!"/b 7wcIaY/&wi~$\Tp־-x oN4\V .۔5u!j6)G р&oPL{@OLb~/]B@-A`.Τo$&M/XشZFIͅ'CsX-CAE4ER@pc-#:']T[3S w0̆Ԇ#D[MT^' &bˌ=s3"@^X)W,)KWz &h4>@Zy,@&9M{9 yk xI R$ǔ{,%@l@0r`e?Fq.ag2:zSi+BdӘea$ "zc\]c͌C l;B +YRj, e\l9r'Z"޵[ &a'CZƒ^b]_၈X1t ؒ 8PRsaS1uxڒmцO&j# , g{7̫[dV=1Q;a(=QT3\irJIxUy-z61!2Tc[EٲNX+0þ2A>S7 DI#MQ0`f, Fnhl~Bt }h@N>QZLV^4NZ&F2;LE59p:A/~VJIxx>D8:J25"sZ)Fߕ4 cɭeKM[y`~uo+E͓&j088mowBX qJ[v #LC%WAzHˉv&dXb)5lqVg]]ήL =u38 ~.@71bu-c;m`AIVL hOY*gܩ*Auɫ^Ndzz\$ZT  [j~ ;kʚ͑-phM~z I1Aspa{H-v›Ul:Mi:8 jf3v*`SgaUɘBwI~tݯ8QZ/l39pG/x:F$cF!e:c֌SQyzF/1kJg!&mJ5]<6m꘡ʅLns:ʁ}⋧ r>#,tq7Enr~MddSᏄ}&>MEi ڟ>p:|f3_l$f1rAA)ρg|Swu@^^C<|BC5c5FKXD-S|ɻ`AÙP`:"٣͝ɏDR7 ľ>yQV-&܇;"lD FC00_Yr²b&oLPRD gz>rNX`fDܕc_/,jZ+ԦٍEaX-[Rr̬k)%Dm^i767 L*hi%y^fVcI>> |?_>=³W'|#*J:22]![m I,0ہH[>:dtƑ@ԩFPG;hkܘf8(4mL](]bj[[խ؟@8O q|ג=Y5!0U{Pxk6K5\),!ό.on$BL'2ĕВN*^J`3Ұ[$׫g\Qm9'q1=>Hfk|goAwsw-Lk*A׵f_#E0!G1E+Ԍ?)]N[ddpSm05ѸyPVp!̽8l=s Z6Y 豬6FcY#b-8]$?"c0J͢RubH׬Gf # 45}~1{pWK)r-_qhsלΆP7Ϙ97DXR5h>]a6HXcFGYa@7S9NqЪi1.,/,G}:ΌxӔ)FYH;SHx)FCϾn&J/sm@g*|L+s##qaP0^x] Z*l;Ve k|+-XΧfl67AS-O>Lv \!kux;1$h"~<M.^8H܉b6 uOux Xo 4=6}i^R^<㳜|MOt ̈ӝeKzE=NToe"%񑢭.:oV{94Y/}w/೐ ?%JHQJDJkB`V.BݹXWgivv 87DŵtA ZG\7sѡдv`]<`|"(Ͻ}Y[ 65S81IƋ̪rNVMQCj3V Y-DDbfϊCic_mƇ8]x)?rt.CPqVy6F&XjSO 0H$mNV0)h 5YC?ຸ0 o;=cRqf\]`HA|KᆦW}5<5nr9hKt.u9_ӱ(r7>~<IzDѧEpwt ?%_C OEV{4B9Mc!Н]D0!X("IkWcz5/CG*, i^cL}B2쳋ƻFY-ڊW9}D H6d-}-+D_ WsF,".EnO!3@9~_^?҇7C&oEW.T`n[*sj*bݎlnk2m5=]űk:.gE&,i՘\7=2ʝҊNxL>B>۳]5M&vY3EpE3pk?$ZbFY t D \5YP z@FD69W'z1+R&Ͳl:7^{(w`'O~PBa-OդO`2Hj|Iz \֚X4)AJk{a9쾼TϡPoOЧqFlOƣ6η7_ J׳ō 3-}tA''k Y(7o_w](jS)E?T÷Y݁=K7 nYvyT1٫7Hd)TaX[z@u@ҁ4s m)N k~(k1~ Nwm#h d:/??2-); TvlJur(,_j:ލjO3jwoR"rPHvB/HBB7lӭ,K=P觖O(.ls"OJlx_ϛ:fZ}F =Vf1D7G¿U-5sD5Y_.ss[rw|AW9 2tPqK0YL֗~qz^2'-LC/MHjQB DI`&z9J ۗsPe.?_R;NJ/;/[s P; (~{Nf(&yFHEul8%}~ ? k!1V(," _z3 ZFa"F&Gs hYb1職bJ oc[\2ݒB*-OAHHZOѢ! dl6`xpp{1{- w`Pʐ:ٴ)`% .0D*IAi%{"h-lra(G.Љ`㻉{oHrGq`{w4;ae@sϒ?@Aq9Y%KyAO8#&BK<!]HD+Jl CLlx0(kVxm'͵wBѹ쳄a#;hkU|W"4+lɝiK2e:!xK@9Z Oabۍ[},MA[tiMWZj&xgChb=t Xš6YOҴ"\[ghr>hn%Mu4t1 N417"t c^n}۪M^.(PFCQ}jFC^;sOzcSnLh>$zM.gti^AǍ|BIvB0}"5-ToƸ[pޔ`)%ù_a`}Y$fŜK2gl`E|5^ @ZLmt` 3l056~/zJf6?M0^?:p|5߰jK:SKQM5 35=NOԃodUm[L(A!ˈ{V$ɤ,}D̚/D/Í4C;]]G7Sk57m`Ḁcrٹ%` kː#\Z*d &g^Vpp6yE}wɨdvYܯnܟ/d,H>a%@븙N{Aꌆ,Pu_)Zeyby/}eͫ˕bLs4(0c=16B0mđoJ>d rtQŸIĿSΩ/[RN]>Fb%9ÖO랇 ]B+3+m1!qh{4)UD6 tUQPWUk n!b^@d'F+!J+ٓJA"YI0xOFAKК}%qߡhUi}/߹Ҵ# ϩJ?!(ۍ8QF#<7RHEBWwRZ&Gmϖ|D$o+FD8/weLZu" w/tO "MF]JI([6/Z*ݤJE$I#4gb&Gu(5O7 GmxBֲڤa~gj>MADߔS'z`AxAnk"jZ'ɾd`}' 4ESI)tiBbMY{5({|5Hn:4G167WT[J|Z]=sШfS NL(6 п$P:EJޛY@vBf$nEh]eHa;<m_}ِⲝ$Xz .'DŽwѶ TrZ}хRtl'џj \Q> z|J=Z&v@,izWlE%gLJmGzꮡR|{?d;i+678ƊD4b :k&V*RM)0| #T>FjfHi5>8em}s {=R¹j$˘ظtb0FC=ӫ7$W"^iZHX#\\@LN LDR Fm"TN6g.o[A/߮=C|Pv2#kE=c Tģ|2W6@>aTw Uèx5:GP뷸jH>haDa@r̕2tjTFu/zcYu8Sׯ܉kb͗e @ŘLc."M5cNuMh Q PgOwB))={۩fWlH]a^4p 2Tؐ)pxzY+u>@?r1@0ܙk4%M H~a:qIB\ oBv([9BwwhBpmZI5+[k39@9FmbەE:)x"a $>|,xO;5'N"}VJOR8TxU=KlB[fY!v#ۃ;ͨ1 4yھ Z\b[<bDk?2&DOVhCبqf3TZ]3 ƙRg z]}"(c_t¸avb Mf#]q۬u&c\`v7;,fn, كl;6 q=^d_r"=iox/Smqp>p kJyg0wbTxgfqYJpNu)RyiS%.7>UhC;LWBF?+:65*f*Mh4Cs2'*f]snױ a 7\#N`~b_Gemۓ+>H7&6Xd,adzGUkfQˀ}.{bu18ڈV$v"eAXQڷY* ve[V]dDpoGM@{[||,xNhاrJja]a F #O|ȀGfNNnƕOu ~ӏvZ;~qfBς[p"y f@RqN=QM|{-UK.Z6.}?čS8=_WhZtbTH&Gp0_7\"F;,1`>4f*c|H? D,dYo/ʷZ/48$*!~؊ZM s;khv3%lj:n#`h{=OtocvѸ(T`^1JvTm]o^3]juЅ3V; 8vƤnFv6HR{D_=.M\U$JD:fV? }KlXwl7=NY0iC 9wߌ%\V4x弹tt42AqeT8c޹,^c^Hks)Rԁ.)QCkTqN{zөƏ92m.K!e"P,@',G< <ٿi|;Rװ>זŔ:k6nXW0euJ&(n wAYSk%Wp&~bU% ώk%"tRygfRL; NtVGƐ/B5c6{ e?޺`dNql2dW 3Tq.&)XnUBt¾x`x @x{BS ml2#d>ƔZ(JGA~Oѯ:97|GYLi!Luj?V?a=uD0Rɥ-Q/أo7\*/&HmtɏxPs_|1thV=NӴ=38œQ|,CpWL2=V0Դ[ks]r%*(uW\xpzQIfJcUrx =kBV+s@3 ,LOWe)z`J>9MɻaSOٹ݁s;Ҭ_,AO`o ߕEmF5U _ ![.6e &ؖfcmR*oŎMN@Z(9}b?>F١,Iejb\ŧ'L 2L%z}:~"V)q<)H%QGCLc&|=Bfw|з\5Qz8/3KstB'ص+sqw5YW-NXiU1v/QVD f~7p7C2OdKkZ zypt  p(w9h# zP$Zݻ=1\/wZ NjĖ?d1fK &V Z`> 'Vj,ݪ S8CjTjMүK~tS -}Xկ5;ժ]`͛UHfЍGyQ `ykwdAuߒQAlXG{8O4x@ԁފɿ֠qei4vǯUDZ0FĿ_h3.A(q9Oh?O8!]ĄwgrBBڇ2j{̼^"Y2jQ]6ٕc8jj >(N 01~\n;޿Xud(=ݼc>25;LN8GtkK 9 8[㷦M;G+)q?;fsU2dԬ5_7-kHahI+,2Q2y!{l[p}$#[mY[jSpSH{r3ڻYlb|B8>Mx RIomFs;"taa^X+ε.\]\+vCfkwssUS"5hx8BgH%{Z`ot[F {)m=;B RPRv4;@NG$:ej[՟9Z<_lS" E)F$RO=瞱I0"CXO--]_JW"&,Nl@MlʨI_@n͙#A9uى ;^tt%N=6W"PR;:"e@\0ٞ)(f d<ԋ ~G7ߦxGʰ9#E$/rvY_{&XFdK"Mv>$+_pkPӌf rR`2Q| 4ZؤC 6AIqg|>!3 _,uֵV!aaN9\׻X1l%u1V6=#_73~Wg7m$ *T*]L'!jcPcwma]ޒqǓ願W)K .ϿZǯ%q;W"_NdBfTj=!҈i`qх*=l,;eJF_YQ$۷;v{B#Cu'2^\!5dIQT(yṚ:Em)-h݀P/`ϣnbdM00^g6:7Թ/G." b s)WO:ݔ9 ~œ/8D7ƜJ$i Fa/J`!?LH/&i8L`iyhsaxy)E;\b*#$e$ah0a2纜IOߏv(Yn&v+~:=Rv8[{\6ռŏX5 |9(莬/+G;1uCpcV"6 &vk.A`V>69c; R~*g tagŊz2ˆ1WNٻ` @@k_рKAY},iZL;jmՔ[iubޙ{9.)Y,HBxI09 ]dMSf:qHϕӓ'ݡc *Y)F벾MAܞ<ߦ' ,eF8m#8ԠCV_}S4so&3sZ0` FU`^.d$R%*'C!4AD ܋`&~Y踡oH׏6i}^goTCT:p >q\0?{lC Ew)H.R9[<)u [.>sʓh|Y$xmςyB9I4C9[Ϣȏ+uѕGB0[s /d!  ޯx uDnkUcV֯qJ0==%ʝZV{~d\0˴/Ͳ^Aa]zD2yv 6 #O[4i-cr0~TYKZ|v5ָTcؔ:Qsl^}r-.Xz B<:XA 7J1J$FK6W$1Iݜ5יּAȡjQo%dj?k_GhIjf*hW#إݟ@ `^m"]zE"9zuj>H7Ku#"wt5 *r2S6ʨL*񚅓 6 oMMY~6zF,&M1OTjǨͺXP`aDMWn!+ی)/|N & S;AUE9+.~dfFC-xi}7 .;$-rΑ baȞ }:Pz xZ;)AUTCM['e.~TZDB7.[&,E#NkMo%$N oh ^wlk@ckc(MP\g5PӢ6&BU*W@LIhkNhaCf,+&&3fYwȃ]Sxz^7Dh0Dw>Cn"OQZ\+bЌE\Wyy Ʈvt%~xRE'va}wN0fbL8,h9'Lƃ@w& dEfX{yiL#f ~(2À70}PWs&ޑ;Z"nQmb$:Hа$D.*}Zn, [T)ӣtz[mj=6j}nppƼMG۩cX.4S/QM`uO GdI25XN@!j, ATBtBuХd#Iۅ+bh=1S  6sP*fď*tRg+GT51b '4^X=,/ np{&`B+ES]+{ͩi7VZ ]2s1ƣdpgX\ŚB:Pu$JY_hjY\ajr%$-=UBݸ}1+ ږk B8u^8Sj&5whd\95( >y*;82NgXl:df P'vïQIxzgV*Exq>T<'Д#g8FY'Y ٍ/ s*5q RAD07D[*reS>,it|e:n MdJ!RDi=;Gc U%A&taDI # f)rsˈ$|RîS:_%f2 Ӹ\`o<,9Ɔ MP|ic4"Yٛ5 !t)+\DoܴUϏcnV_-)='e NLYGP'vWSaOD `̀ Kvv%#;]r8oH9ޣF'W^ ?{BZȫE iXcʲ. G3 |9UmdE|c+U5;ch t8BV6rrhLn1}vkLdkT M=795R 8uyԹ8o Ȱܕَ\\%񙽃>wn밚m |YGERMA:GHt+1G5/ΕrpSA0O1sxۓc7cU,knxjλ@Mt'Fd|D9 'p#y?JDjBO+NuV M+!_Z\I(wDB $  Y;Iu"q9~VdR.ht4{aBɨ X=a\OK|`QbJ u @ i6bFXR>@8oAa۳1XȎwY0>uNAېDXkN]ucRo&uN.xړ6/`V!/ӠiPNtxPh6d\m@+X옩D|ҟoc͓xTŠEUÄʷ$T~uv\`gs?y0w5|C~~ٓoMwjI-n5̖)d}b=CWtC6Co;ibqЃH*Dt_{Jޮw^"_Ulӹ0{e w<i@?!?#IQ?]]˷F!֮J`w|7UG7~ Iů;%TLJcu(啍lf:~& *ڧst5qMad,NHy:U[b8qy-x]FUگxƞ`(',-99B0enFhM#_Ѫ[f)2F"-9;_jƢhp>6NVWx(ӞTPF\%~zJ9FV"&:%}Ě|H7VD}AxiωCw&Oτ }d]=Pǭ!aXf\%xv8;^s^D>!+mc R99[FlsϫT֌3]=ys.Þ l ,d7o]=%_/Ȧhrmh5= ׵mzBj+wVF~j9=C0cGӁUíњ7O4ٳIpwр0G"E2H@ICB\m/q,*l+3@=EjS1W^h-%UZ5{>XJ(Юپ ͏[ѝ^&6*@MrSPӂ {?Ip%XIVGkĵp i[Ρf H;43Ղ}TgNNZ Ggm4O01|s| Q!8n:<;~kedjtL.:cTz$*6nh*X[9zEQ4v{.^@ =w ^f+~CiYLmv - :31R&¼k'Y@j5S뻒ш֟@5;cŰ:5}FWG\(_7)FU'M9