§
    ÛóÉjâ   ã                   ó  — d Z ddlZddlZddlmZ ddlmZ ddlmZ h d£Z ej        d¦  «        Z	dZ
dd
„Zd„ Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ d¦  «        ZdS )zHandles parsing of Python code.é    N)Ú	_ast_util)Úcompat)Ú
exceptions>   ÚNoneÚTrueÚFalseÚprintÚargz	<unknown>Úexecc                 ó  — 	 t          j        | t          |¦  «        S # t          $ re}t	          j        dt          j        ¦   «         j        j	        ›dt          j        ¦   «         ›d| dd…         ›d�fi t          |||¦  «        ¤Ž|‚d}~ww xY w)a;  Parse an expression into AST.

    ``lineno_offset`` is the line within the template on which ``code``
    begins, relative to the line given in ``exception_kwargs``.  It is used
    to report a syntax error against the line it occurred on, rather than
    against the start of the construct that contains it.

    ú(z) z (r   é2   ú)N)r   ÚparseÚEXPRESSION_FILENAMEÚ	Exceptionr   ÚSyntaxExceptionr   Úexception_asÚ	__class__Ú__name__Ú_adjust_lineno)ÚcodeÚmodeÚlineno_offsetÚexception_kwargsÚes        úp/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib/python3.11/site-packages/mako/pyparser.pyr   r      s´   € ðÝŒ˜tÕ%8¸$Ñ?Ô?Ð?øÝð 	ð 	ð 	ÝÔ(Ð(õ Ô#Ñ%Ô%Ô/Ô8Ð8Ð8ÝÔ#Ñ%Ô%Ð%Ð%Ø�Q�r�T”
�
�
ð	ð
ð 
õ ˜Q Ð/?Ñ@Ô@ð
ð 
ð ð	øøøøð	øøøs   ‚ �
B§A BÂBc                 ó|   — |                      d¦  «        }t          | dd¦  «        }|�|€|S i |¥d||z   |z   dz
  i¥S )zdReturn ``exception_kwargs`` with the line of ``exc`` within the parsed
    code applied to it.

    ÚlinenoNé   )ÚgetÚgetattr)Úexcr   r   r   Ú
exc_linenos        r   r   r   5   sh   € ð ×!Ò! (Ñ+Ô+€FÝ˜˜h¨Ñ-Ô-€Jà€~˜Ð+ØÐðØ
ðà�&˜=Ñ(¨:Ñ5¸Ñ9ðð ð ó    c                   óp   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
e
xZZd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚFindIdentifiersc                 ód   — d| _         d| _        t          ¦   «         | _        || _        || _        d S ©NF)Úin_functionÚin_assign_targetsÚsetÚlocal_ident_stackÚlistenerr   ©Úselfr.   r   s      r   Ú__init__zFindIdentifiers.__init__H   s3   € Ø ˆÔØ!&ˆÔÝ!$¡¤ˆÔØ ˆŒØ 0ˆÔÐÐr%   c                 óŠ   — | j         s!| j        j                             |¦  «         d S | j                             |¦  «         d S ©N)r*   r.   Údeclared_identifiersÚaddr-   )r0   Únames     r   Ú_add_declaredzFindIdentifiers._add_declaredO   sI   € ØÔð 	-ØŒMÔ.×2Ò2°4Ñ8Ô8Ð8Ð8Ð8àÔ"×&Ò& tÑ,Ô,Ð,Ð,Ð,r%   c                 ó:   — |                       |j        ¦  «         d S r3   )r7   r6   ©r0   Únodes     r   Úvisit_ClassDefzFindIdentifiers.visit_ClassDefU   s   € Ø×Ò˜4œ9Ñ%Ô%Ð%Ð%Ð%r%   c                 ó¢   — |                       |j        ¦  «         | j        }d| _        |j        D ]}|                       |¦  «         Œ|| _        d S ©NT)ÚvisitÚvaluer+   Útargets)r0   r:   Úin_aÚns       r   Úvisit_AssignzFindIdentifiers.visit_AssignX   sX   € ð
 	�
