ó
    µ'Ôiï+  ã                  óX  • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
Jr  S SKJrJr  SSKJrJr  \(       a  S SKJr  SSKJr  S S	KJr  S S
KJr   " S S\SS9r " S S\5      r " S S\5      r " S S5      r " S S\5      r " S S\5      r S r!S r"S r#S r$S r%g)é    )ÚannotationsN)ÚIterable)ÚTYPE_CHECKINGÚ	TypedDicté   )ÚmetadataÚ	resources)ÚSelf)ÚSetuptoolsWarning)Úfirst_line_re)Úget_platformc                  ó*   • \ rS rSr% S\S'   S\S'   Srg)Ú
_SplitArgsé   ÚboolÚcommentsÚposix© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚR/var/www/surfInsights/venv3-11/lib/python3.13/site-packages/setuptools/_scripts.pyr   r      s   ‡ ØƒNØ†Kr   r   F)Útotalc                  óÎ   • \ rS rSr% Sr/ rS\S'   \" 5       r\	S 5       r
\	S 5       r\	SS j5       r\	S 5       r\	SS	 j5       rSS
 jr\S 5       rS r\S 5       r\S 5       rSrg)ÚCommandSpecé   za
A command spec for a #! header, specified as a list of arguments akin to
those passed to Popen.
z	list[str]Úoptionsc                ó   • U $ )zF
Choose the best CommandSpec class based on environmental conditions.
r   ©Úclss    r   ÚbestÚCommandSpec.best'   s	   € ð
 ˆ
r   c                óœ   • [         R                  R                  [        R                  5      n[         R
                  R                  SU5      $ )NÚ__PYVENV_LAUNCHER__)ÚosÚpathÚnormpathÚsysÚ
executableÚenvironÚget)r$   Ú_defaults     r   Ú_sys_executableÚCommandSpec._sys_executable.   s0   € ä—7‘7×#Ñ#¤C§N¡NÓ3ˆÜ�z‰z�~‰~Ð3°XÓ>Ð>r   c                ó   • [        X5      (       a  U$ [        U[        5      (       a  U R                  U5      $ [        U[        5      (       a  U " U5      $ Uc  U R	                  5       $ [        S[        U5       35      e)zO
Construct a CommandSpec from a parameter to build_scripts, which may
be None.
z!Argument has an unsupported type )Ú
isinstanceÚstrÚfrom_stringr   Úfrom_environmentÚ	TypeErrorÚtype)r$   Úparams     r   Ú
from_paramÚCommandSpec.from_param3   sr   € ô �e×!Ñ!ØˆLÜ�eœS×!Ñ!Ø—?‘? 5Ó)Ð)Ü�eœX×&Ñ&Ù�u“:ÐØ‰=Ø×'Ñ'Ó)Ð)ÜÐ;¼DÀ»K¸=ÐIÓJÐJr   c                ó0   • U " U R                  5       /5      $ ©N)r1   r#   s    r   r7   ÚCommandSpec.from_environmentC   s   € á�C×'Ñ'Ó)Ð*Ó+Ð+r   c                óT   • [         R                  " U40 U R                  D6nU " U5      $ )ze
Construct a command spec from a simple string representing a command
line parseable by shlex.split.
)ÚshlexÚsplitÚ
split_args)r$   ÚstringÚitemss      r   r6   ÚCommandSpec.from_stringG   s%   € ô —’˜FÑ5 c§n¡nÑ5ˆÙ�5‹zÐr   c                óÆ   • [         R                  " U R                  U5      5      U l        [        R
                  " U 5      n[        U5      (       d  S/U R                  S S& g g )Nz-xr   )rA   rB   Ú_extract_optionsr!   Ú
subprocessÚlist2cmdlineÚisascii)ÚselfÚscript_textÚcmdlines      r   Úinstall_optionsÚCommandSpec.install_optionsP   sO   € Ü—{’{ 4×#8Ñ#8¸Ó#EÓFˆŒÜ×)Ò)¨$Ó/ˆÜ�w×ÑØ $˜vˆD�L‰L˜˜!Ñð  r   c                óÆ   • U S-   R                  5       S   n[        5       R                  U5      nU(       a  UR                  S5      =(       d    SOSnUR	                  5       $ )z8
Extract any options from the first line of the script.
Ú
r   r   Ú )Ú
splitlinesÚ_first_line_reÚmatchÚgroupÚstrip)Úorig_scriptÚfirstrV   r!   s       r   rH   ÚCommandSpec._extract_optionsV   sR   € ð
 ˜tÑ#×/Ñ/Ó1°!Ñ4ˆÜÓ ×&Ñ& uÓ-ˆÞ*/�%—+‘+˜a“.×& Bø°RˆØ�}‰}‹Ðr   c                óP   • U R                  U [        U R                  5      -   5      $ r>   )Ú_renderÚlistr!   )rL   s    r   Ú	as_headerÚCommandSpec.as_header`   s   € Ø�|‰|˜D¤4¨¯©Ó#5Ñ5Ó6Ð6r   c                ó†   • SnU H8  nU R                  U5      (       d  M  U R                  U5      (       d  M3  U SS s  $    U $ )Nz"'r   éÿÿÿÿ)Ú
