yast2-storage-ng-4.5.25-150500.3.8.1<>,De,tp9|FSLwG…1Zr}rO Wq?^^TnߥRy>|^bz@󝒠)VƐopfBt >X- `e?_.& &UK18(dآԠ⧝ AVkLJ!smrd5$xoYܫY8`[0>z2a#V=J;=/z 2oP MQXdE inS@8]G YWL!G>F ?d ' E6S iutaa a |a %a a  aảan؜a ([8d9:>DBDFDGDaHNlaIWaXZTYZlZZ[Z\Za]d$a^2bcd"e'f*l,u@avw\axaydzxCyast2-storage-ng4.5.25150500.3.8.1YaST2 - Storage ConfigurationThis package contains the files for YaST2 that handle access to disk devices during installation and on an installed system. This YaST2 module uses libstorage-ng.e,ts390zl32)SUSE Linux Enterprise 15SUSE LLC GPL-2.0-only OR GPL-3.0-onlyhttps://www.suse.com/System/YaSThttps://github.com/yast/yast-storage-nglinuxs390x PNAME=storage SUBPNAME=-yast2-storage-ng.common SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi PNAME=storage SUBPNAME=-yast2-storage-ng.s390 SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fiVM&Y<<   "R~  q5 $H- '2.`CJ/7w27i/3W )Pn ( X 5 ;5 r w [j+ cL s::FL  0{*h )3  )NJX b *8E F/!*d *vGb l Uyi b._C$ : - s !E +[ U"5. SO  4`m. 6p^mZ 1 .e @T40l m   q Nyftr  D 6 2< S Z      f rOyp`M >/ 4j5oy g&f aF%e  e( E $\i z aSE#\Uf |g d    ] W Q ~ {@3 * C46 bd + bQw}* &_p'2a  v|y)B*<]8%8` 9Aq7 .C:h2] 8"" %o[3fgH<D'I ,E xp , 5- 3 %+ R"*LsQM=r6@Cif1\"xF+ ( x2*9 !236' *Oa a+Ce.. C`w Gn%\[!i6] ._ E#|*; UGjm`y FAAA큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e&7e,e,e,e,e,se&7e,24cb57504c3533776f09872a32dd76bd3b6f746b68912c097fc31f6c5f0257196c52d01faf5210eba88502a6e4b1f51a6deb208682d307df771180fd254a803d34812b4230600ad74901318b76fdf69ce4127de28c9e6ce4e946686df6d15e73ea563d9aa45aae1a4457636e4639a3459e692b01e220c5be113f4e00ef9d77b1b2992f19f0e0b6c18e628b6bfddf2bd652e537010bf4ec9e8bd83e136f3aa27d7884e5650606b2b11cd41074b5a44efed322c78a1886145ecba92ba02f3ff197b7ae1ac769854180bab7975c7bdc1a6506b03f5999fecc440b96ce0cd8105595dc6f504eac606bcf2ee57e30142607a693ffc33f9a9818568ea36c64cbab082188d1ebf46118ddaec06cd4d36e428ceb484a448cbdc2604fb166f4b6686a8ef37489fdc22303b7999f73fa4d6ba07bdce0e8745b7fc6483a389ee400cace7df60392058158e66a9f197bc2e780a98a0cef9c9b2569294dfd4486b7def5db76db0675a69c9e9998ca595171c3d533436071bbcb31bad401ca7c0da8760bbc29537ac3c5c93977ab949f866f670742ca38c9a32f130aadd870ea6836325bbe0c7b338e853ac6c719b2a8929701b79bbca687f1f1a5424f0948d1e1fd1c5065406b98f58c00078a5c6764738271f9694e986acf0ce707f8560aaa0f75b93e83e0a104a8cb4abab895d7cc997e422d8bd667321110bec4b86f3e4938a7822a2fc5b35184d8a9a40f97a88fbe831e978131c90a357a66fa61ff09865b39829bd4dc0d73a7b53d029d5f644b7f71d63d8011d6961eb5c7b980e3a6bd38a6b919c9d54d2528ed0d6f164d5033b64d90eed723331ad20340b125409af56346101dec2d57af9394fd551d498cc58c1e6634f93662586954d835117788f12e296a9499b9ab5003a815aa123082af46e86fd284aa5ccc4015691426c69786a2ab71375b0b5e2fdc56cc136bc93483c55937875922725b99a4b56d659408c19534833cb475f51ce046a5089e12daa91e4951f489352bd1893cced1150e4387cd0b2b8318466d9120d7b3be9a065e09ada436d0276e64f568f3a4127ae7ae6cfc21c773b4c47c18822b268253c885471f69d0838cf48b4c23b18601949646b039302d7fb439c241903d0b59fc5f2356fe17322e95e080cbcb569039d06ec236f1eca99b56878f84a65d4b975217c8c0ac6bd4ceb39b9cae1f9641ae5e0cf147b0a2ac79d52880822be28a0fb33d9303d24275525905bedebbac016d810afacc77f5303cd1d19266481c9e0df9f1ca32e8e4c376077354af1b3f62d6e4071ff6c02d384b6052a6ceef4259f56be24a8b76f7b4f8720da777a8f643cf547efb7980f89ae2bd66f4dedd14e5df0253110ab0828fd0a7acf0299a19355cfc9159a7fd85de80f270335250efd78be87b059fdd05de25e2dd33b20bbd886afd287c43177af2b37ecc06decd5ff39d0fbc0b3cb0166be3dbcdd34ae4ff334f337c52187d5d3421aa2b19e1a4774b805674c2dfcf192fadb77c44b592397ee94bc0e6be62bdeca1502c943c49db0b20236ca0536c6acd93c359a192834c45548c6ad989ade88bc0f44d7533a6edd987d1731bced196622343fa8997536c079e777fbacf653104edaec525c6778f961c8c0856f9caf2abf8151c26a0cf278235434852596c35f2b69e36970d94efadce5b8dc94dd087729160059a2c0982b34f05f279dc07e8d26ff73690ec2802c02bf2a829d62633b48d0292b0e20e4a8f62dfd488b66e85f1df5f271c1d3b742092cc47d289037a0e994bcbbc40ef525cfe3c945cd6458b3c0843b1c27f1aaabf8783720c5194772d4b99920ed7d0b873cd163211fb7a198ca3b0390239d2fb3190a129081e5e22c7c5476afa2ab7c3be0899fd72e364d3fab9b7647969b386a540b2d9e8437b7982f838cc230d19e02e35f723e8c0c92b05e3a947f579af1a2718d9531c5bbc59ddb05f1e653c188d9239190df65f83948d5c594fee5178a9802f051cf51c13f71f93a456a41d066904ef7010e55565c8d6520f645ab9acd7bd09c6db975043aa7a52bb5a9282fdd953da143255dfc0f80410b7679bc85f7473fdf3bd2fb365344677231497a3f40b8e9005b0f8013fa5e088fd2de42b33b0043f1ad624eae13bc781d21d81358aba8a75e71e0521e550db9c8619e8b14141a0c0d5874ce5e35209c2d490154d691bdef46046114dae7eb89d1ae018b7793e936ff265326d838864c6371e1989827976180b24205c0f62b5e41ba52a3e92c844c4a7f003a61028608545e6bc11187e4ad7a6d3e8af62c4eb05ff44265e46693eec5eb7a11dd671051149ba1b29efa133958df0447c77b6815d98cdfae0bae5ef50ac08a39eb91ad35866b0d08c4a6335414f4e200dca28fc9884bf94c7297bd738b8fa8c7ec9790bac2e661851ee374ab235de5966e13971a8647b340d995eb1a0a929fe8bf6e6b88efc8134d10eb1ebc06e37c2c5ced53c566a9904a354823c593e9180abc71dca655208493ae4a072a0551e77b8df64dafc16f52bd7c22f03c82f4011bbffd67eb8b7a2c661146c11740ddf1b878ece2fa99af7e48f333327ddd1e5c68b58bfc6cbfdad9138ff968ccd5d24a7b3c7de82be487d0b59ad2d17cbd89f6c42799793031fa363940689c2ab3a8bdbdbe48fd177bc7e85e7397b7ddfc60a07707126c1bdd282f4281ba1f5d92c738ed5e5fdf8915a23f5e4dcf33d7168e2f0acd55371029e802e059c0837405d670cb394a6d23da8c9b1495128b7a4a638db3cb1723d6b57580ae8a08d14bb55a93e633a84a2bdb351407bbb6ef1a303a820078f2f907974dc4432f29b49dfcd0c352ce5970390f29a5e38af317a2d01c482cc3548ed258c928fa37d5f11f8724ef4cac2e2832e5b2209294153797eb3b822c3bb19ea1b8df85b1d6c647e4ef251a26832fef3c237d09f699f164a72a39d1e6e31b24013d08e74580866f9a0c5a89746035482170f549de6d50d89badd34e40bb27e8b222fe88ee58bba793c6e9b90728bfa4b75e30abfcc5b829b68f070d59cbd0b51474336354a0190a728e80bf71b90b73ad734e06028799b299f646556f5d3fe1c59266a82f06457657129d4471c4db079d4f9dda97813e8888b19dbf8a34d358836bd40162f166f37e43edad8e77d0e94304a305104010d819a09032cfb63db43a631b173d57c68ece2b88ac255fca3e9b8b4202181ff17b6135f154c9bec5b5e45f1d4a501a006d8fa94c8fc59d5d8f4d862dc279a4d680f18ee960169f11eac4ca6cbb4d37a0ee5f064b53932004ca737fe2c4a8bbfc67208060969da1accb956c7f9405e591359b9a4bf502a4d2ff30b200c4f76b3e0e1858c75ef91b7db366a7ddea2d036553d7d427645b0032346a6ef9c585a40efcac179974c344297bf8c2d94f644f093225117db4f73fcc5aa5158b7c0bb2da060e101663db7c6981d519df749d3f7de3302858c6fc01d8ed97ca8a6c9b217a3550ab6658763ddad3dae3c6fd32ccb7027a6ca77f2f6fe96e189f91ff01a44fea5b3ed3ab00ca9b87389d5716a5f87df1db11d238a62c1d52a915f39469b7acc5bbff656b149fb9ee85f92486b2f43e91994ef4652590ba3f01713ff3144eeebbc3572e3e5d8d5b54dbf3d9d69f6e1f32a163e9e255138d8e3fb3d5e79b9c88124ae11f973347b7f1be286d13d636a825ae3868eb9668c500ae9c8bacade1d74270c0d2376619a3843d4cbd4067bc9820ba95627601b4ef78edbd92c40e368e077a6226d4a1251e5ec619910c7d81f981baaea4b7a68a49e6343e4a31e94b7b7c9b1f3d6669dfafdb0e533ece70184b7b9addf0ae7093426d20181e731e652ec5c2f16e841b9c74e1826255d446315a13c86902e44bf3b4b1986e6741efbd494508cce52af8b0c03334cd1a16c9713ed2980265b1878478b1b39ae98cdc408395bdfcd87c012f64436a24778c1721d091e18c403623111987921108afeabcb139cea9920e211c07b47f598c8064167a47a2b2da4b50d2c334584b5940404324c2d60b7bec5bec3a324ff9c5f3f77f47fbbed1e8c92523a65c6e44470ca5e2910dde43b4a90310cdd1f47160f576fd404fc95f4b8ff9b1d4b6bce1218481c58c3d3d8d0fb7eb49284c1228b57fbbd4df16d2773aa98d2c8b40f41a5684995bff05eceb4ac8f3c0be440cb2b7f4c6277e215734023200132da7838067d0f59370ffc566335a6ead671cd603fea437373a50a6be087415f1db30bf12582c18372c1b8879a5dc2099ece89a943ea02f9f12edf9538e01586d19ab51c4d37ea7a7f05bdd7310ac836efe88f9ee4f47978a84e78394e4d2851342d79896c2fb261d61e93e661cb315a43305534bd1fdce676a6dfbea7c4e6e2bca44f72beaa5d8aa4170cabed4a932dc8a392993ae94b4266bf73fd3a5ef4a2fe9e3b38d322a923b5f042691b4c45ef21e128a08f73e20a61e174cb9104443970c745fa703f239026cf0b78aad89550f07c4ac927ae9fefa1e7e65aac50d17bb9a06c50f4d130ff61fc6e312c3d214c12a29ed148d3a7ae620e0607c7e66be41063e8a3a470107df991eb577637ac9adcf854384b5b6ff819f1c36dbc316cf16636814b19eed7fe4cadd4da826fa0bb0f33f0dc42eb811a80904a94b44898afbec751cf4c0f32541906070db6541b1307ba1af44aae0689817d420bb2dc01b20ec6dac78a66f88988d488f36b5e5caceebc63c7e64e1883992fc56473034acd284e51c841c1f45bfdc7699d8c16c4e9a2d93fd93e8df22011fdbac146f8ce540f3c31dbe846a4c9b24b429582bc16c11d74d3513127e8e127ff50feff666acd4424641efd31232479611c5cd9d2afb6fc7335cb1c218c03eb94c87d0e6659c1283b50d03aa160141569e27101fe1640a54923d82941e6041e0ca68017cc6a402d9351fe7b7025fec3ffd5dd49c8e7995c94239141674756109cb6eae68bed5eabc3cc31378049386f0b114526128694bf3e062df21f6f1941a81bcb428c080c581a90a3b6f7c9954c5912a130bb84ebbb1c160c077c60f08d5162633c67df5848d4d7211b32517381814bfadfff6bd6e727ad3d575b3f2dfb524aeb912c644bd42f9b28698020fbf7faa20d381cded0abda57851e33a448b97f5f8d0b9c8cca9bd1e77830d08ffa31feba0abdb2acf6a50d0b20f6401eee44c77628a8f7567d09dd72104d17f55fc4038d974a4f1554d21d4139bd5047a577f7ac9dddd76348e325f527df0a3110b34151b32497f5bc95187f08935d83a05a2b6d13c0f908fc5d0ec1d8e1d2d33b1794af6c7a5f76832549a73d6672449393ac42d5cf3fdf2745ae54ef9a9eb2390ddf20cce6d4bfc936748fcbb50ff892d46135d95567656a68ddce6415ede28e4e217a4043943626e0c0d671116d828dc81075c53de51e00121b09dddd91369aec9bb876cba4626be66d75cdc395a41d05b8037e52289e5e722295e1558363dc5db991e851310145823db11028ccc866a212b7845be6abca633d02a44132597cde4d941b1ee1f33ae380089c0214d6ba688f344e31830132c0f0daafe3df5a288ad5fe5b46e49afa17d6379bfe430b3e83783cefe8c81ee5d467b2a7dd89c0afb4ca7c34b3dba15d4507970c4869de70ac5192bd1277bf1eada213b19d1768d36aaed25c0ec05bb8ea905c4703c638410d971e37640c3ab3f01f05a030d83ddadd443535b75a670207c1dcf54a97004e97451d92a450b6943d8d70d46020f817aff2c3e983f7bb49ac659871ced200175fbf23796a1f40493b53d2cfa69758164d6bc61a6c982468534c122ccc3abec412407c3f561ec621302ba90437304c635939c2a99eab1bbb0836cd8cd49b10113fe19cd657e243849800b719971f06197fe9a0a7bb33f7daf0aba8aead4c8dd848d91b53bb5adadca9f148dc6154f71a73749b8bb3d5dc0bd9e94b37d5b28a1d21d0917590fd988e597cd2b21af1ba249f0e403a8fcf244d2560eb8afbbdf68878b65d98507836535955c35bf5adb3f11b6924e65d42053a1f0c36721785ab2b0f61c31fe5ddbaf227592d7741af49b97ba1799d87e8ab08a8146acc8bd6bfb37398bc1ecc156a730cf16e05bbf3d15747e2e1f01a3a40bd33ec921989abdf7e684b7b2a2ba2c5af11367fec40484eb94c4d9924fe6bf424f90f53cabd1021762f14486bca5f222abd101f3c0c3f843b42a94756e4df3b9043d3c67fd765568981be7cb6c06e3b5c61d283ff39ed55e0aa81867600d5e83ac9d400d2f4142db38fa416405762fb2672a6f37f7b071f101ec098a87117dc146b5bd75caeb3d8a1958abd58d0fd0dfe11234e1b049d3628342bb5467f81b3eafdeaf568b7cd2206536b0a5aaae27d0bfa8c2c3c5851bf40e4e15e34229ae2cf3cf76425cb50ba1a8e4cee5ccaa2fd8d92d7bc966a80581f7f4591c305f0267ce2bfa68d90308fc78fbab9b10ae05ea38838a2b2a9bf5c2b33232fddf88a256703439de42df4bb65c2c29ae2c850e8b12c76308781ef4bba9db37d4c04c4af807f682302f06ccde874d7563fd6d41054e6e1a6a79339decc2da9a803d06d3a3f683eb1b192f4e9744402e82e85d23f9dcc6c40a1fefb950507834f31e9b01583ee1310d9ff0d1168d6b6c37a2fed69ffb67d0b7faf75bc893b3552bbb7189818ad5663d6be073be04f2bc87e60dd7ad4dea21287416c943033c401f2426903705c9537c2a634e84acf8562ad56af475c7ebfd1eabe968c17219ce02361d157513994589f569ab69a4c18f17aa9f53b404e467acadb7430825892100cd3a397c1d9221bb74e6a1c046bd5198ce278affe3d837fec1a0ec21cfcd9f2c2c239b8f3e18fc20dff4709783f71b05c590973670b7e1105b176a25f922ee2be9a673447d8001c93b48d58b8a143c208e3b543733c4f785bb9b36d2acc6e2dade2d33b28c9a5031056b8294cec6a6e4f6e798cbd3c9ee1f6605264a85510ad94c3867329eb50abee97a7d50ae68b66061d49d6fec7326622325e816120430f3155f2f2fb70616e3dff4631195451b0d6769f815892b85cda71ebd8937bd2b9f6ddc783e9d7ddf94c862da586934babaa77d6568e327b9f0ab84cdc4b674791b7bd760d4c932dcdd64b784b6f6a2a8f21d2ed842ce019a19deb4637eea11bd98b95ded87043107b884f56b8e1c697f3baa02715dad83f5929be0bca0d4d1f56b2005c5b0d82b60bb9ffc67c4f358dde2e40d044a24ae3e6da4ff7acd06c8eafa52fa7441a71a27c5e641743ae088ae797d8357b9f927be7789bede39206830b8a4489141988143f8eb063fa38aa54dd6c1a569f5fda994551f14887bb5dbe0ef3c1783b110c2abbf291fbf74c727c215e44615b054ed131e0b3046fbe2f29deb3b8e917201b74c5944a078367966a1722e339358e4e4f56164aca52659ff8a6f57ac14207afa6bf526def01093e99c5f6c019a8a3308a2a27e9215ba3312547db7e6baf656c28302cced15b05611869e95a83775a477dfa7d272792b03d76b2cd64981b73dbcbc1d5070a2722f27845c85269e80f8a8297cc02a3d167df3e798bbf0267bd8477e3bcf5132b07ddb519a77504a639430dcd39292ba40aca1a0e743712f01a999f47f3fe7c52b9c38f4c6728d266a2340e7f8daa9fb946ac9ea918e842a3751af1a61dcc32021775403b5c8405e9a102c30574534e6ca16a590c49b443f96c8e32d63f13532e68d0f215c1dc9e7b04a2f41fa9c639efde8942258ff0cfed059cff47cb0fb58e739b07958ca9760294cfc52385f9fc33d4a69c1ae7a72c3512a1d6f95fcc1bc57e232d1bbd8b43d2b39ff8f6f642b6b08f73a882e4df032eabb23659549e5dfd7f525a17255b9038a2032bfd00d16adb1ee28d4d6cb4be14aa07261d3eaff613677f6f239a33dc97ea0cf826877e7cc557bfd6ce674aca7f7080d1df01af8eab9320bfabfb773bc0ee56b8b0478068f4e5a18e3f045ae9c43147e6eaf601cc2bc92f33b13ee545808620f985ae5b7e61b3a0786d2e2db57e2cbd2abc471de6b1b81ab93f7ad800891b52df2844500137dacc7d2d73d648ccdb5ec8fbf4eecb032206978bde96ed1cd483882e450550262b275c6b774791ddfd41a270681835bdbf8e6044cb46a4a906b5349f79cc64b3d14d81596a71cbecb63258d26e8283bb0b067978d4d0c68e60b2ccd4b7603ad16c10023923efb128c1f0a71a3d755bfc9beb1e96d983b5fe3c2d9f1613ce4d8876d834dd39479a6cc13001a8c5b3183cbce0537fa731507c90d268720a4f8ced46e388867e36c561d4ddf9feda58e982f8e6e983670de7ffe88670abe13b0b460b6dc458b03b9daa11f1ef12090ced707efef909387622c09e19d2258ed65c57db97c30fb93cddbd885f5d9e5dab542f2687274ffab000fde58f598cef350277a5aefec1a1bdbc3ddd38f11480cdeff666bf943ace1a436ed58018f530b76d1cfeaff9cfcec5d7279cdc4b5b7d057cb69c9b8a60d79720b6cf8f57e910db7c8a0b7e9900b514144d9cd4c109b9daeebfece45d454e76d06c3a855a040f10966a4d24ecdf465425e7e3560d11db42a985dbe443ead98f55ee1967f3d3a2f902601e88d3843cb2b5514ff3e19c3664b17fcb461476d2b198bff1c784cf32679c7fcd2aeaac9ff8fc131671b3dfde3d969d3b3fd960f0ab66021bdc224fa28fa487cf7530cea99e0d58b014533bddc12df0df8a92c01a75cd5d561b25c121fe89b8a94183d9523645feedec2b8a50efbc0d7eba472d183c445b69ee575b0c3032936b8aad956543f4e9ad3778130b760ef93c6e4979bb9a9280875d47c0d6e31c4682affc4b7fcab82ae034e3b9cd3c40483a1521d46ed0657ede8e4743624405269e2b4927a46ea43017a23eacd247a8aa40ca0100411f70288ae71371d8bcefe21e1508671d03fd6b6d880beafc2481561bcbe13cd056dd19627188c0381fdfaf264cae4bc92efa29b1912dd1101d7283d2f4961dfd0573911e7c4e23032a596452dc78c6ced76aa47b1f3c621872c97e1635e4e6c2f81b50f95e865ed5e121fd40bb82587403cb154beae79be86cc16567c7678d356ceeee9b1c2551dcb041cdbab9ce733c8816bdb179da66f709ccbaac760bdf9eaa7795a62108d94a569ffe7d5d4555e30ab8e3fa91c60e248ef8726fd57b969bc0cd8938bf59200f6710c07a687d79d43820c9938e3a95be2c11a4a0b3ecb739d9e5707b1f230cd3c8db49bf0ada704a32854033acfbfe8dd2bc4d73605ba81fa8bb3635aed39d2cbb8f6365af4d4677e9170574342ea3dd1034d0c96ce0fd30c7faf44493b8e1505d33ce9c257630747327409b20a8e1c2cf3483ce6f26f034f473ae4f8d6fcad58933dd02e3d714d7b415f64482de210117912fc53b631ad80764c5482372a324e8776d27882a9a8e828f92b4c8bbe6e20ef2cdd22479c3db59c0d49937329cf368a02e87c068f246ca11811ec5479d49cc252056f5a252b5214b6c1f1d6c634e7e6c4aac55f271d62045b675b991f6777ab13ffaac4b24bc85ef01bb6151a969fd5ed5099add473e5ca443e4c7e4b2296d0a420abdf9fdfc3a706fb50aee23d9d8264f0bab53c8a169b37a3f81c2dbf0eb107ca920d54edb69404a558dc0be936fc0a06b4b7fa074fe88d34c514b577386e8350ca9aad71382949c14902c619a98406a03b7e5b647fc024538e9a77b52ea9a7bf8af526a8345c2c3d801ea0e4b2186b55815c3db02db15f25cc70a3a8c885240908db3c0924390d13283f495f4b3f28873680e6e2f44b9e43f48979da994c8193863bc1148deab7ada5e8342dad74b0aa74e3bc839f5d29d0b9ad2cd0593aa488fc45e5dbea0f76d77c67f04fe989d5d01dcc16e82ea77bd9f48d877291a13af3263a4769a60285bf999d4c912f916aae5f1723ba664a671063e04b3129284a9cbcdc9f5ccdddabc0937eb6ee1cb6c6351d9751444e95b7eb7a9e57be1c27c051e9d41f3b6a4c2c082b728ae4797dc4c891d53306af3e4c8bcb1e242b0a3371c664d5b2a1a5a699266a0aa909f79e981b06321d6216db065d9f1e1131c0f43ec94ed4485359c0eac0c6f45ff86b5ccaf6d4a1cf2d2261a3ecd6d59f728fd2dc2c111c533af28caa72c5134c6c583a805e92cf0b8ad0801a496f33e8ab40a9694a0813402197b4ff542488c5a0f93e7ea524aeac80373b7fe24fa70b051852a540c0140526fd2ffe6989911a521d604512f242297cf103fa93f0bf625ac9412493bf9f6214b62712d8f869cce99e35ae81251b319f1703885438423e209c1850cadafd7223d8b4aa190db442085099000df2cd6a762eb304b7954c9ac2555127f808ab9b4856eafddc9873462ac87e7a7a9c3345ba6caf74195b697c064c01f151be6eaa1ca80a9f62babef33e03afe199416b26316754904d2027c8a0e3d33ecd9b112f83fc8f3430c4816a103076d7966c652ac5452d1a04910546bc30bf48e7f1d5f30026be2aaae5d6f0105fa880aefb50cbb6da391a38971ad881ce7528f2e98bbbb49e992cff3defef9a1d3d4999bf28c314400f4b0e698d8485ddeb1529bc87381c1df0efd4fb877c87bcb2b7875913dc82e9c8f3157732aa7302b67cdcac0ef786d0fbea3c6d3bfa16793fcc933aa43315ea882f7b0364390c40610f132f3583159f79863f41407df463264fb3f67c56487792d25164ad28d08cd5512a7619557848e7a3841e5ae5cdb51f19e13eb0566be78c49946253812cfda10c8b21e97e1cfc5ecf4126c6d9e3706e24dba67fe78a6b6b8140245641d1554c968b277dce494627c567e55e07c18579bd80d10b1888db60f5c18ab3f352411707d6795380f46b46a6d7a9de133199447226d25ffe61ade9263b3299a213fa4b27f3fdf1c21199199cca197699edf6a1ab0dbc30850f3355245b16f93fe38b4a7b45e8773a285c7f8888659414a53a8dac316aafe8fb18725996ab744a571f3992d35474e4511e7bbbbe19717cabd79a920cc3aaa7ff907ea725f4baf3e1faa90e6b4d07da816a4744258a2993f9a127f9f1291a21f518363dc2d6a0828805831093f347640e3b6de3a78b41774f72220a24f1d65d120a75f27f571c86f117c675b4bc26cd5cb2bd8c79ed1d203656f015d498334edc16b9046d569333438c7339f59d03779adf33895ee5fddd88266b82a1d263fe6506295848a4ea90cd998fe4ce8277029c90ecf77eaf595821bd70dcbf4c631ee3b0f4d832a259bc48cbeef343cbbf96b5024ee5e27db38808ae522453066003137c524ea8be1877290c466d615b9139f661548c50f391902dd30728b437af0e8223b33a5de3d28dc4a7e6b888c1a75ffaa2f2347b18c547e5f4b51b3a37be2bc4aa7e75654f59299edce80effa2268a5082c9b578e712f4d04041f5ed49ce0731d5778ca79a31c11d9c6165bf24442d87dcf43360076ca286878ccee81d169ed4ae06f97cad592d1296c07a33469ef0721c68bd92dcf5436e4789754a1ed8b4e45c2d811c8047a8b946e6a2e750b25e81c9705733379ff16f19861ac26712fd0360dc5ae170fd6f49cf6c9d059a1f7c5da27d72fd8802d15515684c63b14f242eef27aa252644c3b99a5fba0fd10fb7c714a0ecca0270a364542bcc46428aa5d31220873564a17d4c9bc5558250efd6de7e016eed0c7332c5b214b69f50240b382cb1777a5b06d98ae29cf61079ce8a93456d590d5b46a34fbb8b227244a6dfcd79674fd51a0829365b25eaf696b31c2b2a291f22f48a9e80683df0ffbfa2d2f080edf24675f9024bab4e3792a486a23e3800e88e0d37ad9fa1c717760d61af90aa77a183e205d17d8ba1c5609f886a4cbb112ea995a3c46c48d1f113a858ddf42c9c5304a3adab60153213dd438d1b29f3b8baf271ca4534cc0b50f8299af5e1c9b68041e730a40cfa094941940c31977f5dc3bcc0e9cc1a21ad6b45dbb5b7dfc8a47222f5e32cb5eee132c28b52aa632925bd47775e2212289db2d64e07da3c80509657e3858c4fb7af14ba9860bfb09832172c4a66123f355dbc9d3ca50806d87eabf1f42e7f6c3f3aaf8389d99da0744f66b4a8d462807e4370a954e5d89923fe01c03c49286bf09bffc2245b98a2084d5f68b4ff1ab294abda1ede0d4c1cb69ab3d45eab01a36e010a11e44187500dfdedf0eee9c5e189727012a6e4741c8ecc5dc81cd9c54a13eb73b7a874990a189a7b92f2aba8e6b4c0595cdd58c14ade09d2e2e235536bdcc17084ffae8dc8af8a26ccab533e8d111afe8de56d48da177f4265332dfeb421ac9b9fc6e2ca322ebd2d9742bb99e1ffcc4f444d05f667be8a2e9adb1c8c02ea96c3e1614f2672974b7dfff4813c18c2f14b911acbe7441d45c3d077e8f9f4e95271c15a94ca18f3edf3fff65d5b01a3e519d61a113f5613ad0b891c3a4914a0aac0b595beb7b0d1be39a920c9ae27ea48f1a400f69462b10801dd131a1734d62644f666df968b3294bccdee32fd1d96fe7a0e59642b7a28b28e7e5d6ca17b3e5f36be974e76725e0e9bff0d08003abebcb3e0ffd88977888d28da11450bc85e132219e053b9f7d598be63ef7432af72294738de1f0b7d7897025a03e765f21ffbf648e253cc0fd24030dbf58932e781980416e93f279a41c7ce909275a063e60a7d1c59ba08d0bf623c36a3acaf71190d0f73c2160a9495dc023d51b5aca3252294ece9504de2bac524f209bce0a095d209575bd681a8523bfc1bb9fd97de6b38b28dde467eae7d17696b42db688a3663ab8e9eb9658a928bc12bb9ca6cd95a40365ad5b82d24aeb0a27e8f1ed4387cce8b7f423730479ea671cdc78b5dbcdaf158b2ff8595f2895809985d4dcd2954135e3bdb140ad62e21895c4b6d6fdaceba3c5b38680b1841911aa80ae5902b7c383f0fd340c91a393ff167d476547c69b39c26bf6188a9f457cdfbc3d23463aa92b49915a99557779d4525be52f90230872899c7e3436dba0988d454eadbd150eade555c790bd7d0b6f49612ba3408e9774de8fe52312a05f0e992add4ee7ab0a40fa15bfef73aa37c46dfb0d4b4fb5fd69b56c43a79f624cfc7fdd6bdc77daabdf89444a1b6e482efb5b56021447e1e01e4b70157999c03b7d38ee56aa550af81f1e70169c0becf12bcdaca023ab2ba213d0b939dabb9192f2aba07a13ed69aa519ab0a67bfdb5bd6fbabef911c437b7136528b1542a2e38363cdc3d6a68f98804b6da3321891494f752be8cece990e50fb60a2fa3e0e554bb0516828321b7c978e6b5daf67d10b5864f2c30e4cf4f21834c54ad7e108fe41bf995ef795491d8347d631907135dc42eb0cc8bcec5f78a3e4f3e4c362f33623072a38e666df6196adf381a22daefd65fadebbe64a0bff9f99626d94b01d57c55864276b6b3f364801742bd0e748c89ceae207aa754dd5ab5110ed335dd99f9d7bc239f2609f14c86207bc20ac4017e6bb0319784981eb2635627ab562bf5ad464f540a7bda6a828c174211717cd774afe9bc11afa292998822ead5a176e78639e6974278b99011757a188cc064d9c1edea6054fbc06e018195b4050e0a66e4be74f2538c44c56f70111b4ce539195b6e8d7f7dec01e5b928b065966c6a9dcdc05eb8eae53af6444570f340f0ecfce260e81e55940173242a78d33e974487f4df41e1c94486be484f2d0830438b8e5ac697c6cd89fb278f0de1b85bb1e90f4b5778d7fa4d027aef382b557c220ea767b12796a96fb986ce7257c4ba72e854959a23fd7cdfb6b30dc5626a32ea7a68b40597cebfdc1a8de7c52b19921859b9b30aba19693eedfbe59488a996ddf527ecba789c3b311a66f74d5c222b37ff9e0d8a3e0c5a9a6c3db9df92d9c05f2800de0e0a4bd23bf95edb19b0aaea33baf437da9bda7c78b540164d84eb2eb12d52c1e776ec16e281b1dd078a49ac5f3f5f03bb58bff59ed58c949d049a6f1836c8b0abb18fa26a23acf079c6d82e4a7dc6dae8886a90acd18b57035a46fbf4e6bb56c4a5494926eb649cfe203e61973eb430cc0ff3e2bcf0453359d469a64653a0676375934a257fe7bcaf7e4cf50f95e998e3340b0c6c1cbbcad6709d6d195a9e2b0c48b01d607cde217bfc6829dfd4691768e01c1bd9f4cb9fccc14b59ad0ed69565609664052ca39b884d7b75406f6ac827ec11117a0a91d8b26ff545e668c6d9b2e6717097e60d5a86483051dfbf9d15f797d3a81b8b7ab0cde9f3a8a7344ad24c00576e97f1edeb677f313823df31fe5df81129900e1923b0ea978af1055b8a51714b0e8f90e1f31343f121c577855323d45d24f71f52997329e6d2da7561736195e3bbc9454f0f7260407cadf07a58cb3ff5d1704c8f91e62adee5d7c0ce1ad757d601299c9af8b596ae627d0155c771ec0a2cb65ccedef774b39744814758623d649c32ee1ddbdd490c1637cca44bd0cfc51518ac248a41dccbda5096b22c6e9aabf4f92c21d5be078f85db09ffd0094e94ca8be0fc1f0ec65c22ff6a95f77f1a3a028b95bea0b72bfcaddebac0970d5fce437e6bd3bd5f380233a464b5fe1497772047eb8bcc39aa064ee3770f4b0586a9574f0a1dfad5b8d9196dc7a74132f37b7156d09c64d0b48bf07ea0f7aa88f0f13adfb075c63a9bb118aef4f1e737c29c2eadd998bbe14b191ddb72b373b77b2a34352e48f98e70a30c0272e69b4ddcafb49d6b38c026be546637bea29ed5b4e2634636db8afa1ad0b1b6216d1d0b751d2ce78345f50434af55d754091e778a71f55e634d6c452ae899a69de71ef80998d2c86c0fdf932eeb3305dcb409aae6815fdc5386078768759af1132e0172539e8d38a5aa7658540a2ed6092df8b46706c9188bd9baae271ec7df01d96345ea96dd1c83604d2a0b2ba132214df117ce69e4641f18a86f5114073b38d4fadcd2a0514640c5cc7813a1fb4b7c539fcbcab229d88c6620236d6d118a8662dd2e7a43c2c0ed877c9f7e9d39938cb7a80905cab4ca5b607dd2869a1dec4566d58114b2fd12a842542297edf4cc8f33804e98fffb1f1a2b4930e83ee8b92b890b093a18626f8bb8ca24d9d9b134f4a6ee5efe638d3a013bd38eda882c75afdba6161fe4342d3cacd4d8420de50e8342dff541d5980e44e4250a4d2848ea61a4c7a3ac94a84b08ea32778d08e0f13efba1deb79d47e9e07ca5309324ef237827fa3bf424233ee4a4aade7d00ee05801ca4bb20ccadac2e22301ab1321bf155d3346e0f69a37d762cb06860489fca55f66bc93a3b9e0b10847a0f6339f93a731d544c69d8b9636dcac50851ce34840126f97450131b11be011d6627826ee7498a933dd39198f56e259237780c593e1b4bf5b93b608cf9373b8c584c2a969fd45522b80329639d66dac579d05ab2d9ce8cb4872431c69ad5c6fe4bcf066527da7f255bd304244ab58cfe01f670592eca3c4d84dd4991163da4014d5182be6969ffba16500c9c90672f98f6ae7ceb5be26b8aa7d67a89330719b4d6e545086eed58c5c52ac5d8228b87fcc31deb2d1e752f4e3f7bcd71e3be769b035bd8e970f9ebdf726145126330691bcd3920fba548e8681ea8d90a735cf91d700333a65edcaca13daf309363ac893aa32886e8c3b2de8c92b0714d6b0c09116fb0aeebdfd25fb6f67f28570a1a8157c3cc2c94c9a07ca74b5c534862f4942eb5655e0311a8c07ce1c804200e9357c0ee13385a2853ae875b9726269cf8d117cbe0d45d1b1fa6a1c31a8fbc9bab2e6348222b1326c694d0e86345aae65c781d6d76fedb1f8eee8aafd65e6e7e4444c7b83e8bb54e0a79457f82ce5f1fd138c0a8e0ca6abd41e5cf26bf9cae05d6d9cb0d157bb97a7ddf4b192f732ea2767a2f5bb7a3a8e43002232e726c89c779fc8cb683bbf565384124a6f9707218c81bf8d46a9bc3d52e159effaaf29f0ef5dffcba5c313db13d8261fd095a46c8ac83dec280de6646408281ee5d234140a6512878b5e428422a785980ef0d16ae686a9f9468ec6457c6813898ea1f782ba4cf917946cd912dd7025c8fc2b65af1506122d153cceb1c690324598d1b0538cfe6a1d9b09772eb459d1125361ad6b5498230eee317bf022220b55ca1e2c15f332440295f9406944f17481a3ecb3cc79031f38ee9be27763e566a8dd4793c91e8e8f5ea9d65ca7a8c2948c4dc93c24096fdbe4b2160662e6846c421f498f39c951273edf5ff5eab5faca9c02f23bce0e8411675182c94417fb46aacdd804b3c230d9b7bee46500e54edfa06c48820f6eb8d05ff95aaefbad7ee3d64a8160320143469719a9fec6695f8f4f1b710dd640d7d655f5d0aaae1994e9ed004c13dcf02e4f1b8bc856ec7f5222abcdd149bac8cb6db43dc7a09614c768ae684bc829ef3a3e3a96120ab19422c76b8db08d567dd4b2001e1c14a20a7e770946d24bf5c60cd2b20b0a5668014f675ddf36f23eb8023dd53d806c15c6dcb7d9a512bcf5ea088be9fa9c3e0c485c5e25cecef9058e90684dd4efa3fb6d3b0c5e5b1a68efca5acb1bde8f208775c9cb0bd628276bd72890962710b1dd1dfe87d8d89555114f99ed2c05b17343d590100a3d5a941fd7904bf1a91d4fa1561e5ea4330ba8dd30e01a225b1a8b1479af73eb6925888a8def2071a88175c1d947c33e8f860598baf66a8a58a52f0aa9650ce5c7b90f417508da7fcccef8990fe5d620a0134e64fa15f90e290fa31793af71dec575ec4884cd186f5c320511088fb0434c626ec3ed2f2409a7a3b0febb5e66d4df561d0494144fc971cf194bde1711e586055772030436ac93e9471a944e8304a1260fcaa08578a794e2e833332b1843872de7b83fb0fc46f7fa4bd3409300a6f77a177ebba8ddcb0497d7dcd02b1d8f05e96d621c48da098b7bb7307789f7eb31787581a156b6223b5b53aedf42a4d4278bc7b7114e1b9b0f5824a1af88110679d3a04908fdde63d4c26c10e1ee6fce304802da577a10b570f0ba0d2470d6d6f5aff0701ab8f68e81e379d6acee80c0ceddfa5b43460e75323bf6e7aef707037a4339a37d28147e6694bbe2fbed717511ed3d3a5600a271fdcb4e0a0cb06497ae88c9d20bd21d79b1d5008d63184390e74eba11e8d36bed2f681d4961cbc1cf5babc7e8d65107fe244c17743f15f34ef32129cd49ab97b8cbfc31a16c5c2ff4d507fd3bfc712f7658c96b51459419e869d9c096b8b5c963653c3818cf197fea6990d97711cf664d314751a7fd84ffea43f288c85342f54facdf2d7f72e0797aef44a1d6e59e1fb93a5ca29108a1e4186e55e4fe17ed8a5ba4fea95850c23b58d39bc903de8433a2879f9981173e427cb7e2ac519200b735353e25c6701dae8deaa3fc1dd729ab860efd8e3e17e71028e1ce5f5c4f8966499b693c2d5df684866d0051ca638b4c71e4ee786dfa2ab19f891852e93fafd86f0fa6a96f0b6bf30e0494dda0b16bb55736b8d37d130aeb201593fb4bf2fe04e0f5764f3db27b414cb810a7926792641789713025d387462152c43b6aeb77d87b53ef4aad5cc46e3d9a30d091ad4cef820635eba76f00e9aef1b76789ae89a19a0d75a491ee806d5024bd30287ae2f1f6fc5bd05427b2084aa2f6a397ee68ec80092d766a51a8240664a4e5c6859226578746354839f78436898e92a54586740eac1f83695fa5e4394eb8b750749421593f586e3ab2924774141826fc276162fd9ef2bb358ffa96f32b836b4f034693fcccfe3d8393d9791823635916fffc0e4c4bd92ea69be698e68f5b00f8a432c908a96c8d8b5571130759433d99942a564125e928b1d279a105e2bba7dc4168457f264ac126336f1755aaaa9a0c4ceff4a000a05d5341ed836ccf17ebe9fa0ccf847188368edaf1f895b2d705b8c8981b0529fa81d334cb85852e8c9ea8bb68d05e47a9abb234f2d8a352dc15ee2548cc1a76314ed2ad6ae75ed14cd7fa38dda2664e1eb9f585afcace7b9e83017f6d9feaf672b5670cfbb138f6f1b3cc8e9bae758c47642a461313e35bd29429064ce3f3818fa6e6a5f62ee655eb21a22963b1eae5e868f92cbf1b2f83a82356dedaabbf4930a26c69868c9d0fc2f1f4318f29f9031ce9ef682e362ef19bd5bdd1ce75dfbc82906a732814844db83ff72fc1f8f2e0a0eb9f618d3ba8d877ef3f9118a2e56eb40cde9ac58c0a990d0ffc97a864c1030c789449e5908b58570f8cce0463a392ad261b5f4b45b3c8223f5c7877714ff43ee51f79dbff04a5645f301b48a800b0d2e7cd0a59de9701660aae33686eaf739760c92a495f33c9980c1a23f2672b43009b0e3f60bb0f986463e8f65adbc01ab527541f45e12179e75314ae1e1c789145949768cae8cfa34d4e46a2f79f9c57266f8c02a086a8944923fe00e9fada97fb7d417284c18620e334e58e0f1c321d610835e76ce76f99e28542b09edf060afc5ed250aa897157da8521763e1aeca3b7ece452329e712866ee70a0c127c67b7d403dc7e836ee20af8829d8aed62ae864fa9d6256c14201525ca54f5f8a80ac1429315d212d29a2ee9bde671faa61b8eb95afc6ec7646ccd5cc976c6da674f6905fc6026b85c489309376b8bb954cfda689e3beaa8effcaeaf31b9dfb34178174113b835fdcece2f1030afd74a903a8a6f087600417ba7e95a5b2686ed8d4212aca28fadb5fb92872baf130f2783e9917edb51419cb6d85d017f6734ed80012473d1026c99f2b9e13c1202020847066214e9f822c0b7e5bfedece4790db8f257e0c8ccb7e39ba700f3c9c9102f6b3a5aa539841d7e7165fdae931e69be2bee465d5febda7f94e23ad85a113f55fa914d0e937a24d688dae339e39d51d05b4b8d37db212f42eac7ea635e7512316dd02b2872faa61f435ad09e2499dbc245aa4d7709b22659dff29e141a397840ea94432e438a343ecdd87cc49859486c594000db160814bf2e6d59498ee5ed171c31e25c74c34bd35aeebd94ae6d52015acab791525426c768bb24752d8290eb8f326e221b469569dafb02e5cf84cba8aa29a1fbc5db9b6ca21672d0a8a178f0c75e343de03272a13e1fd726c8b7979200dc64fac6057ce97ebd475ac8c71103f91dd38e93abad5a48b55d7e94f3bd466ff58eb306774453ab516c9d7f8e904f1e9a3ed7cffacb718f102c71da0f46945e299f0ab7421bdbf9236ab78884e9bffd1a7ded2e0a30f6d9c6f7eb94d0c74923262f154184279036fba9d8024899b9ff7c0a34d4ce471e568b76c729d07e1b959b325d4178d2a896dbf15b2a7e36f0cad3aa6fc06c43e672d03a1643074f5a2cfaa10237f6b5f41170817f5d67edf306aa5e88b79c03824428cfee4e27fe88890784eeaae056fe5eeb3b49afcb8b623d8498e452516be79ceaef2634cab8226b21f8da00425683c8b29aebdb5b1d28b82961083d86f3adc2edb285138bbcd6683ece6d4624f10b2d7f7f3a1daa8d9ebb5da0c959c666b2e4c6dd25b7ff4502b4d8201a7af264fd90e8a05f30a4179e154a8c0d78a3149f6c9362da77538efc64a7819baacf57bc2749cc13730f3f088d583a7d0be26ecefe3d3e428d466adb6ff1398a242743533c03ebaa07476d7a15d80a53d1103bb71b09879d234fda5b58cb76771dead4898bb1b8f394d8ecda29b1680e59a1fccb5eed067ad5edd6edbeb8fc9bf3002facb56c5b76fc0447f60084c001212366fe7184b43ab5cf32efc75871bfa6652e2da1e38d02e163519ce6456745fb496069e4e00f07a340990bfb3f65b5301cc1558a1e6d9552b822c35d32767094f576b24780b150aa1c4e8277bd07e075218fbc753f244de086839bc90afeb43f1d2b42f6d4b5c3500879f94ff7152917ef6a051288f89f04c24f6577207ea0d206b2146526c2b8e396efe6d28dd8d2cf871df4600f2822a8958635cb3502dd4bac156ddbe3779b8f92af107ad805898daa7d9c3216bc4bc391cafe4e0cc51cf68e427bdff8c229650c6bcf62cad826f772cc141380582d3b8b88360adce3c5dbeea0aab9c96420da0242bfc93fb0c426761c5fd6b93341d3987d709694666be153fa49b95436672d6750297ce3842a4f91114ebed8561a4d6b1b6aafb5af5e6a61b71fc6c3424b6f619bf66240a54ac7043f294cd98741d81bb1c8c90fd09ba30312bd15a504cc8d4d3a7490ac84c55efd0cdb7ddfaac433e485dbd62780c8ae4621cef1e468db99fc8270b2b8f792baaeef67fa13860596d3b1550575b4b2c58f20d3b85c6bb124423ba30d707589b96febd99e7625cec136df0f65523d4e9b3dc29ab67b3669bcbb2e05ba30d89d94bd1bcb273323f9758b668cbada23bf1831fe7f95c8c34377295b723896bb7607af1db483ea85c574d475d72585089df80f60ccc6dcd5d0d5a491d8f8bc8334959db5d51316e95a0a1002ef1474b571d4696ffae8bc08268288d147e11c9bc11da7774941dc9a75abca1bdf6f50fcb7d069d16397b311e895388ef73dae825e8b1969c2b4ab3b25cd8e96e7cee2b5af7d54eb2bb817add0744155e1b68f0c3696b052813638a00799b18f13dcdc06e680e305bb155c92a4ed60b9534408bbab843753c618325d4d1122fcadbb24fd7c70b62e0b8c48e79c47281585f499da29f194dbc0110ec4a747ab67414bce59e549937a0021bc792b51fbe5ef71e897ed7e6ecb47315a5940284f3d8cda7028497ac5269e9cb1b291a824f3b9063907ccc5563d5c3f04da35f28ca33fec3702dadebe685082b914aa9938402596b9326393149409becb6354bbeb13928e5579d347a2cc3260b98826a85d1134d17584a9c4e6bd35335199526b872bcc1deec491ed0ada3a59b3a43a7a61bd651f27f3a719139a00bf2191fca4c3c6d1b1faaa95eed8d919665a43c87dbb7a5c08497cc90c4dd038f3810202be97f9a5266de1fa01a929ca8e62094315e4a14da1cc43af71d627a784d725e24e963fa0443e6bcf4ad8843749a4139ebf4ee25419597ab22bd5393727300625a0ed29b78d019930146db51f6b7f06c8f35ebd5b01f400a8a96c97183c865bb7ee2d753308ee56dca6e741f9316b909b7f13d4dc0a0443d0b63556dc472fb0ed6a7ce185678ce669269f26630beb801eb1deacd7274149180cd704d04e2cbe44a98a4e65a74e8dc7bf35a8fcab40e584e28231438c31977d8eedbe9204e174619e0b3c5fd9fa44063e7e269dd59878f57751d399f279bdbf479f15bea4f3d61a36ab152c319bd05fb202088c5bf904e2f256d6f93c045a3815cddab857c38443e92b9c936340bbfb620022910b9313f57b3adeac1ff7b0c3edc50052c8f630cc08ac0acb92a11500ba67fbebb7ac3ec56e1ec03b98c422fd30c965638f57d66fdb5776065daf96c54a345b52ae860e604b5def3e52a05b73fea30d03dad28a412a2ce22ca15116226478cfbe667b06663fccc8796ee52b0fff0daf1a75de7b1739a84249e26fd41f27ce7631b24ecf5c7e5993804bc0cc639c571d8f167a388bd77781b0de408b0d615fdd1bc7a033b0c20ecfa34279cf541caa467bf25386f1f2224723379883167636726ffa17cc2e873d1f21256e0e1fd8c13d58d0c0107db798bb08671977177515e33a4ac64720aaa08b2b231ecd374c87c0f791f3529a98e7ddca8629ccdee76325d494a50cce77fea75da224d2bb1fe3f453b19d39b9483af5f2eff8fc899cc9fcbb087371a85f0a4ed677927b7cca3df74a48c243e4fbcf99ea03590d94c1443ca8ceffe2f0e044a31d07c227790cb42a554eb47ba5446711663650f15c22ef28cd84864b0cce9dd1c6d290e7acf98052e7009e3726a05a055886c9be7ec6709a0c439b8db6bba8a89095063c6c7e03ad707104798f551d3f4c6aec352427f713816cb1df991ef9f12b020b95c77ec2dee066a48988345a93d430a1644e469b03e213a097867a8a172d7def7393de9f77f6d91e5deab2eaebb47c99b164aa41573fb96f08c33454c203fd49cf50d0bb1ec1cccaa648ea458c624391922680cec721a78eddebd964c80677c8788f68f79e4442934e9d49da7ad6c59f6956bec5bafa9f78adeb7fee9e1f406f5844b853e9e296f1d1ddef044e3b91658ba6841c6275109d8180e56cf58dd7801cac313546fc6e3093e60de6f8de268fc00815dfbf9c4d92aa62396125a029367da6a9a89aaba317255894d7a2394a3b2bf8a79f2447c2999975eb59bfe51eb04762f0465414d706063680c2adcc0f8ac8c08c03ca3019402ef927d04ed9e42c0f7990098ef4b2a564b7b80011f3382e15f91e9c79b631caf5538d8507dd534d87c1db27fa881ecb15e29fd3cb78f58da3832b59f11588afd700d8346201f968e9c51ff23b20c575e05da5fc5728cb7c44753f812dccbcdbeb245478f71c357153141eab76d06499cd309712fca7d37b0476031744e228687286979851ba8b4dab20a53c8c56da077cb647b61c384a45adb2ad7bb50a2286e1fbaad42913c703f7f0181cc84ab6ded8b3ecd9ff255a723f7a4d0c79aa446d31f5572d24078dc1263860b59cdeba21f4a2aa06f0f62007c41be87f475d3720bd194c58229185ff810965794d033d15b855b5c02d92e622ffd02f91b62ae0fc4057c89aeaae82f07ac24d19ca4f057544801cb1abefa8d575c4253f7c5da83c70c6369d17cc80ed2053815af21b486f3f465198e664e90c462c4d30296ffbf2a48c645499db9da5342ba0486805f8002e29101b05d2b4335391a53dc202486838ac7d778c74d434ae51ba5375e93a785ecae40a9b9c4aecde45547283968fb7495fa6aa6eb55abbef1a2bc868bf5b3ff15b55a77527508d17dd827efa0081984d6e75444e83ee22f59eacfef49f4e245c8670321e651da9d3c32ac23deb8faccddcf48e955a9171abdd780a925a9e9d3b4fcb78faebbb2275304dd9567fc1acb438c76c2b5e02ef8439201bb77bfa0e7790b5d8abb7a1f9e8464f1c762509316b29db460859879aa742d248458e97f38429292cb9a8451e7d3c859c02b8108015ad67bb6c9d729c85df9dc00c2e01b8f27d18a478a4cd6a9f2bbab749c859c73d182e0538bac21cf7c72c6e454ae34112e41b4d89e8170e193be70b5db4c213dc875b19ad5ec4ed5ff1e5f37ad33cd189b3854e01a43894a6d609588a8399fdc73232d3415aec5beb406678b2c59e16d2594921f12e487f223ac12f2d2e259f0da308a3f46c7bc954801f18272c638d3e178ee8255a6f5d76d21a4bbf64f2e3895b30b2dd2769e1bf623c86a3199285d5b513e94b217b229dca2772c5869bb58525fdbfd42d79f0159cc7032d4b69a9343fb5b2e1cb4fdea89f8dc70687fb3ee1986fcdaba4852a796f02b1fdb2b9b9ca25a19ae62f42903ace0c06bb1a3ad66c7d6f17cb2efa0b42bab866e1e2cdcec330c671c26ddba6e0e52259aac31cf8c094e0e54be8a7a3241a66b77ba1cf5805992acc90b524ab0749cf28bc25a9abecdc4b680c6602ca8185aa7441ebdde66f6cd382006ed8571099dfa74195497f492f482d88243890c32ef75f1bf9b087bad594c31de7d57b2aa5c47af7ad9e40ba5a998a4c6ed7aa5130b10a5e653cff8350487de3d5d1bf6443b939e52f0156abb8227d7b5429f939d9a354de529ac32c1750a2e2f155f6df55a02f8509327ee4e4d8ff9581aa75143ab8b6c14897c0f5a5ac69ff24967b4a2ea9a8a9aa98683ff33c3014c6e7abcb58d4134f3dc82171b12220b64d317ecbdc625170dae767cb9fe7926221af1ead96148c4509a3d5f77e9316a1f7225b772f19fb6d56d0d45c80a649e6cd2cd96b560111621671f3205dc7a36429a4572cd94f3a4f7431c9baae0f4c6f7dfec8a69a39593edeae4be31d6cf25c539a682833d6776b50840c871ecde02598bc5e3e9cd73ef9e673704b32fea6e694543777fdc2085984af79a2c822db91cf3ed5291ed0eea4aa523383761c13f540d9694b6f3b25d77a1f29e73562c07146abef103d13b30705a32136c6a0bb0a0440ef31fda89f741502f488545204ed46ba4157ba704151138a9e909113206c861e5f7073a1fea479db1836c1ad6e0d9ed6c5c07bf1bb3ac2e8d88529187c160c525dd2d0c7b5acc28cebfa1cf1920e4b5cd7d3de41ab2220f04af62152422da0caf756b44ddafbd0e5747f59ffe1f4030f4be72013ad21cca3319fd2539c5f75db3f6b6b77247e714968a7d8c813eacde9b48326acdaefe53993b9514fec66160b0316a644cafc5554da52a5139c56b233bbafd6af380dcb889417de1fb1ec81497a448a0b6113fcf2781814519fd1df29ffc8e50aa8aa2c9fba9c47b442a5671f3c3b3329828610e3741f48ddcd213e9584ecdf2aa299199410f62f23694442cb0e0442e611d10a4495d9bfe8dc306178284db1dcd94331f2c05dbf837b94576d494eaf3639d2bd90c6a3e0765727182918f15b99f30323f01947c3fc94439e935c04e49e068d59ba942063fa168a6743221be8c5e6e78699e1fb09022d742a778c29a0dcf029bb8aaf8fd1fa3da01faadadf8b05e62343fb2bdf67295289fc62a486408fa2bffa540ea8cbc2437b8178884b5a90bbf63aab6f32f8f1b9a2e273a33b4e2a1b07ee03bb07ca24c4416ea0606a1d6dc88c6f51b5cb6ad54dd2160e72e5e0fcf9b8a40d0c0799206414beb1d0b0e754c7fbb8106d0d36785ad6e1ba3c59f293eaf1a92e50fced62f699380a71911f920f250712abe013092fa8f96fc6e33f9aa9df6c0611c5d13f66171ce78dbcc8431a7061b159b24e8b69b54d8bf104dc9d2f4fc6204c33baeb0626788bfa53db28d09d829e4e3b02a0246443cb0d4b7ff9c85df9a31e72976423c6e9db08c080f2d36b83f43ed7864849a1b70f408380b014602310848fd81855df5cc5930335d99999e5e4aaee4644528c5d6365634927531f36472b6165edb048e7b2933b37e96397ecb18621d9d5c68a583efc2805b22f47b4e90e20898504d5ee76406728e24c5cb4c24b43e29dd4a46e2b8c5d3f875bfe7f0aba6d5a78beca02a4574db729e2ba67b52efc2d8d822850e2b6831e3650eaa82900c699e570316f69235e85d21b6f3d0b02317c91a1c4b19909f95a8e4674d1bf07cc2420f0b43d3b256b4962ea790c9652fd5672e4060f09814c4236a20783e018f6e6b25bffd98ac32fd2f9f1a5e600e7a1f49816e7b834f36b1cadc38657a6234a7692efc117d2b9487b62d3df0a98792f872ae6c3337096f29ca7beb9dffeaaa939bbbeb8d2dacfb4d3ffa83f5e7fec453aa468cf0af4a0e7a1116dfda671f1119f1154c6ffff11b7fec16956206870aca812c88a239472b11a865b91629c8a14df37c0f9d0161460ed21c6c0dbded813951c5b8ab729296fd6d8f7c277d998d085b651e9363feb1fad7ad4074aa715b346d9247cf9bee8ddc43f0d7382f5f4afe4dcaf80f865ac5504219134443cce9b2f335c77b938a7e448c36b1581c75fd406de30ee19cae0e763decb0e27826af1bc069225c4325b667332ee74ff90ece731cf3878ff0d361529c3d68e76552290654dc2a239b15c188177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643aa09709445e4b084ec85b76a85fc37a79f28ce5e7495013af30c2d4318259b36partitioner.rbpartitioner.rbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootyast2-storage-ng-4.5.25-150500.3.8.1.src.rpmapplication()application(YaST2/org.opensuse.yast.Disk.desktop)metainfo()metainfo(org.opensuse.yast.Disk.metainfo.xml)yast2-storage-ngyast2-storage-ng(s390-64)@     /bin/bash/bin/shcoreutilsdiffutilsfillupfindutilsgreplibstorage-ng-rubyrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:ruby-dbus)yast2yast2-packageryast2-ruby-bindingsyast2-ycp-ui-bindings4.4.763.0.4-14.6.0-14.0-15.2-14.4.383.3.74.0.64.3.44.14.3e@d[@dr@dq@dFo@d>@d5Kd&@d dcƍc@c@c{h@cs@clcb[cRc1@bb@bw@by@bjb]RbT@bN@bMb@aar@a@a@aaaՈ@a@aa@ap@aaa@aA@aA@aa@aa@a@a@aca@aa@@a@@aa@aya(@aqV@an@ahaUa `Ȗ@` @``O@` @`@`~@`c`Q@`J@`Gc@`7@`7@`/@`%@``@`` @` l`2@_@__@_ܙ_H@_إ@_إ@_ _ _$_@_ǁ__G@___ _@_@__@_@_FN_+_*@__c^^)@^@^@^@^x^@^^>@^l@^@^1^@^@^@^^%@^@^}^|@^{G^x^t@^s^^r @^ku^j$@^h^f/^`^^F^Y^Nt^Nt^M#@^K^K^K^C^:@^9\^4^1s^0"@^*@^)^&^&^!^ P@^^@^@^^r^@]]f@]@]}@]@]]]e@]@]|@]A]ʞ]µ]{@]@]@]@]@]@]@]n]4@]]@]@]?]V]]m]]p]o@]i]fl]^]]2@]N]L]J@]>]0_@],j](v@]%@]$]$]#0@];]]]@\F@\@\ޢ@\P\\@\g\\\\8\8\O\\r@\\\@\@\N\N\e\@\@\\@\\\@\M\@\@\}@\w@\v{\o@\mA@\mA@\mA@\k\k\k\j@\eX@\eX@\eX@\eX@\]o@\\\Z@\X)@\X)@\R@\R@\I\HW@\HW@\@n@\73\@\@\\\l@\&@[1[@[@[@[@[@[%@[[[ٙ@[G[[@[@[u[[;@[R@[][][@[[[:@[:@[:@[:@[h@[@[s[@[[9@[@[}P@[}P@[}P@[{[v[r@[r@[qr[m~@[l,[`O@[`O@[Y[Xf@[U@[O+[O+[L[4[,[(@[#@["X[!@[[[[d@[@[{@[{@[)ZnZnZnZ@Z@Z@Zz@ZZZZZZ@Z?ZK@ZK@ZK@ZZZ@ZZZZZ@ZmZ@ZZZ@Z@Z@Z؄Z3@ZZЛZЛZЛZ̧@Z̧@Z̧@ZUZUZUZZlZlZlZ@Z@Z@ZZZZZ@Z@ZZZ`@Z`@Z`@Z@ZkZkZw@Z%Z@Z@Z@Z1@Z1@Z1@Z sections when cloning a system (bsc#1148477, bsc#1152535). - 4.2.46- AutoYaST: do not fail if the uuid is specified for a new filesystem (bsc#1148477, bsc#1152535). - AutoYaST: partitions and logical volumes to be reused can now be found by uuid (bsc#1148477, bsc#1152535).- Partitioner: fix the type column value for Ext3/4 filesystems with an external journal (bsc#1145841). - Do not crash when importing mount points from a multi-device filesystem. - 4.2.45- At the end of installation, copy the pervasive encryption keys to the zkey repository of the target system (jsc#SLE-7376). - 4.2.44- implemented detection of pervasive encryption (for jsc#SLE-7376) - 4.2.43- Partitioner: allow encrypting swap with protected and secure keys (part of jsc#SLE-7376). - Partitioner: allow importing mount points from encrypted swap with protected and secure keys. - 4.2.42- Partitioner: allows encrypting volumes using pervasive encryption (jsc#SLE-7376). - 4.2.41- Partitioner: allow creating encrypted swap with random password (bsc#1088641). - Partitioner: allow importing mount points from encrypted swap with random password. - Storage: fix an encryption type inconsistency (bsc#1151079). - 4.2.40- add warning if /boot is on a LUKS2 encrypted partition - 4.2.39- Partitioner: better handling of existing encryptions, including the possibility of reusing them (related to jsc#SLE-7376).- added translation for new EncryptionType::PLAIN (bsc#1088641) - 4.2.38- bind-mount /run from inst-sys to target system during install (bsc#1136463) - 4.2.37- Partitioner: display encryption type (related to jsc#SLE-7376). - 4.2.36- Using rb_default_ruby_abi tag in the spec file in order to handle several ruby versions (bsc#1146403). - 4.2.35- log all ng proposal settings - 4.2.34- Initial Guided Proposal: added support to make the proposal using all candidates devices, without trying all possible set of settings for each individual device first (related to jsc#SLE-7238). - 4.2.33- AutoYaST: allow to create a Bcache without a caching device. - AutoYaST: allow to create a Bcache over a LVM Logical Volume. - bsc#1139783 - 4.2.32- fix NilClass issue when calculating proposal on RAID (bsc#1139808) - 4.2.31- Fixed exception when removing devices from btrfs (bsc#1142669) - Sort selected devices in LVM VG and btrfs dialog by name - 4.2.30- Fixed some errors calculating the initial proposal, before the user has executed the Guided Setup (related to jsc#SLE-7238). - 4.2.29- Complain if user attempts to put /boot on a thin LVM or a BCache (bsc#1134130) - 4.2.28- Guided Setup: added support for the new control file option "allocate_volume_mode". When set to "device", this option allows the user to specify a device per each volume (part of jsc#SLE-7238). - 4.2.27- Add execute permissions to test files (bsc#1141006).- For Z Systems, the option to enlarge swap for suspend is always disabled by default, independently of its value in the control file (part of jsc#SLE-6926). - 4.2.26- AutoYaST: Fixed typo in filesystem type that caused a crash (bsc#1136272) - 4.2.25- AutoYaST: do not delete related partitions if they are not specifically requested (related to bsc#1096760). - 4.2.24- Proposal: add control file option to make configurable to resize and delete partitions (part of jsc#SLE-7238). - 4.2.23- Partitioner: fix importing mount points from a multi-device Btrfs filesystem (bsc#1137997). - 4.2.22- adopt new rubocop to be able to use the latest ruby features (bsc#1139270) - 4.2.21- Proposal: initial support for several separate LVM volume groups (part of jsc#SLE-7238). - 4.2.20- AutoYaST: add support for multi-device Btrfs filesystems. - Part of jsc#SLE-3877. - 4.2.19- Add metainfo (fate#319035) - Revamp spec - Replace GenericName with Comment -4.2.18- AutoYaST: do not ask for a reusable filesystem when it's not really needed (bsc#1134330). - 4.2.17- Partitioner: allow to resize devices used by a multi-device Btrfs filesystem (part of jsc#SLE-3877). - 4.2.16- guided proposal frees space from existing multidevice btrfs properly (bsc#1096760); the same for raid using partitions - 4.2.15- Partitioner: button to delete Btrfs filesystems. - Partitioner: prevent edition of block devices that are part of a multi-device Btrfs. - Part of jsc#SLE-3877. - 4.2.14- Partitioner: added option for creating Btrfs filesystems (single- and multidevice). - Partitioner: added option for editing devices used by a Btrfs. - Part of jsc#SLE-3877. - 4.2.13- Partitioner: fix the Btrfs filesystem icon used in "Type" column. - Partitioner: improve the value for the "Type" column when a volume group does not have name. - Partitioner: fix the device name for a multidevice filesystem. - Partitioner: do not show label nor mount point for devices used by a multidevice filesystem. - Part of jsc#SLE-3877. - 4.2.12- Partitioner: fixes in the navigation tree (bsc#1133686). - 4.2.11- Partitioner: unify the "Type" and "FS Type" columns. - Partitioner: show multidevice filesystems in the system section. - Part of jsd#SLE-3877. - 4.2.10- Partitioner: added option for editing Btrfs filesystems. - Part of jsd#SLE-3877. - 4.2.9- Partitioner: BTRFS section was adapted to show both: multidevice and non-multidevice BTRFS filesystems. - Partitioner: added page for each BTRFS filesystem. - Part of jsd#SLE-3877. - 4.2.8- Partitioner: by default, initialize the tree with sections expanded and devices collapsed. - Partitioner: improves the user experience preserving, between every redraw, the tree items as the were: expanded or collapsed. - Lightly related to fate#318196. - 4.2.7- Partitioner: fixed translation issues related to bcache (bsc#1126822). - 4.2.6- AutoYaST: new format for importing/exporting NFS drives. - Related to bsc#1130256. - 4.2.5- Partitioner: when editing a block device, clean-up useless LVM PV metadata from it (bsc#1129663) - 4.2.4- Fix NFS root detection when installing with AutoYaST (needed for bsc#1130256). - 4.2.3- Fix initial proposal to make a clean copy of initial settings before switching to another candidate device (bsc#1130392). - Related to bsc#1102026 and bsc#1090383. - 4.2.2- Add support for installing over NFS with AutoYaST (bsc#1130256). - 4.2.1- Fixed unit tests to also work in ARM architecture (bsc#1130957).- Do not add mount options that are default (bsc#1122867). - Short partition ids. - Move windows system detection to ExistingFilesystem class. - 4.2.0- propose boot loader partitions only on system disk (bsc#1094927)- Improve unit tests: mocking architecture for Bcache is not needed anymore (fix regression tests for bsc#1129787). - 4.1.77- Fix boot disk detection (bsc#1129787). - 4.1.76- Fix bcache and AutoYaST related tests (related to fate#325346). - 4.1.75- Show new icons for the options of the Configure menu button (related to bsc#1122174). - 4.1.74- Unifying name Bcache/bcache to bcache (fate#325346). - 4.1.73- Add support for Bcache to AutoYaST (fate#325346). - Fix reuse of RAID partitions for LVM volume groups and bcache devices. - 4.1.72- Only exports the partition_type attribute when it belongs to a partition table with support for extended partitions (bsc#1115751).- Prevent crash if resizing a newly formatted filesystem (bsc#1124146) - 4.1.71- Fixed "can't modify frozen String" crashes (related to bsc#1125006) - Fixed missing translation (bsc#1127181) - 4.1.70- Translates the filesystem roles properly (bsc#1127756). - 4.1.69- Do not crash when using an old MD RAID schema and the partition_nr attribute is missing. Instead, do not allow to continue because a missing value issue (bsc#1126059). - 4.1.68- Do not export the partition_type attribute when it belongs to a GPT partition table (bsc#1115751).- Partitioner: improve "Import Mount Points" feature. Now, a fstab entry cannot be imported when the filesystem type is not supported. Moreover, the "mount by" type is assigned according to the fstab entry and the label of the previous filesystem is preserved (bsc#1103391). - 4.1.67- Suggest /boot/efi as the mount point for EFI System Partitions (bsc#1088120) - 4.1.66- filesystem label is kept when using existing partitioning (bsc#1087229) - 4.1.65- Partitioner: add new tab in Bcache section to show all caching set devices (part of fate#325346). - 4.1.64- Partitioner: new option "Provide Crypt Passwords" (bsc#1113515). - 4.1.63- Partitioner: allow to edit bcache devices (part of fate#325346). - 4.1.62- Added help texts for guided setup (bsc#1121801) - 4.1.61- AutoYaST: handle device_order for MD RAIDs during installation (bsc#1083542) - 4.1.60- Force mocking arch to x86_64 for unit tests that depend on bcache (part of jsc#SLE-4329) - 4.1.59- Limit bcache support to x86_64 arch (jsc#SLE-4329) - 4.1.58- Guided Setup: improved the disk selection user interface to properly support scenarios with many disks (bsc#1123688). - 4.1.57- AutoYaST: save device_order for MD RAIDs (bsc#1083542) - 4.1.56- AutoYaST: fix broken support for retaining existing MD RAIDs in some scenarios (bsc#1120979, bsc#1121720). - 4.1.55- Partitioner: allow to create bcache devices without a caching set (part of fate#325346). - 4.1.54- Partitioner: when running standalone (in an installed system) abort gracefully if probing fails (bsc#1123837). - 4.1.53- Remove setters for bcache attributes that cannot be permanent saved (writeback_percent and sequential_cutoff). - Part of fate#325346. - 4.1.52- Limit ESP to min size on aarch64 (bsc#1119318) - 4.1.51- Partitioner: properly show Flash-only Bcache devices. - Part of fate#325346. - 4.1.50- do not show hint for details button if button does not exist (bsc#1115807) - 4.1.49- Partitioning proposal: improved the calculation about how much each Windows partition must be resized (bsc#1121286). - 4.1.48- Make the storage proposal (i.e. the Guided Setup) easier to debug (bsc#1057436). - 4.1.47- do not include nil in package list of used storage features for FC devices (bsc#1122781) - 4.1.46- Specific error pop-up for exceptions raised while calculating the storage actions (mitigation of bsc#1120070). - 4.1.45- Allow to cancel Guided Setup (bsc#1121442). - Link to storage client from installation summary (bsc#1099485). - 4.1.44- Do not touch eMMC boot partitions (mmcblk*boot*) (bsc#1119316) - 4.1.43- do not use removed function IconPath anymore (bsc#1119699) - 4.1.42- Hardening execution of system commands (part of bsc#1118291). - 4.1.41- Ship only primary icons with module to avoid conflicts (boo#1118521) - 4.1.40- Partitioner: does not allow to create BTRFS subvolumes with unsafe characters in its path (related to bsc#1059972). - 4.1.39- Support for Raspberry Pi in Guided Proposal: it suggests to keep the firmware partition and mount it as /boot/vc (fate#323484). - 4.1.38- Provide icon with module (boo#1109310) - 4.1.37- Partitioner: add support for UDF filesystem (fate#326877). - 4.1.36- The Guided Proposal tries to preserve partitions of type IRST (Intel Rapid Start Technology) when possible (bsc#1099187, fate#325885). - Made the Guided Proposal algorithm more clear, so it's easier to debug (bsc#1057436). - 4.1.35- Initial proposal tries all possible attempts over each candidate device before switching to another device. - Related to bsc#1102026 and bsc#1090383. - 4.1.34- adjust boot requirements to handle RAID cases (fate#326573) - 4.1.33- SkipListValue.size_k returns the correct value (bsc#1115507). - 4.1.32- Internal code reorganization at Proposal::SpaceMaker (preparations for fate#325885 and fate#323484).- Crypttab entry allows to find a crypttab device by its UUID. - Devicegraph#find_by_any_name is able to find a LUKS device by using its name at crypttab file. - Related to bsc#1094963. - 4.1.31- Improve the proposal to be able to work with existing MD RAIDs (fate#326573). - 4.1.30- Format the new multi-line compound actions correctly (bsc#1085134) - 4.1.29- do not include 'Partition' in partition type names- allow creation of partitions starting before 1 MiB in expert partitioner- Fixes and improvements to AutoYaST partitioning: - Improve support to reuse a disk as a PV (bsc#1107298). - Resize and then create new devices (bsc#1112545). - Warn the user when trying to reuse a non-existent filesystem. - Fix support of old format to specify several software RAIDs (bsc#1112546). - Proper support for Xen virtual partitions (bsc#1105350). - Export enable_snapshots element properly (related to bsc#1073544). - Allow to format a whole disk and use it as a filesystem. - Add support for partitioned software RAIDs (fate#326573). - Allow to use a whole disk as a software RAID member (related to fate#326573). - 4.1.28- Add support for selecting cache mode during bcache creation (fate#325346) - 4.1.27- Improved UI responsiveness by caching the value of some internal methods (bsc#1112402): * StorageClassWrapper.downcasted_new * StorageEnv#active? * DiskDevice#types_for_is - Improved compatibility with RSpec 3.8 by caching the objects used to wrap libstorage-ng enum values. - 4.1.26- Improve filtering of possible backing devices for bcache and limit deletion of bcache to only safe cases (fate#325346) - 4.1.25- Improved the warning messages about missing BIOS Boot partition, both in the Partitioner and in AutoYaST (bsc#1087275). - Improved other AutoYaST warning messages related to the partitions needed for booting. - 4.1.24- Implement creating and deleting bcache devices (fate#325346) - 4.1.23- Fixed flickering testcase. Maybe produced by the fix of bsc#1108831. - 4.1.22- Partitioner: make it possible to directly format a disk (with no partitions). - Partitioner: reorganized the user interface by grouping options to ensure all the new possibilities (like formatting a whole disk or creating partitions on an MD RAID) fit into text mode 80x24 (part of fate#318196 and of fate#326573). - 4.1.21- AutoYaST proposal: Do not crash if existing boot partition cannot be used without formatting it. (bsc#1108831) - 4.1.20- Partitioner: ask for unmounting when deleting a device. - Partitioner: ask for unmounting when resizing a device. - Part of fate#318196 - 4.1.19- AutoYaST: Allow to use whole disk as PV by indicating a partition with number 0 (bsc#1107298).- When trying to reuse a partition, AutoYaST will consider only those partitions from the right disk (bsc#1106774).- Do not crash when a partition content info cannot be detected (bsc#1101979). - 4.1.18- Add read-only support for Bcache (fate#325346) - 4.1.17- Partitioner: allow to manage partitions in software MD RAIDs (fate#318196, bsc#1094933 and bsc#1092417). - 4.1.16- Partitioner: do not offer partitions of other RAIDs as available devices to create MD RAID arrays (fate#318196). - 4.1.15- Partitioner: allow to add full disks and multipath devices (with no partition table) to MD RAID arrays (fate#318196). - Partitioner: improved checks and workflow for "Create New Partition Table" - More informative message when a device is in use. - 4.1.14- Add asterisk to mount points that is not active and also write it to description (FATE#318196) - 4.1.13- Improved wording when moving partitions (bsc#1099599). - 4.1.12- Add support for Intel Rapid Start technology partitions (FATE#325885) - 4.1.11- Fixed a wrong unit test. - 4.1.10- RAID attributes: include "Active: Yes/No" (bsc#1090010)- Partitioner: Hide the "what to do" selector for windows partitions if there are no windows partitions (bsc#1055646) - 4.1.9- Switched license in spec file from SPDX2 to SPDX3 format.- Changed dir of COPYING file.- Fixed crash in the Kubic proposal when insufficient disk space (bsc#1099762) - 4.1.8- AutoYaST: recognize Xen virtual partitions in the profile when importing and installing (bsc#1085134). - 4.1.7- AutoYaST: set the 'mount by' option when reusing partitions (bsc#1104774). - 4.1.6- Partitioner: Permit going back when the partition dialog is skipped (bsc#1075443) - 4.1.5- Partitioner: fixed some strings that contained mistakes about format and/or internationalization.- Fixed the warning about overwriting a manually edited partition layout. Now it works even after going back and forth in the installer steps (bsc#1055756). - 4.1.4- Partitioner: display Xen virtual partitions and allow to format and mount them (bsc#1085134).- Warning if overwriting manually edited settings (bsc#1055756) - 4.1.3- AutoYaST: export volume group name (lvm_group) when a MD RAID device is used as a physical volume (bsc#1103113). - 4.1.2- make bsc#1098594 regression test work on s390 - 4.1.1- use "Partition Table" instead of "Disk Label" in expert partitioner (bsc#1070570) - 4.1.0- document XEN guest setup for testing (bsc#1085134) - 4.0.199- Partitioner: when creating a partition, use only regions of the selected type: primary, logical or extended (bsc#1097634). - 4.0.198- AutoYaST: export BIOS RAID devices correctly (bsc#1098594). - 4.0.197- AutoYaST: do not crash when reusing partitions on non-disk devices like DASD or BIOS RAID (bsc#1098594). - 4.0.196- Added additional searchkeys to desktop file (fate#321043). - 4.0.195- mask systemd mount and swap units while expert partitioner is running (bsc#1073633) - 4.0.194- Partitioner: add checkbox to format system volumes when importing mount points (bsc#1078359 and bsc#1094924). - 4.0.193- Partitioner: honor default subvolumes when importing the root mount point (related to bsc#1078359, bsc#1083851 and fate#318196) - Partitioner: honor default snapshots configuration when importing the root mount point (bsc#966637)- Fixed crash in the error callback when the text contained non-ASCII characters in the translated message (bsc#1096758) - 4.0.192- allow for numbers > 32 bit in region dialog (bsc#1065258) - 4.0.191- Fix 'Arbitrary Option Value' translation (bsc#1081605). - 4.0.190- Use parallel_tests to speed up running the unit tests (bsc#1094875), active only in SLE15-SP1/Leap-15.1- Better auto-generated names for encryption devices: * Based on the udev id of the encrypted devices instead of its kernel name (bsc#760213). * Adapted when partition numbers change, if doable (bsc#1094157). * Prevent collision with other DeviceMapper names (bsc#1094157). - Do not write LUKS password of the proposal into YaST logs. - Do not crash when registering a zero-sized device into the logs. - 4.0.189- AutoYaST: fix handling of empty Btrfs subvolume prefixes (bsc#1096240). - 4.0.188- Added method to update encryption names according to a crypttab file (needed for bsc#1094963). - 4.0.187- Partitioner: fixed error when creating new BTRFS subvolumes in an installed system (bsc#1067510). - 4.0.186- Partitioner: Handle limitations for volume labels (bsc#1084867) - 4.0.185- Partitioner: allow to move partitions (part of fate#318196). - 4.0.184- Added to the installer a detailed description about the origin of the partitioning layout, as discussed in bsc#1089274. - 4.0.183- Allow to consider MD RAIDs as BIOS RAIDs by using the env variable LIBSTORAGE_MDPART (bsc#1092417).- Fixed tests to avoid to require files provided by yast-installation package (needed for bsc#1091047).- Fixed detection of candidate disks for installation (bsc#1091047). - 4.0.182- don't reuse prep partitions larger than 8 MiB (bsc#1090019) - 4.0.181- Partitioner: fix several translation issues (bsc#1081837 and bsc#1081601).- Expose the active flag of the MountPoint class (needed for the definitive fix for bsc#1064437 in modern distributions). - 4.0.180- Partitioner: check whether required packages are installed before committing changes to disk (bsc#1089508). - 4.0.179- Partitioner: fix buttons to abort and to go back (part of fate#318196 and related to bsc#1075443). - Partitioner: fixed detection of reprobed system to avoid unnecessary proposal re-calculation.- Partitioner: allow to select only valid parity algorithms when creating a new MD RAID (bsc#1090182).- Partitioner: "Configure..." button allowing to execute the YaST clients for iSCI, FCoE, DASD, zFCP and XPRAM (bsc#1090753).- AutoYaST: do not crash when size is set to 'auto' for a partition without a mount point (bsc#1092414). - 4.0.178- Add note to YAML files for devices not supported in YAML (part of fate#318196) - 4.0.177- Dump devicegraphs and actions in better strategic places (part of fate#318196) - Make sure not to write LUKS passwords to YAML dump files - 4.0.176- provide function to disable MD auto assembly (bsc#1090690) - provide function to inhibit udisks from doing mounts - use these two functions when running expert partitioner - 4.0.175- Partitioner: added option to import mount points (part of fate#318196 and bsc#1083851). - 4.0.174- AutoYaST: handle and empty values properly (bsc#1076337, bsc#1090095 and bsc#1091669). - 4.0.173- Set fs_passno to 2 for ext2/3/4 filesystems assigned to non-root mount points (bsc#1078703). - 4.0.172- Don't require rspec/mocks (not present in inst-sys) (part of fate#318196) - 4.0.171- Dump devicegraph and actions to separate human readable files (part of fate#318196) - 4.0.170- Partitioner: fixed checks when the root filesystem is NFS (bsc#1090752). - 4.0.169- add method to check if system has any disk device (bsc#1090753) - 4.0.168- Set fs_passno to 1 for ext2/3/4 root filesystems (bsc#1078703). - 4.0.167- fix libstorage logging that do not expect printf expansion (bsc#1091062) - 4.0.166- Ensure the installer adds reused devices to /etc/crypttab and/or /etc/mdadm.conf if needed for booting (bsc#1071350). - 4.0.165- Partitioner: fix bug after confirming changes in a running system (related to bsc#1086892). - 4.0.164- Partitioner: do not validate setup just after rescanning (related to bsc#1086892). - 4.0.163- Partitioner: use the correct default value for 'Enable Snapshots' when the 'Operating System' role is chosen for a new device (bsc#1084491). - 4.0.162- Make the package to be architecture dependant to correctly check the current architecture (bsc#1081198). - 4.0.161- AutoYaST: properly handle empty proposals (bsc#1090390). - 4.0.160- Implemented the use_available LVM strategy for the proposal (part of fate#318196). - Make use_available the new default LVM strategy, so the system behavior is closer to the old yast-storage. - Speed improvements in the use_needed LVM strategy. - 4.0.159- Partitioner: add missing warning and summary of changes when running in an installed system (part of fate#318196 and related to bsc#1086892). - 4.0.158- Fix some translations issues in the Expert Partitioner (bsc#1081571).- Updated libstorage-ng dependency to ensure slots on extended partitions are handled correctly and added regression unit test about it (bsc#1088483). - Significant speed improvements in the proposal code.- Added missing help texts in the partitioner (bsc#1079591) - 4.0.157- Added support for settings 'expert_partitioner_warning' and 'proposal_settings_editable' (bsc#1087486). - Fix bug going back in Partitioner: only re-calculate proposal when the system was re-probed (bsc#1088960). - 4.0.156- AutoYaST: support partition_type when set to "primary" (bsc#1081506). - 4.0.155- More informative message displayed when the proposal failed with some given settings, so it doesn't sound like a definitive error (related to bsc#1089274). - 4.0.154- Partitioner: fix creation of default BTRFS subvolume (bsc#1087918 and bsc#1087763). - 4.0.153- Partitioner: make possible for the embedded yast2-nfs-client to access the vfstype field of fstab, so it can detect and correct legacy NFS entries (bsc#1088426). - 4.0.152- Update dependency with libstorage-ng (ensure lock system). - Part of fate#318196. - 4.0.151- Fixed the disable_order property of control.xml. Now it affects all the configurable aspects of the volume, as documented (related to bsc#1078495). - 4.0.150- Add system lock to avoid several processes using the storage stack when a process is already using it with read-write access. - Part of fate#318196. - 4.0.149- Force UTF-8 encoding for (most) strings coming from libstorage-ng (bsc#1088067). - 4.0.148- Better error handling if no storage proposal is possible (bsc#1064677) - 4.0.147- Recover method #exists_in_probed? (bsc#1087818). - 4.0.146- Partitioner: do not crash when a striped logical volume is selected (bsc#1087702).- Fixed an error searching devices by name introduced by the recent sanitization related to bsc#1083672. - 4.0.145- Partitioner: add check for minimum size when using snapshots (bsc#1085131). - 4.0.144- If a duplicate PV is found, show an specific error message with instructions (bsc#1082542). - 4.0.143- Use correct probe mode in unit tests (fate#318196).- Honor the LIBSTORAGE_MULTIPATH_AUTOSTART environment variable (part of fate#318196 and part of the fix for bsc#1082542). - 4.0.142- Sanitize devicegraph after probing when there are LVM volume groups with missing physical volumes (bsc#1083672). - 4.0.141- Partitioner: Report detailed reasons why resizing is not possible (fate#318196) - 4.0.140- Partitioner: fixed an error that was causing filesystems to be deleted in some combination of actions (part of fate#318196).- AutoYaST: add support for LVM thin pools (bsc#1086596). - AutoYaST: add support for stripes/stripesize elements. - 4.0.139- Fix issues with zero-size devices (bsc#1083887). - Proposal: do not use zero-size devices. - Partitioner: completely hide zero-size devices. - 4.0.138- Added methods to deal with /etc/fstab specs (part of bsc#1071454) - 4.0.137- AutoYaST: fixed space distribution on LVM volume groups when using percentages (bsc#1079369). - AutoYaST: do not ignore free spaces smaller than 30MiB (bsc#1085627). - 4.0.136- Warn if user creates too big PReP partition which firmware can have problem to load (bsc#1081979) - 4.0.135- Partitioner: Check if resize is possible based on filesystem type (fate#318196) - 4.0.134- Partitioner: do not allow to remove implicit partitions. - Partitioner: allow to remove any disk device (not only disks). - Part of fate#318196. - 4.0.133- Post a warning if reusing an existing system mount point without formatting during installation in the partitioner (bsc#1080073) - 4.0.132- Add a new btrfs_read_only property to force the root filesystem to be read-only (bsc#1079000) - Honor the subvolumes list for the root filesystem (bsc#1077866) - 4.0.131- Partitioner: always allow to edit the partition id (bsc#1077868). - 4.0.130- Shadowed subvolumes that are ignored in the first proposal attempt are not longer omitted in subsequent ones (#bsc#1084213 and bsc#1084261). - 4.0.129- Make proposal to work with implicit partition tables (s390). - Part of fate#318196. - 4.0.128- Make sure subvolumes use the same mount_by as their parent btrfs (bsc#1080408) - 4.0.127- Better control on whether a separate /boot/zipl is needed in S/390 systems, both in the Guided Setup and the Partitioner. - Do not longer report FBA DASDs to be unsupported devices for booting (they are indeed supported). - Part of bsc#1070265. - 4.0.126- fix translations in blk_device_resize.rb (bsc#1081598) - 4.0.125- Guided proposal uses preferred partition table type when possible (e.g., all partitions are deleted). - Part of fate#318196. - 4.0.124- Add specialized warning when /boot/efi is on software RAID (bsc#1081578) - 4.0.123- AutoYaST: do not stop installation when there is not enough space for automatically added boot devices (bsc#1082999).- AutoYaST: support to export LVM volume group and MD RAIDs (bsc#1081331).- New PReP partitions proposed by the Guided Setup are now always primary (bsc#1082468). - 4.0.122- ensure proper hierarchy when creating btrfs subvolumes (bsc#1078732) - 4.0.121- Use default swap priority, not 42 (bsc#1066077) - 4.0.120- Do not crash for separate /boot which does not exists yet (bsc#1078774 - 4.0.119- Partitioner: allow to clone a disk (part of fate#318196). - 4.0.118- More reliable parsing for the hwinfo output (bsc#1082536). - Better documentation and tests for activate callbacks. - 4.0.117- adapted to new activate callbacks in libstorage-ng (see bsc#1082542) - 4.0.116- Keep encryption when adding a device to a LVM volume group (bsc#1077750). - 4.0.115- Improved handling of libstorage-ng errors (bsc#1070459, bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776, bsc#1070459 and some others). - 4.0.114- Use format(), not Ruby variable expansion for translated messages (bsc#1081454) - 4.0.113- Partitioner: ensure a valid password is provided when encrypting a device (bsc#1065079). - Increase to 8 characters the minimum size to consider an encryption password to be valid (same limit than yast2-storage). - 4.0.112- Do not allow to encrypt too small partition (bsc#1065071) - Check size for separate /boot - 4.0.111- Partitioner: prevent to modify devices used in LVM or MD RAID (bsc#1079827). - 4.0.110- Better handling of errors during hardware probing (bsc#1070459, bsc#1079228, bsc#1079817, bsc#1063059, bsc#1080554, bsc#1076776, bsc#1070459 and some others). - 4.0.109- Avoid to write files in tests (SCR.Write) (fate#323457).- adapted to callback improvements in libstorage-ng (bsc#1070459 and many others) - 4.0.108- Added missing textdomain calls (bsc#1081454) - 4.0.107- AutoYaST: fix support to create multiple volume groups (bsc#1081633). - 4.0.106- Added missing ptable type conversion (fate#323457) - 4.0.105- Changed default partition table from MSDOS to GPT (fate#323457) - 4.0.104- ensure partition name changes during the proposal process are taken properly into account (bsc#1078691) - 4.0.103- Use sysconfig storage file to read the default value for mount_by (bsc#1081198). - Partitioner: allow to configure default value for mount_by. - 4.0.102- Do not take into account unformatted DASDs as a possible target for installation (bsc#1071798). - Partitioner: do not show unformatted DASDs, since they cannot be partitioned or used in any other way.- AutoYaST: guess which filesystem type should be used for a given partition/logical volume when it is not specified in the profile (bsc#1075203).- Special handling for mount options for / and /boot/* in the partitioner (bsc#1080731) - 4.0.101- Partitioner: bring back traditional list of mount points for both installation and installed system (bsc#1076167 and bsc#1081200). - Partitioner: bring back traditional behavior of the "Operating System" and "Data" roles during installation (bsc#1078975 and bsc#1073854). - 4.0.100- Special handling for mount options for / and /boot/* (bsc#1080731, bsc#1061867, bsc#1077859) - 4.0.99- Ensure that there is always selected item in table, if it is not empty (bsc#1076318) - 4.0.98- Adjusted the suggested and minimum sizes of all the booting partitions, both in the storage proposal and in the Partitioner validations (bsc#1076851 and fate#318196). - 4.0.97- Fix hwinfo parsing to support more than one device_file property (bsc#1080999) - 4.0.96- Split detection of problematic boot scenarios into errors and warnings. With warnings user can continue, but not with errors. (bsc#1074475) - 4.0.95- PowerPC: do not require /boot partition for non-PowerNV (bsc#1070139). - Partitioner: do not enforce partition id for /boot/efi (bsc#1078707). - 4.0.94- add format options dialog (bsc#1077868) - 4.0.93- More reasonable location in the disk for the partitions proposed to make the system bootable (bsc#1073680 and bsc#1076851).- Partitioner: fix issues using transactions (bsc#1079880 and bsc#1079573). - 4.0.92- Enable multipathd in the target system at the end of installation if there are multipath devices (bsc#1076183). - Updated required version of libstorage-ng-ruby (bsc#1079541). - 4.0.91- Add class MountPoint (needed for bsc#1076305 and bsc#1066763). - 4.0.90- Partitioner: fixed creation of partition tables (bsc#1078721). - 4.0.89- Partitioner: fixed 'Installation Summary' section (part of fate#318196). - 4.0.88- AutoYaST: support additional names in the drive/device element (bsc#1077277). - 4.0.87- Disabled empty pages in partitioner for the time being (bsc#1078849) - 4.0.86- AutoYaST: support reuse of already existing partitions as LVM physical volumes or MD RAIDs (bsc#1077277). - 4.0.85- Partitioner: fixed 'Device Graph' section (part of fate#318196). - 4.0.84- Added a new 'disk' client, alias for 'partitioner' (bsc#1078900). - 4.0.83- Handle arbitrary mount options for /etc/fstab properly (bsc#1066076) - 4.0.82- Partitioner: list all LVM thin volumes to delete when an LVM thin pool is going to be deleted. - Partitioner: show warning when an LVM thin pool is overcommitted after resizing. - Part of fate#318196. - 4.0.81- AutoYaST: try to shrink new partitions/logical volumes proportionally when there is not enough space (bsc#1078418). - 4.0.80- Partitioner: initial support for NFS (part of fate#318196) - Partitioner: removed useless tmpfs option - 4.0.79- Partitioner: allow to create LVM thin pools and volumes. - Fix transactions of devicegraphs. - Part of fate#318196. - 4.0.78- Partitioner: improve error message when trying to remove an used physical volume.- Add default mount options for /etc/fstab for ext2/3/4 and vfat (bsc#1066076) - 4.0.77- Properly detect snapshots subvolumes (bsc#1076321 and bsc#1076335). - 4.0.76- Partitioner: allow to resize LVM volume groups. - Part of fate#318196. - 4.0.75- Partitioner: consider all sizes entered by the user as base of 2 despite the units not being consistent with the International System. Thus, 1KB (which in the IS actually means 1000 bytes) becomes equivalent to 1KiB (which is 1024 bytes).- fix proposal dialog error when there are no disks (bsc#1057430)- Avoid partitioning checks error when using old settings format. - Needed for bsc#1059160, bsc#1055747 and bsc#1063957.- Partitioner: button to resize LVM logical volumes now works as expected (part of fate#31896). - 4.0.74- Consider all free spaces when deciding which partitions distribution is better (bsc#1077051).- Fix TODOs labels in partitioner (bsc#1058652). - 4.0.73- Fix subtracting arrays of devices (fixes multipath wires detection for bsc#1076766) - 4.0.72- Partitioner: when creating partitions they are now aligned to hardware requirements (indispensable for DASD) and when possible also for optimal performance (bsc#1069860 and bsc#1072011). - Partitioner: adjusted alignment logic during resizing to match the new logic used during creation. - Partitioner: skip validation of disabled widgets in the dialog to select the size of a new partition. - Partitioner: fixed a crash and one inconsistency in the dialog to resize an existing partition. - 4.0.71- Correctly open the expert partitioner when called from the Kubic/CaaSP summary screen (bsc#1076732) - 4.0.70- Added sanity checks for partitioning setup. - Partitioner: setup issues are shown to the user before continue. Mandatory product volumes are required according to control file. - Part of fate#31896 and fix for bsc#1059160, bsc#1055747 and bsc#1063957. - 4.0.69- Some code reorganization regarding alignment and resizing. - Added to several places in the API the possibilty of using other alignment types, in addition to the optimal one. - Added a (temporary) workaround to a possible bug in libstorage-ng regarding alignment.- Added Mountable#persistent? (needed for bsc#1073696) - 4.0.68- Added Devicegraph#find_by_any_name (needed for bsc#1073254) - 4.0.67- Do not try to reuse UUID and label from unformatted swap partitions (bsc#1071515). - 4.0.66- Force the subvolume name to be relative (related to bsc#1073548) - 4.0.65- Fixed error when calculating the proposal on top of a BIOS RAID (bsc#1067349)- AutoYaST: export the enable_snapshots element (bsc#1073544)- rewrite SpaceMaker::resize_and_delete! to be more human-readable - 4.0.64- fix unnecessary Windows partition deletion (bsc #1066386) - 4.0.63- fix logic in GuidedProposal::calculate_proposal (bsc#1058027) - 4.0.62- Do not crash when showing an unhandled partition id (bsc#1068087)- Partitioner: support for deleting an LVM volume group. - Correct handling of orphan physical volume devices. - Fix for bsc#106956 and part of fate#31896. - 4.0.61- added obsoletes (bsc#1073645) - 4.0.60- Added BlkDevice.find_by_any_name (needed for bsc#1073254) - 4.0.59- Add DeviceGraph#find_by_name call (needed for bsc#1072908) - 4.0.58- AutoYaST: Improve disklabel element handling (bsc#1073307). - 4.0.57- Fixed a recently added unit test to not rely on libstorage-ng sorting. Related to bsc#1049901 and part of fate#31896. - 4.0.56- Partitioner: add buttons to Hard Disks section for creating new partitions and editing devices. - Part of fate#318196. - 4.0.55- Improved how the proposal handles disks that are in use but don't have a partition table (directly formatted disks, disks that are direct members of an LVM or RAID, etc.). Preliminary fix for bsc#1071949 and bsc#1067670. - 4.0.54- Improve detection of efi and swap partitions. - bsc#1071775 and bsc#1065234 - 4.0.53- Fixed dependencies (yast2 >= 4.0.24) (fate#318196) - 4.0.52- AutoYaST: assign the correct partition_id to /boot/efi (bsc#1071167) - 4.0.51- Don't trust any longer the order of any collection coming from libstorage-ng (related to bsc#1049901 and part of fate#31896). - 4.0.50- Partitoner: added support for resizing partitions (bsc#1057586). - Part of fate#318196. - 4.0.49- AutoYaST does not ignore the 'enable_snapshots' setting even if the list of partitions is missing (bsc#1070790). - 4.0.48- Rely on the new improved mechanism of libstorage-ng to sort devices by name. Preparation for bsc#1049901 and part of fate#31896. - 4.0.47- Fix boot partition detection (bsc#1070621). - 4.0.46- AutoYaST honors 'use' and 'initialize' elements even if the list of partitions is missing (related to bsc#1065061). - 4.0.45- Partitioner: added buttons to sort the devices being added to an MD RAID (part of fate#318196). - 4.0.44- Do not ignore start_multipath setting (bsc#1070343). - 4.0.43- adjust list of partition ids in expert partitioner (bsc#1060993, fate#314888) - 4.0.42- AutoYaST: honor size=max for logical volumes (bsc#1070131). - 4.0.41- Allow to work with BIOS RAIDs as regular disks (bsc#1067349). - Allow to create partition table over directly formatted devices. - 4.0.40- make PartitionTables::partition_id_supported? available - 4.0.39- Fixed a problem when confirming the very same partitioning schema several times (bug#1069671). - 4.0.38- AutoYaST: safer handling of partition ids (bsc#1067207). - 4.0.37- AutoYaST: add support to resize partitions and logical volumes (bsc#1069505). - AutoYaST: fix detection of root partition when using LVM (bsc#1069647). - 4.0.36- Ensure that disks considered for (auto)installation are always sorted in a stable and consistent way based on its device name. Preparation for bsc#1049901 and part of fate#31896. - 4.0.35- Partitioner: added support for resizing MD RAIDs. - Part of fate#318196. - 4.0.34- No RAID chunk size below 64 kiB for most types of RAID (bsc#1065381) - 4.0.33- Added "Create New Partition Table" in partitioner - Part of fate#318196. - 4.0.32- Improve logging: add wrapper param for guard method and dump xml representation of the devicegraph to the logs. - Part of fate#318196. - 4.0.31- When proposing a partitions layout for installation, prefer getting big installations and arranging the partitions by their weights over creating adjacent partitions. Part of fate#318196. - 4.0.30- Partitioner: added support for creating volume groups. - Part of fate#318196. - 4.0.29- safer handling of partition ids (bsc#1060993 - 4.0.28- AutoYaST: filter out old '@' entries when importing the list of subvolumes (bsc#1061253) - 4.0.27- Added support in the UI of the guided setup for the new format of in the control file. - Part of fate#318196. - 4.0.26- AutoYaST: fix space distribution when partition table does not exist (bsc#1065061) - AutoYaST: set partition tables type according to the profile - 4.0.25- Fix name of planned logical volumes. - Take into account real RAM size to plan volumes. - Add scenario tests using new partitioning settings. - Part of fate#318196. - 4.0.24- AutoYaST: adjust the list of allowed keys in skip lists (bsc#1065668) - 4.0.23- AutoYaST: add support for udev links in the element (bsc#1066320) - 4.0.22- AutoYaST: do not remove partitions that are supposed to be reused (bsc#1066398). - 4.0.21- Partitioner: support for deleting md raids. - Part of fate#318196. - 4.0.20- do not query end of region if region is empty (bsc#1066290) - 4.0.19- AutoYaST: query hardware information on skip lists (bsc#1065668). - AutoYaST: support multi-valued keys on skip lists. - AutoYaST: do not crash when no suitable disk for installation is found. - 4.0.18- Partitioner: support for deleting logical volumes. - Part of fate#318196. - 4.0.17- AutoYaST: do not crash when an unknown key is used in a skip list (bsc#1065670). - 4.0.16- AutoYaST: fix reuse of partitions (bsc#1060637). - AutoYaST: improve error handling when trying to reuse a partition fails. - AutoYaST: when a problem is detected while creating a proposal, register in which section it was found. - AutoYaST: register an issue when a proposal does not contain a root (/) partition. - 4.0.15- Added an option in the installer to run the expert partitioner with the current storage layout as starting point. - Possible fix for bsc#1055644 and part of fate#318196. - 4.0.14- Limit maximal proposed size of EFI partition (bsc#1062775) - 4.0.13- Partitioner: small adjustments in the verifications performed before running some wizards.- Partitioner: allow to work with multipath devices. - bsc#1058373 and bsc#1028853. - Part of fate#318196. - 4.0.12- Add support to clone subvolumes when using AutoYaST (bsc#1064875) - 4.0.11- adjust control.xml documentation - 4.0.10- Partitioner: show only option to create vg when there are no vgs. - Part of fate#318196. - 4.0.9- have volumes in control.xml proposed by default (fate#318196) - 4.0.8- Partitioner: support for creating logical volumes. - Part of fate#318196. - 4.0.7- AutoYaST: add basic support for error handling - AutoYaST: handle 'size: auto' correctly - 4.0.6- During installation, mount efivarfs in /mnt/sys/firmware/efivars if present in inst-sys (bsc#1063063) - 4.0.5- Terminate extra space distribution loop if nothing could be distributed anymore (bsc#1063392) - 4.0.4- finalize control.xml description (fate#318196) - 4.0.3- Add strategies to try an initial valid proposal, even changing settings when necessary. - Part of fate#318196. - 4.0.2- Adapt proposal to work with new format of proposal settings. - Part of fate#318196. - 4.0.1- AutoYaST: proper handling of the 'use' element allowing to delete a set of partitions (bsc#1061042) - AutoYaST: support for mkfs_options, fstopt and mount_by elements (bsc#1061289) - 4.0.0- Added support for reading new format of proposal settings. - Part of fate#318196. - 3.3.27- Partitioner: don't return to the summary screen after each operation. - Partitioner: speedup the refresh time after each operation (by not querying the hostname again). - Both part of fate#318196. - 3.3.26- Added disk.desktop file for partitioner (bsc#1059528) - 3.3.25- separate planning strategies from DevicesPlanner into DevicesPlannerStrategies module - 3.3.24- Partitioner: buttons to edit the filesystem in RAID and LVM LV. - Partitioner: correct positioning of some buttons. - Partitioner: allow to mount several swap devices. - All part of fate#318196. - 3.3.23- Partitioner: option to create an MD RAID (part of fate#318196). - 3.3.22- Fix validation when trying to create a partition with custom size (bsc#1060864). - 3.3.21- Implemented simple proposal for CASP (bsc#1058736) - 3.3.20- updated installer hacks document: ssh key import works- Avoid to reuse small efi partitions (bsc#1056640). - 3.3.19- More backwards-compatible behavior when formatting partitions in the expert partitioner. - Checkbox to enable snapshots for "/" in the expert partitioner. - Both part of fate#318196 - 3.3.18- Improved creation and modification of partitions in the Expert Partitioner (bsc#1057869, bsc#1057874). - Added button to define the Btrfs subvolumes directly during creation or modification. - 3.3.17- add all full udev links and helper to list them all (useful for fixing bsc#1057604) - 3.3.16- don't limit uefi to x86_64 (bsc#1056629) - 3.3.15- Fix proposal to not try to create more than 3 partitions in a DASD partition table (bsc#1058052). - 3.3.14- AutoYaST: Temporary workaround to avoid crash when size 'auto' (which is still not supported) is used (bnc#1056182). - 3.3.13- Fix partitioner bug creating partition with custom size (bsc#1057049) - 3.3.12- AutoYaST: support for Btrfs snapshots (part of fate#318196). - 3.3.11- Fix bug when formatting with expert partitioner (bsc#1057405). - 3.3.10- Ignore case when parsing sizes (bsc#1056715 and bsc#1055913). - 3.3.9- AutoYaST: Handle sizes without unit correctly. (bnc#1056168) - 3.3.8- Create Btrfs in the guided setup if requested to do so (part of fate#318196). - 3.3.7- Added overall summary for the expert partitioner. - Part of fate#318196 - 3.3.6- Added methods to save user data into libstorage-ng objects. - Added subvolume shadowing control to the expert partitioner. - Added mount point validation to the expert partitioner. - Removed Planned::BtrfsSubvolume class. - Part of fate#318196 - 3.3.5- Added support for legacy filesystems (fate#323394). - 3.3.4- adjust package description in spec file- When displaying partition ids to the user, use names that are more similar to old yast-storage (part of fate#318196). - 3.3.3- ReiserFS is not allowed anymore, it was already removed in SLE 12 for new installations and was only supported for upgrades. (fate#323394) - 3.3.2- Added deactivation of virtual devices (multipath, LVM, etc.) to the public API. - Initial management of Btrfs subvolumes in the expert partitioner. - Both as part of fate#318196 - 3.3.1- Removed temporary StorageManager API. - 0.1.32- Added pop-up to ask the user about multipath activation.- Added Btrfs subvolumes support to the AutoYaST customized partitioning.- Adjusted the guided proposal to work properly on scenarios with DM RAIDs.- Adjusted the guided proposal to work properly on scenarios with Multipath I/O.- Replaced the original prototype of the expert partitioner with the one coming from yast2-partitioner. - Added #supported_fstab_options and #default_partition_id methods to Y2Storage::Filesystems::Type. - Removed Y2Storage::DevicesLists and not longer needed modules from Y2Storage::Refinements - 0.1.31- Added PartitionId#to_human_string and PartitionId::formattable? - 0.1.30- Added verifications for disk in network. - 0.1.29- Added new class Y2Storage::Proposal::Base. - Proper assignment of default values for new proposals. - 0.1.28- Added AutoinstProfile::PartitioningSection which allows to export the current system (or any other devicegraph) to an AutoYaST profile (only plain partitions supported so far). - 0.1.27- Adapt proposal to different situations (disable home, snapshots, etc) - 0.1.26- add LvmVg#basename - add PartitionTables::Base#delete_all_partitions - add logger to all devices - add LvmVg#name - 0.1.25- Add LVM support for AutoYaST partitioning (bsc#1044697). - 0.1.24- More robust Y2Storage::StorageManager#probe- Added Y2Storage::MdParity#to_human_string and Y2Storage::MdLevel#to_human_string - 0.1.23- Added Y2Storage::Md wrapper - 0.1.22- Added Y2Storage::DiskSize#human_floor, Y2Storage::Region#size - 0.1.21- AutoinstProposal is loaded with the rest of the proposal classes when 'y2storage' is required. - 0.1.20- Adjustments to DASD to ensure the proposal works as expected in such devices. - Added Devicegraph#disk_devices to get all DASDs and disks. - DASD support added to YAML reader and writer.- Add basic support for AutoYaST customized partitioning (only plain partitions are supported) - 0.1.19- Add new method StorageManager.fake_from_xml for easy loading of xml device graphs- added probe function to StorageManager - 0.1.18- Added new method BlkDevice#to_be_formatted? (needed by yast2-partitioner). - 0.1.17- Don't insist on installing filesystem support packages that are not available in any repo (bsc#1039830) - 0.1.16- Fixed a bug in LvmLv#stripe_size=- Refactored the proposal code in preparation for the AutoYaST implementation. Removed PlannedVolume and PlannedVolumesList classes in favor of new more specific classes in the Planned namespace. - Fixed the proposal to never propose subvolumes that would be shadowed by another proposed device.- Add to Y2Storage::PartitionTables::Type#to_human_string - 0.1.15- Added SCR agent .etc.mtab again until we have a proper alternative for it (still needed in yast2-users). - 0.1.14- Changelog entry to document stuff that was left behind. See below. - Installation proposal now generates Btrfs subvolumes when needed (according to control.xml and a fallback list). - Improved and fully functional Guided Setup. - Added new fields to ProposalSettings and renamed others (xxx_size instead of xxx_disk_size). Similar changes in PlannedVolume. - New smaller and more convenient API for DiskAnalyzer. - Many documentation (Yardoc) improvements and fixes. - Added dummy activate callbacks (for activating a previous LUKS). - The installer now saves a xml representation of the probed and staging devicegraphs before proceeding with the installation. - New API for accessing the libstorage objects from Ruby: * New classes in the Y2Storage namespace offering a wrapper around the corresponding libstorage classes and enums: Actiongraph, AlignPolicy, BlkDevice, BtrfsSubvolume, Dasd, DasdFormat, DasdType, DataTransport, Device, Devicegraph, Disk, Encryption, LvmLv, LvmPv, LvmVg, Mountable, Partition, PartitionId, PartitionType, Partitionable, Region and ResizeInfo. * Mixins StorageClassWrapper and StorageEnumWrapper to define more wrappers as needed. * Removed EnumMappings. * Removed most refinements in Y2Storage, functionality moved to the new classes. * Marked DevicesList as deprecated. * Marked some refinements as deprecated.- add Gpt#pmbr_boot(?/=) methods for protective MBR - 0.1.13- Adapted prepdisk client to work in update mode.- Added to_s in ProposalSettings- Partially adjust the proposal settings according to control.xml.- Improved the EnumMappings module. - 0.1.12- Improvements in the devicegraph query interface: added an EncryptionLists class and adapted all the other classes to take several encryption-related scenarios into account. - 0.1.11- Added a prototype of the "Guided Setup" wizard to configure the proposal settings.- Proper management of completely empty disks (no partition table, no file-system and no LVM PV) in the proposal. - Improved FreeDiskSpace and Disk#free_spaces to correctly handle disks without partition table. - 0.1.10- Install storage-related software packages as needed: Migrated UsedStorageFeatures to storage-ng and added PackageHandler - 0.1.9- Improved StorageManager that complies to the Singleton pattern and includes a revision counter for the staging devicegraph. - 0.1.8- Added 'fstab_options' key to the YAML representation of the devicegraphs used for testing. - 0.1.7- Y2Storage::DiskAnalyzer - distinguish disks with no MBR gap (0 bytes gap) from cases where the MBR gap is not applicable. This fixes the proposal for some LVM scenarios with legacy boot.- Removed unused ProposalDemo client (kind of obsoleted by Dialogs::InstDiskProposal)- Improvements in the devicegraph query interface (DisksLists#with_name_or_partition) - 0.1.6- Fixed partitioning proposal to not fail when trying to create very small partitions (like bios_boot), to work better with uneven spaces (not divisible by the minimal grain) and to reduce the gaps between partitions.- Write more precise information in the logs (DiskSize#to_s)- Proposal does not try to set the boot flag if not supported (for example, GPT partition tables)- Adapted to several changes in libstorage-ng- Improvements in the LVM-based proposal- Improvements in Refinements::DevicegraphLists- Convenience method to check for GPT - Several methods added to most of the DevicesLists classes - 0.1.5- Better management of LVM partitions in Proposal::SpaceMaker- mount special filesystems in target during installation- LVM classes added to Refinements::DevicegraphLists- Use own textdomain (storage-ng instead of storage) (bsc#1004050) - 0.1.4- Added new inst_prepdisk client - first version in which the installer commits the changes to the target disk(s). - 0.1.3- More reusable DiskAnalyzer. - Use libstorage mechanisms to check for windows partitions. - Added new minimalistic inst_disk_proposal client. - 0.1.2- Namespaces adapted to avoid conflicts with old yast2-storage and to follow the new YaST convention. - 0.1.1- initial package with yast2-storage-ng, successor of yast2-storage/bin/shyast2-storages390zl32 1697441908  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a4.5.25-150500.3.8.14.5.25-150500.3.8.1         !!!!!!!""""""""""""""""""""""""###################################$$$#####%%%%%%#&'(()*+,---./01binmask-systemd-unitsclientsdisk.rbinst_disk_proposal.rbinst_prepdisk.rbpartitioner.rbpartitions_proposal.rbstorage.rbstorage_finish.rbstorage_testing.rblibbidi_markup.rbinstallationconsolepluginsluks2_checkbox.rby2partitioneractionsadd_bcache.rbadd_btrfs.rbadd_btrfs_subvolume.rbadd_lvm_lv.rbadd_lvm_vg.rbadd_md.rbadd_nfs.rbadd_partition.rbadd_tmpfs.rbbase.rbclone_partition_table.rbconfigure_actions.rbcontrollerscontrollers.rbadd_partition.rbavailable_devices.rbbase.rbbcache.rbblk_device.rbbtrfs_devices.rbbtrfs_subvolume.rbclone_partition_table.rbencryption.rbfilesystem.rbfstabs.rblvm_lv.rblvm_vg.rbmd.rbcreate_partition_table.rbdelete_bcache.rbdelete_btrfs.rbdelete_btrfs_subvolume.rbdelete_device.rbdelete_lvm_lv.rbdelete_lvm_vg.rbdelete_md.rbdelete_nfs.rbdelete_partition.rbdelete_tmpfs.rbedit_bcache.rbedit_blk_device.rbedit_btrfs.rbedit_btrfs_devices.rbedit_btrfs_subvolume.rbedit_md_devices.rbedit_nfs.rbedit_tmpfs.rbfilesystem_steps.rbimport_mount_points.rbmove_partition.rbquit_partitioner.rbrescan_devices.rbresize_blk_device.rbresize_lvm_vg.rbtransaction_wizard.rbblk_device_restorer.rbcli.rbclientsmain.rbconfirm_recursive_delete.rbdevice_graphs.rbdialogsdialogs.rbbase.rbbcache.rbbcache_csets.rbblk_device_resize.rbbtrfs_devices.rbbtrfs_options.rbbtrfs_subvolume.rbcommit.rbdevice_description.rbdevice_graph.rbencryption.rbformat_and_mount.rbfstab_options.rbimport_mount_points.rblvm_lv_info.rblvm_lv_size.rblvm_vg.rblvm_vg_resize.rbmain.rbmd.rbmd_edit_devices.rbmd_options.rbmkfs_options.rbnfs.rbpartition_move.rbpartition_role.rbpartition_size.rbpartition_table_clone.rbpartition_table_type.rbpartition_type.rbpopup.rbprobing_issues.rbsettings.rbsingle_step.rbsummary.rbsummary_popup.rbtmpfs.rbunmount.rbexceptions.rbexecute_and_redraw.rbfilesystem_errors.rbfilesystem_role.rbfilesystems.rbicons.rbrecursive_unmount.rbreprobe.rbsize_parser.rbui_state.rbunmounter.rbwidgetsaction_button.rbapqn_selector.rbbcache_buttons.rbbcache_description.rbblk_device_attributes.rbblk_device_edit_button.rbblk_devices_table.rbbtrfs_buttons.rbbtrfs_data_raid_level.rbbtrfs_devices.rbbtrfs_devices_selector.rbbtrfs_filesystems_table.rbbtrfs_metadata_raid_level.rbbtrfs_options.rbbtrfs_quota.rbbtrfs_subvolume_description.rbcolumnscolumns.rbbase.rbbtrfs_exclusive.rbbtrfs_referenced.rbbtrfs_rfer_limit.rbcaching_device.rbchunk_size.rbdevice.rbdisk_size.rbencrypted.rbfilesystem_label.rbformat.rbmount_options.rbmount_point.rbnfs_path.rbnfs_server.rbnfs_version.rbpe_size.rbraid_type.rbregion_end.rbregion_start.rbsize.rbstripes.rbtype.rbused_by.rbuuid.rbcommit_actions.rbconfigurable_blk_devices_table.rbcontroller_radio_buttons.rbdescription_sectionbase.rbbcache.rbblk_device.rbbtrfs_subvolume.rbdisk_device.rbfilesystem.rblvm_lv.rblvm_vg.rblvm_vg_device.rbmd.rbpartition.rbdevice_add_button.rbdevice_button.rbdevice_buttons_set.rbdevice_delete_button.rbdevice_description.rbdevice_edit_button.rbdevice_graph_with_buttons.rbdevice_table_entry.rbdevices_selection.rbdisk_bar_graph.rbdisk_device_description.rbencrypt.rbencrypt_label.rbencrypt_method.rbencrypt_method_options.rbencrypt_password.rbfilesystem_description.rbfilesystem_options.rbformat_and_mount.rbfstab_options.rbfstab_selector.rbhelp.rbhelpers.rblvm_buttons.rblvm_devices_table.rblvm_lv_attributes.rblvm_lv_description.rblvm_vg_bar_graph.rblvm_vg_description.rblvm_vg_devices_selector.rbmain_menu_bar.rbmd_buttons.rbmd_description.rbmd_devices_selector.rbmd_raids_table.rbmenusadd.rbbase.rbconfigure.rbdevice.rbmodify.rbsystem.rbview.rbmkfs_optiondata.rbmkfs_options.rbmkfs_optionvalidator.rbnfs_buttons.rbnfs_mounts_table.rboverview.rboverview_tab.rbpagespages.rbbase.rbbcache.rbbcaches.rbbtrfs.rbbtrfs_filesystems.rbdevices_table.rbdisk.rbdisks.rblvm.rblvm_vg.rbmd_raid.rbmd_raids.rbnfs.rbnfs_mounts.rbstray_blk_device.rbsystem.rbtabbed.rbtmpfs.rbtmpfs_filesystems.rbpartition_buttons.rbpartition_description.rbpbkdf_selector.rbstray_blk_device_description.rbsummary_text.rbtabs.rbtmpfs_buttons.rbtmpfs_filesystems_table.rbtmpfs_options.rbused_devices_tab.rbvisual_device_graph.rbyard_links.rby2storagey2storage.rbabstract_device_factory.rbactiongraph.rbactions_presenter.rbalign_policy.rbalign_type.rbarch.rbautoinst_issuesautoinst_issues.rbconflicting_attrs.rbcould_not_calculate_boot.rbcould_not_create_boot.rbexception.rbinvalid_encryption.rbinvalid_value.rbmissing_btrfs_quotas.rbmissing_reusable_device.rbmissing_reusable_filesystem.rbmissing_reuse_info.rbmissing_root.rbmissing_value.rbmultiple_bcache_members.rbno_components.rbno_disk.rbno_disk_space.rbno_partitionable.rbno_proposal.rbshrinked_planned_devices.rbsurplus_partitions.rbthin_pool_not_found.rbunsupported_drive_section.rbautoinst_profileautoinst_profile.rbbcache_options_section.rbbtrfs_options_section.rbdrive_section.rbpartition_section.rbpartitioning_section.rbraid_options_section.rbskip_list_section.rbskip_list_value.rbskip_rule.rbautoinst_proposal.rbbcache.rbbcache_cset.rbbcache_type.rbblk_device.rbboot_requirements_checker.rbboot_requirements_strategiesboot_requirements_strategies.rbanalyzer.rbbase.rblegacy.rbnfs_root.rbprep.rbraspi.rbuefi.rbzipl.rbbtrfs_qgroup.rbbtrfs_raid_level.rbbtrfs_subvolume.rbcache_mode.rbcallbackscallbacks.rbactivate.rbcheck.rbcommit.rbinitialize.rbissues_callback.rbprobe.rbuser_probe.rbyast_probe.rbclientsautoinst_manual_test.rbfinish.rbinst_disk_proposal.rbinst_prepdisk.rbmanual_test.rbpartitions_proposal.rbcomparable_by_name.rbcompound_action.rbconfiguration.rbcrypttab.rbdasd.rbdasd_format.rbdasd_type.rbdata_transport.rbdevice.rbdevice_finder.rbdevicegraph.rbdevicegraph_sanitizer.rbdialogscallbacksactivate_luks.rbguided_setupguided_setup.rbbase.rbhelperscandidate_disks.rbdisk.rbselect_disks.rbselect_filesystem.rbselect_partition_actions.rbselect_root_disk.rbselect_scheme.rbselect_volumes_disks.rbwidgetsbase.rbdisk_selector.rblinux_partition_actions.rbother_partition_actions.rbpartition_actions.rbroot_disk_selector.rbvolume.rbwindows_partition_actions.rbissues.rbissues_details.rbproposal.rbdisk.rbdisk_analyzer.rbdisk_device.rbdisk_size.rbdm_raid.rbdump_manager.rbencrypt_password_checker.rbencryption.rbencryption_methodencryption_method.rbbase.rbluks1.rbluks2.rbpervasive_luks2.rbprotected_swap.rbrandom_swap.rbsecure_swap.rbswap.rbencryption_processesapqn.rbbase.rbluks.rbpervasive.rbsecure_key.rbsecure_key_volume.rbvolatile.rbencryption_type.rbequal_by_instance_variables.rbexceptions.rbfake_device_factory.rbfilesystem_reader.rbfilesystemsfilesystems.rbbase.rbblk_filesystem.rbbtrfs.rblegacy_nfs.rbmount_by_type.rbnfs.rbnfs_options.rbnfs_version.rbtmpfs.rbtype.rbfree_disk_space.rbfstab.rbguided_proposal.rbhwinfo_disk.rbhwinfo_reader.rbinactive_root_issue.rbinhibitorsinhibitors.rbmdadm_auto_assembly.rbsystemd_units.rbudisks.rbinitial_guided_proposal.rbinst_dialog_mixin.rbissue.rbissues_reporter.rbluks.rblv_type.rblvm_lv.rblvm_pv.rblvm_vg.rbmatch_volume_spec.rbmd.rbmd_container.rbmd_level.rbmd_member.rbmd_parity.rbmin_guided_proposal.rbmissing_lvm_pv_issue.rbmount_point.rbmountable.rbmulti_disk_device.rbmultipath.rbpackage_handler.rbpartition.rbpartition_id.rbpartition_tablespartition_tables.rbbase.rbdasd.rbgpt.rbimplicit_pt.rbmsdos.rbpartition_slot.rbtype.rbpartition_type.rbpartitionable.rbpartitioning_features.rbpbkd_function.rbplannedplanned.rbassigned_space.rbbcache.rbbtrfs.rbcan_be_bcache_member.rbcan_be_btrfs_member.rbcan_be_encrypted.rbcan_be_formatted.rbcan_be_md_member.rbcan_be_mounted.rbcan_be_pv.rbcan_be_resized.rbdevice.rbdevices_collection.rbdisk.rbhas_size.rblvm_lv.rblvm_vg.rbmd.rbmixins.rbnfs.rbpartition.rbpartitions_distribution.rbstray_blk_device.rbtmpfs.rbprobed_devicegraph_checker.rbproposalproposal.rbautoinst_bcache_creator.rbautoinst_bcache_planner.rbautoinst_btrfs_planner.rbautoinst_creator_result.rbautoinst_devices_creator.rbautoinst_devices_planner.rbautoinst_disk_device_planner.rbautoinst_drive_planner.rbautoinst_drives_map.rbautoinst_md_creator.rbautoinst_md_planner.rbautoinst_nfs_planner.rbautoinst_partition_size.rbautoinst_partitioner.rbautoinst_size.rbautoinst_size_parser.rbautoinst_space_maker.rbautoinst_tmpfs_planner.rbautoinst_vg_planner.rbbase.rbbtrfs_creator.rbcreator_result.rbdevice_shrinkage.rbdevicegraph_generator.rbdevices_planner.rblvm_creator.rblvm_helper.rbnfs_creator.rbpartition_creator.rbpartition_killer.rbpartition_table_creator.rbpartitions_distribution_calculator.rbphys_vol_calculator.rbphys_vol_strategiesphys_vol_strategies.rbbase.rbuse_available.rbuse_needed.rbsettings_adjustment.rbsettings_generator.rbspace_maker.rbspace_maker_prospectsspace_maker_prospects.rbbase.rbdelete_partition.rblist.rbpartition_prospect.rbresize_partition.rbwipe_disk.rbtmpfs_creator.rbproposal_settings.rbrefinementsrefinements.rbsize_casts.rbregion.rbresize_info.rbsecret_attributes.rbsetup_checker.rbsetup_error.rbsetup_errors_presenter.rbshadower.rbsimple_etc_crypttab_entry.rbsimple_etc_fstab_entry.rbspace_info.rbstorage_class_wrapper.rbstorage_enum_wrapper.rbstorage_env.rbstorage_feature.rbstorage_features_list.rbstorage_manager.rbstray_blk_device.rbsubvol_specification.rbsysconfig_storage.rbunsupported_bcache_issue.rbused_filesystems.rbview.rbvolume_specification.rbvolume_specification_builder.rbvolume_specifications_set.rbwidgetsissues.rbwith_security_policies.rbyaml_writer.rbscrconfetc_mtab.scrsysconfig_storage.scrYaST2org.opensuse.yast.Disk.desktopyast2-storage-ngREADME.mdsysconfig.storage-yast2-storage-ng.commonsysconfig.storage-yast2-storage-ng.defaultsysconfig.storage-yast2-storage-ng.s390yast-disk.svgyast2-storage-ngCOPYINGorg.opensuse.yast.Disk.metainfo.xml/usr/lib/YaST2//usr/lib/YaST2/bin//usr/share/YaST2//usr/share/YaST2/clients//usr/share/YaST2/lib//usr/share/YaST2/lib/installation//usr/share/YaST2/lib/installation/console//usr/share/YaST2/lib/installation/console/plugins//usr/share/YaST2/lib/y2partitioner//usr/share/YaST2/lib/y2partitioner/actions//usr/share/YaST2/lib/y2partitioner/actions/controllers//usr/share/YaST2/lib/y2partitioner/clients//usr/share/YaST2/lib/y2partitioner/dialogs//usr/share/YaST2/lib/y2partitioner/widgets//usr/share/YaST2/lib/y2partitioner/widgets/columns//usr/share/YaST2/lib/y2partitioner/widgets/description_section//usr/share/YaST2/lib/y2partitioner/widgets/menus//usr/share/YaST2/lib/y2partitioner/widgets/pages//usr/share/YaST2/lib/y2storage//usr/share/YaST2/lib/y2storage/autoinst_issues//usr/share/YaST2/lib/y2storage/autoinst_profile//usr/share/YaST2/lib/y2storage/boot_requirements_strategies//usr/share/YaST2/lib/y2storage/callbacks//usr/share/YaST2/lib/y2storage/clients//usr/share/YaST2/lib/y2storage/dialogs//usr/share/YaST2/lib/y2storage/dialogs/callbacks//usr/share/YaST2/lib/y2storage/dialogs/guided_setup//usr/share/YaST2/lib/y2storage/dialogs/guided_setup/helpers//usr/share/YaST2/lib/y2storage/dialogs/guided_setup/widgets//usr/share/YaST2/lib/y2storage/encryption_method//usr/share/YaST2/lib/y2storage/encryption_processes//usr/share/YaST2/lib/y2storage/filesystems//usr/share/YaST2/lib/y2storage/inhibitors//usr/share/YaST2/lib/y2storage/partition_tables//usr/share/YaST2/lib/y2storage/planned//usr/share/YaST2/lib/y2storage/proposal//usr/share/YaST2/lib/y2storage/proposal/phys_vol_strategies//usr/share/YaST2/lib/y2storage/proposal/space_maker_prospects//usr/share/YaST2/lib/y2storage/refinements//usr/share/YaST2/lib/y2storage/widgets//usr/share/YaST2/scrconf//usr/share/applications//usr/share/applications/YaST2//usr/share/doc/packages//usr/share/doc/packages/yast2-storage-ng//usr/share/fillup-templates//usr/share/icons/hicolor/scalable/apps//usr/share/licenses//usr/share/licenses/yast2-storage-ng//usr/share/metainfo/-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:31070/SUSE_SLE-15-SP5_Update/64ae159d299484db1b4737cd2467f48a-yast2-storage-ng.SUSE_SLE-15-SP5_Updatedrpmxz5s390x-suse-linuxdirectoryBourne-Again shell script, ASCII text executableASCII textRuby script, ASCII textSVG Scalable Vector Graphics imageXML 1.0 document textRPPPPсUaJaioi_(libyui-qt-graph if libyui-qt)utf-8e11cab69bb6358df1b385a2c1929e9a23fd77dcc807a92e13da475bb69e5157a?7zXZ !t/#]"k%)%KXy{;i !"awpy3|"ŅAOӈ0i{oiqv*ʩOfyVՍf3A# UY% Z~pn Q}xQ> cL?K*_]P 3oİKH&B,GPqŹe5 Ҍ f- 8giZf6ϮBq09F~ amߦKh@gn%nj*6Xϼ6 ؞2\ZHK]l/غ@ kDT귩~(Ɩ.bP2hXŖ!(bŒzpOzxҵf%2,r(P>Cd tI!8ri}3 iO4p3dAsKOQ#2e;^Ե/|;F& ~+~Lɕ'ۢA6pl6Ӂ Nm#$܃"azne #^`Ȃ2GBa^?$f~{]҃'cW͈?EG6|Z\SfT"IDZ W>e(o)ޭvV:_Iyfu:};Tt6W1ch)zQ@`Ce4+X 41v84"I. gM{o% ̄ұS72KRڲJId7{vE/40K,j%+)-L&r|'ȏŪc:!">nݴ| Te|h0gf] wY0!%m3!"ލ˿xo1??|(ͿI" $Lͩڐ<'NA 9=1A/9@-c-􄊿:R&‡Vn&qB2_v-- )bdCVv݈hΣ2DPUw<u =M"B|;x$DWʘitqNfJ&L6sKd5ƌ > ;)B$4<Gdw|Р +EnQžY,V4[l~EDyFƳNkr ;]% G+JyGnd^ H<*A;ެtSO'7E=F:FD:_iP'/?Tq98j97]ؼObrs/5%Y>[ $yP͑6ѧ®+}7%md2qýquuv@Þ]tc3=MikוvVsw;\=Xs=5YYDe!Aa1M`>eJb`TBt\9(j#͓y@~"#v;pC!=mn!'L&`Z8ÆOGa`_}c>)ڢS歛7&W]'T D 2a-P`.ʂȇdV賥rhOz"*^-6udcOhґD@ڗ.R$[ّT(huV=A)(4=W9h.qir)IyzXZ_`rWl̑?}|Rq\ͼ68>> o4RtNf-6Ni(\@~Uj&@ )Khfɱ2F26 EwC2t% 2AYa%17s1P, Ԝ2bOygPE"mGV4Ph^rtۆk]mx^R.rݑF`FzKCf=Dmfv!#8IPWA Ӌ&ҿsR-~c"OTH8?aޏ9?;PXL $7]c3\2Ie8 `>)W- b{hH(rުPsN7mCdRҷ')$;iBYR3fԈIݡ;ŜI;!٭Ώ)&;䤡TaNk}N QUR /ҭ!wMY\|X+ |sbe8:q9(,.tBT.fi=k),HZgc8䃓Y.=Cʿ !OCls <6{+O'k6#N;a{j9O*{DxQ&ӟLs2'+RrS1F/ ~/fׯLeؒ4znye`8$N;uMRfnHyyk1^= Dߤ$h%^B .hEesEޓgҶWnڪ$r\hk~3XcZ-W{瘡1cI#PP)m'}gx- ώ]FSR];ݷ|쳦z(d5^FDqX"l.ĎQS$.zg Џya(7m?c"ӮJ$CiݖㆳǣAzI3 YBӴ]}EHɋL;,E2ځR jSaE9K )"bw̓G*<_>{N;9y Bltn) Jۋ,#e-!f:NEG*mmpHFjV8N]P,x$h~B%Åj8]PeT {ppO23xm闱AL/$i19xKHya Z(t:J,w-Y(GUqft>*j{l< /<լB%j.l,dWŏ%?q:Uڏ_ q'KS>+aIҀN)a`MG/TG4]a[h_5 ª.`) S2>uMB#w^j *NψP:/[T1p*fn/wSZN3IƢ2ޠkV4l'Ź௶ZT* 2\F&>]s*;ӃO:ʮI݄p[B}5)ݢlB _ Ŵޠl4N"TV8 }'rf|1tZH5MV'A30şR7$6eحOן;ز3طB#KlH/[`ށo~@7MONj9eevWK IHjtAt+ggƪzp PI9ۇ-\JD,L >>jYAM{@4Ź gO߳}6a&^OǫuN Ք> ӔGY{qy2]鵉o2ؔ>8*ĴH Oc( ;{+.']ڒ wGp4*C9~|6f=+ugABD씭}?QgD*hSM̌Vg p I@x7:!382 7IB$n̤3}D F7e<ˣoYqىt6rǺ`'B7)Ѝ/83e?zgZ#h}Ep |i}\CƆq}G;OYW4id_H ,m=K5Nڦ#R%Y{RdFS~RN,vgWoYiw%uȻ'k b8OEaI2Jp+H2(5r#Vvez| !1{AYZ::t+W/3Y̞[^L72߲-,'j%0|~'%;&LdYm>δk|QM[$r̓F6 gmCE~n7Lm]ub_RbI'7"[},PR6>GR\Tg|29V${K.3T\,?tu ^ Ap-nQk\&_tBGKw2d5Q ?0`ư{Pa]w@YGO3[J@H>K]K.=q36G<ϧavL !=ىf[jH$,nlpluj091]K(qq"V;޹෱|}5Sg\Kb)YFïU!}.M!"uD& lfz٘BST m0!%>R~& f;WBIxspZMp%<ƦgD7˱{R"sx%X|Ufag^ ErmwM$]})/qG!HuN \Z ^,>6^Y*/?qHmBǸ -8ƈ{6x4AG<1+te'mI(=H;+ɵ˶Uf-2zTc$~0&Ʌz (l(:tIW&Gӝj.Ia{Qq>Y?06{zO\=W0m4_ߝ|m܎ZT2&6YXɿL=z}m㱮 xFQ Ґɶ;enQT6{ `C3)wGX0B oʌz`߆$9)St_ 3V@  Wt Bg5k25v#ICur mJ3v$1?W]R-ƃ,{`@Aq"  mʯ]>|0%Ǿ3ABz˙@PTY O3@Rܙ#>ʩLb >qk! ߆X]:)j|*d>RIxD!  7Ngx k6e]T*NEb&S TɡWd%Bb;=KϕT9Ht$esQMxm^[rDo(2&SΌ>9 Ņ|fTmOE)'qex_8/A7Hh(u 4b}֑ 6.m.sI?3R&G8P_rr~wɴ~p덈&}cG!R~ƀyvѰ!B'!^Y֝)ӌKtR~GL,z٧4Kc[4^J2GiwWU[3׮UQ]$g<3e]DϜA vp=b OG2z'm—8umB a1M-_moXwN) JsX k3כT3!+^mD"r #肍@N EOi<@e DY:+cXrSbiŭ ^]OAΆv.C)qi?{;| $iNKS魵mCWU%/DS=ss}KɎ`@:;*(=+J3cl3$쾞*x؄]~=4J 3fJtR$ oh#EqO됛|$JpcIJ$R;Yk,r4=AFW<;LxأY$@0TAOxy V/*QT̫Ix;He{;?Az3ERj^ďIXY#+f=#3 iiի|]u?QР]5.LoHRǿs&(8?q), $oՠ~19rIw91 );uYs`\.ZP>2>~mtU2X`?EMKnK^W:Scf+m *==,6tMuh p'lNCRknJeV+H~XM$ W+n}QUQMrS;a?\/ZqK{bI'ޙJf1[Ϧ=' @7^U{ƺuWpPnf_c!O#H38j5VcD=`"]tC+3K&`Mm]y&{=%lU90a|  ?}Q11.A:nv >B?ANŇjD;횛 >5~Ĩf-L&2uJ0i0TOaP!;O~e/]p,<34}W6OR1tzkS$jG,hIMD3{2Rzqo!<!ψ7vt~@Z^:4z])B1qvtF?-sN @opcFЯ1Dyxa*0 S:PFe2:l!#3Pwet5`E3] Vh)DA9&cZ\*bi~Ia ˅e}7~:񾎉ޗ#QWTlϴ#)W"*(/~@m-WTvX hh:a4qު4)L$u\Y^*:z+GՅ 䒩Qͼ_DQ~Z$6)rx{`Z֚]jdPNP$I2PL.p}v<n% ?"5WוMzJGA )њ+4Lo9ك ZJ/&~j|0F pnÃ(cf`B.|G%_1F{w#3osf`*`EA!*au& bKZ^7#?70r d}n%bhfL7e UR# |hUp\K߼FqO &-rO!! \ΎK!~yD0_}]x;3E\˄FnL@;(B?g ;CLWLWNgODPCjbkpZzSђ *+۠ <.CxY݅ \3!N_ICt$!AjrH^#J hG)z_u+Ze⑺6",KM΄xSzdWRMͬ=⯇MoZmGiEӍo dT"%wJ-SѤTE/)5\~Z`sst#M _S7w)CBn)bfMZkN[\6e_65ť )O \$T ,SqZoE _y]2ڝ/[ZըF[vzi7([Q:V|":KP&$_]#\ͮaM%{׼MĈ#7rnK}E%dc[EdJ|Ҏ~bRo^(m32Z 4t:6߫F~gYmB|7]y6uhFNe2/Pp.pFbO!^˃nGý="R@=>$59׃n eF;ÑH:TJK]Uǐ<ybnV8 > +9|BWִۢ?J/-A^mO)צ&PR|MVF5=7p<b=bGsV!,6jUeIMU նvyl%lIl}#Ή+3Tvݩݷ#c,j]x̦WAp0Zىps\HKVCT egN1e$A(QU_R -B>J3a`Z5H󋷴5 ;yҵ)?J p7mVFq m5PuWW[ڦ7>?Fcg1co0qw&ѽF~ft_Q<]uֺh@/BʯZPpZj3&y 7s؎Up(1ujs쇴Zg̸:fb1qI^+wi^4 .#{3z9`W)Ӆ+s& ]e~ e((HFځZX+'d.$ K.1և0LșO&y”4yHOK'őUhzMn?:$8;.PZ ۺuZ($BˬqZ7B$.<1@PKO8x욵FEE87l_!1L*fJlKcRzQS՜ RfN;dCۗD_F^̧^nTAofA`j>OLBЪcZ X^{QrheiH44w*QKω˂'*&t= kb*oѧkodG.8iPw(TZ-sA f )%ȯ0g&!=59yxkg%AaYrs޻;JX AG, YYWHƖ?JG *GPJ_ oWC=?iWK &;=y3 *@>F Na' 0?;x׌QYvNH"6r{C_QN5K't7߫٥Yj8K* *1 K|5W@ya;ʛaZJ\ZOQ 2n-PSԅ=T{Uzl9@V SDmwxp]0\'/%O>}$`2@|)^}GlcCO ,>N 5Qw G AHLTZͲ9 Jza@Bn DܛkYKMi[uJy.4E7Њa(5}~!հH!e4c+ΰ(e2*4*W2$ dZ+(Рi AysTJ$Ȯ2) -unvIj4M9y\ ށXx=l?1Yج$rl ϝhBuP[@.ȔWV`!$ g#S&ganV.bU b`crvo26"/a!Xe xbLO(C;< 2CùOV,qE2OJAhA+:@`dIg@62ݸ9^^m.8 2jȝ<4w)°tƠE~YeƤRZ{cimi$64PI%l3~) mc]@ 8R"սgA|$V>zLqqpcrM|ԯEX镒otb7h b^90D\8mUp動EvbU[{0X, j F}8АG'g+rq+%m;kDc0QzJҙEw[,^ʞŋ tU|σ$?d[_E/ʞfas} Rx`E|k9 F>µrJV7r<I+"-)]5A'A x,%6*v6:g +t>}LD>q&NPxN(c.>;e_fHˮfvHϥ*~RDWD˰0o.l"d@ )A,A5rŝ[Q@3 #ںPTOa+ \݆v5^1wX5é1ԅ08JS5j0ɨ.-*^_Gb+oTgxMN pnZQwըrt2 ;`ϲq7ڋZ7gvQcq6vZk6?1GHr0 0=pP ^M)fo;jJ2~/rh#kF: A_YP' +-&ntŃƖC#~pGGFޙ+0"A)fB-m3a%X~wxY C"4KQvY6N/r^Q6^Q4y|8O> A)&g#IeC¥i Eu05 s*$J1ƶf:';#YY@Z Qe> 1>D8}b ,+RT`xjPp!Zr;[YXD(~5~:o~* E.z'T~^+JejS6F( (%U!NՃ>rԑAee򂪃H%p3v[fTh˝jfV*~q``/y<[#KroTmV c^A -Jwc)Q`4$faäK|s#Mi@?;Yl\|<(IlX+Rp &#p쵍o[=wy0~Qp3fvu6pihP;rEL2菭zP znxZjV1weݷ3m| R X\OUo,l?z}#vg;UnR IJH#ȑkSx-/Y*Z#:6"Cѣw!@>O (eR*8CB}5uHn4g9@Эn"SP$֥]ʄ,?d L_U~üѾG'rK;ȹlXXUu•4бw$ (?Be랆vDn%3c5.'"VWppT_b1XM!' c/,1d{JI|eIOuZ󘽦5xD[9IΈK;/_ ᨟# / A-meI~33=f~Q2'/ǐJ}3[/l.; p,S,kDd I زu]Mak.{i^.茚,q K{,8 nћ~iӪIbc5`])ž,엀CL^ OH+v)f;=CW}[F :X jC4~vpYr* ^,B$ ӇL7"( R4άo#pquѭ<|`mpkr7A%ޞ6R%~cpBk8Ј+c}LnNU@]QÍ 5a <=Ӗo<=bM^,p`02ٍ=`ם}M+}׋ /B7G[I-Ft5@٫e8ZFŖVKĪg"g[˻$n %I6JM["LJF'do!. o v[0U+8\HY#qR[g{~Ք[Rtx3G`b^(nhyqvC5sY7D(b&N2|mH8 ߁6tM +oa;0YFë9FcPdj,'q5k U?F_U ^zKۘ>OK+aC?((mmVrҙ a4j(W#w5%8C+icjdGwTyQTW֊4Nc#x2X@=q ."$$t*C ; nJW|8`R~3]((Kԗ],cUh,!nxA#]^G|QlIX L^'&?vSÒ[:/ZPһ[ﺛjjJ,<{)[Ꮡr)Sq@ݺE8,DK$@oJ"thAR\!J5Vtd\e}ܤKs $Z-~/Ip7-P}(qF Nu'/lMvZV cKmS6﹔բ%Hxݚj4إڨK,pՒ{" .̽6 v5W91Rq+yuS'<{G{xSϒT̞?b:#9L@MĈ>skwƊ.ο q:>tc.ֶO |'6<'كCXK65rBuOe"yM,Kl,q4oMEΝ/ E' [kl}zI jPJZ-Z Kc" K Z: .6JJH.GUn-U Ҽ䓩'SMnگw HGMm8>3=bbٗm9 i>иyX/ >zQlx#, ;Kwj@Y M%̇nIAVUį|gSi,7\9=wҝ& ?8+qGsOO7H9ȅ_s4B{!4)8ff:Aupae LXR#ҽ߀Y)t H9 [DH`|vK?PD X| f eK)˜Wz~CP=P++ 6 `EPL0t{#m2eG -zY7M_*XߚЯ^RrP|Y-S_}>@ {ChR7imi`&=ƣ4"ȋb"G 6AiN'8YӐ 7 bi2!펓BN%u׀۠MX6xsD }f„&˭=DuXSg`3+OUvH9w40ccC ْ>|2)nVm&J =yA~&T4-Nd 3dxLLIɒ:L޸_9iCA0J;BX@.7t}5c> -" s$ϟgTOD NLS c1ULSpl Ir-SB%ɶRl.xKGən62~)܆V~(1G@ۭ7Y(Iٶ~a7"Bɛf;{k6W8X-Ejyqu2Wq)Mݔ7(`XH}+771s)?{.'[.@ aW_JYT0,~_^ʮX=.%d?TZ21` oJڿWc> yjiް߻C[?(UP76)9HU1pNxjXWIAR:+:|Uu\HeF -)ӆ 0.(z0vZqzBs(D$<+s'!vsqlUm"O飦Qd>ZxSTX t0Ya=n{yS_Trĩ` qZVyN8o|x 9pߎ;lZu e `&p?]A`1φzMK@̜H׾K`@x]`x89URݑ(s>hX^zHu<ѽo%!DeTY"S^E.[Tx4O_j6TZHE dfP!O9Zz3a}X1R|{ׂTD=`I[Gͪ`w(_qM^kV?4mweuR[)9x%Dុn@f %)8֯9?t>dsw& :>g EI$zDXoè Η8m+vnj cQ2{Ї >ll񊱝ϫUʝZƌyc8O=FRW_gbK,`_&P[ؒĪbEq*HGžݜ3*cHn!P!)4eh:Lr;۫{?2{(@?sA" \(e 0gϚFPkf9"d9;Uu%,{ `dF\1靂>%cRc2W %G$gz(-eq٢DʽT3@={|Vp @l|W^qxAgw:ر}9 t sJ‚Y'轺u2B.z ~4yk9N04c 8!I 8^Pp7{6ul94fNH_P!ecYXncػԓ]J$ w:s](a% I)<[̞(g E|ɸQhOj- vm,u9{"=>%%Y+hxkh@Z,{GwWW NEMy:o&罟y@3u^y#XɹLqd>[\El O^7 G'^q#RI8WHL )OU \2|EE]ha$I/4q?+[G;|m!L)_ _"1h?-Y,EDRQj5[ TۛDB/PR\fCad>;$@h T8QdnSͪ2? ,9#wHZ5 SP<'wc? @W{5wMЯR,VVSE+Adh7{WtH<:o:7&F Â4$99xRB܋.e27bMbU 3xP~Qu1?i;ڔLN%Z#ٮX= xDQ5":D `ȬS"e&ޔ1(MOqtw)e%a|9,K˞rdGڔjrByh'_l6J2?Jp=~l2B%k'gV& \.j=zh\jJe RT̮qɂ *+ugRRj3EG&N긺'&_|o^2O|Pdܿ0rTȡ|=0l1Ka8:'!Y:6lN&RT ,,vq3Y51C|E2Ӌ$i2.sepU5H^ .x | :Xtfڭ\t: UX:u@{b$܍d.rIyť~ɽ|ƺ];yv:{ +BEoxZ=o doro,m G\!~م! \$l4bI(zKp{!AX@_]V .t|d`su9D=nD,FP1WfP=1g6w_!ܱQ죿3J?3dX3HtWbWjTnvܨmzL.{ng:' ̒<_LSn oˡW`G-ʊ!l?"v~%? ~cuSV6tI[t} 1WPC"H9Kq¦>5HY'>=QE1 LQH#VփW*E zWțiF85" 3F̏/Uʯ_+ t `<>Tg3drY@6L!ZjHSE_>/pG~9\^5϶@,V!w 8ßaMeVBjMaZnk~/>K|FmU9L܏Vdo7|&hlr#Sp7#ؿy3"gO8];dc iEH.h k>rsgL$UѶy: T7ԷW& n3ך9C[}1Ï֋ yN8l^ Y:Kr!6ےQSXMm6h_ࡺzж48 j}-).WBt /&vwë1\2v%Ђlum@dL~B$ĿÀ; :{=jk8\ٕ Ras䁢RGƊ ǖZ3y uq8D>6ǫykmn Ciµ.-\<ħE(KB-|J\~\` 0,w֜H5AC*z9 LhŒ%ZG=UF@b%)R}I){ad:qt'{c-"3!J(? }P'cVҸ%O5L{ز# S_. "]X`j ɯ$js+ S6HOSގW*':脼ɾ` xN(#SL:Гum#G :lW5GvyqꆪLY(ob&ͧr5yǬ0_>Z*#x!Jw@΋w"q MY-gqwŔtq6&\6ǏAqư9~`RN JF=Os=uaHXRR+O7)V}P*,qӳ>;12W RvxvB!~%DKeA[VW ClD97A7,\h0֢9l#jNܑtQ(yA*mFuј2# @– .& /Q,h4ޒ`, !La̫Q̍!h /(!>;wƸ ([PjC;fڽ\l RH.)R/$ T՟3Tgc>E]r*⥐WFOb"wÐ ,E ?-!^q`(uEfm+3w9o GgTƟ ]eoX*TAuEX'_W 0{${pX=un-"g[vf!|*EB5i5XY uB}jg)aACvfcMN灘H@$VDdi xDL`l$'#*045 QXI ,yF5R&;UIeGK08^g^8_G`b|n,%p;O9FéĻ_fjWQ24Xsn~P y0k2 :(d1]73\oEGs!'៓jdO):]/?UyWj&hq>Y -9f""@K:aY7n`N"0_- f >An)r )BA>CL )Vo%y#^!R>;}o=z/Ib#Zv7n'| `l a\)fK"9@ו>4e{DoU'Lh˒s& w8/_h]&d% /0x[s'QV݁=D8\m;5{d'dT!T8A;)p9ݸ<)A-tT9ۀ ԩ(R %j.Q4aKERʼhɨژ6$3KٞBf!4R$U7Z/q]|F "1Ryuɐz\fۍѷ{nXfr3ya"Z  spzaK;  #m*}Ȑ (w:(Ƅ-Ш}m9[m.BP`Yj!t%nQӛ (p]8dOv2H^Qv Hã~X׺'TrJyG;0n`~CfjZF! _m֦-Iya T0Wr(x8* yS )^i )7#?r y \"J7^AՇ$y|wg^u89IqYmL;gQ/୬1 B냡q{:]O) bEʒ S$l=R-t ӕr:3&85K_(d1sS'ɨ9ۯ:JVQ[@)2 Ҁ1 n 6UKܖ)и`<>Zļ&[^t@QU^=&c*[1me 2H\䇑U/7fwG'U c{H-퀥낺VSb&R,8{/Y}<]=~״m੐/袹Euh>1:D"?bًh)EwiaJĔ.̸Z41 EKbnGkLteji&`ʜ'?ʖg4 )f#0*73k(2^,2.80 +DMYu|D+ R@smZgzO)kf]J&mi^?Q8"!laZbpnK ,3XXΉ8H7: >?wlmB{ M&UDo|)zam8n)C+YmΒN+ VO oo,SjHjƴYUyKt,剶[f=R>g[)3ImCR]ʑSNk5([baB̏ZJeci}G-"~!-Li{M&#ƌzn%-x[j$rjBBvzªp1D4'JCV;뾕%1ۼ#;P>[9ݦrfzKHΏS<)KGyl~[l(V\<\̅|-;`$6/F K?2b@U3˰" VQ棘Hh(,Vbld쫛1euNeYeq=S$?Ko$A9eC _ݩ4$$]D80z} *[+r6.чRO(L(F f34ZKkV8~{*(̱hBcnf9r0LÍtB4bb>9~7 ډ}ֻGV<+]jh5i׈͌-gֈV?Tf,rolk.ƱrM;#K-ymD[j;lW6P˿@ʢ.3}> FSJ] am}(1^i,Aẅm5<3z6y@wZSxoMW(Ê2\(* +VJC1h2iY'{V2?H&E|T>5u],IxǷڍ^h{K3?#"*N2#VqLVع p&\m_} C) LgL:EC~H0 뗟f-+Ǽ¤LcfС¸4dQʡuo"<,.DYIwoACjDh6U!>`E\CoJk,a͏= Wן\jYg3-1hp)Ta5Ps.h'O}jCoā(&tI0@Ճ0i B0@(;0 wg#kD)&  XqtC"&|,"ᰈrܓbO'e^,cR4b'g_9/RTRSn=(dvT5ңkk֧8՛眎Ȣ礅N\h}#qEyN.uk9!Cc,{>6*NKѿw3' jVy|E[IJZm2cHLl5liﴦu.7Oo( #;}Rz odǞgC~[8kެ!)Im54n] >*#k0NqKI6/FWOq7- .Bc>9S,/Պ o۝W\Ƅ="3:X`F{嘃'F5`]@0|.cjfRgilBxjGҝ{F5:Ym偭}rq!Zfh*i?t?F0j6a=5?bjV]fQO-meYI\=ea%tْ&yJCBweYL)q̜'hF!Y"'L@w"(D 9&RPޛ2- pmP)<f$3w{FFr=m-Dw2s\Nj~1$/73FX[-6=2HI*l$NjZx/-uzAxqTRa N"xL˪ _99e!uySj\PMUlU=!l\ *#4@hQ0a;iJ%n~Y'Vf|8};z$]Uw@Zٙ˱<à_[-MGb;m!&D܉TD`C;3nbN^CZ0 ` ӖFH+$͛ x mn6bTyfS:5Zn_Ӱ~6ReDC!6L/90E% 4ku lhWݿk MDݞ#ȒkHx뮉Δh4=gKR[hn~V xX8׆2rN`l5tF4Ôչ9 `MdU=N#ey3y8eYWmI:rz~Ƽ2ZQZ-qy`lCTGW) CFy8%%g`;ak>h$hP7=nCyt5"͇5,*vygDPO $0'6Y;oW~0˗TGCB_/.K8tӔw݂}bWZ Jgx`:sn@bxR98%nh*J(GoYN7ŪsCaT/IjŐ nzeuٝ& v/L2b\޺@Cv 9 -eTU){#5S;(|tD̟rs&xkin@K{ _5$C+3/7ID3u/X ) ZjzvB{Ijt_*\ׅ} "_G+LwQ&҂qzs+ Wʮczh1%Yt"ǂmI#PO\]¼٘_ 1.3jc"2@m6j\l\Pi.3$ (9ܒ : `[0ۂSL̸]e/ \ vR 5Np05"3۪ 'Ɉin~e e  |yx9ѽ|eFXCE:|.)29a tFv KR\ܾO}݇•@kYE j"Z2qiG |:./ފe:Big&z5|%"LnI{&QxeݲqFFJf۰p$˩VnNly*0>֬Nsl5pou `wf`w-}32ܕf<Ǘ[4$%[/qv*JQz?#ܝd9=A/[m#WsT=.K}IvqT4<װ _!YGkɁݛfJg٘BCCbhZ!JhZDzNnWrki@IIF?!ijDz5FQbl ӞZ9'cCΛvo F*诓~5 ~œH Jޑۿ\Kl˺{ܨH[x u-L8`%pmg[ 拰XvOp(8v/7KjFx(Un({5u&듽mRa=.3`c9pG} ^׼f9V 12,1Ϟ?J\C q5Ԅ٨ȀPmpY1nc{EΏ̶$쏅fP8y1fKbrڰrڸVcp]sM7xB޽vbw.3K*Sʡ *eѡljbiQV9J[]&(CVD~>M< M涑uOxuFzAX)?*  p6!! vE1Dǻ *ݨ0P4MY IqIT{U}KA,)<w2D~8طWHnAG;`9,ϓ jY_jULKucBN.5@스YM.Ƽیf9:ЖgqS35EQqyB3%Tૅ0d-XzLOF_ɓBEye :X%s +lx#SH[NbJ3e3Ţ@Bx]sѐXh;H.!w86)1@S9g8#cxDʆVl@*yMs:Z*]VJlyh(́"Alg0!sTeٱDLzH ~dCA7ǰqf3gnc~6~!tc6+n*yl̴lmsr~;a"D;6΢sn-ezm%RuJ2fxR`?֖ ,XJf"Ьg"0:76)3!.az`=7i.o(_9JK-/va>PkѥNI-m k0!["2NU9h_"|F]ĦKրPc*PTSx|I~ *‚H,vpr <@ϯ5"`j6ڠJ?B,?K 4S'a^)A?'ˎp/Zu\=||*RkSYu r-'drҙqzHeGxawKvu16.$vyPnR@ה"sPH6"Y9o(^ÔcU,|vRrSL'#r(mli19&$339V{h1v?jnU9H1@/=W6%:$+\xJ9u!e)O7.>d7 M`pY,K;ٳ_8 ` 7VaQ.)s/$7H ٛuzW)Փ>q73FXDV \m -*da[=}(/y 8ws+#+6FpgsT] VOl9T V:b+} =S4Mކy#(z mN_z+4s7}2'|ϓ &0?날4SŮݹ=iq!^7VA9E8!mmn`C|ihȊZrn$WƙU2@{72qՏ$=‹B07ET}jɠW#C8NtS_xXfA"L] J`Yt:_f_,|N Q 7-a1`7A%k\7*RMw-T}W)5: =C|9QPʿoTLg0%`!fwZ||9t_泾^ݦ{Sڂp-7Of}Z8t*62.ͩIe <;cߛw”c-tQcCY"Sb9yGNW zB*{!Q,k'ªkblV{SdI 4jZS2&zk;|Ep>k$va56"ƽW/){Tr"ܠ^¾aa~5=EY#Z S7^0X:fJQJ_ogE)f%;^H`P.D퓌n9ox[Qe?݇\RL *>A^lKD E Jܸ޵ɩm$afLmYVu,M/?lv_ыCy4+^mYZ#v_ f';ȬMo+$YDgǨSɇs~wT! ekKqGt4kɭR %;n &lzH)YQδ F4=hG>i{Bص2 AW כi؁Sq2@5Bcpw/ޗ >cEVќDu gȑ}t2}2J(҄+%%8N*<5?-OM/:_F#gQȚ )Y+`F XY#-=ܲi(,s'|ޥ٤gB W]\Da~|3YnFv%! ȗ}SF>fYQioXh&SVCGV8a0 _eK?C(pvd rH,ּUƜObNW:|* }<یlk *UrLy wYŪt1-pw ѧ9$[a,~! b}]Sܡ5s&3k,c$voT[š.dpeUFj6!HS\z(.1kX9uk.Wdb{Be4FUE]w@|QoMkn耽u yJ?]YlMm0K0k*-7*+K1pؼ8vgFHXWK;!Vא ߑ9と^'1f6!:S`+N/T&\=sֽ[g{;U3BЇ ǹ(z#9i/)GSY6f|5/LYŀ?ZX+X$ |cvU ˿sI'GeT_ ֫.#NSvt()cʷ/O|`\\4^E0Ri<7|pU*}F8%F= NH>1?siPH,F>s[(F7~z[ #uqB5ܹ0r)ë~OEƴ}q6Ȕo)'DBWCknj2q5`peNCS{z?|j'zJ"H8¹RuS:pkvwUqƨ- +f[)ALEZB1h, kzŞ5'4kN~) aNMSM"*p| U?eLiO39Vm+vze6| 7xVuibi@!ЙBUT%Id,eK2ڄɥ|UF̦m(Z,y(JzVcb-X?O İ52]5%$Т ȆkKֈ`@w<'B%a^I$w zςOW7[N ^u1}oh.rR{D+~YtTCߖׁ!d=(Ff׏RX"h[I.nUtva7*QFKB딱6tT,@?2^DS^§ ]od+v.5-vֺMzEK(u$vQ4$/ŇgbyxQ{Mevv?vRMK]p8p@ )pǯy{Nn> X\Q w>u,OaRc ..g}:]ƫF3JMS~o:46 E'RTrMĚ?h ]ދ oPcpWuѥPjXsd:h`~Ωy9`nq~I6 375 dHiY#EUj{;ð,̇KpIЁ(̔?6wGT닥QЋEe ϐ ;Ưv9H䠉Ew}^)tzna)z,GZj96Dma³ȅ婻0GNJE{q!f9Оh"sML8lbZd=4)OH$+k3u5#T1r͐Pq7{ 0ȿQlX<GD0U6&oOLm`-@@ ²/܈`6 e(2c13A%tӦ_H*" 1 m1ª+PtdniAY)oG{J4].,wf4a˽/xCx':7K=JiA,R&MS+Ťߋkr(1#?A\PcK]"26';؜ RUj*gNhi[xjɈ -M^5SfvT1M] xǚ~ $8 P'HZ}iLij4>Wv F7cif|T":MJ7,/F$jPemΪk(*phǢa!0'AފP D}Bց Uc l@[>9oTU+He wiLo%;F>0 =.CyyĀCRs]^kLXLsUiB;KzuIl_B\c^Д 痉RK7{~ dM܏̈q(8Ъ841#A?gk_Ƕ^?(wYsK[O ^7[ؖun xE=7ԡB825x{p'y¥TsU$cycƗFIN hռ&˪hBv =55ߋTü#oBT$o%`zU'VqDJ|ݷ-(*fH{p2dǷSL?j8DjC-P*L87/‘9@?`Bb ;AҌv;Fʘʪ%`RNӐ?bc8ii[C:}ѲL$jS<8y0.0uș87J~WFA. 6fa蹥\R BL$r& Yilۤ9 M`{r04r6TRqtM9:Hp|/zmTL/nMb@?gpf.N0 {nK1 HP>U-'WriJ@3,42چ\@sdQ^kg&b1`zMG?h= .{+,*aA"5 :㓱N˗u[ C]HW*d˽uR/[0h0z {/m5<(hsRO6a+9?{Mjyu4kAjwN)P Z %Nf)>gO ռ+ ?UC@&@T֢J\o[~1UwA!oY }#Su$:T!y"2Wݥ7:fk,4f2֭I7hO.[r ш' n:DQ+mq;,Pt_Vic :ox$$[<Qє.cC™Ȉҏs@ J17s٨&0ջ)IYKp %ƌne 8U/sq?Y>㮕NtC>C ۃLbG 3D1*-t$>]i!k`n~5Y[/~ F-P@D1)%`mS&`_1@P]{r0gvrԲD{y5tTwqlmj}%ߵ^{#っEiViwpez HOFVj*0IyZz7 "_[o *T;Ϫ?.PX|c ~,2kb^p\t> jc\Qu%Lb.%,a3:`.Sέ|~?OuluV^K;3Qj,yq%E2m{h?gOxXem W}mg̗Ci`@RfҳeD۫RcljI')׍մ/r? k??1ᎁKS=m3s\e ThLs].yQQ#%vI9245WZ+Azm4'tPc=祆īeIJ$0JNG6ryB3-eէ*S 9aU2kg\[XRϐZ;j'PӒ۠6*[ZMonmjEXLp,mzBpsH]iH]atf{Ԗ1d39vQkWS~.\BQKv2Bs\9m YyWCB2\NNc+ \K7 /|Ee& Zc\#.ǀЂP{ISZ) +nq+:zRc' ]5+}DʼRaV%#rwz dj'?06I.8lxʍxInV_{0_dkqE.$[SSdM$#1!5׆=LdAq/(׳J9ՐsoEjx|@OwYbgy{h11ҸP"M A4ڈ튴+Ec^yv_/; 0wˢ|Q;#B?_y~ 6~wo޹ E ),K"_&JEX`FF8ePL JTDsԏ&>L.6q? B>?$fF%n ޿h?A_Ms?M V[/!Xo%Bb 1ʿM4\26D_vx짻|W=H!PR~#KS}̯4p@r܂n5n+-7T.#lɯFV3Yf'*D3x=ILnȆ&sp1q`>iNj6͚B4զ" Gd +_T;'eĆ諯ë zJ\'gYZD ] vyN:BIo`ۤk({ՂTYޗ8؈ܘFd37IFvI}AՇ OE5Ü!6 IdsYfDYNbsF~c`5eo-a3xzdI eOR9jե_vIm>L65?:H?Cok$M@x0艅IRB\f+~RD :R&Km ЊGd/h{tEc_m;B!+e.ú&\ 9i-nG0= ޾: >@nHXZ9jVw*֤|V]^B1n3k}7 ZjZxֵP8s]zjtz?b rbZ1Ç{?Eeb(8}/іBXEU4OKbtC)Q~~:G^Ea F{ 6†>m}RYݑ6"7 ȼr;VbM@9^'^Cp^?)Z` 3ond7@0uЂ_6;?;rWgSi-kou'hGH~;mtئx:x<\ T`r43O #L]xyؚjU[>6{8fN4h@=pBmhtE+}R:jZUBCl \RC< R_ 79V\SeHPOɪ^JњJnlCn73s6uzZ"X]p;Nx3ހLH\gOX^ =fY9sF_,S&aDc=rY΋AcʉM\=>̌mTywV}UK3D ,A:*(EZ\߲H*4G/dv[kݷِd{o׽V;i0}^Ʉ{]ipN"bI | ?"k]=Kܧjqw"iBYH܊-8\2cYz5 gXX+ =)!eȱ5.WG/>&bV2M}V5 (/ UeF$Gy9*y7*ўG *d<J^#d!27/5u}!pH,  9}C3q(|8T_hΆvƱpm"r=w@mpilPhd@8Wh̝w)3frʷ164EiCk!&*u5ysS ChyCP0c݄x@b0?7G/peGC3q2A;>0WNh‡b0bT\R03|ZtS-q/Rg18X,`hQ_ZIA^upw2CN9[QsP(9o9xx?R:NE,~#{b _;"(̄P ȷtVBt.wx76^~=%S2gdl 8& 2IR$%fB,U;=8 YQ)1ċmZ2CKXE&!Upߣ!VAх^DL{f~C>Wu< +dXfzI#&KbGsptg9|&O3OR]b7P6YQE|b,K``P`Eb 5QK_p!sM^MJБ1c6Od>&e+u;&@rfZH9=+L"PM|C B1!޳ hC|t'WNfqle`iCv -g[\'.LJ͆X?G@6!MIs51?6u9}U%%\̘ p\5]J9f4fEZ2QnF󎊕}nxĊ;H.k> WǺSk=g nSap9Y.Jyk 3Q# l?|>L%PzuLA$Kɝ`=z`|Cʥ =*tl%^Sd6`Ffl[M+3y1x##[vS>yJ!/  ûR+yտnb3v@ͣd<^١jb02Xⰺ1N m0I(| h7Jfl/ۋktB V >B,ir2н>e0suv EѐC[5w֗DNjD3(AeLs/,LOWКx˃Q"KW HPvC#Fo=/Ae ބIX$I F Xs`B{1IuWR ѯT{$prj H|=D@#]lV)Qlh&F'|^zB Lu>6EÔ*S󼪩ma"˪/%/@:MszkF8}D]sGc"qA}^B7YE2;Z=92^ ln=T;./4Z3oS\խjM q2"" J~+϶voqk.';vG{S~B[6M^Q^3;Z (@o Dv&4mͽd{[m׵#ҿ<+f1 KlYSB4~P|GYC0_{QBZ|N%̘mرri@E1\UCP¸.Am~>l/[T+q0vj堙f̴bVF?ǥ•}?YX7}S$12R>3DOmQhwg-$ *-/-#{2GtԱ(оyg(qH\)|̛[!Jsg((;k^&ކ5Jv"jտighjM]eFVmGcB`vខ?v`QFM" <#$@R$j6;(6St;7=E oErE0e$}~D⬶1(-ҁ2߬rh> s#3 >b Lm݁֨S>BӰ(y䩩8a[eV~vt!~C(lMFH 9 a} ZăQ\t!E #v\QtOVQW"f"u~u8DEQ4T'Җ؍ӀtCԷ ZwD@vdi~*mOoP4cC'p%AAxf~$ܵ~x2ۉ͖{v GOiPo! :l`p 6k9~4{  PX22PѼy@)f:7BӌuxJwZT⿕Oݖgq!J)3$miԂyҧ5tPP1V?%o =tCjN ?/xD{IܕKՌ0~B'>|-|_♝(Ii;`_҉iCUl/%rIh(O[V@e vC`t9|=Lk^ddp lQobNn)vi02^H}d |S/R@jp1}J=2A$ClxÔ).!*J ͓q&ԊWg"G(]uIUhn>}=.hCo@0|켎;lfcd.M]c{φٶJGZ6HzEܦI# -q ú@%И4䥨=.Պ1a/E?0 =盫qahb=i%oc[2iO:b$0SQ-w$ȱn<,w^ę6$ןI:z+? v'E7́UkpR\6VLF =2Xnc0vq2*]j{'ަD/>"w-a+fL鑘P+܈oMXܞܩi:&![݄8(jMƩfF0:s[٘]\[c`P UNTz_.@²4kF0Ss֏/h?0:i&e۽gr͙7x;qMAhE7ZgvlU kV&d=S1Ex$tFh)hRۼ"JGu;ɡ$(3$`xm 5X:=֮X;9}8l`;`l6 vdoڲΈC;LE(&ՌQ3S4T>\xqvXm} UIU?hhk8d[h"Jw|LbI 䶚R~JUwKAWυ5s9eXdfh 27=IɭJ]03sN=8#py01^ vZ 幷,5" Jf(˒_V̵*jh #"9ۭ[GZ܇  EdpUXY!gr- Ý}̊HySQlf4[i$\h$!3Pڃ'1cέ.5=j1 :]_T뚵J~;jWO2fΖIƔp9}Y 3[ޗrp>r\Fjj2'O`ui;y (`5FavBKDzDv!e3*#:>4&1{En~Y0TjT70U5!pFK\ĉRa@ϨEXd-3⮳ Tavz.LbqUKVy`Fd}~;cךAt(7d C&+Λw "0[eBO1oڬ!q"=,"d/w1q _? u즆@3Zh=UdQ4Կb jaSy:)$1&dx/{1 ޮsۀP\#%ߐs%j8:PtiLpH5'41tK"lC1p^cm_WӲa i9[+mڧșrVjgһ5y; zS"ur K:ò bJ8SQP T ׮0ra 7"N~œ$!faЯ\W]c]ggU6Gy\0#"8[jk$ڄAҎcGpL3؛)+wjF9nz¶ζn ]dFl\,E^X|ExJK0,5;wY z!7t%gp[ ۖox26: O T1tMt6:TP 99ٛlT\Ѱ}+$sawkyneV=q`Y}-,-Κm4??2߸‰"Uz"I[*;lp<@hKK/;Exoso-q YVi"ّ;]?STuN}K6vdoA: }$0߯!/2/tW#J/ảݹ{@LiTH w3zn{r)>_Z)`2-qנ2"yH#d?$eN}l8 ,AVWXk)z6P3rc?tT1 *\ШQ+X"g$7,\zfJˣ+'ig~z7b!Ov%τ7QytWexⱏ_1xH=⁧?a!wtfjo&6N `S~NhhLU3WAurI\g [95dH-`ŪKd7&}OszΝnqw#:uv#[GtaZПMsG[{A+|{5-pMA?ĒjkX#=)vBɠ Fq;`kwxTGZ`6'dmo/+:Q_bPqc(|zNFaeJ@d:A ZԪR_Zy`lPTAH&{lICKy~q2(;ЅNUihÞk-TQ#)bbOk(G?0"wR'⤨[en>**Hy/ۚ,2m]Eoj!ͅu`~-CycPA? 55P1k<1Q뿂ޛ)hO  9Ɗ>S?Ut !e\P{NHA, rPNNȺa,&24 rλcJF7ܞ7aڠ6򋬾gtS޶P/;EQuWܰyg}EPp6g8OE}UK 3'ޣ9m ;Lw;8يgc=ݪN:c)e^ga%co~Kdi5&,Mqa|~J+̆7t1# Vfve{miAOj"s.Je!R_Ut0Ŭjj,Lgelk[^|z}\_H]唣)w^&P[cH m.ac{dOíi ښ_]Ѡ6%~wV-O R5M8gr"a'ψE@rڧ ;-95tu+΀AC$?FoEM(c{$m`+O#HH @yդ:C?˸oΨ.VlJx@>q(,wAa3&7aJM]1{m69hPV8j6-߻CgS}J߷E(8qA돖~5,|++)Jb1ҫ^\xsZmVے{V - >cT֞6/ھ| ]lJt]GUpч?'Ug ,fi8lODx=᷇_NdYy^0WK"?%䒒CM<{B\sz˃Doz4US,އѭB)8Sn$hKyF}JPN*\t}‰eˠꚂ/T$y` 1>΀ :A,ŹIzG|~;5ttQJۃ{A6xի2!CYTYAgl1tsj?Z!9pھsʼnt0n^r&u U?!@G,S&٬~ɱ5rчX :8I#L0Ee~X61tn'Pkr?^RΒ]BCRp.2.s |P}l!ENZ %Yg+Hi0-G BfȤ^c6MS\m܅? .4:3ȁ kvEP#Nʋgþ/A"h8!y〼0?Xw'`nG ɟfSUѼ'?1$_Kqg"2Ҥs=H hX f\'#su@Dw7^ ==/`:#`uf(fQA#}D2j趛muLlwAujyǿ7e7c ~)L&+5+saAe VSgP9[اݖ/!̸P^ZFьJE5M%FV?m[q͐LK3}ōbnE<K+y1LªljvS/o%.M8=YHF8YϷ.҈nxKo'N< `JQWnU;͏%V ՟ 7L/N9bo^a1|t%!)1T ߿ aM։}z@#2j$Hw߉W?P%`'1Bx$T3a{6P#VО8:~6hZ$G;cI^7>D2y9Q4:^X<: wͷ98/d4(vxo6ukbK xZcdM,\~?@gJA{SAk-89NۼA(+ (Ԟ7eD8zh) -%JwJHx4/ɂ5kMj^Bz-W [9$<1e_*ڲDL9*K۰C⏠5NAҝQA4+޾eFUہINz1^*OCZO^''|zS 0v߶bN61jRi:fwrї82saK[~P2` v?M7uͱqJGa٨M LЮFמw ª/tu.cyMP#GDÞxASq#YQ5#:yqbARe錐Iu3}J#,OR=Q~>?8`x5mbG)[^a8V1Z,@W.eVyCH5L^ɶlؿ撳T^n7'B1ݑ2GVpKn``]=A/sas}e?rͽ_́rlK]ҲREkHÕv@/h 5+uļ ¡յM>m2,BgR$SP{vd6ֳ+\0-mMQ)0|zH÷؁# /I V~r&DH\:]*Z3k=BWgٴ|!{51I*j[&?ZgY?7YW "dz>F>2ePlD\22%pc:kSq w< k3ٚRGX@[b[kHʶ?0\}K[u^8NdM5:NE~KfY=0 ~Bd'8(]R03_S&SLrP%,7Ht!^+*<9ci|,oʨ*R限p%ߛeN2P(LjSѸJ}1x}֗'l[rA2H7M9'ΰ:`Q1IBTUކn/1N&7qߊ?Be\ב9X VWi>\!yH?P=wTR=|U9q Gkq/Ҷ{0y;pFZ o3dšg{,u%DtjT[AD@z; ǕLICHR4Df`jS &T+EZ1:@'Jm_ejz5m7(P P7Igy&3ᮺ62Ž,1`]HMtR9K6 vq/"椀+i42@=P),9T/4ɡz'eieP5@%`#2 2Kwe*@HBȱTk!51QPGv'p;Q-y`nxfvsYfz~&JOTa g"W82,HB!o Nfꅿ/H*Yi:V3*Wѳ;ȇ62W46t;GΨwXTtHLc7Z<'p̡W H~b!g0Fįa6* +Mxq w{o?G0tʌ\:`)t*¸ p̩ ? Ј}hZs5=S>#iDS',b:y@ېZpT=c:"zǑ. qO-`8Ż$(hh 9SQJX5[-a 3CU~vSpJFL\~jJIN%9lkF0o%N`EbnXdU,yv˸!hE^U\>zapu;$Ƈmӛ|wYfKJn=os!>@@⨥műu]uCg C+&7bF:#GvdN(Pj[ .xHDy T瀿I;sVLiԩ1:L%.{a΄^Aۆ l2E@Ҝ씾CRōOtj"|qF8N NR1vy}_nTR۴dC#%P0Qs>a5vl'azg0T LʚΊ)T?ўOZh"!kz5v*sD8Q,%2,x%̺^mQqˢzo*E Fy$VLfU_6㡖(^L}K3[)G &Xӄ`Z :l}!l=e` ͵7;gP Y+aC0W..'z1GM+BR5.\c8r'ש\|zS}δtQ䮻}6 t߂׸GFOu$7.|t@#pQ\=((M۾,]c*VLY4^PP}jT=Pc9բM|.'aCZ¦[D `*?A^:2Ķ>2x#f☘mUJ'ط`b#3@t2'RFμi8t[SExQ!sw%XSMVN|s!'Dd]n"TN zB{8}y,Tb^J3 dKɈTG?;vS~at;h? g=>%O[`P^ ۏ&l}O6sֹ3cdYX4<k1ΤT mf297M_ZrW^_͜3`^O}%öoS|g<߆Hԝ֟Ũ *x5H5S!KXxvYD`sw^H;HRX]fY]J@z6 8??uжkJOdG9|@_o#&<(Ps"IM\Y 0NioeP'H**}_1Fpn{q&otzM ҇ %-D] :=wv$;^3i~or{||kR=apm@" T:սpsiocLLJ=)Ka&X<ê#Y҈ŀ W̃*] 4m!qsv] ]:V󶸡|MʗctrACN,hJPE;Pl؀~+.y 8*BˆfZ|'Zp򂜇+|BRVq V$H "-+P J. RjO`Gܙbc M.VKO;Dļ Z7}_ד:1hG '!_ͲZ jPtq yƫ)Fo{$zt^zWA~uɲظM[c^KdZ\aEQHu+{ cp:I_3iOFHRFx3<"ߪ1aܐpgzFV(~ m56;thf^K I5bb 荽Fp@%5Ƨi$,5VN,V[9{Ɨi/+@OT{N`%#Ekߘdk?.,v1;ߓ\ΒLN1,_vmW( SCxΥ<4ӾW@n|h$8)Ihvh]T{#q%.D{G'gxEO_q#Ѷxvz({[T+/y s|s|R,ZPBP=5 4ڙCx;+i+ųîw6TI6 Sg+lnŋb)0SRWm}8&P GRq.tlnxF`hĩJSՆVTU֚bzm$!,k/Z:Gmd3i_)I4J9*&EaPYzւЖ-Ҟk=m&$ F-I"n 34h  cGF-% 6a{\Z\RGԩta:$gd물ʀ) Y󤃙<qQy.t*9uH6^k2ׇf ' `5լ}ڤs}u2.ʩ3z lI7/h2X()BMj;9pKO/GEYKS"]F/ ׁ\~t3œ4bvtOhM^Cs&ҿfOSa-ǙL LlA,ݘ+XgHʛdōv?po_Y#GB[:3У]g cW d ]ca@&ܟp<=ȼAlrGz@]!d&)L4-aHgAh^|u .AJadW2*8 ޟ| 2-{T BMPk-_2xEbd<Ǥ"N"vʂt~AWy KZeKmTtF5GCjKjyS9V '4IUOcH[iXrqNǭq? =U[^4*mg1~FcT*4uiCi 9mGhdl7/x!6O2y&՝F `,{)S 縜 fcv<njϞ"%'!#m98PĩȘ*<.BT;9zcڷmnO5%dhImQdet>w)~B#E|za4˲^?89~EED^(lx̷CE~O/)m/òCw \gD( ~LZGkwG<1` 5Jd-6#ǷC-kdY2Q;s[rdmRf]Pn- <5*l 4n̗zSbFRiPEѪQ[eBtSӞ7]fo;/;HҔQFg&]|&eXOV Nս`2C)ȔC(=K.cGG[3Z=ӿvNg~(4g|5 ,T}I,MxGcuC}?Lgm j pz蹀[SV3-88󈃵QZ|I$:de%Z딐aVuET2rBũm4W SrQ ve ,BR) a[c wt/^>=ap;Hxq9gcV[TFyCK{jU˓DPT ;JkH2#1S;@m83BhEMfPbysT8b490_V_fpҴ c+p4]]ag/U"FE|[ Ă9pgI%oDZpxx0̬K]} ٩H:қdj4 7 s+Tm=MJ?ݠ! T}dEqph2ٰ w 0h; bX#o),GSɹ"ʚrsYj"?hW3GɮY7%yZj,}V#ɺN5ߊ.d,V2u%4U P7e0)e5e}3S)zլyX5LPsZ$}89;;05sqϼ22x~Q`Mef4ה.v(.Oep'}HF퍢0ࡒbG79dSN1z?xeqf3@eYrh9Y(OR #WaM-| 8fG2V BlLVH3^{jKX!N 򻙮{F h>#eb^2 K#CSa4w)Fƿzγ3;,R?s+)3DhYU`1VW,mPї'elSUo Vٯ,b+oٰ`m76^ AnazV$& ٫gg>Þuyv$l Tk{"HڔX)[ $/(E ͋(z5Q` {-5c Č?THOk,tp(TSE8Ԏ`E%4| wh+{&w;adM$|0 ꫐yft=t/6̃@k_LH&Kqjr>-pWe%G"|!PɿW YŘf6vyB37|"9,yrADSd|c#[cO JyLK(x݉R;0ZfAFIln 3[C aRTxW#Bw1$Ln`l PJ;֚/Wbi,eRK gou7ط~Ŭƈ=ёplIj9"5I&%G~{df(v 6=3 5UL& C &{y`3!GQG$.(7;s-7;T}GҟG6lN (8wg$iiT ?jP<9WH8ejsr=TIfqQ5`Hꖏsn锾 cpWl:i˱3%w{@ġt"˽ۧ}県(2TT,e<)YϾVq3 D[Ak2h\Ub"KD'J5`14GCP 3[=Ե˙Y~~pW@rt2N'>:bWb\ Ë#5UE[vxga&wmw1zfgn0mAo)fA0>liA9Lu;Ȥ7W pvwDif$- f :=/_̦ :!J"qoߴK_-HDL324[`h ܙW=XΙf̛u!ܦ(xR#<F$l$/% P>dBO.VКQOڻ;58k^]U^YH ޞR |o; 䘟:3`IeMz/'lخJlJBFu̱J%Dw. ,aP AXsa DF5]̥8MR,TkG U i_ڼ]zYJ A,՘CWFzx_, I7a挟oSbסE.|r(QF:sXCY4:fe~m<.ycM-oޔStriӎ!`MJxfs sjG)N7wݾ46oz^{4-4֓YhZ`2.5`8"(/GԵƍB _WngXD_쩜"MФF 5]p 7 gBp$S_O !/#] LI#kv|jw-+*`X;̳QDxEyl(aLe!gY$Rk1Mb`eK[NJ08u`UJL3g&@ޖkSb`RyEր?$q@RR?h+p[HYեU$Jv+d+Zb~i9dec"GkS.kK`[ Z* !kdB^+v]]OCkL).<OzJ3@\5Y꤃Ul% !cn=Dv8Tľ%H`'\v\#zIgb(л>{{V=CKX nZ)õ 0TQ(ZW2ϳQ2V5\(-.>#sd?U-ݼV t$km"(_&ӞNW'qZd r%d}`" E2to<=zo{H RCx[ (VhrCdcԴj*ES9Chc4˿6\ۼV}?N2M4|#Rb?t%`{_Cؕ -n+7_Ǒ3 Pi֥Zh|xD $N.=㿜M8 7YXLT]nV;ԙ]P` ?/[)ٌ-@:;וg/PtK&EXװU>PK:qBHDr}jeK^:#Xf0>zឨL7hYOιNYejwc <#(s{OhPݓF@s/_%M"Nvr49ۢRlQX`ΥçCl>X|İv&+\}WBynE̽=w 8]oY!:Ս5ׁ=L>/%8q~s`N1ٺ'5'#B90p k4Ёcj_I~ԉ|ր躖$7oo ܡN&R[z(V*"a^=Ux69u,2b|%vi5ZgJ~f,˸rb7R=D왌{[@CΣ%j%ݹOG)ĻR=.A,[(S`lؿXnge*Uʺ[=nF_Prmobl}Ld.Jd%wNv,) yX`ޒ)Ѽ]D?P-Mg4V!M"ٴH0 yM% 7">d"ԧ%ʘ9S}W!jw$kR'|h c 0I;g p|xk݉L*"棵 >wrQ_R8n_b鏿íX3]vttMZK Dny@'-␣S<<6V -yyB8+gPHx u9.w?Du`4 .i+qVK9rz7(X6XR';^l4dG]%)FgDF,3XW2LiXrfTZKۭ+ "d{b~Ƚ JWWNe!ꔝ'/JG/zU^l0}Sp0'Znvp Qoޘ4ShI ՚{0rk^4{_|w ?I~%>mHEn[dtHST{"2#b5@FУ%7 ,TAq#neЄ@S, ?m'g>#iY9ktD.,,Su됍%iIӴ.G@iq t>!%wLq4̳Fz`A&~RR>Ƥ}8FvRF{?=jRאY ?C/E Cd…bKLN%{sA 4Oק5y D?ĻC Zb71Z9/4A\ SzXl_r ?Mi\Wye3.v<1YPnܾp^E2ˌHbUvp3}JPR;6YƊ@Izq 9}_+P1x wFOOɏTOX`y :v*]i"͖VÙoc;|^dEGzVXQW5JA>T;+@.:O|I.8\qe,nyc- JWҖ nc93bI&7^&?3:5%v|}We3(Ťb&1T^N4;26;};TA* $҅ϏHމ5r!OZcAb =Sgm;cYХg*Ս7ˡi} CzǢҦX yK_ 6!g/~<N/Pծ3L~35Q%bhPCg FZi&-e[뤥32nS < >,Z/թwl|]{~:Zm׆x[cjQe4B4>WTu?S6Q[}r{L"H2q4|h:F (9oΌ%Ukի"=H4<"cS7Sܖ9 .A`@SWhIN>D 8FΘ/@niS>eϕnsN8WO9QFq۷zK6r#7 U3 U9/0N&fᛛ}Y'βRzYl793Q I&ŝ8!qRqj24_AMsH^I+SRY uBL&,'WDDh+}H? PD XQZ"pkZPe)_o_~>eu(v']9`e>@GB%@19!h$lJ|oFt/#~P36xcUN:pP v]w8)HGZfXPPt@_(Шq5͔|0Wf?SF33wP7a8ԋqAz:땉AW&)06=4tӓg/Ki4{G¯9(uNELF_Q_':q((_u4luݘ`=×kr[XC,|\G4'86>Zjg9b}wv/h,9)V!n@.V%˱e3wCeQ Q^/ba5rfp~/dvasBT2ާ.:MJ ӆFx>鉨йUwM[CX 4&r!{. JelϨ6l:suP*?)t?AD]g~>mXʳmqougy"l6NRC,"yDeD]>>晻 _km8,J`NkW}9=~>vKc ;A#mpRh=<+7O`; >-ﻚL.X+׹xHjZa7BF҃\0U d5kە_/v>[A mQ~gbDc܁x(yV8K F;ℋ:SKh~3D_9'0GazNŠDe88l!w*yD! x2gz' :g&5#PX枥$d$)<3nHH IԍfD?12LIH],dgQ9|%?SCs/::hY?ݲ4M(5nw]h5:8+Rgs8L^G^OKz=-Rn 3>F(T4o{"'L \*C)!/]aiEY\E^~l<(I<oeˌ%r\f}t:V| T#ܛ1s]1]]\`u/g>Y(n7:ZbVE%¢d"Uf|{HOֶڶa!K-sݿR)/>;tnp[ԧD3(=>>,x7Q Vh4&ct=_]gvAe1uE8(h]ǎcx*CP0o1FLC ߘYE"z!| k"n&M|yVoXseL^ CU4jLYHMb)nch"7U 1'7=QiF9\1ͲǼ9_K# 3Iig͖5{ױָ-7)#lW|H١pRhhd74 =iɕӸ;N)ԍ3wt5JKb`scZy[ nRr00%HfHHTH)XGJI0,9z7S:= 4A{Y2mLĮɵ7X5R[cN&8k6RTWЗ7DnVfSwP埫kj61l;ǂ([~a^oX>T?aeېDp2l~hX>(D! L*MC ÷!c%ڽ3g[(Čv6;='1ߜ)? xFwZGh@w*?Ȉmw ]\tEQCA{$z.C[t2jdVV6=Sjo wD WefGtX,z."{۩ y Z(.|ED6hkrF%e T4{ϚF5ka22ZkVhQi>I. Ds%^XϮ$2JBIϽQ9礽[Jv h#}:iIC2:Z:m2A3(Ƈ͆of `S_顟? UO(?*҆IroTKt2RӊPj##lVg>N|S'mlY ݉gVﰙ?m?80COՂ=&ED`m)V7xI?LN\uƤrqQfnJ \#g\<552=cQ`π u_bq2<ج x Y'{oYK,rr7ĬkC!vо@z5 ,tWyKoxBBLbxzx=-^j.Az˛\az[, `hhn{eP'E#[dU&Nu#'@1|Z){6&-|E]{E*~ |Ehud @dN":-w!ω\0prC1md4)m]RMM WG]-bs!l0{%wyW1qc.<3u('x{?N!sv.Jv2M0rоG s6[GEtȦF1uu3]8]>EaVz]W h.C3"b+,%p>"!2'C3Y!@cs NÞ)%.wuG094,r8͐z%CS[]m`Ea{ßs !JÎ/O\oͱK=''7ܙyBD9dXM|;Ά9urc6p߿+Eƙs 3[r̪nvMQM?+qŁY1˓n~Dէo tUYe'32G(kd]JkG5954`5\Q{UieŸ-t"(lĞ[oe'; NzlhJZJVd؅S =O|F׶<^I 5/puuN6 v_-0a_ǂ*,XqNޱY ]9* ̜!dUEWyϡ# &d1C6CpMJW>ES-:08,Մ`(.`nZ[ú)z%/Ð# /JX:~L }BĩCݛt#xݫOX0:7`=S@BaAx~`+XUŭg<ݲ<]D](N7QrDG$ħw?t mX`[Z>4R]Xigax%R6Z_)}80vʥkmȆGt^S`4G^`׆yQ͞_>'6x=I^[7;Y~v`eHEjk ]m-K#eq=BܾӅ%O7(L4dELv|wnK0ئ_Rp4ӰsNĄޅ\.Y8ǕBGZA +4fvшp?XX CK@SMF5}NnuAwMSu?bW"!@8;?WX.3$ƚ&7~JK6mI}eHI.U.lED t"HJΌ\J(DS6@`@Ad͡ Kzțғ0*RNi߶C՛sRy(IRzw~83*!Yy]ZD2ŽYQ̀MG:La:[stL 5:ʃ2307K?q഍줫S PuD~[3yh"Iz %zJh8+,gmI9_6[uTZ>- S`t’T8[W7+L!_Dۀ*B/ҢT>vD@yMXaQpsUYmۋ"/=3:ݶUO@ ݴ}+FҕIIі7 ~- v=j+A|~.^~l!]poRS~A\7W7H(5G.ˊ?#FJ8uP4GFk!sVK(ߔw2D|&ű2 |3a3V$E_HLpuG q=dBSPFK=72Je.o)Q=NXzqCߨ" hۀĘ uȼ>fzˍILGA|@;+P 1]I29balzTo ,x(:=< s{j""ǡI!كKkIdS'ܴaBlR!9Ұ3ߍz^O,/|ѵ[ZWfHD @OYg500&SVs<<=Ec{`B%dCG $"_ nfc?4걝@;qFH`Qtߒ(g+sllL+k !@_Rf#q+55Q+RٖAq&~A5V0 {bZ$Ӯȫ4~ Q[F`^ a䋠0h"- ke}H<ٔXծJ+G:T'B$ 3BaPXMϺ- #ȉB_Y8Sdo2jJsדYSXw&N‹~aR@\ԂdNffEV|v4[lTA5GAOœDDp1-b+Trq=I:z]{Nns  #嬽i0V `{D40]˜O >WbpɚvK+Yvt澥pJ k9T ̐4k𭆕< ARiP<*W!l/>|7.1U^]gvWN 8ص#i MLyaQwT6Wl,1W{[o6#wqnҼ26_O~p.p֕4tS*8 Fax" o6u>d&~Ja½Tf,8,y pu]ǖ5LW錉m/'J? !cN֠uinz%D&h !;S t3`ŧuGmS|1{u0''h(}v,))B"CW/{Cuі/ S2Xo>$EʁHvrhuN1\Z>E4KsʕhQ [?-JO"rw⫑Ed7*e)mkk}*0_y_e[y2\A3/)Ri2<ö$dgfqd"&]#TW]u?=$2JICF 7>KX1WzmWAC-UT-û4gqr(Z*r-D{O<ϒIGv= uLune*"C"PH! &ogUу֯v7InFd*b6 7<<۝YAO tZSje&W, γf|/xiIW9}*$1o[n/m:{H?t&k _JL(PgiEGg9vN]VRʚ^HȵsJK.CyEQ)( v%"M"^wF`. $ZXء>O+6Oy$)u@bEȨ˽ع4 O<'.h;M(:Ư?Wc⩀p4k=eKUؤ+?p6=AWnʿ1 TƖwo^j#]K]dE|2QN~˜ԡ|\Ѱkf[i+?Kْ:gK~^'@^@-mf1[rpL u mVɂ^UTK&:0 v^D^ |+|%4Pb9&zZňfAh9j L]%2F!#\Ht?h1X*l=8=ƎN+|prf1wI V3feHxȽX oD:}tIqط>v005;> R(R[d( sJ45`L*uQ:-اwVΝG)޿w;#uƦfi<D}y4>~ hdIƠ/DqQLN3?]$4Cu~Spv‘G@ GUÌ&@¥[U ޗ:Rn!) |xw40eGliK5j+×>u?ٗ/X=4 Kxu0jMYxiM #qg#Ŋ8b`~ܵY J%Y g54rZW,!#k/쨡V_vπQ"tBy$za:#^y5bYDHV^r/kV%\l]mA͇3H;Guq8 =sM,@Պ.Ό?NL>Tbxn%SRDe/$AoYhC$$+F?,"R} G7o:sjR={KX0+*1h(!!Gy]"BU 88lSѡjw1)6. HE!wb>`r@mBW2u,|w0aNl~U;m(.3Lʯ06=*GWU`-O9E_wd0HQі/CQ2z } n穋n!jS7(PKlhM$Ι,X'F<<\)RŶ1XbOO52ʛ F xi7'Q#vv O3vu&tWO[˶ A˨QKz?xj to,7 mm%gxF_^dE$:8;x]w.h{V$H>Q7M}%Zro\.q% -Y[$@yfWA $H/[3. gt-xdD{熛[_"z;!\TBo[nhۏi:' `F* JUtkTg?2C6^w VQ[{0l =HtF/mzBˌatz7/7wPG)F\9íd:q9!ZXκߦ ҆gm1ӣMP@"z2mtjI0~Ġ,\a?tg*`SȤpBe/%|ڠ P%y Y. fdQ9 o/C tkn95$=,c{;ߨbdo"&_s:d>${]my򗳖yu*N|K h<+l {>u  GikbSgmZ*Ijwe3$i#(k Qx`G)= t"@zR&'бrsj;ȢO-v7bžm)xX_Smjf$eU[,XQրrk u0Bgj집n{9N_pnx+>F"} "Lُ{)T?,|#Fû_Sb65~g 2иԞ`X[~]VQƒKѽIu#X3 ry4hBS)l_Z'ʺՁuO:)4\_~Ȅ1\FL8YtVN+A#ҿ#,M7<ȾGTLN ߊ!ԮW ~TNX 0&Xmл}MJo68VnhaltW%/6OFH@yoWjķ5r%k Ӟ-T9Xhuz>C͈%_$udRd˶ 1Eo])?@Q=hc!KozPϿ}q~3)]5q'Io|+':>̇^L";畜O!"&Zhsc,ڪ:>,.)ՠG gw W<])) rH3/ϱG&D2ZTy;jg3bQQ]pC!Q 8]a| y25D_p!w-.G^} lp|_j>B wZoCxGnֆзid˩){+OH)^y(b׍jH [2ڲbFS;? f0ւQ:A|:;}z,_0dh?*nw 䦞D U&D,v鐩2ʎJox PXr?ES׳ʚ/js0b{M0e<X-ws<5Vq rs%3ies~}ŻZ^# RtrgҿmpZO6R >$# /Y3g5;YXQT֗]]-W0"hSЦ4\ |h'rP@j"!`nяlُzThEveNvŖM3С i֦P'|X{ zILbױ* rtAXi}AmlJFZS=h7?&5;d{ݬ 30 ¬ݪ2y-tBYYۏML$_DssüQҎ>ȁ󪛄# `l<@7)w8*;6v188Lň豄֌j: I|CfJ5sqxH@ugHd,$S՜:5};횊ܓl@[裂5h4K g6 JA|+Ir ҂,M5ݭ/m2:ڬ{h4F+f7efAC{kr܂u<܎SZP5DMJ([,{Gk¼_naGҶ24>S+ctx*pSDw*/iw!W׹l;̈́rוD>cFvl& iy?7(Xېw-xSSx!|q 2|!'=arTҳ-q!/-dAQ%22?eoUd#ļQQe8 FpxwlRjX$+82PzNWjk S,<镞^|}94;=eƝR}L:?_%! 0ü !ͼP)Ll^©1v?d-T8Ki;ۧ'L"x#JRYw ǂ]˸~I͜;"z2.vu3 x!lOe=`:֦og[ Bg\FVvnA˫ر #K4aiiֽ{3dI9KPh4YB?.8uoyG+_A7 M~}\ׁ#7:OOUF>&C5trNT$tCKc/+\ʼٌ+xYMMb%Fv;-d| ~4Xn>?/eH[$#@DAHڵȩy %ŒQ8VȠ4g6߃Fq{~g!8U5H,;WO5m[ L,ܜ#e\b#Lk۹}JoH#:CAv25Ov)"tKw :{D[Т9$̈9+7S=;b" f|7vJM— ?׌fց9|gc2 Xy,p[:5\?hD]3 IR=,w wjct}j;=ЗV1`.B *v"snCh(nkb.1.CO"F b}+ C/;{1"Z`Ռ=z8Na(ڇQJ4/th^0ƶ5B;(S-*&"( ޏՇ+\U?w>0DGZ92Y !6FxZ@0N )o*Ec< 0=Hr^5-:Sz7-eȾDtv`VقU9&}c+1'`Y bw(KF ιH?lD|!#{.<% k"?Y oj#[kw2w~3Bo 毕&, *XFwLP^|ٺ(6-@iKro+o_BLҼrA[" NwpgmBQ"kΖs`ha}ǞuC}&Dͷ |)Gyz%$F_|4R%*b/uFȝzJj|Z(YdNjQF$B+AE_"SB<ւ`=HyoAI7g gQ50YbC?R cυ: \}'c.؉ !k5r6§DazYX"$/}j.dK c=Bړ64ϏU6zy Gc$sĕ R^nuqKΑJ (_;1{A<}MZW8&~x4uUljpשu ~屷$dbFg~FgdE#24WAqT~4渭Um H@NXB܇V}ٗZyo3-pT{LvJ#>\_9 .T_U4٫wj&I]E[;b_R,еrSKFG˗dwb,Og*sBBUTUsZ/93v>H@3}G~ʮ's?¸l 9{H|#@#_؛zkQ~HhjԘ뷰#5dPkViKg0Ww†/.m͔VSe\ƇYx7=@бOx(,!F3Nla9 ښ'El!qiC_eam%ԱNvd>D8#p8z 7LÊA8>9froIl!W3y)ϣpy0 OM@&ZFX'f nD31J$I/C,`e075ots>T6Z:1.DMiAaXj?|vHlJĵ,^SFT埙|i7X^j㫟?$cg=>qלﰉZ.w SuW>> @.u_ paK矝}4QmI@`Mu*^snмdTy>L  'f6 &h~ O]8pP,5S:"vse) #׉qsN6,fE诳0iRX/a{ŌyKeHj >ϣ'JQRl v `%R4^GFdO&}#7enA3%zx<6C{E $utU: x^Ո52u~ sB81gCuc2*}@ǬNTFbϥ]V#?Z'&xml3c5p];q]Z)E_֓ 7;]dcڹ#_ubEyq5F$+w %k B^2m.kPw=5bqu2r} C--<{\aij6M0$<yc?tED-(m<*i @FXPs|ښ4.7蒭&zIBWR]:)QNv\Lv ki;s%4UppRgwpe{>e? ɬ;2ٲ Hckc%lG)\qH@b &FX 80%뾓]? f*=TҸf7$A_~?>i&9IaR}ۃfߺ,0/F$$К+}NfkI!*t6hF Ikʹld$\\uRM U8,/ Ers0}%lR” w>""Lx<2H9D0!*Wu`[U;@BGF(gAjO|J߅![XwF$$*?@S*˄ }:H)41 3,P#_Ҍirד?!'vF@+z *Q:5n˦@3 TX鍯m">eW+O)fJB\@̗$Șnvd(mfg{K&jm]ꡑMsBr1E[ivX &?n<꿬#Br 0NIVMRZN,O~5z'm'|ZOG߿{o˯`[ۢa\Yf*V=:)j "0+ /TG?:qv /☟z%]7믆=;G)p xF(u+PXf;;bY̒e'\=GN|u55`L㜸2ZYE{ {N_Xrg2& ""Թ~U%R4WV;$;ֲ5zvv$pZ]wfWcL𚴃kl@A{@*kPvs陔}+?UĢ;4^ދZ^1k#4AepоV & bW(ʀ)s,m 6< Ϯ?JDPjH`IQ5ˏ_ǺSel ]A=/ ~9Q e~Q̯ut-`pJvHe<Dsl=Ú³yxbs/Z ~%)Zn5 NPan ;7y00h6.yM~NM?yUpF8*2%5zhtq mg~帠U[D;aIe]ZZ38xnCBe5fRH 5ʈ9(CKb+{5p,Lf¦چE qK[˷czUEʍtN2DzvzItsHVPմ/+,HB:e"G Hn@9ktA =- % D]/-wLGH(8k{ iEeldXWW|s!WݤK6)&Nݜer$,u:|I$$ړ LyQ[Z,gk { eo^Z_T/Ѵd <]w8i08џ\&ƗgTlڶ{WTMu={rEqVjlZd*3=ïR> ?!4.C{K ?~+M os+GF4}zq3yHh@tU<R ^}܃k ZܞJ`o]Dpݒ+?=z~myOtvN#,U̠EMט 4U* O@͏pIՠ$(/uK9v:K$$ǩ v rO9=}4G%WW=E٭㼄%]M hV(>}NzڮCm,&.n HC#u.mUV"Q#YV5M\t2 Jdt 금*3 e\S,K(D]Ň|dXkRqXmMB+ ܱ// s#6AIT^=0~Y| Ƨ:a ei#>džː$!+XVQH${|rMNF}Rwut?~] %K|'U0>7짻v$"jlڗ'ט*o*\6yAclYA }LU&dQ̫GJ8.?*+3f,G<}r-m:a@$"2rU09ܯa$%fJ٩o>!<*Fg۳0lB;V:'3R|'6$(ρa0 MLb O&;]`) _pQ-. : ^#R)rDv2AR(N=7U=rUJ$Qc3몕#_(m(y/nQ8ػQ6 Z7(WuGV6ӿeI=*un'ނ'%Up ,)XH)xPB͍>|g9Ʉ[^>$;Cf 휏᭾Ĺd%M?"v"2V%P*[#yVn99BJKkT5А?&9n MJ%!NMziß Y)0#K|N 6V;{ 4UU |Jxy7=; zBz_-ni9/][Ǚ.Pp>:pH/7ϰUjNTb~̷* csO¦XYdBqdC-,dBWVܦ,aJ|5*i%(ZJ_T|)Kvb ؆닓M6},m%qR |ۂ܁R91qaDc:oĮgQvy5gY=)/"+ Mt!ܒDIYW)EUb1T տdXAVqٰw]0qÍ*xwz1.TH匃?(^NҒnW,Vjd= Cf|/7[r@Sb4y}Bʷ3-rXL R~cJ N}045uOҼ{g#|`P?2MraqMd/J{Fև2o@*J#~I:? 2Y&ʰ#?IBIBq-jWnr*0uR'krN9yW5!Ff5̞`Z>R6ŦR"+ۧ/{)l?OxAGcsU)ҏZ" ~<.+^DzfSb %Oyƣ3=Kupn@H&i^pԯr^Pl UJ)EGԑ$F +~R'-"( aC[䠸X z;Ws!0Gl2(O ˭ZmtFU[B\[#RĀ82,{]ʷ*5V~5?񈈙X:͓4YJgut8ǣ%UVWelPZN}j|a _Y϶sI= ^JDmYy*jȯ_})SE-@O%@9,$_IAɋ6SS462_PG.0 [-040(eI=6!kA &( 201G\ E-hKۚᴥTw4 a#3Ds {(aq0oXfdA˜#jD+Օs_ۓ#0[)-ù~66p^2=ߟHڵ(]ӀsChK $T+5ͱAְS${ +_FΤ/$tIYqe9+Z&Tr8z$qm<S}FJ{ݤ/7NozY7=cSNxs]WKPͰ<&9a!(Z$*?=PHr4 zUbM4tS}(tʕSjN L,UkBBͲ9T񻆴3ZHCƛ;ϕo_#65cP anm:2(x qXF L~-@n*#(u$pD\.~hײpL& ^bS__+a/8 Z>nbHxKWC,O# ݛVr0 /neNJ=\e2} >aāOI􋫻ȳptXX@bR҂uugS6|B鍝O  jSF%R`VMxXs k6:F装#|X/'T*ff_-YK%M &U.XAoCW:&#$>+׾-:"H ]~^PsNܧ6Ƶ%Mqe*h0,A2k$[j1A+R83h4ZH"`-!"UC Ÿs|}(`BC<&{xrvZ%y~1:B)r*TNp^td|y/NȞ?+d؀5&D|YVjό/\4?6Vr.$ӕ0蘆eE@fDx Vt?4@ L4hy[CFOaY;k{,]&tfMcY8ftk[Ё}nkipHLe%Y n"%@Q:Q +wcFkH XJnJНsh6<| 5v-w0޵}hVVIg+EV 3ھ*{aLZ1$v jA.| Ss y0O? w'Y>; fVz AJ[QlʽDʜԣĉ쯟~ĭ|J|CZ]FAƊ_ڍE[\@Cl5Ч6X 'n/K:Ԣ9>}R{0%ϪݨL_Vך@6XQL:d^#F"oBL&X]讯*,772=s8j;/p I3}~E~M*nX@:N/'%Vľa6N0"O"DS{7pزq0@ ߃؋vkќ0Nƴ7+ֱkb똲rKD=t:eMMzh)bh^dQVGd{n[A/AaVj< }yƏS/WFX:hKkuw_⤛KN}E#GLh.csجe&=t4M(FmH1j˾iIOӯ,|73ɪrCY٭o & W+lYe+T+=#HV[✒)NKJHv¿/3g] sIv&>yMO5<[=D&d3,^G֢\^P]q,r[%>-Iu &[yvUaV'~ȱpB̿ @$rGo3)%154~Q0 o5ø2 %y?\2f{2M!Pyb-4VyA|l6|4X}@$Z] )͇F UG8@jx|5udpmapԄ,v y+1dIv-\lxY_NpsKmjǘ0^7x,-\0sʇ9l J&2S͇ .Y 6)G12%f~%i35uG^ yJN|kx25"⋭, 6GJKɝ&1^& h,^i(V^QmU*rc]dXɓ?|MWySBi_sai0pQd ބ[ >Uu?J5+a~s k:HJE%qvl~_)ai#MMt @p lXv d,DRy+EKʗgD)oވu|ݬm뫷ߙR&56'nQ}zxu~'*ݗu~{?޵t'GZ8PeUOeTO5fE\*y Z ˕ g9= 2;9O~|~c2K$CQP2IC ˥\iz*Z_WVĻ+[ӂ͝Lܗ[P'I!졔*r'yh_o737S`ic=)Y^H)G˱|BlO4d}.?{m8\ kgghrfXPe}ͯҜ<9BIQWDҴֽ8G@I4ng{a;keX=Ϯey˰3AøYQ]8O AX& rU{էy2iYj3P[w7v%01Gg ΢P|^iF49h_@?ɒ$2-"_4|pyw1B +)gg4[W[ܸ9:v@*<C8oF\@1f:lñ$vO/TBvY?&ǂbȥ|T9@]nb C4XJxZHh~v1 bf]GLT}K a"앱\0AF7 šy~TuU]si۩X2YFޛ i4#U[Y<6@.h/L۸9dqmPKZrjzKq5^rvQ1>lܑҏۘ\RkdD~0=HT\vK~Ȣdcݖ}lE5C04Dr.g=;٥- 4D. ԣl\xH"^H9S?/-h*REyw,ay$=&c!3IV-!|[KWđcfU໺\Bht]26d!㟋1QPV-;tyd YZ