
    +g=                       % S SK Jr  S SKrS SKJrJr  S SKJr  S SKJ	r	J
r
JrJrJrJrJrJrJr  S SKrSSKJr  SSKJr  \
(       a  S S	KJrJrJrJrJrJr  S S
KJr  SSK J!r!  1 Skr"S\#S'   1 Skr$S\#S'   \" S5      r%\" SSS9r&\" S5      r'\" SSS9r(\" SSS9r)\" S\*\+SS9r,\" S\*\+SS9r-\
(       Ga  S SKJ.r.J/r/   " S S\/5      r0 " S S\/5      r1 " S  S!\/5      r2 " S" S#\/5      r3 " S$ S%\/5      r4 " S& S'\/\(   5      r5 " S( S)\/5      r6 " S* S+\/5      r7 " S, S-\/5      r8 " S. S/\/5      r9 " S0 S1\/5      r: " S2 S3\/5      r; " S4 S5\/5      r< " S6 S7\/5      r= " S8 S9\/5      r> " S: S;\/\,   5      r? " S< S=\/5      r@ " S> S?\/5      rA " S@ SA\/\,   5      rB " SB SC\/5      rC " SD SE\/\,   5      rD " SF SG\/5      rE " SH SI\/5      rF " SJ SK\/\,   5      rG " SL SM\/\   5      rH " SN SO\/5      rI " SP SQ\/5      rJ " SR SS\/5      rK " ST SU\/\)   5      rL " SV SW\/\)   5      rM " SX SY\/\,   5      rN " SZ S[\/\(   5      rO " S\ S]\/5      rP " S^ S_\\\&   5      rQ\S`\R4   rS\\*\R/\R4   rT\       Sj                 SkSa jj5       rU\     Sl                 SmSb jj5       rU\      Sn                 SoSc jj5       rU\      Sn                 SpSd jj5       rU\      Sn                 SqSe jj5       rU\     Sl                 SrSf jj5       rU\      Sn                 SsSg jj5       rU       Sj                 StSh jjrUSuSi jrVg)v    )annotationsN)CallableIterable)partial)	IOTYPE_CHECKINGAnyAnyStrBinaryIOGenericTypeVarUnionoverload   )async_wraps)AsyncResource)OpenBinaryModeOpenBinaryModeReadingOpenBinaryModeUpdatingOpenBinaryModeWritingOpenTextModeStrOrBytesPath)Literal)CapacityLimiter>   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                  (    \ rS rSr\SS j5       rSrg)
_HasClosedh   c                    g N selfs    U/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/trio/_file_io.pyr   _HasClosed.closedi   s    "%    rL   Nreturnbool)__name__
__module____qualname____firstlineno__propertyr   __static_attributes__rL   rQ   rO   rH   rH   h   s    	% 
%rQ   rH   c                  (    \ rS rSr\SS j5       rSrg)_HasEncodingl   c                    g rK   rL   rM   s    rO   r$   _HasEncoding.encodingm       #&rQ   rL   NrS   str)rU   rV   rW   rX   rY   r$   rZ   rL   rQ   rO   r\   r\   l       	& 
&rQ   r\   c                  (    \ rS rSr\SS j5       rSrg)
_HasErrorsp   c                    g rK   rL   rM   s    rO   r    _HasErrors.errorsq   s    (+rQ   rL   N)rS   
str | None)rU   rV   rW   rX   rY   r    rZ   rL   rQ   rO   re   re   p   s    	+ 
+rQ   re   c                      \ rS rSrSS jrSrg)
_HasFileNot   c                    g rK   rL   rM   s    rO   r!   _HasFileNo.filenou       rQ   rL   NrS   int)rU   rV   rW   rX   r!   rZ   rL   rQ   rO   rk   rk   t       $rQ   rk   c                      \ rS rSrSS jrSrg)
_HasIsATTYw   c                    g rK   rL   rM   s    rO   r"   _HasIsATTY.isattyx       #rQ   rL   NrR   )rU   rV   rW   rX   r"   rZ   rL   rQ   rO   rt   rt   w   s    %rQ   rt   c                  (    \ rS rSr\SS j5       rSrg)_HasNewlinesz   c                    g rK   rL   rM   s    rO   r&   _HasNewlines.newlines|   s    $'rQ   rL   NrS   r@   )rU   rV   rW   rX   rY   r&   rZ   rL   rQ   rO   rz   rz   z   s    	' 
'rQ   rz   c                      \ rS rSrSS jrSrg)_HasReadable   c                    g rK   rL   rM   s    rO   r'   _HasReadable.readable       CrQ   rL   NrR   )rU   rV   rW   rX   r'   rZ   rL   rQ   rO   r   r          'rQ   r   c                      \ rS rSrSS jrSrg)_HasSeekable   c                    g rK   rL   rM   s    rO   r(   _HasSeekable.seekable   r   rQ   rL   NrR   )rU   rV   rW   rX   r(   rZ   rL   rQ   rO   r   r      r   rQ   r   c                      \ rS rSrSS jrSrg)_HasWritable   c                    g rK   rL   rM   s    rO   r)   _HasWritable.writable   r   rQ   rL   NrR   )rU   rV   rW   rX   r)   rZ   rL   rQ   rO   r   r      r   rQ   r   c                  (    \ rS rSr\SS j5       rSrg)
_HasBuffer   c                    g rK   rL   rM   s    rO   r   _HasBuffer.buffer   s    &)rQ   rL   N)rS   r   )rU   rV   rW   rX   rY   r   rZ   rL   rQ   rO   r   r      s    	) 
)rQ   r   c                  (    \ rS rSr\SS j5       rSrg)_HasRaw   c                    g rK   rL   rM   s    rO   r   _HasRaw.raw   s    '*rQ   rL   N)rS   io.RawIOBase)rU   rV   rW   rX   rY   r   rZ   rL   rQ   rO   r   r      s    	* 
*rQ   r   c                  (    \ rS rSr\SS j5       rSrg)_HasLineBuffering   c                    g rK   rL   rM   s    rO   r+    _HasLineBuffering.line_buffering   s    *-rQ   rL   NrR   )rU   rV   rW   rX   rY   r+   rZ   rL   rQ   rO   r   r      s    	- 
-rQ   r   c                  (    \ rS rSr\SS j5       rSrg)_HasCloseFD   c                    g rK   rL   rM   s    rO   r#   _HasCloseFD.closefd   r`   rQ   rL   NrR   )rU   rV   rW   rX   rY   r#   rZ   rL   rQ   rO   r   r      rc   rQ   r   c                  (    \ rS rSr\SS j5       rSrg)_HasName   c                    g rK   rL   rM   s    rO   r   _HasName.name       "rQ   rL   Nra   )rU   rV   rW   rX   rY   r   rZ   rL   rQ   rO   r   r          	" 
"rQ   r   c                  (    \ rS rSr\SS j5       rSrg)_HasMode   c                    g rK   rL   rM   s    rO   r   _HasMode.mode   r   rQ   rL   Nra   )rU   rV   rW   rX   rY   r   rZ   rL   rQ   rO   r   r      r   rQ   r   c                      \ rS rSrSS jrSrg)_CanGetValue   c                    g rK   rL   rM   s    rO   r%   _CanGetValue.getvalue   s    rQ   rL   NrS   rC   )rU   rV   rW   rX   r%   rZ   rL   rQ   rO   r   r      s    ,rQ   r   c                      \ rS rSrSS jrSrg)_CanGetBuffer   c                    g rK   rL   rM   s    rO   r*   _CanGetBuffer.getbuffer   s    3rQ   rL   N)rS   
memoryview)rU   rV   rW   rX   r*   rZ   rL   rQ   rO   r   r      s    .rQ   r   c                      \ rS rSrSS jrSrg)	_CanFlush   c                    g rK   rL   rM   s    rO   r1   _CanFlush.flush   ro   rQ   rL   NrS   None)rU   rV   rW   rX   r1   rZ   rL   rQ   rO   r   r      rr   rQ   r   c                  "    \ rS rSrSSS jjrSrg)_CanRead   c                   g rK   rL   rN   sizes     rO   r.   _CanRead.read       rQ   rL   N.)r   
int | NonerS   rC   )rU   rV   rW   rX   r.   rZ   rL   rQ   rO   r   r          CCrQ   r   c                  "    \ rS rSrSSS jjrSrg)	_CanRead1   c                   g rK   rL   r   s     rO   r2   _CanRead1.read1       SrQ   rL   Nr   )r   r   rS   bytes)rU   rV   rW   rX   r2   rZ   rL   rQ   rO   r   r          @@rQ   r   c                      \ rS rSrSS jrSrg)_CanReadAll   c                    g rK   rL   rM   s    rO   r4   _CanReadAll.readall   s    rQ   rL   Nr   )rU   rV   rW   rX   r4   rZ   rL   rQ   rO   r   r      s    +rQ   r   c                      \ rS rSrSS jrSrg)_CanReadInto   c                   g rK   rL   rN   bufs     rO   r5   _CanReadInto.readinto   s    #rQ   rL   N)r   rE   rS   r   )rU   rV   rW   rX   r5   rZ   rL   rQ   rO   r   r      s    =rQ   r   c                      \ rS rSrSS jrSrg)_CanReadInto1   c                   g rK   rL   rN   r   s     rO   r8   _CanReadInto1.readinto1       srQ   rL   N)r   rE   rS   rq   )rU   rV   rW   rX   r8   rZ   rL   rQ   rO   r   r      s    :rQ   r   c                  "    \ rS rSrSSS jjrSrg)_CanReadLine   c                   g rK   rL   r   s     rO   r6   _CanReadLine.readline   r   rQ   rL   Nr   r   rq   rS   rC   )rU   rV   rW   rX   r6   rZ   rL   rQ   rO   r   r      r   rQ   r   c                  "    \ rS rSrSSS jjrSrg)_CanReadLines   c                   g rK   rL   )rN   hints     rO   r9   _CanReadLines.readlines   s    rQ   rL   Nr   )r   rq   rS   list[AnyStr])rU   rV   rW   rX   r9   rZ   rL   rQ   rO   r   r      s    DDrQ   r   c                  "    \ rS rSrSSS jjrSrg)_CanSeek   c                   g rK   rL   rN   targetwhences      rO   r/   _CanSeek.seek   r   rQ   rL   Nr   )r   rq   r   rq   rS   rq   )rU   rV   rW   rX   r/   rZ   rL   rQ   rO   r   r      r   rQ   r   c                      \ rS rSrSS jrSrg)_CanTell   c                    g rK   rL   rM   s    rO   r0   _CanTell.tell   s    srQ   rL   Nrp   )rU   rV   rW   rX   r0   rZ   rL   rQ   rO   r  r     s    "rQ   r  c                  "    \ rS rSrSSS jjrSrg)_CanTruncate   c                   g rK   rL   r   s     rO   r7   _CanTruncate.truncate       crQ   rL   Nr   )r   r   rS   rq   )rU   rV   rW   rX   r7   rZ   rL   rQ   rO   r  r     s    AArQ   r  c                      \ rS rSrSS jrSrg)	_CanWrite   c                   g rK   rL   rN   datas     rO   r3   _CanWrite.write   s    3rQ   rL   N)r  rA   rS   rq   )rU   rV   rW   rX   r3   rZ   rL   rQ   rO   r  r     s    6rQ   r  c                      \ rS rSrSS jrSrg)_CanWriteLines   c                   g rK   rL   rN   liness     rO   r:   _CanWriteLines.writelines   s    CrQ   rL   N)r  zIterable[T_contra]rS   r   )rU   rV   rW   rX   r:   rZ   rL   rQ   rO   r  r     s    GrQ   r  c                  "    \ rS rSrSSS jjrSrg)_CanPeek   c                   g rK   rL   r   s     rO   r-   _CanPeek.peek   r   rQ   rL   Nr   r   )rU   rV   rW   rX   r-   rZ   rL   rQ   rO   r  r     s    ::rQ   r  c                      \ rS rSrSS jrSrg)
_CanDetach   c                    g rK   rL   rM   s    rO   detach_CanDetach.detach   rx   rQ   rL   Nr~   )rU   rV   rW   rX   r"  rZ   rL   rQ   rO   r  r     s    %rQ   r  c                      \ rS rSrSS jrSrg)	_CanClose   c                    g rK   rL   rM   s    rO   close_CanClose.close   ro   rQ   rL   Nr   )rU   rV   rW   rX   r(  rZ   rL   rQ   rO   r%  r%     rr   rQ   r%  c                  Z  ^  \ rS rSrSrS+S jr\S,S j5       r\(       d  S-S jr	S.U 4S jjr
S/S jrS0S jrS1S	 jrS2S
 jr\(       a  \S3S j5       r\S4S j5       r\S5S j5       r\S6S j5       r\S7S j5       r\S8S j5       r\S9S j5       r\S:S j5       r\S;S j5       r\S<S j5       rS=S jrS>S jrS?S jrS@S jrSAS jrSBS jrSCS jrSDS jr SESFS jjr!SESGS jjr"SHS jr#SIS  jr$SESJS! jjr%SKS" jr&SLSMS# jjr'SNS$ jr(SOSPS% jjr)SQS& jr*SRS' jr+SSS( jr,SLSTS) jjr-S*r.U =r/$ S*r.U =r/$ )UAsyncIOWrapper   a1  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                    Xl         g rK   _wrapped)rN   files     rO   __init__AsyncIOWrapper.__init__   s    rQ   c                    U R                   $ )z.object: A reference to the wrapped file objectr.  rM   s    rO   wrappedAsyncIOWrapper.wrapped   s     }}rQ   c                .  ^ U[         ;   a  [        U R                  U5      $ U[        ;   a`  [        U R                  U5      m[	        U R
                  U R                  R
                  U5            SU4S jj5       n[        XU5        U$ [        U5      e)Nc                 |   >#    [        T/U Q70 UD6n[        R                  R                  U5      I S h  vN $  N7frK   )r   trio	to_threadrun_sync)argskwargsfuncmeths      rO   wrapper+AsyncIOWrapper.__getattr__.<locals>.wrapper   s7     
 #49$9&9D!%!8!8!>>>>s   2<:<)r;  zCallable[..., T]r<  z,object | str | bool | CapacityLimiter | NonerS   r?   )r,   getattrr/  r;   r   	__class__setattrAttributeError)rN   r   r?  r>  s      @rO   __getattr__AsyncIOWrapper.__getattr__   s    ''t}}d33**t}}d3T^^T]]-D-DdK?+?J? ? L? G, &&rQ   c                   >^  [        [        TT ]	  5       5      nUR                  U 4S j[         5       5        UR                  U 4S j[
         5       5        U$ )Nc              3  b   >#    U  H$  n[        TR                  U5      (       d  M   Uv   M&     g 7frK   hasattrr4  .0arN   s     rO   	<genexpr>)AsyncIOWrapper.__dir__.<locals>.<genexpr>  s"     M 01GDLL!4LQQ 0   /	/c              3  b   >#    U  H$  n[        TR                  U5      (       d  M   Uv   M&     g 7frK   rI  rK  s     rO   rN  rO    s"     P 31wt||Q7OQQ 3rP  )setsuper__dir__updater,   r;   )rN   attrsrB  s   ` rO   rT  AsyncIOWrapper.__dir__  s?    EGO%&M 0MMP 3PPrQ   c                    U $ rK   rL   rM   s    rO   	__aiter__AsyncIOWrapper.__aiter__	  s    rQ   c                \   #    U R                  5       I S h  vN nU(       a  U$ [        e N7frK   )r6   StopAsyncIteration)rN   lines     rO   	__anext__AsyncIOWrapper.__anext__  s&     ]]_$K$$	 %s   ,*,c                   #    [         R                  R                  U R                  R                  5      I Sh  vN n[        U5      $  N7f)zLike :meth:`io.BufferedIOBase.detach`, but async.

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

N)r8  r9  r:  r/  r"  	wrap_file)rN   r   s     rO   r"  AsyncIOWrapper.detach  s8      NN++DMM,@,@AA~ Bs   7AA	Ac                2  #    [         R                  " SS9   [         R                  R                  U R                  R
                  5      I Sh  vN   SSS5        [         R                  R                  5       I Sh  vN   g N3! , (       d  f       N7= f N7f)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)r8  CancelScoper9  r:  r/  r(  lowlevelcheckpoint_if_cancelledrM   s    rO   acloseAsyncIOWrapper.aclose  sg      T*..))$--*=*=>>> + mm33555 ? +* 	6s:   B7BBB)B<B=BB
