HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/netaddr/__pycache__/fbsocket.cpython-39.opt-1.pyc
a

��g7 �@sXdZddlmZmZddlmZmZdZ	dZ
dd�Zdd	�Zd
d�Z
dd
�Zdd�ZdS)z=Fallback routines for Python's standard library socket module�)�unpack�pack)�_bytes_join�_is_str��
cCs:t|�stdt|���t|�dkr,td��dtd|�S)zR
    Convert an IP address from 32-bit packed binary format to string format.
    zstring type expected, not %s��*invalid length of packed IP address stringz%d.%d.%d.%dZ4B)r�	TypeError�type�len�
ValueError�_unpack)�	packed_ip�r�4/usr/lib/python3.9/site-packages/netaddr/fbsocket.py�	inet_ntoas
rcCs"g}g}d}d}t|�D]N\}}|dkr>|dur4|}|d7}n|dkrT|�||f�d}d}|�|�q|dkr~|�||f�t|�dk�r|jdd�d�|d}|D]}|d|dkr�|}q�|\}	}
|d|
�dg||
|	d�}|ddk�r|�dd�|ddk�r|�d�|S)	Nr�0�cSs|dS)Nrr)�xrrr�<lambda>9�z&_compact_ipv6_tokens.<locals>.<lambda>)�key����)�	enumerate�appendr�sort�insert)�tokensZ
new_tokensZ	positions�start_indexZ
num_tokens�idx�tokenZ
best_positionZposition�lengthZ	start_idxrrr�_compact_ipv6_tokenss:
"
r$c
Cs|tkrt|�S|tkr�t|�dks,t|�s4td��dd�td|�D�}ttd|��}d}tt	|��D] \}}|}|d|>}||B}qfd|kr�dks�n|d	?dkr�t
d
gdd�|dd
�D��R�}t|�}	|dd�|	g}d�t|��Std|��d
S)zBConvert an packed IP address of the given family to string format.�r	cSsg|]}d|�qS)�%xr��.0�irrr�
<listcomp>Vrzinet_ntop.<locals>.<listcomp>z>8Hr�l��� z>2HcSsg|]}t|d��qS�r%��intr'rrrr*br���N�:zunknown address family %d)
�AF_INETr�AF_INET6rrr
r�listr�reversed�_pack�joinr$)
�afrr�wordsZint_valr)Znum�wordZpacked_ipv4�ipv4_strrrr�	inet_ntopLs$
""r<c	Cs�t|�r�td|�}|�d�}t|�dkr�g}|D]l}|�d�sV|�d�rZt|�dkrZ|�zt|�}Wnty||�Yn0|d?dkr�|�|�td	|��q2t|�S|�td
t	|���dS)a
    Convert an IP address in string format (123.45.67.89) to the 32-bit packed
    binary format used in low-level network functions. Differs from inet_aton
    by only support decimal octets. Using octal or hexadecimal values will
    raise a ValueError exception.
    �illegal IP address string %r�.r�0xrr�r�Bz#argument should be a string, not %sN)
rr
�splitr�
startswithr/rr6rr)�	ip_string�invalid_addrrr9r"Zoctetrrr�_inet_pton_af_inetks$
 
rFcCs@|tkrt|�S|tk�r0td|�}g}t|�s6|�d|vrB|�d|v�r�|dkr`d��dSz|�d�\}}Wnty�|�Yn0g}g}|dkr�|�d�}|dkr�|�d�}t|��rd|d	v�rt|���}|�	d
t
d|dd
��d�|�	d
t
d|d
d��d�t|�t|�}	d|	k�rBdk�sHn|�dt|�t|�}
dd�|D�dd�t|
�D�dd�|D�}z<||D].}t|d�}d|k�r�dk�s�n|��q�Wnt�y�|�Yn0�nDd|v�r$|�d�}
d|v�r�|
dd	�}|dd	�gd�k�r(|�|d	�
�dv�r>|�t|
�dk�rP|�t|
���}|
�	d
t
d|dd
��d�|
�	d
t
d|d
d��d�dd�|
D�}nt|
�dk�r�|�z<dd�|
D�}
|
D]$}d|k�r�dk�s�n|��q�Wnt�y|�Yn0dd�|
D�}n|�t|�Std|��dS)z|
    Convert an IP address from string format to a packed string suitable for
    use with low-level network functions.
    r=rz::�r%rr1r>rr&�>Hrrr�r@cSsg|]}tdt|d���qS�rHr%�r6r/r'rrrr*�rzinet_pton.<locals>.<listcomp>cSsg|]}d���qS)z)�encoder'rrrr*�rcSsg|]}tdt|d���qSrJrKr'rrrr*�rr+N)rrrrr)rZffffcSsg|]}tdt|d���qSrJrKr'rrrr*�rcSsg|]}t|d��qSr-r.)r(r"rrrr*�rcSsg|]}td|��qS)rH)r6r'rrrr*�rzUnknown address family %d)r2rFr3r
rrLrBr�poprr�ranger/�lowerr)r8rDrE�values�prefix�suffixZl_prefixZl_suffixr;Ztoken_countZgap_sizer"r:rZipv6_prefixrrr�	inet_pton�s�




  ���



  
rSN)�__doc__�structrrrr6Znetaddr.compatrrr2r3rr$r<rFrSrrrr�<module>s
/"