startswithÚendswith)ÚitemÚ_QUOTESÚqs      r   Ú_strip_quotesÚCommandSpec._strip_quotesc   sA   € àˆÛˆAØ�‰˜q×!Ó! d§m¡m°A×&6Ó&6Ø˜A˜b�zÒ!ñ ð ˆr   c                óL   • [         R                  " S U  5       5      nSU-   S-   $ )Nc              3  óh   #   • U  H(  n[         R                  UR                  5       5      v •  M*     g 7fr>   )r   rh   rX   )Ú.0re   s     r   Ú	<genexpr>Ú&CommandSpec._render.<locals>.<genexpr>m   s'   é € ð *
Ú@E¸ŒK×%Ñ% d§j¡j£l×3Ð3Âùs   ‚02z#!rR   )rI   rJ   )rE   rN   s     r   r]   ÚCommandSpec._renderk   s0   € ä×)Ò)ñ *
Ù@Eó*
ó 
ˆð �g‰~ Ñ$Ð$r   )r!   N)r:   z!Self | str | Iterable[str] | NoneÚreturnr
   )rD   r5   rp   r
   )rM   r5   )r   r   r   r   Ú__doc__r!   r   r   rC   Úclassmethodr%   r1   r;   r7   r6   rO   ÚstaticmethodrH   r_   rh   r]   r   r   r   r   r   r      sÄ   ‡ ñð
 €GˆYÓÙ“€Jàñó ðð ñ?ó ð?ð óKó ðKð ñ,ó ð,ð óó ðô&ð ñó ðò7ð ñó ðð ñ%ó ó%r   r   c                  ó    • \ rS rSr\" SS9rSrg)ÚWindowsCommandSpecés   F)r   r   N)r   r   r   r   r   rC   r   r   r   r   ru   ru   s   s   † Ù %Ñ(ƒJr   ru   c                  óÆ   • \ rS rSrSr\R                  " S5      R                  5       r\	r
\SS j5       r\S 5       r\S 5       r\S 5       r\  S     SS	 jj5       rS
rg)ÚScriptWriteréw   zT
Encapsulates behavior around writing entry point scripts for console and
gui apps.
aJ  
        # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
        import re
        import sys

        # for compatibility with easy_install; see #2198
        __requires__ = %(spec)r

        try:
            from importlib.metadata import distribution
        except ImportError:
            try:
                from importlib_metadata import distribution
            except ImportError:
                from pkg_resources import load_entry_point


        def importlib_load_entry_point(spec, group, name):
            dist_name, _, _ = spec.partition('==')
            matches = (
                entry_point
                for entry_point in distribution(dist_name).entry_points
                if entry_point.group == group and entry_point.name == name
            )
            return next(matches).load()


        globals().setdefault('load_entry_point', importlib_load_entry_point)


        if __name__ == '__main__':
            sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
            sys.exit(load_entry_point(%(spec)r, %(group)r, %(name)r)())
        Nc              #  ó0  #   • [        US5      (       d?  [        R                  " S5        [        R                  R                  UR                  5      nUc  U R                  5       nUR                   SUR                   3nS HŒ  nU S3nUR                  R                  US9 Hg  nUR                  nU R                  UR                  5        U R                  [        5       -  nU R                  XFR                  X(5      n	U	 Sh  v•N   Mi     MŽ     g N7f)zi