BBc                    g rK   rL   rM   s    rO   r   AsyncIOWrapper.closed/  s    >ArQ   c                    g rK   rL   rM   s    rO   r$   AsyncIOWrapper.encoding1  s    ADrQ   c                    g rK   rL   rM   s    rO   r    AsyncIOWrapper.errors3  s    DGrQ   c                    g rK   rL   rM   s    rO   r&   AsyncIOWrapper.newlines5      BErQ   c                    g rK   rL   rM   s    rO   r   AsyncIOWrapper.buffer7  rr  rQ   c                    g rK   rL   rM   s    rO   r   AsyncIOWrapper.raw9      @CrQ   c                    g rK   rL   rM   s    rO   r+   AsyncIOWrapper.line_buffering;  s    LOrQ   c                    g rK   rL   rM   s    rO   r#   AsyncIOWrapper.closefd=  rw  rQ   c                    g rK   rL   rM   s    rO   r   AsyncIOWrapper.name?      9<rQ   c                    g rK   rL   rM   s    rO   r   AsyncIOWrapper.modeA  r~  rQ   c                    g rK   rL   rM   s    rO   r!   AsyncIOWrapper.filenoD  r   rQ   c                    g rK   rL   rM   s    rO   r"   AsyncIOWrapper.isattyE  r
  rQ   c                    g rK   rL   rM   s    rO   r'   AsyncIOWrapper.readableF      #rQ   c                    g rK   rL   rM   s    rO   r(   AsyncIOWrapper.seekableG  r  rQ   c                    g rK   rL   rM   s    rO   r)   AsyncIOWrapper.writableH  r  rQ   c                    g rK   rL   rM   s    rO   r%   AsyncIOWrapper.getvalueI  s    CrQ   c                    g rK   rL   rM   s    rO   r*   AsyncIOWrapper.getbufferJ  s    #rQ   c                   #    g 7frK   rL   rM   s    rO   r1   AsyncIOWrapper.flushK  s     #   c                  #    g 7frK   rL   r   s     rO   r.   AsyncIOWrapper.readL  s     dgr  c                  #    g 7frK   rL   r   s     rO   r2   AsyncIOWrapper.read1M  s     ]`r  c                   #    g 7frK   rL   rM   s    rO   r4   AsyncIOWrapper.readallN       PSr  c                  #    g 7frK   rL   r   s     rO   r5   AsyncIOWrapper.readintoO  s     ^ar  c                  #    g 7frK   rL   r   s     rO   r6   AsyncIOWrapper.readlineP  s     ehr  c                   #    g 7frK   rL   rM   s    rO   r9   AsyncIOWrapper.readlinesQ  s     Z]r  c                  #    g 7frK   rL   r   s      rO   r/   AsyncIOWrapper.seekR  s     `cr  c                   #    g 7frK   rL   rM   s    rO   r0   AsyncIOWrapper.tellS  s     sr  c                  #    g 7frK   rL   r   s     rO   r7   AsyncIOWrapper.truncateT  s     cfr  c                  #    g 7frK   rL   r  s     rO   r3   AsyncIOWrapper.writeU  r  r  c                  #    g 7frK   rL   r  s     rO   r:   AsyncIOWrapper.writelinesV  s     fir  c                  #    g 7frK   rL   r   s     rO   r8   AsyncIOWrapper.readinto1W       \_r  c                  #    g 7frK   rL   r   s     rO   r-   AsyncIOWrapper.peekX  r  r  r.  )r0  r=   rS   r   )rS   r=   )r   rb   rS   object)rS   zIterable[str])rS   zAsyncIOWrapper[FileT_co])rN   $AsyncIOWrapper[_CanReadLine[AnyStr]]rS   r
   )rN   zAsyncIOWrapper[_CanDetach[T]]rS   zAsyncIOWrapper[T])rN   zAsyncIOWrapper[_CanClose]rS   r   )rN   zAsyncIOWrapper[_HasClosed]rS   rT   )rN   zAsyncIOWrapper[_HasEncoding]rS   rb   )rN   zAsyncIOWrapper[_HasErrors]rS   ri   )rN   zAsyncIOWrapper[_HasNewlines[T]]rS   r?   )rN   zAsyncIOWrapper[_HasBuffer]rS   r   )rN   zAsyncIOWrapper[_HasRaw]rS   r   )rN   z!AsyncIOWrapper[_HasLineBuffering]rS   rq   )rN   zAsyncIOWrapper[_HasCloseFD]rS   rT   )rN   zAsyncIOWrapper[_HasName]rS   rb   )rN   zAsyncIOWrapper[_HasMode]rS   rb   )rN   zAsyncIOWrapper[_HasFileNo]rS   rq   )rN   zAsyncIOWrapper[_HasIsATTY]rS   rT   )rN   zAsyncIOWrapper[_HasReadable]rS   rT   )rN   zAsyncIOWrapper[_HasSeekable]rS   rT   )rN   zAsyncIOWrapper[_HasWritable]rS   rT   )rN   z$AsyncIOWrapper[_CanGetValue[AnyStr]]rS   r
   )rN   zAsyncIOWrapper[_CanGetBuffer]rS   r   )rN   zAsyncIOWrapper[_CanFlush]rS   r   ))rN   z AsyncIOWrapper[_CanRead[AnyStr]]r   r   rS   r
   )rN   zAsyncIOWrapper[_CanRead1]r   r   rS   r   )rN   z#AsyncIOWrapper[_CanReadAll[AnyStr]]rS   r
   )rN   zAsyncIOWrapper[_CanReadInto]r   rE   rS   r   )rN   r  r   rq   rS   r
   )rN   z%AsyncIOWrapper[_CanReadLines[AnyStr]]rS   r   r   )rN   zAsyncIOWrapper[_CanSeek]r   rq   r   rq   rS   rq   )rN   zAsyncIOWrapper[_CanTell]rS   rq   rK   )rN   zAsyncIOWrapper[_CanTruncate]r   r   rS   rq   )rN   zAsyncIOWrapper[_CanWrite[T]]r  r?   rS   rq   )rN   z!AsyncIOWrapper[_CanWriteLines[T]]r  zIterable[T]rS   r   )rN   zAsyncIOWrapper[_CanReadInto1]r   rE   rS   rq   )rN   z AsyncIOWrapper[_CanPeek[AnyStr]]r   rq   rS   r
   )0rU   rV   rW   rX   __doc__r1  rY   r4  r   rE  rT  rY  r^  r"  rh  r   r$   r    r&   r   r   r+   r#   r   r   r!   r"   r'   r(   r)   r%   r*   r1   r.   r2   r4   r5   r6   r9   r/   r0   r7   r3   r:   r8   r-   rZ   __classcell__)rB  s   @rO   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 rQ   r+  r   c                   #    g 7frK   rL   r0  r   	bufferingr$   r    newliner#   openers           rO   	open_filer  `  s
      (+r  c                   #    g 7frK   rL   r  s           rO   r  r  m  s
      !$r  c                   #    g 7frK   rL   r  s           rO   r  r  z  
      ),r  c                   #    g 7frK   rL   r  s           rO   r  r    r  r  c                   #    g 7frK   rL   r  s           rO   r  r    r  r  c                   #    g 7frK   rL   r  s           rO   r  r    s
       #r  c                   #    g 7frK   rL   r  s           rO   r  r    s
      "r  c                   #    [        [        R                  R                  [        R
                  U UUUUUUU5	      I Sh  vN 5      nU$  N
