
                         p    S SK r S SKrS SKrS r\R                  S:X  a  \" \ S5      (       d  \" 5         ggg)    Nc                    ^^^^^^ SS K m " U4S jSTR                  5      m " U4S jSTR                  5      m[        TS5      (       aa  TR                  R                  R
                  mTR                  R                  R                  mTR                  R                  R                  mO	S n U mU mU mUUUUU4S jnUUUUU4S	 jnU[        l	        U[        l
        g )
Nr   c                   <   > \ rS rSrS Y R                  S-  4/rSrg)#inject_into_socket.<locals>.in_addr   S_addr    N__name__
__module____qualname____firstlineno__c_ubyte_fields___static_attributes__ctypess   )lib/third_party/win_inet_pton/__init__.pyin_addrr      s    v~~123    r   c                   <   > \ rS rSrS Y R                  S-  4/rSrg)$inject_into_socket.<locals>.in6_addr   Byte   r	   Nr
   r   s   r   in6_addrr      s    V^^b012r   r   windllc                      [        S5      e)Nz2Invalid platform. ctypes.windll must be available.)SystemErrorr	   r   r   not_windows'inject_into_socket.<locals>.not_windows(   s    RSSr   c                   > [         R                  S   S:  a   [        U[        5      (       a  [	        S5      eU [
        R                  :X  a
  SnT" 5       nO)U [
        R                  :X  a
  SnT
" 5       nO[        S5      eT	R                  U5      nT" T	R                  U5      UT	R                  U5      5      nUS:X  aL  U [
        R                  :X  a  T	R                  UR                  S5      $ T	R                  UR                  S5      $ US:X  a  [
        R                  " S	5      eT" 5       nUS
:X  a  [
        R                  " S5      nOUS:X  a  [        S5      nO[        S5      nXVl        Ue)Nr      z-inet_pton() argument 2 must be str, not bytes   unknown address family   r   r   z-illegal IP address string passed to inet_pton?'  i'  zbad addressunknown error from inet_ntop)sysversion_info
isinstancebytes	TypeErrorsocketAF_INETAF_INET6OSError	c_wchar_pc_intbyref	string_atr   r   errorerrno)address_family	ip_stringfamilyaddrreterre	InetPtonWWSAGetLastErrorr   r   r   s          r   	inet_pton%inject_into_socket.<locals>.inet_pton/   s6   A"z)U'C'CKLLV^^+F9Dv.F:D233$$Y/	V,id9KL!8/''Q77''		266AX,,NOO!#Ce|LL!9:M*:;GGr   c                 $  > U [         R                  :X  a\  T" 5       n[        U5      TR                  UR                  5      :w  a  [        S5      eTR                  UR                  US5        SnSnO{U [         R                  :X  a\  T" 5       n[        U5      TR                  UR                  5      :w  a  [        S5      eTR                  UR                  US5        SnSnO[        S5      eTR                  U5      nT	" TR                  U5      TR                  U5      TR                  U5      TR                  U5      5      nUc*  T
" 5       nUS:X  a  [        S5      nO[        S	5      nXxl        TR                  XS5      R                  S
5      $ )Nz$packed IP wrong length for inet_ntopr   r   r#   .   r$   r%   r'   r(    )r.   r/   lensizeofr   
ValueErrormemmover0   r   create_unicode_bufferr3   r4   r1   r7   
wstring_atrstrip)r8   	packed_ipr;   
buffer_lenr:   bufferr<   r=   r>   	InetNtopWr@   r   r   r   s            r   	inet_ntop%inject_into_socket.<locals>.inet_ntopQ   sR   V^^+9D9~t{{!;; !GHHNN4;;	15JFv.:D9~tyy!99 !GHHNN499i4JF566--j9LL LLLL MM&!	
 ;!#Ce|78:;G  4;;FCCr   )r   	Structurehasattrr   ws2_32rP   r?   r@   r.   rA   rQ   )	r    rA   rQ   rP   r?   r@   r   r   r   s	      @@@@@@r   inject_into_socketrV      s    4&"" 436## 3 vx   MM((22	 MM((22	 !--..>>	T  		%   D%D %DP !F Fr   ntrA   )r.   osr)   rV   namerT   r	   r   r   <module>rZ      s=     	 
o!d 77d?76;77 8?r   