Ë
    åObj­.  ã                  óÎ   — d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddd	„Z G d
„ d«      Zddd„Zedk(  r e«        yy)é    )ÚannotationsN)ÚabspathÚbasenameÚdirnameÚjoinÚrealpath)Úpython_version)Úunidata_version)Úfrom_fp)ÚCliDetectionResult)Ú__version__c                ó¤   — |dk(  rdnd}	 t        | |z   «      j                  «       j                  «       }|s|dk(  S |dv ry|dv ryt        d«       ŒG)	zBAsk a yes/no question via input() and return the answer as a bool.Úyesz [Y/n] z [y/N] T)Úyr   )ÚnÚnoFzPlease respond with 'y' or 'n'.)ÚinputÚstripÚlowerÚprint)ÚquestionÚdefaultÚpromptÚchoices       úR/var/www/html/venv/lib/python3.12/site-packages/charset_normalizer/cli/__main__.pyÚquery_yes_nor      sf   € à! UÒ*‰Y°	€Fà
Ü�x &Ñ(Ó)×/Ñ/Ó1×7Ñ7Ó9ˆÙØ˜eÑ#Ð#Ø�\Ñ!ØØ�[Ñ ØÜÐ/Ô0ð ó    c                  ó@   — e Zd ZdZ	 	 	 	 d	 	 	 	 	 	 	 dd„Zdd„Zd	d„Zy)
ÚFileTypeaè  Factory for creating file object types

    Instances of FileType are typically passed as type= arguments to the
    ArgumentParser add_argument() method.

    Keyword Arguments:
        - mode -- A string indicating how the file is to be opened. Accepts the
            same values as the builtin open() function.
        - bufsize -- The file's desired buffer size. Accepts the same values as
            the builtin open() function.
        - encoding -- The file's encoding. Accepts the same values as the
            builtin open() function.
        - errors -- A string indicating how encoding and decoding errors are to
            be handled. Accepts the same value as the builtin open() function.

    Backported from CPython 3.12
    Nc                ó<   — || _         || _        || _        || _        y ©N)Ú_modeÚ_bufsizeÚ	_encodingÚ_errors)ÚselfÚmodeÚbufsizeÚencodingÚerrorss        r   Ú__init__zFileType.__init__2   s    € ð ˆŒ
ØˆŒØ!ˆŒØˆ�r   c                ó2  ‡ — |dk(  r¬d‰ j                   v r8d‰ j                   v rt        j                  j                  S t        j                  S t	        ˆ fd„dD «       «      r8d‰ j                   v rt        j
                  j                  S t        j
                  S d‰ j                   › �}t        |«      ‚	 t        |‰ j                   ‰ j                  ‰ j                  ‰ j                  «      S # t        $ r"}d|› d|› �}t        j                  |«      ‚d }~ww xY w)	Nú-ÚrÚbc              3  ó:   •K  — | ]  }|‰j                   v –— Œ y ­wr!   )r"   )Ú.0Úcr&   s     €r   ú	<genexpr>z$FileType.__call__.<locals>.<genexpr>C   s   øè ø€ Ò4¨�Q˜$Ÿ*™*”_Ñ4ùs   ƒÚwaxzargument "-" with mode zcan't open 'z': )r"   ÚsysÚstdinÚbufferÚanyÚstdoutÚ
ValueErrorÚopenr#   r$   r%   ÚOSErrorÚargparseÚArgumentTypeError)r&   ÚstringÚmsgÚeÚmessages   `    r   Ú__call__zFileType.__call__>   sá   ø€ à�SŠ=Ø�d—j‘jÑ Ø+.°$·*±*Ñ+<”s—y‘y×'Ñ'ÐKÄ#Ç)Á)ÐKÜÓ4¨eÔ4Ô4Ø,/°4·:±:Ñ,=”s—z‘z×(Ñ(ÐMÄ3Ç:Á:ÐMà/°·
±
¨|Ð<�Ü  “oÐ%ð	6Ü˜ §
¡
¨D¯M©M¸4¿>¹>È4Ï<É<ÓXÐXøÜò 	6Ø$ V H¨C°¨sÐ3ˆGÜ×,Ñ,¨WÓ5Ð5ûð	6ús   Â46C+ Ã+	DÃ4DÄDc           
     óN  — | j                   | j                  f}d| j                  fd| j                  fg}dj	                  |D �cg c]  }|dk7  sŒ	t        |«      ‘Œ c}|D ��cg c]  \  }}|€Œ	|› d|›�‘Œ c}}z   «      }t        | «      j                  › d|› d�S c c}w c c}}w )Nr)   r*   ú, éÿÿÿÿú=ú(ú))r"   r#   r$   r%   r   ÚreprÚtypeÚ__name__)r&   ÚargsÚkwargsÚargÚkwÚargs_strs         r   Ú__repr__zFileType.__repr__P   s¤   € Ø�z‰z˜4Ÿ=™=Ð(ˆØ˜tŸ~™~Ð.°¸4¿<¹<Ð0HÐIˆØ—9‘9Ø"&Ö4˜3¨#°«)ŒT�#�YÒ4Ø.4×H¡7 2 s¸¹�"��Q�s�gŠÓHñIó
