
    ֝jF                    &   U d dl mZ d dlZd dlm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 e	j                            d          Ze	j                            d          Z ej        d          Z	 	 dbdcdZdddZdedZ G d dej                  Z G d d          ZdfdgdZdfdgdZdhd Zdhd!Zdid"Z djd%Z!dkd&Z"	 	 dbdld,Z#	 dfdmd.Z$	 dfdnd0Z%dod1Z&dod2Z'dod3Z(dpdqd4Z)dpdqd5Z*dpdqd6Z+drd:Z,	 	 	 	 dsdtdAZ- G dB dC          Z.dudDZ/dvdEZ0	 dpdwdIZ1e	j                            d          rerdJdKl2m3Z3 dxdLZ4ndxdMZ4dydPZ3dzdSZ5dvdTZ6d{dYZ7 e7dZ e)          Z8 e7d[ e*          Z9 e7d\ e+          Z:e&e'e(d]Z;d^e<d_<   e)e*e+d]Z=d`e<da<   dS )|    )annotationsN)TracebackTypeWeakKeyDictionarycygwinwinz\033\[[0-?]*[ -/]*[@-~]Fstream
t.BinaryIOencoding
str | Noneerrorsforce_readableboolforce_writablereturnt.TextIOc                V    |t          |           }|d}t          | ||d||          S )NreplaceT)line_bufferingr   r   )get_best_encoding_NonClosingTextIOWrapper)r	   r   r   r   r   s        L/var/www/html/python-test/venv/lib/python3.11/site-packages/click/_compat.py_make_text_streamr      sJ     $V,,~#%%       strc                `    	 t          j        |           j        dk    S # t          $ r Y dS w xY w)z$Checks if a given encoding is ascii.asciiF)codecslookupnameLookupError)r   s    r   is_ascii_encodingr"   +   sA    }X&&+w66   uus    
--t.IO[t.Any]c                p    t          | dd          pt          j                    }t          |          rdS |S )z1Returns the default stream encoding if not found.r   Nzutf-8)getattrsysgetdefaultencodingr"   )r	   rvs     r   r   r   3   s;    	T	*	*	Fc.D.F.FB wIr   c                  6     e Zd Z	 	 dd fdZddZddZ xZS )r   Fr	   r
   r   r   r   r   r   r   extrat.Anyr   Nonec                    t          j        t           j        t          |||                    x| _        } t                      j        |||fi | d S N)tcastBinaryIO_FixupStream_streamsuper__init__)selfr	   r   r   r   r   r*   	__class__s          r   r5   z!_NonClosingTextIOWrapper.__init__<   s]     !"JV^^LL!
 !
 	
v 	6;;U;;;;;r   c                R    	 |                                   d S # t          $ r Y d S w xY wr.   )detach	Exceptionr6   s    r   __del__z _NonClosingTextIOWrapper.__del__J   s:    	KKMMMMM 	 	 	DD	s    
&&c                4    | j                                         S r.   )r3   isattyr;   s    r   r>   z_NonClosingTextIOWrapper.isattyP   s    |""$$$r   FF)r	   r
   r   r   r   r   r   r   r   r   r*   r+   r   r,   )r   r,   r   r   )__name__
__module____qualname__r5   r<   r>   __classcell__)r7   s   @r   r   r   ;   sr          %$< < < < < < <   % % % % % % % %r   r   c                  H    e Zd ZdZ	 	 dddZddZddZddZddZddZ	dS )r2   aQ  The new io interface needs more from streams than streams
    traditionally implement.  As such, this fix-up code is necessary in
    some circumstances.

    The forcing of readable and writable flags are there because some tools
    put badly patched objects on sys (one such offender are certain version
    of jupyter notebook).
    Fr	   r
   r   r   r   c                0    || _         || _        || _        d S r.   )r3   _force_readable_force_writable)r6   r	   r   r   s       r   r5   z_FixupStream.__init___   s!     --r   r    r   r   r+   c                ,    t          | j        |          S r.   )r%   r3   r6   r    s     r   __getattr__z_FixupStream.__getattr__i   s    t|T***r   sizeintbytesc                    t          | j        dd           }|#t          j        t           ||                    S | j                            |          S )Nread1)r%   r3   r/   r0   rN   read)r6   rL   fs      r   rP   z_FixupStream.read1l   sJ    DL'400=6%4)))|  &&&r   c                    | j         rdS t          | j        dd           }|"t          j        t
           |                      S 	 | j                            d           n# t          $ r Y dS w xY wdS )NTreadabler   F)rG   r%   r3   r/   r0   r   rQ   r:   r6   xs     r   rT   z_FixupStream.readablet   s     	4DL*d33=6$$$$	La     	 	 	55	ts   A   
