§
    ZQdÓ  ã                   óP   — d Z ddlmZ ddlmZmZmZ  G d„ dej        ¦  «        ZdS )z•Fixer for exec.

This converts usages of the exec statement into calls to a built-in
exec() function.

exec code in ns1, ns2 -> exec(code, ns1, ns2)
é   )Ú
fixer_base)ÚCommaÚNameÚCallc                   ó   — e Zd ZdZdZd„ ZdS )ÚFixExecTzx
    exec_stmt< 'exec' a=any 'in' b=any [',' c=any] >
    |
    exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any >
    c                 óä  — |sJ ‚| j         }|d         }|                     d¦  «        }|                     d¦  «        }|                     ¦   «         g}d|d         _        |�5|                     t          ¦   «         |                     ¦   «         g¦  «         |�5|                     t          ¦   «         |                     ¦   «         g¦  «         t          t          d¦  «        ||j        ¬¦  «        S )NÚaÚbÚcÚ é    Úexec)Úprefix)ÚsymsÚgetÚcloner   Úextendr   r   r   )ÚselfÚnodeÚresultsr   r
   r   r   Úargss           ú-/usr/lib/python3.11/lib2to3/fixes/fix_exec.pyÚ	transformzFixExec.transform   sÄ   € ØˆˆˆØŒyˆØ�CŒLˆØ�KŠK˜ÑÔˆØ�KŠK˜ÑÔˆØ—’‘	”	ˆ{ˆØˆˆQŒŒØˆ=Ø�KŠK�™œ !§'¢'¡)¤)Ð,Ñ-Ô-Ð-Øˆ=Ø�KŠK�™œ !§'¢'¡)¤)Ð,Ñ-Ô-Ð-å•D˜‘L”L $¨t¬{Ð;Ñ;Ô;Ð;ó    N)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNr   © r   r   r   r      s/   € € € € € Ø€Mð€Gð<ð <ð <ð <ð <r   r   N)	Ú__doc__r   r   Ú
fixer_utilr   r   r   ÚBaseFixr   r!   r   r   ú<module>r%      sx   ððð ð Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ð<ð <ð <ð <ð <ˆjÔ ñ <ô <ð <ð <ð <r   