3 \+ �@s<ddlZGdd�de�ZGdd�de�ZGdd�de�ZdS)�Nc@s&eZdZdd�Zdd�Zddd�ZdS) �QuittercCs||_||_dS)N)�name�eof)�selfrr�r�%/usr/lib64/python3.6/_sitebuiltins.py�__init__szQuitter.__init__cCsd|j|jfS)NzUse %s() or %s to exit)rr)rrrr�__repr__szQuitter.__repr__Nc Cs(ytjj�Wn YnXt|��dS)N)�sys�stdin�close� SystemExit)r�coderrr�__call__s zQuitter.__call__)N)�__name__� __module__� __qualname__rr rrrrrr src@s6eZdZdZfffdd�Zdd�Zdd�Zdd �Zd S) �_Printer�cs4ddl�||_||_d|_��fdd�|D�|_dS)Nrcs$g|]}�D]}�jj||��q qSr)�path�join)�.0�dir�filename)�files�osrr� (sz%_Printer.__init__..)r�_Printer__name�_Printer__data�_Printer__lines�_Printer__filenames)rr�datar�dirsr)rrrr#s  z_Printer.__init__cCs~|jr dSd}xH|jD]>}y$t|d��}|j�}WdQRXPWqtk rRYqXqW|sb|j}|jd�|_t|j�|_dS)N�r� ) rr �open�read�OSErrorr�split�len�_Printer__linecnt)rr!r�fprrr�__setup,s    z_Printer.__setupcCs8|j�t|j�|jkr$dj|j�Sd|jfdSdS)Nr$z!Type %s() to see the full %s text�)�_Printer__setupr)r�MAXLINESrr)rrrrr <s z_Printer.__repr__c Cs�|j�d}d}x�y,x&t|||j�D]}t|j|�q&WWntk rTPYqX||j7}d}x |dkr�t|�}|dkrfd}qfW|dkrPqWdS)Nz0Hit Return for more, or q (and Return) to quit: r��q)r0r1)r.�ranger/�printr� IndexError�input)r�prompt�lineno�i�keyrrrrCs"  z_Printer.__call__N)rrrr/rr.r rrrrrrs  rc@seZdZdd�Zdd�ZdS)�_HelpercCsdS)NzHType help() for interactive help, or help(object) for help about object.r)rrrrr bsz_Helper.__repr__cOsddl}|j||�S)Nr)�pydoc�help)r�args�kwdsr;rrrresz_Helper.__call__N)rrrr rrrrrr:Xs r:)r �objectrrr:rrrr� s;