+
    lHàjnf  ã                  ó  a€ 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHt ]! 0 R–m4      t]! R	R
04      t]! 0 R—m4      t]! 0 R˜m4      t]! 0 RkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkRkR kR!kR"kR#kR$kR%kR&kR'kR(kR)kR*kR+kRkR,kR-kR.kR/kRkR0kR1kR2kR3kR4kR5k4      t]! 0 R™m4      t]P<                  ! R6]P>                  4      t ]P<                  ! R74      t!]P<                  ! R84      t"]! 4       t#R9]$R:&   R;]! 0 Ršm4      R<]! 0 R›m4      R>]#R?]#R@]#RA]#RB]! R=04      RC]! RDRE04      RF]! 0 Rœm4      /	t%RG]$RH&   ^t&]! 0 R�m4      t']
 ! RI RJ4      4       t(]
 ! RK RL4      4       t)RM RN lt*RO RP lt+RQ RR lt,RS RT lt-RU RV lt.]#3RW RX llt/RY RZ lt0R[ R\ lt1R] R^ lt2R_ R` lt3Ra Rb lt4Rc Rd lt5Re Rf lt6Rg Rh lt7Ri Rj lt8Rk Rl lt9Rm Rn lt:Ro Rp lt;Rq Rr lt<Rs Rt lt=RžRu Rv llt>R+Rw R1Rx RRy RRz /t?R{]$R|&   R} R~ lt@R R€ ltAR� R‚ ltBRƒ R„ ltCR… R† ltDR‡ Rˆ ltER‰]CRŠ]DR‹]D/] U u/ uF  q ]EbK  	  up CtFRŒ]$R�&   RŸRŽ R� lltGR� R‘ ltHR R’ R“ lltIR” R• ltJR# u up i )¡zIDetect Git operations that can rewrite the checkout backing this process.)ÚannotationsN)Ú	dataclassÚfield)ÚPath)ÚCallable)Ú_bash_exec_payloadÚ%_deobfuscate_shell_word_for_detectionÚ_iter_shell_command_startsÚ_is_shell_comment_startÚ_read_shell_wordÚ_scan_shellÚrestoreÚcleanÚmoveÚremoveÚshowÚaddÚamÚapplyÚblameÚbranchÚbundlezcat-fileÚcloneÚcommitÚconfigÚdescribeÚdiffÚfetchzformat-patchÚgrepÚhelpÚinitÚlogzls-filesz	ls-remotezls-treeÚmaintenancez
merge-baseÚmvÚnotesÚpushz
range-diffÚreflogÚremoteÚrepackÚreplaceÚresetzrev-listz	rev-parseÚrmÚshortlogzshow-refÚstashÚstatusÚ	submoduleÚtagÚworktreez[A-Za-z_][A-Za-z0-9_]*=(.*)z--h(?:a(?:r(?:d)?)?)?\ZzX<<(?P<dash>-?)[ \t]*(?:(?P<q>['\"])(?P<quoted>.*?)(?P=q)|(?!['\"])(?P<bare>[^\s;|&<>]*))úfrozenset[str]Ú_NO_OPTIONSÚsudoÚenvú-aÚcommandÚbuiltinÚnohupÚsetsidÚexecÚnicez-nz--adjustmentÚtimezdict[str, frozenset[str]]Ú_WRAPPER_OPTIONS_WITH_ARGc                  óR   € ] tR t^8t$ R]R&   R]R&   R]R&   ]! ]R7      tR]R	&   R
tR# )Ú_HeredocÚstrÚ	delimiterÚboolÚ
strip_tabsÚintÚopener)Údefault_factoryú	list[str]Úbody© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   ÚlistrI   Ú__static_attributes__rJ   ó    Ú:/home/ubuntu/.hermes/hermes-agent/tools/self_repo_guard.pyr@   r@   8   s!   ‡ àƒNØÓØƒKÙ¨DÔ1€Dˆ)×1rR   r@   c                  ó:   € ] tR t^@t$ R]R&   R]R&   RtR]R&   RtR# )	Ú_ShellContextrA   ÚkindrE   rF   Nú
str | NoneÚquoterJ   )rK   rL   rM   rN   rO   rX   rQ   rJ   rR   rS   rU   rU   @   s   ‡ à
ƒIØƒKØ€Eˆ:×rR   rU   c               ó   € V ^8„  d   QhRR/# )é   ÚreturnúPath | NonerJ   )Úformats   "rS   Ú__annotate__r^   G   s   € ÷ 6ñ 6 ñ 6rR   c                 óØ   €  \        \        4      P                  4       P                  P                  p T R,          P                  4       '       d   T # R#   \        \
        3 d     R# i ; i)z:The source checkout backing this process, if there is one.Nz.git)r   Ú__file__ÚresolveÚparentÚOSErrorÚRuntimeErrorÚexists)Úroots    rS   Úget_running_source_rootrg   G   s]   € ðÜ”H‹~×%Ñ%Ó'×.Ñ.×5Ñ5ˆð ˜6•M×)Ñ)×+Ò+ˆ4Ð5°Ð5øô ”\Ð"ô Úðús   ‚1A ÁA)Á(A)c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   Úpath_strrA   Úbaser   r[   rJ   )r]   s   "rS   r^   r^   P   s!   € ÷ ñ �sð  $ð ¨4ñ rR   c                ó  € V\        \        P                  P                  V 4      4      ,          p\        P
                  ! \        \        \        4      ;_uu_ 4        VP                  4       uuR R R 4       #   + '       g   i     T# ; i©N)
r   ÚosÚpathÚ
expanduserÚ
contextlibÚsuppressrc   rd   Ú
ValueErrorra   )ri   rj   rn   s   && rS   Ú_resolvers   P   sS   € Ø”$”r—w‘w×)Ñ)¨(Ó3Ó4Õ4€DÜ	×	Ò	œW¤l´J×	?Õ	?Ø�|‰|‹~÷ 
@×	?×	?Ñ	?à€Kús   ÁA7Á7B	c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   rn   r   rf   r[   rC   rJ   )r]   s   "rS   r^   r^   W   s!   € ÷ ñ �Tð  ð ¨$ñ rR   c                óÒ   € \         P                  ! \        \        \        4      ;_uu_ 4        W8H  ;'       g    V P                  V4      uuR R R 4       #   + '       g   i     R# ; i)NF)rp   rq   rc   rd   rr   Úis_relative_to)rn   rf   s   &&rS   Ú
_is_withinrw   W   sB   € Ü	×	Ò	œW¤l´J×	?Õ	?Ø‰|×8Ð8˜t×2Ñ2°4Ó8÷ 
@×	?×	?Ñ	?áús   ­AÁA&	c               ó    € V ^8„  d   QhRRRR/# )rZ   ÚvaluerA   r[   rJ   )r]   s   "rS   r^   r^   ]   s   € ÷ Lñ L˜Cð L Cñ LrR   c                ó†   € \        V P                  R R4      4      P                  P                  R4      P	                  4       # )Ú\Ú/z.exe)r   r)   ÚnameÚremovesuffixÚlower)ry   s   &rS   Ú_executable_namer€   ]   s2   € Ü�—‘˜d CÓ(Ó)×.Ñ.×;Ñ;¸FÓC×IÑIÓKÐKrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   r7   rA   ÚstartrE   r[   rH   rJ   )r]   s   "rS   r^   r^   a   s!   € ÷ ñ ˜Sð ¨ð °ñ rR   c                ó(  € . pTp\        ^@4       F~  p\        W4      w  rVpWV8X  gI   V'       d
   RWV 9   g8   \        W4      '       g'   VP                  4       '       d   WV^,            R9   d    V# VP	                  \        V4      4       TpK€  	  V# )zåDeobfuscated words of the simple command at ``start`` (stops at a newline, a redirection
