
    ޺iV              	      (   % S r SSKJr  SSKrSSKrSSKrSSKJr  SSKJ	r	  SSK
Jr  SSKJr  \S   rS	r/ \QS
P7rSrSrSrSrSr\R,                  " SSS9 " S S5      5       r\R0                  " SS9  S       SS jj5       r/ \" SS\R4                  SSS9P\" SS\R4                  SSS9P\" SS\R4                  SSS9P\" S S!\R4                  SSS9P\" S"S#\R4                  SSS9P\" S$S%\R4                  SSS9P\" S&S'\R4                  SSS9P\" S(S)\R4                  SSS9P\" S*S+\R4                  SSS9P\" S,S-\R6                  SSS9P\" S.S/\R4                  SS0S9P\" S1S2\R4                  SS3S9P\" S4S5\R4                  SS6S9P\" S7S8\R4                  SS3S9P\" S9S:\R4                  SS6S9P\" S;S<\R4                  SS0S9P\" S=S>\R6                  SS0S9P\" S?S@\R4                  SS3S9P\" SASB\R4                  SS3S9P\" SCSD\R4                  SS3S9P\" SESF\R6                  SS6S9P\" SGSH\R4                  SS3S9P\" SISJ\R4                  SSKS9P\" SLSM\R4                  S\S9P\" SNSO\R4                  S\S9P\" SPSQ\R4                  S\S9P\" SRSS\R4                  SSTS9P\" SUSV\R4                  SSWS9P\" SXSY\R4                  SSZS9P\" S[S\\R4                  S\S9P\" S]S^\R4                  S\S9P\" S_S`\R4                  SSaS9P\" SbSc\R4                  SSdS9P\" SeSf\R4                  SSgS9P\" ShSi\R4                  SSKS9P\" SjSk\R8                  S\S9P\" SlSm\R8                  S\S9P\" SnSo\R8                  SSpS9P\" SqSr\R8                  S\S9P\" SsSt\R8                  S\S9P\" SuSv\R8                  S\S9P\" SwSx\R8                  SSTS9P\" SySz\R8                  SSZS9P\" S{S|\R8                  SSWS9P\" S}S~\R8                  SSS9P\" SS\R8                  S\S9P\" SS\R8                  SSS9P\" SS\R8                  S\S9P\" SS\R8                  SSS9P\" SS\R8                  SS6S9P\" SS\R:                  S\S9P\" SS\R:                  SSTS9P\" SS\R:                  SSS9P\" SS\R:                  S\S9P\" SS\R:                  S\S9P\" SS\R:                  SSWS9P\" SS\R6                  S\S9P\" SS\R6                  SSS9P\" SS\R6                  SSgS9P\" SS\R6                  SSS9P\" SS\R6                  SSS9P\" SS\R6                  SSS9P\" SS\R6                  S\S9P\" SS\R<                  SSS9P\" SS\R<                  SSTS9P\" SS\R<                  S\S9P\" SS\R<                  S\S9P\" SS\R<                  S\S9P\" SS\R<                  S\S9P\" SS\R<                  SSZS9P\" SS\R<                  SSWS9P\" SS\R<                  S\S9P\" SS\R<                  SSS9P\" SS\R<                  SSS9P\" SS\R<                  SSZS9P\" SS\R<                  SSS9P\" SS\R<                  SSS9P\" SS\R<                  SSS9P\" SS\R<                  S\S9P\" SS\R<                  SSTS9P\" SS\R>                  S\S9P\" SS\R>                  SSZS9P\" SS\R>                  S\S9P\" SS\R>                  SSTS9P\" SS\R>                  SSWS9P\" SS\R>                  SSS9P7r \	" \  V s0 s H  o RB                  U _M     sn 5      r"S\#S'   \RH                  SS j5       r%SS jr&      SS jr'gs  sn f )z<Encoding registry with metadata for all supported encodings.    )annotationsN)Iterable)MappingProxyType)Literal)EncodingEra)Vascii	big5hkscscp1006cp1026cp1125cp1140cp1250cp1251cp1252cp1253cp1254cp1255cp1256cp1257cp1258cp273cp424cp437cp500cp720cp737cp775cp850cp852cp855cp856cp857cp858cp860cp861cp862cp863cp864cp865cp866cp869cp874cp875cp932cp949euc_jis_2004euc_krgb18030	hp-roman8hziso2022_jp_2iso2022_jp_2004iso2022_jp_ext
iso2022_kr	iso8859-1
iso8859-10
iso8859-13
iso8859-14
iso8859-15
iso8859-16	iso8859-2	iso8859-3	iso8859-4	iso8859-5	iso8859-6	iso8859-7	iso8859-8	iso8859-9johabkoi8-rkoi8-tkoi8-ukz1048mac-cyrillic	mac-greekmac-iceland
mac-latin2	mac-romanmac-turkishptcp154shift_jis_2004tis-620utf-16	utf-16-be	utf-16-leutf-32	utf-32-be	utf-32-leutf-7utf-8	utf-8-sig)enfrdeesptitnldasvnofiisidmstr)rubguksrmkbe)plcshuhrrosksl)rs   rt   ru   rv   rx   ry   )etltlv)arfaT)frozenslotsc                  L    \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   Srg)EncodingInfo   zMetadata for a single encoding.EncodingNamenameztuple[str, ...]aliasesr   eraboolis_multibyte	languages N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       O/var/www/piano.thomer.com/venv/lib/python3.13/site-packages/chardet/registry.pyr   r      s#    )
	r   r      )maxsizec                   ^ ^^ U 4S j[         R                  5        5       nTb  U4S jU 5       nTb  U4S jU 5       n[        U5      $ )a  Return registry entries matching the given filters.

Filters are applied in order: era, include, exclude.

:param era: Bit flags specifying which encoding eras to include.
:param include_encodings: If not ``None``, only return encodings in this set.
:param exclude_encodings: If not ``None``, exclude encodings in this set.
:returns: A tuple of matching :class:`EncodingInfo` entries.
c              3  R   >#    U  H  oR                   T-  (       d  M  Uv   M     g 7fN)r   ).0encr   s     r   	<genexpr>!get_candidates.<locals>.<genexpr>   s     D!2#ggm##!2s   '	'c              3  J   >#    U  H  oR                   T;   d  M  Uv   M     g 7fr   r   )r   r   include_encodingss     r   r   r      s     QZc88?P3PccZ   #	#c              3  J   >#    U  H  oR                   T;  d  M  Uv   M     g 7fr   r   )r   r   exclude_encodingss     r   r   r      s     UZc88CT3TccZr   )REGISTRYvaluestuple)r   r   r   
candidatess   ``` r   get_candidatesr      sB     E!2DJ$QZQ
$UZU
r   r   )zus-asciiFr   )r   r   r   r   r   r\   )r\   utf8r]   )z	UTF-8-SIGz	utf-8-bomrU   )zUTF-16utf16rV   )z	UTF-16-BEzutf-16berW   )z	UTF-16-LEzutf-16lerX   )zUTF-32utf32rY   )z	UTF-32-BEzutf-32berZ   )z	UTF-32-LEzutf-32ler[   )zUTF-7utf7r	   )z
Big5-HKSCS	Big5HKSCSbig5zbig5-twcsbig5cp950)zhr.   )CP932ms932mskanjizms-kanji)jar/   )CP949ms949uhc)kor0   )zEUC-JIS-2004zeuc-jpeucjpujiszu-jiszeuc-jisx0213r1   )zEUC-KReuckrr2   )GB18030zgb-18030gb2312gbkr4   )z
HZ-GB-2312r4   r5   )zISO-2022-JP-2ziso-2022-jpcsiso2022jpziso2022-jp-1r6   )zISO-2022-JP-2004ziso2022-jp-3r7   )zISO-2022-JP-EXTr8   )zISO-2022-KRcsiso2022krrS   )zShift-JIS-2004Shift_JIS_2004	shift_jissjisshiftjiss_jiszshift-jisx0213r,   )CP874zwindows-874)thr   )zWindows-1250r   r   )zWindows-1251r   r   )zWindows-1252r   r   )zWindows-1253r   )elr   )zWindows-1254r   )rl   r   )zWindows-1255r   )her   )zWindows-1256r   r   )zWindows-1257r   r   )zWindows-1258r   )virH   )zKOI8-Rkoi8r)rm   rJ   )zKOI8-Ukoi8u)ro   rT   )zTIS-620tis620ziso-8859-11r9   )z
ISO-8859-1zlatin-1latin1r9   r?   )z
ISO-8859-2zlatin-2latin2r?   r@   )z
ISO-8859-3zlatin-3latin3r@   )eomtrl   rA   )z
ISO-8859-4zlatin-4latin4rA   rB   )z
ISO-8859-5rB   cyrillicrC   )z
ISO-8859-6rC   arabicrD   )z
ISO-8859-7rD   greekrE   )z
ISO-8859-8rE   hebrewrF   )z
ISO-8859-9zlatin-5latin5rF   r:   )zISO-8859-10zlatin-6latin6r:   )ri   rh   r;   )zISO-8859-13zlatin-7latin7r;   r<   )zISO-8859-14zlatin-8latin8r<   )cygabrgdr=   )zISO-8859-15zlatin-9latin9r=   r>   )zISO-8859-16zlatin-10latin10r>   )rw   rs   rv   ru   rx   ry   rG   )JohabrL   )zMac-CyrillicMacCyrillicmaccyrillicrM   )z	Mac-GreekMacGreekmacgreekrN   )zMac-Iceland
MacIceland
maciceland)ri   rO   )z
Mac-Latin2	MacLatin2	maclatin2maccentraleuroperP   )z	Mac-RomanMacRomanmacroman	macintoshrQ   )zMac-Turkish
MacTurkish
macturkishr   )CP720r
   )CP1006)urr   )CP1125rI   )zKOI8-T)tgrK   )zKZ-1048rK   zstrk1048-2002rk1048)kkrR   )PTCP154pt154cp154r3   )z	HP-Roman8roman8r8
csHPRoman8r   )CP437)
r^   r_   r`   ra   rb   rc   rd   re   rf   rh   r   )CP737r   )CP775r   )CP850r   )CP852r    )CP855r!   )CP856r"   )CP857r#   )CP858r$   )CP860)rb   r%   )CP861r&   )CP862r'   )CP863)r_   r(   )CP864)r}   r)   )CP865)re   rg   r*   )CP866r+   )CP869r   )CP1140cp037r   )CP424r   )CP500r-   )CP875r   )CP1026r   )CP273)r`   z#MappingProxyType[str, EncodingInfo]r   c                   U R                  5       n[        R                  5        HX  nUR                  U:X  a  UR                  s  $ UR                   H'  nUR                  5       U:X  d  M  UR                  s  s  $    MZ      [
        R                  " U 5      R                  nXA:w  a  [        U5      $ g! [         a     gf = f)zConvert an encoding name string to the canonical EncodingName.

