????
| Current Path : /proc/1724857/root/lib/python3.9/site-packages/netaddr/ip/__pycache__/ |
| Current File : //proc/1724857/root/lib/python3.9/site-packages/netaddr/ip/__pycache__/rfc1924.cpython-39.pyc |
a
��g� � @ s~ d Z ddlmZ ddlmZ ddlmZ dd� Zedd�ed d
� edd� g d
� Ze eee
dd���Zdd� Zdd� Z
dS )z&A basic implementation of RFC 1924 ;-)� )�AddrFormatError)� IPAddress)�_zipc C s dd� t t| �t|�d �D �S )z2Returns all characters between low and high chars.c S s g | ]}t |��qS � )�chr)�.0�ir r �6/usr/lib/python3.9/site-packages/netaddr/ip/rfc1924.py�
<listcomp> � zchr_range.<locals>.<listcomp>� )�range�ord)ZlowZhighr r r � chr_range s r �0�9�A�Z�a�z)�!�#�$�%�&�(�)�*�+�-�;�<�=�>�?�@�^�_�`�{�|�}�~�V c C sd t | �}t|�}g }|dkr4|�|d � |d }qd�dd� t|�D ��}dt|� d }|| S )z*Convert a regular IPv6 address to base 85.r �U � c S s g | ]}t | �qS r )�BASE_85)r �wr r r r
( r z"ipv6_to_base85.<locals>.<listcomp>� r )r �int�append�join�reversed�len)�addr�ipZint_valZ remainderZencodedZleading_zeroesr r r �ipv6_to_base85 s
r: c C sf t | �}t|�dkr"td| f ��d}tt|��D ] \}}t| }||d| 7 }q2t|d�}t|�S )zC
Convert a base 85 IPv6 address to its hexadecimal format.
r2 z Invalid base 85 IPv6 address: %rr r. � )�listr7 r � enumerater6 �BASE_85_DICTr �str)r8 �tokens�resultr Znumr9 r r r �base85_to_ipv6- s
rB N)�__doc__Znetaddr.corer Z
netaddr.ipr Znetaddr.compatr r r0 �dictr
r>