A.-A.c                @   | j         rdS t          | j        dd           }|"t          j        t
           |                      S 	 | j                            d           n># t          $ r1 	 | j                            d           n# t          $ r Y Y dS w xY wY nw xY wdS )NTwritabler   F)rH   r%   r3   r/   r0   r   writer:   rU   s     r   rX   z_FixupStream.writable   s     	4DL*d33=6$$$$	Ls#### 	 	 	""3''''   uuu ('	
 ts6   A   
B+BB
BBBBBc                   t          | j        dd           }|"t          j        t           |                      S 	 | j                            | j                                                   n# t          $ r Y dS w xY wdS )NseekableFT)r%   r3   r/   r0   r   seektellr:   rU   s     r   r[   z_FixupStream.seekable   s    DL*d33=6$$$$	Ldl//112222 	 	 	55	ts   1A. .
A<;A<Nr?   )r	   r
   r   r   r   r   r    r   r   r+   )rL   rM   r   rN   r@   )
rA   rB   rC   __doc__r5   rK   rP   rT   rX   r[    r   r   r2   r2   U   s           %$	. . . . .+ + + +' ' ' '
 
 
 
        r   r2   defaultc                x    	 t          |                     d          t                    S # t          $ r |cY S w xY wNr   )
isinstancerQ   rN   r:   r	   ra   s     r   _is_binary_readerrf      sE    &++a..%000   s   '* 99c                    	 |                      d           n;# t          $ r. 	 |                      d           Y dS # t          $ r Y nw xY w|cY S w xY wdS )Nr    FT)rY   r:   re   s     r   _is_binary_writerri      s    S   	LL55 	 	 	D	 4s*    
A;
AAAAAt.BinaryIO | Nonec                    t          | d          rt          j        t          j        |           S t	          | dd           }|/t          |d          rt          j        t          j        |          S d S NFbufferT)rf   r/   r0   r1   r%   r	   bufs     r   _find_binary_readerrp      j    
 '' *vaj&)))
&(D
)
)C ,S$77vaj#&&&4r   c                    t          | d          rt          j        t          j        |           S t	          | dd           }|/t          |d          rt          j        t          j        |          S d S rl   )ri   r/   r0   r1   r%   rn   s     r   _find_binary_writerrs      rq   r   c                B    t          t          | dd          pd          S )z3A stream is misconfigured if its encoding is ASCII.r   Nr   )r"   r%   r	   s    r   _stream_is_misconfiguredrv      s#     WVZ>>I'JJJr   attrvaluec                @    t          | |d          }||k    p|du o|duS )zA stream attribute is compatible if it is equal to the
    desired value or the desired value is unset and the attribute
    has a value.
    N)r%   )r	   rw   rx   stream_values       r   _is_compat_stream_attrr{      s3    
 64..L5 PUd]%O|47OPr   c                F    t          | d|          ot          | d|          S )zcCheck if a stream's encoding and errors attributes are
    compatible with the desired values.
    r   r   )r{   )r	   r   r   s      r   _is_compatible_text_streamr}      s1     "
H  ;
 6
:
:;r   text_stream	is_binary%t.Callable[[t.IO[t.Any], bool], bool]find_binary,t.Callable[[t.IO[t.Any]], t.BinaryIO | None]c                2    || d          r t          j        t           j        |           }nTt          j        t           j        |           } t	          | ||          r|t          |           s| S  ||           }|| S |}|d}t          |||||          S )NFr   )r   r   )r/   r0   r1   TextIOr}   rv   r   )	r~   r   r   r   r   r   r   binary_readerpossible_binary_readers	            r   _force_correct_text_streamr      s     ye$$ /qz;77fQX{33 &k8VDD 	!9+!F!F "-[!9!9 "). ~ %%   r   text_readerc                @    t          | ||t          t          |          S )Nr   )r   rf   rp   )r   r   r   r   s       r   _force_correct_text_readerr     -     &%   r   text_writerc                @    t          | ||t          t          |          S )Nr   )r   ri   rs   )r   r   r   r   s       r   _force_correct_text_writerr   /  r   r   c                 Z    t          t          j                  } | t          d          | S )Nz6Was not able to determine binary stream for sys.stdin.)rp   r&   stdinRuntimeError)readers    r   get_binary_stdinr   ?  s*     ++F~STTTMr   c                 Z    t          t          j                  } | t          d          | S )Nz7Was not able to determine binary stream for sys.stdout.)rs   r&   stdoutr   writers    r   get_binary_stdoutr   F  *     ,,F~TUUUMr   c                 Z    t          t          j                  } | t          d          | S )Nz7Was not able to determine binary stream for sys.stderr.)rs   r&   stderrr   r   s    r   get_binary_stderrr   M  r   r   c                z    t          t          j        | |          }||S t          t          j        | |d          S )NTr   )_get_windows_console_streamr&   r   r   r   r   r(   s      r   get_text_stdinr   T  s9    	$SY&	A	AB	~	%ci6RVWWWWr   c                z    t          t          j        | |          }||S t          t          j        | |d          S NTr   )r   r&   r   r   r   s      r   get_text_stdoutr   [  9    	$SZ6	B	BB	~	%cj(FSWXXXXr   c                z    t          t          j        | |          }||S t          t          j        | |d          S r   )r   r&   r   r   r   s      r   get_text_stderrr   b  r   r   filestr | os.PathLike[str] | intmodec                P    d|v rt          | |          S t          | |||          S )z?Handles not passing ``encoding`` and ``errors`` in binary mode.br   r   )open)r   r   r   r   s       r   _wrap_io_openr   i  s4     d{{D$dXf====r   rstrictfilenamestr | os.PathLike[str]atomictuple[t.IO[t.Any], bool]c                   dv }t          j        |           } t          j        |           dk    ret          fddD                       r%|rt	                      dfS t          ||          dfS |rt                      dfS t          ||          dfS |st          | ||          dfS dv rt          d	          d
v rt          d          dvrt          d          dd l
}dd l}	 t          j        |           j        }n# t          $ r d }Y nw xY wt           j        t           j        z  t           j        z  }	|r|	t%          t           dd          z  }		 t           j                            t           j                            |           d|                    d          d          }
	 t          j        |
