grub2-i386-pc-2.12-150600.8.34.1<>,\h{lp9|l9mɲ5v.Q(%)#-@ӌ9eL:Ŏ T7*Fֺ04".7iഇ$nhP"@rfGV]^D%[i͜5~mrB FH+FXѪkg%>alp 󉽞;RIAPHɷÑ_|"NW,nJ+Cաcb6B?pǨ0uwլ߻c,j9\shv>@?xd # Yhlx|  L33  ~3  3 3 _c3 `3ed3kc3qbq3vPv` v w% (wO8wXV9|V:V>N GN3HR3IW3XXYX\X3]]3^lblcmkdmemfmlmun3vr wup3xz<3y (,2tCgrub2-i386-pc2.12150600.8.34.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 pc systems.h{lh04-ch1d%SUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done!*( >dK j$4<L $  y4 l    t} <B\ 8lh T2D(hb&?4dlEt5l x TD, @@)J d ( K;B#0`bpd' <0(%@x  L!\ , %$itX8Dw9,  lL=" @8 D | 4 8X" ,lT @tDT( lϜ- t )\pdd  < @ ho(` pH40 . \! D`  h0#p;HD(th4 4 h\\F8/l8h0 ( H<% *L $  'dp|!TDQ !n\;LdA큤hzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhzhz071e41b030c59b3d9e2cbc50171645a3dd819fc2505938bd11af38433ad42efcbb71b1a958647e75ccd990c30e25c88b75f198c49c42944317a9bf952c06f2ec03843977c881f31ce7ff88e48db217a1c248404f198c7bdc9c5fe3aeff4b9ec47a900902dd5d6a014f256d394f2b5e87db507d542f37e5f847e78e61557eb4720edc86aa80e92a7d31a865ad5cce74cd4c43464bced3eb44794add582e506ce187e372ca4667ded88bf95ba48e0871f7e1c74c98205f9b9e0a8f59694b4410436c3a0a7c9628ce2102a07bc0966043ac773748d4b63c1ad494a1713084e5384ca8d901caa4a994c481feea58e47261e0ed6d32846e1184c506bf0885575f574fe9dc1c21ecfc359d349286377f8e53841e52b38f308feda0bd3205f4129cac3a2ab57da6d3add0a73c70e336c882c681cd5be93b6fed66422715326ad0734c22447f4fdc12e31248fb14483330a096fead352a1d2ca0fc0453a724c3c1a2760054071d6fcf124716b619886e695deed301513a46cc66a820b4c88a2077803ef98dbf19d287c91a771557f8f10220d756dbc30f1d60b06999672cf666c8ce472e10044eb7aa679cf77122af7831ec4fd4e5389f38fa5e47c815a0df89cf18bbb51d4b9dac2199b63b8f6a1349b89d0c3da44df95e8bc3971872acc2f5a7f5db274784fd714c2fb09b54927dc6605ec7c08356ee7811bdc4c9d79ee5ffe13294b117f047dd2e0598b264a0a0874dc8d63dceeee8482ce6f710910c18d0771b1c98354bb72b433c52ad0d5a2423303721398c177ee171ab3c1368391966d86bb09e21a8e21b3c4f53765e92c2034ca200518d64b11d6d66d7177d8122961cf6c5c60512fd2a51006d9e88f71260e4c6ed86c7eb7bc94a0dee2a61998dd60f229d914bf93098d09e0bc33cc7d1227ba87a781b923e4456bb03ed27cb80f80dd91f95396988f3baae5068a183d6ca85b9a13443ca531fd882a559023e56bd5a856a3e6343b7e9f06388566ea5b6e8a3535fbaec1f695a0b3793caee5386237d4d3450b0fa61321246f8d3509d4be85feebcae219f909a52ef7b0a7213c344a74f87b23566224ed6b9115ac26797d1cfd405bc229e4c5e99d6b18f12463cdf9ecbac672d3027be0a695db635d0bdccaf0a5184636956a0769bb634f26429908c9cfd1d1c9dce2e102959781563c7c1943172a950e206f5cc3c57995bc7540290009583724d6ec30826e0580e80172eaae6b583fd72b0be64f38e604a8af89febceeb041e1e48b2f739efbc84b7a4091ece30784b3aaa77f02de42b94f24f1e71a267bbf626640ab8de6cf5851dbb3932569d59c1932ed57db6b2be759b72111f3be14cb5944c5652ee2c85f0aa04bb8af1cb18fc65b611b04afb4f36336bc9eb3b33a67c6651daaec50e06a414f7d404d3ba696708b7cd1276049f87fed3f2f497b660353dd42c7ef5ea0ba1c489b8876c2de7a101e42a2bb9c40cb5c2c09ab0916d6c7d2b840f7c5f942f28409b8c710bb60f474ca53fa3ff26c7a0258d837a67d7ec501288484d9143c3f7a739b26b012eaa9ee0b41ca42011f7e97ee401e06e19d654c674c7050df60d24fef77ed631b28d90d81a882cdd9cb1f66dd3b44d96c43d319e2ab331b3a0f190a49d7e60896b96002134e0518ff17f5d63f26a8e81ba972b798d5797373b26ca852bbdf5bcea9a9e4ef20ffb57cb7aa41e05883695a255918f78f7942461a94696ad3d92b446482617a5f59983e7bd8833d1ade37f58d2bd3d0eda2fb5bca6174ee42958d92fc43d707333182f1543bd9f3b9ca3d0bf96132497bc1a4a1ee58495164a36892661f791aed93944b64856afd54b80035027678f5a66148f7b17f9f123c3f4961be984f1fea4284ae5b5f4528a2149baf5ef12b1315f43a02478e686e73bd19e52f12fba0d1b1e0c87c501d32831b1036be15adb837dcf6b6600e7efe665ccd66bfb98d14707105cdba79ecbb51ce933470fac9316ea294ff936a7c3ec1b8e955ed40cb28a17023ba8936eb7876f91c15c1db4ceda0156355fe4e32e9a022e4b7f6d8e46a17824f3fcfe3a7831e241d63166bcee3c7047096d32040363112f65811002e2ced20bec6bfea577fd68f63e614463ac61dd7f5a2a3dec6ec20a0c007783a2ddf3083d7512291c9d8686db7c72113a1d1fa647bb2a64cd470b2fcb0e301db81860c49d23bbad90e58672f70a33d97e420d8e54cacf174bc643c6bd1d624abddab53b01a287f0ed1cf2f876f56009000a781b847b28d746d95cffec9cd883dbc776a01ae849a21406b05a5852f6751b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc4392f9f2d27144d2292ef9d77d7b8060b6c87ce27a6163e4253aa45f2c48ceac7d6b7fa408aeee569d1ff1653c299c7846023cc9095977dc10125843bfccc6d767a07dd5601350032024c9e8c95e61894b2affcf2aa5aea5fa12de80a56a2a2e9e849615d90ae413465075742c5603a7386795a922cbc7351b283554ea16e8529a8cc12d73856d1d65e713d644605f6d4d2ce1d1888e8c4b8d403a9232c288cd06329798ff7f0d85d60bb3a10f38aae561db53e9813fee38cdcbc633fedac6d71c24b2415d60e372d1dbeb9f3faeb88dabc520934fc1ac222ef190398621d48af0428aff3de457012cfdfbb2b06c44b3913ba2546972b8d1b5cbf79d5e86ffbabb6233428d37e90c21a40704829153c72b8041aba0dc61a3dafdfe298f2393bf7039e120d2970d77eba0194b7859b043f46844ee2fd5a20e9139c3e2082c84a337bb6f2bf1270918a15acfcf455ced938466c5ceca40c3d35c74f039d9a255df1270155829322bed04d2f7a898cf2b83f599f0bb168f489f1b03fa3a1efa7e2e8e46be84f23b6e2027a682ea930adbff1298390d0b7f4130aef881c2b4f86dbd06a65d5f4c32c67af057984e8623e446323b7cccdb865380c3462ab2a1c0bdd581d12a1c10f0e794cfffa2a330b211976f5771fbd30219989da03690a16d4de0b3ab7a364410d17540bca434eb076f9c6d4c0317a4554c4571399d2387e3f000abe054f84f825ae4fba2760d07f65e087319d5c3ea4177205d141e5283c629b1273c73e12949211e6333c7f785b6daaf4e3c8e97c0e08fad9b4834361cb231ff69a1ee93630955a081201315ac5db4b6f76c9dc59b3ca162d59f7a8c59939072336a233543c65412575d4a644f73059b3f687a2bdfcb6a9e0fbbcfae369f74745423d3f162fdb7af7ed105861b701d946153029b3b689214ca9e01e3ec71c70256bd0f5b0f0dac24cad9a2a80e036710db226b58d5ba03d702c10e23360c6199627a0141dac383556a0fcee12da57d2ba37ff9876a0d58cb52ba53ffac2f57800c84691df0985d6e73bb666471bfde7a350a913785ef1081b3a1b3453bd5d6f2427bb8d2f1f30a3efe20807b6dc5b2693d5219d1ddc6fc10270fcaacae1349a32486857f6eb854e1639d0f06c98c94b975fbcb560a5bbccc6c863b2ab82ad49ab54c8d752a120999cfa71aac94c9773ff8cf7ddc28937f8ce2fe48fa1a13b00ef3832f70515e858b406de09aedc4b0f2e5b69e7ffffc302aee9ed997a9a563a90eac13f2e3b2ae6e2464b2c3ae6a471517788cf8562a24603e67f0eaa2e39113c3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c291c170c6a4ad1e2f039c8d5cbc8904ba2f1d4dc28cc5305c286a278f45307ebc4845be8cefcfe88a9fe57e683204f2c9427e9195fd71e3ad4d627c634633d5a81780a4c9dddde0bb88fdd1724b576b86e4e6fd3e3f12ab299066640653248d32fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c5759e61ec581c157ff2c9a324c77acd960343e0eeb55a57b35ec488087ebfeaa0e2677a0609edba91ccf55f72b881d0240fefaf340f2e03b577f115b4924ab2a92436ac9e6353db9a765b85f4dd31214306d5d9efa84d6109a5953b196f3e91aa0efefc966e548ac66b632f7243ce0bd2df2655ccb011d807283b2bac956960ee659847c21d1bb01c7b2a86dd2d3d23fc6f4a7c90915dd7ce7c5ba0124809e1d0c742c50a396447edca6ef2cfbb687685716eb1bafaedc8725f2906c5f8707a91adadb05fab6fdddd7c90cfcc594fdf1ae61b8ce5409057e890f58130629f578839e08d5a81d829ddd10cf8d1a422faf5aab3b1d43e6f26d660de8b9c846239e384f8069aadb94be6e848b9e565ccdcc420fc423628bc96465a27cf614833134010b272bd38913169d8ab2bd99e3c32e6e3e30281abea601885ab2ec68b37de5f8a47ced3711df52b59adbf5cdbcf21ad070532ead14234e0a34cab4ee151ca0bcd53e0b42b70f00fee8441b8a16e1aa92ea8164346b4185c963793e7df90dc3672630e8a9375e56bc4840805e2d78c439716431a6a4f2183eb3d4a681b9a0bd29f287312966baf5ed850130b37c87e651732b6a779d03b8d76eb804cd2a59466bb37712f04bc8564737e7cc315fecd7e7e9b21a65d431b32627ec7ce11403d093bcbc808c2c3ee3f3b2733dad84f1c83c3badd7ba92ee8ed11485bb7bfb533cf5d5cb62f8a38d6de6548c6ddef60b21cf1df04b40f1ea8870690eee52df2d603cb54483a4371c4b058a0afc67da045b69a921f05410893d4715758d344a044ecc79aae3a31cf8778229537844dadbe6b0549d2ebf7aa5e55faa3887e72b2aee0568e793eeb846d6cdc6c9ecce8f1b61df0b53d73d1e869e050110e13daf644f05bbce49de4be20e1ec3b57915b61fcebc739fabcd611ff2586735af6232c2ca60049787b9ce430777274de4eed5ab824ff24f7c02c25a378f12a350f0820a3ae4d1b38f183ec2e1ebdc188e0979bb1be12c7bd1b9f2c49c0c528cfc61159ca14b4bbae720066c40a01215d6dde055cc379eb1fe8e867681e001cb90c47edd1578a3adf651cac306e156427a46364ae78a52b56beb37e7773af9c1a2fce3e52b3a7660fbb0570df9a221799c65fe66aac439e47f243fb11c7175292072150448d24e4d4d397728947754bece35e054bbba68197762e6014868d6a4a9d76afa829e96703ee0c687a9d799767326da81f1a18d17f36eea52d2e35190590dc64e1e1bf36509f3f79cb7e0f12279af9593fa65003628e3fe1f9990e115c2094504300ce0ecaa821edba962e1c1989b697a1addc6b194f0d3130165e445580977404240bcb376cef5a127a64f3f767b60959f165f95db17dfcc56d14d593e1705c96dfd761e5b7b0fe571621a39636bfe793f0a766d78d0f84eb012cfa872b9944e9f6bb7a2c942d4e4b4fff89c2e939a4ffe42b380544ebc74dcc9bdbc48671db650deef48f47d8ed87f5964f15762effeef3cd3963be889dddc8cb56f3421ccadfe44086f5468b76d26413fd0ba89008088549daf17a03c6e57ddf687a3a9246e5f165b56f6b3302af373c43717f07136fc6de8fee08833e571263b272493d271495a3afefd98952bdfa0b23f0930e64c9604e447e25a5f3b243805af5174b74eec012410e4e8fe1d620c40f497767511d2b2ac8c22374760fec9f5577028fc95e3b1469f399356fcfc66b7e981da9c343ce3ed548080b6e20fa4e2b1e2995e1733468b85be6819b1369e180b1902f1aa5c96d76352967119b7eaf3b5acc84f326798c2360c6323f6eaa47589ac32c4ce63c07df18bbc44e692632ead7456ab1504da734efdd0e267b2a91010f4469b9bef7074f3475977ac7964da03c47ab897c7b6e027ca6f656f5a1a17ceda0dff651643cbe49195a7cf3572d1d2cda2ee37ed886fdef6772d930fec0e5dc1fac8d42de40379ace505a069e984662fe4c5ce534cf4d0b3d6da60c512d265ef2e9d07e981fa0a7c05f9185c5d885cac2ed2f138f9220fc12a7d5ad23bbcd2ed1c3dd63daebe88ce12d9b2d0d8919ecdd1c14c06072e04524954dcf0ddec7703d6474840064a921dae7b0f3fd473a4cc6d9d7750b6d0a20f85624794afaefc32c26b8d057199e4c679bdc101049197a59c30175e75151deed9324bf11aab88ec6586b8961ac806c2fcf3720f1e8ebf4c2a2825db2b0fd44b7cba4f6b5a5f3cb51e3092e8a97e101844070173c2a7c0590b753fbf0eca0234bd4fc6e0e03811d81839089e2681878a6513df6dddf72af727baf29e0f477992b7823d074c3e36f9091f339af58a2cd1bee5fdaadd24abc23d155861a01a195da111050a5f057dd7032f850480ddb063430d33e24e968749aee3a245acd0f2b49b6bc33f5adb0437f96ad5602265c815c72c2c8633544663de10dfd166ead8a2e7dcb0437a40928d9d251e3fb701dad819085425a5278c02ec599223a902229a34a945ce35018420d5e77616149d820f3d5afa0a0355fbdd371e78a2fca0c1e5be96c7420337975e5ce2ba40efeb0a5de671e4ffcb077b64442a26c6de31c83306569a226bbc0301c7cbaed1d0c36cd1ebc54c14202e5d6d590a4eddc6d2caad9c22552342f8b8cee34f92bea574fb888ff6deae36eaefc457c264e28e81a217554bbe1dfaaf380a127ca33da1bd3e6fbc52c570d0d95cb3d0ad9c5ec65cdf8d4978082816b9be3cec14f0bb8a6ac32a1e5e44c6144fcfb2e2426bf9662a7ec828fedba791738104829f960b76efd941a0bc038bde88b1a9fd047683ccc1c586a76b6ea5b7604ab0a59c3cdd2f8af7e61f17ac2522e3037ee01d2e14c0045b3937c6c7c04ad8ad7f3930bdf2e19203672df0687eae22366ce17161bbfb94758e26a1c7b86ca5f13d6ff39a5c3badcd849ebcdb2aeb9a60a0da9c54fd55544598ebd7133c0ed1e3400a105f3a1e12fdd814b1396094e7e6a7689c52e5edf2573864d6516d4efede21deb573d357b05f631807955fcf94725565250d434c7d334d6a3d5724ddf3fa91a20f3695517483be3ef39de340e61a86c6b3281d63052bba16151dc1da0dc424ff19a88d6c72147d3874429ae7993f656524588e8cef4714b0034be3a8b09b2dc6e79e213dbe9f655ccb715cd3eef185c0dfb5be4c022fc64f2cd26b86558b0d13b58d8a4587909f1db707981155df5d1dbbd59be7870a016907a67ec411e61391e7ed7411ec4bded8956483154aeb2babba5841553b7996c70e5e34a96c965f368a34d537dfd8288e6e47b66b712184f9c192a91df7ff7b4bde9d74bdbf9ae687386c13644c2cfbdf30bc3fa91e51b85afadb92d276fbd3a1321f73f50a313c91395f5fe96bf88f09faf1a288e916ca8da131618ae68c47eab842265fafbb0d4af6b1fb4d00d088db4e554c9de34b398ce012db9eb44cee041035f91acd5f3d4c03c6466506329c6208dd2baa3ba48803dce684f08a9afb6458c8f8cc8a69b53e0e071475135126f3e4c45b86c3b449c7cc3542223306c9d68129b8141052edade071b22f3a8c0ddffe99752597589690f4e26716ffaa90a88a980607f7248c605dd653efbf87626ab1ba2ac0f342292237467ff2aa526bb1d6ae1d335e33e9c9a34701b161de8713442688c0a9e988e73548d53bcae71035def4c7c07a2820021df8d80033eba9256bda39b8b2b67d1aed5d8993ad546f653efb71c1aeef2a11e52d0de5c0c73de1cecb2a91d76e393c184903f63c3f5c4f63c562685e636ac6808828504f8607fbcb6f294c1432cbc4e09ef3a206791b9b3c3165a38040f0f11ced2a8b7c356f9e2a6d33c8d2aba436d1f69fbaab88f25f66a7137e43e395efa4970313d7804aef5abecadcb7c3d7fb10d27afbf99631ba6ad0a9405f74e36bcae376850dc97904cbcf106bbda84b0348c0be4fa1f6ae549128b4a9a1f863417a441b2e0dddaeb7bb09c86ea43add45e5d729d59d41f71ced9d61881affcea7c9b0e6e060df451fd1f09ff28bf2a5c615d7d36fbe18369119bc00da8085139b021de4966b7e20e96c38ce9921d30734c872a3f18d9bd64caa4b8c00c4f0bf07b4267d85fb58ab0904be4713664e7846faa70c2ec7a2032698fe0e9bd17e7bbf12f794f1fda9ad486070baec7a2f1759842c18e8ec232a6695fb6af921c077a3faed418eea1146dd07abe926e4bc479cef07d131acdf96ca77d49cec139f62e0f442fd1d0d3433d5ff360dc563acef00ffba29efc54cf8960dcfdf4a8d20b794a8b923f1f951403e0b95a28b60e52582810a0ab9da6432bedc584b6e1e923a05c84f48eee5fd92ae28a14f050735e9899a8c5f60d8fe33f1429c5de12a5dfff60e47288fcffe1139114c00dc5a1fb44abd5658cdd2ba4b6ecc4f03480629f3a480e5a9e9f1a8fcf7691166e6976f7280bd3acc234cd4682ef6d88265f61742d5f56590bfe2acbe3894345c3e88218078a15f8b2df3d1782cdcc56d04a2e6147544c0133c8e058c3ab996764348ba851c1f74f89de2dfc39a021ba2bbe5eb12147c44e727d626fe4fe609aaf0c7c5beefb16b510b62b96cb442fc41698d25682ab71e179f782cacd6139530f353c0b5a24acdefc70e8926c378ed84f883005198a0bae83dd4fad4eabc5422c87ef809e34ad6190cc3a76de0d1a459bf5fc6fab8ac7930d611a27916567e4b19cef69b3ebc06c2048cb62b0587c8be7b645db58182a87879c63ed3d455b48849e6b47122faadf06e633e87618e62229b91100f1346657b6ff18ace5b4065febf6048f16e7a2c32545200636cc9671adcd1a8078e27093c21d721bb41982dde9b77fb3bf665e10f94714ddc0440d72fd0c885aa40c0b6fc1d31c3b3c093c48a726c0ba9a7f8bfa28adcaa29f34cdaa28b7f14cd2d4be2d5f13c841dd255f2a2e4852a0e236ab31fb67b61ad7d6aec38910c354083b723d66ea2189b0cd017e28dc69de653df2e304ef2783ec71cc0a2b04a917916b527d15e0e0e62d8a0267d369d4b383e14183e2437ac4da33a65d8ca6758063dabf12a1cbf6f8aa69c916cfb3cb20647e4a8da92ec0e1349cd7819732d60e178039ab97dbd793e384630ea58e64efee556acc1e90005e28c94825c9e1564d4d9ac711b4ab3204db7af249ff1a27d1ff2813228f8d9448625e5885eeebf5b6a2d1fb0837cc3ee80bf271009af59af2cd16841e0c2a1c99004bac7f73febdca9d8590a528b3987d65da8e155dd2dad45e00f964faec0af1b457f7e242e8216f3c130647d98546ae154a2f1e55d34afda4cc9f6d97c67efedf8b11d48e2942012e28307005bb66ec6599b2b3fe7ab8e1c611ffec26685a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe3d0fa16b1bf66cecf0cade9b655eaf1736a282ff588546472ee06147572f9dc8ceb83c4ea8afc4fa4f23da9f683a678d8fd1058decb9c7287014e19f0a5bc1f9f7cba3e2d3a8e43d4e86494587567bd3d7e0a3d4069370b4f8ccf0f5a401837d555dfd63192a0a599697f94a1dbc07ff3caa93dbe92ba6452cd529ad5a0199579dd8218e9def05a3462de730fd11790b91aeb538346c5a35e7001ac770a7b39b03349e8d59e87b77d2bf4d4a672d35a31a04b944af4342722d50a729e1672d0218eeee729c5127fbf1cd09c19563857f89c135ea3775901e7387376e47923a5767716667b170b95504a5ba4facfcd2196d03fba3b28fa787f870a0c9660dc56c85fb1cd4bcfea83625788c691fed9e21f7833f1224d718f5372511abf7ad1dcce850713fe5bdfb1ba00461a38a6789117f419eee5d2152fcbb2a8f2b98137a7ebb43742992a301e6d060336727032dd695f60a535db35c65d85826e9282634af376feb547b250d5ebf7135d2e9019007bd7c3013ea207f04edbdb2d26b4cab6dad5e6632d4c70009d2046af18595b372632330e714825b5c6b81bd24b5a9df785a45f25924ed92910eb80fe6d632c2751da82a0cd6fdacc70401d52816fc958fe47581ad7f4b4bd621b014c50560ac03ada9b0c2023518ff1d5d9f3fd80daa327c94ece0d7010e12ab8e55636d5d4ac72566269a41ac8afded87465ef02f23c92ce4f147f5eff2c12a7f22d2ab564b9b34160817a9eb2d416ccd6b27ccfd85182dc3ec8372e1ef2fd02644c46dc922ba5742f77ec893de112b2d5f801c830f612cbf0cf4c98c70f297d6d07e3f5f6deb2ba881df57ca2cb162047009cc4cb832ddafafb8abd59130f4d095a7fc9fe38e1e23be1fdd52ce77b0b1748fd536321f94276fa3cd97fcb1c6c50c1298a6e89f05b1259088a9934fabf075d49fb90d89b4fc921870b09dec376d59fb6ef90e7a174984bf8e889224681479f457d275cc1d8f4a7727c5eeddef5069593b4d3c94434f7879067c70eca310ac714e51ad8754f12132212efdea598e5c72d6980da1a13238dc711848a48c8df168a32bd39cc6bc643b95e3ba3944df0ef80202d747d503e44904d910ecdbf04380ce85ce9e0fb1197ce6f18322c1b2f57ffb31e985c43830d323cf7ed55d6e13e7fcc88a3a6af582ef0e4da0b59ceb569b22527c438e977c165910d201c6972965ad940cc79a4d297e160313482288c176f7e146415e7e165198f596d0548bc7eb6a6641b7778dc93a3d35bad6f5717f0c87dddb903ba85da65e0c89eefb7dc5b4a081ee1b10c98e13f7867d027e57d9360767b442523293dea595c84ecc9bcee011158bd210b59c5ed311a83a94e8f1367d7ce5ead3b0fae0719b4816a2b00e899302cf08461852e71d283eb1694f70a512214ebeb8cb88e8fc9e40e519d4b99f5fe85e65e99e97ba06702784515a2f6a14dd50d78056e78b56f7bfbd4b3beb9c19516cd8340acc441b421eb843a6e73a9c586a0fa098db197c4e7832f578247a782d95d398f9d1dee7404c87ed9bc86ec0ab1850b3037e8d0e33ea2d0cd4393c871fefdb1f2b8be73ea9db83782fff5119b943b4fa6458b2414e771390fb5374561823dcc5a44edef766348aa0650afb3a569f8426b08df982269251e8e9f707bb537f8680fcf96c586e71926a52debfb0b613fd1a21016a5722bd75181373a8c759dd79026d52f1e01552c54f274ca3ee9d046c56fe58478d9f60d430736f25a6696bf098fa60cd657fce787ad7294c94c0f175a0a0198f8d724846024bdd0ba27d950567c04cb913356d6be6839851c9c6cc02a4a75b2863acbc56f104d604bac867b69c4eeb60fd2bafd43d16690e99e045eec9f622b4a44fb35328abfb8c3fca1b404918b2284fc23f4bfb6979d450b443ba47aaa7cd83ac5e6e3a3c117218431f64f2fedc5c1136f6b0bdcea1cb3bc74707703d178f6f6d261c4c2bac57f93c958991ea669c7d3a813c179273a0eb5ee2ab5349d85274ef58f6a05ae4ffe4122d8dd8d39d9360f8de77cd529e2c4f28f770b7ba63383d37e07fd86f673d1ecaac8fbaff853d85aefb1d608c315df54cb0eb506a67d118a9f9ea4fb09a21ac8c56f1aa9380d7a1be2fb2922a528e68fce5ae6a89c602b9db21293c7bc097538b1d256f7ebf67592b6b8f4f71f291b26a01277d84ec75b91b428760d15f7863b7064be3998a8ae7202959441e52c70a4408b2ccec3f9a4a39fad1f27e58cdc73903062809a384d310299de0fb678e5d3dc5fee78a2224cc3e329baca9bf4be8c6e0e5c5c0b510d91cccadaa991307eb110e3fcbbecf70a72e806a6f73bf690ad5ab805ded821972be9546bc550c5dfdfb76cf13430ca98332a246fc61279dd8e994d69c52240a53b4c310abd3532a41f46ffa229585bc85b1607b8b604e4ce242ade81a3bce3d48cde5a96dce33e96f046f204b012ac8fbc083cc1d503c7e9ab60e731097fcfcca22f9d5f948bc5f21ef1cceef0cbcba4827c2b850d885658316272d87f7145dca5f9399df30acc6fe6dd9e7bf1933f64a3996e6410dff133d201275d4e699e2bae73e1749ab16c5a4ea6a4e0f2c435266ecfeda60629ee58563cfdf91ea90f5bbe181d89fe739a9563b17c31b3e726e3fe3a23525c09720b212ef23b42362d7277c4f0396fb27eb3c6aec75895e9deef7ae9038caaa2d527909f129a5f7028ba723c0a2bdecb93208619925449e0a606dc6a94f32a73ac78584f83ae75c2158c1ff4ad1afe123af9652420c09bebff496577ef4ee73a02479ace3874c2b4e6ece096a28b9e4d0ca6f8a966270cd6e655b5217bd21bd91466963adad7a4e320f045d1f83add6a7dbe29a3b875152a9f2683ef69f07d954b761de31196581d01db845b96112f907f6e8771c734e1c50689a9775dd09720c493b5b482d60c3a084fbf82afa205ba7556dd4d10b3b11809c9e87c88911270cd697274da6afed8dd8547ac566925f3d140c2c5a407769c23f3eab860b8b9c9cd467a76abce3f7a77071e1dd778d60644d9524789e8b1f4a3d8762a2d0569c83dbd9e92a3492857d04b5dd22e78ff52f1fa1a1b07e779c5c7f163e70d9d8c3569b183bb62008803f2a3849aff097ed2aef5d0a08a89ac94927ea94a6d7ecb1545ad67d5ca6b8e51bf27c7a08aac9145e629bab60af4fff45704e339774ad6f002fbc22626f1091502fb1624ea72d0c4e7a58454a91045ea771071e9ecd89450dacec2774a6a45326979fc818b96ecffcac490d2ea79b86c3eec28c33851eb1dbfad5ab8a675cfdf04f93c53123b9047f7a81cf3976d14b38b178b435df661fa7714a808ea75db6dcfbddc10908bb13b83655ad3d0d5b8038166f8b98de99ba1ccd6ddb8f1e90e13bb53f7265f01e44d8b6aa88ea675627c210b975af9f58406a8eba1c1fef8603eeb89ce7a948c8c6069ede46a7305daa3c756a593196278e2ecaa7d0e1fc0897bba9f26e56ee8bccd29dbd2a72ed98a9aa52b5582002c2b7e18370e49a7a5e7329176f35d8544c2474796ea37bbcbed5ee2d2cdc9cf93235a520fa44ace34b05a54f4fcb95e37c4254bf51a909f9fda18ec8b4df74c6712adf90dd218be230581453eacbc95caac7c1ef5c4fd3968924679466889a75231698b8a7a2a2a5cd8f21ca45025cb83c786799564fc14fa8e71780fd7875ecfaf0d4cfe96880367bca3f62df73b146025f63ffcb080ad63134ea206eec2f8b4cba7e0e0ec71291e567ce5fdc996e9888c408e5fcdba6724a1de3040d1c576f1e8d32b9fdf02ea9e00d826bccbbb732a5d916c54f6c02bf9f15da704467e344330d0cf30230a7bf0ad36a23c7eb2976449b61bf93fe98841a93d6014711875868e81b60bf50ec06f9b67e4270a435da508801b48acb32edfb1c1cb630b17ed5bc594e2810a02360ac24c6dd0d79d9e06fe5163724e5587cb3524056df5e73c4c8d2bd31579c0635024be920b9947938b755511b09b13d4764035804a830559016cebd50b1c441707bf66733cdf1fbc0a493a81c9a06cb9ef93642205a36d3b7c266bd01e47dd37e79173a55a413ce04a84c264abf93d403e83fe3970edf9ec2b9a437e4b4b4e2fefcda0fd6b62106f3b3991e46e010a7da94d1410029d1d8c5e483810ebb05407545156959df822387e33bc255840600c4a72f9fced8518c5535793cd37b535420d4e5b176011b606f4f879d3215f3b3bd4a623840c61a068ff2187617725908216a630baf79c8e0dd2407b0caf58204221206fad5f6f52cb58131af4bbd406ecee5b15292700f7f5a6ec050c52f4fb99959d8995ccc6f10ca59a7554ecdf37cf635ac354b2a6b5c2addf38aad4361bf07495f6f3b1781fbd8ba29e4f0d6708897705fd642a34766c49d009dd85187dac51de3ed761aec00e4803b687039df33812b990dc2eaf8ff60e87b7a7741c29a90cfa95c32748da38bf9cbb49be8f71bfb59646132acb12a174f3786d82330ccabb52b2f1476e2178d6280c74f2f8d8df9rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.12-150600.8.34.1.src.rpmgrub2-i386-pc @     /bin/sh/bin/sh/usr/bin/perlgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.122.123.0.4-14.6.0-14.0-15.2-14.14.3hh@hw@h@gggřg0@gg+Z@gfff@fJf@fU@f@f@f @ere7@eПepe@e@e@ee@eeL@ehy@e]@e\eV@eSa@e?e:Te9@e6`@e-%ee@eee@e@e e @d@ddܺ@d˖d\@d du@dS@dI@dBzdBzd>@d5Kd?@dJd@d@dd@c>@cc@c1c@cc=@cHccc@cR@c]c@c|c{h@ctcr-cr-c[@cV~@c>@c-c(Yc$e@c$e@c#c @b)b@b@b@b@bkb@baG@bT@b=b4t@b1@b+9b)@b)@b!@b b@aea@aq@aaa{a@a@aaqV@an@aKa7T@a/k@a.a @a @`]`ٹ`"@`@`@``@`q``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]0_@]@]]@\ޢ@\ޢ@\-@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@mchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.combwiedemann@suse.commchang@suse.commchang@suse.commchang@suse.comgcomes.obs@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comglin@suse.comclin@suse.comschwab@suse.deglin@suse.comglin@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.comglin@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comhpj@urpla.netrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.comvalentin.lefebvre@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.demchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.combjorn.lie@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comrw@suse.commchang@suse.commchang@suse.compvorel@suse.czseife+obs@b1-systems.comfvogt@suse.compvorel@suse.czmchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comnormand@linux.vnet.ibm.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.defvogt@suse.comlnussel@suse.derw@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.combwiedemann@suse.comschwab@suse.demchang@suse.comrw@suse.commchang@suse.commchang@suse.commsuchanek@suse.demchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comguillaume.gardet@opensuse.orgjengelh@inai.demchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comledest@gmail.comledest@gmail.comjdelvare@suse.demchang@suse.com- Skip mount point in grub_find_device function (bsc#1246231) * 0001-getroot-Skip-mount-points-in-grub_find_device.patch- Fix CVE-2024-56738: side-channel attack due to not constant-time algorithm in grub_crypto_memcmp (bsc#1234959) * grub2-constant-time-grub_crypto_memcmp.patch- Fix test -f and -s do not work properly over the network files served via tftp and http (bsc#1246157) (bsc#1246237) * 0001-test-Fix-f-test-on-files-over-network.patch * 0002-http-Return-HTTP-status-code-in-http_establish.patch * 0003-docs-Clarify-test-for-files-on-TFTP-and-HTTP.patch * 0004-tftp-Fix-hang-when-file-is-a-directory.patch- Fix CVE-2025-4382: TPM auto-decryption data exposure (bsc#1242971) * 0001-kern-rescue_reader-Block-the-rescue-mode-until-the-C.patch * 0002-commands-search-Introduce-the-cryptodisk-only-argume.patch * 0003-disk-diskfilter-Introduce-the-cryptocheck-command.patch * 0004-commands-search-Add-the-diskfilter-support.patch * 0005-docs-Document-available-crypto-disks-checks.patch * 0006-disk-cryptodisk-Add-the-erase-secrets-function.patch * 0007-disk-cryptodisk-Wipe-the-passphrase-from-memory.patch * 0008-cryptocheck-Add-quiet-option.patch - patch rebased * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch - patch refrehed * 0002-Requiring-authentication-after-tpm-unlock-for-CLI-ac.patch- Refresh PPC NVMEoF ofpath related patches to newer revision * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch - Patch refreshed * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - Patch obsoleted * 0004-ofpath-controller-name-update.patch * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch - Fix segmentation fault error in grub2-probe with target=hints_string (bsc#1235971) (bsc#1235958) (bsc#1239651) * 0001-ofpath-Add-error-check-in-NVMEoF-device-translation.patch- Fix zfs.mo not found message when booting on legacy BIOS (bsc#1237865) * 0001-autofs-Ignore-zfs-not-found.patch- Cherry-pick upstream XFS fixes * 0001-fs-xfs-Add-new-superblock-features-added-in-Linux-6..patch * 0002-fs-xfs-Fix-grub_xfs_iterate_dir-return-value-in-case.patch - Fix "attempt to read of write outside of partition" error message (bsc#1237844) * 0003-fs-xfs-fix-large-extent-counters-incompat-feature-su.patch- Security fixes for 2024 * 0001-misc-Implement-grub_strlcpy.patch - Fix CVE-2024-45781 (bsc#1233617) * 0002-fs-ufs-Fix-a-heap-OOB-write.patch - Fix CVE-2024-56737 (bsc#1234958) - Fix CVE-2024-45782 (bsc#1233615) * 0003-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch - Fix CVE-2024-45780 (bsc#1233614) * 0004-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2024-45783 (bsc#1233616) * 0005-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch * 0006-kern-file-Ensure-file-data-is-set.patch * 0007-kern-file-Implement-filesystem-reference-counting.patch - Fix CVE-2025-0624 (bsc#1236316) * 0008-net-Fix-OOB-write-in-grub_net_search_config_file.patch - Fix CVE-2024-45774 (bsc#1233609) * 0009-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch - Fix CVE-2024-45775 (bsc#1233610) * 0010-commands-extcmd-Missing-check-for-failed-allocation.patch - Fix CVE-2025-0622 (bsc#1236317) * 0011-commands-pgp-Unregister-the-check_signatures-hooks-o.patch - Fix CVE-2025-0622 (bsc#1236317) * 0012-normal-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2025-0622 (bsc#1236317) * 0013-gettext-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2024-45776 (bsc#1233612) * 0014-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch - Fix CVE-2024-45777 (bsc#1233613) * 0015-gettext-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2025-0690 (bsc#1237012) * 0016-commands-read-Fix-an-integer-overflow-when-supplying.patch - Fix CVE-2025-1118 (bsc#1237013) * 0017-commands-minicmd-Block-the-dump-command-in-lockdown-.patch - Fix CVE-2024-45778 (bsc#1233606) - Fix CVE-2024-45779 (bsc#1233608) * 0018-fs-bfs-Disable-under-lockdown.patch - Fix CVE-2025-0677 (bsc#1237002) - Fix CVE-2025-0684 (bsc#1237008) - Fix CVE-2025-0685 (bsc#1237009) - Fix CVE-2025-0686 (bsc#1237010) - Fix CVE-2025-0689 (bsc#1237011) * 0019-fs-Disable-many-filesystems-under-lockdown.patch - Fix CVE-2025-1125 (bsc#1237014) - Fix CVE-2025-0678 (bsc#1237006) * 0020-fs-Prevent-overflows-when-allocating-memory-for-arra.patch - Bump upstream SBAT generation to 5- Fix CVE-2024-49504 (bsc#1229163) (bsc#1229164) - Restrict CLI access if the encrypted root device is automatically unlocked by the TPM. LUKS password authentication is required for access to be granted * 0001-cli_lock-Add-build-option-to-block-command-line-inte.patch * 0002-Requiring-authentication-after-tpm-unlock-for-CLI-ac.patch - Obsolete, as CLI access is now locked and granted access no longer requires the previous restrictions * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch - Rediff * 0004-Key-revocation-on-out-of-bound-file-access.patch- Fix xen package contains debug_info files with the .module suffix by moving them to a separate xen-debug subpackage (bsc#1232573)- Fix not a directory error from the minix filesystem, as leftover data on disk may contain its magic header so it gets misdetected (bsc#1231604) * grub2-install-fix-not-a-directory-error.patch- Fix OOM error in loading loopback file (bsc#1230840) * 0001-tpm-Skip-loopback-image-measurement.patch- Fix UEFI PXE boot failure on tagged VLAN network (bsc#1230263) * 0001-efinet-Skip-virtual-VLAN-devices-during-card-enumera.patch- Fix grub screen is filled with artifects from earlier post menu (bsc#1224465) * grub2-SUSE-Add-the-t-hotkey.patch * 0001-fix-grub-screen-filled-with-post-screen-artifects.patch- Fix crash in bli module (bsc#1226497) * 0001-bli-Fix-crash-in-get_part_uuid.patch- Fix btrfs subvolume for platform modules not mounting at runtime when the default subvolume is the topmost root tree (bsc#1228124) * grub2-btrfs-06-subvol-mount.patch - Rediff * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Fix error in grub-install when root is on tmpfs (bsc#1226100) * 0001-grub-install-bailout-root-device-probing.patch- Fix input handling in ppc64le grub2 has high latency (bsc#1223535) * 0001-net-drivers-ieee1275-ofnet-Remove-200-ms-timeout-in-.patch- Fix os name is used for root file system mount (bsc#1220949) * 0001-10_linux-Ensure-persistence-of-root-file-system-moun.patch- Fix LPAR falls into grub shell after installation with lvm (bsc#1221866) * 0001-ofdisk-Enhance-canonical-path-handling-for-bootpath.patch- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg- Fix grub.xen memdisk script doesn't look for /boot/grub/grub.cfg (bsc#1219248) (bsc#1181762) * grub2-xen-pv-firmware.cfg * 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch- Fix PowerPC grub loads 5 to 10 minutes slower on SLE-15-SP5 compared to SLE-15-SP2 (bsc#1217102) * add 0001-ofdisk-enhance-boot-time-by-focusing-on-boot-disk-re.patch * add 0002-ofdisk-add-early_log-support.patch- Sort tar file order for reproducible builds- Fix build error on gcc-14 (bsc#1218949) * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch- Remove magic number header field check on arm64 (bsc#1218783) * 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch- Reinstate the verification for a non-zero total entry count to skip unmapped data blocks (bsc#1218864) * 0001-fs-xfs-always-verify-the-total-number-of-entries-is-.patch - Removed temporary fix as reverting it will cause a different XFS parser bug * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- allow to boot memtest86 if stored in /usr/lib/memtest86+ * SR#1071109 can then work- Resolved XFS regression leading to the "not a correct XFS inode" error by temporarily reverting the problematic commit (bsc#1218864) * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- Version bump to 2.12 (PED-5589) * Added: - grub-2.12.tar.xz - fix_no_extra_deps_in_release_tarball.patch * Removed: - grub-2.12~rc1.tar.xz * Patch dropped as it merged into new version: - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch - 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch - 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch - 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch - 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch - 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch - 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch - 0006-fs-ntfs-Make-code-more-readable.patch - 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch - 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch - 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch - 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch - 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch - 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch * Patch adjusted for the updated base version: - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64le-disable-video.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - safe_tpm_pcr_snapshot.patch- grub2.spec: Add ofnet to signed grub.elf to support powerpc net boot installation when secure boot is enabled (bsc#1217761) - Improved check for disk device when looking for PReP partition * 0004-Introduce-prep_load_env-command.patch- Fix reproducible build for grub.xen (bsc#1217619) * 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch * 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch- Fix unattended boot with TPM2 allows downgrading kernel and rootfs, also enhancing the overall security posture (bsc#1216680) * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch- grub2.spec: Fix openQA test failure in SLE-15-SP6 due to missing font in memdisk- Update the TPM2 patches to skip the persistent SRK handle if not specified and improve the error messages + 0003-protectors-Add-TPM2-Key-Protector.patch + 0005-util-grub-protect-Add-new-tool.patch + 0004-tpm2-Support-authorized-policy.patch- Fix XFS regression in 2.12~rc1 and support large extent counters * 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch * 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch * 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch- Fix fadump not working with 1GB/2GB/4GB LMB[P10] (bsc#1216253) * 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch- Fix a potential error when appending multiple keys into the synthesized initrd * Fix-the-size-calculation-for-the-synthesized-initrd.patch- Fix Xen chainloding error of no matching file path found (bsc#1216081) * grub2-efi-chainload-harder.patch- Use grub-tpm2 token to unlock keyslots to make the unsealing process more efficient and secure. * 0001-luks2-Use-grub-tpm2-token-for-TPM2-protected-volume-.patch- Fix detection of encrypted disk's uuid in powerpc to cope with logical disks when signed image installation is specified (bsc#1216075) * 0003-grub-install-support-prep-environment-block.patch - grub2.spec: Add support to unlocking multiple encrypted disks in signed grub.elf image for logical disks- Fix CVE-2023-4692 (bsc#1215935) - Fix CVE-2023-4693 (bsc#1215936) * 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch * 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch * 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch * 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch * 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch * 0006-fs-ntfs-Make-code-more-readable.patch - Bump upstream SBAT generation to 4- Add patch to fix reading files from btrfs with "implicit" holes: * 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch- Update the TPM 2.0 patches to support more RSA and ECC algorithms * 0002-tpm2-Add-TPM-Software-Stack-TSS.patch * 0003-protectors-Add-TPM2-Key-Protector.patch * 0005-util-grub-protect-Add-new-tool.patch- Remove build require for gcc-32bit, target platform didn't rely on libgcc function shipped with compiler but rather using functions supplied in grub directly.- Add BuildIgnore to break cycle with the branding package- Only build with fde-tpm-helper-rpm-macros for the architectures supporting the newer UEFI and TPM 2.0. * Also correct the location of %fde_tpm_update_requires- Fix a boot delay regression in PowerPC PXE boot (bsc#1201300) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Add the new BuildRequires for EFI builds for the better FDE support: fde-tpm-helper-rpm-macros + Also add the the macros to %post and %posttrans- Correct the type of allocated EFI pages for ARM64 kernel (bsc#1215151) * arm64-Use-proper-memory-type-for-kernel-allocation.patch- grub2-mkconfig-riscv64.patch: Handle riscv64 in mkconfig- Implement NV index mode for TPM 2.0 key protector 0001-protectors-Implement-NV-index.patch - Fall back to passphrase mode when the key protector fails to unlock the disk 0002-cryptodisk-Fallback-to-passphrase.patch - Wipe out the cached key cleanly 0003-cryptodisk-wipe-out-the-cached-keys-from-protectors.patch - Make diskfiler to look up cryptodisk devices first 0004-diskfilter-look-up-cryptodisk-devices-first.patch- Change the bash-completion directory (bsc#1213855) * grub2-change-bash-completion-dir.patch- Version bump to 2.12~rc1 (PED-5589) * Added: - grub-2.12~rc1.tar.xz * Removed: - grub-2.06.tar.xz * Patch dropped merged by new version: - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-efi-chainloader-root.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch - 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - grub2-s390x-10-keep-network-at-kexec.patch - 0001-Fix-build-error-in-binutils-2.36.patch - 0001-emu-fix-executable-stack-marking.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch - 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - 0001-Filter-out-POSIX-locale-for-translation.patch - 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch - 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch - 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch - 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch - 0002-ieee1275-claim-more-memory.patch - 0003-ieee1275-request-memory-with-ibm-client-architecture.patch - 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch - 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch - 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch - 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - 0001-powerpc-do-CAS-in-a-more-compatible-way.patch - 0001-libc-config-merge-from-glibc.patch - 0001-video-Remove-trailing-whitespaces.patch - 0002-loader-efi-chainloader-Simplify-the-loader-state.patch - 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch - 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch - 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch - 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch - 0011-video-readers-png-Sanity-check-some-huffman-codes.patch - 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch - 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch - 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch - 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - 0017-net-ip-Do-IP-fragment-maths-safely.patch - 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch - 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch - 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch - 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch - 0022-net-tftp-Avoid-a-trivial-UAF.patch - 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch - 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch - 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch - 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch - 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch - 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch - 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch - 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch - 0002-cryptodisk-Refactor-to-discard-have_it-global.patch - 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch - 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch - 0005-cryptodisk-Improve-cryptomount-u-error-message.patch - 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch - 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch - 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch - 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch - 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch - 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch - 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch - 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch - 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch - 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch - 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch - efi-set-variable-with-attrs.patch - 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch - 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch - 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch - 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch - 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch - 0002-mm-Defer-the-disk-cache-invalidation.patch - 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch - 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch - 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch - 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch - 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch - 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch - 0004-font-Remove-grub_font_dup_glyph.patch - 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch - 0006-font-Fix-integer-overflow-in-BMP-index.patch - 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch - 0008-fbutil-Fix-integer-overflow.patch - 0009-font-Fix-an-integer-underflow-in-blit_comb.patch - 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch - 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch - 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch - 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch - 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch - grub2-add-module-for-boot-loader-interface.patch - 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch - 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch - 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch - 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch - 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch - 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch - 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch * Patch modified to new base version: - use-grub2-as-a-package-name.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-secureboot-add-linuxefi.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-use-rpmsort-for-version-sorting.patch - grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - grub2-grubenv-in-btrfs-header.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-efi-chainload-harder.patch - grub2-emu-4-all.patch - grub2-util-30_os-prober-multiple-initrd.patch - grub2-install-fix-not-a-directory-error.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-05-grub2-mkconfig.patch - grub2-btrfs-06-subvol-mount.patch - grub2-efi-xen-chainload.patch - grub2-efi-xen-cmdline.patch - grub2-efi-xen-removable.patch - grub2-suse-remove-linux-root-param.patch - grub2-ppc64le-disable-video.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - 0004-efinet-UEFI-IPv6-PXE-support.patch - 0007-efinet-Setting-network-from-UEFI-device-path.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-mkconfig-default-entry-correction.patch - grub2-s390x-11-secureboot.patch - grub2-secureboot-install-signed-grub.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - 0002-cmdline-Provide-cmdline-functions-as-module.patch - 0001-efi-linux-provide-linux-command.patch - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch - 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch - 0001-Factor-out-grub_efi_linux_boot.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0015-test_asn1-test-module-for-libtasn1.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - 0003-grub-install-support-prep-environment-block.patch - 0004-Introduce-prep_load_env-command.patch - 0001-grub-install-bailout-root-device-probing.patch - 0001-install-fix-software-raid1-on-esp.patch - 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch - 0001-protectors-Add-key-protectors-framework.patch - 0002-tpm2-Add-TPM-Software-Stack-TSS.patch - 0004-cryptodisk-Support-key-protectors.patch - 0008-linuxefi-Use-common-grub_initrd_load.patch - 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch - grub-read-pcr.patch - tpm-record-pcrs.patch - 0001-clean-up-crypttab-and-linux-modules-dependency.patch * Patch refreshed: - rename-grub-info-file-to-grub2.patch - grub2-linux.patch - grub2-simplefb.patch - grub2-ppc-terminfo.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-linuxefi-fix-boot-params.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-xen-linux16.patch - grub2-efi-disable-video-cirrus-and-bochus.patch - grub2-vbe-blacklist-preferred-1440x900x32.patch - grub2-mkconfig-aarch64.patch - grub2-menu-unrestricted.patch - grub2-mkconfig-arm.patch - grub2-s390x-06-loadparm.patch - grub2-s390x-07-add-image-param-for-zipl-setup.patch - grub2-s390x-08-workaround-part-to-disk.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-getroot-support-nvdimm.patch - grub2-s390x-skip-zfcpdump-image.patch - grub2-btrfs-02-export-subvolume-envvars.patch - grub2-btrfs-03-follow_default.patch - grub2-btrfs-07-subvol-fallback.patch - grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-btrfs-10-config-directory.patch - grub2-efi-xen-cfg-unquote.patch - grub2-Add-hidden-menu-entries.patch - grub2-SUSE-Add-the-t-hotkey.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-reboot-support.patch - grub2-ppc64-cas-new-scope.patch - grub2-ppc64-cas-fix-double-free.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - grub2-btrfs-help-on-snapper-rollback.patch - grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - 0001-kern-mm.c-Make-grub_calloc-inline.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch - 0003-Make-grub_error-more-verbose.patch - 0001-ieee1275-Avoiding-many-unecessary-open-close.patch - 0001-Workaround-volatile-efi-boot-variable.patch - 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch - 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0005-docs-grub-Document-signing-grub-under-UEFI.patch - 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch - 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch - 0008-pgp-factor-out-rsa_pad.patch - 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch - 0011-libtasn1-import-libtasn1-4.18.0.patch - 0014-libtasn1-compile-into-asn1-module.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch - 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch - 0019-appended-signatures-support-verifying-appended-signa.patch - 0020-appended-signatures-verification-tests.patch - 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch - 0002-Add-grub_disk_write_tail-helper-function.patch - 0005-export-environment-at-start-up.patch - 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - 0003-protectors-Add-TPM2-Key-Protector.patch - 0005-util-grub-protect-Add-new-tool.patch - 0010-templates-import-etc-crypttab-to-grub.cfg.patch - grub-install-record-pcrs.patch - safe_tpm_pcr_snapshot.patch - 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch - 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch - 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch * New: - 0001-xen_boot-add-missing-grub_arch_efi_linux_load_image_.patch - 0001-font-Try-memdisk-fonts-with-the-same-name.patch - 0001-Make-grub.cfg-compatible-to-old-binaries.patch - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch * Embedding fonts in the grub.efi to get signed for secure boot- Fix error message "unknown command tpm_record_pcrs" with encrypted boot and no tpm device present (bsc#1213547) * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- add 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch, 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch: * support more featureful extX filesystems (backport from upstream git)- grub2-once: Fix 'sh: terminal_output: command not found' error (bsc#1204563)- Exclude the deprecated EFI location, /usr/lib64/efi/, from Tumbleweed and ALP- Update TPM 2.0 key unsealing patches * Add the new upstreaming patches 0001-protectors-Add-key-protectors-framework.patch 0002-tpm2-Add-TPM-Software-Stack-TSS.patch 0003-protectors-Add-TPM2-Key-Protector.patch 0004-cryptodisk-Support-key-protectors.patch 0005-util-grub-protect-Add-new-tool.patch * Add the authorized policy patches based on the upstreaming patches 0001-tpm2-Add-TPM2-types-structures-and-command-constants.patch 0002-tpm2-Add-more-marshal-unmarshal-functions.patch 0003-tpm2-Implement-more-TPM2-commands.patch 0004-tpm2-Support-authorized-policy.patch * Drop the old patches 0010-protectors-Add-key-protectors-framework.patch 0011-tpm2-Add-TPM-Software-Stack-TSS.patch 0012-protectors-Add-TPM2-Key-Protector.patch 0013-cryptodisk-Support-key-protectors.patch 0014-util-grub-protect-Add-new-tool.patch fix-tpm2-build.patch tpm-protector-dont-measure-sealed-key.patch tpm-protector-export-secret-key.patch grub-unseal-debug.patch 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch 0005-tpm2-add-more-marshal-unmarshal-functions.patch 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch 0009-tpm2-remove-the-unnecessary-variables.patch 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch 0012-tpm2-initialize-the-PCR-selection-list-early.patch 0013-tpm2-support-unsealing-key-with-authorized-policy.patch * Refresh grub-read-pcr.patch * Introduce a new build requirement: libtasn1-devel - Only package grub2-protect for the architectures with EFI support- Fix PowerVS deployment fails to boot with 90 cores (bsc#1208581) * 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch * 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch- Fix no prep partition error on non-PReP architectures by making the prep_loadenv module exclusive to powerpc_ieee1275 platform (bsc#1210489) * 0004-Introduce-prep_load_env-command.patch - Fix the issue of freeing an uninitialized pointer * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Rediff * 0005-export-environment-at-start-up.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Resolve some issues with OS boot failure on PPC NVMe-oF disks and made enhancements to PPC secure boot's root device discovery config (bsc#1207230) - Ensure get_devargs and get_devname functions are consistent * 0001-openfw-Ensure-get_devargs-and-get_devname-functions-.patch - Fix regex for Open Firmware device specifier with encoded commas * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Fix regular expression in PPC secure boot config to prevent escaped commas from being treated as delimiters when retrieving partition substrings. - Use prep_load_env in PPC secure boot config to handle unset host-specific environment variables and ensure successful command execution. * 0004-Introduce-prep_load_env-command.patch - Refreshed * 0005-export-environment-at-start-up.patch- Fix aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.patch- Restrict cryptsetup key file permission for better security (bsc#1207499) * 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch * 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch- Meanwhile, memtest86+ gained EFI support, but using the grub command line to run it manually is quite tedious... Adapt 20_memtest86+ to provide a proper menu entry. Executing memtest requires to turn security off in BIOS: (Boot Mode: Other OS).- Tolerate kernel moved out of /boot. (bsc#1184804) * grub2-s390x-12-zipl-setup-usrmerge.patch- Discard cached key from grub shell and editor mode * 0001-clean-up-crypttab-and-linux-modules-dependency.patch * 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch- Make grub more robust against storage race condition causing system boot failures (bsc#1189036) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Fix riscv64 error for relocation 0x13 is not implemented yet * 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch- Fix out of memory error on lpar installation from virtual cdrom (bsc#1208024) * 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - Fix lpar got hung at grub after inactive migration (bsc#1207684) * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Rediff * safe_tpm_pcr_snapshot.patch - Patch supersceded * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Refresh 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch to handle the TPM2 responseCode correctly.- Add module for boot loader interface. Needed for load Unified Kernel Image (UKI) * grub2-add-module-for-boot-loader-interface.patch- Amend the TPM2 stack and add authorized policy mode to tpm2_key_protector * 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch * 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch * 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch * 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch * 0005-tpm2-add-more-marshal-unmarshal-functions.patch * 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch * 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch * 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch * 0009-tpm2-remove-the-unnecessary-variables.patch * 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch * 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch * 0012-tpm2-initialize-the-PCR-selection-list-early.patch * 0013-tpm2-support-unsealing-key-with-authorized-policy.patch- Fix nvmf boot device setup (bsc#1207811) * 0001-grub2-Can-t-setup-a-default-boot-device-correctly-on.patch- Fix unknown filesystem error on disks with 4096 sector size (bsc#1207064) * 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch- Fix GCC 13 build failure (bsc#1201089) * 0002-AUDIT-0-http-boot-tracker-bug.patch- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- Fix inappropriately including commented lines in crypttab (bsc#1206279) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Make grub.cfg invariant to efi and legacy platforms (bsc#1205200) - Removed patch linuxefi * grub2-secureboot-provide-linuxefi-config.patch * grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch * grub2-secureboot-use-linuxefi-on-uefi.patch - Rediff * grub2-btrfs-05-grub2-mkconfig.patch * grub2-efi-xen-cmdline.patch * grub2-s390x-05-grub2-mkconfig.patch * grub2-suse-remove-linux-root-param.patch- Setup multiple device paths for a nvmf boot device (bsc#1205666) * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch- Increase the path buffer in the crypttab command for the long volume name (bsc#1206333) * grub2-increase-crypttab-path-buffer.patch- Add tpm to signed grub.elf image (PED-1990) (bsc#1205912) - Increase initial heap size from 1/4 to 1/3 * 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch- Make full utilization of btrfs bootloader area (bsc#1161823) * 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch * 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - Patch removed * 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Fix regression of reverting back to asking password twice when a keyfile is already used (bsc#1205309) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Security fixes and hardenings * 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch * 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - Fix CVE-2022-2601 (bsc#1205178) * 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch * 0004-font-Remove-grub_font_dup_glyph.patch * 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch * 0006-font-Fix-integer-overflow-in-BMP-index.patch * 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch * 0008-fbutil-Fix-integer-overflow.patch - Fix CVE-2022-3775 (bsc#1205182) * 0009-font-Fix-an-integer-underflow-in-blit_comb.patch * 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch * 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch * 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - Bump upstream SBAT generation to 3- Removed 0001-linux-fix-efi_relocate_kernel-failure.patch as reported regression in some hardware being stuck in initrd loading (bsc#1205380)- Fix password asked twice if third field in crypttab not present (bsc#1205312) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- NVMeoFC support on grub (jsc#PED-996) * 0001-ieee1275-add-support-for-NVMeoFC.patch * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch * 0003-ieee1275-change-the-logic-of-ieee1275_get_devargs.patch * 0004-ofpath-controller-name-update.patch - TDX: Enhance grub2 measurement to TD RTMR (jsc#PED-1265) * 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch * 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch * 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - Measure the kernel on POWER10 and extend TPM PCRs (PED-1990) * 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Fix efi pcr snapshot related funtion is defined but not used on powerpc platform. * safe_tpm_pcr_snapshot.patch- Include loopback into signed grub2 image (jsc#PED-2150)- Fix firmware oops after disk decrypting failure (bsc#1204037) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Add patch to fix kernel relocation error in low memory * 0001-linux-fix-efi_relocate_kernel-failure.patch- Add safety measure to pcr snapshot by checking platform and tpm status * safe_tpm_pcr_snapshot.patch- Fix installation failure due to unavailable nvram device on ppc64le (bsc#1201361) * 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch- Add patches to dynamically allocate additional memory regions for EFI systems (bsc#1202438) * 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch * 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch * 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch * 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch * 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - Enlarge the default heap size and defer the disk cache invalidation (bsc#1202438) * 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch * 0002-mm-Defer-the-disk-cache-invalidation.patch- Add patches for ALP FDE support * 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch * 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch * 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch * 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch * 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch * 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch * 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch * 0008-linuxefi-Use-common-grub_initrd_load.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch * 0010-templates-import-etc-crypttab-to-grub.cfg.patch * grub-read-pcr.patch * efi-set-variable-with-attrs.patch * tpm-record-pcrs.patch * tpm-protector-dont-measure-sealed-key.patch * tpm-protector-export-secret-key.patch * grub-install-record-pcrs.patch * grub-unseal-debug.patch- Fix out of memory error cannot be prevented via disabling tpm (bsc#1202438) * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Fix tpm error stop tumbleweed from booting (bsc#1202374) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Patch Removed * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch- Add tpm, tpm2, luks2 and gcry_sha512 to default grub.efi (bsc#1197625) - Make grub-tpm.efi a symlink to grub.efi * grub2.spec - Log error when tpm event log is full and continue * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch - Patch superseded * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch- Add patches for automatic TPM disk unlock (jsc#SLE-24018) (bsc#1196668) (jsc#PED-1276) * 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch * 0002-cryptodisk-Refactor-to-discard-have_it-global.patch * 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch * 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch * 0005-cryptodisk-Improve-cryptomount-u-error-message.patch * 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch * 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch * 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch * 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch * 0010-protectors-Add-key-protectors-framework.patch * 0011-tpm2-Add-TPM-Software-Stack-TSS.patch * 0012-protectors-Add-TPM2-Key-Protector.patch * 0013-cryptodisk-Support-key-protectors.patch * 0014-util-grub-protect-Add-new-tool.patch - Fix no disk unlocking happen (bsc#1196668) * 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - Fix build error * fix-tpm2-build.patch- Security fixes and hardenings for boothole 3 / boothole 2022 (bsc#1198581) * 0001-video-Remove-trailing-whitespaces.patch * 0002-loader-efi-chainloader-Simplify-the-loader-state.patch * 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - Fix CVE-2022-28736 (bsc#1198496) * 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - Fix CVE-2022-28735 (bsc#1198495) * 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch * 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch * 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch * 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - Fix CVE-2021-3695 (bsc#1191184) * 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - Fix CVE-2021-3696 (bsc#1191185) * 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch * 0011-video-readers-png-Sanity-check-some-huffman-codes.patch * 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch * 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch * 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - Fix CVE-2021-3697 (bsc#1191186) * 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch * 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - Fix CVE-2022-28733 (bsc#1198460) * 0017-net-ip-Do-IP-fragment-maths-safely.patch * 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch * 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch * 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch * 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch * 0022-net-tftp-Avoid-a-trivial-UAF.patch * 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - Fix CVE-2022-28734 (bsc#1198493) * 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - Fix CVE-2022-28734 (bsc#1198493) * 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch * 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch * 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch * 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch * 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch * 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch * 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch * 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - Bump grub's SBAT generation to 2- Use boot disks in OpenFirmware, fixing regression caused by 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch, when the root LV is completely in the boot LUN (bsc#1197948) * 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch- Fix error message in displaying help on bootable snapshot (bsc#1199609)- Fix installation over serial console ends up in infinite boot loop (bsc#1187810) (bsc#1209667) (bsc#1209372) * 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - Fix ppc64le build error for new IEEE long double ABI * 0001-libc-config-merge-from-glibc.patch- Fix Power10 LPAR error "The partition fails to activate as partition went into invalid state" (bsc#1198714) * 0001-powerpc-do-CAS-in-a-more-compatible-way.patch- use common SBAT values (boo#1193282)- Fix wrong order in kernel sorting of listing rc before final release (bsc#1197376) * grub2-use-rpmsort-for-version-sorting.patch- Fix duplicated insmod part_gpt lines in grub.cfg (bsc#1197186) * 0001-grub-probe-Deduplicate-probed-partmap-output.patch- Fix GCC 12 build failure (bsc#1196546) * 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch * 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch * 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - Revised * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix grub-install error when efi system partition is created as mdadm software raid1 device (bsc#1179981) (bsc#1195204) * 0001-install-fix-software-raid1-on-esp.patch- Fix riscv64 build error * 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch- Fix error in grub-install when linux root device is on lvm thin volume (bsc#1192622) (bsc#1191974) * 0001-grub-install-bailout-root-device-probing.patch- Support saving grub environment for POWER signed grub images (jsc#SLE-23854) * 0001-Add-grub_envblk_buf-helper-function.patch * 0002-Add-grub_disk_write_tail-helper-function.patch * 0003-grub-install-support-prep-environment-block.patch * 0004-Introduce-prep_load_env-command.patch * 0005-export-environment-at-start-up.patch - Use enviroment variable in early boot config to looking up root device * grub2.spec- Remove obsolete openSUSE 12.2 conditionals in spec file - Clean up powerpc certificate handling.- Set grub2-check-default shebang to "#!/bin/bash", as the the code uses many instructions which are undefined for a POSIX sh. (boo#1195794).- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch- Fix wrong default entry when booting snapshot (bsc#1159205) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * grub2.spec - Power guest secure boot with static keys: GRUB2 portion (jsc#SLE-18144) (bsc#1192686) * 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch * 0002-ieee1275-claim-more-memory.patch * 0003-ieee1275-request-memory-with-ibm-client-architecture.patch * 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch * 0005-docs-grub-Document-signing-grub-under-UEFI.patch * 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch * 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch * 0008-pgp-factor-out-rsa_pad.patch * 0009-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch * 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch * 0011-libtasn1-import-libtasn1-4.18.0.patch * 0012-libtasn1-disable-code-not-needed-in-grub.patch * 0013-libtasn1-changes-for-grub-compatibility.patch * 0014-libtasn1-compile-into-asn1-module.patch * 0015-test_asn1-test-module-for-libtasn1.patch * 0016-grub-install-support-embedding-x509-certificates.patch * 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch * 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch * 0019-appended-signatures-support-verifying-appended-signa.patch * 0020-appended-signatures-verification-tests.patch * 0021-appended-signatures-documentation.patch * 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch * 0023-x509-allow-Digitial-Signature-plus-other-Key-Usages.patch- Fix no menuentry is found if hibernation on btrfs RAID1 (bsc#1193090) * grub2-systemd-sleep-plugin- Fix CVE-2021-3981 (bsc#1189644) * 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch- Fix can't allocate initrd error (bsc#1191378) * 0001-Factor-out-grub_efi_linux_boot.patch * 0002-Fix-race-in-EFI-validation.patch * 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch * 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch * 0005-x86-efi-Use-bounce-buffers-for-reading-to-addresses-.patch * 0006-x86-efi-Re-arrange-grub_cmd_linux-a-little-bit.patch * 0007-x86-efi-Make-our-own-allocator-for-kernel-stuff.patch * 0008-x86-efi-Allow-initrd-params-cmdline-allocations-abov.patch * 0009-x86-efi-Reduce-maximum-bounce-buffer-size-to-16-MiB.patch * 0010-efilinux-Fix-integer-overflows-in-grub_cmd_initrd.patch * 0011-Also-define-GRUB_EFI_MAX_ALLOCATION_ADDRESS-for-RISC.patch- Add support for simplefb (boo#1193532). + grub2-simplefb.patch- Fix extent not found when initramfs contains shared extents (bsc#1190982) * 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch- Fix arm64 kernel image not aligned on 64k boundary (bsc#1192522) * 0001-arm64-Fix-EFI-loader-kernel-image-allocation.patch * 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch- Remove openSUSE Tumbleweed specific handling for default grub distributor (bsc#1191198) - Use /usr/lib/os-release as fallback (bsc#1191196) * grub2-default-distributor.patch * grub2-check-default.sh - VUL-0: grub2: grub2-once uses fixed file name in /var/tmp (bsc#1190474) (CVE-2021-46705) * grub2-once * grub2-once.service - Fix unknown TPM error on buggy uefi firmware (bsc#1191504) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Fix error /boot/grub2/locale/POSIX.gmo not found (bsc#1189769) * 0001-Filter-out-POSIX-locale-for-translation.patch - Fix error lvmid disk cannot be found after second disk added to the root volume group (bsc#1189874) (bsc#1071559) * 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch - Fix error in grub installation due to unnecessary requirement to support excessive device for the root logical volume (bsc#1184135) * 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - Fix regression in reading xfs v4 * 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch- Fix installation on usrmerged s390x- Improve support for SLE Micro 5.1 on s390x. (bsc#1190395) * amend grub2-s390x-04-grub2-install.patch * refresh grub2-s390x-11-secureboot.patch- Follow usr merge for looking up kernel config (bsc#1189782) (bsc#1190061) * 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch- Add btrfs zstd compression on i386-pc and also make sure it won't break existing grub installations (bsc#1161823) * deleted 0001-btrfs-disable-zstd-support-for-i386-pc.patch * added 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Delete the author list from %description (the %description section is literally for package descriptions (only) these days, encoding was also problematic). - Add %doc AUTHORS to get packaged that info- update grub2-systemd-sleep.sh to fix hibernation by avoiding the error "no kernelfile matching the running kernel found" on usrmerged setup- Use %autosetup- Replace grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch and fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch with upstream backport: 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch and 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch.- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot- Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch- Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch- Version bump to 2.06 * rediff - 0001-add-support-for-UEFI-network-protocols.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - 0003-Make-grub_error-more-verbose.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-efi-HP-workaround.patch - grub2-efi-xen-cfg-unquote.patch - grub2-efi-xen-chainload.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - grub2-mkconfig-default-entry-correction.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-secureboot-install-signed-grub.patch - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - use-grub2-as-a-package-name.patch * update by patch squashed: - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - grub2-efi-chainload-harder.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-chainloader.patch - grub2-secureboot-add-linuxefi.patch * remove squashed patches: - 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch - 0009-squash-Add-support-for-linuxefi.patch - 0041-squash-Add-secureboot-support-on-efi-chainloader.patch - 0042-squash-grub2-efi-chainload-harder.patch - 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch - 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * drop upstream patches: - 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch - 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch - 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch - 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch - 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch - 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch - 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch - 0002-kern-Add-X-option-to-printf-functions.patch - 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch - 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch - 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch - 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch - 0003-normal-main-Search-for-specific-config-files-for-net.patch - 0004-calloc-Use-calloc-at-most-places.patch - 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch - 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch - 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch - 0005-efi-Add-secure-boot-detection.patch - 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch - 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch - 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch - 0007-font-Do-not-load-more-than-one-NAME-section.patch - 0007-verifiers-Move-verifiers-API-to-kernel-image.patch - 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch - 0008-script-Remove-unused-fields-from-grub_script_functio.patch - 0009-kern-Add-lockdown-support.patch - 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch - 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch - 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch - 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch - 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch - 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch - 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch - 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch - 0018-gdb-Restrict-GDB-access-when-locked-down.patch - 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch - 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - 0024-kern-parser-Fix-resource-leak-if-argc-0.patch - 0025-kern-parser-Fix-a-memory-leak.patch - 0026-kern-parser-Introduce-process_char-helper.patch - 0027-kern-parser-Introduce-terminate_arg-helper.patch - 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch - 0029-kern-buffer-Add-variable-sized-heap-buffer.patch - 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch - 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch - 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch - 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch - 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch - 0036-util-mkimage-Improve-data_size-value-calculation.patch - 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch - 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch - 0039-grub-install-common-Add-sbat-option.patch - 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch - grub-install-define-default-platform-for-risc-v.patch - grub2-editenv-add-warning-message.patch - grub2-efi-gop-add-blt.patch - grub2-efi-uga-64bit-fb.patch - grub2-verifiers-fix-system-freeze-if-verify-failed.patch - risc-v-add-clzdi2-symbol.patch - risc-v-fix-computation-of-pc-relative-relocation-offset.patch - Add grub2-instdev-fixup.pl for correcting /etc/default/grub_installdevice to use disk devie if grub has been installed to it - Add 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch to fix detection of efi fwsetup support- Fix running grub2-once leads to failure of starting systemd service in the boot sequence (bsc#1169460) * grub2-once * grub2-once.service- Fix crash in launching gfxmenu without theme file (bsc#1186481) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Fix plaintext password in grub config didn't work to unlock menu entry if enabling secure boot in UEFI (bsc#1181892)- Fix obsolete syslog in systemd unit file and updating to use journal as StandardOutput (bsc#1185149) * grub2-once.service- Fix build error on armv6/armv7 (bsc#1184712) * 0001-emu-fix-executable-stack-marking.patch- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012) * 0001-Workaround-volatile-efi-boot-variable.patch- Fix powerpc-ieee1275 lpar takes long time to boot with increasing number of nvme namespace (bsc#1177751) 0001-ieee1275-Avoiding-many-unecessary-open-close.patch- Fix chainloading windows on dual boot machine (bsc#1183073) * 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch- VUL-0: grub2,shim: implement new SBAT method (bsc#1182057) * 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch * 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch * 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch * 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch * 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch * 0036-util-mkimage-Improve-data_size-value-calculation.patch * 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch * 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch * 0039-grub-install-common-Add-sbat-option.patch - Fix CVE-2021-20225 (bsc#1182262) * 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - Fix CVE-2020-27749 (bsc#1179264) * 0024-kern-parser-Fix-resource-leak-if-argc-0.patch * 0025-kern-parser-Fix-a-memory-leak.patch * 0026-kern-parser-Introduce-process_char-helper.patch * 0027-kern-parser-Introduce-terminate_arg-helper.patch * 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch * 0029-kern-buffer-Add-variable-sized-heap-buffer.patch * 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - Fix CVE-2021-20233 (bsc#1182263) * 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - Fix CVE-2020-25647 (bsc#1177883) * 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - Fix CVE-2020-25632 (bsc#1176711) * 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - Fix CVE-2020-27779, CVE-2020-14372 (bsc#1179265) (bsc#1175970) * 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch * 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch * 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch * 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch * 0005-efi-Add-secure-boot-detection.patch * 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch * 0007-verifiers-Move-verifiers-API-to-kernel-image.patch * 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch * 0009-kern-Add-lockdown-support.patch * 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch * 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch * 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch * 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch * 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch * 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch * 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch * 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch * 0018-gdb-Restrict-GDB-access-when-locked-down.patch * 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch * 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch * 0041-squash-Add-secureboot-support-on-efi-chainloader.patch * 0042-squash-grub2-efi-chainload-harder.patch * 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch * 0044-squash-kern-Add-lockdown-support.patch * 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - Drop patch supersceded by the new backport * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch - Add SBAT metadata section to grub.efi - Drop shim_lock module as it is part of core of grub.efi * grub2.spec- Fix build error in binutils 2.36 (bsc#1181741) * 0001-Fix-build-error-in-binutils-2.36.patch - Fix executable stack in grub-emu (bsc#1181696) * 0001-emu-fix-executable-stack-marking.patch- Restore compatibilty sym-links * grub2.spec - Use rpmlintrc to filter out rpmlint 2.0 error (bsc#1179044) * grub2.rpmlintrc- Complete Secure Boot support on aarch64 (jsc#SLE-15020) * 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch * 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch * 0003-Make-grub_error-more-verbose.patch * 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch * 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch * 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0009-squash-Add-support-for-linuxefi.patch- Fix rpmlint 2.0 error for having arch specific path in noarch package aiming for compatibility with old package (bsc#1179044) * grub2.spec - Fix non POSIX sed argument which failed in sed from busybox (bsc#1181091) * grub2-check-default.sh- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * 0001-add-support-for-UEFI-network-protocols.patch- grub2.spec: Fix bare words used as string in expression which is no longer allowed in rpm 4.16- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Make efi hand off the default entry point of the linux command (bsc#1176134) * 0001-efi-linux-provide-linux-command.patch- Fix verification requested but nobody cares error when loading external module in secure boot off (bsc#1175766) * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch- Make consistent check to enable relative path on btrfs (bsc#1174567) * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0002-cmdline-Provide-cmdline-functions-as-module.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- No 95_textmode for PowerPC (boo#1174166)- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Fix boot failure as journaled data not get drained due to abrupt power off after grub-install (bsc#1167756) * grub-install-force-journal-draining-to-ensure-data-i.patch- Fix executable stack in grub-probe and other grub utility (bsc#1169137) * grub2-btrfs-06-subvol-mount.patch- Fix GCC 10 build fail (bsc#1158189) * 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch * 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- move *.module files to separate -debug subpackage (boo#1166578)- Fix EFI console detection to make it a runtime decision (bsc#1164385) * grub2-SUSE-Add-the-t-hotkey.patch- Downgrade mtools to Suggests for consistency with xorriso (boo#1165839) - remove info requirements, file triggers are used now (boo#1152105)- Add secure boot support for s390x. (jsc#SLE-9425) * grub2-s390x-11-secureboot.patch- Fix grub hangs after loading rogue image without valid signature for uefi secure boot (bsc#1159102) * grub2-verifiers-fix-system-freeze-if-verify-failed.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Correct awk pattern in 20_linux_xen (bsc#900418, bsc#1157912) - Correct linux and initrd handling in 20_linux_xen (bsc#1157912) M grub2-efi-xen-cfg-unquote.patch M grub2-efi-xen-chainload.patch M grub2-efi-xen-cmdline.patch M grub2-efi-xen-removable.patch- Disable btrfs zstd support for i386-pc to workaround core.img too large to be embedded in btrfs bootloader area or MBR gap (boo#1154809) * 0001-btrfs-disable-zstd-support-for-i386-pc.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Enable support for riscv64 - Backports from upstream: * risc-v-fix-computation-of-pc-relative-relocation-offset.patch * risc-v-add-clzdi2-symbol.patch * grub-install-define-default-platform-for-risc-v.patch- Version bump to 2.04 * removed - translations-20170427.tar.xz * grub2.spec - Make signed grub-tpm.efi specific to x86_64-efi build, the platform currently shipped with tpm module from upstream codebase - Add shim_lock to signed grub.efi in x86_64-efi build - x86_64: linuxefi now depends on linux, both will verify kernel via shim_lock - Remove translation tarball and po file hacks as it's been included in upstream tarball * rediff - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-secureboot-add-linuxefi.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-install-signed-grub.patch - grub2-linux.patch - use-grub2-as-a-package-name.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-secureboot-use-linuxefi-on-uefi.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-provide-linuxefi-config.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-efi-chainloader-root.patch - grub2-ppc64le-disable-video.patch - grub2-ppc64-cas-reboot-support.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0003-bootp-New-net_bootp6-command.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - grub2-emu-4-all.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-fix-double-free.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch * drop upstream patches - grub2-fix-locale-en.mo.gz-not-found-error-message.patch - grub2-fix-build-with-flex-2.6.4.patch - grub2-accept-empty-module.patch - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch - unix-exec-avoid-atexit-handlers-when-child-exits.patch - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch - grub2-binutils2.31.patch - grub2-msdos-fix-overflow.patch - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch - grub2-efi-Move-grub_reboot-into-kernel.patch - grub2-efi-Free-malloc-regions-on-exit.patch - grub2-move-initrd-upper.patch - 0002-Add-Virtual-LAN-support.patch - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch - 0001-tpm-Core-TPM-support.patch - 0002-tpm-Measure-kernel-initrd.patch - 0003-tpm-Add-BIOS-boot-measurement.patch - 0004-tpm-Rework-linux-command.patch - 0005-tpm-Rework-linux16-command.patch - 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch - 0007-tpm-Measure-the-kernel-commandline.patch - 0008-tpm-Measure-commands.patch - 0009-tpm-Measure-multiboot-images-and-modules.patch - 0010-tpm-Fix-boot-when-there-s-no-TPM.patch - 0011-tpm-Fix-build-error.patch - 0013-tpm-i386-pc-diskboot-img.patch - grub2-freetype-pkgconfig.patch - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Fix fallback embed doesn't work when no post mbr gap at all (boo#1142229) * Refresh grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Fix iteration of FCP LUNs (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229). * Refresh grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Use grub2-install to handle signed grub installation for UEFI secure boot and also provide options to override default (bsc#1136601) * grub2-secureboot-install-signed-grub.patch - Remove arm64 linuxefi patches as it's not needed for secure boot * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Fix GCC 9 build failure (bsc#1121208) * 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch * 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch * 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch * 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch * 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch * 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch * 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch * 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/sh  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01232.12-150600.8.34.1grub2-instdev-fixup.pli386-pcacpi.modadler32.modaffs.modafs.modafsplitter.modahci.modall_video.modaout.modappended_signature_test.modappendedsig.modarchelp.modasn1.modat_keyboard.modata.modbacktrace.modbfs.modbiosdisk.modbitmap.modbitmap_scale.modblocklist.modboot.imageboot.imgboot.modboot_hybrid.imageboot_hybrid.imgbsd.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modcbls.modcbmemc.modcbtable.modcbtime.modcdboot.imagecdboot.imgchain.modcmdline.modcmdline_cat_test.modcmosdump.modcmostest.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcpuid.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcrypttab.modcs5536.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskboot.imagediskboot.imgdiskfilter.moddiv.moddiv_test.moddm_nv.moddrivemap.modecho.modefiemu.modefiemu32.oefiemu64.oehci.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfile.modfont.modfreedos.modfs.lstfshelp.modfunctional_test.modgcry_arcfour.modgcry_blowfish.modgcry_camellia.modgcry_cast5.modgcry_crc.modgcry_des.modgcry_dsa.modgcry_idea.modgcry_md4.modgcry_md5.modgcry_rfc2268.modgcry_rijndael.modgcry_rmd160.modgcry_rsa.modgcry_seed.modgcry_serpent.modgcry_sha1.modgcry_sha256.modgcry_sha512.modgcry_tiger.modgcry_twofish.modgcry_whirlpool.modgdb.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgzio.modhalt.modhashsum.modhdparm.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiorw.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeylayouts.modkeystatus.modldm.modlegacy_password_test.modlegacycfg.modlinux.modlinux16.modlnxboot.imagelnxboot.imgloadenv.modloopback.modls.modlsacpi.modlsapm.modlsmmap.modlspci.modluks.modluks2.modlvm.modlzma_decompress.imagelzma_decompress.imglzopio.modmacbless.modmacho.modmda_text.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmorse.modmpi.modmsdospart.modmul_test.modmultiboot.modmultiboot2.modnativedisk.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.modntldr.mododc.modoffsetio.modohci.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpata.modpbkdf2.modpbkdf2_test.modpci.modpcidump.modpgp.modpkcs1_v15.modplainmount.modplan9.modplay.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modpxe.modpxeboot.imagepxeboot.imgpxechain.modraid5rec.modraid6rec.modrandom.modrdmsr.modread.modreboot.modregexp.modreiserfs.modrelocator.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modsendkey.modserial.modsetjmp.modsetjmp_test.modsetpci.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modspkmodem.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtr.modtrig.modtrue.modtruecrypt.modudf.modufs1.modufs1_be.modufs2.moduhci.modusb.modusb_keyboard.modusbms.modusbserial_common.modusbserial_ftdi.modusbserial_pl2303.modusbserial_usbdebug.modusbtest.modvbe.modvga.modvga_text.modvideo.lstvideo.modvideo_bochs.modvideo_cirrus.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modwrmsr.modxfs.modxnu.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/usr/lib//usr/share/grub2//usr/share/grub2/i386-pc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:39730/SUSE_SLE-15-SP6_Update/7f0f9772fdece6572f500c443f20e4ef-grub2.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux  Perl script text executabledirectoryELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not strippedELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not strippedASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=cb4194538e8b7d2c15ed213af4434deff1456122, not strippedemptyELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, with debug_info, not strippedELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, strippedPOSIX shell script, ASCII text executable, with very long linesR if test -f /run/update-bootloader/reinit; then rm -f /run/update-bootloader/{reinit,refresh} /sbin/update-bootloader --reinit || : elif test -f /run/update-bootloader/refresh; then rm -f /run/update-bootloader/refresh /sbin/update-bootloader --refresh || : fi/bin/shutf-8daed05ec32c3f7c5c882416ab7cbe400498927a712bd49467c223fbee95d4633?7zXZ !t/(h]"k%C¿DeP/[ pL#sT.D3 ' D[!( 4)D*';{/u_5BltK  E^^4T_Oabe~; yI;>[ G(vm@!|YoG#&=:HH ~ 5o4/ŵDfbeKD}XW6AA3$e&L[ P,3 >yw<xS*í = ϐAe$O$)GܲexpG[H+c r T.._^P_6nu0a&ĄL- G _ 쒛--gKoV騡_[Z`[d #cN71"=;^?۱zU=镑cqklS-Ҏ F"<^T31 Ɲ^x۫s В1|kڮt|(욐-`H.w]@3Fya/elkޝ3oFnS^XCX lMqpkp.%x|.E.Gh7S+|%bPoԨi̪rƞJ`MVjܢԼحp)zK(rr# (R#yR~kVNYT܈ {:4s\̉ O%6)b /&Սk_[_Hxqr>,]vsȠvfҠ$r}c[Bʘ)>+ ?~F}{S+T()!S=G4դ$)+-o%V{nk`|BA5"^IcHvv]ư=zA A@QHT: fC+J5" qs|PUYЌ/UGoHDf=GN NuLh_z³n}w`y`5lH%@/ҜTL *P"'Ix'L$`BtiCʕ6uמ -x3vU!wVԭܰ%;Jn0B׷ x[G!|(]x7U4\<"y#z0 fVSۚyȆeY 7;A&Mc8֋ #&s '^j̜"k$s<0[q4;@$p\$`s 7i֦fD"bz/=X;͟{aW)Pk*7<"pD lqW'ʶFK38\0gXk`'$9řA>PdokqBLYdKثr,J5 @P RBBD9v_E=\s7Z5x# X j,т~D6@hMTMXV~$xzFuELg"֘1yNg;oG@f8~$~yo;X _ʯ|#^ǽrD/Eݮ ֮O`Eܲ e9êg?Rł*b|Y4+]/QTĊ5{|K )EG/Ǫ=VT\`SW.G-"DEa$V s&$P%b'Eg:..QӲ'$B{G3k%e ͏ʍ!༃r|pqa'o]}}seI4Ekc3=\$H ^lb3B yӰn܋ECXƐ3ɷ[̱Édc{HzG v=b?FUuA"j*yFp#S" Tfdӈ٘H]6pg2,Ώ@@aBl1op@2jxPƘb*']֕.gv12p'չ s~e]⨗b@EcɇREFA]Iȳ< Ra} b[h$4LZVQ?Y{ֻV< 81Gq d ~Ɲa&ԍzT_dwmDI-;THj#;+XA1CMK+r{!چ7(x Tz>'fJ|.ȧܚof &,leXW?<ݪ5?ĉ]F 7#ZsR/ƟHGj݌]Vxja"O q]|ؾ>GcB(/a>=2K`fyݿutS*(U6 ̼9x<c%s\omѦzC$?R8naKxMcv?rMC ?|=nW.c2eG&*7{MnJsuȕck<<,CM/;7҇R7y'C 7>OnPVyI vRVktޟbE7>@O( [Cԙ-6Pd{~[)Q9lݻo}e٢  W FP ~">-DzCc 愶I:4гFp~?H>}G \T8FqDWӷM\ъe~Uy?[/7pPŅ$#Sz~Pb*X%T\X~9#1%7W6u.[Y.^yE| -ϬޚugʎqMvќ7]{<8ue^2%x!(!cv[e *Y?Z?4^g葝{ɘ&Ԛ[=qVd][$I\I9 s+M􍅑u?1*hB';4g(bܮf.w,gu&b68&Q?@ІٍV_f=j]qcXf1#ٞ{[;zq"lX6%mW5ݎPfv{ t?L&3<,}>8\Eb09y7lŊSEF!YϘTi5J^-rN&E*s(*݅މR='cxPW`+[L~mCh3Ocsk#5p`Ämj;*i4'@}O%1P l2QEOUH()J@>[%P7[ XX[zמ,RQNBmA1vmcBXI_wÓ-SՀk p%)5Ջ0#xĕ;~@?Mk̥n%)ecJ1@cE&S&,njмJմBp'K2}5g]) -Cx5Xjg@gDq 2d\(4%p-h">*>S":BD%!jQ3FW;iaqY rt,YP j|mnf"VIHě vf [jV0q" Vepg!ӽU"'ߣOzj(4_phzAIkkқZBj#U zIOCC\BX,d)c*d3`#,| 7`~PE9ڶu#\5'sC V1M~i͎,-`E@cz7wi$c<<9)8dunsK> 5 0g%֨~ _+- }Q^3Ks=e;:M^DUՓFpkdO$?W G/މ`5u^pey(7YjK^q;,R%R./Pf*̹]Ē.FcXFB bm\5;T,q07^ }TuCA TlP>zVL@Q0X˟;$w)hM&Ӌ|0g[AJAu&#$=·5=n^t0Zq4$RGҦ;0YW *m|Q lݤ1E!aO.0 A:u[{ϔunW*( :j\A)I#V i\1^=J_wq}DrllG58uӡhCƒ?6uҝ\x| #:zRњ"L0J|^@,;QzkB_jbA!w77@p@`5K# S%ӓ/0D _ܡā7dCHОŒw1 Q"eʍ@!xa\޸t XPįV ~C]&NɂSlr!A>don,)'z ?7VyYc?*7߆BIo'v44 v^L$\EOXPQG*vql_89i #mͧLCJl Q:E3CM,}$¡?n;#rUNSlr'mdO>+{1]KIֆ)LcW:!g`cX(DSyk_&-`}5!g1Hm}a˖r$'7jX!io 14ռ-~Z5ɘF_ Sf$?d>u2(`Lyȵ S55u B-bYu@y[` HKV }T&D zCRN֕!ұ")'aO7B"^JyUl5 H#cZ.\_Ľe >CtޤTT`kipcSx#çBf' n"uV_ؾ7ꋀ*g-cȀr?|zQ"="t6s/pS2,Ygwը\yI'Kz/ c^>"k9;@Ý9R[K߃g 7m!\ RVP;f5//&m "G/P&GDVME}܁!7sMmWlyz[B嫐|J[g.&AKmǷ? ĉGo 2v1zy%Yu5sv"\m$+4-n]$ӿVr}0s8~5De0iYEwB"UKS{|9g?ʋ׷G'4of f *%t5c ]G`r@5-+'%42ϴs8A\?/vP r nAVs>~I5d(ץ=ڤ!eFI1iz/ei<{Z0Sϕ7}R45Ӥ 5" ef2RH ",!_EZԞõ]#5$[4^` YQU9^wFD_rtvCDd^0ոۛTD (@ #ѱNb%hK3|:G^%K@a!KNJRgN`Y߱qsxB.l"-  B]TA:I^>${JG&CMX;h_0dO>QGVnnϖ@Z{v G\vs7U`Q-i1(2|Y [,da,Ӡ$P:~~ Y3&Prv?ʠ?@/ƭ"cY^uM9_p1zË\:(ϒg}ћ+j7i(+Nvao?x,b Ogښ!3&V yCҁ]_t0@R*!% p%˝䄃43UPm÷ ~,w譓4xzװ#4We`.̈x6dL+kۛ 6zhSaqRފmd"@f$\Cod?l05{lMb ㏑n ĈL3|DHVǰ!=.Ec=(5T@(YA3w}hǕw/vwP?θp;ѽ?*~E32;]pdpfEj_[};ٗm-ﯼFo{ vG ` nEI1ʯKMw$}Ys{}.t%Ī C)-_QKk'!1wܟ5oG-D DyD{dkA+ & ڞW/,DSdV*{V\D|<إ=I'V,?Lil zQ=3_eηٓv O\}8*5`; Йx%4. 0O[%ϾsNl@ "d{S$ ff﯉PF3~W0eՖU70#Q#+IҋY( kM~TF4YlE9y7UR[GT#j h ىEڛ5 Lupg\ sPrX=Jӷ egֿKE+)еdM5e9Cp΍7b>CLwb>r3d(}EsBh?>.NRVω?"xG实)MĚr;u?f f:3]BUhAMIx_.o\M>hūh[nHvGC#ɳųF+ꞽ z/:Umr v-*im;Zέ/]"(n^' g}Ѽf_2AfuVtP{v#rۙ#75YOT>.;OMn`pBwl 6T'*h8'a }u _֯(+aS%!7|/\zU 쉐.{C6m0ec߭"CEtvf!d_~fXNRxmt$cכrwi)f܏3FI# ١| ko!G(r4$J[tfFe2\AH E 9Q2lc9)Qwy'uG23567.+1\ת4%ѾOGP`( 6J<{${rQE |lpGxQo0=9D.3% cn'u޺VLUR`?4تiv1:ī*7U` VW^rAW_8@vAO5MƄ1]VEIͤOPJ/kh,>{} 2&+GNv](u9҅ydOR@K!IpNf;a:RyݎJԶwf޽h%4] )306Ln/R.޾!Ua;´ʸw,./?랬R秛ǹmmj etxa(![neeʹZ=5z|^s!($HԎbJTo^Uzs&3 6nF)ͬg{nS7 wMtͺwBF{, sٳ䖜@>c8LTUI&wI-hQ]WG %, Q]v!D94>ef!eRp3sW4+Rj` ʔSwe8}/$Ӫqo< 2MڏָqQD$vr \^c GE<7N fF#:XW`e ^wAռj^hjq ~B3]1Y(MsmQ!2SY s8N7Y jM i1uP>/&d9D'ZْÄ>7톗]pr\dTwiP]fq~Yp Y=MiRǘҔO> Iqo( }\(Z CO7Aɜ$;"'Q?3Se]e_!"qG# @Az0peO9)*0~rم7zHJ[$YBK {Q\`RSDk Wɮ;5QA^:9~Қ8ub0kLVL< uWosPq1xvѧC!,b Bqׯ5 t\AgD@ E?K}wH)c**=>cx<`@z^J^'-86*86f='BV):TBT7WKY$H)uB{~0oO〻v+%v79|DG;ў%m[P /-y7C3Șe#PB{3ipU틤}ܥtoz\j8Cf!4Nd {>3v~D7]i!`"ٽ;i9t6!tVqcmW"(a^l/U !x_fŌ͜sSp HO]ixE|! OFe?,i>r%χC*G]{]0eC1B䇨24~#[x3gN#Lr%9IȅqK:HrnzxX|p/  JH BÕ/~k(Γkc&+}Y'"}[>=>z^"=hST8MRj֮X> ,!2R0p× &&KSɓ߷WK~Zt2]$[@Ԝ9+"Eйٚ")d"v1;:讘 ?Udn%[DVx" ;Ms02>B0F>ru]ˣ$a| M2&*Q`M9UubHHKfBE$4sg˼K\$IJ%nII`eqZWBt鱌o*OױK\;H e{g1ߵ͖s;:֩\͒VGchmS,J6ʇ}  aWWQ5#Q*~^ogs5/s1GdcYƔ5cx :Ô ׵=`5HͧESed|9:k`ha sa~voZ1rN48 :3Tc+Kqd7e{< /uP2Soۭ- uG-uX f-C\/}|eV7X7fE#X|R^{f$GiZ/<: 0+t#Ytiu~@_$Jd[>c( ]+h2SD=%QX/Qt(dy:et%3l\4A֠;-"/$s[R8~`|>b$|" CiFip> #ݪ`.C:cjM-8P}+zuMB;Vh2_[gT|ej q,whz; >'I})lJ)FsZ-FxN<)O-'3e# =@Q {dyA廙4>qFP*Fÿa~TI"cD9J2wk4G2hG1~Ĕ &daC4.\Y=mԋj= w,%p/w3T 5[2Pk(_~2/>Œyc u e_Pq`K]cF FUɟ QE-;w =FxEs3:Rd˺'y)n-l<73Дed?k*Gf&n 'H[Q~*|,UPAG:2*~doK ꕛUa̬dBJ8RW 2gVGjkK|]$m8H-OVw,v/R icNhHJQ2S -QXBi]u T`pa`jc7=H=G,lL3$~wA&Rn| #n4=7% B%:22{۾Bk7[r(nOf3ï*aL8!@yʌWh- }kmZ0 >>/k'͵20T#EwWGd!N?L fBk_͍Цl֪UlØ]oe*bJ\E/'ThĖ oȅl 4 z|V UxOM3n>>=MDӇ1S8ZKڰ%Z)W$'3lCzqg]~I)pS/{-k?N*y|HΥ boE gG2Oj OAk_p\C]P~ Eٳڇ惋7#dvFsXu7$yMډ4oTCޢ3߻Yjxiy_iM-Up&>T$&p Жp}dqvTI#u3 _8Nm^8n2+v$•.Ru@IfZo Z@afآ J.#Ts}sJ 4.Īpe*⍨4A9ɹC繪HLv"P44EȮ(u(5߁ar i[$!hKH6>f1Ψ GaP6>vKr!9=-'l[$ I)I(oң$4R$+r ͮ ZVrea.Pzck[PG1mFÊ;-' ?qrA&Ǟ_겿p4)0NI,1QwhjkuV(hؙ#r4i#n=$8Gfx+`fX` j0' -HNe:v_/yA[`Wk1;s7c8cA|䫾xJ}:ZO2PWTj[C&s ģD%/.*Qo-ȉ_Gbf0fU z-PGa?w 4 2 03}n͡uׅsIV_K_9dcGK[oEsHUx&2~u#4~ST$<ݩ]ߡm,"k1 㳙i7*|D[K`Ѥй!NXIwDYx[tN'3 w&Y}4|v,X^kֆ;ͮ)ߥV7`/"$v˄]IK7Ə ng#X#ղ%r5Hx1{o%uhyH/öS1 4LuKc0@[`ksǮ1?t/IΡn$xF +5u[o(R]\Mzs0\EB9$ _xc#rQ|G"JAǫT(@~kTƧ1zJǀ-Z 1$=i\QG{gG + vxkv lTxGVI 8S[b=sXc3:/\Rc|MvმH]lqE*OqZɘ>ZE#ʭ?KY[o3/arY\{nﯣ&]{iؐڥ KY A&/\dsڧ#mZp(b&?îuIltg33!+l?;Ӡ_ = IPer\*knat@^fEqHZ/t͕@e%Tu!yI@~=Ҟy}<.g ^/*e(9&>!5ZI}f2gBEά {cQY=GѻjCϷu?Ӥ6Ŏ0b#MGzu3ڇU"|dͭ2e> T!,TAOn*0bR4a&~bZeGӣOѵ'wRIx 3/Tl#ӌz)PUJou T4I F:&SO /hL*32 k b%@ ,]+֝ʃFrvV!e޳S9=a?-ERn.w՗Sš.'N% uy:cUr 7ҎL94n-TrwE(Q^яM$zzGc4`>)T!s'^Ѓ x8Z5l̻;*RUyK0tlml2ㆂ tQ#H1g%?*󉹳J ˊ.D%`Ϯ-!hYap)[C#CeBdL,B3re*Bi֑[@>t,o K܎FMf@Yu_Y $z9E3QAc-_M(B<?fPGTNs-Wg.Nkƛ̬rE`OvD,V ^;]PD܊/2#|Ȭ++-IXv>]NjhVw3/ڒ*̋ * aw7c}l3 I9|fJi)WW˗>zsEϝv%!8ٿ?* #;' /%/0ח<^̺*s\Y?8Rۺ=jAyBEI1ho|m 8NB_9Xɀmi# VUtqo85. {*"9ؗ%4IRCTd wZJeUSXO/5Df'M>Wʫ 8(.É3yq#BFD&-f23_1NYǕs0ivz^^pcoސ9`DT 󁪉(Gg@,@1r˼Q>=ȱ+ހ!G!@(d̈́/0tdMG!;y/QųQQ׾U@˘Hn=43 |XW?@ANwpvC =PCł-C0ԫ-mx 6? 6bMJw6ʸ@ y/wO #RkY~]Ta%Ɉ+w>T1!&3'nZԁ} 1YD!ou {r8}MB_"0|aC U[/{t6g@Sh=6XVilRW+,J|f7t$nT z6|҂LIc=[t5 hW[ 0`عZ 6XNj#:EX1F^AUU:.=!3U}NODiLg졶TP_LܡaE/"U b @g㉑,̴$^ˏ/4Ghd=vX[5 {:e1ո{ifi-Q$hީ[7ۧ9+P +4^2<~d y=׎d҅TTsCš㮫f'}m,<ïߛ[*«HXGqqra+"= ~daudȡQ{ E>HG&(  d[~0=$$@ڭXo }(}(;w@}&ZLzIsLD % PC["\ENŽo7XυvҸ+#Я1JOHʑC%!0](^T$|ep++ WgKQ{`yNh<5{.ޑӜ"Sw9BK,`/.2ԟ#]̯Ύ͊WmR1*?O}PUѥۖhߗIKtBȏl˙t,v :{Xĺй·gBQ+RXdaA YHW0K'DH? N9ͤ#Ǽ$ ƜLυblacZ$MCR엔n#aYFG8e҃HϹ2Dgˌk&aA[7!$5υFƌ A^~HX%$XMS{fl) 1M,Ts;eU TϜi+WC}CgVixʗB'HJtL]{y7.XFF ﭽD#s\pg Nܱ~&F󩺬dؤ~i2ܨL HRGCpeեp1HnF] O5Gö4Bz$-vȗwI* >^ )!ke(*ܑ^#Ju|nJtq_ŸvZA'U؇7uIcY=MJf%(~?2tߝb}")%f`ίȔ׸GT?3PxR^xfXH9Pz L.WߒRV3%eVte5/j;>  @!SL8,Ryio~ ."U/xsKې)aQ(!HI)iRȈ?UŘ=&B+ƟH;&[P&IQ'"N %n~*(RanO5*{}ӹm8vh\Xz3HGRc^2 ]7'&@AO'.[]T˓ HZ<94bͻ2o0hs=}7: p@RK \28PuJ n u2 B1^2B)ߞ)pT/n^}wD)uıS1J(/>8i>VٛzOR\i@!Οg IЂ;^L%k- EL%EvθRQ΁DT:Y瀕)*%@D$c=Vz4J5ǔTEďe!#Mdz0 t([8q/HsM 619E+X7'}D\oS2>h9e/<K(lm`WwVe}r(KPg{ߗ+͉Gō)5MӭHa @o4Z+qyk,߼Ow=ו-IFtnV4]7`J;" ђVj > 'M3[ҹ-zehx^w ~<DžgK:MpeGiFϵ_sg\\ɖX;BiYE݁,%}ԃMУH62L:q}C6 H;evY_ENp '$DH.Lڽ,, EA"tFh>>HQ>.͔ ~vfT%̳# e'O s(X^k*!FQF DHG Z*1~E4j=Y!'I [hH9w= 8|l5۰5FSBpke*+uzf0YVӳZ>7k=i_ bS| !۟\[Z,"ڼ]wg9[`oלPNyK?b#_ >7%(nurhx /# g+2x@nwWLP$F8RwDBX}q(&2y l lVb8P5W #vo9SZt$B:/Ԏ7u*2 ๛E)u"hbRЧe1Ge?{Lk5WW8H(փ1#:ܡΆK"߃?_!tRΩKOF&:xa8xY?ol+~Kj; ~!ȶ{=MA ۺ֭S T KPKIYC3m[v%l&\<!CeuZŘAnw *?_6 :MM#}70YJn`PP:.%;=)n|=!@ X8i?!](#—XZV|$kӤaq,(8D#ˠÈrmn&dhv  ;&z0܌?$\]NS ܄WZ1d7?jI2-f-ݗ9LS6`MŐ/:Vrn34wUFJ@Ix諍I \5ڞPMej3|~%(h!H隤)8 Z_ELz G(6 7b|^2ϺHr{ҜnCpi@\tcAu+hvdݞM~;evRfȽ_F=ٿ.Fms.[ʿ刋?/KJD?V:o,~{vLl'B_Vahdێ~aIh-;Lڣj8ȮMx'Ylvק5Z*180.L_MrF9Nq^ZkIT0_0g$SFH7ޛc˛dе3ga} cz5_[er[9|f^@ދNR5h$)){;)K9\VQ~WD i.j6@lYG!nj"5BY^YמzkSkQ0('.`q5^KuzϜ!3A/a,i}d($Ÿ~fxf )<t"p/yDpd#}1t;]VD&YN*>Q d-u'w dYoTAY d3H#5\G`R)}PZZQ6$2s].D Vb{VL,401FI`֖ mqyq.2u6RF mGVG[q62&E/j侯ⷌKxHz}J5:*nH3| ѩ/h7#N98OJ9DC$t»32ˌLP:H",l9{2@qw`@1Wt?h|Is#ʍvk}E(G4}%idtM1TjV-n>)aSK,a`|nwlěnLn%'',O%?ؘ V#P['!A=A%4JP)v;;Z\W,HY#qɰи'Kr0hO1G|IM= VQt!{\ v%?z>^R, ~l"a%~J޶r fIh>Qx.܅zMe* 'O εK7#A~|ujٛ4k:^5?U૦ô+1xH:1s鱏TsUTԨ2zh# 3%Ju]Y-{Q<1G;cQb G&7U.!v5_S!anLJauLgv |ی8-s~?EH,QaoSM1v& 0\oB/r) F;>vLOp7(V>HeaiyFJ$ḪJ XOG=$e $Z! M ̔NO\ε}qk b4 ц6WY+pH|Jcwu6|U2N1zVr\!(@䳫 ~4[ Jz&ΩSWo[Wmhz AlsQÉW IXK 5CPFS% ldX9{0Zm^eO]QSڀ#߂@CL~}?73D?J7'T@EJ އ4<8~ƘeW^LV:ŷ@q {;)2 <ݝQE\^WS\uqxm\CR+07#7^^zD}gu8kصOÕ\b*HFiJ;DՌ*OGGZ-T*1x˓vb[@iaiF#%KZw9^6 <]6$(6C@vL: Z X@@v o_XWb⒋M!]%a.B՟t e8X) 6pp"eS֡xV)QA42.AU]B>pH,gj4q$T Q7Z/;c_2u(cx;F斩GIRŪe|1b_C"jAq~04/L;!x12!^nHn\F`8NVNV!(lUk̟S U<[$8?_}:k @Pً0N r贄KJW[44 po0FGs ;!!lTXtKC欻+w|}9ctjVȻEqt5/]6"nKEk)(QcUQY|;PCuV21S;c fEX]R+"MG(nVGd:E8kY{8r _2=hD_Z"4t6VkH;g|j|EsⱫl :°SZƪ5jFC\?PiLoVa3ߺv"ĉ%2T2{It@2$wUPYDA90+uXY:Y+.&Kad)[_gMgI㊕:_BP31\&M1Q6k|ù]y[ކ>Gܧ\q=݀2Ɉ_؃ f֛t3"촆QEm q+ x,NL0NzkUQM9@ÍI.cgWYO mY !{Vb?tUNٸjֈe+XjD &ipڥoxyu|j$#bS |)q^h>֋l_KNB`8sc~Y3C .^Sm=0>ZH[ g*ɠC#Vp +B7=oK /xc~}zJ2U5*ׁZsP&KZ[πܣoŁ:&8_=:σZG`Vt$>~<>~K9@ҋ.4[ t= NR>eQ@Gjc}dp3r4~7TE+[Ϫܝa\vuU;J*j+!(dL—bAgH$Zq߮zF €(XRGzqOϱfH .wv_ `}h?WBM.#O0 sTOMf?pj5n2[(V=7oJ6`ڎv8EAGVL[$w;u%U C/FgnFG4P: '$ѓtld/`JC_cF0DIDGYqwLjˇI% ^> 7|~ R-pqYƐo+bjlG.n |4!UCa%=SOf==6PQxm[BǭHŤ`ȴ1 8>j}q)g}PN"?:qD-~t{8000#2rj]u>v%W(5~sXݗn@]‰dN"^Vx=#|Y=.MH\uzeV3mXy7N6|GoP^~z۱4 jÏBj9WebqOIG6%ߖ-@OWJB!XZT/Մ:%Szp⬡q&^cݽ! B3% MuzY_`i)tWJ)rl^&,'n|LcLXKѐ=ʵo6pGxOmFxy<,Χ%FPt-n) Qzd nQQ> Or u(f}3C 0W]X7 X}қ\Os["˃J{ 6 .ʼn]\m#+b #G2rQ2o&#iJ>H6:u#lHX*u_:k.6HB۬PD_TPm~`|myr^`6nX-hhcM)3m1~. orޭ-zoUe1ZBG'j&gTVtIJX! 2Q`Tw{fN}N٦Cr5q ; ,sTR01*0U>M  4-X:$M zX?4pqJhm?0Ό]EޔׅZ wKn$㛺_!(I⋼xt0_7y柁poChKF#fmW't$-%CޙXP(&Xfg%d~QN$MG ]y`ÙFKJ"Yݛ c}S2[:<|bfXYg<&dFno K$ЎF0qXxpt 짃kxKΫCHS+)IgQJrArҥ{ ), sQa "O=gfN.=Jxx\\LŞ ㋦Z81:@VƏj$pPD{ A4+酭-X_ HAQbu2p1@ w~3.qz0@'r]ZZ!24ٱ8 M8icax}0 *\42W(on3}V^>\':lWLW0G2[xwYԯk?)F0Q7|A`8n4 KkJa]m=ʱ-[ہml;>Q-xVuu񸵘OWذM8~>}X5c5|(Iy\[p Bw4wZ&ZWHz?WywKUM庁AU巀Hwb@HV7#=)DmoaU0&1+Rh(J{DkݠC{f S^Rd? jHfcv>.rA|CH(i+뿒4[QP`. p@jLtS#E5&cœs_F*:0*a7 M^q6,@y"U{%\]1>WJ;+ץu.篗.IxVDDP8]_·$`LCw O5 q<U[Ҩc@_ЋO@w<%-O01Gş][2/.Pd w~d!E#/V 'vW^k,w`Ǡ-֒{ӒQRH9 \>.&}@㖖,;0? hY |-Zݣ*©U>~ Mn^xߧ6En(M=)]3\PXE9FvNA{s/!2'0̄~6Nf+ʥ6Ʊ[݂kLa2e_ ׾wc z v4T*^MYH?]%D61OF &,uBfb8rr·qqu{2@j;elblG>EdX/ffz={\g@we`K͓ݙxb~I,s3'͗Q5aPe&άE:Q,e6 W.`-U4d3h{pHq X‡G c96]tLEi%_ 欘<-𔜨%&f~TysrilJ;|"t=U4ՇI<䚗>DJ\+!m\_iQcF;nq+ XMd(Xv?IO%$^ ږ9yXn(.HZ*oN~ )")8JcH65j%8s.7nJicorm`a^QGfWdTv^Jd6?%*lپdxNDX@\2?}c׺$6|18ʫo I1F#t7&ށ6 `WK-۱G0+sr+FN5oF[m|qum ipCv? L3RD ӣ[kw|,E0Aؐʑv%:͍|d.!9@.rJr,eV# MtD7)k(@bnYV̠-:JԞَ%^rM*˜BfT-AEs+-I7]]is\yKquSf)ltϷϧMq:,,xO-$ )@-mhN~湯%ݵ[,W# UoVâ!=Ո%N2Y7p 2$c%lqNRwF@BeÎ y:f," h:tS&Cໍ5:p/\1e,GH3k$V4Akg i7˜: / O0]F\-Tj啰'y4y=@Rf PZsZڞ)[k6 Aa{ȧj;E9}9fi:]aM#=f̟W¿A)ͷHj2 OL5"F^%ml>~xp˯%B| :b@ "^u)?;?2Yd 1aQACǤ'8V@Y' *X_'7,_D_BYEC#I`wEq( }jNhW[J kxB+_ %j~ _4".a$lܛj>@`O=Zh: Rr5K$vRSŶ|S\#0_&pY@nMI%Rݡ1u[uR,TLh;P87ēflӊ D^~!*%2`nο 5&YZ[9wxks*O~"^He`Za-^/HBKP?:i r-y2"$|@ ""g7tHb >^+$\TmDᗫ,V[iüj"dx~:tI&Eo 9(ό! 0J15^ŭ6E7XLbҲ iĻxBL\ H>S↿ -*$TzpJ* uGե$LLX%ucBХt5 v)tw&T&9$9 aey'3" Lt & C(aKO8rd8L!V ?2 `XlL~Oh1ci0Kϱ];թhvdW \_p8%`CkN/[S٦&-05x+7M6\x:$ㆢ%:*GyNIpw ZyisHd6^E>|+4蜚BԥeQORikX+AM&du~fx+"Ȩ?D!icUg LKȌx+6"Ĕ/?ﭲJhu=!ЪLxZ yB^LS0ͨڼyYYqzGlJ_` {4/b{%{9CTA'ESܒ2q_;{ vwAm"tJ"V{`FN_k7# pZ_AB%ʽDa}A q%2&r?(mZc=Y)ZTian .C IkMæt>Mة^Zd2 9iq]stDiʏը<&X_5&l*#u}>RXiHoW d!_#JSk]TW7dL}4qQo&2穀L_-͹LF ~GO88+Ǵ]Ƭӓz.l:A 0Q|0 -;,-3n\1N;@,t q\ѵFY +2a\F G 29M9YVf ;[*j7}].eS@!YePy*xԼbJWJV0 Qޙĉ9!Ct Um aR2+> >R IɘAVQ/ ԢE%JD^2@>[2P賻#3DpSoE9#7ffȸ~uZ,aNfTggs7TH(5056"|Ep\tGO uL%R0;`cH[EyU+Hƪkbۥ6[[PN5a*aofw.tki 2 CP{kC][`?Vԧay6rXBcGLE>o*p-Pn$J@ZAGSI'4<8|ER'|y4,ꦴg 9r\wغq8K^9moY=:7h]"DN:բ8J(ҙuv!0r#V{\ }MGe&`dwp蛗MukR d ?-\UZ8%~zBcF;~{ٟٽpomWDf %B(%Uxv9~ 2E{?)Ye0Pw`;+saj:UGN.<dm&b0Ǥ^+3X 1,ucݗB=%xu c==><35ǥKzQ׀7o.%pLg4=}Q#!eP.e4݂.{|UlQ)!Qx:^C{Ӕig y3[KW1]qލT4b K_scr4Ċ ,}9x\<5J *XIS7+ϔQPgG2r{;}I w.!EP^eVx^ϣ؊K|K QA¶xK'83Vl MF-]w=c=p[̕=Yw"Ggd^Mh-æp:lQ t&B%@~!IKȻ[Ys1-0㟈 0Z_4Iex0.Q/gdCa|N"`U3<}Q~C`N"L]toq ]I= x۽8looNh`ƋF.ӳ2|ȼc62>R7_1~kG[MUǫ;BRqZVqB:?ʨ6O+#S}J6Pʸf~lcKO¾@ Qpm d#bQo[_xCX׏#qQDX(Q>ΡT+8 ?4#S]tsE!_y%ǃ^<*f{Y;m@ȶM -D-w.qIV9C}&<=9jιC NI*PlXz?}:]S˔FEs A롺S2jo28D'G*>?B?E̍.0gH1ڌS|CNSݝtC%e<(c~:167 JQO(b1[QHQ54W, f m y\!kpa6 UƔJCfh_3ׯji}#FpJ3[Jh2n V=n- Fj彎!EP̏)ٿ &hR/N|\uu A֙(䈠DmSTa h}eNiCˑc,T$%f4u:Q{q NHsn+-~mۛbCTߺϙ-@ ĤO?@X {23oiDU'cOhH͢W.`7qGS %( ?YA0"+`X4TPRb'*nD ?M0N<6W<_ePnRG>8/sd#{Ts.^HS/,i%7qc2qJ AƳh.Ч@%)U#p҈8vДDx(bWh8/yD 6E]?"jﶰ>5--2\nl@χ*U;_vKs}:ѝS4c7+OڸwS ʗw4lb>! +K2 DE)\v2["FI&) *nxb,%*NYcBÅJftMVq_cjΊ.wz;CE^S}t|&Ix?2 cNٸqFy#pu֙37m,n.9Jy5.ט;F\GvV$^2O偶LG=b;9C<7ξ8E;&0Awź/ 3C6h6:xv!сT NɒtOYxo20AX} R\/d`gބW=U:ԩ /gr= WXh7/XcέtxmRq-Q}iswkxӚJp(I> Z<?2"kPZ\} Yb(˃喧k{֑:>(QMig6 IBwQ35KØ/ V(̃h YbotOל[DO4Uox=9Lʐs>]˯"ylDLYq,Ҋ08.ƞj8%fP:հmwUzb¸? ]O0F^=巇9ЌM n[@=0?N1XBZmv*ijuЈtU ٕ_8"'U3cT?'=JEcbq8̾еώ CC NNeasz$( [](E6>J|խjʲH`2 )SGd]r9/w٫!zp4KV4VWz@>QypCjhI8j\^dYx<&@cJMXpRqxrȕ:#_<[ftLĬ(gɍb-ՂS)Δˇ^!>C{%~fq30Rοf)FǁmQ|+d<ӈ \OuϜJ}acT$dX5qM񡱗 R0i&hGoT~fd١wD`#O: %.VA$ WR%zqYeʞ2RԲ xB?ՔVP]h+.QTa)rʃk^[ɼݭ`\F{ tPѳ6$/˝ztس}4«DjG?~W={Eh5VE_Dnx p%$9^AO9>fp[;9Yj^Pc@474ge 1qjʵǭ&=D~>qjþ.>c~t$m%|yo;ml"1aa3цy<ϯ hu1r2ޔ/켻o 聕 ֝5{vO5]T!N7Y9Vʛ8V=%`B&`ꇄ}IJqd^;'7BV:A#6wI-NT}xXQzB6]j0SN%Z1*J`Z4fnj*5\*!FH]%b{8ܹ%TScAR72g2+kCą;&3`A7]B͌qSIOSte{lD3pV%?G˅).ĨUtlf` Qm90Pܕ[ě)tC2VT֧m9 jbZ !G!sTx "9Y<8SAZӟ\odx_fzY54{n7 |/@RW=*B,0!$A 'd8HSl `"1a!;81k [7 l8i@',`OXT.^{Z qka-=٦UԗnmҘt!L%xׁ&0JɥB.A;[dD N\~6Y5*sͤ`Qd4V!%玑iʴ.| 2E=SI۔ +qs$-=k̼JDSd@6Ezra솠DukXtX\5:>{<jmOPg5J=yӼp )Wa Ⱦ|}1IZ@ @]-XBcLg\ͫTT_,ҋ%n?KnW::n=Phq F3~rݻqY^G ֖[Z)9H8[(^e46ty &'J1Q6HKO nQ'2B|>S8ˌ/^WCѸP:W){6#<)[du@A7R/mSV8I *9*C,jK,Uw nJ wVk õ+s,AqLd_UQ.&aazMpE"5%f}$*ȶl@DQ庨UaPߛ)8e]c,UNDSX / =8%aۄ{^W@rfOK=G4Bxg_*=#nı'ɉ nn,Xb8֙+5+ئ--N*oH#RѷA\ .ZX>if.V0k6ͰXП5-οHTt7t/aRǗFgL@c<16f:>RB@꘮׾d`RpcςyGy:³G?`wROr'Dq~dC6W'=l`)y?.u^`Z>nZ yՑ׏6V} .<i0*S iX^ wPyrⁱp#ևuL;Ek0Rcc B&<(H\pj臻Y<ē Puri3<42(Iu7it ޶'fjQr%[aM^M7FQhyłq,S)ߌV@,p5@gNwW[ノ^=u䣄PL؊gF>"u)J=Y`k2,QHm(̘s|ڀ8ǥ{iSA`(q@ S(h4DlVQ>n uCꀐQuW0jLTApY*ǜƢ?.z *h,Q/'!8if9J?aj-"ԽU]Qܕ;QZ.ɐ̀5/q xidP7H0s&BIޠ$㠱HLNWZdkX/7dN{6:GsX7{DdK߄$WA rhjG@ rӏ=L*pTf5T#%\/Bh) h0"t)KPнJbʚmւ Ml XjV 3`#.>Mܷ{z9m^/ˣpzFY H,fӪHܑƀˍ~ 9nC@WL4ZJYMzJ PVMa_\6^zS4q^ԙmNF QL_֧o |̲alvO_^Yǫh/^`qiЦ%&g[\^EhjpU_Bufe(dA8GzcQ(i:bKT6L>4EXЧdڡ7TT i=娲CUyQ<:/85>T9ECoksa&P/as b<38>(!XΡeN!/z B-kJJ\>D놇2FGvCCP{Xwk2U RW~ cv k$vӗє e]5<eIMX́kqO|T%&E~Ь@~LJ%L@a#_!Iۨ[7X:"GNvuS^ X*S| JYk1 DT$v>bV+KgkeQ@Ayط69ğٟ:4#Yo!ow՞ N Bs\sbjG>'#?}u.8`iE_dj]ka)n˝ywţC8H^H7 ;]&d:Uv1 u6brڨ%o.$DQkl G /7/LW9J.\zdX-ZBȥzj;3i0%óctNeStM-- E7A{1<uOV*O>4Q#u;JhW&W2_9 D4)b TgML^dN@,^OO?(b%Wԛ#;Y8EI\Y+>Mhyh)1X})3CkK7!;sL܃ӽüh0!pcU$ fhIɱΧN&V eH!ulPj:TIG%rG@$~$Aǥ[C4j fVh4'Rk^."Q8|Nl?v5V|w$Bd#W<‡70:Z*p*'9z+JE%dVy j`i+_<vJ& 0.#r \峲IAEv| n]3@֡U8Ba />ܾb-(^.Y>$\}7oyN#u5Pܔ{Ѣq1K ,qxQݓЮ=M:"9DIT|KO[7-D30LNO%Zsc\9pP;G ]?àX,;hrr~͕] $\RsdɥwŻ1N4yxnJ(~=%3X`B̂mw$ȷ=3UeBP^op:Pm6sޒ'B/>~=G>3SDyj&"mu'PUG!SC?5\gυ ;,MpHD[G L܋ |4$ڊ2 pӨ/ s\כN5]hKJ$HmVd҆?_>$\c"PQ ax1M'Eq~?qѶqS*ތ# BmY Ac,LW/T7=S:43ekhNHힷXn"\gn;,Vp@62q$v]FP"pj(IV`X1"@9q+r\>xy4XdAg01:aX Bp[J,jR'+ iE¼.ؾ:ɂTt[g1.藱DExjQʑqY3+꭛T%S9ѹz[ =9ެKo6hKÔ.JY$;-SkWX^Os̖us&$*R PM8V{ .O^d~ј/)k}uQW\\yxvg uI3o6BEx &:92zyHLMҭʱ-iV-ЃIc=.˽r\ʹ*RJ$Og"e9 42AH$Woξ>ƭVOtyw["Q>]z햃Я3z К\(H6Judxp1:F,%DjoG'S6t-8 Υ?!4&6-9dۯu"G@\v_y 穦ex$k[ S}PvC܌³F+uo PSǞgǃҌtB:grþͦLUE+`n,RI"!> |F>wV69.+Ls|?ID,XP -nԂV |g*),{:  7'| LݵZ IEoެrf ݖr-k" TOĜnvo3s$vRIGw$IBx/JkB_#ߢJC* VwҳMCE)RC;UTҡW߂7HzIҰ5g,+q+Ѵ2n,HBPܙ#t2V^TWYB -UFVؕuxH-zWsUa/EI &(x̨A޽NNwfٞLnrTZе3D2k"lY\Y~+Jk>GgC)Ft/??uGs"`aqJc$+gCWg.fH 7^qRQ>IF\;}%JyuOs^Ga *1rGDnGrt۬nfL@4aR0W/88v S8ZX 0D*^Tҳb␜};Zrl<*bȌŞtNGu)X⊙`e8dv 1~hWL*P :JôR;t-'fs.aZZ- =B4»xY]~ǎFAJ $et$dh/1yr횆{4 oWD/m7kԪyB&R]ٰՉN*`o[Z0C%Wᥧ;v4k7$ W8GgIՂyRne޼ v>*TeSD vwP (,4wItⳲ{wA&fGRe4H0$ }0;@yQ=1OZ#m8Pd/'ag;rcRp/UPrPk@9OT5[+W{>,#r|nG4 Cuyk\9 0W~ ³c2ŨAl -!EMTBʠKm'emcj_;lYu/y18_7rն)ix R'P }4|) m+;Ȍ# iXCgR.]&mA6quĻst:P@iZtJ.|G=CVaB[A#va\~3CW}]%K]0˰[>KPHO䉝b8 `OM  PC{=+T6Fck:om)G3G ޜj{t1w+>1+YB" Xe1 >ޠɫi0{ȢbHEt,I.41hǨْ^MÞ!挃?^Lݮ¿mL >ކ܀T= XZTm CoKѿj#MmTAbO ߎ%g{|TXim Pn8-w[Vqk$Jm!5:N$#e%'W.>(7G/{Zzc-9&;@+$C>.4Op>SkR^Y#k#:aJ,PQ+}D?Qq9G0yďRʃ9hٶyC_B_xa=:纖Mb7h lWX &]ސoXml)m˶#BTcncΒ8 `I70)_AJuǎ((#(1CW8!2Ij^y݇Tj/!Q5Aʆ8X5zZl&{}B݇H?ӓ hVLr0/קf@6N:;TO?Hdk .1T*tM.hG;rmPT#I^,yR=O,_B Q-CiRRSx=|SD2`NPϕKpߛ*m;B`1n}*Xl rR $e҆j^dⲉ p?` ¶@ ek ^*ioq%@nZitbZJF:Vɨ:7o ;2%=LBɶu`NjU:b@/4CKX_Fݺ_(ZΔ!([J1Gaaq]*ݲo+s`!Z#dv|Ɵ.6׵zse_ d|Ć9w]R[=m7L/Լe#u*EDPl0<􈆵JK.B@P갎7 +6 ]Go?k*Ց%GNDݠxo#!xLBҭ·A`v2 Q)EM6{ 5kYCxIϳJ퟼6.73j2wB}; RLQv?hk+UQ?9Ĝ9.,̘ƅU>} 4. @n[~ZUs lTE\SNZYho)HP#c!wPǺS~ܤ}b,tR=ulj˳ޥ/G+u\-UH?W0]cH4tfy/CTA䲲"\\AuM ag3 n+1q#< h8}`%(ıEwϻAbۜX8 dFWU:teem6a}Pu`<'SeĹFj'PCp0,P☊P5`kd~Y93aT [U+H(|t.lkLi(5)˘%B i[l,]OE ߜΐ"vcџXy D)vgC+GI0I!zUC0WJ>nکw]I ڋbh;b%GG8BP}H^ju4oZʮg埘y!-Itt0$>?ޫ-d.x4V)Y uLE>&TrlJZ8$GיyV9sw!7"I8JDb$Q+!S/D%r?F 7H0Ovv ]6P·!.$n$ס&D^2SUhH$D샄WzcJl, 4, AxZd&XKUB_1hhYVsvvnu iOw^XhP<XBt+OkgڞS&,YNuaz^WkL )pӍ'C?oˆ猓 AP}>;x*l IO;7z\8r{UdnlQX>/$fmU_m+@0%Bڲ[Yog눓'F:_ʶ\d}R cTS2X_ ʚrC`,iOzI Jܑ :6bc_V򀻈=rW1.XNE] bNnb%Mfm%)). |381F^$?ch}.,:jeTRwܬ̦!CH_ژ&IHFc7.u[%8ru !k $~ )JHfRyO=5OpoƙPW.cj*IWEj0% 6L\" SmJ+|żkHJ|LGs)\sz\ޛRՄYZy C+]-`Ƙ^@ 9e ʵ]NT:*a!!EA}W}.S{3Y)2})F Ӕ9%n?Jl+7*XH% j*TՈHU/ ِ~%\/l?2 uqn<ѱLKMָ(3.d$zT2Dn)ӥm-OU-i)& oNDTYVάr@ȨSN VGQ+.f<&Oh+Y6]Suv>G703G_Z̠y-EA+~=%wg~5҈. š92V uq$&m3UZ侜x&LHFEG?͢ov%uy[e)WUPv$>T xa5 'GQ,srV嚶LEuց'AlMWxG2Itz)܊l9NLLIZWPAa4 ՃLyD뭕!?/c0ZJ1+|-PNqGװJƖ@5 &KE'hk+ !Mv%VRݍB?WՎ-r &ÈA+\/dF)g jaAfdoR%9챰]rBPd:xͩ}zyM?7ٗwbsl;s,]`E펥nWh;T2"*g1e&\J'VJH,`_=4}pf1-,Hz(\8:t\ūݔ^HDž ܇5S#,]:(SnȬ gp4LN7f *~\&.#h+As'xQ2/Oŵ3n(9{ZtDd$Io`"6vsv$}LV 4G^[ dŹ'N-Xms;uy۱1jtgxi㪯qX#oEGI] kzD{(=1ˢb]E\.˓sPQw!PrNN^9:#wtde>oPxcJ-})cbg3xYMkPA874p\3wXѳM`mŖG du;E~*\n,Y_ȩ?*&ѷ89\L˰Xhdw£V_y|3mĄѤT(o E8cY_~$#"$Mn_)51= ֊@ݽ~~~9gX8)p@8ٰ5`૛ j2@mCEr9R!A8dVIҜ'Iw@ ÍlӂײqU;?Fc |1ܿA߳yN&OSUsXE;|v8\xu#|* )Ny"5D0n\¨ FxV!ŘF#Ez-88VAؙGګVW (7iJ“b09d|>i`*˥c.PGњU?9? pS,Km%ҽ`!K&2´~EGiQ*6&jwqi, o'"_}rUK#cwQl$y\HqF@AϮ똭dGj/X Xficɀz4b9ڊ]2;`[sB> FT "@KxT:wʖ$ qD}:٨`\f ړ8FHY(Lu{po9Bwr\{¥;M&me7؀p/tb؜bVZ[ G p<F=B<ٯ"|yq{6oVc w@ rY$}f4մi#esZ:ExEpK$^ڒ鑧YB|rJ+ s ^ Z8s҂v^HX>xBԼHwyG=v]bR*Ȣ*Kt "8Ȭrk 4v>:Am T?Lﭛr- cH>D<L~2M.e(2Lz-ĒǴSs![R4/*NME9~7"]WA1 ;ffn![2<%- SaڦI킐({fN&G݇!Z*̍FRy# Y8V_ 'k,wb8VAI^HpvjFG{",_K{۝{ߵø窏Wrl~W<*tŴZaҼ1-I[EW%?\qw )GsSUqŝϢvxCSr໎C0̦'A܄;Y,EOu*7-[Y }\&OcsuK@h6ڬ:Z%qx@_7 1X%V{1'Zxn8&f[RH+6щBG=n.ч,F 02o|ehnU[OCePYcy(2pH=WY W%3G{kQ5/§?Cq VЅm76o/41dY>K.R$8(Od (ɓ& M$]74K-++q9\|(I1koªT>s.rbzF4i(aoT$?K8z\Q1"rCզQt!,MT~>xm%EF9_P.pO(4=|%s9WS#L[R˷sPe-g~ oQFjB- FvB?rځXh01,2: ͽ]dTԽ~;Ned"|ÅjPv:s!L1Xr-me]3)T //V$5T_'p߀M0=;k?%]7s¦Vۘ(x|@I,8i#}G~Mں+ԞE~&) _b?);j6BmNVSj] N=QHCy\Pk0+(;)/̫wwtHe5iuޯi> :RL(p4$;Py3AhUCZH-mV%1<_mM[+G+4LM$]:7_O -a h ҃W[ec}Rkӳ+Nc䌸VR GWcAO MLaoq>_T->]jdDS_f^H/Y<5:Oi>hDN|A)N% / &U{N5DwFq!=n)0[4q!5HVTᆼ/kI`W<ʤ:n(ԗH $@Mz7yչ@$2n|89b&;J *dVi!t֯كBu-֔_ LInY)7\[O]nBX"zҥv8MEL 1j-?Aσ)-ީq~f -7|0hLLQYYBGj4V8!G`!1 ^ʹe 1:H7N͡2(^ d٧I ͼ1q+DL O3r| 6H%gWEe&F{lɝ$j;J2#;Rnݾ-fg+m#{!PoV06l5K(*ہ`Wy<(\5?laʂ']囥Whxq!Q8v3C z R-'|W<:=dxnt-Ao*Ju˳VDOG@ p P1h IW/IyxC>#>2$o\^G#w<[jeFl(bEϟ1R"w_sHYwwNxG8SA[NrftWH2MٕF7K^ li~<pF[܂Y9/l~a\X7彽mUC+q9pJ2\pSqg/)B͆6&+ 򂲱ԖrXsY*bn?OO8ws!k$MPecAsz#̥hDk}|o+[3/PTx'[O{@z tHBc2a[58eJ.*_̡Rl r7].& =׭#ѧZ/Z`z7T*?LS[ԁ-mGWeŊ|y3T$ 38(Z=.w W&6C~}a_Srl,=8W\!7]\t-6ytDJ2Ms9dRLrBt|'Ra5e@qy-$pَJ.U;™sX2uv!Ql]*X(a'ȣ76)[8\40WpԲB,XOa⭣.A֫=1]fIFr?ʻW (4NwCڛ +Tq B1>7j0 'sw`^=g2bD- Fs% t¹W@JaV$(VpSJh̬qĢ:,O'$P UY=ۡA7>%)+G -'sxzv4/zs:/aG]@?zYRi^qڮA8*:M b,i8ь4vESY_!Z6٨4yETCk8Z7Z2xc`/@mhsR9@Үo)cPꍢvP2NhA#L|9su=."Lpقe;?d ?i#k3$ PBZɁˁ lҝDo9l1mxRrY_wF ~ơ67Ә$A&2:HYT9w&0i` Q;~gTY*ÍWz޷1.?A| b֨~1hTEN\f".N {+9_cY/Olwp/( tcEs0 Eq8NI<쩛6 %'.B#+[dNmYVC!&xa4IU쁥+7469~PL*6g*XD:Z=X3w`ʈ']CL:(X[?w &vo {Hb&\L%Uַ:SVS r!'чfA(@2%0\{׈9U:hJpKxNcT̊E|(fZ`M9-wiLJ&+(G0CƁF&ic~I: r8!C4*mD_{@D*5=@ptEU'gUf>=4Ǹ j [X!ڥ)m 9v95Ԝw_^Yxgy`$P>{., ~e?߳(*rzum59VíSMunm2})&NAwMh% SPNb7ܳ)QVXH0)L[TI/aEus Ov47bDK+s |lC̿, ɏD\R-%W/bfd 3L?c@߶E3txp3OԎ ΜU'TCV!ʰ*^_@=DCH?0RŬ7:u+YGO/\ځ otL{k19^e#I-U ʼnbm2A20K%*eXl/ZNC?ޘw{$:{/?ȵl @Mg MlCY'p@Զ* rnD̆-*z]Iƶh;w!?qt'4_Q&g2.s0gⰖC:ͬw$w 1ejrϳs4pR.8=% `b['-?G׀د(rW1FVOU͒Q C,1Nh7e%puB!, F|/93ﯕ5T1= $$~eۼSe$>9Q"kYx.e :KA dtL`8~ p]B[燾zʿ˕1a]" WbF[L/S+MC,aąƈz.ܒ"0e4 w?97%;!*xudb = }rFeu5mڋzn4~oyZ Z&Dm߇ ϿÕ.jI.+ة h|6 X ~V9Fx+uvw-5-5Gia5KG'|Sh1SԑMRLvQY!>?HP]@8os؜a_G긄Dqv]5jߣ$T3Byw/mZ Io']gKމەw0,~ΙT^ʴO76қN\.zʲpLNQWuSt &w{YS-=u0 =E# u@ṳ:ic`C=ĹZyG;ZN<V%LȞhoy@㈟sa vZ۲dxWpJ_JwFf>k`S϶C숦4^Za/5ȨjnHyzOÎJ*{7`au$IgCѲϸCԹ+^[ŀ 6;g (:GaZ3f6VX!,d7(.h99+ Ώ*zfVCʫIQ(Y<2R#1Xe?DڲG5M[3l/b +3{53TQY }cC`lڠq! vinp <X(sBlиHMXFچAPOH95M0'[M[[|=i'դ$eM-*W{2_K#sHJ}7?: i{v[h3w|pL=Ld:#Y_62fN|8N{ uTbq7/ :WήwЇq w;dKj0V+٭]lR _~or # ̒%8iABwwWAfsHpL P5#3Y[rr# Sׇ+kҺ{~fNOޅJ߭R /f5٦7x|Gt}sZX`7->&\ pX):4o`|#P9^Nύm[,%1SRhנ^KkR˞pCaIA˻9hAe+^n.gvNuǮֱ$u34qHw>]?؀5ԗҀu^A04~8̘G#]!$ps l/aÿhTU;+KF9wڳPJ'(rblNBFy`IU$H隊WezvB-7|`Z7p9t鬪N0%̔9܁ li 4F~kx ae^?{e =be_037-02H;JlZHrJHQhR MZSM;m-W:n(|BG,Ulhʘs=U(]?i=-[)K԰s!t.8y,8l]}oΰyWy c?EEsY{bSA=SOh3e>}Ɉ.ezl%qr}Wcw:/o5Yæo2DcpI,7LJH5&Tlnˋs" /yU`{ᮭY v(RS&xm+r.H`;{c-GVj!h [mREϊn<OuYuj)s\r%٥1=0%uƔ3*M|gv7B `x>%Ú_2ZpĊzO+XwlSOuj➄15h+*7 2s7w&)2ArOr:S85LOioHSYiYGf wK/alT0A[RB(ς6 u'kIEc~h)r,^'p%VgF7| II#[E\4Mj8s&h+4 zpv޶o{ϛQ;aDGxzՃ$T*,bjwA*Tu@ffjy+ ` WXWchW BN0GVMt6:FWHl80n,cݦ#AA^2&tbux`QO %T#$c2,5gOL1m6OVB3K*:MPc/7 5Hn0p-GL 3 ZP[hWOg uߗM8˺^O<_w/(_DjI hw"^NX҇\:q@3 ȃ?|R.G%jz أ>hd|r킉ɥ7w dUKVrtQ_ؕB )؉ ;I{\4 h?wc{h|D:R_b+9<4= m"mߥ`3le0N8Ewts%Kߓ*nyHO ߙ'jdS՝XY^w +Dr֍F[NSSEc?'.ΉDSeQ]#Ʈ*Dvc\EJAA_AB=qD0a2d^mbjOlϲ05W/"Q虈x nzjX]@#ZDH&¤I%D13 5`0}K(uw"NW:ؚ䥈iE",Z:aq(l,-&6(g,aݚz[# Ox46N}J6o'JG(Zν|;3f#lN4Se#F_cAyF:ɬq nԬ"|feJ J /~<'.ٜ{UsNmۧtv0j;,ݕ[qJcrO&NDD_r:lc މ=+|KC-9Si-3cŹK~Q.-PXٺVԫeԞ; )=iA5Xceލ^]m?C(WpqJy? gO4sĸ7?5;bW 4wFyO=TSPi7,`܎`&Hz3 5ԔOsjk?n7Q)q]-]1$șQ L@ zei[~@"[ *)6-Y™34!cFW.9) 3w_G_&ns? oejl[\/̒L{ύ:|ueABX58}aG}d[%L$Z4}hJvx¸qQr h plmx7)27%~MTCڥld`@L)6B)Uu7:jxsaklb1 όU<@i+Ih= 3`fs,#t` Bi4ȅ:fA8>[/̍i&R_@@/! Ō !Lx3A̠MWEU>׿jXDumC,҈N&d:]w|E n }/JjX7[/]5e.*rfy=ZTX~H_THDBuӈPw&q(C/T>YZh4_/\%ұ &ϞE/ץuۼopůܓ&L l‹S wT{#Q['aQm}ׅeG~HM?QtO)8>ie Ў65rf1܌*~Պ^("DHK89;57i:m>g+H냜!v\v)frOUq ]%{L.Z o=lvWr/R"ބJ+8T qh^b.$6& $[& [kpjCO},L|ytQQhGEh%[/T'r2I$ٟA߀IJ\êuL#z%zB"2; ZV} ao,ft 1@" wR7&{0.q22گjPD֖坉P64|l18o"y@Ǟbñn.VQ] CnCjvuL`ġмLJt_ 6.` X$:,Q?8a~BS VQ8C+?3 :H.;rS_Mz!74u RC*5q4 h3 ?܎:Rp{ _ޡYU;vƕ67KG#0q{j و3_ǩ07pSMc|C*py6KJck0l!e39MBG^UJ2[OBASoWim6p"Y%`:0L$w%k$+;FL% ]CO_@ꜧ?ɶ* V^(hgҤA_Yf]XT|oʼn5̆MNOQ,1%taS:,S#RAu@UG 2 d01<,O R^􏏴&C^rH5~-zՕ<־7KTXl,LO-8";:4a/Fx^X HνJ%A cDn+hb m'҈dsD;9jTWgȵtB`YTgAá˦ O׷")N"qmo bu>7?ub=-:j,vZJC#]BBi,Md^0c |c ܈/=6-Ђd o4VlBNJ/!8h|J iX-kFkҳR&vl$&`,C\j{S6.WfN И$Q PD]2 Ljux3a ̅u׃PvhM*X`Xlg:OB$jlm)y3}Z^ U/ź5{HpB. ԟЉhvgX(aPMiy/% ,/#.HWU.+gZ 6܈E^r0D*9d"SO`2<P_[Q7*Rri=< 9j+lhg1/-|0m%(sHTF9K:#%U)ˆOt7{ar [>?;Pm IAz0bQ D{_]VHE$V8X%k+Q ޹YG䆢XVǰj')q>Q{+ |PDnGac>XiV@z[R.-'*GM4@Sp.SD0 U9{ˆP-`r))woL3FѴ|1&|L$qQ`(RdjXiET9QM4qsRӪ?4+KD .~C _(q%9HLxd+L G: EILٗޥO47y'qըJ] ǟA0P\0!ɧ|zGJG; g;pU#Z"ʦ]!dLB`E-.U{N%7ZNؑVeDWN.0AH6"6Gl$dQzU /F1ů2ԉ}͵w14GƧlʚs`90 90 㠴Y,OSz3Q_Mi`~"B)0h#㑋wb9߾s G(nR3a3E&O4Ut80TACb΍-_o:^9t=NΓKyPL-ؿJDWXS@1 _h@t:PIe{ ئ{?,Je1-U'ۮL`SOԂys!`S!)5x"F{he^'7\U8Iuɡ֠hY-՟2_qf`WOjkq#Eg;ǹqB2&`f]vtZO0ٝ[ u dm&$pD~Z;X/貿ΰ5w|jjpǦT(bz/J,Ae2ʙ\瀺}L%N۱IfIk>?FHeaɧ5??ºg+mU,h,4=,'i_}U%pŏy] LC0cyР-,+|p-DnY=qݱݵlXO Y8c!uX}:V>Bg\"ULr) .YEŸQ y:ODiZd%|Y b4ci5lBBx,WsᎡpڢ&뱑QL@Xr64\،Or~vb]EkcHWo_-Lv" rQxnT'#~!&w~#]}@f5D'(xW>3jGf4/2WyA@f\JfQ>NiQ"ńpj9vߗh@@4PT'Xgo@XU+}ט@Ho,hMae䙃RC<3xc %imZ4.ȶC1`KAGddRKD_VL?H2­ZcE'9Rbg4?dGc:!/;Ta-LY:5\-ȾmLE)Džp >0'{p:ulɳ![==d{LԩyҲS.xUKkԕW_'`w". |<)Q| g >J.}_^dT@mʙK6l*)Q9Z hC:*a+W)TdAƊyy\POr/^\lQHGCzOm(6ifJ25Հ I\1jO)(c)iIa 4&!3t""֞~Sdy+￲٬tNtw0 /-תO'; ]<;^u?R>ALR?, mţŰ23+i[[ U̝v~:4ơn[n>4^uw_ӈ^H+jI?>9QJL Ed:=押fS]+k4 pdgY8"^F*HT\`|_pmPem9MO^4npn I0j.4* _1[7uU&xIg\Y3Ƿ=Kv4Q v1V6dN`t*4U {܎\t I .s}:CHFq+`0]'cٹe)iD{5F9 !qqDPX+tfSrB}On`9\PFσ87F-ME߷S1FV5ݽɂh%ρ =l⋄U}y! c7 {(oԔY+J r+_ƿ3@ǍfEr(}T/ZqAyoEӟ9n$hs-s%kù:7,Xڷ 6q4#sQ)&~c..E%ϗ=:HoIpo/w6WF,P,7Cx=A撚tt>΀)c͚fĤn;,|Fys.Czk*jM~1OͰVb0t U[thZc}#(5. ~U=Sac]\UIO؋'$/>tD$W ? 8b$1Zܝ$!;B#aUUwW?L'j`kƦFǜMF3̵F>F"BP<-^֮Vx篬v#|ڗi+ QgY`/@dH4ob.>Dw6Yom/(MMD2s4a8,W_;*c7 ԏD /!v»42F|`AcyP!!hgqrR 'ϴ-$ E˰D8[!z㞌̺Ɇo1)E~ߘ焨4)M0VPKĤC`e饧LggDHY*ӻD_X $t!>\'p'/,y=R/2'}ܬ5l2`H U} )qi}3SNpFSQ@*{Z !jx vfx"Ձ`q:%el/-ܝI5u4UBQ7ߋmoNkOApRtg1`foN3@Vnvkޱ&vɖ/.BfMSl.Ti?Ko9q˰qwޞlj ?BMV`,#Qz4\1Rbڜ" 2䭜ۆ ;Z}'ZyVF/Xv<4O֯ 'ڬb]*F=UXx(_w ;ldG?L> OnLŲϵ) HcV $ф<ǰ>I%M) MB^{?O FY pgZ  n[!:Uw bc.EV ?ߌ^u|}em9(U6ak(&19ZG_ܱy)ϥ)wz&Kb-YbM kUMJtpI> _3+,؋듅e:r.pjqٯnov-s{౯~؁tEF%t=+"ALT8<+fq}̳ZZƃ+L& 5uql-_N+Omd%Y枒ҮUT++󫉩봿@[cQo JWF Կ֨P/M#y0߭Q53gRIG'}[ qCjQ]׶bk]x7cȓp*,i0!KhLeP}|;R5aֿt1@Vk^rzDp#3BY@NX=.?5t&9A15\ ^C *i~iϖ4:g>p`}6Mf!UfW8dGرNaܷKbޓ߅b61),U7TVI*!8SFr7t8ǑEbShuUe_;xlYb9#KbB* ^1bX tHL9Il ^j~P`e~\ZwpmOY7 73]ڕ'My ts}ioV1X6 ]'wcYx1T;@6(]{ ot>:9ҟZx&N uSU:O1,HVQtvj~;<};tV1}RD'sMϩ;Ғ+'`^W)t@?hm-i[5=o a^E00ejb!qu\%xWotLjJnL&qWuD|BIJbp@5-sFwշ}xB#kAf?gמ^TUj`vgvˑ85pWKR>-yîQÊ|w%h}&&{m]LtƦNW;[W.lĵlsV-EE qx&M,w OeNn]AdS{9Ym٥%g-+P^!K6N^J-nH3o̷]N2ڑnqܨV7NA23{5i)^M+:.D7&sL*$6^0ez5#An{PxB:}PN_eYpFioT]Cq aN뿞 XՌ9 .'9 wuBWt\-CF'Yjz=.L!jL|$ [~8fݧa'޿4m+R D_[qp:R^Kw, ڪQ8W9nr a,V Zx d#jѸ4Z)&Td \7Tqsx0z) +xuG!ӬU_Z pҴ.QVa i֧y\Og* ~:N\M.QT!>wr2::4/@cF1`lS#"LZL O O[?b@·|o넸Ox?~aRq=-|GMN)ާC}^E W7ཐI)h;*E(iCs;f ,fohLX}Ca7^W6湵 -b{ZVf(9։ԴN%l pP YHwEg{z>1_0<؟2I0(a L%DSIlKxngܞE:g'?.w"$uIWyQ; uy^PY,ad7-zө9qVf`1}p T;+A-\,ι:y{pIMl:qҚ_]0^UNVF* / 3`95ʹ$B`z쉷C5B7\+qoT'^8aj#)ԧ_q~շ&'v|e,-0%^PK/i89bbCds;gvє/-n `I beKfM`w y=oBSu`/ssvu;v։~AӜsFO2|]mގhWnYwtW" @E=h4Q!tޞǥB v,/_mۤ j6nN%_+R!,^OnuXM'M@ F&2!Xa]CFyr<41Ň==[G<D+'kMz]Kq7LG;QaYH@r0:Mql{'WcTPC&x_E?/vmaGgrx[k NZBݢ~s(..wnD%KZ;*nѰ\~7Gk;YnW6X緺0Z[a0f )Y >*yvxE9k8H2TcGiK_6C B?ĀRq5/Igy[5H&U#[dj+v[$HE ?1ISVڵwli30Cs>i̵|ncp-. USC=X8?gL6mv@*OÅ> J8=AZ9.ꊚs?TA5l gOQrl 5>+ʡ(P&~-mu۽g&:j͓mEO32N]7hkRǐuZtVaF BPWbJM:_Kx}S_sU --<4gGۿxB^Mi Ж{˖Q6 z.pJkCbΨt#kjWW I ?bXXөVߙ':u#]}OoXv(lIBRI&ri,6h˛ወIu>׬N3I4Paݯv9׊];4A³A^gWFԕ)OF.Cѐ767jZf+N ݭEAl(R WalHki̔1& ?.3DH- nBm?qf1rv:ĝ=rZUg:1νMCTkH *Z[~LL\DͥM1ׯyx{COTm'Ug֐'Y`o Wq5Zvkiv5[=AON1R *:5ОK}!c5A֖n3#o7D9&k ep4ĦŭB5R~%ҽ Uy)Î]s +x35j4町{;1Y]wYp)ݔ$1-,d86h6CϮ }#Z;J=i$2*aJ{)S S^.4a:$X|S6{c(sL^E mRS%Cl|l5GK~dUsQ+fW3EŚ?#LN*H}e/6%k' MV,p+lڄή{qB}37֭ 䍞dV[.+岈k9{) MշM;21 4E]֯a4v ?qF_8TUOc5[yO$15_?'86|rc|[7b]||#L'0~]"ָQ٨e]ei $YEnhz\ua;֬8(apo=j61w| ,>#/mLO2!I=g*m$1eZX[=-k#`ZwH骀+j>ц4BbOU}6+ג W3>(DżQC{/է5 3c>,Usރz*ے]{-0lg$ץ$Զѐ1, "v8{DdWad;0ϵ+t\27k V4ϸ{4р*PB',@Sr-0R ?QZ*G}dR#2g*;B&-JǓM ħ6@R6ZUn &L#1Kw}>'?Fdy!gԇT(jLedJ܀aWHS B/XY<>TZ>Q]DaT;wŪt iVE1bS%o#ҩHm0"D"]bĒ7aesx|<ӝ%Ujybc3p}6ocޏ_X#1 q?`Sk lC[E ,pi Ӷ3GZرCۺ[ؓ MJ[@$bv.YW Zkx@B=VQRw Uz c&pY*#@T1Gܰap>K"2- &![#mRB{bO '>{6{lIYTgN6W9f*lYC7L  w 󴛈2eTLrLO0-ӊq ~|'5q1n=fVOgd5,Jt1d[ \ B=Y1&yI %$rߟS[xU/9 GᄮMELZ+1% KWEkTaBܞ붼cXɫ-㷊^h!f=drj8"JPt!S݉*:ȐU 4rXPfnj)k&XJ;A^ǒ? }69T>+`CfJMӲ! i[^S+A*i!w*hD7wO" r3;BF2OXh[m,2n(bB2"2b 3VYV+/2aX͞e *21ݞ]<qj]k c+Vnv8f8Y\ɖ?_{#UY Rzcvp 5W9&0מHg$FU F3?85N`R_TLed:ܳsˇ{B$c#wh8jj|w1V1_H".mf 8pY@ܡL 27 *VoOпO,-SFaQg=CpeD5OP(L MU4ntv|\z`6$Wͧ\͡BO.8zPK%O#OOۖʇJ;+Ib\*> Wo&6 Lyl7Udg;nT Ыs-ٳ'&5?oL:[:,K3ᄰ1U '^ڟt%5dtzzyд?@w%U[VL\Ȓ̔V1|%pvCƼcZ|}!;΁{HLl>L;6}[ +X]$?äv\$}(%ϷmEOS<zSP$ns+wY{Ez| v&#WA= >ꦫrs +S aeK=jNۊQ wgS@%\jL֪ԗÙ$ #fSϘ%]Fc[効_^ЧB^%:іcwqUxsLdhix>퍩(mBB,MUmS1k`dGdA:U𰕬%WIH M :*?c/zā33k!}MoRiPx{J`r5|ǶH@Q5BoK"V1ؚv٣qѲ[tM9T.~-aMCW .Dk/hMm|=ǡQ?`- ni+ǃ-Xsu'{'.gje8z4FZ/dtG j;9P_sݫb'y)^,º׼uJӽl )TL9 lYp6$hs>6/ӱr9$EfKlM("SQlB趉>C8L?@*[4O7fowCʭq|U7_=f}Q7?R)8' pO,_lL fhUk|eɃ !SU",KvE-Fû&?'Bpcm^$j;w?5Yrl8.pӮqPڕ/'93gnEFmˡ ҁ/cCӇwk%u!Y#t˜{?|D:d~kYUĆpX' y|q4;?9'dɦWPW ωk8W% +ۖ#XD[_SsǚUl6ѷVi\hoQp&]:Q*}D~ [t^FŜ$AtCUlCf[Mr-wʪv PN\q9MJW(, b3aD?O뜠cV.퇻 NvSqU[a7-R~r)_Wb;̈́Lif(}tbyˌ %;sc*'IV;w$lOnl񣧞Cm?8r| '$& fM@'?˾ oCLZ;gri$4pŊl'lߘGZsJf@˒3|b_qx5);.~i(LUB+psQjHWw=Uay-.[zBۣ0/oa õOևd%9ZjQn!cv'Ӏ=SSY8,dTm628|{mA@>|aW՟*}o1`I% T m"G@> ytׅӱJ,VBmk9 Qł UGL&=*L! UU &@uv"kZl|!)^'|-^C,0V!E<:+ox;^^v,)wohh$Y/}&OCm2vX|o.oN>XY1MP׀6G#\U bUm}G7_YX;=EO≠~7i -*Ҫj5gwz%ex8qQW>py^w+7vorFr 9=׽DZitB!$dmζ;"zKC:Rph=Rh0Rk̚a{q! È1ܦtN^iqQn\dUv[Ik̟qnJmy~K&gNrCT^X#U'b*NBR칽?aiu?zvܧL Tx 4@J,)ЯOdZ d!k,U7H^Ybxd} aQZ1(VBЋȯ~2/+tLl,AԎ$A$ lNO3 ;RfWaeoIfOovBGBJc}AUS:S ()9\59[/$|3Sx(u6иݏ!a\)P`*tO]P*&sO`?"͜ FoVYy>[^7.|2c6F"̶&S?n;nb#)te]Up  9RvF`U'@a)Y}Q7- Y xkRu3Z%+=rt ')&(l[lH̐|ӂ\3ͥn ,mn& jcb##0 Q.UJO4 !:$_kDR&f^{ `cE[Ṗ):dV*L.zל;eDPE0Ƣ<$iaRe'Er& |*#wv'L}`Ÿfy4,r_&M\w.EIxؚYWAPs/pi2U6? O\Yr)EUN ^/&{R |4Zf~kW3o30BKǭuǭdǎB菮֐*xNA<랗p`ƞ6m[\7Ɔj}yvJآmAqAA#6:@qk$kWtt yT;w[Fz,9jU8m0oȈd5ye0/LV; [$c-KaݶR\*ErBlE6&)? DW5zƄ"$ W:;N)&T^ag]aVh*kFPWTY ugxB" EQy(菎sٽ'/7G{[koJb$h7 IATkzrQ%~c'遖\QXM dh;ҟL=ӏ{hm Uj<irNbTt֊[DX{xI_%fl/3zZీX{y,"r q8 %Gd(˂> ޠJJaZ WzRb_cS$sŮkZS `ԣ8GYƃ-Fni#+̪ |Kt]Mf(jnY1t6p#D ;ےkF o =՟(zR9)J0A)&R% էs!2 ` aѯڑ|>vt񗑄7#-lѪFf.xz(®/sVZe7W|; ҫ*{Mӑ ѯ,3%kYAM|FnZ?e_O4Y, o* >iHJo4@'H+57(N xXޕGEX(W_q9DJH OG+uE\w ³6nJ.F#﷭X0XÐJټ$cM=z@켓o*g'L/bHqß;?13+/l_Ҭ/;gh~ 5Ntkp.LZ4?sߑwU'Bn?ф8/;=,KR"yyR´tUW"y:" 07bFDPm]UG:xϾ,;J,F|+$gs{;Qr/&=v9wv&Gu4Q(z->c2nTm#bH:Kn:')@SKG(:NzSTy?rֲy}uPH Ƥ:΀5R$zL\ʆ')e:GTK , d$ނY@o5G`7d*omRN&}>T,?hz 螜9 $"xIYvhB,?]qѩ-|| ?nZL`Yw9& XDH-abz)fyՇG5fլoo+{Aʰ91AM榉݊b)g}m], tD$ sW.;)x:hG*mh=-uI>3riz wLg@9]YV։agU<~S[ WeU^.BR#Nn8GKf]¼j=~t2`)mӦ8B&OuڜyR`\!]=&~65tBV|k\E B@_ //K_2kRtyv!D'7A!][n;W# cGSS[|2VMbT3 YP͖Ds4bi5uլR7,\X?I%%PE`QŅzuַpҨ㡻m+/(.-N GFM[JS9+3j刚}\@\;& i_LVySC^v::T32E>MO$50A IhH=6]/3wH2?yxz 8"ALmlNzpm_T1UZn,@I Jf'nԼŷB_߬ƈSpvD.8,<9;CvM{?@9:CL.7bfR/ ڼR+s~%v[訬r&ѭH}N7\X1ڌz6M18Ծ7D`ۻIRo4̄;#KDX0nȑU3Ica璯*'EO]}Ac,l7_xÿjQ o5ny=|>6QotG$r,ʞ p x-$]ۤz: SۚbHW& L(ictyfa ;$Z=DFOY(=kS a (kA,\+8섨Wx7y}zry9۾w =RޅbrnўQޖm_y9Gߞ-giARrг3!ܚ<`m^l.ij5tE8 ߴzT稥r%ʑZ םy=v:\v(g~|tH48;~wlQHUQ zԆUE]xl].7bGsC}m9&6 G~`1^fokKk @Y[袃A' x4 `br>߁qW|S2hgL=qs[4]Р#a%.[;kKIU*}d7Ү#ޢ"(r#$V:Cr0E[^O5dc8S40x.16}puL=Sd:;ǁ{(RhIuJ)l1qLveEVhMܣ6R;k;YP<9Ifli ׹fz|z=dF}I\>?I/D~02:FJKP G2`|qr}u-OƩ+F [O:0W I8QFF5[i}FnDQ 5'VsCpUtcdHa{F3SLC'Zgq vƒ] #/*#}_ OۍlfuZJjܪ.qfu.*1l%Npb ދν֞M|w#9YS ?TYa:e `rZ)yXKtCuaL ?1*TSGXQn(I ^l=.ˍUR Dg9Qr~{O-d)3t/-e7ue˴-24gX+OZT+zD90ɖ/J9A;H*I2=?4~ x1#pe03O_ B2=*(]_!߆d/dsM@e3&Epb+Ӽ1qv"r&HmY;* sJnqZ,#EXx\d[jNufBHSx<:{D2W+0ɥ?lt {;!M{E*%yL%|aV58~gY .e!KD PNXZyL[EcS݂haQ;`d<У󒙙ʹmU`,6:J\&;22nuV%b8ҝ(:BJ'' xhja5e3=Sӟ웖I"ζߖ(\a5bXArB͟l 0x̷ׄXvgBSϿ%g<w6>c ~4pkh ,}R?z: /)(ZS+| '4=$5SP_"QCV^\AX@!0Y# []eaߘb 3ta 3b6G4a>BsxMU%->{~iv&}PTQ_-EV/9zdp",#n< {CR9,\nr]i?S1{[2mM"ZV]Z~*Yk4;|"@N!¤|v4ay˜ )N$Ps8,VE6E6^oM&LzQH/\4x\=[bX9a]{[GITϮoXs|GKaS7̏ lwEr,}c&py(sRDz6+JC毑k!m:g*N4p3 '`!;#Bɢb]h( WdAlO$>搝ǡ>8j6P=̄c?\@Sg85ED•JؐgiFJ"-mxb dH{ <1me_7 [^c83~=M5sf4S01R_:A$I,(V>i(b7NIa0c>d)Ģ5]+-&dj .KIgoa14KD:_xz %& РI_p@WS02ַ <(XF jnj>uL75?p3wUCa,PlOwnB[͛p٥3 QS. h){2#+|8kUY"HFΙ\I}Qǜ:p2 me]"8΃}Xzl!c~0: l.~(hJnH3qSohpl_fސT4B{uƗ&MD&¢ƩI;d\6?hmb.N1q4?ZcdK⊃h;}~S [gN/hEz(f/wJf(cZZNBD^wΦfyJn7fp^MdVe5Ę@E6Ya\՜ZZqo$ߟoUPB{ݬz"}nGwjw叄\d=ybe4oI%0m5~۴iF"tfBܤ)'My%T=U|&S0Zk$?uėQ7I17N ÚkpIyi1ٵ'4)bыw0j0&ʟd?!%Kmp(Q,*OkЩL. Xu[%s?>V C6>:u'67zj8Ktݩ|CiN+ㅶ3|/]1/+0/3涞{'fq0hbR(f\Xs g@{=4>e}Վ~ L GIQt掘{ 4CkJcs( wPN3DO@dRq8GijmV KfM7rCaqWpb 6\S?At+= 8%vHU^[_C~JW]T#l=V͂FkR).?zhkGX?dL+0z." &Rcx,"^lWusg̟G<10KH6 7RD 6wft2XTF>Q؝6"ی|C8pieSy>F#J},fȏڰY٦)8cDuC2?X2oWPMY DҜ'ml#dcGsM#?(ͤڸo>'Sms,@iSevi?ݝAClC{m!(]rd \n&Ȏ`K)>% `sP! qih*]}ܤOkW ,)U֚a(9="g ս;6;YK=c^J2wT6vH%",zw3/K3OY'w봎O@ ژbj^#RP[ d7{~̞zR/5G^1O6 M;_9r Ѡ*UA+@BQJi*]6E+1$RwxOi؟X'tqT|n]»t*zƤ&O4AG-[hkCaےŖߺq@vcۥHd: C$yhCww[M'18F\_x%MAsvkUŴı4z+vA蠗o1 r7t";N4Z"c9t%21ݯԢׯJc"{yƒkaԻ\ -嶙qYE g.HU?.Mmad^ +l Vs+j 7.P_*CQ$#S$w|CNjbg}2 :sU}:<]Fժm!{ezR5%-m⚄i˄;l(697xS|IF6Z.ɺ3&a܄LCFç;L} {=͜\sȨYCZ2G ^ )C:Iz^wE[Kͤ^Mُ\aqI2]Z8~v3uˍN1WHSw*TrMۿ"Ӷ49vtNK@땚jARHaW48_TE"!aة#Y4҆7`{n1ht AdwYA}+*aU#KT*f-EG$_nݕm=Vf#_vpo':a,{םB2pQCȮj g lDx {Φ9쯋8ѐAgĘ>"7"Se@LY -s\ Ywg\pcoYt\dڊgcT6_FNN}:P7 (t2wn^ {45v,ȰpϜ2^7OH. `-dn9lթM_v' '7' UU>_f0u?ͩ;ܝ(b(\IwuG".6i.9xܰ? PݕV6vN9ժ q(C$;y%qmޕ*rrh ebLLaTjb*ny_7>'3b%]scx;.̸72ąSږ=C hsod{ sm9mLT@&M8z?+Rqs@!_m.7.v7\r^q֑? T #3Tդx7'K3Z+?S|ElgaD|)qr}DH.!adLeD_q<Ƅ,q[.Yު+4bV|'m10YA4r^E(m5gv`3^]cʯXk)25 z<DWJ0m*mb+av<RE6t|AsaddfFvfT+Jׄk^/T6Iػ+wTĨ%Nՙ`g Lu. sLUgNlUCԉ,v3W\Ֆ O1@X6R4"p|5K|՘zNQ8ck S`gWxeG]IW4w4bcߢu PD)a|\pCq=`?@~O; o{찁'rTq,=@Avq'`M )t)X/irp1f&zV!lJh3!Gιw;GẰ':jO9I&Bxv#>tI.1#O;vx0˘sϐڐ{ӒH%t ĖiT8_.f ۵ v$ac{?)uFbr<&-C51BKX: ?6*Fg=qw܊ߝɻb{lE$^Nn"KQ,n/sX!GSE;Z>C>xfJ_%fhäWr?& I}f\Y@pmwlX-|7+ XhKxܽ7Ƈ T}b,Z7=m{r ~t|EqsnlWR>^]9rIu.*X֚v^d@ Xuː?JQ bn)Ea6/Q7 VӔp괟UDm(^&jvbǫWM!:Q&NKe?9ٮë3[@]I:~Bp({wGk)wd'8Gjϝa>X-\%%fJ0| `˦CTnLrV@Yo^njB*GfqiӼYŸ ?Vbכ#ڨ~@*:E {Ӏ9A#Ah8J7 84 ;ɾ`|qLyP 6ZS6XefJfnb € "ڄoX&4vkLB];5qL9wttPS]D5I+ ƗYEsQS 4n=ۧcW(ͬ8r~ uK5Mֶp]՜[Lso˷Z= (n<3EZ$rȻV8\a$1?*NDJW~yA,i{rHݺQh!#+"YMOOU%49׍F~A?18{,4Q׊85ב_N6t5p $$n/8[\F-ar=ZqZ$-MRn5zW?kqEwbfNfm5D#sW<ʹx7QvշQt<07 n\` C\ @'B~0O_[S}\V"Nı]$a[@4Bs+סK"Q6õb%+kR)q BaNgQq~FjM>#Lm$y\ ;VY6 ; &O)iUh&{9yU} %pn/T;/OCkE;"Bu8rⱹ x,),ewz#r]#&~3cP!6ϻmh洚E{B'M`wHc#sl:x@(Vz6{;RB} ϹEҾRݵ9L`=UK}lt [JK\ip2)e2ɚ6jg^(ܙT# EvP³h7縥v".<Qv֗Kskb%.Fv5tTmQAbQR$O(u :Sj 6O'ء.B̒ܗ1{݅$v-9mv1 $hWG'%*O*v:Ah.iwfB`}E!.R0DSGFyG\`\(}(cr.r0al(i(OA% | x{w&pi\u{@J'`-Φu^["&29hyOm:iK8`N1,]yu`}m*!{wgѰ>?獑e7^Ìq|u'iҢƁ)M ,;TҭsPh~=vܲCWyI;k#0XµAfΈncI3=GAȦwgljrFTpbU %MH6VJ?|NWYUYc4Q|np.V:ZF؜`Hțr LդjQ6xdu54U׳goK(x0 ^Ur6>0Io%C1F^Xc8R,=3v9ZK̘‘O2h2/fA$QnG :;^N}"^9>XL fe$MM];&W$% qMJt~}^}Lg& FuXr`W_.5ݚW"К*>^@1lE!<54L]g$h3rgR!!Ӗ%Fr{S#6n+XDY̜կ3KォW׌w0 ze W()lS6:mY$f37-뼥5N "lE"aĪU&9pǒ. m-H¾Ĭ}{"ˇsUyB +v;mLyy\BWt`C=>4+MlGYRݸ C\YdqřW n'Jܟ[w \ MlTATL}'RyU\o 8vcQ%+}On*4 X |!3+Z#7$gp]FR5kj\NU:0< KYwņfn=rVό{nFRUOxknēqfc"9MxDAv-$P" q$/kuk@ {=@ϚdksԑEșɜo8<>a<@443`7\gkiSUax=ÌxJP}vbl~$,c7p2$*EJQWǒ `ßa!dnm0 L#oݔ^#e5^P[(rn_mDRsyMFeYxANCh =s~&7wXZ0nl<U%i3 Lp;1V؞2+2 | ipq=T.L{+KsEl Z}Jb] ~`j5P(lp|u={vZXN7f~R U^܇~MY?mWq$p%[/v[b 2$B_1`4S֣Xpf(& 7!EȂ&Lr<,E C7 [+ *JR(s-:%;4`q89ױ$OFrE|&wpA^x.(X =D !a1 :=H54':cM^:9W-<,׳#X0M',0tw$z}`ܬ$6UFxTq"e*o~@Q65]]vگ9+AM 4(M3G:ngDg,7vtmsUyIWT;pq"G=L՞ٻAEbKּy@^U| jKspmHX\i;bq`G2\Ȭב9)Լ|RM(3$)]E_g *dCt`qsP$(F Mqxx_*ͫa sv0`۾9IΙ:>i66xLv&7GB͓I|lS|R=$-tYv|Ah/_ =`۴-F=;T`ɵy{Z/r'.)bv~ .<&^a 70-ѐBnV񀇭,Y*&W_#64;%7Ʉ|SKELw9E^ԍgGuZZ&@&7jÍ׋)ͤ$õs< G&1]qDo/i ;1q=:lSM/5 _cGs/Cn ;xgơ}1UdTV{4θؗ 7D(!Peǹ &D͋kK2w1YFqO3{> XANy><>*{6m V% 9 OWď=>V]rE,h:Rg\&PHZKSG/)Q3MzEpY\.g{y(sjmm{R;l~r.tSwh'7gbwY*=뫼-ӎ ] ^N:&{28\ ~ZT$Aq(ࠉx'lD]Ş9RքnW38T.HƞVbT|VOOyĀF.8;N]oo1ih9TMbҟ1aB/۳quN-hQ.["O7 Y;?!"SJ G"HZ^ ;ʩEtNK/i;aew*[:fZ~ Qo\ϋv}y܌ifȉu"RE6W|֢b,GE~bNq~uG|p-|IW_g5WCމy(!7^ʻK2,C뫬a 2^qғ$rzCF]}2S9oҚIiL(<̦%6P+f1MJqvNA;@Z{€g8 mrl !4[gH`Ga$ s-xiA s:SkJ3JguT3d4bxUoW_tjV߽"7g')Zs.LzS)@*`Fa݀AZ;e!i#[q\f B%:HNӿɲ.HЎߝ+yO{4ٺ^rK zR,\gʋ_cWRh^C0.d/띘uYk H2E?CtxEU5[. {DwFk\)Iq}6>WJRqq+KAިr' RQ(7[b|V![4mq YMԤ~혋g D)ps BSSk(N0q[]r/8|oDP87iyS$N,/n FE2Rð~;ί mM C3?JQhn)dX<r)NjQ;+aȟ3DE=FiwfɌn;6P1R Gx6I7^ВG@H3`=Yg=)rfY?ETz'cum63trd?hlġ Es2]{.ν<ӣ[ne->[oOlrs˟c=W&y=Y3&zWdjQq p* b̘3^l~ VVi-TdC z4L`sWZ`_͝#hp;2L31x3A^(S=9p4ޔ{#;M:ǟgUPT =t6ڮƏzſ~(@?_g%Gk5 ȳհ#؀zG߫l/omh{oE)bXTpWy$roJ; +ZYȘp8ߍeƩΜxv sky.~Y'r6UۇOip]mEa)oՔy$qh? , bkzdD#rEzOK>};'c]| ;E1;P7kʧAۣP+?5P,.)]58gv?cfBQ$e6UŅb 7Wo~F6yM:E(;9Rۜ|%K.L0eZcThrw /"ݾ}n)MP$)Ak{ԉ@5z:3IGsvVD)rY*vy'nQA=6C{P4ٟ&z~oQƐ\<3CadH軾ɡi{S(& R6I29~ d`($xQk#@瑦WkG^( F(A?ӸǮY;G LZMDix|&HuX#!}Ӗ?BM!bJ"{>KVUD7ID8(%~Fy6B hYt[a\`~Ծ[!`/(a#Dh#q4,'kCcWJ־7.PYE㌗ Zbc8) 9ZbE!9ff ll.9و%>qQƮV]H4 6jl eujˇUj7(U"[͝9`!?=kT(|/~:}(W3:SSG ;pkl&+cb Ap-n+smzYXэPlj790"v`jb8ItAuqXC+*w#qo >djEP/ud.gVA0zPMpU1wA B"V"}ڼVmq3.@L@ͳ<}ol]@"iGEҔ"*;/%G~ !;$0<["\M#='B_yoFN:VTX"_p.O;A,y @/t5AUDDҬ .`d\,BPs'*ŀJ7gjq)D<p섾Sdž!GbÑ; 7һeLrӷ`/H)"qC.pTRDmapVeLxԊul)SfE\ЛsA'l b/](W9 —_\hK%q%}Џjܡ@I90m^?d,8/oy*fn6AxdZ!{s#ӣ}H Aʖ۷t5Kɽ!475ĬRmrHi>4 b=:ϵVN-x㦴5& H,B_o::nڷ@{L\ЩJ}šHݳja^ꋬGw[,Udep9ӚTj* e C =/*!cGMg;,(?UpUWԳW=[~KfXZo (!bE1Wb-JFNl(a4h9D3w_8~^QHR$ߩ}d0O'{jf&䤃10$cɲ@\4 1V־,&P]^ \TPnl<%9l d5y4ځdnޠqD+\Pi\C*E3> ­ǮeA'HFԾ Wz`=ܽz<+]59ffdn$q%.%2-"#[x$nPCpyp;DVסcz o2-W1VTwh%/af%W+O[<_Aۉ /{ŗ~O溷(XWdwQZKɨi{Xna˅k ѱ{Y-\-_DGu\V; rEcz3۾EØ%ULU9FحVqto sSH ݸW>b]-TWI?q; 7۽x ΰR4}͖b2n\* 뚲rbR7 چqZ:exϳpk%q # Q5~=6%fLJ,7e"v.Jay*؂g[/ D!!ۚ0*wؘ}";M4tVI\7?㮽ΎrHKC+R2%sl:1'6x<6n ZYjAc: »| Sz'L^BvR'G1Ed`e'EJ{Il-!,92k^%9` (cb?7H#aAhE8ql9h #.-u hŋҥ{v4II!Jbyt6lgZhMXBzl<@A2/?tg_'}<|TɻMwgPJpFߨ[f4D>?a b>2 l$|C]K>Q%ղN֏JbzY l% R#MRLmt&!Hn 9jaV#6# s7bJ8t2cGo!I)Jfa8KRg'c'4^uV0IA 4!jwOiC)+99=QTڨ&KA+5fldMѼ7P{&׬&yit(a9{SMvyfax`,#yyŦnC$0)6@`>uO5Sг=>Nszǵp0穧Ln5i 0ZM:uGh@DA =00 m^_,J;uh̵\73>]HBΊWe^i)@,@,ꜶCvܬԔW+z{L1C7]H26W bw0ɤxt O^>|azbmaZ;'FF4ƽwMPyX1Ƀ \ 0 ^ s6 4وcʿPn:R\7fQ]vF69m!/̟Zufs^r*/{ c!b=Nw;Et.i+^ p:u-|H;퐯',1̋$R%l [~|)2 jDB*#'_M)Nv QJ-HCK)5fgi!MEM[)kBXdaN}m_֣ LֿnI¿^g KpQK gI]nBfH}\ ޯ]agHRxȹ'>g$2q2}ē $ZqO2(CFB#xȟ۷0H-r?+@M=΢EӃy$ay$ ܍A?o)b$66^S^ W*X, #8S:څ$5ߗ*Ͱ8jyBiqPƜ-r{̎pb2e.ҾDLj#\7 FhK# e*0=iR+oET$dI=T,>5MYثިWub(Bc! 't 98bOmtՍ]֫.1X-]/*RDċYJ&Ȫ_u\Yf)VQ1kd=r5.݆ϠsKG cCs(E < ^ Ltr2i/.&}h"#q?[nVaEނQVXO_0vNq]\[ Hphcd]y#٢@k^yTvq a$wQWAVQةFM\- k7x+ !m2&U 06D֞tS4z` N!7b0Zr~Ƙ ,] ?yA&; JgoF@m͡cW!Eq߉F𐶶hf2l#B|Q>0>,#*.y4,#m+W7 -#;Bo"hi0z$gZѾ̰V麀$Nd{Xc6eQΙMԅV;.z@LЏw|Wm-ȣX,BESҦoݑ\.Y+^ =NTf+J+a8>>b{/8t?4T<e]Fۏt]Gkc?$a:E #@cEqS$2].n>fH$:C5tqAY aa?eյ&#g9h8GWYC%dr@C5UηC(T2Ďz>3>B D^ĐћwBxp ~}tQ`f2 a0i W&)SUұL @Wye,+?D#2?eb14Nl%ơ#V<'1P($ƫ\wN=8>42f0Bm 1q&pK6ݔp}nRϫȍF;qFСcGI1hI9 vD!nL9/J729Zv$((f}nd 2,Ь^swq:@3I7<"ӂ(Q喏7yx Ĝ0MS5UgmwzF X9$G+چ/`EVcptJQܞV|i[K{L.(%D|nh'=J/:MrZV.2lk)_T`G%.eتV}R'Ҁ7Ygeɤ#PGЛ+/uMGU*ŕäou|P`K(vyțIG1l0r9U$&IU^*U+ߔ_v(qGin]@s](E:Yҙ9p\V&DOllZMv2~WenSM|29@lBLj74ouO%M̊)f))Sgxq[SZ.gcBd`ιXՠ5&$P,̘]70L9R]$3€_>K1o~ɯ*$Lzb `VU ̩ \遆YrdYDKIzh),뜕g짡vCP9ӴλI6^39ܪ*=9Z~ CC! ᣵ?< Fⲍ9}xdTz˞CF&jT}{4Ӂzȧ\dYߥ( REh%z+^E3xtc i_M]cm8{tc+~[e1H@|H}J3jIq|17Di:Äw.DGޱ 2W4 3f̑!E"Ҝ7U[A@nZZ EuKms[yV5(.,WF^2L s0u[GH̥fLalG"nJӝ1ZBJ&"䪴@'0' d{Ktw:>0E(j Z?|wPum`螞L{RVQ/7;TԇzWFSASMyX#p +9gUt:܀+êڤi|UGRJ;o5"I)T'oZ] m#&zNJ7 \KdϯJG/aRtdO%y~O.H<Ʉv0YO6,ן #{>sق#cǺ_ED_HHbu5e^N`5Cåx.3=Z=|a$LrNHwgNنi%6nb&^̧j5eDx(>jOj|*l4 fkztB/ہ'k%H:0tYngmLczy@IκQ'~\24~̩QY-:|' Z@["!ďJA:G `|ko0[@u ]rX 61Z=gyIK 櫗0\<ACkLƥº6'7A#h:,yw SŰۅQlwt4Pydt$GArYk EQn"*:15&Qk^>7vTglgcٜ\?wei$ڋ~r>Ӆy&L`)3*i'Y"Ʋ ݢw.+E48ύU4ǘ}?W PY'Gi^eaۨoj'?W;ƉZj)][cWFVP ѹ,`<*k֨T(m}3-716G5KQ6#'w뜏x>U,@d`yA)UBb^؅+3Y~9JV!u/N~e<7Pfy 8."1m?y+J͌;Tz =q=PT-$22h=,0^Ć+G*(mNº;)L'dôZ.G"crȟ-  7A5[+nuCX2{)s tI& KҸjĠvY[pV6'bm]{vv4#d\0m}1-r%Hf"J0R&jenQ|vo+wOH9ԏ?:0@[>ID7h@$H`op\TB$lh?$Th7iىYW xR^A e Xe}.I#DLY>u8 1^6L_:DP޲S59߉Šy3ܲtvwk1;\o w lsҸHQhn~ı;i=Rc4yK$c MQ5g%\HGSpJVVy[o봶(c7ymBp&Ts,f*ң_]GYZ8"JUu߭>@ j@$9 ΄L.P7o.E+ Iz.H)¶ 9)|'c--8ib^1*t ޸$KSm2*ƼlxtI 742VM3BFGt7쬋-1C.U@*P-ensx"&CWM3pl%:`meaAڏf2 ý;]$P_c;)OT_7}L8p+82)@K e ̌$Hqo)yns:Px[p !Z>E=Vd)e.–K0vP+tU~TK iv?vL `y֘6&U|ģQMřUWP}װ&6@FTqw2FN^^ޝ!4 *py fs^B4#.P|fM' AnԕG(yYJc/j 8 2 l$ɫFsj;PT'zg+>  q[:QP|Jve̞Z U+9L_lwrm̫#],#82,h#&$_pWI360jBpdK$xeYv>/v%!wեETN]ٯ\stMa*MzVvQݐCfI&*͔ބ%DT RQVdn[oVm;5o(FGg&,ja`=q>VUj?BU^e91vNYX4Er(󍣙NqF |k`A[\71$|!ݷe=qHԣ~T:wXkl]8<'-J<9ȸCPg8 x'm}idowaX$7B7QYh/JwY&xr25I V_v^IKrRͰ&teIql@?G7H1`,Tf AA~ 4 5vqEFvdPOMBNeܨICU1{YE"\]sKӕaW&bMZL%a.{M.>C3%v_uD<42“>5G4#)L7q=9t$nZ= |cFZMt$PyTi$8V!0hrdoZeh<վy96뀾⚍w&b^q_WBrR ۑ$X3sFTpU+UhCTt)F]|yN.JbcnH:hO1#;tf_Lqw4dl}'#򆢒 dL\#J,דoj1'@꺵{CZPKД'i2RҸEċBAzx* l\vwd;TrڼPaH2\1MY9o{*B[x:O vS_Q]I\T;] KKe \ dzb9яJ!&AҪ+ KiFP.ٹjTޡ]q^ U+StYtՎs[K xh, l2Wԕ 25_eQ\N28 ӬVԇ", %6Tc'7%^sJ0qS[_A$^9cJlgZUl6#1wWnIy2$6W[# h(5CYa'!9~Xj x`QN$EObAqs Q՛TO?J4{xEX_~XQ/iuVP[Uۊ}GàR}Fn!u,ZFMn1eǭu=Rfld~1a.l(k^h|DMhuPV* 4TIC.m^^K4>@XN]|i&/Ψ2A#ɠ o!6zov(B`&ER f۴2'7*AԋQb;AB)Z~Q_|*LfQܗҢyk0#tCJ1E z ^U1{H?F !YHw"#·Yوyk;Y~zh |DsY ̲VQ;z:tR[*Ƙ!F{Tϧ&:oɣIHٶ~6jV+fTwԷW*(Yp[dx;q<Ǻcar*rB+w}z/ NbEujo'ſMlPs[nYbor - Dc wՀ$z[\UgԼt9 AkT#jFbjR\+iyڨ9e6;66<kǐJ9 W%pXnP-ю֕WX%H9bhIױlH._[s1Y7tŚ-cPa6kO)j\"M_DQ8#Z ϠIT=V-CEw3d8ɞfz^SCd<JbG kLkBk_kY:bi̮̜Q!0,!.k*Z2,31_Qrï5%T5ĭe6y#egpͽeBK*L'v4t=o$Rm4>1jmV]zxYxY5e} f*h 8{ـw= m#GUE>\tLj9ۛ1ÑtBpfcD .Š a΄ ƶ`8VDE?QQ#5d3lʴHfq{XB2.x}6eB**{oN2DsPI(RYK#&_z쥠Kߗ[[~g^#XDM![619F[m"!`> .hR6)eXv$DfGBm\o#8čE?['v`3g4*&bfK69.> gL}O؇aUtrYӂ *b˱ڤ h%QUR bd1VR#c( ( 6L]BUmP4'lp\X}Og0ADK'M{ҮƑG}US7aJ >[oѤՆkbŮ fu냃0Z' OhC%Qgvu$ 9:VҦ>g=P\1=+$ɼuA^}vegzPQG UDZֿԬpDڿSܴ (=9ܒ<0YäLP;Hqtlh jQQVI6A(Xf\DGFEV0~(YyU!g/oulrَ7o -I c\kꎓ;ɂr+w ɃU'i*@!_NF-"zWIebrLaWN' e&4 `ء.Ţ,3:F1]e%CH N9C8con|Mkd$-.1mJ`}T:΁x~"%UP, -PԇrI@w*Aڌ Dsbį$@zӾ\tWe%Ѥ ^ tލpPRr* ٽv2$W#ZP$)+R$E:g95qb9ʜkZw}3ڼcӶ"m>j F6|Eud@uEmZk|eGE,݈ ?=J]W[ kz r0\%4tywh} VZ@$M :3}aЄеr=@osfl[ftlMۛEJ}5 ;j/(M |`lN}n4'9 y=؝_o6|e͇d&w8%u^Yic֪X6kZ$v.XJH= }DqP7_Ѹ ̧se|'i7:gTJWtK8IT6Uσ?ӃX{X(,xP/ÐH[(f8.++@# A=BA$x3ȫ>Ա)EwNsG ^:걵d}?sf*f)4%aGj}_^o i,`yڪ-|]4LNQUS[:C %T )0,n[em9ZlY%g]ȑ*(^┩\n-bx:ea*4]8LۻUF2)|HK xMEtm?4=0󃂵ɂ>WU.~rAAm{%*:CxԦ#yg}M$sPլ6) nH-+yq>ui|2kO;\ϯ]!K7Ma}[MD?hC>ґ(];䂨[;ZQ$zB@>Aam5czO!+S] |Jۤrx.~A+G@MPsTRĂ 0kf~:6 ϱKXdD'.e2ޥ.$zu}a|+v}xCJoWZ_yEI:sBn"" H ~pqLS f ,= 9;D=s*8@ЖlKR. IJD&4xdeTFD9ȭ,v*@5c7̥Uбe6T(*x1:Z&st{O=EљA/\20xLG7tjy3yϛ,,1#+1 W`=u^#MNc~,,ʾ~N)bw+hsE_eO:uqڴ> XP׎P>㼄K iD04`\Imq$Mtxᎉ@Ӽqꆧ١w|9pQ.pXMkb97=O5Rw2vL91Yhv?VW̕%ApJ/Ӛ5f7 7>c=P ގ(:ESH=x+u >;R'~J/ƨ0PЩ/װ f<;QRY!qԏԜ_VWįZS'DdsOi Qho[󚫌T)m 7>eT∤]jsC V!W}#b苤gX.wgkE"àeCa4E7ƣ HA='bmT9s Zx,^?fUD`s.bPbaiusδn?m``n#2k㬶Vd.(u O8馓z!2Ż ("{zdO(w<Lz7'X_G4(踔~Рc;[lg/jwL&SL~kX i~Ni荓& Mظ5셹]irx!;ߖ g-$jLXYCZA_2*VQ+0"8 5veVYa~Wն aj3I <4@,ޭp6Ӻww f$ ͪ $7vrN#uGn 8clh.)/ f'Uw__,'j[`IgINSn~`!-54)(17Rw0\NP}ä92yD8j^ug;+&MPAWs|Uf7BG49&ƀ?X^GP>Kmhÿ.Ezm'!AWlg EþC*Sf +uהR[%#CcN[A\ݓR1BϻM(1Zf@eҶ_xU*2>$UelgZ&\4>'WP\QN.FȢ]@eYZ!-jŰBX1A 3\Th M3%CIgo01ywIʋƽXb=)k}SMh_@f θ<9lyFWT>q0 GGc*(L8ס 4ӈL 8rHP$$7IR"*~B`u~9W.23tL$yP -&yVHL5ޗ$_KY͒|:pm ~3Vf~YWhnũ'[XS0:0k3EvO9 WCѧOeORqk=6zlhZh[>=YsqnlbnEKѱ)t(дNöu0'TCLƽӖ[~y,qr8Zn  |Km{Ng,O~U2oU#G鮕W=if2SOc*j~*-H'DYO׌WmJD{$Aɟ7Bڮlrg~>QʉvrEZ HDfcFˆ W12UJKg씔F \VVv&R‹kH+SĹjX=W3*oPܭt(Nyo,d Æ쯋YE8WYD /< {yn A"Jx1N/GGS#yǚ5/C\pIhrX` @/՘^FsT;7T@t=G!z2t u 6d(Lc#bi!)P`WݬGb[E@KwcIeA{U2 褗|>P(Tm~'hcCVÉ[$Iʧ܉_n)f̊u_@;MIoI$NEeЉy"\r1$kpMUH~-O9 pjkFsFg+}'EM1BJ9TU B/}06rX͡2)}`וXH3པD{磂r8Z.*Zp5?"<дdfS'bz`0&2Q1LPn],!5P}#NYnqxА$'HLl660czpj'ǭJ&*LO7O@p_Wɤ CN!J! ׈u<.8NbcBi;xWERl0#W>>Zz%%rE R+ m~dQe3|vKRJ εت4P߁aW#I$n3­;0̖g}WbҒPک0[. U) }{&|_?o~͏`hq,(d0'H)|[/b@3xoO8.Qk<-q+ً9s )#חP5Q)b;4\A8<$V:h~Š !\>Fe,nP=%#CmA]'CͽV+2Rrk"%V9:mK8Llܑ%!BC++V3z1hƚ=۱[y$z~L$}%~t.74˕`/)W- 0mQR,ɿ;=v\ZE2.|6tnV482*rMss ;r?ve1 ib17& u^2ݚjB+,Jdu^rXZ_2 O$0pMLH}𖧗޽jYeiжri@ Ymu:@w~cX0CIZZe7iҙ:-!7tln~>ǜ&WT0S DgfMRjFT 0I@;PoMER3#wMQݑ{ԣ(Si=yZUڀF%]/l|myiB#'ثTF합Þ B<߫*>squw?kbZ18Kk=YζΟ0: 4Y px?RŦ% ϵ_q=<.bn&x4id/v;5Hɮ9 ӆڧAv*m8[SH)%ӧ裪V(æ&e )b;J?T#goLVZ!=e, WN_P}+EhEZ.r?{J3)5 6hXd؈Bv6oø]lrQAr>CHʣA몄)-/$I4pI$V:. tY5gZ-*:4 6Nn҇?!&os<2@֍nA Y.` `Pi[5w`bxd3J7X b)z.1$1?,vPNU|Ex,: ﺸ@Ocbm0 7"od*"n)+\䴸_^nlNZ/3, )ǔ.dUCF7=Y΂xcۉphcw`槞YeRJ/Mz\FQڟs)oQMy"2+k:TSb&b6 o"ٽ ĐkMZ=}$- zED-͢(I/GNjf2_6CuItgOa)iZ#p>q缷Kn3rwiN{Ђ N>c4'&|ܚ un z3LxqDS`f_ER[4gl0b*O,>yȻR<B$W5YKZF.-@;6` DG;]R1Ȯ2fm1[ .̾ 3}Gr T^"R#/&t`D|9}K^H끠ebti /`1e993/a -AgaK]\&n2gQ[UϩN*ӹK4I5ˈ} jf8YbHMSEbxSٝ9LE]X&4xFyw q@_(j}8o_?ҫrt澑!V3zuZT5$$B[y*z}ZTBl, T֛k[%}n@$1v͐X1'H^'ۈnD9wu#e&`Z5X[G+.قxj)pELYEBh\"L=-PRk}|{XZ'TK~hk\,ŃEUMZ1 ɜʎ?IQ|a=GCo O]Z pARB6 {FޮJ>e̩kD(:r .|9(T[M9em rW/XA%v= =卲lhz>^Nau-ߏY?괔SBt=Aj'TyLJ\nS۫ $PWxfPio=:n0ܰ7whL84Uma#p< O^GfbviEC H>XIv6>wɸux˓-NEsznΉfZAhuk$j]LtݚT5 uYTNqx?ET.]/d,@ 7_ZhilTO#o[Ʀc{5] ĤofF4A;']Hs*ꦝa+. ® !oen3>nH4[aS2O iȖ뭠ЩUj{09¿Ub2˫ΦR9mx\3R:γ"cp^?*080,D* dwx tS6m{X`@>ӇaBxM[E!&&,[estFPpS oPcqH<=oDo=7Xڮ~O=:$ԡSmbz}Gr&eTsHY[*rǤAzD-jI󉮰"%YzM\>iXGf2| qhPSbN5>_tg BSB'M匥W'+:?L wxcqI(]<)!6>Ϥn^+߈ΣDባ6?&[8 Z A\ -gvy o ewM]vlv.U,AgX胆d@ʿ3YiȤ.1n _>Y4&)R|Z&ܴoL ͭ U7rEaIfb]EجMTva11@oDa?-?Kų|YUJ8V|B Yɸ~ oOBo-btc$`zlpԉ o[-^ %aO4DXU-O4Gni\;˂p C;}W|=5=<. \DMApC\z~Wk0qYM]m&?LB6/̀{AQ3;z\XY'S^U EMa7;c؇.);,7i@J 맯HUSyM|Uيыe%ôf\klP;o&)U;#2LA싡XTPCGbO-$: CaƏ \WqXL9Ha}OˬPpkOAn ڹ> Îbۻ@Ktkg7}_=X;ijw hX 5IFG65FHl𙣍txvn>uLq;&V[(輪DQu&/\l6'cq2^7HDB`BG$?%rsG`=qzz¬B~9PPCD7z| sCgWx.(0W|ئ؍sH:e(-QR_f!k%{Rs^Y1 N΍@ 7 !t|ZI\b,W;l3d{@ps{ŅWW_|h%__thUpǹ-= O^BXfOehQ3 e&Vdov!)[6 S,h>D4 iL1[ܮ  zw_H1N抍a)U=iʀtn8Tc=Ybý6&"o a4j= RxÛZ<'&,(^ #mns(ea4[} [/㝶pkw>O1Jj$%o.D/a N8{7`88k$YQٕ$]owS|n~A2j%(&-PD8{ApXhau!*TB=PWs JqR[!Dh$V]BAbTka^Dѱ9[8@MNXf-eT ]opup)Ma57~DFYx=b ,#VלwLM7F}QS9ϓ6Uj\ tt8ZDE \]x3%1 8h:iovFo50Ǎٓ!RN%wy~֘-F h-@.| Y;ro8 BwãUfzD1.9!B7]ȈB 5*fXSCp#G%f򻯖=?U1`0:ײw6\ɟ7 h&A|>G Xī!NBy"Y` )WؓMה9sruBic0j|X2 `m{.fU8*7 l$"4wR)MjP B.eh?||}uRzZA3i mcg`taqyNB<8JGTwf TfDYAXV+#Q..>l!kksqm `1B,|ɲVwPF2Πo \q~@>B0?xv9AIVDW9پΉ#Vl7ϭ$bUd~}ߑ)6K{LzpOo{"g]m\z,\*ǵ/]_W~ 4 ^7E7k uA$9xDsHg*mog;]`?%S8a.n!=9(&ŽB~m ?-S9?4a)x>y,S?~4d՟݈n( H0=`X "!$%:k MC~M\Mf~J "shQbml읿q3k*MUm0PQypNUCѨ0߭A1còw(}-,r`Yq_i$ek?Y)Ai^թK٩E8 #\ UL adxHO2=*Y )1:oC~0U|Ul(0ql08X}ۂڭv3 Db$ 74BaCg]r j`9TS5 rMhHt|I,f%p:5?f. xHf"4j/ǙSuzw ΃x2?Jd/-fs[t+Ѣ5} KV/(KJ[=$,48l7r(Z>!SCNe>_ܖ0"%:Zjǩ_$Fˡ>_|LR<8~۵e 3p B}6>!=F!x$g$&2ԇ'@HlCwg{Ts([ WPuw Xep\bj Tf4t5sUVU-!oWwDt5flftN0c2tA(]"6=%%PTFJ@&S (W̙XxkyG:? M7iCS}7"j{spJ _ۼ; ;褣H ,1aK 1&:;|(TnŃBU*;V7y*ٽ:Xr? q2H3eF?qfmr0xZ:4kP2u{N\]|މ܈ 齮6"2Rܽ:N 4fhR@ O=A%Ȏ2UbXWs[VkE%N} O*P|>_fcOO<$+*.9m33Ͼ-0l̲ܶ)sk@hr6v*Z`?jO*[D9Z hhڀI~]׏ӡIz9&37!u J6~esSxKa9W l<pnpIo[np+XTD4A͇5k$vR滹i Xąt;#4?|P cdNe̓G9=0J\[ds $:YASSQ >]0MT(*WIٞ_Վ{b^Vb!D귉b%*JQXd4>C4<"3X/'c)l _1ES"txK1_X{%?b6-z 6E,DgB)b`Ft; i M6N.BDC5dl-cmh7PZ-mwh#*$QǠ{EpԱɾX':*}y !PY:c,k}S6"S8uW\a3PS2K%6ף3lEH3ޡ0bFTRN38>p~Gd̠ M[,KT\~O{"LWm~a -Nw@5'zm8ּiUlt^'Ԥ8O?zf4:83vX¸|+>AA${HC 3vدk;pSg'ޏABWΰv_0)(>^g/E!SG L1S@+C068rzG#GİeWhK{'Szz0!ђ M'm}֡ԒQ"/9%Fe% $y,=@Q٥#)iL8jO5[~gF"yxB+Mn@ H~x?=Tz)Nd9ʖłjρg y(RR$0t#y–es2s iG;v, !xaa_,WADk@]l$m#R I=ߦH:E$鰙|&QLc8^ w9n'XfD'T &Բ't2a.܍ v5ugt2x2SE;paի5dd:uWo pu S>ѡdP$!<2;+0>Gb=E[Y1aXJ2)k(%GeD|dgcqgPwm':-o GΡdǕhsdJ\СJ"ZHz~"R_0raANwakEO^Ąr ^9@Sao)tNMX܎f\ 0@rs Ȭ6.w6C{X+WmG"}Qe 6Q12)RTKajw.. AQ.s3|:T@,qKYGXHݾcʗ?[4.:njdoz^UFTF*[5w\FINw`ӭd;t LA'Edx#˴HR! "~R!DiɤTAJ7?b` rDz>Ur GePi]VomZEH,', _֊Հ`^Jsax*$04Q Ԟ+A=>QۧN Gm`9_v\ߋf[W{cf[>{xqًi[͋o.R5(Wk@ 4 ej#!]!vXT+n{B>PF:g m7΋=tTUM~#L}m XYPLǴYreėkPgnL`~!8VMXAJ' KB,vx)$PFJ#x-uFhDy/0ߚ[9{$3N6rõl':>t2vpVWKpxj9RfWE  XI"3j)3ԴToƬկoW ȴy!ދ^ ̈́v  .#y}ȰG$њa|2We}3I2d``xOw}*V,Ye3_fn4uzEA*3_JxvqԛsKCOh:-ŗZ`^(SjDXgH] D.́ |G/)H)VAN:3v@?_htaxŬ2o{epLr2Vڀ)7c9nZA9N=y|]_q 8PgOGL:]L+P["^(7'­Vb:\AU#DQK ;I8nv*D]H!6j+nF [ hM[m=$?ǔmz͍ПsMg*)v >b#6qau/S}"wD05]jyģ-^Q%5E/feăRZ z3U߷أBNZ92M4-2hq޼X]e{:I~lNŶ/czrIw؝}Z]S$سJ֟Vc_I#БYd>֭ @+Њtmrhh\/p0FWR#+6`a}譑6 PE@.#vmĕL[8Fh!%G;d\.AXz8e|N"BNBi±Q6;@3T+oA0)Z׆KLr2Inm+ %ʓzBX*}.  ѳNH Еtܞ_H*A;֕XE^@_QȧH0LM[g|v&lF^vgzYI{\Lʐ_Tz䬶2!gus YAMoz-RۆƒyUCWmsY"(O3r[wǬVCW$TN@|G,aCRd= r#vzý%s=6 wެ^QP7[>/dK%0hؤ=3 w.̠_<:3Mm TR|VVJg&qR̩*#G0J Z}!$[05z*x]ZJ0v8aWzOe p? ew.5dҩ/L{F_ UnMزzM@ n%<욎e&.~k=eOm \sԠ͐=R(|&KVOCU)hh~M фX<ˁ 606( iW+JulW(|vb toȽPj&0=J,{:5 Ɂ&UCjZu /nij?25]&8\odNŅ$DY7,o3Kg87G_U3 ^2#-@]b$Qzfn/^sd 4( Cw> p& bYbVňwbգ/[3A #e sU BID\?7jf1u[8e}ƶ8d>Q"r,|; 4o4ޣ"/?|RAKB:)qaJN/8p+_ 퓠a /|#^_0+zme.Fz4s!d[wy@Mߤh;eʣDۺ$oZO l0[٩,aUdÔiK&l#$3&lPw#Ԋ2V'`Ib%?wLqSRGW؟v/0'Rn[㐎}:D/Zzs]b2zPuSCkL>Ca֙bB oƻX5?!]J>S`!TW4O/!|AEd IE93)ȕv{s8a̿geڙE?2wX C#%GSp`*KH9RA`0jM3&u2;,3<&?$Ep /~d:@$G>2(KotVqv*B% R6Wvg 8KPFX!l=_iRHX7;L'6oT,‘&fk CZfĥ}Ek|cM]5D6fr#I " \1& WcUwbPG<FleAU;#PD;,Ų&#p$`PA?wgqD_BSB"Qb ^Qd8D [·R .}L)ͫ Ő9' UZPtמk2VazPĪAGnh탤=-PS9~/!@^UffR}=>)ωgGW굿B\>ʄ]BUt=Σ+Io'!z 9QߜN,tWr}qW@X)3$;>M Y"o~",?颳Ld9\m)į U.c?xd\#_q-4bo f%]LkVG{Pu d!$5N*=>,rp#V<&/b{L2)g}Qtr7A9Xb^so`{ rQ*V|2rcN\&8+ivz"]U"%B܁ 8ƣ@x/&5/"zL5TF֊3VOLwd=8Rdq ZZr(N7CV+`ja}D͠Jd;>P|Wa?_:* C9:3^p|܁Yݐ{o]pu({3A?Kr{e5S ,"psܷ;|}F"{Jםȡ5, Pt@?JNAe6Lo-UVGpIo28CTY( s! kz٬ziЈ>KkR_8ν[28'd~*[r_["q|0xZt]bmS}wUpsDX2,cBTkT8=hz y%YHAzTHGҫwB ğ\{o3G\_b<L &6PxZ :a`Z C4o$bD A29aLcX2[bQE.+Ôޒr`%30m I]WH", ˙Oc_,U R纀0ۢFY<]KUBќ _Rɂm/[_J:};ngge{!&hYP|8-b3 )zѾmuc/mIvZNQW< _ <,E aAfbAWtI +H[Q PKՀ jmfb@DQLrಊ8i3jM\%|r]sJr_w<٨ )лM+~+pbJT0xv9\%MT .MàMrǙ\Ď%<1\tea8>̴/M2Plw:I'QP&0eo "N/.mzLm-TS{47{i|=[@6W Z#:;/?l*p|ΗNkAyQIL_)ȹ@DiLu=ٻ?~}xi[mEC*&_n2v*>T]yޠ71olzy:Cz,'T8q&ሹ*q܅ȆlMMWѧ;:NKTZe$$ 7ee]:H1f^ޑƦo0 gn7 (~$0 ~M;T^pAy!S°*2ɾJdn<|]@ei=is t^Tdb1tGKnGTX]>7H7Kk2}m<1[- &@nPȞ2X`V-1ͧ£JF'#>}v~(-*b;[~ev&py~EA<-CNQC/#4/7 6YK3KP$Ï/|.,PS04`;,X:tБHڈsED m).m]ڂ?2 9פaōG6iCw-t ÎlbfIl.V(KO/Pߪi|+WDVcmsdMr\3BS%TSk2U?2j0-G@GlN6HGJHiSg%-wA8"$=ɍiӇ~rں8#R*.C]bz8lTɝ9 P.2MC2%Ϭa,"$cWb sktn]?.Z Z]W-P9I)0exIUFHKlaD(+[EťQ\mYki!7JZ1 N x.ި;X< ң϶1w8z%\(.:q͏TuFRߨa0PD.}ӹCxZ@O1rf+z9FQ E{T=##J{$HrAI4k)h)׭XxVSܘJw|{xJP/4J\Cwkvpd\g3;JeDL+Q&ӳ+vMn ۄH]n֨.{JShއ]ęIm}$#֚/'bw3ՖBT}WWvqdXWcP:Cm>rgҭj['+EɕU.!y2N8P190Δǻb"u(D#h8.]c9WӐ!FG0hXs*Lњr"?$T'Տ|%ʤnYTg}4(yW$ Nt3*V 50|"qQ7}8n315z%{E!v`=hT"k3)NHU0~ژWkpH4F/0Ť%\n` 1j妞10X0?l5uЅ#o!7h7(cmTL;%JuEƛR_DsX,~3怑vz.d|4a`3E0_g:su%؄馞UBQjQٙ(7 D:+Di # 8>|^1t.TPo`[F:}/]GdsObDc]SmB'i5UIJ'~'ϩcmEfG&3(1W4 ]P؍ks,+*VN.:\I1ag f?]X"\pi?#QfA/cg-U@a^}Zw4 jyܽeG]̶C󑳖Hۗ 4̂c,r+Y 3 Z b8-4puDM' cD@vCMbU_b02ccJxÄIi$_UfSLY)UBuEcuW+;ecRO0: &qfX;.t^WQ8$v$J`#~; C0zh4 KcOesM&@U:9•9ӻxs~6rStEh(R ΦkҢ0wN\}3{FI;R`UF(1o_JE-'1`j2EIqMH RCs3 K`XQ8ƱhE_c*&@MJM Y;ltpbv_*PkF4NrE?rqbX9/ q+f&HgՈ"^ٲf$H&{K`D$.>EP1`el {<'?-Frc놝Ul3uMUgK>e. kcz?goRz@C-ݩ0NG#,O#pŰuFoqΔToTs gJ­0)da;Bj] T,3S0=.᜔;ʃe\_A ExdX nx6m?C0{BD,2j¼.":'DCDQy);+ SE;G8L|S? ra(+:a͙ͣ9ʣ Da P&·J7)ү,s,uf&4S w!n2wq몣Ѻg]"D.Cr*|h ^a$)I^~KxCK0.o``);!}!V*IAЪJ?Pn &du[eCk m۔@Nl/)+HQ&Ə1΍MۍMcw}% CS) ń#J]4G˹Сu.^x^iļ4$;жd\îWK@`;_CGz4Ώ3 U<"7qyEFaWE9PҜ]ѼZdɀi!G-, 5kC[Tc4-U=P6D@Pc%vDtPq`'PThzKV[ raGR3a&E{)\+ġs<~ s\ʳ}:sS|D`v^t4͑nSWM}&hd-N MCh:RPw(œ8s2Ϟ!=[TGa]n/z'-?"eua?2˜3E!,!Yr(z.)BP*Mm7ݨ,dQκ [\_9mQPdfEY8czh iJK*ҢYPu0<\$Rdt@C*߮ۧqh „nk+,!$ 2nO4*4i߿NՔWLJ.'~KzJULH`ܦ'aT0*]>VOP J qR/g@}k_̖gf--a8oɛrݸ@Da/ԣ0DKf)V'Ag'3*LrWB7{l ~!GuTIO.}uL)֗UH<,! ޖtHU"ͼ 'v]xfb>f&+6\ Rn%m$#\J,MN9bh Qb#j u-WB[lk#qzG^?UH}BdFH/yxϠc*x:F *.~oG/(Y쪖d՞ +҄Fޗ A k`rx1j2҅vmQxv?Z#/r< 6,pN\,:aJCwT]MdTi]ap:ƧܭHs_RWa!OtX=yIs,2O"" s+h`0c!-bl,-Q<+Y+ '\[?B "ARXhokB<9uļ"QT6Y-U.?礫ȩi{1ѝrd^[gdwt[:t/BO,I<6i>S.D]ϊ >!?hQ/rU\v7)}!d *731 D wy/lŖe TNfN:u1XAM@8Hna ¯Ǹ .; b-_x)|js]d/ nE4^0kݐAU4T1m.JJ"ӀA'BxU'pSŶZJx4Ǒ3k ir71PT??Zup7&+m1]k\;sz򞩆CӉѭx"A8B9X,6֛̄4A'Ft\_O~)M` + F2b,ItuFg^I< qbq"gq: lK:>b[j,QߌfC+ Ƶ7IZf?Xlx\ ЯH uLB.nN5z`W T`҅! 5%pie{Y9%`v'skltKKV1m1?Ts9s(,fvD.eW L[~HGB\Ceۣz&* @}d-'#o2s'6jP{0-JnqzrbITt\b`"?263, wE^X 2|M#$OF>i &z`u7.N4ސ7 bKnq/°maKu1 5`bj`kWRߒEաvcod[T8i2b$ĕ..Q7^$j;:'MGVh[=5=V+?FTb]ٙKtҙC3|ͼ[! ?zXh¹+&PuQ$w;cv(ye5Yɴ17@o~)8TZ%D!!x__n ĎܓpE-LXv Ku]:|܏@UȨ9E قMً'A5_=z?+o-4҃{JV.,JƇK8,DQ&$fe]|)8}&G5 7u+Yܟpx7F%D`SR {tT'8߉EVa  (=/u 1fC:=P/`E\>d'䊯۹"Q~@] i3z`tc?wf$!]ruw(09hLz8jF,Fԥ9 ;HVȈ~'8gYe?4h3̧# Idƈ%].Ǐs=^I?||ຯc;{e1:k~{ U9Is|k zs:-`4~oq6ՍYm.ɹpwexɆNԗ=EBCόo19AhAyMI͖+LuQ5V‡<$`+ hh$ d^)Q!0Ӓo$;l㥼Ǵ;  ٠~ ^~N=W6~ďm3j*63+Py4x 67zPwA0?5^3<*Y8y8gOD_zuk̅GO?U#r.R RypV!DiHXG1T,ޘ]}[g[ &\, b{mfţ"4g(`hK27Ȋ遳L/dyX1[ 1j90۳.!]j6Qb@PZ&!Z!{eor{:ҹz%xXm5h,Q91q8J[EO;c!*V@ꎯ[ó sjf)ӜwTe{-0܁;flW-K=]T=KO_(a| &?38 V }_O؉$?c',KÉ+FTI_NFhqaW ;Hq:նYw'uj*3 M5 _յ7X{h{$Y#YekI+~/dhZXO\con Rp2~/ajW8bph} zO~=J^J)@0?QQB aorupTzP0{G'TcslaA*j\LON(AKn>Am>PGV }){7z1jpId:nr00DxZQc:&+2@͒P L_|M4S϶MVvSM'6?Y_&$Iv#\snMNN\xv.r Mrm=dOW;CA(/7EC;./YPv<|6VRY;:/rt'וL0E%պ.?{FkW:m< >V80K]U0SEĔqv9fՇʵ3Rj~?FQ`]w{,}K/m RZh'X=/cNw6򔊽y"0R ?bLx}T*>wrQǟEY.^h{ wS+wZ j`ٌwiqЗ6pyF*/iч{(f"!g`M5BIuqH#|~YW@̖k6GIcUHkW)??FR&!&s+*W ۫rP;<}5Fp}m ~N:sWd 4+STqդ[8P.nq>un80}?i+HcE Sl!%pX+Sk5TcUN5d 8?~.g+U`Bk##U[&:J7|$Lk$dav ķ]xqِ@#;1 ĂA3c5U%"TIh rrY;ż*WreNŶ)vwn;( 47~?W.~yRvQEݍJ&mNYҙ sڣ#C7,VP5 xNQrFϋ0^r#h ݜsQH:uN}#( diN̕{GKg*,M￉)~l9bm+NF9YBA y7H_% {gt8}ugqׅ\YH92Az$t.mAf1~(-MCmLHmmj'ph"z"2k;IʞW44Xb#e\VU2)Hny"WpH3q %77ā+eN7>m&'WQ&i3S8 Y눃 ;:4("KUE}I~7<1j6EmX6ʧ1aCuUdRo'k5#!u9 K]C t@ft7p%Wuy@q?4 .1 Z\>|Ab@f\ j껂# e A8,B2P~n[盈0uvOm݅EKH=Jq%H4_߻Mt-d:5!˧ClCC-41ic(U6bp +4'å8A1,c2k X;S!8_~{UtɕL29az@EtH$}q"e>ƍU0^rǖUvfѤ98Pv%`~9ҹ};qǎ[j|.f夐?r2 mdBf q@߰>>yR5.B⠱!:UԳFBQ)er;GD}Z%ţ֦h?0|;Yx||a\= v['G\m@d<?.B,3`%h9 1$T!ZЉn:jVlxSgq%@r&8½{;Zy.]2$ tX.p$dd0\m3D ^VptZHrGfCZ`٣ۖzGRAo4C3Zk8Lb4nadhҍ$Z탢lda?z~d]2eIgaN'ǐ9s }[46֡|ѝpEku@*)*z :SIϓܱ)m$NQt%wn46ȟ[ xր ])}(+*K{T~(U@a:҄\ Y)k'h=:O5"X uN ;B7AD'CQ`siSGnS`FไtXx߈P]%Ҏ>,jgo~1 (;xmӂi\W|MX¾w&R tDYipCIZ-r@َ]ݏ q`Nlu+m׮PTOꕝX}L:¿QY >\ vqH.jzGf3@Gއ<}\]3B Ӥ'<!+_ ҖDpg>Qa`(CV[.SÈh6U,Su$YTrԞb|fO`oZfO/-%/uOFX7 ^tПR(Tҝ5 LA'{,p}K-+Ժ:SjF"s^;ĀJjs3ځ[_G+o`'1 L*|o[q>Q4E>|U7"R!R[hxBTERWф v  !Gʠ(7k&U{Wpe6SIB-WTwW%c48,lQ<Ж>jc겭:BCC0fu;N) qh..0woCzf;S~+IN0׳{e>zЗ i+ 9^բHi {۹6DR6mn9$ꝃhKͻ7-w{f\TnWG>̼4Q&,&ǔʝ%B 8L.u}4S-72Wi[ac8 :C&˿Z]Ra ycTIcF L^GUkuT5#xtF0^3]wQGIfI$0 j=gRg1`l+c L] @㶋l!֔ߝL| |8#Pp FJҕ[<*^0`?fM{^>yPr Q+fHNN`hK}+@ ?[rd*w11o枷H dUIIUX(r4=/1.t#m=W?k[ kR|tp4& 5 '?ͮ@HDn dA m8y+w4h.re\4mΏ-}2o86ʏmt⣦nZ|+62K. W8ĊDtq|SPMŅN^&)cjhճ ﭵ2d~O un鿘h6Ԏc:p W%2&t f3#GlҢ ~_t{^5IRn\gi[As~&Y^ʘ] x*5u;`^߃PK X=<ٷ >hY"M& `QBa6ra&?ۄxA<~kQxOp!?u;~gS)g GYN[cd,,ԫ̸2| hqG,]wɘEZ/(UUjۿ9 hI>F8cw6bGhܬH*'OVlDۢ= G >0y%TfiHw@<[t18l-JS EYGiips!O!nҟKd?ڪed֔CG)#H|+y?dyvla6kaI`$QiPYB⬀}Zx}e<ϝLVD+?cr',I W_|\9z'!:Oǖ u)lqu7Q2zCa+[@TqdFY_<3rY+?QR)}Q sRxOf "xq0M5dXH@FÝ&Hs#N@߿60༇>ˀ#-l4U3Az(lotŌ|tڕ@s÷h%1⑇SijㅷCf+ wM۷}ZbX맇-1Of6l'4(ݖ4 /Fe}m΢+аmO)U͑i<*_>+yɈIVKֶt+no3WmB%cōCrq|eys`r{RF\m p.1L`m@&9/gP{kwPXZb24rk!.byA҂ 44^7VNwƫ=@>/uYc1wKfd`xt|ZzNR `MQRFgPs?2'NkPw;1P-=otתiur{7ДZT%隵:^#{zzYqU%uG(j꘹}9F09ƫ}pT'm:!e^.CY_Z~VH@__z7$r a%5w8gQR.5><0Lɶ抽1 , #l@Yġ#v;PRKQډ/TDUΣؒcbEBWP*`8r | E>Sѕ}rک,AOz+*&*e0jc&رX~sb:|EwIs/2M;FL31b>2eZ/Wu~mfh&e炄^&o!I @Gmu"e* (N٤u8I4wOo' !d>8| lc]S' \9];'pQ:} 1ٶI()`AiN aRw6}xl=Wo8UsKzd{S<Ճ™}ؼ'2X\n/)Or~CDrZL1OQ-1V&r=RG~d5xg:=G7w>$9(ۘ_͠z: fFv~5RȎ_GbD>%Ʀ! b8\8)7eBc6/, qk,|nG %Hn:/JT@#\: yF/' {і-ik:0T[Q@W H ` AMCᆐXdpTurNK~ݞ4Hj% xދbWQk=TYpqH_煒& ܜQ}#G21 B;hۂk7`6իn]a&ປjv:N70NuqO>̋ @/[E! :Yq(F%FiY4"̋Hƅͬl9]o5JgRIA~]c8zic@̴2) VݼwJev{ެ)(/7z 8cAfcӅ;Bgc8:ML aq&CEY| 92®M9hML򪗠>s٣gx/$3X ǣr-h.4h]na&F'J82)uIS63xT|2C?r!!tu9I,x΃N O=Lq?<\0dXo|%^5>iT AdM({FHỳl ?H`AHokj(BQ!Uqß[lDtVns3sXLՒwI`O9.l +!1=`mv~Rx~nJOWF:oK1g; vb/w!3 yYzc=W> a<edu/ Vl5nޖ?'5xdװt^DS`V9i>*L l G }!`/]F [;n~HIx(ɴTmT1"n/K21W]@ oQK a<.XͳEoSLY=U&Uppdi0]g-ZnH W3ã35h+ $;]Ь.\j} a1)ᘒ%zou{yvZpP@)rq=剉7PV"zH:6j(zUe i۟E )RQp<2GqE No.q20`XwK\კ]Z ~v£({[Q͕hq(̹+_U{ӠWr #J.ޭבV1Iݲ?GwwV !>S=Дj9v0 _OWv_po&騒QM_DܴYXNrg8En^AIKxla>Mo8iOt 5K .X.ܶr7"M*1@^ld&p?9(f.;ȋ@`"{ڽ`U{?vӡDH0U=+&'Ri; /%6 }۠GoBҋKI,1TXy7:uщ-nF{0PZ bjaq"U0F,Os.9d/i=tbۄEIrǧ`^D /^.Y KZ4nY?Ns ~QߕTj0c0n19 岯. 9c^ W!ͿZܣ[D|cY9iw O0q~x \$(ω`Ńw1t_TK+iu]0cO8+j=O0wn.*,t%qz"z؏jU)m"F=Vɉ7lZΠ5VPQMLn JT:'7` +T;H؛|`5TUfÄnM06ozGqmSyaþrϋo8zkI0C9Ƚwj̓Gaubs|2VU3mD;c`5A,7-sVy'hn] fZ?=Jѷ&l|V9m|N.$,r̆){H66}ưobhy&*ϼΑUeқ~۵bCt27aqsre a=ąŐ7|A ÞHV{ctРbaW7yWq#Arckro~8=5\ck-ȳ^}IapE*pWT2`qK./I>dd*8"5F`Ȓ&lcqk`1&&1kPfI'1"2=]n5p;/tVVQ',5Ѳ 7swn~38oIZSI_B[4RV~?c"~KLfc0KO5" bן.[Gj_%$m32)އӪX`tϑM]* L+р8s1(t.WYeY>L[p)+3b`mKg_P4s_Ml,{3C&ԡ[ghU8=q]tdZob7 R N I-PsIHY+`x Ll("+x@Yrmn΀6r9yv%(jz:W[[ׯ%CC׻g„;^+.a/@;)V@akB!9N(M0o ={J87s_$8C̐K)=#Z^߇0F>KtTF#Q6]oܰj ?dq?O <z \e2?HdY&Br'EN[ȱFvȫ$ U;~Sk|:+i?wxHҧY9Һ"mȨc%DyW1̶Nj mє'm8C&P&Zn}YIr+`(>ЖeW }A+q=ijҨy4¶C&H`?^`e+r0!0Hcxgap,oUx6Gr#&t7ҍ''/KY<=.WܪKx:C L&6rєpV) l <$c KpVUxIU2Z喍B-®niю b'9ݤb'0RAo(kdvuŪVWk8!#\'=E3GcfHmyy{H7Fy`Xfng6q32ԕM,+^z`5F.4&ү  V:W~ ζ'.4Fan?~*̺ỺQ64oEZA2in{i_ bͰLDOx9(J!gRjBaE#+˴ӢΞ%:ܟXʑLVUl %u43 N2a5kRf8q|t7 -gHpr Ȼ!ȏt{Tm9l'k=O[sݗf/gnM('Y Ĕ'}h_YDӫ// Շ}Gq%qB_S)S%ٻ.H-82<"zQf+.񔃮 ]|.Μn.rܼbW8]ED( eK֛PI&.lP]eVf. /oq-CUliFXvD((7`$L}%a}+\tev mrN; 04WST%Va>s鐬˪3{))A FXrѮlMYkh1k%ʩ¯e q7֤C3Hc`R%<zSp=ͥ,b44fib޺^惃=>?”-Ǵ'$xƒCs\z"_)L ݏ[-iۢt[${VrvWLvE-NGnb1Q 6*;p-q V.zVapXos%Dr"+R\Xؚv FdjEzگ5 JVM?'fZFc'?[Ru{mX<؇5f+qams_ cۣ laӮG}qmaluvǦ;>n^uZ5`[y=󍻣,R&%7= l8w$~ٴF6 21IsyQy#eV ~W7)[T𷭎5 /g<*'Sw_e.^9AJ`(سQphELkYgXsn=p;Ub.uӵ^Ȏ%L n=?K1XA_{,>o CXʇbJ~*;Y, hӥ*a7F½i' pW!Lr[jhSуmeV)KVty{>AatonN[!oM;ح#є_c#gVvKpov&BE%bE CŖt#Ꞁkؓk=rţϐ/ܩ)''L]R;"]~S v1`s Cy %{P3$#CE3 <FRLvS=tq[}̲#ݾbx:˩_ɿ;* z[ h sj/ץ!?/JQӼ:R*WoJvyˡY5g:HPB[#?ˣ>pr\ɜ%!a?OݛcmBRG#R8439Z/'C0:0)'Җ:o7R=1W1äs'S[oocr=GqEG!4|rOmFi)F!PVCs :ghݸT:/YlwpMl)s)L:[hM(niA'3fV}MeShJ o1Sm=IVW>9uU fqA2S} gcNF'E0mkt c>R<'>%|3U5gӓ8Ѳ8C{JW9m82"Jl|%Y ŷ0{Na☓04VX:L HO(|7`^zD+ڔ!9&Kȁ?k"=e ;!vomO[Rٲ[ڑ}N@A?9\13*bE[KI1A#Cg% "* Nl+vPMjna09 Ok'6sr "~f V1y=T}@U!?j"6-YU đpݡqnB@V5PqfnaBࡏl=nGIb ޟO;W ]ˍ w/\v]q.P{c[{J?3veA#́+>7rhD"*{ 32(7]4oBw]smoHtO%*KsY>3I/|yU2`uwľdTfJ* Z+'Klя@Yk%U[X85w\}.)e<=m̪^R$ƩCul6{܋<{YV**s9,/85A|$Œd/=PtF IЙ6ϒ<58}?yNatAÀ:4|t&LQWFxFQ>:"H_'0B')}QDy&5:(IAye^m  cҍ{%B~U71|&y=c]5RUN}'T1$z ubXE7&Z;3ST1ҡJa[þQ Ji]FQI1IMz>sR޹:P^x -s]A3]}hHūU^oZR܉M!0c-˷[94.ـG0w9U>؇#S #3xx&X O]$Bt hq& \պ^<F ~dшL]؋l 4䅸l脶`OE\q"]^:s5Ex(ج\Uu^iA˦i"+0(?M*ÎYXGP0O\c(x0^"o,S':Z;N~ԩx4v~'[o]e1&WqK =Ÿda(1KziP z^Q3 0r%yw,RlGV_Nz, ?\6G$S?$^Ј:=~q)R ˴Շ+Gg|-ޏxGVW1R^|^"R/d`2#dj,;ל1KKŦ:aI4t}@rПYݦ[@Lt bח. ;~˻ZӚo+Hi?,p\EfEP|N|V4! T!w2fcݺ`)qickS7EA1{GnD9  AOҦlor;y]#Xbc5X1 ƑdFkm8 R,CFS[ RRӯ*~\0 4*gF std*0W:K c΋#G| i-Sy<òv]s)!bn@>)}`stk,ƂZvf0{RiwE$={c?J9R9 ċT7VӉ`GmS\Dj&0mhaPњazv+*or={ #^WԱqepɐM99{i\h䅬 +:(+xȑVUT{\<9UuY|d|5&}I@uY?s{HdC"!/!GPYnef+D]B}eޣ|<&G?*%'ts E_`} ;f@U,|Oف\~o H&iy/?8TxafTM8(LSh 9DJq0 ީ]#F];$g z*sEO5GP3W߿fUHs.-I^IhtsYt5_'ĻH_9}KGj6-OC O=f@NnVVeYvC&4:׫`Es@k4HHС)mDWvpUʬ^mz_sB4@m%y۝ҀMӂ)]DXy*vgڱSM筎Me@i6c"F^~n9M,[nʛKJ-|XMl=۟Q͡' +K;PYNq}U$G:&\vMTErO\6XO_D=4`p)/G k09o6QD3#hP (?WE7GmkpWWH }ca`\ܜzQIvξ>Fk{x4#Uedz[s˟1V)&:=%a;p.Rpgfy9ƂU 1 a1[Lr!=*#.8YjPc&t|Q10D~+7A7"!$g\jg{oZW}8rp5Vj荞#_ -G. ? a.Cr*;sovUJzέ]z]oQ JC6gQU?!Igǭ%_FٙC8 SkM"Eex!Pi?8!@1 }[i/x^Py/ʴnps.3p8Гv6w?`BKX'Ŏ+<g7j$\]SzRXÑc%ZQ M2Q=.g^rO ,Rlb\)`Cл<2DBrFa3>OFb"&"X3n\E"s_oܪ:H7 P"-Ϝ߂6{樓ƶ<]T:{nc*KVu|b=4j#1!t[\fYFl$ٍn8y] W&DfV ,,˟D.Z_ROߟ P2u&c5<܎ĸ&}^Uwq-fR6X|xE7LHE93oXZp[J&u؛;ٔkRv%#2DHѩ`DSTQ:`e4am16' o$1o(u V"E5̒O}O"RZv9KYQ\ Z{Imwb$ xk̓sA+^` GCrONlѡKoAP527 60(dݖݯ?`hN`<}o۬+ۄ ǤU-֨0Ӓv:p{໺In|OW 7B 7q8Gh8E?T]QX% vEpS3?I7dX*æ˨'y:^~?æ9oWLIRe4G{C;)+tވJ&F 'ٙJ^]IY ï|4+U)sȂňBMyv%dzi%3 |0"} b3I/x8Rpl1+pD9jund31 WƸ'zdV] 5Y!K5͜w9*\wɕMt 2dnwd~zZEhnV CK Y GY;5θ=3h>*n]3ZB{?4 ,j^ȇ|n1[ٮ n]| vD#603+i)J?4w]| !6(acr R;3:NO"# 5{yIC\1! -Ыݫr)թ42_Y#p K|aٮ-)ek& 15g0CnƌFPV /?gt0JT  <"^m!l3Kz %cCmMTIJ唚T<3j.rxٱ$6Xq?''E1χx>FЅvE_/vqnjXRh&BC|$F~Ca6`KՓf$Li^w]dJh. A!;/jU<`7aߵ&٭ ߨRrW~hk2Ԑ"v`KblOF_`b~>6 Ydm{(!#џ0j>43+"P<s/ ힱ [t21v~٢Ҹ5,[;uHAz~)j A!ܿOr.~̽SV4+g̸Bb], !}c @*`Mxr|| Ua4$EfT Ώ\m\R5{z&f]jkMu*`cWH(6Nt S =A/Y5m,ګ {G; K-gDCyyt!Gk,DXYkEUY[V3|ዬpp Ɣ#Er17IvY`f1 FFat)'CVpfey} /8?\_..,n Y[0h gٶ̚_)rnVKO,}~Y}L)&UrCXF¯95E+. &7"WytI1:G֜Q\ǠBC)JǚC)K"YJdx UsPJPRɔw^=j۸=WO~ۓMR/fYT=[qmu Uޭ0^;_ʘm!5!8.|*o2mM>UہR/h.tDOeUnѓol܍O=䟆Aeddm`1gF۩B~A{G$ho˻W)zcT@;-DOBv(xU.*CUlMzdT~3pNh|VpսCTD!Z܇=%PZT&jzR"N!KJON N:/xy&__S҉9kDgk8KvD#mhdɿ{1^ׅmP8ܤ )}MC"uLcѴi<Գ-BZ #tS<jDmllW N)4\suP̝/)GONuS)q:`gy !T|Nu͕|1YE8brs`:ժw]p͇6tQ&]w]O18ҖnvӨSxdT?VZ΀k¡߸nQsftCr@Ě\6CMzG|dS7[)LU,0$w$cO};ٓ::e SQ6CD\{t q1R7r۸[)K(|Aќht5.b N+@;vZOAwSi*9 1s͖Jʖ/Dwn\w iiFHhHbls,g˨Ov׻S^G:2q@ߋKʅU\lj2M(~ɯ6m[L0kS 29{  :XeJ "ɪx *7] Aqa E`n:""?~ݓ~'4uď]B,HY -f{.U2S;&дeuN[R@nlZ4@1nL r(IS+Xf@ofel*V;zȰ^ M!{q{Ă?)3!p2ByR![?O~u`[]hp¿ed+YBSїL`'?5ܬpٝKk~|]ϐc ĈS[4zJ U /} ̟xhv[3$&|fi{yse[1h|*c]VDMot4Ч.H! Y8uᯎ Yd* mv G)xĒ7_2 D\kL令 sMuaЀ)=9${S/ %Uϝ>ZQ pn \ JٰЂ/NP b~J{v ӘWvrqP?O+}(q6Iiifֵ:Lj֕A$eSpPd+bOX.G+aTP5!}OҴ`?Oz:5)`b]dQ%kZJ(e7Nv86Zv &-8sj?b|S~ճKZӚHhv E!K!}vį\AS u9Bu6MaH@~ty4 su.UW/#d%Gy<߄~bEpxaCuiM3v/T+"#3QM![R߁qy2#s_[BF;17BeaY)|Qz>vSKQ@al[-7 ]8aic. "N1f,x跎ȥ%=U*XKni.QSRKw7ejg"VhZmS&͏`gq1lX 3t!T z$BI8da]O\1&a.z`ob'޹s6XHBFnTwYW)SoYˣT}T`$3wI2 4P4J,Yim$A[1k:َZX mkijf23` 0.dO|Fy~3?K32 F .uImoQШE]q GxEħ1f$U BX ͎Ӈoňr)936śxˉu T!mޢk >It.e;"ͽI-I@W-܏HBKf|O@u=ͣ\y{ Z+섖`nl\X/I.PH c)ݥn6& a:Te`*<]d "ȖזLLN)H`ntueŠRXtc^ h9KLk~繨q䇧K)2p@a:dhch '1YU˙맭1Q`7]c#$t"E$nrܗv~{P5Ԙl_Q$R0uom5s[$i:w?h[jS63rBoh @*I ]Bxb,O$GG}]$B:r+9^v3I 3+?L<ϞGi|X]\:)Ħvjہ\֚->EiD_Q[EVKVjeG m#*X:2SKRE'ԃΥe'~Yejq[1Z"NRϴ*3M nePS/mu& V_>L9InvZω:FnoQj_1cNm6QDt%dM$mNbKq MqΟlC+>cf6V@ӄ>ƮG՞N!*Y~F~ =1ր]n}nZ2.rF`5mVG `e$1 \^qu]Rԫ`,}Ĵ֒&7LN&M͂xTw~vbv+ BudkR$攅 `-sE"Oyan*U"#8݈%y 8`$ β)hQ]UU!1.A,?mN24mpΙLj/s!^᮫tv*$OcxN5<8)VZnW2N/** -B-;>|8-cISj>ńp^Hp`>v*44ι❉MESLa=ḿm o Tr4xu : : 6P,e؉ _vS)r fY~ 9;&F#L"EDliI&;qÍT-/#ำ߀dr>^Ԏ9g{+v@;7+/;fGF|g9@$]Whb+0$YаL;y)#@^s8Eq;68}oZar / ;R fpהɈY@[YeJv?tJ $=B6ECY(+uyro-xo i x-x'HA1)>ؗYߥC (eN'e'XKb,,$;`!fLA5P7}[9|$_-|р&$CZOI:%nnwTlŒޥ=MfDPhNbdc[>he/LjX$ܴ[}E"s V1%Q_):A%dz6K0'*0C:5EfW#nA Ԣ+lGI}_tb䈨cDY_LY32O;ZF#"]ի_eFx"-#c6 pB=G׫!i4 '@8 !"#;|+nnLfO6?P'bD9h3Gfq6UEۈٶ}7-w}W{DUfP(JEaLGTu1]&;hqPoՉŘgU1li2NhK1C:<|EA?399QOJzwi30;epomǢ1u&7_2 2QY< \`-;sYNonic;%mqY:L8f]Lq0 1Dr6K{mŒ>h~Dю7rWf 5m l`65- )߼%S6 i^6-Y jiОqr75{ŰB%+H9H3 Mֶ=`"gɢM[Gn,u5WbC/[WYm~KCMOJok~`(5P_%|?kՑl<g(ՌDUC8)z<5Mrn1@d6:a=+I1(+q>i_vJ>dq7.i~bSZZKwH A ̧m{.2*ӭ䅀osBѨ97<.V[sˬZM GVd 5 BF;h|PN_nb"N$ĉ)KM=2;e"EU`id72313Ⱦrǔ6!4(ӎ2\sOG2,y@ɝs*q%]&2/S^L:I#$RDp8exs4 6j#`n5lJS]֧&Z3-=\lu0[oae0 +O8FFpƎr1.<Y. \`ĤO52,|>ӝb'PdyhHx vWf2Yg0.z2P((cQfvו2j8l &e\8 +EZJ"]({ZHfP Z5^eIvjS{{%] iWPHU!_Ri=Q㓉̾`R`[1'Pw{2D4Εmq}mBOG3,tC<dWiK(j kPkL dmC,CAue+K蹗7>; jLdJ8|̠bd,(,\Ո@JZ)?V8~0,Z"& ;n-; 5D#e/ݜc [!g':p p)SWoŻD4}CÙ?(,=b?R ^;pgqXIa. 2NޅrSnGk]'HSܭ*ɏ5 }]aEp hǣd[ R|>~7b OFMnn=W 4{ MT\R3jXE>”1]wX|NL_Tf^w wSԸ7KԫV.ׁ֒Ô),1"7k˄WPT[1yfq"eP}bA QntD'6pO ߸7浙ƖER\1MR2O7] m)/9PZZOU0Z+V=c~@9UdrFJ mίuLȫY "'qHK]dpi =-hoܵVw N,K`&k&sPZxđˇ(񦷽S$n#rusj֠LA*ȼP2 ʤUPQ1hkC%gH+H[s /]BwaĕFɕ;y}|ƖQwQXVb䱇%w8|u h]'AB/=h/zYN 2`N!nnmQg)Iu:$wrxU]r%-wDgMjlZ{pfHFi-wxn@ +%;uXдd0ST~A~yt4vqҀDJNs28?lY$/2}"{ת АgE pxauv.'v0ؓ}i}7x4eT/B"Uڝ8=q3c D֨) Xz #h!rN Ut ;lWf̎5ǟ !-Qp.뺦+%? +AU)qnnyW@vxMy1x2Ui@7'~b(_0r(ߖj02teN j鑩.9]* |9+ةp& 6B>R)TwR)_A*y $b "{_V~|u:^%Uw5OAeK.D6rl/WDO}gk]R |:U# SDa-=1w`lZ.{W!^D3t8rhgꨞNsMgZW@\РnTL:nvsY~tRi˪^CfP\#,6;[hfg9(+ OlB@T4i4$} ƨ} ?| [} O+O_C~{W-6#RN\t\~fD;꾎;(;{ I%wC泞nw׮ x!7B "(fBnLV#^G `;;wc[n϶PR"6ݜM[^fg%hK%캤 QUppˉ 1joQśgim}|s |sMadoQ@蜡3 |ۭ3vŅ '{iV$Yoa/& 'V8 ە$*@~{DRܑ'@Vr_ \3p2Ƌl|CynBL , y> <[(3-1J] ra)|VdUls(=>u3jmܲ)'*.ff%ptp=m3DA``N\#*#Ui[|@4kнe*8ڴ Y{|:Nsn3ٲn_ё#uqqؘ菻qfpw0;餩Þ _=jf}>%h}1عK|0xRi}< 8~v: ]y #<ܤ̦*)$l}F>my@jk3RKg0~ŁYvFmn'3o$K|m[klԠ/Ëmc[=d=%fתa|v*4I1hQϒP-'S gcBuVLbgW:=U2xƽl;gI-~elNw갣 y@ʬ_qvWj P)yemŬoZԧ/I|Yg^bkG ی=_r(@o*Ė_$>#Z?8r=LsO'Tϻ øaKSԶg?pu՞kvfj6@ܟ4s s ^$j}m[+ W>'! f!"U*gUqp{: >P)1>J}.4(\@{mՖܑc "-q>}88 ^d._ 0F"#2M^ưielbpyήUqT"NйiW_/ K$!D Ai4rnusNR^QSXm '7ZVfkEYDت-"W=A[Q;"DK.?$:m%Q\=@X A4p߽B$HyC؂pUi^ l}W{ hR.y A~z#B6 Uz :UpG4W>56vM^Ȭp㴷he1 '؛K#bΟ&ɋtKe1yTݏÂ6d% ,g$ae@ kgZ@4? A+.l0ؗehۼfNP!JѾ6е$cTl {6IHP,L}eE C56SLtKEٙ*^S]ݡ!{NTZėIB c}JQ*6&R5Vo{,mF]JgTuyi(.TuDN@0e `LFgeIS;PIZ-$ OTh)AgQ|D{ѵ5-hf]AM/q $7z`!Tj1J{4[\X`޷[v>= _oʛelxL@^LaЪQS =ZP2Kg l܄XJFɝ%,5\۷ hi c1ΣC"hynICscBެqAauLu'K)4g'tDy  3Д{wŞpviT.7tF<(/D/1زXx"}H"1nHB#k}1nH\#_o2Ix@/ >Xi@^8 ℆ʃ!@d@ $+RE㷘Gck4$5#~(&Fl_Y5LN?Aj*):8n/FG8dX =J xNǘDޮȎYy%,="Dggto.N3 ["Pҿ5ԋrQeFMiK޵O󰤓^;  uJ(RlT:w&u;ip焎w]#"F)棯MfiHpXɀ@WQdAK.45ɛR F̜i (xZ7VF\\> fkIkMN-=0)¶ߜr_ẏm`"Ԅ ?bo%OT.0b|72w\osZ|`9NUu菛^7H&[S#4'ѵz!DOn6k,Mי<\},6sH%ɜ@S'=^d̝ܥG7oA MVvaNgX"u:m\zF>.+C <*]\S {"d5V 3-a FQ=F`QEd:Q5IޙZPJфGrY W;bVuM>2uѹn,Lsdɘ.G fTDJ\t Q`[%_W7쮀>>"Tut'?vf9"F/#A˫= G.6O 7yxc{Ж?zAѰXLu=^J,WWV?~Gq2.]YTjqcLdlZ%wTD 'f/ַ+nnκhgC$zhrOn*C=M$Xʫ]ԫ 7'KP &[KD##iSJw(H3dw>n>Ybr17=kۀRN7c5 76,˅=`ҏ&=x=Xʭa+ ck,P"9ewҵc-RaBҵ xHŇ" G/|"X?dSҹj+U;5U}zB.'RuRȝ-E) C;G3V~ϜߋV.4o>D##iy|8o`ԐDqN}W[3^Urq ji+"n;xfiYRf~:}>Q,Ry> l"X WP)%P;>ؼSoK垼Lf57jM͗sA>E5OX8d#$lQyZ⪞{{PbZ]V='I8E*81 ژwGS k8~oJWX%ՠuL~ńJG 7hp!ygz<0~cٜ'y;Pļ   B 9;0i|OtQ-lؐ= B>>{FW-jžaҾFHzi,6Jitc@Y8UZ9 m+R`\˛lFnpf` hkZZ3t:gq:S^rsZ> !* ]˱~4>,B̯)M"v7MJ4f<._Rθ> >a1|}O֞ -\\ !p߾|B89\{Jҟ, }JV0TKJZҩ'_5 csۑPDx,đ$ aX댤~]dF A#Ӗ/JvC",u Mg6 [?Z3Dϰ4'&:HpWx 'kv 8V >'ֆ.ٱRKfc"9 њ h𧓰Ah,-\6Z?&Y+r)U?sV&V#zsuT_KANϤV's?SFb~cCHVu$?͝MgvA?\g7Ц|cwuTKAw^JZc\#WV-V7niRltʨ2!s >#.}L]oXQȺnΜ>d&luǙQ*Fcӄ]_#L{',?4%09rf;p?yl!Of-.oiociIND<75!q4S暯0Vo')MM ZqapH{ly~{ჽO1S?WRÄ~u*Uk:UHUƒIےZ!Xd%Bu{?~ =xvbLiX(^v|Y.P:f/=ʊS=:R>1~Go`u!|rKV ɔ"ކ9q|gABd'f'7g+df6sՠsT9ZYQu'o-S9Zqtk32#Tބz Q;F$o Ix#ESil.:KSv4 ㌏ڊ*rFgY.,|*򝭏u74%A;1.H'_|\ba3ks73~Psd"-G`'oj-&!+$猆mc8>|Ɏ0?gcfMad4">+f1A[V$ ${Swbnq;EOwFr%+[yPvnuI Sîw.G<‚=Lw'==%痖b2ֻ LdGH^ UUjQ-X/4}1Ch$i#8"Uܑ6ô,lG^[m6'ͧ7b-,)/P=jBJ󮴓#E&J:S$F4QAp"C/y,'<{FUuĆ @Ao;^ ZB& z]1l*!6<"/FX&n`I DLa2`wkϞ+ v۠]>ۅ귈VC]ZGu"ױP&SN蹭VJp2PCyO  7EUӂ%ɺJ$$qqePsBCIHi>]e}$op ,NZ4?G]ȠPYC!|QCB)Ub)NXA/6Qhqq]x0Vu7D3P\>2Pf{J!:(6ưyXn+WYg;!w Ac!WDS;KW Ml&[)敆8\r.F2O|<! ߖ8fd@jC'.-3-m4 ->6Ls} -Rķn 0ЅL.ނrZx4C6)k QdWvܒMlʰTD(nb>1@*^Wvc5".?Y5%86WIQ-mBI7:c^F!L**t@J#>3uc1ԜDYqWJ#e":Zx+4Ì .]Ɓc[b]y A]\i2e䜯QKWwlPm0>:f U ib]yphF Oubo=rGv-Ɠx)u';#Ze 5}`23d=SZBv@9^ڒWy֦"C,5%oc<qǰ*`Xְzx8 X-Bj1D .F" {KH $.Cfx]Y]^+s8]TUF]:RRɁBLT =F] ̌<W?osHoPOb\a ²\aܳ0᥺ 2jΜ.a <4?i^`KC ȲSu"e n piĝfhA/٤7,ܻcKs ^2f杆ly:4V/NtNeVXiox|:~+й:VG[&qxIun'ms#HKG/W%R҃ *swC[_(P X+!౜{Oȷ:zoѫ|W-&$k-ي3uu/9u6#!G}VFQ]YŤmA1VYpߏrX祗*Q_1!J!eΑz3B:)֦o̤9dt$`eueJM<%,KQd ,5K-&cv20%:W@蛓 ct7Rpf,p R@7>s'TI1ɟVyH<@=Q$p [# J4 ۆ:SURRe^9GԜd{5A6U7L^x;~"Bx\CϲMkxn4YgqDy ՝)ЂFD`ُUZ qoJ.btyvŎ]Y NK=" ($,)ѐFhYkmzwiseepP^4l8M  2"y# Z#^oؠOBNssk$=A5@i&lU%uds}:[9C];3)2t(R26e,H?a2wP?5!<*;owR,_c" +C@q=܄ χE{<2!4c{8ؠI&woʴd -' bh5+ CK"@$l$k0"1>I4cNJ-ptk0IFCzl7'Y@HCh m$ejUz8,bCptw8Xݍ5MːC-gkp,]tJ7onha-J{Dw]Z/3 ii勸O6rƼ %WSF3 !E67/.]i.n(WP|f3߈>  Ǘƞs~$A15YzܕQ"hnoTpz[vD:qV?6_>%26aL1 ^w|)9&ۄ25OIaYL0bZ5FsU2f$ՕL8J NojGeZt^ +s4eH͠6S?[a? DWj wRSՄXI-T\ 'Ay6D7:1FpQދUV^* abZCɾ@Koi(IkN/vWCx"iܬ3Z]N _y2DSJFKp\VeGjpsKε,}ioRVk>%\ n}7dƛ?8jZ+#zods0PF*܅vDQ.Sl[*T޹Xi3Xs!kqyeɤXʡkxgaz,0 J= 6'?.+!C@ P OWqW[=<O1۾Ë8%繱`Z}>O/Idd3pX76 .Wqn''#5gd"VB} >7ftCr+~\-prmo$k3!ztޑ24&r8ЏǬz @;Fydqb ^TEa%x=SaSTm\;mDK8ϑ#x<lBJ詫 7C<8ϒpK2ˉu y^]-j x,\*R+jfc @lIWeˢert^‘ f*U/C(ݕ #;r pRF<"k,E.3 Zz\kdL-m [jGpIXJM-MlBI}!Qc"/gjžpi^yw ^j2kQ9$@}7yȟk6} D_dƴ[xs6ysTNeȴbux}@NWWXZl|1 VLkVl$ CmL%|{%VxJ#O>s7`_>c/⡴Mk]&ʫ-N@@c2z5Kz[!s _ BAJ~jgRekam.t)kX.{aG0r"\k!T" a3_u@ulNq#H<Qlm r rI٤:1p4o'-z-Ʋ=r,+l*C@[V(Ɗ(͡GZZEKg-*{q@U(}5nU{SdFU(lT zy:bRX4C BT-+dcoka7' D.4`󃕞r sPt{"KI?~mi|ˉ7|*{nUr;K9VY!ɵ'*B0L ps6a**_5:KngeRR{1dTrȑ.04q J9X%~AJ@iӗ?m6.|;b3h7@[yOTo N&