£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
bW                 @   s^   d Z ddlZddlZddlmZmZ G dd deZe dd ZG dd deZ	d	d
 Z
dS )zDNS Wire Data Helper    N   )binary_typestring_typesc               @   s&   e Zd Zdd Zejdk r"dd ZdS )_SliceUnspecifiedBoundc             C   s   |j S )N)stop)selfkey r	   /usr/lib/python3.6/wiredata.py__getitem__    s    z"_SliceUnspecifiedBound.__getitem__   c             C   s   | j t||S )N)r   slice)r   ijr	   r	   r
   __getslice__$   s    z#_SliceUnspecifiedBound.__getslice__N)r   )__name__
__module____qualname__r   sysversion_infor   r	   r	   r	   r
   r      s   
r   c                   s>   e Zd Z fddZejd
k r&dd Zdd Zdd	 Z  Z	S )WireDatac                s   yt |tr|j}|j}tjdk rx|tkr2t| }|dk sB|dk rJtj	j
||krtt| j| tt| j|d  n6x4||fD ](}|d krqqt|t| krtj	j
qW ttt| jt||S t| j | S  tk
r   tj	j
Y nX d S )Nr   r   r   )r   )
isinstancer   startr   r   r   _unspecified_boundlendns	exception	FormErrorsuperr   r   abs	bytearrayunwrap
IndexError)r   r   r   r   index)	__class__r	   r
   r   -   s,    

zWireData.__getitem__r   c             C   s   | j t||S )N)r   r   )r   r   r   r	   r	   r
   r   P   s    zWireData.__getslice__c             c   sB   d}x8y| | V  |d7 }W q t jjk
r8   tY qX qW d S )Nr   r   )r   r   r   StopIteration)r   r   r	   r	   r
   __iter__S   s    
zWireData.__iter__c             C   s   t | S )N)r   )r   r	   r	   r
   r!   \   s    zWireData.unwrap)r   )
r   r   r   r   r   r   r   r&   r!   __classcell__r	   r	   )r$   r
   r   *   s
   "
	r   c             C   sJ   t | tr| S t | tr t| S t | tr6t| j S tdt|  d S )Nzunhandled type %s)r   r   r   r   encode
ValueErrortype)Zwirer	   r	   r
   
maybe_wrap`   s    


r+   )__doc__r   Zdns.exceptionr   Z_compatr   r   r   r   r   r+   r	   r	   r	   r
   <module>   s   		6