
    #)f;                       U d dl mZ d dl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mZmZmZ d dlZddlmZ ddlmZ erd dlmZmZmZmZmZmZ d d	lmZ h d
Zde d<   h dZ!de d<    ed      Z" edd      Z# ed      Z$ edd      Z% edd      Z& ede'e(d      Z) ede'e(d      Z*erd dlm+Z+m,Z,  G d de,      Z- G d de,      Z. G d de,      Z/ G d  d!e,      Z0 G d" d#e,      Z1 G d$ d%e,e%         Z2 G d& d'e,      Z3 G d( d)e,      Z4 G d* d+e,      Z5 G d, d-e,      Z6 G d. d/e,      Z7 G d0 d1e,      Z8 G d2 d3e,      Z9 G d4 d5e,      Z: G d6 d7e,      Z; G d8 d9e,e)         Z< G d: d;e,      Z= G d< d=e,      Z> G d> d?e,e)         Z? G d@ dAe,      Z@ G dB dCe,e)         ZA G dD dEe,      ZB G dF dGe,      ZC G dH dIe,e)         ZD G dJ dKe,e	         ZE G dL dMe,      ZF G dN dOe,      ZG G dP dQe,      ZH G dR dSe,e&         ZI G dT dUe,e&         ZJ G dV dWe,e)         ZK G dX dYe,e%         ZL G dZ d[e,      ZM G d\ d]eee#         ZNed^eOf   ZPee'eOgeOf   ZQe	 	 	 	 	 	 	 dh	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 did_       ZRe	 	 	 	 	 dj	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dkd`       ZRe	 	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dmda       ZRe	 	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dndb       ZRe	 	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dodc       ZRe	 	 	 	 	 dj	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dpdd       ZRe	 	 	 	 	 	 dl	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dqde       ZR	 	 	 	 	 	 	 dh	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 drdfZRdsdgZSy)t    )annotationsN)partial)IOTYPE_CHECKINGAnyAnyStrBinaryIOCallableGenericIterableTypeVarUnionoverload   )async_wraps)AsyncResource)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextModeStrOrBytesPath)Literal>   rawmodenamebufferclosederrorsfilenoisattyclosefdencodinggetvaluenewlinesreadableseekablewritable	getbufferline_bufferingzset[str]_FILE_SYNC_ATTRS>   peekreadseektellflushread1writereadallreadintoreadlinetruncate	readinto1	readlines
writelines_FILE_ASYNC_METHODSFileTFileT_coT)	covariantTT_coT_contra)contravariant	AnyStr_coAnyStr_contra)BufferProtocolc                      e Zd Zedd       Zy)
_HasClosedc                     y N selfs    J/var/www/html/flask-app/venv/lib/python3.12/site-packages/trio/_file_io.pyr   z_HasClosed.closedh   s    "%    Nreturnbool)__name__
__module____qualname__propertyr   rJ   rN   rM   rG   rG   g   s    	% 
%rN   rG   c                      e Zd Zedd       Zy)_HasEncodingc                     y rI   rJ   rK   s    rM   r#   z_HasEncoding.encodingl       #&rN   NrP   str)rR   rS   rT   rU   r#   rJ   rN   rM   rW   rW   k       	& 
&rN   rW   c                      e Zd Zedd       Zy)
_HasErrorsc                     y rI   rJ   rK   s    rM   r   z_HasErrors.errorsp   s    (+rN   N)rP   
str | None)rR   rS   rT   rU   r   rJ   rN   rM   r^   r^   o   s    	+ 
+rN   r^   c                      e Zd ZddZy)
_HasFileNoc                     y rI   rJ   rK   s    rM   r    z_HasFileNo.filenot       rN   NrP   int)rR   rS   rT   r    rJ   rN   rM   rb   rb   s       $rN   rb   c                      e Zd ZddZy)
_HasIsATTYc                     y rI   rJ   rK   s    rM   r!   z_HasIsATTY.isattyw   rd   rN   NrO   )rR   rS   rT   r!   rJ   rN   rM   ri   ri   v   s    %rN   ri   c                      e Zd Zedd       Zy)_HasNewlinesc                     y rI   rJ   rK   s    rM   r%   z_HasNewlines.newlines{   s    $'rN   NrP   r?   )rR   rS   rT   rU   r%   rJ   rN   rM   rl   rl   y   s    	' 
'rN   rl   c                      e Zd ZddZy)_HasReadablec                     y rI   rJ   rK   s    rM   r&   z_HasReadable.readable   rd   rN   NrO   )rR   rS   rT   r&   rJ   rN   rM   rp   rp   ~       'rN   rp   c                      e Zd ZddZy)_HasSeekablec                     y rI   rJ   rK   s    rM   r'   z_HasSeekable.seekable   rd   rN   NrO   )rR   rS   rT   r'   rJ   rN   rM   rt   rt      rr   rN   rt   c                      e Zd ZddZy)_HasWritablec                     y rI   rJ   rK   s    rM   r(   z_HasWritable.writable   rd   rN   NrO   )rR   rS   rT   r(   rJ   rN   rM   rw   rw      rr   rN   rw   c                      e Zd Zedd       Zy)
_HasBufferc                     y rI   rJ   rK   s    rM   r   z_HasBuffer.buffer   s    &)rN   N)rP   r	   )rR   rS   rT   rU   r   rJ   rN   rM   rz   rz      s    	) 
)rN   rz   c                      e Zd Zedd       Zy)_HasRawc                     y rI   rJ   rK   s    rM   r   z_HasRaw.raw   s    '*rN   N)rP   io.RawIOBase)rR   rS   rT   rU   r   rJ   rN   rM   r}   r}      s    	* 
*rN   r}   c                      e Zd Zedd       Zy)_HasLineBufferingc                     y rI   rJ   rK   s    rM   r*   z _HasLineBuffering.line_buffering   s    *-rN   NrO   )rR   rS   rT   rU   r*   rJ   rN   rM   r   r      s    	- 
-rN   r   c                      e Zd Zedd       Zy)_HasCloseFDc                     y rI   rJ   rK   s    rM   r"   z_HasCloseFD.closefd   rY   rN   NrO   )rR   rS   rT   rU   r"   rJ   rN   rM   r   r      r\   rN   r   c                      e Zd Zedd       Zy)_HasNamec                     y rI   rJ   rK   s    rM   r   z_HasName.name       "rN   NrZ   )rR   rS   rT   rU   r   rJ   rN   rM   r   r          	" 
"rN   r   c                      e Zd Zedd       Zy)_HasModec                     y rI   rJ   rK   s    rM   r   z_HasMode.mode   r   rN   NrZ   )rR   rS   rT   rU   r   rJ   rN   rM   r   r      r   rN   r   c                      e Zd ZddZy)_CanGetValuec                     y rI   rJ   rK   s    rM   r$   z_CanGetValue.getvalue   rd   rN   NrP   rB   )rR   rS   rT   r$   rJ   rN   rM   r   r      s    ,rN   r   c                      e Zd ZddZy)_CanGetBufferc                     y rI   rJ   rK   s    rM   r)   z_CanGetBuffer.getbuffer   rd   rN   N)rP   
memoryview)rR   rS   rT   r)   rJ   rN   rM   r   r      s    .rN   r   c                      e Zd ZddZy)	_CanFlushc                     y rI   rJ   rK   s    rM   r0   z_CanFlush.flush   rd   rN   NrP   None)rR   rS   rT   r0   rJ   rN   rM   r   r      rg   rN   r   c                      e Zd ZdddZy)_CanReadc                    y rI   rJ   rL   sizes     rM   r-   z_CanRead.read   rd   rN   N.)r   
int | NonerP   rB   )rR   rS   rT   r-   rJ   rN   rM   r   r          CrN   r   c                      e Zd ZdddZy)	_CanRead1c                    y rI   rJ   r   s     rM   r1   z_CanRead1.read1   rd   rN   Nr   )r   r   rP   bytes)rR   rS   rT   r1   rJ   rN   rM   r   r          @rN   r   c                      e Zd ZddZy)_CanReadAllc                     y rI   rJ   rK   s    rM   r3   z_CanReadAll.readall   rd   rN   Nr   )rR   rS   rT   r3   rJ   rN   rM   r   r      s    +rN   r   c                      e Zd ZddZy)_CanReadIntoc                    y rI   rJ   rL   bufs     rM   r4   z_CanReadInto.readinto   rd   rN   N)r   rD   rP   r   )rR   rS   rT   r4   rJ   rN   rM   r   r      s    =rN   r   c                      e Zd ZddZy)_CanReadInto1c                    y rI   rJ   rL   r   s     rM   r7   z_CanReadInto1.readinto1   rd   rN   N)r   rD   rP   rf   )rR   rS   rT   r7   rJ   rN   rM   r   r      s    :rN   r   c                      e Zd ZdddZy)_CanReadLinec                    y rI   rJ   r   s     rM   r5   z_CanReadLine.readline   rd   rN   Nr   r   rf   rP   rB   )rR   rS   rT   r5   rJ   rN   rM   r   r      r   rN   r   c                      e Zd ZdddZy)_CanReadLinesc                    y rI   rJ   )rL   hints     rM   r8   z_CanReadLines.readlines   rd   rN   Nr   )r   rf   rP   list[AnyStr])rR   rS   rT   r8   rJ   rN   rM   r   r      s    DrN   r   c                      e Zd ZdddZy)_CanSeekc                    y rI   rJ   rL   targetwhences      rM   r.   z_CanSeek.seek   rd   rN   Nr   )r   rf   r   rf   rP   rf   )rR   rS   rT   r.   rJ   rN   rM   r   r      r   rN   r   c                      e Zd ZddZy)_CanTellc                     y rI   rJ   rK   s    rM   r/   z_CanTell.tell   rd   rN   Nre   )rR   rS   rT   r/   rJ   rN   rM   r   r      s    "rN   r   c                      e Zd ZdddZy)_CanTruncatec                    y rI   rJ   r   s     rM   r6   z_CanTruncate.truncate   rd   rN   Nr   )r   r   rP   rf   )rR   rS   rT   r6   rJ   rN   rM   r   r      s    ArN   r   c                      e Zd ZddZy)	_CanWritec                    y rI   rJ   rL   datas     rM   r2   z_CanWrite.write   rd   rN   N)r   r@   rP   rf   )rR   rS   rT   r2   rJ   rN   rM   r   r      s    6rN   r   c                      e Zd ZddZy)_CanWriteLinesc                    y rI   rJ   rL   liness     rM   r9   z_CanWriteLines.writelines   rd   rN   N)r   zIterable[T_contra]rP   r   )rR   rS   rT   r9   rJ   rN   rM   r   r      s    GrN   r   c                      e Zd ZdddZy)_CanPeekc                    y rI   rJ   r   s     rM   r,   z_CanPeek.peek   rd   rN   Nr   r   )rR   rS   rT   r,   rJ   rN   rM   r   r      s    :rN   r   c                      e Zd ZddZy)
_CanDetachc                     y rI   rJ   rK   s    rM   detachz_CanDetach.detach   rd   rN   Nrn   )rR   rS   rT   r   rJ   rN   rM   r   r      s    %rN   r   c                      e Zd ZddZy)	_CanClosec                     y rI   rJ   rK   s    rM   closez_CanClose.close   rd   rN   Nr   )rR   rS   rT   r   rJ   rN   rM   r   r      rg   rN   r   c                      e Zd ZdZd)dZed*d       Zesd+dZd, fdZ	d-dZ
d.dZd/dZd0d	Zered1d
       Zed2d       Zed3d       Zed4d       Zed5d       Zed6d       Zed7d       Zed8d       Zed9d       Zed:d       Zd;dZd<dZd=dZd>dZd?dZd@dZdAdZdBdZdCdDdZ dCdEdZ!dFdZ"dGdZ#dCdHd Z$dId!Z%dJdKd"Z&dLd#Z'dMdNd$Z(dOd%Z)dPd&Z*dQd'Z+dJdRd(Z, xZ-S  xZ-S )SAsyncIOWrapperaE  A generic :class:`~io.IOBase` wrapper that implements the :term:`asynchronous
    file object` interface. Wrapped methods that could block are executed in
    :meth:`trio.to_thread.run_sync`.

    All properties and methods defined in :mod:`~io` are exposed by this
    wrapper, if they exist in the wrapped file object.
    c                    || _         y rI   _wrapped)rL   files     rM   __init__zAsyncIOWrapper.__init__   s	    rN   c                    | j                   S )z.object: A reference to the wrapped file objectr   rK   s    rM   wrappedzAsyncIOWrapper.wrapped   s     }}rN   c                   |t         v rt        | j                  |      S |t        v rXt        | j                  |      t	        | j
                  | j                  j
                  |      fd       }t        | ||       |S t        |      )Nc                 |   K   t        g| i |}t        j                  j                  |       d {   S 7 wrI   )r   trio	to_threadrun_sync)argskwargsfuncmeths      rM   wrapperz+AsyncIOWrapper.__getattr__.<locals>.wrapper   s6     "49$9&9D!%!8!8!>>>>s   2<:<)r+   getattrr   r:   r   	__class__setattrAttributeError)rL   r   r   r   s      @rM   __getattr__zAsyncIOWrapper.__getattr__   s~    ''t}}d33**t}}d3T^^T]]-D-DdK? L?
 dG, &&rN   c                     t        t         	               }|j                   fdt        D               |j                   fdt
        D               |S )Nc              3  P   K   | ]  }t        j                  |      s|  y wrI   hasattrr   .0arL   s     rM   	<genexpr>z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s     M1GDLL!4LQM   &&c              3  P   K   | ]  }t        j                  |      s|  y wrI   r   r   s     rM   r   z)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s     P1wt||Q7OQPr   )setsuper__dir__updater+   r:   )rL   attrsr   s   ` rM   r  zAsyncIOWrapper.__dir__   s?    EGO%&M 0MMP 3PPrN   c                    | S rI   rJ   rK   s    rM   	__aiter__zAsyncIOWrapper.__aiter__  s    rN   c                R   K   | j                          d {   }|r|S t        7 wrI   )r5   StopAsyncIteration)rL   lines     rM   	__anext__zAsyncIOWrapper.__anext__  s'     ]]_$K$$	 %s   '%'c                   K   t         j                  j                  | j                  j                         d{   }t        |      S 7 w)zLike :meth:`io.BufferedIOBase.detach`, but async.

        This also re-wraps the result in a new :term:`asynchronous file object`
        wrapper.

        N)r   r   r   r   r   	wrap_file)rL   r   s     rM   r   zAsyncIOWrapper.detach  s9      NN++DMM,@,@AA~ Bs   7AA	Ac                ,  K   t        j                  d      5  t         j                  j                  | j                  j
                         d{    ddd       t         j                  j                          d{    y7 3# 1 sw Y   2xY w7 w)zLike :meth:`io.IOBase.close`, but async.

        This is also shielded from cancellation; if a cancellation scope is
        cancelled, the wrapped file object will still be safely closed.

        T)shieldN)r   CancelScoper   r   r   r   lowlevelcheckpoint_if_cancelledrK   s    rM   aclosezAsyncIOWrapper.aclose  sp      T* 	?..))$--*=*=>>>	? mm33555 ?	? 	? 	6s:   B7BBB)B>B?BBBBc                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.closed+  s    >ArN   c                     y rI   rJ   rK   s    rM   r#   zAsyncIOWrapper.encoding-  s    ADrN   c                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.errors/  s    DGrN   c                     y rI   rJ   rK   s    rM   r%   zAsyncIOWrapper.newlines1      BErN   c                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.buffer3  r  rN   c                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.raw5      @CrN   c                     y rI   rJ   rK   s    rM   r*   zAsyncIOWrapper.line_buffering7  s    LOrN   c                     y rI   rJ   rK   s    rM   r"   zAsyncIOWrapper.closefd9  r  rN   c                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.name;      9<rN   c                     y rI   rJ   rK   s    rM   r   zAsyncIOWrapper.mode=  r  rN   c                     y rI   rJ   rK   s    rM   r    zAsyncIOWrapper.fileno@  rd   rN   c                     y rI   rJ   rK   s    rM   r!   zAsyncIOWrapper.isattyA  rd   rN   c                     y rI   rJ   rK   s    rM   r&   zAsyncIOWrapper.readableB  rd   rN   c                     y rI   rJ   rK   s    rM   r'   zAsyncIOWrapper.seekableC  rd   rN   c                     y rI   rJ   rK   s    rM   r(   zAsyncIOWrapper.writableD  rd   rN   c                     y rI   rJ   rK   s    rM   r$   zAsyncIOWrapper.getvalueE  rd   rN   c                     y rI   rJ   rK   s    rM   r)   zAsyncIOWrapper.getbufferF  rd   rN   c                   K   y wrI   rJ   rK   s    rM   r0   zAsyncIOWrapper.flushG          c                  K   y wrI   rJ   r   s     rM   r-   zAsyncIOWrapper.readH  r)  r*  c                  K   y wrI   rJ   r   s     rM   r1   zAsyncIOWrapper.read1I  r)  r*  c                   K   y wrI   rJ   rK   s    rM   r3   zAsyncIOWrapper.readallJ  r)  r*  c                  K   y wrI   rJ   r   s     rM   r4   zAsyncIOWrapper.readintoK  r)  r*  c                  K   y wrI   rJ   r   s     rM   r5   zAsyncIOWrapper.readlineL  r)  r*  c                   K   y wrI   rJ   rK   s    rM   r8   zAsyncIOWrapper.readlinesM  r)  r*  c                  K   y wrI   rJ   r   s      rM   r.   zAsyncIOWrapper.seekN  r)  r*  c                   K   y wrI   rJ   rK   s    rM   r/   zAsyncIOWrapper.tellO  r)  r*  c                  K   y wrI   rJ   r   s     rM   r6   zAsyncIOWrapper.truncateP  r)  r*  c                  K   y wrI   rJ   r   s     rM   r2   zAsyncIOWrapper.writeQ  r)  r*  c                  K   y wrI   rJ   r   s     rM   r9   zAsyncIOWrapper.writelinesR  r)  r*  c                  K   y wrI   rJ   r   s     rM   r7   zAsyncIOWrapper.readinto1S  r)  r*  c                  K   y wrI   rJ   r   s     rM   r,   zAsyncIOWrapper.peekT  r)  r*  )r   r<   rP   r   )rP   r<   )r   r[   rP   object)rP   zIterable[str])rP   zAsyncIOWrapper[FileT_co])rL   $AsyncIOWrapper[_CanReadLine[AnyStr]]rP   r   )rL   zAsyncIOWrapper[_CanDetach[T]]rP   zAsyncIOWrapper[T])rL   zAsyncIOWrapper[_CanClose]rP   r   )rL   zAsyncIOWrapper[_HasClosed]rP   rQ   )rL   zAsyncIOWrapper[_HasEncoding]rP   r[   )rL   zAsyncIOWrapper[_HasErrors]rP   r`   )rL   zAsyncIOWrapper[_HasNewlines[T]]rP   r>   )rL   zAsyncIOWrapper[_HasBuffer]rP   r	   )rL   zAsyncIOWrapper[_HasRaw]rP   r   )rL   z!AsyncIOWrapper[_HasLineBuffering]rP   rf   )rL   zAsyncIOWrapper[_HasCloseFD]rP   rQ   )rL   zAsyncIOWrapper[_HasName]rP   r[   )rL   zAsyncIOWrapper[_HasMode]rP   r[   )rL   zAsyncIOWrapper[_HasFileNo]rP   rf   )rL   zAsyncIOWrapper[_HasIsATTY]rP   rQ   )rL   zAsyncIOWrapper[_HasReadable]rP   rQ   )rL   zAsyncIOWrapper[_HasSeekable]rP   rQ   )rL   zAsyncIOWrapper[_HasWritable]rP   rQ   )rL   z$AsyncIOWrapper[_CanGetValue[AnyStr]]rP   r   )rL   zAsyncIOWrapper[_CanGetBuffer]rP   r   )rL   zAsyncIOWrapper[_CanFlush]rP   r   ))rL   z AsyncIOWrapper[_CanRead[AnyStr]]r   r   rP   r   )rL   zAsyncIOWrapper[_CanRead1]r   r   rP   r   )rL   z#AsyncIOWrapper[_CanReadAll[AnyStr]]rP   r   )rL   zAsyncIOWrapper[_CanReadInto]r   rD   rP   r   )rL   r9  r   rf   rP   r   )rL   z%AsyncIOWrapper[_CanReadLines[AnyStr]]rP   r   r   )rL   zAsyncIOWrapper[_CanSeek]r   rf   r   rf   rP   rf   )rL   zAsyncIOWrapper[_CanTell]rP   rf   rI   )rL   zAsyncIOWrapper[_CanTruncate]r   r   rP   rf   )rL   zAsyncIOWrapper[_CanWrite[T]]r   r>   rP   rf   )rL   z!AsyncIOWrapper[_CanWriteLines[T]]r   zIterable[T]rP   r   )rL   zAsyncIOWrapper[_CanReadInto1]r   rD   rP   rf   )rL   z AsyncIOWrapper[_CanPeek[AnyStr]]r   rf   rP   r   ).rR   rS   rT   __doc__r   rU   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)   r0   r-   r1   r3   r4   r5   r8   r.   r/   r6   r2   r9   r7   r,   __classcell__)r   s   @rM   r   r      s     
 	'"%	6  