or a trailing ``# comment``; max 64). The fd prefix of ``2>/dev/null`` / ``2>&1`` belongs to
the redirection, not to the command's operands.Ú
)Ú<Ú>)Úranger   r
   ÚisdigitÚappendr   )r7   r‚   ÚwordsÚcursorÚ_Ú
word_startÚword_endÚraw_words   &&      rS   Ú_shell_words_atr�   a   s“   € ð €EØ€FÜ�2ŽYˆÜ)9¸'Ó)JÑ&ˆ
˜hØÔ!§e°¸ÀzÐ8RÔ0RÜ'¨×<Ò<Ø× Ñ ×"Ò" w¸(ÀQ½,Ð'GÈ:Ô'UØð €Lð 	�‰Ô:¸8ÓDÔEØŠñ ð €LrR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rZ   rŠ   rH   r‚   rE   Úoptions_with_argr2   r[   rJ   )r]   s   "rS   r^   r^   r   s,   € ÷ ñ ØðØ ðØ4BðØUXñrR   c                óø   € TpV\        V 4      8  dh   W,          P                  R4      '       dK   W,          R8w  d>   W,          R8X  d
   V^,           # TRW,          9  d   W,          V9   d   ^M^,          pKw  V# )zGIndex of the first positional at/after ``start`` (``--`` ends options).Ú-ú--Ú=)ÚlenÚ
startswith)rŠ   r‚   r’   Úindexs   &&& rS   Ú_consume_optionsrš   r   sj   € ð €EØ
”#�e“*Ô
 ¥×!8Ñ!8¸×!=Ò!=À%Å,ÐRUÔBUØ�<˜4ÔØ˜1•9ÐØ�c ¥Ô-°%µ,ÐBRÔ2R‘ÐXYÕYŠØ€LrR   c               ó    € V ^8„  d   QhRRRR/# )rZ   rŠ   rH   r[   z,tuple[dict[str, str], str | None, list[str]]rJ   )r]   s   "rS   r^   r^   }   s   € ÷ ñ ˜)ð Ð(Tñ rR   c                ó´  € / p^ pV\        V 4      8  dÁ   \        P                  W,          4      '       d*   W,          P                  R^4      w  r4WAV&   V^,          pKZ  \	        W,          4      p\
        P                  V4      pVf   WV,          W^,           R 3# VR8X  d   W^,           V^,            R.R.39   d   M\        W^,           V4      pKÐ  VR. 3# )zPSplit leading VAR=value assignments and wrappers off -> (env, executable, args).r–   Nr7   z-vz-V)r—   Ú_ASSIGNMENT_REÚ	fullmatchÚsplitr€   r>   Úgetrš   )rŠ   r5   r™   r}   ry   Ú
executableÚwrapper_optionss   &      rS   Ú_command_partsr£   }   sÔ   € à€CØ€EØ
”#�e“*Ô
Ü×#Ñ# E¥L×1Ò1Ø�,×,Ñ,¨S°!Ó4‰KˆDØ�‰IØ�Q�JˆEÙÜ% e¥lÓ3ˆ
Ü3×7Ñ7¸
ÓCˆØÒ"Ø˜e� e°A­I¨KÐ&8Ð8Ð8Ø˜Ô" u°Q­Y¸À½Ð'CÈÈÐQUÐPVÐGWÔ'WØÜ  °­	°?ÓCŠØ��bˆ=ÐrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   r7   rA   Ústartsú	list[int]r[   údict[int, tuple[int, ...]]rJ   )r]   s   "rS   r^   r^   ‘   s"   € ÷  ñ  ˜ð   ið  Ð4Nñ  rR   c                ó¶  € \        RR4      .p/ p^ p\        \        V4      4       EF®  pWE8  Edh   VR,          pVP                  pW,          pVRJ ;'       d    \	        V4      ^8„  p	Ve   W‡8X  d
   RVn        EMVR8X  d   EMVR8X  d   V^,           V8  d   V^,          pMéVf   VR9   d   W†n        M×V P                  RV4      '       d&   VP                  \        RV4      4       V^,          pMšVf$   VR8X  d   VP                  \        RV4      4       MsVR8X  d   V	'       d   VP                  R9   g!   VR	8X  d+   V	'       d#   VP                  R	8X  d   VP                  4        M"VR	8X  d   VP                  \        R	V4      4       V^,          pEKn  \        ;QJ d    . R
 VR,           4       F  NK  	  5M! R
 VR,           4       4      W5&   EK±  	  V# )zOMap each command start to the tuple of enclosing ``(``/``$(``/backtick openers.rf   NÚ'r{   ú'"ú$(Ú(Ú)Ú`c              3  ó8   "  € T F  qP                   x € K  	  R # 5irl   ©rF   )Ú.0Úitems   & rS   Ú	<genexpr>Ú_scope_keys.<locals>.<genexpr>°   s   é € ÐC±l¨dŸkžk³lùó   ‚ºé   NNéÿÿÿÿ>   r¬   r«   )
