strongswan-libs0-5.9.12-150600.3.2.1<>,ĉg+~Xp9|+|hh@5%J}p=mZf9xeo3X4h>> j 7Ķ#pV $<-vLQ !izjǓ "ErgBb A,_ %1.lDԫvV˖Bc\rQq$紐wqóT:%%fQ{ηێr$%9] NOn@SV}.!wp3/-`%E,D ? d ' K 5Vrx$LTL  L  L L _L aLgLmLtt0Ly`e<33]3(8)9): )>P@XFgGLHLILX,eYe\`L]L^{b<cdjeofrltuLviwLx,Ly\z l |   Cstrongswan-libs05.9.12150600.3.2.1OpenSource IPsec-based VPN SolutionStrongSwan is an OpenSource IPsec-based VPN Solution for Linux This package provides the strongswan library and plugins.g+~Xh02-armsrv3SUSE Linux Enterprise 15SUSE LLC GPL-2.0+https://www.suse.com/Productivity/Networking/Securityhttps://www.strongswan.org/linuxaarch64/sbin/ldconfig [ -z "${TRANSACTIONAL_UPDATE}" -a -x /usr/bin/systemd-tmpfiles ] && /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/strongswan.conf || : L3XNjpNu% < Zo! Oa[fg)q!h` L8P X C$   p( hX ( 8p ((  h  0$Ppp@   X P   PNjpNu% < Zo! Oa[fg) L3Xqw)pAA큀AAAAAAA큤A큤AA큤Ag+~Hg+~Hg+~Ig+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Ig+~Ig+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Hg+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Ig+~Hg+~Hg+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Hg+~Hg+~Ig+~Ig+~Ig+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Hg+~Ig+~Qg+~Qg+~Og+~Og+~Og+~Og+~Bg+~Og+~@g+~Og+~@g+~Og+~>g+~Og+~=g+~Og+~;g+~Og+~>g+~Og+~>g+~Og+~@g+~@g+~Og+~Cg+~Cg+~Og+~Rg+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~Og+~@g+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Ig+~Hg+~@g+~@g+~@g+~H0a043e77911c7e831b4f5e155c5265749fbffaeef9e2f91c6115955d27fb62fd693d34ab5bce20b358ef4745b5bda89dd3ed24349629a419f8853fe8fc89aa04523e90fe53bfba3fdf7abb31862df9dc01d12fbbf0d193d4a68a563626fdfe644f937794c9642ef2f38fbb4c166dfc4bee5bbe032db5c402c1d1e469521db0794228279fcfe9eaad01ae1546a0a20760b43348f3f340cde9483f70521a03cdae8bd9a074a1f69c99b9c99d1d67894f93033e0de1148b56378328611730ac535feede7a2c856d211d7cdf6c640205ff7f624a6788c3341f7861703033fa6ea632e2aacc6c685603d0f002e051195efda64369620359628609a4ea8d203a91464c216ceafa2fbc641f66bf5d432e2d32e6b4cbd9898bf581f1bfa1952819bc19e2de5b1352fca26393787fcb9a0f427890750da799994b8e3e2d7534771bb26fcbd19da97d486de5635fd94fced561ef14cd4b2dd086dab7b20078a2fca78482045341de935f4d6c7deb35015876731d7f6ac6dc04f9a94433b514d6aa7253f3abe43f0388bdfdb6261e2a687a48544b2180102b4020ae29ca56c5ee48b07683f052ee0931362b04f207f04c559538031d5a98d7515e7c6ac5e67552959ab072ed96462246ee685cb52bc978bdd21ae745aeca2194811773c511ae4f361c1f731f9b9d5149d1bab38de57f66507b210fb69a007a2a41076301b3f512f04e6129a5923b8da7566f85cde3225285737685ae2999c06085bc2b4f7fc754bb756d69d2ed6bcf981ae90b5f250af77953fc02ab866af983cc50f16ee6c67251f693289ff38db10ce54bc19704f180279f04a2ed0ec4494ea2b1bd95af202818488c9952a62c4cdcc8dce3449d3e8cc2a54ee76c1cf7f5d44d453c93fd3c171f40414e2964d613715f092c3594daab03d8cb9d4a5364856bcc79cd62b2ef816b2b9f7227c634b2522ec7087d0c95832e840a0f78eee04c928dd15fa68f5fa2772ae4938aa69be0eb15914bf444c45e9ecbca06ad2f797ae44610c21344ccc6d90a088dd0f777ba568f2d812bbdaa7da4173a5bcae89feb7008806994efacaa8355590059641678e50a0eeafac556447be3b77bb3d00910c0b6645b7ad24a4b586547be1036aeeb72f7b1d230ec18b7041cb487627b930450a69eeb2c84a41473b2cfdf7687cd3d6e80b5bcf906231975ede88eaedf037e29642d37b88eb0d2cc6cf4458cfa2fc6437eee93117d14a408c3ce9108d46b652cd9b716143589f5266b5a71a16a4d0be5f56ff1273390428f74be3457a8b93ffcf0eed562170bfb01b070b07b2e140b248c24ccedacddc8a12fd4633985478ea42152473f57a414987848d5f4c796af8a832453b4e6d5291896d145188f47a335596290a86d4989019d4876ae508f2314f836a8aa53d51161084a9d08c94a7b6290048bb8858677ba0aa9b566e0c628d3ce24f9c1f719e8f304508d029b60c0fbfbbb0106eb0db5a8c65006e6eb73408e37717d432eb6e2f3448a67c24ff4ba64d81cb01bbabd48716760698b1353eb2b3322211acdf5d226bd7385640ae8479407a50f92983c96f7a8a4e4e934c72fe23a96bbfc0c413044061b2a5720006036e1973cab610d98726329ba1c630c4597a8badeb621bca71df6e34967ab1a60fa286a4d1b8798320f64f389997339109366f7cb2ed5568fdf6b1ed0de1dcae0d7717daf7b389a1c2f59b7d4fe1f23c407bccbd5e0c9baeeb2cb4f96d7649e79f26e744d55d7ba38e3518f0ca46f8e2193b238fb4525a3afb4ce5df4692daf440f6b108b0957cc0ea2f7aaef23ddd8e7029faba9f030c7af773c25dfa08f0e3918d04f22baf463ae1d42c1ece7e9dc5a1c0cec658d9ff1f47751fe8f2c01629899387229b1fcd8b8db97a012e3597672a984e5719653557a733b1ec48447dec59d59bcb987bac5e88e4373150d93f1897abbb8f05cf872659dc936abbe7f5fb4b85263c026c8c842cc740aeec00a63b46bb2d9216e04660a8e3421a37d191f1c00063aa1a331fe16c933e5ade6f07b1f650e3258957430207ed716ab0c603f0c32a22d5573126380bfbac15ca59efc489b7fd8d134b3080b4b1f7151672ad4f74364bc0f38ee6e947fc953c8d698bc1d9c730f26a79f40b767b90af1c6e70595ae23aab5836af58fd09d375d0084eadd5ba62dc9ba36ea55920fbadae570bce8a27df5e9521391c0847982ae3425e00777722d6996497705a62a2b370ed57172239d361cdd96ed85b3c2e12027ad15325bd6b5547bb4290b5c79471073c09c5b466e0e1116ab562185b69b81980212115621444e755592edc33a129003e4b848407a9b0fdcecf7f286c973f340bb7cfa582f1ab5231bffdb5c26fd67a91c6f1f71252bae10faf256d5b61bfbbae7fc7da842f11baca0423cc837c8c38a22c76003b5ce0cf0b27aebbe00590c9f9f8814ade7d1ab8e96a35fdeef5e5671e0bfe58952d491dd8727499d47b9308e780289cffd41740ce2e93aacb757ad7a47916e9608a8b4dac75364f5f519e2fb368d854c71772b5ff7944f2ba44d39078db6f359e76ce99e7e265614ea8e08bf8db1fc0b946e9cdb755388fc7d9ba3bab6f1878a9da33e68ca673a55aac60306cdc4e90ab0feb2f7d21e56a78ab7e25a71e7357c4696c904258d9ea3bce0f53296033afafd1df6b7a669ab0893cedd0d02b2477416f76eca3afdee32160c9024ccf44b258ccb50387e5857326f7d409e9cc577a2b189e92928b3637e8ca103e10d3d617f8dd04fb4187fcc734d14b65aff671384b35a966539703e8296c8cc34dc55171623878868387f213ad56383dc2eb335ce2801fa47cc0139ef23c604e0616baa1afd3ff24ab1e70524fbd092c558fad3d5a4728e08710ee31ec98abedbddfdc7aaba0439ecdaa532b95031f55e7e7a096725af27e75406ceda5c6c77bb1ce442d1b0a183932c1a63c9127ee1dea30719eee4388404c14f3d56f36c9003733412ce60b190b028264c5039bfdfa8168ab23b804ec38dd546ae5e68d20049882d48fe43de2bb9c75cf884f50c8c895e9b759896f86c896fe9bdf123e9ffb6de71f8992f8826bc67ca67191c608ae2f5654af61ad948b25615d4542a9fe9864be94f58f3b2e7f134f65da40aef2b4f6079688f7879eb51ef3f3b4a1b32d93c61e7093777734e1ee6168bc934688215038a6c02bae294d13f77d30b964526688c9ae90f987facb99671a18ecf2cdb33ca527e15a3ad94918d26625222b283df3ad355a9a8723ec1c623b5ae7147998bc0e6128ea28f596caac4c9a83addf81b149f76469a823ce2d06b22076c2610373f4cfae17c8133abd11130acfe21823b941bc9436b5164766d743c4d6f0a1d3ba04afc8547a6440f67499bb163d5c498b6f14653a4075b7e9ad7aee29ba45e861e97fd2a98f73781508710f1d825e23e501bdc99087873ad65cfd9e925341b4f9f47c1571d3d4249887453f17cf9b59dca30b7266f5a8e5a2c5156581a52b9d4a807c70c91715bc00f67f941c6811c2707a87854ee75ce8f49db54ea4190113389e521a9ecb569cf4ef053216ca18c295b32a9bf2fc3865dd7051498feb72bdd574b06fa174575976ffa1911d93f863ec18d3c2d9c12c73449ddc85fbec1dce621cd16909f87e5255dcafed6fd3ee9ed87b7786cc1dcc6ac0c6220ed08b22fba112ca95df3fe3812d3dfe6eb0260bb4dd6df273ca748f565b0d325a55d1162f9b5519b4e465339e8e3a478359b8e52162c73e54dbd8423a836cc0bcad68f2f9e78f182fb6c6e1714b6438ac3b9cad88112dc981b741112908d2f79eef929e77d792fd524c4e49ccac779fc7ea2c886ec96b907cc9b633231893a96eff89e7732dfa2642752e277cf3fa3ca456b92ddc0c42365dc5eb851f6a45c5f57e0515d0658fdc2c6f422f6f7d391f88b007d1e23bc1642c442c92bc40f4e6f14aac930f0781e40849c5ca594abde8d3f6eea6b54501700e1ca58851c122b3d5f47ca93a36ced5af12f4e423453007a262eb7a15c2344020b7fd64d8e41942c1364642d8c4caa3a187e38c2d434d053e0d1f3d1a0a301d7edc23130e7417d1a0831f0fece3683862d81d3c548865d5ebcfd6673a4331c85ff786010e47c601d70e82bf2981daebdb71e8bfc89bd9f5aa2c7173530c7b503000db4765c16ecf6019a9565ea3c4ad0c9d1a6bd7b45728354f9329296210f488f7407a7888c925f2d8d77cdd68695ab8e96cdbf80ca9e6cf3c363ae1fdf2683201de93e27680718e8c373200f837c8524bb1be8ec1c404067676301f9a0279fbc221f2ef924b7e72ff75b20dced2df99cd2e1dccce5e17c995255196e101bfbc548ef119a848bd6d1dac1c893ba935a9b4df14a09b6a11418509294f17e258e98e695c5f62d6ed61b9911c1a80f451c500a2ad34b6de60696b16bac38c70f7227d05c18455e908d321268c34c0c1693dc31717037db273509f039caa652023aa3ee63810d6ca4567b3520ec95dd779f1fd354ffff5f2f15d88ee17f26d5a96f5924d4568097860b483d23937cc83c7f869a36ea0d2dffd23920a0a8b6a741efe5371f11d5289cf50499e97e2a4a058a10c87fc3ecd908ecc0b7f65573d4900ff6fc56c5a81fdc621c55db83ce706007ef339a6c34cd186706c391e57205d022f1b104bfa9768e1f1181ee7d360567cb1a0cc7a91f448a160af5cdd6007e36bc4adbade95926fba257292cd8b462c8e86a4d5b5150608e3f0c7a840efed17430876c42109e3179769bc674d67c7e5a016925e8c02d9a2ce07db95ef0c9cf95be57b6826c4906fe787616ddd1d1fb6358cd6772fea38dc9e7ee8690654fa5a3e798b7bc655c9190df5f0e5f644d2aaff0dda0a7b86082c084880550f6a37cb9e399e1f71abe4d7817e352e379bb405c7915446483fe66d54d47c7df5b7c576910f91528177c758cc8c7673805b1e1c2f7573814b8ffa2e3e818b67d7ddbdd2ac09b94a4f05a6e0d1a9ab93c38c6c0c2427110ccdf6810ce84d33ed1c98542050574c92f344bc32c113b1b08657dd9e3fe29d82cc92d1aaf525b6a9143eba68566f71b4230289dcef1d3abcb043fdad81e1fdd7b41fbba09f4927ee1f42f0d5349cf34b1834c70104b106b8f44a71567c9ba557a5d171a78bb3f53beacaf7e2361910728f60cbf2e5fbf3796fc2743da3adc4140c64098b36e748ba2f580f946db2fbd9423c297840ede6b0fb4c90f2cb64c9c7be67dda7d1440bd59f81bb1d5c755013ad48c46e5261dbbb09c7a3f6914cdd7318c1c2689310d1a83763847792eaf26320ceab7deb034acc74b07d864bd6782bfbcd310fa1ccddb7e6d2b3cce8f4694bdb4d258be37d5a5756ed0a09828b2c0ea3e3f58969fddaffc9de7e06d33d8781e6164ebfa9f8a045491f2e4ce5511766a57c3510be0103aee6c6b4281982ca113f94c604f7f1a4c21fe34d26631deaf5f6d9fd435dd1f1150dad921bd104a7c16ee78e0c7263c402063900e96720787b98d87455db358fbd76dae3166d220fd7d637d40846507c28f4aa8755f019128d35bbc544d03b8a0b3aaa838f8ae661f751003080a96c9dbf29af847537e6f6388e32b5d27df0361a9672fcef5b4e4d2e63a667b5199a5e00d4ed83b8a923c37f7f1643a376684c645d4902b79fb6e7e4ac809689928475dd2ca70a07deb777a8637bd51ee8a02f11fa8bdeca4ae2ea8e6ffa6b83ff304edf95b81d2f83adbb6b38893411ad0fd9bb9a88239eaf664070f5f86d291f6a8344d7edaea77238c163fbfe9fb26d966ffc12764e34197def4286af2c0e3fc21f27d04cdea014347a55f6fb2c16be4aca69acb07b08ef4f1f2e345491117fe4bf0945b8976af4385f42e4fb68a8167120565ec84d1afb301bbe8d3cec87acde51e09e9008dfe20388820a04fdf249fbe42ea2b3af1a7b55d98da524ccffa447cceb018e9849496c1f6424cdf165a40c6fa12634acbdb3a7e589c0f86d3b6a3831c5831010ea08950ffc228f5071c1251030a58c5f6e48a1ae0f9e1c7dd97da01197a2fe9423a6e365a3dd9cb4968cf34109f5d2f7d432ad3c5cfe63ee3db15913f2bee424b28307f6ac2bf0b7ab11053d2f5af7463cd145f9b1d7c82ebfc5d68b0dff418c211eb609cad3814decfae4286e43b51c0865c89d760e4f496e0d07489e32d6fdadafcfa3da98e1fa918d3bc9f29348d4de48a7a74cc8db06e2cf883699147f7ffd46d7a35a0be059d85b608ba2b0b4731074e839711b14978d8290bc83b4cdd088340ca8af4f23f6fd41cb45a395741ca9c702041dfe0385ccd4baf8cdccad89a953eab008cb65e57c02512ee6d92cde5fe7c76134e5f11cdbac8359e8c696fe15722a11a906da4aacd99cbe556ae9f0c1f4589f9280c9e41bbf5644fd02e323361c0835dc844244f23b8469905bfd82ad7b2fa966b7979c91dda689b449c68d277f16c52a9075c2a8b2940221b6b31fae760f957af09a33bc295019aafb9c894303211e1f35419cc64e77fcf2c4803bde47597477c120b53fd4baa57451a02763806113994add7063bb75738d9b3d9de0b6f3fcb1de7479d369bd39b343f4fe785cd3e7bece050ab4250caf3ad82e72d10b1bc56ade563dc76963f083a960d8842c0f7e3a79421f8a5fc5fb0baa70e6ea09615e4b1409067ec6965c01b2045f5a10722eda13bc358b142c30d81b643c4687aaa323806c1f505d012060e4493853739d6ec03b939d2a82719fb6cab494b508a479442376a466d7d54ca948092cdf10f3c843902d3a4ea9f60b1230071cb8ebe20bc4dc388322bbbc8f22b916aa6ab90d2df04a752d75872c6abd7707ab72e16eb3771a4d13dc0ff18cd804e5efb598db67c6bd56294041ac4f1282d204a01f8cd0fafee9fe072ff6b0175597f1fe0731468feb83203435c155cfe56bccd0ec6689d8d30573648258a71b73ac61dd703200e5565eec4680f74cb2ff5d28909b1113cb5f2408293d1c18caf2c7433cd2edc27afd1db43813077c9268da22cef56dd4b12669a47fccf713540ea593ebf8421e93964a1bc0192573f980689fd85cc7cd8652d68d68b97feb65254aa1f7717d31d4a15f49ac18d6d187e5ffe34c71351bfcb85c1e7336baea99aed1c908dbb8dfb610be5645962066bd7275350401185653b747a446ce7564e8ca415ae968656334c411531f288150817cde3a13a0a09c81a1d077c2cd0f3766c7fd7279db4f626c31a0ec1aa8b2f37d2e67e8320ce19b41a9bdcf1a50d499b1e41ace39a087ca1d643e66481732dd696955f6e52f389bed5b6337e8c12fd865ce80a4b3c20bcb67deac8fc7f448f4bd5fc305a4c5446e2828e12ff79571aab097aeb0d1b24f3ee3ef08eb961fc6a25ec6e64b5f031db2fd3827e7bd8e723318f35d69840afa37215cca399dee46a0ac33f56a8e0958fd05367256dac9d210cc7d28245f77c60f7f4286419b1f11ebff6e6b53948a13648e8a8486bcd366e3400c173be3fde8d93fe849d59a7fbacb37e3d0893afe6aed2f791bece567fb5ec0b2f65bf454bec285d6103e6c4c88f4e69bba9eebd25632313239478ef47b77825585880ceb86b89ee1a62c38f19f3d50c9e4f69c6fe2d1934294f72d74ecda68b03b41f57e0c2cc610e2a5ddbde7aaa0664aa0730af11ef36002983b627ff807c8dbaa3a2e5c969055c5bc3d0083898a367d07b315a91439592f40a57e3b98da6227dbeed497665b9f3fc7f76a8234a3270ccdcde26193137a76f07985f95e6c07cef8f4f01cdcfad5fc41c7cb8c823e0233119980acf05d94babd289e65362c50db6ae62375fcf05e65fa2acf390dedb4e0060b76a3d3b095ad9bcf035a25849b655449e5c2532f4980c5c71bde76900a3d13c4b48f7df3b5ce4380bd87c514d6bd43d95c885f2c6bc5ee8f6fd7ac5e686d3c42c00015c19aabcf59f71635caf4515c21e942651e0fd475f6d2cf8dab032cc6a604f8c17b5bdb9e4719d1115675eb2ade8162a66b49fb3a19b83831bda69163aec0f1e120bae71d984c8ce42e6adb20f39cdedd5a77ce44fe072e503f949d210340691537ce45380d28a0e128d0e0dfc7ad39e7bbd43b527d89084ed1517f5de4782f8e681545bf5d1e5f180333de9a415f5ff73739bf9701408ab07436d8a2c3f8f96399c7bf0f6b4d3bca54e339b74b145cbad1ceb871617abc60e27f60b391411382b20379e17fb5fc781ccbca3b293da35fbce6fdd250df4b4aa9a01d8e8914b06e1a18e54e08e82fea5a47ef05f8c5f6d5fecce48908c0382a163eeb1c82a1a91145d46fa2d8929e2cf8f312ce6ef889e0a795169eb0ba5ed81358a5b37b1470dc8b72a42101fe599517a2dc7cf6e39f6185dcf07eac5f98bd532265564b97ba1f97a6428ff057f8d26fb71307dff9078919819a942ebe4eb6792ee77ce2a4d0348e85e83b395d7bb58604bcf693d3521b5ee9c9f1bfc999b7ae76a3942a18b282ee19e85d3ebbaa19a7071b3c7c4706fb6555949337c9dcc63e60d4084345db3bdfd82a0514de3f2f5e915174daedf79bcac3db817f582f8b7b5cbef272e72fe53487594657928ee7dc0f57208f7fda064a4462efb5870bd6a1d0192069b500c10d7d17e412b03bbf7a5902ea46511a2fcf510afe42a4a968a8b1c43f7320febb8638c2bfb6e74df6034a82bbf6257f1f7c490a01d04d2d597aba825d5e38faa2095e298a672cd61c63152e0b560c56a2e5649401a26513fc0c892bea771c65d4c394dc978fe6dd6f1e1e8eb9bc600cadd8f847d47ded1e63b854e7050cf13495b98589168b5a2fc089ffdd9ac82c2a6f1ad71889b63d447d89f82e05568e708274ade9b980aeac4ab20bf99aede43160355b8ba1c7a2fb49a140a283bdacf7edab5c8308fa1e3f619225de5f891f8be8ff26525224d9eee6c64044cb350e24e333cf21a72c92d6a9565db309b1e120fd807071860ebb0efbf2940e783daf158c91d34f280d5f641815c076ef53d88e7177c1bf71684866a38f47b998dbf8b29618fd74477660c7d6c6d2542532b6150c161dc8abe83def8068c329cea65c7d398520d1a063f52a60dc1748b2f6be83f8e19a8eef0eeda827b3cd39bf634688b4c3013016764b1d86f502264404e4a5bdf69e0eb355010efd31524f6abaed806792579a08158dd8ef306adb4a3875c3a47fc003328177268e1a226ef254ae61493498689e470f0eb29b6cfbc038bb81485766b481b3c8b1bf943d8984228279fcfe9eaad01ae1546a0a20760b43348f3f340cde9483f70521a03cdae8bd9a074a1f69c99b9c99d1d67894f93033e0de1148b56378328611730ac535feede7a2c856d211d7cdf6c640205ff7f624a6788c3341f7861703033fa6ea632e2aacc6c685603d0f002e051195efda64369620359628609a4ea8d203a91464c216ceafa2fbc641f66bf5d432e2d32e6b4cbd9898bf581f1bfa1952819bc19e2de5b1352fca26393787fcb9a0f427890750da799994b8e3e2d7534771bb26fcbd19da97d486de5635fd94fced561ef14cd4b2dd086dab7b20078a2fca78482045341de935f4d6c7deb35015876731d7f6ac6dc04f9a94433b514d6aa7253f3abe43f0388bdfdb6261e2a687a48544b2180102b4020ae29ca56c5ee48b07683f052ee0931362b04f207f04c559538031d5a98d7515e7c6ac5e67552959ab072ed96462246ee685cb52bc978bdd21ae745aeca2194811773c511ae4f361c1f731f9b9d5149d1bab38de57f66507b210fb69a007a2a41076301b3f512f04e6129a5923b8da7566f85cde3225285737685ae2999c06085bc2b4f7fc754bb756d69d2ed6bcf981ae90b5f250af77953fc02ab866af983cc50f16ee6c67251f693289ff38db10ce54bc19704f180279f04a2ed0ec4494ea2b1bd95af202818488c9952a62c4cdcc8dce3449d3e8cc2a54ee76c1cf7f5d44d453c93fd3c171f40414e2964d613715f092c3594daab03d8cb9d4a5364856bcc79cd62b2ef816b2b9f7227c634b2522ec7087d0c95832e840a0f78eee04c928dd15fa68f5fa2772ae4938aa69be0eb15914bf444c45e9ecbca06ad2f797ae44610c21344ccc6d90a088dd0f777ba568f2d812bbdaa7da4173a5bcae89feb7008806994efacaa8355590059641678e50a0eeafac556447be3b77bb3d00910c0b6645b7ad24a4b586547be1036aeeb72f7b1d230ec18b7041cb487627b930450a69eeb2c84a41473b2cfdf7687cd3d6e80b5bcf906231975ede88eaedf037e29642d37b88eb0d2cc6cf4458cfa2fc6437eee93117d14a408c3ce9108d46b652cd9b716143589f5266b5a71a16a4d0be5f56ff1273390428f74be3457a8b93ffcf0eed562170bfb01b070b07b2e140b248c24ccedacddc8a12fd4633985478ea42152473f57a414987848d5f4c796af8a832453b4e6d5291896d145188f47a335596290a86d4989019d4876ae508f2314f836a8aa53d51161084a9d08c94a7b6290048bb8858677ba0aa9b566e0c628d3ce24f9c1f719e8f304508d029b60c0fbfbbb0106eb0db5a8c65006e6eb73408e37717d432eb6e2f3448a67c24ff4ba64d81cb01bbabd48716760698b1353eb2b3322211acdf5d226bd7385640ae8479407a50f92983c96f7a8a4e4e934c72fe23a96bbfc0c413044061b2a5720006036e1973cab610d98726329ba1c630c4597a8badeb621bca71df6e34967ab1a60fa286a4d1b8798320f64f389997339109366f7cb2ed5568fdf6b1ed0de1dcae0d7717daf7b389a1c2f59b7d4fe1f23c407bccbd5e0c9baeeb2cb4f96d7649e79f26e744d55d7ba38e3518f0ca46f8e2193b238fb4525a3afb4ce5df4692daf440f6b108b0957cc0ea2f7aaef23ddd8e7029faba9f030c7af773c25dfa08f0e3918d04f22baf463ae1d42c1ece7e9dc5a1c0cec658d9ff1f47751fe8f2c01629899387229b1fcd8b8db97a012e3597672a984e5719653557a733b1ec48447dec59d59bcb987bac5e88e4373150d93f1897abbb8f05cf872659dc936abbe7f5fb4b85263c026c8c842cc740aeec00a63b46bb2d9216e04660a8e3421a37d191f1c00063aa1a331fe16c933e5ade6f07b1f650e3258957430207ed716ab0c603f0c32a22d5573126380bfbac15ca59efc489b7fd8d134b3080b4b1f7151672ad4f74364bc0f38ee6e947fc953c8d698bc1d9c730f26a79f40b767b90af1c6e70595ae23aab5836af58fd09d375d0084eadd5ba62dc9ba36ea55920fbadae570bce8a27df5e9521391c0847982ae3425e00777722d6996497705a62a2b370ed57172239d361cdd96ed85b3c2e12027ad15325bd6b5547bb4290b5c79471073c09c5b466e0e1116ab562185b69b81980212115621444e755592edc33a129003e4b848407a9b0fdcecf7f286c973f340bb7cfa582f1ab5231bffdb5c26fd67a91c6f1f71252bae10faf256d5b61bfbbae7fc7da842f11baca0423cc837c8c38a22c76003b5ce0cf0b27aebbe00590c9f9f8814ade7d1ab8e96a35fdeef5e5671e0bfe58952d491dd8727499d47b9308e780289cffd41740ce2e93aacb757ad7a47916e9608a8b4dac75364f5f519e2fb368d854c71772b5ff7944f2ba44d39078db6f359e76ce99e7e265614ea8e08bf8db1fc0b946e9cdb755388fc7d9ba3bab6f1878a9da33e68ca673a55aac60306cdc4e90ab0feb2f7d21e56a78ab7e25a71e7357c4696c904258d9ea3bce0f53296033afafd1df6b7a669ab0893cedd0d02b2477416f76eca3afdee32160c9024ccf44b258ccb50387e5857326f7d409e9cc577a2b189e92928b3637e8ca103e10d3d617f8dd04fb4187fcc734d14b65aff671384b35a966539703e8296c8cc34dc55171623878868387f213ad56383dc2eb335ce2801fa47cc0139ef23c604e0616baa1afd3ff24ab1e70524fbd092c558fad3d5a4728e08710ee31ec98abedbddfdc7aaba0439ecdaa532b95031f55e7e7a096725af27e75406ceda5c6c77bb1ce442d1b0a183932c1a63c9127ee1dea30719eee4388404c14f3d56f36c9003733412ce60b190b028264c5039bfdfa8168ab23b804ec38dd546ae5e68d20049882d48fe43de2bb9c75cf884f50c8c895e9b759896f86c896fe9bdf123e9ffb6de71f8992f8826bc67ca67191c608ae2f5654af61ad948b25615d4542a9fe9864be94f58f3b2e7f134f65da40aef2b4f6079688f7879eb51ef3f3b4a1b32d93c61e7093777734e1ee6168bc934688215038a6c02bae294d13f77d30b964526688c9ae90f987facb99671a18ecf2cdb33ca527e15a3ad94918d26625222b283df3ad355a9a8723ec1c623b5ae7147998bc0e6128ea28f596caac4c9a83addf81b149f76469a823ce2d06b22076c2610373f4cfae17c8133abd11130acfe21823b941bc9436b5164766d743c4d6f0a1d3ba04afc8547a6440f67499bb163d5c498b6f14653a4075b7e9ad7aee29ba45e861e97fd2a98f73781508710f1d825e23e501bdc99087873ad65cfd9e925341b4f9f47c1571d3d4249887453f17cf9b59dca30b7266f5a8e5a2c5156581a52b9d4a807c70c91715bc00f67f941c6811c2707a87854ee75ce8f49db54ea4190113389e521a9ecb569cf4ef053216ca18c295b32a9bf2fc3865dd7051498feb72bdd574b06fa174575976ffa1911d93f863ec18d3c2d9c12c73449ddc85fbec1dce621cd16909f87e5255dcafed6fd3ee9ed87b7786cc1dcc6ac0c6220ed08b22fba112ca95df3fe3812d3dfe6eb0260bb4dd6df273ca748f565b0d325a55d1162f9b5519b4e465339e8e3a478359b8e52162c73e54dbd8423a836cc0bcad68f2f9e78f182fb6c6e1714b6438ac3b9cad88112dc981b741112908d2f79eef929e77d792fd524c4e49ccac779fc7ea2c886ec96b907cc9b633231893a96eff89e7732dfa2642752e277cf3fa3ca456b92ddc0c42365dc5eb851f6a45c5f57e0515d0658fdc2c6f422f6f7d391f88b007d1e23bc1642c442c92bc40f4e6f14aac930f0781e40849c5ca594abde8d3f6eea6b54501700e1ca58851c122b3d5f47ca93a36ced5af12f4e423453007a262eb7a15c2344020b7fd64d8e41942c1364642d8c4caa3a187e38c2d434d053e0d1f3d1a0a301d7edc23130e7417d1a0831f0fece3683862d81d3c548865d5ebcfd6673a4331c85ff786010e47c601d70e82bf2981daebdb71e8bfc89bd9f5aa2c7173530c7b503000db4765c16ecf6019a9565ea3c4ad0c9d1a6bd7b45728354f9329296210f488f7407a7888c925f2d8d77cdd68695ab8e96cdbf80ca9e6cf3c363ae1fdf2683201de93e27680718e8c373200f837c8524bb1be8ec1c404067676301f90a043e77911c7e831b4f5e155c5265749fbffaeef9e2f91c6115955d27fb62fd693d34ab5bce20b358ef4745b5bda89dd3ed24349629a419f8853fe8fc89aa04523e90fe53bfba3fdf7abb31862df9dc01d12fbbf0d193d4a68a563626fdfe644f937794c9642ef2f38fbb4c166dfc4bee5bbe032db5c402c1d1e469521db079a0279fbc221f2ef924b7e72ff75b20dced2df99cd2e1dccce5e17c995255196e101bfbc548ef119a848bd6d1dac1c893ba935a9b4df14a09b6a11418509294f17e258e98e695c5f62d6ed61b9911c1a80f451c500a2ad34b6de60696b16bac38c70f7227d05c18455e908d321268c34c0c1693dc31717037db273509f039caa652023aa3ee63810d6ca4567b3520ec95dd779f1fd354ffff5f2f15d88ee17f26d5a96f5924d4568097860b483d23937cc83c7f869a36ea0d2dffd23920a0a8b6cfbb70a189fd7ee5af57b0225dd2f98343e5cda24374f3438dc7506112a1f88fc77fda566c42635f1f183eb38d3ffe33c93ac54b09661581f767cbac19a5ead7libcharon.so.0.0.0libimcv.so.0.0.0libpttls.so.0.0.0libradius.so.0.0.0libsimaka.so.0.0.0libstrongswan.so.0.0.0libtls.so.0.0.0libtnccs.so.0.0.0libtpmtss.so.0.0.0libtpmtss.so.0.0.0libvici.so.0.0.0libvici.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootstrongswan-5.9.12-150600.3.2.1.src.rpmconfig(strongswan-libs0)libcharon.so.0()(64bit)libimcv.so.0()(64bit)libpttls.so.0()(64bit)libradius.so.0()(64bit)libsimaka.so.0()(64bit)libstrongswan-addrblock.so()(64bit)libstrongswan-aes.so()(64bit)libstrongswan-af-alg.so()(64bit)libstrongswan-agent.so()(64bit)libstrongswan-attr-sql.so()(64bit)libstrongswan-attr.so()(64bit)libstrongswan-blowfish.so()(64bit)libstrongswan-ccm.so()(64bit)libstrongswan-certexpire.so()(64bit)libstrongswan-cmac.so()(64bit)libstrongswan-constraints.so()(64bit)libstrongswan-counters.so()(64bit)libstrongswan-coupling.so()(64bit)libstrongswan-ctr.so()(64bit)libstrongswan-curl.so()(64bit)libstrongswan-curve25519.so()(64bit)libstrongswan-des.so()(64bit)libstrongswan-dhcp.so()(64bit)libstrongswan-dnskey.so()(64bit)libstrongswan-duplicheck.so()(64bit)libstrongswan-eap-aka-3gpp2.so()(64bit)libstrongswan-eap-aka.so()(64bit)libstrongswan-eap-dynamic.so()(64bit)libstrongswan-eap-gtc.so()(64bit)libstrongswan-eap-identity.so()(64bit)libstrongswan-eap-md5.so()(64bit)libstrongswan-eap-mschapv2.so()(64bit)libstrongswan-eap-peap.so()(64bit)libstrongswan-eap-radius.so()(64bit)libstrongswan-eap-sim-file.so()(64bit)libstrongswan-eap-sim-pcsc.so()(64bit)libstrongswan-eap-sim.so()(64bit)libstrongswan-eap-simaka-pseudonym.so()(64bit)libstrongswan-eap-simaka-reauth.so()(64bit)libstrongswan-eap-simaka-sql.so()(64bit)libstrongswan-eap-tls.so()(64bit)libstrongswan-eap-tnc.so()(64bit)libstrongswan-eap-ttls.so()(64bit)libstrongswan-farp.so()(64bit)libstrongswan-fips-prf.so()(64bit)libstrongswan-gcm.so()(64bit)libstrongswan-gcrypt.so()(64bit)libstrongswan-gmp.so()(64bit)libstrongswan-ha.so()(64bit)libstrongswan-hmac.so()(64bit)libstrongswan-kdf.so()(64bit)libstrongswan-kernel-netlink.so()(64bit)libstrongswan-ldap.so()(64bit)libstrongswan-led.so()(64bit)libstrongswan-md4.so()(64bit)libstrongswan-md5.so()(64bit)libstrongswan-mgf1.so()(64bit)libstrongswan-nonce.so()(64bit)libstrongswan-openssl.so()(64bit)libstrongswan-pem.so()(64bit)libstrongswan-pgp.so()(64bit)libstrongswan-pkcs1.so()(64bit)libstrongswan-pkcs11.so()(64bit)libstrongswan-pkcs12.so()(64bit)libstrongswan-pkcs7.so()(64bit)libstrongswan-pkcs8.so()(64bit)libstrongswan-pubkey.so()(64bit)libstrongswan-radattr.so()(64bit)libstrongswan-random.so()(64bit)libstrongswan-rc2.so()(64bit)libstrongswan-resolve.so()(64bit)libstrongswan-revocation.so()(64bit)libstrongswan-sha1.so()(64bit)libstrongswan-sha2.so()(64bit)libstrongswan-smp.so()(64bit)libstrongswan-socket-default.so()(64bit)libstrongswan-soup.so()(64bit)libstrongswan-sql.so()(64bit)libstrongswan-sshkey.so()(64bit)libstrongswan-tnc-imc.so()(64bit)libstrongswan-tnc-imv.so()(64bit)libstrongswan-tnc-pdp.so()(64bit)libstrongswan-tnc-tnccs.so()(64bit)libstrongswan-tnccs-11.so()(64bit)libstrongswan-tnccs-20.so()(64bit)libstrongswan-tnccs-dynamic.so()(64bit)libstrongswan-unity.so()(64bit)libstrongswan-vici.so()(64bit)libstrongswan-x509.so()(64bit)libstrongswan-xauth-eap.so()(64bit)libstrongswan-xauth-generic.so()(64bit)libstrongswan-xauth-pam.so()(64bit)libstrongswan-xcbc.so()(64bit)libstrongswan.so.0()(64bit)libtls.so.0()(64bit)libtnccs.so.0()(64bit)libtpmtss.so.0()(64bit)libvici.so.0()(64bit)strongswan-libs0strongswan-libs0(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/sh/sbin/ldconfigconfig(strongswan-libs0)ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.27)(64bit)libc.so.6(GLIBC_2.30)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)libcap.so.2()(64bit)libcrypto.so.3()(64bit)libcrypto.so.3(OPENSSL_3.0.0)(64bit)libcurl.so.4()(64bit)libgcrypt.so.20()(64bit)libgcrypt.so.20(GCRYPT_1.6)(64bit)libglib-2.0.so.0()(64bit)libgmp.so.10()(64bit)libgobject-2.0.so.0()(64bit)libgpg-error.so.0()(64bit)libgpg-error.so.0(GPG_ERROR_1.0)(64bit)libimcv.so.0()(64bit)liblber-2.4.so.2()(64bit)libldap_r-2.4.so.2()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.29)(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpcsclite.so.1()(64bit)libpttls.so.0()(64bit)libradius.so.0()(64bit)libsimaka.so.0()(64bit)libsoup-2.4.so.1()(64bit)libstrongswan.so.0()(64bit)libsystemd.so.0()(64bit)libsystemd.so.0(LIBSYSTEMD_227)(64bit)libtls.so.0()(64bit)libtnccs.so.0()(64bit)libtpmtss.so.0()(64bit)libxml2.so.2()(64bit)libxml2.so.2(LIBXML2_2.4.30)(64bit)libxml2.so.2(LIBXML2_2.5.0)(64bit)libxml2.so.2(LIBXML2_2.6.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)5.9.12-150600.3.2.13.0.4-14.6.0-14.0-15.2-1strongswan5.9.124.14.3e]@eSa@d-@dK@d&@cc@c@b@b<]@aaexa`+``j`a@`a@``^|@^0"@]A]@]@]@ZYYYY$$@WzOVEUp=UlI@T|Tp@T@Tto@To)@Tmmohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commohd.saquib@suse.commeissner@suse.comhare@suse.demeissner@suse.commeissner@suse.comabergmann@suse.comhare@suse.demt@suse.commt@suse.commbuil@suse.commbuil@suse.commbuil@suse.commbuil@suse.commbuil@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.commmnelemane@suse.comndas@suse.dendas@suse.dendas@suse.dendas@suse.dedoug@uq.edu.aumt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.demt@suse.de- Updated to version 5.9.12 (jsc#PED-5765 bsc#1216901) * Fixed a buffer overflow in charon-tkm [CVE-2023-41913] * Support for ``nameConstraints`` of type ``iPAddress`` are now supported by the "x509", "openssl" and "constraints" plugins * Support for encoding subjectAlternativeName extensions of type uniformResourceIdentifier in X.509 certificates has been added. * Make the NetworkManager plugin (charon-nm) actually use the XFRM interface it creates since 5.9.10. This involves setting interface IDs on SAs and policies, and installing routes via the interface. To avoid routing loops if the remote traffic selectors include the VPN server, IKE and ESP packets are marked to bypass the routing table that contains the routes via XFRM interface. * The kernel-libipsec plugin now always installs routes to remote networks even if no address is found in the local traffic selectors, which allows forwarding traffic from networks the VPN host is not part of. * Fixed issues while reestablishing multiple CHILD_SAs (e.g. after a DPD timeout) that could cause a reqid to get assigned to multiple CHILD_SAs with unrelated traffic selectors. - Removed following patch which is part of updated package [- strongswan-5.9.7-5.9.11_charon_tkm_dh_len.patch]- (CVE-2023-41913) Fixed a bug in charon-tkm related to handling DH public values that can lead to remote code execution (bsc#1216901) [+ strongswan-5.9.7-5.9.11_charon_tkm_dh_len.patch]- Updated to version 5.9.11 (jsc#PED-4589) - Removed Marvell auth-els patch (bsc#1211715) [- 0001-marvell-auth-els-strongswan-5.9.7-v1.patch] - Fixed strongswan fails IPSEC IKEv2 test related to the USGv6 certification (bsc#1211711) - Dropped following patches due to irrelevance in the updated version: [- 0055-vici-dont-lock-connection-in-write-mode-when-enabling-on_write-callback.patch] - Renamed following patch: [- 0005-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch] [+ 0001-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch] - Version 5.9.11 changelog: =================================== * https://github.com/strongswan/strongswan/releases/tag/5.9.11- Fix crash when swanctl command gets stuck intermittently (bsc#1207489) [+ 0055-vici-dont-lock-connection-in-write-mode-when-enabling-on_write-callback.patch] - Modified README file to reflect rcipsec usage- Allow to use stroke aka ipsec interface by default instead of vici aka swanctl interface which is current upstream's default. strongswan.service which enables swanctl interface is masked to stop interfering with the ipsec interface (bsc#1184144) - Removes deprecated SysV support- Updated to version 5.9.7 (jsc#PED-1539) - Added following Marvell auth-els patch for strongswan 5.9.7 [+ 0001-marvell-auth-els-strongswan-5.9.7-v1.patch] - Dropped following patches due to irrelevance in the updated version: [- 0001-Modularize-the-IKEv2-key-derivation-so-it-can-be-pro.patch] [- 0006-Resolve-multiple-definition-of-swanctl_dir.patch] [- 0007-Fix-typo-in-README.patch] [- 0008-gcrypt-Use-a-dummy-buffer-to-initialize-static-alloc.patch] [- 0009-strongswan-openssl-aead-add-ccm-support.patch] [- 0051-libcharon-fixed-strongswan-crash-in-packet-sender.patch] [- strongswan-4.4.1-5.9.3_cert-cache-random.patch] [- strongswan-5.5.0-5.9.4_eap_success-CVE-2021-45079.patch] [- strongswan-5.6.1-5.9.3_gmp-rsa-ssa-salt-len.patch] [- strongswan-CVE-2022-40617.patch] [- strongswan-marvell-auth-els.patch] - Version 5.9.7 ================ * The IKEv2 key derivation is now delayed until the keys are actually needed to process or send the next message. So instead of deriving the keys directly while processing an IKE_SA_INIT request (which could come from a spoofed address), it is delayed until the corresponding IKE_AUTH request is received. See below for required changes for Diffie-Hellman implementations. * Inbound IKEv2 messages, in particular requests, are now processed differently. Instead of parsing all inbound messages right away (which might trigger a key derivation or require keys we don't have anymore in the multi-KE use case), we now first check a request's message ID and compare its hash to that of the previous request to decide if it's a valid retransmit. For fragmented messages we only keep track of the first fragment so we can send the corresponding response immediately if a retransmit of it is received, instead of waiting for all fragments and reconstructing the message, which we did before. * The retransmission logic in the dhcp plugin has been fixed (#1154). As originally intended, four retransmits are now sent over a total of 15 seconds for each DHCP request. Previously, it could happen that some or all of the five messages were sent at basically the same time, without any delay to wait for a response. * The connmark plugin now considers configured masks in installed firewall rules (#1087). For instance, with mark_in = mark_out = %unique/0x0000ffff, mark values in the upper two bytes would not get reset by the rules installed by the plugin and could be used for other purposes. However, note that in this example the daemon would have to get restarted after 65'535 CHILD_SAs (at the latest) to reset the global 32-bit counter for unique marks as that's unaware of any masks. * Child config selection has been fixed as responder in cases where multiple children use transport mode traffic selectors (#1143). * The outbound SA/policy is now also removed after IKEv1 CHILD_SA rekeyings (#1041). * The openssl plugin supports AES and Camellia in CTR mode (112bb46). * The AES-XCBC/CMAC PRFs are demoted in the default proposal (after HMAC-based PRFs) since they were never widely adopted (RFC 8247 only mentions AES-XCBC and recommends it exclusively for IoT deployments). * The kdf plugin is now automatically enabled if any of the aesni, cmac or xcbc plugins are enabled, or if none of the plugins that directly provide HMAC-based KDFs are enabled (botan, openssl or wolfssl). * The CALLBACK macros (and some other issues) have been fixed when compiling with GCC 12 (#1053). * Support for GTK 4 was added to the NetworkManager plugin (#961), the necessary changes were released separately with version 1.6.0 of the plugin.- Fix crash in packet sender in libcharon library caused by marvell-auth-els patch (bsc#1199205) [+ 0051-libcharon-fixed-strongswan-crash-in-packet-sender.patch]- strongswan-CVE-2022-40617.patch: Fixed that using untrusted URIs for revocation checking could lead to denial of service (CVE-2022-40617 bsc#1203556)- Enable Marvell plugin (jsc#SLE-20151)- 0001-Modularize-the-IKEv2-key-derivation-so-it-can-be-pro.patch: Outsource the IKE key deriviation to openssl for FIPS certification. (bsc#1195919)- strongswan-5.5.0-5.9.4_eap_success-CVE-2021-45079.patch: Fixed authentication bypass in EAP authentication (CVE-2021-45079 bsc#1194471)- Fix integer overflow in gmp plugin (bsc#1191367, CVE-2021-41990) [* strongswan-5.6.1-5.9.3_gmp-rsa-ssa-salt-len.patch] - Fix integer overflow when replacing certificates in cache (bsc#1191435, CVE-2021-41991) [* strongswan-4.4.1-5.9.3_cert-cache-random.patch]- Add auth_els plugin to support Marvell FC-SP encryption (jsc#SLE-20151) [* strongswan-marvell-auth-els.patch]- Replace AEAD AES CCM patch with upstream variant (cc/fips,bsc#1185363) [* 0009-strongswan-openssl-aead-add-ccm-support.patch]- Add support for AES CCM aead algorithms to openssl plugin (cc/fips,bsc#1185363) [+ 0009-strongswan-openssl-aead-add-ccm-support.patch]- Add config to run ipsec on namespaces (bsc #1183670)- Information added in README about the rcstrongswan-starter- Keep using ipsec as the main binary. Therefore, make strongswan.service point to it instead of swanctl- Fix FIPS bug (bsc #1180801) [+ 0008-gcrypt-Use-a-dummy-buffer-to-initialize-static-alloc.patch ]- Fix typo in README (bsc #1167880) [+ 0007-Fix-typo-in-README.patch ]- Fix for to resolve multiple definition of swanctl_dir (bsc #1164493) [+ 0006-Resolve-multiple-definition-of-swanctl_dir.patch]- Updated to version 5.8.2 (jsc#SLE-11370) - Dropped following patches due to irrelevance in the updated version: [- strongswan_modprobe_syslog.patch ] [- strongswan_fipsfilter.patch ] [- 0006-fix-compilation-error-by-adding-stdint.h.patch ] [- 0007-strongswan-5.3.1-5.6.0_gmp-pkcs1-verify.patch ] [- 0008-strongswan-5.1.2-5.6.2_stroke_msg_len.patch ] [- 0009-strongswan-5.5.0-5.6.2_skeyseed_init.patch ] [- 0010-strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch ] - Version 5.8.2 =============== * Identity-based CA constraints, which enforce that the certificate chain of the remote peer contains a CA certificate with a specific identity, are supported via vici/swanctl.conf. This is similar to the existing CA constraints but doesn't require that the CA certificate is locally installed, for instance, intermediate CA certificates received from the peers. Wildcard identity matching (e.g. ..., OU=Research, CN=*) could also be used for the latter but requires trust in the intermediate CAs to only issue certificates with legitimate subject DNs (e.g. the "Sales" CA must not issue certificates with OU=Research). With the new constraint that's not necessary as long as a path length basic constraint (--pathlen for pki --issue) prevents intermediate CAs from issuing further intermediate CAs. * Intermediate CA certificates may now be sent in hash-and-URL encoding by configuring a base URL for the parent CA (#3234, swanctl/rw-hash-and-url-multi-level). * Implemented NIST SP-800-90A Deterministic Random Bit Generator (DRBG) based on AES-CTR and SHA2-HMAC modes. Currently used by the gmp and ntru plugins. * Random nonces sent in an OCSP requests are now expected in the corresponding OCSP responses. * The kernel-netlink plugin now ignores deprecated IPv6 addresses for MOBIKE. Whether temporary or permanent IPv6 addresses are included now depends on the charon.prefer_temporary_addrs setting (#3192). * Extended Sequence Numbers (ESN) are configured via PF_KEY if supported by the kernel. * The PF_KEY socket's receive buffer in the kernel-pfkey plugin is now cleared before sending requests, as many of the messages sent by the kernel are sent as broadcasts to all PF_KEY sockets. This is an issue if an external tool is used to manage SAs/policies unrelated to IPsec (#3225). * The vici plugin now uses unique section names for CHILD_SAs in child-updown events (7c74ce9190). * For individually deleted CHILD_SAs (in particular for IKEv1) the vici child-updown event now includes more information about the CHILD_SAs such as traffic statistics (#3198). * Custom loggers are correctly re-registered if log levels are changed via stroke loglevel (#3182). * Avoid lockups during startup on low entropy systems when using OpenSSL 1.1.1 (095a2c2eac). * Instead of failing later when setting a key, creating HMACs via openssl plugin now fails instantly if the underlying hash algorithm isn't supported (e.g. MD5 in FIPS-mode) so fallbacks to other plugins work properly (#3284). * Exponents of RSA keys read from TPM 2.0 via SAPI are correctly converted (8ee1242f1438). * Routing table IDs > 255 are supported for custom routes on Linux. * To avoid races, the check for hardware offloading support in the kernel-netlink plugin is performed during initialization of the plugin (a605452c03). * The D-Bus config file for charon-nm is now installed in $(datadir)/dbus-1/system.d instead of $(sysconfdir)/dbus-1/system.d, which is intended for sysadmin overrides. INVALID_MAJOR_VERSION notifies are now correctly sent in messages of the same exchange type and with the same message ID as the request. * IKEv2 SAs are now immediately destroyed when sending or receiving INVALID_SYNTAX notifies in authenticated messages. * For developers working from the repository the configure script now aborts if GNU gperf is not found. - Version 5.8.1 =============== * RDNs in DNs of X.509 certificates can now optionally be matched less strict. The global strongswan.conf option charon.rdn_matching takes two alternative values that cause the matching algorithm to either ignore the order of matched RDNs (reordered) or additionally (relaxed) accept DNs that contain more RDNs than configured (unmatched RDNs are treated like wildcard matches). * The updown plugin now passes the same interface to the script that is also used for the automatically installed routes, that is, the interface over which the peer is reached instead of the interface on which the local address is found (#3095). * TPM 2.0 contexts are now protected by a mutex to prevent issues if multiple IKE_SAs use the same private key concurrently (4b25885025). * Do a rekey check after the third QM message was received (#3060). * If available, explicit_bzero() is now used as memwipe() instead of our own implementation. * An .editorconfig file has been added, mainly so Github shows files with proper indentation (68346b6962). * The internal certificate of the load-tester plugin has been modified so it can again be used as end-entity cert with 5.6.3 and later (#3139). * The maximum data length of received COOKIE notifies (64 bytes) is now enforced (#3160). - Version 5.8.0 =============== * The systemd service units have been renamed. The modern unit, which was called strongswan-swanctl, is now called strongswan (the previous name is configured as alias in the unit, for which a symlink is created when the unit is enabled). The legacy unit is now called strongswan-starter. * Support for XFRM interfaces (available since Linux 4.19) has been added, which are intended to replace VTI devices (they are similar but offer several advantages, for instance, they are not bound to an address or address family). * IPsec SAs and policies are associated with such interfaces via interface IDs that can be configured in swanctl.conf (dynamic IDs may optionally be allocated for each SA and even direction). It's possible to use separate interfaces for in- and outbound traffic (or only use an interface in one direction and regular policies in the other). * Interfaces may be created dynamically via updown/vici scripts, or statically before or after establishing the SAs. Routes must be added manually as needed (the daemon will not install any routes for outbound policies with an interface ID). * When moving XFRM interfaces to other network namespaces they retain access to the SAs and policies installed in the original namespace, which allows providing IPsec tunnels for processes in other network namespaces without giving them access to the IPsec keys or IKE credentials. More information can be found on the page about route-based VPNs. * Initiation of childless IKE_SAs is supported (RFC 6023). If enabled and supported by the responder, no CHILD_SA is established during IKE_AUTH. Instead, all CHILD_SAs are created with CREATE_CHILD_SA exchanges. This allows using a separate DH exchange even for the first CHILD_SA, which is otherwise created during IKE_AUTH with keys derived from the IKE_SA's key material. * The swanctl --initiate command may be used to initiate only the IKE_SA via --ike option if --child is omitted and the peer supports this extension. * The NetworkManager backend and plugin support IPv6. * The new wolfssl plugin is a wrapper around the wolfSSL crypto library. Thanks to Sean Parkinson of wolfSSL Inc. for the initial patch. * IKE SPIs may optionally be labeled via the charon.spi_mask|label options in strongswan.conf. This feature was extracted from charon-tkm, however, now applies the mask/label in network order. * The openssl plugin supports ChaCha20-Poly1305 when built with OpenSSL 1.1.0. * The PB-TNC finite state machine according to section 3.2 of RFC 5793 was not correctly implemented when sending either a CRETRY or SRETRY batch. These batches can only be sent in the "Decided" state and a CRETRY batch can immediately carry all messages usually transported by a CDATA batch. It is currently not possible to send a SRETRY batch since full-duplex mode for PT-TLS transport is not supported. * Instead of marking IPv6 virtual IPs as deprecated, the kernel-netlink plugin now uses address labels to avoid that such addresses are used for non-VPN traffic (00a953d090). * The agent plugin now creates sockets to the ssh/gpg-agent dynamically and does not keep them open, which otherwise might prevent the agent from getting terminated. * To avoid broadcast loops the forecast plugin now only reinjects packets that are marked or received from the configured interface. * UTF-8 encoded passwords are supported via EAP-MSCHAPv2, which internally uses an UTF-16LE encoding to calculate the NT hash (#3014). * Properly delete temporary drop policies (used when updating IP addresses of SAs) if manual priorities are used, which was broken since 5.6.2 (8e31d65730). * Avoid overwriting start_action when parsing the inactivity timeout in the vici plugin (#2954). * Fixed the automatic termination of reloaded vici connections with start_action=start, which was broken since 5.6.3 (71b22c250f). * The lookup for shared secrets for IKEv1 SAs via sql plugin should now work better (6ec9f68f32). * Fixed a race condition in the trap manager between installation and removal of a policy (69cbe2ca3f). * Compilation of the kernel-netlink plugin has been fixed on old kernels (< 2.6.39), which was caused by the HW offload changes (c7f579fa17). * The IPsec stack detection and module loading in starter has been removed (it wasn't enforced anyway and loading modules doesn't seem necessary, also KLIPS hasn't been supported for a long time and PF_KEY will eventually be removed from the Linux kernel, ba817d2917). * Several IKEv2 protocol details are now handled more strictly: Unrequested virtual IPs are ignored, CFG_REPLY payloads are ignored if no CFG_REQUEST payloads were sent, a USE TRANSPORT_MODE notify received from the responder is checked against the local configuration. * The keys and certificates used by the scenarios in the testing environment are now generated dynamically. Running the testing/scripts/build-certs script after creating the base and root images uses the pki utility installed in the latter to create the keys and certificates for all the CAs and in some cases for individual scenarios. These credentials are stored in the source tree, not the image, so this has to be called only once even if the images are later rebuilt. The script automatically (re-)rebuilds the guest images as that generates fresh CRLs and signs the DNS zones. The only keys/certificates currently not generated are the very large ones used by the ikev2/rw-eap-tls-fragments scenario. - Version 5.7.2 =============== * For RSA with PSS padding, the TPM 2.0 specification mandates the maximum salt length (as defined by the length of the key and hash). However, if the TPM is FIPS-168-4 compliant, the salt length equals the hash length. This is assumed for FIPS-140-2 compliant TPMs, but if that's not the case, it might be necessary to manually enable charon.plugins.tpm.fips_186_4 if the TPM doesn't use the maximum salt length. * Directories for credentials loaded by swanctl are now accessed relative to the loaded swanctl.conf file, in particular, when loading it from a custom location via --file argument. * The base directory, which is used if no custom location for swanctl.conf is specified, is now also configurable at runtime via SWANCTL_DIR environment variable. * If RADIUS Accounting is enabled, the eap-radius plugin will add the session ID (Acct-Session-Id) to Access-Request messages, which e.g. simplifies associating database entries for IP leases and accounting with sessions (the session ID does not change when IKE_SAs are rekeyed, #2853). * All IP addresses assigned by a RADIUS server are included in Accounting-Stop messages even if the client did not claim them, allowing to release them early in case of connection errors (#2856). * Selectors installed on transport mode SAs by the kernel-netlink plugin are now updated if an IP address changes (e.g. via MOBIKE) and it was part of the selectors. * No deletes are sent anymore when a rekeyed CHILD_SA expires (#2815). * The bypass-lan plugin now tracks interfaces to handle subnets that move from one interface to another and properly update associated routes (#2820). * Only valid and expected inbound IKEv2 messages are used to update the timestamp of the last received message (previously, retransmits also triggered an update). * IKEv2 requests from responders are now ignored until the IKE_SA is fully established (e.g. if a DPD request from the peer arrives before the IKE_AUTH response does, 46bea1add9). Delayed IKE_SA_INIT responses with COOKIE notifies we already recevied are ignored, they caused another reset of the IKE_SA previously (#2837). * Active and queued Quick Mode tasks are now adopted if the peer reauthenticates an IKEv1 SA while creating lots of CHILD_SAs. * Newer versions of the FreeBSD kernel add an SADB_X_EXT_SA2 extension to SADB_ACQUIRE messages, which allows the kernel-pfkey plugin to determine the reqid of the policy even if it wasn't installed by the daemon previously (e.g. when using FreeBSD's if_ipsec(4) VTIs, which install policies themselves, 872b9b3e8d). * Added support for RSA signatures with SHA-256 and SHA-512 to the agent plugin. For older versions of ssh/gpg-agent that only support SHA-1, IKEv2 signature authentication has to be disabled via charon.signature_authentication. * The sshkey and agent plugins support Ed25519/Ed448 SSH keys and signatures. * The openssl plugin supports X25519/X448 Diffie-Hellman and Ed25519/Ed448 keys and signatures when built against OpenSSL 1.1.1. * Support for Ed25519, ChaCha20/Poly1305, SHA-3 and AES-CCM were added to the botan plugin. * The mysql plugin now properly handles database connections with transactions under heavy load (#2779). * IP addresses in ha pools are now distributed evenly among all segments (#2828). * Private key implementations may optionally provide a list of supported signature schemes, which, as described above, is used by the tpm plugin because for each key on a TPM 2.0 the hash algorithm and for RSA also the padding scheme is predefined. * The testing environment is now based on Debian 9 (stretch) by default. This required some changes, in particular, updating to FreeRADIUS 3.x (which forced us to abandon the TNC@FHH patches and scenarios, 2fbe44bef3) and removing FIPS-enabled versions of OpenSSL (the FIPS module only supports OpenSSL 1.0.2). * Most test scenarios were migrated to swanctl. - Version 5.7.1 =============== * Fixes a vulnerability in the gmp plugin triggered by crafted certificates with RSA keys with very small moduli. When verifying signatures with such keys, the code patched with the fix for CVE-2018-16151/2 caused an integer underflow and subsequent heap buffer overflow that results in a crash of the daemon. * The vulnerability has been registered as CVE-2018-17540. - Version 5.7.0 =============== * Fixes a potential authorization bypass vulnerability in the gmp plugin that was caused by a too lenient verification of PKCS#1 v1.5 signatures. Several flaws could be exploited by a Bleichenbacher-style attack to forge signatures for low-exponent keys (i.e. with e=3). * CVE-2018-16151 has been assigned to the problem of accepting random bytes after the OID of the hash function in such signatures, and CVE-2018-16152 has been assigned to the issue of not verifying that the parameters in the ASN.1 algorithmIdentitifer structure is empty. Other flaws that don't lead to a vulnerability directly (e.g. not checking for at least 8 bytes of padding) have no separate CVE assigned. * Dots are not allowed anymore in section names in swanctl.conf and strongswan.conf. This mainly affects the configuration of file loggers. If the path for such a log file contains dots it now has to be configured in the new path setting within the arbitrarily renamed subsection in the filelog section. * Sections in swanctl.conf and strongswan.conf may now reference other sections. All settings and subsections from such a section are inherited. This allows to simplify configs as redundant information has only to be specified once and may then be included in other sections (see strongswan.conf for an example). * The originally selected IKE config (based on the IPs and IKE version) can now change if no matching algorithm proposal is found. This way the order of the configs doesn't matter that much anymore and it's easily possible to specify separate configs for clients that require weaker algorithms (instead of having to also add them in other configs that might be selected). * Support for Postquantum Preshared Keys for IKEv2 (draft-ietf-ipsecme-qr-ikev2) has been added. For an example refer to the swanctl/rw-cert-ppk scenario (or with EAP, or PSK authentication). * The new botan plugin is a wrapper around the Botan C++ crypto library. It requires a fairly recent build from Botan's master branch (or the upcoming 2.8.0 release). Thanks to René Korthaus and his team from Rohde & Schwarz Cybersecurity for the initial patch and to Jack Lloyd for quickly adding missing functions to Botan's FFI (C89) interface. * Implementation of RFC 8412 "Software Inventory Message and Attributes (SWIMA) for PA-TNC". * SWIMA subscription option sets CLOSE_WRITE trigger on apt history.log file resulting in a ClientRetry PB-TNC batch to initialize a new measurement cycle. The new imv/imc-swima plugins replace the previous imv/imc-swid plugins, which were removed. * Added support for fuzzing the PA-TNC (RFC 5792) and PB-TNC (RFC 5793) NEA protocols on Google's OSS-Fuzz infrastructure. * Support for version 2 of Intel's TPM2-TSS TGC Software Stack. The presence of the in-kernel /dev/tpmrm0 resource manager is automatically detected. * The pki tool accepts a xmppAddr otherName as a subjectAlternativeName using the syntax --san xmppaddr:. * swanctl.conf supports the configuration of marks the in- and/or outbound SA should apply to packets after processing on Linux. Configuring such a mark for outbound SAs requires at least a 4.14 kernel. The ability to set a mask and configuring a mark/mask for inbound SAs will be added with the upcoming 4.19 kernel. * New options in swanctl.conf allow configuring how/whether DF, ECN and DS fields in the IP headers are copied during IPsec processing. Controlling this is currently only possible on Linux. * The handling of sequence numbers in IKEv1 DPDs has been improved (#2714). * To avoid conflicts, the dhcp plugin now only uses the DHCP server port if explicitly configured. - Version 5.6.3 =============== * Fixed a DoS vulnerability in the IKEv2 key derivation if the openssl plugin is used in FIPS mode and HMAC-MD5 is negotiated as PRF. This vulnerability has been registered as CVE-2018-10811. * Fixed a vulnerability in the stroke plugin, which did not check the received length before reading a message from the socket. Unless a group is configured, root privileges are required to access that socket, so in the default configuration this shouldn't be an issue. This vulnerability has been registered as CVE-2018-5388. * CRLs that are not yet valid are now ignored to avoid problems in scenarios where expired certificates are removed from new CRLs and the clock on the host doing the revocation check is trailing behind that of the host issuing CRLs. Not doing this could result in accepting a revoked and expired certificate, if it's still valid according to the trailing clock but not contained anymore in not yet valid CRLs. * The issuer of fetched CRLs is now compared to the issuer of the checked certificate (#2608). * CRL validation results other than revocation (e.g. a skipped check because the CRL couldn't be fetched) are now stored also for intermediate CA certificates and not only for end-entity certificates, so a strict CRL policy can be enforced in such cases. * In compliance with RFC 4945, section 5.1.3.2, certificates used for IKE must now either not contain a keyUsage extension (like the ones generated by pki), or have at least one of the digitalSignature or nonRepudiation bits set. * New options for vici/swanctl allow forcing the local termination of an IKE_SA. This might be useful in situations where it's known the other end is not reachable anymore, or that it already removed the IKE_SA, so retransmitting a DELETE and waiting for a response would be pointless. * Waiting only a certain amount of time for a response (i.e. shorter than all retransmits would be) before destroying the IKE_SA is also possible by additionally specifying a timeout in the forced termination request. * When removing routes, the kernel-netlink plugin now checks if it tracks other routes for the same destination and replaces the installed route instead of just removing it. Same during installation, where existing routes previously weren't replaced. This should allow using traps with virtual IPs on Linux (#2162). * The dhcp plugin now only sends the client identifier DHCP option if the identity_lease setting is enabled (7b660944b6). It can also send identities of up to 255 bytes length, instead of the previous 64 bytes (30e886fe3b, 0e5b94d038). If a server address is configured, DHCP requests are now sent from port 67 instead of 68 to avoid ICMP port unreachables (becf027cd9). * The handling of faulty INVALID_KE_PAYLOAD notifies (e.g. one containing a DH group that wasn't proposed) during CREATE_CHILD_SA exchanges has been improved (#2536). * Roam events are now completely ignored for IKEv1 SAs (there is no MOBIKE to handle such changes properly). * ChaCha20/Poly1305 is now correctly proposed without key length (#2614). For compatibility with older releases the chacha20poly1305compat keyword may be included in proposals to also propose the algorithm with a key length (c58434aeff). * Configuration of hardware offload of IPsec SAs is now more flexible and allows a new setting (auto), which automatically uses it if the kernel and device both support it. If hw offload is set to yes and offloading is not supported, the CHILD_SA installation now fails. * The kernel-pfkey plugin optionally installs routes via internal interface (one with an IP in the local traffic selector). On FreeBSD, enabling this selects the correct source IP when sending packets from the gateway itself (e811659323). * SHA-2 based PRFs are supported in PKCS#8 files as generated by OpenSSL 1.1 (#2574). * The pki --verify tool may load CA certificates and CRLs from directories. * The IKE daemon now also switches to port 4500 if the remote port is not 500 (e.g. because the remote maps the response to a different port, as might happen on Azure), as long as the local port is 500 (85bfab621d). * Fixed an issue with DNS servers passed to NetworkManager in charon-nm (ee8c25516a). * Logged traffic selectors now always contain the protocol if either protocol or port are set (a36d8097ed). * Only the inbound SA/policy will be updated as reaction to IP address changes for rekeyed CHILD_SAs that are kept around. * The parser for strongswan.conf/swanctl.conf now accepts = characters in values without having to put the value in quotes (e.g. for Base64 encoded shared secrets). Notes for developers: * trap_manager_t: Trap policies are now unistalled by peer/child name and not the reqid. * No reqid is returned anymore when installing trap policies. * child_sa_t: A new state (CHILD_DELETED) is used for CHILD_SAs that have been deleted but not yet destroyed (after a rekeying CHILD_SAs are kept around for a while to process delayed packets). This way child_updown events are not triggered anymore for such SAs when an IKE_SA that has such CHILD_SAs assigned is deleted. - Version 5.6.2 =============== * Fixed a DoS vulnerability in the parser for PKCS#1 RSASSA-PSS signatures that was caused by insufficient input validation. One of the configurable parameters in algorithm identifier structures for RSASSA-PSS signatures is the mask generation function (MGF). Only MGF1 is currently specified for this purpose. However, this in turn takes itself a parameter that specifies the underlying hash function. strongSwan's parser did not correctly handle the case of this parameter being absent, causing an undefined data read. This vulnerability has been registered as CVE-2018-6459. * When rekeying IKEv2 IKE_SAs the previously negotiated DH group will be reused, instead of using the first configured group, which avoids an additional exchange if the peer previously selected a different DH group via INVALID_KE_PAYLOAD notify. The same is also done when rekeying CHILD_SAs except for the first rekeying of the CHILD_SA that was created with the IKE_SA, where no DH group was negotiated yet. Also, the selected DH group is moved to the front in all sent proposals that contain it and all proposals that don't are moved to the back in order to convey the preference for this group to the peer. * Handling of MOBIKE task queuing has been improved. In particular, the response to an address update (with NAT-D payloads) is not ignored anymore if only an address list update or DPD is queued as that could prevent updating the UDP encapsulation in the kernel. * On Linux, roam events may optionally be triggered by changes to the routing rules, which can be useful if routing rules (instead of e.g. route metrics) are used to switch from one to another interface (i.e. from one to another routing table). Since routing rules are currently not evaluated when doing route lookups this is only useful if the kernel-based route lookup is used (4664992f7d). * The fallback drop policies installed to avoid traffic leaks when replacing addresses in installed policies are now replaced by temporary drop policies, which also prevent acquires because we currently delete and reinstall IPsec SAs to update their addresses (35ef1b032d). * Access X.509 certificates held in non-volatile storage of a TPM 2.0 referenced via the NV index. Adding the --keyid parameter to pki --print allows to print private keys or certificates stored in a smartcard or a TPM 2.0. * Fixed proposal selection if a peer incorrectly sends DH groups in the ESP proposal during IKE_AUTH and also if a DH group is configured in the local ESP proposal and charon.prefer configured_proposals is disabled (d058fd3c32). * The lookup for PSK secrets for IKEv1 has been improved for certain scenarios (see #2497 for details). * MSKs received via RADIUS are now padded to 64 bytes to avoid compatibility issues with EAP-MSCHAPv2 and PRFs that have a block size < 64 bytes (e.g. AES-XCBC-PRF-128, see 73cbce6013). * The tpm_extendpcr command line tool extends a digest into a TPM PCR. * Ported the NetworkManager backend from the deprecated libnm-glib to libnm. * The save-keys debugging/development plugin saves IKE and/or ESP keys to files compatible with Wireshark. - Version 5.6.1 =============== * Several algorithms were removed from the default ESP/AH and IKE proposals in compliance with RFC 8221 and RFC 8247, respectively. Removed from the default ESP/AH proposal were the 3DES and Blowfish encryption algorithms and the HMAC-MD5 integrity algorithm. From the IKE default proposal the HMAC-MD5 integrity algorithm and the MODP-1024 Diffie-Hellman group were removed (the latter is significant for Windows clients in their default configuration). These algorithms may still be used in custom proposals. * Support for RSASSA-PSS signatures has been added. For compatibility with previous releases they are currently not used automatically, by default, to change that charon.rsa_pss may be enabled. To explicitly use or require such signatures during IKEv2 signature authentication (RFC 7427) ike:rsa/pss... authentication constraints may be used for specific connections (regardless of whether the strongswan.conf option above is enabled). Only the hash algorithm can be specified in such constraints, the MGF1 will be based on that hash and the salt length will equal the hash length (when verifying the salt length is not enforced). To enforce such signatures during PKI verification use rsa/pss... authentication constraints. * All pki commands that create certificates/CRLs can be made to sign with RSASSA-PSS instead of the classing PKCS#1 scheme with the --rsa-padding pss option. As with signatures during authentication, only the hash algorithm is configurable (via --digest option), the MGF1 will be based on that and the salt length will equal the hash length. * These signatures are supported by all RSA backends except pkcs11 (i.e. gmp, gcrypt, openssl). The gmp plugin requires the mgf1 plugin. Note that RSASSA-PSS algorithm identifiers and parameters in keys (public keys in certificates or private keys in PKCS#8 files) are currently not used as constraints. * The sec-updater tool checks for security updates in dpkg-based repositories (e.g. Debian/Ubuntu) and sets the security flags in the IMV policy database accordingly. Additionally for each new package version a SWID tag for the given OS and HW architecture is created and stored in the database. * Using the sec-updater.sh script template the lookup can be automated (e.g. via an hourly cron job). * When restarting an IKEv2 negotiation after receiving an INVALID_KE_PAYLOAD notify (or due to other reasons like too many retransmits) a new initiator SPI is allocated. This prevents issues caused by retransmits for IKE_SA_INIT messages. * Because the initiator SPI was previously reused when restarting the connection delayed responses for previous connection attempts were processed and might have caused fatal errors due to a failed DH negotiation or because of the internal retry counter in the ike-init task. For instance, if we proposed a DH group the responder rejected we might have later received delayed responses that either contained INVALID_KE_PAYLOAD notifies with the DH group we already switched to, or, if we retransmitted an IKE_SA_INIT with the requested group but then had to restart again, a KE payload with a group different from the one we proposed. * The introduction of file versions in the IMV database scheme broke file reference hash measurements. This has been fixed by creating generic product versions having an empty package name. * A new timeout option for the systime-fix plugin stops periodic system time checks after a while and enforces a certificate verification, closing or reauthenticating all SAs with invalid certificates. * The IKE event counters, previously only available via ipsec listcounters command, may now also be queried and reset via vici and the new swanctl --counters command. They are collected and provided by the optional counters plugin (enabled by default for backwards compatibility if the stroke plugin is built). * Class attributes received in RADIUS Access-Accept messages may optionally be added to RADIUS accounting messages (655924074b). * Basic support for systemd sockets has been added, which may be used for privilege separation (59db98fb94). * Inbound marks may optionally be installed in the SA again (was removed with 5.5.2) by enabling the mark_in_sa option in swanctl.conf. * The timeout of leases in pools configured via pool utility may be configured in other units than hours. INITIAL_CONTACT notifies are now only omitted if never is configured as uniqueness policy. * Outbound FWD policies for shunts are not installed anymore, by default (as is the case for other policies since 5.5.1). * Don't consider a DH group mismatch during CHILD_SA rekeying as failure as responder (e7276f78aa). * Handling of fragmented IPv4 and IPv6 packets in libipsec has been improved (e138003de9). * Trigger expire events for the correct IPsec SA in libipsec (6e861947a0). * A crash in CRL verification via openssl plugin using OpenSSL 1.1 has been fixed (78acaba6a1). * No hard-coded default proposals are passed from starter to the stroke plugin anymore (the IKE proposal used curve25519 since 5.5.2, which is an optional plugin). * A workaround for an issue with virtual IPs on macOS 10.13 (High Sierra) has been added (039b85dd43). * Handling of IKE_SA rekey collisions in charon-tkm has been fixed. * Instead of failing or just silently doing nothing unit tests may now warn about certain conditions (e.g. if a test was not executed due to external dependencies).- Added patch to fix vulnerability: CVE-2018-17540 (bsc#1109845) [+ 0010-strongswan-4.4.0-5.7.0_gmp-pkcs1-overflow.patch]- Added patch to fix vulnerability: CVE-2018-10811 (bsc#1093536) - denial-of-service vulnerability [+ 0009-strongswan-5.5.0-5.6.2_skeyseed_init.patch]- Added patch to fix vulnerability: CVE-2018-5388 (bsc#1094462) - Buffer Underflow in stroke_socket.c [+ 0008-strongswan-5.1.2-5.6.2_stroke_msg_len.patch]- Added patch to fix vulnerability: CVE-2018-16151,CVE-2018-16152 (bsc#1107874) - Insufficient input validation in gmp plugin [+ 0007-strongswan-5.3.1-5.6.0_gmp-pkcs1-verify.patch]- Removed unused requires and macro calls(bsc#1083261)- Updated to strongSwan 5.6.0 providing the following changes: * Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input validation when verifying RSA signatures, which requires decryption with the operation m^e mod n, where m is the signature, and e and n are the exponent and modulus of the public key. The value m is an integer between 0 and n-1, however, the gmp plugin did not verify this. So if m equals n the calculation results in 0, in which case mpz_export() returns NULL. This result wasn't handled properly causing a null-pointer dereference. This vulnerability has been registered as CVE-2017-11185. (bsc#1051222) * New SWIMA IMC/IMV pair implements the draft-ietf-sacm-nea-swima-patnc Internet Draft and has been demonstrated at the IETF 99 Prague Hackathon. * The IMV database template has been adapted to achieve full compliance with the ISO 19770-2:2015 SWID tag standard. * The pt-tls-client can attach and use TPM 2.0 protected private keys via the --keyid parameter. * By default the /etc/swanctl/conf.d directory is created and *.conf files in it are included in the default swanctl.conf file. * The curl plugin now follows HTTP redirects (configurable via strongswan.conf). * The CHILD_SA rekeying was fixed in charon-tkm and the behavior is refined a bit more since 5.5.3 * libtpmtss supports Intel's TSS2 Architecture Broker and Resource Manager interface (tcti-tabrmd). * more on https://wiki.strongswan.org/versions/66- fix "uintptr_t’ undeclared" compilation error. [+0006-fix-compilation-error-by-adding-stdint.h.patch]- Updated to strongSwan 5.3.5(bsc#1050691) providing the following changes: * Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input validation when verifying RSA signatures. More specifically, mpz_powm_sec() has two requirements regarding the passed exponent and modulus that the plugin did not enforce, if these are not met the calculation will result in a floating point exception that crashes the whole process. This vulnerability has been registered as CVE-2017-9022. Please refer to our blog for details. * Fixed a DoS vulnerability in the x509 plugin that was caused because the ASN.1 parser didn't handle ASN.1 CHOICE types properly, which could result in an infinite loop when parsing X.509 extensions that use such types. This vulnerability has been registered as CVE-2017-9023. Please refer to our blog for details. * The behavior during IKEv2 CHILD_SA rekeying has been changed in order to avoid traffic loss. When responding to a CREATE_CHILD_SA request to rekey a CHILD_SA the responder already has everything available to install and use the new CHILD_SA. However, this could lead to lost traffic as the initiator won't be able to process inbound packets until it processed the CREATE_CHILD_SA response and updated the inbound SA. To avoid this the responder now only installs the new inbound SA and delays installing the outbound SA until it receives the DELETE for the replaced CHILD_SA. * The messages transporting these DELETEs could reach the peer before packets sent with the deleted outbound SAs reach it. To reduce the chance of traffic loss due to this the inbound SA of the replaced CHILD_SA is not removed for a configurable amount of seconds (charon.delete_rekeyed_delay) after the DELETE has been processed. * The code base has been ported to Apple's ARM64 iOS platform, which required several changes regarding the use of variadic functions. This was necessary because the calling conventions for variadic and regular functions are different there. This means that assigning a non-variadic function to a variadic function pointer, as we did with our enumerator_t::enumerate() implementations and several callbacks, will result in crashes as the called function accesses the arguments differently than the caller provided them. To avoid this issue the enumerator_t interface has been changed and the signature of the callback functions for enumerator_create_filter() and two methods on linked_list_t have been changed. Refer to the developer notes below for details. * Adds support for fuzzing the certificate parser provided by the default plugins (x509, pem, gmp etc.) on Google's OSS-Fuzz infrastructure (or generally with libFuzzer). Several issues found while fuzzing these plugins were fixed. * Two new options have been added to charon's retransmission settings: retransmit_limit and retransmit_jitter. The former adds an upper limit to the calculated retransmission timeout, the latter randomly reduces it. Refer to Retransmission for details. * A bug in swanctl's --load-creds command was fixed that caused unencrypted private keys to get unloaded if the command was called multiple times. The load-key VICI command now returns the key ID of the loaded key on success. * The credential manager now enumerates local credential sets before global ones. This means certificates supplied by the peer will now be preferred over certificates with the same identity that may be locally stored (e.g. in the certificate cache). * Adds support for hardware offload of IPsec SAs as introduced by Linux 4.11 for specific hardware that supports this. * The pki tool loads the curve25519 plugin by default. [- 0006-Make-sure-the-modulus-is-odd-and-the-exponent-not-zero.patch, - 0007-asn1-parser-Fix-CHOICE-parsing.patch] - libhydra is removed as all kernel plugins moved to libcharon- Applied patch for "Don't retransmit Aggressive Mode response" bsc#985012. - Applied upstream patch for "Insufficient Input Validation in gmp Plugin" bsc#1039514(CVE-2017-9022). - Applied upstream patch for "Incorrect x509 ASN.1 parser error handling" bsc#1039515(CVE-2017-9023). [+0005-ikev1-Don-t-retransmit-Aggressive-Mode-response.patch, +0006-Make-sure-the-modulus-is-odd-and-the-exponent-not-zero.patch, +0007-asn1-parser-Fix-CHOICE-parsing.patch]- Updated to strongSwan 5.3.5 providing the following changes: Changes in version 5.3.5: * Properly handle potential EINTR errors in sigwaitinfo(2) calls that replaced sigwait(3) calls with 5.3.4. * RADIUS retransmission timeouts are now configurable, courtesy of Thom Troy. Changes in version 5.3.4: * Fixed an authentication bypass vulnerability in the eap-mschapv2 plugin that was caused by insufficient verification of the internal state when handling MSCHAPv2 Success messages received by the client. This vulnerability has been registered as CVE-2015-8023. * The sha3 plugin implements the SHA3 Keccak-F1600 hash algorithm family. Within the strongSwan framework SHA3 is currently used for BLISS signatures only because the OIDs for other signature algorithms haven't been defined yet. Also the use of SHA3 for IKEv2 has not been standardized yet. Changes in version 5.3.3: * Added support for the ChaCha20/Poly1305 AEAD cipher specified in RFC 7539 and RFC 7634 using the chacha20poly1305 ike/esp proposal keyword. The new chapoly plugin implements the cipher, if possible SSE-accelerated on x86/x64 architectures. It is usable both in IKEv2 and the strongSwan libipsec ESP backend. On Linux 4.2 or newer the kernel-netlink plugin can configure the cipher for ESP SAs. * The vici interface now supports the configuration of auxiliary certification authority information as CRL and OCSP URIs. * In the bliss plugin the c_indices derivation using a SHA-512 based random oracle has been fixed, generalized and standardized by employing the MGF1 mask generation function with SHA-512. As a consequence BLISS signatures unsing the improved oracle are not compatible with the earlier implementation. * Support for auto=route with right=%any for transport mode connections has been added (the ikev2/trap-any scenario provides examples). * The starter daemon does not flush IPsec policies and SAs anymore when it is stopped. Already existing duplicate policies are now overwritten by the IKE daemon when it installs its policies. * Init limits (like charon.init_limit_half_open) can now optionally be enforced when initiating SAs via VICI. For this, IKE_SAs initiated by the daemon are now also counted as half open SAs, which, as a side-effect, fixes the status output while connecting (e.g. in ipsec status). * Symmetric configuration of EAP methods in left|rightauth is now possible when mutual EAP-only authentication is used (previously, the client had to configure rightauth=eap or rightauth=any, which prevented it from using this same config as responder). * The initiator flag in the IKEv2 header is compared again (wasn't the case since 5.0.0) and packets that have the flag set incorrectly are again ignored. * Implemented a demo Hardcopy Device IMC/IMV pair based on the "Hardcopy Device Health Assessment Trusted Network Connect Binding" (HCD-TNC) document drafted by the IEEE Printer Working Group (PWG). * Fixed IF-M segmentation which failed in the presence of multiple small attributes in front of a huge attribute to be segmented. Changes in version 5.3.2: * Fixed a vulnerability that allowed rogue servers with a valid certificate accepted by the client to trick it into disclosing its username and even password (if the client accepts EAP-GTC). This was caused because constraints against the responder's authentication were enforced too late. This vulnerability has been registered as CVE-2015-4171. Changes in version 5.3.1: * Fixed a denial-of-service and potential remote code execution vulnerability triggered by IKEv1/IKEv2 messages that contain payloads for the respective other IKE version. Such payload are treated specially since 5.2.2 but because they were still identified by their original payload type they were used as such in some places causing invalid function pointer dereferences. The vulnerability has been registered as CVE-2015-3991. * The new aesni plugin provides CBC, CTR, XCBC, CMAC, CCM and GCM crypto primitives for AES-128/192/256. The plugin requires AES-NI and PCLMULQDQ instructions and works on both x86 and x64 architectures. It provides superior crypto performance in userland without any external libraries. Changes in version 5.3.0: * Added support for IKEv2 make-before-break reauthentication. By using a global CHILD_SA reqid allocation mechanism, charon supports overlapping CHILD_SAs. This allows the use of make-before-break instead of the previously supported break-before-make reauthentication, avoiding connectivity gaps during that procedure. As the new mechanism may fail with peers not supporting it (such as any previous strongSwan release) it must be explicitly enabled using the charon.make_before_break strongswan.conf option. * Support for "Signature Authentication in IKEv2" (RFC 7427) has been added. This allows the use of stronger hash algorithms for public key authentication. By default, signature schemes are chosen based on the strength of the signature key, but specific hash algorithms may be configured in leftauth. * Key types and hash algorithms specified in rightauth are now also checked against IKEv2 signature schemes. If such constraints are used for certificate chain validation in existing configurations, in particular with peers that don't support RFC 7427, it may be necessary to disable this feature with the charon.signature_authentication_constraints setting, because the signature scheme used in classic IKEv2 public key authentication may not be strong enough. * The new connmark plugin allows a host to bind conntrack flows to a specific CHILD_SA by applying and restoring the SA mark to conntrack entries. This allows a peer to handle multiple transport mode connections coming over the same NAT device for client-initiated flows. A common use case is to protect L2TP/IPsec, as supported by some systems. * The forecast plugin can forward broadcast and multicast messages between connected clients and a LAN. For CHILD_SA using unique marks, it sets up the required Netfilter rules and uses a multicast/broadcast listener that forwards such messages to all connected clients. This plugin is designed for Windows 7 IKEv2 clients, which announces its services over the tunnel if the negotiated IPsec policy allows it. * For the vici plugin a Python Egg has been added to allow Python applications to control or monitor the IKE daemon using the VICI interface, similar to the existing ruby gem. The Python library has been contributed by Björn Schuberg. * EAP server methods now can fulfill public key constraints, such as rightcert or rightca. Additionally, public key and signature constraints can be specified for EAP methods in the rightauth keyword. Currently the EAP-TLS and EAP-TTLS methods provide verification details to constraints checking. * Upgrade of the BLISS post-quantum signature algorithm to the improved BLISS-B variant. Can be used in conjunction with the SHA256, SHA384 and SHA512 hash algorithms with SHA512 being the default. * The IF-IMV 1.4 interface now makes the IP address of the TNC access requestor as seen by the TNC server available to all IMVs. This information can be forwarded to policy enforcement points (e.g. firewalls or routers). * The new mutual tnccs-20 plugin parameter activates mutual TNC measurements in PB-TNC half-duplex mode between two endpoints over either a PT-EAP or PT-TLS transport medium. - Adjusted file lists and removed obsolete patches [- 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch, - 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch, - 0007-strongswan-4.4.0-5.3.3_eap_mschapv2_state.patch]- Applied upstream fix for a authentication bypass vulnerability in the eap-mschapv2 plugin (CVE-2015-8023,bsc#953817). [+ 0007-strongswan-4.4.0-5.3.3_eap_mschapv2_state.patch]- Applied upstream fix for a rogue servers vulnerability, that may enable rogue servers able to authenticate itself with certificate issued by any CA the client trusts, to gain user credentials from a client in certain IKEv2 setups (bsc#933591,CVE-2015-4171). [+ 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch] - Fix to apply unknown_payload patch if fips is disabled (<= 13.1) and renamed it to use number prefix corresponding with patch nr. [- strongswan-5.2.2-5.3.0_unknown_payload.patch, + 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch]- Applied upstream fix for a DoS and potential remote code execution vulnerability through payload type (bsc#931272,CVE-2015-3991) [+ strongswan-5.2.2-5.3.0_unknown_payload.patch]- Updated to strongSwan 5.2.2 providing the following changes: Changes in version 5.2.2: * Fixed a denial-of-service vulnerability triggered by an IKEv2 Key Exchange payload that contains the Diffie-Hellman group 1025. This identifier was used internally for DH groups with custom generator and prime. Because these arguments are missing when creating DH objects based on the KE payload an invalid pointer dereference occurred. This allowed an attacker to crash the IKE daemon with a single IKE_SA_INIT message containing such a KE payload. The vulnerability has been registered as CVE-2014-9221. * The left/rightid options in ipsec.conf, or any other identity in strongSwan, now accept prefixes to enforce an explicit type, such as email: or fqdn:. Note that no conversion is done for the remaining string, refer to ipsec.conf(5) for details. * The post-quantum Bimodal Lattice Signature Scheme (BLISS) can be used as an IKEv2 public key authentication method. The pki tool offers full support for the generation of BLISS key pairs and certificates. * Fixed mapping of integrity algorithms negotiated for AH via IKEv1. This could cause interoperability issues when connecting to older versions of charon. Changes in version 5.2.1: * The new charon-systemd IKE daemon implements an IKE daemon tailored for use with systemd. It avoids the dependency on ipsec starter and uses swanctl as configuration backend, building a simple and lightweight solution. It supports native systemd journal logging. * Support for IKEv2 fragmentation as per RFC 7383 has been added. Like IKEv1 fragmentation it can be enabled by setting fragmentation=yes in ipsec.conf. * Support of the TCG TNC IF-M Attribute Segmentation specification proposal. All attributes can be segmented. Additionally TCG/SWID Tag, TCG/SWID Tag ID and IETF/Installed Packages attributes can be processed incrementally on a per segment basis. * The new ext-auth plugin calls an external script to implement custom IKE_SA authorization logic, courtesy of Vyronas Tsingaras. * For the vici plugin a ruby gem has been added to allow ruby applications to control or monitor the IKE daemon. The vici documentation has been updated to include a description of the available operations and some simple examples using both the libvici C interface and the ruby gem. Changes in version 5.2.0: * strongSwan has been ported to the Windows platform. Using a MinGW toolchain, many parts of the strongSwan codebase run natively on Windows 7 / 2008 R2 and newer releases. charon-svc implements a Windows IKE service based on libcharon, the kernel-iph and kernel-wfp plugins act as networking and IPsec backend on the Windows platform. socket-win provides a native IKE socket implementation, while winhttp fetches CRL and OCSP information using the WinHTTP API. * The new vici plugin provides a Versatile IKE Configuration Interface for charon. Using the stable IPC interface, external applications can configure, control and monitor the IKE daemon. Instead of scripting the ipsec tool and generating ipsec.conf, third party applications can use the new interface for more control and better reliability. * Built upon the libvici client library, swanctl implements the first user of the VICI interface. Together with a swanctl.conf configuration file, connections can be defined, loaded and managed. swanctl provides a portable, complete IKE configuration and control interface for the command line. The first six swanctl example scenarios have been added. * The SWID IMV implements a JSON-based REST API which allows the exchange of SWID tags and Software IDs with the strongTNC policy manager. * The SWID IMC can extract all installed packages from the dpkg (Debian, Ubuntu, Linux Mint etc.), rpm (Fedora, RedHat, OpenSUSE, etc.), or pacman (Arch Linux, Manjaro, etc.) package managers, respectively, using the swidGenerator (https://github.com/strongswan/swidGenerator) which generates SWID tags according to the new ISO/IEC 19770-2:2014 standard. * All IMVs now share the access requestor ID, device ID and product info of an access requestor via a common imv_session object. * The Attestation IMC/IMV pair supports the IMA-NG measurement format introduced with the Linux 3.13 kernel. * The aikgen tool generates an Attestation Identity Key bound to a TPM. * Implemented the PT-EAP transport protocol (RFC 7171) for Trusted Network Connect. * The ipsec.conf replay_window option defines connection specific IPsec replay windows. Original patch courtesy of Zheng Zhong and Christophe Gouault from 6Wind. - Adjusted file lists and removed obsolete patches [- 0005-restore-registration-algorithm-order.bug897512.patch, - 0006-strongswan-5.1.2-5.2.1_modp_custom.CVE-2014-9221.patch] - Adopted/Merged fipscheck patches [* strongswan_fipscheck.patch, strongswan_fipsfilter.patch]- Disallow brainpool elliptic curve groups in fips mode (bnc#856322). [* strongswan_fipsfilter.patch]- Applied an upstream fix for a denial-of-service vulnerability, which can be triggered by an IKEv2 Key Exchange payload, that contains the Diffie-Hellman group 1025 (bsc#910491,CVE-2014-9221). [+ 0006-strongswan-5.1.2-5.2.1_modp_custom.CVE-2014-9221.patch] - Adjusted whilelist of approved algorithms in fips mode (bsc#856322). [* strongswan_fipsfilter.patch] - Renamed patch file to match it's patch number: [- 0001-restore-registration-algorithm-order.bug897512.patch, + 0005-restore-registration-algorithm-order.bug897512.patch]- Updated strongswan-hmac package description (bsc#856322).- Disabled explicit gpg validation; osc source_validator does it. - Guarded fipscheck and hmac package in the spec file for >13.1.- Added generation of fips hmac hash files using fipshmac utility and a _fipscheck script to verify binaries/libraries/plugings shipped in the strongswan-hmac package. With enabled fips in the kernel, the ipsec script will call it before any action or in a enforced/manual "ipsec _fipscheck" call. Added config file to load openssl and kernel af-alg plugins, but not all the other modules which provide further/alternative algs. Applied a filter disallowing non-approved algorithms in fips mode. (fate#316931,bnc#856322). [+ strongswan_fipscheck.patch, strongswan_fipsfilter.patch] - Fixed file list in the optional (disabled) strongswan-test package. - Fixed build of the strongswan built-in integrity checksum library and enabled building it only on architectures tested to work. - Fix to use bug number 897048 instead 856322 in last changes entry. - Applied an upstream patch reverting to store algorithms in the registration order again as ordering them by identifier caused weaker algorithms to be proposed first by default (bsc#897512). [+0001-restore-registration-algorithm-order.bug897512.patch]/bin/sh/sbin/ldconfigh02-armsrv3 1730903640  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL5.9.12-150600.3.2.15.9.12-150600.3.2.15.9.12-150600.3.2.1 strongswan.confstrongswan.dcharoncharon-logging.confcharon-systemd.confcharon.confaddrblock.confaes.confaf-alg.confagent.confattr-sql.confattr.confblowfish.confccm.confcertexpire.confcmac.confconstraints.confcounters.confcoupling.confctr.confcurl.confcurve25519.confdes.confdhcp.confdnskey.confdrbg.confduplicheck.confeap-aka-3gpp2.confeap-aka.confeap-dynamic.confeap-gtc.confeap-identity.confeap-md5.confeap-mschapv2.confeap-peap.confeap-radius.confeap-sim-file.confeap-sim-pcsc.confeap-sim.confeap-simaka-pseudonym.confeap-simaka-reauth.confeap-simaka-sql.confeap-tls.confeap-tnc.confeap-ttls.conffarp.conffips-prf.confgcm.confgcrypt.confgmp.confha.confhmac.confkdf.confkernel-netlink.confldap.confled.confmd4.confmd5.confmgf1.confnonce.confopenssl.confpem.confpgp.confpkcs1.confpkcs11.confpkcs12.confpkcs7.confpkcs8.confpubkey.confradattr.confrandom.confrc2.confresolve.confrevocation.confsha1.confsha2.confsmp.confsocket-default.confsoup.confsql.confsshkey.confstroke.conftnc-imc.conftnc-imv.conftnc-pdp.conftnc-tnccs.conftnccs-11.conftnccs-20.conftnccs-dynamic.confunity.confupdown.confvici.confx509.confxauth-eap.confxauth-generic.confxauth-pam.confxcbc.confimcv.confpki.confpool.confstarter.confswanctl.conftnc.confstrongswan.confipsecimcvsimc-scanner.soimc-test.soimv-scanner.soimv-test.solibcharon.so.0libcharon.so.0.0.0libimcv.so.0libimcv.so.0.0.0libpttls.so.0libpttls.so.0.0.0libradius.so.0libradius.so.0.0.0libsimaka.so.0libsimaka.so.0.0.0libstrongswan.so.0libstrongswan.so.0.0.0libtls.so.0libtls.so.0.0.0libtnccs.so.0libtnccs.so.0.0.0libtpmtss.solibtpmtss.so.0libtpmtss.so.0.0.0libvici.solibvici.so.0libvici.so.0.0.0pluginslibstrongswan-addrblock.solibstrongswan-aes.solibstrongswan-af-alg.solibstrongswan-agent.solibstrongswan-attr-sql.solibstrongswan-attr.solibstrongswan-blowfish.solibstrongswan-ccm.solibstrongswan-certexpire.solibstrongswan-cmac.solibstrongswan-constraints.solibstrongswan-counters.solibstrongswan-coupling.solibstrongswan-ctr.solibstrongswan-curl.solibstrongswan-curve25519.solibstrongswan-des.solibstrongswan-dhcp.solibstrongswan-dnskey.solibstrongswan-duplicheck.solibstrongswan-eap-aka-3gpp2.solibstrongswan-eap-aka.solibstrongswan-eap-dynamic.solibstrongswan-eap-gtc.solibstrongswan-eap-identity.solibstrongswan-eap-md5.solibstrongswan-eap-mschapv2.solibstrongswan-eap-peap.solibstrongswan-eap-radius.solibstrongswan-eap-sim-file.solibstrongswan-eap-sim-pcsc.solibstrongswan-eap-sim.solibstrongswan-eap-simaka-pseudonym.solibstrongswan-eap-simaka-reauth.solibstrongswan-eap-simaka-sql.solibstrongswan-eap-tls.solibstrongswan-eap-tnc.solibstrongswan-eap-ttls.solibstrongswan-farp.solibstrongswan-fips-prf.solibstrongswan-gcm.solibstrongswan-gcrypt.solibstrongswan-gmp.solibstrongswan-ha.solibstrongswan-hmac.solibstrongswan-kdf.solibstrongswan-kernel-netlink.solibstrongswan-ldap.solibstrongswan-led.solibstrongswan-md4.solibstrongswan-md5.solibstrongswan-mgf1.solibstrongswan-nonce.solibstrongswan-openssl.solibstrongswan-pem.solibstrongswan-pgp.solibstrongswan-pkcs1.solibstrongswan-pkcs11.solibstrongswan-pkcs12.solibstrongswan-pkcs7.solibstrongswan-pkcs8.solibstrongswan-pubkey.solibstrongswan-radattr.solibstrongswan-random.solibstrongswan-rc2.solibstrongswan-resolve.solibstrongswan-revocation.solibstrongswan-sha1.solibstrongswan-sha2.solibstrongswan-smp.solibstrongswan-socket-default.solibstrongswan-soup.solibstrongswan-sql.solibstrongswan-sshkey.solibstrongswan-tnc-imc.solibstrongswan-tnc-imv.solibstrongswan-tnc-pdp.solibstrongswan-tnc-tnccs.solibstrongswan-tnccs-11.solibstrongswan-tnccs-20.solibstrongswan-tnccs-dynamic.solibstrongswan-unity.solibstrongswan-vici.solibstrongswan-x509.solibstrongswan-xauth-eap.solibstrongswan-xauth-generic.solibstrongswan-xauth-pam.solibstrongswan-xcbc.sostrongswantemplatesconfigpluginsaddrblock.confaes.confaf-alg.confagent.confattr-sql.confattr.confblowfish.confccm.confcertexpire.confcmac.confconstraints.confcounters.confcoupling.confctr.confcurl.confcurve25519.confdes.confdhcp.confdnskey.confdrbg.confduplicheck.confeap-aka-3gpp2.confeap-aka.confeap-dynamic.confeap-gtc.confeap-identity.confeap-md5.confeap-mschapv2.confeap-peap.confeap-radius.confeap-sim-file.confeap-sim-pcsc.confeap-sim.confeap-simaka-pseudonym.confeap-simaka-reauth.confeap-simaka-sql.confeap-tls.confeap-tnc.confeap-ttls.conffarp.conffips-prf.confgcm.confgcrypt.confgmp.confha.confhmac.confkdf.confkernel-netlink.confldap.confled.confmd4.confmd5.confmgf1.confnonce.confopenssl.confpem.confpgp.confpkcs1.confpkcs11.confpkcs12.confpkcs7.confpkcs8.confpubkey.confradattr.confrandom.confrc2.confresolve.confrevocation.confsha1.confsha2.confsmp.confsocket-default.confsoup.confsql.confsshkey.confstroke.conftnc-imc.conftnc-imv.conftnc-pdp.conftnc-tnccs.conftnccs-11.conftnccs-20.conftnccs-dynamic.confunity.confupdown.confvici.confx509.confxauth-eap.confxauth-generic.confxauth-pam.confxcbc.confstrongswan.confstrongswan.dcharon-logging.confcharon-systemd.confcharon.confimcv.confpki.confpool.confstarter.confswanctl.conftnc.confdatabaseimvdata.sqltables.sqlsql/etc//etc/strongswan.d//etc/strongswan.d/charon//usr/lib/tmpfiles.d//usr/lib64//usr/lib64/ipsec//usr/lib64/ipsec/imcvs//usr/lib64/ipsec/plugins//usr/share//usr/share/strongswan//usr/share/strongswan/templates//usr/share/strongswan/templates/config//usr/share/strongswan/templates/config/plugins//usr/share/strongswan/templates/config/strongswan.d//usr/share/strongswan/templates/database//usr/share/strongswan/templates/database/imv/-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:36337/SUSE_SLE-15-SP6_Update/604789487f4514d13ce97380803bb36f-strongswan.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghASCII textdirectoryELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=183668d9b31209fbca29a49bda0de5251cde0fbc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3bbe8c88e8ad216206ccb0bcebe1628c70729887, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9e5fcbcd444ecb941f9dd7a50946be9158509e91, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1085f1523feb51532b4bbec935c774ce6649a70b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1f869050bb4b3818e9aac9360fb4648935b66d7b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=676f743bda20fb7ef8271d4baa98f6049fb307b3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=77791f6f04426634a1a9226e69a73c54e05b0bfa, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=01c77e7e656beeebc96e9fe7c349d0026d06ec34, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5780a000e78780486d3ae3378f854abaaf65c6bc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fbad4942d0c143c1026927175b89b6c5819f4332, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b4993477cdd0385ea6cc6a330c03e0120a04e650, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3d081524877e32a4895f7c12b18d8893d51a07b9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b1d5133d60b8e96aebc30207da30443f746e5af9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=da1574581e1bbba365d1bc8b506483fc2b506627, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8e081a64874a40a52e0ab5edc2bed9f8a66941ec, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6a7c150572bd6515ea7f41d78b02d8fc0c9f1622, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bca910826871beaacbcb4a30a65322fd60a32ceb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=544c2cbf2fd18fbbafdb9fa010be83f15aecf366, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=02f1961317af90cba2ab493976e0b70fce774629, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dd576ec59266fbed8fffff199d47607da805bcb9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0b01421ff09c7fbbdfebb8b83ddb4136a3ec3ec5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d97a4905c9ac83c85d6cc6a31bd0beeed7c15a43, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=429d5edeb3593c42cc74467926982c19be904585, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2d51d5eef48588d5e1c93edc5c7685984670a609, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9fe213b87e245dde4391df9c9bf56853bfd15e5f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c725f4ce0fdf5e7594f96deaef267da417031979, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0266ae8616ea433c53f44788ce4d4ab3ca2a563b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f60da88dd7e93573f0871e63efbe3cac3c92cf86, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3eebe0149d5cc51d9556d19b2a2dccaef6717040, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6afd701aa59d64230118f51d9f80bceaded79e46, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bd46b63dccba9fddf61af449495eacab04ca2d5e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b318dab761630f067d95e2fec4613fb1d1a7ee7c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f2740d8aefc712a6df58b25f86314bb5eb37477b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bcd27d6d9f516659af05b4486524b816c27e68d0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9d4abb36854ab5b7ee86699ac3bc5c6f44715202, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1e5826c6a0bc7fb6f84df2a9907a7bed23c25d00, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bf16444d912b00a9cfd63da8970977e0a0580951, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fdfc2823d12eeef992a5fdf6bcecddc235f9323d, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0f1310f41a08527be6f261e79af7b6a154da870c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=01b5f090dc5b87d12ec4f6dbf798087a636d417c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=96f48a7964112e7ec00a4b4fbe4e6c85fcb363da, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3b278cf7f5c61ae817c105a451d15234cf99386c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e528364bc3721e29f5c0f1aa0fbe911ed8f79765, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7c9d18345ae74f9c447fee408b6d32b9918b69d6, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=833ad8d0a6368ad563468d1075b297e318ca571f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=68d48235e5de2cc2dd2dc3eabc9c134a3e492050, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=50fdae5fb72717d422f622249b00e801b6b058d9, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bbafe69df7cf5a5d4b6756c4c65b6141fb41ca08, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=37a0a2cf785a291783ac64f79e19c4103457c302, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3a4ddcf91f9906e1af05b985f8c9b1398ab8ee51, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=38d274f3648f4db526097dc5dc7ddfdb73e2617a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=44d0db7f9d940e1b605c5af9b28f335c45d82dcb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ff00cbd11ecc46c49b63f101e3f03dac8f45d3c8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fefe3920cb55f8e65b47b0cb83125e4c098461d4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0b36932e52fe2328a208081624ed93ceafa1db25, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=53b7bcd7d31f13014f4a3e2782d111121904ba90, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=829ef408f9f54fadb6fb0cef1495cc2716b6a40b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2b91c5d922ab66c509fd8417d16b0de4cb31fc8b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c2531ff5c8f32b29ce1ef3852f30d2cdbc844964, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f30b838e4d1add43bcf00baed543e49a2f680eda, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7aa8273f777bafa003d1707b2325cc8d30cc2b19, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=78e3059210db244f98af18a5c0c63e02e738bc0a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ee72ea3cb34cd3f63765bbe824f8794268b8c762, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9ea2fa057df1884a84c329b0876b702b2f9ad4c4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3c124d79b3aefd5fd2a28476a19968a835905903, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d4f229ff825ccb51047e49e77cd346c4964cd5ce, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3328ce22ad4d286395be0e5635d1053ab4ea82eb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c6beab28e541a53a05b67e37d57a23a837a14ffb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bb843721016df6fe57c3512ed0549382796c04e0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8591a85219bda34da1f63bc3b91a27cfe7389293, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=be8fcfed3c10ddcb34fa851b9905c69095f05469, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=542f8e1b6bac7abe4bba1c3bbab12ed2a0819e96, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=de22673a93c94e0e8cf1a0c554f976b6b8a0a62c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8f99313cbafc31d38195f740734a628d9fe0be3c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=92208edf92feb79f91dc8583f8baa8bb0b1f515e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d34d8ca9f7f9f09689b7467d6252c95838e2e0e8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0be61275b715ba87255a2c3cd130018f3667cc53, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d011536d3bb68c8be6f11cb9073b12895f9549d1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0e986ff2d16e90bfd04d6382473d44713a0836a7, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c6f027ef411d497e01e20776474eaf6e77a0ac46, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5f5ca4e9f7561bd0cbec0686ad83ae70d8030abb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=15d0c77bcaf048d812481116c99a240ba3a72460, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bbfc2c5cf27b0edc232ae522c0fff9c5af5bc1b6, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=13c026037be10572ee0d88ea58c88bbcd618916b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=66c5384df53f61fc3ce69f69890b93253bf661a0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ba65b989a9d16a3b6e038767205ad3fbae314add, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0c2e722250f02d04afef6c6f0004edddc821db0d, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5629a0aac91222d92487ae5f09332fbc782e74bb, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e97b3369e76a7e6df7f6049052442466fac7f7ab, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f12585d35d535ed5a1e0ed2f204d34562c0d3170, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e6c8f12a4ec8b10d5c5fd610d01dda246b308e58, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=21d167aeceb464b637aa87acebaa5b67e8880b75, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=679dccbf27e89de1c8dd44c422bfbf57533fca62, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=48766a5195b32697c58154fc94c21ca4aef1241f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8446814497432be41997612f94e1447e1d940870, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8d3503877e97b4289b97c71ea07aa693503f8f7c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=336838fa555853d391e7ade577da6a2e599d62b5, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=07a0d18ce2a05643e311aaf3214e24d462f6b976, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=89a0f2f31c7aebfa064518f00e8198b05b095ef4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bf302162f6dd20ac921020486482e3b9a893b110, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=122d8e23fcde12aeadb959a6a0a0bd488a40395e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=89e374a1e9ffb471441c05a1fd280aa46b06bde8, stripped !*1:AOV\binrw| ")07>FMRW]gnu{ "*3<CLSZ_glqv~      RRRR%RRRRRR%RRRRRR%RRRRRR%RRPRRRRR%RRRPRRR RR*R%RRPRRR(R%RRPRRRRR%RRRPRRRR%RRP^RR'R RR R R R RRR&RRP_RRRR%RRP`RRR%RRPaRRR%RRPbRRRR%RRPRRRRPRRRPRRRRP RRRRP RRRRP RRRRP RRRRRP RRRRRPRRRRPRRRRRPRRRRPRRRRPRRRRPRRRRPRRRRRPRRRRRPRRRRRPRRRRPRRRRPRRRRPRRRR#R%RRPRRRR#R%RRPRRRRPRRRRPRRRRPRRRRP RRRRRP!RRR(R%RRP"RRRR"R%RRP#RRR#R%RRP$RRR R#R%RRP%RRRR#R%RRP&RRR#R%RRP'RRR#R%RRP(RRR#R%RRP)RRR(R%RRP*RRR(R)R%RRP+RRR(R%RRP,RRRRP-RRRRP.RRRRRP/RRRRRRRRRP0RRRRRRP1RRR RRRP2RRRRRP3RRRRRP4RR RR RRRP5RRRRRRP6RRRRP7RRRRP8RRRRP9RRRP:RRP;RRRRRRRPRRRRP?RRR RRRP@RRRRRPARRRRRPBRRRRRPCRRRRPDRRR"R%RRPERRPFRRRRRPGRR RRRPHRRRRPIRRRRPJRRRRPKRRR-R,R.R+RRPLRRRRPMRRR$RRRRPNRRRRPORRRRRPPRR RR)R%RRPQRRR RR)R%RRPRRRR"R!R)R%RRPSRRR)R%RRPTRRR,R+R)R%RRPURRR)R%RRPVRRR)R%RRPWRRRRPXRRR RR RRPYRRRRPZRRRRP[RRRRP\RRRRRRRP]RRRRR֕Giɠ>I{(utf-8f8b7dbdd470cf25379250d364e954d2976c7ead16d96f322c1c9b1bf01512cb4?7zXZ !t/;]"k%uAFc֘f1/x9:̱`UOnmQn'iF2=^n4{Âu*(:&Z`^YK8HFk>'"΄`tX~u mIfvfыJ3B9S&!SG^fz)y0yĭH(2i(QK0y8Eqj5}C8ь8=[%uSA~S"cl:;iRv= Qs㢾.yS+ȣGC z"U{8ɤ$6lKKGa(X@P&r8_B_1ٍܑP?`el_cO18ڈrt-s>I@XCH.J.mJA0!$9eA(~mXLAO5g.,|F7wU^zy`FTL)_Y۶,P^8_d%]7?P/*'qe&'-|ڱ9 3&Ƈe{yBѸ˧[,Qs)ϥPElRuf+${dL7f:] =NeVZs)؋ i3~ ĜO܊"0IS"AM8K vZ-N?Rc|s 4ʷv M%0:{w ;wQ'=͍܎I1J:t!o\e 5وO,;n[%:+HKhO Mq.Tп]7B\C(NuB3S@!TsʬS唃.  w%ׁCv`6<<6 5o Qm>^jֈNyWaC؂a*Z4TlFIːÐ{z9EX$ .LŇWO(DwG rS&lؾ Y%&*HdSӢ33U0s2*aǪZ%JF2'\'rvM DpaP)GuV 5vN"MH1X\ dXy!X;(OVH"ꅼ˖A7ve/ ]H3t< ZP baDV5K$jim`a (&PAȝX#*AZ0'v9ħ;iH@hi qމӌ Ў%0%7s$+AZ5;)(HSVt:yP;JxZuLnh&Zo?X7 _quaF=aB9Ip[rGymy=C~-uK w?]buql٦YH7c-%ВCSĈP@*Гxrq+7TWSN5զV8vMsP`ySl\FCvbFf.s-Sm{S+EFŕR91WC|_ (kfv-zHZVNkjǒ(]>\w85͈0G`唛M۲g,~ĆF+?*՝Gmz菞s+;~i$ٲIz(4~Q ~CW*ϔ1)9WsAI=K]0ײX#Ov')Fb{t h kk^$pv.&-=9{1U.WzM9.8̅*(Go}eb2Q@hKgwKe Jmn`50Ā_wȨRevT@rK!Bǯ(px8彸qչ?+1GR>1ܮR2J+Ytष RD|W=^#% QUe\o̗\A1HeVDq`SF-Ej'̰Å +S?/Fzl5x4GO- JhtԛDZmgjlwV63e7ts>^#`e{WGgVnj2M(XJPHsxpb lcFJw5uuU導 l ՙ4%􏦄/rMB' X8}F|Q5{JBz@@"\N/\ĩ, #o T륲vEK/(Knݰ[I[d8#v<ꚗ1,W@P(P3ц-j,u=yWUl{s˸\Jm@ e]3L9jy"%ɵT7XE$TX"7R ǹVVz™qeMk%0l_4 ωښ (SiUF[q r8%9R)< $q\2i 8ʊmk=vs$+ɬ411 {)L=Mߌbk'$3C.Y48lȖgO.O>rC&w'9'uLj"0^\Wd˾5/$mlZ4@C< ۙvVz ;Z n6;#+N]U֑(/_/  !HgzPNle00V'B؇p Tok#<$ sۜ =+(> NqY&u5N乢BdXx2{\g$dNi+8'5 9cƷ[~#c sM://_tk\<^wćFy;Fkeԕ]yԇ۵1TeK#|zLw#{MZⲧs$Ycy]2ȝ+a}D= uru/ JTL`MAUH-=u ۦqR9I .*6dqr ?mBibZb'/d{ h"xkB HC!~q(CBi{SKJlYu*F{ۂϏ  Ϸ[^ȽåaPElvBQ$Jh<={:r?47ٚQ#*CuUiI(/!Lq-}):X!Q``yM厈'WοZM\d!G}MAGg*KKfI`"dIwvJiF>p pbutIqHyGbbR{FmFT5 zcKS ; 0v${'T %lЎ@gz_#K=Ind-W~~][Lmi&1D\|čH}!>rGu;(ƴ{y -˞zU@VO 4=M,ғNI| ؟I?a q05/ѻ?WT]^$]D4#H{ gjʽ"v.}JFg׽n E~ Âd䓘:U@*BG)q1x\ s50ۺOӃA rFe.Z,f[i=Kʠ4dxxyOwGjgjz"vaƫ_X/"[yZش =^i?TWe:U/j=tι!9igg:nOh+jt~u+ݓFd.tX&bOP4P~@m܀(tOadܤó3s&X){` >R X_f4^lfL#RǴ0w7WOjxշ Z6ˬ*̹zD&yAq7`k$řŘTn$:b=&2wNz|Kx-6.uT`NĝzOOv H4# >U25< ӻg#Ep褿xT]Qago *O_1U]{ 4~)d1鹜ksSJclmo2Cg)| ҽ atc?>rhY]aF9cY+%)u j'vW9q+J=rטr+$<.t 0gHW@0U(9$oq7T BVb2s E-5gd.ޡ\aŔs ښky:LAnu,*W5+Nm[Ӛ9OSYSRg pw%nyV*A?p̓"JSFKи N][g|ӓ[_TLyVYBQ^m>c-f9m<) XZ=P#P(;B"t(v\P=d͊8}Fxf4zЕb406()&܌@!٭NvgnǾs9ޖo&{4s,05S[ͤłyX=$^ ],NwsŪLNJke"/'zG=ȁrTq=elJKzTCƻ,` `)=Mw>T+fWlG= y.Z 5 O("!bkɰ# - umx GA *q;s VO4>?iu|w#݀lOjgz3pX_am$ƶd<ĞOX<}2@F|Sp@LB-Xtc*c}e"I:~4 qj6}Z/y2NX@LdTB1I|]+MĆ"[ OA#I!zVLW|eڀxp_*qTw9p?(J >9j.S]H*cK"XНٿY(tKzq[ydeR',h7ttW&̲lE32 !)Nr#BPFx!Hă FA=PHÃLv;S$Xzw3|_:I%!5XH#I뉰iwh-@B8bc$z,ZlS zK L! GF]Cs= խ('>XXђx difӒ؋(4op^UR*ڀךFy `)\RI_ͳ"cഀ τEDDE Cu]>J#3fuLsEx8YƼ]\ y#3i2hWRLަDS J%o 4Gu[1Q˖qb >vى|,\mZ1'*he<+]-@y M$[qB >>Tvi,t"_ujB1:SMQhzrAn:@㰪&t G8\HYW^naF#>[-rc,;j{\puOGYن,|;#-A^ ;R&{e޲VA^@~z%%cn|gِխh60mDs>Vg:vk[d xq5=9H"7f*yg/_d?؛j=,8oM93˪hF2v NK4`4%"Lp0 UXF]L$ b_kY|Ay^.uMi~׆z((pȡ_Ryf<.]+NrT i4LFNԚ@Ռ]K>֧r pHnM]}~T6ŏ XSA*(ϡh nGHl >V|^6 &$?ݲ^RZ`_fqapj >(blRay۾I샆H0Xqf}{xY'tGvֹeI ExBu7( L0;Z%$K}lx&>S%bhd'rNMi[|G*܇g-G#җH9(4a"cT4ᗿnmpV)3)q5JGʛ8%ER@>}6gRs!/5K`>9mѲ*H'8ʳӖ`I)&,J,AS^ k ׆ $ĵ=b?Kt@|z]7-2!ZM#0Zwgz2R+i[ٽ9.&_F"V,ZT8`D}]xjmP%K^Ue}߻0t\:S`?XTpHh*/JW(9`d"(Q@KE} aj .QB!s ^O-CqoE# h-6{|W9Ke%NUͥZ e(]ݙ-znLn G&y6qң]gw]h7%PCR뤶>c>Jމ]8bwi]}PEdz >za'"Z Ő PVwƤ+v'RQzՐj1"#Je9cB$H5w87Y_`5iߨC-J!ny@FL--hL2^VRvsyY" tz%|g2T-kgqkʜ## _kuhy*O_aw#n<\a}mr,)oG O*Ƌ=)#`y?ȯӗp[d0=ݙW)70%&v1jn0- p+9j{(Ys^z].ɚ$1nn ZK`naLR u엶L0HO!L4Sq ~zHr-)=nIJi惟Fj7])~MծTgin5UpRRr)&foo-@/G wdpz",s+?$LfO5(gpCD^0qqO.2k -Q i5诲}YG`#4c;76jr!_&odN A9g iac~+]B.4Tm{ဘ}CxrDC6ƃ| v: ިG^ :Q) iۢCkep&5}FW{|в-~:LvF1EySth}E$(AhHvۂTpgbk+1h|y<<ݟc P}$ƴׂr=ú by;'J.?-^|Rv¾SK4Û ,tQ"0V3+ة6ؐX*COqp62HNZ(ەuO}hP@šw>`(6]JQqb+Xm\x_"/0>KNy!csA{}0{~ ueݭ>-8QkC^q1Nab>yRh#qo}Q\MTb<\@'&;Uyݭ@ ?0@Eh)h-,|hTZNrHZ{=i`E^՞fhգ{aoAzHVw1x"PL:$o}͖P#$CaVI۴hB^IFe-˄;NW`\st kITx.@m/ND}T &_QWTxd|my2sqzfTB* 駍dBeG:a<9Nw AXRs xi 8`9n!G@с27J!>N [QNY 66󠍽E RatoYkZTIkiNR9)YaH'*5)\>iX4vH0'W2Yᄊ紜a5~l*5lhI)=h篺Z}ca/_Ȩ~;-o 3Ulu".9:ك϶3\R:"eIbذYg*C`Χn+#Gdu>aZYdB,nIt3 nUHTSQSH`JYwޛ5>x]YIYd:KQ*Ԧlޔ\n82s6BOA)SZοm" 0:.  *lHRsy^br5$_ ߪH&1d0K;J#}~2?R0fQ+9XV6 5 v,{ ?!*17 U$' tĉF1^jC3-mܦ#eP1]s|nF ":FRAwcJvr`H5mCLr*6W]d APc_0ڧBL|UUADms}#q(/4;r(~<;JR}巁?pO $lnBd] IA+ԑJf5ƦĀ?;tqD.+iiSi74.$LeiܓyCx.6 }>Iff;@/.{^\?Ձ)6Hp|50ҡtTLǷKlUqL$+/#O| 񔢍?vyGu7ɱS }*P 8H%SssՎ,:g6hw kۤD UcW9JyËN1q*>c(f3~,Vl(*/M.s=4W>%@\IWXQPX8y}k?!X@  ,8E_V]nv y9wjUUaEbE{:Df 5~LF0ޖB'NSdd-bV>w2ѮȲZNgߡ8Ky=t* s̄Aw--m*r[%\iD>/h%f_;u3!XmxZ QzgW·?r#.4Y2t+Ń !5ScA ©ȦWc(M7AqkdGDѢ lh|=zmxoɪ^;|{$__T$yB JV(Bց[̫=ƀD3nA]&uv~/Jc-bx奝?)2p/9*$7f ƼڴVqhLe /p8dGױPUG`k$^nd_Ξzu;m$dbm6!䑼@^߿] )tv8TQKZ?i"aMРbl溁|g|(.4X!H"{9!HQUGx=#ѹs1 @Ȯw^qF0 M#S~1NnNZ/E_:b ]XkU'nAN&m?@dV|TvVs:9+L]?2^ߎ( ÅQ'D+g,J&™*${@viAvw\HЉ8{bե\F}du^)_ 猄\HY=qR^bxŏhDKuS 6@%`׊xz`)5_ӽDq9XlrPHTa=QM1&DMT=/clb)Ӱ+kBZ5](aJ\7T`Lds0 {}p̶l]ϛȋ[/MSQFLfvT8DeRw=Svf)̱RMq,`/Žd8AΔnW-&{(Ys@Vzx8~"J%rϔU ],n?>go)Am!LU,˜"Qн_w"Knkz0McOWQZE E|e 59Կ=o'@UJSHh8oqcUCfr̐^ACWeЁu|[?Dhȫ"gcp gUGN_'}Kiw) g=GNrax)QsN2@')+˰9Kw/打yNvdx^E6mHGpn{P9JxDaL= q'vݑQ"b*Az3_⮕5tT׍\5z8jGOU3Is5vu. ,,yR/g邢l/¥m=zCծ?Fً/k?t8-P;O#j{Et\ƙcxϗ8}sC)#ql+٥R+R7=vej~:<}]F#VG^fËW|尣'i Gn/x^=fp3]KTABm{QY`Ζb]f讎zGv{ 'Ɇ]-H1Ι#2߂`[!I#sbb$b^p}`fb AB4U!3l޼sKo:2/Ā_^~t}[{fM ͭ8p$6rA %Qɗ!M0*XYlؕ3:u ?'—Un$8x^=z[ g;td,yugk)7h@k Ii4f̤?Юǡw H1S5Z>C#+O^Yt3$U43,C!:uңxvv|J,_fW69I0pIe"{{DҮ#4 n^LgէncvٸXØQ\̷ː*\zKlЉ吟uG1;ZGۭfx 6O`L #K@Dq+$ ױ%prjLO[9A0*m/>^njQX(=M EшOq6THxjcU?Sm/`zu rT5 nJ O&œI<*9jAYȓ;jlc$C+fe_}-G1ejA9jm2 tᆕ_ۣgu+nFl*vaP:cu= +qɵ).5Fۖqb)IZ۪4|?e#J=CkSvE}9W,Hz܄s؜D .oHTVNj@&G}=dRH[M 7˕Pn$u@*wL\s8,jAr .hGn_j.wkf1b4H٪!ђWx 3/Š Y9K1"X`ۑØXU 9 H%jwlc@/@^L~HUySϥ!fgE'„ݸ.ᱍocҥRseҬ bkMJY:ߴ;X|w,5C䉒җu$wI[oMqF@K|7.Y7QX"kPؓ- Fۓh#xۡ&C6i*>v/:A~x}+:x8ϱ+3w*QMQH+ b̽ ݫ5qLy7܂WX:@&j޲b&~L7v6NɟŵlwEyنIZT%>>a"!h8O# x yl Jw')&?ol6l0j~X ̎T 랗sSe=ӎ?e&}0?yJmjVJ̰҃Ec+c8: BE"Sۮp|csrg9<_ťH]R`B*13_t1D7֔!U1h*0Pѡ|V1zN H_1kuE-}ؘU ,!T:ݯH|n!n6S%z,C>-#v@;_Z!k H`&2ie\\QEZsR ٸStmh4Ļ@Yׯ1AJD`VjqYM&m1Ymͬt89 q6R$mRlCr kܗ-\ba3aII&G\2 Oaڧ'>s\; ai hԼ*?W KVKլpYU%LP**wW ڑ2[oʟ4DX~7/P2D)ffW2Mh,Nů9xm xM%˕kTsϢNtpdaH-2~a9I7\ur0 Y GBcgv%8Y#LSBjLI1{ؔ%o0gHJTٰadf/К {_t9'٭4P-pv.@>iJ m֤8UB 5%tJL{,NI7*PFmhWqRGM a h[6D0̪gLQ:0ZZP{Q*meP ?9xcg=,/-U5-QM@yȂu-68 ;$[uv8Xzu"/egwJBA]=bMxjGƴ. Qk 7ٰ"G{q'3AEi4bp̳]ȈS% eXsէD@nIRDfhX< R*j T‚UE"LMfn,j^uB! MJu5~| Pxg`qa?ȟ?־JYK8+Fp\8]6r DSGfՙwNRp9NM[A(HZf5 pCn\gϷiBS{7O/ wxj-3 Z*O28\45ht;MrpVU*H`5oW Ebڠr1i3V^*ת ֩o`mĘOYIt-#_MA0X( O O3 DRn WG" }gտ]۫Xi`+y,C;2-B̟i3B⭨ثҨ;g?rf1 *)ɖ%?㣆o&b5/5&JWy[-ӬaMUe#s@(C7F(KuM*OU pȞ"ʦm;{( e,0eg^"H##)ZJ7,yh{ȽX1;^W'*<.:p-L(F۞Q Mѱt^!!ˊPL73y&:QEaˊbo~K݃?pKMA(W1>Tl Л:N&is@xN-Q1}7ͥBќb$A^(7Y.^pv=xpKa!IMd47 Y_R'Xqb梉A QecrW]O υZH1T~ 5[O"2YaFP$Y߲B|l1mvx%>@+{Y6=j1TWVWH (Uod$/eW\/)I3v*!2wp6/S9 "SR!zH%R?yŊ iS)FkllK O7 65rWM Ap1 (z!#"wF AB5?0g{VCʼLSqι-O,d;qC[sMCGYy= "ڡGE]隷:8x cWI7a8I44 g(u a32N+!bx@F);Tg wv"pfi}Aᷢ=Z`kW}詇 v4:rYŠ*얋k }?tfpKa}5z-fF kP* J}rɡ.IIZM^YЉ،H8 JoUUMjg_ 6/{DW՚CU눜 ?͘?pJul,!ò;m[q} rڏ#=[U:!:g 03'J2~^l9zF6oYy @9&'u0XK"ٽ&Yeeo[P!GfS}Ձ&g _Q`6vUN(6Y;%_(4aMX8^^ʝXNzY-pdq$e)t1X9Jq 3ٔN ?nPbD6pB[,ThS^V*4{tG 1yapC(emȢpsX8ee 8'KAgNύK4'J Ӳiln"~X*EJՐ.8x6M9"-D>7ɾ BL@/-@[+NVVODy2&^Cc져qnީcyVq8\nK0buvY/]#=Y4kO.T8uao $OԲqJh )_§@Z+*nr&t_aHUAdt'u.ic: `1 *tj|LX+NCo~Hp!΀~!*pX/#r]r<Lv83J1Z/Dh}:k@ R&;ccة>I{}2^ǒѝ%ן$ ˘mŠ^a\,bk.uQ7=Y|@/=> Ɋ#U敦46ImA4liPKJFS\BDk|>`Qi&xJlml5YXDC=[m>Q؝\0$=j `>?k ^LFKm7w {E,"zqmZkʗȢt;R'wrTIޞ]ťUp,Ʀ] m:B?QqFI^Iz?:ddjMR[m97ՓM .+/3t+aM%#*ŵj KDmU1\{.kY Ez19*Zf"Y ]"7U0krQ(3 ʱ@owCF>9F[y.4($Ҡ3I6be(E G2צzQ/ u᧓Qϊ^]TE1b&'*cN.GuRt ųZtޙ$h4f2ZUi6W;mI/G޾r(Hl:: rY[HxsZP?eހŎt䤩6y}nqغtmNiUE2X[-$wa,@E b<ʸ*w!zkx~-nMORSGA?4p-k `jI/$o*؄8ef^=?G4*` ̬"6gOBP&%A|(}KFk]Ubb:#5oZ%VQը%"b;ul dp27*y׿,ēyZkiJ|8|ꕩkr[%80)'=W9 ZUF1:N.ZQX8DcƂ p])qYɛ'B6`Dyы;ub7KzMIl9RZe.yЍ&'ahaY Vt$E A]ÉKSAVNGA` D.V=L1R _[Jt]"h8ތsOa.V0^Oɤ6vw S ]!;kZ߾Wt&\w.{Ejo֚)Pk`].{dŢboq;>O!4JZ 4 IJK(_F*7kbpht!D#KEʚ[g޾I(O@ iZ&'>F>$ЃDx^'$[.$jƣ5 EVt~$fIRH`p>%}EJ ld"k[ ? `,B.UPN2ӴXp\ 8Oe츶Q#Ф30Hwu- w Tw߹|pta}!FJ\B@aWz H$Qa06}e$ f;*8nQ8P$$Tk|hڛMC곮B&fz-ITDbC:u'M@Dk  sLu2ь]@]sҕ,n^j]2 eUdmVN(/ H'rTݾp @;YO翬$ MD0$ ?>\LmttjyTʨ2P:"{od骈>-)G4`@RO -B}aޯvJb@s9S3v=Xwݟ0ϭUH{j@=x\d0V(Kd?&rK(젒rk 0hN!\`#Pda[?F9Oxւ33R0 GvyV=R`F3lt*滴3Z"tKeOY0F ANʂvXU&|L\5ܯiSjzBb)ꭘ9ґRshM?wh9=xu v"(7奞Y#T=@2}|9bXuE0qն!ǭ7yXms )Z&_`wuBRYTWް[k"Re2>ܷLZi1.sˎ%hi~;RbǏ꥗zOmj֢sӵH "kF>H`=o!vߓ)Z*>D7Uj6ro2ښ ~P)[wZRM? -A ,`Ѿ; 9YL`{]һU:Y0dE؉S$8 U }nO^_%P~2L}YU}FO0FA*I6\%g 31x+[6H#j#&I)wHM63 Jg՟~| cBs{5!}qZFfiIR YAqk@~J72e1Nã#~u ,O[:Spngvr>&6zTGqWL=xI[$*dė RzA>EŹV@Ƚj.HLm*XY L,@lOngkcTGx܅U*]ZW ?Ҋg oRdy83zq2+IC3v#*T7V 7Hbs֞ҍnk:37nN L`;Mi,|dzm>p, e$"J|-  oěgGDOx7/hy UyWPjڷ,P[)42eTd:^KSB14_%3'*3QXꘋ_A9q|EYc~7cNx/eqKyZiyR1 l~$ONdȢ^I&ûp9pf4:#lJ[I h ($Ku@E6b6gd<-ž$|t,}D Hk}KoT;y[ҥ2[Bx@i  FqmU-4-oЄa#sp<mL_EGL*۪bA0i(u%mD8u<np~O23HYO B; ЁcI$QJ&&zK<&8I6 I>A~$(+h.?c+%e+s S񪑬"\(߃t͙ `.<颒Te"zFkVc ʈtp 8W;Ot@ap,U<` )px*Xz{?$G@vG+tcsa3rLi0cK5m8j&7;@?\;"f吷20\tPh T캨X4!w`dt(F<'|/x1A'匶hGcf˟l\,C I5c}Qf SucJIjOs*zgSൎ(- X3wpl _֬=fcF#yq` G>DwӷA??J(q^ۗIO,oWFJ 8k[jk"@+Ƣ;}oTyH:Depx[dh&4/ V]K Yegѽ96@R d#\xM<οy8{Fa Ӳf%KB7OJdK@p°GqnSh/=r0ZYG.4u:f^JSOn|HKbOa"|F82SyJ_ ddjӴQxySm V `N6k|`*1[9%#N,^E(6+[B unwx;K59?IJ 9Ay]-9cd@b1:$?= aWo'\Q\TL(Vq vGͮ"`w"s0sZEr *݃Rɐ^ ,/6yP,F/#m 糐Bn ~`3|WTS06J! ,-`÷)I qm+<'ԗ|267)= QF_eM9D~d2Bۄd)OL6_^ JMe J'ˎМ,7*nٽ+Kh_']V60`G{>UMF 77Xŋ 8@H7iaz9)k,0!rc۵Z$/&(Y|~/u0i(|g5ğc2_xf᪋ю҄4,;%""% FxʂUG&\I~#a322X 9'oon!ߎbe I%=2}^]6H TQrwZyFc-7h(Lb8 ĺ;^z5׋a{v9y*+ ![ְ{;&k &;JܙL+.ˎS-N3s:k﵁0ӹ">\0ۻl3Bz$mYC4} j/n7@LEi_܎@Is#qk)O&96\ČR0T&P!QkmqmcO_~tgi(֙ʼn '>]IyՠW < ms{ E8R,^֗5Ibi_v)獎s#.5ՙVV7ruX/(Ü&n,9֛g!XCz]|Tj^TYh=s6_[Y*TU,L&]?˧CZlAXcݹzrE?x3U+xf]U o3l xisAN4ɂn h@]jw\b'$h2KyWEx=^H?fqbS78~J]@>g;s(Q]gىiRTok/~ סM/,T,1vRs7褑 A@srJ׍մM@T,; &pü1?lJaɼ[&e.anU`uhi] 3ChtavV뇕C!69{ oRQoWzPNaa#=pFkpy+=eC Xe 0i x$,<ח' uZΪ|SUm_M)p{. R|J?.8Gs7,Uڇ2(KjdȎ` l>T4[fz߮0q HZ ,_$7gFFb7|0ƦnPx0KaC=3Krɴ^;R%AoY%9GLF[ >dэ*#xE-H(l5qbѼT4nHyZ?aJLx U<2{Y?blL?mRwo/>>tC=n8=eAH/ YZcϾ*nԞen9:O\:5F;(xa/I] LsDq#Y?f (ƺ-wGYOmF>906e`Q^ە|<\/+5}Gh # d9l\r:P>ۥ|g .Ѻf0Q[xӸ )){}ZGP43l4#_KzEE4eOE[c-t ڦbd4ETW ?qaN4Ry n h(tE}! m)Pb~p&/BRSVo͐ccV n1̡poҖNeowh;)GMSr +%njn8Fiԣ\WwisM2z&ӟ֓ȶr(] q =ڟwd:T;3,~nC=FŜYnT/zIoMFӈb3*1YZ`8p?dSS!_'4Y*_1TZ 6GK,]*/a/f~=x/ yz++ofaNW*GBl"Ӡ)ņ{tqIm0tm+RlQ{ EDN݈'Hl\8es&B|@O8O@@?tT8:BX3[`^ WG<"m4*BYt̽Rͣ@e-c0x\^F'+]o7Tke]Imת"H3~?rT[V@7#DQ/Uu o UE_y xxWKCʷDL>pYX^U>ÐW>DA@9_ZIå i+4ag+B8E@0O?@)mE- z+579ӲmL|)?4Ҷw9A ( B"ZX1l]#2K i: W:]1Eہ{8'zÀ6pI1h3\v@HBDی-U )VD8'e A?ncvfyk:DP ꞙ{F3l;w=1gnJt\s &'y9QެflZaiB幾#JwzCת[8.6rpQBWˢ{>,@)]Fў!$]t@VFzK ώ2_qoxf,v囔b+xͪR)OdX!.;̘AUua.{mo:`Wv3tQq9z6 _՞^ ;H*jՁ/AZ`jˏ  lѡ7Y;\ kiwUTf9}@$4[e ʎN =NCGkZu|ȷ"$fPwꗲcdNXn>mraX Yy^!r4xYRK3&[jlYC3)eM1^3?`򦦓{U}_AnF YG`@ jux7K`tM4& 8/G+)s&X7}kPi*x bK<ԲIeZP T^9<xevX:N96;GhT~ψ#p-0xpl*e7!հbHWsxi+s.㬼c~3BGFsjQ*'*D3)ҒGJ{'[ŝ?!QHhԫ=1X77Tw'Jq߀f@Hgc(|oX]\*v3>_3Adܞ+H>Uho]# k6X2|+H_jWg> fr)FܟbMeI&6s[wmg+sW4UŜyQ_ԸEXZHpΉk[ݟY.DlP/ " KtsKN;ҵϙB^{x n%D:U۲gi+ |S,X~[Hta (E%OE]F4doцzk 5 D "#>WO5"ڿf}:Ʋ%z=_A u<:phٲWmy}Qd躀H4sbnR r`i }kympoiIy؛f[cp5}7g*h_c܂-@Ҽn'7Y?00]I7iz")Ph)"(ؕ=Ϫ횛!PNLGpc6r9K>e$aw§xO_uQENWNg>7,%enP9 }Φ~O _pݎr``!%;"@"dFL(Wq0sy C b5JtAcof~cdME}7?V'Vq{+*#?A9D~g?Hd9FxO{Kt\VfT1/yD8ĺ%}K[ɋP n*%yT-uX M^4-3q 3+GPpӊJ.mV'cc.;+h7 +bs~#NlԝQDwTmc`d:&vSO`;W,.Kȅnј> *s<(YۣL8MetNp#'ayL \oB@C * T)'51_J;@7MDt%a5|Hn \d[e駇!D"$&rKk EpzWy& ='r[$Ĕ7P%=SS1X!rn|#`\K{XM/T&_}hDKj !>`ooH*:՘@cH&AT L Ւ׉@o"$1߸!O'%ɡBQutBL010lW{YAWߜOB)*hGTKAĹ+Y(MT,HX@@w<+v[(3æ6>9*7WV%˟?qg,L K Zyh"sEj3Tgzk_=4?]+iIj_dk=Kw5ѽgK{mܽ Kts)Vqm3g v,J*g9VءRI{8mFd]&Dlfcc|pL̘ VЊ`|׽`b1mfY,2kLTd]?dd,ˍUo pNYխ݊XnYH]ЕX? A#ZAћ:pQy~<9= =Wy}_G.XIjHHod次&+4R!;DW@G:`xF _R))XBBC]/Uj-qR,kS4T<``]WξFWa;0A%K&?T;#%( @:

