+
    Ri)                    j  a  0 t $ ^ RIHt ^ RIt]P                  R8w  g   Q h^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHtHtHtHt ^RIHt ^RIHt ^RIHt ^R	IHt . ROt ! R R
]4      t/ tR]R&   ]P:                  R R l4       t]P:                  R R l4       t ! R R4      t  ! R R] 4      t!R# )    )annotationsNwin32)AbstractEventLoopget_running_loop)CallableContextManager	GeneratorTextIO)KeyPress)Input)PosixStdinReader)Vt100Parser
Vt100Inputraw_modecooked_modec                      ] tR t^t$ Rt]! 4       tR]R&   R R ltR R lt	R R	 lt
R
 R ltR R lt]R R l4       tR R ltR R ltR R ltR R ltRtR# )r   zn
Vt100 input for Posix systems.
(This uses a posix file descriptor that can be registered in the event loop.)
zset[int]_fds_not_a_terminalc                    V ^8  d   QhRRRR/# )   stdinr
   returnNone )formats   "Y/home/ubuntu/hermes-agent/venv/lib/python3.14/site-packages/prompt_toolkit/input/vt100.py__annotate__Vt100Input.__annotate__$   s     '
 '
f '
 '
    c                	  a   VP                  4        TP                  4       pTP                  4       pT'       gz   T\        P                  9  de   Rp\        P                  P                  YT,          4       \        P                  P                  4        \        P                  P                  T4       TS n        TP                  4       S n        . S n        \        S P                  TP                   R7      S n        \%        T 3R l4      S n        R#   \        P                   dI   pR \        P                  9   d   \        P                  ! R4      Th\        P                  ! R4      ThRp?ii ; i)zidlelib.runz<Stdin is not a terminal. Running from Idle is not supported.zStdin is not a terminal.Nz*Warning: Input is not a terminal (fd=%r).
)encodingc                :   < SP                   P                  V 4      # N)_bufferappend)	key_pressselfs   &r   <lambda>%Vt100Input.__init__.<locals>.<lambda>J   s    dll11)<r   )filenoioUnsupportedOperationsysmodulesisattyr   r   stderrwriteflushaddr   _filenor#   r   r    stdin_readerr   vt100_parser)r&   r   er.   fdmsgs   f&    r   __init__Vt100Input.__init__$   s   		QLLN \\^"J$B$BB?CJJSX&JJ**..r2 
 ||~'),T\\ENNS'<
? && 	Q+--R --.HIqP	Qs   D E0(AE++E0c                    V ^8  d   QhRRRR/# )r   input_ready_callbackCallable[[], None]r   ContextManager[None]r   )r   s   "r   r   r   M   s     ; ;+= ;BV ;r   c                    \        W4      # )zR
Return a context manager that makes this input active in the current
event loop.
)_attached_input)r&   r<   s   &&r   attachVt100Input.attachM   s    
 t::r   c                   V ^8  d   QhRR/# r   r   r>   r   )r   s   "r   r   r   T   s     % %, %r   c                    \        V 4      # )zc
Return a context manager that makes sure that this input is not active
in the current event loop.
)_detached_inputr&   s   &r   detachVt100Input.detachT   s    
 t$$r   c                   V ^8  d   QhRR/# r   r   zlist[KeyPress]r   )r   s   "r   r   r   [   s      > r   c                    V P                   P                  4       pV P                  P                  V4       V P                  p. V n        V# )zRead list of KeyPress.)r4   readr5   feedr#   )r&   dataresults   &  r   	read_keysVt100Input.read_keys[   sE       %%' 	t$ r   c                   V ^8  d   QhRR/# rK   r   )r   s   "r   r   r   h   s      N r   c                `    V P                   P                  4        V P                  p. V n        V# )zK
