+
    -Iëj©@  ã                   ó`  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt ^ RIHtHt ^ R	IHtHtHt ^ R
IHt ^ RIt]P6                  '       d   ^ RIHt ^ RIHtHtH t  ^^ut!t" ! R R]4      t# ! R R]4      t$ ! R R]PJ                  4      t& ! R R]4      t'R# )é    )ÚclosingN©ÚFuture)Úbind_socketsÚResolver)ÚQueue)Ú	TCPClientÚ
_Connector)Ú	TCPServer)ÚAsyncTestCaseÚgen_test)ÚskipIfNoIPv6Úrefusing_portÚskipIfNonUnix)ÚTimeoutError)ÚIOStream)ÚListÚDictÚTuplec                   óD   a a€ ] tR t^(t oV 3R ltR tV 3R ltRtVtV ;t	# )ÚTestTCPServerc                óÒ   <€ \         SV `  4        . V n        \        4       V n        \        ^ RV4      pV P                  V4       V^ ,          P                  4       ^,          V n        R# )r   Ú	localhostN)	ÚsuperÚ__init__Ústreamsr   Úqueuer   Úadd_socketsÚgetsocknameÚport)ÚselfÚfamilyÚsocketsÚ	__class__s   && €Ú=/usr/lib/python3/dist-packages/tornado/test/tcpclient_test.pyr   ÚTestTCPServer.__init__)   sS   ø€ Ü‰ÑÔØˆŒÜ“WˆŒ
Ü˜q +¨vÓ6ˆØ×Ñ˜Ô!Ø˜A•J×*Ñ*Ó,¨QÕ/ˆŽ	ó    c                ór   € V P                   P                  V4       V P                  P                  V4       R # ©N)r   Úappendr   Úput)r!   ÚstreamÚaddresss   &&&r%   Úhandle_streamÚTestTCPServer.handle_stream1   s$   € Ø�‰×Ñ˜FÔ#Ø�
‰
�‰�vÖr'   c                ój   <€ \         SV `  4        V P                   F  pVP                  4        K  	  R # r)   )r   Ústopr   Úclose©r!   r,   r$   s   & €r%   r1   ÚTestTCPServer.stop5   s#   ø€ Ü‰‰ŒØ—l”lˆFØ�L‰LŽNó #r'   )r    r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r.   r1   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r$   Ú__classdict__s   @@r%   r   r   (   s   ù‡ € õ0ò÷õ r'   r   c                   ó  a a€ ] tR t^;t oV 3R ltR tR tV 3R ltR t]	RR l4       t
R tR t]R	 4       t]R
 4       tR t]R 4       tR t]	R 4       tR tR t]]P0                  ! R4      R 4       4       t]	R 4       tRtVtV ;t# )ÚTCPClientTestc                óP   <€ \         SV `  4        R V n        \        4       V n        R # r)   )r   ÚsetUpÚserverr	   Úclient©r!   r$   s   &€r%   rA   ÚTCPClientTest.setUp<   s   ø€ Ü‰‰ŒØˆŒÜ“kˆŽr'   c                óN   € \        V4      V n        V P                  P                  # r)   )r   rB   r    )r!   r"   s   &&r%   Ústart_serverÚTCPClientTest.start_serverA   s   € Ü# FÓ+ˆŒØ�{‰{×ÑÐr'   c                óh   € V P                   e$   V P                   P                  4        R V n         R # R # r)   )rB   r1   ©r!   s   &r%   Ústop_serverÚTCPClientTest.stop_serverE   s(   € Ø�;‰;Ò"Ø�K‰K×ÑÔØˆDŽKñ #r'   c                óx   <€ V P                   P                  4        V P                  4        \        SV `  4        R # r)   )rC   r2   rK   r   ÚtearDownrD   s   &€r%   rN   ÚTCPClientTest.tearDownJ   s*   ø€ Ø�‰×ÑÔØ×ÑÔÜ‰ÑÖr'   c                óÆ   € V P                   P                  R  4      pV Uu0 uF  q"^ ,          kK  	  pp\        P                  V9  d   V P	                  R4       R# R# u upi )c                  ó6   € \        4       P                  R ^P4      # )r   )r   Úresolve© r'   r%   Ú<lambda>Ú1TCPClientTest.skipIfLocalhostV4.<locals>.<lambda>R   s   € ´³×1CÑ1CÀKÐQSÔ1Tr'   z"localhost does not resolve to ipv6N)Úio_loopÚrun_syncÚsocketÚAF_INET6ÚskipTest)r!   ÚaddrinfoÚaddrÚfamiliess   &   r%   ÚskipIfLocalhostV4ÚTCPClientTest.skipIfLocalhostV4O   sT   € ð —<‘<×(Ñ(Ñ)TÓUˆÙ(0Ó1© ˜—G�G©ˆÐ1Ü�?‰? (Ô*Ø�M‰MÐ>Ö?ñ +ùò 2s   ¡Ac              #  ó¬  "  € V P                  V4      pV P                  P                  VVVVVR 7      x €pV P                  f   Q hV P                  P                  P                  4       x €p\        V4      ;_uu_ 4        VP                  R4       VP                  ^4      x €pV P                  VR4       RRR4       R#   + '       g   i     R# ; i5i))Ú	source_ipÚsource_portÚafNs   hello)
