
    i\Gg'                     R   d dl Z d dlZd dlZd dlZd dlZd dlZd dl mZ d dl mZ d dl mZ d dl m	Z	 d dl m
Z
 d dl mZ d dl mZ d d	l mZ d d
l mZ d dl mZ d dl mZ d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZddlmZ ddlmZ ddlmZ 	 d dl mZ ej        Zej        Zn# e$ r dZY nw xY w ee
          Z ej!        Z!e!j"        Z"e!j#        Z#e!j$        Z$e!j%        Z%e!j&        Z&  ee          dej!        f          Z'  e ee          e ee	                    dej(        f          Z)  ee j        e j                  dej!        f          Z* e"d          Z+ e"d          Z, e"d          Z-d Z.dZ/d Z0dZ1dZ2d Z3dZ4dZ5d Z6d!Z7 G d" d#e j8                  Z9edZ:nd9d%Z: G d& d'ej;                  Z< G d( d)e<          Z= G d* d+e<          Z> G d, d-e?          Z@ G d. d/e?          ZA eB            ZCd0 ZDd1 ZEd2 ZFd3 ZGerd4 ZH eH            ZId5 ZJeEeFeGd6ZKd7 ZLd8 ZMdS ):    N)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)windll)WinError)WINFUNCTYPE)DWORD)HANDLE)LPCWSTR)LPWSTR   )_NonClosingTextIOWrapper)PY2)	text_type)	pythonapiGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  c                       e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefgZ	e
