o
    N i~  ã                   @  sV   d dl mZ d dlmZ d dlmZ er"d dlmZ G dd„ deƒZG dd„ dƒZd	S )
é    )Úannotations)ÚTYPE_CHECKING)Ústrip_escape_sequences)ÚProtocolc                   @  s   e Zd Zddd„ZdS )	ÚSupportsWriteÚtextÚstrÚreturnú
int | Nonec                C  s   d S ©N© ©Úselfr   r   r   úC/home/ubuntu/.local/lib/python3.10/site-packages/sphinx/util/_io.pyÚwrite   s    zSupportsWrite.writeN)r   r   r	   r
   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   
   s    r   c                   @  s.   e Zd ZdZddd„Zddd„Zddd„ZdS )ÚTeeStripANSIz(File-like object writing to two streams.Ústream_termr   Ústream_filer	   ÚNonec                 C  s   || _ || _d S r   )r   r   )r   r   r   r   r   r   Ú__init__   s   
zTeeStripANSI.__init__r   r   c                C  s    | j  |¡ | j t|ƒ¡ d S r   )r   r   r   r   r   r   r   r   r      s   zTeeStripANSI.writec                 C  s4   t | jdƒr| j ¡  t | jdƒr| j ¡  d S d S )NÚflush)Úhasattrr   r   r   )r   r   r   r   r      s
   
ÿzTeeStripANSI.flushN)r   r   r   r   r	   r   )r   r   r	   r   )r	   r   )r   r   r   Ú__doc__r   r   r   r   r   r   r   r      s
    

r   N)	Ú
__future__r   Útypingr   Úsphinx.util.consoler   r   r   r   r   r   r   r   Ú<module>   s    