ˆô �t“*×%Ñ%Ð& a¨ z°Ð3Ð3ùò 5ùÛHs   Á
BÁBÁ#
B!Á.	B!)r.   rF   NN)r'   Ústrr(   Úintr)   ú
str | Noner*   rU   )r?   rS   Úreturnz	typing.IO)rV   rS   )rL   Ú
__module__Ú__qualname__Ú__doc__r+   rC   rR   © r   r   r   r      sJ   „ ñð( ØØ#Ø!ð
àð
ð ð
ð ð	
ð
 ó
ó6ô$4r   r   c                ó  — t        j                  d¬«      }|j                  dt        d«      dd¬«       |j                  dd	d
ddd¬«       |j                  ddd
ddd¬«       |j                  ddd
ddd¬«       |j                  ddd
ddd¬«       |j                  ddd
ddd¬«       |j                  dd d
dd!d"¬«       |j                  d#d$d
dd%d&¬«       |j                  d'd(d)d*t        d+d,¬-«       |j                  d.d/d0j                  t        t        «       t        t        j                  j                  «       j                  d1«      rd2nd3«      d4¬5«       |j                  | «      }|j                  d6u rW|j                  du rI|j                   r!|j                   D ]  }|j#                  «        Œ t%        d7t&        j(                  ¬8«       y9|j*                  d6u rW|j                  du rI|j                   r!|j                   D ]  }|j#                  «        Œ t%        d:t&        j(                  ¬8«       y9|j,                  d;k  s|j,                  d<kD  rI|j                   r!|j                   D ]  }|j#                  «        Œ t%        d=t&        j(                  ¬8«       y9g }|j                   D �]  }t/        ||j,                  |j0                  |j2                  du ¬>«      }|j5                  «       }|€t%        d@j                  |j6                  |j,                  d<k  rdAndB«      t&        j(                  ¬8«       |j9                  t;        t=        |j6                  «      d?g g dCg dd<d;d?d6«      «       �n;t;        t=        |j6                  «      |j>                  |j@                  |jB                  D �cg c]  }||j>                  k7  r|‘Œ c}|jD                  |jF                  |jH                  |jJ                  |jL                  d?d6«      }|j9                  |«       tO        |«      d9kD  r½|jP                  r±|D ]¬  }	|	|k7  sŒ	|j9                  t;        t=        |j6                  «      |	j>                  |	j@                  |	jB                  D �cg c]  }||	j>                  k7  r|‘Œ c}|	jD                  |	jF                  |	jH                  |	jJ                  |	jL                  d?d«      «       Œ® |j                  d6u �r»|j>                  jS                  dD«      d6u rTt%        dEj                  |j6                  «      t&        j(                  ¬8«       |jT                  du r|j#                  «        �ŒµtW        tY        |j6                  «      «      }
t[        tY        |j6                  «      «      }|j]                  dF«      }|j                  du r;|j_                  dG|j>                  «       |jT                  du rf|j#                  «        nU|j*                  du rGta        dHj                  |j6                  «      dI«      du r |jT                  du r|j#                  «        �Œ 	 tc        |
dFjc                  |«      «      |_2        tg        |jd                  dJ«      5 }|ji                  |jk                  «       «       d?d?d?«       |jT                  du s�Œ|j#                  «        �Œ! |jp                  du rPdLdMl9m:} t%         |tO        |«      d9kD  r|D �	cg c]  }	|	jv                  ‘Œ c}	n|dL   jv                  d6dN¬O«      «       yL|j                   D ]Z  }t%        dPjc                  |D �	cg c]4  }	|	jx                  t=        |j6                  «      k(  r|	j>                  xs dQ‘Œ6 c}	«      «       Œ\ yLc c}w c c}w # 1 sw Y   ŒþxY w# tl        $ rM}t%        to        |«      t&        j(                  ¬8«       |jT                  du r|j#                  «        Y d?}~ yKd?}~ww xY wc c}	w c c}	w )Rzˆ
    CLI assistant using ARGV and ArgumentParser
    :param argv:
    :return: 0 if everything is fine, anything else equal trouble
    zvThe Real First Universal Charset Detector. Discover originating encoding used on text file. Normalize text to unicode.)ÚdescriptionÚfilesÚrbú+zFile(s) to be analysed)rK   ÚnargsÚhelpz-vz	--verboseÚ