|	|dn|          }n# t          $ r}|j
        |j        k    sht           j        dk    r]|j
        |j        k    rMt           j                            |j                  r)t          j        |j        t           j                  rY d }~ d }~ww xY w|t          j        |
|           t          |||          }tA          ||
t           j        !                    |                     }tE          j#        tD          j$        tD          j%                 |          dfS )Nr   -c              3      K   | ]}|v V  	d S r.   r`   ).0mr   s     r   	<genexpr>zopen_stream.<locals>.<genexpr>  s'      22QqDy222222r   )warV   Fr   Tr   zAppending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.rV   z&Use the `overwrite`-parameter instead.r   z,Atomic writes only make sense with `w`-mode.r   O_BINARYz.__atomic-writel        08xi  nt)&osfspathfsdecodeanyr   r   r   r   r   
ValueErrorerrnorandomstatst_modeOSErrorO_RDWRO_CREATO_EXCLr%   pathjoindirname	randranger   EEXISTr    EACCESisdirr   accessW_OKchmod_AtomicFilerealpathr/   r0   IOAny)r   r   r   r   r   binaryr   r   permflagstmp_filenamefderR   afs    `             r   open_streamr   v  s    D[Fy""H 
{8##2222/22222 	L 2(**E11"HVDDDeKK 	-#%%u,,x???FF  EXtXv>>DD d{{,
 
 	
 d{{ABBB
$GHHH LLLMMM78,,4    I
"RY.E ,Z+++w||GOOH%%=f..w77===
 
	ut|eeNNB 	 	 	w%,&&4Gu|++GMM!*-- ,Iaj"'22 , 	 
t$$$b$&11A	Qbg&6&6x&@&@	A	AB6!$qu+r""D((s1   /D	 	DD2G 
IA8IIIc                  X    e Zd ZddZedd	            ZdddZddZd dZd!dZ	ddZ
dS )"r   rR   r#   r   r   real_filenamer   r,   c                >    || _         || _        || _        d| _        d S NF)_f_tmp_filename_real_filenameclosed)r6   rR   r   r   s       r   r5   z_AtomicFile.__init__  s$    )+r   c                    | j         S r.   )r   r;   s    r   r    z_AtomicFile.name  s    ""r   Fdeleter   c                    | j         rd S | j                                         t          j        | j        | j                   d| _         d S )NT)r   r   closer   r   r   r   )r6   r   s     r   r   z_AtomicFile.close  sC    ; 	F

4%t':;;;r   r    r+   c                ,    t          | j        |          S r.   )r%   r   rJ   s     r   rK   z_AtomicFile.__getattr__  s    tw%%%r   c                    | S r.   r`   r;   s    r   	__enter__z_AtomicFile.__enter__  s    r   exc_typetype[BaseException] | None	exc_valueBaseException | NonetbTracebackType | Nonec                6    |                      |d u           d S )N)r   )r   )r6   r   r   r   s       r   __exit__z_AtomicFile.__exit__  s#     	

