U œ‰_Öã@s¨dZddlmZddlmZddlmZdd„Zeddƒed d ƒed d ƒd ddddddddddddddddddd d!d"d#gZe eee dd$ƒƒƒZ d%d&„Z d'd(„Z d)S)*z&A basic implementation of RFC 1924 ;-)é)ÚAddrFormatError)Ú IPAddress)Ú_zipcCs dd„tt|ƒt|ƒdƒDƒS)z2Returns all characters between low and high chars.cSsg|] }t|ƒ‘qS©)Úchr)Ú.0Úirrúj/private/var/folders/y3/n__7lzs1191bf6ypqtmfbcr1rfn98y/T/pip-unpacked-wheel-_tyv3h66/netaddr/ip/rfc1924.pyÚ szchr_range..é)ÚrangeÚord)ÚlowÚhighrrr Ú chr_rangesrÚ0Ú9ÚAÚZÚaÚzú!ú#ú$ú%ú&ú(ú)Ú*ú+ú-ú;ú<ú=ú>ú?ú@ú^Ú_ú`Ú{ú|Ú}ú~éVcCsdt|ƒ}t|ƒ}g}|dkr4| |d¡|d}qd dd„t|ƒDƒ¡}dt|ƒd}||S)z*Convert a regular IPv6 address to base 85.réUÚcSsg|] }t|‘qSr)ÚBASE_85)rÚwrrr r (sz"ipv6_to_base85..ér)rÚintÚappendÚjoinÚreversedÚlen)ÚaddrÚipZint_valÚ remainderÚencodedZleading_zeroesrrr Úipv6_to_base85s r=cCsft|ƒ}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. r3z Invalid base 85 IPv6 address: %rrr/é)Úlistr8rÚ enumerater7Ú BASE_85_DICTrÚstr)r9ÚtokensÚresultrÚnumr:rrr Úbase85_to_ipv6-s  rFN)Ú__doc__Z netaddr.corerZ netaddr.iprZnetaddr.compatrrr1Údictr rAr=rFrrrr Ús.   ÿÿþÿ