A 
A	D 
D	G 
G	E 
E	E 
E	C 
C	O 
O	C 
C	< 
<	< 
<@AEEEOMEg`Sah]cBfSi___Y rN   r   r   c                   K   y wrI   rJ   r   r   	bufferingr#   r   newliner"   openers           rM   	open_filerB  \  s      (+r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB  i  s      !$r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB  v        ),r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB    rE  r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB    rE  r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB    s       #r*  c                   K   y wrI   rJ   r>  s           rM   rB  rB    s      "r*  c                   K   t        t        j                  j                  t        j
                  | |||||||	       d{         }|S 7 
w)a(  Asynchronous version of :func:`open`.

    Returns:
        An :term:`asynchronous file object`

    Example::

        async with await trio.open_file(filename) as f:
            async for line in f:
                pass

        assert f.closed

    See also:
      :func:`trio.Path.open`

    N)r  r   r   r   ioopen)	r   r   r?  r#   r   r@  r"   rA  _files	            rM   rB  rB    sM     6 nn%%GGT4HfgwPV
 	
E
 L		
s   >A AAc                r     d fd} |d      r |d      s |d      st          d      t               S )a[  This wraps any file object in a wrapper that provides an asynchronous
    file object interface.

    Args:
        file: a :term:`file object`

    Returns:
        An :term:`asynchronous file object` that wraps ``file``

    Example::

        async_file = trio.wrap_file(StringIO('asdf'))

        assert await async_file.read() == 'asdf'

    c                J    t        |       xr t        t        |             S rI   )r   callabler   )attrr   s    rM   haszwrap_file.<locals>.has  s!    tT"Dxd0C'DDrN   r   r-   r2   zI does not implement required duck-file methods: close and (read or write))rQ  r[   rP   rQ   )	TypeErrorr   )r   rR  s   ` rM   r  r    sG    $E Lc&kS\f ( (
 	

 $rN   )rr:  NNNTN)r   	_OpenFiler   r   r?  rf   r#   r`   r   r`   r@  r`   r"   rQ   rA  _Opener | NonerP   z AsyncIOWrapper[io.TextIOWrapper])NNNTN)r   rU  r   r   r?  z