Š
�4”:ÑÔÐØÔ%ˆØ!%ˆÔØ”ð 	ð 	ˆAØ�JŠJ�q‰MŒMˆMˆMØ!%ˆÔÐÐr%   c                 óÈ   — |j         �|                      |j         ¦  «         |j        �|                      |j        ¦  «         |j        D ]}|                      |¦  «         Œd S r3   )r6   r7   Útyper>   Úbody©r0   r:   Ú	statements      r   Úvisit_ExceptHandlerz#FindIdentifiers.visit_ExceptHandlerd   sl   € ØŒ9Ð Ø×Ò˜tœyÑ)Ô)Ð)ØŒ9Ð Ø�JŠJ�t”yÑ!Ô!Ð!Øœð 	"ð 	"ˆIØ�JŠJ�yÑ!Ô!Ð!Ð!ð	"ð 	"r%   c                 ó2   — |                       |d¦  «         d S r=   )Ú_visit_function)r0   r:   Úargss      r   Úvisit_LambdazFindIdentifiers.visit_Lambdal   s   € Ø×Ò˜T 4Ñ(Ô(Ð(Ð(Ð(r%   c                 óf   — |                       |j        ¦  «         |                      |d¦  «         d S r)   )r7   r6   rK   r9   s     r   Úvisit_FunctionDefz!FindIdentifiers.visit_FunctionDefo   s4   € Ø×Ò˜4œ9Ñ%Ô%Ð%Ø×Ò˜T 5Ñ)Ô)Ð)Ð)Ð)r%   c                 ó¾   — | j         r@|j        D ]6}|                      |j        ¦  «         |                      |j        ¦  «         Œ7d S |                      |¦  «         d S r3   ©r*   Ú
generatorsr>   ÚtargetÚiterÚgeneric_visit©r0   r:   Úcomps      r   Úvisit_ListCompzFindIdentifiers.visit_ListComps   óo   € ØÔð 	%Øœð &ð &�Ø—
’
˜4œ;Ñ'Ô'Ð'Ø—
’
˜4œ9Ñ%Ô%Ð%Ð%ð&ð &ð ×Ò˜tÑ$Ô$Ð$Ð$Ð$r%   c                 ó¾   — | j         r@|j        D ]6}|                      |j        ¦  «         |                      |j        ¦  «         Œ7d S |                      |¦  «         d S r3   rQ   rV   s      r   Úvisit_DictCompzFindIdentifiers.visit_DictComp}   rY   r%   c              #   ól   K  — |D ].}t          |t          j        ¦  «        r|j        E d {V —† Œ*|V — Œ/d S r3   )Ú
isinstanceÚ_astÚTupleÚelts)r0   rL   r
   s      r   Ú_expand_tupleszFindIdentifiers._expand_tuples…   s[   è è € Øð 	ð 	ˆCÝ˜#�tœzÑ*Ô*ð Øœ8Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ð#à�	�	�	�	ð		ð 	r%   c                 óF  — | j         }d| _         | j        }|                     d„ |                      |j        j        ¦  «        D ¦   «         ¦  «        | _        |r|                      |j        ¦  «         n|j        D ]}|                      |¦  «         Œ|| _         || _        d S )NTc                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©Úarg_id©Ú.0r
   s     r   ú
<listcomp>z3FindIdentifiers._visit_function.<locals>.<listcomp>˜   s   € ÐHÐHÐH˜S�V�C‰[Œ[ÐHÐHÐHr%   )r*   r-   Úunionra   rL   r>   rF   )r0   r:   ÚislambdaÚinfr-   rB   s         r   rK   zFindIdentifiers._visit_functionŒ   s±   € ð ÔˆØˆÔà Ô2ÐØ!2×!8Ò!8ØHÐH D×$7Ò$7¸¼	¼Ñ$GÔ$GÐHÑHÔHñ"
ô "
ˆÔð ð 	Ø�JŠJ�t”yÑ!Ô!Ð!Ð!à”Yð ð �Ø—
’
˜1‘”��ØˆÔØ!2ˆÔÐÐr%   c                 óê   — |                       |j        ¦  «         |                       |j        ¦  «         |j        D ]}|                       |¦  «         Œ|j        D ]}|                       |¦  «         Œd S r3   )r>   rT   rS   rF   ÚorelserG   s      r   Ú	visit_ForzFindIdentifiers.visit_For¢   s‚   € ð 	�
Š
�4”9ÑÔÐØ�
Š
�4”;ÑÔÐØœð 	"ð 	"ˆIØ�JŠJ�yÑ!Ô!Ð!Ð!Øœð 	"ð 	"ˆIØ�JŠJ�yÑ!Ô!Ð!Ð!ð	"ð 	"r%   c                 ó.  — t          |j        t          j        ¦  «        r|                      |j        ¦  «         d S |j        t          vrG|j        | j        j        vr6|j        | j	        vr*| j        j
                             |j        ¦  «         d S d S d S d S r3   )r]   Úctxr^   ÚStorer7   ÚidÚreservedr.   r4   r-   Úundeclared_identifiersr5   r9   s     r   Ú
