�
�c- � � � d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl m
Z
d dlmZm
Z
mZmZmZmZ d dlmZ dd lmZmZmZmZmZmZ ee�
� � dedefd
�� � Z ee�
� � dedefd�� � Z ee�
� � dedee fd�� � Z ee�
� � dedefd�� � Z ee�
� � dedefd�� � Z! ee�
� � dedefd�� � Z" ee�
� � dedefd�� � Z# ee�
� � dedefd�� � Z$ ee�
� � dedefd�� � Z% ee�
� � dedefd�� � Z&dedefd�Z' ee�
� � dedefd�� � Z( ee�
� � dedefd�� � Z) ee�
� � dedefd�� � Z* ee�
� � dedefd�� � Z+ ee�
� � dedefd�� � Z, e e-e� � �
� � dedefd�� � Z. ee�
� � dedefd�� � Z/dCd!e0d"e1dee fd#�Z2 ed$�
� � d%edefd&�� � Z3d!e0deee e0f fd'�Z4d(edefd)�Z5dDd+ed,edefd-�Z6d.ede
e fd/�Z7d0ed1ede8fd2�Z9d0ed1edefd3�Z:d4ej; d5fd%ed6e1d7eddfd8�Z< dEd9e0d:ed;e=d<e1d=ed>ed?e0d@edAee deeddf fdB�Z>dS )F� N)�IncrementalDecoder)�aliases)� lru_cache)�findall)� Generator�List�Optional�Set�Tuple�Union)�MultibyteIncrementalDecoder� )�ENCODING_MARKS�IANA_SUPPORTED_SIMILAR�RE_POSSIBLE_ENCODING_INDICATION�UNICODE_RANGES_COMBINED�UNICODE_SECONDARY_RANGE_KEYWORD�UTF8_MAXIMAL_ALLOCATION)�maxsize� character�returnc � � t j | � � }n# t $ r Y dS w xY wd|v pd|v pd|v pd|v pd|v pd|v S )NFz
WITH GRAVEz
WITH ACUTEzWITH CEDILLAzWITH DIAERESISzWITH CIRCUMFLEXz
WITH TILDE��unicodedata�name�
ValueError�r �descriptions �:/usr/lib/python3/dist-packages/charset_normalizer/utils.py�is_accentuatedr s� � ��&�+�I�6�6����� � � ��u�u����� ��#� '��;�&� '��[�(� '� �{�*� '� ��+� '�
�;�&�
� � �
%�%c � � t j | � � }|s| S |� d� � }t t |d d� � � � S )N� r � )r �
decomposition�split�chr�int)r �
decomposed�codess r �
remove_accentr+ & |