grub2-x86_64-efi-2.06-150500.29.31.1<>, 4f p9|UA ޝgg}{xbg=˕D֤pr w5iDWE9^MKUvD2_Q{U6b"ipkbͧbm:'L^U5Ĵ\__xkdw+bU.#Xb? ~00{ҏ~֯ ~Dt)cS8G4gq#y! K&6[5J[-ѹ!NӔw;JMP>@?߼d ' ]lp| T""  "  d" " Y" Zt"^"d"jPjt"no oD o (p8p9tX:>BG"H"I "XDYLZt[x\Č"]"^bMcdve{f~l؀uؔ"vNalpv߸Cgrub2-x86_64-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-ch1dh SUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done%< H ZhP`-Hh$p %x @h  h@;  P(  @W  X ` 8 Ch  3P)d0"p#('"hh G`0#0o9.A 8 xO 5A@04X"!0CH0(x2!(x((,%1$()8(  =Fh"x& ``@  x0Q/Xp0 X `(@`0' )  Xd`p'8BP>x 0  @  op X O,(  P 8 +6hp:X 8 ! "@ (P XxXJh00 h0 P @0H3@@'X>+x  XH&'xn8X * hMx5A큤AA$A큤f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f f 3c8650ddc9353227c98744051bbac05865f9217c4e64ab1f843e2ca2d337952fe3e557c4eae8c1103e94808a606172693233c05f1338f23e577829e4b7654dcc96c76f78e0ba5ea340f5e0fcbfe30733d76d0db18fea612eac9aa412011604c63b57a285cb5341932e3828a7091ba442f027eade265d6059159c7d96eebe5c840fc1d7875168064c72c389bb590783b8ecc4e23f7ca07ae76918a05419458df916bc5e3a7b3ecfc6860fa52b8b4dfb62d9fcc729f6b3f14569905c17514832d9f1871e2facd487a41d0160fd985e3bc46d218ecbed6aaaa2f8c9d37dd50071038ea7272ac03fe4803675667b16ff98c717af6b65fd9197e1282a0231d8f108831a4e5295d9df3b4345e1e57a39ed94ede0ae5d2c3374da74f3914dc293832312c4af9a77433ab15765cb4d78e15e933741afecdacf034a9a5a9d9a9bea748ed94577dd19cbe5f5fc43cb7355ac40404e3ca1e94252e6995bf70df6498738f018102cfebce144fee4421cd29d081e06cb0a011cccb8e228a517652cc5d4ed692dfd9a3b55483e18375aa150c58963fdc7415e93ba782749160e1d999aeba181d8b323ee2c4df220f60e5cf044181592c7c0c7ab22281bc7b5f4655ca4976a3133019034506d675033cb3df2f1f2ac2df34947165e1b7837274f3153a1d0336aca98f156f300d7c5575547dc242ee01e7c04e2e602934b4e601bfd5461e91fbda1d4ff9e2b1af8a2fd4d0a21b0004d8a0ca436a7172b1d48fbd989b1ee8630082e711e0f07ea501d259f46cd9412367617a3448abc846544575b3b79e0e73913c0fab06f81d6020e2acc8253e7f093407b1e07864c8168d6747baa6155b136274114e58c31ffd13a7bbb7c37a2ee114da89906bcd94d43600992048c570fbad79f7667bb7071970ad6aa42f938cccbf5ebebaf6b9cf8a4732648a25e677801b44dcd906c9155ecc927b114cd5fbde74cf283c70728ab0dfeb9024bf69ee9e5154841f2bc2dd7f0a4e407ea9c475cc6efd534b964e29b23fe5f48f282bcaa3c65e3768ea3df504ddcb8840637a4c82aaaa34bea2dccba19063f4ea4159189989c6a2544d3f4973770f57a5f942d46753f34149a31e9c743115a36a1a19b0cd9f76166df351f9ace0b235708e1f21ebcf148b42a71e7a46a13fc0bdbcddbee16e0efa93729db9a5cc07472d44d7d5449aa0497553cc304ab478907050552248034d67bfbea9266d547a4457d8b4c0d2096b36b5ad974ed470ca4a30264981e8e38ebbb5871e388e1a6a6d78e84fe11e13ffdb5c8ffd5b7abbe0da3f7d47a462168901a5a5a9eb4c1cf4a6c6ba9b9736d7a88dc4535fa4eb31330e5becaf2ec7bf23cd60a3981dffaffb2c3b9d6ac1c19918149b3fb50144424c334f416fc7cb43b57336f5d60ddd3a63affb5966ece595ef96e93e8bac6725a2bb3e41e3f9d360914bd90113b81d949da47526a10bd331acd68453a3830383a6ba6a88c915933717f577a77659adf3a99e262213248075e50be3f21b59ace356e4ef969780656cbda945472418f7f00f42c2cf8d5b009de59070cc9d1643eee006a0214be05ee018fe616f36f00fe8dfb4f043f82d3f1fac15132244f0dbdd47b07cde58ef5d473f423bbd7fb1b42f60b09b144c69ae09b18c3af891596510c4815e5bde2e3c2a6a81f6894f1f3d44c26fad1ee5343e6ca9a43a783dcb5696d371fa9a6805489cfe4ed7f83800e45f347afd0342310e99ea87fd7e88fe2589d74f7b9a83096d2b7545f7c7f94124c66cb45c1a583308cd12e8767c7c049ccb07ebb0166ece38ab83359f1307162f8e27350e59825ccdca78316a4b1d7c5bf90e5678b1f3dc947050a6230ca42938900c3b003eb948a1c2995298a513f1d0a5919d5cb730c714a1c3a9d2deffb1f26c0d83eb71817dd4d01e3c6c6e7ffcb810ee9828a5b0b32c0acf3243dc4d30ede04c0dd70e3568b0046082689b8e547e5caa5e532fd915d6d77651b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc434e0d65b3a6d78519ae77ad888ea724f4e5f02e2dbcf7de4a6c123581b912ea4545e3744fe635b70e4162cbb633f3e8b89c2960c2cbcbbef385f15f8024e531890e6be0940a8f83c742ff62e14b318dd1792c01c496d193790cb73b4f010b5747f3c5c96f46b405940c687e4bcd9322478f3392afef3401e5559f48b2090719f6b1eb0abaad6ce20bce4674276ed8553091c8d954bbbb4f3d92907d5fe6abbbf347f913cd949052444e24431d2d44bdb0a55919861424937725a8cabf374608737729e987119d08c0740f92028f1275bd1290832f1aa9146a5c732123d74ef9cda4d7df462e3c75c75d69c8974a42cb4dfb0ea1e525a2293a9dd36cf3389867a7ff72aa0e487966bbf807b4a41a52dd3c638772f2c21dbf2b7b220321b6059d73457c3d1818c6733a818f33cbc674f11707f099385273c288e20c187650f65f5d1555111d5a281b7ee0d92b1c0e36c2904cd52921b8eb02fd3aca5c1854cb3e05f3d4136c565b79f1a68ea1a2ef9165fe60b21385b33c84aade627f12cbfc9a2a05330ca536aa7366eb67a24fad886e6344a3c539b3693ab12e9ac8bc9cc9cbf5cdfef68be7eb2d5f7113cd1298e5a9a4691d9ce31113440b2edb00a9df8c234da59b42225ba1f8d9982e0be22658e799a7304e5bb1dfa047536a3d1809a732bc8f1529e96310bbfc5707b476464be1d93201e2b06fff8eef6ce46e4591f0c3809cc8aa517565d8320f189e5e394a2ad87de446f842287a0bb77c6f26d3625d931638cdda492106711dba5d440ae9cfbe6a8f5a971c94a1a1d792e807da3a2047ce6f845ad4519603767401aad0a56dda51f03c4afc1ab2a768fdc5c8138eedec665dda6dfa95ce8d96f230381c8a350f55098a0c153e51138b685bbe41a22447b496ede159fe7fc3375678b334ba8bdab6104545ca8b1225e8bec8a47ec6ea52a9af9377dc0e7443f4067b691eb1de792cb28ecc3265fc9ceb982c2d62317aa3c7c36d988207177c6b85eb2b2f064379e3816e59737ba4764c41578c344f0cd3a08f58f636f0768fbd27e1af347e8572806354c88deb6c1210ce66de18f661cc95de5fd097ad7dcea7b2876ed71b592d99485c752726faf2c55bc635806a6cf2b26bf5e661d6bd1b616325095dc475c6664b12192d6743ddd14d7a731be44af2e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85512d5e632155e3617595c32444c6915cde7f7cf5d6f6a1abf21078379dcfa19168c272d7af3d594c7d8f34e87f8ef8c496b0ad17b1559de5323010e63dd2ac4294f6e3038b67e5626adb72ca39afe8380a49721846bfd5b7dfdbf6e665a4874a632fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c578b3a33c3f1668c8ba913ee5026740480d00acb7d0422d376ee5fa4609eebf560e3e04b64a9fd12b62f23318789f15ac0ac2282bf2221fe026fcc1c6a4942afb0e446d76883d0032124cc4e88774a3ab458f432a170ff920304cf01ffdd297594817e6ba52dda784d298a0bbea7b3c0f9d05f45321674c54eceb4feb7e1eb1cb652fec80d57c27bb8e71dd8e2bde2fdc4308ddb45ab1278bb9f7ea69d222428258c7a81748df8b5d0f69fd66b8b9cee78e00e475dbc647f3bb71b2d23a4d2799cde5fd3f4bdfe05b982b9a17158a4a905d67df2e4ec983b46b2903c223703ce54d0b07051bedb250882b26dc7d6e768ef2e4f5ab3f7ade12d2d8788dd71a09026ba30965a5683376035483ce5221ce7d1ec21c1ed68d01f72addcc6708fc6b25131d7d8b600fae42a75033bc51bd3443ebcfe06a3207d362a7eb2175aadaad353ea2e8c4625a7c64fb64cb4ca73ee26a8ea2c3c964e5dbad352c2e6cf47df7dc88f4214fef82af09cf2b60cd87d5811702169136ff181b172fc315d63aa90c9d21d7fa1a8e2effbefcf904f716f67cb19e72f472a63aa234506df89e4d7d5e3487dc7d91ca0dc0c616de951e1e9ccc6eb9ad930019e79011a91f2b28f0d80bcc38bf983ba714c1dbcedf2bd75705361d654422e2fde74299ea422d0dc3073333da686d703503b4f098892ea531d62c4e708d897add923453bfea8040ab987f140109ff619641e7cedc30232da0223b73ef75622c9a7ad4776be988fbe703bc6910938175eccfa63fda29a7b227a3b35588a15a624d8d63c98cd25631bd0e956efdda54957e33e932bbdd3b8492fe309aa389004b4feb8197face1dca2b744f0a322cdae482fad2b2b41731cd18be8dd7c1bf81cdfab57f6a496f6b8ca6d7d3406a723250bee7bbf93980d80177ed263228d27dfd8e9d5e6c6f08f65e1490898bf0fe3be9335e5c0f90ece9551b2ca63244f0a4e87b102e69f419a6bfc90a5af676bbf88aada142a10dbdf37908594171e82b669b2b7e06f68c47a1293fcca11a154ddd2e1233ed6f994da6ef6f8f3108c119d3c984383e54fb5c976262c11d7a37bfe7d89b94b0743d64df2d4f1ee7ba74e3f5b9cca9b96736ef586ec8da4ca527f4127da992f376b116f7f9263800bc48dcb7f8f04203ac52c9ea315a84640d1020236dee8f159476d646dee31753c5d435fefb5404a4388235ab70d64d4db8f05ccc5f0e22fba458fcda604b82b754aabffee35d1187dafee7c4e77a0b4a653418d59133abb7428543826deb252d1bf2e41ecc7a8063fcf8d7f37eeb9f5dde5d06cf9487ea77ce07bd00b071eaa4d64fa36f9b03550d2227911bf5562acc299fa3d2a0c88d19f7f2094c003b2d10ff21ecc870d85b16ce5463d1832ee08b3a81227468e4f3266ec7f4cc22915d1950edad1c2816151fb4cd010ff4130c7e9f549e1bfbdd3cfc818b991f149c4cf1a60add38642a7cb3267adbb4cd3df9e06b7b5161668f26b006d5e4f21751c875422f6460184c8b15405b1d9065c82eacc56078be8969d9bcd2739ad9123dc6d852bcf2f8519bc2a4833141a8cabd172c646a5b8abe75d2c6fff7be303ba96c30c240a66f87866325c21fa390db715d0325933fb9cf498468b3f14794ba4bdb718c60f976ec4f4a71654eb4861c575f58fb0ada1a4119488fbf000f2ee0f3343a33bb76cbc589edf458284552ee57271d14add2fe4273e0a86c4cc54970ccdbfd2a4b308bc7012e54fa33c7b3ff29d7f958307ff85e295e9e245a25fd9384068067272fdafe5447b10040ef3efd930e700539f9dd9fe3d7f6bca953adb8a18a5c3662a4f3262bc1aa3cbbe0020084dfc640970d4b1ea3a1116528561254b01faeda3bae60a8f5f41a15d4fc1e504a9f54deaf1622b63c7224e613dfc4a281fdb1ffd3c0e2b2038bf263e5e30d3622dc496350c150b004273bc658b36bdb7fa767700f8c6f31eea81e636505d25184e1d289d4d66315c4e476f27c40992c77da0eaa9ff97b9e127761f4bafcd1cb548262676b837a60d5544fb9e6368a73c25af2bbe227afdd7242bd8057928f308ea20431aeac10da26f2f8029b8d0b487d0e1e19bc5da8cb94490675cf73d8a35f4e4d71803e3b8fe0ada418fe4ae8f87194ad7fa54f05351f2a6ef2aa0c758d52f6e733bd9feea6a483187cfffa1ca95af3832dced0313423c96a3843a7945ee07b2171889ddc90013aaabdedb710b7b63de7ff93eaa9bb0880f3692fbd926dcd0c614028474342c9f4ea018dd19e5edff1bdaac27996292224b5e1ddc6525f91c63f8ab992e4e55698dd6aeedf2de66353198bc6a18df5f0fb3b1ed21d095a09c8d98fd8eb6e71525cf55a426b9a892216b777e96f82479712bf7fc2b97deba79cca441cc9c49e110a88f49a3895af981ad4be132c80c317884af302ac05224a375bf098be71d08c4f082d9df68edabbafc7db77bd0d30473ad0b8240b54a9eba41208b1625c31a45905af11b0616ed7532809149ebc836d9abec53724ab4f6bb9f9622717a67536376c9d7baca44d56a2bab3a929a3439630b10e6f405d258f52c4ccf6015647a0dfb842d7e64e9a44bcf2ee877b3b7f8832d8c2c8b90a54a5f3cc395f3e7251b55648223f469f86310a26e82da09874442a17a4809e7c20d929157998e9531be52e9605c7383ef7cb4c0b8ed40d87cf5da4dfe8b0a018da9a42665cddf1e2d154684fa179dec3315a4d06e76ca9fb0cdfeab714a053e5f14901db0db3ac3d20cfa1ad45fc71fcc5e72e35f0e54e7f742c9faf3b545cbada636be48de52dd795dc6f5308aa6644f32c63e736e170362aabdfd2ec387ac4f10ee1a124659a4d3818321301150314755a51710fea05c88bce5bf2fc036506a116c34f03142caaca1bd4e00a5b363c8595fd1e560d8204edb9beab10643eca474d67fe100325c37169f8014693ddd8eb4bb4ea2ea47446dc2ea4cb4fae8d21b03fd281dd9d5d82b6304d0228396e7c72ef3e7ef75aa292f761d91fa06298988d353d3cca3f2870a98b24d41e36391d0f59ee1fa6215c45ca152eff84613340f6ae2096a723a34cc6aad682ce8d63b59218bd41278f73caddc8d35aca333be8fda719514f248dae4bb74ff9c5c392a55cf850b67e0dda0342c2875edeadd9e087f7c800d0a7bacb27b3c5719cdf7d8f1bbe18639be201b6f3ac4331bea59a36be0ebf6c45cc6581ee8b07034221dc7862ed25cca21a554d3ced27b70ef8df6dfe5c767fe555e4806c0edc2202065ce9fcd4df15d466fc8dc45b95680e85df15cea692618e909dbd840955b5c72289b3dfbd9b4a4028a8a19f58c2fcd8bd8cfa7c86e100bebfd78357b0f22f9712dffa4ce06f2fd1e503f7339651ed7c4e176b122636bc175554a01808af1046200325a973dd0d60432380f0c3481b0c16c949fdfe4fe572f51e76461cd7983f6fa6128b5cff28a9c8116acaffced87ad204459d1df014ee448733df85c0d30e054fb691950e1ee51e654fca44cbe397996dd80243abd452981d55035129b314b4a542860a3bd0c55685426023228605c1dbc6a8869d7dd0c5fa2fd65c899193bce305cf73f2a4ab24aa103e1923316d2bf5eb550cf83b661fa758342feda6b8f318e64b5df38e689f7b672c68a9436f463e84e2d4d4df4f57bf88502fe31204a68543da02af7ca9933f5db092b051c618e9c06ea4eb0dbd13dd91b8c83d0010fe794dc835d9add7574b07e21eb0f9036a7230fca2cf20f368081da118e8e002929b57f40db10610e106c827b5255907231266b07c65303955920a9ae832d3a1677ea4a6be8a1fafd26ef6800c101f082755f49970ede3bfe8c723ada6d0892373b4accd072ae3596f21cd04db2d775e5449aec20965226da646e39a8453e56a1a9f72675071524ff1455d27c0591684bef0319f3b2572f65d6e7185a1210df1e3e8fb12ea357abd240d89f189670b00dde7a09eb9cc2d8cb92509ebd9b1a6b615983cec245867a2c266971e1d0e6fac9a4d0ff396ad1a19062e7b6db7c5dc966c0ac8fa5ecebe6ca1f5eeb1503170cc53d7ae073465fe258e8f230080c4aae1023da46947e4e6e8e211ca24e1f77fb16adc86ad58abc3bd4dfd5133b8657c62411b7fc01b05f9974ebecdefc3fb3c112165b5d51919e8f9aeb1dc36e5d2ef74fe720f7a7ef57b4260c1e67cab7d157984c9bd0e00fb749a5604813e7433b6cec52d0835ab571d26e9b9e87417fb147828aab264d1b98a7655fd6c9df0788beab119bce8c132f4b81800c8dfd1d24496c3e3b16b8a9dfc6446f05008ccd849be826dfef8d01f5419e9ae898befe5cce11dafe118607e387f644dd5a547b2b410246bbf35405994bac65d54637a933617205f435ea29b30d14f2535ccfb9238a178ba4bbe69bb1907e3d8c43263f548883e0a7ab53704248019e02b8648e1971d4049a08ad6d00ed1e40accc46215842d88f804e1e9dd366c6cfac5315bf93093076c2582714e7165cff06f3fee52977b46555b95043fdd9604da364d28b1cfff18f994a961e6cfb20088fcc1fb8a73365dd84c1dbc3fa28fcde672e39f6d8d71556b577062cc88d860474ec67c1bf97e21a3e489f9a38855694d0f482ad68f8ed35ddb2733fc7d11b60fddde29703916becd30cc64c9d8de0e1ef5ba05a1116b9ac8e0437c1ab08bf3ee9ca26e40370d87478fc5ad8d7611c39d6dc5e450069b9e4e0619d1a4e161e9aa3778883127919e0b68a11fa1e30a7ad50556dcdb0f3ac828db2f4402f15edb52e6470f2fe099be5ce4190ae37395bd253ded035fd710dbbbc54030c96f4b7908743f24eb73131f2ec5190137b987acc83c5bef3710a3e32b2273edb6bcf2f177c08cef32b39c3880525b7ba9a417ae03073898d07489bdc4b3b3542da6230b9fc40228c40b423d05c5e3c974834ebcc8147be438edc092d10b358ce2e1280684bd1d2c400d7d032870a2c33819bdf8b5292183ac3ab28619862e07d47a89f79b0d358b167dc0b9014d7486fecea3d60a9b3815db00c493678d706d4f21b7ed0c55b2db6b035662ec245f24f41d54aa266fcdf1d2c096b9d16bc6483714971ea9c7d7132e4468b7a46e4fe5575d2ca17263fd3e3f6b3e7924b723d52accc6928f925cd87396f6c9353e3c9c51fb01c225230614978330c0bc8107679e953e50df0210b14413bdfb74499cb825cf93d588d74054c752ae21e78421df3553b308ed917d117eae02ebc473c9a8925ab97efe855e03a97b0056894be3bd06962a714f9008133926d86d62beb7fb2a765ca65fc8d076e0ddfd3bd83b104790893879edc5654c628ab80715d955984b9eea885a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0febe60484ae94270f67b71d4a281420cd7473f50137b455293b36bdc3b29bb4e4649a4a51523cebd2fc08eac8b6a9289aae65bd3e3b31987618c85eb396b9214b58c232bb20b80c5519bb7017cf4e7dffaad6252e0cf83e5d95dc682791339636a973c9175e90d400e9b17c2b9676eac98448bf9328899dd9b88176ad2df710378d763a10aabde8a38ca46bac44d90ba3e98379c7a718746abe3a210d53ae3bd2939a6decf770fc1af3e889d61a3b8fc4a6a292e03cf340ab41646acc3a51cf1cdb43dc677c537b3297a1e110761e1c041304a199e9f61222317c6cb32fc8853986b7d8eb4bf58a17ac4d94654fbb795dbc655c492680cdd61a89bdfcfdc23343f2e9be6510be98480db6e95479aacb76628d71130fafd42bee6b9b808a4a94b2c53f383af742088c92ef3878b72e0460f75e4616ca30be66552ff20d61410059a2c0646a712671dbfceba0f26237bf84a9d1700b0895eac1ac751f84050455cbd61e07177b8c9185c031ccec3d57bb7d534205ad99aa585ceb3805dcaf89906ddc096d97d742ac74060e03defaceebf1c612a9c7e9cac2468515fa130b512a638cb6e1448f4db0b6d7747f971dce6a01f57657ad25654126ee1549f30b90d49e2fe2cfd6210b733c228d815a5e1cdb763e2cda83e011cc73b8924ea9acab1773e2d6125b024147f3999fac5af91aa97c0e79e2fb430675eb7133d8d791f1794ca7caeaf98e3b27956cbe40849ecb7ad146fd27e11e4de98fd069de8d72278aab8fcb1a6217fa1ab706c7090ea690698d32826f802773b841d4da09636ab348c8e270fa6a1fe7ab0243be67303b40824cff7381e01cf80a5871e1e291e526438667e0c6c2f40338f1b77c2676a9266c892f72f96d7703543875ec045daacfd5c9a36daba48ed7a3e5341b1c1c0919c6782a602904394108e56400032d0d841fc76c27fddde2a39d5bab25f626393d10b2accb882b2d61d0d80566087fca797ed47eaaec4220844ee46504506a90ee2a8b49ce042a44a6cfd67bb83406c207c072d2028237e530e88eef62cd824ea753afc50f6d68cc6bd28e5dad80ec7434dc916c74cd25edd762e0940b1679ef12a38f6308d2d36deb2939e5bae03979bc7a46c0d108f13424fa5f426eede7356b0b7a9680ec813b9a86bb2dedeeb30a5f08177146c835fe429d8e708e4b575cc98383aecc16bae429560d7ca120bb894af248b34699d4d83cd6f8988caddee5669721a36a26a6a07a8f3da8d01ccc7e5c60b3ed20bb9c23c281edbe4e20542073cf1f9f5a56137fcfedb482f89db712d5573eccce0b3d85a83c0f86f8000cf55d920e04a19db061911c7cabfc6ad6913c1d384c0ce1959d714b5fa38b2f3b621abe880f693f771ad201af621c9cee064431261c8a472d750df6bc20436955256fc80a6d040f0d4db4ba0b528be8a4aa3066972b5951f4dcf33a35237d0353094f45c7825e24d1319d5731b5a618af6b45f1663b80d3b55e00768c406bfa08f36346d53ea5afd807737c64f865f2d1464737e86ac47fafe722c474b6c8f2745b5e804d9523f9fbbd37aaa75c9df873274795c0a4b3c923ee447fed58e937bc4f566f62e1a9646119469ef46168406bc3cd69905b86ca11fcc043daec3b6c29f7a411982cfc092cae72561324f5742bb929a5197c5796f531da312973dba55ec197126bcaab76a489bb965c5877739285c0ee43e0a6b71a62b6815b8da3c3411ab7d3cee4e523377173e2bd9b24e2eae4eea25cf7e0ec58a355892f182450df4ac4be014d739e0b9c77cee3fe3c54469fe156fcf5273a3fd4bbd57f111ab168b64220a8b35f822a4d23d5582ee7a81cd5fa49ab3e0e7a9b02d0916ce725ffd90270e12eb947e8be83d1a32d1ddfe935f241fcfd119e46578cb065e5c3eb823ad925f242c5d7fab28d2ec795d2f465706bc5d58dabc7a9211f3bd64133ccb6931d276611d7881669d892bf786bd4b355e7067c4dbef75d012dcba1224b3456c4b293af8b1c60b61aa987addb8662c53ff9ecb0d5946f888c52f36baf9b62d60bc8d06426a314aad5a0ff86a4362a91c2512a1df9c3beed9bc7f228ecd83d7b6871cde06af6ba90faf2af7f8e23b7c59ca5d2684257461249dd754a3b720610d2b941e00b15412a4635609c8693fa73523df5b8f9b927dc64d0e3c18591823e08ee729280d94f5073fae4c201eca84dc2d8c1bb29aedfaf988cf21cf88518b6fa5e7ee59dbc7f9f038e68f5ec5e387ff7a3d10b67c9e6ef15706f7ec95b9883906ffe9affd42f95647c69795110f76d516a0c5ae589bdb2f784b1d774e3e2d9d3104bb52c8a3081aaed4070a8eaece6e72c33eeafc32c71bf67fc6c9dd2b25de4c88ac06a00681fa1c97752aeb293d783119950e4b1330f70dd717c971e62e371235bb95768faa75c7149368635beb05ba18f0e6707f47b49ec10cdf384e805b8ebbb385556d8d040c3c896be608fc399b671a99f410c21803529df07e88a86be28b7abc0bb50f97fcc019d3f9c0156f83b56c21219f19dbf7368d383eaa9b317aad83d0f6a136bde2e55482991cec54c632baff425449bdd4f9c5ac31234a033060191eceeee479530590546bc5a324aaef27b4c92fc151bf98fd5d52279b1bd3e06b8af7a552dbda671e114d1bce2008989dbcbff06d65cf2c998356784442cb44769dd01e58994febb9c6fde8a723825d7c716f7a50544fdcbea21d3c1f50cf95a657792f5f60fd07712a322ea956a69e702a91e5a619c2c8ffc3e277436500a2512642dbf72da55d185f68729f3ae9b25a2782eedbb61f3b752b21f35d967937db3abe70c9d03fa055c7c1d97becaa14911808b63dbaa67b2f5761e803c70fde2c303f1571e5276f9d8f67bf3be8d489119d8eb47b869987f4c5771f5e91ffcd0ee254839b16ff5f0d7865d75d498e2fa4280dd62f6bbf39858520e63de83919df873efa77c573c674724fb0bcc5892554920828036a3cef1e3c043fadd8d430aab88a7341bbc9e051382aae77fe16ea9efee69293dca3219653583171ff0ad19cf8e6cdb44650568cf944757bf6aac214700b3eabe0499c39c20e2016e4b87158dd3107e2223e5dc1b011068079e25e1ef0026201dd311ae771aeb3bb0f0e8d1a0db346adcd3a788666d30859e128edb27be5c3234df249265780e7ab3987ca8f2b807cdf5961546c3d386aa976c958a5bab62539ae030a403944b121cc848e509c75f0156a40f4054b5d61de9bb78a78402135162948bd3a8d76a9ded1e4af350604bcf8a4b3f881500490fe54c3fbc716042346ea08f81277588506f77457ea5e0550d3762b65b79863e807c19482e4d6b26c97f6c4e452634e8f83bf46f5fd3de4f99f618f580af36bc45c2a10b8b5861aebbea4fffeaaeae4cdd1f11faa2fd512821f8b00d9e6d8877a08340ccc84e45b108d61959af8f8c0235336e057616dc180ee45f006704c33b7f10f9fb330144f3efad0c70e5c09eedf4674f93666de773923de40a5ce8689e5551705211c725e9213ad1d533ddf977a2af65e4e2d0710ea51f1fc291df7c09501957039eb68027d96c3b39e18e4bbbb2806a5d3fd31e5730fc04ac52878b5fc328bd5f8e4bbc4320e5ca039e1ced3b5c6cd9850f78ee4e75f98fb74d78c7b9f96b35dcb8c48c407446fce9b1bb5cfea5c27ac141b5a9e4ea54cedf721f5428c70c897136c1045e336e9c95b37a4cdde0476106a61f854a594d718fefd03842f4ce0cad6f15dca71cbf4c4ed165a221c0ea9735357660932fd80dac94068610dd9d6be2cd230f3745e45827892273e9036af37085749b63ac9aaa5c204f0a343c8cbacc9fff009925463332d4c60bc4e342b8742a1905b6f4f6e8ba5eaaa21d71579c93236041adf631921e0eacba3660d75a3b24696417df6375a798b6f61c679638aecddd5abbf18b19c1a57e25b876da82f9e2f273078f55ed069da59c775b40efa6f92e707../../share/grub2/x86_64-efi/grub.efi../../grub2/x86_64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.06-150500.29.31.1.src.rpmgrub2-efigrub2-x86_64-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.1efiDEPRECATEDgrub.efiefix86_64grub.dergrub.efix86_64-efiacpi.modadler32.modaffs.modafs.modafsplitter.modahci.modall_video.modaout.modappended_signature_test.modappendedsig.modappleldr.modarchelp.modasn1.modat_keyboard.modata.modbacktrace.modbfs.modbitmap.modbitmap_scale.modblocklist.modboot.modbsd.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modcbls.modcbmemc.modcbtable.modcbtime.modchain.modcmdline.modcmdline_cat_test.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcpuid.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcs5536.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskfilter.moddiv.moddiv_test.moddm_nv.modecho.modefi_gop.modefi_uga.modefifwsetup.modefinet.modehci.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfile.modfixvideo.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-tpm.efigrub.efigzio.modhalt.modhashsum.modhdparm.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiorw.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeylayouts.modkeystatus.modldm.modlegacy_password_test.modlegacycfg.modlinux.modlinux16.modlinuxefi.modloadbios.modloadenv.modloopback.modls.modlsacpi.modlsefi.modlsefimmap.modlsefisystab.modlsmmap.modlspci.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.shmorse.modmpi.modmsdospart.modmul_test.modmultiboot.modmultiboot2.modnativedisk.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.mododc.modoffsetio.modohci.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpata.modpbkdf2.modpbkdf2_test.modpcidump.modpgp.modpkcs1_v15.modplay.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modraid5rec.modraid6rec.modrandom.modrdmsr.modread.modreboot.modregexp.modreiserfs.modrelocator.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modserial.modsetjmp.modsetjmp_test.modsetpci.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modspkmodem.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtpm.modtpm2.modtr.modtrig.modtrue.modudf.modufs1.modufs1_be.modufs2.moduhci.modusb.modusb_keyboard.modusbms.modusbserial_common.modusbserial_ftdi.modusbserial_pl2303.modusbserial_usbdebug.modusbtest.modvideo.lstvideo.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modwrmsr.modxfs.modxnu.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/lib64//usr/lib64/efi//usr/share//usr/share/efi//usr/share/efi/x86_64//usr/share/grub2//usr/share/grub2/x86_64-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_Updatedrpmxz5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), strippedemptyELF 64-bit LSB relocatable, x86-64, 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-899aa10368f2b3e574ddd253cbd1caf366076bc34d803eb55b42be02efea0e84a?7zXZ !t/]"k%qeC !AKI`>Gbj$r58lgd1(5y)Fٝc ðrܜ25'L1D{ǖm[)K~Z., =ރ9w`{#P!MN9s-Z;5jW?=|> av5- $ޫ$m#i]㒴c޳x„_m۳UuKl'B`,ise;+})#l?12߲G9}˙DUY)fzpɎ; toqsbB8c=WFRc=Gt|lh*SEkzv1==Q~UJ}8<~R&NB85O,JdbX\LK[Y>(-Or vglHտ"C >0BWȕ/cjk`6 Q,% #y^mN._3'B< Wh_)eJYݪC=o$:qsֳ :+n-'qL@l*<%sMSgn!p 9a400Z'<[ޟųjvxmwKع3vCRެ3)(vw_ˍQ쾬;/9΋ @~gw oPotoo޶n=\fL?p̈́9=1> "P{K_ ډבBf)nT#ځI x{`l ͢'|Bgsyr2.WLπDvVNC{RWu<ĶAdAt)UCH i, @VȦe𼓓y4vՠ+KIJH Mĺi-\fSD af3#$aŦ&̈́eJM@WK7Bq7}]d䒻gEϕqޓ#eWtVzv7c۔IYTmbIC?c9FR{\ӄv^ ,R7KhIb"t +jUƯ ~40pi4(`fz;`1HV*k9jN(BLdhQ5=}vaK~_#G]bt>kl?Kh@j)9󏓒lm詷e^%sE.k+RBEm]@U%@T6o`QGZˁh`C8&MfeF׃AIԁ(ٝtN:ʥӈ̈ww>nVi/;|n@jWbK* hYg%+ɻLixkź % JbCkNp=WB'o(pc@Uje^#$-:ozg9ia8<=W@^U`j5[VKt\DgYJ]L Ծ܋rUlRGrsԕM Y*Dے#L kp) ^3ҫ6˥ swvyLq糌Vª `'wP'c! wB5npmwy,ڇ6~oaY0ˠpjv+n]!Iإ.oEC3d ady}Kl;:pjX҈\)u ig@ފƄS__D]i4;еli޾ʀv<hry lu|'DVtP㕰BdzM5`APQK̖ӍPY[0r|j>%j͌FG;_ 3Bdg^䍿/X J^'G+BIN/Tp0+-t07}Yw(x?NV^\F \B U,m^[#w:c+Iᑠ[7nuW0ܱdV;Xd(͙ hv\~&mnzkAaj a2ih@ZQ4~: /'[TchnKЄL3y*}zƛ.Mqʉ[ʾLMLHe> q]Iskʾ l80\IԸ_i 48a ZR#* Y_E'YmCZ3 e_B3>R}4~c12At2(&|K8PDv9B‰(B52'Ȳ).G2ҫLDgQ \,*&:N1snMV;/@h\'`zS!f.F3ȷ*ȕRp7ЖNm휡I/rZ2j#pu) $pgtpTm\{,r']bum_" \"#/٤Rw;  O\ni PPHxD!uZRT{s?]\赐$A!r} 0rCxJ\k,*b2Anoi&  ;|V~(sFJ$>u%AêRqA0v.Ogx$,haG5MjwQq Xcdzgmf=q\e2,m غ88GfKӚ!o;*[Jʆm{4-wJI9`xVcl-9}':dU{,y2GP.}iյJ'}! q<|ݴIzYd6%B@'KʃùQd_ʊl&%e?s uW)}gl3~}pk@fK&-Me›O0YeG<^īYdN0OA^-O{j8 !6s,'lS6cTOf?U` 5_@E{oZ6Iv[hf}V:M/f.x?r0hjB浈p\bw+ኄpB̉KITBI2s\ L޽oH)hn )a5>,B^zBY-vѫnDl8D|vf6.` .dxl@2 h]~bP -n b9Bz B)4Ϳ< eScn/H1cJ(76>[mEԡQ8DQ%>Qiű=LBndmܼ}p:ʿɢzHwCLAE$KL8o_%9cUsLp"TxR>ョ40 }v2M\#gcy;;2-/nν$Z-1Ix'D+%.τ;!,{@bQ&4rp@o[;&^2?À{#V^qZz0BqҞ]~ CYׇLRpR e"I< 6[]\#(䒨SsG]0d8!1֫:_M5D`I{Fb# o]6$N\.=3B2aqNϩbkPX\TXh m|^)0:N-nF׵id d7c@}JbutK0FpUpuQGYaTvqUMA.oOԂ76K1(T d?AFt]-YjgYG 4_"Qs՗BߊU4Ĩ7 B^sdg#{#01)눼uLyg(ACN%-7҈TXcB,R)垑ݾ$\Ru,ifQٻjVrp .GwjiJBUzfs|'Zx欭U&P|7*rNOtbU$ zKON)~Ќ[X{~1f/ͮ{V`0"'$4g=آoEgY;+k5m;1#Å .`gq˽-W2Y\Ͽ. 2Tv Uֶr]Z=})3)7|4}gᑓ,EUThQFR\_e 1%uxmQ;`A/CPdϨ tu[zHL@Ffݧ`,p6ZkR,b[(|ͫf\[u V 6bׁa i|+ %-\`M(p /ސUV1X4G 27pKvWU6Nۜ֐3A3o%jqtnRT)𠞌b9u]cEп]]{?ZGzƊN.P~1Yx*Ixwl6cP/j:u9눦wˮ*#k-@Nq'O&;Só(Sc,-gTqP9q}oKN /:e@V9VڮhN*Y%]Y7mhH=й!o%Y"|^_˃ 5,Q̤i:6Ga]Q(F622]3bL$JaԢXԥ$_Gl]bi,)nzKFYꋛ*+-f+̸H.6֥7]ǖAWr}Ru[d%dw.sz`UxB#c:hTmL!q`?eL,$4vA%D)% <=D\*3H͂8TiMp׶㽂 $p=}wГSk7G!x>?Gz_ۺ 8Gh '*Aբx?KaϤE&sZ`RDv8#M-5vј@T IғAT_Fݤ%W,@NsvdqazGf L\[knM2@% mCY=.GFd+ 4X|tѨ7~<6Aaf͛QTCw{Twsc |.{b)|c zzG]:z=]v)%̈́Un|ۤutuG'jԋ(0\feB, }G7Py‘fhuU$SD>"X{9@/:q1omps5K͊3emZ ,AgJMJ?,P=ynxP%cgfɁs׈%'Q9nXvY2S@+r=eH.?Dcbې^D4^iۇ85V[8q':*!~8& ( u=J r.*oZlŇgD *'ae0#w{gdDetHC xs5[ZDn+lnY&Öڋn/~y(ȩA^Ja;VBn,n HXhs 0ȹP)n5Ɉ/|ոL`3-΃Qz@kz742 iyw.oDnϬn@r^z AA-^H2Qe*mȀJYJ_dԝ|㒨BR!&!#h%)М5 E}(qcJ c&/B両da >v[?4B>wFoV ٦dK BD-^>Ƴv&/nm>6f.CEiyԚƽڣ)Dž; M]纀 Lv4x-5¼/5\t}֩\aK/03k薽Cbo:o*UӁ\[23ġ6OZ'U,L/LgRnm(m%rJY16JSun2 W,8E)\r@Y`Ȉ VN#̲&4t'ߵ#gśuc[V>Ey<x{uvR9%=ܯj![FcAģH,̓NR*JՒŵ#xFm_{L:Grc,XC ]]Z;S0DתKzqIt\^bcJsb& ;ÒGqmRH$X?kɘ 1tGו!q{:m>z#V{6'!}2ώ>qt-R>85'uG3 4F9FFUidA?Xه<&SU:4CnV[/^FդIޯNbY!;n\E9IA4);H`T>e?̆u2wY#j3T c6Nޙ&Ϲ%l_#8Fֺ}))n̓r^.,P3|`ϊs>2G!E8 e<g>8{\{TsY+^jZ(8?jr&RЊc44b-f.?`PIїۓ1D( JQ4X:<)\s/'$0P֬ =rWkқD1ۤSe\ധ`R> 7MqziGE>,jx&n=-LT2Vӈt-4Joq[_,m݊MF6;jʋMH˺,Ğˍrk):ӿ`!;z!) L8AlWljT/ _Яzx.Mi_H+V)9M8$9+☬24I"hp_ud (;k@5|HQ2t;-=$ER &n’1TیGÞj&I!C׶%w96Z)1́WE'~&GdY$<a]v  8펚tkO=!,$f~~@5)JtK"hol}fDb'Xe_ Sρ`v $5G}U\ lY#x|9:.6q+m1y%ʹv{L[e LjWHI}9Ѿ|5]poMo^;EN(R]`Qi%b 35A"vvH5Qg>,/N;h~uvᖁ.K3bNx 0ngq,HJ6vBL\" HgB 24>+. ZzڠQD #_ܙ6}G=DU{תѕWc@  9hK9`MX@'^aYg'8@ E{ wҮxk 6 tFuq`?]-<=~tcB ` zE$1Ty'2Nr\0nzRiLqL]qr{s,0C@Ԣ\rp[sKZq)n3/ڂ޶o}07$Omuh%4;-v6)DIsl#sxIr2!(-MQ'TAJL rۓyg8`Ki]k$щoscwZ}P̘,! љ/TjH],a`e}I$6.rxW;?*!#ӪU^zS=()C.ˠl xa"VRL<,M\-RD 黶c NC5'YڢJkݸhܭ8vʫq0 ۙD\-OdՋndpWR7xtU2A#OG~ uh!c ̀,{~ug9ɵ2QS^}[{ɓ.}WAAE^KPrُ9> +ӞԲbNs;uRDuQl]!JbZ 8lظF|]F!D2E$n(WE)5 >ucU2  0>ݒq]L=yɥ\zp$7zxjfX>OgιئFZ~/N1ަ. :<}1ݟh_Xv }GE4rK4ɓ5tQF"@1ỆT(1wЁrBQiWrnl.J'?T]d,1tJNG7dM4BE} PԳ'6̗??ʤ}nXIl%gF!W_>&36؍)\BGSosm6i.Mg?n:SEIMd^?#zNjf#Tq]d-3]T nB]'6i+`N[u]Ü0Z A2}tiU3|Ոf^za|+]u,NjE;++NԂSuL>>+E$!Z^O.`6ˉo&fJٮݮ.e\>126fsjDe bYu<ܦZAe;XfTV kGܸS_(|VD ,l}*T\1q;]"HSF5Ե1r KxLQ0ѰF'1}67y{'Ncbh*MQ}Fs Ѽx37/ŜQ F9ӣo'Jm-ST)\;[geFfuaϣ`ҍMĔ?[Sq\t:GD _*1XhW8kJV\*VC Y.$W(ex u"beDNmi#tİ/>;9%x/؟K`ZQ3p_va<;֣;.&!nmNwhf*S3UIeoDfCcufQ&ٹw;i{Hkݎk~.m X 0C8 odՁ+ϭ<뉢h!ucpPC/GLU]K=~BiW((F-4B9GƽhY:ϻ辋``lߝpl{pQ^&GdrJTQQM!|c T(ZcU[pӥПLMo1+B#IDuw]Q9VF5}^?DXyAK,Iᩚog[U@^S.[{ 0v%etxP,3S|$[A;27@hK_ a?H$VԊtl<'ruuʌI_KX7SdTD y._ "?rB^ErlGuxsii)CQ4axUyLVmh|p] T{(Ն؅QB+'Hٕ]_iuC'jKm`䰑(DPsڑ.>ou>C͘r#]o<[ +6N\wGvF+)j~ l m@KT2qqU`q.-34J|y-dCuM~rGg @o,S6 {XyMm+)7D]A8A:(8稹8.M9mVNRZ|(qR!9WTPK(:˗JʯFp*ftDr؜-Lr>ѱaǓHFWp#^ ϥ2Qoƪ,4#}Sau൤u"2稘l~DIA;y|$߁8tuʴDr L«ruJĄ*i Pbp**?z`}艆b*3"A¸$ $VJ L;v"AM͘ [z{-L'q:yމ%$W֫ZmOPX7y.*ՋicN$M^@M18{|};[6!82X1`3n=V *X-_J$sCPڒbh*|!9`OH2`OC-0G`{*jp V 4gyB/IxpU)bJVIp%4yEoz T84O7O~r'N8 nP&NKtÁ9/fh1QqCùQLSnR9%!D Y|r3hh~1<`\xIyA9s:ω|Cv{}}>v]#s^7!O7w*P{kW~0\zڍ{*愲aݥn,Xy]җRcVLCA_-G+f{y]m xcOn|*T /"+ H\AymIAor;HX]ļ@ȼ{ DkȎS](&oW/P;FUОlu1-˻?5 BlЊLpH ?U3׋@#jYqEAhsiRݔ߭Fg[!Z9EP|=Q?^4pU~^74vh,|u%!NFɬ8{>|'[+:(s/z o2*@CȨ3zdb. d8@:ėBO lDLU[2٪fՂ. IFD,]ѠpPePՀ:y ēşbε-ӁֽtFʊ0~ Kd\Joy [D75r+uf/%("l_=oN(xY<̈Bˀ)e:^L&$صy(`aETj )v<Ϭ; K2U X4@OɿXooNl"-!N 0R]V}#429N8 Id.!HUgUEjɹugոiŏ{b VgP"N"/o]탵 h~FIBqVw;"G ؍Ů2.S줵?Jjc iB>IQPr# i &ǻMhgɵûeQ[^^Vv&lWWuаA0o+@U,6@^J( ĀM-'nU=7$//2TuASpU%u]u*4n4!s̲SG+VC<\ux̆<YVG"枇^)ZV,Q,'F6yiuR6|)KX 2\~<,k*a (C0f8'%1:C;<;t%P_>_%6KgJH CWnR:$F $T:XsFG| $-a+Bƶ0.p5 ]x DSz]\$n`8 {[|j!AZ}a<5;"VmUe-WhmB)K5߳Ztb7/Mf_ V;?4ϑM4گNDU}a$,N2Hm7 i` n/'%: D50{9>\tnL:`3s3ժG 7@P-[)~7Bf9`v`=8 pg`|)ߦIYӋi.!;XwCV#I~:RU+ 0;Q*:['"p{V#v/𗣪e7v1`rc& کB/C?M|BeUCu`G$w͌D#oQkv\65?-ҔKZqh8F\ X3ԷcDx=C81 &RB:3=pЁl K䌕sEȐP JT4Oi`EcuDtli8 k4SEf.62|&;2՜߸Ϣ@ۈUXqD&`3B&(H裗@p(&ʾ3:~A|I"f5P?6P+*Գf@\RZ6#${M@>DfWx[PܰP*%@;zڦXr/G*%VX7:@tdòBv/[~R9؀!K[vq.l"*Kw s[voܱq W_=ִ`gn%g0}%8{ht߽C-!.:ܜ"r\+ˮ?6פōhz>X-"X=X2/( 5TD]zNfIDa-bf@>;շڃkWpövM:Aj:cRb]_'2qqKxh'hȒ#EepFK.Q紉kA8 7(PO}.jSUMURUpUXhu,ᐵkQ^RZ8+;bholWy`z#zD&tYT"1ώxc+jXrl@mUMW'sJ~ѱVh H,ʕZ?=V0nWn'.Hi.'cJ*1~]}>62{# Ğ6:Mckԍun&q{~.=X@=lIR,$w$$ ;%+۬cV5a%) F7σ_X {xPELSj+bzQhtt3GEy;[QJ]׽ZDot! #S֮*Qy?eGm8p+߄:].w||K+<#/Qce辽։+i˸4 ,J>8Qܨ*A83X$r,;S\づ"Ȅd$L-nȌ8b A[Gu>?5e 6 @ @|ʪ 7^EM#L IQ뾊}F&KDbt}RCI]$Y +ɇ*{jqEB^?Vhd,RvPW+ rUOx 6#T@$F6HRun"FM=ǒے^5t (Xᗁy?Cd|7ƵhW IygB/|΄o=]pB71RA/;n|Ëۿ\/ՙxR?Α~0f괈ߑozz"TdkfW E^/QO+'w[M]T%<>n0?_9a M_ &6RbW!~s mmFȇ^$~#ড:[k1*Ico}5B5goAA%<*C]UL _ۦH@͉EEKwwG!<싍ǘ\esE";*GldECy[ɹz j~o7* |-^KNn,U;Hx@ss&{ ^s6Wf@}WL6HRvQ ãi"[YpB2~Gb"Dɽ /`div 'AhҺ f>uBP}\'T%;)!HڋÅx]8=( dz3Wh&\Y}C;qQ6:e76I5}-aqIiUqn rXgv騿ޱ9ȧic\j@ jK .@7rD RU-)=ga ~ݶQHBoz+hhUrm&%kir6^ }KR)`6hrz IF>X3 UUܲ۽PsY~*s}g=5GTBCQab7`WĬCm^~[V{5]jvځd.Plihe,R8sk‘AN,gcD4V1x#dTAR[URMr݆mZ}>ͼ><bRseҷ҆ [L_QTu%(9ClkMup]v]&Gfk]hl-Y1YAfQA ffӢȥџDXtQZLW`_qQk>ct|)]{jڴiIRڧ9~"b9vZ:7Kv! [%n o %{f{4{ C0h\PݺsKkix^99р79+[޴NLgO^89_[qp )0zP [#ҹwi(J ;k|,kXkw*Ʋ9|(1~0^>K,t\+I,}Dn@iֻ* yJ`BoքQ9*/h IpfwmcNM6(S״:mng^K(MN;2ZA0C-w+2'ΩڴPi=QԹ*F&<-JR(_G?K#0IN/^xV`R7ʻRNj+unl b#n5K~ @C'@U fqNK;qa cmZrrR:.;tMS so4xQٴqL~yMɫŕ}uaSUۅ͡)M|88(% bѝا@#QU/}6ͧH.6 kQ`^GYwG^tH50Xn:@M_+dUSXUkG+cHF͟xY_Ggft꽅 7.zxnF_ бgyk@} 3]PwG`X~(=8I,%[Ï)SʷH88JU8:قɱ'qƋװW@@xxժ'\̱ ^o+ݼX:)\uL{eQ!3>٪0n]Rno愛p+v\cv9gYZ&?e%@QS;εy󴣣֯ysSl-ЂpN۬:1Z M\7v36)ZL&i9FqI." O?%~&,.Xbђ+%JG @-o{tsYVetCl~T&+/(?pbc Av>4zO,tcl|V\H+fpp5HDtD񘸒s *ؤcK]Oz6^]hK6lvG]ͶvҗQv֚v'NK‘Ĥ26EoӍ)3"n Y--[cсone\uHD2U lOˊ.#\s񻸟A$|zh*@ۛDPWp`,AI#4N9lopT\tW fWG*X^*~"o5d7C:nFzMA (q. ;O֨d$m yJՏsAʣ `dB;ؤy`bVe }_u"+hrنY0E W@ΦGP$v43xO+7CirA8g[Q'a[֖smȖbA< kz+P>㣉kyqC+.O^K|^a %3ɴ7#YD`lV=~j?>W"g"[@~Vb:1U60 Nx =n?2GjȄ,*NwI ^Qe1,0y+-.cj┐^؀Q--BL15Ž]U:^e761rݛZQCO* V\zYQ CQJy*]u<`y( qkx@ Aӳ zx/^ »plk:H̥*XE8Dye ŽjB};і%4^nK Jה25H#7dl&  %md12 ~%LzLRfWP,p;$vUYTa)g.^(۞W Jd=eڇx#IEE&YpId00Eźt{D2%M ٳ`k (K:~drjT~ug<%\\tD!9}[`5b$hgc$yy_0Cyj ?7^YdwqO6qT_$9S3x#J)F$@L47Զ\P^M0 BmnYNmPV x pbFbvFƗ R4P/15H-w' NV6FQ&S?xԹv s\x:$J!{U; V(: +Q?b*Y(B$3\ $ڴ &apᆛgEp3( b9g,RɯRckE;)dD7Rڑg /94.(s\!DZ/1zI G/̄Jݍ Y, N+SB#x_kjD4U&`HKKoʽp~6hy" e0ЧTn_0:zF"ɬm/"KLBReJw{ı=uJk8LS-HbqgFݽ`C[zS kQԡ6WjLuvۍj@y:o7Q7 H6Qj\S\9\G1ʭ7~S}}~nm YM5BZգK_)(W jʥk<6=6\-j?=@;glb1hK&[VPW\o9IudDQfQ(L?Ud "/c]!q$9@Z_AتR2U_rCI<.";JFnGzD: `<ž*0B)k>஼mW2pc/fތ\}@x0[Lw dVo{Sj9ݖM)\pGo̡+$N5 !91@" r,r~5_ ba%rL]y%NX8tmnkLvhdzb: ME\PIU6 )Yg0YefWH?)Lbd8jTliS"¹SUxl~8z ӊw{g n&hEnlr%~_DcFO&l}1v UDLPڈGţn ; ˳>ĕ3@]n06ƕΝBRM,.wOV=(Jܺ3rP Z^'[VeC8ߜv[ XJs{:EO:4MIjQgH/la Ts49/NЍK/Im0 w~KLddݧyyZQEb9֯ްU  .fۻ7oP *)vͼBCDUB<ܛa򯼚1D ~;6EwsaLޣD#a;\x* 嫎%Ygh[݀1=<>5'?Gk~ZJ@@DϪIhw!â=~aiSeZX0'buѷ L|Qd21X]Ū,O[|IlCq)!ׁxP /5Eb>7!' `b'8c<$'3Pʘ<!6d}miF`m[**FD}f e#|Uu|㍈Gr!FxVZ @Dp)ZL SBΘy,~3AO0)y 5;4grݲ?DxjEIRw*:%Y=?Pt U ҂Vjm]y¥MYNZ:e:V)NW-]ݒCjdeƎ~ tp6` ,a巻tfT?IK,VJ`OYU:7fJ(|un qxpNA˜vҊe̠ds(' C狠?: Rk}.ң&k#g) >,k CU7vqp%oMpvSK.RFv_iy$YrQY%ӬA>.gjJmfˢjP=u Xc v>Wrc4W?|ա-@e?+ }954hv!>Qbs:2^fd#s7iA7\BSpX@3Lyp)x /lX`e*szhPt%yb1D ~~} k܇"_uQoB=\ OTt WsᮡbJ쩧 YO:hodrcecWPY?HgܸkNt++o'aRոLx B$&Lk=eEiawJI¥n e .xJjy#a&ܩħam'/L[yOuLۤpg- La rS턀hj㌭"D*~=_@3Z3mFne{#2DڲwF1>Ur:ڊ$~R [r-OHYÉ*PIP(2cNPT5  _F><wt Ek:awjwM5wt_ @m9:)uUZ]P& aQ~LـZ5~`yxnD9Jݚ!ŠzhrAPI/ߠOQ#j;x"\@.fRyG奲{/U&t^X$y\ttOL_Pdg!B-a \Y𶹘Vp)9SoG0z5]IuFY2|Vf95<Lh4 {gՒ/cnV0! e;H(-evM@ZO<OYgN ljÉ_ r|ٔ9olZ7΍iIM1BiߢRI*aҀ!!t ֎n~C{SY:zzwqfev8~<:my;G#f6)u;[6nw?+1*8I>!8Դc?i\5hcT{4 xBO#?XIޘ[4{f%mI*CSA:I~w lIZBTvpm`4[.К[s`W p\irRy-h>q.GVY_!$XðyF攧ķ&UK6K"=z.sMqJ:䴸KWOfO'+rhqքj:T%{}"@_m/uSZLoX_^uE;^9Rnb~hA.ӾrR. Qy|  O;,q.C) t(jooRPEou8&(;#3LRjpzŝ?seX& %'>BMxNu7t I KhB"pBwfMZ+R dV{&KlP&8p lU xR~B^m$`)7~6pFfu NYL9|@`DOK2>udEcms\T%s3Pp"TG亭$Z~Õޕv Pjno Q |2ZSb BS.f4]l~a+ 7Ι.LiMܰoc PB( P 2odkVOϖ*`mՎY 7` v)BBޯWx9U[/N>온H5n;œj=C¿- DtiׁuM $5f7ۓ=Pe}aqv #xsPG :߆S$&FBݭk |,'YHB28XTjW~J]`X쫋rb&ᚮ jϽK 6 Q4Ot WkDW^$۳=X0Fɟsgt# W1 _j\A6эgD؆92+ca rjLH=h[.`JlyZ @XS\ÖkjŐc2+Si.*Hdtb1E#݁f3{ݎ>mIߠ~_J/[{ o{/#Dv(ѽGglzudЕuܾPx˖\ݥ>Zci]Q~r5Dj iY dڅ]mޕ>kjJӞ B|,iXEp$Zڬ.C!ʛSݗw0\AFW|9r ]6 ^SuW5@f\<$o%y[Jrqn!3g\uXAص[6{Bu2šSΊ= DIAf9*22ÝGz(\הDH!)mrrʞ͊ fTW$ )oyeq|UZhŬ&v_RBq6ަsXQSGjۆ!ƁN'h?xH*CG݀ IcOcJ_{B))@7# Li6WnQ3ggĊrxQ:,II~4a|3f'5cgat|24w;;:*krց/)ga[_%I0j>pE ž3 \{[]x B!B c/N{/?A1XՁd.ƓrG}V(>G%R-Ǵ0yjmGogaY {<3xJ "a|A(hvb.aUJ*kGkթӝj u4%mDr,L /vA8䳫n(GV/Nj;qAPD/7:X<1D!r5# Ci; 9+)O5K1_5ziHFVn"D4X6DpU:jޣ,A kOq 9)]llN[‹Ԫ(r?*[jI38S|7KIrRӬfa߁,]-ۼ/v9(0B@BCB0YwwFkUIgmeב-7_JK.,x ,zN MW-,c)~93r(]4\V(/xGGs"߹+ T Ts .|շ^2-*(uz>j@`eDa1vUOރG0 Lnn5nqH]ޏQre>M-;`k%[ڟ0v]!D^l\RRN\H% ĿT~0K>Ֆ] ~xg7 1)@bH78[qM:s["M'h@KSoQOtE )Mw2h`e8cU.h7j g;rAb= A _2uޢ8ng?QF -RcWeVp%WSE3$K?[D>\l$K 0[pcNFᏲ|,;S̗GyyjRJi!btJFmg})ghEp5yP#\ D^ÏЉMO,Rg!*A1B+Ф^ ̱ZO)5y|eS>9#lq{TŤ#ľ#)-ț9W >TsuI @~KK >[vJ6r-HiD /[̋m7]s=?EbQRfulҪ`FmGc ?wTJe3鎷k7ѵΡyNi?>z^1j\5 \',tdsYx7/kk͑md1`bY=t&=MA^M0(0AYDkro؝hu9?pzBjR;=͡\ɏ+y(m[=#?;kz: 0g<iix2mBj Gym<%e9O(sD4~"&b=!8#/] hV9_T1)#dk#4=ox.TiaЬK)mifm~m'ŷ/WT}Cw3edkf"p =Ƅ!ٝKӶ,P|Ÿ!]E⃹F"A.%B0ԥ"5Vh UEiV{\~P1I|#W_f>hM `ˋpf lT[TlU/Y׻LZK>d=0ǘU&kE[ۯÕ̏O?J@ŝ\yTLj&+o|9 xdIkJG}Gе hX.Gszjbdt(K@pYc`wCг֏]}!Ir 784}0Ö{gYg y\uZ4&fC>Z~ Ԃԫ+?ן`qz&z v[$U2}Py-.%Cժ7%\|e[]='dzXK`ՁqN]M3R#!=ehɱ0!1r|}p.:\ui Yav瑥|v8mxTA*FxhdȒ7+"ٰ&ꕳ1D mgB}og5fEf8 2 9 կgrJKٙ(PlTڔW̏㑼$@i=ՍPPOxw] lqeS4aIj̬TpEC֝)S˙KVY;0ŨtCC8mR?=}|l~YqJ>&`1a=Rt0OHWbVY0D9ڧF2q?1q(N3q#mr.):[옃d,W+[8W FNYFy7kR ds^\3>R&Qu쇁[f"uo^R|ZVc4ɼ|3P.@]Y^ȮתZxN2읻_éޒT7xEg_(}|4OpD-R c`"=bt,0+3F:\PF.Cʂ ݮ 򘧙έw4JQU&W]ke~SU&ydS9Uj3eIaLoblԍ띘O{÷Nn.2]ü)4=/͞Q4Do@0:F[ތm&vUkBDh=2v?XXsYTb@n <[v= C+! 6d!c*ܗmMnP{ buu(&}gYН`VRnWqpix[o14H;W8"6R.]gJFQ!SM Ww^`aB85kÉ#zW\ɳLTYV(¦dRTPjߖUu*, w$pJz s"m_[+>-U:}($&PsmW1vXaTͥ V .AݣMD7&|[4e^m˓5@lM8=h /Ӻ}g7`6ɀ+esXfen's7o29_4ev|-W,9J\4*N\* رYwy< +v >ThlS?QԺTP7tR`Xa?0;Ё7טg!&nk*疨wU[3Lr:Ln&^UC0tVdIpi[ryY(J shk|:0M,hqr@a+ YtRneRbC lB e=es{ TzOS sz_geu/[8@ktD%)p ڈwlA+ҁ:DK8#jMҔS8v=wi=!݋,z̶ܳ FT tL(QXx9hxvsb~GQ Wh^>[)y`&pl=l?:I6^3 ^3њ 9Կvem_y2Fv iQ\2LY%ph͢Nh@h^郢=K)ۏ q<`$U B+!3A\"OP~NMF~C 3fmnw NbbR6Qz[U}tсlCPo%GpkM*U^meQAt.W:HP!)HhRRn4g/I,3jB+6*1$OߜnP!g c>f=C"qI_gs*b|!N!4م4IOJȄ0P.H G=CD_+t(˛ zWlgúL}@>Wju%,е4ǐ,9[X]D O1)g7]0!R5Ԉ$AqqO@9W.Oj~\맘JlQxĪTYNG7Ux `s)R2q%ŏ5|,Uc{n7Q=)!ۖ ~K=lC^ׅ޲eg0 zTbd#vT9;hp&0$r|U63<J31ÜTvKvD;Jx|Bʮ끎BGK~B ?< ;@Lؓ2.oֶNxE6?:'ZgL)җY9E_e1*LGW?o B֡ƨdGWZ!5|0} 6E'n.`We*w^G[J;-}p,m1JF)+QV>gDrnD8vH`FcWs}k@MJODN 03N*P{eQΨ-y?#b_m(QxF$qQblrWU%SGl9Uw| L=ȋK<ӘSkGy, M8qqLJ۬&[$^XZjg5׊}DhqQ7EfeE!>^"Q XB[@Ma3%o(CPdq>|-$l.t7Mo}ԎլOˉaC&?[Y?0, hS\;&}ZwX`wi Pk{'O%u;9zba~pյ/i4n@لGM Yvi+%g`!Y eoZ947Q.JK⪢%eC|::2IN|F6wvP)Y7Ϥo&ަ^ډu@;YcSq'LD&ׇ:gc 7V?B}B^fk)OEM((1:PäAϡ]Kd_@$wg[QOjq3h9 -LDG)|$&W9mpP|rmv'BQi&E3?DxT6\`&]|OGW.G%cM[v5 E%PAp=!TA*Y3TdgB} Id+l(sgZ:]}ǥK`Ї+&׆>33۔W;tpGݟNbkxPAjX!Xܑ8K<2qʴyOZf,~3H M jH 麣H./˧qXo&1nzhemHPt7;x^ '_r{nB`ѫ__#&-RG7TMc/f>`ү'j5 2%>#C jK6, ^1'sҰ8O&beZN.kݾTn H@)t Yx8m |~e'g %Q]dWiGך'IMO6Lac=hڡ耶n%apv-ۮb⿉79ˮ5bn{L% pF8[(I;+Z&"C-RS OS rMV>cH7L7Mpu.EJRyøCKhޖ@$ZemX~gW@ReW$NK~ZZ̗%*nUʅ1c5[ڀuE.S+*j'F-e7 Df8_sOQnjaI yk$̅ȩYi0̂) _`O%QzEazt zygxT?ra5H<18وs>_L$$ڡJ-9&=j/u͗p+"bRGC uJ7w](x6xc~)8Xi CǼBվ03|6ӭ&ΆL`mb)2R0ud ȱCSεz3c G6 2HU˧joc ,b}K +|wL R %i mo+Un`Jr˜lFzJ eh* 4%k ${fS_Cg֕ 5QM750nr XRۉy2[jbWxJr]I7@ڍXnq+ՎzL\@A]po4쒌Kw.9A!/ a6+"eO\rdGґ^eKӓ%Z M@V^ձظ9LJjcAamr2;\5hޯqYJ">C] 4 K;8Go1Q dl>Y|~rvv4+E35WՀ]OTv5S!a}Hngg!=blKOEggU0?һ|i&pIpq`>&8scXsHt޿O띛oҿ飨 tm2KԀWU1Mo,W58XNɚL|Avdφf[keCS9 8!AO 8@msREH=9z cvJ+l'nҒo5 ћÿ# 隐R'=NM)?ay|ġ ,Jy85x`yBv'kO/E>=t@bO1/)zS9'jbSI 5Nݲs(\ ԯgA49롍?HՐy=:MJ,F _nS/ (}W%9b$VdPS[^#?eca%7[u},6q^9vʝ́3aʲ=nGBME ,.w8%qy_(2xv}x3*+<'қYjw^+.|T +=SgQ[]AAvC9 LsOV$-|^v,Fao/Piȁ$D͉U2| -.s Ie_(,U!dL)s|dBf:LIVZ+m4*S/kG{*g^&GƼٰQ8ilAkXxhVj LvZcyU,!̢2VyZb - M}\p#^ Gx<<= y6uzV/e?sf'|SBl[TSTlH6,$9RO>+?,2cwt7W>Cw0N| lփ2 |g&5{yDMhbVZ{k[QPKqr_q̂Ϸ& ق_FxE;;S4OE'e酰 at.F\ A>9"ʃxͶZ4ݵG'4"y:Ūg:ÏP0ΐ?tQΞ"AіL`:RhM#?iPh젅(*JTFA| J32i<-.@&SkRo~B;1/ݍfIDiNiw[ݓL6hK9ʽzӍS;0D^S{'4 q> "=ƒ ZlPJPtV|wIaMFV=bB4|5HD+tPn\#ek#79p9A)f1%!$:y=]G_pI=!sRH6R'-YJWsSjx\PiK+Wɏe0N޹r[f9idAeW HWyݮRhRzqX˼0G>)*"c@xRx)y08|L lygn\3ȩkhIU4}"amJHW "7!T~N"#ob; A\BGI$0HeH5d v+92!m*}VU>xs^=CKg8/Sa14fGXPr!x8tbE6ό9aEpT{bSkO7\8'#bw'I2vhSOd*3gpzi{S1pB/M<+!Kr,@.j!_]Y~ EҕD=<Re8;۷_V4Uh7Op5!q0'Z :Fp +~$@Ю {"]/x&xó? g] bǯ>hڊ$p?2vQ7%9IAr I9K toxZ54.:5/84[VGjzeL}rsCs)~?_)Л w|o: $ - HSzeSJrNvARvaBu2j)pMNxWH?Y{45DŽQW= 'jrFLlGˤC[= 4ۆ{ _*'Q DReE^m_IH]mpu2+Ju!>XacjDnz-#1>1RD )Kz| 6kyKYbSCR8{p#UP;__IUJRb"g0 ~\fnc5UO20sp\.AhZb^łŖk XiKyۉZChMO#)VOXAΪ2 aSӊɎ>;;-1Qؖgoյ_WwԒRjr 61h#h˨Ȓ ucvPFuɬddCq9ZuH߾^z)ea7(Bvg,BReQ}e3j xtK8􆴁L3=H}ZWÁl˙"OԦ稓9F+U->h^- @+$O~1DƗV8qJ&e]2:{$%FTq!"=WNi6n<Ȟp"r؃r "Yʂp/mSn~NO-)[N -JvBԉXYF^9]XyO"Y"@P" *`k4` ~]qV[^vμ5#QB$J!?+_Мu |4Yeְe{ǢH*Uwrw$(XZ=%( R4D95ᔍL ^kǚCRkc(38ʯ U3<| 8+ܥiJ!=J'$Kԯh.>8&N1Uq{S זi%LEb\x"Kys ֹWXDw9nU/戎-kLx+0YAsA]#}*>eY8m`'r5Xoiޜ@HTRh8 l %t#'-hF-X[z{c}Rz E't,G,y!mͣ79Ȇw.+5M 9Ѳ84ZUӧVŝmTóbtCd@ ]*ph2X.#I9i&775hҦ|b֓92: 9_j#th@_΢SSZUq'DS ~\L:υ{_'o)J/{y&] Zw\ru0`hwZr2AaGeCzM"i;^TO.kΩ+6!8P@]~81mkTx]0 a2grzGS~3 *ZQ]Sj']b}>geܩV̷n*Y1VBġ,")SWL#iϜ[s4 N)S>M㍢]!B:2- OD Zs9ôM)!Y@KK3;MR-2DӞZ~ $'G*DG99+trTT4l%_sEYʎ;fAFǃ"ݨ Ǥ3[B́2~ 8hO.a ۾ ʚUˋ$6ȋ'nTbtZs;O ǒͦ8_"m؉xЯHizDLr=U<0ϼY%3R'CF-J)*&2y]{ WvtH75=Z!F}<ޘ䯊Na1]| o!31˂W =Ih0_?=DTT:ƁDc0 Z=1ە?#+Z ||d$]Ѳ lHg:I""ю%5K FlgLQf6!uyx%3PH/@/:SU7T6YrJ~xb{5П ٴA#gA;$C5֮1E#VRJgDU@17Nm376G2>58Q lu PpČQ>FsՑ6,ɿUI U3BxJm)˜rR7E3 /'9ь)8ih mԸ`kA<#l[^~SBl 9e9E*zKx$0')>>@R» ]ЁR|ǿ9^^:YlaUα9x$O?RpV ,?U1@{?=1?c,k3~ET]`(6#5Or-Ǜj6Ab<+>w\%i&J;^d,Wj SRlG,b`qX;|$bĝ,5<֫{YAMpĶ[?~Q(o:vuG{PUUXU#X2,PqaĘ<&9 cNrW3> BB3ل2ϔ)!?$s,* Xl'r.3ג U C06l/q!~jAp`2f!< n*f>ʦ^-׉ ƣ^Ȉ"DL1YpX h_Ge\Gf#ArΌ_ 紪?r[;-zJw^Uk0)c_я!1#3V&bV p+:~]Mr.ᴞ.%}W8,E0) B9YOpTNέt{;[x;Kna/~9c.ƘvFm䟟k1|像rFWژ&lePx~bPbz|1DT}g:7d3!E{5("`Gas0@RQ 2+!MXKѕgr!R K'Ŝ1\D#QxTSQHInqC yTJRAwoByڦ$ \cuqeL 59<%y a]>G-'+U|Y.ќS2ّ%М6LQ.gdE2rt,kÝTtR͹QNo=(Juxj;W]}(#7^NA2vӚZ0f7W٭3M];Q5.ˤ28\з&(^Aj55SF~зa!!GCd+H q.:d IqO|`QJ8l$fY1ZyS(&ZXهt{\ f빘fz+ -L\ be'F_ Kҳm8YG /kѱ ͕~n{S/ qwbr!CR*P|kuU \mԴ{C|˙Vka O/5RYcszsunsO GrMwfjvIGUc LW\um@ܻ ICm"]ER`b`ru6GnA YETRcG9Cg]ML]IEeqcyqz9B! "iE{(ca ^s$DQv ^(&JqDN~ <Fm 1k}=/n;GU,Qv% W藒㔨,;*~^ƶ*'5=sVtüHc(;rt@CVK%n =<ZS؉o. ~0Z-a}Է UQW쎫D + Vt:HrCYszuo5:ǰPu<#\6Ij[&E(qwUP4RzVf2_[F:gf2БSP{G&ݜk!e]M'ج.pyc!G=Q;(|F{LoM\컕$O %ߎ~z<OwH@z$&/4לϑ/K=Enfe$*LXSq!oA =p3Iۭ-#Bv^k q<%:R8Ҷە wA@>n)3 Z6rMRі5&9̡LJa&У Wdӿ Z6V=tjdhk@^V-TucGS(pDCĊ>W=hA,<Y ">G N13K ó Zlxڠx֖5hZEU;$d׃\6ʞi7do@`k_ySqDkiۇS D-c1/"M]*֋/=VL_H⃉tF`WX1[ƔuNk`f{vK,*Ms^Yʻ(~Sm_?˩+Z #)Eic_W۲ t},\YVIu#O 05qmlRj5AF 3'YXgӽR ;GG\ #kAUP{^]!"oz(y@euUb~b@U;Zp~@(mYPQ ;O@yEˠ;,S6ΑCw<4y6Oe_}|?JbT99yDC/L#v:ֽӂTm.; c/vxf` y/ڭjuAHDUrfI0{B;JX@ܐWnW(x[' WuͿb' ZW BM^: o7*T6n$ <'ЌtX dtĺNL J kY Y-e ]Hrv0iBv_["37[r lIJVzܖQ0.Ե;/NA^ny2 ¾jMF M<,i_'=W Wr=njyh4tLRڕ!A Hx#?n]<>,)Pk?/h4gN)_ZhoglH(b}xS4žw9FuSqq'HvwmbHDG'pĖ7GC~X-R ~ PS@i,!K5{JI%m6ʥ"]H =&ovYk-=o 󄜉IF:!P%}q_3rI˜O˷+w*1*g}O&AZ[cfb4?q~X}D=ݲqw3ϢpD@Oȏ(] V Yݻ$q-e)AId~rbk]}S w /[VMslħ5oe,n(ZM6ƒo/]%68(+mRٕ_f FU\v鲋Nƍևc5Ef'7DSp! /ķWLx[z^N+ M|l "X{|!Z"] F]&QTcղZVk^ 8'h^8??lgf^VʌR5 ز^׺v5v,kT]Pxڻ'wBZ"b+Ealho8 twoGp a:&fϿͺ2z4obW<u7O@o(UEid5F9XT:Y{L!+m{GC2mED+lz|$Myk4أ옒 <]躩[$=B n~x\k>!<\C &S:A#,r^ ;.T=5|AU"ݴ)̛#Mj'xQlKcW: !%+ $d: ak!_1fS9fDl{Ul]#ΓLK::X#FlsCrQHa= hx(<@؉{~טwsxHi{%ex~ f"cgxy9χ()؎ #Z}GahO3>`ƸoXp/k!)2\QsAcɬa c|sGmH||_#A"(_* V5?bcbJdy7**%% )žZ)TS׉nO^y͍|)i3ڻ\ɱksqQܤˈ\ƕ"B`qEmjǩS3Ҟi| $%{>{JfS<4:7)UFkI( H \jaWIH:YEn&Vrp6T[$ehydtoK@ϵ1ȠfkHCHH83_^*?pH?[4ozAY߳Z)(i:cI]1trLޥs{s]g d9 -jDx|p g'roXϷy&[h|ćHi9.ŭtoOb[IS}0ӐGEkbݍ.x}NsՋ!TlI@q7ONORހVXxS7$QZ1cUog%= 1e&& ʜ '#n`GmN)*ۂ~c}D٥$Rnz1yΨJ :BٓG42m{easƱD+aCoDn4%l)eٷFMQlAM[lDfU/?%qN9 d l)v,ƿI4Y|uJKNX2WRǬI숫ތ2ԼsqN2'=C_sk5UDj`!_$:ȬNڎ1黖 M.aLe>WJv;ineY0zf_f4Q`ŹfE/ܬl|’!iɛ-GkAJީ /#-h#m)KV"/tJT8/wtUv@f"=LpgQf,:O;>Ϫ~rrL}5&1!)g`S!M9/$&ut@ԧ?ᝂ!`f˝\ ՀJ]> Sât-Y߭;kya_֖nw a>du5 J{Xe ~#E̚4#%c,Wx@2ŊH́3] Y^;dX(53#tS#A g6cfk1 ش 9!ĕlkA):9LUJw%& C1T_rN !B3 (tO@(@&y%^ѳW+↑+3=ɇCg 2zm' 0ӗh;;qY<{N8*"/P 7)bf=YD@W`nXA^7Ϗ:Q`YQ X{&I$$Vő|C~{4ƒDM)!BB̀r' /Z\'1Pt2z__J7kbbeHD4^2׋$+|3a %[ڽP5--v&ŊKd { k2q+-% W]jGNq?V:B(0}Pwrrj,ư忘ʅ]=dDK%Af>ya$kR=XIE|کK!vlryfoԽ[g2(E-@~+9mM9X- պKjQDD$ĭ!t=ß|vΑM2n_[e ׀"(RjP΃np֋YO|Dr{lI| J>(/~4K4w]!$x8}=aI@#0&dJzE0!K х/KYPPF28,ӋM suKBy$X7GЋ<ٮN\ .Rin[ËZz텦;co֓loɫ!VGpy 5;w _]zRWM*)Jq׃Q 88TF~^.Q?`O*a>2T}^)ǞR瓽R@F0-e.$KY2~.Ơ5هg)K(@ =-KN6{E3˪~ʮqIV#yllmq)G'{`^h: `-R- ]E\d÷l:{[HnH5bB1O8V17yS55'En]s!M==-ۡ5`atT{7ULEDC?W\XkM! V9t1 k%W`-%х|1RCVx C+r1Yqv{9>Ih((NobuZVMb^jr); <$}{"Ƽ&ݮNWgZjAC}C 9a {a p&' mʮ~jEki{e&b;x-r re:bA`j+~UX,U4A`un'İ#%72{mtD)[Q=a H|wjbdH`FTF\Mj@<"Dʴ.ҍU ?W'.y yJ,5>w3ŽV:Vb܅C Iۑ7XF,ړ+ [a#H E#Pg`􍗛.1!!E~btZf_G7NEf[<=S/w1m2AQq={Jvv#\x?"j:A~:dq$1?JV:Px.Je.<~أynt-R v"Ere,IL FILH);LNvOtO\n ]Ѝ&p&#,h}3ܩCfV UʴT,'1\_~^wfp^bbklNΙ:+bj&se-Ѭ BznKq&+ 8n9 MzZ\2&~?F0<'2U9b̨)V`C"XϧRS p46}Ed驳-m8sf'_/'{v8AlB&u_8ũEh<\c C+&tzwyD{5/XUʄMq%kE5$PlhnU67 @O//LJ~px8fmtVU[r f"Xipij?8q& 7̟i;q>?E2ɮYa[K~:";Hhx<.&uh:Cڨ(<H2*v0.CP7H{.rقNO; !JIہq[],U:߶jCG$k.9̠}K4ߺhNA1A9MQ=ױ"mD|ćG uD?U㘞C8(.B]p8`8EzMaNZID-܊3x5Nw=(P:x+fЀ\yn,IC-/B08^{:A̶Y8!i񕒡 o^ut`vJyT8<Аm"uEmO&fU+{(fF [A(_#7ǶwgiR:(h!LX+Wz`)->KPb.zf#d 5X]n8N6!I, %WXi%雂xg\N`o:'/AY"˥2SrIG4 X+ԔWYW%EP`UmU`&p̳{f 5K N\۫WP5Ȃn,H.ߛ%vrCd&Qa AG_(L/F|JB.151P-Fs'̽Xqė+np UCпoHn*ȥIt"?v񦑧CBPOIO/Nmn"GTp}O^2Ip6hx= ,dgaΐh^91,l3JSP&dk 0]E+ (ki~3h|E']MGPMhX+줆M8M5k, -2L,3)>ͽnE[~?9^pF_E5~Iz*(; C~ȘlP[3wS&Kg@2-3Ydo~8|+ڄʾ*$=+kûwǿ{M`0/]\3? |ϛTLNQ t}T.K?3sgy:ls/fyO_-:9 g,/6`{P]+x5w!!MDyVM)R$riP c,[XTm2rw 7ԙ ވVT5hs(5k+@>?,*RUcN  qڥ%ituH %%Em DJCQW_?t;y;lXWS^܈n%;Ny 0j8 Lщ>gs@D7g.WσY拉m|YZ9ll"EJ\Co;ZUAue">0"լ4O gxuD}jU5j9,EO6ElO_ Du3T,,.Z&7[ kN]Pr|*3g^oHлMwEbj'd>;ŕ3nr+W%k*Q²〴اԍ69wFżⴱݲD&(V_+u `t(*pvu#OGEf6L H49]oz< hN[@`g]JS&tt:_OM1LBnODVT8Gh-sύZpnر!a9kTZt NSH@_Xj nESKeLN0޷RWsE Z4))Uɍo4JnTtӺULJ`s2v;mX壘]jFL`mS\%ҧ!.͡JKv+$nZ}"]3XT3h,x{Rޘ ޾_k5KtE6^Ժ eH%Iϝ2VN/-xdsy{)m4k^1g41D|8_W~QR9) /Tnl`3 OG,mlZɠUrƋ/?6"ŊZ"LTvC7M'\2S11`7,9J< aC"mZj.MaBCjE{?͖ 7T.-Wh]ɍG!06g'I] G&)J:ck+\ ª=g "KJ^'6 ZBRnXԨ/-!^O#5iGi`ƃ&'h]pW5/y|-?z"|,2Qu{uD;d 0cf vFTy1EHn\{F҉9mאHq;|1A9$SQ{mHQǤ}~mz(PvN U v{NZ8_"8[ O~6zJ D!1ߐG dQ0F Y5"B;RV͢ 92eR$3o8ҖT ^R :#^=S$FdK} <վs:r18U"pګhiB:n(94"~ľ`~}3GB^((í}. z퓓BRrRST#P AARLs{0S`Fَ_:"`{\PeeJv 7;-4A]< /)XOې }%vq*rU1ףV-kF:ʯ'~!y  )?h@ X,vs+W{ӝx*t98~atUr0C{ٻ)i0tsoyL򦮄tRk/#a!]ieTĀޝC(]cB^؆T+2HN6l4ɆDne.tY庩%W]8Na <{ {G__1R44(B{8 kw!Jh22uIYM K U͌) YTڙ%[cN~~.4po0P*5?;Mt|t͋g972ZdžGsn.x?nQ d%cg$#\>2KK՚F{5"9 8{W} ./U,ʕOE37xV>I?'>FLAyN.|0Aۣ:o+#6)3ズUAw|o4G7/QϚJKȐDYD977 Hɔ2=sQ+37U-31FoZmj{-P8a(KfXj?W(M)9,t}7]Ѝ+b xhg'ԮIm$ Feh@?ٻAØ@FYRDG%QuJ{aEUw-zӁƻ|Z}2Wl^}1nPjʲr/yqÉ2Q6 'ģ?daəJQ`g1ӠII;3uzқջ&.\ڏw4mc3ggُǛkϚ8fTh w#bPXLj"Bo"v҈yf*bKhT:т$3HKѺ\!e(:OPVnF9@"T]SL%Ͼc=h,|vmN޺񡂰m40Sp9q0T},g*l UwG_:lv ڋ< lWMTUnj=jA,&06屍bKg*Ìcn"BSU= y`%ᚵpNO@ˬG YdH 'f'H?m8V47{گ@:/XmZB2Cd((l:A#V.W2`&AGlb]Ō=v>9}B}3,;Z9M$22D0\o u=Tq@LuGeLYS/a4)nID90ƵmSu/v>yyN Fg}`Igaٖ~K63^&,w{dE p޴n.uzhAxr%k&0p'aBZiNpO25b2l tiDARFSFI42 p=ӯp=)ak%ɻW %0B%h'ZS.7ЇR 4, ewǍzα6* Nu_Iȯ@:|r $xPKF-r0%yo8l( ؗ>F ^;Dg$ |抋Ӂ׶ 鏲%8(cƞm !)A,x &bG,W\J̓܍0Xܿ;7"c!Tn. 4_&S Ǘ0Qe0>|a0@H#辺\7$jmHhNU]j+lzU|ta\d~|VRié۔و7@wp.)g@y5$QtTY.X6 6u|l1 z̜{6_օIdU28KȽOқ:{Gh HI !̤#L$eGk+%OM``Φaԓi˂LA1'"">USxZ M05wWC1{a*Gtٜc"SHkzdVċ,tCh2;]trdpѰG9);4J=žp\#@VQiʫq֭ 2 !^+,+HZ^QTJtCQ;R'X!6g>FFjY#r5`^pJ!ĭTwօP^v0A* +C|g8AaugP \`UѬ^5!72QwR;MƑ `]x!m"J\3oK4)rIH$zq `-ӗ~z ݥ}C'k76$L&(xUS.`}ޣ_Xķّtͯ}N}qa]]~/;tel'a65uwDz.KPG~MOژrCvyu@z VcIunݏGs'gn+H8g,)xte&}vj"ZKe{튻d{Ճ zC6%~P]1^U(ꉧ;[&zuG,-bXH"ecD.;j;2{I@0ﻗW]VD d+2 i&)~Wk B^&PE|?{O^ [4W%X:yc0h¨-s s,* zZbD]ڹp6dRicViN9(yrqEH[Z{p> [D'I%d!mBTǴmz幯w;cWG0MU;|vTD'`Ͻ Q;3qPuML=&E~.đD } etm^l%t Ys%;l6 |t8>Vox1=Qd.]bNŜ"JsXC!6i:M6q^ȾW1lF<<,ZGGp<=`h61&ApS--q%pLCΚ<aF8!d:ƀSod7_˃ZlU)j-. >|?I&(v\v&)zA;U'dQ,)g#P>͛ ӃD]f~dtau@y h61ѕb6Fg9l h##N yk/Z80"}qwϑ%<%|m$?a'(~tb \UHWrn<^,OR+x?n9ўWARgQ6> __&7!Wc9GEcۖ?OsmSXp<[)2 PPQarH;g3SJrDXզ֣7.U-3J 'NHźT8YGF&Oa?e񷫤j95.5&M3,W_NOT?T5޷/m=Jm"k_m]'Ϸ4 TT40g^rAпhGGko:mR#Ϗ>:lJh"0&&mwgj4IH #_oxWC`NR "HX*b.q' g F@}eQ"#8PM7-Z_dgؐ?|Ӟ&(Cjmy"4Օx Hc8@y<;E, & wZ,4n +UЧ$V4P"MxGʤ B<ZABf^nXx3 Af1pf+˵hϷ\e#8Q2M i[Y+W虾einy< ,knm.dhғVJL bfT {DѸ[ S3=!zi? /mk̬+s1 9"]UzK7 ^`%T8fη OEnw#ɱB[s{7[ Y:]Fpynnyߞ,XR֭/?F;L$ꍚoLp]cϭotNQs<fXҢP8"7:9L|H|ܜ{墮-}L.jL1)P|S~Aj Bz/`9#C*q)8 >^8)ez˔\WnB)d:FCQ+R¦vJV_Ewv#Ai@9-7\G&X~CLPn<ؽ;TN0#/VRITR PJ)VnHh џ$4 ]e]d; [=)7KzVފQxCGu)I^ZAt .E26>d(nR>/.M7ȱ`1ndM5VnIdta0+mF@ίKl|ɮc: FIfF%l iX6I̚͠ q`_bR;4LsLoC38Ň-WyC "ߴ N&oM!W ;i?L&Ғ ȦM]Mm2WNۗ('-YmаSwg8 T)`L3O# <(bXM<ۥ'X UGq" %LQC.{ w4өeחn#USAEJY.vf*|he߸c\g YlyPfGwL9] OIau$=rQ$uF>Kyz7?9Ke_)T*ﳛv{2C{PJȯ'J_gFKSo(۟C"ޘl%B2kds@1S?BCT]҈ !obfJz=ycrWt)|u܉+E/@Q+jKO"Clֶ>rl=9fA3baFSSۍ9MrSqHswwYzU'@7'+#e8r0tzK$LeRjO8zXLvjAEl)*&I(?q!hrG`!=+i=OvxWg 9:6\Qf*%N],ZuǐYztS \$j8 a(ɪR._Sˁgݐ }P9-PQum fC5\3}X R3`\Q$MH!K^_+ZL{fdb+kMh:ۺV\4MEU.}I?Zw1i`I`H`fKD9++HgЅxtUkpC{tJen*V[.x]eH$.ŖCxCM7~S rҁ;t`zJ@w?\[̇" fL?KU8f鬚X`>_!.؛)nP[+6!xnﲼDk䒃6?ts. ^7\po%_>Am@ݤ t&Cs;To`4)THNh-C8Oo=vv]"ϐ=hgF{o[XGy&/l!Qk_2cQX2p- A}R6D5&3bT/Ncj OM3Tg2"e9Ƅ |?vsMY'v&a2$ލYϦvHM#>z." s"?fJw貇Tj\~:j't?/TQT[}NHQJ^jq[4%ɺ 9/} >"2l|`%;#H*&w#0~Ĝ]ԳV#0lٲ5ѐag;E>Kn(d-F')cYj|%6=un Z4_wkd{ϯM;oLY㨛BAsH3 ͎,)D挈Q~2 &oUi-"@!ebX3Wьvc~F2RQDwT8i_yV0#M3/gmC(T1W^|}>@;#1D<)ѵڏ&䅯5r:}pj:XN u߉_~\'5!-k.;ϑ0^BRc8Η\Wwt]R\xI\m +9 + &`cB[;/YD>wS CrHm&+L柆Y XG'}9{vaV~ڱݧLڛan;N\b8:,g ȇƸ_.!jCatze](!EGj/t00Me뮯 FDH$ ȷҴ^?i%LN4oR=aPE{\ԈSzC1Tq)P[e\'ٍ'T[+!ӌNɹ-b +en[sZ{x<Dνߟ%*``zwBME0LKz&FCxo#_e|8U9 g@ooW K:8WÄ8>]Ixnu ݴcpUbԦÎ|6pjt˶0:?4ފH `vчR+PGMS MҁR_\$גppȖWK-LuJ ZB^wXn갵d&k30X[/WW/` 0geUifDɊaO1#A-rV R0ᡏV"-m ʘQlbV -"'sgucF:jOh696 me^2ё 5@]Ԁ_38{Q< ~rs][9C2}X P:g;}G=4?ՐeM.@+ƥk#rlP$6!)R[ m svq\wz[R-7xZvtˁ&1 <'H&ER6(`h₭%aV{^4O>X&]OI |@ T-k:( ʛ<~Zw0ҷ=): "BS)fue=ψ8Q3ǐ(ꍳ*`<<r%N0(sz!qbH3[iȆ0B 0**g! N,2|Y)8B<ɢ0gsiowe xY Ulr;AiÉ(U~kkF߱Cnrkoy_iӠXQӘ cE$% ؑ>7o0k 8)`1qOѬ<ªvymHaՅiaj3ju0YP+`Re\Po:/=TsFN2B< duNH'k+m <9TY@Z]I+ICG+xiK}3Ŭ?إo RsD"V(~S[iaAl96WJp Ar$LVp!*{q O {]$j'-bvT^Zd~]HL@s1i^`jJQ}{ëϩ|ѳtsPQ6 p/sl5T"X A.[Or+ k?c_y}6aFkZ11˲}*}{/z7OWRnT,Sog7l~V1ᶥh$Xz@~'74\% B}ބ?izG* ckF2ډg]~ z&z%˞cGw1RKI6 E{EZjx^/f1!. o`O5mŸoԉrKL鿹[פP^ў)۲3@p*큐ۨF \wzBZi'u.F r? j>@= ^?hI)>CA֓caM w:Wm 8YR'Xۣ"yKXzf~}_`y=*[X 0W`g6YsWSɴSti7jvfds?I"% \ݨoU6-p֏kLWMGʪ.9A,?T30KZ~r" ږt0+(]iea̷^0i tL0|HފJ*>vހ7~r򰕃 ^,7^>knp /57mG 9>\_$ á*< 4v!~ܑOQ:yⅧ4o>;vANu.Pgs6ןxY\Vr(g,S@nun@ٝ%T!}gh]D~Ca g1!A aʟ,OH>`%` \d0^⁅ !R~4,<,/6\=Gu##iv1pDl8fMR;boAw\X^H{:HAnV[ HE9m5]NSB, ̀$}.tږd#~k&%L m#ə UZpk"'D;aΣ~yՉ?u "d ~e)L )9 gW>6TnNm;:0/Wk"2 *4m߸mFuO V7!7C30x8*jS-^%\F҄пUWOa ՛5UvL=*;U?bJ5ʱOxE5ԏRV cKk1IRzI,1*r #ABIldFj%rBY8eugOSʴEJW+,( N&w0jr&o;h8ɆRBhv)R$-Uz"TOQ"pJU'pңt_IZ'D<&bi{g|zN)plw'n )ȇ\밅zA^.AF\M4JŐ0^[ М˷pLW!Z@{*(wTSʠiNz)qJ yXMN&e!?[眿i)luϧ&zgb -$XWfIbf°i}FJBn԰inKpk&ڃ>A}IPgl^V"gZ[ nwx64鉵546$r0 [8zSkf1OmvSmn\wi)k}&n:ژJԉwH =e4fu.AtbD1׹1Iڞn-WGb! /@jm[>"|`[Pi %IF[`^CMd@cd+^t?~\ƥa5tj/9s@o:"]7]قдB5blѿN"ѦaK 7x|L /$|a7ʼn]k51dߕ+A^H3M|}iexZktVF?kh6\o9 b/$9TŔ%ڳ\:9Y)k)j^H!ފl!͹"|AyjN)3G 鞭K~}AԾXxXo_CMkipi ^:˽!sRw1nnbQ_2;o,tS{ ݽ|Wl sv*)߷me7T76*y hO=8LipbLttgWbCW9ƺzQևQ;t})zkD8=9: ][ıs@ndכːƪ]!%(}@J6̚u/Sf8k-cԆ柣s۸r&k4Ísٱ8 +KRjYp<[ƑZo]z>eq16~&'&6*VlsI k {1`7 l:ٙv篷!4@?'/P ;xdf~h:{@?tǚSX0{KѣD@837Z( b~K2e2DcD$}k_62qvDcN{fE`H:9gc/IN:P6RW8r-qkFPttHH5Y+=BN5cXEx˺f;3U 'd,[ !X |9vR(&Fx%2:baNSd`u{GH nĥTC}bS߯sdFRO'YIj/BYX2G Vڂ{od&Um]1͇ZDjtBWg{,*vNYҝВ(Nu@۩&{v6,-OC(פxYu*Wzdy)Rщ-{hu'/s^e=gH,‡ eIfgIO}6eDhUUTG.8K`\&{. l_g1p{~mfx0] HɽRtoӯ~~caK/NX78UR)D #ѧ2`g6Qw}4HEj?=I|6ڌ@W9϶gox>wp^1yҾAcپU0(3m/0!jƽXMʩBy47|4Əb;[p̧.Js=̡ށ"kړ Ӧĉ;/}/;5, k S} SFV'9db?]$ CFj\KS BCNg:܈20<|b豶X0izVi{-Q}\['7+jZB7N'UHfrسPևGj"Voͼ0bj=+.;!1aC 695hIvMԪ*qw5ɧl؛V ),~==);8`F!^gdw>o%NS60Ffx!IU+ʁx4wF ׮֯3.oT m "?g|,0*ʸ@3P!j ?N{fl6fѻVHIU9dzc$/RoG]{+a2QDt O;C)YTJy7&sJ˦5Fp%X~!GF]}5~&ZO2*18W-؜є =3Yts 0U 9 @kVa퍂ƙ~Kt$?@D"Ax@<4Gֱ8I#(R{K$gXJ/∣MlR E`Ubϑvw= ?F<--O|m{bC]/bc ;M'y˴btӲ 5&M,wv$( qj 0<~ߟDwZwR r 5XnSluEѮ|{ىR,;?'H@WA4qd$ʤ .ĢFLB@_0{QÚ ֨E$ {F=pn uF2R 8/eqR $ !Ԍq Bll .iDI w Eݼp毙lԛnGv?ߖ;vgI\0. %3/f ̝Ł>űGwVO!J^\3mv$L'Bҭ_o j%ހ[# r>tr FpL2[Xjt?Gw"2 vͲIآGӏ@ΰJѵ 'qY.@,b#ᅦ H @yGHѯșL͕<ޕnx&ZF(Gsh?J ঺ 8IygGdI<+ ^/}WNU.m Ɖ@j@gUTG'.#&o`ϥC^: 4/8JnK ̅R = ӠXC6'Sep[ҭ!>+4X,4lmƛSrD0*;aV|ӧG[/M#kd!;,1\r&ct/$8Q꟫?V!wIl20_ulT肼Nfn`0|>4C$aAz:z{* ߘkSYɒa_eiZϓm/iњ ?>+]PV&`rdRh2b3OVM+g 6bmxB#Ȁh{FH#r/iMy <{[ϋޞGW+W3 WQfISG^ގ40Ӏe/ʺEq;Πӓ޾Hi!Oӹh?uP|Q{i$D&jF3x)N}>~g{W'S>ąXz{7w ]uib/@)O@ V^r'ٖϙ~=)s];-4时liKܲ?4>BI H'J<.&:W\͌pt+pv+vXմR*ŀGw;H1Ȩ*ةW:lN5p ƹm=[xzIkɃI]#;<:\!pܷS""\ekhuZJfiޯiTp= Sk! \bN2!eSOJM3~Yi.mn)6bEB-|e7=E^#KB\ՠ2!Άpysqʒ\TƂϸF@(?XaK*Y`Qv }Ǡ]щl "CoC _Nխ߰Ԏ|H̽]BtL{]l{Y]Z{I_bSrp~>c٥Q9_vR ٪\t6`6ߜC_Tȅ*b;ﶵȸlQ>d­<8k'O ܘ.9=k˳gcS ^a)};o^yUH 5t^tc"r" j*0 kGdMk^yǤ\6LYʥ[tBqgr<Oax }HE 6[>b0mN%ۨǶqWfMw* Dk\\,x ĥ]kwC0gp 2zx("K :"\w|_3=?uۡ4 MǸg%xags9;MFJFcFPJyYhJ+Zӗw"y!IObĠ+( `#-f= C]r}p@\c yʍb%_U8&ЭS"ioò'BIMdGѰg o bS1v:AGwfgeCӬv-T'g4!HL3̇#W"?3aq ?ivp r))1xh9vsHbC=L%a(Tƒsa4nia֩Ge(ky,=$$3Oo^f+K";x0%:7D)+%iT8є`-Xn"p $x۹ɧ!W`>dT ֚Mfj Gj-LV˴= lAY,.C0)Ssfy!Pϣ|ˀ`T', ZKGUQOţ @Lnžz[ǖΖ͏l.VL[%46pJkv> Bg6A6^h'&N 2􏎥 źBO#NY8{'G2j4.V>|/pbH ' +T\nPf\ܾ]at 9yAf??MD@cBt#/pEIqkqUgV`uTV8&^/l\j&KWr s0Yar,GJ;0DJE^+  %0r{W8уJ $u^Ap5%v۩=NbvM4%ؔOMSۤm紐~qmaؕ &?{#t|WoY;M:S 5UHA%)Χ$D<rZPn9y`~rn#RƼп`E=A|·Ab( ԗ\}{[MMhCU/%t;b*%8u@2蜽,t{1%&?G~&R̢ؓ3WK#S]&qDuz,:Q] Fp)([Kէ'S#8z9EmGs۸O2 $IFEt\VL\K:.)ɨ942n1YIې"Rϕ;:zP;:g!t\ڪypxjc6N΂?Lv(ij9$(9-\"rh~l^ 8b F g%7V ^{"vhUzir HƟ;mߞJX9 u+wx`3 )s-P˵Ayv*[V: ׷k=2zs| N3I FTFO&gƄ ?$jJD×RTpTgQ,yC^ {@tc-fkzz?w` ^=یg[j+0"GM_d'5YUcxxuC%-y/1|iefˣxεY#T Mf?*󟴎DapnTwXU*Ue@jag QC8POv(ԼFbc4_H7,x ϱXL+fuЁć)uO 2dOcӞ ӔpWS.gtNbA_O@qN|GtZX?(/6ZOYEZ|_㇒ :h-;D7ޞ{gC*пdû R,Fx = Bv\?0LlB .5sV ,dA@ ^vv/W`8nNr_yfk޺͏(f pԌmڱ^N٧j7D/;&vohB0dm<9FmaF%blf>]})˜v/'?`w+(lR-IҲP-LޮA6YFzbTwIr@oCN1s5Ճ&ᴥjvKPv&UԐ#kO2S9t&ӿRr@-'4YY,#~*60.nŽ:7X+[` "Hg[4ZP].)MKZ{ν;Px`puHJ\0)I-p 释?Prfmʿc',u&Jօ& ޞD2] /sͧPW :۸XI $MNvKN{;'?!cGG&>/?!& iKq_'n!?ɧ@Z&P45]:KP^S!LZ0:nN@_CewB]K_ٯڵ#e=og -eq,Cn\X[,6'J鐇԰&J4rRY FL`;Ů-@0Nơ6 JKg!ޡҊid,%`(hYA1E ( gPX39MT^t^<&`շ{Ivk#̸@҅N{\)`Q+aBx}RpMAt*[XMs3G`Ok̈,XB4&{'"9~{c]R P.YεʰȢuIS}U"'idIJA7F%R S ;sV/,D>mmŲUbyXV/ۓ*M dN;7ySNJ `2aQ,B?eQqNX|e@Z"G&*3,]J4Kwb-È.L &5 iu^}9Q:LO)4B)GJP|v7dk4{( zuZ`Q4Sbgҿ )$jh4c5`I["x-Ckž! Y9ȍ߄P' ,d[Ox\b!ӵs0sUKEN趈q6F7C4ƃ;zrtSb/֫j*"G(WJT4d,]J:I^G&jfNm'3f 3ŵ\ْϻ8݃A|dؕI`THlMo[4 N0*khjEyX>{εC딎uJȓ$z\ dZϚ~/cHmF4" ^~w[[+*op ҊMvҢc;\tSzFA0 縚53Q_t}xVmPtΈ/ϴ?-SDdCSOi`y[ O>K}[H  04rUhYNA)[>-YЎuj:C@oŕ1^5UؖLP6/k;Vchn 2wYJ@hIg t2>Ul٠]6&ҹbϮO^@:ndBu{ënZm:̛"RYxhC깰:8rV6q>j.)s 9eq"0`o'c|(а*Qg>8{xD~h(iCx:#*S8^?Of>aW@ҷ [7ͽ5ӛB`~zY D]ԧUʥuDXqZͽ=)>Y}=t&AHyBCMh8(S(3g(O*n䃙* n"96{ANB̭;>+),*J~}{)Z\o/by*oZ#�@2_oK27pM{w)ެb±Ф(0\QHC 1cRQ`š'@&ƌW_r4?xAF'3wڱ /:fV[5EczᐸтPyGjD3{Q} K= cABjoQd/i\9C! z# )4_!2xj)T:8vhlm0zc8wqbJ{SOͻ/A| cB< y}7=tt)O+'$+hь%GWLҁ}rTPolnbH/bn[s&_+cfяNJ>6tD +?WI{Z"x 7漁|3= ʩm`eMjF'axj&%u tZV”!rT0V?s5b:M:SIjuw{-`*$5n<jB2CbNf8 QIϫJrQ spPx/Ap~)̹LF%fgk8LB*v]Dٍ7spS6 vދ~q58AV5# 9xF3[El2 ^Jn0"މA6}F On4_ELtf7ѠR.OuX¥s$Nm>v[2A[f 6#>xOsng"+C]jǘ`#Y :o[w}7T! Hf8S`.-|Ucs҉pnWX 7}ҬKn+a>wcu+ꯝ}ڋ3`x;B<F <PKDG9u:-V  t^Bnz΄ny9x_M]Rp g8LyV2jʜ8Ei֡8/SM'VPtLƼP2y]%eb`R0B̓;^(p2S.tVkSƊ G1eBCH鐍Z (J c ӦmtݨhOU9ԣTfI= "f@VTv?$1DIQQo fh%}e٘'tBҊ.icj[ځTQA ~zĥEb 89`uIREHs.>j@|gM_왼zS8 h2!Ll =@ył߆pqTavd{#D@C:ޔi~mS#݈L{>GszD|'ܣ3a : AIZ悠@'X3}o`m8ٮbi !k|-M%;oZ{*}O 8י(Gm|\4t/*w wzq8Q/˓E+ $lŠk鲷?>nb\,11Υ=-W]lz;D|]S&ɲ?+t[%(w>!?$z<"a=o뵝~|ŶIF0C"ZQ &\,TKw1Wdu> /%*&>Z6vB}vrL*G ce|nux6)8uMIuQ|ficܽ1Zv^?&2oЅ q ֗e˞; 2~d>#iSJHNqYJ&Y_c*i:p.u`ė6Υ|;mt֌+Y/ba'/s[EsY'@EϒT8qĚy Ms7-ܶ[n{?_$b AaR0[W/䝜6A _5D7:b:wh< eָgMnQ=dni2kZ*o{ls(9 _(RkE8X~.&^mS뺢{lI0f[Ϣ"+;f b XIN=p<#LmYU{|bFs+ȴ .[bY-LFZN$2ёt˸i&5r %΋o`,2(ṋ-![…y$5&:Uн+vC 6g#jSN%Rۯ>/fo%sh[: &AVHUל#n~I)^v۹ ׋oý]~&ۓ3[gxNbK$>FzcT C;GBgʯa7g' rSIyVI2Bf^`>h` XxbOx.buQ b>YuT4Y\N!:VK4$@FYLGaUQ7֢Pk=7PͲfeTLAyh˒ bS)3;p;%trqG]x5pN-asC]\*6:Gw5KWgk= :aI BXY>@]:I5|K,ߐZ5Cb:ScxdRtҥMi9@3q~ iB54tTjχ:V{-pړ"=(pPMvI9ZBX[ |ʌJ<ƿVE&P3sÆʄrK>Tm0s@~^mL3^TT b9Fo >%">L96'*![4 *4K ߼f#FsW"9PPdi@ɽ} ۪;qýs fcHTeά x֏L%$XW ۓ[S-%F^ IWukxYN $&s[Z4?([q2PEdzyK>f/ͦ Y`ˤ[)lIH'vy~_a$.}A:|;H: >ZqHjƍTlf|y[zz1lRY#ڜln͈Ze²CVc˻yag[V|IcYb% I8ݎlԞK<&^XԄ9WN`#q!j.IgF0{#4zSBFc 4>0k\pc'jR1C!ƭș\Чw:4U{l^,’MX'Jf\ 2{c1U3kKXL&:M(DzbsqP{FfތgO@)L/U5 dyTc&;;MvI9mLE=-ВkFV~ަQʪhȇ0t+K\g&xi@)JÞa2]unٌԗ N/A`76h/ ݯW8*)- p˚?vй ̼U]'8B )va #WT&\@('`r-L6|zއF@.= &f;HKs_a~+LDˢA mTK6L9ٜcFͽ`-?o69^kjܢ|1hgpQT,̍4zgX_>v4iNm{mxQl+']msA0)T*Ev9/XP{Jk)Jn~s~!o5{ x^ Ǩ )i!0pt}-1[/9*Q[tО p!P + bYOk10C0^aj[x8A5n1P%Sm:igLڇqϱ-]LJ,H@l_78n( EP49٠&;9H&!YŊ]yS$ҷ|1VcmuWoҸ 󅘻[ljOAk"2H[)<*GN`a >SWe ?/06 ]u4mWn[lcs3alda2zjj (o^7|!'a@\FղAxE ϳ-M/_%vJ붓0xv%i+S;sCahAh#Z@85YpWqFiьbjªh!77R7ķžv$^O -$~Y[h5)q~R`p@7Ͻd"^@%ˆX@lŃofIc#3MŽdJd &~ٯW5F{66RVázE`l{޼a2 r8a9ԧKv<7Bek0} \>Mq~ړ "I1ۉ(0Yd1#\G炐D׫=_jmh pj2_QkWXParb[+̈!̼Z lsI_KávD!ى‰ ldko֛@諲T! Zoy  )Y_Ar4vTWҋ|XE]=MamMFH[b aR] T8a4Z JK5D`vҩi0y{^״c uݚ >Oawapid<)9Dd~ou2KtpPMl_FDm Ledzw+|g=Ðn5!TZSU95UDm>NG&q2lc#[',Ha_c\W4V\L[WT:20MEXZ'}>Ao*Xa~zt]6Y@ۜ'=`9'n١4~k"Y] 2g:RDK(YAqOI(q5.}YOMVo➈WS*LDuYZ.yw|»ٴwE`¸Z\mW0%ue=ǔc%8ՒVL3f$^VS¬e $Yiceҿ^q"T-<0 k:O7QD !r?p(:*ܯ6&) ]~p2y8ey|2f&S=yK]{z7#4h Uș`RPYE`=IgUyӱjL8\p &S~$_I7.԰,t=H8Xn>(I VoQG5Hzβl M *ndGU+1g.$#u59 pyUV\VFT&?8e^ߜ$8@E6w\!H}mփb`F~W[1ߏY5tL*qx XhS {jYM>_DT:\9oS y/ke!*g Q`\gR%,W*@^=pW@gYݚBٶiM14ਨbm̾tsw"P?3S%n< * @,p@=-5F%H8rDն MzUBWP6_ᇓrFU $xGqр6#t([>$QF%K:@.&y!qoeyay0a7yfJкq]:'ي>d"XH=Vh8H"y}KʿK9yO>v<pō3WoFLe>YC.c;kEbj9Z-I}@NLIPv5{=SN<18}fXXC! ʔ3 d˕k~XbLɿPE3e[* \uu׵wLyq7.?ˍl×0ś &v\p".BŃ{<+-9 p/7{9p;WUH1X9ݐ$ߠb}]쫬O2GLFo0 *v#: l,OCI#s=bwwND_ VNZMf>#Wk.e"1C!J~삋b:!tx)X>"@5yWm-}e[ҥom=7H}?J=Wv 5 ws6noGN}[qvE?G5lǭr1Xe;ʣ(v_L=Sқ=3`2 E 9nxGtYL.}t L͛?3oɨ4g zN?EʝR?GŹSHcX(wФY 4>Űʆ橘[=,[_yqBA3L!|w[DwkTnKg*P'qC[tyQGEtoP̱8rhP'L`z~I)} c8j.Hi4dwi\sshbНڬX+t/$ ܫA8;.h(l^& P쫏ޜk)Ar/wⳳc$4xW_)2{ŚuG(g4*( [yHK<5pfl]H[-|Ij_K Rͩ_Xo, 0aeW`0Ks =G@" qx]묃ݪd 6Ȫ)-Brp{HqռQjaMo$edA2(hc`$(2jo*C- ֶq7i*[Cm !m s u~#q0,Ϫ-눢bvӃZcERlԵ L#h; =AK<Z QinO$DDIp5Ml^g+?FOdٗɎO=KBɤ86τkByW6ˑ-r|KEc~ gaC"uK!$ 98x|&u(ΒTa &u&I!(NJEk\7t/V ziҟ|ܲ87շxgV x3F͟\>"AV `zFO7]Av;e׃,`4Vwmi_zTY)ܴ;O|0\>ct})5 T˶@V0g| 7έ^3ڒPJ΂3 [ 5Ly1/&8l1̑Do@Ȱuu۳0|NKn}O&^vMO}*(mٚ UyoW ͲXaʞJOg E Ntx2DXVLJM,06Ykenm2fD+ƛdvԏaF``_8 ʷg>$*ѫ=DT'i'TxQ4Ѿ .:nR7;XXo yK!.Ӷǔ:&3a8݂;6q\8"6F N$#*MRieQ'ө/XTʰ*-!q{{I$/ W,AW-c#J\?'-4[6B=Q27yio`tъC^]aFxa@?-"`D+P:Kfu ["d@HXZ`{/I8-3.e,+C*qK;}'tdl2Ǹ#X7ήgbE*J5mF0ٶ_X ~e-O:euWzL׸z8e8Sa17sWn$v2DsBai$8fv!dStj(kLi+vqAdptn 2:v*Kj>z,ua"N7cRxHČ5-e1Ed܂-r-/ruX0Čq^U'Xfj i#TGa1goPQ#,4XOТȓ=Mٲ=>u%==! n@]b򘟚rê8tXyw8rJ!HZO2ݟ忕,#zW48@ ݱLsgNB8;`ڗRI(A֫0Ҫ`h̤BdlgעSKu¨R!R*qju?Sb8C`!"Dm/+9僻]xH; ;fMH"x)rc:`w\8yɪD'kD^'Ž=|\d7bA3(wT'fɣ8cWZf$YC! i*f="-򟻼R&Lگ;DѢ #bSa yR!M@YIvaC'``(*4Fߠ@"jeP8Y0ݯF(&M@mM3 [q1fK\c1WNǨ,sLH#O tiQ6tPbZq71w%`R\,J.GpO^Pٝ{R2Ez7 _# *|y*|==LKp؜r?lrK | 5Pf`a$Odu=m0Ѧ]J-8$Z&Pr1\+]tϷ֢{GY AMY'";k+_Niau[A Λm 8/= z[SiKn-|li;Jx;(Q:,m z(C\{Kp$_3Amt|-oɲJ/]YH¹=<8XJTύcUvwT.!h|V$ f,(M*={o8X~7z>Ί7I獷E#^V!G8̰:t/ >}êY5 s7*RKOecܠҫwx{;v>CO䡩$iR>Ĭ ]FĻ\( "˱:wXb> n\áp.,>!c~KTnybK[t9i'G(>t(yU|LƚQJqN^! 7yWwpt G#t G"чah 2Tg,NzN6% ,:A핲6`WDJQktiGpU:{ұBcq˗māVb,M#xs{<|S#P(KKWG#.I}vr8I 1OQSz<~u̻ٻPL#_MHY-jɑ~ [bv\  m P֢Pd[/ds)D:0p60@iY;B3HSGtʬAF1]#ʝ&c&z̽>[oDA=w t#V]#lj†!1q r}St>].w&*٣4oP -Fi i+R< hE!M^+{R6TG2`mNH65{V/ QN%)u0a"T˺~ csWntOG[WeoFŊ0;c)մ-] ߧ.rS?EC)_`*C@2;P\+)8\f.٫g^8ńn!)U,Vھ+-X!T-$8 H⇈Vy+g^ئ ],+EJhSX>tkލ*EƆk~+L/,#m4*\š$s7;!,?6bgx8MD|j\~^{v~_\=Ўs/O8e&!؅ul]"fٰMaHd nlrr/@-Q{[^/Tg ]q7*_Sa᫫~@؆vo-Z'%aK\r p?W.5># 7tg} oK_ynr.{0f)ӐdlXHĮi*oߟ<\;'uS䍫yl\o!E%OT}%ؼ2/ao}?svh46D{C>xYO`x=做^OڛsBc$a>',Y}3rfsώhuF[I1p:@Y Cz28.'dx AbN?s]!soaT[H<0/GwY+AG`_9 R!C!rF,l5kIڨJs/0A3QZ=}}1""8=ZANxdfNsGw1DnV) }ljXc &)FğY.#L|6d:\}|8%=dK*cdSVnbjn@_ T7OǶQw{GFɮG1} M%V'E)|EZ- ȱ^Iګ@W3&pR$> u3%ppv%zg߅M ]eh%k\@25IWq)DԮ s̰и45LwF LDE..-aZ)Zii] ' [YG]0RүYsZOXPTэEޕ> +*q7cQۆiՔpՈ泼cR -e0\A[Aw(Cy@nkCpJr:+5c'M{5+|G?bʌt(E КF: Qr^v;uH&Lx3V(9h/11kݔo3j4~b:YD:#s >֒eANrw*gzؤCHw3_V;O+d_,7,!¢{F$/<0$u/ P'Nd%|In(_59^ƒŖ냕C6_XKZ7&ʒG7?2t=ddf!ɞ<>G*Kx,7xy0@O[RđGH'^7t^C)gg  zeϻjlfJ.=[ǚL:N/\^0Po*?¾Ge׻уt5#֭= ]!U"DȺ+cZ"P>)x?954t?sHS}e?*k iSb,`Y1HciTvwcI@[5Ϲ醼뺌VM^U#BuqRa׉ֽ$n+]:Hxv7P1,\Z9 2Q!}S `6Pengaӈu CEU284\ҁݚrH= IW I|@njnסw)FsDU'V'RDNཔ\~)kU 7I[H|;e!|Cc2WAjMr=ۘ]N^z_qnIA,je</JR8s[]w#N#o>`”Y1o+ƒDꊃeCYs@r;^B [t֬>S #SC% 8lX8UT VJ\?b;sF'A҇oz ռi_,۾2UZ={j%E0$)Zz"!o\1`ŵ=hb|d8,ܛ&vè0_I3Wݷ b=$b nnVR~)VU8{?oѱmu 8YT;)ӕ=9`lTjc~*L-ذKqi%  ,9ރ싲q} ) %y01+seu}m90K:;?HWEQ"eSS3Sza+ᅜܼܭ}x_ѯI,%Qmd@z4r+<:#I4?VX2h<_6~f4 u76 b聧9f=, CIt_і(7w^'s̳ ? }ejUj/obH|>dW/@×`&.18&Yb>zG- ,u F֠sF%˭ MZ9;\%!1xnR0t_׮=ƁCeY{-JrF$ ߶$fjV]SBL 4:SwyqV MUb2e|}rI/DHJiˬP]xTz7 "Ǭ(r)T_]J6T|5v)TNZ {EEwm^DA@,ah; ]y5U,#ya 4'Zw@5 c>ː$]jBټo$S3 wLw瀶ۛ}h;WQI0QwEqߦuA]YcԶExÙ`XrG,հgG:+Q(k2}@!)^́*TH;1tiNUGӚ B>;Xp6 DlHd$l)r!UJ5 p 6m"`f  pj̞` 5_&]tj Qjla.A Dg9yqS`$ &yDs֫ga%PĪxcdY\(. |s@D|vK j?HA|/xZs*?Br튙C_d\5Omg\6_(lUFx#yM!;17~RX  W5Ta;xeIsi#CG:XGI 饴컀{*Q4?x}؂;$BwKzLS~elK)+tV~˖Z:w[˰ܱ +żMbpAC1P2s;.*5 p~QR|qZ: Tz5NX3] & 슆ek7w uqy4(In$:w ܖ?oHv/ sep H`5p4_+M V6:}ou>-KGH*2 .<4VgO xP.3TLIe֭i(̻+C;^)~λ0Cu9e]0dvZݩNXa (:j0w4)An-ﵸ$֕pL6Eյs"UxK(w+QJ Qpݞ5 !fFv('aiB^^gK7hI  ا[*&" n%XWkq:w=i-6!:e2C;7 -/92W(@looDf[U 7Hg?فLj8^b#µqexkϣ,#E/T@$@375v&] ~ rAS@\Puo*Yy*{E7|'8L_|DF'3Ϟ> B}sz"..\tD~(}0SɁƊkSSx:荌վ ͖, ŕc)+-5i3p8'|Ji[:^vŦ cws~[!p*`56 V{?#-߀|>}+bEOڣd8|{*&;7.-5'4N"ɪeg|]~$& 08ckrV"AE1AhFwb琀zF[g-K T7w]~wz1#mZj[պDOY&[cHZ'Ev{Y2AD!l Ic2cl+ a݂ļ/dORzL '}$zXHL~j^|zNc6<3̲^7{O“aņK0Ъ5x/8B\ט_<y%ӽhsi`8`,)¢ǔ|kMg}+.jWN|q\'sˌNxe2w21g[(62YVȵ$rTW.QJ0@ZVYN98CMTlDW:$£P_I7e&8R7o~|UV∕q[ Y6F.X$ ]Z0{2mPG#EZ=uOD鈃տ.gc}h)a徱_M!T4ZP,z~YcM=Ciɡsxgic9eva͔(61u3uK]_ArӫݔfrHysvFP)^ⱄ_/=:ufN|ƌ ꔷީq/̀< 7%'v,=G"_%+bѨ R)8˸2b$ b?.#OJ8q0& =o!wI-PCbn4hCBNNK&0XB8TUOrR8CV>kaA7'&0X!=a ⚜DݭFߛDIlvn d]a% E Aa{rBOI{V5Q !q6SKk1?n:FVDz<Ïi |{}&%~ޯ6*fuE3+bJ)}ҳ@DotiQxE^ Nr+ٛ.4Ա5WY2d; nT `׽z؜{dgG; 60l/]Gȃ /BlG! Dr;C#`&(.P82t[D -jRIυvv;5WK NJ ?-YF.5Kz @ke.OrcyC[N]$ef-@T_[4ջמK[tjOTi iAvKgmݷ&kוϻRaN(Q5-)3cK{EѱJOiֱ >}tZG$_B /+2_3ڟR*ďd~''.5[$G2ZEOJT _ YLI*aڔS;+cn`_t]sˣ4.X ps劁QektcʚK&Pbă? K4Ӏ?ț6eQIW;'ffB j~ar$vmkQ6:`ΌxAʧMUO 5I>${iXXbȘ!NfmUNTL͛Đ4R[ĆnhY߄+wπr|$h":&V[ &"L9F2¤Q^[zMpepܸNݛZ>?몀 +Q}'bdVec)yQ[m= PV?`MhJF ADeaNc"Z~_>M+8ĘXWK~{ 0 ;%d4~3dɈ hn_QgH`&Zpu.7 -,ʓKTߐo"Bpn%K A$;荾K;_0Y%~w(uܸ/*y(}-B ꧱Ƹ1U}f~N9rAK~u}Y~+x@S<i|xjU*Z%Cdd E wDcNկ~ ͈<e'ӷW%/+b@O4+]\pi5_Ȗb6%> U-)ujZ8Z?N[iRa^$mՎ%OݠWH(@m&* +%﯒ؔBvRhIlSOzVxzϲ q/MܙDP鶿C;Go}jͱEzڎ8@I:,kq<{+6vj~=$ߧ1&%3? Xe{36*p߷KF Ua'Ĥ֠o/g̳XH^ҍNdӉdz;eVߏG e: sRDB KMwO.`#{V"ɋ3α޷tM(lN4>FZ0 -:ux`p `it`Ӿr*nB^_&[4,O1Vtps8Хvd ]x--H0-xK' †dӓا|Zooļ@* h"IYLMUS[M2(@@Voǔ%%8>t`KX>1x[Xi-{#Al [6ūCk9݈~kTwFfGoǕdz>DpF@j(7ޕN=R Fgno дQ3l9ߊ/cI1N$k9t>5R E];zLmȻ΃ZGOHS$=ncuWCK$ӽ\?8A|*RјA1v=05 < *3JC mM0^GZ}bu'+qlpCN^o``H̰\{G/=JڎL'vVԽNťLKAXWjXfw@ Ddkct S#QrKefjDK;vшmc|c8 diH Fۀ@/0N{%baXz9jkj| ?;Eު`U2 h[3ɒL *$|bȂyA]"X@֍Ŵe ѿ֥5|]ͺ)S3ĨJn.,I0/-*S3%l@piΚ+Fa9V#6`A$> w&k R[ _KY۫ GVvkL}xqOBIį c"Q{H,mG|3F)%С7ſCٷt w\H8v3F)>4lОp݋ɔ33?t;?@J`1䨾/1- Ko~7 )檢-5*,F޴Cʝ m9~՟Ѹ<,B)pt4`֮_ЖiHi cē~1ijݖϏUqTHPQ`fS uJ|)zg{I'P3N* UFu]"{OM0|Yf׻˚ kM`[hЙꨤ0Āդ_g$.?%'2i<HUw] Z)_"H Mh& - `F8T]x(X2"^{a,}P6Po1lЇ-×RArVxG#ψNJDZ"R8I6ʋdD<ۚ+1 -o3S͛*5l\uYL;yrU_@=!uM W`ViܫbJ:,EQ6`v26k P-9cqa;mFFCuSzRa3)_67UQ-}u&gFaÄV|:d"9cqN|Ć$׏0\[.)Y Xa:10{m/4$X$[ִ)tǗS2Jщ] w{a7щF-*9X5 dvf O1f!,䎦 lsvئ,#Yt0Kf0?ҊʷŒM7e ݦ9!- w$Tw*w^)G 7e U= G6Vm `Ymwn tndd$ 4WNˇfnVA8dts|=P~`%e9܈E S#h@*gaN>FKKvpع;@L/|)jt%&Te}uӒ'S<_Z(`g#PeJgbz8{YR{?gQakA4N,Ti6sx#M .X]!JuZ~\@?d8m)'aբ{P@ՏqK.RVZhq)hO*(,1xYl8dmE\/D6, {OE+Y,X `lL (G{211|cv ^2݌C3fA*e ZgJ1()KegLbX]ĺ_ SWFa,opیlmO]^U#P]*[};EЯ%קK-x&+3E9㠢z/٤{ycjM$EfԤ 9s"djxraɱO^aCŠ%ù#>>Ӽq{fjң%I혲:祩xYJ"k@BT";w@k<,dWهq0~2?z|`n3(5wHP8yJ$H5 d?].4Tbn6'jVhm Ezn X_9M9GN;$(v8mcD3/r@/eze*׾u3=Gy&z}>g7~^~c! IIVtn:QQIV8(6lV+e!~DfO$0C @,A(^FOU(%4zV_AiJWY9C7; B6kdRiǏc9>7:&FV# @]+`Zٿ*րԿZkN}.L?- ?d++Is lt=HNO۩)<ي8T%sJm@S@|(d)g&2}d&LQZ"kRd[q4[TMy[⥭ti|PTH#vcvJ%RL`jׯl<^u Ԕ܍W>6c()-Pz/FQ&KƟ n\'v!n3(.D{T+B~G/4i]9y)- >5q 6PpپW\n놻dr4k|iZiDM "EzJiղ Jtm3j"p#N ׀SCyk-o8k\$R&jWHU3Čī*QюXGUZ[@/n JR/i@nA$AΎ"qKd/'a)tx >e!qdP"ٜ|o/u"wH+tw 49!%8|C@n1tezD'mbhQb?35q- ,-V;\E ZS;M0d"5LU9W ATdVׄ5WC(lq$aTenkKOA|420pbَLtMWTSƍRݭ橦'T0fPss8#mte~ q@%[XjYo4IIK M\ߚk[v#g肣IҜ<;Xx;ƍDhu߹#HXGl:vEf rԼ"-Q -<梷 &f/.7_C]Uf%D-o4[S dt~K}UY" \m딚B(fMrսc?n6֨`1yO={VZy)=Myvڡlcmz0.j98:g'u[S9Գ>&WҰ*SA] lӁ.= j%]an(SȔ$6aV'n>US.C+^ c5&Ο؃:t-m,扜W"GDqkdhֻt6ѶaBZU|yFj*!S JZ>zt;CU(יV%Ĩni8!F :E `I`lp3;֨Oc Xgb0Kpn`֡q3k[׶FVƹo "[\kg .+i>&3Zf[ g]-t( :̚~ȀjCk$%]DbSdo\Zv_#eu#J \U0aEUd@PY"{ U}5dl':Ky4Y9F Q/tGVd3 uRl I#D6 "ֳwHZo|sWZgJ+B6: *Y492[)"B#yB9‘Ehuh1)}W+,|L@1L;OT Ea6ht~7/Uc$(?yp̃(Q;% F"{G@"ᙖ/7 k蛲:dʁ . a].hfV6;5]ue T UӠO^K/HT|H5_H>ޚÁ2caԯ#zr9ޖ83fْG + #_'"~vNԙ2^$a*OLHk+5Lew}Licd*O-Zhok=AԯGYMO FK[DS%rwD5ּH7|DGݴ檾IoJb.ң{xgNRQV_ J]`iNʧ ǔ[e‚^tx%EI^P*i1x@d!vP2ކb+tEMDgy]9t K ts(|\+ze*0JVHoqeQ:JbT-OtNeG v.I8"{ @z9^MbAjKaF=\ At(3-Jqħ? /kQs>?x)p>pc'YTERr/ԭP(G 8X):х24L뀬-froog4yR j3J}5 9'Md@)$%|6.i4 Ym;ۢ(,QgM9:$hy&F*fZ)m;LAm]s]HsъWPA>55PݑgDNƕ?oX,cϢOU~wGfHuE$-jM fsęs[RNHԃ$sQO`([F \hqLwYTeRc]͑Qn?YU)`EfMbl[::yoM\A /mOI_"YpZII |3Nl-ް%77;_Q-MS}^:^IK¬Aes_ggT/bBa-P(.$5ňЙ,p22mL/%f 9$N(Ҧ~f"V$+'DWwHe\O>VYO}8t)\P ?#25uOaS,`| T7mC4L&ӾW` Xn`̂K \US-ĥK1ebG s-( 2C' lO^X< ֒ J{y;PHVvkx+o #&2H}0SdGMIymTǭA6$٩[a4cw5~^|q];CL9B7)!eax}8Y#B~F5V*+-< h-(|,M便3nC8b}d=YL4%~kښ_0IQa9#*;fЭxgpm["ԣѲ+3!HFlsRz?"{}72N+-PdOKÀs Z'Ќݡ.8})mM;z2K_1*7NXgFI B ) TJQGAXV'cps):??TM|#mLy m0{<6/`hC.zZiQû #ПZׁ*|D]ѩ\bbjl'/aQb#G)q/|R":覡/ߵh ٩Cg75h5Z=UdfQIju feF4^  :0d m;K @ ^voȅd@8DzI'djDa뷛GbC -/ONqZkvȘzsjK q[Cvy6zg A4? K#1oiB!l>&pMc..8EG a y2Q(=Cj۶2Eȍ1vr=5b _@C!EE*q!{Rc@U'&`_Gsnbx/ _MKN̐dr}H2&"Ab5'P1#`x_Xq w$%Pϗ۩ļՙKo`_"+rdwvaEf9ν qws?g|3L`^]pM̓cqI$,3%,49IŬmR"^?TA.73s !|Df&Mo& 22hfd x~- n:D[ᐥt,]#%a{~y|%+&[TWD]74ɿ3hh m9)Eh(Fī3yQN1h Z1@L~C`IۨbD(DLiiDPp?YMuZSLiC2 {E; $J*c=T=1DD%Y3nI=p8wh-Ki)q17z5Od9 ND|.iswD(9 xBʑVE0R!ƕhSM/2{X/-я nd\B"dV{xt42t͟dDD_[.+AԖ#/StVЍfRSQi~fbO܃\T(H/m{x򅿈IB֯}IA7֣8q~~( x7mH4{}"ʵ#f>eAH4@]}`,nH's^;T~DQLعW%d;A2x o#޺Cvd!q:d!?`͖ m"kCNv5AVWqԢpֻ;%kۚRzJddUj|MG..~`y f 2jjZ~{Xě ePHouL7l)`C gz2U 5gUv# sfcSUH ,\MxU8I6*mePC5>b~h=>ۈp`Ls6aZe2 1+PJݽiƴ]%XzeWrQ+>ڙWk•jvL/fGquyq.d.mk*uiFrM`Z$(-ICQ$'RzW&z[e"tNrLKهnhq oj+UePSb}`)1Z& @+%CGS \gAw*Ch8j9s*C֪*Ƈa Jބ@&:VDBrZCY?) \kZ&"]^>*E6Jܝ=j'# x `Y`сYYE|̘ uĦo`}e;I TN&ymIb{4&okIi"Rķ`(X@c!_Tb\P4zfmbMX79}P8хF{Ȱ̓WG0G$z̎pBQJ4Z > kRngc-ū򑌷@{ w0vY' ?st=4*J[H=9ʁ V_?dJz Pݏ|-nHҌ9Pk !LAJ&!YizbN-x%\]EA\ԫyJZ&uI@`usqZDG(+ _O r^)EƢ /Ug&<9&NhPKeEŒ6Nlw0lhs߲Q 2ZQSSt..F~` H&b~̸]]E ݚ`p`pG@8Qvٵ=F kxcc3GDH(ۚu*uR.+fp4S-VJȪ>roqnESdQ=L$ XsfyL079鴈.u6wyop0 ?E_/h@P2E b6k`Ni B uSl@?d8զ,iII He+vm;W v"{ҧot>hH 0~Ӎx&XS?LGG?Ix|xe}͈g$ƨ9|RkKUloWm i&jfW )GPYeBs4kAYjg(,gA' b[f۩B{P= y}=|g/y=::لhu(޳5e-uwɢf@٨t{A^QwLllxҒ,9FJ Kx5dHRs qy*@m \k}s_;{C : XlƓbϑ9eمt |uHք)~EqK$ߧn8BAjC8#Bx1Y΃)KY6OsPoCb0#;D?)[]l8F_E|$pC=ehaA 8GYWT¬"Vഃ]@V2ǨY}+ j cb[[19eˈ$13j&v.㦠tviEpR>P^描hS(5nC6fWgT41@b l7HKwj\:9ߜ'pH_NNF>HSJsAZA`0 Ch⪃|h[X5mЙvn\XkgG~O \2ysPhnգ9QaǏxt~1h@p3xbEj$#ψȑWJA;8` $N bj~ (}1Q`lsVP6OOMopZ#ئa+utԙh.cPKi7dvg(fV tM_c{DD,Ja6Ӕ~ؖB=B>'Zi";okD.`y6RdVNI4{ZxAFC0p|>[?EN1~@P!HU޺j 5߇|Yr_B| U$Ө9\ǐ[f: 먦[&V20G8x ՊTh+TޟO/Uk_c1upc YRX8@Vʊ$3,2RzkݒeW;.8h}07&:%$ڱrROPބ덺ly3ASmNHիA^f**V΁bo[KX 2&S*8vߣ@,i,ѡ|j\8"&9dpk V 8<֪U5ֈ0#XꜹF3wC"Naɮ$s$"6э.XEru#"ynz'C  S][;;b6_td'UB2d&"ڝ1D ql'ˮJ9d VvG{ _?觉۷;+ J۰0uf1_JiKLꗌ/1+|a U qc&ε|p zZ9)r50˗HmXy* ga#srB|^ ;6aJA#ݫY_*1Ф `bUrkYfN@-vTm/p@m,Sw]*adQsb!c/eܺ3fOܩ̲$9H'cFXYC32ZoNO<$UVQ!AD;/hW\um-fgϣ,/C(1U˪l+~w?sD҃2 {# Mf:*PXsԓWnC\"yQS(8o$r^B 8 _&;bH?\C;۝@te :m`*y}epDd*U}< v2_`$BĂ=Hȶ{v]J ?^8;Z%uG%?{S4̝z>C1M棋zcSwOG*\daQ]oS=pQ`L?$ZuM¥ *.Fu>8uy[?E-BԳ痗KgvI7\U#m1#oڄ`bOLqзF`j=%>%a.B*\Jj}-ŠxQ5mHf&bW:᫻9-xVKow9vc: W=lg %_anb" Ɔ#HՉiq4'I`(۞cHwF.%jGIH<Ǡײ )p.4?_AN8t1‡ BUTM)v׫eB@z͸v6LZ{Ygc8UFX*R_uD:'œ!IXn.<Nr}i E|/P;>bM3A0#|1 r7 LZM3ױ˰Uzø I;P5p7wxM Doǐ^R|n>tV 4WT⼼M Ra 'ǫF 3VRx +BDC &pz+!(ֿa~'AO~,1CG *H? -Iwt]EĊ+Y>{)P%oԝqJQl1Og` C'ؿ`g<uEZy~?7 1xZ?H?ר2^l򧮲 ڽA>Iodʓ6Y_s Anۡͫ [%@Xݏ>@7+pW+G##-iLqESjݎS@QtI}FxZ޵Třy'Wt)he7Q/Q82ň!R;`xgBtCDg#)CSc{V"<^J[" Jݛ{4ml#h6`jy:[p3#(:ZdӭIF=L`fѯyGr`u`%Dy~Xx#VHx=T2u`\+U7,S̄A;K ޚ*+FVf$@<>]bV.Z-A8穊<ͯ 9#9FYh&lށ}~)ٰIRRb6lX"D9jV#)]r! x{ĎEX EOvilG&XW}OX 1O H9D>~2 ;dq)L8ql'Am_^ r.8<׎S{мYe< +EGEW G\a*i :l@%gÝO'if\LO)a=>S$-YRR~NO[VPAFLS+C~3yUzs1(g$(v5##LHNݫ6_0F%R}ѱY`{Pчqst4^j:ⶄ["TO~JX\B {ij?G!ۼw-mvб#ɚUɝr0VI93J+ej_5bdxCۜk8N$oGEꇱ5e+dtJzh6Ů7C-؈+F)vB[\6mnQ̲ݎ(V67ɖ;:d⫋-fjR}`nG/ R[X bLFP!> ^Xk¡̻.YNntc>N/7RZP˰!p T⹓5ϗ%Ư"O`'D&B-f--@*1:w#2j7RaԃS rZD$)S3V)qw5CcI&,IBWdny)o~\aX{ "8qVNTp$ϜV hxԃ%vbl!Yca7 !b%qR:W%ںE}BF><<šhG rQ.WD^4i G~w7 6(mp|7jC-񛊦kayE h\xن]S_)d#Q&OSh=}F& 7M{ $ g]fg^-lEQ'k_u4g瑾Sb˷_Cl}g g䟘T*Yum50pFF'͗-ճ.Ƅs߄/mMƒu4WYI;UO+l# d+;,F"&K!'Z=I6ɧkӭܱ.!V?Hc.IcD$%a5'9Vlq/p&I`EC6ү;쁮F W4P/D:ݜH/oB|r#e&s(iSi`0XU芳;t4

KWiφ+A?\'lNOhtH e;VHH6GSkFl{= @#X͆{dO=sZ/ qtCu<oeLJ2 d&ItuԜ(ULkbiI.3-!e^(X1.xSzv[H,u/KKUCڇ܌\{)hBx ttXL7l,a)& C r0jDRPJtǽEKLF!e>KpKq|RfMoLí/- &d40dwa`HvMQtQ# %CT^q+DGpV2Ǜ/<aF {x?@oՎ A<#q)W.D|݊4'$=AQ$`T#e.`n\G#0?k`-fiN2 .Xu2q&0Z0ιz=. H zr鼋τnWTIIr,uK?PZaXq ;Foh:AIN r\%sK5~A`O~Ktt/,ܸ  +4=xw"0ccaoᑃ<p\T)$#uYYJb-]U3`,tMJC4>Wn#gjo99cCBio3e*Z0aydgt ,Wq@ޓd\! Z y!ڕfIr)D 6zLEezf/0^BC<;d⻮pWicʪYo ttl>X-d _ ^q'/׵>L.6_QWtNIX WG5]lGVl#Q_gkPa Dž@.UǜQl{ 鼡*yh6Tv>k"KU{ vSo;^[rVnS9Yأ4`u 䙗T8tmeU$'T!wxEM khevɟag lؿ WaL#Lҁ-By"*i =ersOVяw*DF=TS5J)Xf߄Ps',# N|G`i-Rޮe.br~{ =q>sԙL]-@ʆϻ.X|1fТ?%E’BoC.6Jy<Dn1M26VoxkG+. `,R;KB{ #)x\'}&GUHNunԱ/ķ#1wvF:\(͎} NSg볣ZaU#+3y3=2Rbƪu_-WItVF ZS1sT1@7og#;nܓ(Iؽ6?JkFBDg[ʽB{1зynjY+ujv|{t+==!jc7 ibDy@H{A B_PA֋QdC 2dzB9]|0R3. lr9A׼GTȟُDc)v%0 +6ʎ~4Dtmŀ8M? b1@$sqת~׭oڙXw9iZm(s Y>9nm: dO5pc<,,,ӦׇV*s) D!HÉ}FK I-c5@T{F0ҷ}D ĝ+">ew%27) WO><궝Rx\~I)Z2En’l. &F*2wp.(J2* "U8 ^0pX]&,9n@#/o8ߢ^]֍J8Rv2{Wr|Y'6 p>hhbˁ EU)g; >0,lzw+F bNĈ.vW,I8eKsD'[9y<HyR j.i &!]گ_~8/Gg_̱UaUW\{lRi`MGCMݵ5639M 9(M6M;y}pYH|:xx&'&(SRn>jU)P7P% ![057d ArUF5ND;Y+)gomT?&nx3!>4.nZ (_4rL{p`Q\G%!m"Dm`1'f =\c fW|! uW{)CEÉĊd,G!p }zRn@AG !GJڊԪĎ`xiyi4G*Nr4) }\Ж+i Ԅ-n؉3GeXIa$m0Hs A2b@7~4F_F)sԊdW~Z#cQ'T>Px5T^ f&Ǖ۫ZUB-{" [5[MxF9r,v)[ćwv##']vs: , iT/52 JBJ|5Udr "~/6L޿f0ցPefp'-1Q iSWۇUtsmܫx:IrA剃 VUf>)" G9wk:fN/ &/{GvaCW* /&3ShFгg}l4M|-(vF?;fͿPVDF[<*.<4cj`i[=1:$7k >aLZt[`75BZ+Itg$)=f瑦U) w@pGCgQieB3s>;^@j >U3wA. дpOkT9>"1B?lG7nH2gEx N[q<cBn1jrӏ3;sZ]yQc$GȺ &>?v$'g) 0x0$!@瞉HhrNNPCM `yOmwsCBW#Zf t 0%N${#eӡF p+j\ DqR<(hi@6p[H|<ꗕ%&go5r;,_\;~c_@96N9XVܾ\>cB WӔ,7o+^2uqeے zg;hY6RD _I/Zݿi19ށS.>BX: NK ɊE; hZxi+L\t?DY=X3SF@<ְ#xYo>'y09(82IBOצR2\rqEIoi۝aѽ9,vVrsuugxq}b|VnM2 [`$$UQ@Y'=k0 BialTkgk_ \ux~bYtvDm,\s{(E]eݜ vpßp^hC⚘碨n1Hq4u{DB/g"pF9|\ح.f?P+"V\Ef,R5.KN \ŮG5C`g[H9A x\Є NÛC(x aK`aKuB/v` ? 6͋V Z!CrT G j_/nY>5'`Q+ \6G'B.Q"UpNƱNs{#bC<EkӀ!CqlI bߺ4l2 ñIv~Bcfe=eV&W6Iݽ,~l"ёMBg35~vY%7$?Q_l*.J.wa\+"t#]\~0n\_n'eW]Z5S)u.hV96г=*: #zv-ڤ[Q`}&ľJ(Wu6# nι]);Mu0m >o4S=-kw㯃[' X""(εA[vOڅ}\<ۂ%UG0Uzn`☁5i=,wAԎtȿ{"̐FCL-WzLVC b{:´\-~Ap+2b̞*$>NbKE!n VLp9{-avK#˦Gc('HMq6MUVuW3p)xB;07?c41Vkd~e,:^^X-6hFqۻ&͊C?ocODs_^ Sj|Ѝ"UݵDE5A~:AOq9Q)q@Nk4B)m ?-ǰ@ފ/yl;D&A]n/&yAcœ_\I> H*0"_դO/k~A&oi&74;,`8XKs3,f=hCàRB-m,FMGhx>K0B Th sBPX~N6Hv|'XQl9NUXwe^N+F ?%Qe$u}&Q-l4qމׇВŎ@c:g77:i@}K_WȎ78HzɦUܸK4E) i!wVi RU"gCR6%N=>}$™v$&e P ,5gd$"jSM X}9.{2{i^ʞEz2]L3ԄU}uu[c]cefẃ WnyAnWLFo6qqnE^ "G_{x8R*gu+i6͑KJyhr$@yi4hT]u~ĩ|U qqϽ!n_[Kz:PpVx{G#g(oor'\b|.)r2Xv aͥ-^ ``v Lt1I?t#-cg?ףOR^ϰrɯi=?O.R^~?` U[-^˟b빍 c>AHy-zmKI9Jz] OE с;be/My` >e3PZ GD鑦0F<0؈ʲ7J%HCVnDur)h ]/Q6sb~Q%~@? .A^94td mJ )fY(r7`9У1I. <-Ip] cYZЙ&`f;!DN\jp ȋ ۀHU!=_1|[\! ?)2u?YlE1N$@ ](k!xj ?t:RzfXeqiΩ \7q|H# Qfbf|uXbkHJHe5vbӻ4j>-KmY}g",p=KBJ?t?v)hkO=>\' 緪c0x֟J8I !p+ˮ;>N9*2e8yFi1B2ny!+r Vx ky˗qTuỌ'79^wq`鴀>İ'APGOk|2I`s]=*'Q)xl\C>j0t_%K8h҇Up'Y$8\*>F{UUp&|,M:A7mēnuMTX1O]ʗ81!:tHG7Ɨ+F1CSrW,יp88%@g<6Pt.g[_ e>b.ѼXdI<|_9FHoF7"a"Dfrq2P 1^6gɗnud1FS,3:kŽ3а2=%|K0r/.]%H.vfRؤs_9R*xJ)TzA;轲6LM7}h߈w1y[5}7eVb:}H4{DeZ_Sӵ0{$[@n?hwJ[PlVG%5*#1D]ckP.cM)l~vٲVR[=eͽВE`?IP1Xڇ^uGÝͥpdȬKhvpx=2z )@埠tu$5@kS`Yzˍ4lIsG§t:e%h!%=W X2ib:+!fqNZ)C2\lGOy0g>dM: ys5[#@4:87CFwbiL[pWUC浚u|hdG YZ