Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3
¢báW ã @ s€ d Z ddlZddlZddlZddlZddlmZmZm Z ej
dƒZdd„ Zej
dƒZ
ej
d ƒZej
d
ƒZdd„ ZdZdd„ ZdS )zIPv6 helper functions.é Né )ÚxrangeÚbinary_typeÚmaybe_decodes
0+([0-9a-f]+)c C s¢ t | ƒdkrtdƒ‚tj| ƒ}g }d}t |ƒ}xJ||k rx|||d … }tj|ƒ}|dk rd|jdƒ}|j|ƒ |d7 }q0W d}d}d} d}
xNtdƒD ]B}|| d krÊ|
rÖ|}|| }||krÄ| }|}d}
q”|
s”|} d
}
q”W |
� rþd}|| }||k� rþ| }|}|dk�r�|dk�rb|dk�s4|dk�rb|d d
k�rb|dk�rDd}
nd}
|
t j
j| dd… ƒ }n,dj|d|… ƒd dj||| d… ƒ }n
dj|ƒ}t
|ƒS )zÂConvert a network format IPv6 address into text.
@param address: the binary address
@type address: string
@rtype: string
@raises ValueError: the address isn't 16 bytes long
é z IPv6 addresses are 16 bytes longr é Nr Fé ó 0Té é s ffffs ::s ::ffff:é ó :éÿÿÿÿ)ÚlenÚ
ValueErrorÚbinasciiZhexlifyÚ
_leading_zeroÚmatchÚgroupÚappendr ÚdnsÚipv4Ú inet_ntoaÚjoinr )ÚaddressÚhexÚchunksÚiÚlÚchunkÚmZ
best_startZbest_lenÚstartZ
last_was_zeroÚendZcurrent_lenÚprefix© r$ ú/usr/lib/python3.6/ipv6.pyr s^
r s (.*):(\d+\.\d+\.\d+\.\d+)$s ::.*s .*::$c
C sÈ t | tƒs| jƒ } | dkrd} tj| ƒ}|dk rvttjj|j dƒƒƒ}d|j dƒj
ƒ |d |d |d |d f jƒ } tj| ƒ}|dk r–| dd… } ntj| ƒ}|dk r´| dd… } | j
d ƒ}t|ƒ}|d
krÖtjj‚d}g }x�|D ]ˆ}|dk�r.|�r tjj‚d
}xftdd
| d ƒD ]}|jdƒ �qW qät|ƒ} | dk�rHtjj‚| dk�rbdd| | }|j|ƒ qäW |d
k �rŠ| �rŠtjj‚dj|ƒ} y
tj| ƒS tjtfk
�r tjj‚Y nX dS )z×Convert a text format IPv6 address into network format.
@param text: the textual address
@type text: string
@rtype: string
@raises dns.exception.SyntaxError: the text was not properly formatted
s ::s 0::Né z%s:%02x%02x:%02x%02xr r é r
r Fó Ts 0000r r r )Ú
isinstancer ÚencodeÚ
_v4_endingr Ú bytearrayr r Ú inet_atonr ÚdecodeÚ_colon_colon_startÚ_colon_colon_endÚsplitr Z exceptionÚSyntaxErrorr r r r Z unhexlifyÚErrorÚ TypeError)
Útextr Úbr r Z
seen_emptyZ canonicalÚcr Zlcr$ r$ r% r- b sR
r- ó é
s ÿÿc C s
| j tƒS )N)Ú
startswithÚ_mapped_prefix)r r$ r$ r% Ú is_mapped« s r<