0iddlmZddlZddlZddlZddlmZddlmZddl m Z ddl m Z ddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZej:dZddZddZ ddZ!ddZ"ddZ#d dZ$ d!dZ% d"dZ& d"dZ' d"dZ(d#dZ)d$dZ*y)%) annotationsN)Sequence)Any) languages) load_manifest)LOCAL)META)Hook)environment_dir)Prefix)Store)clean_path_on_failure)rmtree pre_commitcBtjj|dS)Nz.install_state_v1ospathjoinvenvs D/opt/hc_python/lib/python3.12/site-packages/pre_commit/repository.py_state_filename_v1r 77<<1 22cBtjj|dS)Nz.install_state_v2rrs r_state_filename_v2rrrc d|iS)Nadditional_dependencies)additional_depss r_stater"!s % 77rct|}tjj|syt |5}t j |cdddS#1swYyxYwN)rrrexistsopenjsonload)rfilenamefs r _read_stater+%s=!$'H 77>>( # (^q99Q<^^s AAct|j}|jyt|j|j|j }t jjt|xs!t|t|jk(xr'|j|j|j  S)NT)rlanguageENVIRONMENT_DIRr prefixlanguage_versionrrr%rr+r"r health_check)hooklangrs r_hook_installedr4.s T]] #D #     D GGNN-d3 4 F  (D(D!E E B   dkk4+@+@ AA rc tjd|jdtjdtjdt|j}|j Jt |j|j |j}tjj|r t|t|5|j|j|j|j|j!|j|j}|rt#d|jd|t%|}|d}t'|d5}|j)t+j,t/|jdddtj0||t't3|d j5dddy#1swYKxYw#1swYyxYw) NzInstalling environment for .z/Once installed this environment will be reused.zThis may take a few minutes...zBUG: expected environment for zh to be healthy immediately after install, please open an issue describing your environment more info: stagingwza+)loggerinfosrcrr-r.r r/r0rrr%rrinstall_environmentrr1AssertionErrorrr&writer'dumpsr"replacerclose)r2r3r health_errorstate_filenamer7 state_files r _hook_installrEAs KK-dhhZq9: KKAB KK01 T]] #D    ++ +     D ww~~dt t $   KK..0L0L ((d6K6KL  0@!".0 ,D1#$G, '3 :   TZZt/K/K(LM N  7N+  %t,224- % $" # % $s&BG. 8G"AG."G+ 'G..G7c&t|d|dd}}|D]}|j||d}|dtjk(r |d||d<|dtjk(rt|j |d<|ds|d|d<t|j o|dtjk7r*tjd|d d |d td|d r*tjd|d d |d td|S)Nrr-r0default_language_versionstagesdefault_stagesz The hook `idz6` specifies `language_version` but is using language `zW` which does not install an environment. Perhaps you meant to use a specific language?rz=` specifies `additional_dependencies` but is using language `) dictupdateCDEFAULTrget_default_versionr.r9errorexit) root_config hook_dictsretrestdctr3s r_hookrXms@Z]#Z^C 3 z?D !))+"-.H"I$"O  !))+"+D/"E"E"G  x=#$45H &&. ! "aii / LLSYK(##'&)@A  G ( ) LLSYK(**.0@A  G JrcHdfd tfddDS)Nct|}|jttjStj |Sr$)rr.r rgetcwd make_local) language_namedepsr-stores r_prefixz-_non_cloned_repository_hooks.._prefixsB]+  # # +"))+& &%**401 1rc 3K|]6}tjd|d|dt|8yw)repor-rrSN)r createrX).0r2r` repo_configrSs r z/_non_cloned_repository_hooks..sM )D   D$d+D&E F $K 0 )s.sL D   5;;tS$/H*IJ K  sAA) rrrrsrN MANIFEST_FILErr9rQrRrXrm) rfr_rS manifest_pathr2by_id hook_dctsrbrps `` @@r_cloned_repository_hooksrxs F#[%7ID#GGLLT3!7IM*7 *F G*F$T$Z *FE GG$ :U " LLDJ<>tfE<=  G% ((D eDJ;?(     Hs  C!-C&cX|dtthvr t|||St|||S)Nrb)rr rnrx)rfr_rSs r_repository_hooksrzs3 6udm++K LL' UKHHrcdfd }|sy|j5|D] }t| dddy#1swYyxYw)Nct}g}D]G}|j|vrt|s|j||j |jI|Sr$)set install_keyr4appendadd)seenrUr2rhs r_need_installedz*install_hook_envs.._need_installedsS>AeDt+OD4I 4 HHT%% & r)rkz list[Hook])exclusive_lockrE)rhr_rr2s` rinstall_hook_envsrs@      #%D $ &  s AA c6tfddDS)Nc3FK|]}t|D]}|ywr$)rz)rerbr2rSr_s rrgzall_hooks..s/(D%dE;?D ? (s!reposrl)rSr_s``r all_hooksrs" ( r)rrirkri)r!rjrkobject)rrirkz object | None)r2r rkbool)r2r rkNone)rTdict[str, Any]rSrrkr)rfrr_r rSrrktuple[Hook, ...])rhzSequence[Hook]r_r rkr)rSrr_r rkr)+ __future__rr'loggingrcollections.abcrtypingrpre_commit.constants constantsrNpre_commit.all_languagesrpre_commit.clientlibrrr pre_commit.hookr pre_commit.lang_baser pre_commit.prefixr pre_commit.storer pre_commit.utilrr getLoggerr9rrr"r+r4rErXrnrxrzrrr rrrs"  $ ..&% 0$"1"   < (338 &)5X######L#$ 0#$ @I#II$I I $r