
    iH                    h   S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
JrJr  S SKJr  S SKrS SKrS SKrS SKJr  \(       a  S SKJr   " S S	\R,                  \R.                  5      r\" \5      \R4                  R6                  SS
 j5       5       r\ " S S\5      5       rSS jrSS jrg)    )annotationsN)InteractiveConsole)CodeType	FrameTypeFunctionType)TYPE_CHECKING)final)Callablec                      \ rS rSrSrg)SuppressDecorator    N)__name__
__module____qualname____firstlineno____static_attributes__r       7C:\des-py\RoboSAPF\venv\Lib\site-packages\trio/_repl.pyr   r      s    r   r   c                     SS K n SS Kn U R                  [        R                  UR
                  S5        g ! [         a  n[        SU 3SSS9   S nAg S nAff = f)Nr      
z(
Press enter! Newline injection failed:  T)endflush)fcntltermiosioctlsysstdinTIOCSTIOSErrorprint)r   r   es      r   terminal_newliner$      sN     SCIIw6 S9!=2TRSs   +6 
A AAc                     ^  \ rS rSrS	S
U 4S jjjrSS jr\R                  S:X  a  SSS jjrSr
U =r$ SSS jjrSS jr	Sr
U =r$ )TrioInteractiveConsole'   c                   > [         TU ]  US9  S U l        U R                  R                  =R
                  [        R                  -  sl        SU l        g )N)localsF)	super__init__tokencompilecompilerflagsastPyCF_ALLOW_TOP_LEVEL_AWAITinterrupted)selfrepl_locals	__class__s     r   r+   TrioInteractiveConsole.__init__)   sC    ,59
##s'E'EE# r   c                   [        XR                  5      n[        R                  " U5      (       a/  [        R
                  R                  [        R                  U5      nO.[        R
                  R                  [        R                  U5      n[        U[        R                  5      (       a  [        UR                  [        5      (       a  UR                  e[        UR                  5      UR                  s[         l        [         l        UR                  R&                  [         l        [         R*                  S:  a  UR                  [         l        [         R.                  " [         R"                  [         R$                  [         R(                  5        [        R
                  R                  [        R0                  R2                  5        g )N)      )r   r)   inspectiscoroutinefunctiontriofrom_threadrunoutcomeacapturerun_synccapture
isinstanceErrorerror
SystemExittyper   	last_type
last_value__traceback__last_tracebackversion_infolast_exc
excepthooklowlevelcheckpoint_if_cancelled)r3   codefuncresults       r   runcodeTrioInteractiveConsole.runcode/   s   D++.&&t,,%%))'*:*:DAF%%..wEFfgmm,, &,,
33ll"
 15V\\0BFLL-s~%+\\%?%?"##w.#)<<CL s}}cnnc>P>PQT]]BBCr   win32c                     [        U5      $ ! [         a9    [        R                  R	                  [        R
                  R                  5        e f = fN)inputEOFErrorr<   r=   r>   rO   rP   )r3   prompts     r   	raw_input TrioInteractiveConsole.raw_inputP   sA    V}$   $$T]]%J%JKs
   
 AAc                  ^ ^^ SSK JmJ m  T R                  (       a   e  SUU U4S jjn[        R                  R                  U5      n [        U5      [        R                  R                  TTU5        T R                  (       a  [        e$ ! [        R                  R                  TTU5        T R                  (       a  [        ef = f)Nr   )SIGINTsignalc                 r   >^       SUU4S jjn [         R                  R                  5       mT" TU 5      $ )Nc                <   > STl         TR                  [        SS9  g )NT)
idempotent)r2   run_sync_soonr$   )sigframer3   r,   s     r   handlerJTrioInteractiveConsole.raw_input.<locals>.install_handler.<locals>.handlerb   s!     (,D$''(8T'Jr   )re   intrf   zFrameType | NonereturnNone)r<   rO   current_trio_token)rg   r,   r_   r3   r`   s    @r   install_handler9TrioInteractiveConsole.raw_input.<locals>.install_handler_   sK    KK%5KK K 88:fg..r   )rj   z4Callable[[int, FrameType | None], None] | int | None)r`   r_   r2   r<   r=   rA   rY   KeyboardInterrupt)r3   r[   rm   prev_handlerr_   r`   s   `   @@r   r\   r]   Z   s    -''''/D/ /  ++44_EL,V}  ))&&,G##++ $   ))&&,G##++ $s   
B :Cc                    U R                   (       a2  US:X  d   e[        R                  R                  USS  5        SU l         g [        R                  R                  U5        g )Nz
KeyboardInterrupt
   F)r2   r   stderrwrite)r3   outputs     r   rt   TrioInteractiveConsole.writet   sL    !8888

  ,#( 

  (r   )r2   r,   rX   )r4   zdict[str, object] | Nonerj   rk   )rQ   r   rj   rk   )r   )r[   strrj   rw   )ru   rw   rj   rk   )r   r   r   r   r+   rT   r   platformr\   rt   r   __classcell__)r5   s   @r   r&   r&   '   s:    ! !D> ||w	 		,4	) 	)r   r&   c           
     V  #    S[         R                   S[         R                   S[        [         SS5       S3n [        R
                  R                  U R                  U5      I S h  vN   [        R                  " SS[        S	9  g  N! [        R                  " SS[        S	9  f = f7f)
Nz
trio REPL z on zv
Use "await" directly instead of "trio.run()".
Type "help", "copyright", "credits" or "license" for more information.
ps1z>>> zimport trioignorez ^coroutine .* was never awaited$)messagecategory)r   versionrx   getattrr<   	to_threadrA   interactwarningsfilterwarningsRuntimeWarning)consolebanners     r   run_replr   }   s     
S[[Mcll^ 4" 3v&
'{		4 
nn%%g&6&6???7#	
 	@7#	
s.   8B)-B
 (B)B
 -B)B
 
B&&B)c                    [         R                  " [        5         SS KnS S S 5        S[        0nS H	  nX   X#'   M     [        U5      n[        R                  " [        U5        g ! , (       d  f       NL= f)Nr   r<   >   __file__r   __spec__
__loader____package____builtins__)
contextlibsuppressImportErrorreadliner<   r&   r>   r   )original_localsr   r4   keyr   s        r   mainr      s_    			[	) 
* '-d^K +/ %[1GHHXw 
*	)s   A&&
A4)rj   rk   )r   r&   rj   rk   )r   zdict[str, object]rj   rk   ) 
__future__r   r0   r   r:   r   r   rQ   r   typesr   r   r   typingr   r?   r<   trio.lowlevel
trio._utilr	   collections.abcr
   ContextDecoratorr   r   ro   rO   disable_ki_protectionr$   r&   r   r   r   r   r   <module>r      s    " 
   
  # 3 3      (	
33Z5H5H 	 $%$$S % &S R)/ R) R)j
$ r   