o
    ^’i,  ã                   @   s‚   U d Z ddlZddddddd	d
dddœ
Zeeef ed< deje defdd„Zdedefdd„Zdd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   Úsimple_escapesÚmÚreturnc                 C   sÒ   |   dd¡\}}| d¡sJ ‚t |¡}|d ur|S | d¡rN|dd … }t|ƒdk r3td|› dƒ‚z
t|dƒ}W t|ƒS  tyM   td|› dƒd ‚w z
t|d	ƒ}W t|ƒS  tyh   td
|› dƒd ‚w )Nr   é   r   Úxé   zinvalid hex string escape ('\z')é   é   zinvalid octal string escape ('\)ÚgroupÚ
startswithr   ÚgetÚlenÚ
ValueErrorÚintÚchr)r   ÚallÚtailÚescÚhexesÚi© r'   ú\/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/blib2to3/pgen2/literals.pyÚescape   s*   

ùÿþÿr)   Úsc                 C   s¬   |   d¡s|   d¡sJ t| d d… ƒƒ‚| d }| d d… |d kr&|d }|  |¡s8J t| t|ƒ d … ƒƒ‚t| ƒdt|ƒ ksDJ ‚| t|ƒt|ƒ … } t dt| ¡S )Nr	   r
   r   r   é   r   z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   ÚreprÚendswithr   ÚreÚsubr)   )r*   Úqr'   r'   r(   Ú
evalString,   s   ($r1   c                  C   s@   t dƒD ]} t| ƒ}t|ƒ}t|ƒ}||krt| |||ƒ qd S )Né   )Úranger!   r,   r1   Úprint)r&   Úcr*   Úer'   r'   r(   Útest7   s   €ûr7   Ú__main__)r   N)Ú__doc__r.   r   ÚdictÚstrÚ__annotations__ÚMatchr)   r1   r7   Ú__name__r'   r'   r'   r(   Ú<module>   s&   ö
	
ÿ