re	                    ddedz  f           dS dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsinternal
smalltabler   N)__name__
__module____qualname__r	   r   r   r   r   	c_ssize_p_fields_r   insert     _/var/www/html/ws.service.destra.net.br/ws_env/lib/python3.11/site-packages/click/_winconsole.pyr   r   U   s        						Y	U		8	)	I	y!	XH  ;\9q=9:::::; ;r4   r   Fc                 b   t                      }|rt          nt          }t          t	          |           t          |          |           	 t          |j        z  }|                    |j	                  t          t          |                     S # t          t          |                     w xY wN)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   r   r"   from_addressr    PyBuffer_Release)r!   writabler    flagsbuffer_types        r5   
get_bufferr@   n   s    kk"*<9S>>5::u===	) 37*K++CG44U3ZZ((((U3ZZ((((s   (B B.c                       e Zd Zd Zd ZdS )_WindowsConsoleRawIOBasec                     || _         d S r7   )handle)selfrD   s     r5   __init__z!_WindowsConsoleRawIOBase.__init__z   s    r4   c                 D    t           j                            |            dS NT)io	RawIOBaseisattyrE   s    r5   rK   z_WindowsConsoleRawIOBase.isatty}   s    
D!!!tr4   N)r-   r.   r/   rF   rK   r3   r4   r5   rB   rB   y   s2              r4   rB   c                       e Zd Zd Zd ZdS )_WindowsConsoleReaderc                     dS rH   r3   rL   s    r5   readablez_WindowsConsoleReader.readable       tr4   c                    t          |          }|sdS |dz  rt          d          t          |d          }|dz  }t                      }t	          t          | j                  ||t          |          d           }t                      t          k    rt          j        d           |s.t          d                    t                                          |d         t          k    rdS d|j        z  S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r=   g?zWindows error: {})r"   
ValueErrorr@   r   ReadConsoleWr   rD   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorr&   EOFvalue)rE   bbytes_to_be_readbuffercode_units_to_be_readcode_units_readrvs          r5   readintoz_WindowsConsoleReader.readinto   s    q66 	1! 	P   A--- 0A 5!))4;!/""
 
 >>444JsOOO 	F-44\^^DDEEE!91?(((r4   N)r-   r.   r/   rP   rb   r3   r4   r5   rN   rN      s2          ) ) ) ) )r4   rN   c                   0    e Zd Zd Zed             Zd ZdS )_WindowsConsoleWriterc                     dS rH   r3   rL   s    r5   r=   z_WindowsConsoleWriter.writable   rQ   r4   c                 `    | t           k    rdS | t          k    rdS d                    |           S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error {})rg   rh   r&   )errnos    r5   _get_error_messagez(_WindowsConsoleWriter._get_error_message   s8    M!!"?---,,!((///r4   c                 z   t          |          }t          |          }t          |t                    dz  }t	                      }t          t          | j                  ||t          |          d            d|j	        z  }|dk    r4|dk    r.t          |                     t                                          |S )Nr   r   )r"   r@   minMAX_BYTES_WRITTENr   WriteConsoleWr   rD   r   r[   rY   rj   rU   )rE   r\   bytes_to_be_writtenr    code_units_to_be_writtencode_units_writtenbytes_writtens          r5   writez_WindowsConsoleWriter.write   s    !!ffmm#&':<M#N#NRS#S $YY4;$$%%	
 	
 	
 .44A"5"9"9$11,..AABBBr4   N)r-   r.   r/   r=   staticmethodrj   rs   r3   r4   r5   rd   rd      sM           0 0 \0    r4   rd   c                   H    e Zd Zd Zed             Zd Zd Zd Zd Z	d Z
dS )	ConsoleStreamc                 "    || _         || _        d S r7   )_text_streamr^   )rE   text_streambyte_streams      r5   rF   zConsoleStream.__init__   s    '!r4   c                     | j         j        S r7   )r^   namerL   s    r5   r|   zConsoleStream.name   s    {r4   c                     t          |t                    r| j                            |          S 	 |                                  n# t
          $ r Y nw xY w| j                            |          S r7   )
isinstancer   rx   rs   flush	Exceptionr^   )rE   xs     r5   rs   zConsoleStream.write   su    a## 	.$**1---	JJLLLL 	 	 	D	{  ###s   A 
AAc                 :    |D ]}|                      |           d S r7   )rs   )rE   lineslines      r5   
writelineszConsoleStream.writelines   s0     	 	DJJt	 	r4   c                 ,    t          | j        |          S r7   )getattrrx   rE   r|   s     r5   __getattr__zConsoleStream.__getattr__   s    t($///r4   c                 4    | j                                         S r7   )r^   rK   rL   s    r5   rK   zConsoleStream.isatty   s    {!!###r4   c                 B    d                     | j        | j                  S )Nz'<ConsoleStream name={!r} encoding={!r}>)r&   r|   encodingrL   s    r5   __repr__zConsoleStream.__repr__   s#    8??It}
 
 	
r4   N)r-   r.   r/   rF   propertyr|   rs   r   r   rK   r   r3   r4   r5   rv   rv      s        " " "     X $ $ $  0 0 0$ $ $
 
 
 
 
r4   rv   c                   $    e Zd ZdZd Zd Zd ZdS )WindowsChunkedWriterz
    Wraps a stream (such as stdout), acting as a transparent proxy for all
    attribute access apart from method 'write()' which we wrap to write in
    limited chunks due to a Windows limitation on binary console streams.
    c                     || _         d S r7   )_WindowsChunkedWriter__wrapped)rE   wrappeds     r5   rF   zWindowsChunkedWriter.__init__   s     !r4   c                 ,    t          | j        |          S r7   )r   r   r   s     r5   r   z WindowsChunkedWriter.__getattr__   s    t~t,,,r4   c                     t          |          }d}||k     rJt          ||z
  t                    }| j                            ||||z                       ||z  }||k     Hd S d S )Nr   )r"   rl   rm   r   rs   )rE   texttotal_to_writewrittento_writes        r5   rs   zWindowsChunkedWriter.write   sz    T&&>G35FGGHN  g(0B&B!CDDDxG &&&&&&r4   N)r-   r.   r/   __doc__rF   r   rs   r3   r4   r5   r   r      sK         ! ! !
- - -         r4   r   c           
         t           rzt          j                    d d         dk    r]| t          vrVt	          t          | t          t          t          |                                t                              |            d S d S d S d S )Nr   )   r   )r   sysgetwindowsversion_wrapped_std_streamssetattrr   r   add)r|   s    r5   _wrap_std_streamr     s     	'!##BQB'611,,,T/T0B0BCCDDD  &&&&&' '11,,r4   c                     t          t          j        t          t                              ddd          }t          ||           S N	utf-16-lestrictT)line_buffering)r   rI   BufferedReaderrN   STDIN_HANDLErv   buffer_streamry   s     r5   _get_text_stdinr     sH    *
/==>>	  K m444r4   c                     t          t          j        t          t                              ddd          }t          ||           S r   )r   rI   BufferedWriterrd   STDOUT_HANDLErv   r   s     r5   _get_text_stdoutr     H    *
/>>??	  K m444r4   c                     t          t          j        t          t                              ddd          }t          ||           S r   )r   rI   r   rd   STDERR_HANDLErv   r   s     r5   _get_text_stderrr   "  r   r4   c                  t    t          j        d                    t          j        dd                              S )N r   )zlibcrc32joinr   argvr3   r4   r5   _hash_py_argvr   .  s(    z&++chqrrl33444r4   c                  J   t          d          } t          t                      t          |                     st	                      	 fdt          d| j                  D             }t                     n# t                     w xY wt          t          d          st|dd          }t          |          dk    rW|d         }|                    d          r|dk    rn3|dd          }|                    d          rnt          |          dk    W|dd          S )Nr   c                      g | ]
}|         S r3   r3   ).0iargv_unicodes     r5   
<listcomp>z%_get_windows_argv.<locals>.<listcomp>9  s    BBBLOBBBr4   frozenr   -)z-cz-m)r   r   r   r   r   ranger[   r   hasattrr   r"   
startswith)argcr   argr   s      @r5   _get_windows_argvr   3  s2   Qxx)/*;*;U4[[II 	**	BBBBU1dj-A-ABBBDl### l###sH%% 	8Dd))a--1g~~c** cSjjABBx>>,//  d))a-- ABBxs   !A= =B)r   r   r   c           	         t          | d          sdS 	 |                                 }n# t          $ r Y dS w xY wt          j        |          }t          t          |t          t                                                    S )NfilenoF)	r   r   rY   msvcrtget_osfhandleboolGetConsoleModer   r   )fr   rD   s      r5   _is_consoler   R  s    1h u   uu !&))FvuUWW~~66777s   ) 
77c                 `   t           |dv r|dv rt          |           rt                              |                                           }|at
          st          | dd           } | d S n1t          j        |                                 t          j
                    ||           S d S d S d S d S d S )N)r   N)r   Nr^   )r@   r   _stream_factoriesgetr   r   r   r   setmodeosO_BINARY)r   r   errorsfuncs       r5   _get_windows_console_streamr   _  s    +++&&&NN ' !$$QXXZZ00 	8Ax..94  qxxzz2;777477N# 	++&&&& r4   )F)NctypesrI   r   r   rW   r   r   r   r   r   r   r   r	   r
   r   r   r   r   ctypes.wintypesr   r   r   r   r   _compatr   r   r   r   r:   r<   ImportErrorr0   kernel32GetStdHandlerT   rn   r   rU   r   shell32r   r   r   r   r   r9   r8   rg   rh   rV   STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOrZ   rm   	Structurer   r@   rJ   rB   rN   rd   objectrv   r   setr   r   r   r   r   r   _initial_argv_hashr   r   r   r   r3   r4   r5   <module>r      s    				 				 



                                                                           ! ! ! ! ! ! " " " " " " # # # # # # " " " " " "  - - - - - -                  "5 1   III GI	?$$&($%++f%%'8&/&JKKJ[['775>>JJ6>*   :KK99&/" 	
 |C  S!!S!!    ; ; ; ; ;  ; ; ;* JJ) ) ) )    r|    )  )  )  )  )4  )  )  )F    4   @
 
 
 
 
F 
 
 
D         6      2 suu ' ' '5 5 55 5 55 5 5  5 5 5 '  2   
8 
8 
8    s   B% %B/.B/