python3-tornado-4.5.3-150000.3.6.1<>, d0bp9|oP]k5= /Оq1lF,7xYP<%€& mKf(+86Qɔ/06'^ 3Ђf=:  j10 t į +C 8cMXIn- dLCmd1@Z9a"yadHhqSTWA1jI& yQ@M~*"g.bGZt9m?repz>Cd?Td % t-NY oi 4i i i |i f%i hXimiu i||@iH(89,:I=FGiHiIPiXY\i]i^Р-bcodefluivwXixiyzPCpython3-tornado4.5.3150000.3.6.1Open source version of scalable, non-blocking web server that power FriendFeedTornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The FriendFeed application is written using a web framework that looks a bit like web.py or Google's webapp, but with additional tools and optimizations to take advantage of the underlying non-blocking infrastructure. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. We built the web server specifically to handle FriendFeed's real-time features — every active user of FriendFeed maintains an open connection to the FriendFeed servers. (For more information on scaling servers to support thousands of clients, see The C10K problem.)d0bibs-arm-3D?dSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/Pythonhttp://www.tornadoweb.orglinuxaarch64# remove egg-info _file_, being replaced by an egg-info directory if [ -f /usr/lib64/python3.6/site-packages/tornado-4.5.3-py3.6.egg-info ]; then rm /usr/lib64/python3.6/site-packages/tornado-4.5.3-py3.6.egg-info fi I>hh DD22**LLcc- - vovo <<A}A}88NGNG((,,TT?G?G))11''{4{4acac6z6zss--g@0I|Y8#D|k1FO,;r0 QS$PP ] ]  4 4   H HJJrrU  A= $V1(DT`z3R!0 j j\p\pHH%d%dۃۃ i ihh$$>>))m#m#LL@V@V!!"{"{%% V V88  ''LL??--.. M>M>..ff $$_/_/55llXd6&+FjDZa>%E+"-E2x+9_,JOS!loXPmx>,&/4PCX%RA d  !)R& 3$"#Vu4g[&sk%* H@! ,^AA큤A큤A큤A큤큤A큤A큤A큤AAA큤AA큤A큤AAA큤A큤A큤A큤A큤A큤큤A큤AA큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤AAA큤A큤A큤d03d02d02d02d02d02dtd02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02dtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtd02dtd02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02dtdtdtdtdtdtdtdtdtdtdtdtdtdtdtd03dtdtdtdtd02dtdtd02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02d02dtdtdtd01W'dtdtdtd01d01d01W'W'dtdtdtdtdtdtdtdtdtdtdtXbdtdtdtdtdtdtdtdtd02d01W(W(W(W(W(W(dtdtdtd02W(W(W(dtdtdtdtdtdtdtdtdtdtdtdtdtd0_ZQd0/W'W'd0/ZQW'ZQW'W'W'W'W'W'ZQW'd0/d0/d0/d0/d0/d0/d0/W'd0/W'ZQW'd03d03W'W'W'd03d03d03W'ZQW'd0/d0/ZQW'XZQXW'd0/W'd0/ZQW'W'ZQZQW'W'd0/d0/d0/d0/d0/d0/d0/d0/d0/d0/d0/W'd0/d0/d0/d03d03Xd03Xd03d0/d0/d0_W'5c90ce91e35ab04c3c67afced57bc2e64731c802d257a07b091f8ad3f74ef27683788d0c838ea3558b0632d543aa6de28c0dce45f972583d390852f36da8e65601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546be5000ad4c78da5681876a5a853c898943b8607c8fa3433e0c7eb925074ded00efd326a40eb5b35f71fd20d56595b19ab12a6aaac550da4e1ded8ef941e512e55a63c5cb88116d33835742e96fc41aca2bb7c9b1e8acaaa4e0d9f6ea845780330629f505e1d46b01e595caf5fbc9c08866a96a093c54a8142291e8027706c7bafe987f08da392581f94055555940aacd4a43ab38bf3dbec1fdb299fa3a3b8fa25ce406616aca572f9f8e447aa672564988f5edabcdf22d2ab81c650923aa1f0144bf6a13de730ab91b575d6d01c0f3a6f079281c2335c9812624ed44fc0d695f0e9956a466c67ca25d326f72bcc22d1ad6845578b76df9b4b6c201d967d8331a54a79f0f7f0f71706762a673cb6b18e2647bca0f9c259e452edde9932df80f45e1fe8f562f9a497459b66072fbc7f7d47a4ad7173d298f73efc67fc51f5c4012ef3a20754d38d93fa9618fe393f4368ef78b4dd09e088e75733083bb0d948f4794ada679f3dbe15cf27f1c14e1ee8bf71cb4ad85789d4aa83ad82f0984beac2d21ae0afe4db4f3febf36e28b35e733a6823d5ff9feb3cc658221ba3072ee34bdd14f9d9eddbec5e8849e98938feedfdddd38cb528afe5d5e0c90cac1bd36ae49486a19467024fa818051156dfdc20dc8347edd08ef34e935dfa38038b22f4a605898a5f91ee38afe69aca24f682b515abec8ae75c86acbcdf686a5ceceb259f8467cb5edbbe6ab747169eee9e91988578a650b5fc9e0cafda995302db0dcf4087898872cfa9b96aa1a5c5f559327fc9133e332dcc2d94dc1b22e0b990730d1b86bf5423ace850101659fb5c5252d564e833d14c0d58dbe60c77f841efcc1acae8f8f24268b3a8c322baa36c618336c2ecd4ad577e47b13aa1093659959c8e5fd68ec6c22b93fadad512dadd650a7959b009ffbc73e9d777e9297c9bd2bd63cbcd67290bdc15c85354c33032b69ccc4971042c49e6265519797f6213900a91be57b73be99a18e961aa5ed39e2d19ec6d3e716e9ffce27490a7e5a280327965a389fa4fd63230d683273e11f3c4af68df8b51db8e1bf349a60817f4984f6bf497ff9e4aea8da1262972b484c04106597cb4df576c5223e0c9b70d361b1f3795749a1d4368c9a8b1d47c04892cc7f63c3a79585e4e1f4414dc033cb68168eb4da1e270c8d0eca374ffcdabed1c106345ea137c641f8c164b39c76cfe313629c84b1865dcf9a978d5612ff475307eeefacb1667648cba809aab95c43d42f3e08b0f7b1d79d15581a04168305daa3c116484d311ed3916e42802283339cef8ed2c0ab9c2c00cfabe3803ac2dd0cbb439aa306652d89d6b30500376c2380f445b46cd658d750def2ce9f86c6ef68c75a7f1d94f43a24f78ffa268daf7252e7ae6adf4d4353c3df849e12aad424269fcdcfb8cf5c29a702a5feda72a50318029173a4b094e1636a06f568820e7538eb575738d52a6541dbb11c5d37dca63c2a38bb1b98940ff0f6bcbe1fb6238583c56a6fdaf144d6bff0d22181fc4b1e224f100b4771a89f497320bb4e27a5b30847b474f98979c3497f456a65326299a47e5ef2f9a5fb53f031fb5b9ea9a7ea0795d721a1e01cfc89f39a76077463a72125925599f14ccf86dc3d9ae7d9a2e084697fe24e8366373da65d06a8670bdbda2ac803563fea5b7f2886a54169765d476154b3e4f248ae1221b229f5078efccb39f866c06860d07ae625a1dc8f05c0b4814793f75c08a6813a552b6149e86b32b1ce8779cc089811723404391e8615acf3933e4b07ddf50d18f9dc2eb9c775ea90b6dd5bc2189bd573985c851e16b31f8d1096bf682963ff298b633d7fba499e841234c8551f3a3759f70d63399e1929f65bb32daaacf2cb9c90033758b04dda393c66bd19bb98ebd7512749a5b20771e3252cd5b5ca6ee41dad0c830bdfa43363a058a30c85c2ba3c5bb06e5445f0e65713162bfea9068e21a78d2b792bba4427fc19d5e0d5b53e82f7a7ae07b4ced81093097f9ddfa7ef2473311aed4ad6af27399431cffcb369e340ef6bceda401d4c751707fc36a476849a51fe53040d484774223207bff789bba3bc76ed590699cfb5e22cef62285cdf02505785f1f7773fbd462214445a18a6062a323665bd48f10cd90dd3808fd5bcfee9043f6a6e5651cd55d463fb0ae7afe2889878109f1f197d795bc275cab73a0d3e0c37fd27fbb71c919cc616bf44f1e7e7dabfae68dd3986f30eace792d00184428061f8f2f8d398a11cc9edf8bdfb0c383314dbcb1046c11f164250fcf10c01ce903be87b45ecac8710fc26e4db5487c8157c802925b97e962ceb95e57471df58b5a6486d366d5704c02030b3991d3a1ca943a3c56960832756bb4fcd302ccbfd9855455895112bfbb90124e46804f3994c6be79f9261a21ca6505f38ad7f03e30d0fa8f7add011aba7dbfbdc58bf499eee0f270b42ca943136588a9214fa9aef1a1811dd9600f56d459a98a9a1cd96c49bfd1bad64d8208805dac2d7b55bf4b4f44f97effb8d0738a62795f2577f1348086bcab41338487870eb696f1a6b883cd1574ed452617f86fc50c9b0931f2b59342349aea8c5ae3e3c31d916d4ad107b7f1980f00339f351d4ea8d4038d98f9ad9638076e3eb698354e00240000315549195ee2889fd21fe73dc625adca844f87a285ba821fa73caf20fd1ff0d07416a015a8f0282ed44db4e2a4cf798b707d21445d52980b1777670f52e0d06d29682b88bb7567bbe089221963f8270e299aaf05cfee72ba7b3334792cf14c5a32ae4b213fbe95ad0f374a15a57cab532bcff5b77cd15a254349bb6bb1754c7b50e4c930da70d9a6e0fc3673120aa2247327962612ba38ceafc1d82ccc5ecaa19193c2e31757a15835980c9998540dd06db115dfc2711dbf75016915221545d92ee9141e1459dd066d17a95a95b9639ef588634abf145ab0b9273a03c66c864c6df3b2d046ce4f1ab890a341befb15b908fe2a7703ca6593d84d87523d1638403169cf76fe1696e7b09b79af17f63b843cd2888c468260a7a9ed9ef599551c06b124ce0e73a2e1241b3994fbd7d2ca47a2f434d151ddf224d681b56e380f34ed8549d28ce71b15195f64c70210d888332486293f9feba3a4a27822c77f555c1b9e0c9e1249e4c3832ba8a4bc601c50afcb312e12d9af718c8bf7afb85e03272fae2a4ddb7cf039f2cafa6ec4e1ef85bf67392f1b47112be889f8b8840733566eebe62275374ad1506d7eddb3f8b6cab12e49db017d19f243a40ca76894c775a5905632e784ab2e5464e2f798bb3bd2f24673436f6704ab7b26b72c7f132541b9a1d42044d93f10c5a8c4cd797721a92382fdc289db8440ed1e0078a77f0f63643a3150a05306116e6ce4ad50078bf7ca546a7a672384727016d1959fac0b3f0657473cacc991109721b2ff97cd301eea8abe9ca81524d6247f3540d6e6c0d33483a3fd2bdf576b9cb2298a387194932d9cf75dc4ec1ad0768f4f043ad18593ce0cdb6466f68d96438b2a38e564ff14cabd62beba8826acdaca3c9d79ead5f0d0af4caaa5fa534513cee1470093d058e750215b4f17db97101814ff6fc945ee2535f70dfd8a74e4759558900821e75db472ed64bed8864166bcc29032b93eec2a88dd516f4fb8927b536230b48561598e402f812ae5c849c2959e19b076c0a2436f266114768aa1265dcd0149a06becb84c58b6027224a999b98c3fb2d807cb2a3ad7e682f7d2bd271483934b3a71e93b277dee029c8c7cbac1c1a4e4ad65a63a665cc932c324f767fbd5233e38e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8556e6b63051088169a80f49350dc6dba67bfbdcff1c4e7cd14b2cc72ceacd28e696e6b63051088169a80f49350dc6dba67bfbdcff1c4e7cd14b2cc72ceacd28e69f710fb5fe6390d2a3b27eb970325ece2141d1b4b36dc5d3cbf009ac001f9bff709f11fc0ad63caf9ca2c0624e876ee5f9277f53b71b8fc2921b6408fd1582ef7877aafabb94fb9a1c6602cd4ae945f8055c5bc95f544e5966af105f9883b0bd434a7ccde7b9eed812ee68367496bad5ce700f712ae4b5594bb51fad251e9608e50fd1af7bc32d89829dd190c8985416652d7123634493f245b8f0b01499b2766ca2cbec7071d89e5a064a3f3f072245764fc285ad168d256b1f0f44c430d84dfec60a96efe1033c633b7d13736dbe64ca2160eec4477ecb6a22dad9733eae8a09022339013f887c62ef4d175dd5735bcae87f12c42d27fdc71e9a0a5876a33e45dff4a798a264e3f3aef56c580e459277a57b9b991764f4c85262518f391740c022bb6ad9acf0dadc8094f2a9f330197e22738cf3f84619a0989a9310b03dc00fbf19f4ebe4bf416b00b374fcf9f943cb536a9df581385e39c287016ef7c476553845ac62e2c0829563c0dfb3a88811214d1f30b34c72646c9e4cc2c9069ff7bad7434a201aa82e664ee899eca020652127ad3999258f0447d270acebd2db1213ee1fb20e870244d13eb1ee1b6a0f78c7c803f33cfeec5f29727694cc634eebf468cec24a9758c1812843418996c27e3b7313cbf69b78e768988103eca47e50bdcf2f0e0d4ad61028e79fec1bcbdcdfafc42164cfd21fee0a5d9aebdab57e656b6329b60507d0b4c218f9262fdcb826072d8ec66fe30c898e6156799e63acc6f751755552b18475844723ecd41569405c9ca3d04696cb5ec203772f65480c50a11518b7c39d950406aa71dc9d503142bf38311849048eeeb31cdb4d117c9f0095e3cf853ca2b3aeecf2ca465a5fc12b408c4f338d1cc018cdf96213eb4cc6d0cdbe28d413df43fedef93851dc978b6689414f877a5a2106d0f7bd816aee8bfc8e3a2d772f158bf1f3ed865983cd9a330ecc7124c6ac68d1c4b556ade180446a680b08a35722ff01654ae90844d65213e9f66044396ec777cf0f89498454f3ed05138b793cad40893fd18909290ee2cb256e8dbfddba441ff90a0cd6310afcdeecd60a7d6e4d2028ca817905b8a2fae6aae92c5600c0afbcc32f7636264fa9e3d9663a5037e6001a4f2d34dfc81409a91027346a64ed3ba9562d62eca7a0417c12e4ee805c23f67a1d12d9cedaac4e8c65b3babc896fca6c7396041e9398fc7b98e5fc0edbaaab74b1915762272793d97a2986bd32b2da9fedba2f45c2eeea91b408dd033a21a1814cb24d9e083f84f9700723f0f2c3a157cadc113e1c49218a298e538fad873236bfec14b393c3c21c3f5f8b4fa0736fd2039b4da80f242106aa97c808bd50dd2f0a6af2d748393e94f22165665c9d27f4555c1908d49dacb6b9fdeda3ebe99f7e8ed120381885fee2c395b29710397a4a67fed06de7e04b75b4c5e0d9d3bb30f13aae762b38d15970dfc41d1553d6652b89966d6642ea2cb829e1dad7df47569e9314a515873d4d335d2873a7d59268ba36e845b346a2c88cd84a64c7a8bf3074998830e8bf1de9f6f9312b908a45d8146133336059d3a67f24b20917d1ff864fb19713c8d52219c4fa0de0e57f9be0ff31cdfdca2006c35c0e7314c29ff7997a86ee4c109974cc99bf982a5ea3bda73acf77c498f70aeff39f131c07594bc42a6be26d27949bf5adb81c0ebf2fac1331f680f4488aaaaa6368f9a3215f5c2c26a442ad550465e59775d46f0e48be741d1c3d01deaabf7908d62ed49b5e838e30e9c1b436c634f0a6cdef1ed9d73b80397f1f74761dab32279fefe0e65c806c2b43bc5b84148da3efc434bf3abf87172ca24cf2c791cb7306a2511cf40a2aa3604a1e21bb528f210f5021ca1fa64ef7bd84b6f14256a38fd1ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8552e6712bd3f5565582e7d9a8dfd2d69fe6754e52e2ea15be3ed87ae562fbc6b08795427d30e7cdc3e68ddde8097fa09723bd09a4c45f8b407baeb810c563045c3795427d30e7cdc3e68ddde8097fa09723bd09a4c45f8b407baeb810c563045c3da622e5c31b5c92eac935ee5616ea070d76fc6a97b6f49e43b04a5be7d491f537f961a1114477b509e19c9f29e2506a902f91632b237647827a28ae0f785ab3ddbc0ffc2cb55b3f1cc04c57f7d1d63c8309410f457da976799b5a8a275b0e88c6d2a094cc33d19df33ea23f182c0623856e279d7d3bc5d301f03f69ae770893710097ff543a5282728f24959dc426798ae146e415ebe19bad281e5d6c31412c4146c7d2c61c22aee1b5a8c06f2a02ef538dbe65f18f9b3c9872e32d8e8e8a086b6374ac9b99eeb439ec38326b1e6917105d5e3cdd56da424049cf2a17ccc4444bd7a0e60c24b6b693ede2a845e958f66729c4e728b91d5449982bb4074cb7902f08553dc2d4ce7c0dff2c873876583ce10d36cae65637c048acd743bb8bc7e59e57a07f6d0a5ee5e1dcd610a851d8775f9d1ea64a1def773961b766833198b374f2604326fc334a67a17fb0d06677d6678c6cf3fc1564b87795b82b4cbae37d916ebb3a50b1f9895df05ab1150e5dbcb20b3565d085fe0bbf7d37658f803033b08c449b7b9e4d03cafda8de714fbd299502c1a25465ffdf28c735a96c0373ffba318cffa1a0cc820c206d62961ddafe0d6cabcb808f5e527bc2ba3b2ea1607d76e928400bb793ac8a63c42a9b2a0eaae37ac18537efacd99e67d9c10767054314f562bbd397b50b04588e0609f2f9570248f52195a425f99ea138ef05c454cba7b6301ddf490a31e230fd70a9c7ddae97dea9b97f32fb84c8999e66d0db619ad7b56cdd3fa724490143c45f3737f3020196270b729ef37228998b4182ee54e9dd93b6e091a229526ac75d3ab9b3fce6677dfb14d5f36067500928571da9261f96a68b88a3b68ef60c8a0ff17a3f7037e07ee10e3786ad7d39b3a0994cb9640ec615d62782cd647dd66fafce8dafb00d4ab31a7b80d80ea635ea25f62e26c0ed86ae8b6e36d19af877e609328c8de0664573274c9c349acbdc40966045a9a04dca2e958c4aeee243f26af8de60719fec2ea52be583b0f6bbb80cbc2c10bab406c263722ce9db553c56d04bc0a95a3c3a9e06cee81e8af1fa7954dbb010e2a2ab07377e55513e1ed36615d464b9a9f8c52d4741a35e150218bba4c0dc540c40169295fd0c81b0b4a02c5c5057bd42fe58f9dce3a894e0483f93848fd7bb5de1ab2ee10027d6843228c10144a09199eb54b0eb3752c2638340c9e40a4b68f369a11c6d61b833381fad6832890fad6153d2480bc2a8ce78ea0fc80c100b3b976cfd38b155f8d7f133cfb648a4ede2ca6de3c1fbaa6ef1a9e351ed58aab58b08a2a4fa86e550238abb4e050b9b75b27fcac536d057d2d91ea1275c64c924a7aa99744a732602093cad8dedbd0cbfd55acfddb77a04d6fb7e806407531e88970f8cabd2e7eec00cc9e33a0a0478efa853c5b32993208eca71561a24ef3a8873006ea0b11590840cfc2fa4a74a375c8b08c41dad3cb8ddcccd1972faaa9cf20c32ec9fc306ce542515fc35c71689ae13fa3621babac6e9c8d1e0781c2495c7452540faacc3c8da372e825c65c3c09c7f2ac2c98ca7d411c2bd39893ba29161a14bf69c85f6493dad2b699ecf620abb6733b71ebf704990a7ed46cceeeaf38c6043e5b0689cf3da25270dc30cf7646b0dd60188c3bac038f4f4eccc5b51efc6e6b9559aa3bfe74860bd3565aba94465892588d1a1bf0b366d482be71ebf3abf0fed634a60d790de109c26d16c5e079a43223e6a2e25b5145d6641484048be556973d83acbc544f7a8cf66b578a0ac860e17889855d34b142e64547a4edb343088ed3f74e38bbbd0d0dd43c3dcd084f9fb73a664268b48677cb66b3918b23592ea92c102fc85e4937eded1393c42cb5fb01712ccecf4ce9319d3031ddb29ec6c3c8c2aac01b8229990208592ed167b4aa4ce2e744ba88a4312b514bff6f01cdabc8c07f6656b45bdb41d67bb5bf08d554bb146a1f47ea5d395b57a935d2ba42057bb1e908d43ed31e29adce93199d6ba970277024f37aae792968a8674306b964e7605b94d48f8e1fcbc1788d88b3f612d44e8bb9c8461f35e3fd76fb6eb1144e751cd17312e7cbdd983f1a3015d8d08320d8a022c94755b2d48c5d5874e9fa3291b6d1044057ab6e6f6be7e3fdc045f7a2175cbc678b2aa4835f96e11289c17e4f96d4692dcc8f87ce909b15f30e1df22a45143fa82c187657b65150eccfca599d50dd0e7bd1270fa4fb05a91c85175965717c0af8590f9bbe3442719bdec800b75b4f70ed0c221cadd32469e2e6c1b55b6ad5603b0c4977614e65fde74ea0a267277cf11867c63e30fd3c5ffbca604ac6c9681c196ff880420311935c89c6eaa31ca90f107cabf893c5087d25be8a373597b5f787cf7412def2733139ace64cd34b1b602c63cb59b9d7fcae24293d354e8441d0c2f4f5f3d5c49884e2f8958444b096b92189157761051f6a4b94632718465e2b8b3fdca97310814119b9d9d76f96cfff22f498c10b153a8205ec87a63927015932f693f871ee82664343a92c54ae6bcfd2d620fba0972d47d85703a05ae7c292ee09bd7c698645dbe64680fec6faac95154aece4992c38ab81023565cb48edbb5e3939756f9e5f1c54111e1a7e0ec4f6ca9ecf9c718a64f6a9d1523c36ae11cbb899c435248f3b4ed69c9a5dc780cf4612c2c1b8833e104dfd518352f79cae748dd685376ad56b2689c30624b722c991531ac26ef5c145e94b38f8c16b054769a9506096f193faf55edb317469893675587b4c79363f691c726450dbc6f044836f57eab277c81cbbc12cf7397fb29cf36d6390a6289f65f9fccbabb2eefb579be2ed19cd90602d58a85af42a29f9f43e726bd5d1768f093b1820f49152b9482e6dba86462faad9cdb390492e3be0a87893b28e84d35f77c8789535d55ec6a814c2c917c43702e45d81ca023f67ec007df5f1306643eb60156bf7af102c8e2ffa3ee5f6be975c2e5baaac3c2b6184384e507a13d551444efefda7ef41ef879690a6f0a23b79009e14653232b9030d96df3b1be617897c02ded34b6056153dc5aa1730be12c89fd27026c4485773a679e4010d1e78208c70d74e63eb7cc1fd131a4d4b3945dd5b4fc881279e2074eeebc42f9df3c4293f2a3bf8257a52d108d7dc92a214129ac4cc55d1098e95498e6a5c51ef717951256a38af751166e13efe18c734f8b8e4f9c401c239eafc7a6c3c63904c9d7cd102bb4b19b8d847323ab210c9f2d5812d274843d61ae9cd81c56c3867093054a89b0a49a47d99440d6b63eafc6cfd5a2775f9de7c48a1caee796efb806ea7138a18810ca772aca23179e26524d5b238c5b9b1f452d6cdfb11449ef704ee09a580a5a249e03ae4756c0c723157d564ebf84cf3905fc8884ef070c2a40ea7225f6911e4320517e4411c6ac11719392d7829172ac35fb1beed9bc2aba781703ab481c74f9e1ec70ea6a2176c6e78bb6862147e74ff46ade51c16d817dad14b0ccdf875730df241d852ee90a645f4280246ea5a9833ce876966aa7bb6d310d3235140b462a69a75d0686af098141b0acf204cda21007e25f09181ee2da623ab7e41ee9622d34412d3719b09ff845e951aa32ccecf66ac3711e6fcd0b84091e02f4c79257f3ab1e2478dc4dc656e3446bf8e8994f8bbbdd777ee309abd687e5d19559225370c14f653f1dbda606785fe1dfc84558a6126eed45ad965ee3a0a5c3a1f2414728a46576e6ac37a6fc37827d59a99458ae8bec8bc3d04d002737fe6eece006f254e1dcdf299b4db07160df20882ea08babb97fb13b19216f37d94a01daf288e43762bb7bdbe0c2c4e32e2e95827d5ce480ee7a64c2628b33be7a22430ea1846915e4e0082fbae9d45907819ee8f8b7762396ec5a745c4b82ded404f25ef74fd23efe033fdf9907c18a33a0446aaf650e295e57fc7526bc6439063eefba5e6cd6e50c071e13edb67f92e4211aebb45c6590e1342dccb0a0c3aca04098f2db42f499dbaa98d88611a0717e34fc81180f5908751973d0ab03b51bc3c206784d305d056dd4cd050255ae4eef43093b66d2dab0a2cb48ff57404d06ab380657df2d7f7abce6332461f43e895720ccbb13feedbe0b7d617d59c224f07612b904f6bccc5d14574bdbe1484c66072840c84266b2710e41eb4de218619065f93d996bfb95e272745304d80e55ed950e3f98dc7df1bcf97b6cfc705a68bcfb4920e5b2bd74257986db5a920ac520712c4f79055bdf082d1d7af6c760282f94a952ea64f8c7d704c84b10da97983f8ae5ad8ca7cf3c444a9f20242ea5c82a703af2a96601dc089df4052fb198764bbb09003c74a323e38cf5fc729f8a83854d6debc3331fdceb6e41dc207cf017a71fd42ac2df47fc416b9fe93d03b71201762413640578b6bf1951f815e0fab6eb442cb11abb6631dbe38d60101171e59ef065f0a351d9ff831f9932d0341fddea80496ec21664d40797df3f786dcadefe3f85b4dac742b54b5b07cc073f678d430a14c91eb463ab55c15e834cfd7a5e0bf67d99a3a2782e0f4a7d288c56dadac54401acc8f78c45cbb6ed17adbf0336254f147791c00c9b686cc0b78c156c6196d8b62286c81338139b4ed2b283dadacecbeb2950f28c15c38b61d0d0ed07467fa06c7ff7a365eff3375380e91b778d8f7b41c016a75128c8494cb40556a7fd034a91874b6aef2ab3ffcfd06f680223fbf331ea9090db0c9f6f597bd9840fd5b171830f6e0b3ba1cb24dfa91f0c95aedc1ecb7937f5e81583b9c8a9b1469964aee80f1b4a10c0c7f6c16db0d4751baa4c1d9097971c5a7692a43753ca2a229e8ec1c3f75c185906fd140ee4b9b971f4fa0fc0a69d302a99f7d6565503d3ffaec972b4f9b87a2e46bcd3d52a1e79afb976f0dd00a001cc76fc92e9c6ac0bd4a132e71e581d4cdfbafcf8c7d62ad59a8926f70cb5fbf9bdb8b4e487501c5bec0d6b003a233627dbc598c3bc79db6fab9082fc1e55a27d93cd05f4e2bc08578413371c6276cbe4481e115ad21da40858001da5995440002021e6db04fd6e1c985c53cac21f9cf9e7b7702eaac485ae0517f98f5dd5e89ac392828d44c26d144897f44b4b2d0b0895da3be6f3545d8bff7d9f3644e3d9d509fb00ec7e1d40f1067e8622d4e71f0df7b3e0c7f3814af2b258bd329b02b5cee62cb34894524fb02d5648f94d4e735d99499f1bee1bffc153804d5fafcbb5688dae5e8da14274324dee0cdfbdcfe7bf9fc33ac2df72e7cc6911e674ff7156519d869663e287d78dc7c6bbc73a7686146a033b1fef978c264e38848dc9ed82ad32cfcdd43ee8736d9e22033400e9533662fb51e83f76a7cf0c4d4876bb95a6958c968412dc8da1ba261aaadd6f8f12443b0687a0be66b2c2ed1ff61ba52bf032177489416d6c06beaf3048822c0165c646c7b5ba46d8a69cf31bccf865de9ddaa33e31a2911ccb113228a9e3eff00b2fc67b63fe78599cea94626f26704f3252e727bc56cd05b054c8a024dcde3bfa9c0b5775dfeeb194331b68f8aee46e31136b04b96849c367edd1df868984c46cf0e7970e2611c55389a28ea05fed21d3fedb28087c0976570a8cb3e31f0b374719d26268b4059f9b82b7a482b4b3fb7e900e341a8d25fc352a2fe3b40eb4c0da91f47b98b609ec7b776127e9afff7d870f6f158a0a5c73d01b6fb21549bf0215e95531fa23c599a317a5ecf932b99043ceef0c8feb15908a6f5af15e486176dc6d9200f40217b9870b40dae7ec885eb5207a2686fb6914e0611de11d67a048f4ac8e9025eccbb80f1d8c40f9f471b30e8b18b09f6e2ad9b8dfbdd799499badcc6b1108b0fdbc8e8d4222cbf47dacba76c5a00a6be4ee2d726f673a44407ce9d5d42e85efaebac7efcad36a640e7d96bcbac182292c74a98925461cd056168881677b59f234baab66aa028ac121881567bf6ee115770aa1e347eec7b54a116c6aa5eb41cf9040fcd14198708d74e61e7f508e1781bf55c2fafaaff3a65f81332e17322da13c093edc7d94ef7a783c0ebf0d743fe835fafa10dcc2996db404df1d0e36cff367eb036eac413eccb020c1c6ae8d91d56f8cba4661733e98e5dcf098422f6acc1e0be0634a3b1806e914944c86b231b88f42c0a5ca674571377adab3261e1e82c1cb78f095ec3a1abcb079b29afce0523de15c4675545f5c13d975d0d685cb204f991775356cddf590234d541c04a5a97b36af321fb23a9b48330d80fbbf5bf6ba3a007ca88c8e109d3e35e3b00995d16045a861e434bf0479e03ee8362a1ea3d0f0be6b5e9f7768bf92047a1ea991ff3d9c432c3c9ffbe21e3b04356a1adfd7eb9c6743d38a0f8098506693de123232335a9a0073dcb168c101085090bd102717caf406ece957e6cbaab65e1087d22621f4fa0531bdee47dedaf119166f8073765ea024784ac2a086cf70d01ad6dc99667b0e08de2ae2ee59eacd60f66fc16e2cf79db9666fd4cf0cf3fa9314359038c8d60aaa739b21ff92f32b6b802d525b0ee44be57334bcd220f89004db4d79a25ffec76630dcb1bcff90855ec4cccf9c1510765dc10d7e716f7f67eac4a7f2ea6c5740541797d0d4542a13ae3be0cae1898887e29483dc5d69d93f3b44aaeb0a8318f904e3d79aa666570d5641da960ca48a2cc09c399dbc7661ec6a22348ebf5a252fe156bfcbc29853808c2d2b886217db35b7f017e5d9dfd25af98617b8fd363741a4dc01f61edf3ffbd1ce2be9e3f4cae49c9df3ce1bdbfaa3e7c4acd4cf504fc552c3f12e1c16683a7aad86ed3dbe61c8bf285616cb0de1eb541973a3102bf2b7cfdf0d74b261967e85c39345e5b23c1ec14ca7c5cf5af6662d44605562e0c3ec70a25b883f5a08c09aba2e518da24f9d7d090a321256ea71ac91c0238fd05e290a14403c214512eb127f157771baeb0afc0aae66c9a197d7eaddfc9567d4e43bff4b2526a31778b16768442d644288a32c7f854f99ccaeb0e12734fa7e926dc6d3706459fcf2628fa280c4490801fe48e42215b99a05e3beb67b542163bc53f485ca3010a27d4dc18b7c4c8bf3864e802eb57e7f540e9b09c7445bcf93e9b7f213987150102cdda85fdcf8668edb9aad98dafbfa7730ee01a5765068f26aec16801be33cac1b9262f74074cea8b36c421b2f183f2c887252deb5ec246d7c2b0a68b469a59026d6c679d958c4d96e563f3cf142cc6e8e5fc76d020fc45e50f1062ec7afb475084fc7047cfafb80afbe5985bd5c54f48bd53edfa3d26b971b28302ba7581fb3b271dd8a894cf9543b0b576b07ed372b5e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85547fed6106a31ebd36abd3b04374b68b4eec7a61dd649bc664296eb099df793c667a100c2357a9b1bce36ea70880f3ce92a4107b6a7231c53b504d4ba1d2926f959e2d678d9928ce75d56a7853605bdfc37f8c9ae97bb2f9f9378a6fc0e04234f465808359a820c95cb44b786f7f7eb79aab07a2802e61bba2bf1d9573ffa650fe2b748ae2ce999868d9f2f59690a3c9ce024456831bfa2bd243a32e7679183b8e07f049425833bcf18fa7aaeef22da33798a14425c4382220b1b44385ea3063758f88ce59fc91b79bd0a491eda2719736df49c430cd560ab4bb8b141d967635658a664c77faa8748007fc52b5a13c0633d77ae0bc52ff1ff7f3915901a9043b7fe83e1e6594814297295a8e37f2822bb5f3cf8f0296e8b69939e224d688d80ca624a38ada9e7bb88b783cb37672079112d989c3ff5f4932be3fe28a7f46227e796cd1f2b86e302a82d61751df139ddd2f66ff22d8644899b0a7528c6754dfcdeadb30bfc11b0bba821faa84143ce43800afdc9b0a1f8da9d76508705cf5db0ee557b89617892015a8dd9db8068935793d88c8b5a1a2d4f2b0333e0d093596422f0ba9e9f19ef0bd4ad0d1f9033bb5d8863619585693ca1ebbc91325f165df01bcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30demos/appengine/templates/archive.htmldemos/appengine/templates/entry.htmldemos/appengine/templates/feed.xmldemos/appengine/templates/home.htmldemos/chat/static/chat.cssdemos/chat/templates/message.htmlrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-tornado-4.5.3-150000.3.6.1.src.rpmpython3-tornadopython3-tornado(aarch-64)@@@@@@@    /bin/shld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpython3.6m.so.1.0()(64bit)python(abi)python3python3-simplejsonrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.63.0.4-14.6.0-14.0-15.2-14.14.1dt]ZZ@ZH@Z@ZN@Z'ZfYYY@YMY?Y.@X@X-X)@VzVhVf@V"8@V VV@UpU5@U7@qzhao@suse.comvcizek@suse.comro@suse.deaplanas@suse.comaplanas@suse.comtoddrme2178@gmail.comjmatejek@suse.comtchvatal@suse.comarun@gmx.deopensuse_buildservice@ojkastl.deopensuse_buildservice@ojkastl.detoddrme2178@gmail.comjmatejek@suse.comjmatejek@suse.comdmueller@suse.comtoddrme2178@gmail.comjmatejek@suse.comdmueller@suse.comjmassaguerpla@suse.comtoddrme2178@gmail.comkkaempf@suse.commc@suse.comfcastelli@suse.comtoddrme2178@gmail.comtampakrap@opensuse.orgaboe76@gmail.comseife+obs@b1-systems.commcihar@suse.cz- Add tornado-Fix-an-open-redirect-in-StaticFileHandler.patch: Backport from upstream, Fix an open redirect in StaticFileHandler. Under some configurations the default_filename redirect could be exploited to redirect to an attacker-controlled site. This change refuses to redirect to URLs that could be misinterpreted (CVE-2023-28370 bsc#1211741).- Add patch to skip tests failing with OpenSSL 1.1.1 (bsc#1149792) * it happens only when using TLS 1.3, so if user wants to use tornado, they can hand disable the TLS 1.3 and continue * add tornado-skip-failing-tests.patch- add tornado-testsuite_timeout.patch (bsc#1085661) extend timeouts in testsuite to allow successful build on ppc64le- Allows Recommends and Suggest in Fedora- Recommends only for SUSE- Update to version 4.5.3 + tornado.curl_httpclient * Improved debug logging on Python 3. + tornado.httpserver * ``Content-Length`` and ``Transfer-Encoding`` headers are no longer sent with 1xx or 204 responses (this was already true of 304 responses). * Reading chunked requests no longer leaves the connection in a broken state. + tornado.iostream * Writing a `memoryview` can no longer result in "BufferError: Existing exports of data: object cannot be re-sized". + tornado.options * Duplicate option names are now detected properly whether they use hyphens or underscores. + tornado.testing * `.AsyncHTTPTestCase.fetch` now uses ``127.0.0.1`` instead of ``localhost``, improving compatibility with systems that have partially-working ipv6 stacks. + tornado.web * It is no longer allowed to send a body with 1xx or 204 responses. + tornado.websocket * Requests with invalid websocket headers now get a response with status code 400 instead of a closed connection.- only buildrequire futures / singledispatch if python2 is present (fixes build in environments that don't have python2 at all)- Distribute license file- specfile: * removed tornado-configtest.patch: fixed upstream * update tornado-async-deprecation.patch (partly integrated) - update to version 4.5.2: * Tornado now sets the FD_CLOEXEC flag on all file descriptors it creates. This prevents hanging client connections and resource leaks when the tornado.autoreload module (or Application(debug=True)) is used. - changes from version 4.5.1: * tornado.log + Improved detection of libraries for colorized logging. * tornado.httputil + url_concat once again treats None as equivalent to an empty sequence. - changes from version 4.5.0: * long changelog, see http://www.tornadoweb.org/en/stable/releases/v4.5.0.html for details- added %{python_module backports.ssl_match_hostname} on SLES12 GA aka SP0, to avoid build errors - explicit BuildRequires for certifi on SLES12 GA aka SP0 only- added certifi to BuildRequires, to fix 'ImportError: No module named certifi'- Fix tests- in %pre, remove egg-info file if installed, because it's being replaced by a directory (bsc#1035604)- replace the complicated condition for requiring backports.ssl_match_hostname with unconditional requirement for Python >= 2.7.9- require python-backports.ssl_hostname only on python 2.x- update to 4.4.3 * The `tornado.auth` module has been updated for compatibility with `a change to Facebook's access_token endpoint.- tornado-configtest.patch: fix test failure when __file__ is not absolute - tornado-async-deprecations.patch: filter test failures due to async deprecation warnings, to fix build on python 3.6 - update for multipython build - enable test suite- update to 4.4.2: * Tornado now requires Python 2.7 or 3.3+; versions 2.6 and 3.2 are no longer supported. Pypy3 is still supported even though its latest release is mainly based on Python 3.2. * The `monotonic `_ package is now supported as an alternative to `Monotime `_ for monotonic clock support on Python 2.- add singledispatch and backports_abc dependencies as stated in docs/releases/v4.3.0.rst * Tornado has several new dependencies: (...) ``singledispatch`` on all Python versions prior to 3.4 (This was an optional dependency in prior versions of Tornado, and is now mandatory), and ``backports_abc>=0.4`` on all versions prior to 3.5 Since this python module works with python version >= 2.7.9 (otherwise it would be called python3-tornado, afaiu)- Switch to pypi tarball. It uses "4.3" instead of "4.3.0"- Update to 4.3.0 - The new async/await keywords in Python 3.5 are supported. Deprecation notice - This will be the last release of Tornado to support Python 2.6 or 3.2. See http://www.tornadoweb.org/en/stable/releases/v4.3.0.html- fix macro - use package name python-backports-ssl_match_hostname on rhel7 - define py_ver where it does not exist- python-certifi is an optional depedency when python 2.7.9 is available.- python-certifi is a hard dependency, not an optional one.- Remove python-Twisted BuildRequires. It causes a python-cryptography build dependency, which is currently broken on SLE11SP4 due to old OpenSSL version- Update to 4.2.1: Security fix: * This release fixes a path traversal vulnerability in StaticFileHandler, in which files whose names started with the static_path directory but were not actually in that directory could be accessed. - Update to 4.2: Backwards-compatibility: * SSLIOStream.connect and IOStream.start_tls now validate certificates by default. * Certificate validation will now use the system CA root certificates instead of certifi when possible (i.e. Python 2.7.9+ or 3.4+). This includes IOStream and simple_httpclient, but not curl_httpclient * The default SSL configuration has become stricter, using ssl.create_default_context where available on the client side. (On the server side, applications are encouraged to migrate from the ssl_options dict-based API to pass an ssl.SSLContext instead). * The deprecated classes in the tornado.auth module, GoogleMixin, FacebookMixin, and FriendFeedMixin have been removed. * see more details: http://www.tornadoweb.org/en/stable/releases/v4.2.0.html- fix build with non-SUSE distributions- Update to 4.1: * If a `.Future` contains an exception but that exception is never examined or re-raised (e.g. by yielding the `.Future`), a stack trace will be logged when the `.Future` is garbage-collected. * New class `tornado.gen.WaitIterator` provides a way to iterate over ``Futures`` in the order they resolve. * The `tornado.websocket` module now supports compression via the "permessage-deflate" extension. Override `.WebSocketHandler.get_compression_options` to enable on the server side, and use the ``compression_options`` keyword argument to `.websocket_connect` on the client side. * When the appropriate packages are installed, it is possible to yield `asyncio.Future` or Twisted ``Defered`` objects in Tornado coroutines./bin/shibs-arm-3 1688088674  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi4.5.3-150000.3.6.14.5.3-150000.3.6.1   ! ""#$%%&&''(('))*+,tornadotornado-4.5.3-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txttop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_locale_data.cpython-36.opt-1.pyc_locale_data.cpython-36.pycauth.cpython-36.opt-1.pycauth.cpython-36.pycautoreload.cpython-36.opt-1.pycautoreload.cpython-36.pycconcurrent.cpython-36.opt-1.pycconcurrent.cpython-36.pyccurl_httpclient.cpython-36.opt-1.pyccurl_httpclient.cpython-36.pycescape.cpython-36.opt-1.pycescape.cpython-36.pycgen.cpython-36.opt-1.pycgen.cpython-36.pychttp1connection.cpython-36.opt-1.pychttp1connection.cpython-36.pychttpclient.cpython-36.opt-1.pychttpclient.cpython-36.pychttpserver.cpython-36.opt-1.pychttpserver.cpython-36.pychttputil.cpython-36.opt-1.pychttputil.cpython-36.pycioloop.cpython-36.opt-1.pycioloop.cpython-36.pyciostream.cpython-36.opt-1.pyciostream.cpython-36.pyclocale.cpython-36.opt-1.pyclocale.cpython-36.pyclocks.cpython-36.opt-1.pyclocks.cpython-36.pyclog.cpython-36.opt-1.pyclog.cpython-36.pycnetutil.cpython-36.opt-1.pycnetutil.cpython-36.pycoptions.cpython-36.opt-1.pycoptions.cpython-36.pycprocess.cpython-36.opt-1.pycprocess.cpython-36.pycqueues.cpython-36.opt-1.pycqueues.cpython-36.pycrouting.cpython-36.opt-1.pycrouting.cpython-36.pycsimple_httpclient.cpython-36.opt-1.pycsimple_httpclient.cpython-36.pycstack_context.cpython-36.opt-1.pycstack_context.cpython-36.pyctcpclient.cpython-36.opt-1.pyctcpclient.cpython-36.pyctcpserver.cpython-36.opt-1.pyctcpserver.cpython-36.pyctemplate.cpython-36.opt-1.pyctemplate.cpython-36.pyctesting.cpython-36.opt-1.pyctesting.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycweb.cpython-36.opt-1.pycweb.cpython-36.pycwebsocket.cpython-36.opt-1.pycwebsocket.cpython-36.pycwsgi.cpython-36.opt-1.pycwsgi.cpython-36.pyc_locale_data.pyauth.pyautoreload.pyconcurrent.pycurl_httpclient.pyescape.pygen.pyhttp1connection.pyhttpclient.pyhttpserver.pyhttputil.pyioloop.pyiostream.pylocale.pylocks.pylog.pynetutil.pyoptions.pyplatform__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycasyncio.cpython-36.opt-1.pycasyncio.cpython-36.pycauto.cpython-36.opt-1.pycauto.cpython-36.pyccaresresolver.cpython-36.opt-1.pyccaresresolver.cpython-36.pyccommon.cpython-36.opt-1.pyccommon.cpython-36.pycepoll.cpython-36.opt-1.pycepoll.cpython-36.pycinterface.cpython-36.opt-1.pycinterface.cpython-36.pyckqueue.cpython-36.opt-1.pyckqueue.cpython-36.pycposix.cpython-36.opt-1.pycposix.cpython-36.pycselect.cpython-36.opt-1.pycselect.cpython-36.pyctwisted.cpython-36.opt-1.pyctwisted.cpython-36.pycwindows.cpython-36.opt-1.pycwindows.cpython-36.pycasyncio.pyauto.pycaresresolver.pycommon.pyepoll.pyinterface.pykqueue.pyposix.pyselect.pytwisted.pywindows.pyprocess.pyqueues.pyrouting.pysimple_httpclient.pyspeedups.cpython-36m-aarch64-linux-gnu.sostack_context.pytcpclient.pytcpserver.pytemplate.pytest__init__.py__main__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.pycasyncio_test.cpython-36.opt-1.pycasyncio_test.cpython-36.pycauth_test.cpython-36.opt-1.pycauth_test.cpython-36.pycconcurrent_test.cpython-36.opt-1.pycconcurrent_test.cpython-36.pyccurl_httpclient_test.cpython-36.opt-1.pyccurl_httpclient_test.cpython-36.pycescape_test.cpython-36.opt-1.pycescape_test.cpython-36.pycgen_test.cpython-36.opt-1.pycgen_test.cpython-36.pychttp1connection_test.cpython-36.opt-1.pychttp1connection_test.cpython-36.pychttpclient_test.cpython-36.opt-1.pychttpclient_test.cpython-36.pychttpserver_test.cpython-36.opt-1.pychttpserver_test.cpython-36.pychttputil_test.cpython-36.opt-1.pychttputil_test.cpython-36.pycimport_test.cpython-36.opt-1.pycimport_test.cpython-36.pycioloop_test.cpython-36.opt-1.pycioloop_test.cpython-36.pyciostream_test.cpython-36.opt-1.pyciostream_test.cpython-36.pyclocale_test.cpython-36.opt-1.pyclocale_test.cpython-36.pyclocks_test.cpython-36.opt-1.pyclocks_test.cpython-36.pyclog_test.cpython-36.opt-1.pyclog_test.cpython-36.pycnetutil_test.cpython-36.opt-1.pycnetutil_test.cpython-36.pycoptions_test.cpython-36.opt-1.pycoptions_test.cpython-36.pycprocess_test.cpython-36.opt-1.pycprocess_test.cpython-36.pycqueues_test.cpython-36.opt-1.pycqueues_test.cpython-36.pycresolve_test_helper.cpython-36.opt-1.pycresolve_test_helper.cpython-36.pycrouting_test.cpython-36.opt-1.pycrouting_test.cpython-36.pycruntests.cpython-36.opt-1.pycruntests.cpython-36.pycsimple_httpclient_test.cpython-36.opt-1.pycsimple_httpclient_test.cpython-36.pycstack_context_test.cpython-36.opt-1.pycstack_context_test.cpython-36.pyctcpclient_test.cpython-36.opt-1.pyctcpclient_test.cpython-36.pyctcpserver_test.cpython-36.opt-1.pyctcpserver_test.cpython-36.pyctemplate_test.cpython-36.opt-1.pyctemplate_test.cpython-36.pyctesting_test.cpython-36.opt-1.pyctesting_test.cpython-36.pyctwisted_test.cpython-36.opt-1.pyctwisted_test.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycutil_test.cpython-36.opt-1.pycutil_test.cpython-36.pycweb_test.cpython-36.opt-1.pycweb_test.cpython-36.pycwebsocket_test.cpython-36.opt-1.pycwebsocket_test.cpython-36.pycwindows_test.cpython-36.opt-1.pycwindows_test.cpython-36.pycwsgi_test.cpython-36.opt-1.pycwsgi_test.cpython-36.pycasyncio_test.pyauth_test.pyconcurrent_test.pycsv_translationsfr_FR.csvcurl_httpclient_test.pyescape_test.pygen_test.pygettext_translationsfr_FRLC_MESSAGEStornado_test.motornado_test.pohttp1connection_test.pyhttpclient_test.pyhttpserver_test.pyhttputil_test.pyimport_test.pyioloop_test.pyiostream_test.pylocale_test.pylocks_test.pylog_test.pynetutil_test.pyoptions_test.cfgoptions_test.pyprocess_test.pyqueues_test.pyresolve_test_helper.pyrouting_test.pyruntests.pysimple_httpclient_test.pystack_context_test.pystaticdirindex.htmlrobots.txtsample.xmlsample.xml.bz2sample.xml.gzstatic_foo.txttcpclient_test.pytcpserver_test.pytemplate_test.pytemplatesutf8.htmltest.crttest.keytesting_test.pytwisted_test.pyutil.pyutil_test.pyweb_test.pywebsocket_test.pywindows_test.pywsgi_test.pytesting.pyutil.pyweb.pywebsocket.pywsgi.pypython3-tornadodemosappengineREADMEapp.yamlblog.pystaticblog.csstemplatesarchive.htmlbase.htmlcompose.htmlentry.htmlfeed.xmlhome.htmlmodulesentry.htmlbenchmarkbenchmark.pychunk_benchmark.pygen_benchmark.pystack_context_benchmark.pytemplate_benchmark.pyblogREADMEblog.pyschema.sqlstaticblog.csstemplatesarchive.htmlbase.htmlcompose.htmlcreate_author.htmlentry.htmlfeed.xmlhome.htmllogin.htmlmodulesentry.htmlchatchatdemo.pystaticchat.csschat.jstemplatesindex.htmlmessage.htmlfacebookREADMEfacebook.pystaticfacebook.cssfacebook.jstemplatesmodulespost.htmlstream.htmlfile_uploadfile_receiver.pyfile_uploader.pyhelloworldhelloworld.pys3servers3server.pytcpechoclient.pyserver.pytwitterhome.htmltwitterdemo.pywebsocketchatdemo.pystaticchat.csschat.jstemplatesindex.htmlmessage.htmlwebspiderwebspider.pypython3-tornadoLICENSE/usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/tornado-4.5.3-py3.6.egg-info//usr/lib64/python3.6/site-packages/tornado//usr/lib64/python3.6/site-packages/tornado/__pycache__//usr/lib64/python3.6/site-packages/tornado/platform//usr/lib64/python3.6/site-packages/tornado/platform/__pycache__//usr/lib64/python3.6/site-packages/tornado/test//usr/lib64/python3.6/site-packages/tornado/test/__pycache__//usr/lib64/python3.6/site-packages/tornado/test/csv_translations//usr/lib64/python3.6/site-packages/tornado/test/gettext_translations//usr/lib64/python3.6/site-packages/tornado/test/gettext_translations/fr_FR//usr/lib64/python3.6/site-packages/tornado/test/gettext_translations/fr_FR/LC_MESSAGES//usr/lib64/python3.6/site-packages/tornado/test/static//usr/lib64/python3.6/site-packages/tornado/test/static/dir//usr/lib64/python3.6/site-packages/tornado/test/templates//usr/share/doc/packages//usr/share/doc/packages/python3-tornado//usr/share/doc/packages/python3-tornado/demos//usr/share/doc/packages/python3-tornado/demos/appengine//usr/share/doc/packages/python3-tornado/demos/appengine/static//usr/share/doc/packages/python3-tornado/demos/appengine/templates//usr/share/doc/packages/python3-tornado/demos/appengine/templates/modules//usr/share/doc/packages/python3-tornado/demos/benchmark//usr/share/doc/packages/python3-tornado/demos/blog//usr/share/doc/packages/python3-tornado/demos/blog/static//usr/share/doc/packages/python3-tornado/demos/blog/templates//usr/share/doc/packages/python3-tornado/demos/blog/templates/modules//usr/share/doc/packages/python3-tornado/demos/chat//usr/share/doc/packages/python3-tornado/demos/chat/static//usr/share/doc/packages/python3-tornado/demos/chat/templates//usr/share/doc/packages/python3-tornado/demos/facebook//usr/share/doc/packages/python3-tornado/demos/facebook/static//usr/share/doc/packages/python3-tornado/demos/facebook/templates//usr/share/doc/packages/python3-tornado/demos/facebook/templates/modules//usr/share/doc/packages/python3-tornado/demos/file_upload//usr/share/doc/packages/python3-tornado/demos/helloworld//usr/share/doc/packages/python3-tornado/demos/s3server//usr/share/doc/packages/python3-tornado/demos/tcpecho//usr/share/doc/packages/python3-tornado/demos/twitter//usr/share/doc/packages/python3-tornado/demos/websocket//usr/share/doc/packages/python3-tornado/demos/websocket/static//usr/share/doc/packages/python3-tornado/demos/websocket/templates//usr/share/doc/packages/python3-tornado/demos/webspider//usr/share/licenses//usr/share/licenses/python3-tornado/-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:29669/SUSE_SLE-15_Update/00c2b5f6213f4a866881ebada7a8c6d8-python-tornado.SUSE_SLE-15_Updatedrpmxz5aarch64-suse-linux    directoryPython script, ASCII text executableASCII textpython 3.6 byte-compiledPython script, UTF-8 Unicode text executableemptyELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=60b135015d3de20356bb6992ffb21b3f7e873bfe, strippedUTF-8 Unicode textGNU gettext message catalogue, UTF-8 Unicode textXML 1.0 document, ASCII textXML 1.0 document, ASCII text (bzip2 compressed data, block size = 900k)XML 1.0 document, ASCII text (gzip compressed data, was "sample.xml", last modified: Thu Jul 30 02:32:39 2015, max compression, from Unix)Python script, ASCII text executable, with very long linesHTML document, ASCII text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRc[v{hO<-<python3-Twistedpython3-pycarespython3-pycurlpython3-service_identityutf-84d246fd96b4a213548754bb94e24fd8dc2d1283e48b2f2e383380d4b4ad1bac5?7zXZ !t/+=]"k%w#) `>fhFaC&A@.`MK-j~}4lSћ95_r;mjJEUBh2Ө UNTg$B1dD'6<=5#?GQl0;zKK}grw; Qbp Omy%b]h$^T:^SB'bPdi /#QBlTTFd/곻 ."'ASEUq6>+~2xOFl@2zʼ-C,j"6&I#`&DF&S_$ ` JS.= sw.Lvl !鍎"n30KpO|9Fz\'Ҵjݽ kdWz:wUYFS_voJ*1%Oh27QJ Hs:KOwW4˴Z}iI]@01|_U'yZ'ȧO`eZk1Y1)A('ꉉHrM[V0 H\;~"~"S޵{ll>_A2=ddIiz`vx`=Psw8JQJO8yP0U8Jqt6>_{(~Ǽ: ]N)Oj={F䗍4p4:Iյ_{0 g l@IkZz)%7·61̕;Cd+~ PI J#6h JGuO:5][3,Ll(uLGʌvq4ÑkxZ^pM4=dqրx9v4;Ũz;+?irC5ZE_cdgfB}^YNdGy*I]WYmb#Zy۬-ZWpX iݒ(HQYrFiLjDxXVM7KaM]T 5gʐ 0\^RSb܆)X.:V~뺴PPGwDF 8G2މ | 㨻̭pˊbW*LW2/Z-!5RTHz!B'z&^3& gZȓ^|#}RLK^1'i*iG`Z+tj9?R7)EW:@x~N%J,@[g aYlVO ГksSyT+yB7+σn LU_h!%8'F¯HP;*|@z/!:SƳ2~ O(}<.THsSڔP\d$Fa=#xcrc 0ĐiorPx ̽f$дfk"`ꋅ<⃹tPHg3QWkq#Qnt71-VsU)%=G >ɠdӶc7O]{ 7_ug"<=qz՜`fl,PC!Fre]S+uX7c k]Mc>jVڥmWxcϖJ}k79\-:htl l>_WA)6]Ryr /./z캴" )GAnTa|gu utYB>Ŷm{ad3um9 K Ms6 U#S$'"׾}vz~e]$U2,KY5}8zm{nL$x5X$e4?~Ϲ{%<JjJG_fCQuH4:]]kIx}wֆ@1GnȐ?dԛO+xzp) uOCZPKAB,-*a~E@VDPfF%yoVg;}}4YJT۬gjG# 틖CZL~P[DK_' ܘ6iv3?)wIo6YQS'(d^þ92c:Z;)$|ZEl;Nƙ{uv,LtdGe4ḱ"8+z*Κ:< zpID-IнS ϕ(S: `p!瑱<'[pq="9:1)E$Yq؞=}ScqMe&t+kgR@w >EDʩBYbFr;aD\~'& h"% ŠX 3B1d;W&֜|\;nЮwE7nk"$FL "!$n=tMhP I++?YjϗbG5*Xz򴓇 8fni_n5{CO&L<}Qf|md코N/8WW< fG^֑ \}_,]5Dyo 50-P 18QYtܼ+R{j+vAЉ Ĩ~H YpY'ՠ[N>_ ҦJS+=}^XE3GAt*.2.}$֦f_}Q~N'(c&k1O8xB3u5h8Gw7i*<1ˁ2ۙn|Kک6 )#6]riV id@U cC \hCE)Қr{J}Mद `M? f1 ) ~;e[WI.wElSO9}̉5;K !F>-^OrY?aYYQ o%yzj^ۄ#K)4Cy< 73Lldyaq|]'--Áa~6Т ?$<K"Z$'8?u E3akĶٿÖam;CZq>$.;:p=/# pc|\AͶ.>3fe~| 2п`ܛXv]'f@IcϪj]l:>ϵ`8wXODhrp\7YhAхY{mBTELg5/Frl뷯ojpc[7O5^;sk p,`{ w2f(Ic)WQѩܴ˼rMRv(a6dzI"eUmҲ]Ш S*תe1Ov3DRj'CTB2v  p} aN=ke]@(@: '=njbFw3tHa 97+HZϪ'x1LWqR.2mU*+3DQ0]\f=,ɸ|Yc@_Duaxՠ<=N~1nWKoPt6l#ù1R5*U(?|F;$VqNjl04 /<`ռC~0tȈs=Ց]a]CWsGBaE&+ pc12@Am|6)Ba^="^.$9nN5k%HM ]~_K=9