
    F\h                    b    S SK Jr  S SKJrJr  S SKrS SKJr    " S S\5      r
 " S S\
5      rg)	    )annotations)ABCabstractmethodN)dequec                  P    \ rS rSr\SS j5       r\SS j5       r\S	S j5       rSrg)
InputTranslator0   c                    g N )selfevts     $/usr/lib/python3.13/_pyrepl/input.pypushInputTranslator.push1   s        c                    g r   r   r   s    r   getInputTranslator.get5       r   c                    g)NTr   r   s    r   emptyInputTranslator.empty9   r   r   r   N)r   
EventTuplereturnNone)r   zEventTuple | Noner   bool)	__name__
__module____qualname____firstlineno__r   r   r   r   __static_attributes__r   r   r   r   r   0   s<         r   r   c                  4    \ rS rSrSS jrS rS rS	S jrSrg)
KeymapTranslator>   Nc                   X l         SSKJnJn  Xl        X0l        X@l        0 nU H  u  p[        U" U5      5      n
XU
'   M     U R                   (       a  [        U5        U" US5      =U l        U l	        [        5       U l        / U l        g )N   )compile_keymap
parse_keysr   )verbosekeymapr*   r+   invalid_clscharacter_clstupleprintkckr   resultsstack)r   r-   r,   r.   r/   r*   r+   dkeyspeccommandkeyseqs              r   __init__KeymapTranslator.__init__?   sx    6&* &G:g./FfI !' <<!H)!R00w
r   c                   U R                   (       a  [        SUR                  SS9  UR                  nU R                  R	                  U5      n[        U[        5      (       a>  U R                   (       a  [        S5        U R                  R                  U5        X0l        g Uc  U R                   (       a  [        S5        U R                  (       d)  [        U5      S:  d  [        R                  " U5      S:X  a6  U R                  R                  U R                  U R                  U/-   45        OU R                  U R                  U'   U R                  R                  U R                  U/45        OGU R                   (       a  [        SU5        U R                  R                  X0R                  U/-   45        / U l        U R                  U l        g )	Npushed )end
transitioninvalidr)   Cmatched)r,   r1   datar2   r   
isinstancedictr5   appendlenunicodedatacategoryr4   r.   r/   r3   )r   r   keyr6   s       r   r   KeymapTranslator.pushP   s<   <<(CHH"-hhFFJJsOa||l#JJc"Fy<<)$::SA1E1Ec1Jc1QLL'')9)94::;M(NO #'"4"4DFF3KLL''););cU(CD<<)Q'##Q

cU(:$;<DJWWDFr   c                Z    U R                   (       a  U R                   R                  5       $ g r   )r4   popleftr   s    r   r   KeymapTranslator.getk   s    <<<<''))r   c                $    U R                   (       + $ r   )r4   r   s    r   r   KeymapTranslator.emptyq   s    <<r   )r/   r3   r.   r2   r-   r4   r5   r,   )FNNr   )	r    r!   r"   r#   r:   r   r   r   r$   r   r   r   r&   r&   >   s    "6 r   r&   )
__future__r   abcr   r   rI   collectionsr   typesr   r   r&   r   r   r   <module>rV      s1   H # #   	c 4  4 r   