
    !.d\                         U d Z ddlZddlmZmZmZ dddddd	d
dddd
Zeeef         ed<   dee         defdZdedefdZ	ddZ
edk    r e
             dS dS )z<Safely evaluate Python string literals without using eval().    N)DictMatchText
	'"\)
abfnrtvr   r   r   simple_escapesmreturnc                    |                      dd          \  }}|                    d          sJ t                              |          }||S |                    d          rb|dd          }t	          |          dk     rt          d|z            	 t          |d          }nT# t
          $ r t          d|z            d w xY w	 t          |d          }n!# t
          $ r t          d	|z            d w xY wt          |          S )
Nr      r   x   z!invalid hex string escape ('\%s')      z#invalid octal string escape ('\%s'))group
startswithr   getlen
ValueErrorintchr)r   alltaileschexesis         7lib/python3.11/site-packages/blib2to3/pgen2/literals.pyescaper-      s1   1IC>>$


T
"
"C

s VQRRu::>>ADHIII	TE2AA 	T 	T 	TADHIItS	T	VD!AA 	V 	V 	VCdJKKQUU	Vq66Ms   B% %CC C6sc                    |                      d          s4|                      d          sJ t          | d d                               | d         }| d d         |dz  k    r|dz  }|                     |          s-J t          | t          |           d                                t          |           dt          |          z  k    sJ | t          |          t          |                    } t	          j        dt          |           S )Nr   r   r   r      r   z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r!   reprendswithr#   resubr-   )r.   qs     r,   
evalStringr6   /   s    <<>S 1 1>>4"1";;>>>	!A!uA~~E::a==,,$q#a&&|,,,,,q66QQZ	#a&&CFF7
A6>JJJ    c                      t          d          D ]G} t          |           }t          |          }t          |          }||k    rt	          | |||           Hd S )N   )ranger&   r1   r6   print)r+   cr.   es       r,   testr>   :   s`    3ZZ  FFGGqMM66!Q1 r7   __main__)r   N)__doc__r3   typingr   r   r   r   __annotations__r-   r6   r>   __name__ r7   r,   <module>rE      s   C B B 				 $ $ $ $ $ $ $ $ $ $ 
								
$ $T4Z    eDk d    ,K$ K4 K K K K    zDFFFFF r7   