
    ;ec                     b    d Z ddlZddddddd	d
ddd
Zd Zd Zd Zedk    r e             dS dS )z<Safely evaluate Python string literals without using eval().    N
	'"\)
abfnrtvr
   r   r   c                    |                      dd          \  }}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      x   z!invalid hex string escape ('\%s')      z#invalid octal string escape ('\%s'))groupsimple_escapesget
startswithlen
ValueErrorintchr)malltaileschexesis         -/usr/lib/python3.11/lib2to3/pgen2/literals.pyescaper)      s   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 B,0C Cc                     | d         }| d d         |dz  k    r|dz  }| t          |          t          |                    } t          j        dt          |           S )Nr      z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   resubr)   )sqs     r(   
evalStringr0   (   s\    	!A!u!||aC 	
#a&&#a&&.A6>JJJ    c                      t          d          D ]G} t          |           }t          |          }t          |          }||k    rt	          | |||           Hd S )N   )ranger!   reprr0   print)r'   cr.   es       r(   testr9   2   s`    3ZZ  FFGGqMM66!Q1 r1   __main__)__doc__r,   r   r)   r0   r9   __name__ r1   r(   <module>r>      s    C B 					 	  *K K K   zDFFFFF r1   