U
    dJ                    @   s@  U d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z d dlmZmZmZmZ ddlmZ eddd	d
dgdeegeegdZeeeeee f f ed< dZeed< edZeed< dZeed< ededdeddeddeddeddeddeddeddeddeddeddedd ed d!ed!d"ed"d#ed#d$ed$d%ed%d&ed&d'ed'd(ed)d*ed*d+ed+d,ed,d-ed-d.ed.d/ed/d0ed0d1ed1d2ed2d3ed3d4ed4d5ed5d6ed6d7ed7d8ed8d9ed9d:ed:d;ed;d<ed<d=ed=d>ed>d?ed?d@ed@dAedAdBedBdCedCdDedDdEedEdFedFdGedGdHedHdIedIdJedJdKedKdLedLdMedMdNedNdOedOdPedPdQedQdRedRdSedSdTedUdVedVdWedWdXedXdYedYdZedZd[ed[d\ed\d]ed]d^ed^d_ed_d`ed`daedadbedbdcedcddedddeededfedfdgedgdhedhdiedidjedjdkedkdledldmedmdnedndoedodpedpdqedqdredrdsedsdtedtduedudvedvdwedwdxedxdyedydzedzd{ed{d|ed|d}ed}d~eddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddÃeddăeddŃeddƃeddǃeddȃeddʃedd˃edd̃edd̓edd΃eddσeddуeddӃeddԃeddՃeddփedd؃eddكeddڃedd܃edd݃eddރedd߃eddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddeddedd ed deddeddeddedded	d
eddeddeddeddeddeddeddeddeddeddeddeddedded d!ed!d"ed"d#ed$d%ed%d&ed'd(ed)d*ed*d+ed,d-ed-d.ed.d/ed0d1ed1d2ed3d4ed4d5ed6d7ed8d9ed:d;ed<d=ed>d?ed?d@ed@dAedAdBedBdCedCdDedDdEedEdFedFdGedGdHedHdIedIdJedJdKedLdMedNdOedOdPedPdQedQdRedSdTedUdVedWdXdYZeeef edZ< d[d\d]d^d_d`dadbdcdddedfdgdhdigZee edj< edke	Zee dldm e!e"e# Z$ee edn< e%e$Z&eedo< dpdqdrdsgdtdqdrdsgdugdtdpdrdsgdvgdwdxgdydzd{gd|gdydzd{gd}gdtdpdqdsgd~ddddddgdtdpdqdrgddddgd~ddgdd~ddgdddddgdddddgdddddgdddddgdd~ddddddgdgddyddzd{gdgdgddydddzd{gdddddddzd{gddydvddzd{gdddgddyddzd{gddvdzd{gdgddddddydddd{g
ddxgddddddyddddzg
ddgddgddgddwgdgd(Z'eeee f ed< ddddddddddddddddddddddddddddddddd Z(eeef ed< dddddddÐdĐdŐdƐdǐdȐdɐdʐdhZ)ee ed< d͐dΐdhZ*ee ed< dѐdҐdӐdhZ+ee ed< edփZ,e%eZ-eed< dZ.eed< dS (      )BOM_UTF8BOM_UTF16_BEBOM_UTF16_LEBOM_UTF32_BEBOM_UTF32_LE)aliases)
IGNORECASEcompile)DictListSetUnion   )FREQUENCIESs   +/v8s   +/v9s   +/v+s   +/v/s   +/v8-s   13)utf_8utf_7gb18030utf_32utf_16ENCODING_MARKS    TOO_SMALL_SEQUENCEg    cATOO_BIG_SEQUENCEi  UTF8_MAXIMAL_ALLOCATION      i  iP  i  i   ip  i   i   i0  i  i   i   iP  i  i  i   i@  i`  ip  i  i 	  i	  i 
  i
  i   i  i   i  i   i  i   i  i   i   i  i   i   i  i  i   i  i  i   i   i@  i`  i  i   i  i   iP  i  i  i   i   i  i   i  i  i   iP  i  i  i  i  i   i  i  i   i   i    ip   i   i   i !  iP!  i!  i "  i #  i $  i@$  i`$  i %  i%  i%  i &  i '  i'  i'  i (  i )  i)  i *  i +  i ,  i`,  i,  i -  i0-  i-  i-  i .  i.  i /  i/  i/  i 0  i@0  i0  i 1  i01  i1  i1  i1  i1  i 2  i 3  i 4  iM  i N  i   i  iФ  i   i@  i  i   i   i   i0  i@  i  i  i   i0  i`  i  i  i   i`  i  i  i   i0  ip  i  i   i  i   i  i   i   i   i   iP  i   i  i   i0  iP  ip  i   i  i   i  i  i@ i i i  i i i i  i0 iP i i i i  iP i i i  i0 ip i  i i  i@ i` i i i i 	 i 	 i@	 i	 i	 i 
 i`
 i
 i
 i
 i  i@ i` i i i  iP i i  i` i i  i i i  iP i i i  iP i i i  i i  i i i i  i` i i i  i@ i i  i  iP i i i  i  ip i i  i` i   i $ i$ iP% i 0 i04 i D iF i h i@j ipj ij i k ik i o io io i p i  i  i  i  i0 ip i  i  i i i  i  i  iP i  i` i i  i  i i  i0 i  i i  i` i  i  i  i0 i i  i  i  i  iP i i  i i  i  i  i   i i  i@ i  i i i  i  i   i  i  i (  zControl characterzBasic LatinzLatin-1 SupplementzLatin Extended-AzLatin Extended-BzIPA ExtensionszSpacing Modifier LetterszCombining Diacritical MarkszGreek and CopticCyrilliczCyrillic SupplementZArmenianHebrewArabicZSyriaczArabic SupplementZThaanaZNKoZ	SamaritanZMandaiczSyriac SupplementzArabic Extended-A
DevanagariZBengaliZGurmukhiZGujaratiZOriyaZTamilZTeluguZKannadaZ	MalayalamZSinhalaThaiZLaoZTibetanZMyanmarZGeorgianzHangul JamoZEthiopiczEthiopic SupplementZCherokeez%Unified Canadian Aboriginal SyllabicsZOghamZRunicZTagalogZHanunooZBuhidZTagbanwaZKhmerZ	Mongolianz.Unified Canadian Aboriginal Syllabics ExtendedZLimbuzTai LezNew Tai LuezKhmer SymbolsZBuginesezTai Thamz$Combining Diacritical Marks ExtendedZBalineseZ	SundaneseZBatakZLepchazOl ChikizCyrillic Extended CzSundanese SupplementzVedic ExtensionszPhonetic ExtensionszPhonetic Extensions Supplementz&Combining Diacritical Marks SupplementzLatin Extended AdditionalzGreek ExtendedzGeneral PunctuationzSuperscripts and SubscriptszCurrency Symbolsz'Combining Diacritical Marks for SymbolszLetterlike SymbolszNumber FormsZArrowszMathematical OperatorszMiscellaneous TechnicalzControl PictureszOptical Character RecognitionzEnclosed AlphanumericszBox DrawingzBlock ElementszGeometric ShapeszMiscellaneous SymbolsZDingbatsz$Miscellaneous Mathematical Symbols-AzSupplemental Arrows-AzBraille PatternszSupplemental Arrows-Bz$Miscellaneous Mathematical Symbols-Bz#Supplemental Mathematical Operatorsz Miscellaneous Symbols and ArrowsZ
GlagoliticzLatin Extended-CZCopticzGeorgian SupplementZTifinaghzEthiopic ExtendedzCyrillic Extended-AzSupplemental PunctuationzCJK Radicals SupplementzKangxi Radicalsz"Ideographic Description CharacterszCJK Symbols and PunctuationHiraganaKatakanaZBopomofozHangul Compatibility JamoZKanbunzBopomofo ExtendedzCJK StrokeszKatakana Phonetic ExtensionszEnclosed CJK Letters and MonthszCJK Compatibilityz"CJK Unified Ideographs Extension AzYijing Hexagram SymbolszCJK Unified IdeographszYi SyllableszYi RadicalsZLisuZVaizCyrillic Extended-BZBamumzModifier Tone LetterszLatin Extended-DzSyloti NagrizCommon Indic Number FormszPhags-paZ
SaurashtrazDevanagari ExtendedzKayah LiZRejangzHangul Jamo Extended-AZJavanesezMyanmar Extended-BZChamzMyanmar Extended-AzTai VietzMeetei Mayek ExtensionszEthiopic Extended-AzLatin Extended-EzCherokee SupplementzMeetei MayekzHangul SyllableszHangul Jamo Extended-BzHigh SurrogateszHigh Private Use SurrogateszLow SurrogateszPrivate Use AreazCJK Compatibility IdeographszAlphabetic Presentation FormszArabic Presentation Forms-AzVariation SelectorszVertical FormszCombining Half MarkszCJK Compatibility FormszSmall Form VariantszArabic Presentation Forms-BzHalfwidth and Fullwidth FormsZSpecialszLinear B SyllabaryzLinear B IdeogramszAegean NumberszAncient Greek NumberszAncient SymbolszPhaistos DiscZLycianZCarianzCoptic Epact Numbersz
Old ItalicZGothicz
Old PermicZUgariticzOld PersianZDeseretZShavianZOsmanyaZOsageZElbasanzCaucasian AlbanianzLinear AzCypriot SyllabaryzImperial AramaicZ	PalmyreneZ	NabataeanZHatranZ
PhoenicianZLydianzMeroitic HieroglyphszMeroitic CursiveZ
KharoshthizOld South ArabianzOld North ArabianZ
ManichaeanZAvestanzInscriptional ParthianzInscriptional PahlavizPsalter Pahlaviz
Old TurkiczOld HungarianzRumi Numeral SymbolsZBrahmiZKaithizSora SompengZChakmaZMahajaniZSharadazSinhala Archaic NumbersZKhojkiZMultaniZ	KhudawadiZGranthaZNewaZTirhutaZSiddhamZModizMongolian SupplementZTakriZAhomzWarang CitizZanabazar SquareZSoyombozPau Cin HauZ	BhaiksukiZMarchenzMasaram GondiZ	Cuneiformz!Cuneiform Numbers and PunctuationzEarly Dynastic CuneiformzEgyptian HieroglyphszAnatolian HieroglyphszBamum SupplementZMroz	Bassa VahzPahawh HmongZMiaoz#Ideographic Symbols and PunctuationZTangutzTangut ComponentszKana SupplementzKana Extended-AZNushuZDuployanzShorthand Format ControlszByzantine Musical SymbolszMusical SymbolszAncient Greek Musical NotationzTai Xuan Jing SymbolszCounting Rod Numeralsz!Mathematical Alphanumeric SymbolszSutton SignWritingzGlagolitic SupplementzMende KikakuiZAdlamz&Arabic Mathematical Alphabetic SymbolszMahjong TileszDomino TileszPlaying Cardsz Enclosed Alphanumeric SupplementzEnclosed Ideographic Supplementz%Miscellaneous Symbols and PictographszEmoticons range(Emoji)zOrnamental DingbatszTransport and Map SymbolszAlchemical SymbolszGeometric Shapes ExtendedzSupplemental Arrows-Cz$Supplemental Symbols and Pictographsz"CJK Unified Ideographs Extension Bz"CJK Unified Ideographs Extension Cz"CJK Unified Ideographs Extension Dz"CJK Unified Ideographs Extension Ez"CJK Unified Ideographs Extension Fz'CJK Compatibility Ideographs SupplementTagszVariation Selectors SupplementUNICODE_RANGES_COMBINEDZ
SupplementZExtendedZ
ExtensionsZModifierZMarksZPunctuationZSymbolsZFormsZ	OperatorsZMiscellaneousZDrawingZBlockZShapesZSupplementalr#   UNICODE_SECONDARY_RANGE_KEYWORDz^(?:(?:encoding)|(?:charset)|(?:coding))(?:[\:= ]{1,10})(?:[\"\']?)([a-zA-Z0-9\-_]+)(?:[\"\']?)c                 C   s   |  ddko| dkS )NZ_codecF>   mbcsrot_13tactis)endswith)x r+   ?/tmp/pip-unpacked-wheel-b4wixufl/charset_normalizer/constant.py<lambda>P  s   r-   IANA_SUPPORTEDIANA_SUPPORTED_COUNTcp1026cp1140cp273cp500cp037cp866	iso8859_2kz1048ptcp154
iso8859_15	iso8859_9latin_1	iso8859_7
iso8859_13cp850cp858cp860cp861cp862cp863cp865cp437cp857cp1125
iso8859_14	iso8859_4tis_620cp1257
iso8859_10
iso8859_16	iso8859_3cp1252cp1254cp1250cp1253cp1258cp1251	mac_romanmac_turkishmac_iceland
iso8859_11)(r4   r0   rG   r1   rQ   rT   rO   rR   rP   rK   r2   rE   r3   r>   rF   r?   r@   rA   rB   rC   rD   r5   rL   rX   r=   rH   r9   rM   r6   rN   rI   r<   r:   r7   r;   rW   rU   rV   r8   rJ   IANA_SUPPORTED_SIMILARzISO-2022-KRzISO-2022-JPzEUC-KRzTIS-620zUTF-32zEUC-JPzKOI8-Rz
ISO-8859-1z
ISO-8859-2z
ISO-8859-5z
ISO-8859-6z
ISO-8859-7z
ISO-8859-8zUTF-16IBM855MacCyrillicGB2312ZGB18030CP932IBM866zutf-8z	UTF-8-SIG	SHIFT_JISBig5zwindows-1250zwindows-1251zWindows-1252zwindows-1253zwindows-1255zwindows-1256zWindows-1254CP949) 
iso2022_kr
iso2022_jpeuc_krrJ   r   euc_jpkoi8_r	iso8859_1r6   	iso8859_5	iso8859_6r<   	iso8859_8r   cp855mac_cyrillicgb2312r   cp932r5   r   Z	utf_8_sig	shift_jisbig5rQ   rT   rO   rR   cp1255cp1256rP   cp949CHARDET_CORRESPONDENCE<>=:/&;{}[],|"-COMMON_SAFE_ASCII_CHARACTERSjohabrs   rd   KO_NAMESrp   cp950	big5hkscshzZH_NAMESz[0-9\W\n\r\t]+LANGUAGE_SUPPORTED_COUNT   TRACEN)/codecsr   r   r   r   r   Zencodings.aliasesr   rer   r	   Z
re_compiletypingr
   r   r   r   Zassetsr   r   strbytes__annotations__r   intr   r   ranger$   r%   ZRE_POSSIBLE_ENCODING_INDICATIONsortedfilterlistsetvaluesr.   lenr/   rY   rt   r   r   r   ZNOT_PRINTABLE_PATTERNr   r   r+   r+   r+   r,   <module>   s   "
    

"	




Z%"