7f)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)ra  r8  r9  r:  ioopen)	r0  r   r  r$   r    r  r#   r  file_s	            rO   r  r    sS     6 nn%%GG

 
	
E L
	
s   >A AAc                   ^  SU 4S jjnU" S5      (       a  U" S5      (       d  U" S5      (       d  [        T  S35      e[        T 5      $ )a7  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                T   > [        TU 5      =(       a    [        [        TU 5      5      $ rK   )rJ  callablerA  )attrr0  s    rO   haswrap_file.<locals>.has  s!    tT"Dxd0C'DDrQ   r(  r.   r3   zI does not implement required duck-file methods: close and (read or write))r  rb   rS   rT   )	TypeErrorr+  )r0  r  s   ` rO   ra  ra    sM    $E LLc&kkS\\f ( (
 	

 $rQ   )rr  NNNTN)r0  	_OpenFiler   r   r  rq   r$   ri   r    ri   r  ri   r#   rT   r  _Opener | NonerS   z AsyncIOWrapper[io.TextIOWrapper])NNNTN)r0  r  r   r   r  z
Literal[0]r$   r   r    r   r  r   r#   rT   r  r  rS   zAsyncIOWrapper[io.FileIO])r  NNNTN)r0  r  r   r   r  Literal[-1, 1]r$   r   r    r   r  r   r#   rT   r  r  rS   z!AsyncIOWrapper[io.BufferedRandom])r0  r  r   r   r  r  r$   r   r    r   r  r   r#   rT   r  r  rS   z!AsyncIOWrapper[io.BufferedWriter])r0  r  r   r   r  r  r$   r   r    r   r  r   r#   rT   r  r  rS   z!AsyncIOWrapper[io.BufferedReader])r0  r  r   r   r  rq   r$   r   r    r   r  r   r#   rT   r  r  rS   zAsyncIOWrapper[BinaryIO])r0  r  r   rb   r  rq   r$   ri   r    ri   r  ri   r#   rT   r  r  rS   zAsyncIOWrapper[IO[Any]])r0  r  r   rb   r  rq   r$   ri   r    ri   r  ri   r#   rT   r  r  rS   zAsyncIOWrapper[object])r0  r<   rS   zAsyncIOWrapper[FileT])W
__future__r   r  collections.abcr   r   	functoolsr   typingr   r   r	   r
   r   r   r   r   r   r8  _utilr   abcr   	_typeshedr   r   r   r   r   r   typing_extensionsr   _syncr   r,   __annotations__r;   r<   r=   r?   r@   rA   rb   r   rC   rD   rE   rF   rH   r\   re   rk   rt   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  r  r  r%  r+  rq   r  _Openerr  ra  rL   rQ   rO   <module>r     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 %}`]GH$5 }`B "C'(	
C:s?
# 
 !	+
	+
	+ 	+ 		+
 	+ 	+ 	+ 	+ &	+ 
	+ 

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

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