
    MiDi              	      2   % 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/ \QSNP7S9P\" SOSP\R4                  S\S9P\" SQSR\R4                  S\S9P\" SSST\R4                  SSUS9P\" SVSW\R4                  SSXS9P\" SYSZ\R4                  SS[S9P\" S\S]\R4                  S\S9P\" S^S_\R4                  S\S9P\" S`Sa\R4                  SSbS9P\" ScSd\R4                  SSeS9P\" SfSg\R4                  SShS9P\" SiSj\R4                  SSKS9P\" SkSl\R8                  S\S9P\" SmSn\R8                  S\S9P\" SoSp\R8                  SSqS9P\" SrSs\R8                  S\S9P\" StSu\R8                  S\S9P\" SvSw\R8                  S\S9P\" SxSy\R8                  SSUS9P\" SzS{\R8                  SS[S9P\" S|S}\R8                  SSXS9P\" S~S\R8                  SSS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SUS9P\" SS\R:                  SSS9P\" SS\R:                  S\S9P\" SS\R:                  S\S9P\" SS\R:                  SSXS9P\" SS\R6                  S\S9P\" SS\R6                  SSS9P\" SS\R6                  SShS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SUS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S[S9P\" SS\R<                  SSXS9P\" SS\R<                  S\S9P\" SS\R<                  SSS9P\" SS\R<                  SSS9P\" SS\R<                  SS[S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SUS9P\" SS\R>                  S\S9P\" SS\R>                  SS[S9P\" SS\R>                  S\S9P\" SS\R>                  SSUS9P\" SS\R>                  SSXS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)brcydadeenesfifrgaidisitmsnlnoptsvtr)rubguksrmkbe)plcshuhrrosksl)rv   rw   rx   ry   r{   r|   )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       j/var/www/eduai.edurigo.com/storigo/production/storigo_env/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\   utf8csutf8zunicode-1-1-utf-8unicode11utf8unicode20utf8zx-unicode20utf8r]   )z	UTF-8-SIGz	utf-8-bomrU   )zUTF-16utf16csutf16rV   )z	UTF-16-BEzutf-16be	csutf16berW   )z	UTF-16-LEzutf-16le	csutf16lerX   )zUTF-32utf32csutf32rY   )z	UTF-32-BEzutf-32be	csutf32berZ   )z	UTF-32-LEzutf-32le	csutf32ler[   )zUTF-7utf7csutf7r	   )	z
