python3-apache-libcloud-2.8.3-lp151.3.11.1<>,3ĉ_⸋/=„f5?D:+'$ Dj7HC16G&jpo`PK 7oM,vƾD+6+UI)srFQ辎~Q da6Nʼ7bH k%iO: C{ђy偾-kȯYvFtGFOAN0:〛2[; WMZHQq9o26P91 1@f\HJU7Jͷ+91EG$F;~IМ>Ap?`d  - [ 9U[d   \ # 7 J|    4  ( 8 9 |:FXGXHdxIoXrYr\r]~h^(bcid eflu(vϤwxۘyz\Cpython3-apache-libcloud2.8.3lp151.3.11.1Abstraction over multiple cloud provider APIsApache Libcloud is a standard Python library that abstracts away differences among multiple cloud provider APIs._build78.hopenSUSE Leap 15.1openSUSEApache-2.0http://bugs.opensuse.orgDevelopment/Languages/Pythonhttps://libcloud.apache.orglinuxnoarch#u % $$??=]y]y4A4A??d55A1E ""7I7Icc V V * *))IIֳֳ 8 8   jj  &&$$33bb-- 3 3(( } }!!ii##(K"`D3(+'J h %} ) ax  sh) !TI.+K zS"ALcF<::.."["[?5?5//4)I ?YYnn4G4G%%!!uugg55%%HH //ff^^44ww220Y0Yss..mm##  4N4NQ[Q[  : : 99jj''ŪŪxxJJmm]\]\oo''UFUF  77,F,F N N$$??992k2k{)C*k" i u+BV-J?zf;518[   9Og Ef@wO2I$/^ v eF+"r*AG4[233 0NNF%F%>>00YYh6P 2bKT 9d9d ! !;;:EE99 E E""??00' ' ;6;6((((xx$$##XX7W7WII::99  &&>>55##VV8(&-mf`#G1>l11$(o2k%/!)oL`IR8.IGX+) +6+6//)Ht6t6iiOO44// \\c\c\55H7|75h 3w6; B |6PP ]p66iidd:.:.jj $ $FF/,/,>>JJd?d? v vnnAO~Jc;kJ83k@@%% _ _33  &&ppm7Z#   &Z$ ,^A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤_G_F_G_F_F_F_F_G^8_G_D_A_D_D_E_B_E_B_E_E_A]vyX_G_D_D_D_A_D_D_D_A]vyX_A]vyX_G_D_D_D_A_D_D_D_A_D_A]vyX]vyX]vyX]vyX]vyX]vyX^8_A]vyX_G_D_D_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_D_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_D_D_A_D_A_D_A_D_A_D_A_D_A_D_A]vyX]vyX^8^8]k^8^8]k]vyX]vyX]vyX]k]vyX]k]k]vyX^8^Z]vyX^8]k]k]vyX]k]k]ᑝ]vyX]k]]ᑝ^8^8]k]vyX]]vyX]vyX^8]]k]vyX]k]vyX_A]ᑝ_G_D_D_D_A_D_A_D_A_D_A_E_B_E_B_E_B^8^^]vyX_A]ᑝ_G_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_D_A_E_A_E_A_E_A_E_A_E_A_E_A_E_A_E_A_E_A_E_A_E_E_E_A_E_A_E_A_E_B_E_B_E_B_E_E_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B_E_B]]vyX^8^8]]]vyX]^8]]ᑝ^8]k]_@]]k^8^8]vyX]_@]]k^8]]vyX]vyX]vyX]]vyX]]k^8]k]vyX]k]vyX]k]ᑝ]ᑝ]^]ᑝ]k]k]vyX^8]ᑝ]vyX]vyX]]]]]]^8]ᑝ^8^ג^8_B]vyX_G_E_E_E_B_E_E_E_B^8_B]vyX_G_E_E_E_B_E_E_E_B_E_B_E_E_E_B_E_B^8]vyX]vyX^?"]vyX^8]vyX^8^8_B]vyX_G_E_E_E_B]vyX_@^Z`_B]vyX_G_E_E_E_B_E_E_E_B^8_B]vyX_G_E_E_E_B_E_E_E_B_E_E_E_B_E_B_E_E_E_E_E_B_E_B_E_B_E_E_E_B_E_B_E_E_E_E_E_B_E_E_E_E_E_E_E_B_E_B_E_B_E_B_E_B_E_E_E_B_E_B_E_B]vyX]ᑝ^8]vyX]vyX]ᑝ]vyX]ᑝ]vyX^8]vyX^8]ᑝ]vyX]ᑝ]ᑝ]ᑝ]ᑝ]vyX]ᑝ]ᑝ]vyX]ᑝ]vyX]vyX]vyX]vyX^[H]ᑝ^8^8^8_B]vyX_G_E_E_E_E_E_E_E_B]vyX_B]vyX_G_E_E_E_B_E_B_E_B_E_B_E_B_E_E_E_B_E_E_E_B_E_B_E_B_E_B]k]vyX]vyX]vyX]vyX]vyX]ᑝ]vyX]]vyX]ᑝ]vyX]vyX]vyX]k]]vyX_B]ᑝ_G_E_E_E_B_E_E_E_B^8_B]vyX_G_E_B_E_B_E_E_E_B_E_B_E_B_E_E_E_B_E_B_E_B_E_B_E_B_E_E_E_B_E_E_E_B^8]vyX^8^8^8]k^8^Z]vyX^8^8]vyX^8]k^8^8^[;_D]vyX_G_F_F_F_D_F_F_F_D_F_F_F_D_F_D_F_D_F_D_F_D_F_D_F_D_F_D_F_F]vyX]ᑝ]vyX]vyX^8]vyX]vyX^8]k^8]vyX^8]vyX_^8^8_.]vyX]ᑝ]vyX^8]vyX]ᑝ_.]vyX^8^]vyX^֠_]vyX1d845428320e220bfe291393e02a66054857ae7f16738c3ea3d9971777ca3b83db8c826d7e139b131d5b01a64f6e424df4a247572a7bf72afc51c0568fafc49501ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b5429f0b0a702bd69595b10db847a64b782a247f5b4c92d4abb4b31dbe30526901a0c7261d835b4f019a297b29884801021fde26e2c6bb7cc656bba2bb839d657a212a2e20ea8edc7664c0940d037ef87581bb370600753f05a612b75bd541ccd254d2155a94e329d388f9bdd44454b01c350ae36c29d0241f38c41375c4bd2e5985aefd57b11151bc799c67a578423f3f5ac78c4b1631396cb6d1c5be93c8a08663177e72b59959ba459bf9b387c215013b7776b7c6bc206721206ddd1052a60663177e72b59959ba459bf9b387c215013b7776b7c6bc206721206ddd1052a601a41c65d88e199fa7d18cbe73fb1d1fc5cd02a6adb732d3917216edc53251cbf85dd063ab6edec3f8603f412787fd56fd51152aaeea2239e6ab01560857490f6a4bd70d1bd7976c9ed55df3aaaf12ee9bf2579eecbc894b9a68b7af27a0178b1d15f8d9446f9b434782c130c74c2fad814c21e00e6d480e23e4760d2edc5983609ed2c06c25ffd31b45f2ee064c6ed7775286ac5399890bcd56537d8b89e2d3809ed2c06c25ffd31b45f2ee064c6ed7775286ac5399890bcd56537d8b89e2d38e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e8a62473cd0ee5c190dbe2e271c1f6216e19893117f0f26251f6dd3e35c3590be8a62473cd0ee5c190dbe2e271c1f6216e19893117f0f26251f6dd3e35c3590bbabbf44be5d29492f0e7c78dacf7a5b666ac3c5fa6ffe9f8c587ccc49d2f16a90f3ca5301f193d42ec4b6c269022693756bd76a1a03466a469c615c2868a2d6cd17855292491abbe3ecff97ee7d2228a69994fdbdfbd70bed3969e75cc535d3cd17855292491abbe3ecff97ee7d2228a69994fdbdfbd70bed3969e75cc535d3c800025549b43c6b12226f176f7659b733e665c0377deb865239ffe27dc3aa8992127efbdb6a7546f282f5b30f3caf9cad16fe52fa5b2c693bc2ce86b0ecbbb975e29e8613e204cafc4730e24261956c0c658f250f8274df53260ce69b7ad26a9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85544d2f3b038e63aa34e8d3e7e96dfae86237f0d82784ad16135d03dc718bffe2e44d2f3b038e63aa34e8d3e7e96dfae86237f0d82784ad16135d03dc718bffe2ea361c5ddfecf43fd8b23590318b4e19a21c1094e6c41f3f01d35ba7551cb2bc741d0c03097f59ac86cf939f747603b22351d966cc6a5e461aad8204d707d62d142b5320aa2035d3e7ef719cd658fafd0c71560e7709b69b2e99519fcec27038742b5320aa2035d3e7ef719cd658fafd0c71560e7709b69b2e99519fcec270387cff26c5480d55b3f198535f30c3784b8cfadddea5cf87cba851860078c22c62e654353734ff57f2cbe763e48ca74fa1103a3c9a2c601eb082475010db090b244bff9acc80f64a07249375b0a12a4d2374e0ed470f793352bf844b0f627c4b7e0f34da6317992448d952defdf95c4e85feaa01bf9bf9f8046c4ac572335adfcc012792e3dd293181a116a467adcdd421807b83cae73eb97e26dae430cf1ef47089bd423e8476a91e41d1e2d1b50c99b63467ed87333bdf03df8e3e1294dd89a6297fc9680117083c41113731a899716b9562a5a8cfff34ea7f707e8a1510ae4245d2f480a9f09a171f1564111268d0a96979556538de735a843dbb5cee3a9d0e4ae879189e7b5f513a0c314a3afed416693b9955b8cb35b63b803b3f2ffa6013f668e31d4551a7087f00da5ea27c71167cd97c38040cbbbddc720f60b92d2661db097327e32169e4a077efd03985dccc29c41b20907036c84242c2b50062698ade3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558e89d4c696644ab139383eb13a12824257819ccf4f314d7867eb5e8af86bf3618e89d4c696644ab139383eb13a12824257819ccf4f314d7867eb5e8af86bf361d5a36414f4244ad4388c1b7cbd7e4d746a01b3496fccb7be9777079aa7266a06a8e60767b22b9beaf7f9b39babecd5bc9ccde6c057138a897283f834ad448ab4d85ac9b527b9479bd1ab309c5ccdb00502e0b2baafb3a4d2d30534e9b89e89b12b26d6b07b195fd5a0d219cca533423297042895d9c507f2e24a328940c7dbe69e504129c0dde65cb36708d059ffe9621a0759e4fe353c5fa0836c1f83d50ca9f2a8a6fa47372d8693fcf44873d9d239b1a1f49ff054c004a61a4c9028998a3d0d4f2e11c8ff11d064f1c7f9cab107c967dc9cec76b86d4abcb9f8e0c2a60ad3c4a5d2e1a24c2297f961a7829a1e7971c90d677f57ce53ee459593c25aaedfc785110e0de0bb9be1ec81929ccff3d57989e1aa253d3353679dc1143fb9fa22844566ce59d2670e9c37b0e9dbbe7b39a76bb8c54e53d63fe9ab454985c845a39779cf5f92022b1a7de6fe88fed33bde3fad754567c7a44e44dc559cafa72d585a5c5fb3f0fbfc16e113e1ac8bb38e12b7d2e542afba2b2e45838aa25d532e72def70f24aa80f9ca5b9bc9bce52c3154cb45dbf4d020bbccc88782ee5911282c32577d20dc14f175f14c5904c32eb9dd34d21ccc0048c0ea2c9f661b5054145e09052e47d5f591077e4872162d254caf382363f16e3808e5c8ac0285b18f36f3dd572334c879cabcdaf2d3fb32fbad4235c9bb5984bae1bc657443db77ceb6d897120845560b61d91bc2de99388eec97af33ede66bf23690250b4e91261a7d2138120845560b61d91bc2de99388eec97af33ede66bf23690250b4e91261a7d21388658184b0f39944b2b7f28408279a9e0ddb1f2f4d8b3e4384f4f254ca54a0b20babd82c4ad17fca924ca4af5f8ab190ea80f0efee6b676447ade9c70fb0cb499b127585f1a6c44d1e151b6ff4dda07c636ecc9fd416e55e2d5367370eb3b778adf7ac38ff43f6f6d2e2dd445411694e7d4c79157b6fbdec0348444749bbc83174a6bfced92e5374d5a4c7feda7bbdd1f73a422d7e55d0ef6e0c01c17acfae29013eadeea377fd7710e5d10f43d267cc46f452b9a1e61542a0d6bef4718e97985f2999ebc9602f3f5b13eefb13fc928321df8bb02c7a6ed88ffb6e3b0963d74e7b1aedcd2d6ec929b7cafd531cc924ec5f7acd3c1ac2111ff5e7317da26fcac8bb403fcb590dc2f4325563540f2f01e5cf916a0a4a05e3fdc4026163c34c0dba0d95a34dcebbc7c6d8a81f09f34b7711a4d1e925576bcc6f092f39123ee63306ec70fc61e70236775d138180fba0e0292916e8d8413aa205272e5b3f31f516af374705da845ff968b0ccc7d75faedb5ff10bdb23f9d64293bac3b4e1ebd7c41de3d0c7d77799325bcef0f56a3a6d48b3bc4bd274f635c6266f0428a788dad9efd2ad86fab8c10b9b6bfcecc004a3a68b46c928cbfa958e5856015b132555fd4ce9c9c24388e94dde0ff3bf17d3f64de2097b909564c6c63004b3c7c9d321aacd667b8c93e3a099f462b3b31c3868d870584e8153f6d5742c6659692de5497879dd99f7c4f6a73db0b8fe3feb8531d377e2204da7a8bf52cb2c26548bd057053cc4c17821d2921164e59a7a1542cf5ab1e01662f9225b5b1514f974bba5304093abe46a28e79a1ec4d4dde98ea5d3c2ae5473428f4a72b6bdf19d8a54f0e7f19900a4717cd49bdb03c14377f7f4a6b64ecb3930ae324392de6a0dd43644f5535a8e7114620da76613ec0a4b0289496577cd44b65b964b5e93ab8af3d7a40f085727e67fc28fd770c024bdb1392d28b03dcb0a7bd05681dcf6c6670830ecc9de64b81e31a7d78aecca59b1944efe76fd32e4b13ae9edabea53df4b00a21ae9097a36072f3c50839ff077e3377f8274048af684118cee834701990e95d535e8a905fa72aed126ca3bbfac9f29925a0382c05c71e64437b4904f4aac441c02179aa376ec7a9191e56c7f1632464f356c5dec69e39d73a43cf99d9d97caa2aae661ba74a6725ffa7d609c2e1a1378e938220664195ea2744d6fe00e5bf471c4494be44408271ca98558f4fa2827f5713ce029e7f833a9178eff83faff986b21d750b077016dcd09cd5d4d95a1e2d25ea12890e1ea59195e6115b648e8fa9c67d81a8308d22a333a5cca498f91b6503d550e731b1d9119c0d6129247b2b6a730db943cd214c5dd7c948ddde12200f2e127d05e527d898bca994df26901e4257ff68f67d6762e7f88bd1113283d1e4a3b57a7714f6de6cc1670836e9519ac63fc056814735b89fa083cdbe00925a6a3bc1ca13a65a433c84540da5447c337e8730d5e913c56250ad518d9b72f39f0ecc5f4c2fbc49e8ab8cd771f2e6977508ac3bcad465809b25545cb776ddfca280a77eff7153ed1e13ff7d2bc071784a276376006551612eeb4c3bdaa79a632b4352e59a12e27830dc91fb6bffd00594f543d6a5f5773665415243746848b02cded138200a04e4bdf1fc132a67e135e2aa9566c80fc36f6cee6bafb408e7a28a90155dd401222acf2afc078007e2cad75a244d76a98273fe1b5d206754209349a4fac10ad119ce806a2e77bc28aac2af35f09066e06946f28d1344edaa90f640dec01ab879252978b776164de84cf0ff184502ffcda835a3df46a696765961f2ce9fb89a39242f3c3154866efae4db60f11bc45d422e3e3efca633313d5f3f85cdf692b94362fa5515a4ff82363149f5c7779bb086ea9c48009119370fc99be24c3fb44b798e0a4caa26d1cf8bd077de07e4403713cf3bf1d4dd592a3b0cd60ca7b0e11349eefaed2328aaccec683187e958cc990806ebb9a3de2c6c526966e8825102b2d5cb12e63da1b828025fe744dffd9c165485658314234152f58eea5831bc1bd53ac0036f1af2c55554d0fe5a77d83b40171346c10041e78ab07ce882f96479599a0685e338d9aa5f4ec0181b2bbaf058585014882f35ddb38ffae579773a90c09d62c058931f2c27a81acb7c299960ad42afaa6c42f5cf0ceb874a7dd5d63f86e2724214b4d02bdda66af607b98b13b13b290d92d7acca645a344fa3b79dbc84ace0c26121dc1a141ed306d8a9c11abf476ce82ad1f2744f3c288fa4bfb9d88e60fc822b7f7f85b6d4185515d2a90099490bf0716bb648d57e5e3f7bcc4d94dd21952eff7abad0779ede6ebdb89abdfb3de2fb4f423e29eca8b803514bc86e4c396a1b3e8416a4b1b9185a47a0af838b5217fb4f423e29eca8b803514bc86e4c396a1b3e8416a4b1b9185a47a0af838b52179ffa2d60a73b41ea0e0e929b8dda6f3c1bb2291f14f54c370a8d23d8ced25444888edb24b48ee99251230126d3a90c3deb3be782203c7c00848b6382848320ba1dedd87b003e128c3bb3a743fa37bde57769757c0773fe44f2b32db33764e6767b0725ac6cb446a60e81e48be2e0f23a2a857d399660564f57f67b4a992c4cd6bae9053c7a194db6a0e5d8d87c6068546d30acc4735f0ecfde63e7dbe9ec4ccea8300d5ec715f74e2db2a5da134656c211183e32c8a6d312852d0b74ebc74d13b0910b27dabf4df84c372ff41c563484baac225a347e406bbfdfd6fb7f80a2328e3c4aa883ad48d8deb5164990b608347920f59c142491f3353067ca292616b2d4e46a9d6ccf5084df67fc7cde5f4c363d3313a8305a33e1c939047e667186150870ebbbe89ac960810dca0f2452d779324ea8c3518ac2d10056083f104e0f52239b6ab2b25a4b4ad680f27b100420171ceed91fe198db43aff2566abc343e5b9b05b0f514420bed818d442539743f98b25140f751336df645fdfb14af55596c15c6e959b3df57041a3f11339f38f0730584fee6d1331d795406563ebc73a24852d49ea9f60b6cefaf0a3a5aca24db4aacb43f4bbe4031a7d6ac5ec34f45cfe46172d2691ce5fa5e2bc0de32cc0f0386df3ede71737d3b221cff3b2cecce02f5a555f10de75e7dd8df708822e5f093e17defbb8f1ecbc38b90460232ec4a424b0da0eacc87040a85ee4fe1ef3440c7eca37bf1bbe9093ae92864fa852eb007184e72260de1fe26b927232bf7128ac4253a699a2886f14126ded3e739bc3945c98815cdce9e3753441fe087d936d1b5e175e0a4b4711ae63267f256dc2697516b54f07d7f2376f6ad915aa5de96b578dfe93cfd30b75e395017fa952c349359656497b658a5463a91a8992c10a8a91a29313b36438f6e65153a92c48d7248783f47491121355d29bc27872d0777fff39c8b6ea5a3ee364bbb62ac621ea80bc8edf4085d197bfd89e7d8484d146a667dcbdbc6f7a378d097e4c292f02e3a9593a5ce6c5cd168d625385076ecdfd42eb619504211a004b63ee8313494f67d254983724810bf9017048f74a8d02528002e4938937ec5b8f743989876947bafda32c19c64e88e1baa94c406d32ba1c78fd561c26ecb4f63aaaff14faaf82875e75d1e354fdd160e6e84f7d41aa8b6539eaacb504abb5f1b2af6ec9c19f49fbfd044496ee29226f38c4692d68271d0416e50b423483bd2e87cd51fbbb171554f70329b7f0bb0dd53ed7c8eff76c94bcb27eeecd1b20346802c10ad83fb261ee62c1ed394a972a00674868bc3712915e1d5a2d6d9664bde392b6814d27d8cd32a36bab2be4112b8b2ad891745c5dca0b86f8fedd0e98515d0582fb37122b729ec633ab397d2f17948a867a5a2ae5e4c1d2fe3ad1c93e65942c9f6faa072972a7e31c408ad4505bbec678f12f04b75293404f828f1ff58ead0c51c15b29c0d55d2285e8da5422792afc6c1fad17a1a7abfb1e4998cad9d7d23e6248adf71e8c124ac4961c62aa53c5ba778d263d0b7490f407c026dea2d6dee22c5635fe940ade9790235d6d34d2e860674670d1b41c2ddec256a7b0a4f151de70cf6d4be7be65df4c8c2e1ce2067b7a4845d31b54e3638b8423bcffc3eb8dbe451f58e98581058fa6c5950d01029550cabdacaabbf3866ed741818283e742aecbb587e3dee45201c0719e9b2b2ea7debc1e0c1d63d9e9222fd73a0395f5d45ef1267b8bc12cca3abb8fa49853bd91eabd198bee525b74b4caad2b728857fe491abb5632c3cbd56f1d02bfdec79b773eb065181dd976f052cfe4cc9eaaf9d70168eb38f3d45e2759795be07a5916ba45c7d9ff149f7cf92a98d9342cb3ca252630a26a784e0c90e9d10395a7953db65d91e8b0285e7e277c5242fd0fce08e9300c0b83a0b86b521c3720f02c607e9834bde8bad25abd471174d97539592ebafd4864174362965e0c768ad725f61489361c5126be80df9ddf64e3c05fcdf8d9f562de3066f5a31f0a1f32d948a7e082ffe24b137a5cb14bf901f56af8bd524bd0b707d5ca349c68413c5383cdb544c1c3fa5c045129ed21b0ff9b4821d44388823e4e81324364522ec56664ed2c14f647304895d09a9f34607886d2f252e129a20f3a869cfefeed7c4562b2618457f11892203d674855ed8fb128f72a0b8fbbd496fb76abaa3891b222c73c0dc4d6f529fe300cffe023e05354f1ad394f797e4cdbc8545d61e21736e3637e7efd2622f79e318ed527e27ea59fedeac93c5964d72f205d8ebf32dedb0a13751826f7ed2cdcc847d6258a723805c3cfd46f16403799434062f42da7318cb220bb9dde31cbe9f708c1f31867964992b44be6cb0c05d654f45a4852965a6079cc8074078d712ab227f9a4a2509613bbb9065dc22af3d1f6c48e283e59adbab970e8745cd36330913e34a2834b675f575e886c8bdf69381691439ad982d70bda600e6b2e5c254e83189d3b8d431b68acce85ca159c3a2be03dcea805d2b870cbdf0306defe7796e77aba186322853b8fa1ac62baeb096d39d6ec89ea354a7f88f93e31077f10e8111c77a399a7e5c0f8a81fe5eca128ad4dc89052bb54d81e9fa0b49efc007f702eb4e4a36c02e8963715cf4e1e5617c2c26bf7ba802fe0a9c6c0b49efc007f702eb4e4a36c02e8963715cf4e1e5617c2c26bf7ba802fe0a9c6ca6bf001adb82a0374b3a86839334499ed3bbf063abde399604fabe8386560a4e1e6e6972eebe095f94ec83248eebaccd8f33a6c45c4ff2c17f89128c42f6191b11f174b1c28857cd11f11342115f87c9cce56844d66ccfa35f154edb8e00a859fca48c3fbdd467d3bc249bd62a741d4e74f9069e6477db154e86e277fb7deccf8d7fdea89004dd5644e89ffbc7d6114d6d945f7ba329bdd7d84a0a6a1b6c2e54c726eb576a4f2d500f08638055165688eaccd9d2b09825066340a9a1f6c35291b8d0b746e096e49082a53924fb330aa968d96bec465821a95e49b3109ab49ce94bc15d9cdecb452a48f972a45ae6aebb7279219a12e8c1dccafcca716a7ef902ff26a3cca13edb0d2d341ff98df1f46c366c294a485f68ec2da8eae7c62d7aafe7029d5a0cc5568b1f9500edcfa710196822f5717d8a4f10702886b34afbe0bdc686af06d17fe2dd5b1ab5e72da9a706ffb24ebeeb195a7b59649be29e80e9f1aeab32c8d3e7b73bf9ce20e90abdd3d9f1ae8b570908b73c9b1396da5388e072ad3527508714229d18ad26d18536f1e0cfe4af378e2e439968f8b2ffeb9e10d3c2d634a8785bb0644d0eb4a8bdcf608d80fdca37cf807efe9ed0403a4f1608adc15b488e11c3730014788b49f513645013f2bdca2618de1a5d0eacea1f9ff61dd9171326543149e9e690ee0557f8af5a3ac160549e01f7d8fb35e00877b80e40054da2a45a9f3077dcafd4330c8f0db66d5ff00928cb516a2b1aff7c5af350227a48a8e9c8f276a26a6f080b9e4d4b955a5dd0fd952480e8c4535e9d65461c04cf869f727be3a826eb1570e842e05f064df770ec3d56a142778e20bffc500a234ddf0c892e2f2132766006224f513c7e4c8cd5ec7783dfadc4f51493b393dd490a3ac498f790dcadbb1a4caedf07b05b703679fa0d0f9eb9c7a36c041e2a2457061742b78365a2ef3dc8d385b2ae66a986ea5cb554d0e15e49147d81e169afff8f497921446539046dfb2f0bbd2f150dfd4c2b5e8de002f06d99ac825ce63ecd3fbe35ac2422bd19c81692eacbb44e3c7fb1f183fde520d6771833faa989e51b7c21b6ab2eb6ff2030466a992735324a16f8e4cb9e30665a73cb9bd581edc43da762ce7d6dcd1a4028130e3eaa27968a69906e161f69355bad11c1b9e1226a8dad13662a50b48d90280fbf64cfe39679e5653a0c34c04854bb5b0f7c52b406bb8de5bebcd5e22f4509d2df314a23dfdb8e292d0117a8fe9b9aa6929a061021eeeb8aa43b9a95cf73c09430a62a2cb06db128b9e150d6900c5c49bc979c139d318ddeb1328ad500fb3ee334162e604bca9e917201fe512ac7a514848af6f08112468186e1e551db7a2961814ac1594dc13bdaa251eed50847138afb35d4495e13c2872b53dfa2e0ffe7f4324e93e3c09b2616876042e8625796467c5ab57fe887661c820c3ddf94cfacc5d421b0b548b3d0e2b27c69c1236ef722f03fbf6fba0ad47509f92632bd10d5b04da97031baee691b3bf9c0cbcd80f53398faa82dd423f76d946948b1e6dd66f5dc52abf8eeb945754f92b80ded5cea5d75173f57cc47db09794e9d97d2d7f2c99cad0a9cf16b0fa52ba285f26226c3b193cc319c38f18d609a068160a0d3886ac1877b78a31d4ac1b9e36af0b5bb80948b29b7dd06ddd9e100b728c135a3273d7ed4d2f998b4da8223d887b33750d998ad78db1d975206e343cf3751eb443c47b46a90e114868a1897017af9d307999aa656132b8f4a3e9e9efd11326774089561cbf2ef2e3a18ae3a38460401a8420b5d46274d1010e7dbd5285cb39d354852fe628dda30f4744f0924e6a4c25cd6a03cd705ced301f5f41765b587067783060f3bb77b7c1743601cc192b182314a3fafb5afff48d6cd26ae8769fdc0fde8fb47fea4206873914f90325af9560234cd959973d5109dacc076ee2fb5f6b8ece516f89b8973d206f075ef3cb1e35836a5fa47906f3104ac4752629f911891763bce6d89a299a7843f59f0071d798d1bbe1b29504a423ce4cc5cfd675a0512b9c50ec1c75e1f39baa761ab8bfd6e0e519d3bb843e0494de8c978fa1e657e2e1818183722bb97958d07f8e34321887ea509f04e37a459a03ec76e5cbf71826f1705e79f64c7129680a86a63a6e28d65e27650abb3d0f83c28ab0cc2f5db697e999e706f58d0360460d473312b045f3e2d8eb2eb5fd7be529f2eec8a8bb18b255cf14011b6d62e001ce141758db4ec042f699a3f28d57f48f2546dde60b2978b7305ac7a861ee4c67bf65dc9ffc8af79224aa7af9b1542d7be790b8c4ddc2afef36004a90d612240cea344779bccc4dc11c9f356dac01c6f05bdf0b732450e45a554bce4464ecddea9c74a80158b2d67929115f03127e4efb04de52753a3fcd21e8d42de3da07c9bb4b7526e695ebbf05a07e406c539fb438fd61e80400ad5cc7dffaa67bd284fb0571ae01495ebd73ff6931230986786a9cfa46581aa6b3d6d3d9c90236b28de4eba8e1894ec185636ca3c0ea8026e3e4a1451f58661a524703048235cd27948bcd269f44c24d67d0e3b442560b09cfdc161540908c04e220602546d908eaf09ea7d9ef4fff747c067e1f6b3f709a0d9b82feefb1261f1088617c4ec4406ff2dfb6f4030e292a89e3e3fcba4c6433724823a03fcacc0d248e79fd95655cf07e0b847feff3835db93990bc207b5038e18b03a03fcacc0d248e79fd95655cf07e0b847feff3835db93990bc207b5038e18b099b2f1d30a2a76654fb80fe408d455076606a70317a5dff1f80c03b05c404d46c07156159ebdc8793ad6d1d6aa8b46361f0ec559553309e6fb640d31abb193f4e39c784361da4071127a2a96bbc4df8978e9f07c5f7be607801c42c145e1958101bff76f812734a78a352f68c6a7bd3d50f1d7dd7d258935a809fc874c288b8c916605f4fa1cb1a40fb66443c9c250f5f98ebf82fa988a00bd1c642a387e686c308eb22f49cf4e5353cbebdf4fc0a06729761cebfb81a85fbf068ee98927ea7548d3b1c4e2f31da02b58c7115caa7c29ec5da5313f3422c8315c1752f7fdfdffa99bc8e76391b08db28cfb1d7d1bdb6e0516391d158460c67c70d5123837597a8274be589b8e6cef9daf330d2ce0cb3075b3b0465f97d6dc177124bf8ae323a81752a059c5a42010c2d7723079e1e908f0373522f2e798de5a3e3fe5a381b82dd624d05f6d7a83edfe544897705084d2ca511be800e220502b4a427184879920bc57e8bd7d83b33f992819f0e22448a7af524a689c6e497e587d311b15dbdca8337847cd7e282f1aabb7b2241d204b74068932ec899d48c7e91a8897a8d250ce337847cd7e282f1aabb7b2241d204b74068932ec899d48c7e91a8897a8d250cebfe01a9287adc7d0d8beaae38501be3d659fc9daac62183c43130e508206dbaa8bce6066a55ae3ec144f285b6a539b4cf5c2843fc2f4bb8782121fdcd309468a89afd178d54203c877c3647891043196c3337c0ab6f2f761ddcb6eb7077d4944543a22c90baa4130991402f4474d8f606fe46c7eac6a48bf6c76e9ee51c9ee91c1eb49ec4a8f700f7d26eee65df8075fbb72e87c94fd674012dc1c55ea0d4b1c63546ce8401d13a84f7b4c2afd4324fe3515d62133733d2b742ac4cddf83d9b77f8d2684a71c473d0bbef5dba32416d29ea761754248a51136d2795a289b3e0132cadfc216900e025df7399f425308c8aec42cf682a0d0f7cd1da68ba5e9b438ba53f0aa425be26b34c064e8e8b18b8254594736c2812269299870954774caec51e420125ada0dd41e33eb6d47c5ad7f0de171ff3205a4c8d59619333f2145424b4eb8ba87de42d896851d82bd7217634711a6ca055fb5f64dd865d5db2bb1866360f1cc80bb79da30464b374399c4d35ef47fb7d59161e3a252f85188a39be43d09a34465ada2e4a0bc94227fb5738d56905ed3573efbae7e09a628d1b3f2dec27379ad9616ae6728299114324503beef955c294e38c5036b9655fb479bf1ac6bc0194c8e819eeb1b7bd915b88d217dc955c32fd353ec2487b267edec7a22e39e7a9c55ee9f49de8085fe0fd9d0972b64f8c50cf682a2aebfd14b79c4080092e0c96a591b9759e0a5d685d010b5b05bcc7dede736d1f750594e4aa7a00e160fb6851ce0733c269e6a6b2337e52fac357404909e31c2c0df5edb36040eb1fc6174a7e33025f35f8f75f5ea35ebc6f0de35a65719f2518a0d3b113fa083d8b2feebd3868fd7de0c78ac5119ff88ffa1faa63a282fcab91e40a133234856034bee98b022b8884f3986eec4dcce49892e1ebbab7f03ccd7179ed45ef4d41b0f60bc98e663b68a290bc6ccca9556a2a917286b0cfb6a243fe7e0dba2f236056170ac74a942dc5ce6bdedc0199e72696fd3e16a42071d754082bf1bc8ed550aea1b60ec0e7ecada6a8ef4938cf0eda032b3a636250272ff020abfb70a47f2d8111be761cc55917d56d8f105aeb305319b6a4a42f3904782a046f4a6d1929ed1c5fb3c00fb4630250f40a9189affc54a5733059acf52a035cdd3851c6c4cb345f4d56208426f0fe795567230ec544a6889c3611f042fa05982eda9fba00032d91bf3307a59f7ab7fc822cb4682f9d2212758b6b3e7e2dfbd33aa971110588b1f080fce6f46484407cc20640db2dfb958c0d44487c36a99d28f62ca3850f85b33ef5fa501670c56edaf22fd0208c58a68b5cdf3a1c3ba2e2349eab6cb30353814a2cb20929a3a8878e969b3632237b057d5e481302392220e37dc4937753c73c0dfd9fcf5f48f055cddb9010c6550705b426b4c31445a9dab5ee62145cf9125570b3a12b003b514c4d1d55cbd043d505e7d2ea5eb3a1bb7097eb87777a54cbcd9409b25368695c875bb2974e62daf63ad980fb30dbf9624fd48f26e7f2f11f8a8057654ff67966493180b04a14a7ca511d25919518a4162657c742b58e7ba2b6e01f3ff5379a292f60f9bd166a10360e61659b687316980bc0e1b01a87545cfbea489def881002f9a4ace463cac0f534f8f9f3f59ddb371d67ba823446560fefcdcf7a5df4d5605e89493678b331a916e37d5ffdb399a53ac3c45e742c861085c8a7f791d0134a97aad4984d3421b93d127a6f73c93772ae8d5d6ab61673d582e4b7f23c1ae3ec0dcbd12176a59838ff3d76dfb6e5ae0af68c00dbe4289c338a5df7e0a962cfd63b05456738eb7f4efbaa66bda2e72072dd9a1e347d95a2d9534a6979bae0d3241c702aa152ccc8738852f221811c061ab024a6ea8a8702f12fb5e43667165d755a88de3a3ce9e31d2ce373ee4e4c36d5183bbb100990e586ce9f795d53ce4683633eb8bde02c0062db3bda1ddf5e2d0f85e97e77367b1f07210f778c19e08f7733f0939556ecf55f361223e0676d3bf8c221c564561ef031da27d01075e8d3dc17f333d1d6db44aa394daaa3f221270502249edf3d6c220415ab6cea32a7a5eee621b5084ff22bfaa449bb03fd4f826485c8a8c40dafc21bdd7f9416ebb4479104cccb5e37e084e063bce3cc04f474541c47a508038f63a91abf4a0b47e5f588aad2e746871dc78b32b3f783ebffea4994c3f2b961c539df2c92c998f8eac8c41c8e0b841f0ef60458ed937883bf7de90c2cef37d570ba91bbf4c0a79293ede17b0f7ea32087a4e9c0a9616f21feb093bdbcedf35c16ac7819b7fc0ed188f588bbbbe829197ffae08340f2b4028a728f60c751547e0cc7912969eab23a922570908eab23329eb0b2b7955de2fb5fc945e6d0be35e99fbe3256c1ab068960092e15a8c65d069d029b67e4e0de5294654aeae87fd4900d3eabeb80d1e4cc9bae6dbc509f87a198d14e7f474d3679f5a3bbb031ea06fb6f456f2b927d71d6bc7668579be7f1dd5221cec247772352b12793e6678c2c5d5b05c5a10d3d8ddcbbf7da36faeec5d1e1c6da3ad8b24a7936e8d09f37dabf9cbe5cf55bef086c85b05d90c16dfe4ed50d99e59d41a0de160f1f6b8c4c38bf7f8f5e57fe27da47b33a791994d6b54a2300ec197b42b33ea2f0642ba8e28bc80e660b8329b8887cb52cf7e0f394e4277fef2ee824027e9b04735e29cb23853a9e560085437193af2f195ca964a012743ada4afb8e8cbf749403f9632583a0aa8a83aa36e6fabe1afc62a103ebce214e6bcf42303ec6e31e7429967a5bd6dec56e9cd06360f651e7aa20df7fb9b5d34b8383ece7d749dad35b592fd3576eb5759be24aaa9dfbe16a1e5fb0e403b802073ee0324e7bc1924f1e993bcfda89375868a1b56fbf7aed7febe6a94519c6e3cf9525b22e8042f349e8e6d94ee5f140a91de2fe919d0ffbfc1e36691cc39f8dccec8284972ec3c1b308fc15e8e06b0b3647502680e79c4f4a2a81340e53c85f4ca006c2e31e3e508a79b1ff22395246bc205095e635571f80802dbd0f7b3e2c72b82c59ae8b22056ddf09367811e3f43b9a4a12155dd296d09c48867493ef00c0d46bbcdf5a9bf77d46c61c24792cc979a02d20ef7c9f0c00dd61347e8e45f20fbba21e10e1bff53cc94e4e83f9923a08ad8acc6d2de152135181324e216125246345b2af994488e2e2c119934cef992867cd46740a3be7c0048eebcd6f7b17c2fa6d2cf0b0227a6801d8f1d847e44ed14fff6c7bb1f5328ca261aba4b32a790aafc0db537e9c5f2d8d997e23316ca2e135aad75edeb74a1d6003fe2593c333afbcb420229cecd774c619462d15583163b2a03acecd638338a493ffd42f46d75dad759af2b85a42d0a9744dd52dc1f92c237e9a8c1245c3e3150d31d8f42a653a046498de18c257a7982a6d91f610575066e9447c7f82a79ca0ef2bd757d9a737add971486b5be51f5e4710145bcbebf2b6b5e9c43fcfe14b864b63a182e30e134464715ab55d61bf7ff856449c21a7fd6a68cdeb7ac8d7df1d3a34229b821ca4992a9ac5cd2818b08ae9e13223ae947de3df2884e9e55d419c3213304e73698e60d98a153ef7b6d03ebdc0d000cc6ddf52536c83cbebc3310d690cedb5a90ea29229165896631aff94e9cce0276b1b66273db6fb456c4163f964461921a28190920b92420a3363b7bf72d3efdfb90cf70d32762b797d9481260ba632d9ea45801d6e89199a5676d41e507cee4facdeda745573fc269388f7b17ad797349f866a8281a6843ad95b619c3b999e368751c820b74562be4013fba6f4ee2140d3ec882826c98592eded3b0b4d1634395efe232ac6a85988a55efb6c18210bd23bb363d2151f75019a7afabf3c104ce76e49e37a75df728cf24ad60599eab0ba316f54d658b9647bbc70076fda9972f28a2072ce5610d44cf8d162088aca7180a5421bcaf4170dc1b3704304bda9eb06f2c4ef8557cf3e841a875865b3f46c95f93869b9acda08d4c725057cbc3a45a2e1aa4bce778a270e2c8a0768937535db1ab0120ac74b9cfb930673c69d05661a0cb79663e4756f3674a23c0e4a2a154d2c413e70bada7ee8cda45ebbf110b930364380754584cd12da2ce4df4ed37c890aebf83467ba1c81248093c119c721bf85ea7699c34d72a4586e07f35d1850d6cac22ee86c7f4c67e5a4ff7dbb0a642b4e3340eadb597a4d9443578f7e4fee188e4a73f5c2fb0c6418806439210cfe11468749454b584144a2818b3be73453d9517de659e81223342e8ffc87570b853b48657f5abd7383c2db6bf091bfa13177b060d1b0ab461feed5a301c41bc5caf4754ed0c55b16c6585ab9c8d50d19972457cb153905c21fc9b6667b5f1637666ad829def1899878b49691a24e657b3e978bf289c48f14eff559195d62e940506608b56a2cd6a3848718d6704b3082123526b58c22d7036985c7c3c87caea9bde64f9b4519aa8edc44eae81c166a288b6c671372877b01c92f4ca680f0867952d38e64d904eb8fe7816dcdcc154b78a18890503ae8b96c45551d7f3dd6525453f7697cf05787f591289d01d0ae1918238ab1490d45660af0d5404f6e42372ea47d8bb2ea278333ee3b07649d37d0ab172710d9881fd353b68d182ef468e18d26db734f0094473dc79b75e6db486233dace5328c03b3bf6fd61f70313525c253755b11729f4e549222f0c7c6a1c3e865c7e3c05733582fcf550cde916d61bac14319d0e06fc0fb8e0a4021c29ed619ca5157222a285f2a7403d8d704c50aaf3ce71541f7f9a30f6c3417cee97f43c3f2d30d6d7c80e43edcd60bee3c9aaf28631f0b56f57826d4f22cf3a44d5070efacb2a6d575d130913b5191ef8bb60f0caa5031d1c5dca1f672e7b1240b99b86b951a9a3cae9b45781e775b5b1a1a2e4e3df318cdf7b626148c7a4dd7f5967849a2f3a4b7539463ff29faeeb6a9899b21e507f4522334a9cb063e6f53af416fd3430c4fbc32041278261da9032f39c3b9ae108b9b752d2298744847337c57b13aef19fcf576ebbf45724523f1dbd534146d418a99d002c204e07d07ba5baee8426f55cd6af92209b35074f8ef0d6ffa3b22d8154b9bf0f6093841b027f4e91baacf946637f8dcfcef343a5e5061592b248836a43a5ed5b82c3afb8116610b660f3e116a62ae2c47dc899dbbc7ee90cf7d2dffff02492f69b00693850439bd1918c0f780d87d69c2a4581078d020ef333752ef5afe0b562a4db1e4b781aacfa57409144c8c91e296d749f49a03b7df25709daea6a4ca8eb87c5e08a260d8656c445f55f37a9ed03543ba4ba39d09eccea3d3c99b8cf4493b958e661aa6574d3e1f6f8f8d35333dd16f3036b0d1ca2116ccefe93d853113834ac49835fcf22c648d26425b3a7bfe0a3f2a3f82c2c3197b61eac4b93b1c845b05d60f4ff57beeadfc802a6cfaf62e4f91b33415944a0fbba825499d084cb4642ba64be6a665dbad4978bce7d63b068281e29c37984d8c690bf8d4432972e6b2bb9998c724aaf40350c10f1a2235c9e0c5f4e027a3eaa751012b31d6b517cf9f40aa8e1f48ec57069d7fbb38dae321b1b00fb36746d95958d978b473ee6e688ac94ea2cb96d63cba05c122ad53b2e8cb345928ca3f17590e5422747e035564f6e02588a1de31b83308f765c13fdf1d1e11f36d7529fb2a6c087c7fa3842b2c25cd3c7062d97142e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85576b99567af206cf4c526fa6a29dfbfcc95d3f470d32f4935de7ec885ee5902de76b99567af206cf4c526fa6a29dfbfcc95d3f470d32f4935de7ec885ee5902de7c7fd957f57992f70f2cd6e31f60d39f49873027fd593c3f9e38b715c731aa14a08e1b7743a483b008bdd8b41c8c22324760bd8489742c99cb704dd5da6692f3e83c5e03a6c004c42315bf8d566d9916609595c040e964c5fbe026904bd922e7e83c5e03a6c004c42315bf8d566d9916609595c040e964c5fbe026904bd922e70cb2b982b62253f74e6104b0cb00a8abbbd657f2e03b27eccf9b9d73284b31d82ec446d44ebb53ade8872ffc6fb4a8848a3932f194df741db5cbfbf5f5012e23f4ce22dce1a890ee362534ad74417dd7963f603c4e75807496931c52ec8244d6e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855741e475fa0484417777be3b858905990f1bd7427e710a2b074dec9e1c9744efb741e475fa0484417777be3b858905990f1bd7427e710a2b074dec9e1c9744efbf47c690d28da33a29e08ed63c94a7c6aca6e5dc403ed19fa22ee0955f801b3998728e263943be1c80c3720361c08c7a19404913f251b0f57dd84330a8107b288ed49c37db6fc4a4df2f094b634611e7a5ea69514c5c5d5e703e0b51c9c5e8296ed49c37db6fc4a4df2f094b634611e7a5ea69514c5c5d5e703e0b51c9c5e829670ec44728296f796556fe8c4b7a2c96d78566d1edcb5dad323970fabc200e1522a50362c61d798bc75548c14a61db4a8f8387229dd1c4862b4d6b5e3bf498be881a47ae7232c35a2124cdcaf5de9f1846c40f260dc8add24553e5ead0bc66e272377c7e333c92c667acb10345cb4b249622faf60ab9e35c8d61e0d4f37845e316d8df4a903665ed0870ebf2e860bd8b6617b338b0b7e62783c5c300826743ab96d8df4a903665ed0870ebf2e860bd8b6617b338b0b7e62783c5c300826743ab9bcfa845eec47998890a64d21da9cbe07b964a34951dcd3c898cb29627fa00ebaa10eab6bf5e496526613b683c6d8dc55f48443c58a9a926473280d2f5f78bd1fb8d091c3fcd493c46ab4a6a17049faba532d40ea2e2a69722ffb962737d41428a95192fe1dcf578f7b61a2c82e507ff5fe363edbcf8e35c76613e4e4ad143ed9a0d0b287b727f84ae2c7fcfacc6d76107eeab851730b4358261e6518e02bbcb9b5bf7c28035737e9aa47db858f1fd627535ac3c09832cfc628898a27600137d6387b812072437e684b096786bce58317d4e0db74e3d228881f1870113fd8f4e8eeb244b178c608951f797ddc1dbafe3175d087fc9a4337f34ddbcfb78d2eeadabeba0ff9d06b2db7ac72c85abb11bdb06fc8eb4ee0f8afeac0362f9c4f48339550b910f2fffb9fced800a98edb0c94a2ed1ace2dcbe3b2249042ea6c96860379957673254a6ff7410883dfea747f9e9c29bddc83e26ff528dafafe369e55d9a7f523f899344a23f79f8072eff1da9b338d86468bed6604e221a7111d3de0490f03c50c77530247bf2146ac588cad3868b99dc337f97001784d668fd7ff5781c1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85514b3b69a8e3a1a641fc7fa976aca2b93dcc9ddad1d3837dff0d57a37c199d91d14b3b69a8e3a1a641fc7fa976aca2b93dcc9ddad1d3837dff0d57a37c199d91d82a16425bd7e5b467470558e4683a15ff0eedaff69de2b8635437cc8d578526e7e1b35d5f58824c6fc8b6d9bbc7a1db46d343a50d77755913139b1ff23c99146cdeb5db0e00bf8aae4a0256854905339dff0a8a565262cbdec29558b47262c84b724ce36a5890cbc5166d027be48fa9eed6b5589964c379f58532f4d82c10984e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550aaf3640a4c32c60acc4dc398d6991dcdb20c39e826d0c7fb22444cd979107460aaf3640a4c32c60acc4dc398d6991dcdb20c39e826d0c7fb22444cd9791074674ee3cf9a7cda207629b1f0e478c8a6b4b90310abf1ac3d2a3d94af1c9b9d7697a2fcd21f73be5e8d2081bc01865d06af4e3b6ba8e71b6c51a4383540391146aef69ea9444dec1acb7eedb544ab57104f93fdfe68189918fca2bc92e24215d06ef69ea9444dec1acb7eedb544ab57104f93fdfe68189918fca2bc92e24215d06652e03d16e766fb21102d2fed5ba22cb60002ae0e408398489cd1a8c43919dfcfe5d1d4ab31e10e8962c8fc1a7fd86ccfd2b9511d80b0acaa676b5e90179dd0362b65f5eb6b439b6cdad8008ca814aa696d25a29fe6f3ba850cb07b08d7c9ee8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855100e75997df70f2d0f522c182baa05760890f0b7106dd299588bebf08bbada5f100e75997df70f2d0f522c182baa05760890f0b7106dd299588bebf08bbada5f67a110793bd9fe02d97227eab0f7d4d09f2ba8abb338675fe500b2d308a296f3c784e820caa05c3b98ee19e1fe0ca8188ec59c5049bbfdefce01601429152d14205f17941271425c651e8539286a794d67b6703dae6bd88534e529476b743e4f205f17941271425c651e8539286a794d67b6703dae6bd88534e529476b743e4fe2cf10eab6850970f07a911934a2a75b179e1d41004d09337cc71243a3fac7d797ed5cb502d5a5e492efd95c45bac3efed04ed64de6f5cf6566041673fa5beccc0ffc27bff8fdfe13c9871076833e94f63c3607f97787890411fbdb555162f5ac0ffc27bff8fdfe13c9871076833e94f63c3607f97787890411fbdb555162f5a49e988735130b0734267e6aeafc6d71d151f88096d9cc0cc95548545def1b9ec572a2dbec682958cc8f4725d2f0ad5b14d60c5f2bc9fee505d949c9cd936cb2413e90494413e9cf0c988df1b9f3a707f13ea1a1ce9a53d73672cdb9e27d296cac4ad0c995734ac507d8cc83bd37baf735f8897f708652acc08cc2a76582a5ee082932a3cfdeb7ced07a93bf47ec6649223b746befc1525d7d36a7a5f0c99b2e082932a3cfdeb7ced07a93bf47ec6649223b746befc1525d7d36a7a5f0c99b2e0e9bb5fc2970e5a0c2ad1849278b05f9eebd44d2c8f6b6dd89cc7d060956aa4c9e9bb5fc2970e5a0c2ad1849278b05f9eebd44d2c8f6b6dd89cc7d060956aa4c921bcc2b62971e3eedd7adf0e5c3bdaae6d60338e5cdd60d2e3903aaa11525297919b6086153e648a383c105a4226486bd09b205e8ee101150897870991b0cf5923082947b9649bd8b51ecf8285105a5fc0df338ae152990c6550d12f82a03b3b0877fea1688c7f4fecbb3c92a0e717efc8bbf301ffe0e78f5606f78cfbfa5842a4dee279de622f53409450993b9ca9b61114ec15c74c2b07da9ff16de8783f5530f69a0ec5e68bffc4419691a06736708f75b56efa747ff712018e6321ceffeb28acb1267b6de6f25efdef6cf9bff930ab969a1fc25556e9b8b9ceaeceff82a828acb1267b6de6f25efdef6cf9bff930ab969a1fc25556e9b8b9ceaeceff82a8268f82166935d077d247284faced710e918df98cb69fc6ea712a48811fbdc06b0da2ac464c68ad03d8a91bc13a167d21af8049a1c87f57c053022fa84db754db799518e5bf18f9942eed36f6325b9dc4e680f6c0565bf5bdc7aabd937a4562bb41508b2dafd40577d50709292962981571dc179d198be38acfd6d0b031468eabb923f02859bf469c3d5e0e7e8e33eb9554bf27c5dfc01e4721555aa4cf15ae3db923f02859bf469c3d5e0e7e8e33eb9554bf27c5dfc01e4721555aa4cf15ae3d14bff956f4b9cdad7ac30c32b22e5ebfba87036d5665317d9e8d8e148687642814bff956f4b9cdad7ac30c32b22e5ebfba87036d5665317d9e8d8e148687642873eac869ce1b066fd4d67b6466b92abeeadadef7e4f3a39acba9d23f6a142d02e4fc3d888dffd8dd2490d7e58a43fb8f64be33636990a068722a5b0e82860d4c6ec6f058c77098dd9e842c668c807dfa46ba5c7036eceb87e96776c8bb8e7d766ec6f058c77098dd9e842c668c807dfa46ba5c7036eceb87e96776c8bb8e7d768eb31a7bdd79f76cab12c859b6bd77ff25ab0e6fa550bd5eee5d4f0e360afe018eb31a7bdd79f76cab12c859b6bd77ff25ab0e6fa550bd5eee5d4f0e360afe01b82864e2bc7d1bddbc6cceaf70547c3d050bab7e286122d886091c871ea5851cb82864e2bc7d1bddbc6cceaf70547c3d050bab7e286122d886091c871ea5851cd6b754b4565b293351c46e7481f97fd528e3aad59ac04eb2150f5b37a57da3d164c7f54a7ab2410c9fcfb327890fff74d7389f2b7654827f1728d44ebf64c9258666011e521f951534e5cc4917cc47506d2721e7e91a4eb2a58c46884a93d5ffa3be97bf7da04c6e7c35746285a239d4e00aba8960938ecd400b61198712df9d33a7c374410aeb8616482504dce5896cc87df77920d8c00964878a6705c8ed77d5d01587247c6c7faff5e157e2c11ce1bf90ff4d5a15714291a5730507af025ba47a25641bf057303bfb17ba83c0c11dd7eb6a4ab47211ddadedbf0582e851d01f8d8a00674fe171f962e1ed5caeb2e1eb5a514cc54e7028cd5f1fbf3c35f5d47489be22231457d1a68a2d625fec66ae560e4033158bd0cf387d81f7db75070b6c71354a07a0cbafdf81b316a43e3d2b0168399a91802d7d5656882e6ac773b95d5fc2ff3a148d3db26ed1c9b4f1ee81d377d0eb5525ca22d175e51cdb8b34075d5fc2ff3a148d3db26ed1c9b4f1ee81d377d0eb5525ca22d175e51cdb8b3407c3e6505ebf52f09bb9355c2fb88a83b2868a01d643e071015a5dfc388c1e41737ed2dbf499602c8a6b144fd52129434838b6b9036d7c249fa5e594bc02ba377ca9a58da0fc58e0d51ae4245b10b6b12cf96e4884c24907147d29d31a76e5dff3d93f7006151c13e79759c94767c358f417a153dad079c1f72ff955782864c8a2fa6e00e0b8333bd9c0676dc03aa3e3e359832a4119b6e40136fa5e4c0033fdf5240a06492e428db14fffa78e39a5611bb0b0107535eab5f873f26120a7499e9b6933407d2a68da4b52f19fb2c1677b0943779b6b7a7976c5f6c3f3e9dccac403bb22c294c219e75be133689d9a2176e80d6089f295cba52595064806fbf014ab6cf56cbf6460032579a82e45ac19822c1ae21edb25b89d2599a5d4c4b53b67366ddbf02349d03aa720756009530d0d0c3e63b9a0cdfca590ae8fdbbb69b388aa0f7019dbd4b0ff73d29c33843b25254ec9e29bbe79306f45ccc4b49d5f91ed8684041ae088e265effafdd10c3a25139a5043f3ed6c876ced6e812b6d7465d84a6305f5e94f3ffde42875f1b30398cb7e96353f82dd4ece28418f8023c61d01aa4821fcee7efdd054d006920e633affff71a8a7010dd1a6b7628fbd739a15e8f300c62f30cefb306ee381db099130f7bff9de7b3a6bd2d39f006602d978bb896a4496d3ad965cc2982acf7b7e2626b3b21e80502a355f84a50cd22e2f1f84107521854c67190c8d0e5f2dcda5a73af43e0da5606a185e9c0629f1390e119fcbec9437dde64203fe0d8028b19c79a905d298bd89950db667ae86a8083861eb68fe15584523a69227c0f4963e2795cd25e92b0072479f9946575fda8471bcb06404ba8e0c714e4110ee19f9050177e45bc7b2dcca39f38d8f9248d0ac95daf1fdbd4edb198b23262f259ac6214e5a099ab784e7a991594ee108e4813d36b632c61f628fd0db9eb8b04218eb2a3835296406abbc39e4383c3c7e1b012964e0047eab162c5f648fb31ed487b4967362ab56c0d866c625c934efd414ddbdb6061c8677d2f3dcb13968eed92b8bc929d0893c763b57aa8d288af2cc8836274fc7b4e66a7c400cf98ff9bb79378d73ed3420b69e878852b48cd7fe663ceb1e723e3872d95d6cfaacab6e2568049289e19a2c3b03d6d8ea808eb82bea0ca3d8ebfea177b65bb12319e848f6fc0d90458914981107f32b3be184329cb10bd8c6e01fee05898edee4c26c662e568008a2a842bf2458a859532d17d3fa375623801ff9882c24e986f0ef5068cc4c22973f9854e9257cdb0397bb6ae0c074074de5317ad59ca8bc4cc3d87d3102b00adf133d1a9f97530e8b71f1cd9dd5f1432ae2731f430a5e251e11fcab66d0d09b0be052180f6a5a8d839c3d9893557a3459920e60c5f4bb248efa366cf442054eacaa54d96d5cf60d2c966786aa56c4450d25577ee2865c7058bd6bfc1d38691bac2a23d679ef13fef6b0bcc817cb2391f3fee9e311a4e33b1a9d9d9e7012d0c0b6889229ef210489692f2fd1cb17b830812bedf28e386b8a00d4cb740ef5b79956de4a1c36b67a03cca0e4eda717b11c9f2734997220ff2675baea19420e8fdece35a8de460276e34162c1d8b69491b94a9491ac82d331ceb6acc704b2ef99f458138fba3816d0cfbe8f4b26ac3a31dbb68c756fdcace5b9d0393236b44863346acd2379affc929c30b0d9f60304e61342e38bf5b65c37538c31d9091c1ccded0c6a571cf71b42986b4faf78cd296d1531bd0fdab275d139c9b858ee5c75fa42dcb8c6bf6cd0931fd54c90a63c533acba081e07eb6096339c9b858ee5c75fa42dcb8c6bf6cd0931fd54c90a63c533acba081e07eb609636f2e6fc612ce106268faed07d8304e04f11a195ce96cfc44a0404e8b760c45f76f2e6fc612ce106268faed07d8304e04f11a195ce96cfc44a0404e8b760c45f7dc59f4700271e04f2fc054dd30d5914c4c39ffdfa7fde5960cbc96759819ca93dc59f4700271e04f2fc054dd30d5914c4c39ffdfa7fde5960cbc96759819ca93936e399a9412c8e5e74da49929141f758be85fa0d49a21e5b7f25cb90e6090ebdc3e145dd6fa6296ae305694dc9e52b4002b70862152ba0f84a35021fa6257b84fd912e27c4be7f0713f51625440fa06a117bff01d97aad6c22e5966a0453f305f2f7b5c8c562d7cf0e56b48f54d27fc30b2e3e486698c92e326037a413eb594984f8dc250c14501db69dd8ddec69f24fe583d9be78239f05b17ec89fc56cc37984f8dc250c14501db69dd8ddec69f24fe583d9be78239f05b17ec89fc56cc37da1493fcdc6750e55f90552ef9275da8a3fad3b4240544d22d91d084aac22c2e83dfefc42a657a8d190294e372d0edf4f5035cc165aa2d14f9d4365830a67df3a98301e09ced69d9fb527e4c69ca8d3c6a54e6eb6239d3b8905e43419bb5b7eb114694e1298552b4ca4691dbea8a5bb2046fa26b0a820ac518a6bd6f8473037e6f747b8f60faa9c5293b174d03fffc7a121d6bdb4841a9a7d0b2ca8cbfc1f131dd80247bb81325dffc364b19660be1b418231567ecec56ee9f9de354750bcac1cb200dc3527a7456a6a1fbe88dc54ed3cbcc07c993d6b3630251f4fe32b2c33c63257a9513985e5440f5364cc3cb71424fb8b49887d31a55aec12e72d27838ad21bc9c4baa8e8584691260b49faf8ce8e7f24b3f79a2f814393ef0d09550284ed42292ac006e75382d03492e1945ad0f578c2dc6dbd4156d5ab8e03884e6c877fc8693d274b2e7666af0a77adf2b9e5f9553a6299a6791a923583fce82f3802bfc8693d274b2e7666af0a77adf2b9e5f9553a6299a6791a923583fce82f3802b7df61d651f35e3832804375eb58498a684e54dcea55d66557823c1691a656802012a8cf9a5fd7bd2dae271d4ab53238fb0b62e2f38d26a944fe3b287b29b90c9678644648589a0aa5fcddc8e6ff4e0c2048f2db939213ce06daac90f595546e8678644648589a0aa5fcddc8e6ff4e0c2048f2db939213ce06daac90f595546e8e9ae8647642e7e2d721bdfc3d7a319679ce691990e9bcb51e948ff9d352be74ddaf5e3602d069f0e9badd051ef9274ec72ead8e2c2fccb19b7086de8170afb2be43b129b9c4138c18f5139bfcd6cc1d7c43304424b413b0cb5e7d420ea8331e9353312a61057fcce756796469524a752bcfc6be8be530ab9153529bff7d2bfcf1949f07008a405bf507f8b3f311849c2e1d36f0f3113e9d7c835e02e32121e89cbce097eeda0d95ddaa25dfac731527b283832cf567676c4b293b3063267374cc64f947b6bd0901576a116da088bcb6c3ba7887b15a8e424b3384aee07ae7fd76103449cd3fcb8a39e48cbdff8a675ee228464914ca9920a3f3cf5778a4c8ae821e5001350b532a253b73610f7ca134128d3277c6b722b0b21914c14cbede62d77dfc6d1899e146756c15cf9e166d31e90aef9f268dc8799ab308ab21e1eafdacfdd276334ad2effb166c293cf667cfd9a4553c0f61179e7d7f09283cd7ddf29648c1684cd18500a2ded5e8c330ed8478715a9dc9ad9a23b3c7d469fee2ff71e2b4fc39cf5e6e74dc734c50838af077e5c68565ed72e5f97e7bd07403b18cb6114ef0889aa47854c2b4638ab90f86c7e2aea297bf7c41f79ae1316d9384ea391358931ece47db8d46a61282c4c8e71bfbb26190a44269de73c7df2fc44e2a1a568ca013ea1734f746ac49663933d407f5adb15825da2a30c843e832c22d65a320bbc836b76df86f5baff9b90bba9979af5b660b2afafa079f14f022b406f2a4d9b955dbe6b1e91bb9b0880615ac3d4a9b3d7997ded02581aaadd84ffcced59c9979744cc41d03b5b1a86d1f4b413950e95ead744407a1a88c8c71d02ff96826ec6d7d8139b053d95c5a59dbfc75fce4ca8bab8582e85e0b40c7f43e32c5cecfce75d09007a30187a4b0ab0f77365c80d77426b195e12e133e6e769a3308b3b5bedfdf6ab84f83df605c892d7cd367fb29bbd0e5658688bce7c68070110ec09b8523fd1673f82b17f54468b6761be32b4b947f03160a50bcce87f353fe2e57f40e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855095c09a8021a5bb5727c2e6755e065572eaa7052a041bbec58775c1c04844184669e5a80ac09e36d282feef04273eac50e25dba6025992783f2f43266ac8a8fdfc615077c7109a857abe26227730a3231d49a86ec96a263697bf8a2108b309e5fc615077c7109a857abe26227730a3231d49a86ec96a263697bf8a2108b309e56105fdbafcc1531d0220868458af5b6e67459f40b6741e20f04c3975fd24f1dd85db738e2483e998f45aed793576462c12d4743f2250911113d40dcfc5222329c44efcc0376244d7dc7f6d21695d0101f9a3609fe60d0f6e6f6226399bd5beb2c44efcc0376244d7dc7f6d21695d0101f9a3609fe60d0f6e6f6226399bd5beb214f34c99e8b3ebb62417d1e522c7e6d21ba910dd21f30c801e1d386516be4ac948691bfcc5e31179d757485e62c6cb5f4740def654ec6b419b3ee19df17ee69fd335aedd1e8eef73418eddca7e398182672f491083c77c6b5e017da594ca9222082246f765400ba042bc31e1ddb1a644182861a402943b46ed206f155d4c2d0aa9a34caa0806eb83b54e08fc0421e4cfe4463818e012e5ad3f4282b6c432cbeb4753f79acdcb2278a39f64cba71bf555ddb2ea7f239641c0a5dedb42ce35a7c10d305c929593987f70a3a34d13418e529e3d9db8b344eaafa2d3fb66efe100d88ba0b2affb6b11c75a216eca1ca8a16a9abea9ed182c4055c3b776abe1c5a0bc434a3aaf0b2e875cbe2485887b919e1ea2808a22abe34998da7f66bac08651c1434a3aaf0b2e875cbe2485887b919e1ea2808a22abe34998da7f66bac08651c1620cde9bcc1c9697b912b15cf1f6523fc6ed061c5016221bc60a4a9c83d23aa9bf3ce2bd678d993dde66ef95733567d05e734b614eeb706dec06b0f9afc3e24c95a0084188d95e2119ca16e0c998c9de9a93b6c01f3e46133074101a90767a74432c8b26157226dc8708cdb740890eec3667e527e40a2a4f15f63b73a1c9aa392df3e7f46a08feeff0525838ce968a3b38d95ed303d4ced4eef16adc59136e73dd6662e61d6dc52599eae9b7f985cc5c6e6cf688fb6d063811d047a6aa3d6d801485764c7eebf32a0eef3283d951e06e557a4a517f83a6a571bda89e6395ebc41485764c7eebf32a0eef3283d951e06e557a4a517f83a6a571bda89e6395ebc409accd72adc212291bc8f27176ae44e3952611869a51bc0868b30fb9a6cb7de776ad520ef3823b0a5814e8064ef20f098ffcdf7de25e7666df9039c4adf1a1de638535ab344cd01934702980e1493115875422824dd1bef6387c527aa5a9d8dd6e0ae8fe70fd1dd7fbd4877f2306c60c1d8fa1b698c3124f66d4c216d275b4d359c06da63e84fce008b71fb931467282a4f7ef495de3f4c2427fd8dd50e7446323e76f033ed1437062a97cd8a010e424caebad5b44f89c70664138580ee72fea58b8e2a4e62bb1adffb0c9d788222d21e69ae91434de1adb137d0d243816e24a333ad8d1792807189b40b1cbfec72f11a45e56aeb2bed57f716f73f562fea8d20b9c2465c7b39a8c85796907a4e3a3c1ac285dfcba003929eedc1a4e8df0ca4f276a12dca2dd742aa2637a157a7f5f4ecf06458410dd56132eb4e46c1c054cd498eb905a7127f2d80ba45e4c38ea5b926f3f43cabf8418ddd468d29ecd8bab2e98eb905a7127f2d80ba45e4c38ea5b926f3f43cabf8418ddd468d29ecd8bab2e8e63732a14812ef066b0134f539820e0f13c82a4fefc3ea02144dbc3def2ff6eda1b7d3a2ad874286533acdf76a40376b9cb27a21a8e2f1627e420428f09e28dd0fa43acf74c1fa655f4cb55bf3e90823696cedd91cb520d642bafd9d7ec1c12d0fa43acf74c1fa655f4cb55bf3e90823696cedd91cb520d642bafd9d7ec1c128fa098410e51306ed9db82bbfc9a5e958a514d3e3f343d599910dff88742639c7dde7e66454156c9a2a50ab6a41d45ba77f2583534487389156d8ea072fc566f7bcd9725eb50fe4aada6fc60bdf1671be1ae97f01b174dd86dd13c7b2e0718a4d0f50a7486dfa624e8f00d95b76421beaa1dc810d29ab7f53b3cfb9d1545307352fbd470c7cf5bcfbe0f15e920f87986959002107ad524e9bfd4b74a5d4371f9d633f7c388838853e4ad823b80cc0f18c82784f5a6dc57c986ef37d64f8706d0ce269f382b7ad4de23fbaf1cb053a36edd0220e5c7cc335d1efddc6873f11e184543c2cd65b9f3779a3ef3851f77886fbcd7f9666a5cb49c6da18865aa513686cb97d7999e21b08ddcab2c3c3c60e9af76bdc291efb786fbc959a3e57403f74dc4351a55001f85987bde95775958d87e4cd00ef48238aac3c9bb6c8caa663867b77b45ba84dcfc8c3cbc359ed873d3dd9c1472020b9d94779f88ef5ba443884bfc68f8cc541bb6a7fa9c0190cddea8fb964b04610ce575d810c137a7026bad1cfc51b3f7870d42473e79b1fe1eea80284a9774ce7cfaf9a5ab0ecff5495dd1f6806f6dfbfb4e96550d0adc28081654ed8a3413031970acf687a29fc1d81ac78cf950d47f142cc9c5e29a3791081ced10762c7f8f0f456879ba3f18af48895a2f7fa368764950245c00a3c7f468b4655b593e4c189d1d655125465585796d4ca3cbb2df7e9a680ee057fcda98af35bd99e42d38d3db48d550cdb9d8c966aac53db4f25ffb4ee3f5c273250ef12f9c07a466ebc5ee291d6ee970acd0aed9a4034ad7f12c22fee0bb95d2ea459c0cdea4cf4ce2c9a5b08364dedd0801b949a57dd9be39253083c05820aaaad733665906e081a597c8d395966e3ce3c01d50c45c543df8281f325e33ac6a4346636af3d2525eb05f4532e607983d3a70013c3a469c3df8281f325e33ac6a4346636af3d2525eb05f4532e607983d3a70013c3a469c0e852360d4b3de9f0baf07382e30a071d6e9f904d0cc3d09b2289bb59926e26bc149e90e3b36337c5b8b5649090fb7a359de64e32257a9b91d300b6842976df8199c198af7bf05b7dc72fd84f43612f747871e13b3b9f3a4a89f7c0533af1af4199c198af7bf05b7dc72fd84f43612f747871e13b3b9f3a4a89f7c0533af1af41e7aae307dbb94e45d3dd84d09ec0510bc91ee08472128f1cf4520821487f61eaf7ce0cbea9628716a975524757fffe2f4255694dd86f133c59b304f50132a845fa004334d146918ba37d55f4982e282f05abf2aec46765ea0c8f7b077f2542d5fa004334d146918ba37d55f4982e282f05abf2aec46765ea0c8f7b077f2542d576b95b05e3a29fd37f56c20eb4dbfcb9207974f426d453a94184c168d671b69e29a4bff8c3db654641bcbc3df61e7b82f3b33a34b165c2941deb49457c21defca6f94e272fd1354fbf490d947228ed04e09003b0ba7b160e1ab12496c7e776c0e9d052217f9254ec86f802b496812f604c735be5a94e622cc911f91de338849bd32109616a0f4ed6c07f36fd1ae33dab694170c01ea34c7d0e72e49060487747cd128d4e7d661efaf98510f2332dff7344f95e51a5272bea276c7241b0f23ed64422cbdfd0c39e279187787351595699dc07a4917f629b6eebe85f09f6874a7250560ff8189c711f5944fdf91dede34ec989d99700dc4ed28bfa5791e08b77f8d2ba9c11b72ceb400a1c3ee23bccf1466f0aba9b08bfd36886dc4f27763a4bfe1a101bb5eed28d362708e485a02380959ee9f028f358f43e3b2838dd426d359e353205eb2b3a9175c607e178cc2b056765bcce486cf93cb0e6943ecd61ce049e0a68bb17ce4a625c32e6392be846b04bc63a97459cc2253d2d4980c82655f7794eb7c6f479a7b4a81deb645bf827b338958c4e9138dea37a2d0b05b3fa83f71e625caed0a7c63367bc8052e3e3d45977934a3b4e01e247f6e09a98cedff528fe679aaf74463241b4fbc929e69b33bc2d4f0f42d96f19214277ceb06cb16957e9c3b7381710459f083b183569b47abe20ca41a53beac80bfc2469e175a59d700e758dfb2e4729b5307f6c753e7d05db72d0ad75abdcdb6fc78d3d33eeb8b4bdde758dfb2e4729b5307f6c753e7d05db72d0ad75abdcdb6fc78d3d33eeb8b4bddbf86d456a7c8738fde04703cd6d9500aefbbaf9a2d03151b4bb5048a82f8e82264489f6f40d9e4d0d860e4d7df6c415baa2ad310c46cda50cdd724bb0a4a4ec8d226889d045e3cbef7592e4795820554af9303d4164644f5bd62ef19dca5dcd1424943757571fe004b6dba2a2d6e38e0adf4393027c95c21ece1ca773160583995f5d894bab86448b42f0121849f387e406bc3b364d5955d24fadc56ee98741fc0e4f31bb18355680f903a5b59efee3a8521b93dd61292caedcbf21452f5d87bfa6a47fbb4404e2f0ffb979b118fe79632221b540d65d7e8556cd1697849e9087f0f86cf724e733bd8a436489f28cd2b25b7c443b218fca031d5f64ea301d29514660c0214d6b5617c5cf1367c115e66877b171ec22670c036863235f6366d7424e6860f4297670cf6d6c9ab5d6b60c635f2e19e52b78bf4c96d2c1adff3ad45fce7ff373d4df2bf0c61ab003d6b80de9ac20942c587adab92b5ff60e1bac71e38de8ae394b702e2c6470d3464a6dee4e1435e5bceb5404dd07b94c7cb461b1b80d8561a6d06632453a06052bd3785494db87b6dfdcd601aba841bfdbd48f2b00c99511b5388791566fa630d7d9e8a1e549bd864137a54e4a3f8b8e65c5759ecd98b6bdbc68e95e8a06a31081b07a7a413e39b3d37eebd260091a9f7ac7b4569e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f4ded069d0826c3b6666084f861b10ad4eb5a40cd1cac6458a7339b9617242be7dd76c5501daf53277e35c00e1ac13606ca54786b08abe2a9045f3da15c51b05a7d04211354b210c2ddc1cf4cdc72d92c9a7e6937a34e80b6081f886544e2a02deeaf899b79ae4f0771017ada5ec2324e2aa432071cfdd66aecbb492f09670f19ed6d323664d37b8dbdf5a3ed165f6b1022622679a2203b1dd94e412aee303c66de60daf9116c5b9fae1eeddb3e7825a0d780f7067336fce0e6528a3c51aeb4d0dfe417179da8de51778430fcf0678248edde9cf3fb63e2e591b346efc85c57162d0ae978d10e37be78d0914cee4606112da56e5ac11bf42e1c1a834e8ef9263fcc03e35578a1cf36b169691e88dfcebc3043ce25d98be6b7ceb1f5f6a05f24081e1ae08f32aba30625ea5cbbd5bf2a3384c9d2bef2c7b877617c7283dbb0b1906424c74d0f31da2691185844755740fa874dbd9314e33683c50b1c4c79fda8bcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-apache-libcloud-2.8.3-lp151.3.11.1.src.rpmpython3-apache-libcloud@     python(abi)python3-lxmlpython3-requestspython3-typingrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1_@^`^O@^Nt^ P@]}@]@\P\s[[r@[Z4@Z@Yχ@YYXVvVrV5ŬT~Pablo Suárez Hernández Niels Abspoel Sean Marlow James Fehlig Marketa Calabkova Thomas Bechtold Tomáš Chvátal ranand@suse.comJohn Vandenberg Sean Marlow sean.marlow@suse.comjengelh@inai.detoddrme2178@gmail.comtchvatal@suse.commc@suse.comjmatejek@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.com- update to 2.8.3 for the changelog see: https://libcloud.readthedocs.io/en/latest/changelog.html#changes-in-apache-libcloud-v2-8-3 - Adjust skipped SSH unit tests when paramiko <= 2.7.0 - Skip conflictive 'ParamikoSSHClientTests.test_key_file_non_pem_format_error' test since our SLE python-paramiko package already has OpenSSH support on version < 2.7.0 - Add: * skip-some-tests-for-older-paramiko-versions.patch- update to 2.8.1 for the changelog see: https://libcloud.readthedocs.io/en/stable/changelog.html#changes-in-apache-libcloud-v2-8-1- Add gce_image_projects.patch to update the current list of SUSE image projects in GCE.- Stop building for python2- update to 2.8.0 * Distribution now includes py.typed file which signals mypy that this package contains type annotations * Fix get_driver() bug / regression not working if the provider argument was a string and not a Provider ENUM.- update to 2.7.0: - Test code with Python 3.8 and advertise that we also support Python 3.8. - [OpenStack] Fix OpenStack project scoped token authentication. The driver constructors now accept ``ex_tenant_domain_id`` argument which tells authentication service which domain id to use for the scoped authentication token. (GITHUB-1367) - Introduce type annotations for the base compute API methods. This means you can now leverage mypy to type check (with some limitations) your code which utilizes Libcloud compute API standard API methods. - [Azure ARM] Fix ``attach_volume`` method and allow maximum of 64 disks to be added when LUN is not specified. Previously there was a bug and only a maximum of 63 disks could be added. - New ``start_node`` and ``stop_node`` methods have been added to the base Libcloud compute API NodeDriver class. - [GCE] Add new ``ex_set_volume_labels`` method for managing volume labels to the driver. - [EC2] Add support for new ``inf1.*`` instance types. - [S3] Update S3 driver so a single driver class can be used for different regions. - [S3] Add missing ``eu-north-1`` region to the S3 driver. (GITHUB-1370) - [S3] Add missing regions (eu-west-3, ap-northeast-3, me-south-1) to the driver. - [S3] Update the driver to throw more user-friendly error message if user is using driver for a region X, but trying to upload / download object to / from a region Y.- Update to 2.6.0: * Many various cloud fixes and tweaks for future python releases * See CHANGES.rst- Skip failing ElasticContainerDriverTestCase, with invalid URL- Activate test suite, deselecting one set of tests which ssh to localhost - Remove image_projects.patch merged upstream - Add Suggests for optional dependencies paramiko, lockfile, libvirt-python and pysphere - Add example code to %doc - Update to v2.4.0 * Refuse installation with Python 2.6 and Python 3.3 * Support Python 3.7 * Cleanup various Python files * Allow running tests with http_proxy set * Common + Document openstack_connection_kwargs method + Handle missing user email in OpenStackIdentityUser * Compute + [ARM] Support OS disk size definition on node creation + [Digital Ocean] Support floating IPs + [Digital Ocean] Support attach/detach for floating IPs + [Digital Ocean] Add ex_get_node_details + [Digital Ocean] Add tags extra attribute to create_node + [Dimension Data] Fix IndexError in list_images + [EC2] Add AWS eu-west-3 (Paris) region + [EC2] Add description to ex_authorize_security_group_ingress + [EC2] Added script to automatically get EC2 instance sizes + [EC2] Update instance sizes + [EC2] Accept tags when create a snapshot + [GCE] Expand Firewall options coverage + [GCE] Expand network and subnetwork options coverage + [GCE] Extend ex_create_address to allow internal ip creation + [GCE] Allow shared VPC in managed instance group creation + [GCE] Support disk_size parameter for boot disk when creating instance + [GCE] Update public image projects list + [GCE] Fix _find_zone_or_region for >500 instances + [GCE] Allow routing_mode=None in ex_create_network + [OpenStack] Implement Glance Image API v2 + [OpenStack] Fix spelling in ex_files description + [OpenStack v2] Allow listing image members + [OpenStack v2] Allow creating and accepting image members + [OpenStack v2] Fix image members methods + [OpenStack] Fix API doc for delete_floating_ip + [OpenStack] Implement port attaching/detaching + [OpenStack] Add methods for getting and creating ports + [OpenStack] Add get_user method + [OpenStack] Add ex_list_subnets to OpenStack_2_NodeDriver + [OpenStack] The OpenStack_2_NodeDriver uses two connections + [OpenStack] The OpenStack_2_NodeDriver /v2.0/networks instead of /os-networks + [Scaleway] New Scaleway driver + [Scaleway] Update Scaleway default API host * DNS + [Google Cloud DNS] Document driver instantiation * Storage + Update docstring for storage provider class + [Azure Blob Storage] Allow filtering lists by prefix + [Azure Blob Storage] Update driver documentation + [Azure Blob Storage] Fix upload/download streams + [Azure Blob Storage] Fix PageBlob headers + [S3] Guess s3 upload content type + [S3] Add Amazon S3 (cn-northwest-1) Storage Driver * Other + Fixed spelling in 2.0 changes documentation- Add ec2_create_node.patch to allow for instance type strings in create_node method.- Cleanup RPM warnings. - Add image_projects.patch with updated list of latest image projects.- Use noun phrase in summary.- Make sure ssl is available- Version update to 2.3.0: * For the changes see CHANGES.rst as it is too long * many various bugfixes - Drop no longer applying patch fix-backports-usage.patch- fix build on SLE12 by using python-backports - reduce warnings- convert to singlespec - update requires - update source url- Updated to apache libcloud 2.0.0 for the changelog see: https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-in-apache-libcloud-200- Updated to apache libcloud 1.3.0 for the changelog see: https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-in-apache-libcloud-130- Updated to apache libcloud 0.20.1 - General: - Introduction of container based drivers for Docker, Rkt and Container-as-a-service providers (LIBCLOUD-781, GITHUB-666) [Anthony Shaw] - Introduce a new libcloud.backup API for Backup as a Service projects and products. (GITHUB-621) [Anthony Shaw] - Also retry failed HTTP(s) requests upon transient “read operation timed out” SSL error. (GITHUB-556, LIBCLOUD-728) [Scott Kruger] - Throw a more user-friendly exception if a client fails to establish SSL / TLS connection with a server because of an unsupported SSL / TLS version. (GITHUB-682) [Tomaz Muraus] - Compute: - Add ap-northeast-2 region to EC2 driver (South Korea) (GITHUB-681) [Anthony Shaw] - Added Added volume type to EC2 volume extra to EC2 driver. (GITHUB-680) [Gennadiy Stas] - Add LazyObject class that provides lazy-loading, see GCELicense for usage (LIBCLOUD-786, GITHUB-665) [Scott Crunkleton] - Added t2.nano instance type to EC2 Compute driver (GITHUB-663) [Anthony Shaw] - Support for passing the image ID as a string instead of an instance of image when creating nodes in Dimension Data driver. (GITHUB-664) [Anthony Shaw] - DNS: - Add support for ‘health checks’ in Aurora DNS driver (GITHUB-672) [Wido den Hollander] - Make sure ttl attribute is correctly parsed and added to the Record extra dictionary. (GITHUB-675) [Wido den Hollander] - Improve unit tests of Aurora DNS driver (GITHUB-679) [Wido den Hollander]- Updated to apache libcloud 0.20.0 - new requirement: python-backports.ssl_match_hostname for the changelog see: https://libcloud.readthedocs.org/en/latest/changelog.html#changes-with-apache-libcloud-0-20-0- Updated to apache libcloud 0.19.0 for the changelog see: https://github.com/apache/libcloud/blob/trunk/CHANGES.rst#changes-with-apache-libcloud-0190- Updated to apache libcloud 0.18.0 for the changelog see: https://github.com/apache/libcloud/blob/v0.18.0/CHANGES.rst#changes-with-apache-libcloud-0180- Updated to Apache Libcloud 0.17.0 - skipped 0.16.0 but the changes are listed here also. - General: - Use match_hostname function from backports.ssl_match_hostname package to verify the SSL certificate hostname instead of relying on our own logic. (GITHUB-374) [Alex Gaynor] - Add new OpenStackIdentity_3_0_Connection class for working with OpenStack Identity (Keystone) service API v3. [Tomaz Muraus] - Add support for prettifying JSON or XML response body which is printed to a file like object when using LIBCLOUD_DEBUG environment variable. This option can be enabled by setting LIBCLOUD_DEBUG_PRETTY_PRINT_RESPONSE environment variable. [Tomaz Muraus] - Add support for using an HTTP proxy for outgoing HTTP and HTTPS requests. [Tomaz Muraus, Philip Kershaw] - Compute: - GCE driver updated to include ex_stop_node() and ex_start_node() methods. (GITHUB-442) [Eric Johnson] - GCE driver now raises ResourceNotFoundError when the specified image is not found in any image project. Previously, this would return None but now raises the not-found exception instead. This fixes a bug where returning None caused ex_delete_image to raise an AttributeError. (GITHUB-441) [Eric Johnson] - GCE driver update to support JSON format Service Account files and a PY3 fix from Siim Põder for LIBCLOUD-627. (LIBCLOUD-627, LIBCLOUD-657, GITHUB-438) [Eric Johnson] - GCE driver fixed for missing param on ex_add_access_config. (GITHUB-435) [Peter Mooshammer] - GCE driver support for HTTP load-balancer resources. (LIBCLOUD-605, GITHUB-429) [Lee Verberne] - GCE driver updated to make better use of GCEDiskTypes. (GITHUB-428) [Eric Johnson] - GCE driver list_images() now returns all non-deprecated images by default. (LIBCLOUD-602, GITHUB-423) [Eric Johnson] - Improve GCE API coverage for create_node(). (GITHUB-419) [Eric Johnson] - GCE Licenses added to the GCE driver. (GITHUB-420) [Eric Johnson] - GCE Projects support common instance metadata and usage export buckets. (GITHUB-409) [Eric Johnson] - Improvements to TargetPool resource in GCE driver. (GITHUB-414) [Eric Johnson] - Adding TargetInstances resource to GCE driver. (GITHUB-393) [Eric Johnson] - Adding DiskTypes resource to GCE driver. (GITHUB-391) [Eric Johnson] - Fix boot disk auto_delete in GCE driver. (GITHUB-412) [Igor Bogomazov] - Add Routes to GCE driver. (GITHUB-410) [Eric Johnson] - Add missing ubuntu-os-cloud images to the GCE driver. (LIBCLOUD-632, GITHUB-385) [Borja Martin] - Add new us-east-2 and us-east-3 region to the Joyent driver. (GITHUB-386) [ZuluPro] - Add missing t2. instance types to the us-west-1 region in the EC2 driver. (GITHUB-388) [Matt Lehman] - Add option to expunge VM on destroy in CloudStack driver. (GITHUB-382) [Roeland Kuipers] - Add extra attribute in list_images for CloudStack driver. (GITHUB-389) [Loic Lambiel] - Add ex_security_group_ids argument to the create_node method in the EC2 driver. This way users can launch VPC nodes with security groups. (GITHUB-373) [Itxaka Serrano] - Add description argument to GCE Network. (GITHUB-397) [Eric Johnson] - GCE: Improve MachineType (size) coverage of GCE API. (GITHUB-396) [Eric Johnson] - GCE: Improved Images coverage. (GITHUB-395) [Eric Johnson] - GCE: Support for global IP addresses. (GITHUB-390, GITHUB-394) [Eric Johnson] - GCE: Add missing snapshot attributes. (GITHUB-401) [Eric Johnson] - AWS: Set proper disk size in c3.X instance types. (GITHUB-405) [Itxaka Serrano] - Fix a bug with handling of the ex_keyname argument in the Softlayer driver. (GITHUB-416, LIBCLOUD-647) [Dustin Oberloh] - Update CloudSigma region list (remove Las Vegas, NV region and add new San Jose, CA and Miami, FL region). (GITHUB-417) [Viktor Petersson] - Add ex_get_node method to the Joyent driver. (GITHUB-421) [ZuluPro] - Add support for placement group management to the EC2 driver. (GITHUB-418) [Mikhail Ovsyannikov] - Add new tok02 region to the Softlayer driver. (GITHUB-436, LIBCLOUD-656) [Dustin Oberloh] - Add new Honolulu, HI endpoint to the CloudSigma driver. (GITHUB-439) [Stephen D. Spencer] - Fix a bug with config_drive attribute in the OpenStack driver. New versions of OpenStack now return a boolean and not a string. (GITHUB-433) [quilombo] - Add support for Abiquo API v3.x, remove support for now obsolete API v2.x. (GITHUB-433, LIBCLOUD-652) [David Freedman] - Allow rootdisksize parameter in create_node CloudStack driver (GITHUB-440, LIBCLOUD-658) [Loic Lambiel] - Fix an issue with LIBCLOUD_DEBUG not working correctly with the Linode driver. [Tomaz Muraus, Juan Carlos Moreno] (LIBCLOUD-598, GITHUB-342) - Add new driver for VMware vSphere (http://www.vmware.com/products/vsphere/) based clouds. [Tomaz Muraus] - Add two new default node states - NodeState.SUSPENDED and NodeState.ERROR. [Tomaz Muraus] - Fix to join networks properly in deploy_node in the CloudStack driver. (LIBCLOUD-593, GITUHB-336) [Atsushi Sasaki] - Create CloudStackFirewallRule class and corresponding methods. (LIBCLOUD-594, GITHUB-337) [Atsushi Sasaki] - Add support for SSD disks to Google Compute driver. (GITHUB-339) [Eric Johnson] - Add utility get_regions and get_service_names methods to the OpenStackServiceCatalog class. [Andrew Mann, Tomaz Muraus] - Fix a bug in ex_get_console_output in the EC2 driver which would cause an exception to be thrown if there was no console output for a particular node. Reported by Chris DeRamus. [Tomaz Muraus] - Add ip_address parameter in CloudStack driver create_node method. (GITHUB-346) [Roeland Kuipers] - Fix ParamikoSSHClient.run and deploy_node method to work correctly under Python 3. (GITHUB-347) [Eddy Reyes] - Update OpenStack driver to map more node states to states recognized by Libcloud. [Chris DeRamus] - Fix a bug with ex_metadata argument handling in the Google Compute Engine driver create_node method. (LIBCLOUD-544, GITHUB-349, GITHUB-353) [Raphael Theberge] - Add SSH key pair management methods to the Softlayer driver. (GITHUB-321, GITHUB-354) [Itxaka Serrano] - Correctly categorize node IP addresses into public and private when dealing with OpenStack floating IPs. [Andrew Mann] - Add new t2 instance types to the EC2 driver. [Tomaz Muraus] - Add support for Amazon GovCloud to the EC2 driver (us-gov-west-1 region). [Chris DeRamus] - Allow user to pass "gp2" for "ex_volume_type" argument to the create_volume method in the EC2 driver. Reported by Xavier Barbosa. [Tomaz Muraus, Xavier Barbosa] - Add new driver for ProfitBricks provider. (LIBCLOUD-589, GITHUB-352) [Matt Baldwin] - Various improvements and bugs fixes in the GCE driver. For a list, see https://github.com/apache/libcloud/pull/360/commits (GITHUB-360) [Evgeny Egorochkin] - Allow user to specify virtualization type when registering an EC2 image by passing virtualization_type argument to the ex_register_image method. (GITHUB-361) [Andy Grimm] - Add ex_create_image method to the GCE driver. (GITHUB-358, LIBCLOUD-611) [Katriel Traum] - Add some methods to CloudStack driver: create_volume_snapshot, list_snapshots, destroy_volume_snapshot create_snapshot_template, ex_list_os_types) (GITHUB-363, LIBCLOUD-616) [Oleg Suharev] - Added VPC support and Egress Firewall rule support fo CloudStack (GITHUB-363) [Jeroen de Korte] - Add additional attributes to the extra dictionary of OpenStack StorageVolume object. (GITHUB-366) [Gertjan Oude Lohuis] - Fix create_volume method in the OpenStack driver to return a created volume object (instance of StorageVolume) on success, instead of a boolean indicating operation success. (GITHUB-365) [Gertjan Oude Lohuis] - Add optional project parameters for ex_list_networks() to CloudStack driver (GITHUB-367, LIBCLOUD-615) [Rene Moser] - CLOUDSTACK: option to start VM in a STOPPED state (GITHUB-368) [Roeland Kuipers] - Support "config_drive" in the OpenStack driver. Allow users to pass ex_config_drive argument to the create_node and ex_rebuild_node method. (GITHUB-370) [Nirmal Ranganathan] - Add support for service scopes to the create_node method in the GCE driver. (LIBCLOUD-578, GITHUB-373) [Eric Johnson] - Update GCE driver to allow for authentication with internal metadata service. (LIBCLOUD-625, LIBCLOUD-276, GITHUB-276) [Eric Johnson] - Fix a bug in Elasticstack node creation method where it would raise exceptions because of missing data in a response, and also fix pulling the IP from the proper data item. (GITHUB-325) [Michael Bennett] - Fix a bug which prevented user to connect and instantiate multiple EC2 driver instances for different regions at the same time. (GITHUB-325) [Michael Bennett] - Add methods in CloudStack driver to manage mutiple nics per vm. (GITHUB-369) [Roeland Kuipers] - Implements VPC network ACLs for CloudStack driver. (GITHUB-371) [Jeroen de Korte] - Storage: - Allow user to pass headers argument to the upload_object and upload_object_via_stream method. This way user can specify CORS headers with the drivers which support that. (GITHUB-403, GITHUB-404) [Peter Schmidt] - Fix upload_object_via_stream so it works correctly under Python 3.x if user manually passes an iterator to the method. Also improve how reading a file in chunks works with drivers which support chunked encoding - always try to fill a chunk with CHUNK_SIZE bytes instead of directly streaming the chunk which iterator returns. Previously, if iterator returned 1 byte in one iteration, we would directly send this as a single chunk to the API. (GITHUB-408, LIBCLOUD-639) [Peter Schmidt] - Fix a bug with CDN requests in the CloudFiles driver. [Tomaz Muraus] - Fix a bug with not being able to specify meta_data / tags when uploading an object using Google Storage driver. (LIBCLOUD-612, GITHUB-356) [Stefan Friesel] - Loadbalancer: - Updates to CloudStack driver. (GITHUB-434) [Jeroen de Korte] - Allow user to specify session affinity algorithm in the GCE driver by passing ex_session_affinity argument to the create_balancer method. (LIBCLOUD-595, GITHUB-341) [Lee Verberne, Eric Johnson] - DNS: - New driver for Softlayer DNS service. (GITHUB-413, LIBCLOUD-640) [Vanč Levstik] - Fix a bug with ex_create_multi_value_record method in the Route53 driver only returning a single record. (GITHUB-431, LIBCLOUD-650) [Itxaka Serrano] - Various fixes in the Google DNS driver. (GITHUB-378) [Franck Cuny]build78 1606417890  !"#$$&'((*+,-./0123456788:;<=>?@ABCDEFGHIJJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*++--//123456779:;<=>?@ABCCEFGGIJKLMNOPQRSTUVWXYZ[\]^_`abcdeeghiiklmnopqrstuuwxyz{|}}2.8.3-lp151.3.11.1   !!""""""""""""""""""""""""""""!!!!!!!!!!!!!#$$$%%%%%%%%$$$$&'apache_libcloud-2.8.3-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txtlibcloud__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pychttp.cpython-36.opt-1.pychttp.cpython-36.pycpricing.cpython-36.opt-1.pycpricing.cpython-36.pycsecurity.cpython-36.opt-1.pycsecurity.cpython-36.pycbackup__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdimensiondata.cpython-36.opt-1.pycdimensiondata.cpython-36.pycdummy.cpython-36.opt-1.pycdummy.cpython-36.pycebs.cpython-36.opt-1.pycebs.cpython-36.pycgce.cpython-36.opt-1.pycgce.cpython-36.pycdimensiondata.pydummy.pyebs.pygce.pyproviders.pytypes.pybase.pycommon__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycabiquo.cpython-36.opt-1.pycabiquo.cpython-36.pycaliyun.cpython-36.opt-1.pycaliyun.cpython-36.pycaws.cpython-36.opt-1.pycaws.cpython-36.pycazure.cpython-36.opt-1.pycazure.cpython-36.pycazure_arm.cpython-36.opt-1.pycazure_arm.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycbrightbox.cpython-36.opt-1.pycbrightbox.cpython-36.pycbuddyns.cpython-36.opt-1.pycbuddyns.cpython-36.pyccloudsigma.cpython-36.opt-1.pyccloudsigma.cpython-36.pyccloudstack.cpython-36.opt-1.pyccloudstack.cpython-36.pycdigitalocean.cpython-36.opt-1.pycdigitalocean.cpython-36.pycdimensiondata.cpython-36.opt-1.pycdimensiondata.cpython-36.pycdnsimple.cpython-36.opt-1.pycdnsimple.cpython-36.pycdnspod.cpython-36.opt-1.pycdnspod.cpython-36.pycdurabledns.cpython-36.opt-1.pycdurabledns.cpython-36.pycexceptions.cpython-36.opt-1.pycexceptions.cpython-36.pycgandi.cpython-36.opt-1.pycgandi.cpython-36.pycgandi_live.cpython-36.opt-1.pycgandi_live.cpython-36.pycgogrid.cpython-36.opt-1.pycgogrid.cpython-36.pycgoogle.cpython-36.opt-1.pycgoogle.cpython-36.pycgridscale.cpython-36.opt-1.pycgridscale.cpython-36.pychostvirtual.cpython-36.opt-1.pychostvirtual.cpython-36.pyclinode.cpython-36.opt-1.pyclinode.cpython-36.pycliquidweb.cpython-36.opt-1.pycliquidweb.cpython-36.pycluadns.cpython-36.opt-1.pycluadns.cpython-36.pycmaxihost.cpython-36.opt-1.pycmaxihost.cpython-36.pycnfsn.cpython-36.opt-1.pycnfsn.cpython-36.pycnsone.cpython-36.opt-1.pycnsone.cpython-36.pycnttcis.cpython-36.opt-1.pycnttcis.cpython-36.pyconapp.cpython-36.opt-1.pyconapp.cpython-36.pycopenstack.cpython-36.opt-1.pycopenstack.cpython-36.pycopenstack_identity.cpython-36.opt-1.pycopenstack_identity.cpython-36.pycovh.cpython-36.opt-1.pycovh.cpython-36.pycpointdns.cpython-36.opt-1.pycpointdns.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pycrackspace.cpython-36.opt-1.pycrackspace.cpython-36.pycsoftlayer.cpython-36.opt-1.pycsoftlayer.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycupcloud.cpython-36.opt-1.pycupcloud.cpython-36.pycvultr.cpython-36.opt-1.pycvultr.cpython-36.pycworldwidedns.cpython-36.opt-1.pycworldwidedns.cpython-36.pycxmlrpc.cpython-36.opt-1.pycxmlrpc.cpython-36.pyczonomi.cpython-36.opt-1.pyczonomi.cpython-36.pycabiquo.pyaliyun.pyaws.pyazure.pyazure_arm.pybase.pybrightbox.pybuddyns.pycloudsigma.pycloudstack.pydigitalocean.pydimensiondata.pydnsimple.pydnspod.pydurabledns.pyexceptions.pygandi.pygandi_live.pygogrid.pygoogle.pygridscale.pyhostvirtual.pylinode.pyliquidweb.pyluadns.pymaxihost.pynfsn.pynsone.pynttcis.pyonapp.pyopenstack.pyopenstack_identity.pyovh.pypointdns.pyproviders.pyrackspace.pysoftlayer.pytypes.pyupcloud.pyvultr.pyworldwidedns.pyxmlrpc.pyzonomi.pycompute__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycconstants.cpython-36.opt-1.pycconstants.cpython-36.pycdeployment.cpython-36.opt-1.pycdeployment.cpython-36.pycdeprecated.cpython-36.opt-1.pycdeprecated.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pycssh.cpython-36.opt-1.pycssh.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pyconstants.pydeployment.pydeprecated.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycabiquo.cpython-36.opt-1.pycabiquo.cpython-36.pycauroracompute.cpython-36.opt-1.pycauroracompute.cpython-36.pycazure.cpython-36.opt-1.pycazure.cpython-36.pycazure_arm.cpython-36.opt-1.pycazure_arm.cpython-36.pycbluebox.cpython-36.opt-1.pycbluebox.cpython-36.pycbrightbox.cpython-36.opt-1.pycbrightbox.cpython-36.pycbsnl.cpython-36.opt-1.pycbsnl.cpython-36.pyccloudscale.cpython-36.opt-1.pyccloudscale.cpython-36.pyccloudsigma.cpython-36.opt-1.pyccloudsigma.cpython-36.pyccloudstack.cpython-36.opt-1.pyccloudstack.cpython-36.pyccloudwatt.cpython-36.opt-1.pyccloudwatt.cpython-36.pycdigitalocean.cpython-36.opt-1.pycdigitalocean.cpython-36.pycdimensiondata.cpython-36.opt-1.pycdimensiondata.cpython-36.pycdummy.cpython-36.opt-1.pycdummy.cpython-36.pycec2.cpython-36.opt-1.pycec2.cpython-36.pycecp.cpython-36.opt-1.pycecp.cpython-36.pycecs.cpython-36.opt-1.pycecs.cpython-36.pycelastichosts.cpython-36.opt-1.pycelastichosts.cpython-36.pycelasticstack.cpython-36.opt-1.pycelasticstack.cpython-36.pycexoscale.cpython-36.opt-1.pycexoscale.cpython-36.pycgandi.cpython-36.opt-1.pycgandi.cpython-36.pycgce.cpython-36.opt-1.pycgce.cpython-36.pycgogrid.cpython-36.opt-1.pycgogrid.cpython-36.pycgridscale.cpython-36.opt-1.pycgridscale.cpython-36.pycgridspot.cpython-36.opt-1.pycgridspot.cpython-36.pychostvirtual.cpython-36.opt-1.pychostvirtual.cpython-36.pycikoula.cpython-36.opt-1.pycikoula.cpython-36.pycindosat.cpython-36.opt-1.pycindosat.cpython-36.pycinternetsolutions.cpython-36.opt-1.pycinternetsolutions.cpython-36.pycjoyent.cpython-36.opt-1.pycjoyent.cpython-36.pyckili.cpython-36.opt-1.pyckili.cpython-36.pycktucloud.cpython-36.opt-1.pycktucloud.cpython-36.pyclibvirt_driver.cpython-36.opt-1.pyclibvirt_driver.cpython-36.pyclinode.cpython-36.opt-1.pyclinode.cpython-36.pycmaxihost.cpython-36.opt-1.pycmaxihost.cpython-36.pycmedone.cpython-36.opt-1.pycmedone.cpython-36.pycnephoscale.cpython-36.opt-1.pycnephoscale.cpython-36.pycntta.cpython-36.opt-1.pycntta.cpython-36.pycnttcis.cpython-36.opt-1.pycnttcis.cpython-36.pyconapp.cpython-36.opt-1.pyconapp.cpython-36.pyconeandone.cpython-36.opt-1.pyconeandone.cpython-36.pycopennebula.cpython-36.opt-1.pycopennebula.cpython-36.pycopenstack.cpython-36.opt-1.pycopenstack.cpython-36.pycovh.cpython-36.opt-1.pycovh.cpython-36.pycpacket.cpython-36.opt-1.pycpacket.cpython-36.pycprofitbricks.cpython-36.opt-1.pycprofitbricks.cpython-36.pycrackspace.cpython-36.opt-1.pycrackspace.cpython-36.pycrimuhosting.cpython-36.opt-1.pycrimuhosting.cpython-36.pycscaleway.cpython-36.opt-1.pycscaleway.cpython-36.pycserverlove.cpython-36.opt-1.pycserverlove.cpython-36.pycskalicloud.cpython-36.opt-1.pycskalicloud.cpython-36.pycsoftlayer.cpython-36.opt-1.pycsoftlayer.cpython-36.pycupcloud.cpython-36.opt-1.pycupcloud.cpython-36.pycvcl.cpython-36.opt-1.pycvcl.cpython-36.pycvcloud.cpython-36.opt-1.pycvcloud.cpython-36.pycvoxel.cpython-36.opt-1.pycvoxel.cpython-36.pycvpsnet.cpython-36.opt-1.pycvpsnet.cpython-36.pycvsphere.cpython-36.opt-1.pycvsphere.cpython-36.pycvultr.cpython-36.opt-1.pycvultr.cpython-36.pycabiquo.pyauroracompute.pyazure.pyazure_arm.pybluebox.pybrightbox.pybsnl.pycloudscale.pycloudsigma.pycloudstack.pycloudwatt.pydigitalocean.pydimensiondata.pydummy.pyec2.pyecp.pyecs.pyelastichosts.pyelasticstack.pyexoscale.pygandi.pygce.pygogrid.pygridscale.pygridspot.pyhostvirtual.pyikoula.pyindosat.pyinternetsolutions.pyjoyent.pykili.pyktucloud.pylibvirt_driver.pylinode.pymaxihost.pymedone.pynephoscale.pyntta.pynttcis.pyonapp.pyoneandone.pyopennebula.pyopenstack.pyovh.pypacket.pyprofitbricks.pyrackspace.pyrimuhosting.pyscaleway.pyserverlove.pyskalicloud.pysoftlayer.pyupcloud.pyvcl.pyvcloud.pyvoxel.pyvpsnet.pyvsphere.pyvultr.pyproviders.pyssh.pytypes.pycontainer__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdocker.cpython-36.opt-1.pycdocker.cpython-36.pycdummy.cpython-36.opt-1.pycdummy.cpython-36.pycecs.cpython-36.opt-1.pycecs.cpython-36.pycgke.cpython-36.opt-1.pycgke.cpython-36.pycjoyent.cpython-36.opt-1.pycjoyent.cpython-36.pyckubernetes.cpython-36.opt-1.pyckubernetes.cpython-36.pycrancher.cpython-36.opt-1.pycrancher.cpython-36.pycdocker.pydummy.pyecs.pygke.pyjoyent.pykubernetes.pyrancher.pyproviders.pytypes.pyutils__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdocker.cpython-36.opt-1.pycdocker.cpython-36.pycdocker.pydatapricing.jsondns__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycauroradns.cpython-36.opt-1.pycauroradns.cpython-36.pycbuddyns.cpython-36.opt-1.pycbuddyns.cpython-36.pyccloudflare.cpython-36.opt-1.pyccloudflare.cpython-36.pycdigitalocean.cpython-36.opt-1.pycdigitalocean.cpython-36.pycdnsimple.cpython-36.opt-1.pycdnsimple.cpython-36.pycdnspod.cpython-36.opt-1.pycdnspod.cpython-36.pycdummy.cpython-36.opt-1.pycdummy.cpython-36.pycdurabledns.cpython-36.opt-1.pycdurabledns.cpython-36.pycgandi.cpython-36.opt-1.pycgandi.cpython-36.pycgandi_live.cpython-36.opt-1.pycgandi_live.cpython-36.pycgodaddy.cpython-36.opt-1.pycgodaddy.cpython-36.pycgoogle.cpython-36.opt-1.pycgoogle.cpython-36.pychostvirtual.cpython-36.opt-1.pychostvirtual.cpython-36.pyclinode.cpython-36.opt-1.pyclinode.cpython-36.pycliquidweb.cpython-36.opt-1.pycliquidweb.cpython-36.pycluadns.cpython-36.opt-1.pycluadns.cpython-36.pycnfsn.cpython-36.opt-1.pycnfsn.cpython-36.pycnsone.cpython-36.opt-1.pycnsone.cpython-36.pyconapp.cpython-36.opt-1.pyconapp.cpython-36.pycpointdns.cpython-36.opt-1.pycpointdns.cpython-36.pycpowerdns.cpython-36.opt-1.pycpowerdns.cpython-36.pycrackspace.cpython-36.opt-1.pycrackspace.cpython-36.pycrcodezero.cpython-36.opt-1.pycrcodezero.cpython-36.pycroute53.cpython-36.opt-1.pycroute53.cpython-36.pycsoftlayer.cpython-36.opt-1.pycsoftlayer.cpython-36.pycvultr.cpython-36.opt-1.pycvultr.cpython-36.pycworldwidedns.cpython-36.opt-1.pycworldwidedns.cpython-36.pyczerigo.cpython-36.opt-1.pyczerigo.cpython-36.pyczonomi.cpython-36.opt-1.pyczonomi.cpython-36.pycauroradns.pybuddyns.pycloudflare.pydigitalocean.pydnsimple.pydnspod.pydummy.pydurabledns.pygandi.pygandi_live.pygodaddy.pygoogle.pyhostvirtual.pylinode.pyliquidweb.pyluadns.pynfsn.pynsone.pyonapp.pypointdns.pypowerdns.pyrackspace.pyrcodezero.pyroute53.pysoftlayer.pyvultr.pyworldwidedns.pyzerigo.pyzonomi.pyproviders.pytypes.pyhttp.pyloadbalancer__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycalb.cpython-36.opt-1.pycalb.cpython-36.pycbrightbox.cpython-36.opt-1.pycbrightbox.cpython-36.pyccloudstack.cpython-36.opt-1.pyccloudstack.cpython-36.pycdimensiondata.cpython-36.opt-1.pycdimensiondata.cpython-36.pycelb.cpython-36.opt-1.pycelb.cpython-36.pycgce.cpython-36.opt-1.pycgce.cpython-36.pycgogrid.cpython-36.opt-1.pycgogrid.cpython-36.pycninefold.cpython-36.opt-1.pycninefold.cpython-36.pycnttcis.cpython-36.opt-1.pycnttcis.cpython-36.pycrackspace.cpython-36.opt-1.pycrackspace.cpython-36.pycslb.cpython-36.opt-1.pycslb.cpython-36.pycsoftlayer.cpython-36.opt-1.pycsoftlayer.cpython-36.pycalb.pybrightbox.pycloudstack.pydimensiondata.pyelb.pygce.pygogrid.pyninefold.pynttcis.pyrackspace.pyslb.pysoftlayer.pyproviders.pytypes.pypricing.pypy.typedsecurity.pystorage__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pycproviders.cpython-36.opt-1.pycproviders.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pycbase.pydrivers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycatmos.cpython-36.opt-1.pycatmos.cpython-36.pycauroraobjects.cpython-36.opt-1.pycauroraobjects.cpython-36.pycazure_blobs.cpython-36.opt-1.pycazure_blobs.cpython-36.pycbackblaze_b2.cpython-36.opt-1.pycbackblaze_b2.cpython-36.pyccloudfiles.cpython-36.opt-1.pyccloudfiles.cpython-36.pycdigitalocean_spaces.cpython-36.opt-1.pycdigitalocean_spaces.cpython-36.pycdummy.cpython-36.opt-1.pycdummy.cpython-36.pycgoogle_storage.cpython-36.opt-1.pycgoogle_storage.cpython-36.pycktucloud.cpython-36.opt-1.pycktucloud.cpython-36.pyclocal.cpython-36.opt-1.pyclocal.cpython-36.pycnimbus.cpython-36.opt-1.pycnimbus.cpython-36.pycninefold.cpython-36.opt-1.pycninefold.cpython-36.pycoss.cpython-36.opt-1.pycoss.cpython-36.pycrgw.cpython-36.opt-1.pycrgw.cpython-36.pycs3.cpython-36.opt-1.pycs3.cpython-36.pycatmos.pyauroraobjects.pyazure_blobs.pybackblaze_b2.pycloudfiles.pydigitalocean_spaces.pydummy.pygoogle_storage.pyktucloud.pylocal.pynimbus.pyninefold.pyoss.pyrgw.pys3.pyproviders.pytypes.pyutils__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycconnection.cpython-36.opt-1.pycconnection.cpython-36.pycdecorators.cpython-36.opt-1.pycdecorators.cpython-36.pycdist.cpython-36.opt-1.pycdist.cpython-36.pycescape.cpython-36.opt-1.pycescape.cpython-36.pycfiles.cpython-36.opt-1.pycfiles.cpython-36.pyciso8601.cpython-36.opt-1.pyciso8601.cpython-36.pyclogging.cpython-36.opt-1.pyclogging.cpython-36.pycloggingconnection.cpython-36.opt-1.pycloggingconnection.cpython-36.pycmisc.cpython-36.opt-1.pycmisc.cpython-36.pycnetworking.cpython-36.opt-1.pycnetworking.cpython-36.pycpublickey.cpython-36.opt-1.pycpublickey.cpython-36.pycpy3.cpython-36.opt-1.pycpy3.cpython-36.pycxml.cpython-36.opt-1.pycxml.cpython-36.pycconnection.pydecorators.pydist.pyescape.pyfiles.pyiso8601.pylogging.pyloggingconnection.pymisc.pynetworking.pypublickey.pypy3.pyxml.pypython3-apache-libcloudCHANGES.rstREADME.rstdemos__init__.pycompute_demo.pyexample_aliyun_ecs.pyexample_aliyun_oss.pyexample_aliyun_slb.pyexample_openstack.pygce_demo.pysecrets.py-distexample_compute.pyexample_dns.pyexample_loadbalancer.pyexample_storage.pypython3-apache-libcloudLICENSE/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/apache_libcloud-2.8.3-py3.6.egg-info//usr/lib/python3.6/site-packages/libcloud//usr/lib/python3.6/site-packages/libcloud/__pycache__//usr/lib/python3.6/site-packages/libcloud/backup//usr/lib/python3.6/site-packages/libcloud/backup/__pycache__//usr/lib/python3.6/site-packages/libcloud/backup/drivers//usr/lib/python3.6/site-packages/libcloud/backup/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/common//usr/lib/python3.6/site-packages/libcloud/common/__pycache__//usr/lib/python3.6/site-packages/libcloud/compute//usr/lib/python3.6/site-packages/libcloud/compute/__pycache__//usr/lib/python3.6/site-packages/libcloud/compute/drivers//usr/lib/python3.6/site-packages/libcloud/compute/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/container//usr/lib/python3.6/site-packages/libcloud/container/__pycache__//usr/lib/python3.6/site-packages/libcloud/container/drivers//usr/lib/python3.6/site-packages/libcloud/container/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/container/utils//usr/lib/python3.6/site-packages/libcloud/container/utils/__pycache__//usr/lib/python3.6/site-packages/libcloud/data//usr/lib/python3.6/site-packages/libcloud/dns//usr/lib/python3.6/site-packages/libcloud/dns/__pycache__//usr/lib/python3.6/site-packages/libcloud/dns/drivers//usr/lib/python3.6/site-packages/libcloud/dns/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/loadbalancer//usr/lib/python3.6/site-packages/libcloud/loadbalancer/__pycache__//usr/lib/python3.6/site-packages/libcloud/loadbalancer/drivers//usr/lib/python3.6/site-packages/libcloud/loadbalancer/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/storage//usr/lib/python3.6/site-packages/libcloud/storage/__pycache__//usr/lib/python3.6/site-packages/libcloud/storage/drivers//usr/lib/python3.6/site-packages/libcloud/storage/drivers/__pycache__//usr/lib/python3.6/site-packages/libcloud/utils//usr/lib/python3.6/site-packages/libcloud/utils/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-apache-libcloud//usr/share/doc/packages/python3-apache-libcloud/demos//usr/share/licenses//usr/share/licenses/python3-apache-libcloud/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:15152/openSUSE_Leap_15.1_Update/831ff1a7e141d8ce02547cb5d150ba4c-python-apache-libcloud.openSUSE_Leap_15.1_Updatedrpmxz5noarch-suse-linuxdirectoryASCII textPython script, ASCII text executablepython 3.6 byte-compiledemptyUTF-8 Unicode (with BOM) text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRo|X%O#epython3-libvirt-pythonpython3-lockfilepython3-paramikopython3-pysphereutf-8f8ebe9762e97d4256869d14861850613088bc4693f2238e27315802fba715fb5?7zXZ !t/<]"k%a D:-hP;/F5~0DqN' GyI規p+]t^MJITz_*`CϭJ1728o$]mӃuAg/=$ Rc!I||cebLi2dZUz 4*^'|GLo=Q"IOX3dd񨾌m$6۩N2wӀx@΄oI4$?쀐j/--P߇я1ыGx%z=#b4:;h͙B>uaG`J]sA8^6~!H3m U #N8k@A<.,2L8L(Ç~jb &s6 薊-Rw5E+E>ȡUBgӄ }#y ,P) d(U*Qan`e<LV3'6x|q:sGIR.ʘ}P7Zk4"uP!/9'ڗWNr)^t@ۀ%0P?PP](w,e$HCuLbU6=㪳tFm<pC@ ls067j3 KAZwU@OO8HQM\)@X(Y6uWQNfy`u aV/̵8@c$SPuk_bkDeff^)"Ru^.K4hvy#?Zoxs8qV)y`fJT!ap0í-)ˠ ]VdUw &P3*+5Ƽ#?KjܔLolLKWK0 6'B@-4`# ~%GRXU󕰋z)Y]QKiEf4 rA{@U*laRЦ)4J9'Rʚ$Ԡ7VW|+I<_$ :)`ASaSm>\).FsWܢkp?u rc0qrSpz`*n'0/s-B[pgX'2U :&saSy1_\4i`_r?Dņ/ v=V|oXw_EXw*Udʐ">8(_T2(Ma1fMJȵf_v Bk@#w=83$ޣ: \aHr9u5FK;m:pr /=9?jaxSw >bn3\ 0 d8<_Et;I$!8#d8M{4omA+Bg D [:KA{F\r5fP-`1mKx+ h ʓJ*ϗͤ_V cl01ɖ_zgG!IsӤo9cA߹D&C@O_vprTnQ&>b 1 i9>-bAgVWj x}mLFL^%Π巵&Io }qR(Ʀ *k9Jd~kFv4ui~GUO$=saiCɨۖ( ׬ggy<{5>R z6la#* ‰evE[¢\_v+M+crhNPm%Nj ADk }Qh!14:HhIȸƴvHkl&(x퀻~-;I& ? jЏ$'ߋ%ˉ9(swh@mf|">FDF4N.~s~x zcbœ R R~*j j9/M=Jh^&G(%M\ SvQZ aG}Z5rjm@ο<1 53`7a3$ҕ{?)?4~ɸk>n5_H@DvZa*nRg }C@]"8ɒ /L;=Xg5Tvl"9YO@j)@4ߤDujw+j"mr :.T0X0Q=MIW!dro1.RIt zIZs.^krħ+$JeAVԠ2FȜ>lZAk Ծ=.sbN)iPMPahھ:&yuL;@R͢n9jMN- $\;CpɋP3foϚA~ԪH)lc6Oa*L.veF"4a؞OFBjh'luoOwhDa_` [#ҭvůHvq8]0[ bFH{9`{Qs@x UF8!-SCͩܚIJ#SRvа 5!ʦPxKl,[ɴ9=]Mރnl>'hU<ȫoqhwk]Ot$M0ozPAVɩ6fQ+O=B7zi,|dwgKGpʏql^⒀*Pdd 6j#w o?xU9;-87jG?WoB춢d.6.mr}?IjנOE|~,khGsCRT)0@N sĤ'ѝlKV(+I.8j"2#o}WGG')8eR2Uڡkڔ|'J}g;"Z?8;~2Af}Y9h~9s,Z*:LN11yS/|@ &+7M"ƊAn3 ;QB@C #^ױX 6uSm&1(ٺ '!E0Ot/C/jC$->UR;̷@ҷ3Tf efr~qʃo)3|+}3cd0Ϝwl!>O n9,J_T³in#(|1Rh%ŇQ$m,vv[Bʟ ׭g[|{V /BSvJ̹|W1ZLu:C\sQpGm'fe!LY[h5{[Dc󕞝Ba?>Шt:_Ji{or1-Nuڦ M^hmfMUSEy)(І׭2FJ.sYH+D"z 㭟bNu 9 vG_?cs!%@Cc$F7VXa70yKt}p 3aטa 40*n @r+DZ_&j{Injltj;~q~lw6vGr :6Qpv3z{vNulxʌ|"Og0rgLBڐX_d&>>;O9* ӑcLe(X U]wpl'qүd9{oi"(*=M:HbGEg2DKC$UHa׎`m:gh` غ&C'/.Ȝּ9/]3a%?" O;tiRѭ7A]#w@>hA?D NT&Z`vo>{![/ rsЪZj:G! !x:z''8:Ċ8sK-{1ntQqyB֯gwmߐ-ήc}n(Ca%< d“jJЫĸɷ(w-A pJW%Jt@iTߔE({&\qE;{:os$F)Pɍ.sM'R.G@j7^@^ީ5kY;,WRO09٥H5ow|ΘRflZp `lқToKgOhո(AV5%xš8iUЅhD)ʣ6n:^L;v|joE[4>u8[F񰾼/f_ђcpDĜa@eG/LПdRkQjJ1 2$),kʜ b>P/ed,zpFO ڈ!_ρnd8nj+`/l+%;H(h68(+z@&-}`a\CŹkR *t/, o YH׊*i{yN8Hl0z8kGMoecUwMCv6-1-8x $nn`IhX=YJk:‡Y5*mCy 3ekEՄ~tw*r,1iu/*V94f~E)L,;"NR[#Лqly' rgg-ߛ^Ǖ}oȲ#Hzr5W&"j?Uu,~$ѩD;^.zd{ǫcw)q2:\i_ݦh^,pUXw6|i%ĉ'Ÿs&Њ+ea^DNLLnzCϼTJw}k?-@[jq!Gaj$${,N ),Yl|x?' q/yLΗr㳱r+9 Ȧ(LLK)I']OOdӣȐ!$7i"@x1W|V1hs)5=z+6Kpnf,G$ u"=:s"vAO;%KW j=pNϰ9`:yP[tE y،w/dƋ>Y/vN[-/ m\gElǶ SBnwn :A4ЎIt'TmAoE!%3po|$cx+Jf9/mޫ΅%_m jYd p!n@!i>E@ #Gf*T Eڧ͒ʨmH{X+H拣u~Qg<82Ly{,U[z/lvGwS1mOײ63LkAlHؑ0cE;K>I 5 ŒJ-?tG|DY2?+ivaه8~ Ir0miS@^֦㚛||i"2gd7`bd!(Y=o BLߣ})` rU"r0eJ7J /`(&׍z"п~z8|p0}_6J+dn' s}81yvP%{HGr!LFwU۾{PQ9뺕8,a/ (Ub2;x"vߑ&P;40~x Gxeu#^/CzAwιp t03$r7uV~rzFDգm9B#fO+x\5glc"BJPcuI/Ҫ߶;~lɘB@rT^SyJJeWGaL"chPi=)&PJ5lfحUgDn5NRe{w?"ԟ7>XL*wzVBhy Q.hyl} soz ݃^ۙ~lwtd7X djuٟtި-hoPl -e):uG*vX#&+p>L5Vl+wMG>tIFe#vjq0f  ,j+3%@5 &KZXe83SK-4 #&l== JzɈ{oJ8E>#KC'8re~7F gJ׊^^\TVxusզ'*LRsRo%:6hӅ=2%i@:nQd.˴y;(1}!ͭٽYjU0T"d(]5}[U[wrA"F:^yd.U lkHEC?4Կ%Td =bә<4Q,yٮģ? Dnfg5Ivԍ0Ő-A?\'E߹,R∫ܶMU#pG:nn5ad3a4 >8dոp 8d{+ؔ _̾ n J кTޫt(E:/SJzٽ,U#(j/)4;KY;]--2WV"1Eyۃ'X1ZA ~#uJk8i--zlU /fQ6ae $Ɨ[:p|ǒ)pm$@xc3'|oMxZWÓX7Vs!kX*C$Rbq#hkOTfLr`H'QIws\9RT$Bhbi;0Ϗ^:  ˶s\#@T^XNZ SW䩱̚ƣPKEPmΨ'U$"nd,JQm06o,9[,J>\\ B^ 3OsDMhrߚ`To4e!\{̘7;MO[>Y7q iI;7DXC2[=Q!6Nཾ)ש%f$ZFh]8/OY8j .#X az2N@ʿ//hI1lUta , 9Y,Et@OC.2Q!)S%Oy==a|Pd-N|Q;Z, K _ƺM-=ݬ>AͯC4ƪm=BRW$LF W(*KΙ&]4Y T>7T:Paug6jPQӄyGGz8a6ǒD!}S-CFPc.sGY9 Yзu /z(^QeAjfW]%To̍EE~kͺ:]?R1:UJWsڒgg,0BJCFduaɧ9s2w!Հ[#k'@cmLhcJ+ 5=&˃.oKY=EWjkxM[ h2/*0 L[.4b=Ww"^M}+ہ&r}y$/y8Da6' "&yߪ=2DpD-m~<--`}XDOr`_:J̶:YxҟN(FˑR!rD$,K,ɣwdo3k|~> s&IMAle}u%BFp’0ޝ ݛz is^!T/;rL-Kr}bȽdUD&Sz`=O/v2| ^t7gkY_-ók}|?a,*gw μ_{PʋiU @Bpb|R=z^uhW?=9; WL֩}sUh^rǒq,p#GZ1#|x]"bc_x)ܐo3kѰʇԚj@ͷTo{Wjew'd0;f"=|#ҸIcLZs`YԺdge3z@&6>ҜZ[[zt|r`b ;ng j66*_?kY )GGI/eۍ5#umkZ+|`r|b^XpE eEjКeƲ0BEO`8ԪcH jR kY9#g0>C.vHwDn%V1Вx.Y_4NrtiJX7q(ES(U%e9l?B*J@v%vDEw%u0J$=nld^x5G p"#v_m={`떭V}[{|`e>_qڪ򥛃_:VIfR+ۯpxnbN6Ws֦E⻔Aj2#|z5Ću'r#TNEt-!Qw3#3^!SVC_z!iƠ]|K\YҗB>Vx9č@AqkV 򟤢aP{OjVٯ{z4ֳ,m(1!Rm@o_39S*ZPhJ@%,s60~řA(P43~iYyK&_X,DyP95>,n l221D@dǨ0k,9l)0TINg!LdF dф89l&.E#`Ug u׼B@#+SeDcY, }ɼ%31?Z++R0U\SSۀ G5%]~Zӝ, hE7:nfIB,?S4wJ⢻)>q5 wW'm@篭 DŽ< apPb\:NK1Z=OSor+3j1f&m^4,q@5ZխAs˪o=\ *{#n PT@a7.|p\OCm.0*JQ4}qmk`:\z Y15Ek},E)d7P˜w\(d0p!@>+ >qxb.4}(cG0bX'ؕ%྅ 0tgGvڕKa$ Geo{&Oo7p)I~ IL#ӨnªtnN_ @!N,\͖p&5F8yo@XҸKw@:V.8V5kRu!GorOqʢCID"^Mhl~V05;z"S ^.E4 =͂?>J؉s oRM?=]N^gϝI;^s:T(^Qύ2b>7$V25N&4'kCzqWRk)gBu߀n>M(! Ҳ; :uMVWrnq j06P;K7tgT|S]c (&)2L!/5G2ﮨSUghEun[xn]a %4sM|\H0ws, bp~"N7Ԛ8\٭9/xfy@bYɕ}3(=L=J PI~/pŲrKi??(z9_g#_|~jeץ4Vy,lPkifTz-t>m@}JwUS3 9 gC+ SJS⛐d9o+ck *Eb}8}帄 hX4i8Mj.έ}4:|iC2MT}w-щ0"8uocf|5wYWNv<{oД9x4hÚX+mw&ҳateB /*5y9Z"ހ *LYȏkZT"Dm&VḀp֝ܔV(! .I;E¥i`g\i}c'#&TnncTTp_9I;5 @o=ԉ̢{u8E%. Q%eqS4]MjN,Dy󘦗XNc`ɗo! B" FGߢ][jf:tZ%yիp1~Km@-&5NzJU9]]Z6axiN"-ct;Ŷ5.TpܴfFvٻ*zڈCmȞ <*G?10$U tJT",+9 HWhʹ8Xo-)}s}e4')3{0~S/ƻՎƮGF GA᷋uED)Qv]^>GɎzs=k muV*~zH0?C[f Ȗw(8B#E zx\Kќbp\2Xkڮ'E^e] A\ }2;k[vsbxpD.f'WwR@Th2wljfh˵+7ВG&Ï!tg%}`UvNŐdeЭl- j+|+ِM%&m%p a(n jV/~U:$e`=ym+Np~!5fDŽo;볬r:)'# VaJ^N5њĤBI5Wp'MLB7 [瀔QI8~(]_hDuo%Oۈnɿ^:MrMƖ2*yE/Yڔf;,x $gÖ?C<&hHwpon5?PUwWbŔzgsd>RZԫfEIVI7W"4M.!Om6:FzڦW*s7J͙Z kL(+L4YІQ9C7룒}+%m䠭ɄI pn$/WϿN6zZI'R4}| fx9l ^UJe/ƘB}ޮk# 1Ւ^OeJQmW3|LibxaOC߲+IOD[|bC5v@62oh˂슖fӓ<)4t G% %"G Y\v:C^\ycy{Y'/bZ>I:LI&W2B,{`ِ>kAM^ =6^ ,Qj》DGJGER|-1ty|l8Õ۪hmg y{Ŝx)^sE-ѣLurޒri 3q6LJ"I<\-l$4 e8:Nu9;CYS}#˿!A 2$sMlϽ;aLF!cD XHcC퉘/'=)i^bҥjŦ$qRRl]Flk|ѭ?P$AKE1VFgM|5B>ku7,5jJ+$yp;V/ @.GRG'.H/Gfe-e0+ 33I`rZFz@[ YZ