0i$ddlmZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddlmZddlmZdZd Ze j&Ze j*Ze j.Zej2d ej4Zdd Zdd Zdd ZddZ ddZ ddZ!ejDdddZ#ddZ$d dZ%d dZ& d!dZ'y)") annotationsN)Sequence) lang_base)Prefix)CalledProcessError) cmd_output_bdocker PRE_COMMITsg /containers (?:/overlay-containers)? /([a-z0-9]{64}) (?:/userdata)? /hostname c.tjt5tdd5}|D]@}tj |}|s|dj ccdddcdddS ddddddy#1swYxYw#1swYyxYw)Nz/proc/1/mountinforb) contextlibsuppressFileNotFoundErroropen_HOSTNAME_MOUNT_REsearchdecode)flinems J/opt/hc_python/lib/python3.12/site-packages/pre_commit/languages/docker.py_get_container_idr"s|   . / %t ,&--d3Q4;;=( - , 0 /- 0  - , 0 s4 B A?A? B ,A?.B ?B B  Bc.t}||S tdd|\}}}tj|\}|dD]D}|d}|d}t j j||f|k(s2|j||cS|S#t$r|cYSwxYw)Nr inspectMountsSource Destination) rrrjsonloadsospath commonpathreplace)r" container_id_out containermountsrc_pathto_paths r_get_docker_pathr,-s$&L  9lC 3 CJI8$? & 77  tWo .' 9<<2 2 % K  sB BBcdtj|jjS)N)hashlibmd5encode hexdigest)ss rr/r/Es ;;qxxz " , , ..cttjj|jj }d|S)Nz pre-commit-)r/r!r"basename prefix_dirlower)prefixmd5sums r docker_tagr:Is7 !!&"3"34 5 ; ; =F  !!r3crdddt|dtf}|r|dz }|dz }tj||y)Nr buildz--tagz--label)z--pull).)r:PRE_COMMIT_LABELr setup_cmd)r8pullcmds rbuild_docker_imagerBNsH 'F##C   {6MC $r3ctjd|tjd|tj|t|}t |dt j|y)Nr Tr@)rassert_version_defaultassert_no_additional_depsenvironment_dirENVIRONMENT_DIRrBr!mkdir)r8versionadditional_dependencies directorys rinstall_environmentrM_sQ$$Xw7 ''2IJ))&/7KIvD)HHYr3r )maxsizectddddd\}}}|dk7rytj|} d|jd xsd vxs |d d d S#t$rYywxYw)Nr systeminfoz--formatz {{ json . }}rFz name=rootlessSecurityOptionshostsecurityrootless)rrr getKeyError)retcoder'r&rQs r _is_rootlessrZms"(FJOGS!!| ::c?D  ): ; Ar B 1 L $Z 0   s#A A A ctry dtjdtjfS#t$rYywxYw)NrSz-u:)rZr!getuidgetgidAttributeErrorrSr3rget_docker_userr`sC~ Qryy{m455 s,: AAc|rdSdS)N)z--ttyrSrScolors rget_docker_ttyrdsJ(R(r3cdddgt|tdttjdddS) Nr runz--rmrbz-vz :/src:rw,Zz --workdirz/src)rdr`r,r!getcwdrbs r docker_cmdrhsk%  e $      ""))+./z:     r3ct|dtj||^}}d|t|f} tjgt || ||||S)NFrDz --entrypointrb)require_serialrc)rBrhook_cmdr: run_xargsrh) r8entryargs file_argsis_localrjrc entry_execmd_rest entry_tags rrun_hookrtsivE*$--eT:IJv,>?I   9*5 !9I99%  r3)returnz str | None)r"strrurv)r2rvrurv)r8rrurv)r8rr@boolruNone)r8rrJrvrK Sequence[str]rurx)rurw)rutuple[str, ...])rcrwrurz)r8rrmrvrnryroryrprwrjrwrcrwruztuple[int, bytes])( __future__rr functoolsr.rr!recollections.abcr pre_commitrpre_commit.prefixrpre_commit.utilrrrHr>basic_get_default_versionget_default_versionbasic_health_check health_checkno_envin_envcompileVERBOSErrr,r/r:rBrM lru_cacherZr`rdrhrtrSr3rrsP" $ $.(99++   RZZJJ 0/" %%% %"  !$ ?L   Q *) !   r3