rG   rC   ÚconnectrB   r   Úgetr   ÚwriteÚ
read_bytesÚassertEqual)	r!   r"   Úhostra   rb   r    r,   Úserver_streamÚdatas	   &&&&&    r%   Údo_test_connectÚTCPClientTest.do_test_connectW   s²   é € à× Ñ  Ó(ˆØ—{‘{×*Ñ*ØØØØ#Øð +ó 
ñ 
ˆð �{‰{Ò&Ð&Ð&Ø"Ÿk™k×/Ñ/×3Ñ3Ó5Ñ5ˆÜ�V�_�_Ø�L‰L˜Ô"Ø&×1Ñ1°!Ó4Ñ4ˆDØ×Ñ˜T 8Ô,÷ �_�_Š_üs   ‚A=CÁ?7C Â6
CÃ C	Ã	Cc                óF   € V P                  \        P                  R 4       R# ©ú	127.0.0.1N©rl   rX   ÚAF_INETrJ   s   &r%   Útest_connect_ipv4_ipv4Ú$TCPClientTest.test_connect_ipv4_ipv4h   ó   € Ø×ÑœVŸ^™^¨[Ö9r'   c                óF   € V P                  \        P                  R 4       R# ©r   Nrq   rJ   s   &r%   Útest_connect_ipv4_dualÚ$TCPClientTest.test_connect_ipv4_dualk   ru   r'   c                óf   € V P                  4        V P                  \        P                  R 4       R# ©z::1N©r^   rl   rX   rY   rJ   s   &r%   Útest_connect_ipv6_ipv6Ú$TCPClientTest.test_connect_ipv6_ipv6n   s"   € à×ÑÔ Ø×ÑœVŸ_™_¨eÖ4r'   c                óf   € V P                  4        V P                  \        P                  R 4       R# rw   r|   rJ   s   &r%   Útest_connect_ipv6_dualÚ$TCPClientTest.test_connect_ipv6_duals   s"   € à×ÑÔ Ø×ÑœVŸ_™_¨kÖ:r'   c                óF   € V P                  \        P                  R 4       R# ro   ©rl   rX   Ú	AF_UNSPECrJ   s   &r%   Útest_connect_unspec_ipv4Ú&TCPClientTest.test_connect_unspec_ipv4x   ó   € Ø×ÑœV×-Ñ-¨{Ö;r'   c                óf   € V P                  4        V P                  \        P                  R 4       R# r{   )r^   rl   rX   r„   rJ   s   &r%   Útest_connect_unspec_ipv6Ú&TCPClientTest.test_connect_unspec_ipv6{   s$   € à×ÑÔ Ø×ÑœV×-Ñ-¨uÖ5r'   c                óF   € V P                  \        P                  R 4       R# rw   rƒ   rJ   s   &r%   Útest_connect_unspec_dualÚ&TCPClientTest.test_connect_unspec_dual€   r‡   r'   c              #  óø   "  € \        4       w  rV P                  V4       V P                  \        4      ;_uu_ 4        V P                  P                  R V4      x € RRR4       R#   + '       g   i     R# ; i5iro   )r   Ú
addCleanupÚassertRaisesÚIOErrorrC   rd   )r!   Úcleanup_funcr    s   &  r%   Útest_refused_ipv4ÚTCPClientTest.test_refused_ipv4ƒ   sQ   é € ä*›_ÑˆØ�‰˜Ô%Ø×Ñœw×'Õ'Ø—+‘+×%Ñ% k°4Ó8Ò8÷ (×'×'Ò'üs   ‚;A:½A&Á
A:Á&A7	Á1	A:c                ó~   € V P                  \        P                  V P                  \        P                  RRR7       R# )z8Fail when trying to use the source IP Address '8.8.8.8'.rp   z8.8.8.8©ra   N)r�   rX   Úerrorrl   rr   rJ   s   &r%   Útest_source_ip_failÚ!TCPClientTest.test_source_ip_failŠ   s2   € à×ÑÜ�L‰LØ× Ñ Ü�N‰NØØð 	ö 	
r'   c                óJ   € V P                  \        P                  RRR7       R# )z=Success when trying to use the source IP Address '127.0.0.1'.rp   r–   Nrq   rJ   s   &r%   Útest_source_ip_successÚ$TCPClientTest.test_source_ip_success”   s   € à×ÑœVŸ^™^¨[ÀKÐÖPr'   zfailing on Salsa CIc                óÔ   € \         P                  ! 4       R8X  d   V P                  R4       V P                  \        P
                  V P                  \        P                  R^R7       R# )z&Fail when trying to use source port 1.Úrootzrunning as rootrp   )rb   N)ÚgetpassÚgetuserrZ   r�   rX   r—   rl   rr   rJ   s   &r%   Útest_source_port_failÚ#TCPClientTest.test_source_port_fail˜   sR   € ô �?Š?Ó Ô&ð �M‰MÐ+Ô,Ø×ÑÜ�L‰LØ× Ñ Ü�N‰NØØð 	ö 	
r'   c              #  óî   "  € R p ! R R\         4      pV P                  \        4      ;_uu_ 4        \        V! 4       R7      P	                  RRVR7      x € RRR4       R#   + '       g   i     R# ; i5i)gš™™™™™©?c                   ó&   a € ] tR t^¬t o R tRtV tR# )Ú;TCPClientTest.test_connect_timeout.<locals>.TimeoutResolverc                ó   € \        4       # r)   r   )r!   ÚargsÚkwargss   &*,r%   rR   ÚCTCPClientTest.test_connect_timeout.<locals>.TimeoutResolver.resolve­   s	   € Ü“x�r'   rS   N)r5   r6   r7   r8   rR   r9   r:   ©r=   s   @r%   ÚTimeoutResolverr¥   ¬   s   ø‡ € ÷ ð  r'   r«   )Úresolverz1.2.3.4i90  )ÚtimeoutN)r   r�   r   r	   rd   )r!   r­   r«   s   &  r%   Útest_connect_timeoutÚ"TCPClientTest.test_connect_timeout¨   s_   é € àˆô	 œhô 	 ð ×Ñœ|×,Õ,Ü¡_Ó%6Ô7×?Ñ?Ø˜5¨'ð @ó ò ÷ -×,×,Ò,üs   ‚/A5±&A!Á
A5Á!A2	Á,	A5)rC   rB   )NN)r5   r6   r7   r8   rA   rG   rK   rN   r^   r   rl   rs   rx   r   r}   r€   r…   r‰   rŒ   r“   r˜   r›   r   ÚunittestÚskipr¡   r®   r9   r:   r;   r<   s   @@r%   r?   r?   ;   sá   ù‡ € õ"ò
 òõ