rU   ÚsortedÚsetrX   r—   r˜   r‰   rV   ÚpopÚtuple)
r7   r¥   ÚcontextsÚscopesr‹   r‚   ÚcontextrX   ÚcharÚclosess
   &&        rS   Ú_scope_keysrÂ   ‘   s|  € ä˜f bÓ)Ð*€HØ)+€FØ€FÜœ˜F›×$ˆØ�nØ˜r•lˆGØ—M‘MˆEØ•?ˆDØ˜d�]×8Ð8¤s¨8£}°qÑ'8ˆFØÒ  T¤]Ø $�–Ø˜#”ÙØ˜” &¨1¥*¨uÔ"4Ø˜!•‘Ø’ 4¨5¤=Ø $•à×#Ñ# D¨&×1Ò1Ø—‘¤¨d°FÓ ;Ô<Ø˜!•‘Ø’ 4¨3¤;Ø—‘¤¨c°6Ó :Õ;Ø˜#”+§&¨W¯\©\¸[Ô-HØ˜C”K§F¨w¯|©|¸sÔ/BØ—‘•Ø˜”Ø—‘¤¨c°6Ó :Ô;Ø�a�K‹FßœÑC°h¸r¶lÓCŸ™ÑC°h¸r¶lÓCÓCˆŒñ5 %ð6 €MrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   r7   rA   r‚   rE   r[   rW   rJ   )r]   s   "rS   r^   r^   ´   s!   € ÷ >ñ >˜cð >¨#ð >°*ñ >rR   c                óŽ   € V RV P                  4       pVRR VRR 3 F  pVR9   g   K  Vu # 	  RV \        V4      V 9   d   R# R# )zNThe list/grouping operator (or newline) immediately preceding a command start.Nr„   éþÿÿÿr¸   >   Ú&r¬   Ú;Ú{Ú|ú&&ú||)Úrstripr—   )r7   r‚   ÚheadÚtails   &&  rS   Ú_operator_beforerÏ   ´   s^   € à�6�Eˆ?×!Ñ!Ó#€DØ�b�c�˜D  ˜IÓ&ˆØÐ8Ö8ØŠKñ 'ð ˜7¤3 t£9¨UÐ3Ô3ˆ4Ð=¸Ð=rR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rZ   r¡   rA   ÚargsrH   Úcwdr   r[   r\   rJ   )r]   s   "rS   r^   r^   ½   s(   € ÷ /ñ /˜3ð / ið /°dð /¸{ñ /rR   c                óÔ   € \        V 4      R9  d   R# \        V^ 4      pV\        V4      8¼  g   W,          R8X  d   R# \        W,          V4      pVP	                  4       '       d   V# R# )zKDirectory a ``cd``/``pushd`` would land in (existing dirs only), else None.Nr”   >   ÚcdÚpushd)r€   rš   r—   rs   Úis_dir)r¡   rÑ   rÒ   r™   Útargets   &&&  rS   Ú
_cd_targetrØ   ½   sY   € ä˜
Ó#¨?Ô:ÙÜ˜T 1Ó%€EØ”�D“	Ô˜T�[¨CÔ/ÙÜ�d•k 3Ó'€FØ—]‘]—_’_ˆ6Ð.¨$Ð.rR   c               ó    € V ^8„  d   QhRRRR/# )rZ   rÑ   rH   r[   rW   rJ   )r]   s   "rS   r^   r^   È   s   € ÷ ñ ˜Ið ¨*ñ rR   c                ó  € \        V 4      w  rV'       d   V# \        V 4       F`  w  r4VR8X  g   VP                  R4      '       g    R# RVR,          9   g   K6  V^,           \        V 4      8  d   W^,           ,          u # Ru # 	  R# )a  Script string owned by a shell's ``-c``, if present. ``_bash_exec_payload`` parses bash's
real option grammar (``-o pipefail -c '<script>'``); when it finds no ``-c``, fall back to a
permissive scan: zsh/dash/ksh letters (``zsh -yc``) would otherwise fail this guard open.r•   r”   NÚcr¶   )r   Ú	enumerater˜   r—   )rÑ   Úhas_cÚpayloadr™   Úargs   &    rS   Ú_shell_script_argrà   È   sp   € ô (¨Ó-�N€EßØˆÜ –o‰
ˆØ�$Œ;˜cŸn™n¨S×1Ò1ÚØ�#�b•'Ž>Ø&+¨a¥i´#°d³)Ô&;�4 �	•?ÒEÀÒEñ	 &ñ
 rR   c               ó    € V ^8„  d   QhRRRR/# )rZ   rŠ   rH   r[   rC   rJ   )r]   s   "rS   r^   r^   ×   s   € ÷ Fñ F )ð F°ñ FrR   c                ó  € \        V 4      w  rp\        T;'       di    \        V4      \        9   ;'       dO    \	        V4      RJ ;'       d:    \
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       * 4      # )zWA bare shell (no ``-c`` script, no script operand) executes whatever it reads on stdin.Nc              3  ó`   "  € T F$  q;'       d    VP                  R 4      '       * x € K&  	  R# 5i©r”   N©r˜   ©r±   rß   s   & rS   r³   Ú)_executes_heredoc_body.<locals>.<genexpr>Ý   s%   é € ÐD¹t¸×3Ð3 §¡¨sÓ 3Ô3Ô3»tùs   ‚.�.TF)r£   rC   r€   Ú_SHELL_EXECUTABLESrà   Úany)rŠ   rŒ   r¡   rÑ   s   &   rS   Ú_executes_heredoc_bodyrê   ×   sƒ   € ä(¨Ó/Ñ€A�4ÜØ÷ 	Eð 	EÔ'¨
Ó3Ô7IÑI÷ 	Eð 	EÜ˜dÓ# tÐ+÷	Eð 	Eç“ÑD¹tÓD——’ÑD¹tÓDÓDÔDóFð FrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   ÚmaskedrA   r™   rE   r[   rC   rJ   )r]   s   "rS   r^   r^   à   s&   € ÷ [ñ [˜ð [ Sð [¨Tñ [rR   c                ó  € V'       d   W^,
          ,          MRpV^,           \        V 4      8  d   W^,           ,          MRpVP                  4       ;'       g    VR9   ;'       d    VP                  4       ;'       g    VR9   # )z^``{`` / ``}`` at ``index`` is a brace-group delimiter (its own word), not ``${x}``/``a{b,c}``.Ú z(;&|z;)|&)r—   Úisspace)rì   r™   ÚbeforeÚafters   &&  rS   Ú_group_tokenrò   à   sd   € ç"'ˆV˜A•IÖ¨S€FØ!&¨¥¬S°«[Ô!8ˆF˜1•9Ö¸c€EØ�N‰NÓ×0Ð0 ¨&Ñ 0×ZÐZ°u·}±}³×7YÐ7YÈ%ÐSYÉ/ÐZrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   rì   rA   rF   rE   r[   rJ   )r]   s   "rS   r^   r^   ç   s!   € ÷ +ñ +˜#ð + sð +¨sñ +rR   c                óÚ  € ^ pRpRpRp\        V RR7       EFÇ  w  rgr‰Vf	   Wq8¼  d   TpVR8X  d   K  VR8w  g   V	e   RpK+  W,          p
V
P                  4       '       d$   V
R8X  d   V^ 8X  d   V^ 8X  d   V'       g   Vu # Kl  V
R9   d€   V
R	8X  d/   W^,
          ,          R
9   g   V P                  RV4      '       d   K¨  V
R8X  d   V P                  RV4      '       g   RpM&V^ 8X  d    V^ 8X  d   W^,
          ,          R8w  d   Vu # Kò  RpV
