Your IP : 18.188.218.134


Current Path : /opt/alt/python312/lib64/python3.12/encodings/__pycache__/
Upload File :
Current File : //opt/alt/python312/lib64/python3.12/encodings/__pycache__/utf_8_sig.cpython-312.opt-1.pyc

�

�Q�f%����dZddlZdd�Zdd�ZGd�dej�ZGd�dej
�ZGd	�d
ej�ZGd�dej�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�encoders1���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   rrzIncrementalEncoder.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__rrr!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   rrzStreamWriter.encode]s���)�)����e�V�$�$r
Nr+)r-r.r/r!rr0r
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
tt��S)Nz	utf-8-sig)�namerr�incrementalencoder�incrementaldecoder�streamreader�streamwriter)r�	CodecInforrrr2rEr>r0r
r�getregentryrOys*�����
���-�-�!�!��r
r+)
�__doc__rrrrr4r2r>rErOr0r
r�<module>rQsg�����%���2�2��."��:�:�"�H
%�6�&�&�
%�2�6�&�&�2�0	r

?>