store_trueFÚverbosezjDisplay complementary information about file if any. Stdout will contain logs about the detection process.)Úactionr   Údestra   z-az--with-alternativeÚalternativeszIOutput complementary possibilities if any. Top-level JSON WILL be a list.z-nz--normalizeÚ	normalizezLPermit to normalize input file. If not set, program does not write anything.z-mz	--minimalÚminimalzBOnly output the charset detected to STDOUT. Disabling JSON output.z-rz	--replaceÚreplacezGReplace file when trying to normalize it instead of creating a new one.z-fz--forceÚforcezHReplace file without asking if you are sure, use this flag with caution.z-iz--no-preemptiveÚno_preemptivez>Disable looking at a charset declaration to hint the detector.z-tz--thresholdÚstoregš™™™™™É?Ú	thresholdzUDefine a custom maximum amount of noise allowed in decoded content. 0. <= noise <= 1.)rd   r   rK   re   ra   z	--versionÚversionz;Charset-Normalizer {} - Python {} - Unicode {} - SpeedUp {}z.pyÚOFFÚONz"Show version information and exit.)rd   rn   ra   Tz.Use --replace in addition of --normalize only.)Úfileé   z*Use --force in addition of --replace only.g        g      ð?z---threshold VALUE should be between 0. AND 1.)rm   ÚexplainÚpreemptive_behaviourNz4Unable to identify originating encoding for "{}". {}z-Maybe try increasing maximum amount of chaos.Ú ÚUnknownÚutfzJ"{}" file does not need to be normalized, as it already came from unicode.ú.rF   z0Are you sure to normalize "{}" by replacing it ?r   Úwbé   r   )Údumpsé   )Úensure_asciiÚindentrE   Ú	undefined)=r=   ÚArgumentParserÚadd_argumentr   ÚfloatÚformatr   r	   r
   Ú	md_moduleÚ__file__r   ÚendswithÚ