Flush pending keys and return them.
(Used for flushing the 'escape' key.)
)r5   r1   r#   )r&   rP   s   & r   
flush_keysVt100Input.flush_keysh   s-     	! r   c                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r   r   r   w   s     ( ( (r   c                	.    V P                   P                  # r"   )r4   closedrG   s   &r   rZ   Vt100Input.closedv   s      '''r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r   z   s     - -. -r   c                	H    \        V P                  P                  4       4      # r"   )r   r   r)   rG   s   &r   r   Vt100Input.raw_modez   s    

))+,,r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r   }   s     0 01 0r   c                	H    \        V P                  P                  4       4      # r"   )r   r   r)   rG   s   &r   r   Vt100Input.cooked_mode}   s    4::,,.//r   c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r   r      s     # # #r   c                	6    V P                   P                  4       # r"   )r   r)   rG   s   &r   r)   Vt100Input.fileno   s    zz  ""r   c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   r      s     $ $ $r   c                	     R V P                    2# )zfd-)r3   rG   s   &r   typeahead_hashVt100Input.typeahead_hash   s    T\\N##r   )r#   r3   r   r4   r5   N)__name__
__module____qualname____firstlineno____doc__setr   __annotations__r9   rA   rH   rQ   rU   propertyrZ   r   r   r)   ri   __static_attributes__r   r   r   r   r      s]     %(E)'
R;% ( (-0#$ $r   z>dict[tuple[AbstractEventLoop, int], Callable[[], None] | None]_current_callbacksc               $    V ^8  d   QhRRRRRR/# )r   inputr   callbackr=   r   Generator[None, None, None]r   )r   s   "r   r   r      s$     .- .-.-!3.- .-r   c              #    a aaa"   \        4       oS P                  4       o\        P                  SS34      pR VVV V3R llp SP	                  SV4       S\        SS3&    Rx  SP                  S4       T'       d    SP	                  ST4       T\        SS3&   R# \        SS3 R#   \
         d    \        hi ; i  SP                  S4       T'       d   SP	                  ST4       T\        SS3&   i \        SS3 i ; i5i)z
Context manager that makes this input active in the current event loop.

:param input: :class:`~prompt_toolkit.input.Input` object.
:param callback: Called when the input is ready to read.
c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   %_attached_input.<locals>.__annotate__   s      d r   c                 \   < SP                   '       d   SP                  S4       S ! 4        R# )a  Wrapper around the callback that already removes the reader when
the input is closed. Otherwise, we keep continuously calling this
callback, until we leave the context manager (which can happen a bit
later). This fixes issues when piping /dev/null into a prompt_toolkit
application.N)rZ   remove_reader)rw   r7   rv   loops   r   callback_wrapper)_attached_input.<locals>.callback_wrapper   s!     <<<r"
r   N)r   r)   rt   get
add_readerPermissionErrorEOFErrorr~   )rv   rw   previousr   r7   r   s   ff  @@r   r@   r@      s      D	B!%%tRj1H 
,- $,tRx 	-2OOB)+3tRx("48,+    	2OOB)+3tRx("48,s7   >DB* D#B? 'AD*B<<D?ADDc                    V ^8  d   QhRRRR/# )r   rv   r   r   rx   r   )r   s   "r   r   r      s     4 4: 4*E 4r   c              #  Z  "   \        4       pV P                  4       p\        P                  W34      pV'       d   VP	                  V4       R \        W3&    R x  V'       d   VP                  W#4       V\        W3&   R # R #   T'       d   TP                  Y#4       T\        Y3&   i i ; i5ir"   )r   r)   rt   r   r~   r   )rv   r   r7   r   s   &   r   rF   rF      s     D	B!%%tj1H2'+48$4OOB)+3tx( 8OOB)+3tx( s   AB+B 'B+&B((B+c                  j    ] tR t^tRtR R ltR R lt]R R l4       t]R R	 l4       t	R
 R lt
RtR# )r   z
::

    with raw_mode(stdin):
        ''' the pseudo-terminal stdin is now used in raw mode '''

We ignore errors when executing `tcgetattr` fails.
c                    V ^8  d   QhRRRR/# )r   r)   rc   r   r   r   )r   s   "r   r   raw_mode.__annotate__   s     % %s %t %r   c                	    Wn         V   \        P                  ! V4      V n        R #   \        P                   d    R T n         R # i ; ir"   )r)   termios	tcgetattrattrs_beforeerror)r&   r)   s   &&r   r9   raw_mode.__init__   s=    	% ' 1 1& 9D}} 	% $D	%s   ' AAc                   V ^8  d   QhRR/# r{   r   )r   s   "r   r   r      s     E E4 Er   c                	    \         P                  ! V P                  4      pV P                  V\        P
                  ,          4      V\        P
                  &   V P                  V\        P                  ,          4      V\        P                  &   ^V\        P                  ,          \         P                  &   \         P                  ! V P                  \         P                  V4       R#   \         P                   d     R# i ; i)   N)r   r   r)   _patch_lflagttyLFLAG_patch_iflagIFLAGCCVMIN	tcsetattrTCSANOWr   )r&   newattrs   & r   	__enter__raw_mode.__enter__   s    	E''4G "&!2!273993E!FGCII!%!2!273993E!FGCII -.GCFFOGLL)dkk7??GD }} 		s    C* *DDc                    V ^8  d   QhRRRR/# r   attrsrc   r   r   )r   s   "r   r   r     s     X X X Xr   c                	    V\         P                  \         P                  ,          \         P                  ,          \         P                  ,          ( ,          # r"   r   ECHOICANONIEXTENISIGclsr   s   &&r   r   raw_mode._patch_lflag  s/    6G',,VWWWr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   	  s     
 
 
 
r   c                	    V\         P                  \         P                  ,          \         P                  ,          \         P                  ,          \         P
                  ,          ( ,          # r"   )r   IXONIXOFFICRNLINLCRIGNCRr   s   &&r   r   raw_mode._patch_iflag  sS     LLmm MM	
 mm mm	
 
 	
r   c                    V ^8  d   QhRRRR/# )r   aobjectr   r   r   )r   s   "r   r   r     s      6 d r   c                	    V P                   e>    \        P                  ! V P                  \        P                  V P                   4       R # R #   \        P
                   d     R # i ; ir"   )r   r   r   r)   r   r   )r&   r   s   &*r   __exit__raw_mode.__exit__  sP    (!!$++w@Q@QR ) == s   :A A'&A')r   r)   N)rk   rl   rm   rn   ro   r9   r   classmethodr   r   r   rs   r   r   r   r   r      sF    .%E& X X 
 
 r   c                  F    ] tR tRtRt]R R l4       t]R R l4       tRtR# )	r   i"  z
The opposite of ``raw_mode``, used when we need cooked mode inside a
`raw_mode` block.  Used in `Application.run_in_terminal`.::

    with cooked_mode(stdin):
        ''' the pseudo-terminal stdin is now used in cooked mode. '''
c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   cooked_mode.__annotate__,  s     W W W Wr   c                	    V\         P                  \         P                  ,          \         P                  ,          \         P                  ,          ,          # r"   r   r   s   &&r   r   cooked_mode._patch_lflag+  s,    w~~5FUVVr   c                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   0  s     % % % %r   c                	0    V\         P                  ,          # r"   )r   r   r   s   &&r   r   cooked_mode._patch_iflag/  s     w}}$$r   r   N)	rk   rl   rm   rn   ro   r   r   r   rs   r   r   r   r   r   "  s1     W W % %r   )r   r   r   )"__conditional_annotations__
__future__r   r,   platform
contextlibr*   r   r   asyncior   r   typingr   r   r	   r
   key_bindingr   baser   posix_utilsr   r5   r   __all__r   rt   rq   contextmanagerr@   rF   r   r   )r   s   @r   <module>r      s    " " 

||w   	  
 7 > > "  ) %j$ j$^    
 .- .-b 4 4"L Ld%( %r   