U
    Sh<	                     @   s   d dl Z d dlZd dlmZ edZedZeedddZeedd	d
Z	eeegef edddZ
eedddZeedddZdS )    N)Callablez[\x2E\u3002\uFF0E\uFF61]z
[^\0-\x7E])unireturnc                 C   s   t j| dd S Npunycode)encoding)codecsencodedecode)r    r   H/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/_punycode.pyr	      s    r	   )asciir   c                 C   s   t j| ddS r   )r   r
   )r   r   r   r   r
   #   s    r
   )stringfnr   c                    sX   |  d}d}t|dkr.|d d }|d } t | }d fdd|D }|| S )N@    r   .c                 3   s   | ]} |V  qd S )Nr   ).0labelr   r   r   	<genexpr>0   s     zmap_domain.<locals>.<genexpr>)splitlenREGEX_SEPARATORSjoin)r   r   partsresultlabelsencodedr   r   r   
map_domain'   s    

r    objr   c                 C   s   t t ddd}t| |S )Nr!   c                 S   s"   |  drt| dd   S | S )Nxn--   )
startswithr
   lowerr"   r   r   r   mapping5   s    
zto_unicode.<locals>.mappingstrr    r"   r(   r   r   r   
to_unicode4   s    r,   c                 C   s   t t ddd}t| |S )Nr!   c                 S   s   t | rdt|  S | S )Nr#   )REGEX_NON_ASCIIsearchr	   r'   r   r   r   r(   >   s    
zto_ascii.<locals>.mappingr)   r+   r   r   r   to_ascii=   s    r/   )r   retypingr   compiler   r-   r*   r	   r
   r    r,   r/   r   r   r   r   <module>   s   

	