
    f jAd                       d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZ dd	lmZ dd
lmZ erd dlmZ d dlm Z m!Z!m"Z"m#Z# ne$xZ"xZ xZ!Z# G d deee                   Z%e	 	 	 	 	 	 d3d4d             Z&e	 	 	 	 	 	 	 d5d6d#            Z&	 	 	 	 	 	 	 d7d8d)Z&d9d,Z' ed-.           G d/ d0ed1                               Z( G d2 d1          Z) ej*        e)           dS ):    )annotationsN)AsyncIteratorCallableIterableIteratorSequence)	dataclass)partial)PathLike)IOTYPE_CHECKINGAnyAnyStrClassVarFinalGenericoverload   )	to_thread)AsyncResource)
ModuleType)OpenBinaryModeOpenTextModeReadableBufferWriteableBufferc                     e Zd ZdZd4dZd5d
Zed6d            Zd7dZd8dZ	d9d:dZ
d9d;dZd<dZd=dZd>dZd>dZed?d             Zed@d"            ZdAd$ZedBd'            ZedCd)            ZdDd+ZdEdFd.Zej        fdGd1ZdHd2Zd8d3Zd,S )I	AsyncFilea  
    An asynchronous file object.

    This class wraps a standard file object and provides async friendly versions of the
    following blocking methods (where available on the original file object):

    * read
    * read1
    * readline
    * readlines
    * readinto
    * readinto1
    * write
    * writelines
    * truncate
    * seek
    * tell
    * flush

    All other methods are directly passed through.

    This class supports the asynchronous context manager protocol which closes the
    underlying file at the end of the context block.

    This class also supports asynchronous iteration::

        async with await open_file(...) as f:
            async for line in f:
                print(line)
    fp
IO[AnyStr]returnNonec                    || _         d S N_fp)selfr   s     gC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\anyio/_core/_fileio.py__init__zAsyncFile.__init__F   s        namestrobjectc                ,    t          | j        |          S r#   )getattrr%   r&   r*   s     r'   __getattr__zAsyncFile.__getattr__I   s    tx&&&r)   c                    | j         S )zThe wrapped file object.r$   r&   s    r'   wrappedzAsyncFile.wrappedL   s     xr)   AsyncIterator[AnyStr]c               R   K   	 |                                   d {V }|r|W V  nd S %r#   )readline)r&   lines     r'   	__aiter__zAsyncFile.__aiter__Q   sI      	((((((D 




	r)   c                N   K   t          j        | j        j                   d {V S r#   )r   run_syncr%   closer2   s    r'   aclosezAsyncFile.acloseY   -      '777777777r)   sizeintr   c                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   readr&   r?   s     r'   rB   zAsyncFile.read\   s/      't<<<<<<<<<r)   r&   AsyncFile[bytes]bytesc                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   read1rC   s     r'   rG   zAsyncFile.read1_   s/      '=========r)   c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r%   r6   r2   s    r'   r6   zAsyncFile.readlineb   s.      '(9:::::::::r)   list[AnyStr]c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r%   	readlinesr2   s    r'   rK   zAsyncFile.readlinese   s.      '(:;;;;;;;;;r)   br   c                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   readintor&   rL   s     r'   rN   zAsyncFile.readintoh   s0      '(91=========r)   c                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   	readinto1rO   s     r'   rQ   zAsyncFile.readinto1k   s0      '(:A>>>>>>>>>r)   r   c                
   K   d S r#    rO   s     r'   writezAsyncFile.writen   s      GJsr)   AsyncFile[str]c                
   K   d S r#   rS   rO   s     r'   rT   zAsyncFile.writeq   s      :=#r)   ReadableBuffer | strc                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   rT   rO   s     r'   rT   zAsyncFile.writet   s/      ':::::::::r)   linesIterable[ReadableBuffer]c                
   K   d S r#   rS   r&   rY   s     r'   
writelineszAsyncFile.writelinesw   s       sr)   Iterable[str]c                
   K   d S r#   rS   r\   s     r'   r]   zAsyncFile.writelines|   s      NQcr)   (Iterable[ReadableBuffer] | Iterable[str]c                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   r]   r\   s     r'   r]   zAsyncFile.writelines   s0      '(;UCCCCCCCCCr)   N