R8X  d   Y%'       d   RM^,          pV'       * pEK  V
R8X  g   V
R8X  d   \        W4      '       d   V^,          pEKB  V
R8X  g   V
R8X  g   EKS  \        W4      '       g   EKg  V^,          pVf   EKw  W#8  g   EK€  WR P	                  R4      pVP                  R4      '       d   VP                  R4      '       d   Vu # TpEKÊ  	  \        V 4      # )ap  Offset where the pipeline carrying a heredoc ends: the first ``;``/``&&``/``||``/``&`` or
bare newline at top level. Newlines right after ``|`` continue the pipeline (the consumer may
follow the terminator line). Inside a group the walk runs on until the group closes, then a
pipe after the closer continues it (``(cat <<EOF; echo) | bash``) and anything else ends it.NFT)ÚcommentsÚcommentrÀ   r„   z;&|rÆ   z<>z&>rÉ   rË   r®   r¬   rÈ   r­   Ú}z 	r¸   )r   rï   r˜   rò   Úlstripr—   )rì   rF   ÚdepthÚlevelÚ
after_pipeÚbacktickrV   r™   ÚendrX   rÀ   Úrests   &&          rS   Ú_pipeline_endrÿ   ç   sµ  € ð
 €EØ€EØ€JØ€HÜ#.¨vÀ×#EÐ#EÑˆ�SØŠ=˜Uœ_ØˆEØ�9ÔÙØ�6Œ>˜UÒ.ØˆJÙØ�}ˆØ�<‰<�>Š>Ø�tŒ| ¨¤
¨u¸¬zÇ*Ø’ÙØ�5Œ=Ø�sŒ{ ¨q¥yÕ 1°TÔ 9¸V×=NÑ=NÈtÐUZ×=[Ò=[ÙØ�sŒ{ 6×#4Ñ#4°T¸5×#AÒ#AØ!‘
Ø˜!” ¨¤
¨v¸aµiÕ/@ÀCÔ/GØ’ÙØˆ
Ø�3Œ;Øž8‘R¨Õ*ˆEØ#”|‹HØ�SŒ[˜T Sœ[¬\¸&×-HÒ-HØ�Q�J‹EØ�SŒ[˜T SŸ[¬\¸&×-HÕ-HØ�Q�JˆEØÕ  U§]Ø˜d�|×*Ñ*¨5Ó1�Ø—‘ s×+Ò+¨t¯©¸t×/DÒ/DØ ’LØ“ñC $FôD ˆv‹;ÐrR   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )rZ   rì   rA   r¥   r¦   r¾   r§   rF   rE   r[   rC   rJ   )r]   s   "rS   r^   r^     s;   € ÷ _ñ _Øð_Ø"ð_Ø,Fð_ØPSð_ØX\ñ_rR   c                ó  a aaaa€ SS,          o\        VVV3R lV 4       RR7      p\        S S4      o. Ve   V.M. OVV3R lV 4       Op\        ;QJ d    V 3R lV 4       F  '       g   K   R# 	  R# ! V 3R lV 4       4      # )a  Whether a bare shell reads the heredoc body: the command owning the ``<<`` or anything
downstream in its pipeline. Pipe-joined segments, and the groups or substitutions inside them,
all inherit the pipe as stdin (``| tee f | bash``, ``| (bash)``, ``| { echo; bash; }``).c              3  óX   <"  € T F  qS8:  g   K  SV,          S8X  g   K  Vx € K!  	  R # 5irl   rJ   )r±   r‚   rF   Úscoper¾   s   & €€€rS   r³   Ú*_shell_consumes_heredoc.<locals>.<genexpr>  s%   øé € ÐY¡F˜5°v©o”À&ÈÅ-ÐSXÑBX—’£Fùs   ƒ*�* 
*N)Údefaultc              3  óR   <"  € T F  pSTu;8  d
   S8  g   K  M K  Vx € K  	  R # 5irl   rJ   )r±   r‚   rý   rF   s   & €€rS   r³   r    s"   øé € ÐF¡v˜e°¸%Ö1EÀ#Ñ1E”EÑ1E—E£vùs   ƒ'™'�
'c              3  óN   <"  € T F  p\        \        SV4      4      x € K  	  R # 5irl   )rê   r�   )r±   r‚   rì   s   & €rS   r³   r     s#   øé € Ð^ÑS]È%Ô%¤o°f¸eÓ&D×EÐEÓS]ùs   ƒ"%TF)Úmaxrÿ   ré   )rì   r¥   r¾   rF   ÚownerÚ
candidatesrý   r  s   f&ff  @@rS   Ú_shell_consumes_heredocr    s�   ü€ ð
 �6�N€EÜÖY¡FÓYØô€Eä
˜ Ó
'€CðH˜uÒ0�U‘G°bð HÝF¡vÓFðH€Jç‹3Ô^ÑS]Ó^�3Œ3Ð^Š3Ð^ˆ3Ô^ÑS]Ó^Ó^Ð^rR   c               ó    € V ^8„  d   QhRRRR/# )rZ   ÚlinerA   r[   zlist[_Heredoc]rJ   )r]   s   "rS   r^   r^   #  s   € ÷ ñ ˜ð  ñ rR   c           
     óª  € . pRp^ pV\        V 4      8  Ed<   W,          pV'       d9   VR8X  d)   VR8X  d"   V^,           \        V 4      8  d   V^,          pMWB8X  d   RpM	VR9   d   TpV'       g1   V P                  RV4      '       d   V P                  RV4      '       d   V^,          pK¥  \        P                  W4      pVf    V# Y5P	                  4       r6VP                  R4      '       d   VP                  R4      MVP                  R	4      pV'       g   EK  VP                  \        V\        VP                  R
4      4      V4      4       EKL  V# )z?Heredoc openers on one command line, with their ``<<`` offsets.Nr{   Ú"rª   z<<z<<<ÚqÚquotedÚbareÚdash)	r—   r˜   Ú_HEREDOC_OPENER_REÚmatchrý   Úgroupr‰   r@   rC   )r  ÚspecsrX   r™   rÀ   rF   r‚   rB   s   &       rS   Ú_heredoc_specsr  #  s  € à€EØ€EØ€EØ
”#�d“)Õ
Ø�{ˆßØ�tŒ| ¨¤°¸µ¼SÀ»YÔ1FØ˜•
‘Ø”Ø�øØ�UŒ]ØˆEß˜Ÿ™¨¨e×4Ò4¸¿¹ÈÈu×8UÒ8UØ�Q�JˆEÙÜ#×)Ñ)¨$Ó6ˆØŠ>Øð
 €Lð	 Ÿj™j›lˆuØ.4¯l©l¸3×.?Ò.?�F—L‘L Ô*ÀVÇ\Á\ÐRXÓEYˆ	ßŠ9Ø�L‰Lœ )¬T°&·,±,¸vÓ2FÓ-GÈÓO×PØ€LrR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   ÚlinesrH   r™   rE   r[   ztuple[str, int]rJ   )r]   s   "rS   r^   r^   >  s!   € ÷ ñ  	ð °#ð ¸/ñ rR   c                ó‚  € W,          pV^,          pV\        V 4      8  d�   VP                  R4      pV\        V4      R pV'       d7   \        V4      \        VP                  R4      4      ,
          ^,          ^ 8X  d    W!3# VRR R^\        V4      ,           ,          ,           W,          ,           pV^,          pK¬  W!3# )a^  Physical line ``index`` plus every line a trailing ``\`` joins onto it -> (line, next).
The shell removes backslash-newline before it reads anything else, so the heredoc body only
starts after the joined line: ``cat <<EOF | \`` + ``bash`` pipes the body into bash. The pair
is blanked (offsets preserved) so the joined text reads as one command line.ú
Nr{   rî   r¸   )r—   rÌ   )r  r™   r  ÚtextÚnewlines   &&   rS   Ú_join_continued_liner  >  s©   € ð
 �<€DØ	ˆQ…J€EØ
