a
    ze                     @   sf   d dl Z d dlZdd e jD Zg dZdZdd Zdd	 ZdddZG dd dZ	G dd dZ
dS )    Nc                 C   s   g | ]}t t|qS  )getattr
__future__).0Zfnamer   r   /usr/lib/python3.9/codeop.py
<listcomp>>   s   r   )compile_commandCompileCommandCompileri   c                 C   sr  | dD ] }| }|r
|d dkr
 q8q
|dkr8d}d  } }}d  } }	}
z| |||}W n tyr   Y n0 t  td z| |d ||}	W n( ty } z|}W Y d }~n
d }~0 0 z| |d ||}
W n* ty } z|}W Y d }~n
d }~0 0 W d    n1 s0    Y  z<|r<|W d  }}S |	sXt|t|krX|W d  }}n
d  }}0 d S )N
r   #evalpasserrorz

)splitstripSyntaxErrorwarningscatch_warningssimplefilterrepr)compilersourcefilenamesymbollineerrZerr1Zerr2codecode1code2er   r   r   _maybe_compileE   s<    

:r!   c                 C   s   t | ||tS N)compilePyCF_DONT_IMPLY_DEDENTr   r   r   r   r   r   _compilen   s    r&   <input>singlec                 C   s   t t| ||S r"   )r!   r&   r%   r   r   r   r   q   s    r   c                   @   s   e Zd Zdd Zdd ZdS )r	   c                 C   s
   t | _d S r"   )r$   flagsselfr   r   r   __init__   s    zCompile.__init__c                 C   s<   t |||| jd}tD ] }|j|j@ r|  j|jO  _q|S )NT)r#   r)   	_featuresco_flagsZcompiler_flag)r+   r   r   r   ZcodeobZfeaturer   r   r   __call__   s
    zCompile.__call__N__name__
__module____qualname__r,   r/   r   r   r   r   r	      s   r	   c                   @   s   e Zd Zdd ZdddZdS )	r
   c                 C   s   t  | _d S r"   )r	   r   r*   r   r   r   r,      s    zCommandCompiler.__init__r'   r(   c                 C   s   t | j|||S r"   )r!   r   )r+   r   r   r   r   r   r   r/      s    zCommandCompiler.__call__N)r'   r(   r0   r   r   r   r   r
      s   r
   )r'   r(   )r   r   Zall_feature_namesr-   __all__r$   r!   r&   r   r	   r
   r   r   r   r   <module>;   s   )
