
    MiA                    V   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	J
r
  S SK	Jr  S SKJr  S SKJr  S SKrS SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  \R6                  " S5      r\R:                  " \R<                  \R>                  5      r Sr!/ \!QSP7r"SsS jr#StS jr$SuS jr%SSSS.r&SvS jr'\RP                  " \RR                  " SS\RT                  " S\R<                  5      \RV                  " S\RX                  " \R<                  5      / 5      5      5      r-SwS jr. " S S\5      r/ " S S\/5      r0 " S S \5      r1 " S! S"\5      r2SxS$ jr3 " S% S&\5      r4 " S' S(\45      r5\RR                  " SS\RV                  " S)\R:                  " \R<                  \%5      S*5      \RT                  " S\R<                  5      \RT                  " S#\R<                  5      \RT                  " S+\R<                  5      \5" S,\Rl                  " \5      5      \RV                  " S-\R<                  S.5      \RV                  " S/\ S.5      \RV                  " S0\ S15      \RV                  " S2\RX                  " \#5      S3/5      \RV                  " S4\RX                  " \#5      / 5      \RV                  " S5\RX                  " \#5      / 5      \RV                  " S6\RX                  " \R<                  5      / 5      \RV                  " S7\RX                  " \R<                  5      / 5      \RV                  " S8\Rn                  S95      \RV                  " S:\Rn                  S95      \RV                  " S;\Rn                  S<5      \RV                  " S=\R<                  S.5      \RV                  " S>\R<                  \Rp                  5      \RV                  " S?\R<                  S.5      \RV                  " S@\Rn                  S95      \0" S/ 5      \RV                  " SA\Rn                  S95      5      r9\RP                  " \95      r: " SB SC\5      r;SySD jr<\Rz                  " \R|                  \:\<\;SE9r?SFr@SGrA " SH SI\R                  5      rC " SJ SK\R                  5      rE " SL SM\R                  5      rFSzSN jrG        S{SO jrH        S{SP jrISQSRS/SS\R                  " \R                  5       ST34S+\G" SU5      444SVSWS/SS\R                  " \R                  5       ST34S+\G" SX5      444SYSZS[S+\G" SY5      4444rL " S\ S]\R                  5      rM\E" S/\R<                  5      \E" S0\R<                  5      \1" S5      4rN\RR                  " SS\RT                  " S\R<                  5      \RT                  " S\Rl                  " \O" S^ \L 5       5      5      5      \RV                  " S,\Rl                  " S_15      S_5      \M" S+\R                  5      /S` \L 5       QSa \9R                   5       Q\NQ76 rR\RR                  " SS\RT                  " S\R<                  5      /Sb \9R                   5       Q\/" S/ 5      P\4" S,\Rl                  " \5      5      P\NQ76 rS\RR                  " SS/\9R                  Q\NQ76 rT\RR                  " ScS\RT                  " S\R<                  5      \R                  " Sd\RP                  " \S5      S\R                  " \@\A5      5      \R                  " Sd\RP                  " \T5      S\@5      \R                  " Sd\RP                  " \R5      S\A5      \C" Se\R<                  S\R                  " \@\A5      S<Sf9\R                  " Sg\I5      5      rX\RR                  " ShS\R                  " \5      /Si \ 5       Q76 rZ\RR                  " SjS\RV                  " S)\R:                  " \R<                  \%5      S*5      \R                  " Sk\RP                  " \X5      5      \RV                  " Sl\RX                  " \Rl                  " \!5      5      S/5      \R                  " Sm\Z0 5      \0" Sn\"5      \2" Sn5      \RV                  " S/\ S.5      \RV                  " S0\ S15      \RV                  " S:\Rn                  S95      \R                  " So\H5      \F" S/\R<                  5      \F" S0\R<                  5      \R                  " Sp\R                  " \^5      5      5      r_ " Sq Sr\5      r`\Rz                  " \R|                  \_\\`SE9rag)|    )annotationsN)Callable)Sequence)Any)
