ó
    ×›‘hXD  ã                   ó   • S r SSKrSSKrSSKJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr   " S	 S
\R                   5      r " S S5      r " S S\	R&                  5      r " S S\R*                  5      r " S S\R*                  5      rg)z_
Tests for L{twisted.protocol.socks}, an implementation of the SOCKSv4 and
SOCKSv4a protocols.
é    N)ÚaddressÚdefer)ÚDNSLookupError)Úsocks)Ú	iterbytes)Úproto_helpers)Úunittestc                   ó.   • \ rS rSrSrSrS rS rS rSr	g)ÚStringTCPTransporté   FNc                 ó   • U R                   $ )N)Úpeer©Úselfs    Ú[C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/test/test_socks.pyÚgetPeerÚStringTCPTransport.getPeer   s   € Ø�y‰yÐó    c                 ó2   • [         R                  " SSS5      $ )NÚTCPz2.3.4.5é*   )r   ÚIPv4Addressr   s    r   ÚgetHostÚStringTCPTransport.getHost   s   € Ü×"Ò" 5¨)°RÓ8Ð8r   c                 ó   • SU l         g )NT©ÚstringTCPTransport_closingr   s    r   ÚloseConnectionÚ!StringTCPTransport.loseConnection   s
   € Ø*.ˆÕ'r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   Ú__static_attributes__© r   r   r   r      s   † Ø!&ÐØ€Dòò9õ/r   r   c                   ó$   • \ rS rSrSrS rS rSrg)ÚFakeResolverReactoré"   zH
Bare-bones reactor with deterministic behavior for the resolve method.
c                 ó   • Xl         g)z£
@type names: L{dict} containing L{str} keys and L{str} values.
@param names: A hostname to IP address mapping. The IP addresses are
    stringified dotted quads.
N©Únames)r   r+   s     r   Ú__init__ÚFakeResolverReactor.__init__'   s	   € ð �
r   c           	      óÌ   •  [         R                  " U R                  U   5      $ ! [         a4    [         R                  " [        SUR                  S5      -   5      5      s $ f = f)zA
Resolve a hostname by looking it up in the C{names} dictionary.
z"FakeResolverReactor couldn't find zutf-8)r   Úsucceedr+   ÚKeyErrorÚfailr   Údecode)r   Úhostnames     r   ÚresolveÚFakeResolverReactor.resolve/   sX   € ð	Ü—=’= §¡¨HÑ!5Ó6Ð6øÜó 	Ü—:’:ÜØ8¸8¿?¹?È7Ó;SÑSóóò ð	ús   ‚"% ¥;A#Á"A#r*   N)r    r!   r"   r#   Ú__doc__r,   r4   r$   r%   r   r   r'   r'   "   s   † ñòõr   r'   c                   ó(   • \ rS rSrSrSrS rS rSrg)ÚSOCKSv4Driveré=   Nc                 óÎ   • U" U6 n[        5       Ul        [        R                  " SX5      UR                  l        UR                  5         XPl        [        R                  " U5      $ )Nr   )	r   Ú	transportr   r   r   ÚconnectionMadeÚdriver_outgoingr   r/   )r   ÚhostÚportÚklassÚargsÚprotos         r   ÚconnectClassÚSOCKSv4Driver.connectClassD   sO   € á�t�ˆÜ,Ó.ˆŒÜ&×2Ò2°5¸$ÓEˆ�‰ÔØ×ÑÔØ$ÔÜ�}Š}˜UÓ#Ð#r   c                 óX   • U" U6 nX@l         US:X  a  Sn[        R                  " SU45      $ )Nr   éÒ  ú6.7.8.9)Údriver_listenr   r/   )r   r?   r@   rA   Úfactorys        r   ÚlistenClassÚSOCKSv4Driver.listenClassM   s1   € á˜�,ˆØ$ÔØ�1‹9ØˆDÜ�}Š}˜i¨Ð.Ó/Ð/r   )rH   r=   )	r    r!   r"   r#   r=   rH   rC   rJ   r$   r%   r   r   r8   r8   =   s   † à€Oð €Mò$õ0r   r8   c                   óH   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)ÚConnectTestséV   zN
Tests for SOCKS and SOCKSv4a connect requests using the L{SOCKSv4} protocol.
c                 óÀ   • [        5       U l        [        5       U R                  l        U R                  R	                  5         [        SS05      U R                  l        g ©Ns	   localhostú	127.0.0.1©r8   Úsockr   r;   r<   r'   Úreactorr   s    r   ÚsetUpÚConnectTests.setUp[   ó@   € Ü!“OˆŒ	Ü0Ó2ˆ�	‰	ÔØ�	‰	× Ñ Ô"Ü/°¸{Ð0KÓLˆ�	‰	Õr   c                 ó„   • U R                   R                  nUb'  U R                  UR                  R                  S5        g g )Nz-Outgoing SOCKS connections need to be closed.)rS   r=   Ú
assertTruer;   r   )r   Úoutgoings     r   ÚtearDownÚConnectTests.tearDowna   s:   € Ø—9‘9×,Ñ,ˆØÑØ�O‰OØ×"Ñ"×=Ñ=Ø?õð  r   c           	      óô  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SSS	S5      [        R
                  " S5      -   5        U R                  U R                   R                  R                  5        U R                  U R                   R                  5        U R                   R                  S
5        U R                  U R                   R                  R                  R                  5       S
5        U R                   R                  R                  S5        U R                  U R                   R                  R                  5       S5        U R                   R                  S5        g )Nú!BBHé   é   r(   ú1.2.3.4ó   fooBARó    r   éZ   ó   hello, worldó   hi thereúfake reason)rS   ÚdataReceivedÚstructÚpackÚsocketÚ	inet_atonr;   ÚvalueÚclearÚassertEqualÚassertFalser   ÚassertIsNotNoner=   ÚconnectionLost)r   Úsents     r   Útest_simpleÚConnectTests.test_simplei   sq  € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨RÓ0´6×3CÒ3CÀIÓ3NÑNô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHØ×Ñ˜TŸY™Y×6Ñ6Ô7ð 	�	‰	×Ñ˜Ô/Ø×Ñ˜Ÿ™×2Ñ2×<Ñ<×BÑBÓDÀoÔVð 	�	‰	×!Ñ!×.Ñ.¨{Ô;Ø×Ñ˜Ÿ™×,Ñ,×2Ñ2Ó4°kÔBà�	‰	× Ñ  Õ/r   c           	      ó  • [         R                  " SSSS5      [        R                  " S5      -   S-   S-   n[	        U5       H  nU R
                  R                  U5        M      U R
                  R                  R                  5       nU R
                  R                  R                  5         U R                  U[         R                  " SSS	S5      [        R                  " S
5      -   5        U R                  U R
                  R                  R                  5        U R                  U R
                  R                  5        U R
                  R                  S5        U R                  U R
                  R                  R                  R                  5       S5        U R
                  R                  R                  S5        U R                  U R
                  R                  R                  5       S5        U R
                  R                  S5        g)áE  
If the destination IP address has zeros for the first three octets and
non-zero for the fourth octet, the client is attempting a v4a
connection.  A hostname is specified after the user ID string and the
server connects to the address that hostname resolves to.

@see: U{http://en.wikipedia.org/wiki/SOCKS#SOCKS_4a_protocol}
r^   r_   r`   r(   ú0.0.0.1ó   fooBAZ ó
   localhost r   rd   rQ   re   rf   rg   N)ri   rj   rk   rl   r   rS   rh   r;   rm   rn   ro   rp   r   rq   r=   rr   ©r   ÚclientRequestÚbyters   s       r   Ú test_socks4aSuccessfulResolutionÚ-ConnectTests.test_socks4aSuccessfulResolution‚   s‹  € ô �KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñð 	ô ˜mÖ,ˆDØ�I‰I×"Ñ" 4Ö(ñ -ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#ð 	×ÑØ”&—+’+˜f a¨¨RÓ0´6×3CÒ3CÀKÓ3PÑPô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHØ×Ñ˜TŸY™Y×6Ñ6Ô7ð 	�	‰	×Ñ˜Ô/Ø×Ñ˜Ÿ™×2Ñ2×<Ñ<×BÑBÓDÀoÔVð 	�	‰	×!Ñ!×.Ñ.¨{Ô;Ø×Ñ˜Ÿ™×,Ñ,×2Ñ2Ó4°kÔBà�	‰	× Ñ  Õ/r   c           	      ó:  • [         R                  " SSSS5      [        R                  " S5      -   S-   S-   n[	        U5       H  nU R
                  R                  U5        M      U R
                  R                  R                  5       nU R                  U[         R                  " SSS	S5      [        R                  " S
5      -   5        U R                  U R
                  R                  R                  5        U R                  U R
                  R                  5        g)ús
Failed hostname resolution on a SOCKSv4a packet results in a 91 error
response and the connection getting closed.
r^   r_   r`   r(   rx   ry   ó   failinghost r   é[   ú0.0.0.0N©ri   rj   rk   rl   r   rS   rh   r;   rm   ro   rY   r   ÚassertIsNoner=   r{   s       r   Útest_socks4aFailedResolutionÚ)ConnectTests.test_socks4aFailedResolution°   óå   € ô �KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñð 	ô ˜mÖ,ˆDØ�I‰I×"Ñ" 4Ö(ñ -ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð
 	�‰˜Ÿ	™	×+Ñ+×FÑFÔGØ×Ñ˜$Ÿ)™)×3Ñ3Õ4r   c           	      ó2  • S U R                   l        U R                   R                  [        R                  " SSSS5      [
        R                  " S5      -   S-   S-   5        U R                  U R                   R                  R                  5       [        R                  " SS	S
S	5      [
        R                  " S5      -   5        U R                  U R                   R                  R                  5        U R                  U R                   R                  5        g )Nc                 ó   • g©Nr   r%   ©ÚcodeÚserverr?   Úusers       r   Ú<lambda>Ú0ConnectTests.test_accessDenied.<locals>.<lambda>Î   ó   € ¸qr   r^   r_   r`   é’  ú10.2.3.4rb   rc   r   rƒ   r„   )rS   Ú	authorizerh   ri   rj   rk   rl   ro   r;   rm   rY   r   r†   r=   r   s    r   Útest_accessDeniedÚConnectTests.test_accessDeniedÍ   sÕ   € Ù@ˆ�	‰	ÔØ�	‰	×ÑÜ�KŠK˜  1 dÓ+Ü×Ò˜zÓ*ñ+àñð ñô	
ð 	×ÑØ�I‰I×Ñ×%Ñ%Ó'Ü�KŠK˜  2 qÓ)¬F×,<Ò,<¸YÓ,GÑGô	
ð 	�‰˜Ÿ	™	×+Ñ+×FÑFÔGØ×Ñ˜$Ÿ)™)×3Ñ3Õ4r   c                 óB  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5         U R                   R                  S5        U R                  U R                   R                  R                  R                  5       S5        U R                   R                  R                  R                  5         U R                   R                  R                  S	5        g ©
Nr^   r_   r`   r(   ra   rb   rc   re   rg   )rS   rh   ri   rj   rk   rl   r;   rn   ro   r=   rm   r   rr   r   s    r   Útest_eofRemoteÚConnectTests.test_eofRemoteÜ   sÖ   € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð 	�	‰	×Ñ×!Ñ!Ô#ð 	�	‰	×Ñ˜Ô/Ø×Ñ˜Ÿ™×2Ñ2×<Ñ<×BÑBÓDÀoÔVð 	�	‰	×!Ñ!×+Ñ+×:Ñ:Ô<Ø�	‰	×!Ñ!×0Ñ0°Õ?r   c                 óÒ  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5         U R                   R                  S5        U R                  U R                   R                  R                  R                  5       S5        U R                   R                  S	5        g rš   )rS   rh   ri   rj   rk   rl   r;   rn   ro   r=   rm   rr   r   s    r   Útest_eofLocalÚConnectTests.test_eofLocalí   s´   € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð 	�	‰	×Ñ×!Ñ!Ô#ð 	�	‰	×Ñ˜Ô/Ø×Ñ˜Ÿ™×2Ñ2×<Ñ<×BÑBÓDÀoÔVð 	�	‰	× Ñ  Õ/r   ©rS   N)r    r!   r"   r#   r6   rU   r[   rt   r~   r‡   r—   r›   rž   r$   r%   r   r   rM   rM   V   s2   † ñòMòò0ò2,0ò\5ò:5ò@õ"0r   rM   c                   óH   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)Ú	BindTestséþ   zK
Tests for SOCKS and SOCKSv4a bind requests using the L{SOCKSv4} protocol.
c                 óÀ   • [        5       U l        [        5       U R                  l        U R                  R	                  5         [        SS05      U R                  l        g rP   rR   r   s    r   rU   ÚBindTests.setUp  rW   r   c           	      ó¼  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SSS	S
5      [        R
                  " S5      -   5        U R                  U R                   R                  R                  5        U R                  U R                   R                  5        U R                   R                  R                  S5      nU R                  U5        [        5       Ul        UR!                  5         U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SSS	S5      [        R
                  " S5      -   5        U R                  U R                   R                  R                  5        U R                   R                  S5        U R                  UR                  R                  5       S5        UR                  S5        U R                  U R                   R                  R                  5       S5        U R                   R#                  S5        g )Nr^   r_   é   r(   ra   rb   rc   r   rd   rF   rG   ©ra   éá  r„   re   rf   rg   )rS   rh   ri   rj   rk   rl   r;   rm   rn   ro   rp   r   rq   rH   ÚbuildProtocolr   r<   rr   ©r   rs   Úincomings      r   rt   ÚBindTests.test_simple  s!  € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨TÓ2´V×5EÒ5EÀiÓ5PÑPô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHØ×Ñ˜TŸY™Y×4Ñ4Ô5ð —9‘9×*Ñ*×8Ñ8Ð9JÓKˆØ×Ñ˜XÔ&Ü/Ó1ˆÔØ×ÑÔ!ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHð 	�	‰	×Ñ˜Ô/Ø×Ñ˜×+Ñ+×1Ñ1Ó3°_ÔEð 	×Ñ˜kÔ*Ø×Ñ˜Ÿ™×,Ñ,×2Ñ2Ó4°kÔBà�	‰	× Ñ  Õ/r   c           	      óæ  • [         R                  " SSSS5      [        R                  " S5      -   S-   S-   n[	        U5       H  nU R
                  R                  U5        M      U R
                  R                  R                  5       nU R
                  R                  R                  5         U R                  U[         R                  " SSS	S
5      [        R                  " S5      -   5        U R                  U R
                  R                  R                  5        U R                  U R
                  R                  5        U R
                  R                  R                  S5      nU R                  U5        [!        5       Ul        UR#                  5         U R
                  R                  R                  5       nU R
                  R                  R                  5         U R                  U[         R                  " SSS	S5      [        R                  " S5      -   5        U R%                  U R
                  R                  R                  S5        U R
                  R                  S5        U R                  UR                  R                  5       S5        UR                  S5        U R                  U R
                  R                  R                  5       S5        U R
                  R'                  S5        g)rw   r^   r_   r§   r(   rx   ry   rz   r   rd   rF   rG   )rQ   r©   r„   Nrf   rg   )ri   rj   rk   rl   r   rS   rh   r;   rm   rn   ro   rp   r   rq   rH   rª   r   r<   ÚassertIsNotrr   )r   r|   r}   rs   r¬   s        r   Útest_socks4aÚBindTests.test_socks4a7  s=  € ô �KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñð 	ô ˜mÖ,ˆDØ�I‰I×"Ñ" 4Ö(ñ -ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#ð 	×ÑØ”&—+’+˜f a¨¨TÓ2´V×5EÒ5EÀiÓ5PÑPô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHØ×Ñ˜TŸY™Y×4Ñ4Ô5ð —9‘9×*Ñ*×8Ñ8Ð9LÓMˆØ×Ñ˜XÔ&Ü/Ó1ˆÔØ×ÑÔ!ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÈÔNð 	�	‰	×Ñ˜{Ô+Ø×Ñ˜×+Ñ+×1Ñ1Ó3°[ÔAð 	×Ñ˜kÔ*Ø×Ñ˜Ÿ™×,Ñ,×2Ñ2Ó4°kÔBà�	‰	× Ñ  Õ/r   c           	      ó:  • [         R                  " SSSS5      [        R                  " S5      -   S-   S-   n[	        U5       H  nU R
                  R                  U5        M      U R
                  R                  R                  5       nU R                  U[         R                  " SSS	S5      [        R                  " S
5      -   5        U R                  U R
                  R                  R                  5        U R                  U R
                  R                  5        g)r�   r^   r_   r§   r(   rx   ry   r‚   r   rƒ   r„   Nr…   r{   s       r   r‡   Ú&BindTests.test_socks4aFailedResolutionr  r‰   r   c           	      ó2  • S U R                   l        U R                   R                  [        R                  " SSSS5      [
        R                  " S5      -   S-   S-   5        U R                  U R                   R                  R                  5       [        R                  " SS	S
S	5      [
        R                  " S5      -   5        U R                  U R                   R                  R                  5        U R                  U R                   R                  5        g )Nc                 ó   • grŒ   r%   r�   s       r   r‘   Ú-BindTests.test_accessDenied.<locals>.<lambda>�  r“   r   r^   r_   r§   r”   r•   rb   rc   r   rƒ   r„   )rS   r–   rh   ri   rj   rk   rl   ro   r;   rm   rY   r   r†   rH   r   s    r   r—   ÚBindTests.test_accessDenied�  sÕ   € Ù@ˆ�	‰	ÔØ�	‰	×ÑÜ�KŠK˜  1 dÓ+Ü×Ò˜zÓ*ñ+àñð ñô	
ð 	×ÑØ�I‰I×Ñ×%Ñ%Ó'Ü�KŠK˜  2 qÓ)¬F×,<Ò,<¸YÓ,GÑGô	
ð 	�‰˜Ÿ	™	×+Ñ+×FÑFÔGØ×Ñ˜$Ÿ)™)×1Ñ1Õ2r   c           	      ó*  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                   R                  R                  S5      nU R                  U5        [        5       Ul        UR                  5         U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SS	S
S	5      [        R
                  " S5      -   5        U R                  U R                   R                  R                   5        U R                   R                  S5        U R                  UR                  R                  5       S5        UR                  R#                  5         UR%                  S5        g ©Nr^   r_   r§   r(   ra   rb   rc   r¨   r   rd   r„   re   rg   )rS   rh   ri   rj   rk   rl   r;   rm   rn   rH   rª   rq   r   r<   ro   rp   r   r   rr   r«   s      r   r›   ÚBindTests.test_eofRemotež  s”  € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#ð —9‘9×*Ñ*×8Ñ8Ð9JÓKˆØ×Ñ˜XÔ&Ü/Ó1ˆÔØ×ÑÔ!ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHð 	�	‰	×Ñ˜Ô/Ø×Ñ˜×+Ñ+×1Ñ1Ó3°_ÔEð 	×Ñ×)Ñ)Ô+Ø×Ñ Õ.r   c           	      ó
  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                   R                  R                  S5      nU R                  U5        [        5       Ul        UR                  5         U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SS	S
S	5      [        R
                  " S5      -   5        U R                  U R                   R                  R                   5        U R                   R                  S5        U R                  UR                  R                  5       S5        U R                   R#                  S5        g r¹   )rS   rh   ri   rj   rk   rl   r;   rm   rn   rH   rª   rq   r   r<   ro   rp   r   rr   r«   s      r   rž   ÚBindTests.test_eofLocal¾  s†  € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#ð —9‘9×*Ñ*×8Ñ8Ð9JÓKˆØ×Ñ˜XÔ&Ü/Ó1ˆÔØ×ÑÔ!ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð 	×Ñ˜Ÿ™×,Ñ,×GÑGÔHð 	�	‰	×Ñ˜Ô/Ø×Ñ˜×+Ñ+×1Ñ1Ó3°_ÔEð 	�	‰	× Ñ  Õ/r   c           	      ó  • U R                   R                  [        R                  " SSSS5      [        R
                  " S5      -   S-   S-   5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                   R                  R                  S5      nU R                  U5        U R                   R                  R                  5       nU R                   R                  R                  5         U R                  U[        R                  " SS	S
S	5      [        R
                  " S5      -   5        U R                  U R                   R                  R                  5        g )Nr^   r_   r§   r(   ra   rb   rc   )z1.6.6.6iš  r   rƒ   r„   )rS   rh   ri   rj   rk   rl   r;   rm   rn   rH   rª   r†   ro   rY   r   r«   s      r   Útest_badSourceÚBindTests.test_badSourceÝ  s&  € Ø�	‰	×ÑÜ�KŠK˜  1 bÓ)Ü×Ò˜yÓ)ñ*àñð ñô	
ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#ð —9‘9×*Ñ*×8Ñ8Ð9IÓJˆØ×Ñ˜(Ô#ð �y‰y×"Ñ"×(Ñ(Ó*ˆØ�	‰	×Ñ×!Ñ!Ô#Ø×ÑØ”&—+’+˜f a¨¨QÓ/´&×2BÒ2BÀ9Ó2MÑMô	
ð 	�‰˜Ÿ	™	×+Ñ+×FÑFÕGr   r    N)r    r!   r"   r#   r6   rU   rt   r°   r‡   r—   r›   rž   r¾   r$   r%   r   r   r¢   r¢   þ   s4   † ñòMò%0òN90òv5ò:3ò/ò@0õ>Hr   r¢   )r6   rk   ri   Útwisted.internetr   r   Útwisted.internet.errorr   Útwisted.protocolsr   Útwisted.python.compatr   Útwisted.testr   Útwisted.trialr	   ÚStringTransportr   r'   ÚSOCKSv4r8   ÚTestCaserM   r¢   r%   r   r   Ú<module>rÉ      s{   ðñó
 Û ç +Ý 1Ý #Ý +Ý &Ý "ô/˜×6Ñ6ô /÷ñ ô60�E—M‘Mô 0ô2e0�8×$Ñ$ô e0ôPtH�×!Ñ!õ tHr   