�
�f�����dZddlZddlZddlmZiZdZdgZejZGd�de e
��Zd �Zd
�Z
eje
��ejdkrd�Zeje��dSdS)
a2 Standard "encodings" Package
Standard Python encoding modules are stored in this package
directory.
Codec modules must have names corresponding to normalized encoding
names as defined in the normalize_encoding() function below, e.g.
'utf-8' must be implemented by the module 'utf_8.py'.
Each codec module must export the following interface:
* getregentry() -> codecs.CodecInfo object
The getregentry() API must return a CodecInfo object with encoder, decoder,
incrementalencoder, incrementaldecoder, streamwriter and streamreader
attributes which adhere to the Python Codec Interface Standard.
In addition, a module may optionally also define the following
APIs which are then used by the package's codec search function:
* getaliases() -> sequence of encoding name strings to use as aliases
Alias names returned by getaliases() must be normalized encoding
names as defined by normalize_encoding().
Written by Marc-Andre Lemburg (mal@lemburg.com).
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
�N�)�aliasesz--unknown--�*c��eZdZdS)�CodecRegistryErrorN)�__name__�
__module__�__qualname__���9/opt/alt/python311/lib64/python3.11/encodings/__init__.pyrr(s�������Drrc�J�t|t��rt|d��}g}d}|D]c}|���s|dkrE|r|r|�d��|���r|�|��d}�ad}�dd�|��S)ae Normalize an encoding name.
Normalization works as follows: all non-alphanumeric
characters except the dot used for Python package names are
collapsed and replaced with a single underscore, e.g. ' -;#'
becomes '_'. Leading and trailing underscores are removed.
Note that encoding names should be ASCII only.
�asciiF�.�_T�)�
isinstance�bytes�str�isalnum�append�isascii�join)�encoding�chars�punct�cs r
�normalize_encodingr+s����(�E�"�"�*��x��)�)���E��E�
�����9�9�;�;� �!�s�(�(��
"��
"����S�!�!�!��y�y�{�{�
����Q�����E�E��E�E�
�7�7�5�>�>�rc���t�|t��}|tur|St|��}t�|��p-t�|�dd����}|�||g}n|g}|D]5}|rd|vr� t
d|ztd���}n#t$rY�2wxYwd} |j }n#t$rd}YnwxYw|�dt|<dS|��}t|tj
���s�dt|��cxkrdks"ntd|j�d |j�d
����t%|d��r�t%|d��r�|d�t%|d��r}|d
�t%|d
��r`t|��dkr|d�t%|d��r0t|��dkr=|d�5t%|d��s td|j�d |j�d����t|��dks|d�;|ddt|��z
z|j�dd��dfzz
}tj
|�}|t|< |���}|D]} | tvr
|t| <�n#t$rYnwxYw|S)Nrrz
encodings.r)�fromlist�level��zmodule "z" (z) failed to registerr���zincompatible codecs in module "�)�)N)�_cache�get�_unknownr�_aliases�replace�
__import__�_import_tail�ImportError�getregentry�AttributeErrorr�codecs� CodecInfo�lenrr�__file__�callable�split�
getaliases)
r�entry�
norm_encoding�aliased_encoding�modnames�modname�modr1�codecaliases�aliass
r
�search_functionrBGsw��
�J�J�x��*�*�E��H�����'�x�0�0�M��|�|�M�2�2�E��|�|�M�$9�$9�#�s�$C�$C�D�D���#�$�!�#���"�?������� �#��.�.��
��\�G�3�l�#$�&�&�&�C�
�E��� � � �
�D� ��������o�����������������{���x���t�
�K�M�M�E��e�V�-�.�.�
)��C��J�J�#�#�#�#�!�#�#�#�#�$�$�(+����c�l�l�l�&D�E�E�
E���a��!�!� E��%��(�);�);� E��!�H� ��%��(�);�);� ��!�H� ��%��(�);�);� ���J�J��N�N�u�Q�x�3�H�U�1�X�<N�<N�3���J�J��N�N�u�Q�x�3�H�U�1�X�<N�<N�3�$�$�(+����c�l�l�l�&D�E�E�
E��u�:�:�a�<�<�5��8�+��W�a��E�
�
�l�+�s�|�/A�/A�#�q�/I�/I�!�/L�.N�N�N�E�� �%�(���F�8��*��~�~�'�'��"� *� *�E��H�$�$�")����� *���
�
�
���
�����Ls6�B5�5
C�C�C�C�C�$K�
K�K�win32c�� ddl}d|���z}||krddl}|j���SdS#t
$rYdSwxYw)Nrzcp%s)�_winapi�GetACP�encodings.mbcs�mbcsr1r0)rrE�ansi_code_page� encodingss r
�_alias_mbcsrK�s{�� ��N�N�N�#�g�n�n�&6�&6�6�N��>�)�)�%�%�%�%� �~�1�1�3�3�3�*�)��� � � ��D�D� ���s�=A�
A�A)�__doc__r3�sysrrr)r+r/r,�LookupError�SystemErrorrrrB�register�platformrKrrr
�<module>rRs�����<�
�
�
�
�
�
�
������� �����u���?�� � � � � ��k� � � ����8R�R�R�j���� � � ��<�7���
� � ��F�O�K� � � � � �!�r |