Your IP : 3.141.198.75


Current Path : /opt/alt/python311/lib64/python3.11/encodings/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/encodings/__pycache__/utf_8_sig.cpython-311.pyc

�

c��f%���dZddlZdd�Zdd�ZGd�dej��ZGd�d	ej��ZGd
�dej��ZGd�d
ej��Zd�Z	dS)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.
�N�strictc�p�tjtj||��dzt|��fS�Nr)�codecs�BOM_UTF8�utf_8_encode�len)�input�errorss  �:/opt/alt/python311/lib64/python3.11/encodings/utf_8_sig.py�encoder
s1���O�f�1�%��@�@��C�C���J�J���c��d}|dd�tjkr|dd�}d}tj||d��\}}|||zfS)Nr�T)rr�utf_8_decode)r
r�prefix�output�consumeds     r�decodersV��
�F��R�a�R�y�F�O�#�#��a�b�b�	�����,�U�F�D�A�A��V�X��H�V�O�$�$rc�0�eZdZd	d�Zd
d�Zd�Zd�Zd�ZdS)�IncrementalEncoderrc�T�tj�||��d|_dS�N�)rr�__init__�first��selfrs  rrzIncrementalEncoder.__init__s&���!�*�*�4��8�8�8���
�
�
rFc��|jr4d|_tjtj||j��dzStj||j��dSr)rrrrr)rr
�finals   rr
zIncrementalEncoder.encodesU���:�	>��D�J��?��&�u�d�k�:�:�1�=�>�
>��&�u�d�k�:�:�1�=�=rc�R�tj�|��d|_dSr)rr�resetr�rs rr"zIncrementalEncoder.reset's$���!�'�'��-�-�-���
�
�
rc��|jS�N�rr#s r�getstatezIncrementalEncoder.getstate+s
���z�rc��||_dSr%r&�r�states  r�setstatezIncrementalEncoder.setstate.s
����
�
�
rN�r)F)�__name__�
__module__�__qualname__rr
r"r'r+�rrrrsi����������>�>�>�>�����������rrc�.�eZdZdd�Zd�Zd�Zd�Zd�ZdS)	�IncrementalDecoderrc�T�tj�||��d|_dSr)r�BufferedIncrementalDecoderrrrs  rrzIncrementalDecoder.__init__2s&���)�2�2�4��@�@�@���
�
�
rc�B�|jr�t|��dkr)tj�|��rdSd|_nGd|_|dd�tjkr(tj|dd�||��\}}||dzfStj|||��S)Nr��rr)rr	rr�
startswithr)rr
rr rrs      r�_buffer_decodez!IncrementalDecoder._buffer_decode6s����:�
	0��5�z�z�A�~�~��?�-�-�e�4�4�#�#�7�!"�D�J�J���
���!��9���/�/��*�5����9�f�e�D�D�'�V�X�"�H�Q�J�/�/��"�5�&�%�8�8�8rc�R�tj�|��d|_dSr)rr4r"rr#s rr"zIncrementalDecoder.resetGs$���)�/�/��5�5�5���
�
�
rc�^�tj�|��}|d|jfSr)rr4r'rr)s  rr'zIncrementalDecoder.getstateKs)���1�:�:�4�@�@���a��$�*�%�%rc�`�tj�||��|d|_dSr)rr4r+rr)s  rr+zIncrementalDecoder.setstatePs*���)�2�2�4��?�?�?��1�X��
�
�
rNr,)r-r.r/rr9r"r'r+r0rrr2r21sd����������9�9�9�"���&�&�&�
����rr2c��eZdZd�Zdd�ZdS)�StreamWriterc�l�tj�|��	|`dS#t$rYdSwxYwr%)rr>r"r
�AttributeErrorr#s rr"zStreamWriter.resetV�I����!�!�$�'�'�'�	�������	�	�	��D�D�	�����%�
3�3rc�D�tj|_t||��Sr%)rrr
)rr
rs   rr
zStreamWriter.encode]s���)����e�V�$�$�$rNr,)r-r.r/r"r
r0rrr>r>Us7���������%�%�%�%�%�%rr>c��eZdZd�Zdd�ZdS)�StreamReaderc�l�tj�|��	|`dS#t$rYdSwxYwr%)rrEr"rr@r#s rr"zStreamReader.resetbrArBrc�X�t|��dkr"tj�|��rdSnP|dd�tjkr8tj|_tj|dd�|��\}}||dzfStj|_tj||��S)Nrr6)r	rrr8rr)rr
rrrs     rrzStreamReader.decodeis����u�:�:��>�>���)�)�%�0�0�
��w�
��2�A�2�Y�&�/�
)�
)� �-�D�K�!'�!4�U�1�2�2�Y�v�!F�!F��V�X��H�Q�J�'�'��)����"�5�&�1�1�1rNr,)r-r.r/r"rr0rrrErEas7���������2�2�2�2�2�2rrEc	�t�tjdtttt
tt���S)Nz	utf-8-sig)�namer
r�incrementalencoder�incrementaldecoder�streamreader�streamwriter)r�	CodecInfor
rrr2rEr>r0rr�getregentryrOys1����
���-�-�!�!����rr,)
�__doc__rr
rrr4r2r>rErOr0rr�<module>rQs�����
�
�
�����%�%�%�%�������2����."�"�"�"�"��:�"�"�"�H
%�
%�
%�
%�
%�6�&�
%�
%�
%�2�2�2�2�2�6�&�2�2�2�0	�	�	�	�	r

?>