Ë
    "ïàj	  ã                   ó¦   — d Z ddlZddlZdZ G d„ dej
                  «      Z G d„ dej                  «      Z G d„ d	e«      Zd
ej                  fd„Z
y)zSocket file object.é    Ni @  c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚBufferedWriterz-Faux file object attached to a socket object.c                 ó  — | j                  «        t        |t        «      rt        d«      ‚| j                  5  | j
                  j                  |«       | j                  «        t        |«      cddd«       S # 1 sw Y   yxY w)zWrite bytes to buffer.z can't write str to binary streamN)	Ú_checkClosedÚ
isinstanceÚstrÚ	TypeErrorÚ_write_lockÚ
_write_bufÚextendÚ_flush_unlockedÚlen)ÚselfÚbs     ú?/srv/dav/.venv/lib/python3.12/site-packages/cheroot/makefile.pyÚwritezBufferedWriter.write   sg   € à×ÑÔÜ�aœÔÜÐ>Ó?Ð?à×Ññ 	Ø�O‰O×"Ñ" 1Ô%Ø× Ñ Ô"Ü�q“6÷	÷ 	ò 	ús   ¸6A8Á8Bc                 ó.  — | j                  d«       | j                  rL	 | j                  j                  t	        | j                  «      «      }| j                  d |…= | j                  rŒKy y # t
        j                  $ r}|j                  }Y d }~ŒBd }~ww xY w)Nzflush of closed file)r   r   Úrawr   ÚbytesÚioÚBlockingIOErrorÚcharacters_written)r   ÚnÚes      r   r   zBufferedWriter._flush_unlocked   sx   € Ø×ÑÐ0Ô1Ø�oŠoð)ð —H‘H—N‘N¤5¨¯©Ó#9Ó:�ð —‘   Ð#ð �o�oøô
 ×%Ñ%ò )Ø×(Ñ(•ûð)ús   Ÿ.A+ Á+BÁ>BÂBN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © ó    r   r   r      s   „ Ù7ò	ó	$r    r   c                   óL   ‡ — e Zd ZdZdej
                  fˆ fd„	Zˆ fd„Zd„ Zˆ xZ	S )ÚStreamReaderzSocket stream reader.Úrc                 ó\   •— t         ‰| �  t        j                  ||«      |«       d| _        y)z Initialize socket stream reader.r   N)ÚsuperÚ__init__ÚsocketÚSocketIOÚ
bytes_read©r   ÚsockÚmodeÚbufsizeÚ	__class__s       €r   r&   zStreamReader.__init__)   s$   ø€ ä‰ÑœŸ™¨¨tÓ4°gÔ>Øˆ�r    c                 ób   •— t        ‰| �  |i |¤Ž}| xj                  t        |«      z  c_        |S )zCapture bytes read.)r%   Úreadr)   r   )r   ÚargsÚkwargsÚvalr.   s       €r   r0   zStreamReader.read.   s-   ø€ ä‰g‰l˜DÐ+ FÑ+ˆØ�Šœ3˜s›8Ñ#�Øˆ
r    c                 óF   — t        | j                  «      | j                  kD  S )z.Return true if there is buffered data to read.)r   Ú	_read_bufÚ	_read_pos)r   s    r   Úhas_datazStreamReader.has_data4   s   € ä�4—>‘>Ó" T§^¡^Ñ3Ð3r    )
r   r   r   r   r   ÚDEFAULT_BUFFER_SIZEr&   r0   r7   Ú__classcell__©r.   s   @r   r"   r"   &   s    ø„ Ùà"%¨r×/EÑ/Eõ ô
ö4r    r"   c                   óF   ‡ — e Zd ZdZdej
                  fˆ fd„	Zˆ fd„Zˆ xZS )ÚStreamWriterzSocket stream writer.Úwc                 ó\   •— t         ‰| �  t        j                  ||«      |«       d| _        y)z Initialize socket stream writer.r   N)r%   r&   r'   r(   Úbytes_writtenr*   s       €r   r&   zStreamWriter.__init__<   s%   ø€ ä‰ÑœŸ™¨¨tÓ4°gÔ>ØˆÕr    c                 ój   •— t        ‰| �  |g|¢­i |¤Ž}| xj                  t        |«      z  c_        |S )zCapture bytes written.)r%   r   r?   r   )r   r3   r1   r2   Úresr.   s        €r   r   zStreamWriter.writeA   s5   ø€ ä‰g‰m˜CÐ1 $Ò1¨&Ñ1ˆØ×Òœc #›hÑ&ÕØˆ
r    )	r   r   r   r   r   r8   r&   r   r9   r:   s   @r   r<   r<   9   s    ø„ Ùà"%¨r×/EÑ/Eõ ÷
ð r    r<   r#   c                 ó6   — d|v rt         nt        } || ||«      S )z(File object attached to a socket object.r#   )r"   r<   )r+   r,   r-   Úclss       r   ÚMakeFilerD   H   s   € à ™+�,¬<€CÙˆt�T˜7Ó#Ð#r    )r   Ú_pyior   r'   ÚSOCK_WRITE_BLOCKSIZEr   ÚBufferedReaderr"   r<   r8   rD   r   r    r   ú<module>rH      sZ   ðÙ ó Û ð Ð ô$�R×&Ñ&ô $ô44�2×$Ñ$ô 4ô&�>ô ð  R×%;Ñ%;ô $r    