B
    v9a                 @   s8   d dl mZ d dlmZ dddZG dd dejZdS )	   )token)
fixer_basechrstr)ZunichrZunicodec                   s,   e Zd ZdZdZ fddZdd Z  ZS )
FixUnicodeTzSTRING | 'unicode' | 'unichr'c                s"   t t| || d|jk| _d S )Nunicode_literals)superr   
start_treeZfuture_featuresr   )selfZtreefilename)	__class__ !/usr/lib/python3.7/fix_unicode.pyr	      s    zFixUnicode.start_treec             C   s   |j tjkr$| }t|j |_|S |j tjkr|j}| jsj|d dkrjd|krjddd |	dD }|d dkr|dd  }||jkr|S | }||_|S d S )	N    z'"\z\\c             S   s    g | ]}| d d ddqS )z\uz\\uz\Uz\\U)replace).0vr   r   r   
<listcomp>!   s   z(FixUnicode.transform.<locals>.<listcomp>ZuU   )
typer   NAMEZclone_mappingvalueSTRINGr   joinsplit)r
   Znoderesultsnewvalr   r   r   	transform   s"    
zFixUnicode.transform)__name__
__module____qualname__ZBM_compatibleZPATTERNr	   r    __classcell__r   r   )r   r   r      s   r   N)Zpgen2r    r   r   ZBaseFixr   r   r   r   r   <module>   s   
