pyutil-1.9.7-2.fc20$>U(HwZ{p>9?d   N#29 H^    , | R SW]Xbbg(g0 gX h( (hT8h\9h:ltGoHsIxHXy\Yy`\yp]}^tbdefltu,v| wxHyCpyutil1.9.72.fc20A collection of mature utilities for Python programmersThese are a few data structures, classes and functions which we've needed over many years of Python programming and which seem to be of general use to other Python programmers. Many of the modules that have existed in pyutil over the years have subsequently been obsoleted by new features added to the Python language or its standard library, thus showing that we're not alone in wanting tools like these.S5arm02-builder18.arm.fedoraproject.orgOLFedora ProjectFedora ProjectGPLv2+Fedora ProjectDevelopment/Languageshttp://allmydata.org/trac/pyutillinuxnoarch&00,&4(**"Q.#"!X!X}}W   & d 3w%&((;ix|KNx=vq",, J //&""GA)A)g FHHQXX]   GtQd_a W W &4hhW x;"6 EAzza++E>> ) ) \OOii00  ww TTC s s00__44iiif&;;uB>LpJ@KhIrr FF[aa /,, | !XD>/)'#PN6  ~AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤S5S5S5S5S5S5S5S5S5S5S5S5S5S5QGS5QS5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5QrS5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5S5QQQQLd1bf743cd9db91af385c6d232f41ef1dfa9c8dc941b9c3f99ae344de7567d9ca0a343c26329679a0afc555ca0974ce0449aa02321f25fde8026ae56f3141f2fc558fe1c316e5eb1b0711022413dd3a5fad5648f13ba1c94b40277209f560aa54e4661b9205472a0e35a6bfd37c0736b23edc112db7980f53300385b6247c0abbe9e5e1299c05fe951f5d2c9e7ee5c8a043f478bf58ccc1ed0e747d3e11d9b0080042f6bc9d7e9ea5534471227261653eb6cb12394188b450b7efe8002cdcd3b26201e19578594aa67cfe6be8cb38f1b45f6f075fb8263939e254d71608f2faa976ea1c407bd854a3c2f46da1aab1fb58ef5d24b5feed3620c1072b1a02117c5466e138cc2b92e6613c03d449883893e51f228814202276d8d52c3fb10ddea8633b80c2d930140054efc6a9adee9403bfc998f4ea01fa578b2b649deef9a4e7ea01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b1e30d347ddb4a5f4ec0cd0ca634511bac57886c023fa64cf6a0ef6f22fdb0df501ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b66fe84b5be40ad7d50d100de60f6412ed8566ff66bb13f33dbaf5126c5c1163f4bd3212d994767e795be76fcc567aa7c2e5406562e13302ad44efe2b6a4b61f455200952c7fb9fcebe7486a84e5169ae6ac8c0e6ccc7ade2b46fc54c6eaaf271c1a4ca10770b5b669c4686217baec4f989324573312ed0580d8fb3bb692e4ca870f12b727d6862dcd423bfa2a908f846950fad4a3b2dd13f40bcdbc8923d82ef70f12b727d6862dcd423bfa2a908f846950fad4a3b2dd13f40bcdbc8923d82eff71264b958d8a072c406c3e4c6ec9e1707e9bbfde37f93d5150806ca487d04eeeade890d4f47c87f161ce67d59e668ef1bc79d4779ffceef7675885d7fe8a85ceade890d4f47c87f161ce67d59e668ef1bc79d4779ffceef7675885d7fe8a85c33a5a56357f00b088900dd7a7915b29d70779dd8d387c770536c673a1ca989b6209c23f17475c966824384f005d2f3894fb6999f0d4f03ea325516ea326ca673209c23f17475c966824384f005d2f3894fb6999f0d4f03ea325516ea326ca6736aa31f2d48e044b2b4e3ee6aec5fac360cbf06f256286e3ad0a83c230af31ff9110ec77fd9dc7ebb072290abbe686eb86bff2480c3cf5f254c129a52d18efb87110ec77fd9dc7ebb072290abbe686eb86bff2480c3cf5f254c129a52d18efb877d17d3963aef5e31639f84a253aef4b2666fd2b2f2f84414fb22ca3fc615e7e6db9299c9c073c48f581727037aa1708f5895b3ebd3f3520a15dbf953fd58a9c8ef590471adf930370cb0880bc1103e14d4a02c20bc69b79a059fd286a494350d50c6d758ab68e591ca433b77e50a234ad7fadfe4422c77b039b107dabf1da39a524d7de1c60e9c8be13c65431c8d940842537497a596886b593a18bb309d38d98d5a90668b2f9947461a81bbd6003a7cc7ff4be963765b87857692d87c2d4f66e45648b093d82ec93e72ad4c559bce7666b4174b50a3a555df92ac7231210e13bb7dd723f40c7d994ee45876294d0fa16b840cee368a1cd59142d0d415f47b448c70f8416f7f7d26c24ca7eaf2df6f48230605a27b139b2e58b74b2fdd9db3d912fc80a96b5520b34ac448fc610f475e8c0e89ec5c51477f4382225892e5e882872bf73630667cb2cb4090ce9ed4ec4c1b4db378212fc18df250dfe1372b89a8742be3eeeb0d374832dae3a61c03868104212b366296800a445c47cd9b8c694f258f9534bfa64627daafa14cebe98b2d4422c74921ff3b5ab06620d1d6b3da233f6def6f19f910d580f63d6c37d58f6326c53130cf6d685bdc58481e9397defbab73ce25b34bf1cefff0a6ee4e4035ca38c4407087eafc28caf4513b1515f4e88ded0710584afef101d877ef8d78963edb530993e0286390ff6a2e4cadc7bda4b718d6cfd71b2b61c1aa0b4fbf5c55aec69a7258d65fd6d1333273955bb8ddef7e278b011940a37d4938da44d085da83ab2b543dffe7311ba4db0948a683d2157e278b011940a37d4938da44d085da83ab2b543dffe7311ba4db0948a683d215758d8f606922f1c251f32fb701dfb9fa6cd2baa8f281b8d1f2aa545c8070208f4d6d5aae6123263d479f4141912b8b3fc79c3fab343261284caf2d13b3d052f94d6d5aae6123263d479f4141912b8b3fc79c3fab343261284caf2d13b3d052f9ed28d65a0feb209bb2c51714a5edd183f5988697fa68ab66f87a0edb01db99dde817b46c27ee06e01b47514e5bea00a57404e5e03df40a749723c2c3223c0d0d78e0eac80a956058d2ed3c8a039193071683b40d46b904a9891c55c227f1ada37b77456e3dc42af62c351664fc70378d8289d21f2fbddc62c73260a473cb058bf0c7460a42d72264ca79c635e006eba84a25bd4bd4f907ebb956871cdb512879f0c7460a42d72264ca79c635e006eba84a25bd4bd4f907ebb956871cdb5128791fa898ee0281ad90e3ef91ceeb480bc65ab44ee13aa4dc1c512d3dc3930f851736284e79014b8f5aea6c121acd93a33d98cbb8bc588ecbb9d79d77750317bf4736284e79014b8f5aea6c121acd93a33d98cbb8bc588ecbb9d79d77750317bf473f080118789aa78825d6d7724d968caa139b15bb4ac4ea6c108d5e336a55e3a51ef7c7db101f7ff5e6760442f7e5a3b857eea66f5f98c029446a612be45af4041ef7c7db101f7ff5e6760442f7e5a3b857eea66f5f98c029446a612be45af40414a8ce8f2b0be0445ac9a05759c4c63bfeb8f6442987ba450790148101e75fa73f23d316763189118a0bcf0e46202501165684d322e3269c0745e85b4eb0c4783f23d316763189118a0bcf0e46202501165684d322e3269c0745e85b4eb0c4782b34400fe0d636e566c1e33647688ea886c25ec17b7b16d3cf950d3cbb911cb813b4713b960e1b238ead25433b291942d4114f566b32803d5e48d7833eaad4e613b4713b960e1b238ead25433b291942d4114f566b32803d5e48d7833eaad4e66cd70fe3c9160147c403dedc993bf47e9311902b91dd96d2655cf647cb89b5f7f08b8adfc14ac9107daa0c65fcecb5309afa4937dc76c4ff00862232ec81ae53f08b8adfc14ac9107daa0c65fcecb5309afa4937dc76c4ff00862232ec81ae53d878377cf29c9e858bd43c0ad86db49bc18f437bc5121871ea23ae19b39b3c04f965557e1817a573fed433cc50b01f3a8efd2b6e34cf2e9d51bc6df4f16f87e9f965557e1817a573fed433cc50b01f3a8efd2b6e34cf2e9d51bc6df4f16f87e946fa23545915901bc504432e270d2652dbe172115a03759d9a78f55c877d38dca29b56858ae23bdeccfa9fc9061cf81ac303735bfaea969b62c596ed10ee3a09a29b56858ae23bdeccfa9fc9061cf81ac303735bfaea969b62c596ed10ee3a095da04a91d033295611497156d3de32a31b63327dc907103db3766c151de0ae533552c38474721a60881f478771b42c7e01fca26f5be9d75f17dd5512281775dd3552c38474721a60881f478771b42c7e01fca26f5be9d75f17dd5512281775dd093b2c686fe79a99bfb17dd74a44c4788357d70e553ff2230730195bbd79aef8a4573111dbb808229442d059eb27408018d2ea6fea29e6fb03266ebae1c634bdc10eef7709f2332c7fe6d319b1438e23083725a4b18b0c4365c95b8fe0cd7f8545f0b419d65167314b1567416c902aa84b4f380258aafabc718f8e0a2c88af6142cb6507bddd244c0b2a482c8803a211921321df8e89a6f30bcdffade51170d6371e0b67ca8b7b924de7f0db073445917b9715b650d9c3eced9b3a1c0cc73d3f514253c1a8f786d969081bd1159ecb37f8d1ccb4408b4b69c6b1464dd26ac8072e4e1c15603d3cd637bf7e083df1f394bfa4f3c4d45f9bfdab70eaa965cd92262e4e1c15603d3cd637bf7e083df1f394bfa4f3c4d45f9bfdab70eaa965cd9226e5d794dbd338d620f1e9386c774a0981fca133f27de1161a17ff6b06dcef6978a542a4e2f8a1b6952fa549f074f41a1f2285d4a014c2d2e1f168428cbb67f326a542a4e2f8a1b6952fa549f074f41a1f2285d4a014c2d2e1f168428cbb67f32649b38e36cde0dc4e454b355eecf05060e589d8e2240a9339f9b2dd404d2556a040c92fb47ed76714236bae19a4f5a16c9dd4f8dbee6ee2e5f346f7201e7a4ed2d3c5ba3080d4ef08b5ddcc3bc35748d30b2f28d17b8bce16b765085d74db82cde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d94755784f4e02f68c333ab8c8ba3663899d5ac9f60bf411c63a175db3fe18f7d94755784f4e02f68c333ab8c8ba3663899d5ac9f60bf411c63a175db3fe18f7909b72bf7be83d01aa5465bdad25cc4d24f5a57ad6c0f636880897b1ac615ac4b18a5c75bd8885265078031974a1637981aa0d11fab1dc210bef8cd3d9fa6cc4b18a5c75bd8885265078031974a1637981aa0d11fab1dc210bef8cd3d9fa6cc4d0d0f6a5172bb640bfd8344e14aa9b78d37ae1328463107509bdb0d1d386782d67f1ce1b8be7edb7641293bc86dd5a1ab7330d0a1edf08d78a7543e7748f2e40c552ceb49c267fe2f76d6fcf6bcd823ffee9018314663351993f6e0d08c0814b744d7ee7da97b987feaf3d6c568ba9d20aab3420fbd4138048a9e921999ecb7a8d63296a9175457611971d72963f65bd71dc128500ea064f9cd28aecdc7ffef9df1aabd832b088fae70ba798810a24f812c98a1eb2d9cc8c8d1c410f68032e888c663483570351efa84997ba989515b1eacaf21e773f7381cfe4cd8596a2a00102eb7a99abc2737cc170d644bcc9043ec38f2f03ac2350616032bb4a9257d5fb02eb7a99abc2737cc170d644bcc9043ec38f2f03ac2350616032bb4a9257d5fb5d706da87108dd0648274c158f732ea54889109a06a0d0c1e0efda4e47f8f561632f12d81ad115af2096171e52128de634798db1e3534e4b176dab3a72e34db6632f12d81ad115af2096171e52128de634798db1e3534e4b176dab3a72e34db6d0926523bcf82a1fe33b5b5400b7b07ebc23dd915240eb51d07583b2e4b3a5bc6025fcc710291676e4ebe3b00e983333afcbc63ae37595221c37a8e12553facf6025fcc710291676e4ebe3b00e983333afcbc63ae37595221c37a8e12553facfe571591bb9b5eac9b96b6e2972d5a26b57dc01b42bafd456bcaf231ec564629f73aac96f644d822e1d04988fac9adf20bb75026c81ee10933c0a9624567a81d773aac96f644d822e1d04988fac9adf20bb75026c81ee10933c0a9624567a81d72b4043292fbbdf0dd1bca368c7e0e5a95252630da1c08227e03ac95da25b2cbdd8bd615b5ba4f782cda87976ef74893ce7f98dec289c6d0a1a561c334c85cdb2d8bd615b5ba4f782cda87976ef74893ce7f98dec289c6d0a1a561c334c85cdb2fb19d0b4a7a856bd8a8c263c2da3fab246e7981e8c7987242d1220618f2023d509a8296f0d93940239fc0ed79a3f8c80e5ad89efb6acdd8d38c76721df382d9609a8296f0d93940239fc0ed79a3f8c80e5ad89efb6acdd8d38c76721df382d963e8ed4ab4bbfcbf27a19351078282f08f849a8355833f0cd126c83e3f8951eba72b69f35499980b586cba2f1d050099582147241d1e67ecc63d8b646499994fb72b69f35499980b586cba2f1d050099582147241d1e67ecc63d8b646499994fbbc4ea952d37ab2fd80314bd6ccbb3204732c0fc4b485cb61f89bf11c3bbb91a42c9dd42aabca56823b6ad1dee12f9f782aa82a8db5f2a9909eedd28e4cce407b2c9dd42aabca56823b6ad1dee12f9f782aa82a8db5f2a9909eedd28e4cce407be3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a4a0062496a1b5e3fa0d4eaae20d42dbf4b154ca2e6398b172810370610d9d23a4a0062496a1b5e3fa0d4eaae20d42dbf4b154ca2e6398b172810370610d9d23e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85597a10a87ff146cd767278c991ff9186cfc1eb3a008222abcdfa8bf578cb0229c97a10a87ff146cd767278c991ff9186cfc1eb3a008222abcdfa8bf578cb0229ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557b7bb4899bd3d2a92fdf70e293de6f52766415f64b101f1e499802d8a4016e877b7bb4899bd3d2a92fdf70e293de6f52766415f64b101f1e499802d8a4016e87c712f35d0bb7406de04f0429ce46e99c242775191b748ceafedf448955ae97c17b039d8f58c10037491f92a1270708b06b7b03e5c3ab2ab832527cc08d5883b77b039d8f58c10037491f92a1270708b06b7b03e5c3ab2ab832527cc08d5883b70b5a885d43d606dd6d2c49e54a90026b21c9a5dc200f05951fe125f2576552a20e841c4c1e6501aaa824bf4bf070519c7d6a71ce61a915199ed7da0cd403d4420e841c4c1e6501aaa824bf4bf070519c7d6a71ce61a915199ed7da0cd403d4425ac3f52ead5297d31d0fe7f56262981560c651c4536d877088260db9d47afe20ca0b85b02c515d44c78c0a5090f712e08f4903200294d76cf10e2462d9466f46ca0b85b02c515d44c78c0a5090f712e08f4903200294d76cf10e2462d9466f46a56ca3ec9908f604a79f764c93b45e425e9ebb0be91015e10d52bcb94f5a6761f770e9e694e998281f4d713e91cfacafbc5024f9345839f6140d11091e9fb486f770e9e694e998281f4d713e91cfacafbc5024f9345839f6140d11091e9fb48647f64376c002a3cd850dc1e82081bb0ee310e0a2c5c1882a3f979c67cf8430233432567e1b883129afab04dd76b246629efe85239c4ecaaf1a1e2624b665d2413432567e1b883129afab04dd76b246629efe85239c4ecaaf1a1e2624b665d241b592b541714d14c0015df6f612e4374fc30c184704e1010a5c61fde8c9b479cb79062839440b7f9f90c22fc0bb0c6fbb464f8bc68f12e6157b8f491f991e675579062839440b7f9f90c22fc0bb0c6fbb464f8bc68f12e6157b8f491f991e675548504b01d970c09b2a99ace437befded18b56260bde5ee53284b0432546102d38915ca00623997fee1c657c004e09d1dbe57a2b79f2bc71ccf5263694a011f788915ca00623997fee1c657c004e09d1dbe57a2b79f2bc71ccf5263694a011f78634f77cdd1bbf65bc45366a3e5476ca56fbe66a14cea7a52e98c0c87588b50e011fb7d7ee26406c05eff191c678695a03a06530d976d45f111390a69a5cbfcae11fb7d7ee26406c05eff191c678695a03a06530d976d45f111390a69a5cbfcaecce9112a71e2949f49c2aa52b24905f09045b034a23a4280f1a72a7086f6233cba7100b92e0c46dfe3e4a9e01abfe17ac3c880c49649eedf9c268bf55ce7616eba7100b92e0c46dfe3e4a9e01abfe17ac3c880c49649eedf9c268bf55ce7616ec16f014ca79ad0e993ab07b79c9b1f06711269f0756bc4393c7c572b5280b215718a617f7c73e0e140ce8bd6e619179ced624e0173aae537bf48ffc78bd2d0fe718a617f7c73e0e140ce8bd6e619179ced624e0173aae537bf48ffc78bd2d0fedfbf75bd0b8e5929ad35f9f53518660b4f287f63360f9bab795c09e2264f46f5fa868604c1e1db734e051ae55763fc6160deec832455bbb09cff339bfddcd878fa868604c1e1db734e051ae55763fc6160deec832455bbb09cff339bfddcd878a61854bbab87ef917dc27c87f437524f43d955e512be52d0e75031d30f43a11ca65751ec87e179b6a9fdfc927b2f33f6c38b15441bedc92fc00cd9ef649f3ea1a65751ec87e179b6a9fdfc927b2f33f6c38b15441bedc92fc00cd9ef649f3ea1b3ab142a8f5347a74601c2fc9b055e0ac34768b2d787be880ce7f7fc557dd8b241652a6c8ba551f828c16df47967a816e856b32d05241feece1821c052272d6641652a6c8ba551f828c16df47967a816e856b32d05241feece1821c052272d662d82bbec5c94c9b66cd69d6079c457d9561863be601a52d11964bf06eddd02f80a6e206599f81f03520105ee20435d269f230688e460898e6e0b4e94b03606b30a6e206599f81f03520105ee20435d269f230688e460898e6e0b4e94b03606b3f9b5bb45f21236afb372ae7e2c65f544c6a3f3eecd876e3e3fa3b5173eea9a6e310f36d635fbf61be45bceb4b6e1fa0562dfb6015bdbd823953a9f0aafdebf68310f36d635fbf61be45bceb4b6e1fa0562dfb6015bdbd823953a9f0aafdebf6839ac2d88444bcd79963cbc61a14a9ab1aea6b0e47b92d021173b39aee71c7d16050d1babb0d9ab579fc8a2475456e49e5427bda440b290b2fb30a2757ecef00a050d1babb0d9ab579fc8a2475456e49e5427bda440b290b2fb30a2757ecef00a3e217453091af2c85efbefea238e46518a7ee3801ef94a171cd8b742498be3a9881129dccd79c85c2a44d2bf98abf94a6405763fb025fd9b04d855145e6600b9881129dccd79c85c2a44d2bf98abf94a6405763fb025fd9b04d855145e6600b95d1994bb3c353eb60644ba59ed76ba5fbaa134c1e3318e843cdb6560205fc835d518031d10167081eaadb116042d5a7667842d88a9b59f32d148934d00f5b8b6d518031d10167081eaadb116042d5a7667842d88a9b59f32d148934d00f5b8b68e44a4ea41f5335cff84fe325ce100e01fa0dcf228d6e890a6595cb79e4e833f766da36ab216af38a7088cd12ebda79c7a9fb262212bcaa1a8b562267e477182766da36ab216af38a7088cd12ebda79c7a9fb262212bcaa1a8b562267e477182c2bde2537f7f955e7cbb5ee36fe285f5bcb6d7b2f4e195b078b6415b0bcf2e1b01b277fa4a7503a045bf09a1749f167451ac695d160e11cdaccd9cb75922248abc8f0a477b68246176939a64a38d10422a961e410e0cc41fbed039a439920e9f28e8a6f820ec61a2230a980353b9265b4953c34a9410ac7d697713b7a592a773aabdb42bedb5b865295a6de90a245aa3e00ad3bda7b05fa268e2fa1151c27eaaaabdb42bedb5b865295a6de90a245aa3e00ad3bda7b05fa268e2fa1151c27eaa18d27eaf1412f3d3de194cd953f2f51847be7f991e17789f8c271f524b44f7aab99fd2929784637acffeae3f1dd01378665b9c8a539e81a032e8e64b6b12742eb99fd2929784637acffeae3f1dd01378665b9c8a539e81a032e8e64b6b12742ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e395de834b5b65b074fc1e29a624b094f9fca0591f18646a4538fd1cb303cc41e395de834b5b65b074fc1e29a624b094f9fca0591f18646a4538fd1cb303cc4142068eb47d39c3ff54b3f3cf6fe6cb46162101bc73c34b5cc9dde640003d7a632990f228f588b2da34240d8a8c6075bb38027f9457e01998fe66fe48a8db0c7e2990f228f588b2da34240d8a8c6075bb38027f9457e01998fe66fe48a8db0c7e867693f155476dc688821819cf57c7ef251671998831809580d61039ac0d35565da5db05af58e3f4c51d5588b771c2c4afd696e3c573d8542f2ddb18132e141c5da5db05af58e3f4c51d5588b771c2c4afd696e3c573d8542f2ddb18132e141c012c933e58934dee493b079442e90e74bf7b7a8f5f589474bec3264ef9276c4073c2526f6d48f3595a82607d431bfdf4f9138710e9ba5009e89375fa3307dd8606fc94ea1a5487c4a1abbc535a98d7d28a3d9de688fafa22077d9661695b21a3e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855bc451b05474bfa0f44714ea6b0af11ac7195ce9d2da34e76ca78de114be7ab06bc451b05474bfa0f44714ea6b0af11ac7195ce9d2da34e76ca78de114be7ab06c6c4935c2cbf9ef3755c06f6f1724c6da65e93ee98571cf4d674e62bd09d938723a6bd5fac3e0c01d0b727a9f36b05950cf61346cb1e3c1fd80701e7dfd6bab1315117dc506b99902948dd1a1cd3ceb7d86f3513941eecddca75943ba75ee9736a8622c9a0e1532c46990beba65be3f2db8ec8f0611ef7132a0ad987bab803920305ffe66e788a5063006f84d58ef6f6297b244ded485b4e632aba210c9107f3d13f2eca8afef88987e7664afc04c93b9a05328266b58696a398db78ce65dbbd6ba62e6a54f5a7103fc1f4bdccab605b2c2a96b94486555b2be03646bcb0d6ae4764fb249c127528e1e36372939ad5e59373f09af797f9e0496747647b26fa104764fb249c127528e1e36372939ad5e59373f09af797f9e0496747647b26fa10fc4d1ad3dcf9c65ee90e69f09de0267f07b973688f1bae65e3d0b4d01260d80239aadc8bc583ccecc1f8d34255e073d99a5c5f471b9914c5a87d6b1afe3ead7a39aadc8bc583ccecc1f8d34255e073d99a5c5f471b9914c5a87d6b1afe3ead7a1d98966a9eccad54949a45a9a62f49472fbb506b4406230039ecbe2d9d7a9ab053813bf0f8dc5d39a2628815cae0055128cb3e650ce90399e35e3d8e0c44e8bc53813bf0f8dc5d39a2628815cae0055128cb3e650ce90399e35e3d8e0c44e8bc7ad2884ff91415d8c7bb26ea3ba92ef73655c051fbf9a1050d5c823f7b0f7f0a150a353b8222ef6a3d97fd832949c64f479df97d6c87541f53ac18cdcba4ecab150a353b8222ef6a3d97fd832949c64f479df97d6c87541f53ac18cdcba4ecab6fc2b8dbd74d39a7a0067a78de5a5901b44f182b6590c5b11c2be134090bc852ab6e3740971037550bdd2a34c18c0c5abbcc26d240679599be440e94c28f5759ab6e3740971037550bdd2a34c18c0c5abbcc26d240679599be440e94c28f57599bac13f42c5259eb3ed9337f155f38eca86c12add61bbfc74785d06defab78a87f39e65b00bb7605d6a4beaaba435a7976c3755012727677686b321d8a0000567f39e65b00bb7605d6a4beaaba435a7976c3755012727677686b321d8a0000563347934956709d7f842b956d221810516fb2fd5908ca62fcb21e1a1eaeb6099ab8ba1247aba00f950754ca3986c149d39b75cec581ec219491f47c791b0b58769e9c1f6f31f6ecf9a8822b324efef671085c613e61a920868ddc08b763f5df48d63a2ac4669884b8440b519a562dcfe6d1a339bdec8402102d9ac28357feb9998bf7d352f34c2aa201fea1e17e7d5363c63924537420ca0c1ae9b9ff93cdc7158bf7d352f34c2aa201fea1e17e7d5363c63924537420ca0c1ae9b9ff93cdc715e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558255cb0bb274a61720d763417ca4ee9cc41a3d4edad6ef8b3b0d5d9604dde26a8255cb0bb274a61720d763417ca4ee9cc41a3d4edad6ef8b3b0d5d9604dde26ad00f4473e9a0a07777c4f1500dab3c2d5d811085e796d5665b3d2df417d9f4f623015922e6dc467b05954395439fdd21c9aed6d0086db3b75e0d7ac93bb4418223015922e6dc467b05954395439fdd21c9aed6d0086db3b75e0d7ac93bb44182cab61439d08931b9276ff42e48fa5bfe175641b85c7ab5b707de2d4f879b2223771b3769f45fb2ad103306166bea319d4c15148eaff41716e824b1b12ce0620761777945cd74f63ad0154a23d922db0cd9d393bcd510787cad4dc48bb7c41c8e5f0b9c16cfad154049aa4b4e6db7b7584698f224ee30d46f122d35e5bda6650857500fda42c8219b854cd0959a23291f321ca96f3b97d41b79bb23081695d2db72c10093a7c00599a3c55b2511133a746d602bc36cd6cb9062d36d7ca62ebda21c193e67b14ba88dc26819def673d6fe080df1f25685ee46a63acd51f8a7385crootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpyutil-1.9.7-2.fc20.src.rpmpyutil@@     /usr/bin/pythonpython(abi)python-simplejsonpython-twisted-corepython-zbase32rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.73.0.4-14.6.0-14.0.4-14.0-15.2-14.11.2S4R@QB@QP OxC@On@MwkMU$MRMRLN@LH2L#HKv@Kv@KuBKepVille Skyttä - 1.9.7-2Anish Patil 1.9.7-1Fedora Release Engineering - 1.9.1-4Fedora Release Engineering - 1.9.1-3Fedora Release Engineering - 1.9.1-2Ruben Kerkhof 1.9.1-1Fedora Release Engineering - 1.8.4-2Ruben Kerkhof 1.8.4-1Ruben Kerkhof 1.8.1-2Ruben Kerkhof 1.8.1-1Fedora Release Engineering - 1.7.9-4Orcan Ogetbil - 1.7.9-3David Malcolm - 1.7.9-2Ruben Kerkhof 1.7.9-1Ruben Kerkhof 1.6.1-4Ruben Kerkhof 1.6.1-3Ruben Kerkhof 1.6.1-2Ruben Kerkhof 1.6.1-1- Don't ship editor backup files- Added passphrase utility- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild- Upstream released new version- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild- Upstream released new version - Drop patches which are merged upstream- Rebuild- Upstream released new version- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild- Fix broken tests- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild- Upstream released new version- Review fixes (#560457)- Rename utilities to something less generic - BR Twisted for testsuite- Remove dependency on darcs- Initial import  !"#$%&'()*+,-./0122455789:;;=>>@AACDDFGGIJJLMMOPPRSSUVWXYZ[\\^__abcdeffhiiklmnopqrrtuuwxxz{{}~~    1.9.7-2.fc20     pyutil_linespyutil_passphrasepyutil_randcookiepyutil_randfilepyutil_tailxpyutil_try_decodingpyutil_unsortpyutil_verinfopyutilpyutil-1.9.7-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-saferequires.txtstdeb.cfgtop_level.txtPickleSaver.pyPickleSaver.pycPickleSaver.pyo__init__.py__init__.pyc__init__.pyo_version.py_version.pyc_version.pyoassertutil.pyassertutil.pycassertutil.pyobenchmarksbench_json.pybench_json.pycbench_json.pyobench_xor.pybench_xor.pycbench_xor.pyobenchutil.pybenchutil.pycbenchutil.pyocache.pycache.pyccache.pyodatawordlist.txtdictutil.pydictutil.pycdictutil.pyofileutil.pyfileutil.pycfileutil.pyofind_exe.pyfind_exe.pycfind_exe.pyohashexpand.pyhashexpand.pychashexpand.pyohumanreadable.pyhumanreadable.pychumanreadable.pyoincreasing_timer.pyincreasing_timer.pycincreasing_timer.pyoiputil.pyiputil.pyciputil.pyojsonutil.pyjsonutil.pycjsonutil.pyolineutil.pylineutil.pyclineutil.pyologutil.pylogutil.pyclogutil.pyomathutil.pymathutil.pycmathutil.pyomemutil.pymemutil.pycmemutil.pyonummedobj.pynummedobj.pycnummedobj.pyoobserver.pyobserver.pycobserver.pyoodict.pyodict.pycodict.pyoplatformutil.pyplatformutil.pycplatformutil.pyorandutil.pyrandutil.pycrandutil.pyorepeatable_random.pyrepeatable_random.pycrepeatable_random.pyoscripts__init__.py__init__.pyc__init__.pyolines.pylines.pyclines.pyomemdump2dot.pymemdump2dot.pycmemdump2dot.pyopassphrase.pypassphrase.pycpassphrase.pyorandcookie.pyrandcookie.pycrandcookie.pyorandfile.pyrandfile.pycrandfile.pyotailx.pytailx.pyctailx.pyotime_comparisons.pytime_comparisons.pyctime_comparisons.pyotry_decoding.pytry_decoding.pyctry_decoding.pyounsort.pyunsort.pycunsort.pyoverinfo.pyverinfo.pycverinfo.pyostrutil.pystrutil.pycstrutil.pyotest__init__.py__init__.pyc__init__.pyocurrent__init__.py__init__.pyc__init__.pyojson_tests__init__.py__init__.pyc__init__.pyotest_decode.pytest_decode.pyctest_decode.pyotest_default.pytest_default.pyctest_default.pyotest_dump.pytest_dump.pyctest_dump.pyotest_encode_basestring_ascii.pytest_encode_basestring_ascii.pyctest_encode_basestring_ascii.pyotest_fail.pytest_fail.pyctest_fail.pyotest_float.pytest_float.pyctest_float.pyotest_indent.pytest_indent.pyctest_indent.pyotest_pass1.pytest_pass1.pyctest_pass1.pyotest_pass2.pytest_pass2.pyctest_pass2.pyotest_pass3.pytest_pass3.pyctest_pass3.pyotest_recursion.pytest_recursion.pyctest_recursion.pyotest_separators.pytest_separators.pyctest_separators.pyotest_speedups.pytest_speedups.pyctest_speedups.pyotest_unicode.pytest_unicode.pyctest_unicode.pyotest_assertutil.pytest_assertutil.pyctest_assertutil.pyotest_fileutil.pytest_fileutil.pyctest_fileutil.pyotest_iputil.pytest_iputil.pyctest_iputil.pyotest_jsonutil.pytest_jsonutil.pyctest_jsonutil.pyotest_mathutil.pytest_mathutil.pyctest_mathutil.pyotest_time_format.pytest_time_format.pyctest_time_format.pyotest_verlib.pytest_verlib.pyctest_verlib.pyotest_version_class.pytest_version_class.pyctest_version_class.pyodeprecated__init__.py__init__.pyc__init__.pyotest_dictutil.pytest_dictutil.pyctest_dictutil.pyotest_picklesaver.pytest_picklesaver.pyctest_picklesaver.pyotest_xor.pytest_xor.pyctest_xor.pyoout_of_shape__init__.py__init__.pyc__init__.pyotest_cache.pytest_cache.pyctest_cache.pyotest_odict.pytest_odict.pyctest_odict.pyotest_strutil.pytest_strutil.pyctest_strutil.pyotest_zlibutil.pytest_zlibutil.pyctest_zlibutil.pyotestutil.pytestutil.pyctestutil.pyotime_format.pytime_format.pyctime_format.pyotwistedutil.pytwistedutil.pyctwistedutil.pyoverlib.pyverlib.pycverlib.pyoversion_class.pyversion_class.pycversion_class.pyoweakutil.pyweakutil.pycweakutil.pyoxor__init__.py__init__.pyc__init__.pyoxor.pyxor.pycxor.pyozlibutil.pyzlibutil.pyczlibutil.pyopyutilCOPYING.GPLCOPYING.TGPPL.htmlCREDITSREADME.rst/usr/bin//usr/lib/python2.7/site-packages//usr/lib/python2.7/site-packages/pyutil-1.9.7-py2.7.egg-info//usr/lib/python2.7/site-packages/pyutil//usr/lib/python2.7/site-packages/pyutil/benchmarks//usr/lib/python2.7/site-packages/pyutil/data//usr/lib/python2.7/site-packages/pyutil/scripts//usr/lib/python2.7/site-packages/pyutil/test//usr/lib/python2.7/site-packages/pyutil/test/current//usr/lib/python2.7/site-packages/pyutil/test/current/json_tests//usr/lib/python2.7/site-packages/pyutil/test/deprecated//usr/lib/python2.7/site-packages/pyutil/test/out_of_shape//usr/lib/python2.7/site-packages/pyutil/xor//usr/share/doc//usr/share/doc/pyutil/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=neon -mfloat-abi=harddrpmxz2noarch-redhat-linux-gnueabi      Python script, ASCII text executabledirectoryUTF-8 Unicode textASCII textPython script, ASCII text executable, with very long linespython 2.7 byte-compiledC++ source, ASCII textemptyPython script, UTF-8 Unicode (with BOM) text executablePascal source, UTF-8 Unicode (with BOM) textHTML document, UTF-8 Unicode text, with very long linesUTF-8 Unicode (with BOM) text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR?p7zXZ !PH6y]"k%YE2D*5.h'y{$* ʫ`@-{yH[feJ"rŦ{CR$֙}ξJPxBZaT}\Y n ծ7@xzf29x=- ]pO%{ztX}wpպl 2lkCq0OIwv6>:uHz[km'ʤlya /<:Dh FHr ٦:ߊY2BK7rE'z r:FF|-Η岇(W)!IKk.OZ ~9Y, x.ӱ-QH `Bۑ21OB at!1wMI.Tbc  ZpށiƦ Zi!"[**9з=SK.gI=34Gu4^Rp2 ]D3Z5U:,>Z|G$uZ"~ Tё@P@>R m8b ҁe씏BEc iRH,)޿[ď ]%ilP1)Mu?.<[GLel 5mSR" +)[sꦽ/3FhLCNtf74B)̵DL|u5WSZ;3»yptƦ8_h3|Vf)<&jPu&W0E3{J~E0&eπ5<\JhxoUC6<7 *v{14 GWC捴bX=ε~(6gXhZt-ypmz8#%P|n:F3_.R& r]=CbzאOl|P( ؇$w fEEy&ZݍYo= Wf@0U" V )@7q|CMBfXXa{1iF,z_zN<=t=X6BhR*kۿjǶ :R99\Xٷa򃻽QIL@)?Hnժ(?_ue>;|k (hc]e>= elЄv[?=YbɡlLSArd y^#VphCM'f ygydWɇ mMyPz%prǝˑVC[|IT6bgY\^Idi)QtQ)Q'tP9,pR\0ru^0tV}ТDRYuò3u5<5̞fb[;Z=T7Nz,O`QkAJ&QO?.(;* ?#Ns, 6DPhp<\N| }H)[Csh KAl`,h.iML:f˱_Źcgd_cck iG(6TOkc,DMy5~g'3c4F24f3GӬ+M]H+Dy\I.]s9uj*""R &igN(-rwhC0\~Xt@FySvN4U=Y<%b*L,@};TL7m&ϦK4a^h׮%ӋBE!-:CHWE~+,&24q/:{]ק"Ā716E&͒Lk'i_]ݑp/g{VV|n7w3n2yH߲ux-n/qG]1V}2RB֚3Ve.#kq;A<`ebVBn'J=Qum0,'4~{ځ`vPy񑂟ˌdNȟ7Khה=cmY3^|#hCh8Q >_ItpȔVPgz]%9>$,8܊wb1Z_IvJz=f"NqsAU" 6zcMd0?+s^`y,n+"z_;V};OlH5 K4hG?[vW<(܍]aD)GS{̜88b+ʹZ?^t9lW--yhr:em4]͏$Q/hx$se?4v_r"\ɿelЋ{նꭗ,.}Eug0],NdI `'! nqeukHN6ʻ%XY \VN,q>"lJ-xpHsADӹTTveqtb[) Kelҭcl1Ӯհg_5u ըB{a瑓(%^7?[M!pO.cdwXUuiNYI9簉Ý:+kXPԵ^'afW[6  )}49Wh5#k7[U>IzifZ/.?gO|2\ c Avk)(6o;"|eQK%]g{TRI.iٗ3Q_j9Dk25mif6'>y,^ta?UQ VKo_*Y,Gd2-/D~O1 ۿ|gv 47/Q-EI$Ҷ@)#.șc/'OCțhp/DU6ti`(eXܮ$ d`!iޙX\jO5=TyKOiE8?!}ߝ)W8dʍ_R(>CCk|q%]@Ir-ފ[H*mu m jٽ)N!81LS9--8~e·jS]Y4ψ b>$<ռiRnֿN!0̨:gv/ 3z5햯9p2-1:k!Ř\ԟp eRx$~ FY;b_m(,cF$ A|cʤ睝.gY`s䷨p,]B=[N4FJ)\9}gdUDMVo5R렁3v1GYWfhqZ3U`DbP5͊[]#"Ԉg\F ,z<@:&bZ58S~ڏ7CP W'Xw " >(?,[oCˤf45Eh 6˪q{7u;լL^;s[誝퍛4z[ y(|^3lw-تWe$% 1lz{!8=cqwo/?j,lEAD L@U(Hgt\̴i)ȹSm̷<\,I6p>x+t"_C.N]!cQc=r`cV a`)5 F6M[vet?j"* ?!eؓlƻZFjfI0cGZm6Dzµa2{۔TQ*@ܔ0 볯9)WK{43%t"ӶQe(U-ti|id@?!)p@/dJV㍂z:{&S+0fyӝ -"\ɜ5=R*:[ CHy.<)iX|;3ؘ_DlG9H^?ZxwedA*eUJ 啩zO>qFHH|h 0kE3*urP OG"pC|:IQYN*Sn$Xbb~Llkky+Ip{/C>颐<,<?lg>1EWA&-|B sޑ816Ġ$=|9.\ \ں{^ ÆaׇDK`1p}GQ1l)yPp,Cn&/dO+=:Ʈ*_y=:#(}B}|`K$;^U*< nK8Y kmiOQyrj\6)s݊uC֩ťԍӘV,hd2C2#ТmIC! ]ܔ#<03s,-СB]0cU_G*5Aȼ-`T;"K/zGZ TNa ONU(|(" vr7ԖKxb7˜$VNR\5&"%~:2Ԝ%4_q ڷKwh\r ;jaJ U[,>kYՅ+ '@>53fӹ49ٹ?eԗkF09nr5禹{a_=}Xʴ"%jsslDkn (61U^D/K)NRQ|< eB]4EҬ%vtH86<D\Σ s#*+Vڜ9w['S,vHd Ȃ WF" W|У M?w{NC$7j)|tʱFN2):#:h;"|Uw 5C[8=<aK*v#'rmYJ}p堷_ & U&uWq-<gwaj@Ji'k٣ޓT2'K\0=e6M4x VTGZ0u| ;x!3ftU2p֤=!{:KFԿ+s^ަBdCE7@q vEg ~"D3iP>TJvMXp)Q ӂɫʜ U7UBh(@LB67|]UrCjXm0„; t &Nn#}TMWg>{nmJ`Y1R%?/0* fWB$hY_6T#twP`O^!emLWf|r{z=B]z7W+ -CEs7r;XAK`a υºG@VX&OVmdh6 Ry~ԯm@jS'` HEd[y>X[+aiQU-~;[z+[/~X;{T < j~T\{qj{ 4ajhQjaHĒ7US}E9(|RHUBM@(@6a뜉Dcmk^;DĶΐXR-KH;n$4aݬᖔqfnb"s3fq+ׂ˒>)S^${{d T\v2} '8nAdDt Dn Y r&6ђPF(ڪM'Wʧ$beM-1}d8{ p\6NF ti kvT2z~J&F2֥Y1gTa &$JɚX@dqk D]zM+ LV㡅M.M?|Z/-6U'yP)tʦrU ?WkL-Ld|X'آ=6v t\\=6© ֘Ljݯ7X"1o3א -:t0"4wjr p7gгvDƩ ,ըz/B@!lW!>atv;p\%SLч n9hXZZ_.-sa: eϙ ({pSN ( JS4S|` YЯ aLIrh_ˈ4 @I(iRG}@,7)G_Z7I/@Fn%9._.9bN;WHr9:dӂˣ>Bz8mz8jyV1SJ9Qt}Q ~㝭ߛ<,_OTܵv:9 `NgT}82>ʹYѾXw@*0dk yIv;D떦/s P޺ Hi-Q?3?6b$2p<4TF|i#?i_y럮D` Lc9@U1(uPFTwsod"ʉOntVTe)0?H2)[ zeTtj{=uH:g> M1 `8cϪd/ ӕ.~M=8b|#> R^\$`7D) M'$p ,6̃[ Mrٕ"3+)Zc](}]wukX6(}YPeCf,*_G>j-iJyҀ2^@ɽWT' reodxCIEq\}HEybM L=2] ߰Zf7,=2q:QO$ݷad%/)|[п!+E()Bag~0x0ڦώr0iR'c0[Qz >W:Yf.|FXAV?ꔏmǁБ aH|ھop_ĂX 5ima’/Hw5Mƕ!R 3dH$B 5G4tr"pɮuZ*Z(K%KxkL$kP7؎!!\˝xM`\/_q6]͹lN0.^*^_ɫ.;-dU)f'uD H~@RD8w\eyvbB$T=uy3+*Z`ܼAJ:$#fU2cKjҵZu{&Rb' !OtN_ dzp]G ^hFW6kY+=Em8n!u|#Jhgm'.!l|T܂.D ooȏV/䣩؁M3TXI/Ow]xsሊePur9w/V`ZrsvUy|fLY/[J6>5I;;0B[1jp" ؈sXwPز>c>P0oĕA &2+ӗ.ޖFÔ)l} }zqal6n 6Wk73Kk i +Q6rj)f8ayT*x,oKz8 Yz`^%! aQSv,YlۉF #ˎڛUtЅT@dBQ\dq)cX{ٖf1Ё8Цִt8LWhd&­'@"3G,Ѣ'~|r#gkN"㫄O[NhAcaf%"(Ѿ5q?qg}R  K# ِ+i(̠ҴfuzDdP!o vZ/k" /lp*lFŚ7f@B ^~F?s<F*uIF5#WCc)C+y;*)aTwIp g><|nEQ8Ѻ!d\2K" 7P!ߗJ i.;R^5=1~FB*,q }2(tɯXoUm=8fāνsj_U'Qsb>WRl_Y"?[Z$7dHb~:@u!wؽN KC,uEãnLqìf`SjqtyP6E8` aͻ 7B " ]ye?́y1Iy %0ο[_*4E9NG<'BHÈ$8~1j.uS|dpBDYhCg3wCAbDrGA>9^DgCc6{$L xeWĹyxt fOy8M-jȤZytU}*R]%"M ?e5oh{"\:fkfB sJnu#48UFғ~P`yAq<@3 UĒ鵥iC$Jkpcna8j׿]\T&Ut#mXߛF_`m;TTnΝ*ag85Yn Du/a(n '"<sC z0@GޡSPۥS"e{jn 7p¸zD(!!{,Q{IVh[Nia0S!M'Os绾v,Yrn˻k^ix.m(aqMY5댛%7D5T5<~olFP?E#isPcR:;{ULS_7GFl|a-2w«A7HSOӌNk14{s3O _60;vzv Rƹ%cF@,wAsd:?> nT;. H쬀jjR+μ`L?N|Y:F0ecw3\]{3 [PRFZ@{Oמj}&Yl>S}/B'Gளϸ4c @Xg {ōX{˺eHyIG߮(̲vO.)R}f# Ǵ&.H\_4od6~"1X%t\H#xTQ@5t.g]ʁFw GQޏz+]|0%F<͗_8zn &E [:&Nv$z9>R C,>0L,Xqe1KJ>v~!y1rm(Rw+!tԑx>,HV*eRhz'NS֙F98~gX%׮"9 љhJtWTq6 7Ҕ˾%] XĚK6jX}W5g囵Jr#418ƶ`:1FM*!?YdV\{ UzzA PIm˥g@!yf+MmKxAV(/˥_9Jdh^{όM=w2 c:#tAGno!x⍱@W|Js[.-\IyẕA=l溚۬6v㾸"!EtRIjVBKdyǽze*W9nx^cT QlFVf9@OˑZ|ٳ OèK"vSR?Jp<֢0㼲/<ߩ$3l,}3F, Wz߹'d0L޾HM}܃Qey=iD . WXeXeFRq7WA7s 2+s#6"[0͎w"~Jؼϭ_9;=^3Q .Ed>K7Ўb MIKG"l&sm#}-$7&KGqϒ/o4c9^rh4UT}:Dec7n&9s]5<0(Zգ:1i>\ H Jڃ&2'F8iEX; T(֊nM|H/| ,j]*]'z j<1w(v=KBFE1NMI,u7^Nz_GpJv4[l -bDF1zdA0<ܹA2 7E C|!!ivZifR"ʧ/T!FR- I%iCcX y̙z#8Me-Dz7]q%k__YUѿraIu9l U¼']j%mu_G8zAC^fM.fLoX^sNU ф'=v(;;fqt΍{fᔪǦ <B O$K|)e<S8mN$q#Qo4{]ZۚR4̉$z&A6kNU(rwJ ުW]dhaW?̡~'g$\ɮ34^O-CؾT!.m}4cNT8!׸<rP"ˉlbUר*q%N,3Ф}ژh0»k6C}Y/'!v;/CbѪeA!lyG~Fm l`8{">^KL<+߰m|, L8|ݗA}jBNA8|F7 i):!c="On&}oz_Cȣ$/`|%pH{^,%NsSb͹T=.u1+lZ15RF9UJs.c $Yo}2A>rw#+,*tT//:`R{9BugN>ߓS4Ndy=Rsk%[E 6fnNp+B_CwP&GJX9<-6ٷ^w1+ltH{笳Q['z.ȵY$4ԅA7%P6A$ }u Y[4G:lѿ?zJ#g8m2 D' T VɴʽGw_2zf[h>i܆⪕`qwF); U~[g}\P޹A/p%P]بx8=p$bѤS啐-qy8Gn d8:NjLnp )B"D0`Ƙ;#J{k$@kAGs ηk4G$?U{>땸NH <=_Q;ژ8m)?F_> ^{)]0fA w10ľ052/.S ؖT$<0',3ScgLY:+CA.-?Y)Dh4DP3M8YQi67]AVspc il.dTsNg\M+|{B_Wg8)]JG X?vz1 z G${F$鮨>HV&pjC)YNܣhx;BA_(0>@ꦞ^J[ IZuƻ^CX{.j`6c`fF;lt͋bs'T^Z)XxQ0ZH 5:`Rhk낅2 Ԍ71wOW4)Dž|߃&5 Dքش]e;24wa<[ AMw@;2 4te<)t* QA[z"4h6%a;Yf xOĴEuԥd!r-fig7oPk/–s:#R=8J zJԺ,3ӦE6JV߇06 B _6&\uOp&y5zKjN܊ǭd=eEmmDF-$(*ovxs]M.G ԤE@_i'; sͮfWϬLQ~9QVSU kOB`CAH.jN,,X_ >.h}?MZ-xQL೏^whY"^NӤ 9~UD2ﵞ9畯Z ͇%!o$J$'Ep<R:xgJqTUjޖ2 ßkQ#Qh juȕA]Y-5[=U+fkyl@Hp Ty͓d6"9JlwӧjI7䜆v3?^yYէ( S!^f1 HTN#R|H<~] \^g/-@VE"ʡ8f^ā݂ 8U2pP i_VAތ$a=}83#}@Gۻ>qT8*`AX^B@([QLs{7CכY=0jakGĂk7΀s$<ΎjEֱg+]6x/Yђ^:^W|[1&zKXb+Rx s42#P o܄j5 '>,zTڵ.X9;kTÔ 0<-};:f6O *>гYGȓ%n\L/?wU2Pm 0,7*#e8~g R3giDa \ !lr,Qjr& hf7)SHYHQ2yõ d'Ễ+ ;s_ňSS2b͎su|bxKQ?:z3\.m)S zJRd.J,2Vpڕ+MK 7$<_qü 31eȂco!^C/Mnk\۬܋/|KsHѹ/`d7P6j'OQNJ*67u=/D:iF>r.?wC@,J_ OnrtWe?E8%m܆,zbe$Fo+,@@SA)a~#Lڸ a15$ E@WB~Rh#s O*kORvh}.|fR=7x4<{)cCD1x6aAlz-SUFu>d֊BKʺ30j)Rz"I=7qMT(F E/I@*. 2ż^f vmy!t;p3`yRJ[c;<v{b7_Ժo|g3 5r_ %Bbb> NHHwT7F}7ө`][SZ>/"ٖm4 5m*,j$NJfc|8FXG+V$!Gѱ(ԓUh3bMxy?nEO2aZ`#FI:މjQ*]yFydQJCDnR 3y-fu{aqEݮz7x%N٭?jQPoNy;EOƝD oЧ3jB4?P>K] pe>}`)Hc'HD{k%E/v5J~;OW1Z|0B϶&A:&{" s,Kμݬacs"WJ+@H!\: #]ͣqApJVL:V5B!Pm/u3Oԏ4ۋX.):P8 R<epme\.!9|(s`6-LO'cRވ8Vc@(ppfCx e0-T{[*`(¡ɅEGZo[*k1ƒ{lP#1o%eJ]BFuųw\aEł],] lv$~$v#}0 |CY(q^So˻ٴ=ۛ|=$;P\VbƦOR g U}ŻsR,(`;9&mDes|lT{ k첽YJ!׫eSynH[ Uft <t ߢ&^ B-'W<-)[I#F S1߅Wnd5-IKW#i9V/mkZ_.opUٜ;GݱS ʜOwjG3^F'2]^sQYk:tbkM/0` Pk% ^ L yQXWA`gԃG|hIY;uE™*+Q1Z|!c2a0[7Ny.z8 K6b:.Fo9t_"=3a&яyj6W2:BmSNmJvS9 \)E]ίoڭoQ*{ddȹloJp#-dLRh&<`3m=::Yk,jאS_"Au(,obj7HY/V+9xͦSWhV@Kyl\{ĒʼbK-g0xzpzd烯C i6)_N[|V]v0O1@Z/He)GLR58>qI2dكrR;"E4Ҧ?TLؐn5M'|:P!CzT_[j`XR o@8怍C-j"7C ޳Am:Q ܇rzur&8sUVDy r S?gtDrڤZlK|   <ٌqLtީjڷeZ'"H!3UܲR뉤o<<3:Ob0*$QAfY,W?$'Bg ?ztao f7αVK65OfrI/؜иFm2qotRFU>9ЉK}2b/Dy4 =K^-lp*,DkKy@7Ǎ_ZFɠ ܞ^C]ۇdG5@W~e7c&T{|BQ((70 et8Ո[h:1TߤycsKK M6{X?0S'vo=K!Z2Z,!\fbV0A '_4`}ۓ*ֳlsLó5_&+b.ꘕhS*- 4ю9^n)軌{?(-|OV<.d d9jodЗq̹;eSIrH/F m'yT-l3GnlU!Hd21C*-pJߨ7iꃨ;fOXxCCVtGGɅGbzINM`yi݋Eey̭SpHX^!.17}ĩȒcIls1# |Q_WbdXqa0`tTn$G"f]ަ[FPuoI SNj[*Wf qYPj=)UP_ܾfa=Wo{Jy-,x6uj(aowѲklMlXb|^f;$ OۄӀ9ntQV.:2(lwG:W --1#Inרs$ŤI*=l8ag/ueujAaMqLt>e;F) Rb) xZBӗfYöW5+ˊj# 1@F 45NKmiz <@Vj i!/4Vv;Vlg+9+8|Tʅ_2W.1ƢDtN5_s210ݨ.6F6>m&8謏)[`2fB?{o\-5!chm 0D`7,$AXY=w;"VЌ>p>q^=9pw?;Bei0u;)-heE%u o.hU% dz}$[xWa(7qFtJ_,J?r]J-!'?KKb?:/@(z{$>[_ =K{ fBGW_[Zz}Ҵ5CU-O"njGe3HQa|E/4uJ/yZٝw:$ 9seX@ Ȉfp9i񥿭%@h9\Πd:b'X1 v:"BKnp"H7߉һy-d[=>8/:31TCBdqₘɍ9F"'y>+ーR'vq8@nI|I N.Q^ 8ŌyTcۿMqK=YD3VߠEX?`_w6|PNROBW,m15+Tҟ/Y$;8Mz<Q<-~".#kwN @ 3OM5 RH) Fr-.}9ۦRzm2ӲCwql8\bLJU%aKKN;}fQo;>eܚ*BcXtFv'i/X!.N|e6ly"_\i\E@Z-Cm3M +%{8ql QV%NZH$lidhiƮ%==>?}|b12J^%]xaE)Wr_2[յJ<=g%Ҥ&}M:`t}gҨ9[cfnd[ +Hzv2Q|Ͳ5%4[-9qSD0jkm `0L_lKrٖ%K8;q :MFWxޢh&7OԗZaG !'E;?ծvT}<Z1;?IB۱das\LH"e)c{1TcjrCIʱ-ي'I={iTu+}wNZiUr^gr&~sr[i*Ootu۠ފBFUߑcZ_y5P˜# ir.>D@#?D} A dLrmyAn75+i2cۢ~m]X};GJEO&%83N9l]>8u *Ru hVVǦ+x`ŠIG"$Vu]sF4HE%حqˠ<^QZ<.o)w֗-<+dr,80P|<ٍB&/h&sNcNE_.cp/ݰHvIkx)#soWYW:G4KT Kà2p=V*_ݯ&@jvk%C-{6m,[ܭܡօNd^j:9[#P ̴aM5P Ơi1:w;hHۗP c\ d:遑Tf߬Cj f[|S@]HY"bNIV0>߾gk Ӡ͉OY_񳪔؞OP(]lt kc?exUg!UhXhp% j8:a]$Y!Ipv)2 9%0MC,|Dl\̭=xCߨ b 覜+]\ ';tgCxiJ$3}p`\f@}I|Z%|鬶D㑰iuSz2VHG :aɟ #L7m&2.,TWߓfhDB}5x^%x!|% C.BuxuvE{Hyo-hUH)X@`T U3eBfPfˍbRpR` I | ~^ZPSNHEސ6 ~HNzL= UYq$d%'Ց1f4؋mjrJ-]xTM'tv7`8u!9(k0  - DCBdor"$c?&qZrjۧD22tX)X'>2 b)á?8kFA(F9I14ة,tNJsٕBwC? u5Iɘ2yaӛOgUiA:7)ۀC!;tZpޛIrs%<$Tst^d@Eѿ6rmcyuƣ|~Ź}Sm^P@pNq F Smlrw^o!?ϋN:>j]r[ i3C8NTof᫳b͚О_|n㊚Y|w z'Z6@e5MdĬGGW ~7ާoe۾Xm 7R'1n(..<3A=GwCւU_jXɌLYOMI&QfQA4hVZr? ϡP1&A[tck+Ƶ"-W$_O)[kELHWydI)TB#K77Ea%gQ|5`/4|WGU_D\FJR8&co&KQsSȳ*l] 2BnrntaxLx집zx>2>6/rFej=U{௷43&U/ S_85OT^9n?, >vSqj[MaJp}yX97D&[y蠋I3V dBDhӕş>RdghMM u_G~F?.f̵R0MUp7*Cn.g?BΧq30jҺl9:2W.%Ӗ|łk:?Mk$Mއ9rƣ9oҷ7rL.ZqD$b {)k.xB*{fUNCϗ\`:?EfO5[R{4.GnQKć!=se $| 9eUUYu{tiMiF9̯Oxȵ1qYи҄#;*JS$ =dt}QuJbB@˜Qe1WFv'xOXvҔ5oZԖ-c[J?okkmkb͡(d;5Ҥk:9M /ݙz}*lY;_7aX?7% 8@}tA6;'V&\K/{wg䘨F..ǚ.oít˾Mu]n$s\?WWS>T^HJ-:_Fz)BNkBh5׀:.,=QZ'm3pI-C! Ob,L9m, uk (",'q]}:hm`=3-X ss!6ܕy k N_ٳkY6t+tOΣ3 {@w"!Huq46 X ^F@91FI 0#41J'("巪Č%0(9{V 97ҍgb\nEEoHMl5 R,1,F=7 "tb#8'n_vٹ;OFl(7OKUel+KvbCuؖ/=sZ94@i#H ;+n!ľmB Z:Yrkf&e0=`x6o~,\+PuKa=s_U%|@X0ipE :y׀ o7KW w/FNz}* F*O 5s6S/G4oUŽ3m1%ݾ%62H"A uk^HVPsԈ** U=ːynsO13wmel{w5!TT0OمDaL{kB` l zh\a nBQ}kksDQӌB'XkytCQOpc9 kewq͗Y d%'@f8g]Q‚iMsjNѲ™TѦ/Hvk>{5_%L;Ôn[gJu;;;byeՒU Rxكfo'ugqLzBxpN4l*O )䊆㚡͚!5m`h*RM 3_֙L |eJCE=#{?3YY3(M;U_3Ȕ6KĴm ܡrKDA*菮T $'"@=oo9*sl &k$ zGи+B*o~KIp߼񼞨}o߇_fV]z[E.k_#s tlfe8@"F}6 8B\SlUP/(v h4(WVcH GBahWwW7QȯxR@:-=:G } t(HnJ) n7LTA"F7gA"epaWf&Y8^*&R 19 Wħ~#gphIaI /C*T d&7^&xP&3B?0HiRu@H@ģR.C.Eeu.'+Ram7QfuQj;EpxowWpS.}AD_cuyWχf,Nxںn* "y(}8EADZ{f fq3ʓxEeMѻ$R`*՚F;ޤc؃^"stMY4ȃ)osWL4&K}ivZҶuLNotO$_9 $+{Ȕ34e+E_?ID/ur'CC$fqnh\o l?y<:2 2s=VՅ$k° [k )0z"ȌhDƈ =$TmTj$CC$+X0&8Z? gU+])z1`x K^hƍ,*r*j^^j VjceO|8Bgvn>:ڑ3u.ڃ Y 2?ČITv=1XBT[%9- GBfx=J{֛21$R#͝b\T۱im>_wpIF;`z"P}ZBSK_~UEEjǞ CDҹg@\KzzQyCk(憵70PEYe~1?Ysȏ9\pJH&ILJ*1ŤvnDJxd#jVY<nՕ'X0ߤXb-h-0B7vz2LlyYĮh<]]LV6:+'BRH\j}.Gf'P+VfC*nE8:ȑS&rV^L/fגh7$zx ]H)2W7;[] $ Ib2%)l^DU^ UT H&lX4WrmՂ*3qq1aǕAy;LYAL),d:GyT!{-~y=>m1ռ*wwX{+ җy* 27==<k""6vpTEju ˰ 0S8CBcf8q.pGzJ"Xpg=f.P_Uqt5:czvz8M{Mpj~2L\JJԃS;]53aʦЎ7Aow])k 5 " k.:blE*zm_% Ucm?o苊!eVW_`(~&R 5:G+~>1΀MI ;%C.AN-, ϷM 0bd0 ֔P @>PM ;+q8򗭋884 a &Yڨ ӏS'7:zn]Cի9iNG "G!K}Y\S qn΢rrʏʏ$p5uf351$R TEqCj04 B%Iə2Dǿ?ȈIU=d '* E3oIXJ\j4T}TmWtclkbE,PuZ>T,¼ ~ o?Kġ 7jÏ.}DAw=YNVy(P\EfWTGJwf/%=7\֥IR$ϴU$YCA|ke3.F"!5h=:>8 Y0pHwګY!|`*_F47u/?>' g #`PiOe @ m#=<~D(G 5hY>,iԺw]lÿFEIsaa8$,P] +W:jKaȯCZ^di*]ªr.xN) K BI<xJP]:L~k`UFG%=$T 1Gg/{x;Eke݄AU|ʛ.n ̩yX" z9܂/WX -jЛϘ# DH}0npp$W37~ߊ7<ђ58C¬__1qq;{?hs phD DR4J&)*3>ȹdL.+L}`x0 oH?7P88f>B 0r$qFV!lS" 7Ő=W? k!E^ 2Or_G QuM׋oW@%_swa 񂱃^eB(acւ㪐WAƘRo'rhx>݊Ke`o g ='>$?sV@ʽvLRtP_'yc']9Y:!3nA`* Ko&Uٶ.m p-GLpɬs?)3ZX຅LUs5@_oN U&Od+1[3y"ڵH$J)  ?Qm$03Y:tCB ]DTqkq֓\ hKM H8AM59Q%yݮ|iP} 2*4;YWi6%l9,P`5KoaCbu5(WX6Ic UxGCd}#6@}=\c COjh6:<#)C#^>H+ƠPd@'UNoR* h$=Hmft{#~/l_v!"H}cl7dX+ ;}^H"Ŏ.D6 4[6-ң&Z`U52/ipAhqU6 PU=ġZ =NN>qYOGAJeX;7*q5W!cEE^w2;4sjA.ks˫X]R9^W)ZI7Ul-8V" %nX+UR{%Mk kM\=f; ByxXDϴ[1\@ɲeFʜ 2y9Lqi .MuuIu}~v_kRO" A AP"$601VY4Mk ?Wù'y`!PNYT}0W+v&Ob7/}SA"%q^v'` QMRcB+-Lw^#(Xz20-AZQߌ٧` _+=SF#|wϠ}i5*#v\Ǖhv8'"6Ba5DA)xfKoA_xLF*k7A @)(5 @q4xd0KIJbY?˥<,JP7KtXi9 `*'ȓG܋ī 7XFga w2!&c`\qoW>y|+VHY$'JCxn&@2<jŋ1gDKb7dShe'/k'GQH-aR"3BBݗӣ`RO}Bˊsyp` ,M-R3``">8V/f 4P:.FCHF&0];$RSfƩR:-.=TVE %&9 3uQA_jۤT}?@_gm:OQ3Ź*=gFo%&pMMW>~B-_ F%~@]&oGdPC}g֞~G׏>Tccd W 8<3J.O/#f?R {[_LfoĮ&l;lաJ}/%¯Ι'b-[/NZƒo `"B`ȇ]]T)A]QurQfyp/s:87:`qɕ1Hԫ9FHfi*>1Ezb E_hՔeTv[j VB1| j;*jaNtųn\MT(̿Wh)z¶w(ʂ7k:$lxsD+%z]j`'Խ|A ,JrN$C<- πL#[UwVQ;H_o7i|T4# Oa$Tq^tA[*%W< 6F׈u>r ANAf;?bWV rqz=8IkI;=G6KWuP86Qp`I}oJ*D{?7պ$-@A_-m^fWJ?UtPr!/mkD1'vPB&ow.{#>@&4JAc% +rqCG[( &ѿ=W07hd2/k%|DF= Zq8Am۾1}1J>D.uto}e-Bmj a)~7U0 ,O~w Q,ní 3❬+u`ΤiP WIE[HMRT xJ 0PWð8Z",HDnzz*RFRǢftb(0F )mmOFM ' َb*}9.ͅCxhf V2I K3д!`]H6 SF]/gA-k]_V1[R0LIǚnwVҰш3$)NLxfI>*Ǔ^\eڦyEԦ!pT栄5RE~T՛WoԸ1{FknƎ40H\^hY}7LEtےfCDEGnj@90)%2ά%1G 7A; s@`uF~vj"@bxIm]ݎ f)9-G3(6kq Y:C~I%bS_@Ri9;#CuO z{\F,G=%:' n@։t[^\eu/xA?+KKIH9PWMݺdX0_ BX,e4Zw(CcF!2PT~{4͂rRky[k(͕ ^&36dfC '(3U4;@)}}uhl-k'NKgf0}PU>Pퟓ*%JSR*8,a&O(?g"JF)f,FZL)ՓR݇)` Xdï;!Nמ|S#~g }T(" Vi9dQSNaj&pJ6.,LJ mBPRl@#8`lwzDm`3Ú zIw_ ԵB-oU}C-@brYsf4wpm '#$Ae*w%&>!#ͻM5^.!njUdz8Ť[PU6y~Je 'PA϶M=g8yLjϩYJdDz4;(0-cI%l2!fKce.2%2&FZ/C,RY̭a$ܟY{r YZ