python3-pycrypto-2.6.1-3.2.1<>,-Ta p9|e~=cv(8 u>ASOq/(;W$,SC+PV xdq2{?Q̗Σ @ݓ;j֘<%Ɠ!uz˫f&Pw#FW +l!jxKI\JÞ}-fMf|&Ojȵ#0n{X{G۹ ]~i/?Hf SR0;pGDǞpՖ.IZ$gguOWRg;>>p?`d  @8<HLe       wM x   3 (a8h 9 :W FGHhIX¤Y¬\]X^+bckdefluvw x$yz\Cpython3-pycrypto2.6.13.2.1Cryptographic modules for PythonThe package contains: * Hash functions: MD2, MD4, RIPEMD, SHA256. * Block encryption algorithms: AES, ARC2, Blowfish, CAST, DES, Triple-DES, IDEA, RC5. * Stream encryption algorithms: ARC4, simple XOR. * Public-key algorithms: RSA, DSA, ElGamal, qNEW. * Protocols: All-or-nothing transforms, chaffing/winnowing. * Miscellaneous: RFC1751 module for converting 128-key keys into a set of English words, primality testing. * Some demo programs (currently all quite old and outdated).a s390zp34*2SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttp://www.pycrypto.org/linuxs390xz4k3 $y# l+ | ; p ``++ [ [== // NN14 /  # $ % "-=H](]]]] 6666666666 ^ ^.((%\\AAuu5y3t T00--[5[5 bb@   ::VV   3**## s a.V.V *o*o,`,`+\+\  66C,8iS :< Ce ((JJ\\((  A A A ~  N "00 PP  2OO#s#s669J9J&!?@:;!II@@DDkk! s".. 4 4(:T:T$PU++'2> T  ^/!'F'Fqq$R\~\~ -F-F77  L1tD )`## |amAA큤큤A큤A큤큤A큤A큤A큤A큤A큤큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤a a R\dBY i@Y i@Y i@Y i@R\dBR\dBY i@Y i@Y i@a a a a a a a a O/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 R\dBa Y i@R\dBR\dBR\dBR\dBR\dBR\dBR\dBR\dBR\dBa a a a a a a R\dBa a a a a a a a a a a a a a a a a a a a a a a a a R\dBa Y i@Y i@Y i@O/a a a a a a a a a a Y i@R\dBY i@Y i@Y i@R\dBa a a a a a a a a a a a a a a a a a Y i@Y i@a a Y i@Y i@O/O/a a a a a a a a a a O/a a a a a a a a a Y i@Y i@Y i@Y i@O/a a a a a a a Y i@a a O/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 Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@a R\dBa a a a a a a a a a a a a a a a a a a a a a a a a Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@Y i@a O/a a a a a a a a a a a O/Y i@O/O/a R\dBa a a a a a a a a a a O/Y i@Y i@Y i@a a O/a a a a a a a a a Y i@O/O/a O/a a a a a a a a a a a a a O/O/O/O/O/R\dBa a a a a a a a a Y i@Y i@O/a Y i@a a a a a a a Y i@Y i@a R\dBa a a a a a a a a a a Y i@Y i@Y i@O/Y i@a a a a a O/a Y i@R\dBO/a a a a a a a a Y i@Y i@R\dBa a a a a a a a a a a a a a a a a a a a Y i@Y i@Y i@Y i@O/a O/R\dBa a a a a R\dBa a O/R\dBR\dBR\dBcdd41742f583dfb48c87a3f3ef522bfe79b3bfb719ed142309de93a76804d1f6de544c03cb56d230446f25c2f9fff8c7cf0c933b9d82644f665cc6a59f34df631cb972c78d40a3b9cbc0767967ebea8813ea074b9d2bd11c9b206704005858fec46573aaaa1e0de81de8a17251a96b4d9f358d90d46c9b44dbecdff2789d3b691bd07da473c3e40ff67fff2569e314f47b58116bba88faf33fc914da9343afc106d0ff91a680b477787aa6140f5475d93279b4b4a5830c3a92026992230e70344715b0de671867a6245581868df7d01d95aaa8e413bffe37b3eef74b2624a3fc0840dbcc1ecd1bd2c9e5c50f49691595421a207b478a2b468a9d73d950c85c8341e7d47b040574c7aacb3c8db4f256b1b9b5da489d42ea22c0c26dd892066197fedaa707e7d53d278be144db0f9f103450a292f5c008023fc8d632519d2f783bf4aee9c5004acd911b9256f3a6b4d81dfc862449457500e6a9fb160eb2e8e4d57b65eca06fb3bce0b476ed53826b0976dfeeed614e53f33b846eadfa81e2f4cd8107f6c9fe2960e428d3998da7cbc5f9a39026129ad79834bf2d8fe82c8a0eb28e08abdc0f4a400686a6cd9d805714b10529adb41dc9929ace91b09253b53d6062d97b0299f5341eedd5b30ca80247cc591d9008eabe3730fb5b026956c3ea13de06be2cb0de29cdcf3a3313c94d84fc247bf9ce8733c55ce78ca40182f935e016d686494af9290f7d72e6ec34ba1852eb980b5bf736ed276447d93290671b084272bb488f6ea72bb9e25f4e06f70abb0bd4debd06afba2b73a541b14a16075f5e58ea453ec3d24c891299ed74c41b03c9faf205b02d079dc737354fc5728185f487c3c7aad84c6c143bdef3316214ba43b76cdf30cfbb00d516ae61a2119aa02537a0599205761f0916777822591865a40590412be4fa61a85ec1cc636cfa334585836a0a0f5902ee0a750e49d9c0d5dcacca76787640e9d3315fec8ed09fa2dd931e756cf9ab34ec168491b21313714bc86c91854cc305b8356a1fccc55cac9f42b507e24bce7ffc2257e04245f2a79ff0cc0de7624b79092cce100b1fef0ebcb299565436f74c3f5106eb73795833f5a1bc334bd6df6345bdc155e8180adc57aa9c075ab51998dab23003a99028ba0ba683d3fa60571df0b7bdd431e380594118ca8ddad2c969a8c88528c590d90c2ce5eefbf3f14bb20e8af786faa3ce24c277a0e01668ef70b0e53ca0ba3ae75b3b9463f510bfdbac672229cdce5343fd7d2d2adae98b633dc3a18eedfccc402791499d6e618ae3866d4d0c69c39e0a936c2a351b9910843ce2785cb3d3f7a827b3ad0ddf2018d5be8f13b7569244001f13ddcdfd071d6de502f53661a26f19840189bb85268cd9c56e5dc2a039ebe53e81dd0ac2c6ea24a23939b0c44c7d0d20b6d8dcf4848e9d9ad425e94e8a7827e909ebbb14b83249adce3eb1558bfb3f4c618af74f47fa35e2865ee0417533447f8504cd00c4fe39465ee7c778eae1512ae87145a841b1e885a8ca47d0245d503d2f1491beec3c301b8ad8212a83e75c26de4baa5c8a1ad39b24fe86cd57d1ac3c44e03e699ad422de4ba30ff0c4cc16d177a4e0e815ae78fbc63afc4c4bbad0ae5ab32848c6cb5a17d6bb278047685c24000a36b4c3c68dc60e0c9f9ee5b6df900b5148381b9cd266e6b69d52de1e767c802da3ba29c0fd1979faef885bc85fbee641235580e970a932582f7617268c5b7217e0df19e55c4b0ce2e83e734e286cf94fc93fad22d2832c74ed3bb584121a603707c682dd5bfc7f031159458778f32e4b4b18c3b6f804b4361e4e0d809961f5adefcc4443930f8998054c1d397100de4a2b37ab46894d551d10a621a0b8c6f8f25a3640d485345ca3537404416947de4a2b37ab46894d551d10a621a0b8c6f8f25a3640d485345ca3537404416947893316a6784c870303d52ab20ddbb207d07eb9e2c02862e25bea03d95b7ec66bda5a6c870169e4e19eca66f70fece2ae08c33a0e9021d4ef5a72409a727cc64d01591ff830b94cf272b1ceaa5c135f4935a0cfe45520a3fc69d6ce519052f75ee0b34c6c95265de07b0e0db816bb73c99698a41847283dea06c173b043450101b699e8c80abb6037827c954c5dcd94eab9b8474a423232f3005da53049831b6e5469767a3fd71b73cf0727ddb8bf0a372da0fd6e39498ba4984e16c398d48728220bd350d0b58f563e2132b22a16d904b49a6461d215363f9d51144e15d5bdb81cd063fb92b95bda3a87044e1cab5a9fa4f344f33bda318d231104284174afcacd4bb23dbbc4339d7d97273dc86d7217d27f583f5069009ad70cdf0d63f070dc5bb419fa3632080d7fbcbd8878c43286d5dd0a7bae93d28d130126c23cc7a16fff9064d2bfb8f2126e34c7b3418b967a695b1863d6dafe0ea8755361498cbc28c74a90de3585718e6e7d73c273774092c10eb2ab0afc0301ddc98a8d09396988775a6243894ef8c1b204a15dd33eaec5657c01fc8453871931f7b5ae749ede38d7ac15f0e307899459356f45cdc8d8bc444a1e2e9bf863615ac8a7bff4b3b807dbb9378993b495b5b739dc95af9b12b73aead47f2fbcc54cf483300b46a0d1c913ec87f1fe140e1d179fb46ca1595be88edf423cc6e32b49b77028e94060591c58b6cd9d2ae69eccb9e72f03543028f23df71073b9124bd7b0b80d1fd015e7bd8d21a0d14820524b4cd690b5c47fdf2c69d40ff5ea5da542ac461a36501fa4e742d27fde823510bc99d609bc1aa8658bfd714f80900840962daab4f781e89cde5d1c3455dc0ad42d1ecbfe213329f2e457cc4aff0468de0e6b467319746f9e7b8e59679d0f9786a988c266413d5c90667bc51e22e7b8507671549d6766bf0eb563e563ed29dbaa46ec4bfc79a85d776c7f39c8006d2c6a6f15b2c420513b069e63e563ed29dbaa46ec4bfc79a85d776c7f39c8006d2c6a6f15b2c420513b069e9e4a2b29d0fd974a5851bcabf8a2c547076eb3bea71ccc18d237f16d0f80dbcd9e4a2b29d0fd974a5851bcabf8a2c547076eb3bea71ccc18d237f16d0f80dbcda4841ff453fad7b222b61bdc4feee807e893ced413d6b3badf06a1c5acb4c854a4841ff453fad7b222b61bdc4feee807e893ced413d6b3badf06a1c5acb4c85459c13137ba69d9e8e139397af0f0e46859b6210d457537a0414755efe6571dcc59c13137ba69d9e8e139397af0f0e46859b6210d457537a0414755efe6571dcc8212aea4237fc5e39e1770d4f2f2400563106afa6e47f328e8fb3e239ca1a10b8212aea4237fc5e39e1770d4f2f2400563106afa6e47f328e8fb3e239ca1a10b91ef7d5d97f7ee69a3f70bd8c5855910830470ce0218bacfd5af38bced4d7cd791ef7d5d97f7ee69a3f70bd8c5855910830470ce0218bacfd5af38bced4d7cd75bc56ad610a283d116978291513f76e77285fa75620178f9ff484c9edd9c5b5a5bc56ad610a283d116978291513f76e77285fa75620178f9ff484c9edd9c5b5ae75cfa50e62023edf8d2d656ea8dc2f5d80a08302366d8b8ab9c172d76e53586e75cfa50e62023edf8d2d656ea8dc2f5d80a08302366d8b8ab9c172d76e535860264cd8eecb61f1a2578e2def239130d5731a6121b67c4f1a259bb07811498780264cd8eecb61f1a2578e2def239130d5731a6121b67c4f1a259bb078114987813d6948f234806d5e52864e6fdcef1f775a7b3d036f649a3e5c7e895c573e7cf3e800c81c01a47db3cc0ccfc4ea3e12da97f02f2e91fee4c0fd28f6af3d4e3c5fd05f449b10f67b84e37159d35da23eaa1ec2f0f2e9f5d1c58685ed9970aad58ac961eaba114e791439379b40454abae3e9962637ee051b9b93557d0d16aa628b8d3a242c788030f8d5ca2308c0a26c00dd97632c7067cc44b4183dd787a86efb33053c9d620cb198f6c66c75effaeb61a79acee17034374ae0291185dc59af386451b9f64789ca8d094c132f42809e1ae2abeeab18cc0b3f6abaa1eb601b895f7c6d66e6c7572d0fae4e1f14cd871a97d9d139f132005e5e69d8f0a410f685a9c8b8d93ab52f579b81ec3a19103c8c86fd5302813d8cc06b198dadac8d7aed8452066c9262b13ca456ace185618d625fb6a8e585f95b1f27fb9483e6b45c1a19fe506900be3190b739771d0fb34ad89d0c57124f21334e86ae731b76e37c6f8906fc93c63bae90217187d7d1d11b391bdc14f73bdf9e0a3751d281fe13125e51aee6e008a815eb4b3a6a49dda1483cf7cf1e33a123a86b70a6a33c7a626e7c4c9b52612d834809f71d177b90ac98321eb273b75e39f7777afa6ec0bd51b62cc2b9f706e8d62c8013f82dbc4f429f15f820ff626852122ea5b9c3baabc3c8a45c883f06d84d29ec72889d229bc0022b76f87da127b8ea3e1386c04478e821dd7e91ea712d4d06d9d904320e9098a84e3aecff00ea94a36a99997ae5bdf657d728d7a71924a3c22bbc7fd87c618497789d555a5f4db965023929962cfadf922891d565f609ca5cda92f009f375b4571572c95a143fe78697967afd63399186a88e837b2576cf81f9c0284d23adb61724f43377330e03d7d2d52542b205ce298829be74c9e62aa930e2e39748d4f07fb6eb69affe7a85ae4437268cf58a41c39527453273b593d375ae28e4b71d8e14226fe71cddfe86157a955258d46fd1f92647531596de9c4a7df2f1259ab93dbee4f65fd22a2f78c71cab6ae29213a496535a502d65a9d924c882d4c21dbd0019b2713a6f0e89bd81163994d2bf9f0845c4fe2f4b11110dc5d41be4b1161f05403550717f2a4aa0cba0b36569a69bbed6da08b8d0bc4db0876f8703756e4ba127c2d8572a85c2e690cd3486fe41ce3c89b47566637f29f0f1a64cb78cf1e9fc2e61a042f54b3b73587389a27b87141b1576a35feb1821217a8c04c6d82d033088c6ce4cd1f1c884ce10ca92f27531f0c5b1e3be8c803769cebbc9ca06d23ff0c3c011e9cad18159399ca033351cbef2ff2e6e0c26b837ba13bcdb5356c7d775a0d3cb9ec1b235c7f2c3ded277aa980049378ec368075f01ce94227e630124f1ac0116b0a262455056acd68384e39cbd8a67b772a8f228dea8f7e1b27a7a7ebc60f1bcd8a11eef1eacd602c13a8f5444898f2d6df24b1a3618508b394e1d61d1f083898c117b05a450c76481f8283c466b82fe41928bb9fbf5f85f79c83db9c57ca8206550978a3c98a019b5d8a332b770f05186119bc31b58a83e11e06b810860698a31b76fa404228f72a006a4087c632f67374b8db9e091ab8d623aba4a231ed19661ea302dccfa0c0ac4abed69a65d0e03a1d1e229fc1d8f53d59d1428b7d24923386c0e67773e2e72ba7bacfdc69a56a7f4837e59fe6f847dc3fc4f1a916edaa99b6e46e53bd955f58943f10a6fd7a27c134062a41cdaf9ed51d385ca39febd60bc6fbe2f91c3418bf947f81c872fe98d99c2f613e397a92a1329ac2bb5519b9c8762ead4035e5ad68f7ced8c35c601b6d94e2d0c11588389e25f86c1272916adb7ceb267b57e313a16def8830d3ddceb300a6413939a078ce0e894da0eefcce73b5be56f4e382e04f611cbca5845d6e2c9f4da66a2af6e3f208b8c4030d1c71e8ada33a8a2cf1ec2077c7b2319ce0b019f68c012a2a1d37823d6f653c9d9cb887b8cf6e391fd5ebca434c4be06f149504d2d40c6d1048daa50699a8ac3f10bf9f372d38a7b80829022d8781386c69a8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d12144c51d72f039a15c46b6c0a888b90a4b0b3e564efe34b96335abf2f8db5b8740ffd1e6ee8d47e7de4f5c00695a5439600afc6f9af64aa19e5ae7eba32d8f074e68ffe12a31a64faeeae60bd296da4b60ef68cd58a4b957fa0f252ac04aaef57ac22c25084e8897b9bcbda561ba73f043b7baaa322986d8859b76a1cca43db803976f0e143f1fedbb896fb3c4b56a93cb72da43ac6c7f5a6b66b084ecbab4f6bd0a0cd9ae6d111e3d139bc4758245b324270f80235e64b7d53f63cb88952b79e5e02a6880012ae3fe580459beb122f1558b5f3f7ea808c124d062899fcd3c79e5e02a6880012ae3fe580459beb122f1558b5f3f7ea808c124d062899fcd3ce90ffdbb34f7a64ec6fd693dec3f197bf26516f486da8c0fc49932776e313f91292e9a24131a032f23846bc804ae100823c0daf8cc3708973780cef6e47d4e1251d210350c44ccaae96c746e3617cfbc81c94741eb7f550c3632d33ff2a45b094b88cfc4772cad315181ee54ad5a37776bcc0ac83e5a96b1d3a609316184dfc3c6f368dd2ba5e614d2eddea28e7795c2f1d6733aa0a06cc67c0f4877712f04b607c7f7b1d9ea50e0f1214caf7db8a2ccd5db7fb411858397aaab599614a345f921e5a8a90762bd5183bea88cec6d8d8f99eb619550551c5b641597f3c266ce47e4652430d5997019dd6580cf43aa2eb8b963c1fb7878839b4c49a399da96e4fd07b2e60157ecb27494c3510a4258d77a4315fdf385f578e87cd9afd8d8058db5307f7da583d14e6c3b9bc2a8acadb1792c0eef1ae42c5a2befa44c36163929087933936495fd66b09573d5b3e59c3f43bc9a09ee2221e6aaeced8fee32efe6931958cfe793f8551064ee83bf14a4e3006adcf373b636e62e3965651bd0b41264f8afa36e468f8e7eeb79773a8299449d81aae40f650e67f53620978a97602b6c2fa35b1f2101d9ea47ed646ccf733afcb17dcfbfde3a72630ce147e28a45ce4866a29095c7c12ca096351b37d168ba61dcbf082c95ace7fb92266c5c4365db314a2443bd791aa13268f1bca6a35b03b8ceb5ce6900969dff3f5e2e9127f3c91254ffa9c1b2d89d74d3ce49a3976bffb3711d718023cb9733a42792117fa79642beeb393fa6c7d720722ec2386e96dd40e9f34f9b3742f5d5459cdca34b2c1be64b431f33875c2f952f0b7a498aa0d029a1c471e34af6fb948efd6cedfe7d343b1956ca78befef1d2be78d5fcd63cfcde2d42fba66c359ec01da0554ae49376ad7aeaca13e884baa469defbb7f46a62bb1ebbcdf979089f0e1af9eb4ddf2759be402ae398425cf47bc04adff1d531711afb965c9d184cb2ac56c2d31be5771381355a1a77193d0ee023b4194a68a570dfd3c1f17868af6bc31df86b9d30175454605869209dc9f7739860201fc44239174faf074b9adc78c84a6fddf8980c7a40d58224b6d6427f99ef3bb14f5776365156317a3949277166d81f420250d2f77eaf65cd1d581bd550628c0bfb1d43cecbee074f67e851ce6f2e882ecdeda9c7bd056800e7c50dc58d5daaa1273f5afb404f3cb4936619c1725c4cda31d5d0bb8eedd0c8f3138213fb27e8192e5ab44693a39f53e4fa62481818e330abadfe54e56cdaf5acfeaff202c38ae6b06c338e54ccf9d261b1d0f22c9847e301dcec1096a42aed188665f1694b8e368d8c20afd19537f96167e1a398c633c09a1373a92b57dacc5fb84a8eb14e7689fd482939dbba97e365123686853c011f017093c785210908f7cf54b1a905d3994278efc16f82b02930811a17cba47f256a243673caa605bacda463eec3e22c29204d8d5211592ccd74fc1f3a4c57993bfd8eac1e6852d995d362e23cf9341efbb88b867922c499671668a5d91a9ebee7b387ee1774b1ee45fd49d09d38f56c1c67f7bdb0000556d45d0c17c07eb9655dfbec3609a5138805e6e719c877247861a2fdbacde4fc9b0b0b9b1d4f5c6285a9ddf706e04361090d93588396c8cc5c3aef8ae9bfce0d4b27a4fc6646c32ec8bbfe57c1bd2e274731d8be9db1d1c1889ef5070d65871495f68110ad36be20b4bd42a76507a42e5bd58a7006386e4f682af1594ece5a18dcbf3c3619f1f4df5885ef18e787db32475c920bf58aca88a0455e45aa565281413afd6e8cb43e269bda3cc2e7234efb9aaa8e94dac47af49da812c9dc3fc6081f75193593d959e2d44035b7a5db324b729157a53ca1dade0fe495606cc4fe0ce5eb130e539f092aa23e8efe93693857fa8ac573d23ce112060d3985e22ba3f55c5dc8e784de28bfae035401a3e9108dd196dd75e0ddae35096f9a181b0994f44dd02bbe037c346d19a84cfeca0cd2023b798baaf3f1bb1fa29123796a20a6b0b54c9f6e2e0ea0b2a98ae6e9838e4aad42f96ca9e760494bb241d90a3ee2d6623a6b6fdb3a72fbd1a0a678437f8598552d0c3e54d6ce4801da4010edc4ebace4cbbd90dcf2b4d43cad59f1b47373fe9ef25a6b38e857a90e7171c059f3636f7dba2246f9c198ad31a44fc167ad875550358c9cd1f119fa1a4958956dc3c65ecdcda26b16db3c4a02ddb1705c63230efa2a88790ea2f6747633f61a304dd012e005c61854a5e94d960dda0ac89fb6010cb4f783be4d17f79e6956ae791090da7e3f5f1258775eab068b91b12ec52335618eb1dcb25dac96c981acc4271687a0ec65cdf333742343f265096486680d1b706e28ffd7245ac26f8526625d4f48ea32c1a9dc5a1c14b657bdc9943b7d6e7e76d47f68e67096f520a69a852de9b3d00e9b7f252d898d3d9344abf9b430856d12ae9e0d4a9a7bc8eef289523799bd6ab22de17eaf6ea085982f9ebf786d8c73a0b11801279bb8e2b7aee633f75653858f2dd3b4a1d38ce88ae09f27d2be518db8382b266ce826a2177a2cf3243a8a5b6c342bc4464a9e8db44d9a4880795d243f06340145411772592f48f2cda8c3fe2e51ecae876ad3b97cb36e0aa9d26c792ff6c2ae0337b4f746e6f959218fafd74bd00ae4733981587dba903e07f190f505d2723123ef0555654e37e1437339a5fe5874723ababef360c483b6598f802acfbdd9582a47e2d9a4dff798263bf64480fedb50f8df26c52f806acc0fcbfb2e9ae63e7f22fc363f16f3414bbd91ae16b3a805c34e1c42a291b9b1ca0640ad2d0a5b7cac1326792a79a062499242e9751a5ffde6b0363e8965bfc2067e15a005edbd108032c12d2d1192d2b4e3c8635785c0abf0c00b858ce5dea1ac54b7f8f5b259d2c535b64646d321b116d349ebd6f25147b1efe74f3f2d88e8831e9fbd5545c8ceb0cff7a8706e8e98c3c69356efe0e2c0bcf3e8eef247f5b908fa84f5787e4a38a3f35e3d81800f9c90bf7db4e6a9dba0c17d59e8634f0fdef7493c46e93ea94026d2b05149d0ad7ed88062138b3330d5eb2e39d846993cdb788490d324b7ec460a616537ce9f09e6ace0b67d3829f1b7da1a222d30f948ae7d3aa1bcbe73213ec28c4243a776be2d907da5ddb20c74cc65c2b15c93b06794fbefccd8137cca3e425ebc521a73d109fdcfda8e1e2a5c83e0794f24183064efde49c633d948aac648524a4c6c2b82b6b5c1462d79535ba7a2598c8a956ac5f1c43f2928e2ef11ed61b7cd4f4bd0f289e2d1520f80964977afb07daf877482fcd6d8953a1263a3f249d842e7ca257adaee6e4f0a294bdfa12201a9d1fcc3559a36942c05325d047e80b317c9bc18fb13ed92d9a3d35f8ca82b743639e8d8daa2fba1683784c7a335eb3e0df3ee360884b05f8bc3987a79fde4a8e11eb4c5e200d4d6138d1b2a3139450846228e950d38e79aeb06194805bd005d39ba9fc09ebb1188aa02b90de232af153aa9a381bc931f9682617cb5ba30ce025352c18a200836a58a89a8588424549736b6eb7ba493e88975c864f89ca65f1f9a02ced85ce6a0d1acf5c705898a4f281a0ac58b032dd1feb38a323b63b045403ed3fe43492eb32cf63218b8c22154ece5ad1143e2223d2e7c696f48b97d0dbfa363421bbb34d0421056ef694dc41557055fcb7e0c7e18204970407144444adda42652ccb718c3b9d68b83d33e91413bc9fe1b3eda72fee0dbd6816d532a26fabab423ae50dbd6d8a962d5027edf8f9b55c423e8024156a5392d7a5895393c4427ac1bc5008e2e8084fbdd494d0187e843d415306d9d7098aeb2385231db092a76320e5b993c1c03710d00c6caf4a075febc5945eace2ed332bb56ec94072b5b88591eafb1f0444662084c6ddf3ea0bbe8e196e3939548f8b88ed4d5aeb4b1c6090cfc736a5d566d0fb840d6e4df2af9461528a7e59c246f9f84a4337d1ea8eee51841244d6637363ca86a38f61d772addd236708fb883bc478b1f039c637f662e08380f11303812382d9aa49bfe055bf553a49b557baae2ababb9e69ef46bfa131c2395f86017f9eff29096f0d6b9329822a562d3b5ec5a2733b2e113bf0fcc386266293f4049ab70a4079d137151dd238bf88685979e9454d2d41b42ffbc8a6cee3da155b61a52af33b2b5e673a868fda49d5f6365e632d80989946f72f9e0028bab387e8a6bf9cbd8779f48f2c6fec5fa0e2ea4a6d46bed7b4ef3af0c334d811f4502c64f4f6a5191ff812f51dd525605e71b2045a97f1dfd12622fc6c71aa6aae57135a1156558260a4877366af855e97a959b5a1b10ffe6c8ba630d13925e78f694566124fa5e9e88a296cda42c028bfee46dcdb07da19c69374891c52cdb16f5bed66ca8e1f8bb60b99bfa7da056d4d97f6b90c5967dbcf3df43d7420f549be2d145aed6b5466713a0bb4c3a0567a9130e82278c86677bc61360d37e664cb387e71a3f771e4722799f86f9e24f59835f68cf47cf7444df14cf2ed0fc9482c19a0e04ef084d6167fa447d7c866967e40128e43370175a9a9e858b99421a02a3c1be8f8ce323079105d8028c6053bcc1704bb6e93cff68241b884bae754ffc09f7a4e5b19f5e66f4cd9322357a0cf8562ac9531da665d81ba27f4ec8552660b5f5a5136c65d1383f5d2506bae04a2af15e4a47a691c108e7489bdfee4dc53da7a14e33060ad983014ef594da276544d4ea85fd1c632992e8fc67a8aa0ffedba67f37986b3e4fc3a70748022b2551a2a99e565968bbc66f74b6a301cd3c92593e27035e84469ed5920609dba60b6a87a3f0d296fd0d960317d9187f9ff20a88bd71c412c96254225aef2d1dccf572e4fecc4ec9aa4fab7d8f11ff7749433012b170c3394734a8546b382f000ed7762b04288f046f27d84303e294c7dc906f089539c446d6ae4705c39a927dfb819950a1aecf26b41c772ead0b437b18dfc3b85ce4a30d4db1b2777e077cd410230316cc20397bc284cd3c704f3168cabdcbe43456de78d91c06ffc790eff02b6629ac1341b19b70780f643ad529f270a40d870b4c9e6c551594b940ddecdb398906b61c4e4bd732f16c9eaadb3642850fe81b2058ca664f8b4340fa840d3d6fba91d6e0eef0b2150bfed4c074ee518e177e52b09d46245b32a9fffe61dffeb515f3973d2d38c7a2fee73e1aedd84eb72b21e2dda4d1241e1fd58fd618690815d0c94d13542b129dc542b823fa996893dc1adc25bcba29a5f66c289b9ff862d61a061a04186d7e9e135d7e35c66a996cbd04e2d9d50d522cbc7c9b5ca6cc2b8fe48cf4e7d97d2fad4fc73657ac65252b0eec69ff6773a6bfe5fae967b872fb7613aa13db32b27ed764828cb6f580ecfc0e7afb0a3d56bfb636fd6055d96c3d09f3177ad3f2b4f95e001293064b983136913ee372910c958b844299372826b506a21caaf26b537d8168e9a06b3e9962c9b199d6c3b747d6878ebfe3dea3b872e5fdb35562e5adbe01bcbd98b24a3face6129bec181b71f9b3c901952d1ac86e261e0115954064627b0b92ac3c30a3d1cd72c9ea2fa8232d80e7b935353cd23133702e15c4b4409d2ae8095fb192d79594ef6c5bc73fdbe9e574a7a5c398fc1a8f4a50775143f745ba3789b5dea5117b86c61782668fcb7dc5506ec3d9b2ed3321913e8e761157aa3670ce458e800cdae47bfcd25dc9bd7fcffd06bfbd59c95652aac2b0d7ecd9d9e2a8c0446c68d8fcf35fc539efa67e3de2a3e1237546973876934b0a45651c06c1a73b6df191194060ba1e6c5285ce1227579b34e3a8bad6a328b303f6028f7d3882040449ba050ea65fba1e8a83fab7c741623a944add75737039e00614b9855ab7bc2caed9b952d7e51949aa4970f7d781c54b726394e58a774e6399c10cb54b1728f49b04f949106e6845e2f4badd3973d622e051eac42d748685ba9ea5794672f84d24a745836fb30ed4e8d0278c6476e775320523477e83bfab00ac09a8c0f88cc1e8f8334bbefee3d3f3cf254df3f51722d311695c51c48ef4d3dc4cd088d4b7682617a662649b99a560176442de6195807b33842a35ce63f5544f74b70d576b9ccd0e1cf8d8a63a65fd40eb210c948411e51d187cb7e72e4eb04740bded68b5ab31f9dd4fe949c023d01c58cde9b2534721044236d0f84074dc6a38a6b49d817ad83b641a20c2eeb721654a36e0f02d736e968bcdc9400e234b58136418064e0e8e84b6da57435b5af8aee9de4f4d403da82e58508c0993792445640615a328e8e2620e6497d60ad2b7f45bc9664399d71cfacfde8ff5186525280bfd17b994b85876ac64fa29845204fad772679f7bf4a6c2a02baebcff2031f1ee337d7bea9ff495a4603da1348df5ca25f1cb3aa158fe3a835cf7d06538fc1ad460ee734750c35f0beb45e48aad8b3a21f1a3d5763923aa3e19f3bdb1aa334744840983baeebd89980616c0e0fe580e5c84f014a6a445af7d7088578a6ca1f0b684e4d0abe35d52f78ef9885c42d5804cddf64468934b8ac230340cd8e643863c977cb503095e45901cd956da415f3e661139841ab916c10ef7b35d597852304eb8fd6bad4a8a79553cddb0c2412f71b01b02e959c66a20d6f6696b5c96cb89c8b112f2b6dfda344bb79f2aca5367faab5914242734fcb080d8f495b4b92f3019f9a755861e6ca477b3307bda3b1df88293d0d8485d975ba517b299e13c6ad6d678e8aa98bbb733ae8ad3b67259a5219d37cc4f5608e644f3a42064ce00702fc73295eecaebf03b0da89611388befbc74a0e35d1039fd5faa9c4bf84afbbde2f10051ed81ea95565a6eeda19b285dd676dd316b27e76014e5fe764b1420d5d00f8dc38f6341a5b658391e926442a1ca2c9f73946dc92a56f3887913ebc4e94040e79b41aa4f66deadf48c15d0cd7b30184fd13c49dee55ada5ad8e9d8bb8a379658cf70e065fe5c47a946e498dbc6a8af3573d57e0adbf5df454c10e358598fcc7275b79beaefdb51b17b6ca801244eb634cc3fe113835cd4e50f8e12c2707b232f898649b60d0e31fcf408784e0e6e249a67c5a0356c11138f9027ae5348530dd11b9752b6d4c7ffca4f5a828045848a65ba4693061c791f785d9eefe22fce3ff8e6cc9d35f2fda419dc9509771d5687efe6fe78c1d4d08311658d12dc783d13c6a7a8e87a9bc705840f42c2768f88e8c6e8cc48df2f5654a69d1e05ba09bd7bbe965f70a8d350b2a199c8c96d174f53f194f3c2b7723dfb8f72a56ebc97d03695202a7a53846b07adf50f237e9f5f794d5b90440ec50f2efed93506e9b9460f3470ecfbceaad710fd662bf68c0b120a4a241a3d69017d008b8ffef5a7dec926540f5dc617e060e2ed31e56f74c3c00dc3057d39f62e6a05303c10943643b0c6cb3a287170ceb8f8a4b2448cd712a4a049c066ca79d0e9a72de8fd09a046f5fab5cbc4a7b25ee979c405c54efe93a2f865ef81998df39c14c1f23e53881a3ebb224a0f16e9f4507a6773fd64a0a85fb907f0fa6c619f8e1c4b38d45c8035ec0639b5e3b6799dd905dda4f7f0fc20f741716bb3ed84bc946484e2c48e0daf3f86df23d7b012a7fbce97428b9e670f369cd7ea5ef3f9b557f0184a0b1bf9be8fedefe05ca0e854e6198053160a9b72b53946a17c985a899f0ea6a914cd43285fc9aa42bb3771512919b89f5847a2ddf5166a5d358a3d807b7cff1d7a5d9e8a2083285a50148ec33f87256de14b94a839db12a0081d4472432b5aa5c9b3fe067bae1999286212a8b11415070a46c04528a4acec552bd871dafdbf8c69be0275744800b741f1c586a852ea8082d901449c12d7e25958ae19bfe0215c91b2fc3af08d61083207c44bb9e4fac834fa393a920f9df2390b5ce01e4dd09643f869d184aae839daeabb2b633f9526904a05c106f4bcea29ebfebfd669229c4f17221e7b8554b1a70443880752378d7edc57dfe00903c17c8bd20c85b572730b4a3f978b4b3486e7ded8de2bc7528d75967614a11acb3ea1ad34c6bfe441f987f3141630a212d9b5b4c775589d1d36df98a2ef8cb5343f4b8ae22dad02cedefdd412e6cf56f16b1c6371d594cc98af33d96387697bfdce3fa55c85e9fcae7d88ce3b6a388b1e774c411d8d774886b6b97b2ea87884230b32fef1f693a7d42c747ac9647de50c6fe1da0dfb402b5ce708668bbaaa4080ddfd723ff5ab407da982992fd91226db86331f7c551b673e89f4335bcf6f51b4d268f171dbc45cfa67ec5033bf78e1c752a28a85f042f0c42bac1f9643ae8288ed33149635632cbf80737669a9e1a0aa7da25f40d655d0cf55458f74c87b1a43ba07e5f109143f5d47867dc7d2a500edabdc155625e8982e622a5e7cf1d83afb035479a4676b5969624601fc4552086a0e81a46d1b4988c7e182ffd1acd2ac4891b7eaa0993ea91ca8808b489c84dbcdb01fb4127d328b356526ca8ce51244d7c93ffe1f55290537ade827f23a1fb7cc80404bc5be3b55b87692333fa5efc5d0bd204c6386781ef04f6408db93fd6b422ab9c921c23d9438e8e16b5c5a3c12c09265258ae34233534a33884ed8c99241b23c2936a0b25a2c929d0e1c95655043934da60f8ac423dc69d47d9bdd3b03cdb800b3678f57e4e65ac04fa5e821d000baa4778f8ad3a6678d73674bc7d576609cbd02300e6c2818746c16aa36b76ae9246afb4ec09ea6d8b4a57523f5cf103caba8aedaaea07a8ad4bd2f4dc7b30a39f386ff8a595cdff102fb4637d6ea0ab3925c3123309c2a1ea2d3217f0d002c65ff8d7e8e3334aa2d6e3a59b0d3a537d830fdb56198645f40de803b3c97f15956f1e1df0cc6b1b7a0d4cb96e0529ea0b8d208eab99125183138565ae9577f7e821f891b00f3c5e33175517c78eae378dcaee345a8c964553c229af1606e2e6a5a068444b4772f79d236cc317dc199eddad194325fb9418c2c1ddb296535ec0a8b767b0b2fca5ddf3f076336b4746e440262b64839482994554cce3bc5209acaac7f74035d9bae66af2f8ef953296fb9d0c0bd08bc7a5af2c283045d9547cc922e03c405497d2a43c76f758820558b781d867a733628f2d2789f598e81b71c18c045b3686589c75c8a61de924d078284e84f2e125defcf427b7491c4e4333252a64294ffd6471c52cc489ce887c08140fc86b3889c78d8eace8cdcd827053fda774fe4ea341404590cd9dbdabbfdb38a5860c826f691cee248e039165152bd40bcb2981dc20ff4c2379dea74e9de39845977e660fa540928ec3c3a1ae969a2525bd25e1490bccca66f628a5027a2194d395170a30c5709b916294485b6271bcf1425cdd0460ef947281fbe40ecef625eb764b68cdef3c2d9163925531ec49527a45506fa78ba0b40cac67f02d33e54f4ee88619db301a1a71a7a03e325cd4219879f0f25f89ff9fa8b6f583a5a3e51cb8bf536410c1424a065034c8dbbcb6fc932ed66f0071d69e06fe2ca4ed356ceff66f8d6c1ce0eb095a7a9d5c1375bf098d7216e67a7894baf2f6586eb09a297783caced426836594d797fdd83b2c30ca3848715be5ffd70273c0853850564811e73f24027f39f2bc7cb1310c63b38f1ec670cb6dbd14e7eafe06b20a1c39b553c84b496e5219b04232fd38b9a235a567ca81b9231b6cef0380b3963b62cab7a0fbc02d531b29666b6136e2bd41d75b8c0874aaafce5acba149d42201539a08bb88d5963f615d4093c3c9b1286e6641d480655334f003b24c637726abf78b81839c532da93d0888c5802f8b0cd9556cae25eae4a012895e805614b2cb73b183ba9f6c87e17e09c6868c0790ca0232f26ffe1823805648887586d5dce63389605a118c1ea8d1764d88554160ac9a9214f19de058c688018b319a53d3aa2a53f07437fb80d6b7b39cd69fd22579b94fb0b7f6b7d969d08dddf5f26012ca64fa5e11921f75df135ecd22b57bed57d39f324b2939cc4eba1e6f1fc8015b040f52528189556c1fa7e08ac4797ea2e083366689e1fa8fabc611e74831c05355fe856058dca41f25a58318afa72a0703412c09c79ccbe22c3653a877359449a47990dad20026fab9621976658635e13e2037b83a73ccd4973a76e00f4b4eb97fc0df0765b52fa67a01bb28352b1a0021875d9acf840d465c93912d2c65c7a5d9863592da72777e4b7630acdaa9385478ad7d007517e98f66c5b026601223462b27052f51e0bdba981bac0f7b36dcda232f8a9761388f90a3858aa100cc9584f04cb79f04400c5f5dfd8233fdb8376fc9a9a5a020b491cda868d4188d9e83b4f55cc68d0e8df8d2902af41b8ef47a7fd6661fe5c5a091f156f7b6c643ff318cdc53da15c302408c243f000626a8fb1366b59ff86da3e5388791d0adb7be6b84758ce3afb0d79be421ea34f52110a6be41ad0ecf0872bb88b071b0c51f2a4904e0fda3dfe915079423592505d0e4b64296fc9d356685a840da1be1441dd4f1ec7d54eefefbecd7f1abab31b9d9537d6868b2c8cd43c99891932891d5b221a44f6e20e74d9965e68f34880ab4ca115a0fd173b16ac6938b89b669f0792062fca8d6c5d7c2c85791c7f69b57ec2bde8f3d4ac1fb73d7c4c31d282e08e200f953e869fbc4b413d77f962209ddba37c899a6a089222ef9761ec35b10f0d8d7d04f85a25bb9b605c585349ad57604d36e471d2369133a0091f8d9ab58d0a9a6fd29b43da357dfba7223635f463b7324938aece56d5646114bdb23ea5cd08af6fd29b43da357dfba7223635f463b7324938aece56d5646114bdb23ea5cd08af51cd830064aceab64632cb1dd923642f3a45fa1d02c301f6f3c025bf74b309e39bb8f4795888d73238d9c7fda43b34242acfc6ab953fb9c2d4a6692c4ee82b3e39bfcb294e0e83a6248992a0b3054a90e12331711f6818e8d0a2bad3a8d3928415925a98d05c6d086c30943e4eacdbd361bcf76daa109b6e6dfc9d0c4ad9ed6498f3f5e5ab296798a36e08a5ea2c9703dd8576eaa07f5709386e06b249f0d55611e7990a1d0bbd37761693934fa966f5bc10747b80dcfb9d0dee891ae6c7f94erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-pycrypto-2.6.1-3.2.1.src.rpmpython3-pycryptopython3-pycrypto(s390-64)@@@@@@@     libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgmp.so.10()(64bit)libpthread.so.0()(64bit)libpython3.6m.so.1.0()(64bit)python(abi)rpmlib(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.1Y i@Y#@XlSW@RQbQw@PDO"O]@toddrme2178@gmail.comtoddrme2178@gmail.comvuntz@suse.comrschweikert@suse.comp.drouand@gmail.comdmueller@suse.comhighwaystar.ru@gmail.comjengelh@inai.dehighwaystar.ru@gmail.comsaschpe@gmx.de- There was never a python3-crypto so don't provide it.- Implement single-spec version. - Use Pypi source URL.- Add CVE-2013-7459.patch: python-pycrypto: Heap buffer overflow in ALGnew (bsc#1017420).- Include in SLE 12 (FATE #315990)- Update to version 2.6.1 * [CVE-2013-1445] Fix PRNG not correctly reseeded in some situations. In previous versions of PyCrypto, the Crypto.Random PRNG exhibits a race condition that may cause forked processes to generate identical sequences of 'random' numbers. This is a fairly obscure bug that will (hopefully) not affect many applications, but the failure scenario is pretty bad. Here is some sample code that illustrates the problem: from binascii import hexlify import multiprocessing, pprint, time import Crypto.Random def task_main(arg): a = Crypto.Random.get_random_bytes(8) time.sleep(0.1) b = Crypto.Random.get_random_bytes(8) rdy, ack = arg rdy.set() ack.wait() return "%s,%s" % (hexlify(a).decode(), hexlify(b).decode()) n_procs = 4 manager = multiprocessing.Manager() rdys = [manager.Event() for i in range(n_procs)] acks = [manager.Event() for i in range(n_procs)] Crypto.Random.get_random_bytes(1) pool = multiprocessing.Pool(processes=n_procs, initializer=Crypto.Random.atfork) res_async = pool.map_async(task_main, zip(rdys, acks)) pool.close() [rdy.wait() for rdy in rdys] [ack.set() for ack in acks] res = res_async.get() pprint.pprint(sorted(res)) pool.join() The output should be random, but it looked like this: ['c607803ae01aa8c0,2e4de6457a304b34', 'c607803ae01aa8c0,af80d08942b4c987', 'c607803ae01aa8c0,b0e4c0853de927c4', 'c607803ae01aa8c0,f0362585b3fceba4'] This release fixes the problem by resetting the rate-limiter when Crypto.Random.atfork() is invoked. It also adds some tests and a few related comments. - Add "-fno-strict-aliasing" to CFLAGS- add ignore-fastmath-warning.diff for SLE11 and older- update to 2.6 * [CVE-2012-2417] Fix LP#985164: insecure ElGamal key generation. (thanks: Legrandin) In the ElGamal schemes (for both encryption and signatures), g is supposed to be the generator of the entire Z^*_p group. However, in PyCrypto 2.5 and earlier, g is more simply the generator of a random sub-group of Z^*_p. The result is that the signature space (when the key is used for signing) or the public key space (when the key is used for encryption) may be greatly reduced from its expected size of log(p) bits, possibly down to 1 bit (the worst case if the order of g is 2). While it has not been confirmed, it has also been suggested that an attacker might be able to use this fact to determine the private key. Anyone using ElGamal keys should generate new keys as soon as practical. Any additional information about this bug will be tracked at https://bugs.launchpad.net/pycrypto/+bug/985164 * Huge documentation cleanup (thanks: Legrandin). * Added more tests, including test vectors from NIST 800-38A (thanks: Legrandin) * Remove broken MODE_PGP, which never actually worked properly. A new mode, MODE_OPENPGP, has been added for people wishing to write OpenPGP implementations. Note that this does not implement the full OpenPGP specification, only the "OpenPGP CFB mode" part of that specification. https://bugs.launchpad.net/pycrypto/+bug/996814 * Fix: getPrime with invalid input causes Python to abort with fatal error https://bugs.launchpad.net/pycrypto/+bug/988431 * Fix: Segfaults within error-handling paths (thanks: Paul Howarth & Dave Malcolm) https://bugs.launchpad.net/pycrypto/+bug/934294 * Fix: Block ciphers allow empty string as IV https://bugs.launchpad.net/pycrypto/+bug/997464 * Fix DevURandomRNG to work with Python3's new I/O stack. (thanks: Sebastian Ramacher) * Remove automagic dependencies on libgmp and libmpir, let the caller disable them using args. * Many other minor bug fixes and improvements (mostly thanks to Legrandin)- Make package build on RH6-like systems- python3 package added - minor spec improvement- Update to version 2.5: * Added PKCS#1 encryption schemes (v1.5 and OAEP). We now have a decent, easy-to-use non-textbook RSA implementation. Yay! * Added PKCS#1 signature schemes (v1.5 and PSS). v1.5 required some extensive changes to Hash modules to contain the algorithm specific ASN.1 OID. To that end, we now always have a (thin) Python module to hide the one in pure C. * Added 2 standard Key Derivation Functions (PBKDF1 and PBKDF2). * Added export/import of RSA keys in OpenSSH and PKCS#8 formats. * Added password-protected export/import of RSA keys (one old method for PKCS#8 PEM only). * Added ability to generate RSA key pairs with configurable public exponent e. * Added ability to construct an RSA key pair even if only the private exponent d is known, and not p and q. * Added SHA-2 C source code (fully from Lorenz Quack). * Unit tests for all the above. * Updates to documentation (both inline and in Doc/pycrypt.rst) * All of the above changes were put together by Legrandin (Thanks!) * Minor bug fixes (setup.py and tests). - Changes from version 2.4.1: * Fix "error: Setup script exited with error: src/config.h: No such file or directory" when installing via easy_install. (Sebastian Ramacher) - Changes from version 2.4: * Python 3 support! (Thorsten E. Behrens, Anders Sundman) PyCrypto now supports every version of Python from 2.1 through 3.2. * Timing-attack countermeasures in _fastmath: When built against libgmp version 5 or later, we use mpz_powm_sec instead of mpz_powm. This should prevent the timing attack described by Geremy Condra at PyCon 2011: http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-through-the-side-channel-timing-and-implementation-attacks-in-python-4897955 * New hash modules (for Python >= 2.5 only): SHA224, SHA384, and SHA512 (Frédéric Bertolus) * Configuration using GNU autoconf. This should help fix a bunch of build issues. * Support using MPIR as an alternative to GMP. * Improve the test command in setup.py, by allowing tests to be performed on a single sub-package or module only. (Legrandin) * Fix double-decref of "counter" when Cipher object initialisation fails (Ryan Kelly) * Apply patches from Debian's python-crypto 2.3-3 package (Jan Dittberner, Sebastian Ramacher): - fix-RSA-generate-exception.patch - epydoc-exclude-introspect.patch - no-usr-local.patch * Fix launchpad bug #702835: "Import key code is not compatible with GMP library" (Legrandin) * More tests, better documentation, various bugfixes.s390zp34 1628046528  !"#$%&'()*+,--/0123456789:;<=>?@ABCDEFFHHJJLLNNPPRRTTVVXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.6.1-3.2.12.6.1-3.2.1     !!""""""""""!!!!####$$$$%%%%%%&&&&''''''''''''''''''&&&&&&&&(((()****CryptoCipherAES.pyARC2.pyARC4.pyBlowfish.pyCAST.pyDES.pyDES3.pyPKCS1_OAEP.pyPKCS1_v1_5.pyXOR.py_AES.cpython-36m-s390x-linux-gnu.so_ARC2.cpython-36m-s390x-linux-gnu.so_ARC4.cpython-36m-s390x-linux-gnu.so_Blowfish.cpython-36m-s390x-linux-gnu.so_CAST.cpython-36m-s390x-linux-gnu.so_DES.cpython-36m-s390x-linux-gnu.so_DES3.cpython-36m-s390x-linux-gnu.so_XOR.cpython-36m-s390x-linux-gnu.so__init__.py__pycache__AES.cpython-36.opt-1.pycAES.cpython-36.pycARC2.cpython-36.opt-1.pycARC2.cpython-36.pycARC4.cpython-36.opt-1.pycARC4.cpython-36.pycBlowfish.cpython-36.opt-1.pycBlowfish.cpython-36.pycCAST.cpython-36.opt-1.pycCAST.cpython-36.pycDES.cpython-36.opt-1.pycDES.cpython-36.pycDES3.cpython-36.opt-1.pycDES3.cpython-36.pycPKCS1_OAEP.cpython-36.opt-1.pycPKCS1_OAEP.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pycXOR.cpython-36.opt-1.pycXOR.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycblockalgo.cpython-36.opt-1.pycblockalgo.cpython-36.pycblockalgo.pyHashHMAC.pyMD2.pyMD4.pyMD5.pyRIPEMD.pySHA.pySHA224.pySHA256.pySHA384.pySHA512.py_MD2.cpython-36m-s390x-linux-gnu.so_MD4.cpython-36m-s390x-linux-gnu.so_RIPEMD160.cpython-36m-s390x-linux-gnu.so_SHA224.cpython-36m-s390x-linux-gnu.so_SHA256.cpython-36m-s390x-linux-gnu.so_SHA384.cpython-36m-s390x-linux-gnu.so_SHA512.cpython-36m-s390x-linux-gnu.so__init__.py__pycache__HMAC.cpython-36.opt-1.pycHMAC.cpython-36.pycMD2.cpython-36.opt-1.pycMD2.cpython-36.pycMD4.cpython-36.opt-1.pycMD4.cpython-36.pycMD5.cpython-36.opt-1.pycMD5.cpython-36.pycRIPEMD.cpython-36.opt-1.pycRIPEMD.cpython-36.pycSHA.cpython-36.opt-1.pycSHA.cpython-36.pycSHA224.cpython-36.opt-1.pycSHA224.cpython-36.pycSHA256.cpython-36.opt-1.pycSHA256.cpython-36.pycSHA384.cpython-36.opt-1.pycSHA384.cpython-36.pycSHA512.cpython-36.opt-1.pycSHA512.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pychashalgo.cpython-36.opt-1.pychashalgo.cpython-36.pychashalgo.pyProtocolAllOrNothing.pyChaffing.pyKDF.py__init__.py__pycache__AllOrNothing.cpython-36.opt-1.pycAllOrNothing.cpython-36.pycChaffing.cpython-36.opt-1.pycChaffing.cpython-36.pycKDF.cpython-36.opt-1.pycKDF.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycPublicKeyDSA.pyElGamal.pyRSA.py_DSA.py_RSA.py__init__.py__pycache__DSA.cpython-36.opt-1.pycDSA.cpython-36.pycElGamal.cpython-36.opt-1.pycElGamal.cpython-36.pycRSA.cpython-36.opt-1.pycRSA.cpython-36.pyc_DSA.cpython-36.opt-1.pyc_DSA.cpython-36.pyc_RSA.cpython-36.opt-1.pyc_RSA.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_slowmath.cpython-36.opt-1.pyc_slowmath.cpython-36.pycpubkey.cpython-36.opt-1.pycpubkey.cpython-36.pyc_fastmath.cpython-36m-s390x-linux-gnu.so_slowmath.pypubkey.pyRandomFortunaFortunaAccumulator.pyFortunaGenerator.pySHAd256.py__init__.py__pycache__FortunaAccumulator.cpython-36.opt-1.pycFortunaAccumulator.cpython-36.pycFortunaGenerator.cpython-36.opt-1.pycFortunaGenerator.cpython-36.pycSHAd256.cpython-36.opt-1.pycSHAd256.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycOSRNG__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycfallback.cpython-36.opt-1.pycfallback.cpython-36.pycposix.cpython-36.opt-1.pycposix.cpython-36.pycrng_base.cpython-36.opt-1.pycrng_base.cpython-36.pycfallback.pyposix.pyrng_base.py_UserFriendlyRNG.py__init__.py__pycache___UserFriendlyRNG.cpython-36.opt-1.pyc_UserFriendlyRNG.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycrandom.cpython-36.opt-1.pycrandom.cpython-36.pycrandom.pySelfTestCipher__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_AES.cpython-36.opt-1.pyctest_AES.cpython-36.pyctest_ARC2.cpython-36.opt-1.pyctest_ARC2.cpython-36.pyctest_ARC4.cpython-36.opt-1.pyctest_ARC4.cpython-36.pyctest_Blowfish.cpython-36.opt-1.pyctest_Blowfish.cpython-36.pyctest_CAST.cpython-36.opt-1.pyctest_CAST.cpython-36.pyctest_DES.cpython-36.opt-1.pyctest_DES.cpython-36.pyctest_DES3.cpython-36.opt-1.pyctest_DES3.cpython-36.pyctest_XOR.cpython-36.opt-1.pyctest_XOR.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pkcs1_oaep.cpython-36.opt-1.pyctest_pkcs1_oaep.cpython-36.pyccommon.pytest_AES.pytest_ARC2.pytest_ARC4.pytest_Blowfish.pytest_CAST.pytest_DES.pytest_DES3.pytest_XOR.pytest_pkcs1_15.pytest_pkcs1_oaep.pyHash__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pyctest_HMAC.cpython-36.opt-1.pyctest_HMAC.cpython-36.pyctest_MD2.cpython-36.opt-1.pyctest_MD2.cpython-36.pyctest_MD4.cpython-36.opt-1.pyctest_MD4.cpython-36.pyctest_MD5.cpython-36.opt-1.pyctest_MD5.cpython-36.pyctest_RIPEMD.cpython-36.opt-1.pyctest_RIPEMD.cpython-36.pyctest_SHA.cpython-36.opt-1.pyctest_SHA.cpython-36.pyctest_SHA224.cpython-36.opt-1.pyctest_SHA224.cpython-36.pyctest_SHA256.cpython-36.opt-1.pyctest_SHA256.cpython-36.pyctest_SHA384.cpython-36.opt-1.pyctest_SHA384.cpython-36.pyctest_SHA512.cpython-36.opt-1.pyctest_SHA512.cpython-36.pyccommon.pytest_HMAC.pytest_MD2.pytest_MD4.pytest_MD5.pytest_RIPEMD.pytest_SHA.pytest_SHA224.pytest_SHA256.pytest_SHA384.pytest_SHA512.pyProtocol__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_AllOrNothing.cpython-36.opt-1.pyctest_AllOrNothing.cpython-36.pyctest_KDF.cpython-36.opt-1.pyctest_KDF.cpython-36.pyctest_chaffing.cpython-36.opt-1.pyctest_chaffing.cpython-36.pyctest_rfc1751.cpython-36.opt-1.pyctest_rfc1751.cpython-36.pyctest_AllOrNothing.pytest_KDF.pytest_chaffing.pytest_rfc1751.pyPublicKey__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_DSA.cpython-36.opt-1.pyctest_DSA.cpython-36.pyctest_ElGamal.cpython-36.opt-1.pyctest_ElGamal.cpython-36.pyctest_RSA.cpython-36.opt-1.pyctest_RSA.cpython-36.pyctest_importKey.cpython-36.opt-1.pyctest_importKey.cpython-36.pyctest_DSA.pytest_ElGamal.pytest_RSA.pytest_importKey.pyRandomFortuna__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_FortunaAccumulator.cpython-36.opt-1.pyctest_FortunaAccumulator.cpython-36.pyctest_FortunaGenerator.cpython-36.opt-1.pyctest_FortunaGenerator.cpython-36.pyctest_SHAd256.cpython-36.opt-1.pyctest_SHAd256.cpython-36.pyctest_FortunaAccumulator.pytest_FortunaGenerator.pytest_SHAd256.pyOSRNG__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_fallback.cpython-36.opt-1.pyctest_fallback.cpython-36.pyctest_generic.cpython-36.opt-1.pyctest_generic.cpython-36.pyctest_nt.cpython-36.opt-1.pyctest_nt.cpython-36.pyctest_posix.cpython-36.opt-1.pyctest_posix.cpython-36.pyctest_winrandom.cpython-36.opt-1.pyctest_winrandom.cpython-36.pyctest_fallback.pytest_generic.pytest_nt.pytest_posix.pytest_winrandom.py__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest__UserFriendlyRNG.cpython-36.opt-1.pyctest__UserFriendlyRNG.cpython-36.pyctest_random.cpython-36.opt-1.pyctest_random.cpython-36.pyctest_rpoolcompat.cpython-36.opt-1.pyctest_rpoolcompat.cpython-36.pyctest__UserFriendlyRNG.pytest_random.pytest_rpoolcompat.pySignature__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_pkcs1_15.cpython-36.opt-1.pyctest_pkcs1_15.cpython-36.pyctest_pkcs1_pss.cpython-36.opt-1.pyctest_pkcs1_pss.cpython-36.pyctest_pkcs1_15.pytest_pkcs1_pss.pyUtil__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyctest_Counter.cpython-36.opt-1.pyctest_Counter.cpython-36.pyctest_asn1.cpython-36.opt-1.pyctest_asn1.cpython-36.pyctest_number.cpython-36.opt-1.pyctest_number.cpython-36.pyctest_winrandom.cpython-36.opt-1.pyctest_winrandom.cpython-36.pyctest_Counter.pytest_asn1.pytest_number.pytest_winrandom.py__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycst_common.cpython-36.opt-1.pycst_common.cpython-36.pycst_common.pySignaturePKCS1_PSS.pyPKCS1_v1_5.py__init__.py__pycache__PKCS1_PSS.cpython-36.opt-1.pycPKCS1_PSS.cpython-36.pycPKCS1_v1_5.cpython-36.opt-1.pycPKCS1_v1_5.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pycUtilCounter.pyRFC1751.py__init__.py__pycache__Counter.cpython-36.opt-1.pycCounter.cpython-36.pycRFC1751.cpython-36.opt-1.pycRFC1751.cpython-36.pyc__init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_number_new.cpython-36.opt-1.pyc_number_new.cpython-36.pycasn1.cpython-36.opt-1.pycasn1.cpython-36.pycnumber.cpython-36.opt-1.pycnumber.cpython-36.pycpy3compat.cpython-36.opt-1.pycpy3compat.cpython-36.pycrandpool.cpython-36.opt-1.pycrandpool.cpython-36.pycwinrandom.cpython-36.opt-1.pycwinrandom.cpython-36.pyc_counter.cpython-36m-s390x-linux-gnu.so_number_new.pyasn1.pynumber.pypy3compat.pyrandpool.pystrxor.cpython-36m-s390x-linux-gnu.sowinrandom.py__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpct_warnings.cpython-36.opt-1.pycpct_warnings.cpython-36.pycpct_warnings.pypycrypto-2.6.1-py3.6.egg-infopython3-pycryptoACKSCOPYRIGHTChangeLogREADME/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/Crypto//usr/lib64/python3.6/site-packages/Crypto/Cipher//usr/lib64/python3.6/site-packages/Crypto/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Hash//usr/lib64/python3.6/site-packages/Crypto/Hash/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Protocol//usr/lib64/python3.6/site-packages/Crypto/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Crypto/PublicKey//usr/lib64/python3.6/site-packages/Crypto/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Random//usr/lib64/python3.6/site-packages/Crypto/Random/Fortuna//usr/lib64/python3.6/site-packages/Crypto/Random/Fortuna/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Random/OSRNG//usr/lib64/python3.6/site-packages/Crypto/Random/OSRNG/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Random/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Cipher//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Cipher/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Hash//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Hash/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Protocol//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Protocol/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/PublicKey//usr/lib64/python3.6/site-packages/Crypto/SelfTest/PublicKey/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random/Fortuna//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random/Fortuna/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random/OSRNG//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random/OSRNG/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Random/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Signature//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Signature/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Util//usr/lib64/python3.6/site-packages/Crypto/SelfTest/Util/__pycache__//usr/lib64/python3.6/site-packages/Crypto/SelfTest/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Signature//usr/lib64/python3.6/site-packages/Crypto/Signature/__pycache__//usr/lib64/python3.6/site-packages/Crypto/Util//usr/lib64/python3.6/site-packages/Crypto/Util/__pycache__//usr/lib64/python3.6/site-packages/Crypto/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-pycrypto/-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:20116/SUSE_SLE-15_Update/6c2040ce40a79bb2f2ee3ede79a979c5-python-pycrypto.SUSE_SLE-15_Updatedrpmxz5s390x-suse-linux                       directoryPython script, ASCII text executableELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e7e3cda9532a1ddd50aab84adf78990d782b3d3d, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c8dacdbe1f6692b4d57f96fa1da41b5f814657b2, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=cdd20ac3e57d9b3a8028f6b727c20279f26c194c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f2c2b6129f10f66e3bd6f6642bdd5e162b606781, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=a47f3c5a37bb05290a4f7e0db7bb5d26cae7091e, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=2da1a5d3579ebe4e02e7f0d39ead8436750bb777, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=cfed791897fee0143e4da2e76cfc3ec1c201f96c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=d7fb5722c7bb926073a8f8c39c599a0f4d8e5e7b, strippedASCII textpython 3.6 byte-compiledELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c19e207c351d8cd401c0d3e434edb246b4b1f8b6, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=aa353bf33e648ecb3e7e36d4d1cf1cf2a1e6e0dd, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3c99b14ab83108ac09c742fe414c908daf8974e9, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=908fb358a50bac118696cff98d27a421e8818998, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=64bc48e8036819d57723ad478dba9e95fdfa113a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f5c4b3b01e05cb06269d2fa8ebf5359facfc850f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=fec2915fe2947694095aa4082fdaf5abb996d2f5, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=a27c9ec1f37bd5ab7bf76fb7c89e409e02e5c4d6, strippedemptyPython script, ASCII text executable, with very long linesELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=4a32181b6ad7f597aead2a53b10f2d25bab350d1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=573236d3a9b8fde8d4c12a5a175ffc6969f897e3, strippedUTF-8 Unicode textPython script, UTF-8 Unicode text executable "(.4:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^djpv|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRL5u.s7ÀGutf-828bcfb86a79147e2c228464c33e1097aef4aea91a5108cf8644bd84a0915ef55? 7zXZ !t/X]"k%{^E) `B5föB K\s\dP+f䃪Aq2VM`tV:xUF>׻x!U5KsEVmEP g̠BW7w$-^Av3_IQy} w&?bq FI-7~+iv#zZ%hZvW9Кr8a_Pc3׿0 soԅfcV:+ ;Nr*EN9j.{_R{#jo P SWI8e mxhq] =dSM1ED 1.t|yL9Iz4X>i1)?d? `0&ra*ޕ ޴.bHr̉(Ȩp8#Dv+DxG̠ Kmϼy]]Q+rVةwL D/S`U;cnLUnOx .9>+ɸ%QFEB~('kԴ;  WѶMrh\];9HQӇrAhq Z! RE? @Jpp\)6뮻C;C} E,>!5wIC&T>E0(]Xo׺.Wy 2[zgӉMW+ V踣XߜD<(?#PK_ణIYCՊ9m7sFTxotҀKHQ@vʯQ`sY;G3lmR)*|h$B:ȕ`yXJ/>lسG)~5c^+IT[QJ~D8;dHxmmhkف5yxGi%عvtc=ҷa@0y/6 ?ZOxq li b&XOc !`Cha[ /|8.8)SB:`rBBj׀G`_ɭ  ?kyTqǚa mk_Z6fҕ5MVC5PhM|_ 2.t$VzG@rAkr^c2b Q3fiMi4#.AW-ϘzEG+9,#nY3"%A{+Θ9,g٫#֔ A=!x(  Tۣ;,X$ƽgPF\,F+^.p!R@؇/o+Rssfظ%ƿ3|'-SIqbVlm,GnX4ŇԕjsUfd ;=YoKO4QFwyW#D*xFTUN00m'kB!ǩ-_2ʸ\1eM!n0 @+!:x^!_E@&_>Ց<t5=;p]t7+0ذz 2J-`$<4.>lr/BOb ="Zg(McRz[k^B ƯqeH j,H +0bmvz6}}nPc>/UyB% ^(*^ hx$-eVD Xw{5xm gC*(i0=.,,+L7V?s xSʉ{ ؑ\Y{5yXlq&:=eY%А*2q!185~|E9,"@ha/چ> j80,$4vDT둰i}Ib :+=(5+=cKp<Tz% LlzcX-/(⯗qJR ݪPkE[|2 ٣m>fvqPcx+aK!|1\oBq}WXo"4=/tkw܄ 6G>wu2*7)VNJnߊPUY?:lUd -Yea%+sO  ;S^um;۟z'Iߪ?pWv5D~y#aBkN $3\PHk/N LntU!EVh> uMqz5f/GxM#=chFLgS9j, >~t|^umXӓɧji!FŤ;Eub?Wa8&%-vq)cl s IaNrfgN!JD$ l3ǒ}|zT6|7P?:$=sf&Q4|P0Q`,Kof \>q8 qxmhL;Hh-6c.]قz3v>d5o5+~M,ر/aNKVFh˟hnkOw`yRW|d#LJFjH8m $s:9_f[޹+?a%T] {'GS+A`y 3 s*9(W-\ğqQսGy!F妱06zkc.ЂuZ^IMGv;ML!ڛꪚJXԑ3.U;%E#2f&o۠(4qɾ\~LMle%0u qǩoiŨXDSpwEk="94EYxA0- Jo7 XᰪcP9T/[*>b4I۵%ᙌߊ dZO5-᩼1;Vp-QfLɲܨ Vf$ctƝ6 S#L?Ǥ-M83BGEb$yB1 `$2[XVvw]k.,5%Y7d (JuM9(NZ@d|TLGIGYC&KFg!E) nM%#.*98bb%4}X\M妰OULoZDLX3)]VCb>JY=|ʺ15֫]eSmx',jS?կ*vRU]{vS:dMh)eU~-D"WS2i ")!堕zcK/K/ww"-GS_RW^X:,D{59|>c a\R>r䘎L6j-tŝ9v1z"ic9<<t JNG9$҂ibsb[Gq$kzyIDnj\7( kNC4Kn==Yٲ0-U(4>tʃ"CWvQ3`0Ә0~r-,S'X H-?ʌ@ ͊\:QMN=ejbj}8Z J5ĺ@em-9ԲgIݹx {9%%|#8g;.A : $vƊਰYy0f1 ݦ5VAuC1M~FYf׺Q)k`d(KeQv$T'lӝ_*WpQ)I=dEmhb dEo&, _'nV~ ؗ G12 &/*T#3t5$PO[8.pΔ]-sn@[SSwFr<[ ( aFwLPM4U4j8: FF8ey9mQ_@";Ŋk7@k^8}|>`='22hygbNmH̡8$-CyW?|mESW:8^9n%BRpH}(/O_ Xr!S*fI廉|/UϥFtRUDMu.V7]%ݖo]Jm ,fgǗ%1'{#$y<~z̮uv?zEH\aGwvƴ\lHD^Pk;JE67(1!hݽGٱs_UK1l9kE/Frڳ/[XIb`mk\&tN,"_Y?.)r t`)j,e0Z䠜3C.dq|0Ybʳ:v}暱IݷVtDjbGMAvU퀂}.5Of\Ńtm2ݲp:+߁bz:DiL nwoe Z(w YӸ~xJiN\݅_FA}V ]V;((GR\1t՜8$Gͤ `0''[|ղʮixHbi,Ur.-pQ'3,Jl I.\1_.Z %cG`{>8)>jPS a '}^Feik Z.Pt D?CsH:?{oP{P==BqHl .cP;,-,{陏N91eglhpR<7͸-a| \\KffX z.0CXoK>}k j$}ZT94B>lNӨW{D]j4O/n}w^~-1ӳÛ#j>z7>\R] Q44ϔt0Xh1ww|ӥXrlw%<[W0Zzgk5,* T %qpQE5LG5 aY-ꁞ0c{,rP34&%Dsޝ"xrUf u+E?''D&i"dX9`F<'_daĂ{) Jg~~Q2=+K͢N_r>#Ga8*Rv5PƙOG9*N|GF{WBwi(Ms/lwf3<@Ҫ՛+(dU\/-!&&hU{7 +. W $J8ڡ9bxN$0]!).N+Sr -FAgɂp ip[h֪y+؇ꋓȡ|L$Vɇn,Cȡo!g֕5NG[%) PaY UP4 dqcy&>05^<J0GC/Og fqvUsG"<+F$Q_.K@!C)  e?=O+m}7G kܓt }S=~{{Dŵ+5 U^eJP]љ7Lt(^E[Ttgu,HC꩔Jo=Gm4}v6fFpH-66'/` ة>l;7]KXϵ!S']f@A"8zd#u'9ii{}/s=No ALBPlnjμ> ƨĘRQ@b6kW ?gf dͺd]&(r@O#衦`NP| Y/>' `N7- /9]2To}zC|aCD÷.ǟ ) AQ)7.OQ#PRJP J[++ny.P i>igI=| /XGtȞEO~%&A~Tڬ*+n_0' plO 0(sdd ٧b8e3rR”I=LS6l wnK}~51 DQ_yૣϴ&WպXFe$3.祵3\_ }>6OhbaM4to8쳌r4h[VkTr\XCƯ\_B,tDP]6U؅DS1 H*D3)R譛m1)a.dц)H7c+5:KELH$_ b~ ~qYt*k?'8 53j(ØF˞jSMyjj/ft ^j7&P7T u8datA߷[|NxZb[MJ?%0i9H$r 4X⌵$ lj<=k6_qqeg.~ js? 15% |aZubZ{ an5;эxtAh#}PCY#{9إ {[}GHɅS3/W~)Zx\^AdZ%K|*rŢ΢o'([.bEsQc!ҟukPgb$\n Z{v+qvYk#RvFu^=hZw_2e"o$Jb]l~{CN6:z_yQ c)d5L5"Wt.'f}ALO;? iD`J)RÜ<' <جOW){me^hM_h]81ςɗAPjȔ) R~o!lL\HgOX ɉO8M{`'smWF={6rx@d^U a~{)L-heቬ.׈*`4bs_gc8W嘟;bD'udxs_% f n@6mD^6[D|7+{v-T$61Eص'+u)^%*JNm2)ǸTHR+:FzE2DJ _G6ټ|MիJ FdEkD ǣPaʫ}꠺Shsmz^-1eyHӧEi^>߿{I8|b%Іnfm?ȗ\JϓݸBgyfݮE?Snjz9ɟ^ pA4L-5'+xȢIOB!#ڞ'3r^] "hM=/,P"O*%}U_PZDŽ4 p.hvC,x 1ѬteܝKR>6ӯ假O8;%Z !}j&E(ֵ%lqy*g-< OFǹ"KinCibr {?1e[VsZG <&fue@3$ԓFtkx|eBP`E&yVc Mo|Q Uɪ^}o\>)TuoB~qiշv4/XރL74R]'q{H-\0[ڿUFWy2xTu3IM s1 NEDfK.)^8s[cS2KzʥƣK^(߮a\v2::HgJ!ǻg`jPd EX/y\27l֌eڜ^ysdXT{kXjrV`4'ݴ4~&x !i]@c vrcw5VX6/u{7QZf\i>rYGje=Y6t:p4Vۯ){ +: =r$6Gu\]"cJ^_w2e cijtE*Y1394.5Ek(>8V5xhA<09(H(ݗfxZ~L|~ /UDHI i DlTZF"og}5 r`~MD7apsfh׹Hڀ ~#y!H Geyp4~-9~+%J}_-e*,Y*vZszI~7n9 ꟴh1&4\ќ)QLcR,8N$),2] Ab0 2 1yf_&ZfSze]1"Vn=v/Xl}>d~!JwzE!C K[B(>y7·=Ϭ4*Nsp5v@i8|p2~]0;3Тk޵( ~@GR"0f0rT\:'kzfu ~oNKe@eŋ").k)W3<.CֳMO0>y%JǗ/P@J UlQE-'g02]؃f/yPiVL(ڃِ=^m,o 6H&#rݙa f>VoZC1:o$3<# bt|h/AVM 1ռq.MǕ$ t F\,颽,y S$.yZx_W}Ft]>I58@R.j+R;!0:a}g&CߎWBELY]3o<;c{+~ԺGX|@H 7B\C7RTo5=0i\ XaS !vb!T} \e$꛱|YE1J=spG"+8?+NOpk ZO]a[F@Oi촻⍠5]ck|++Hf*?p!A#2 GM(:Ӧr֗w`?9U7_5Eܖ- <>sAmjĠ~ S(k\by_ iL`̑PHsCq=G@D[}GM^X\j%r&q@ף^DBS`߄ p'n j]V/79Q̽h 7xR.șӸ.QA80elMqqs(u(tH$z]!Gѫerx2ņ#C~$큢BVEֱQ,VTa,Pfq@fqiiDm]!5?oJtXn z` Ƶ,*,^%k3V1%ee; ,ACTKPgRJ߇ʉl+ 5k(0/(p&}@ltz}mӮkFd;ngz}FC #܁\T,;a&Bc+sʟYTT şp-BV4=B)/]1qFnM$C]u~9鰝nw2Dk׀2?_駦4ÕSދ'ퟖRU2inӊvʪ8E^)jk;& t epa{o)>p…M"tI`º/ y(!=ž\_{ TDL)A GB֞͝4MeuR_HE%HbK?< vM01+|_q(-XN~)0Ib)a&GJ0|aHrPӪdĬd8)`>ه`2b/"@6ɾ?/tUF :,@RWpŖ6_ "l=uR)5 XU=un)?%}ٟO* Cz{_eE+ U.rϙ^_nѩu&\jȧx#%/EvF5?j(lb&,`ö 3!7Xj4 P+F4JBqnlPVQx]_'{eF6YŤtЊ*mð;_/-VWb}plZH 30b L>yɑ 'Fi d1j׆xK[z#~2oeYFO/CQKLnmcd)[f5'ISye##Bh*+UdS~Awtf7]l/mLrYdD]`'y+4[sXkpZ#Yj>Ā@{0x)zDTNQSpW~v-Q ^nf#"nfE?Tf)THX׵șU\p>̫'FamΤ3+njKrF_1R,"Xq^q;EY&+VV\xlݒMbǪPnK7=IqD~gAEokA  *G+H_rRn8-.Y1 Rmͳ10zD n$(D7mJ-Sǿ~v,!B'B[_m+rWwcH2B2Gs 'k"Ne1rs~wx۲N$0Ws5|UW+3 ZWM;E`ԒZ=YGܺ^ٚ9wV O:XkkʁɋYOלYKa[D4f2-\,Un,\My6{1nlGȃ'* }pqsf _ԓzF#eN!Gf[Y,1Q |Oim;H0]EiI;`WPdRP]z3'=1Z~u<_9)d=ffוv"HS݃r{d"_7 GWA´H@+k2YdKuk}6rFIlEwfXYPL&Tb!"~m"%,$%*CdMh$@:$!te7z # ctY'MaNodKd }tqĠat'D\+q(BHks`p<"8͛0}yd|vPJ P?}}\>d^/5p͕Cgm. Tc`>/"C@~IuZoN0aZ=s^x`qXTm'ŭwZftҾ?Pߕ@Tl֭L2hP}ۃ/yFmN4ZoAg[sKLIKEpN6>-^{(D/^u w+ax4WeK oġ9tǶ4U<"SrMhDn,7GdA[6N$)X=]J:8q: gӇuKءsTйN?}lpT}܊+>U'L=Z_g.B@5Ә:PGF;.|" nXn AjlsƢ^īT(q pYNhXl#4 $A@=t00VSlXF7ߛ GtTކzKTۿz~T<0v⑺iN39Vs {3͑tӽ$ݘeٕǘ!&#ޏ"h˯)0NƢ[s ,uVwҡ O6!cUMw& HmRn])l'/Pzzt`K0JqNW4( ۆ?:2iY~*/Wq3uSY#m7 1i%5#}sɘ rYE fj[U_*?Yp^@6P p+0YKfÅ*wzucϐ=+>H&^O~7?_JZ#7% 3Ѐnj:g8"v #rLuUtt|ć }PCv;=<@iӍR6 +D" }i bG$sۏhfg/w%6U\٭:6smdJE؋-vR-ttOZkr Z#I? gfZ9NM@a*FD7lG L+M`·ma+{(l?/bЬ !П% 6z uV/bݝ=MXw5`وŒ`tiAq^G9hH]F'uZK[ڜn SOslr~N*DC21bWJǵPe/' e7dyDxn<ꔍY#l DwZ0,B:ˏv>CE_c'X߂ȁ?^k_upj+k\KKyoP䈦a auݷԑӜ`;rAݱY* x<'ʟ0J J)v0R3m܍i$^迉)d?7Sc`*٦\0<[%zcj &Dq\څ  䲖 {QH S*Ԋm)|컍ʛȬ 8r$Z0xrW|ѡjפ?U&bh ̑T3Z̵2.ȹYVI'^#.wܳ7ߵIYE_dTH~R8u d*!#`<;X J|ȑfM B@.:aZD=yz-S`]՚)[MYH}p lQn|@d_LeeRх4H#w;%NվRO(g_AI::/`L@L 0m(,z%?:0 ] וuQ3BB߄tb2``8wCKŗ324=[t!e4NDVp=t14 RJ@mBe?p8| %ua.á3*pֱ>^kٶG91少87p\$&k/R6M!!%:&uͤFaOPbqS7({Vz0¿JI{>=NR6R|gN= jm*_-} LĈ\W }#?%+Eک uFV`?JpME~ߨ\ud~uh&13{rpwA֐C& @9fIFDs{~7\/@&/Yj}sHvz;@v1Sp.o:^y$LƧtYg%t;zQA5aRyҴF9~ Ü̠v.Gیj]X L({k!~ž 7"Yվmeζ0>v DsӺݫHh_͝cF@x5TbYݼ&@7NSCrEm"PTa>#"W"C%yb^?|zd:-M_r(C鸷@8(|9G QFQlxYC#Nj&,'gkb>9 l8 Vy!mK 0Ҏkgu5j)wYh1l-R''s $!{uMCd@{=({ <%ghN17闸<$ĠH0&ft79=XRoA?a r!Ր#I/$4pr/YI,xcT / :s,ۤ{)M#_2+ I{|OLvb00xgF(:2l!ٞ yfsũ]]".VTVlY,DA8a @\/\tPApyčLo?ξyYMDn^+N0i v#S {+jK~T(T,c}{i8Bt8TNumȣ/V|(.*_D%q/C>16%83g1Rk5[hcD}N`}L#]ը{?T΍dW/pAA$,Cn{ԎOm{Oı~%89w9چ8ZZ"l.P_f2N̂]3CbX)&)B|&^. QF*-p+b9iHX 4LU8cELT ! @VWr׵6l]^w ܙ:kہP '6{ %aI=tHUG,dxOb&r1v/^TA4P1.쵴_g @ps^ l+w6ʼQƣ3j𠱺׏ [ޭxBk{AEP҃Kh٤{S,"!YJqGߨ*ԲjgAQXKK d Yz^|[Ż';!YztDxi(wS'0hy"u͡B+o$\P`Qf R 1!6,MY 2]1r}MeC3JM*i[̏COTN{1&8UA|@ɮ͉iMj]j&P>%\t%7?5C FY6pi;,O qԠ@F"^ ^x`GMYG7Xy`yPdTtiB8C?Q`׽RrG)VՏ;5v{u>/LbڶP︤Ȏ*0{Y4|LqU+~zօX4̼Dy[Uw#MbZE #E`t{ ^`LZ Dt1J'^'xLr/y/0ؤ*qg:'󞚗,E sL+!# IŹKK,#ln}oo+~[6۰};O ԾjDTUw(N"&CkAk*<܈wY "ҫ?X%;$C SYɹ\2TZb D4DeEC.)9m^ioZ2 h2`bЈ犯u#mLEg#jG%JRo@;*\x:8A4b:D)%"6[W3[8JAc\eɸZ9+}؀Õ 'ռ\`XK5A"uAbTXΣXql inaVK,uWe{6@˶y#t^6|ixyK 4&K_gPwt,~~MHxC`{(Ŧ.1pR@LBD0X} [y^.c7DĖn_ H~Ϣm0fbAgY؄$I7nQh.m Di'>[lfm1B.]_Ei`T4x q+ "Mxv(6<ormQ^'vc?㽫)&UkHDo`.CT(D}8* 04 M%(lcL/Ud1BA t* ^(Wx8POlG sJ6=nbw'$^Fe2)8!{SG5$ˋiH0Kʫ?$t-aLhO %ASVT:)![-vw&vvXT4VQR˔:#,$Y8iz=&fH窓?0/ !ܙuk Vˆms& IfΟY?x曽'pk["g4݆Ej" ok2>zsVb}P/y=L42D#ֳ?҈LTCa1Sy5886U~Qu]xjCZ1Sb,CRj&0ѱk|!˚,Cay 첥"5__ BEʌ;-n *oc(DbΓuT q[ʛo(M=J N3xDefί q!)ܻٖ5GzfU%Y`FN6X\Nl ݅h(YR_.U,˭8)/%^GV!oaRv:y5+WbBI7V8AQ+@7 wHUDK6&4WqK3(E!ilv͢N&u"*Ձ}f[r$u$wN֒^mt袏028.D bZm\"9i&>[%K׫${jb܌ teˑ٨k~܎OA@~ERL[QʶCaA|o#!.H1啞U`Qq?s>vK_[islv4psv~յ'-b\sGL8VPEp}u?B&*tU8pԖe 摯Z;V[#S!4>:(TNkڕ Gb[P!hEMrrhU!Ts|nbfw޹ <ϪxgI|lѷ?".B]ocNǐ:=^\z<hX)gltZhu3;{'ɹm"]h%tQ,p_? Uދ*ԟQn~_ԤFQ#.xCYդY]J=H!PlR !h ݕ?팼YXIE'rP) ש}On[qh5> taX^A6IaTqӠV MWa?NJIEJI::+f䲾A^2cfCsR)Q8sߎw)MUC 8Zr4>4 1Z*&M] ?kty(Gz镻^ghrd EՒw.EBK"a4OgDYbwl֏FfjtFUd cY_+P!CnpeixA$U'(⌫ '1GLuVۭ8Zɼy ЁW&{5, ~4Koe P|_1T3{{E.ނãﱾ#a|,v'c:jLvH@)cNpzո؄ IӲ@X]4nD))ۼJ㒶~ܝ;t/lEm,("睄Kc p6rOݾƲ\~)&9)/8c[թߪNo-:mb7 ܰꗬհno>H;s0d'iV(gWuNڞ-5RNI} uЄou,p Y#1[ 5F1+Is)B+C_rI:q^"}S$g7)dJi=Kinjr~lq|yC uQq():ShpmBSG COX>DvmK%O LG)n{ʴ@?ir9a:$Ҥ%{j;=^_S[1'^`ꎚсp22.(чK-+#9N)"ǐ`?WX )Cf~j=&uK:~iA]Y8%=]$vƁ~i<M}]ZZs)v5S}uU&IAB=Ϥ/X巼l!h=Fo`yj vm@-{~݈]t/ɱZ ^ijqb jnbШҧ^B ?U@P} /g9`e$D}ȶ[=R_m%Q2/0!ԻެM0t~ڞݛc7d4fKs`76#W3aɜa ]. Q^*JJɩBZxQJKxjEō#rk8k(5 4uЂf\lDhm8&aqdJM ]R_X8ayմaIÆm>/f[El=+\lGd<+V jF(/=Zu+-l] lPyc÷sC`Uݡ/IQ|iƮ=Z ~-WoJvx\#>'kOVC~) yz/ $w;YmG)b6rj#6I|tȎV?=^6tۜ1Y[7?!ߜY "0PBoAsUߵFfD89Zdϡr?_29%8#U1d8``_GvΚ^Z{`ˁwWRd`.-M$_.&P R+QϰcÙ8:ݴ0gBWLΤ"`m; HmGWq 7bz0R؏31[. Ǖl4Cyl 5 r|[|3Ǻ&`%ZF FZ(pº献g>$ρ,%oAa p?]G<ڋvtJ $j9nXqs 51 2B31K-7U gzh:)!,z]$")#9 7G'"=\i׉xaMk(6?k e`Y=,<|0߼PrBVw -[* 3*e`FTʤu2/sϚ3uqEVQog;IKLZ_Df'ٜ b?0ɐse^"zg :HfzH@\.|+1z6AOJ<Ň\Wu :xi\ +2_T^nAJyYkQ6)9-1eQA7$&&K|1`x?diٸ!KI{]m=v$+e18&'9怏RGVrJ Y-[d!1!`cyI&) }S$mյ`+hU#қyTTif+}fӘOH<N5ڸCEYMf.^הG}Ϥn5yeO`_}]/g%\cK|ÞЄpfա׼w ⁓Ԛ6+cr53Wy#qegC[Wz>>}c} QYhbjjПf}W3':#(c .\'Ҍ#afVK}[Y?i3>Jۡj")'.UyD~owCrGY όxʏQ{G'5K;H,圪 RO[c Æ$[ _q/=GuI'|_5t1ϒkC'lr>F$'xHb.ی 8J( a_&a/ N(@xUe95E2Rl;7}{mn |sqq h7$48R$u̳Yc[MFrrL5B ɤ7<\>(T*pCpڢwxLGGcO*nc٤бb -szP̧*—T$o?r m_K bF=_5ӿ96p`{;xB`$ 7-O\5¨^Ki/q{ƣACopo!HytDE#O[RU8ULRs֬d ^i'P AȦDXz4}݀{2p_!᭔p*cd\ۼv?f4IkOQGޭq8Q"VdOER"G+P* O'Fvdw@;C[/R2~>*QipH4l%k>1V _ .c!<(mUրl)/-h'&>ҋXW ܤKKF>2o;C2콘&- L旤*̩لϭP?9`ys X% 7ttb+F!'RadϊN7YLPS2B_:43HbʨV!@plZ*Tҥg]e+X9ڠOKl/Qg#m=KwA/sB~\$嚈vZ}evbj>=D(ޤ|;MBn$ݬ(S͝Zni-3㮲Ļ=T+rG~u !ɲeG*HScٸ5Y 7Ryqn 'vhA0.Yd\>BO:?)M6ZУCOw3䊼>:0Z·*LR9/\ׇd> ̷+h's°&/IgK'Y1YP+ hvRSxC>O ".o~_PBa8i۶i}up, o2qI zJ7j_n=I)]̸Gu4~N6UI0&:04ƑU}0mMtS{Ǵ{}Ac(  ) (<[:=6pO^;rKB&\g>e-r)rQ=?BsL+M$QMjDk׭{uB/_A:Ü(p#BH|!]#լd Çn%+ɞCP?<0ܜk_ 2 wH=SNCifn׸l3VIU'(mWq9k`Z]%_JOO"M1O^ d}&sz۟af & Gy4V߳NUy 45.+E>^KTGO>侃B/C^OsjLM\lfLCQM="wҶqZت`gI!֐Erف'x Fn} Jp*"%w_ o!cF\S+H+4e#u ZE_+$k\ORp3c|οQ`cA=`?تҾJ&胿˸a s?X̿zeDSkwN,t ~y9NJDyA5C Jlݿ!="HYBg)<'D1yU~&͸T6Z8h#j_ִP[DdQ`>cx[RWzե5PK[ӄT9,nG蘑X,k%U;6+"{WCLq Dvc4߲gZV 7 bc0oT(N"(h(c=G2-Wqд7X/ ')upr7pSkaD?,b(;gXǥ˙\޷$jdYdITEEV^7U)S?iR=־L4ABe+3 ̬&ˌ$x}6}#U} `[u$1  ۮxdxD9SERʎx|ΐ=Q-c;Im}6@Q]eI^$ tBRȫ_ԼGa9u'|Q/-wDpMrQq% /rDNJiA^,}?`:?4xPuBZfuSf:~ª1=!J~Cִ[䷚ͯl.E<2w)g_/ө?a#h'\H9uL.o&HFNQqPNF%:"vklc ߍjړ`STJ~iю`*Z)Pm f" - 6¯f;n`.y"stguX.diӿMRfLKBA[T#Ė^O.u28M`F 8)s{<" X^Eщ:-$>^ z47}oҒ: )v</7Q>GsDvN}O)m-R-joABz*qo–A#!YVeEjX&WK^rC"^ B:3΁,6딎ikݕE97}1`̶VT'HbͫRU:ī (ӶH2Z\Ļr>ܶTnne:VD+:@}5u-??Tk3bNه2Y-ӗf7 %]ys QRCLlt˸K\6^Ey6ݜoj `6Y4*TkxTlnDz6Se>t'6v;Kc)\} <ܣ"*/Az@+y(w]2E@Z 90kgN+dg|hI4z z} d WdQA}G ~B&/- yaaz|[ DlvNN&lXm>h6Fcj >GPei+&pTRz,+jb3`dezSVy#PDIDsSBdM[_LvxPΪ/"'2U._G6v…7#˂.w%udZt/ u6:,tyh).S%=?L.K -4`a1 NًkmZz`SS|W#]{y9gfSTPںU.u#GU`8M܌[Q0 ې"j{}w?̑[~C*d^)Յ\El}&j֯7{DnUxlʳ^ڮ3U8oj87RT)lfMf!&w{#AxSa=m.,-PʺpȲ9x;?}U(/)?ݻG:kX100Llco8lPxSw|\ q~{/fInZ@b (,,t+UICzA]K?LJn~I,lZ%Kfff?C+s:ҍK=\Lu06cjiE'-B~_فwMweVcE^,d\}p|4{Iԝ'4#腞gվs('\GA5G?TWv}_m<'(4<+}>%O_t_%?VJ M]Կ:.BmP\⽬\kxNAq ^|mtYIVy?4,WIJ ;-ۘդ(:\k AוuSیwi /i`blHi}*cwy@LYj-Fk`I✉IfzmYw@̾p0ݛpmP}sY8:Ky ZN6Ib4[:'w>ąY{&tR.&Q=#esPQF?ڇ.;94^lJ^R騁U@Vh kj~i|Pҙ>y]">Eګ0.WnMs˾Į.?^8IװohS*rmSdtժ徿Qc/ӁM#pnx]-+CC-#e+MO8!z-r۵%gAc% Wq?6KifҶ#\9)5_y#މ }IEH"Z<(Ћ"pe-B0f &htg dAVhޕyBx C/8YE&,&QJv" .V=/Dn=ZyJ-o OapuBZ.lk|z, 5G3./Mu!ہTЇ,GK|:P|ݼӱvlkIv*/H/5(IXCu%cTQdfAh:hlˑ^!ۗ5R600/9H A5f0U2.._:dBJc+d , ~1t=N~r魶3E E ]L\1D:qeAc6B,h+k_<3k#mCl'E >+4m?8l5rytI-DdK( bG-xi'-%v(`fuT4}S e8w}B_f) " 9%93aQ4MV9}ap'óRӥc`Pv Y7|2v W.3-˻h]Q^0nד 7ʳyK r7۔WO{: 3P!nl~|܆@ ,@p .57d9@K_9@u&hj(*^4%W#z~+5U l1 bMdO,1Ģ < -w=#4!&Ћv"| b}f-1L4B|Dz~M]8?~M?u% nŖD`T~K%:tԒvBUV5dL_?Ҟ̵;6x<T\=S_ #Z~߫i(4 '=&bv7π/i؉-4Vb1m H}+QӯIT+"ELURHY;(6ne܏e>a̐JXW;EI.23HEg;'1k WS82r/R7Ex* jR'L|'˰ /_UoO$3ZXxbjOn5e,' -Ծ(S,, 3u`RN ( X;ip>8~1m4ھX _` {D:˳2(\K!0G;?J3{9H*aR݇S4RIe ; {ڍ7 Sn[ FoP8aY׀WHMX˽>-C1ܸh-jH?CÇM{kr>pvgZΜaj_h%pPۖ%N֠rF+Tl pl'cJС=Du^ŋ[e\ckl1O8:Wco*V" -ΩXK>hXCPEcN Wu cB9½WD%R\Ov4 ]k,K'cVɉzB?'@|ېE;8<P.֊דGA:vżӞ\ؠQ)lmCzRsdžKx7zոp4@^ wº9@Oŗm z&E[>DN>MTٵ"w)׃)W0X]09ٜ\x>x~X 1oݗ|-n!o gߍo'RP547A+X8};N3jl6JO| KGgzZ4>RS]|>F&F6aG|e'J󕫼mdQu}5LY-ONwhKŒ'=aCځ_pRv\?#A3H31κrsk1|9|+4 #$ 憡sZE r6BGC`Ҝ|K Ĥ4%Qpؖ=&/e##owF o69xhurzՕcۯ 2(9λU݁94͆ZDHM7ހD|v6ȶbt2Up 1̀\AQZxm=hW,d,\qj2{G>4ôc<-gHQMG&[s{l)y4xEoA}P;%K`2AT (5~,G5L L F 31 nW84$%m_R\A79bV@$J %b&H3=+QiEmT}rB.1s}bS#dmmq[->[3{wₖ.Xy!FCԁ*6%_O,|q0_ʭ{y,j?Q&KYj'+!mCyERIċLV:W$0q28݃;é.?:3E>Hӟs:πo_FbIb3 ɂG lOٚSU#4FéD8ݱk*ZYG-OM3@MޙJNZ ȈJ8˨F ~Tw!^r|kZF-y{cJD mQ̨!} G,'K}2CXx?yUD+7M1*ҋJ~ȑب ~J(F݂Gx+hF]$ߛ6 >C֥hu`mZ19=>deY=a'RMqI^RI b$ηx\!NF;f j CtN){^\יo'yYU ?3Ae?-IoKS`H=uMY-QGaz)Ɩ@^}~J+o˖ G",OHK(1|Q]G/m$]oAm?~N˪Egh^"S^kU9 瞶?2{3xX*2%B&B[(磚$oMfN4֪׻J?~1b;b-(7 G8v'7b1'Lϼ|8AN.ֱ܍U1CZUdKC˕"K_lNw EmȖ.Sy:f /c2Sz"wHtp"lv?R4a_[`tEOm56%杩VN+I!FO#YUӯݴq+6n%rzcQ&m$G%).>?HnӂxɥU Ke%l oJ|yd ,DAUQQ`gygk"5a{k'P",ˋc {W+ ޜu~b9U29xlסWVk=ҢLJZc' ߭[x)>H'!aGn;u~L)Zb]z3Q:T@q0OLVʽ<6u"h1>.75TJJd(Vd.gI-Z-|=f R:dKyUh.#i2Q@"#N{$£RBe-qeexqM kaBuQ459b4'Q:׿]$_gt@c[{l<6%VtRwgyW8.Rgʾ&_Kˊ !h oc1KR+i)pam,.@J:IPY6z/ݫ{GKp pP]*};kl}7AjjQmt8ƤY+oV,5Hyr9(p\SGyy+w}ݰ*YO Ū\.4IcY1;) M\D  jK{,KӶYEL6:[\&J}o:?|&K&:SxlΨ. 75 ~b6]^C@$q0xet~:탗=XaH.igq5**. ;^5NIflD+sBIޫc'dZ3%`TUҁxr멾Co$~!/UAt%?[A~7W+#7o;j"YYXʛX;KѢ]ی6/^Pjt`)B `j h˽oXei”a9M3m)KbruPs[,p j|uŅ3ď81KP|oFV^#TcuAx+Ae؊BL<ٽ8xP2~w +8kt6vw1@27;@o(1YJ#IG O D&_ ʛfLp _m?NgDfN3Kc|we瀼@%vYfU}e?rxo-:8n+Q܉K޺ 5Pf"apa7GG]>ke BpurnL4*Rh>AI˧ɮ,ڎwzyc:Y^~tU: Ґ;I;LA_ ma4 &vb$b6Lh`.㻹s~ts6=(\V XXi ɹz^ Duマo?a9)qYvpۨփAGвv)?@''.갎*valRwn[5p\[|J0F 1+[Ntpȟ w%݅34imq0 ~/v{rug$~4P0m'Ss"xkȫOxnDWSWRFRdW޸QϜ0_ͲCkeWak܃BB%IH_މ`aUatJ:HT6#e_Oj椖VuyJlƝE||VIJ9owWzsy~LswLS7yP6ISK7%D)N镑L&%ZQ7M5iDW,pGJ&z!2_ xM{,mfDIٜnm-qΩIA{WOeDk\bﳸъsk-e>7Ksz2^Oi]z٤ SFP.M_hZjwнZ"F dYxk]" YBafw ;I`(%bMy wTyRl6͙$;%3yk-k!4lH :O}=̿T-V2NBZne"[KcKESfe|ʣ8+ce& -/ܛlZ#挙̟_o|u)R a9qLriD;m1CuZ+mK}fʷ#!(Lyd0 B,zש;+8 [$Wfέ}Iߴ0aeuWe4]f;9p/5IT &{K}C?9ﯶF덜4`Knh=/M&%="/?u9x C8x/f S2fX.BY&!5{5~n3OEXNU49#pN8c&E`R.OEUk7 R?#EQX2x^'8)3_z̋/o"~ k2SQY&^6è]΄d S׽8Y;z7Sp8a<yqp aYUr4?By0sv9؅J\X]I 6]ܣ-yTI~6?jKt &^-\% .9pU.:hrirU]-fЬ VޓRs >1I;+ewFh^߆|Ur~e0~n,O&ܤ*n_R@U\|vpm'vB%pTuHfc:/ D%Oc u` 8cfN%?vCV.ȹ~g_F+eb6~AANб()oׄ0lyvu5;_^\%=T/1``~n?ˋ?N[OpDyC _!34;K#6&ԺYD,t) z܁P7S7k6 IBqJBT0~TABdhb@0H):9k"ѩ 5mO%`3iKxާ@<sa(}&<+&?F:~5gmeDhn؁ һ2z+g2LbԸ Ghc_)7[ XoQ%l@pb .+QIg =#` w h퀁ύE5R~D39K^);T \2s ~1!rS\h?.xfp;DihP,?O5U`ƶt8o6&O{+1s Yo c qFZHfDܧWQXmjaHՄY As-jHغQFu Bb)Udh뮤=ͭ{#/BcWSo 8W;.vk,I57l_¢# (CGo1Α wL0aDM GN<і+-T9|ktK)Ձ(['VDT )mh[-8J>D+ps2؆4H UHaJא p uW2c!F8 dn9+0IZFټqH8SXjx+qUx7EDc uB?Қbɿ5-ZfW !%]DSEYzkf]L청CgSݩ$Zv:l)4EP:H ZlVD9:b"PeKrl˿$U񛤶aBlpo.!OҹTH-K p6OVJ1핉\23EJ犘-FA/tE^>k$Ϣ4臢z<\wKQV ~?pd`q jE@W>ƒ 2 mݟ.yIŖ Ghl))̠'ZqQ5(7ͽO;Smw]6JB0vD;b]hlp)/Rq3CW Y&' #DEJ \ ȯʬ]& _԰LΣxD*e+V |7P2` X}157R N)eeT׌ # .$ޔٺ*M5,.ZdBAFIIt+<M|i&z1VB cvJ=M &F,^_;zʼx垥 Ԟ9!g#QdgE|dvIҲiS};8Mjه4~S[u/SCSaEq:*kP/$du;\JK9뮇p{AUHD+'mTeN*כ"6^9 L?fj uo!Ksl]=p?~7Je c %FeJXM*ܡ\h$R-,;?^ÉjI\{cŔ&v eY`;e<*GJ4B[/\2ָyw HF#: ~/ HW?Sʈt@&G]zqpss^ƸOp/z#!0[j1!-,j(ȿ]`Q3ꅦ,FY 3rP&U0Eܨ M)Bb;V#<z6];SC?lob'dnOxm݁vO:p6_&lAw 2rb;rvz+$za͌ Vom}%*ǃņvW\<.V*}p3WS{\0 hp"{5PPgGcQ4 6p/`AD.xm]~ jZgRoPA+޶GdVZf!h]Lb0?F`=ooSYLyhUΉg`h ??Xɗ4'#q\δz M_^  z(c"9xu\hE,[ة!D->Z(c$|d"JIl L#*u)owͤXrPQBsU|hI$FdpdG+]u_V[Q!J踙W;Rg lQ)1'Ʈc2d%t38\[e4wClu0fmCCebE~g<r[|^]ӆx)uZs!}&9)@0NUkD|1.P &e٥k`ga2+r)=0nyrc* j*5徕10Ep,ݦ.mxy: O\MC+e&?8¯#R|u=\g(&N' dОwla[$])hXPǗsbrΣ_ N5ᛨWgX#0Aa z4oǑF- F# Hsy"e.)Z-(4Dye6~x5TK" q)嶿q"my~#(:!q g/Er<..4'CEf@ɛ.+~g$45FEt DI>˅ cuEdm`Wן@>ͼOm6)"Ll;++=ɑx?(ҷH}(ɠpCB: 66*?ZBo u\*e[vgo(uR>VRb5X&*R0|t fɪӠKAI:Ёfc o5zOr~l,-YVP=3 ghcW{PivӂBUSDO ƃf⵫ y֦d+ᄈ,=5XJ3b 59h ዐG#*τbVЗMZp*S+RbH*7狚X +R1=~X]c[8?lІ`; Q+7F$^1t%(5[s_Ԋ(霱4 t:w]{ډk{.<,=3uj VJWw74>%U*9a5?L೉BA`p|)F  Ŷ gG@Z<)8^c~dE dvD7)`es-~s>Z0 F$M8]8$5[lȢ%f:}wY9!",կt^h. &PGV08 $/? + ~;Zxe%t*p-<-#:uEӒXzj:&&!օO20{-ߠv6D̫ҟɺqt n,WQ DIK (,rA^ጩ{_Ԙ5~[u^Ǚ@MwdΥi `•An g4%iݴęy=.> />U"|!7"&s=|%Y{^JZՄ4oL$sIfrަ~/q/LFK6 [#+`t/Jw Zъgqr1 RO{?@6r桛)Qx='қqxlBy}Yq0GfL{!'oBK;iޠhbnqD`v'seP>o3+o?Q4MRSE<_Chv|8J7{EXo検WMO_Ž_dbf %\l7Qq߶>j0xŕ"Iw߄e l]bq3  ,b+snjPtF^QٛpFS )5aGah%|ӹGKS2a,erB"Z|9> N[ OK# ^ndPt3-5fwu\͛#.536BY2f#ѝAk,n4rԧ$wP+[X*{SK\O/I]g&D3p(1t 5yGPS`6&t[qD!.c]Dxs$t:#I:#'0#TV}%T-p&Q*0|JZؾ\ҷ7`[}7\u9lvIvȵ@xPf+{rؒxl6^d{Z9o*k1a|cK`,ܴ!DusPi,"{/O>T2+k¡r`i\"G#,K76̃e/ )"=t64k dV\^b!7%k4%يr‚M8P|l03hMXV7jd_D>#vd9k%ZbHJ?@`$(m,Kv7zMYj\7LŽ-w&cǗ<8>8OuƜ+] h풉E0]_/e5EX٨DByt]J+1:ō) @q{)QdȲI\4'JbF)"dJ )]j-j[#ջ&D>jPk|YW/{$GsJ0Yv75y,ZmVVZ" 8?~er{$ؔYM a炃kMz$ ,ͲS`Kb-2eMC84o;kT+mm0Zn>r ZƼm[Ĥ_0b+qb}b\.&B.]Y 7ݕ{}F7\L,ER>6ʕG]1C }yKOpcS%8E:6Yf]Tֺdw>)C(d~W}ȫkYͨ\/h톤-ׄhtm2OtYK3BHcDCj_]0C3fka ,qķU+R#[UU%E ?א{2vjP[m1rQ9ˤL "y!n@taD&_YIG2#h=:z֔D9i tK/?HyΝLn;=XFiV%mP)-`F7 SUÿ/!B?ANV 8'7z$08x%$ RP`6tB_Ma酣ɊڕmlQIT*{7[8D'ԇ |DŽPkX쇳>$+ʼD{iʻ !بqO21Q_dED#saٌ/x&vuVO{︜+^="U`9)pSYHZCà`Ej[RgFEdud>^+}$EOP< DY*R٘7ȭ}FP-BF$ J^xvPY[sY8F:cpy^ը:Dgvg_NfO'-]&]zzG` R]LS*9q<@y" TPfPO J+^Nw3NI@ 3*=QID;Izma<& "6-EBg>DVA@_)g[]ٔdGXG Cќb[0 {7Sޤ(!0|ًc/kI3DX@1a^ <-pF LJܦn ̯)+P3!^7o#Ŕ^{L6J*!4y~լ :#jVꗬ0Njh@/J*o2P^c+(˽$)TELCuSy\ 0hCqX'Ȳ`kFdoҏ~"Pfl)U>@sy# SND@ɼڒ#YZ@٨.EĘة(ѶQGXm$!IFtHs:}io&lOp5B4^E"ȎxޟNS'ؾH"(<$n1+O8!s cS MM[R\VԨnt-H*vO -#jwd+v ]ֱPxo:"YyCNy;̻?^ؕPCpQ+"!D089t֮*dJ_ri9nm&nVG2Sg PcQY7Dep֫;= :@8F8oĕX+uF<ӏ(BK<۟^>_khvR1I͏ `?Ǜ>[#s:|GS=7ȗ Ui5~p@ ߼E_|v'ٽA,I 40|:My=+t =8o\adh~fIzyjq"ĭyMD'vgiPQ~p[yH9)^ݪ"TBl,m?=Τ:YzGB6%vi8^(Z lI)C'A3b,\۪7C|Ev49w.F8p5yhD+G`uŵކ E!_krܿhd\GZ~ɛW~u f0VQQ R 4^b8yP8lI.R-2ݖEN 1ëТ'5ՂA{+po,PA!֓=Ԇ^,l_;T+9X /~a48sϩv ٖi*//W lʏȷKqd,tEÂ4S)sj-gr' f4?l*pH%H fÜ֟kk70DD.V-BXpE I.<,LE6ʗRr4G 6e0pKmy^PQ$]hLVh4=[F3pb!Q>cu0Sk%P2ֽ%^c oR$;] h@a?+6{S$ء޸`HIbx ԨNX?WPzar].4ٞxLb{:z A'md &b1aK W=3TRww|}ghYRM!dX^̃R{\ȎU'+ )ČGٓy#HqbbHd3Dx]I 52kQ+9k&u:!AztQ"ʋE}pwyXdKH\"! x6EA7#}s%y(XqI9 vY2 OrYZU4 6ޭ!d#gmC*L~e%Snx)l8y$v_]qZmӠ̈́.RP":7@G[ fjD ݚIV}`vLFC&Q6ZV _-AWQ@;jA ]("cdFAMykp+]^,ÑdB oKغ.aJ;Ř&oX`E@dvbhKZm-ς'PYRHayWPz(aO=FH K߀T>߈Joݣ;ȎEx-eUV\ଂ.J0dZLM3\| H aᶃ)e =Ÿxg %3n.?{yzHgNt2L`Orhax1(!sW7QmUrC-)D\?7&Ř##\y ]:mJz4FX (= w[ىRlͱovKTqH+AQ%޶]"aY͛Έl ;fg*Nug،aCvh2 Y< */t \(;b< _u;qt:Ɓy )oZ4WYF𮹧 =sq;jMj HְQ;I؝WcȀ^.@/6m&H$ظA!fMbql *2X<Tΰ;mvz9bCܽKGjF;jQjYys=y\Tp.Ŋ`e[`MtT¾7|RKhI;खapAZjP8VHfUyަ)W#Bt|VZ\ qD ꭲ]RcN}Bduwa0.$m: 1p۬olJϗ5:#k9VP!/>W7u.39m3sZ1Me \DppI%m¦Gg1~^_o ?O*H{,. %uĥŧ4UT8Ur;2Z"1%*y'rM/4AA[O=fkup CbT+"c$=5:K#)DbuOf+mTG/Ƹvt4:.Nn0gr.$DᖹխӽJ^bzjUPCQd B`Gc7Am^?'ԋ0C XXֺ=ig)sYt*uA&$mQ7t f%7CE{i蠩슪`Nɇz͝ Bҵ{ÐCP(3XA{ڡaF]͠5?C@n8J){(|ꆀsgpk]Ȅ6u| 0Xo2c mp)=$2.vʶ佚`+ J6 =,@mX'1g.JT2LG)! md @ @*C"wӔlWfF0^S"+߉Z;KD.\>(NV#L}ӧWSBN2K@[_ᰶB:Q8/u9:%W"RIY`{)B@F`IvU _s]y6PELƣ̿PMA+[`!n|<2rjLq$8qIMsfȃ|=bWh`bRW[u)~ula40ŕ:f%٘G30!Z  v O-C~{+k6I9So)fPm4vLMrR[#q?1'D֢:oiwUw.Vj:%uv'n;|_8 tf9\Rܾ{d#Id\eBE۰ =jW9:,wWuS7YC0*ENbGt*)w̍wpv:;,cjW_=.$\RgcϿ'O61N Rkqh'ΊIVZ75%]j@(8oM4dMOv ⛟%YH$I'*of za yQ/쒳X__Y@!5 `EQg?+S$(_P>ARaVbO{K'^u ZN}U᫩+GKS'ESe7w#zZ~e^辈p/!}ݘߐ]S:Y:ƺ[>5w!)PG%?šʨ7]:J@$:TBYp~J_ "ldv酆j\ f%ݫt= :@ 5RR uJjs>[/vXl~@s~J>0̓ 2ҀGKWr oE}|EEכ"=GNTUe& @if#>75lQ~®oBزآuKVzcbgktd"ЕYq/gJ%%iB'Uxv+ҽ|{ XF1܈Z?"$ >iէ aƆ_ u_!+!˩S_fW>"ͥ!K\έ9Eku)ʝݽ/Vtf}}^WӮsMF5MءwE?>:M>=f(RبV ~#Ցv歹"#[iRx+~'hU>^4ABiԺkpTgq2j} Q,? fRP6UQX$aٜ ~(MGcq4&ް|;f@ЃVk:UfLP[)Kat)2+s9r @o#jCQyq&o`7<'n qwQU-7zQM1'靽6uEAzHxbEd$cHcIZ&AJ o JZ9 Z5w4-KO]rps\>F>A}(yBM մNܴiޙX}ek;23˸.z[UaI#K֣HDZL#\YF%` N@UBk.\HvtWA9 ch\jEJjq_jb Fv3wHEgXlߍA]X\^ %}`C$ƴN>٬f@/eBVNM88O}23;_ZB#|z5{h:_Jdk*#nAhT_m*2>/bxQ;B"{CJ:B8gr;o4uě]T:ONSAFOȦs_֋lmRBfVpdX?d+X^ڪ.N=8ӽ3V 2Qwnl}wgHꆪ/g(V$Rg7 U`;?_-,ZܝF*E34K:Aɀk]2>| h Ol$AXKv/A Gu?d5\$.qY7&dZAdTtLDۋ멖egx60go}9ŕrMNAw͵$i_4Oy<067$'S}CkɷhrQW.41JEW6݌/{ GI9+q=h]:qvhMc>}U߁%3?DAa4#lf5@2G3}dǫlS-/fQJTM 8F~u +'/sE٘$V pT&NzoBV_s$9u"cDn][^%qF_8yIbXp!Fo߃5LŪW5!{*"BfTKp5={2\ls:νU)}Df&UG!#qZ~G_F}ҏkh͒Jz[z^z>8/r zk_3%xF4B(߶Pzm&5b-l2܉u2O)a\'?-J삐V<Jm?l)bBΟT@-z-@>sI"9kzhQatZ 8~dy|Kܧ~mN-}m ȔP Y~BBtKƋNVT=,7a&N 2V u4O Y`znh8FFlT"tb=ͼw?nRу}pj̉/t@7D0?yFVO ~+JǛjmBz,aM|߀;# j H{zG"FJ 7G(L3; "}o9-?/{¯*us,9ϭ`LCa@QIՎG+^IebԐ.CAy"[~|R=ab^*_W ެ@ ~ /浗RY)]t~ T*">dWhj1 m;s5̃ G Tj5%jOvVec;qP݆m\J~=K.Z{9t'^aU?a"%Af ^99Afc0{D6Z%{]D0ݐR5Yq_ $DT-0Nɖ_HR%\&W (hv7Xz>{w 4u+âm1#T^K),Ie 6&_I{4\н*l˓qvRJ|BG(;<՟Zl w5MT~Q;Jk *pߴ=;>&#[v[k&2X WCPmm|˙&_:R/i-F [I$9KNGT}S~b dcS?*__b(5qQft/vBp&s+N[?{n-)J K^E 6dzVF%w`f #2adRORJV_rQ5/>vʰ+hζ%n6d0-WCjT; L並S$ln] ;gYbsALmD"~%POAh=xaXHnaE@t!0'h'H׏QLmy9WQS )PskCP`pe+d!$rY-]399=ȭ;<\I ŇB>$q\mno;dҎPFW׶{Q MK:gRTh*}Ǡc\sJFٻ2 'xOWZXZCuRBW5|S, TOچUUmOu=LDn~\*eV=u)~i|1`QEM+ˮxj^*'&cbˑū ϧ<"^37Y􂅝ʚ,"˽ 7o]Cg%]+j+ &YI } 59*j6uzD_ 4RwIK*+S;nima#8ւ_ q Ng5c#lEf $&a;)tD<xj \<Ħh=k՚@RpKQpYph4>Wu{"MTV&7Nh=*ud)䫕ߠ,31LGTPW_,2yo;PLZI^щ֪} я)2S-+n#-+)m&1K i?BliSe`'2"۲ߥ*Xz]nZf~)/%aÏơ] ޚC8AMZ/J-O=8q.WTPrE-1Bg-maf_~C,~+j Wse:5̲8Btm";PC>(W/ҰgVU>Fc**ߨ6ٯ:H^n+ eXT':~(آ1Iҷe,xDX`^ZOJ8m {S%bzd$ț+M%)ZAi01hr\ 2UUq<_nOll}u_:گ)7l)sM|lԔbChTx0O9ڢw.*ᨀ'DVÔ\2UE (ExVE@#hr`aGؤ* Qa4)*lP1}Jc4 #HEpl K0̅ 3#?U̍YmA*bwJl1#^(> nҡ45yAbO/9@r,9{g*p9~_-9 \ޗ.h*TΈT }%J͆ѻ(q`QNj|+ U$#a5Pv(JOFqhzRklum[i< Ff\A-"_&zulgEue D'Y eC+E7z P+ǎe Nz]m=.*xD{†0kP]}FZVED qzWڋ<ܶo4|K}*mtRMvH1Qq_BHFj{em1oLsaJeayv2V.OK009R>`s!ǡٓaӓN.&C6g)67+{UL IJ]קr}HD/'J G>_'qn159ǙF%[$XY"G <`fgcI-^lӅsTM`|yNʹWuuY^{Pn~ו!HcW ,g9tgQT=X_u8\;p?eH*=f~X_O-5Rq@DQzͬ{K.mIk"/D=SUð׵nIK#S:a>`m_f|:"V 1T]VQy(mVrHZVй78guakONMĠΨQiWgSr qjj%W5~jTz푮A'U;Sg#q9G YwI}?qKa71v,SM&AUGdľ2 ZP,x~!vޢ둔 W+xE8B5*!HGኳ$B_b*w'#H-9k t7xfo+$O1>{3PboCh+ 6}sOfC1JL*ل=@W=:CVK(@J]S'4ʁ=t]AחaQгjIAfwLRN:j}d0&\p\OOpADqy&9 4:~IGC6&wڿIp\"(D $z?.X,`i קe<3Õ)#~w!EHWU mdx6-TxnK ]K}ϒR@-[.Ӥl7\\(z&yQ5]0^/'ےŲI 0oh)<3p2 }"z $V *}XG4e6[E7ʩD|.,̬TPBCLV :Г oq YZ