File: //lib64/python3.6/encodings/__pycache__/punycode.cpython-36.opt-2.pyc
3
  \�  �               @   s�   d dl Z dd� Zdd� Zdd� Zdd	� Zd
d� ZdZd
d� Zdd� Zdd� Z	dd� Z
dd� Zdd� Zdd� Z
G dd� de j�ZG dd� de j�ZG dd � d e j�ZG d!d"� d"ee j�ZG d#d$� d$ee j�Zd%d&� ZdS )'�    Nc             C   sT   t � }t� }x2| D ]*}t|�dk r2|jt|�� q|j|� qW t|�}t|�|fS )N�   )�	bytearray�set�ord�append�add�sorted�bytes)�str�base�extended�c� r   �*/usr/lib64/python3.6/encodings/punycode.py�	segregate
   s    
r   c             C   s*   d}x | D ]}t |�|k r
|d7 }q
W |S )Nr   �   )r   )r
   �max�resr
   r   r   r   �
selective_len   s
    
r   c             C   sR   t | �}xD|d7 }||krdS | | }||kr:|d |fS ||k r
|d7 }q
W d S )Nr   ���r   )r   r   )�len)r
   �char�index�pos�lr
   r   r   r   �selective_find   s    r   c             C   s�   d}g }d}x~|D ]v}d }}t |�}t| |�}	|	d ||  }
xBt| |||�\}}|dkr^P |
|| 7 }
|j|
d � |}d}
qBW |}qW |S )Nr   r   r   r   r   r   )r   r   r   r   )r
   r   Zoldchar�resultZoldindexr
   r   r   r   Zcurlen�deltar   r   r   �insertion_unsort0   s$    
r   c             C   s,   d| d  | }|dk rdS |dkr(dS |S )N�$   r   �   r   )�j�biasr   r   r   r   �TF   s      r#   s$   abcdefghijklmnopqrstuvwxyz0123456789c             C   sr   t � }d}xbt||�}| |k r4|jt|  � t|�S |jt|| | d|    � | | d|  } |d7 }qW d S )Nr   r   r   )r   r#   r   �digitsr	   )�Nr"