Ë
    £cgjê	  ã                  óf   — d dl mZ d dlZd dlZd dlmZ d dlmZ ddlm	Z	m
Z
mZ ddgZddd	„Zdd
„Zy)é    )ÚannotationsN)ÚAbstractContextManager)ÚTextIOé   )Ú
DummyInputÚInputÚ	PipeInputÚcreate_inputÚcreate_pipe_inputc                óÜ  — t         j                  dk(  r<ddlm} | €t         j                  €
t        «       S  || xs t         j                  «      S ddlm} | €Zt         j                  } |rHt         j                  t         j                  t         j                  fD ]  }|j                  «       sŒ|}  n 	 | j                  «         || «      S # t        j                  $ r t        «       cY S w xY w)a§  
    Create the appropriate `Input` object for the current os/environment.

    :param always_prefer_tty: When set, if `sys.stdin` is connected to a Unix
        `pipe`, check whether `sys.stdout` or `sys.stderr` are connected to a
        pseudo terminal. If so, open the tty for reading instead of reading for
        `sys.stdin`. (We can open `stdout` or `stderr` for reading, this is how
        a `$PAGER` works.)
    Úwin32r   )Ú
Win32Input)Ú
Vt100Input)ÚsysÚplatformr   r   Ústdinr   Úvt100r   ÚstdoutÚstderrÚisattyÚfilenoÚioÚUnsupportedOperation)r   Úalways_prefer_ttyr   r   Úobjs        ún/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/prompt_toolkit/input/defaults.pyr
   r
      s½   € ô ‡|�|�wÒÝ%ð ˆ=œSŸY™YÐ.Ü“<Ðá˜%Ò,¤3§9¡9Ó-Ð-å%ð ˆ=Ü—I‘IˆEá ÜŸI™I¤s§z¡z´3·:±:Ó>�CØ—z‘z•|Ø #˜Ùð ?ð	 Ø�L‰LŒNñ ˜%Ó Ð øô ×&Ñ&ò 	 Ü“<Òð	 ús   Â3C ÃC+Ã*C+c                 ó€   — t         j                  dk(  rddlm}  | j	                  «       S ddlm} |j	                  «       S )aA  
    Create an input pipe.
    This is mostly useful for unit testing.

    Usage::

        with create_pipe_input() as input:
            input.send_text('inputdata')

    Breaking change: In prompt_toolkit 3.0.28 and earlier, this was returning
    the `PipeInput` directly, rather than through a context manager.
    r   r   )ÚWin32PipeInput)ÚPosixPipeInput)r   r   Ú
win32_piper   ÚcreateÚ
posix_piper   )r   r   s     r   r   r   <   s4   € ô ‡|�|�wÒÝ.à×$Ñ$Ó&Ð&å.à×$Ñ$Ó&Ð&ó    )NF)r   zTextIO | Noner   ÚboolÚreturnr   )r%   z!AbstractContextManager[PipeInput])Ú
__future__r   r   r   Ú
contextlibr   Útypingr   Úbaser   r   r	   Ú__all__r
   r   © r#   r   Ú<module>r,      s4   ðÝ "ã 	Û 
Ý -Ý ç .Ñ .ð Øð€ô)!ôX'r#   