§ w<ˆjï+ãóz—ddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z mZddlmZmZe rddlmZddlmZdd lmZdd lmZGd „d ed ¬¦«ZGd„de¦«ZGd„de¦«ZGd„d¦«ZGd„de¦«ZGd„de¦«Z d„Z!d„Z"d„Z#d„Z$d„Z%dS)é)Ú annotationsN)ÚIterable)Ú TYPE_CHECKINGÚ TypedDicté)ÚmetadataÚ resources)ÚSelf)ÚSetuptoolsWarning)Ú first_line_re)Ú get_platformcó$—eZdZUded<ded<dS)Ú _SplitArgsÚboolÚcommentsÚposixN)Ú__name__Ú __module__Ú __qualname__Ú__annotations__©óúe/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/setuptools/_scripts.pyrrs"€€€€€€Ø€N€N�NØ€K€K�K€K€KrrF)Útotalcóø—eZdZUdZgZded<e¦«Zed„¦«Z ed„¦«Z edd „¦«Z ed „¦«Z edd„¦«Z dd„Zed„¦«Zd„Zed„¦«Zed„¦«ZdS)Ú CommandSpeczm A command spec for a #! header, specified as a list of arguments akin to those passed to Popen. z list[str]Úoptionscó—|S)zV Choose the best CommandSpec class based on environmental conditions. r©Úclss rÚbestzCommandSpec.best's €ð ˆ rcó”—tj tj¦«}tj d|¦«S)NÚ__PYVENV_LAUNCHER__)ÚosÚpathÚnormpathÚsysÚ executableÚenvironÚget)r Ú_defaults rÚ_sys_executablezCommandSpec._sys_executable.s0€å”7×#Ò#¥C¤NÑ3Ô3ˆÝŒz�~Š~Ð3°XÑ>Ô>Ð>rÚparamú!Self | str | Iterable[str] | NoneÚreturnr có$—t||¦«r|St|t¦«r| |¦«St|t¦«r ||¦«S|€| ¦«St dt |¦«›�¦«‚)zg Construct a CommandSpec from a parameter to build_scripts, which may be None. Nz!Argument has an unsupported type )Ú isinstanceÚstrÚ from_stringrÚfrom_environmentÚ TypeErrorÚtype)r r-s rÚ from_paramzCommandSpec.from_param3s“€õ �e˜SÑ !Ô !ð ØˆLÝ �e�SÑ !Ô !ð *Ø—?’? 5Ñ)Ô)Ð )Ý �e�XÑ &Ô &ð Ø�3�u‘:”:Ð Ø ˆ=Ø×'Ò'Ñ)Ô)Ð )ÝÐI½DÀ¹K¼KÐIÐIÑJÔJÐJrcó>—|| ¦«g¦«S©N)r,rs rr4zCommandSpec.from_environmentCs!€àˆs�C×'Ò'Ñ)Ô)Ð*Ñ+Ô+Ð+rÚstringr2cóF—tj|fi|j¤Ž}||¦«S)z} Construct a command spec from a simple string representing a command line parseable by shlex.split. )ÚshlexÚsplitÚ split_args)r r:Úitemss rr3zCommandSpec.from_stringGs+€õ ” ˜FÐ5Ð5 c¤nÐ5Ð5ˆØˆs�5‰zŒzÐrÚ script_textcó—tj| |¦«¦«|_t j|¦«}t |¦«sdg|jdd…<dSdS)Nz-xr)r<r=Ú_extract_optionsrÚ subprocessÚ list2cmdlineÚisascii)Úselfr@Úcmdlines rÚinstall_optionszCommandSpec.install_optionsPsc€Ý”{ 4×#8Ò#8¸Ñ#EÔ#EÑFÔFˆŒ ÝÔ)¨$Ñ/Ô/ˆÝ�wÑÔð &Ø $˜vˆDŒL˜˜!˜Ñ Ð Ð ð &ð &rcóÜ—|dz ¦«d}t¦« |¦«}|r| d¦«pdnd}| ¦«S)zH Extract any options from the first line of the script. ú rrÚ)Ú splitlinesÚ_first_line_reÚmatchÚgroupÚstrip)Ú orig_scriptÚfirstrNrs rrBzCommandSpec._extract_optionsVsb€ð ˜tÑ#×/Ò/Ñ1Ô1°!Ô4ˆÝÑ Ô ×&Ò& uÑ-Ô-ˆØ*/Ð7�%—+’+˜a‘.”.Ð& Bø°RˆØ�}Š}‰ŒÐrcóV—| |t|j¦«z¦«Sr9)Ú_renderÚlistr)rFs rÚ as_headerzCommandSpec.as_header`s#€Ø�|Š|˜D¥4¨¬ Ñ#5Ô#5Ñ5Ñ6Ô6Ð6rcó€—d}|D]8}| |¦«r!| |¦«r |dd…cSŒ9|S)Nz"'réÿÿÿÿ)Ú startswithÚendswith)ÚitemÚ_QUOTESÚqs rÚ _strip_quoteszCommandSpec._strip_quotescsW€àˆØð "ð "ˆAØ�Š˜qÑ!Ô!ð " d§m¢m°AÑ&6Ô&6ð "ؘA˜b˜D”zÐ!Ð!Ð!øØˆ rcóN—tjd„|D¦«¦«}d|zdzS)Nc3ónK—|]0}t | ¦«¦«V—Œ1dSr9)rr^rP)Ú.0r[s rú z&CommandSpec._render..msIèè€ð* ð* Ø8<�K× %Ò % d§j¢j¡l¤lÑ 3Ô 3ð* ð* ð* ð* ð* ð* rz#!rJ)rCrD)r?rGs rrTzCommandSpec._renderksA€åÔ)ð* ð* Ø@Eð* ñ* ô* ñ ô ˆð�g‰~ Ñ$Ð$rN)r-r.r/r )r:r2r/r )r@r2)rrrÚ__doc__rrrr>Ú classmethodr!r,r7r4r3rHÚ staticmethodrBrVr^rTrrrrrsE€€€€€€ððð €GÐÐÐÑØ�‘”€Jàððñ„[ðð ð?ð?ñ„[ð?ðð Kð Kð Kñ„[ð Kðð,ð,ñ„[ð,ððððñ„[ðð&ð&ð&ð&ð ððñ„\ðð7ð7ð7ðððñ„\ððð%ð%ñ„\ð%ð%ð%rrcó&—eZdZed¬¦«ZdS)ÚWindowsCommandSpecF)rN)rrrrr>rrrrgrgss €€€€€Ø� %Ð(Ñ(Ô(€J€J€JrrgcóÒ—eZdZdZejd¦« ¦«ZeZ e dd„¦«Z e d„¦«Z e d„¦«Ze d„¦«Ze ddd„¦«ZdS)Ú ScriptWriterz` 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#óðK—t|d¦«s8tjd¦«tj |j¦«}|€| ¦«}|j›d|j ›�}dD]�}|›d�}|j   |¬¦«D]^}|j}|  |j¦«|j t¦«z}| ||j||¦«} | Ed{V—†Œ_Œ‚dS)z� 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)rO)Úhasattrr ÚemitrÚ DistributionÚatÚegg_infoÚ get_headerÚnameÚversionrkÚselectÚ_ensure_safe_nameÚtemplateÚlocalsÚ_get_script_args) r ÚdistÚheaderÚspecÚtype_rOÚeprvr@Úargss rÚget_argszScriptWriter.get_args¤sèè€õ�t˜^Ñ,Ô,ð ;Ý Ô "Ð#JÑ KÔ KÐ KÝÔ(×+Ò+¨D¬MÑ:Ô:ˆDà ˆ>Ø—^’^Ñ%Ô%ˆFØ”)Ð-Ð-˜tœ|Ð-Ð-ˆØ%ð ð ˆEØÐ&Ð&Ð&ˆEØÔ'×.Ò.°UÐ.Ñ;Ô;ð ð �Ø”w�Ø×%Ò% b¤gÑ.Ô.Ð.Ø!œl­V©X¬XÑ5� Ø×+Ò+¨E°2´7¸FÀKÑPÔP�Ø��������ð  ð ð rcóR—tjd|¦«}|rtd¦«‚dS)z? Prevent paths in *_scripts entry point names. z[\\/]z+Path separators not allowed in script namesN)ÚreÚsearchÚ ValueError)rvÚ has_path_seps rryzScriptWriter._ensure_safe_name½s9€õ ”y ¨4Ñ0Ô0ˆ Ø ð LÝÐJÑKÔKÐ Kð Lð Lrcó˜—tjdks tjdkr)tjdkrt  ¦«S|S)zD Select the best ScriptWriter for this environment. Úwin32ÚjavaÚnt)r'Úplatformr$rvÚ_nameÚWindowsScriptWriterr!rs rr!zScriptWriter.bestÆs@€õ Œ<˜7Ò "Ð "¥r¤w°&Ò'8Ð'8½R¼XÈÒ=MÐ=MÝ&×+Ò+Ñ-Ô-Ð -àˆJrc#óK—|||zfV—dSr9r)r r€rvr~r@s rr|zScriptWriter._get_script_argsÐs$èè€ð�V˜kÑ)Ð*Ð*Ð*Ð*Ð*Ð*rrKr@r2r(ú(str | CommandSpec | Iterable[str] | Noner/có¬—|j ¦« |¦«}| |¦«| ¦«S)z;Create a #! line, getting options (if any) from script_text)Úcommand_spec_classr!r7rHrV)r r@r(Úcmds rruzScriptWriter.get_headerÕsH€ðÔ$×)Ò)Ñ+Ô+×6Ò6°zÑBÔBˆØ ×Ò˜KÑ(Ô(Ð(Ø�}Š}‰ŒÐrr9)rKN)r@r2r(r‘r/r2)rrrrcÚtextwrapÚdedentÚlstriprzrr“rdrƒreryr!r|rurrrririwsð€€€€€ððð ˆxŒð! ñ#ô#÷F ‚f�h„hðG ðJ%Ðàð ð ð ñ„[ð ð0ðLðLñ„\ðLðððñ„[ððð+ð+ñ„[ð+ððØ?Cððððñ„[ðððrricój—eZdZeZed„¦«Zed„¦«Zed„¦«Ze d„¦«Z dS)r�có~—tt|¬¦«}tj dd¦«}||S)zC Select the best ScriptWriter suitable for Windows )r(ÚnaturalÚSETUPTOOLS_LAUNCHERr()ÚdictÚWindowsExecutableLauncherWriterr$r)r*)r Ú writer_lookupÚlaunchers rr!zWindowsScriptWriter.bestäsA€õ Ý6Øð ñ ô ˆ õ ”:—>’>Ð"7¸ÑFÔFˆØ˜XÔ&Ð&rc#óœ‡K—tdd¬¦«|}|tjd ¦« d¦«vr-djd it ¦«¤Ž}tj|¦«gd¢}|  |¦«|  ||¦«}ˆfd„|D¦«}‰|z||zd |fV—d S) z For Windows, add a .py extensionú.pyaú.pywrlÚPATHEXTú;zK{ext} not listed in PATHEXT; scripts will not be recognized as executables.)r¡ú.pyú -script.pyú.pycú.pyor¢ú.execó•—g|]}‰|z‘ŒSrr©raÚxrvs €rú z8WindowsScriptWriter._get_script_args..þóø€Ð*Ð*Ð* �D˜1‘HÐ*Ð*Ð*rÚtNr) rœr$r)Úlowerr=Úformatr{r rqÚremoveÚ_adjust_header) r r€rvr~r@ÚextÚmsgÚoldÚblockerss ` rr|z$WindowsScriptWriter._get_script_argsñs÷øèè€õ˜6 vÐ.Ñ.Ô.¨uÔ5ˆØ •b”j Ô+×1Ò1Ñ3Ô3×9Ò9¸#Ñ>Ô>Ð >Ð >ðð-äð!ð!õ‘x”xð!ð!ˆCõ Ô " 3Ñ 'Ô 'Ð 'ØKÐKÐKˆØ � Š �3‰ŒˆØ×#Ò# E¨6Ñ2Ô2ˆØ*Ð*Ð*Ð* cÐ*Ñ*Ô*ˆØ�S‰j˜& ;Ñ.°°XÐ=Ð=Ð=Ð=Ð=Ð=rcóà—d}d}|dkr||}}tjtj|¦«tj¦«}| ||¬¦«}| |¦«r|n|S)z† Make sure 'pythonw' is used for gui and 'python' is used for console (regardless of what sys.executable is). z pythonw.exez python.exern)r:Úrepl)r…ÚcompileÚescapeÚ IGNORECASEÚsubÚ _use_header)r r€Ú orig_headerÚpatternr¹Ú pattern_obÚ new_headers rr³z"WindowsScriptWriter._adjust_headersm€ð  ˆØˆØ �EŠ>ˆ>Ø  '�TˆGÝ”Z¥¤ ¨'Ñ 2Ô 2µB´MÑBÔBˆ Ø—^’^¨;¸T�^ÑBÔBˆ Ø Ÿ_š_¨ZÑ8Ô8ÐIˆzˆz¸kÐIrcó„—|dd… d¦«}tjdkptj|¦«S)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. érXú"rŠ)rPr'r�ÚshutilÚwhich)rÂÚ clean_headers rr¾zWindowsScriptWriter._use_headers<€ð" ! B $Ô'×-Ò-¨cÑ2Ô2ˆ ÝŒ|˜wÒ&ÐD­&¬,°|Ñ*DÔ*DÐDrN) rrrrgr“rdr!r|r³rer¾rrrr�r�ásŒ€€€€€Ø+Ðàð 'ð 'ñ„[ð 'ðð >ð >ñ„[ð >ðð Jð Jñ„[ð Jðð Eð Eñ„\ð Eð Eð Err�có$—eZdZed„¦«ZdS)r�c#ó‡K—|dkrd}d}dg}nd}d}gd¢}| ||¦«}ˆfd„|D¦«} ‰|z||zd| fV—‰d zt|¦«d fV—t¦«s‰d z} | t‰¦«dfV—d Sd S) zG For Windows, add a .py extension and an .exe launcher rnz -script.pywr¢Úclir¦)r¥r§r¨có•—g|]}‰|z‘ŒSrrr«s €rr­zDWindowsExecutableLauncherWriter._get_script_args..+r®rr¯r©Úbz .exe.manifestN)r³Úget_win_launcherÚis_64bitÚload_launcher_manifest) r r€rvr~r@Ú launcher_typer´r¶Úhdrr·Úm_names ` rr|z0WindowsExecutableLauncherWriter._get_script_argssõøèè€ð �EŠ>ˆ>Ø!ˆM؈CØ�(ˆCˆCà!ˆM؈CØ)Ð)Ð)ˆCØ× Ò  ¨Ñ/Ô/ˆØ*Ð*Ð*Ð* cÐ*Ñ*Ô*ˆØ�c‰z˜3 Ñ,¨c°8Ð<Ð<Ð<Ð<à �6‰MÝ ˜]Ñ +Ô +Ø ð ð ð ð õ ‰zŒzð >ð ˜OÑ+ˆFØÕ1°$Ñ7Ô7¸Ð=Ð =Ð =Ð =Ð =Ð =ð >ð >rN)rrrrdr|rrrr�r�s-€€€€€Øð>ð>ñ„[ð>ð>ð>rr�cóF—|›d�}t¦«r@t¦«dkr| dd¦«}n-| dd¦«}n| dd¦«}tjd¦« |¦« ¦«S)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)r6Ú launcher_fns rrÎrÎ<s—€ð�-�-�-€KÝ�z„zð7Ý ‰>Œ>˜[Ò (Ð (Ø%×-Ò-¨c°9Ñ=Ô=ˆKˆKà%×-Ò-¨c°6Ñ:Ô:ˆKˆKà!×)Ò)¨#¨vÑ6Ô6ˆ Ý Œ?˜<Ñ (Ô (× 1Ò 1°+Ñ >Ô >× IÒ IÑ KÔ KÐKrcó¤—tjt¦« d¦«}| d¬¦«t ¦«zS)Nzlauncher manifest.xmlzutf-8)Úencoding)r rØrrÙÚ read_textÚvars)rvÚress rrÐrÐOs=€Ý Œ/�(Ñ #Ô #× ,Ò ,Ð-DÑ EÔ E€CØ �=Š= 'ˆ=Ñ *Ô *­T©V¬VÑ 3Ð3rcó®—ttjt¦«rtSt jtj ¦«¦«S)z_ Return a regular expression based on first_line_re suitable for matching strings. )r1r rÀr2r…rºÚdecoderrrrMrMTs@€õ •-Ô'­Ñ-Ô-ðÝÐõ Œ:•mÔ+×2Ò2Ñ4Ô4Ñ 5Ô 5Ð5rcó2—tjd¦«dkS)NÚPé)ÚstructÚcalcsizerrrrÏrÏ`s€Ý Œ?˜3Ñ Ô  1Ò $Ð$rcóV— | d¦«n#t$rYdSwxYwdS)NÚasciiFT)ÚencodeÚ UnicodeError)Úss rrErEdsC€ðØ �Š�ÑÔÐÐøÝ ððð؈uˆuðøøøà ˆ4s ‚˜ &¥&)&Ú __future__rr$r…r<rÆrærCr'r•Úcollections.abcrÚtypingrrÚ _importlibrr Útyping_extensionsr Úwarningsr Údistutils.command.build_scriptsr Údistutils.utilr rrUrrgrir�r�rÎrÐrMrÏrErrrúrõsjðØ"Ð"Ð"Ð"Ð"Ð"à € € € Ø € € € Ø € € € Ø € € € Ø € € € ØÐÐÐØ € € € Ø€€€Ø$Ð$Ð$Ð$Ð$Ð$Ø+Ð+Ð+Ð+Ð+Ð+Ð+Ð+à+Ð+Ð+Ð+Ð+Ð+Ð+Ð+àð'Ø&Ð&Ð&Ð&Ð&Ð&à'Ð'Ð'Ð'Ð'Ð'à9Ð9Ð9Ð9Ð9Ð9Ø'Ð'Ð'Ð'Ð'Ð'ððððð� %ðñôðð R%ðR%ðR%ðR%ðR%�$ñR%ôR%ðR%ðj)ð)ð)ð)ð)˜ñ)ô)ð)ðgðgðgðgðgñgôgðgðT8Eð8Eð8Eð8Eð8E˜,ñ8Eô8Eð8Eðv>ð>ð>ð>ð>Ð&9ñ>ô>ð>ð@LðLðLð&4ð4ð4ð 6ð 6ð 6ð%ð%ð%ðððððr