python-Twisted-doc-17.9.0-lp151.3.6.1<>,Љ]_y/=„9mz<šʾR =w%5%}]Lwx~O[0J:&` N^asl|_D2D፴{(I\gK&* 'S i˙b_4}px$%=96dVdA/K~|glcPٵq"ۖ+~P Sns& @+IZfЌ83{uv 'vNwFkE JMU6>;|?|xd ( o04<@S\` y  J x    L|( 89\:F LG `HI"X$Y$\$]/<^R_Zbicidj^ejcfjfljhuj|vt)z||(|,|2|tCpython-Twisted-doc17.9.0lp151.3.6.1An asynchronous networking framework written in Python - DocumentationAn extensible framework for Python programming, with special focus on event-based network programming and multiprotocol integration. This package contains the documentation for python-Twisted]_ybuild80%JeopenSUSE Leap 15.1openSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/Pythonhttp://twistedmatrix.com/linuxx86_64nv pp(>Z=O3~N3  0 5>+"{B[+ u-CI1)  A Yx^8WD4mH` U *Ht 0fz4tL 1  = tG  +D5i_C X F:0 ? B | 8' =6|6>.&?K@G8Kd*2]%WiT;w]'=sc/ij \IEFOBD;]y^b{LC\k}8*^hO/_"Q Ax 0OC|$# Myq  : %$"30mSV+   zW$> B  wt"t Ad$3*9Z=% % Nk+0>+Bikp@i; [=4$G L% M{d C j=Psc#W\.[tNcQO h -s >M edl T%{5R y@eQ`|j_\r5SxTWaxn =+ a   $ ~ oCo , :V$:{+9o^vd%#. K~=] ' |@A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AAAAA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AAAA큤AA큤A큤AA큤AA큤A큤A큤AA큤A큤AA큤A큤AA큤AA큤A큤AA큤A큤AA큤A큤A큤AA큤A큤]_wW_Y+W_W_Y+W_Y+W_Y+Y+W_Y+Ys*Y+Y+W_W_W_W_W_W_W_W_W_W_W_W_W_Y+Y+W_Ys*Y+Ys*Ys*Ys*Ys*Ys*Ys*W_Ys*Ys*Ys*Ys*Y+Ys*W_Y+Ys*Ys*YrY+Ys*Ys*Ys*Ys*Ys*Y+Y+Ys*Ys*Ys*Ys*Ys*Ys*Ys*Ys*Ys*W_Ys*Y+W_Y+Ys*W_W_Y+Ys,YrYrYs*YrYs*Ys*W_Y+Ys*Ys*Ys*Ys*Ys*Ys*Ys*Ys*W_Ys*W_W_W_Ys+Ys+W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+W_W_Ys+Ys+W_W_Ys+W_W_Ys+Ys+Ys+Ys+W_W_Ys+Ys+Ys+W_W_W_Ys+Ys+Ys+Ys+Ys+Ys+Y+Y+Y+Y+Y+W_W_W_Ys+W_W_W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Y+Ys+Ys+Ys+YrYs+Ys+Ys+Ys+W_Ys+Ys+W_Ys+Ys+Ys+Ys+W_Ys+W_Y+Y+W_W_W_W_Ys+W_W_W_W_Y+W_W_Ys+Y+W_Y+W_Y+W_Y+W_W_Ys+Ys+W_W_W_W_W_Y+Ys+Ys+W_Ys+Ys+W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+W_Y+Ys+Y+Ys+W_Ys+Y+W_W_Y+W_Y+Ys+W_Y+W_W_W_Y+Y+W_W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Y+W_W_W_W_W_Ys+Ys+Ys+Ys+Ys+W_Ys+Y+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+W_Ys+Ys+Ys+Ys+W_W_W_W_Ys+W_Ys+W_Ys+W_Ys+W_YYs+Ys+W_W_Ys+Ys+W_Ys+Ys+Ys+Ys+Y+W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Y+Y+W_Y+W_Ys+W_W_Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+W_Y+Y+W_W_Ys+W_W_Ys+W_Y+W_W_W_W_W_W_W_W_W_W_W_Y+W_W_WY+W_W_Y+YEW_W_Y+Y+Y+Y+W_Ys+Y+Y+W_Y+W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_W_XYs+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+Ys+W_W_W_W_W_W_W_W_W_W_W_Ys+W_W_W_W_W_Y+Y+YrW_Y+Y+Ys+Ys+W_W_W_W_Ys+Ys+Y+W_Ys+YrY+Ys+Y+Y+W_Ys+Ys+W_W_W_W_W_Ys+Ys+Ys+Ys+Y+W_W_W_W_Ys+Ys+Ys+Ys+W_Y+Y+W_W_W_W_W_Y+Ys+W_W_Y+Y+W_W_Ys+W_W_YrY+Y+W_Ys+Y+W_W_W_W_W_Y+Y+Ys+W_W_W_W_Ys+Ys+Ys+W_W_W_W_W_W_W_W_W_Ys+W_Ys+Y+Ys+W_W_Y+Y+Ys,Ys+W_Ys+Ys+Ys+Ys+Ys+Ys+W_W_W_Ys+W_W_W_W_W_W_W_Ys+Ys+Ys+Ys+Ys+Ys+W_W_W_W_Ys+W_W_W_W_W_W_W_W_W_W_Ys+W_Ys+W_W_Ys+Ys+Y+Ys+W_W_Ys+Ys+Ys+Ys+Ys+Ys+W_W_W_Ys+Ys+W_Ys+Ys+Ys+Ys+Ys+W_Ys+Y+W_W_W_W_W_W_W_W_W_W_W_W_W_Y+]_ W_Ys+Ys+Ys+Ys+]_ Y+W_XW_XYr45d73673d32c0fd32ffaf160a545070b576585aebefdb3eebcc1dfd4ffd98e4755b1f7657c6383e2d4526f395443b41315f6fe9f9cecc601785d1eba506cbdc4df1d300d23dd9e885af4a0f83cf3d87238a22fb7267bea2c470189de3acbed2cc269981863b53e2f3573bcf53ac537fcfe08d6c9d39e4dbc4d31b6a6fa18e9c2c269981863b53e2f3573bcf53ac537fcfe08d6c9d39e4dbc4d31b6a6fa18e9c256830cdadd0bcf42826cf4297ed32d46a9e7878f06703d13bc6e66375f0aef9d9a05b56310ca7ab215167dd47b525b18262b6357026dccbe92bb813f20e7fc3e96fd50b8f1b659533d6d25cfcc0f86648d3f9731a92a3d38e04317a54dd96614f5910188ef8d77b5fc7356f52e388d83e6eff41c33da75398e660108b8acfc551e1a5b5b6b1b0fd72a9bb856814beacd7e699f576d69650090c468ca07364e5a0ea299164620f3dd5ec6161ab5208ab7dba2de59f6f21b1eca81486ef97cb81579e4ecdee446cf34cced60ffc64be23c4e5b0a54a7a3d55e91bfb2e7159b2dece5f387a3f941a4af1483cab6ffd12683a94a01daf2c262fcdc74a5facb95eaefcaa6f9ee385fc707e4f8cb2b3ce2b1963aece9199dc789878b9749ec27c7dfdb987585221bed491c1fdc1f399e4a189232878a8f09025f259c1603394a72de5799846fd0827fd82ff1c8b6416b4d6ba2e6131df321d6be9f5180adc1860abcbe17b378fac846b0423645386cc86f7975567e6d10027da3c4a80416b7f9d71f54c8c33b061622b607982e0142c549b48384a8cea17b55b34c593fb9978b233eec2ddbf3df6f5a10efeed327ffecc1c0093a82cfb9e022605577c274596e8e04a17cb4ce1c81d4ea8d1c49d0c0401d4810644d6473f131d6c2f1e6c91ca43f5ef07902c5cc719e0e1b727b48a634c639a63c3d362085b03d8b0f481c4d3b4b2c69cfc3379f081d3f542de64a927546b1e77d020e857c078110c8d0c11cf8b8fb4948fed3e25c15c07c77cacf4b76a9a0fd89e6ef0cf8310b7ddafc932f309d81204b993cbd0ee14948fd15cd17658572d0e17539a0643a49e95c421e3a79ecc0a6e36eef79e3910a4ade628e7368e1bb752df5f4a66579b63a4d38323f035d80f96e2ccf3431a91638a64482152ef18d7323d2ca9a6c09fb0701d6a12eb41cc6cdb1b2d1e8fd442b071b7ba1a4ed698f9621d93a137268b4c11154de93f8f150c632c026e85d1f93f934eec901fd571a89ea9a8c923adf1d1756516b9927642f3326563d67219e50e0a4776b9aff7dd3ddf0d965719f0eac267fb5cd8cb87a6f4a4cd7cf80149b5f17cf86129ad8171f0913a50bd0e51d4bb5a2223271ce56115c2ce45443f800cf300b9b2658c8911b02184f31e21da435ca3ebbc471b1f07e25b9345ce845c916b6268fa21c0077aadc8424aed7755b433d5f2ec277fcc29cc44d42a3008dd5dad38b8505a35d78aac30878905b637cac649396d15eff283e3330dd40689faaba7da7d7a848b48221649abbf9ea0967c9a68b091f63bd191df65fb96b5bdcfb6982ef5c216ef754e7ff44021d255d4d691d057caaa27cf799a7b6c2b3f90769d671ffbe8c7f9aec946a745e3f41dfc5935e8efb344768c06e31d0ab160bd5b8c76e4634176d2739c78de0f037cc350f77b6621c5a6b183c423169107623cb829ab37fc6d725236e000f8de8af25ba3ae52b530e742e8ac826f401f989a7c02d47df78cc9f36dc6d3fca884289bd5b9117b2abed6a85f4779a51f24a6630743689fc1bbe1e904ffe57a1ec7b929ba14ed3698817c98e85cd80f69b5beb905c68d64e8d9746f877a7b6217e7087336721ae312e72a934ae4b21ad1c4f072a58e0e0744cae9b3ad1b07af4ee748c8cf7fd01df47c62d9d43756b8ca0013abbbb845ef49ed70a28f2c5c2f84cc17f8c37c2d11b9618d8117ef22f633935ac4d3a6da719bafad206163ad14531f3312dbd6543547185cb5daf5cb11ce9c60d0e4b5710f81c6a5980a1c5c2e1690f06e08762e071c21370fb601cc05f4dd4b23f33cfe1354a25ef76e97c218e6e49a6f2127070a718f1af306d0b2d8c60056d1111a75c3bf76c5da58ac6aa6a4d9449f310d21975dae08171bd955f6a8d46a13d16f407d0c3caba0ec420d8fe1f055faf22a6b9006001a9707413c12c990ad0f22586c88f5c343ed7524c70f94d63cb279a7096d65f1c48fd726bdb63b5edf9833029e01d6a638f37506fcc5896d82ae7040be4afa84efa5aacc5efcb2ccd594c15bd16812670bea42a7ea40aaf96b9edbb35bfa548d50eb056e18f3dd41d3ca7805ffd971501221c4440db2d2fc23bf01dc198a3fc0f3f272975ac212e239581e19b6af814eab1e76201242e6c348d6fe46601b65e25762459c5a4bd7eac08f44fce7b6c6a253bb157371eba9c86ff84c816c6bf852653f5013387533eca853121234ea814952dba3189db2659d68e6c1f15645dfa159adfdbe14ac03d244debad277ffb6b47850f140ee28435fd92e3fded2c36c98730a0a4447864879c1c3adb3f1957e269018802ace30edade194d41bda9827d77550e6d5762df118ffeacab23fe922d66162417ef5335286d6b99a17e6626789c7c0ed35166f382de72bcd40e5538b36556986e3c362302d0582f9e94699b37e7bf7cf4e410955e53cd106f627c3405d8b7a71579982a7356ed3eb0cd58a9a28a8e7fa0afb43132468039d4931c9d03c13d24275cf62fa4ab68fb4b12c25301f90247fff9ae6111266f0b939d8618dd39010cdb92e47e08d7809464e5dd0c67ddd5a14958c5d8bb0c95fc70c62692fa7ec16fbe42e1a6224d0f2c5adc620fcbbb08df0746eef06f2d7ef8b604dddae8843d876f16e3158a5545882a24ed89901c20c4a80852cddd88e1c6df6a38af92013ea9b3f75be3363fbff3c7c2d9610f75c74271d4a4d8239cc7420007787cad850d70c1eb4785c81c01e116ce5cb7798f0afc478d965759c28869199bd1fd01096822ddac6d5c1815d796e17d37c36f5d1c0ab1b79cb665d8ca082fb5d004399c73c3aa78644c638e72aab7e9844780ffecab706a337efcb5d0c1fe23658b867874c128ca97b3e0d757d17006344c260bd22a4be95c67d187ce75df4d6d0098686ef4375df28d9a9c2b4eb3812e59344ccdec6a0531e3b02db46417a176c14aef4382d30ed64769bf7e71c573ebac27afd406f0c4fb524adc94f44fd079542fac65744836a4f72c1f1205993e75925e3f24d60f2f44746eae9f5fad5590576dd1bc4d97f552df702032f5abaee164ad616c5675703a16a1e23d2dbfa80c101573cab39e2dfaa4a739970caf31f420cf443904a4a38e0a1aaaa7879c9a8ff07186fbaff202592aadfca7cd516d4076b9990ed514ec67e84cbfa3bad793ad6e6428bab3401383ac102e40b3139de842ffaa50c1d29f8f71cc6bcf7556ab21ce3417f79b8a363b99f45c66a42851d578a65b5cac8bcc9cc5228679f4c4b95553882157ac9df4ea18694ed8d59d865fd3bb78a8abf5c792d44c80a4765fcf4f08841f00b2416f4444457dbb59e76df9b188cc8c6b42acbe34e42057a3a10efbb229b5eb7e54f883c319cf48612c951b5f5c2377d5bf2680d145bf1247a4367d4f8d884b41c9620d236ba0d9903417b2556381b2cab4db5688029b6709148f3b1a89d7ab03b247dc5ed4b699a483c4041ba18029fe1eddd4410285ed55feb423edf7c4f71c6dfa32d711f0908c672c08683d4296e1bf9ee053093b52bda4278c8b7525e45c220f404ec5b95c79ae75868adc47e3f560e1863c7c748757d58abb1bf3b4a349b7333174719dd107a9f9015f3533d2dc85c49863d5b1ab14596b957994aea6c96984390d14cef029fd76b874d648159f1e6180a198a659603648710758c975c566bd94ac478d05f701934beba13cb57eaf63ef184d52fdfa7dee349a4640b076ccc4c1601128cad3e55c2df63cb72f3b3eb0f10ff20243e470508b7f945ed3874fd67eae67530328575ccd04d945e3574ce952ad18c366fc7bfa467cb6e1a1399aed3d291e7bd3dceaabed97cf598aa199c0c8e921ca4ad82bac12138ae6596d6ee24f041d6f09e65863b3ef582707b5992bf74d90e1d1cc670e8548bc3ba6480961fee6437ec80b25d78e06f4a0f70340f6fc930ce9c41525a771972ed04b7122e624a2649b847b6029da709beda0eedcbcb14c95ce46acedad69948ee73a00c8821c7f81fb3f8cacc8373a091eb2c575f9ca5d4dc35aba3ae39b9ad8c84ad101425ca0f4cef6fe38606bd9c0ece8effa53df4403caba106ff1d185040c7e42249725f527b37bb3672faacbf4f0e3bcbf7a6afcc73ffce0e8674c3bdde06b664919ff9d0bc2e853d09dcb910ca3ddc3fb32262607dd677e174b6baab2748e993fd7de63aee065ef85c8e082161221c4be9c82b4eabe17d81929c0673efbdfe3eb08baa63e0be5f28608344f3d17b3faa45c54a6084d835472cc85cb21d97724d511ed16e049bda400d2bb1b84c724dec6a9ab9900ecb3e02d4b03fa0cadd4687bb2fd219405091aefdb5b9cfbb80851c51ba2e748818c40ff76ff41c1a102bc8118d8696448f264efb93ea91af6bdbb468d56e526bfe631b158ccfc9a3c988680824d019b086b3375a1092f194041c8180a45966e09c3da92d942cec4a58977e3e007276e6c27cfc9ae7315e451b6579e19ff35a10b0637cd8450ad2cde41da1159335bd20c929e32e5c7855ab079182c641361d6d2ac0e9fb6215018ff3e666ea724ab7b46a48cd8112bcae191e0956d6050935991bf556ea2c85d6e83b5c77e5a152a930295fc83194010e2e5809de39908b488f5001145e25612749659c02ec0a3d6e8f2dcc2dc9c4cb2e94c342d26fe1074a29f691247e4b6c0d81f1c785bb514d06ba458f6c19a9dc7386dfab0563667a2399a87dc6ca0563ef3723b69a20a0852b89800a1cabc3c1a48f3c89d84da060300b76507eda7fb0c294362e47e05b07a5b590c50f69298ddd80782c9cbc813feb7e2c3bb077948d129f7d8c75f4682e21bcfe70140812ad8696d0ea0aa6ff833500d264846d02ef164b3e61021c3f0a9f12216b6f39e48d190c5a6cdd6697299369d30fbce6d680e7c3fd57e591a1e2efec2c73da751821159fc15651cf6151cee25bdd9c3f40e8e47d67fa3831c2b224227b5166ca698bdb1a967ae42877be6bfbf735c950e9c03972147f4e9c0c04bbc279d0d72c4f89234eecb11323efc183f7267a08dced49e695bc32bdfb07399335d5b67dae7c7ff7588582a22f5f48c8a5c0b3e56ba9c50430ccaf3cf83b087a6d3bb6a6bf3f1fbf4036291e8e08c0c3e18ff293ee15143a9d74d376562f5c4acfbb8569905dddc2d9836987c3d9e613fc0c91757a198cf7d19e9e4b05ad44f47d3d4f9906a641dfabadbb8ee1d72eb424aa260ef23abc723f20858abeab9857b55765b8e0bf476036f99f4d4fa4bb25e4eed133274d4e04c80618fe9acc7bcc10cfda1b47f121b7c89055e2200e698a4e3cc72314816877a5e48343ca7a6652fa0bc7026af5c349af8839629f85a92aa3ccc321e035ca7fc00edd00826a91145d3e8e5897b35f948fe77dcd73ea7f0f9b2df4433614df5167df7a58fb7c41cd33e345b27a347fdffa03690a0a7e8d9a8b099960af5ee9fc6ff02965a4c9344b237447b518e8c7605511d59e886d858e551b18a57258cd6497f3e1a2ad2679fe02fc2174e0da05b504a9867e67d23a551d8013c44272d6140ad06f9d8df4f7cc78d14536f5c5e0110d9658ffcb6a57eec515304a0bed1bb7da5459a22945d3d2ab981b774799c11ae920fcd004beef3cf760b18dd595053cf97ca474a1bbcf13c1ac95c587243cc5a5d3a09e897dbdaa48466bea2d7e3c2c0026019451b5db34ab3880dcdf1736323f5d445cd1fe8d9353d200eb474f8c4614ee0842b1d949ff028114664e0ebf8a1382a09f6ab2c78cab8a614b7fc93a592c7af50e80912c2864b69e562b2005c5a8ecd2a78939d609775d1732bb89ac2b8d108b25572711aaa7ab655b3f1f3d09cbdf7ed3f376c5024ee558a6f83c4344b34767532f6a390f79daaf0211b0accde1768992454034df73c145a11c0fe94818e784402fde26eaeca37b5e2642deeca8c42176c868000313c15cb3de334006ca4b0d0740ee081d3ab53ebacf66f11ece31f9f7c893776fcaa9d7cc32c052050acf63dd116c3205c888603ee4f702f97ae01ec171d8ff7b33fbc1fcf829705256be83c5a698082dc21ba997b9a26429d8e6daf09bda5387b4e6593c43d748fd78e0213a892ca8ce8b5325c8ba3b8ee9059be3a06972e9b4b36ee996bf7176092e7e309e61036a6059a22981f7ea777b68311fc215e039877ef8369965575a220ccb8c152bbdd4e7cb8a2d080bbfd9fe2d7d9931962dee9df495e946caf00d2347f5285113837ec8c038c41cba4bd7d18d47783febfffce9ed6fd6e8e97c37c8ea714eb49dc98f5dc360500164fcb071ef57c9dd34aedd61557b67ab4a2cce246225ec91c04c3b3b33ea95ea2ac02aa9afef0c708116a95bbd98b924dfad6052501973b57f70189ebba5e4f64555e04de814d6d7b8db51376b503dcf018cab9210e5b8bc00e934a19fc81a05e33246c9fb0407c26a3b17f01d2854069a1aa2f8807b803cd942aa9b47d3fec5d583bd8d6da065ea6793c6e60b9f3cfaf96f0ad08d311b2dfcf13b5b6b1e9134ec08c389f93ceef06b2ce16cb36c795fdb919b3883ce6be04234210f34c4c5f6576fc96e1540f47abd000b19e8787c36a67a9d3020e0ea28f8bd654619f0f4a15116f49a874c0dfcab0cde1d6a45bd0493035351acd813bfb23ad1768ef048d6b223a90fec5c472e9cbc79c789da918cc612f3988729c25574f4f9c91b3ac1fb17a88e28a5296dc519bac36f455145176fd0305f09cacdeeedc98a78731ce138d58f6bf3c5933280c59bba36536ea1a7e225f92d62eda05453d5c0680342529bc7f2ea017c001466427986a8da86482ccb69ef10d26b40267967a955af020172928f78e72088132200b8e3097c443c7f658704cdff32b7d01e73306aefe13681197074b81ecaba9197e2cdcbf803aec768fc51ee3cf1054f59cb3281ada62aa34c33ecee52badb643a99ef5d121a0ef90d68d14c4ada3eff6f8db876f882a6db3192f9890641238ef274f4a22806cc1e6df5581b9826f9d5dcb30be2f8744c85c36636f0a9d3d02e1128e65d70b666d8c907eb24407d41e6b15d3a816877ba305a11088cc3d46a360304fcc541dc0aadf169d379b80d92df2cb53088a95e14eedd549224d5b3ae46474b008a118778141f518a8f63603f69de4ab2f02a10c7d661b61ff0488d9e9edc40b4840733167b49173b1cbb3505287c71bf8416097892c7319458a01250951f648c2702583fa4870cab4bb0c4e7feceb1b2cfb44181cb700652a8b33bf5054872c3cdde21ea9e4c65cffeaa0fcd4947dcec2e48acd71d8776b1854d01dff85129e898c497aa5ac07ccb2d104fdf342b9bac597ac0bae7323cdf015076773c8ff87e5942077475bfa75106d5784c3c16e4e792c72cecdde8e67dd8551ae5b9000be247a244590c3df942a9d1f4d115fe13c1611680c19b4674f9397223de44dd5c5c74d3ed6c5c9872007ea35c106eb6695509786c49a2d521ccde7cadcc925ea21af0f99a209a5847f12f004661ae504d56daecf3844f6f6816bd0d5fa0b1167017f8b40c1f8d331a5806a80e9fb36329cbc9931517cb2fc27ea21d35f15d0c8c15a0b720be9ed904550c297db50042e552da0e57ebf27783856bfa11cc4a0779c771b5a31ae274c4f1c5a51d71b56eab8b6fa8ad4725b75d116725bba641e5cda8b5548a4332e4b742622f13624ca0102ce39b1b8a9ec0dfbba5e746152a955ffb9a8e9fdf4cbf770e58d83e8611e7f13a1a147846b897ab67682ad201378ae112aa5987b4c0d079ff71f4d5d164f6f1ca698965aaf68283dc8a470869ff2ba9ca26342097973ed0fc67b665f67a335885a7794275e4bd517c18f82bbe51a46535f171406903c41a24cbac711c0474394f0106caa3e6ecae013dce3546e64f0cb7166fc2b3240001c65598834d41f40e23cc83a86bda2fcddf839c3eafdd85df6509ef407d0163578dc2b7ee8685d06c8d6d650be382ca99cf5c36acd1378086e638ce0f72098823dfabdd2221ae7b0bfb9fd4106de21d09afcd56f2d5b71c2ab28029e8ec15b1cc451fe1f7ba9b6be4da4644684ce892666769ed07e452bfc2f7afa4c3d47c8c23d075b1e8f9e5d4bfdfb3bcacfb34ee0be85ede40f8161d5a577aa737fd652e8bcbfe07fefd39758e48451f6ea5752245198776cb65e18446781cfdf1e2188ad378ab2e4a304ec7eb9b57ccab21198d2ee6419ee1544c204a609abc057928cee7977f2a6e2bd9b06b412807235a61468b48b04fb9ed119840a0686bdb18edbf6ef41cc4327a7768812e477a3cf88e5b74274ffc3356b2a3c7cd4e9067bedd83da826d6e7b68253934711b9d28fd7606e45968d3836be2bf4bb27ad804a96b90d2b7adfbf04db39fa1fcd1ef2105aca86fce922fe9ab954dc1d193a5c5524e06a27bde31f160bdb90382258fc434962d51ab5dd916dfdada9189b1133c5678e6e9c96675eda69c7a44b63b20c1126f833dd7a716c9eb877c5c119f2ad71441371946b5fa570391736bc0185f9fff6cc595b848c9f5b05c8959c73a85457d75e33d8577815b73f07fd21b9e451921ff4176df98546eca3f595852fcf29ee5abe4ad0713ba3e52275106305016b56d83f36b16b00c8c058590a4e62a04c1b477ed6ff11c1d9708f560bef12c5a288b0229b32540fa931e333ae2d76cfd9b4cd0881ee1fe3277e5d7c48adb1837e44f72a58235b7b04bb66a6274f9588e21b7f84fb6d97cd0017294e49a5f395f3373676d3815bbc2a31ee659e1dcbd48598bdd559b983d2dbdcca62b4560cbd108d06c8060a61ea3cbfad49bd9997bd3cb003801e0d59c8931d546587319a4c5fc9641a1591be0601845cad38123d5e0cc9d0d6ec3211f7e43d28bfdc50cbb1f3d3bf40e166a5293040e4dac8abf8037520fa0eacfd8be177c7ab46d4576febf791d275da79834dc723a2df333441d438c4bf908aeacdcbaaa527f13fa37115767a937cd8796a60ae6f3908f162d8bfb03211d9c964cf5f3939bb17d7a27dcba94e377e52f69cd139c8528d1d194e71ab458251326e87e7bbda63441e4996486c1ad77e666a663cbe578d699eaa3bc805c799f9677716cab2f2cef58962ecc87366a1f1bdc26c87bd382e3970fd2564ec90063b0521866fd58e51c60c39376f5dcc557ff2ff890914f6751b06b633a991bb0cb41e25e60d956de3007d1c44f3e05cdd95f29eee59a65dcb9ccd5f3cf17c6fe057a4646e5976a15fe45c1b4b2297bc4945fa6c89cc39f234960bc7626cbcbf2244c3d1f995ad3b081f364524984ccf9d4d0f8e34d56f3438d30126e5507a6bd7a298cc87145ab79a822269dca26d4c05df2375dc8ac317b87623ee08dd0372c8bfbd7ca256d02c811aa08e18d955724e3a41402c6920e06bb3ba72f4df7787dcba5ca1ca46f4d8f1a199b2366537634eb6f73c7f9d814c93361f24b12a886a0cfcc0b4ee881ce7dc6340b9fe0b3d086f7fcd68868eb3fa2cc0fa8069148f7d2335dd6746ad6cbb513d4db1761a7348db5cab3fda7a3a634c5a53d7bf4d8854172c246ce5149739bcffaaa98cb22e179ae2098b50db2da3649929a7f4a93aa56fd1143075de4d376f1372fd6ef67b8b1714d6c5247d10f30ccba08fb2e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85532d4a3eceb0e877723b4721bfcbd324a3103039ee8e4f28aedb78a05602d5e6ffca7be208a2302174c0206f04ce627c1859263c3dec30f4f2bbabd3bdad44fd6f1aa8528f9107622e9dba5c68fac331ad7e44bb519dcfdeba254114558badd4489c9e907f83da99ee4e9489ba996ff394836a59595ccc45a7b096bad5053b125330e87d487b3d4d4333fce6da16ca075109000090a5f9fd1e5fb66a85f2dd0898b8f309e67ea1857fe2cca79c179b1c417f50f3b8daec9271ae162f6eba89683cb61086d673ba97c9e825aedef2c5e8be72b30b32ce8149ede7cac7ef38b434a2d44895da6fb773640fc73be880c03d1ff3fc1acbb91c887423139f52e55403ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555a8f42689c97abcac11cd3dd75d0398b6093ea22f27da2825b2f5d5ef4d01adefc8463836e3ddf35f46493d9c60a9f2161f2680be1b432e1402301f3b9f1dd5abb2f166758ded7c38644c243925e5ecee7da45e13996d84cf998390bc4f71ec9078693d3b5bcdb0ec9ae3742708e16654410b34ed1793dc45801a3e0fef5ab49733d3c42158535cf75d18dbecafaf2870000287e200eeaade12d8ebc1e72562a53813dd5224ab1e362cd662b09dd817e9d91324ccd88aa4d798a5654c99603c42c4c58bbc261e4e3a2a8938a7d78c11bb2ef0275d4438638f8b5389fb29951694ef354747b35f3e2fd4a7c44d07fa9f59013d5cdf7f46ba135c7a926c201c743a4017f5bfd45f207c88496bdf3c7f110f194bb12361562cd2e1272202b5641a485ca4770af0543c95dc26ff9173186ca89700ff26a4ff4f96d770a800d2c06319a265e48610b370dc1d27f048074ed55093d87ee223399eb5b933d03a66f08529b8838a99a1bea9094e6d533e5efc9b681acf8612d13a9129477af21fec5e8896dbf3ab4422cd2e8355bbbf51a15c7da9dc2586c68c8a66b1f7aba22e52abee6774e7675a44010825ef56e61680e58ec9a95c1611c32f181e12f1cbfb83cf418fd9a18094d2bba8838c009e14018e1612564499ce8b73372e88e61cdff4254f20414d08ba1ecf16979d9fb41a5c5a8743ab0a3f491ae57ff7a2afcb3207bbab9558ee82d3b04377b9df583e8dd16e48e6420ac1879858d8c7ed98f64efb975efa4171da92970c12f05757040400055af0bd409f377e3e21306a4e003e8cb944e67f4950b26c896d5abc232ed104bc9bd0fe4259d4fb796e4bc11e658defa74bd94388ac28bac2f19f3516944ba113c12bf699a8cdf2d1b3bb2471a6fe2a9368967d22b939904d68ec53e6034eb19c51bb3fee792bae968f201fd140b10f105c38429bd6cb9d2ac424611b671e03ec4302b2003a3da2252e70e04e40e151218e4187a24318dcb4f3013a587ccf75335ad2905e4af789781139c6f1d358c11e66a6c9190e931d0ac8f2b44cc41a317c289fa6ff12dd77be12c3bbfcc8677ca3da9d0e7d6f2f92dda5d0813d45994310dc1f01797cfdbbf639c9717298b1c6e26bca73e525a2fcf6cadfcfab5a4b1bf5bb10440587ee0967da7ed1a2ac5da05ff86cd59d716a12957798bb91390ea67ca194c23c3c0a836bef5c53e54d8b3f9b809edc365f724b0f6ad875be93bb3eef5daada3232fccdf8505eb1af0aa5ea07a2171c811a49ff7f6692430db98d523d1773823813aeb0c7b10e8a21d09b7201c4faa5a32921707dd001a8e37c996025b0988c5c413194523c1358714aa703eff1819a741258da461d25bba568d2ae098b0dfebff840606a7ed85e9d3d29080c4cd56dc7838f4254727c4f95c2dd57fce3d8fd69ab56002de6d389d31ae3d30f3430013781e8e0418eb53131b77239bdd380f67b0b7f1b9a4c0c7fc4a36f9b6c9b99dc6e57d2a932f7fce26702325f855487e941656cf33889895cf27df4f9fdcff339f800893be04f8b46fdf69c722f9d294b0ae9a98d4d8423a55436861749d43982175c4248a2ee126694fd216f617ece8e6cdf4bb73a13e339eb993c27733ddd8b561d25a3350ab5eb6b506440597fb2577e5d1a72a076291d00bae4af610639d1c85b31e1287ab24bd8e2f270c1df8f0ac4ed1321f60c8106a84846223263e1fedf17f26719c9356b88f096f5a18544a9dc58b69b49c3adda5744ebdaa28f1fa587b9e6cc12b3041317e11b130a629fcae350f24d01294f0dfac21968fa69fbcd821e21254c174f5e932f74965c68c25f89f167593c1ac8047b88c87e20d6fce92f91afa3bee17004907e1c3d802f1680f76d7a5362e71e6305c6695678529735fed27332aefefeb6afffd9d8cec5d804d77caef30d67b719bb2dff9466e5a21b015a4c3aff3780577badaa869455aed3fb4eeb43d7fe2030e4465c9d6f8347d1d9b21f925667df03407a914ceea8dac309dd9d724f1c75fb95e2b8fe392ab5d0fc2c6f0e533d67492ac6b2659c881d92413b7732a5d4eec14cd4fd86004bd9cf3588c9657903e6aeda686eb67326c977e81c243f32be16b7d242cf1814d2de0d5ad3f184ac8457e69cd2f884fc6629f21a9f69bd9e7007f642aa99cdf2085065b3c580a19d81fee6b75e088c2c2fb0ab19843321abec4a93b2cbd735149f60f3dbaa0f02d445384496b062526315faac6f5461d0768175d7baffe6c148ac7233cd2778f33417141c58c039aa0c0e425ae9e7d9a68393709a303a4d4582cf44edf56315b1264be7f16c623949e5bf147769cb523e22582205602aea128425aadeaba07329d3d8610b0f05352aa1f9fdfd9ae5a206af55971e8cfc75f43960f94f90ca69605bcf8c2670e5b59f19a9e0ce16be8ec3abda17b3553e53fdea95de7f195b4366602bb43def99bf524d2d1a8f670874b0c55cec048000016cf86f1e01d15d1e8f265bfbde8108cd6cc10e4c702a85801d401f29eae0129b71988a1b1c09b3f83b2532fa529c4b1e301c867375e42f3e98fe603f11bdea47bb5e41660025a7dc1a65ef22dc493850a421071c9d0d084186e5aca41640162c6ecdd0e2be210ee791b6c2fe7ae745f942db3b2c19a5f3d4d244a8e2db5e0efe0d06263d31e4cdb437502535ee5fcb88f70e1f16d5945878ed3bd45fe94b1dfb9c6c187fd53cbf2f8b3128a47d244e6d110293d084a89844eec35092a4cd8c18ef03440e73a4f26cbe63cc1817c6b7cf1af30deba363a24944886ba24c64fb691bd52007f454d6ad4b863506b0297bd03727f2e63337db31b4cdf3140b4d7781ed2eaa264a71b131190b9e8d73acb488aa9ce5bc81ee1567c4e0302560755940ae25e53996a58d55ed3a7136b4e6a691aedb319bb160f806288b70e9497d2e7c5e63c671b2bf3c3a02e8a082d7213d37fa3f3cad678b80083a350f2804aa7036f88aa25a92102db00602ecd3463122242843abcca2a9499629d429234c9efe4990bd1469447e4d0e7ffc6e522db1b69088039a6b042de40732e04ee33a6895f340236aef0e6ccc592699318f8f43c777a30ebf6f6c662031b50687cd2130c3b17e6354e9b8ae7856b2dafa93948db2de0db769ee0ecc978cf3cec2fc7752161bb80e4f76401f031db105d6bbd24b81ac7ad6d3c8daf2006549a87e58b1f4fce56cd0f5acc0a6751cfab7369bae1007e1cf7da10d8cca1af3b3d2e20ea2faf775f5aeca4d189746f674b68c94ff08eafeb97082f97f082ca29632621873869322b632ec3c9797992cb1d400e3bdd9f9e32db7c0d858c07f59a468f54cf97b89a42ae038f3ab0a0ca4ac8d3b6e25c75abb6232e2d49d591eb432cd26412aa6d694b5e3b4eda891c18d8a496e1469728aae5efa1e6bbd3da36fe58bc51702df4a2ed9e07a35dd34f3e2527d6e0bb38672f727fd9dc006fe07a167ebe0286ab99e5d0393245d1e5e9d938edf9a0dfe7528d8bf35320bf4da7031e050b1e55ced38d200bb154d96f4165e4b654473982aee8076cf0e017c47e0c5cdb6b4b7c906f7002431e5fab163a33031c280774a16e399f79023b95b818b6e540b6fd1ce1f032934ee123057aa55701b3e4d33c37ace332aa397e0bc1654d8c0ff4091bcf84247ffcb33cdfe262f048e296ea17a65e5505c1b73f7c9e8e6ed912d7c1904f7c85368d4ed704d67bc7fc82f8c10f131d1d3e1623912b882be42b8bb05db2aba30d08b537ae04a2d2922d4fac56e15a1b95174b91af687e6ebb452c6b65c9f199d4117d465ca797af9d7b15506753e8838c44e1a91d08fc92b91c4a0728295fdab9b9d017455d027aa6bd658ecae082808c81a68455783a2c24393ff79eb05a153164655c70bb046a61402cca5154dc43aa6323b5b8244bcda917d07f2591db903c507a6f2f2d2498cb8f9fb5c8bfb1a7bd61fca20e4086c0326cf52694311f8ec2b400c1af368cd12b8e61e49f0bd19ff53a5f58914d436a7e92b8cff67f3c548a02997a6a54d3fa3b0b79c3e9506242a9c78467a7f4ec9281c57575442900dccd18e5c043582fc667caaf2ff4aa78da78d0848a2efc8b191f31a93969077cb24ddea35500f4b955c4af577acfcdb42605a846d6642c06bcdc761c9bd87eed5c27e253aa3c9d0e9c99c262ba8d4883939dccb7267a86f3ee64e8b9934bf397446aba6ef7ae1200a5fd711cb293c58fc071c2aecd2682e6478ffcc1f4e09063441611dc6d5a719362d3a58b3b9fd2dddf2a5a906dab912ad0c4dc8d5e849c042e6fe6f4c6ac7b84493432b316efc6b0170d80f1be8c8d04dbf25291ab32556279acfddacca6f7666556b0fc58052f7be4b1503b522428682911dfca9b9c1aa001ea18887049d08a8e9ca6be02982ac2048c6010903384235f817d7ca681a5725c61cff980369376d1b9bfb6e8ce3bca4066edde7be8d501afaef67e419845453ec53eb2b51cf84e1a4556f3959dc25eaa83c780336c4884b07768ccd593cb57ddf6f8802c1e959fdc8ebbd26f472b471a2867a9caa8c292d6b8439f05a7981dda38be752229dfe8292645377327b007bbf3b2e6756c11ea9df19a0efc5c7c207c9543696e0b51244105113c104cde7667ea2b51319fc34c2a1f6ec3a1b81cd219cf6c277fb2fca1b1a687146ef59585d202975a7fd938ce5bc6c65f44fa92a0b82bd44f53e53cb73b5dd550df9db0fe1dd2d67723f47707179e4791e3a050a1f96870beaf831fd08318e8b36e2b30971ae7fc962f527cebfe68c61b59bfcd983408e6a28405dd69c5573392423604baf929a001b016c6de425580b00e89e56e477aa4599934a5617765c392d1da3c77ac17fa95d6b451a6d5072a6cfe71972321fbb7c24fae2ab1c786cfc3c19cf2085ae488e3be832fbd2e2cf19163bcd0ef74b269dc82ce6113a8ffc26130972ab0838151ac1ab4f893a691472a9bbb2d7e915315e31bbe831dd4f2684cce30428817968cf322458b88e83699881d0cce5aaab3f17ac35a25fc545849617eab2afc041ade8219c7f467fee4fdd34b1c0fee2d69004a619db3ec45d834cb5e66a530ad07713a75453bc7574927e388c1111f8283a73d5eca1b86bce4c19c15cea5c8c79573bd3b25d93905df44070d0fe03eb4d62a1dbfe66f63f33ca5a7a958a845bb6be091c42506edbc16b6559ec02562f7bdb443b7dea1c60e3c9f4f16309cc820f00bffea3bc8bf823629bd1f6a7c73d04c2b8304c33116c32082cb83c87c35dd1b5c7402186fc5348e4f5842697bd642b6712d5097e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855cad514637e93c043d32e5b993512d491af7b610398e65ae54e5759538ad0f6645de18f43ada8b17316f77ffc22698cdc2424b69c24c597fc2c740aad4ac701e176129065244975b26f7aa200dc04cb153e44c8c627baf50409b4f6a2d9d54ff186bd7299c5773fd6dbcb53bc7f9dc29bc4044b3168274bac3abb56fb8edeead1b7404879ba76c27834f296cd282c0f95142c0431f7487f5e9af3d8416bacc1a88996c58a53e169affe559981721c55dfc8fadcaf07e09c4dd2e069eb285707b426631fe779b4e9411cabcfa359ee8b6543bff300e879adef4b43c1159bc5d91ddabd5bb6b356723ce16f55ae464a941e58cee80b90b1e8ee2cb084a2b6465471fcff369cbfe5c647a75fdf07f6ff3899d8921d219a19bc74094c6a39ae9545baa8a83f2067a4617e65999190405d18b6599c4fd6f677b77da69a1c09e83a60792b43cbbdc79bd6c44c243b87a6a77ed4b8321787f40d9591a25df847618371d0bb94eeb7a45a6bc8be1486c12b178ad181a8b4404100a53021f283d5ec9b1e67b7e9cffad2a0dc2c07007065a2a9043390262a8dc9b077bd2246e5f1deb75f62f900abd755744cbc07e1f64761231fc597531ea218701f4380c6148c3edaf1621c888239d79c89e0251e10598462f85adc256f96512a2daa8a8925cc37543e56c60d6ddd7bb76de07c0fe802c60ec4ff2ac6fe66d2e561ce87d001562f7d2d5b275a15cb12cfd569c3bca8cffb087c7ca323002d85546eb261acdecfe421dbe0b4955ccb81ea86ce7cfb3a2b9ba736afbec177004f70fc03cc8255c0202fdab9b38072964477002587fe3a66e3307f27f99fcfb3f6fe13c6bf89d1c14043779db78c339830e2f350639ff4e70a0d4a9e5cb46f927297bd2fea1c20090eaf21ee23d032c5549cf0888c4884dd7a7207925750fb33dcd59b00f39f328a2b15df8f4208af9475f88c528ab01b66614d1706abaf6246d8259587f23ee548ba33b0594c019d5445f3fabe8beb27b57b83a2a82a5ab707a66782f0274515303d09da00f2d7ee4e37920ea685f3afad546b2bf7f48e4aa89f354d404b35f5b15f85bafa2e9827f6509a977cf7beb585d5706b94747393eb959d10f34a6f884786db4dc26f4dbdab0607ae492e03714a0291af557f12b3f8207eeb16bbe40d18b3c462c00687ec75b9f42aa50100022a5248d49df5eb4b9462f3d1dc1cf4d58a258f7f8201ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b507da450083b0e5dccdd1b3355a067748cdca1037527f6f710ba275333625bd7bee489a89a04162bd59e2a95dbe018e7bbb24da7c2b47f57d78feb2513f1f3aeea7579f3026242c99ddf4604823f4e47757920b06f09acc87ffe633427a2c6c028a6336815709cafb420d008ca642fc404f32d49b0d0e80ee76798955d45be48aad719c1560d3b3c1a9fe6c8246037c0b6f894a86d9ceccc048b8a3058dc16c6263a0d020e13016563c9c74d128653612f5664b04f3c4c215f39d063782097d279d89dc8b9734e5ac0dd3cd3843581a8b505f5937d45fa90bcfc547242baacf13ca0a51c2cd83d3e017181417d596bdc2182f7f7083cd8bd7f3e71cd89291969985dcefa39449620af2eb07d8d6a3ea6ffb89e8a20e2d66ef63496f1b0210cf7bce1183ded93d5e089ce59512d2cdfc23d0a695144550b59e0c9f106e793984d145cea423efa84d01f2326d3baa77e40aa1877aa7ddc8c59476719c5d577985f646d5f36dcbd1a8e1125a68614f90ab7408427dc2b39ce0e5b7e4f13f1228f7321175dedc9573a3f64fa33dc31e62a7ae98ab3755953d2921328d106308b45e61e070818559360651e4476cb6a79fa65bdff750afacd125f5b57030808040d6e0d858e816268bd7553e8d26dadc14febb722ab27ce4c614b417aec29c44dadf1a70018da2a3e95b81fbd2a1fae515f77c5c8ada406d4c3ad8c3138084a7b962bc0dae98fa96cc22092f6db8d93a60f459f3fdc467a85b1b90b5e31c914f8de96a2ebad80de87a07fd6b59e70220329272469c755d5e7be27b96fb124e3ed9766469406e76d625635d0c63220d7fc8cdefdfbf0d46221b02a16ffeff9369c0fd0bb494be6d099e3839c1319c88bfcadc37d2bae1b1831429a9cf62921339ee15a1cdea7d0a295ad1fc67073fbbb14f425d470437eb132c05261842a30c7103c8e76129065244975b26f7aa200dc04cb153e44c8c627baf50409b4f6a2d9d54ff194034daeaa913575b8da3a36fc5960480d289401b36e26ad3a6f58e08d216400eb471397d1aec64f969f00469d555e94232fde28bd4aae993f17b86b5300982eea19dee77c8165a993415efc8ecc6ea985123d71241edb299766681042369933bf0257ae4e18244bad553551faff98cff734184535c23eb446bb0c44f90d014ccb9ddc33066612acc6be8bb5fc7319ae69c148cf625f8d725a4515b59f9faf581012f0fdb8b1612cc7fae2809c693a35b7e5482f1f26a026f8c56e7cdb621e41385605bba9feb55e369b866f80715f579bb3ff98d27cbcc68f31e3da5c9f7ca06077d55b60a02f2f5f64af49a15b58241d1fb33a9a012ea7cb94719b09c8926648a5721db37fd94f2c27bf221e906e9f836d7967b3937f89317e1bab6cbf6ca985607310dc624312ec85fa23ce724b3e7dae3e2e6d226b054e3b252bbce81cb5a75cb3e6bbc481b0aaec7a92856d63024724942c1dc50bb839adfaddf2e8fcf56c5b2085fb70095c13a8e49778eb06cb36b13c30f3694e3e2fddaf90f68a4b9c345522aa68302e5f5ee9c1814b8619b0a93d68213accf44c5e65d0607c007e0710527c9a70c4f6fb440a8fa1d12e1a56596db7d492d620457679e847c04f0a7606d95dec5e5a76da6c59d4b2b898cb6f5b5cad855a84e432b8ad9e98fc10f8e67271adcc5d2c3fd8d0b0eff8523c734b5d4dbdcd72e334dfda330b10ec9434d5354eeee4bd98ab084f57c9856f8b1557aa89324cbac4e01b89bed148642bcca2e99fcb851db66823daf42baf7c3b2ecc593da5bd0360c9d82d740370baababff69e03583a914fc4b0a946e1f859811b81e5a5ba4e7c2961c026019e18e218476333e93c2b5f5e23cf6703ffb1348e6e497a1e3d3112c22ba79048d3b6a4411d085bd02f8c48a961e66933b179cf4e9654c94f3750fc253b184b176ec57e7ff2d88c86bc28e6a9a56aa6ec6d624a03b740dd808aa6718e7de7b567211b44db04e83bbe27e606f204c2787706e3980f262a2519c7cc9acdd20bde38c3567b01f886db2e57f8a786871a5b841e0f774ac17e050712442ad4c9171255991eb6559dc308b348fbb11a0e2f4be1d2bbd84e067d3c5c95e16c1d4c72d8824e7fc47fe6edede7eba4723eaa4c54f56e8fd0979397f3e9e60834bf616d98a6bd2f5b401d43fad1c804e391323bffdf9ef0a3b4c89c5c5a576476c84ef99e64c24e0b16dbe47f3a4af93396f601f8af16da49308ce819774d904fdee355d480c20ee038efa6bcf9ad679f9bd9cd5c15967b9cd4df4d13cb4741511cc7a736dbaa8932595e1cb722fbb3c836ea82c72dfc1315f9a975739c94960d4b0c59de47d5e4db6a293faf2123cb7d5a09cdb57092efd745f3d222dee1093062e9eed1719a0fceb7e616632f7a9dd952a9fb052d9334e6f9989b09a4c428d83f02aee3e788d62d441fe4ab5b91adb48f35d50887b42ce6a649b94db9bd7898270a62d0fcdb18efd1e1f8c85529e47b4dc615aaabfd60f23474067f30190b5d24d9cfc4aedaa0f6c597b1483da87d37f5d87e354a52b357355e53c4568d30e7e364f71466542a82c0037838998cf93e2bdb177635c10259e563e90c7d4784deb40f395f08f5fef8e2bf15673f5afec68c080ed8127a50cc5ebfc93feb2ff53cdbdf275f7a53fbd950f1367f56a6b1bd80cc34b310378047fa5d9169fdaf8f0038ae499f8e6d1a20dc0081df1fb20810461d325254f44f802a19b44ef23cffd7b5afa01aa1a36e01ac56219d50e3e9d321f5abe22b3476181a61368873d4f9f2ea0ee0ef7592576c8bff89123a591d2bd8e60b24280a21b78b4df4cce7670bc941647f2697159e10ff133adebbcd7d5e2bfc4abdbfe5d49741f510c1b2fca00e9a80f3bbf7990f714c3a2b0f1c1c94853566192461a37ecd5a0962e8b5f9e8850af8470e1a93a7a365ad14000b4ec9d5890835e562d913fe7ab779de83ec3a5287f587f1650bb62e370b949cfb92c69d0e4a7c36cb1ce289ea825c5e810d74910aa29ffca47ffaa3c706a2c18025c777b965669c89a6f261c4b3fb9dc3320fbc8839c8f1a9cddcc92ca7649a7c8396766ef55936f4133d051af15eedab8ed923b0f2f23f3276cdea24f53ae157ed34ac5c96ac0de0f6dabcd93914b26c78b9d772c0005d5372eef4b5fff1b63de3a8e34992b34b3d912da2b0307c491eabd0d5951e030c3cf923e01956ff24b3c578fbc3621f038ff2e25afad101ffba87d32be197d90a39e5c2ab95408990facb03892d7387ba068020e429869eb90d694c042202f110d869832bd2b342f4dae4b206c4cafd0a673b393ed13a7766b5d8b172597bb08cbee7a74625eecf28c5ef77d469609aec842198fb773a248aad768492e8ceddcf4f3f766621e853447e14b396686a82e10e979e6cc35e1768cad2d463d14798a748fdd482732cd19c20de3229f70a693b3da73d8a1b7c626f22cd52f3d2010bb11f92ddfb17bace51a0dc861348705b6f4bebcbcd04e0acd6a83a897546a24d55ce29d6797b00ed218fbc1a07d0ed066a4f06ade060863a5ce0830ba5c4ec2eec67014e7ce819014bac7a42427e75c47eaa93bd204bb90899ee91b8f027b6bfcaa1780aeb654d54d4d7909a82f901ae19ea5d7da4a52827dc60e707b86ca028c3689082d5eb944d79d7087622f97b61d3f1c95eaca2fb7016bc8fb78a58265fd7fd8d9c9c72c8890949d7dbdf152321b2b5721f6011d279c561af41b6ed0c51184a86ce55422c5bcd821e21254c174f5e932f74965c68c25f89f167593c1ac8047b88c87e20d6f08813fdbd97359abecf44005cd878474a1cd8290490d09969d1c53b3e2db1278ef6cb4752f1c39e01e5a1b6a92675d7b77af7a5abcec74c82921eda143e255e29b956be525091fda4678460da82a9641d2105b6c07b5fddaadfa62c163710d1f507cc00d4571ecce79f6fff69f49241309bfe892bd2752af0761a1e0de20c60e6038ea3eb6c745d21899c06018cefeee669bdf764b56843ed18f892b726cd65535da2064c402d153e3863bd361e7a787ba43a464a464cb4f52e5c80482e1822617ea95ea0c96ab87975ada6f9c3623db79c628f99558e4012ab855c1ce0b07083ca76ed999fd1fc005b8df3ca53c827bf663520e6726d35785f142a52ed2ddbcb495ea126e93044d51f8f10b2a41b12e8b70d7c7fa03c9eb8d262b368cdf4b73333db6335042eeabe399d24e39272db00143c65a3befbc9c3b610308474710f4ab3a67f6dea60c44493e2fb52520a5fec1fb0093682a3c53ba2a41d1f7cc48976bae88ccb91ea46ef30198b573f8adad08397b815c5f7405c5f2b91874041baaffb4f1cbcf5e0a478ed7836c756a84bbe163069f0426d8b780728e7adec1e13acfd419fbfff5cd33ebeb429dd2bda43eefd0e3ee64e0509f55cecb6b7b75905de9c4763f57cb6047af3812b471e5bf854c2c652b53dab7a40bbde509e6c671f982059dc9cbc8895bb48cc84b101a480059fd880f367cf49bb115a05317c612a174ee6b13064dd6c662527730259364f1b45e62dd18424570648c52150c4b01bc031ec8c6ae8b070a33b8ff5aa86d1ea84e520882c9d28c66203582c9415d3fc607fe8ddf3b9120bbde13fbaebcc81a22f8d1f622cba5f7bbd03dcb4a2fb3f95f66561212ddd76471ca09144a86977930d78ef6f5165e4dc6acb5fc10057a8c5496a8e530dd16842dfda02d1a4f50798cdf7ec17d88be9a48e97d6c4d5c8589269df9fa06c3e93edfecc7255e5f201069c8a48fcc2fc39103837ec63abe79f9cf129b20c9bb1b6108540384c0410016d90f277e0bd3a9332f8964c4fb765c3936ba950eec89b2f22d5bfb51c1a422befd10b7bd170fe41994d8cc640a30fb74178769a4cd21aab6cc32f4e110665e9d4cfe24405f2a20612bc1a4b30fb1954aaa12b16e50fa9382624cc8237cf53bfc0ab051908421e8134606e3b35bfe75a5704ac933507f697f052893d9fc7629d6a60999643aa8e7ae4839749e2650bde34e125d5fd08fd6a0390d5e5197f8614e3ef0fd1935dd9af0c56625da23c292bc8d309974ff302b686eb8d6c737a4fc8fcaeb89417c19708b54c6f22f8c07de6cf19a7fb268bfc7935bef4fc74e9dc178b77b2f56560106301a0bc409f733514deafd9d3a0cc58473c855f99cdc2874f2d1456bcb41a7175783ae5760d4abdf949cc5235ff95286ca6970764ad65049fd51a0cbec141cc44c73f33f96099a61c9bb9140d7e862b9e36699263777d16ff031e698961af3055f8875adf85a8cb5ba1b6bbecd5bf908f8e0b0b42e2ee5203dd153228ef557c2e88788d3d67a6e1907d61e0aec474f223e9a15fd3deb0b38947a015d1549c3bde24d3cf75850a8e483d901d30235ea11f4618c5c44d7a7cc9768002d354cbbb9c279924db34638d5e91dc6376f824b34c903b82dad7dac62924b20cf004d5e63c52685709803f6c13c8483bf567ddfbc7d40494a63adb42798647106405c90799f5e7936f1e688c26699a902cf3fca6289c9d3dc42c9b4266543ecf6eae2504b1b70e98cb115636e1d55fad1390fcc17f86173b7727784719fd550e104b04f7a3fd7967077456dd6afd03f9e5aa40e0e05c571c45cbbb94e018c517745e2da55d188ce743f2d0813c42895e87e88984a089131d2383ecad5fe816e280d014f1a40256c5f4bd0e0ed0c83fcf711ec98410cbcb44bf42fac702b313da2fa93c397950c70fa1321d62c0bb719cec6ef2b6288ace0e794673eb6158f225adfc9beb07b5e5ec245fa2a53c64085d09cc54de3739d89019a519a0e0f29aad3b69c346fd69701534091559abdf9f8bbf2cb6753299b1618362b49692bf103dd672f27b6669eb9dec4c1c1ec403d9e5508f9494b6743f06c4a2fbeff77577b84e2848ed2209d3e70621566f15b3751dc5581c3b12d2f8653c54bd447028e8dcb73fa25dc5e6e64771f9630b0ea2a28a48c0096c89503d93f1da18305cfe977138b23f09039bbd90007202017475b480c817fff3f8618c18cdfebb9318e0cf1b16e9e77d0b4d6b897e1af6c0749b665d44df9663c27d19628c94d59375ae1a6ab527ad32cf0a4c1b0994a19bf90c41509382594368424c99ec5b8baad2ebb2d624fb1bfa9590a6918e34fcaa612b9fbaf13975917be96a0d6c15165f3e1c5c796d2a08d931754f24a60f692d0a447c93dd47798c7dd84f96aafe85d0dec2a051ff33b8ae44491d4c2ceac61d5fbae4049a07a559574f5777ed1ec3dec7f4f1c0d84ec84eaf25b52b7468d6d549d094059cc43dacef37ab51fedcce14a414dd2d142d0d70b71062b26ca7dadfdd71dffe72282cb1e9135d4cc9390e5bea31f177c689bf2421811836978fc1f9fedd72022072b3488d511cb3b843d460bae809c8fccde856ada14f7fc087080ca16e95253815f358eb6e866a692908f08ff0c5d85c102c2fdd589f5336f8a95b2f3b71492512f1c0f5cd9858ff79e6a00b4ca8b0dfa9972461fb2d6911949ee656dcdc20bcee55060a78dbb253abb0e812057327148509acc5b4debfaf0613cca6753be3ad4223a2e56ab4d452b80558e688d968cc03dbe19977a25ec579c1f086f3ebe3ad4223a2e56ab4d452b80558e688d968cc03dbe19977a25ec579c1f086f3e151f47bd3c9baffc62e71cf619be39157c8f4ecddd639587f97b83b6f21f9626a3d55ad5f6a4bffd3298c8a86d39a667c7aad81542a08b4d5a07dad37ec66599d5b632ebb34a5bd3673372fa80d9f23a70ef67333e2e1568e6a769cec2167683fcc0d58c2758e61ff4f63cbb1f4e1c9cdd8a5b4074e0c3999da5eaf852cec9bd1e6b3b5a1ae7fa9735ab8419879e75305a8a2fa29bd37df4bd18a9eb196c0c0b410de3a0088de9ee00dce90183cd9207d8729ece3240690b168f8f68f6628cd88376ec594b83cf16bbab48da90e4319fb12f2d5530fc2986f6d227684cc8693dacb1c5208a92601a2cc773ce928baddd7846d3f3e6f5b471e902264b498e644d787993570f4bb6af43040001d073698ff7689272fe4570b2f55dd99275abd852f9f233e79f29f9c2a6e87bc6c327b589eacc34b3e0905bb8dd95be3828ebe36674e34c809b6469afbe6039ed7783324d9c70f0c913d88af497b4d45c6af912e20974d32f8a31f7091a3931812d59467d8972d14b17b7b4a83c76bb1a4d4ee7f7fcdff4af96ff5d753a307d7d91929053c47d0e8a1b5626388f49ca0875b5e70ade317ff9644226435d4c139035134266f68a72af4b18ef521f8c7a0b11d772ca8654f8a62cee6f2d1564e86e73fdb6cd0e5508d26639a537e9e414a602d43ffd559592930c31e8f691f91c26ab9b1ff9f76dc9a6bd0086dc7081d29d4f90ba3a95582d10113276ab78b24e5b98368a500d78ca0b95553b0301ad10c93e00876972106f3e19d2741e38fe5fd99521a3248ef07265a5e8c547c75f52dc96ef594134ba845ed70a234ddf8def1e70f95c3ff5ddc88250ee457dbac0854c878efe6173feb4b9200588de302853608a768655d6acda38ed51d70b98c6a397500c73537db5ed397a5177776fa892026dee2f7d49ede39e52555ba979ed4fdc3a39e07f76471382b2c4a0091bf21d3274cb72e152c719c1d0582c8cd7380720f27b776e146f894334a04d42e9e94c5f7be8aed5ca3c28c904f3d0072923657df777695b851a078f62c66e584e044c2ced6ae00685845880f02bc0a209a24ff852a6331f2929338514c23882be7298e623ec90d3b23a5c410e33078cf8ec45a1fa79750c742b23e93d1657ed4a789f247aa25a0985bc5bb3c725720865ae9d8d90884e45d69e46e06be8e042f110162b6ac1f97fb316f497eae6020aafd8522fc1c41b01e92ae64b23609bc28bfb8d7e4fe82ec9822d2d793fa5e504f8c176ac84e8c614329c3bb928b804b1d01d87f9217817c032027ccdc0249e19b0c7ee5318d92d426d6b8193e9a7b5309dcb0dc82d605c4b3284fd88d79157ff01d8b290ebf5df98484c8084f2da110864989b88f03751542092e26280c31809f3b457e4d3dd2124e0e5e8a22e690e11616e4f008ebf4871010c1879c99d02bb1f7cfc18b34cd6a6a20f69b3d8b6a6160340cad054112ddd4e782143017e64070c7881ed9e8a694f1afa705bd016f8caf98850fb46ee86b5aa8155a409d0fe66ad95a643f6199266b0bdbdf36c3655295c804ee1de20d143e33aa72d31e78ea1e2cbe157f970c26efa8e5ba00c984f17ae6bf31049f1b11144e58d5907d9a219e8d6aa246335a34fe012d973fe6cb4e4716f37fb208dc37186bd4fe18042a64c4f87293507c4b4ea03e639a8f088513cdf620a6b8454206ae0f9e4542ebed2d9b5f7745d4b8aede2c91eec30038804e4d201326d0131ea372c37bf6ffb2c6b50db23b87b8a67505b68e751e0a40013d0c44cba77d1cd4eb83fb4dec3609616d09a82c48388e9720c779b5709b2e1d44892754b6522dabdf9c68c50e97cb4672f56cfa9070593c5887ed526b5ab6fc3ffade502858ebdb8995257ab8224aed7532a575b5651a3af4e8f5560d7a2c8920d7d66dc6ed5904139ab9acc1100b47865824aac5f562bfe8f45f3f283511722728b2e900491bdff5763134cef8e6c63977ffeb8f5e824a431301337a4ae971acd951d7ec57cc86ab0003bacbd2fc42e0094ff86bbb5e0c2efeebfb2877124db4deebf353790d0294c84f4a2329cf83a22a5fb8150ca63a2e545c801c5de1318c65b15710ceb9125aa36e98305b4ecc750895a5bd33e5c4e539f42e749c7efd3275a867935d6c4bcb0e061dc084f4301ec83378295f348de2c1fab26db9601897605ba7c80204deda326b9d89b6c62545376b9f133df2cc507841cc1f6dd3503c39ba1e2ef6d2a8a97136928f53a9a693a7f0031c2e32f3229d22ad2266aa33110e5e81e1f976d9097b50e26f1afd4dd7aff8ce8242af407b12e079b1e7ad00564c4006389b5ae5538476de0c7e79695042920acc969e85ffa0ee72607cdfd24c82cc4dc1af47d9e3529c8f698c96fdcf69ef360a24b80ba481e5971660b2e7a14ce4c2ae40831d2684a3e057d914027d6411f7f7b3bf14943rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-Twisted-17.9.0-lp151.3.6.1.src.rpmpython-Twisted-docpython-Twisted-doc(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1]S]@ZY[@YJ_YEXWWiV^@VVUUUp=UhTUKSU"Thomas Bechtold Thomas Bechtold mimi.vx@gmail.comtbechtold@suse.comjmatejek@suse.comokurz@suse.comokurz@suse.comarun@gmx.determim@gmail.comtermim@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtermim@gmail.comseife+obs@b1-systems.comtermim@gmail.comtermim@gmail.comjmatejek@suse.czmatwey.kornilov@gmail.com- Add PR-1147.patch (bsc#1138461, CVE-2019-12855) In words.protocols.jabber.xmlstream in Twisted through 19.2.1, XMPP support did not verify certificates when used with TLS, allowing an attacker to MITM connections.- Add 0001-Prevent-CRLF-injections-described-in-CVE-2019-12387.patch (bsc#1137825, CVE-2019-12387) Prevent CRLF injections- update to 17.9.0 For full list of changes please see: https://github.com/twisted/twisted/blob/twisted-17.9.0/NEWS.rst * mailman is only in python2 package- Adjust Requires and BuildRequires - Fix rpmlint warnings- remove alternatives altogether in favor of versioned executables - clean up spec file - update to 17.5.0 * too many changes to list, see full changelog in NEWS.rst- Simplify alternatives handling - Fix RPM warnings- Change to singlespec approach- specfile: * make twistd the update-alternative master, same as in the python3 version (bnc #1001523)- Update to version 16.4.0 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.4.0/NEWS - Update to version 16.3.0 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.3.0/NEWS - Update to version 16.2.0 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.2.0/NEWS - Update to version 16.1.1 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.1.1/NEWS - Update to version 16.1.0 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.1.0/NEWS - Update to version 16.0.0 For the complete list of changes plese see https://github.com/twisted/twisted/blob/twisted-16.0.0/NEWS- Update to version 15.5.0 * This is the last Twisted release where Python 2.6 is supported, on any platform. Python 3.5 (on POSIX) support has been added. * This release introduces changes that are required for Conch's SSH implementation to work with OpenSSH 6.9+ servers. * twisted.python.url is a new abstraction for URLs, supporting RFC 3987 IRIs. (#5388) * twisted.python.logfile is now ported to Python 3. (#6749) * twisted.python.zippath has been ported to Python 3. (#6917) * twisted.internet.ssl.CertificateOptions and twisted.internet.ssl.optionsForClientTLS now take a acceptableProtocols parameter that enables negotiation of the next protocol to speak after the TLS handshake has completed. This field advertises protocols over both NPN and ALPN. Also added new INegotiated interface for TLS interfaces that support protocol negotiation. This interface adds a negotiatedProtocol property that reports what protocol, if any, was negotiated in the TLS handshake. (#7860) * twisted.python.urlpath.URLPath now operates correctly on Python 3, using bytes instead of strings, and introduces the fromBytes constructor to assist with creating them cross-version. (#7994) * twisted.application.strports is now ported to Python 3. (#8011) * twistd (the Twisted Daemon) is now ported to Python 3. (#8012) * Python 3.5 is now supported on POSIX platforms. (#8042) * twisted.internet.serialport is now ported on Python 3. (#8099) * twisted.logger.formatEvent now can format an event if it was flattened (twisted.logger.eventAsJSON does this) and has text after the last replacement field. (#8003) * twisted.cred.checkers.FilePasswordDB now logs an error if the credentials db file does not exist, no longer raises an unhandled error. (#8028) * twisted.python.threadpool.ThreadPool now properly starts enough threads to do any work scheduled before ThreadPool.start() is called, such as when work is scheduled in the reactor via reactor.callInThread() before reactor.run(). (#8090) * Twisted Development test standard documentation now contain information about avoiding test data files. (#6535) * The documentation for twisted.internet.defer.DeferredSemaphore now describes the actual usage for limit and tokens instance attributes. (#8024) * twisted.python._initgroups, a C extension, has been removed and stdlib support is now always used instead. (#5861) * Python 2.6 is no longer supported. (#8017) * twisted.python.util.OrderedDict is now deprecated, and uses of it in Twisted are replaced with collections.OrderedDict. (#8051) * twisted.persisted.sob.load, twisted.persisted.sob.loadValueFromFile and twisted.persisted.sob.Persistent.save() are now deprecated when used with a passphrase. The encyption used by these methods are weak. (#8081) * twisted.internet.interfaces.IStreamClientEndpointStringParser has been removed and Twisted will no longer use parsers implementing this interface. (#8094) * #5976, #6628, #6894, #6980, #7228, #7693, #7731, #7997, #8046, [#8054], #8056, #8060, #8063, #8064, #8068, #8072, #8091, #8095, [#8096], #8098, #8106- Make "trial" the master file for update-alternatives, since it is the only one that supports python 3 so far.- Implement update-alternatives in preparation for python 3 version.- Update to version 15.4.0 * add dependency on setuptools * lore removed * please see the NEWS file- change dep from python-asn1 to python-pyasn1 (renamed long ago)- Wrong dependency rpm name, should be python-pycrypto- Add missing dependencies on python-asn1 and python-Crypto - Update to version 15.2.1: * twisted.logger now marks the `isError` key correctly on legacy events generated by writes to stderr. (#7903) * twisted.logger's documentation is now correctly listed in the table of contents. (#7904) - Changes from version 15.2.0: * twisted.internet.process has now been ported to Python 3. (#5987) * twisted.cred.credentials is now ported to Python 3. (#6176) * twisted.trial.unittest.TestCase's assertEqual, assertTrue, and assertFalse methods now pass through the standard library's more informative failure messages. (#6306) * The new package twisted.logger provides a new, fully tested, and feature-rich logging framework. The old module twisted.python.log is now implemented using the new framework. The new logger HOWTO documents the new framework. (#6750) * twisted.python.modules is now ported to Python 3. (#7804) * twisted.python.filepath.FilePath now supports Unicode (text) paths. Like the os module, instantiating it with a Unicode path will return a Unicode-mode FilePath, instantiating with a bytes path will return a bytes-mode FilePath. (#7805) * twisted.internet.kqreactor is now ported to Python 3 (#7823) * twisted.internet.endpoints.ProcessEndpoint is now ported to Python 3. (#7824) * twisted.python.filepath.FilePath now has asBytesMode and asTextMode methods which return a FilePath in the requested mode. (#7830) * twisted.python.components.proxyForInterface now creates method proxies that can be used with functools.wraps. (#7832) * The tls optional dependency will now also install the idna package to validate idna2008 names. (#7853) * Don't raise an exception if `DefaultLogObserver.emit()` gets an event with a message that raises when `repr()` is called on it. Specifically: use `textFromEventDict()` instead of a separate (and inferior) message rendering implementation. (#6569) * twisted.cred.credentials.DigestedCredentials incorrectly handled md5-sess hashing according to the RFC, which has now been fixed. (#7835) * Fixed an issue with twisted.internet.task.LoopingCall.withCount where sometimes the passed callable would be invoked with "0" when we got close to tricky floating point boundary conditions. (#7836) * twisted.internet.defer now properly works with the new logging system. (#7851) * Change `messages` key to `log_io` for events generated by `LoggingFile`. (#7852) * twisted.logger had literal characters in docstrings that are now quoted. (#7854) * twisted.logger now correctly formats a log event with a key named `message` when passed to a legacy log observer. (#7855) * twisted.internet.endpoints.HostnameEndpoint now uses getaddrinfo properly on Python 3.4 and above. (#7886) * Fix a typo in narrative documentation for logger (#7875) * tkunzip and tapconvert in twisted.scripts were deprecated in 11.0 and 12.1 respectively, and are now removed. (#6747) * twisted.protocols.gps is deprecated in preference to twisted.positioning. (#6810) * twisted.scripts.tap2deb and twisted.scripts.tap2rpm are now deprecated. (#7682) * twisted.trial.reporter.TestResult and twisted.trial.reporter.Reporter contained deprecated methods (since 8.0) which have now been removed. (#7815) * #6027, #7287, #7701, #7727, #7758, #7776, #7786, #7812, #7819, [#7831], #7838, #7865, #7866, #7869, #7872, #7877, #7878, #7885 * twisted.conch.ssh.forwarding now supports local->remote forwarding of IPv6 (#7751) * twisted.mail.smtp.sendmail now uses ESMTP. It will opportunistically enable encryption and allow the use of authentication. (#7257) * twisted.web.static is now ported to Python 3. (#6177) * twisted.web.server.Site accepts requestFactory as constructor argument. (#7016) * twisted.web.util had some HTML generation functions deprecated since 12.1 that have now been removed. (#7828) * #6927, #7797, #7802, #7846 * The resumeOffset argument to twisted.words.protocol.irc.DccFileReceive now works as it is documented. (#7775)- Version 15.1.0: * deprecated MSN protocol support * improved docs for Trial * removed deprecated UDPClient * twisted.web.static.File allows defining a custom resource for rendering forbidden pages. * minor bugfixes- Version 15.0.0: + please, see NEWS file - Update lp1102685.diffbuild80 1566569849  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~17.9.0-lp151.3.6.117.9.0-lp151.3.6.1    !"""""""""#############################$%%%&&'(()))*++++++++++,,,,,,,,,,,,-------........./001110000000000000000000000000000000000023....44444444445556677789:;;8<=8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>8888888?@?ABBBBBBBBACCAADAEFFFFFFFFFFFFEGGGGGGGGHIIIIIHJJJJKLLLLJHMNNMOOOMPQQQQQQQQQQQQQQQQQQQQPRRRRSTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRRUUUUUUUUUUUUUUUUUUUURRPVVVVVVVVVVVVPWXXXXXXWYYYYWpython-Twisted-docMakefile_extensionsapilinks.pytraclinks.py_static.placeholder_templates.placeholder_themestwisteddefaulttheme.conftwistedtraclayout.htmlstaticcsstrac.csswiki.cssctxt_grad.pngextlink.giffooter_grad.pngmain_grad.pngmenu_grad.pngtab.pngtop_grad.pngtrac_banner.pngtwisted-icon.icotwistedtrac.csstheme.confconchbenchmarksREADMEbuffering_mixin.pyexamplesdemo.tacdemo_draw.tacdemo_insults.tacdemo_manhole.tacdemo_recvline.tacdemo_scroll.tacindex.rstsshsimpleclient.pysshsimpleserver.pytelnet_echo.tacwindow.tachowtoconch_client.rstindex.rstlistingsechoclient_shared_ssh.pyechoclient_ssh.pyindex.rstmancftp.1ckeygen.1conch.1tkconch.1conf.pycorebenchmarksbanana.pydeferreds.pyfailure.pylinereceiver.pynetstringreceiver.pytask.pytimer.pytpclient.pytpclient_nt.pytpserver.pytpserver_nt.pydevelopmentindex.rstlistingsnew_module_template.pynaming.rstphilosophy.rstpolicycode-dev.rstcoding-standard.rstcompatibility-policy.rstindex.rstrelease-process.rsttest-standard.rstwriting-standard.rstsecurity.rstexamplesampclient.pyampserver.pybananabench.pychatserver.pycourier.pycred.pydbcred.pyechoclient.pyechoclient_ssl.pyechoclient_udp.pyechoserv.pyechoserv_ssl.pyechoserv_udp.pyfilewatch.pyftpclient.pyftpserver.pyindex.rstlongex.pylongex2.pypb_exceptions.pypbbenchclient.pypbbenchserver.pypbecho.pypbechoclient.pypbgtk2.pypbgtk2login.gladepbinterop.pypbsimple.pypbsimpleclient.pypostfix.pyptyserv.pypublic.pempyui_bg.pngpyuidemo.pyrecvfd.pyrotatinglog.pysendfd.pyserver.pemshaper.pyshoutcast.pysimple.tacsimpleclient.pysimpleserv.pyssl_clientauth_client.pyssl_clientauth_server.pystarttls_client.pystarttls_server.pystdin.pystdiodemo.pystreaming.pytestlogging.pythreadedselectCocoaSimpleWebClientEnglish.lprojMainMenu.nibclasses.nibinfo.nibkeyedobjects.nibREADME.txtTwistzilla.pysetup.pyREADMEblockingdemo.pypygamedemo.pytkinterdemo.pytls_alpn_npn_client.pytls_alpn_npn_server.pytwistd-logging.tacudpbroadcast.pywxacceptance.pywxdemo.pyhowtoamp.rstapplication.rstbasics.rstchoosing-reactor.rstclients.rstcomponents.rstconstants.rstcred.rstdebug-with-emacs.rstdefer-intro.rstdefer.rstdesign.rstdirdbm.rstendpoints.rstgendefer.rstglossary.rsthowto.tidyrcindex.rstinternet-overview.rstlistingsTwistedQuotes__init__.pypbquote.pypbquoteclient.pyquoteproto.pyquoters.pyquotes.txtquotetap.pyquotetap2.pywebquote.rpyampbasic_client.pybasic_server.taccommand_client.pyapplicationservice.taccredpop3_server.pydeferredsynch-validation.pyloggerad_hoc.pyad_hoc_save.pyanalyze.pyloader-math.pyloader.pylogsource.pyoffline_analyze.pyonline_analyze.pysaver.pypbcache_classes.pycache_receiver.pycache_sender.pychatclient.pychatserver.pycopy2_classes.pycopy2_receiver.pycopy2_sender.pycopy_receiver.taccopy_sender.pyexc_client.pyexc_server.pypb1client.pypb1server.pypb2client.pypb2server.pypb3client.pypb3server.pypb4client.pypb5client.pypb5server.pypb6client1.pypb6client2.pypb6server.pypb7client.pypbAnonClient.pypbAnonServer.pytrap_client.pytrap_server.pypositioningnmealogger.pyprocessprocess.pyquotes.pytrueandfalse.pysendmsgcopy_descriptor.pysend_replacement.pyserverschat.pysslcheck_echo_certificate.pycheck_server_certificate.pysystemdwww.example.com.socketwww.example.com.socketactivated.servicewww.example.com.static.servicetrialcalculus__init__.pybase_1.pybase_2.pybase_3.pyclient_1.pyclient_2.pyclient_3.pyremote_1.pyremote_2.pytest__init__.pytest_base_1.pytest_base_2.pytest_base_2b.pytest_base_3.pytest_client_1.pytest_client_2.pytest_client_3.pytest_client_4.pytest_remote_1.pytest_remote_2.pytest_remote_3.pyudpMulticastClient.pyMulticastServer.pyadopt_datagram_port.pybasic_example.pyconnected_udp.pygetting_ip.pyipv6_listen.pylogger.rstlogging.rstoptions.rstpb-clients.rstpb-copyable.rstpb-cred.rstpb-intro.rstpb-limits.rstpb-usage.rstpb.rstplugin.rstpositioning.rstprocess.rstproducers.rstpython3.rstquotes.rstrdbms.rstreactor-basics.rstsendmsg.rstservers.rstssl.rststylesheet-unprocessed.cssstylesheet.csssystemd.rsttap.rsttemplate.tpltesting.rstthreading.rsttime.rsttrial.rsttutorialbackends.rstclient.rstcomponents.rstconfiguration.rstfactory.rstindex.rstintro.rstlibrary.rstlistingsfingeretc.usersfinger__init__.pyfinger.pytap.pyfinger01.pyfinger02.pyfinger03.pyfinger04.pyfinger05.pyfinger06.pyfinger07.pyfinger08.pyfinger09.pyfinger10.pyfinger11.tacfinger12.tacfinger13.tacfinger14.tacfinger15.tacfinger16.tacfinger17.tacfinger18.tacfinger19.tacfinger19a.tacfinger19a_changes.pyfinger19b.tacfinger19b_changes.pyfinger19c.tacfinger19c_changes.pyfinger20.tacfinger21.tacfinger22.pyfingerPBclient.pyfingerXRclient.pyfinger_config.pyfingerproxy.tacorganized-finger.tacsimple-finger.tactwistedpluginsfinger_tutorial.pypb.rstprotocol.rststyle.rstweb.rstudp.rstvision.rstimgTwistedLogo.bmpcred-login.diacred-login.pngdeferred-attach.diadeferred-attach.pngdeferred-process.diadeferred-process.pngdeferred-states.svgdeferred.diadeferred.pngindex.rstmanpyhtmlizer.1trial.1twistd.1specificationsbanana.rstindex.rstfunTwisted.Quoteslightbulbregister.htmlhistoric2002ipc10twisted-network-frameworkerrata.htmlindex.html2004ibmtalk.htmlQuotesREADME.FirstTwisted-1.0Twisted-1.1Twisted-1.2Twisted-1.3Twisted-10.0Twisted-10.1Twisted-10.2Twisted-11.0Twisted-11.1Twisted-12.0Twisted-12.1Twisted-12.2Twisted-12.3Twisted-13.0Twisted-13.1Twisted-13.2Twisted-14.0Twisted-15.0Twisted-15.1Twisted-15.2Twisted-15.3Twisted-15.4Twisted-15.5Twisted-16.0Twisted-16.1Twisted-16.2Twisted-16.3Twisted-16.4Twisted-16.5Twisted-16.6Twisted-17.1Twisted-17.5Twisted-17.9Twisted-2.0Twisted-2.1Twisted-2.2Twisted-2.3Twisted-2.5Twisted-8.0Twisted-8.1Twisted-8.2Twisted-9.0index.rstipc10errata.htmlipc10paper.htmlstylesheet.csstemplate-notoc.tpltemplate.tpltwisted-debian.htmlindex.rstinstallationhowtooptional.rstindex.rstmailexamplesemailserver.tacimap4client.pyindex.rstsendmail_gmail.pysendmail_message.pysendmail_smtp.pysmtpclient_simple.pysmtpclient_tls.pyhowtoindex.rstsending-mail.rstindex.rstmanmailmail.1tutorialsmtpclientsmtpclient-1.tacsmtpclient-10.tacsmtpclient-11.tacsmtpclient-2.tacsmtpclient-3.tacsmtpclient-4.tacsmtpclient-5.tacsmtpclient-6.tacsmtpclient-7.tacsmtpclient-8.tacsmtpclient-9.tacsmtpclient.rstsmtpserversmtpserver-1.tacsmtpserver-2.tacsmtpserver-3.tacsmtpserver-4.tacsmtpserver-5.tacsmtpserver-6.tacsmtpserver-7.tacsmtpserver-8.tacmake.batnamesexamplesdns-service.pygethostbyname.pyindex.rstmulti_reverse_lookup.pytestdns.pyhowtoclient-tour.rstcustom-server.rstindex.rstlistingsnamesexample-domain.comoverride_server.pyreverse_lookup.pysimple_server.pynames.rstindex.rstpairexamplesindex.rstpairudp.pyhowtoconfiguration.rstindex.rsttunnels.rstindex.rststylesheet.csswebexamplesadvogato.pydlpage.pyfortune.rpy.pygetpage.pyhello.rpy.pyhttpclient.pyindex.rstlogging-proxy.pyproxy.pyreport.rpy.pyreverse-proxy.pyrootscript.pysilly-web.pysimple.rtlsoap.pyusers.rpy.pyweb.pywebguard.pyxmlrpc.pyxmlrpcclient.pyhowtoclient.rstglossary.rstindex.rstlistingsclientbytesprod.pycookies.pyendpointconstructor.pyfilesendbody.pygzipdecoder.pyrequest.pyresponse.pyresponseBody.pysendbody.pyelement_1.pyelement_2.pyelement_3.pyiteration-1.pyiteration-1.xmliteration-output-1.xmloutput-1.htmloutput-2.htmloutput-3.htmlquoting-output.htmlquoting_element.pyrender_1.pyrender_2.pyrender_3.pyrender_quoting.pyrender_slots_attrs.pyrender_transparent.pyslots-attributes-1.xmlslots-attributes-output.htmlslots_attributes_1.pysoap.rpysubviews-1.pysubviews-1.xmlsubviews-output-1.xmltemplate-1.xmltransparent-1.xmltransparent-output.htmltransparent_element.pywait_for_it.pywaited-for-it.htmlwaited-for-it.txtwebquote.rtlxmlAndSoapQuote.pyxmlquote.rpyxmlrpc-customized.pyresource-templates.rsttwisted-templates.rstusing-twistedweb.rstweb-development.rstweb-in-60access-logging.rstasynchronous-deferred.rstasynchronous.rstcustom-codes.rstdynamic-content.rstdynamic-dispatch.rsterror-handling.rsthandling-posts.rsthttp-auth.rstindex.rstinterrupted.rstlogging-errors.rstother-request-bodies.rstrpy-scripts.rstsession-basics.rstsession-endings.rstsession-store.rststatic-content.rststatic-dispatch.rstwsgi.rstweb-overview.rstxmlrpc.rstimgcontroller.pnglivepage.pngmodel.pngplone_root_model.pngview.pngweb-overview.diaweb-overview.pngweb-process.pngweb-process.svgweb-session.pngweb-widgets.diaweb-widgets.pngindex.rstwordsexamplescursesclient.pyindex.rstircLogBot.pyminchat.pypb_client.pyxmpp_client.pyhowtoim.rstindex.rstircclient.rstircserverclientcomm.rstindex.rst/usr/share/doc/packages//usr/share/doc/packages/python-Twisted-doc//usr/share/doc/packages/python-Twisted-doc/_extensions//usr/share/doc/packages/python-Twisted-doc/_static//usr/share/doc/packages/python-Twisted-doc/_templates//usr/share/doc/packages/python-Twisted-doc/_themes//usr/share/doc/packages/python-Twisted-doc/_themes/twisteddefault//usr/share/doc/packages/python-Twisted-doc/_themes/twistedtrac//usr/share/doc/packages/python-Twisted-doc/_themes/twistedtrac/static//usr/share/doc/packages/python-Twisted-doc/_themes/twistedtrac/static/css//usr/share/doc/packages/python-Twisted-doc/conch//usr/share/doc/packages/python-Twisted-doc/conch/benchmarks//usr/share/doc/packages/python-Twisted-doc/conch/examples//usr/share/doc/packages/python-Twisted-doc/conch/howto//usr/share/doc/packages/python-Twisted-doc/conch/howto/listings//usr/share/doc/packages/python-Twisted-doc/conch/man//usr/share/doc/packages/python-Twisted-doc/core//usr/share/doc/packages/python-Twisted-doc/core/benchmarks//usr/share/doc/packages/python-Twisted-doc/core/development//usr/share/doc/packages/python-Twisted-doc/core/development/listings//usr/share/doc/packages/python-Twisted-doc/core/development/policy//usr/share/doc/packages/python-Twisted-doc/core/examples//usr/share/doc/packages/python-Twisted-doc/core/examples/threadedselect//usr/share/doc/packages/python-Twisted-doc/core/examples/threadedselect/Cocoa//usr/share/doc/packages/python-Twisted-doc/core/examples/threadedselect/Cocoa/SimpleWebClient//usr/share/doc/packages/python-Twisted-doc/core/examples/threadedselect/Cocoa/SimpleWebClient/English.lproj//usr/share/doc/packages/python-Twisted-doc/core/examples/threadedselect/Cocoa/SimpleWebClient/English.lproj/MainMenu.nib//usr/share/doc/packages/python-Twisted-doc/core/howto//usr/share/doc/packages/python-Twisted-doc/core/howto/listings//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/TwistedQuotes//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/amp//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/application//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/cred//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/deferred//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/logger//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/pb//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/positioning//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/process//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/sendmsg//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/servers//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/ssl//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/systemd//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/trial//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/trial/calculus//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/trial/calculus/test//usr/share/doc/packages/python-Twisted-doc/core/howto/listings/udp//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial/listings//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial/listings/finger//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial/listings/finger/finger//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial/listings/finger/twisted//usr/share/doc/packages/python-Twisted-doc/core/howto/tutorial/listings/finger/twisted/plugins//usr/share/doc/packages/python-Twisted-doc/core/img//usr/share/doc/packages/python-Twisted-doc/core/man//usr/share/doc/packages/python-Twisted-doc/core/specifications//usr/share/doc/packages/python-Twisted-doc/fun//usr/share/doc/packages/python-Twisted-doc/historic//usr/share/doc/packages/python-Twisted-doc/historic/2002//usr/share/doc/packages/python-Twisted-doc/historic/2002/ipc10//usr/share/doc/packages/python-Twisted-doc/historic/2002/ipc10/twisted-network-framework//usr/share/doc/packages/python-Twisted-doc/historic/2004//usr/share/doc/packages/python-Twisted-doc/historic/2004/ibm//usr/share/doc/packages/python-Twisted-doc/historic/Quotes//usr/share/doc/packages/python-Twisted-doc/installation//usr/share/doc/packages/python-Twisted-doc/installation/howto//usr/share/doc/packages/python-Twisted-doc/mail//usr/share/doc/packages/python-Twisted-doc/mail/examples//usr/share/doc/packages/python-Twisted-doc/mail/howto//usr/share/doc/packages/python-Twisted-doc/mail/man//usr/share/doc/packages/python-Twisted-doc/mail/tutorial//usr/share/doc/packages/python-Twisted-doc/mail/tutorial/smtpclient//usr/share/doc/packages/python-Twisted-doc/mail/tutorial/smtpserver//usr/share/doc/packages/python-Twisted-doc/names//usr/share/doc/packages/python-Twisted-doc/names/examples//usr/share/doc/packages/python-Twisted-doc/names/howto//usr/share/doc/packages/python-Twisted-doc/names/howto/listings//usr/share/doc/packages/python-Twisted-doc/names/howto/listings/names//usr/share/doc/packages/python-Twisted-doc/pair//usr/share/doc/packages/python-Twisted-doc/pair/examples//usr/share/doc/packages/python-Twisted-doc/pair/howto//usr/share/doc/packages/python-Twisted-doc/web//usr/share/doc/packages/python-Twisted-doc/web/examples//usr/share/doc/packages/python-Twisted-doc/web/howto//usr/share/doc/packages/python-Twisted-doc/web/howto/listings//usr/share/doc/packages/python-Twisted-doc/web/howto/listings/client//usr/share/doc/packages/python-Twisted-doc/web/howto/web-in-60//usr/share/doc/packages/python-Twisted-doc/web/img//usr/share/doc/packages/python-Twisted-doc/words//usr/share/doc/packages/python-Twisted-doc/words/examples//usr/share/doc/packages/python-Twisted-doc/words/howto/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:10932/openSUSE_Leap_15.1_Update/3f872aa9db350003e1ee48ac8a94d010-python-Twisted.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux        !!"#$###%&'(directoryASCII text, with very long linesPython script, ASCII text executableASCII textHTML document, ASCII textPNG image data, 14 x 35, 8-bit/color RGBA, non-interlacedGIF image data, version 89a, 13 x 7PNG image data, 1 x 215, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 178, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 22, 8-bit/color RGBA, non-interlacedPNG image data, 282 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 26, 8-bit/color RGBA, non-interlacedPNG image data, 338 x 75, 8-bit/color RGBA, non-interlacedPython script, ASCII text executable, with very long linestroff or preprocessor input, ASCII textUTF-8 Unicode text, with very long linesUTF-8 Unicode textXML 1.0 document, ASCII textPNG image data, 1500 x 1500, 8-bit colormap, non-interlacedPython script, UTF-8 Unicode text executable, with very long linesemptyassembler source, ASCII textHTML document, UTF-8 Unicode text, with very long linesXML 1.0 document, UTF-8 Unicode text (gzip compressed data, from Unix)PNG image data, 654 x 467, 8-bit/color RGB, non-interlacedXML 1.0 document, ASCII text (gzip compressed data, from Unix)PNG image data, 503 x 187, 8-bit/color RGB, non-interlacedPNG image data, 240 x 382, 8-bit/color RGB, non-interlacedSVG Scalable Vector Graphics imagePNG image data, 635 x 837, 8-bit/color RGB, non-interlaceddiff output, ASCII textDOS batch file, ASCII textexported SGML document, ASCII textPython script, UTF-8 Unicode text executablePNG image data, 504 x 387, 8-bit colormap, non-interlacedPNG image data, 484 x 429, 8-bit colormap, non-interlacedPNG image data, 250 x 302, 8-bit/color RGB, non-interlacedPNG image data, 504 x 361, 8-bit/color RGBA, non-interlacedPNG image data, 504 x 216, 8-bit colormap, non-interlacedPNG image data, 471 x 264, 8-bit/color RGB, non-interlaced8hV@Equtf-836dd91a7cfb9612ffab2ba32baf70d26e2de3a7df76479500a979632152a9e5a?P7zXZ !t/#.]"k%a H]d۔긄f#żRH +cvUNpd3FO=inpH0la&/!ݣq9e`kNq8b!)F4]"/\MĻ2ǽZִpvu/H9ĭmanAHXbJ}egjc~BL}"&+uӏ-oJ$rE-, [WC/ڲg$^]1eq5Rí = 8F ޺\A#OTqWuQ5O՘Y<V!ԭvo!}2EY.aU'W[OCʬ gRL8@Jwz̠k]QtMsQJ͈hyU9@&xܥF:v2=QF bv-Gǧj5P){r Y!A/E[A AU `iv{dɔC5߄ɫ@ H\4ǣ{u&@ZwMC[.Վ+`Ճx}[,v}a[T?? Aݧ~fisqdɏuݎh Qo-+`} hdC?4~c.;T;XU0;)ٛ&,A+GV ei툓 5s 0( :A30'aO:,x.#x\ڜn9G[b?!3>˓$"0pOtˏVG7dU/uzۂsssj £v&{]5SBςhe X]D=,Da$!vBL&| U:h?!+h]0ʹ֘ZԮSoL#aʩnosY1&œ#UZIeSJ=y\2N*@gruMoͦe]isT=ʏ-{'tEy'e2\y-`"VMDqˋÑoIh〧Unp'q*{1^p("s/ LKKo1V&R\3<'FOX6cxB8FSp9za V~y_ę8 'Gʊ%*T YSZΨ(r4|"#gE6;\-*^)n_Sޗe=:2\h|nm4Аh$qmpS'Q5-z)422|5VjUcJ]nA!S ٞlܨ7T+D?O\9+LyLj8Cd:M0(ܷPҁ~4[a(qٛZpVyC]GyTZ|'APC<ҍDڍ#>Fǖ1U_aO =6z|:Nz"ÇްŬ&c43OT=UJRK|Ȅ H'k5s!j~X"hR\Q;@+]6kZНR$(1%bQyp8eMWqыv9쑋B IaTo\<.pCw3):BePqͪ_&J鈑< C"[ 3ThI8;/ʈr_ :;#Bpْ8"vCXPwA_g%ܱ٣5:[ ?.}eS Zud-]eubx }qUI F3xqcl vyvVvx/)1#g'1j֥.PF=I4yy:umnB.Os li;ekysk/ePxaluO-~(bdc*_sWQ!xO ʂCb%~Nti5eqRYU蹺U:X7\|4$3kv DvSꤦ[BqМEv\2 -pd?_Z˄OkCQэ%Ҟ/ up89Y%r2) Yv95xkG/5G@@MqT8%,A^ ù ) v ?TWC-t!el|E'T.$wdv PE%O`\\tx[v\hBj#j@xT"')7.''e?y#q +֕/j!x-G^~E9~H@BV:7SE* i(d( $ [Ҽe[$'#ym$n:hPQfV~p.MɿʺCa}@Jv.H9&el]Zт֠JF;QUjn+b ̏:t$Q#7NbSgs%=0 'Aǰ۠*}GưN/m";d$$;lr1$|vcdWVb [ g4{:oDN z. J\l=Dl[Ć"C'bώj s]D `_7Eo؅fNz = +J006_ZP0~;)>,-ryY#٬h $w!2ς*h}_'L*Xӣ4w4f%"lCF>o sB?O쑡΀Pupg[~Dq|ezvMn̳#wŶ-G; F}>MG/*NU)s;5[m5Y"Gzp1߅^ߋx9VWQbuu *PTvc.^YF?rAPy,BiyNU֙\M U#&lLr߶o`%E)3,|CШDFmJ%ȶ }%p?T 7z"EЀ]#q4Qar6k GF YZ