blivet-data-1:3.6.0-8.el8 G>G  HLEXE\G{Ge U] ]g1"ԲU'pԁwDIW d$*؄O$h ˍ>! lZ T? _5כ&ic!]9M>4M+\>q-0:Փ<]U|sd m; .^GPv` 7'ᐽW:C LB9)n75PB:U++$G1?/ Z20afe843625314d5ed2b95b3ce01b65daef77d2623ed218b7f05af68cdd57f807262c53ea37919f65cb3fbcb15d0a65e49afcaa80302047c435bb5006730650230535b2f734b26627c3fe81ac5f492183ba650bf91da6cdd445a3b1a7669133a6be225be5249efa88c72bb8af8ce95e3440231008f63705fa24d04107b8ce201c04415fc227bea2ba4f8c1f8f283c6fcf0b35b29a30285d78cd14d4b5eae9e42e25c1cfe0302047c435bb50067306502307a7190645805174887e96c9d5e0af067a3bbaa45171a091fc4c3664e547f4c1d3231e5ed5a4a2aeffd21d2984eeaa1df023100832a4659fe6374fe306e50b89e71eca745a9c12e9a2f11f7eb177ae1c1c753d2c57fc3235fafc40b6ffbcfbff0a1053e0302047c435bb5006730650231008f66128588c6bc10503f0a09054349d5a4d51143a39393722a598479915cc2699316d4faebb531886188748a2198bfbc02306fa34466fb4c66142416a73a7ff07f2e7b449227b2590e769e944af5ccc3b4dd19a035fc55b68246d1cf0717dbc9e05c0302047c435bb5006630640230617737d5c30dcb23bbb8ca812e46cc00979d81795c90913c7c40b5de5789842e2ad2c274fd17cc79c85a3594c94ae37702301ee7cfcab301c76f2938f95814b66c1cd33dd94ee7d076e8f630c1202bd599796cf9e9000f2246c05690d57ab42254e90302047c435bb500683066023100f80492e46f8477b7a5b8752bf174d61c3e16456ad683bcc3f601edbec11df11b60a625b2e6e94e1e04e8d58c651ff6f702310097e1bcaccf6681964ed06177411a87e3eefdcfeb121fc10eb4a75cbe8462cfbf3ff2a3fd9abd2b7b19d1bd515266c3aa0302047c435bb50066306402306cb7aaa551f4a8645260675e8b696409c474bde0820c295a29575990cc7cb8e1c7fa7855c9c767997154e6fedac6994402303f2e78019b57e964c4ace88972339013369bd0f981804ea77186ec6c2d3226efb51cb8628c9f5924b2b58c94aaa8c24c0302047c435bb50067306502306627a737f83caa7bdb0527e342bbe5a18bf091aa47675c8c878725fdc51ecd024f637248932bc9b1b820b27377cbc77f023100c7a83cdbf374c6dedaa242edee59bd59600f97a3aefa83f7a741ac0ccdbcd33b6332183a047fe432d4eab118fc42b5860302047c435bb500673065023100fff08576cf4b2d2c74dc80509658260c41dbad8561b54f0fb5fec2da4cd53dd2a83e874071ad2dd7b14f1c7e04643bde023061291bf1a98147713602bf2159d169260690f146c9502b77e1de845603e9e1d5aea6c89dd3f333feea7a6ef06f11963c0302047c435bb500683066023100cfa3bf2dff5766c99772f1e55fdfd0a9ba66050ff570cdd0df4a8eaad2554f13100981055e5eb8e51b3aff0adc6bc2130231008cc473d4b14e587b91a398fed9dd03bd426e5b8f5864986e74d7516feb54594467bb5d704c3dea069932156e23527f310302047c435bb500673065023033903bef9af179f10baf796119971ecabc2bda1e4bf02e5de5d1171384e7a1bf750e22d31a437b1db9477ad4d705b532023100b6ea13a729bb7eb125a70c0d526ddc35eeea8232f37c7f4d5bcd14bd92948a2ff19a3a191d4701d7171191dc49292d220302047c435bb500683066023100c60efef0fab65775f2fd50b7da5ceda43917aa2974306b11fa84e53a9ca6c5834ff175af9bf092620d2c728c1e6a099b02310087ad7d2e25fb716625430df46c5ab704e7482ac6960ab419e62d2197ac16092355da56ca55d0c78af42c7aafea6532210302047c435bb500673065023002559ec65f5b9c0f27472ef13c68771dd3eb8f96d00c6a998e3fa53d029423ee868896a3ad35eababb27bdcbd090715502310086f10d605ccc09ede7d61262881132607268060ff1e2e7b1d1f6f045fc4e635a16a04faa3754f5f5ca3a2417c86c76fd0302047c435bb5006730650231008877b2ea9918a7b5bc211a4169044c8b9c2d1b5896f6749fa194299c626d898c067e1cf6dbaf00f29053562cc0bba6ee023007ddae1027d19f06010a7026a59cea5b117717e17b9ff8798ef3077976dc48b0553b3a2572475d710bac8a080dae53d30302047c435bb500683066023100fb43e411998adcc7e928a7ba6e176145d88ec139240547ef68771e331d39adea1fe57f61efaab20c7f3747ba61dae749023100dd8a1dc62c75a226b35dc5d01dac285dcea94e7f54700342df1a92a6a3a253275d42649665dd8f2fed364874bd3c58f10302047c435bb500673065023100b8d58ac17ce7be04a7135fdda08f9185aba48744f3502bb4c71c01ab75ebfa618fbb0b3266923a19d9be3d2b0475b3360230756d1d8858cc799c1970c625268e9d16c64e6bae76fbf73931649a85548299608ffa41c3cf8f3eab0d74f8601d96fc150302047c435bb5006830660231008b1fffef4b33e6805e32a0331a83c7003282c2206c37a386553b5988ace610cf20735a7413ccdec66856f1a5ba72b8e0023100813980d0819ebd9c350a226fba545c2d8447dabd9eb4381bc8806ebb56ce34ffc87e499f6eab34a019b24c6584aa09dd0302047c435bb500673065023100b6a6aa5d76ffe9edbe87e87975797c23d279c408d525733b9d8ac5ef181e209d267bd49489bb8acd9bf6f5114683f2d30230106f67d947e4c15683680f83a344abdb38248a8071737ba1e818c12aab4d9041ad6b615ba684fd090487603174467e610302047c435bb500683066023100df340024750d6908407f9c0ba9d589691365169f255ac39a0df32228f707587e8b283298e6fc4b381289d70e28f6d61f023100960bda9679105578c6579c9423a8078d0c80364d01d3fc4ead3d0a6d9a5f844c09e8c5d88da2e26899dc36d9ca780af20302047c435bb500683066023100dc2f3f66f03cb641578df59636f591e324b18da2447c4799c4c908b6e621de0c64818eb3b3e9188e9369323e2111c62a023100ac7bd03b7d6da5a852941f9da3cfcba1cbe60010978e2025474132c03a66f6311f917c1175710009004ac8dba5ed1b520302047c435bb50066306402303dce552bbfd4deb13881b3f0a6bb7a3c967af49c05430d24f87482c2d1389415b0b21080f53de2dcdcc3db736025a9780230112b263494a7b9904442e1abaaf881a22022eec144be4457d9cd65d2478ce9a6e1e9966620feee52b717ffee03366d860302047c435bb5006630640230153ff44953411460434e98f27dda2241507ef6beed8f9b35d574df559365cf93f0e08f8d62b770001c8b42d47a92615802307ec72624e00b81dcdd868756833ebfd98f18b3e447d9a379507ce44685742507054e2a16d755f747328a95945ec4d3fd0302047c435bb500663064023077e115dbc1d4a6f29459ff7a0e280bb508eee2e12e7047a1bc4606b7a252d803e6761bf357b8404dc67a5d4429be29da02302dc6caa693a53cd792a63c0cab7f527a0622b0da2e44036fc69f7bf246fa764c64999c236e0e3ab64760c3dafa513d480302047c435bb500663064023043706e4cf5be9c47f03ba19aa31a616c535603224256288f9c964c38d94e32bb61d4d18054f20d78dca9a0e810f5c09e0230322d9c4977f662914d7db49ac758b2cb035dc3ca930e870432a2cd1b9d3eaeae32a8a58bc55e10505a543c5a8ea213ab0302047c435bb500683066023100cdde1b5836c55396cb61408b66416266e93dd8d9c7ba55696579c5a3910bd1060dc3a379ce636f441537a90a7179256c023100e9e3e5018dcb01ace6c4e39c4a863a0f94d086d6eefa8a485ec88ae558d52633eb20ca78c69f771f1b49dd3c039974d30302047c435bb50066306402307b2e412ce0734e59a968bd3897bb7fcb77859aed1f41922612f836d592e11d61564a8f2ea96967f22b5defc9e981d80602306782d312455ea8fe4606b59443b723279688d69e97203b86d2a8b393af0a835d255c036cd2d59e467ec4273b0af045fb0302047c435bb5006730650231008e784aaa14f8c5ce996a8f4ea5566352022797f50c22b23c71b25ff83c4f2f03568890fd3f3f811449652aec2c0ecf2f02302a3dffc9a6185444cfe0db94f6b04a700f6eb37be749177461592aa69a5e469af60bd7dfc65c67a74b665b0c9e19412d0302047c435bb5006730650230344385b87af254570a880edd6c63abd3f2e67bf50fd9446fc4d27f4ab1490955f85fc7d796bf4b835cef88af177a0a38023100c23e6df3177a3fd7b28da2c10cfd1ce5d999701691579ca3dde1bd4b1c03e83746e4ba8ab9df549ffe9e50ccab22a8090302047c435bb50067306502307d507676557a41ff232f1f6542ffff07d5e519679fdd158285fee602674985fee95ece306352e137c6a568d9c5d30510023100fee83304b929670b3232cf517591a645729e7b3d05fd6fb0151504d099a0b6d1f523ca5d2fa3604183bde0286e4f644d0302047c435bb500663064023029dd0e2a17727cb1caa0a2110ebbe6aff481e3b7af5b6625fd6046e174e86fdf216f0448a017232b75c766ae1b53712b02302de2ef72074cfe4bf185664b1119682cfd7328b8f9448d20c68d0838043bc5557931f97fdec2882a199b0001f9a7ca2b0302047c435bb50066306402303a5b8f6d2b83945b03d1226637731a7c7ef544648880163185dfcabd7b7a7144dc63277f4a81db395e296d3d8f92ebea0230179d85a3ea3e7e24ba4108c9005716318bc8b694d7b1fb03533a604cebb98a8355c41d7d1dcaaab44defc9bcc91936a80302047c435bb50067306502300989b94abc408ba075d4db9c36acdadde871f2022b916e28cfed90f9a598586a78f1c9f3f0f4c7cfb07afb686c5228a4023100ed19b5c78d2e2b7f83a03d71084ea1c485d969a91931de07c05ba3216d818782e574529e5f7d142d388ec96fe52296d20302047c435bb500673065023100b56029aff37e77f07c4afe69f7a45f2df7fbfc921a1ff64200dfcd3baeb282ed95098aacfd1ccc303a5412cd4c4d9a780230045d8c5e27df8cfd5bae2e607961fa690b192b30617758631d5d517eae41cd757b6ccc5a55e37f100e82bb7f80e985750302047c435bb50068306602310083b806f66fc92d724837d3205ee5eb7fd27a335e0009d72aedba5b1667caf4a68f9299fb731097cf18bc5ef010b587ca023100ab84cc921b285045020d5ab6bff436329520d97bc655df79c1eed05441f142568a6da8c512303ee103a3b51983eacd230302047c435bb5006830660231008907e9e2d257f50095a23e702befd12d4016efe4f6c5b06ae46f9c49ace55452e97aeb1da63053f33322e032aa0c943a023100ca3311d488df6a7ef5e6379697dd5d4a601c25f6bd86a241b716702c33ae55f61a4e3ffb439ef634958c20450f5f45140302047c435bb500673065023100cb8e624281a67ce3a17a2af18964de51792bfa4dc09f1e8ea07fd164eb1ab0a5803feff9e166e3d5defeb3ac14cf45c602302f7001a9e58e6462f841e1afca8e84fc939a85c9184876435794d90fd0e09c5e92e51a0dfefe626317ab762589a7ba700302047c435bb500673065023100d5e8802c50de4e1e4818637bd19c9a8b75f2645616a7329d8939856df8aa51d98460ec084ede796b4f4c75e8ff01bc4f02300245b44bd132c2336a50145c647a46bcdf33f7737186e370c328cec23cf00add50f168e5bb543ecf6345113982cdb2070302047c435bb500673065023100d5d31482579377bd1bc9ceb90272923438f96cfe1caa4140c41179c6984f84b5976632ee8e8166e5ba12f6f8aaf57ab1023075f3e72a2e0f2eb0f5917b26c83e7af71ed62cfb9943296bb067a3c42a83a815e171de6e85d74e97a30603721f353fbb0302047c435bb500663064023008b35ab610242e1afe393a3e14b867346d976031fd6771594df8bd630f8b9bb0db770e430c8ceaa76a318b15d8b417ba023005d94b6c8e451396276744bde49bfc35d1446b965f96f7b2618a0cce17ab644f8600e370e4c80b15dd564a35a6c1b9410302047c435bb500673065023100b9e5f0a38a455b0c6a6663d953284fbb0552aac5f6549a4bbd02b61e86ca29b12b5486df66ed5db7520df6f888eefae70230795410f0e58915331ad0eeeccbf770afbf830b6cea69712f7f576d8c37f8ca51ac4f2ef0e263208756a3fe2fd971aaa30302047c435bb500673065023100aec8e54f6fd6acc41e79766f9669c3c71700bddfea4f53eb75e7d198d16358124be7eee8913e5c3289870b66c3ae81aa02306b5f4bbc0a523838247ffb708b5a6e3d0bb31c439eeb6af05669b76efb19e04aa74b9ee5fc30e2f6a2787e4378ac44d40302047c435bb500683066023100c602f363733a6af152ec5cbbf0b20588def0adf02f842253678670ff0b5245a7276160dc2865a29baa688062ce5c78a2023100da2c20e24b9caa1f9130b187c926f7b37a946ab1b57bc2915d5e9dc79444e3175a3ce5697470f1e11a4762d2a54a77ff0302047c435bb50066306402306ab5b7084003e1ccd1b3e31246461873702ec41d4238ff105d534a09424bce2d43373c74c72b1baeed5f76a8a84fb09a023004770dafba317431345de0c25cab15bd1b4a98a61cf30cd342f27b13bbd64cc4427aea5e9ff40c14ce5cedda75b012800302047c435bb500673065023024aaa7c4bb8c1ba92585b822aac3f06717d7a2464dcb73ce5cd03a318df5d48b83c304c70b524a718c65def5cb8da63d023100dab0b3df3b06d1f0c793acad7affce89baf1a1b71c154e42389a203180320e395b9f7bbb2fd248510d4e7751dc51850a0302047c435bb5006730650230629a868f28de972f2287a377ec1ec2222eb2e419f66624beaa4b8c5c1f24eaec06e62a643de787e7a6f76d41b31bb3d6023100d683dc236988f09a1d49ef1d61108787d56dd493f3e4d77aafc65b5d5a8f9b75ea191565c7f2593a61938c11c228a6f00302047c435bb500673065023100ad38d178cffd318db9a4434838ab3e68ebf2a9ec97cf72f7913ac801c3e10b61d30395a2d5ad7ec6d0da45b3335029b402305061953d4365aba6b84f24b2fa06a0bb293185d2a7e2a51d8d50ab73dcf94ba72a9f302d43261eb2664373b00df092b50302047c435bb500673065023100c02ef8999b0d78857f63c6a786b0919ccf0278be993e96b3982f672ee22afc3f2b727e96135d8e4768e31dd758e370a802307e065b31aa6c0fcf0181d52d6a030f9fa13a93bed60d616ccdcecc87e77b2a77c5a214044327685a0c6ec70e796fce930302047c435bb500663064023077a364284a42a1c561cb253248cedd4e9200abd7f678ae15ad397691562825ebaa8929e2b374b7b6db2d5455daf3d732023038f2c0c48b11c55699e6a4eca20bc52c2e1ff1bd45745b31a03255e16f32aed9d169171e70050f193b085f3bde70c0150302047c435bb5006730650231009d33f133199f6612dd9b17b2cfd79519069eeac9d6d6c4ac118d4a1aa3b74f4f71c0d74cfb3d1430ad0c1dcda6a4677b0230413954aa7d124e145da5ed13c1828ce1e2c4f421b5524d4c550fcccfe04c369737707cfbd9ffd4e9dd7b7b63df5cd9c50302047c435bb5006730650230232b1bc36a0b28341bdc85cd261dce93239bfd9d31616af9f793f166ffe64ef8681afca83ddc584c554d6cdd4d863a30023100a49432c513114ca1a9b774cee57b736752b0433af352acccd7af62b72650a2e8046a6616d3a14ac3107dadec7825cf360302047c435bb50066306402306ff24c0a144f17a8c5cbc54c3c31cb8bee5a3e1f8bf52ac124c58c18d3132ee33653d43b92134a3a1421116855783e1602304e0af6c8df7f10357ac57bc7c7f2d2681660fc2dfdfa71a318d407a1db3619d020e9ed967f12d9d407a4b5eb7574dc320302047c435bb500663064023026e0126bc29203813efd21753e2217b979568a5c1d806e223538b76e675724011670b7d88d4f622092ca290fd7d24c13023006b55a7e1ec41f3eb87c4f15e285f2a63be6ac9a640382c8da826724b0497dfc385376cdb92a26edb181437be9957de70302047c435bb5006630640230530d78b0d1d3a3f1d75cab9e02687c4c8ca0f6d56337e312cab6aec6c09e0dfb1bfdd648b523a0fedc49c42d005b93ab02300bba3dc992fdf70145208f5d5ea3399b30e793e9f72b78ccf67ba445b09fd59c41ff7d88eaf157bbd0679340f3cf55ee0302047c435bb500683066023100aa04999a140711c3e5f0dd4be4ef15fa7c0cf663c38fb88a90e79738985f038dde46e9c4912e5dfab698d815b1e84d020231009c19bce2398a4441547e4391700893f0eb45f4ac88fb21cdccc217fafbabf627b8fe3980911f32a4d54958a8302b62f80302047c435bb5006830660231008377ff3f3392b679b5c5f2b86edbd9172309d6273e28a8bc6aa7621743066e11bf3eae4b3817f83e1e6319bb2939268c02310090fffe7b88e222162665800a44345e7978cdce4c9b9bae8642f0a56d22a41647d8dcb16010880395b35046b5f26fd1650302047c435bb5006730650231008edc5dad4776d6fdefe52afa246ef50bf269b751495fde4fee10e62e574d8e52df95069b90040e4343384d6bc16e170b02303f3164c14e41fb09ad59f765809263d9fb053b43982ee1cba738492d1498242983d1a31b908fa78211c13ebd471374f30302047c435bb500663064023010605b532f7a29b5cb65d748ccb0a3c210e87780a7c1f1301bf88b3f3711119771630f5040d2fa73ccceee2040a96da602304790b8c9a130404dd4a50449e5e699c6a99e12b031ce3708d2491b3a6764398dbdc094bafc302e1b2f0170491dae10780302047c435bb500683066023100d2d4a3f3474e1d71954c6d17818ec096c786355f61f93c7b4851518467ecf1f04b66395e79b201fdc271f15b126c28e6023100d059bf61858b5ac3fce613a931e61b2e69c4ffaee8a38c42243c5af4f75eda3dbe07c3ec584424d5bd3273cd558d7d530302047c435bb50067306502303c877fae20c3553eca9e0e26335470b0e5625811aeafe05283ba15cf71eadd00a7b0f8a97f812f3ec98ce9541f866ec7023100add94cd62e1a405568deb61dd146e0e51e138877205c6fa5c2966f31b0416f6615649cc647e522dbab842249b1b390ed0302047c435bb500683066023100c2470f7b6dc74a75dfd67906169d8a5ef7f8eee6e53e5a3f268ab6d08e1e7801a2a988e6fe6b6da902813ebe89d56e59023100e2f226144c13fbce60ee47b9f9fff724df66f2aabad83120a65e855f41bc7111bb6b1894270a642061b5d614f981b64c0302047c435bb500683066023100ba8e9d1f109dc110e5262fac6cd64e3496ca291419cb78a3e97d743c4b7f7bc0b3a69890bbf6d96c159189b248d9f5c3023100e17803fb706cd32668353371599811d699036619923c615e21baf5292c69ccb8a59110566a5b4af36110ca6b2403298f0302047c435bb50066306402307040cf1c1cd41013107005fd50b915af699b840549346560ae4fb2bef143f13f5c0fe1b81e4ad15431fedbe2a0a6a4de023059965d74da53e7e850c32229383de91831ae190dfe7ed5475db9f1a9f9ae34728be87ebc64442450b59d5d85e3c14ba30302047c435bb5006730650230638f85a2490492297cbc17006e04301a253b203ecc39cac9ba3c8bce1d803ad70d793bc1ae0fe46502e82199168e600e023100815cafcc1199e30c26f239218c79105062eb6d6960f6c3a4ca0adf3fc00a4648d448dc8f0a3fe944c662656369ac8c960302047c435bb50068306602310098c5061c84693a5ebc1d50cc565086b583d340aa406f2243784f5dc148d173cdfae883658ef6bad5ceaceed056990de4023100d9eb45f9fedbf5a2fd8a57985ebc302698f6babbbdfb07312d093fb2a20918ab72fc22356118fc5f33786baa118b6a6f0302047c435bb500673065023100f1dc664760303674253402fb52fb8bfcff493c1e48eb94eb75417d1ef92c3b16fb9417904f9c3efde48e6aa9c326c919023029d7b04a5a86249b936758a2bb2ffc96de77a8fbe597d519a76a3f371ccc55caaf702abfbea14be65b9f23061184e4fb0302047c435bb5006630640230118b6b474cada1fea054e825d621a61ffe22662fa6a22c1798c0f12a03e84b85e0cbcac1b6ee76314119b1504fd6653c02307208954b43b8ff09364aaa18f810ec3cb9a24c44868eb780ef1ffd881e6e028171a280f799aa40883c34cc1db10fc6030302047c435bb5006630640230356fa03245078e6a512f1209d2c99d8de035aae0794fc7cff1b6e7e53f3af9761159fe6ee3a6dfa5d7fa3314d9ff75fd02301a05bb0c389cc262e92b98589785e2be435af29820f9bdf62d01becf3b5ed1e4f76d00969fe0c38c7d03299cf8928cba0302047c435bb5006730650230305fe5c935eb92958b55a05a9a17c36dc06bdf5634e3ae638b7250a8a373d3b16bf79d540eea46e046dd0a8adf644198023100bf10e3838cf620cdb7e779d0d3642906d58272669f7dbfe0a7d3e2b8660858e1729b2f8a4e6ef8c055825eaea35095580302047c435bb500683066023100c1cba1eaba5a700a8b0b7d7cabb1f2a6cdbbae48df26925a65ce15b758c283cebd39c4e01195327154533d09abc52391023100c75f3afa68325d5d6312c4404ceca9530ece989dd9478ff91181238234eb7762b66b6942444b7e3d3ffa3dbb7d0c2b510302047c435bb5006730650230216e56415ee1ade34867b899084b3095a379ab2fbdd12966dbad6d8c4dad51fc5031cef0235bfd14f87d02ac3da1281b023100c49bbc1a1ebeedbdb5b08e7ea6352c1e2e518d404359d5ebb1a426a096770dfa6f2294c27d349ce89e1de37c934310dc0302047c435bb500683066023100fa17393573379cddea1bc9869792253660eba9f3ad694fe97687328bea6be8bfbb938047c6077ebb404290bdea18d5ac023100cf3b4aac1436306015ab7e5d62f03e1f824a204830c5fbd5811a9661bf1bfd648ea2a2c74b75c4e50cfb4ae2e7533ef70302047c435bb50066306402307bcb467889a5b6497423163fc93cbb1e38e3ce717e05781bd41c2e12cbc04efb16c1b6607020867f93327965bffa974202307857a66cd6bfd280fd48b13edad72d2267527b28f7dacfd18dd9936b58b1732deabe2735484f7e1476a2e5449ab055a80302047c435bb500683066023100f39f1ca886e2608cb94fe4a459f5fee7ef317d5ff8aef1a5b601ef24d1abdc0959423cebfec2b6507aa9c5cad272d961023100b332db3f9f6fbfe0f1cedf74bdbc4cd026afbf25553c0a7e3b3e8485d48db4666d9c1a929191cf7535b089fef24b45770302047c435bb500673065023100d41eef0b40fc9f74216f017adf3548d480d3233f0748d69f8986ef4bba6366753bafd32f29b62f4e4dfc10608266a0ba0230576becf61e7876d0618ec1b0f46f36b164b89983b78e4fda73ebc4790bf172864be4ad3d44f1b8986de168614b2d85950302047c435bb5006730650230186f5c13091d7a47845dcc6f57ec2bb5e382a48306ab13b7b1a6a3a1ffa895550cb73ba54bdcdf66e7c667461e8fd773023100d7ee214fad1e932950305dd2e4a470641b9b1474d84fffbd8042b33aa1e4e3ceb10ff117c4e6dd280ffff47e4d7e5da40302047c435bb500673065023045ba4b22b36f16b9cc591f4826ecb39660a6bb8d5e530083911d1be33278d975cfb10c12c644d3a40fa806c7e4f0ec6f023100ef3c7f6dc4af27b16f1d4a45a3d0f2065603b11fdc8a92e5713d0a60dde6ce2727b392fcdc21deff74281942bb6345250302047c435bb500673065023100b9bc9d241fd1c6d7213ddf900e23ff99a5632cfd8e244610f6625ebc22a17049ec7d05807704e5defd74a1363b9296e3023051ef2085253d43743e77a9e19af1444fc46cf192bb6bbe52b33fbdfb260f861bd25a2b26626af92659bcf28ef1554804De U]\5: sJ0C*me_`fÆXFLGgJIW6I*} ᙲ-4I׆A k[eCI8{y]2#Bh.A$u/͊VҸЃLv` sBfZ^;K\li&s RaAKi,$YV TVJk( &wq.V‚_[q7 k<5\6LUbte OоVSpڈhL[CcuںBEǤ*3,ظ%pE8Ź:5z_q!>x,%,P5W8W4]Bh>p@?d  C +18LhL L L L L `LL LL|(89!:@uGLHLILXY\L]0L^>LbKdwe|fltLuLvwLLx|LyCblivet-data3.6.08.el8Data for the blivet python module.The blivet-data package provides data files required by the blivet python module.eyaarch64-02.stream.rdu2.redhat.com)CentOSCentOSLGPLv2+builder@centos.orgUnspecifiedhttps://storageapis.wordpress.com/projects/blivetlinuxnoarchqxj##L xo8%#( %R%a(l(S)r(O ((('%-,*H]$*dV!"z%]&*n((2(]& Q(#)4%-"큤c){c){c){c){eyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeyeya9efc3133faf78883ab19e4dbf152ab439a373d165414297c383bade9b0e0c22125f660d6c34bca9c50e7d7e0151dab54e2f65d999de1b4341b815cdfb64cfc9b3775167c0e4e0b08b8fcfc3db10c20c6307bda0fae1c51bd2c7fda896f883a00636516fc206d41573bf0a42c35b2dd4aff07655820242152e127d398c5c65a0ea141eb1f8d9ec91a1e90b303658670469593bce7b243637adcb5978ce727c7782d9870d7e606776595c31b30a250ca734d6c61930d8c27882f6f923a12ce619845ab1ff2928b15939274fde15273eae41f86ffbdd8c2c6e1d4dc2dde3d9206006e4d8134852d7952a32ce4f4509e97f6c84c478558ce49ac9f8cd5b47f8afed79b72cc061eaeded01f72878542598bb2cc3edd7698577c44102e95dd15817950aeaaa863ff9966a8fc44c38961ebecdc00e7ea87a2adbb7e636d653303309ad80cd0dad0fc6fe5f7cac3664fdb44ba5bf5f6ae8fa81c26c4e169ada553a336ba3475b46b71dbe834f5aab35e4e515575d3e051181a1ed25bc615e1583a8801addd20e97592a43428e07d3f483b28fb5fa9837e0374ec173105e2119cf33dcb62e8318ecb87c8a94d6616eb292ca8d3dd92bfacc0cb8d808c3830ebcffd5d72572b45e791759a9d271f7394d8aba25d72e227bb00c988739d82557a893c68e3acb76559693cbc8649423930b8b5acfac511450f429506b208057c886875b030d7bcf1cb9816b83a98e6e514c4b92e7a8161f54ed26044a0546975f930c5dd18b8a97191c07cfbe0492dce71cc305d9f2b1d98674be63f1c25973d5de538ead348cf16f80eee5e190848c29046227d5d0239671977b60e7123e580a78e7544bf0572eb86ece038d3ae59f48029d0ebc4f4a7de89bfb2e25584a0b01713e5bafb78da81b9cbd9978257ed568aa52617cc98c07169441570d369f23707d005c3854df5609480fd48e47c8c3a7d2e704584ee36a5ab1093a8cb0385b3ee617bcfe54e979c7e380efbaef5e85216fa02ab1ffa6c05dc4fd6c78badb622665676a3badaa6abd30dff68bf01de445c3bc7b7f44be2e5eee8e4b1e0a96766e4e0a05a5413e4f644a0680baf45b524c934a977bf4a658a74b2964378138883229547c441ca6515c44bbd5cd86f2673ef78f7c94e6f34276b59935bd4896633e42701a5f0c2182bc8a070d04efc1c8e6d4c7dd039cdb8c109d86b8b6b39ad2b5dab8e078f931883ee9014c5ddcc358b0145a5928c9ced320367677651df2a4daaade5e5c548f96dbddf2700f2eb32e9fa97fa1d14d70363ee35b17bec44d0d3ace769f8926e3b96211c23ea684fcf5e3d3032a042f809b445a90375103280a007490bd331cec5d009d3f8b64b652d66be924959d2f78a4f6fb1344d4934026e203d912df967817a9f9218f893059e1773543ac1e64a86f75129456be7430eb257ab3c6ebacfffacdfdb82029a751053c19d689b7a91f0f7dea4813ddad7ce49e2304118a85b29902776642bd9e6ac78458c88a52e06d5551a0d2faa95bb435f7528fff3962ff17b7e9bb23e558398a518aa60270cd0c66d7fcd9ce1de3fa1c4766bee64433725250836f843e61e457430b05ebced536a56b1aa01cf04bc410f0558e83f43dfd84b13900ddc462229c24abf9a6a92f40f5cd73e51059a6a01fbe2d85eefa49a95865220aaaf10684bde8fd728b5105a1de6d4da91c3d0804b5cbb7ee4b3b8cd26863b72136d199a0886e7daa40672bfff88cc679e626f63eb7a018c54aa2593a6f972225f0edf7cd2e425c77594c051dcc706de00a46c0e088fb03af4bd7f2c0c47535b3259ed09c8d0e506b14771e0b1b5cd0eeda26940fd6fbcc72790b5643d75e0213ce16e2df86300631718103dec4744bf452274b5810850d26f3f490dd1b082f93831b95d7ba5c2bf1b089320f99d6ccbbddab41a60425bd704789f4d72bdca40136956780d875c4a2dda1fd099205829291a2a7b46049cdfdce23ab008d3c7133b37c5612463a36f5724099995586c67ea1be4259271ee266813c1405b3e426e835b6c21c70019fcd714d6faad39d2c87fb7f8e37ade6b2a0f0106bf187ff3a3b1886e514a1248669e3662efa355f2bef7c112cf0607f35e94551a2346051a86dcbea3e1ca6952c01ccc499bc770703ed913adb67b07ee852df6885dd4bb3b6db9c46d434af117a92ac1f1f9fe4bac4d54f732cff3b32119011af5fae3a8f13002a6e6b11546df2c32be29e04a2946c62dcf9a9ecbd730f29f604fd95813429cecb25714a21d27bfebfecdd4db3dccc232462ef923543b65c8acd1a612d6a49b030bde1c21cf5cfe6ebfba6e4339a298946a348ef23d1e8ba1b5ba8680bbfbb529e42772f49f4565202edd5d5695759567502331bc59b282ecf58bda80570d3dea14c13bd7ad3142d10a2750db723402d2b966f032ccf2ba3f76041dbe52adceaa42600dddb0a1810bbf3522abbc1e181facae7443069963ff14edf57ecd08fc54d0fc70a313b3b2cbce0278584f9bb2ae469bfb61f2677a363b757b7e94eeaf506cd8cdcc249c21d8c831188e6be1335e60da94980e51ffe0b2bc84ce256995498f7e58c0732240adf022bd556968280534655e08bbb1674d73750c2ca4e3864f84cf3d74dc5c272350c1be76620a13ea3991ef6527d171ca43bbdd0fc1657cb24213671456d431317fd6721ab3c9d33233f79522cafbda886b24c31fe02f6d95990a1c6ac3464447e579cbdcb5822e0357747f948f141ceff84f6f675fc787a6a5cfd9ea07d0ca891174c1f068834029b52f42bd4b244de556bfdb7f969d8cf7c565d22d8a95148e30fca303b5c7075dc93f04a2c32aec589d5f69fd193e91922a549410448c75a6a1192448d1c14855472672d1a3ba0fec8a27521b8349ebb5295d787531983c24bccb0ec8cca80a20444f917d5899a52c4bacb208d231779c9805b6bdf50bbcf692d3fda56f11d8a9a91114c04ad00301d4aaec82aa3a291b52b2e8aeb55806c73c1692817d8be618e31b29350bbd94a6de5f302f62b18e798b6f7a651d1467cfbb45869ec4d97cf08d70d549e7c35fb38cfba52ed7e309bd433fbd5cdf2b55dcd87a1a97feab87ceffe03205a50ae3f03abc1e51fe54f99c403ba2d443c35fa22e045780c9c6c24b89065ea287a2a7fd65c660cc26ef3d2f6c7d3976cac3b4881e8bc1dd897b14021925e6cb5af8fedfc08fee7bb53ef1a6d4ce404c558ab8e4992c1575c0510f396b90014fad56aca9d077fd2ef49ac017fe9602a632f135984b184bc70bfc40ecbe3aca0c226cd94c18ad10e324fd8797e57a635b188a486762a591a7b3af51468e22a70ff2911639b551c5b7ef56d7097213f8a442fdb8e1f442801bad4a876966495e0a5ee4a5d2588ff4822a647d9e1757cefe20f006c9e57bbb9e0bb8d9e07403f204c0fcd9014c286rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-blivet-3.6.0-8.el8.src.rpmblivet-data@    /usr/libexec/platform-pythonrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1python-blivetpython3-blivet1:2.0.01:2.0.04.14.3e?dgdf@dP@c0cc@cRcRb)ba@b@b@aa@a@a@a @a@` @`@``"y@_=_ _>e_A@_^)@^@@^Ǿ^\@^1s]@]@]H@],j]G@]@]@\P\@\s\=@\[[@[[:@[{[m~@[^[L[E@Z@Z@Z@ZZ@ZkZZ}@ZYY@Y0XQ@XX^c@X]XWXF@X2X2WW W$W;WWUeW4p@W4p@WW@Vn@V@V@V͛@V0VqU@U@UĝUc@U(UUU>Ux&Ug@UY@U7@UF@TT@TԬT@TT@TLTo)@T[bTXTG@T6xT5'@T*@TT=@SSS@S @SSS@SSSS{CSkqSg}@SXSO@SFS;S2@S*@SSz@SK@RR@RRUR߲R@RRR - 3.6.0-8Jan Pokorny - 3.6.0-7Vojtech Trefny - 3.6.0-6Vojtech Trefny - 3.6.0-5Vojtech Trefny - 3.6.0-4Vojtech Trefny - 3.6.0-3Vojtech Trefny - 3.6.0-2Vojtech Trefny - 3.6.0-1Vojtech Trefny - 3.4.0-13Vojtech Trefny - 3.4.0-12Vojtech Trefny - 3.4.0-11Vojtech Trefny - 3.4.0-10Vojtech Trefny - 3.4.0-9ojtech Trefny - 3.4.0-8Vojtech Trefny - 3.4.0-7Vojtech Trefny - 3.4.0-6Vojtech Trefny - 3.4.0-5Vojtech Trefny - 3.4.0-4Vojtech Trefny - 3.4.0-3Vojtech Trefny - 3.4.0-2Vojtech Trefny - 3.4.0-1Vojtech Trefny - 3.2.2-9Vojtech Trefny - 3.2.2-8Vojtech Trefny - 3.2.2-7Vojtech Trefny - 3.2.2-6Vojtech Trefny - 3.2.2-5Vojtech Trefny - 3.2.2-4Vojtech Trefny - 3.2.2-3Vojtech Trefny - 3.2.2-2Vojtech Trefny - 3.2.2-1Vojtech Trefny - 3.1.0-20Vojtech Trefny - 3.1.0-19Vojtech Trefny - 3.1.0-18David Lehman - 3.1.0-17Vojtech Trefny - 3.1.0-16Vojtech Trefny - 3.1.0-15Vojtech Trefny - 3.1.0-14Vojtech Trefny - 3.1.0-13Vojtech Trefny - 3.1.0-12Vojtech Trefny - 3.1.0-11David Lehman - 3.1.0-10David Lehman - 3.1.0-9Vojtech Trefny - 3.1.0-8Vojtech Trefny - 3.1.0-7David Lehman - 3.1.0-6Vojtech Trefny - 3.1.0-5Tomas Orsava - 3.1.0-4Vojtech Trefny - 3.1.0-3Vojtech Trefny - 3.1.0-2David Lehman - 3.1.0-1David Lehman - 3.1.0-0.1.b2Vojtech Trefny - 3.1.0-0.3.b1Vojtech Trefny - 3.1.0-0.2.b1David Lehman - 3.1.0-0.1.b1David Lehman - 3.0.1-1David Lehman - 1:3.0.0-0.6.1.b1David Lehman - 1:3.0.0-0.6.b1Iryna Shcherbina - 1:3.0.0-0.5.b1David Lehman - 1:3.0.0-0.4.b1Vojtech Trefny - 1:3.0.0-0.3.b1Fedora Release Engineering - 1:3.0.0-0.2.b1David Lehman - 3.0.0-0.1.b1Vojtech Trefny - 2.1.11-1Vojtech Trefny - 2.1.10-1Vojtech Trefny - 2.1.9-1Vojtech Trefny - 2.1.8-1Fedora Release Engineering - 1:2.1.7-7Adam Williamson - 1:2.1.7-6Adam Williamson - 1:2.1.7-5Miro Hrončok - 1:2.1.7-4Vratislav Podzimek - 2.1.7-3Vratislav Podzimek - 2.1.7-2Vratislav Podzimek - 2.1.7-1David Lehman - 2.1.6-1David Lehman - 2.1.5-1David Lehman - 2.1.4-1David Lehman - 2.1.3-1David Lehman - 2.1.2-1David Lehman - 2.1.1-1David Lehman - 2.1.0-1David Lehman - 2.0.3-1David Lehman - 2.0.2-1David Lehman - 2.0.1-1David Lehman - 2.0.0-1David Lehman - 2.0.0-0.1.b1David Lehman - 2.0.0-0.1.a1Brian C. Lane - 1.16-1Brian C. Lane - 1.15-1Brian C. Lane - 1.14-1Brian C. Lane - 1.13-1Brian C. Lane - 1.12-1Brian C. Lane - 1.11-1Brian C. Lane - 1.10-1Brian C. Lane - 1.9-1Brian C. Lane - 1.8-1Brian C. Lane - 1.7-1Brian C. Lane - 1.6-1Brian C. Lane - 1.5-1Brian C. Lane - 1.4-1Brian C. Lane - 1.3-1Brian C. Lane - 1.2-1Brian C. Lane - 1.1-1David Lehman - 1.0-1Brian C. Lane - 0.76-1Brian C. Lane - 0.75-1Brian C. Lane - 0.74-1Brian C. Lane - 0.73-1Brian C. Lane - 0.72-1Brian C. Lane - 0.71-1Brian C. Lane - 0.70-1Brian C. Lane - 0.69-1Brian C. Lane - 0.68-1Brian C. Lane - 0.67-1Brian C. Lane - 0.66-1Brian C. Lane - 0.65-1Brian C. Lane - 0.64-1Brian C. Lane - 0.63-1Brian C. Lane - 0.62-1Brian C. Lane - 0.61-1Brian C. Lane - 0.60-1Brian C. Lane - 0.59-1Brian C. Lane - 0.58-1Brian C. Lane - 0.57-1Brian C. Lane - 0.56-1Vratislav Podzimek - 0.55-1Fedora Release Engineering - 0.54-2Brian C. Lane - 0.54-1Brian C. Lane - 0.53-1Brian C. Lane - 0.52-1Brian C. Lane - 0.51-1Brian C. Lane - 0.50-1Brian C. Lane - 0.49-1Brian C. Lane - 0.48-1Brian C. Lane - 0.47-1Brian C. Lane - 0.46-1Brian C. Lane - 0.45-1Brian C. Lane - 0.44-1Brian C. Lane - 0.43-1Brian C. Lane - 0.42-1Brian C. Lane - 0.41-1Brian C. Lane - 0.40-1Brian C. Lane - 0.39-1Brian C. Lane - 0.38-1Brian C. Lane - 0.37-1Brian C. Lane - 0.36-1Brian C. Lane - 0.35-1Brian C. Lane - 0.34-1Brian C. Lane - 0.33-1Brian C. Lane - 0.32-1Brian C. Lane - 0.31-1Brian C. Lane - 0.30-1Brian C. Lane - 0.29-1David Lehman - 0.28-1David Lehman - 0.27-1Brian C. Lane - 0.26-1Brian C. Lane - 0.25-1David Lehman - 0.24-1Brian C. Lane - 0.23-1David Lehman - 0.22-1Brian C. Lane - 0.21-1Brian C. Lane - 0.20-1Brian C. Lane - 0.19-1Brian C. Lane - 0.18-1Brian C. Lane - 0.17-1Brian C. Lane - 0.16-1Brian C. Lane - 0.15-1David Lehman - 0.14-1Brian C. Lane - 0.13-1David Lehman - 0.12-1David Lehman - 0.11-1David Lehman - 0.10-1Brian C. Lane - 0.9-1David Lehman - 0.8-1Brian C. Lane - 0.7-1Brian C. Lane - 0.6-1David Lehman - 0.5-1David Lehman - 0.4-1David Lehman - 0.2-1David Lehman 0.2-1David Lehman 0.1-1- Add support for creating shared LVM setups Resolves: RHEL-14021Backport iSCSI initiator name related fixes: - Allow changing iSCSI initiator name after setting it Resolves: rhbz#2083139 - Add a basic test case for the iscsi module Related: rhbz#2083139 - tests: Use blivet-specific prefix for targetcli backing files Related: rhbz#2083139 - iscsi: Save firmware initiator name to /etc/iscsi/initiatorname.iscsi Resolves: rhbz#2084043 - tests: Improve iscsi_test.ISCSITestCase Related: rhbz#2083139- Fix setting kickstart data Resolves: rhbz#2175166 - Do not set memory limit for LUKS2 when running in FIPS mode Resolves: rhbz#2183437 - Add support for filesystem online resize Resolves: rhbz#2168680- Add support for specifying stripe size for RAID LVs Resolves: rhbz#2142550- Default to encryption sector size 512 for LUKS devices Resolves: rhbz#2160465- Catch BlockDevNotImplementedError for btrfs plugin calls Resolves: rhbz#2139169 - Revert "Adjust to new XFS min size" Resolves: rhbz#2139187- Skip XFS resize test on CentOS/RHEL 8 Related: rhbz#2123712- Rebase to the latest upstream release 3.6.0 Resolves: rhbz#2123712- DDF RAID support using mdadm Resolves: rhbz#2063791- Add support for NPIV-enabled zFCP devices Resolves: rhbz#1497087- Fix running gating tests on AWS/Xen machines Resolves: rhbz#2093207- Fix getting PV info in LVMPhysicalVolume from the cache Resolves: rhbz#2079220 - Do not crash when changing disklabel on disks with active devices Resolves: rhbz#2078801 - ActionDestroyDevice should not obsolete ActionRemoveMember Resolves: rhbz#2076958 - Correctly set vg_name after adding/removing a PV from a VG Resolves: rhbz#2081276 - Use LVM PV format current_size in LVMVolumeGroupDevice._remove Related: rhbz#2081276 - Add support for creating LVM cache pools Resolves: rhbz#2055198- Translation update Resolves: rhbz#2003050- Replace all log_exception_info calls with log.info Resolves: rhbz#2028134- Release number bump Related: rhbz#1988276- Improve error message printed for missing dependecies Resolves: rhbz#1988276 - Use bigger chunk size for thinpools bigger than ~15.88 TiB Resolves: rhbz#1949953- Fix running upstream test suite in gating Resolves: rhbz#1990232- Do not set chunk size for RAID 1 Resolves: rhbz#1987170- Fix resolving devices with names that look like BIOS drive number Resolves: rhbz#1983309- Fix activating old style LVM snapshots Resolves: rhbz#1961739- Rebase to latest upstream release 3.4.0 Resolves: rhbz#1918357- LVM VDO support Resolves: rhbz#1509337- Let parted fix fixable issues with partition table Resolves: rhbz#1846869 - Fix possible UnicodeDecodeError when reading sysfs attributes Resolves: rhbz#1849326- Add support for XFS format grow Resolves: rhbz#1862349 - Do not limit swap to 128 GiB Resolves: rhbz#1656485 - Use UnusableConfigurationError for partially hidden multipath devices Resolves: rhbz#1877052 - Fix possible UnicodeDecodeError when reading model from sysfs Resolves: rhbz#1849326 - Add basic support for LVM VDO devices Resolves: rhbz#1828745- Fix name resolution for MD devices and partitions on them Resolves: rhbz#1862904 - Fix ignoring disk devices with parents or children Resolves: rhbz#1866243- set allowed disk labels for s390x as standard ones (msdos + gpt) plus dasd Resolves: rhbz#1855200 - Do not use BlockDev.utils_have_kernel_module to check for modules Resolves: rhbz#1855344- Blivet RHEL 8.3 localization update Resolves: rhbz#182056 - Do not use FSAVAIL and FSUSE% options when running lsblk Resolves: rhbz#1853624- Round down to nearest MiB value when writing ks parittion info Resolves: rhbz#1850670- Add extra sleep after pvremove call Resolves: rhbz#1640601- Rebase to the latest upstream release 3.2.2 Resolves: rhbz#1714970- add `-y' to lvm.pvcreate Resolves: rhbz#1768494- Override LVM skip-activation to allow for thorough removal Resolves: rhbz#1766498 - Make sure LVs are writable before wiping Related: rhbz#1766498 - Fix udev test names so they actually get run. Related: rhbz#1758102 - Add recognition of Dell FW RAID to udev.device_is_disk. Resolves: rhbz#1758102 - Align base sizes up if smaller than min I/O size. Resolves: rhbz#1781106 - Make minimal and optimal alignment getters public. Related: rhbz#1781106- Check for PV sector size when creating new VG Resolves: rhbz#1754446- Fix util.detect_virt function Resolves: rhbz#1676935- Minor cleanups to reduce log noise Related: rhbz#1579375- Do not crash if 'dm.get_member_raid_sets' fails Resolves: rhbz#1704289- Correctly handle non-unicode iSCSI initiator names Resolves: rhbz#1632117- Fix reading LV attributes in LVMVolumeGroupDevice.status Resolves: rhbz#1721381- Deactivate incomplete VGs along with everything else Resolves: rhbz#1635125 - Automatically adjust size of growable devices for new format Resolves: rhbz#1680013 - Add flag for protecting cdrom devices during populate Resolves: rhbz#1719648 - Clean up some errors evident in installer logs Resolves: rhbz#1579375 - Use dasd disklabel for vm disks backed by dasds Resolves: rhbz#1676935- Various test fixes for RHEL 8 Related: rhbz#1682561 - Add upstream test suite to the SRPM Related: rhbz#1682561- Ensure correct type of mpath cache member list. Related: rhbz#1672971- Update to latest translations. Resolves: rhbz#1608337 - Require libfc instead of fcoe for offloaded FCoE. Resolves: rhbz#1575953 - Use udev to determine if disk is a multipath member. Related: rhbz#1575953 - Don't crash if blockdev mpath plugin isn't available. Resolves: rhbz#1672971- Copy the iSCSI initiator name file to the installed system (vtrefny) Resolves: rhbz#1664587- Wipe all stale metadata after creating md array (dlehman) Resolves: rhbz#1639682- Fix options for ISCSI functions (vtrefny) Resolves: rhbz#1635569- arm: add support for EFI on ARMv7 (probinson) Related: rhbz#1623882 - Aarch64 platforms: Fix gpt defaults for 64 bit arm platforms (probinson) Resolves: rhbz#1623882 - arch: arm: drop get_arm_machine function (probinson) Related: rhbz#1623882 - arch: arm: drop omap specifics for partitioning (probinson) Related: rhbz#1623882- Require the Python interpreter directly instead of using the package name - Related: rhbz#1619153- Check device dependencies only for device actions Related: rhbz#1605213 - Allow removing btrfs volumes without btrfs support Resolves: rhbz#1605213- Create a separate availability check for dmraid support Resolves: rhbz#1617958- Allow configuring default LUKS2 PBKDF arguments using luks_data (vtrefny) Related: rhbz#1561352 - Fix the populate_kickstart method in LUKS (vtrefny) Related: rhbz#1561352 - Allow specifying extra arguments for PBKDF when creating LUKS2 (vtrefny) Related: rhbz#1561352 - Add support for LUKS2 to DeviceFactory (vtrefny) Resolves: rhbz#1561352 - DeviceFactory: use min_luks_entropy from kwargs (vtrefny) Related: rhbz#1561352 - Fix passing 'min_luks_entropy' when creating LUKS format (vtrefny) Related: rhbz#1561352 - Use passphrase/key file when resizing LUKS2 format (vtrefny) Related: rhbz#1561352 - Require libblockdev 2.17 (vtrefny) Related: rhbz#1561352 - Add support for LUKS2 format (vtrefny) Related: rhbz#1561352 - Add initial support for DM Integrity "format" (vtrefny) Related: rhbz#1561352 - Do not try to add LUKSDevice in LUKSFormatPopulator (vtrefny) Related: rhbz#1561352 - Add support for dm-integrity devices (vtrefny) Related: rhbz#1561352 - Fixed various issues preventing successful build (japokorn) Related: rhbz#1561352- Do not ignore "Image out-of-sync" internal LVs (vtrefny) - Fixed error message when slave is missing (japokorn) - Ensure WWNs are set for multipath and dmraid. (dlehman) - Use ID_WWN_WITH_EXTENSION for WWNs. (dlehman) - Ignore pylint error "bad-option-value" for new pylint errors (vtrefny) - Fix errors found by new pylint 2.0.0 (vtrefny) - Fix caching logic in ExternalResource. (dlehman) - Use DiskFile to allow testing missing dependencies as non-root. (dlehman) - Restore availability caching after disabling for tests. (dlehman) - Preserve original blockdev plugin list in test cleanup. (dlehman) - Fix positional/key-word arguments in util.Path (vtrefny) - fix doc for is_s390() (dan) - The key size of LUKS should be 0 by default (vponcova) - Do not use rpm to check for Zanata client (vtrefny) - Fixed create_device fail behavior (japokorn) - Fixed KS forcing zerombr onto RO disk (japokorn) - Fix BIOS device number regex in edd module. (#1552236) (dlehman) - Shrink devices before growing others with common ancestors. (#1539422) (dlehman) - Do not copy ksdata. (rvykydal) - Find and remove stale LVM metadata immediately after creating md array. (dlehman) - Adapt mock imports for compatibility w/ python2 & python3. (dlehman) - Use py2-compatible syntax to get system architecture. (dlehman)- Remove btrfs from requested libblockdev plugins (vtrefny)- Force command line based libblockdev LVM plugin (vtrefny)- Add 'nvdimm' tag for NVDIMM namespaces (vtrefny) - Add test for NVDIMMNamespaceDevicePopulator (vtrefny) - Add populator helper for NVDIMM namespaces (vtrefny) - Add 'NVDIMMNamespaceDevice' device representing NVDIMM namespaces (vtrefny) - Add a function for identifying NVDIMM namespaces (vtrefny) - Add a singleton for NVDIMM namespaces management (vtrefny) - Add NVDIMM plugin to list of requested plugins (vtrefny)- Weak dependencies for libblockdev plugins (japokorn) - Translate log levels from libblockdev to python log levels (vtrefny) - Try to wait after stopping an MD array (vtrefny) - Replace deprecated iscsi_firmware dracut option (rvykydal) - Fix how we check return value for call_sync in safe_dbus (vtrefny) - Conditionalize the Python 2 subpackage and don't build it on EL > 7 and Fedora > 28 (miro) - Fix python3 conditional in rpm spec file. (dlehman) - Fix upstream URL in spec (vtrefny) - Allow device specification by node to udev.get_device. (#1524700) (dlehman) - Do not try to update potfile during make all (vtrefny) - Use '-p1' when applying patches with autosetup (vtrefny) - Remove dependency on pocketlint (vtrefny) - Dasd is a valid label type on s390x (#1538550) (vponcova) - fcoe: remove /etc/fcoe dir if it exists before copying configuration (#1542846) (rvykydal) - Avoid UnitTest.subTest due to python2 incompatibility. (dlehman) - Adapt action test mock imports for compatibility w/ python2 & python3. (dlehman) - Use explicit super() syntax in config actions for py2 compat. (dlehman) - Use libblockdev runtime dependency checks (#1501249) (vtrefny) - Fix minor typos (yurchor)- Use bcond for with python3, allow it on RHEL > 7 (mhroncok) - Conditionalize the Python 2 subpackage and don't build it on EL > 7 and Fedora > 28 (mhroncok)- Don't use a 'wwn' kwarg for MDBiosRaidArrayDevice (#1557957) (awilliam)- Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)- Allow device specification by node to udev.get_device. (#1524700)- Dasd is a valid label type on s390x (#1538550)- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Add some reasonable default value for LANG variable in size_test (vtrefny) - Remove ksdata from Blivet. (dlehman) - Fix AttributeError in fsminsize (#1502587) (vtrefny) - Remove Blivet.write_dasd_conf and now-unused Blivet.write. (dlehman) - Move blivet.partspec into pyanaconda. (dlehman) - Make uboot partition weight match analogs on other platforms. (dlehman) - Move some cmdline option checking into Flags. (dlehman) - Move platform module into pyanaconda. (dlehman) - Add and use new platform detection functions in arch. (dlehman) - Move disklabel selection logic into DiskLabel. (dlehman) - Move new partition weight calculation into PartitionDevice. (dlehman) - Move osinstall and autopart into pyanaconda. (dlehman) - Move default thin pool space reservation into devices.lvm. (dlehman) - DM device subsystem is now obtained by libblockdev (japokorn) - Document DBus interface. (dlehman) - Mark the DBus interface as unstable. (dlehman) - Do not try to use protected disks for autopart (vtrefny) - Use InstallerStorage in setupDiskImagesNonZeroSizeTestCase (vtrefny) - Clearpart test tag fixes (japokorn) - Added support for device tags (japokorn) - Use Ansible playbook to install test dependencies (vtrefny) - Use addCleanup for VM tests too (vtrefny) - Skip tests when SELinux is disabled (japokorn) - Revert "Use libmount for MountsCache" (vtrefny) - Only run log_method_call when flags.debug is set. (dlehman) - Adjust Makefile and spec file for Python 2 compatibility (vtrefny) - Adapt to anaconda_log rename (mkolman) - Followup for custom six move for mock. (dlehman) - Silence pylint with regard to custom six move of mock. (dlehman) - Allow overriding PYTHONPATH when running unit tests. (dlehman) - Supply some missing patches during device name tests. (dlehman) - Allow time for event handling in unit tests. (dlehman) - python2: Don't try to call unbound method w/ wrong class type. (dlehman) - python2: threading compatibility. (dlehman) - python2: compatibility for wraps when used on methods. (dlehman) - python2: adapt to absence of inspect.signature. (dlehman) - python2: python2 has no unittest.assertLogs. (dlehman) - python2: Handle unittest.assertRaisesRegex rename. (dlehman) - python2: Add a custom six move for mock. (dlehman) - python2: EddEntry support for len() and indexing. (dlehman) - python2: Don't use 'default' kwarg to 'min' (dlehman) - python2: Use six.wraps instead of functools.wraps. (dlehman) - python2: Use six.raise_from for chained exceptions. (dlehman) - python2: Use six.next for iterator advancement. (dlehman) - python2: Explicit args to super function. (dlehman) - python2: Explicitly declare new-style classes. (dlehman) - python2: Use six.add_metaclass instead of metaclass kwarg. (dlehman) - Catch AttributeError if pyanaconda is missing in populator_test. (dlehman) - Use relative imports in blivet.dbus.blivet. (dlehman) - pylint: disable pylint warning for InstallerStorage.get_free_space (vtrefny) - pylint: ignore some pylint warnings in tests (vtrefny) - Use "flags.keep_empty_ext_partitions" instead of "installer_mode" (vtrefny) - Add a WWN attr to all disk device classes. (dlehman) - Fix flag access in selinux test. (dlehman) - Collect HW RAID info before populating devicetree. (dlehman) - Add HW RAID properties to DiskDevice. (dlehman) - Add a devicelibs module for disks. (dlehman) - Add 'jbod' as an alias for 'linear' RAID level. (dlehman) - Add some tests for DependencyGuard (dlehman) - Introduce the discard_new flag and use it (vpodzime) - Use the 'C.UTF-8' locale instead of '' (vpodzime) - Add anaconda-core, libvirt and paramiko to TEST_DEPENDENCIES (vpodzime) - Get rid of the merge-pr script (vpodzime) - Adjust vmtest to new DeviceFactory constructor API (vtrefny) - Obtain factory defaults from passed-in device, if there is one. (dlehman) - Use **kwargs for device factory ctor. (dlehman) - Use a property to adjust factory size based on encrypted bool. (dlehman) - Functional testing: Add support for libvirt authentication (vtrefny) - Fixed merge error (japokorn) - Enable LVMOnMDTestCase (vtrefny) - LVMThinSnapShotTestCase: Fix creating of the thin snapshot (vtrefny) - Create a better test summary when running tests in a VM (vtrefny) - Add a script to run tests in a virtual machine (vtrefny) - Move BlivetResetTestCases from ImageBackedTestCase to VMBackedTestCase (vtrefny) - Add a test case for tests running in a virtual machine (vtrefny) - Do not try to create format for snapshots in create_device (vtrefny) - Use None as mountpoint for new snapshots (vtrefny) - Do not try to unset flags on other devices than partitions (vtrefny) - Fix TypeError when calling blivet.reset() (vtrefny) - Broke backwards API compatibility of LUKS handling (japokorn) - Default to LVM in the device factory. (dlehman) - Add callbacks for populate (vpodzime) - Fix checks when changing fslabel using actions (vtrefny) - Remove deprecated method udev.device_is_realdisk (vtrefny) - Use libmount for MountsCache (vtrefny) - Fix initialization of ignored, exclusive disks. (dlehman) - Fix devicetree tests to use callbacks instead of record_change. (dlehman) - Change udev.device_is_disk to match disks only (vtrefny) - Fix udev.resolve_glob to match device path too (vtrefny) - Add tests for configuration actions (vtrefny) - Allow changing format label using configuration actions (vtrefny) - Add new actions for configuring formats and devices (vtrefny) - Quickfix of merge bugs (japokorn) - Remove action objects before resetting via dbus. (dlehman) - Clean up dbus object management a bit. (dlehman) - Only overwrite current format if the new one is different. (dlehman) - Add a Factory method to DBusBlivet. (dlehman) - Update example dbus client to account for Format interface. (dlehman) - Adjust zanata version for new branch. (dlehman) - Allow custom chunk size specification for MDRaidArrayDevice (vtrefny) - Add zanata-python-client to TEST_DEPENDENCIES (bcl) - Allow custom chunk size specification for MDRaidArrayDevice (vtrefny) - Add zanata-python-client to TEST_DEPENDENCIES (bcl) - Add a Commit method to DBusBlivet. (dlehman) - Update unit tests. (dlehman) - Move removed devices and formats into different subtrees. (dlehman) - Use the object manager to look up objects. (dlehman) - Add mappings of objects by id and object path to ObjectManager. (dlehman) - Add an id property to DBusObject. (dlehman) - Add an Action interface to the dbus service. (dlehman) - Make sure DBusFormat's Type property is always a string. (dlehman) - Pass blivet objects to blivet methods. (dlehman) - Fix root detection on btrfs in rescue mode (vtrefny) - Use device's mount options when mounting existing systems (vtrefny) - Add a Commit method to DBusBlivet. (dlehman) - Update unit tests. (dlehman) - Move removed devices and formats into different subtrees. (dlehman) - Use the object manager to look up objects. (dlehman) - Add mappings of objects by id and object path to ObjectManager. (dlehman) - Add an id property to DBusObject. (dlehman) - Add an Action interface to the dbus service. (dlehman) - Make sure DBusFormat's Type property is always a string. (dlehman) - Pass blivet objects to blivet methods. (dlehman) - Move some more installer-specific methods and values into blivet.osinstall. (sbueno+anaconda) - Mv copy_to_system from blivet.util to blivet.osinstall (sbueno+anaconda) - Get rid of flags.installer_mode (sbueno+anaconda) - Create flags.keep_empty_ext_partitions (sbueno+anaconda) - Create flags.selinux_reset_fcon (sbueno+anaconda) - Create flags.auto_dev_updates (sbueno+anaconda) - Add a Format interface to the dbus service. (dlehman) - Always require the rounding mode to be specified for Size (vpodzime) - Add method DBusBlivet.InitializeDisk. (dlehman) - Add a unit test for DBusBlivet.RemoveDevice. (dlehman) - Maintain a mapping of object path to DBusDevice in DBusBlivet. (dlehman) - Correctly handle failures in ResolveDevice. (dlehman) - Add a RemoveDevice method to DBusBlivet. (dlehman) - Convert event handling change accounting to use blivet callbacks. (dlehman) - Add a set of callbacks for changes to blivet's view of things. (dlehman) - Allow replacing an active format within blivet's model. (dlehman) - Add the beginnings of an example client. (dlehman) - Add a Device interface to the dbus service. (dlehman) - Add an ObjectManager interface to the dbus service. (dlehman) - Make DBusBlivet names more dbus-like. (dlehman) - Clean up org.freedesktop.DBus.Properties code in DBusObject a bit. (dlehman) - Move constants into a separate module. (dlehman) - Convert some private methods to public properties. (dlehman) - Import the whole dbus module in a couple of places. (dlehman) - Add a minimal dbus interface. (dlehman) - Rearrange the setup call to minimize changes on updates. (dlehman) - Remove unused readthedocs code from setup.py. (dlehman) - Ignore all merge commits when making rpm log. (dlehman) - Isolate some boot device operations in blivet.partitioning. (sbueno+anaconda) - Move bootloader stuff from Blivet to InstallerStorage. (sbueno+anaconda) - Some small, stupid bugfixes to first installer isolation patch set. (sbueno+anaconda) - LVM data are now global (japokorn) - Update api to reflect changes from isolating installer-specific code. (sbueno+anaconda) - Update examples and test cases for changes from isolating installer code. (sbueno+anaconda) - Get rid of blivet.blivet's last deps on blivet.osinstall (sbueno+anaconda) - Get rid of blivet.blivet's dependence on blivet.osinstall.FSSet (sbueno+anaconda) - Mv installer-specific functions to install. Create InstallerStorage. (sbueno+anaconda) - Move StorageDiscoveryConfig from blivet.blivet to blivet.osinstall (sbueno+anaconda) - Move some StorageDiscoveryConfig attrs into Blivet. (sbueno+anaconda) - Retrieve udev info as needed in handle_format. (dlehman)- Remove build requires for pocketlint (rkuska) - edd_test: don't run on non-x86 (pjones) - Added support for device tags (japokorn) - fcoe: don't use dcb for autoconnecting of bnx2x and bnx2fc (#1261703) (rvykydal) - fcoe: replace fipvlan with fcoemon (#1085325) (rvykydal) - Do not use read-only mode for e2fsck (vpodzime) - Fixed behavior when selinux is disabled (japokorn) - Do file system check before resize (#1484575) (vpodzime)- Use addCleanup for test cleanup instead of clening in tearDown (vtrefny) - No longer skip test w/o selinux; mocked (japokorn) - Skip tests when SELinux is disabled (japokorn) - New test for selinux context setting when mounting (japokorn) - Add tests for disklabel type selection and partition weight. (dlehman) - Do not use package version to check version of installed tools (vtrefny) - Update the upstream git URL (vpodzime) - Stop enforcing obsolete limits on partition count. (#1460668) (dlehman) - Do not run FS check as part of updating (re)size info (vpodzime) - Change how we run e2fsck to check ext filesystems (vpodzime) - Round the recommended thpool metadata size to extents (vpodzime) - Respect thin pool's min size when setting its req_size (vpodzime) - Don't crash during populate when lvm plugin is missing. (dlehman) - Actually add space for LUKS metadata when encrypting a VG (vpodzime) - Only consider old and new device sizes when not growing to max (vpodzime) - Do not reserve space for LVM metadata twice (vpodzime) - Do not create a temporary list for sum() (vpodzime) - Refer to self.container as self.vg in the LVMFactory (vpodzime) - Add a couple of extra comments and docstrings to factories (vpodzime) - Use existing VG's PE size if available in LVMFactory (vpodzime) - Add comments warning before a weird nomenclature in factories (vpodzime) - Don't let device state block modification of the model. (dlehman) - Fix error message for format create w/ missing external dep. (dlehman) - Expand coverage of devices_test.dependencies_test a bit. (dlehman) - Account for external dep availabilty in StorageDevice.controllable. (dlehman) - Add the appropriate external dependency to LUKSDevice. (dlehman)- Adapt to logging module name change (mkolman) - Updated calls to avoid log spamming (japokorn) - Add a script for generating and pushing updated documentation (vtrefny) - pylint: ignore some false positive warnings in blivet.py and lvm.py (vtrefny) - pylint: remove unused false positives from pocketlint config (vtrefny) - pylint: disable false positive "not-context-manager" for threading.Lock (vtrefny) - pylint: ignore "arguments-differ" warnings in blivet.size.Size (vtrefny) - pylint: fix various "arguments-differ" warnings (vtrefny) - pylint: remove init from platform.X86 (vtrefny) - pylint: fix various errors in tests (vtrefny) - pylint: ignore "arguments-differ" warning for "do_tasks" method (vtrefny) - pylint: fix false positive for "catching-non-exception" (vtrefny) - pylint: fix argument name for Device._remove_parent/_add_parent (vtrefny) - Always mount & unmount an XFS file system when writing new UUID (vpodzime) - Do not remove manually created extended partitions (#1440150) (vtrefny) - Look the disk up for a partition by name not sys_name (vpodzime) - Disable pylint "no-member" warnings for re module constants (vtrefny) - Allow custom chunk size specification for MDRaidArrayDevice (vtrefny) - Add RAID chunk size to the generated kickstart file (vtrefny) - Use structured logging for the anaconda logger (mkolman) - Use distutils.spawn.find_executable instead of our custom code (vpodzime) - Add a method to reset file system's UUID (vpodzime) - Try to mount and unmount an XFS FS when writing UUID (vpodzime) - Add a method for a file system to generate a new UUID (vpodzime) - tests/fsuuid: Implement checking invalid UUIDs (aszlig) - formats/swap: Support setting UUID (aszlig) - tests: Add a series of tests for setting UUIDs (aszlig) - tests: Add tests to check the UUID format checkers (aszlig) - tasks: Implement setting UUID after FS creation (aszlig) - formats/fs: Implement setting UUID during mkfs (aszlig) - formats/fs: Add functionality for checking UUIDs (aszlig) - tasks/fsmkfs: Add arguments for setting UUID (aszlig) - Properly unset mountpoint of a snapshot's format (vpodzime) - Update snapshot's format's exists flag based on its origin (vpodzime)- Fix "unknown" SAS device sysfs parsing. (adamw) - Reserve space in a VG when using LVMThinPFactory (vpodzime) - Reserve space in a VG instead of padding thin pools on autopart (vpodzime) - Focus the nonzero disk image size test a bit. (dlehman) - Add missing tearDown method to luks resize test case. (dlehman) - Fix some flag stomping in tests. (dlehman) - Remove the useless method requiredDiskLabelType (vponcova) - FBA DASD should use the msdos disk label type (vponcova) - Be more careful when checking for udisks-iscsi availability (vpodzime) - Do not allow resize of devices with no/unrecoginized formatting. (#1033778) (dlehman) - Clean up parent/child relations on partition ctor error. (#1383873) (dlehman) - Use all ancestors when adding RAID disks to exclusiveDisks (vtrefny) - Fix detection of linear MD RAID (vtrefny) - Add 'discard' option to crypttab for newly created LUKS (vpodzime) - Loop devices w/o backing file are now ignored (japokorn) - Set parted boot flag when creating EFI filesystem (vtrefny) - formats/fs: Set NTFS to be formattable (aszlig) - Do not try to search for 'tmpfs' devices in udev database (vtrefny) - Fix resize test in fstesting (vtrefny) - Fix task availability test (vtrefny) - Shallow copy another alignment property (#1408282) (awilliam) - Fix the test dependencies (vpodzime) - Add 'systemd-udev' to dependencies (#1392591) (vtrefny)- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild- Actually apply the patch mentioned in -5- backport GH#530 to fix #1408282 (crash with Python 3.6)- Rebuild for Python 3.6- Add 'systemd-udev' to dependencies (#1392591) (vtrefny)- Fix "unknown" SAS device sysfs parsing. (#1394026) (awilliam)- Require BlockDev 2.0 in the gi.require_version() call (vpodzime) - Fix detection of 'macefi' partitions (#1393846) (awilliam) - Add device symlinks to the PVs dictionary for MD RAID PVs (#1389130) (vpodzime) - iSCSI: turn `iscsi.initiator_set` into a property (awilliam) - iSCSI: Store auth info in NodeInfo tuples (awilliam) - Use correct type for port in GVariant tuple (awilliam) - Use a list comprehension for _to_node_infos (awilliam) - Device name now checked only for new devices (japokorn) - Remove several redundant teardown calls. (dlehman) - Cache and reuse data about multipath members (vpodzime) - Remove some obsolete pvscan calls. (dlehman)- add missing populators to populator.helpers (awilliam)- Move parted changes to after format destroy. (#1378162) (dlehman) - Add translators comment for unsupported disklabel names (vtrefny)- Revert unsupported clearing of parted partition 'system'. (dlehman) - Make sure we create a proper GVariant tuple as args (#1375712) (vpodzime) - Do not include both size and percent in logvol ks cmd. (dlehman) - Ignore NVDIMMs at OS installation time. (dlehman) - Don't crash if lvm refuses to activate an lv. (dlehman)- Remove some deprecated/obsolete bits from spec file. (dlehman) - Use %global instead of %define for specfile macros. (dlehman) - Fix URLs pointing to blivet resources. (dlehman) - UUID is now cleaned when destroying format (japokorn) - Support disk tags as disk specification for new partitions. (dlehman) - Add tags property to Device with some defaults for disk variants. (dlehman) - Add checks to git-multi-merge script (jkonecny) - UUID now set correctly when reformatting partition (japokorn) - Eliminate mountpoint symlinks when looking for mounted device (vtrefny) - iscsi: allow installing bootloader on offload iscsi disks (qla4xxx) (#1325134) (rvykydal)- Update release notes to include previous two releases. (dlehman) - Allign the LV's size up to set the base size for growing (vpodzime) - Ensure biosboot shows up in kickstart (#1242666) (rmarshall) - Add tests for the new LV from LVs actions (vpodzime) - Make sure to add/remove internal LVs when adding/removing a compound LV (vpodzime) - Make sure all LVs to create a new LV from are in the DT (vpodzime) - Make sure internal LVs are added/removed to/from DT properly (vpodzime) - Make LVs depend on their internal LVs (vpodzime) - Do not add the LV to devicetree in new_lv_from_lvs() (vpodzime) - Require libblockdev version with all the functions we need (vpodzime) - Allow for cascade creation of LVs from LVs (vpodzime) - Fix removing PVs after removing VG (#1358067) (vtrefny) - Pass arguments to get_member_raid_sets() in the correct order (#1225184) (vpodzime) - Use the new way extra information is provided for LVs (vpodzime) - Add a method to determine if a udev device is a disk. (vtrefny) - Fix udev.resolve_glob to match device path too (vtrefny) - Adapt to the old-new storaged API paths (vpodzime) - Handle an mpath name as lone exclusive disk. (#984059) (dlehman) - Add unit tests for disk filter. (dlehman) - Allow creation of a new LV from other LVs (vpodzime) - Removed test for snapshot origin existance (jkonecny) - Don't require existing origin when modeling snapshot (jkonecny) - Update size for dmraid arrays found during populate. (#1269662) (dlehman) - Restore the correct default partition table type for AArch64 EFI. (dmarlin) - Fix args to cancel_disk_actions call from hide(). (dlehman) - Fix not enough free space after creating extended partition (#1252350) (vtrefny) - Add some more unit tests for DeviceTree. (dlehman) - Add tests for critical format methods. (dlehman) - Split and include cache data and metadata sizes properly (vpodzime) - Use internal LVs (if any) to calculate space used by existing LVs (vpodzime) - Remove an unused calculation of VG's RAID PVs (vpodzime) - Only include padding to nonexisting thin pools' vg_space_used (vpodzime) - Require pyudev 0.18 or newer (vtrefny) - Do not use deprecated pyudev methods (vtrefny) - Show changes for each branch in git-multi-merge before pushing (vpodzime)- Ignore all merge commits when making rpm log. (dlehman) - Try harder to identify a partition's disk when necessary. (dlehman) - Add some fallback methods for finding a partition's disk. (dlehman) - Include devices on disklabels unsupported by parted in the devicetree. (dlehman) - Don't traceback if we fail to examine an md member. (dlehman) - Disklabel commit errors can occur for disks, too. (dlehman) - Add unit tests for device methods. (dlehman) - ARM platforms: support both msdos and gpt partitions (pbrobinson) - LUKS data moved to singleton (japokorn) - Add the P_ keyword to xgettext. (dshea) - Add xfs to default filesystem types (rmarshall) - Fix blivet constructor fs support check (rmarshall) - Do not put LVM stuff into syslog (vpodzime) - Kickstart missing bootloader partitions (#1242666) (rmarshall)- Add name of problematic device to UnusableConfigurationError (vtrefny) - LVM data are now global (japokorn) - Allow custom chunk size specification for MDRaidArrayDevice (vtrefny) - Mock all blockdev's listing functions for populator tests (vpodzime) - Add zanata-python-client to TEST_DEPENDENCIES (bcl)- Fix protected status for extended partitions (vtrefny) - Improve documentation of the udev.resolve_glob() function (vpodzime) - Remove the locale list from zanata.xml (dshea) - Do not test translated strings during make ci. (dshea) - Squashed 'translation-canary/' changes from 5a45c19..3bc2ad6 (dshea) - Fix root detection on btrfs in rescue mode (vtrefny) - Use device's mount options when mounting existing systems (vtrefny) - Ignore pylint being confused with our mixins' properties (vpodzime) - Get back to use ROUND_HALF_UP by default (vpodzime) - Let Python import the formats for us (vpodzime) - Only call resolve_devspec() in _get_active_mounts() for real devices (vpodzime) - Call is_mpath_member() only when it makes sense (dlehman) - Break the cycle in LVMPhysicalVolume.destroy (#1331630) (vpodzime) - Use libbytesize's translations for Size tests (vpodzime) - Compare sizes instead of numbers of sectors (vpodzime) - Obsolete python-blivet and blivet-data packages. (dlehman) - Increase the default size of /boot to 1 GB. (#377) (clumens) - Do not add btrfs volume subvolid to subvolumes mountopts (#1306808) (vtrefny) - A simple script for multi-merges we now do (vpodzime) - Update CONTRIBUTING file to match current practices. (dlehman) - Only import the 'iscsi' singleton when really needed (vpodzime) - Correctly recognize internal RAID LVs (vpodzime) - Do not add mdarray with no slave (#1321393) (vtrefny) - Make sure to add hyperPAV aliases to dasd.conf. (sbueno+anaconda) - LVM data are now global (japokorn) - Preserve traceback when re-raising exceptions (vpodzime)- Fix mistake from PEP8 conversion. (#1323012) (dlehman) - Set both req_size and size of thin pool when growing LVM (vpodzime) - Retrieve udev info as needed in handle_format. (#1322943) (dlehman) - Fix requires after subpackage switcharoo. (dlehman) - Fix package naming in spec file. (dlehman)- Make sure EddMatcher.root is a string. (dlehman) - Move per-thread change accounting to a function. (dlehman) - Add missing conf kwarg in call to PopulatorMixin ctor. (dlehman) - Fixes found while porting anaconda to blivet-2.0 (dlehman) - Mock all blockdev's listing functions for populator tests (vpodzime)- Bump version to 2.0.0- Make sure we use the Size class properly (vpodzime) - Don't store size as int in SameSizeSet (vpodzime) - Use libbytesize's Size class as a base for our Size class (vpodzime) - Remove the second section about LUKS resize from release notes (vpodzime) - Streamline the TOC to only include top-level sections. (dlehman) - Adjust section hierarchy in intro doc. (dlehman) - Move testing docs into a file of their own. (dlehman) - Add an api specification to the docs. (dlehman) - Add luks resize and API stability efforts to release notes. (dlehman) - Clean up some of the singleton usage. (dlehman) - Drop sphinx mocking. (dlehman) - Reset container_uuid when removing PV from a VG (vtrefny) - Remove "destroy_format" method from docs (vtrefny) - Fix AttributeError in pv_free_info (vtrefny)- Update zanata config for 2.0 branches. (dlehman) - Remove cleanup of rc-release relics from ci target. (dlehman) - Don't run rc-release as part of ci for now. (dlehman) - Regenerate blivet.pot. (dlehman) - Specify encoding of pvtask.py to placate gettext. (dlehman) - Silence pylint complaint about passed callable. (dlehman) - Tear down devices on disk images before tearing down the images. (dlehman) - Update check for thin pool to work with new lv classes. (dlehman) - Use Blivet.do_it instead of calling ActionList.process in factory example. (dlehman) - Get rid of examples.common. (dlehman) - Allow for pre-release builds. (dlehman) - Fix load_module call in translation-canary. (dlehman) - Remove a couple of stray python2 invocations. (dlehman) - Do not call pvmove when removing an empty PV from VG. (vtrefny) - Add task for finding LVMPhysicalVolume format size (vtrefny) - Fix TypeError/AttributeError when adding thinpools and snapshots (vtrefny) - Fix current_size name in StorageDevice.update_size (vtrefny) - Ignore PEP8 errors E402 and E731 (vtrefny) - Make sure all checks run on 'make check' (vtrefny) - PEP8 fixes (vtrefny) - Add LUKS resize to release notes (vtrefny) - Add test for LUKS format resize (vtrefny) - Add a task for finding the size of a LUKS device (vtrefny) - Use DeviceFormatError and FormatResizeError in DeviceFormat (vtrefny) - Add LUKS resize support to resize_device method (vtrefny) - Define min_size for encrypted devices (vtrefny) - Do not teardown partition when resizing encrypted partition (vtrefny) - Make partitions with children resizable (vtrefny) - Make LUKS format resizable (vtrefny) - Make LUKSDevice resizable (vtrefny) - Make lukstasks and dfresize task pep8 compliant (vtrefny) - Add a LUKS resize task. (amulhern) - Make a top level device format resizing task class. (amulhern) - Move resize related methods from FS to DeviceFormat (vtrefny) - Disable spurious import-error from pylint. (dlehman) - Add blivet.events package to setup.py. (dlehman) - Remove unused util import from prepboot.py. (dlehman) - Remove deprecated methods and properties. (dlehman) - Flesh out the release notes. (dlehman) - Include python3-bugzilla when running tests (bcl) - Cleanup wildcard import in misc_test.py (bcl) - Add an example of event monitoring. (dlehman) - Mask uevents when updating parted.Disk. (dlehman) - Handle first-time open of luks devices. (dlehman) - Add a device populator for opened/decrypted LUKS devices. (dlehman) - Update sysfs path before updating size in StorageDevice ctor. (dlehman) - Validate event handling callbacks. (dlehman) - Hook up the event notify callback. (dlehman) - Account for changes made in response to each event. (dlehman) - Add facilities for reporting exceptions that occur in threads. (dlehman) - Add event handlers via a DeviceTree mixin class. (dlehman) - Add PopulatorHelper method to update device/formats. (dlehman) - Add classes for managing external events. (dlehman) - Add methods to wrap helper getters. (dlehman) - Only settle udev queue in get_devices when not handling events. (dlehman) - Allow passing a device to any PopulatorHelper constructor. (dlehman) - Implement DiskLabelFormatPopulator._get_kwargs. (dlehman) - Add a property indicating the type to pass to get_format. (dlehman) - Add functions for resolving between block major and device type. (dlehman) - Plumb modparent through DeviceTree.recursive_remove. (dlehman) - Add a flag to preserve the root device in recursive_remove. (dlehman) - Add container_uuid r/w property to container member format classes. (dlehman) - Set VG format as existing as part of VG creation. (dlehman) - Remove old hack meant to remove stale metadata. (dlehman) - Store disklabel and partition UUIDs when available. (dlehman) - Add a method to re-read the disklabel from disk. (dlehman) - Use wipefs to remove disklabels. (dlehman) - Add support for passing the new size into StorageDevice.updateSize. (dlehman) - Add a method to cancel all actions related to a specified disk. (dlehman) - Add a flag to ActionList to indicate in-progresss action processing. (dlehman) - Avoid failure to generate unit test API docs. (dlehman) - Add a console logger and a function to activate it. (dlehman) - Make LoopDevice size consistent with other device types. (dlehman) - Don't try to use a name bound via 'as' outside the try/except block. (dlehman) - Remove code for notifying the kernel of changes to block devices. (dlehman) - Add dependency checks for iSCSI operations (vpodzime) - Add decorator for guarding methods with external dependency checks (vpodzime) - Add a function for testing if some DBus object is available (vpodzime) - Use namedtuple for target info and tiny class for login infos (vpodzime) - Use the storaged's iSCSI DBus API instead of libiscsi (vpodzime) - Use the ) - Add a module for doing DBus operations in the safest possible way (vpodzime) - Do not retry interruptible system calls. (dshea) - Document the LV class unification changes in the release notes (vpodzime) - Adapt our tests to the changes in representation of LVs (vpodzime) - Adapt our code to changes in the representation of LVs (vpodzime) - Rewrite the code for representing LVs (vpodzime) - Add a test for the to-be-used ) - Add a decorator for guarding methods and properties with a property (vpodzime) - Transform the is_name_valid() into an instance method (vpodzime) - Add tests for FS overhead methods (jkonecny) - Add more class methods for better use of metadata (jkonecny) - Remove python2 assert regex method name hacks. (dlehman) - Fix various pylint errors introduced with python-3.5. (dlehman) - Add a file with release notes (vpodzime) - Blacklisted attrs should be unwrapped, not omitted. (dlehman) - Return the device when returning early from degraded md handler. (dlehman) - Fix application of synchronization metaclass to DeviceTree. (dlehman) - Fix AttributeError in populator LUKS helper (vtrefny) - Update spec file for blivet 2.0 builds (vtrefny) - Add populator.helpers to package (vtrefny) - Add translator comments to the byte size prefixes. (dshea) - Integrate translation-canary with blivet. (dshea) - Update blivet.pot during scratch-bumpver. (dshea) - Always use setup.py sdist to generate source tarballs. (dshea) - Squashed 'translation-canary/' content from commit 5a45c19 (dshea) - Update class and methods in "Introduction to Blivet" (vtrefny) - Build documentation with python3 sphinx (vtrefny) - Fix PEP8 violations introduced in the LVM RAID commits (vpodzime) - Make the main class hierarchies thread-safe. (dlehman) - Add unit tests for changes related to non-linear LVs (vpodzime) - Make sure we try to match LVM RAID levels with all their names (vpodzime) - Don't bother user code with LVM RAID meta data (vpodzime) - Inherit the RaidDevice mixin in the LVMLogicalVolumeDevice class (vpodzime) - Account for a pmspare LV creation or growth when determining the cache size (vpodzime) - Refresh the PV free space info after LV creation (vpodzime) - Add an early check of the requested LV segment type (vpodzime) - Add example of LVM cache creation (vpodzime) - Make sure the slow_pvs+fast_pvs list we pass to libblockdev has no dups (vpodzime) - Use pv.path instead of constructing it from name and "/dev/" (vpodzime) - Account for LVM cache space in PVs (vpodzime) - Fix the twisted logic of lv.metadata_size (vpodzime) - Replace the 'copies' property of LVs with something more accurate (vpodzime) - Track information about free space in existing PVs (vpodzime) - Add guards making sure we are not being tricked with LV seg_type (vpodzime) - Define and use a new is_raid_lv property of LVMLogicalVolumeDevice (vpodzime) - Add an example of non-linear LV creation (vpodzime) - Create non-linear LVs before linear LVs (vpodzime) - Account for LVM RAID metadata (vpodzime) - Define RAID level for LV and use it to determine required PV space (vpodzime) - Add a definition for the striped "RAID level" (vpodzime) - Track information about free space in a PV (vpodzime) - Honor the LV segment type when creating it (vpodzime) - Let LVMLogicalVolumeDevice specify PVs it should be allocated from (vpodzime) - Define the Device.parent property with the ) - Adjust to Device now having a list of child devices. (dlehman) - Maintain a list of child devices in Device. (dlehman) - Add unit tests to explicitly cover container member set changes. (dlehman) - Remove ParentList.replace and its usage. (dlehman) - Improve logging of failure to validate new default fstype. (dlehman) - Remove unused populated attribute from Populator. (dlehman) - Stop passing around the iscsi singleton. (dlehman) - Make the iscsi singleton satisfactory to pylint. (dlehman) - Remove the various DASD lists from Blivet and DeviceTree. (dlehman) - Convert Populator to a mixin class. (dlehman) - Move disk filter bits from Populator into DeviceTree. (dlehman) - Move the LVM data cache from DeviceTree to Populator. (dlehman) - Rename per-device Populator entry points. (dlehman) - Make Populator.udev_device_is_disk a private method. (dlehman) - Stop writing an mdadm.conf. (dlehman) - Group disk-image-related methods together in source code. (dlehman) - Move some code from _populate into separate methods. (dlehman) - Split various parts of add_udev_device into separate methods. (dlehman) - Remove some extraneous methods related to ignored devices. (dlehman) - Only handle loop devices with a backing file. (dlehman) - Add unit tests for populator helpers. (dlehman) - Use helper getter functions to find populator helpers. (dlehman) - Add functions to return a helper class based on device data. (dlehman) - Move format-type-specific bits into populator helpers. (dlehman) - Split DiskDevicePopulator up by disk type. (dlehman) - Move device-type-specific populator bits to populator helpers. (dlehman) - Add base classes for type-specific Populator helpers. (dlehman) - Use the mpath_member ID_FS_TYPE set up by the multipath udev rules. (dlehman) - Make blivet.populator into a subpackage. (dlehman) - Convert device_get_dm_partition_disk to not be dm-specific. (dlehman) - Use DeviceTree.__str__ when printing devices in examples. (dlehman) - Disk image test can only be run as root. (dlehman) - Fix few more camelCase leftovers (vpodzime) - Fix various PEP8 violations in recent EDD commits. (dlehman) - Add PEP8 compliance checking to 'check' target. (dlehman) - Teardown all devices before tearing disk images down (vpodzime) - Change doc Introduction to reflect PEP8 compliance changes (vtrefny) - Few PEP8 compliance related fixes (vtrefny) - Pass devices arg when calling actions.process (vtrefny) - Do not catch CryptoError when decrypting LUKS format (#1280239) (vtrefny) - Fix makebumpver for new conf.py (bcl) - Bump version numbers to 2.0 before we forget. (bcl) - Only prepend the root to get the ondisk path if there is some (vpodzime) - Ignore unused memo_dict arguments in __deepcopy__ methods. (clumens) - Update the getattr calls with PEP8 property/attribute names (vpodzime) - Do not create a copy of singleton objects (vpodzime) - Fix pylint problems with the new default namedtuple stuff. (clumens) - Do not try to get LVM cache's size from stats for inactive LV (vpodzime) - edd: Add mostly fixed virt data (pjones) - edd: Add another terrible seabios dataset (pjones) - edd: Add test data from a Strawberry Mountain machine w/ lots of SATA. (pjones) - edd: Fix the error case in the "absurd_virt" test. (pjones) - edd: Add absurd_virt tests back in (pjones) - edd: Try to detect multiple ATA/SATA matches and log them. (pjones) - edd: Split up VirtIO and VirtIO SCSI matching (pjones) - edd: Log every glob.glob() match in our test data log. (pjones) - edd: Eradicate fsroot entirely. (pjones) - edd: add EddEntry.bios_device_number (pjones) - edd: Make our own assertVerboseListEqual to get rid of truncated output. (pjones) - edd: Add sysfslink for mbr matches (pjones) - Make get_sysfs_attr() use our path joiners and add sysfs_readlink() (pjones) - Make a "Path" object that handles separate fs root for us. (pjones) - edd: Minor PEP8 fix (pjones) - Add a much much simpler path normalizer and joiner. (pjones) - Improve clarity of error when setting new default fstype fails. (dlehman) - Fix missed rebase of populator test from 169dc6b6. (dlehman) - Add a class constructor for namedtuples with default values (vpodzime) - Use lvm.round_size_to_pe() instead of get_lv_physical_size() with the VG size (vpodzime) - Account for LVM metadata in the LVMFactory (vpodzime) - Put the LVM metadata size calculation into a separate property (vpodzime) - Rename size->space in LVMFactory._get_total_space (vpodzime) - Remove action-oriented wrapper methods from DeviceTree. (dlehman) - Put DeviceTree methods into a sensible order. (dlehman) - Fix remaining PEP8 violations. (dlehman) - Fix PEP8 indentation issues. (dlehman) - Fix the easy PEP8 violations. (dlehman) - Make all names conform to PEP8. (dlehman) - Update dmdev size when setting up disk images (atodorov)- Merge pull request #257 from vpodzime/master-singleton_decorator (vpodzime) - Add pylint stuff to .gitignore (pjones) - Minor cleanups in set_up_logging() (pjones) - Make a logger for test data that we can automatically use later (pjones) - edd: Fix one regexp so it matches against a real system /or/ test data. (pjones) - Merge pull request #253 from dashea/libblockdev-python (vpodzime) - Make the function adding the deprecation doc text more generic (vpodzime) - Merge pull request #242 from dwlehman/resolveDevice-regex (dlehman) - Fix an overly inclusive regex in DeviceTree.resolveDevice. (dlehman) - Merge pull request #244 from atodorov/master (vpodzime) - Require the python libblockdev packages (dshea) - Merge pull request #243 from dwlehman/flexible-alignment (dlehman) - Merge pull request #230 from vpodzime/master-lvm_debug (vpodzime) - Add a 'debug' flag and use it for LVM debugging (vpodzime) - Bypass util.run_program to avoid logging deadlock. (dlehman) - Add an edd test data harvester. (pjones) - Do not save None as passphrase for LUKS devices (#1269646) (vtrefny) - edd: make logging work usefully during tests (pjones) - edd: Get rid of biosdev_to_edd_dir(), it is pointless. (pjones) - Make distutils.filelist.findall() do the right thing with symlinks maybe. (pjones) - edd: Fix some minor 'make check' complaints. (pjones) - edd: Make devicetree not use edd.edd_dict, instead use blivet's copy. (pjones) - edd: Remove the "absurd_virt" test cases for now. (pjones) - Add a udev settle call after instantiating parted.Disk. (#1267858) (dlehman) - edd: Add missing directories for absurd_virt test case. (pjones) - produce coverage-report.log and enable coverage in CI (atodorov) - Use minimal alignment as needed when allocating small partitions. (dlehman) - Add support for minimal alignment of very small partitions. (dlehman) - Add an error class for alignment errors. (dlehman) - Deprecate createSubVolumes method (vtrefny) - Change btrfs.do_self_mount to contextmanager (#1266673) (vtrefny) - edd: Remove a bunch of nonfunctional EDD tests. (pjones) - edd: Add another set of test cases for our QEMU data. (pjones) - edd: Add another set of test data. (pjones) - edd: Add some working tests for EDD. (pjones) - edd: Add a real EDD dataset captured from a system. (pjones) - edd: Make our edd matcher able to use a fake sysfs root. (pjones) - edd: Add EDD 4 code and some logging cleanups. (pjones) - edd: Try to make EDD support actually match what the kernel does. (pjones) - Always build python2 and python3 versions. (bcl) - Switch to using rd.iscsi.initiator (#1268315) (bcl)- Update Makefile to default to python3. (dlehman) - Add test for extended partition minSize (vtrefny) - Allow resizing of non-leaf partitions (vtrefny) - Fix minSize for extended partitions (#1254875) (vtrefny) - Fix calling non-existing method (#1252902) (jkonecny) - Use the RAID classes to calculate btrfs sizes (#1264696) (dshea) - Handle sysfs size if it is missing (#1265090) (bcl) - Convert float to str for better precision in Size (jkonecny) - Merge pull request #226 from dwlehman/lvactivate-lvmetad (dlehman) - Wait for auto-activation of LVs when lvmetad is running. (#1261621) (dlehman) - Add a function to tell us if the lvmetad socket exists. (dlehman) - Don't teardown FSs when searching for installed systems (#1252902) (jkonecny) - Merge pull request #218 from vpodzime/master-lvm_on_raid_improvements (vpodzime) - Account for bigger LVM meta data due to alignment on MD RAID (vpodzime) - Calculate the MD RAID superblock size from the right size (vpodzime) - Don't be naïve about liblvm (vpodzime)- Make sure devices are torn down in findExistingInstallations (#1261439) (vpodzime) - Merge pull request #211 from dwlehman/multipath-member-metadata (dlehman) - Merge pull request #212 from dwlehman/recursive-teardown (dlehman) - Mount efivarfs during os installation (#1260799) (bcl) - Use --whatprovides when querying for if all requirements are installed. (clumens) - Add method for estimated size of formated device (#1224048) (jkonecny) - Add support for mul,div,sub,add by float to Size (jkonecny) - Merge pull request #220 from AdamWill/nodev-typo (vpodzime) - fix typo in NoDevice: updateSize not udpateSize (awilliam) - Duplicate VG names are problem even if their disks are ignored (#1198367) (vpodzime) - Merge pull request #215 from vpodzime/master-lvm_on_raid (vpodzime) - Do not reserve extra space for metadata in a VG with RAID PVs (vpodzime) - Merge pull request #207 from vpodzime/master-lvm_pmspare (vpodzime) - Fix currentSize for extended partitions (#1254899) (vtrefny) - Catch problems with chassis vendor names (#1256072) (bcl) - Don't teardown protected devices (jkonecny) - Don't store UUIDs or labels of multipath members. (dlehman) - Continue with recursive teardown beyond inactive devices. (dlehman) - Reserve space for the 'pmspare' LV in a VG (vpodzime) - Add a property to get cached LVs in a VG (vpodzime) - Fix VG free space check when shrinking an LV (vpodzime) - Add a property for Requests to reserve some extra space (vpodzime) - Use Size instances for sizes in LVM cache's stats (vpodzime) - Implement metadata size reporting for the LVM cache (vpodzime)- Add CONTRIBUTING file to blivet. (sbueno+anaconda) - Merge pull request #208 from vpodzime/master-luks_catch_exceptions (vpodzime) - Fix the name of the variable specifying requested libblockdev plugins (#1256273) (jstodola) - Merge pull request #209 from vpodzime/master-thinp_fix (vpodzime) - Change labelFormatOK to classmethods (vtrefny) - Add 'build' and '.directory' to gitignore (vtrefny) - Fix copy method (#1254135) (bcl) - Add OSError to list of errors in updateSysfsPath (#1252949) (bcl) - Remove the cacheRequest kwarg for thin(pool) LVs (#1254567) (vpodzime) - Do not propagate low-level blockdev.CryptoError when setting up LUKS (#1253925) (vpodzime) - Merge pull request #199 from vpodzime/master-lvm_cache_tests (vpodzime) - Merge pull request #201 from vpodzime/master-mountsCache_resolve_devspec (vpodzime) - Prefer code consistency over pylint's complaints in tests (vpodzime) - Add a basic test for cached LVMLogicalVolumeDevice's properties (vpodzime) - Add a basic test for LVMLogicalVolumeDevice's properties (vpodzime) - Make sure LV's properties reporting size return a Size instance (vpodzime) - Add unit tests for the LVM cache support (vpodzime) - Use device name from udev only if it's available (#1252052) (vpodzime) - Add test for getFreeSpace aligning (vtrefny) - Allow aligning free regions to disk grainSize (#1244671) (vtrefny) - Fix _unalignedMaxPartSize for logical partitions (#1250890) (vtrefny)- Remove unusable free regions from list when setting up growth. (dlehman) - Merge pull request #190 from vpodzime/master-lvm_cache_creation (dlehman) - Merge pull request #194 from dwlehman/mount-cache-symlinks (dlehman) - Merge pull request #193 from dwlehman/md-fwraid-detection (dlehman) - Add unit tests to cover md containers. (dlehman) - Minor cleanup of blivet.formats.fs.BTRFS._preSetup. (dlehman) - Fix isDisk and partitionable properties for md fwraid. (dlehman) - Don't use MD_DEVNAME as device name for md partitions. (dlehman) - Use udev to find name of md members' container. (dlehman) - Call superclass ctor a bit later to get size attrs set up first. (dlehman) - updateSize for md containers is a no-op. (dlehman) - Fix UnboundLocalError in FSMinSize (#1249304) (vtrefny) - Fix mount cache resolution of devices with symlinks. (#1247803) (dlehman) - Add kwarg to udev.resolve_devspec to return canonical device name. (dlehman) - Use slow as well as fast PVs for cached LV's non-cache part (vpodzime) - Make VG determination in Blivet.newLV() less cryptic (vpodzime) - Reserve space for LVM cache(s) when growing LVM requests (vpodzime) - Create cached LVs before non-cached LVs (vpodzime) - Add support for LVM cache creation to LVM device classes (vpodzime) - Add generic class for cache creation requests (vpodzime) - Two minor fixes in LVMLogicalVolumeDevice's constructor's docstring (vpodzime)- Put MDRaidArrayDevice.devices back, but mark it as deprecated. (dlehman) - Skip tearing down devices when unmounting filesystems (bcl) - Include details when umount fails (bcl) - Merge pull request #183 from dwlehman/tests-20150728 (dlehman) - Merge pull request #182 from dwlehman/devicefactory-20150728 (dlehman) - Merge pull request #184 from dwlehman/misc-20150728 (dlehman) - Enable unit test suite in jenkins. (dlehman) - Disable image-backed unit tests temporarily. (dlehman) - Add some tests for DeviceFactory. (dlehman) - Do basic child accounting when replacing a parent. (dlehman) - Set new raid level on correct device in MDFactory. (dlehman) - Fix container member switching when toggling member encryption. (dlehman) - Don't adjust actual lv size based on md metadata space requirements. (dlehman) - Merge pull request #57 from vpodzime/master-luks_npass (vpodzime) - Fix names of the keyword arguments for luks_add_key and luks_remove_key (vpodzime) - Make a better effort to clean up loop devices on failure. (dlehman) - Correctly get current size of disk files. (dlehman) - Don't warn about missing UUIDs for non-existent containers. (dlehman) - Only check disks for membership in a multipath. (dlehman) - Only update md array name if MD_DEVNAME is set. (#1212073) (dlehman) - Weed out unresolved macros in the check-requires target. (clumens) - Merge pull request #126 from vpodzime/master-translations_subpackage (vpodzime) - Put translations into a subpackage shared by Python 2 and 3 (vpodzime) - Require pygobject3-base instead of pygobject (#1246842) (dshea) - Add method to list primary partitions (vtrefny) - Merge pull request #179 from dwlehman/size-followups (dlehman) - Fix test for failure to find space for device. (dlehman) - Make sure factory target size is within the limits of the fstype. (dlehman) - Unset obsolete format before updating device size. (dlehman) - Make sure size is numeric before comparing it with format minimum. (dlehman) - Don't constrain thin lv sizes to vg free space. (dlehman)- Merge pull request #177 from AdamWill/1245446 (dlehman) - use floor division in calculating amount to reclaim (#1245446) (awilliam) - Remember to use the shell command when calling external stuff in Makefile. (clumens) - Add a new makefile target that does everything needed for jenkins. (clumens) - Add missing gobject introspection Requires (bcl) - Add install-requires Makefile target (bcl) - Update md and btrfs unit tests to run with recent size changes. (dlehman) - Set format attr after super ctor for md. (dlehman) - Account for container layer in md fwraid array properties. (dlehman) - Ensure format is a DeviceFormat during initialization. (dlehman) - Set target size when setting other size attrs. (dlehman) - Use 'members' attribute to list RAID member devices. (dlehman) - BTRFS subvolumes shouldn't inherit from RAIDDevice. (dlehman) - Require a non-empty member set for md disks. (dlehman) - Mock mount cache while running action tests. (dlehman) - Account for recent lvm snapshot format changes in tests. (dlehman) - Bump size of non-existent devices to format minimum. (dlehman) - Don't pass createOptions along when creating the btrfs device. (clumens) - Merge pull request #59 from vpodzime/master-tab_tab (vpodzime) - Implement the __dir__ method of the LazyImportObject class (vpodzime)- Apply default size for new partition earlier in constructor. (dlehman) - Don't pass model to md fwraid constructor. (#1242610) (dlehman)- Add a bunch more gi.require_version calls (dshea) - Merge pull request #170 from dwlehman/size-cleanups (dlehman) - Add unit tests for device size setters and getters. (dlehman) - Only return target size if it is set to something meaningful. (dlehman) - Validate new formats against current device size. (dlehman) - Device size checks do not apply to existing devices. (dlehman) - Make sure subclasses size setters use the base setter as appropriate. (dlehman) - x-initrd.mount should only be set for /var (#1238603) (bcl) - There's a python3 anaconda now, so ditch the temporary false positives. (clumens) - Fix a syntax error caused by my previous commit. (clumens) - Fix a duplicate key caused by patch merging. (clumens) - Add support for specifying arbitrary mkfs options. (clumens) - Align free regions before choosing one. (dlehman) - Align partition sizes earlier in the allocation process. (dlehman) - Don't crash on cleanup with DASDs or iSCSI devices present. (#1166506) (dlehman) - Make check-requires errors more readable. (dshea) - Merge pull request #166 from dwlehman/autopart-snapshot-branch (dlehman) - Default to a string when sorting mountpoints in FSSet.umountFilesystems. (dlehman) - Fix order of arguments to blockdev.thsnapshotcreate. (dlehman) - Snapshot format exists upon snapshot creation. (dlehman) - Improve format handling for lvm snapshots. (dlehman) - Merge pull request #160 from dwlehman/lookup-method-deprecations (dlehman) - Deprecate some little-used devicetree lookup methods. (dlehman) - Add a decorator to mark deprecated functions/methods. (dlehman) - Log python warnings, including DeprecationWarning. (dlehman) - Catch and relay more exception types from the iscsi process (dshea) - Use the pipes as contextmanagers to ensure they are closed (dshea) - Close the unused half of pipes after the fork (dshea)- Merge pull request #167 from mulkieran/master-format-copy-b (mulkieran) - Merge pull request #156 from vpodzime/master-lvm_cache_actually (vpodzime) - Add cache support to the LVMLogicalVolumeDevice class (vpodzime) - Copy all DeviceFormat objects using deepcopy. (amulhern) - Make use of FSTask and FSUnimplementedTask in FS* tasks. (amulhern) - Add an abstract parent of all filesystem tasks. (amulhern) - Merge pull request #162 from dwlehman/storage-device-format-type-consistency (dlehman) - Merge pull request #138 from dwlehman/partitionable-md (dlehman) - Document the fact that StorageDevice.format is always a DeviceFormat. (dlehman) - Ignore some interruptible system call warnings (dshea) - Retry interruptible calls (dshea) - Ignore EINTR from os.close instead of retrying the call (dshea) - Add kwargs to eintr_retry_call (dshea) - Specify required version of GI-imported packages (vpodzime) - Add classes for LVM cache related functionality (vpodzime) - Add generic classes for cache and cache stats (vpodzime) - Merge pull request #149 from vpodzime/master-lvm_cache (vpodzime) - Implement the support for resizing internal metadata LVs of thin pools (vpodzime) - Use relations between LVs to determine parent LV (vpodzime) - Make Blivet.lvs return all LVs not just traditional/thick LVs (vpodzime) - Accept both list and ParentList when checking LVs parents (vpodzime) - Create and use internal LVs instead of static values (vpodzime) - Add classes for the internal LVs of various types (vpodzime) - Merge pull request #137 from dwlehman/md-boot-metadata-branch (dlehman) - Treat existing md arrays whose members are all disks like disks. (dlehman) - Handle formatting after adding devices from format handlers. (dlehman) - Merge pull request #158 from mulkieran/master-target-size (mulkieran) - Move parents checking and update into a seprarate methods (vpodzime) - Rearrange and group some of the StorageDevice's methods/properties (vpodzime) - Don't crash when processing cached LVs (vpodzime) - Make roundToNearest() slightly more robust. (amulhern) - Extend Size.convertTo() to work with arbitrary Size() values. (amulhern) - Changes to FS._setTargetSize(). (amulhern) - Increase ext4 maximum size from 16 TiB to 1 EiB (#1231049) (bcl) - Merge pull request #155 from atodorov/fix_issue_154 (mulkieran) - Use len of set to check for duplicates in list of packages. (atodorov) - Merge pull request #153 from mulkieran/master-task-names (mulkieran) - Omit completely pointless setUp method. (amulhern) - Make a size refer to a Size object. (amulhern) - Add __str__ method to various subclasses of Task. (amulhern) - Don't pass unused mountpoint dict to preCommitFixup. (dlehman) - Use the default md metadata version for everything except /boot/efi. (dlehman)- Fix indentation in action_test.py (dlehman) - Merge pull request #133 from atodorov/fix_deprecation_warnings (mulkieran) - Merge pull request #147 from vojtechtrefny/master_fix_undo_resize (vtrefny) - Fix setting original size for format resize action. (#1225352) (vtrefny) - Make unit test assertion expressions fully Python2/3 compatible. (atodorov) - Merge pull request #151 from mulkieran/master-120 (mulkieran) - Merge pull request #122 from atodorov/remove_doctest (mulkieran) - Parameterize Makefile test targets on Python version. (atodorov) - Merge pull request #148 from mulkieran/master-132 (mulkieran) - Merge pull request #144 from mulkieran/master-128 (mulkieran) - Remove facilities for running tests as standalone modules. (atodorov) - Include automatic and manual test documentation. (atodorov) - Remove an accidental variable assignment in LVMLogicalVolumeDevice (vpodzime) - Merge pull request #143 from mulkieran/master-134 (mulkieran) - Remove two files in tests directory. (atodorov) - Fix typo in docstring. (atodorov) - Merge pull request #112 from vpodzime/master-fixed_maps (vpodzime) - Merge pull request #129 from mulkieran/master-keepers-c (mulkieran) - Merge pull request #135 from mulkieran/master-test-fixes (mulkieran) - Convert bytes value to str. (amulhern) - Change new format lookup name from "msdos" to "disklabel". (amulhern) - Get rid of pointless test case about arguments for labeling apps. (amulhern) - Do not raise KeyError if ID_PART_ENTRY_DISK is missing. (amulhern) - Manage backing store more independently in loop backed test cases. (amulhern) - Pass floats as string to Decimal constructor everywhere. (amulhern) - Fix a bug in reading a size specification with a radix in the numeric part. (amulhern) - remove mention of doctest b/c target was removed in fed53d969af0eddaeeca58cdf3e40916497aa305 (atodorov) - Beware of Python 3's version of the map() built-in function (vpodzime)- Get rid of an unused import in blivet.zfcp (sbueno+anaconda) - Make appropriate changes to adapt for s390 libblockdev plugin. (sbueno+anaconda) - Drop check from the release build target (bcl) - Merge pull request #127 from vpodzime/master-libblockdev_1.0 (vpodzime) - Adapt to the new libblockdev initialization API (vpodzime) - Merge pull request #111 from dwlehman/disk-model-branch (dlehman) - Store vendor/model information for DiskDevice instances. (dlehman) - Require new version of pyparted with Python 3 related fixes (vpodzime) - Merge pull request #114 from vojtechtrefny/fix_lvmsnapshot_size2 (vtrefny) - Merge pull request #118 from mulkieran/master-hawkey (mulkieran) - Use python-hawkey instead of rpm-python. (amulhern) - Add a dead simple test for some basic task and resource functionality. (amulhern) - Use COW device to get actual size of LVM snapshots (vtrefny)- Workaround for chrooted mountpoints (#1217578) (vtrefny) - Merge pull request #116 from mulkieran/master-gerror (mulkieran) - Filter GLib.GError instead of GLib.Error in pylint false positives. (amulhern) - Merge pull request #113 from mulkieran/master-tasks-20150513 (mulkieran) - Guard tests against device support being missing. (amulhern) - Add checks for filesystem availability in selinux tests. (amulhern) - Fix some small mistakes in tests using availability information. (amulhern) - Get rid of abitrary _resizable variable in tests. (amulhern) - Don't use utilsAvailable to skip tests. (amulhern) - Treat a missing plugin as an OK situation. (amulhern) - Use availability information in device actions. (amulhern) - Add a check to determine whether the device type is supported. (amulhern) - If external dependencies are unavailable, cannot support RAID levels. (amulhern) - Add availability information to devicelibs files. (amulhern) - Track external dependencies in devices. (amulhern) - If lvm is not available, do not do the filtering. (amulhern) - Add availability checking to non-FS formats. (amulhern) - Use filesystem tasks in filesystem. (amulhern) - Add filesystem tasks to tasks directory. (amulhern) - Add tasks infrastructure to tasks directory. (amulhern) - Add error to detect errors in discovering availability info. (amulhern) - Add errors about reading and writing labels to error heirarchy. (amulhern) - Make assignments that override abstract properties into simple attributes. (amulhern) - Move kernel_filesystems functionality into a little library. (amulhern) - Make labeling(), relabels(), and labelFormatOK() instance methods. (amulhern) - Merge pull request #108 from vojtechtrefny/progress_callbacks (vtrefny) - Merge pull request #109 from mulkieran/master-btrfs-c (mulkieran) - Set a subvolspec format args when making a new BTRFS volume. (amulhern) - Cache data obtained from /proc/self/mountinfo. (amulhern) - Add progress report callback for action processing (vtrefny) - Do not have two ignored variables when one will do. (amulhern) - Fix a typo in comment. (amulhern) - Do not use type() in makebumpver. (clumens) - Merge pull request #100 from mulkieran/master-lvm-a (mulkieran) - Merge pull request #104 from mulkieran/master-1139222 (mulkieran) - Include LUKSDevice information in kickstart data (#1139222) (amulhern) - Un-escape '-'s in names or paths for _all_ lvm lv or vgs. (amulhern) - Fix a few miscellaneous pylint-caught problems. (clumens) - Only give Size objects a __div__ method under python2. (clumens) - Protect against calling testMount on an object that may not have it. (clumens) - Add a bunch of false positives to make pylint succeed. (clumens) - e.message -> str(e) (clumens) - Disable a pointless override warning. (clumens) - Ignore the environment-modify pylint warnings for size_test.py. (clumens) - blockdevError -> BlockDevError (clumens) - Remove uses of the string module we don't need, ignore warnings on those we do. (clumens) - unicode isn't undefined on the python2 code paths. (clumens) - Use eintr_retry_call from anaconda. (clumens) - Move blivet to using pocketlint. (clumens) - Merge pull request #97 from mulkieran/master-1072060 (mulkieran) - Merge pull request #93 from vojtechtrefny/fix_active_parted (vtrefny) - If the parent volume has a label, use it in subvol's kickstart (#1072060) (amulhern) - Merge pull request #94 from mulkieran/master-raid (mulkieran) - Allow adding new partitions to disks with active devices (#1212841) (vtrefny) - Fix "anaconda hangs while trying to discover iscsi..." (#1166652) (jkonecny) - Move definition of _level attribute above super-constructor call. (amulhern) - Fix status for LVMPhysicalVolume format (vtrefny)- fix conf.py pylint errors (bcl) - Fix BlockDev import in populator.py (bcl) - Prevent pylint from going crazy because of libblockdev's ErrorProxy (vpodzime) - Make use of the new libblockdev error reporting (vpodzime) - Add libselinux-python to package dependencies (#1211834) (vtrefny) - Introduce a new doReqPartition method that is similar to doAutoPartition. (clumens) - Merge pull request #81 from mulkieran/master-mount-options (mulkieran) - Merge pull request #66 from vpodzime/master-py3_final (martin.kolman) - Encode input for os.write() (mkolman) - Build the python3-blivet subpackage (vpodzime) - Do not modify dict while iterating over its values (vpodzime) - Do not try to compare strings and Nones when sorting mountpoints (vpodzime) - Always return strings from regular capture output run functions (mkolman) - Do not use variable from an inner comprehension in tests (vpodzime) - Implement and test Python 3 division for the Size class (vpodzime) - Replace python 2 build-in-function cmp() with custom method (vtrefny) - Do not rely on __sub__ being implemented as __add__ (-1)* (vpodzime) - Transform our compare functions into key functions and use these instead (vpodzime) - Fix the size_test to stop using byte strings (vpodzime) - Do not define unit strings as byte strings (vpodzime) - Do not pass context to Decimal numeric operations (vpodzime) - Don't call object's (as a class) __new__ with extra arguments (vpodzime) - Make translation to lowerASCII Python[23]-compatible (vpodzime) - Replace __import__ call with importlib.import_module (vpodzime) - In FS._postSetup() check the mountpoint options that were actually used. (amulhern) - Add kwargs to unmount and move mountpoint check into _preSetup (bcl) - Do not try importing hidden/backup files as formats (vpodzime) - Add back DeviceTree's support for saving LUKS passphrases (vpodzime) - Do not try to stat FileDevice's path if it doesn't exist (vpodzime) - Merge pull request #76 from dwlehman/unusable-storage-branch (dlehman) - Add error handling around storageInitialize for unusable setups. (dlehman) - Include suggestions in error classes for unusable storage configurations. (dlehman) - Use partially corrupt gpt disklabels. (dlehman) - Consolidate common code in DeviceFormat class methods. (dlehman) - Update get_mount_paths to use mountsCache (bcl) - Add multiple mountpoint handling to MountsCache (bcl) - Remove obsolete FIXME from FS.status (bcl) - Check to see if mountpoint is already mounted (bcl) - Add isMountpoint to MountsCache (bcl) - Add ability to unmount specific mountpoints (bcl) - Fix pylint errors for six.moves import (vtrefny) - Merge pull request #72 from vojtechtrefny/picklable-size (vpodzime) - Merge pull request #74 from mulkieran/master-trivia (mulkieran) - Fix two instances where check_equal() returned True incorrectly. (amulhern) - Fix typo in 66f2ddb11e85ec6f48535d670dd6f24cb60cbe55. (amulhern) - Make sure installer_mode is reset to original value. (amulhern) - Test for Size pickling support (vtrefny) - Pickling support for Size. (vtrefny) - Disable pylint bad-super-call in MDRaidArrayDevice.updateSize. (dlehman) - Merge pull request #68 from dwlehman/parted-device-branch (dlehman) - Require reallocation after changing an allocated partition's size. (dlehman) - Move mediaPresent out of Device and into StorageDevice. (dlehman) - Don't use parted.Device to obtain size info. (dlehman) - Merge pull request #70 from mulkieran/master-1208536 (mulkieran) - Prepend /sys to sysfs path for udev lookup (#1208536) (amulhern) - Fall back on mdadm info if udev info is missing for the array (#1208536) (amulhern) - Catch DeviceError as well as ValueError (#1208536) (amulhern) - Make an MDContainerDevice if that is the right model (#1208536) (amulhern) - Change raid variable name to raid_items (#1208536) (amulhern) - Fix swapped args to processActions. (dlehman) - Merge pull request #63 from dwlehman/disk-selection-branch (dlehman) - Use VGname-LVname as key for LVinfo cache (vpodzime) - Add back DeviceTree's methods and properties used from the outside (vpodzime) - Wrap keys() with a list so that the dictionary can be changed (martin.kolman) - Add a method to list disks related by lvm/md/btrfs container membership. (dlehman) - Make getDependentDevices work with hidden devices. (dlehman)- Fix pylint unused variable warnings (vtrefny) - Add test for mountpoints (vtrefny) - Replace _mountpoint with systemMountpoint in other modules (vtrefny) - New method to handle nodev filesystems (vtrefny) - Add dynamic mountpoint detection support (vtrefny) - New method to compute md5 hash of file (vtrefny) - Add information about subvolume to BTRFS format (vtrefny) - Don't specify priority in fstab if -1 (default) is used (#1203709) (vpodzime) - Catch GLib.GError in places where we catch StorageError (#1202505) (vpodzime) - slave_dev is undefined here, use slave_devices[0] instead. (clumens) - Clean out the mock chroot before attempting to run the rest of the test. (clumens) - Move recursiveRemove from Blivet to DeviceTree. (dlehman) - Factor out adding of sysfs slave (parent) devices into its own method. (dlehman) - Add a __str__ method to DeviceTree. (dlehman) - Allow changing the names of existing devices. (dlehman) - Remove redundant block for adding fwraid member disks. (dlehman) - Return a device from addUdevLVDevice if possible. (dlehman) - Pass a sysfs path to MultipathDevice constructor from Populator. (dlehman) - Resolve md names in udev info. (dlehman) - LVMVolumeGroupDevice format should be marked as immutable. (dlehman) - Don't catch and re-raise device create exceptions as DeviceCreateError. (dlehman) - Call superclass _preCreate from BTRFSVolumeDevice._preCreate. (dlehman) - Move code that populates the device tree into a new class and module. (dlehman) - Move action list management into a separate class and module. (dlehman) - Put an __init__.py in devices_tests directory. (amulhern) - Require the Python 2 version of pykickstart (#1202255) (vpodzime) - Use Size method to perform a Size operation (#1200812) (amulhern) - Extend Size.roundToNearest to allow Size units (#1200812) (amulhern) - Move code that populates the device tree into a new class and module. (dlehman) - Move action list management into a separate class and module. (dlehman) - Remove a pointless override. (amulhern) - Display the name of the overridden ancestor in error message. (amulhern) - Check for simple function calls in pointless overrides. (amulhern) - Simplify supported methods in FS.py. (amulhern) - Make hidden property use superclass method where possible. (amulhern) - Simplify some methods in DeviceFormat class. (amulhern) - Do supercall in BTRFSVolumeDevice.formatImmutable. (amulhern) - Add a comment to supported property. (amulhern) - Get rid of some very old commented out code. (amulhern) - Put all mock results into the top-level source dir. (clumens) - Spell TestCase.teardown correctly as tearDown(). (amulhern) - Make testMount() check return value of util.mount(). (amulhern) - Remove unused fs_configs. (amulhern) - Remove side-effects from mountType property. (amulhern) - Do not make the mountpoint directory in fs.FS.mount(). (amulhern) - Mount should not be satisfied with anything less than a directory. (amulhern) - Do not return doFormat() value. (amulhern) - Put previously removed mountExistingSystem() into osinstall.py. (amulhern) - Revert "Revive the mountExistingSystem() function and all it needs" (amulhern) - Make sure the device is setup before formatting it (#1196397) (bcl) - Use %d format string for every value that should be an integer decimal. (amulhern) - Robustify PartitionDevice._wipe() method. (amulhern) - Fix up scientific notation _parseSpec() tests. (amulhern) - Make size._parseSpec a public method. (amulhern) - Simplify StorageDevice.disks. (amulhern) - Simplify StorageDevice.growable. (amulhern) - Simplify and correct StorageDevice.packages property. (amulhern) - Remove services infrastructure from devices and formats. (amulhern) - Split devices tests out into a separate directory. (amulhern) - Fix dd wipe call. (exclusion) - Add a script to rebase and merge pull requests (dshea) - Add pylint false positive to list of pylint false positives. (amulhern) - Change all instances of GLib.Error to GLib.GError. (amulhern) - Sort pylint-false-positives using sort's default options with LC_ALL=C. (amulhern) - Add ability to match scientific notation in strings. (amulhern)- Add scratch, scratch-bumpver and rc-release targets. (bcl) - Add --newrelease to makebumpver (bcl) - Add po-empty make target (bcl) - Revive the mountExistingSystem() function and all it needs (vpodzime) - Switch translations to use Zanata (bcl) - Set EFIFS._check to True so that it gets correct fspassno (#1077917) (amulhern) - Use format string and arguments for logging function (vpodzime) - Merge pull request #28 from vpodzime/master-libblockdev (vratislav.podzimek) - Do not restrict MDRaidArrayDevice's memberDevices to type int (vpodzime) - Adapt better to libblockdev's md_examine data (vpodzime) - Set TmpFS._resizable to False. (amulhern) - Add an additional test for TmpFS. (amulhern) - Override NoDevFS.notifyKernel() so that it does nothing. (amulhern) - Add TmpFS._resizefsUnit and use appropriately. (amulhern) - Rewrite TmpFS class definition. (amulhern) - Add TmpFS._getExistingSize() method. (amulhern) - Make _getExistingSize() method more generally useful. (amulhern) - Remove _getExistingSize() methods with body pass. (amulhern) - Tidy up the definition of the device property throughout formats package. (amulhern) - Add a test to check properties of device paths assigned to formats. (amulhern) - Set TmpFSDevice object's _formatImmutable attribute to True. (amulhern) - Remove no longer needed requires (vpodzime) - Filter out pylint's "No name 'GLib' in module 'gi.repository'" messages (vpodzime) - Add a static method providing list of available PE sizes (vpodzime) - Use BlockDev's crypto plugin to do LUKS escrow (vpodzime) - Use BlockDev's DM plugin to work with DM RAID sets (vpodzime) - Use BlockDev's DM plugin for DM map existence testing (vpodzime) - Remove tests for the removed devicelibs functions (vpodzime) - Set and refresh BlockDev's global LVM config if needed (vpodzime) - Use BlockDev's LVM plugin instead of devicelibs/lvm.py (vpodzime) - Use BlockDev's BTRFS plugin instead of devicelibs/btrfs.py (vpodzime) - Use the BlockDev's DM plugin instead of devicelibs/dm.py (vpodzime) - Use BlockDev's crypto plugin instead of devicelibs/crypto.py (vpodzime) - Use BlockDev's loop plugin instead of devicelibs/loop.py (vpodzime) - Use BlockDev's MD plugin instead of devicelibs/mdraid.py (vpodzime) - Use BlockDev's swap plugin instead of devicelibs/swap.py (vpodzime) - Use BlockDev's mpath plugin instead of devicelibs/mpath.py (vpodzime) - First little step towards libblockdev (vpodzime) - Move the Blivet class into its own module (vpodzime) - Use a safer method to get a dm partition's disk name. (dlehman) - Be more careful about overwriting device.originalFormat. (#1192004) (dlehman)- Move autopart and installation-specific code outside of __init__.py (vpodzime) - Convert _parseUnits to public function (vtrefny) - LVMFactory: raise exception when adding LV to full fixed size VG (#1170660) (vtrefny) - Do not unhide devices with hidden parents (#1158643) (vtrefny)- Revert "Switch to temporary transifex project" (bcl) - Check parent/container type for thin volumes and normal volumes. (dlehman) - drop useless entries from formatByDefault exceptlist (awilliam) - Fix import of devicelibs.raid in platform.py (vpodzime) - Use %license in python-blivet.spec (bcl) - Fix import of FALLBACK_DEFAULT_PART_SIZE (vpodzime) - Make implicit partitions smaller if real requests don't fit anywhere (vpodzime) - Use list comprehension instead of filter+lambda in makebumpver (amulhern) - Revert "Try to deactivate lvm on corrupted gpt disks." (dlehman) - Virtualize options property methods in DeviceFormat.options definition. (amulhern) - Do not redefine size property in TmpFS. (amulhern) - Do not set self.exists to True in TmpFS.__init__(). (amulhern) - Simplify NoDevFS.type. (amulhern) - Set format's mountpoint if it has the mountpoint attribute. (amulhern) - Do not bother to set device.format.mountopts. (amulhern) - Tighten up FS.mountable(). (amulhern) - Simplify FS._getOptions(). (amulhern) - Simplify setting options variable. (amulhern) - Be less eager about processing all lines in /proc/meminfo. (amulhern) - Make error message more useful. (amulhern) - Add a tiny test for TmpFS. (amulhern) - More fixes for alignment-related partition allocation failures. (dlehman) - Do not mix stdout and stderr when running utilities unless requested (vpodzime) - Define the _device, _label and _options attributes in constructor (vpodzime) - Get rid of the has_lvm function (vpodzime) - Do not create lambda over and over in a cycle (vpodzime) - Disable pylint check for cached LVM data in more places (vpodzime) - Fix issue where too many mpath luns crashes installer (#1181336) (rmarshall) - Allow user-specified values for data alignment of new lvm pvs. (#1178705) (dlehman) - Let LVM determine alignment for PV data areas. (#962961) (dlehman) - Raise UnusableConfigurationError when unusable configuration is detected. (dlehman) - Don't raise an exception for failure to scan an ignored disk. (dlehman) - Try to deactivate lvm on corrupted gpt disks. (dlehman) - Remove an unused and outdated constant (vpodzime) - Relax the blivet device name requirements (#1183061) (dshea)- Switch to temporary transifex project (bcl) - Add docstrings to the methods in loop.py (bcl) - get_loop_name should return an empty name if it isn't found (#980510) (bcl) - Use dict() instead of dict comprehension. (riehecky) - Fix the pylint errors in the examples directory. (amulhern) - Add __init__ file to examples directory. (amulhern)- Use _resizefsUnit in resizeArgs() method implementations. (amulhern) - Do not supply a default implementation for the resizeArgs() method. (amulhern) - Use convertTo in humanReadable(). (amulhern) - Change convertTo() and roundToNearest() so each takes a units specifier. (amulhern) - Do not even pretend that ReiserFS is resizable. (amulhern) - Get whole unit tuple in loop when searching for correct units. (amulhern) - Make _parseUnits() return a unit constant, rather than a number. (amulhern) - Add unitStr() method. (amulhern) - Make _Prefix entries named constants. (amulhern) - Hoist _BINARY_FACTOR * min_value calculation out of loop. (amulhern) - Comment _prefixTestHelper() and eliminate some redundancies. (amulhern) - Eliminate redundant test. (amulhern) - Avoid using Size constant in FileDevice._create(). (amulhern) - Do not compare the same two values twice. (amulhern) - Make possiblePhysicalExtents() a bit more direct. (amulhern) - Get rid of unnecessary use of long. (amulhern) - Use _netdev mount option as needed. (#1166509) (dlehman) - Don't crash when a free region is too small for an aligned partition. (dlehman) - Multiple loops shouldn't be fatal (#980510) (bcl) - If allowing degraded array, attempt to start it (#1090009) (amulhern) - Add a method that looks at DEVNAME (#1090009) (amulhern) - Add mdrun method to just start, not assemble, an array. (#1090009) (amulhern) - Change allow_degraded_mdraid flag to allow_imperfect_devices (#1090009) (amulhern) - Remove needsFSCheck() and what only it depends on. (amulhern) - Remove allowDirty parameter and code that depends on it. (amulhern) - Eliminate dirtyCB parameter from mountExistingSystem() params. (amulhern) - Use correct package for FSError. (amulhern)- Mountpoint detection for removable devices (vtrefny) - Fix adding partition after ActionDestroyDevice canceling (vtrefny) - Avoid exception when aligned start and end are crossed over (exclusion) - Substitute simple value for single element array. (amulhern) - Change _matchNames so that it is less restrictive (amulhern) - Change MDRaidArrayDevice to MDBiosRaidArrayDevice. (amulhern) - Factor out MDRaidArrayDevice w/ type in ("mdcontainer", "mdbiosraidarray") (amulhern) - Make it possible for NTFS to recognize the label it reads. (amulhern) - Make unnecessarily verbose properties into simple class attributes. (amulhern) - Change the generic badly formatted label to one that's bad for all. (amulhern) - Don't make overridden values actual properties. (amulhern) - Check the status of the format being mounted. (amulhern)- Add a bunch of simple tests for filesystem formats. (amulhern) - Get rid of long() related code. (amulhern) - Add another check for resizable in FS.doResize() (amulhern) - Simplify FS.free(). (amulhern) - Make an early exit if self._existingSizeFields is [] (amulhern) - Change "Aggregate block size:" to "Physical block size:" for JFS. (amulhern) - Split output from infofs program for size on whitespace. (amulhern) - Simplify _getSize() and currentSize(). (amulhern) - Check resizable when assigning a new target size. (amulhern) - Make default exists value a boolean in DeviceFormat.__init__. (amulhern) - Remove pointless overrides. (amulhern) - Add a simple pylint checker for pointless overrides. (amulhern) - Run dosfsck in non-interactive mode (#1167959) (bcl)- Remove redundant import. (amulhern) - Change inclusion to equality. (amulhern) - Round filesystem target size to whole resize tool units. (#1163410) (dlehman) - New method to round a Size to a whole number of a specified unit. (dlehman) - Fix units for fs min size padding. (dlehman) - Disable resize operations on filesystems whose current size is unknown. (dlehman) - Run fsck before obtaining minimum filesystem size. (#1162215) (dlehman) - Fix setupDiskImages when the devices are already in the tree. (dlehman) - Make logging a little less verbose and more useful in FS.mount() (amulhern) - Make selinux test less precise. (amulhern) - Do not translate empty strings, gettext translates them into system information (vtrefny) - Add a tearDown method to StorageTestCase. (dlehman) - Remove pointless assignment to _formattable in Iso9660FS. (amulhern) - Remove BTRFS._resizeArgs() (amulhern) - Add more arguments to mpathconf (#1154347) (dshea) - Check the minimum member size for BtrfsVolumeDevices. (amulhern) - Get rid of FS._getRandomUUID() method. (amulhern) - Eliminate TmpFS.minSize() (amulhern) - Don't run selinux context tests when selinux is disabled. (dlehman) - Temporarily disable a test that isn't working. (dlehman) - Pass a path (not a name) to devicePathToName. (dlehman) - devicePathToName should default to returning a basename. (dlehman) - Fix test that guards forcible removal of dm partition nodes. (dlehman) - Device status can never be True for non-existent devices. (#1156058) (dlehman) - Use super to get much-needed MRO magic in constructor. (#1158968) (dlehman)- Add a method that determines whether a number is an exact power of 2. (amulhern) - Put size values in Size universe eagerly. (amulhern) - Update minSize method headers. (amulhern) - Remove _minSize assignment to 0 where it's inherited from superclass. (amulhern) - Make _minInstanceSize, a source of minSize() value, always a Size. (amulhern) - Fix int * Size operation and add tests (#1158792) (bcl) - getArch should return ppc64 or ppc64le (#1159271) (bcl) - Pack data for the wait_for_entropy callback (vpodzime) - Allow the wait_for_entropy callback enforce continue (vpodzime)- Increase max depth of sphinx toc to show subpackage names. (dlehman) - Temporarily disable the md devicetree tests due to mdadm issues. (dlehman) - Add ability to set a default fstype for the boot partition (#1112697) (bcl) - Pass a list of string items to log_method_return. (sbueno+anaconda) - Require resize target sizes to yield aligned partitions. (#1120964) (dlehman) - Split out code to determine max unaligned partition size to a property. (dlehman) - Allow generating aligned geometry for arbitrary target size. (dlehman) - Align end sector in the appropriate direction for resize. (#1120964) (dlehman) - Specify ntfs resize target in bytes. (#1120964) (dlehman) - Check new target size against min size and max size. (dlehman) - Add a number of new tests. (amulhern) - Add xlate parameter to humanReadable(). (amulhern) - Rewrite _parseSpec() and convertTo() (amulhern) - Make _lowerASCII() python 3 compatible and add a method header. (amulhern) - Use b"", not u"", for _EMPTY_PREFIX. (amulhern) - Strip lvm WARNING: lines from output (#1157864) (bcl) - Add testing for MDRaidArrayDevice.mdadmFormatUUID (#1155151) (amulhern) - Give mdadm format uuids to the outside world (#1155151) (amulhern) - Make logSize, metaDataSize, and chunkSize always consistently Size objects. (amulhern)- Only write label if there is a label AND labeling application. (amulhern) - Handle unicode strings in Size spec parsing. (dshea) - Fix typo in getting Thin Pool profile's name (vpodzime) - Don't try to get no profile's name (#1151458) (vpodzime) - Change signature of DiskLabel.addPartition to be more useful. (dlehman) - Remove unused fallback code from DiskLabel. (dlehman) - Let udev settle between writing partition flags and formatting. (#1109244) (dlehman) - Set _partedDevice attribute before calling device constructor (#1150147) (amulhern) - Fixed wrong Runtime Error raise in _preProcessActions (vtrefny) - Set sysfsPath attribute before calling Device constructor (#1150147) (amulhern) - Return all translated strings as unicode (#1144314) (dshea) - Force __str__ to return str. (dshea) - Use the i18n module instead of creating new gettext methods (dshea) - Take care when checking relationship of parent and child UUIDs (#1151649) (amulhern) - Further abstract loopbackedtestcase on block_size. (amulhern) - Update tests to bring into line w/ previous commit (#1150147) (amulhern) - Abstract ContainerDevice member format check into a method (#1150147) (amulhern) - Register DeviceFormat class (#1150147) (amulhern) - Don't append btrfs mount options to None (#1150872) (dshea) - Convert int to str before passing it to run_program (#1151129) (amulhern)- Don't pass --disable-overwrite to tx pull. (dlehman) - Avoid unneccesarily tripping raid-level member count checks. (dlehman) - Allow toggling encryption of raid container members. (#1148373) (dlehman) - Include the new blivet.devices submodule in the built package. (clumens) - Add a few test for setting dataLevel and metaDataLevel in BTRFS (amulhern) - Add dataLevel and metaDataLevel attributes for testing. (amulhern) - Add isleaf and direct to _state_functions (amulhern) - Refactor setup of _state_functions into __init__() methods (amulhern) - Move getting the attribute into the check methods. (amulhern) - Adjust detection of exceptions raised. (amulhern) - Update test setup so that it obeys RAID level requirements. (amulhern) - Use new RaidDevice class in appropriate Device subclasses. (amulhern) - Add new RaidDevice class for handling RAID aspects of devices. (amulhern) - Do not set parents attribute if parents param is bad. (amulhern)- Organize installer block device name blacklist. (#1148923) (dlehman) - Add likely to be raised exceptions to catch block (#1150174) (amulhern) - Canonicalize MD_UUID* values in udev.py (#1147087) (amulhern) - Split up devices.py. (dlehman) - Fix some pylint errors introduced in recent commits. (dlehman) - Return early when setting new size for non-existent partition. (dlehman) - Raise an exception when we find orphan partitions. (dlehman) - Fall back to parted to detect dasd disklabels. (dlehman) - Omit pylint false positive (amulhern) - Revert "pylint hack" (amulhern) - Remove unused import (amulhern) - Remove unused import (amulhern) - pylint hack (amulhern) - Make sure autopart requests fit in somewhere (#978266) (vpodzime) - Work with free region sizes instead of parted.Geometry objects (vpodzime) - Check that we have big enough free space for the partition request (vpodzime) - Allow specifying thin pool profiles (vpodzime) - Allow specifying minimum entropy when creating LUKS (vpodzime) - Allow user code provide callbacks for various actions/events (vpodzime) - Change default min_value from 10 to 1 in humanReadable() (amulhern) - Rewrite of Size.humanReadable() method (amulhern) - Factor out commonalities in xlated_*_prefix() methods. (amulhern) - Use named constants for binary and decimal factors. (amulhern) - Use UPPER_CASE for constants (amulhern)- Remove a problematic remnant of singlePV. (dlehman) - Remove all traces of singlePV. (sbueno+anaconda) - Change the default /boot part on s390x to not be lvm. (sbueno+anaconda) - Remove redundant check for parents in Blivet.newBTRFS. (dlehman) - Use Decimal for math in Size.convertTo. (dlehman) - Filter out free regions too small for alignment of partitions. (dlehman) - Disable LVM autobackup when doing image installs (#1066004) (wwoods) - Add attribute 'flags.lvm_metadata_backup' (wwoods) - lvm_test: refactoring + minor fix (wwoods) - devicelibs.lvm: refactor _getConfigArgs()/lvm() (wwoods) - devicelibs.lvm: fix pvmove(src, dest=DESTPATH) (wwoods) - Only pad for md metadata if pvs use multiple disks. (dlehman) - Align free regions used for partition growing calculations. (dlehman) - Try to align end sector up when aligning new partitions. (dlehman) - Remove obsolete conversion of size to float. (dlehman) - Honor size specified for explicit extended partition requests. (dlehman) - Honor zerombr regardless of clearpart setting. (dlehman) - Fix treatment of percent as lvm lv size spec. (dlehman) - Change variable keyword (#1075671) (amulhern) - Remove unused import (#1075671) (amulhern) - Don't mix target and discovery credentials (#1037564) (mkolman) - Make sure /boot/efi is metadata 1.0 if it's on mdraid. (pjones) - iscsi: fix root argument being overriden by local variable (#1144463) (rvykydal) - iscsi: add iscsi singleton back (#1144463) (rvykydal)- Fix pylint errors from recent btrfs commits. (dlehman) - Only cancel actions on disks related to the one we are hiding. (dlehman) - Cancel actions before hiding descendent devices. (dlehman) - Improve handling of device removals/additions from the devicetree. (dlehman) - The first format destroy action should obsolete any others. (dlehman) - Do not allow modification or removal of protected devices. (dlehman) - Propagate mount options for btrfs members to all volumes/subvolumes. (dlehman) - Properly identify dm devices even when udev info is incomplete. (dlehman) - Do not mount btrfs to list subvolumes outside installer_mode. (dlehman) - Reset default subvolume prior to removing the default subvolume. (dlehman) - Increase max size for btrfs to 16 EiB. (#1114435) (dlehman) - Improve adjustment for removal of a subvol in BTRFSFactory. (dlehman) - Set dummy mountpoint in ksdata for lvm thin pools. (dlehman) - Add an epoch to blivet. (sbueno+anaconda) - Check if device has enough members when setting RAID level (#1019685) (amulhern) - Add BTRFSValueError error and use in btrfs related code (#1019685) (amulhern) - iscsi: mount partitions in initramfs for root on iscsi (#740106) (rvykydal) - Remove poolMetaData (#1021505) (amulhern) - Revert "Allow use of a single path if multipath activation fails. (#1054806)" (vpodzime) - Add a release make target (bcl) - Prefer ID_SERIAL over ID_SERIAL_SHORT (#1138254) (vpodzime) - Allow use of a single path if multipath activation fails. (#1054806) (dlehman)- Update makebumpver to include flags on first request (bcl) - Condense and comment some devicelibs.dasd methods (#1070115) (amulhern) - Add a test file for DASD handling (#1070115) (amulhern) - Pylint inspired cleanup (#1070115) (amulhern) - Add a property for read-only devices. (dshea) - Get rid of misleading comment (#1066721) (amulhern) - Allow user code creating free space snapshot (vpodzime) - Add two functions to enable manual addition of ECKD DASDs. (sbueno+anaconda) - Make prefering leaves the default in getDeviceByPath (#1122081) (amulhern) - Make _filterDevices() return a generator consistently (#1122081) (amulhern) - Split string of symlinks into array of strings (#1136214) (amulhern) - Don't put "Linux" in a root's name if it's already there. (clumens)- Mock pyudev since libudev will not be on the builders. (dlehman) - Update selinux tests for default context of mounts under /tmp. (dlehman) - Clean up mocking done by udev tests when finished. (dlehman) - Remove unused lvm and md activation code. (dlehman) - Bypass size getter when mocking new devices. (dlehman) - Simplify udev.device_get_uuid. (dlehman) - Don't pass md array UUID as member format UUID. (dlehman) - Update md name when lookup relied on UUID. (dlehman) - Remove an obsolete block related to unpredictable md device names. (dlehman) - Get md member and array UUIDs for format ctor from udev. (dlehman) - Look in udev data for md member UUID. (dlehman) - Remove some unused multipath-specific functions from blivet.udev. (dlehman) - Adapt multipath detection code to external pyudev module. (dlehman) - Keep lvm and md metadata separate from udev info. (dlehman) - Replace our pyudev with the package python-pyudev. (dlehman) - Add a bunch of tests for mdadd. (amulhern) - Make has_redundancy() a method rather than a property and revise mdadd. (amulhern) - Omit unnecessary class hierarchy related boilerplate. (amulhern) - Add a test for activation. (amulhern) - Add a test for mddetail on containers. (amulhern) - Still attempt to destroy even if remove failed. (amulhern) - Use long messages for unittest errors. (amulhern) - Fix mdnominate error message. (amulhern) - Cosmetic changes for the swapSuggestion function (vpodzime) - Break once metadata value is found. (amulhern) - Fix issues reported by pyflakes (vpodzime) - Remove tests for the sanityCheck (vpodzime) - Move _verifyLUKSDevicesHaveKey and its exception to anaconda (vpodzime) - Remove sanityCheck functions from blivet sources (vpodzime) - Remove an unused closure function (vpodzime) - Remove two methods that are never called (vpodzime) - Add some tests for blivet.partitioning.addPartition. (dlehman) - Add a couple of tests for blivet.partitioning.DiskChunk. (dlehman) - Add a DiskFile class for testing partitioning code as a non-root user. (dlehman) - Add a contextmanager to create and remove sparse tempfiles. (dlehman) - Fix sphinx formatting of code blocks in devicefactory docstrings. (dlehman) - Mock selinux when building docs. (dlehman) - Include doc files when installing on readthedocs. (dlehman) - _maxLabelChars is no longer used by anything (bcl) - tests: Add tests for HFSPlus labels (#821201) (bcl) - Write a fs label for HFS+ ESP (#821201) (bcl) - Mock non-standard modules so we can generate API docs on readthedocs. (dlehman) - Split mdadd into separate functions. (amulhern) - Refactor mdraid tests. (amulhern) - Add a method to extract information about an mdraid array (amulhern) - Extend mdadm() to capture output (amulhern) - Be more robust in the face of possible changes to mdadm's UUIDs. (amulhern) - Factor canonicalize_UUID() into separate method. (amulhern) - Add a docstring to mdraid.mdexamine (amulhern) - Remove DeviceFormat.probe() method (amulhern) - Remove all references to mdMinor in current code base. (amulhern) - Generalize the error message for the array level (amulhern) - Use super() instead of explicit parent name (amulhern) - Remove commented out import. (amulhern) - Make docstring more precise. (amulhern) - Minor fix of a docstring. (rvykydal) - Get rid of partedFlags field. (amulhern)- Fix conf.py version bumping (bcl) - Add some tests for Chunk and Request class hierarchy. (dlehman) - Honor the skip list when allocating leftover sectors. (dlehman) - A Chunk is done growing when its pool is empty. (dlehman) - Don't use integer division to calculate a fraction. (dlehman) - Bump version in sphinx config from scripts/makebumpver. (dlehman) - Remove spec= from Size usage in intro.rst. (dlehman) - Attempt to reset the uuid of the mdraid member device (#1070095) (amulhern) - Add new method udev.device_get_md_device_uuid() method (#1070095) (amulhern) - Canonicalize mdadm generated UUIDS (#1070095) (amulhern) - Add a udev.device_get_md_metadata() method to udev and use it. (amulhern) - Change use of METADATA to MD_METADATA. (amulhern) - Check for md_level of None (amulhern) - Do not convert the result of udev.device_get_md_devices() to int. (amulhern) - Add documentation to udev.device_get_md_*() methods. (amulhern) - Document udev.device_get_uuid() method. (amulhern) - Add a few small tests for mdexamine (amulhern) - Add test for raid level descriptor None. (amulhern) - Use context manager with assertRaises*() tests. (amulhern) - Change uuid parameter to array_uuid (amulhern) - Remove udev_ prefix from udev methods. (amulhern) - Remove all references to DeviceFormat.majorminor (amulhern) - Use add_metaclass instead of with_metaclass. (amulhern) - Disable redefined-builtin warning. (amulhern) - Use range instead of xrange in generateBackupPassphrase() (amulhern) - Add a simple test of generateBackupPassphrase() result format (amulhern) - Python3 compatibility (rkuska) - Replace python-setuptools-devel BR with python-setuptools (bcl)- Do not use udev info to get the name of the device. (amulhern) - Remove unnecessary fanciness about importing devices. (amulhern) - Disable some pylint warnings that arise due to anaconda versions. (amulhern) - Allow RAID1 on EFI (#788313) (amulhern)- When logging, indicate whether exception was ignored by blivet. (amulhern)- Only import ROOT_PATH if needed (bcl) - Add early keyword to setUpBootLoader (#1086811) (bcl) - Only log a warning about labeling if something is wrong (#1075136) (amulhern) - When adding an md array, allow adding incomplete arrays (#1090009) (amulhern) - Add a flag to control whether a degraded md raid array is used (#1090009) (amulhern) - Remove preferLeaves parameter from getDeviceByPath() (amulhern) - Factor out commonalities among getDevice[s|]By* methods. (amulhern) - Omit special check for md devices in addUdevDevice(). (amulhern) - Remove unused 'slaves' variable. (amulhern) - Move down or remove assignment to device in add* methods. (amulhern) - Move DevicelibsTestCase up to the top level of the testing directory. (amulhern) - Accept None for btrfs raid levels (#1109195) (amulhern) - Add a test for a btrfs error associated with small devices (#1109195) (amulhern)- Make DevicelibsTestCase devices configurable. (amulhern) - Use correct parameters in __init__() in subclasses of unittest.TestCase. (amulhern) - Add num_blocks parameter to makeLoopDev(). (amulhern) - Move skipUnless decorator to the top level class of skipped classes. (amulhern) - Explicitly accept a string as well as a RAIDLevel object. (amulhern) - Update BTRFS initializer comments for level type. (amulhern) - Remove some extra imports. (amulhern) - Add method to set the default disklabel (#1078537) (bcl) - Do not try to activate dmraid sets if the dmraid usage flag is false (mkolman) - Use the value of the Anaconda dmraid flag to set the Blivet dmraid flag (mkolman) - Use the value of the Anaconda ibft flag to set the Blivet ibft flag (mkolman) - Ignore _build directory in doc directory. (amulhern) - Change intersphinx mapping to avoid linkcheck redirect errors. (amulhern) - Remove doctest target from Makefile. (amulhern) - Allow the table of contents to go one level deeper. (amulhern) - Automate generation of the .rst files which just set up the modules. (amulhern)- Skip device name validation for some device types. (dlehman) - Add a property indicating whether a device is directly accessible. (dlehman) - Add support for read-only btrfs snapshots. (dlehman) - Add tests for snapshots. (dlehman) - Special treatment for getting parted device for old-style lvm snapshots. (dlehman) - Some devices have immutable formatting. (dlehman) - Detect existing btrfs snapshots. (dlehman) - Drop special accounting for snapshot space usage in VG. (dlehman) - Use LVMSnapshotDevice when populating the devicetree. (dlehman) - Add Device classes for snapshots. (dlehman) - Add ignore_skip keyword arg to lvactivate. (dlehman) - Add optional kwarg to force removal of a logical volume. (dlehman) - Add backend functions for creating and managing snapshots. (dlehman) - Add docstrings for BTRFSVolumeDevice and BTRFSSubVolumeDevice. (dlehman) - Remove duplicate portion of lvm config string. (dlehman) - Reset the devicetree before tearing everything down in _cleanUp. (dlehman) - Make sure disk filters are applied even if populate fails. (dlehman) - Sync the spec file with downstream (vpodzime)- IPSeriesPPC now supports GPT in Open Firmware (hamzy) - Fix device name validation for devices that can contain / (#1103751) (dshea) - Add a getRaidLevel() convenience method to raid.py (amulhern) - Make a StorageDevice.raw_device property and use it where appropriate (amulhern) - Simplify a small chunk of Blivet.updateKSData() (amulhern) - Move the code for getting a space requirement from devicefactory to raid. (amulhern) - Make all devicefactory classes uses RAID objects instead of strings. (amulhern) - Remove devicefactory.get_raid_level from blivet (amulhern) - Put get_supported_raid_levels in devicefactory.py (amulhern) - Make BTRFS devices use RAID objects instead of strings for levels (amulhern) - Add lists of supported RAID levels for btrfs and lvm (amulhern) - Add "linear" to mdraid's list of supported raid levels. (amulhern) - Remove getRaidLevel() from mdraid file and make RAID_levels public (amulhern) - Check for required methods in MDRaidLevels.isRaidLevel. (amulhern) - Use has_redundancy property to decide how to add a member to an array. (amulhern) - Update the mdraid.mdadd comments (amulhern) - Use has_redundancy raid property when checking whether a device is removable (amulhern) - Make createBitmap() a property and update tests appropriately. (amulhern) - Add a Dup class to the various descendants of RAIDLevel. (amulhern) - Add an is_uniform property to the RAID levels. (amulhern) - Add a has_redundancy method that returns True if there is actual redundancy (amulhern) - Add Linear and Single to the RAID classes. (amulhern) - Move Container class to raid package and tidy it up (amulhern) - Allow the RAID object itself to be a valid RAID descriptor for lookup. (amulhern) - Adjust RaidLevel hierarchy so that all raid level objects extend RAIDLevel (amulhern) - No longer use _standard_levels as the default set of RAID levels. (amulhern) - Extract selection of members in complete() into a separate method. (amulhern) - Remove DMRaidArrayDevice.members property. (amulhern) - Comment mdraid.mdcreate() and update tests appropriately. (amulhern) - Import name 'lvm' instead of names from lvm package. (amulhern)- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild- Add tests for setting device's parent list directly (vpodzime) - Do not alter the ParentList being iterated over (#1083581) (vpodzime) - Do not limit ThinLV's size to VG's free space (vpodzime) - Take extra RAID metadata into account when growing LV (#1093144) (vpodzime) - Move apply_chunk_growth outside of a for-cycle (vpodzime) - Multiple arguments for string formatting need to be in parentheses (#1100263) (mkolman) - Make print statements Python 3 compatible (mkolman) - Validate device names (dshea) - Use a setter for Device.name as foretold by the prophecy of TODO (dshea)- Remove extra quotes from the xfs_db arguments. (dshea) - Factor duplicate code in __deepcopy__ methods into one method (#1095244) (amulhern) - Rearrange code related to handleUdevDeviceFormat() (#1095329) (amulhern) - Make dumpState catch and log all AttributeErrors (#1095329) (amulhern) - Add sectorSize property to catch and handle missing partedDevice (#1095329) (amulhern) - Get rid of remaining uses of spec keyword for Size() in examples directory. (amulhern) - Generalize false positive regular expression for multiple pylint versions (amulhern) - Do not run some tests unless running on Jenkins. (amulhern) - Miscellaneous pylint fixes. (amulhern) - Globally disable pointless string statement warning (amulhern) - Disable unused argument warning for 'args' in TmpFSDevice constructor (amulhern) - Omit 'args' parameter from formats constructors (amulhern) - Disabled unused argument warning for kwargs in formats.destroy() (amulhern) - Omit *args from parameters for format.create() and formats.destroy() (amulhern) - Omit *args from parameters in formats.setup() (amulhern) - Make formats.teardown() not take any extra parameters. (amulhern) - Make formats.mount use explicit keywords instead of kwargs. (amulhern) - Remove non-self params from FS.doResize method (amulhern) - Make doFormat use regular style keyword parameters (amulhern) - Do not use *args, **kwargs idiom in scheduleCreateFormat. (amulhern) - Do not use *args, **kwargs idiom in various schedule* auxiliary test methods. (amulhern) - Remove upgrading param from turnOnSwap() (amulhern) - Disable unused-argument warning (amulhern) - Disable pylint unused-argument warning. (amulhern)- Split ROOT_PATH usage into getTargetPhysicalRoot()/getSysroot() (walters) - Update and fix copyright info for docs. (dlehman) - Add some tests for extended partition management. (dlehman) - Add some tests that verify the results of DeviceTree.populate. (dlehman) - Add a base class for tests backed by disk image storage. (dlehman) - Adapt examples to examples/common.py function dispersement. (dlehman) - Change devices.SparseFileDevice._create to use util.create_sparse_file. (dlehman) - Move set_up_logging and create_sparse_file into blivet.util for reuse. (dlehman) - Make examples.common.tear_down_disk_images a DeviceTree method. (dlehman) - Fix handling of devices activated as a side-effect of actions. (dlehman) - Check for problematic active devices before processing any actions. (dlehman) - Split some large blocks out of DeviceTree.processActions. (dlehman) - Explicitly requested extended partitions already have an action. (dlehman) - Fix handling of extended partitions across various modes of operation. (dlehman) - Handle the case of md arrays getting activated from outside blivet. (dlehman) - Make an extra effort to remove dm partition nodes that want to stay. (dlehman) - Fix handling of clearing a partitioned disk and leaving it cleared. (dlehman) - Don't check for disklabels on partitions. (dlehman) - Update targetSize to reflect actual size after a device is created. (dlehman) - Remove redundant msecs from logging timestamp. (dlehman) - Make signature of Size.__new__ match signature of Decimal.__new__ (amulhern) - Change Size so that it takes a single value parameter. (amulhern) - Change all 'format' keyword args to 'fmt' in Device constructors (amulhern) - Change format keyword argument to fmt in scheduleCreateFormat (amulhern) - Change keyword parameters in devicetree.findActions (amulhern) - Change ActionCreateFormat constructor keyword argument to 'fmt' (amulhern) - Remove unused parameter 'ignoreErrors' from umountFilesystems() (amulhern) - Remove parameter 'raiseErrors' from mountFilesystems() methods. (amulhern) - Disable unused argument warning for 'major' and 'minor' (amulhern) - Set dummy functions as values rather than via function definition syntax. (amulhern) - Pass size value to superconstructor for LVMVolumeGroupDevice. (amulhern) - Sort the pylint-false-positives file (amulhern) - Do not disable unused argument warning. (amulhern) - Omit pylint warning about disabled warnings or errors from pylint log. (amulhern) - Put the pyblock warning in pylint-false-positives (amulhern) - Remove obsolete documentation for parameter 'label'. (amulhern)- Adjust the available size on each disk using chunk size. (amulhern) - Removed some now unused methods from devices (#1085474) (amulhern) - Rename size() method to get_size() method. (amulhern) - Remove unused get_size method (#1085474) (amulhern) - Use raid.size method to get size of device (#1085474) (amulhern) - Add a size() method to the raid classes (#1085474) (amulhern) - Move line that might throw an MDRaid exception inside try block (#1085474) (amulhern) - Check whether type is mdbiosraidarray before checking smallest member (#1085474) (amulhern) - Log if there was a failure to calculate the size of the MDRaidArrayDevice (#1085474) (amulhern) - Rename get_raw_array_size to get_net_array_size (#1085474) (amulhern) - Rename _get_size to _trim, which describes its function better (#1085474) (amulhern) - Improve comments on a few methods (#1085474) (amulhern) - Make RAIDLevels iterable (#1085474) (amulhern) - Update makebumpver for python-bugzilla 1.0.0 (bcl) - Disable unused argument warning for 'key_file' in devicelibs.crypto methods (amulhern) - Disable unused argument warning for 'del_passphrase' in luks_remove_key (amulhern) - Disable unused argument warning for 'data' in doAutoPartition (amulhern) - Disable unused argument warning for 'info' in handleUdevLuksFormat (amulhern) - Disable unused argument warning for 'disks' in get_pv_space. (amulhern) - Remove pointless parameters from unittest methods. (amulhern) - Disable a no member warning for EddTestFS initializer. (amulhern) - Get rid of unused argument 'args' in MakeBumpVer constructors (amulhern) - Changes to _parseOneLine() and its single invocation. (amulhern) - Remove obsolete comment (amulhern) - Rename to avoid redefining parameter built-ins (amulhern) - Change name to avoid redefining built-in (amulhern) - Remove unused parameter in makeupdates. (amulhern) - Removed unused argument 'options' from testMount (amulhern) - Make signature of _setSize match that of the method it overrrides. (amulhern) - Actually use argv parameter (amulhern) - Pass fname as first argument to shutil.copy2 (amulhern) - Remove minimumSector method and _minimumSector attribute (amulhern) - Disable not-callable pylint warning. (amulhern) - Set child_factory_fstype to None in DeviceFactory (amulhern) - Suppress unpacking-non-sequence pylint warning (amulhern) - Prefix name with defining package (amulhern) - Update Platform instance from flags instead of replacing it. (#1090646) (dlehman) - Rename to avoid redefining built-ins where the redefinition is method local. (amulhern) - Set device.format in else block of try/except/else. (amulhern) - Do not run pylint on sphinx generated conf.py (amulhern) - Get rid of a redefined builtin while simplifying method. (amulhern) - Compress loop into generator list comprehension (amulhern) - Rewrite resize() method to depend on _resizable. (amulhern) - Remove definition of LVMThinLogicalVolumeDevice._resizable (amulhern) - Add an attribute docstring for _resizable. (amulhern) - Correct comment on resizable property (amulhern)- Don't apply action until after all checks have passed. (dlehman) - Apply action for extended partition creation. (dlehman) - Fix an issue introduced in commit a210eb5c. (dlehman) - Move changes from action ctors into apply methods. (dlehman) - Tell lvm to prefer /dev/mapper/ and /dev/md/ to dm-X and mdX nodes. (dlehman) - Use the right md UUID when trying to look one up from addUdevDevice. (dlehman) - Pass UUID of existing md array to superclass constructor. (dlehman) - Fix accounting related to addition of md member devices. (dlehman) - Add some more tests for the Size.humanReadable method (vpodzime) - If size is an integer value, show it as an integer value (vpodzime) - Make sure that using just k/m/g/... results in KiB/MiB/GiB/... (vpodzime) - Make humanReadable size use binary prefixes and nicer units (vpodzime) - Round sizes in humanReadable instead of flooring them (vpodzime) - Do not assign result of evaluating EddTestFS() to a variable (amulhern) - Rename bits() to numBits() (amulhern) - Rename to avoid conflict with name in outer scope. (amulhern) - Put module level code in a method (amulhern) - Do not use strip() incorrectly (amulhern) - Disable E1101 (no-member) error (amulhern) - Use isResize in isShrink and isGrow. (amulhern) - Suppress W0612 (unused-variable) false positives (amulhern) - Suppress W0621 warnings (amulhern) - Add a stub function for get_bootloader (amulhern) - Suppress W0602 false positives (amulhern) - Remove BootLoaderError definitions (amulhern) - Disable E1003 warning. (amulhern) - Do not cache the DeviceFormat object (amulhern) - Suppress W0201 error where attribute is set in __new__. (amulhern) - Add to false positives an error which is not suppressed by a pragma. (amulhern) - Suppress W0201 errors (amulhern) - Make signature of Size.__str__ match signature of Decimal.__str__ (amulhern) - Do not evaluate % operator in log message arguments (amulhern) - Remove suite() methods in tests (amulhern) - Remove addKeyFromFile() method (amulhern) - Import name 'deviceaction' where needed (amulhern) - Setting variables in __init__ (amulhern) - Log exception information and disable W0703 warning. (amulhern) - Disable some W0703 warnings (amulhern) - Disable some W0703 warnings. (amulhern) - Add a function that logs available exception info. (amulhern) - Restrict scope of pylint pragmas as much as possible (amulhern) - Change all pylint numeric codes to mnemonic strings. (amulhern)- Slightly reduce loop and get rid of obsolete comment (amulhern) - Slightly rewrite loop to avoid a redefining builtin error (amulhern) - Simplify find_library and fix redefining built-in errors. (amulhern) - Make loop variables a little more descriptive (amulhern) - Make regular expressions raw strings. (amulhern) - Suppress unused variable warning and check for failure. (amulhern) - Add W0105 warning about attribute docstrings to false positives (amulhern) - Make signature of setup() in parent class same as in children (amulhern) - Suppress some correct pylint warnings (amulhern) - Get _loopMap.values() when all that's needed is the values (amulhern) - Obvious fix inspired by pylint E0602 error (amulhern) - Suppress W0631 warning for abbr and prefix. (amulhern) - Do not do formatting operation in the argument of the translation (amulhern) - Remove unnecessary global statements (amulhern) - Disable W0703 message in test (amulhern) - Explicitly set the module level platform variable (amulhern)- Do not execute smallestMember property method twice. (amulhern) - Remove unnecessary function definitions in abstract properties (amulhern) - Pass format args as arguments to debug method (#1085057) (amulhern) - Move udev_settle call from util into fs to break circular dependency (amulhern) - Change implicit relative imports to explicit relative imports (amulhern) - Remove unused imports (amulhern) - Get rid of os.path import (amulhern) - Really avoid dynamic import of formats/__init__.py by itself (amulhern) - Ignore E1101 errors in savePassphrase. (amulhern) - Add a bunch of E1120 errors to the false positives file (amulhern) - Make LabelingAsRoot class an abstract class and define two properties (amulhern) - Suppress false positive W0631 error. (amulhern) - Use self.nic instead of nic (amulhern) - Make sure _state_functions is a dictionary in base class (amulhern) - Remove unnecessary lambda wrappers on assertion functions (amulhern) - Obvious fix inspired by an "Undefined variable warning" (amulhern) - Remove all references to lvm_vg_blacklist and blacklistVG. (amulhern) - Update for changes in the anaconda errorHandler API. (dshea) - Remove unused imports. (amulhern) - Import from the defining module. (amulhern) - Move import to top level. (amulhern) - Do not use implicit relative imports (amulhern) - Remove wildcard import (amulhern) - Fix a bug and catch a change in lvm's thin pool layout. (dlehman) - Plumb uuid down through DMDevice. (dlehman)- Change labelApp to a more concisely defined abstract property (amulhern) - Change defaultLabel to a more concisely defined abstract property. (amulhern) - Change _labelstrRegex to a more concisely defined abstract property. (amulhern) - Make reads property a bit more succinct. (amulhern) - Make name an abstract property and omit _name (amulhern) - Remove an unused import from devicelibs/raid.py (vpodzime) - Fix all pylint errors in pylintcodediff (amulhern) - Don't run test if the git branch is dirty (amulhern) - Exit if the specified log file does not exist. (amulhern) - Update lvm devicelibs tests to reflect recent changes. (dlehman) - Add required LVs as needed instead of trying to sort by attrs. (dlehman) - Fix missed conversion of rm->missing in vgreduce call. (dlehman) - Only gather lvm information one time per DeviceTree.populate call. (dlehman) - Add support for listing everything to pvinfo and lvs. (dlehman) - Get lv list from lvm in a more straightforward format. (dlehman) - Gather lv list where we use it to save from having to stash it. (dlehman) - Split out common lvm parsing code. (dlehman) - Add tests that use ParentList as part of Device. (dlehman) - Parent list length doesn't reflect new member in _addParent. (dlehman) - Rearrange _startEdd to be a little more obvious. (amulhern) - Raise exceptions using the new syntax (amulhern) - Do not import logging twice. (amulhern) - Suppress unused variable warning (amulhern) - Get rid of writeRandomUUID. (amulhern) - Remove unused variable but retain call for its side-effects (amulhern) - Put docstring in class (amulhern) - Remove appendiceal assignment (amulhern) - Keep first parameter "self" (amulhern) - Omit compile flag (amulhern) - Move lines beneath __main__ into a main method (amulhern) - Indent with spaces, not tabs (amulhern) - Change param default [] to None and convert in method (amulhern) - Change to a semantically equivalent version of FileDevice.path (amulhern) - Adapt existing tests to changed signature of some methods (amulhern) - Don't assign return value to unused variable (amulhern) - Be specific when catching exceptions (dshea) - Remove appendiceal assignments (amulhern) - Remove a lot of unused variables extracted from udev info (amulhern) - Don't get return values from communicate() if they are ignored (amulhern) - Use the disk's name in log message (amulhern) - Get rid of old exception unpacking syntax (dshea) - Rearranged some iffy exception checking (dshea) - Replace with a semantically equivalent chunk. (amulhern) - Remove some unused exception names. (amulhern) - Remove unused assignment to boot. (amulhern) - Delete method-local pruneFile function. (amulhern) - Don't comment out function headers but leave their bodies uncommented (amulhern) - Get rid of unnecessary pass statements (amulhern) - Put a field and a method in the base class (amulhern) - Spell parameter self correctly (amulhern) - Give abstract method the same signature as its overriding methods. (amulhern) - Catch correct error and disable warning. (amulhern)- Adapt callers to use the new parent list interface. (dlehman) - Change management of Device parents to use a simple list interface. (dlehman) - Convert ContainerDevice to an abstract base class. (dlehman) - Set device uuid before calling Device ctor. (dlehman) - Improve the mechanism for VG completeness. (dlehman) - Support mutually-obsoleting actions. (dlehman) - Add some checking to MDRaidArrayDevice._setSpares. (dlehman) - Make sorting by action type part of the action classes. (dlehman) - Add action classes for container member set management. (dlehman) - Add a property to provide consistent access to parent container device. (dlehman) - Add type-specific methods for member set management. (dlehman) - Adapt callers to new method names for add/remove member device. (dlehman) - Add a ContainerDevice class to consolidate member management code. (dlehman) - Add backend functions for container member set management. (dlehman) - Teardown RAID device once testing is over (amulhern) - Make lvm tests runnable. (amulhern) - Make crypt tests runnable. (amulhern) - Replace unnecessarily complicated expression with string multiplication (amulhern) - Suppress unused variable warning for index in range (amulhern) - Suppress some unused variable warnings. (amulhern) - Suppress some unused variable warnings (amulhern) - Update to the new raise syntax (dshea) - Removed an unnecessary semicolon (dshea) - Removed a redundant definition of NoDisksError (dshea) - Specify regular expressions containing backslashes as raw strings (dshea) - Fixed some questionable indentation (dshea) - Fix logging function string format warnings. (dshea) - All size specifications should be Size instances (#1077163) (vpodzime) - Make sure StorageDevice's self._size is a Size instance (#1077179) (vpodzime) - Allow creating Size instance from another Size instance (vpodzime) - Force removal of hidden devices (#1078163) (amulhern) - Get action_test into working order. (dlehman) - Update action_test.py to specify sizes using blivet.size.Size. (dlehman) - Don't corrupt the environment when setting up StorageTestCase. (dlehman) - Make minSize, maxSize consistent and correct. (dlehman) - Don't prevent grow actions on devices with no max size. (dlehman)- Changes to allow pylint checks to be run on a distribution of the source. (amulhern) - Remove non-doing check target (amulhern) - Add a script to relate pylint errors to lines changed. (amulhern) - Change output format so that it is suitable for diff-cover. (amulhern) - Do an initial setup for running pylint tests in blivet. (amulhern) - Handle None in devicePathToName(#996303) (dshea) - Remove bootloader.packages from storage.packages (#1074522). (clumens) - Whitespace fixes for the crypto devicelib module (vpodzime) - Use random.choice for generating LUKS backup passphrase (vpodzime) - Trivial fixes for the lvm devicelib module (vpodzime) - Make vginfo work the same way as pvinfo and other LVM functions (vpodzime) - Allow NTFS to be mountable. (#748780) (dshea) - Limit the LV size to VG's free space size (vpodzime)- Fix an old typo in zeroing out a PReP partition. (#1072781) (dlehman) - Only count with the extra metadata extents in new VGs and LVs (#1072999) (vpodzime) - Use container's parent's name for PV if available (#1065737) (vpodzime) - Fix traceback with write_dasd_conf. (#1072911) (sbueno+anaconda) - When copying a root, also copy hidden devices (#1043763) (amulhern) - Add hidden flag to devicetree.getDeviceByID (#1043763) (amulhern) - Only set device for mountpoint if it is not None (#1043763) (amulhern) - Extend the list of things to be omitted if moddisk is False (#1043763) (amulhern) - Set req_name to None at the top of initializer (#1043763) (amulhern) - Log action cancelation (#1043763) (amulhern) - Make DeviceTree.hide() remove a larger set (#1043763) (amulhern) - Re-write the DASD storage code. (#1001070) (sbueno+anaconda) - Include image install flag when updating from anaconda flags. (#1066008) (dlehman)- Include tmpfs mounts in post-install kickstart (#1061063) (mkolman) - Count with the extra metadata extents for RAID consistently (#1065737) (vpodzime) - Make partitioning error message more friendly (#1020388) (amulhern) - Fix partition handling across multiple processActions calls. (#1065522) (dlehman) - Let the udev queue settle before populating the devicetree. (#1049772) (dlehman) - Don't activate or deactivate devices from the action classes. (#1064898) (dlehman) - Improve handling of parted.DiskLabelCommitError slightly. (dlehman) - Make teardownAll work regardless of flags. (dlehman) - Fix maxSize test when setting device target size. (dlehman) - Size.convertTo should return a Decimal. (dlehman) - Don't use float for anything. (dlehman) - Fix type of block count in PartitionDevice._wipe. (dlehman) - Fix handling of size argument to devicelibs.lvm.thinlvcreate. (#1062223) (dlehman) - return empty set when no matching fcoe nic (#1067159) (bcl) - Return str from Size.humanReadable (#1066721) (dshea) - Add a coverage test target (#1064895) (amulhern) - Filesystem labeling tests will not run without utilities (#1065422) (amulhern) - Rename misc_test.py to something more descriptive (#1065422) (amulhern) - Refactor labeling tests (#1065422) (amulhern) - Move SwapSpace tests into a separate class (#1065422) (amulhern)- Wait for udev to create device node for new md arrays. (#1036014) (dlehman) - Fix detection of thin pool with non-standard segment types. (#1022810) (dlehman) - NFSDevice does not accept the exists kwarg. (#1063413) (dlehman) - Don't run mpathconf for disk image installations. (#1066008) (dlehman) - If /etc/os-release exists, check it to identify an installed system. (clumens) - Get the unit tests into a runnable state. (dlehman) - Update Source URL in spec file to use github. (dlehman)- ntfs _getSize needs to use Decimal (#1063077) (bcl) - Separate sanityCheck-ing from doAutoPartition (#1060255) (amulhern) - Change messages to SanityExceptions objects (#1060255) (amulhern) - Make a small SanityException hierarchy (#1060255) (amulhern) - Remove unused exception class (#1060255) (amulhern) - Add another .decode("utf-8") to humanReadable (#1059807) (dshea) - makebumpver: Any failure should cancel the bump (bcl)- makebumpver: Only remove from list if action is not Resolves (bcl) - Update bumpver to allow Related bugs (bcl) - Remove all dependent devices of san device becoming multipath (#1058939) (rvykydal) - When repopulating multipath members mark them as multipath (#1056024) (rvykydal) - fcoe: parse yet another sysfs structure for bnx2fc devices (#903122) (rvykydal) - fcoe: add fcoe=: to boot options for nics added manually (#1040215) (rvykydal) - Convert the ntfs minsize to an int (#1060031) (dshea) - Convert the string representation of Size to a str type. (#1060382) (dshea) - don't display stage2 missing error as well if the real problem is stage1 (awilliam) - Provide a mechanism for platform-specific error messages for stage1 failure (awilliam) - Don't add None value to req_disks (#981316) (amulhern) - Make error message more informative (#1022497) (amulhern) - Check that file that loop device is going to use exists (#982164) (amulhern) - Use os.path.isabs to check whether path name is absolute (#994488) (amulhern)- escrow: make sure the output directory exists (#1026653) (wwoods) - provide a more useful error message if user fails to create an ESP (awilliam) - Tell lvcreate not to ask us any questions and do its job. (#1057066) (dlehman)- Some simple tests for _verifyLUKSDevicesHaveKey (#1023442) (amulhern) - Verify that LUKS devices have some encryption key (#1023442) (amulhern)- Only do SELinux context resets if in installer mode (#1038146) (amulhern) - Look up SELinux context for lost+found where it is needed (#1038146) (amulhern) - Don't reset the SELinux context before the filesystem is mounted (#1038146) (amulhern) - Test setting selinux context on lost+found (#1038146) (amulhern) - Only retrieve the unit specifier once (dshea) - Fix the Device.id usage. (dshea) - Accept both English and localized sizes in Size specs. (dshea) - Use a namedtuple to store information on unit prefixes (dshea) - Remove en_spec Size parameters. (dshea) - Fix potential traceback in devicetree.populate. (#1055523) (dlehman) - Fall back on relabeling app where available (#1038590) (amulhern) - Change the meaning of label field values (#1038590) (amulhern) - Enable labeling on NTFS filesystem (#1038590) (amulhern) - Enable labeling on HFS filesystem (#1038590) (amulhern) - Add a method that indicates ability to relabel (#1038590) (amulhern) - Use filesystem creation app to set filesystem label (#1038590) (amulhern) - Import errors so FSError name is resolved (#1038590) (amulhern) - Remove BTRFS._getFormatOptions (#1038590) (amulhern) - Make an additional class for labeling abstractions (#1038590) (amulhern) - Fix copyright date (#1038590) (amulhern) - Remove redundant _defaultFormatOptions field (#1038590) (amulhern) - Remove code about unsetting a label (#1038590) (amulhern) - Return None if the filesystem has no label (#1038590) (amulhern) - Removed redundant check for existance of filesystem (#1038590) (amulhern) - Have writeLabel throw a more informative exception (#1038590) (amulhern)- Update the TODO list. (dlehman) - Multipath, fwraid members need not be in exclusiveDisks. (#1032919) (dlehman) - Convert parted getLength values to Size (dshea) - Last of the Device._id -> Device.id (bcl) - iscsi: in installer automatically log into firmware iscsi targets (#1034291) (rvykydal) - Use isinstance for testing numeric types (vpodzime) - Device._id -> Device.id (clumens) - Allow resetting partition size to current on-disk size. (#1040352) (dlehman)- Convert everything to use Size. (dlehman) - Allow negative sizes. (dlehman) - Fix return value of Size.convertTo with a spec of bytes. (dlehman) - Discard partial bytes in Size constructor. (dlehman) - Prefer binary prefixes since everything is really based on them. (dlehman) - Fix a few minor problems introduced by recent raid level changes. (dlehman) - Move label setter and getter into DeviceFormat class (#1038590) (amulhern) - Add a test for labeling swap devices (#1038590) (amulhern) - Default to None to mean none, rather than empty string (#1038590) (amulhern) - Add a labelFormatOK method to the DeviceFormat's interface (#1038590) (amulhern) - Indicate whether the filesystem can label (#1038590) (amulhern) - Restore ability to write an empty label where possible (#1038590) (amulhern) - More tests to check writing and reading labels (#1038590) (amulhern) - Remove fsConfigFromFile (#1038590) (amulhern) - Changes to the handling of filesystem labeling (#1038590) (amulhern) - Add some simple tests for file formats. (amulhern) - Give DeviceFormat objects an id (#1043763) (amulhern) - Refactor to use ObjectID class (#1043763) (amulhern) - Make a class that creates a unique-per-class id for objects (#1043763) (amulhern) - Revert "Make a class that creates a unique-per-class id for objects (#1043763)" (amulhern) - Revert "Give DeviceFormat objects an object_id (#1043763)" (amulhern) - Make the maximum end sector for PReP boot more benevolent (#1029893) (vpodzime) - Give DeviceFormat objects an object_id (#1043763) (amulhern) - Make a class that creates a unique-per-class id for objects (#1043763) (amulhern) - Make get_device_format_class return None if class not found (#1043763) (amulhern) - A few simple unit tests for some formats methods (#1043763) (amulhern) - Don't translate format names (dshea)- Forget existing partitions of device becoming a multipath member (#1043444) (rvykydal) - Include blivet.devicelibs.raid in the generated documentation. (amulhern) - Upgrade the comments in raid.py to be compatible with sphinx. (amulhern) - Make space for LUKS metadata if creating encrypted device (#1038847) (vpodzime) - fcoe: give error message in case of fail when adding device (#903122) (rvykydal) - fcoe: adapt bnx2fc detection to changed sysfs path structure (#903122) (rvykydal) - Update format of iscsi device becoming multipath member (#1039086) (rvykydal)- Add initial 64-bit ARM (aarch64) support (#1034435) (dmarlin) - Convert to sphinx docstrings. (dlehman) - Add some documentation. (dlehman) - Move getActiveMounts from Blivet into DeviceTree. (dlehman) - Add an example of creating lvs using growable requests. (dlehman) - Remove a whole bunch of unused stuff from Blivet. (dlehman) - Remove usage of float in Size.humanReadable. (dlehman) - Add missing abbreviations for binary size units. (dlehman) - Fix shouldClear for devices with protected descendants. (#902417) (dlehman) - Use // division so that it continues to be floor division in Python 3. (amulhern)- Work on devicelibs.btrfs methods that require that the device be mounted. (amulhern) - Remove some methods from devicelibs.btrfs. (amulhern) - Add a comment to btrfs.create_volume. (amulhern) - Add a file to run btrfs tests. (amulhern) - Remove format.luks.LUKS.removeKeyFromFile. (amulhern) - Changes to devicelibs.mdraid.mdactivate. (amulhern) - Restore an import removed in a previous commit. (amulhern) - Add a PE for LUKS metadata (#1038969) (bcl) - Adjust currentSize methods slightly. (amulhern) - Put additional constraints on the ActionResizeDevice initializer. (amulhern) - Remove redundant checks in existing resize() methods. (amulhern) - Add some baseline unit tests for BTRFS devices. (amulhern) - Robustify use of defaultSubVolumeID field. (amulhern) - Check that a BTRFS subvolume has exactly one parent in constructor. (amulhern) - BTRFSSubVolume.volume checks the class of its return value. (amulhern) - Raise ValueError in BTRFS constructor if no parents specified. (amulhern) - Add tests for a couple of additional properties for MDRaidArrayDevice. (amulhern) - Factor state testing behavior into a separate class. (amulhern) - Remove redundant condition in if statement. (amulhern)- Make RAIDLevel an abstract class using abc. (amulhern) - Restore a util import that was removed in a recent commit. (amulhern)- Always run action's cancel method as part of cancelAction. (dlehman) - Show Invalid Disk Label for damaged GPT (#1020974) (bcl) - Make error message in setDefaultFSType more informative (#1019766) (amulhern) - Set sysfsPath of LUKSDevice when adding to device tree (#1019638) (jsafrane) - Use given format type as format's name instead of type (vpodzime)- btrfs and xfs do not support fsck or dump at boot time (#862871) (bcl) - Removed raid level constants from mdraid.py. (amulhern) - Remove raidLevel and get_raid_min_members for mdraid.py. (amulhern) - Remove raidLevelString in raid and mdraid. (amulhern) - In devicefactory.py change mdraid procedures call to raid method calls. (amulhern) - Removed mdraid.raid_levels (amulhern) - Removed mdraid.get_raid_max_spares. (amulhern) - Change MDRaidArrayDevice to use raid package. (amulhern) - Changed devicelibs.mdraid to make use of devicelibs.raid. (amulhern) - Implement a RAID class hierarchy. (amulhern) - A few small tests for MDFactory class. (amulhern) - Add some additional unit tests in mdraid_tests.py. (amulhern) - Make MDRaidArrayDevice initializer not except raid level of None. (amulhern) - Add some basic unit tests for MDRaidArrayDevice. (amulhern) - Move pyanaconda import into blivet.enable_installer_mode. (amulhern)- Clear whole-disk formatting before initializing disks. (#1032380) (dlehman) - Simplify calculation of vol size when adding a btrfs subvol. (#1033356) (dlehman) - Handle passing a btrfs volume as device to BTRFSFactory. (dlehman) - Add support for detecting btrfs default subvolume. (dlehman) - Handle nested btrfs subvolumes correctly. (#1016959) (dlehman) - Mark all format names as translatable (dshea) - Add parameters for untranslated Size specs. (dshea) - Fix usage of _ vs N_ (dshea) - Added a i18n module for gettext functions. (dshea) - Allow non-ASCII characters in the size spec (dshea)- Specify btrfs volumes by UUID in /etc/fstab. (dlehman) - Catch any exception raised by findExistingInstallations. (#980267) (dlehman) - Prevent md_node_from_name from raising OSError. (#980267) (dlehman) - Tidy up tests in devicelibs_test directory. (amulhern) - Preparation for lv resize is a subset of that for lv destroy. (#1027682) (dlehman) - Make sure new values of targetSize are within bounds. (dlehman) - Devices with non-existent formatting are resizable. (#1027714) (dlehman) - Do not hide non-existent devices. (#1027846) (dlehman) - Change XFS maximum to 16EB (#1016035) (bcl) - Add tmpfs support (#918621) (mkolman) - Add support for returning machine word length (mkolman) - Require cryptsetup instead of cryptsetup-luks (#969597) (amulhern) - Fix initialization of disks containing sun or mac disklabels. (dlehman) - Newly formatted devices are used unless mountpoint is empty. (#966078) (dlehman) - Fix detection of lvm setups. (#1026466) (dlehman) - Fix handling of overcommitted thin pools in thinp factory. (#1024144) (dlehman) - Fix name checking for new thin lvs. (#1024076) (dlehman)- Add macefi format type (#1010495) (bcl) - Allow hfs+ boot devices to have their name set (#1010495) (bcl) - Update parted partitions on hidden disks when copying a Blivet. (#1023556) (dlehman) - Add ack flag checking to makebumpver (bcl) - Add makebumpver script (bcl)- Remove requirement for btrfsctl which no longer exists. (#1012504) (dlehman) - Allow for adjustment of factory vg after removal of thin pool. (#1021890) (dlehman) - Add boot description for "disk" devices on s390. (#867777, #903237, #960143) (sbueno+anaconda) - Add initial spport for aarch64 as we only plan to support UEFI this should be enough (dennis)- Close file descriptors other than stdin,stdout,stderr on exec. (#1016467) (dlehman) - Don't use hardcoded /tmp paths. (#1004404) (dlehman) - Fix detection of lvm thinp setups. (#1013800) (dlehman) - Generate a name if necessary when reconfiguring a factory device. (#1019500) (dlehman) - Handle anaconda's cmdline option to disable mpath friendly names. (#977815) (dlehman) - Allow specifying which swaps should appear in fstab (vpodzime) - Do not limit swap size to 10 % of disk space for hibernation (vpodzime)- Make sure bootloader is setup after autopart (#1015277) (bcl) - Let setUpBootLoader raise BootloaderError (#1015277) (bcl) - Limit the maximum swap size to 10 % of disk space (if given) (vpodzime) - support ppc64le architecture (hamzy) - Don't call handleUdevDeviceFormat without udev device (#1009809) (dshea)- Allow implicit inclusion of multipath/fwraid by including all members. (dlehman) - If a device has been removed, omit it from the copied root. (#1004572) (dlehman) - Thinp metadata and chunk size default to 0 -- not None. (#1004718) (dlehman) - Revert "Do not try to align partitions to optimal_io_size. (#989333)" (dlehman)- Only force luks map names to include UUID during OS installation. (#996457) (dlehman) - Allow DiskLabelCommitError to reach the caller. (#1001586) (dlehman) - Do not try to align partitions to optimal_io_size. (#989333) (gustavold) - Fix rpmlog make target (bcl) - Add missing changelog lines to spec (bcl)- Fix typo in examples/list_devices.py (dlehman) - Use iscsi-iname instead of trying to reimplemnt it in python. (dlehman) - Catch exceptions raised while finding old installations. (#981991) (dlehman) - Keep the dasd list in sync with the devicetree's device list. (#965694) (dlehman) - Don't save luks keys unless installer_mode flag is set. (#996118) (dlehman) - Pass mount options to resolveDevice in _parseOneLine (#950206) (vpodzime) - Fix handling of devices in detected installations in Blivet.copy. (dlehman) - Clean up detection of lvm raid. (dlehman) - Tag the first build of each version without the release. (dlehman) - Remove dangling code block from commit 737169b75af1. (dlehman)- Don't waste time looking for devices dependent on leaf devices. (dlehman) - Add some example code for creation of disk partitions. (dlehman) - Don't manipulate partition boot flags except in installer mode. (dlehman) - Add an example of DeviceFactory usage. (dlehman) - Cosmetic changes for the arch module (vpodzime) - No more sparc support (vpodzime) - Cleanup arch.py reredux (hamzy) - Allow explicit requests for extended partitions. (#891861) (dlehman) - Fix disklabel handling for multiple calls to processActions. (dlehman) - Add support for explicit start/end sectors in partition requests. (#881025) (dlehman) - Store current mount options in getActiveMounts. (#914898) (dlehman) - Lack of formatting does not preclude device resize. (dlehman) - Handle negative sizes correctly. (dlehman) - Fix handling of clearpart type linux in shouldClear. (dlehman) - Add some tests for clearpart and related functionality. (dlehman) - Update unit tests and add a make target to run them. (dlehman) - Don't pass dracut args for lvm thin pools. (dlehman) - Update the TODO list. (dlehman) - Fix a copy/paste error. (dlehman) - Remove transifex-client BuildRequires. (dlehman)- Raise XFS max size limit to 100TB. (sbueno+anaconda) - Add a device factory class for thinly-provisioned lvm. (dlehman) - Add support for automatic partitioning using lvm thin provisioning. (dlehman) - Add convenience methods related to lvm thin provisioning. (dlehman) - Add support for detection of lvm thinp setups. (dlehman) - Add classes for lvm thin pool and thin volume. (dlehman) - Add backend support for lvm thinp operations. (dlehman) - Fix return value of get_pv_space for size of 0. (dlehman) - Fix ksdata for lvm created in custom spoke based on autopart. (dlehman) - Only put max size in ksdata if partition is growable. (dlehman) - Allow subclasses to inherit ksdata classes. (dlehman)- Used Python type instead of variable name (#968122) (hamzy) - Fix detection of valid EFI system partition during autopart. (dlehman) - New version: 0.16 (bcl)- Install utilities for all devices -- not just those being used. (#964586) (dlehman) - Add a method to apply Blivet settings to ksdata. (dlehman) - Increase padding for md metadata in lvm factory. (#966795) (dlehman) - Move lvm-on-md into LVMFactory. (dlehman) - Switch to a minimum of four members for raid10. (#888879) (dlehman) - Update the TODO list. (dlehman) - Deactivate devices before hiding those on ignored disks. (#965213) (dlehman) - Allow udev queue to settle after writing zeros to disk. (#969182) (hamzy) - Run lsof when umount fails (bcl) - Run udev settle before umount (bcl)- Switch to the LGPLv2+. (dlehman) - Clear md arrays' sysfs path after deactivating them. (#954062) (dlehman) - Factories with existing containers use the container's disk set. (dlehman) - Don't set up a child factory if the container is set and exists. (dlehman) - Set a non-zero size for new btrfs subvols in an existing volume. (dlehman) - Open as many luks devs as possible with any given passphrase. (#965754) (dlehman) - Make sure container changes worked before applying device changes. (#965805) (dlehman) - Re-initialize platform in storageInitialize (#962104) (bcl) - Make a copy of devicetree._devices before using the append operator. (clumens) - Handle incomplete devices becoming complete on device rescan. (clumens) - Don't allow a device to be on the hidden list more than once. (clumens)- total_memory calculation needs to round up (#962231) (bcl) - The dev.node attribute for iscsi devices is not copyable (#962865). (clumens) - Wipe partitions before they are created (#950145) (bcl) - Pass ROOT_PATH as an argument instead of importing it. (clumens) - If no iscsi nodes are discovered, return an empty list instead of None. (clumens)- Make sure createBitmap is updated when level changes (#960271) (bcl) - Update biosboot error message (#960691) (bcl)- Fix a bug in renaming lvm lvs. (dlehman) - Add container size policies for unlimited growth and fixed size. (dlehman) - Remove device factory methods to change container name. (dlehman) - Override any default subvol when mounting main btrfs volume. (#921757) (dlehman) - Fix detection of multipath. (#955664) (dlehman) - When a btrfs subvol's name is changed, change its subvol argument too. (clumens) - Allow returning hidden disks from the getDeviceBy* methods, if asked. (clumens) - Fix fipvlan -f argument once more and for good (#836321) (rvykydal) - Remove the intf parameters from the iscsi class. (clumens) - Don't relly on /proc/mdstat when enumeraing RAID levels. (jsafrane) - Set product names in non-installer mode. (jsafrane) - Fixed checking status of MD RAID which was just deleted. (jsafrane) - Account for the fact that md's metadata usage is unpredictable. (dlehman) - Remove members from their containers before destroying them. (dlehman) - Make get_container work even if there are duplicate names. (dlehman) - LVMFactory with a container_raid_level means use LVMOnMDFactory. (dlehman) - Add a check for enough raid members after allocating partitions. (dlehman) - Make parent_factory an attribute of the DeviceFactory instance. (dlehman) - All container settings use container_ kwargs. (dlehman) - Add ability to find raid level of an lvm vg. (dlehman) - Always pass -f to wipefs since it lies about in-use devices. (#953329) (dlehman) - Fix a bug extended partition management. (#951765) (dlehman) - Don't return incomplete devices from getDeviceByFoo methods by default. (dlehman) - Don't traceback when degraded md raid arrays are present. (#953184) (dlehman)- Fix handling of isohybrid media. (#950510) (dlehman) - Fix getting dracut setup args from dasd.conf. (#950964) (dlehman)- Extended partitions containing logical partitions are not leaves. (#949912) (dlehman) - Remove devices in reverse order in Blivet.recursiveRemove. (#949912) (dlehman) - Rewrite the DeviceFactory classes. (dlehman) - Hook up error handling in installer-specific methods. (#948250) (dlehman) - Don't traceback if fcoe.startup is called without fcoe utils present. (dlehman) - Fix logic error that causes us to ignore disks in exclusiveDisks. (dlehman) - Slightly improve currentSize for btrfs volumes. (dlehman) - Simplify multipath handling. (dlehman) - Don't expect anaconda udev rules to be in use. (dlehman) - Drop requires for things only needed for OS installation. (dlehman) - New version: 0.9 (bcl) - Only install packages for devices and filesystems used by the OS. (dlehman) - Fix LVMLogicalVolumeDevice.maxSize. (dlehman) - Fix handling of name=None in newLV, newMDArray, newVG. (dlehman) - Allow calls to suggestDeviceName with only a prefix argument. (dlehman) - Move mdadm superblock size calculation into devicelibs.mdraid. (dlehman)- NTFS.minSize is supposed to be a property. (#924410) (dlehman) - Mount /run during install and fix /sys mount (#922988) (bcl) - Fix two excptions triggered by calls to copy_to_system. (hamzy)- Check for "ip=ibft" cmdline option, not for "ibft". (rvykydal) - run_program returns an int. (#920584) (dlehman) - Fix units for lvs output. (dlehman) - Don't pass an intf arg to ISCSI.stabilize. (#920041) (dlehman) - Add __version__ to blivet/__init__.py. (dlehman) - Only run info prog (eg: dumpe2fs) once per filesystem. (dlehman) - Processing of a PV with no VG metadata is easy. (dlehman) - Add some convenience properties for displaying DeviceAction info. (dlehman) - Ignore MTDs, as we do not have the tools to write to them (#916771). (clumens) - Include udev's list of symbolic links in StorageDevice. (#914724) (dlehman) - Set a DeviceFormat instance's type attribute to the requested type. (dlehman) - Allow size specs that do not include a 'b' or 'B'. (#888851) (dlehman) - Fix reference to 'factory' from within DeviceFactory class. (dlehman) - Fix problems detecting lvm and md devices. (#914730) (dlehman) - Allow passing size=None to device factories for unbounded growth. (dlehman) - Provide a way to set the default fstype for a Blivet instance. (#838145) (dlehman) - Allow changing the size of encrypted devices via DeviceFactory. (#913169) (dlehman) - Don't dump storage state except in installer mode. (dlehman) - Fix device resolution for btrfs. (dlehman) - Fix device resolution to find named md devices. (dlehman) - Account for active mounts in normal mode. (#914898) (dlehman) - Add an example script which lists all devices. (dlehman) - Add scripts/makeupdates script (bcl)- Merge branch 'master' of git+ssh://git.fedorahosted.org/git/blivet (bcl) - Bring in productName from pyanaconda in installer mode. (#913559) (dlehman)- parse buffer output from resize (#913141) (bcl) - prevent traceback when root device is not defined #rhbz883768 (sbueno+anaconda) - Move empty_disk to a top-level function, and rename. (clumens) - Add some high-level comments to DeviceFactory.configure_device. (dlehman) - Refactor DeviceFactory.set_container_members for clarity. (dlehman) - Rename the main blivet logger from "storage" to "blivet". (dlehman) - Use the blivet domain for translations. (dlehman) - Move DeviceFactory classes and related code into a new file. (dlehman) - New version: 0.5 (dlehman)- Add mountOnly to turnOnFilesystems (bcl) - Update lvm scanning to account for new ignored device handling. (dlehman) - Scan in all devices and then hide those that use ignored disks. (dlehman) - Adjust child counts correctly when unhiding a device. (dlehman) - Generate lvm config args each time they're needed/used. (dlehman) - Add ability to grab 70-anaconda.rules udev data directly. (dlehman) - Add support for active luks mappings at populate time. (dlehman) - Don't require nss, required only for escrow key support. (dlehman) - Update the TODO list. (dlehman) - Add missing constant DMI_CHASSIS_VENDOR. (dlehman) - Allow for multiple calls to DeviceTree.processActions. (#881023,#846573) (dlehman) - Use CGit snaphot URL for Source in specfile. (dlehman) - Streamline some logic in storageInitialize. (dlehman) - Don't re-add deleted or hidden devices during DeviceTree.populate. (dlehman) - Only run findExistingInstallations and start iscsi, &c in installer mode. (dlehman) - Do not change device status during populate in normal mode. (#817064) (dlehman) - Drop old code related to saving clearPartType from pre-f18. (dlehman) - check for skipping bootloader in doIt (bcl) - check for stage1 when not installing bootloader (#882065,#895232) (bcl) - explicitly detect iso9660 on a disk (#903158) (bcl) - Fix several problems in python-blivet.spec. (dlehman) - Remove #!/usr/bin/python from tsort.py (dlehman) - Update COPYING file. (dlehman) - Add a Requires for dmidecode on x86. (dlehman)- Use a two-part version number instead of three. (dlehman) - Rename the rpm package from blivet to python-blivet. (dlehman) - Move get_mount_device, get_mount_paths from pyanaconda.packaging to util. (dlehman) - Update the TODO list. (dlehman) - Carry over s390 exclusion of fcoe-utils from anaconda. (dlehman) - Enable translations via transifex. (dlehman)- Add Requires: iscsi-initiator-utils, fcoe-utils, device-mapper-multipath. (dlehman) - Use a threading lock to control program log output. (dlehman) - Fix reference to data to refer to ksdata in Blivet constructor. (dlehman) - Remove the loop around proc.communicate in util._run_program. (dlehman)- Updated source from final pre-split anaconda source. - Renamed pyanaconda.storage to blivet throughout. - Updated spec file to include runtime Requires.- Created package from anaconda storage module.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLafamarasastbgbnbnbscacscydadedeeleneseteufafifrfurguhehihrhuiaidiloisitjakakkknkolvmaimkmlmrmsnbnenlnsoorpaplptptrorusiskslsqsrsr@latinsvtatetgthtrukurzhzh1:3.6.0-8.el8  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKblivet.confblivet.serviceblivetdcom.redhat.Blivet0.serviceblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.moblivet.mo/etc/dbus-1/system.d//usr/lib/systemd/system//usr/libexec//usr/share/dbus-1/system-services//usr/share/locale/af/LC_MESSAGES//usr/share/locale/am/LC_MESSAGES//usr/share/locale/ar/LC_MESSAGES//usr/share/locale/as/LC_MESSAGES//usr/share/locale/ast/LC_MESSAGES//usr/share/locale/bg/LC_MESSAGES//usr/share/locale/bn/LC_MESSAGES//usr/share/locale/bn_IN/LC_MESSAGES//usr/share/locale/bs/LC_MESSAGES//usr/share/locale/ca/LC_MESSAGES//usr/share/locale/cs/LC_MESSAGES//usr/share/locale/cy/LC_MESSAGES//usr/share/locale/da/LC_MESSAGES//usr/share/locale/de/LC_MESSAGES//usr/share/locale/de_CH/LC_MESSAGES//usr/share/locale/el/LC_MESSAGES//usr/share/locale/en_GB/LC_MESSAGES//usr/share/locale/es/LC_MESSAGES//usr/share/locale/et/LC_MESSAGES//usr/share/locale/eu/LC_MESSAGES//usr/share/locale/fa/LC_MESSAGES//usr/share/locale/fi/LC_MESSAGES//usr/share/locale/fr/LC_MESSAGES//usr/share/locale/fur/LC_MESSAGES//usr/share/locale/gu/LC_MESSAGES//usr/share/locale/he/LC_MESSAGES//usr/share/locale/hi/LC_MESSAGES//usr/share/locale/hr/LC_MESSAGES//usr/share/locale/hu/LC_MESSAGES//usr/share/locale/ia/LC_MESSAGES//usr/share/locale/id/LC_MESSAGES//usr/share/locale/ilo/LC_MESSAGES//usr/share/locale/is/LC_MESSAGES//usr/share/locale/it/LC_MESSAGES//usr/share/locale/ja/LC_MESSAGES//usr/share/locale/ka/LC_MESSAGES//usr/share/locale/kk/LC_MESSAGES//usr/share/locale/kn/LC_MESSAGES//usr/share/locale/ko/LC_MESSAGES//usr/share/locale/lv/LC_MESSAGES//usr/share/locale/mai/LC_MESSAGES//usr/share/locale/mk/LC_MESSAGES//usr/share/locale/ml/LC_MESSAGES//usr/share/locale/mr/LC_MESSAGES//usr/share/locale/ms/LC_MESSAGES//usr/share/locale/nb/LC_MESSAGES//usr/share/locale/ne/LC_MESSAGES//usr/share/locale/nl/LC_MESSAGES//usr/share/locale/nso/LC_MESSAGES//usr/share/locale/or/LC_MESSAGES//usr/share/locale/pa/LC_MESSAGES//usr/share/locale/pl/LC_MESSAGES//usr/share/locale/pt/LC_MESSAGES//usr/share/locale/pt_BR/LC_MESSAGES//usr/share/locale/ro/LC_MESSAGES//usr/share/locale/ru/LC_MESSAGES//usr/share/locale/si/LC_MESSAGES//usr/share/locale/sk/LC_MESSAGES//usr/share/locale/sl/LC_MESSAGES//usr/share/locale/sq/LC_MESSAGES//usr/share/locale/sr/LC_MESSAGES//usr/share/locale/sr@latin/LC_MESSAGES//usr/share/locale/sv/LC_MESSAGES//usr/share/locale/ta/LC_MESSAGES//usr/share/locale/te/LC_MESSAGES//usr/share/locale/tg/LC_MESSAGES//usr/share/locale/th/LC_MESSAGES//usr/share/locale/tr/LC_MESSAGES//usr/share/locale/uk/LC_MESSAGES//usr/share/locale/ur/LC_MESSAGES//usr/share/locale/zh_CN/LC_MESSAGES//usr/share/locale/zh_TW/LC_MESSAGES/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2noarch-redhat-linux-gnuXML 1.0 document, ASCII textASCII textPython script, ASCII text executableRutf-820445744988419532d1ce10b5e1fe5f22c5e5ce7a89708c6e7b168e4c7912a62?7zXZ !#,嚷] b2u Q{LUOqt-GN5o#+H;(|$b) fV2xsl=qe:>71+{W߁@`|A 'wQ%Bqkw5 Z! hwd4zzNV-*1>,^(4n8|ߞF)d$2p?1;WE.٢%.Qt,qSԞ !ڇ" i\WyCMi4'v1ũZ2g^dDKEߊɺqɜJLxKUm*#4ҭހ*r'?`Rl{ *5+{`T#D.'*'%$ <=8I0xA|*!W-OP'Az(Ji7,@;|v圡t&X=u)uIi4/)ƪ/Qo eӑ tY~u#R\edkPvROṽZ3J鲛i Y#xEZDvGA{2<=H̀ةJE@ yK+*_R=Zh^SG{Y1ԫӰkrnfds/!]&jdd"ù=SD ;(kv1Rec\+,|+u{7[|toYfN_VTaKM3^)92p]F2iBi I΁:V3ƀ}=m)=o}MCw:ĝ<D=(! z\\cG!N}sN^a$Z<+R;E&Q-f݊?#kvSW=9qq\ 5(WeXw${ݽm#N=@?+Dg`#`藃9ˏÑ 3hY:4SMaY s8=jgzvnbCaCAQ>yjzu@혜,DǛ&w'6HIF}[gޕr vEzwH“Tb7#$do"dP/P[X1)Dž7EW<S̷b@8?|%7w=YcD &{PoV*"G,'7iI3v o+vyT U_{&TPEyrtSHO4_UzLX)44v&[=MX; A/cN$)bFB ¯a>8J4*V֗i Ҭ׉Q#櫎XHMqWJ/Z{~5HpAlgp#>k2mbsz'0d(`W߈])Ra4:(2e >OV|nhEl!mZko6-Bɛa=xκQ ִitw#C;8WhZWa}z"bL!<\@_3 Ccx/ǍG(-#ߎ$y?􉽣l0}X.5  )o{o ?;q i"0{S+נ4T"0L:ɰSGqMD !T4g} _\6l`*B#9$}_~;!aq:<.`Q:$i'mtdwF "Q.m*~ 6kGe٭ =İCغ_$7wVJ*_y1n? ==])n~nÝi灪ʉJW猟اiP,2*N4ciVWvF=R*T9Ft]צȼ@%L"t[jBZM2x9KDvɼ،{}0V Y&y8[' Żq$qRPq8 I[_BOj!d;s# _gy_E-ΜsN (zW(`ZEwf+~|}~uV!(>s}ϵM vT9RɍƦJj_7Gբ(ˢvW)i9Nib{kf>ι ꡖX8)Ă=R Qۂ&}*6'ҮgnIp:a-ZScwUDVbxO:6<8pxQl?4z{ц Ρ4:ao##sܓJ6ы)=m(n[&{y+MzX(`d7;[i5gwv滎WQ(7Qtd 8h3 p2ŔU=eD8|m?w iq@*&EiX!xt~OnO{uNΐq7)/E/$sg$tDm=,O G8A>j}44:>1#rt'Q]g ;sM#T4'=߅pQJ$:jA퐼PDxg؝y~be*C-4S{xaKC2$ށHAUj"CRtڈBB9  $/a5d೑NZIyl눐@ m/6X칧'v$Du-` vNݹGS\8*H,&^hi7UjvYfn^j*d9mg$LRCf\x4)ZXuR XFi&I ,ChFW1S_P]ѥփ} /\b[c~!dHDKPLxZ*N\}?m(s>渟Vgfoi%*{)-ߪeESgn; CI L [6aZp.4?޿֛&ЫߎWj3]YVDZS!"j|#vI.)sD'[IE2:>1҈ai:xNUNnغltc7)s.;*,}:aO hVBFPa!"s$EcN@_,}q'm|CBj2_kCGMn3rWM8aWWb?K֞q|ׅ;O-8~{LY&vQ?ϋ]p<4GJ取Z}}n}> [qNkԘ0RA"pl(.t%ҷ8$)p $[/4$>E0i9yQ7梃nï<0 si9Rߦo5/';:r"Pw+$& Bxqa**=*]P2pe ZE뾛&fp`$rL%JTsez4IGC&[ 1-F>oR NT<[=*b)[~+aB.]101in+7Sۖȣ s="MT-UTǡb4|4=c&y^3jo"HaAqPB& $-jUcH]dNЍm# )-0&;P;,_x@k<oo/k.50lә-}D289JVXSl1xNڿfۧpч}ԔskGMsSc JɣEnm{6,a pkL"5yn?עK~!-'R =GC|; hwnLH{b{ݐ*Ap:{ffE؜=ƞ,lx›mr a.ϣΔMTsFڀ^Z /ɼI(%U^[0 p`H  /W IBacBNT#Y0-&YIT[H2NSJ՗)˪~y+`/ǩIhoGw ^?lcsH6kS~=J2cz.cɺݽCu?I)̫a}Gb; ]AATu|Gޱl.ױj_7"-JĘzMyj۷/ zf{ЌSd[!4~S,Igqtv(1ʴYvE$PD]|v_US.ٞryzW J()__fX#) 'v{יE/r$ yg !atkO4 6{5y=0N0xK^P̔Ǣ:;(FTb%%Zvq]gW5*Q Jwj+)x6agOP`(QЪu-%"~+rsmIl)Xi2S[( JrшrqɀJB "ΒOJ~!.63a>1 -@G',JFSS9AyTG ct4fP<ɠoԽy8؅nAoɢGڙsxSh4G5[0܌ai_ߩn)VvV2{8G:FDR>p|FWX!2p:&wSʼȔx;Kܬqز˒jrcHL1Ȓa|g@R f4Tzw]ƅ@NU# mpVYK "H6(o\#C+\&zhu2uL\F6@sEd-EAms h3Dm/voz˱_`I…^z xf,lPg.F.Iy#&0Og W5Ũ'/BM`SgOVpu k<)$OʝX֟ams\S~ҏ< sV䳉S ,QN:pb 6wTcٷ'Mm(E%Crt~U&-qo5J~"9ßDߛW<4Z 3&驨qFJr fvI.MռI!sjJ5E:Fؗ'1~hlFS*ۙspa7Y!u=*w^Ni8u˶d`a'.PcڑNP/r5!A2ø%PB06" OCg0:mn s Ϸ+ 't !9{ۮ 9j5$P).cizt3.x}}nxxAM0Z씀Kq"KGN *x;y֒sb))DZcx^;e ľPީ@Z.Of7c&öα_6"Fv(¿ k^_%ZkLVߴ12 fDg-ist1Z7+6jtfNq ݋&7@bampȹ\kQmzuA{O=:}ylʗU.Flb*0\=)lG-"IUHK~2EUhq4"kjjxSlO(D:~a/DZ +W>I{O*t9@'JM;,?2e:*-lUr9R6b }3 Zeڞ4$" #X{bA@᝼=X"DT;!W]@CFA0DNuf_Om(gp8_g"]!`X@7W1g+qbu/.ͻt཈ßY$,閉7x@<Һf5υc+:PEz :YSD2gA"P=I VGRG륗*HKq+bJ剧N2-n]p[,g]ڊLSЕXABHrIH6{ A\ܰaTGWMsϥ6!i+6еG7Jk 9N .1v9 Mri3Yc@ 6cK{V, U|edt(Vj'apج'\h$g&G2}[jvr7cܩTCx}bM c9HrFO#dz?AҁuWރcx+nCEMV_QR, C~=IP?Jn+=0ccs8-[,}jB$/@?76 +d^%qOS׀TBrPwmVόhܯ-=s'}!2;O+So1͔tf El4n#PZwL;mDE)'BW58ld3pLBf"!Kfv*ϹsxSn/ J[m=O|R0󻭊QHH掻cJz7nzw>Mw9‰ 4HCR>6hʊCY4tKXrO~ X"_I^_^5ҳWGAVٙhy%^al`ato\!Moޖu" zژ`XcJ-KW 1m-z[xAt`t[chC7A:QH~I,=׆ӿc,3O(9> df U׻2!wx'^ Us"iupL+@:ύs'j`h>`ŗR|k/!Cj4+Jnh}5nw7W,͏ )H'f1jcI-I4|+ 5-bX`m *v`G߀C\6)nzx/,lAc ^\V2#wWlGU^fBw5'%i]F\Y'k0|tX >ԲZʖ` o+<ē&H"*ajA}c62̐TV)xD.X#w-w=kC/2o/ .FR'+s F-6!jc25$)ƀ 5樓0sF[FY+bvs+#Va4#u%W# (^t%G8bn ˀm@S$ڐֵDFfe|wK8Iaг֪; Qdi,<-[blVw4 -Rpaۖ ĨĂ6PD6bN@W[s QgRp( v}EByo͕(\1BZcs|Oe0^ɥ'xm!H)C*TJ2h|WR<P&/qOC []i1i$^Jb ZHn|L f@6{L;D]݆cbv5/S8&|B3r`?p;Jcc7i.&}IIlG}DYwl6&ۏo ތ[$f2d=0RY/NE2EctLxmPw-Xt7F®]=J@b'^X:SU&B][7ͱAQ`u|GZ|#q"TVU;nCVx\ 1U~O5CT=ϡz-[Q!\pJ[F{RE`n 2JPʄs]o }W9TK mP=[KЗ*Մ Qvjƪη?ĥ3;b(umD\;\3b0JAo =Uw$o}YZ;A8їa~!˷`ҢU VH3}hl$ :Gф@H-k"3xTO"Hk`xbjK@'^}7lv}`fK3T{}qo?F q7,z˥ɼ'AN"Q@C\F/T/ •>k&sCi'%tOf}P^ Zb,t("i;S3GCh玝 x :>zfE:/X~Hi|TTP 8 ;Dl - i>hkztFw2x'%7,.ӟ?:YR:auShJ2P_wn=kYp kZTH˜ Iai2 ֍IwrJfi |zH: ԊpY؟1gݛ ;[E/ n#@A3?qF҈4ZAYtL=Nul흚Y'`j$ fiJ1q?78U@pΨ s+q>c G]7yC8 CXWztw[`6FN3hdԐӡ'!ajS$c.ֿ:~q?Fk\W&mZCL1.n5rjtV^4&qw-ͳ?Ww_1Ng)ZɊ=߆[yn bJ&0?Zgwh1?C y3@I Lqu]Cz\>Z)Kr @A,~PC?H|2\j1[%=s?Ա2xڡ1#IQZ:EPҏ?VBhGn!mfX{/Q"l+deŷ"P9<3[g.e~α0sPɝPb L} :3ٲ x5}Vv^GSm[|*BYyk yހ.|{ݏco" ;'z9Xnx|Jܾ?x]QW݆ݧz"/E L.!"oA6{dZ v`6!дxGr.6fG2u.3q;"-P9r nn~Tc̫گ(ܡ:A1 }j[I3h^8,b@%Fsf<9o7T@9 ໢:%AQZG-TiB"^X]PTK.Jc>hR z*wTؗiny-jyBtKG[{ Hvy6<ǝ!dW@puyNKYZTq#oP@ 98!ek@I>;w_aY-NX*I"yefd\s4` p``G1726/FުCRf[GrGwZ3 hP5wڱSC٬F_lZ:9qc98|9WXAR>ުq b$HOf 8{2،*eīuDYwn' 1 -):>6aٯLxBfțQh+Ppy9xr-p !1}1!n^nwJӜ&TS7P4VȞ>dT~L ML3Xe]L?<$H1LvN|_=RkHYY-\X#e7Zv1j^x,YY7Kct=e_rh8)͂K£=P#>z"d)5J*[ ft` ] [nzZ N5Z azPhέ.Mqvw\%UUW|,nbCcaZoZP_8new4Ky:^ЂOUP_WciAiGTG6.~ xuK_d&Nxjm왈VԉsmYL Z+*L \BovWÖUDIB5#_ w!/^oX;jRn&n\`1ts=Łgx X~Qx( Au:7~ [$dom#E|ّ[LT%e{.Эw2d,)Ob;=jrG_QDd[?KXe0+vM2So'; ńĸMf/ֈb-2/j5EVӦJ {|u$#47iש75W_2t}wn_?`0j{Q뽽f|&8 gb_9WPG7?V 0 KCdkfN\$i@=d뜵zɿWHyα=wlϾ@W=-9JXBK,@>HZ99V{$]>sjS}28+:6V].)"2?;/Cbi@AVƍS۪u`Iu_ >=6ZnSw05}ɉ\, M>Ojd*sCLJ3ȷЖ5tpLX׏n4ԍC GXl;+/r37iXM~`4 %(6,X2:7Ԁ{O/1 OL raЃ50.d6BwM:$^%佬м#E@Eir>wmM˙d@u@.db$D8źJr3DxEkk{EP΅.xtɾCN*-3 A/=X6XQ]b\Ksmݏrs%GkLaI5?x|Q3iv.e3/}Y v씕 $?0=Z-d?u{@̏\Qtlph\ḏœyW\hwSSЪzh|X䤁$q[bTGm ~T>0 㐮&G|]|ԝCMa5+eQVo4cm-ѝa.S:*&M[(\wk/t2+|H3X\7[ĩy՞`%IFL7aB´B#"F`ݸgg@$M䰜CaGҌd~?$fnљT0SZ4g92݈Mk:66{2{ H>0thg}-ߕ!+աhIp]_ڮG%-IW}]LŴ$fmy "[]PL' ~p׷Q^;K>>yi$;8kB{0|{!@Z"A, HU5藁wlmJ(w1v}NXMKI=)|昩왇5F7AF9`bmݹRŽQ1]dGjn17*xA/ꅨ;M:=(ռ$bM5$xQUms Xk''ZHQn ݠ*q,-*-+!bJAz^fs3sf o8W=. =U+<d*y[vNKB/<;C\>lX bFf4>Cv 7,-܇%WN͞t6[ء)3з%=85/*tB}JZŧU+e_}A0Z-t\-Mu.'p"4Yg i*ג8bEؿ ~SY{ c&P4n2vϫߨ`Cۺ\BZVgU#wØ=Yww@a7#-?}?O%4:+l &[ͅgk[XVRY> oB:l,E?/Y4Qmh%j?-^g .ZD!)sbCF࿷Y;dm$ 3󣀠v˜S'Qģ&z:)E*kigu5A"D] 3XS!R܃Dҹ!;rF4}+0 .%W:̘DC~o 7ma6u~ZVH۬CŵAf`p^Lc$XtDj7i3E#ĝDw2ͷ2Fys' Nˊ~"EBsXHdg,, y[j+jЬWbD3sXR^+`%2!NT= 2[0YNX#lDB?ƏKE@uHCfYiPETx ,XFhDt"ԛxan 82Çl9 =ET UGvuM> k+'}XXYaP||Rx# cMEė1E3̈0gWnxb7^JCoUHN @c tnԦ̕e!TPI خU,?e]Nܗ0Т1`W(ɤȧ2oI5=vO2 {nE!}H>C>H-c\| mqҦ}7́+3^>e?vQqUf n/mVD5*彳^ݗőܼ`{HeCY Q٘itii|gXY*Yמ舧rfەbCJ[{lѭyO8E:jD;9G&7ib=_H)I7Qy yD1i߉ %#3T35{vϢ!vH )rBYq5ӜN=H ^>q MrD,5K?xjoQ0]i޺81Wn;ʨdd \\~Sʞnʹ\Mqm( ˲3< FGq z)DJeǝԤAOgk"2Ur>׋X<|ae2-d) ʬh?&Ub;ynXF*_dQ0 /h%ɺe8#WT Y(A_QS1Pd('{85# Z[R@Qɢ:]hlLnhэ"`]nUk#j0 aG^ T>ӪC5Kh3U5tkX66bfѕ >WH70nx(\SڤԪ_eY!5PrI[?/-DIㄿ3bc9O+d]P~{ij\yE'|b?f\rBb!k%G=;;"mzz*n(}X6O:I<3I9A9wWA2qL~*̴>#Wz]J/h<# \v[ Q&*F 03]mW>.mn ²^Q|/b^E=p-6Dhe2ʪ=ѓ2/mDeo$UheZ0ճqPTǂ$ m{Rཏ$hqa *{)~ Z#1= Cc "~zؘ&UC>`j#)⸔s=8o$c!i4,WL(%:6V:U<^i$B|#\. |yqOlH%B5Uox26k@I=H_o4N)=y Ak>xNtG2=(!4aL/y{+)2(矋Ek8gIF' ޛ*UIA{`DB|-nw~` ҫ,r~^j#\:ԭv$ >eKOGh0j޺AnRz{G?c2f'ia-pz$"m9Wo 4UQ^0zK q̚Wl0˪F< nP.fJ2G4֋Y Kˢm((fş&~EFE]4K{+>B ]i>Zb ~3LZɄ]ASTxlϵC`Aw0]c(+ UI{> ݚt[i 8YOU\a6uסꢴ:)|"|dԟz럻ܐ `s6C⺦u0;bX*z0>Bl{IQ5j4LnW쓩XtZwn;meJ+;JNidfNu#j 'neuO%d0MV<7 =Yc.;1«cH,1|ziNF%̰ohC(9]ۉҫkad J ЀEmepF%eVqR$CyraI?'&ArO8 U4?3E _f_T{2,d͉ 8ehc# d)mmVAωn$ԥO"o|W۫@:mgGSD̃y 7_T mm%YV c{]UL*%b͡iMQxn v{XQH}ŝN8# {lq94ixO} !CmC4=D%;&mev\i)z**nr^q~gɺM|Bߩ<X?DfGjtbn4DoFU) åq-TDD@r[<'B& 国 Gő2FƉ?cV.SAͧ.cF>kJH?쥰Q~Ƹg]Tsf_6Փ|%xMW[)_{r#}zA Qvv:nJo/w3(d +ͻ MMSii_[Y.$SA52ּnņNQ2(0 >,:T"2󚨤{0V@$J|>{8a"aq/=xU>*$u4p쭼oxl(_%!JΩ; FT:R˔P==}Z510̔ d# PW!wAa]0ᡠbgkф^$٦rp^xkhJ_Nʎ9Rjfkm&Z/ܗcٍ-aOaMwb4oQ >Utpd_(_Lڠ? ū0 6k>c:.rd3!*kȔoM|NPe ." -A$#EHj5DBK$%?(n_gB|[M|W[s|b0)d!jn^W|k- ~ՑC񟇹= V+*m,^`:ߢtƟSZݿ&L`7ZΤhâ͖oO闎߻PygH[v_=UA-w|M*y^0ι^yyG8!s"E`MzN|ɻI/j^>ճFAl4!hK3IZ⬧1& ڼ0Ã:W1]~֎{:j#s1P*8I L 9ꋃ PI&!A[: eR D&v)=&b`3QMv$1aǡf|B}`ɯFUge?laq%QQRBg#¾F3@s`QUg؞A$S =M\| 2PJTsI~>0B A-ǛoF*Ȁ_Kss%>6 (6X.kytaTY%=ҋ"=rD*HR@L2.pbvH?G䇟mz(Ԁ[PQk3FA=(9{{ª ny0k!1gnSYkYd9g'O¡Z~i?+d˶kNQ8NhafwÏ[1aot7 UU&Wŭ+Yjqh>-7 Hawu:7~2r!#8R4ly"nfFIC+_'9ƻ mZKooO˫a!M$5[F$.;ǰR;ebpFG8PxD+?tő@L/y#~/q83M~o}!(FW"7mƴS0WeY`"lB9®@]vN&י1~\;! 8QsҽߚCoY5 8zȚRp4+}_wp Vî-(&d)awxAxEŲ>W-8OnNK>*!P|woIi-SJpΔ7!(_V&iZc*3Gt77;2EӖr oGn5vf~WEAg3y|V^%mbzҩGms䂳` #.~ `aUUL_ㅚٌ[\7ukq:egK55:enJw~Q)gqˀW~B,mRǭp]ZO_z<*ڣÈE %D$0{ uXnGFb%Q3LuٶJ &xmK~݂1'q+uY홮LNDeh^Ql' ŶCMSj0'O ݥt pbXY[!-?QxUvŌ>Jڂc̛_lS_{}n [4epP\VDC<S:t|ʄ髎- { G5Q4ל͏ī~&YN:mrkSJ֓%UZBw(N1(LY'{f?q$>q~cϴ8's`X9TWAxqS= V?ق.x&cE˚FǿZtW@-)7E}/e-v pS:M6Km4$qO3d.<,8x9x5X8C;o3N!OB+B#=cX:Pb 7XO~Uj"[-o>T1 ^&AQ@΍>ѵCavZ5iɎOuo%K_%}& iz3- `; ~2{>P0_AEؗI>]VR Nu@oWϖ㐔6uxQ&CFӺ9g]$~N.pEQF lz3:@nВhcA$ I1+V3]՜k}Bcud#C Wu%a7y -{Ȓ.O "&dɏCYp=,|7G$bH09(;e R^5Zݖnn='Xa(&isXƘXG HS"U<"uK&S]Õ=8nHew/P pNlKJO,>U&pd;r5"Ff:^aM ZJ})y&̘NxzqXAsphP~Lb*X}*:"a;aGiD"o(Ԗ|:y+*Iv>5wtd Ʒ+:lu>Sa;Zv ??CAj,h nz,ĠnG(D\©Xt ҳ{]x|f6QޙOa"qNj,FBKsVpG nVWBοgGc̢*؈kBl'以C~rJv"'DPz-MTϢ|u͗̓R/nk\ܧnV 9Si \W$c,z),W8jz& G,ВSW_ zs4$eԞ2ậҿMr̈́`I-FϊtxI^˜!]'1 "ճasffo &=Z~an#<<s7X [f0$S=ޣ–jdN<&Gw*2EEgNȆ(0ȕ[(P?=!(⇙r*&$E`ɾR|M.~S/Ä^i|tQ8kqhtg6ת~Ye)]sLU4eJ@!UG%;Rhƪ-+[YMP%Xh:m:aJgYKhps!i +Dx$\Nb42]K|-ׄz!`q~&@n|}Dv*Qr<|4HZ?.<[pKe,HBw]oGW yPTq^C/.- #h$bO\1.9|'D-uWvPf&~ ! *P^`9.{H*Pgi @W~oﵠr#߫ ט(eCT.Alj 4Cwd#rk>BdioYŻ7 Ь8N 99X(0E H4+'];&f՟TCJ;ӈݧJ)S_ M񲘆]>P`.tGUjq k}4֥p!a@ubU$Ͽ׭Yҭ} Yg۫2czm߅EAzu2V q]HB;qc 5b½oznN]-]e\/籠i{l?P,}o? B>k54Epo{-n/n0>RYJ˚Zfݯ_.B’3$rXd%sΫ^?9@"/@j9jV=| O]J@_fnOeiad\ftp--ϏrkܤljD9.9ifӺK` T;hɝFSR|{70?Z𨠡t2h"RE t 't46Vޟfʇ[. M 뺾DvP66} [4(V@7~QhcQM1ħiȠ+"*=pƙ`(OMyLOމhq). a3?RUͧCHq0]ȀLMk.S4 mN֯Dd鲑EB*ZĿ8>R/DDf-@h :Rús;h~(̿y {V1ѧFpZK=$#HY8A6-{aL}ԁR3 zk)ןOCPEFaa[~IL @/Aq#I?|d7Od* J , HF/+q=/ߑb/?+ɕ.Cdu;g:%6Kh"H O TPhTY솕zHIAmO%(v<#Tu Tر]֊VSVV㍎SF E֝:%]E@aZzv? J&]_9ȁEC3g~,z,&J޴BDZGWN^I$U ׷ OBa `Z J{? Z 𛩝YfZ]-p}ISL3:%B:M,6O!IĔ6GCVRӍ98~;:T=3&4>[PWwC$@o9[cW{feG|1nt HmY~4\XNY餶Ps-iP\gh\Ƴ`T&[0Xb +hV4l3yq򎍚A9ޗZ@d ̫Ҧ" >fOpgU봨%ccS+rt{[8䈊Ce "`/u !1W_AwJfYR䝫@VRݶsnb5G}0phrϢB~dk}@i'Nvb!MpqbB >߹cid~6P "wKyQ@KInTNӥH {P>rFe)Ue*qLՈ퓤R&ڜE{1:-`l]WãbC3۟ʼ%׋'bV_d#[z"b筘$J8Vgk|I:#Ur`vVņUe%۩%S^~$fg@|gAҙ]etq^ @9X1%o)|aR,J98:[~/"$$bnI3NLv/Ѷz'V hAhNnKRIBwO*v(Pʩ̨SNxc}A01h$b8b^ p&Mt)6}&5eLFN*!_i `,HjL$.nQpxn5@ X<wYB'9h:#|9a9i ?6>GZC-"qGܳ72.HKOck:I-dQӯޞrssM1k)hC ԗ&2q=qӆ/w/u ^"2xzo_nplxAցVvAY+F!^HZ /,@ 6J%GˀQIhyd9ZǤ#:>Gw^.[g$?ȷ؍GO>[kڃ,]0Ƒ4%!?r 务 =2Д(!$y6(&k"x[6!X9Jӗ%} *cy.4r׷wĨn9-bREfr|Z>DBX,ɐuk# ^9ؔYO ol"5v70a\'k-]?FQ5 @nKE,ei0^dm,L Ր&w᪘&bمf6mjtw${P*vL;C׿CfLcH8MQg؝TtWѩ7cpL: 8<-o&2/ A'WtM|. Hdu;g {]39HL:Y*&p! hb!kx}_73#jrSz0A*=2^V9_:x/{zgq(&˩gr*ɦ/[)@,Xxm6J^65epp3G6۝aPJUb3C7C&EK TD*=N6{R|!>L0R{q23#34 Ԇ,/ s*eu/MZ賣8n8n!P㤿JEh 6aϴ#dX(˹je^Ek?K6eDV c:mG=<Ǐ.T)8OWZ4l֑cM|cwLh;$s1:%tg=}˥%,+k_>͒U\~p/yA:w;0 莶 ġ |,TCxG{dL2ÕFBN6\1ZzcO2H@t-^Te0BXY5r6kݹßuLő%k!|,¬x1d1Nd.m!NZ߅_z>=k&D=ּZwG}Ko`m#Bq?;&g +ZS6|2 \v+j g7Ȧ~DRPPʼb&/R-i ;!1Ry4lw괡 0nrҟJ]bwt|͡j1R9uN᳭$<#KSG^)9cdzqCtdzp&'f|V ދL?騼. 6s+"\.9DڧHPԩ& hHL{t=d {rcͲ`g|9׮]>@1W28H`/\b%<;Y7jҡ :.mE7A2D634$E 0/c50a*<âS;Wٙvqsg"=iq3Ė{:rNlr'V*\-P.&p=cS (y74>5U[P yH5O,=t :$7ǥ~9lr5ivk_uXJW٨c khePAчհ+Ñ?r6tA^` wWxǼ/ gK4A ,|yL}Blx(ڥmu|._#jUeVT j^\Z%JV*)&L({^5ua%n ?t@ |-;.K͇NC2/8W0TԟXB)K1~rxW4qjr?Tiׁ̧e%d,ڏ5Je2,+.E3J.Σ",XV_%ߌJ5 'SƝ=i>Jkn/tv, 9&|) n#T߅1RۙՏxH \{ Uɧ&+3e-j7-Gqgq닯'@'뿦FQ!iL`Bx8r-Q@Lڨ.f 12r@PYt|_ٞ5dg},ȰNJC/2 &r|@OvvbswNMF2wZx?:-7>st+ OÚ=덭~%y }-pl$D9 F#="6ĒxH:&KҐ`\JaW V/9j&`hҳ0/t5CuWg#AA/ڒAyH SV:9(a>VśMP@reR mI'1\;?8//bx*) 9 l8~t㭯znLso} tr&\"zbQв {0d)W&K,_I)u.N84mh*EKpV]W&εOqE *Yf!)2v+63y? q_\J)IS~0 hg@rKcL!y+ML DBE,Ƕ2x| ;|bh:;'sRLxk?+Yɔx:?‰SM6<4ׁ^9&|GQ2@qPV~u+tvfu1Zo, B ]U IXV JPfC2$cR@@BJ/ 0qp= eoɷfdꚒB JOTe~xᨪq)MB܊*zVߒ^Km@~[2r:a-mzd eZl\.hVsUoEØ0d 2r6^ŒdPUߔ?9Qrxa>gƖ#U)$XYg_ɩ=lH.I<k{2?rA$; F>v3G_eϜx Vg:[(Mvp ,Ȧ̲VG:UqdB3wOCUm)Œ)R쒲a#_BF:Wpiu:xځ(m 2/~)B[d=hu>O̥&+`>y{e«:g)_ MN!]I6_={c%Pѭ;=i/uڊR**3=X*A$f U?\?#(ytKm{*x&Fj2]Ay8GP>F;vhzn,_$p,:SbAr%DZk{N,^a~kQ "1ylS`lj؃~ck罽CIb7tZlKů Y,^K)@lfρeN V_/1;T4wtP)^1V7cתH(vCayPY qT3e`q >B{?EUK4 ̓ֆq|Wi1^TF Q6$4K)a_- ~3=t!QQ ŶB͈A%]1Vmg$%i:)\!xR/վ5&XHY*l\5)``7ֵq͏N)'s`ǹWºwSzo섍sׇ 'wqT^V!;D= @s9(\ &e6l{Q< lbxw(=j{헰lmU*{8;%?H\00%4M#ҙe5E{tU ɏpSG }S1.߷G.`̥iY*3S1WDǶds[sJ_RS vw\ F,ӓNql{'ߍ߽c/3 -zum&Fu{ٹ YѾk`Qbgd.m~;Vmd^`l~Rn$-*ȏͫq0ؿAbO,&V4XyeBbWDݑzO}c~k²'dnaB6dE1fWy\TU~Qd(sW#.ƘOBXGmsm'NbE6|ד+Xujk*GDKk5T(ikH{O{^&ik>s]ud 3rRZo`2,N2jki7E Ge"1xWVtQ~)\7C6Sڝ5"\1.9nvft u\ČU=hʗ^qnK}oV_h!ON=Oxjr:&xDYQ91)Wd,w@{0{/CU$эOWIh>]V[2P3xprm\lSMŞED7]4}\'V?جE8Ci0H⴬`cUWlXWl$YZ]KSiu?Yz;'b H"|QV\}dE'K1 V[ť,oUhwfg܄[;Z|xJ!Pw,jJ3w g|o7 3rI52/GҨR!K\W=.cAQN f`7mf|}98OMr_9C$W=A^'Ȟ]+Тl g =@v\9 `bA#GsMd/.XNN]>IF'3b|񊡥@#=^PĤak~^[f:ېU7qTW~ 6= ͹աMwFۀ||K N="I>xh#:"V\΢,9- =cwĦXO]=q僧i$/(j֯{K34Di@; $dxݓK~: ԍ} 8G(" u'UHΙEˍD}u.BS֜o5]اDTSqoڡChRHVAy%xIY³v=ML =%_Y-[ՓYIY'TYKCEwe_#lp&CdK~ܸJ\Zu_ PԿ[֋T92{œ[)l Ƒ,iȑ&Oˌ؝ڲ$]J,lć֭{Uf΄S!Ѩhw[d~\L:C(@H/:9U !XfVZWw((r$\+K >BJm+UonL -ؖGG3Oh/X\4F >8AFy2 S&[5-{e1щ`5Cg(XA͕wIx~ReW̨)q(:fBncs}>}wL2H[?fs4 {VnD lЦ=(05p- j򋌬A(g?F" ΰ4ZFqe-wa| '- KްE߯Yya蛻8z>ק8~1 ՇJ Yu`F̎"u Uf}W?\ivԴӢ ~욌h4V6NcxbյFpvs2=v;  v@Lk֓tųxP7c-\3G\$p|O\ ak v)tB*[- -+>VW6HkkZ(C![UӣT^Ή|Nq]z!`bZB'ceZi ̬89\": y6N%r—5ݒ+q=EM c,dm-z@'.,+eb 2K6|wyptw&8Y Ҳݰ?EZ,s4}4$ Tm#@WEZ:aO'U"tۿj{({]F])&_@?Ŗ6?zŧBzQǹ$Cerd8$j׀#@yw{Bo7YoI/"6-uB\֧U` 8w _=w|~}0 Yf*G'<M+stg`,Xf0SG] .'Qax`=D%lajoŠX&gglR 'nRϯoZ{6%^<9 &q-wǐ$(O[ AĆaBJn"E5\+ vy*M-}gp[_ڷ1!vSoZ?Gp>S;u * ѓf (8& n^j-H'!]U7 6X ,Q{ArsY o[|_A Vf B8";3Iw~i]ja4Ճ,.*Nst˻86g TڿB;竇s> 3R:ULRX. _3U kyc릧=lUU 6c@qWA?( Ň6~g mqw%(~Fڤ? Oc}sdXȟJKg}Xd9IJ*j|I\hl)׫m$^^t,1#5=o渢P3dM`5ڌA ZҡN64x>#gM|H#Esf\ !*#([!((jPvs.~~0L !lI]jE'uQwm+5\\lrQ$7dҋE|-!t+[j!5:ǗE[a0`v%Q9=}egvN)GUxJU vzP_EOeYm@~b?b ז0i[g){N5,i'"UnkjcEjOşi&Ȁ٨&:]WU kdЕND|n<&Ǐ8* dj(c_ w_ΉG(n}3/W63ĎEDX lfC, zkx.i;9Ƿx5MJG(Mܘ}p2aNnKJخ€T;TH8(ͤI]:[Ģˋ׌8X֟!JM'B=E.) FOe r,3b!maЎfWt j$:FAxo* EPgf<' wkO8.3ܺ'ѻCsE]mv)=TP1V9^WL(u3QiZ ӎd5#S8慶x8 Qup~FH>E)JNx k-"?JִyM`pB5 6A Uswx%O7)kL)U=¥>'@Y!mr66ZҕjZD{W{L۵wpP˄Cr'_~\סN3'jPK#q_Jh\p5;dW[7"܌5++赪l4ecZH h7pl8넫glM믻I"iZf"LBx4&ELE{v$O <ߜ=1Eb:m 8-6DwTدWJY4V9;LXvYd4pjbzQ+#GH|L; *uU_y.>Q>S+3T _ڔcgRm2kX%׊>ݲ8r?ۣ%D*N?9_brCD߾ŃZ ,aŧhR7`/r=\*r#AL!}u*gr eioF䃹2R.N^C󩫤 "d)a2Uƾx2(ဘ6($^\ Ҋuȅj$_!X!]ϊʂR rkg2KFh|Z@<,gcx zn{m8y(rLBVbRW'=u|AUfI5i [0ŧYjp6hgCSg^.`GeQo> >C;~An{-TխVFj9fIYYB 8]YF.[&*UBV(}oENA.Mƶ$OpmMCk)fE~gG {& /]tXSHM3{5Dѭv< ɋ5p]kGKf¾'9s *U*+I*HY4umSm+$_y~yb>5pm'_iHRJll(btm `Xب\-{KZb{J~ȯ9pL z+8=]zCF;=a59Mx\čԴ$]b%BESIf YZiW_6We?b5 ˛ngWQu8ht-ԁ P;Z` s%}G3L^ w< )`+ H a'a Vୗ {*]3(Y#wZXGĥʮ|m ƎMζ/ZXGp`bb&ctS}0د^Ec{Fu ׁVZ!;2 J̉3Z\zmmʷmrv!\R~V)$u}1W~31?$97`O?]h@o?ɼsOϭaXBP@kTT@#d%)@)%zJϑ> w|5kKdpaSN](]Zʳ5_aEw,˧Qd3 matW+dt OZ9qY2hT:k]^n7saa/x/QdT6[ FoCllBaVZ̧t~ùG͟sW0_":k Ⱥ)u,Er125}g+G@D4s"tF-2uNX~ڋz!']Q;5)%Tӥ+9VpG޳HڂFGkT 4 Lb}ȟzEF>,#I*aj: U@'o嚞aJv)DB.:.qvig㹠mUE j١{InB>H8I)QaGWOWe_TzVP$lLFazzI_$J8RI$0evC7wŅdF=O$^V7C\o;%wLHf(M 4=) \BJdCu7Ϗϩd  n.է" wM$P}߰nGJ~ BبOc +{r0OptɉSw$#㠙Grq*ۙoG2@ HL {"p0i&?k#l_/H5oLJ)K:CV9W9*EFJrZ#wRE6M>f6cf0ez)R e)xh ;/t7(8WE4:3OǪtr/[9^iD5>R}T63e[6Gq+(MNL.`Sh|3uD}c0`{r1xΊ.|i*_{Ln/=Rpe4 6/eTol-SR]K$ 4454<"PL(4*p=xL6d$sWcX2' AL/Ї#ڿ"xp_'vI) ]!JwUMd~` It1ܒ7d{=]e/'()7l CA|hB,rߍbgK@ 2@c{Dr0'n?eI j5zr@:cD#xN-#->P{ G\ ՆkBzֱ[\ ۫(lE`DhV>朜ʰ" i"}'?rNΆrWY1$@a0$Yi~d, 1i(e~bě?-C ^,!Mz'eHț@=ë]3w 5漂-#%/WHă` `"7AE[E B#'8\PT4^+D9>.lNcg;"\/FyU~bJr~FcRJ˫VժM,8 _ٺ!VAEQ.A]M%T/z>4 PpJaMΝǏLҦdhMChй⤦ɘqbDag]inJ҄£y /؂C\]ΐwtESdp̼&zрʙ-!B^&%߰/@K8Կ{΋ wr c16q",i#ec]e@ fέLұ>u,㛽5} \ :}۳O(5Ƃ"kFs6;DtNng~ ,Ϛ8[] FAxׯDDIlΰr-զQqb=ΎKq{vkE:0s"WfV_ENr6Y!yD<4'Rjodlԏ:Yτ{K_Sؼa~n~gmx(ìi @Bve _jmGOU8&npj˓x>Yқ``)NM[6mtɟjawT6y;aSSwy31%K`)!:oi}N{+|ۦ~v Y||EJe0  sr3] XD\&!EZЛQ xxkE +b/[X2 |X a9+mXZZUJptPbk9ScnDi^ zɜshSIC{-Ѩ&3ӈH3uƬT$jΔ࿟NG; +"@?4 e3);a?\Yf]_iv!V\u}_qd=" R094\0>Wbk|f[^JBQL`y p(a'=_]Bk0 UKIS89z#g̻S 77װtgڲVOBK1MM ~6Anvp5'#Ԃ. <,uxBAS/'l'"-^P ܆wpDg[+{QD!bUT]gM]Q'"m!qZSW \LskAr6Χi7\- HlIUQ!+5t~*F1K'Z & xSÙU-)J.#!.N* pպ(E8YHTfaGs[ PHd$됤蠗p#߆W00#b+2:,v3u4{ tٯp4S!(mt x;QM3 딗 rzTX0w i8 -{L͐݅9=6>'so3?WwXǕI/qezmePJ#*CCqX&;ت\A$;j^oL qk4VNfP.=^Z!@4Y@ֹ0j-7v~0qYd 0h]SWxٝ*/X]%3kġЮ1CUɺsC]tp^_;-zH=?@dat偎6yK҇/[.Dk$W2 e-,K% sk̸{+DӺ@t끒x4E)"OJkƠ!YDAn" [# +Rb~쳗Y}(;/!@VY(0C)\}(AI$h1jB` ..ߛ/ ]sRiბ(DoDm\AN s0xK$O'!Qák묠ᝮfN[w3B8 7̏p-a]88ŕ{Ġ\Syl4~sn Scs њ` zğ:[3Z:0ҲثcZ5v)l MMIN 1UD(p%G}[fwQ4͆用T[q[2q*\b 3W e) 0Gg'h~귡}H2l ZH!hP(ϒ}v6ZץǙFom`j@V >? 0gp5$,'h߲$tPj{ ^=)2CaH&&csbb{4PM@')vQN8>+[a@'=*tgyF((#]^;jW :]yv?ZL9{BozU~Dr \>AXК5EMKG!LIm-x i@5Kyr(US&)@>q4բ#2bpgT~NMpn$#hh TpaJA sV"Pe:@8qWi,u_ZIRJB.7xw&}0[cNln;iŒi0e9!4 8gX |fȝ\ )Je5W{-v{e 4!4?L 8*=]u:;Q>jGHEo S*q@3i#[dKߠFk+HepO ~2;L2 J#TGMv%ոU[9,` 1CAMfp?%9 ږpeƢ/X|D IWV mCFռdmuF)ymCn?kKH(ҽCN9t-IKIz{%ds@]9L$ۮJ~O(A}v70YW*nުfqՂt,Hv=gXa=}< V"/+"[ɖ$梸E*+X5=Y!W]R4}>_Clpj *&6-Cmc2RsiSX`rEC*)wWj)vZu--=ZԀu0 Onnc 7嘌yw:~(Io%= ]V)] ʋ-wca(T #9Qa/suON4𨯲kx?V \$:oq,ԟ;Jࢳ۞W|99{`.,!QIE@r~:Orq鬳*2`98 v3>l (zz^|ħdop@Pe o= h;~xI ƔaմEFu:B|o[)FT Ѓu{KGXUi)pfqB µpzRHR;IF_V%نΐ%?q»NP^jv)ej+rmWDL7+tTl 8%&e^=cKB~In)eGn|)X/hd ~Y&fma]yٌ2َ1P}9 /F'+m=j%@ v"g9j㚅MEM2W }ΟM3&%S.VBiQH).%zxk_B㛉z Hcd.y5 S:tdVxF'}9:b7`+m @o9IFoӽ;80TгG+4 4GR,>Qۿo[H[ yOIy 1,OARGm0A ctʛ>^"WZ(Aw:u(h}uu E "wg~v;pX+ZXs7ʠ&=cz뒲mi)k~t} VNqMH.nv T5r/i?9 w<^3?WV32dOldv |YW8(bd.6ajg>^$Y;h3&%->F^z͢xVmV$W,fٚyFkJ^(&y{0LGdW:_q KXfgn`짒im9FkG܆0Pzt\PoW.65.8+Z:]AJҏ`g$[ hs ޾he86~0 0Tk6ޔ:^H6u UG, VJ&'TeԈ^Jãu&Uns!?6!`s]rkrN ;SFnn|s{ nRU-8KI;MjAr!K/[  0<9B5*I{EԜdw)t]^Qʐh]jAENl/t>Uj֡~%KZQT >d*MVlj>Xp-o.w&ׇO 4b4E:\jܑss;ii.FјuT-8ɉ%3f}zpw`}cuf'E/@zp_?`c۸6Xk;ZdSW wP]}ֳ%k :Su}V^UWrG-_%L $]m\TUr &4LhHsG@+kM^;@A ( jJPp}7Cu$զoњN3/I,[Уg)S&ۇ>d9XGVp`:3A/M])f{G#hb]-|,$4^^M ŷ?`Rp1&'3#BW_Ł$37j"cx,p ڢbpq3-Bs'Q)!I*2EO7pMIbUADorMG98`[ΤJ`;8141O@+"ԛnW==" ɯyf7펞泡 !8"f<.e9cNa=j5?Ͼ} [$jy\~DW;DH(Zsɇőܩ*@TEdw[rjz7ˎ$~p4&wIJd |X>&ZD][삚UL:_W"'y}?yIu7#Eh+tO"  C=D"pxs)]F4oީM/p~ hP @(3窚bkًN~uJ Ͻ,Fkjo[gg؂>&n0A'ʏ)/#U xzUo=ڧY ظj }EƸMɪO< l'C!PMBsDu1X ~!!m[tCj]q@ׁy3ozFؘa?1oV@Aq5h^>`gldG. Tv9xAzW/8M5BoT$S?G&8nv(GR u7m19ZE4 XEjᅰ~ŝ}n09a\ J$jvTNf>X(H0X=3!E-ߪ'l,mr"{h^(R(:J7Ig 6BwQ@ˮd3bxYB+}ؒG&Wke ŁX Pı5 ]0#!X*>pQWf 3·Ջ4mlsD6moO̽jԼ, mRuG"dЀG_va$X<>}gH@;[B{-#WiAґ:|Z18HݲB5Ƈ}Ú j̨ fY tA^S bhMV͖)F.NA-x`y^2* OQ>g_~0SYoHBi6 Bἳ5$(zΣ(6Ai+M{T(ZQΙ\î+=kKCZ*PׄэqeƱN+*#90D@=';N߃c7;MBT$oyt&#:ڻχ(!8$Xa`/@zZE'CV[4ɡig,ul,1Mh` =27޼174ϘZuoL=wVU"´:1 +Y]۵0Hz/cGbp8 "[Ѧ6ApO6(4J|,D(uG(ʯ2T'o%Q>~t"4Η< AG|sO%N m c;k#i vۊv/Smc4V~.g%*nW,ґOHMNqFœxyNvP${6UP]pg3#~`y٭m 4!gyEHX2?k^ϵ/5sOKTy* ƠϒŌț^;/)6n%8!@,Y~:4;oAa/YEkETT0E j JPRDN6ATZ!Z"(aȗ-|8v*~K1gDQoxq7,id{M;{<̅uN}{u jrp7oT#%?7!]Gw.jpVb+T?HV[ڼ j ) Z'(;+TC XXiJ OTg][Ky6؇xEÊK,52NOiN#Ek{O9>@Zl :l S jՆwkO:n|qU垍@> pХC9iT$yğHHӈ8 dko 6>,2ttxʵ~qYl$˧krA+e)fͺo2ٔy.Lbv.U81*z .aA$݋F$E+/6rd:&WrQU]f!HӞBCP Y'f"̱␽EgAjW9 DY^?恔M=TF,wZ2юF՜$xCgè8uJOWޞ_*O;NB-ԅ/?<"tB#28Ds8 ꮒf:]d k,FE>.4= LhFMb2f(,&vo cTg LMpؔ`m!bSۆmgUw`vgH*6h|g _~>4|*4D nWQ\|O fɁ?t 3]g ~aZ66Z]6),mܥϸ,jWx5@߫@CB9SC=6qc2Ï%k`|::W3l0IDJo)c5CB@f`aHD@ X2!4E9` ~y"]5(ǂ$Zx%ݰ,)8+,"UraX3 ԩWUθݎ\Q9~xi]Yg~(&y?#Zpƛ&fJΥH#1aKs ݲ+ oK4ty]R=:,UӖ5|(V=$eݤ w2(C!TQ(\dKCWa dcnzE/|B mUwg sŠ NJc3u ׆ZzZk5-ޒD5<^}X&!\/Vuꛝ#U4J_k I/0d 9ly,- jnG}*꓆N/AT;)A50jX0_^6enSh/=Čny$tQs}[sVaw9_&o[w "Ls?N1ɇ撇=a @N,]vHKBeY±-ܽ Ru oHbLnAz-rsYS So@n 56@é|vN:TU%2W7@ڷV:%PjfRx}ywYuzx 2.5'L5ZkHn̝&tL*4db{p"K*D[SA2&5#'A, %wzDwI:7k A¢EcՁ]rp5TASv2hbh߁@KnB>9$& %UTa:>$I^_HNts,U{UkBPX)';#Q,hE#0g9 @*Xs*B~Hhp|ͮy;C9Ipfu],bY ` -G@gk݃nœ0%VD:c`Qv/rsoHqHu%)Kqyoxͮ~e{7 `Pֿ:T>Hf~!8RnLl r.^A?0Z.f.+ؽ?+ZkAaW/@tRK:DZ%XToe iy-Ex?nEc$^گ'BznYM&d<|]52r3y3%p߷ 72wn鴾uo圫,Ϋm,|h" ! M=nUR{cf SͼgaLUsc@6 r7 %N?(V*\B;2mT,^Gg_JAIf̩Xqׁ̥[7f*$']SKz17V6?̐X!su :3FCnpA4HwVڹ"mP{N!%;*EuHj VVnìg,@\X,cz%5j8T䉼QE{?AsQS]Cj#"dy0$xRGBIȶppxOʐD&8>E헱:; 5ZG(S*s3W@z_^dB nr!, ^?F5z甘쥃|r%?`:km g4߸pl!ȟMy0VvRi~!n@2Zr}O@o^ tCozcXw%0M[;#̀F2}! Pzq:BXmg+b/JbڠS5:i+]G%3KNkĴ_ by1 ;:yc#t)fۛE x =0 ǜJ|)ζ ۇN":yL )>(6$+sK0F GӬe#c7$;^dx;o=j 9X~w#*=nKaUAڡc;`1tr,ki_ o>}S}vz`ayiC MzW_pfhǖa5\oGxM+ޜ:!D;8q(HUؽGa{I\{5M]3] i@1pcg}1|wD!q q$PFx3K+eSFݜ ^~6a/)eMG;xs0GFi"U* u;y-xXQ+BCn[@V2hd7]~#ێ`wBjӈ#$_lqv{E|FkB: 4.&٪"n{* 7=pjV-UGaz`$ .Ԏ6?/T6=#Xjk,6g{ü2lh6މ0P0]>' `ϨPش \j㞰*kQ\oqD$`ϘM,͏ K>/꧚|1"U+傶Eၣ[Ϛ/s)Bm2n0LE#1 |&tTj+& b۱o?+U=g2ooԡ⟯+O'HWY? OwRTvRQ }$#Ea5+<tg1it \J9<"qe(UkXN$OVE}fnTrnZX;R/M.)S>0~gKJD%Vj ,Cw3vɚ 7ՙ3B{uԍ6Xn0L-V|^&B0`@nf#\:oJrn])h:IAOiBv=@9qqJ\% _"vbU2?>{/Yե2yba42ے;sy>e>a)~cvn^]Tw!&[#jB0U /m(C8Hp3[,l?f1 DԒ?jfm_0S'>͆D w[B3R8η7#uaɬjiʉ #/`%^k·PKU<>]~& )S FCI.يH7fY=l{_C1:$L~J'pxpr!ji?`=:aR>P7`%Pxi=j vX߹Rk&6npÃ/.SMgOoմ-ixAޡ&$CE#\u;MƸ{OnM N` > _Gɴ¨_-7lQaui˖ ù> W]$ r!}TmxL7fӒt}OBæR 606SCZ׾E[j7ɐ:9k ԅxӁDtF Ϡk״=}?\VᜠIX ' `ui#jAp3ޑG0NHI}2*RY9/_ k< ]ANv5=d>@{7T.'&hha%"ד&V͜Xb(5`@(e]`JtO8']}8$Hy>͆-yȥe6]z4<:PF$Q D_6Nq}PYO{UֺtL[! c/pؔ s@?Z#GKy"ԼJCr7S\ ٢% %) b{ޤ cRR2đXvQE '9- ʊ @{PQsv:`Wf^S"=q%Zߧ폺 ^m Ad oZcZ?qS7tk?4a^M%9> $E}Wsy7>a}n Qua',)0+YJ elЫ׾ZK$Ɔ_72:ڄWQ|yJӌ+[6>æVSKđq3l~hH"x!uK;8GlM/*0}E!C/<Ĺ?;)x#P ~ɝ}1ؚ)5Ga5^Qe]-yǟ-ϫA&:45dX~8""#=t2%E'>o!{DN]@.+Εc=^u< q|Bg׶YX=3|_ N,!M6ژȒňSQ4~ d -t \ wjph?flWuC#RWBNQUUIY8()-O]hRئ5W "i%Yч{mT:"!]"nR>K$J/Q.^VO'Ql0(욡OZ?+߫٭ dMًX1ZY˷1[U_\RX"5nﱕbVyu56{Q:8\Sh!H2f)|z/.3*'IxVcrm5iІ/=V)SN; nN@X΂j(8WH)b1.L3 -F`78&F)EO]]9(lEf֎pvQldFݺ %ə#IW afxo[}8za3hH7 iN^}%tTݰ Fpue^OtY-j:GF~P3~-豦/SehaLթήW\j5Vn [@WߪW* 5.67 % zaf9{vAun˙$Q0ڭ3,VwaZT)+C]]N$f҃7W Ndg~K| /w 75)agey8WCԈXmBI/+6^4oMhi"Cm[=3o)q}ZjX5yRqPnMt\z*bbq75oW>9n1!ET Q &Dx6( d jZ6X-Dw=%L*GЩǼ,ߠ io{UBfQl i$礧F$;qoJoHRaxUʎ޼r48pDW qay5tH;+8Iݘtn߮R: xF_ko 6RHos=u7CdѫבOb:Cod;GWukW$ŗфPh(xܛ8Y%{מ>-ᙗ 9P'v%2V$ eg{ǃ9~~*7t/K*i,9)&(ȳC鐐_pǁ܃)ܭ6W€Y{KwR& S`o&< +U^3x^L"d{*=oua>_m8Nnm )# bZdd {wyпUD 39=;lp#gk=E5hYX|n^GC^p LJOLO\.^Ϫ ܌vym  9"LnK7M7e:mZI$=oJ_dX.,>3Vya *(~TGC>,f!4]cx %T[a(#oG)dX :d|ʳt)aiшd`v/h(xA{4iWDLuR*(jmAt+87u^mCB67Z-|ZPԻG.*i^*o KQEd:p?HCfoR&jXV/ DA}(lEd_$lW=}-4s &W0 U y|ZU] Y\[%y`{-kpeu1!;_`cx(!~?9,=~9!e!OaձS+qZjC;19;5c|9̞gј.WN^v;/.@WqWUqqu>.af?0c8Ъ@ĭDZJF4V&Vv.P-!.^M4na+l Yűi(y -`ӟi1ZLaFό:fGcPZnbO$*fdvXO:XLuvwۨz.oLҖK`GভCOԎsVUlvj}5n{SܻJJE$=oTؽtVB|pHbv%~7 oHkn2\_] |1,Ƶ~ 3-U{n&袃U|h5IpM gC̽6 ڂLK4_ kno=MtTAFXk,y9621u)K^B_̿vBƂ E\572[ʵ*A mD&FődW&vRua[OIp39Jzկuef=z3AK`k+rjBDŽ);AQC <.>8˄Bj[T/j|h򹎄| \ Vi}*P,;KQ;VoWYD^e5  ywgՒ}iFeJf8DWAhkT [)Z(4rH:5cHl*m1)IƷxϙZA2/F8Q&@ pGhcB[.=͂ʅSR5$xm&`'~-A\%0.Yr@(KI?\Ŝ\TOu\6F#b(?Ċ}˲ˤ.!z@*'o,i8(H53T49+:d&@l^:!NBdjj \N29Hvw9A1o;cMxS W'!0$~KI䑖[@ h`sZ|{Ə;Uv'{wGoNؤdT `)D#[<!olCH}FXp2|[U+͂??! -t@oTå yrCI%onfcEQ8sqtYI7L>]l:N.?S'U/29]y8Zg];w\ LlȊNqv;}1jŚLQET'& _V \oT6Z;Wxen6Bʅ {٤"g!0dZ{G+eԸfC\F~΋ "k< pyO;"1iPW5ls͚ᗋ7||1[Q;:4Yr΢#}ws8V{n9˚%~vv?;+\@x58+WX5D X _BX].z!h%,9:/=ZKx9:] r&HAMn;cT}읲[dҤ 2y`n9ǍV `(}_xƤvz>6&"\{cL IO{Gw0kjXϯUVJͶ% b|3)[c\FI+QQzLDj$/0t89} $/z[nk<:7[hj+$?J1J,9vZkLgS[yq6ЌF*tӼ`L-*ӽkb=#e#>;`>4CC6n99W=._v0ApQCm=(H\n3z*iVU V"q%B?۠kٞtw󡗈fV`E'Y1v>~8B(L%o)@۩,L4Ksׅ^z`X.ǒWy-o!r / +M$D9(Ҩ1FDrQ+e]!D`T.%k֕ ןMp/ PT>x%2(LJ5Ǒ|9*kι C)r  +2JMF5V7-o3_ $ni}5ZBFoQ`hA7d] %g+w-ffCm(&/Tσ6&$ xfR*az˜.;ʨ_0}Պx##F+yc,{T}F,o K "_m4:WV= <xKT (@a4:Н/og =ed7g4$>?mwd ~'Gk:ta_,0qjtYʋ$, \+{ ZlݹSIXޚO~ J Zjv9X0OuYU#bD|# YLX/ຎ1} |P|l6/n{5Zh -%HLn'cV!"w]eEgbDI07,U$2]=SEDfC,x >3kfm}ojFRγqV7ZD|SƂۛcٲ!]Ju$@嶔2 Gcdg̷GꉄfbMs`K}+!vf hVNqN3nwⱥ}HBfAFw~#hj`˖bIv! N{smV%@F`iaj>[ëH~%y!l׬810@هuunZy 1X_ܥfK(vgH l[*]5+fWE}9RQw[HSfǔFP\`s{ӧ O589owhB+$Qɚq<Z\C k(aƣ[OE=V-Rja`t"t̢0+w6 pȂHpS ;gN .u&<QӈO&B 0h H/YR[..7wZ7HG,趼Uz%#5YFD~9yqTXiFLH_!j|N }оL}1?q8R#j85索&q@CJU˵5]|fI.ÚlIV_Ei$8Op~_Co>fE^E4Tf:OA %Z'eǂЫ+9gRҞ‚ ږѼ:=[cv&C 7o^Ep U;Ig*c/|+ՠD`]tsJKW3pys'3OI:zș٤nZGy7Nh o9~M Zݞs~VS= fMΰp~ǸYj'G*qB$USA\1DᰂƍFhOD>KTb-"qPXwB>[54D-^tw! dV-[⍒!@cGf[5k̰7f1F5020hycwa]൒c!(\8'ʢk38a%pF'|c%"婹skUbNSn(4!>c? 5v1 XR 4*J 5T@ZKa}P-Ph4@qTt)t y,O% gWl[-+5OLV \G12?e{~?l?mCILF]p-u^q?cqC7BՁ5|]Tߠqu 7$b02a79{7T:_<Ƣ -!aRCh-k(u_Ci(֫Ykcy?A pdN)`O-8+?<|P%hb+H#rä4NK@O|HraoTש$ЍK|5.T0gh'$o`HLMwϴ@/6|pc0$C֫qZo6OctFq0ώ+HTD+3A p ":61\tU~Y+&NѸO^+k%wT|P7bŭnX0/v0#cҼh``{zczI` n"SedjMaU<[oq.@6Z}ɊW#æMG5nMi krMU) _^GX;ԛ2ӶZLg[nax{S'_.2D"h~Kc;zy"nNvƮM:L<>W?J5&BȈ*KXv*uU5Y'[G6ʱL^ z-|!u¹(Y,S-L9iPHnsVA`A@sf*788oe8"4PM2=>RK(7d}-C,n( \y`t?p :3jd*Binh9ꁠ$2^D:tK`7&[p5~1O@Ho^Us2g-xã%~L I.Xx_ 0x_P+5]4o}]\`GO`{!x&mḃ.*r2{I V;,i ϓ_-BMciΡt,q\sn` 5uaP5$9#ioUH4܂c$V>$uI~M;Gfgl(~}FiQs|J*L֢.!Cܩi>h#큝p~f8>[T0x$ۗONNkUM ʲ ̢8cCLPI90G#J \ʔ\vo QZH1dѱK[#W\nh!O@yNe"2jO+2q'šZ:Bc4ؙa),|#Je{0ƦMtWǨςd\н< y쾬fZRrғΖA>1rZlx+|L]l}OB`);SMYQWŷ aN/Y K ܀Jd-oQHBMPA#bS,+*b+W|J{\a#Xʸ7F /(n=#µk;#=s^罦"zQ })R[h~<0O,V-`{r\l u [ w-Ve[HMՒ$K? CS~Ҹbt xeb Pow?cy +e2tZվ`;th"[/ѳ!H:sYÀk1*2jZ+Ǎ;]dz57W):z0ͅh-L='l "y'ʼn͂4Zk"M6JYx,T7Pd;ti`mO {bRj~Tf8 R(B#^ѭ3̧p<j<+A!meRgS=@ pN)b9%k9$K|p ? IR{j_fJPTssWj.k|i$wc:]} j]gEDϚ5Gc*GZt\'ìWw`3o[lǵp(7P. P>蚄װY+0As"Hea֌#Nyhb}*Idu=}C'4&N|iO&]F0aZ YZCL( = q/f,}*(I6m7tNjzF0`ɍrr턶]zP hM $bc v޲<11ZLO; {v\4$LXh1SΌRmQB3ѣR?v͸f7XfFn [p&Nb>q~uǥq?* b乘+7rxہB`US2/;s=1e mѶG*8W~A#@~jy?!jwTↁ@j- GPάԗ`\vӐ9"H?>