grub2-arm64-efi-2.06-150500.29.31.1<>,f p9|wuyrW .L*\)cLB&- 9sKg.sx7mm&C1U,+,iDG)֞2Uv\7A);1g[Z9ؚ'x&羹C&BtXAr7wxNo{ \e8߸@' 8qJˆࣟ>Ru:nB il&,!U$@o\-X1)aO;U8&y H['(gŒp$r-Y>@?d & \lp| T     J7 KDOSXVXx\4\P \| ]! (]L8]T9a:s>5B=GHHIXYZ[\]^bbc defluvdat|ƀƆCgrub2-arm64-efi2.06150500.29.31.1Bootloader 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 EFI systems.f h04-armsrv2Z%MSUSE 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-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done10,x%pn{*p8 `-"@ U #vx X`0V0) > .P' .8 1+x2(-@,pZ  X$m=0=`Rp! 5?x5HX8.0pTpG%;0 H) 4;P.C-X7h$H^p2hX",80`s9pH(  ' @@4@  XX5 QW( ( h8 o'XHlH7 x( @F0'P7 )p)08H/26)W-` (hx% 0 -0 E(`) (PE)p$?;p(LAA$A큤f Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf f Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Bf Be3e557c4eae8c1103e94808a606172693233c05f1338f23e577829e4b7654dcc9be7eafdfc6a3d3311fdf421a060ac90bf63dbc8ea5af4d8a46d6b917938bf911478c5d9b5bd13180c8942f6ad3d1e31afa64edd47d963089c3c4827f0b415afb14654c63e8213e29a85e5a6f437e944310319a798f4e395fe2c20954c18bf3e61531b14e59d16cc4ca44183585f7fc7ea7bddf24837567ddacde718df9c973620129b88bd90510f80cea6518a800d9f75a400ea742fa60155cc2b4f1ea47f30ded88498b3ade91bb66205d402b9eea0daf81bd1c17f2b62e3c359e64e29677c0665bc1441941308f4ef4bb8b72a8b515c843c7a5ab2654e5f62df00359231aa7b50a44b560d295d2ec9fdd8d97c2c167ddc01453dc68870520df22a876ee2e1b399c3dfc717ee74a09ae9d04dbeef1d6810c945eed00a9bdb7101052751c0ebfb222bccca2b0c78162144275324b14d062703d7623974d2bb45c95998b20544d8c3cc2a255eb519f16030f466c423e9391c719d2f01a71948c2e5046deacec2b8cf2044fb8c2e10f233e07583854b501f40c7c407d9744bf3d0563e4569a04c553a1aaf946d53591ad934b762bbf22420c2545da92c42828b8d7ccb85b73d31d2134a5423115c34584e2ab742fdaa35df2f16dafd070c1f6a6846bb5155e8fae6cb02f240c5c8c2196f0f2786f1f8a18c397fa90f7c5bc85c1da78fb383ff23e2e251877649be23a04b794c95c476012192f8162d95c6e1cc02a41f19847f7a0f42adde038c4815cb9f5f091554ce6f98a0585e96921d991a23405d68c9800a1ab7cc51b736e176521a133b80937a9816e7ef10edb2e3925aa4eb50c592f5f12e9a155767731b1aecc069ea1907469b5930dd5fa98b470f50485b2479b15ff8e44a756c2ef91cfe62effc084871e16f4dda2ddd42225da4be11b699c6438b9d7b905a7271c65b5e290790334ccc3f653ba2de5bfc21635807e538e5d395002cc712bdedafb2b9b3890bc6ae48df057c259b2f51e746f14cda076993419e4e0ec4155c40ee46a6ecd264dfe05583377418cc9c26be759dd664d61dc18c7fa4983e695090a7d4ed5e9d6d64f7c583ff8d5749dffed9c7266fad91b125415f6c238364fd5abdad6f30ca4e09f95418242f9d1933e9ecfa08e3a271d128dd6cca3deff383d013511eaded57ff76ba822049b64db1375479e7529b2cd5dc3c13bca9a454104da413c2ac444adc21d43d7c7379c191e2710e6d451ea481183a2623992326865a085bcbb32f6b3650c5e5d312f19e34de6fd1b61fb41befe7fbac87d6eecf11a5dff3b1603d6134738f3965c77354ee637e76ab1fd80ac3f8de9199c57a83a782b338650d64a1103962df59700a464975ec409d93621b92fa8b55ef4b1b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc432aca1fa5f9a55f37439123e087c85cfac2c4157f859b2b24e68152c4f337353d3947752ca4d4623485142b43bf5e3cb5690c2fb5c44329bbed7e5eac3511cc0553dbba4cbe03c95dd85fe15c123fe56a075dae486bf4edef24317123de5aa51e5ab3ff43200b455a239a0f18b4ba60f885bec60e9c97b53225ed548ca80c147291c846666b76ddc306043d5db791b02d4cfd54ed1d1615409f71b2d48ffd5891537c792f1d61b577e31f78d2a6be65d9f0c1f105dd9d6ee29fc08111f64d97d1d841fdb40c9a25a1654a5feb5108da29029524f6d48651a64900683175491521cb60a885a989b85cb80be7ee3ceec137b467c1d804abc26ac1da4f1c39df7ff6444900d850a5c5c30b69d36bcd16455d40e4da6306a4245019a6ea5130476105fcc42ad6de098ae93f0253e79383703a4585a514f671418acba6fbc1935b59ef6c73e7e7548a2cbf59e9daa96b8f8a156724bba24b614f7b2a1dcc71fe8839ca4190aed640b8bdc54e51f474e029d391e1e51623cc1e235ae8669b25fe9d880591a657c50f8b43b2c6034f2331a933e023263c97483653127dd6f48d7d4359c02177ea2dda20a7699a7f6804fcaf8bb41f433205e5d2d9c1290e9c980106434903535551e0eb5c7696ca373ffb68fb44fa8c1e7ad24a6fe212de03f4a15e6a45de5f5bc630cd8cf04529f13c41057ce0f5b246760a6973d6d53ea456b01a688f86570101de61f8f4044f86f0340fabcb3c38c23a7914553196474d377ba4d54400881c4b16113c05f1483385636066ff461c48e879b6004f044172e81455582d7f2dd48fbe32a7482c32a66866a8ee5ce9c8ccb480d2cfb21dff676132f8bcc6bc64c9a309bafda23f0cd4a7fa5f590f24ead529be21f915f1e8e2053f4c490769f7400369b4c6329cae307a7210590dd34a4ecc8960839e88c2d7e7b4b93ad9e0d9e27018bd691ddde78c115a5154a88e62e25c531ad2ae049b80bb1f6162a54ba12f0c56b96e6f8d07b57027a99c9f6a028050262f053c7a0c11c0e63f64f2e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855353fe0a750115b09453b2f8073367ff8897ff84088b9a5e05bade86f5acfdded9e5c90269cacfcba303a3983e9045b9eaba64070ff8156f1bf0c5ec84951eaa3f9fc80c28484b203fed5a29c4e80fc495dacd67586debdcd11e305c29f6994d032fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c575ca030b5f220623d3b1881dd5d2e32c2f184fbda7ef0ae8ec196ac86a9f5757d63a063c1e09af2d67a2f9d14dbda84fad6eb1c4b3d877dbce3ddfc872534e0add9b48dcbd9482378c5ba3ba5d1591f68b60a98a3fd1b4fe2ceb70836fc114acd0763adb9e49790a084d40828299da1aee81e28a42aefce7fba5fbf33dbb4c620b645f65689cbae02cbd22dbe1bf4726106c5a2194a63fec28ad6071cedaec0e1d012b8639e13c8e6baa20219877613c0a23c06431d941c3aa019879f5f257fb38521feb39d3bdf3e6c2b0bed2855e461d512a1243694e1c2e55ac6b95895b628b44492964dec9ab755b727300cb660abeb5eb01312bc046d6553b1f17f7bd582750b31ac656673ab9c7bdb5ff1fdcf247562b5c2a1a9229b10e493643049698f3c0cfa6f428def19f3b121d2b2291cca41ef6055ab24d6599d11384a876f7aa397fab90005ccb312becbc9c7225f5d40e0c13db18e4d7e9ba9b4a25af5b5ffcce191b33e27756aad97aec3bbfd015ffb3b9a054941234b4226e51bc65a67dc2dc4d853f0ac059b1441721eb7ae0be92f5e70d752724171b6b92220e808b604f653514078063e304cab5d2d4793296b5e7cbe2fb3ae962c9fc6ee82664b583e632275534b3692f99f044817d1443adc7aee6aaef73852e24096e18869c2833100a78dc119e4202e552639147cc6bb148954f21700c5c3eb4857a95693c7b93b90673fca4b06e30513f0f7687e2a650344f6b32f28f49398a7c3c885363ef5bc9a1dd5af5017e57e458e36ed36c43d98cc70e17304e9db7523754a5b719446d3cb7a46e0708ef68e366794b5184b849fc5e0a6b917044aca635952f136f5c8f7e068c7d88a085edd657dac19d338a1019c935689df9be5485801b956a77539859848aea16a96b19572d864ef98e5696abd644840534f2843e725052bcec873e82e77d636432308d287a6dbf7cf8450ee4852efa4589f8d824c16294ffad2eadbe1f0b36c8785714f9274b2f1c00f3383903c5ae5b09598c4817ad4b53b6eaf4095b02144e7ac4952af2850ab4ae683fce5e623636ae84dde733e424c51c944bd450de0d13564da86751321d48099d9809d25b6c53d842d97eaa7acca41c2c518cebfea6944f9a52e79a4a735691cec08b4a15c6bcaa7c7b0679b1224b059c2eb60a20133d7c0c1723c824ae1f5fc86f0a0ad2040fd357f431e36ccca625a061a86e936398257718f164c627df11be9624af879a283054e4090c08168bc5a9c5dae98d5fa90d54bee688d4acebc1663cfaf5b1d7277d649c8385b189152d8afedf0397dbd941a814f990cc6c219f9c91111100d3ce0567586a4a89c5e2242ac51cda8dbc8c13c4a6601f4df255bf2279c98fa53c0af8b2f399dea68137120858d3486e633bdd9830c0465304359b6035b0bd676eeff31942c93d93915b9804112029dd7989e265b74c0c2f6871afde9f55c507b2256e0b989d6493c395e3deb06562ceb369d2cc6d78afce05ace2bcc7a73d99f30fa937d581224ee365f0a69a416a285b31ba8a037b67a3e760c2114662876a6d5823f589de6338d0c6b38cded29a2e95a9e7c4d814c894db8279ff95cfcc91c0b9388b002dbdd40c9e5d15316f859d7b1fb676987ab1ef84d28d7c188d91f392667beb43f470dd4dae290c79a26c9e6561415a5c3fc5b5cb2fc4249a9212e01f06369a6cfeca9a3bf0c49ad0ba9c69ec97468a6d3ac58e3bd87e4cc9615b28fad3aca73bdb73d81647313d9ad408ee93f48e4f76e51cf438095fd802cd60d0a707a765ac8f2e99ba6984e01561057e31d73553de49a0d8993a82bd064f6ef0c93a92e8f1e2519cc69d058a446f768f2e9c2c71a5f91952d54929b846924dca4162811c633d61a080df91cb5f389ca689b021d03e7c4c78137d79481e0adf98338c72671086ff491839011364b8acf943594292c7a055cbf65575a0923300d48b42217a42738feaa2473660dbe372af8d3ee5324a928e7faaaf79564a46e7ccb1a9b275ec1b8df9b1c92df23ded1212bb258c1fc259c39a7e5aacad90fe262d30af3cd00af293e852d88ad4c3ede81726e0b8a1d52f0c2dcab249e298e3d0ea823c3485ecae394871fa7e6324bb616fbc9731ed647b0c3e7d8de63d4c20d1534e27c6cc543dc52254d8aeccf695d3b9fe71fcaec2e3845b5c36322c6aba0cabed7271b83f9247aaec176c75e635d756a492b4799afea028b19a48bdf166ee638b412b321ab876627fd9ded0afcf4b2732649dabfaaf34a93d5c73bd1ba41a4d533195cb502fb5811343543ce931153e05f04761d26dcce3a233692825df6416a1ce27ede1125b397427ec4b0444d5373cb74777d6a916ee8bb903cc762cc76229400bc57907b6502ecc8d743315dd1ea234ebe1764ad89faabf949ba69d9d31f01aa883f2fa6a9f7d5b8cda407e45fccb5106ffa519a9c6b7ce94a9bd9c0073eefa61fd656470e64378fca0013eeb09e2a2d03c0359010c1a6b7da597a8c400fb97bdb4aa5b96bb758f4eb34704692026995b2aee425ceb2062a147d68ec3c2705e6380ae9065a602fe05786866e405b0a9c3aebf7e5c878a9d56d16644db2f753c476c58dddda2fd476620c7bb286054792eed8d219255ad2bf7ab8d8f0757e55110acfa1a5d01ec6bb1741dab12f7f185f51fac837d6cf114f3b6a15251c9c172b455f8bd06b18dfa10e1e472812b85c2617b2f5ddfc18bc10ea5e327ee91ff4350657088434ba345499525e22b183add3df7b1cc32138cfa3aba9b744561f12e930101afc5e7afb68b4b731fb930b0ceb8285373ff3c4971e3fef2bb79f425059610b79860a9200471e63bf5ae44224519d7c3d50fa6e54ed34e5fb58c4e37b657a11628910ac30a1f69435fcf2be87af5b3e468dfc88b206e958e1108aaecbd7d6d7417a597b27755f24ad3b6b34128caf91e7c24b91127366d741038c42286a1618807e70a2b88ce990faf8f454f3fe3e3c5e3c3555d7cc9f76b936dfb072a56219a881cd3d5e2497b783a81666d541aaee229ad681e8408d646fcd0a9133fde831068d1da94dd23cbd62f942987efeba6815a54c461182e7ca86627a71b2bbf327e2c4ef108ef287af96fb18981d63a1309e33f3a9b5ff033c3fdf7ebb9d22ebce86330beb8b96e88f277b677a2cbedebcbc2b44f131599603fe0df001344c35a0b8b0f47a50504a46d8b5a7c272f9fb844534aee3a4d3461346ce660a75cf2dc871e9ada4be562281c26a203ae5dc59efa66920c4279f15291c1715b8453579b9235c5084bb717d48d8e15f132c854cfe23941c9f3c98df820f41f321ab8c63957dcbf0ca734e4e78f7068b7005ab25343db01c9de2467e2e9a496806b0d4e5c571b14d6b1cd024a40225f9c134f53343199e048b519c97971577cffc8573a24cfd6f706ba70796f7ea751e8f8b4a9fdaa922ef581b9c1003efd7acb7b2d553d1683326f67dfed452dfe80c52d4332f3b5bd1adce54c3487ee99d5ad8e115d3f759269d174ed88375e89db7561fa67d01f0868c99637f6e8174bad4d50f6764d686a8eef09921e18862d9b8debad42b44f1e7004f92c2fc2098fe0cc388868eba6f7688a2ec59e278d00c89a1b92f65366030154b9913adc9e1d2a2960a6c706779268fc18c88787187c28cf4206195db47df03cfebcd1e8d1c96c61eff54ac8f95b497764b7eaa57de1579f31be8be1ebbd59d2ae365891dd3c3f513d66c3201678ac3bc6bf2893e1a4499b89efdf5efd02074013fe3bae1fe4811e6db3a3eeeaeecfe4cc9f45577c0a3858232a3bbdb5af5545561d1e85fc2a8e38d9b48e9cba72b63ac5e01c6fccb549a8987320be59c0a8a34d29ce82084089aad8dc34e7b08fabbc40fad72351664f01a0283b3cc0afaa302ef8d30ad9d3aeb4eba5241889450a297346dd38b06f2f1922178fc717b7044adb6edae3ccd4a7b2d6020558bbb989607d1d9980ee81a7b6284b658b0583fabdc554893c057785f5cb8530382fa14a1bf03ca1ddacdbb8abe42c8dd1299c8fce16a74b675f226e5a863d729e9ed30ac2923f36685ca34f8ba0bdbe47a5090b8264c4daac81a88951709a96633c2c79ca56ae7132e54ccb2eb18e090b5f3487c39348a067e1dedf88d8cd6edba9dd53fddd1375ff8fc21f3945f1777f54490bdc6a7cc1f33f0f4e9bf52ac7fb291fa13bce56ec062c76c05936da1b154ede729d06f61e95408f67c4cde1d7e1f61df7c8a902ffc894969d07295a64244e3a2c20f3345e6dc66c5faf1669b11eb48575405aa848daabba38e1a7d4f2ce5a971649d90371bb345a7e11e451c9b94dfd1fceadb1a95ff3c32da5c2a8831be559a1ec341f2a0fd8765d78b8219af8c9e76021509672fc29ca6c3cac606324cd1eff97dd70e36076261867d0256996700c925d2eab95dcf0a94e4b9dc3138dfeff5685d46df1f2f6b0a517ab37e768842c19fb0956d20d1c258f1972b2fbf083f6968030562b86f2ae62717ea13f9b8d504f70bcc59aadce08b4ece78e0fb20456dc36e70a3a65f8e859021297a19d5cea56fc1f37c0e8d17da949154759da94532d75d9b68ca66ebd2a728ae78c46d92d3d7ed332855b0f65d4a96f2b0e37c50ade69cfb0fcd9f3751559640ae151882f20f754adc5b01030085a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe541992818adfb2ac3900a0c2c110c5bc78b85aac2585a373049b06b7ca77a52cd155a079149ae29027e8fbd73e5ea7a3bc270fe75a3f81dfcdecba18032a2350d3e691a3bc27fa4af568103d590ab44466a918d56795fe778141ff60912be184ea3587015f2c5ffbdf4aaad6cca92e2224888e1af6f3bca2fd544939db0742d3b0c0b14cdc248cedba09a24eba7c80893f8af039bcc2f4bd68235930ef99fdb36552263d0c84fd6a50ef818321bf0829a796fb47b2b867cb1a49e4594ddb2d22677709626ab37529fd8ac22e03168d38559ed91eb8c9ab8d4c5553bdb8ddb53a451419c09ccad392a1969c7b7ed19ef21b1ac13fae6b6fdac0e2408efd463b6a0d389aba396b13125538d45b23507e9889c7bde8f3874536ac1e23a2c1238880c25f12745bd14c5d6c8664337dcd01ff7c4f1f7c64ecc60994b73e12b2f96a43afe13577ef1e606fd2fd0f774ecb2906921ca73862afd56d78d3ba43efcfb0358dcf9f0c06d6b2597bf0f0a5eac215ed62be0e5f8c02bb5089e7ca3f70dcf34fc8f174ac5c095968e877e008f8375aa10d483d24575b34390307caf9f141556d5a0dff5ae4954b02ca691e11374d69c03d5005e1245231d202327e7784a4cb1d3134bcbdf6903ca0f7fcf7735eed15955a32bd34d459b9fdc8aa2d535dc55fbd91065323fca5caeccacccd05dbde60eb835ca5782e5fd7aac1ddc2ddef491aa8621a7260d79b1c51a14e1c4878eae2f74c8e58550844047ef5a67b78c73e13b2bfa92ef509a671ff3dbed06447a351ed4c2368dc0483a74fc4752ff1f8938fca8d924731d7702fc48b3c09d57ed27e6ee339ff1f2de14286d8e2d157a421fd60dfc15454d7fa5e8c8719a2aacb54bd25d853d16c1b28b73b821e952307797f5a85c7216a1b17ff7ea532198b9bd7c40fdd4ee49f076f8bf6f13d9a253324213964aa2f6ae03730ab1d4dcd0adb4166e4d231af1ec84a05330b61ea423bd630336f6f7f06b2d45849eeef1e2d97601f6a67591fff4cc30010eaa7c771f2ea4d8bb660f7796d607d03103f24efd4a43a10626e149b4d03f80b88cdef8c9fbff0fe8f98220058526ae28c1db1141856c079fbec23a7d1b0420d1c4a8a18259ef322b66f361b0633882224507efdb29c90239436bb76c63f34afcebca59731110635f74f6adf678f2c1850e3254c7ec4f724fab7f8d719990c29c0043074555afedc2f2c81755db945d215d293b44d728ba8f083155666d6b6c1036e69d1d2cdfb383d4eed604e5f596ab0f7374205ab0377fb8ca35d144b42b12aeb8bb187262cebea8722d4568914ea6a9e3640041891afddc8038a74780f959bb4093f0a515b2ce027f234be117eeeff7dbc8e9437f5b18859f2cf749b9b2593f7972eb5f7c3e15b011ad88a550f0c507a40a35eb14672b8a2b3a9a18563631666fbcf453359e21c373a268dad9a1866de8ac0fab4e61a8edbec2e5f81235074e5c1692f87d77156302f77aa687e5620dba3653ad8df5659b85981a28a3569299db996f21443fd80bfe0055f1c95479f0e4ebe159a3877bb4e27cccf6a1b8ed5289ec71dd54c909c65a67723c82630a63f24563aed74a93cd24cecd5917661773ff150339a78e99e72158513417bff46e47a8b1dbc3a04d98c599fd62457450c74b5b2b31df57b30455d73080bd006762ef3da4a131c576e8d1873b2745e743fc660e8676d4434667561406c757504bf105787fa6f1b99a8ce21d4cb128d70403f94bc4af008dbdce5d570967f5a63a31d8bf9221c2d40cf0faa3ce88c94d638fe6fc4eff8fbbb8e3fea5e525731f03023bd795a0126434cb6515fdcbcd8cbf9518426adcbe864ef8debf6461b344e907804d99b30a42ba2101a71846428cb32202c3d9e951679fe616d740ce129659bc36dae13bb50eb0a2c061b7acb952e9895a4a60a9f1799c07643365a46c7d4800278addd91fa0d0cac6c3fa967af82d63a9c09c7fc4b294bb30428da0a835b9524355a7db2da2bdb3da24b27c02ce023df9baefb9a87601e17277e3ee0374afde183f19388832768446d8bbed813af9ee2f4095a0d5445c8622e1235dc106f4bfd85584ff7dbbc440d32ccb946dc312395678fa927a0a03f426a44b4d497887d7c8461fa4b9bf8e35f91edc1a2c0410dc0a5388996d107813407cc1a4203fb08bc5acf80946fb8c15276d09287df862463b780f6bd308f389e2e5bdd10039a00b9358599be7a9c17202907e806e117a1fbd64c97d6d32c3f6e6f6b93300fb1849f69b890d50c33266a723312517ff277db85a96b93d5f79466385d34c41f143480a84d9e64bc90242afc5f5c4e963b79e7b87ac3d20671a21fc3ccfa745fd9f2023d0515fe64a7cf3dbf528dada9e7f9c0e000cba8f5e02a1a6ca5066ad8b8d6a8b5a11874028f115968eb793fcf5a874dac0122e86bcf2fbc03e7c8f1adc165426ba0737f00025a8e72208780bfa559580f9e449d0aaa1f370b15b3e26c5094972f5913f410e61e64614bff280d28a653bebe41ba75954fa31a00c5af6ddb80d5425107e38560cebf934ea5087a0e4733eb38d59a243346af0f071ebf9e87b578047b6c70175e6d73e3cc86702624d2428ee06e10358ee6523a476f6e8b5178060f8b5b3e82bcd3ec2d02229660025fffe7bed3eb6626605b6d6570cbac7e95e524e2e598d9d8f35d66b00d4ccdb950ffa875bf3ee25632248c378cfde7c0207f8a373d306757e96acbfcf63426f92aa772c8ed403da832c9fda85ebfa7a2bf717830f3904360ea9578890b3c0dfe9b63d80abfabc1864c5b17b5d193213934fc7f2fec6148050b843508830abcbcf9103dd2e0787ca624621af02e8c78ce17a09670dd13c2e8cae557136083b535efa12fb38e611c46ed771bcd950d03a3f163f2141a3f6403edd391bc7fbf0e77e0b8b252a8bccc280c126c88db00667a9040866b29f96b55b463579137d6be5d93c9ae47a5fed3b178206acfdcbc7bcc52a171ed943e469e82b568d0461d53776712326b7691a284204a4f6ccede8395b8bba7811cef9af7e21adfe4c3c235a54cdffc7d250354c8263d95e6fdb912363e1e1298b1897f5c7ba5485d442f9356c8e0754d53a93a407c658f8fa096a32d104769d09ed77918760b7c2779e1bdcb4c88c044295f4e4b../../grub2/arm64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.06-150500.29.31.1.src.rpmgrub2-arm64-efigrub2-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.062.063.0.4-14.6.0-14.0-15.2-14.14.3f@f@fU@f@fDf @ere7@eПe@@e?e-%ee dS@dBzd>@d5Kd.@d?@d@cU@ccc=@c@cR@c@c|cdc[@cV~@c< @c$e@b@b@baG@b+9b)@b)@b!@b b@aea@aq@aaa{a@a@aaqV@an@aKa7T@a/k@a.a @a @`]`ٹ`"@`@`@``@`q``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]0_@]@]]@\ޢ@\ޢ@\-@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@mchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.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.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- grub2.spec: Add ofnet to signed grub.elf to support powerpc net boot installation when secure boot is enabled (bsc#1217761) (bsc#1228866) - Improved check for disk device when looking for PReP partition * 0004-Introduce-prep_load_env-command.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 error in /etc/grub.d/20_linux_xen: file_is_not_sym not found, renamed to file_is_not_xen_garbage (bsc#1224226) * grub2-fix-menu-in-xen-host-server.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- Fix failure to identify recent ext4 filesystem (bsc#1216010) * 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch * 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch - Add patch to fix reading files from btrfs with "implicit" holes * 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch- Fix fadump not working with 1GB/2GB/4GB LMB[P10] (bsc#1216253) * 0001-kern-ieee1275-init-ppc64-Restrict-high-memory-in-pre.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- Fix a boot delay regression in PowerPC PXE boot (bsc#1201300) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- grub2-once: Fix 'sh: terminal_output: command not found' error (bsc#1204563)- 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- 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 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 aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.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- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- 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- 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- 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- 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- Support grub2-install on LUKS2 encrypted device * 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- 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- 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- Include loopback into signed grub2 image (jsc#PED-2150)- 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- Fix installation failure due to unavailable nvram device on ppc64le (bsc#1201361) * 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.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 - Update SBAT security contact (boo#1193282) - 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 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- 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/shgrub2-efi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.06-150500.29.31.12.06-150500.29.31.12.06-150500.29.31.1efiaarch64grub.dergrub.efiarm64-efiacpi.modadler32.modaffs.modafs.modafsplitter.modall_video.modappended_signature_test.modappendedsig.modarchelp.modasn1.modbfs.modbitmap.modbitmap_scale.modblocklist.modboot.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modchain.modcmdline.modcmdline_cat_test.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcrc64.modcrypto.lstcrypto.modcryptodisk.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskfilter.moddiv.moddiv_test.moddm_nv.modecho.modefi_gop.modefifwsetup.modefinet.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfdt.modfile.modfont.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.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgrub.efigzio.modhalt.modhashsum.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeystatus.modldm.modlinux.modloadenv.modloopback.modls.modlsacpi.modlsefi.modlsefimmap.modlsefisystab.modlsmmap.modlssal.modluks.modluks2.modlvm.modlzopio.modmacbless.modmacho.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmpi.modmsdospart.modmul_test.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.mododc.modoffsetio.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.modpbkdf2.modpbkdf2_test.modpgp.modpkcs1_v15.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modraid5rec.modraid6rec.modread.modreboot.modregexp.modreiserfs.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modserial.modsetjmp.modsetjmp_test.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtpm.modtpm2.modtr.modtrig.modtrue.modudf.modufs1.modufs1_be.modufs2.modvideo.lstvideo.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modxen_boot.modxfs.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/share//usr/share/efi//usr/share/efi/aarch64//usr/share/grub2//usr/share/grub2/arm64-efi/-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:35491/SUSE_SLE-15-SP5_Update/ebd1122d80378cb171d50f24b1b78b0f-grub2.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linuxdirectoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not strippedASCII textemptyELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not strippedPOSIX shell script, ASCII text executable, with very long lines 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-8a1d426f736daf6e45d91507fbb15b1bf2756e2f71f1526570132c6ba935f4dfc?7zXZ !t/ q]"k%6C¾rU9 c8:jW=a ٌxzL_2˩'.{\ X>^-#_K0RP?~<W޹Hy7=S]T+E= !JJ-$_#nFF "a42fJ)-DQ(ULx1Lc<nCʬ˕^lZ[cE4㳿NhwӍ+x~wLs%CPї$RZͨ|U2^1[xiY6adHfs"~pAa4<ݬ;u'_v- d65 N:Bޒ]$nA;<ZR |O@8.F^j=جҽ>z]''T#@,y:̹1'1p/rmǦ_  uzMT:dgӍ`00C2%;Kw 2B\}iQu {$D!JC͢rAQy6ͪ9H - YƘNjF :$|\O j7UpI>f;w}9Ce,9G%eu.f\0݀7|AbL@“ls&,ytQit݊wHnr^txMD7#/nsaruՀrCfS2KhYO<?YcjEPI<&yAi>6v;e ZPVZIl2& U^ RLπr߇H̅熅W8PqY|oAas4#5PRSK?8&LWE~*Xo.=sSB.tS.0 JIb})0̶Mg.+G:3w~:}[(w]M`x~ԱU:Xl53UulEy V%~K|Mԕ HJ&]ZiE&eV=SDt _h֨J-/M-YAxMs]q 6Q7~PdF[T?Ӭ{~;f Rvҋx?KG::yFMNvMRM18n\8܈b KDo8JDI:ZvNbՂ#RxօLڷ0gU2O;P9 F珳9C-H%Gsn#v&{oa5bl,&='ER=d<3xtl~xh#Fu"V:^&.L\{Jx-j=w4ѩ]|z0z5xvlP7jmY1 KhSم+Y0/{[?6fЪ#_rm$KMQ"Zz/x;D0A")np~?E~Voj&jUR*dPbAȈL910s_l H'YankSݢE#44~Gиs@!Z]U,ƭ/&Իm/E!~`[$Ux.6wt"*&yG:Sm+mWj4N}6_.cCZ;:m&m8ٹP;j)s&IpxndJqP8hƏ~Ⱥ G[v;'l=UiS2;1yR x\5t GM_PǮk|o꫞\VquԱb׏LJZinNLl@v\|ry}Hm+Z0W/π,v`&ReJWkRvm? 2YAO/uiBm<g 3OL<\7a┣hD$*P"qpbu7kyF 6JIި$9(kN炚(bVteB_W%\ NIu7 xdSBZKCМfǝ>]¥94e[k R@3·.q_7LJWT3= ٻv9 Gqy{s@t:Ҭq 9 s[:4dM(/df?_㼦<#arB \;~0{G>"LL*ʅ8-6+yo">Ō&!I79=v"Мz|&f`D\ M_BDpD@5qO$,5SUX;rb##t|4,$7y3?%li)+tO&Wt*amI Bf5UI>2V.AJlufrU'D?G GlsG[ʴ? A}-APL0Upk!v˶|vfh~֔gid41w D-l^EGC@sjn dnP3 |O]oKߗԦ1,+d߿0ˮs} &Eোef6~KבY!V饡CQ$:We5Wψ..Hm! _Aa }`:f6ac' hRuYm?KeBd}׻%(*= V?5-7A kFhy &CWg9 ̌`ш%vʹ–ݗװ[CKKE2炡h..|(+a ƠӸ!^dF<`,ݪE *_sůZ(-'oUőVzt+ι0 q"_?%_Y2eF|14 C@eE'FP+<4E/EXTNo>b.)baݼ(A ӥ%ˬP"L Á>`ێ%ȣ=&ZԸ^2+t IDɻ dk J?MGvQ- jB ‰kU3"h\h&M>vc!O栂 C!8|,o$Jxo03MJ@yW Ĩ \ <-^[T_qn!Hӓ p=ӑ^]+T"^e ђa%mpX3Hhk QJd]osݥȿ7bA{u?Q=F0IݼџOux=L.gv|uw0QfJEw(On֘7ZY%\ˡQ*2G8';r +xr-S=^n3e};D {c%ܽ6-D 38L@I>gQJ>'{Swl@H0ÚoÃIv!ɬT].zOGq_3 K:z#z34KX~ɚ7/,̳sdG =rz2?MXV:S z]q? hw@ O6iL^ՂvdbGcWKNm'̽u4/jbh7ZdcT_"ml7 \Xf k}x c iCB,sNIy J`1x,3lz0)I:UD\ UIqF$u_aS=tݩ^pSwj@OhƃTuż'a< twYΕ! 3v!K#nل14!I)u2ԡf$T nKRF}D{ࣣHʆQ7wO1f]#.oI BIH_"a =4YFpx 3"|&-բd= ?5©hQp`_Hihj6? d\nA_ 4*FL Ov^p:vQB9Flw찷Y'N9βʈK9ZXefgy ;od:yra'S~޳9:=2kv ծ9k?|oz]А?~Sߜ*Ig? Fχ^/z`*5(S\?gZvDaO{Cc>`"OkJG+$1. `ez,ZaA3-Kjxz3H.idȖk.xy)=e'H$^G7*!D<-F^hBms$U֏a-*AJ8)5#jC7菱;k,,zdo;ck-]PzT@1޴J͙̣X)To,<7Ht%`YE4cK%`.x"c243j7}._InBLPRJ6<Ɍ}8(6BEVgnjKβM-@P j+P l1#+rXdBtLf1;̟h!s!% h3 ]adMQ}l1t^[qq'\qk¼dhi}T>!Fr !yY`H`I&_" lQH4BU@/82OL?e]o>85ENV t+7 ,1a,/@ּ`7VႹOۀáXVm~.c)"[lmiF^YKq|EN؋?xԧ G:Vz yE䯮9Tb + xr v8@`J3 _ݛ,kP>4 VH]o~y:_FFF)>F+bnd $ʵE@0a*fq?na0,Dm^,IJ8j蜚r^Grdc,kudhrJz}R(ҴxJIPdpG쑭͔(pX]tSn_GAaZ$ZԢi~>5SUao3XNc6a "M{\)j;S=PSެCC7xW& _Z??OOS JeuQUL84"Q ]ju8 ?wJr+e̤8itn" (X܁C hp~ylDHl Nmg{;iʬ8z(ugJ6#ו&Z\Nidv:9x F; U&9쾮2@rw!$tXNJN.ל,EZRgҗޔAɇ1B^͒eH=)jw_zZ,|;/ 5YɶlXC֘fBƐ"HCtL#b$? #k6yHj}RN I &3Փ=d)4q)kOXD2Z[Ƭr/DJ7 VLw}VEJ,C]^7!`ĠD)sxθ, Ëߠ CaŇ@=" l\z{.Њ\(ƮA''ɂ ^8 Ul0<ף22TBwgk)( 9<6d )MCV rGڞ{\uei_wϵh:}v4wqCAY-ّeq뭈Ch厪DtЌj]U": ]꺖`[b]K c#꼨bG䀂@[[~k Ah9Mɛ}b8OV[&AI$3?K QJ%qsIHMΦkԵcV |0 ДGɺ0d+dXS\;u Rki]ĸI vEdĕ}<; L==3""5ʫzlj ֑N"e;r܎0m9=O9%|)>|@!1#My/50c5V( ]Rs-bQ/VEn9nä1)Kyn+};VSw-)|k!K.dTg嚣S/'R=Guzi!F.7-=S5yyz`w/@n >O;|^$'H2F4{C.sթ`ʹjiTѩG2| AmO ~ GA6|dP锰y\sVYɐ-6&&#?\,X'*gz^=I5~rwv6WW3m5򳦨/bi51!D-4Iba>Ep!`tYⶽ~m؞>rh[Qb>k ix{-) `{:D75 5\2=^m %iR6h|_4w)BFdӍ?z[oo2<5>H%ﳺa-g/.?)uPjbaƒPmILv L>0ڲ=2цCZd$F+b c$Rch@wNʂ`? bsPψX,+N൨: {Sw" E !*_FJrZ 4zrxLfҟ%^0k6|&jݜ]Ņ?X~;Igp Cj-7"X7=plx<79=?ĤbGYG]0мAyT8OA"BK6? UzǑN`4Pg n}BxW~U4#GRh;3nR% WۦAL+cxk^b:Ğv+DOn~f:_FKz^?L:Xe@za9k;X8 ̈́q>s& @{QfO6 ~u*L%<$Tzd**OufR%QbDzy~e=_])Pn[ζQSpsPNl yJܭV{WV&ܛDYvq_ݹӞMǘ*c]$̥S$ܰ#%Tǣ"DMԦs)dvK0; (ƿŰH9X,?s(C.MEW<7BU|+//2'g2qzbP)(]n\X HUj"gL *rm/ !-L2:[:2ӐyD&1g,oj鎞nSV104TMt~lgdrvd"bޑx'v l(vwx-bT6fZW\G-㎝N)  h| VpÕ71g)؋ȍ^s'dRx&LRn.1/J76 ˲_µCXE|)[Oav@Wrx,F\jGQ1"!VIS'P{ݰ;)#u쓽q~̇E`a9;c[gDty}VO^gFr]睠tl|d u`bjatv;hjT)_nKLd-81`u,EIω9=,O >AdD=$w14Kt7`춐v!cI˟늠,KiZ1gx\b6z+{2;I|s˶]wV0ɋ;>FG( łσGN07e&vWE{Ya숔(ew:3"YZ@ʼ~+ C}$ŨJcj"#tKxhٵ~U|C0HZz0K $&ٸG_ǶIޥu`Vx)5;%"ZL~WH F.z(凁tʑX6…CxtIDHNjsLGny[*ѹN,oޑ \}8$Mf 9د I1&HЗ+ZsyȁsntިZ)hLH1S .I56WNHr2#.vE,;e>ƱK@0P7tݨ;G ߙbM܁0I]*!*ӨF1  Y*5paqʅ[.5D[C~Q '#|OXJn8hN^F `۳E&^:,%Ub;|u$9\Pj8e2Jv-\܏y/8/ ש&G$، @أJ4Rz%U9+Ly[w'4a ՝Rݮ Dن1s?Okﴎ{5)4N='{s@"=qmda{wLbn49,k9ߌp^$?Cd3d3vl8zd˚ځ?_@/7 Q-ױ;ӂ=nR׊΋I^M G?=j xiA!c`>AK%W`-j Lf)m bO6U@-:- \R6؅xNfͪ3jMvyS47̨w!X{O76\]1ഃH Vȏ T+EΒ\""*4Hw^vks0'd_xL⬗-*Yf$O dT~Qإ$ḂgZɰsl'iB Ii8Lvq ϐ>! UX-*rۜt#fnSvl6QWu['dZ4[Ȫut#||%opR|U`,k]P-|[؜qURjӶLL l5t)=M2(7gP%f8: ~k*Vo&5CF|׈T*HĐn83l{ETmt!:BJogiHQWgg Ԯ hң1'Sױ>/S?81y)@wnWZJ4?~u&mb5x8"M_^;ph,IGd.]d7ԗ+ #)Gd YhӔZdjkdFIlw),NǥAWY_ RN A45whoohN]8L08V}sG(#ۏ"?(>`NcD #&ĬS^HtÕ_%FXc,POj mgߓQz U̕r!yXlm W}PNɭ0\!iQ]5 #t.bBgo̯ ?tz/K+Kĭ1&l{W:kL3ut2G[NUmL4;eDb'{=n|~"-/9Ky%֘,F,Sᕭmoe]iX/10_[Q2J6Nahe\ټc r}b+n,<$etx(" M<+ Br#fi‰~Nz=-偾H5?t^=$EcM#g眹qUb|N>sGE= e%L E-bVG识`Ζ{ :M}'T fhک~ʖHe7qh̗{.Vq4ØTp1fhKYwy ^_ٸ;SR8C-S"\ 4l^1azCzmF.vQQ)sV%bMc~Ob8jo(P/.n0:l5C ryŶ9:A]욤 )KG)BW ^J^!QG \ݚv̴xT*ND% Y0f s_ƴ$X'QMVpFX:> LT/#J{ #_AkzzU+ڍ_M\՛}f)y?]_$p4)]ҪAȗZ}`O :qHЏsdiF71J$}뫡EXkfd.@-!.o9ha#]s\U! *BV"5ё̫´C<_@g9a=c=fup(t(|T2q1ľg?:B1AM +c!ׄB?x @`y>xf_lZ6Tvm^G2v6]R Mt"Szp0ϋIk:.)2xTJNvhfDbG>{ *HיTHI8"ˇ-w$r  ^.\6:3'# jON.lCv澇x fUcOgV0R79|[-l_ڬbA"ai3A%qX@ߩ%njW%/ɸur]Oiٰ-'S5 ; QF&QO}/rJk{/a׫6;6m9G&h +B j1uRG:+,݀Pj?m2E 3@wO;uE(:N~F8 ~ԋR5VߚP?s9IHQ4*1ԌVfs5 "m&JHړr#ec?B/& k-ې+Q@ߦQ=Ny0cĵWz /]!dX0K*vZBp*Rm %H{ [Q@JykMzp1z{Uw N@9z{0ayv_MxI CjY.ChX< BX&Գ?OzQJw('PRNo6QO#%Mk; b Eջw}4 E2#U{*R~Z R#cWyVIyVπfl85%e,x6u3^|@v!%HHfxڕg[+m`P*7{q5 GbCo<[?Tn{} >(6á2YL[ #)XcTXCj4/gȄ=nKs'sto[^vΑg{W4Vh,%GrY[BĹcaZP}zOxd6RlVGgH1+h;u;^$-4hf`@Y̏ǿ{1ܼxI#fr`-nd9$4 $o!`JPx.${zL(&.KiS55?#?BO8;4~*F3V)&dqVE{wA`Qi16׼s6?¼胐znVqbbPS(̙Tg}wl˖f16[?A6p* |PN4?0vA:C X|XaJ/^K"ͫo "~-.Q F",Wh-n ]x`DntyP$I~O9ٜVpU+qݾǃ Pd/x;˻Rxt(–dm'HbyK !--^)6'&_ƹXVF;\<ĘrklTw?UJI./] qyU&.,3:k,Jxdj ?> ZՉ 8tVDscA!U)D  ajȴNsk~^ocǼOMiLu%짐(\ {> A++RcYzRzqZ6B$eL?v,tXh9 Q,C[|` mmzc,rf4nsLx8}*})V$2P{345;F" |S~޸` ]OT~U_R$ Q¸ˎ$GH(p'=*2 L!NkɰU¶`#l'Y_7Op5WDxbZ^>4T-! JG!~oe՛rp;3NBerLaS+$/MS^RtP0.h^HKXBI sNgl s0Q7ʵg[# dӸzuGYlnH:fIqRRԸ|#T'37 lhz&`QbbrIǦŮؕrAE@ ᧕lGhŝU&-.%t A078A s Ju, pSm@l]=k<1q|#71c ycr2ZpooF$a5zѻb%:af *n{ Az l˪F5[w{p$Bm34Bع|A6 9.N,R`/Fn-3({!4|,s@dY*HVW5N |[i?YkIu=^p9P ((lAZqCSvtWdű$K0%sA|@ajR7GM;#8X:{5`6iEhpʖ1<CцqGSuz7-˵Neȹ;t3+~H3^B:"091i8v~Qe{c'.ʐyk[$DY82> t1ii]!oFCG'3(i1\s,rVI`GP:d@ -Ռ%y7ӁŒ ~(2c˛(N,ڟKB!*J"= vk#(nx 6'֭7zN B>Q&‡$1SY² JA| bRUY@"(Id'-CghŔi7# RiӺ:7_E ]:Ӝ5.E:A1B+j$D:%(NRw$qv54TW$hwJW 2^bjڷRR+w;CP9t}Ӄ6I{ ASfK,VyxG+fg k_[OwLӽ4E3t匪[̸5g”=Ĉǣ0ň%'^^B:YVP,(jwɊ Lf cѮpgϦ]͗*]dl_#l-kńeB7) #ƾW>,{5iZʢ*}e)m]!ES'>-&*K!ϫl54K6=D  tE|,^+ ny& ѕ wu18Yh؃N SyXz8  pjU rva Y9^f NWOO/H WTz'tB}kIOvPi|Xq4!ϩVԉ@F!Z Ϟ ,?ri;pv,*%CdB'' vJqW@B8[>#d¡A+o3(Y4jKz+ *ZFuwFP\P]/Dz)U>姌AB̅q9 Hڱ`FtoU8ۚFċNjſͿU5nTb'φ${J^3J=CJH{Dg3)^.,0Zھ5QH_*BwAQaҰT޾HHGg- rc|~<%4|v9'VMS"6SYU.Y<(sUz!mvŻ' qXZA"<1nmSX7^6qNeu;XιRf{f"P;qK_5rN8US:~B2Yb9-U:~iFD kLDs1N2}@IPR9BNHexΫL^0Oי ,~ ۳S^@y#,Bo*߽!/xV-{eOdV9Yx--ee g]&1Y}7Jv_FӀ 8hЀ_ :1^_Zkp7 :?a07pنpREw|Qdy͖ x-IDzudЇ jd4VJ:&b#4K gNڀL#Sjѥ$Bφ1U!4,b o@(YmŽP>s; E#+8^u4_=- lm-Nɾ `A;dz>A{* ٺkg#@~qAn}8fܫ4HůQܞ r)3&[Q"ڣ6[5 fZ0ꍢ0l.iEҷ|/[Uwpw fYYS70moj&O2ha4zIҖU+; Ӵi< Wp M'Kj~lۉF;Jc~3s?sRtu3X|nZ0Ze|~cC$/5A$>*1(U6&FaG<ؒ0ԷGqG])!Nlr4ţ&5ݱ#> 9Z06C:-85\*'"]J NoBaB_Tٌ;= _NڴY]Sa$1=ƽQYdFy2+>yhB Xa~p˹WʏFktqT~j ޷|Bj\B%1rjlVX &6#Ah$W%/W\s(YR[S52&23|MRP$Rk.F\],NPoX4*W6akW}Ueo[0zTäE*Jmby}>Rq(_9VF71-k),Hqj hnN'`÷=L_=: 8D弣.:>A>ڎfߎ 9da@ x 40%ZO -U,Ŀp| l=o -M f>BXVgCpy ߴlR _${;&ut998Bs,6_KYI=;tf|&DucEfqpoLjct9’ְk:F[Z |;cD<ޫݴ)]Z;-VğWk_$8 5ۖwi;ZfR/K_V靰Ntq΁4(R~22(e 0(uzMR̎h]!rrTaa7{6[tri|jI _J wx1"^o4Ʈi"﮹x Ga]ɦaAGgmoc2|ү($-k4Ot#Ѻ'}p Iwψ g~gq[kNRHy$e^ä1zpJvgw/U͇8c`ԨѾQ$tK4\:"HxmO.F~,J8J]7Vmxa(vh>`pt56lW[>dmSi5ו1CoN}[N)1-X"+?iL^>˅/q;xr7-Xc'\EjO2[p[?ܱB1f_6h@ #i>xK˗ oczO:>K|XDV.` / JM%EVmzhX=K/-m~a6&2P ?OZSqSm8Wdhvaa/@w$k / O< +҄EQ%a—cɗGf(XQZe(;$dH` x7窤$MރdJDOI jb !=rXeI?,s물I 8lWƹY>c?# pI.] 줒.Tro#"eycՖ-k"J;їrX)׭. o3H!Z1 wJO8aHn09;.ې%Wr8i7'tR߬[bٍH8q^|Z0XarrS7Z)dm3ƆB<!> /ђ4ڍg9 q#2OP:pw>`W)?\yաk @~}0ߺV.-+T&pȳ-o\u[9EdX4ԝ4DsJQK6e`2Dp>aHM"GPh kQ^/$A7w5.uUA B~ăvSZ *J\mmᏺ|5'}:3@-Cfp>lڪ9yeݢ3OB>wo 괹Ҥnz/GJX89^=YLd ]R4G. W >Ά\"٭,5-el<'̫b^oP~$<|uY2 oP~qn!w( bp]W',^ɕ Ib%Ě4YsSmh8[v34PaS[IydWivC SnIE7c@╬[7h\QpSػ&C:F5GyG,#p^S@|hA$ImzM@vo EVt .~P &O/=Vi~Hiv`$ ))vQ{,-8}4DEZ]پ#Ha 1bWT\U]Rex5_b 0Tafr|1x%Q/tqߨ>xNROa"}~tulk>1b^,5ᄒM׺sNVa2^ !H0l=[*aY)Ts`#ON",oB,Q$7nuq/:ߐK_B K3pwmG dʯ/;t+tlBhK!ٱy~?+/ !owb9 EyuS8r!q:;`_&GjjC͠CsJ Ұ8e0%l XP_tqfEx}Z䕆 A/_ ^5 {s2p?ZFM }VYUik~IOqdԕc[="İ/A(6ťT#nQ❃__ʡ] ԫN:PD%;U[\W؃ P<`Y~й^^H+|s:%Vе}J>G2+B*HNLlp7Mא\C }RC)-7.1{"S/E)o@hlG&$ 1X/8ɥ!)o[pMk0RWO>5con(feguTLqvT ̧"#h+k^]L_3O97MU?(* \^&Tptr<Դ_ЈGs2!5̴F Q[ p{N:ab9g0~,,Ε $S슑X2BaĎ퐏2=۾Ssvլxf6SATWJF;]s 3ʈtJTJjvwȕXZz_c*//3]Ğ?u8@fkm#+ <@9GP6W ^,Qx3PLì^ρ>,m?l_IZ&CNi/4;ڴ,Q(`}.RܬeA hv)%cA2/܍x$9-PgPl)tG@"Okv}&'+"S*] kxu_8\M.df =+Tґo9>i/T-o  Ngo(x)Ȼ>*n(M*\~P$t:ϷgO Pim8_8Kŏ['A/KEzA'҄u*/vGrSԪتJJ[kX~Ԇvz!<TjD' ^IaJ(U &xVՓUp%4\!סY Qr_̀7㕭Vy ~VFf ܔ؎ua5-oZYzn6ûj+ #oͭ]2Qsh'' 5, Vi&@r0V+ÜtဠW@'glla_IXtv/L5F^1؆Q'Vzw'we2 @sƼAm+#q 3P_|ۑ '.O<ֈQ[CZ^n w+k!WqfqäW [ IA[C Nl[VwLL+K@ű1XRys<8Z=zktx64'9(ٓ\XS4>^m$n{*,.6 iQI э\W6?*eWʼ;!=ױJybSI9lѸwu.P|]'uo螨]9&YF'^3MB!ѽ8 Lg]aa KϜO[0} w\~– <4='! -$ =pXځv?Yd\oc SR$":SLCAYs>PLS}-ATn)5͛R]&P2(.Ұ7ycvTׇ g=tP~"cC? f>ƜcjUNnR[+HcC\S95*‘2ʯ7C1"//e*_d:XK!jkek%u2_&k+|rhA[9=iI̝?Oe bMmLy#pv?Ef,p QrV"SFà)8t"xl[={$ )Y/pڼsbGgYs[9&6tld^Cg1f5BHJJf)i: SВIkn`s='O"t64O(7X3xWn) y%Iny]:EۣQz E-n_mutc''G\T$()ȳjpwmv` W#%3觪p7 ,h?>meJ V;X jA):ekB{%.W#ͻ3,k"TL h[] K'*qu(s$VW+Qw fG;r}]Z+sV/Y w.qkp^Ĵ$VSx: )j;g-M㦥frrVGiS#SQq`-6Py,?Ci[h?:?NK~.#ރ FaP_C{d5d6r-BoUq3ߞ'&2^Bp♺v6Ϻf~$= 2YC.sJm\y3ll3i]250n-%O1Q"hr8,7_k*af||Z{Z_?@fF%A2Dd`{716Xrr^xa.S1̡A F*4&8oDbW7J2Nw^UZiLҎG ls~'R =vCh#m]c͞gR LGdIy$d+~O#7ecy+NL_)`A !cdڛ`c8׃'kw]o|a~V|nD`rI q bT'j'NxcXK4hfӕ3DDL>E틀Z4!ԗZFeӖg0-5O)^!tDVVs wOǧTUrSShF3<˝$sު7o HahÞP?s(װ v@f_܇PKopi olX\ncg0>uz<g%gHZǪM^TF9NJTI1Z}?|]ߨ+s[W!>@_7I' ]o>߯$Ӈэ` \GLM*zB#nk[8ӣ \p뵭`(jBY0(=|]G7`ǁmKxfUؐD?$#* uJznu9Q)+]˞mPySo~WCL9b}_JdWԙSLm0dܚUJSMgf< ;Ǚ?DŽټ_3"pZ̷]`2GdPre\b OǦѡU)c=/N%-.JχmhVVF>#Χ})*# qGu\_Ѝ$@W\ַ0 Zi Oշhv 8hk 8v˿@ir9|rDV3PIoguJY;&[/?\Zv(pKdbo2P*[l/f B~\HtH7ĵx[&Vax*uodzSwR5/(A(J[+>yy .&nLVh0;Tw3R_BwcH*}%H}<2Pv),j67fu9W:,[ uu=6=_2C^~OEOl\T:HO:"m1KlA {D:c[|U B/ī93|?:'⣘X4~/Ig5?9ʳ+lـ.{IfQsٸ$*a^q-lЃV,R$3% ˜Np=U|L=o&{d$`\`.}rEv N?YK7]#+ NT=:6hftʕcYX|^M4+{Ӎ)a ! &ڂoJFj% š:bqQA֞ǘ@+VE2%YrB S>0p8u=B:sGˍ7fFv01#7arNF_ prZ;yM)wׅQ4 %_)BCl=jqNo 6\UuT5G ';-=)]։xdΉ%8ώ56gq1qzNjD<>ov"% dx'xB3ʤeҧqL#' j#⾽7F\U 8x  ƌt.T&kw |R~z+k*eU y&!RS%ZS]+^y) xr S46^=ya)ZO|WŚoWG2p;# ֻ/-o:oG|F7%H'K9K8ߌ,X kB|elKPcZBTp#Msm)mBYD ւIM 7%6(HG"ɸu,&ŖUj=;VTCT˕ܑVCiTCJ(ϧ8mawN({{\37r2g?VNjTa!W5]'֚:H 1 Bdyî =Fm=[粰 ~i9AVc$BfWt%0L XC RMILر]*JK֡ݮzq{5~C>xya(Dž[9NqAG[݄wz.x[,[2$aZ«Ϩ\P5^5GTa`*MO-!LWo,M+N_h74Ut nc_싟nWv\7f}ZI#؊Qq$xgxjA~{~OYƗ]bJpt)C:~8x[i ;izJP'[<#SN.v0ͫ*8tf..=7:I.XY $㐔Z0 bqQU5ظTRlb0@ڲIFpXIbrMmJ>`u 06:? kfE!q62W$;B?A%gEDN* yõb-Z >$IyK험R0jt}'?ۋʋ2a" T8=1^?\EWK#C*9+pUts+nl_>eϴ {pm5+xe4T7ӹWkjGv̇;=tTu+ `&f$+c"Zh;,D;5 ۫{b~Tu$i,~2ktc ːL guw]F_!{C|I,Wc%mw&+hvoץlޏ\4Km6kߋfW!PkwEek˚Mie!I cySVJiYE#]G=U=CQE֨_Ɯn?uldd_UN\w1LG;  Z2.|2"J8pp(0ʣ:5$1aS唧}\J,[q 96Al;rӼ '9}=G7B=@F)z$_Ņfb'VGFu5"ُMzf??2>yh#7ĉOm¬jH z?:8oiw&J:%ɕsHH'L`r) 5W2OAAH@a+5Ĝ oygarHLK4):!X\dN#}[|BUea팤B ]^ƴ}Wּ޷$5(Y+>4eŲ'V+J%&6%wA8V}%?{TsT`bڇE zg#^bWu![s`{fnI{dU~ F8%OwS(W* þ#Sɂ|=~=..*?Sv)zG,+6Ni|&S\ua夫$`H.i f:ջ6NO, R 6Z5v)]Ո=l BYޠEH(u,'b {!VO%z+H1 .I\fo@.KR cZwO8]̗Ç-Ny 2˓O!zC iQ寲Bΐ˭N+NhM4r>Yn[Q|Wa'@C &y/xA6)nъ lw `:tG$9Pl 3R-?okS MȪ/DD 6,r'QnJDP3QYR6shXuX`ݮ5노*3 rڻIQ&; +{U xН[3rR]^)ʃ?D Ntp!S#Ƃ{j;8udA_J, N =%j ct8QQ|MyE,-?[Is#S]QgͪQK]MU_y062&x&GYuU@G6 Ԏ/TC&<!OdbYd٦N=;Y|,1-:&t[@wXf䡀NQB&cL s }pM8^mU `=գS,2"EFd2U?!9&BJ 3JB"x4fkY]kDLVMAyyA OODҾuRAR:/>UC~؅9J!,u'Vh]she ބzrD[=ߵ!:꼠$);0!F }(ҩXT?ӝGl񩛤oQw :6ÚSq2<[ tU=-k\]*cJt)) QpZ zpҬ VV/N<oRFC}LRK>td(1RQ`2D촂D: 0.T"D+I@ 0v?-^| ]P3TT\FZTT25BZC5! ԻI݀X8{HS^ҝ5CӁ1Wwض_/6a`St tH,f^QMѮ8rE~z\ʒLfZ'4XcGu =N%s19|MOK/\;x魉s3|w7]ބ2ITuܬ͂32<2G2QB~uJt_#蒚K;o׻2/?7jD*MUMxrٻ, sxRCY@:p$}`@84_ݖr uvg|wϨ`^[$-5 Rv{c}xvcH䯇C'˫ao *S:b 6rm+3|M%%rj{[Bj}9F٨ ƋZtpXwZsMh+Xץd&(yd"x؛t\i3\jR֡y3T04'jY<{͟AgZf:` -Ƹ *d+\FߣåVt}T*_3,KԑViX7,ߵBa&Om!ONM)X#1$aټ&JeTX's6)fqh#fw>7+m}*d+E4:T(͎WX MjUaȄ-r_:b`!5UuI\lc"=51޼:vS#ΎdbϢgD/ 5ӹ]qfLcBj#t' _3)k4(PBKxc",B6].uB'_ L'-PyqrJY[UB#)z/RG[P4+e=Q8 f:c=n3KIDp(vD; ō%:,}Qîsb*S\SEX$[N%-'GofȭӦ~z( ً,VOy8a :HyA1}?~zԹ< ;\cK3ej'#Qq71YL7Wש?rYإ(htTڌ5ΐۀtؐ8UW!<T.KlJ3FXL]m NC\l7]^kr6HZ&`XTvi =yQ!Mn ؤ<[;3lgNT2r} Qj/HHjL&Wߚn&KZAM7Qj/>AIQ^&CT#5s w\i'nRCG_ϩbb m"Į JA-ouJĊ\6b}Gԟ%A!儆#.+ ]1CmHt O O DvxWfq@9?bswDvպf.v-;)e8-lk]hBm)W(Zۢ?Ѝ\zWfC3@ײMk6?7zGdcՍ."j7}k4#d]+dŀ";4} 1W1)G /2?(OER\u{RD3֙c6 w 援" hcX2\HnJ>*ٌHySkx[>;bx`&):E6A.lkaznJ-i'pegsy*\T0v{)/ϷYBs=.۷N9;U1a̔l%]TF"Åv_z)o)75]%7lXTfxmt*/X޽@RmN::LekS|]PS!^[qM]wM>X.uZ9e&Q8҇<<ޑĩd1wHa;*v}wIhGmGLFi9+tgY^zEؖ"B=QRPO2xMg|ء O"<XŘڥԝ"RwFKm|±}&,j'lqk鈸(,hYQYo6P-^ p͓}}(qG% v0I]|khg5M\$D(C?U3 ,y/+vڡG2_TPC|8X7q4GSKZ%&Z^Azi> VZOm@ cyqllkKfVs̍[!8V2K&f4ٌ]c_|eIU&YBftx5mUÛ03 Ged/NY B9-u:XW9K0L2:?nSnu͍uY+ Qe D;kMI}%aa-imlR.^{]x(a*7DK"Uffm%XUwy<O`Z R?-*gADX9#ȕ3e1vIK0̈G1zRI U@EH L xGg(,JApƸU*ҭW" Ae# [BWє0mL>Ia-;鱺ӑ^PpVqаDtN]{KrӼ4X@hMQhߏ' ~wxo&YJ03'HfFwʐ:tɭ˃ȡ-e8ɍSRbj)K6a&1&h9 [ǁkmIbb/SD-"X;0쨭 Y{J|cO4=J@_oQ_HR xmKuho>$-:# Q'd?4_.@EO ^ϑ[؂3;MoZ<հja_~ h:*}E}$tBlwlppS@&fxx&qNG<=<>QAܻ[3B}gx_b CՁ!A$L$rqLzԌۘ(W3ƹzJW(D~P)3P?]#r{jWauw-HC $+\(|=4R?Kc bjˤiwg]w #R*堋-\̏Ŕҝ=Gk'(?ܿ~ >{p*H n-+4T@^b8'W؏it7) F9U7̆/ +Ӡq7Rb7C@h!pX'I#NR~,mm:リ)e9^;`1~!;f7* P'T~.LM*/3}MAhS荛& sŸ74 LTW E]ܗD%bxI^:'8Uy8,Xnp 8u}t/0S>Y=cϞwV2ֿ {K# >*xmPxʉo/]j֐bDwEs}l23G%$2g IT3Cq€ˁhkj9va E<=܇NK"++*1k{{+倮tb%1EХx1ح ڊSdשN^E64+!Z#;<M]3JQ5?c@`JPfw`PʨՙY&Ivteapd&>EZ0i7Kuh?d=0GӗoHK=U';M`Fdŗ4&x!5%ք@um[vp; @1vItityzON{P MP:qɍ dTNƅsdx.~߂~n + ָm?,ŷQ{"M9^#n%em͛Gj4>"le~n,r;1CVg ul]TcE`r'>wi΄bICa]8H7(#>#= GVakB;A0.kNktXsT?1/e*+BJ?Eg`_RGD4'B\oRkVTX=H-c[*sG^џE GO;A,Y؏B# S>q.E=džFU\J x.tzInC8jgf\ ǝ$@L8җsΡ!WOJvGlAZ ԣ\>j1|ux62p1YPn?褌QCA[ os6zxTrQYV~DbAgɵ(c^[X M8S"]$PօJ8xFf%T ~v{ ꟯y'@_C)5Fܸ%pN0 71>+/=0OjRHa+@U_/&m񂢅P' kw(AߊJD/vG?XAC*6xZQF/N5dYmي(5eQ]Kf3vh<^M=wͲ;?!h﷾{L2ⓗ=-=nY{6ٳב+-& %U*jZIP Z(iQ&9ugoO}O҃dx9@0m_ IYwL#[elsW:nB:y#ئU)и/AKoWDBN5'`pJ]r2_tNv)֙`v;9drdF!NbcV/'@e5>cW5Wb陱fX =mqKMjalwXH%;KA3$4,:/ Fh_{HG;slU;3uIUNjE=ƒ$:?[bkm`ϱQXÃ~? x Q"!"pji(bV@&ACsL98%h3tbi,ǻZҜjR#EǬsl )^L8W; ҹf!`acŹaޓİX]de[U߱ѲkoEgy%o4L8vtq;} snqlvٙXkC8A'Ē29vd  wb $fh}=Y=n2 f;aldG*?-uưGLJ,S7h* Q|k=Ү'Sљa%v|]DfYگDf'(UD%,/o_`*ѕFO0f@Xm}U(3e־8J |Uѳ=9W,/ɤD-hb t֙I1VoCA ʓ(a_4먿7jP*0Hb tƯ7Th:AVڟ =s?~0m!v xaŬ2uw }<"P>/f/LE sTxIȮgRIE*ke'/q S/ǗjEFL^%8$_:êxx b˒i? ˖8Kʶ8<"g-ά 9}>򅤑#nt|F*(N:!MiJ~D8ښz V未x_Ơpb:R=k:2,LJjeIl6]idJdoiUl[lϓM1-= ğӾL5Dh.&X.~d u z7 N_ 4=eeAu(ü.eĞDPu4",&V/ C-16@bz@$UĊ7NOH4ׄmq;pI7dVEs=Dh;mA {FѬo/'-NTP^ߟ"p6WmcVJ"jVBˆǒr޴dZ}JEM {lfb_!&OfqVN0}frfO[v+ٺE"]?1z\ҹ$p߂٤Å z`6SE0;ǔE?SӥoqrA{eQEHA8\MBיpmTk"?C#UE_`tѕa#D 8Q 6:ObkA ^xG&!npB#g"*|iʖm?59"t7b=>"+j!-^t܂1Q_HW?o6v^] [E= ʸC s$Y["&rR0N^<t.bFF璏8( HfZ{+GK`?k/6&)YA,Kr|=&1 ^'-ZoۺxJ.#wtRPUkm3e7.$3TTq+GagcI{kնRS\) 'ҡDSިaֵ o豭]XH6u–)EIs.Z&2gRUAT+~(4^N6RE$KB֕0H5_/2 !q yEj$z3ºΚ%,y)銿xtmz|^'CK.@`1a/TwyHnN‡Fݪ-yBjl 12fM-L g?'¦IuVr\byD_Fn(t4c_eVBwHoꕻ I51$vwS>p> |9y5  cgEV+=]%2c\Z_Bwi+Ձ˃-[pg[Ӆi(六m#UǛ_s~ktRU%.|Cdqd^;ccAmG]*9).O(mSGb$ɕ'ʝu)f/z}g (,$Jn|kFknBu81~BjE`hfYs\oFzQgJ+H#_6xl@ԓ5va LY+ %koZy~TDw_1"HU0-RFMf $<Mp{ݴ$8{qNtO;fN^>:CLucohh&ӣOwnW!TK 3!OfΑxӳ1'6>8dLeg,`ޥ _:9L7jsC?{_{eExoGE095TEF˛3rlU͏|T/SScl>A-ȷ+έW]P$ _J(|utr ϢL},&Y d kRj*<:0Z>q |W#̷&ϙΙT&|zTifff>c0v-~!oґc GЦ3k`Fφ'ʉI#G{ɮD߱b˚J6,fȓeIlj*Ò RPBptQ-c#bG}P5W% SO4FUً7<e1V̆WtQIq<ϻ^i&9wKz巘*I>'i)1.qwOCEo7fOTYrdX%O /wk( hޟ@6jZ7b Yyr1v?VܦsaE?ґ}N<#Ηj<%d1gTCHWM) 9=]>=?oMHoی˼j7!et(P?tG7txSs#A( xW^vv󒑜ZJJ!WI鉝q9T[Es5+AEOL~bBt0i*|qT<,# RE؏t=mdvn9N^.@&A+xDj%0 JHiBϐ1(z#|O'zjx jC(ve[te֬Qe̔HV~W$X 3$X[Eeɐ?N>*șƼ[Ϭ3*uvDXg0h˙`\9Aw;C>w;І!@jf)hCV CЛ1>9JTY"H4yd ߴp d?&e8䂙AZfi1+{[3 bsλLϘ~ s6|"l ƾM,q.Sxσ"4Ho,t>x H%b*:C!=v@գY<(P؇ÝM_Fk3F+חzD*@Sy\)H}` )r޵Qoh)Pu. (e+$qunݰ3\Hߋi\V ^ztvO: Z~禷E遲_C)'21>mO~P'ZLe&bMT2'U;^ڪ؉ 1w3r;$^޹r_MSuRPl70%T!31|.Mr :m!Z,ʝ$P1\:H_z@B66gyoZ1YxUdK d>y>M1׫^$=޲\h.~ 8%e9;z+9hyjbd.^d < huNmUTpQMez|A‰KCI!~gvuV)m4'WlPSkf/)},x!Q_W`dC=F[8{/n8#Ǜ5!>5]dԅM 6W$Xa+zv[AltO͐ =P^k5 ZHrR{jTJ88ϺfMӐ YsH+l.gQ|KPda vâS̡x'?nחvVkg\MNfuo,2˖֚71܄)Ov[ >SI4~L!gza!([X{ݩ29mnKB$_؄9&R {3!G$^L**I'S Eb wRi髺dC݉%?5Y%= 95"Y(_|bCu@9?L2G椔H5iƚkk?7@%wRY"Ґh‰d.i+h"kFZYTd;Jx:zOj{q3^eŪOL.JNqW*>Xi0VZ!',n l~@#b-+f@X~:aBtKB};^x\WFp^Hxn5W_t],ͧp@"wdXn F?a)vs˅F;ԇiEIrӨn}m.n UkD51yuK[q=GpqQjN%b-Nc)q+.`?dg>&Hs2/Eb*EgWM )T?Cgp&6 & }|%w+kab ][వWQòr҅^dCb(V2 hgu#/c5 */k܄-u쾍Fq!9ە dM ڼdG^A Ъ|?BU6='z(o1qMfɇ]4? {5_1YV|IbuxEhe 76rXH _s>iƿՖ<~]8 KXDazZz fr|Oi7C9Dc-TO})LěLNTB R? 0[R$J͸coW=Ok<@iz!BӠ3Y/7<3VrI$?X pcYK=I9n/HR&~Fء͓(9%C > eoyFů4<5[O}Ug Htqz,S\KLVf#פlټ6KJuH/^mҍ㜓ȫdA?Usz23^A_/LU>׬ȿ?N*[Wa^ͽbiMti)!?\;kFV:qz#EnUp;uR8P 1ĢV2ABM&,5-@RPX Vxs!^tR}'E{4%`N=sډNi BI!K//]vB#\{'%|DY`da(oD@ᐭzfwB}9 ܈wW .`_-m+諳\#+5eXfۘD#'<ݨ!u#K}:sg_ w!^4,3,#7q7o` = /Oޣc:y X$&vBW5е5baD"fC$8"O@=PHҶ6Yʣv&M?%*2klzk\XIcw.| Oϑɭ[zОF''mq:YeN&jz%5)}ATH B5 K#􌄋_xiP{WekZ+u[SI߽Lem`%mq%\~Sd Ƶ}nw\*?I3~uLW)~Vo+2!3}v2oAOnt=nQ7>^ $ Zlo=2`wyMɬlw%CeJM?Xm/(3hAr`Q;1xMtQRƄ$Q&yjk 2]zk| 9캻Dpƶ]T(@]a\\A;槀zr'xac-#}cyըƷSLlk{x:JM@.]dΛ<>NTe@Ubm}@4""'cb/&k|H\Rf_+>ZYJ 3jϢ4F ~7NNM9o~mar7 t[[pfTJ%(ޑf;$۳A~; gq\]} >[ng};M}R4L{u) Ui:z8/̉c JK𛣰5M1&=7{HցHBh+90@Fѷ("8mԓ\K623u#zSB\7 \(F' OA ( AzȁTҢ ٠‚s_0&GXVuk.C'#1rncjc1>W(aߐ4 iSQ75!$Ăh J h-!-pIy@Ә)Owzz> ];XRDшGSݥ8kIĊ8L`eI~W3QL6kpY "QՍ<|m^F24M?pYȆۺk~65+m0N]`ih)vCpX9Y<6S(*$|}bA FaCyͣrJaO֘ˆHmѤ%Z;%6$lHmԮYg}mj2zľV͓ZQ"" "b+_{WUXO4\U3eR'gj/އq>-% ~dv˞+o}8ƙ jD2 ZA D ܦ]úZķijabVL 8*@ڣ_?UBPFs4xap>qα+yPw--%JӺUV7 fLLrFWH(~G\ ^Uí\tT+K~c!. t/u/ޚ;)Ӗ!,  ˕p-sj[֍<wR1|ylWA"oaE2 6: 9̜߈L+$scp!E%cHW۞u%;s1OZBX=^0WeG ˉQs?Q+滸zΟ@Br ǹTf4 0v ɗa4ANcKcJQ Ks|tJ^ _%C Ψ;bAC[ӸfFBJJyʚK۸< %?l 9tNIe'BBZnxl@e6v|uc`B^EjMe H:"ȈZi+ Sm(~T?ȉYWP=hpkPv(mRk8g%-o!I"hf@y-iFlm μ7d *q}) COp 9NB5!?V O4b&j4u:dd8N$萆&lQP5;!(sugrgqQ܀1ܼH Nt-.(MC.a<伽 ٫Ւd J:$[7golQdBp""YsFh x~(Y?[ W<v!gj?:xCH&}xx8_S䳐"q i|TL%}&NiNݦJ:_ѾeϤ[eUAf$tTzZ, a0L+APş^&M=60~z {UoqP=E(xXG iY1Slq Q4K˩,@˰FK]ENkv:rڻ3?JHal,xg|UU ~e#E*(jޚ]ECvz.9.D Fߩͳ\fs=}˜O !ll)IȉX#9&wGgz4Ypk{C30a;D2Ue=M7Ć(0<ms;T5+9{ Zw P[lmrgc{.wPP>c >drMfC{ʍ zSիl(XTsޚ= )`QOtt0q͈#y8FQHATBN.>1Un؄tPJ%F D [ܡH`]HExH%4˺y_q[8&>䱵KvQ('نB!xX Vdj<#y5+QX dƶ jcvd iÔ`q΍Oo2=3c+PTX]2l5< TK Tl-0/y|4J ۋ>2eGbe]n%ÕT6<9$^/m<mQ^;~qS&9irY wx>޽7d"!BWV?γA90>_ZDBf3E 3K΢ZZԁ+M$rPsZܤH!-L{9 /4f"yHl!<6- y5F %S혭p} x-ʒT쒴 ңXR]eRx*SJo89W x7VrKUܱ{6bJA0<7seaI\#ޥ"~D d{lv'.b'>û) fﶦp8P~w.F9J…tϊpwR53t5c&@*t. ]̶%Fp@:㗠=Zl`+H6J$T#m,U p`,6pVm!f7=t|<>:B@/٨կA׭bql tј&`Yʛ/Zsֲ$)C|Ҹo;1Z.\uV8Z `PH`20r?k[cwիwV̓CjE9ñ%,X:n ^s:vp ךZ/iV͎:=ޯ85 |MH?_xׅMe}N/QäӼu7(XB (X ,SJ|QRLaǘBfwrr6|PiҵXԞd"F9czKK 'R4ٽ[JZc9eҜ$ _tmSb@w氳2DeB(*VP_P?8ȕʝmpJ}nF]s`3}T3 !˜HYda^ntT.S6XP 'C/T?/%_ifV#rd̩n%9*avϏ)8%6Sػ:kюTfKs+ ;b>ZrRNQr$3K=־l[EihujaXM!/Y&8}kpOz~,bˋ\1+ @u+CA#dZi4M }||B(wꍏ݆ww\W7жӰʞԤOOX3>Y^nO}Kl]BpC"12>z#;*-لr=0Tr` SQd"^Jd:6d23Z=[ܜTh;Yeҕ҆ %3\dvUВ*lCz\MrR&SUeV}*Xwx{nBez3:Qu6Җ9||m^x=bZW./dNv=_ի a?80}f˚?bw)[[6L&"*4g*s *n>lp/(s*aO^&5vi-Ta#cNqDdmD٭[oԴc [ֱu P6ihp %qE3$gǛ0|z;9ޏ$2n}qyX!I2DZErrL׽f_fsW #O((3M^.xfg=|4E<ʟ *lG 'ވy\P2Xﶵsh0G83?Sj"-dF`Ǐ(ɯ^""P~c0 *N7  >AgL)Msߝ: E]!XU_Ma;q2]̍J=6V惷{ǂz5S_}ҩQ?Gyny<{?e]59XŴ25O~~y G~!33UK5T{l g]]X‡yHSg~?sUIy7w|APahn:aKXhE{MG*} BA q2LLމ4ZT֣/SE哄wڍł~zltvѪne\E˫C2܍+ˍO WϷw-|ͯ{{i?!xڏZ7D[M_4Ww"B$IL$bgWsNus?a9Ib}֞yKW%>|X'>5PQzd=ǃBwHY4nDضGYffLcƽWI3&Ht򍝔b]Sr$+MIǃ*@ Vq&$q`N<:9\Sm@23<G;AR!-"r ,W2ȧ&LwH +=ðyPC" ~:3E1u3h ɤ?!̑2ܰVivnXktvr#40z`V=Tmj5ŗ d o$røeWxI#PIb' s:,qHr#P:dHHQb(2<p0MJE.U%adXw̄RDUEcQH#UR dR d,QHPXolH 63MelaU RXPA`1jٵfcFq ,X"d ]w4Wt("H:*+h#MYN%і6󌩤U( ʹ^ݛɲV³dKImZ( Ŕ :(Ƀ! HSC4'U48ipt"s3ǦZ-kh'd7IEg,Mk0ͩZ'8y b6a]bZ~hepH* -҅вf[:)~3̶Eo^>jlS5U ōFpȠ,κ9{%x^CDz٪ r6n;rd{dneY#2JasJǰ =թ(TߜƆ=E(y֌X1Dm n0W\\Zl" wZ`]SEKQHLŰTc\Viy[k;>Êܶ-jn[bFV pdGdjqιX(224b2BX"v>!KjSo0>6KvӦx.0gdqLlAc/֒QɠŜuiT3eY V GV`t޷PdpUjste (Ort߭v ]}zTxHs~Et~Wj>z;uyzW0 u<ɸs w ,>`}.Rj=|l'6Cp@ M ꬇ÏTSyUaG{+c<.v/;WpJ5QGI);4>NL}nm/\d/B$S3K!յVxpaEdߜhhrS'tуgnW^UFՅA}4VVxS1o1ӿiJ\8k^%mp`\鶜TcEnշ/:B_+Ls!}ʤ\؛9jK/uԟֺ)D#ӊfc1['f}Z,?v.NBKl4 pe3ywTu %'N]9tc_Pho<\7H`Q|;GWM䪭1^F3AK538:89`^ vEUi'Ayw5>:ò8UfDu:Ҩ>bjxϖ8=dbUd5 Ym׷@h!3HJ(# Z~p2:f`u06sb u9A7&5(Q! B BO2Bb??/{iY/d<*Z!*s+c6::0mTD7[l E\:nߨm{!8fH^ CC/ kQeՈ!ZBefa<Т6$VK71ʔ@|x[Ϝ^gVӡoQh-UTn!NJ.bzX=mޛƻًZJP3\5 JR {?u-K87t}Wx#LA}AO12p~Ñ_P.p@Z }_rI&[U[PK•_TmvhТ CDع]HiH^MO~&'u?)U^9=UKʿ+ˬͅ}cJO j2U_j~<j}"= 0+'L*>*j)/WKJ-QWq̑cj?Z?.!IxgUSoG??EdҒBD(= àGm['KgR4,2M*Ye$>p5+W8:fsociP"JZh/JFAR)d(;ıp&V_ZJ>\7/y?iGY |{ 6zG]! ]^7E _;Y qe!hrت_4@xn`Ry 1D٦hj\=_ϯ|"} S@*ij6lֱacLɛj6"D,R)EF^{#+wp}G5e}""*DYٳ&q:봱o98dێӞx#Q_{[ ;8I^^VcŞ50R>r欜}Ub&{U~z0}l52Z>C[CdH9f "|gy2϶  ě +BJ(I>C)O5 4HKEYdD] .ETA՘b"Ab.8ɘfNg\eq jl$"F a"DadA"F 1+"Q"DE᭄I,EB˃ D"!ň JYUo0@^N0cdfY "t"ƺ`0`BAEa6U4-{+_⠶MiJmgF/_'gո鴟~]hOмU{=񊟛Wt?3;_={}[?)꣮ʋr>Gt}mH;T'8[M:Exg?kʯGjB|!ߝ(:L=A$GM&WhIf9z$ Ҳ;y ?݃#" " >z2AΆ8ѹNC4Hi\ۭoW;ak!.66c b9U_{Wc q?n: 8wA}Ԏ4B$s96-\¦oq?~ )ܾIx3^ <-Dw%z~]0ނp) !q\C `%|]"2Xު!FWqv}Ma76v9zh?qqCrz0Ϣ *ojD!AT6Cl|#`%vkDGS\2>oek}t!t88?e 11Ha Т]R (<0ӡt﷍=+|V\dfJ̖b 0/g;WF̬ŘfV01"1H%KҤD-bȌ_FF 6ڲn-'Q6Z-۰ yKËi}Ί MiMl m&ҍm+h[jm Si-j6FM-G5)IG#66XilSj$66gSҖүa9Tll7xWM!iWyT:alT?s;5U]ٲl-M[9몯V>'⺵Z] LaH@6:&NI+VR"eQe =֋!ޅ@:G@h#fi eb<n[M+ ;DȀHppG^8HMDDR!LY6FfB*4K+KaaZ0\.j66lNa}{4g]zTd?線"+сl\x(P,"C4S0<J&QPBɲLhVgIvxN{qBXLB'r)Q8Y w%P" "EdD"`֙8ngpM9EUJnl"Yi7?j M Be9$p TAB$jN$XJn"h%XF8G  :y4SAh;.*G2ո;1Hӂd9S:A!T8e݉a$qɻ*vOKbFÓ'a Td94J%c?$Ct>qL8#GPIBoԮpM-_/T6aA6b/Iĉ "%p)xXVUG# oU|tڿI̒zWɢCk1f5] E}uQHqbiN#oe!jb4'8W  4$& R6 JcO8R \Y4gSbfu]ӡ44M&PBB#L&3|.Ӕ3Nk4F XbqAE*@ajM6'7fϒ?P.ˍ4˚?+>m<?`w! E,MY|'~5q_+J5iuх(N7*4C!>2qhx sH*mNPx/1+C#Sݏaӡ<]$Qy9厏 #P9SWHov/{Z(X¿#j>\J^hIBx%9U+jA,O < ^wdz<~ƣ xQ9w꺸LBpgc[amN&rBC-w]ș~_7;jt?H]% ;Tmwȗ֣-`\p I 3hn㩑].쭱j$e" @'VO๏Пcuh壽?ɔ2fpA+}/fv6Y/YA:){6i_~+j}c1 u,3Hsظ~H?TPEO!z[Ѳm;j ?YdAWǵplRٻwy/M®B[*x 2 N%yQ&t"l|zXn %a*p.VTim-(VYfNCa?H]n (_#$d^ @B믉.uס/jxTUѕN'k|}e j6 \eV쯾T'FuiKi |:g]/>DnxC͞ a"lS Л JT8RGo{,o;݅+}7YDc,}zׇYUW?Z2nVCR?1C-;YD1FG7ȋj'qCarI+|N_G5/^Zvdх*uӂ 4ÍUELh;79YyOJ sT*'..:S>6 ?l/vὝu|u3;Jzamrt4Dқv>~ۺ(վinʌT)RZ]x cn+z,4׃KO |UP,*J#L*];~~8 a*~鵪1lˇ3k-TtNjr~{Dx[sBwQ'k~TkJ} +ϔнM-iWf=ʞ].7nHR 9<(  @E|3mXoO5So\$3Q¬>ӓ*/ٿlQJ16 lTL=v/f󯗋qvf+?<ďoٚBcSp^yr+}nI=7],o`uU޾FR2~<q]`sX4Q%'_;ꌗxEnp-g:)Z,ʂ #&Ac%çfh%3cRho 74aLf х'ir!S83Z7Oچ3[fQ՘j<uYв:e3!YYt\D #f8pgf\qfde88c1p3B!LG (GF?[q+aʸf,.31ffc1( H381f'W3pqqfXˢ!Ya누5SENp80bvfiFl1@ ((_;5-(P6PY D!Z,,DXefXvqŌf1 ( D""L(¯)= 7a"R ݝU׃RTEvvN%t4kކx `0b'@_8r8돏 |y+,HhyLvԥDČJlxزcl3621ͶX65XDD@A/*DDD0"A1F"#n8Fg1d1ffu㙙fb"D1>=Q *AH#U|RX"$d"Y{|:G$a(X!@= ;_=#a9Z]h2w4D&oljqp<ρhAJBa`?$y! t@ |u몇YAU߇my,sp%(L#cCRRR9꟩.p{9$FM $I< l‡{d $r2~s$jP|>}ֆ7#릐B":d1@ H&Ɂ" \Bܦ19o˖ ju[q4v៏>e53Aܗ=taJ?Om#}sšxSCq sk9WB7fZ:w}Կ9 ̻K3`hdAj5.3/.")=O~:1V:8^Nm:+P2@*XW?ح(%(,/$)%W\jJ*&{ c8q>G<LJYl ߃idn{h,.VY_TBh,6aMX(pzto>~O>Ƅn8˜ƶ`Pl㼗Q:Cކo'Ӝ~ 8&b;f o_qzf7a/B|$}ALրϵی8!78/abd(Fhozm"NIn9q62VpWLCL:Cr`eV8L#ϒj .ox=8,qؖӿwjZ(Ȗ ̣AiU~k_,ѠaAՂ;7gCƤBcؔV~S [=z(K[QKق!ޢETx&NîO Hg>e=őD9'2.o:-? ~wxu^]rIw^UI6*{}PtҫhQT'yR/Ʌ+1K4UO`M_#Gm%]wQם,_(--YX[h3 ӊckw.`4ўJ*z-z3Ԥݏew d5Xf?3l^ݢryD^ڳaNe0oVK|N6gs]ܽ={X/tu~'I]~6k˛+,D"")(q3,jc0̶lfffce̳ 1eFYc5bffіibəfhթ3+ff,fj̰3[&fYcak&leb`H""(`Ϛ+j XH3$Q04 ibEkaTgH(ő(}<<:ff0?%#TىfN&`Ćcv]QXK蹥vҀTs)_Wҕ:u/5)m]1DVsT<5sJ x!IlcVv!k8M߯FFq_=WMҧb3Q 8>|%.7-}f<Y]RS f<\ bWY~>w_ZtdA}Es~~y}by0RTX%HaiCe`m@D0d7)h, |ש۟yN%] E&2`JL `x7gB{uIS#!P:e Ԣ npJt2Sg|툕oē0΢ I (f-a#BKYQ9 Ȍ2txuK=a}D$1Q[m9VC¡H ,봶LN&K+֘T X&CJF$X`Ap}:*A*.k"թ]hMXU]y'MͶAOFoP…'Ξx;v1[J{~_G3̟e M k>٬0^>E=A##;40kvANz)[)R&ݾ.ۛe mb.{ϗbc;YIZ0y{«qzZx8џGNt!q[^]3 ZS(*o{S:Vjgyf!:X_ß.PZEJM4ŸHM#ˌvP0D'0Nz囶* X1J(*a&!R&ߍSK))2{ZK+ P;?jj"z?㆝6A{L4"H`uxvpKj=I^1R$A[M1{LI!k“IBjHvȡ漪W!yC'2gBlL0k(#?a䬛!Ԍw/aFv)]h"lPGgBIe4խ;gN;[D$&˅^ė7xV;[$(byĕT2?dh6_xԦmT0],R[jb 3NQI!,LXX;P׽ݪW),4M$4CqT+VBn{|rO> 6f`ႚ+;tзoq XV5:P:ѩe,z?ik4NHC 'R,CT)R)9 ApI6O|`{?K}w{ 1yG)$OMk]u;uU"93x~ݾ$67 V +1,H}HCfcEc J #>X#v?)q)6 *5A`-GM8!9A]I6\p4yh8+>^ǷkU䍆 K}c27&&{y}o54 R 6A7:rҤH9:HI+A2xU:dE/ ꢔW/}Yg!LĈ޺4('IOѵIdX0t'X6?K&2ެ"1H( X,SevB^ҫeG6H2IOrl!wk2w߄ML=Z?DVF.;5*+J'C590fT0Go!}5|h(ǘz!>@_6 |mě"&%0p`RX pMfbSvTs*$883`|϶ہ8 e,d2 [tL5otx϶=C{G nxC?}{!3Hje2E&:2d${13=e,P=)u`Stwِ?>5i&`Z@z9Ц̸ !R|jjnnUݱ}np|ӳ&' hN@Z'`۾=teлrȓ nG돫јzTOjsJssq3pՌ{rճcLj`pq ʕ˴@q1fty Ƃ?vSjtUv;g6犗 f tD3MR(8rxM[f8j}kC11mtc:8B0;3gyB(yiѝ LQb"﯆AB?l$Ġ$&^32~xrUޏYAFH%)$H&e_'{m/r䟡X:|,&#88qÌp13"ZK2DQE#Lhc3ZņƱf3fb6kY>Ìcf0IHHG@v"WYr?6B-b' "!Z ¬j# ;r)?82s?p4[-0^B1)rQǫ}sA0؁2P8[67]A=)g/>|hK ڐa6:2GBD De[KAsqaܧp;ҺC~W?Q ~?r+hd-9'?1rpPP(rm3 -*O,D'p>q'BBlᒰ uBUOjty,P&' "QC?RMyg<ť+0!.3HOXXZ/48k"kHc9Aӛ.eM(, ; dIh9m|]to*;3ˀc;2 2Mfzww !ɑy]s H!ۚ2te-Gз#q}Oй++eԫ".{T͛h[ SpP T1'ȼh8&JYl[PY"Q*3xb${\ugnr}|&77$%!GI/ӡi\CU½OiN$"lA{_) ڌ0=`r. m!`uB80d0IRx84xQ]*q1]PHF_`0^):ŰñPT.h;P&MaDjjQ Ƹ*qu!@$H$ Vz˹{eΎU M.jl8 -w~)KH>f`wRp$OXh*^|^Gct\|~=F$O^;|o]I Jq3O-OPg"10fk36L̶jfM3062'(Ͳ֌aQb+X Y#$FV" "ȱdV*6mƴ[fkhckiZ5cMXFEEH*1a99Wޣ=w z?6@ŝ-=C[H2vtOI}і?Y!;pRf& ?(3ZC`]p.t8x%D3_zyN~=^ʫ:{p;:Ѹ HB-w/͖Ѵk l[6m+iF ͐R*OQAxb$ũJfQW_?ǽg!<TG)piGԝZn>/yÁtN$l+ }~0N~nFtbL9>HCj H$$rMW<= ~fbe FJ![*ꎉ|12{?I =AhV(+D. :EV$9;CKÄ`6CF_PɦMfL5Yeflֳ5ٳLi25f3 ٌՙc,c313L٬53f6lŚq8#22" "Ec2Ú~y etn@;=ݽףق s>f'uMoMe҄FIïk9:œ.!ct]тX ׸|\G\x-+Vϭ@J uʼnw xĞli*j-tӻm9v ō]19WNHL'pw3=wߑGMW⌫{zy0W9f7[ Ů7mh*-W{t'tש"/wH.a$ HHts6+jeN /ę*}e<>IY(!hslVkx-_*{UkgjyYH.V[ǓYdudct ~0̰$i qB`,^62URM!ᬛ^2#:tlnx#DSJlh)aSIȅe4L]ng&,49ƍ)Ļ^ǩ[D߆BhdSTA9c{W mGhb:OZ[s,:fJ'=.NpPx}8}iSl d% )BCL'.-HmYTZ!0^:ϨecNZ{3@tk35+P7R.BpLo$g.4v n ֎L qP@kD;?p J^jH8G-0/y>2X >YG8<2EZtwIZƌ~zqsSE7[ڛ0Jut- tBmm * mL?w?su!@eDզCN۴']y|b ⚢8QsR?W;X) UT_wS[B"rnڤЂ| $nb+n-bA6μMCPhўs36mׇ.Y::vزJ-<{w Ny#ĔDNC`}C[wn (մfT6xMh<o$!ׄv09}o@5 c<--Uqo?(QGF'C ˖'Vvǫ?v{4I^G9idU IH RicD>S6Fq)Q; ܌95DE^Q r DLLVMDzzwJ ȌMsvw"rM~6z#k7ІӇ\ϔ0j74/bM&"GG\JT 8=nI:0NHKuL`dGš}|ї6ا`?hMO2& 4.?^g=G1$,-!D")tPTߦk+ƜJ+m>mGҰ0X|-qq)C\tzO}򟞯r{UXҟyI'@,$Q8XP?íWG[U=*!̬b8n3)SԠ%6&СK(*"(Rg h"4 Q &RDHJQ L/1Ef媻)C1u#*,a"!DT! cE&dˣ031W,C&A$YD [rI;w2료g f2q80tq1.:8YDiwotRsX̷1Q3g0D.I)&4 !Jb3 %1qfamyH8LD} *Qk!{ 6u,K-%EjMDo +UW$ 3]ZW&$l ʑPp4Q(&A}]e!$b)Ći=.868Cׯ=[ s9R$*f(w>6bIߤ6w@sȋCVv}^YE8<7ϥ/Լr;Y]gP][0pSt?#FMqмHů%THa{lA9.!?՟`!2ۥ :3 qw%C6PǠi Ѐ3x;\ ÿ!˭:*f<.~k IE ,$>'Ӳ>tlI FP8u` ˍ8(2Acued,Rw\.R,D-P^J;6 8wmЃ"/` 'mF9za RV>INO?عnvMF642D۬]Q;[D.y%Q~ϒڳjO0ϝhB8vF茚b??#?}rZDʇJR!,TGY#^Иi&ҷ>GE yC5BҘGR8$I3$U;>qkhiWiԸlq0X RƏ􎂠H\#Vhv :`mϵHl&:mGYOv;?Ϸ-"8""`ɠR,H a bSt&ZoGa.&eQ("aD᚟@M9Yea12 )F63f4'N'óMUcg&:SͺIgЈF HdK'Lk6Üvn1`M>wx~a |N ˈ0\\pwB^Mq ,fo:nfBr6yT-K] D~ԣ,yH` `qNuRFL\6~dLF!R÷M-nrd{TTʧLmz}dyj fZJ9=:L~?}YS!^@H0. J /,YYZYrSsxK#ܙrfp]-VfaciiKoO$'&E3!A;#QC "GfT\_r= #whw[ Вf߷ʥ͕ oY)`Y?[eUNrҩ^R}ϕ<'~$WS8N a`7bJwzd={>ƧV"`wغ7]"++hڑM3T,{%0wsȜ8 N39i BPB)mSB{,= Qim;Mkr=36[.r~1YL(nJ{_%j}A^̹RtmbJD(]u)]<9Li~Cbr&)ދHsH^N]D#DT)u.H;O3'Lϲ ge/Q[6L(ut`""BzQ8HG"gb6M5c>9v,C Li.yCWQjdqC\,^LlK c@hݞ_A:·Eenu_Q^G}殁4нî|Vx)-Qa?k=.ιr5| BΩt,%av,ٷqqo iIpb2$6DY!UL44?ބC{vб;^r~xoz`=N`7r,]*ۘ$>fDRgw?]ujO})a"wd0Wv7*7ZRq ny~z6뺞Svû:Lq6vm />l,Iܺ2$ L 0f. )L% i؜80J*mAޖ%@`Zsyg//~ Uð:LeJ d㵖 [5o>.meEbBD/|1I uY|zdCv0PYϣ)0C5 iÀDAΖbR+Aꝓkqښ4]nRAӰ6 >%"q 4^$mN%#<)ӵs2KSpiRI4;JQĮ$LRmd#OPW pt3ՙ`_1S"~y8[;m>[wB@1 &9IҨ) tll$;'NǖMf E/Cr$Ŷ!{A;}xKp*48REy.:ZIRndoyMLά[I7;lX35j0jp-g Q;2 dO̘Pbѫ-V?s+z 6Y_vCglX/~zӢ҇rUa ـwD@b5 Ymӗn5NԱHWzf}=z>~@SZë=s}A=aa{G.7FE2i%(w7(Ta"B68 Q!Co52RPP8t" 3 eS}(ЎAv"}tSv]\)gXgA(veEviH`(nN)jJr s>,zM!o&h#C3~ڙ{PE/wq܇OUɟJn!sKߢ~?Cl5y>P s˹ʢ3_<ٮQl1j}]c57tꊣH#-4H.t9yǵcd&g/29>74f.61F)w}֒Ct1ac[m /1 h%N^ɻ_r̴mK^;fYϨ0kNt;|775 0XT%Mt$غvC} KYBS L2ÂQcE D5`& +]ąb./0)DADf{1DDOSa p"B%RM4&uVTv,?ؾQ(9qpXHhV\LsP268(W(US!ܢEEYd,BCf3,d~"DM΃ɕU\ xo( EFo=0(a,Q5z@Iƍca#~9o;7)AY @̝VIYcY?ލI)WViEDJl,"$dkFF-B!Oqw R R)D)@3w&&i"m)AD$:y`a8 ,D"DBf sS{cm&JQ riJT0& ø,DE,"eX$Xp8GX(EUOs=&VfȒfdoP rZZTP$>aDlRr""5['BuE/I,V,XκftbT=/w8qieL^a9&rLd1!hC<˃"r>& & S߇r;MXN0N#I|wZ0η wfVP;M)HfE#^[ʛl鯻߼xz鵜MFoRw/le} +]<]Vʂe1)OQc42^ϰ|Ci72$I,t $!uw$=ߪ\r<'ԉmE Y6œ Y8Ƭ'Oz^͛}\:JQkILo; mvl{߯ߺ?ueZğjՌ_E ?Pv2m`D;P$JO|qcz|OF=_[]3,3`q5N TDQCd'0sN~fmclpѯHbL/*2mNw6'b3pf m?LŞhh-g(.((L 2߁۟'?#sF ,Xr=V\C d S!~ *d ғ̓pʩ[Gr|'bvFov\ PBY~$ȅvL xђts0aoK״ycy.6_3_ܱ8X|v袛1OY3瘼pY|'xeu'䜊ȤRBB;"!\dɘoyO{,Y0ff30f,D"IrdGYGsW_. Ɏg,"Kl"A!SbA=W;bRN7bݨ{\?I";^"$<{ƛ)6rYђ"][ Ǯߋf$KzTIX$J{woCVFd3}__fKXrz]ѝ16G?77&2W1 &|JNqhyC}2d!WYy,7lʹch-$&>|??*$ni&ڞ/s]цg,UW+ RN8ya N!6'$.;|qeޛ$x|w(D [JP+m%d;UﲼPlh&k 'ݞoIܳf#cϩ:@YYҋ^ˤ*Qe J9BdZϫp<TDM#}y/`j/*rMc؂h#4D\\#]Fz[J!K ź?3M!7Loڍ|xRL-wII0$sT ""s{j%WQI@z6{#B@ y:qMz3=aux_HSi&t,馔QI?ģƔ`2JV {(}/Kݭ*ބ&IXb`eaņ F PH?-&,r 8km/?xLjQh"W-86xnft4%uIp&X2G#NpGQaBM2NSJ(m<`lu|rqg7SN!TBj hi,=|z!2ʦ(ht:H)`Xyl<`r:L@K׫Ijs??2nz` 5KSʾ>N?Д:Rs7. <޶̢=T߾*@A3sH< 23/K &02}⸱+%O {)w}$-S0XIωLK (g{l3dAˆ:ec;5%kEF x<,I",s:4Е;V3Bl |ߝR5;Op|D/ ?]Azgqd?YGߨ`tW"@"ø!% JfBr*PZ#t;𽃒!9v}rݏ\I4;  v&A)$6Ӗ>ZXq)F}?Ԁr*d 2ef&pX@ǡEҿL6&x1)ԽܞGpvha?œQSK\ q:iTZnOGA;D8HIp38{v]f7oqt IC| J;7P:ߣQSk$_G ތ~B(Ȟjˍȸ{m]q+JaR"RőLOTC~E`3x`;t]0LI$r%XQWiʛ}fDCGAϠ ڞ@Hh`yqd<'w$ C@T>`n3#"B1&#b  襖އNm >0ܼГ/ VAi|>w]HV˲c 36 ɮi;<9" 8gnhtfJ|q{_:gXt0JeJbԀX dm FHȰH(++Z¥`P* JT!͆4ޓr,"( EDcl"¤(V*mj«+UV"BBq=9寛Іh7,IsH H)49&BBS'yç$ӌkhEAFUu'zhv4T̈w:7TftrHBk'__ً9vyEc,^b62HN1<㬘ϗajVR$4[mMN}{9 */Mxg։MЦvPً87sqX>~C)!MD~/&8~7w$2X3poJ[{Ozo5[;$:$jBVD,^kNjC/ @ي=|XBLXQDל&I]| [$_c ~(_qސ&U~Πpe4 )pL g\J2}ƵE1aׁDlkO%+FY$2d6SQ{mǽv1p\%itڛLRƕ/Æ5?Є1 DCI3h뻭^'.~{<܃sGK64%% 1 Sm`SNB J{Ni9ZxH{Ybaw08l9UXBJ"`Ju'=tG5xz3v3C06&S硯$&As#)U'`Xi +epւGZ 0` ii㒓;wRd amh Xa?'Gϙȳ7;,mIYWiM{70;$U<hơxhzik 30!DvtNtC$R^0ҔJ?O >W>O""6./diWyawZX9bӝ=&)ۃ b\ o7r'e>^ѐ-p+#F$EeΈ u,IPE2Yi!M^+,~?~MԲ?*~D _ pA6j-*ܧ,}<섹R/)_0 Hpyr]N%d;7LpNY/ 3u ݙ}EbnZStAW]r`bDfbf&d*̙f3ř3qeY,dY3 fC33135v B$v9|v3a2Ύ+Vgq L P(P ,0fFfec3f33c $JaA&($E"aW!4YEEY}㈤ <0SA3# C}\PY4 XÖ5MN8!МL)" F،%a;8{DN yA7Md&4?..zs1gAcrY#( %˚<1͖֧͡{ !sˋў P3Z!ѓ| |7貴:I^!<vs+n̜}Ma֝גbC@$i նSChxڤ%d4jm|z "q,,$JAs57Rް%I]G9&E1W~NFM.j IzP>}v giklCvBbLܪf=Gr!XnD ytfлVi;9^ *,yc=wSOnsT 1HM 8?-g(([vȟg( Q( wu8v===jFZv:.pG_ɞM% G7{ r6+NP=^.VC;x5RpF8KHB ׶5\ϲzg\4 Rnޗd ; 1|GqF~YU'Ci߼kwli;$sM@?8gpO(Bc"NЂ3hljTI ruys0c3d,$ըO R,)࢛`f`cZ+.YP3J|9)pŁlGNم? D`f'!Hclq_)ENX HQ^& ,M_0JFy 0C$79M% +̸u8ʉqLrwg(jlgjv" j9(Ex'4&mMϐNkf&3 ^tokgShֺZUkv5QR>XZYT;v ++2|ppti\H- Qdf-`lSG򹁩0GdщSW=X3u*(ABA@H |GN4è#iBRq٦]?<G|mLKMLNig߉=Zyg~$n{2e2_*t9EO{{'v@Ǚe[,Y8Jdo<xyf<)%BqB?nLG}ǧ?V\WNjDwHCcvラ;lK_(@$y;e4dKCZcWXٌA*J֪KiDy4̎gLVEdmyuh?lzbuI |!C UC;lYC5y hBm!  63N6-ùn@*L7;ihct:'`<wh vUخԄ /\vHBOş=`EbbdGH=ngTkFn3 ovQC;~M]Ǧ X)ikz̝Vg$JQG9V:ۻCԮe$u[B>ޑۃlYMTYxS&ܳ!=Xa069&N̘.?NP~m [16!bDxY*X0_g21u 0].Qk0SDx(>CTh:9JJ |$$XeƇbM}pq45he v^T} qU 4Ca i(P5&Tmt\ߓz;ړ]_@ @;Km yM$LpY( [f?.i%!23dDiE&!̇3Qg+'jYQdeLrx}OM9kHǤ';2GFAAgMU!t'{l3w/Nƞ<ޖm !{`l1Gy’p~LMT3]Eѫ Q:g$dߵgG~KIEDZǕ8+j%%UD1ǖAJB`Gy5qZ8MsmSUMcHfoMAQ%H7_jˡX HB:J%]6P PƤL G L2`Ix(F|JCͿ)(ߣ'u6mBPQڟ~PϛQ:(% (a/Y&7bӜ?[KN(lNgRĂa#]`L8m=?7 EY̘:)<㣸9[):5AxK{ٶ<RRF5QOY \َg0N?z*]~ t_M{_sXe4(5͜@uU pBrhۢ·%<8N s!d'褣:ptn-].OJD w/=dy2 ۹?-}.\h=AA @:鼕zsLz$ PU3`yB8E!3LL VMXK@77)FC;Tm%8ƣ o/䎬N88 r>2Ds}`ɎzFQR~38>¤QD,H׏o+~FMOsG·C~'R'N輜$>WFڐ!\uyxyXUt6lG~,#<9^Q4t;#Ly$PPyoBS&H# J8wY2[ - 2WH7e  LԱ4}RگMOդcv4cj1  nU7G,Q*؄;<ѴIL`:Ick}lOW!>KCC!;;'NTOb1S@vdޗɋ{XP_ vs}[.)ǜ~\m 9JDȭ B:yE;X3LD7MpqN5+Pn<缂tv=3w$؎88I 16 l4n4sҗGegaf(GL01; $/"C Dz7^Waf"s郴lM@F?N7@9)Q- <~Cџ}>~^<$Bp|7r osNڵe>tq6Y Szq35-9~) ]ci9i uUL&mdS0֦K'f('I8x%}5Mnka?ZGž1m^ftD-ޭCJ~Tm38$`r6ê`NmX,s/F;l!f4 t'44A jDᢈ &<RnY6R8Tp {,+.{ 6[~SneBȲ21^Dpl8PC?{7p}Sƒc,2|%QRS9Hod>dT]d{>eځɔaC}8"u S AA% fAJ֌\vmYI̖Tv!RIS'Lh-9~#;mSN\z9|C%vڅ=1nw@8f>%>DJ:EoaÝ؂xIc#ft{wୀ0 KVՐ߸p\ pr)DJ7>~S흞$uDG48xsj^b4 y6Lp[akRP:a3Z$o&V:Hˉ|kyy0ۆ~?;m;;mwLa(0*w&h(MC;d=P?qGp!kwrFc~=g9CP!2*p!MBi]koxNjzv=5<Y=.-SEĺ;:c7S;R*rRUÕZhGtwu;=|8=?cgL{m/U?Gj0f* r;c0\vKT40DtX'$ רs`knu'h?))TeM,?=Е | c¬ߌ5mw_韱1%tLŅ"_%7[հ2֜ߋ'0t'BQGWbz7QHbƒ:^>JoD? O%4WNJ.}[^`гN18 t4lc9'͓Ě pEŨ* lyQgo!vqo|UW%-;/䊆jQ|zs`]V8")}XE5K}#+QzV󺱡@M&]gd;a&(hT5WBxyΓ !'?p~MC\p9Y1Xt${t Z!:[z~,-q$m"Rj2cLo͝C*>8x  2 d Q-3IyBNHpIRTV *!Xs?N[͖l=ȟ9M/G!:5=Bc_U3ϯ"gI4,S tأgH@$K~߃N:G\ &Z6XlWfePMtN--+=$D(ŋb҉*wƏ0󶤓?ͭ jk0!٠M҃`hCdD6E,Sܲu)״QH~հ=lb^")L49GGG5SDmn>6Mqik soHTj)~9")+H!=?p24{rXq'n>lٜ< t‰嬽QvY" cLd!k8Y蔰r9#Fy͜/Òϝޒt`3J, ~'韘wx}WG{ X6'g6K"DCRDrtJR)ĥQAs7d'6^ r!aIǜ]ŊQꑕZ.+AfS""dtr chS&gN;: &m+|ح_IA)J轓-ej8Ǎ֒HnɌjm1Yh(-jm]I&f/$8u)*0e)J辳Rc2dc3A?BvG".F/EQ5;Z?ᵶU g@gU!Kz>(.47W r8%sf\:PՒzL ߬S$HScD8CsIU(L/ӦuiK"KX{绐v; 0u")${sq z~ód:h_쳡 ^L$"g}=c;ebFYXYccltdAyWsOjF@[rnf/Y7v:N;N1<:HLO}'q3Lvj;R\ ȄLr!kaF| ۅ( 9iIwp6iQjƊ=~z13 5byv[ޚ3K}.b(uͿG_iv㌏hoZw7uЏU'X"%DҾ񟷓+q8a4ױvC:GFuS2y00E(ůMȠydGR.<N )GGfNhrzs%/fpAsߗ8Z M<]f} GJ~OwHy Ԏfy`2l ).Ot1@SIUWA-w&j!@fWcK;1@G(:v2Lzs%N>6>jâJ#QwrWt,]:BLW$[$rl,&_` Bg2fHGbk{]X^V^>Gcuc%L3uU`b;yKOAio~=lFm[3 cMvs9>9^WSgCZgd}>\ޡxU;` r~ە9\]*˰G~Ƈ锼ᠭ; n=Yӥgɇ}DIHYBPw?\˩a 6T;gx 6q!D!Ae)J`GPs-87IHsx$' ,^ #CgҸ"E$ .-+j_} 3y,]js))u!-~k "<0jg IyLLvۓǠ~iPئDą ܼF&lf_{Af!Sӂwf@(#^"~*2VJ@l"%}G|wD癞I6iB@dBffĚ)&r; |9Rjx{tYu#̘Kȟp9Z{}9ob"H$dd?? h`HHK2zW >mvpHݝ!{~+tH尢6Fm|z:}.$U)XA\aCFv Rb"ȟb lz'kI ;"!{:g uRh&#!"Dr(xOPtEC8$P9id,zBC7:+e"#ieR_MQz?]:JWD$>ݒ:ihY/nӑĽyyg B8=p<ߙ3Lщ0{Y->iOS*&UP|N6gN̨?֡ճ/%7G81U>Ywzx) ~]9rI 4UdL%qYqEK:yZ;Y4YV?Y>m]3S &m펐ͮ}m77ϯ|Y`ՉCr\(`XZhF TD";{viMˬnڡ%(a `&Cvu͔l68ml3&Izޠ2؎&Q=$`#<9CpgXLKRHy[ xVSK%QwjrT=35V:(Ec0]5)6%(;I2Cj(e9()) fs\;& ID%9XtS= w-}+ :Gc4FB4 PMwگUf.GkůD=8qnmuE@G&צ~9hqU>?O֓V8icI$q2# hoӋEhӖY4 Fb%hHDR%Q-Q>>̞?=!Ç W))pԲ=ر^n_ΩJvp|/Enem=?oʄq O1S0a[sAtz^eWЭFh]]́㾦|C}Usml!=𖙰]ȓ 7m͏'_,LiGQ'LvMo*Mku%ɕHFù % [*g)sOfvr-vOjOt}5fקJ{F.\Q7Oqa<6 $@6nP.*k\\HNaD5c[_fgPoC0 ~$-X?JDcJN:%HbR DS;Jgvcl&WjyuW/31!xKu0b+6n6=%9w$ߌXpŹZj)>9jnߕ*2k v|_a'D5'7vE v$I.BMv7^n"+E !y|ƹg 28-(.ǜ, D!y!)FTX$kvf?v^^ԬG|-Os8ǂqYo?f|jԔ{Wf܂G82N7&09 \W\p#N9 13'\/f j!tk/uOpgġQKXy*A%Xg˿+<1K{/9Jɷ1K)i~⯎]@| ӝ.`( S~WEx_̮_̒`ۢk|Z$@O|{Crg!3>n'5v;aSTX2܉ ?d뫄G-ͱ &rrU!qb+l q`#_=`ɤ_YnzhC:A D"82 8T!MqIUq%N7؛ښjɦJCӐF%=ZaɭSD:̄a?!֙tfR?`ヸh[- Fy #2 hj@^_sMZX68DBT"ݍÂc6)T9G_g2cTg!FS&|,2.,IX"3$dx…`|~= qdH겼7hgɼ3bd7W勏B@ KMTijƫq~_?ktᧀ,DD뷁Lv$>R`?JhL(O>T!LX[CɡSLXb-߀nn|jNNt1Y2}FeA6lK_uӵLp,ڣsUeZF෡7>t#ymw<)+^U>G]\Ti/Tq3zƮ٭/hYcvL" hP ,UJm%My<C7>/tv!"LN$l?YpË|~|L!f[9'~5*Ѯn#Z͗Ӊv/А=芅Ϗ(}<{Im+}~,QK.v)8'w~Լ!UrTxЎ06G?6Xw/GsХ4dLa"% H WfVel5f1Y26l3Xͬl͆,QQ DfYű12Dا?~&lk8?A<:(i߽LܧL]z$f;ӡC6} xEX0n^Џ}FCS[홌U@X+:Ȭ'_A.HYKh P$])BsŖ,qH%0mz"h;B:Z{fS<P`r.Fqa0D 3|e׌!YgE>]|׮7M/JAw!W)X>p@ ^2Auc`Y(X .(ؕC8 qcr2C$!T?F#} c4_1x+rcBk-@ m z'N 7Hie,u1薲x$rt2ftWoߩ?o|:c9J}̆fUںiGTsʝr ]@2< ;̚0X̨n4m;㉥qoŶIA.-G 'CsN1! d~7].Lj_Orrdo, _^pBŒl%ޒ7eyqoX-ayg8@Ddt#DzڬTQoV=tp OCICgWx!" I@AL4Rnaޘ}Ӷkj3Y34Ƶf,X3 dk2ffLѬ{8Ƭk+w" "}ڋ*KO]OO C40ç:~U"_ x07:;̚K>A3Lv/:+nJSSj33lqD&V7UN;'j}&!Xdq.k|f1Ah>|t|F)$AH  Y(0p!?ת*mҊx]Pݺɝ2d]ģY29OUY7ؕoN@Jm B9vMNQǙ~ꏡT'dᅺoʆ/^CzNcϠ274j -Q]cه9VPnG<ڢ ;)rneJŊ"<~f_DYFQ=1.dQN1SL7bR]Ohwm #3E(#""J"q(d 92l& <*m_w/l #ZWMZ@vhE#Bj%p1"v7;IE|It8U`(vv)X!=I@j'@OC޸m1p:d7涘WK>#L{9%sxߘwj#?Q7nϰS&sT9 ;PiOm&)o?kQB=$)gyg8QAbгbJV`qî~a[Q lJ_64:h>]Tްe6*"?XL lW{4B} coxjZEi3?%,iz->HS|myd`Ʋ AQ:P}.'S+SxIF!]A(6aC^.|iX1Ve334,̱̱Ƭ}T*dfXď330f&f30d2bbŘLe49i&jlƌ3VNe4c3Fd::q1fbded!|>h)Ή{lBuE9螉r3C-ʧ3Wy YH$GĽy=Hv?' gibfӌ >"ufVPNY}&M Eԯ}}.6ҼZ~C-$QlL g7'Cra*B߾3ʸ,6^sʷi>wΫ \~WMG^:harGkHO&'-ɤ87;'<T,#b* G =[Ce6<4%@ `9%xts OGh)0P IP9D/xS0ou芵չmX6 ݽ%E'8c#:Zol뺃"ߠ*AcPW@ߋw u2bsd~ݤt㞝Թ*Z&oA$㏢NPG ;?&dKH~wk򁔾+=~rm!C\G`uLM鍧"#9EG6ISP[mX5٪1%#0AD] =!ݷ٬WG 8Jk:B^v~it:jwQ?JYC.;IMhvX~ˏRwcכ|l>@˗TO҈HJoTyVi;Oo>W%ST'>pMޤzmM'oeihe}]xuB'm@@tOm!)IO. U;P_t%ԭe^_o;OUXd':sw3w}(xsV6y߼phWp.[Y]7.6wh,x,@)NA9 YA4Vf@yx97뺷RdK߭<(XFq~ꉀQ̓{}{BP1vzp]OM+C] *C= kBI'7{ P=oV!$5k] t$$.}UǸhd炢w^"8.zSFr$iB@)gT(tR>Q)ot\RFB"DULfIK3ϡU$(\q$*:SE j!GvoKvV-OS* pxG /rUt{/j΃1af23 cYqe,̊BH\rzz-FL2PEB!əea̙~8ɘY}᱊+" ηh=26ڻ7FPưp/ bĢ4BW Cu<8@ǑY'2qfYgffL1ffYf352bDDE 0e% )DX3VjX,fwn4aPTX"""DDD&c33,eDD"TDB ;^ZyX~386Jav:,KgH)p d6`hHl<%?5ۉp2uّ Ioz֏C_a bא9 m Q|$R L=/ U{" ̔L‰::\kP0GĒ؈VH;=N{nA>nB#̝Z9ZDFTۉr[ND$οtJ#n+n*3Q~mlc1_C{Aj0qvt84l CJ E %FvZ LCKZfl.G)+Æl?* C¯zá9s.Xݜ?DC'U 1'xI6M姳Q؊gŵ^ҟ1n1S{/p\ζ|טo=Ԑ`E mM܋`3n`B kOmul*k+z$Y#yF 9p}1gM#JYjZ+n9FMb0 6$+Y|M6~+!4~;~k*ʤUJ)Pwˋ{oh~gpj51o1|JQr>󜄛hrJC;eBTs]BSnD-sヘ򼸗] q`> CP>Н`d>^Zmc ɍ vݖTvOp t. /۵g1".^Ǔwg3Jʡ(JU Eg2=7bgL*ɋG!cpulV"%rH7~=P>na;46H?<8UWUf2JAը89@ɿ+ENv>SЍz}hr"š}7G:@4#rA8!KC>d@8dcr}WGO}{Ş&t|?Qޑ|Y|]薵X,&CBSJpc?C;>y~{rb'[1b̬Daѧ n? d)B6Vv͈ML&aELnldI#oLy7 +[iiމvm`ĵRLG= Ij䜆 v  Fd`^>sv?)(-95kIJ,"ϯKe[U^Yv Uc>o+$#a Lcv=h.9,t9s񌒇H 8Ģqٜ-GtwqRI)dv`ݐ~'?. zv>^NAyz"?/ ^Q?);&UC-hK}lBn'Xl4H!{^#axgև~779}gV~%`I @tkMYTڅ?Dcn}^E6ѨW-ѦgG^5~$ZFK53!UP.1_'+C0ss99щ<^q"_J'$4L^0#Js=mtW.\4d7lX/8!zG2:գ:B)\* LQh獩^.7򻒬seߛn+)27QmvKBj䲻a!L㿻'{e1AaltӏOJw#x8;ii2cB9q(lԭߏv9tD3갲+_g[R}u*})zaK]6\1c7tz:̶J=)/O xc_hYB#u4. +ʯ"x{h, ]F0: AJi}!0?Ob{3ac1 ;q= ={`cij:aJvG9\R%SNUIG{C8G?+ΐZ=c4f6k[fjq9͙mmt塖Z B%ν߾gk:FWJo4<)JBDt?DG>EzItr9uO\jqsSK<oBIj1^Y-(-X-#Ak?L󽴓g϶xKr91Ym#O5R|phL6-MFfJdݛrJHF]{W۝jkiI5 =7`"0y"UgjG S!*̨?.]LS |x󏩷qgD3@C0i 4aM%Q" "0Yka3,əZALh#B ,:KJ"!@FAN "0襉͑M )RPM1I( D3 Ei1E76/d DEMڅa@ȹK6H,F(#MAQJ4R,j0YmdXg=Y͸0il6VF1YŨlA˹tz! <#T)Ǥ#.T^ A+ -prfOtQ)IBVq%r9!G 21鏊CxL:¬pY 4CDp<0a2C1|j2q*`L Ùަ5q=!޼d!LHMOF,eUꔲiΉ-m9hG%ep^Un֜rJOY x[GG2Ģ*9 n2"Tjk;]7:]5눖D gq$dz90^Z W&SSYK#Gp^Ll~&0r I~mFqN(}L &-*V#J6;Ns!mGXZtYNΑ_F"!Ѥ/>[ תbqX̽?FrRDIaR ങ1/q nֆ~Z̚ ڌeQnC 5[&~htbYY8.4/<AQQ׮x#ce("AfѦ2ս68:5 tyr!x9l1mpWw%QWKXvNEy?%%F5&dq{1u@k%a`Z?;t&ca#/ɝ>ò<2&~)pD(s۾idi)HjJű_p E97Kx}in9SؼNc7 \:ДHpP*&vrqo#~`$PaboD򐌨" => ҽdʹu"t`L=nůa3XrLQrq١%ORK*MZRp8sxc[VLx >Z^N$ҳNy.yõV0;mʋ:2v9~}ؤw!N}F嚫,%GWnKDb8ֺyTFOQ@z_w&N,"gohu@(Yc*~h"G^gu1hN |t\o8+ f퐀PlV>J^X4HȲ3=Quh̋}_n5#D[b0 ĮK0T*#VeV2gf\!ndԜҷM U6-rf:8x%۟Nd7mb=6i%GY `}o"Tf $>i&tl)Ǻff~f~ZbsHp~%[G]@BWȠY0\tI< \e=lN՛FY2,u 138-1NݰCxͼvE0ʼБ40KS~ِҁ`]+gˆXKqcJ"(}ڛkdZt@ @{YjJo 1p۝PwҬi!Ċ5Aկ5ul`5ΉړNE\N)6/GBṩh,,q۽/a pS3Irė $tOd'tˋ5aCno&2gZY )AY'Upx$5 4t%#LCZ\fENZ.ghBRZ-m'g 988@H1ؔQ(&r__ל<3CͰ^=R"Qh;jZ\YZ@b R8h 'MEkfnx%&9-6}-^=V,<;e8͵+Z雘G(ѥ&@o:8n=t,Ar)sܧ4j+ozM=ozߙ1 \oSblA%v"AP:1[ʨvَv&O ]Jܙ}O)u8o g\R$晚7Nb:Uʮ߄blU߼?]W kC6X&|s3ɜdNaW]5s]XZ䖬FZg=dnAוzNz9>MJJ_;/E);YmE*LvmY9Ջ/%kVhe;.$W\Z(WQi;E醅8 iohm:I&?Tp2rLJQ }-Oʀ3M.,:Q\!WsX?H\5O ߁G"L$g3-„Cj9]n'Ds5mr>ظ+gi> 9^ }yP-stLZwThZ=QKBP\۲lIJR(BL:i ʌ>4Ftn-[ʮM'x+hGrP4%_zmDWkg~TVI)Q۳h*U|:ss6mMy]/8`rVkD;r k(#5°>ir[TT#e:!\x-=9]*w,F|Ns|V1W\tHo_y\cƀ[5z6 F(&&appWlaލ9_#?`f0ai[tg=T}JtDs<ǞbgeT};_u;"T\wȸ9ApRP̷,ݧ|G#FP"ȫ%]9Z!-`('6s qi`N(EؤcТ4mDc=%b(cd¾/&u;J r)v0684_ILꗇnO*tIM 1 V48:^GHJZl*912Ur@hz͖}BR5تbg"븴Q$^S "D}UZn?9.v(P!>ɸ841""SW$n7;^kwf, ]HH.| H7IﻼFKճ8ԫ1FM"/AUn\k%wI>XWd;d\f2XP9׀ }XV R6H1WA;.ǓmnP,\8a0(M_H 6oӌV2ıc>;pyZY[HL[BQ"Sр39bh $y/S":G'Aaww># 3{J7]4zzX.J00(әq0uRƤgFiR˗s 'f&*1>z:Dvj{vI@ܻ՞T^0v"PȽc2`Ӿ`%@"ppMti;/ 3C9}BbD8|8%}z#1P4J&:0`h";s)q{ePCVzk쳞W2i({~oD7`5;VLh1ۆ16b7z(5݆bFdKRl2LHG i@c%,:kl5~/,M`~[tb}n^ 7}욐dAK?a uJk -qs90'ϲB-IÈnLf&J_u"}b^]囟K@2IiCHI $I?]Gjo8 ,qnC{b}9EY-ې 9m\zzR)L7?ts8QUПq4|pm`j/.>Z[HJ(8hV:S_Y\ywer Q"vVBW,NЮwɺ9I RXr|p]oOuUUG{ m*f^0*?HŜц0;y #S)ǠHRSzZ0&g,tlrB֌KH?d=3,M}iS.ӫR(hxX]#.p.eg4.,i *ul^$F.o̙F23o/ΌF@XэeR%7$*.qmJ)0I|O;l}9+W"e?645Ĥ[k}E'] :Ӧ o /q@5ӇwLlBx;Sy2d'@Q4 ,{8>;II}ۙyBS_'|3빌w v>z: oj_lM'~d8oēd8)]q&O'u-,r|1(\hc0((VMKaaջp7A&M|B-{g`76$2vg82 {4cX{m b!vёgR/_ۆneRhsRoG0Y}^0o¨Z!ɩqڶ˶0wղ҆$x""'Mf@rl+cʬ7SI7OOQO{Mo*LJBηދpX ꤛoNCbM٧.ԓ1|XpUH,֭>u'+& PvPl -CVC"v 9QXwVg#9T֨^ i'L?_SU Ǩ`(.=.s qLqM*_ep~UhiaDŽLZ*H|t,ṆAlq(zW^rFصLfU[)ir [}PgmNѸ$mҸ^q\#A%WW1&nRH6"$[,}ؤ6{. 0A\Zo@*rLgAZ8`aB߷p) 9yPJޚvӀnKdvG3$T<b?F8 ΆM&Z$жJiW|4ݹxSe>{XYZ0c`Kvٻ@=$? ,[Rn?MܕT#ICNEt ]9xa2 ?£.Gk`Sd0Ҿ T)LKM2F>' ITh?+gKŒ Mx}+bfwRHٷt(2˛!Q-Q j1_婴v`HܤJ-Uk#(6S^CnlhHbEbяJFu>{ uI;$QHFE@{"kDrbws΂)!3"D qECq54]ۍ}n:Uw}V1KYZstiw~ܾ7t 8^ռ\Zr+KhL) myיr'-0uG?I1Җ@KZ.Ţ؏$\8Si]@i`3%DV҇) ;.?;wx*@ Z:qE)nzX<\"yK>D2By["fݚF(5ܔ[7>|.yQtUWS p{뻥`JU6CՇr+vXqi8]q֎ήs9a~+OO[(w$Yj唃JV^?E1%I_ݵa:) 閮@>Vo$EkJ6ٷ iK(GohYOݴqנc'G&@jTz=0%i]*M'$X: D~7{Hdih)7T6_)wh'DKg? gF3{/Tb1_c̿N9aͯK흡]ހ=m[?wr01WZ:^o@}LI tTQQN: Etj@CqkAYsRO9ܸhD&+LDܧjc {6U3&zqZLmO.L5CR9m b#=dۍs/88'mENcy=hh)v@jۤ`r݅J^7>z7y,!O {Z%8sÅ 0yYZ#ԕ<笎'9hX[Ϡ 6 iNqҩ.j-BtZr=*H@MoO,t?>!rI'#-9[fӔ_1 f q$Ǔ3l3EfsX3sf-up9MNl82mf.Ӄ>@O=Շq,p󢑎P~.ί6|)9 myxD{zpGHDyj1"<8TE+,yAbPl3gR{@ܒ}#ھ.|ΥKQ4 TZ]Qo9+k>ivdAj*UiO.\ RESt9whΣJ`7 /0FHY1ajiE،Ueȭ`pvְW9e)mT=`$5Gw ~X֭4OAsN9`qI<Þa/ h"s[9ڒ24.kM]7[K 5^žc2bt #UGnxKeu b#JuF-;tVZ)0NamrcaSu MK* g -RҖC^ru Q*^4=鏠i)0b멷a,/ƝMNܬi0xs)_i|(oLw6iFPfte|ZY4@n/np$ꪼ=<ʩ#0n@uaX?]e 'ݫY;Nc !\Lp0΋UXDM׏Q@{JŸoh>D| G!S$Z2N@ǼKq-8͡HIJ&u$MJ?sBYb %W(1o! F%(9lNbUyrBOёh'm9#QOT\y=8 c5"Eɤ|fa˕op z%д&S<$9N}oF6pB=rX Rç q3k-%ѓw^Ϥ~cTيޓN"a,nV[:펺!4emqi~37Sk-j)<[c>c+ւ3h׍<ؠP]8+5]Kč\7z妫e*(fu`\a9zڅ^ &wc.N}.n{e6 cr&GH0K|0V$Xuȡ1xV{<iˁm;ӓSA}܁v> wM_$: `0ŻSErEH.%`HNg[7)h_0.  Qq#;+ָu%Z-KBK -ƪG)0'!E 9{)/ HT9 :p#.Tzğ>쬄^mv,֭ EO_Tl_;aW4x 7->\]M땣q'1g;{"fֿ7#:=si,ۻȏf#T^Ihʿ.)_X\ܻ@O&U8O"W5t8Fuзmls'k/'Cj !_L,TpA ZGB|UFLE^5-%{_|Ri4?@ϛ-=9GnS% LHy&>LAYlpͩ^ [I'ph}#獚>cXItHOrOj "{9|SW=aSE IUD1jMt`<~C9>FiA@b7׊So949K4ucZ_b\쾻5z'*MʨZW[jE66j6Fυn+e=v pՕS',Bk$t,+Y<Pi:p%$ ?aiILy7]Ta[l=>AZD:q8缙*+h^@B3~qd[K3H<^d Y\2ODZV)8&.n?^;ϗ݁&̾k UF`hC(9[P}/jđJIƙѦe5|~N2ڄ=C)d8%KC/ؽӉ#&&u~ʡ)l^r߂;;iUeE| -VQ13WZL5^Ax.5zMx{"2y?qv\/)6nBVzyD^*axؕDHkmݴl"iO [` zY 6KJdK5x~Vw>m챁PE]&@˝(gI 4J%1Gd 0f, &U[BT` <>Zs짿E|ʼa6;$~z>$G?^R`WC伇jؒ^ SUn|$U?,°HjVJ!PqR#Z1O䢫?WD'aHOmkˬ-MpȲrDGom>Mt0w 4>텋21C"{4of>^cDzo hۧ(HL%+;u[`&H#6+Ɇ@j4Ө@IŁ[UG+/?OHP~0E*i]K"BP(DmCq`h?]5Av-y}o6pP6X<`Hq* PpqDQ/woN[c]gD^zZn\L7V|8H}u4CWsW[X^Ng?l zj!H!^^s-aFvρ4lwߔA,p%>(mHɵi)\ #ܮby]5= ŵ7=jѰic oS G iRkC};oU& Yy$zeIxcl_S"mӻ}Xƿ^J+.f&`O[1y^wLg5hSH, tK @u΍MdRJf z1MSo$2{ۼ?Wuן^l]ձ9TH?QE\nХIۧ4}c wj6 MXQ$5'x"L݇qpUuN_QUj'EP i^1ukj͈Dギ+_ŝDrI%DM$_ =$+<((aVAu`830B# ֏?`+-?~Yo_4gZ. Y*F\[P-?X$ UCrA[Qmd0ʯH\Wm ; W6aXqW208I!YK(*i;Haprؐ};O/,LxXYOAtxF} Ŗ-QopAS>^l1,vT~4؊ڎl_fxB8Om ?2D5 ĪeaM ϛوϠ" 3FEX`~;Eu} . a!5bS67o/XV)ߠj^]X{5V4C ϫ+{miSeSV * մa-?xpȍő\:U~pyz3Z r 1Nj" TBj S?a_(=";̘R26`\XW {AtMzm|sC-pNݧPpq ]9 9e`p*(_, pƊ1xmͦ_,Mek|2Rʚ΄*bIQ:F/iJ (1ӯҿ^P=ݪ=B*Ufv}\'Sś,8-3Vkhy}2'l5MU Ă}ܜ:qF6i c&v꯬Tխ[ABB$z%x֌li@+[d_PDQ> 7c#dUFtjp $𧰹r랭4\,ڔ:@{ȵp\EC`߻ s$V$}#֧&,! x&}wQI)GbO m 7!RlW/4%d"a43f޳g} oI%[kmrxQfu`J(QVnǃhQ#l͙r.AX0G>y Py&J,_bͬFiV4R~uec$QI/WDŽJ/A JX3Iu&WTk?$kRZ2 VjtJ1[1|ϒ#EM&;Ye ^]Ɖ:+Z典Mm%ka=5@, S4HU"vߎ\4A,nbϗ잂fFѭ2RՓ'- .6c,<~ʧ]|d6xIJHeJ_nR%y]0Q:sIOD|:DDwf~_y,I_c:y< g9YIϒ>#Tg{AiI+|!{^)w1Cm=%G\j%%U\EHc\jBn&<YpZ3@ +:%xvFNJ:ڑE]Jnge64Fy=/c>;9'\oFziNkLF$Ep~?[Pu@Hf5OjvUNnZ 9]2Ti)p7{wp5Copڷ^8ժ&*3#"JySu'^L1.L9Aŵfg=yqY ⤱'+kx b o{R kH|Ϻޜ겔U;mJP5M`emau%}M ;|i& 'r5?^2|>339<F믲1eMsgBaT}HHכ۞ cþ^٘v"ܮjwk` /hoDǎNr<`pPbâi>>͝PBi\#(#? WaR.~UOq3$2fFniڹ܈~7;9l勉3 w5eXRjmk- {3"f )wȟezM !gƆѱRm]UCJR1IQCIˀZ&R)l܂-$ު튷A¶w;g/rEP%t)x[6x0:7*jfTT ג%:4|Ky#ΒZWE.HvƺM# 6A+aGyr]2.k"jaAh=;/}2: GT -#3N褨J|{~р;eᭁբ7AX`*1\HcHJ3qUܐTHf,,}p;)!Iv\F 0=FߡѳmY>B?-uէjL3gP.ލ9̺.C[R泖ٜQ vB-m+_ R˦4{4oL?m3>~+ fe ߤ]з\yJ؝(Ha)ZTAAce)Yͅ[^-/W7v\BL(٧Q$c>0{7S&JgA bb tZW:t48)SG'8cyD+&EÝڠ&gv,\.'S 3jn K?fgllߢ1^YpR2bPXQ9}vSJF#_Ug<\ː]ߖJSaJN8^^ X?cGqޑ#ECcnh1tÌ#C&R ^b2y9Oș/ߒ$L6pw-Nh>ip|F6bPجxIOTga^\c#_e?|@VI&lFUA5v@!wB8{5&(ݔ-ćE2;"aIPn FqSirC",uM t$HuWҲ2^kcgϞXSNMuv\w> #",=!hֹ۵s. @ڑYz1i^U^?;8N$i_FB.'67u ޻/˻d3o=Fsw8fuB %풠l6׫ՁTgu(7c'`A$;x]V Ej;, F''NPό[ UQ4[W=?!~k-*r>W5x.ML4;X+3&L2TژOmÜ ;9gS"x7''U8ɸ`T}Rk^yYt$#6-9 (K픪O4nhhU"JOdc5k|,`%.͌;hh0uEa?UGmu&>M$6JI JDsk9rrU}-]+[1u0ؐ R K#i_np+-Y 6ovXO?P}O_(eG/+,eYKkᱬ;-tu4gԙ~X2[&I`R3hA,7h!oـZqq%8 !3+dF$Nk:-(ڸ!6܊#vve"tu *"V .@6f;K!(fl$i(7o$7KͬhogR-sJe<[٘〕ɶha*1W 4eݸ(lW<հ) 2/0<7VҺ8g2fV05nm^ k{f%ԎٌM ['R16wt`WY_b']9d.ZH+xI{{xFBeO''mg32( lvJVJMNrbMyR,Zc-K&m&P{Gm0j.N_YwP1?2b^ J& 6mj-)Ծ}~+[6k]>(v5KTR8ABل7;WuyKk+ޠ AV H,(sbac!#WOQx8Z^siT@F7<<cѬC$&f<:c˚`AOZfmO$O,q9_ Tٟ5vD!EɌt14~>~W2]Hd&K4ff3> {.YdHp@ٟtun]p V`szj,w}}˪z59b[b.*-'z.Fı^{8&"!k4[,rW=WtwmRTdtHOcYM$.cT> ۪F<@ B}QbTHqc.qOM}Yu|1̂jeXP^^A旗%@#Z+$M=N4ѪH'?XYx5p=<ߕV,&+rQ8N})v uG*}m['z##%]y*QރO1[HHbބ)^,.ER@]*5œ( Jlݛ@'IcՂ5|op^Kf^Χm° MuOLqK[-idE[[*WfUIF'I!vs֠(,G dlc-0Siant+GM SEs <{BEb\ ESMU%I0gL) Ӯxք(neC:ۂɫ0 xm!`އY`~ iC1Vi YPuCGDi .4aȞZ[=]kh$;׻\jAQZQn>-tUEY4]Wց"( \o'2,W۟ј0g*hd"ΐ\q00&L(c }J.(% r&@ .(LO 41P Y<ChZ]y5<*Y?B҄7xg.UL+1P6KIz/isUQvC&p a*lj Eί5qC,>wP,b eyrT t܍l[/$wy>L;iP9I@]02vKC\a*%S#FPtOC14KQlȘ!%[`\Y|=pc;{or#lz-Ǔ%.!•,s0=Srm7pl,0A,`CD`2fT`a!_ g.-)Ⲉ, 0*cdx#XXBWs0Vx6/yGVn^j9 6'/~=NOlZnܸ4WG@*V $zE}[=]E5ki*sm ϵq ;p;IH&jԨh ,2a 3a;yjΣNx'F l!W} (BZ}N#gDNBȊU-{vUIlw#Wh_2m{J'0+ L{-:HN$R69J?[a,r^G6ìaa(])_[R A_𮙷sM5.>]Mwb 8h]w %+g 1E"+\ӓXN mmcsK"OKȼ{:HپZcOW(܀75\z=wBIX%Ԕ'bQ: qq\'Z91V'J&T Y]&UFz߸jͧjA0}PԽuHw<8Yr<23 ;wpJl`PT?ٛ3]?Hamnɢڐ_WNh-:Tߙ=⨌9]RTWeW݈gAqeH(BQ/X&tq7u'WVtƆڵh.VB=~-B8~KR>}Uw>9Ą1a!“JntN JR#߳ %MjmURh(鉒,>sS9/s=z:Sƴ* Gʚ Rt_ 8lA쾔I_5.%I}=Zȃ% "ZXJ&G9eM" ,75}lC+jG: vȮ._O Dh+d#ަ=gI`FY# ,`c3c2J(&#7 U=+?=NY,vJ 6Y{3ڹa#Vdq*Rn.5mhAISvBTSpRY*]:R8Ưggv+4{a5 z懨.*e $+42 ˲Yװ&i&M7$-uW0Eu)# t -L+ /%7^,B!q I)6*ߝ @ә6D:DrXzm>:**?f:J3{nRBLOnϓ ͫ쉌 sȺLs֍a)WxQfDx6J1!Cl(eK\ރFnYSص\L>JVrm%Du=.Գ*$K"XiFWG9lo'΁C c;ڠ)SZӮkߦnAs\Z-A?.#4Z0Bt{-\mt I:hyQ[*F.C} g[R^i=?DT9R 7\p;5gAսwM%`Ò\fT&1_fhV̔u1RG9Čw< i0õ#U#q*9C/&Q2\l# ky5S叙N>ccs >tHbSq}ȷ?*zw]說1$ KE@ "Ey6!{-iʨjfYҚ F#vgRXMY.ǜj2>ҩvȰYԊ#]jX!ٵxkV_*Xv6Hz 쒽lUJsV3KBU1u ϳ/"aC͂&NؼW;Oڗxiami2Гs(}N /jwj{2?[ U+ lz⡚B0T¼;B5{jZiB>LHl#(N,~.e9nDBPAAy1ԋWSv=/FOtvkЙt &9\hԔپ'9!\rZ ƻ_|7BLÞP*@u4aCu '8xx/I㴏2 VaѰ k6%QcРJ!p*`RB1peSAp뿻 ڒK H&Tj5wƹd&ĉ %6 :v nrPtd> qǐ1 C0 !!]ތF>[JFtiTim?&f4:]w J0d.cft6q0}*=N#i%o/ܷ=e {`#pY#r2(dWlRvJUZxd׈V`!F2vdXyOn\c:xԁ]*0濆_ڣxljՆi06JD P^F}486$_j3ji]_7 y 7jk5QzW%8͟}÷釭xk `_cHWi+6Q:!җ )Ҡ S,K, GJ2HFB''#& ]̢h!2i<<6#Å|,ޒ Tz}_Фo=`+;)9+n:rs."=/`ϵ P3\z|92>;+/+0벳~]\<#Z9$4z UXg$1 :!]bqm 4ceمz3TĞ%D)OJd@A9}Pda }^g;uwS(m2fGc! xK 5HCLm+ޕ`ɵr Zw4VIDV:[frwULGt/ y