Handles arbitrary casing, aliases, and Python codec names.

:param name: Any encoding name string.
:returns: The canonical :data:`EncodingName`, or ``None`` if unknown.
N)	lowerr   r   r   r   codecslookupLookupErrorlookup_encoding)r   loweredentryalias
codec_names        r   r  r    s     jjlG":: ::]]E{{}'zz! # #]]4(--
 z**	  s    B3 3
C ?C c                J    [        U 5      nUc  SU < SU 3n[        U5      eU$ )zValidate and normalize a single encoding name.

:param name: The encoding name to validate.
:param param_name: Parameter name for error messages.
:returns: The canonical encoding name.
:raises ValueError: If the encoding name is unknown.
zUnknown encoding z in )r  
ValueError)r   
param_name	canonicalmsgs       r   _validate_encodingr&  3  s6      %I!$j\:or   c                h   ^ U c  g[        U4S jU  5       5      nU(       d  T S3n[        U5      eU$ )a$  Normalize an iterable of encoding names to canonical forms.

:param encodings: Encoding names to normalize, or ``None``.
:param param_name: Parameter name for error messages.
:returns: A frozenset of canonical encoding names, or ``None``.
:raises ValueError: If any encoding name is unknown.
Nc              3  <   >#    U  H  n[        UT5      v   M     g 7fr   )r&  )r   r   r#  s     r   r   &normalize_encodings.<locals>.<genexpr>O  s     R	)$
;;	s   zG must not be empty; omit the argument or pass None to disable filtering)	frozensetr"  )	encodingsr#  resultr%  s    `  r   normalize_encodingsr-  B  s=     R	RRFcdoMr   )NN)r   r   r   frozenset[str] | Noner   r.  returnztuple[EncodingInfo, ...])r   strr/  zEncodingName | None)r   r0  r#  r0  r/  r0  )r+  zIterable[str] | Noner#  r0  r/  r.  )(r   
__future__r   r  dataclasses	functoolscollections.abcr   typesr   typingr   chardet.enumsr   r   _WESTERN_WESTERN_TR	_CYRILLIC_CENTRAL_EU_CENTRAL_EU_NO_RO_BALTIC_ARABIC	dataclassr   	lru_cacher   
MODERN_WEBLEGACY_REGIONAL
LEGACY_ISO
LEGACY_MACDOS	MAINFRAME_REGISTRY_ENTRIESr   r   r   cacher  r&  r-  )es   0r   <module>rJ     s@   B "    $ "  %UWt   $0	88 

 d$/  0 S! 04/3	, - 	 "0n	""n	 !""n	  *""!n	. #""/n	< )""=n	J )""Kn	X #""Yn	f )""gn	t )""un	B !''Cn	R Q""Sn	` 9""an	n )""on	| T""}n	J #""Kn	X 8""Yn	f $''gn	t O""un	B 4""Cn	P $""Qn	^ .''_n	l 
 ""mn	L (""Mn	Z *""[n	h *""in	v *""wn	D *""En	R *""Sn	` *""an	n *""on	| *""}n	J *""Kn	Z #""[n	h #""in	x 4""yn	H @""In	V @""Wn	d @""$en	r @""sn	@	 7""A	n	N	 5""O	n	\	 4""]	n	j	 5""k	n	x	 @""y	n	F
 B""G
n	T
 B""U
n	b
 B""*c
n	p
 B""q
n	~
 D""6
n	N ""On	^ >""_n	l 5""mn	z ;""{n	H L""#In	V B""Wn	d ;""en	t ''un	B ''Cn	P ''Qn	^ ''_n	l @''mn	z -''{n	H ;''In	X OONYn	f OOgn	t OOun	B OOCn	P OO#Qn	^ OO_n	l OOmn	z OO{n	H OOIn	V OOWn	d OOen	r OOsn	@ OOAn	N OOOn	\ OO]n	j OOkn	x OOyn	H #!!In	V !!Wn	d !!en	r !!sn	@ !!An	N !!On	 ` 1A)*)1VVQY)*1
- 
  2# [ +s   ^