ò
@ð ó-ó ð-ò :ò:ð ñ5ó ð5ð ñ;ó ð;ò<ð ñ6ó ð6ò<ð ñ9ó ð9ò
òQð Ø‡]‚]Ð(Ó)ñ
ó *ó ð
ð ñ
ó ÷
ð 
r'   r?   c                   ó,   a € ] tR t^¶t o R tR tRtV tR# )ÚTestConnectorSplitc                ó¶   € \         P                  ! \        R 3\        R3.4      w  rV P                  V\        R 3\        R3.4       V P                  V. 4       R# ©ÚaÚbN)r
   ÚsplitÚAF1rh   ©r!   ÚprimaryÚ	secondarys   &  r%   Útest_one_familyÚ"TestConnectorSplit.test_one_family·   sO   € ä'×-Ò-´°S¨z¼CÀ¸:Ð.FÓGÑˆØ×Ñ˜¤C¨ :´°S¨zÐ":Ô;Ø×Ñ˜ BÖ'r'   c                óî   € \         P                  ! \        R 3\        R3\        R3\        R3.4      w  rV P	                  V\        R 3\        R3.4       V P	                  V\        R3\        R3.4       R# ©r¶   r·   ÚcÚdN)r
   r¸   r¹   ÚAF2rh   rº   s   &  r%   Ú
