
    z%i                     R    	 d dl mZ d dlmZ dddZ G d dej
                        Zy)	   )token)
fixer_basechrstr)unichrunicodec                   ,     e Zd ZdZdZ fdZd Z xZS )
FixUnicodeTzSTRING | 'unicode' | 'unichr'c                 T    t         t        |   ||       d|j                  v | _        y )Nunicode_literals)superr
   
start_treefuture_featuresr   )selftreefilename	__class__s      M/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/lib2to3/fixes/fix_unicode.pyr   zFixUnicode.start_tree   s'    j$*4: 2d6J6J J    c           	      $   |j                   t        j                  k(  r*|j                         }t        |j
                     |_        |S |j                   t        j                  k(  r|j
                  }| j                  sY|d   dv rRd|v rNdj                  |j                  d      D cg c]$  }|j                  dd      j                  dd      & c}      }|d   d	v r|d
d  }||j
                  k(  r|S |j                         }||_        |S y c c}w )N    z'"\z\\z\uz\\uz\Uz\\UuU   )typer   NAMEclone_mappingvalueSTRINGr   joinsplitreplace)r   noderesultsnewvalvs         r   	transformzFixUnicode.transform   s    99

"**,C ,CIJYY%,,&**C((SVu_jj YYu-" IIeV,44UFC"  1v~!"gdjj **,CCIJ '"s   &)D)__name__
__module____qualname__BM_compatiblePATTERNr   r)   __classcell__)r   s   @r   r
   r
      s    M-GKr   r
   N)pgen2r    r   r   BaseFixr
    r   r   <module>r4      s.     %0## r   