”#�e“*Ô
Ø�{‰{˜6Ó"ˆØ”s˜4“y�zÐ"ˆßœ3˜t›9¤s¨4¯;©;°tÓ+<Ó'=Õ=ÀÕBÀaÔGØð ˆ;Ðð �C�Rˆy˜3 !¤c¨'£lÕ"2Õ3Õ3°eµlÕBˆØ��
ŠØˆ;ÐrR   c               ó    € V ^8„  d   QhRRRR/# )rZ   r7   rA   r[   ztuple[str, list[_Heredoc]]rJ   )r]   s   "rS   r^   r^   O  s   € ÷ /ñ /˜Cð /Ð$>ñ /rR   c                ó(  € . p^ p. p. pV P                  RR7      p^ pV\        V4      8  EdN   V'       go   \        WV4      w  rv\        V4       F-  pV;P                  V,          un        VP                  V4       K/  	  VP                  V4       V\        V4      ,          pK‡  WV,          pV^,          pV^ ,          p	VP                  R4      p
V	P                  '       d   V
P                  R4      MT
V	P                  8X  d"   VP                  VP                  ^ 4      4       MV	P                  P                  V4       VP                  \        P                  ! RRV4      4       V\        V4      ,          pEK^  RP                  V4      WC,           3# )z‡Blank heredoc bodies -> (masked command, heredocs with their bodies). Unterminated heredocs
run to end of input and are still reported.T)Úkeependsr  Ú	z[^\r\n]rî   Ú )Ú
splitlinesr—   r  r  rF   r‰   rÌ   rD   rø   rB   r»   rI   ÚreÚsubÚjoin)r7   ÚoutputÚoffsetÚpendingÚfinishedr  r™   r  ÚspecÚcurrentÚ	candidates   &          rS   Ú_mask_heredocsr0  O  sC  € ð €FØ€FØ €GØ!€HØ×Ñ¨ÐÓ-€EØ€EØ
”#�e“*Õ
ßÜ.¨uÓ<‰KˆDÜ& tÖ,�Ø—’˜vÕ%•Ø—‘˜tÖ$ñ -ð �M‰M˜$ÔØ”c˜$“iÕˆFÙØ�|ˆØ��
ˆØ˜!•*ˆØ—K‘K Ó'ˆ	Ø&-×&8×&8Ð&8ˆI×Ñ˜TÔ"¸iÈG×L]ÑL]Ô]Ø�O‰O˜GŸK™K¨›NÕ+à�L‰L×Ñ Ô%Ø�‰”b—f’f˜Z¨¨dÓ3Ô4Ø”#�d“)Õ‹Ø�7‰7�6‹?˜HÕ.Ð.Ð.rR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   r   rA   Úaliasesúdict[str, str]r[   ÚNonerJ   )r]   s   "rS   r^   r^   n  s!   € ÷ )ñ )˜#ð )¨ð )¸4ñ )rR   c                óÂ   € V P                  R4      w  r#pV'       dC   VP                  4       P                  R4      '       d   WAVR,          P                  4       &   R# R# R# )zARecord an inline ``-c alias.<name>=<value>`` git config override.r–   úalias.:é   NNN)Ú	partitionr   r˜   )r   r2  ÚkeyÚsepry   s   &&   rS   Ú_record_aliasr;  n  sH   € à×&Ñ& sÓ+�O€Cˆeß
ˆs�y‰y‹{×%Ñ% h×/Ò/Ø#(��B•—‘“Ó ñ 0�srR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rZ   rÑ   rH   Úcurrent_dirr   r5   r3  r[   z2tuple[Path, str | None, list[str], dict[str, str]]rJ   )r]   s   "rS   r^   r^   u  s2   € ÷  bñ  bØ
ð bØ"&ð bØ-;ð bà7ñ brR   c                óÎ  a
€ TpRp/ p^ pV\        V 4      8  dì   W,          o
S
R8X  d   V^,          pMÒS
P                  R4      '       g   MºS
\        9   d4   S
V^,           \        V 4      8  d   W^,           ,          MRr‡V^,          pM!\        V
3R lR	 4       R
4      w  rxV^,          pVR8X  d   Ve   \	        Wƒ4      pK¸  V'       d    VP                  R4      '       d	   Ve   TpKß  VR8X  g   Kè  Vf   Kî  \        W…4       Kû  T;'       g    VP                  R4      p	V	'       d   \	        W“4      pY6\        V 4      8  d   W,          P                  4       MRW^,           R V3# )zQParse git's global options -> (target dir, subcommand, sub args, inline aliases).Nr•   r”   c              3  ó¬   <"  € T FI  pSP                  V4      '       g   K  \        S4      \        V4      8”  g   K7  VS\        V4      R  3x € KK  	  R # 5irl   )r˜   r—   )r±   Úorß   s   & €rS   r³   Ú-_git_target_and_subcommand.<locals>.<genexpr>‰  sK   øé € ð "NÑ=Y¸Ø%(§^¡^°A×%6ô #4Ü;>¸s»8ÄcÈ!ÃfÑ;Lô #4 1 c¬#¨a«&¨' lÕ"3Ó=Yùs   ƒA¡A¼Aú-Cú-cú--work-treeÚGIT_WORK_TREE)rB  z--work-tree=rC  )NN)r—   r˜   Ú_GIT_GLOBAL_OPTIONS_WITH_ARGÚnextrs   r;  r    r   )rÑ   r=  r5   r×   Ú	work_treer2  r™   Úoptionry   Úexplicit_work_treerß   s   &&&       @rS   Ú_git_target_and_subcommandrK  u  sE  ø€ ð €FØ €IØ €GØ€EØ
”#�d“)Ô
Ø�kˆØ�$Œ;Ø�Q�JˆEØØ�~‰~˜c×"Ò"ØàÔ.Ô.Ø°E¸AµIÄÀDÃ	Ô4I ¨a¥i¦Èt�EØ�Q�J‰Eä ô "NÑ=Yó "NØO[ó]‰MˆFà�Q�JˆEØ�TŒ>˜eÒ/Ü˜eÓ,ŠFß˜×)Ñ)¨-×8Ò8¸UÒ=NØŠIØ�tŽ^ Ô 1Ü˜%Ö)Ø"×>Ð> c§g¡g¨oÓ&>ÐßÜÐ,Ó5ˆØ´#°d³)Ô*;�4•;×$Ñ$Ô&ÀÀtÐTUÍIÈKÐGXÐZaÐaÐarR   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	rZ   rÑ   rH   ÚlongrA   ÚletterÚ
short_onlyrC   r[   rJ   )r]   s   "rS   r^   r^   ˜  s0   € ÷ ñ �Ið  Sð °#ð À4ð ÐTXñ rR   c                ó„   aaa€ \         ;QJ d!    VVV3R lV  4       F  '       g   K   R# 	  R# ! VVV3R lV  4       4      # )z�``--long`` present, or ``letter`` inside a dash-prefixed arg (``-fdn``; ``short_only``
additionally excludes ``--`` args from the letter scan).c              3  óØ   <"  € T F_  pVS8H  ;'       gN    VP                  R 4      ;'       d5    SVR,          9   ;'       d!    S;'       d    VP                  R4      '       * x € Ka  	  R# 5i)r”   r¶   r•   Nrå   )r±   rß   rN  rM  rO  s   & €€€rS   r³   Ú_has_flag.<locals>.<genexpr>›  su   øé € ð ñ ˆCð 	ˆt‰÷ 	Gð 	G˜Ÿ™ sÓ+÷ Fð F°¸#¸b½'Ñ0A÷ Fð FØ!+×!DÐ!D°·±¸tÓ0DÔEô	Gãùs   ƒA*”A*­A*Á	A*ÁA*TF©ré   )rÑ   rM  rN  rO  s   &fffrS   Ú	_has_flagrT  ˜  sD   ú€ ÷ ‹3ö ñ ó�3Œ3ð Š3ð ˆ3ö ñ óó ð rR   c                ój   € \         ;QJ d    R  V  4       F  '       g   K   R# 	  R# ! R  V  4       4      # )c              3  ól   "  € T F*  q\         9   ;'       g    \        P                  V4      x € K,  	  R # 5irl   )Ú_RESET_WORKTREE_MODESÚ_RESET_HARD_RErž   ræ   s   & rS   r³   Ú<lambda>.<locals>.<genexpr>£  s/   é € ð WÙQUÈ#Ô$Ñ$×EÐE¬×(@Ñ(@ÀÓ(EÔEÓQUùs   ‚4–4TFrS  ©rÑ   s   &rS   Ú<lambda>r[  £  s>   € Ÿ#›#ñ WÙQUóWŸ#œ#ð Wš#ð W˜#ñ WÙQUóWô WrR   c                ó6   € \        R  V  4       R4      \        9  # )c              3  óV   "  € T F  qP                  R 4      '       d   K  Vx € K!  	  R# 5irä   rå   ræ   s   & rS   r³   rY  ¦  s   é € Ð8™�§N¡N°3×$7�Š›ùs   ‚)Ÿ
)r%   )rG  Ú_STASH_SAFE_ACTIONSrZ  s   &rS   r[  r[  ¥  s   € œ$Ù8™Ó8¸&óBÜI\ò]rR   c                ó*   € \        V R RRR7      '       * # )z	--dry-runÚnT)rO  ©rT  rZ  s   &rS   r[  r[  §  s   € œi¨¨k¸3È4ÔPÕPrR   c                óP   € \        V R R4      ;'       g    \        V RR4      '       * # )z
--worktreeÚWz--stagedÚSra  rZ  s   &rS   r[  r[  ©  s.   € œY t¨\¸3Ó?÷ Eð EÜ$-¨d°JÀÓ$DÔ DðErR   z&dict[str, Callable[[list[str]], bool]]Ú_CONDITIONAL_MUTATIONSc               ó$   € V ^8„  d   QhRRRRRR/# )rZ   Ú
subcommandrA   rÑ   rH   r[   rC   rJ   )r]   s   "rS   r^   r^   ­  s!   € ÷ ñ  #ð ¨Yð ¸4ñ rR   c                óH   a € \         P                  S V 3R  l4      pV! V4      # )c                ó   <€ S\         9   # rl   )Ú_WORKTREE_MUTATIONS)Ú_argsrg  s   &€rS   r[  Ú#_mutates_worktree.<locals>.<lambda>®  s   ø€ ÀÔObÒAbrR   )re  r    )rg  rÑ   Úchecks   f& rS   Ú_mutates_worktreern  ­  s    ø€ Ü"×&Ñ& zÔ3bÓc€EÙ�‹;ÐrR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rZ   rÑ   rH   rÒ   r   rf   r[   rW   rJ   )r]   s   "rS   r^   r^   ²  s(   € ÷ ñ  	ð °ð ¸Dð ÀZñ rR   c                ó   € \        V ^ 4      pV\        V 4      8  d   W,          P                  4       MRp\        W^,           4      pV\        9   d-   V\        V 4      8  d   \	        W,          V4      V8X  d   RV 2# R# )zKBlock `worktree remove|move` aimed at the running root, from any directory.Nzgit worktree )rš   r—   r   Ú_WORKTREE_TARGET_ACTIONSrs   )rÑ   rÒ   rf   Úaction_indexÚactionÚtarget_indexs   &&&   rS   Ú_inspect_git_worktreeru  ²  sq   € ä# D¨!Ó,€LØ+7¼#¸d»)Ô+CˆTÕ×%Ñ%Ô'È€FÜ# D¸Õ*:Ó;€LØÔ*Ô*¨|¼cÀ$»iÔ/GÜ˜Õ+¨SÓ1°TÔ9Ø˜v˜hÐ'Ð'ÙrR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rZ   r¡   rA   r×   r   Úaliasr[   rW   rJ   )r]   s   "rS   r^   r^   ½  s(   € ÷ ñ  ð ¨Tð ¸#ð À*ñ rR   c                óŒ  € \         P                  ! \        \        P                  4      ;_uu_ 4        \        P
                  ! V R \        V4      RRRV 2.\        P                  RRRR^RR7      pVP                  ^ 8X  d%   VP                  P                  4       ;'       g    R	MR	uuR	R	R	4       #   + '       g   i     R	# ; i)
rB  r   z--getr6  Tzutf-8r)   F)ÚstdinÚcapture_outputr  ÚencodingÚerrorsÚtimeoutrm  N)rp   rq   rc   Ú
subprocessÚSubprocessErrorÚrunrA   ÚDEVNULLÚ
returncodeÚstdoutÚstrip)r¡   r×   rw  Úresults   &&& rS   Ú_read_git_aliasr†  ½  s    € Ü	×	Ò	œW¤j×&@Ñ&@×	AÕ	AÜ—’Ø˜œs 6›{¨H°gÀÈÀwÐ?OÐPÜ×$Ñ$°TÀÈwÐ_hÐrsð  |AôBˆð 39×2CÑ2CÀqÔ2H�—‘×#Ñ#Ó%×-Ð-¨øÈd÷	 
B×	A×	AÑ	Añ
 ús   ²A0B2Â#B2Â2C	c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# ©rZ   r¡   rA   rÑ   rH   r=  r   r5   r3  rf   rù   rE   r[   rW   rJ   )r]   s   "rS   r^   r^   Æ  sM   € ÷ [ñ [Øð[Ø$ð[Ø37ð[Ø>Lð[ØTXð[Øadð[àñ[rR   c           	     ó
  € \        WV4      w  rgr‰Vf   R # VR8X  d   \        W†V4      # \        Wd4      '       g   R # \        Wx4      '       d   RV 2# V\        9   g   V\
        8¼  d   R # Wy9   d	   W—,          M\        WV4      p
V
'       g   R # V
P                  R4      '       d   \        V
R,          WdV^,           4      #  \        P                  ! V
RR7      p\        T . TOTOT/ YE^,           4      #   \         d     R # i ; i)Nr1   zgit Ú!r¶   T)Úposix)rK  ru  rw   rn  Ú_KNOWN_GIT_BUILTINSÚ_MAX_RECURSIONr†  r˜   Ú_find_mutationÚshlexrŸ   rr   Ú_inspect_git)r¡   rÑ   r=  r5   rf   rù   r×   rg  Úsub_argsÚinline_aliasesrw  Ú
alias_argss   &&&&&&      rS   r�  r�  Æ  s  € ô 4NØ˜3ó4 Ñ0€F˜àÒÙØ�ZÔÜ$ X°tÓ<Ð<Ü�f×#Ò#ÙÜ˜×.Ò.Ø�j�\Ð"Ð"ØÔ(Ô(¨E´^Ô,CÙØ+5Ô+Gˆ^Ö'Ü! *°jÓAð 
çÙØ×Ñ˜×ÒÜ˜e B�i¨°u¸qµyÓAÐAðÜ—[’[ ¨dÔ3ˆ
ô ˜
Ð$< jÐ$<°8Ð$<¸fÀbÈ$ÐXYÕPYÓZÐZøô ô Úðús   ÃC3 Ã3DÄDc               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# rˆ  rJ   )r]   s   "rS   r^   r^   â  sM   € ÷ Rñ RØðRØ$ðRØ37ðRØ>LðRØTXðRØadðRàñRrR   c                ó¨   € \        W$4      '       g   R # \        V^ \        0 Rm4      4      pWV^,            RR.8H  pV'       d   \        V 4       R2# R # )NÚprÚcheckoutz pr checkout>   ú-Rú--repoú
--hostname)rw   rš   Ú	frozensetr€   )r¡   rÑ   r=  r5   rf   rù   r™   Úis_checkouts   &&&&&&  rS   Ú_inspect_github_clir�  â  sY   € ô �k×(Ò(ÙÜ˜T 1¤iÒ0NÓ&OÓP€EØ˜u q�yÐ)¨d°JÐ-?Ñ?€Kß<GÔ˜zÓ*Ð+¨<Ð8ÐQÈTÐQrR   c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# rˆ  rJ   )r]   s   "rS   r^   r^   ì  sM   € ÷ Tñ TØðTØ$ðTØ37ðTØ>LðTØTXðTØadðTàñTrR   c                óR   € \        V4      pV'       d   \        WbWE^,           4      # R# )r·   N)rà   rŽ  )r¡   rÑ   r=  r5   rf   rù   Úscripts   &&&&&& rS   Ú_inspect_shellr¡  ì  s&   € ô ˜tÓ$€FßCIŒ>˜&¨t¸QµYÓ?ÐSÈtÐSrR   ÚgitÚghÚhubz$dict[str, Callable[..., str | None]]Ú_INSPECTORSc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
rZ   r7   rA   rÒ   r   rf   rù   rE   r[   rW   rJ   )r]   s   "rS   r^   r^   ù  s/   € ÷ ñ ˜Cð  dð °$ð ¸sð È:ñ rR   c           	     ó&  € V\         8”  d   R# \        V 4      w  rE\        \        \	        V4      4      4      p\        V. VOR V 4       O4      pV FZ  p\        WFWxP                  4      '       g   K!  \        RP                  VP                  4      WV^,           4      ;p	'       g   KX  V	u # 	  RV/p
/ pV FÖ  pW|,          pV
P                  WÚP                  VRR V4      4       VP                  VR4      pVe   \        WL4      R9   d   WêV&   \        \!        WL4      4      w  pppVf   Kw  W­,          p\#        VVV4      ;pe   VW½&   K–  \$        P                  \'        V4      4      ;p'       g   K¾  V! VVVWòV4      ;p	'       g   KÔ  V	u # 	  R# )zPName of the first command in ``command`` that would rewrite ``root``, else None.Nc              3  ó8   "  € T F  qP                   x € K  	  R # 5irl   r°   )r±   Úheredocs   & rS   r³   Ú!_find_mutation.<locals>.<genexpr>ÿ  s   é € Ð4\ÑS[È·^¶^ÓS[ùrµ   r$  rJ   r¸   >   r„   rÇ   rÊ   )r�  r0  r¹   rº   r	   rÂ   r  rF   rŽ  r(  rI   Ú
setdefaultr    r»   rÏ   r£   r�   rØ   r¥  r€   )r7   rÒ   rf   rù   Úmasked_commandÚheredocsr¥   r¾   r©  Ú	operationÚcwd_by_scopeÚ
pending_cdr‚   r  r+  r5   r¡   rÑ   r=  Ú	cd_targetÚinspects   &&&&                 rS   rŽ  rŽ  ù  s‹  € àŒ~ÔÙÜ-¨gÓ6Ñ€NÜ”CÔ2°>ÓBÓCÓD€FÜ˜Ð)]¨6Ð)]Ñ4\ÑS[Ó4\Ð)]Ó^€FãˆÜ" >¸6Ç>Á>×RÔRÜ+¨B¯G©G°G·L±LÓ,AÀ3ÈeÐVWÍiÓXÐX�	×XÐXØÒñ ð
 24°S°	€LØ.0€JÛˆØ•ˆØ×Ñ ×'7Ñ'7¸¸c¸r¸