Big5-HKSCS	Big5HKSCSbig5zbig5-twcsbig5cp950zcn-big5zx-x-big5csbig5hkscs)zhr.   )CP932ms932mskanjizms-kanjicswindows31jzwindows-31j)jar/   )
CP949ms949uhczwindows-949csksc56011987z
iso-ir-149zks_c_5601-1987zks_c_5601-1989ksc5601ksc_5601)kor0   )zEUC-JIS-2004zeuc-jpeucjpujiszu-jiszeuc-jisx0213cseucpkdfmtjapanesezx-euc-jpr1   )zEUC-KReuckrcseuckrr2   )GB18030zgb-18030gb2312gbkcsgb2312gb_2312z
gb_2312-80zx-gbkcsiso58gb231280z	iso-ir-58	csgb18030csgbkcp936ms936zwindows-936r4   )z
HZ-GB-2312r4   r5   )zISO-2022-JP-2ziso-2022-jpcsiso2022jpziso2022-jp-1csiso2022jp2r6   )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-jisx0213zx-sjis
csshiftjisms_kanjir,   )CP874zwindows-874zdos-874)thr   )zWindows-1250r   zx-cp1250cswindows1250rs   r   )zWindows-1251r   zx-cp1251cswindows1251r   )zWindows-1252r   zx-cp1252cswindows1252r   )zWindows-1253r   zx-cp1253cswindows1253)elr   )zWindows-1254r   zx-cp1254cswindows1254)ro   r   )zWindows-1255r   zx-cp1255cswindows1255)her   )zWindows-1256r   zx-cp1256cswindows1256r   )zWindows-1257r   zx-cp1257cswindows1257r   )zWindows-1258r   zx-cp1258cswindows1258)virH   )zKOI8-Rkoi8rkoikoi8cskoi8r)rp   rJ   )zKOI8-Ukoi8uzkoi8-rucskoi8u)rr   rT   )zTIS-620tis620ziso-8859-11z
iso8859-11	iso885911cstis620r9   )z
ISO-8859-1zlatin-1latin1r9   iso88591r?   )z
ISO-8859-2zlatin-2latin2r?   iso88592r@   )z
ISO-8859-3zlatin-3latin3r@   iso88593)eomtro   rA   )z
ISO-8859-4zlatin-4latin4rA   iso88594rB   )z
ISO-8859-5rB   cyrilliciso88595rC   )z
ISO-8859-6rC   arabiciso88596ziso-8859-6-eziso-8859-6-icsiso88596ecsiso88596irD   )z
ISO-8859-7rD   greekiso88597sun_eu_greekrE   )
z
ISO-8859-8rE   hebrewiso88598ziso-8859-8-eziso-8859-8-icsiso88598ecsiso88598ivisuallogicalrF   )z
ISO-8859-9zlatin-5latin5rF   iso88599r:   )zISO-8859-10zlatin-6latin6r:   	iso885910)rh   rd   r;   )zISO-8859-13zlatin-7latin7r;   	iso885913csiso885913r<   )	zISO-8859-14zlatin-8latin8r<   	iso885914csiso885914z
iso-ir-199z
iso-celticl8)r_   rf   r^   gdr=   )zISO-8859-15zlatin-9latin9r=   	iso885915csisolatin9csiso885915l9r>   )zISO-8859-16zlatin-10latin10r>   	iso885916csiso885916z
iso-ir-226l10)rz   rv   ry   rx   r{   r|   rG   )JohabrL   )zMac-CyrillicMacCyrillicmaccyrilliczx-mac-cyrilliczx-mac-ukrainianrM   )z	Mac-GreekMacGreekmacgreekrN   )zMac-Iceland
MacIceland
maciceland)rh   rO   )z
Mac-Latin2	MacLatin2	maclatin2maccentraleuroperP   )z	Mac-RomanMacRomanmacroman	macintoshcsmacintoshmaczx-mac-romanrQ   )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)rb   re   ra   rc   rm   ri   rk   r`   rn   rd   rf   r   )CP737r   )CP775r   )CP850r   )CP852r    )CP855r!   )CP856r"   )CP857r#   )CP858r$   )CP860)rm   r%   )CP861r&   )CP862r'   )CP863)re   r(   )CP864)r   r)   )CP865)r`   rl   r*   )CP866r+   )CP869r   )CP1140cp037cp01140ibm01140ibm1140
csibm01140r   )CP424r   )CP500r-   )CP875r   )CP1026r   )CP273)ra   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! [        [        4 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
ValueErrorlookup_encoding)r   loweredentryalias
codec_names        r   rj  rj    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 )rj  ri  )r   
param_name	canonicalmsgs       r   _validate_encodingrs    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   )rs  )r   r   rp  s     r   r   &normalize_encodings.<locals>.<genexpr>  s     R	)$
;;	s   zG must not be empty; omit the argument or pass None to disable filtering)	frozensetri  )	encodingsrp  resultrr  s    `  r   normalize_encodingsrz    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   r}  rp  r}  r|  r}  )rx  zIterable[str] | Nonerp  r}  r|  r{  )(r   
__future__r   rf  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   cacherj  rs  rz  )es   0r   <module>r     s   B "    $ "  %UWt&  $0	88 

 d$/  0 S! 04/3	, - 	 "0c""c 
 ""c0 *""1c> .""?cL 6""McZ 6""[ch .""icv 6""wcD 6""EcR +''Scb 

 ""ccD 
 ""Ec` 
 
 "")acL 	
 ""Mcl .""mcz  
" ""9{cv $''wcD 
 ""Ec^ 4""_cl $""mcz .''{cH 
 ""!Icn 3""oc| G""&K&&}cJ G""KcX G""Ycf G""gct G""ucB	 G""C	cP	 G""Q	c^	 G""_	cl	 G""m	c|	 =""}	cJ
 9""K
cZ
 
 ""[
cx
 L""y
cF L""GcT L""$Ucb L""ccp C""qc~  	
 ""'ch 
 ""icB  
 ""+Ccp L""qc~ O""cL 
 ""Mch 

 ""*!icL 	
 ""Mcl 	
 ""6mcN ""Oc^ 
 ""_cx 5""ycF ;""GcT L""#Ucb 
 ""cc@ ;""AcP ''Qc^ ''_cl ''mcz ''{cH @''IcV -''Wcd ;''ect OOTucB OOCcP OOQc^ OO_cl OOmcz OO{cH OOIcV OOWcd OOecr OOsc@ OOAcN OOOc\ OO]cj OOkcx OOycF OOGcT OOUcd 
 !!ec@ !!AcN !!Oc\ !!]cj !!kcx !!yc J 1A)*)1VVQY)*1
- 
  2# [ +s   ^