test_mixedÚTestConnectorSplit.test_mixed½   sm   € Ü'×-Ò-Ü�3ˆZœ#˜s˜¤c¨3 Z´#°s°Ð<ó
Ñˆð 	×Ñ˜¤C¨ :´°S¨zÐ":Ô;Ø×Ñ˜¤c¨3 Z´#°s°Ð$<Ö=r'   rS   N)r5   r6   r7   r8   r½   rÄ   r9   r:   rª   s   @r%   r³   r³   ¶   s   ø‡ € ò(÷>ð >r'   r³   c                   óÐ   a a€ ] tR t^Åt o ! R R4      tV 3R ltV 3R ltR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtVtV ;t# )ÚConnectorTestc                   ó,   a € ] tR t^Æt o R tR tRtV tR# )ÚConnectorTest.FakeStreamc                ó   € R V n         R# )FN©ÚclosedrJ   s   &r%   r   Ú!ConnectorTest.FakeStream.__init__Ç   s	   € ØˆDŽKr'   c                ó   € R V n         R# )TNrË   rJ   s   &r%   r2   ÚConnectorTest.FakeStream.closeÊ   s	   € ØˆDŽKr'   rË   N)r5   r6   r7   r8   r   r2   r9   r:   rª   s   @r%   Ú
FakeStreamrÉ   Æ   s   ø‡ € ò	 ÷	ð 	r'   rÐ   c                ó†   <€ \         SV `  4        / V n        / V n        \        R 3\        R3\
        R3\
        R3.V n        R# rÀ   )r   rA   Úconnect_futuresr   r¹   rÃ   r[   rD   s   &€r%   rA   ÚConnectorTest.setUpÍ   s@   ø€ Ü‰‰Œàð 	Ôð ˆŒÜ˜s˜¤c¨3 Z´#°s°¼cÀ3¸ZÐHˆŽr'   c                óœ   <€ V P                   P                  4        F  pV P                  VP                  4       K   	  \        SV `  4        R # r)   )r   ÚvaluesÚassertFalserÌ   r   rN   r3   s   & €r%   rN   ÚConnectorTest.tearDownÕ   s9   ø€ ð —l‘l×)Ñ)Ö+ˆFØ×Ñ˜VŸ]™]Ö+ñ ,ä‰ÑÖr'   c                ó~   € \         P                  4       pW0P                  V&   \        4       pW@P                  W3&   W43# r)   )rÇ   rÐ   r   r   rÒ   )r!   rc   r\   r,   Úfutures   &&&  r%   Úcreate_streamÚConnectorTest.create_streamÜ   s;   € Ü×)Ñ)Ó+ˆØ#�‰�TÑÜ“ˆØ+1×Ñ˜b˜ZÑ(Øˆ~Ðr'   c                ó~   € V P                  \        V P                  P                  4       4      \        V4      4       R # r)   )rh   ÚsortedrÒ   Úkeys)r!   rÞ   s   &*r%   Úassert_pendingÚConnectorTest.assert_pendingã   s*   € Ø×Ñœ × 4Ñ 4× 9Ñ 9Ó ;Ó<¼fÀT»lÖKr'   c                óf  € V P                   P                  W34      pV'       d$   VP                  V P                  V,          4       M4V P                  P                  V4       VP	                  \        4       4       V P                  P                  V P                  4       V P                  4        R # r)   )
rÒ   ÚpopÚ
set_resultr   Úset_exceptionr‘   rV   Úadd_callbackr1   Úwait)r!   rc   r\   ÚsuccessrÙ   s   &&&& r%   Úresolve_connectÚConnectorTest.resolve_connectæ   su   € Ø×%Ñ%×)Ñ)¨2¨*Ó5ˆßØ×Ñ˜dŸl™l¨4Õ0Õ1à�L‰L×Ñ˜TÔ"Ø× Ñ ¤£Ô+à�‰×!Ñ! $§)¡)Ô,Ø�	‰	Žr'   c                ób   € VP                    F  pV P                  VP                  4       K   	  R # r)   )r   Ú
assertTruerÌ   )r!   Úconnr,   s   && r%   Úassert_connector_streams_closedÚ-ConnectorTest.assert_connector_streams_closedñ   s    € Ø—l”lˆFØ�O‰O˜FŸM™MÖ*ó #r'   c                ó–   € \        WP                  4      pVP                  R V P                  P	                  4       R ,           R7      pW#3# )i  )Úconnect_timeout)r
   rÚ   ÚstartrV   Útime)r!   r[   rì   rÙ   s   &&  r%   Ústart_connectÚConnectorTest.start_connectõ   s>   € Ü˜(×$6Ñ$6Ó7ˆà—‘˜D°$·,±,×2CÑ2CÓ2EÈÕ2L�ÓMˆØˆ|Ðr'   c                óR  € V P                  V P                  4      w  rV P                  \        V P                  P                  4       4      \        R 3.4       V P                  \        R R4       V P                  VP                  4       \        R V P                  R ,          34       R# )r¶   TN)
ró   r[   rh   ÚlistrÒ   rÞ   r¹   rè   Úresultr   ©r!   rì   rÙ   s   &  r%   Útest_immediate_successÚ$ConnectorTest.test_immediate_successû   sz   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×Ñœ˜d×2Ñ2×7Ñ7Ó9Ó:¼cÀ3¸Z¸LÔIØ×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                óÖ   € V P                  \        R 3.4      w  rV P                  \        R 34       V P                  \        R R4       V P	                  \
        VP                  4       R# )r¶   FN©ró   r¹   rß   rè   r�   r‘   r÷   rø   s   &  r%   Útest_immediate_failureÚ$ConnectorTest.test_immediate_failure  sR   € à×)Ñ)¬C°¨:¨,Ó7‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×Ñœ' 6§=¡=Ö1r'   c                óp  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       V P                  \        R R4       V P                  \        R34       V P                  \        RR4       V P	                  VP                  4       \        RV P                  R,          34       R# ©r¶   r·   FTN)ró   r¹   rß   rè   rh   r÷   r   rø   s   &  r%   Útest_one_family_second_tryÚ(ConnectorTest.test_one_family_second_try  s�   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                ó@  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       V P                  \        R R4       V P                  \        R34       V P                  \        RR4       V P	                  \
        VP                  4       R# ©r¶   r·   FNrü   rø   s   &  r%   Ú"test_one_family_second_try_failureÚ0ConnectorTest.test_one_family_second_try_failure  s}   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×Ñœ' 6§=¡=Ö1r'   c                ó¾  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       VP                  4        V P                  \        R 34       V P	                  \        R R4       V P                  \        R34       V P	                  \        RR4       V P                  VP                  4       \        RV P                  R,          34       R# r   )ró   r¹   rß   Ú
on_timeoutrè   rh   r÷   r   rø   s   &  r%   Ú"test_one_family_second_try_timeoutÚ0ConnectorTest.test_one_family_second_try_timeout  s­   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'ð 	�‰ÔØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                ó¤  € V P                  V P                  4      w  rV P                  \        R 34       V P	                  \        R R4       V P                  \        R3\
        R34       V P	                  \        RR4       V P	                  \
        RR4       V P                  VP                  4       \
        RV P                  R,          34       R# )r¶   Fr·   rÁ   TN)	ró   r[   rß   r¹   rè   rÃ   rh   r÷   r   rø   s   &  r%   Ú#test_two_families_immediate_failureÚ1ConnectorTest.test_two_families_immediate_failure$  sž   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # uÔ-Ø×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                ó¶  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P                  \        R 3\
        R34       V P                  \
        RR4       V P                  VP                  4       \
        RV P                  R,          34       V P                  \        R R4       V P                  4        R# )r¶   rÁ   TFN)
ró   r[   rß   r¹   r  rÃ   rè   rh   r÷   r   rø   s   &  r%   Útest_two_families_timeoutÚ'ConnectorTest.test_two_families_timeout-  s¢   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø�‰ÔØ×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÔHà×ÑœS # uÔ-Ø×ÑÖr'   c                óþ  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P                  \        R 3\
        R34       V P                  \        R R4       V P                  VP                  4       \        R V P                  R ,          34       V P                  \
        RR4       V P                  V P                  P                  R4      P                  4       R# ©r¶   rÁ   TN)ró   r[   rß   r¹   r  rÃ   rè   rh   r÷   r   rë   râ   rÌ   rø   s   &  r%   Útest_success_after_timeoutÚ(ConnectorTest.test_success_after_timeout8  s·   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø�‰ÔØ×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # tÔ,Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÔHà×ÑœS # tÔ,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ö5r'   c                ó˜  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P                  \        R 3\
        R34       V P                  \
        RR4       V P                  \        R 3\
        R34       V P                  \
        RR4       V P                  \        R 34       V P                  \        R R4       V P                  \        R34       V P                  VP                  4       4       V P                  \        RR4       V P                  \        VP                  4       R# )r¶   rÁ   FrÂ   r·   N)ró   r[   rß   r¹   r  rÃ   rè   rÖ   Údoner�   r‘   r÷   rø   s   &  r%   Útest_all_failÚConnectorTest.test_all_failC  sø   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø�‰ÔØ×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # uÔ-Ø×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # uÔ-à×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×Ñ˜Ÿ™›Ô'Ø×ÑœS # uÔ-Ø×Ñœ' 6§=¡=Ö1r'   c                ó,  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       VP                  4        V P                  P                  \        R 34       V P                  V P                  P                  R 4      P                  4       VP                  4        V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  \        VP                  4       R# rµ   )ró   r¹   rß   Úon_connect_timeoutrÒ   râ   rë   r   rÌ   r  rh   Úlenrí   r�   r   r÷   rø   s   &  r%   Ú-test_one_family_timeout_after_connect_timeoutÚ;ConnectorTest.test_one_family_timeout_after_connect_timeoutS  sÍ   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑÔ!ð 	×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø�‰Ôð 	×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñœ,¨¯©Ö6r'   c                ó  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       V P                  \        R R4       VP	                  4        V P                  4        V P                  V P                  R ,          P                  4       V P                  \        VP                  4      ^ 4       V P                  V4       V P                  VP                  4       \        R V P                  R ,          34       R# )r¶   r·   TN)ró   r¹   rß   rè   r  rÖ   r   rÌ   rh   r  rí   r÷   rø   s   &  r%   Ú.test_one_family_success_before_connect_timeoutÚ<ConnectorTest.test_one_family_success_before_connect_timeoutc  sÇ   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # tÔ,Ø×ÑÔ!Ø×ÑÔØ×Ñ˜Ÿ™ cÕ*×1Ñ1Ô2à×Ñœ˜TŸ\™\Ó*¨AÔ.à×,Ñ,¨TÔ2Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                óh  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       V P                  \        R R4       V P                  \        R34       VP	                  4        V P
                  P                  \        R34       V P                  V P                  P                  R4      P                  4       V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  \        VP                  4       R# r  )ró   r¹   rß   rè   r  rÒ   râ   rë   r   rÌ   rh   r  rí   r�   r   r÷   rø   s   &  r%   Ú0test_one_family_second_try_after_connect_timeoutÚ>ConnectorTest.test_one_family_second_try_after_connect_timeoutp  sã   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×ÑÔ!Ø×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñœ,¨¯©Ö6r'   c                óì  € V P                  \        R 3\        R3.4      w  rV P                  \        R 34       V P                  \        R R4       V P                  \        R34       V P                  \        RR4       VP	                  4        V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  \        VP                  4       R# r  )ró   r¹   rß   rè   r  rh   r  r   rí   r�   r‘   r÷   rø   s   &  r%   Ú9test_one_family_second_try_failure_before_connect_timeoutÚGConnectorTest.test_one_family_second_try_failure_before_connect_timeout}  s¼   € Ø×)Ñ)¬C°¨:¼¸S°zÐ*BÓC‰ˆØ×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑœS #˜JÔ'Ø×ÑœS # uÔ-Ø×ÑÔ!Ø×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñœ' 6§=¡=Ö1r'   c                ó
  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P                  \        R 3\
        R34       VP                  4        V P                  P                  \        R 34       V P                  V P                  P                  R 4      P                  4       V P                  P                  \
        R34       V P                  V P                  P                  R4      P                  4       V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  \         VP"                  4       R# )r¶   rÁ   N)ró   r[   rß   r¹   r  rÃ   r  rÒ   râ   rë   r   rÌ   rh   r  rí   r�   r   r÷   rø   s   &  r%   Ú.test_two_family_timeout_before_connect_timeoutÚ<ConnectorTest.test_two_family_timeout_before_connect_timeout‰  s  € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø�‰ÔØ×ÑœS #˜J¬¨c¨
Ô3Ø×ÑÔ!Ø×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñœ,¨¯©Ö6r'   c                óž  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P                  \        R 3\
        R34       V P                  \        R R4       V P                  P                  \
        R34       V P                  V P                  P                  R4      P                  4       V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  VP                  4       \        R V P                  R ,          34       R# r  )ró   r[   rß   r¹   r  rÃ   rè   rÒ   râ   rë   r   rÌ   rh   r  rí   r÷   rø   s   &  r%   Ú%test_two_family_success_after_timeoutÚ3ConnectorTest.test_two_family_success_after_timeout˜  sð   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø�‰ÔØ×ÑœS #˜J¬¨c¨
Ô3Ø×ÑœS # tÔ,à×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñ˜Ÿ™›¬3°°T·\±\À#Õ5FÐ*GÖHr'   c                óD  € V P                  V P                  4      w  rV P                  \        R 34       VP	                  4        V P
                  P                  \        R 34       V P                  V P                  P                  R 4      P                  4       V P                  4        VP                  4        V P                  4        V P                  \        VP                  4      ^4       V P                  V4       V P                  \        VP                   4       R# )r¶   N)ró   r[   rß   r¹   r  rÒ   râ   rë   r   rÌ   r  rh   r  rí   r�   r   r÷   rø   s   &  r%   Ú-test_two_family_timeout_after_connect_timeoutÚ;ConnectorTest.test_two_family_timeout_after_connect_timeout¦  sÎ   € Ø×)Ñ)¨$¯-©-Ó8‰ˆØ×ÑœS #˜JÔ'Ø×ÑÔ!Ø×Ñ× Ñ ¤# s Ô,Ø�‰˜Ÿ™×(Ñ(¨Ó-×4Ñ4Ô5Ø×ÑÔØ�‰Ôð 	×ÑÔØ×Ñœ˜TŸ\™\Ó*¨AÔ.Ø×,Ñ,¨TÔ2Ø×Ñœ,¨¯©Ö6r'   )r[   rÒ   r   )r5   r6   r7   r8   rÐ   rA   rN   rÚ   rß   rè   rí   ró   rù   rý   r  r  r	  r  r  r  r  r  r  r"  r%  r(  r+  r.  r9   r:   r;   r<   s   @@r%   rÇ   rÇ   Å   s�   ù‡ € ÷ñ õIõòòLò	ò+òòIò2òIò2ò
IòIò	ò	6ò2ò 7ò Iò7ò
2ò7òI÷7ò 7r'   rÇ   )(Ú
contextlibr   rŸ   rX   r°   Útornado.concurrentr   Útornado.netutilr   r   Útornado.queuesr   Útornado.tcpclientr	   r
   Útornado.tcpserverr   Útornado.testingr   r   Útornado.test.utilr   r   r   Útornado.genr   ÚtypingÚTYPE_CHECKINGÚtornado.iostreamr   r   r   r   r¹   rÃ   r   r?   ÚTestCaser³   rÇ   rS   r'   r%   Ú<module>r=     sŽ   ðõ Û Û Û å %ß 2Ý  ß 3Ý 'ß 3ß HÑ HÝ $ã à	××ÐÝ)ß(Ñ(ð ˆa€€€Sô�Iô ô&x�Mô xôv>˜×*Ñ*ô >ôn7�Mö n7r'   