Yield write_script() argument tuples for a distribution's
console_scripts and gui_scripts entry points.
Úentry_pointsz%Unsupported distribution encountered.Nz==©ÚconsoleÚguiÚ_scripts)rW   )Úhasattrr   Úemitr   ÚDistributionÚatÚegg_infoÚ
get_headerÚnameÚversionr{   ÚselectÚ_ensure_safe_nameÚtemplateÚlocalsÚ_get_script_args)
r$   ÚdistÚheaderÚspecÚtype_rW   Úepr†   rM   Úargss
             r   Úget_argsÚScriptWriter.get_args¤   sç   é € ô �t˜^×,Ñ,Ü×"Ò"Ð#JÔKÜ×(Ñ(×+Ñ+¨D¯M©MÓ:ˆDà‰>Ø—^‘^Ó%ˆFØ—)‘)�˜B˜tŸ|™|˜nÐ-ˆÛ%ˆEØ�g˜XÐ&ˆEØ×'Ñ'×.Ñ.°UÐ.Ó;�Ø—w‘w�Ø×%Ñ% b§g¡gÔ.Ø!Ÿl™l¬V«XÑ5�Ø×+Ñ+¨E·7±7¸FÓP�Ø—’ó <ò &ñ  ùs   ‚DDÄDÄDc                óV   • [         R                  " SU 5      nU(       a  [        S5      eg)z/
Prevent paths in *_scripts entry point names.
z[\\/]z+Path separators not allowed in script namesN)ÚreÚsearchÚ
ValueError)r†   Úhas_path_seps     r   r‰   ÚScriptWriter._ensure_safe_name½   s(   € ô
 —y’y ¨4Ó0ˆÞÜÐJÓKÐKð r   c                ó¦   • [         R                  S:X  d(  [        R                  S:X  a(  [        R                  S:X  a  [
        R                  5       $ U $ )z4
Select the best ScriptWriter for this environment.
Úwin32ÚjavaÚnt)r,   Úplatformr)   r†   Ú_nameÚWindowsScriptWriterr%   r#   s    r   r%   ÚScriptWriter.bestÆ   s:   € ô
 �<‰<˜7Ó"¤r§w¡w°&Ó'8¼R¿X¹XÈÓ=MÜ&×+Ñ+Ó-Ð-àˆJr   c              #  ó   #   • X#U-   4v •  g 7fr>   r   )r$   r�   r†   rŽ   rM   s        r   rŒ   ÚScriptWriter._get_script_argsÐ   s   é € ð ˜kÑ)Ð*Ó*ùs   ‚
c                ó–   • U R                   R                  5       R                  U5      nUR                  U5        UR	                  5       $ )z;Create a #! line, getting options (if any) from script_text)Úcommand_spec_classr%   r;   rO   r_   )r$   rM   r-   Úcmds       r   r…   ÚScriptWriter.get_headerÕ   s=   € ð ×$Ñ$×)Ñ)Ó+×6Ñ6°zÓBˆØ×Ñ˜KÔ(Ø�}‰}‹Ðr   r   r>   )rS   N)rM   r5   r-   z(str | CommandSpec | Iterable[str] | Nonerp   r5   )r   r   r   r   rq   ÚtextwrapÚdedentÚlstriprŠ   r   r¦   rr   r“   rs   r‰   r%   rŒ   r…   r   r   r   r   rx   rx   w   s»   † ñð
 �Šð!	ó#÷F �fƒhðG ðJ %Ðàó ó ð ð0 ñLó ðLð ñó ðð ñ+ó ð+ð ð Ø?Cðàðð =ðð 
ô	ó ór   rx   c                  óX   • \ rS rSr\r\S 5       r\S 5       r\S 5       r	\
S 5       rSrg)r¡   éá   c                óf   • [        [        U S9n[        R                  R	                  SS5      nX   $ )z3
Select the best ScriptWriter suitable for Windows
)r-   ÚnaturalÚSETUPTOOLS_LAUNCHERr-   )ÚdictÚWindowsExecutableLauncherWriterr)   r.   r/   )r$   Úwriter_lookupÚlaunchers      r   r%   ÚWindowsScriptWriter.bestä   s4   € ô
 Ü6Øñ