Literal[0]r#   r   r   r   r@  r   r"   rQ   rA  rV  rP   zAsyncIOWrapper[io.FileIO])r:  NNNTN)r   rU  r   r   r?  Literal[-1, 1]r#   r   r   r   r@  r   r"   rQ   rA  rV  rP   z!AsyncIOWrapper[io.BufferedRandom])r   rU  r   r   r?  rW  r#   r   r   r   r@  r   r"   rQ   rA  rV  rP   z!AsyncIOWrapper[io.BufferedWriter])r   rU  r   r   r?  rW  r#   r   r   r   r@  r   r"   rQ   rA  rV  rP   z!AsyncIOWrapper[io.BufferedReader])r   rU  r   r   r?  rf   r#   r   r   r   r@  r   r"   rQ   rA  rV  rP   zAsyncIOWrapper[BinaryIO])r   rU  r   r[   r?  rf   r#   r`   r   r`   r@  r`   r"   rQ   rA  rV  rP   zAsyncIOWrapper[IO[Any]])r   rU  r   r[   r?  rf   r#   r`   r   r`   r@  r`   r"   rQ   rA  rV  rP   zAsyncIOWrapper[Any])r   r;   rP   zAsyncIOWrapper[FileT])T
__future__r   rK  	functoolsr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   _utilr   abcr   	_typeshedr   r   r   r   r   r   typing_extensionsr   r+   __annotations__r:   r;   r<   r>   r?   r@   r[   r   rB   rC   rD   rE   rG   rW   r^   rb   ri   rl   rp   rt   rw   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rf   rU  _OpenerrB  r  rJ   rN   rM   <module>ra     s   " 	         * ( ,! X & 	:.CLv&:T2Ket<	e4H 2&X &'x ',X ,%X %&X &(x~ (
(x ((x ((x (*X *+( +.H .'h '#8 ##8 #-x	* -/ /%H %D8I& DAH A,hy) ,>x >; ;Ax	* AE( ED8 D#8 #Bx B7HX& 7H(+ H;8I& ;&Xd^ &%H %z`]GH$5 z`| "C'(	
C:s?
# 
 !	+
	+
	+ 	+ 		+
 	+ 	+ 	+ 	+ &	+ 
	+ 

 !	$
	$
	$ 	$ 		$
 	$ 	$ 	$ 	$ 	$ 
	$ 
 !#!	,
	,
 	, 	, 		,
 	, 	, 	, 	, '	, 
	, 
 !#!	,
	,
	, 	, 		,
 	, 	, 	, 	, '	, 
	, 
 !#!	,
	,
	, 	, 		,
 	, 	, 	, 	, '	, 
	, 

 !	#
	#
	# 	# 		#
 	# 	# 	# 	# 	# 
	# 
 !	"
	"
	" 	" 		"
 	" 	" 	" 	" 	" 
	" ! 
 
    	 
          F rN   