a XC?h~)�@s�ddlZddlZddlmZmZgd�ZGdd�d�ZGdd�de�Zddd �Ze d kr�ddl Z e � �Z e j d d d d�e ��Zejs�ejjr�dZndZee�dS)�N)�CommandCompiler�compile_command)�InteractiveInterpreter�InteractiveConsole�interactrc@sBeZdZddd�Zddd�Zdd �Zdd d �Zd d �Zdd�ZdS)rNcCs$|durddd�}||_t�|_dS)NZ __console__)�__name__�__doc__)�localsr�compile)�selfr �r �)/opt/alt/python39/lib64/python3.9/code.py�__init__s  zInteractiveInterpreter.__init__��singlec CsRz|�|||�}Wn$tttfy6|�|�YdS0|durDdS|�|�dS)NFT)r � OverflowError� SyntaxError� ValueError�showsyntaxerror�runcode)r �source�filenameZsymbol�coder r r � runsource&s  z InteractiveInterpreter.runsourcecCs<zt||j�Wn&ty$�Yn|��Yn0dS�N)�execr � SystemExit� showtraceback)r rr r r rMs  zInteractiveInterpreter.runcodec Cs�t��\}}}|t_|t_|t_|rn|turnz|j\}\}}}} WntyTYn0t||||| f�}|t_tjtj ur�t � ||�} |� d� | ��nt�|||�dS)N�)�sys�exc_info� last_type� last_value�last_tracebackr�argsr� excepthook�__excepthook__� traceback�format_exception_only�write�join) r r�type�value�tb�msgZdummy_filename�lineno�offset�line�linesr r r r`s     z&InteractiveInterpreter.showsyntaxerrorcCs�t��\t_t_}}|t_zXt�|d|d|j�}tjtj urT|� d� |��nt�|d|d|�Wd}}n d}}0dS)Nr�r) rr r!r"r#r'�format_exception�tb_nextr%r&r)r*)r Zlast_tbZeir2r r r r�s z$InteractiveInterpreter.showtracebackcCstj�|�dSr)r�stderrr))r �datar r r r)�szInteractiveInterpreter.write)N)rr)N) r� __module__� __qualname__rrrrrr)r r r r rs   ' #rc@s:eZdZddd�Zdd�Zddd�Zd d �Zdd d �ZdS)rN� cCst�||�||_|��dSr)rrr� resetbuffer)r r rr r r r�s zInteractiveConsole.__init__cCs g|_dSr)�buffer)r r r r r;�szInteractiveConsole.resetbuffercCsJz tjWnty"dt_Yn0z tjWntyFdt_Yn0d}|durt|�dtjtj||jjf�n|r�|�dt |��d}zT|r�tj}ntj}z|� |�}Wn$t y�|�d�YW�qYn 0|� |�}Wq�t �y |�d�|��d}Yq�0q�|du�r.|�d |jj�n|d k�rF|�d|�dS) Nz>>> z... zFType "help", "copyright", "credits" or "license" for more information.zPython %s on %s %s (%s) z%s r� z KeyboardInterrupt znow exiting %s... r)rZps1�AttributeErrorZps2r)�version�platform� __class__r�str� raw_input�EOFError�push�KeyboardInterruptr;)r �banner�exitmsgZcprt�more�promptr1r r r r�sH       ��      zInteractiveConsole.interactcCs6|j�|�d�|j�}|�||j�}|s2|��|S)Nr=)r<�appendr*rrr;)r r1rrIr r r rE�s   zInteractiveConsole.pushrcCst|�Sr)�input)r rJr r r rCs zInteractiveConsole.raw_input)Nr:)NN)r)rr8r9rr;rrErCr r r r r�s   6rcCsHt|�}|dur||_n z ddl}Wnty6Yn0|�||�dS)Nr)rrC�readline� ImportErrorr)rGZreadfuncZlocalrHZconsolerMr r r rs  r�__main__z-q� store_truez*don't print version and copyright messages)�action�helpr)NNNN)rr'Zcodeoprr�__all__rrrr�argparse�ArgumentParser�parser� add_argument� parse_argsr$�q�flags�quietrGr r r r �s$t �