+
    lh                        R t Rt. ROt^ RIt^ RIt^ R	IHt ^ R
IHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHt ^ t^t^t ! R R]P2                  ]P4                  R7      t ! R R]P8                  ]4      t ! R R]P<                  ]4      t ! R R]P@                  ]4      t!]PE                  ]4       ]]]]]3 F  t#]PE                  ]#4       K  	  ]]3 F  t#]!PE                  ]#4       K  	  A# ^ RIH$t$ ]PE                  ]$4       ]&! ]'](,          4      t) ! R R]P4                  R7      t* ! R R]P4                  R7      t+R#   ]% d     LFi ; i)a  The io module provides the Python interfaces to stream handling. The
builtin open function is defined in this module.

At the top of the I/O hierarchy is the abstract base class IOBase. It
defines the basic interface to a stream. Note, however, that there is no
separation between reading and writing to streams; implementations are
allowed to raise an OSError if they do not support a given operation.

Extending IOBase is RawIOBase which deals simply with the reading and
writing of raw bytes to a stream. FileIO subclasses RawIOBase to provide
an interface to OS files.

BufferedIOBase deals with buffering on a raw byte stream (RawIOBase). Its
subclasses, BufferedWriter, BufferedReader, and BufferedRWPair buffer
streams that are readable, writable, and both respectively.
BufferedRandom provides a buffered interface to random access
streams. BytesIO is a simple stream of in-memory bytes.

Another IOBase subclass, TextIOBase, deals with the encoding and decoding
of streams into text. TextIOWrapper, which extends it, is a buffered text
interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO
is an in-memory stream for text.

Argument names are not part of the specification, and only the arguments
of open() are intended to be used as keyword arguments.

data:

DEFAULT_BUFFER_SIZE

   An int containing the default buffer size used by the module's buffered
   I/O classes. open() uses the file's blksize (as obtained by os.stat) if
   possible.
zGuido van Rossum <guido@python.org>, Mike Verdone <mike.verdone@gmail.com>, Mark Russell <mark.russell@zen.co.uk>, Antoine Pitrou <solipsis@pitrou.net>, Amaury Forgeot d'Arc <amauryfa@gmail.com>, Benjamin Peterson <benjamin@python.org>IOBase	RawIOBaseBufferedIOBase
TextIOBaseReaderWriterN)_check_methods)DEFAULT_BUFFER_SIZEBlockingIOErrorUnsupportedOperationopen	open_codeFileIOBytesIOStringIOBufferedReaderBufferedWriterBufferedRWPairBufferedRandomIncrementalNewlineDecodertext_encodingTextIOWrapperc                   B    ] tR t^Gt]P
                  P                  tRtR# )r    N)__name__
__module____qualname____firstlineno___io_IOBase__doc____static_attributes__r       lib/python3.14/io.pyr   r   G   s    kk!!Gr"   )	metaclassc                   B    ] tR t^Jt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   
_RawIOBaser    r!   r   r"   r#   r   r   J   s    nn$$Gr"   c                   B    ] tR t^Mt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   _BufferedIOBaser    r!   r   r"   r#   r   r   M   s    !!))Gr"   c                   B    ] tR t^Pt]P
                  P                  tRtR# )r   r   N)r   r   r   r   r   _TextIOBaser    r!   r   r"   r#   r   r   P   s    oo%%Gr"   )_WindowsConsoleIOc                   p   a  ] tR t^kt o RtRt]P                  RR l4       t]	R 4       t
]	! ]4      tRtV tR# )r   zUProtocol for simple I/O reader instances.

This protocol only supports blocking I/O.
c                   R# )z~Read data from the input stream and return it.

If *size* is specified, at most *size* items (bytes/characters) will be
read.
Nr   )selfsizes   ""r#   readReader.reads       r"   c                :    V \         J d   \        VR 4      # \        # )r0   )r   r   NotImplementedclsCs   &&r#   __subclasshook__Reader.__subclasshook__{   s    &=!!V,,r"   r   N).)r   r   r   r   r    	__slots__abcabstractmethodr0   classmethodr8   GenericAlias__class_getitem__r!   __classdictcell____classdict__s   @r#   r   r   k   sJ     
 I   
 $L1r"   c                   l   a  ] tR t^t o RtRt]P                  R 4       t]	R 4       t
]	! ]4      tRtV tR# )r   zUProtocol for simple I/O writer instances.

This protocol only supports blocking I/O.
c                   R# )zIWrite *data* to the output stream and return the number of items written.Nr   )r.   datas   ""r#   writeWriter.write   r2   r"   c                :    V \         J d   \        VR 4      # \        # )rF   )r   r   r4   r5   s   &&r#   r8   Writer.__subclasshook__   s    &=!!W--r"   r   N)r   r   r   r   r    r:   r;   r<   rF   r=   r8   r>   r?   r!   r@   rA   s   @r#   r   r      sL     
 IX X  
 $L1r"   )r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   SEEK_SETSEEK_CURSEEK_ENDr	   r   r   r   r   ),r    
__author____all__r   r;   _collections_abcr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   rJ   rK   rL   r   ABCMetar   r&   r   r(   r   r*   r   registerklassr+   ImportErrortypelistintr>   r   r   r   r"   r#   <module>rW      sV  !H8
  
 +J J J J J 
"S[[CKK "% %*S((& *&& & 
  6 ~~~EE" &E '	*% () DI2s{{ 222s{{ 2K  		s   0E EE