visit_NamezFindIdentifiers.visit_Name¬   sš   € Ý�d”h¥¤
Ñ+Ô+ð 		>ð ×Ò˜tœwÑ'Ô'Ð'Ð'Ð'àŒG�8Ð#Ð#Ø”˜tœ}ÔAÐAÐAØ”˜tÔ5Ð5Ð5àŒMÔ0×4Ò4°T´WÑ=Ô=Ð=Ð=Ð=ð	 $Ð#ØAÐAØ5Ð5r%   c                 óÄ   — |j         D ]W}|j        �|                      |j        ¦  «         Œ$|                      |j                             d¦  «        d         ¦  «         ŒXd S )Nú.r   )ÚnamesÚasnamer7   r6   Úsplit©r0   r:   r6   s      r   Úvisit_ImportzFindIdentifiers.visit_Import¸   sh   € Ø”Jð 	<ð 	<ˆDØŒ{Ð&Ø×"Ò" 4¤;Ñ/Ô/Ð/Ð/à×"Ò" 4¤9§?¢?°3Ñ#7Ô#7¸Ô#:Ñ;Ô;Ð;Ð;ð		<ð 	<r%   c                 óÖ   — |j         D ]`}|j        �|                      |j        ¦  «         Œ$|j        dk    rt	          j        	 di | j        ¤Ž‚|                      |j        ¦  «         Œad S )NÚ*ú£'import *' is not supported, since all identifier names must be explicitly declared.  Please use the form 'from <modulename> import <name1>, <name2>, ...' instead.)r€   )ry   rz   r7   r6   r   ÚCompileExceptionr   r|   s      r   Úvisit_ImportFromz FindIdentifiers.visit_ImportFrom¿   s’   € Ø”Jð 	.ð 	.ˆDØŒ{Ð&Ø×"Ò" 4¤;Ñ/Ô/Ð/Ð/Ø”˜cÒ!Ð!Ý Ô1ð$ðð ð
 Ô+ðð ð ð ×"Ò" 4¤9Ñ-Ô-Ð-Ð-ð	.ð 	.r%   N)r   Ú