ÀCÓ'HÔIØ—.‘. ¨Ó-ˆØÒÔ#3°NÓ#JÐN_Ô#_Ø")˜ÑÜ .¬¸~Ó/UÓ VÑˆˆZ˜ØÒÙØ"Õ)ˆÜ# J°°kÓBÐBˆIÒOØ )ˆJÓÜ$Ÿ™Ô)9¸*Ó)EÓFÐFˆg×FÐFÙ$ Z°°{ÀCÈuÓUÐU�	×UÐUØÒñ ñ rR   c               ó   € V ^8„  d   QhRR/# )rZ   r[   rC   rJ   )r]   s   "rS   r^   r^     s   € ÷ ñ �dñ rR   c                 ó(   € \         P                  R8H  # )u	  Windows-only: NTFS locks loaded .py/.pyd files, so overwriting the live checkout can
corrupt the running process. On POSIX open handles keep the old inode alive; the mixed-module
hazard is limited to later lazy imports â€” not worth blocking every git workflow for.Únt)rm   r}   rJ   rR   rS   Úguard_activer¶    s   € ô �7‰7�d‰?ÐrR   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rZ   r7   rA   rÒ   rW   Úsource_rootr\   r[   ztuple[bool, str | None]rJ   )r]   s   "rS   r^   r^   !  s2   € ÷ _ñ _Øð_Ø!ð_Ø0;ð_ØG^ñ_rR   c           	     óô   € Ve   TM	\        4       pVe	   V '       g   R# \        \        V4      \        R4      4      p\	        T \        T;'       g    R\        R4      4      V4      pVe   R\        WC4      3# R# )zP-> (blocked, message): whether a command would rewrite the live source checkout.r|   T)FN)rg   rs   rA   r   rŽ  Ú_block_message)r7   rÒ   r¸  rf   r®  s   &&&  rS   Údetect_self_repo_git_mutationr»  !  so   € ð &Ò1‰;Ô7NÓ7P€DØ‚|Ÿ7ØÐÜ”C˜“Iœt C›yÓ)€DÜ˜w¬°·°¸¼TÀ#»YÓ(GÈÓN€IØ6?Ò6KˆD”. Ó1Ð2Ð^ÐQ^Ð^rR   c               ó$   € V ^8„  d   QhRRRRRR/# )rZ   r®  rA   rf   r   r[   rJ   )r]   s   "rS   r^   r^   ,  s!   € ÷ ñ ˜cð ¨ð °#ñ rR   c           	     ó  € \         P                  P                  R R4      P                  4       pV'       d   \	        V4      P                  4       M\        P                  ! 4       R,          R,          pRV  RV RV RV R2	# )	ÚHERMES_HOMEr$  z.hermesÚscratchz
Blocked: `z/` would rewrite Hermes's live source checkout (zˆ) and can mix module versions in this running process. Use a separate worktree or a shared clone on real disk, e.g. `git clone --shared rî   u&  /<task>` â€” avoid /tmp for clones that install node/python deps: /tmp is usually RAM-backed tmpfs and a few dependency installs can fill it and ENOSPC other work. Delete the clone when the branch is pushed. To change this checkout, stop Hermes, run the command externally, then restart Hermes.)rm   Úenvironr    r„  r   ro   Úhome)r®  rf   Úhermes_homer¿  s   &&  rS   rº  rº  ,  sx   € Ü—*‘*—.‘. °Ó3×9Ñ9Ó;€Kß1<Œt�KÓ ×+Ñ+Ô-Ä$Ç)Â)Ã+ÐPYÕBYÐ]fÕf€Gà
�Y�Kð  Øˆ6ð à#˜f A g Yð /ð	ðrR   >
   Úpullr   ÚmergeÚbisectÚrebaseÚrevertÚswitchr   r—  úcherry-pick>   ÚdroprP   r   ÚclearÚstoreÚcreate>   ú--hardú--keepú--merge>   ÚshÚkshÚzshÚbashr  >   rB  r˜  ú-TrC  ú-gú-hú-pú-uú--hostú--userú--chdirú--groupú--chrootú--promptú--close-fromú--command-timeout>   rB  ú-Sr6   rÙ  ú--argv0rÜ  ú--unsetú--split-string>   ú-fú-oú--formatú--output>   rB  rC  ú	--git-dirú--exec-pathú--namespacerD  )F)é    rl   )KÚ__conditional_annotations__Ú__doc__Ú
