File: //lib/python3.12/__pycache__/codecs.cpython-312.pyc
�
    )!�h�  �                   �  � d Z ddlZddlZ	 ddl� g d�ZdZdxZ	Z
dxZZd	Z
d
Zej                  dk(  re
xZZe
ZnexZZeZe
ZeZe
ZeZ G d� d
e�      Z G d� d�      Z G d� de�      Z G d� de�      Z G d� de�      Z G d� de�      Z G d� de�      Z G d� de�      Z  G d� d�      Z! G d� d�      Z"d2d!�Z#d3d"�Z$d#� Z%d$� Z&d%� Z'd&� Z(d'� Z)d(� Z*d4d)�Z+d4d*�Z,d+� Z-d,� Z.	  e/d �      Z0 e/d-�      Z1 e/d.�      Z2 e/d/�      Z3 e/d0�      Z4 e/d1�      Z5dZ7e7rddl8Z8yy# e$ rZ edez  �      �dZ[ww xY w# e6$ r dZ0dZ1dZ2dZ3dZ4dZ5Y �5w xY w)5z� codecs -- Python Codec Registry, API and helpers.
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
�    N)�*z%Failed to load the builtin codecs: %s),�register�lookup�open�EncodedFile�BOM�BOM_BE�BOM_LE�BOM32_BE�BOM32_LE�BOM64_BE�BOM64_LE�BOM_UTF8�	BOM_UTF16�BOM_UTF16_LE�BOM_UTF16_BE�	BOM_UTF32�BOM_UTF32_LE�BOM_UTF32_BE�	CodecInfo�Codec�IncrementalEncoder�IncrementalDecoder�StreamReader�StreamWriter�StreamReaderWriter�
StreamRecoder�
getencoder�
getdecoder�getincrementalencoder�getincrementaldecoder�	getreader�	getwriter�encode�decode�
iterencode�
iterdecode�
strict_errors�
ignore_errors�replace_errors�xmlcharrefreplace_errors�backslashreplace_errors�namereplace_errors�register_error�lookup_errors   s   ��s   ��s   ��  s     ���littlec                   �,   � e Zd ZdZdZ	 	 ddd�d�Zd� Zy)r   z0Codec details when looking up the codec registryTN)�_is_text_encodingc                �   � t         j                  | ||||f�      }	||	_        ||	_        ||	_        ||	_        ||	_        ||	_        ||	_        |�||	_	        |	S �N)
�tuple�__new__�namer$   r%   �incrementalencoder�incrementaldecoder�streamwriter�streamreaderr2   )
�clsr$   r%   r;   r:   r8   r9   r7   r2   �selfs
             �/usr/lib/python3.12/codecs.pyr6   zCodecInfo.__new__^   se   � � �}�}�S�6�6�<��"N�O����	�������"4���"4���(���(����(�%6�D�"���    c                 �   � d| j                   j                  | j                   j                  | j                  t	        | �      fz  S )Nz%<%s.%s object for encoding %s at %#x>)�	__class__�
__module__�__qualname__r7   �id�r=   s    r>