int | Nonec                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r%   truncaterC   s     r'   rd   zAsyncFile.truncate   s0      '(94@@@@@@@@@r)   offsetwhencec                R   K   t          j        | j        j        ||           d {V S r#   )r   r:   r%   seek)r&   re   rf   s      r'   rh   zAsyncFile.seek   s1      'vvFFFFFFFFFr)   c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r%   tellr2   s    r'   rj   zAsyncFile.tell   s-      '666666666r)   c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r%   flushr2   s    r'   rl   zAsyncFile.flush   r=   r)   )r   r   r    r!   )r*   r+   r    r,   )r    r   )r    r4   r    r!   )r>   )r?   r@   r    r   )r&   rD   r?   r@   r    rE   )r    r   )r    rI   )r&   rD   rL   r   r    r@   )r&   rD   rL   r   r    r@   )r&   rU   rL   r+   r    r@   )rL   rW   r    r@   )r&   rD   rY   rZ   r    r!   )r&   rU   rY   r^   r    r!   )rY   r`   r    r!   r#   )r?   rb   r    r@   )re   r@   rf   rb   r    r@   r    r@   )__name__
__module____qualname____doc__r(   r0   propertyr3   r8   r<   rB   rG   r6   rK   rN   rQ   r   rT   r]   rd   osSEEK_SETrh   rj   rl   rS   r)   r'   r   r   &   s        >   ' ' ' '    X   8 8 8 8= = = = => > > > >; ; ; ;< < < <> > > >? ? ? ? JJJ XJ=== X=; ; ; ;    X QQQ XQD D D DA A A A A <>; G G G G G7 7 7 78 8 8 8 8 8r)   r   .filestr | PathLike[str] | intmoder   	bufferingr@   encoding
str | Noneerrorsnewlineclosefdboolopener Callable[[str, int], int] | Noner    rD   c                
   K   d S r#   rS   rv   rx   ry   rz   r|   r}   r~   r   s           r'   	open_filer      s       sr)   r   rU   c                
   K   d S r#   rS   r   s           r'   r   r      s       Sr)   rr>   Tr+   AsyncFile[Any]c                r   K   t          j        t          | |||||||	  	         d{V }t          |          S )z
    Open a file asynchronously.

    The arguments are exactly the same as for the builtin :func:`open`.

    :return: an asynchronous file object

    N)r   r:   openr   )	rv   rx   ry   rz   r|   r}   r~   r   r   s	            r'   r   r      sY      $ !dD)Xvw  
 
 
 
 
 
B R==r)   r   AsyncFile[AnyStr]c                     t          |           S )z
    Wrap an existing file as an asynchronous file.

    :param file: an existing file-like object
    :return: an asynchronous file object

    )r   )rv   s    r'   	wrap_filer      s     T??r)   F)eqc                  "    e Zd ZU ded<   ddZdS )_PathIteratorzIterator[PathLike[str]]iteratorr    Pathc                   K   t          j        t          | j        d d           d {V }|t          d t          |          S NTabandon_on_cancel)r   r:   nextr   StopAsyncIterationr   )r&   nextvals     r'   	__anext__z_PathIterator.__anext__   sd      !*$-
 
 
 
 
 
 
 
 
  	/$$.G}}r)   Nr    r   )ro   rp   rq   __annotations__r   rS   r)   r'   r   r      s6         %%%%     r)   r   r   c                     e Zd ZU dZdZded<   dd	ZddZej	        dk    rddZ
