python3-apache-libcloud-3.3.1-150300.3.3.1<>,fdeVp9| eY^@n9 {f='*Ca/2 !UN v:Lvb2qʛ*a*[> O|NnL{tF]IJUj@*/ ;(IbAKe3ǎb[x_z 8.R,qZ9Kog8d}slL_ǃ{;ci)O>A9?9d  - [% ;Xtz    % , 4T| 4  (8 !9!:^!FG$HDIdXlYp\]^*b\cdefluvw|x!y-z888969<9L9R9Cpython3-apache-libcloud3.3.1150300.3.3.1Abstraction over multiple cloud provider APIsApache Libcloud is a standard Python library that abstracts away differences among multiple cloud provider APIs.eVh04-ch1dxSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/Pythonhttps://libcloud.apache.orglinuxnoarch˛ E ??$$??=]y]y4A4A??d55A1E ""88eheh V V * *))IIֳֳ 8 8  Z Z  jj ## &&$$33-- 3 3(( } }!!ii##(K"`D(z'JS %} ) aQ x #e$ sh) !TI;,# zM"ALcF<ԖԖ&&DDMM))dd  {R, ?YYnn4G4GZZ%%!!uuhh55%% //qqff^^CzCz44ww220Y0Yss..mm##LL  4N4N[[  : : 99jj''ŪŪ!!MM]\]\oo''UFUF  77,F,F N N$$??CCJtJt{)KHC*k" ku+Ba`-J?fU;58[ [  j9Ok Ef@wOkfwLq$0^ v eF+"r*A2q q-u33  8mNNF%F%>>$s$sYYh6P '[bK 0 O;S;S KKFEEAA E E""??00'?'?;6;6((I%I%((xx$$##XX7W7WII::99  &&>>55##VXD}(&-mf`#Gx>l1P$Y2k%/!)oL`IR8.IGX+](+6+6//)Ht6t6iiOO44// \\c\c\55H7|75h 3w6; ! |6ll p99iidd<<ll K KFF00GG33JJbb v vElRJn=Y I3@@%% 55 ? ?``ppm)7`# | # &)$ ,^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큤A큤A큤eVeVeVeVeVeVeVeV` 0 eVeVeVeVeVeVeVeVeVeVeVeV]vyXeVeVeVeVeVeVeVeVeV]vyXeV]vyXeVeVeVeVeVeVeVeVeVeVeV]vyX]vyX]vyX]vyX]vyX]vyX_PeV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV]vyX]vyX` _P]k` _P]k]vyX]vyX_{i_]vyX]k]k_y_P^Z_P]vyX_z]k]k_P_]k]k]ᑝ]vyX]k]]ᑝ_P_P_P_y]vyX]]vyX]vyX_D]]k]vyX]k]vyXeV]ᑝeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV_DeV_DeVeVeVeVeVeVeVeVeV` 06` 06` 06_P]vyXeV]ᑝeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV]]vyX_PeC@]]]vyX]_P]]ᑝ_a]k]eC@]]k_P_P_D]vyX]eC@_P]]k_P]]vyX]vyX]vyX]_P]vyX]_z ]k_]k]vyX]k]vyX]k]ᑝ]ᑝ]__s_y]k]vyX_P]ᑝ]vyX]vyX]]]]]]_z_r_D_P_DeV]vyXeVeVeVeVeVeVeVeVeV_PeV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV_P]vyX]vyX^?"]vyX_P_z ]vyX_P_PeV]vyXeVeVeVeVeV]vyXeV` 0i_L_LeV]vyXeVeVeVeVeVeVeVeVeV_ eV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV____{]vyX]ᑝ]vyX]ᑝ]vyX_P]vyX_P]ᑝ_]ᑝ]ᑝ]ᑝ]ᑝ]vyX]ᑝ]ᑝ]vyX]ᑝ]vyX]vyX]vyX]vyX^[H]ᑝ_P_P_eV]vyXeVeVeVeVeVeVeVeVeV]vyXeV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV]k]vyX]vyX]vyX]vyX]vyX]ᑝ]vyX]]vyX]ᑝ]vyX]vyX]vyX_D]]vyXeV]ᑝeVeVeVeVeVeVeVeVeV_PeV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV_P]vyX_P_P_P__P` /]vyX_v_י_P]vyX_P]k` /_י_יeV]vyXeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeVeV]vyX]ᑝ]vyX]vyX_P]vyX]vyX_P]k_P]vyX_D]vyXeV` 0_יeV]vyX]ᑝ]vyX_P]vyX]ᑝeV]vyX_K_P_]vyX_eV]vyX77e932fbdf53fc69a9e3610f7c46cfe50c3e35f4ce9d675402d0d9076e8b375a3844452028d45d429d23e5f80150b4ff547d9d1279db8c85fe0bd4af19a2c30b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bcda0dfb86707276f98c72ebbe72702ad1882b73fb1ff5a44b46914dba512308d1a0c7261d835b4f019a297b29884801021fde26e2c6bb7cc656bba2bb839d657bf8e4fde4ab5e58152a38c9b6374248ba1546d499e18107c7192f603f5bf9e0fa0f0b4fcd40573c65e82bb11110e879026a92d96723156a2ece02b8be8b0390da3c0ea2a074f1beffe2715c1fb72b723524fbfa6b29f88b1a67f312112305c10e3b85cabec6c4bddc1647352cc51e080e93a267fd7a1c60007da5892609c4c8b9ad4401e8d57f97b3aba86aed0b68b51932d2aa54ebe54196f05a211d650335cea3928049b0310cab9405267fe7f73dcf137fc027a98811da15c35f6c30f041e3f99a90ba672af37ce2ee3a43ad09485f6ee6888fd59e450978a6f8c8ee891aa34a1fcf715c4f92786695edaf800ab85a1b9a2562a32a46061e62761e8ba8c6847cedbfa874acd1e8dd56e8e9d947af5db18fb7059f5198fb5496b33cc00d1d909ed2c06c25ffd31b45f2ee064c6ed7775286ac5399890bcd56537d8b89e2d3809ed2c06c25ffd31b45f2ee064c6ed7775286ac5399890bcd56537d8b89e2d38e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e8a62473cd0ee5c190dbe2e271c1f6216e19893117f0f26251f6dd3e35c3590be8a62473cd0ee5c190dbe2e271c1f6216e19893117f0f26251f6dd3e35c3590bbabbf44be5d29492f0e7c78dacf7a5b666ac3c5fa6ffe9f8c587ccc49d2f16a90f3ca5301f193d42ec4b6c269022693756bd76a1a03466a469c615c2868a2d6cd17855292491abbe3ecff97ee7d2228a69994fdbdfbd70bed3969e75cc535d3cd17855292491abbe3ecff97ee7d2228a69994fdbdfbd70bed3969e75cc535d3c800025549b43c6b12226f176f7659b733e665c0377deb865239ffe27dc3aa8992127efbdb6a7546f282f5b30f3caf9cad16fe52fa5b2c693bc2ce86b0ecbbb975e29e8613e204cafc4730e24261956c0c658f250f8274df53260ce69b7ad26a9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85544d2f3b038e63aa34e8d3e7e96dfae86237f0d82784ad16135d03dc718bffe2e44d2f3b038e63aa34e8d3e7e96dfae86237f0d82784ad16135d03dc718bffe2ea361c5ddfecf43fd8b23590318b4e19a21c1094e6c41f3f01d35ba7551cb2bc741d0c03097f59ac86cf939f747603b22351d966cc6a5e461aad8204d707d62d142b5320aa2035d3e7ef719cd658fafd0c71560e7709b69b2e99519fcec27038742b5320aa2035d3e7ef719cd658fafd0c71560e7709b69b2e99519fcec270387cff26c5480d55b3f198535f30c3784b8cfadddea5cf87cba851860078c22c62e654353734ff57f2cbe763e48ca74fa1103a3c9a2c601eb082475010db090b244bff9acc80f64a07249375b0a12a4d2374e0ed470f793352bf844b0f627c4b7e0f34da6317992448d952defdf95c4e85feaa01bf9bf9f8046c4ac572335adfcc012792e3dd293181a116a467adcdd421807b83cae73eb97e26dae430cf1ef47089bd423e8476a91e41d1e2d1b50c99b63467ed87333bdf03df8e3e1294dd89a6297fc9680117083c41113731a899716b9562a5a8cfff34ea7f707e8a1510ae4245d2f480a9f09a171f1564111268d0a96979556538de735a843dbb5cee3a9d0e4ae879189e7b5f513a0c314a3afed416693b9955b8cb35b63b803b3f2ffa6013f668e31d4551a7087f00da5ea27c71167cd97c38040cbbbddc720f60b92d2661d1e7ef38b00674c0ceaa2eb7dfed4d5ce79e2e02a3fe2c00998aa3b6aa51069cce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558e89d4c696644ab139383eb13a12824257819ccf4f314d7867eb5e8af86bf3618e89d4c696644ab139383eb13a12824257819ccf4f314d7867eb5e8af86bf361d5a36414f4244ad4388c1b7cbd7e4d746a01b3496fccb7be9777079aa7266a06a8e60767b22b9beaf7f9b39babecd5bc9ccde6c057138a897283f834ad448ab4d85ac9b527b9479bd1ab309c5ccdb00502e0b2baafb3a4d2d30534e9b89e89b12b26d6b07b195fd5a0d219cca533423297042895d9c507f2e24a328940c7dbe6606720bf17b1ba6962a4ea99f302f5ce1732e4868a819bd2ff6467583a01cc9b996abc70b9362933da78cbf20e8a59b6bf9563a0f62e2ce066f9f8eb46d3ad5bc4ac088d0146316fee4f4c78354bf29d4333408f40b0015ba70845b950d72771607e0134b88b1f31126ee9e35423608a991c2c4f7aff73405e41fc4cc55a833f85110e0de0bb9be1ec81929ccff3d57989e1aa253d3353679dc1143fb9fa22844566ce59d2670e9c37b0e9dbbe7b39a76bb8c54e53d63fe9ab454985c845a39734029564031ccf4b2b560a1bd606f36d6fc5e04cf0e6bff33711187a72f8984a944099dcb7b4111824482d405c7b19d38fd5e98f992d2c8a09f9e22aa0370830519143ec1fc56cfeb8216bc9ecea69860d3f81686eb4d2f287810f10b80646a26ded0022e9859bc160b4ffa075faf061466cd430bb834a95e41e3d851b4e8dad052e47d5f591077e4872162d254caf382363f16e3808e5c8ac0285b18f36f3dd572334c879cabcdaf2d3fb32fbad4235c9bb5984bae1bc657443db77ceb6d897120845560b61d91bc2de99388eec97af33ede66bf23690250b4e91261a7d2138120845560b61d91bc2de99388eec97af33ede66bf23690250b4e91261a7d21388658184b0f39944b2b7f28408279a9e0ddb1f2f4d8b3e4384f4f254ca54a0b20babd82c4ad17fca924ca4af5f8ab190ea80f0efee6b676447ade9c70fb0cb499d13b7e750f02255943a31894d2e61ce25119238421a5fafc312e35d62bf5242ce549ccde5c050519c527ed1f8be65166dd7cb1cc44bfc79fba070bb877bda7b298e0b2b9608e8e2836520c0d1949993e66c41229ba0692cea4275521e8e14e8bfd9efa6264322eb3708393b82e67cae94123c9f32f759352c1e11a056dc3bccff2999ebc9602f3f5b13eefb13fc928321df8bb02c7a6ed88ffb6e3b0963d74e7b1aedcd2d6ec929b7cafd531cc924ec5f7acd3c1ac2111ff5e7317da26fcac8bb403fcb590dc2f4325563540f2f01e5cf916a0a4a05e3fdc4026163c34c0dba0d95a34dcebbc7c6d8a81f09f34b7711a4d1e925576bcc6f092f39123ee63306ec70fc61e70236775d138180fba0e0292916e8d8413aa205272e5b3f31f516af374705da845ff968b0ccc7d75faedb5ff10bdb23f9d64293bac3b4e1ebd7c41de371dedca28b8c4a2096c9cea616d8cffe4ae54c8394c778b147195f67ab34cd00ef25a9ddff84d68e544a9de8b427cff25c1cd93357c76bac560b4810499ecaa5f4fad040fd6a631242b7ffdf2a5d48f2e510981d1f40d81c98441facaf0ef96e6f174ccc2795c4ec6c12d1702f8eedb31acb05a19ba246569e6096b4a101b75d99f7c4f6a73db0b8fe3feb8531d377e2204da7a8bf52cb2c26548bd057053cc4c17821d2921164e59a7a1542cf5ab1e01662f9225b5b1514f974bba5304093ac0e5eabdbafb0766264dcc1ce6c1d7be2fb136d486c94ed45be39574f704e96ba77020210ebbfab8aa8252d4a8161815771215b0c1b1e763fe7769bb1d7d1f82be46a28e79a1ec4d4dde98ea5d3c2ae5473428f4a72b6bdf19d8a54f0e7f19900a4717cd49bdb03c14377f7f4a6b64ecb3930ae324392de6a0dd43644f5535a8be4db5c99001bf6cf184a18fda6cee7c9df98b50f1630c0b07375cc0255b8c1d2fd87447a5b03236e9b73e58dd73e3700fd46ccb16de7403aa3d69b77ff52c0681e31a7d78aecca59b1944efe76fd32e4b13ae9edabea53df4b00a21ae9097a36072f3c50839ff077e3377f8274048af684118cee834701990e95d535e8a905fa72aed126ca3bbfac9f29925a0382c05c71e64437b4904f4aac441c02179aa376ec7a9191e56c7f1632464f356c5dec69e39d73a43cf99d9d97caa2aae661ba7b40c6230558fac8d2d7d1b7d3d07502efb66785666bf53d08fe7f25c1784ef661df9c7d4de057d5ce8fabbc231e3117766c02fe45e12dcf469e98d2a9e0194bcbc8baab19906d61a9f6dc4b5b71c5e49b18f0686ec2d002394ee29578f19c8b41f0c960134a969c1e6b6fd0eada66377116f9e3b3e539b1d8ba21a9ff78840197016dcd09cd5d4d95a1e2d25ea12890e1ea59195e6115b648e8fa9c67d81a8308d22a333a5cca498f91b6503d550e731b1d9119c0d6129247b2b6a730db943cd214c5dd7c948ddde12200f2e127d05e527d898bca994df26901e4257ff68f67d6762e7f88bd1113283d1e4a3b57a7714f6de6cc1670836e9519ac63fc056814735b89fa083cdbe00925a6a3bc1ca13a65a433c84540da5447c337e8730d5e913c56250ad518d9b72f39f0ecc5f4c2fbc49e8ab8cd771f2e6977508ac3bcad465809b25545cb776ddfca280a77eff7153ed1e13ff7d2bc071784a276376006551612eeb4c3bdaa79a632b4352e59a12e27830dc91fb6bffd00594f543d6a5f5773665415243746848b02cded138200a04e4bdf1fc132a67e135e2aa9566c80fc36f6cee6bafb408e7a28a90155dd401222acf2afc078007e2cad75a244d76a98273fe1b5d206754209349a4fac10ad119ce806a2e77bc28aac2af35f09066e06946f28d1344edaa90f640dec01ab879252978b776164de84cf0ff184502ffcda835a3df46a696765961f2ce9fb89a39242f3c3154866efae4db60f11bc45d422e3e3efca633313d5f3f85cdf692b94362fa5515a4ff82363149f5c7779bb086eaf71bde4729d70a71751c9ef75b1140e9dda7dda7b2dac48581fb2cbf03b8e14fa8b936e5ccfb2f84afe0853cb9f2a7d43912a32a28731379d18e73ac0a8da14ee67cef970075f108bd2ec4a68aa6acda90c453623bf950d1a7926599f6cc12bf41b7a21441fa7a72646157dab42b7dd594baf49677e848fc359369495465b7618209555c3ea0c579e9e084a601d4a751e68ddef37f5bd22908820f08cb896603391a19e1bf6045babba158003ad7ad2e7ea8d3961836446f732ebc3d7ad36f40add401ebc758fd7fbe7b74ff4db12ac3fbfbcb8ed61ad99b4e654807ab4def76279cda0a3d9f3e3fa7f6ce55610c2f8f97bd7bc83649f8309c2556c87ca3c36baa6c42f5cf0ceb874a7dd5d63f86e2724214b4d02bdda66af607b98b13b13b290d92d7acca645a344fa3b79dbc84ace0c26121dc1a141ed306d8a9c11abf476ce82ad1f2744f3c288fa4bfb9d88e60fc822b7f7f85b6d4185515d2a90099490bf0716bb648d57e5e3f7bcc4d94dd21952eff7abad0779ede6ebdb89abdfb3de2fb4f423e29eca8b803514bc86e4c396a1b3e8416a4b1b9185a47a0af838b5217fb4f423e29eca8b803514bc86e4c396a1b3e8416a4b1b9185a47a0af838b52179ffa2d60a73b41ea0e0e929b8dda6f3c1bb2291f14f54c370a8d23d8ced25444888edb24b48ee99251230126d3a90c3deb3be782203c7c00848b6382848320bae43f06c05b81b9cb30accb628fa1d5743297764d5ee9a505f7f1bc636bdc714ac3280975c24fa16926393c5d1ea5c532d970fc79dfa1a513cdf7fa161dd06a4fbae9053c7a194db6a0e5d8d87c6068546d30acc4735f0ecfde63e7dbe9ec4ccea8300d5ec715f74e2db2a5da134656c211183e32c8a6d312852d0b74ebc74d13b0910b27dabf4df84c372ff41c563484baac225a347e406bbfdfd6fb7f80a2328e3c4aa883ad48d8deb5164990b608347920f59c142491f3353067ca292616b2d4e46a9d6ccf5084df67fc7cde5f4c363d3313a8305a33e1c939047e667186150870ebbbe89ac960810dca0f2452d779324ea8c3518ac2d10056083f104e0f52239b6ab2b25a4b4ad680f27b100420171ceed91fe198db43aff2566abc343e5b9b05b0f514420bed818d442539743f98b25140f751336df645fdfb14af55596c15c6e959b3df57041a3f11339f38f0730584fee6d1331d795406563ebc73a24852d49ea9f60b6cefaf0a3a5aca24db4aacb43f4bbe4031a7d6ac5ec34f45cfe46172d2691ce5fa5e2bc0de32cc0f0386df3ede71737d3b221cff3b2cecce02f5a555f10de75e7dd8df708822e5f093e17defbb8f1ecbc38b90460232ec4a424b861e2861c0e84f975f6bb6096aee6856ac1b56337d3fa5b3309669376bd9ea86e4cffe9b08439cbcf1a52022073921877877339697fd1448c1e844d540322eb08815cdce9e3753441fe087d936d1b5e175e0a4b4711ae63267f256dc2697516b048f8cdd93eec411c3c18ff540178e355fbd5817b55a83f5eb2c2d62b33439a437a2107fd7019cdac6d4bdcc37399f49a2f79014bd6101dc8a4135d67d70564447491121355d29bc27872d0777fff39c8b6ea5a3ee364bbb62ac621ea80bc8edf4085d197bfd89e7d8484d146a667dcbdbc6f7a378d097e4c292f02e3a9593a5ce6c5cd168d625385076ecdfd42eb619504211a004b63ee8313494f67d254983724810bf9017048f74a8d02528002e4938937ec5b8f743989876947bafda32c1566d6a3e09abb851d7fa228d280a737e3ffe3c5162b5c3c2b5ae1ac738845839354fdd160e6e84f7d41aa8b6539eaacb504abb5f1b2af6ec9c19f49fbfd044496ee29226f38c4692d68271d0416e50b423483bd2e87cd51fbbb171554f70329b7f0bb0dd53ed7c8eff76c94bcb27eeecd1b20346802c10ad83fb261ee62c1ed394a972a00674868bc3712915e1d5a2d6d9664bde392b6814d27d8cd32a36bab2b3b9f6dfd36011274971b4c6da13385723e65d1fd0baaa4bd248f9971ca741f997d2f17948a867a5a2ae5e4c1d2fe3ad1c93e65942c9f6faa072972a7e31c4086883f0c837b798b0d4468e36e05df17f167daf2eff6746a2ea044b9590186387ad4505bbec678f12f04b75293404f828f1ff58ead0c51c15b29c0d55d2285e8dbb0fc371ed65008ed03acfa12c45b3d2cec000fb2b88588a8f3d250d4b4d449ec62aa53c5ba778d263d0b7490f407c026dea2d6dee22c5635fe940ade9790235d6d34d2e860674670d1b41c2ddec256a7b0a4f151de70cf6d4be7be65df4c8c24ba637baf92c05582622b1a9b856426572f0b7ceb187ec8970b760203b346468f5866535b3d971b285b950fb9da15eef02aa157ec51ac5e619646217229ce1fc50d01029550cabdacaabbf3866ed741818283e742aecbb587e3dee45201c0719e9b2b2ea7debc1e0c1d63d9e9222fd73a0395f5d45ef1267b8bc12cca3abb8fa49853bd91eabd198bee525b74b4caad2b728857fe491abb5632c3cbd56f1d02bfdec79b773eb065181dd976f052cfe4cc9eaaf9d70168eb38f3d45e2759795be07a5916ba45c7d9ff149f7cf92a98d9342cb3ca252630a26a784e0c90e9d10395a7953db65d91e8b0285e7e277c5242fd0fce08e9300c0b83a0b86b521c3720f02c607e9834bde8bad25abd471174d97539592ebafd4864174362965e0c768add83d5255ee0035292c641f4534b52f508970ccd062968f47f8a669ca42fef2401888d136a5158b40a9ae1010a0ea5a27c6db42b665251e03c04f45a962adac9c5e4ce176e6a8f46051424904769797d8f63b3ec8d31bd661e057aca56be770b32f51a0815a5112c17c1f03039b1faef981bfeb40614af43d9d0826d786f68cda4ed2c14f647304895d09a9f34607886d2f252e129a20f3a869cfefeed7c4562b2618457f11892203d674855ed8fb128f72a0b8fbbd496fb76abaa3891b222c73c0dc4d6f529fe300cffe023e05354f1ad394f797e4cdbc8545d61e21736e3637e7efd2622f79e318ed527e27ea59fedeac93c5964d72f205d8ebf32dedb0a1379aa05b76ce377dbad9302ef39d1996c1aa23fd1b4885861eee8df24285e8a3b00bb9dde31cbe9f708c1f31867964992b44be6cb0c05d654f45a4852965a6079cc8074078d712ab227f9a4a2509613bbb9065dc22af3d1f6c48e283e59adbab970e8745cd36330913e34a2834b675f575e886c8bdf69381691439ad982d70bda600e6b2e5c254e83189d3b8d431b68acce85ca159c3a2be03dcea805d2b870cbdf0306defe7796e77aba186322853b8fa1ac62baeb096d39d6ec89ea354a7f88f93e31077f10e8111c77a399a7e5c0f8a81fe5eca128ad4dc89052bb54d81e9fa0b49efc007f702eb4e4a36c02e8963715cf4e1e5617c2c26bf7ba802fe0a9c6c0b49efc007f702eb4e4a36c02e8963715cf4e1e5617c2c26bf7ba802fe0a9c6cb1889601ac88975852d2de56cac305f2bfe735d62657f30aa898ab7e2e9cc6734a3d54611b71880a4e8fb7bcc581e92c32e8579fdada245c97a062e813164ce25789f90a1f7f59f6e5980405845e29b9c1ea1e87d050394269d50658201e8e5a31e59d1c9aad22d837581cd1c2a861a77e537987db55b8de4cfc89b526eb010db8d0b746e096e49082a53924fb330aa968d96bec465821a95e49b3109ab49ce94bc15d9cdecb452a48f972a45ae6aebb7279219a12e8c1dccafcca716a7ef9029cf966378305e862f09f8d6fe7df0fd3dd435bc43cdd1a0cc440b2028fd55e1aae4054ebc39df2ca961708ef297a32a00ae9e9e3c1a8d2b69cf4e604f4dc919b7d8ecdc6e3cfba38ec1fd8fb357a9af5d16b10e03df278dce3969b66c7fd01aa8015fa91227a4ef315c547440518c32b0ea69b6c7bdc1d99424b28ad2e7a44bc688f2bc7905c5c96b7c4109360c98bee44c37e8fdecdba9161ada3772486761da78188a826fec2d98df6588030234d899e77557b28817cc2a7729ebae3d0073aaee2fe97775a680c24afe530354b44203a26ebce995a94aeb17f19e66a1bbaace3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557fb1276679efc556f414b5d0c4f4f87c13ad6dac4af99248c38ebe23e36547a27fb1276679efc556f414b5d0c4f4f87c13ad6dac4af99248c38ebe23e36547a29ce0ac568a752270516dc45e53af66590f98e7c5c0396f70d843a80e9f6b47bdf19e3c5f152b3c04105ae9dab8f5d1fbbe5f83063dc8d01630f1da58ed1e6acc53e98490739db91fcd52c98d0eaa18f2df77a41ea1b12faeeaaf0847de2c74de53e98490739db91fcd52c98d0eaa18f2df77a41ea1b12faeeaaf0847de2c74dea70e3effd11e6c4ad01448609d201bfe63a48ee77d5dc2519da220893ddaed70a70e3effd11e6c4ad01448609d201bfe63a48ee77d5dc2519da220893ddaed707f3fd4a72aad4a06d975388ebcb2208c029209ed7495eba6a420d96b1656f6a97b1c1e6a60753ae0bdae61f52b00962bca21e7f3415f3236fa95708dbc8fa72adb638e1f79dc28e2e96c5f838f82ce5c061e16ab012209f504f76c315c0e944078a8b636cf946764830c881c75e9bf3398b3e00bfdb18fda723e15bcbd6b65ed7a48a8e9c8f276a26a6f080b9e4d4b955a5dd0fd952480e8c4535e9d65461c04cf869f727be3a826eb1570e842e05f064df770ec3d56a142778e20bffc500a234ddf0c892e2f2132766006224f513c7e4c8cd5ec7783dfadc4f51493b393dd490a3ac498f790dcadbb1a4caedf07b05b703679fa0d0f9eb9c7a36c041e2a2457061742b78365a2ef3dc8d385b2ae66a986ea5cb554d0e15e49147d81e169afff8f497921446539046dfb2f0bbd2f150dfd4c2b5e8de002f06d99ac825ce63ecd3fbe35ac2422bd19c81692eacbb44e3c7fb1f183fde520d6771833faa989e51b7c21b6ab2eb6ff2030466a992735324a16f8e4cb9e30665a73cb9bd581edc43d8b143aef8c5472fb87ba828458eeb60bcdd45bc03a61bd869735a83451db9900f2eb00a72c68be353148f9767359b8a23186d2426eaea2767bb24ba84b092877ac409668a807f2eb85a6b1396922d660c543c0727b5897ba2e24842f7d28133075f406c284a77f6e0f730271e65bfd98daea96eee7874fe76def2cfdcc4cc5c18ddeb1328ad500fb3ee334162e604bca9e917201fe512ac7a514848af6f08112468186e1e551db7a2961814ac1594dc13bdaa251eed50847138afb35d4495e13c2872b53dfa2e0ffe7f4324e93e3c09b2616876042e8625796467c5ab57fe887661c820c3ddf94cfacc5d421b0b548b3d0e2b27c69c1236ef722f03fbf6fba0ad47509f92632bd10d5b04da97031baee691b3bf9c0cbcd80f53398faa82dd423f76d946948b1e6dd66f5dc52abf8eeb945754f92b80ded5cea5d75173f57cc47db09794e9d97d2d7f2c99cad0a9cf16b0fa52ba285f26226c3b193cc319c38f18d609a068160a0d3886ac1877b78a31d4ac1b9e36af0b5bb80948b29b7dd06ddb47b08e2bf1313333aaa99ed313f1c9e9b78e5ad30dfa390646ce270d8cb2a62e537b0fdba75af8dadec81ec020939f8c83140f6a4f8fa431fef71ccb3b14f873e9e9efd11326774089561cbf2ef2e3a18ae3a38460401a8420b5d46274d1010e7dbd5285cb39d354852fe628dda30f4744f0924e6a4c25cd6a03cd705ced301f5f41765b587067783060f3bb77b7c1743601cc192b182314a3fafb5afff48d6cd26ae8769fdc0fde8fb47fea4206873914f90325af9560234cd959973d5109dba718e025afba1e9c7b542cef9ac806db12c08abe3a55988ea44ff07b1b48770f3f6c3bd3e5885e4b341a2d8750bc5896cac903e4e13260e058aea75c122fe54e4cc5cfd675a0512b9c50ec1c75e1f39baa761ab8bfd6e0e519d3bb843e0494de8c978fa1e657e2e1818183722bb97958d07f8e34321887ea509f04e37a459a03ec76e5cbf71826f1705e79f64c7129680a86a63a6e28d65e27650abb3d0f83c28ab0cc2f5db697e999e706f58d0360460d473312b045f3e2d8eb2eb5fd7be528d474f2485dcaed4134eef88fe3243755e0b3646cc5c2bb080ae13076b94e3388c7d6d6ea9889e4f101cd7f0e2d0497be36a536f4ce009da6f6a2631711f659abe790b8c4ddc2afef36004a90d612240cea344779bccc4dc11c9f356dac01c6f05bdf0b732450e45a554bce4464ecddea9c74a80158b2d67929115f03127e4efb04de52753a3fcd21e8d42de3da07c9bb4b7526e695ebbf05a07e406c539fb438fd61e80400ad5cc7dffaa67bd284fb0571ae01495ebd73ff6931230986786a97686edecec9f755a3c0f06a4cee138f91bcbcdabefc5b18c381f3a6d6d86d9632970f8d0b8623d066b672920b270640e69f2b199d54342941fd2624ad79d6727730a1ad21148438162ee46eec785cc5ae81dd7ac69f966c399fd9de66a11000a6076b92dcd2c95e98f1b03739d0341ee119f21b647beb1dd13c1c9eaea9342bbb2c1f2b4c049177e79e43152225a486d700f3418238f0b1731fcca9ec79c494863336897613b2c2e378318cd740bfe0a56d3d4dc13f9b69f4fc156a5952c0c953a03fcacc0d248e79fd95655cf07e0b847feff3835db93990bc207b5038e18b03a03fcacc0d248e79fd95655cf07e0b847feff3835db93990bc207b5038e18b099b2f1d30a2a76654fb80fe408d455076606a70317a5dff1f80c03b05c404d46c07156159ebdc8793ad6d1d6aa8b46361f0ec559553309e6fb640d31abb193f4141ef448406cda955f9d29aeb3d4f312d435415e857108191e9f5232f38dea3fb9640e41f79c9931f34f4e2da140a189d70282ed52957043c2969429457d29cbb6c915127c2f4d3c5f56ae6691409d11d3c4bf8544637b9a5665a0cce6ff38af8a0e249a341763695c9e783ccb14727e89e504a5456bfc3791b8db3b1795e721916605f4fa1cb1a40fb66443c9c250f5f98ebf82fa988a00bd1c642a387e686c308eb22f49cf4e5353cbebdf4fc0a06729761cebfb81a85fbf068ee98927ea7548d3b1c4e2f31da02b58c7115caa7c29ec5da5313f3422c8315c1752f7fdfdffa99bc8e76391b08db28cfb1d7d1bdb6e0516391d158460c67c70d5123837597a3985090963533cbcd1c6b5284cb74c8e15b800ac82b92b2c81a7cc8231d86bbcd512e309d42548e9cac249e64abf34a5767b70cd6f372e85172ab4da352bc234d624d05f6d7a83edfe544897705084d2ca511be800e220502b4a427184879920bc57e8bd7d83b33f992819f0e22448a7af524a689c6e497e587d311b15dbdca8337847cd7e282f1aabb7b2241d204b74068932ec899d48c7e91a8897a8d250ce337847cd7e282f1aabb7b2241d204b74068932ec899d48c7e91a8897a8d250cebfe01a9287adc7d0d8beaae38501be3d659fc9daac62183c43130e508206dbaa8bce6066a55ae3ec144f285b6a539b4cf5c2843fc2f4bb8782121fdcd309468a89afd178d54203c877c3647891043196c3337c0ab6f2f761ddcb6eb7077d4944543a22c90baa4130991402f4474d8f606fe46c7eac6a48bf6c76e9ee51c9ee91c1eb49ec4a8f700f7d26eee65df8075fbb72e87c94fd674012dc1c55ea0d4b1c63546ce8401d13a84f7b4c2afd4324fe3515d62133733d2b742ac4cddf83d9b78e36d75f1c259da2f99df179f2cdc7fc8f270cbd058fe64b9db64adf97bd8e86491295967d046094920152ac21dd56aae4368be9636654e807375b066f0aa2b57f8d2684a71c473d0bbef5dba32416d29ea761754248a51136d2795a289b3e0132cadfc216900e025df7399f425308c8aec42cf682a0d0f7cd1da68ba5e9b438ba53f0aa425be26b34c064e8e8b18b8254594736c2812269299870954774caec51e420125ada0dd41e33eb6d47c5ad7f0de171ff3205a4c8d59619333f21454217812aa934b46a31986c2c2ce56b92b3b7b7f68f9ede77ff930b59f5811df782b4aa5e25815f166c76440bc1fc64d58458b165991f4539d49d6d460d1944c60a4b4eb8ba87de42d896851d82bd7217634711a6ca055fb5f64dd865d5db2bb1866360f1cc80bb79da30464b374399c4d35ef47fb7d59161e3a252f85188a39be455cfcb0b4aa6a28dcc836b419db38b02ff4a76c1e603345d8bffb2d74aa493836fa449cab214f5ea4c93f9f10cc7ecf3081225f2f1281558bc3aec4fdb1a853b6bc0194c8e819eeb1b7bd915b88d217dc955c32fd353ec2487b267edec7a22e39e7a9c55ee9f49de8085fe0fd9d0972b64f8c50cf682a2aebfd14b79c4080092e0c96a591b9759e0a5d685d010b5b05bcc7dede736d1f750594e4aa7a00e160fb6851ce0733c269e6a6b2337e52fac357404909e31c2c0df5edb36040eb1fc6174a7e33025f35f8f75f5ea35ebc6f0de35a65719f2518a0d3b113fa083d8b2feebd3868fd7de0c78ac5119ff88ffa1faa63a282fcab91e40a133234856034bee98b022b8884f3986eec4dcce49892e1ebbab7f03ccd7179ed45ef4d41b0f60bc98e663b68a290bc6ccca9556a2a917286b0cfb6a243fe7e0dba2f236056170ac74a942dc5ce6bdedc0199e72696fd3e16a42071d754082bf1bc8ed550aea1b60ec0e7ecada6a8ef4938cf0eda032b3a636250272ff020abfb70a47f2d8111be761cc55917d56d8f105aeb305319b6a4a42f3904782a046f4a6d1929ed1c5fb3c00fb4630250f40a9189affc54a5733059acf52a035cdd3851c6c4cb345f4d56208426f0fe795567230ec544a6889c3611f042fa05982eda9fba00032d91bf3307a59f7ab7fc822cb4682f9d2212758b6b3e7e2dfbd33aa971110588b1f080fce6f46484407cc20640db2dfb958c0d44487c36a99d28f62ca3850f85b33ef5fa501670c56edaf22fd0208c58a68b5cdf3a1c3ba2e2349eab6cb30353814a2cb2035a711f17260e03bfd32568a78dd906b19ead497fd4b031842fd6589fda6998cd4b148ab82e0bbeb64326be130fb6255934e11dbfe995fe4ee8ab563df1e7fdfe130549374d875b4de6ac3632e13b37431fab3a65d05b394179819c3f08e6a65923b97e5aac75bce40e562325f679904ab703d5db0658c9dc1a34fcbc459440c8762be746c8cbb2f4ad5714c7b44f710c5fb52e0fdd04b4251c7cd25dc1188d9350431590fef3b2776311d276393627360a75402c71e07a5473d0e9f66bc3c9ff881002f9a4ace463cac0f534f8f9f3f59ddb371d67ba823446560fefcdcf7a5df4d5605e89493678b331a916e37d5ffdb399a53ac3c45e742c861085c8a7f791d0134a97aad4984d3421b93d127a6f73c93772ae8d5d6ab61673d582e4b7f23c1ae3ec0dcbd12176a59838ff3d76dfb6e5ae0af68c00dbe4289c338a5df7e0af9fd4aaa5f331967694284e186f5b4999b751e8de88e53c42824ca97e0878415a94c26a7ce43edee9617592cfaa3a511b200bcaee5e87b4c2f27caa3459b3adc7165d755a88de3a3ce9e31d2ce373ee4e4c36d5183bbb100990e586ce9f795d53ce4683633eb8bde02c0062db3bda1ddf5e2d0f85e97e77367b1f07210f778c19e08f7733f0939556ecf55f361223e0676d3bf8c221c564561ef031da27d01075e8d3dc17f333d1d6db44aa394daaa3f221270502249edf3d6c220415ab6cea32a7a5eee621b5084ff22bfaa449bb03fd4f826485c8a8c40dafc21bdd7f9416ebb4479104cccb5e37e084e063bce3cc04f474541c47a508038f63a91abf4a0b47e5f588aad2e746871dc78b32b3f783ebffea4994c3f2b961c539df2c92c998f8eac8c41c8e0b841f0ef60458ed937883bf7de90c2cef37d570ba91bbf4c0a79293ede17b0f7ea32087a4e9c0a9616f21feb093bdbcedf35c16ac7819b7fc0ed188f588bbbbe829197ffae08340f2b4028a728f60c751547e0cc7912969eab23a922570908eab23329eb0b2b7955de2fb5fc945e6d0be35e99fbe3256c1ab068960092e15a8c65d069d029b67e4e0de5294654aeae87fd4900d3eabeb80d1e4cc9bae6dbc509f87a198d14e7f474d3679f5a3bbb031ea06fb6f456f2b927d71d6bc7668579be7f1dd5221cec247772352b12793e6678c2c5d5b05c5a10d3d8ddcbbf7da36faeec5d1e1c6da3ad8b24a7936e8d09f37dabf9cbe5cf55bef086c85b05d90c16dfe4ed50d99e59d41a0de160f1f6b8c4c38bf7f8f5e57fe27da47b33a791994d6b54a2300ec197b42b33ea2f0642ba8e28bc80e660b8329b8887cb52cf7e0f394e4277fef2ee824027e9b04735e29cb23853a9e560085437193af267debeca38a564916bf56b6b328cabc7382989ba476d949b311fc4f543c1ed62f99813b80a5c58d8e2245a447ed7e1789d5878069893c6786b121a86366ac9d58d2f9140a94559a434ab895d16fefd481dae45ddd98678b5771695b8fde27bd25acf3f175091de129dc8932f56b0dd5ce0f99aff8d207909c0c52054694cc5aabe6a94519c6e3cf9525b22e8042f349e8e6d94ee5f140a91de2fe919d0ffbfc1e36691cc39f8dccec8284972ec3c1b308fc15e8e06b0b3647502680e79c4f4a24b2e2a383974b55da89f56c160c6a9676ae0cc9814c9de8d02c4e97c65d6b432625ce5ffbb29b50137384b94ba09655849516390f8cddb61e507fe1f31deb85cc48867493ef00c0d46bbcdf5a9bf77d46c61c24792cc979a02d20ef7c9f0c00dd61347e8e45f20fbba21e10e1bff53cc94e4e83f9923a08ad8acc6d2de152135181324e216125246345b2af994488e2e2c119934cef992867cd46740a3be7c0048eebcd6f7b17c2fa6d2cf0b0227a6801d8f1d847e44ed14fff6c7bb1f5328ca2b786fcd6e75984f7c80fca7721e2704d2d9c6c2fefffee2d786ef7f54fd3392003fe2593c333afbcb420229cecd774c619462d15583163b2a03acecd638338a493ffd42f46d75dad759af2b85a42d0a9744dd52dc1f92c237e9a8c1245c3e31b08979ca07e213c4cfffe14ecc9f053ee955ce1c9504b0167c820c89242a98740ef2bd757d9a737add971486b5be51f5e4710145bcbebf2b6b5e9c43fcfe14b864b63a182e30e134464715ab55d61bf7ff856449c21a7fd6a68cdeb7ac8d7df16d51c35f2ec15ad2e0c8b8aa923cfd59549dabea7239e486547caa0e7443905bc3213304e73698e60d98a153ef7b6d03ebdc0d000cc6ddf52536c83cbebc3310d690cedb5a90ea29229165896631aff94e9cce0276b1b66273db6fb456c4163f3902e26a475b92f12a65a1112cebdd5ece97ab13ef991a23ba25831580ff07bb2dad45f8382abf32b427e6ceb5342b4895cbcb48533ca5baa3c9006a7345e47b64576a289619e2b2732e38fa09dae247bb3580a4e967d93460fe70ecc35df27917ad797349f866a8281a6843ad95b619c3b999e368751c820b74562be4013fba6f4ee2140d3ec882826c98592eded3b0b4d1634395efe232ac6a85988a55efb649cbec259e890c83f73ed93585f7dbb52f0ba9a2364a62a172a748f4c2ffed34a8a14398a76564d2528449d21539845c5dca6d25ae0a008e1be2438eb9d812f5599eab0ba316f54d658b9647bbc70076fda9972f28a2072ce5610d44cf8d162088aca7180a5421bcaf4170dc1b3704304bda9eb06f2c4ef8557cf3e841a8758600cb0103deb748d58c013cf2c1b0fbb8af4edd9e5c188f15c34e447d69091b6e8937535db1ab0120ac74b9cfb930673c69d05661a0cb79663e4756f3674a23c0e4a2a154d2c413e70bada7ee8cda45ebbf110b930364380754584cd12da2ce4df4ed37c890aebf83467ba1c81248093c119c721bf85ea7699c34d72a4586e07f35d1850d6cac22ee86c7f4c67e5a4ff7dbb0a642b4e3340eadb597a4d9443578f7e4fee188e4a73f5c2fb0c6418806439210cfe11468749454b584144a2818b3bfd8c37916bb770de24e53aa945bf6ee0668e80d461307eef78726e5704ef0b9be73453d9517de659e81223342e8ffc87570b853b48657f5abd7383c2db6bf091bfa13177b060d1b0ab461feed5a301c41bc5caf4754ed0c55b16c6585ab9c8dac1c2d26baaac818c7aecafe76303071ac01dea299126a873e762822aeed2ffe50d19972457cb153905c21fc9b6667b5f1637666ad829def1899878b49691a245fc0f00f711f2f3fcaaf5c1a5d79f1a356c0eee7dc634a359b1055d0ab217a32b3082123526b58c22d7036985c7c3c87caea9bde64f9b4519aa8edc44eae81c166a288b6c671372877b01c92f4ca680f0867952d38e64d904eb8fe7816dcdcc154b78a18890503ae8b96c45551d7f3dd6525453f7697cf05787f591289d01d0ae1918238ab1490d45660af0d5404f6e42372ea47d8bb2ea278333ee3b07649d37d0ab172710d9881fd353b68d182ef468e18d26db734f0094473dc79b75e6db486233dace5328c03b3bf6fd61f70313525c253755b11729f4e549222f0c7c6a1c3e865c7e3c05733582fcf550cde916d61bac14319d0e06fc0fb8e0a4021c29ed619ca5157222a285f2a7403d8d704c50aaf3ce71541f7f9a30f6c3417cee97f1fc24c599cebbad04f79fc475cad5328165bd1d03ee193b0aecec70125cfb62b56a4e0cab71731df00db70f0e6e6d05a6c88e8b358ed95e37822d980a5c978a98050dc0ee609cf969f25c7ef87d0b4f53873f809912663a22aceea6a253f76c67849a2f3a4b7539463ff29faeeb6a9899b21e507f4522334a9cb063e6f53af416fd3430c4fbc32041278261da9032f39c3b9ae108b9b752d2298744847337c5752eb01a78c654b512b4e0368fe9f4dc3f2d340e31b337c1ebea5889f8f0c152be8426f55cd6af92209b35074f8ef0d6ffa3b22d8154b9bf0f6093841b027f4e91baacf946637f8dcfcef343a5e5061592b248836a43a5ed5b82c3afb8116610b660f3e116a62ae2c47dc899dbbc7ee90cf7d2dffff02492f69b00693850439bd1918c0f780d87d69c2a4581078d020ef333752ef5afe0b562a4db1e4b781aacfa57409144c8c91e296d749f49a03b7df25709daea6a4ca8eb87c5e08a260d8656c445f55f37a9ed03543ba4ba39d09eccea3d3c99b8cf4493b958e661aa6574d3e1f6f8f8d35333dd16f3036b0d1ca2116ccefe93d853113834ac49835fcf22c648d26425b3a7bfe0a3f2a3f82c2c3197b61eac4b93b1c845b05d60f4ff57beeadfc802a6cfaf62e4f91b33415944a0fbba825499d084cb4642ba64be6a665dbb523398d746ed4365066d9f340214981c28c7eda71ef025b808b30cfd8e242fcddc20d56b98f05543945cf0e8f0a70fa5a83b532b4e0a16f088f0451598c0917f00613b4d902065d8ac4d81659f9e893015834db6dacfb919e250848211041bb4bb424fb1b777ad27e6ceffbda6678847c795c1772b228f1537939b9d161e00078b3dc731889d9a5b11f935ed8435b79e850c99f84044c128a78fb223b91d68de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85576b99567af206cf4c526fa6a29dfbfcc95d3f470d32f4935de7ec885ee5902de76b99567af206cf4c526fa6a29dfbfcc95d3f470d32f4935de7ec885ee5902deef74839a08d97401e34ae096e46adab58c75fa788b6e8a5faa4960383a284e4ae4e517fc678a08ec9edad35eaed867feeaa3124ec95de0182ef0592e72f1889bae02871ad1dc7dc8bc45658b31515280b41276ace2eb2dc770ead4692bdd1633a61105640f43f155dd82654a3bfbcc6334b5cc877a19d255eb58f5198aa6b448e21b6185bd4694e6f9f48a2bded46a0e6372496e4037251432b3a3159661dc6afba4b2c6607ab6ffb18292962b37eab5cda14c951a1627081b7638b4f91054cd37d4e00711bce6f9420d049af5b389e93258d8dffec5c43f221fec7d0dba01b8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855741e475fa0484417777be3b858905990f1bd7427e710a2b074dec9e1c9744efb741e475fa0484417777be3b858905990f1bd7427e710a2b074dec9e1c9744efb05b321996060840588d4d4222f7ca2a416340febde9779969a26bdb5eac9522f8047f64f3c2dc4236ffd182c572d4e2f01f0ce679f268d6ef08d6895d9764f3eed49c37db6fc4a4df2f094b634611e7a5ea69514c5c5d5e703e0b51c9c5e8296ed49c37db6fc4a4df2f094b634611e7a5ea69514c5c5d5e703e0b51c9c5e829670ec44728296f796556fe8c4b7a2c96d78566d1edcb5dad323970fabc200e1522a50362c61d798bc75548c14a61db4a8f8387229dd1c4862b4d6b5e3bf498be881a47ae7232c35a2124cdcaf5de9f1846c40f260dc8add24553e5ead0bc66e272377c7e333c92c667acb10345cb4b249622faf60ab9e35c8d61e0d4f37845e316d8df4a903665ed0870ebf2e860bd8b6617b338b0b7e62783c5c300826743ab96d8df4a903665ed0870ebf2e860bd8b6617b338b0b7e62783c5c300826743ab91e29950447172de38ce8fad03c3cf709989fa2efc60f0cc2a594352748cfaf586ce3ff46e3c82f3d88580915758e4f6cee1516a860230f16a8599456964dcc31c9ca4078da4f16a14348e9cdcd901a35451ac01a7588d99993029cc18d99d014fc34fc35bec4a57d897e092f4cb800277acdd59ee62bb87f586655293444d2b3b8d091c3fcd493c46ab4a6a17049faba532d40ea2e2a69722ffb962737d41428a95192fe1dcf578f7b61a2c82e507ff5fe363edbcf8e35c76613e4e4ad143ed905bf6fc66b96dbdd2a5518558f75793dfd1941dfffd3509e274537494f0c0a76b5bf7c28035737e9aa47db858f1fd627535ac3c09832cfc628898a27600137d6387b812072437e684b096786bce58317d4e0db74e3d228881f1870113fd8f4e8eeb244b178c608951f797ddc1dbafe3175d087fc9a4337f34ddbcfb78d2eeadabeba0ff9d06b2db7ac72c85abb11bdb06fc8eb4ee0f8afeac0362f9c4f4833951f6a3b3bbf62e2788e3cb671e35c4b26856e8eebb47ef0c448a3b7dbc4b7bc143accc1668d94f571e01c5249d7c00827d337a397777e77db6d89f0cf2254c794957673254a6ff7410883dfea747f9e9c29bddc83e26ff528dafafe369e55d9a7675a468575565f598345632588a9a194df66120ef7852d110c726cd90db0f94323425a3e44c1d59e79bec015e98b7e5a73dacfc1ad585f4a0f18f41f19c1db1ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85514b3b69a8e3a1a641fc7fa976aca2b93dcc9ddad1d3837dff0d57a37c199d91d14b3b69a8e3a1a641fc7fa976aca2b93dcc9ddad1d3837dff0d57a37c199d91d82a16425bd7e5b467470558e4683a15ff0eedaff69de2b8635437cc8d578526e7e1b35d5f58824c6fc8b6d9bbc7a1db46d343a50d77755913139b1ff23c99146cdeb5db0e00bf8aae4a0256854905339dff0a8a565262cbdec29558b47262c84a476eb00355c35d9dbbf81442793654dc11acc5d4b50e3cfd26792121eea169a85fbb342e43b128669572ebb878308fca8c5d12f38ad94fca95d63ed09970f48691ab935bf8a285a69727f8de914c380af354bb4737df5fe343538ab200bd275e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550aaf3640a4c32c60acc4dc398d6991dcdb20c39e826d0c7fb22444cd979107460aaf3640a4c32c60acc4dc398d6991dcdb20c39e826d0c7fb22444cd97910746da959cb3cb44084a9968887dc86df88428e19669bac6ed702b09ebe6715fd2b8edf98d3d10646ffa643a036aa92427a3a648b71dcaef7b9dffc86f21f95e724f6bd369a296a32cd67a3a916626ea3de8366de0153d86ee39159f06cf843c063d45424fdb4def3b8b1704e1cfaf481fba016b8c7e6d9db4287f99423ec729b95e4f24b628f67aec551e28869e2b638b66d44521121f320befb0c7e2c368e3e417f417facd50f3d4987666d03ad7871568cfd69cdb26509ceb693b36e255ad8d3fdf6e8afc41bc8d8603c3b64cc266465c883cc40cd9837af5e24be886705118d4e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855100e75997df70f2d0f522c182baa05760890f0b7106dd299588bebf08bbada5f100e75997df70f2d0f522c182baa05760890f0b7106dd299588bebf08bbada5f096c19616410c85667ba69579b426fd3be1225e8c25ec8220408ed3fd8865c4ae101ab9cde355a551bd14525dbebcefa585046be27c8805a792de9d614b0fde2babc5757013f1019b7f2f9f1634ec5ba4cc657087823d80b7eb86792099360a5babc5757013f1019b7f2f9f1634ec5ba4cc657087823d80b7eb86792099360a5d99abae7c8b3fc483b9a5c2e6f893539aa1d2537ec808ffceec0c14914f0bae21c960173eedd763bfc9604c6c1adc8962ddf5290a68f6273f7135a08e4349fcb673db9babba5e341134bfe4db774c006018791bb9f4bfe02010da3d4221e214a673db9babba5e341134bfe4db774c006018791bb9f4bfe02010da3d4221e214a49e988735130b0734267e6aeafc6d71d151f88096d9cc0cc95548545def1b9ec572a2dbec682958cc8f4725d2f0ad5b14d60c5f2bc9fee505d949c9cd936cb2413e90494413e9cf0c988df1b9f3a707f13ea1a1ce9a53d73672cdb9e27d296cac4ad0c995734ac507d8cc83bd37baf735f8897f708652acc08cc2a76582a5ee082932a3cfdeb7ced07a93bf47ec6649223b746befc1525d7d36a7a5f0c99b2e082932a3cfdeb7ced07a93bf47ec6649223b746befc1525d7d36a7a5f0c99b2e0e9bb5fc2970e5a0c2ad1849278b05f9eebd44d2c8f6b6dd89cc7d060956aa4c9e9bb5fc2970e5a0c2ad1849278b05f9eebd44d2c8f6b6dd89cc7d060956aa4c921bcc2b62971e3eedd7adf0e5c3bdaae6d60338e5cdd60d2e3903aaa11525297919b6086153e648a383c105a4226486bd09b205e8ee101150897870991b0cf59a0c3fc210d4bf47e87ac2eae0002264af839daf04f9bc0d7e2d89c3e28802c496c4ba050e2be7474ee765136b524c0c477b70ff95ff92862eb5c67c16fe089c3a4dee279de622f53409450993b9ca9b61114ec15c74c2b07da9ff16de8783f5530f69a0ec5e68bffc4419691a06736708f75b56efa747ff712018e6321ceffeb8c49162e8fe7329383c4718f2e9526fd229727ddc30474b34776570f475919298c49162e8fe7329383c4718f2e9526fd229727ddc30474b34776570f47591929268f82166935d077d247284faced710e918df98cb69fc6ea712a48811fbdc06b0da2ac464c68ad03d8a91bc13a167d21af8049a1c87f57c053022fa84db754db13521ac203fc5aae64b559217aaa2fc4f8ff6121ed59a3524dd80d087dbd6a0ddfab47dfa8cf1f0afd278f6b05e830b25ed4db3f26d53e3c9db5d8c331393065b923f02859bf469c3d5e0e7e8e33eb9554bf27c5dfc01e4721555aa4cf15ae3db923f02859bf469c3d5e0e7e8e33eb9554bf27c5dfc01e4721555aa4cf15ae3d14bff956f4b9cdad7ac30c32b22e5ebfba87036d5665317d9e8d8e148687642814bff956f4b9cdad7ac30c32b22e5ebfba87036d5665317d9e8d8e148687642873eac869ce1b066fd4d67b6466b92abeeadadef7e4f3a39acba9d23f6a142d02e4fc3d888dffd8dd2490d7e58a43fb8f64be33636990a068722a5b0e82860d4c6ec6f058c77098dd9e842c668c807dfa46ba5c7036eceb87e96776c8bb8e7d766ec6f058c77098dd9e842c668c807dfa46ba5c7036eceb87e96776c8bb8e7d768eb31a7bdd79f76cab12c859b6bd77ff25ab0e6fa550bd5eee5d4f0e360afe018eb31a7bdd79f76cab12c859b6bd77ff25ab0e6fa550bd5eee5d4f0e360afe01b82864e2bc7d1bddbc6cceaf70547c3d050bab7e286122d886091c871ea5851cb82864e2bc7d1bddbc6cceaf70547c3d050bab7e286122d886091c871ea5851cd6b754b4565b293351c46e7481f97fd528e3aad59ac04eb2150f5b37a57da3d164c7f54a7ab2410c9fcfb327890fff74d7389f2b7654827f1728d44ebf64c9258666011e521f951534e5cc4917cc47506d2721e7e91a4eb2a58c46884a93d5ffa3be97bf7da04c6e7c35746285a239d4e00aba8960938ecd400b61198712df9d33a7c374410aeb8616482504dce5896cc87df77920d8c00964878a6705c8ed77d5d01587247c6c7faff5e157e2c11ce1bf90ff4d5a15714291a5730507af025ba47a25641bf057303bfb17ba83c0c11dd7eb6a4ab47211ddadedbf0582e851d01f8d8a00674fe171f962e1ed5caeb2e1eb5a514cc54e7028cd5f1fbf3c35f5d47489be22231457d1a68a2d625fec66ae560e4033158bd0cf387d81f7db75070b6c71354a07a0cbafdf81b316a43e3d2b0168399a91802d7d5656882e6ac773b95d5fc2ff3a148d3db26ed1c9b4f1ee81d377d0eb5525ca22d175e51cdb8b34075d5fc2ff3a148d3db26ed1c9b4f1ee81d377d0eb5525ca22d175e51cdb8b3407c3e6505ebf52f09bb9355c2fb88a83b2868a01d643e071015a5dfc388c1e41737ed2dbf499602c8a6b144fd52129434838b6b9036d7c249fa5e594bc02ba377ca9a58da0fc58e0d51ae4245b10b6b12cf96e4884c24907147d29d31a76e5dff3d93f7006151c13e79759c94767c358f417a153dad079c1f72ff955782864c8a2fa6e00e0b8333bd9c0676dc03aa3e3e359832a4119b6e40136fa5e4c0033fdf5240a06492e428db14fffa78e39a5611bb0b0107535eab5f873f26120a7499e9b3a79f44674d54856994f5f81c3282ef8be9d58b29dc2c3f94228759f513b3966fbe54aebeecf09af6c38a319ea8da5df76cc7ccbd6e1be4856da7054fe62e6576170d0d07fc739b4405778ab8239c43511747a48132665906954b94a7bbaf2bf74e0b99b90e3852bb2bbab7423a03ccb825e96ea60247f47a541e3b3cc6d22ac0f7019dbd4b0ff73d29c33843b25254ec9e29bbe79306f45ccc4b49d5f91ed8684041ae088e265effafdd10c3a25139a5043f3ed6c876ced6e812b6d7465d84a6305f5e94f3ffde42875f1b30398cb7e96353f82dd4ece28418f8023c61d01aa4821fcee7efdd054d006920e633affff71a8a7010dd1a6b7628fbd739a15e8f300c62f30cefb306ee381db099130f7bff9de7b3a6bd2d39f006602d978bb896ae82ab9e535bbbdf3ea453b8b996304a91da08474e289e473cef47cbdc972a23621854c67190c8d0e5f2dcda5a73af43e0da5606a185e9c0629f1390e119fcbec17da312f2b3597e3a8d36c34dc27c012138ff347bc316d7e72ebed065b190b4e15584523a69227c0f4963e2795cd25e92b0072479f9946575fda8471bcb064042ef6a29b80c1fff53311d48134c4e27d809dddd87a240ec7805e4f05502882204edb198b23262f259ac6214e5a099ab784e7a991594ee108e4813d36b632c61f628fd0db9eb8b04218eb2a3835296406abbc39e4383c3c7e1b012964e0047eab162c5f648fb31ed487b4967362ab56c0d866c625c934efd414ddbdb6061c8677d2f3dcb13968eed92b8bc929d0893c763b57aa8d288af2cc8836274fc7b4e66a7c400cf98ff9bb79378d73ed3420b69e878852b48cd7fe663ceb1e723e3872d95d6cfaacab6e2568049289e19a2c3b03d6d8ea808eb82bea0ca3d8ebfea177b65bb12319e848f6fc0d90458914981107f32b3be184329cb10bd8c6e01fee05898edee4c26c662e568008a2a842bf2458a859532d17d3fa375623801ff9882c24e986f0ef5068cc4c22973f9854e9257cdb0397bb6ae0c074074de5317ad59ca8bc4cc3d87d3102b00adf133d1a9f97530e8b71f1cd9dd5f1432ae2731f430a5e251e11fcab66d0d09b0be052180f6a5a8d839c3d9893557a3459920e60c5f4bb248efa366cf442054eacaa54d96d5cf60d2c966786aa56c4450d25577ee2865c7058bd6bfc1d38691bac2a23d679ef13fef6b0bcc817cb2391f3fee9e311a4e33b1a9d9d9e7012d0c0b6889229ef210489692f2fd1cb17b830812bedf28e386b8a00d4cb740ef5b79956de4a1c36b67a03cca0e4eda717b11c9f2734997220ff6d68f6063d2c6825f8351277888387ee3be8d0b5cab4d9babc36d757538874850075dda6ebb080b1ed51276a2633ffd4943cda8ba57ed10d55aee3c25d6fd455da9d0f5e936a8ec8d85299b28a1dec9ab0fd793444a02efbe3e349f4ad2aada3538c31d9091c1ccded0c6a571cf71b42986b4faf78cd296d1531bd0fdab275d139c9b858ee5c75fa42dcb8c6bf6cd0931fd54c90a63c533acba081e07eb6096339c9b858ee5c75fa42dcb8c6bf6cd0931fd54c90a63c533acba081e07eb609636f2e6fc612ce106268faed07d8304e04f11a195ce96cfc44a0404e8b760c45f76f2e6fc612ce106268faed07d8304e04f11a195ce96cfc44a0404e8b760c45f7dc59f4700271e04f2fc054dd30d5914c4c39ffdfa7fde5960cbc96759819ca93dc59f4700271e04f2fc054dd30d5914c4c39ffdfa7fde5960cbc96759819ca93936e399a9412c8e5e74da49929141f758be85fa0d49a21e5b7f25cb90e6090ebdc3e145dd6fa6296ae305694dc9e52b4002b70862152ba0f84a35021fa6257b84fd912e27c4be7f0713f51625440fa06a117bff01d97aad6c22e5966a0453f305f2f7b5c8c562d7cf0e56b48f54d27fc30b2e3e486698c92e326037a413eb594984f8dc250c14501db69dd8ddec69f24fe583d9be78239f05b17ec89fc56cc37984f8dc250c14501db69dd8ddec69f24fe583d9be78239f05b17ec89fc56cc37da1493fcdc6750e55f90552ef9275da8a3fad3b4240544d22d91d084aac22c2e83dfefc42a657a8d190294e372d0edf4f5035cc165aa2d14f9d4365830a67df3a98301e09ced69d9fb527e4c69ca8d3c6a54e6eb6239d3b8905e43419bb5b7eb114694e1298552b4ca4691dbea8a5bb2046fa26b0a820ac518a6bd6f8473037e6f747b8f60faa9c5293b174d03fffc7a121d6bdb4841a9a7d0b2ca8cbfc1f131dd80247bb81325dffc364b19660be1b418231567ecec56ee9f9de354750bcac1cb200dc3527a7456a6a1fbe88dc54ed3cbcc07c993d6b3630251f4fe32b2c33c63257a9513985e5440f5364cc3cb71424fb8b49887d31a55aec12e72d27838ad21bc9c4baa8e8584691260b49faf8ce8e7f24b3f79a2f814393ef0d09550284ed42292ac006e75382d03492e1945ad0f578c2dc6dbd4156d5ab8e03884e6c877fc8693d274b2e7666af0a77adf2b9e5f9553a6299a6791a923583fce82f3802bfc8693d274b2e7666af0a77adf2b9e5f9553a6299a6791a923583fce82f3802b7df61d651f35e3832804375eb58498a684e54dcea55d66557823c1691a656802012a8cf9a5fd7bd2dae271d4ab53238fb0b62e2f38d26a944fe3b287b29b90c9678644648589a0aa5fcddc8e6ff4e0c2048f2db939213ce06daac90f595546e8678644648589a0aa5fcddc8e6ff4e0c2048f2db939213ce06daac90f595546e8e9ae8647642e7e2d721bdfc3d7a319679ce691990e9bcb51e948ff9d352be74ddaf5e3602d069f0e9badd051ef9274ec72ead8e2c2fccb19b7086de8170afb2be43b129b9c4138c18f5139bfcd6cc1d7c43304424b413b0cb5e7d420ea8331e9353312a61057fcce756796469524a752bcfc6be8be530ab9153529bff7d2bfcf1949f07008a405bf507f8b3f311849c2e1d36f0f3113e9d7c835e02e32121e89cbce097eeda0d95ddaa25dfac731527b283832cf567676c4b293b3063267374cc64f947b6bd0901576a116da088bcb6c3ba7887b15a8e424b3384aee07ae7fd76103449cd3fcb8a39e48cbdff8a675ee228464914ca9920a3f3cf5778a4c8ae821e5001350b532a253b73610f7ca134128d3277c6b722b0b21914c14cbede62d77dfc6d1899e146756c15cf9e166d31e90aef9f268dc8799ab308ab21e1eafdacfdd276334ad2effb166c293cf667cfd9a4553c0f61179e7d7f09283cd7ddf29648c1684cd18500a2ded5e8c330ed8478715a9dc9ad9a23b3c7d469fee2ff71e2b4fc39cf5e6e74dc734c50838af077e5c68565ed72e5f97e7bd07403b18cb6114ef0889aa47854c2b4638ab90f86c7e2aea297bf7c41f79ae1316d9384ea391358931ece47db8d46a61282c4c8e71bfbb26190a44269de73c7df2fc44e2a1a568ca013ea1734f746ac49663933d407f5adb15825da2a30c843e832c22d65a320bbc836b76df86f5baff9b90bba9979af5b660b2afafa079f14f022b406f2a4d9b955dbe6b1e91bb9b0880615ac3d4a9b3d7997ded02581aaadd84ffcced59c9979744cc41d03b5b1a86d1f4b413950e95ead744407a1a88c8c71d02ff96826ec6d7d8139b053d95c5a59dbfc75fce4ca8bab8582e85e0b40c7f43e32c5cecfce75d09007a30187a4b0ab0f77365c80d77426b195e12e133e6e769a3308b3b5bedfdf6ab84f83df605c892d7cd367fb29bbd0e5658688bce7c68070110ec09b8a7ab02141349cd01b137dc77aa1efeaf90eaac767bcf3d16911dce45e539741de3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855095c09a8021a5bb5727c2e6755e065572eaa7052a041bbec58775c1c04844184669e5a80ac09e36d282feef04273eac50e25dba6025992783f2f43266ac8a8fdfc615077c7109a857abe26227730a3231d49a86ec96a263697bf8a2108b309e5fc615077c7109a857abe26227730a3231d49a86ec96a263697bf8a2108b309e5e333e70c95e448d28489a689ee16183bbe2bb96dbf1cdd4575a3927cf20b206753ceff8f1f3397f6a1d9ff5b7557baa6532c19de64f4509c8c2572711f4fc999102120a37c42e7f461a7130c6c5cddff14d0843bff6d9844a90cfd0cac1862e79dbd83c870a04a2d9a9dbc4ba01908fb76645841d24fbff0f8e3b882d1c5e9942e7ceb9910f50d36d2cc2e5227cda1729ffc48e809452e58b3441c83152cc970ce7a39299279a3f9969d3606c8e3d1d9d4e7e829af2c2d43f8e321c7bfef5c533a42f0680a132df81df66db85194d4db821d90be41a040c8aeddae7905ee7c72082246f765400ba042bc31e1ddb1a644182861a402943b46ed206f155d4c2d0aa9a34caa0806eb83b54e08fc0421e4cfe4463818e012e5ad3f4282b6c432cbeb4753f79acdcb2278a39f64cba71bf555ddb2ea7f239641c0a5dedb42ce35a7c12e58264f023a3926113b6415d95f1659149729ff3ae925c0cbb624e120d910fc68018247bb0262df48f378d5808ce0c030b804c26db2ab01d85defe63afe3999434a3aaf0b2e875cbe2485887b919e1ea2808a22abe34998da7f66bac08651c1434a3aaf0b2e875cbe2485887b919e1ea2808a22abe34998da7f66bac08651c1dfc35203beb5964b84c0a5c38e1a9c3ac13ea7530e2784099edcb132dd41e632b23e18c7a369d508a20f91a89d112416b9debca8881e48b297fbaf19ccdaddd9cb8ac0ac9353e3745f4685abb24488d51cb34392a9318a63d49bbf03b4b1dfa93a1241e6258f665ba7fb72972a430727a4578472fab53e9d0fb178484186b50429ff4f3ddf5281800695960ca7484b33ff4354d04974058f2cd05066909eeefd85800f19ea7ace80d497387297fb4e67f9d859bda44441cfb0f059316ae16ea0b50ffecf7eb86c4b7edf348b9c309e9c1a7f8e04247786c19388d82ebf47f95bb50ffecf7eb86c4b7edf348b9c309e9c1a7f8e04247786c19388d82ebf47f95b688511f40312d6f61a81b85316ce776132b0a92b8d10115a32a55a665659a1f90b6bc6284b389a4c3f209a5f2cc42f78e3b47be44d0d7cc50cd32035a8408b47f9353ad43d9fe7fc92de2d87a8bc40745aeeefa546f19fd4d2e0bf2ccaa97576f8ae99c88f19185886e7442ebdaab8ccf47cdd18110b1ad34ee6ab3281338d0e59c06da63e84fce008b71fb931467282a4f7ef495de3f4c2427fd8dd50e7446323e76f033ed1437062a97cd8a010e424caebad5b44f89c70664138580ee72fea2a8f649425cee7a58a6ddc431958d2f09d43c3bf6a90d23282272a62f7dc9c2f18ef81e954d3e3b95314aad905f1594e5b8b965ee7cfcb0d302e9b1d60b2f6a91ade94d8fe2498e90fd88ad98d24f59b433e6726679b51ad29e197c0277153fb3e6ddf8fff02f20df0f6050d56e895063c4c65598a824b54110e6cc569658be66e9fddc8dcfc58c58da60bdf166a35a57ccb5672ea29986304d4cfc7cdac85f19af989907d87f6139263cd65338f71d17bb4a50be412029864953a83c9938df098eb905a7127f2d80ba45e4c38ea5b926f3f43cabf8418ddd468d29ecd8bab2e98eb905a7127f2d80ba45e4c38ea5b926f3f43cabf8418ddd468d29ecd8bab2e7fddf1533d4231bef45fca3450f67ed2935566e975f1e600349dee3d8eb5f71dbbbc22693fa1a764755f53635f403491f3d0afde3b67610c8f1467041307b71fd0fa43acf74c1fa655f4cb55bf3e90823696cedd91cb520d642bafd9d7ec1c12d0fa43acf74c1fa655f4cb55bf3e90823696cedd91cb520d642bafd9d7ec1c12f1ac680f109508f1ebfc68dd513a8ff4497c96eac296d54c6e629f562c2730fab57f8d8e32db765db1029a98b9beb57a267c44916ad25745eca09a08655adc16a331f87750fc00943788cc3ded83fa271093c1e56ce3a1e0e8787275f2b0da8dd0f50a7486dfa624e8f00d95b76421beaa1dc810d29ab7f53b3cfb9d1545307370b747d113ddcb8a24cc99e0b1ba281ad7c9d4f0b5d8ea4d17039b1fd2729e28a126a6cbecde5c86b1c831e38d7c2b36758104530d1ec080dbab30b99db4e2bf8fbc8565e54f41a26a9aae4a79789dfb255c8ed3f6a82bcd7ab2eea38776c8ded0dab11406252b5552c8e62cca9e73689ade1394e4f319add699db8071738745b7db79f8728c8b4f19d4b3d0578d23a4a3e77bf0e6515d0657c8d157b9257229cf932359f43e6da4016ced710433a8406dac40321b22526a83257d3779073f71b77b45ba84dcfc8c3cbc359ed873d3dd9c1472020b9d94779f88ef5ba443884b087bee198842153a529f24d58857fe79285a1ebf447d5dac1c2971b0267028727ee4fb3e7bc0d07913d0659f677c4027cac1605dea4161bacb9a92539c34bce4be6f504b051f47d083f08ed21941036647739e3cb9eb2c4d77c261865216ec20806f6dfbfb4e96550d0adc28081654ed8a3413031970acf687a29fc1d81ac78c84eb7a17b7699a8564a5ac0b1cdc98dc632ff566ea2fe0d6398ed943afd1d1db7fa368764950245c00a3c7f468b4655b593e4c189d1d655125465585796d4ca33b6cbb013956767cc40e87c49dec4d085d76080e58a3cbefd9a0af8289611e7c6ec84ab0e4a35404c088e52aae20ee2d2502590db115fd215c080a973b8bb8fff37895395d3cd5148b7622b327676b5fd43c5d9b8b93976fbd922563658eda7abe39253083c05820aaaad733665906e081a597c8d395966e3ce3c01d50c45c543df8281f325e33ac6a4346636af3d2525eb05f4532e607983d3a70013c3a469c3df8281f325e33ac6a4346636af3d2525eb05f4532e607983d3a70013c3a469c0e852360d4b3de9f0baf07382e30a071d6e9f904d0cc3d09b2289bb59926e26bc149e90e3b36337c5b8b5649090fb7a359de64e32257a9b91d300b6842976df8199c198af7bf05b7dc72fd84f43612f747871e13b3b9f3a4a89f7c0533af1af4199c198af7bf05b7dc72fd84f43612f747871e13b3b9f3a4a89f7c0533af1af41e7aae307dbb94e45d3dd84d09ec0510bc91ee08472128f1cf4520821487f61eaf7ce0cbea9628716a975524757fffe2f4255694dd86f133c59b304f50132a845fa004334d146918ba37d55f4982e282f05abf2aec46765ea0c8f7b077f2542d5fa004334d146918ba37d55f4982e282f05abf2aec46765ea0c8f7b077f2542d58a2daf61355df62ed90112ad7e1215a80c44c57e0715cec33d727ef75bfac81295de2f368076627e5e03b4e82280a4b1b575b3ee462731c79c4bebe66324a66ca6f94e272fd1354fbf490d947228ed04e09003b0ba7b160e1ab12496c7e776c0e9d052217f9254ec86f802b496812f604c735be5a94e622cc911f91de338849bd32109616a0f4ed6c07f36fd1ae33dab694170c01ea34c7d0e72e49060487747cd128d4e7d661efaf98510f2332dff7344f95e51a5272bea276c7241b0f23eddc5ba072eeba7e64f94f4cbff71e96c0987d38aaaafcb4795b1bd9f58ae4022fddc9e5096db12c6f260960c8228d36635a568f70de0ca7fff2ad4932b67275528d2ba9c11b72ceb400a1c3ee23bccf1466f0aba9b08bfd36886dc4f27763a4bfe1a101bb5eed28d362708e485a02380959ee9f028f358f43e3b2838dd426d359081138279c874547839dfdd180aa6f6eaf77c0a042000f078002a1f371e1a0d8ff33ac3d831fd67ca837e34009c1108b56ad87b699f584445259190ebf280d6794eb7c6f479a7b4a81deb645bf827b338958c4e9138dea37a2d0b05b3fa83f71e625caed0a7c63367bc8052e3e3d45977934a3b4e01e247f6e09a98cedff528fae3cf04bb3175c68aa5a8a47201087d0952c113675865cc53a143507847457321033ceb15df43916aa982dc5353bae2136709fe832172745be88ee532d67e430e758dfb2e4729b5307f6c753e7d05db72d0ad75abdcdb6fc78d3d33eeb8b4bdde758dfb2e4729b5307f6c753e7d05db72d0ad75abdcdb6fc78d3d33eeb8b4bddbf86d456a7c8738fde04703cd6d9500aefbbaf9a2d03151b4bb5048a82f8e82264489f6f40d9e4d0d860e4d7df6c415baa2ad310c46cda50cdd724bb0a4a4ec8d226889d045e3cbef7592e4795820554af9303d4164644f5bd62ef19dca5dcd1424943757571fe004b6dba2a2d6e38e0adf4393027c95c21ece1ca77316058392a9fcf3a874ca1244121326a5512097aa37d0a4dd6936ec2260a41b9c8b2b480c0e4f31bb18355680f903a5b59efee3a8521b93dd61292caedcbf21452f5d87bfa6a47fbb4404e2f0ffb979b118fe79632221b540d65d7e8556cd1697849e908693f1edaf182dc72d868de7bd0a4588280235fb7f8d5a6e08620a6540286690b14660c0214d6b5617c5cf1367c115e66877b171ec22670c036863235f6366d74b6c5fe94210e5f72439ff9533b82d16b60a947bc0114f39fcd2b995ac5bdd286fce7ff373d4df2bf0c61ab003d6b80de9ac20942c587adab92b5ff60e1bac71e5d825dc5b1af8c9c4d20feb0a60512f2b14d6ae66183a6709f1a0eb30ca5a04880d8561a6d06632453a06052bd3785494db87b6dfdcd601aba841bfdbd48f2b0290b13e726f26d4c211283ffc9743e27ffc11dbd0b2bb012011483d2d33bbceb222f562e251e318a5ac1ee04cb4d18849c0f8ebb5710b4787f4fc509e454400ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f4ded069d0826c3b6666084f861b10ad4eb5a40cd1cac6458a7339b9617242be7dd76c5501daf53277e35c00e1ac13606ca54786b08abe2a9045f3da15c51b055055bfc749d8efe671ebeb1d4e8743b3f2e7f4a3aba39bfe74175b71e07f615bdeeaf899b79ae4f0771017ada5ec2324e2aa432071cfdd66aecbb492f09670f19ed6d323664d37b8dbdf5a3ed165f6b1022622679a2203b1dd94e412aee303c63d1281bcef41bf5bce4f25be90fc0077fce468ff48e21098e488a6b004db940f0dfe417179da8de51778430fcf0678248edde9cf3fb63e2e591b346efc85c5717f8a4fe7fd66b468aaec654b6d0183487004f056b72b86de864789fb960ad782d5bace14209c778796292551fd907bc725746cde2c7c9a62f4d43510d2b2d606fcc03e35578a1cf36b169691e88dfcebc3043ce25d98be6b7ceb1f5f6a05f24081e1ae08f32aba30625ea5cbbd5bf2a3384c9d2bef2c7b877617c7283dbb0b1906424c74d0f31da2691185844755740fa874dbd9314e33683c50b1c4c79fda8bcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-apache-libcloud-3.3.1-150300.3.3.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.3eC@`@``_F@_@_@_]@_"^V@^j$@^`^O@^Nt^ P@]}@]@\P\s[[r@[Z4@Z@Yχ@YYXVvVrV5ŬT~thomas.florio@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comsteven.kowalik@suse.comsteven.kowalik@suse.comtchvatal@suse.comaboe76@gmail.comsean.marlow@suse.comjfehlig@suse.commcalabkova@suse.comtbechtold@suse.comtchvatal@suse.comranand@suse.comjayvdb@gmail.comsean.marlow@suse.comsean.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- Fixed the list_nodes() function in the Azure ARM driver to handle pagination and return all the VMs for a subscription (bsc#1214808) - Added: * azure_pagination.patch- Skip "OvhTests::test_list_nodes_invalid_region" compute test when building RPM package since this tests requires internet connection.- Update to 3.3.1: * Compute + [EC2] Fix a regression introduced in v3.3.0 which would break EC2 driver for some regions because the driver would incorrectly try to use signature version 2 for all the regions whereas some newer regions require signature version 4 to be used. If you are unable to upgrade, you can use the following workaround, as long as you only use code which supports / works with authentication signature algorithm version 4: import libcloud.common.aws libcloud.common.aws.DEFAULT_SIGNATURE_VERSION = "4" [#] Instantiate affected driver here... Reported by @olegrtecno. (GITHUB-1545, GITHUB-1546) + [EC2] Allow user to override which signature algorithm version is used for authentication by passing signature_version keyword argument to the EC2 driver constructor. (GITHUB-1546) * Storage + [Google Cloud Storage] Fix a bug and make sure we also correctly handle scenario in get_object() method when the object size is returned in x-goog-stored-content-length and not content-length header. @RunOrVeith. (GITHUB-1544, GITHUB-1547) + [Google Cloud Storage] Update get_object() method and ensure object.size attribute is an integer and not a string. This way it’s consistent with list_objects() method. (GITHUB-1547)- Update to 3.3.0: * Common + Fix a bug which would cause some prepared requests with empty bodies to be chunked which would cause some of the provider APIs such as OpenStack to return HTTP 400 errors. (GITHUB-1487, GITHUB-1488) [Michael Spagon - @mspagon] + Optimize various code imports (remove unnecessary imports, make some lazy, etc.), so now importing most of the modules is around ~20-40% faster (~70 vs ~140 ms) and in some cases such as EC2 driver even more. + Now majority of the import time is spent in importing requests library. (GITHUB-1519) [Tomaz Muraus] + libcloud.pricing.get_size_price() function has been updated so it only caches pricing data in memory for the requested drivers. + Advertise Python 3.9 support in setup.py. * Compute + [GCE] Fix ex_set_image_labels method using incorrect API path. (GITHUB-1485) [Poul Petersen - @petersen-poul] + [OpenStack] Fix error setting ex_force_XXX_url without setting ex_force_base_url. (GITHUB-1492) [Miguel Caballer - @micafer] + [EC2] Update supported EC2 regions and instance sizes and add support for eu-north-1 region. (GITHUB-1486) [Arturo Noha - @r2ronoha] + [Ovh] Add support for multiple regions to the driver. User can select a region (location) by passing location argument to the driver constructor (e.g. location=ca). (GITHUB-1494) [Dan Hunsaker - @danhunsaker] + [GCE] Add support for creating nodes without a service account associated with them. Now when an empty list is passed for ex_service_accounts argument, VM will be created without service account attached. + [VSphere] Add new VMware VSphere driver which utilizes pyvmomi library and works under Python 3. + [OpenStack] Enable to get Quota Set detail. (GITHUB-1495) [Miguel Caballer - @micafer] + [OpenStack] Add ex_get_size_extra_specs function to OpenStack driver. (GITHUB-1517) [Miguel Caballer - @micafer] + [OpenStack] Enable to get Neutron Quota details in OpenStack driver. (GITHUB-1514) [Miguel Caballer - @micafer] + [DigitalOcean] _node_node method now ensures image and size attributes are also set correctly and populated on the Node object. (GITHUB-1507, GITHUB-1508) [@sergerdn] + [Vultr] Make sure private_ips attribute on the Node object is correctly populated when listing nodes. Also add additional values to the node.extra dictionary. (GITHUB-1506) [@sergerdn] + [EC2] Optimize EC2 driver imports and move all the large constant files to separate modules in libcloud/compute/constants/ec2_*.py files. + [Packet / Equinix Metal] Packet driver has been renamed to Equinix Metal. If your code uses Packet.net driver, you need to update it as per example in Upgrade Notes documentation section. (GITHUB-1511) [Dimitris Galanis - @dimgal1] + [OutScale] Add various extension methods to the driver. For information on available extenion methods, please refer to the driver documentation. (GITHUB-1499) [@tgn-outscale] + [Linode] Add support for Linode’s API v4. (GITHUB-1504) [Dimitris Galanis - @dimgal1] * Storage + Deprecated lockfile library which is used by the Local Storage driver has been replaced with fasteners library. [Tomaz Muraus - @Kami] + [S3] Add support for us-gov-east-1 region. (GITHUB-1509, GITHUB-1510) [Andy Spohn - @spohnan] + [DigitalOcean Spaces] Add support for sfo2 regon. (GITHUB-1525) [Cristian Rasch - @cristianrasch] + [MinIO] Add new driver for MinIO object storage (https://min.io). (GITHUB-1528, GITHUB-1454) [Tomaz Muraus - @Kami] + [S3] Update S3 and other drivers which are based on the S3 one (Google Storage, RGW, MinIO) to correctly throw ContainerAlreadyExistsError if container creation fails because container with this name already exists. + Add new libcloud.common.base.ALLOW_PATH_DOUBLE_SLASHES module level variable. * DNS + [Common] Fix a bug with the header value returned by the export_zone_to_bind_format method containing an invalid timestamp (value for the minute part of the timestamp was wrong and contained month number instead of the minutes value). (GITHUB-1500) [Tomaz Muraus - @Kami] + [CloudFlare DNS] Add support for creating SSHFP records. (GITHUB-1512, GITHUB-1513) [Will Hughes - @insertjokehere] + [DigitalOcean] Update driver and make sure request data is sent as part of HTTP request body on POST and PUT operations (previously it was sent as part of query params). (GITHUB-1505) [Andrew Starr-Bochicchio - @andrewsomething] + [AuroraDNS] Throw correct exception on 403 authorization failed API error. (GITHUB-1521, GITHUB-1522) [Freek Dijkstra - @macfreek] + [Linode] Add support for Linode’s API v4. (GITHUB-1504) [Dimitris Galanis - @dimgal1] + [CloudFlare] Update driver so it correctly throws RecordAlreadyExists error on various error responses which represent this error. [Tomaz Muraus - @Kami]- Fix bcond macros on SPEC file to properly manage Python 2 and Python 3 builds.- 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 pyOpenSSL as build dependency to allow tests to pass on SLE15 family- Do not build Python2 subpackage since 3.2.0 does not support Python2 - Adjust skipped SSH unit tests when paramiko <= 2.7.0 - Add: * skip-some-tests-for-older-paramiko-versions.patch- Update to 3.2.0: * [OpenStack] Add ex_get_network() to the OpenStack driver to make it possible to retrieve a single network by using the ID. * [OpenStack] Fix pagination in the list_images() method and make sure method returns all the images, even if the result is spread across multiple pages. * [GCE] Add script for scraping GCE pricing data and improve price addition in _to_node_size method. (GITHUB-1468) [Eis D. Zaster - @Eis-D-Z] * [AWS EC2] Update script for scraping AWS EC2 pricing and update EC2 pricing data. (GITHUB-1469) [Eis D. Zaster - @Eis-D-Z] * [Deployment] Add new wait_period argument to the deploy_node method and default it to 5 seconds. * [Azure ARM] Add script for scraping Azure ARM instance pricing data. (GITHUB-1470) [Eis D. Zaster - @Eis-D-Z] * [Deployment] Make FileDeployment class much faster and more efficient when working with large files or when running multiple FileDeployment steps on a single node. * [Deployment] Add __repr__() and __str__() methods to all the Deployment classes. [Tomaz Muraus - @Kami] * [Deployment] New keep_alive and use_compression arguments have been added to the ParamikoSSHClient class constructor. * [Deployment] Update ParamikoSSHClient.put() method so it returns a correct path when commands are being executed on a Windows machine. * [Outscale] Add a new driver for the Outscale provider. Existing Outscale driver utilizes the EC2 compatible API and this one utilizes native Outscale API. (GITHUB-1476) [Tio Gobin - @tgn-outscale] * [KubeVirt] Add new methods for managing services which allows users to expose ports for the VMs (ex_list_services, ex_create_service, ex_delete_service). (GITHUB-1478) [Eis D. Zaster - @Eis-D-Z] * [LXD] Add new methods for managing network and storage pool capabilities and include other improvements in some of the existing methods. (GITHUB-1477) [Eis D. Zaster - @Eis-D-Z] * [DigitalOcean] Add location argument to the list_sizes() method. * Fix deploy_node() so an exception is not thrown if any of the output (stdout / stderr) produced by the deployment script contains a non-valid utf-8 character. * Add new timeout argument to ScriptDeployment and ScriptFileDeployment class constructor. * [GiG G8] Fix retry functionality when creating port forwards and add support for automatically refresing the JWT auth token inside the connection class if it's about to expire in 60 seconds or less. (GITHUB-1465) [Jo De Boeck - @grimpy] * [Azure ARM] Update create_node so an exception is thrown if user passes ex_use_managed_disks=False, but doesn't provide a value for the ex_storage_account argument. (GITHUB-1448) [@antoinebourayne] * [AWS S3] Make sure driver works correctly for objects with ~ in the name. * [CloudFlare] Update driver to include the whole error chain the thrown exception message field. * [Gandi Live] Don't throw if extra['rrset_ttl'] argument is not passed to the create_record method. (GITHUB-1463) [Tomaz Muraus]- Update to v3.0.0: * Make sure auth_user_info variable on the OpenStack identify connection class is populated when using auth version 3.x_password and 3.x_oidc_access_token. * [OpenStack] Update OpenStack identity driver so a custom project can be selected using domain_name keyword argument containing a project id. * [GCE] Update create_node() method so it throws an exception if node location can't be inferred and location is not specified by the user ( either by passing datacenter constructor argument or by passing location argument to the method). * [GCE] Update ex_get_disktype method so it works if zone argument is not set. (GITHUB-1443) [Tomaz Muraus] * [GiG G8] Add new driver for GiG G8 provider (https://gig.tech/). (GITHUB-1437) [Jo De Boeck - @grimpy] * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] * [Kamatera] Add new driver for Kamatera provider (https://www.kamatera.com). (GITHUB-1442) [Ori Hoch - @OriHoch] * Add new download_object_range and download_object_range_as_stream methods for downloading part of the object content (aka range downloads) to the base storage API. * [Google Storage] Update the driver so it supports service account HMAC credentials. * [Kubernetes] Add support for the client certificate and static token based authentication to the driver. (GITHUB-1421) [Tomaz Muraus] * Add support for Ed25519 private keys for deploy_node() functionality when using paramiko >= 2.2.0. (GITHUB-1445) [Tomaz Muraus - @Kami] * Fix deploy_node() so it correctly propagates an exception is a private key which is used is password protected, but no password is specified. * Allow user to specify password for encrypted keys by passing ssh_key_password argument to the deploy_node() method. * Fix deploy_node() method so we don't retry on fatal SSHCommandTimeoutError exception (exception which is thrown when a command which is running on remote host times out). (GITHUB-1445) [Tomaz Muraus - @Kami] * Add new stdout and stderr attribute to SSHCommandTimeoutError class. * [OpenStack] Fix auto assignment of volume device when using device name auto in the attach_volume method. (GITHUB-1444) [Joshua Hesketh - @jhesketh] - Refresh patches gce_image_projects.patch and ec2_create_node.patch.- Fix build without python2- 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]h04-ch1d 1700136922  !"#$$&'((*+,-./0123456788:;<=>?@ABCDEFGHIJJLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"##%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%%'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPRRTTVWXYZ[\\^_`abcdefghhjkllnopqrstuvwxyz{|}~3.3.1-150300.3.3.1    !!""""""""""""""""""""""""""""""""""!!!!!!!!!!!!!!!!##$$$$$$$$$$$$$$$$$$$$$$$$$$$$#############%&&&''''''''&&&&&()apache_libcloud-3.3.1-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.pycgig_g8.cpython-36.opt-1.pycgig_g8.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.pyckubernetes.cpython-36.opt-1.pyckubernetes.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.pycosc.cpython-36.opt-1.pycosc.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.pygig_g8.pygogrid.pygoogle.pygridscale.pyhostvirtual.pykubernetes.pylinode.pyliquidweb.pyluadns.pymaxihost.pynfsn.pynsone.pynttcis.pyonapp.pyopenstack.pyopenstack_identity.pyosc.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.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__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycec2_instance_types.cpython-36.opt-1.pycec2_instance_types.cpython-36.pycec2_region_details_complete.cpython-36.opt-1.pycec2_region_details_complete.cpython-36.pycec2_region_details_partial.cpython-36.opt-1.pycec2_region_details_partial.cpython-36.pycec2_instance_types.pyec2_region_details_complete.pyec2_region_details_partial.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.pycequinixmetal.cpython-36.opt-1.pycequinixmetal.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.pycgig_g8.cpython-36.opt-1.pycgig_g8.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.pyckamatera.cpython-36.opt-1.pyckamatera.cpython-36.pyckili.cpython-36.opt-1.pyckili.cpython-36.pycktucloud.cpython-36.opt-1.pycktucloud.cpython-36.pyckubevirt.cpython-36.opt-1.pyckubevirt.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.pycoutscale.cpython-36.opt-1.pycoutscale.cpython-36.pycovh.cpython-36.opt-1.pycovh.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.pyequinixmetal.pyexoscale.pygandi.pygce.pygig_g8.pygogrid.pygridscale.pygridspot.pyhostvirtual.pyikoula.pyindosat.pyinternetsolutions.pyjoyent.pykamatera.pykili.pyktucloud.pykubevirt.pylibvirt_driver.pylinode.pymaxihost.pymedone.pynephoscale.pyntta.pynttcis.pyonapp.pyoneandone.pyopennebula.pyopenstack.pyoutscale.pyovh.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.pyclxd.cpython-36.opt-1.pyclxd.cpython-36.pycrancher.cpython-36.opt-1.pycrancher.cpython-36.pycdocker.pydummy.pyecs.pygke.pyjoyent.pykubernetes.pylxd.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.jsonpricing.json.sha256pricing.json.sha512dns__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.pycminio.cpython-36.opt-1.pycminio.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.pyminio.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_container.pyexample_dns.pyexample_loadbalancer.pyexample_storage.pypython3-apache-libcloudLICENSE/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/apache_libcloud-3.3.1-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/constants//usr/lib/python3.6/site-packages/libcloud/compute/constants/__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.suse.de/SUSE:Maintenance:31488/SUSE_SLE-15-SP3_Update/cb39dc990bcd0a2bd73b38faf854e130-python-apache-libcloud.SUSE_SLE-15-SP3_Updatedrpmxz5noarch-suse-linuxdirectoryASCII textPython script, ASCII text executablepython 3.6 byte-compiledemptyPython script, UTF-8 Unicode text executableUTF-8 Unicode (with BOM) text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRԗ09$Mpython3-libvirt-pythonpython3-lockfilepython3-paramikopython3-pysphereutf-8879c3c549debfa585d3354f1d012626b6e3e0c84160227abeeb3ad30bdd90b45?7zXZ !t/F:(D]"k%a D:-hPÏ0>Fg_ IҕeW 1hB.+ճ|X 5bz۠i1J-7t9L~]P(/~栽a1V] 1[ix4$rی@zn9y뚻 `B (WW)PHAF $L}AvAMrsD \XPV/|Bauq*\-p?/n%?rX;f(Wdr`C8ݕwە9o}v㼢گI3J-p3Ȣv} R:]"(rҜ1J46LW^L:7ڤ# 8 ~.< GGs_=קY(ws-%\oh`r5ee߱pa %uWm9|H@ C/-Ktұv^bBԦ,t?Y5e%we糎z~DyI͒ '+![BdvD7b9}~JQwg؄*"LA"=?[HAvJ#%lZ&V%Rks|vyd? D*}"z?1زUpiCf#!"0ϷTYI/`9PzCw%XISYR00Λs֯I/S6uhdvuic*ؠR r7.hl34Zbw^͂ĜyF?îZ^ 9hɥţ>ǣr%OhZzҲyȶ#ZmYszjMY @^G?x1gUcj݂HHai\aG8^~uN ` ͸DC柳 ·yɋ(#-_?}}62>#wD]C l0滃ͷk5`Z3y޸25FWADD\^3i3! |{x]YH沈T7nQiCz#HﶍŠg+&zR\Hia1$qVs1U#4|%R.4!jqRv3 ?9*Gphf@ᬳ }_-'"澨/Ϸ"''7 R[..Ҙ[`l< n5D8ARĠ(,90?Ȟ"#RXnX{Zn,+&Qݕ *JI IY0+TI v\IH51 4} @mҲ 3  *3jBUMG *z7RamVqaLכ D8cQ}t<+_ [N~_=7Gp"sA 6 &q߉& 9>}rˬӪ ]9a,<.޷7!F r@%#EGnt bɪ رXI$A=QF|r ϻ"nm,>Kؿ5ACz1l)b3?7 el r'TsTFM@S2U(vݫBɣ=KKb?8. Hb:Ƣ:"WCd)>,l< D!zxRHy ?lؼG_~ oZG%G<ԹQ)xVY&O淃Txx*A'#+3[d= HxHAV|\;/ƑNXlDaA0zm(ɣWILL9'[SdG-N@i)o}A@Gapyz+9; G2߳, U @Ob B@}7ބ5̶/TW'mQ@V:UEyR.;g9Lk[BTh dh {]?zMoE3N;p{N_8|H a{X#yu`QWt7x,6ei9{Zcxcl/PFCNj 㣘eTU%KJNpvsXҖJDXYWQxz y:1ΓFm_zKK3|]Z4<52ϼMs?h@bD5"ev͟JRa%HW,Q2CuƲ,/QrXˋOp)cGG7$oh~w~ۈ%~ ۍ6kO|w ՁmX*)8KSZY"Ȅ_rI(Kok^j8̻,';4gz6}*9e@D=-@+U;}RSf/_)A rQ2ϡHqL*Ě)}3$٘ۃ'*G !Z)ȗ*sg'%b<.M@+iw, `bT%e-3+~MqשMsn$9YWqs?gni;to6~K2U ]sU1FL6 r Nq ;28 ӻ"Hk[*ilRVg4m/P߄0(KEy7lHsj7: ?%н{7`p,CH`NWvm=VO@ȃGlp|]JE\娬PSn\8":ʼZ,Gi@:t+% >j8Nrq>~PiWĐ#2o8IԾb$yDK9%O1I; @H(MvoNW(<^<2"9Tq ?gT8FY:"G!Q Oq*IGp'_cLMvuaF|qF!+x˗`U(ISfhKAG'eTGFk aׅZŒDPӎ|A"W9~%wjM9D#<0T^8Yi>;Y*vd:_2d#F:n\w䙺vV Dr8b_^q?K/֮cnЧ+͐4<82-5%bض?$K$k}z;y}9B(EJnU(dw{]S]D~A c8̀hq`ӡ ɏ2'yJhS.L1aYP j1]%ax,t[Y%Z4@u/4,BFvάg*:e Hͺ*RZ:`dX[Ds7oGrrDE*~23-HA*jOhoraLLbb5:a|EqǶ;; 2j.U %prMchwLp~1ԟqtѸ7dkäl1k)~8Fn+7a+t\n4NÖʢ:RD P.oɚe*$.y{ 9' S.rz۽pu H<4`p1ȶ3ry*^ /Ay )QgaU_=Л o 7{%f>HNMuֺZڦ E|!~Ԁ] ϭI`"]y%0nȚՂ{4LqnX9Ğh<+wQEeMJ?=zg6ʏ0KjA:M XXjIsJ<OB$^ЪIf9Uub%D:yhAeI`e Xro衕3Ӟ9"8%~760]wz~Q&ʧvrX T;e1Vx#~: -PYЎ ΅َ7;r@!^<W"ڳy& "i9"_w0(1Ssis^85Uԯ+10>St Zl͕ﹳbnNw Oͨg#6g^*lX}OVF2 ?A8(a,C@VKMWyȍQzo1.GFcseG (L0, jp)|hcPZgAFxlm? 9 HX@;2t<8P~}>Kǩ/@V [Y`ug)9⇦ғ9AHQa(\Q5ř}Ė1)+ ٧gk%f+ rTJf""BT gC<2f6d=LGW V{QNOJ)JuEA*A@z^+U ța&IÊ{>'qc"jrx:p]&M@,ޙ"X̢d_t@sWcNԿ!NiߺU NMȺL+$Rgd?aZ>$G~\ObHBMNRDr嗩U5X;;/zr+wOU X 8@Aֶ YU8mr#'"@Z£$Ȯ 9W *>lCg}ysvcn%^{&c|nj?3&`2ʨ硛@-bW nJ60@l@y4jT{Y ȼFtnU`aa3OSlQX.ѳG>uLE^ A|mrJ8TraåQ O#~$y,\r.BO19^z|C&޲t\G7[IZ4e^_ -(ѓorT|._N܃ [ V[0GǛ5WEaQIw*fT_W6Gy|-€,/n<+z\Nn:'ai8?5G"Rw&4$/yK42kFěw%0&Ȕf^ͭ%Be 'PF$j q{Bz&\@67Z^qJ@gm(skk*#am9wubÁ7 D hLO7{~Ů ܶ&~/(gͧ?ĔO;8wM剮w݋dpgiM`͓R75ǻy8}+ˀ6̓IVӋ^V3sƒ"֋oW 0зC`2?"(VͬcϛPHa-z) Rv? z5 m={xtV-l˹ }3}l]`d{ õx|8aA(hgAlkoS0{Nf3R)KqԖQ,~? :Z)X~Ah#{M}KXcCOM !ťgjW8PG;䔛}@ ^ˤR};^y=VSИ >mc Q[ 9,3ck5o<0d)m N/^zB5GO/7 Omޓ&JQ~lWn5 X-N'':wk/[D fmW=yMSOmmQU%=!;zz-X. vd)rJDR䤬r|~[+EKU0D, z.8}GS&0Li@S=i5;bT"E9x6}gsɌ+u5pp!*Ra Q6_`ebu5:,Q8mDphA WG15&jd/zt2ziH;f*~OUT[1yN aF1h1驾̻ZN. QbGHQM|01 [f_!xae8DToģ,SZ P 7'XO60Sq_?Ol2r?|iRqm7$}j8 nR:Qρ:2ih Nځz -ú9n}w.x&'@J1VB,VFcr('I֞-{IN a#gڂyWpEB0MylQ詪< q}bCpS`KӺv bb^<"M/X;B4d>?e ̫8Wc DU|\'JME !($mdyaM&Hq3Oޙ֒p$'xU!-㷚t;W?fA{zKc(h^9Cf~)QWx2춈`6tRI"^jh262K 8nwMV`‹:LAֳPk(px3yĢ3't%E݈ܼ}0~W=O|3)z xmT9T rh0-kn`ė[rl`ƊX:K] 0NMH4 x0ю|JT)g"isȧ>B ,&}vO$&4%9ZD:*^Bc>hzOXx\5PKϬ%Z7E"I4±WP; ĔAe9ut35LCbFV~_yXL([@{ЦACZ3gDʌZ“^Ly}xP*] eY*8SPojE"-~t4 PxE>}s$OO JbV[9dnvY9My+4q]B|LuᐜjC_CJ'Hco G1i ZϬ }9zh"vd a^zj6ˠx\#XaMOrh$7=ݾSXO{E6Rv /B} K:ٵp/jȃ(l_MVo ;~(?)44\eu X:64ӋbW"fL1ݹ/4mx⇲΍D̝K}'(|CBZiI핪Vsv6<̓'_9u|(m(XMhUnFuFJ7=Q)s>D/( a T0SX,4Dċ{D8l85B9|6M_xJnm? z 'bQV&b.9lm]= &r͡u d3Dx=BF!Y1 .)ّǘ}C#*I0`P]>9Z=h큤:'NIXrA[-h\vjt.ˇ"o'ӂmIAH 3 qnHL t>~ W:6e87hUXWSgT:4-L&|ZԄ;Bqߥ3PKŨoX3x~ʁCb5]