($.
/////r   c                *    t          | j                  S r.   )reprr   r;   s    r   __repr__z_AtomicFile.__repr__  s    DG}}r   N)rR   r#   r   r   r   r   r   r,   r   r   F)r   r   r   r,   r^   )r   r   )r   r   r   r   r   r   r   r,   )rA   rB   rC   r5   propertyr    r   rK   r   r   r   r`   r   r   r   r     s            # # # X#    & & & &   0 0 0 0     r   r   c                8    t                               d|           S )Nrh   )_ansi_resub)rx   s    r   
strip_ansir    s    <<E"""r   c                    t          | t          t          f          r#| j        } t          | t          t          f          #| j        j                            d          S )Nz
ipykernel.)rd   r2   r   r3   r7   rB   
startswithru   s    r   _is_jupyter_kernel_outputr    sW    
Vl,DE
F
F   Vl,DE
F
F   &11,???r   t.IO[t.Any] | Nonecolorbool | Nonec                    |A| t           j        } nt          | d          rdS t          |            ot	          |            S | S )Nr
  F)r&   r   hasattrr>   r  )r	   r
  s     r   should_strip_ansir    sX     }>YFFVW%% 	 5&>>!K*CF*K*K&KK9r      )r   c                 2    dd l } |                                 S rc   )localegetpreferredencoding)r  s    r   _get_argv_encodingr    s    **,,,r   c                 ^    t          t          j        dd           pt          j                    S )Nr   )r%   r&   r   getfilesystemencodingr`   r   r   r  r    s$    sy*d33Rs7P7R7RRr   rR   t.TextIO | Nonec                    d S r.   r`   )rR   r   r   s      r   r   r     s	     tr   rV   rM   c                :    t          t          |                     S r.   )lenr  )rV   s    r   term_lenr    s    z!}}r   c                N    	 |                                  S # t          $ r Y dS w xY wr   )r>   r:   ru   s    r   r>   r>     s7    }}   uus    
$$src_funct.Callable[[], t.TextIO | None]wrapper_funct.Callable[[], t.TextIO]c                8     t                      d fd}|S )Nr   r  c                                  } | d S 	                      |           }n# t          $ r d }Y nw xY w||S              }	 || <   n# t          $ r Y nw xY w|S r.   )getr:   )r	   r(   cacher  r  s     r   funcz&_make_cached_stream_func.<locals>.func)  s    >4	6""BB 	 	 	BBB	>I\^^	E&MM 	 	 	D		s   ' 66A 
AA)r   r  r   )r  r  r$  r#  s   `` @r   _make_cached_stream_funcr%  #  sB     6G5H5HE       & Kr   c                     t           j        S r.   )r&   r   r`   r   r   <lambda>r'  ?  s    sy r   c                     t           j        S r.   )r&   r   r`   r   r   r'  r'  @      
 r   c                     t           j        S r.   )r&   r   r`   r   r   r'  r'  A  r)  r   )r   r   r   z-cabc.Mapping[str, t.Callable[[], t.BinaryIO]]binary_streamszAcabc.Mapping[str, t.Callable[[str | None, str | None], t.TextIO]]text_streamsr?   )r	   r
   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r	   r#   r   r   r   )r	   r#   ra   r   r   r   )r	   r#   r   rj   )r	   r   r   r   )r	   r   rw   r   rx   r   r   r   )r	   r   r   r   r   r   r   r   )r~   r#   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r#   r   r   r   r   r   r   r   r   )
r   r#   r   r   r   r   r   r   r   r   )r   r
   )NN)r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r#   )r   Nr   F)r   r   r   r   r   r   r   r   r   r   r   r   )rx   r   r   r   )r	   r#   r   r   )r	   r	  r
  r  r   r   r   )rR   r   r   r   r   r   r   r  )rV   r   r   rM   )r  r  r  r  r   r  )>
__future__r   r   collections.abcabccabcior   rer&   typingr/   typesr   weakrefr   platformr  CYGWINWINcompiler  r   r"   r   TextIOWrapperr   r2   rf   ri   rp   rs   rv   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  _winconsoler   r  r  r>   r%  _default_text_stdin_default_text_stdout_default_text_stderrr+  __annotations__r,  r`   r   r   <module>r@     s   " " " " " " "        				 				 				 



           % % % % % %		 	 	*	*	le$$
 2:011 !     *      % % % % %r/ % % %4B B B B B B B BJ    
 
 
 
 
   $   $K K K KQ Q Q Q; ; ; ;" ! + + + + +d !	    ( !	              X X X X XY Y Y Y YY Y Y Y Y
> 
> 
> 
> !N) N) N) N) N)b! ! ! ! ! ! ! !H# # # #@ @ @ @ =A     <5!! c 888888- - - - -S S S S            8 /./@/@.QQ //0B0BOTT //0B0BOTT  A A     S S      r   