0iddlmZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZdZe j:Zej>d dZ d!dZ!d"dZ"d#dZ# d$dZ$d%dZ%d&dZ&ejNdd%dZ(d'dZ)d$dZ*ejVd(dZ,d)dZ- d*dZ.y)+) annotationsN) Generator)Sequence) lang_base) envcontext)PatchesT)UNSET)Var)find_executable)Prefix)CalledProcessError) cmd_output) cmd_output_b)win_exepy_envcpd} t|dd|djS#t$r d|dcYSwxYw)Nz>)rstripr )exeprogs J/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/python.py _version_inforsI ID:#tT40399;; :1#b99:s #55ci}t|d5}|D]8} |jd\}}|j||j<: ddd|S#t$rYQwxYw#1swY|SxYw)NUTF-8)encoding=)opensplitr ValueError)filenameretflinekvs r_read_pyvenv_cfgr'$sw C h )QD +zz#1"#AGGI  * J    * Js-A(A#A( A%"A($A%%A((A2cptjdk(rdnd}tjj ||S)z;On windows there's a different directory for the virtualenvwin32Scriptsbin)sysplatformospathjoin)venvbin_parts rbin_dirr31s)LLG3yH 77<<h ''c hddtfd|fdt|tjt dfffS)N)PIP_DISABLE_PIP_VERSION_CHECK1 PYTHONHOME VIRTUAL_ENVPATH)r r3r.pathsepr )r1s r get_env_patchr<7s:. u  '$-S[9:  r4c|jdrR|jd}dd|ddf}ttjd} t |d|id j Sy#t$rYywxYw) Npythonpy-rz!import sys; print(sys.executable)r)PYTHONIOENCODINGenvr) startswith removeprefixdictr.environrrr )versionnumcmdrBs r_find_by_py_launcherrJ@s(#""8,qY&IJ2::8 s,,Q/557 7 "    sA%% A10A1crtjjdk(rytjjS)Ncpythonr>)r,implementationnamer4r_impl_exe_namerPNs+ )+!!&&&r4cdd}tjtjj tjfD]}||}|s|cSy)Nctjj|j\}}|j d\}}}|dvr t |r|Sy)Nz.exe>r>pythonw)r.r/rlower partitionr )r/_rs r_normz&_find_by_sys_executable.._normVsJtzz|,3MM&) Q + +0DJr4)r/strreturn str | None)r, executabler.r/realpath)rWr/rs r_find_by_sys_executabler]UsF!1!1#..!ABDk JC r4r)maxsizecNtjd}tjddtjd}||fD]}t|}t|s|cSt }|r|Stj dk(rd|}t |r|StjS)Nr.rr)r>) r, version_inforPr r]r-rJCDEFAULT)v_majorv_minor potentialr maybe_exes rget_default_versionrhls!!!$%G!!!$%Qs'7'7':&;TFc32K|]}t|ywN)int).0ps r z*_sys_executable_matches..sO%NSV%Nsr`)rCtuplerDrr r,ralen)rGinfos r_sys_executable_matchesrss{(    )OW%9%9(%C%I%I#%NOO   JSY '4 // s0A)) A54A5c|tjk(ryt|rytjdk(r#t |}|r|St |}|r||k7r|Stjj|S)Nr)) rbrcrsr,r-rJr r.r/ expanduser)rG version_execs r norm_versionrwsn!))  ) ||w+G4  'w/ LG3  77  g &&r4c#Ktj|t|}tt |5ddddy#1swYyxYwwrk)renvironment_dirENVIRONMENT_DIRrr<)prefixrGenvdirs rin_envr}s5  & &v HF M&) *  + * *s0A A A A A ctj|t|}tjj |d}tjj |sytd}|j t||}t|}d|vrytj|}||dk7r d|d|ddSd |vryt|d }||dk7r d |d|ddSy) Nz pyvenv.cfgz+pyvenv.cfg does not exist (old virtualenv?)r>raz9created virtualenv's pyvenv.cfg is missing `version_info`zKvirtualenv python version did not match created version: - actual version: z - expected version:  zbase-executablezZbase executable python version does not match created version: - base-executable version: ) rryrzr.r/r0existsrr3r'r __wrapped__) r{rGr| pyvenv_cfgexe_namepy_execfgvirtualenv_versionbase_exe_versions r health_checkrs  & &v HFfl3J 77>>* %<x H [[( 3F : &CS J'226:S00!!3 45##&~#6"7r ; #$S):%;<3~..**:);<##&~#6"7r ; r4c6tj|t|}tjd|g}t |}||j d|fddddg|}t|ddit||5tj||dddy#1swYyxYw) Nz -mvirtualenvz-pr>z-mpipinstallr`cwd/) rryrzr,r[rwextendrr} setup_cmd)r{rGadditional_dependenciesr|venv_cmdr> install_cmds rinstall_environmentrs  & &v HF7H ' "F v'WiO7NOK($$  FK0 ! s /BB)rrXrYrX)r!rXrYzdict[str, str])r1rXrYrX)r1rXrYr)rGrXrYrZ)rYrX)rYrZ)rGrXrYbool)r{r rGrXrYzGenerator[None])r{r rGrXrYrZ)r{r rGrXrz Sequence[str]rYNone)/ __future__r contextlib functoolsr.r,collections.abcrrpre_commit.constants constantsrb pre_commitrpre_commit.envcontextrrr r pre_commit.parse_shebangr pre_commit.prefixr pre_commit.utilr rrrrzbasic_run_hookrun_hookcacherr'r3r<rJrPr] lru_cacherhrsrwcontextmanagerr}rrrOr4rrs" %$ ,*'%4$.&(#  # # :: (    '.Q 2 0'(  $N111"/1 1r4