NamedTuple)ALL_TAGS)language_names)
FatalError)	yaml_load
pre_commit)
z
commit-msgzpost-checkoutzpost-commitz
post-mergezpost-rewrite
pre-commitpre-merge-commitpre-pushz
pre-rebasezprepare-commit-msgmanualc                N    U [         ;  a  [        R                  " SU < S35      eg )Nz	Type tag z; is not recognized.  Try upgrading identify and pre-commit?)r   cfgvValidationError)tags    n/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/pre_commit/clientlib.pycheck_type_tagr   *   s3    
(""w 5 6
 	
     c                D    [        S U R                  S5       5       5      $ )zpoor man's version comparisonc              3  8   #    U  H  n[        U5      v   M     g 7fN)int).0ps     r   	<genexpr> parse_version.<locals>.<genexpr>4   s     .AQs   .)tuplesplit)ss    r   parse_versionr$   2   s    ....r   c                    [        U 5      [        [        R                  5      :  a+  [        R                  " SU  S[        R                   S35      eg )Nzpre-commit version z is required but version z? is installed.  Perhaps run `pip install --upgrade pre-commit`.)r$   CVERSIONr   r   )versions    r   check_min_versionr)   7   sM    Waii 88""!'*Cyyk >?
 	
 9r   r   r   r   )commitzmerge-commitpushc                ,    [         R                  X 5      $ r   )_STAGESget)stages    r   transform_stager0   G   s    ;;u$$r   Hookidstagesrepoc           
         [         R                  " [        R                  R	                  U[
        R                  5      [        [        [        S9n0 nU H,  nUR                  SS5       H  nU[        ;   d  M  SX5'   M     M.     U(       aC  [        R                  SU  SSR	                  U5       S[        R                  " U 5       S	35        g g ! [         a     g f = f)
Nschemaload_strategyexc_tpr3    Tzrepo `` uses deprecated stage names (, zX) which will be removed in a future version.  Hint: often `pre-commit autoupdate --repo zM` will fix this.  if it does not -- consider reporting an issue to that repo.)r   load_from_filenameospathjoinr&   MANIFEST_FILEMINIMAL_MANIFEST_SCHEMAr   InvalidManifestErrorr.   r-   loggerwarningshlexquote)r4   	directorymanifestlegacy_stageshookr/   s         r   warn_for_stages_on_repo_initrL   T   s    **GGLLAOO4*#'	
 MXXh+E'+$ , 
 TF 		-() *99>T9J8K LJK	
    s   AC 
CCc                  H    \ rS rSr% S\S'   S\S'   SS jrSS jrSS jrS	rg
)StagesMigrationNoDefaultp   strkeySequence[str]defaultc                   U R                   U;  a  g [        R                  " SU R                    35         XR                      n[        R                  " [        R                  5      " U5        U Vs/ s H  n[        U5      PM     nn[        R                  " [        R                  " [        5      5      " U5        S S S 5        g s  snf ! , (       d  f       g = fNzAt key: )rQ   r   validate_contextcheck_array	check_anyr0   check_one_ofSTAGES)selfdctvalvs       r   checkStagesMigrationNoDefault.checkt   s    883""XdhhZ#89hh-CT^^,S1/23s!?1%sC3T..v67< :9 4	 :9s   =C2C6CC
Cc                    U R                   U;  a  g XR                       Vs/ s H  n[        U5      PM     snXR                   '   g s  snf r   )rQ   r0   )r[   r\   r^   s      r   apply_default&StagesMigrationNoDefault.apply_default   s9    88358]C]+]CHHCs   Ac                    [         er   NotImplementedErrorr[   r\   s     r   remove_default'StagesMigrationNoDefault.remove_default       !!r   r:   Nr\   zdict[str, Any]returnNone	__name__
__module____qualname____firstlineno____annotations__r_   rb   rh   __static_attributes__r:   r   r   rN   rN   p   s    	H	=D
"r   rN   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )StagesMigration   c                p   > UR                  U R                  U R                  5        [        TU ]  U5        g r   )
setdefaultrQ   rS   superrb   r[   r\   	__class__s     r   rb   StagesMigration.apply_default   s&    txx.c"r   r:   rk   )ro   rp   rq   rr   rb   rt   __classcell__r|   s   @r   rv   rv      s    # #r   rv   c                  >    \ rS rSr% S\S'   S	S jrS	S jrS	S jrSrg)
DeprecatedStagesWarning   rP   rQ   c                F   U R                   U;  a  g XR                      n[        R                  " [        R                  5      " U5        U Vs/ s H  o3[        ;   d  M  UPM     nnU(       a/  [
        R                  SUS    SSR                  U5       S35        g g s  snf )Nz	hook id `r2   r;   r<   i) which will be removed in a future version.  run: `pre-commit migrate-config` to automatically fix this.rQ   r   rW   rX   r-   rD   rE   r@   r[   r\   r]   r/   rJ   s        r   r_   DeprecatedStagesWarning.check   s    883((m(-,/DC5G3CCDNNCI; 'IIm,- .NO  Es   BBc                    g r   r:   rg   s     r   rb   %DeprecatedStagesWarning.apply_default       r   c                    [         er   re   rg   s     r   rh   &DeprecatedStagesWarning.remove_default   rj   r   r:   Nrk   rn   r:   r   r   r   r          	H "r   r   c                  >    \ rS rSr% S\S'   S	S jrS	S jrS	S jrSrg)
DeprecatedDefaultStagesWarning   rP   rQ   c                :   U R                   U;  a  g XR                      n[        R                  " [        R                  5      " U5        U Vs/ s H  o3[        ;   d  M  UPM     nnU(       a)  [
        R                  SSR                  U5       S35        g g s  snf )Nz8top-level `default_stages` uses deprecated stage names (r<   r   r   r   s        r   r_   $DeprecatedDefaultStagesWarning.check   s    883((m(-,/DC5G3CCDNNIIm,- .NO  Es   BBc                    g r   r:   rg   s     r   rb   ,DeprecatedDefaultStagesWarning.apply_default   r   r   c                    [         er   re   rg   s     r   rh   -DeprecatedDefaultStagesWarning.remove_default   rj   r   r:   Nrk   rn   r:   r   r   r   r      r   r   r   namec                *    SSS.R                  X 5      $ )Nunsupportedunsupported_script)systemscript)r.   )r   s    r   _translate_languager      s    & 
c$or   c                  H    \ rS rSr% S\S'   S\S'   SS jrSS jrSS jrS	rg
)LanguageMigration   rP   rQ   zCallable[[object], None]check_fnc                    U R                   U;  a  g [        R                  " SU R                    35         U R                  [	        XR                      5      5        S S S 5        g ! , (       d  f       g = frU   )rQ   r   rV   r   r   rg   s     r   r_   LanguageMigration.check   sN    883""XdhhZ#89MM-c((m<= :99s   'A%%
A3c                l    U R                   U;  a  g [        XR                      5      XR                   '   g r   )rQ   r   rg   s     r   rb   LanguageMigration.apply_default   s'    883+CM:HHr   c                    [         er   re   rg   s     r   rh    LanguageMigration.remove_default   rj   r   r:   Nrk   rn   r:   r   r   r   r      s    	H&&>;"r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )LanguageMigrationRequired   c                   > U R                   U;  a#  [        R                  " SU R                    35      e[        TU ]  U5        g )NzMissing required key: )rQ   r   r   rz   r_   r{   s     r   r_   LanguageMigrationRequired.check   s8    883&&)?z'JKKcr   r:   rk   ro   rp   rq   rr   r_   rt   r~   r   s   @r   r   r      s     r   r   minimum_pre_commit_version0entrylanguagealias filesexcludez^$typesfiletypes_orexclude_typesadditional_dependenciesargs
always_runF	fail_fastpass_filenamesTdescriptionlanguage_versionlog_filerequire_serialverbosec                      \ rS rSrSrg)rC   i  r:   Nro   rp   rq   rr   rt   r:   r   r   rC   rC         r   rC   c                r    [        U 5      n[        U[        5      (       a  [        S5        [	        S5      eU$ )N5unreachable)r   
isinstancedictr)   AssertionError)contentsobjs     r   _load_manifest_forward_compatr     s1    
H
C#t#]++
r   r6   localmetac                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )WarnMutableRevi&  c                   > [         TU ]  U5        U R                  U;   a^  XR                     nSU;  aI  [        R                  " SU5      (       d,  [
        R                  SU R                  < SUS   < S35        g g g g )Nr    z^[a-fA-F0-9]+$The z field of repo r4   a   appears to be a mutable reference (moving tag / branch).  Mutable references are never updated after first install and are not supported.  See https://pre-commit.com/#using-the-latest-version-for-a-repository for more details.  Hint: `pre-commit autoupdate` often fixes this.)rz   r_   rQ   rematchrD   rE   )r[   r\   revr|   s      r   r_   WarnMutableRev.check'  sx    c88s?hh-C#~bhh/@#&F&F488,oc&k_ EF G 'G~ r   r:   rk   r   r   s   @r   r   r   &       r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )OptionalSensibleRegexAtHooki9  c           	       > [         TU ]  U5        SUR                  U R                  S5      ;   a7  [        R                  SU R                  < SUR                  S5      < S35        S H]  nX!R                  U R                  S5      ;   d  M$  [        R                  SU R                  < SUR                  S5      < S	U 35        M_     g )
N/*r   r   z field in hook r2   zJ is a regex, not a glob -- matching '/*' probably isn't what you want herez[\\/]z[\/]z[/\\]z%pre-commit normalizes slashes in the z1 to forward slashes, so you can use / instead of rz   r_   r.   rQ   rD   rE   r[   r\   fwd_slash_rer|   s      r   r_   !OptionalSensibleRegexAtHook.check:  s    c377488R((NNtxxl/#''$-1B C 
 :Lwwtxx44<TXXL I&&)ggdm%6 744@>C :r   r:   rk   r   r   s   @r   r   r   9  r   r   r   c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )OptionalSensibleRegexAtTopiL  c                L  > [         TU ]  U5        SUR                  U R                  S5      ;   a$  [        R                  SU R                  < S35        S HJ  nX!R                  U R                  S5      ;   d  M$  [        R                  SU R                  < SU 35        ML     g )Nr   r   zThe top-level zP field is a regex, not a glob -- matching '/*' probably isn't what you want herer   z3pre-commit normalizes the slashes in the top-level z7 field to forward slashes, so you can use / instead of r   r   s      r   r_    OptionalSensibleRegexAtTop.checkM  s    c377488R((NN  -B C :Lwwtxx44J| $--9N< :r   r:   rk   r   r   s   @r   r   r   L  s     r   r   c                T    [         R                  " [        R                  5       SU  3$ )zthe hook `entry` is passed through `shlex.split()` by the command
runner, so to prevent issues with spaces and backslashes (on Windows)
it must be quoted here.
z -m pre_commit.meta_hooks.)rF   rG   sys
executable)modnames    r   _entryr   ^  s$    
 kk#..)**DWINNr   c                R    [         R                  SSR                  U 5       35        g )Nz#Unexpected key(s) present at root: r<   rD   rE   r@   extra	orig_keysr\   s      r   warn_unknown_keys_rootr   f  s"    
 NN859I8JKLr   c                ^    [         R                  SUS    SSR                  U 5       35        g )NzUnexpected key(s) present on r4   z: r<   r   r   s      r   warn_unknown_keys_repor   n  s.    
 NN
'F}Btyy7G6HIr   zcheck-hooks-apply)r   z#Check hooks apply to the repository^$check_hooks_applyzcheck-useless-excludes)r   zCheck for useless excludescheck_useless_excludesidentity)r   r   )r   Tc                      \ rS rSrSS jrSrg)
NotAllowedi  c                l    U R                   U;   a$  [        R                  " U R                   < S35      eg )Nz cannot be overridden)rQ   r   r   rg   s     r   r_   NotAllowed.check  s/    88s?&&$((5J'KLL r   r:   Nrk   )ro   rp   rq   rr   r_   rt   r:   r   r   r   r     s    Mr   r   c              #  *   #    U  H	  u  pUv   M     g 7fr   r:   )r   k_s      r   r   r     s     /Dedaes   r   c           	   #     #    U  H;  u  pU  H/  u  p4[         R                  " U[         R                  US U5      v   M1     M=     g7f)r2   N)r   ConditionalOptionalrX   )r   hook_idvaluesrQ   values        r   r   r     sE        %OG JC 	  dnneT7KK  	L$s   AAc              #     #    U  HB  nUR                   S ;   a+  [        R                  " UR                   UR                  5      OUv   MD     g7f)>   r   r   r   NrQ   r   OptionalNoDefaultr   r   items     r   r   r     sI       -D 8844 	txx7 		 -s   A
Ac              #     #    U  Hf  nUR                   S :w  d  M  UR                   S:w  d  M'  UR                   S:w  d  M9  [        R                  " UR                   UR                  5      v   Mh     g7f)r2   r3   r   Nr  r	  s     r   r   r     sc      ,D88t 	8 88x 	8 88z!	 	8txx77,s   A0A0A02A0
Repositoryhooksr   )condition_keycondition_valueensure_absent)r4   r   r  DefaultLanguageVersionc              #     #    U  H9  n[         R                  " U[         R                  [        R                  5      v   M;     g 7fr   )r   Optionalcheck_stringr&   DEFAULT)r   xs     r   r   r     s*     MndmmAt((!))44ns   AAConfigreposdefault_install_hook_typesdefault_language_versiondefault_stages)	r  r  r  r  r   r   r   r   cir  c                      \ rS rSrSrg)InvalidConfigErrori  r:   Nr   r:   r   r   r  r    r   r   r  )r   rP   rl   rm   )r#   rP   rl   ztuple[int, ...])r(   rP   rl   rm   )r/   rP   rl   rP   )r4   rP   rH   rP   rl   rm   )r   rP   rl   rP   )r   rP   rl   object)r   rP   rl   rP   )r   rR   r   rR   r\   zdict[str, str]rl   rm   )b
__future__r   	functoolsloggingos.pathr>   r   rF   r   collections.abcr   r   typingr   r   r   identify.identifyr   pre_commit.constants	constantsr&   pre_commit.all_languagesr	   pre_commit.errorsr
   pre_commit.yamlr   	getLoggerrD   	check_andr  check_regexcheck_string_regex
HOOK_TYPESrZ   r   r$   r)   r-   r0   ArrayMapRequiredr  rW   rB   rL   rN   rv   r   r   r   r   r   rY   
check_boolr  MANIFEST_HOOK_DICTMANIFEST_SCHEMArC   r   partialr=   load_manifestLOCALMETAConditionalr   r  r   r   r   r   r   escapeCONFIG_FILE_metar   _COMMON_HOOK_WARNINGSr!   rX   itemsMETA_HOOK_DICTCONFIG_HOOK_DICTLOCAL_HOOK_DICTConditionalRecurseNotInWarnAdditionalKeysCONFIG_REPO_DICTNoAdditionalKeysDEFAULT_LANGUAGE_VERSIONRequiredRecurseOptionalRecurse
check_typer   CONFIG_SCHEMAr  load_configr:   r   r   <module>rO     s	   "    	  
 $ $    &   3 ( %			<	(^^D$5$5t7G7GH 
 
!:	 x	 
/

 &% **HHdD--.h 0 01B1B CRH 
8"z "0#. #"j "4"Z "4"
 "* 1  XX
D 	MM$t((*;< 	MM$))*MM&$++,MM'4,,-j$*;*;N*KLMM'4,,b1MM'-r2MM)/6MM'4++N;fXFMM*d..~>CMM/4#3#3N#CRHMM!4#3#3D4E4E#F 	MM&$**4+<+<=rBMM,7MM+t6MM"DOOT:MM-!2!2B7MM$d&7&7CMM*d//4MM"DOOU;Hb!MM)T__e4E# H **/0	: 	 !!/	 	T%% &$"8"8 &!7!7 $OMM M M 
	M   
	 	;"))AMM23156f012
 	!2"))AMM23156f567#
 	 fZ()
	2M'' M  ):):;	4+<+<=H%  
DMM$))*MM$))%/De/D*DEFMMD%%}o6 w'  %  ',,!0 14 88
DMM$))*&,,  Xr*!" j$"3"3N"CD#$ % ( ((
D  	 88&MM&$++,,-

5$' 	O, 	N+
 t  

5$/	 	46LM1 4  88d.) NnM 
 d 	MM$t((*;< 	$**-=">?MM$**:67	
 	"$<b $f-"#34MM'-r2MM)/6MM+t6
	
 	 w(9(9:y$*;*;< 	4!67U+\	 	 	r   