grub2-i386-pc-2.12-150600.8.21.2<>,lgsp9|_>Nw)hUETA{ P-"Mz=Q=Z`!\%Ĺ mh^vP54 D5 g}NI EO, 0`I:i'r< s' ʆ3 {dMqwK@KB'&Y+nO7pKb7fnH Ov8%wn1!Igpg:Kr={DǾS2( >@x?xd # Yhlx|  L33  ~3  3 3 _c3 `3ed3kc3qbq3vPv` v w% (wO8wXQ9|Q:<Q>FGF3HJ3IO3XPYP\Q3]U3^dbdcesdeeefeleuf3vj wmx3xrD3ywwx'x0x4x:x|Cgrub2-i386-pc2.12150600.8.21.2Bootloader with support for Linux, Multiboot and moreThe GRand Unified Bootloader (GRUB) is a highly configurable and customizable bootloader with modular architecture. It supports rich variety of kernel formats, file systems, computer architectures and hardware devices. This subpackage provides support for pc systems.gsh01-ch4d%SUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done!*( >dK j$4<L $  y4 l    te <B4 @8lh T0D(hb&?4dlEt5l x TD, @@)J d ( K;B#0`bpd' <0(%@x  L!\  %$j<TX8Dw9,  lL=" @8 D | 4 8X" ,lT @tDT( lt- t )\pdd  < @ ho(` pH40 . \! D`  h0#p;x (th4 4 h\\F8/lh0  H<% *L $  'dp|!TDQ !n\;LdA큤ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg071e41b030c59b3d9e2cbc50171645a3dd819fc2505938bd11af38433ad42efcbb71b1a958647e75ccd990c30e25c88b75f198c49c42944317a9bf952c06f2ec03843977c881f31ce7ff88e48db217a1c248404f198c7bdc9c5fe3aeff4b9ec47a900902dd5d6a014f256d394f2b5e87db507d542f37e5f847e78e61557eb4720edc86aa80e92a7d31a865ad5cce74cd4c43464bced3eb44794add582e506ce187e372ca4667ded88bf95ba48e0871f7e1c74c98205f9b9e0a8f59694b4410436c3a0a7c9628ce2102a07bc0966043ac773748d4b63c1ad494a1713084e5384ca8d901caa4a994c481feea58e47261e0ed6d32846e1184c506bf0885575f574fe9dc1c21ecfc359d349286377f8e53841e52b38f308feda0bd3205f4129cac3a2ab57da6d3add0a73c70e336c882c681cd5be93b6fed66422715326ad0734c22447f4fdc12e31248fb14483330a096fead352a1d2ca0fc0453a724c3c1a2760054071d6fcf124716b619886e695deed301513a46cc66a820b4c88a2077803ef98dbf19d287c91a771557f8f10220d756dbc30f1d60b06999672cf666c8ce472e10044eb7aa679cf77122af7831ec4fd4e5389f38fa5e47c815a0df89cf18bbb51d4b9dac2199b63b8f6a1349b89d0c3da44df95e8bc3971872acc2f5a7f5db274784fd714c2fb09b54927dc6605ec7c08356ee7811bdc4c9d79ee5ffe13294b117f047dd2e0598b264a0a0874dc8d63dceeee8482ce6f710910c18d0771b1c98354bb72b433c52ad0d5a2423303721398c177ee171ab3c1368391966d86bb09e21a8e21b3c4f53765e92c2034ca200518d64b11d6d66d7177d8122961cf6c5c60512fd2a51006d9e88f71260e4c6ed86c7eb7bc94a0dee2a61998dd60f229d914bf93098d09e0bc33cc7d1227ba87a781b923e4456bb03ed27cb80f80dd91f95396988f3baae5068a183d6ca85b9a13443ca531fd882a559023e56bd5a856a3e6343b7e9f06388566ea5b6e8a3535fbaec1f695a0b3793caee5386237d4d3450b0fa61321246f8d3509d4be85feebcae219f909a52ef7b0a7213c344a74f87b23566224ed6b9115ac26797d1cfd405bc229e4c5e99d6b18f12463cdf9ecbac672d3027be0a695db635d0bdccaf0a5184636956a0769bb634f26429908c9cfd1d1c9dce2e102959781563c7c1943172a950e206f5cc3c57995bc7540290009583724d6ec30826e0580e80172eaae6b583fd72b0be64f38e604a8af89febceeb041e1e48b2f739efbc84b7a4091ece30784b3aaa77f02de42b94f24f1e71a267bbf626640ab8de6cf5851dbb3932569d59c1932ed57db6b2be759b72111f3be14cb5944c5652ee2c85f0aa04bb8af1cb18fc65b611b04afb4f36336bc9eb3b33a67c6651daaec50e06a414f7d404d3ba696708b7cd1276049f87fed3f2f497b660353dd42c7ef5ea0ba1c489b8876c2de7a101e42a2bb9c40cb5c2c09ab0916d6c7d2b840f7c5f942f28409b8c710bb60f474ca53fa3ff26c7a0258d837a67d7ec501288484d9143c3f7a739b26b012eaa9ee0b41ca42011f7e97ee401e06e19d654c674c7050df60d24fef77ed631b28d90d81a882cdd9cb1f66dd3b44d96c43d319e2ab331b3a0f190a49d7e60896b96002134e0518ff17f5d63f26a8e81ba972b798d5797373b26ca852bbdf5bcea9a9e4ef20ffb57cb7aa41e05883695a255918f78f7942461a94696ad3d92b446482617a5f59983e7bd8833d1ade37f58d2bd3d0eda2fb5bca6174ee42958d92fc43d707333182f1543bd9f3b9ca3d0bf96132497bc1a4a1ee58495164a36892661f791aed93944b64856afd54b80035027678f5a66148f7b17f9f123c3f4961be984f1fea4284ae5b5f4528a2149baf5ef12b1315f43a02478e686e73bd19e52f12fba0d1b1e0c87c501d32831b1036be15adb837dcf6b6600e7efe665ccd66bfb98d14707105cdba79ecbb51ce933470fac9316ea294ff936a7c3ec1b8e955ed40cb28a17023ba8936eb7876f91c15c1d058e2a8e16bcdd73fd8788f0d9c3d9c053097d82dc5aea51b2df07ed4c988449bcee3c7047096d32040363112f65811002e2ced20bec6bfea577fd68f63e614463ac61dd7f5a2a3dec6ec20a0c007783a2ddf3083d7512291c9d8686db7c72113a1d1fa647bb2a64cd470b2fcb0e301db81860c49d23bbad90e58672f70a33d97e420d8e54cacf174bc643c6bd1d624abddab53b01a287f0ed1cf2f876f56009000a781b847b28d746d95cffec9cd883dbc776a01ae849a21406b05a5852f6751b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc43cc4c26c09ceeba35d2f801b141bb9bd35116d4954e4e4c1cee717570b92c285829f7652cd6f7c4ed003f6f3d3b35c6e2cedcae2f935186cfbf9e63835c650f6f592a9134e3bacbf501d690169cf7d382458061d087f078b40e35462107db6b8f849615d90ae413465075742c5603a7386795a922cbc7351b283554ea16e8529a8cc12d73856d1d65e713d644605f6d4d2ce1d1888e8c4b8d403a9232c288cd06329798ff7f0d85d60bb3a10f38aae561db53e9813fee38cdcbc633fedac6d71c24b2415d60e372d1dbeb9f3faeb88dabc520934fc1ac222ef190398621d48af0428aff3de457012cfdfbb2b06c44b3913ba2546972b8d1b5cbf79d5e86ffbabb6233428d37e90c21a40704829153c72b8041aba0dc61a3dafdfe298f2393bf7039e120d2970d77eba0194b7859b043f46844ee2fd5a20e9139c3e2082c84a337bb6f2bf1270918a15acfcf455ced938466c5ceca40c3d35c74f039d9a255df122619cbfc0840356d7885d575537caabfd92aa661335040cc7086a45984742c1e46be84f23b6e2027a682ea930adbff1298390d0b7f4130aef881c2b4f86dbd06a65d5f4c32c67af057984e8623e446323b7cccdb865380c3462ab2a1c0bdd581d12a1c10f0e794cfffa2a330b211976f5771fbd30219989da03690a16d4de0b3ab7a364410d17540bca434eb076f9c6d4c0317a4554c4571399d2387e3f000abe054f84f825ae4fba2760d07f65e087319d5c3ea4177205d141e5283c629b1273c73e12949211e6333c7f785b6daaf4e3c8e97c0e08fad9b4834361cb231ff69a1ee93630955a081201315ac5db4b6f76c9dc59b3ca162d59f7a8c59939072336a233543c65412575d4a644f73059b3f687a2bdfcb6a9e0fbbcfae369f74745423d3f162fdb7af7ed105861b701d946153029b3b689214ca9e01e3ec71c70256bd0f5b0f0dac24cad9a2a80e036710db226b58d5ba03d702c10e23360c6199627a0141dac383556a0fcee12da57d2ba37ff9876a0d58cb52ba53ffac2f57800c84691df0985d6e73bb666471bfde7a350a913785ef1081b3a1b3453bd5d6f2427bb8d2f1f30a3efe20807b6dc5b2693d5219d1ddc6fc10270fcaacae1349a32486857f6eb854e1639d0f06c98c94b975fbcb560a5bbccc6c863b2ab82ad49ab54c8d752a120999cfa71aac94c9773ff8cf7ddc28937f8ce2fe48fa1a13b00ef3832f70515e858b406de09aedc4b0f2e5b69e7ffffc302aee9ed997a9a563a90eac13f2e3b2ae6e2464b2c3ae6a471517788cf8562a24603e67f0eaa2e39113c3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c291c170c6a4ad1e2f039c8d5cbc8904ba2f1d4dc28cc5305c286a278f45307ebc4845be8cefcfe88a9fe57e683204f2c9427e9195fd71e3ad4d627c634633d5a81780a4c9dddde0bb88fdd1724b576b86e4e6fd3e3f12ab299066640653248d32fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c5759e61ec581c157ff2c9a324c77acd960343e0eeb55a57b35ec488087ebfeaa0e2677a0609edba91ccf55f72b881d0240fefaf340f2e03b577f115b4924ab2a92436ac9e6353db9a765b85f4dd31214306d5d9efa84d6109a5953b196f3e91aa0efefc966e548ac66b632f7243ce0bd2df2655ccb011d807283b2bac956960ee659847c21d1bb01c7b2a86dd2d3d23fc6f4a7c90915dd7ce7c5ba0124809e1d0c742c50a396447edca6ef2cfbb687685716eb1bafaedc8725f2906c5f8707a91adadb05fab6fdddd7c90cfcc594fdf1ae61b8ce5409057e890f58130629f578839e08d5a81d829ddd10cf8d1a422faf5aab3b1d43e6f26d660de8b9c846239e384f8069aadb94be6e848b9e565ccdcc420fc423628bc96465a27cf614833134010b272bd38913169d8ab2bd99e3c32e6e3e30281abea601885ab2ec68b37de5f8a47ced3711df52b59adbf5cdbcf21ad070532ead14234e0a34cab4ee151ca0bcd53e0b42b70f00fee8441b8a16e1aa92ea8164346b4185c963793e7df90dc3672630e8a9375e56bc4840805e2d78c439716431a6a4f2183eb3d4a681b9a0bd29f287312966baf5ed850130b37c87e651732b6a779d03b8d76eb804cd2a59466bb37712f04bc8564737e7cc315fecd7e7e9b21a65d431b32627ec7ce11403d093bcbc808c2c3ee3f3b2733dad84f1c83c3badd7ba92ee8ed11485bb7bfb533cf5d5cb62f8a38d6de6548c6ddef60b21cf1df04b40f1ea8870690eee52df2d603cb54483a4371c4b058a0afc67da045b69a921f05410893d4715758d344a044ecc79aae3a31cf8778229537844dadbe6b0549d2ebf7aa5e55faa3887e72b2aee0568e793eeb846d6cdc6c9ecce8f1b61df0b53d73d1e869e050110e13daf644f05bbce49de4be20e1ec3b57915b61fcebc739fabcd611ff2586735af6232c2ca60049787b9ce430777274de4eed5ab824ff24f7c02c25a378f12a350f0820a3ae4d1b38f183ec2e1ebdc188e0979bb1be12c7bd1b9f2c49c0c528cfc61159ca14b4bbae720066c40a01215d6dde055cc379eb1fe8e867681e001cb90c47edd1578a3adf651cac306e156427a46364ae78a52b56beb37e7773af9c1a2fce3e52b3a7660fbb0570df9a221799c65fe66aac439e47f243fb11c7175292072150448d24e4d4d397728947754bece35e054bbba68197762e6014868d6a4a9d76afa829e96703ee0c687a9d799767326da81f1a18d17f36eea52d2e35190590dc64e1e1bf36509f3f79cb7e0f12279af9593fa65003628e3fe1f9990e115c2094504300ce0ecaa821edba962e1c1989b697a1addc6b194f0d3130165e445580977404240bcb376cef5a127a64f3f767b60959f165f95db17dfcc56d14d593e1705c96dfd761e5b7b0fe571621a39636bfe793f0a766d78d0f84eb012cfa872b9944e9f6bb7a2c942d4e4b4fff89c2e939a4ffe42b380544ebc74dcc9bdbc48671db650deef48f47d8ed87f5964f15762effeef3cd3963be889dddc8cb56f3421ccadfe44086f5468b76d26413fd0ba89008088549daf17a03c6e57ddf687a3a9246e5f165b56f6b3302af373c43717f07136fc6de8fee08833e571263b272493d271495a3afefd98952bdfa0b23f0930e64c9604e447e25a5f3b243805af5174b74eec012410e4e8fe1d620c40f497767511d2b2ac8c22374760fec9f5577028fc95e3b1469f399356fcfc66b7e981da9c343ce3ed548080b6e20fa4e2b1e2995e1733468b85be6819b1369e180b1902f1aa5c96d76352967119b7eaf3b5acc84f326798c2360c6323f6eaa47589ac32c4ce63c07df18bbc44e692632ead7456ab1504da734efdd0e267b2a91010f4469b9bef7074f3475977ac7964da03c47ab897c7b691db4c185cd0ad522fff0ddfa4b6a5560d8f312e8450f775e6cb5b106688377f6fdef6772d930fec0e5dc1fac8d42de40379ace505a069e984662fe4c5ce534cf4d0b3d6da60c512d265ef2e9d07e981fa0a7c05f9185c5d885cac2ed2f138f9220fc12a7d5ad23bbcd2ed1c3dd63daebe88ce12d9b2d0d8919ecdd1c14c06072e04524954dcf0ddec7703d6474840064a921dae7b0f3fd473a4cc6d9d7750b6d0a20f85624794afaefc32c26b8d057199e4c679bdc101049197a59c30175e758ba77fe6b5de8c1c4d4c509bb748e6a77da6cc50d4ebfefc30b2162106303257a9a870dd4880cdc419dce6c2ebaf1cb40a8dc33699744d3c0a01fd1a19a23d9fca0234bd4fc6e0e03811d81839089e2681878a6513df6dddf72af727baf29e0f477992b7823d074c3e36f9091f339af58a2cd1bee5fdaadd24abc23d155861a01a195da111050a5f057dd7032f850480ddb063430d33e24e968749aee3a245acd0f2b49b6bc33f5adb0437f96ad5602265c815c72c2c8633544663de10dfd166ead8a2e7dcb0437a40928d9d251e3fb701dad819085425a5278c02ec599223a902229a34a945ce35018420d5e77616149d820f3d5afa0a0355fbdd371e78a2fca0c1e5be96c7420337975e5ce2ba40efeb0a5de671e4ffcb077b64442a26c6de31c83306569a226bbc0301c7cbaed1d0c36cd1ebc54c14202e5d6d590a4eddc6d2caad9c22552342f8b8cee34f92bea574fb888ff6deae36eaefc457c264e28e81a217554bbe1dfaaf380a127ca33da1bd3e6fbc52c570d0d95cb3d0ad9c5ec65cdf8d4978082816b9be3cec14f0bb8a6ac32a1e5e44c6144fcfb2e2426bf9662a7ec828fedba791738104829f960b76efd941a0bc038bde88b1a9fd047683ccc1c586a76b6ea5b7604ab0a59c3cdd2f8af7e61f17ac2522e3037ee01d2e14c0045b3937c6c7c04ad8ad7f3930bdf2e19203672df0687eae22366ce17161bbfb94758e26a1c7b86ca5f13d6ff39a5c3badcd849ebcdb2aeb9a60a0da9c54fd55544598ebd7133c0ed1e3400a105f3a1e12fdd814b1396094e7e6a7689c52e5edf2573864d6516d4efede21deb573d357b05f631807955fcf94725565250d434c7d334d6a3d5724ddf3fa91a20f3695517483be3ef39de340e61a86c6b3281d63052bba16151dc1da0dc424ff19a88d6c72147d3874429ae7993f656524588e8cef4714b0034be3a8b09b2dc6e79e213dbe9f655ccb715cd3eef185c0dfb5be4c022fc64f2cd26b86558b0d13b58d8a4587909f1db707981155df5d1dbbd59be7870a016907a67ec411e61391e7ed7411ec4bded8956483154aeb2babba5841553b7996c70e5e34a96c965f368a34d537dfd8288e6e47b66b712184f9c192a91df7ff7b4bde9d74bdbf9ae687386c13644c2cfbdf30bc3fa91e51b85afadb92d276fbd3a1321f73f50a313c91395f5fe96bf88f09faf1a288e916ca8da131618ae68c47eab842265fafbb0d4af6b1fb4d00d088db4e554c9de34b398ce012db9eb44cee041035f91acd5f3d4c03c6466506329c6208dd2baa3ba48803dce684f08a9afb6458c8f8cc8a69b53e0e071475135126f3e4c45b86c3b449c7cc3542223306c9d68129b8141052edade071b22f3a8c0ddffe99752597589690f4e26716ffaa90a88a980607f7248c605dd653efbf87626ab1ba2ac0f342292237467ff2637e69a4db9f6bc7d23c5934496326aea0b9721903df35a99d6e475959870420cae71035def4c7c07a2820021df8d80033eba9256bda39b8b2b67d1aed5d8993ad546f653efb71c1aeef2a11e52d0de5c0c73de1cecb2a91d76e393c184903f63c3f5c4f63c562685e636ac6808828504f8607fbcb6f294c1432cbc4e09ef3a206791b9b3c3165a38040f0f11ced2a8b7c356f9e2a6d33c8d2aba436d1f69fbaab88f25f66a7137e43e395efa4970313d7804aef5abecadcb7c3d7fb10d27afbf99631ba6ad0a9405f74e36bcae376850dc97904cbcf106bbda84b0348c0be4fa1f6ae549128b4a9a1f863417a441b2e0dddaeb7bb09c86ea43add45e5d729d59d41f71ced9d61881affcea7c9b0e6e060df451fd1f09ff28bf2a5c615d7d36fbe18369119bc00da8085139b021de4966b7e20e96c38ce9921d30734c872a3f18d9bd64caa4b8c00c4f0bf07b4267d85fb58ab0904be4713664e7846faa70c2ec7a2032698fe0e9bd17e7bbf12f794f1fda9ad486070baec7a2f1759842c18e8ec232a6695fb6af921c077a3faed418eea1146dd07abe926e4bc479cef07d131acdf96ca77d49cec139f62e0f442fd1d0d3433d5ff360dc563acef00ffba29efc54cf8960dcfdf4a8d20b794a8b923f1f951403e0b95a28b60e52582810a0ab9da6432bedc584b6e1e923a05c84f48eee5fd92ae28a14f050735e9899a8c5f60d8fe33f1429c5de12a5dfff60e47288fcffe1139114c00dc5a1fb44abd5658cdd2ba4b6ecc4f03480629f3a480e5a9e9f1a8fcf7691166e6976f7280bd3acc234cd4682ef6d88265f61742d5f56590bfe2acbe3894345c3e88218078a15f8b2df3d1782cdcc56d04a2e6147544c0133c8e058c3ab996764348ba851c1f74f89db8b5d6278ea878bd66e2501cf4f187f1396d4e84335078096890a6b8a1d7357662b96cb442fc41698d25682ab71e179f782cacd6139530f353c0b5a24acdefc70e8926c378ed84f883005198a0bae83dd4fad4eabc5422c87ef809e34ad6190cc3a76de0d1a459bf5fc6fab8ac7930d611a27916567e4b19cef69b3ebc06c2048cb62b0587c8be7b645db58182a87879c63ed3d455b48849e6b47122faadf06e633e87618e62229b91100f1346657b6ff18ace5b4065febf6048f16e7a2c32545200636cc9671adcd1a8078e27093c21d721bb41982dde9b77fb3bf665e10f94714ddc0440d72fd0c885aa40c0b6fc1d31c3b3c093c48a726c0ba9a7f8bfa28adcaa29f34cdaa28b7f14cd2d4be2d5f13c841dd255f2a2e4852a0e236ab31fb67b61ad7d6aec38910c354083b723d66ea2189b0cd017e28dc69de653df2e304ef2783ec71cc0a2b04a917916b527d15e0e0e62d8a0267d369d4b383e14183e2437ac4da33a65d8ca6758063dabf12a1cbf6f8aa69c916cfb3cb20647e4a8da92ec0e1349cd7819732d60e178039ab97dbd793e384630ea58e64efee556acc1e90005e28c94825c9e1564d4d9ac711b4ab3204db7af249ff1a27d1ff2813228f8d9448625e5885eeebf5b6a2d1fb0837cc3ee80bf271009af59af2cd16841e0c2a1c99004bac7f73febdca9d8590a528b3987d65da8e155dd2dad45e00f964faec0af1b457f7e242e8216f3c130647d98546ae154a2f1e55d34afda4cc9f6d97c67efedf8b11d48e2942012e28307005bb66ec6599b2b3fe7ab8e1c611ffec26685a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe3d0fa16b1bf66cecf0cade9b655eaf1736a282ff588546472ee06147572f9dc8ceb83c4ea8afc4fa4f23da9f683a678d8fd1058decb9c7287014e19f0a5bc1f9f7cba3e2d3a8e43d4e86494587567bd3d7e0a3d4069370b4f8ccf0f5a401837d555dfd63192a0a599697f94a1dbc07ff3caa93dbe92ba6452cd529ad5a0199579dd8218e9def05a3462de730fd11790b91aeb538346c5a35e7001ac770a7b39b03349e8d59e87b77d2bf4d4a672d35a31a04b944af4342722d50a729e1672d0218eeee729c5127fbf1cd09c19563857f89c135ea3775901e7387376e47923a5767716667b170b95504a5ba4facfcd2196d03fba3b28fa787f870a0c9660dc56c85fb1cd4bcfea83625788c691fed9e21f7833f1224d718f5372511abf7ad1dcce850713fe5bdfb1ba00461a38a6789117f419eee5d2152fcbb2a8f2b98137a7ebb43742992a301e6d060336727032dd695f60a535db35c65d85826e9282634af376feb547b250d5ebf7135d2e9019007bd7c3013ea207f04edbdb2d26b4cab6dad5e6632d4c70009d2046af18595b372632330e714825b5c6b81bd24b5a9df785a45f25924ed92910eb80fe6d632c2751da82a0cd6fdacc70401d52816fc958fe47581ad7f4b4bd621b014c50560ac03ada9b0c2023518ff1d5d9f3fd80daa327c94ece0d7010e12ab8e55636d5d4ac72566269a41ac8afded87465ef02f23c92ce4f147f5eff2c12a7f22d2ab564b9b34160817a9eb2d416ccd6b27ccfd85182dc3ec8372e1ef2fd02644c46dc922ba5742f77ec893de112b2d5f801c830f612cbf0cf4c98c70f297d6d07e3f5f6deb2ba881df57ca2cb162047009cc4cb832ddafafb8abd59130f4d095a7fc9fe38e1e23be1fdd52ce77b0b1748fd536321f94276fa3cd97fcb1c6c50c1298a6e89f05b1259088a9934fabf075d49fb90d89b4fc921870b09dec376d59fb6ef90e7a174984bf8e889224681479f457d275cc1d8f4a7727c5eeddef5069593b4d3c94434f7879067c70eca310ac714e51ad8754f12132212efdea598e5c72d6980da1a13238dc711848a48c8df168a32bd39cc6bc643b95e3ba3944df0ef80202d747d503e44904d910ecdbf04380ce85ce9e0fb1197ce6f18322c1b2f57ffb31e985c43830d323cf7ed55d6e13e7fcc88a3a6af582ef0e4da0b59ceb569b22527c438e977c165910d201c6972965ad940cc79a4d297e160313482288c176f7e146415e7e165198f596d0548bc7eb6a6641b7778dc93a3d35bad6f5717f0c87dddb903ba85da65e0c89eefb7dc5b4a081ee1b10c98e13f7867d027e57d9360767b442523293dea595c84ecc9bcee011158bd210b59c5ed311a83a94e8f1367d7ce5ead3b0fae0719b4816a2b00e899302cf08461852e71d283eb1694f70a512214ebeb8cb88e8fc9e40e519d4b99f5fe85e65e99e97ba06702784515a2f6a14dd50d78056e78b56f7bfbd4b3beb9c19516cd8f3d4052a976e23320f40248a83e33dbe7f08a6354c019cca9f843bd132d58f382a2ff671fc73b8ed404c18e62d4100b31250e208322e6c9b8e7b9e61cbae7327d30dc3079c8224d83e5706f1508adfaf5e383310152af388a8811ab2097b81c1ccd45ec4733048eda4262cd0042415a47209a9a7f8a1d782136be9d16697f39c80fcf96c586e71926a52debfb0b613fd1a21016a5722bd75181373a8c759dd79026d52f1e01552c54f274ca3ee9d046c56fe58478d9f60d430736f25a6696bf098fa60cd657fce787ad7294c94c0f175a0a0198f8d724846024bdd0ba27d950567c04cb913356d6be6839851c9c6cc02a4a75b2863acbc56f104d604bac867b69c4eeb60fd2bafd43d16690e99e045eec9f622b4a44fb35328abfb8c3fca1b404918b2284fc23f4bfb6979d450b443ba47aaa7cd83ac5e6e3a3c117218431f64f2fedc5c1136f6b0bdcea1cb3bc74707703d178f6f6d261c4c2bac57f93c958991ea669c7d3a813c179273a0eb5ee2ab5349d85274ef58f6a05ae4ffe4122d8dd8d39d9360f8de77cd529e2c4f28f770b7ba63383d37e07fd86f673d1ecaac8fbaff853d85aefb1d608c315df54cb0eb506a67d118a9f9ea4fb09a21ac8c56f1aa9380d7a1be2fb2922a528e68fce5ae6a89c602b9db21293c7bc097538b1d256f7ebf67592b6b8f4f71f291b26a01277d84ec75b91b428760d15f7863b7064be3998a8ae7202959441e52c70a4408b2ccec3f9a4a39fad1f27e58cdc73903062809a384d310299de0fb678e5d3dc5fee78a2224cc3e329baca9bf4be8c6e0e5c5c0b510d91cccadaa991307eb110e3fcbbecf70a72e806a6f73bf690ad5ab805ded821972be9546bc550c5dfdfb76cf13430ca98332a246fc61279dd8e994d69c52240a53b4c310abd3532a41f46ffa229585bc85b1607b8b604e4ce242ade81a3bce3d48cde5a96dce33e96f046f204b012ac8fbc083cc1d503c7e9ab60e731097fcfcca22f9d5f948bc5f21ef1cceef0cbcba4827c2b850d885658316272db11cb4b3687e4334fb2a6a56d13b8a26669b60a7370b152915d07cd4917968c5d4e699e2bae73e1749ab16c5a4ea6a4e0f2c435266ecfeda60629ee58563cfdf91ea90f5bbe181d89fe739a9563b17c31b3e726e3fe3a23525c09720b212ef23b42362d7277c4f0396fb27eb3c6aec75895e9deef7ae9038caaa2d527909f129a5f7028ba723c0a2bdecb93208619925449e0a606dc6a94f32a73ac78584f83a8273e07a2956a2b5e87f507d618d59681ad0d5ef3f34ba061a651665e266b43a4c2b4e6ece096a28b9e4d0ca6f8a966270cd6e655b5217bd21bd91466963adad7a4e320f045d1f83add6a7dbe29a3b875152a9f2683ef69f07d954b761de31196581d01db845b96112f907f6e8771c734e1c50689a9775dd09720c493b5b482d60c3a084fbf82afa205ba7556dd4d10b3b11809c9e87c88911270cd697274da6afed8dd8547ac566925f3d140c2c5a407769c23f3eab860b8b9c9cd467a76abce3f7a77071e1dd778d60644d9524789e8b1f4a3d8762a2d0569c83dbd9e92a3492857d04b5dd22e78ff52f1fa1a1b07e779c5c7f163e70d9d8c3569b183bb62008803f2a3849aff097ed2aef5d0a08a89ac94927ea94a6d7ecb1545ad67d5ca6b8e51bf27c7a08aac9145e629bab60af4fff45704e339774ad6f002fbc22626f1091502fb1624ea72d0c4e7a58454a91045ea771071e9ecd89450dacec2774a6a45326979fc818b96ecffcac490d2ea79b86c3eec28c33851eb1dbfad5ab8a675cfdf04f93c53123b9047f7a81cf3976d14b38b178b435df661fa7714a808ea75db6dcfbddc10908bb13b83655ad3d0d5b8038166f8b98de99ba1ccd6ddb8f1e90e13bb53f7265f01e44d8b6aa88ea675627c210b975af9f58406a8eba1c1fef8603eeb89ce7a948c8c6069ede46a7305daa3c756a593196278e2ecaa7d0e1fc0897bba9f26e56ee8bccd29dbd2a72ed98a9aa52b5582002c2b7e18370e49a7a5e7329176f35d8544c2474796ea37bbcbed5ee2d2cdc9cf93235a520fa44ace34b05a54f4fcb95e37c4254bf51a909f9fda18ec8b4df74c6712adf90dd218be230581453eacbc95caac7c1ef5c4fd3968924679466889a75231698b8a7a2a2a5cd8f21ca45025cb83c786799564fc14fa8e71780fd7875ecfaf0d4cfe96880367bca3f62df73b146025f63ffcb080ad63134ea206eec2f8b4cba7e0e0ec71291e567ce5fdc996e9888c408e5fcdba6724a1de3040d1c576f1e8d32b9fdf02ea9e00d826bccbbb732a5d916c54f6c02bf9f15da704467e344330d0cf30230a7bf0ad36a23c7eb2976449b61bf93fe98841a93d6014711875868e81b60bf50ec06f9b67e4270a435da508801b48acb32edfb1c1cb630b17ed5bc594e2810a02360ac24c6dd0d79d9e06fe5163724e5587cb3524056df5e73c4c8d2bd31579c0635024be920b9947938b755511b09b13d4764035804a830559016cebd50b1c441707bf66733cdf1fbc0a493a81c9a06cb9ef93642205a36d3b7c266bd01e47dd37e79173a55a413ce04a84c264abf93d403e83fe3970edf9ec2b9a437e4b4b4e2fefcda0fd6b62106f3b3991e46e010a7da94d1410029d1d8c5e483810ebb05407545156959df822387e33bc255840600c4a72f9fced8518c5535793cd37b535420d4e5b176011b606f4f879d3215f3b3bd4a623840c61a068ff2187617725908216a630baf79c8e0dd2407b0caf58204221206fad5f6f52cb58131af4bbd406ecee5b15292700f7f5a6ec050c52f4fb99959d8995ccc6f10ca59a7554ecdf37cf635ac354b2a6b5c2addf38aad4361bf07495f6f3b1781fbd8ba29e4f0d6708897705fd642a34766c49d009dd85187dac51de3ed761aec00e4803b687039df33812b990dc2eaf8ff60e87b7a7741c29a90cfa95c32748da38bf9cbb49be8f71bfb59646132acb12a174f3786d82330ccabb52b2f1476e2178d6280c74f2f8d8df9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.12-150600.8.21.2.src.rpmgrub2-i386-pc @     /bin/sh/bin/sh/usr/bin/perlgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.122.123.0.4-14.6.0-14.0-15.2-14.14.3ggřg0@gg+Z@gfff@fJf@fU@f@f@f @ere7@eПepe@e@e@ee@eeL@ehy@e]@e\eV@eSa@e?e:Te9@e6`@e-%ee@eee@e@e e @d@ddܺ@d˖d\@d du@dS@dI@dBzdBzd>@d5Kd?@dJd@d@dd@c>@cc@c1c@cc=@cHccc@cR@c]c@c|c{h@ctcr-cr-c[@cV~@c>@c-c(Yc$e@c$e@c#c @b)b@b@b@b@bkb@baG@bT@b=b4t@b1@b+9b)@b)@b!@b b@aea@aq@aaa{a@a@aaqV@an@aKa7T@a/k@a.a @a @`]`ٹ`"@`@`@``@`q``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]0_@]@]]@\ޢ@\ޢ@\-@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@mchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.combwiedemann@suse.commchang@suse.commchang@suse.commchang@suse.comgcomes.obs@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comglin@suse.comclin@suse.comschwab@suse.deglin@suse.comglin@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.comglin@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comhpj@urpla.netrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.comvalentin.lefebvre@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.demchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.combjorn.lie@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comrw@suse.commchang@suse.commchang@suse.compvorel@suse.czseife+obs@b1-systems.comfvogt@suse.compvorel@suse.czmchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comnormand@linux.vnet.ibm.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.defvogt@suse.comlnussel@suse.derw@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.combwiedemann@suse.comschwab@suse.demchang@suse.comrw@suse.commchang@suse.commchang@suse.commsuchanek@suse.demchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comguillaume.gardet@opensuse.orgjengelh@inai.demchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comledest@gmail.comledest@gmail.comjdelvare@suse.demchang@suse.com- Fix zfs.mo not found message when booting on legacy BIOS (bsc#1237865) * 0001-autofs-Ignore-zfs-not-found.patch- Cherry-pick upstream XFS fixes * 0001-fs-xfs-Add-new-superblock-features-added-in-Linux-6..patch * 0002-fs-xfs-Fix-grub_xfs_iterate_dir-return-value-in-case.patch - Fix "attempt to read of write outside of partition" error message (bsc#1237844) * 0003-fs-xfs-fix-large-extent-counters-incompat-feature-su.patch- Security fixes for 2024 * 0001-misc-Implement-grub_strlcpy.patch - Fix CVE-2024-45781 (bsc#1233617) * 0002-fs-ufs-Fix-a-heap-OOB-write.patch - Fix CVE-2024-56737 (bsc#1234958) - Fix CVE-2024-45782 (bsc#1233615) * 0003-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch - Fix CVE-2024-45780 (bsc#1233614) * 0004-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2024-45783 (bsc#1233616) * 0005-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch * 0006-kern-file-Ensure-file-data-is-set.patch * 0007-kern-file-Implement-filesystem-reference-counting.patch - Fix CVE-2025-0624 (bsc#1236316) * 0008-net-Fix-OOB-write-in-grub_net_search_config_file.patch - Fix CVE-2024-45774 (bsc#1233609) * 0009-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch - Fix CVE-2024-45775 (bsc#1233610) * 0010-commands-extcmd-Missing-check-for-failed-allocation.patch - Fix CVE-2025-0622 (bsc#1236317) * 0011-commands-pgp-Unregister-the-check_signatures-hooks-o.patch - Fix CVE-2025-0622 (bsc#1236317) * 0012-normal-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2025-0622 (bsc#1236317) * 0013-gettext-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2024-45776 (bsc#1233612) * 0014-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch - Fix CVE-2024-45777 (bsc#1233613) * 0015-gettext-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2025-0690 (bsc#1237012) * 0016-commands-read-Fix-an-integer-overflow-when-supplying.patch - Fix CVE-2025-1118 (bsc#1237013) * 0017-commands-minicmd-Block-the-dump-command-in-lockdown-.patch - Fix CVE-2024-45778 (bsc#1233606) - Fix CVE-2024-45779 (bsc#1233608) * 0018-fs-bfs-Disable-under-lockdown.patch - Fix CVE-2025-0677 (bsc#1237002) - Fix CVE-2025-0684 (bsc#1237008) - Fix CVE-2025-0685 (bsc#1237009) - Fix CVE-2025-0686 (bsc#1237010) - Fix CVE-2025-0689 (bsc#1237011) * 0019-fs-Disable-many-filesystems-under-lockdown.patch - Fix CVE-2025-1125 (bsc#1237014) - Fix CVE-2025-0678 (bsc#1237006) * 0020-fs-Prevent-overflows-when-allocating-memory-for-arra.patch - Bump upstream SBAT generation to 5- Fix CVE-2024-49504 (bsc#1229163) (bsc#1229164) - Restrict CLI access if the encrypted root device is automatically unlocked by the TPM. LUKS password authentication is required for access to be granted * 0001-cli_lock-Add-build-option-to-block-command-line-inte.patch * 0002-Requiring-authentication-after-tpm-unlock-for-CLI-ac.patch - Obsolete, as CLI access is now locked and granted access no longer requires the previous restrictions * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch - Rediff * 0004-Key-revocation-on-out-of-bound-file-access.patch- Fix xen package contains debug_info files with the .module suffix by moving them to a separate xen-debug subpackage (bsc#1232573)- Fix not a directory error from the minix filesystem, as leftover data on disk may contain its magic header so it gets misdetected (bsc#1231604) * grub2-install-fix-not-a-directory-error.patch- Fix OOM error in loading loopback file (bsc#1230840) * 0001-tpm-Skip-loopback-image-measurement.patch- Fix UEFI PXE boot failure on tagged VLAN network (bsc#1230263) * 0001-efinet-Skip-virtual-VLAN-devices-during-card-enumera.patch- Fix grub screen is filled with artifects from earlier post menu (bsc#1224465) * grub2-SUSE-Add-the-t-hotkey.patch * 0001-fix-grub-screen-filled-with-post-screen-artifects.patch- Fix crash in bli module (bsc#1226497) * 0001-bli-Fix-crash-in-get_part_uuid.patch- Fix btrfs subvolume for platform modules not mounting at runtime when the default subvolume is the topmost root tree (bsc#1228124) * grub2-btrfs-06-subvol-mount.patch - Rediff * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Fix error in grub-install when root is on tmpfs (bsc#1226100) * 0001-grub-install-bailout-root-device-probing.patch- Fix input handling in ppc64le grub2 has high latency (bsc#1223535) * 0001-net-drivers-ieee1275-ofnet-Remove-200-ms-timeout-in-.patch- Fix os name is used for root file system mount (bsc#1220949) * 0001-10_linux-Ensure-persistence-of-root-file-system-moun.patch- Fix LPAR falls into grub shell after installation with lvm (bsc#1221866) * 0001-ofdisk-Enhance-canonical-path-handling-for-bootpath.patch- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg- Fix grub.xen memdisk script doesn't look for /boot/grub/grub.cfg (bsc#1219248) (bsc#1181762) * grub2-xen-pv-firmware.cfg * 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch- Fix PowerPC grub loads 5 to 10 minutes slower on SLE-15-SP5 compared to SLE-15-SP2 (bsc#1217102) * add 0001-ofdisk-enhance-boot-time-by-focusing-on-boot-disk-re.patch * add 0002-ofdisk-add-early_log-support.patch- Sort tar file order for reproducible builds- Fix build error on gcc-14 (bsc#1218949) * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch- Remove magic number header field check on arm64 (bsc#1218783) * 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch- Reinstate the verification for a non-zero total entry count to skip unmapped data blocks (bsc#1218864) * 0001-fs-xfs-always-verify-the-total-number-of-entries-is-.patch - Removed temporary fix as reverting it will cause a different XFS parser bug * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- allow to boot memtest86 if stored in /usr/lib/memtest86+ * SR#1071109 can then work- Resolved XFS regression leading to the "not a correct XFS inode" error by temporarily reverting the problematic commit (bsc#1218864) * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- Version bump to 2.12 (PED-5589) * Added: - grub-2.12.tar.xz - fix_no_extra_deps_in_release_tarball.patch * Removed: - grub-2.12~rc1.tar.xz * Patch dropped as it merged into new version: - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch - 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch - 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch - 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch - 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch - 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch - 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch - 0006-fs-ntfs-Make-code-more-readable.patch - 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch - 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch - 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch - 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch - 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch - 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch * Patch adjusted for the updated base version: - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64le-disable-video.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - safe_tpm_pcr_snapshot.patch- grub2.spec: Add ofnet to signed grub.elf to support powerpc net boot installation when secure boot is enabled (bsc#1217761) - Improved check for disk device when looking for PReP partition * 0004-Introduce-prep_load_env-command.patch- Fix reproducible build for grub.xen (bsc#1217619) * 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch * 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch- Fix unattended boot with TPM2 allows downgrading kernel and rootfs, also enhancing the overall security posture (bsc#1216680) * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch- grub2.spec: Fix openQA test failure in SLE-15-SP6 due to missing font in memdisk- Update the TPM2 patches to skip the persistent SRK handle if not specified and improve the error messages + 0003-protectors-Add-TPM2-Key-Protector.patch + 0005-util-grub-protect-Add-new-tool.patch + 0004-tpm2-Support-authorized-policy.patch- Fix XFS regression in 2.12~rc1 and support large extent counters * 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch * 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch * 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch- Fix fadump not working with 1GB/2GB/4GB LMB[P10] (bsc#1216253) * 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch- Fix a potential error when appending multiple keys into the synthesized initrd * Fix-the-size-calculation-for-the-synthesized-initrd.patch- Fix Xen chainloding error of no matching file path found (bsc#1216081) * grub2-efi-chainload-harder.patch- Use grub-tpm2 token to unlock keyslots to make the unsealing process more efficient and secure. * 0001-luks2-Use-grub-tpm2-token-for-TPM2-protected-volume-.patch- Fix detection of encrypted disk's uuid in powerpc to cope with logical disks when signed image installation is specified (bsc#1216075) * 0003-grub-install-support-prep-environment-block.patch - grub2.spec: Add support to unlocking multiple encrypted disks in signed grub.elf image for logical disks- Fix CVE-2023-4692 (bsc#1215935) - Fix CVE-2023-4693 (bsc#1215936) * 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch * 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch * 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch * 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch * 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch * 0006-fs-ntfs-Make-code-more-readable.patch - Bump upstream SBAT generation to 4- Add patch to fix reading files from btrfs with "implicit" holes: * 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch- Update the TPM 2.0 patches to support more RSA and ECC algorithms * 0002-tpm2-Add-TPM-Software-Stack-TSS.patch * 0003-protectors-Add-TPM2-Key-Protector.patch * 0005-util-grub-protect-Add-new-tool.patch- Remove build require for gcc-32bit, target platform didn't rely on libgcc function shipped with compiler but rather using functions supplied in grub directly.- Add BuildIgnore to break cycle with the branding package- Only build with fde-tpm-helper-rpm-macros for the architectures supporting the newer UEFI and TPM 2.0. * Also correct the location of %fde_tpm_update_requires- Fix a boot delay regression in PowerPC PXE boot (bsc#1201300) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Add the new BuildRequires for EFI builds for the better FDE support: fde-tpm-helper-rpm-macros + Also add the the macros to %post and %posttrans- Correct the type of allocated EFI pages for ARM64 kernel (bsc#1215151) * arm64-Use-proper-memory-type-for-kernel-allocation.patch- grub2-mkconfig-riscv64.patch: Handle riscv64 in mkconfig- Implement NV index mode for TPM 2.0 key protector 0001-protectors-Implement-NV-index.patch - Fall back to passphrase mode when the key protector fails to unlock the disk 0002-cryptodisk-Fallback-to-passphrase.patch - Wipe out the cached key cleanly 0003-cryptodisk-wipe-out-the-cached-keys-from-protectors.patch - Make diskfiler to look up cryptodisk devices first 0004-diskfilter-look-up-cryptodisk-devices-first.patch- Change the bash-completion directory (bsc#1213855) * grub2-change-bash-completion-dir.patch- Version bump to 2.12~rc1 (PED-5589) * Added: - grub-2.12~rc1.tar.xz * Removed: - grub-2.06.tar.xz * Patch dropped merged by new version: - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-efi-chainloader-root.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch - 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - grub2-s390x-10-keep-network-at-kexec.patch - 0001-Fix-build-error-in-binutils-2.36.patch - 0001-emu-fix-executable-stack-marking.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch - 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - 0001-Filter-out-POSIX-locale-for-translation.patch - 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch - 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch - 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch - 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch - 0002-ieee1275-claim-more-memory.patch - 0003-ieee1275-request-memory-with-ibm-client-architecture.patch - 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch - 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch - 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch - 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - 0001-powerpc-do-CAS-in-a-more-compatible-way.patch - 0001-libc-config-merge-from-glibc.patch - 0001-video-Remove-trailing-whitespaces.patch - 0002-loader-efi-chainloader-Simplify-the-loader-state.patch - 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch - 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch - 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch - 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch - 0011-video-readers-png-Sanity-check-some-huffman-codes.patch - 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch - 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch - 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch - 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - 0017-net-ip-Do-IP-fragment-maths-safely.patch - 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch - 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch - 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch - 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch - 0022-net-tftp-Avoid-a-trivial-UAF.patch - 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch - 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch - 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch - 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch - 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch - 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch - 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch - 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch - 0002-cryptodisk-Refactor-to-discard-have_it-global.patch - 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch - 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch - 0005-cryptodisk-Improve-cryptomount-u-error-message.patch - 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch - 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch - 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch - 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch - 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch - 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch - 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch - 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch - 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch - 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch - 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch - efi-set-variable-with-attrs.patch - 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch - 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch - 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch - 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch - 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch - 0002-mm-Defer-the-disk-cache-invalidation.patch - 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch - 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch - 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch - 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch - 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch - 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch - 0004-font-Remove-grub_font_dup_glyph.patch - 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch - 0006-font-Fix-integer-overflow-in-BMP-index.patch - 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch - 0008-fbutil-Fix-integer-overflow.patch - 0009-font-Fix-an-integer-underflow-in-blit_comb.patch - 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch - 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch - 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch - 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch - 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch - grub2-add-module-for-boot-loader-interface.patch - 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch - 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch - 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch - 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch - 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch - 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch - 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch * Patch modified to new base version: - use-grub2-as-a-package-name.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-secureboot-add-linuxefi.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-use-rpmsort-for-version-sorting.patch - grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - grub2-grubenv-in-btrfs-header.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-efi-chainload-harder.patch - grub2-emu-4-all.patch - grub2-util-30_os-prober-multiple-initrd.patch - grub2-install-fix-not-a-directory-error.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-05-grub2-mkconfig.patch - grub2-btrfs-06-subvol-mount.patch - grub2-efi-xen-chainload.patch - grub2-efi-xen-cmdline.patch - grub2-efi-xen-removable.patch - grub2-suse-remove-linux-root-param.patch - grub2-ppc64le-disable-video.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - 0004-efinet-UEFI-IPv6-PXE-support.patch - 0007-efinet-Setting-network-from-UEFI-device-path.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-mkconfig-default-entry-correction.patch - grub2-s390x-11-secureboot.patch - grub2-secureboot-install-signed-grub.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - 0002-cmdline-Provide-cmdline-functions-as-module.patch - 0001-efi-linux-provide-linux-command.patch - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch - 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch - 0001-Factor-out-grub_efi_linux_boot.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0015-test_asn1-test-module-for-libtasn1.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - 0003-grub-install-support-prep-environment-block.patch - 0004-Introduce-prep_load_env-command.patch - 0001-grub-install-bailout-root-device-probing.patch - 0001-install-fix-software-raid1-on-esp.patch - 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch - 0001-protectors-Add-key-protectors-framework.patch - 0002-tpm2-Add-TPM-Software-Stack-TSS.patch - 0004-cryptodisk-Support-key-protectors.patch - 0008-linuxefi-Use-common-grub_initrd_load.patch - 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch - grub-read-pcr.patch - tpm-record-pcrs.patch - 0001-clean-up-crypttab-and-linux-modules-dependency.patch * Patch refreshed: - rename-grub-info-file-to-grub2.patch - grub2-linux.patch - grub2-simplefb.patch - grub2-ppc-terminfo.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-linuxefi-fix-boot-params.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-xen-linux16.patch - grub2-efi-disable-video-cirrus-and-bochus.patch - grub2-vbe-blacklist-preferred-1440x900x32.patch - grub2-mkconfig-aarch64.patch - grub2-menu-unrestricted.patch - grub2-mkconfig-arm.patch - grub2-s390x-06-loadparm.patch - grub2-s390x-07-add-image-param-for-zipl-setup.patch - grub2-s390x-08-workaround-part-to-disk.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-getroot-support-nvdimm.patch - grub2-s390x-skip-zfcpdump-image.patch - grub2-btrfs-02-export-subvolume-envvars.patch - grub2-btrfs-03-follow_default.patch - grub2-btrfs-07-subvol-fallback.patch - grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-btrfs-10-config-directory.patch - grub2-efi-xen-cfg-unquote.patch - grub2-Add-hidden-menu-entries.patch - grub2-SUSE-Add-the-t-hotkey.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-reboot-support.patch - grub2-ppc64-cas-new-scope.patch - grub2-ppc64-cas-fix-double-free.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - grub2-btrfs-help-on-snapper-rollback.patch - grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - 0001-kern-mm.c-Make-grub_calloc-inline.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch - 0003-Make-grub_error-more-verbose.patch - 0001-ieee1275-Avoiding-many-unecessary-open-close.patch - 0001-Workaround-volatile-efi-boot-variable.patch - 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch - 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0005-docs-grub-Document-signing-grub-under-UEFI.patch - 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch - 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch - 0008-pgp-factor-out-rsa_pad.patch - 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch - 0011-libtasn1-import-libtasn1-4.18.0.patch - 0014-libtasn1-compile-into-asn1-module.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch - 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch - 0019-appended-signatures-support-verifying-appended-signa.patch - 0020-appended-signatures-verification-tests.patch - 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch - 0002-Add-grub_disk_write_tail-helper-function.patch - 0005-export-environment-at-start-up.patch - 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - 0003-protectors-Add-TPM2-Key-Protector.patch - 0005-util-grub-protect-Add-new-tool.patch - 0010-templates-import-etc-crypttab-to-grub.cfg.patch - grub-install-record-pcrs.patch - safe_tpm_pcr_snapshot.patch - 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch - 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch - 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch * New: - 0001-xen_boot-add-missing-grub_arch_efi_linux_load_image_.patch - 0001-font-Try-memdisk-fonts-with-the-same-name.patch - 0001-Make-grub.cfg-compatible-to-old-binaries.patch - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch * Embedding fonts in the grub.efi to get signed for secure boot- Fix error message "unknown command tpm_record_pcrs" with encrypted boot and no tpm device present (bsc#1213547) * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- add 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch, 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch: * support more featureful extX filesystems (backport from upstream git)- grub2-once: Fix 'sh: terminal_output: command not found' error (bsc#1204563)- Exclude the deprecated EFI location, /usr/lib64/efi/, from Tumbleweed and ALP- Update TPM 2.0 key unsealing patches * Add the new upstreaming patches 0001-protectors-Add-key-protectors-framework.patch 0002-tpm2-Add-TPM-Software-Stack-TSS.patch 0003-protectors-Add-TPM2-Key-Protector.patch 0004-cryptodisk-Support-key-protectors.patch 0005-util-grub-protect-Add-new-tool.patch * Add the authorized policy patches based on the upstreaming patches 0001-tpm2-Add-TPM2-types-structures-and-command-constants.patch 0002-tpm2-Add-more-marshal-unmarshal-functions.patch 0003-tpm2-Implement-more-TPM2-commands.patch 0004-tpm2-Support-authorized-policy.patch * Drop the old patches 0010-protectors-Add-key-protectors-framework.patch 0011-tpm2-Add-TPM-Software-Stack-TSS.patch 0012-protectors-Add-TPM2-Key-Protector.patch 0013-cryptodisk-Support-key-protectors.patch 0014-util-grub-protect-Add-new-tool.patch fix-tpm2-build.patch tpm-protector-dont-measure-sealed-key.patch tpm-protector-export-secret-key.patch grub-unseal-debug.patch 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch 0005-tpm2-add-more-marshal-unmarshal-functions.patch 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch 0009-tpm2-remove-the-unnecessary-variables.patch 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch 0012-tpm2-initialize-the-PCR-selection-list-early.patch 0013-tpm2-support-unsealing-key-with-authorized-policy.patch * Refresh grub-read-pcr.patch * Introduce a new build requirement: libtasn1-devel - Only package grub2-protect for the architectures with EFI support- Fix PowerVS deployment fails to boot with 90 cores (bsc#1208581) * 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch * 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch- Fix no prep partition error on non-PReP architectures by making the prep_loadenv module exclusive to powerpc_ieee1275 platform (bsc#1210489) * 0004-Introduce-prep_load_env-command.patch - Fix the issue of freeing an uninitialized pointer * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Rediff * 0005-export-environment-at-start-up.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Resolve some issues with OS boot failure on PPC NVMe-oF disks and made enhancements to PPC secure boot's root device discovery config (bsc#1207230) - Ensure get_devargs and get_devname functions are consistent * 0001-openfw-Ensure-get_devargs-and-get_devname-functions-.patch - Fix regex for Open Firmware device specifier with encoded commas * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Fix regular expression in PPC secure boot config to prevent escaped commas from being treated as delimiters when retrieving partition substrings. - Use prep_load_env in PPC secure boot config to handle unset host-specific environment variables and ensure successful command execution. * 0004-Introduce-prep_load_env-command.patch - Refreshed * 0005-export-environment-at-start-up.patch- Fix aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.patch- Restrict cryptsetup key file permission for better security (bsc#1207499) * 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch * 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch- Meanwhile, memtest86+ gained EFI support, but using the grub command line to run it manually is quite tedious... Adapt 20_memtest86+ to provide a proper menu entry. Executing memtest requires to turn security off in BIOS: (Boot Mode: Other OS).- Tolerate kernel moved out of /boot. (bsc#1184804) * grub2-s390x-12-zipl-setup-usrmerge.patch- Discard cached key from grub shell and editor mode * 0001-clean-up-crypttab-and-linux-modules-dependency.patch * 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch- Make grub more robust against storage race condition causing system boot failures (bsc#1189036) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Fix riscv64 error for relocation 0x13 is not implemented yet * 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch- Fix out of memory error on lpar installation from virtual cdrom (bsc#1208024) * 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - Fix lpar got hung at grub after inactive migration (bsc#1207684) * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Rediff * safe_tpm_pcr_snapshot.patch - Patch supersceded * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Refresh 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch to handle the TPM2 responseCode correctly.- Add module for boot loader interface. Needed for load Unified Kernel Image (UKI) * grub2-add-module-for-boot-loader-interface.patch- Amend the TPM2 stack and add authorized policy mode to tpm2_key_protector * 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch * 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch * 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch * 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch * 0005-tpm2-add-more-marshal-unmarshal-functions.patch * 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch * 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch * 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch * 0009-tpm2-remove-the-unnecessary-variables.patch * 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch * 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch * 0012-tpm2-initialize-the-PCR-selection-list-early.patch * 0013-tpm2-support-unsealing-key-with-authorized-policy.patch- Fix nvmf boot device setup (bsc#1207811) * 0001-grub2-Can-t-setup-a-default-boot-device-correctly-on.patch- Fix unknown filesystem error on disks with 4096 sector size (bsc#1207064) * 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch- Fix GCC 13 build failure (bsc#1201089) * 0002-AUDIT-0-http-boot-tracker-bug.patch- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- Fix inappropriately including commented lines in crypttab (bsc#1206279) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Make grub.cfg invariant to efi and legacy platforms (bsc#1205200) - Removed patch linuxefi * grub2-secureboot-provide-linuxefi-config.patch * grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch * grub2-secureboot-use-linuxefi-on-uefi.patch - Rediff * grub2-btrfs-05-grub2-mkconfig.patch * grub2-efi-xen-cmdline.patch * grub2-s390x-05-grub2-mkconfig.patch * grub2-suse-remove-linux-root-param.patch- Setup multiple device paths for a nvmf boot device (bsc#1205666) * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch- Increase the path buffer in the crypttab command for the long volume name (bsc#1206333) * grub2-increase-crypttab-path-buffer.patch- Add tpm to signed grub.elf image (PED-1990) (bsc#1205912) - Increase initial heap size from 1/4 to 1/3 * 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch- Make full utilization of btrfs bootloader area (bsc#1161823) * 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch * 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - Patch removed * 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Fix regression of reverting back to asking password twice when a keyfile is already used (bsc#1205309) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Security fixes and hardenings * 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch * 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - Fix CVE-2022-2601 (bsc#1205178) * 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch * 0004-font-Remove-grub_font_dup_glyph.patch * 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch * 0006-font-Fix-integer-overflow-in-BMP-index.patch * 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch * 0008-fbutil-Fix-integer-overflow.patch - Fix CVE-2022-3775 (bsc#1205182) * 0009-font-Fix-an-integer-underflow-in-blit_comb.patch * 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch * 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch * 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - Bump upstream SBAT generation to 3- Removed 0001-linux-fix-efi_relocate_kernel-failure.patch as reported regression in some hardware being stuck in initrd loading (bsc#1205380)- Fix password asked twice if third field in crypttab not present (bsc#1205312) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- NVMeoFC support on grub (jsc#PED-996) * 0001-ieee1275-add-support-for-NVMeoFC.patch * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch * 0003-ieee1275-change-the-logic-of-ieee1275_get_devargs.patch * 0004-ofpath-controller-name-update.patch - TDX: Enhance grub2 measurement to TD RTMR (jsc#PED-1265) * 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch * 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch * 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - Measure the kernel on POWER10 and extend TPM PCRs (PED-1990) * 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Fix efi pcr snapshot related funtion is defined but not used on powerpc platform. * safe_tpm_pcr_snapshot.patch- Include loopback into signed grub2 image (jsc#PED-2150)- Fix firmware oops after disk decrypting failure (bsc#1204037) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Add patch to fix kernel relocation error in low memory * 0001-linux-fix-efi_relocate_kernel-failure.patch- Add safety measure to pcr snapshot by checking platform and tpm status * safe_tpm_pcr_snapshot.patch- Fix installation failure due to unavailable nvram device on ppc64le (bsc#1201361) * 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch- Add patches to dynamically allocate additional memory regions for EFI systems (bsc#1202438) * 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch * 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch * 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch * 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch * 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - Enlarge the default heap size and defer the disk cache invalidation (bsc#1202438) * 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch * 0002-mm-Defer-the-disk-cache-invalidation.patch- Add patches for ALP FDE support * 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch * 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch * 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch * 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch * 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch * 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch * 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch * 0008-linuxefi-Use-common-grub_initrd_load.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch * 0010-templates-import-etc-crypttab-to-grub.cfg.patch * grub-read-pcr.patch * efi-set-variable-with-attrs.patch * tpm-record-pcrs.patch * tpm-protector-dont-measure-sealed-key.patch * tpm-protector-export-secret-key.patch * grub-install-record-pcrs.patch * grub-unseal-debug.patch- Fix out of memory error cannot be prevented via disabling tpm (bsc#1202438) * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Fix tpm error stop tumbleweed from booting (bsc#1202374) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Patch Removed * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch- Add tpm, tpm2, luks2 and gcry_sha512 to default grub.efi (bsc#1197625) - Make grub-tpm.efi a symlink to grub.efi * grub2.spec - Log error when tpm event log is full and continue * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch - Patch superseded * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch- Add patches for automatic TPM disk unlock (jsc#SLE-24018) (bsc#1196668) (jsc#PED-1276) * 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch * 0002-cryptodisk-Refactor-to-discard-have_it-global.patch * 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch * 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch * 0005-cryptodisk-Improve-cryptomount-u-error-message.patch * 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch * 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch * 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch * 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch * 0010-protectors-Add-key-protectors-framework.patch * 0011-tpm2-Add-TPM-Software-Stack-TSS.patch * 0012-protectors-Add-TPM2-Key-Protector.patch * 0013-cryptodisk-Support-key-protectors.patch * 0014-util-grub-protect-Add-new-tool.patch - Fix no disk unlocking happen (bsc#1196668) * 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - Fix build error * fix-tpm2-build.patch- Security fixes and hardenings for boothole 3 / boothole 2022 (bsc#1198581) * 0001-video-Remove-trailing-whitespaces.patch * 0002-loader-efi-chainloader-Simplify-the-loader-state.patch * 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - Fix CVE-2022-28736 (bsc#1198496) * 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - Fix CVE-2022-28735 (bsc#1198495) * 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch * 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch * 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch * 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - Fix CVE-2021-3695 (bsc#1191184) * 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - Fix CVE-2021-3696 (bsc#1191185) * 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch * 0011-video-readers-png-Sanity-check-some-huffman-codes.patch * 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch * 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch * 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - Fix CVE-2021-3697 (bsc#1191186) * 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch * 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - Fix CVE-2022-28733 (bsc#1198460) * 0017-net-ip-Do-IP-fragment-maths-safely.patch * 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch * 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch * 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch * 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch * 0022-net-tftp-Avoid-a-trivial-UAF.patch * 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - Fix CVE-2022-28734 (bsc#1198493) * 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - Fix CVE-2022-28734 (bsc#1198493) * 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch * 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch * 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch * 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch * 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch * 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch * 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch * 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - Bump grub's SBAT generation to 2- Use boot disks in OpenFirmware, fixing regression caused by 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch, when the root LV is completely in the boot LUN (bsc#1197948) * 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch- Fix error message in displaying help on bootable snapshot (bsc#1199609)- Fix installation over serial console ends up in infinite boot loop (bsc#1187810) (bsc#1209667) (bsc#1209372) * 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - Fix ppc64le build error for new IEEE long double ABI * 0001-libc-config-merge-from-glibc.patch- Fix Power10 LPAR error "The partition fails to activate as partition went into invalid state" (bsc#1198714) * 0001-powerpc-do-CAS-in-a-more-compatible-way.patch- use common SBAT values (boo#1193282)- Fix wrong order in kernel sorting of listing rc before final release (bsc#1197376) * grub2-use-rpmsort-for-version-sorting.patch- Fix duplicated insmod part_gpt lines in grub.cfg (bsc#1197186) * 0001-grub-probe-Deduplicate-probed-partmap-output.patch- Fix GCC 12 build failure (bsc#1196546) * 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch * 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch * 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - Revised * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix grub-install error when efi system partition is created as mdadm software raid1 device (bsc#1179981) (bsc#1195204) * 0001-install-fix-software-raid1-on-esp.patch- Fix riscv64 build error * 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch- Fix error in grub-install when linux root device is on lvm thin volume (bsc#1192622) (bsc#1191974) * 0001-grub-install-bailout-root-device-probing.patch- Support saving grub environment for POWER signed grub images (jsc#SLE-23854) * 0001-Add-grub_envblk_buf-helper-function.patch * 0002-Add-grub_disk_write_tail-helper-function.patch * 0003-grub-install-support-prep-environment-block.patch * 0004-Introduce-prep_load_env-command.patch * 0005-export-environment-at-start-up.patch - Use enviroment variable in early boot config to looking up root device * grub2.spec- Remove obsolete openSUSE 12.2 conditionals in spec file - Clean up powerpc certificate handling.- Set grub2-check-default shebang to "#!/bin/bash", as the the code uses many instructions which are undefined for a POSIX sh. (boo#1195794).- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch- Fix wrong default entry when booting snapshot (bsc#1159205) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * grub2.spec - Power guest secure boot with static keys: GRUB2 portion (jsc#SLE-18144) (bsc#1192686) * 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch * 0002-ieee1275-claim-more-memory.patch * 0003-ieee1275-request-memory-with-ibm-client-architecture.patch * 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch * 0005-docs-grub-Document-signing-grub-under-UEFI.patch * 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch * 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch * 0008-pgp-factor-out-rsa_pad.patch * 0009-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch * 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch * 0011-libtasn1-import-libtasn1-4.18.0.patch * 0012-libtasn1-disable-code-not-needed-in-grub.patch * 0013-libtasn1-changes-for-grub-compatibility.patch * 0014-libtasn1-compile-into-asn1-module.patch * 0015-test_asn1-test-module-for-libtasn1.patch * 0016-grub-install-support-embedding-x509-certificates.patch * 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch * 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch * 0019-appended-signatures-support-verifying-appended-signa.patch * 0020-appended-signatures-verification-tests.patch * 0021-appended-signatures-documentation.patch * 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch * 0023-x509-allow-Digitial-Signature-plus-other-Key-Usages.patch- Fix no menuentry is found if hibernation on btrfs RAID1 (bsc#1193090) * grub2-systemd-sleep-plugin- Fix CVE-2021-3981 (bsc#1189644) * 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch- Fix can't allocate initrd error (bsc#1191378) * 0001-Factor-out-grub_efi_linux_boot.patch * 0002-Fix-race-in-EFI-validation.patch * 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch * 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch * 0005-x86-efi-Use-bounce-buffers-for-reading-to-addresses-.patch * 0006-x86-efi-Re-arrange-grub_cmd_linux-a-little-bit.patch * 0007-x86-efi-Make-our-own-allocator-for-kernel-stuff.patch * 0008-x86-efi-Allow-initrd-params-cmdline-allocations-abov.patch * 0009-x86-efi-Reduce-maximum-bounce-buffer-size-to-16-MiB.patch * 0010-efilinux-Fix-integer-overflows-in-grub_cmd_initrd.patch * 0011-Also-define-GRUB_EFI_MAX_ALLOCATION_ADDRESS-for-RISC.patch- Add support for simplefb (boo#1193532). + grub2-simplefb.patch- Fix extent not found when initramfs contains shared extents (bsc#1190982) * 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch- Fix arm64 kernel image not aligned on 64k boundary (bsc#1192522) * 0001-arm64-Fix-EFI-loader-kernel-image-allocation.patch * 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch- Remove openSUSE Tumbleweed specific handling for default grub distributor (bsc#1191198) - Use /usr/lib/os-release as fallback (bsc#1191196) * grub2-default-distributor.patch * grub2-check-default.sh - VUL-0: grub2: grub2-once uses fixed file name in /var/tmp (bsc#1190474) (CVE-2021-46705) * grub2-once * grub2-once.service - Fix unknown TPM error on buggy uefi firmware (bsc#1191504) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Fix error /boot/grub2/locale/POSIX.gmo not found (bsc#1189769) * 0001-Filter-out-POSIX-locale-for-translation.patch - Fix error lvmid disk cannot be found after second disk added to the root volume group (bsc#1189874) (bsc#1071559) * 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch - Fix error in grub installation due to unnecessary requirement to support excessive device for the root logical volume (bsc#1184135) * 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - Fix regression in reading xfs v4 * 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch- Fix installation on usrmerged s390x- Improve support for SLE Micro 5.1 on s390x. (bsc#1190395) * amend grub2-s390x-04-grub2-install.patch * refresh grub2-s390x-11-secureboot.patch- Follow usr merge for looking up kernel config (bsc#1189782) (bsc#1190061) * 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch- Add btrfs zstd compression on i386-pc and also make sure it won't break existing grub installations (bsc#1161823) * deleted 0001-btrfs-disable-zstd-support-for-i386-pc.patch * added 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Delete the author list from %description (the %description section is literally for package descriptions (only) these days, encoding was also problematic). - Add %doc AUTHORS to get packaged that info- update grub2-systemd-sleep.sh to fix hibernation by avoiding the error "no kernelfile matching the running kernel found" on usrmerged setup- Use %autosetup- Replace grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch and fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch with upstream backport: 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch and 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch.- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot- Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch- Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch- Version bump to 2.06 * rediff - 0001-add-support-for-UEFI-network-protocols.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - 0003-Make-grub_error-more-verbose.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-efi-HP-workaround.patch - grub2-efi-xen-cfg-unquote.patch - grub2-efi-xen-chainload.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - grub2-mkconfig-default-entry-correction.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-secureboot-install-signed-grub.patch - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - use-grub2-as-a-package-name.patch * update by patch squashed: - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - grub2-efi-chainload-harder.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-chainloader.patch - grub2-secureboot-add-linuxefi.patch * remove squashed patches: - 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch - 0009-squash-Add-support-for-linuxefi.patch - 0041-squash-Add-secureboot-support-on-efi-chainloader.patch - 0042-squash-grub2-efi-chainload-harder.patch - 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch - 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * drop upstream patches: - 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch - 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch - 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch - 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch - 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch - 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch - 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch - 0002-kern-Add-X-option-to-printf-functions.patch - 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch - 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch - 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch - 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch - 0003-normal-main-Search-for-specific-config-files-for-net.patch - 0004-calloc-Use-calloc-at-most-places.patch - 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch - 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch - 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch - 0005-efi-Add-secure-boot-detection.patch - 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch - 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch - 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch - 0007-font-Do-not-load-more-than-one-NAME-section.patch - 0007-verifiers-Move-verifiers-API-to-kernel-image.patch - 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch - 0008-script-Remove-unused-fields-from-grub_script_functio.patch - 0009-kern-Add-lockdown-support.patch - 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch - 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch - 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch - 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch - 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch - 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch - 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch - 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch - 0018-gdb-Restrict-GDB-access-when-locked-down.patch - 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch - 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - 0024-kern-parser-Fix-resource-leak-if-argc-0.patch - 0025-kern-parser-Fix-a-memory-leak.patch - 0026-kern-parser-Introduce-process_char-helper.patch - 0027-kern-parser-Introduce-terminate_arg-helper.patch - 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch - 0029-kern-buffer-Add-variable-sized-heap-buffer.patch - 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch - 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch - 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch - 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch - 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch - 0036-util-mkimage-Improve-data_size-value-calculation.patch - 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch - 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch - 0039-grub-install-common-Add-sbat-option.patch - 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch - grub-install-define-default-platform-for-risc-v.patch - grub2-editenv-add-warning-message.patch - grub2-efi-gop-add-blt.patch - grub2-efi-uga-64bit-fb.patch - grub2-verifiers-fix-system-freeze-if-verify-failed.patch - risc-v-add-clzdi2-symbol.patch - risc-v-fix-computation-of-pc-relative-relocation-offset.patch - Add grub2-instdev-fixup.pl for correcting /etc/default/grub_installdevice to use disk devie if grub has been installed to it - Add 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch to fix detection of efi fwsetup support- Fix running grub2-once leads to failure of starting systemd service in the boot sequence (bsc#1169460) * grub2-once * grub2-once.service- Fix crash in launching gfxmenu without theme file (bsc#1186481) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Fix plaintext password in grub config didn't work to unlock menu entry if enabling secure boot in UEFI (bsc#1181892)- Fix obsolete syslog in systemd unit file and updating to use journal as StandardOutput (bsc#1185149) * grub2-once.service- Fix build error on armv6/armv7 (bsc#1184712) * 0001-emu-fix-executable-stack-marking.patch- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012) * 0001-Workaround-volatile-efi-boot-variable.patch- Fix powerpc-ieee1275 lpar takes long time to boot with increasing number of nvme namespace (bsc#1177751) 0001-ieee1275-Avoiding-many-unecessary-open-close.patch- Fix chainloading windows on dual boot machine (bsc#1183073) * 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch- VUL-0: grub2,shim: implement new SBAT method (bsc#1182057) * 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch * 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch * 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch * 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch * 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch * 0036-util-mkimage-Improve-data_size-value-calculation.patch * 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch * 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch * 0039-grub-install-common-Add-sbat-option.patch - Fix CVE-2021-20225 (bsc#1182262) * 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - Fix CVE-2020-27749 (bsc#1179264) * 0024-kern-parser-Fix-resource-leak-if-argc-0.patch * 0025-kern-parser-Fix-a-memory-leak.patch * 0026-kern-parser-Introduce-process_char-helper.patch * 0027-kern-parser-Introduce-terminate_arg-helper.patch * 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch * 0029-kern-buffer-Add-variable-sized-heap-buffer.patch * 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - Fix CVE-2021-20233 (bsc#1182263) * 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - Fix CVE-2020-25647 (bsc#1177883) * 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - Fix CVE-2020-25632 (bsc#1176711) * 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - Fix CVE-2020-27779, CVE-2020-14372 (bsc#1179265) (bsc#1175970) * 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch * 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch * 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch * 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch * 0005-efi-Add-secure-boot-detection.patch * 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch * 0007-verifiers-Move-verifiers-API-to-kernel-image.patch * 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch * 0009-kern-Add-lockdown-support.patch * 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch * 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch * 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch * 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch * 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch * 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch * 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch * 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch * 0018-gdb-Restrict-GDB-access-when-locked-down.patch * 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch * 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch * 0041-squash-Add-secureboot-support-on-efi-chainloader.patch * 0042-squash-grub2-efi-chainload-harder.patch * 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch * 0044-squash-kern-Add-lockdown-support.patch * 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - Drop patch supersceded by the new backport * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch - Add SBAT metadata section to grub.efi - Drop shim_lock module as it is part of core of grub.efi * grub2.spec- Fix build error in binutils 2.36 (bsc#1181741) * 0001-Fix-build-error-in-binutils-2.36.patch - Fix executable stack in grub-emu (bsc#1181696) * 0001-emu-fix-executable-stack-marking.patch- Restore compatibilty sym-links * grub2.spec - Use rpmlintrc to filter out rpmlint 2.0 error (bsc#1179044) * grub2.rpmlintrc- Complete Secure Boot support on aarch64 (jsc#SLE-15020) * 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch * 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch * 0003-Make-grub_error-more-verbose.patch * 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch * 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch * 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0009-squash-Add-support-for-linuxefi.patch- Fix rpmlint 2.0 error for having arch specific path in noarch package aiming for compatibility with old package (bsc#1179044) * grub2.spec - Fix non POSIX sed argument which failed in sed from busybox (bsc#1181091) * grub2-check-default.sh- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * 0001-add-support-for-UEFI-network-protocols.patch- grub2.spec: Fix bare words used as string in expression which is no longer allowed in rpm 4.16- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Make efi hand off the default entry point of the linux command (bsc#1176134) * 0001-efi-linux-provide-linux-command.patch- Fix verification requested but nobody cares error when loading external module in secure boot off (bsc#1175766) * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch- Make consistent check to enable relative path on btrfs (bsc#1174567) * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0002-cmdline-Provide-cmdline-functions-as-module.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- No 95_textmode for PowerPC (boo#1174166)- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Fix boot failure as journaled data not get drained due to abrupt power off after grub-install (bsc#1167756) * grub-install-force-journal-draining-to-ensure-data-i.patch- Fix executable stack in grub-probe and other grub utility (bsc#1169137) * grub2-btrfs-06-subvol-mount.patch- Fix GCC 10 build fail (bsc#1158189) * 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch * 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- move *.module files to separate -debug subpackage (boo#1166578)- Fix EFI console detection to make it a runtime decision (bsc#1164385) * grub2-SUSE-Add-the-t-hotkey.patch- Downgrade mtools to Suggests for consistency with xorriso (boo#1165839) - remove info requirements, file triggers are used now (boo#1152105)- Add secure boot support for s390x. (jsc#SLE-9425) * grub2-s390x-11-secureboot.patch- Fix grub hangs after loading rogue image without valid signature for uefi secure boot (bsc#1159102) * grub2-verifiers-fix-system-freeze-if-verify-failed.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Correct awk pattern in 20_linux_xen (bsc#900418, bsc#1157912) - Correct linux and initrd handling in 20_linux_xen (bsc#1157912) M grub2-efi-xen-cfg-unquote.patch M grub2-efi-xen-chainload.patch M grub2-efi-xen-cmdline.patch M grub2-efi-xen-removable.patch- Disable btrfs zstd support for i386-pc to workaround core.img too large to be embedded in btrfs bootloader area or MBR gap (boo#1154809) * 0001-btrfs-disable-zstd-support-for-i386-pc.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Enable support for riscv64 - Backports from upstream: * risc-v-fix-computation-of-pc-relative-relocation-offset.patch * risc-v-add-clzdi2-symbol.patch * grub-install-define-default-platform-for-risc-v.patch- Version bump to 2.04 * removed - translations-20170427.tar.xz * grub2.spec - Make signed grub-tpm.efi specific to x86_64-efi build, the platform currently shipped with tpm module from upstream codebase - Add shim_lock to signed grub.efi in x86_64-efi build - x86_64: linuxefi now depends on linux, both will verify kernel via shim_lock - Remove translation tarball and po file hacks as it's been included in upstream tarball * rediff - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-secureboot-add-linuxefi.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-install-signed-grub.patch - grub2-linux.patch - use-grub2-as-a-package-name.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-secureboot-use-linuxefi-on-uefi.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-provide-linuxefi-config.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-efi-chainloader-root.patch - grub2-ppc64le-disable-video.patch - grub2-ppc64-cas-reboot-support.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0003-bootp-New-net_bootp6-command.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - grub2-emu-4-all.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-fix-double-free.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch * drop upstream patches - grub2-fix-locale-en.mo.gz-not-found-error-message.patch - grub2-fix-build-with-flex-2.6.4.patch - grub2-accept-empty-module.patch - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch - unix-exec-avoid-atexit-handlers-when-child-exits.patch - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch - grub2-binutils2.31.patch - grub2-msdos-fix-overflow.patch - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch - grub2-efi-Move-grub_reboot-into-kernel.patch - grub2-efi-Free-malloc-regions-on-exit.patch - grub2-move-initrd-upper.patch - 0002-Add-Virtual-LAN-support.patch - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch - 0001-tpm-Core-TPM-support.patch - 0002-tpm-Measure-kernel-initrd.patch - 0003-tpm-Add-BIOS-boot-measurement.patch - 0004-tpm-Rework-linux-command.patch - 0005-tpm-Rework-linux16-command.patch - 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch - 0007-tpm-Measure-the-kernel-commandline.patch - 0008-tpm-Measure-commands.patch - 0009-tpm-Measure-multiboot-images-and-modules.patch - 0010-tpm-Fix-boot-when-there-s-no-TPM.patch - 0011-tpm-Fix-build-error.patch - 0013-tpm-i386-pc-diskboot-img.patch - grub2-freetype-pkgconfig.patch - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Fix fallback embed doesn't work when no post mbr gap at all (boo#1142229) * Refresh grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Fix iteration of FCP LUNs (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229). * Refresh grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Use grub2-install to handle signed grub installation for UEFI secure boot and also provide options to override default (bsc#1136601) * grub2-secureboot-install-signed-grub.patch - Remove arm64 linuxefi patches as it's not needed for secure boot * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Fix GCC 9 build failure (bsc#1121208) * 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch * 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch * 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch * 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch * 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch * 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch * 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch * 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01232.12-150600.8.21.2grub2-instdev-fixup.pli386-pcacpi.modadler32.modaffs.modafs.modafsplitter.modahci.modall_video.modaout.modappended_signature_test.modappendedsig.modarchelp.modasn1.modat_keyboard.modata.modbacktrace.modbfs.modbiosdisk.modbitmap.modbitmap_scale.modblocklist.modboot.imageboot.imgboot.modboot_hybrid.imageboot_hybrid.imgbsd.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modcbls.modcbmemc.modcbtable.modcbtime.modcdboot.imagecdboot.imgchain.modcmdline.modcmdline_cat_test.modcmosdump.modcmostest.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcpuid.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcrypttab.modcs5536.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskboot.imagediskboot.imgdiskfilter.moddiv.moddiv_test.moddm_nv.moddrivemap.modecho.modefiemu.modefiemu32.oefiemu64.oehci.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfile.modfont.modfreedos.modfs.lstfshelp.modfunctional_test.modgcry_arcfour.modgcry_blowfish.modgcry_camellia.modgcry_cast5.modgcry_crc.modgcry_des.modgcry_dsa.modgcry_idea.modgcry_md4.modgcry_md5.modgcry_rfc2268.modgcry_rijndael.modgcry_rmd160.modgcry_rsa.modgcry_seed.modgcry_serpent.modgcry_sha1.modgcry_sha256.modgcry_sha512.modgcry_tiger.modgcry_twofish.modgcry_whirlpool.modgdb.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgzio.modhalt.modhashsum.modhdparm.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiorw.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeylayouts.modkeystatus.modldm.modlegacy_password_test.modlegacycfg.modlinux.modlinux16.modlnxboot.imagelnxboot.imgloadenv.modloopback.modls.modlsacpi.modlsapm.modlsmmap.modlspci.modluks.modluks2.modlvm.modlzma_decompress.imagelzma_decompress.imglzopio.modmacbless.modmacho.modmda_text.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmorse.modmpi.modmsdospart.modmul_test.modmultiboot.modmultiboot2.modnativedisk.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.modntldr.mododc.modoffsetio.modohci.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpata.modpbkdf2.modpbkdf2_test.modpci.modpcidump.modpgp.modpkcs1_v15.modplainmount.modplan9.modplay.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modpxe.modpxeboot.imagepxeboot.imgpxechain.modraid5rec.modraid6rec.modrandom.modrdmsr.modread.modreboot.modregexp.modreiserfs.modrelocator.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modsendkey.modserial.modsetjmp.modsetjmp_test.modsetpci.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modspkmodem.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtr.modtrig.modtrue.modtruecrypt.modudf.modufs1.modufs1_be.modufs2.moduhci.modusb.modusb_keyboard.modusbms.modusbserial_common.modusbserial_ftdi.modusbserial_pl2303.modusbserial_usbdebug.modusbtest.modvbe.modvga.modvga_text.modvideo.lstvideo.modvideo_bochs.modvideo_cirrus.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modwrmsr.modxfs.modxnu.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/lib//usr/share/grub2//usr/share/grub2/i386-pc/-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:37794/SUSE_SLE-15-SP6_Update/eb9aa2d504fd26ed79711b1fa6700845-grub2.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux  Perl script text executabledirectoryELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not strippedELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not strippedASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=cb4194538e8b7d2c15ed213af4434deff1456122, not strippedemptyELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, with debug_info, not strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, strippedPOSIX shell script, ASCII text executable, with very long linesR if test -f /run/update-bootloader/reinit; then rm -f /run/update-bootloader/{reinit,refresh} /sbin/update-bootloader --reinit || : elif test -f /run/update-bootloader/refresh; then rm -f /run/update-bootloader/refresh /sbin/update-bootloader --refresh || : fi/bin/shutf-831eeb08193baf3e2901d356bb60a7213cb2d500348b2776f7184cb00432bdf3e?7zXZ !t/']"k%C¿DeP/[ pL#sT.D.ʵ^ 4* tf0;B/d4 n/@j;$C 2Fb;PcLIZ;e%3i)3i~ZrKi%şòґ[(90M8p%3,ApDHlvsF;ߞHw؃.9}_\37M$2hvpN7?|Xc*6AO;v 2G%x$m\k3~.b- }AL`Zv Z 7:|XM)ӏ9r;tE@Yʴ(r)bq&c"u"7.#Q(4] lFSVɧ.* 86T*nx D0ZFg׍ȿ )> յe\5kgzx gNxYTY,ٲ BX[}Mr#)1Oܙk+o*-@~{}˥}"q<` ^n[N |Y+u+e㱺Jl z25£Ya @A v;#ރI!BCM&񶼰_zו.nJ6eƜzNG~I)Lɍ>?<>)=l)8Q|p"@$D8|>2T8Ic#Yl`!W}+d(2NQW%ML;vC O+mN`3}a=T0+Q kжU[~OvsK5'0&, ^0|Ex0k\Aއ=8],3|:v:Rq#anl(-.1a+ G1s'a~~ 25񨪆w Wau 2%}6#h@ c`Xx>g=ʆ3WBexVSE$1Z6g[־T%) plS2`e'l) Qpa)B{cR٠Rƈ0@UJ/"tAMʫd~67]L .TG"-vghwNk||w([&X$ ȇX9nU0FOhx>$~YFR%aorŹSw=w%&uݽ)]rGI\nm~6wDbJcB0T0ߚRIt7-dLES/,1T%GBDqw)_[a(B +3:o &aVN=wTs$vH,$('oO괽Fk)L'(a3N[F#лXxبɓ$w|2LR(Ws[ɦ* ͦ&n]č]C.FҶswbJĕ.=xsq3[}%bZ[wxUq '>ZM\ߎ c#^δm@1߀ C?2J[^yP 9&ȱxD'5%]Efl|9'1bJX '/ 7x}#JS}5 Ƚ>Ƃ3D0k\+<7wXZsMpD<{M) ĹM8)֯ʪ " ԟZMW@h88܃CW ]`8 +#0c2MR{ue w9p:\]@3M>!4<b ,CSg4DՌal[ j9 >LcȷfhL;O3ѷdzFX{,ԩށ\[rCo4"q_k5]c\6$0K@Y( F' 50?]|:i sа FcRb5h\JLJBxߋr3?9_C89CYI1jo 5 됹 N8bn| x$ⅠFb\QfcfQu`P쥒Bb6 Rԟ3B hDs6jV4E һE"/zE b?u>d Q8dd@[N˜Lڀ?P~BPPP" #OLc'ZWKraa`X ?4Brn{s(TnW(_i%i@DLۘ~,e RJ'%xo`:6p&di Oݩg ZNt O s(GH3 Cr vM+>^U^y=VF*6:tU9Vtw8>W6A!Hl_~0&k i9×B_6)dN+XXd%嫡mCMijܙ l] Eԭh)^j##m!dgOi%AκmSaJj1ʅ8<&o?gm! bˌDH2ʱt+DPS7+}zT[ڟ3xE#E[eP#}/=m) WNKgQکK9#Ra^Ii`=s>ZBÁacEXlt M1)pveqM1Xߵ!Rc\~~KAeJ̩tO{8 ́58 npr\zCVoMJFº0xh]jg()+Uo[%LEUQn)](1Hm]7[U|͝C6PDO1w1EE`] :c(Zvu#osGC2Y'b0!5G`b=H+ܑ eC+q®H֢wr7<;>'rD 1hÄ(tL਴&PZkE>_!wJTTlkYMe;Lg1(hO_+7Enb,yA^FA ZCC8[;Rf#<%j,4pSѝҗɵD+ܢ6 2t†҄>gևas:n4L] ~eKOA[Xbs!2">PQSdJvr*;x;śoe}wX vQW)R\ $)_U^9Cs%Sb_,!&ԃHd¹O˳BcElͬ)*m7[-uZ^} \5˖o:@AV8M2;9ɷ.u+^{;/Ͳ[\;I"dP(u5mv,]PjSo $NVя_FhX% ߭6}zhoJ^ҫ{L 9݉hr t_B@BbxZKTâl?7D 6rGk%ܢ3i k><f90edq/ؖt,kYo%!sjàgl穵|Ty$t3P!\n$'Ǽ2Oddu,sɇɜ慠 E]W_/T@S0ܶА陛F".1>:啛GQh@Ub;  w`ntf!wv:~6+g۟Ps,\[,,>\9m? ZynN;4bΏJ2ۃ[psεNqqxvR%-O_:60y%"φmY$ e4*j(jOEAIva6m̴Pa$OviLMǍD2]z֋]ff՝k?4T8YRn֛;O=E8`>_.c٘z&@W45&Eu(&~%yQTZoxZyB; ?{om-LfoSݓxdn@!kQp(?<؁7!~uDE.-og/[ScZrŞD^JS-!Gx*:{$2?US#O:N+TUFbGġ5k:g$lbT M,%3rgXw O%,{#- r`hGP )C>Y{,RNSA}FӞ/#ܘQ(&}cGڬO1M[ |2$ Wq{3\ia&&&.!~wY`XIK5X|?cGB58qD'N>Bup׎&t3^34u "X^Ug!]Pwe SĖӳu`Ҷ ~:_7<ϕ {bw8OE1B(BsQf5ج]^' 2K/r"2GLȂCEה`a\ec?pzrqJ+^^k/S7^_9+ abZSr\AOg+Ђf8y! hH^XRӡZZ=a#WX Y~иr;Yg:'|IKmvS>YW V #v턺WpPuJ=M{2hZD~Qc:)ok>Yo z';dz8dٲ=5,BHLC'(4*!c]>n9 q5#hwm&E;[:* ׽nrǽYZA.mPZ[trTJˀP3I_sArݶDG$;7ycЖbֶNVGҍ&rL5D:VW=dVi-FMs ~72 h[Ԛ(¡`+I2lDG0((7" EE?sHVV|S9)9jV1WRkG0ʋ'=lcvŖ>t3-L^T̍]y1&%s (vr3o6.|Lp܍gM|q1elX5( ӔS\dKs)i2(B@#xd1':'+8.7 !C @&[s5w-c;Qaژ~c3zS$|rY* 4^M&fx(PSYJ^vFKP·oK6 P'>aБQ?͏g7F9FԑKJ/]rvabP^jQ磇 IFn2mEޓѩt'>M1j:aT!>q_kHY7ZtFni^!\'2Bx[*5nB"_9(L =R2:)iƢ!;_E ^)=̥aD׿w>9y{5-He>M1%%dz\|>JT!j]έjKT fOI# wDE2F)ٵ 8 q{ TWSa4;7R 0b mƓd>v"grZ WŘ3`D\dK;7gGqn~@ 'f S0NP?zyǚÌ̎̂E3}:nw |ܵФO2ǑD >+ܤX,]J=Yd}>yb[1@c)YԔ$J/l"SSPjH 411څuj$-l {Q1Ua)]aO˖qw:*D칡@ٶ F~d6T )XƵx>>\1]Ir ct -E-*UR=*/NM9""Y=6ѐ-{$OGYx = =7_=4` nVww]EJ"T(\GKm+ٛ/N8ED,QI}M D?rQӾ"_Ӯoa-Z,yb[WcInKuw])qr-lt4C*#vgӏH):"dCinpx7Þ(^C%]3a7Ŀn^q1S1GYӸ+ٍp.y(Q((Ql_3p`VNPBJ"껣 xBQ)9)a4.!EYc';a7/>P:h#Gp BLDRpS@(u0$Ruo jvG*UT9x#O ^x-ܠ$ F׀j.v=he\ ttqZ#pC aWn69R`[4j~f9*XP!NZ+k@'HG55}ޘPo)[zI#eG$䆱*,%&8 uz ujuS:=/* 8D0@ӆF6IT },{'`N8 \]h:chmFnYS{JKgNƶZFӺåR|Z#P"Kc\ qBV܋gFGw^C9 zM??W \s1HMwdĨSJRXDaMN+Mn#D 3{# ˶1%/G ?fS9Xi 慔$o_W\M+e[>s &HЕ5~("b A!CnKB PYԌ8 ƑZLqvMT'>!) 2](*O-@6|( IxL4CdoBc}P%@z5r{X!;%UgSr8BC~:Y2db?p]a-.űԧ\>]EnK"JRnYpenйIU4 }-J[d!?7h_"R)kU6E1œ cU ):dBzPḿJ;:Ӕ W5f5B912hudBgdxhgXVS.lZ|O/tGbCɒǰk}sbocZq/(h˴iQ^DXh̥HC֋Q^)/[qtԺ'pC˘7ĸyl}q,"WagX.U6vsLS+(;@@#N6 3U$z`IFSY1E3POpQQ ʾ\ Cy S~b!|۵m $'{nQs!D.[g/RQp>@[㢓,|X M1[m#4XotI Aa#ra#_-ܛj r-V7KMezo`鱩U@.f]+N]:rqQ \ec~0erT~gS ts$=Y08KjKuxg$i*N 2 TJL `Ĵ!/)qIq&x}tJ@w=QLFbIp788\FcEjb˩+_٦dB~ "Fls`2}/F:xwHz'5Y4n2Ռ@jѬ ^V鄓-e0P;ECn! g\rCYV>;ssN屲5tbDK ice ѵĺV+oQrk%=!PaS{$KJ d37^b x0˾Fh,nz]cCK`Sr> =@6z캜;]f7W=۔2 ^io:ˇy7;݉ɶQǏ9X&+/_J!( &)JzunZ^R>$eAPv?mJEDUctß@!<I^-3KAjm x1L}n1$h8O3)fpEX|59ٶ_7*Gqb}{ݹ_x5C.F@l/m:Wu LdKmu/jFm2Lh^"tk}>%1Z;ߑqku8$*EYʿԥ*SbG\ϫڎ?ϕ闏R,hۏ(+K@ .5i| S] rS=2IMh6@mY!ޣwm{W2ׄUb}vߖ8'F(ݶsj*ZZ+|ڞqPá'[| *{bch5=RETqyVAXi d xON놊N9kθ^[8XH PVGY@Jc+ZdW1zbs_q_ qU'qkuY8^%z꓋N3/d*PgfHyz=n3UP!o~T}'ck_#j^'xXn۬>^۷BlR3>;+C*,|PY*?cq=+]Ȝ"ɓa%.O5B?;_lf vL/&{$[B |XGwA:mL2=mG%0v@OaU\bJXG\ JPk($_jZUW0xaȸ -'ȝI)0O63rׄ=h`uh8f&# 쿼If>t<1H/ѓO=U꒦owaS'KaZra->CZ/^Wc7 ŵA-h?vPݓ BN2ؕ[~"RnG8/Q6^GƼG?{3O"{WwGPa# ն݀-.k s1vpgaV4m˷O"Nr}1(M8b%L|-!0uLwM"{zR৯tvp5 ^M3ѳTBoq|DM <Pbd/Xf.afVqd!%+w,VC10z>z3=P>(EpG*tP25࢔D _HXFЏ;@d.HOaP `FYEl G8g Ȧc&NTX'XιʼnBl˚u=FZ*BOWd6Eft yμ'ӡa-PQYt˥J%nV_]45䜻s(sqUG)ܠD+"Oȷ(d1@}fiB'=y#1Gǀb+V\ ' *lSV}RC29t8_ė ΓF.Nw ʟ7Prm I n]X:!#OpcIM FxER 3@NX AUL,}lck k{"{n :BC ϑl/WR ` s nj52`l H[c# 4!!OU /=ڳ^[Iw>R_.M1e3!=4m%toSGW$qե89ٿKxY3 |2xYtv$X% F;ĐϫGL$}z.*/I2([5*kdK, f1<Ԝ,xPQ O~NA Qٞ+zVzA[23yh s =vvmj"e?wՁxp;ؑrd~\/Lj:>KBi/sF (^r+O*I(,žW;LBPx pRMx@AR (UX TͰJPبr^PMu$jug+Hr˅?2d%Qt0UX> ͋)i_osñQ䞈m+5Z&,^\A3r\!9b8hϚ=_49_o0Ta|6ȁɟd!khˢ}` \X8<)P5V"nzM{lvH٨fRɥ>kg{j6'߭@?7ԟGb(ޟ Wt lwr4kZ3q X<T5,??-S9`PkEZ/1=SW_n@"  X5T_PbtB*9{Ib u}$p :Ig/<] (RDzt H?#Hz3f\cV_|@ο?P9' 0 h?~e> s#m<[eV vkF;P& ҚCReӽ9d ٹ>ҩY>OW1sȸvМ{ H Dtj{6x$Ջ8{QWϓؽU}|AK6O{J.m^I(JRb@<\QP//h*N/IOf&Gûrt~$ &h'#j|:5$({>d9˭AUb+FĿ㓙КG,OkgNG|{yv3.K5ɧҰAX1B$:N$ܾ㹥ȳqۣ\ ܣA'2a}jW4uX|4Inܑ'= d8ý8 FaAe*+7xi͍?jS"ˊOU#Xjnl/rgOCkR}ѝ3mPz>,|QRG^':]TDxP[D ɹFQтܾƔ,Pa Ʊ{^5 'ZBU(HDQÉ9+h `/ǙNL?wEwd,`OR.捼b,a:&? Vy.ȢulKȶƨwU:Ӕyial 4R%3ΌOKG gDIILA%YH"͔;,C`va-Ìϊ(iOf/yTǤMLL_5?j< Xq{=:0AԎ̡. cW"صt>z҄l^0$Dw&Ojh^;Ofzt9!%sekb  _U{]ϴlI `ğ]W:LFXB)/g f&(QA2:=_:GlΞv=^d_N9 WD$_c:ko{N[#H(N|mcS׬1$$WJ˒c}3TVc @܂F  `뱝U2 2P}fнsdD-Z. {D {ZsɬIPtFӐ3o!ל0wnۧ^7,1),GS"4+v0o|31z <*azU#r *nޅBtc.cl1Ɛ⩞wʁ Ty( {{T av;*jv`bvwՑȞ]OqyntDvvnR]?x6w̸vjuж&us+prťڧVQ0b*@3Kt]+@61cP?PRmHqıQ|-ȀU!<ޞQrL✝^X7`L} /IJ:302esH=ݙFiPvY6-5? __VuY+;{]1Ĥvm:%؉vy$N䍖ݤ֠뛞8CeG93=Gfh,wħ qDZq"TONLGBɫCHv_ 8>aJwZ9~HNpq$aj8S)z"G r=Fd;y?[S"cBa{Ħ>Gq\1l4v*sw) ^_GH1ɩ_MĔ6o"UsZ1F&@s 2.oB_K§ źyt8^g66R4+%֗EudKA~ ;STn5 8.:LXf*-:Rzbb"",]n+̦~^dxK^Io&/ekO|]1V)ŷ, i<|v.1# R|v 5k=,KB8)AH?RXEMYq d{[~c !:@>cņ8lIv@nR.0p!'Fh;Ő6ڢx ݈}dxeOmXw{`4ʫ9cz]T,A"a6SyaSnޣמ[s>߇MRgޙ.rmł J~I&&X٭ӷɉ#SNؓyB2 S@'%Sx GnNȢa# mcc;T$\(M0["8ZLً ʿ{wmm)8v*#)&zկ6k}x#N0~HP1V*Ayw.i.F_A8!ǿlTr5:M[1r /;UEm6#-;@GH0$J뮕{TS>L49f:S#ݵ {~BvȮJ̷Dv[XVrk-cb [qr?`)?D3pA'p ؽ-Uf.c2F`H_= YDϥ-Crg=D!Lհv6&РhzkD T Jlh9cN,+/D¥}bnZȯU CW={y xэ49~E| = tDDG0JwliU#~d.w>Z=*:CkXW0ɖ1# CRqOD Jrl:W&LAa3G4W\s=>A?P7)nh/Vl łFcKy"+&G0GɴmhGA÷Lt6EM?zm}܎Qez;V'j=RAcp_1 37\ulz'd,@3v IԾ=foǜB8M6bD1PBA]*E5N/==AONC5y \wU7?t 4l"*Yw @n ,/.=4﹉RҬyiӋ۲p0Vjͼ~n'X̧oצ}~0`\JURZ8ZoA~W9|~(UDׁfFp}Y3~/F[ڧuإ"S a>ψ oǁĆ?2rt<Hl#)ricPtˡ)Q=) d)S\gJy͹`7ֶ-Pwwlf@NN9uyJS uH](WGU4/"X,TT ]hrc$qF׸Ѯ^%u.Yqjqt?a$6] _#$?qr-iNYw!zGm|C9Oi0L&\ߜp&J8d1_N4y$T^</ӯBgYgᔵRT).Ul*ql9L}ר*'5eV}xT?bJ<==SOHobϿݪd ԦTCo{j_> ,Dy7 jh6XI LP'b8Nh$՜CGI/1)#- -mne 5ɤ}#6~TKџ? 70'T;\F̛pV/N'{Wo8*-MP?Vj(0_4x^?c, ѵh}ufyզiZw=):уɊbr\ ;Nٸ$#84ZSӊA3 vҶKRpm{=C@#}KY)*m^vyH6e̛\xLTCMΑs1|vefXڳ9|4$ psE!얞_"ݥ&bl 4VfQH:R41&զ"sg_CLgx4(AlPJ}+:}i@N3krOiytIԒs-?Z 6?:4zX\S3DpDm~ˎ6xS1abyˇ8OH \v9NcvY1}ü=Qݭ],b? jv n_+ ko6вDG ?NpMN STG9RQfF4ᒢl:3F=P3=nv zp#:B#CQcGpj9LJ屜yJ`o/m[X1Ǡv|*_o%fAz]PHq9aC.!eӞM}yMO+m8+Cn04q3,=փi0 ;F+&!ߋ5$%)xeBrB^>ADzC7y]K_d5j%;yO f0BB˲ũSdt~kBiݸ]e.QcmFT/olTJrYJ)G:CϦh"n8hͳoVObA 1'Б>_n B=BIF}^n5]L &&oc&IaꧏôhNZT+ɚxGF:+3V<4$IKWˬt kj@HhZ~7^'9'B/ P~'`$CU,MHm ]4M# }W/(OaE/quFwk^QSl[L4=%IvjW-Qdn^ ÑnyٿM/OKJVi<c#0)`qWCJ~D$*YMᰬC峍l㹌!)(kFtDնz{@9 WeI]X.ϟYg|#' RFBn=š O)/vCPmQX&r hVzU~&$9ac~l6ysdȎFJMKE4(g"0޵ YHڍ7͋Ϸ oJ׷("*ۖʨNw!!]e )=PKM?y(phaRVBdžrqJMRa6+ Q<Ex&(EGOL}}`A[-}1daT)ͲkzudП8 @g*' >i5.AB3Rű[x_.d8}Uц24 G;<$Y$&hArU KGhh~XZ凞*VJ])?y_G`աnqKHҷvD̵Mf Ւ5*}n x1a(rZ{5sN*qWD4}Mg]n#h-"ģx4.ߏIڂ:ޮ5~6P~߅K*'FbHY`mkHX\@t~VQKo~\#u}7'< ߱:Im;$~Es+3S sߵy96e[Հ %ӼWENI79//[p>SV\R{{w`@\꼆:swkBu1[<6'Ew,Q++p|`&p4'RSo3V|㘐{@;ͣ?'~q ӡYYRSġgq. K:01D{Bv:9hLUDe4ēHO+_SLk , =/^:._>q2ƙ>\t&LtB)lb" >HJ\`m!H'x'-?Mc2N1g:F,jJrx\$OtVZB-j>ےs'{܁I= >-2 Wy\j+i_J|sqR$EkC镏rE $VxH[}DIru?d 6#xe,@I h>8`4}JA.Qsk{ A w&ٳե*[H+ơ].jZ'9|%Mx(2SQ)dB@)\~  'jX"wvL^nj}kV{RBуMu7*E&UłIx?Ԝ5}4ySG+O6/qADD]c&N*jpN$|Wjn >M`ډi摭;zqAܔ#eW[A 3 v^$@[gFUsz+' NFaQdi*i(e*d/V)r#䯱n)SL.<*g7.e `4UxQ:0[徤q2Y ];b5|iVs j[sJEIb˦@`dBMbQiv ނUa5J#E1rْ /)>p[гK_:*`D`1ߙzHxu W\m}+#[)ֻls:ydKi[q{O,iàؽr)ꯎÆx2}dT)ᚿdNxW7աj)n{aկ+kEz z7;TE΍?L-L"? ťHJi;%A7sBTSY y*^׍e9VM[1ܓ)FD#:\B\X9P{̸uj7l +Rڨ ?H4hr<`7j05.ڊ!3W&C `k) 7i@fuz#KXhO *sҬc^^`j>LAN"@WT3L F5q ܹ!* \X'&~t=vJ8u9B$p EaObe:Jŝ)v Zʻ Rg?^0÷L~N> [ꦤi-l k;w+%m 9PW<_\wzf7:<&֐ jr'vW>*C-hi"WHKVWSsJ/%7Z[]uESJFu*aW`w=(`"mI5\0[ٴ[LГ،p+&e\49L .ìP*3_y(NKH>õJ 6C>\C LifJ7RF~w1 ˸CQG/l ۄD0pe'm*8L{}h,?6^dh>Gl:$yTqV P%)v8j ,U8B`>DȝVxTk+{ndȻ̌pZ-Kہ"~IJ%8G!q`8"L~h=>,s{90~`鹄ܾi-PaWpOY99v=͈ Obt.q/5&/!@SXFX"ijBi&&aᯰ`Cfd[8c`fhE yɛFU^$?[ηJx 4iraߧY,WNm=5e;)! uH mk~ΚksN4Uj;q`Uy,`BIc#Y{,WVj/۰pL7 ] aCշZb1˸WV 6t-snG\v oG X!jRU`6mU]}X !Ϧ.%]b URο2]8+ VD%W7l.$%  ^Eڷ xeLl(2g32a'SO%)6|Yʆ3p-Dm׀*H4OD{NDkJI8l#L9σ$371DvJ9)~ ]gp=?"GnhĽ&q+bDIlx !ߜf%/b4woN<|q$^b[Iۂ2׼9p ik0H䭡\Q%lQ>O(zt3l_O/ ! uOR׵0aj~Jo+&!2A4=NX q:tOM5yU+<䣰fc_,X([ʘ\)̻uDy!21(ǿVJ4ҋOE'b*d;B• 9/4%ۢ, =hy#JL*n~K`@y=F3X>aمo1|e[ҼT/+0p-e]>]UD5taF!c4:ZWޛ~k<bJK=ը ;;BKfj3ٞ4$6npGQVt@MzI&7ZL1gΡX.*("pj(2 !m=jWQTUσQ[AI9x]y!#riu.2ʹyAsIfZeG cIT~]NB=|MKGb`Y?rG>;ϞѺYN@/:60bUrZlNי~Ri1QP|:<#@_ΔbJ=>p&,RD. MgaBs-C ؤsPww:xd|YL& !W,q:'weCu/E]`6*7,Z0_ؤJ6JNP~ߪ5ggU$Ӳl9(g< =9p[vQN8/~E:2&eptWPc%@9Z$9GHiBf}C85u.m*?g_nsN/ abx&2GkAܜhvf,'2V&.f%vꂢe,N6˯6dvyas܊ bqDm7S3LJǬީ^Y 3y) `c^ܩ HZlέtƹB.yoMf+a[߹"K@3]ԃWzos<Į[w2H !Dv8'Ya%YXI`lseo8)q5X#pngS_룔IJ@pƈSԜ,M+G'vT ,v;IhUDŁ]pU* pmOhZ|>~An˞F᮷:r> p0TMʅkzNAGtG?7nBT?+% IVnːao~P(S9[sɏqEF{qio[6ࡐ+dMՔp:RYg&z!Md$+FoP&p܁ytHL~ (6Y{_m`;Idw.&B]l/'V`_--qJA~oT迥e(m l#Л6O*O-j7`Fi?HVYؘY%^ENZzF N>ɀ;sxNCY Kl0-!Yxu;` &ұd%'mNha 7!H11@]d!O@dr];2Uoz^uSi)[ Y$3QSOhu V'j_^T9jOԈX%Gt>3<,?! }>>zW*<DC1=*fX;j\$o\$^j?gw~D99\苡fF?nXC+V1=Grw!?a8l3 1yn_ ӡ1\jgD),'U 7;KRỶ; *^{L$rQ^)B *=IeL7`ُ(pdߟYrrf'oi;d!Q nxkG:*`'fŒ$bk2%ҜI }p` <6A-jlMTR)̺ꄲ6(cė/&sP}cy]WZV7$B`6b#,ep#?PY?oNۡ5tx)ɇ$~ pRTx w\9Ԥe)폇aO[K@vXv/=NxwOė!5,Fن Ʈ{*yF`(Vwnv{z3V#o>e [r#h76ԯlF$iB(!E^ jc(CesR^|1.ca9!U!50 5_stpX3S0k͵ʻR r3Ζ$)iS[E\?>|+nQ;%*tB̌h+91<VVJ*%fT{!7\9x"7Xle /P~Йrv.@P)z]=eqE"sln&rԲr&&gb&zYXQm XV>ҏŅEr`"pՠQz0_*ŢnXס ܥݩ]Y}Orp"` V%HHHXdY&U^W&~R`JT! 9mu2>=(NbcL S*e 5 'mz5@瑋68P+¾P8h$:Fop4#/$7┕o:5:, ٨ibCt͠A *yXw74ب=Te_4\C%BcTحԄ=PŵG69N&QV*Z*aO$%sۮ~tvczkENޯ~9՞T, NFL:ƧSཡ^XT"48 ;,\:"i-A>^~ |wfPG%e=c-ZwL'f#$WXI@jjuVmjjNge;nzC u"- zZ:r \t S"DJ$CRlѩh doYϻV}.Foio𷙕'a$Z }g>3 G@".s)^rL{"[hF#"]IDz'4p&Ap\P4qTb\3fۣv^Qf 4=d])!eks͛#q" L&<Զj(;Wx=bhq-Wݟ53e{Yf'dGN R>S, NۜR}Gv}=<)|:T 5V6BY'6^97ʙk $%ސ b[{])r=xyh r=قh&Bv@#WQ'”峮q0z[\S ٍίtZn3P["ݲPWaq8 ?0@n& ԥkPr)?N3OA;4qu!d:a5 6(5w."t HpJMIo !)=,Bg5?;EtBߌs߰#pݗ~r&ƭ"2op9@31 ڰ{EKXObE$~䆶/se{M-3{s-aX 2{J~^wm`3ňĎqOna"LH=qnmҘį?HBv:K|e(;=ˉa1{d?6eapT6\S@vtf D'!zVEJ^w3s 8k|t46 *us$2{}DQ7* yJ/k`?ƧT={S*2Ŗ9>:ǩ00,GRU%c;֕K!ؚFYbVki"5-۪ϢQ1|Vo%#I[7RA#[8}sQ3-E/'st朚Dv">q5RٶdPʼGuef|N-D+3]Zg+18e&2wQO{\.IWv(D[q@v8[S0~ &,:U6SOeN:i"1+RmvlgՄa|ؚDxR IHRf#~ŖR#׭}v=mk=%?xM3ʑ7nU"Zz5yT`,n x(Լq*'MG3##y]oqPR Bշ V aH_#x4nW&ؓbTc.&(JMQs$; Ƙ w˱>c ;'wѡ*W3q%H|c/H+GXv=+șx)GB c=7}wja*qx< Hӷt3Щ`C\-BoHvgI]F}RgV]5? R;)%&*X(? !g)V}rJS/;IU, dFR^[3WTWtagBn$BHc?tπFXH[zDǣh{i>|3i+顂XwX}6B.=E␘R=g MgFg۵yy9ֵQ>=euC<ӗzVQmRN楄Ut oI@]tw1EY+F:]ZF[% XOFj#3RDIgYPK\|"}n2o[ݻN9!z]L솢LלR郎ꐔ>]/ n:`.:D,̹Yz>%:pATޑZhԼEc)l1>1 flW'Ag w!ً4xpiiN{/Pu=ByO r&"`3Gl[( vd!W .ߌ TKU1ԴNmKڙ:0 4]W 1A9j6y;2O1$*>1S38My&-K :U; wހ²xח P‰ndNKvU7^Tj Cx5#amfgUŅ>p @Hޒ$d\Bw!f׋|.kY('(}:'S%$U} 9눳lAFfohc_$6ZY{ D:PF&ʷ,ȢdcB"]B0:֍!<4MtrUKi :vǿ^RB5lJ )u0W 4 f崟7A,rsb+ƫ|Iy^+G]AMQ{)} rW#H%e n2g~10J^2PnTOi~>a)7 "G>= OR2גڦRvܡS.ƒjj3H\s ; vN< dS>qA%i_Qy~یt+q"{FYx>р u44em!pL^a 6fk7w0iv@nFVX$ZeiHxYzR)Л x͚z۫g`߅2 1#KpIT!ufp^Gn cEzDv ZK9huGГێn'$RϐYvF)C_XI"T^[1nLU5vگK|7>aD]+Nme՟lEI[]7?A2fD:J_Mת ol&.^ &ݘ>jk%*qy8U>xxWH.<-sU-8ΏEH}lSK[a+O Ghq?=RKh\ qj|Iw Jhߐ(̋fS#>B :@gLhA9>+8Ǎ-JFqqc H,ei^&8Wie^RwWԵM6>l:֟^!%#kz GtRhq0CQHۑFM6)}=-~9+`n~S{p|#׸dD>$-LwbO~NjNz80`MX_RuZm'@|/u}/A^9Q9o8| (Un~tZӫnSP7;M-3mBbb K\ٵ80ZWOй:쭸llFy2o|Q{=JG{ͪdvb#l=߃J\CE]a v h %KRvdas?;C 01w":trHsKR .ACia_#<]h}(6X oRrIC)GcU|iHȮg;`s!5e"6g茮NE׻E4!Ԇciۦp)u7r˃ 1NL'УNo2RlZ 9=%-F5~\pŏW hϿJ:;-"΄|zW:z{׽ᳵ6t098ی a&8.5+2@Kf[bgs0f4Eo>ȟB(qOX{`x"=bi?ܳ$<59Z/>LRxĸ0pDz⯙,mߘ=5,9|4sCÛep l]]h S,z.yUZ~פ8ඝXc5G؜¡z5C m7*^Xg6]C~b.ZP;W}HC8UG_ב\>YLTk+ W:J+rR,qVC6PI} (CtxZ*[:j M xVkLVf6 ZULSftYcdN4, 21.lp& GۉJͫ"R}$ybfjRl-U<Rq89DXN uB>7҆*-TٖxEi-A=OL !JqQ9Ruw+YVk8lH4Ka]Si;? 庫!8!/Hsz9lFs _uA b{ 6Amɠ `s8rEcj Ib Ƴ$ 'uX|q&0uf0X CX{[q֜b:z ~Fa'6Y|M|Ӻ0z jaبU0PgNW!oA IqJ9-B,B0Ms=bӁ]y9+ k$0U،ofDrӯ,MvM1?Qz TOt2>AafSEOm 6w &6˾mؚшh\!3 ɇ|)ds;{L!>=پb Fi_p]FlS2k DXW*CVQr5}Oj=Kչa6d !C ێsUVI,|@$yWet -VBIr( ^vJmu-8gq0[{0Svlyf/$6p/]?p|!6jBNjS m*:ㆶFL͑5ĽC%(+gqA  l__kan~EwWBd<grb<%Տc(6>Ƹ8!bݿLN.;c(Zʭ_:3AֵZOrY|NiL^lԯ q*ld^Z'ذ&нU0[ fIR6b|è7X /F^O3঍1tY z):?8U[Dj F%TJSCFr<5Ur8[f,4ϰi9?%NHMJG0*{@qYf \:Bhӄ#c 8;z~يCh-@ $eyqia 7|p7n{]S ߼ƼWX@o܍<a?•b*=!?FrX \PM̡W)c(h2ޒQzģ=.̗ Gb:3(K#mcےDyR>"轎o8\pa-2@IT>E \eBe)ݾt$HFB G%`%ވa,&WK1pX:u M#[!w+>2z i1_G,i<6uS/WO" !wվ4rc0Q1ؕLtWbK\n4YY*foFu(,*d^5Ǣ*`C٨{Yy]2MGĮCE۳Nx)Ef.5xLB樅?+d]:7ϞT%]G+;JFԬ6 :Wf̸TLÆp&hv6K)V33TSSrWp(thmz TR,X,< E1o(ӵ\PhAI|*3p(b^;\[ᩋZ]$]FP>c 8NCRLNRK E.FZYL/JԈL{%`ovjL 4mŎ.tUBTuΩ@r !P 8 NqiNS]WQnJ@q])Q-,byo73bx.Bn\aT{_soew(K4kY=&Qj9ߛ Ou鿘in/42Co%`b|td:fXX!.5CWT<4_$ =r, V2qe)<]AAƼՕm\uWBRRF,y =UQSrMa7חpyrJ.:gZL"QDpjW^2r jpǩj(]*b Z BfƁ%(dqΛ]G-S0#vJtUF<.FϜ?)M6 yOzȝr,6xт\9f %$');&{Be3m/gDTAG>네m6!e'%L]${|۱*c"[66ȫոx("&i F5# /cJ’Kv{Hiן8O!V NU{('D-\_~zNƦQ 5#06$RΘ jӥu[!9`;ŎT= vd3\R1rq1Q0^c.ᜫk ]g~r&aNw>^xk>9 As{l/y']TxL/&4 x#pܘUJWh v&?"dC 9+`.~$F2KЫ ug i떙jg)JNb'2/q=,`+v/ʕ#@RZB\\y,]::VIxY[$]ձ 5+]b:E ;q ?JScl<4KBkmV(=f=#Y烺'>_k\ S8 ` qw~-|2[AlXҐr1U3{+&/چ&c2B]o]S_@1mtJ4z=VZ|*rЊ܌۔*KVkxGq}q5@<\ɜi+oJVBc3١ jQx}݃$(Tvp&/B_Rh_e0j>q )Bcm~U/*}D#-gn?+ׅ\9FP:Ysn22tY2o"wxI1t6gGj%g*'ėozr'Ԟ1* E{](~A.)ƥ^Fl&v<<]Bj.㲾g L>՗{F^u+R!T+{B :G4]XatÆI{IG9Q᪾3\e281E/9Xp~YZP ^}_ZL~VZ6d%~#BFhEl2տk<| D_}|Bb o< @q9^{3"W< ٸ PvCQcg]`vAIg6E-&f֊UmO1保[Ԍ2 bSj,έu3L,V}c!MDR>D{$K$d؋S~$MM&Mg HBtTЬQa̸$oY ϖFO;\q*FxY |@Rr=xӔpgz჌ޖ˺8@(ZƆ ,r.n { a3(e[nKj#T78! / v~bFi5;?)WSu&ܛ_i إ(~+  zAd?-w(߫>8T5tVwsJRZFzW.ielQ= 58qAh%r!,2f3VP%/hxIۀxq5JR9_ 5l'J#jv# t%"'ɜ48\2,Jǖrfǧ)w)h1zh=!}T f4he“X8@d }E)Ϛm:.D;M4*^ԗkx n/yN_'4SyY{evj_nϰ\#9aWP5 p:ȫ ģ 4ڹ *{IAn6I`WcPnZ ɲ!\w9t:Bפyegi⯍uYӘ^U ʬ]?syў5 h0|X4H :.Fb&ƲJ :pϾAv$:e9mN]Nzh]費v%hTA .hM}YV`G լkm21U`ewx.ƾN*I 0*^c䃁ͭf^ D.UBO# B^ 1,s2AzAKWoaUo`8~8}-{deb+%"osu+`L%yNͫ RDXҞRKb|=i;~ YM"vaJRD(Kw,2+$*@} 8CmNQPe˒"&5J jܦZjM@c ,X< 1%MdKn0`6Ft6rgl}8~ϩWA 0C~1+_:)}"P ;:5H>9kKD$7» !nIΗeiGeȌ=qg=25&t."%:oCHǐLQ-26>F5_։D󗨸X$xG zWNוO>u~kBV[J#o8cW,W h pCk[.nPv8Ȳ` *|sV"9QTS,㍉?'ag*!umyW?+5ن_.[a"_d,!ڧP󋴃a8a7*e {q/Dܮ6C`n^-$_Z#. i8bm#$b˱r^zl0kմ ovK|~fOJo52›Hgϒg\ 7Z,$mCʱ9o7~WKK/}EzylEkb?|_:NQڶh`@Sڞ{T^G%yMΡK \d-!/3EdT=KՍ&xA2Pʹ[ρ$$>zީ?܉ ;v%O>PI7 ?Rō@%asZ Ih^` Jx0oS]`dNmCބ/g{F%Q?XT~\?1{7{99'n\[/ל/tzؕgդV CSkAjʞ,g0e )3~(yߎݜ/&it}|d$r?}!Sv[+ iۭMw^+GKxF m j :j:>4T;ٸ!g6R;#}86ŨJ$"sp?sUZIut4!#W} CCK w'v;m喙-)ĥR% $^k˕C+뭀aQɻ܁5Ul+6#V4B)fyd%-LwUYB܃ӥZTY]Ȕ%qyO0.>_EƚT?@lEEN;%SB84hw\n/΃S~ke &1SϨp7YFsbe9w_q =qv "Hqk!uSXPtj9.*ە}]lJ(Cp%}C1N((X^sK(@vY 4 &>DI蔞sP1ʍrx'MGfmjE@ ʼnhJIҞ:Ĥ&,C7@dZ6̇[ӡ㎀-RkCiͿ+u] wTw,hy]wJЃnN ^9F<8 qń 'bg(ܩT@9ʺ4uS3o">%^,]ljH`8iaRd99sțMX 3U`e* `X%xT(_vڜѹ_0IģaKwxڙCk6La(.&Bb}[xw ehfo J@H{ڴ\xUt|d 鷌k_5ò?ЏۑCXX#2h$DaHFy'|ul􉰢j[gg7d',{G8tG_brി''a_K[)<'=2i~5fSk).eX<>+hHF͎w #}Rd޻u椣zt?$qs.)/Ի.ҷ 3\u3aUse(ZRuZ!␉qh1l"vuhrZ榴v |*GP %N{ ,OĨ ^dir4Ik<悺mƋ: ޛ_ļeZN{  jlk__Cf76? .-kKAh}؝ٱ`Lvn\0E|qu#2U:Q_4 Bs0JyԳ"M+ykjEkv(/\o!'fab}ޤt.Aʪ0+IUR2 T!s7՘_:}оޱs;kBz6mogL)7?2X"M 7w2qX9-~D"pyZ!I7J w*6eL9!c3 'v_/ZlA4kȕ޾ ;)Bd$}uf+D h,V4#@n*l%y@_w=>VuSy-`쉚$#|kwHfQ\X0ѭ:m5߶{4B^T n4`owɵrT>ޙnj=.Qr襆'^wPYD+M{"Rқ| o7и&-4u> k}m^kNv[:g<_yۆ4®0PUӸu)5Xy-[W"6-bnH\FQ~Bӧ:rGE7! eSD(z Zf &)"tq ( #J a_((x?i긖!V=+D[AvMq+h:Po#gv CB1OdGh7FYZ:U, ֩8 2Ԏ$bpOC2- +oImP@n=Iļ[@OӌA!2`2%7W~Vzm!'cgnpA)6yPfCG̊w {ْ{HI Hɝ!0%u(yA{VBp.ѢYuك}ْ$g$Ec{rs17Hke6Ε/ s[\L[ۘ%ƯT/G欽B_fGi@mhн@ t k§ . 0MxTڤXO',Vt&TA=E۲Oi;dcp1ZU\OXDS=,V.qm4 LF9 -whrքͦ&zx&uy W D)jW/BB杬\i8.LTȖFJR B;to(:.\'.Mo^0 GD˯kرFP #g)9vg[^]F,Z~v~aAx2~n)N0,j.YsRn[}j MeHLISHLpb^ #4͢J@jDZ`\Ɔ,TrxD5>&X)-R~ZgY ERiYͻKF b^ o5 &O@KLmZ]<&l:}B oW5qP)*W~"0L̪5GuF}]7Iϵ3nJ߭D5@_n=siAlg]}[9%&ɍ8޲DZcݜ' `egm/4$lKJ??  @ EŘd/l:=@BlNdIzw&Ez[f}9Ea$:\%Q&s+L-B l6a6@G"Tg=ʑЈ,Ïƈ$u4ΘI<9Q# ld9<, 04/tDaJѨB^4#n_5aUα EĎ8+XƔRُ M7Eod&/ ħ ʉ}5ӱPBVpSkZS:" `&:K3g=rDa# LR>#fOgJ{`Kv;8ج1 SM^xM=i l3GQPYlV%72?>nG)>Ċ=܋3.6h|&c@w֋WZ(}ڢ >^~rn1/nc!ϒ10WhxjƼFyp0@y jîV2$JИ' Tu Sz6~~>LF7#c05Wd .')ka:xMxb^4x4"<>srƌpڻaQ{-yqN&ʋO}JcjmXפDZMiVo"W9Nrl)@bySqC̨(e7ıxQ&O\C1w1S>l+Ń(O1]:+JsIfh7mtV୅)4M?(Cj0 o#pqk87屉Ӂ7?HTa]At;A=d=|,B *UɪTUm^] b fK.JŸIxlk<.嘱EϊsA M=*{C. 0Ca\? ['>| ՂJnV,},9 S$ydj+Z! A)J^\f$c}LjVnY ${|1_4.FL[(BzUcf&.5 -٩F#KvXCO-5R{.niVYy|4] k;/|Q XJXbSmL /9gczH,Lݿ9pgL\^_4KҴ87tNhG⢡Yi-<е`x SXm[w?,T1ʨ @7$Pذh| nE 6L"K ԪGU6 lu!zz/ ;,,|֭_[Z*eXɭTXrǀN$;sȾt/9+58c)"!%pg8FQjUHU:OEk1M4ddp;0,,clY1r.%_7mrW#ʔN M݉ݺMV|"_YEӗ¢wu#efNwۦh;Ry84C%I!#>eH|cP8n Uk2PISx.]22J":.{L,_ :ַ!vo5VO~O IOɺK}8&xOOhgBIbL}E;5-6^xP 3hө;xmk.}3l>aIOaE#V9|ee."Iݹ@ 4VݸN8ڮ0:zoD)ʱb>dmmoΚ3,(a` ƁNPvʌs'1YXp3_Ձ& ) ? " &^dp/pd+4^8N NW6K.&0$F|y$JwZ7L@Mg+,j<Ý\ {C2Bbjr+p fddSG㸯cU(neRNEv?eaE^J9˦h T~nz`Qdשዞ0m},x]Tf]elNwvX2Q ^1(h83/nҚ@ڑe`e;QTydU;wmULj%) H{U^l슍k!56"b`JAg(=V'FUgBo]S g=:h=!"wIEW_α&Ëu1+4:XAEąnʖKSY5$o<}4CJҹxBpqŚGxbĴƀ,ac-l)6gYuJy'Zؔ: 寁 P2/ȁh&m &Iݚ @c9Ăq2rZ֘3ۖ G'[a_PL9NX%G'A,uH>;skMk( dr@$ {PjV;UPK/zvqmTq(5`>/FXd~=yb@܄.j[ edhٴ_-e\=YK=ԎHH+(ۑ 0(p6rfArnwji5hY"8vO`:\C!(t5(.v6@ܟ.= Fhˬ;N!uV,n;f9a ?l?pLD 䶦{h}[6qQ'cR%,Pk8h[=R5'덅_G| ugD,ye5@tq}Ca:sqp}`S 5__hb߱hm`{\K{e2\ /*wU*66CM$kL"hZ}oڻk _Z9Dr':MLVzYHrUl '}0L/?wY};14ok؀h񃖃G^H zO_u Ln:$jDoAb s@bHbӇIM yc%UV!`n#pwmg^ƘDӆ B| [ǽJR2݈F_7؛ S~mXAzԓsgN!>,yn 5+E}B hs@jLtPG oHܵSe ~ߌYc'5 Ά;w_ kqT7sRx-o'={iQR{Ɠ;0'R5""^rlRU Ξ U+$[V !:L:vFP@ԣӎ[Paꨗ,1]Xw<%d"[hW`U`N w5MO:Ӧokg#] (=HAbAy7SJӶka kn'ݘR(&b@lyi:?bsKCmCN2Y(̆ܗUοkPS΅~tR*{ߋa/ F}P3%1>=AܧL;fʡ4o-d .Z\Xc ;rZɺEb^aqܛJA,NPK~:jjjO) W7@mʊ/!S4 xeޝ \xhzZsc|j#dВPvmac}"6Loz)` f{CRw>Л, hM@J5IJr2/ W~ly|f{LlHk(Ho^d71J ȷk^oX:in-/M6cj(: R=[ 7n<䄳74Q&w"oY_TY[$Y4K%sqCxuKm,8Gm[7uA_ *(M)'DLrfR> +I_#vR}\ErQ OO2K/;1“} VkWE8>F:`:V"UۙnEoK7rcq< lEtHᏱ:o`/&Kwz&S9zʬmJi뾼Gy~P~o%׋[ėot ln$>X7"W98_tՋ`NJ;vDQ\hnAV[W%0A|~/[Dl<ٳ)cxa0(j+&[\m}X?W-? r ČRQ8*t,l%lv!E*ϥ)[%@r{T$QlvxǶ' g/4Gunm)) uj@~\\PQE=j።iW녬#"Cㅍ8DcZͯruPɂ5p 54/8NaKPt0OTwIӱpC$u#jf7k! &`c?5_T (*{Nt3 c tq+TM_ {aVA[o >ERyƒ.40SnzL.;Gcm@CU76DI$ TMd-FQiNw)zZRPt  5:PK V E%H vѩUCRrArNIqdyy=TH%4yGqH})Wc ~?{D*c;/+%6ݑ&'dΤƸ'c\p5ˏ/;[* c*a}VwZ-kouv-TC^u>6D&u9dNKEZ@bOۡ"gи:౔v d=`u@ԕ7bp_*} 7J//KYGwv]{B8\wtPݖwIYIt#XCK"MyLgӠ~*jjRHfM:tx0btOCZ*8EA:kϴ"84O ``1v! D6іO'ڳ<9.3yJX[! Nr]aBӨbL'@O<(&im6x쭴gG@arpki đzΖ=uSDRCgTpaSdAp80CXL7n[}hxA~D$ZSoG]/$rs+&׆ԥ~=b챑>F&)57&5I!a}xqS?yρBnMXiY ŧq{-4Nh=ss]h2>a|ZRnR_2ѧU/; [1^[4/ХxfHMx ހ8-֨38W8ߜyRlys4&WAJ}֓[qW3rqm-(h]t{+R }fULliP|AB"!">q|qnc.jI͈eꇹz0"w 7c [xsV 3nyңVmί4^ -0| n힩G`&4D/=`l҂ȠO&PYR!T5۶ik(znw%99n"(W' 4+݁LJ`?}yTFE!یVm7iBǠ&U?6Ãb,Gf#[u<]=N|MpAeOE}"Oip缊Ъa $.;ā%܊Ȥ A4 %LWmMsfc%T}X `Q'QfWRs*W~AJ`}lNjEb,y>7wenZP_f:Od֑e^ k1;%K (6Py.Wѯ:ߢd}䧔x%6oSO2AW] ,sO&\8ȭN'mj{h%7MCǥϣohw(^81bdr@]ļXң1LXOI{GC׎S?ĬM&GyE'ʒ>;Il%I!(AdAmY!T߿U3Ykz*>o֬!Y>f@5jdV7i6ZZ<|u3AE94$RfStyNΩFЃʣv)GaeCv(Xk#X0N HS\PMnGx?WlZ|"% ˤoQ;UIR!dxwX]JO$-흌jD0iBPTГ8EHpm-xYө`/svgv:m hƹG$\Puۓ37TXMCeZbr~0ŎbU It+X_kwI\GK/LqN?6dt%G- oCC JEԽY&nk#CpM= @aኇVᠯ < U] LVé}{y$mYX&pZE&^hE?y T@ً_ g`Aޚ2>|.c}:P C`}pg2ydfyd=n?>i#5(WdD՚Qj.9:Fŭ_F *;^{v}d~w2hvdu);($1K[R#T{!T! #gBl!ggΦU^-dKMF*$PoqrrDq-G4iF~hȳxDΨTGZK^t(;Jhj/8JN)Kl:qy];dRܐ)"1. 4 PV>1>|%L鋰ruC=3%7)j&m%wDy+ 4bT?@FLh;VxBP|ΎX噇cnвs$3| EձK/  . v|䳤U/8I/s6h5͵yOɂ"/%9Tl|2S;t2QW,ѶVp`!"Q2#xtAC/;^-AeFu'Y ׼g2_>#Yt{fz/j_\ܴG=8`n{yuaS [Шm> xJ={QQdDڼlIkbcsơ跧-7ŝf͜80arצJH$) j\Nu%i>i1>M c(nZQ\|AG#B|ʕIëOb lV;Q*ERH,E[L77 iXprԢE~^x/w"wz'F7jx>>*n4f5p5*ʄC#?bǔn³ U Os{B}{lcGn)׌~6Oflv̞>c|OEEc3kO#VLV*z/3zYl?Qݟ^ Jd TMb읚جor40 Udw@szO0 ;mа R78,L G֤@6]H=j6ÖP̙ ڽZvSu'fQvs҉S8_n<m}Wn2L&w)uà 6]WdPl Ṟw}Pd}}dS:=s]t翡I <@kV]HUauY,]ț^o"Vf>F4x6*d  +k6E[Kg(x8 8z+wt&d' !5?r%ba- h"4B̫}R݋O0Kr|A?l;,[R^<ڦ;Cř:n^<ú聧eXLcijourQcw/~cF⦫ɿ5l> pe-qvyKy=65J5dCXKϜ$x9eS>fi $.#oXMe˵_1#\KS$r3(6ut}/l4Ύ*dxu\2qTx7ܠ?_Ňz/%{4e'2r4@Ճ!4.,\!\eA\:r8#mۧbѻOh :>[^&ߣ00F oO$%&B/4~GJI? {C]{s!0Py<9TRHPNZdsZꉺy.Ajd̀_ʕagۉ ^W";Ю&,pN3_ԩ3mgQ I!Z8am[4n|s mL]4Lۃq:}.XӀd|Y>[Z[;c#epB\n|aVŸ_ա-Age_MWo`EuJO-]ͽ{ oق {Z>4XH@ܳm"'X~32btJN2GdjHwU4=ĕ B}hK.ZwM4/~@\ڏb+=}WzLN^Şy;QlNJ'y gwA'k3,~~mN-VzuRKs_{Z>.{efaw,kERC%QQZ.2o( 7'CibXҕl_U{m%oz۽7f=5>QOiAȗRr,n *ZgNB53Z07/k%nXgLLFG5SgQ_9W1W$ P J̀{HuNd曺fu,BB .0WCFCL3$t Rԋ-Y |ɇG9?Vr"&&KLKq*ReDPbft"|cuM^1h#96|' CQ F+G۴D^cYIBpG~q_Y90\ e.KP 6k_r)هHa vh$<ݛio{ZU٪|ldokγ2lex-(tHCj,խ?߯ɷ%3${IPZ==J Bzkb4#/lp'g :g?K8IJ8;pM- ^h1pIخo#|(XcTbHxJޤ6Erڻ <+~BJ( Za15~k}!9| jPWGc+ͳ:׾_vz1Yݗ1k%q{@!h* 0̰0; 7GJa7']LQWa:OKy1I~_lL ȜoUjOہDa T''/rB|j;~hٲ(6?Upp?{:eDC|R[f=Lϰaxi|5ܭ˶A昩k*i,>yˑiqb;CX?)6r.ړBUguDOE-3c6!6KaM0pwRpIƉ對^6EEtrE8iޤQYjv"_PC0"NAFEah#̝L,~̥!0kxf{gk=:|w_Ʌ&N5Z52ŦNrѐJ/XS):d&$uZ͗RCrS+huLÉQ:NaŚ@_b(74%Og&]±۠]aSqOsT"$5ogY}il{{eBa O H( avAH-8罆Y6>Xiz^\$;QAFo6c:DSHHYK.QJ{ܷApОgTj0t0 *007-ټ>cT OL$/{:.xJ&I`dR3LZFpȟ$ ; >4"I-1us2"z'޳^l)xuCywYsi%7'ͪQ6ǎ&vA=ywGvhNz%-$Ǿvg[Zߺ5EYҚ&: d;9Dgmdh{=>-:sfD'6@&3s߉hHh*yTұ).RhθZyes Vʷ|Mb‘&~ B/ kl@OF]w>eD]ӌcTSPlEsUz@yO&H' OK{wefzU4' ϕo-R14({⣉#){nC&pß߰A=cpL5l-v$JK<*@sMz{=4d@O.9J/{OTd2ZmJIm/^TFDbadƚ, t;6i"5q)󠲲:=_8-.L |Hn-H |(pX7S֒5}G.(etR[> / \&/܇$Ν-NE<>:/+?1\`]No H  J5Ք{bdSAY?_}UZCac.db7Y\Jp{9QsE,~V}P#GW[m-|H w4<&>x;"ȗ wt3c'ɴb󧕌#j wt~^jLypz^tܩAqDWkҚ{?Ƀ *vUN:>(Z]~<2k$eF9]6qݷߗrKKH eRII֓CK3)U&H5˂K\puLQYc^;Wy:8aȔE_gpV~a-XJ&)Ŏ@#ǧBt混MuH;"6m~͵M>W 䵿>o٧6K ]jߡW+ƫ]g& 4e#?F~)8;c06NP,_@O~$ۼbD›B\T_}GN/[Y5Z//K\:~QDoR=RI2qb7ht-jTG+]vc!ZԵb TY>ۜ\ %sRDI=m|2M|G'R5D5FLD7ϼH)$|]mA]E|5cfo?ʸy႓!F:q+` p!/::#Rac>rqԑΑH}k鞕S|2[L^pj2Œbo~Lچ 4q.'+1'Z;8{ kCMڪjB;JN Iѝpvaxt|ËkVmQTF9Uk>i̩KCB :(Т/5ڥ3zW/&k*N=gQ,ϰyذHm5L nq{6 TnyGyS)-0՝:N?7-H}Hc:1Vo˜( 1=6aA67b %̋ 񨹆]ţ (O lo\^xjqWt|ө~O o:Q'#$ xTY`l1%t\sn[~SDeO(:uR_C7"ѥ 5t`h}0OLc 0Ԡ Ԅ+1exXwl,eB^LRr1̮f,W-q -AR-hrzA@Q#1a>>7 92wU#?1t(̸{Nr}`<\CW'j|=1];5fXik#C`"&!CQ"}!H79S %[}\罩KG߳aP1)Th.@ /h`fkv.= (@e{-s[xVWaCfpCRyK*:I򒻍]5Miuzw?m8x=6K>j4C&gdIk늇ĬwC5|;j ob*؆38ª!MRB3);z$  (ֺr$Ow!w&qsҌOZ(N=>54܉Iט7?2W4h2vȻ" %QJZAZy0Rj%aU:HƧiUΊE&dˢImL$aD}6K?wX0İn]țQP=Ÿ۳&R'mPٶCաMfE! .XxYhyy6cUށ9Eb|mZȂ^utYP4-`N9(Fxrj'nNlL# 2ͽ1&'gACpM5"l.?m:l͖5 ǚf ;^hn_*ܿe+"<:n#/q|>źiOӖK*PʱqIWV,8GO}}ɔ-/U|2\Qdk~k")& <դG1<F$n)rv׵gd͢>sbs`fޭ,˸qiP&-~L<ȊhA1H?6V;L,bEQC<)$" #K.N>vΆFI/!&aq.@.SNچWY=@!Oj.1@TY4vMv`Ғe/Uhy.f˜>8į-eZ袉FGf BtK$YY3^=%\v %E^o(Ȫg|BEU(K'M =a9~~Ϊo V逵R߰'Ex+7Ͻi-9׮BLQm2U}>wӀtX J#I}aqSƽr~CR.ouy(Dsĵ'=pv7%?ȎLB`Za!>_Od:K): O2t~ɤc*7=4|BumXU9JQV{:yp|"Ќu@6OPK8/]Ez]E8GPQO LSKlYAo,Mr˹F^!3mX4߂0ߜ:>r$ϸ54kjLdxE <Od2x|UwG~~ 4 @o(['Zl7&&Ci"X(O{jþֻu3D-Ƥ- -؝y4_q/7r@i >!>[/) 'w)qdiFUPtpU_X| <r[`:1L(Xl+ٛcJgUndwwlfq.\|;*('+dX 5u)pZ?2@ZWTN6J,~+i" YA>3D<>2PZYu Vz(jڶQDͯ<(@qD|ғZ?F-B `cRR F&[,T } >>ThyY "mMܾ'K#9hpOfHk;c5%w?Mv(VR5>U=z0;w\_O2wvJojۃxqu{_-D+>FUSG; j0?Ԧ_%[ 1h6,Q(8*5Bru#5+%7T5tbɵs鳟3[*(@%򶞾nXb\pYxQt'>)vi7'%e]Y1&?zfim%tȅfb峞)/wFoxˀ,H:aph,Ľu_݅_;')y)mؖLj4,(?lG4M{E}}1Vѻ: ,{6׺4TI n*2e3uT+Oѱ[us=}"5YvnX70J)uq]{g}d)qJS&䢴~ʼKQ6ϐka 4pE LҸ(H _,ci0 Zd¤Q0ma^ dyz d W. $AĒՁ#X1C4DqREM,*!Mx՜l#9BkɇU!,sd->{"U4*h3 $4 -/`IsxsIZooslįWPmH q9M]a2{W}@"KƨKw*o3ș⢗ W (Wnf ӄ+9'jil +a$ο\)Fn(<ʯpn}_Y̑{{ fb8dZ43Dbk<ϢgIj+݇DD{nq^Cbr3J %6c/5?e.,㟓97 s;#A)CH ?#C;~žk0_0<,p[jcXAcՐ}E%ZOh6JQs!!ͼMKwyf;|tN~lh(r3=;9(:8Z}w'HnůW:j!tþڀuIߺϫ凎tuyڞmjVW)p:phJFpmiɵmvIYkv;/\U(.A[3#1j3MDhVRv62$lgER<&zBLN-^HmDI IW"ݝ{--9ėrWXx86&  mt~߂ZYf(q>jX] Xn_+ŠhAF@G*j9%9`3#+oMEЙ 2s;등(8/}Eb/t[ҧ\z҄7 6h՟]ECRt * 0e4bNX7kX)KzFx=<C`"`9gU2\Ku&8˦Y4O؆j#E,mͺs?ω ~ࢡq74 -zy-yvu&!:SO"צJI+WWFР>𨱈? &#Ci {`bH ^Q)O9p6%ӄ E=8(pt\!<_(zf`^;͋-D,{[2H=;3sgؖ+/WYAN1CaM:, aFdde,=*R QT?mRSh C i~6CjooSIN\V@<#y>l!|s¦~Taۇ~7ZȦ}`lߨ8{^V`+XwIR#5(ѓ8*7>AkE"&8v*jaEDmh+X;+=u芙`)"\ Àj}Z$`3a0y Mlfp̋)C/fnVHP YBHpFvw'0Ox13d~ Rg Ȑ>;l2v%9v7W߇2_ivX$/GƇ7Y@|!,!eLMՋg{O2攋\ÞM f>R{V[5(1ѬЃ y6=xAz^)AIX?*ASAWKp*)5gv]atSB^&*$~,p{Uɋ r7T@ `;.+BlIX'+d*{^ VߛNnBgy-;໨YtcG"'TI &+QQ>n pɅd9 ?"Iel~ hqwgYe^_-(Xjpy#{P XOF3Z)tW#ЫYAHgU&ُNMuhػ1:d~%$> hqq<ĭ! ά'[S0Vrqy oNe~qloM#Ջ'd/mUk#r3bGXbeGYH8ζUTM_5P 4w{7a !ZD"*ZEeep❍$uz?&z= iU.>&i̚M8xQᅣkVd5/%6{,gÔܬHP_~2͒jQ#`_۷;Dd؟[Woh !7ѱj6xzéJ' ]pùIK LB&g75֏f =Д ş.[BS9ZDjCЦF|vGh^_&ՄsF>cxtRnMV=6:QR6>lbA7/P9A&?DѕH?gQZ1:٣#ۭ- &CܴJ)ʤ&֪9#VZ>.T7_gJg*A>!ewpƁo(3 f!l-!5v,joY{䂕\ӽkd[C11S2{X W鰨,"3Qnčtq{tS?BjO1  (O'A[潲<{?_5em.IXk%Nb#vʴ|Ge "ܓ|غͶjf,{gi$Z XRNڎyqiNb?p A(fgCA&^2ʃCԳwiU!䲧nzQ6ƥ`av6zBeJK× -\,u٪"㿋{dB*hޱ&)Rƥ߄KiVzϐ|[1s`%Lˊ Xv/DűOj.G]"[lyK{JIe=;d0d[FFtv.Dkc&YC lul9PlZ)p~N~pe2-uǛɣnLPFʜy4䣩Gxz=a:*~ku3.KVwGJ >Z2Ti2.7rA2;P>wcy{A.<@&E5;%FW%IP4BʔJYe@]~ˢ9i[xA?}(GaymO (7c} ;(L_K5| عPk.~}BZԷP!}N3DMMl',32l9~ąW-0J|H=IAm7eopck}QxP[,8ިhğ֧E\YV) J:L j?zs1يl[,C< r>+6VP]HL *D7IgeUH#"# )^8Dd L81̈́1lJFj/{B?3H;`c0\ yoC=rl*$PENRlOb% lɍ* NF;sk~HˉسtY4P}? iP(ӫiԱ/2iS>8?_nK@A1s$؝3*~b!0['M2K"XpzmhxUnhD'(f CB[xa z1r;dfj_ߡ>݆܆CJVmGJ>]mwg:!xTF IURAvߨ,.0|*$EG 4dB:} Bvеj <9>f쏀3s5MqBpTi݊ 2X7chOF9TE^PISq1JafO4w>j@= <[~a®o?`IW%.J8ֿ0`Rn M?>L*QAa6JNq>#8e;]My 4:;wI']>ySa79c (3@=fPUΏ.50hgݦ&as%mrQCʊDj?<z@SePU.o" H! /Ĺ}Øz]'ሎIdÀ9r)VGT,3*;ޱͤe7qO$0"`8x^tշpSahXU_27#}$kSܡRּCIViP&$?=˄bo-I#4|&a89"`OΕh"j6d4%7* l<&, BdDeYiO+@cj&}L;;%Gޤב&K4}M˗tObg(̗=|>$Qu |Ȟ=ױA^.mu2TuuPOIy9qZ2% oC9-[CZiRiWN` >/ hH;gt'- KK}Ok9Ȋq7iF4:u/?65G=yJb@~.tͲ`;;;CxqC"K2{, :PK=p L[eSZ^ xX@!8dra>fA$I?u8,^FrB/#N*Wv^Ji7m@6$>6f&GY8s v-YzA{8LVF$Y4i)ͧJSw]#CM)ℰg.WO8x-u܆0 )lv0 kc*KuKIjz 5[ZaԘWhՐME?/8YxsU/Ee>R 7+135VaU<)k>ߨ`/|N ʺ> OÑ@b^J=ڡ93SEGctˠpR7/CƬnb rB?8` n)ug^Rz:uWާK=q +@\Ae~O6®f]V~OنSPSlK_,Yp>)tj[P+ :z8{pǤoA05qɴam?2+6ZGL_L,-, ,PY@t‘ڙk(Mm [3ԙ!iT>dQ}/z0ʒ RmReЊPy`u.׻E3/8z/qc>8&!3uiX>{0;.|u|VwM;;dv̮)ؼѱ9w #,yTJtfNk/wN0{A)f1ssW8 kc%˳3_o$@.>΃ܪZĂwdz!YTLru)92j><Zu)B;m k_9:bvMHͶW6pU ̢{QKMp5K. |َS|L S Is)ah<8{yX 8'vԅSPKQc7 =%> Iס#VPIvN@asKg,[3)1Α"^\$46J,_4\+b<@2:'i<'9bu\%BHIP\K0,%dFZ*?]0U)RɻyXYˉQuE4iD G*70*;"a!N#}D~.bxڞ4XG?Wyn N {Oͽ- kN2S%k..9>9 6M#sy ŬUW|m#Ts1tK×egӝ )ƌݏ'OL~&XFi{ܑq''νcgIH0K 7*$OsgL&_ie_+< Ċ܂?h(K_+nQOPpB"fx _Q:X q m(Dsѱ&!1>v7瘢I{sR^'Z'VO=wׄ5GJl(=Jj*L&]-B*@c2(1Ǚ0֎8gsϩ2oXV=zN8Kh*֟e֣,"z z9;G=/Z8ƞ)j?a>fm{1OhN3cƭ)yf[)FJH{%+'G$w&9&#FYMdJyx$]훏 0&) @*!=ib0NրW[熆ב4WteW`.* Jr^Q?Ԯn#.`WfDf c~O}gNx &#Sjbb>[FlG#7yt \T*c4ȯ!)|N4Tٌ?:e,k3,%@'ţE,TK':L;wQ n XYϐ @EFY%\!Rh7SQȆwe3DNiyF/t)* %2ۅ'ފ)LD[ԓkEQ8n;6!#w0qP480(;FW0Vo'N٣Ny'U~ǥ_*\K%s}ޖH!HƜI24mM}>ҾxuyZS9u&Rk-x1~i @SHfW~QX9Pr|D1nPWViX#|)+D5^C(;{q21?Sl_U#-Qx[ (:"ng; r+2iݶmuS}KQ(oo{o`NJ#i ZҰ4i7ZGLS B 8#vI+ks|Β*>] +1M+t@P+qQ#t]΍{t-Pf tJ_n@A>9C4&SX"sͻq21Y32KUNbH0b{@ȇlARЇ )<5huFڿߍ"8qʟFMlsv_k$# {]#U4a5y8O,@=,APYh"^G =$0S*=TЈK jHוa;υ\tķ-kp>KZkxw}@Q'Bp3K<@|dj.PB퉟 Jh(fQd5 Iq:@ _R@[JBg_H*l7'hޔ]5X IDz^11Tm!%eqZ0NM 8Rv/68A;M+?O>=G7x:X~0u?EƈVدͿ(dƳ& giHqBfCj*ՙ ֕\u`ƄA=Pӑ*+8ҌX`ŊK m'8J-hg0Se&5gY09( ֝z4*JnGDw+#ut rj]â"vpwmLGBD֌Oԙϰivj}0QH-,L0G{[&ᆁ&]S1yCk7umq)_#:`1v{#v!9?{U%@J' ҿĿ̓Á[f>bL]dko=3f맪&H!6|'mmŨjHrzfK[! AGR(8 m'zS<YA-I7vH3u mmbiu_!!ctp78S ƾo4J~࠺Pd ZsOR|Qt^l,d|Bqm{8@jS~1]<8[Rp#qC1@/1n߼м݀V1 #!o:?rX Ӕ(h9٧vܻoN&%,(FL7m"%XK7g^KrZbЂOqVT1lJ%WpؒHaӰb!]}OE?O4Рb/*,(c?фJj7 yOKD_mEf"PG Hf|;Yyr9O2`yt<((CØ]nKEi{M\I@U~W^CZh]ƪ{Q=7B/le5lE( HBmmiHYHfdA98 ibw&hQ%TRݥ|TߓD#Րa86&m7%1"$ގ0嚸1^J7m4xQnݗ瑿\pQ>UFK ey7WCja j}JY'CSf4,ΧނRߣ?Α%)94=SBŎ5>+;{߉tRaR5Y9{]CPexi9ƅ"MU/X$ WPQT 9: He ]PtaOG)î]=[{ 157?Bg.d ]Lv]CneL1٧jp8|D/sW v˰6!;mm/J\yZ(t%M`%Xus_l %߉&W^;$I868gWyЛA y$)M#NL^?h~8Pv8kj9~c \{§KhWiH`CDsl|p-Q3J' &c cQ'##iumDS[pwGNb+g"#SybaQ2(Z0^6BWfd/ 5`{9J\$  ~[ZÛaӮjhw㜜x" vwmwLg+ݷgj<!o5zUlXX\:j< K8J/ \j+%vϫhYYd2 8x2q.>~kDz-NxШZwHJ=yoLopA߯;GۙB2;Β(3:,SZ/.*FJۜ~u(Y>=H*(U=Ԙu^W:|y[&{"d3u #Zjm}oMѭCfR[Lubl&7Fs:V0W6b9]4`ىk파wi5QXhs#6˫{qӶ/`S5u9r#ƒ X0BwېBE y"g^_3FLQ=qR.ϰ2I ^{ݩǘ{s_%g-ꐂqX->T{,I} #ޞuPe8Qh/~E♸M5E \J~q=h>x܈O%?1}o3[+yufO-i6 ;PG|LX{7%mna9Zjì}}"}vl/iNn ޖN6rwD%RP D<sV6%3gmFnNZzJ3{n +R?@vi&DyCR{/bM6?Z#'A³a/; Q΀-J7i'][VIS͘ d`eRY_j)=(K!c5B,A7d.%fi..97v)]E}wJr6wq9T|ɚ/߄x  v" \FYǭ)/t v7w0(jE0lnDTA|"]"&t1TpOJ{j@{}}"~Kq!m8X(51ץ=T~ rr`Iyk5|Qõ4QR:B% _-ȱM{Wa?? gR6sng!a4$O~MIPꛤI10 н/DlJj0pbCr)BP{i[In$upe}o/YngWtj) 7ף$ ӽUI.BDKOj+7,pW 7~išX;=9dt(޹3 _@Gh*zH;9 ۨP|pgR`ŧs8ڜbLڪB&oDS~fj},oa@)d,B0~xT,5Fj p0Vx%l-%y_WluV:cD>K2UST6]5aƍ'Ts͂ޠ "V̫/h,a2@ [B7#Sd(&Z~iqh](ʍqI系<%ݼ;(ƠZ\6"7`/Sю X5byw:}a2: WCBXwSnAE"pl OS1Hļ:J/D=βգ4:r+iƥl/\]V75Ø9UȯбSc&ZSIE^K*S9BK"MU$g? Xr֜ TO|V 9ډ@̙%;Cqۭ4hx?Ӹ|%f1'ڄZPL{{P8 QҜh69Y%v'Vx֨' oSlNT6VMPȽGt&X$S];!aCZyu/_bٜ9!roj $zZO TS\2㪏;*l tvɹ]GW_XYڞu2 ~#+ۮ0&J6u$kXYVf37gڃ(kKs9 ]' '%c½,t\xOdnJ1=G 'S3&ٽl M!)6-" |џ#9+o#ӥ&jͤC!AKL`Hd7Hٍ=C5bMEt*_i1*b$4E8s7:!7M[X9O$qXhf?(RC0pCI'zx7wyeS,˗xZĿ<ҜkrJ' TзreWӁW{Pdu*f s|aC-Y!+8jy>+B1;>S_?rȌibwLuA<_CGA{4kI~ɭyvexaY][+,xصu@RwQSk~oL0v1@Ƨ8*hD SOOKa[Մ$Y!L^:P\{HJ}80ˑүZ#O6fl+?yEy+!0k2I Gܗt a"<νm*FuMhX3 DEw|9)o\IY!PP?9ʤ'`g|bxO|3^!({˽/>O o=9г">6fۙy{[}xRHZz0vG%,J >\Msz2޺N=2 yѥՌ>n<>E\-x(3WpPܢ岲[- fRj]C!~q. NpGA ;zYpdsOrl )I a= T۵x2cl'{qyZdzOA H!1͒=th? m8ѩb 31KL4CjGSH#*I$zu6饂^Cp'+uZAbi4>Xɪז`I]X2U?T+,*3iF4Nܢ3aI1#P`3^r5=^|/ 8۠~^.K4tIPmc"xxLUO ~SRⱡΐ9HdR<;:_;e'SP˝/[2'Rr.^҇dT1*6hW`| s%#40yF$=th[Bq+$FT:be6ReNEJ&4JjM\.mPOk~5] Aix&Z'Ҵb=i=W:8WĝP_/ⓀnԼhZK .ϜMמ棄6)I @9fqhSjq" IfJQX%lHp~@*?7&ULxڌSH&!Si? rWޅIH׉'ݝmR"yrT s %_Wjʗ^D`:iiZoK{)6ݗUH1б wwZdkE67ilf|Rze %NnQ~t QW(5 .Frئy)\ZCےg9ŔD6cY(eg,ثݍ&ּeA;ÒgBJ x=$$sTj'@1<ԢW.g҂=:QhifrL[ k7%.Ek2h]~P*JHt)=tֲ{Kkk箑Y}lnSHr)ٖ@7M1awn^ 4^aPLX*xh=)jCc"e+4}or=t*v>=-7L˯pˆMo[[!]vh2cWP!<|k3К;#Ŏ׳蒰w *3=kdtߟ8Z(Rfö e-Ӽ-Λ D+X |~g9HV Z2G *B wʮ T]S<碇\ >25~Q+ѭ玔h ,,zt+A 2_ G{ hpAY֛L!j؀'$v=1_IhC5^.o^m֦_TCh_$q50\vp)E7)d~jkrf.9΅B37i6¤`q6\ q-,L+ 3+ˋA.KyN(/˼@7䒤/8m`U, y*!d Fi\L3¨Pu=n5D =K ag͕cz4pjZ]")lU1 I,\|Q92w+썣5bGwe⥔@zt;۟((4dڛpP"c.ӕO_hL$-[5ӚUQb j(2ŵF:| 32wx|BCo 'Eۛg:u+FJu 1CAԃĝ EHgicJx U̽ M/]&0#gp%Q#7Yo[S bstO.C-@i124 JV "Uk@A&.؏8ZMV3>KC/QShm [pe>o(EJ2R0G8Va k߁zoB߫>9uZ݄&bM |jBF (xBd=ǀR(܄®b3n]m'Ѡf($&B;~#9#!~Rh'J0ATD# I{aVM^l; \7<ZP0t$ĩj 3,! ҇a)lT!#T君͂a߫}7 \1rEc epVp<M+1/8,Kgy,e J{JH8.ZseftYUx=Lfm<3Tо~5ZT%@3z`"';jx.`)r:[žZuȾaz'G*-*i.y]C7oGQ1pP|yv<@&}$#cJ-Y?Z)2fO_,_@-&I\r7rc=ڸb&rkTřDW$*.luGvE8<-.{P\^MTYT'u` t/#ٱkYiEWnLb<8-ŷ J'WYӻd(i(*s*cxP945~ۄi:@CCظgbh,Q .SO Rc [WLZ7=w> g,Tw݅i}SHǤ &OD ԙnH=#=Md`kඔ@\ʷ܆B Gr-Ju@k-Y{Zd ᙫhj8T7q3hJ>ȜoBC+{ Ri`[•t:|anX%=AϮF`E~)>?1d9ԙdCpXۂDmi6X4M >GSs_ ^]SIX#SXx.ih,'N̗MV aB'e3Z}gj0pyW:y㬵z %9c@"K&vv'NuH^<Byhޓ ܏]1R]dRZ4,3ŋE) yE,CPJ=s<_ԝ $h>ERHj\~??,Qg t(I,HH Ƒ:'CHҀLְ} H)U)`p83er٤?mk_Е!v~]LP#6˓kF+-`ǺaC*K0 5&;'zG|ʠ+7GJDUNr}頻c/> uI(< "}JjLCGKS ):t:PCpO$0Xn0#jIv i&Gw_ۉ X=V'['C}B 4j#I[QG2ﲙ9duR5D(ݻ1ZŕH0]v1BF+cQ+-Xv]:6`v=Aʐ2 jmH!vPVݕ'/Pk礼`2OO5*G%A"1ޑ]-?۲O6!]-',m?5hI4s~~ \J=f$5S@"S1N}qӞ9A<`YS M G{5Ze%3G K({yS UA,[8Xhi)B3 ͱJn.N{ݧkGb*eyi]={TSF%MK:F1y۟7!N@9Cz\csBP.@wP;]PJ)2{L?5%';4GTQLqW>&UvS`sI/)WyD]4@VQp6:^5?`*[IK0|B = n!T㐼JheT ;d]_'^)ɊP:qi&4|/UF-iF wruʇ>g[JsuƉwՌPRXIR:oR/bZ&!2@hw3}nF`ٜs?FZKTQ =xK/cLvC/}fꝴة@l4[Fu6gAGޖ*F Ip&'S(љV+2}%)Xm 28Y )2*\Lp4cmd-΍ŗX J>ipۦ>JbJo@8{ Y7Ny;-L)LEQ|hyIP"i#.Q;W)s?/H&aL?@+#OIʄMb)@^"\#с]RYiS շ\$/GJR&px&|͛ŨHv!k7TCʶΛj8Y sRT>i6o)\('4ŝvYr94˙7L.Wk$zK5Sv}1/߫J? 'lhqV<6x[.{KтPgsbܡ c ێWӒؤ"}٥s:hNݝc?"%|c+:ABZ&`86@f7A ~ ;o,ΞcN$dQĽ"On/D2A9kj@j8ń,F3 (v臌%muG נK*W¸ ܵLV˾G0k|2اiHt2NFH )7bvR>SP|㭔 1_ݴP0-(P̡*xx='?-Gٯ"GQ\bcMs?܋P8E,%N>̱@֔Ƨ?WL J$2J 7?0D+ )fi/O\BH~CX][~? b+ ⵰Q{̏~kȿDGh }lWO/LyvXc=U is$^ƽ2OiARl2h_;OP&߲5̈́ktXL99nweGXQ|{BȚ{܊$`r踔0WKE=}L\]5V2Rd=#h`]6NH{KM=/ l'UP,L.pO~qƩOGu0Rg:{)c\Py]:PV˾ND{aiJ-j;ؖ=\(G%B#ey"LHKdp (7T`k=CbnJJ#\)wS9i*D /[XE{fR4tl1h4_Ӳvlɘq.}RNXGE{R-:./ (( J1mtϯHv }ӂakfN{ 1XI`E?ڔ^Td<= wsƯ.x"B0$r `Z^'v(u Ņ ^yj\=FYm6_递`? B/i[f7^_zms{wCL`#$"N}]A0gEIG:Cq/v/t/B Zy\Tb `Ե-X*D9oz&Phk5UE XWKNE{DDm`.T ^M]uw38lGscaBV^?tW'Kh`7`wt C{`<,1&"Ia%¶ ;Ye]/4SUxLֿܼ:h( ߟZj_cb#DCb@(W_/4Mn{{;cHnKj- ; \qIbD Jw4Hs!S8п d7yk_U/H ynS##MfSP"d^OzEUi鯻zwiź{X;h/Gx$G \0'SR;,ux`z bbE/.z<SȒqu ;H3kRt_;E`1~QrϦT@m%!} ] ^S^*7R +]9R6jǀ%sH"lkپouS3huy /%goI:(7luSwGŭ f!O+ Mzxe3‹} ެX/NѨWng P,/ݟ9^:  Lȟ6WD??JNin1ńIXoOy&]d[Jq9VZ~ȖrEٙdR/lsWvs_Py4-aDME.Œz K.SlQV4$[( t;Q֌O=U}*FX; l5Ny;R>֑ t?k3EY2NxOx2y}q_gI_0y&/4ɉTy1Ps-z-ؿnrj,+Z˃N֮hzE+RtD‹2" 0ój%qxv*+nٲv/ڌNw龔rv?thUU%a: vO|3y[GlxL`䈟~^lA=ms2a3~|Fd:-JvfLT)#^(t:F& t". @>mTT\щɒpi6<(cvVe@B[&G%i)'>+ޯx nK[Z2_ NK5ӭ8qU1dPR<kp9 SH̨j.7 ŽT'-~ {69C#5 ̶:':@y'{@I8a s7)%}T@a1o9.~} +995+=4~Cz_hoZA)S'_&M_\}@οLIspӪ߷<лvM&j[aujϐp{ьU+Hi=fk9Ek_.jv8/*byX=ZQZ1nMJ2LL4'"lL>g7Ԩ(F?M *1D7f jP4ONoLu*[{]4 u6sE pxxaU’@~3kgOR?>~u F,x۔-mFI VkOYB'VBP v% ! Y!ڔ^̹ +\(J`7`Ng&s:&1e,Drd@$ I!~# y`A{?I_չ7,$#趞7pC|C䐩lWíKx*̋c[tjuXzG}$kWWΙhmh6a;uѰ0\sF R &^ N)vs Sb^Be񔖿eOm.W'%K/ʃlRKh}2ϘtX<_i:zb\\6[2ak%_ h놖gCsx_b.b-ﹾn8e8r\w{}Xc)6v<4X(Ot,Y,$ooa}p$f)dxXHF&Fi܀TE]>N6P&փAVl"P/Ӎ c 4npĺ{\\r0&}leØx^@ϔN*CN/t6~dkY"5ih]9in혼58PWȗpvWlPڂ fnBN&ȦYX'xJ"$<VIzG9ol!ʱnZʻޕ5įx~&&u&My* !z:x9'R,BDPjN)Ԟ%Z%[3ųGfh>@Hr5hM\z!yL.2m5V[QwvF I&׬azw{t;qV|mOU2ġgS$p"Ru95e_=,") aU3V)Ī\ ZC,:?ᓐW#%8L:jmYRyhIOrgŸܰyEs>LQnK ^\j?M=-7F"KA4L! b8F掱o{tY]*ʌ"9nI6._MO@+c{Fy.qAM<`LEy1Bts`Q!fhlIfg&popBx[VVN /=*_]cݕ9ݜ/kN>T1 An:ے荙$ \ge<ygܷx(=FWN= V= KnBryBSV(xuOYRj0;8y+eژƶ_StZ8i tv(&#Dn"\ljRS;*$<0rnKޡ\pw 2b1;p=řsUҴ׉0z5f9 뛯֡xaY: "ごFhn!_26Up|T!( ` )Y%')(>0wfya(VWN=+ܨƜ:qS'xějUrX׹n:D~2o2u^%8L TYžF$@UVvm[ Ds9ЬgOZ;Śy-<54̓DV ӞFu+ʢ--Qυ`%gn2ҞH,h)/-(~⿎4KcڼiMi buP"oAffvc.y4EeL0L{ %nv҃U2Oxl֤ 䧄9<l:[!/W剘NuqhR fD^RjCr >fxBoz6dVlYrw_hR$%GdaLW6ʣϭ|=[M֝eÄha绋WFLnl(H~h+p:nWGU-kYrޠt^?~?Ttwd,S-lT(kN$yp"@ۘp>eCAWSQ+G&{_)g7H::=YGB EOw~߷3M13 ]f_kUʭJDmJjɄ-2'cH\g2:leqPpxp9 ~gR0j v] O}FGӤ>"i E1b fVM3#y ^^29iijS.칶T4Ex E@hZLQ,-$eI ׸=&|:~v6fA `z!I6 Q%6 HLg0qDmM[4HB +pR]* c޽&Hk @7;{-IX"N,ƾ2ͻ3 ش@uu<pEs$5'qߍ;v KqJ6tYwi[PNX>p>^TbBUF֠Sa{+%`ƈKf'sI%uU5q،X*;A{8^3Y~~_ВKN['S^M,Q"0d(H5o|ⰗL΁@S#~k1{6M>@9MtʹJɋ< oWٺPF/M)HeyY2Ob:Y.) FO&Π^NLQ"rgǑ'zɺjbzn6`t]Y-JlS N-WNFK~K3v4I|%+LYNg= ݬt1>rs_GcXTmY SiKU2~$|K6+O}ak, {f($$,.VgTHZ_Aπa2Ms?3 gLԭ$r)VS7ai|/d)INX~~[x&uHtTj,b1Gw_#]r=P9;,B{rD Vx" !GZV'bst0' ԡٖ5Id z a,KZ` 1/Ǭ$3'h GdRDw9SY5.Lv6tVPs%V%V2d.c6M΃'50PD6oB۲".ԓ*igZd@x(`=Y6~gR-D_7~M9*o\pE0np+\*\mcEQЯp=::~nQ{.b"ސ/72qv_@w- )3E=) [ U-ŒΩGKu!6aJ`v2^>8t)>zKZR`ҩRL8/xz& 44,-o hTy"A6={6 ?rs"o UC䑒G5o0U9!ll1RkyW>t~LP̒J]_2lǯ(Mh.Kz[j*ޅlGj?zHG7w{jq3u&^*C6֗e؏(o Opf~SUMOk.kaJv k.TA`j*O+aQl'|&%|}Zy9-tKo=|egBNE,2cer<2=9j: ӓpIx$(otj.<kb*U5'KٓEv^6*e6{ *k,dbC} .fm-&iPG)>OݺJl}ph2hwӉ$kE[[["-x;ܶg`5/ Njy!AȇyF_btapb$&|C>|ʪ\pzT=FNv RA͸jH%1.( #*J@o {5ū~R !/)~[Sg2?t7#kB1)uRK%;i@zY,(~^¡,#cG?]˝/vJH\vR;[1vg0 s3m.y~̉ P3'?l"KCܔh/""jƗ4_X V^XqLʘ`3西,+-fIvzREϙ6IT0.XVziUA64sh#W|n/Fj,j~4혌RB-`N "E7+C*Df첇b$! -k> t|qR"3[dp/ A9xI2NAn&Y.u0MQ4^L=^[+cf Ё*)C?*T.:4qHbEt2ô~vV:YGa!4ӚH_nR=g4 ""Ѿ>-KRkMqC'bq6cWb% )+4TR(jw2Ttl u#Y\X"o^9osV@3YӪv`;:'uQ j.zR4WVVO8oβrBx'";S[bD}K t;bn x8U),%X>5uڷ‹jܭlB G&}:='N ^e͐ _aP+q M'ꮭ,yN z.NһO`1ih[Z@Hcs5'vϰ,`}e-rzzݏLr:qH[SKGzC;#,͌Ny3oUU[v|"BT-K˶ 4x*sfGX3[+TƯW͝>أ4za1_&/v~ "!#pW8˰ROPlN2p#]QHi3pS ф~Joi $7*q4KWB~㢪ۦQBܛCFSX;P:T!Lӥ*X$a@7j2HQf)%X3Ax-_)5jDU4WzZa~&m9v;Ft?r`j8*>K6u A!&gq䚈覃Q򿼳Fz!|6=4@ H<&m"+x -Cb7QN4q_0zl+ L"k4^zP A񠼼GC?y4dfɟ grURfnp1diUꩋ :!b.UT^!˗U'V|Q(啻] &8ka`yr |7L k\HIx09PeGshBYܫb/3&Qnέ: çew,kT̄iI wB0 :ֈ}Ϸ*ޠJx/v ez^_ ڠFT/Cf+cmZΙ;k)#@c /o0\L(,a7G)`JJM۵LyJj}zZ,@~"l}P#0_8ǤÙ2_H ?itwq99EkH M#.:6\#1ĤhT`xAa!b /ޱװ+uBHN#c1ZP]RP_'m|)SćSQA&?})$KaBA{LZ 7V;H Ol }q4yrd"-l@ Q.[ZA[d9_ 53*޺DEzU.pq ~ylcR'ƥq-G`0~;Y<͸M4k#įF A¯lOq''xιO,,ZF Qݨ $?(HZb 9\Ǽك46#Z*.Ċ<+|z.ho1ؒd`v=˓{LM{J'rZfu7i"B su1TUyE݈O2Ju$Yq_{qiDjի'P!X.Č0k-<0^B:be~S5+Ry>>s`__ Eyar ʉ$'!vdm=+E)(au(%~b SE;}pg^ۘPU`3UB;70/1Kʧz !ۧ6ql(zU%| ,+>v TN5:.Y-.B%`ž3D5J[8PVN!]oWG.i 2 wWP!OnA\L W sX\tш{Px O ?Sejhcp3, qWU)$jbdw(K<]q| ry:8G9\U!j俴IPaRƠihܣyUmKP12 ;tBӗ^%Kϥ$*ӊzpZQP]7CyhMPO dE[p2$9c;31;-;)E5_h! )EޢYI0iRnyUfXOafezG8Y^kfIi`ӃZF9o]\vF\L][@ɅUYE9T#{_uֿH2*/BWGΌ ysxEESZ}es@FQ7gh֢_};u6x;vbϻ44xbCN$ڝ,g{lIX##!;>KNJ3!#MReY4VXarb{ οUlg^rOPSX'J5=!P*a!n֦#0Ԓ ,q d6NNTk=-B}XKп۫?;TB( ZeqgD5>xlr|L\ݎ2u흱+v "!)n`fI}cOΏ!ɚ6waAs!SHK]~O>+u7Un!Iuc) [2h.0hDZ t[; v*7hc Ocv4o^#sڬDD|µNmon}#/2<*_Ec$Nϛ55^%U+j"Z8.ig/^dP\^W ,PC% ?nP;vR_Z J.ߚT|㣰Q(?wMX}e%3(C#jͯFA캴Uъ-TQw}w#032,[|\x3>7oԞ*\5,VH^M'/TDo;>ئ?! Pi+zE{ߒ+Mqdʘ `t욏}gִ`Nb%.n ˜w7>uB7.tNPyVJ-< ICL݆^}wd8[D9!eu?LB$39V>ѓ]05h7W4Ah'hM^2p0Hg<6@,XiD@0r*[`<\Qlms` _ن) &}o*?_̱g"@',|5zU?/AB&5D#e 1ΰ6)ĨNgKd#x⪝U33@(CwXm]u!jCSPc6i(sT U;$u2'4mNFp@I7sAKgF^+R>X y<;nPcүe $9Y #m~2{$<΃%'\;km{IA%Bk_J7 fʍQ(ғʹ/寧jϊ]xӄX^ݙbvdL8QnyX3 mb L![~/&|a*bcEESlj2S-HpC16暑BNVM_$aTtrᬦڐ&46n(ҭ׳3p ٬֝/KB'WYxm)[ca.Y&o!o@Rʡ<#;*0ǖ\QII `S?'BgXǸrZueQJ`0sbbe3ٹg|܈1Ӷd.i_4ۭ˃^l k@.ݕeUOd쁬x7 5ϥέՠjf+idGHqwʳlbfqRx4$W:noC܏jJ]SxuAWUCМW}e78iP&L9 zjsZXqru]"Ix1'/޻v8LF1AkopK&=0ׅw6,Y&VF+HT!5*gtw?xiO:!%bk xNJ2h/tc̙8`eaQ b|RbgTXRD-n IxVW|Vɚ* g'k>H6~Jn:=q[vvtS<]z>}8:6v;-` ޔv%oɟ ~w0zp[\sՃ@1Z%4@bEr9|kt!(lbESaa5f@B8<<%Wv?vn1隑h>bMpz* .@WUva3\/t&>wi^/F &l o`rԒ',G|',*c6ʥepxqEo붱EߛZ' *j}|+?mU_z skG(Ur9H n%/ 1<{h)LQ1`&gȮUYxYԆ2cn O^4x G^RY5G=C=@;{μEZ Jytrٖ-m]/OrH,D \jlGMkZ e }uLm( ХH_K-;srR{x%wspXB G4Li*ݣr"DqY@S8/]x!n(y ג!>vdqhϘQN{9O\|*@QbNOQ L?fѦW K,C:]L_J [[<VLo=JL jhuي|q3Ar羕WT14qhS_SJ'w/4v9Hg";=C+mKR^A̰K_ޛvs KFnBCxJM8p[C .tcػ ok j0)ĚIGO 9qu0وk |؁mRN5፨ջF$ .2jV2Nxspz)k0Ů qZ={ nq_YOpIj2 yV :VC$bѡlR$,fLIMSj>1gz_8߷l 2%Q6s2bDSfJvi) Pe:讄.6|"ptYp]|]i[.!N`pZ%#t\TWN~. ١O92sT%oo^|;ᓂX^ xؒ݀S!1bnؗvj-h Q# Kḽ}خzh-8/9 wT|XB"ϼqS9}ј?:Nx&bIbs+kbNNy}W醤 #naa<~7oA6g\Ty?ñA/#f#>RTACe^oTW8^}6P0@#f4Aw_犋F6_ee(~wƗ2SZԖ$yZF̬ hzey6LsC$VpsDX1VG*_Q/ArjϘR X)B݄Xq:2MghaeώZX8x:Dp!DTmGK[g 6?fPسå:0ZՒ]N xK} ⦒喗s en"2D :|nt/bOcYGzE.f.ō؈o@#8- x1 ? LzGl*OЭlq.Svf8F``ov *S=B 1&Kw&Xg1!d眻?e1FO0ftG-0 ?-r Mz!Q`cOQBXbx$y [Om씭jP-8 NG 뭮LY kITUmULB.\qjیUCnp bbM`j~xw:t 4%s[=[Up9Ŭ5ݪTրV{>mJt:\L"!%5GEz^dO)CRI~7lH:30x XCI'>k<ԅE'4{D-Ǿ*Vq-*{90*}M[7+Kb0@m1:_=NvW4dWLuO-`P|YHL--ӤAA'8qyXRm lMXt4ͥ7@4gs5$::tCBSAasIl]ƆdPZS%xDW*-0nK;w?%%#%O nnTc(svlB6ʇ)TSǖ~Og+׌*=#+f"N }D+MSrڹ)n4+-q^]5{?F#%sY(y*"cW!V,XE{\̗] \28,"b~>@`|7K" GVZʤj,0.أQ-MK28j*l7j VmSmhaY1,/!pҼZL qOI` aR7;H6@j{x^rJ l?_橒_7ˣT[B-қz7vy/&#V-ݴQW7 i,(#Voݠ 9PŨ~JM~( 9Ģu,>dXOy_Ʈ\vkifH s2H`ù1m >v{V'Nf?Bق,ZE|k?Mk'{ ${A}_6&x;Em [-S1]/ 0}6`cb-nMSihm%0^$͋Aqʎ&;h?]VǍ,$7+a/ 1mS М]@W0JĖ ēlm#,Ŀ\- N">.յ|_f=̮zҒz\'ل,yhm*&Gȩ.Z OW^kXpqy̅"]L'.@xVE3\'썉^txqUXAoN;<$'&@WSGԳj^P|WhZ^` Rs5MׁG 3 ETV,-iCeJ2 Z?jgPXɔ7&i-/BϤ9YEjGUABVyu5zqo\_|傂-:^$RWH"2]ʊ|‡Lj&H=^YH7,M^"6ڼի7)&w?b' x NnP{Is=+7ڧ^+8 :G%bm$`a7Wv ηAqTd95z@ M,k"Ioq0k' LN>G|tL/$s%{^ۄB >U27rfl=!~Kc0ap-.Dh\wC3X=th$kن}MjN+$dz|La=C44f|t#=fTIe2=UD;51Wxb}㌺Z^F!>cza-k=y5hstD`+ YՂ¨&.3]G j&DyO\„L?-x'T%6D>r :iA Kއ~ߌfRW<4|WQOߗq|v5ZPAt\8~1r9Ꚑ^ܪ>U݄*cB rP0fy8]&!UA$oBRTDĚz9ymƞd \%ߓ7ƴ5Zxj%M#~v2#%k"9!'>f6V,n, 0ù`;i.ߕ!o3;53f]}}yFg7;{w ͇*oB.)Ĩ!@_CL>>WP*ZrSyY L* {Z7Ӽt)m[MɳƱ}9&OS9;^<9e{]/Xߔ00wsɣعVW(s\LB;WQoEbb[>iff2Hw 6EH/=bH ۇ_3)I\8)[>ؔyҊv" RMŪi_&,- evϙSs{[{B i|O "d[>TG[ B +TAQ)QH) ӣ\VKi7]ְGwi(+77D2jHY=cGP+Zyyސ/ҭ2c},\>իX gK4ʨ1SҢ†[^ܽI-{_ڱ)[fbAe,vyPn9&;xQ zb-VtΠȍrwc3eG;.#<8B*FrN:8K;n{*">hG\}kLɬ V܄?=o(CkeFfX`CzX&Kqyeͥ'J'Qkc]o6-*&NsL$(s]CV'#=ϡxIqAuC9SyiW9_2C<UB/|o?m7eB @)*9hƾ?CtBkqyv菮RA߮D(&2ɟ)z>3Ghr~۸PsPN 0tQB|ٛܓ~s哴.r\_5P;uQbT-cN$}p~:ܑB$_95i߀[r Fj2gfu,` d$J0hH; q)NןM2Iô1XajdZVDs FvL<QF%pN|M 3+agS80=9]\Ѣx6b%`ɥ_|,q0eh9ݜ! 7.9kTmFYP]yScT%[,WjZi9 3 =d" fL5 =>ZrvCN~{AYЋށKފ҃1Bk~øxzvU=g_fcGs95z:}9,-k>A³{_#Z]E'3u T#c65ހzSu~f YOE0{|ܜaĨ`N`IT2 {ct`4Dc ~8; [`ZyLͧ *cq+,pY߸dvտ>.1;RNO?|W<_C7V5r >Fn`:&;wj0( H8ykAdL׽)+;SТs'NYÓRm2A#/F#w@<.d"DX+hJ՘@Kpؙ F\_ ȢI#Yud]Xl猲2X)Z |^|GCV;ifE(s.ژ.>b7*/ot$>$lV΍7dj膇$0dT]q%L1zD7M)7NcՑ慻LSrQf [rW6 Wȅo KݴZ)k,}kld >pk!V1ˑU٪;py6ѡ_i -u w vKz-+X-̐w] (u-@@/i3e'T1hD=Q@J&d0M(@w&mEC=ԂoxS#GIz.1e^+ w:ʴ)CϦ&v_ *"jž[tbWDxۮ~q*6^ r^֍TR1,ʃw0"_@Gi9NYd%3CXA?Lև*%x<6:/hM=2dsen'<5RmRT rMl7;`~2yE bK}ZU`Uh>b,覄hh` 6^[aHc$/oz$AZhFahi"ȷ"_|Bybe5F\{Y[P{0zjhiS&5(ǑVAF7N/5,ϏxIS9J WGa\ TB̳(81[Ŝxw?$qDh!Ot9'ȧï.`|6^cR]WT4 e{+e[&gш d(ov8*]z",,X 58TgR6x6'3*T3> ED,$?iHU.Z`߹Q %A婲W>0SW&1xjmrzfFZ&yֽ)EX7qo1 }{nLI_jrwJޝ\@׾CJZZИpx9ChV#AneюAy ՟g`s$BfA '(,O_Z[P1ʛUM/ wyo6% E|˒a>xbtX"ސU 2^p( M̕fiS N>c:=+82Z}{4fi',g}[=\C.H;O}<4Ӝ 䩬"k1N*-,|E+++@=.cBp]4wtk(oEڌHjeE۵2uUqZ&R.2cŧor׵luLG(m6Jt!:CӺeQ-g`u-Mկ 'J>/wHH3 ~ (8ۊOf$7t?q,r'pqN$E4i\pԟ ]*ՅYEhOM|jQWVi$n8tLNŞ|A/a$ZtI«%3?Y3;bҽǵ& %zhi ZQD݅.:YQ)gZǪH+9-4$xϻKp'ΐ(12i ٦'OX,SBX,{!nԠm.1T2rLF;.\oG/p`Oܟ"sey 5@hMd Ii~*AAalm_U+0J{qR^V?Qxy37V<2ݛD7 ͹an#IA,5GN!r6vF;{>7e/LN[r]næޖea jĘ NN!ZtFХ/;D}@V44Q쫉SgC&JgrvAܿʕq46H{1b`IG~ۀ!,-3Jϫ*/C]|YXKϯL[ĬôB3+ ZR?xRT3O0V+l<ONZى&3_洂~&6> 5C1Aq|}i)N+L75@N-R[Q`nP>X3<-̚;yHTKAv"1(N_S_,-8ߦAZbᘰFr_VP\&Gqq`fQPTڔ+qr=pM0 #w6;6zç ރ  ZD EPԐhAIh`[2HwGPGmiA:&م9y""F5䍾˔/`oh < ;o=4PcED_Ɠ|kORct̞@lHJΙi3%qZ!u!!XyFǩn.iE-S`&ὩRB/)>ONRt wΧqU78%Qb9a%eB9uDHPx2ͅVLߒwrw%xDOK5+|OpQ;8f~鮊\xTSz/LÚ +xD* -{cOٻ ߼ N0`r,2@U;0"4|psr (R!+P/q0|]4lBv#D@,!d>RJk5'Q(t{6e e؍C5$d2/b/;2 ](oA=Y+ofަ6r<$,)0 mCqS0) RE*ՃK șRqH 5ZS)CV"LL=݄XCwihzQNţK'7DUn="mTj"PMbSɝ@ZXSٱV.f5##&"Loe.} .pɧWi9XxbVj9KܯBFjwpIqZD특~45 ɐU~D/צDzd^>?C|?AeٵٚYG28l.Wxl[6m c:gA/*pA;fEc½W0wȵIEQxW8x]T b𷇿[j-r4|X-H̿>wL=w 5!#;d/C/.Ft02 ZUi[`=^H-MHWֽ%_:PSi.ˆxo|DI, c%Ռ1TugYlixwK3B@In @`>+09<vT|Hgr&'~[- g Wg[cVcL1. Cn4~*0،B.D]3qQUXj(ӜȂz]Jȸh6U;g*y#wjl"4Zh8<䱠\W[ /XHG=\۪dNdDє*44clU3)=m`B2 񉷡|#W^1?Кh`dEY]VG ozi/,.)JoN! 0.iH8_y@Hǘz׈ܥ]  cО6ʅH S[Y/ Kr~KX{TQ * "|TIDQ'+"7`Q ݱnxX*5+ݦ۽aؕ.?X_(gWIcqұPÈTnlc|V:_MS$5q铂2ztJ_} R6SND_= c-<ʊ;3J=^ 합RT!@զ gzæ2sh*[>k/L5yTbep?P} gU̮Un?reӜ Wvb븸LYfe*BV 0ᖝ@*iY ï Y*Zz|:6Uba24ڍ~\ՉMjiA/ /Hw~xIr{Ұ |DbA8Itvc5uHz>AN~+ʦt_NϓwtڛrIh [}@tB&{pZPo=OY`, |6ǧ"8oBYٶaw GKI;;]K:kӤ(|nZ7sC4&A2ÂM vWKzG%ء^7eTRӦaIQH6| {nwE!iP1`N{\t no4ɄЉQKCB4L ݌>BƉ@uAB92Eؿ$-ooTJKo3WڼZB bh.rZՑ,܇7gM? pTNJB_1jog~%OPdVQ؇8D B[ߎ/p|K[d:O.Hr|Gޗwzi1?tQf>b[amsm{n#>FUgIrN/9zRIԧlZG EspDBd6@Rd.~8է_f=ߴ>R\Ĩz'# K vv +އ+;zW m0Eo&bvyzz=DAjB2*ttWBz|jk-U+kvFQO(%Zvvn@ r-ZY@8ӜX"z53}<<ťe$ A]`}k0h\>0zK%ЅvaYt }00$Vk'{ 7"=!;rS#>7YAzlO f "f_R@g=B Qy5*dksbF >|a+)V_#fZL &;3L]r&S<[,C)H T ^/hTFZEO8;PK'îߪMmaVaRNjI'&GM,Sޱ9`f['@meg =Y;Iho-t^f rXT(I~[}GG< Ryjlv[=5\'(-Q&b\ @K s~ͥNb1=.ai0CE!PVKuۨ>Q)5A69JJ[7>cHO3"N9_|ReԘzMz6x*3f_bJ4+:٘ Q%K@r, dlHōn7lGV- R^09ȭn.WsVT0,j蜓<7[\f.F,?ₑdZ)Oj7a[z84@ܸ0o2 ̥P.{@Y)iqe31mp3=T t oU)1U~|zkv;[Nup^)hV9'kg?̠kyuɅ'KWpR R2Ӛjw*Bvg%b۟#,jgg֖`;u\՞jj^H-,@x+5ӳbM<]K=v3BBܮƺ`gkeX/1tڰ׈:v~=uABt**^ZU6E쨻8~vƤyzYԍkj6Snw:GIf( oӬMBێTWtHh'A:pCM­L$`w(CUހ̪ȓhRvy?lxER¸-pb1e {7 kot[f) fO!_qZV'%c [n~H\6n4 - qJ5O2L- )DŽgsW֘~ MH*u K~~P s!?!Y*pĺȩ4pTdZZZ |v?+ғ.QfTaBTp$P@@ثhew3C-av)>HƦQ`/u$xR[L[ظIXi1'odbK4_DBJG3f찞^6S U.jF٦M;IJt@;}Bȃ&llLD'+AV!tf]n=ȃͅJc(K+@TL(HWK#Iojcy.1zj85fli3(F">ُTvJ᳆8Z'9tmɢd2`92ٞD93یaj [ #umCr?R∋n=8`*|4,*WB{k2TQ:o4q _r{IIiN8@7\Bŧ%OF\@Vw|ˠ繐Y4X]stۃ1|Yω&&i!4+y>F%b5ţ4vPIoI߂*.{𠤊ԋ uPkr_@'p%lQTIhfi1Dz~7kВy}MG~|w.?M@8t9(S$9#[)n k2>S;sV]c'˗2򏿫}Dӹ9Z f΍SoEȯ\1L(+hmo`sN.FDY̐3DA+'3d@]{ ִL+Ok#trϯCDm$M8 ö:(зa* Id-߇ґy %u| Lhm&zBLf1D984CD{WP˵ V7߾R",k~}]ŐPݚ mH:6TW]$a15:F%3_A0/}8˵ӻYC|SbUע1gh(vjO!S<&$ڌm$U05`#H`됇,Ű[{e -S`Ax>z[fDsOĩ;Ib8aP}1#5hxE%tq0ݱg|+Ey: *ԉQfp5 XTg'~(GVzH 7pc}%xļXk(=O?Bpt}#(N9,J 6D/(aUG{W閬3V%skeiZk_a+竖Y!y\|::.߹;te:ۗy })K(@[]'+:a$ZI)vRD0l$w{kC *H-|\YT _Vzg y}86CGn,ƨx)t٤QЈmm!qX!$Yn`#`'AE FO7jEO@/KZo,-@2[ȧ8,#iٖP&1Kb)d-Q`ƥnM$0eql>B-* #c@O+"ZMYS 2^[Y7r@\ {M~he.?zMtpu\HV IॢI_8 ދXZhMDⶐFݞFOpltϤ^3&D%w(9lqy+#2h.r) A'_=H*l_qx)w|r(Ω#*=c^ ?/'.ȃ@%5`Ad=?+Z:@cJy_)>$y11#P)[|AT/z({y'Xc^~N81ڞt3|h7u")˳$ʌH[dڈO../@ M7Ѓx _# wZ:t;p:6Kܚb1k~I;2.bFґ4 I2wٕ+8o$Qer':skj(6\B}QFAAc4]ߐ J̇1][nZ՗/y2x]5i6dZQpD_in6O ;ѧ-~we4da/G7Zd,#egoW=|J%$N=.+~!:g1” əfcCy}!)Fw3qʆa V80$RQ20ۻ`f'`4c>@VY9Ԁ4^1L((4eWXgbŎӁ)'2{bsF7o2؋~t>k'¯.-IqU_H D;Nûfg ӻ\YƾҪ:YadCo*s]WXjRb]& Yݥr*k~㐂 AyZh '|r4AycSEEu9Rvo%U㘦.2֒j,*YޱO uZ.˃I 3e Ts0y'honkeb~lngn?6RfPF6bNX ;{"5ꖚZH"`n׾^[h_~~~bi3 G.U@'q rq2ooHsn~9_ct5F 8W7xS RGpd@mK%|~Y40~_F P) L]F~&hrO);ud䏍zY'UoZйWa$+}JcT[^PDRZ cVFO:QEJֆ"|'epVT %"37ˡR;7`a^JYދ)+cHgIUnquX.FY2>Uh;**LCPswK !xBqe~;<vwyY*"pk = g6nS4ptMRWŜWGR xޮ(hVϷCGITML^'!qH1쿦Z:)!*R9r ΍@/=[\ݾ㴯BN8}˗^AkKΠJtyۉ!h&S؄ ~jᆑ[ҟ||eh}ȕes:6:2*8+~] _+Bxؼp_Gcax՚$<[ӰKv,VPm;ϥ4l3b NM4dgςi'qv@k&LCΧ?֒ 1NKK#xi \r" 'u2JOeI!i3屄 N)jlw!5 X[]K Qy zuY l+MM3.&?DreS4H1g L O~ 4}ת\Rwݠ52MLlLӸzSYqH cdʐASTHuN`׉3wU%n?ie͐K< /=od^T=|IPB>b$듭0;aٕG~! ؄g%oU.  ^fRZfVQGo @bgl a ,[}D4t3j RBJr|'Kj+l+/5aa!؀Ȇ4͙Xˉ NIQjG|&3J녖"%YN:^j,LlSP'J.i=2qVRmX'kq,Im޴W_D6~T>yR .ieܔ%WĊ K>}o!CW1Ygme$9Tv h ߐi)t;@D,HOϸ>sN_-E^52ƅ2C`t K̐\V(|Nƕ[0z!`”ldqojankf8d>F+6!+m>yk\8G*Ib7rwTLQvy,~ަAZ{ȱ8%ρ:Np Ugl;a< pEotI2b YKĸ趧obĦU>J1{8T暈Md^LSaHPI}?,Rz8T|1KZ+`ڄ> Vx|q!c'Uu˕|EhkpE3皂~)0%C ;* @1 E@fǮ=H\89L뢷I7;uy8 ) m7WADq,$_J:Dz߻4 /5T(eP XfFzFD%i|X |Ĉ'lG? -l6{G=8V @en?JX~,{el vi(ru94F{_h9ayL1Z 7:qߐ/p"!,Ijѷ^1x% LE2K1hfҚO`B[rSY҉͚?ّŸPr&؁]elm3ܼE厭ކ5Ugr؃-cVػ2/%vGƅxm}'y=˨VdPN3_x= Z8ht6bٲX !o$f"p qIJ0«뽜.I{Rw1Rj$`e[zE37i 9ف~Nuʨ_텛YW_Mžap4%}o8__FwY=+Dk;IB'1Y~N`C1)!3~Gh҈twx™WVR [{OpMWMD>5|XJWB9Eey)hp3=XFIBk%B_O6w@0́z2E`W0j|\> wɆ1p5,GFWs0]r+V+ީ6Nx+Ǭ EMx-R87&eUqPP _'z>q_o|ndǷa3V! ~xִ*X>u\JFB/6ƯH^'[ A1Eś464;_"Q[2҆ `M$TƱ[&95Wt5HpZRٷ>Z}-a+j5{r6E!j x426_ E˞Oh:h- bB=weJ%_Z~d!a&ؘ zcEXtr(K6'eW,B@`fܱ~s{uxLNʆiyk4=[mz[駄jYfN7+IFObe"+ B+Y\r+ETr ΢~bc.95&sQY&[%k1 TS/GOEdi{k:?n5$٭Y,TW;AI$Pġ~yW I5/:<@]^0P3WWK+ȯ%"\!al!qEusZEm šnirV'>yeN M]2gYP/r]bj2ewCѴQws!Hs_2`s%DsۼN]rr^R19yg׭(~@Bnko|aYW€Z>LdeubR~0{g% S{'zwK%֌F)hto}"1?a^t6пM]xy[8 YhSHDf 质dSWz6p8~1p鼿6Ǯ {5 )5RdS5 r Tꥅc~"E.Ǹp۬l Zw "v V){P-]!;yd@"hS}q;9QW8R<+.b9,\5E/nv>!dK B:MKj1n ?R5Co@1Wx^"q\<ɋŰZGHXYqb`Nk~tÃM8P7X'O$6;qXc0}ɫ׻ b}wXJsA u! rN?9|?xĔ VM8RQm*EMˍj;CSbG4rF5!PK JV?/"$O ȖD`vg9MgD)Ey ҍ01E)**hF!{  Lqa% ,A*7NR.?U! cxOA}Hg F]*ZjbSGp5pQԋJ0oȣr:>}Ad\<1HAlx Zh=|UwqRӂe4jl^K'Ox.ML1g F9xfvs8lc .sw4l|%W#с.D5) &g)uWE6 2(~R3 %.g++$Ú8LG -^3Mv5/|ј4!f-նXG+M=Rn9OoX+]E[}*n^$*ğK${Jw2CJ~Hkbp _v5g,HMһy}it.).\ xbs,U6:7pۄF AjyGꢯ|z^ī͓6lʡMð砮wO{"so f #x//.N=%қ7zmC<*THL@ 鿄Rװ86G*m;trw3nIj 8t qAmL뜇4Kk9ɹۥ'{8.,wdA\mmӘHj?Rs~uTwI Juɤ}f Bes[EJ@S/]mwf>y3Ġ|^VЩ+ K껓4XBIs x;vcJ^ҵ)l[fN~eNf)x}t8=!B,F=1/}E+g O4庆p}:9mbxҒNp {4t<Ǹvۣ,7Y| ARֽwt['ڳ;95jh EYGdT*l w f:@sIQ$5ǚNOu7buUӅ[oNGl?R_M'mNmAKÿ%z~X^6OzU_mu%<08ר\fIփ۬7Һ= [y0CmJЄ,t56^X̘7 }7ș?>C]SX?c*"zU]!@Y^w}+iRܠa<d,>UJZJ9a6iW6Xc|?ybXr~*N+$ƥ\]aZklh6Ɋh ޖ̑A7ި{ck{fvLAMàh CAh肋$D.OWgj]GqYœ1%iwK%?QD-"6Į,+ E+RET+OvԱop=7ڎ q{$["LdZP[~ԓ=E8ԟ:$!ח?:z_qB/ UO6g$sGRpH Hs $Q )AMW3;\bk L*9fe"?`n^h{μ5!t*{WR2ľPh@)ZlwOZm Y}6l[si?*e5Ǵ3>BcNB\~=oS1a)嚹7So!à!c)cȯ.3X 'R$W:H~zs'B2UJG̀,S xlS_{İ^; bytq_Q' cqX82ɟE=n%1% B$I B8]^$\ug0ǤUHP&O%M+H|X\]w _T93e`Xy/;`XĚ(0ɫIJ/v| vGYAg噤Oֲ" fnWX iهMٸZWCؿ[Ok Vm PZ (! cM*1ˡEjsF%T_.L&%3w:叜rMym}zt6\ mlza2 &֒q%_V`{zNݳ(SG0My!YA\T46DzNqy |fu׾kUV̜qǓ_$wG-=xX'Mx{WGASIxrYk8!A"!2WDJ1PtuLQA$eՊ kxq(o\ۉktFEu*|Db6JxfIkH0O Ea% D(]"VvK [ffv⇖n<lz԰KDv,= ޢJhn> LSzsZ黫4lVP1jgiOC;*J lfc1f]׈' W*2n5'ZCh37=~_ȼ?),!}1f;4C`Me$dy.Hd}gzÌ 3nɠR$B21a9 LSmAhn^;[}X)Y9 =XƗ˗G<ѹ,O^(`r0ufd .h6FP[B8 Hۣ3j(B}/b[> <kVR=B&aVR2#?áP#N913i1rA#vP!3M _1ȫū@o먁t8<'z<3mb󓘼)kh{KCi|.O(M} = ! Lcұq&Ȳ^wTtj-@X+*ŎeMD`14 ]rO;TDm [b*m%$èZ~EDo(haRXymczN` !Ċ(.!޾I|(u*wg__o0u 13<3[ȸ F|"QVRLqcmvuGY *mW+z(NJ OBo408\AyjŅH~e"ܨVLA-0=H=`ұc{ s ?ގ(z~,hul=x˯Rh:ձ/fT&(l54 RX7vY ܧmyB(ɖ}|U#U+1w?o&HPuDTn~'~vAEjiODh"JS>Њ(^3ߑW zHXkġtR`__"='R3WGV@u$\%B铴u҆B3̟,oUHvc tsr` Tēmnձ}vceAc&Iy'Xj|(ڳ΢*Tu!Oy"80\&eeqB0S0㿳.M%v]4ڸq]y{0fa7Zv|'L$+3e\B>%p4 } 8c_yÁ#IDr~8U6RA|;`/' _-:p SQ"bgصuN#JK!ݰ<@,.@u#^guuVjO"ʿ_25!#z[ ,X2״ZhVCv (:jӣV#;8{qۦȄ36i卢QB%._ң:7~3rbbCMmp}_+:3J( 䗭q/kp?pm(:2CPxI 7ktnFOirE3cM}i+Q8WBIlށj&@tWŴFw/CI,[8p5EY`ں9?~@kEnWҷ=iJ}9#Y%^LEnARme2&ZRړ֊ sUK:~HF ᙆ5`NB, =0un:|Ѯmwd>ꗚ*wwl- i.G"XOT[LiSb4J LlMch,15 lԥB2ފиE?W7Vɕgiz4IYA7.l-IK&ZSѤj ,7MLE(hѮBBL+ov& y]'%)Yث'H~R2uBO@u^㓣/lڠݾ(x5|"Է [&0 %/N>NVgS:Xo_ۏfȶF kʥRc{ZA~q ՈU)%@ 781hVpMN\LXHG;y%b/)j@0NyLң#,*`>gx ![G5;ͪ2  d.5#TD݊ ̂ape_bc s 9cBt!u1\;T,a3-pDyl<?(YP|#:zApZ(+0ɛR'ܲX 2Ez\<7'31UwCGb "Q;ެq1MPJ]~=u}hJX_D@g潉wʀ96pg {ݿh%VEg՟Bv.e~}WR, '[L{dN=3$py'ÉBⶃQl{ź,9eO .Y6^iwfVІvDkFoXF0 7`ɏĩݱdf'P(fZmX0#XbgלxS9zyi]~UZ W#J<9fH5E(ݰ.PjZ`sRHyֻ F/cjE)<oCrfgI(4>Y\'>}ob nynXDh7AW})ŏsvg?z M*p):B"`|}'#=Ƹ]z*85/TO[s](ױ1,t%yNtyy/u=m% ^;H ^ne w()Sۧ5v_fuoɛ%L%_5=@gQ4 j%vŘPu"tlKUǦcpMyUp%U e]uR>< e:DzeT?w"sĈ{BZƹ1%oOXh(P|ot|B7&>< 覬F;y_D%V@ 4ҋpZ#Uđ?/ቈ.ϫo}>H2{sop@t[Z_!%&~d]:rg1~=5ۍ'`qh{)m"Zk,.6l'v.?1XD&Y9 Ea/<('gdpE~.^h:-$D ΆDJ6 &E7<}m+Qv7bʱ :wobRFzgTU 6D?HZ"',n.G3`v.Zkj܊)u%~37u nH؞nK@gyʉگ'̻uM|̠B* Ro+Wxdzd\ ,~G^Y֭?A3jVjқUލ꨸6sݬ/ [8ba#΂{Ak.͚--~^C{*KpQ}¥G+ʠmA\7Rtځ rNcdꢅxP-tO{u}xpOG"h'X[FS(h(T V "-Z!Sq'sY R_ :W!ݒe^$if4(xzC?t[ GixG O )p =_va UkysazUܣNmfVha)݃A ^g\pGKCFmZu뚱PpnA c̔Hl{.ucJ τ[d9b;ֿHo'pBU\cOL2[ۿ4Y $56x%~hFsG:o)65fnj\̒ہ#Ұ,'hBgZHN{jGOPO"Lt G1f R@j˄~ $ O!`(=xlp 5ɔٞR&X::4#BYxᑌcLN)-<ԢVR/sMU#,9JNu嫓h-H~ܫwz4<8^{EC1+VN/6ufyNo+hyGakJ|=J°xu7`qottƌ֯#3 ,;4O)4€Wh6&@3 T5k/]f7"i ;6t8qD` , @C' t/^6ZjcCgi(vydnPIF> eg'c#C# @{akޫEB7 g~~m]2A~ݓU{a{iˀ^ etJW:3k+FrLU_raTpCΡ^1B 8uW'c} g x/_zDʀvWOv>$RHMo| f8m"ʿK!5C-il ET+4Q|3YOW LhFճtR륬%Ϭe`8){5\Rekrb1j i Kt@Ö%D wlֺS31K}"! * e0;yvK!++SUšv,E%Vz9Mb)qzU;)Ҳ_s-d5x 7 O3I__FtTd4xI\*LeEr !BGa ri]vn]i0~aڙ0ttL!T&<zb ܜ ]) IqTf(q5sZ|̅ D;4ĸa>lsQ6/ГG#9wkvSYgTET}cZvX"/`iq{`~|G[pHϨGo[YO'.>xCqU.텟(\ӴŝɘHjIC?,%jؘו`Յ?5[0\ԵƆDjI/u=-ANM{JwLH!>~ꪋxk+zv*KnaW{G#\aN ۾5Af3  D^ ;cZݢÔ7arur?h7dR ^E0֬ V0zwa p%+SҍW-) 4Q,6YGȼ*Q_ kNhJ?in! 00`HFfar\U~xl1T=QCpL&Rt2t[1HbNǃ.3+aqJ;675֜e"/עGFePm$t4 iз̕,Ʉ0*/'  !Dƽ[忾,K8 ۛT%:0ȣ<sZBZ aEoU0 ] z㞟Cnϕݱy+.^20"fد7Z#UxdTݏ:;%¤Gl}P[w% 7 o]Y!7L rLKam mAxLYbq`l$p-rA? ȕHN9#SOO ڗϥHg-(4r0Ī7JJ^ L֩ /;rNL*:  Ņ,?|8ޑnb6a2c=邭25_JYYf;rœ0t6bk+v9.=˃>!CzUL!0za0|0eݻN HeiQLҹ̝˺?8T`(%26-bLL&ȕ]ޜן$G*zۂf:D syrȎgx#4>/q![Q]LE"WZB"%0trVqҜk WJlD&ug@@O ;!_ecaAΔ^3._2zRJdry.5Jq`+):X ΅6^Np(. G w!na] ABbZ:z۝+=B&F TW(WK ' T>F}e2T}h&COcOW|UH11c[k†A⤏%Do\#"$QVf/&t։ 9}*RzL. bp]V(nNᰟ{/K+b 7W3H=03K.3W9Ǥw)RR_ L]sa]Qה\."5If}uNHKv^#8[ǢPJþET ZpJk-4qcNv A00-'PCGL.j%&_e2Ҟ]b#|Wp)힎<|3`X_xEXX׎C"+n:psJ5i2}oV$a@SfAue36)Mx{ۢ μbvMjwxQ;IJ_8̡:RjGҬ!Y&)g- W%&uz&[dˠzIdJ>uܹ} SP^/y'Qe""pڠC/B6PLo{nLVsZOaVoi[Mѩ!қU7I =g9L4\H b ᔫV|\t =OB%iQQNJ,w/UO..)ҙ&19C=l9Ǵj2ȕwXB9  YJGĊ1=7ֶ@(0u3^uu30@-~vPW'+Ma;r83:v?p!ZN ܃+Boi Oz{eiYzt6{U؞͚PZ[ǎl$gF@1M" h$@gX{o;M3k0#ޘP_*@ۀW(mwhֺ1Aԗ'fNĕG{d\禶^c3լD|ztB;2> !{W!#sBԣ%W+(+b%kV= ` cT*6Eޟ0620 (Z;0xtܸ<^y҃.AHRFlc@(u~UbQdxaױ^Tcj]D"Dk#|" &ZՏer;V9B-pB)86␶o} h V&Ϋ}n18C. v?1#:.]OqʝA~ᩩU(˩BCc/w1ls6uTwi+-Vt\O:V魝H|NAA0*`kŭFi̛)JQ>g`':,xf^))BBAH)Мj&c?o tK5U.dgIVWh x@&.|kn&/YI0H:0-+yTW&c(B-YpUT9mZ&9jw$ʉjG|Eg{rƒ5YH83ݰK(p5FX='U00r'V7ɇDԮ[IbYK;E-'ת$}SCG%zU.!y˱f[e!P9ѯFk܃6wHr3_Wi`$e6xr*Cͽ}OCM&A)8ŏ4LԺgoNKZ CYwO -mY?(:a<Ⱥ䷢7'V+3]tr8~0?<届NJixmDŽresQu2 9kwl}-M-i%xWšlE\&cF,~XMHaNJr~N;dpf/X,͋؄"@.˄n9q'ش{n(V}'T0e70y[<"hZ؛O 1UT>: 36:Uj/$%Sֈ2X< }.V_}w:)*C 7x@~:j$tKXdܷ'V|Q w&y2ʥɗ#=VnU.b&~ʰ*s4_iE'Ty~+VR|^ U"[^V %Қ NuA5Iz۸[ݶ{--OÀCNi]_,sXH5Oc[&c/N_Q҂.}T4ttfWWڸއH늟Xi< eDәWQdѺqq~~鿁ɵt6޹^zm>wYׇS$ɱÕF*-rړEۼVO/$8$?u,>Ȭ}s ac?x퐤gehٶ퉒oa էlB).٘ R>#lm?d/G+'H=ş皷h 3$eN H@"X_6wDI@7D]^Ti'Y9cH+;蹫9xA8bBnq4W&TLt&aBy1s7wo5 f[ۉ2EuB4%bHU$8L\;:0`VT~O`<Ù\굗TɊ!? ܷAJJU^N.ߛWΈBB=IoF,'\XQ]$pr cjMY!RP;?6o#qU`QZxI8L.6 C^'?\<30~u 0H. 7P+FyXଠW|b -|MԽ?uD(iU?Ae6( 5 {u1 +H% E*~}5G3pdxլ`怀bl5 [:C}̛Sf0Q#"Ab:(i]"rX"5v;Xß #216DaT޲~`@zإdB¢Q/#mW!T6 {g*IΫXGDQ My;V:-h{+؈hɿ{w8%\%>}`&cGƒ7>~]m,f}iUU5î _nxd &W*SA/h;J[:&V #Lڪ+ 0vz[Ma")3妯*^W~s3AWǘ0~',RØikU|-˞?qfd^ʛkчSes҉i #W/AF_ !{4:ʼ˝˥5N:rr^΁~X&!JP 'kfX04 {L H~>  'ӘsegQe{f yrʣ;g/mEL9ONS/3>phKzx+N&?!Bq9f=ɝl#VPouk:97/{geiik!w1G Q9tu MT#"\Dk.~6bHlx,.SbBvؑf`tFܱU:#ʫ׋t43*>(O9lns&$}WFo:Ys(/Bv0U Z@%[/UV9DGaΰe'uJ['E)nT:]ngIМk"n.ByQvMguxjyO)^Ϸ'eguM#rF.fy&H9赢:(%fT.I@_^RF􁧷 %%0L'63.A9W ӠGFЬq_ kwBeh$cRݔwMu$_ޯ}J{'?d- a,_O {俀*Sqyɞ~ll]!{*\i/{Ǵ\=-UQIJ,HMNߚ5T+Ӻ܅ 3R!~p^8QE)[aN" gǪ 2ӆg/TR*Jb!{i"p)(J5Ҧ?Nbu t; JvQ^d+HȹOҕ)KH]W8A&}]6W'm4;vκ__{%eMzS+6jf1EW$Ҟo'.24Ia9TqrDwfI@BtYNO"AL9F/tW$RlԴ =z6:T%LRSMk7R傄Fo(:USo}-w`i~u\W{;v&l%gϣ^'C(Q cN>.:ˍ:N*D7~ttiܚKTH4Ry=ض$%&^o0LʨT0i _ <х% uhH4ceb)hd .x2{\ 6Y1 4uwߢq3Nڜ{*Rɚ2\2" 014K2Po:4:f>DZֈj>-EV#|BmnaT2P> t6;~(FL1w5S.`flDT3j!#>es#ʥb /6 j/^yVGrF!K>3P643,I?/2湲j+#JC3HXd77GWq>̶*;zpǃz{6ImJ3Ѭ xK - D[=8M| DifSe @v*- ADk"8Mt`i Ы$JÖsL}HONy dC鋩rN aV!jvĜ4`t/9'D"lCm3 t!ʥuQB[lsB=Ftb|)c& 13=rt^b1Q s%M]$Zô؀%O\["?RMm,~},Ii **>cEC\zx"a Sؑ?p)t)¿\ 8AM:tl%=1}YN^T񃎓)]<glT+1_fH"69JG 5kLKNyU>Pw HC2Ql<_m\5_k_^AJmYX.9; OYҝB~oV|XM>lM4D7ٛw}!y,7Z~٦m0P!cPFU0oFRR?Ҽ|P\lBE W M'/y$f'GvSP6!mCq4O?AJx0"&& (*S=N1F?m,ZyɠWtdb 6pe;c.OI5mAC-и '!HZaEF%IJ[W}-z-{ӡ)-3' kQ{X<##w3!R{{8'/Y 3{mʿzI-Uwy8&) n&x/]:2p!mXqA񡅔MfM;'~kg&K^~mTZ#U.,ct\؄>>΅Jx:*wO_ ^͓&զ@V{w`Qjw.sFH912dT)#~ FqõD3%.DF¨2j԰FD+An,?jK}yá&թC gG3"WlU׬*ԩ,Iqm,+eu,@,)lF/*]0LkaH /mUxܸ&a ǝWZZV)LF ik;4L=w\:I ֍r8Q@J3b_lOQ7k,ī:ˬeML+h?j$8`Y8ɕM 2EyHO)V :.M'peJ/$3!kZo8dIqADF-p?Ѡv.*A͛uw89C+5UW:!g8Q>F~&KrN J{5p|rDM4z(MF7=]܊+Z6r3Sdэ#lWs!ZԞSƱOzlfնXaH~WH q-GY,~A| O/ ;~.\o!d;Mlamu䧈T\2H)b6ofZ`9'Xm;swb3 pvts1ץf%l =eGq3<_ VH rk@Gf'T_" GMK'k3nRG0 N.0\OͲH0 !KYBՊH#UJAHKJƂcx/؅\}jx6Ī<W2EXor!9g3vKlҦhQO* *{AQ)ϻ)S8nɲGeUЧeq{cj6/O`cm \}sy.cw:ZKni5sxR##HܙזɅu8yvw~44[ <r~W ѰBZMN0K/8L'bET擘t׶nܚQ; k%l:\vhXiŽEgJ C ˷ԃĤTF%O.M8QxIQ'e(Q^d}~?F U]tU Y" $4 EJmEYH_,5"qnO9dkb ERM)L^dU#PA'mZSHӼ{`hF ;`&PD٦{oi&Qdz"&*AҞ-v9a.%m-h!-Ԇ]~I5J4/p W{@>١d躄XX(x<`py P(< e-@г7s<4} K`{θ]ɸ&OI[!;O;4zcPlfj%ðCOxoNvR*uv^0bW7RuE>!f-;yq*ܚ^/2}+9:qG!Tԁ4r`COdQr m|Lms3 ۹]E w]liAq~d!)MWTϬv]4?Kujk?1W #-&E?Tlҡ$OOOU4Ƣ&x1&k#)[.=(܎ϑ8hC%rM=9 4((v;dog_b+?g!r|{|l ~lQ$CHo#\@{a4Z#e&%EY}\ Z }Gc¿?N1 NR,f>E$x@J3*_]!4ӓ/$*7}IԷ ƨtuUͅ4@x]8 ~l!#Rs_+qELocK9|([shoK+9nZh=+|N#8ktwc7a0Ȅ+5[_*v?|~!୹ʏԥ % ł+.} D5c6%{sIW/tdXR~E:'C`9LZGa.[PH}^zknjFm:̬bV-@"uJhpQLo #WX `P<4?Kd c0oK=SrjF.H<*.yYȫR~}c1<кC dM-ff=\/lz40MW˼r“F+QF󺒝,Ԟii*E_|G,Z??d{x%ȂցKöSZEwnzpmwߧ?QKF(| @:bPY ]@ps#)43 Z0]B6CwO͍Ѩ%Diya# _eBOZ]`zJ4ml(&VZ^$a-E0ҟL_&&w`R<<[HEG]ACglAb+~wWv#& QZ\6}6~EҀ.-9Mٸ9ԣ: ]*"+JzqS/\@IXqEĒ{^&o8ihcd˛8H{BqZd g5wϯse\D. "]aVezuȡ8[8h4BwN#P+KM1^f${Y. H|*"2ߠ%(4J-zTg^ʊ+ϣ>W T+|k j#>4 AR9=5^0::KuշXl56'$@.#fhRkqk6pѠ׃xa^,/Fp-M"{HQ@ɯ M  EdɊW&PaN'AH?=)1ݠ%ΊU(lܞ2!];ra#TjӇ1~($h:;d=IǚE40IylSށ=S2 de fx7<چ}śb[Y EoK/eux[k4Mюh6n(t$h2YR:l'̧0bwso/NiZbfF'q8 )d交ϗ~kDoV鴽ir}4sR2fžWG LGpg_ߠ!x At{2B`1(gAIo_$Tƀjmx"%ռ` AFZ^çޟ"N5Z֗1fT.Ԍ-,R@_%ǫaXGإ`N,S92VD5X#pT[=e N";"R3G_M!퉣W{ȋrآwf -r$mN>bK^{A0u5ejCd|dzƫ wѰ# º==~R?$5tzMHv/lnt|jM7۱i  '9k$!ENNE$q'㿦aeq{9K=>ܶ^/Lz0x%o ΀x v߃O]hc@" 2hڷva!ZA 72u^yƁd7m yZ[4My%&Qz!(1o\X=e5BINNj+]'٬" z,׾ĩzTw%8k,ړVOټ()Laڭ^9'֊̪핬6hMrh|^d.rUKۛvL(>whaQGBs:BMb3(4=^YZe7~FJhf (ROMN,%Pl`,wP kmaf%tQKk g1_eVok51ݧ+~ՙr){|.dX[f+׹,u`U%YA#\ JS'@k03nGf1SiZ#I;k=J)bO?* 4|)Hn]~ʼn 0,M{D9G y_TqzOɕwk/1H$w[nG0T=Tէߪb(wlHM:Ql|-| (Lq/idhm/ _a>hI[Mfjkpmgrݵ YF,uӬ%*RZg)xUP=Km1‰ 3eVR!-!!9)3?&Du#UP9 ɀciB%6 »FfeC;EMj0*}blyǸ6FV![IX!K%^JHi 0KD 2qB?6W&r~%?3Z0BWB }@ Rɜ͵;ĿC1׌?<^MoI腜g< U?[p#?1U~zP,Rʵ.68>W\p" lOƑx,wlxN5Y8!{X:8WG QE_, UJ#%?CTͣu"Vxg[6u$# [1G,}R"Jy4PcZj;4ٌQ|#ĤI)F|ǯMTrN.972E | >$gӾ%ӹ٤S+wFWm7-o|o Nl˶263\ TOz ;]B=-1>%.Q)JX04i Nf*Ө3SS#Qơ#RIٯ'`/Doي!t%ɮqƇ2wGR\ yۆD^hh 1\7yW἟͙m M#K" ܳ06[`5XbsG57̺93eμW=yD$T/'M#l/Gj6dhؚQ6ʵ.MM6B}a%Ru)__͡IF20#pJ%/w$.;fW|+YA-+<=1 pտtшX1y&-:Iv0*CSoym(fn*D4p4 $vkmKoSBiT*nlGWSo#,z {/s|*zU^P EzT|z̥ RaA0'Ƕtz et8MٖHk 2yzݠW˨+V퓆wS#ѕGSdKc4HFtn.Odvf R]Rj=9C:C)#@--> ^}&ls;¿dv@әZ.Z_aW5]5QS!v>F4\êe=Sq0?ce^tRtk/}t ;o8{ff4֕)."DN7(c*)_~vZ*c33o8&buwިrqb[-p1[0;J#ß2ȿxu%UJږq2oO{I n+^ x=-Ν4/ZG Hw䖅e=VgVͶ qR]_w/\p;әrc{ֱQA65^ktG~} GpŷRTS]͐yasa1pp QDg26Zڐ),b{m1ri6Fy,ޔx0.@}&vrkӣg|"Ej 7i\Qbֽ Z35g.#aRQ꾣זYmfE6)Z-3q+>ŋAG iu6i$/\4wx*1oNAht_u*4-9R\rKbiju+rM2dUYIkroin9&]%dE)ߺ .L|Tm4}5ufkӋ`Q?^ṋ[Af '֓g鹞-FE6O[~'SKODLgΑ;EjRSɗMg"j 6YM sKRQY?A-壷t Ws}@j)bM6%U#d)G fdSÊp﫹YUBj"3 87Lu uc:>xCx\9QsQҬkyCWdYLq,+Zim1~2:eJ63TaVh҄>B?q¥V ;\kW-MW5g\^$6X h:HFHqUGIZWPD Ԑ? b{$$޹/4 .ixE'zi3`E^vk~DaQrA}#v}~څb!C/bzbxy~yq{3sI5X3g+ۿ1ՆQX__"8;bs0k Q($UJ+sW2kj$e1_:XA_5IRxR&{?Dι]*%@BӰ ÄÄ`IK-.4EbakS8>\GPzDB =mBLΚUⶹ'4&j5B-pT]GXQ9nBCîQ##QH)쟞qE|hO`mMt@w݄^~}= >HjݫQWeQWSUbBi+[.2VN[_tFt6LYX{}zd$K˙OqKT'N0G{ᓓ(2ۻo`+f aythѰ1[ X+~.(r蓜Z_@2h(fRJ7[_(QKASL7qF5N *7m[5PĔ|OQFM(بB` X" #H腥?\'YZx1O#hXf& { suq$pL61R=s \5{ZK!L@l,헚VCFe {q,M(ma 2M/6Ѝ3(?Ϧ~یQ9?UytI;GkeMLa]ZӉ ~T^{6n, zlAxw5N٢t >Yf{[AgwޙNrJuvrAib+bIK~ nX1 Q9(~a蟘kM2x1a:/ \b*8ܖ=|/A],qhf7.OW b6+emsXJIS ~0J-:{ C.׳3}K &!a޽PUElLhȡ2HXFǬ ˮˢg>Dhd6a\FSJl>̖Yn }Ҕ|p M2XW=4g%SͩƜ$X?cSf0c_%ۦn [-uz E\TPIV@gx`fd[vZ R'٣(|Iݖhijf52^l3+H%m5EU&ǸyHTbyо?Ia&ks_EM6'맥cT3V<)Z_ !vOL8(i9,Sb%nq:BEQ<CuRͳK6U羏ѬnQ#ukiBfJC1ؔ:鈁,fq`,i3Ӈ'%/^}("xNל2=O=m%hOL8+ᶩt{7mk<@_i"$d5^ObrX.BtL2-?.&;cW _Hs0 LPvߜQ VDy';Iiu."(? w{TF2 d c h5zh:)%#bȡҗ-8ϵ3@a5lx* iݰ8<d= 2W+L)O~Gz ^M$^ΧMk\l_࢞tcd l㰋aΗ,ػ Q?9_ #_E -Ĩ̝fP߻e{{-^ܠ#T }-(1k$mه˲>:kUly/Ki_L1rK;i-B&tJjOWzv>~@gNݎ x ##)RR~UmD'x9n`N8kM6ҏi\ b 3IqT`#v$C.Si mX#-f6*ιt&mx7r]lFf6cM`osՖp<ȋkBCl< iyxM߸Yh ,K: O7zSЂ,(9.Ut6HlSBF@ݧvRBܩ c%@u̹ C; |Kf[w̅ɓ:u25(j@ &ޥP4o 5[/*D&mc LMXUF"'s e"2c!6ѕq؏nzsPKîzK a*E-LsST3?Q^D<7'~/1J^Q7E;zL;5myǼC dGLLOSccܶ;m}SLrLrmP }ӎ^"W;M7M up( +/|9rOѢt8&zHHqG$5 t S8U$ oį: -#)ha_ :<7X}>/7 X6mwa)M,syW`8"]u՜3$zsz漆f*U)e6b? =J`ǎӝeN[kZx;Ff63<3v|xH̓z2 o /)l&}iΒ믣vJgpu 6b Ro:2Z!Rٱ/>.H:* Y Br vuyu9 D;<0uk2Apv=>OP䋸0**%TX^[ T{Y,st@.'-9Oh#\EѮTE~˔\69k 穪'tx?J<>^Q#u}Y`ZE`-TɸP4I ,!^VJ;O!v|n[4)ñ[,S[ņ$-lqv)RJ;VSlo^zPx}d_vdt @KrkQO)X Q?QRN拿UXt"u梨"Y_81*e9 tپw;ǟr69Pd[0DL4`idNcHmRX9A;A/T.- by#Di5d̽]#Ld>H?/8ƕ Y#Yt{2-~E{~E"3Tdb6/ 0b]FrKx9f\k$ %|#>;iM?8J>(7|h{EoEBÐoOw4{P_Ï+KfZQo[ t맭o]x Fa7?n6B~&2B"_:@~6m1EvѰ׆o/KbYgyXUALCxK3` *PKxȊS@!Ҵ!U_ 㤼Ƅ I<v 'qĚ*&,#Gh8bݓMT4!@f7JYYS@z?jA~G3o@+(o>5V L )&7#(VLa1ùb nU`1$685ň>wHY +P4ͶVQsIB>Lhi*t]8cM(/$1|rc|w%:*6XGRWEV1#z \Zɂ3EzǫI.]TGt8=7t NJԈK#q*2k c` Ś01/C;$0jM?IͽRy$zJ א aq@PdU8.+3z(macDÁATce^}pd)7׸'Hc |WF.k `% a}oXG7Fx92zzEZgGGpTڿV櫍&(2_Z @c1Fk>%{{͋#8k&$͜*zoUH;g&H֕v?d|y]dA"S.^}O0t[l>]:Uʟ9r>H_%|m D:\Z[6L5>%48["'IdەldϖG=ԃùQ5yy]@փڶ .Fzyb"\<0|neb@2qQlLihkOw"]%Llm!A:O[ JMZi[ti)Jo3Q 7!^3(y].!pdޠt5m+-$W]Ih%mn@@UC39 Mv$a>ZT;&သcgEe5SPP]p.mSjZĸ!ޙqN܂y0xu-շ)X̣–$i0DvD cr_3]ldP/h7?<3b[25DvSҵ4 YlS5Dx?F +" [3n0@&ɤmgIGE'Mdګ|X/µ &Y.ϓX1o"*CpfPؑRz+q;nXňz'mH{^qvK.W t`;;JՉuU*i')$<v"ĩ&wzip}_G4JVAeuEpJNp^?Kd~fs{(⣩V+cHOdMs+QTǗ-=(r>'?U>^zlҐ}ue+<_[00؛WeĬlIcD}9+~J9AG|t-Aq RJ"r0a:v{Xk ]P^/f0K\qq-܉^m(*OVg݅V4+4>UL;~oa^IGn߻c+%ӆUJݼg`TUiIw7+<GFa[ݍbhTh[Gx*#%w)\7?Cc̖32*>+U@wл }KMkD.  ^xUbkpyr%:֑ vNɃ+ud-l# 8)][@Suv,#g$Pu <{Yi%+wqZWOaA;w▤H6mE1ZD*Q @Nl\%m&Tsa"; rE@p ü0E)\ކ2b9ϝ{TYrP,o['#3cZ {1`%|l0Ӂzy"A/Ь !&W, _,͠2L `7v% h߂읠Ik:2w0U^<|G[˸o"NHl$%KEOR;| 7r-7(ȃ VTI cӼz)QuE81JB ]lFf[Bm3M2;2B׳t!Sh8e:3,8E-21=B7ā;klߍb3XU[p̹NDgg^]-zEuUr[9 mvAr\z,pcµ\rhf` PPNI)_:;WEW=)YtE讹vh9/(%cJY Ptub;<䮡{d]^otkgZX\HG5[bW,B(KRP\ m2~Ѵe.2*W$x%h.l-pd kk ɽ':Leu{(EJ;}w$S8GELߔVP j7%’A_r6)t!e^I} }/R L $կ:4nNq?> 㵺͙[]>}<ݾB|i5I[)>1-_ \/^ȋ'_w9cq VpMrh]ߩt~t/H4/T$kyO@6TTBffF@M%!O?8Ǟ52`VNGTeY zzDbII~bjlTDxU\rlQ8( VosF#|gB9*!bgrl 5YJ?>匘ca^NHfNph(P)T JEq0 v:,"7s-Bs\s`sOVϠP9g#!(RxsqC}$lj,/F#&Q%@_?Ded5qVRȔwkD/+Aaԅ|b9Yq#%2}mB;uz.7.D+9$-Y`<&| pIQJ*(T;ةCv`Ouo0r2;;d$3t5r`:%MϵKgTqp +lX+ Mx[3FgJۅNӥ l~%\(ݾ|歅O%B"Wf>بu19J㱯m0/5~#)10<3^2r֋z+Džǽ( *:Mટ 'tݥ{4{댛`d8(7bw|2r`Ls ``ZSbc~;nNR~m>m+H@ܣta}s>y9S, W7Mh-w ,88-$,jch~V(,T,CխݼÇ2tflD`0 77HRMYc%x r\Sa@Q*{ŔɃE_Dnihe N09}Ob%9kD\LG藰\vq0(g f>_w wrlR!M7aFwwE'OB*zbaך87Ta7(Е!'8*`MIzbf(z.ȹy|^vm'`sbfԜ9'h_$J-7D |ՍuΆѫ YcO6Fl@MkEnZBvA-  b+pzABz|fRQU}kbƒʳ _\, *ߝbj.뱦n|.Шѐ " 7و%ewðt nH7 ֆg244w6,RMxT&8oZw*Opp蓚#zcզvϞY= #yIĜ:TT5^D18u :Jvv4sPĨ wuC:E;QOHZGIvGFy|yLA00t*}F;gnF)*EV]! M_Ze$o wpdnXu!77I$jc$yLЯoG $7^=le8a<׺i8)U~a 1XfI2PHN"mS[JBv^6BoR34&0? >/.6KV49w $Ae9!Sǻs4T[-c8.z㗎^n04Y:!`Ŗ ktnmcxq{HRFj[c>dO-Yg3Py:FJA(ZVcv=.[JIZ@)mrq:>xt́6HBʶ@H[F/ΦN +!_mܣUFu!%s@<Јzy,Tmxv{VlpWÿdL#rޜ{[$Q:Q~$4RDY\"5ZuCRn)8fDf0dU s+\0C -{4Zv5dV蠸4qeplWUܼJYX.״Ŷ_Lj T@BRՀ o ݪACZ~=IQ߈_EԨF@89J#Z]zy5֔ӤsV3gڐBA!>(ģs&MbL,;$mC=O_\ʸgkˤA5V_NѮd. Op½Kbb#:|AJ0Ȭa?+s\ T&7B "K7uz㼳0s;[룤`fȗC],K7V<k_z1 grdT8MmSs'a5ފӏ{Y.x y,NtncX_xجi3ܞ$[] 4aEMΦJ/KuCѝ^`Y1ilER˛06rqCyuāh-W ȕJ68 Nk=DݡȜNV&5|]%U :|ixQaLܣ`bfkn IKh A$0"ߨ}PWKDnAlg_4 m^sx'J)K09§7Fu#4X;l y(X)"߃1#KdG @Hsj3Pv>츱aπL Jײ]#F cDFrE<"q@!DvBhTDfǰ?(i>Ԝ Gנh\TE),&L3"iA6͙I& bTr3rCdnkcT+u@[]'Dnl=Qs IQMM `4;?lj.16-AjSXh 4pӾ)^>z# cm1传5EYT 5cT%N>sY+.mC:WVv5SZBz2(pc 3w2Ơx >$քĉ5۫i GwMXPSU]+Gtc=fؔ.MDYD:"B?έ4^x%T纩z鱎{5;};28n׉[ [V .Wԅ5$24 SM~C}Gk2(|ML,@^,$>V |OAQ J:ΓF)ƻfx̔+XAڟh ڙc~Fj }C{ V R&֠_YNaWx4KU4-]Ix Yff4t7 b1b葭ϯ"N%p 3[zp?8?j|j4&K"Ϛ&C|Pt'W Q@z"Tpޕ 5}>7w`> dy^.[AA&Ż_\r6R*B /|7V6TE<7k"7Ԅ"wgY4Gޭnp#~Y7nw_V.6 :&q#}yI?8 Ҳ|+Й6% tDzϕ,s]Y2*?湱z2X'pK!P f 7>ײ'Qbt֙\80bzpF *T̶(K{!驪`AjFsVpfw19.+~Q)*iP+Q\Dw2魺a9)*/r8?J^`ڶOnrduNV'r%v:0y3xHf@.2X'L)tF{ A baKǫ@ ʗCNS=X;jjPz3ύFQSE";8W;E Ð^^7*CFLwZiH!< 1z8㴲՛(0f1R'ZY9[7y_^2M6`K͋\K,ù*R=J64o7X@^u~0CFs2͘eht/WGӹcLRj{euNӏ6ˈʵۓOQ7m$TX)Bk1E91?6h{(3FO~#a,a0&=WR`6O#ag{4isOyTF/DtN3!Đp*s AT\tDc $ѴhًV=\`99zPܨ^=a4jkEeJ#{#>Q.p0gi$2 |L6ܘgP$R~WڕIQsU~pj P <w&Sy.q7-2Dvj$#ΊMR= ^Hjk vQ=*w!Iה%-#(R)u@YשP6a\|X] YY'W{9^ 璧pc=E"dsy@ `.\0+gF1gzH'x#~Jsfu?g+. }D  _wF}c0.hk.(="0:isDg9do2^_={r>nXӪu[aWbѤMP˞ϑFMn8oCVRMXn#npG"/I[AtX|NG+n>ɍHUW]^}ж 2BY]ElԐL> Z vиʻ_"\@ԅ"ʬc>- gO̾DQR/6ƅT2r/R}+ xy;zsx@} Uݚ_\n0 x_z᧪$[f5C̍"y7I!xm7Q,P2O89\-UC%U_c4 i8`;v 99#K%NZ:C8Qbu?qSB4Sr]*fՍBKo.z{;S^01uL}Ip}Dj-_Sc49P{q\t8~plTb) 74*4OlA(K\I}lb֯9Ěa S[U@#)YWm-CM=61%ڰm@k(\C$Τ}ޜJ9HQ/f,ed&"{~"Vc>lI˵/Yq~p%K% ų&S v  LW+y\A 1XSq; 4Ca~IC &p?s/oNfco~o*գn7>E E%73jo>cωyG: Oȩfy__RzY[jLަE0 ivұW[o]]\7̤Tr_MKڞ.tUqd<@LIQ(-[Yۻ Zk4HCB]R  C|õzW+ʥp8o5.w_HeX7Ӌ3u:SNk>ֲ4gYr@G&BTf*GL*o! ߶M ]z=hAe>t D[Nܮ}6Kk[Z:7ĶEH|4(]:I#!Rw{"U[Z}9|wgj s~UcgQyoC!.z)\ɪaYq[Ȥcjo": Y@yy.1w%Jpe,T ?;ᡓ:G$-[_7t61ʮX# f 96ǂ]K~z,e%(ͥ+29G KC?O:MQ @[/N6*XO-qn$ ]NW'ٕ\zZڳ{UQ|E7FQ?* yG3{ 995Z,WK\T]Zذe=gk-)E"HIf&k#R,U8nEX47=Z~CIJz;զ#l w,2  K*\YÊ16#"K9|l^'bHwT*l%Kjm\?9G-.aGX誯4G^4|68Nyh s0 nMۡT2Ѱg^jk׎PЄ:UFm$sb5P||JD^go:u\I^,oEԄ O?eSlȦDC"6l&mU_rdR2%u8ϲq^3HPL|L! h]dhJދ m}̏;%3V (}M26?n>Lj]eV_a;'G 7\ Ohh**"δ's k̩Xy> <.'g*x @=)[0ԭq;i*+{J-ZmQ(&3mxHlCh=} iwM``z%1KF A8#sg@wHATytZo.9)~M0耗,!p'9Fw#*!9?$m4V&_Zk~r86Xy:, lLW)nWJΉT1=kFz癲.!'ژ>*'C*E/6GLp!3lDyR5nwLTKB}&3}"#5xI07 Usp}mSvsОA's8Ϫd9Uـ j"ʸ瓃P# 9,4svRl^ПQD+U$=3&8 }H<^Wx vv< ƛG$ADpyFו#a~YrIreWV ^[Wx7Dn:@ 3SirM_$'X#Ѿ3b.}1BvA$ΚpX7/Mj{[Μ ؼ&+c.aEjQ xBD˧C+Gn]^oȈ=KpĀ.X~$bLeNR%4#tPLw^:̏Jq0fQ;xD~ɑ:nm)@iUYGa:V$px4͈? \)@z u D"toRYHQ{ѺoM( (Jk*Gc_ /6w5$z+9>F(׮(严G6P [m`zkkGJ&k߻[|mwh]^UZ;XPDOڎtӛJaSU粹ąmEů,e[m$K`_x(VCRঋلY)ig^QE>cM-򩔳gd H[/xSSԒG`k\~vVcjg1־|[yvܧ-`>;2* EO oOh1QuJ޲N&0Z =(B]u7rHN.Jx\.AKnNx >?޶+Ҩ%e/&zW]_θ͐Y#ދ=y .W2v^A2 [r6NQ2dh޷f:(m˾EOoFsi 'ZpMӶ825@0+ZX ‚%,n ܻfP4>=~)I)c8B;&: )}c>T}6+t0e><̮ Wj@PS:O_E9—)tXPJѳ֜1q6?e-mqwņ3n GoK:yht'npFoP+ſOã0s-%/AkAOc K qݾȒnDQp 8HU6_ԝ/+4 .n+Yp3*wx"<(b(3R6RHS+`!6΃FA"#&W`z9޹AsEC Gfڰi I6(#F%~$HhۮSF8O٪mf[ b|})\X[޸m+]4B)O;$1L-0{pN/*N;G&+c^Y -x;(`TifdݳF qbC.ý7ALSҝoԁZ$Eq*G[6@7#: tId">h)t!10}ef_1n6 ۚh6)ﮠILiVmd4Xv/MqvY3nK^H&VyfVJjg6#B0-]^icn?пCJ6*sRjFL|nRr?0d+-*ɡ'SH"IXbh @2ݮxaNJ u~*232a1>ieu͐$ qݏF-qWt9JD,Z1:U ſyPo 1̛ WH x*9pMaoUM/B?`s<[L(b>'rXn2{ʜUtg ɐG}GX @@q?a $^ cx5n7YE5sTg=`iP:ƼRXӲF@ݱ\YpMb+@o$Y28Rv(Lu;D㙑iCb@ΘGde#@DA&|+0^½vWHfo|Mv{%xA JSo:msPvy%Z\q YeO(re#Q#x6}4:_d-*H) l O&0p;p6Vh |4+\ ePGV؍LK+qn|o)ʚNNii0fhԪud؏ W.,ƶS #+MS4k9aI.tբ(@Ȱ.ٿ pCei~ۏ:sUx6'A {S[/՛?[|ˡe [t YչmʆP}bʵ^~Brgo5p"Fױ*>Jl|& x[C Ƞkg"ԹU+;1D$HafM}k_"˱VQwN8^`Ӛ`Yk/9׎URZ$3GG yqu^#*d:Öo<2E;%+A;dSnf58C<:,lO::QxQ /$CNY}xi 9kp :U|/o@jV{+LH*$k˾s 5Li<(']W qUY/_{y-5R,07b5ȀXW|Ob,{Kb6\}7n*Jke1.[W(Ocn~W%bn oѤdׄY̋=hB펏Z.olZ +9D!Aߊ= p 9/!G2;-YrY6ӸWTD~+r%HD%~o+3 dZd{^DDZhNd3%ѮT3dig9ɦW MKۻMtezTkVJ,;QO>'p_leh`?P,xvSgfif 1Ƶ6@ԇ @-z1r>Bi3x!FI^Ͽ}?$x0M6i !`t&/%)S8yetx+I`(h#KV"HGwOVrOM q8#mIw 5q c&S G%t#;ʉ,t<$*HF~V8.S$VESfsbFfF9u(zR@$bЏBQ9??_ gd #^ -z=Y5Q!( H6FYkpBŽJ|SnO#*5lYEq;; }ߪGۣ˛A:Ig䊦}vnKbrCAjݴ/93K`-l%\~Eq mMQugdZ-ݔF  ӨBDK'F)nUj6DYAQ\3QU c@l;ANJx>E1 s\AVu&@e")zT7ޛ8ؼ٩e_fHY쮅rko㑻 p$3j ,DJF(VGYaS4'i@r9+3M֭QBLkX2X:~u0#9s"@%V۹?.د 3%Zq4E'(h\+-/Qr}Az6Y(Id"[]@90T~hfq .2ʚl9(<`wt)~#v3 mӆ xr_ϨU|`mVtX]AAu5.ĞwD+S >Nܙ0Dm5u`d3DnAj¶Ig:1)rෂ\ `t(K5,mz ~pZupRM=;4ϢC>1 틯 Ñ(/-$+&Zߌ =aRXaHS49ɼط!N%.8@A99n~3*mdMpk+֕TƐ1Rbgױ >>/s_ǀs˭<$XJXj[3Ֆ~7A j{~NMY?O}4ዻq-}̘9NCq^i_,!д&!S3Gݫ%3o+dH68H`)+vPUb2㯞 gjpR`&ڇ6ݮb6$qn<[s.#5Ow+ Q~b,u[sKnSwpbI;v k/J xf^#6Q='@"~,|0BhKV:&@&2C~:< g5@DnV|^ ϡFYd SZUi>sQ'l,X.Qo|l.Bj́"sH@\$tdOZVsHd HT1ZU*O4XDë~c]ULwo&%&9%8]=֑g 즋aRQDuJ(Be3Rba>#;N;at͍xBzթaFVH _OzRb5(8I).L`O(ċ~43mWin6#G J A`QBH?',^RвڭWn"ケFM՜t*7,o1rNj:rUQV^; ']̈3Á>aR"bkrU);& [,~c\l=FW`a6yS@iZ`{FBG3]9ɨ$ay!\u|6nyO;l֭]_H1rt f81dG4@Am1:H_&L#*q%QSe[e=dPe%cvf[40Ԡ'[HAݼK,7-R_/![)z9aW^b8S qB#&nUNѠw}wOT AJ>:~Lk Weau_l"`kaWR1'1cJƗ-iav97#ug0YB'hr:SrJə0@EkS_*(FE6t:Xh ܟ{{YñH͊*۴xOYQłb8y%կUR21 2PUx k)iJ!6H>QzEE4Zs|LŽ79T̑w 5>{68ww' 7kD*qB?  tjՆY{ ,zTsGSQr4. t`N l $} }A@ڐHmYF6&L蚵+rٖr򢝒.9* ?xhE_JSکNNXلa`^dC%ڡB=KCiXb|=?u`&H(^a8LЂ19Aq/Cnѧ.I}>|. 2lE|>4#ڭ)e$41rN[.|tu]h:8sZ@U3)>@O ۖq.w^lrRoK}34܇l>SqD2(z0pbJX"GTɚHt'H @ !UYf/aGOm`8J}jL):/s/oԮh4ʱɿGcp_kXLvVr*lr[ėVhII)X hi}&*13_x( 5’6pCt~0TN nFo;ٗm,/nێ f@yE.kEOMOFHiY..}Z鍇HAcTC溠BnaGv2>*lwe w@RX ܊q_\ձCvW$q?\zڊ-񎇕4kr Zೣz(ks)v꩐W;燇Zq݁ o?z!_(q%Z^Q"a!ae3~M ҧH=+Xٚ Tsw=YoCc>0=vYR, L3 ̟ 96O?伬EܛT [:}>HY .dҨLkhb< 3̯ˡrE@G+R9H)?Y;NV48BH^F K膔뽡+ڞWymN{$^y׋ z&ؙ Q]xTKd߾;ݑ2Vš٦)D0@J.1&Q%G,6`mvL>.ޥApzFYTjPPcޕsI'$A/Ou ]ڊoY~Z@\U+UqNYژ}ӜC7k }F`;-(×܂HKKe "g>H/(>4Mӛ^e{|q^?6ն@b $or}|&FkSzD.! iJA.zx7WoThVOW/M͂F<eF\Ӄqp'iPs\+3#/ac zn=CCqJ6ΑFo&B8E(kD4\XuӥgyoLFhJMixң?ꏵVAAw^An+ʺD(.d>D;ɻm5},^fr?Ҽ~^\{%a|KHx{K0Ex Sm%3[y ⴾ(O8*~j'GbvM*>D?E2ݔNN4L8Q jXKKW'U6ksjql7 :}M}*t*XEP_C1Wn jDʵ,r+K6kWH:V2NE͂U,Z+7ݔ@mޒIg}{RQs"9t s3>KKPF sMXY-U^X3oݦ`Ee\+ӽ-Ft``bM!vfw$XTSv< gH3{tvпN biJ2/P8I3k$;9I&WmS%it=1U};;QJe ^s2M_y 3ޗ$2IͦIrŽGەC"~Zi[J5~Il41Rkc,>Bt st$s\]WgZ<4ƹuoO="?OEBVA6fmDCZu*uvTS~&G;`Mg2EJGhPdNpl9TGG}Gt fN,; yclCNH]mtvd(x;Ltzc5iw$sY#wեYTdLꭧ4?FLDWdy{ 4?09qʢg[˼-NXp  vcr fO4$JXnZ~ojOͤ "4wډ-8QrxBq|BK-ٳW>p9ܖ~k4}{P}8;JmRxAl/d蟄eQ2s3`}@H_?[/ǰ'Wqo->yUDC?gFr JrG` +*ހ}^o6k]F'RiT 0ERzQ!mB5\\[7:)Jǵ| ul8IKq ]dw[:T!oۿ"3 ιiCGnx0by+R=|B1&]8}%4&"퍾8u@$/53ar=%)˲+DOmuX+XPtݝ%|Zg7`(MïiD)4"_T<Yti#sqF=8euʙRo/U`3ڹ5&.F6nMF%mIG gS~4yx w=Zr`*۽I}e^َkJsez(金Ԏ4AC-6,~Dye,{ݙD#]: W3<)};'',dMj^!"~:[y%G x) TzA2#+*P$˴jؾkQVO%yܔk<0 =lاʹ*j@=79@,0kʬU*1:?3M;1p>8f&x$ȂpʹkDq)IPW(P%ͮA1 pü#偆Pi_^g}XH{j3MTzD[o4 Ŝr 1H{AV)*:֡,-] !|>5u.#+pP^a6RaUchciv~ps;iN (ǾdS AQ=#иb*woF¯TfB'S9a.-̬2mٗ;_.ڀ8Q}d7FT^XtTPy4RF%`!MpɸY`4ndFd2aTS͏_#wR0zfcglrKWr% Zn@3É߆HAћ/V_hV@4A ~6Qrg5tQ>m_ ]MW.ݹ<e˓5y:zbRjgӄV"ck"_=i7 HoɳR"6-܄L'qvI^2K/9AY LP&{*@RX/P߂6J͉I@7eb19OR+c8RO@:+fxn#`F!<#@wǣNO@s|#xJbPɐ0G&nc.CyLISe>mdQ% 6̝W 틔[dX97xߒ03DGZc/#_$2kY>^HCyeZ"+5Bن:į/p . Iv#j=9FdeHz[Yȡ-s4h l((Z6X+0n슼s^Isl'>%iR ?|gE0[RHav#ꦆɱV.hCt m``uX,7T܇9ƣsyLGW b=㈇*[0YP6{X.{_3g=R`1.ۧn:K_Mp68q'HMO^|~ć x3ǂ30>v՟3lWTׅKy^zF3lIUƇBp Ϫf7AX]i+F 3D8e:Jњ}V^0 ڐ5&D1gR3jQ:mgoȎ%jf!%.QdZќW3"a'Oa8skV(6Flexׅ#+K>db DzB)p]{HTk3.z>/t)SME.P>|u3ڸgfexjn9eT택XƝ]YP3OsdXƈvf˵mӭaӗ{_IaKauߢo |W$ZckPR2K"^eS-ŋ37LA$ho'D0QbƋebb.l0*@AAԋ'}SpAQp2=SwhxRPy剞gr+Ì})fgQDzBgP߱HH$摾j(-| ATX,f渽wݺ1|yd/+(19@e>ҥ,-1?UY`%3R G6 G %J= e4YbŹZcJ "XG*<ج Ox>ȀXGWn$I*uO/c`/"$M-OXl<9S^8njmMd-Sii}J0─?|R#c򖀓Qr :s/J@HI0eD.:o@z. ۢZeRXyx#r!xZuR"WevۂԄS;TodNB][ g["1i2m0gyOԛkB+]`7փ&c9sVE s\!aiV6A)=m@X!T2>#2F%1)d[, h⺵ biJƁ؉Gf3֩x̲/O$OKb]尺gu/:!7M% !.GӾ9- )(Y3N#&"zJciך |`d.X\P8uՂ):!'ȽY fq|ÿG֍VSDdZ P&Nn/7PX4@.&ot P/翵K݇6ux}G= 7'-W%o% *a  Akm8?eՊ6O'%sOs{z%Ө qO?5V@d^ 6wۑޕU ,?QB:}H"K:qbŧkߗt/8t=*פ/&&y~H|43mEɋ$@2!35FB_ K({>ҡ^'.F*ګK1$X㎨tCm /&'וy%. 0F 0){^"@v#ge{6^y!QͬvQ,AA1!,y%R|kY'0 X/%5?KҚ _6aU(=WeaH9j^;Ӎfhg|_ARx7o'S7n=>ޟł4f+}u'(QEGX nZcy*^-2f 鬍?Tƃ@spyx$)A <e{44@fԏBss U52zy OvS2LERG0Hlޕ[sts{t4PRŏ~YԪHk HةΎx *Vx#xUeL:!(؅2sh!Rg2Ur‚%_GU)8sl&0c ~%^MZ&I=53^8PQmenvqѱrw+&Sxm{HRdr?(+HET Cb_^=,= jǷ>ߘ[0u!p_u*Dbݦ⽅$FIg!sxV[&$Ҽn'D@1`j=+mx70*mmTS%6H u@|o][li<$ʬB:q_OI8+k5iEQ]nI]"w(;A7|GN%mٯmEF`<|B逋G']¸>R$I)L؏]LqOZ(L/Y\8 7N,?=sN$5"t`6m h3&,\|L0#R*ӓ$f.,bą'R/60t] 6b\STč04בg%F|6o^9}n[#Q-C**-QR\"o6SQV E Z3DLWu;< V4{iC'1\AU68~gi!"i& |ku>h}01yGޚxfaAV9>qYKSeS/||yn{K鏑2aŞE>Matq,?3wK0OD ꄻ/z(nbf|}q,3x(! g(9ucBJ"UQMZ/cD)ZA "ipvwxlMjzqgmG,L۶ K{2/+Q8IƧ?hQ-iR ިڷ1Hbn4ܹw=Ô_)=!2W@ͮuq|& _ ټE^#}!y*CD-߫mh-ߴTpYLȦpмXAU+r>x8͇N`qwnWG߫mHp=*y+⸲)Nfv"`WF7"E!}NtP;P2/.q8P} d\xH1B =E,/4uĺZ}RΏUMƕjMsq+?&&u[Hk{y Iܡ]d~tQ_2]>zD Sc!'0-jkpڨ/v/j))^ޠ$G՟6bWbBf>t64`Ok3i@OTګ-)nIq^'ƄEMċڎwճ0+hRKZBlme?_,20AE6l ^N>ШE´`^PF38I7%Q?/թj}D).QþGeWSp6Ӆr#j=X޸W)yF\t|jXmG̀Ns- @Uܝ= MaDsC!X\bTB{o&Sg]81z蒿IG )$1Fs}Dt*\ ~s^|^eMiXΡ1ѱpP$l-O:(V'mTSF=!IBLm㗒bJ%'e skBy{, t^$q:5F:P n+oWX-y9|)Bv$6,̓OHb/ jsڄezRD~~89|]b ;OJX՟$2 OŁueTslxBeNf;KcbI#+HWp'[!uC aaw(3-Zλ / I vޓ"~Dž81Kas\ڶZ=/ 7ә13jF&듘iaͪuc*%鍆c Y$"CDrR] /cFʉHiCṯJO5j.: oNaO6AnN.)`D@^AD_CDd JaΓQ͉*oORmxt'ؤDmpمL7 Y[k=vlDp<b. )7Lc~edkӗG U#^عp@Q"|75Qu]s\V8(aԊjEjy~]nӪPc$eFp()f~gO*ؙ_!TM7oqsŵ B ~}icaH ;FdL8gҷJV&@mSkwuHox39@obh=t1b"<'vf]$ؓYp:W>EX=Ry7Ngx tRDD_viwQ#(y) *k9D(IﵙhL#e~ pc4b{ <*H3")hV^ZVkt c8F@< P| hQvԘ-L Y1f^6՗N!q%CSq!ڣ0䯴GaY\o?҈>z2ʄzP1{hٟªB0(Fn8,y;^f񤏩"}5unjtQ_|I(E,Ƴ 6L:<:24+"&ƵۦvC7nT.K@衱$E n6U`yWyxp~]o8.Xb{gMСl+cNk6,6z~~[(O!1Vۭ7kqGW]~!z}7ŧxne1}q sE!2B1)*a@yS9{1>BE; "8-Hv޿PE0P6.!*[[*)PEϯV1 *Rrڷ;yhpcZ9f<֏6~yW9nTZFZ)ܐ[ y=;U[Uٹ}A3?߆\ֲ]gp3j$ͯ|9h"jU؍~l^7(eG aerr>z•88[:AyIhfE/3If"^|g+/қ}'@[1=Z mgϫh;Bl6 ff YZ