ddZddZddZddZddZddZddZddZddZddZddZedd             Zedd!            Zedd"            Zedd#            Zedd%            Zedd&            Zedd'            Zedd(            Zedd*            Zedd+            Z dd,Z!dd-Z"dd.Z#ej	        d/k    r,e$j%        j&        Z&d0ed1<   e'dd3            Z(d4d5dd9Z)d4d5dd:Z*ndd;Z*ej	        d<k    r$edd=            Z+d>d?d@ddEZ,d>d?d@ddGZ-ddHZ.ddIZ/ddJZ0d>dKddMZ1e'ddN            Z2ddOZ3ddPZ4ej	        dQk     rddTZ5n0dQej	        cxk    rd/k     rn nd4d5ddUZ5nej	        d/k    rd4d?dVddXZ5ddYZ6dd[Z7e'dd\            Z8dd]Z9dd^Z:dd_Z;dd`Z<ddaZ=ddbZ>ej	        dQk    rddcZ?dddZ@ej	        dk     rddeZAddfZBddgZCddhZDddiZEddjZFddlZG	 dddpZHeI	 	 	 	 dddy            ZJeI	 	 	 	 	 ddd|            ZJ	 	 	 	 	 dddZJddZKddZL	 dddZMej	        dQk    rd?dddZNnddZNddZOddZPddZQdddZRej	        dQk     rddZSn0dQej	        cxk    rd/k     rn nd4d5ddZSnej	        d/k    rd4d?dVddZSddZTddZUd>dKddZV	 dddZWdddZXdddZYej	        dQk    r	 	 	 dddZZddZ[ddZ\ddZ]ddZ^ddZ_	 	 	 dddZ`d4S )r   a  
    An asynchronous version of :class:`pathlib.Path`.

    This class cannot be substituted for :class:`pathlib.Path` or
    :class:`pathlib.PurePath`, but it is compatible with the :class:`os.PathLike`
    interface.

    It implements the Python 3.10 version of :class:`pathlib.Path` interface, except for
    the deprecated :meth:`~pathlib.Path.link_to` method.

    Some methods may be unavailable or have limited functionality, based on the Python
    version:

    * :meth:`~pathlib.Path.copy` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.copy_into` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.from_uri` (available on Python 3.13 or later)
    * :meth:`~pathlib.PurePath.full_match` (available on Python 3.13 or later)
    * :attr:`~pathlib.Path.info` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.is_junction` (available on Python 3.12 or later)
    * :meth:`~pathlib.PurePath.match` (the ``case_sensitive`` parameter is only
      available on Python 3.13 or later)
    * :meth:`~pathlib.Path.move` (available on Python 3.14 or later)
    * :meth:`~pathlib.Path.move_into` (available on Python 3.14 or later)
    * :meth:`~pathlib.PurePath.relative_to` (the ``walk_up`` parameter is only available
      on Python 3.12 or later)
    * :meth:`~pathlib.Path.walk` (available on Python 3.12 or later)

    Any methods that do disk I/O need to be awaited on. These methods are:

    * :meth:`~pathlib.Path.absolute`
    * :meth:`~pathlib.Path.chmod`
    * :meth:`~pathlib.Path.cwd`
    * :meth:`~pathlib.Path.exists`
    * :meth:`~pathlib.Path.expanduser`
    * :meth:`~pathlib.Path.group`
    * :meth:`~pathlib.Path.hardlink_to`
    * :meth:`~pathlib.Path.home`
    * :meth:`~pathlib.Path.is_block_device`
    * :meth:`~pathlib.Path.is_char_device`
    * :meth:`~pathlib.Path.is_dir`
    * :meth:`~pathlib.Path.is_fifo`
    * :meth:`~pathlib.Path.is_file`
    * :meth:`~pathlib.Path.is_junction`
    * :meth:`~pathlib.Path.is_mount`
    * :meth:`~pathlib.Path.is_socket`
    * :meth:`~pathlib.Path.is_symlink`
    * :meth:`~pathlib.Path.lchmod`
    * :meth:`~pathlib.Path.lstat`
    * :meth:`~pathlib.Path.mkdir`
    * :meth:`~pathlib.Path.open`
    * :meth:`~pathlib.Path.owner`
    * :meth:`~pathlib.Path.read_bytes`
    * :meth:`~pathlib.Path.read_text`
    * :meth:`~pathlib.Path.readlink`
    * :meth:`~pathlib.Path.rename`
    * :meth:`~pathlib.Path.replace`
    * :meth:`~pathlib.Path.resolve`
    * :meth:`~pathlib.Path.rmdir`
    * :meth:`~pathlib.Path.samefile`
    * :meth:`~pathlib.Path.stat`
    * :meth:`~pathlib.Path.symlink_to`
    * :meth:`~pathlib.Path.touch`
    * :meth:`~pathlib.Path.unlink`
    * :meth:`~pathlib.Path.walk`
    * :meth:`~pathlib.Path.write_bytes`
    * :meth:`~pathlib.Path.write_text`

    Additionally, the following methods return an async iterator yielding
    :class:`~.Path` objects:

    * :meth:`~pathlib.Path.glob`
    * :meth:`~pathlib.Path.iterdir`
    * :meth:`~pathlib.Path.rglob`
    )_path__weakref__r   r   argsstr | PathLike[str]r    r!   c                ,    t          j        | | _        d S r#   )pathlibr   r   r&   r   s     r'   r(   zPath.__init__*  s    *1,*=


r)   r+   c                4    | j                                         S r#   )r   
__fspath__r2   s    r'   r   zPath.__fspath__-  s    z$$&&&r)   )      c                4    | j                                         S r#   )r   __vfspath__r2   s    r'   r   zPath.__vfspath__2      :))+++r)   c                4    | j                                         S r#   )r   __str__r2   s    r'   r   zPath.__str__5  s    z!!###r)   c                J    | j         j         d|                                 dS )N())	__class__ro   as_posixr2   s    r'   __repr__zPath.__repr__8  s&    .)@@DMMOO@@@@r)   rE   c                4    | j                                         S r#   )r   	__bytes__r2   s    r'   r   zPath.__bytes__;  s    z##%%%r)   r@   c                4    | j                                         S r#   )r   __hash__r2   s    r'   r   zPath.__hash__>      z""$$$r)   otherr,   r   c                r    t          |t                    r|j        n|}| j                            |          S r#   )
isinstancer   r   __eq__r&   r   targets      r'   r   zPath.__eq__A  2     *5$ 7 7BUz  (((r)   pathlib.PurePath | Pathc                r    t          |t                    r|j        n|}| j                            |          S r#   )r   r   r   __lt__r   s      r'   r   zPath.__lt__E  r   r)   c                r    t          |t                    r|j        n|}| j                            |          S r#   )r   r   r   __le__r   s      r'   r   zPath.__le__I  r   r)   c                r    t          |t                    r|j        n|}| j                            |          S r#   )r   r   r   __gt__r   s      r'   r   zPath.__gt__M  r   r)   c                r    t          |t                    r|j        n|}| j                            |          S r#   )r   r   r   __ge__r   s      r'   r   zPath.__ge__Q  r   r)   c                0    t          | j        |z            S r#   )r   r   r&   r   s     r'   __truediv__zPath.__truediv__U  s    DJ&'''r)   c                &    t          |          | z  S r#   r   r   s     r'   __rtruediv__zPath.__rtruediv__X  s    E{{T!!r)   tuple[str, ...]c                    | j         j        S r#   )r   partsr2   s    r'   r   z
Path.parts[      zr)   c                    | j         j        S r#   )r   driver2   s    r'   r   z
Path.drive_  r   r)   c                    | j         j        S r#   )r   rootr2   s    r'   r   z	Path.rootc      zr)   c                    | j         j        S r#   )r   anchorr2   s    r'   r   zPath.anchorg      z  r)   Sequence[Path]c                H    t          d | j        j        D                       S )Nc              3  4   K   | ]}t          |          V  d S r#   r   ).0ps     r'   	<genexpr>zPath.parents.<locals>.<genexpr>m  s(      99T!WW999999r)   )tupler   parentsr2   s    r'   r   zPath.parentsk  s$    99dj&8999999r)   c                4    t          | j        j                  S r#   )r   r   parentr2   s    r'   r   zPath.parento  s    DJ%&&&r)   c                    | j         j        S r#   )r   r*   r2   s    r'   r*   z	Path.names  r   r)   c                    | j         j        S r#   )r   suffixr2   s    r'   r   zPath.suffixw  r   r)   	list[str]c                    | j         j        S r#   )r   suffixesr2   s    r'   r   zPath.suffixes{  s    z""r)   c                    | j         j        S r#   )r   stemr2   s    r'   r   z	Path.stem  r   r)   c                l   K   t          j        | j        j                   d {V }t	          |          S r#   )r   r:   r   absoluter   )r&   paths     r'   r   zPath.absolute  s9      '
(;<<<<<<<<Dzzr)   c                4    | j                                         S r#   )r   r   r2   s    r'   r   zPath.as_posix  r   r)   c                4    | j                                         S r#   )r   as_urir2   s    r'   r   zPath.as_uri  s    z  """r)   r      zClassVar[ModuleType]parseruric                Z    t          t          j                             |                    S r#   )r   r   from_uri)clsr   s     r'   r   zPath.from_uri  s     --c22333r)   Ncase_sensitivepath_patternr   bool | Nonec               :    | j                             ||          S Nr   )r   
full_matchr&   r   r   s      r'   r   zPath.full_match  s     :((n(UUUr)   c               :    | j                             ||          S r   r   matchr   s      r'   r  z
Path.match  s     :##L#PPPr)   c                6    | j                             |          S r#   r  )r&   r   s     r'   r  z
Path.match  s    :##L111r)   )r      c                    | j         j        S r#   )r   infor2   s    r'   r  z	Path.info  s    :?"r)   TFfollow_symlinkspreserve_metadatar   str | os.PathLike[str]r	  r
  c                  K   t          | j        j        ||          }t          t	          j        |t          j        |                     d {V           S Nr  )r
   r   copyr   r   r:   r   )r&   r   r	  r
  funcs        r'   r  z	Path.copy  sb       
 /"3  D
 i0w|F7K7KLLLLLLLLMMMr)   
target_dirc                  K   t          | j        j        ||          }t          t	          j        |t          j        |                     d {V           S r  )r
   r   	copy_intor   r   r:   r   )r&   r  r	  r
  r  s        r'   r  zPath.copy_into  sc       
$ /"3  D
 i0w|J7O7OPPPPPPPPQQQr)   c                   K   t          j        |          }t          t          j        | j        j        |           d {V           S r#   )r   r   r   r:   r   mover&   r   s     r'   r  z	Path.move  sF      \&))Fi0&IIIIIIIIJJJr)   c                j   K   t          t          j        | j        j        |           d {V           S r#   )r   r   r:   r   	move_into)r&   r  s     r'   r  zPath.move_into  s:       i01EzRRRRRRRRSSSr)   c                T    	 |                      |           dS # t          $ r Y dS w xY w)NTF)relative_to
ValueErrorr   s     r'   is_relative_tozPath.is_relative_to  sB    	U###4 	 	 	55	s    
''r	  rx   c               ~   K   t          t          j        |          }t          j        || j        |           d {V S )Nr  )r
   rt   chmodr   r:   r   )r&   rx   r	  r  s       r'   r  z
Path.chmod  sC      rxAAA'dj$?????????r)   c                n   K   t          j        t          j        j                   d {V } | |          S r#   )r   r:   r   r   cwd)r   r   s     r'   r   zPath.cwd  s;      '(899999999s4yyr)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   existsr2   s    r'   r"  zPath.exists  3      '
(9TRRRRRRRRRRr)   c                l   K   t          t          j        | j        j        d           d {V           S r   )r   r   r:   r   
expanduserr2   s    r'   r%  zPath.expanduser  sB      $TZ%:dSSSSSSSSS
 
 	
r)   )r      patternAsyncIterator[Path]c                T    | j                             |          }t          |          S r#   r   globr   r&   r'  gens      r'   r+  z	Path.glob  s#    *//'**C %%%r)   c               X    | j                             ||          }t          |          S r   r*  r&   r'  r   r-  s       r'   r+  z	Path.glob  s)     *//'./IIC %%%r)   r   recurse_symlinksr1  c               Z    | j                             |||          }t          |          S Nr0  r*  r&   r'  r   r1  r-  s        r'   r+  z	Path.glob  s7     *//-!1 "  C
 !%%%r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   groupr2   s    r'   r6  z
Path.group	  3      '
(8DQQQQQQQQQQr)   -str | bytes | PathLike[str] | PathLike[bytes]c                   K   t          |t                    r|j        }t          j        t
          j        ||            d {V  d S r#   )r   r   r   r   r:   rt   linkr  s     r'   hardlink_tozPath.hardlink_to  sP       fd## 	"\F &$77777777777r)   c                n   K   t          j        t          j        j                   d {V } | |          S r#   )r   r:   r   r   home)r   	home_paths     r'   r=  z	Path.home  s;      #,W\->????????	s9~~r)   c                4    | j                                         S r#   )r   is_absoluter2   s    r'   r@  zPath.is_absolute  s    z%%'''r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   is_block_devicer2   s    r'   rB  zPath.is_block_device  sH      'J&$
 
 
 
 
 
 
 
 
 	
r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   is_char_devicer2   s    r'   rD  zPath.is_char_device!  sH      'J%
 
 
 
 
 
 
 
 
 	
r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   is_dirr2   s    r'   rF  zPath.is_dir&  r#  r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   is_fifor2   s    r'   rH  zPath.is_fifo)  3      '
(:dSSSSSSSSSSr)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   is_filer2   s    r'   rK  zPath.is_file,  rI  r)   c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r   is_junctionr2   s    r'   rM  zPath.is_junction1  s.      "+DJ,BCCCCCCCCCr)   c                h   K   t          j        t          j        j        | j        d           d {V S r   )r   r:   rt   r   ismountr   r2   s    r'   is_mountzPath.is_mount4  sK      'GOTZ4
 
 
 
 
 
 
 
 
 	
r)   c                4    | j                                         S r#   )r   is_reservedr2   s    r'   rR  zPath.is_reserved;  r   r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   	is_socketr2   s    r'   rT  zPath.is_socket>  s4      '
(<PTUUUUUUUUUUr)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   
is_symlinkr2   s    r'   rV  zPath.is_symlinkA  s4      '
(=QUVVVVVVVVVVr)   c                  K   t           j        dk     r| j                                        n%t	          j        | j        j        d           d {V }t          |          2 3 d {V }|W V  6 d S )Nr   Tr   )sysversion_infor   iterdirr   r:   r   )r&   r-  r   s      r'   rZ  zPath.iterdirD  s       ')VDJ    )$**<PTUUUUUUUUU 	
 (,, 	 	 	 	 	 	 	$JJJJJ -,,s   !A.c                :    t           | j        j        |           S r#   )r   r   joinpathr   s     r'   r\  zPath.joinpathM  s    'DJ'.///r)   c                T   K   t          j        | j        j        |           d {V  d S r#   )r   r:   r   lchmod)r&   rx   s     r'   r^  zPath.lchmodP  s6       !2D99999999999r)   os.stat_resultc                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   lstatr2   s    r'   ra  z
Path.lstatS  r7  r)     r   exist_okc                X   K   t          j        | j        j        |||           d {V  d S r#   )r   r:   r   mkdir)r&   rx   r   rc  s       r'   re  z
Path.mkdirV  s<        !14(KKKKKKKKKKKr)   .r   ry   rz   r{   r|   r}   rD   c                
   K   d S r#   rS   r&   rx   ry   rz   r|   r}   s         r'   r   z	Path.open[  s       3r)   r   rU   c                
   K   d S r#   rS   rg  s         r'   r   z	Path.opene  s       r)   r   r>   r   c                v   K   t          j        | j        j        |||||           d {V }t	          |          S r#   )r   r:   r   r   r   )r&   rx   ry   rz   r|   r}   r   s          r'   r   z	Path.openo  sW       %JOT9h
 
 
 
 
 
 
 
 }}r)   c                R   K   t          j        | j        j        d           d {V S r   )r   r:   r   ownerr2   s    r'   rk  z
Path.owner|  r7  r)   c                N   K   t          j        | j        j                   d {V S r#   )r   r:   r   
read_bytesr2   s    r'   rm  zPath.read_bytes  s.      '
(=>>>>>>>>>r)   c                R   K   t          j        | j        j        ||           d {V S r#   )r   r:   r   	read_text)r&   rz   r|   s      r'   ro  zPath.read_text  s4       '
(<hOOOOOOOOOr)   )walk_uprp  c               X    d |D             }t           | j        j        |d|i          S )Nc                6    g | ]}t          j        |          S rS   )r   r   )r   r   s     r'   
<listcomp>z$Path.relative_to.<locals>.<listcomp>  s"    ===egl5))===r)   rp  r   r   r  )r&   rp  r   otherss       r'   r  zPath.relative_to  s:     >=u===F.
.HHHIIIr)   c                :    t           | j        j        |           S r#   rt  r   s     r'   r  zPath.relative_to  s    .
.6777r)   c                x   K   t          j        t          j        | j                   d {V }t          |          S r#   )r   r:   rt   readlinkr   r   r  s     r'   rx  zPath.readlink  s:       )"+tzBBBBBBBBF||r)   str | pathlib.PurePath | Pathc                   K   t          |t                    r|j        }t          j        | j        j        |           d {V  t          |          S r#   )r   r   r   r   r:   renamer  s     r'   r{  zPath.rename  sU      fd## 	"\F !2F;;;;;;;;;F||r)   c                   K   t          |t                    r|j        }t          j        | j        j        |           d {V  t          |          S r#   )r   r   r   r   r:   replacer  s     r'   r}  zPath.replace  sU      fd## 	"\F !3V<<<<<<<<<F||r)   strictc                   K   t          | j        j        |          }t          t	          j        |d           d {V           S )N)r~  Tr   )r
   r   resolver   r   r:   )r&   r~  r  s      r'   r  zPath.resolve  sM      tz)&999),TTJJJJJJJJJKKKr)   c                T    | j                             |          }t          |          S r#   r   rglobr   r,  s      r'   r  z
Path.rglob  s%    *""7++C %%%r)   c               X    | j                             ||          }t          |          S r   r  r/  s       r'   r  z
Path.rglob  s,     *""7>"JJC %%%r)   c               Z    | j                             |||          }t          |          S r3  r  r4  s        r'   r  z
Path.rglob  s9     *""-!1 #  C
 !%%%r)   c                R   K   t          j        | j        j                   d {V  d S r#   )r   r:   r   rmdirr2   s    r'   r  z
Path.rmdir  s4       !122222222222r)   
other_pathc                   K   t          |t                    r|j        }t          j        | j        j        |d           d {V S r   )r   r   r   r   r:   samefile)r&   r  s     r'   r  zPath.samefile  sd      j$'' 	*#)J'Jt
 
 
 
 
 
 
 
 
 	
r)   c                  K   t          t          j        |          }t          j        || j        d           d {V S )Nr  Tr   )r
   rt   statr   r:   r   )r&   r	  r  s      r'   r  z	Path.stat  sF      rw@@@'djDQQQQQQQQQQr)   target_is_directoryc                   K   t          |t                    r|j        }t          j        | j        j        ||           d {V  d S r#   )r   r   r   r   r:   
symlink_to)r&   r   r  s      r'   r  zPath.symlink_to  sT      
 fd## 	"\F !6@STTTTTTTTTTTr)     c                V   K   t          j        | j        j        ||           d {V  d S r#   )r   r:   r   touch)r&   rx   rc  s      r'   r  z
Path.touch  s8       !14BBBBBBBBBBBr)   
missing_okc                |   K   	 t          j        | j        j                   d {V  d S # t          $ r |s Y d S w xY wr#   )r   r:   r   unlinkFileNotFoundError)r&   r  s     r'   r  zPath.unlink  sn      	$TZ%677777777777  	 	 	   	s   $* ;;top_downon_error"Callable[[OSError], object] | None0AsyncIterator[tuple[Path, list[str], list[str]]]c                  	K   d	fd}| j                             |||          		 t          j        |           d {V }|d S |\  }}}t	          |          ||fW V  :)Nr    0tuple[pathlib.Path, list[str], list[str]] | Nonec                 F    	 t                     S # t          $ r Y d S w xY wr#   )r   StopIteration)r-  s   r'   get_next_valuez!Path.walk.<locals>.get_next_value  s6     99$$      44 s    
  T)r    r  )r   walkr   r:   r   )
r&   r  r  r	  r  valuer   dirspathsr-  s
            @r'   r  z	Path.walk  s                  *//(HoFFC.'0@@@@@@@@ F$)!dE4jj$-----.r)   r*   c                P    t          | j                            |                    S r#   )r   r   	with_namer/   s     r'   r  zPath.with_name  s     DJ((..///r)   r   c                j    t          | j                            || j        j        z                       S r#   )r   r   r  r   )r&   r   s     r'   	with_stemzPath.with_stem  s*    DJ((
0A)ABBCCCr)   r   c                P    t          | j                            |                    S r#   )r   r   with_suffix)r&   r   s     r'   r  zPath.with_suffix
  s     DJ**622333r)   pathsegmentsc                    t          | S r#   r   )r&   r  s     r'   with_segmentszPath.with_segments  s    \""r)   datac                P   K   t          j        | j        j        |           d {V S r#   )r   r:   r   write_bytes)r&   r  s     r'   r  zPath.write_bytes  s0      '
(>EEEEEEEEEr)   c                V   K   t          j        | j        j        ||||           d {V S r#   )r   r:   r   
write_text)r&   r  rz   r|   r}   s        r'   r  zPath.write_text  sK       'J!467
 
 
 
 
 
 
 
 	
r)   )r   r   r    r!   )r    r+   )r    rE   rn   )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   r    r   )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   r   r    r(  )r'  r   r   r   r1  r   r    r(  )r   r8  r    r!   )r    r(  )r   r   r    r   )rx   r@   r    r!   )r    r_  )rb  FF)rx   r@   r   r   rc  r   r    r!   )....)rx   r   ry   r@   rz   r{   r|   r{   r}   r{   r    rD   ).....)rx   r   ry   r@   rz   r{   r|   r{   r}   r{   r    rU   )r   r>   NNN)rx   r+   ry   r@   rz   r{   r|   r{   r}   r{   r    r   )NN)rz   r{   r|   r{   r    r+   )r   r   rp  r   r    r   )r   ry  r    r   )F)r~  r   r    r   rm   )r  r   r    r   )r	  r   r    r_  )r   r8  r  r   r    r!   )r  T)rx   r@   rc  r   r    r!   )r  r   r    r!   )TNF)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  rE   r    r@   )NNN)
r  r+   rz   r{   r|   r{   r}   r{   r    r@   )aro   rp   rq   rr   	__slots__r   r(   r   rX  rY  r   r   r   r   r   r   r   r   r   r   r   r   rs   r   r   r   r   r   r   r*   r   r   r   r   r   r   r   r   r   classmethodr   r   r  r  r  r  r  r  r  r  r   r"  r%  r+  r6  r;  r=  r@  rB  rD  rF  rH  rK  rM  rP  rR  rT  rV  rZ  r\  r^  ra  re  r   r   rk  rm  ro  r  rx  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rS   r)   r'   r   r      sH        I IV 'I> > > >' ' ' ' 7" ,	, 	, 	, 	,$ $ $ $A A A A& & & &% % % %) ) ) )) ) ) )) ) ) )) ) ) )) ) ) )( ( ( (" " " "       X        X     X ! ! ! X! : : : X: ' ' ' X'    X ! ! ! X! # # # X#    X   % % % %# # # # 7" 2'.|':::::		4 	4 	4 
	4 GK	V 	V 	V 	V 	V 	V GK	Q 	Q 	Q 	Q 	Q 	Q 	Q	2 	2 	2 	2 7" +T		# 	# 	# 
	# %)&+	N 	N 	N 	N 	N 	N$ %)&+	R 	R 	R 	R 	R 	R	K 	K 	K 	K
	T 	T 	T 	T    AE @ @ @ @ @ @    [S S S S
 
 
 

 '!  &	& 	& 	& 	& 	& 
C$ & & & &w & & & & & +/		& 	& 	& 	& 	& 	& 	& 
	W	$ & +/%*	& 	& 	& 	& 	& 	&R R R R8 8 8 8    [( ( ( (
 
 
 


 
 
 

S S S ST T T TT T T T 7" D	D 	D 	D 	D
 
 
 

 '! ,	, 	, 	, 	,V V V VW W W W   0 0 0 0: : : :R R R R JOL L L L L
  " !    X  !" !    X #!"    R R R R? ? ? ? AEP P P P P
 7" 8 @E	J 	J 	J 	J 	J 	J 	J	8 	8 	8 	8         L L L L L '! &	& 	& 	& 	& 	& 
C$ & & & &w & & & & & BF	& 	& 	& 	& 	& 	& 	&
 
	W	$ & +/%*	& 	& 	& 	& 	& 	&3 3 3 3
 
 
 
 59 R R R R R R %*U U U U UC C C C C     7" . ";?$)		. 	. 	. 	. 	.*0 0 0 0D D D D4 4 4 4# # # #F F F F  $!"	
 	
 	
 	
 	
 	
 	
r)   )......)rv   rw   rx   r   ry   r@   rz   r{   r|   r{   r}   r{   r~   r   r   r   r    rD   ).......)rv   rw   rx   r   ry   r@   rz   r{   r|   r{   r}   r{   r~   r   r   r   r    rU   )r   r>   NNNTN)rv   rw   rx   r+   ry   r@   rz   r{   r|   r{   r}   r{   r~   r   r   r   r    r   )rv   r   r    r   )+
__future__r   rt   r   rX  collections.abcr   r   r   r   r   dataclassesr	   	functoolsr
   r   typingr   r   r   r   r   r   r   r    r   abcr   typesr   	_typeshedr   r   r   r   r,   r   r   r   r   r   registerrS   r)   r'   <module>r     s   " " " " " " 				  



              " ! ! ! ! !            	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	             N      WWWWWWWWWWWWWGMMNM^Ml_f8 f8 f8 f8 f8wv f8 f8 f8R 
 /2	 	 	 	 
	 
 /2	 	 	 	 
	 /3    0    e
 
 
 
 
M&) 
 
 
B	
 B	
 B	
 B	
 B	
 B	
 B	
 B	
J  $     r)   