� c��j�����dZddlZddlZddlmZiZdZdgZejZGd�de e �Z d �Z d �Z eje �ejd k(rd �Zeje�yy) 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 ([email protected]). (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. �N�)�aliasesz --unknown--�*c� �eZdZy)�CodecRegistryErrorN)�__name__� __module__� __qualname__���+/usr/lib64/python3.12/encodings/__init__.pyrr(s��r rc��t|t�r t|d�}g}d}|D]R}|j�s|dk(r9|r|r|j d�|j �r|j |�d}�Qd}�Tdj |�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�� �7�7�5�>�r c���tj|t�}|tur|St|�}tj|�xs%tj|j dd��}|�||g}n|g}|D] }|rd|vr� t d|ztd��}nd} |j}|� dt|<y�}t|tj��s@dt|�cxkrdks(ntd|j �d |j"�d ���t%|d�rvt%|d �rh|d �t%|d �rU|d �t%|d �rBt|�dkDr|d�t%|d�r!t|�dkDr9|d�4t%|d�s&td|j �d |j"�d���t|�dks|d�5|ddt|�z z|j j'dd �d fzz }tj|�}|t|< |j)�}|D]} | tvs� t| <�|S#t$rY���wxYw#t$rd}Y���wxYw#t$rY|SwxYw)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_functionrBGs��� �J�J�x�� *�E� �H��� �'�x�0�M��|�|�M�2�E��|�|�M�$9�$9�#�s�$C�D���#�$�!�#��"�?�����#��.� � ��\�G�3�l�#$�&�C� ������o�o� �  �{���x��� �M�E� �e�V�-�-� .��C��J�#�!�#�$�(+� � �c�l�l�&D�E� E���a��!��%��(�);� �!�H� ��%��(�);� �!�H� ��%��(�);� ��J��N�u�Q�x�3�H�U�1�X��)�%� �~�~�1�1�3�3�*��� � � �s�9=� A �A )�__doc__r3�sysrrr)r+r/r,� LookupError� SystemErrorrrrB�register�platformrKr r r �rRs���<� �� �� ���u� � �?�?�� ��k� ��8R�j����� ��<�<�7�� ��F�O�O�K� �!r