__module__Ú__qualname__r1   r7   r;   rC   rI   rM   rO   rX   Úvisit_SetCompÚvisit_GeneratorExpr[   ra   rK   ro   rv   r}   r‚   rd   r%   r   r'   r'   G   s  € € € € € ð1ð 1ð 1ð-ð -ð -ð&ð &ð &ð
&ð 
&ð 
&ð"ð "ð "ð)ð )ð )ð*ð *ð *ð%ð %ð %ð *8Ð7€MÐ&ð%ð %ð %ðð ð ð3ð 3ð 3ð,"ð "ð "ð
>ð 
>ð 
>ð<ð <ð <ð.ð .ð .ð .ð .r%   r'   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	FindTuplec                 ó0   — || _         || _        || _        d S r3   )r.   r   Úcode_factory)r0   r.   rŠ   r   s       r   r1   zFindTuple.__init__Ð   s   € Ø ˆŒØ 0ˆÔØ(ˆÔÐÐr%   c                 óº  — |j         D ]Ò} | j        |fi | j        ¤Ž}| j        j                             |¦  «         | j        j                             t          |¦  «                             ¦   «         ¦  «         | j        j	        }| 
                    |j	        ¦  «        | j        _	        | j        j        }| 
                    |j        ¦  «        | j        _        ŒÓd S r3   )r`   rŠ   r   r.   ÚcodeargsÚappendrL   ÚExpressionGeneratorr?   r4   rj   ru   )r0   r:   rB   ÚpÚldiÚluis         r   Úvisit_TuplezFindTuple.visit_TupleÕ   sÖ   € Ø”ð 	ð 	ˆAØ!�Ô! !Ð=Ð= tÔ'<Ð=Ð=ˆAØŒMÔ"×)Ò)¨!Ñ,Ô,Ð,ØŒMÔ×%Ò%Õ&9¸!Ñ&<Ô&<×&BÒ&BÑ&DÔ&DÑEÔEÐEØ”-Ô4ˆCØ14·²ØÔ&ñ2ô 2ˆDŒMÔ.ð ”-Ô6ˆCØ36·9²9ØÔ(ñ4ô 4ˆDŒMÔ0Ð0ð	ð 	r%   N)r   rƒ   r„   r1   r’   rd   r%   r   rˆ   rˆ   Ï   s2   € € € € € ð)ð )ð )ð
ð ð ð ð r%   rˆ   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	ParseFuncc                 ó"   — || _         || _        d S r3   )r.   r   r/   s      r   r1   zParseFunc.__init__å   s   € Ø ˆŒØ 0ˆÔÐÐr%   c                 ó   — |j         | j        _        d„ |j        j        D ¦   «         }|j        j        r$|                     |j        j        j        ¦  «         d„ |j        j        D ¦   «         }|j        j        r$|                     |j        j        j        ¦  «         || j        _	        |j        j
        | j        _
        || j        _        |j        j        | j        _        |j        j        | j        _        |j        j        | j        _        d S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS rd   re   rg   s     r   ri   z/ParseFunc.visit_FunctionDef.<locals>.<listcomp>ì   s   € Ð:Ð:Ð: C•F˜3‘K”KÐ:Ð:Ð:r%   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rd   re   rg   s     r   ri   z/ParseFunc.visit_FunctionDef.<locals>.<listcomp>ð   s   € ÐBÐBÐB c•f˜S‘k”kÐBÐBÐBr%   )r6   r.   ÚfuncnamerL   Úvarargr�   r
   Ú
kwonlyargsÚkwargÚargnamesÚdefaultsÚ
kwargnamesÚkw_defaultsÚ
kwdefaultsÚvarargsÚkwargs)r0   r:   r�   rŸ   s       r   rO   zParseFunc.visit_FunctionDefé   sà   € Ø!%¤ˆŒÔà:Ð:¨4¬9¬>Ð:Ñ:Ô:ˆØŒ9Ôð 	2Ø�OŠO˜DœIÔ,Ô0Ñ1Ô1Ð1àBÐB¨T¬YÔ-AÐBÑBÔBˆ
ØŒ9Œ?ð 	3Ø×Ò˜dœiœoÔ1Ñ2Ô2Ð2Ø!)ˆŒÔØ!%¤Ô!3ˆŒÔØ#-ˆŒÔ Ø#'¤9Ô#8ˆŒÔ Ø $¤	Ô 0ˆŒÔØ#œyœˆŒÔÐÐr%   N)r   rƒ   r„   r1   rO   rd   r%   r   r”   r”   ä   s2   € € € € € ð1ð 1ð 1ð/ð /ð /ð /ð /r%   r”   c                   ó   — e Zd Zd„ Zd„ ZdS )rŽ   c                 ól   — t          j        d¦  «        | _        | j                             |¦  «         d S )Nz    )r   ÚSourceGeneratorÚ	generatorr>   )r0   Úastnodes     r   r1   zExpressionGenerator.__init__ü   s0   € Ý"Ô2°7Ñ;Ô;ˆŒØŒ×Ò˜WÑ%Ô%Ð%Ð%Ð%r%   c                 ó@   — d                      | j        j        ¦  «        S )NÚ )Újoinr§   Úresult)r0   s    r   r?   zExpressionGenerator.value   s   € Ø�wŠw�t”~Ô,Ñ-Ô-Ð-r%   N)r   rƒ   r„   r1   r?   rd   r%   r   rŽ   rŽ   û   s2   € € € € € ð&ð &ð &ð.ð .ð .ð .ð .r%   rŽ   )r   r   )Ú__doc__r^   ÚoperatorÚmakor   r   r   rt   Ú
attrgetterrf   r   r   r   ÚNodeVisitorr'   rˆ   r”   rŽ   rd   r%   r   ú<module>r²      sc  ðð &Ð %à €€€Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð .Ð-Ð-€ð 
ˆÔ	˜UÑ	#Ô	#€ð
 "Ð ðð ð ð ð0ð ð ð$E.ð E.ð E.ð E.ð E.�iÔ+ñ E.ô E.ð E.ðPð ð ð ð �	Ô%ñ ô ð ð*/ð /ð /ð /ð /�	Ô%ñ /ô /ð /ð..ð .ð .ð .ð .ñ .ô .ð .ð .ð .r%   