ˆô
 —:‘:—>‘>Ð"7¸ÓFˆØÑ&Ð&r   c              #  ó„  #   • [        SSS9U   nU[        R                  S   R                  5       R	                  S5      ;  a0  SR
                  " S
0 [        5       D6n[        R                  " U5        / SQnUR                  U5        U R                  X5      nU Vs/ s H  o‚U-   PM	     n	nX%-   X4-   SU	4v •  g	s  snf 7f)z For Windows, add a .py extensionú.pyaú.pywr|   ÚPATHEXTÚ;zK{ext} not listed in PATHEXT; scripts will not be recognized as executables.)r·   ú.pyú
-script.pyú.pycú.pyor¸   ú.exeÚtNr   )r±   r)   r.   ÚlowerrB   Úformatr‹   r   r�   ÚremoveÚ_adjust_header)
r$   r�   r†   rŽ   rM   ÚextÚmsgÚoldÚxÚblockerss
             r   rŒ   Ú$WindowsScriptWriter._get_script_argsñ   s¾   é € ô ˜6 vÑ.¨uÑ5ˆØ”b—j‘j Ñ+×1Ñ1Ó3×9Ñ9¸#Ó>Ó>ð-ç‰fðñ !ô “xñ!ˆCô ×"Ò" 3Ô'ÚKˆØ�
