grub2-i386-pc-2.12-150600.8.44.2<>,Ψip9| *e^4K!zh83ҰmSytexz?J.TKٷ )lUE#Ob_VClu+KT%t$ o*ʅADz ̄G >[RRP|Yedޒzi2ǨQpdmw/nE֓ v4=D<7c%+Ikf` H?bS@IJèQܲIQ6;y4R2CFBgQgAΔ(8`P>@?d # Yhlx|  L33  ~3  3 3 _c3 `3ed3kc3qbq3vPv` v w% (wO8wX[9|[:[>SGS3HXl3I]83X^lY^p\^3]cP3^rbrNcrdswes|fslsus3vx` wz3x3yCgrub2-i386-pc2.12150600.8.44.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.ih01-ch2c%-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!* >XK i4(8 $ ~y `    t} (B< 8hh T2Dhb&?4dlEd5X x TD$ $?)xJ \ | Kl;B#0`bd' ,(%X(x  H!@ $ %$itH8Dw9  LL|=" @ D x  8 X" lT @tDT \,t )Ppdd  < @ ho` pH00 . \ t DX t \#d;HDl(tth| 4h@\F|,/88`0 $ @x<%|* < $  'LPx!DDQ !n\;DdA큤iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii071e41b030c59b3d9e2cbc50171645a3dd819fc2505938bd11af38433ad42efccd387c88eeb6ea49b572f4404c955d58e07b84bbc5d2ceaaf7105ed2fbb89a08371e3549fd7a447274516cf9059f80cbb44cf74f0d2b52c397cb2bd00b95b6bd7a900902dd5d6a014f256d394f2b5e87db507d542f37e5f847e78e61557eb4726c7a8f0d3fc23c6181989c875cd3cf2ca832a40b074da5b34a2043b8a358936d87e372ca4667ded88bf95ba48e0871f7e1c74c98205f9b9e0a8f59694b441043d5e3f7eec4526a085fd02490aa9762c562705d38a1912b0545f8aceab5ed907ca8d901caa4a994c481feea58e47261e0ed6d32846e1184c506bf0885575f574fe9dc1c21ecfc359d349286377f8e53841e52b38f308feda0bd3205f4129cac3ad4dd2ec67e564a41b79a0be5b58384488874be9956385e45663124c988e398de37dfe620cec46ffa665488afef27cfaf0c0089d434de2db5a35ac3e6f41dab8954071d6fcf124716b619886e695deed301513a46cc66a820b4c88a2077803ef9cb47a30890a8895c18b3c5f26225cce49c102d205d9591ad733e12de486b91d96b4fa7e398c5cfab2006728c3e469909c98fb0146e2aac07e48a6b2d0aa3ada75f89458dbee005faeeb60ac183fa12538a483da9cfa4ccc0c5f3d23bc87ff6da4784fd714c2fb09b54927dc6605ec7c08356ee7811bdc4c9d79ee5ffe13294b1a4368c044e7f184084ef481e6a6ebd1f5c3cd41089d415b58d9cb56d3894579d602fce2bd95596a495eac5c21ac5a250885b65935923c8693cb3876d6042bce721a8e21b3c4f53765e92c2034ca200518d64b11d6d66d7177d8122961cf6c5c60512fd2a51006d9e88f71260e4c6ed86c7eb7bc94a0dee2a61998dd60f229d914bf93098d09e0bc33cc7d1227ba87a781b923e4456bb03ed27cb80f80dd91f95396988f3baae5068a183d6ca85b9a13443ca531fd882a559023e56bd5a856a3e6343b7e9f06388566ea5b6e8a3535fbaec1f695a0b3793caee5386237d4d3450b0fa61321246f8d3509d4be85feebcae219f909a52ef7b0a7213c344a74f87b23566224ed6b9115ac26797d1cfd405bc229e4c5e99d6b18f12463cdf9ecbac672d3027be0a695db635d0bdccaf0a5184636956a0769bb634f26429908c9cfd1df755f59868ce2c4c8aebffc3a06dd9696941750c62b565e9053fa4cba762d15d724d6ec30826e0580e80172eaae6b583fd72b0be64f38e604a8af89febceeb0424e5b463cee7176cc7d4b42795d1d02bfd739d7ce8efa7942ea05027df671b3726086d968dba41c82e7539f52f07a6ed2fc0418333af5532f59d620cf336bc197ab08cbbb34db28a5ebec06013f6b98ed02643caea75fc562b9e9c6d9f59e7b51db978ef67f61dc4a5e09b496367c96ef0eab07fc7a9d390c05f4b459ae79ed94f168ebe710174461afacfd64f9b0a8784d4fd5baf09bfed4fb774d05ce4f38abea72da3cd3b6827a2773d835bfeb9e9d316ac7e90ce965f320ca0ce12899d88501288484d9143c3f7a739b26b012eaa9ee0b41ca42011f7e97ee401e06e19d630b4aef544cafda9d096dd80d9e95696b2256e0d3fe0bc87b3b49bd74a8a8a46319e2ab331b3a0f190a49d7e60896b96002134e0518ff17f5d63f26a8e81ba972b798d5797373b26ca852bbdf5bcea9a9e4ef20ffb57cb7aa41e05883695a255918f78f7942461a94696ad3d92b446482617a5f59983e7bd8833d1ade37f58d2bd3d0eda2fb5bca6174ee42958d92fc43d707333182f1543bd9f3b9ca3d0bf96b1f54d165136b7ff0fa01ec74ca868b0448c23ff4680e2e8cb8fa3eada106c93678f5a66148f7b17f9f123c3f4961be984f1fea4284ae5b5f4528a2149baf5ef12b1315f43a02478e686e73bd19e52f12fba0d1b1e0c87c501d32831b1036be1908b66736ed92eb85f3366de243784cba6f373aa01bf4d509893863efc10e61eac9316ea294ff936a7c3ec1b8e955ed40cb28a17023ba8936eb7876f91c15c1db4ceda0156355fe4e32e9a022e4b7f6d8e46a17824f3fcfe3a7831e241d63166bcee3c7047096d32040363112f65811002e2ced20bec6bfea577fd68f63e6144b45467926dc07194908660ef9af7a9ae47a195676233d014382ab0980623c333674600f88aa01afe8c1d644de57191fe2dfbc380bd81f6c2b9ecda197352d2f8bd272e7556f86f6ab14dfc991c1fe567e0dbf1fbd44f5856bfa0453179beab4c070fc82c6a32b163f1f9c2e1ac2f25dbb1f4514d24178ee20b95f7a293573fe11b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc4392f9f2d27144d2292ef9d77d7b8060b6c87ce27a6163e4253aa45f2c48ceac7d8a4382fcb180bb2d0354d42a3cd3086387312bd0b98cb4cd7303ad2633596f64a07dd5601350032024c9e8c95e61894b2affcf2aa5aea5fa12de80a56a2a2e9e849615d90ae413465075742c5603a7386795a922cbc7351b283554ea16e8529abf9dc8f8985edba40b275143f34ed8d11f030f52e5cdf15664d30a275c8699a35b6ad64ddf322ae7fbcd8592f2bc23767d26fcba7cf07ce2026294cbe450ee2624b2415d60e372d1dbeb9f3faeb88dabc520934fc1ac222ef190398621d48af0428aff3de457012cfdfbb2b06c44b3913ba2546972b8d1b5cbf79d5e86ffbabb6233428d37e90c21a40704829153c72b8041aba0dc61a3dafdfe298f2393bf7039e120d2970d77eba0194b7859b043f46844ee2fd5a20e9139c3e2082c84a337bb6f2bf1270918a15acfcf455ced938466c5ceca40c3d35c74f039d9a255df12de603eea7f77df0797a37a6bf5b139bf5b3d5d6811bbddc4c9981838dc0f6f0346be84f23b6e2027a682ea930adbff1298390d0b7f4130aef881c2b4f86dbd06a5b3f0898e96f3c76b69c29bb57c9f43a6f7f3e12f2715667455174eb671a751d12a1c10f0e794cfffa2a330b211976f5771fbd30219989da03690a16d4de0b39d80bf1cf78722777ca6f36ab95e836c7edd301b192a7fb3a396e58c4ed56242e054f84f825ae4fba2760d07f65e087319d5c3ea4177205d141e5283c629b1275519a64441ba430e35d8ceab17e8428af0fc51175bc4b878b04489760ff84534c9570463e95d3ee61b2532dee6740d9a08ab5e314387af2adc2f2baff46fb9c81cadc778a6b90d3e714ffed5117f278d181fb9ba12d00cb1a958e0368db85e8cd8c0779775f36d89423cdea9e8d5a424c2747e622b1415dfe3ab278fa37a6e00bd0f5b0f0dac24cad9a2a80e036710db226b58d5ba03d702c10e23360c6199627a0141dac383556a0fcee12da57d2ba37ff9876a0d58cb52ba53ffac2f57800c80595a1e3ffb94eba890f3472815611088365e5a6461c8e4119f46434a24a89f7bb8d2f1f30a3efe20807b6dc5b2693d5219d1ddc6fc10270fcaacae1349a32450c6d2de4f9fcfe6be9c59672a9b4d67a52ae5bc1f7f1f45c80af8056a347b8a438ace6d822acf278594d87b0e306944e00a6b8ce5e7bd3f1ee1823a76e86765490b905231b78c728c89720a413159eba71c9430ea41259c7ceb4c572e78a1ea72b9d45a6c470782a2e7156a4f55ae67bd8dc49ae03f65f2c1898074dd6c9f34e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c94ac464e8608a4221d77fd960718128b6a58af45c166bc3f7417fac67ba5a8d4e6dddbe3a62d52d408d2501fe997b401fea58bdbac7e66fe22040c4b749af4da81780a4c9dddde0bb88fdd1724b576b86e4e6fd3e3f12ab299066640653248d32fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c5759e61ec581c157ff2c9a324c77acd960343e0eeb55a57b35ec488087ebfeaa0ec99eea9f8d4bc117ae5ad8817818cb35b869ed04692062eed72d3b589cac6ba4d6cb8208040053c9fa77954c7aa7133cac26d9178a6efe5fb7713a7084c758d5cc85e56959a4ba4230c8a0c855daa0c24594dbcfee79a60094927c9a0620400969015bb5239cff4ae35b60a12d0db84c4ae177bb3d94c48d5daabe42dbd00e579fbbea1bba31d1680f946eb90784894d1f333dfdbc5ae05198478ffee102a33e0fabac3814fe6a6bb6dd03a4c4edf55577d900159e0251974a3d7e1c8a749580da274cbf68a71253ee729d55cb0d793333d56ca8d692f6bbef815dde0a0c74475bd0cdea7caf8532ee107d56ce024d31861449177591db4e747a9c9ea3a065de03b66eacbd0389af07d02180e7db279504e96305ada395519fd494262a271c03b91cfb22add5bb314edbf89dea06150878765a8fe23ba758c686e62b835432f6612baa412c576206e5527b1f68beb72149e01c06bbc549fbd2f62fb85742806ac67c9c2daad16cfedeeb39f46977ead4a998a9e050c21f487fd9d30cbfe2a37c5587c6a5d9b40cb2259acec7a5327b85f4355ca9ce587b41c149ba9d730e8342f82bbba3a3fb14b07671687853d3f04326d65e38b51fee8ad58a14e4f4d7378f83739caa4bc358250a361ce2cd35d6e065e86250add51c1be9dd7a3f0320b9cfb24a0f443ba357d4d65952d8a86ada4a97dd3cd9e865217b156641ed1e9cbe6397c979b23bc210f8456be571110770a2a59ecdd2045fe968f7ef70e8987fe535b573dc4bea77711e2e453ad79e528bf312b366850b2fda544179d6a73ffe0dd67b2386bb02e27351c09983bd0ee917e23f919e8003de536c7240a6b1959c63167fd33b731faefcf699c6828123831803e0650e9c62244bd60cf7225f9a9cda7b6222414243b927bb53535f2b245cf867cfe71b28676432a3158dfcdcc14ef7e4b1e1134c36c404b9d5c73e6a77367726b1489c2e69de375c89163c5e1dcb9eb5c7be23a0901e863f0825918c8c2b27bceeafb30b9ebc85597189a599bc4b5bdf210181bb9cfb04f531b37844900ff96634ff4a791fdbd8ef5f215c93ec093a8810689af8f208f9ff65c964d23a8b6edeefaa4c67ba970388a932d8822ff737e654f3d118292d46395a61397e67d5cdb198898a9a7abb98e3a8c3d959a9569e844e68175807e7994dc117a19988fa133c62d87713a8a7278caa1476c771214ea0fbfc14fcb9bc7ca1246ec2358b563c5159b671bd71bd30285b79f8bbce3cdf22ac69c078a5743b0d19ee0ecfd40c8445140e580decde981cde8bea37149bd4684bcd828ba49dbf31d2f15f9c499385f7dfc9be4058baeeeacda5d62c7e9b0161761e5b7b0fe571621a39636bfe793f0a766d78d0f84eb012cfa872b9944e9f6bcdcf6fa8eaea68b878c752c58d0910e2b6a6d462e1fb47a5de8d30248e82f1f6a2d4d8319dd8cd91a6caa6ab490370534164b08aa26ef77ef0da4b8b969dbb37086f5468b76d26413fd0ba89008088549daf17a03c6e57ddf687a3a9246e5f16dd6b4b589341fdb8129e63a9952df13eaa8213b9bd1ac34c4d5fbb497b4ba7883afefd98952bdfa0b23f0930e64c9604e447e25a5f3b243805af5174b74eec012410e4e8fe1d620c40f497767511d2b2ac8c22374760fec9f5577028fc95e3b10796f6db38aa7e171ff9c1c9d1b1443b01fc59d34f356df9c56be657955580de867104fb4e31e3b126ac57849825e04cc250a3209687919d797eb59b133164176ebd7496854f304e888fecdd0b8f4c4acad0edc7357aa2291661da909cc3c0b854a3f5447f0357b796c0365cd1f0570f3c9620a8fbc8766a278a74c521c1df19cfd63f5984c9bdc123056722a8abd85a4336fda5747636b14acf2c62ad1e9f919dd8f64f9186d94a52046b3fa9bf0759c790b6075bdb6d5e610e2572282b892df4d0b3d6da60c512d265ef2e9d07e981fa0a7c05f9185c5d885cac2ed2f138f9fa9aa05d9c06078757b7604e0c6f6475f3d1f5923c70c30c3114ec168db412138a142a66752b5fa973a004190188fca0ecb1af984a47a49703c7d017f42a9876d0a20f85624794afaefc32c26b8d057199e4c679bdc101049197a59c30175e751e031adde9f54a2d18e4ad0f50eebf976c41834c3aacee68b4a1f80180c528187f1a96616a595e2f03bf557700d9c28f819358fc7bbbc7b99d62aef42375cd6061b8a9208496f66edcf43506333f81dd618d8da8a1586c23ae36ba2a23cc609bb120cf7000235db3a2cdf6f4b8b4d997c6db7b49dae50df25865034423139bdf1a195da111050a5f057dd7032f850480ddb063430d33e24e968749aee3a245acd0f2b49b6bc33f5adb0437f96ad5602265c815c72c2c8633544663de10dfd166ead8a2e7dcb0437a40928d9d251e3fb701dad819085425a5278c02ec599223a9e00860aa58bed329bd85b1a8e63ad2d6cbab9e52c173ffad08a399c1dd5de6eda0c1e5be96c7420337975e5ce2ba40efeb0a5de671e4ffcb077b64442a26c6de31c83306569a226bbc0301c7cbaed1d0c36cd1ebc54c14202e5d6d590a4eddc6d2caad9c22552342f8b8cee34f92bea574fb888ff6deae36eaefc457c264e28e868bd33b30bd36bf317cf01b0ea5cbb84ef26e08803466ee67700ea32f406802b841aba343967e46c11c58278506a214bd19e4bbc8933fef7b4135784387785f2a7ec828fedba791738104829f960b76efd941a0bc038bde88b1a9fd047683cc50d86f1da987ab23f8ba24bf8daf536ddeea7f951371336d2349d9dd0f3cb8b0045b3937c6c7c04ad8ad7f3930bdf2e19203672df0687eae22366ce17161bbfbec34c9abfef9be2ad6238cf78303a45b831b1af8d7d8927a042caff154e6759dbee462c6f8d16a068bb994c616df6445491c5ab4640c69aa4f5e25882158c682f2573864d6516d4efede21deb573d357b05f631807955fcf94725565250d434cad6b200c4749f34f359403302c7081b8ed1f69d7b881f664446ae151b03146a0052bba16151dc1da0dc424ff19a88d6c72147d3874429ae7993f656524588e8c8b7174e1147d2858c12f740f85978ffed7ac2df15d4d62b5b78afc63c4aef576692a2a68e2670b5001b0a950de357fe2ea43877e4f08610226f5d6e39a054dd79cdf3aac6b9b48baefd5dea45eb2c4dd310efeae77c5334b6b098ca4db1e97fc3b7996c70e5e34a96c965f368a34d537dfd8288e6e47b66b712184f9c192a91d92083478672291ee42a67e9ad0a23f401212774e80c1aea327b5ad705ad3f4f4e760c2d716a0f5acb59caa736594b861dee00e266b7492b4c5854112caad1d90e68c47eab842265fafbb0d4af6b1fb4d00d088db4e554c9de34b398ce012db9eb44cee041035f91acd5f3d4c03c6466506329c6208dd2baa3ba48803dce684f08a9afb6458c8f8cc8a69b53e0e071475135126f3e4c45b86c3b449c7cc354222212ad96fe205500aa0aeee4ec9594c8ec3b6ec946ecfd0cfd1f94a10dbdd44094971ad0dddaaacbc48b726ad8d316cbe6ae8b8b67f2b104b10ca4ee13fb5ba73aa526bb1d6ae1d335e33e9c9a34701b161de8713442688c0a9e988e73548d53bcae71035def4c7c07a2820021df8d80033eba9256bda39b8b2b67d1aed5d8993ec58c11142ab0fed55b37b4b1fbe0a6ec2be4bfaa28af59bd6495a826ae1b3d069639dcd35b485c3584319b7ea4c731d99d0a4e1af3144fce916330d9e60728206791b9b3c3165a38040f0f11ced2a8b7c356f9e2a6d33c8d2aba436d1f69fbaabc48b29f72df97f37c82e2eb6bd35a70642a1b1580884bde27785f9059169560defe87dba464c10f9678d7e17875a2892b99e8a0acf5b126fde310876ecf6c0a1f6ae549128b4a9a1f863417a441b2e0dddaeb7bb09c86ea43add45e5d729d59d41f71ced9d61881affcea7c9b0e6e060df451fd1f09ff28bf2a5c615d7d36fbe18369119bc00da8085139b021de4966b7e20e96c38ce9921d30734c872a3f12923459f435cb010735f9299b39b23e6c3b9225be2217a89984aae904c483307c7a2032698fe0e9bd17e7bbf12f794f1fda9ad486070baec7a2f1759842c18e8441e065c764d49b7a159fce0c531e7c0723a14026972d91620ee47d8280ac7a4acdf96ca77d49cec139f62e0f442fd1d0d3433d5ff360dc563acef00ffba29efc54cf8960dcfdf4a8d20b794a8b923f1f951403e0b95a28b60e52582810a0ab9ffb9758b10975527d23b81a8c7de255c785324dc7c2b67fb3ac40b159e0a4a60d8fe33f1429c5de12a5dfff60e47288fcffe1139114c00dc5a1fb44abd5658cd5a80ce52a6c19d920e8550679073cc8459d70ebb1be5c28cb07fb0af418055bca3f4ae95cc88e3bcc72b13b2b7e0e2a4dcbfd859f4259c5128537d86e7fb8fafd117200fb7cfb27af46847c35bba2162f63ad2e7f8eef2d753485fcc575dba59c86f5fb973a57a21a55af0897f820cc3af7d313fc3034577ff02c391e5c5467f1d376b5cfaf075b9418d59dcf6abb3a5acb88dc6c674f93f43f2b455212e40920e8926c378ed84f883005198a0bae83dd4fad4eabc5422c87ef809e34ad6190cc3a76de0d1a459bf5fc6fab8ac7930d611a27916567e4b19cef69b3ebc06c204d8b5ce2efbef167505aa88fa7c24b1bee1b0173b21b8787581c74ca50f87bc701f75d0b4e0eedbdc76fdfc8eac431deb4dcf42d6a9c0fef1084b50b3a2b46fc7228780ed434c45d8149062a177ef1c69fcccdc62d5027a3b872beba35303a114714ddc0440d72fd0c885aa40c0b6fc1d31c3b3c093c48a726c0ba9a7f8bfa28adcaa29f34cdaa28b7f14cd2d4be2d5f13c841dd255f2a2e4852a0e236ab31fb67b61ad7d6aec38910c354083b723d66ea2189b0cd017e28dc69de653df2e304ef2783ec71cc0a2b04a917916b527d15e0e0e62d8a0267d369d4b383e14183e2437ac4da33a65d8ca6758063dabf12a1cbf6f8aa69c916cfb3cb20647e4a8da92ec0e1349cd7819732d60e178039ab97dbd793e384630ea58e64efee556acc1e90005e28c94825c9e1564d4d9ac711b4ab3204db7af249ff1a27d1ff2813228f8d9448625e5885eeebf5b6a2d1fb0837cc3ee80bf271009af59af2cd16841e0c2a1c99004bac7f73febdca9d8590a528b3987d65da8e155dd2dad45e00f964faec0af1b457f7e242e8216f3c130647d98546ae154a2f1e55d34afda4cc9f6d97c67efedf8b11d48e2942012e28307005bb66ec6599b2b3fe7ab8e1c611ffec26685a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe2691de95b3d0dcf531c08a0bac08885f6d10745994780e152d4619832a1b38e0ceb83c4ea8afc4fa4f23da9f683a678d8fd1058decb9c7287014e19f0a5bc1f9f7cba3e2d3a8e43d4e86494587567bd3d7e0a3d4069370b4f8ccf0f5a401837d555dfd63192a0a599697f94a1dbc07ff3caa93dbe92ba6452cd529ad5a0199579dd8218e9def05a3462de730fd11790b91aeb538346c5a35e7001ac770a7b39b2193ca6e8af0c487b34a8bfcaa144f1f559fd56be74a77e8b0175876932010d218eeee729c5127fbf1cd09c19563857f89c135ea3775901e7387376e47923a57b1eac98e18366699d42d70760634e25ea890e793e1c1f6696f67cdd44cf61303f31d76a736bf114a13e7d34f787513c2f7524e25cacf486fd9272806df9cbca6e850713fe5bdfb1ba00461a38a6789117f419eee5d2152fcbb2a8f2b98137a7e8969acd3a1bffaab128592402c8bf6a0d1e5a391a105c007097a7cdb4cdf622350876c04133a8cc99a89640567032675cd65ef2d10441703b4dec49152288f58ad5e6632d4c70009d2046af18595b372632330e714825b5c6b81bd24b5a9df78e12e02f71fa521c4b86bd68923a4955f2a1c7cac869f0734fdd5d1d876fbd2f8e47581ad7f4b4bd621b014c50560ac03ada9b0c2023518ff1d5d9f3fd80daa32b3cf0249dd5629e9f8b50d297e94ab1bfeea6bba49e350beea2de8f6fd33982e2ce4f147f5eff2c12a7f22d2ab564b9b34160817a9eb2d416ccd6b27ccfd8518c04e88bf77df907bdd7c466ef0fecf196b5b35a9cd82e8db312645ef82c9bc0aa748b7c313a576956375cce44e024941cacbf7b082b97e69b1f0a53ffd517c4addafafb8abd59130f4d095a7fc9fe38e1e23be1fdd52ce77b0b1748fd536321f94276fa3cd97fcb1c6c50c1298a6e89f05b1259088a9934fabf075d49fb90d8982920e8b43a0a3a3fa65baf7bd8f28535daec316b5ea74068c64aa27ca7a42b81d8f4a7727c5eeddef5069593b4d3c94434f7879067c70eca310ac714e51ad8754f12132212efdea598e5c72d6980da1a13238dc711848a48c8df168a32bd39cc6bc643b95e3ba3944df0ef80202d747d503e44904d910ecdbf04380ce85ce9e8e38b46d1078190dd096e971fd81b656fc0994fae62d768e007038ccc6d603ffcebe39f9b6bc0a680bcb76fec65dde57b66f2571fc917bab5b165ef509cfd8dee2e80f3d90637f8889f02995f1697751f4ad4ab04074c7c716bd8cccaaaf3830e324d5bd6eabe40bf2d0cf031ddcc5cdfe9ef774bb407418d8b275a5af4c9bcfdc723c90f5b2db334b3d448d86cabf8f2b378e7aa2f45e43f013fc3912f007a1f552ae2a21196607607a60af20a25c500d4878a82b399c896c861055d5cf419574459db13b8beb137267f34f1c762e8be398664b55793d37745850decc0dc1a4f4d7c43b2dd7627a1985b206875e0f8534f8d8b7d256b878317135de1e703c7feb10aad475cd981c84d1ce6386cb01656ce64e9f91128dada510a831780e6aab98f9d1dee7404c87ed9bc86ec0ab1850b3037e8d0e33ea2d0cd4393c871fefdb1f2b8be73ea9db83782fff5119b943b4fa6458b2414e771390fb5374561823dcc5a44edef766348aa0650afb3a569f8426b08df982269251e8e9f707bb537f86fce8996b40b2bbaf05183523e0d50e39be8b739fdc5a63971a8403c69f47f0555d89d8be7a2485f21f6f152feecf7f8b0dd8317ef05ecb0c511214d1b67860ec98fa60cd657fce787ad7294c94c0f175a0a0198f8d724846024bdd0ba27d950567c04cb913356d6be6839851c9c6cc02a4a75b2863acbc56f104d604bac867b6e0632079a6a129308540c583af37328a0a3a352940bedb736149cec8415bbd875c0c3d35660dc7142a3c34d175b97ba9eafd601518de4cf1e25d449ac53a9fe4f2fedc5c1136f6b0bdcea1cb3bc74707703d178f6f6d261c4c2bac57f93c95899fb89b6c748d52903c97872cf6946f618d05108e782f4f51759f9bebb425502ed8d39d9360f8de77cd529e2c4f28f770b7ba63383d37e07fd86f673d1ecaac8fbaff853d85aefb1d608c315df54cb0eb506a67d118a9f9ea4fb09a21ac8c56f10fa0b31d24fcb01af662e4db003e7cfcf0f7ae8b543ff40202d60c1649ee0267f4628b512266f3113c7c4b7af16dfbba31796a1c3a973dacdbbbe796ff9094d253533d516bda7d8c1d0958c0a5c3565f639ee28e208594c6efffc0448f3ecf8a2809a384d310299de0fb678e5d3dc5fee78a2224cc3e329baca9bf4be8c6e0e5185bee40f779d337009be87d9368b698b97156ed010519c691ec9710baba3b7134f3d5ef7d6537acce3c929b1023d5c16734c24771ed44f22362752d9000807b9c52240a53b4c310abd3532a41f46ffa229585bc85b1607b8b604e4ce242ade81a3bce3d48cde5a96dce33e96f046f204b012ac8fbc083cc1d503c7e9ab60e73ccb4df095b255bd7d54e84b38249969c923bcd5401d05517a4357c59257a120387f7145dca5f9399df30acc6fe6dd9e7bf1933f64a3996e6410dff133d201275503398b6478432771633388401c2af6134f03991b0654a8334bde0711d86840691ea90f5bbe181d89fe739a9563b17c31b3e726e3fe3a23525c09720b212ef23b42362d7277c4f0396fb27eb3c6aec75895e9deef7ae9038caaa2d527909f1290b58bd9db5bd496e58ef6cc86ccd107539bc9bf6025760f68880490c1623abdb3a35eaf634cec882add1c8cba9a0c606bd9ba09f09cf8de9b3c95eef2bef11dd4c2b4e6ece096a28b9e4d0ca6f8a966270cd6e655b5217bd21bd91466963adad7a4e320f045d1f83add6a7dbe29a3b875152a9f2683ef69f07d954b761de31196e886439ce79067a42e8de1978c6d1f8ec11732ff1799dacf2c98c473d78e21509dcb0d7e54058a270d6f6f763765a04f839b0c8abc572744af79ae631cf9179afed8dd8547ac566925f3d140c2c5a407769c23f3eab860b8b9c9cd467a76abce3f7a77071e1dd778d60644d9524789e8b1f4a3d8762a2d0569c83dbd9e92a3498fa3797fa150d2a672a35766c9032c979d2062cb3a6a5b9c3cc8a4688d055615cb5dc306c80d2bff14ae45a43cacf5a8d4fa2d6a1c98de5937e712d1faa2e4c1f879cf70790acaf290f4201d0c128f72d5b18898c10efbe703a5a4fa6fd17afb3b4a076eebe7d1690ebc09751b9e44aada3a759ab0108514807a23a0ee2bbbb47c023ccb80d7129a44d90453f00aeea89c0a8ae822e41f267388661f239e8a561a280868ed8878a99258c2cb3139efb2af0e83da5b795be512ff8153638dcca2167b63f45de5371201f0b477ff8af7415dc21e63a8621c45b6710635f4f5f7d62ab2d188538321c9c9a7d4c50c07dad2c6f48d6683d4bf2b9c77bfc58faa03b8603eeb89ce7a948c8c6069ede46a7305daa3c756a593196278e2ecaa7d0e1fc0897bba9f26e56ee8bccd29dbd2a72ed98a9aa52b5582002c2b7e18370e49a7a5e7329176f35d8544c2474796ea37bbcbed5ee2d2cdc9cf93235a520fa44ace34b05a54f4fcb95e37c4254bf51a909f9fda18ec8b4df74c6712adf90dd218be282b15a992efb427e5eb7c9250e787aef84fb886a93c9f905a1760e23b073626955c800f7d12a0b5770df002974b5bb95e6abe4432893caa22d3df6b2130d4c7b9aa34441b1b014fa2409d168efdb1ef6b6bf182561d6a82a3029eabc34591b9f6d6f94754d3088363569793aa0b082b612dccdcfdbd60586200ef70f3e4bfd4be00d826bccbbb732a5d916c54f6c02bf9f15da704467e344330d0cf30230a7bf0ad36a23c7eb2976449b61bf93fe98841a93d6014711875868e81b60bf50ec062acf2b7a3db3785559c8a7819b834cac5c5a1de9b9dc01f69d5ce8faf4303fbec92f3fc2c0a7c622ee181592404c81dbac825e5e4a2b887b1587f95354025179024be920b9947938b755511b09b13d4764035804a830559016cebd50b1c4417069b7cc969fcef62f49846ba9bc5557cfffc7bf94b2ba482520579623252be39679173a55a413ce04a84c264abf93d403e83fe3970edf9ec2b9a437e4b4b4e2fefcda0fd6b62106f3b3991e46e010a7da94d1410029d1d8c5e483810ebb05407545156959df822387e33bc255840600c4a72f9fced8518c5535793cd37b535420d4e5b176011b606f4f879d3215f3b3bd4a623840c61a068ff2187617725908216a630baf79c8e0dd2407b0caf58204221206fad5f6f52cb58131af4bbd406ece3345d133d8065c4c1410a6f2476f396e6b32c86aba99e2dd3a845205eb5b967135ac354b2a6b5c2addf38aad4361bf07495f6f3b1781fbd8ba29e4f0d6708897705fd642a34766c49d009dd85187dac51de3ed761aec00e4803b687039df3381682a39a22148d460a806cc3bfdcdf5246a8a9f0f918788e9f6e8e2f01e1d8d6659646132acb12a174f3786d82330ccabb52b2f1476e2178d6280c74f2f8d8df9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.12-150600.8.44.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.3ivhuhuhuh:@hh@hw@h@gggř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.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.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 CVE-2025-54771 (bsc#1252931) * 0001-kern-file-Call-grub_dl_unref-after-fs-fs_close.patch - Fix CVE-2025-54770 (bsc#1252930) * 0002-net-net-Unregister-net_set_vlan-command-on-unload.patch - Fix CVE-2025-61662 (bsc#1252933) * 0003-gettext-gettext-Unregister-gettext-command-on-module.patch - Fix CVE-2025-61663 (bsc#1252934) - Fix CVE-2025-61664 (bsc#1252935) * 0004-normal-main-Unregister-commands-on-module-unload.patch * 0005-tests-lib-functional_test-Unregister-commands-on-mod.patch - Fix CVE-2025-61661 (bsc#1252932) * 0006-commands-usbtest-Use-correct-string-length-field.patch * 0007-commands-usbtest-Ensure-string-length-is-sufficient-.patch - Bump upstream SBAT generation to 6- Fix timeout when loading initrd via http after PPC CAS reboot (bsc#1245953) * 0001-tcp-Fix-TCP-port-number-reused-on-reboot.patch- Fix PPC CAS reboot failure work when initiated via submenu (bsc#1241132) * 0001-Fix-PowerPC-CAS-reboot-to-evaluate-menu-context.patch- Fix out of memory issue on PowerPC by increasing RMA size (bsc#1236744) (bsc#1252269) * 0001-powerpc-increase-MIN-RMA-size-for-CAS-negotiation.patch- Fix boot hangs in setting up serial console when ACPI SPCR table is present and redirection is disabled (bsc#1249088) * 0001-term-ns8250-spcr-Return-if-redirection-is-disabled.patch- Skip mount point in grub_find_device function (bsc#1246231) * 0001-getroot-Skip-mount-points-in-grub_find_device.patch- Fix CVE-2024-56738: side-channel attack due to not constant-time algorithm in grub_crypto_memcmp (bsc#1234959) * grub2-constant-time-grub_crypto_memcmp.patch- Fix test -f and -s do not work properly over the network files served via tftp and http (bsc#1246157) (bsc#1246237) * 0001-test-Fix-f-test-on-files-over-network.patch * 0002-http-Return-HTTP-status-code-in-http_establish.patch * 0003-docs-Clarify-test-for-files-on-TFTP-and-HTTP.patch * 0004-tftp-Fix-hang-when-file-is-a-directory.patch- Fix CVE-2025-4382: TPM auto-decryption data exposure (bsc#1242971) * 0001-kern-rescue_reader-Block-the-rescue-mode-until-the-C.patch * 0002-commands-search-Introduce-the-cryptodisk-only-argume.patch * 0003-disk-diskfilter-Introduce-the-cryptocheck-command.patch * 0004-commands-search-Add-the-diskfilter-support.patch * 0005-docs-Document-available-crypto-disks-checks.patch * 0006-disk-cryptodisk-Add-the-erase-secrets-function.patch * 0007-disk-cryptodisk-Wipe-the-passphrase-from-memory.patch * 0008-cryptocheck-Add-quiet-option.patch - patch rebased * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch - patch refrehed * 0002-Requiring-authentication-after-tpm-unlock-for-CLI-ac.patch- Refresh PPC NVMEoF ofpath related patches to newer revision * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch - Patch refreshed * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - Patch obsoleted * 0004-ofpath-controller-name-update.patch * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch - Fix segmentation fault error in grub2-probe with target=hints_string (bsc#1235971) (bsc#1235958) (bsc#1239651) * 0001-ofpath-Add-error-check-in-NVMEoF-device-translation.patch- 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.44.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:41493/SUSE_SLE-15-SP6_Update/e6dc3b29ce8ffa747795fc83b17b4cef-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]=dbb6eab1d9b2169929cde2332f263518b331fd75, 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-8b1ddfc83a25966fb5c44cc79ca4d4443539e1270d456b2f83d60a4de55e0227d?7zXZ !t/(>]"k%C¿DeP/[ pL#sT.D4nQ.+{ !l%`$­7SUhe|C0sQ 6:v'hVwMbM" <4ykC^$^~o.[haO4/q*}W>) \s.ΜM"*dpx/owcURy(.5AyF>EhH%LifOQeinShv LGեsz \jGubQP~]y4#ڹA'+qn^H⸆$"5lldqm_V/65n%xA cU1ӻYޞxaB':1q|lG v~"s-}%}-ۃ-߷QU83 Wxpq h@l%=|%G"]np6O~v~e96؇Į!rVDYaj -B-IϳIяL*zf` ٤ pZL48+%"]sur"~"A42ECwr-3M Tkd( :藄pT0` ,}VJmG@g31;hqypp 'wsޥ)֜|5Ybn=`_*MzۙݗaqŋfLS>[g>{ #sbma&uǏU 6׮Wtlz k\oWJftYm4;,#bP *u;ps'7)Qh=NqI:%17%%GKUJ9۾yY%Fn!𴢛ޅ#GCXk'Ҙ [)o1=X`zI#7 0_r! I=lXAJztC6xtXK6?u5H׵^aԘ$!}Ʊ-Fr:$(LbޔQ!/~jt*]l/!!tᜃIR3&9JG B. knc `[H:?y, Ύ r6]֮ٞx(j8V Ŗ;t֡5xzUU5P"5|hl2f78z@E;$;^kc8qe1d醁w#J1Eڗ " ya>Ӱ Q]k@X }$sY -9›"Q 2U)u3(. x<{ᮒlR&"/TפK(${_,Z_ 8:qw^9$HQ}s"u ?eXVQM/(%-ƥe5*Uq,KcT,ړj'mi{7 %ʓ#´@qVHϊd)krc?Z[ym<oT|s٦BF}3A*svWЪjb97O2[(Zq\YN: /^xIXuF! ; KL]505&LKCLrI[f!maK2X#(Jf^ґ`=m0S2$w% @U4X8O]ʮ! Tj$NCc, m磫1UT 1$Ǹlv'n{EfII3 3 .ٙ)*x|_.A4~:nĮe?ccL 4(N`YtƩsA0JE^;'ryOL4\N]\d>Z'+qۋq!*;A^c'gIݘ(^rEJG[Hm~J捣x_ ]"Ho=~`PÅa* O>9gUӷV߯zKx.?^TO }K6B4nu*ܑmgS%o2X_-.;X۳7dx[lwcģ s;KaRgwp2#kQ|R&Ҵ\allnFP2t~JAQPY`Ea{V-~-;h9^Jv`)Uqsd쬲! $ ;0dF9ϥߣKh6oUJ%X&Db,L.L3d-<ɑG/p ]v{R.Iϟ+b@(.;w?s :|(3Borh~/9B|&Q?KfY=L*e]Y*&It:\t ("4y|5@QrVlhGQv*UׇHZ(Z-]Jͳbi9ɺb5?DJ,_{: vK p BpO7m#7@*M֚2^\5>n/Я@o!{z(Ȯ <=Qf_mQ/7~)a3\0Op׮h`jë^Ytāi TiD?jCA>0r XBUt%^ |GZ#m3X>́1$1Hݨދ\FRn23N^=<^ ?R) Rbׄ]>5rCfDeȡifa}uO|}|0Or-)Z+C(nA64-ic5TM%+j@_ALM7/YBo%mG*g!r$U tt%hJ *n$V*=^Ƥ}7% v<;uEm?]Qv-2_R!cH{`+{ n 䡋UNc?M?1{-/]1QNɛ"ݢG?8֞rX+Z(BN7~K]͝xBu_5ϳy\X~X,=Ni\ө}S6Ix+wkM2Y(g-_߽ (5?>/MltNɽ?4)%`JEHFQǿIU56V3zt"L[ɰʴ3<'qL`F`pb! 8:=,OPq(DPufpW·Z`j%pa݆&/HKr#*+=TB3 ]fvuNq' o>wKoѹa=dEri/J0b }5f84I=U*bJ WZ:adc/m:dtp"_UNxl.쿃-|NnL3qst7}I^}=(J옥I#f|SozRćW[%Вu)=ϕ𡰧SA=iKt&`PsLQb?"<F3NS&x_ʿcB+ZxYك3 "La5PAF[CB %\q%8@uܺLG_"0Mx0EZF. /\ͬS<ΊjOzԾ{>ȴ矁SX{TH f| nehܣCBΆUÇ`l_ۊu?k v!Ǯ~<?qc^%\ փ*r ܩ^$N]qY#Iʷ~Ga7&zHʀf>N;[LX֜w D K}0CJr00Dk˭6+]d]=cn`+~2Je.Z#!έǑwHQF" q3}o(|q9o'f|j"637sg.(*u+4GXzi\:I%j+ 4oW9zFXh|fLpgī-vKdQ&@Z2ЪMX,s&J w[\ѹ !>}Օ%C}]WɶdǼ߆)aU#tQFhWXdq2#+ sDyȂi{+ܾ B/QLgMZKH} 7R>4!%U+@qAf Z1i08 ~CNg1/ 1d%D)(o<|$8O.'o"%*Wޅ*7>c)A[ -U͡*2UkוnOkqB#Q g7"-;Z9w8US%O+vFUl7 * t>~9X!01?DqH hpW@iRJ։1_ QdsOXnݔeV(}f:Hi .X}<5!󒌔LDB4B'psjOI}D{5:/k7bF#P䯒 ]Svt_h9<+MQIsэw_;)A7TDizCzm_NdnǬ rKLĞS,xDaKo͑0"oXL6sgq~w֍4PɍqhuZ?OJbFf2ʉ]%Sim ^ѫ-;(ggm"߸|h=wEL|`=^N}N^VP8ȲS(JR ?:RdT-f6 EDRJ;+b%mID%Pwf;N[8[*JP'*O!~{юh0{tey%>{0!כ }0#2DdB\v`ߑ(adgc|!wv(2NUn"0ݝ;:S`](aqf 0cz,'9^& I4֦&Ta(zJQ0qP~~R[N4V3^0*0oz˃*:"`|H`HZZa}DrKh6jk8*7,}iI_mS65PE5Eb%gBI4KvX0\{)_g[2j򍨣&(DN% rYbJ&$e)Qru;x/⫬eILֱ)U.B$eƪz@J蛻$cd1u2ϔfE(RF&&=ͷ̂P?)f bW !n2sQd ;LgfPh(۸<KG$j0MVT"=9TÁ)S#J(,fkom<|“F,=- C"fޘɨs˼3X0 3ظF{4cu>@wRp6}rOK]}F?P{(q;Vb9`k3wm+\O18|F4ZDhXP, ֯{j@7l}SY5 $&ʑ7˸I$ttzؤ8/s˶#<`SS?䝧h{{YL\җp|O:B㩱1!{S ãױRٜP/,nS>ì/1>U9AV¥et_n=Ĩ"I;W)W'ܛJXsazX~vp"bPv_o4wpe$H Df᪰89N*CAg-8[hEaOJ#vGZ$-_ _*S$2sC{J!G]bڍ.'@ѩ ֨jb|Uh`~.S)ci MA$r׫ >h sl5ɬ|L\wV Ŵi?% ȽJC5`OImgƣ i1<~`5x  `=J82 xVde$*B(^D9kPNP,T23*|lK\Fx#Yu0$RÄ sͲ´~ĒO=ֹd *XUD7BH?17fc3Mg`_wmD+4ɪxP.]j˨]rl\8I-%d\78>3WVs,R7 Kܿz0TaWe|Xge5.k!?IOB7 ۓɅ`zl n3G6 ! BA55z(ġYw\e2k( Y`KLFbnz+";MGorp%uɽrLQquGSP+iF=[Ar&iwy6s!?ED_cJrhcJy08EtWY6071FkOX^Գn#Ԥ@VD~p/|[; lcꙔ `Kìdv⦌+c*(6X߫ɣT]\;0@ &G[L5(}~ 7NL[<icZ4`Vc+61/jGN6=V2%d[;Y\FkkgQ35raRܰܣIK*"7?)vK߈6?ȩ% ֔lڴRW[}/>"=M胬L5"9 ҙ?L++@:fA'w^(lȜ-$dmro <%zS;.ɥ_H@~~'a8ٻE{[1}31\98!737}R2Ҷ0 0 fbbS7amJh3al/>.Fa FZ8{ۡUFG3s#)ht" sPu)`UP$13\ۡ@h= xr,}n|CGu8|^Tl }ubPe=M4jIq @vi< {}D;w+TzhP P,7T!ܸwNܦb|i­tM5kYk쳗DL=/#gokxtݞœ+~+ 2G1,L_EIҹ,*̄5\i(ZD7ຜ jObţ'&vVV晐%"B0 ^tޏt rgb3kBv[sbH)>j聊!+#Cdys0y^iOFMe$wXvR`+ {T,!Ii;5he-]L$P: HVmP;Z*X|2۪zyvk3j"HF0xL~$_(>`3~+ kaӔ;j@G\(!^ZmlxcU) 6 jF{c߾)Z_FҗʿTʫw._KbVtHêcitYbqWα?AKA|BoJxrwUw0pq&j_eM4 xaC4V:eiq5b Z\l} ]KKM›3^UHA{%s3jdsx'Q]>R^cܱ@|J0"BlJ1F?m5E*<JX9f3 M`c;[[IS/v.dt﯒eD&7lZ"k) ۰䐹SZ$4P0(v'08|KtO4xǍbHTˢَXEsic`Ct^$?<0ATtUoEj6=>F޹/ aTVU%Ĥ ͤ`7(`,!e~گO:/ҡ{ځmRJyEx~w~( jN]w؏jXNao"/tOjPb'h`%45? B D'8#Qk ӬPN棎Z&m`Qr u[UܪqG} |haLIRU; 5問INIσwȹ^jI-d|ůLςrc;I-|y^2H`1a@teB9.\&Ȃwv@7P45R]ބy8dƓ ZhhS:u֐W{]#% Nٽ5h uw$I>B̗W*OY75-M4LH?x%בGyo͹B?^*J\3潘 !1#(v)#U_ܣ2/UPHSd\ (*rC&r,lה/R>Sij. nefKiK:ww hHxVLb$I]4,yߢ}DQ_U1G~q![ai]j ' #lݧd5btJD2ܱ!L`1pV-~L5} `i+#3\۝%j+$i ljJwWtjiiߨ|!`]/>|/ :\3):c#osXߎ!q*|H=6zzJE(7tm MFh<,'Q+DYzvmƻ%oMNaxh&aPA>(0a^Mb9ŔdHU~M4 PeG} g.r CL D2`^-Iҹjtp~"O u-5t%cSO3佸z{Ri}ڼ 6XuUԍB5}[db "$@ps:h4;^|u^\ȿ[O@z:ϼmZ#aE̺m(R1 R,:LD&hBdiZi~76Q cM#O^E@nQxQT(3wٞhҨJ58oFm@1&w(SJYOuQ iD['O\{p^W Df[lZ49m~&0|`'OV1[2x{y'BӼaUjBZ/<~1^ +T C4 !Sf"]nǴ;6uJ|-cb',oPq*^?):^  0K5\d^1HOy}S!R&imWUnSbޚ c:E$y@o hgOq3_R=8 "ftm&[{"wms%#X=WEK| rs;i@&(g0_6@y^)P`"0XIaHBʗRHPo*טf#M,2/>#| /'-a[%LG8;[E}7xy, ̰Uܳc ݤ0L0튼"̜BG:Xwvp>iT+06&)Z9.*HwqT8N)~ F &F/3[|GbAz9ԑ'JN%HJL6HhnME)Mw݄<@`8b:6yfhDB.V@}f{0ߔr-͙y{}v;+JO&ՒQ,ANqZ"O<𕝓"+W_GN7$>PРI?PUYɆ>D5D^-u2.z@)h&^lOb`t`В>K0Ŭ7#I <}Bev ]|&FWޢxvgPQ--[I/1_Eb0o$+6My[QJ%fq^EbJoOThHͩĉzCюJBT? GKƘU !;iJ:d?2ir5o K3dU (}\ı QhuJ^+LU.l<ٽRN D;R%FLEȊ_eĬ&lSxU lc6"!aK+@foʚrdʽ7A 0t L/ޗ;h(P_Umlayn%- .w<R1?-vߠ%@"M&s֘>-bӪ79$ UiQqN0i_{_&R1fTf[L5< FL"ȜL xMëzcٷޒy*#T B E="}5H@1 kkgm>4\*rc\cb!6=]y+W=3W p`n5ݖbaͯWaU^[W@򹊡ҟ1%73vd|W2T⏓@嘨/&[zȁr}8<Lt({ȉvGUI&̙sMv g&R. @u؀?zN" aś<_5oY P=?OKrTL.>\$F^%ڒEO1 r DŽUH.ՓTDOz1RO}EȎVYN #^ܯ]!7g n$^̝ci@L=z9PZॸ:jFpr/v \5Shl>mE@꧂>5} =S&Sߪ"~mFl#T7HBsmEJA5^4 Z:9&sNـS˾5d5jDZoD`Y#xyN*fߊg$8,8̲JSi`q aS䐾 śmܖZRyP渌&FT##^{lVv鷰2rFk(?A>?Sqr|sIgnS>W.K~XS ˁDV)O=v<߫b76U}0`&Tx?Zy~LW$UWxd,$f iOϙ}`Ȏ [i⹌1WxĘ]rS/"!ȶ9,ӏ? ϩ!'wO0&8ion% Vp)yvkw!8q$bTqW46W1ӿF CI޲!r{&w{7v;#۰Ɋɝ9(:ۜz"&ƍ#Hol6mYPoohPl7g`JK͠#>bj8~~I_[ivN3<$r@9vX֥]* qX+N[a'`FڬwF}l:PeZO5_DNn꠼g,V# L X~>tO #am|A|߉Ar|2'jJ-=1qdM)>w W #433mZhH20T^Y7+CNmnjiq[CNIE g{1[<8`"ԃ}zDP8Tr% ^=!ĩ@ZR_J#F kSq.?~W,`?+# ƃfzc[#Sb'\s]vݱą$¼GL/a'%<FzNRl3@2{_ T'9wV%QWkN'+kd=)1 @ Ck8 SS o&c cUyR-^MPѠ7u9rI0"$oN?wG d7$&` #È>D,rV,I˾S}pXwg7~8吴m۞ʙ9HsfzVZя;*wsxȫv? e :}/"?抙idx@Y#, tBoߦu3wun9eaMFU=jyVC w}w%n񩮾 Br*aU5>r}+vʑ&#n}@̿7ʸϽh LA^I}(Kf=4?\* ^{/)b0 w7@;uWTԠSԼd6%.wb_#qsb[Xg yBeգ@^ L'v\?Z ̌hRoB[`(YpJj,e7'%r<4$nmV_(ۑ#?Lڥ+:Sw D̛%>չ@qK+ >Tmڝqcy!+b!qL,e>(q\k_87;A#M|s.̞T0y 6=z9.ʔi#v(m66 xDheG#[P1E21-8=ȏA5DJ@w>H˰bY˶|4 63H3 7D $C'UVdc)1a78bWVK``+@VrxOO.4w @5b7Gɴ%G:^hpwʶ^NL&$/&wR3NK;I]z5);>Ebځp}f=Rj,R|DwGfڊ7\9_p0'fT{5nH/i.˚S[ۯ~Ep(:t/q4ϘEDo魀:#\ bV`\[e9?p7[T L䋶THke~xMLgR6r[աh{荿Ž_8-'lpFѐh1(q@9, 1:B;#Su˄ _]lkFјnA#Ϭ hRbB* o<88MC';5Y]`++^qL[=-g,ݳ,SN9׎ԫ7MO[bh#dAXni0W˲є`8*濩"A~ƽ@Qs~ps[Ier$rU0,B~C42voKO#s؆?A.A)D˅Ƞ#u:Ysky$ _A78YLW~͐X;Hn'pI`'8MJryM#Y9h_4mbѧ@Vol^jI v C=emex|`@H0348lma2 N~?W[g G1fNFm&Ȉ.Z` X w#dV,ìXR_ "%JH /"/+ ]<MeW8-E; ѝu ,6SE7jyY1o6,$u pAR˭LaJ?,_5Z"g»d$ m6,7Ӳff섍 +l⪇)ߞمFfF'@ .I8^#:<ڋNKpAk~&## bh'5z 3+q( N܈1+h..L\&[8LjF-y\Yd1d/n IoXY H L;jclJ!o867\?8XՒr`./.c\d?"*'%جӡ?ߥ¥jRșJVdhtdE '(KxӥXwmFYP;Nbl҇v<޹.^  VNw:gPU\vzL1#[ F*}h,i6TNB<Ǘ{m=gaT J}2e6^ekugA%9XJC0QOwf%3Atx_ n64A`<π)T@nZq Mg=6_.*(ٯNc|G=#Q'_jS %BGuL vٜ9;XM(w%rM@2[H(YD~C\&(31M9{]:e M./rE,=:mwB`<]`L9AL:+Ra? :y}XtZ(5K2mTFXJ(fv)dHl5I1xҟPdb |Wf*|!΃-[r@v)g $rNGX0ցoPOao\bGPUiqKY $AmM`y~N.Y!䭋\{ۙDŘ2ubo$swd`6ON_9nFhDw  ڹ rRu+MY3<Tڠ@FBYgzqN7]MF͛]1 o b6A}u1xxhZmua'؇[gߏ9{~dM.N^4#$4N(=a8Ў6g:csL]2hiH;M0;U!,/#NռjJW XX;:Q?-ZTģMFƋv_7J5L">cx%?v3Z:RBf0vFQd[ \t޵r#GcRq?p+ q†~z:/)aeL~(0u 5p-^3'.y; h#@(a:.Q8֦Q,Vg vMKJNcr'h݁|[4S^ cq% u4}sh8k:D85.a5sht.PaX2KKu~oHn"W oz"4ƺ3:Lg7Z1*lo9.i?ph ̈́; *C5٬̏1"&K0goA~TCs(H5?233w #:s6w9U։c:aNGxx*=W&M !b<+kD!bQ(1@c"_kqKת;f::}@{ ?Qs*{!;ah1_o)C'uk==Ã5?Ŧ,>IjT܈@SFgĩSTt/cU gm#8\cwޏ,zZrKٮuI!E'ܮZ:N1a@^=U8ho^VsPT5mz ^&~׳s +. ÊԜܕ:ASIM:e<sBX=+aML5l!ݎt~9ۇԨ;]9Wy JײD,f"? 蕖9_QL\0{_'[H^<!Bi30[qk(E~`v` XB.[C70Uk҅QiɻfIsЁHpԀG% 5ݖϩC?gKg`ݥ 4̳N䌏vM)O`I"(f-<3sk؈MlE%k!+n.8ZT6=q> 8w$X#"ƌ;^ޠ%}; ) Z+i#+ɐ_N X*%U;[jx7o' hĀkҋ(@EoUFC8] pfG}{^XFÁP [B5ZsYsVRu'̵" ?% ^Lea+4QЩͩ {oyt*H'\.ՙ5(ƛMt;*>'l,׶{&Q!J VC {UI Ko2kzTdw;~ꀰ0N":d#g &',\&uVxtܮ|xX\ r"[6I/+I4|Jq:s~FB hW1BwQИ֖>~'?p; 6``;mikS͙>[nM0R%’ 9tYE$|jyT7x047 A`vKgp}0HgO๞8Qx:s=ȢhsR~AzJJxߚE{qհ&(AE×կ8 BϬu-Gh/2LR!ՇD.'*9!x̴I_u3v_< ^W<K &V?<xXנ'BJ@)I"Gs%Ü!ڜ(Zo(HgBARk.> ks ;c<.i%q(XS{ E(Ǘf, LEvew{&"tMw¶?) xR _ig@= ,¨G01!S tsA}"XRM|kMVnFx^fDrkZDbd;]$ |m$W,»Du}gwŬCT԰tʧ˕?\$yQb8~\ƋG25 Mߪ`"Cإn%F> ;%b`Aύ pu{)yپv "W ^(MoEIaUy$,^Rfm7 gN 嚹i?GL4b ҳc7HIIpXÞ)쿱FU_e+S8{` EJKzWCۿ\vS7j#r2( ]ž>1SӸ LQoFBGeh ^#AAb R^+n_=Y]LȌ1ntt& pvf Z:}7t֫b5 5'<U_;4vOI{Qń;p&؞ͯ`0`Yl|00<+BڴlJea3]+#/vLV2ٛ (t)#KrKa6%S"pA$t*bh6P@%*_O{( E:b}]"Q VϬ2#x<ᇇ3 2o9.2CWccyBZYٹ~ɼ*gftٱS PNuLؤDy 4nTp֐gҼsL4bɬ{R_2 NgRYR@3󃉏xS.ZD=(/EJ-YMfr-晚X!'h0 FF#iyiUPx 4)0{i )5T<~ێ! ymbp![b",Hmm|b sX37km Tv`REf7&1!g=\&&ۉCqNwsC^CrIwp,w=O= Si6b]z݊QLJ=Gt$'ٮ_L^)P9k$KE1D;]l 5,]޹ c0!S,Az0yuAO .gmNO"ݍUȇT ᜗ ڽz_,C*qXHuױ`U $pWr-^n,cZ33:ۑ۰I}+鸴!}^xNg RbI8wKC3 yӁ8yGrt A 3zH"q+cG F@"ʢ ?3/AVebHµٸ2JZFEw;!K+6..{6uL#s(|*xovr)Ϗ5} eH㫕Wɪ7 i;77Z8{#Y`9h/jS^D&T\/"o R_5rLTl|.BzS(ȜŷIz@&tY568.`rҞMln amJê@<9{Q%杩K/}X),nsQ"#,N`|1(&i6Toä݊5<+g.Ȇ`cO?p\D)8H*"K!Ug`eݠ͂[fe ){| K}|Ь÷ل<;3&9' e2%Yj?RI/ćA͹ *kYou(w_6/(-c|9?) $-\y$s4[7V- @r` ε@^.eFBB ?Fh/֔|:Oy5r)>sp3WjC||[mI]on 㣆Rq墒3DIM>nﵮwSooDy G?ZpK Chgߗ@?~y(c۔OoVҭČ"yA㴧E"YSweCe'#r3 =Ě wA6𚅵d!O(D-K:˛q_ewys%rJ>`-g73Pȴ09չLdھO= [!z$5zǔ[`?ֻ{՜ϿHrЫ]!@ZjO:)vZѷ+!)=hb2<{V}y] MGz߅*gsV,?3߀q~ LGuk~vm v{%PPaƶF[)98 )RoQ螕9Y҇Wc6Jcl Q.sʲRdֹᶖ[BódLyF{ٰ=jG<1z`L͇`NN7!=䐶%Ho«sA`Q99h!} xɏnzJʜ˶Oi~ 2.of0iifb\63"||4dΓ#L7P< lNƵȈ6?1W[ķ $gt 'F!&NϱWqS =aݧa꒎ikiqn,%lOA  f鱺5'(7yx?(yogv`x!)w${Blk9;#z6te^x wxjD"kphq~mD/Td);&J#OV秹8DMLKYbSN$~Jh]'˚}D+F'ҧK^Mi/#. B=r=-KV~܂+k"ss[`æ`p EP ݳN^jC&jY lh/RUFi#7W58c*c. +0åEmW,nJR+fi—d+_`œtvRGa<"g`3ɔƉq׊TEaZECף{c*Rr_iO?/=>bZ G^XʳK>}Iyn󙂃U݅DU7h£hQ7ELML%Cg&W9o6RrZ!z'%d[RE&}//dnMo߉ 8KF̫5@r,y{1G({er3IDy,ٔ߀4t\ 5tugۥpE2?F1?ђMؙ3ۤ_]k8o~P ~ <ބτ:Q ~Az"¶h|,\l=)6ҕDۜ> FuGĻ(bYʝ$1yri_*T2Qb;L Z/ɐ!wZMBcx~I!$N( 3ցku¡6;򱙋7P&ʼ 2f-)As=oF 6@:#ƚ}^Cam?FgW[ K"vicoͨ{Ov?H 4TCW4-B܌6~y+x |BL5#%Yȥ)Kh5IA,KF1N,~j)~<]?A TWR-FSk4[9d tj X'5 m90.'* Z d\DYvp|O;kJE[Qqzz+/d FOэ@cUQ D1ΈЯ"8*/ي]D[%͵꠿b@vVIî]@>e:,BQGab+ vq4i~v md69͊dD,RZu7 >[Hp722`vbn u0>v#DcʂbU&۲8a:bTݺHVEeo5XJ^ 8x[ט ܡH _fXWHBӇá~m.tIaiflf a,0+|}g{-EF ][=:, zxL @ܚ΀چtqU?h^Ɍ>ctpx9Ey=մ-׊0 8 $4m]nH=َ$|P씙"˵ ! 8{A#q=#|ļݠKvznv/xqP|R2Uec:tZ"rsUc?V䠸]\i8jo}ZxBUe+x̨}qcD(~qУ$RguȻ“E:yFa|~]rk.zp0F[ Է`;9QjGoR=d݌$] _\+GS ^e R׷ + h.l%[e Q0i|A*T"Zr;t_ 7[ t.NP+y8z*?17~t}vi3;P|_,tyPTͶ[B"睡aʺ|MO0y&pLP?Lo e SVy2'nPWJfˑOĺҫ9v 8t2X^fAPe]'^!$ckV݇K ڎ5j,"%Y@,p<Z\#"y'`=4v;Wo> ^[S ||bQa0kV0)F_Er#)pRlf6 uLv>?^j{Sr`$6H%l0 RϹE>f }C3R0$C< +",{V$-)"qy'x%6Y[p$)# W{oRX|Sh|&@r-Thb"]-fa#)r@cYN|GM\V '~ܦC ĉKN g?*2#C9l6χt*חTNf%!wУ912'?\p9H JocT].ƖznE4q|iE4bmܜI4t˖ $"\6cIՌ&͹pSj (v]&0Es@ݬLu m׮, N Wvgo |t&vMYX@'~e)sAF6Kp"*;waO*P,R &~kr Lsw .md>yri8MV*` )aߌ\n&ixZf؊by*3cئHSkQKJUb e9B_P;פv;\N\VL>3$)>V|yFf^~?GgamИ2dtg0)'eQ\aܓ`v5!^A1%rW1ă*ܵUsm+mt pk84_G/!.3Drh_\΁#2k _(Ԩ.eKK顳XX}|f,x7'G&P'ԥ" |"2,P;0͍$I6#*x"'~#tLxf+k[u;ϕ7]0K(䰉\~d9*vayGrAf=T!Ѧ}=ހ'5F[@PY}IymP;,`r]^LP:Q#k+bmҧvA\~<5Kཇ/vl6*ZMHHu9!LN"oiLFs}TXEY,/_jp9zMX+uۓ\`J:S`=MI=Lk"iF=u|\ck̫"ipu [~j^1m "o@7MɂqJBx~/ʆ̮"[/<%}^M4kFC*3WB)iFRs9mce N@:zV +n$'mę=h1X4"/,U===cuK>vR~<kWў}- 6}f@TQƁ0#U~`'#Kg^eN+(-}|5[9bU"M_IOB2ب|z"*QYK4xmBW6(̾BV(]i)xF>F?ou:nd%1:pSuؕX (YϽup:7h9;FXWuWPfRi]>Ƣ+׹\dlȔP-tgkuJS"g/dyzS Ɛz5' L)D0A7VUP=8Vy ƒhJ'I1gwZY9LhgL ٸdGY#EFS`/aB#Gx&.:XHWSṽPˋGx.#v7UC1Oc@iTU  x(4֎6w n1M<ڂDZ]3jN\hQhGܜr2ZMꐋZ|Ɋ.Ӝzf3G 3;S?e7*LwIBl*ʚzt;ZR-=2]HhϘ8v}mo"Ȅ$?Iq(9Y# /fa߿|>LyLo  Peד\vQRpUbuH3}ˡ3SHZg4yb<ӔֻQt}-}v/áw!]pjK !sv ZEJ/xPTª逍i6'9BOJ`7wR`oЊ"h)e\'M'@B覷)pj׃ %A r]ފEQ`//{ZH3%餧=ۤcdz(1Ӫk=#\%氱zX :}? v>㊭?gQKkv4@$9z,[ vҮ^&EVx6v'Ҭkj@Wby$&zuٻd'qWR;5U4 w66yNl)aS>7nAVy]Zkizp}%c=[4f1X!ƽ-sBʫspM ֢=SErD?kF[mʝ~' `Of1E06Ǫ7ӛ &0L. (BEԶ*U:7p"~|ÏrXUIagw.5HWRkD fC!ͭjBqkM,hT8J/EţXj9~fV|Up UZmT_z>YM }9i}%GGeZ BC b[|C:Z\(]J`E${dDF}dG\BAFT: \|$th7`ɥO,R,) %/yȵlStĐa"*- n!}Kr)40|^=S*\ȀyDvMvc2i9@ FouZ/TĹӶ<]ٻahs Q4$g`n) /0=$vx$5Gʹ%w{=/ p%X9UI^xdAPqҶzX:'w )zcEa[ֈxb{zh0 қ;irj͉X\i'Eo, MDjs&ߕ.&A~ /i .hxijQi96S&wE]7"qg8dRxP3dKN]xzCn/'  $ZAh9%r+jpݡkݪ5lek, <ۋXMp&Q`iج!6J>P~ 73uOB+V)2lsaQk풠|$ D 84R˖%ioj)Mل@Nwŋ+#0MK˔³R.\~&3]{eQdvOJYvw=*SxU[6h&e+᭪jy&E;' _^W!.55M*aN#MZz{C [k֖FN o/ I?Na ٷ`V/\܍[B? JQYGN$C4M_tKcGp#nm{1͈NLVdO9]ED,ިId' :k6AָÀ=IYF}7SŧR#_:mCcf=%_oE{E4r2q^R]\S . 5xܱ [X,("Ңpb'‘, u5F;ʘ+k(ɰC~c}+9,T漅4lz76BXUh,$阊}H*0?Gu!9V9`@ rۊ)e{Ha MSELgl`Ϗؕcjq?Qݡf-M1 #S2Sfъ9V<,nTF 7i4s zj8T Lqc%EK3jQ }҇g sŅ3Ox~]gV tL_\Rap9dK.^^=fd?]jHo4Yq4]N#*$׻;˪45ŏ%X,m ՒJ͐;"Cʃtkˬ>9g**8b&9ȝ`h:sodM[fxli鑕Z W|ilV(->-εT^eRiua;/{QaH̙IH܃Up>Vʮ}0TcH9gcj۷(\ydY:ysX#Ύ ^K(/ú4]V}W,͆OD}A.lRj8/rLN &͹ hׂ^%-WDIgJ5a P} ](yh:-;ɐrGP8Z}=r` #G.kN$ YVgRǸyc8܍@m-;1pQ,O[T]H E@_-UsY ZPj"D*ިSĊv=Ka~a-侊:>ц7\lRbNiv[g+?V0d9 ϭ~:_E,E/" Sj8ۀ#Fہn2(/ûU{]bJϓޏuK% !Gh/O8o&,*i9G&[l>Z+Ghm1 v x%֪eP ^|2ˬ3*;:42c};VڝM[Sm .-Ho^^˲յ 5ņJЬw)o3*JHp=>#M;(jU⤔ :0+D f/?8NJ![Ok$%XL5+("RmUcu=|ސBDhEdj;KҞ|I$M6rra%a ̈ss]^1v E[:sYQ;LSD q=V76x O˙ ؉3GST}#zT럡EdIFD>${G;qC>,afR~Y đp% O!k1z1"i1nJ)gP~ @Z\'ݰ`z> wt !hW.LIbmȭ! F}שwiEv96 Y>o =ԨM=ײ N?FyoU"FE ?C2׶JfW̮,x݆b'kwY2ӸpѮduL'R[Rtiv saZ @)APlJZ,ՋwY! H)%_DpXD)15h;Fa $?zŐR_" vuo̾<;1 ]zaS؟[γ@p\ywdO5cfH@  Da Y/fٮ { RAW )3q5ՐOHeNjU}' ?+'uOn6N:C'wj]6E0rDFSWo?۬\?Vfnϟc£s7zrȴFDhyEnʞzx~q"Qnu vH-q,aIC ʉoGZ3m+:ȓ\0Ll8X4Zκ7zAf: T|ܾb;ZȲٲ (r]t;]׾+6"6z e 2fk᤮4D^i7 aڙOgWP~Kdzn&4`?͟Y9r6bR@s&+#$"p/[2{Li+uSs6y^Ug^V}sfJE \ N/ٜ@:9x vWCPwA _W E'aj9"Ppq#LMf!kʴ#2" `!s/x2yf*Q-J?/M5܁M[n]#IpU\* {y>c8,k@~Q\1 cGcq|QYӱIO ;hQ8Q?dmtCQ㥄"M4l; B^gZE{{gP4[w!~n"J5?X=؄^2jܠ?^ C%^bI#̲:<ƨb:H~@ +5ap X 9WK_2x`цٟ&Kk* k0/"bD4:Qyoz&Om(4}L3(n@r;=t|SQb|V>P[Rԝ(|6j127ƭilP܈tD *Kʺt8*Zbwx&hI-({$ 8i'k tոԎ݊a"ϴ#)OGF ,ZJw.Hh T@pJsp$Zĕ69BF\uxIB X*¾B/\#3s0Sy,* yP P t0˓ z|~~-ύqIf0xX xAά6湮\vc97 {Ic\ .m6zHsV_lJOݦ?8 Hӣn<ĕYw~D뷽A r<\[W. -WCrYjf[0-Aߏ#Ԗk`4FԔLCy*P^b 9gۚH2] ,Lw ) 鮎_~іvݰRbFC1+O嫫~g5bv¬R*qy O\IKKH7g DzXM_CS,~vj|gfYqчD{6(f^qoP;uy%n¡9R96 mmt |$Lϊ^Yɶ3D ^0bԮXD!8БX*qw MbDV1lͿAv\%N50_2Jr^|}H6$M{˧o :: > H*I" ]t,h'm&9|MU ]k,qi(T4GJJeB|! +k1ZaIa@] .dI i_JںwY޲X=d8mKcن\Gg^YWvW2gW%k07DN?/};DYf9{x~4)A :J @lb$z} q(/Vjpf- 9} Jwd=K :L°g4 y|k@_1\%%83ڑN#@?.&b%2P0okniTŧޭɪYeƯDN-r*lH?})]#"gzE>GQX1+Aq̂؂k4~ GQb`FZ YsNF|VEx#\+#,9 ob W*! %r.;ǙŊKEyssnO<&'U!S; AhM#B oeVCtYA^5WD!9;6~X?=t7wUBf%*3,29řX9ѫf+^By]a#{݀+tT ³7KuУ;CMf^zDB J붛9ִ' E4G8r*R9x"&^9e_˄of\ Ut"/2)bépW 3Ҕړ)Co2H"PRoEt!O,cU7UwU=fͮ.]aci`&^aޛ-?Tdۘ9VzriU/¿U.DYK mk_^l=XdC+r6 9)b;f9Sdiq jA5b`Z~ui'Ww-~E?2o, bYgF mWțQ$d=^Q*ȊmЯz"9# @r/ ;ty%z*X[|Vet &cuFVGmr{sJoq dY[g9X4RIN )=°ܪv"^V~jʳߦUptOֲ Sh<柣onP^'g69 0rE-͵6w^td%iCq[cvPTpkٵ?CO ʦ`u!SRqݭ,®b{]9:4eQ&bp3tָ Z1yJh>hz9D.bzlJw}#Z@\+'y``bÒ$M`pe Bn#oc ^x{6qKב$itjWIh3ڇTO޺JǗNi;4fV} ~V;׋;%8ĶEz. HQ}p)UN[-L sP&Oȵ VF M*TNKEUJ:dE[{z)e%79u޻Cט J 1/A4F鿊5B ܯNt"xDeo9|ad?ƭ}QK݄>=S&|ir3W0,0po| Ņg^CKV<SJo-J]|.So] ?x:*q<= J=ϳqZ;7hmFD@W8p v:kT0y3REOȧ[##{ۣ?Tʾ.7xN\+}C]zPI@xApLx\G?!J!zj\.wz9,UNCm^$y%/.KO/lVy㗎a;eR 3m\ow81i"%&9r&!ˌ=JVGyh$"ץu>P0GA4ڴ Eo_ht&}6_s-,KC=W;ܨcs>v*a߷KUT]t7#V-1J5"%  Or( Ew ʘEn_m ]y'H!ٿ#@Q2:C*UYKhOe#?j鳂̄ThyaAͫc(T"#.xluPKɻZax8Q-lG/'PLwhG6 4S*A,c.<V*dvL& u98yJ@Rᲈĩ؝d/|¥ԣi ޲@(̘;VܟN32Շ+ U^@¥*{UNHTSWMԛB[I`Ejj )M XhT4o&I3N-Tϭ"B1'KV`4h_ξY0+.$ Id{XFF'chJJuOm`mM13$P.偳CM?r21rk]&"(ϩ:C[dv1>?'Ey+P݄/ d3+=㩀=(diߺB/p('g:^D7lxpYڜ{l.ENE_ nݹ*P&%]%zͮxE _Q?=D;(. n [6)^Y1:;&+狇pLb{ jB5"G8 >jhZj k.7rnjЭoW98Hd1Ɠ/leCQ2:]4|X[:e 9W}PK2m:rzmD[G cﮕ]X|0Y>`*3ύz&,G Dcʚ :z`WWT\RUͷ&Qj񒚡efLV&L x{~. ᷱ_ߥw~{쓥,F/O143)6 C$ӬT|,:tVkHtE kh FXR퐙}4^"q. $ء҃KHrd!DIg˔Dec͛{ JPR2 l /Pi@ 4Җ \rb"qN,Lkԇ q-%r+MaD ?@tp1{Y%Pn)Fy̷RL(s$7ׂiMj; =2TYa/#&$"Ɖ Xl]z.=I7մgHLCt1xoҀezM _FiL3QĭHIdQVl q1lhX+~%7P%k׌=Ż$âD,=eԑ<Ǿ۽uRo`ku0+ƾ:DԨo7G! 'ioݠ!D.0qaY\)'޵*,[/˿Eu9&bepeY*[}ONou [%8<@0%B+#mozpl*>R0.nҚ ^~ ` Q0&Eލng+ hTmia,fGLBD}jAYՃcS/mz$q fA Lܱ_g0nH>)JyEdn): V *:%$/mbGaE q1O OOJt3o(.et/`BN$ٸ@QĈ@'4eg?1$AG{2!j{ ''/Hr}O>nz_oY-)hLDZv}L++ MX7mw A=JmOob^>.âC D1O~1*qɵ# ;#D%^ ;Y}ꐾfљm ˶Q{Y'{Դieuq҄6\R -t>%6Q0\wo $8OgzJJ2#&3Mc|9ɼiz{S: ۤK@P3R%c:xF좋/'gZRq{θXf60^< !u*.@׵V]Ddu0 7n?ֹ!O=Y𰮑`QNJKo]Puцh{cLP rx"s[cB*q&^[cjI9 yyˉ4`K| y%Spā>',q "R~1R_xRnEkowu~=~owb6@/5h!XȦk927 rzl8Rm}qR4|=#OUj΁:uy'eXw5}XL FuS~eE2͕i`?K,~^nk,RZ&1(G -cݓe;oT+įOqY`yzz!;lb! HP[%(zLZ+ (#fgǩE-ݎ ["ͳ\J@ }T[iԔwE?Gy ۼ!XqW:+WKwBtXmT(տXb Cz[&̝ + RZ KҳT>&:yjRQr ؒJJ:y=d (xj qn_WIo6w_LXtuwM{@)D(7>K00 uM U|!dijWOyҼEx5B N꣕HgcQ>0O=)F(( t+1M}` /Q [Y!-2S[GJnvF rrDBu!Z`5/ .vΨ$ĩ1kI+4\(&DB`l-EL7mfeOAt߹W&e3DЩo (oxWqAb*Dڷ\-R]zL7#[ƨ@&xۢud5vCԣ%W1bL9g;돊 E8 .*ݏ(-R 4^_/! wԹGE Yuv`≮)"\pc3ϑdy%r(< = hbka@R&3g+U8uMztHZ~`u$1Ԥg@;{g3 ?NHx 0WBUZ/sյe# +-7N_}>M1p'pF4̫yߕ0bhvmU.86Eט`e-fM4x  xN5VK-bߐ~],|"큄yd%%kGyNW ]LH慣+W'y)%lz\ [+ujzW\Jp0Ⱥz }:ˋyl"j荤+*A\!~܃u'jn'(jrbgKQ:y&.J(46q'9#9+4xݡWD":R(Fw;jʬ2QTS D}@8{t!c^A<m-ӦtT}mݓǻ{qF+a81ty}["Ktܔ7$XsA Y. G:H\?kJ :a0KWM+* EM;r{3E ?';M\2l˴Yq3w_eR/peJsSPF]*T[Khp|mOٳ".4UdQ.hɂLʨ ݧYnȔ'791Nnlucbli旉\1har9 .RHЄYE2Y`0ybh+ȍy}xxhd`xfADwff!ݯ A12YT{$kl6,ʙu,<%EnH]bkLKJ!.`p}T9է6ò91rebf7*pN#4S9!03[g"9d_ g!C14 4ˬ&+/vnjTl1&7N"ݓpi6JLڵ=}'0&规)&9tyg6 yEB>\܀#nd~er+o{9 "1ܘuob$,HϼY~V-^˞|*3nI $Eenlf5`}Q>R'I}LJ=6VDD ,O Fbx$p1wr%~^.kyԇ qXz*4r`]"̿wp`8B@>oDtO~)v+b E7I5t>94osTZ<*%NL88+`ŵn<[@poAF R,U=Zo첢­"\@mܙ VR q~H&3W~ܻ/PTӃ_honvP{\T`U :(/.sg+58hC#ڈnݭG$%6.WdGP+.9fQ?;%ʍ´8#"uǽ["#Åd4)hNCټ7CɄzain_[׆&rZ뜘Tjrvq7/4s((IJk0""=sCa0 6S$6BMc#TI`Bv>ekl{ª Ļ??%Y%jJ0lPm|KNƝ*Q=|8{NjL@0Џ|o#w=@'g\!qHƓW_s@ʬ_SYc&/ έzL0UZ( H{aH HnCC;u 'Fb|kQ!e[lJ'i IT MYъGj~ r$2'WLp%CiO;_۳']^Yx/LH2xsyd]Y< cNj sg7"*Z.h@j[vĭhD9ܹۤF ?5Qk#ju4mG0 1!b@HAF+ezlk:ޓY e-J?ovypT iO|WLVǸogZ_+D21nSGouje;<< owLj<Vq7d_Z]p-‚Fhp=$1CE͟.t#BU4Oa_f`k^\m-BPfGyae鷵`%,JKĹ"OIa]q+$暨[X,{0S(7[VŽ bA M2B6"ݖz{?G]7Gcϼg2kNW 7\M8OC:dHKO>N2RF_()A>W盹 gnh_Nfb 9-PkAr{2nlv%Fi}Fj@)evW *PzCZpC!Fu/"op oqԮM:WHOm V& aS|>h㟛Yd(lz%dJB酛sBg 봬bJhk `yH㯞&&ds`Wz0k< \0:pM* L$* sw;3m781QũH|9feZ0njKgA :nHX$&X,^n*?UPw?XI.z7{P^ykO0&kO7!E[MEd!)B!o%4ك {|f,OX M̱`*Iz'p2K ptZ~P 4$jp턺xkUߎ5B@i[{VI3P^C6r[UulVbnx?9 .t&G.T L6 8ls@pB^fylPo_\r81i)ѵ ^@9FKICQ=uXS94q_৸>.9VUΥ|K0fun( V]MzvLVU w`'1NR#u0՗т5Zq>ݜE0;͕8$7ziIdNZA I]P~P$X<܍DYsk}/EtN C̭}_ٴ}#1^\&TRJNu/IK>l}DouJov˥]xءC\\ ʠ%wG˅{Oۀ\OW> Ary|% >2g}s0-A-?PZ+FBS \ΠsOl-HU]^$R^u|F_fnb.T4-jLְ/4_jJ|RxHPy@(Z+/xKsW6,R]Ǖuq~6HQRlQ)2ﶼsD`?ïW+` _cazۻ"p:*CrW2k/͆.vthD3tGIAAyRׄˍCH%֖hfħ⚰c YkPvQ@ =}FS4:I ߏ b ~ 6(y$lL|4c,Ik3n9/[G/.N3&aNC-Cq@D'Ge^(R$AQ{ԋyT*nvo:+ʗm/xOB>$n\eM,bW(fna/EIt~P|Z2PcI$tnij qI2/Y4urZ-StfxQy]~zo]1UMz{l')U ٌz\b|?vqta^J3McZB!c*uH9 ԀĶ"Ȼ.)P&b8wye)%d[Ԃ7w?0B@kfnڿ;LR˼Ŝx/=oZ&3Χڱ:C,1^Pny,r;N-l.(}.-gSԬxi= EH&A8fQ}l9K粀InA%8_u ў>HK6w<#|ۓJRBx·n|M#vWg[:Eȴ=yȷs9pvd=&mK H)!6^E[mH%$u3J#itk>ūSlqWgUEk)C lrFxܚ'#j,`6S 欭wh+Aʿ è{ L.lWz/DhѩmӇ @X.iU_$}L3A3LɯgеO^v%7>f8}C2mX2е/@_qnSTH˦yU*ãMQt/27 JѲ,J G,U./X |*z07Zkq y-s)%vOl"o]bv皣IXe}mnhg2T<$ ƥ׼?omlp6D)I%9[GILVW1SĨd݆CK{ˡ :Ɉeő"wi 0nZf5EEj>%ωDo#>KN ѠwpV ;êZGYz$dֻuȚj~C=4fY%;M<6憑$_+N .t7]7B>s To^xwCdž󘻻رi*Լb] > ۘBz%ݝѯ1KM\S6DuvK `'Jp]Ǣ!k=#E{>z0(Pkܕح \$0dgfwȃSpj6Qh~0d'&QLT$=vƂ=TA89B(Iy" vkRYѯiڃmG#9aaLC U䖁zXܺI3s٬Rv$ޭpG9Sg۴gs6N,q,".{a171\ tӣ.b7=$(9jʕV4YD2T/{OƏ̥w[oN;e®%u>\őtwD)f/ ۹'H!;%- Fb!o.A^!  r-tyBNOH2L~  J|TVl}S柵'dZ(OYܪ Il'.|ݓ%Qr/-?nfjlQ@dI~!u9ETS0 d%N1Լ{- 3ܾg|ʜU1Í7Ga᩿RrWKY9+8zq H:K/XԆvD+_o-gvA>lG>O`PSѷ:+GE=!1Q hZZ (Qx.;'_ՙ;wR.lV1FY2)Ag)LiOeQ2oCex-tްRcIm2(U(n~eq-ZL}R(;U^Cdȿ>8 ɲ:Cmb|,($X6PIϕ@ݗ{_ 7ԕl}@a .p6eoHkKL|%QO4K! #OrR~pR`2o8(&WM\`ވtrIQf-贜j3Wc83[ \Z_tN&KQ&`Ve^)*%?vP n;#1 z LEAH,i(z݋Y|@E#$qHP}@k_b{ߤKw )>~x^ Buoƅ3`,jnsǯdy"L9qД&OJDڅ*Rco1Dm?_t/+Cގb\)AI`8Wc7jK#xlxؠ+Snk ֦GoqCOeBH1#}^eM5 Bp`WCLwmM}^;~*9W":_.ׂ׊q rÞqiZ܃FEzYu5Mffi 4\w7XRI1 åv#;o* RV2,i8ΐZB-?xi3*Ƒm1Yu/o@cnln;YrZ)= )/%{;<c9keT/ ,/jﳦ!n{$'Z~;ݏ?M^bQF[h?~@fqϜɷ)}XĪl8s9q DRlkpGy_@o[FP\>#^Rҙ9O5(,ѺyJEYeP<6mWt&oJ;˛3B8TI}CO,IՌ>~ЩzI+c A ěɏxTm_a&- u͗4EE$Ё G-9dZ(s`v+wg?]_b/L.ZJ 6_rd|9ӸӔ惧a`k{<'b'+uv;5L 唣F Sqb_"J'(sY(7  T+VaeJ~0Z}Rbϐ0P($HSm.`9YY+%-X_aȠ'n݉Mo{ ~.z~ۙQi< X9vͪ<(2LxvW]8i p%$vَp,wܗӬn4|1F(xRxP^]ь#ђmesZ/X<@Ţj7ˋgaT3*gS)EZ$U[߭},b0  )Et!k@ϊv8h?lMg,,nIg$!s <_$Z˺㑃oej Σ7P}vj =D~9 IOMMd&#J.5Sr,"@DO(GeƃӫOuk-ujb,Wwщ J sMt>Ђ?l]ִQi' j~bX4)}dOel\s(8=C%Rz(G 흰=$C6JFK0@Š~=^gu-)Lp #`rlw.t:yFsY[Xx$E3#E˟@Q E3s^&Ny{E<5\6`60־h ʩ. :0mTGH<]U0m/ Y(6^ }H69r<t.n0%i9;>BM6n^ݙm8En[rJhe#0pD3חPQ`Qq:y*gXMpM!o<E.l9Vo4ihl$3MNтh#DÉ%~@?=@fgѭ_ۑx@e+f^O@I&i1i 8"cɍUH&@j奸{B1Nʱb ]WOLyg:VeK_o+h~<+5<+;d"^PͶ .eWi ^>2bL։DŽ) ˊK>iuc89D]JQwuΒy)U'mi&VOY͈yk+:j@TynRAaat_^>H1̎d} Ci*0u^G$сƴ N5asjhjvٵ!_b1Cq:F(a-AzW$SsJ p}S#R}zEcޙ )nR(L$ŬzVP+tܧߤ^ 9GЈSlYAySX\xpXcB|'sh I<*[{{[tnA1ݘ7Y[;ߗp"NH7GcbP qEUmJK ͟aՙXdȉc!2]5gppl%OR!~u @Qm ,E2U" Ϗ=etn/ٰRL$WHС}gfb>6R@d [ `jL+g6qZѼ#ϭxSYǦ1Z 9a}é |×py!n[Uu9MZcjEcZjޔ3O: 6]P;J+th5ԫ0labLt3&jGz`R5閫)U=1қ;9գweF[f֤Ӳ׽8 58`WQ(H/d3ޭJ&!I  )#EEe@KCyVεJVNr9*;Zz:$pTV) ՟אsJ 2B .) G$N2` Cu۷JyȔjm[ZVFNĈ9R)R6B??"X!9یuN rĒ&殮0Bf(p 0QF} GR1(#sb#q)FBI`8n/P=42Q#48,"-Hd>LjqMףg _k*Hf+"w(/^+$VGߊ";Gi\-zNa؆:V?nG‘[`t&WB$!>Pt|?z qǕZtLVPxsC*8ɮ,AHB1,$7^2nhk77,冿p:p8˃IAz7}bv:pl8ALޙP_&_WB+Y0K⑦qh Qٌv !PrMZ]ѳ؍jHf(G'뼰gjzKǪEL40ŷ1Uܱ\a `]I&xs{M3YC;ŽE[L |XGoQEUlJDshw~</)ʰpѡhWz{wdxNv::z Nadώ⃎[!G c = Gt;W3:eF"iȃ*$zT/s|?х{4YN`Ȩ. +-9n8G}_]HӽO{D)o ߧ[^`z/VMvƫ Nߵz=#G}gP=+zC AMj,So:95:/heRfE TGЏJ_\;H8p 8h\N TB @/騻 (Ah\~F2] TTaWR j6fԹAgjib%_Txk4(l{ JH68oy ^mjZb񏱢jKV[ē ^haQ8z8:\n-4{pQ%$LRT m P w5GL@<CDfnؼ\DR5Һbƿ-3g{\i7 V/)[V'}3S\n5c6kл,0` ޘq~Yoj8CVz-o0yf %1"'B8NE\.\^&U8ZLZ0BVYQQ'y%4zLfP4]&C(aS_,/P kz'KۀNݪ=$\=sM$y>>~"^jA2|y:Ѿ~ߠDPGO ;VʼWd%p53}޹sq{!T=, ]sܜCEg+.06<@Xv߇1g`Ctooў/䟛 L呠E @Q1{;거:ں!* ӈ@"Ur]қF_ (Y`pPX{ ;b.x a$U'ŒIe *‚2p4VPk<+< :0Z@Dvڵ4_jdSZ'־1u<O7$Im)lŎr{)?O qJmȃWmz&h{R^feT+J$y T&R6߼Iض@Leml¦4h s/q睆[T @aV?Т9)7@,L:>jyNWL)O weXl g[rX(l6|@NlYz#qш_Ř9X$-|n~Ŭl5|)p Pۇ;=pY)B2V`@`3j\< T'fq3U*ubHRQ.iXU+ $1SCгn$jZ#e*劄&Ԝ ;`c~a;X@yElG17|?0! CH84e  ^NgK q`Oņ >3~3+EE*wGö GsJӖAgV`$,WAt4{ٲa5~9Fu/ {+y5\2-TaOKz.0]p"ya+@'/Bp>*`Ye>aen{-?8i_:$G_X*쎲Z+8 EvpϐB%? Qp!mιI&ewJxk? v˺CҧMrcgrshKnV  凶nF?hz0xڰ,.e-i {蠌>0;FU`fo p)ӝ #{ ẕ ,튜p\B&`kz0ޫKTm*I' CuwRqm-p̧s<0՘]dPGP4E9M`Ub_!" -Z_K)vR; &A> N9ȕx/*Aܜ0,2&U*ݒ|ﻏޭBZ- 㦌B4 ' j :|of#ϒv4ED͉-F@MW$cN? ]AsY[jL~3[ t.l!྿td,_/xwHۥ>x&2o%,ďi^U5}uΰn.Jl-ho?w8Դjy^QV nrl9I4:OdvSr+2^rni{k (:x9Jq&y~z8p-m.mg^Od-4)SA(mI=J9S*PxɼyT]z?/vbaQ]e4I&32'ݚ8o@S5i>u0e?ayܙ%t'%H~!^df^TZqYph:EAn_Ǿʶލ%}b zT/۾rq5q|َo/& &A S}\e~eB|%u)_5_Y}BjgǍah]0(n&oWh%uӼ>p@R5zmeM[XRv~ZLM"+4m !/Ȳ3ut6/FAs;{%[p ( 4^T|G8ꔏj< $/|$kb!r"ʍͥ[sb)_Dr^cFcߊd9gϙsQ4*ȒIӟ 3 ]ݙCtA5T~t蕆06եL 5JmBh쇍34Fv?*C솨?_Վǜ34_ju9E(.٦,7,6mU~dYdKTH'ߍg/|1]2J\~(20@'-%Ku x U=x,L܋\G' iSjRUrM)]Du˻P.L:;Vg$l!R/ Gf9zUA _5Q;itQB!{&h#}3.RH× 78be] : h J($f@̑ + ) "&9_[iA9'J_^,qogb,@r+Y>?>}j8r:rY22BrfQ)3\$o b<ٌ°ǧh/!Yyc4{P5b)s#-?h4\l G7ҍ}~jSç_ E mu*N* ײnzf\pAkGA N$'Ƽ=1w+84Ou]U(&P@8sf"$͌ qAڋLdHYMM-KSj|?VW ˵c A.rbLaitlblUĈuf&Wt/5{3R0r9c'"?>)D2YGb\s4kˮKyV@!"]Ylގ"rn*z6ҋ{9^N{N:WJLޤ5mW]#6%:Hcԋ;®Μ-Dl'ٵPs\~,=vˋ!wgy}٦=Oaw*JGrk[Q' ep(_ RPYͯ5qi%syZ9,M)sR-5,$QcZ[ihI/dQ @I))UxEQͫI-Gߡ=f"Kčma~~<3J9FPMw -&}MhI=4f#ԀeiVK[47#VlASQa&q6ISsY+wۨ{t Ypp2T\ HT ,XK%ܷJUh?HdW@DMےkT7~VU&nM[S>7cHo:M< g2W W#祿g$xlzE–ɅKf_ R iq3,EFǴPS0ϵumGY. u1l%8}spUx D`,wn%ğ՛[ xd7hG-+W++Ha_0?wbucNYR4}n(ZvYXiP&fhIUV(=hP,S K$}/'i.V#gbl8׎RWc7Bsu%MbD99J0;nw-?#21Yfb] )nj?X<]M BuA[ uFQ8 )˄#_J?UOF7|'Crս~ p!H[U|;˲*63"I4piIR/N!ysIG y"*de<"xP sJ rn1=o 98Q5Wjz;i FQrB_ouqd0sM/WZq m"7  < SOY'g`REg̗lǰ&w唹c $* x ph/j݌~H wue@=CgaA^C7z53PJV#`*iX<0ŮyL>7"G}e0̈́ߢ)̀sXLDytKܑ~'\ ZDITI,)GUj?z')9+szT@/?GZh& :-2+X|w7e05#kC98oMb 5+if8 9e#IV?_55ŏapzzY3OJ6) |rD񋑾Wi<ϝP̜c}G5DN,Fjò3h}],~?< {E/I&E7 /_~sHh};Lίb}d^u&sAMg>4c~i/kj'c/6ff=iw`sn-|þIW8v2RQX$C j3݂ZR~K3+e@]vl)?=$ ly=ZS SDdЄ$[oh*kfGҞ>\3Yv%$c>H˳,!%-8S3@s{;9` ȗ78&4}_ SVlp߷Dڍ9TI }2>H阩\%,yT:H{jO&!6"#iBp4L?q*E?5[+S}5Lc!#š !/&s./g z^|7#s:cw ~;(6/gϢD-*"㠰& bbbmOiw$p-s,^xyv h~X;e=vg0k\S5Le,,,*-0\ c;KJXyVtKWxԙkF?=SW3 SEjXMr`y-/t rJ0 ]\/P׏&PkC-Q7í,v8Jj+_P`D(k(B4@, n?vu6 PӴq1h=K|E?\X,Jr^#B{L@?1.BEӖ ^bq҈ꑴHM3mQ:j)=D\7 ) Kl{Ϥ.,\^.O@/B>vdR{N$6"wm(D>e+b!\*GiR'hcv-؀舠Un wڶT!;G{_!UBnˊ8`6X@ >`*"Vߞ&óW vZS>8~Or3f8l ԼNW~g[$n: ?@gvwE^N\tbW\Ee[ ,tA[Έz[ݑMXGGbzU[EV!u !m[̼Hpˆg]Vuㅤ*LA `nE;F>5" QgRӳ9h)E-@eYysPqJQ T=ƪ7簾wuV{&&j/ Zre z/[#PI)>|yLHi9VRRRa27;D XjWt"";W-D^~񔕄vCW4yRD8UIfM;kv\=<u0rRї9-Ӻ|WYZM:ҵI8k<=ܛsM>iH2Hj!S/L3:k˦x! HYލb m3[L5dDVCm #]A\Be L civ 0űe^ :G/TEVm^R{0픹7E zMwTO-ļMvBy3 Mܰ4.9"ayF<<_WxezSχF^Ibzb ɧZQ}Pa&٩쳻N=m9nkhd/7KNj6[vaha8)5[$qIE 6bL}"bL<5ttw9/oClZ}px.}CF>Fǎ=4.GGZ 0?'l 22E-(bt4$FN:SwCaPeˑ9ꗃ8?s_zˌƥY< 5gyLBڛM=1:oz FBw!ֈNF L p|Dg#8S8{j]׆=t"rK^H2gZ|VI>*yJ^O>7G7uo)UqJb:Nj\vDŽFGCTТk㺯ZQ4t8{H\٠&[Ͽa5aBl\yLʦBȼ\n5HynxZ(Oʈ5^'x҅y_ ȸc UNh_r @l^6Anb"|0q$-]G5GG8D kx݌TL "c} <,j "݀pI` :v[^}  ɴ$e T3peȺ8jŹ[z֌;X4p pK)eʣ?xARZ$!:j+L2ɅׁnBC!$(*v|󶦷J5c PRqE$?Bۚy$Evg1r%oI$Q4MZbYsnqal@{D$W\ZcmV6޸ XOzYnQpםn> -#lA@Esk\Ŗmr!i I(de$KI CzVz3bŢ8tUu^}\$uQ(dpBLIsGhnXb@ hDֻHиQܛ7ڶX/K;u E#a {NhʻP<{pP.1nc!ϐ+$X'o ? DBlqMi *NvCbIed !N`صe,n`=i]S;C Ǿۉcc_Rݕxa; W3O/9j R7 e)M Z.I'M&ɺk^ȯJ9Gg0?*L%pN7 P5 Q%=B^AeWu?V -Yk@iJG6<OU?[Ae=r $8)Ks+c;25XD]XUPH.̗t.5l9Nw&>8U{FתĸtƨLYg\Σ( ~7HJ*r$=0wy xD%OQ[^(!gXu2ftue6N&Kh0$m"MԄ'.$w&QE9UY8$2 1YR-E!EccV 4Wk۳wì!P Xc̃`dظYн5ҙ|Tto'y9 mP{Rq^|-fےU)9YOluAK E_N^2;\~&B|`I;DVs,y3I+H y6r3C8$ z뙮 8̓Ӏ敞6Uv/op`NAPJ`x,2WЦyo%ͭ 8enjj$٧v&8EᯚJ_#)B/𧰘+Evw /:`zTj2ŐQReUjoj1 +20mWbFhu0Lb߬ΘL9ۼG}Mt*IHc lA"a̜U[GQ`ƐI"J箵Ғٱ)*A ,Γ:Mˆ04Lr l^3`kT},jm,%eNIèu+~bt%]xoOsJ>B [ݦHExc ݴ]g\*J CxAHE3Lr*-,"Y(w$E+y:Y40қ렟:\UptRF]3iLLn;:IMBaVfiVD:8v"I](T,KN`DlJI2~yN4.-C]c,$2z}B\ "! E[;L+.)֤%LF'X);=~ cbG0QVN Kx4 GW =<UY\W\-j<*iyf#cR 2cg%T <Q|tEa>1, e*NwMrWpb ~W(>.ߍ s0bWoJ]W(fS ue"Q-#'  @5݋<(R0=0:xAVZwJ[eu81(55c?ZSc#dJQ We|hUsԠi%ZbY3PO*ONyG[pLKh)M> AC[Ѷ9d)1cddyK7IDZ+Hq?:"鞌}'mFw5$0atVVjzl?p4Fmxbfw!K/4#I.o fcD=mzzvkL;~Y'@})HjڬZװ}CPzFkdfkGdB oܵ^tǑ2.D 5_?ʪx4wlj!qi,i(ԙJ(l>nK=Nw^L 1 Μ?к<^@ċ ]Zb~ T%SUTBl%éuxGAok+a4( **bs[COJ\KY|X#CIG\&<:RTfEu{S;  5c[zY4<ߩc?)okѤD0u(cQT,aj\C$X'Q`8zm~ g`F찬kOrT3PfA0ȼ AN]O#.Wˇ=7lYp>V~ƹ0gɍ4ҼKXE6j㑐_):جR rV} cAUK3p 3xuXN_3zE WLk-G aI rr;ץԜr?'mwzig qX#N_>QĉHpU=e$ AaQn`rť89ß ʋ,O;JL@uVv_Lh#1z~rsC-+ $Εylh n|x_W_"!}CϧQu4u }8i')JvD;I>'_7jorlpP@$C8|&RL~UUoZrE`thG3W0sDO**{L+ "/ROc=,/j?6NmE>$ՖF!Jq)'sįCZ ~Ȟrϝ AM>s09ɞ; ]aPmGmJͭ3J8yAT$xܞkI&_Kͦ+tzN--&k|J×:+&.k1íaa|gTU\{7yw`dF;"i#])'&t? wF}Kc?4T q1$f{4rVv mX7֩C0Q0 V@lՓE x ̒ ~O7* R+Zgc,2Ӳl? xD?KɖV-5j-MY_y2Wp>82b (@-p?&rJ!CYڼ]ʒv~M/*< *cBtjc0k o@\.pFo+1-4I^! !j~qu9 VVȢpUȄbb5]fUPg{e/leki,gTu$_Tm=h pҁF޿L,5@J+߈{;,T$}0 R$4#)p,F;3oxr['Gz 0yzPC#e $E2HVD璚L֦|\C|h!?JU>@󄣱'Mej{2b֐D ʷ8ذ3fͪ6ёeоBHU5pἴb |Q4V᪲*# xG٢@E 'FW6aϨ蹕>ƝAqӿt׋Ǜ͐ʻ0S;9<-U07pzdf]KEN͡i Hk8!x,><CVx@:mDSk}|.'pm΂-"-TU BMog7nt}^.K09/l9ASm*<X:XA*8PP1lw=]&0͆(OM|=3-?^V;DC/um"<\*!@/EF^/|KQJ,U6TLϟ% F'M9we5;'/BW3DT=rRDǿ;}~z G\|:#*$N$--,Y dRtbmvYO ^rbA7'[/3+~Jx-Eݒ=)8au_ZqXLAs,T橹4`I/Akoi /D㩨&w#A.wza~iND^eD1w?+B"V}bqm36wJ a4Lk}VӍk;%Ҭuxs$w&+JЖd]6^+VYv$j-Lf{,V{_K/^=9À#ù$L!WZ1iK*W7:$a6y"Ʊ)FnnI=0JP`ޕIՉ0SZi, I 1:`gILҚ@^4@Z}s%Rd}1joˊB`"$pok7wiRܒ];DШP9`AحY]T%N#z ywdgeb٬plFzf\Xтb ,m^H(5(>cDQۚ;)O^8.#SBK@:ybU[ WV% Rk4oǡ)^uţ-a8tT{'gjM r{F] 7=Ɋw$ I|͉U/rgE'~}*t ĥ[fi;DQ?@%e˯ӗaϛ&\*G MΕ?h!XA`DLX\ 6Yh7Tv#r=du25uor @1^pYM ~rjs=҂bR_̇H]~8nnq\W bt?Jt,EB׌[w:%W!vNK㞮Ǜ14AĻlHzmW*/I7&krpn7[Ȯt բX_++Ts-#]4?; gl\s ATpSWEٚʘ\=R,, ^\km}b.K1UCK?|bp_H˲ XMVOMxqIܝ2qe|.sˀ 봕;U#<_&4' y? G y -#a~>Rٗ&Gw7& !0; \X/cBSG6L39ËݗDѾCiHSB)1e6%=5z="v(oz+Gt J6c{ bP-~I5]DZB fO 5˾ž <婼ByCԯWwnyɄ[V%<C<)hf/aBsRNpഗyͨ]T+ ;i{ZƠ`8 ;t\]7qD~3ytݖKJM ˨i\T{V&'$8Rzl5$u1L}Rm{'Me Z*35\GMC{B'~_ƩorY4nEp| =k&Hv1fiɿ̐,o@J^bYY&ƷH?Jxol13_ǽvQ# tjS ZZtFk 5x1QEg;Q2+}K7VJoIĒW_'m~~C ,2B5^ˢl;CK{ }yr!8ZH7VбHX$[K1vs4ϛ9+n@<y3N #c|z=AMMdB*օmC\^m#q84hυjh,1܌]X0F )\Ͼ@(ae UDj)/I1l0gJ۬#OmY7,Y4esYqI~_WHF<@<@^Nme4>eN@u-4@Ŀ|pugy҂o7nR3Mq2bK=2=P >`锒}g]4Ƚa\T2QghIt7We}#v6Ec\0)\05u'_% }!HXp"rwic.`*=hZj# Q9v5=f`cԎظR ~U<7ɰ_`DOǒQ/DOOCo`S7lV Rd/r,'Ikǘ&nWԇN/n?W@"Be13RX{n@Pb1J̓+X@2Fi?GLz+^$-h᠒Š=Uu~_>bcBݮb AFU *,| +'MX+ꋮP+ 7V.eQ̱SlY'CrlECd%:[dG">,+y$w˩ENon%M Im4GO|&q}rY$1 rT*V#MĐPK>H6T=mx&h,=p#7S厛0ic3qV?E!͞.N ,ៃ0m9\v-.nYSFz. H7!)}LE!~BDh% p;y-!w\,,Vw8͡/Ӓ۰rb v)p'/5:i]gU[͵/+1`XD4ȖT#{#A1Y IA2)C8rˇ&1+B.AP`0͞9`Qq66^n="1l~ n7_XTj Q&D怂9?D#"mQn(F!b-ULv$C+\'82Jl{/IOiK62x$݊)&4\.`5mh>I@U+Ycc˝vE 2;ԃdT.OUW+2c$PP
Kdh"5qUUORtm&7g"wc&ctCxBDh\fU<~7D5ibQ8BIVeޞo3ghӱ˄:(fYW6?NEpp^|FQPڣlEW<iH/ґ௻-K業EtMM)o,L)8_plj߇uymaz;Í^75BIfpjNpY|1p<4q>Y&ČR@jklwE\fG~1Y gJ'eۤR5ο]% `ZZq6tc9\ 0k2cudhtn5k:TK·27lVV?LIZWǶ@T^IqkDPye;TׂDqȉU+)̇t** =Bs|+ $.M!4ỹu!!Xf[C vF-7 ƎsW.gy'l@21ʼ~B_ Djs 8$N8p̀͹H}X_tvϸʠOd i"6X lBZu i_īK?Bm"W8>҃MUMZO͆Ҿn_Qzn9B~H/6eӔN3HH`p,Q sC+*#Ogއ,GP3 5k|g\ 3bC*Ifm9T)JB)jI!/(ApΒ[q~?w22.̃ݓ$?j.$2h7 #KFo-[IQ9uq6ZS)< ip٫1g4FL^dw2 ikkI͋?;wGm$ru$h$ۮa=vK-`}hiBx8c9?ᮙ@sl3^1OvQX#>\aINkd,`wo]lt8KmNuU^Rqu~ZT(mM 4VK~ PB4`OIEl.M ׽ݤ1 ߉O0-DN[~q{^}.,t+r[ }dh09oY mJ$')0)\Y}Lt{M 0$(+Gy)תG6nJ*e{P}~Ga?nI(ư "8):ͼ̠]k(uoJZgՊu+ޜ} [pO<jFZ  {e#ܮWvh m1@F[gW$үf\OʐޅܶW~& 4]XjNe kƯ~>mbUDg&GgϼBN{O><=4E|r9 Rׯ7\#cdi!@e7Æ= AvrRO=mG{CJV6s@'is}2?Gq~(,  g uFg2h.(ڟʿgo $^?Z'C9㥆ʋt=|'OotuÝ'bl 5@y]US=^#śex5@v\)IxƬc)_V`TS* 7ׅQ fWpxJ㘛Oś;VF~?໒P`TP\ir#D~0e1z>ri=sǖiY5%o$VιtT%M~cGڮ[jy9b=BA2uZFKZiba6g&tW7V\.,Pt9[ b{GΔg!q!KO䇒 r'h`:dsiQɥO{;r5I任oM`{jd_m Po҉(mwp$mnܛܬFFYXqn?3^28 v9n\^K;e%qZ^QԆn^vӜAiLi TEzPpw6\vF晁~e<[&hElA;=6곝C o,Iba@ݐZH0y]erZTqD v2e)`%v@(+)"D8ڍ2[`p̛ 3^5Nd]ҝgU(̥FF=I:t.XGiҝZ)]^HhnHqRKl:HGfJ|eaY &^%s=wŀc\O.U<$Wo=7qDDf m330N Ph2L&kX (}pܝ"ӈM`B|OF1Ȇ\(X{|t]-T]+' bboN=.:^QZڶȨ kF I.au ?xPA"Zg񄆷q⺮>O 9"SJC-"\¤C܀h"%DՀ  y}֫{_Ujf^L?䱀f ]-=9l.a rR o,D)e!Gn(\t:PEds]7jl/V~NÈ6?or:#sgJT:``(VVF:݃>{$˨2{ɯ|\H#XV_T\8DDȎ+0v|Á0L%j!.%[P.%m~T~ z~0" ٘ffHӭ]*qUEP͘ӽ;"%UFղ"4u@s1.ĵdGq^Xez )+HӷQȃz f̦+颔^utjsLk$#1(X/osjeǸpnjSv`B@?w~5kBʮ7򐩱g l y N-WtD"\H ./ &Yy Ұٝux Y?T/=i%LmUcWxA/M:oIPǕ $ft]H D~m)+_H4w8ʏԒOatN:R xOnT~ғ7.;id#%C- }cSK6 S?EHJF2v)`hpctm#"R3MQX5R k8=^iH$/Up[:Tr4 f'BMN%k:2 L /F*U&{| wڝeRYPx/T-$ {:u=f_9nř.3UYT>}C(!t(\'%>6n{Sm7Eõ41KWxqRa)Np9/^ߊ}CvL=%4?qL2# O,t9G%B"FuE[>tQBm.#9!"؉@s㫡GB323|HȌKy(1ڵ,,\IbПvIч##E"3M TM&eKIYGNڟ1f4pUY"Aɲ$nǣGol;5*LOG8|&.wg3MԄr"BIBI% =tb ZީfQ yCA8-pz*}7R{㛖L^o$`s; ]bC\"JƘ[g"oبNo#Aq@c/iV:d`9S~2jrDl hGq}ڮ'gk,ӷL@gJnpkN@ʳ\ :,dq<7,E. bnMu*̑H?K'Z>r <={xM,e hh)0JĒ٦0m b24D^IJtAuOh&Y*3t:'IC3#FCO)UK 9 qz1D <Vim&ejF4\U۱`#jZi%qnHpɸDYCH Gʭn9{!Yi@cFO3ppurc3܀!˛%@_ bp֫曜3kYii#AWq&Js;oG’1**j ^6WZ큋ht2]JZ2˗/@ߤYeclgs7 ᗹb҃0Ǘ:^7NzZx1IBb=ȵą^l)r HV](9М$+1^xtF,ذ }f'fOٰqzqG:Nk؅]jq?-wr{xq!F&S6od$O u,q^ :$$RӳLST`J_DWq):ѥ77 )Px~9,gkY (vFY/{_?pigjNr uJG_qB(䲎7wdJŞ= Ds_S| An6gJ\ _cqS;kKvfTɡ7?R- Ϛ:{AD]Yܔgkڽ|>$XYHzj҃?'ބ3橐G27ОgB ~nj'SPهPx>!v=n] ۦө$ia zn@+Fi&~6ZWYSg3'Hw%+bqÝ=zkusw`-ׄcRS1ʤA,2m8Xu-39E֢}@+fޝHx΍| 'ё‹ 3 q.P5@d[u#4?̻$t)ȡhx ķҥEɢ#pFIgj>NhU WTE}juPG{қ"pTٴCEh?/%hKz+ڈ)!IP tLQݥf] >BObx;D lGDn8#-B4W[d?cwb9+\佬E_BwnpC% U%-n0ΊzD=Zm”ljkަ^1JFfD묅0׆N*_s%39zq/]yV*1D'1 !ckrjE'.0󁘼) >3&לa% gSoy+#v

