Ë ÿ¤Á\fFOãóÜ—ddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z m Z mZm Z ddlmZmZmZd„Zd„Ze«Zd „Zdd „Zd ad „Zd „Zdd„Zej8d„«Zdd„Zy)éNé)Ú_)Úgetattr)Ú demandimportÚencodingÚerrorÚ extensionsÚpycompatÚutil)ÚprocutilÚ resourceutilÚ stringutilc óž —t|«r3|}tj|jdz|jz«}�nF|j d«}|dk(r#t jtd«||fz«‚|d|} tj} tj«rHtjj| «\} } | r$| r"tjdd| gzt_ | } tj «5 t#tj$| ««}ddd«| t_ |jd«d dD]}t3|«}Œ t«s#t jtd«||fz«‚|j7td«||fz«t9j:«} |d|||dœtj<|«¤Ž} t9j:«|z }|jKdd|||«|r@|r!t jLtd«|z«‚|j/td«|z«|dfS#t&t(f$�rtj*«} t#dtj$| «z«}nÔ#t&t(f$rÂtj*«}|j,r|j/td««|j1| «|j,r|j/td««|j1|«|j,s td «}nd}t jtd «|| fz|¬ «‚wxYwY�ŒLwxYw#1swY�ŒRxYw#t4$r$t jtd «||fz«‚wxYw#t>$rè}tA|t jB«r-|j/td«||jDdfz«n2|j/td«|tGjH|«fz«|r‚|j,s|j/td««|j1«Yd}~t9j:«|z }|jKdd|||«yd}~wwxYw#t9j:«|z }|jKdd|||«wxYw)aŸcall python hook. hook is callable object, looked up as name in python module. if callable returns "true", hook fails, else passes. if hook raises exception, treated as hook failure. exception propagates if throw is "true". reason for "true" meaning "hook failed" is so that unmodified commands (e.g. mercurial.commands.update) can be run as hooks without wrappers to convert return values.Ú.ó.éÿÿÿÿs(%s hook is invalid: "%s" not in a moduleNzhgext_%ss,exception from first failed import attempt: s-exception from second failed import attempt: s$run with --traceback for stack traces)%s hook is invalid: import of "%s" failed©Úhintrs'%s hook is invalid: "%s" is not defineds(%s hook is invalid: "%s" is not callablescalling hook %s: %s )ÚuiÚrepoÚhooktypeserror: %s hook failed: %s rs'error: %s hook raised an exception: %s s'(run with --traceback for stack trace) s pythonhooks,pythonhook-%s: %s finished in %0.2f seconds )TTs%s hook failedswarning: %s hook failed F©)'Úcallabler ÚsysbytesÚ __module__Ú__name__ÚrfindrÚ HookLoadErrorrÚsysÚpathr Ú mainfrozenÚosÚsplitrÚ deactivatedÚ __import__ÚsysstrÚ ImportErrorÚ SyntaxErrorÚexc_infoÚ tracebackflagÚwarnÚ tracebackrÚAttributeErrorÚnoter ÚtimerÚ strkwargsÚ ExceptionÚ isinstanceÚAbortÚargsrÚ forcebytestrÚlogÚ HookAbort)rrÚhtypeÚhnameÚfuncnamer4ÚthrowÚobjÚdÚmodnameÚoldpathsÚmodpathÚmodfileÚe1Úe2Ú tracebackhintÚpÚ starttimeÚrÚexcÚdurations ú2usr/lib/python3.12/site-packages/mercurial/hook.pyÚ pythonhookrKs^€ô�ÔØˆÜ×$Ñ$ S§^¡^°cÑ%9¸C¿L¹LÑ%HÓIŠà �N‰N˜4Ó ˆØ �Š7Ü×%Ñ%ÜÐ=Ó>ؘ(Ð#ñ$óð ð˜2˜A�,ˆÜ—8‘8ˆÜ × "Ñ "Ô $ä!Ÿw™wŸ}™}¨WÓ5Ñ ˆG�WÙ™7ÜŸ8™8¡A˜;¨'¨Ñ2””Ø!�Ü × %Ñ %Õ 'ð$ Ü ¤§¡°Ó!9Ó:�÷(ðLŒŒð Ø—^‘^ DÓ)¨!¨"Ó-�ܘc 1“o‘ñ.ô˜Œ}Ü×%Ñ%ÜÐ=Ó>ؘ(Ð#ñ$óð ð ‡G�GŒAÐ&Ó '¨5°(Ð*;Ñ ;Ô<Ü— ‘ “ €Ið Ù Ð M�2˜D¨5Ñ M´H×4FÑ4FÀtÓ4LÑ M‰ô —:‘:“< )Ñ+ˆØ �‰Ø Ø <Ø Ø Ø ô  ñ Ù Ü—/‘/¤!Ð$5Ó"6¸Ñ">Ó?Ð ?Ø �‰”Ð.Ó/°%Ñ7Ô8Ø ˆeˆ8€Oøôe ¤Ð-ó" Ü—\‘\“^�ð ä$ Z´(·/±/À'Ó2JÑ%JÓK‘CøÜ#¤[Ð1òÜŸ™›�BØ×'Ò'ØŸ™Üð!.óôð —L‘L Ô$Ø×'Ò'ØŸ™Üð!.óôð —L‘L Ô$à×+Ò+Ü()ØCó)™ ð)-˜ Ü×-Ñ-ÜÐFÓGØ  'Ð*ñ+à*ôðð3úòð " ú÷(Ñ 'ûôTò Ü×%Ñ%ÜÐ<Ó=ؘ(Ð#ñ$óð ð ûô ò Ü �cœ5Ÿ;™;Ô 'Ø �G‰G”AÐ4Ó5¸ÀÇÁÈÁ Ð8LÑLÕ Mà �G‰GÜÐ=Ó>Øœ*×1Ñ1°#Ó6Ð7ñ8ô ñ Ø Ø×ÒØ �G‰G”AÐAÓBÔ CØ � ‰ ŒÛä—:‘:“< )Ñ+ˆØ �‰Ø Ø <Ø Ø Ø õ  ûð! ûô—:‘:“< )Ñ+ˆØ �‰Ø Ø <Ø Ø Ø õ  úszÃ=M-Ã?I Ä1%M:Æ9N*É $M*É0!JÊM*ÊCM#Í#M*Í&M-Í)M*Í*M-Í-M7Í:-N'Î* RÎ3B2RÑ%RÒRÒRÒ.S cóF—tj«}i}|�L|j«} |jj | «| r| j «r|j |d<||d<||d<|jdd|z«dk(r|j«} n|jdd|z«} | rd|d<nd |d<|j«D]^\} } | d k(rŒ t| «r| «} t| ttf«rtj | «} | |d | j#«z<Œ`|jdd |zd «r:|} t%j&||«}|| k7r|j)t+d«|z«|j)t+d«||fz«|r |j }nt-j.«}|j1|||d|fz¬«}|� |j3«€|j5«|� |j7«€|j9«tj«|z }|j;dd|||«|rYt%j<|«}|r#t?j@t+d«||fz«‚|jCt+d«||fz«|S)Ns HG_PENDINGs HG_HOOKTYPEs HG_HOOKNAMEóhookss%s:run-with-plainsautoó1sHGPLAINóschangessHG_s tonative.%sFsconverting hook "%s" to native srunning hook %s: %s s exthook-%s)ÚenvironÚcwdÚ blockedtagsexthooks)exthook-%s: %s finished in %0.2f seconds s %s hook %sswarning: %s hook %s )"r r/ÚcurrenttransactionÚdirstateÚwriteÚ writependingÚrootÚconfigÚplainÚ configboolÚitemsrr2ÚdictÚlistrÚpprintÚupperr Ú shelltonativer.rrÚgetcwdÚsystemÚ currentwlockÚinvalidatedirstateÚ currentlockÚ invalidater6Ú explainexitrr7r+)rrr8ÚnameÚcmdr4r;rFÚenvÚtrrYÚkÚvÚoldcmdrQrGrIÚdescs rJÚ_exthookrp“sr€Ü— ‘ “ €IØ €Cð ÐØ × $Ñ $Ó &ˆØ � ‰ ×јBÔÙ �"—/‘/Ô#Ø!%§¡ˆC� Ñ Ø€CˆÑØ€CˆÑà ‡y�y�Ð/°$Ñ6Ó7¸7ÒBØ—‘“ ‰à— ‘ ˜hÐ(<¸tÑ(CÓDˆÙ ؈ˆJŠàˆˆJ‰à— ‘ – ‰ˆˆ1ð � Š?Ø Ü �AŒ;Ù“ˆAÜ �aœ$¤˜Ô &Ü×!Ñ! !Ó$ˆAØ"#ˆˆF�Q—W‘W“YÑ Òðð ‡}�}�X˜~°Ñ4°eÔ<؈Ü×$Ñ$ S¨#Ó.ˆØ �&Š=Ø �G‰G”AÐ9Ó:¸TÑAÔ Bà‡G�GŒAÐ&Ó '¨4°¨+Ñ 5Ô6á Ø�i‰i‰ä�o‰oÓˆØ � ‰ �#˜s¨¸ ÈÈÑ8Oˆ ÓP€Aà ИD×-Ñ-Ó/Ð7Ø ×ÑÔ!Ø Ð˜D×,Ñ,Ó.Ð6Ø �‰Ôä�z‰z‹|˜iÑ'€H؇F�FØØ5Ø Ø Øô ñ Ü×#Ñ# AÓ&ˆÙ Ü—/‘/¤! MÓ"2°d¸D°\Ñ"AÓBÐ BØ �‰”Ð*Ó+¨t°T¨lÑ:Ô;Ø €HrOc óB—t|«}t|d¬«}|j«D]9\}}|j|dd|tf«}||k7sŒ&|\}}}} |||tf||<Œ;t |j ««D� � � � cgc] \} } } } | | f‘Œ c} } } } Scc} } } } w)z8return a list of (hook-id, cmd) pairs sorted by priorityT)Ú _untrustedr)Ú _hookitemsr[ÚgetÚ_fromuntrustedÚsortedÚvalues)rÚhooksÚuntrustedhooksrhÚvalueÚ trustedvalueÚlpÚloÚlkÚlvrEÚorlrms rJÚ _allhooksr�Ûs¤€ä �r‹N€Eô  ¨tÔ4€NØ%×+Ñ+Ö-‰ ˆˆeØ—y‘y ¨¨B°´nÐ'EÓFˆ Ø �LÓ Ø+Ñ ˆR��R˜Ø˜r 2¤~Ð6ˆE�$ŠKð .ô &,¨E¯L©L«NÔ%;Ö <Ñ%;‘z�q˜!˜Q ˆQ�ŠFÐ%;Ô <Ð<ùÕ ˆˆdŠ ðDð €LrOcó—|ay)N)Ú _redirect)Ústates rJÚredirectr�þs€à�IrOcó|—|jsyt|«D]!\}}|jd«d|k(sŒ|sŒ!yy)z/return True if a hook is configured for 'htype'FrrT)Ú callhooksr�r#)rr8r9ris rJÚhashookr�s>€à �<Š<ØÜ –m‰ ˆˆsØ �;‰;�tÓ ˜QÑ  5Ó (ªSÙð$ð rOc óø—|jsyg}t|«D]3\}}|jd«d|k(sŒ|sŒ!|j||f«Œ5t ||||fd|i|¤Ž}d} |D]\}}||dxs| } Œ| S)NFrrr;)r�r�r#ÚappendÚrunhooks) rrr8r;r4rxr9riÚresrGs rJÚhookr• s‘€Ø �<Š<Øà €EÜ –m‰ ˆˆsØ �;‰;�tÓ ˜QÑ  5Ó (ªSØ �L‰L˜% ˜Õ &ð$ô �2�t˜U EÑ ?°Ð ?¸$Ñ ?€CØ €AÛ‰ ˆˆsØ �‰J�q‰MÒ ˜Q‰ðà €HrOc#óˆK—d} tr� tjj«}tjj«}|dk\rN|dk\rItjj «t j|«}t j||«d–— tjj «trQ|dk\rK tjj «t j|«t j$|«yyy#ttf$rYŒŒwxYw#t$rZ}|jtjtjtjfvrt!j"|«‚Yd}~ŒËd}~wwxYw#t$r[}|jtjtjtjfvrt!j"|«‚Yd}~�Œd}~wwxYw# tjj «nf#t$rZ}|jtjtjtjfvrt!j"|«‚Yd}~nd}~wwxYwtr¸|dk\r² tjj «nf#t$rZ}|jtjtjtjfvrt!j"|«‚Yd}~nd}~wwxYwt j|«t j$|«wwwxYw­w)z(Redirects stdout to stderr, if possible.rrN)r‹r ÚstdoutÚfilenoÚstderrÚflushr"ÚdupÚdup2ÚOSErrorr-ÚIOErrorÚerrnoÚEPIPEÚEIOÚEBADFrÚ StdioErrorÚclose)Ú oldstdoutÚstdoutnoÚstderrnoÚerrs rJÚredirect_stdior©s_èø€ð€Ið! Ý ð Ü#Ÿ?™?×1Ñ1Ó3�Ü#Ÿ?™?×1Ñ1Ó3�à˜q’= X°¢]Ü—O‘O×)Ñ)Ô+Ü "§¡ xÓ 0�IÜ—G‘G˜H hÔ/ó ð  ,Ü �O‰O× !Ñ !Ô #õ ˜ ašð 0Ü—‘×%Ñ%Ô'ô �G‰G�I˜xÔ (Ü �H‰H�YÕ ð(ˆ9øô!œ^Ð,ò áð ûôò ,Ø�y‰y¤§¡¬e¯i©i¼¿¹Ð EÑEÜ×&Ñ& sÓ+Ð+ôFûð ,ûôò 0Ø—9‘9¤U§[¡[´%·)±)¼U¿[¹[Ð$IÑIÜ×*Ñ*¨3Ó/Ð/õJûð 0ûð ,Ü �O‰O× !Ñ !Õ #øÜò ,Ø�y‰y¤§¡¬e¯i©i¼¿¹Ð EÑEÜ×&Ñ& sÓ+Ð+ôFûð ,úõ ˜ ašð 0Ü—‘×%Ñ%Õ'øÜò 0Ø—9‘9¤U§[¡[´%·)±)¼U¿[¹[Ð$IÑIÜ×*Ñ*¨3Ó/Ð/ôJûð 0úô �G‰G�I˜xÔ (Ü �H‰H�YÕ ð(ˆ9üsæ‚M†G9�BDÂG9Â!D,Â? Mà FÃ).MÄD)Ä&G9Ä(D)Ä)G9Ä, FÄ5AF ÆMÆ FÆMÆ G6ÆAG1Ç+MÇ1G6Ç6MÇ9L?Ç;HÈL?È I=È#AI8É3L?É8I=É=L?Ê J+Ê*L?Ê+ LÊ4AL ÌL?Ì LÌ1L?Ì?Mc ó¤—tj|«}i}t«5|D�]f\}}|turQ|r,t j t d«|zt d«¬«‚|jt d«|z«d} d} �nt|«rt|||||||«\} } nà|jd«r¼|jd«d k\r€|d djdd«\} }tj| «} |r*tj j#|j$| «} t'j(| d |z«} t/| |«} n|d dj1«} t||||| ||«\} } nt3|||||||«} d} | | f||<�Œi ddd«|S#t*$r|j-t d «|z«‚wxYw#1swY|SxYw) Nsuntrusted hook %s not executedssee 'hg help config.trusted'rs(warning: untrusted hook %s not executed rFspython:r„éés hghook.%ssloading %s hook failed: )r Ú byteskwargsr©rurr7rr+rrKr†ÚcountÚrsplitr Ú expandpathr"r ÚjoinrWr Úloadpathr1rUrÚstriprp)rrr8rxr;r4r”r9rirGÚraisedr ÚmodÚhookfns rJr“r“FsÊ€Ü × Ñ  Ó %€DØ €Cä Õ Ü‰JˆE�3Ø”nÑ$ÙÜŸ/™/ÜÐ;Ó<¸uÑDÜÐ>Ó?ôðð—‘œÐFÓGÈ%ÑOÔPØ�ؒܘ#”Ü& r¨4°¸¸sÀDÈ%ÓP‘ �‘6Ø—‘  Ô+Ø—9‘9˜T“? aÒ'Ø # A B §¡¨t°QÓ 7‘I�D˜#ÜŸ?™?¨4Ó0�DÙÜ!Ÿw™wŸ|™|¨D¯I©I°tÓ<˜ðÜ(×1Ñ1°$¸ ÀuÑ8LÓM˜ô% S¨#Ó.‘Fà   ˜WŸ]™]›_�FÜ&ؘ˜e U¨F°D¸%ó‘ �‘6ô˜R  u¨e°S¸$ÀÓF�Ø�à˜F˜ˆC�‹JñC ÷ ðH €Jøô%òØŸ™¤Ð#?Ó!@À5Ñ!HÔIØðú÷+ ðH €Jús%¢DGÄ$FÄ=AGÆ(GÇGÇG)F)Ú contextlibrŸr"rÚi18nrr rÚrrrr r Úutilsr r rrKrpÚobjectrur�rsr‹r�r�r•Úcontextmanagerr©r“rrOrJÚr½s„ðóÛ Û Û åÝ÷÷÷ñòqòhA ñJ“€ò =ó ð € òò ó  ð  ×Ññ% óð% ôP(rO