‰
�3ŒØ×#Ñ# EÓ2ˆÙ&)Ó*¢c ˜1”H¡cˆÐ*Ø‰j˜&Ñ.°°XÐ=Ó=ùò +ùs   ‚BC ÂB;Â,C c                óÞ   • SnSnUS:X  a  XCpC[         R                  " [         R                  " U5      [         R                  5      nUR	                  X$S9nU R                  U5      (       a  U$ U$ )zn
Make sure 'pythonw' is used for gui and 'python' is used for
console (regardless of what sys.executable is).
zpythonw.exez
python.exer~   )rD   Úrepl)r–   ÚcompileÚescapeÚ
IGNORECASEÚsubÚ_use_header)r$   r�   Úorig_headerÚpatternrÌ   Ú
pattern_obÚ
new_headers          r   rÄ   Ú"WindowsScriptWriter._adjust_header  s`   € ð  ˆØˆØ�E‹>Ø �TÜ—Z’Z¤§	¢	¨'Ó 2´B·M±MÓBˆ
Ø—^‘^¨;�^ÐBˆ
Ø Ÿ_™_¨Z×8Ñ8ˆzÐI¸kÐIr   c                óŠ   • U SS R                  S5      n[        R                  S:g  =(       d    [        R                  " U5      $ )zµ
Should _adjust_header use the replaced header?

On non-windows systems, always use. On
Windows systems, only use the replaced header if it resolves
to an executable on the system.
é   rb   Ú"rœ   )rX   r,   rŸ   ÚshutilÚwhich)rÕ   Úclean_headers     r   rÑ   ÚWindowsScriptWriter._use_header  s8   € ð " ! BÐ'×-Ñ-¨cÓ2ˆÜ�|‰|˜wÑ&×D¬&¯,ª,°|Ó*DÐDr   r   N)r   r   r   r   ru   r¦   rr   r%   rŒ   rÄ   rs   rÑ   r   r   r   r   r¡   r¡   á   sZ   † Ø+Ðàñ
'ó ð
'ð ñ>ó ð>ð ñJó ðJð ñ	Eó ó	Er   r¡   c                  ó$   • \ rS rSr\S 5       rSrg)r²   i  c              #  ó  #   • US:X  a  SnSnS/nOSnSn/ SQnU R                  X5      nU V	s/ s H  o’U	-   PM	     n
n	X&-   X„-   SU
4v •  US-   [        U5      S	4v •  [        5       (       d  US
-   nU[        U5      S4v •  ggs  sn	f 7f)z7
For Windows, add a .py extension and an .exe launcher
r~   z-script.pywr¸   Úclir¼   )r»   r½   r¾   rÀ   r¿   Úbz.exe.manifestN)rÄ   Úget_win_launcherÚis_64bitÚload_launcher_manifest)r$   r�   r†   rŽ   rM   Úlauncher_typerÅ   rÇ   ÚhdrrÈ   rÉ   Úm_names               r   rŒ   Ú0WindowsExecutableLauncherWriter._get_script_args  s¶   é € ð
 �E‹>Ø!ˆMØˆCØ�(‰Cà!ˆMØˆCÚ)ˆCØ× Ñ  Ó/ˆÙ&)Ó*¢c ˜1”H¡cˆÐ*Ø‰z˜3Ñ,¨c°8Ð<Ò<à�6‰MÜ˜]Ó+Øð
ò 	
ô
 �z‰zð ˜OÑ+ˆFØÔ1°$Ó7¸Ð=Ó=ð ùò +ùs   ‚,B®B¼ABr   N)r   r   r   r   rr   rŒ   r   r   r   r   r²   r²     s   † Øñ>ó ó>r   r²   c                ó  • U  S3n[        5       (       a4  [        5       S:X  a  UR                  SS5      nO%UR                  SS5      nOUR                  SS5      n[        R                  " S5      R                  U5      R                  5       $ )z›
Load the Windows launcher (executable) suitable for launching a script.

`type` should be either 'cli' or 'gui'

Returns the executable as a byte string.
r¿   z	win-arm64Ú.z-arm64.z-64.z-32.Ú
setuptools)rã   r   Úreplacer	   ÚfilesÚjoinpathÚ
read_bytes)r9   Úlauncher_fns     r   râ   râ   <  sy   € ð �F˜$�-€KÜ‡z�zÜ‹>˜[Ó(Ø%×-Ñ-¨c°9Ó=‰Kà%×-Ñ-¨c°6Ó:‰Kà!×)Ñ)¨#¨vÓ6ˆÜ�?Š?˜<Ó(×1Ñ1°+Ó>×IÑIÓKÐKr   c                óˆ   • [         R                  " [        5      R                  S5      nUR	                  SS9[        5       -  $ )Nzlauncher manifest.xmlzutf-8)Úencoding)r	   rí   r   rî   Ú	read_textÚvars)r†   Úress     r   rä   rä   O  s4   € Ü
�/Š/œ(Ó
#×
,Ñ
,Ð-DÓ
E€CØ�=‰= 'ˆ=Ð*¬T«VÑ3Ð3r   c                 ó¸   • [        [        R                  [        5      (       a  [        $ [        R
                  " [        R                  R                  5       5      $ )zS
Return a regular expression based on first_line_re suitable for matching
strings.
)r4   r   rÓ   r5   r–   rÍ   Údecoder   r   r   rU   rU   T  s=   € ô
 ”-×'Ñ'¬×-Ñ-ÜÐô �:Š:”m×+Ñ+×2Ñ2Ó4Ó5Ð5r   c                 ó4   • [         R                  " S5      S:H  $ )NÚPé   )ÚstructÚcalcsizer   r   r   rã   rã   `  s   € Ü�?Š?˜3Ó 1Ñ$Ð$r   c                óH   •  U R                  S5        g! [         a     gf = f)NÚasciiFT)ÚencodeÚUnicodeError)Úss    r   rK   rK   d  s,   € ðØ	�‰�Ôð øô ó Ùðús   ‚ ”
! !)&Ú
__future__r   r)   r–   rA   rÚ   rû   rI   r,   r©   Úcollections.abcr   Útypingr   r   Ú
_importlibr   r	   Útyping_extensionsr
   Úwarningsr   Údistutils.command.build_scriptsr   Údistutils.utilr   r   r^   r   ru   rx   r¡   r²   râ   rä   rU   rã   rK   r   r   r   Ú<module>r
     s¥   ðÝ "ã 	Û 	Û Û Û Û Û 
Û Ý $ß +ç +æÝ&å 'å 9Ý 'ô� %ò ô
R%�$ô R%ôj)˜ô )÷gñ gôT8E˜,ô 8Eôv>Ð&9ô >ò@Lò&4ò
	6ò%ór   