__future__r   rp   rm   r&  r�  r~  Údataclassesr   r   Úpathlibr   Útypingr   Útools.approval_detectionr   r   r	   r
   r   r   r›  rj  rq  r^  rW  rŒ  rè   ÚcompileÚDOTALLr�   rX  r  r3   rO   r>   r�  rF  r@   rU   rg   rs   rw   r€   r�   rš   r£   rÂ   rÏ   rØ   rà   rê   rò   rÿ   r  r  r  r0  r;  rK  rT  re  rn  ru  r†  r�  r�  r¡  r¥  rŽ  r¶  r»  rº  )Úshellrî  s   0@rS   Ú<module>rø     sQ  øðÜ Oå "ã Û 	Û 	Û Û ß (Ý Ý ÷<÷ <ñ
  ò !ó Ð ñ % f¨hÐ%7Ó8Ð ÙÒ TÓUÐ Ù!Ò"AÓBÐ ñ  ð !Ø	ð!Øð!Øð!Ø!ð!Ø#+ð!Ø-5ð!Ø7Að!ØCJð!ØLSð!ØU]ð!àð!àð!à ð!à")ð!à+9ð!à;Að!àCIð!àKQð!àSXð!ð ð!ð ð!ð 'ð!ð )6ð!ð 8Dð!ð FJð!ð LSð!ð U[ð!ð ð	!ð ð	!ð %ð	!ð '/ð	!ð 1:ð	!ð <Cð	!ð ENð	!ð PZð	!ð
 ð!ð
 ð!ð
 "ð!ð
 $*ð!ð
 ,6ð!ð
 8?ð!ð
 AIð!ð
 KVð!ð
 X]ð!ð ð!ó Ð ñ ÒCÓDÐ Ø—’Ð:¸B¿I¹IÓF€Ø—’Ð6Ó7€à—Z’ZØ_óaÐ á'›k€ˆ^Ó )ð ‰Iò Wó Xð 
‰9Ò`ÓaØˆ{˜I {°G¸[È(ÐT_Ø
‰I�t�fÓ˜v¡y°$¸Ð1GÓ'HØ
‰IÒ:Ó;ð8=Ð Ð4ó =ð €á(ÚJó LÐ ð ÷2ð 2ó ð2ð ÷ð ó ðõ6õõõLõð$ FQ÷õõ( õF>õ/õõFõ[õ+õ\_õõ6õ"/õ>)õ b÷Fð ñ Wàñ ]àÑPàñ FðBGÐ Ð>ó Gõõ
õõ[õ8RõTð 
ˆ<˜Ð2°EÐ;Nð5?á*<Ó=Ñ*< ˆnÒÑ*<Ñ=ð5?€Ð1ó ?÷
õB÷_÷ùòm >s   ÉJ