1Kn LRwWNXWjC3™>~^]߇ N.B!}[PW7Ջ+C*4žMwr'ga6хjўنk+1aZբOh(r՟{w#*o@ ntwsbqyDw]x@OLD='@ҥm] os48Se.c)O-'gFbr/SWK(CBf'P`1YhLc|4u}q=!*J~?L#ڀIޱ+iWօ\:^ڮY`M η <F7bf 夂8"!I":Ҩe;~o$2?{ƙJ7v/;!ˊ7: h$|HzvcY!4}DKwC4AZ }kF+(q?3+O.+SNoӐz2A=kΗE^UHsP Hh) gC esGEd̯H.׬ |:DDnA6}3eLH4AkిH*w.&gx">C0^ Ek2ܾNPx,3ڭ~~w %|KSdT$½Qxduτ~`&;]aʕ" {ihk yg(Qݵ&~|1.~uade눝| C@e Ybz)%"n Yt= `ůENf?P@'@R>.dnVsWӣF"[w1ҭV]ep;jTw{ȨFdz4w/:[a㦗Mި蒺lafY[yg؃,74=B\ﵛf\j!# <%1\=Y un*[%~ M$Ě }N#\ !b>5\J f[[N}j%#E: Rg<ث9ȓ~Cd]"j^,Y[-@codIoFkG/`]c;m̨N @D}s&2/pו1kuZAg]hpm;xUƘ-kZcپ/yt܀QlZ0$0-%+{;v$Vkɉsd"yZZ|S cBb+NЙfDyVMk87:ȿ)`a!ola^9 } ڮ;3=%w[}/ E-CE;08tK]cM?Fl '0!. Zܬ䇜9"[ gXT^/u]! al5lQނy/L2` =.7!<{ ٚsIWM`DxTފT=l㤊6W9&h.)^Ctqd@(2S@R8u @g {Q y8-P=oo%JA>38-_żO$k&.6/²L DU0o3 |@̏%ۓ锟IF䁑fQɅVAy.z]g2O+J>)Q9kq+Mi (4gIɺ W}"׊ٽZUF b };Xl;qecV:̟D4’9xJZӭ "pEf'I-5,c-+i 0rd[ +cU ⸻akKe~֞K&tWE@-c7*Mh *% 7ݭ8T:W8N[yyD0EͦSEa#A3YSô]bL!5`51>2E$4a{| !F脓Г v͌nri15ЗlYU5 ̠=K(CN9%h3vZ=#K2z,!7:ri:I9 BsXV?PRT㴽}Ƙݱ{՝K/YjiP?qh/\Y }ND M?)lRVu2g,L&Il-r}&EM9jw!BSf/ѿ=mE2 "OyJ_  L*GؐgiVБ4g7')heoLWMfU&+ #_(pT|tFx^a}$95\[<,7Ɵ[0GsMCpW=Z%Q;Zq/nCnBI^4vp1塜J_bUSw dZwBnQ!լn3<4S]<~zj1l-ţc,~[ۄaMEW2~K^]&F7}Mʉybɺ=y"S͕ .6A^ -1[_ˍP=7r9`&&?3<1 ά,SJYqTcv"&֞Kb'Գ\A{ovcu$~y$ǹP:eo+C"*ZP J!/ˋtVT߹A~8$LAxMڽ BaӋڈmN(R-5a!`L`w`|bx?(%?F; $'C*C+=֯I 8"鋟.A[Τ}fOi8{fd$O?K֗;RC'xE_܃֋cr\Hu–_NWl4LRRQ"9C?w٫qE՘ǚmpSl 8ߠw7B˛W]+\8s?[ YG ڀ8ɍ<%a1鼣ՓbJI 31ޚ5$$E?:f~|(P5᧷03=RsfΟuX!\TҒXf.z Di_ã| ,492f!ʼnDgk-"s'_&q۲ڦ;Yd:e L "u'g:ӑ$àđ$Bw0G rwxt[PW*"wlLG'>6Siy?JAKGpZ(Jpps:2_ugj茴#!6rC! '>-# dJ2_ihwZQJVT+Dl0~cjیb&f;ڒvk(3"U$VeL8*<0xEU*`9j5F#yRγ1!w @S4<KP{FϾE\ Nv`(/^h#nM*hYܬ< ƚn̏hNijz 2O@0]ZszKDE '64C2FFMeBx.'}3w2R& *ʻ#fa_2J->La.6Rmv1G!lOxk&ߧo+AYX 2t@4; 5r{~c,3ZSp]m+ZZL.M4W[qZpeg}0l"P8ai{)yA#9,kf:ߓ_C<4{<=qu_=\ Ixwh uڈ_I,B2NAFhuBu.^zi0E&7ͩuS<؁аh##4Sʋa؄C2 } N<(_v6=QZ燆sU&:}"sy"VCw^,YrE>HcU#vP;2].$e?Myd {8[\85S>j+[v6fȖc_ %S|YYBv  9x2 Z$˻64$oPo-/'\Of[]W.5c(>g7CQbb[OQXE`͚ Wc:7)†lyY&ua+WsGebz,vDk1K3w7 B,OR2 J^Gr]-qMS`dd+χ K2?4ȟ}̵{0ETl o_K8=6?t^7VIzsd/=ݭl`Z]L!_nbtwW|~эtܡ4YqeRRjc 4fdPwA1 AŹ~Dtp1`O5e!3k D9e`yl?/9m%OA/@ܳX[ͧM.e܏(pOHF `NxC0/',/L)K&֜mlԨeU(7D>>ߠ l$E@U۶ Eo{8vedGg(k0I>K}ĝe5D@+.`UNKўܴ(.j9z^yR!{3V&vAXT\FhH[S $O.I^C]Z4aɰtq:^Ken6l0ḓ2V8u7h(q8Q?\ˁ 1ng OoGDѽ *ҽޱOvT vLAARXWVXm26H;/iLjDX%HŃ2a6)Uܖ&:׆ {;Sw*d>!qHMԪ%<4{vnQi]9!,E}f{<3 SPI;=U!~jX-  l -bf/`" EE S'"UmC\tA>*8jh7~cޔGSeЧR!HxOH ẓ9K o.cā>t֔ 8b]^|?%:%J.VoVΆAr+Qh\D ۶C>16+1Dg(LY-\JA̛\셶-lܚsSV/i,,0YR[Z1lc7biduYL7kFn7.D> iR.1zNY*m6ַPVRc:W4JP7Z dnGt9dDu2z3P \CBe3/gVkx.1_߾i;]fu2Y؏e^cwSV*%\W1g&J rtdL%g m\"sTqnnBM\Y[fP+ b;)X}XoH 3g|C VoeO W[U냃R-$PVKz޸s p#?pWl= Nm&?3AIy6C4/LgN)(u H>eJ_u7pUovQ鑾6F!bUӶpMSu&pE <¹g.3KTs<4\޿UwۙdwGIJMSpy|M[d= *"{G0`g"8*?7nȀY$.s!o8G5h$f\kV#7axIf"#5 -2m0>ԲV?(M90@3KwV>S,e+繎ftȉu=9=v>.eiŵrFêK.M$oKt:y5ѩCWA}5&0{aUXW41ζ-);7}B+EDPO'%X) LC*~x{"v`NZ%~/|r.C m$CL `uY?M*\ȳΘĹRTZ]Az0ʥ- ϪΦյusYLАAEvmیsY3hG8fNb.ms) b3jLvVT%7 `cH$@,I'DeVs!C4y)t[FOdR_?vДwD# S2Isɾ!_1m;=&_KH-"jrtSaNdw͒&Ahr? :ѭRJ59_g2УOߜJ{RQMVdT@"mQ,\\ bؙa23쬦=Kz1#)IZyV? 3|Eلhu{9nN]~.ee|Ѿ(+ݚڂO6b;I> N6I֍(oQ`{'X\A h44l\σGb`` eWCaFɭI-`¢SVKԨ=,7ȹ.uRPkpYW{WmI˧M: dƻ.9"yxߕ7p4ċ?o/h6l:i .}Eܧ eP/%l@DVmG_,&)mCVv-QKu]> Gf[[wwn<ׁ}WG&fB/5~xY#ym_!-ai=2nxf0UZHz^M-ȷT'ڏi8CRsAj]2 :VUH.fyӰiCcVi9ClBb/x(l]K+vƮTsI8G,ƞ=U#<^Xus*:$8;z"je2'|rLv.ͿD;}dʒ"M-sO,9_QJy{_E5ZӍ,å%jKwJcGdxFmU5^}ubF+ᑴkHg&eͯNT99©1;$KNs#s$u 1=D-lAjVS+dB{Kqm&jxd·Zy$SN6^R!ǙCjX&ꯏ~>zAw=I+Z60/DNC_ ѵ(-V%MCVxUfA ʤ\nG[Ȧ FLsXeJzZpfxq\ڟVK8skoYPp YLj󖀄&o_E6[EVVID<_߬3::P)a3,XsD N!Ai,9Rf_£j~Tm5n<^9RO64J[wA2bM}\›9# 1ش72!vzu NY@. F2 {w^ic21]gD`NxPӎC hL)~Od4ș>?obQ`(J1 a<f-Q)hbΫAXo {?j5=;YP)v;%%(2?LoTyԈq0C.j'rbpM+?U룊"PL-y _ʘڔ\mUKkE{ k*-`\yi&`F'F(5QAi#,FgZvK]CfƩkF1XDeo!-t>pPk@q&q {dY ͇:=I`g? UmB\;LyMTO`cn-[8gr»BW|P"_ ٱ ? u !cKAǹƫ]-m$x@X 'V*r*q-k=Ahk'`d쥎.6c N)HGz+FMm)'d :AsR> p׎48R !,<|,HS~S>Nyq!CK~eOd9dfv"H2=z]\F.08_7AjD %b8Z1JN|0xl}F& v8o Vh`?xDpǒNfk:H%V7q{Q+7ۑ1|>FW_sS%h<!Cu30L*ME]99!O6 c26=@ &THz}D u@4sxfS1Ig;mDkKS֟3.dG1ٰ__ @OZ&6WHZGڜ(M-efrfTq0U+[=^%Vz& K,Qgױ}&)C.qc-Tl,0wb`*<ŴJNio[%6;wf*&pيO^0D4xQ2-%E#,Nz%ZR$UHjEȿW ㌛m4ol& R f{Qa5lƓqwFuޖ 9`eay^#vj~FlKN+COUyy)N =sH zBO!qc1iK.XKRMy6yQ$c4&m^bn~qXHNڱׄKK|6e <9Mr )˖Q> 0OT&pqm2eo ۘg<)2-HAJVjHho't´َ[/٨&c(6<$ pS^%S"b4GlbPIĘO2$]e __P蠲rh{_9 Z3HPTG0t7n?!|# j̻ZC.]-3P ^>ZRF16>CR%xw(_KҔ$# q (R2b8 2mqI.PޭXP+^趣Qz"0t1&^ׇ%oPD =3JWU9]>,˓rc,p#0ƛ%k[K{7H4ȣn)Y _ =wMͷ^SihG9Co1K7BE a/dST腄Lˬik!.Ћ52F/SY qmdouZkd&??Ԇ89p>*N$} DPhy^r)iw$ 1y`[y&# 2g64UQt~ Az}r骃5u~y HiF6BҊ R#Y!EW'\[Ki\qK7FY/&3jgl+ls&V9M<l;cz%S[##Bb0uY{K|c?jIteadoڬk؃5o;)~tt2Ljq.$#oNc¡ u.cy{#4,#߼qxFC8aQ/] 27.ߧ.N1 DKX bnhmX]spP5qsY+~+%Urɝn_ĝ(*X`A˪؟sz u=Ogkj&ZΊ){m/4 +'ԋWtkQ{ըaR-UH}T`(#[hjeI4W. ڏa\ާj&㣍Y +:N̳jPlsL5e&YL,]|Gb4?yɷ+oT(%na+ݍ (^2ORĜ Sӊ2 Cuٔb.`SmI*};We* -"Uac;@s;2r˯ x(~Pl8Uy⢸kZ\%O&f:TcPtRaM, b1%&Ҟ%1GyZ3wq/T[9l $pnW=b?å9ET,\#{ C4ntFK1\VB晚|p\ Jsm7"OqœiCw[PZ^9' D4146&5RN46̔YEh㿻THà [Pq6#ք$ӯ{\Rck1 fs n|B~x& 4^Ř\caA( .1riMC^ĵ_4G&SY]Un ?q>wH,gޙ47+Û%Oq4DY j 0-n[ (c3s/6,Ix~f$[,j;|FCW&jGL$PW!y[sLu-nwxj ~/9MT\޾'SPf!D+ 6 DWS xm.{@q 7.Kɉ c/t9{J7t"}%JeلINf%&S?xv u0T>=M\f({XP!i>wy.!KT-1#Z\2McXʿb\:?d28AవBp]d?cgF:{ [aߛzz=/%#G܅~VnU$i1I?yu,^^\e>T}-| +/^ȥR, zI]0P-x5v^#lSeɔ&dFSDyFZ})-j|ڞ +;'RRNl]3|@MERXܦ xC zfMcsNw:!7~ ]7xxkoJy{KA;Gf'#5|2FS#AvG|O7; 5mg.91&ݓ77KiKf]y'VWImEx=Uqwvˈ~&w7]7SP>C.nf,.DLWC>G,qϬ l#G>8PQYebr`OATWmk4A(I~7-Ef6]i̚z\:;[0oxuF."Oah>}<:q2:R(_(0oE!i'0~ە`WpQ9Tɻnm!lt势kd5Z [FdZ/|(<\da&5͑ {5qNĄ">yh®͍c>ܗKc~ B dB9ӽ43$>P]MO^'X)a,,J.tX[/#*-̼Oy}cNCQY\U | 0FF7/&V?q!qϾ9O~/ g7Ͻqqڼ0#/mYb}= ?npY\^tw*7K}Eou8Z2v!pz$%;?B8/ w|gr-M.Y ,npo:^>NCakM$;HQplsֵ5v?=!~> k\%I㜷Ssp)VgI7dfw܁?{t3Ei'bU>\lC! 掾iIc 1^л{N +J!v_8p26w >@Aי%hRJGB&MPȮ6+uyә5Bk=R!:ੋǫWQyдhPϛ/ KM:^*>/T2o`6ptC oo<^[lFdhS3w6,`|Ky,=ǿ紝RC<0x.=@vH1! :U`vY oQ;#uaK̴]n XêAU)'zFGm w}o߻W7`XGnzcER%܂g$b|=K 'R3|0@MiMQxt1hDoh#@^ίuEJ-}'Iښ$g}Ƣ$S)|6_i;{c>nv%s{q,fsp7Xx8O_9՗i1r9aڧ<[V|MS&? Q댐Sd@ޮc y|wbj8|P߮W-+09X e!!6ng<Φ \c(W4-Yu1,nW9V*Z/ı'b)B7K&ĽCiڬQF'[l)@C ڣ>d򙪳iX,_>/IFZ#ɕV M\4R=Uy"lѷ~Jn?NziBt] cp_ %nfCƓ2`s˽9TsabJ?ApU &c [ez`{pRa |q[4{,0Kr&-eQ4?ʎҾł:&aЖ\*fCV3ѕO .]fV!I=H(kƭhIiZ<T;fmO WEHej#gPxTs |@ϵ_aJIJ|FgjAx20[]čs*\ݬFa/DU 0#pKE%rPs:C<7͔]gI-s9s(U!QUM5BY<"wk9b1N^*uH+Ӭ.o97i#LFV$wa#`a~ QZ ^(t5"gé`z3jOƬC>c?~&wˬCd4@\fSˎK~ט$gF_fYlY4}52fbo D8JMbbiuSFۣy )m4[[ha52V:)yC`Tu4͌K{Br #!x%h3^nxr+)bB~ 5GW"${y>i"&ϲN^fs)^ZSgm8}ɽ7^V5}gfvdfv8ҽNP]$X$ 鰚un;qQ^)HlN,Z*o- ERH=$g `wqQ1˦=GbFYC\)jf( m2V". ʏ|«:`]6&j-0y8cO=DM &G3Rk%zf=Ŷ3 vaSƼ Iɸ>aoMgxLizL>n6%LZ]l2H9XB᧔8MP)S+lDE[ 2:ȉ{./i i#jfBCOnAy CƣN+wr7F?R5sgC&RTGDZT*q"׫4.87>9sX*W=&:X)ʐ Rd6γxkom iX*_HZGRȈuyQ~4#Y5W |9^T :@Аncu\Ү%Щ8)U."$X=_X0[p(}p5/e[96tݮ6Xmzl#l6R,fz;`d禷^}=pQzYCd88& &V %D/R103 -R" zqy_a/eqH x}QIA}C1jц`r՘'$WQPoxI|߷c\ ?^ƇM*,jKBB1dng^$w{_}qopyyD* |B 8=8lFWZ( +k meo^ON甉Wk O}W)/fǢ򉝠!BsHHans\j0>P,f <+|;@#7D6:Mu"ST5derV/Ay>X ;  G-"uH4Kμ3 R>F1Y{TY@(sto'̔dRΐ$o7A݈'nAVHaݚ2΄A eMÇ8UN ogLm0g-Գ 0 ؒ0*])oZi7"**fαwҿ&#E@;=WSg"8VL5jɐC-¡H;ޭ_Fڣ"!鰅}a1Jl* ϖ(z ZNr_|?J|Px~U yl(ZɑYyФX#> hWİExּŽEs{"::fWZ!* Ra_g]ZAZA-SO8持r2#mYt|5{̞$ߝ {:P\/n&tg>;gVn(m[v0_>N\knY(+I c:;茡J{}r`t8gKm+~*im爇7Yw [x^%Ɛ|T4ܣ! cN=pH(3ɬ(d }nL,wl/tj&h;G=ա3;7 2e ?t,x=l/#;tLtLYp1PrZio#p/ibx3>[Nsq>Xeljŷbuy_K9pⵑU'^Wm[%'p Gƅh XweDM }(+Yt74<ٺp>8L 7gNN-hضi8NDHٺ1^Ufwa0VʝV[. xoB "B2~ %k<_^b)-Һ3f6+*aV4j&mā7)߬kf[`XnEv֊+%ogNvOԖ,XKjOP+9y 0rSπPEo5*`ܞ;8.7 l+TEE=Zn&$f69#50Brbݶœ $/=fZzTh0і+ @rcsuTFC BEǕ׷Jl'rAѴsZэ4wEȃ4_B_ $@M)jIB{n ?vl1uȰ4Ì^굇j5  {k2 bԬZ%0~6)3Z?J>8z"f뭝jVϥKZw*I ʑ 2WpSDR+k4g^/ /zno݄Nh'v{g|a3]9e4S@LJ@.gpzO]JZʇnHS`&kqAKnNF!eF٬4%q(6XR@>88.ùk>FC|hJ-% oo zLfyl'58%kU J~9 yjzqڎh룗ܹ о1V~aW䶷zby5 gsV AW>O?ExhZ몬4@*ꁇReier]d(VlW1s ~9z0հ T7:e|aK>|GJEvc$9e%4~(c /azQ^iElmE:! ϡ!膲H͈gf/QͬN_ԩQ%-\6ꋡʨ eUEX?3!GeV9cIbx|)X>Oӥ)7t'k9TTdy 0^~}(#<@*){Z5.Әz sh商=|HeےP|_r Q MNʬ\ټf11DKod4*d#@ȳq`rITӷzsnQvugQ{*$"x1uĤ>(%RЎkH t[ۼUr4FRf{0Ҵ܄wu@$p, (p %̞2o{muqul3![,a 0Hр ,dSF~Wr1i&rn~ ]7c:azZZzX '94Px٭Dw|[C«(( ŗKh=bR`'s!$/Lxb'~bu\`5LWϹ|ta(2?+/<)Yuqg(d4=#;m % ܒ >VIej?2cL4?9\Ӿ?J/ jTY.AiRi?tx,wx).[cvXD,70 aXLj]U ƅ:6X=(Z))'Bwy~mj[y*\Ufӿ& Ӏ'2nYQ^v?#|΃bN\' @O{t|.i$tngb*~m_"Y lMXTvZ3DV!#rr#럗wdZ$h45NU;[ yP t J%<ĕ`A}w;(lM /(E-@nٿWc<0*_l=ejAR~>ћ|]9s; 0[/1 HauJ31| x ]%z?REVE]M}uH~ekxJ0I*kZϪMiu鎙^xb-5_jJG1˜'(QYY#tn'Ff: w)!Rݴ7Np@\E `isP^.UN hb 򕈔Н~ ⣓(pma@xzqW 7^Dh ~vEYE> ^o9?aE|.sMF>Ѝ@lPAL(-95ArCXGMLo<{<݂\ݠqW=6/'Z}}y\4f&8< 0?Ӏ~V.3(0d%fTN"7M.Elpj yٛ$^9KF4 ZmUkQiqNm!Lv@dq֣>-\`.W^Qe.٭} Ii*x&>:,לmFa?vxQ WΎAdR6Ysyڷ(d=|Xx∐Q=DZWd8`r Ƚ̉Q*iO*E{!V20Ǿ|0N;=:ɼA tQ$p;RlqA(qy}Z^w!)7VˠiaE{B6c!6ҴN2l'4Ra/6`85ȎK]nS#ĵzjdTKɐ5<5w0$/{4_;M'ֆɑcay\xM Ox?G*1'ϩ,?,Eط&tߵ\E{Y jCoŦ(Ze:= i6 \{ 2@@eR=0% 4S5fsQ7+r0̓`/Pf. ^ķ!d=.b*:1@[C Op^*NX(XB{/)wCbm* ,u6%=1Ù&^e ʹ=Rѡf!^ B&a4 =%2NVgk4\!XqCͲr`b FFr_ Q@VzDHy}>o3сPւdxd՟\=uK/"5@  64(ϫ\>BxL iv@ HȡQƟRMUY =W<=7Y=Kн&w/d@7l^FZlG6'^*+&A *ao#R\u+gPg=HDbH $ (#wv^ɄCfT,:p=ū~Hcd*H[ U]V%=ƟF;3Z]Ɗݵy:]Vua0zM@~P*TDk[j="7 uԣ2#yF[JxK`35p]SB zA|CG.TΤ >~ Щ 5uR6`+ 2ev)tJDI16/fG1-)[ -gif2H^c1³M.u K,qaBܚNt1M[k+X$9X:iiA1"rZOSZ)f}5( &>/7HTCw[>+G=rH f .q $i-a9x* 3PCVv>S ,08PLYOpb %O Ŏw4} =H=$aW%- {*nڃef" ;0o"X?;Aue=܃T~ / H~#@9@*sgZ>V}d#=97w4 ?+볬wh?K̓]X:K[$ w9 }p/HLzlXjf')W.gl|s쟗DSzѪMKxd:´'d46EHZZye^ek / bv}ԂJ#? ~)|<0L;=.m4O[z}F3Q6mg19Cl*jՊXsꇌs=L"s2CÛGC]ԡف)t[ <c#qnbHCVeӮ M z1{l3=|UqfY~2U򧖔4B}rUghSZ)xbyXLF> ^eN)Ixp uUT//9c#pwypG2d ]h0=wр'TwL yV>=d{<+ϮR|@ ISf7InJ mӔH(:V.O,Y~t1f@FD0]?pӉrCoyϚ8md ys *}E!>*JC{}ITGF"h'j#oGf,F{nE*_BВgP5Spͦ]ğ*[% +#wMqcJA*"%'4&/$tjL^:9lR]v^\KSvp_<2U^hU"߶O(ΕآS==b9S'O 0 ok %[m aN;WV1/\K$PZWC#$97U%-tx%-gΓ|C`{\vEͽT *јM- _=t\h9}%MK:Sus_;qa _Čal&=9&X;fY_z[2; 7ଣA㱆|"H tM~G䮠t!n[Kcl7ul(" 3;NWޫ/ cHe"k7iQv1.M#Z!i{|^v7cYfK7j1X$LK`l96 2*UThaӤȿ_V9 [g>Ƹ'>ϯOh$ѧ/ѯy&v&b1 _QLam?Hm}2P %_\d #L$u." \_T3_:rį,[<ߺRbV2|{Iq`8w.T.G^g*B xW &Q™\P z/pP_ܖ @%ƟPqW$ %DSCiZT:R8,-].*FWcY (cUC͍ά,.~ƫFhP%9yBrz4=>_+OeLe1Nh%2X0$?)Kb]kKZQLO?qoHzO `}]DfR%EYT2Χ"`ޛT r 09v|=\{ߌt!~@Hڬ{}T+_0LJ ݨF F}"2wt[w@Ijn&6DYVN@k0Sdr7V݃5CmAr1xsB=6cd&T<=S9u>i*/ڼkw9x@9W@} Yr6>}4^lYő-*=jGͨWW*gbː' nZLge\kōdpA.ͷ:0eYPOH A?Ͽ3|(^E"ת(y<և+2l@$|ZzXwewJ;3Vygo1PCsœ] [QYs=fN$mc&)O)65 1(,Ӈ#Z.ѳC1H=f t[87rs\9H4`[]Vdi:z+^Xs'O瞪5>N iE["@Q DžΈy`e֡5ǺX2փ#(#TUSiakaUPRtoHX MnSI"nԇO #RwESn U Nn^MVlrr{Y@]*3|U$y_bj` Fv*vQ=CZ_OQ)udUAw"NTĞzu8gqT>im HNorwCEo{6&YeaIb*C-ĩtk?GiFjp"T{p ^0O6.mqpy0APLTKnD6_~!uq(W6px\$\WR > \>3ٞ6$޲1Xxߐ4cxz#/6'^ ?ڌ.KKQ*J UP*uAޟD%='Ox.z- W7OH(rP!&-ZPdF4⟅0_K;|shUY6<ߺRn9M5}~ZQtD괰%,\)ץð]/rw5uCYkPbEbp5!1NT0nN{jTuU|b,NJLmykMHuz1[l9(ֿn":BPI`'1GLokMo.md:/'!H&S=G]`F#AvX&WZd4-%'I}R7+4&Njn!r TS 3q2P;W`d?LXznoG〺lpfryuM~~e.v"#PXC@Yfhi,Hk.nC ~_t8<+d:4ЧjK)+SgXXtQԍ ӈn}>x;t9 /dPgJQia!#[n%[c @ПmYA>)N0<1S z9byɚj76M*q[^!}U@-F?WhѠV|- UҫԆW (wH.L9qnLQ:W`r+xBf{$:Mьԙ~9!MC(wܞG0OB4eL Z R- t^[^AȩCýv`h2¥)SzJn>PȇsOԴ%ɲl*Uj^ڙ3U"Sp;}foARb~sD31{+I5~Htu2+!õ;-Z,FͼfOQZ8Y^HDbƚ~2[޳V`}im y߈Y01Tھ;M9먑R HyxUӓCˍĮLiy-À#?'6aR eS"NMRjL7E:'-yQ/?{C29u*b0VEKE%ᘋn$HVOCY\EE<}.^vLBm.(Sh")z&=dϸaFK1(/N8b`"[o@LA#eaq\CAK,uPA=|4 ƊXv%cM+X GECTg?u`i MET {@{X7nNlIOH.bMzڤDrYH(&,A5mf[gmh&{^Y& -@@P- -V*7Z9C8QBA[Okƺ;{sL8/$u墇}x:Å:5a*Wm=ϙblno#F}l4he͆*o? ʛKa۾4[yl&r^<w 8KP'FEcF6 8vֻ@e(r .Cތ֗"g3-ShOٿps/Ox]&ޛ~.z TʼnTAcՂEr͕xגVI&P>c |8)bK]@̃!͖ U7}HUGIN x܁b-Er)IZe7r;T@xs뀤FɺYVyp!F)C6'p_F-5feUyFL&WGs7n} 'g \CA2=>L}6x,vK`@`z7yjgVzQdYt/;=;ƻJ&O;׊x;8;; ?ʎPkIZ0JNjq,5A|iĢ6q|[lf.-*5 U6o6%$YW$ {qQqRk˝)ќ9Pd+%RPx(oJp;(,d3whx ȄSd7^P{g$d\*y@ V8ӣ% ֧-,:7mk89"|dCJ6L$blЭ- |`T\kmn$W7Qq]O瞧WpL'd`"Ƅ;x  |]а sv랻rE\7˻T&Ql7-ԁbG`&^(zo b>f%]$T rG0zZ)!+!BaH#`fm] DH`[E0>ڹx /c`S.󞖙{$~c3Ɛ¯a4ʇhC^!{Rһ8) 2U,M^gAb,:pe]wJ49ՠ'Q.fJ;L)LҌsK@T|O;G20_wJ3z}[g$QՁ#QR+{44"3}*&6x@HAA0]lԫטOMZzUX2'Ma}.yWZU^2sظ4tfA {>nv6ԼɜOKΥם ע&~K#Nȣ/YU$UZr²JIIH(9H |mǴy_DOvyytËP=;욤gtlH伦|UGhQo!T-%6yP\_GQ!jB;F7v0(dw2*@rf#P>koSNy[,Qh:5 7l8bjfL G5g=y>z'R~G$Z&wgxF`t3yQ(X5]"+E'΁}2!82WaQgqqMJnR|A<dߊ=1~΅dݗ`ʪ"MDs|_ ~IT2DDr9XmsQCXj'O(pXN5nLHzJ/en>b? sy\iLi|A6y:YD3zf~KY7Yq*`T@h&U~DUԮ3c# Ep'Dz:bs9@W\2#igd ;`fEEJAYkodgw);= p Z!uvӍ c/ R$ӳZ#k-7rʿUXK<3-+~-X &e6o%J}Ik/9eH9z+Y4{15u*BXS@)XBB5@ftQ3C2V5 |/ 07s%)>zd̵_aP* w,}zAbH.Š\辊P)f?0a/XGREtB-s!=?6BrªUk+1jbIzS"=NMc$h. / fGזyemښh-zRw WbQ/V?IHm㣵M۫#C%4*8Cu^J\%Bq5[0d|\k h"8v5c ~2)G{:2'?`%skn?ՍHP›=pI|k"~H퉑]RGV6m­e|!8+"ngA3=nt1xJ}GN*'UO~f'NP@w(ZHV7W7ۙN6%~_c8?Rela `E=x`c_o(haWB&yGUjnLQTX@B0JBb~# ⯴{j3V Omf Fgzafj7K ?pZÉI< ś'Ћ˅\RUONFdZ9攵V6쓱Zb0*7TS~Xy< -=Q1 2wQ*E49x" 2Fvy4D h]v~~`Q#ꚧlEOq&ϜX4F#dR*H&\μ?o"SIѵ{?ܢw}YLiZ~RNK 3&OG (^$vomh űrӵϤk0ܿe,sn,>;vt鮓Zq'ލ tkv(J@+6!DCNX&Y?>5z*ъEe,h*c/yVG_ 養\F\jCTkܗyO2[,~yAO:na F>*K%}rZwN"S걳I:Q* d Fl@!{u MQrz}z9Lߵh8!9y3 W {`CgTكHHu ,wQo ~sv6]RZ}AեvL˯)+)TZ)\ j'ϴXʥu A*U}xӷ SzwY ]c9]Jr!ȾP70x#*3$8H03Jz[aN\y`,=tUR]WXlBk2mK }t8V?-S Z#D(Jqr]480H*lo&.]YGz?porr'r*ARzg#U 62C~ nC7x+3n$&_GsRP> Շ+k2sV$( S &ZQĞK2?͞)b)aW9E”Gc<Fw um"Lg$*Z fNenn WJGsl,=6x^TyD41qhYMR~YNjuYm ͠ Ƈg0UҚf#'كƬz i#H7*=x8 8 I',X:\#޺,>!॓2Ug-bȶ؁ȔeT {݆18 iAMyM- Ud?cj~ Z-fpŲ-x_`6 ۛ-]Vjxү/r 8[hYϣtLTMG, [UMi27bm} d#EVn4| ^z}R~9T_k? J~{oƶnc|uzGmee,1SZ(]"bWP,?v1ӎ0uf݆.]Rv숚 nΑqrsh]||#g.D!AsrmoMOZte\Jο!zm&pXogr qr-;Rgc_hyE= %BAs TnNjbݔzFk_[?Y2ꔓ,6g9!5U*On*'X_ѻӵtfeM;D3x>Giky(&sŀP:.6du,2S?sKP |ONB( [\7oUS=A l٠0woE2m!}nZ {Xeccr~~C _B[l[NIVע(菷@.8*?&4Դ^evL՜T } x/8p$ܑy X5dx ;QnPK*)o|fA mr55~Cg'x|Pvu8,= lƞGN.Ifj88&|Ef{ӸåLFK-bTRtR -=_LðF1hdv$Ē σ)0$;ʖ15ƜdLkl/$=lnO+V[)ks=;6yd<:[Hi.PQSlbp}_]v|YAT'ofW%p+Vs2ʥHÅ{GWb&0PrIs#.Q(ՍR, >Si܆1,ɱ܄ ԭ dGi㸟fĸ.uukk) glh6#Q{>}!o1;ߊtqنRj+Z^`MnObqE6HFSNhLjfpCOY9׋[!vy=߅Eo7ѻtNHq蓬6L#`Rrjk|wqz^ͷ{ʪeݼ,s_@QeU%R_tj=^s /o#a3xjWO#V-wx VEXڲ ETWfef I_ѡߣ7Ux⃉pd#BHn `D1BuC.BWZb}6Սa1>yPJ.0}x^7x~W:m<`@]U*pQJ<7R3͠BT,.j9<zb9ͧo _􍻦1/9$~ȓ VHv6v }d~SA:h1Ȓv) ӨOe&4Y*7"aF{iUa 5*XgS~!iCWRG&EH"ǖ씷 N61ҫ* uc¿wQ˛3UVMߡ  `F4d"&b?GMn?h2_ 萪r5ʞܣ-Ld݋\:efe}xݩ1cnӖJa!e%|^v P7pidGd4:=pR0 fRt^P\Pvsq8hlPcHb}g2gvM)%h\M¯(\E5_$r9x@@6 ,!#6 p?ڶWYs shI~\mt'gܣ !Em+kP|1Bt[ Ͳ+4#u;VKIy0QR4o% ^r7Q|ى-OLMY$YQ޸5В<4 7fjhOQ@6Bb[cWA[k0HPn,vym'=8sU^ *Vq4z`w4u1{ F)Q(0;o"&&1obmNڃi.GŽg\i"BbQƬ,,>Ezu` ˒^'8צ9wp$_! }ӝ~;}wS(2PwDc|2FazhlY 2. qOJsl%/,WX^E# fKIzN+{>-BkW'4cbc;ړ)Ip Dn hYi*+M@>JeʥM:+֊juW8]rrIfN%;UP !G,h/F[t!O~u䃷|_Eo׶V¾(q'V(um#ā\F\ڡR|;Ȱn*vM{4hMID(|6k?d!#Ք{ i'nj$RR26J?4AިEZv}#F(lY@%?*xN)6o#tcP{~Mv [Pfd/XGMRz'<3;}_SѴ^^ۯ +bߎ' 't럠S灺N șMƬ/XF/y E7*ȟ=jfDvj,%G֗%w^rCqNLFoCWSg9`>RRה,[Of4Z壚Bn߉Z&  >oT)IVl>0Hxt˓I0}3|q66N@^vM/1 B0R-UQhqcFJ2%S:1Ql:"ܩMj,*/fn ?jB7ŘO^/JBl ,\JؔsW2NRlxsTyN5&i} ZfF9&DbRgu V ;Ҽ!Ƒn&{Ç$=[݆zr e]7pln6F}@pr±#=[7-L꼷ׁNhe@ݰjjNkv#ikڀ#oy[L8^+4n0"1?pIz6_l &Wמ.|f_`R\G5焑}*9KGtORg@ְ\ؖi J%`&TƉ_Z>kXOin9#ykGLEŃK~+f;'2 `FVNӠyt71P|PSQ2*p> $6A lS 9UsQp<28F݅kl7(F?YTߝfʉYºp.1z9VPx!\␮{p,a@ՙs}? /NP>9AY Ak'ǻ~2/8r ۋwHXRoЋ=;-ضCD'`,XX3=3/*CFKxn`fI23 `?">6FzTOօ` ӜgiLa$d8j2( D#zS7_CҞVw1'RBo]XWT ,`2+IA"穤x܉NX*,RѭĔz 2nL; /atzO)_?!CGLeHoDA"Xj3c:wp{ 5̫4;D Q(vOy6ܙ䮊-=AW4q+(G(Ps`Ra*0ѣYfMX2dƮxȞ"RĂ5Ʒk^Н<O:;_Q5{w}'T0"y/$o؆1-Cpj B=Z播G]ra.>g k[ǀV{YWԫj. ^9-KtTV4Q|mdJf9ʃԂA1H#?4P5<—2␞ 4j_@}ȷy47҉;C??>3Zȩ9]g\P51_IϏp .{Tl#|--l8~q a8o5l_Zeރia g֨@-Mҽ h}ms*MC>E8 ckÚUl:. <MM[Ӹ=%=Ihq;wꦹ]8Q7Zr{|q|:uB~y)fv'6;C,wص[F ss&=I`,0b!*60꯸x)S;* eO oeF3D!&"ok\`e%1q{qRehK9=A$[x1Dٵ-֘[d IrK63; sĎFsc4 Oux?ځɗ1N3g( hQ&[ҨMel(*ҞBؐ6ْ%lS]uP<%CV5 f}Ɠfć4CGIѝA 9#5-Ul|nZG ų.-$=,lHl0EI^8<={lQm q;cuZY 촮 Hyo^&V[HDw7 ɡ~gpN-BeoB+.K0OJG"U눆e43'kƢp'Xjt,.c1-foY,Du9B 6&Lb:]lQ8" etsKp#8h[F-w˄.!K<6KCk{gtJ7mdAnȊu"s$8Hx~dT$vBƗXd,h-.N!VDMQ֝ʐ.@ 24j1%f,Ɯ CDxM$su 4'館o$Dʨ}XCW~^WZ7hP._W;5a6pHR:9I]9XoOJ節P%2ZZNQx(}D\dz~+(P;^at|L&x~VYUHT#fxk>z<|v@t)ן[oD#R2Ϟhj2P1XW_XߨA'+U+Mtq'X9TA;<6w[0gCDti&&vu0Pn*B ~} fD Vj=/_#!DSPY)'V^yZot0cwJ 9g<@_ؖ-CZ.M@o2%S)wJNqyLl:W5/q (PX,2PslQP*OЯOJiQe2_Ь`od_.yCSgq]\MGWKXk$>FK )C"LdW/Js*Dn@7ǂIi ը^jt!VЉMܕ]bYtzaWR{X};FU9 .2= ap(x<B<&1L׺+tD?뱢?^JhN㭽M&/>Bdp$^sݧdc>L+EyVw\85[.~JF lH T/؈"G!iZc6RL[TB8dy܂DwPn0o]u \OB-20fЎ/hu.e!({+ %3] q_as.ZhV+ud0\shOx=ᐸ;%*-Xl˥삫D[ԪTA:~9 zioN[TV~EhVV*кC#zhD72X~׭m>:vhh841!@Vp6YBrw5-W5#3w^#>罍Tݬ"f3w4O_({m㮞f0t$x׽ڎj#[ ˗hkvW%)fF;x럜Ɠy?ܮ [փBjݶ ^0l7+Xq"C\HBk̞.Yq_Q?/mRk6΅\v;-p$[eԘRSCW32/p'iN/ .eeѪNG'eLbr.4Vh~`3n zEOJH2Z{NeWX%eQ%_\lPz4WJ5p3l-^ `|5Ш)]-eg%Zxv O1(16hsD3x x'Py8A]+t}nLތ|OzF:m>Q<L@G%aE.$xex~FG{qCYW3pR{gz@(&opd WhB];r^fANRG,od'SqzTO~H UC^o;Pi1Ibi/E띁 xǒuAv{݌L#lWutfԆ05"s=@Ws4Z[扌[DŽgn$5$%5NFIa Ho"!m^"B9S'՜JM)[lkمQPD`P[͚w5O5>zX5 đq>Az! 9v l喐)HY*\ckV4ܙsSΨ Dl*VV:ܮ> D>%ji.39wn)aEz^sBhR̦ 8ZXl["8ǧ{ih4']O Xb ~o|nx&'8Dk=A2L)wkJ`+#K/ ؝9LGnȡN&\U &K$*Xei2K*ItWg2wʖNS @:cuuowi`ZvTfL`\w?2ZZ݂⮰_9`s3J+!eJmKEPS鮲,p)ҥNkI1}%A ֫IgN%2|{gj$e}&X״&S|ʀھҕVa6~-+?0 )d7xb2QQv be 77x.a-F2ڠx5c֟MMT:"y1SY< Mg.:- @9[ mi+p e.fի85Y ŧJlR9[P\ѵF~= ԖB}68T%6%u8 'w,|ek+w曵ř/瀕aj4U[ou. ^%XG]䁅bϿ;S>"J{ k]-ma4_~P |DhB1q/魥A6w{>翫ʿz bZr!~nt#ԡ\lJC1* Ѩ*FWBvbQ!AFyq3J|9lznZcdԠf(ՀksV͈zE_-Я`<;^b)CNDfis 'vesw:2fhkqm-X(ȟ<> 4EZ- >}42-)߱{6o,XC7:!#7uBlrPQ3bWW:12R ¸yntۓjjS_%(_W |K~=M9Z]sa&U=NO>sRmI.J{(9Űlz>`H0f$BQ"}/Vwv>KMŸ8>fD@]*!Z$g]7p PxQxZҸA:*V'N㿳g8Z C84òRn l6;DL?pQ9v{ED& XCCVC`ytL=-|A[Z1%[ a-g\pH 1s勁PKxc|q.'ˣ" UR YѪX/9V""1۽<=2HzhDQS/;Z3; n$l?,:!h{LM{DZs=(fCn<,LٲNtcHPIBdߑ,QE6eKwS˩7i"iя39Ѕɶ$y36flpAD,yp` i!JB5ps-}rƲf!SԑVQDz[1de Ƶ{zGS61T}3(y' ;>/oa*/Uv:M;~@_aտ+sg hy]r0b5S8ODEe8&! 53vY=B.S=xC[ mgi1X{F˿ĶkfkCi^3#%8~Sᐴ͈,Ȫ`)8*q]ҮnnӪ0OjPJ7,fߝu{;FǬz~rjOd?%O qK*IFIExǽ%}W+!;j$>ĝ%Mַ[l(<(6eX` Z124WbQB@FZzvbRW;'B]BrmyYEQ&, Ӥ!ǺUE6@, cJb9*Q1h>G -1;FgZF%2Q5hѦ4(Bq2jgG~ѫ7;)Df y~ ʩ4D8J[ I 4vsMU3{M{5Dڎb Q|C-hyV m7) 2:R > RX`w#n) %\yCĻöҢ5aEea|1)T f@!u|*Sz9rd?'r@EfpМ&"% qƏSăR.@_i}[šAI<@s{MQKS+畐pw^-t%zɂ5ycTg;yfgp~[ڷt3Q#8Unn%[ťQlT!lJX;b( p:b'kYVdBL*Et]8*dmx#pZb7"*6Ё&G-DuX&1VYB<.e#9nc\<4WÉaqwdeKM;мIZmkۅ;: vʫ(PA;G" b*ot![ꖧfm" H-u3xC`iʢ?A+ki_9ļz081$Ij )b.%%=7`]htz_M:m'ĎLNI6o+PM3H*3NDNnѐMU:T4!! M~Ǝ\70aj!'{mgTPK3+OR8׾>IDezAIilӔU6fNβJ3HLH}-9(AOnZ;t5 J9Q?:hctuyAgo^7d&-)T(S2{!ׂ!xZp&x{atm͔Sl.jx'[C ,S$g`g*"1NwpDL[Om(jmc m'5v㿫_ &]]SFzy{Rv&+ofq7Citm\ 2Yo0|4JS`kсFuĤX?׿;ha[^6kJ2/4Q]NBØ|Dt@%'fIVd`Opx9nQ0lC}"Uu(UŮQvNsGvP? Ylխ!*}f(h,qYҴ~]sΝ0bPN=@ aC\K8)Qf^EA_~LT_sWjWvxZ_ϲ[чR7bFW)cPabyz^&j`*61g.|JJyVDxԹv؈I&?' :!Jb?"h_՘ C2xI;qZT8U.?-"NQqĸن%;^kHL`S@ᄤ7kcw2&.tpjBފ)u|#ܕnfvjЂoAM˺!( =7NZV7=X79a77:Вe}?T8n08߾>އ27]F}W+­DX<=:&'z%`v GMB:5SZ&txx!)Ϛsu}O%"[l%Q\8$@Di)~d,ZjdS#Ghj5 zrpLcGHXqm4@m .dO5%&t*[iq1FXafv|d5vڞf jX1 w";0T]\> [LLQa^NN}oheB|@"j\WP:~3Wo'{c<s3Z MgMuŭVg޲43XG&H:@859_J=7(Y+N $üKA@p%N69g+ D^!Y:2GNq C0%4K G.@T?JqlIB ";vl!o/`8mf j[Be~hF^N[L@g5Zu``vD?>*SSʗC|9*A9"_R91U0`*ВZГsXX?4G /GحOxmH1&|DFQ]HKܧk|*쬀+7iRVbK.cfJ7~b; %`NJOIY,-2F:y!父$\V{XܹؑUna#n>U~c͗pPͨ–m!PىoeDZ^ UuQlqy8Vu^K, 'cr d[Dair#réK$Ȫt,l3W6dA@$_yCſb_nS 8`H6rm2oSj4mic˰ +'WJZ{a3D3?;iK@8;O{uA@Hdy>zEfGc\s&rw0(.:ӃAJTwS ·Z2c!B$m$XnS7!!PCi1!\}Ć&l*_cRyۀI{a6V m8#%d:k$OCe>&Q$V (;\;Y6hU:Gr{toc/>!œ T~ \%.yaOUg0Gf?u|*qc j#!2TD(ʃ9[0Eᨸv٨X[5Aɺke/ԘTИ ], pA?}M#cg~B?~Z<7?PdU82J' KPѷfv$Ð\veZ[ؕ 8=]U[jFFSKkc|dُG5uM. "Uҩ[&hy%%J.N`&rTFIA-u$Kr)tz L:D#T2+ApJ)^ŕabUߺZejTzͻvCfmЁŔbcȖݏ-#Ǚ`(F׷8%3nh_,(Cn|a6/dSKD0ivJ|C*ҍ(j{m{v }PȡF/_m\’0۾UY(3h|%3'>ioQҏz 覃Y1ohpuOW@ݞK&Bi_= 5l 7sVG7Gld/x1VEP5a/.X\5J _U=TLd8^VNe\)LG<(;<4F?:Nq*gϫ͗~PΒg51 e`/F'~kU ƌ`}_,iA_ç!"ᵍ(/ks[k2nh`*87q'-Baw/ɭ462IT>쯡[tRUO}I%;>⛞[\DDd,y%S-L١5 d퓽6/O UsU A}贙F-Hw?QHUT')#:~LkcpDh%~%߹}ZȉLnJ9Il΍; F Z璊}juT1$6{@&pd}R_\v/LhRt8ӽVe Rj0(WMppYVoyQLj߉$bU=?_H *4E_kʘJ91r>QhY#U/%e1* 4a՗ D00bE sdz} ZΧbTKYubZπM,^ `Qф|'(0yQ?2A Yvy*?xk}B] 8!+@H]y,imorA,2Κ4O8EWuaae1†xSJ d=jҸ!=m!;W#j?㤞zaKHjNo`a\k3?InEWkCnDoZ~ީy_Hd/+IDϬ;7hGFYQ;.Xx?1J(E# XMK6X53݅ZչI`J.AXbkuteIY8IKXv(ݐ"~d Ǯ m\s!9@g0jߙfS'Tf ur.i&UA( »W u"z< fŽ]`AF9.>Hh+$p&~1i7(p ieh$ ^No2vLV 58n;6\YfvHDP0aٜ`%A/8ٜ[.BX1>{SX kPoA{J_̐W,j7F8q혴 2q8b~I@m%7&G.b6_& f#E.64ㅸu !ͅ g+k#%_8DL|ٽY8\F/d6*aɏ1ج3N7O Gh#Wu teg:nדgER11tਲ'_Мʐ$u NgOP$gw)"[l1#լgZ=ƼA6Z\,뉲ߢ\cieIKI;UK;"~}xKl(v9Cb5@[Bv(t*O˯zΥ͠\1å7T lf7GlYaO I/ڂd#螻`#lo@VYWO^CFvU슪l' GcK?-|*^ac[ZT2p\we`ˬ{Ip<w 7i[d~'Hv=(tYS>ޣ%"m\Bl3/?=t;,"&dIuAkb3qע?S^ ]o-yeBQ 2K>FK,@f1zR&k;4t7&؞Mk۴j$Z!я!w7}aᦥlq+hSo]>QF.~y΁b?<7+gkt|PTN`wi6j"4_$&"vI 'a(~$%fW)6& 6H`'B31:Ag6`P(\rqQ69(Ns.W`v:N9x+&D ebc6 *&R֧E1U(a*[9ϼ]?Lm\qWϕ 0k?rVz 2 x6v /蓧tcxg z!|v=V@x0m`<2A~/%5\҃%Ms}$ANZ"k҅:n^kfgu¨uyI«Sy9:jxYX 5',dnrI,Zz{jmjΘL#' q6Ujal^1;?.{~ˍ_vѮA浄C4j.q{T3Nþ<Q5ZAlHyws$yR.,䇁 L3IadoGz_H:daIkݜQu'՛}BGv6IHi>oEE?G?ro;>9,48~ ^!1a!Z٩{ #ʱl:f(Y;gZZ6f!@ ^> ~w&Z4_DBGMD]aϤ&] O)ʄ>*R%gW UIQ! )X;A,Ӏ)G?A WkX\ azh|*9\G,7GYH/[Ed}C*TBuX6(HcG %* u]lI؅<>cuJ ΂{j$p&{!|E:ZN!XͣӺ^ƌ~@l+Q6Wʾ>tq ,-Ǧ٩.M3Rwtsqӿ`hj+]99!A4-cQk-Ϭm ۗ` 2D|pG0p89lt08hC?zN>>׊Y|nsP#i+x*>"~tpNQZbhE/ĺ}-03g. l?HȓV)|2g1]^v2^Kw2j{KpV`}ټF?ԘNnAi}YLcFcxtuVBF1T\ @D}ʽyJ_&$يV.TCR/ І2Dӳ<X484KCiZKOdgE#ˆڕ">YwUe@|3AHeUBboS äL1 ' P*{qZ4'8'eȕ#Q+?͑HQh ڭ> '$8/!7u^Ip37!oT=ʧ/ĨY%>k1LɩimY$Jjպ!wNj 4[rTJ&pm\X2t,lL=Vإ0t#¾(2;I ˫Ҕ{s (Ҩ_X58 ״Iz KaEYzCniQU2b!'m5g܆,['- gL >V^~YC 1~mŪUCC MShRU++?6Z(/yy)vZraF̖ek_\|S vbR{2alW92kz}X{vj ȄBUjOTӳcl6w?1zc%0 4C0eLH;Xцk˜sHK 0ĀQHrrKw0ja$ K\׫9USDCq{dS KD?<=Gn7iRkCf1.7"A)O[f[G!y߳q?jvAG-=ͫb@#oɡ_|R2#Nt*`gY@(dniS.H<+=RPpLSpz'! kL^殁DfD)E\*;79q]RD=/|ǩ];h#I.4Cp@dSD0<%^ c[>ٍ<=АC..5Fߊ)DjsiVeR-Yf˲=7:lKSzXLflѾxz֨QY: ey~H"t{+߶fgWCwv(WsŠ+Y3._$ ѭ9,yal X١ {bV@:KoT=r-d;+ -Wž[+\Q0\PZnPH9p! \ؾa,Sat*T)`DT`$Y3ku(/ CQP}r)@@E"\e|`ܞˌ `%kLCܗmul<%U[7kh6fw`~nt?4MnQh0љqUՀMAOX!o3sYP%+D50w&kJ;凪IfAS"W>C%{U+eԞ1Hh}xJ)}{F;8v-BCjU\@ּS#ni& ,wrLh_\VQ3p[gȇŒ/W,;B7`xfԴi;ב:rw*B1!IUz$GoCcg\9Aʳ89кK4/ \#sDU)ճUJP5 9xix3k&jmך1d@4 ?y5E5`&*cefi4IEz Tm~6GDTRO'7@r 2SM "Ƈ]/)QcdĮl93r L@ L(BٰnQ<2+]0 Zz=ie'4T}̿ޔ}mz,khy=顙jK0N4I]Y}~V/㿀@{˄gN|pᬾ=6@٥\^&Ь>QSE6%[io4cO'ܝ8 쏜S8vA L$.}Ai>itp+B#o?O/Y2.r͠9؄{ ;gΦDNnQz)Q='ovΩ]8PoROUxOsoVHH{ħyYڣ}B/dʨ} \8CE.A"!˫/"3HJhs' #"5PeqmDȞ|XzF* S /Iʊvh]d99nt>qsIcSmD#BXVcQ/7H/љSvj.oݳ&9=krBA Gved+A #ŸKUJi}9ǷѦ3*T(LZN{u5q9q\nH D4Z>nہMuܕUU6n] OԂ%!k})Me t^7 q:m`(M 0S)%/|@EW"Ф{ UgUcB58)8Ft >w\XR yD#BݠJ׫;mQq]P: ^R(Ӕis EP @gAL!as€zeZQ#~d+/uzSBwn͂ @3k13P쥪_>a(:TDᑤ~6q8ܦS=oP' ce\L 1-ߝ&aYҞzx;o1A+D>:e{͘G80DC&kn} oU54|Hl6]HȁE6d.c4u/zI  ^K@CE~xxGR8Fq.8+J79 fA cC,O HZܒI۟Egv2"h7gjeaZhB?CY#wFG?، UdCΉ`ue)؅q&[xVHmbZ3mW= u4+v/3^ N8tCFŤ%3q=G86~e0K\Ohemو8FH*(Aߴ֪;Gi28 k4w Eai_XNgmfnu~^?)$I*X(3 HCuM/FO4 S?@ņ6AOmW_VbQ^*u(@'Q [}K|&\>#OfO`GoƷt;k~w[;x0 Jl <1n#anPޅzi"68<*ZfĘ<49l5=3C-LPc\B?(InK^v@kH895|J!F@ 25kf[-Wsw4t(rWI tP9TZX ,i-"XIv YԂDDJ+9oF9ȟuY`ŖmYk>4pt>3\vsMk;5':nv7FVC\yo/%Mſo?o4b].YJ@ԛ2:4͓`XRB6cDEB Ե!~EP¿ZmhkGy'"Bp^dZd6qjB/OWmw@"tpЛ l**G̚5)QtӌSWNj흛2L[o `"5KvD}-W< Ǜ<jfAQ'F*KAoVrX>!Y"XިźS80g@S'[l&,𬕕 \\w2-ykNyNaBx_VXQ+uFXo +NBcQ5_ S Z2ayM# a5LWRGd(Ğ7,æƛtHf<>j%4^HyzY$+VNC?CϢ2VD |k9F0SNSכ^XZҧ w!9~,,c+ekbE( X:͘hܱ@<4"n9t(0<”$[pgq?Oa ~ՉId~ <(~:-שېUAQi)B>s ஹ $\G`m7+֋PPc}3v36 nqa [`㠌9r*G.Xo<k/"B'Lt}*I]'ElJ?*0hK,prRe>_fZ A4"d6/̠Iq0'&4^g{婯(P^n\9Q0-$puAt3 a&%<8U ^"ջpCK- /j\jϊ<~ac],z@Ti?xؼKAذCqxv8=,`U/69W瓴(.WKg°9"p'M\q=+; wqܗ ^hiD ՗sQjgE{}Ȝz@Χb%ƹP2SK!JԖHht=d:cF(\ZP,MeM yM[ \uW V~:shL2^cLĸv_+62qoU!S_%ʭsI)0=+%ExމxՏj1Xn;* ikZίjiXGA'0h ڡ뗒s\-}~B($`4׌'#բ)qu܉e&ՠt=V|A~_VЅlٜ#؆G.ۖ Jmf?'ɗhCJ:68/D_qcӇoR9rȚwnV{@eB`o0MhvX5›[ELdNjbyl I{g֥|T5 \xzQv. 28%]ޥņ@3v \_/]N%͉dtމ )< iϐs􆅷a׼$#{O]fho,=5R2Tz(Ekϝ ubR-q^E {΍\u|4OՉAhSq:9 (8פe>C.ŷG-ޭH~i# }Qz,l_ܶ=^E@gre6кp=lF>"1vkT-Me)PT gȿ/mg.s>`2.ǛWS,63M {;9`CREMC1ȜS^AG1vBuۼ UۯN:WHv e*َSПNK#T̔M%OS1]d['& ߑ?M8q=Nv{9ގAX/ynVd]2aui8TZF8H""5aK/EαNŬw'󺹈8шڌ?lu\־ vpVƷqis>|j&w'"ψð~SV\ZHLb~ Ay DdцOb(i}`%NxCF݊s7=Ԙ֞YT^kF1rȇHnȺ;!‰}]7^ٹ Ps_&DMl4,Qծ -Y rF/2Gߐņ*9 ^L}ç\SJMq`+xwiQYJqS7/TR|#O%dw eI X/Gʭ3׺5iC덞B4OrM<0L0{RM4SNż=A&?٫B\QHꡔqNСNgQQ<'}j1䅖'ivLѲuRȲ2s i3݊^GUnc )C M@ b^yv(`9`V#)NC V>YIUD7bP= ^"k{\t5cQ̞<~\U a3`8Sq-Buc3vGAm>+oh/'ںR q(Q?.8r5sKҗ|v^tYxQfZ,!(!Y鬬\S}/QuP=W89x]^ɔ#{A^ȉ_.iLX~Zȴ]Ŏ7Vbc V W˒X@6Qƴ¢` K<-%> ҰC%슽tԜ-{R]5oWH$f[J( U2\leUr܉8[K ẽ S_EzU H=ۜ:O˪i 'W2ATQ^u̜&D̾ ta*26Tq^Y`jѤwƪjLZ-&+P]qaP`l]m!iBpm)Q@plyX R HI(dj{ eu*VC|HaL BbK=@bT27Iz"fs 2[6p[4/5ir06u\FMiFx;7-Aypu&.=U9рe/1_/I]@ G\qAGݥF 2m|ƏwCJ'~ec*|fZh70ly?S<8V5.ΉX M+MXɻGl‡E˫4 R" kcC'bkxJc^WCy{upQ '\އUCׅHx m= zepڴzk|,F;&Bf-3ezV8xEvxO TXݥNJ {)6QYD6;T#q(9xlVb;ppoIu4ʝ>j%}crV]C] T:}c;JziVe$j2g}/*b'P"dʶv&(ߚsj^eX.<>zd˲11~#>Š^nnc e!oI˪)vpO+s,hd+~-VmC.RLُ0X/py w[|$gYM>rnCXFoѲ1 2`sv R!l b]fU56$4y.|Xex7S1pYHMi3cPԍ&m!YD7 ?ET(E%#{T  7 8ٚhB491;`C'z\wOE'?1 D_>* mp3B{Y͢p⢇?HlGH Cc]bhO =ymiw؂y1=sÅ zd?"D>vֆ1=COq^$ٮB{6qf#;6=( 2!S.,]c[r, d|̌SAg.A"L{V}odj: l6 뀡fdL5P+eMyi 5>5b\h'FDr<'PXڊ tu&Fo}fpn197Z%MX)'`)1ו71Tݏnm{w,by\ h݁h(t8FrOPemiDGk2VG9;9qVnilT1*CS.x2fl]:.%]eeVnREd鬖J؎SEZJE#I-rԢw:؛xXWRy.>'y:LF_D:4s1ҚC_4htqSm8yZѵx?,@MIPTRfB4^z nF덴[̬,15eZLvǟ6ѷJwExNAsV|Ր_K}S{e$| HI2}.扬XI"3Bc*xcRGk[ 3u ":L_:)7@$Eۏ d&|-f Kv)#`TgwNf ,Eb*ۼe)sleOXC=9V1Ab#D@C Zifgl3 p@)5vK>)$zE xy RPhk MDW,e_k^[ʣ_p.A|M/&F֮`7d2JW7Q"qķ;|0/]gf #N0$9f־W%M?A~? zj\%0lN{E1nұ*7ٛkؿh# ] 8jA7g] cdS|p67$A lN5PXk#6>_iFu-L,8Ƃ~=%8YYύWCy̹bʪ5kXKAczqDw+Ks`-5ʓN&?!U6CO5-' 0(><1J~@(hSC r(Z$Ԭ0/qc%pNnyު5cvfK]NtqVKfm|S)` }T?+/0Bxw "yW42BK^4&3릭: ,Nj; 48""!M}AjE4>*Y|~@~՝ /p`O鵊ZY4 mHx}س Կ^V) )|ޣHމi MnMQAu[BDh`!^UJn7~ab΃U)#&u0EpTrySב%QO_s7;aЃGn!JcX%CTQ dSOwb/? 疆uSy>T\=l^Mq\LVP)dX\jKA.cC]| }Epo-%"5~ۜXQP8d0L~l=YW /7F3Q A) o+# y FdPR>q !DeIu]bMC4iڿRQ; eR~&R8?;[9ڏt[AbpgL7ox}ߤ=ա 7c|J UJ=M_aAeE. gv([Їj8gg>ٙ=!}ieAǓ+YqsJXۏi[>B闞&Wa)B+$ՙ²3rs~%#'ܖd͂͗`pnǩ苊Z cKmb)9{o`S#(Hx31ʉmRzBDھ 'ԏ3os,ljة0=8cRA~AuS&Kl8(LUR6;3>6TG^~5[=c/6LpaE/0qa=CF kaC or5ͅ>{˅Ty)*ڰ2ozFT؂kJu 3R_Ԇg5;#^`DP|-H$_\oaL^!O>ijtO*P4wv_' 퍱fWk۵0ß~qJUӕFW+B㛖Fzjw fo Τޟe]XKp[Z%ߺ sv"בۆWqrNwov2/7'u >ͷI/^Fبab:R?ڮ nZ#PKH1k}U֏Gs"1YZ =GIj}OV T\{|Rc.7h܊-ikI&^x⽀,JpB3cTBI0MuLML_p􋟽O Ŷt$6oj[|V(A{Ƥk 9q鴗cBzQ$rv-818A%n'sS*Uab ȏ5mh\~x 6bO_^9 E[ ya]#(;řHPbǻ JfQe"iIPKxiQ}!Dwp8?j]3SZC@;O&Wj \h䐀ämYxг.v_KlO"cz!>XLݯ7w(OS>NTom j*8l25L L]8^'_PtQSbj>°lJP]ohGVrR>mT9e5JnZǩc|(ZF4fD%ei3f"BLصX,JqM rGګ[_x*XO0ِXv)cY0J}}2(cd.}$zM2'T(:)>$2|jfJ^f咙QpnFTbliފ{( % CXIcר0b,_EZ07 PCHy|ZN2eEh؈~')B9 }(3VL=uF/kVD[,K%t]? #ψ kn:ń*JA]e\Mؽ$ǟa8Fq(K"r^ ^ -9Tv?>dܹSג:hPBz˭_;yo6$^3* *e"wDQm?#5Dw_.ck[/? ` >[PpZlMQY2>dN~dPB PZVe.&қYux$kKJl+KÏOBE;RJ'Ւmru~ȟ=ZC̎0sv]|;3lPZn6l & Th#V](~{MƓ2>A #}(R-h(YYƘ/˿؞ɰ_yfI&=2Ԏy/h:ݓT{£s-5 kc ic(TF9(diz?9˄?^ܹx /*;kNՠEpԀwVCj\r6=nK;%nyU;ؽY1.O`>2%vXgQv\>8w ՔWJH(e&Ҡg9CkN{]4hiiPi]3RQ9^?*Slj7\ЁY"t2+kj؛ȯ:x>w؎ ;f'Rֳyɨ_NjLe|IH) tjB͇:zzMc5EdB4;g;cB;?c_F?jr[2"%?mȫh\6foX@j7˵4n{ Q5玬.ǚ?pRjr(+xy[^j%Γb|sKNJAFg$3ա2WoT-U( P2|ry.ޘv'O`s Q.+&_-AmM}DTv>fu{0H0n-E%׹o%S}Ěf DlҨטa{\]`=jg5~lGhOH e'6<.96չD ]/@b&/dB+a8͇)m_~Qv&13&ox[H< I5L4 ``̒Gʕ&kٜP_&O\˳޼7Z /@g.TlU 1Ҫ^fD3ZÔR~)9o*স4;AzIa4I?iԡ[y@Zڄ$LB]:t m;>:nj߫蘹Cwa%{1rmPTtd?'k]pF-0 @qh&k,f]q%p+72 3{ǝKhs,{>" ڸ!̽킴/i(]T ̺G2])9/nuɞQٹ ]L&lR:QEJЈ5m3$J U6v\5ߨ1hn5>'`84߀NJD,Yw' .R{y?ez ݜVWa F!cǛh7dǰzt.Ma:taf Os})+q)/Qėf-G*ׁv 9o*(R;Ҥr -:b@= Pѭ a*&l58Y2dTݗHeƘ‘rAg ˟h\$XpD'%zU"V{D ;Q0_RkO1oo^2;NԽ℩$W_&sHB0$Щ&U~poh (v%tij<Iqa!.g/~T};ʛx3s+4+/"N.!olܧ+魢Y1>EBjݴcz~*>v {jgyS`'{hH;ݏsq<4a* +WkM~׷_dڶYfh[LThX[ q.IQ]myzVuvL&((4W03 rc7A wjzV" 1A͒7.MMV esccFdsw뙝k|7@܋=.٥_Ԭݘ (:IfJM]g*\auGLHa( aVس{ї0Wq> To,l&9Jn/ٕ_|7@M7?V NQ.:׬Vb/␘NAfT6{2=ߤ#VdId +th >WZrWt,]9qU<{A)S)MçAsiv`&0f ź~.>DZ`'!)^z-O l@uFI TiXdXŭp"AĜwO;HJ>%6}PCo,SKy ܏vs/6EcX G5'Jd_@L4$r%1pH֮b!P!., Y8X=fvp#+1; Åh Qz| i,ieAeA.n}1(!r8x&fI?pVvQV;_($ޮHWi6yp36_iKs (:uGL@͘1T&\gӝ:^e39$ ?wNU)_Y736DR;>x)Ht@lEV"Kxp֣ Ƚ>$3z[:ֻk4"(gAp3>?%f9~f7p-jG`X+rn}I⳯g7WZ^ѠdZ?GrY?1uD* TT Yu2e]WyȾKW Lnx!+zIKacOp;ѴTohk8{ȌE;nFݦuw7̽R"+NՔF?d3?u])z<ɛn=i`uq5Фi'R\b+zp*.۫=񭽒GU1m4f_Α!0wCʷ#9vL HYܢr^oxysLwU"?fV$2Gf9[/CEY#D϶}Y'tMuӡR]%ê:`R &ٜ[凉Vf{A 7r|!|@*4dcW B?I3405iQN -K%T4B{TgӮJ7, !% ̔1!_B(_f̐-j^?f2QxɄ{h\8D+*#grIC:g!Qle7&O&]QրS؝~s>fm?qq7 ,;dP‡@YP<+cRу!Umzkcޑ* {P@)u99MNʄ%&e[ ^-lco˛Pw\ew+ œW?Lr @[*10BMvcPHʍ8{]O-\ |'2H&뜠v 7m $#$;Ԭ5C[0jfx]#K {{{:g=q)M7Ztiu{Q* cwT}hkDJ4LŒϙ&"hjg'!NXfTW{<V۵jQhJ'.PhCkA_gh^ TK * ES0pjw6Q@q@S;T 5IA$b1wQ \NﻔZL_+ظPi-UN#J&~8e0N2ӈozW;svQ:̤9t.Y3'm>gt}P]0z}QVn { *kMXwSHh|}[hy#oWzԻ=.k_b{ sl櫈[|9{o;MWr$,r$Q&{`rş |W\&᠊wFg령tnt[k zќJ<d&ڤTwÞ}E#]BLbj؋6UP K*da81Yl5O2}>ȌiYyZ;ֻEQO0( GS`z)zry70Zd#5L|HP[b'Z{y %w՟-wjK(y0ZHzZ4c#vv!϶ĻT::Ӛ]yb7AY-F\ˡKƍ&6nUfͬb 5A/2)Pf U<#*hƍrv,n89&WKV ] ߝuk7yYJd8!HONʈ^=~( |v<7 smsE(83Gq53bmu6<[Z7شsg$Hk;PYg(PD'L lF7(RՎsy_O6llٰ>Nn F6:p` W^R,B \߱Ay~Z{1zƱ*p|oz:yT`?nd¡/oG7>\҉ pY{$8Ύcric5,xm0 #ڷϾᮯu/4AqL&Pz}bV7Oxy'&B~_FRn.0|fN3kFE8 hið ޢ`Bv% ,ԯo6^ I$$J̖k09f߄~[u2Plw@@AFe|nCL;൵xoJ7%#֥;_'($# G^FIn[Xq{}V0狶Z*m=`ѺP=dS ޗ]c pGtۍ}S 3;]2Lܱ*9;u߷<n zkٔn,2- zmPp^~@w'Lm"&纞C&7Jtjv^Crs12\S Kr]+dSC+ Tn7cTK2 98~+̹crw,{ӤDzm*P?/q!:.Cf*{w!”mn&8JrD#HϾv \$o5f@룭q)&Xu_Ыn2S bI9 9ﶨ1  d۩D`GDHُ5ʛFeux2w7lXW ͩ߭L+ZiD6%Vͻ&q+p=Yb;sH/Þȧ-ڎ#e(9c0K8!xG >QPQjoiAN~}%T![ڎZ|ɰTPi{#$ Xrvulz/[:>r9ILi^S FqȈ7_ cA=,#  #KqURoƞM>571dJNzK ?F{flQv~F0]m:H`}!-(3m/xgtyf?> g$:$;Ykrm9Act[m`Q+}.@Ξ=6#tqiT̀udCs*oi&m qvAqR<& %bU2p79׵ى'jN]?YPt.\<&tG7 iX A JXXd5NJ[F\6)S/߄c$Џ+-Ftk|d,/rCuDtPys '4s|/,.5?Zzġ }כֿx!vM. P0%\ 请B91S(k8]@Y$YOk|s ;yuzLq`9 p6RVH;Ԟ]lU~ fL@Ϗ3"p̤->~JmLoPSBcayo,H?ve"jmZw2H裪Ws C=bρn:M7mipwPZ 76୊Cʿsǰ#Ś$\ _na &@1^ڸMaQ.:[p"+\H(⨞1 wth$s|\>FNu,N-$u`]ͭ >omц3k:IwPA _-j9evKfEUp,p.G?hsRBèh)1ϭl`sPM@&]]sd>O3 E"هKQO?ku%o}O? O܆"W.ITV]< Pfݨ}H|?9dn= 2fT%_GK]j _,yH+/X2SF_p%@EP(XZ?B/웋-ͳV7 +B^'6H{:bpiƻfJu&rՔf~ q§A&=AA!~"ѯ]hq֫Z疎 X\sx[A`' Lj^ "P/1u!k(N7Be!ΐ?k/U^E "2zmaLcGOBX-ƫ _;RC1O0B ^QK9lT'r'~AUƒ>/8HȪ$$JT򙷼ߥi(#-*ÆVW`D RCC la0n}ɂ1_Q̯2ZN1Rj.'߬B7U-/8JH.J_Pid=w-jp('uohbv>6_ $&קGҭ.j֜;|M_'zx>Ո|ݭ~Kd#ş4hy;JA)W{bcra| Z_p烅A&/|73Șm'&tP)¤;̋rg/{v "yna/!3z8UCce#^5\cx)E#2T"RaQgbLifm *Y}XtNexVՈs1i DE9GI6[ ؞͢Y-rx;_]i,L"L?A4=MPFK[6x]Td۪Ԇ4Hԙ㐑1:WEs;Ȣ ΋F54+hΛ+l>q8$tV@c1>a9eLӷrT8c$рc=]/u7S-qҩ73Z߲Њ DK?#1gW,Lt4yE[Nrf;O)rU^h ZzP ĸs7Vɹck8JmU[Ť!%@ Ákxl` azw- MH(5NS ϝ;9AqHavKR br|vBl7;J2@g3۴Rh[EyoTﴌ ]}cJm>:=)CyvmvϚ#|*X>k[ 9#j*!P(ӝU~SB}߲eWCN *{c{xd~!_2a]ށhIJChH+1ssܣm;{嵱ʻҼpm^ hfDy0P[W+_t_`4ڜqEFox4OAFWqmbt!%aL1ru2v /SJ(jU?ĩib!dZhE>tXPFo)]#XUbo҆S![$:![[^C2$^aS6Dc0jzB'_ LlpM~M#GM8k<nO}ing5V%vxJ]NR. i<eTt7@9'M2^ 7 D#vh %0^{7 f]0\ {j]ܶ #IԃW2Gq6f~0cw菏x/dB 9q|( ܶoko7~19MڼRQOFJL\ e!#:;[ `ëLe5lSy@H5F1sfYk_Щ>?0'q |\eT+ŢPi}a4|&)~뒿jOVFES)KWg**%ށ}PAku<3ZL}gluS{M"㧳)/v:E.-J"j{~/JA _,?4JGW5zP]Z{G&x(yJ 3`ma۾7藪[:ժGrYC+9 0h^ 5D>5yɟV nW$gpD a>䫅t#x^EeV똘6,ak-~hFjfwDX3VZ[{#ͭ2FL;SS}Ʒtڼ\ wc v.\.rkYHb\62:F{#8@at"PǽE- zo;8Tߎc.Cd몞DfS`Ifu|1B <$ٲJ Vy5SB.Co;޷Y1%ƥ/q|2U`Ŏ1Ř >P5+ (n@ՕXIBƃS<4d+oJv.*sa ʴBBF`k&H=WO₂Dj=\ {2츰7Nl OD58YW#SWXϬxT˩YTtT< X'nu:§+-s_U (V:jG"T:g9.egq%Ht`jƋ++U[M9BN~o*h -9H~wm)ʔm+ ߆hv{CA +VQve:g1SIEzZ&m[*m!1eqfG޶+FPxmc  Q_Oȇ}&oB,0Ť<GʠѴ/7O 4WPIeoBExsP@N(ZĀ$!ѫo8\R#e=pke#xO4Uw/sv<@?ه࣠gAM3>ժl}Fn[Rͼ(Tgil9m\J| 馦c ?2>)㪸XyGM*')#?<^V0nR`11Fr`1/}֘|)e=zjwg b˻m BÕ4{ЅW6x0jivQ5APc܆PS7 'ED !Zqx$u<NH0\F):D)7da@JN:Eͤ!I:"/VU W<AҬ3&9) %rc2 6!n7]2cMH"uo@)Dv&(?FY8eW=%-6Ppڸ_W1}k&gR |y:?236Ī3&@-Te\ 7 DG_MFZiȋSH)]| X20B.X)Y鲵3:vKH/~؛ >{\#VK"BӋ2Y 'xH+` L%=DR ʸr ~ A:gF՘ 2b./Cpq^סQ-ꛯ*K͈דH1~A[yY9YrSRz{ל-q"iZ+PR)p*d/>ع|ܰlbeǷ3Qơǝ"?=2`d6-\ؠ/Pu{ L:F!L'Ŏ҈6*+VYW5 mo7^"MKj쪎׬]4Ԩ˔wP4Xה)efޟ||YzV߯pC7{7kPx($ ojqյA4ǺZ(X+ ǜ ^-R@8O{B* 21 9%%jm9)Es<7:`/yUg!q%P{0TDr#T?)/^3mtF@Fpٹ[yMB(;\NQXt?G 0 \x1t#ߖ 6(9t0=蒸laZfi6D 1&f}`0Tki7PrN(EG Z#gy{fW"~/Xc&AΜᯟ49$oX0)/Dny רڜP7Ӌ:8/`@wEMuI-Aq/?=BXJ;m 9~F4OtrEL^KM,C< d|Y,־TEeW^Pt0iH ;%*xwuDF#ur8 ]Kr47MwE!BJT^F+͂X\2O #.Gg45ӳt$SQb;w8SHgAXi3WGLjĿ B fNt0qҶ>ʍEYáC iWcCwPG ( /1*gL*3HF;l'^6ytvW92Ou0+԰YΏ"KDš8-uwx;ӔB&l:GEwA0~A&Qx*52^4z&K! EEPB>ug|;%kXuo ^Ymia ѺSì3Q7 B!V.,je_AvS0'.*-+z,n*"ץI7O:Hb^9خ͙T{%%bӤyOnqֱh}B'rH#Ebv} hJ0-Z :x0.;+n7.rVocn*L bX6 ظ*6T/'-M&L'{J3jlܜk+ 50fifbkYG<0PQNtݣ3ҚJL~|<ьyP7^ܬ#m/n 'lOohv@TUuKĚ[Yɝ!:jQ8WT7vD밞-҇\ gP} Ϲ8N 8.'w g"jPU."Q}Y\P lPN7}-PڽN+֣|0XFYh+d  xLcsUp'8CxF.T0QlHSywJwYUec)2Rϛ4c\A#iKIߜaʹY:gP`]fsd+V.ΪF?8O:4NI0ʪ-yrvwI+AdPAeS;4+ʒds>\D>bK_Tae Ԥ*u_Ä5b& v@9A>+tuDk2:NwJ铨R*eF<.,pyːlp4hQC@@?EtQ+7A~~D>1| zPbab CL]LDá 8Zn/U~ ]ɟr3':ugnss>Hʈu5# 4:T.c;'hۆ 7{!З⦁wg9"y1h[& $[A0#qIRD6_tܟ)o_\Gc(Zf<^eM.~]Wm@ j$Ȃ qEH%{K|wmWoWM4_䷛N,.vcZ箟>|oe`)w;d|l%mW;c@C^7`|Td_9+Ҋ˃uK&E7۸;>ŧ[rtCt0{FgLB< k:VCƵK'.Ȥc1)O)qszxDgjztK+=g*V2F>Zf ~ģ-v(ى<ק$/M}T<(uoU '÷ni|uȻ&XأY,^WulA8i7Y$ܾ$KKs )?-cr3=FxcxYbQ(S=QGe*IrԞ+ɉC3s%gb y?b7$,n"x@bq@` 1Hj~řTW,x RlF"֏V)0 MJ*|^J`\h?eM&^|H< 3F4FK~.5뜥a0cx @wJ\ADWwpg8]ǔSnaӟIJPܡ΅O3*CJo $YCy_j[z) 2t̋M8"Ak;;aڧBr g X;Szq-tT>qk'*kD5<:55\85+l6Aӵ6l셣g*yBr:x2bgb:1fX!߹<3/?! N$ ?ai.~SPSw09oka4mz48&=HrA:ǀ%#4`U.ᘼ^+Wu]zefM/O4KI5+GuFM V ^U]qxjpBTEƃ#А5Rm':ܴ=!Ms[Owanˤ2:h[kѸ1^vbbn* x#S"tg~02t#kGj=CmAaMrX#Wfoz<|r]F-pxcɁtlU/(dN3=qyIpKp)\"; ~e""w<[oHC!bՄjQf3]eLw4r۶|U7pXFn' NpM}@]񉭜̏eH7<@$|Xd?cӪb0ej˝GA\}y4!DTiAK2A뀱j >IK !}#-2Ѣ>9e l-еSBF^v8؋N}`ϡ@R#XGAJ6x,M~ Gk,CsPM<־ԡtp44_8\!+j*mzqяt2r.tPaW>/fOɢ[>=t_H{LuGp]ӔFoJ&#ͪI+;(ZVL-;XAle#Zf &~`<46}x*).TK][>nGd|5}7# >U75 Gș%sM.Q\炟?"3'd2Pd1bo_ 8~{n\+dИbg^}½`/ ?f0 y9 -޼5{{PteCgڳ uCI\HMP2Y8w*$\$$8p2dMыDWY(:C &鄷Pc~EjaA 3hF\0Y_ !%ZC" v4}nڽT} (PQMۨEXu2/9ˍnUƜbkśƨy~deS,'Oyktԧj% 5)QU`S sFbcnv̤rC%FLinueR1$c*qW{{ ` X.K)[zKfƸmפ۱s٢#uH (k-7‡<eV1"_/rq(2\sX0pK)FEvW.8YuRAq|E:(~dzLję MJ͉s]4tv(V,NH~a(| b[&Vv 鱇lF ,3R24gU^+7/Dܒ{6ɨk{ֽn*۾Jnl'x (l և&C#<]lQ:ۓ:+6|Ywe Rþ)~O*Hf#*4J [+Vf7u8n &i3Zӥ*"Lz=%oEKG+#%oҔ.tFE\Wyl|zV055̕d.)pVXm~XgrlGM OM#R^R憑YOi3J{[aZ̈tvZWzK%Bt0}=֎6-[)yŽ6AkPzBJ'MׇպXN PYYkW4baN&} .}.OL,:}dDu47VS2JG96 /i6_2}[6jhbKfrTbDp۟?SE6X!;v)UL·tڪ=^9vJlhÕ lFţ#hqOV6 AOaN`s?B^R f}TԑO->YZiK;4TOP)[sZ&>{3zoA9=p^z=͓^wyI1"2Cʴ̖g +SIR YooZn<Ъ]>BYlxjݢc DPeʕ4|C7_Z:JX{@#Kb8N@ҠB[msbFA ]up}T )7/Rǥ2.!fuo,gaXuQ" ~aoy(zcꨧzm]J%2h ^RƌL$MTg(*Ѓr5nJĶlZ6&C=%hYf>5VHڅj]= _~=*9wk\BiMGd r$Oۑz󠨊ļcDP^J8LpD(&cah PZgLA;Wմ?8<[E]W{lA;;7d ;$J^;EvbZB~?0RAhC6r GY̘6]??pܽ<4OtOP6j a3dUAb2Ay۽3h7xvsp% P[[%oNUȠ֕h&( -E'#AgS;dr᲻>/DyXji*q1oX w2/6*YG]y8vpтˠzId]jd:\ ՌrEF9RNos*vP4]KƜH9]WZa礿`([w`韷ר8H!X3'V q/qPRW/0RaG0U_*۾I۔佟:kLy >hlHw7]:=A+A0=DaŻEJ[9֯3`Ro11 ֒'̧l=J>ran<ڭJOcŒߟEnY/ee],cMBa=m/ͮ'>3;zkCX gg$`j[V[N56LVHt%fB4ݠǑF3OQS1s-2~vi+ՅWӴV7MW1HgicٮH7R ~['QA{v[Vt e'5A|Et­D'-o!,EnoVpv8sPDƏ7ޅ`sZzO#|:Q̦m${hڔ?9fnUXw_@c0$E֟:^U\bޒJzSLtHjY-Qj8[Il$86!҂ΑNI)ˑK.J+~9*ji#5}\/T-I^.r?42uVHDNeW]rDSA8]-*`S K?`FJ-I&mNv֘_3Ё6G!e2W@l ^38J3N5R[OG+0 "uKoH& o돇LdrÙ%fO| O_%EF *n"}oOR,emH{4:22GC%(V{Ih}D/u/ؑfzW@W?72Wޜ~g@/NUa;?]޽[ MB'§%ڛЩz}goYQ {f`+>,cP:aw#ʺUVX\_C8bZ=I. ͋6W[.]zGe0isRsӣLrtqhCC^x4h?,F+8~/0_y!,*E/ޛ`fTo iIOZRc{۪l[Ќ bE8ψj/H #FCHP a*>z%[ #z FoE ΘTSx "Z#akOfA7s 3vp@V Ìug/vZw4O';8{rŢџ a#J11@CBudFԃ!I-䡾g|e )(,`'Tcat'wI[}v&˲ˉL <8@mfEPo5adi3koyj'`4p4'q( ?*I*2b.7bUh?Y.C=笮x-x_~049C\8,lj |4!6O]Zf>k'le+ۅ"^cۃ4yɑ!RZ#Q_!SGS*VPI/*zP~,F^4 3=:ٜ߿>.If"3׳L,|NlWW[\AJ8s^=\vd\dbT쫍B,ͥ*h90 4PߴS{@@_?ExОSZGJ@qD5 #?k]#/$NpjIPHܧ"Kx 1#O5+"nt̍J-']'O8VCBӱ(i=$Uc:J)JBjH1 ۜ$i?b'aMxQ Y;j:4@k[L [:z5'o?Q,=fGz/)  IpD6j };~Sԟǻ3 D=[A*tI5}%r&󿸆'Ij)6`5Jy8G/\* ?!دL{/32S/GYvZR')# 5;k2_>[8!n )c8~P2<\f$j;>\YXTXZabC46xM?[DR ]3/(HOi>lӝ =w {ixR#El4|8ֈ}"ĖmC2&1eR]',y D_U}.Ae[6f`*tuQ?Jp%9SR Ұ>{cm "#۟LO.aAפ҇ˮ{T_Gfܠ|J#{Auj"5?rG{@(ӈ>Pý3@9Xj۠yibj4.6G2JX`Z[S*[ntwl~[2'#S(]{?}CP_g-.dWR-;_x_?d?xtE+|D9TVL0^|*eP7#b١ٯLw?'?o[LKl3MB81ʡsOГV"J)ӫ3~cB"Fs<({Gj)jeQ9KjЫKaX(/bPEe = 4oƃ򄨢wD1mA0ǻЂ`qkn!ܕ^dд^J̻]E ;2Rp;U$Pv40&bf"t: ?::2< qLX2s׷wBL$p=2dI$B0eIU7Z.U^-q eg@]mzp hlQ){Ӕ-R( ^@&w& Vb ڡ4Gun< o"%) J{pe`X<ǒ(kqWʃWUHFM)"ed YN1.3,8RrXFLU-#:0<'sWtHg2]FGeAZhjїE VT9.ݸH"&XS!5Ɛy"NH3א-y<0XLMy:§KhlpԵLY6xn63DK&B}A׽~E$뽄4 K_(k|n~0?ځY!.NԸ%D_ɽ*tZbx"y JxhnQin8KKGO~k<<5&zl,tԯ a|@rNZYSk[Ё{^Jr7|:K,_0[7I˻ܲIRVoY7!ugR.u! x(&-fnzl3;pfôGŴǽZM߷g1w>ݻe;hjWI2gʽS3.OfA?Fi +[e߿ZeR2lM| ljJv_P t`g36םd Z;,u* k`wq2!3>0nE/MO+,UIGpP6y7_ea j؄]LLQ2v %qLȕ KG4MC䣊hyQ*F7‡,\~k/gugyh7Aް7s⊍5 9a F6oʹx^@a7)}roz}Ap)C- V/6`a⧻xI#tPUAHZ~FDXbVB=ZsRT6xLPCR2*83Mʩ~pޱF 1GkBݪ@"0%MG!? "wvFh$@T6񣠺7qI#Bu| I?4KqD ˌ{6(} ˭~^XWa T 971Aeғ c,U c+vANUzDToz A Wu MIDT+Vm`Ҕ5j;Ǒ"JZ 6>\\~ΰDm^h2ES&'-[׉L77R>kq)ȢsV?uR>x(QaOƕh));T#66"!٠/*S >X3M>ţᣌ0J8LQ vGՇeZNcq (Hs~ CZ1P1IcE>Dِ_0>NB  ״2-~KJTN+D9h[o%YF}s/ЄtxզػNj}?cK4;+VA4Z<0C H_Xkx$4sjҖleR~*ќ4Ȗa TUGZonQ"DHTMۏj w0jQ%?,bmh EL _\Qi}&tCCT]4JSj7cbs)o`T0]O֚Gș0pԀXC;HFYUi_Ii4I~,ݔhM=;w9ţF*b0jk~Ń˰̉ *`k HTҹJL_TDAA=ZWגhG uZnAcH#kJ)pv֚#sBT1~|rr3TL:y/)Q?)X Ѹܩr [W9zBmytp犧ZTQUj{&qa} jη{&]`}okIB"{EjhNa؃/ Ȱ +7ؿ=^37,-.Va#o4PgG.&)v#J boo~XR+Y}[fYu f Tw@AC`(}4-Z]a_=MxGk=f70`2k7{_5L\S2Է|2_pPtLA 5 u8 WP@ig{-i7r*WDU7C#G_WOS6>i C-  IWn۞wEGF:O̙1+PIup&fȩ;H0 XS=J}(*KB?-3Ew .ݶ0au㱪ʢn<=,\K຤i+URG-U < /1*oe ׀Pe"_Y{`v`UKf=V͸ˢ!7g+z[dYp‹By 1P S*h:v^!Ps\ Tk*,s+EjCAt9+p AņD\|(7b~eNatUݭKsD=r!Yk xK%bǵ2,> IYN,ޜfcL%#kV¬;4w]c\2Myh`U*TJA@:|/M՘&Uԕ^ ueɱC@L ,j/|KCv)@X!:3&!aS&NL~|g 4Q56E{(⫞g3۱E#5U? TRČLb8; &*]WK!p_oC&!"Z_B~lG5nA"o,˭3CX)›*,B_P_l*zԤZj8M-xC4>DiBUFTwd)"{M%;LA!k:-.~$=)c,n?F6)'-]?,@]yu% O=嵶D/kwOg9Pz8frh?{{0Pt8a00fM[cqa)%3ridc)2b=X*8#poaEW47-/i@sƇn+i^0S!p|'hi` <vzJx I#h8r^nQ~ǻ\:j3u9^Qh%wb%ɜ x7}Ig&NZcDt8CUQQ\i5f5\ B ֨ s&A{(e2t <˧[ľQ^bMH~\CS2^)niYT9kAP!{iGy#.:^*cil}=k)<%ZSO*;HNd]muҥCRzfxMgc"mYiH6[.V6"Y#M x8I؅OI'XF]%qzAfx!5 u YD_>18D.W #?MƹKlVY6Mkcfn!ǖxXWn\o/T3 ˜|)@o;gHǽxk'LR{;vgT@ a +FDDB ,7՘r8EfJ&Xaqt 6%(:NHG];X9O-B[0"}؄b-cY^ zy&lN2'S_1t $J+p+SV'{1&'4ɳU ?l;Y6MT{*>U~ʼnw?X@X3i&"ԗ^eNtb@C,A-҈KpoI.偾#(`S(Jh>tEG0N*} AQ|U*7doS| %LO7ް1Knou7͆ BgV}ǽ4' bƴ1"PvԷ~h6kP[썣R? ]pع'5/Ԇ{{C8r G;-`!PߤjwZ`r \SՀ\Pb%n3LexUP #aF=Vet:)#Q3hㅥG81qP/M|H5p_]uH4yST#~*gVd#gUPt8H5o-{?^g?j:BH@yەyiix ͥC'1Zm6}W68X?UYܖrQrbc/41-/b9` 3-V>q-;t#)(ׁcߥgO0 ΄؅6w,?WR3&dW1]̊qfmɐ - H#gk(Tf2hh"}> # J}6 *K'sDniϖ$mpdf0(e2~V lL"t6jDѾRDg|yO>( ae{-C[R:xg>%|CE_pȧ@Eߛ;5'}.Ȉ(MPhʺYtwX3pѿɷy*R}|rQ1E|@2]V2Im3PKMՙukO}…)57"Q]B Vhe,sӧVV_  r|MO۵:CMvJF!N?hw⾗Ut^quPÆfV!Z-`m*i3@/[˰Pp2<"Z4Q2PNjhV\ڹh5,[RBb 2{zj2bmAVU6xj+c9bV[{?.RDF%;^!uۢ])e #; |)Tsђ.($9#jEV`f(tf1fށN bKED$̻د(r8Txlo@Xog&}&S1[/ 2HO I4VX ۿOpgaE"^Ҳ`w,SQR Y#!I:thW]wn-{CǍ[ ,-()t5NO oga/?^k>ijS*mT#¸]PIneVMn+I_:b)[7zFoly7[و8 ˲ ٔcAX;ﶫ- QN&t<>m: b𵵹Tj4\sa.wiԃ@t11mPиvzP_d"B0UoXbRg*+27^Q͖|:9ly옴&Cn-0jL'_+N*9#߼GyW8rڨA{@Oߏjuya]J\y.у65rѰBپT`UEvns`!0G,_du; EOMwrnGy8r<#b4)՘'Z*T?x[(y$<1voHqNU!b\ղq8̈́XѦ{fLq<C* 6?E$cP6++ax|'1bQ;I(mDk. ۥ`hERBs{. 5.$mP)zŭ :e%M \Ӹ[rǓfÑs،.} ex RPLݫjGz)dII 42XrLtW_3i e_;<3A=KBmʗKU&\a]@d32&rK d0.V@Aud)>]RSdQMsNᢁӈt,Odߞ#&T>t߽vЩDHQTDSvđp~%D,5F#.@ "'cɯۯ <*͏ǩ|f.H$D1 {zȷ0*^@G+f-0K|7Dk3n{~9DŽ +X2ӘB ;n+.1M,/޳oZu@/`FVw)Mӂ?NK/p'b@-ƄQj]lB%Im tEplwAK'=( sQ^G(l{'4L_e@c0E z*aLHU/`g|Um~䁖]z]ޞǎ\u)4)rTTjN PYqY _&t q( C̐ےj,LЋ!N;dsK*~;Fc\#d9{I BUwOP,l :TiljnI%Epڭ1FTQ5QE :w% ^9gi-d6Q@׀xz)@.Jƞ\}6Hi~zvrIj4Cs4=c'7s,2于҇L'dtG`%mF(7B8XfI}<\IVTe2! O_QdOJ;ĝo%.?T1;Ov&T EB(hJNYeJ=?;CJrߔZS~Qazjv]G1k1@r?c58@;b *"۩/nh98Kwu\-L<`bf• CHh# ~-qsʚ.l~5kX2i+1aLjJQ n lk'EyT}YѢEӯ]@8}L'*Eq}(e6Or |yכIm+)V+a -F<~Z0p|~ֶK-DtK.Uzp%- uXf?*vq!4$ KfMa/l,t_o%N_behpBFRiq"Kat!=+;!DW!)wd:ojȔSˋPS҈h>cc#HvoTĸQSYvl]J,"?1ꁽvhÌfyQf)PgXNj5WX5$T:|"}l:vNo3JОhJU}ӂ뷼ڬĊDh@DZtbfݛr1w('P :y\2#װФ MQI4q) dyv+U8g9d'+8`! fPؼ?`TJngŎe/RS|c/#Y!zvj+P)+.$ . ԈBs/xB=t0Z.~$41̋z~q7u[b2 {ߎU1=5 K)*C! B~tYOgkuySEA?fҊ@0ϯ ¥@§ro]oN  '";(|V' kX!|PԾH :Q!l]ڻ. ! #$II|흡 i0;"۬uS"pe9V+HT`pwϼx>+TmPO %(fJ<ߪW{F0[:X}f[xSѲ !YvH*K sJq!Z֨) ;z;C Kt8ˢ3U|LQH5 єѿJ]CF^98d]>ia9[Tכ%#na@$fB[+͞ՙK~lQ,ڜ# ^?+J&K2$n.gY|/ 'r%T`9KwE7XyHx2׈6Fvvci^HG56O[01j~MfI?u۔,빴WЗtN~́".t8_F2Sa+q1itT~d&B'K ?LW#Hܭo}6ϓyy`opa':aVuܣ(DՅZԐO\8 `W jh͈);Kz\Ym@s6@PSqlWo-6@}'X1?v4hiQ#Jr~XvH a9 ,d% _uj)*4E镶@FuFCl4nE$H(8v,aw3Աǣ;mJz(ā'`E('%}VS|J͑ ETUfA<[o ~9W,z\ 9Y8Bb!ńmM-/"o6˱%f2%A/4ʼ&4+KY`b#'ג: teh1^']I;զ61<6wR82eT.*,P#/ywsxSYgڛ|dJ~k4!p:& LuԀTrԘ"`2dG_; >mӺ[ވ F}:e YZ