Your IP : 3.148.238.144
�
)��g%����dZddlZdd�Zdd�ZGd�dej�ZGd�dej
�ZGd �d
ej�ZGd�dej�Zd
�Z y)a Python 'utf-8-sig' Codec
This work similar to UTF-8 with the following changes:
* On encoding/writing a UTF-8 encoded BOM will be prepended/written as the
first three bytes.
* On decoding/reading if the first three bytes are a UTF-8 encoded BOM, these
bytes will be skipped.
�Nc�l�tjtj||�dzt|�fS�Nr)�codecs�BOM_UTF8�utf_8_encode�len)�input�errorss �:/opt/alt/python312/lib64/python3.12/encodings/utf_8_sig.py�encoders1���O�O�f�1�1�%��@��C�C���J���c��d}|ddtjk(r|dd}d}tj||d�\}}|||zfS)Nr�T)rr�utf_8_decode)r r
�prefix�output�consumeds r�decodersQ��
�F��R�a�y�F�O�O�#��a�b� �����,�,�U�F�D�A��V�X��H�V�O�$�$r
c�.�eZdZdd�Zdd�Zd�Zd�Zd�Zy) �IncrementalEncoderc�R�tjj||�d|_y�N�)rr�__init__�first��selfr
s rrzIncrementalEncoder.__init__s���!�!�*�*�4��8���
r
c���|jr;d|_tjtj||j�dzStj||j�dSr)rrrrr
)rr �finals rrzIncrementalEncoder.encodesX���:�:��D�J��?�?��&�&�u�d�k�k�:�1�=�>�
>��&�&�u�d�k�k�:�1�=�=r
c�P�tjj|�d|_yr)rr�resetr�rs rr!zIncrementalEncoder.reset's���!�!�'�'��-���
r
c��|jS�N�rr"s r�getstatezIncrementalEncoder.getstate+s���z�z�r
c��||_yr$r%�r�states r�setstatezIncrementalEncoder.setstate.s ����
r
N��strict)F)�__name__�
__module__�__qualname__rrr!r&r*�r
rrrs���>���r
rc�,�eZdZdd�Zd�Zd�Zd�Zd�Zy)�IncrementalDecoderc�R�tjj||�d|_yr)r�BufferedIncrementalDecoderrrrs rrzIncrementalDecoder.__init__2s���)�)�2�2�4��@���
r
c�6�|jrwt|�dkr(tjj |�ryd|_nAd|_|ddtjk(r$tj
|dd||�\}}||dzfStj
|||�S)Nr��rr)rrrr�
startswithr)rr r
rrrs r�_buffer_decodez!IncrementalDecoder._buffer_decode6s����:�:��5�z�A�~��?�?�-�-�e�4�#�!"�D�J���
���!�9����/��*�*�5���9�f�e�D�'�V�X�"�H�Q�J�/�/��"�"�5�&�%�8�8r
c�P�tjj|�d|_yr)rr4r!rr"s rr!zIncrementalDecoder.resetGs���)�)�/�/��5���
r
c�b�tjj|�}|d|jfSr)rr4r&rr(s rr&zIncrementalDecoder.getstateKs+���1�1�:�:�4�@���a��$�*�*�%�%r
c�X�tjj||�|d|_yr)rr4r*rr(s rr*zIncrementalDecoder.setstatePs#���)�)�2�2�4��?��1�X��
r
Nr+)r-r.r/rr9r!r&r*r0r
rr2r21s���9�"�&�
r
r2c��eZdZd�Zdd�Zy)�StreamWriterc�f�tjj|� |`y#t$rYywxYwr$)rr>r!r�AttributeErrorr"s rr!zStreamWriter.resetV�2�����!�!�$�'� ����� �� ���$� 0�0c�D�tj|_t||�Sr$)rrr)rr r
s rrzStreamWriter.encode]s���)�)����e�V�$�$r
Nr+)r-r.r/r!rr0r
rr>r>Us���%r
r>c��eZdZd�Zdd�Zy)�StreamReaderc�f�tjj|� |`y#t$rYywxYwr$)rrEr!rr@r"s rr!zStreamReader.resetbrArBc�P�t|�dkr tjj|�rOy|ddtjk(r8tj|_tj|dd|�\}}||dzfStj|_tj||�S)Nrr6)rrrr8rr)rr r
rrs rrzStreamReader.decodeis����u�:��>����)�)�%�0��
�2�A�Y�&�/�/�
)� �-�-�D�K�!'�!4�!4�U�1�2�Y�v�!F��V�X��H�Q�J�'�'��)�)����"�"�5�&�1�1r
Nr+)r-r.r/r!rr0r
rrErEas���2r
rEc �j�tjdtttt
tt��S)Nz utf-8-sig)�namerr�incrementalencoder�incrementaldecoder�streamreader�streamwriter)r� CodecInforrrr2rEr>r0r
r�getregentryrOys*�����
���-�-�!�!��r
r+)
�__doc__rrrrr4r2r>rErOr0r
r�<module>rQsg�����%���2�2��."��:�:�"�H
%�6�&�&�
%�2�6�&�&�2�0 r
?>