parse_argsri   rg   r]   Úcloser   r5   Ústderrrj   rm   r   rc   rk   ÚbestÚnameÚappendr   r   r)   Úencoding_aliasesÚcould_be_from_charsetÚlanguageÚ	alphabetsÚbomÚpercent_chaosÚpercent_coherenceÚlenrf   Ú
startswithÚclosedr   r   r   ÚsplitÚinsertr   r   Úunicode_pathr;   ÚwriteÚoutputr<   rS   rh   Újsonr{   Ú__dict__Úpath)ÚargvÚparserrM   Úmy_fileÚx_ÚmatchesÚ
best_guessÚcpÚ
cli_resultÚelÚdir_pathÚ	file_nameÚo_ÚfprA   r{   s                   r   Ú
cli_detectr¬   Z   sƒ  € ô ×$Ñ$ð%ô€Fð ×ÑØ”h˜t“n¨CÐ6Nð ô ð ×ÑØØØØØð@ð ô ð ×ÑØØØØØØXð ô ð ×ÑØØØØØØ[ð ô ð ×ÑØØØØØØQð ô ð ×ÑØØØØØØVð ô ð ×ÑØØØØØØWð ô ð ×ÑØØØØØØMð ô ð ×ÑØØØØÜØØdð ô ð ×ÑØØØM×TÑTÜÜÓÜÜ×'Ñ'×-Ñ-Ó/×8Ñ8¸Ô?‰EÀTó	
ð 2ð ô 
ð ×Ñ˜TÓ"€Dà‡|�|�tÑ §¡°%Ñ 7Ø�:Š:ØŸ:™:ò  �Ø—‘•ð äÐ>ÄSÇZÁZÕPØà‡z�z�TÑ˜dŸl™l¨eÑ3Ø�:Š:ØŸ:™:ò  �Ø—‘•ð äÐ:ÄÇÁÕLØà‡~�~˜Ò˜tŸ~™~°Ò3Ø�:Š:ØŸ:™:ò  �Ø—‘•ð äÐ=ÄCÇJÁJÕOØà	€Bà—:‘:ó ˆÜØØ—n‘nØ—L‘LØ!%×!3Ñ!3°uÐ!<ô	
ˆð —\‘\“^ˆ
àÐÜØF×MÑMØ—L‘Lð  Ÿ>™>¨CÒ/ñ Hàóô —Z‘Zõ
ð �I‰IÜ"Ü˜GŸL™LÓ)ØØØØØØØØØØóöô  ,Ü˜Ÿ™Ó%Ø×#Ñ#Ø×+Ñ+ð )×>Ñ>öàØ˜Z×0Ñ0Ò0ò òð
 ×#Ñ#Ø×$Ñ$Ø—‘Ø×(Ñ(Ø×,Ñ,ØØóˆJð" �I‰I�jÔ!ä�7‹|˜aÒ D×$5Ò$5Ø!ò �BØ˜ZÓ'ØŸ	™	Ü.Ü '¨¯©Ó 5Ø "§¡Ø "× 3Ñ 3ð /1×.FÑ.Fö!"à(*Ø')¨R¯[©[Ò'8ò %'ò!"ð
 !#§¡Ø "§¡Ø "§¡Ø "× 0Ñ 0Ø "× 4Ñ 4Ø $Ø %óõðð, �~‰~ Ò%Ø×&Ñ&×1Ñ1°%Ó8¸DÑ@ÜØd×kÑkØ#ŸL™Lóô !ŸZ™Zõ	ð —~‘~¨Ñ.ØŸ™œÙä"¤8¨G¯L©LÓ#9Ó:�Ü$¤X¨g¯l©lÓ%;Ó<�	à )§¡°Ó 4�à—<‘< 5Ñ(Ø—I‘I˜b *×"5Ñ"5Ô6Ø—~‘~¨Ñ.ØŸ™�à—J‘J %Ñ'Ü$ØJ×QÑQØ#ŸL™Lóð ó	ð ñð —~‘~¨Ñ.ØŸ™œÙð	Ü.2°8¸S¿X¹XÀb»\Ó.J�JÔ+ä˜j×5Ñ5°tÓ<ð 6ÀØŸ™ ×!2Ñ!2Ó!4Ô5÷6ð �>‰>˜UÓ"Ø�M‰MŽOððB ‡|�|�uÑÝäÙÜ.1°"«g¸ªk rÖ* �—“Ó*¸rÀ!¹u¿~¹~Ø!Øôô	
ð& ð —z‘zò 		ˆGÜØ—	‘	ð #%öàØŸ7™7¤g¨g¯l©lÓ&;Ò;ð Ÿ™Ò2 {Ñ2òóõð		ð ùò[ùò.!"÷j6ð 6ûäò Üœ#˜a›&¤s§z¡zÕ2Ø—~‘~¨Ñ.ØŸ™œÝûð	üò +ùòsI   Î)^Ñ?^Ù	6^(Ù? ^Ú^(Û7`Ý9`Þ^%	Þ!^(Þ(	_>Þ1A_9ß9_>Ú__main__)r   )r   rS   r   rS   rV   Úboolr!   )rŸ   zlist[str] | NonerV   rT   )Ú
__future__r   r=   r5   ÚtypingÚos.pathr   r   r   r   r   Úplatformr	   Úunicodedatar
   Úcharset_normalizer.mdÚmdr„   Úcharset_normalizerr   Úcharset_normalizer.modelsr   Úcharset_normalizer.versionr   r   r   r¬   rL   rZ   r   r   ú<module>r¹      sT   ðÝ "ã Û 
Û ß >Õ >Ý #Ý 'å )Ý &Ý 8Ý 2ô1÷84ñ 84ôvMð` ˆzÒÙ…Lð r   