uMq4V;,@Gco"=5nC:nk]v-#&UJe9;gm`4_Ok? PxsiCBe吁eM/h߇P9>Ezf@1$޲Ȏz[5 2pUd=y`?/j6_ 6rҡ{ߵVO*9и*ӳ% jQ8 H xfXK|o~%B ]Ǯ9f_<ڂg3SegO͝BCşNq or΅8]2h5DڢHkugǪݰXuBܐdc(קHƥ j>Ƿ6WnGۼ+ch6y|Npp w;|Q>mLv[!se]E9mt [ $<)їdbOK<`AiZ):^TU&R -Cr1j Ak9PEu~" BHRc9 anO[/$Rl?AC"aT*ZI @~I$l^iRXB=hte@~c乤%Rck4=bz } K_s2}]ي0jQ=*(;M6[Ch @GB:pWvmp>R4\4Uv~Y=l/l8׀ޮ  cKr'ܱ0->";i&J7AKX"[9ΨR!~pHkT~1qABP sǣ 'r!¤Q vMX%^C*g)0?Rרæ!N) y#B"p"Pp3bH[`(%|;dzf]Ӱ >jc&)7tyd3kWeu&uT]:u( 2]m7\cDI5=BymmxZ&XGܘ>hv qˣ|CxDŽkTSr r:!d/tS7o(~f0k* ՠ&m,|LStIi[+ IVb.by̬SU ;Yɯe1%ΓkBFݣ5/;pAO0׆-Lmk$bLLRnWK.V.e4NF@B+5 +}$Q)p02&,ڻ%kKMb1_`e- V,[^nm?I@)x}t>tAPm`Z1!Jrpe^usRMaq,c2*&}(Man)r`pA|P!\+QyJts<.:cN6u@uxqf.7|ȱpu$$ArD ]'~&_4Ȼbbuҋm@/KWW]lp:L?9Hi]?$k_At(Z3q|ez[ag&m Oow2T>rO.&J'm PZ#]2FML?-L&&m:ό.T=TcpŽ iLvN˴D] !^I/u̧@D_)lC^BȀ +ue7ɞ89L29}dFY>8EhKQ0[&2Kwel8O^/6_h3)`@W.%/Ձ„BwүAʮboh1adC3WB?)T㳡Fі;⚛?pc(˚V9۩S隈-/3S{"4ZkOP|BO ^%H- uΉ ' DzUBb@E&&QN' ;V VUɅMY'O{Iwx⓺˝e+گvWgzH%~a4mLc1S 4Tyi*Sn`i{̤Zvvy\bԯ}a5XOou31]c4pV9g*VWۻ_ښo![[>j5m홆jn,|DCw4ഠ+“eECIQ~6E!>z) i:+1BZ%j4r+ug -mnkxI ].n ކ"g/n_WeȾU qL]9hѡמ$}np}QJ 2عK2`0Rć}˺ﲞM7BЂHflr=f͚"k0EіEL[ݎiJk]2dSST1 `_H,\m س*ɜR zyW xs-mc*g_WRw-̄iƟ^l: e@eũ_ \bٝ<GFV0OQJ- ΩwpH5k'>@l-Y|R<@fNv1>.VX#7^V.>뭯k"#E*3XvT|Ey [S@JX\<9L :vbF6X )vI%ysHFslGZ^^*ˇGoJN6R"Rri,s،v+^bL՚R R5Sxހ 0b1/[w]?x|4W$'Ш\LdYKu Q]`z۝Qzj,zv-_ܬsC|ڌ m,nhA $#D|\wmS`$C g?ڶz{*h_92b >\nn kH@` 4"5~^8a$MKgQ1g{\Fݥ1*/?+f _ $j9XptK-x*y E]IC.w\.kbwTqq_oeX{ScjѲȔ{ cp)鮓p9!(i?A:8&CZt{ēKGv'Mm`G}:xTˌj^xgcaٔRVa~C #ΌWQϦd!}{׾,߮t҄\|ڋ,Z]FO]GCX*m$!NVWg:R WJY$T r{ ӪسX7& N5$O|b냕=.#;<,6of^_ݠML8T{KNL/ 'ZޢA)}RWX"p_>U 4㑆LhE%t+rWG^5lG琛\ӪۺgMc"a3/Mh7Λ/=ׂne@,wJ& z޻h8?QY3`0l`'`DPXh[$Sd&h.86v,T"oZVXk=P ''!@ZŒQNy3B] T@3&Kȭ2%/>]nA1Z?R%tөM浭1q<~^K<~%)IO["(-;ED-p󴻰7"K8l5à/upDmSCs_Ha5Цp!ZOG p+tP4!:vlhO!,'ʰT?}dL!něYEPw$+6g*um?gV~#?;@| I:αiχK3V٣8[*^]|t'=7:, zSص`e.^Y]jAgLCp%%%XdslI,2uO)gm(Ue?>prj+QNĥ*,c䄖0-+- 6@] eboׅRO$`^QtOnt<{,ǃAé~_vQuj VUZ+S8?_\ƠpI9?&GZ¿9apjmdLns>Y2X2faf U648A_4?*ȼn(Ҡ !>K8Zj ?3z&cb< ^YY|.z Ce+[Q5=zؕy2BdVbgu}rY}[&+jyذŊ<>?I<z6eB :r>aX[ Ԟc p}o`35%)799"!+@FQOtKggoTĠoj:=Y2bcYDK9/#~/j URIJeSA> ĕG̕,/v!&loYb(C02Ɨns9ܹ5+dDz՞~Շ9shLsiǛ85٬8*;2XVUK ; pC>6M $v.m ~{GA) r|~azoCv׼d fh;n3o| z5Ŏf' 6PT.~-䈝&}?&nׄ|x4XQ2HStcspUIQiC2LSx!ԎXx&+9'cnphZn:}}WPavz>| Gǀ)}Xl5\Ā0^7Z>9B]һc^e-+ Z;~rbIXVx_=kwV,&U~T:bNzq@j?Wi=mp o-{ H#šE/=$){DYHD6ԬЄ+呀kdd#n=xˡnMF{cTw8r*g {N o<L\s)5e*QKK` Oi2CP^RDIrZ,Y1fW`Ӎ ?vxU wttBѥ5֞WյQCwZ׊ YW&́+" _q5ᮋ8r!oLak_W~ԜW`p ie$>L&*Zwx+Xke k ExK#[?$5\d ËG(=ynfunBދ]h=@$^ch}ue?똿k>uImi=X!VSX,h~i0H+&Ǔ'P&q |y'"ҕdž12cL3 }l`WfaG>$*MkUrgɓ6cғ#&6rB ~惥>$բp:f݋l 27fhDڭ@Ն=у8R\f 4N֞EoyvKcbW8E*v@7KLZߖm~]f|kg~f[o`%]J,IZ]SSCL% -͒Fk]S\N%;%/Y5P{53'K#P_>04zBM`5a4R]uوZK[; a^nO^ڽ1G?" RWXYT?~ĩ=_0D?2$tN$ O4 4n.3k^v(?0#X-+e^b7-Ёh~]>TkFțo#-jF1^5cϥ#f^Lc+  /L-qYo8avvέ"P܍e%eS'ɪ˺<%9FE UN.VGC>G{,uo!4Aa!tc zMqiZ2!1My8tȶX9OJ bf/#wT3ZrJS,Od2 W#bd.~6IVH,Rn)i 'b2E@E[Rfeebkzp?q^1k:t}h5t1q-,;]ϑLmWIx؁)1l9/<ʍdP=|Ti+K'Mr#򂰤q"RƘ]O2UDLkgɣdmf-N =a6Y! yh7B8 =|䬤GUan!JJxt1RM\Hy#SX ͂y(~԰~]Qz$ G.+/&8PݜrtR Y_>i.{j:07 ђ.jp0,g~ЏY5(,KФV FU̙]xj0Gxz Y޳a,P֡<9\l,# (L&7)8>Ys )k?ɇ/w3A`CVUNY[e}淘;3ixCJE*!0 }"@$)XԌpg^>cRtn"ۮN:c، r8:($i><8_Glzv _xRTVRyUMAƫ-@&SoWU>5rZ2wPOW6Ю5ɩN,)q3@`q]'襏0cȰ\[UqgJAN[]N!|җW\o?ƍSsg]D^{ cXwh Ƃ|WߥNIch8_݀ L@<Bp {pApVw,-ɥc %U!9ʥj=OȜ|i-"u6Y3S!rd[qd|=(B%Юo|0;)꣝ 1GGg>\bG`linX>N%gLAJHC{nc?0b nټ8pSYE*>0/"Ձ$M&ZgiNkr>Id& d3q/SN"q⒒0y@RMC~{*85o2æ6WSHWjޕ 0G{'gICn-{Y=h*yEN1yF00'txJ9+pɁZ<@\PBsyT q} H p8 ?ʢ(9{6ش-4#-[ <Z!Wd#Ҫ ds`]#To`ȪzQMZVPJʙ>-Iǹ]^?yjGY%5[h rSKVHɫƤ-;C1|ьjX"z!G:ۗZ[rW)1)V K&Kjʕ`Ђ< fїy CjrNKk紽Z@PH4d[Oਸ)pn׃^dŨgpeR58ns)bq!Q^0u DS^z}-k=O#c(*vkIkX[l(PvF禬UjpF3E}R aH  MfRǢCp<ƗD%& fLAԛff_`P.}CWT!b˔x(;c}MThgGz 71=8nPX乳 .Q Cʩ=&BǦacr2L+aܤ*A9CƭHji*6 >O@X+YV2w}8NsZ"Ed^@}/<gmȟR-Ү eK"!"oTv=|~Y%!%8'ɵ|M~N5$J << =/Ix Q,̬<nEsj0m\tڱef$OMeUdHK~g 3=ۂ*q6Kc?tS<:T #X7wXe=ɲB4Zqb+U 0#8z%ab6嚖 X. )T3z:2dU"üj`au3<2Ď |"jjm 8usKu>SCϯz`AjHL~- Y ݹ$k\I UI?jO!MM/zyMhz5AAT2 o)iyBR`ܚ<}5>mӴE5.8ጙK))޽!e*Sg&T="puS4JnY5Bxw2Շ|<h b ߿רߘTPݫ505U:Bs Yr5PEr \qU|c;P~0gί%'|@/sQM ܮNBbG%72vT Je8N![cvT1::QOd.N/fc:jKavZR '~nX1;8vGԒȷ3y[2a!OН}UdMVdͫ @(iֻ}s@C:^LS+̿X Vb4Ze|v14_%[Ěח4d%9g_E*Yޟx#N&}ivUv@uNѿƌ|o޺^.ta }` trAJznogl) [ bi(*qyddT@CJtHaNv :I#e@X;YN'@5_P`NO#HvP~g.veUwl^jw_)tҲuiBW?/|\fW@OZv?x}"}hiHtOsRf{:q#:e \Z}B {]3wY섗"5apsȻ9ia旵cZwۑ'Z wPQ*FQb yRȮ*.J>EH'SbߧzOĤx7TyS2&}kr|{ ZPiAKPRfA;M s:8>aϡR@́-@E1DnlPt0Q;UOAFI:Z"v+W)A1GӋMմ n֡AЕ׏?S~4E:YVӼfDk 3YU胆, IuSfޣIox?шН$z)ly4 t+~ӯ rպ{ݵ듗:)m'u33؞8G# OpRۢ:6`[E򝒺O" f+1 W f4'4, Jl`BGwy^ J,4 }6bQ=gEabâ!QH-1OnuMR&L Jn*cP3NFnEZ،GrcT:qc&NANύq \OZOZH3'٬ R17}GoN8tH8f>mfIfd,7e{(,6Yۈ}Y"f.E[#D3j=3G]Ϭ4dOOq8:6G[ Z."cD;KID<,eM//ʼn B&LJDm|[oK(ڂ]zBJr~y(Og.,Y{J$0 KLϔ;[q p" JG|)+L\!g@ [>56Mu []~$>ᐥ,mT čg܈Uo#3 HQxk jֹOx$᳓>[4 /=Paآy SbH#a-"ssu?\[b)U/(Bğן}]a1d Ul/>IN )=tTQgSq5uFFG i/Ϣ(6^sq BUu\C A'  BQǺM S;n=Ֆvma-+_ gw<ܢ(~x')y0#0SJ&1[o2jѿyK@l30fk\~a' +s|ނCWzj_+ߠW~/֠`'߽,ܙ+"\`FNO%0(]Mۛ0=X8M$Cb"5$0xvksy'./7O|<իJ(J_!lPll~2tW*Vp$;)FOK2:]&PL'|޸\b0Ō%܅qcq 䭡LVn^ /f;Yܞ5+CYJ{}?Bo"k:҈Xxe]qVcW6NQ H03l52!Gg$Zk[(xم緽,:x(JyȔ#" r(H+2#`[?ΪLt&J|G@@5MS%*OwclF5NlOѬSq@z Ks='$@iwrb!oK(:Z/]N~L&'i~r -:i>S$eSØorD-lr4'iq_ƀuНf\nt[Kl Y\GʻW?TP"[r=O89uèZ~ *7-H,Cw5{9t1-o_JX >_پA|\-P1HI$LyE#3kDs6%Ҧp* ]*a{T|NnWsvd?;`.)bqohRF2YV_6.L ^k],Zo(U -&.*s\f995pw+`IP/SC86ծ։[Gdm2*CyB[u&bCf-6V|&2v3'hl+CH?%i-ѵ;Dzwx6'Nq{uGkZ 7nZa[⠛'\}//cP5usVU@R?M;5TWM hsfE\\ `MLvӪE=0"d!KncWs}[{{A \zW6ovo*xAlLe]ÿ! ,&NhXY-=BoH#=ʣQD,#~ P]0g¥{oJ5AXHX\A&{:甅U8 Qv] c`H_߫Ü{yRNQQP ? ߯c 62=ѷ)G4M5xȃY9"oLc:ibNz~1')@r&bTi@?+Lxq.D5؅1&=J n>P:ja>2gQ4!n'U n?s>ﺁh~ȇ?zFՁ5UMyFN~d|iԪ_(iV~^݋Vnq7 5s3TY؄_Vkb&1!`;3ā ߤ$GLYhq}U8hC@3@/X(_u@h.t kMf Db{Ƶ-P8y 5qGp∰% fr@"]N۲. 3au I@V7ҞYEeM}.Eg4j'V+=TK\v}$@4$^- RF؜Ā~aj #&i 'm5+aQ//aUZfX4\_+:ΫO9 h=aaz%+ëftz& 8ް07^׈Ov3&6^s/g:W9Zl'8BEu@a 1I8z5< 3V  ՙٝdbIgt]g)@@1fPۨWC瑩Ym2|_5$s>R@٢i2,2_U!=ơ'N*M[HI{uH7F !Bv6;k'uk4vDc4%&̀cvszZ7\=X潮990ت=J{+njD={nWj% m~Lѿs$=L~0ZY10L:dNГ*cĂ fQHNzԥCJOXrCˍg' MlErȀC/>9urxDe4;#[rX\XiLxwlE.sUxwx1h- eγ+l%xpFfvߑIP*x3V\W|E} Nb۽K-fቑ.=SX NȖ/mBoC;tF `3G2+!jShVy7P[AP0,$u?j"Q$Qt렂0 "zbpI\j| .5"@ZvKo4[l9y067%0r*<0]O.3kL)S.Ch\ψ2;$7q^Y^)G7 xW\'SY:b@Xi-6FƣaF|kvF ̍*wJٯɳ?J|sf_Ӵӹ"oeo.y޴«wv1٤#ΈE4'lۭ?rkBktsg||{!>> +j ?T6x\sE)3 nL[ ?UKy4i@Wsi|{E^2*xR?@"VJ#X"coe\YԶZ' 5wЋy :T<Ͼr󪿭 ta-][x%~G|^eL>vHĉ c?z&א`&֤vA,G4L($ͦ:ت2I 5,HsSw_OA~9)#^UF-@TpDΧقkE8^-?krv07ֵ>fj "(0yLlݛ<:ܳ p V5@A47,Kvc61*$_saFV,y?fݼM\Ӄ2 EUм.j6 iݗc\E(lˬ; 7יϣbyȋ b9x N%JXOO¸jJ=s .e0bm&/nOBp(/M)!~쁬 M4 \?lGV6O|xb|Yp.j0Ut__!!Yh#i*Ns d^"Լq> ",A@ 2]bwa ʦގԯ%ifsS"a;nMr'^;<>.]B%DI?K(ćyhd7d;`hbkN9," |4|qPbpj.V5HwZF2^oE4 B#M=pH!$ =rgbT2V0[_ hCm9r_ VY<抟}΋an) f:4W~ZLG wC_!zsDIb㋏?Zz5Dwy:I 7{" ?nlP 0tS>4e8XU}LrK"'X%mָ0-#4I컩G+ntoV7B4O>;KWïE3/@r*^=,ّQPÕ,Xº83y'wqΣ_̕Jqd~sFuq8=E z0UmFcx &n`}xV?ZU}y&(1pEY(3j2AFīӏl{;B Sm:M_;Tf ԟ Ťi4|qt[t ]c#}WJkyBYvx!I~"6>^nG" bƖ<U@wȪڋ0LBY.,5]Ӿ_c4h8 6pV<77dOY Qz| Wo?R'nB*4}yj@ YԚ@spD5u,<|5VGɡ֒]ԺiFP \ϩTLwV☎2)! x@ûuNsd(m 4Unr:dQ2Z>荾JhpN=$*׈2#{h [R0vќe6PdQ%ra2o5 dZZT$^Nu8n2`-yEdg c=!x=TCE"衽a5L 9x8Oy{JyY3L2xu&MDmkH<y%yZ#'\bL`ʲћf$"{逺*vkwؚm!ϱ>1IYYyx_H(Sά,{Nw; d:gG .m!e7Um%+@tq>fŧc)9]vؓ8V!WbUn]b%ӷG*Gݱ WCidcIO_VjRfp) Nl G}3rKW)?C7{/@Q{ybd VT7oA0<=G aL-,Baͻ-w4۲^d+qR(m)iLyE(QSt(z1TsQT G1O2qeD=3%zZ9]zgG :G_'~\a4^#+g!Y2Hqc6ͽb)f) YkVQ/敪E{t׫ɶHA\* GDVmҊXUr0LIP`^r JZOmUk:̒q'JLM8VK#|J^K,oSY}9ĂWw/_Uz9#% DP{~/ID]AYb*խCG yhAP6 ǩg_;8GD,+V& +6YV7o)غ >@5686&YgA9QƱjY%O6Eɋ3wŖ֘ix$/aVs<[ףP¶+UZ*gV/6uWhAJ[zc6v85w-FZ| ޗ ;`q7\W.]pgЊ PO*_?mJv`=_y ݯ3 XwJTc#п޺ZoYrlmQ!fk' ]gΛw3 dVC3rrngGo=5Hޙ固4. ]kvg+쫓";Y[:vuFI1l,n#Vm lR'1q}o_6A.%4/ZdہH`0Ndd!>|c.}`v߽D|]QP]'ߛcg@E/Nۀڽx&!̕5Б#۽<DN M\BmFɉfsտO㌮F]h^uMdBu*=&`Jo#MbTQ1A"؄M;P yQDY)LUrS8(6~B@X)JqJEs ~7ޘ"=ogѝ]2!o3& s,OmcѐH19 gg#"4sT}{4,lfAjY:aƉZ+@'spG,VtlXQx\Q. Ft1jaf v:bstIMI>;oM\31/ ah2\, X̔ I~(Z'"m4ޗN!}6/CR&@o8+À K֟н{:Pݷ ddjnl{(EڴQ5DU;A+JkIv"ؑT7i6 kO6"N+fy>9NyosY {e o ֻDɤLI5ט2AV&YQDy|,=t3 CwIlݦ5l\$nƤq2;Ip<4Vas.jcnhKvzkhvm+%=$$Me,0y8M3;Yj\`{ Hʢ&@:uҝIצTGFƆX鯙|Vd ] d|n}y @yjv^2n II)|rip&Hmh2[sÿ&0<\7lk>$Ob蛿i2e_8Q81[B N(ûɁ { K&/UB@v{27gL<86 8m9 9-U_Jyy8欧 zx0;ekj wY뀚|Oux$⽧{[4 nʎ;LZO?a[_lgX$ThBC~{8=oq*:6'T|2@yXٌaz?]d\X%ĵW@-tJ)_1jAH(HIKC5X)+kAcaÁdvV/`݇2?Q"YZ5}[O> ]Z'zN0aOzV#U2wTY#\`M;Ĝx@zʴRfD0ۀR,8\diYR-%=G [q;Mv̌\JFinCиKLjx-(Yɧl/j HWѳO\5ҍGr9]`w8ǖn.Ygitz8pPۀ~Rv7ndw![H/bI # )r]1Ȑυ&;U\mvT-:K%g}šDPJMP!_ 9/CE*Fe{SSYO!%bEC.sl!bBb۱8b(ãY_jVgN2}cMT`" 4-D^f22\0ދn:g@|˛|*}ˇP20=U%wzAŐ<`@(O&;(q77'_}Ok=~? } M1NNb辯>|ö;Oݤ>X*>77 /}2#xzlh3)?6\mVa:OwzƥDr Y9I(FfX$ ղV?9apDN1"Cx=hnv}-C8!#RbVL4Jɫ<}$oQ81MİdOCՖu.84^f.G?H)Rra\>bNÂP0!*X )*`U0ZEYOY0fD8 $Ql韖ǟE5~]wOW˪ťQp0 TIxrdx:̣KufPaWG50BF9ZKZgDĘ1=;A{E 5K:֬ۛUn+mVqSLӃM1u/nઢ*j|#aϐ?vqK}=Ghr7vr`Fzh(zM.$!rGyN8 5;B;lPfJQD픾9)+Z$]1o^Y^ffRs1?<$MχQ?x>y})^^T\}\@:ⲡaV||΂Ҍ(#,"֎ݽ^ Hrv3ـ_:5'uGTUFҿ7 ~Ds&R:*h:zu䢌hZSS8hq|J8<6/gz#~L\J޻U`0-"F+|X( cy&$Χ7^zhhg[p^&XgLGY|B'sE*5g*'j,Og:~;Yg{RHj$'w N:ϬJ. L22Jnu\SEqSBNYۀd.+hs2,*{VagBOP0K'7@oS@hAAC*쮨txpB^$}2;@cϹ0<%#|_yF1L"N ?P|"qL1=SkG 6Gi𾿚וWLE(|ޞa2>5"IZhQDg@:{l)PdC)4c͢?gKℜjSz4OCޡOxTgn5nfzt}Gۿl8ÌKY/jVU'}$qM` u "JKBPF# i)RrF" h c;:zo'v dԶ]qJyc>בLR&8v6A `C^b =&2 CU6[[ML#gfnJ·}B (O.U.8}o>۽}Y pPh>͜,U# BM* Q]nUƅ`=mMקmGZ'BeQ{He1l'!8w̓2QMB?kY/ܻ~# CHЀ[ipAaϕ>ʀ?3d`$[ ur3<Vj/Y'NfSR^N2ZF4,: f e"aa]>G_xM )זyo ,0%'XX)pW2]%tQ("tnS_SF k!h{ɖb[ER)"@ uVj W, z<?20ɴfؘLCLߌdjUs,Xu-#78L ]k@5Wnwzkf-n"s!`oy0iZT2qU%xX 7}6O&wrL8v,3STƼդ j\7.X{9r_8:׬;կF6caP]}?޾wúyLRu;D gQ9!#V`؂"4)EǵT>lJx@σ_ daPVEVO|avX.(UYH s1mtAuy-=OJPʯ_>k͎#,6ƻ7Qo\;+E;+&:iaݘaZnHa{Wlc%ZtHRH4LY֋}_J,wy~38pOt(#L!2〄 P!,{L+T2ؐ ?~'զ\!"mLs,B6}*AY$"-,/_Of2l:[hf@#Z\F!3Y\\kz]Tu۩jdR̔a@v}~u<mC&-V5%!!;R&TU򊆎̈D:,M(kmA>dB2-KӨVtiCF,&ā&?!H# dw0 "%3̉S{U`pr%$yu׬5}ZB l&,T@"[IvP~fҲߍCwܦU`[~bLRA` [4 nUٯPk fN"0aLmÀC Xu0arOat4޸$tT$ ~;JHE| giF1d鐽34sodߡ;$Tkޏ>2/qΦ 4fu # gf}eĮf^ sy= yG,3C1tV2ǂpr }t*ʠ/e``nk vyj9Nw?wkU紴+/[)hjL=SiEoxRb1$é@Lj< ?D^>2|t BQ;+Y>|Ё1r^]uE=ڱv~nBה:j=+Ns+S@Spdu`0ݪ,iRmD"_NOs wT>%o6>yzR#57[+>v "H.<[?rs5TJejݺp>oErؽh/狓~TQg.1,3#8<Jm;ήr)*z+T& YewQ :!JNF\r˭1Аf"i@A!iP{o 49 Km+V͡C@jaO/A#;?f7&h2-(0Zrx3 H%~@OM" f@;; {'4܈K&g&CV0AX@w6f(EPACfM(4԰v`6#a1-Sgnߤ'g#ϗ\rX%cb7TEfpXLҗo :˯+ n.+wߚgm'%jġwճlfyF<{상ho+:cq_s{mŗP[X:-!C&G[;9/ŋ !4iɮp&m9K?Ϳ FD5zt.5M=ƫU'1/ [U&B(U c>~Bh1UҊ=L/? Oʠ=4UhH%@3O~]_87F˓fD^T?ynFެ9x`F"u*0@"JiN7?>͞uxN8->% `Vާ4(b-2Ӕ̙3X[\OnPD 'fZXq`Ǔݮ66)+=w>33ʥ40]0F/[Spb [*_eu[jU7 T4RmrgvdAa\ ZXA&l*R \eP8%ױu ٶŀz%oW;Tðk (F'D}rxcI. 4uߓ__iINo:@?ʈlu_~okB@6Pא7|zl>]6<[7Hvvy ɯohƣ  v]MrU*F 3.vw6c d?ݮ4&9tdrְpC@ιq'Cۡ&O' 盎7bHf낓=AҘ IX2O̶"6 US$]I(Gu2yD#CHȸ pRJ2NԸnoy enܥTΠcȁQ:D tB_]xz;\bpR?ลB]EGpr,\$xyoY7?z/;j{K/7 Sm$8 sҜAnwy*j15z1;@)(?a̗NIg|`L{Ϭ"*'8Knxj|jR @( TR,AH,PTdEÈ9NZm?zᄧgh} = n`4@ : i$:uA9CG\f> ʒH{] d  {d8JUHɐQAOwGwN*t }! c@4  )lUsnl.;/wNGL!cLL )ɏ]`7d23 ءdiJI~댊Y&fOɈ.Y?R!墊'uU?D{f~]PCǗ=}f"b 'As!|Š$24GW'QY:`CO&@"Nc-d^5i(npaS b[mr]T 1AW­ h5Sb?N ;oKrRRK5?gd$V@ o{vCgfѱD2OnrCųG{>, ˀmnh'N^x=c3xJQ`DZi FlNK:bK-@qxܔY jTT1XkҠ~" 8J~!ZJU?!w3J};w8;;"]H h߄8 nW]H5 ^T'TC/UYRyB f>¿n-*>$SQʂQqq ;`Yak\T;I0#ll@ Є`v(!5أumsN?U7bBÆh.C]Ώ̈EsH ;8;B6Ps2%7QT!0Ys#f0j~B JDQbVmNsFg&QQdm&±s1k"ᒲ"}6}εb++mc o P@ w2'>%a/lp,¿L*b.ԣ9T"Z TdY-Ê ATX-XVDUalXvPvm%IYϲaFDDSO`uSfA^6amIYȟ4(jm71ޮ@SIm6ʁ̨F <;wuo~KԜv+O x[,>>.;].S***G 10TQQe Ȍ _mz|=k@a+|Cdw]R}&TݶFuA@vEٟ͒Xa1}5z&J^qytÇ94Lhy]Yت ?;m4X,EC\l̹aB5Uj8{OC9劻)ȵ{01ȡUAa6&lDFD D [F ZT%`ạ#p\b`bݮ؄ߘM$@[[6 d$ɲl`62JCPGGDK)hw\[ޣm n&f0Xö~zSypεC-#<Nr!:͚#0ӛzg4UAD:::;*qyy@I@ )Hgƛ7Dq-ߕ(~K=(Iwٟ_|įi7oฒ-&Sc#l{P`ⷃ7I,PaF횀hnd3>:~-CA9`ӊ/0tb$@QG%JWͽ{v9݌k}q}Ɗ"SQs =DŽ` '1`mv1$vx /dcKbO} d΃}*4ExeCQo`LC҉t6tEyK3h@̟5eg |=^6= YX_Ņn^"1q Q#6P[Mࢹm"₿Ul(r[[iѡVNB  o(ZF᷿î&a0@# ;$3k(C5V yO1\4\X|eHr.[Bs"|;M.kA>5P vr8|C!!% B`sŽ:{O[yz{Vf {]&yWTd ed)[u.IS5}9lrn]fҌ&rqyG;gm''qP|2UQH{}DrHYHpKH CU}!f }|^w]Pb`?!K4 } %,t|^'pS{>V ?9oUrQsM4!OdR'+C n@OÁ R(LC][@f0 e֥"8 DKuy?ȅP%ck|Whwuy%NYuco߾?լtK5 C\H^^˳2a &Sn{ ZWLji5qj n1 Ỿ%S#daǹfқX7Vc@=2 ՛EUUYX4հ^ΙF1-ͤBMc!U|2эŭ ] 㙴84ӣZT q%ֵ`/d㟒F* |:aHج3M1\MYoWg}E_ccessk hr~ lҢ)q#??QcuZʺ7 30>\][|N_40Go;h?aZz>14Ys"ϱ4fU@daW~}-}z+cApyMJP}I[V2%MfYu4vugG`͎F%YkN2 `cUER4֐ :EͮOCxz ()={>)I;OYQSLK1%bi/a{a紪lcV?JbHZ.Vi;[)㹰eX5O2q}n1,:Vr̲N{CXF6i^M I=HSU$[|u2i;\(;M hټ?Yy ,{_@S3X{X0E4-!$n̳sQ~H)6 " ZØɾN FVipS[8:\|=<>z;W_8"7fn/JD,W X, xL39?YI&%X)s8 Cl)DSjCbZ(}O;g1~㴎4e;yg]f&&96gZuAtmk/JLv=뼺z&BH@4VFz²~=d59WP`%ky'XPKlgm5r /j7˷xѠO429/M ?c8o(5~m_u'}e|sYRF-g*,52=怱Y5揗@چ# DD@y 9 qspi7XOnۮic\WD|iFWY˶Z֟>FXt-`aI*YTH15QS?wG^VncoЄ^2.[z&|H!D5P;7aXJdz.M 8p:+#>6LߑIAA;Z[TeW`ld+0y]#K 8LUxvcM*WҽgJh#RϖaED},_&ݍ\eL41F"JM2@($ے-+m Gpz\1vj ACa 0 9"3#_\w ݦYox>;\a+~Wk8'q3-hi_rv$`DZ~p64\Y߶i$2l.eogrtRtG_^~{OCH(Ar?ϵmw.ǿ˯ ԃDRPĜm=R^o},[>Eo?R)︢n]ncFLuc%s-ƿY/m)sgk>bD|gW8̚O $qEQxDZV0\:FD$ TE!PɔXO۷LYnH!FaDqc86//,/,u6/QzRH1fֺ1ޭR]r+3NSŵm6,(L ʫK`ХwsIyˏ%f_;;-羁KЮ_hۻU oE<³Ңt Vp`^]GboaJQ)Erf5.TPmM*ЍqVӣH:RBʲp u]] {>fC4 F8eaAH00V\qݪeP˼YWP<>,tNv29H5"y//!aɔFe$?yZ^m󨟳Adoy<|ﭻLaD}? LbxqU=%I Q>ALK !A@/6.O %=I׳skQ!_; #1Y5%_#ߏ&j6C4B 8OAaU:@7#G1F@h|85&Wwzպ?7>.Lpr'jZ/+עM85-ؼũ/4޻06_s>^OQ-f|}Ǣ{5>F+1YNJM~f;Di]qٲ_#i@/=?!x$DDZY*eLiWA3b@-Ee<6ig:3{l;<.*oLf0RJB jf3kXB /ΟlrtfĶч.  N !?`53./|&t>s=ԵWߦz=~GXI=!B:'~ GT|ءB}M_lC~>t1[mBf.J0~7dmP"F_H M 2) 3SO]K?6g*kJ)NGz6󩈀oO:j"W|kh߇bACʳX"?YjQ/Ondrҋ.=I/@!XzP=<C͏y} (?@{*L=γTбk8ѥԩpīy2 !0c:aR2c6:-siC ƂhEQ aG?+C]^= ]?!d <DCd(4 }}v}imr=oʖ ?q3!S>Tv瓜I?Sɍ "Q_ӃbbU=|^RPr%|X)Ʊ(* W 'kLP^/銯<ʅU4^0vԐU6q]8(N%5[6k1y냭tOlleÓg$:HC`>T=M'=B5C|(LLSShmDRQmv/OM:{n|D?3|%Dٌ)u}{Oi7QWs#k\OdOʃ|!9B$`Wcn ؒٴLSٺAG\kK(/ŢԩJR*8ڨLja| 0[ ~Byc }!flْ Le5bNUXa^υ=zz r,1IOBO݂X'Ƣ"N~ ́t'Lbbg7TNۜ6vfwPP^b_e*g-u/M4QVZ kYO台4E˟m0bU>Uꩾ2ߞ\^2X+7R:_۸va! [Ckc<$aDqMNfzf9͍%WCMe*oBܥ$fup5YDSs=6U45& |FT@'`,ـCxvTj/EB*Y}x,$s~ڽ35zU+.I[aZ24:M@b%:_BBmgWQ?Jo"^_ܫ" ʨoC> ysZ>䱗'! ge˞'"Zk'uJO"#zv~mxskܽ`pS^ ~ MA Sw_Ns=3tN f hHRE\nU>gaP A: o1oo:cv ̇O]tR槠ʁ`)FTז̧Qaif`Ae)Ɠ +ՐVX 鐾/{HtA +9] ,?SMŸwxS@={UH V m.r=]|iw6'}}Bu agPvy`&3G|ixѧ @{9sAZm"dc+U Ty/OFT9Ee:h!ݓ?q?zjT( hsP_9՜w'>7U1@>%T5iQuGẔKlYSjw >SH'ɝDbjc_3!3K1 ֣Ew|;Ԗ40Ep2(HD&RqpG7{nh.FCaL"lH1:4IKcgBu-TǪjy[xԖx J (QJ v5l>ݩx ۅvCt Yy[>X5`L+o D(JLcy&酚!p6/#=.T>ߒj>_7yMTqnΎAx\j:&* {"X#7_4/~jW=u^>ڿ&-:ʒ8~ߛb^JavSH iliuѲ7jUl~Y[J@Dt=RO[|otsurHEnESmG jPoU?apQIСMB H-#̽ 2Y`ɢ`w[\QвRc.AA&ӝzm_wj͠|*Sܛ+)Opݛ*$:~w$ | ZCF(#P2ߦ|)6b|vmh~|ݙ6x{+;UMas%-!g=hOcdBiVj=J0P͞c%fI`pVw[`bTdY Qd/S߅ /04 +H}~" P||OAEڂ{EQZo2ȋkޣ.fe>{+TyFjT[ip\-)F'?UZGk ۿ^ZAL!AAFlsPӠB|qdYg[!Lv;D`{NrPh]OiddOfIJT5@ $ExH#FIIpo=|g̮ X8(d)JS f87^k_'Cz[u﹝ԘNA=3g!>Ǟگʯ\7E$5R A M:}kOS N|a$fAVbv!oGC3/ .uF3 Db`{.G0!y*_x(BY ~)_YV6L9O d|r;ݿ1Yj݄0˭NY΢~Qw[_^}%ܰPυCDӑDWͥ~y᧺o {oPvۛQ4` 6$,[FyܼeVJAQ0(P".=b}xWfR۝q u7& '+!4 V"C3uƌ2̱A–dwf`P EEUVI.m4&8dŽ+4E"7k&EfSmAk#l$ u_(u  AF܄N%=Va*6pJ}P,A =gψ?'Ώ~ɲ<JJ17@kL1Z[v{,y{hp!p4+m#^)FD#Q@: [l'>߇)x n素dàh ÿL;e໼0yK/T3Z9s  ?oM|Loc$Tk%Co 5/wu V?D.ļwzs^q>V~cec:p^2vNurVvx;]VZcN=5sZ>cmͩ/R8}}P=w3 g=y ]Od}Ϊ1ncy5anΟkCvNc M[l]ys|JL@G+,~D|LC3l>T*iש~ȧ5YȆl`Q*?QGT_orՅ9 aApuT  Pqb*~èe;6g[,yڠeOr>/:CJ'~usg H)m5"|Fz$CGyDԃM߭U71KGTLR>OLvG;,_l"1oIy2?n&& \Pġ,10}-LTdEc/U1X| x+"z(z; u=OgT#s= w5X+v`]yt2C{.o N(!jbz'<*CMPȈ lʄY|[ 5,Q?yJ0&yweTYPE>7vxN빏<EF.Pˮ-5UucˇڛdEsggr~ϥ M7:51:(WDO:ϻ9 /q6ܐo2Y{ލ 1޸>> SڦOO& axr ʈWoTuI6A<W12&Z=,D?*cZ$z[v[T'"aޯTQ>B5=rr7aA^{KC18X(^&Gs4jP8Z4͗ u{ 'r=|Saȇ;8Ї)jh:{W]!:|5%L4LSC񽭋NΉ y%U%^̈n~*FI {{(ntثGg['O끯j>BV:>w쬗tzΈ}ې04Ȋ(LqYFwBĔ6`|/p@ӆ}rN[KCqy4C!D JɟؖOM((Btqxgү_|ZC}XKa/|à HgKp:YȚLs<3r/L][ݒ^vؔf "L>ǫI ;VazmQ1 !@ʋGVhKP*^M~]9ٸN->NO#oOGP70Aϟ  Y!sd2\=2x IGӚ#jiU)Jn |jAqGRys<ȅF@X2'ŖQYc9Z/|措{~y򻸁*x'H|.s}d^(&DCP~O+Mwq(JU|D (A|"C` 24o5t ;m" 2=Ί8U@vM <6mpY^ƩOS<Ίnl;s>"tc-8gpcVÍ}BW1(_fD(p xP_2La{6V2LL`ʄ@dfL102-%sPvN6wnbn~.BSPo(+Q{ Wr4QdWf_L1k)y~y>E?L7B9^HUx=GK QDD^N!g >TiOݭ>,Va/>p2+(nb( T?皴OKjn?GCYKybl\St8P6$"ib27f:Zc7ywTA0"5RGK`琒n3#Ԡ1=V^AIZI[54X BK<6H1J'}s,oCg6'ȦSaOyLҀ7L:T2~}ԣ֒l~;ǩD9!`>7 e7ߺg%|J2l91RUK(g\c"Gq<8_.!sY^ǍsV4>uA>=mf224M8.v,4bkd匀2vF[*t ]^E&` r'/)ePj .@|o2ϓK}Cv5?Qvz"HD5]hcL1SRv45g5׀bǕ(d D.o>*ͩ XA )d0?/`_~oS=~:'}fe;(TtPrUa 'w=\q?S.3D'ZAA2}nh!\;g}v)ہ~bmGgPȀmYiNg-tdnU_qs&7*)\ 4kvfJN-0r#C ( 2;XGCƣ|_~!s?tDaiciY{U jX^nR_]F=O*K4VpF#kuW! Ofa#àjcN荊[\NUolHjS&jf6qg*"-AU?z/٫&w?ƽQh30~%n7JMYkaQ7Z׭-ԾzUn>KPxԗU>Ms78OWSHKJdK\/E'j,Z+$D"!$B??"g?~wS5wNv~{}้as%fƷBdg)IEw5b&ӛ' h*orinX/T.6Tzqm]/@t321⸈HﰕQ/aP6b.di<lұTV XB?P-f[$kI xM0`ĉDvg'"81r (S诨;)NF${_s=?MTf0<_d f}@?G|aaJBR pe |} NIF(\ vބ< =gyfsfF+làձ%u(7sԫGwb(Ed0+,ŕEŵh pK}0՛:zoƀ>j߬.7(WUO#fRn#;cn'K9yNuAo曏AÓ[#M;;< C {pi:>)=OCeadܶsw=]5fwi0wɷh͘SHfulԧU:,vZlO۷Dm(zN{k9[kOqϠ Tm]  pv( MN *aϸ0 (}/G%!-fCM7r\Xi5::E%-Z)9h!aͪM#8꼒\t3rWY|G?G~^HlqF~Nߴ0{klV&?ZFeH"|R{aQI>"`{8z{3`5BVdNͦ2Zc(ssp -.9wsk`\cj1*tg~ξZ9=\  !_Ӷ;F"v8٬"VoE~#h*e%cԣg?I(ҰMy\ǿUG:i,۶ڤd0 ~DUew?|>ΐjz4° 09TJ;%v=<~JΗ,\=mFX׭R;nꇸvҳw4LfM_Cak:*4.C7*LߑŒVm@U0sfl䋉[l_Ju33΢4MuPL2|F{^0c 8̋7!^t4 Uf[b϶`c{A5Y"2<:A6}}rSL%}b1'"D锑)ގzyڠMu ^1(*<4(MފS335SSSSSLé5:Ga§y; UB\,H|./T5xBC7C~epZ6)x?zԆ`߳665ϊgd\ehd3鈕sFZ3Oգ /w 0*JMcRx2mj] J[}%w&yWw$NM'ů]}k8BfLNE\h=o\՞v?K+kխqpfQ !p((W~JaOsj]Rzχ~_*)4k$l{[ke4k/ ?Cgۘl1zlBٵ"!H%=/; [T-/L۩h=TWS^䵚*di]ΈaN,~exTS}SJe#F+889KM""DeuR /$\O*V}m S G}1+@Cp` $Cr]Kgq.#pi`Z9Hw:h"@6 v^h,OJ,biP{tc?yֆ )F>ƼAH\Σ5m9 gWw,pAzr;#VoA@ĺ"[|]d{c`{XBIrAttIE4|JB{j:@F|pcx C݇^zT7P\C.Ϛ 0š4=f>MW*YNʩc&.}9U}*6 8l(@HREX( EPX*'$V(G;:Cz"ma+m$A`"Z!7.L(!S^O0p܊Iݡ%c {U*XRq74*a4~:7xEnr@Xp&V[H(H-wx['ـ\-i;i} 5`wTxdڄ{wl^ +&E4f`"<7K> is^kDZNG&(}3" HȒDAU,\8|^MwxyosɟOc &4$/6Xqj| Y ڶ=p'VU/9/L?*f= q0k4? /tǏO.y?GZU<4ʃJm}%$Ҍ) !T~aϲhCP[?uCLqcD^>U{!/'\ ˂L!{[RP3b6SOw7m)HITTz3dohVbuuoMZ \E j-))D}mӯdOHf9e׹|)u~5MQI'.Ycґ0HB\ ]Z=4iohy.ֶ[~m aJLU@XA: $<"-gW5NGvOZ ^ 29W փZ .,RPe*@!Fe]y]\> ' aTŚ+ٜNY.56Y-Q6##x7Zc'USUT)Q=ܳ]])PK< U-AXq7RzG:.Ҙg&Fi/P~KxHs(̺I t~0la]fM0@\+Zk=w˾1yOaYJ0\f*()jclJim.Fc3^<Ǜ{GaʶB4%#|B'xږ~щf/njёu2T:h:_Ym e㩾W~Ӫvl/J.jtt?璎"z玈Jve8Y05JTo1ۙiN;ȰT~3G%&+=TUeLU+YcE?ߙ*Cq?s7uWx)[evdR *& ^P| ,vRÍEؤΡ=M[+gY$A8u~ܼu8m:BC":"2oɺR:țn7T; $7N?s/ @gbbdxoҕKU0r8 &TӶ*675De(`ycأA~ٸQa[S+:n'Bv(&T@/d9T]q+8QٰGdXy+Xv&7q:zi,<}3(9 CĪdCMI>7:i DKt9X#e5uo KFm&KifؔPhο5xAaɶ @Ibﲨ1!? R[AuLw: d:(.ۣ9TЎS-]5& ~'#ƈp/ f{kjj %/!Ը?CUvgqr v| +WaK]3!IzI0o?dQ H.{+E@e0Z'tf N'K7S: +v X_mWS$gk\h~LU+ H/eh"F&L>"vRʧg7ưN4;S@ͷuKi)F+M1Twz/be3fAɕ*pfk3%Ɣ9M#A 9!ߢJl~x"Ef4q CzyY N‹P(#˰ōrSՆ0\i9):0G;l沌ݛg ECFKdH hk9⵴DmE_61ȃ'S Rc\n 1b# 4 Mp7C$I'}KzJ$# =Q=YQ)qwDmVp 2JZRl `5]亃}sٰ7S0ݮ=Dz!0Vw+٦v73$K w(@ٞwk̾S nPY;=l&yJ @7^Oш!HL4n#0PYF+gw,d$iRMv{3e]6sjj([:wwL^/ o X:-$DQ 0C0=+ϩmwnx_) ?kShJ0?>RA52p&lus11i@ xZ$O:SvDXPa2 pW N-q,$*x 8<ШIPJO+s}Hi\$Ӱz +DT҉\.ĨH l ~[8Ŧ?ZWJ7̙ZMM9?PkSK:zϝu#Si۠gO!:CIXI2g{p/.vZf~&3װS<>:SV"&g6zU~/;Zq%? 稧wh\TIIPaewS/vq$PJxL(6Q@̥MI6Ոo&ݤhCKHl}lvy\Y(<Y/xϡ8" e\:({IhyGj#nm\L@bZ c5K ІȨ2wÑ-<{3 ]%=O`>KQP 0'Ey\>f) 7x'mYAA5\ FXJF*kM0<r?ϴ(`Yii/pY(Pw2 :ζ ×M.¦rc"s5ںJLQaʀ{54&zj8ނo>2Tqr(R9A 06 TZE'l_M6`.U qҔW55{1{yE_<eTՀp@Gh!۪3Rh~R}cۉ&n!t@=tA΃3=w3᝚s =]3g<* jI7돠ڱQ#9t]iw٩"# bɰ62iQiٻ蓾Z&XjYrB _(YսN,eЋWuCԬ̦C0uB1FE~۞lG6h~E=EW{;cl\%!ͦ]⤓/lr;U6+6}Q;; 6`71%`0i5^p h=P] zУ9?>be9DUK3dl8%mD-Pՙ dšFOLf]IgX)kO]Pks("Zf M*E'Ra333%j.VS One)ksEP1"drrbI@14 ۣ"SpfKy.r41܈]qҁcWjI{1IVATI?=ߊ E`?Yim/Z1`QPzSW@2[\>wl[&H(\Ji(DRaŹe5v\s8{ٟT|}V\[+ѷs ֫97GG\J63$]P6UO6%gW}q~[^0CҪ#N[MB87;>-0e.w ĶMoѻVʘ»5F. MdVɆ(nfӳS;>V+3R&*K~>Y4kۢKSXP7 Jgw@.&gd@{ȳؘ^?Rȣ^yY ֵ/ d VUl8~)qlmr>N/ i~l|p\ߛr-~}ojБR߻ϟe_h9V۠_2 wUBWsWjKTV|RZ+j$r*KyM>SXmuv3b? D/ v خ9}qɔ`FCh7"Ƴ )5z<"l[|Xc VfZc eP]9W-F*B*}>J jJZGƔy&5W+SiFLg4\ˬu_IƑqJ!nmP7m#B(K`~nx}-.B4&뾡`v}ZjpDњGS+#ftføB 9@F5^r\!0 ry x^^+>|j;u~U^_:i-Hv" -i5 ߯6ڸ4g!(3R摺}* Lc j?3{]{utt',-=*_`WPP> O//n!F (⏐`cq\rs)(` Opx!i#lHa ` Y_+]8/Xr$fza`eORqP=P)($LhYKL4R1@^4$ zzW\;.X]@ޓP&z}/.Y9` f<n5r%AW .=w=WH[GymDzl"smk-gieMC s2μ?+]o3@oN<u=<T@ɢT_CTcynD# :DZX)H_.$TA2͕|w,Rcv/ Sveed ڴXd+XE*kj',A;>m+yˁv0Jkg'oop:9.Ꮖ+[43ݝ_N_VډE%|."A=)slzjm')ǺYG 5r=֒x*5ٙ5YJn]B J^ FT>ۋL2l ʳv߫wr_yN^711 e˯>2-#ҊUmodxzDx&|TiʟS {Qoxsv9GwH1cpuoh_ϲO*7S*LޛPhț_QTC׃1٭Y!OgYf{_lRrWTˮ\?eY,F{{@>o_{!uVNp u!:߯=Iͮkٮ*m9ˤ5sʕ+Ƕ]k#B:l 2 +TAR0Y_ |{ɭs;C'ePE:|Af(u̒%&!@08z|6mhqo{|w4m VܫEin^}z {ɽ;o1i%;~ôz‚Zx Z)w̿9}vۚjU8m_So=u]WUO^'Q@pp )"sJ7:WPdiZ 3wMNԛGC@sgm,_!XHŪUK7~'ӧmAvOj$+z)=bO=F4sQJm*+Th>C/а @Ks\gaJۏ՘bt̀TP??KKKyܰ<: З.DGua.q Z(V1bCa:'f;%=߮ɧ=6(Kd2^?۶ğ9y  Svhjhp0y!QW~a*7F)cۦ}uJ0,,ȌyEKl[ok_0Ӵ# >n,2uRT=jqT/bej1JR=F,ɲ=lk(O"D1cwҼ4{Spcrc_<"~ =)C XV4NH*,a*xY1!҂??sc̞vQ5'QQHD&Cs@ŒZ%l{& (%_S19$is,W_7VNsK3Q fP\Xk(YBq`{;}io5[߂ϔ#)O7e\YV$7:pSqŕd>4" ͦe ͗ QpU*ԛa+ױw / ]*+죕WK>8$X#׷GMAС Gli57|~fPOMUm ZmB-n%vJc|jDCga| /Uwz ֳȬ8j*C\I*f>iͷ"ָk u)ko˾2wmx/uQGi3~x e o|=okE z7y/^Z[WU>Ψ:V!U2ߏwLns(Sf? h֭Rjm']7? =i?齮bu=-J{kxK/ o)}SQHn/0UJsrP}t_B {[>/rk^O8 +BU8(D#Pw_VF6EW"3Ti PBIuZ3vp=Eޢ3ha8_#FX ~yq`J=c|dA,> [S*_z=Jнf݋eSbzKG5W^;Ϛi{SS`a) q2j7ce[q0>_4~cR@^>f_WAqbc ƮXM=@YBT.} sY2ilwÃ*e9_+qT ˷@̽[Hg Jdj!+`nRI Yh1C,Y<p?oi?n> 9X|r@=H,u궃շTߐtYzNӟ`wٍrh=7 slh} lȂ"jv)Š(C;[!/km6fU7)'3M';̔!=Go{`!&I~*r<붞VzvH3=: W~ ~8ĻWhέVszʚ[AR ́{)yITX((fXBAVW y˰LCQf-}Sغhie9z HoME$EY$$.ӱ smi @qq#7YgsϽ֒lӛ0ΝQg(aʯd@+q NTGRt"{r: Λ 6) X@Fa"QcbȈ"X ,"uUiV (  mJPBb ؚs$; AdRIRxHa AF!@{IU M?,6!|~@2)A@mtG %4TvTCGclqOR΀e&eFņmp +|l΢?cnPf QNj'Df(`z 6kOʷ| @֨Fe1EP~n=aS$E/?RjBXKaYҿ> whTC㓖{*)&y>X6: &HTc^((: MJ3tm1ʄG=h*>SE(? dadgsg:q3Oj,,`vP\w0NS dSc tg'`1@l3~VTp9](@ç*Nh z{V{ j(c_RiD<2߬!timqd"<fDEp Td0 #d !;őG[W`T'vf(4cf aៃ6J2W9N˴nڶi7mi**D;UG"Tx@buP6gǜ)$ V8<} CBT|񏀤G2@2nS7[;]{z+C8>) <{eTs"ړ]HAf}=ÿ0N+)/A? zd;òXcIưln9f'Hġ*ڵ@.r f?~9 xN;ۮzFQugb@NWָO1jDc[ $ݳ0pTS͸`a#?ҏd2}-Ê*h GDJ3{ql\ v!=wr@0@`#*x?lXP"ÔC{gFy 5HqRUId#k&?E8I6q*#.7_M<Zo'S5janx7AE6s8tZªamH[X˜` 7L=\{=2p3;+@qZs7wЫR<3#v2{{Uɘy#jp}NQ&GN~zŀ?㣿gjPq1]I?ڱxsMz-s, 2/ SCfr0rސe]h U02i&"0ۚi d'җ>N-5|-eAp`۬ u9*Cp@\)A+I"(/rL\ZdTk)kik7^"sx *y*Hly%h,Du||qθN@.'adi2J'10ΡBvvbo;jvɏz1bgYthd,"jl=PsfN 9x?sx㷋O!7QA|/b5T@˰=4j}O>wύ9<3 at*,' KyȈ);8pA!(d{Ƹ P_S=Q.8,r'#QnH|MZWX&ݶe,Oe̖}gwXI߳$6|DygeҹRY0r킉KV{)8-lEsgsϣm˄x*d 5PScn#ik@=>3k=4.xwUQ_I Ny6*(]ˏԪX^ tGrjÅrVݔy@Q6vK#H  QT$j(P!#l!$?gOu҆ \CJHD=ƣ*.,2* c-8{t;VEXJaQ[bj X,(Um`("ɱ(Oj UDX*EX:-!Üvqmm^yؕbCf-[DQ=ePPI:"¤> 9T%G_c 6iI z~%a}2\Pb?j3 Zu:[z۷nZB@ə1ฎLN$sǬٶLSS[x3Dvj}NuC0lj ~h+eQjskmIEIe?| 0r+U\k7s|B9^U(#v_fr]e蜂d ־SfvW's{V<"HޫI^b/./fŌTp$RJ27cuAŽVu|Z&%dqP' kqIUYb[4.c zʟ11Hљn"ߠrG=' |3Tyz5 , ̆2Y3: 5!a5dmPYEɳf4CD&$- , $_Bp)ϩC#P4Κ`x _oi^MS0S6dR|$ȫNR}?v wj_A~op4C}LheË6^;sMVw=瞉PcUBՕ^((1LSȋ6f?>>680z[2O^p-0k֯x (̃3' hfI2 (_I}j6qV @@Y^y}d  )0:+\JP]HOF70u /2+(3nDVsz鈞LbFx`LLRi2(XVT.O=[t?R+7Է? icֳI>1<$shs/Kb$DĨW= !&(aIH!!oUCǪ, Q!׫%\|E I@eK.2*)~WZC_ `w1ɱB Y56]c14XQ FSG; w$G^]e ,}yGQ/Bې@@7я,Y2Cl8yu_.綅{{G4 2A#QqR8*A"]΃R0=U̝t`xc=yl덣o)zl,fXq^C OOquwtݼ6pu=Hڮ&}i|q_S47}~$ }U9WЉY))nוb%?k)֋3p+%V\2-fo’C}v3 .o.ai4mfQºQKEFL&cbA?03aPn2H!Ld7imd<=Z: hմO7t[hc]f\jy1M@u:~jwl_%Ckv$L߃bT]d&)'i>Ma'?{B1E&QMdU9oVVV;L%ͬj]&f9͵E vk% |ˁ)^XQAU30Wvsl)8{ s:3' ' b`E[\AoD!XJ7 R0¦__w99y\]G}.Y>MiA`f+ S"2:yΥXW1f۷HEC"<Ìآ%>zn[6JnxD7؜,̭loObBx%[:;~ܿݩhv2+[m73,A(>\=anͽU(nS42fAzev:{NR۟&UY1{E`x;+&ïN*ξ- ""-77[##FvX憛*4k݊_-j}$EX>wo2u$(φG2zonז {:۩OVhm+XS9gmEnEܿvVvM!R颛@T0\)[TcoFm9gakV?4cVeelrf%Kۼ{f_n$R1յdM%9Eϖc?˳I.J_<: # >kP }#qt9цC{^8g4BZPM' pg!~cqz4".8k}jq}<$9 5g籝~ʌeO2_)韡 V%K)1zN-|(I`s*ztb>V9*-5wKJ9 >*˯ ٬j\>C& ߗH`?(ƻw9!=Q-_0e%Iʝc UOϩ꺒ܓJ/}?;g3il ,,;X!8b!b *Y5C~5H $X-Ja!*G4 A@TaɅH)"ʊ)*Ԟy'8S䡖H ,< "jVB[&UP BY"(TbEXEU570QQJ1HFX*1`( Kz&>gjYe܊!Z&%[2TEL^S(O+’ e@ވ&¨Մ`/[c NC5]Amۜ?϶58e\&XQ:)  `feai̴iݞ3{~ =]suK½d*pY;2 j"KFd feASW+g ${ j> PϥƺLxLDS;5ÁȨ|c!m }[ ꐚ%sYO з|~E?(ɣS"q\U?|\lN`[.Un?Fpho0+&LOY^j"fŝSw $!hDWcLҽZ7Ej0љ{mov8g R\ϴjC4PKߥ%B|]|G> pQry;*1T ws jKIU@;?E"Ks>; y&raie9wσ|?(ՑyE:kI >Qr@uq--2 5d )"'!d3S- Jl=r. ~wZv*S+jgyݎ7^JatZjdYf(4Wb hst]󦉒ȷ|ªvZ`?pfbq`ڵ`]́d> d >3M 3Ѐ:J}.lrǦt Y_E??PPd[@1U*n ?cز-LnPsAݑzprk/ r$ ^α$0mRϧln9if}n4S7Dr2 v`;3Zc"SWjp!L^ ҹtF\F߇gaP=[0j*˄'-|ڡOk~v}dt*geڭn'Bӂ%C<%ǫߑ&JPWu 㓮+tU:{0nrO8$h2$`o̾GGsF5<|Fծu^J Y8Qn 3AD1*TAuGn?u_Wܕ-zH)3/qmXK +LOZtqȘTZNьM/ 51K~|yKy>'n,IS[$y`Ge]X $FA";/7Hzt @}Nv|h.hū*zP-+znf5.lc> zF-Lk-Jz×.R-JiO j)WԤLLZuQ"kkv,gCx7L=a˱ڄG  -)O`Ȁ5FCKCAmT1dH[>nqs_iX%ɚL OkYu`,B$#Ն?_8x7A&K(6;Qkˌj\XIGmgY_x4z{rgty3q(n|vldmOw]z`Y$5Fq8^6K𽻟RCj33)z|j:B_ Q ITI7QT84~D̗CpwqFS@<=?{ &Ҩ4"?Q-K~)wd= E+V20ihHtؘc ,!H)f!1G2i\x'#[_ dUXF dT48R пKԯnD2l@'1J^Tx&ǚ*?3|QOM*as)? ܕ񿊼u=w^E>y5K }q]bOsUq!H)ah-hI((Hqh" _|XLJ:#aTu vbъ=kG{PT?.qAénV6_ER0 cǭj7s!ϵp#'(L謸rYq4z\}>#-ek-_?w8a]ޅŀ-еtR }ڂ[,<@֓% rU9 iSI,JGS"+gL<?X0*De)!yQD!B !DE8)џ俓uf\ cBYL [tA3X8g@ݿCα\?gkUא*:ڙ?g ]}5bn٣hpE*P!2 >o7LMaR2d5ѷ1s Dad'$m E", R 0ޓ RPp%0ꞷ9$)$4iCRB\%:Q+T<ߵO) D2 1)` 1" "xKVHK2!x>cubZRg0 .g?ڏiCMxʖS:켠zkX8dPPaŦe0#Zf_ Sښf÷\ wGayqu0BLp^xBq֟-PB uuH_Ѵ$2y^Q)CF$yI4dhD;+4? s: M6#(044_gaS9D W_d~tRV K1?Boe@7ݩ-gD-xl1"*x>l[t(HKDp<;h04q'7j\QB-"?jB'jv+J hm'H$(#MO};dO8 r{e#<h^d/ cmU*} C OCGP=&rIJuj_ot0y]Zfy.V0FWJRI.5$EIf O2büՄ 8F~{`#@r} ~/镁9qSݛ&?Gmda `2ɂuB*)˜7w}\i8>ӡNk<3 ctFNNSK:|z<vHHj;:'S{*a2U+{,Ka.!~i43P[^ ?N\g:X?bՕYJ%ߋu脊fDHFe)1˷5w ߣN5}hWRc dx=~>[:bcLW_Ѧn1C;cM6;Ʀ[&^vK^~˰j602f;ERDZw>fV+k) [Ju`:Ipo <>+ i9rWXTKSKP̌dI&~M=%nᓐeYaew7H~^vFNZD5cۄԊT^@>?;XIڳYn?f+v <P!XA5i:ngJ6}3h+Q]{ƚ]ոHgUC\Fsfˀo}5k+uܚpd(|X`pWp_}NlDM){?f._yX;v50dsQf#\fWq5d,@qeH.@FPEr/]\|˙3/ )!ɣ`Oz@D*"TU]a&ǣ_nf*"Ȭߩ39>Y' $Q4ͥj]C+\G 0y!L'>elKH)Q~} udV@$# TP9/sr_p *H*).xGo1>r_\xLF Clm9{y>v@t /7 辮_c<֑/z2\ AE'͙g䉯յCNJKm~~cmEzL8Oq|WSab8́dX^ i*El{ab塨4nzDxq$'VWv,*fgVlem\X*g衪2+Ş3 )\[ !va r}λ%J+ "v ,\aMGTg5  :Å@0Ň[Qߠ*[4` a(z^|z:Hc55";heq {y !e;RzسS8v=j(q w0Uc-.l=B~SߪCIhT}|E-r|s>].! !E@sYǥu} s)N%"0vw_-H;A H& %u#">?.\Uʂ|xqS'օ)xyi+PJƑ^4s,fY>*U^b("$dd$aIޔ9s8/~2-t^jXuمTwoC1xˢ h9lJ>gI]]83pVs|>3nM2j7ʠ S";3ucEQR-1!IIaf=a6iLeCgaIc#6$P2"4:A(dՉY_ HjD( ,Xc'X?Ï cG|Oq0TeebõʪPh5@R|U,QdPF(*?u7< z-^b9&رȀYWT.K*uThӍ^|o$\Z){#Ɣ[2n`w{,iEu;u7+c_sE-m(DViSe:rW9Ǯ.C-n|.ލo*V[<O۰ϫraEo%Vgh 'B;d%|E  -6eD|Ӽ|s~hNqymi0R14pDkDVC.qU,3ye}hOt{`8h7Z"Km9-5Q8f<_Suz?Jӌ[2;Y,]}Z7ԟK}Ͷ8.=;7֣>ÒmBLBi셶ɦyb4#"d_8|DfD`[!7g71`Yd9.D 1f;Oq}P<,,VUBMcRʪ־Q*Wub$򋼈\pDnMsH`c@kv;ͽ߿O;NhO!T)HޮC$*oȪ1Jmsa9qm>|>]mv\vv~$uLm~x]^_ ^Vs;f@ó]sh2,6}ѡ} f]]gU۞)t A8[hQfOpy9EG{Nd-$&LI0HlQ}2{ CIa֊xhsH(eUR8P}2=HLSr8@StqP&( cDQݥY<)&4v0 !rEn }!|QY TPBTUAJ*1A{ V@lVՐO[paBD_Au Uܛ|[`b]K*Pv׽[=oމ>FA(P($B,~R첽.EIH;<q^{7~Z-1t:aCO`@ώ~ɪJAM ++N$~N'_U2Ԃ퐃+ 'B = 5b|՞< hb==P@X1K԰O3f"1BW ;莪Ʉ`‘kv |Sff=Kņ8% A'* accu t.eN>z5ö4Hҡ0df `R,BƧofN em&4-踃n'2LR괃I"tXRK_GQ>CӿT3 Q 5[GtA$]ߏt_)˜X\9(D৮C䯻tzJrwR!(d%\qrBO+gp[ @P[|?K!CZ\Pc҇_i2&M90(Q߯7?Hl#gғ*˷a 9y~}ZbdAu=|O¸C_}_}ѝp_ A.o՞ww5}>~dT"0UcǧtaQվ.sN޾]-`YkTj|*3B7oEV &[*:GU:N)EٕH??<eu~RkzG[6~ ̟_WKYPݤ"zdB"f@xF 0!SV=v̦ɗc(das%C뵛SFeV3{]{^{wwlPt5b*8jG_-pXGW<ؚ. wߥoK3;Gkyf*+w%$;#cU3*g/߲[;EG \L={ᖁߡHĐe&ҧXNR)S@)mOUo Zߔyb&=?cG读sb2NYEʙ6OQGn?Xq^13Ѩ]}{?5J1\qggG%4糃Z)IA?E=i{|< sJG9e\7*M@ʼ>Dz?^cйtu*tZ+,W1{|6`Y66GHwT H3S* _y7}/5~81Py8w^e{0$T/"dd=a]Yi֕46|ZgDXa`{-|4rfgԴ'rH z CLQ KW#TNг' nl89bc|[;:؈,L4jzi+Pi% &ڀ.!n8زAyGI39Qv7{afs0L dۍ~t[D!AV!`J,-{ bHPG*46e]ŧ 0wT+ rOy^>?ZP*C$#c8#3Sz XZu;^%ϩb?CӰ^L^l3֭_NG3|$б˾eExf: / "TF{s?\v]Ȏ;80 VuLω{q?Ckwx *Tb=-`ua\Cy#)c"q0?-peK? q틿?_,U˴;xolA~SL[ƅW< slVȈf2r5Z@_Ұ/7g}i1LDJ47)7@z]Is5*82"ZS KB,Y~Q@~ Z>~}\23¿+=oi]VAw.e1-xow[z3c#FhPQ04[]GvE.vŒCC w66<37T@,Y4 yo_K2z٪wqQcx,T@g+ D 5TpMwwu91׽W8ǾsUUp+dX_Z1yJo9x n~ 3.rB.A$` t@a͡^"Xɩl:5{TF5R൳J BވͅVb='3=w#'r _7I| Y2Y>Z;_eEbQğYoĿhKm䕋̡cٖ~Bt@ gD_0~x+ƺ51z#ح!l}f,űt7`rx&n&%}Y e\a ADi~;=h)Oh1 V2%Q U,u~}|czRPRׁx+{>=w{Eq?!;WmՁj vVM'ݏ?T2`:+ƈb&hjڈ:^ߊMjv i1o+j{n`lBn뛤7,WR~L)Q+DhhQG= b=n/y`$E e5S PΛaU>ՆܑP9,-3!V)>f<˪=Hkx5UuXI'NjDb|dOQ.ukO? ]}Uh)t  *dGzhrL>dg@XIHmM2KIE4=Kcz @7N οVf@Q4m~S6`` "y_ဢp꽏?5oF&$ʃ=l/& Ǭ-7_@s[6Rhv 6~S:jMQrMMjWTcP} 7,͜HE9P&N$SFM,PdjQI7˔i(.K;khG-P\g%kjoFNDq1PdƮwc4SThGN҉NU >Ce:غ U1V%L_KQoqp.Zg%"JՆ;s>m1*EBYuCǢ` Db~@s1*cN9 z5_ O54dEs=}mfzäŤ8*H$ѲblFVT3qi4P$]򥴇^xG 3 pxm{yn27ID# Z]U6=58xSEqX1 5zBO.M7j Ý8RlPmjb Qo>wXE~zJgSu͢%ՍkA)x!uw_lcc- T Mm}4:$#;ʱ ^O_|xD:v:ƫ_4P]TdgJ+/Ý~g*;Wλ O A~[uhsC5$qN Gr BRwb`)aC|,l.I/AVgON~]/ӌڔA=LfxK*#Drˮꇌ;f)a.DY]?Ɂ+Sdut¿7p9%dPK |l->@_R.ٔKY^jZ( Ԝv!z H̟m20t> Rzɭj!S Hl'Mkn6'GfXM5p 2,8Bx`(׈:$-8ڕ'%K7B}(/f,dfĥ_A@uT#p1do0K b^L7FeA>N2 sJx?9$yNKĂ")ި@_XqeLۑ3b0^eݯ=ɘ@ĸ{1h!A KIwK i*pWo_Tk46%^j[>tY˞ϩzR\k?QwuR?^Kiǀ+Kpq0jګ)FT<%CF~axч޸^ʽ}~tջfgv//0~y&a"S256\4$_-*GQ2L=C8"Ef]- )%M\DEX}A )jl r(_]\{8?o㷓g@rgܔ2)*ˎLRBh[M/|u^ivOp,D)HG{`]2;{ B#hL|'ἃ:PBoԉPu)4@gh-3 X_nf8~A\}ɞd?\]4̘x=rSB*3Cls\Z*iMaǡ`Mseaaթ#(>?;9ޗ3cK6w(bj!v>6%ׇO0U>((Z!"h[<زhS:$d 8OE%ǤhspY'8֐Söd@I|Z]~ AI/ xY |Éx-FMrs>ޏiK}N ӨXs5D܍ XQwuC-V^ܥ~g vA}hsO͢Y!{ɾ/"Z\% mʐ/g& A=ބn5U*o.9PՀ>FpKO\޾(c$;+e͸{Eq sN+vMu:($'Q3B.І 5XQtO;JlmlYoN$.G ;=6'6m?e_>{=/dȸX *]bt訆*(OjcA_EبcMT- h(3-isD [ -x|=7kЧ]|(!@jE1hi{1:tBH$ iAI``DGgtfK:иIlM̝ք(S')xjpƻ"*L[ySa[:@7=\H5%@2KB(s=3[۟0 otJ R7LL~Xw=ٸ:ZMyaƒLVEYW@'2}v h#JSKxa®ףvDŽ;\YMLS =ʻW?1͏] ںE_!Lg0CP@ŘN 44 j@(*-PRZlhde W4|o8 JZ(/a$8V’^Cr#pR0@UfYio^gL҇zgu xFs[IНR)0=k\`Sq8ɻ,l%W7&FJ?xB8 ōtZ]6eEo"^90z8oFN,, _ 0%\u[*`Aʡ)>O/BJF@h[wr9KeO}g d.foM  盾{'q3yըXˮF[) 0rDgfunAO+1{m  k6U"k(!Kwq24g%W*zMehE҉"\MtdS\!I(AI}u]k +x2`93dX.F 4x&\٬9]zVPu,]ԓrmN?|)3@ga>Bm= -zhrd;Na'\zοEK#4u-kꮘʧ;*$jfk޼粆z&Rŀy\` D񑭢>Ĉm`u1V&U+ѰS * >R\hZky@ʪ_` GDB蛁qLܠ Nm:GCPVqeھEv=?BΏiRYŭrb7,i`H1}ǦO#BSܚ":Ov% g3bM˙gB+L=p˂# GɚUa]<-ƛ 8S94aȫ?a/d:^>ohu`{&+bRښ~OgpE_/k-v5QV/fӵ71|F9mۓYϛfH 0Ge.yֺ K֭W TE2Y3>YԼ3\ K=.0{睈y2G vKj!;ab59ܠ ^}~7vyK `G({bOG \r۰x '8HWi-X:ʋ㕿UJƨs}uv#Fs Q%gcR69>y>ލ7q%OÛښj.4R{̕"@EPn*KC* 28$LΖq7I8=O1S8TVj*٦),fbW*l7mٿݺX{/YF Eu$dX]kF/|mj i䦚?T$%M҇QCXnXQ<$'jmM=i u6 |EqQH'EqjY9Ha6ӏ$\AGtiYQH+S<˫&fRynv#T OjTS02 ^o4e=`,e"Ԝ%˦\iޔOjr3~tkn2"; ~4kgFBZr4rY&n4-' qSMJj)!w΀=iC04+84o{ wN[0h+T$5+K}C1?4k.v#|(Id碅BT}<v&C!$C-+{0iCx/5KF 9 9hrnW~] i_.?kÖY=FrBIJ(pg?MaI[ٯTEykBP Wg{\;[4,U4h3sor)#C'*…|gaqó? vY.oqLLt+p@&ֽul;b;2uR7=(?ŏiA;[}OJݙɟb^-4mʣ;ג*]b`gr t+C/K|x9oDu`kQĈC#JqAhTGm_kaf\?Hw>,A3 qLfÞ;0<ˇ!W,AB_Jf%NH*m:i̻@ #,tXV.I 4 @^kYLk W+a wĥHsG2 9Z3붶7[}qzb(̶![D{WX ~hZA#s?> `M_}i:vp&KQRR( gY^4kgpm2ib|a҂| l#4]lE9?pN'zuM &1y.Ox[;cnP,M1;2LR. XJe$]H_ Ԯ)θ%"Y$>B>~NMct>9q;M um̫NgQK5VeZ% Kf+u>q͉]ܮSAr\EF(c:^=XZԗw9ЏEk9?-V/}E@bZC@*9Ffb+W\j;pBF%>f p0 f46΃AJrG;>6qۅzz>ջ$P=MW&S=HF12.8.X@g( ':IZbѨHr6.g+xy r3 'pCL>v0A/kvb-O)qJ\^ z=RNńtkmӒ?rDUH)H]nw.m[J꣡mDb%w?Z ^mXT-z}OG0I1OcgTMDW&PQ{W}+ٕ3<|`A;zhT%׶vA8/ G InIzy5{x;RQ`M2f1jo:8/%&fRI=a"}l7/hܠ`f<2(QY#ixNw֫ ;X"YGԒw'1t]*+LpCj,[Yc?LIp9b˫ۤrpB,ŖS\[KR{c(6i@jx$3TS=16s6P57)K%ez3-N&JߝA^L"?ňRK Te $Q=vk+3Vq L|GV".Ư7<> dnqs 7J5# kl{{P ;v`*z^ye2H׷'/HvXU1ôͳAVHE׬%3&UhJo`b~6n j:u^O 2sѤ+= V;5mțkh^[ΠX~+h}n֝swCY0_c'";cdɩ)oS{Ė REjHu$@rA,=a"#NẏA=#b*AӑʚשC V2c&@\) o+ƔT'[<*+nA +y` $H_:3Cr9'ib݂4+DϜ&$· )oqp[,*LP(2ĺAQ$'ЍcYS~`KlPLc,2PmW'y;/Pn(dr*-99FM$y7)m{M䑏 nỈehi72LiDe3֢Daǭ ~%l P-o"IU2.80^_nVOE34VTLv#G$ ??'Rk[Р'윜-L_ζ3Vud`8:̓r![)- "o{Q* 4n6To[{Ws^,iC#b u3@*֢ӽAʢHGD'jpZ]}]UJ΍ߠ>d~B!}N-/,? J^8ߞ4DK 3O=ުEn_0#fיuYZA._hƛ{Z'Ihpu`Vԁ//E)aUcG4L~r$3d1ZM%OoH~m!L`pP^3?p۔lK^AO3XyeD9X!Gl` /x6˕7H|~+;ԇk1fg E~+:u5SML좺 29%N 3IA-a"l쯺W 'mEm/Y;]8?c>Lw4aVj~ mP3κDs?ygW#RF7zub0ް#Yu}YiR/4gg'aly]RxCj+>MH| 1+d({|nLEC^v::MzLB >xkSp<.X<-\, +6L(խaY\Ur}<*7$[6Hd'Q yR$˲b4S> Sa*Z.rMY<>MHHdBԘ R$da32s"5XS:HJz{\wm"l`0m=I@\"-Js>x8ty~i=ށTsQMczn?Lgؤ;ӑU[2u:)0D"'?BE!/.B +m_oPS35>+`u@ }ĉk2'+T=Qw]I{ 4)F 1n!)8?@ͽXC=[9G[gz{'R~no`Ln5 (98P;{)L1])`>x+pxS1rm3mNQp(}^SMKۑx|EAhj*~5 11W:R>ߖ] 3 %d-ĻxKR7Ah$C>W)Ū|a+9Sp- 0Aԛ;f,'/`6>[9 ekO .wԏ ҏa< ^s6.|8*w tF /hbưGA|ZvݍL‹wΣ]Q6.L2QI꽨.aqp`290)ī]4 乴~X'@TЃDZ͚xfь݄ DŽrQ KyE[98SݒBS {SH֘+4i|;> !NM`P:&uœ.22z?j7,C&#KrKFh2 l0%P/ٿUK*ujL.x gQb_g%~[&ndx Ce@bAAf2^Mm ,<#ܔ'UM_TKpzӤs9-TϦ-!uPGbGn+rL#୨aqUjRH@׍TE.̪@C6hSNܹx]JJ~$%x#BNP m)p`D SSxP~6'vW</>3*#%aKw-+Gߙ6UaJAeؗFNc`IgÇ|0S +Abt;71ɢn{yDEb 5$*ά7?ym᫩{[׉-FsP 0",-;wEX'޾*s?' PyO5|bBrQU" 4A$0Ǒeu*Oca\Z= |pj51EjX56JZXRx"rnrEv(4{ 7ÎYsvk>\W[,[ Z!s8h%M{j( |BKй-J@!\u=蜍Ԙ÷|αu> c8dٺ?Óֹ!JQ#X*=D໛1NHO4%^Tp; ̻NIrkz$*מn#lJ.awz{+gێX:~+Lrv ].D0[*9vPBHKO6:XqF~X=K&Tsh!lV Sp/H]od56C*^2|p@h@BjȺyi~\"Hn͟ػ^UdVپ5e?pR=sVE p<-'fe !rRΰ0nFԈ!m3ޤNхY6 :=~, ke~F7a] !{vxnXt"VFp);Yxy{ qcXE7#ᢴF]1]($XܔH$R.6 CX=1{e-ϛL1 2WaH% I!bhAП8/(F[ n VWJTZ%~x-UV`{kN5(UboR٦^qMl.y3a{\[ R`QV%G,,NØ@QD FzJ8&B5eO$= 3Dfy#8(Β`tS\0b LQEmkGL1n`2 r`A߽SW<'F Z+&I<ʧѵ+=@{ Qڅbeڽ.Xe$_lk'21Amj(o&ނ܉MbX|&PyS;`Y@:\:vg(7i,{5e_dl& P bcXweV3gGu/MKUOzqO:~X#簣QY~GshD V.9<"HIƜ6b4q:Punt@] 228H;JT "yQ%IMˌ`f\  wAe7y<@b."ྺf,('A:cLO{riW(0D[> wnVSN~Ҁp!w+I~Lq?^sU;(ql|աdfR<yR"9Eʨ8RPQl_b۲&7ZZZ4Fhașr n Wb1d]dtD:XKߊ\ I/55%$\qaOWB,sVgjUq %tI&9gxb+:H?;y8(=3B^Q bTUlR} '\ dɝi139BŲkrBԄ-`:tI']vy}sj7aJEh>zp"u( tM[6F.pZPOiE;Xlhmj"l  J?j y3aؖ;_7_}t3=FxZ%9 eUՙȰtbh[9^]*y:NSCYZq#S DDcӗRZ:>LpoXɸAJ #Q=MuZ8qo*'_\6&GGfu]/-'aI_2A Oc3dK1BqV7(.%cC-]Ph |;B }2'W]>r{?>\B_yr"rzeK-4EFjw~yN&KC>njU ez$#)TC5rzLwJ_ȄL!=aStc=' ݕZj2"h¤/}c{(6_z.4$=f{T(r9{bDoj~yAѰ ! p?joQ4sTLڷ&4y.ѨM0T_rI82> . lH4DjMޓݼaLȐ1 Qf2ߓ@[?K<fԌ6wOx3GJ={-[F`Ȼmu޺E$…|8F9mOqL轅AGHLQvS7B:l#J3F;@BX oOk#79.Gʀ(8m {!Aױ_Xc V>S1 G$\/r*<-~ޥAM|ônߺhHEaЇs5# CH~6=xm$kȣhGWOkl( sApG/|7aL ?>14Mm܏v@IV- [\CƧ" lY>R;3* ٚ]}݀f0%A5DWxaq/&[z%҅h-*?*Zq|/شvw~ut#A  xÇS0?xye5}00#_.rW>\;xcsN5r>2I_}٣OL1BT]1ǡ`.u c:Ha#K0Џxox6Jt}{z`MEGĥG?@MRߐj4[|l_cuUL8|xs5iCSymgИҁvIn<)_7D(Y|E:h㠙6{>%(؞ {zp֗b0O檖[SeKج)Ad ΪkŽY!,:.*\c9TQ^`/:G uR+\s'Շ \kvC]QIe'.k?.-ơpp1M"8D&xl>pl$:$B<JCJj^9IwhAU@wR"M+y"Dž zRE6A H97'ɴqk[M&K*K{e}kp@B'(Ltb 'l,!kOv{}J[j:q!.Nn]RܦMi|rrEW.DFQolV4Ad6R6&,KLK[9Dk )hk*|JEx.\# Fr;h`F+64nY,-凟@DyrER?Հ:b쳞2ArB& _?Јt  -]n@$-EN,+tW-A5,QC|,bk=\o{߶FkG,gd8Uܐem,rႦy(?kn}95WD2D0@(K11O`]j4t5ѨY51:0=tC(WrTC1 QzƖ>8eAho93gA/Fq? Xh @'\B2vkjK#P;Dz05i؎'V)0C|TϚ>E嗴e!uMgsylo!n<{)@q>E9H4}kY4`öN}_RLo=~(<_f F8c~Y%MfBXN%wSp7JKiL&2Gǩ,ab<^WrCQQ160K^?áqy},Ճl 5B0+OY5>zb*^Ir$u6&:lN+VlQP%[lΘPYSWպ,@g.,ı p1L~ѬaP:7%1Y>VpWJdo%n޸ƷU2ZS H~vno8oE pZ%'d0Ï3cIwƏD&ODbuNAŇ33NpYoZ I%eG $y̏e1ٽ;<^O9a lVc Bb^dk-\}mΛC=LN.Si5Djh`FFڷ%$0*q`~I-D!-pyc2$fl,ߴ|"O;ևoL?8O-s<ʜ9$=19+8Ip6|tŗGJ}Ǣ+`1P=lHzX(yNFk5u n*\Hx\W#r `_R2VG MRQ:~C:kETV/al;ʂH%*W;YarY@?WD.a [6Ms΍a$}'iew^qaR`$RK> GCkMj׽]?zCvEg9KC L  QH_sNL a'BA?M|L=9S*X ;FO X?r}БSz4N!@^򴥨DU]M Q)O§8vP4*Z+ ~4U@hbD2[O%Is^sg= LkNJ zڳd_:> ̵D%(x旤ג@=2 mE7u ocZXY>cOab{R80,f?WtZbQ(P rio\ye finS]-`XKLjU+*^t6kIG|zp`jUa,r EU6%fhKcY`rѼqF׼s?}W?k"2VOoQ]fҐ%T[ϰh&'BXB*˩l:{ƦVOפVL5V3?ӏW{,6^'ɧtRl{f)h& WڦPèi 9V\j דƌ>Ys:xcۣ(ɖH7mk^Q2zȔLwb79x~%[ ڙ T{t17 &/G[JU-Lh a1%L'- ר-3S] U7H׭?5yޯO*hAgWZd*lN. >42.3؊A<]TݦFQtfCVC4ޗB+[rq1Mg=?kDx^RBVGjr L9@U>KyɉvtaT`:SrL:@>nzuԦ?LySsz9OWMoUmup_z}$j pV &>Hj.W=\vg<#NxB Hͷ:"3ֽX$gANoK#:ʕ/IAcd?im bI{/ WT O^n [֮q%6!qGq(R-WR<)pD:?Q-1ؐ}"JS?rϦgxr@S-zap_kIl H~(ݘPS.Zfs"32s^]8MDzRt7 0ADUC47Ky^'TV Ϯsd|Tμf\/@5Qwx1Ⱥ F Jɓm4ؤzo. 49w1d9o| w["D8+Gq~fVkZY}]KB4s`C@ă>{b@uisAE Ꮕ\8+8p0 k^3g#O8e%C&Z9gYb/Â=cQfJNV;GfEHIR|J<%`9l0ㅟhwSH(wXQ9{14*;dQ؋!<\'|(OR쐵TobQ--[/O=czTlv-d>[Ʃgc8ɺ#&}vLzU+@ qf#6<$v̥ =d*$e _Kc Aٯ&qYu,G=͗])pL[wEG hɊC/CiZCSm!U0.6K?p"\\<`uFWhICwJF5=jܮ'A#BuZWөб]FCr$G#$~=%\C)~?aZY~_XNQI_+P` Lc,0+֢MH̟7-Cq ݏsL%AUVCji,p)IF%qpϡ8uffNW+NhU{ձpQ}Vq~~ fj !:hyI^V=.9=k$LYh$Z/q,-I&ܫ=;ɴ-7YD}T61K!P 9O2ϡ xBuE"L?lv|6\\ؕFM @SIo= ipe>+0g)sM=K2K5}%.I4BQ9nW Qᔀc㚰?13H4$Y.(B;kq4hY1UO; OuWeZOKN}K /DQ#NqG{wySp+ퟢOh%pj@7%n)̳A,Y=YUԬRL> c i6ލ w&5V)2m|@uQk=,F;21MetU`6~cT^ )R|Ǵ>hҙbHgwd Y_ٚa0Sepc]# }V/TPԗm+JJI<'|Tۖ+/I75'߶\&[i-4͗\PB5aY- :#q$6Xܨ`7G}- _x^шE`H0n-LǿIh a LjYBӇQ7-2޺ٙxP)rPJ-!.&o$x;7 +No9r?r5nR+0XwKZTnr! epΉ1YLFur$߲?^["18_О@ ;K3!5 >_V2`a=ygbH~=jhg9^(YS%R F'}t! mTMǵ&E {^_X>1i4'B6Uǎanr2xuU[q,#_5Fwwm,194Tij24(}S6cGWݾ> Ј;E9\NA6R\b+!%#_6px\Q\ֿTl޹ (+CVտ a h`#jfrO%ry6$szؗ%+kIɡT[`;{(@LZb|!)>| Aw3?ydT^|Kuѯ¥ l(7yjޡ6%hr.x>  _Mt7!W˂j'2#΢z,qGwh'E>pU]8XY,,:\(| `I^SSM\ W ܓ:/'#\܇#.qT ~XϿ-v :@MCc9ѫ :+P++@BF(8}[TJ|bVnAz  AF+YBsz>K!5ui2h9,ߎC_MUSky=̴bBXڨ(^{01lH~ಥ CuZ0VwFfz$mPko[n%=q&MÍw}9Vn0K]\CM??k(=ACczdHኩCqXJا S0C&q34>(|̒a1[T@@?d\ pwoN\59 ~]Lz͞H%W!Eio>aG%KVc,zkp|rm3̋m| nSI D+jEFP<@xU ݋)~yƉotU_v=@ q(ƻ"|$Xj;C/GOdAL@Gw\ccG BX?|' fA% grqM  œ׬J6?eUw ײ:XQQeuZن9IEro -N\ JC 12RJ99$H٤p`1C{i2M]56]+ބRVf48£yMVݦwCMCJb }-ci1eg /ӟLmΙbZy]{G^ң`u/LHmeb15],plKLtB9mfpHx'LKRfUJzcNe㦏tdCӰwʓjq\o!ճ,nWǡ> $[񺩟Lu:}# cxIt=$<RϤI>AUε}a2ɕ盲ce#$7ղ²v'L3 HG$[|e'P<<=HE.Jl5z7'X51Q[e.jMNxq͎t%.Pƾ^7A5?!$R !3ϻBRMLE?)ӫ6 >pQnϼ{x%;HMVuBU b-OOwecy.X-/v\sx.rҾ7f0Xc.X>d nj `^ 5ՍR:.]u 4M;N*rl/(S99+Lyvs>a0:~?@uYJjִ҉[\"iYBN0ȋd](,J`, ݐ&X U%6Θ7_|ܲ=`WWCa) f/WS7#~.nצ q%)ϓGCKnt\Q!$IGv8<tI]# ;U.v@K:!q ^?[5IME5v4п̆xǹ|?XQж@~ֵ[!K"F?WL 9 o& ʭJ̉.[!'EBZ[N@Ft1[&Zta@~f*,Z5#{J |0aVC Ée)b#7%9O$>`cTVl狺/iBXcɫ'@k+I%A=娫$ FTGD:Ao@0`'h™ۑГ!f6iVM ]/J\೶hXpռBfؠT,e`$˞r}mr-J}j]O(qzF:% (>H{'j}pR?EPp#T,Uo63I)&fNAlLu]-}\?xogs[iPP K)|PmMsUv4CR7]ii3@zԑ)Ͼ%CH]qPB)<#CȦsOY E,{O!9&ˀjmI3 FT`E9 3M#T'_ixiiM3UH>a⼂%4srH4w"Ge51.g *OrȪ凶{7? :d:DLLݥ]s+iA-#" Q:EsASݕxbHBNz8;@Gp丿_՛o;iWRe4d]rC^c~%#^toQ4TMS<. :^e 4:]X*. cDoJE-ho?7-adNBE~T2a9+؇?Q^~a(7Rŷ^..V]xq-mDi2` 5w4N-/W=WRC]|wvTjᝆT2B`j_@BfnPy-'~fhSłrH>1,!mJW7㫕wflU&Mf笗FCJ܀ak'C&wv@0:b0*޸.kXHz~-(A@ I[v,f748,C/;ˑěU^gbh-FqD]b^nzv~G>Vaxbcp{{b;Sً,!Xc0.h\XT,Tڨ&C^}x,- ̆!p4پH#*x:CbxKQ=ln .GĂ {rBмݝlfvѷn/ 猀PqZUh3ṡTE=$)T%eaPWFX  5,٧@iE-EQTaB& 6WSEfn_D,e ak >5"lg%T}E:&,)oihKێRי2=9.t xXc݌Hn!vH"cJߘӟ|(mN`Ǝ;wh&U> @>=_ux[(jT;C z>ߛKT7NT Lg2~ZzV:NC !9{ȞlxiU+FS\fDh|ẁS #TpL(a ].)%~}@+br+"LxE-:f !$)E noos5$>]F̙:!z|=K̎Mхǻ+']X45{ `*6:KķD汛$g /n(B>a4ܩ},Mh>efV$ʣ)q߫oE)(BGhj?u^6v q:Ӯ#}O1c;.{E3gU{І8Чg6aC;_L|Sg7 &&Uشk2_%}w+zh~,h@b\SE;^SGc{Yl #vzl;qa7Bs@Ž`ꅠѽFIXRj4U)qFX75DUWǻo2 ?NvJt^iLi]vy'GZݟ] G9"㴢_<_ FGl_>W7*4J`kܢ7Bj 6Mw[zu H2^UYscW3t8G*TtNٍLC_Գ(@WX|}"ĝL COyzK#xcu!2|OE+?E_; &FAj\q0K) =U02c0`!X?&?΁O0\|^n <]YϨŅxW y)Jnmpݩ:"K7uA N cWGos!kn1#^R; oD]A<ݓDR]'i(C^I[fN*Hr 2,lVsjH&(oS 6 $77U9.?[rY .muAB?ztɌ%8`WBCH2om"x%A3ٴ]κ5%lDxT-YZrul밼bi>Պ Ysrd:0"T=j30Y#R\S8vEzÝ[,֤ U!tUThH>Nqh7-*AY\cti=xOnj >nhy)Ho,<=$DUl~GD׌}$|_*P zN[>yF?!q{VGod_%O!3Lyd n8zhS`3"pYΟ8UزLVy*4G7ڲMjmaI*WeGp, !P0QJdMBQ:2< ѩ{ 5"PY X|mE>Y$OŪ&$eѤ%*`ۋY|pX5D;Hˑ 5a320jHA,5kkF"k] nO}ak1?Do8x sy)I oTuF^pY̴Pq z_g. X R:^^=Bfmp`d%To[FbwfؗzeIdZ$߸ى5!+/EL7o$ډ0]8(%pQ{>d{!UJf/_=ZsDY,iJCȣQ 8dG}F`іpGj\{PX'Ϛ C`ٍ$[}v,$cB)W㬓 2'dY8`6%^wӻW.| (b 'J b TCڍUQ-S̱bǖt?> T_ ]2(♱KBx 6T׋r~"Ķ|[,C<+讴)䤓jkw+Rx,%:Q#7Klh')F)1.^M}msY <ڎHreW" DAaUS.Йp@! 4 J6cf}TI_Dմ#af<|@s 6񴛎8X Mtb?/5sOfo~?+&H~׷quGAzhvn.2v![kr^]qtT.v3F~}bf۠ShIT]^m û\K 𨴾Hj D1ݰq[b?Q*œw/v/B-HY]a/Ĥ]e0[z['BAfOgű:_9Tz4*g$1 em) gd5FѮT*geRDzZ@^YQ~Iz ν=pKan}1 O!jqMHkdR|y^YH@S3Fos9ldc(rclg![w (jKkg2SC[dLM%G@DҊ6T\b b#"n5jȮQøm@҇=Sgn21쉪FDC:dxe?x H[aF(}b9p+1V65 d~+w1_FMݱ|yl a"w8j(JFOW FԶ-Mjۖ*'jo mDMIĜ1wדkjވKeݾ`+sS>Xp4O#YnCܹĕѻ@y 6mA )h)v8[H<{>GJcDJ0D:n|W=:Fb7hꠤ|5kf*jb uZhMV\GjhgtXeT of#ƻ0wKU/pke|ψ\iW3eSxʔrîp'b)5j8,1wy~@L=< Af*K(2x %mЁ8%1=ЧőeaIe9V?@Hҩ[=ĔM`e4C#<-9Xү7Nx[1{{os֒ftEZ7\߶JS$hH 'E4 99ͭLA[8i=(k[ndjmjY.(mڕ8ۖ.|ohYcl=b7@z׳-g[oިV5c֏J3ڜt3Gg弦I0*R.su:5 q(vXti*B#g%a-eD ts˿(CX&d4ލ @xd>7Oo!5X%OU2>ߌ zd I:_OE?NVX4khU$hͦEىOWe7 R%n*&áwMn&Rn0*#6cnH/%ؘݣ0:YFi /5jO0aC١L;9u CֺxۯN,w_M7힀#ՠո'P?v pkR ~jNRd˙vmI mw iV!mrů=o#Nc=eٗVu?v> 5_IqY¾c;&@/YWHbQVScP'U Ҡ['CׂU}}#:MJWCxn* ky2mpypXF`FQ-^|&MAD;`.7. S  3] H[u=.k ;ZM.൰ܞQNhIrV} i1 B8pfNBq bVB=LMJNiITnub]Δ;1roY@tJpHu JA#0+㻱b.de眪_*kT: ˫cGk9f2K}mMjTHRS^<'~ņpJ?6_~xl;͉^LNAs &_daA6g|i<.>z~f0G FPP>wB}A$;Th˺Q3 \˳5IÇ SK?O|y5C:ܨWrh LR6kg-feek\~S}-׮:aNv^^'ʡ`'o*%r D!C+5#W]9(fφIC,yՉe TVV^hQ_ٿ .s ZW~Khv]>Pu)pO c._ XwtQ AQyY?I%޲*C5d`b_+ lyKĸ%VA YJ]k? \cV}?4td0-J,\S'!57ס\ܳcs }QTUs&R9O#I٥ݍ3X?^zhdzu#텞Jd'w|`=q66O,?N }GwNGtLywS) +jr SDf>4 m5`|`$_t+\S_Y>-}VflƩx $st1tҾС ȵz=-iaia%"-~;02gdZd<R&Ljv2̶Dw8`W!t}M[7^NV=(n~cKKbi@CрgcBՖ\G\bȂ?@D3F@8'j`R=i_+qum<06 Sۇ5uGWܫ?.̸ͭk@ҚU+Rg l](ZMF {ꋿ(5[ s7 uEA\DR)tBB&"m S_1| y7TǶEC/.3sL9+΅r8(o{A>ŖM&ک,gkMŌ'[hGϒ\TY /wO V(Pu帝f ʰ2>(`B6Kު:gסEAxcEDH;+uC\)\C3;V1GmzqS( ]S^3.-'_׃VuB~>LpAM4 yl>Ҷ5aKqM*Jo$Yyf'ϱx?f:9 ~XF(>5C,>T~/EŹ@MqkPO}f ؕ !ګufv^gٌXqQ"vp /f[(3j x"ΏTв@{jsRyϯ$~8ŗy|H{!@VQxN%"B9U;=A=josTqJcpUe9^`89G6 ` SOu)W~̶8!@"Fm*6׏cn;E*֒>[(SZ!r6#kedmH"oHf=oغ8?.w?TtGgLЁC]q;y[Hpd0`}`Ӓ{gr؍s`tt$^An}h0NIF 3@w|Y|7NJw ވA8s~2`@Y,o4 ZI>5@9) Rkh6"c\=xi Jh"Z[j\?OpՍ UNvI#; 9ɷ0 3jiJ|!pg!{eؘ_FFZ1(K ot>Kj}/tHZmmP;%x[XPE\o3$ohP{EirkՄO3@V>,*ʼ"Qdzۦ\uxP'pv?Qn7ٻ+XOH& ,%8H!8s2@aS@C3agEP %OCܵ'>U^zwBfEܞ F76L Z]INŞo>2vHVv-0FfVcl. o7v 1G >;aP5J$2a'։D0{v˻q;Rბ|5gN\ A~lT^=BD?q|gPHw { 1[;^~'4,}{^yOO~NoD3@W}̬/ܐ-lxgwl. qS3n  *D 5 @aD[»`{аݶ)} {/꽕rfR{bq&%q|fю{U+r?}nF9~Z5aZN 4FjT; 5y5$ oJJC/42B xC(IN?[&(~ۡ} գx6l-*43ɜʭz"|^a{rwqr2$:R$Lg /0N륐ƟxB\&PMiJ* QT P$Dߏc uM_ Ɗ )BF k.!Qy|l3i$0--ݮe/%:tp9,/C'WQb".N7Kk r_72?*͖P3 @1UtV20#c1GMG4@0`ENSsv1HϿש@1ᆳ#1@(3m+ q!seNCn4vCR]AéM.$5^n=\1y"m,KZ)!ǧz9B9Γ+ɘ x*%uڿg?_6j(ߠ-je-g 7$4ד7Nݬ|gbb1-+U/-mI%eKj":, @A× VyEOOV:QfU`ßK#D`?eN\ < )p&e ˟)btĥ*3x ΁TZ"WEE3G(}Bq/jWyL07XJp,Ow%"a/  Pu~1V%d6 _k4/ۛK3N "t tNtR Zl=b뽞6k€?I>hNW)WəY @_}ڴp ;qLH v{ܮ"u>=qa#TO?GZ݅3(Tj3^91̼Iv[/Er%ĮHy!{C<΂#đX7_,queg1/o9)x d;ќf_gi骉Dj fr EQ[uTR0;Z\z$˽Cr4qTnZ8 책 e_[-|5D䈘"k]Z:%(};c[j%*8&g/'hJv8m%ֳy*nLq]-u2+A@SRߋrD .1l(f,sW.5rj(D4q|3οӡ5ѓ"<8?*/*p0zdʼnE8 0nrz8.oR;`I+{ư 1"I_,*@GcNz.]i2Q|NJWZmZϋL6me51&gXS$LAuH m/-zW虇[< ;kCpĎ* hШ't F-:{aU AUB]I laE# ?ա"P)D-_A8kxum;jrKYw#<]P?~hF}%'niPժd}5+0YH{_\b]JιiJAIH!ԶZh1xid~FL)lS8;7foW vn=jb2۸C*@bQ˜oPJ;ycmI+pAjR4j`S{RGWgoˏ.c=ֶ\CP7`bE#ⳣN*+beS >D.^8AAr(dXAn%5۝UQO#54'x\,@2=%|zSD&SF +bFSMY=Vn/#qI¤fn¢XL˯P=Dv6-9\{4ć5 Ӹid165GĺF sz7=b U:; tzy6JOJ-hz' յ!%@U \xyYfVUE4ԑT! ;_ޓW'+,#6L+ <~JHmu<ހ\ޟL=& Uo>#^7nōJilӗqt<Cg!:pwk/M7iZU1jJo Êae-TAcKll |E9Y&V/c̭ iZr o\aWI5LlWceˮ$]15k&V:b;VfKF ` SMjo ÁpzX/b&>yncw:VVaooZU*7{7Nۤt&ħ=nWv0Ϡ%ObID?lu{]m .΂Y R2S>}`%$ȑpSNp+Ρ#)s\ %E/%뫿2 >fR"7hEC8 "@ þ>'}„ ]\ CiN0}i>wbbdg::Zt#NPܭ);[eCX\T8ҴF )~}kILJ!E,!ɫkd+kgG0HuRދVrˉQy2c-ւ P/YQmpENRTKEta߅zO'Zr?^p1Z?G]?SC&wT'^]x;5=1GKg rDIs4RZSp07TUDEUY{cݜ2ѶOw 7+YG{OϘjaapX=^6mG*>ltv*>עɶdjv еVOnoDG[;qmq=fѠ:v-f.a(ؐJ|̝L#2>tC !j)Kc] T(h>nj P+ >v:˜(\qyҸE&B9 "[[L!:OPXX1dzQ [UUX.6!a.cP2FZ_P̫0",E;m9zFFxhE|Maa4 cw7䱭X[_,CoOɣ*;`Qe, CO4bgtcj0MIALAAa]@HۿW/6c,}ddZyιQ26 ٭gڱo8GX='ĥH0z~v^5x]^ qn 6KD\n<ĸ$nJtFOrLcpr׮}]b%wc&@@!Ėwұ_h^n5 7R/7~&4{dԠ4=xz'? `oZ󧜐FP#(sm5 }vvoo8d;o.Z ѪG3*-GIQ_'w@8vEw7K.50,/F2%ʶK7Dw] )t]yg|U}G@8 ~?¯_A iwbbvl%HwO~sO$kgl=M)xCXMDFqYp 94AL\[I wofTP4`d1㢻L𗕢|TӬywZ1@(ߎVyHPZ_#tl' ^ԭqWƇXj WTre gXQP~Ey6KQ7 B/õ1 9N9+j@-t r ro!)^jwF~Ks$۸&װZA6WgѦTENΞ1sU=_?޿x1 ;}$bޠBHXŐƑU!r;ZpXX1K O^`6 jm䪗hò*#jQ%([7cM} `a!5/(Ci Kì$) ?lt0 0teU?휰٪f8TBa`kEDVn_1n>k!(J8/A>1DUn_Oϛ:Y'ɇ'p0Kx\U|N1"$ןؓ2Q UjRE$*9..AHEgtl)ۛ'фX8w!mMwW>B~QnӔX~[&$m%Ɣ<{9x]2(1w7l,o/ 9=2ČI_9+M?O|nL \F܈SE";XnЯ7l|0uR1~*F8%bYz|[W@dMvrCNJܹ %O 3c ~eG& M?l3&[鸏-kcaݽG[̺ Y'4;0MDp@H}ij9AySﲺ~uz.8Bщ2V{ a]jC;Rm_lYJ bG")̅Q w:mz 1 QK+J>Ef0bWD)ָ17=bqqAamdΛy7$9Src?QpWVeގBC2 x8),[3K2cCiT,0u!ovĬ QoAnWVCV2@6Kw@-2jUIJ "gWd4 ! 6|RiiD֑ BAgmKQomDʃ r719qNd,(bӇ{e.G3fsΧL):?RhBaEX]-if>d;[e( "a!05zN6FZJMI3t*eu4;E\jn\ęɽ[Q{1tDλ󴽧cFL29+'xuql~~1(0Umpb S4t YZ