ó
    6°h½0 ã                  ó
  • 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	J
r
JrJrJrJrJrJrJr  SSKJr  SSKJrJrJr  SSKJr  \R                   (       a  S SKrSSKJrJrJrJrJr J!r!J"r"J#r#J$r$J%r%J&r'J(r)J*r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r7J8r8J9r9J:r:J;r;J<r<J=r>  SS	K?J@r@JArAJBrB  SS
KCJDrE  \(       a  SSKFJGrH  SSKJIrJ  \<R–                  rKSSS\" S5      4/rLSSS\" S5      4/rMSSS\" S5      \" S5      4SSS\" S5      \" S5      4SSS\" S5      4/rNSS/ \" S5      \" S5      4SS / \" S!5      \" S5      4/rOS"S#S\" S$5      \" S%5      4S&S'S\" S(5      \" S)5      4/rPS*S+S\" S,5      \" S-5      4S.S/S\" S05      \" S15      4/rQS2S3S\" S45      4S5S6S\" S75      4/rRS8S9S\" S:5      \" S;5      4/rSSS<S\" S=5      \" S>5      4S8S9S\" S:5      \" S;5      4/rTS?S@S\" SA5      4SBSCS\" SD5      4S&SES\" SF5      \" SG5      4SHSIS\" SJ5      4SSKS\" SL5      4SMSNS\" SO5      4/\T-   rUSPSQS\" SR5      4SBSCS\" SS5      4SSTS\" SU5      4SSVS\" SW5      4/rVSXSYS\" SZ5      4S[S\S\" S]5      4S^S_S\" S`5      4SaSbS\" Sc5      4/rWSSdS\" Se5      4S?SfS\" Sg5      4SShS\" Si5      4/\W-   S5SjS\" Sk5      \" SG5      4SSKS\" SL5      4SSlS\" Sm5      \" Sn5      4/-   rXSoSpS\" Sq5      \" Sr5      4/rYSsStS\" Su5      \" Sv5      4/rZSwSxS\" Sy5      4/r[SzS{S|\" S}5      4S"S~S|\" S5      4SS€S\" S�5      4/r\S‚r]      SØSƒ jr^        SÙS„ jr_SÚS… jr`SÛS† jraS‡ rbSˆ rcS‰ rdSŠ reS‹ rfSÜSŒ jrgSÜS� jrhSŽ riS� rj " S� S‘5      rkSÝS’ jrlS“ rm\RÜ                  " S”S•9 " S– S—5      5       roS˜ rpSÞS™ jrqSßSš jrrS› rsSàSœ jrtSáS� jruSâSž jrvSŸ rw SãS  jrxS¡ ryS¢ rzSÜS£ jr{SäS¤ jr|SåS¥ jr}SæS¦ jr~S§ r " S¨ S©5      r€ Sç     SèSª jjr�SÞS« jr‚S¬ rƒSÞSéS­ jjr/ r„/ r…0 r†0 r‡S® rˆ/ r‰0 rŠS¯ r‹S° rŒS± r�S² rŽ    SêS³ jr�SëS´ jr�SÜSµ jr‘S¶ r’S· r“S¸ r”S¹ r•Sº r– SÜS» jr—S¼ r˜S½ r™S¾ rš " S¿ SÀ5      r›SÁ rœSÂ r�SìSÃ jržSíSÄ jrŸ    SîSÅ jr SÆ r¡SÇ r¢SÈ r£SäSÉ jr¤SÊ r¥SË r¦  SïSÌ jr§\<GRP                  " 5       r©\<GRP                  " 5       rª\<GRP                  " 5       r«SðSÍ jr¬SÎ r­SÏ r®SÐ r¯SÑ r°SÒ r±SÓ r²      SñSÔ jr³SÕ r´SÖ rµSòS× jr¶g)óé    )ÚannotationsN)	ÚAnyÚAnyStrÚBinaryIOÚDictÚIterableÚLiteralÚOptionalÚTYPE_CHECKINGÚcasté   )Ú_)ÚhexÚnullrevÚshort)Úattr)Ú	bookmarksÚbundle2Ú	changelogÚcopiesÚcrecordÚencodingÚerrorÚexchangeÚ	formatterÚ
logcmdutilÚmatchÚmergeÚ
mergestateÚ	mergeutilÚobsoleteÚpatchÚpathutilÚphasesÚpycompatÚrepairÚrevlogÚrewriteutilÚscmutilÚstateÚstreamcloneÚsubrepoutilÚ
templatekwÚ	templaterÚutilÚvfs)ÚdateutilÚ
stringutilÚurlutil)Ú	constants)Ústatus)Úuió   ns   dry-runs)   do not perform actions, just print outputó    s   confirms   ask before applying actionsó   es   sshs   specify ssh command to uses   CMDs	   remotecmds,   specify hg command to run on the remote sides   insecures>   do not verify server certificate (ignoring web.cacerts config)ó   Is   includes)   include names matching the given patternss   PATTERNó   Xs   excludes)   exclude names matching the given patternsó   mó   messages   use text as commit messages   TEXTó   ló   logfiles   read commit message from files   FILEó   dó   dates(   record the specified date as commit dates   DATEó   uó   users&   record the specified user as committers   USERó   Ds   currentdates&   record the current date as commit dateó   Us   currentusers$   record the current user as committeró   Ts   templates   display with templates   TEMPLATEs   styles,   display using template map file (DEPRECATED)s   STYLEó   ps   patchs
   show patchó   gs   gits   use git extended diff formats   limits!   limit number of changes displayeds   NUMó   Ms	   no-mergess   do not show mergess   stats(   output diffstat-style summary of changesó   Gs   graphs   show the revision DAGó   as   texts   treat all files as texts0   use git extended diff format (DEFAULT: diff.git)s   binarys+   generate binary diffs in git mode (default)s   nodatess   omit dates from diff headersó   ws   ignore-all-spaces'   ignore white space when comparing linesó   bs   ignore-space-changes+   ignore changes in the amount of white spaceó   Bs   ignore-blank-liness(   ignore changes whose lines are all blankó   Zs   ignore-space-at-eols#   ignore changes in whitespace at EOLs   noprefixs&   omit a/ and b/ prefixes from filenamess   show-functions>   show which function each change is in (DEFAULT: diff.showfunc)s   reverses&   produce a diff that undoes the changess   unifieds"   number of lines of context to shows   roots&   produce diffs relative to subdirectorys   DIRó   ts   tools   specify merge tools   TOOLó   só
   similaritys-   guess renamed files by similarity (0<=s<=100)s
   SIMILARITYó   Só   subreposs   recurse into subrepositoriesó   có	   changelogFs   open changelogó   manifests   open manifestó   dirs   open directory manifests:   ^HG: ------------------------ >8 ------------------------$c                óÈ   • SS jnSnU HT  nU R                  U5      (       d  M  U(       a0  [        R                  " [        S5      U" U5      U" U5      4-  5      eUnMV     U$ )zyabort if more than one of the arguments are in opts

Returns the unique argument or None if none of them were specified.
c                óN   • [         R                  " U 5      R                  SS5      $ )Nó   _ó   -)r%   ÚsysbytesÚreplace©Únames    Ú3/usr/lib/python3/dist-packages/mercurial/cmdutil.pyÚ
to_displayÚ)check_at_most_one_arg.<locals>.to_display*  s    € Ü× Ò  Ó&×.Ñ.¨t°TÓ:Ð:r8   Ns!   cannot specify both --%s and --%s)r`   r   ÚreturnÚbytes)Úgetr   Ú
InputErrorr   )ÚoptsÚargsrb   ÚpreviousÚxs        ra   Úcheck_at_most_one_argrl   !  sh   € ô;ð €HÛˆØ�8‰8�A�;‹;ÞÜ×&Ò&ÜÐ:Ó;Ù! (Ó+©Z¸«]Ð;ñ<óð ð ŠHñ ð €Or8   c                ó.   • U H  n[        XU5        M     g)zÄabort if the first argument is given along with any of the others

Unlike check_at_most_one_arg(), `others` are not mutually exclusive
among themselves, and they're passed as a single collection.
N)rl   )rh   ÚfirstÚothersÚothers       ra   Úcheck_incompatible_argumentsrq   9  s   € ó ˆÜ˜d¨5Ö1ò r8   c                ó¬  • [        USS5        [        USS5        SnUR                  S5      (       a  S[        R                  " 5       -  US'   O\UR                  S5      (       dF  U R	                  SS5      (       a/  UR                  S5      c  S[        R                  " 5       -  US'   S	nUR                  S5      (       a  U R                  5       US'   U$ )
z�modify commit options dict to handle related options

The return value indicates that ``rewrite.update-timestamp`` is the reason
the ``date`` option is set.
ÚdateÚcurrentdateÚuserÚcurrentuserFs   %d %dó   rewrites   update-timestampT)rl   rf   r1   ÚmakedateÚ
configboolÚusername)r6   rh   Údatemaydiffers      ra   Úresolve_commit_optionsr|   G  s·   € ô ˜$ ¨Ô6Ü˜$ ¨Ô6à€Mà‡x�x�×ÑØ¤(×"3Ò"3Ó"5Ñ5ˆˆVŠà�H‰H�V×ÑØ�M‰M˜*Ð&9×:Ñ:Ø�H‰H�]Ó#Ñ+à¤(×"3Ò"3Ó"5Ñ5ˆˆV‰Øˆà‡x�x�×ÑØ—{‘{“}ˆˆV‰àÐr8   c                óÜ   • U R                  S5      nU(       d  g[        U5      S:”  a  [        R                  " [	        S5      5      eSU;   a  [        R                  " [	        S5      5      eg)z!make sure note is of valid formatÚnoteNéÿ   s*   cannot store a note of more than 255 bytesó   
s   note cannot contain a newline)rf   Úlenr   rg   r   )rh   r~   s     ra   Úcheck_note_sizer‚   b  s]   € ð �8‰8�FÓ€DÞØä
ˆ4ƒy�3ƒÜ×ÒœqÐ!NÓOÓPÐPØ�ƒ}Ü×ÒœqÐ!AÓBÓCÐCð r8   c                óX   • [         R                  [        R                  4n[	        X5      $ ©N)Ú
crecordmodÚuihunkr"   Ú
recordhunkÚ
isinstance)rk   Úhunkclassess     ra   ÚishunkrŠ   o  s#   € Ü×$Ñ$¤e×&6Ñ&6Ð7€KÜ�aÓ%Ð%r8   c                óX   • [         R                  [        R                  4n[	        X5      $ r„   )r…   Úuiheaderr"   Úheaderrˆ   )rk   Úheaderclassess     ra   Úisheaderr�   t  s!   € Ü×(Ñ(¬%¯,©,Ð7€MÜ�aÓ'Ð'r8   c                óF  • [        5       n[        5       nU  H…  n[        U5      (       d  M  UR                  5       (       d  M,  UR                  UR	                  5       5        UR                  [        UR                  5       5      UR	                  5       1-
  5        M‡     X4$ r„   )Úsetr�   Ú	isnewfileÚaddÚfilenameÚupdateÚfiles)ÚchunksÚnewlyaddedandmodifiedfilesÚalsorestoreÚchunks       ra   Únewandmodifiedr›   y  sx   € Ü!$£ÐÜ“%€KÛˆÜ�E�?‹?˜uŸ™×0Ó0Ø&×*Ñ*¨5¯>©>Ó+;Ô<Ø×Ñœs 5§;¡;£=Ó1°U·^±^Ó5EÐ4FÑFÖGñ ð &Ð2Ð2r8   c                óü   • U R                  S5      n[        U5      n/ nU HF  nSU;   d  M  UR                  SS5      nXR;  d  M$  UR                  U5        UR	                  U5        MH     UR                  U5        U$ )Nó   |r\   r8   )Úsplitr‘   r^   r“   ÚappendÚextend)ÚcmdÚbase_aliasesÚall_aliasesÚextra_aliasesÚaliasÚfolded_aliass         ra   Úparsealiasesr§   ƒ  su   € Ø—9‘9˜T“?€LÜ�lÓ#€KØ€MÛˆØ�5�=Ø Ÿ=™=¨¨sÓ3ˆLØÕ.Ø—‘ Ô-Ø×$Ñ$ \Ö2ñ ð ×Ñ˜Ô&ØÐr8   c                óP   ^^• S mU R                   mUU4S jn[        U SU5        T$ )Nc                ó‚   ^• UR                  SS5      n[        R                  " U4S j5       H  u  pEU " XCU-   S9  M     g )NÚlabelr8   c                 ó   >• T $ r„   © )ri   s   €ra   Ú<lambda>Ú8setupwrapcolorwrite.<locals>.wrapwrite.<locals>.<lambda>•  s   ø€ ±r8   ©rª   )Úpopr"   Ú	difflabel)Úorigri   Úkwrª   rš   Úls    `    ra   Ú	wrapwriteÚ&setupwrapcolorwrite.<locals>.wrapwrite“  s4   ø€ Ø—‘�w Ó$ˆÜŸš¬Ö5‰HˆEÙ� a™iÔ(ò 6r8   c                 ó   >• T" T/U Q70 UD6$ r„   r¬   )ri   ÚkwargsÚoldwriterµ   s     €€ra   ÚwrapÚ!setupwrapcolorwrite.<locals>.wrapš  s   ø€ Ù˜Ð3 DÒ3¨FÑ3Ð3r8   Úwrite)r¼   Úsetattr)r6   rº   r¹   rµ   s     @@ra   Úsetupwrapcolorwriter¾   ‘  s+   ù€ ò)ð
 �x‰x€Hö4ô ˆB�˜ÔØ€Or8   c                óˆ  •  U(       aT  U(       a&  [         R                  " U[         R                  5      nO[         R                  n[         R                  " XXe5      $  [        R                  " XXE5      $ ! [         R
                   a8  nU R                  SU-  5        U R                  [        S5      5         S nAN^S nAff = f)Nó   %s
s   falling back to text mode
)	r…   ÚtestdecoratorÚtestchunkselectorÚchunkselectorÚfilterpatchÚfallbackerrorÚwarnr   r"   )r6   ÚoriginalhunksÚ	usecursesÚtestfiler   Ú	operationÚrecordfnÚes           ra   ÚfilterchunksrÍ   ¡  s¤   € ð3ÞÞÜ%×3Ò3Øœj×:Ñ:ó‘ô &×3Ñ3�ä×)Ò)Ø 8óð ð ô ×Ò˜R°ÓAÐAøô	 ×#Ñ#ó 3Ø
�‰�˜!‘ÔØ
�‰”Ð0Ó1×2Ñ2ûð3ús   ‚AA5 Á5CÂ	.B<Â<Cc                ó°   • [         R                  " U 5      nU R                  SS5      n[        U 5      n [	        XXEX#5      u  pxX`l        Xx4$ ! X`l        f = f)zúPrompts the user to filter the originalhunks and return a list of
selected hunks.
*operation* is used for to build ui messages to indicate the user what
kind of filtering they are doing: reverting, committing, shelving, etc.
(see patch.filterpatch).
ó   experimentals   crecordtest)r…   ÚcheckcursesÚconfigr¾   rÍ   r¼   )	r6   rÇ   r   rÊ   rÈ   rÉ   r¹   Ú	newchunksÚnewoptss	            ra   ÚrecordfilterrÔ   µ  s`   € ô ×&Ò& rÓ*€IØ�y‰y˜¨.Ó9€HÜ" 2Ó&€HðÜ)Ø˜y°Eó
Ñˆ	ð ŒØÐÐøð �ús   µA ÁAc	                ó  • UR                  5       c   eUR                  S5      (       d
  [        USS9  US   n	[        U	R	                  5       5      S:„  n
U
(       a  [
        R                  " [        S5      5      eS nUR                  S5      nU(       d  [        R                  " X;5      nUR                  US	9nS
S0nUR                  R                  US5         [        R                  " [        R                  " UR                   5      [        R                  " UR"                  5      [        R                  " UR$                  5      [        R                  " UR&                  5      [        R                  " UR(                  5      [        R                  " UR*                  5      [        R                  " UR,                  5      5      n[.        R0                  " UR                  XŸUSS9u  nnnU H?  nUU;   d  M  U	R3                  U5      R5                  S5      n[
        R6                  " U5      e   SSS5        U(       d  UR9                  X“XÛ5        [:        R<                  " U USSSS9nSUl        SUl         SUl!        [:        RD                  " XUS9n[:        RF                  " U5      n[        RH                  " US   U5      n U" U UU5      u  nnURQ                  U5        [S        U5      u  nn[U        5       nU H=  n[W        U5      (       d  M  URQ                  [U        URY                  5       5      5        M?     UR                   UR"                  -   UR$                  -   nU V s/ s H  n U U;   d  M  U PM     n!n U!(       d  U R                  [        S5      5        g[U        UR                   5      n"U(       a  Un#O U! V s/ s H  n U U";   d  U U;   d  M  U PM     n#n 0 n$U#(       a2  URZ                  R]                  S5      n% [^        R`                  " U%5         U# H‘  n [d        Rf                  " [^        Rh                  Rk                  U 5      S-   W%S9u  n&n'[^        Rl                  " U&5        U Ro                  SU U'4-  5        [p        Rr                  " URu                  U 5      U'SS9  U'U$U '   M“     [w        5       n(U H,  n)U)Ry                  5       n*U*U$;   d  M  U)R{                  U(5        M.     U(R}                  5       n+U(R                  S5        UR                  SS5      (       a�  [€        R‚                  [€        R„                  -   U(R‡                  5       -   n,U R‰                  U,SSURh                  S9n-U(R‹                  S5        U(R{                  U-5        U(R                  S5        U V)s/ s H(  n)[^        RŒ                  " URu                  U)5      5      PM*       n)U$(       aI  [        RŽ                  " U[U        U$R‘                  5       5      U-  5      n.[’        R”                  " US   U.S9  U+(       aH   U Ro                  S 5        U Ro                  U(R—                  5       5        [:        R˜                  " XU(SSS!9  A(U! V/s/ s H  n/URu                  U/5      PM     n!n/U" X/U!Q70 [d        Rœ                  " U5      D6 URž                  n0U$R¡                  5        H£  u  n1n'U Ro                  S"U'U14-  5        U0R£                  U15      R¤                  (       a,  U0R§                  U5         U0R©                  U1SSSS#9  SSS5        [p        Rr                  " U'URu                  U15      SS9  [^        RŒ                  " U'5        M¥     U#(       a  [^        Rª                  " W%5        $ $ ! , (       d  f       GNu= f! [
        RJ                   a'  n[
        R                  " [        S5      U-  5      eSnAf[
        RL                   a'  n[
        RN                  " [        S5      U-  5      eSnAff = fs  sn f s  sn f ! [b         a     GN%f = fs  sn)f ! [
        RJ                   a/  n[
        R                  " [d        Rš                  " U5      5      eSnAf[
        RL                   a/  n[
        RN                  " [d        Rš                  " U5      5      eSnAff = fs  sn/f ! , (       d  f       GN¢= f! [¬         a     $ f = f!  URž                  n0U$R¡                  5        Hµ  u  n1n'U Ro                  S"U'U14-  5        U0R£                  U15      R¤                  (       a>  U0R§                  U5         U0R©                  U1SSSS#9  SSS5        O! , (       d  f       O= f[p        Rr                  " U'URu                  U15      SS9  [^        RŒ                  " U'5        M·     U#(       a  [^        Rª                  " W%5        f f ! [¬         a     f f = f= f)$aÝ  This is generic record driver.

Its job is to interactively filter local changes, and
accordingly prepare working directory into a state in which the
job can be delegated to a non-interactive commit command such as
'commit' or 'qrefresh'.

After the actual job is done by non-interactive command, the
working directory is restored to its original state.

In the end we'll record interesting changes, and everything else
will be left in place, so the user can continue working.
Ns   interactive-unshelveT)Úcommitr   s9   cannot partially commit a merge (use "hg commit" instead)c                ó6   • [         R                  " SX4-  5      e)Ns   %s: %s)r   rg   )ÚfÚmsgs     ra   ÚfailÚ_record.<locals>.failê  s   € Ü×Ò˜y¨A¨8Ñ3Ó4Ð4r8   ó   force©r   )ó   uis   commitsubreposs   record)Úforceó   commandss   commit.interactive.)rh   Ú
whitespaceÚsectionÚconfigprefix)Úchangesrh   ó   error parsing patch: %só   error applying patch: %ss   no changes to record
r   s   record-backupsó   .)ÚprefixÚdirs   backup %r as %r
©Úcopystats   reviewFr8   s   diff)ÚactionÚrepopath)Úmatchers   applying patch
©Úeolmodes   restoring %r to %r
©Ú
p1_trackedÚ
wc_trackedÚpossibly_dirty)WÚcurrentwlockrf   Úcheckunfinishedr�   Úparentsr   rg   r   ÚmatchmodÚbadmatchr5   r6   Úconfigoverrider)   ÚcopymodÚcopyÚmodifiedÚaddedÚremovedÚdeletedÚunknownÚignoredÚcleanr,   Ú	precommitÚsubÚdirtyreasonÚAbortÚcheckcommitpatternsr"   ÚdifffeatureoptsÚnodatesÚgitÚshowfuncÚdiffÚ
parsepatchr   ÚPatchParseErrorÚPatchApplicationErrorÚ
StateErrorr•   r›   r‘   r�   r–   r0   ÚjoinÚosÚmkdirÚFileExistsErrorr%   ÚmkstempÚpathÚbasenameÚcloseÚdebugr/   ÚcopyfileÚwjoinÚstringior”   r¼   ÚtellÚseekr…   ÚdiffhelptextÚpatchhelptextÚreadÚeditÚtruncateÚunlinkÚ
matchfilesÚkeysÚmergemodÚ	revert_toÚgetvalueÚinternalpatchÚbytestrÚ	strkwargsÚdirstateÚitemsÚ	get_entryÚmaybe_cleanÚchanging_parentsÚupdate_fileÚrmdirÚOSError)2r6   ÚrepoÚmessager   rh   Ú
commitfuncÚ	backupallÚfilterfnÚpatsÚwctxr   rÚ   rß   r5   Ú	overridesÚ	tmpstatusÚsubsÚ
commitsubsÚnewstateÚsr  ÚdiffoptsÚoriginaldiffÚoriginal_headersr—   rÓ   Úerrr˜   r™   Ú
contendersÚhÚchangedrØ   Únewfilesrý   ÚtobackupÚbackupsÚ	backupdirÚfdÚtmpnameÚfpÚcÚfnameÚdopatchÚ	patchtextÚreviewedpatchÚmÚnfr.  Úrealnames2                                                     ra   Ú_recordrY  È  s$  € ð0 ×ÑÓÑ*Ð*Ð*Ø�8‰8Ð+×,Ñ,Ü˜ TÒ*Ø�‰:€DÜ�—‘“Ó !Ñ#€EÞÜ×ÒÜÐNÓOó
ð 	
ò5ð �H‰H�XÓ€EÞÜ×!Ò! %Ó.ˆà�[‰[˜uˆ[Ð%€Fà+¨TÐ2€Ià	�‰×	Ñ	 	¨9Õ	5ä—N’NÜ�LŠL˜Ÿ™Ó)Ü�LŠL˜Ÿ™Ó&Ü�LŠL˜Ÿ™Ó(Ü�LŠL˜Ÿ™Ó(Ü�LŠL˜Ÿ™Ó(Ü�LŠL˜Ÿ™Ó(Ü�LŠL˜Ÿ™Ó&ó
ˆ	ô &1×%:Ò%:Ø�G‰G�T e°4ñ&
Ñ"ˆˆj˜(ó ˆAØ�J�Ø"Ÿh™h q›k×5Ñ5°dÓ;�Ü—k’k +Ó.Ð.ñ ÷! 
6ö* Ø× Ñ  ¨fÔ;Ü×$Ò$Ø
ØØØØ+ñ€Hð €HÔØ€H„LØ€HÔÜ—:’:˜d¸ÑB€LÜ×'Ò'¨Ó5ÐÜ�MŠM˜$˜t™* dÓ+€EðEÙ" 2Ð'7¸Ó?‰ˆ�ð
 	‡K�K�Ôô /=¸VÓ.DÑ+Ð Ü“€JÛˆÜ�A�;‹;Ø×Ñœc !§'¡'£)›nÖ-ñ ð �o‰o §¡Ñ,¨v¯~©~Ñ=€GÙ"Ó6š7�a a¨:¡o—™7€HÐ6ÞØ
�	‰	”!Ð-Ó.Ô/Øä�6—?‘?Ó#€Hö Ø‰ñ ó
â�Ø�H‹} Ð%?Ñ ?÷ Ùð 	ð 
ð
 €GÞØ—H‘H—M‘MÐ"3Ó4ˆ	ð	Ü�HŠH�YÔð[ãˆAÜ"×*Ò*Ü—w‘w×'Ñ'¨Ó*¨TÑ1°yñ‰KˆB�ô �HŠH�RŒLØ�H‰HÐ)¨Q°¨LÑ8Ô9Ü�MŠM˜$Ÿ*™* Q›-¨¸4Ò@Ø ˆG�A‹Jñ ô ‹ZˆÛˆAØ—J‘J“LˆEØ˜ÕØ—‘˜–ñ ð —'‘'“)ˆØ
�‰�Œ
ð �8‰8�I˜u×%Ñ%ä×'Ñ'¬*×*BÑ*BÑBÀRÇWÁWÃYÑNð ð ŸG™GØ˜3 w¸¿¹ð $ð ˆMð �K‰K˜ŒNØ�H‰H�]Ô#Ø�G‰G�AŒJá+EÓFÒ+E aŒ�Š�4—:‘:˜a“=Ö	!Ñ+EÑFæÜ×"Ò" 4¬¨W¯\©\«^Ó)<¸{Ñ)JÓKˆAÜ×Ò˜t D™z°1Ò5ö ð>Ø—‘Ð,Ô-Ø—‘˜Ÿ™›Ô'Ü×#Ò# B¨b°!¸TÒBð
 ñ .6Ó6ªX r�D—J‘J˜r–N©XˆÐ6Ù˜"ÐJ XÒJ´×1CÒ1CÀDÓ1IÑJð!	Ø—}‘}ˆHØ%,§]¡]¦_Ñ!�˜'Ø—‘Ð0°G¸XÐ3FÑFÔGà×%Ñ% hÓ/×;×;ð "×2Ñ2°4Õ8Ø ×,Ñ,Ø$Ø'+Ø'+Ø+/ð	 -ñ ÷ 9ô —’˜g t§z¡z°(Ó';ÀdÒKÜ—	’	˜'Ö"ñ7 &5ö8 Ü—’˜Õ#ð ÷U 
6Ö	5ûôP × Ñ ó DÜ×ÒœqÐ!;Ó<¸sÑBÓCÐCûÜ×&Ñ&ó EÜ×ÒœqÐ!<Ó=ÀÑCÓDÐDûðEüò  7ùò
øô ó 	Úð	üòB 	Gøô ×(Ñ(ó >Ü×&Ò&¤x×'7Ò'7¸Ó'<Ó=Ð=ûÜ×.Ñ.ó >Ü×&Ò&¤x×'7Ò'7¸Ó'<Ó=Ð=ûð>üò 7÷& 9Ö8ûô" ó 	Ùð	ûðA!	Ø—}‘}ˆHØ%,§]¡]¦_Ñ!�˜'Ø—‘Ð0°G¸XÐ3FÑFÔGà×%Ñ% hÓ/×;×;ð "×2Ñ2°4Õ8Ø ×,Ñ,Ø$Ø'+Ø'+Ø+/ð	 -ñ ÷ 9×8Ö8úô —’˜g t§z¡z°(Ó';ÀdÒKÜ—	’	˜'Ö"ñ7 &5ö8 Ü—’˜Õ#ð øäó 	Ùð	ýs/  ÃD^"Ç<8^"Ë^4 Í+
`+Í9`+Ï`0Ï`0Ð`5 ÐB:c9 ÓCc9 Ö./a×Ac9 Ø7Aa Ù>c9 ÚcÚ!c9 Û A)c)Ü)cÜ<A$c)Þ"
^1Þ4`(ß"_*ß*`(à"`#à#`(à5
aáaác9 ácá*b	â	câ *c
ã
cãc9 ã
c&ã!c)ã)
c6ã5c6ã9g?ã;A)g/å$f 	å7	g/æ 
fæ
A#g/ç-g?ç/
g<ç9g?ç;g<ç<g?c                ód  • [         R                  " U5      nU R                  5       (       d7  U(       a  [        S5      U-  nO[        S5      n[        R
                  " U5      eUR                  S5      (       d  U R                  5         [        R                  " [        UUUUS9n	[        XX–U5      $ )Ns)   running non-interactively, use %s insteads   running non-interactivelyrC   )r8  r9  r:  r;  )r%   ÚbyteskwargsÚinteractiver   r   rg   rf   rz   Ú	functoolsÚpartialrY  rÖ   )
r6   r6  r8  Ú
cmdsuggestr9  r:  r;  rh   rÙ   Úfuncs
             ra   Údorecordra  ¥  sš   € ô ×Ò Ó%€DØ�>‰>×ÑÞÜÐ@ÓAÀJÑN‰CäÐ0Ó1ˆCÜ×Ò˜sÓ#Ð#ð �8‰8�G×ÑØ
�‰Œä×ÒÜØØØØñ€Dô �"˜D¨Ó-Ð-r8   c                  ó6   • \ rS rSrSrS rS rS rS rS r	Sr
g	)
Údirnodei¿  aÈ  
Represent a directory in user working copy with information required for
the purpose of tersing its status.

path is the path to the directory, without a trailing '/'

statuses is a set of statuses of all files in this directory (this includes
all the files in all the subdirectories too)

files is a list of files which are direct child of this directory

subdirs is a dictionary of sub-directory name as the key and it's own
dirnode object as the value
c                óJ   • Xl         [        5       U l        / U l        0 U l        g r„   )r  r‘   Ústatusesr–   Úsubdirs)ÚselfÚdirpaths     ra   Ú__init__Údirnode.__init__Ï  s   € ØŒ	Ü›ˆŒØˆŒ
Øˆ�r8   c                ó<   • U R                   R                  X45        g)z/Add a file in this directory as a direct child.N)r–   rŸ   )rg  r”   r5   s      ra   Ú_addfileindirÚdirnode._addfileindirÕ  s   € à�
‰
×Ñ˜8Ð,Õ-r8   c                ó~  • SU;   a{  UR                  SS5      u  p4X0R                  ;  a9  [        R                  " U R                  U5      n[        U5      U R                  U'   U R                  U   R                  XB5        OU R                  X5        X R                  ;  a  U R                  R                  U5        gg)zÒ
Add a file to this directory or to its direct parent directory.

If the file is not direct child of this directory, we traverse to the
directory of which this file is a direct child of and add the file
there.
ó   /r   N)
rž   rf  r#   r  r  rc  Úaddfilerl  re  r“   )rg  r”   r5   ÚsubdirÚfilepÚ
subdirpaths         ra   rp  Údirnode.addfileÙ  s›   € ð �8ÓØ$ŸN™N¨4°Ó3‰MˆFð Ÿ\™\Ó)Ü%Ÿ]š]¨4¯9©9°fÓ=�
Ü'.¨zÓ':�—‘˜VÑ$ð �L‰L˜Ñ ×(Ñ(¨Õ7ð ×Ñ˜xÔ0àŸ™Ó&Ø�M‰M×Ñ˜fÕ%ð 'r8   c              #  ó€   #   • U R                    H*  u  pU[        R                  " U R                  U5      4v •  M,     g7f)z=Yield (status, path) for files directly under this directory.N)r–   r#   r  r  )rg  rØ   Ústs      ra   ÚiterfilepathsÚdirnode.iterfilepathsõ  s/   é € à—Z”Z‰EˆAØ”h—m’m D§I¡I¨qÓ1Ð1Ô1ò  ùs   ‚<>c              #  óN  #   • [        U R                  5      S:X  a2  U R                  R                  5       nX!;   a  X R                  S-   4v •  gU R	                  5        Sh  v•N   U R
                  R                  5        H  nUR                  U5       Sh  v•N   M     g N? N7f)aœ  
Yield (status, path) obtained by processing the status of this
dirnode.

terseargs is the string of arguments passed by the user with `--terse`
flag.

Following are the cases which can happen:

1) All the files in the directory (including all the files in its
subdirectories) share the same status and the user has asked us to terse
that status. -> yield (status, dirpath).  dirpath will end in '/'.

2) Otherwise, we do following:

        a) Yield (status, filepath)  for all the files which are in this
            directory (only the ones in this directory, not the subdirs)

        b) Recurse the function on all the subdirectories of this
           directory
r   ro  N)r�   re  r°   r  rw  rf  ÚvaluesÚ	tersewalk)rg  Ú	terseargsÚonlystÚdirobjs       ra   r{  Údirnode.tersewalkú  s’   é € ô. ˆt�}‰}Ó Ó"Ø—]‘]×&Ñ&Ó(ˆFð Ó"ØŸi™i¨$Ñ.Ð.Ò.Øð ×%Ñ%Ó'×'Ð'ð —l‘l×)Ñ)Ö+ˆFØ×'Ñ'¨	Ó2×2Ò2ò ,ñ 	(ñ 3ùs$   ‚AB%Á!B!Á"5B%ÂB#Â
B%Â#B%)r–   r  re  rf  N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ri  rl  rp  rw  r{  Ú__static_attributes__r¬   r8   ra   rc  rc  ¿  s    † ñòò.ò&ò82õ
%3r8   rc  c                óŠ  • Sn[         R                  " U5       H*  nX2;  d  M
  [        R                  " [	        S5      U-  5      e   [        S5      nSn0 nU H,  u  px[        X5       H  n	UR                  X˜5        M     / Xh'   M.     UR                  5        H  u  p«Xj   R                  U5        M     UR                  R                  5        H0  nUR                  U5       H  u  p©Xj   R                  U	5        M     M2     / nU H(  n
Xj   R                  5         UR                  Xj   5        M*     [        R                  " U6 $ )a™  
Terse the status if all the files in a directory shares the same status.

statuslist is scmutil.status() object which contains a list of files for
each status.
terseargs is string which is passed by the user as the argument to `--terse`
flag.

The function makes a tree of objects of dirnode class, and at each node it
stores the information required to know whether we can terse a certain
directory or not.
)r<   rK   ó   rr@   rB   ó   irU   s   '%s' not recognizedr8   ))rý   r<   )rþ   rK   )r   r@   )r  rU   )r  rB   )r  rˆ  )rÿ   r‡  )r%   r,  r   rg   r   rc  Úgetattrrp  rw  rŸ   rf  rz  r{  Úsortr)   r5   )Ú
statuslistr|  ÚallstrB  ÚrootobjÚpstatusÚ	tersedictÚattrnameÚ
statuscharrØ   rv  Úfpathrq  Ú
tersedlists                 ra   Útersedirr”  "  s1  € ð 7€Eô ×Ò˜iÖ(ˆØ�>Ü×"Ò"¤1Ð%;Ó#<¸qÑ#@ÓAÐAñ )ô
 �c‹l€Gð€Gð €IÛ 'ÑˆÜ˜Ö.ˆAØ�O‰O˜AÖ*ñ /à "ˆ	Óñ !(ð ×*Ñ*Ö,‰	ˆØ‰×Ñ˜UÖ#ñ -ð —/‘/×(Ñ(Ö*ˆØ×%Ñ% iÖ0‰EˆBØ‰M× Ñ  Ö#ó 1ñ +ð €JÛˆØ‰×ÑÔØ×Ñ˜)™-Ö(ñ ô �>Š>˜:Ð&Ð&r8   c                ó~   • U R                  5       nU Vs/ s H  nSU-  PM
     nnSR                  U5      S-   $ s  snf )z0Surround lineswith a comment char and a new lines   # %sr€   )Ú
splitlinesr  )ÚrawÚlinesÚlineÚcommentedliness       ra   Ú_commentlinesr›  Z  s?   € à�N‰NÓ€EÙ16Ó7²¨�g ”n±€NÐ7Ø�:‰:�nÓ%¨Ñ-Ð-ùò 8s   •:T)Úfrozenc                  ó   • \ rS rSr\R
                  " 5       r\R
                  " 5       r\R
                  " 5       r\R
                  " 5       r	\R
                  " 5       r
\R
                  " S\" 5       S9rSrS rS rS rSrg	)
Ú
morestatusia  F)ÚinitÚdefaults   status.morestatusc                óœ   • U R                   R                  U5        U R                  (       a   XR                  ;   a  UR	                  SS9  g g g )NT)Ú
unresolved)Ú_formattedpathsr“   ÚactivemergeÚunresolvedpathsÚdata)rg  r  Úfms      ra   Ú
formatfileÚmorestatus.formatfilek  s@   € Ø×Ñ× Ñ  Ô&Ø×× ×(<Ñ(<Ó <Ø�G‰G˜tˆGÒ$ð !=Ðr8   c                óP  • U R                   (       d  U R                  (       a  UR                  5         UR                  SS9  U R                   (       aW  UR                  U R                   S9  [	        S5      U R                   -  nUR                  S[        U5      -  U R                  S9  U R                  (       a  UR                  U R                  S9  U R                  U5        U R                  (       a1  UR                  S[        U R                  5      -  U R                  S9  g g )Ns
   morestatus)Úitemtype)Ú
unfinisheds.   The repository is in an unfinished *%s* state.rÀ   r¯   )Úunfinishedmsg)	Úunfinishedopr­  Ú	startitemr¦  r   Úplainr›  Ú_labelÚ_formatconflicts)rg  r§  Ústatemsgs      ra   ÚformatfooterÚmorestatus.formatfooterp  sè   € Ø×× × 2× 2Ø�L‰LŒNØ�G‰G˜]ˆGÑ+à××Ø�G‰G˜t×0Ñ0ˆGÑ1äÐCÓDØ×#Ñ#ñ$ð ð �H‰H�Wœ}¨XÓ6Ñ6¸d¿k¹kˆHÑJØ××Ø�G‰G $×"4Ñ"4ˆGÑ5ð 	×Ñ˜bÔ!à××Ø�H‰HØœ-¨×(:Ñ(:Ó;Ñ;À4Ç;Á;ð ò ð r8   c                óh  • U R                   (       d  g U R                  (       aÙ  SR                  U R                   Vs/ s HE  nS[        R                  " U R
                  R                  [        R                  " 5       U5      -  PMG     sn5      n[        S5      U-  nU R                   HN  nXPR                  ;   a  M  UR                  5         UR                  U R
                  S9  UR                  SUSS9  MP     O[        S5      nUR                  S	[        U5      -  U R                   S
9  g s  snf )Nr€   s       %ssS   Unresolved merge conflicts:

%s

To mark files as resolved:  hg resolve --mark FILE)r6  s   fileT)r«  r  r¢  s   No unresolved merge conflicts.rÀ   r¯   )r¤  r¥  r  r/   Úpathtor6  Úrootr   Úgetcwdr   r£  r¯  Úcontextr¦  r°  r›  r±  )rg  r§  r  ÚmergeliststrrÙ   rØ   s         ra   r²  Úmorestatus._formatconflicts‡  s  € Ø××Øà××Ø Ÿ:™:ð !%× 4Ò 4óò !5˜ð Ü—k’k $§)¡)§.¡.´(·/²/Ó2CÀTÓJôKá 4ñóˆLô ð6óð ñð ð ×)Ô)�Ø×,Ñ,Ó,áØ—‘”Ø—
‘
 §	¡	�
Ñ*ð —‘ ¨q¸T�ÓBò *ô Ð5Ó6ˆCà
�‰�œ=¨Ó-Ñ-°T·[±[ˆÒAùòCs   ½AD/r¬   N)r€  r�  r‚  rƒ  r   Úibr6  r®  r­  r¤  r¥  r‘   r£  r±  r¨  r´  r²  r…  r¬   r8   ra   rž  rž  a  s`   † à�7Š7‹9€DØ—7’7“9€LØ—G’G“I€MØ—'’'“)€KØ—g’g“i€OØ—g’g 5±#³%Ñ8€OØ!€Fò%ò
õ.'Br8   rž  c                ó$  • [         R                  " U 5      n[        R                  R	                  U 5      nUR                  5       nU(       d  U(       d  gS=n=pVU(       a  Uu  pEU(       a  [        UR                  5       5      n[        XXSU5      $ )z=Returns a morestatus object if the repo has unfinished state.N)	ÚstatemodÚgetrepostateÚmergestatemodr   r"  ÚactiveÚsortedr¢  rž  )r6  Ú
statetupler   r¤  r®  r­  r¢  s          ra   ÚreadmorestatusrÅ  ±  s€   € ä×&Ò& tÓ,€JÜ×)Ñ)×.Ñ.¨tÓ4€JØ×#Ñ#Ó%€KÞžkØà04Ð4€LÐ4�=ÞØ&0Ñ#ˆÞÜ˜J×1Ñ1Ó3Ó4ˆ
ÜØ˜M¸
óð r8   c                ó¤  • 0 n0 nX;   a  U /nOUR                  5       n/ nU H™  n[        U5      nUR                  U5        Sn	X;   a  U n	O*U(       d#  U H  n
U
R                  U 5      (       d  M  U
n	  O   U	c  MX  US   R                  S5      (       d  U	R                  S5      (       a
  X�U   4XI'   M‘  X�U   4X9'   M›     U(       d	  U(       a  UnX64$ )z•
Return cmd -> (aliases, command table entry)
for each matching command.
Return debug commands (or their aliases) only if no normal command matches.
Nr   s   debug)r'  r§   r    Ú
startswith)r¡   ÚtableÚstrictÚchoiceÚdebugchoicer'  ÚallcmdsrÌ   ÚaliasesÚfoundÚas              ra   ÚfindpossiblerÐ  Ã  sÚ   € ð €FØ€Kà
ƒ|àˆu‰à�z‰z‹|ˆà€GÛˆÜ˜q“/ˆØ�‰�wÔØˆØ‹>Ø‰EÞÛ�Ø—<‘< ×$Ó$Ø�EÙñ ð ÓØ�q‰z×$Ñ$ X×.Ñ.°%×2BÑ2BÀ8×2LÑ2LØ&-°Q©xÐ%8�Ó"à!(°©(Ð 3�“ñ ö" –kØˆàˆ?Ðr8   c                ó  • [        XU5      u  p4X;   a  X0   $ [        U5      S:”  a!  [        U5      n[        R                  " X5      eU(       a  [        UR                  5       5      S   $ [        R                  " X5      e)z9Return (aliases, command table entry) for command string.r   r   )rÐ  r�   rÃ  r   ÚAmbiguousCommandÚlistrz  ÚUnknownCommand)r¡   rÈ  rÉ  rÊ  rÌ  Úclists         ra   ÚfindcmdrÖ  ê  sl   € ä" 3¨vÓ6�O€Fà
ƒ}Ø‰{Ðä
ˆ6ƒ{�QƒÜ�v“ˆÜ×$Ò$ SÓ0Ð0æÜ�F—M‘M“OÓ$ QÑ'Ð'ä
×
Ò
˜sÓ
,Ð,r8   c                óø  ^• UR                  5          UR                  5          UR                  S5         [        U5        [        R
                  " X5      nU(       d  [        R                  " S5      eUR                  SU5      n[        U5      S:”  a  [        R                  " [        S5      5      e[        R                  " XS5        XR                  5          nUR                  5        Vs1 s H  owR                  5       iM     nnUR!                  S5      (       d7  X8;  a2  X1R#                  5       ;   a  [        R                  " [        S5      5      eUR                  S	U5      (       a  [        R                  " [        S
5      5      e0 n	SSKJn
  U GHg  nX   mTR                  5       nXÃ:X  a  M  U4S jnU R)                  S[+        TR-                  5       5      XÃ4-  5        TR/                  5       n[+        TR-                  5       5      US'   TR1                  5       R-                  5       nTR3                  5       R-                  5       nXù;   a  XŸ   S   nUU	;   a  U	U   S   nU
R5                  UUU4TR7                  5       TR9                  5       UTR;                  5       TR=                  5       UUS9	nUR?                  U5      nU4U	TR-                  5       '   U R)                  S[+        U5      -  5        GMj     [@        RB                  " XSSS9  US   n[        UR                  5       5      S:X  aJ  U	R!                  UR1                  5       R-                  5       5      nUb  SSKJ"n  URG                  UUS   SS9  U RI                  [        S5      [        U	5      -  5        SSS5        SSS5        SSS5        gs  snf ! , (       d  f       N$= f! , (       d  f       N-= f! , (       d  f       g= f)z-Change the branch name of given revs to labels   branchess   empty revision setó
   roots(%ld)r   s,   cannot change branch of non-linear revisionss   change branch ofrß   s(   a branch of the same name already existss   heads(%ld) - head()s)   cannot change branch in middle of a stack©rº  c                óD   >•  TU   $ ! [         R                   a     g f = fr„   )r   ÚManifestLookupError)r6  Únewctxr  Úctxs      €ra   Ú	filectxfnÚchangebranch.<locals>.filectxfn(  s*   ø€ ð Ø˜t™9Ð$øÜ×0Ñ0ó  Ùð ús   ƒ ˆžs*   changing branch of '%s' from '%s' to '%s'
s   branch_changer   )ru   rs   ÚextraÚbranchs   new node id is %s
s   branch-changeT©ÚfixphaseN©Úhg)Ú
quietemptys    changed branch on %d changesets
)%ÚwlockÚlockÚtransactionÚbailifchangedr   Úrevranger   rg   Úrevsr�   r   r(   Úprecheckrn   r÷   rá  rf   Ú	branchmapÚ rº  r  r   Únoderà  Úp1Úp2ÚmemctxÚdescriptionr–   ru   rs   Ú	commitctxr)   Úcleanupnodesrå  r•   r5   )r6   r6  rì  rª   rh   Úrootsr¸  ÚparentÚrpbÚreplacementsrº  ÚrevÚ	oldbranchrÞ  rà  rñ  rò  ÚmcÚnewnoder<  Únewidrå  rÝ  s                         @ra   Úchangebranchr   û  s=  ø€ ð 
�‰��t—y‘y•{ D×$4Ñ$4°[Õ$Aä�dÔÜ×"Ò" 4Ó.ˆÞÜ×"Ò"Ð#8Ó9Ð9Ø—	‘	˜-¨Ó.ˆÜˆu‹:˜‹>Ü×"Ò"ÜÐAÓBóð ô 	×Ò˜TÐ)<Ô=à—K‘K“MÑ"ˆØ-1¯\©\¬^Ó<ª^ 6�}‰}Ž©^ˆÐ<à—‘˜×!Ñ!ØÓ ØŸ™Ó)Ó)ä×"Ò"ÜÐ=Ó>óð ð
 �9‰9Ð+¨T×2Ñ2Ü×"Ò"ÜÐ>Ó?óð ð ˆõ 	äˆCØ‘)ˆCØŸ
™
›ˆIàÓ!Ùõ ð �H‰HØ>Ü�s—x‘x“z“? IÐ5ñ6ôð —I‘I“KˆEÜ&)¨#¯(©(«*£oˆEÐ"Ñ#ð —‘“—‘“ˆBØ—‘“—‘“ˆBØÓ!Ø!Ñ% aÑ(�Ø�\Ó!Ø! "Ñ% aÑ(�à—‘ØØ�R�Ø—‘Ó!Ø—	‘	“ØØ—X‘X“ZØ—X‘X“ZØØð  ð 
ˆBð —n‘n RÓ(ˆGØ(/ zˆL˜Ÿ™›Ñ$Ø�H‰HÐ+¬c°'«lÑ:×;ñW ô\ 	×ÒØÐ 0¸4ò	
ð
 �D‰zˆäˆt�|‰|‹~Ó !Ó#Ø ×$Ñ$ T§W¡W£Y§^¡^Ó%5Ó6ˆEØÑ õ !à—	‘	˜$  a¡°T�	Ñ:à
�	‰	”!Ð8Ó9¼CÀÓ<MÑMÔN÷C %B—{�ˆùò =÷ %BÕ$Aú—{•{ú��úsM   ’O+£OµB:O	Ã/O
ÄJ#O	Î+OÎ3O+ÏO	Ï	
OÏOÏ
O(	Ï$O+Ï+
O9c                ó^  • [         R                  R                  [         R                  R                  U S5      5      (       dj  U [         R                  R	                  U 5      pX:X  a  g [         R                  R                  [         R                  R                  U S5      5      (       d  Mj  U $ )Ns   .hg)r  r  Úisdirr  Údirname)ÚpÚoldps     ra   Úfindrepor  b  sk   € Ü�g‰g�m‰mœBŸG™GŸL™L¨¨FÓ3×4Ñ4Ø”R—W‘W—_‘_ QÓ'ˆaØ‹9Øô �g‰g�m‰mœBŸG™GŸL™L¨¨FÓ3×4Ó4ð
 €Hr8   c                ó   • U(       aF  U R                   R                  5       U R                  :w  a  [        R                  " [        S5      US9eU R                  5       nUR                  (       d3  UR                  (       d"  UR                  (       d  UR                  (       a  [        R                  " [        S5      US9eU S   n[        UR                  5       H!  nUR                  U5      R                  US9  M#     g)zçenforce the precondition that working directory must be clean.

'merge' can be set to false if a pending uncommitted merge should be
ignored (such as when 'update --check' runs).

'hint' is the usual hint given to Abort exception.
s   outstanding uncommitted merge©Úhints   uncommitted changesN)r.  rò  Únullidr   r  r   r5   rý   rþ   rÿ   r   rÃ  Úsubstater  rê  )r6  r   r	  rv  rÝ  rB  s         ra   rê  rê  k  sª   € ö �—‘×!Ñ!Ó# t§{¡{Ó2Ü×ÒœqÐ!AÓBÈÑNÐNØ	�‰‹€BØ	‡{‡{�b—h—h "§*§*°·
·
Ü×ÒœqÐ!7Ó8¸tÑDÐDØ
ˆt‰*€CÜ�C—L‘LÖ!ˆØ�‰�‹
× Ñ  dÐ Ó+ò "r8   c                ó  • [        USS5        [        [        [           UR	                  S5      5      nUR	                  S5      nU(       dj  U(       ac   [        U5      (       a  U R                  R                  5       nU$ SR                  [        R                  " U5      R                  5       5      n U$ U$ ! [         aG  n[        R                  " [        S5      U[         R"                  " UR$                  5      4-  5      eSnAff = f)z1get the log message according to -m and -l optionr=   r?   r€   s"   can't read commit message '%s': %sN)rl   r   r
   re   rf   ÚisstdiofilenameÚfinr"  r  r/   Úreadfiler–  r5  r   r  r   r   Ú
strtolocalÚstrerror)r6   rh   r7  ÚlogfileÚinsts        ra   Ú
logmessager  ~  sØ   € ô ˜$ 
¨JÔ7ä”8œE‘? D§H¡H¨ZÓ$8Ó9€GØ�h‰h�zÓ"€Gæ–wð		Ü˜w×'Ñ'ØŸ&™&Ÿ+™+›-�ð €Nð  Ÿ*™*¤T§]¢]°7Ó%;×%FÑ%FÓ%HÓI‘ð €Nˆ7€Nøô ó 	Ü—+’+ÜÐ7Ó8ØœH×/Ò/°·±Ó>Ð?ñ@óð ûð	ús   Á*B8 Â 3B8 Â8
D	ÃADÄD	c                óž   • [        U [        5      (       a  U (       a  US-   $  US-   $ [        U R                  5       5      S:”  a  US-   $ US-   $ )a  return appropriate editform name (referencing a committemplate)

'ctxorbool' is either a ctx to be committed, or a bool indicating whether
merging is committed.

This returns baseformname with '.merge' appended if it is a merge,
otherwise '.normal' is appended.
s   .merger   s   .normal)rˆ   Úboolr�   r÷   )Ú	ctxorboolÚbaseformnames     ra   Úmergeeditformr  ”  s_   € ô �)œT×"Ñ"ÞØ )Ñ+Ð+ð ð
 ˜*Ñ$Ð$ô 
ˆY×ÑÓ Ó	! AÓ	%Ø˜iÑ'Ð'à˜*Ñ$Ð$r8   c                óh   ^^^• U (       d  T(       d  T(       a  UUU4S j$ T(       a  U4S j$ [         $ )aî  get appropriate commit message editor according to '--edit' option

'finishdesc' is a function to be called with edited commit message
(= 'description' of the new changeset) just after editing, but
before checking empty-ness. It should return actual text to be
stored into history. This allows to change description before
storing.

'extramsg' is a extra message to be shown in the editor instead of
'Leave message empty to abort commit' line. 'HG: ' prefix and EOL
is automatically added.

'editform' is a dot-separated list of names, to distinguish
the purpose of commit text editing.

'getcommiteditor' returns 'commitforceeditor' regardless of
'edit', if one of 'finishdesc' or 'extramsg' is specified, because
they are specific for usage in MQ.
c           	     ó   >• [        XUTTTS9$ )N)Ú
finishdescÚextramsgÚeditform)Úcommitforceeditor)ÚrrQ  rB  r  r  r  s      €€€ra   r­   Ú!getcommiteditor.<locals>.<lambda>½  s   ø€ Ô0Ø�! 
°XÈò 
r8   c                ó   >• [        XUTS9$ )N©r  ©Úcommiteditor)r   rQ  rB  r  s      €ra   r­   r!  Á  s   ø€ œ|¨A°!¸hÒGr8   r$  )r#  r  r  r  rh   s    ``` ra   Úgetcommiteditorr&  ¦  s'   ú€ ö, ŽzžXö
ð 	
ö 
ÜGÐGäÐr8   c                óê   • / n[         R                  " U SS9 HH  u  p#nUS:X  a)  UR                  [        R                  " XU 5      5        M5  UR                  XU 5        MJ     SR                  U5      $ )NT©r—  ó   stringr8   )r.   ÚscantemplaterŸ   r2   Ú	escapestrr  )ÚtmplÚpartsÚtypÚstartÚends        ra   Ú_escapecommandtemplater1  Æ  sf   € Ø€EÜ$×1Ò1°$¸DÔA‰ˆ�CØ�)ÓØ�L‰Lœ×-Ò-¨d¸¨oÓ>Ö?à�L‰L˜ C˜Ö)ñ	 Bð
 �8‰8�E‹?Ðr8   c                óv   • U(       d  U$ [         R                  " U [        U5      5      nUR                  U5      $ )a|  Expand a literal template 'tmpl' in a way suitable for command line

'\' in outermost string is not taken as an escape character because it
is a directory separator on Windows.

>>> from . import ui as uimod
>>> ui = uimod.ui()
>>> rendercommandtemplate(ui, b'c:\\{path}', {b'path': b'foo'})
'c:\\foo'
>>> rendercommandtemplate(ui, b'{"c:\\{path}"}', {'path': b'foo'})
'c:{path}'
)r   Úmaketemplaterr1  Úrenderdefault)r6   r,  ÚpropsÚts       ra   Úrendercommandtemplater7  Ð  s3   € ö ØˆÜ×Ò Ô$:¸4Ó$@ÓA€AØ�?‰?˜5Ó!Ð!r8   c                ó  • U R                  5       n[        R                  " UR                  U5      n[        R                  " UR                  U[
        R                  US9nSU 0nU(       a  UR                  U5        UR                  U5      $ )zÄExpand a literal template 'tmpl' byte-string against one changeset

Each props item must be a stringify-able value or a callable returning
such value, i.e. no bare list nor dict should be passed.
)ÚdefaultsÚ	resourcess   ctx)	r6  r   Útemplateresourcesr6   r3  r-   Úkeywordsr•   r4  )rÝ  r,  r5  r6  Útresr6  Úmappings          ra   Úrendertemplater?  ã  sq   € ð �8‰8‹:€DÜ×&Ò& t§w¡w°Ó5€DÜ×ÒØ�‰�¤
× 3Ñ 3¸tñ	€Að �sˆm€GÞØ�‰�uÔØ�?‰?˜7Ó#Ð#r8   c                óÔ   • SnU(       a  U R                  SSU-  S5      nU(       d  U R                  SS5      nU(       d  UnU(       d  Sn[        X5      nUR                  S5      S   $ )z&Format a changeset summary (one line).Ns   command-templatess   oneline-summary.%ss   oneline-summarys  {separate(" ", label("oneline-summary.changeset", "{rev}:{node|short}"), join(filter(namespaces % "{ifeq(namespace, "branches", "", join(names % "{label("oneline-summary.{namespace}", name)}", " "))}"), " "))} "{label("oneline-summary.desc", desc|firstline)}"r€   r   )rÑ   r?  rž   )r6   rÝ  ÚcommandÚdefault_specÚspecÚtexts         ra   Úformat_changeset_summaryrE  ô  sr   € à€DÞØ�y‰yØ Ð"7¸'Ñ"AÀ4ó
ˆö Ø�y‰yÐ-Ð/AÓBˆÞØˆÞðAð 	ô ˜#Ó$€DØ�:‰:�eÓ˜QÑÐr8   c                óð  • SSSSSSSS.nUb  S	US
'   Ub  SUS'   Ub  Ub  SUS'   Ub  SUS'   SUS'   SUS'   / n[         R                  " U SS9 Hä  u  pxn	US:w  a  UR                  XU	 5        M!  Un
X©:  d  M*  U R                  SX©5      nUS:  a)  UR                  [        R
                  " X
U	 5      5        Mk  UR                  [        R
                  " X
U 5      5        US-   U	:”  a  [        R                  " [        S5      5      eXS-   US-    nUS-   n
 UR                  X\   5        X©:  a  Mº  Mæ     SR                  U5      $ ! [         a#    [        R                  " [        S5      U-  5      ef = f)a¾  Convert old-style filename format string to template string

>>> _buildfntemplate(b'foo-%b-%n.patch', seqno=0)
'foo-{reporoot|basename}-{seqno}.patch'
>>> _buildfntemplate(b'%R{tags % "{tag}"}%H')
'{rev}{tags % "{tag}"}{node}'

'\' in outermost strings has to be escaped because it is a directory
separator on Windows:

>>> _buildfntemplate(b'c:\\tmp\\%R\\%n.patch', seqno=0)
'c:\\\\tmp\\\\{rev}\\\\{seqno}.patch'
>>> _buildfntemplate(b'\\\\foo\\bar.patch')
'\\\\\\\\foo\\\\bar.patch'
>>> _buildfntemplate(b'\\{tags % "{tag}"}')
'\\\\{tags % "{tag}"}'

but inner strings follow the template rules (i.e. '\' is taken as an
escape character):

>>> _buildfntemplate(br'{"c:\tmp"}', seqno=0)
'{"c:\\tmp"}'
s   {node}s   {rev}s   {node|short}s$   {sub(r"[^\w]", "_", desc|firstline)}s7   {if(revwidth, pad(rev, revwidth, "0", left=True), rev)}ó   %s   {reporoot|basename})ó   Hó   Ró   hr<   r‡  rG  rM   s   {total}ó   Ns   {seqno}r7   s3   {pad(seqno, total|stringify|count, "0", left=True)}s   {pathname|basename}rQ   s-   {if(pathname|dirname, pathname|dirname, ".")}r@   s
   {pathname}rG   Tr(  r)  r   é   s)   incomplete format spec in output filenamer   s-   invalid format spec '%%%s' in output filenamer8   )r.   r*  rŸ   Úfindr2   r+  r   r  r   ÚKeyErrorr  )ÚpatÚtotalÚseqnoÚrevwidthÚpathnameÚexpanderÚnewnamer.  r/  r0  ÚiÚnrQ  s                ra   Ú_buildfntemplaterX    s¨  € ð2 ØØØ6ØHØØ$ñ€Hð ÑØ#ˆ�‰ØÑØ#ˆ�‰ØÑ˜UÑ.ØOˆ�‰ØÑØ/ˆ�‰ØIˆ�‰Ø&ˆ�‰à€GÜ$×1Ò1°#¸4Ô@‰ˆ�CØ�)ÓØ�N‰N˜3 S˜>Ô*ÙØˆØ�gØ—‘˜˜qÓ&ˆAØ�1‹uØ—‘œz×3Ò3°C¸#°JÓ?Ô@ÙØ�N‰Nœ:×/Ò/°°a°Ó9Ô:Ø�1‰u�s‹{Ü—k’kÜÐBÓCóð ð ˜‘E˜A ™EÐ"ˆAØ�A‘ˆAðØ—‘˜x™{Ô+ð �gñ Að. �8‰8�GÓÐøô	 ó Ü—k’kÜÐFÓGÈ!ÑKóð ðús   ÄEÅ-E5c                ól   • U(       d  U$ [        U40 UD6n[        X[        R                  " U5      5      $ r„   )rX  r?  r%   r[  )rÝ  rO  r5  r,  s       ra   ÚmakefilenamerZ  S  s3   € ÞØˆ
Ü˜CÑ) 5Ñ)€Dô ˜#¤X×%9Ò%9¸%Ó%@ÓAÐAr8   c                ó(   • U (       + =(       d    U S:H  $ )zATrue if the given pat looks like a filename denoting stdin/stdoutr\   r¬   )rO  s    ra   r  r  ]  s   € àŒ7×!�c˜T‘kÐ!r8   c                  ó<   • \ rS rSrS
S jrS rS rS rS rS r	Sr
g	)Ú_unclosablefileib  c                ó   • Xl         g r„   ©Ú_fp)rg  rP  s     ra   ri  Ú_unclosablefile.__init__c  s   € Ø�r8   c                ó   • g r„   r¬   ©rg  s    ra   r  Ú_unclosablefile.closef  ó   € Ør8   c                ó,   • [        U R                  5      $ r„   )Úiterr`  rc  s    ra   Ú__iter__Ú_unclosablefile.__iter__i  s   € Ü�D—H‘H‹~Ðr8   c                ó.   • [        U R                  U5      $ r„   )r‰  r`  )rg  r   s     ra   Ú__getattr__Ú_unclosablefile.__getattr__l  s   € Ü�t—x‘x Ó&Ð&r8   c                ó   • U $ r„   r¬   rc  s    ra   Ú	__enter__Ú_unclosablefile.__enter__o  s   € Øˆr8   c                ó   • g r„   r¬   )rg  Úexc_typeÚ	exc_valueÚexc_tbs       ra   Ú__exit__Ú_unclosablefile.__exit__r  re  r8   r_  N)rP  r   rd   ÚNone)r€  r�  r‚  rƒ  ri  r  rh  rk  rn  rt  r…  r¬   r8   ra   r]  r]  b  s    † ôòòò'òõr8   r]  c                ó*  • US;  n[        U5      (       ah  U R                  5       nU(       a  UR                  R                  nOUR                  R                  n[
        R                  " [        [        U5      5      $ [        X40 UD6n[        Xr5      $ )N)r   Úrb)r  r6  r6   Úfoutr  Útypingr   r   r]  rZ  Úopen)rÝ  rO  Úmoder5  Úwritabler6  rP  Úfns           ra   Úmakefileobjr  v  sp   € ð ˜;Ñ&€Hä�s×ÑØ�x‰x‹zˆÞØ—‘—‘‰Bà—‘—‘ˆBÜ�{Š{œ8¤_°RÓ%8Ó9Ð9Ü	�cÑ	( %Ñ	(€BÜ�‹>Ðr8   c                óô  • US   nUS   nUS   nSnU(       a  U(       a  [        S5      nOTU(       a  U(       a  [        S5      nO:U(       d  U(       d  U(       a%  U(       a  [        S5      nOU (       d  [        S5      nU(       a  [        R                  " U5      eSn	U (       Gac  U(       a  U R                  5       R                  n	O×U(       aƒ  [
        R                  " U 5      (       d  [        R                  " [        S	5      5      eUR                  S
5      (       d  US
-   nU R                  R                  U5      n
[        U
5      (       a  U
n	OMU(       a  U R                  R                  S5      n	O*U(       a#  U R                  U5      n[        U5      (       a  Un	U(       ac  [        U	[        R                  5      (       a  OC[        U	S5      (       a  U	R                  n	O%U	b"  [        R                  " [        S5      U	-  5      eU	(       dç  U(       d  [        R                  " [        S5      5      eU(       d   [        R                   " U[        S5      5      e["        R$                  R'                  U5      (       d"  [        R                  " [        S5      U-  5      e[(        R*                  SU-  4n[        R                  " [,        R.                  " [0        R2                  " 5       SS9UUSS S9n	U	$ )z:opens the changelog, manifest, a filelog or a given revlogrV   rW   rX   Ns:   cannot specify --changelog and --manifest at the same times5   cannot specify --changelog and --dir at the same times6   cannot specify filename with --changelog or --manifestsF   cannot specify --changelog or --manifest or --dir without a repositorys9   --dir can only be used on repos with treemanifest enabledro  r8   Ú_revlogs!   %r does not appear to be a revlogs   cannot give path to non-revlogs   invalid argumentss   revlog '%s' not founds   free-form:%sF)Úauditéþÿÿÿ)ÚtargetÚradix)r   r   rg   Ú
unfilteredr   r)   ÚistreemanifestÚendswithÚmanifestlogÚ
getstorager�   Úfilerˆ   r'   Úhasattrr�  ÚCommandErrorr  r  ÚisfileÚrevlog_constantsÚ
KIND_OTHERÚvfsmodr0   r   r¹  )r6  r¡   Úfile_rh   ÚreturnrevlogÚclÚmfré   rÙ   r   ÚdirlogÚfilelogr„  s                ra   Úopenstorager˜  †  sS  € à	ˆlÑ	€BØ	ˆkÑ	€BØ
ˆv‰,€CØ
€CÞ	ŽbÜÐMÓN‰Þ	–ÜÐHÓI‰Þ	Žr–SÞÜÐMÓN‰CÞÜð(óˆCö Ü×Ò˜sÓ#Ð#à€AßÞØ—‘Ó!×+Ñ+‰AÞÜ×)Ò)¨$×/Ñ/Ü×&Ò&Üð0óóð ð —<‘< ×%Ñ%Ø˜D‘j�Ø×%Ñ%×0Ñ0°Ó5ˆFÜ�6�{‰{Ø�øÞØ× Ñ ×+Ñ+¨CÓ0‰AÞØ—i‘i Ó&ˆGÜ�7�|‰|Ø�ö Ü˜!œVŸ]™]×+Ñ+ØÜ˜˜I×&Ñ&Ø—I‘I‘Ø‘Ü×&Ò&ÜÐ:Ó;¸aÑ?óð ö ÞÜ×"Ò"¤1Ð%FÓ#GÓHÐHæÜ×$Ò$ S¬!Ð,@Ó*AÓBÐBÜ�w‰w�~‰~˜e×$Ñ$Ü×"Ò"¤1Ð%=Ó#>ÀÑ#FÓGÐGä"×-Ñ-¨ÀÑ/FÐGˆÜ�MŠMÜ�JŠJ”x—’Ó(°Ñ6ØØ˜˜�*ñ
ˆð
 €Hr8   c                ó   • [        XX#SS9$ )aX  Obtain a revlog backing storage of an item.

This is similar to ``openstorage()`` except it always returns a revlog.

In most cases, a caller cares about the main storage object - not the
revlog backing it. Therefore, this function should only be used by code
that needs to examine low-level revlog implementation details. e.g. debug
commands.
T)r“  )r˜  )r6  r¡   r’  rh   s       ra   Ú
openrevlogrš  Ñ  s   € ô �t %¸DÑAÐAr8   c           
     ó8  ^ ^^^^!^"^#^$^%^&^'^(• [        TSS/5        TR                  5       m#0 m'TR                  S5      nTR                  S5      m!TR                  S5      m%TR                  S5      nU(       a�  U(       d&  T!(       d  [        R                  " [        S5      5      e[        R                  " TU5      m"[        T"R                  5       5      S:”  a  [        R                  " [        S5      5      eOTS    m"T"R                  5       m&[        R                  " TSS	9m(U(       Gan  T"R                  5       c  T"nO¯[        T"R                  5       5      S:”  a  [        R                  " [        S
5      5      eSSKJn  [         R"                  " TT"R                  5       /S5        UR%                  T5      nUR'                  T"R                  5       5        [(        R*                  " TT"US9  [        R,                  " T"UT5      n	T"R/                  5       n
U
R1                  T"R3                  5       5        [        R                  " T5      m(T"R5                  U	5       HX  nXº;   a  X{   R7                  S 5        M  U	R9                  U5      (       d  M5  T R;                  [        S5      T(" U5      -  5        MZ     T"R                  5       bÏ  TR=                  5          UR?                  T"5      nURA                  5       nTRB                  R                  5       T"RE                  5       :X  a>  TRB                  RG                  T5         [        RH                  " TTU   5        S S S 5        T"RE                  5       U/0n[        RJ                  " TUSSS9  S S S 5        g g [        RL                  " U5      nU(       d  [        R                  " [        S5      5      e[        U5      S:X  a  [        R                  " [        S5      5      eURO                  5       nU!U"UU&U U(4S jnT"R                  5       Gbu  [         R"                  " TT"R                  5       /S5        [P        RR                  " TRT                  T#U5      nT"RW                  U5      (       a(  [        R                  " [        S5      T(" U5      -  5      eUT";  a*  [        R                  " [        S5      T(" U5      T"4-  5      eSSKJn  / nU H2  nU" U5      nU(       d  M  U H  u  nnnURY                  U5        M     M4     U(       d  [        R                  " [        S5      5      e[        U5      S:w  a  [        R                  " [        S5      5      eUR%                  T5      nUR'                  T"R                  5       5        [(        R*                  " TT"US9  UR7                  UUS   5        TR=                  5          UR?                  T"5      nURA                  5       nTRB                  R                  5       T"RE                  5       :X  a>  TRB                  RG                  T5         [        RH                  " TTU   5        S S S 5        T"RE                  5       U/0n[        RJ                  " TUSSS9  S S S 5        g U!U"U#U%UU&UUU'U 4
S jnU#U$U4S jnU#U$U4S jn[Z        R\                  R_                  U5      =(       a$    [Z        R\                  Ra                  U5      (       + m$T$(       d‰  [        U5      S:”  d  [b        Rd                  " US   5      (       a  [        R                  " [        S5      5      e[f        Rh                  " U5      (       a"  [        R                  " [        S5      U-  5      eUnT!(       a  Un/ nU H/  nU" U5      nU(       d  M  URY                  U" UUU5      U45        M1     U(       d2  S nT(       a  [        S5      n[        R                  " [        S5      US9eSnU H0  u  nnU H$  u  nn nU" UU U" U5      U5      (       d  M  US-  nM&     M2     US:g  $ ! , (       d  f       GN = f! , (       d  f       g = f! , (       d  f       GN= f! , (       d  f       g = f) Nó   forgetó   dry_runs   afters   at_revs   --at-rev requires --afterr   s'   cannot mark/unmark copy in merge commitT©Úlegacyrelativevalues"   cannot unmark copy in merge commitrÙ  s   uncopy)r<  s9   %s: not unmarking as copy - file is not marked as copied
râ  s"   no source or destination specifieds   no destination specifiedc                ó¬  >• / nTR                  5       c  TOT
n[        R                  " X /T	SS9nUR                  U5       H�  nT" U5      nUR	                  U5      nUT;  aZ  UT
;   a.  T(       d&  U(       a  TR                  [        S5      U-  5        MU  O&U(       a  TR                  [        S5      U-  5        M|  UR                  XEU45        M‘     U$ )NT)Úglobbeds2   %s: not copying - file has been marked for remove
s&   %s: not copying - file is not managed
)rû  r)   r   ÚwalkÚexactrÆ   r   rŸ   )rO  ÚsrcsÚctx_to_walkrV  ÚabsÚrelr£  ÚafterrÝ  rh   Úpctxr6   Úuipathfns          €€€€€€ra   ÚwalkpatÚcopy.<locals>.walkpat1  sÚ   ø€ Øˆð !ŸW™W›YÑ.‘c°DˆÜ�MŠM˜+ u¨d¸DÑAˆØ×#Ñ# AÖ&ˆCÙ˜3“-ˆCØ—G‘G˜C“LˆEØ˜#‹~Ø˜$“;Þ Þ ØŸG™GÜ !ð%4ó!"ð #&ñ	!&ôñ !ð !ö ØŸ™ÜÐHÓIÈCÑOôñ ð �K‰K˜ 5Ð)Ö*ñ1 'ð2 ˆr8   s8   %s: --at-rev does not support a directory as destinations)   %s: copy destination does not exist in %ss   no files to copys!   --at-rev requires a single sourcer   s   copyc           
     ó  >
^ ^• [         R                  " TR                  TU5      mST;   a5  TR                  SS5      u  pETR                  R                  U5      S-   U-   mTR                  TT5      nTR                  T5      nTR                  T 5      nTR                  R                  T5      n	U	R                  =(       a    U	R                  (       + n
[        R                  " T!T5        T R                  T5      nUbA  T!R                  [        S5      UTR                  T T5      TR                  UT5      4-  5        g[         R"                  R%                  U5      nSnU(       ag  T T:w  aa  TR                  R                  T 5      TR                  R                  T5      :X  a)  T(       d  T!R                  [        S5      U-  5        gSnSnT(       d  U(       d  T(       aø  U
(       añ  TS   (       dç  U
(       a’  [        S5      nTT;   =(       a$    ['        U U4S	 jTR)                  5        5       5      nU(       a  T(       a  [        S
5      nOf[        S5      nOZT(       a  SnOSnT(       a  [        S5      U-  nO8[        S5      U-  nO)[        S5      nT(       a  [        S5      nO[        S5      nT!R                  Xæ-  5        T!R                  U5        gT(       aM  U(       dE  T(       a  T!R                  [        S5      X4-  5        gT!R                  [        S5      X4-  5        gOÙT(       dÒ   U(       a  [         R*                  " U5        [         R"                  R-                  U5      =(       d    Sn[         R"                  R/                  U5      (       d  [         R0                  " U5        U(       a4  US-   n[         R2                  " UU5        [         R2                  " UU5        O[4        R6                  " X‡TS9  SnT!RD                  (       d  U(       dD  T(       a  T!RG                  [        S5      X4-  5        OT!RG                  [        S5      X4-  5        T T T'   [        RH                  " T!TTT TTTS9  T(       af  T(       d^  T(       dD  W(       a=  U(       d6  TRJ                  RM                  SS5      nTRN                  RQ                  T US9  TRS                  T /5        g g g ! [8         aŠ  nUR:                  [:        R<                  :X  a%  T!R                  [        S5      U-  5        Sn S nAGN6T!R                  [        S5      U[>        R@                  " URB                  5      4-  5         S nAgS nAff = f) Nro  r   s*   %s: not overwriting - %s collides with %s
TFs   %s: can't copy - same file
rÜ   s-   %s: not overwriting - file already committed
c              3  óF   >#   • U  H  nTU;   =(       a    TU;  v •  M     g 7fr„   r¬   )Ú.0ÚgpctxÚabssrcÚ	abstargets     €€ra   Ú	<genexpr>Ú)copy.<locals>.copyfile.<locals>.<genexpr>¸  s*   øé € ð Hâ%3˜Eð  %™×B¨I¸UÑ,BÔBÚ%3ùs   ƒ!sP   ('hg rename --at-rev .' to record the rename in the parent of the working copy)
sL   ('hg copy --at-rev .' to record the copy in the parent of the working copy)
s   --after --forces   --forces;   ('hg rename %s' to replace the file by recording a rename)
s7   ('hg copy %s' to replace the file by recording a copy)
s"   %s: not overwriting - file exists
s+   ('hg rename --after' to record the rename)
s'   ('hg copy --after' to record the copy)
s+   %s: not recording move - %s does not exist
s+   %s: not recording copy - %s does not exist
rç   s	   ~hgrenamerê   s!   %s: deleted in working directory
s   %s: cannot copy - %s
s   moving %s to %s
s   copying %s to %s
)ÚdryrunÚcwdrÏ   ó   removeemptydirs©r4  )*r#   Ú	canonpathr¸  Úrsplitr.  Ú	normalizer·  r  r0  Útrackedrþ   r)   Úcheckportablerf   rÆ   r   r  r  ÚlexistsÚanyr÷   r%  r  r  ÚmakedirsÚrenamer/   r  r5  ÚerrnoÚENOENTr   r  r  Úverboser5   Údirstatecopyr6   ry   ÚwvfsÚ
unlinkpathÚforget)"r±  ÚrelsrcÚotargetr£  ÚabspathÚabsnameÚ	reltargetr„  ÚsrcÚentryÚalready_commitedÚprevsrcÚexistsÚsamefilerÙ   Úlooks_like_copy_in_pctxr	  ÚflagsÚ	targetdirÚtmpÚ	srcexistsr  r4  r²  r¨  rÝ  r¶  rµ  rh   r©  rÁ  r6  Útargetsr6   s"   `                      @€€€€€€€€€€ra   r  Úcopy.<locals>.copyfileˆ  s¯  ú€ Ü×&Ò& t§y¡y°#°wÓ?ˆ	Ø�9Óð  )×/Ñ/°°aÓ8ÑˆGØŸ™×/Ñ/°Ó8¸4Ñ?À'ÑIˆIØ—K‘K 	¨3Ó/ˆ	Ø—‘˜IÓ&ˆØ�j‰j˜Ó ˆØ—‘×'Ñ'¨	Ó2ˆà Ÿ=™=×<°·±¬_Ðä×Ò˜b )Ô,ð —+‘+˜iÓ(ˆØÑØ�G‰GÜÐ@ÓAàØ—K‘K ¨Ó,Ø—K‘K ¨Ó-ðñôð ô —‘—‘ Ó(ˆØˆÞ�f 	Ó)Ø�}‰}×&Ñ& vÓ.°$·-±-×2IÑ2IØó3ó ö Ø—G‘GœAÐ=Ó>ÀÑJÔKØØ�Ø�æž¦5Ö-=Ø˜—>Þ#ÜÐMÓN�Cð /8¸4Ñ.?÷ /ÄCõ Hà%)§\¡\¤^óHó EÐ+ö /Þ!Ü#$ð!Hó$™Dô
 $%ð!Eó$™Dö
 !Ø$6™Eà$.˜EÞ!ä !ð%=ó!"ð #(ñ	!(ñ !ô !"ð%;ó!"ð #(ñ	!(ñ !ô ÐBÓC�CÞÜ ØKó ™ô  !Ð!LÓM˜Ø—‘˜™Ô(Ø—‘˜”ØæÞÞØ—G‘GÜÐIÓJØ!Ð-ñ.ôð ð	 —G‘GÜÐIÓJØ!Ð-ñ.ôð ð ö ð ÞÜ—I’I˜fÔ%ÜŸG™GŸO™O¨FÓ3×;°t�	Ü—w‘w—}‘} Y×/Ñ/Ü—K’K 	Ô*ÞØ  <Ñ/�CÜ—I’I˜c 3Ô'Ü—I’I˜c 6Õ*ô —M’M #¸Ò?Ø �	ð �:�:žUÞØ—	‘	œ!Ð0Ó1°VÐ4GÑGÕHà—	‘	œ!Ð1Ó2°fÐ5HÑHÔIà#ˆ�	Ñô 	×ÒØ��c˜6 9°VÀò	
ö ž&ÞžY®xØŸ™×*Ñ*¨?Ð<NÓO�Ø—	‘	×$Ñ$ V°5Ð$Ñ9Ø�J‰J˜�xÕ ð	 !ˆ6øô/ ó 	 Ø—:‘:¤§¡Ó-Ø—G‘GœAÐCÓDÀvÑMÔNØ %–Ià—G‘GÜÐ3Ó4Ø!¤8×#6Ò#6°t·}±}Ó#EÐFñGôô  ûð	 ús   Ì8CS2 Ó2
VÓ<=VÔ?=VÖVc                óÂ  >^^• [         R                  R                  U 5      (       a¢  [        R                  " TR
                  TU 5      n[        R                  " U5      nT(       a,  [        [         R                  R                  U5      S   5      mO[        U5      mT(       a  T[        [        R                  5      -  mUU4S jnU$ T(       a  U4S jnU$ U4S jnU$ )Nr   c                ór   >• [         R                  R                  T[        R                  " U 5      TS  5      $ r„   ©r  r  r  r/   Ú	localpath©r  ÚdestÚstriplens    €€ra   r­   Ú,copy.<locals>.targetpathfn.<locals>.<lambda>0  s$   ø€ œBŸG™GŸL™L¨¬t¯~ª~¸aÓ/@ÀÀÐ/KÔLr8   c                ó¦   >• [         R                  R                  T[         R                  R                  [        R
                  " U 5      5      5      $ r„   ©r  r  r  r  r/   rÞ  ©r  rà  s    €ra   r­   râ  2  ó/   ø€ œBŸG™GŸL™LØ”b—g‘g×&Ñ&¤t§~¢~°aÓ'8Ó9ôr8   c                ó   >• T$ r„   r¬   rå  s    €ra   r­   râ  6  s   ø€ ™Dr8   )r  r  r  r#   r¹  r¸  r/   rÞ  r�   rž   r%   Úossep)	rO  rà  r¤  ÚabspfxÚresrá  r¶  Údestdirexistsr6  s	    `   @€€€ra   ÚtargetpathfnÚcopy.<locals>.targetpathfn&  s¥   ú€ Ü�7‰7�=‰=˜×ÑÜ×'Ò'¨¯	©	°3¸Ó<ˆFÜ—^’^ FÓ+ˆFÞÜœrŸw™wŸ}™}¨VÓ4°QÑ7Ó8‘ä˜v›;�ÞØœC¤§¡Ó/Ñ/�ÝLˆCð ˆ
ö ôˆCð
 ˆ
ô !ˆCØˆ
r8   c                ó4  >^^^• [         R                  " U 5      (       a  U4S jnU$ [        R                  " TR                  T	U 5      n[        U5      [        TS   S   5      :  Ga  UU4S jn[        R                  " U5      n[        U5      mT(       a  T[        [        R                  5      -  m[        R                  R                  [        R                  R                  T[        R                  R                  U5      S   5      5      (       ad  U" T5      n[        [        R                  R                  U5      S   5      nU(       a  U[        [        R                  5      -  nU" U5      U:”  a  UmUU4S jnU$ T
(       a  U4S jnU$ U4S jnU$ )Nc                ó¦   >• [         R                  R                  T[         R                  R                  [        R
                  " U 5      5      5      $ r„   rä  rå  s    €ra   r­   Ú1copy.<locals>.targetpathafterfn.<locals>.<lambda>@  ræ  r8   r   c                óè   >• SnT Hh  n[         R                  R                  T[        R                  " US   5      U S  5      n[         R                  R                  U5      (       d  Mc  US-  nMj     U$ )Nr   r   )r  r  r  r/   rÞ  r¾  )rá  ÚscorerB  r6  rà  r¤  s       €€ra   ÚevalpathÚ1copy.<locals>.targetpathafterfn.<locals>.evalpathH  s]   ø€ Ø�EÛ!˜ÜŸG™GŸL™L¨¬t¯~ª~¸aÀ¹dÓ/CÀHÀIÐ/NÓO˜ÜŸ7™7Ÿ?™?¨1×-Ó-Ø! Q™JšEñ "ð !�Lr8   r   c                ór   >• [         R                  R                  T[        R                  " U 5      TS  5      $ r„   rÝ  rß  s    €€ra   r­   rð  [  s$   ø€ ¤§¡§¡¨T´4·>²>À!Ó3DÀXÀYÐ3OÔ Pr8   c                ó¦   >• [         R                  R                  T[         R                  R                  [        R
                  " U 5      5      5      $ r„   rä  rå  s    €ra   r­   rð  _  s/   ø€ ¤B§G¡G§L¡LØœbŸg™g×.Ñ.¬t¯~ª~¸aÓ/@ÓAô%r8   c                ó   >• T$ r„   r¬   rå  s    €ra   r­   rð  c  s   ø€ ¡Dr8   )rø   Úpatkindr#   r¹  r¸  r�   r/   rÞ  r%   rè  r  r  r  r  rž   )rO  rà  r¤  rê  ré  ró  rò  Ú	striplen1rá  r¶  rë  r6  s    ``     @€€€ra   ÚtargetpathafterfnÚcopy.<locals>.targetpathafterfn=  s7  û€ Ü×Ò˜C× Ñ ôˆCðH ˆ
ôA ×'Ò'¨¯	©	°3¸Ó<ˆFÜ�6‹{œS  a¡¨¡›_Ô,ö!ô Ÿš¨Ó/�Ü˜v›;�ÞØ¤¤H§N¡NÓ 3Ñ3�HÜ—7‘7—=‘=¤§¡§¡¨d´B·G±G·M±MÀ&Ó4IÈ!Ñ4LÓ!M×NÑNÙ$ XÓ.�EÜ #¤B§G¡G§M¡M°&Ó$9¸!Ñ$<Ó =�IÞ Ø!¤S¬¯©Ó%8Ñ8˜	Ù 	Ó*¨UÓ2Ø#,˜ÝP�ð ˆ
ö !ô�Cð
 ˆ
ô )�CØˆ
r8   s@   with multiple sources, destination must be an existing directorys!   destination %s is not a directorys)   maybe you meant to use --after --at-rev=.r  )5rq   r¹  rf   r   rg   r   r   Ú	revsingler�   r÷   rñ  r)   Úgetuipathfnrû  rï  rº  r(   rí  ÚoverlayworkingctxÚsetbaser(  Úgraftr   Úp1copiesr•   Úp2copiesr¢  Ú
markcopiedr£  rÆ   rè  Útomemctx_for_amendrÖ   r.  rð  r2  Úmovedirstaterö  Ú
expandpatsr°   r#   r¹  r¸  ÚhasdirrŸ   r  r  r  Úislinkrø   rø  r/   Úendswithsep))r6   r6  r;  rh   rÁ  rÈ  rû  Únew_ctxrº  r   Úcurrent_copiesrØ   Úmem_ctxÚnew_noderú  rà  r«  ÚabsdestÚcopylistrO  r¤  r¦  r§  r£  r  rì  rú  Útfnr	  ÚerrorsÚ
targetpathr±  rÉ  r¨  rÝ  r¶  rë  rµ  r©  rÙ  rª  s)   `` ``                            @@@@@@@@ra   rü   rü   Þ  sß  ÿû€ Ü   y°:°,Ô?ð �+‰+‹-€CØ€GØ�X‰X�iÓ €FØ�H‰H�XÓ€EØ�X‰X�jÓ!€FØ
�(‰(�9Ó
€CÞ
Þžeô ×"Ò"¤1Ð%AÓ#BÓCÐCÜ×"Ò" 4¨Ó-ˆÜˆs�{‰{‹}Ó Ó!Ü×"Ò"ÜÐ<Ó=óð ð "ð
 �4‰jˆà�6‰6‹8€Dä×"Ò" 4¸TÑB€HçØ�7‰7‹9ÑØ‰Gä�3—;‘;“=Ó! AÓ%Ü×&Ò&¤qÐ)NÓ'OÓPÐPå!ä× Ò  ¨¯©«	 {°IÔ>Ø×/Ñ/°Ó5ˆGØ�O‰O˜CŸF™F›HÔ%Ü�NŠN˜4 ¨7Ò3ä—’˜c 4¨Ó.ˆàŸ™›ˆØ×Ñ˜cŸl™l›nÔ-ä×&Ò& tÓ,ˆØ—‘˜%–ˆAØÓ"Ø‘
×%Ñ% dÖ+Ø—‘˜Q—“Ø—‘ÜØUóñ ˜q“kñ"öñ	 !ð �7‰7‹9Ñ Ø—‘•Ø!×4Ñ4°SÓ9�Ø"Ÿ>™>Ó+�à—=‘=×#Ñ#Ó%¨¯©«Ó3ØŸ™×7Ñ7¸Õ=Ü×,Ò,¨T°4¸±>ÔB÷ >à #§¡£
¨X¨JÐ7�Ü×$Ò$Ø˜,¨	¸Dò÷ ñ 	ä×Ò˜dÓ#€DÞÜ×ÒœqÐ!FÓGÓHÐHÜ
ˆ4ƒy�Aƒ~Ü×ÒœqÐ!<Ó=Ó>Ð>Ø�8‰8‹:€D÷ò ðB ‡w�wƒyÒÜ×Ò˜T C§G¡G£I ;°	Ô:Ü×$Ò$ T§Y¡Y°°TÓ:ˆØ�:‰:�g×ÑÜ×"Ò"ÜÐMÓNÙ˜7Ó#ñ$óð ð ˜#ÓÜ×"Ò"ÜÐ>Ó?Ù˜GÓ$ cÐ*ñ+óð õ 	àˆÛˆCÙ˜3“<ˆDÞÙÛ#'‘��S˜%Ø—‘ Ö$ó $(ñ	 ö Ü×"Ò"¤1Ð%8Ó#9Ó:Ð:ô ˆx‹=˜AÓÜ×"Ò"¤1Ð%IÓ#JÓKÐKà×+Ñ+¨DÓ1ˆØ�‰˜Ÿ™›Ô!Ü�Š�t˜S wÒ/à×Ñ˜7 H¨Q¡KÔ0à�Y‰Y�[Ø×0Ñ0°Ó5ˆGØ—~‘~Ó'ˆHà�}‰}×ÑÓ! S§X¡X£ZÓ/Ø—]‘]×3Ñ3°DÕ9Ü×(Ò(¨¨t°H©~Ô>÷ :àŸH™H›J¨¨
Ð3ˆLÜ× Ò   |°WÀtÒL÷ ð 	÷
X!ö X!÷|÷.'ôR —G‘G—M‘M $Ó'×D´·±·±¸tÓ0DÔ,D€MÞÜˆt‹9�q‹=œH×,Ò,¨T°!©W×5Ñ5Ü×"Ò"Üð*óóð ô ×Ò˜D×!Ñ!Ü×"Ò"ÜÐ6Ó7¸$Ñ>óð ð €CÞØˆØ€HÛˆÙ�s‹|ˆÞÙØ�‰™˜S $¨Ó-¨tÐ4Ö5ñ	 ö
 ØˆÞÜÐAÓBˆDÜ×ÒœqÐ!4Ó5¸DÑAÐAà€FÛ$Ñˆ
�DÛ%)Ñ!ˆF�F˜EÙ˜ ©
°6Ó(:¸E×BÓBØ˜!‘’ó &*ñ %ð
 �Q‰;Ð÷Q >Ö=ú÷ ”ð 	ú÷l :Ö9ú÷ Œ[ð 	úsJ   ËA)a(ÍaÍ2a(×&A)bÙa9Ù*2bá
a%	á a(á(
a6á9
b	âbâ
bc                ó  • SSK Jn  UR                  S5      nUR                  S5      n	UR                  S5      =(       d    UR                  S5      n
UR                  S5      =(       d    UR                  S5      nUR                  S5      nUR                  S5      nUR                  S	5      nUR                  S
5      nUR                  S5      nUR                  S5      nUR                  S5      (       + nUS   nUS   n[        UR                  S5      =(       d    S5      nU(       d  gSn[	        X5      nU(       a  Un	OU	(       a  U	R                  5       n	OSn	U R                  SU	=(       d    S-  5        [        U5      S:X  a  UR                  U[           5        UR                  S5      (       aC  U(       a  U(       d  [        R                  " [        S5      5      eX   nX=(       d    [           nO]U(       aR   X   nX   nXãS   :w  a  US   nU[           nUR                  5       [        :X  a  U R                  [        S5      5        OUu  pïSnU(       Ga6  XãS   :w  a  U" XR!                  5       5        XóS   :w  a.  UR#                  UR!                  5       UR!                  5       5        UR                  S5      (       d  U(       a3  UR$                  R'                  U=(       d    SUR)                  5       5        UR                  SS5      n[+        5       n [,        R,                  " U UUUUUSUS-  S9  [9        U5      nU(       a  U	(       a  UR                  U	5        GOZUR                  S5      (       d  U(       a  SnO [:        R<                  " UU=(       d    / 5      n[?        US   S!5      nUR                  S5      (       a  SnO![A        S0S"U0[0        RB                  " U5      D6n0 n[D         H  n [F        U    " XUU5        M     0 n!U(       a  S U!S#'   UR                  S$5      (       a  S$U!S%'   URH                  RK                  U!S&5         URM                  XšUUUUS'9n[N         H  n [P        U    " UU   5        M     SSS5        GO/UR                  S5      (       d  U(       a  U=(       d    SnOURS                  5       n[,        RT                  " 5       n" [+        5       n [,        RV                  " U UUU"UUUUSS(9	  UR                  S5      (       a  SnO	[A        S)S*9nUR]                  UUR!                  5       UR!                  5       4U	UU"U
UUUS+9	n#0 n!UR                  S$5      (       a  S$U!S%'   URH                  RK                  U!S&5         U#RM                  5       nSSS5        U"R_                  5         UR                  S5      (       a"  U(       a  U R                  [        S,5      5        OKUR                  S5      (       a5  U(       a  [a        U5      U:w  a  [        Rb                  " [        S-5      5      e[        S.5      n$U(       a  [        S/5      [e        U5      -  n$U$UU4$ ! [        R                   a    Uu  pï GNrf = f! [        R.                   a7  n[        R                  " [0        R2                  " U5      [        S5      S9eSnAf[        R4                   aE  nU(       d*  [        R6                  " [0        R2                  " U5      5      eU(       a  S n SnAGNóSnAff = f! , (       d  f       GN„= f! [        R.                   a7  n[        R                  " [X        RZ                  " U5      [        S5      S9eSnAf[        R4                   a/  n[        R6                  " [X        RZ                  " U5      5      eSnAff = f! , (       d  f       GN5= f! U"R_                  5         f = f)1aÈ  Utility function used by commands.import to import a single patch

This function is explicitly defined here to help the evolve extension to
wrap this part of the import logic.

The API is currently a bit ugly because it a simple code translation from
the import command. Feel free to make it better.

:patchdata: a dictionary containing parsed patch data (such as from
            ``patch.extract()``)
:parents: nodes that will be parent of the created commit
:opts: the full dict of option passed to the import command
:msgs: list to save commit message to.
       (used in case we need to save it when failing)
:updatefunc: a function that update a repo to a given node
             updatefunc(<repo>, <node>)
r   rÙ  s   filenamer=   rC   rA   ó   branchs   nodeids   p1s   p2s	   no_commits   import_branchs   bypasss   strips   prefixrR   r   )NNFFNs   message:
%s
r8   s   exacts   not a Mercurial patchs\   warning: import the patch as a normal revision
(use --exact to import the patch as a merge)
ó   defaults   partialg      Y@)Ústriprè   r–   rð   Ú
similaritys7   check that whitespace in the patch has not been mangledr  Ts   import.normalr  )rÞ   s   allowemptycommitó   secret)s   phasess
   new-commits   import)r   Úeditorrà  rï   s   import.bypassr#  )r–   rÞ  ru   rs   rá  r  s3   warning: can't check exact import with --no-commit
s%   patch is damaged or loses informations   applied to working directorys
   created %sr¬   )3rï  rº  rf   Úfloatr  r  r  r�   rŸ   r   r   rg   r   Ú	RepoErrorrû  rÆ   rð  Ú
setparentsr.  Ú	setbranchÚcurrenttransactionr‘   r"   r  r%   r,  r  r  rÓ  r)   r&  r  r&  r-  ÚextrapreimportÚextrapreimportmapr6   rú   rÖ   ÚextrapostimportÚextrapostimportmaprá  Ú	filestoreÚ	patchrepor2   Úforcebytestrró  r  r   r  r   )%r6   r6  Ú	patchdatar÷   rh   ÚmsgsÚ
updatefuncrº  rO  r7  ru   rs   rá  Únodeidrñ  rò  ÚnocommitÚimportbranchr•   r  rè   ÚsimÚrejectsÚcmdline_messagerW  r^  r–   rÌ   rV  r  r  rà  Úidfuncr=  Ústoreró  rÙ   s%                                        ra   Útryimportoner1  ¢  s¾  € õ& à�m‰m˜KÓ(€GØ�m‰m˜JÓ'€GØ�8‰8�GÓ×6 	§¡¨gÓ 6€DØ�8‰8�GÓ×6 	§¡¨gÓ 6€DØ�]‰]˜9Ó%€FØ�]‰]˜9Ó%€FØ	�‰�uÓ	€BØ	�‰�uÓ	€Bà�x‰x˜Ó%€HØ—8‘8Ð,Ó-€LØ—‘˜)Ó$Ô$€FØ�‰N€EØ�)‰_€FÜ
�—‘˜Ó'×,¨1Ó
-€CæØ à€Gä  Ó*€OÞà!‰Þ	à—-‘-“/‰ð ˆØ‡H�HÐ '§.¨SÑ1Ô2ä
ˆ7ƒ|�qÓØ�‰�tœG‘}Ô%Ø‡x�x�×ÑÞžRÜ×"Ò"¤1Ð%=Ó#>Ó?Ð?Ø‰XˆØ—-œÑ ‰Þ	ð
	Ø‘ˆBØ‘ˆBð ˜Q‘ZÓØ˜Q‘Z�Øœ'‘]�ð �6‰6‹8”wÓØ�G‰GÜðFóôøð ‰ˆà€AßØ˜‘ÓÙ�tŸW™W›YÔ'Ø˜‘ÓØ�O‰O˜BŸG™G›I r§w¡w£yÔ1à�8‰8�H×Ñ¦Ø�M‰M×#Ñ#Ø×$˜* d×&=Ñ&=Ó&?ôð —(‘(˜: uÓ-ˆÜ“ˆð	Ü�KŠKØØØØØØØØ ™;ò	ô. �U“ˆÞÞØ—‘˜GÔ$ùà�x‰x˜×!Ñ!¦Rð ‘ä×&Ò& t¨U¯[°bÓ9�Ü$ T¨$¡ZÐ1AÓBˆHØ�x‰x˜×!Ñ!Ø‘ä(ñ Ø%ðÜ)1×);Ò);¸DÓ)Añ�ð ˆEß(�Ü! &Ò)¨$¸5À$ÖGñ )àˆIÞØ:>�	Ð6Ñ7Ø�x‰x˜	×"Ñ"Ø8A�	Ð4Ñ5Ø—‘×'Ñ'¨	°9Õ=Ø—K‘KØ 4¨q¸Àuð  ð �÷ .�FÜ& vÒ.¨t°A©wÖ7ñ .÷	 >Ñ=ð �8‰8�H×Ñ¦Ø×)˜z‰Fà—Y‘Y“[ˆFÜ—’Ó!ˆð-	Ü“EˆEðCÜ—’ØØØØØØØØØ ò
ð( �x‰x˜×!Ñ!Ø‘ä(Ð2BÑC�Ø—^‘^ØØ—‘“˜BŸG™G›IÐ&ØØØØØØØð $ð 
ˆFð ˆIØ�x‰x˜	×"Ñ"Ø8A�	Ð4Ñ5Ø—‘×'Ñ'¨	°9Õ=Ø—M‘M“O�÷ >ð �K‰KŒMØ‡x�x�×Ñžhð 	�‰”ÐIÓJÕKØ	�‰�(×	Ñ	¦Q¬#¨a«&°FÓ*:Ü�kŠkœ!ÐDÓEÓFÐFÜ
Ð+Ó
,€CÞä�Ó¤ q£Ñ)ˆØ��7ˆ?Ðøôc �‰ó 	Ø‰FˆB’ð	ûôJ ×$Ñ$ó 	Ü×"Ò"Ü× Ò  Ó#ÜØNóñð ûô ×*Ñ*ó 	ÞÜ×&Ò&¤x×'7Ò'7¸Ó':Ó;Ð;ÞØ�ÿùð		ú÷B >Ö=ûô4 ×(Ñ(ó Ü×&Ò&Ü×+Ò+¨AÓ.ÜØRóñð ûô ×.Ñ.ó CÜ×&Ò&¤z×'>Ò'>¸qÓ'AÓBÐBûðCú÷* >Ö=ûð �K‰K�Mús—   ÈY7 Ì"Z Ñ3\;Ó&
_. Ó1] ÔB_. Ö_Ö._. Ù7ZÚZÚ\8Ú*2[Û\8Û3:\3Ü3\8Ü;
]
Ý_Ý!2^Þ_Þ**_ß_ß_. ß
_+ß&_. ß.` c                óª  • [         R                  " U5      nUR                  5        Vs/ s H  oˆ(       d  M  UR                  5       PM     n	nUR	                  5       n
U(       a  U	R                  5         U	(       a  U	S   nOU R                  nUR                  US9  UR                  S5        UR                  SSUR                  5       5        UR                  SUR                  5       -  5        UR                  SSUR                  UR                  5       5      5        UR                  U
=(       a    U
S	:g  S
SU
5        UR                  SS[        U5      5        UR                  S[        U5      -  5        [        U	5      S:”  a   UR                  S[        U	S   5      -  5        UR!                  UR#                  [$        R&                  " [        U	5      SS9S9  [(         H+  n[*        U   " XQ5      nUc  M  UR                  SU-  5        M-     UR                  SSUR-                  5       R/                  5       5        UR                  S5        UR1                  5       (       a3  [2        R4                  " XXsUS9nU H  u  nnUR                  UUS9  M     g [2        R6                  " XXsUS9nUR!                  SR9                  U5      S9  g s  snf )Nr   ©rÝ  s   # HG changeset patch
rC   s
   # User %s
s   # Date %d %d
rA   s
   #      %s
r  r  s   # Branch %s
ó   nodes   # Node ID %s
s   # Parent  %s
r   r_   )r÷   s   # %s
s   descrÀ   r€   ©rh   r¯   r8   )r  )r)   Úbinnoder÷   rð  rá  Úreverser
  rº  r°  r¼   ru   rs   Ú
formatdateÚ	condwriter   r�   r¦  Ú
formatlistr%   ÚmaplistÚextraexportÚextraexportmaprô  ÚrstripÚisplainr"   Údiffuir  r  )r6  rÝ  r§  r   Úswitch_parentrQ  rC  rð  r  r÷   rá  ÚprevÚheaderidr�   Ú	chunkiterrš   rª   s                    ra   Ú_exportsinglerE  †  s/  € Ü�?Š?˜3Ó€DØ!$§¡¤Ó4¢˜A³!‹xˆq�v‰vŽx¡€GÐ4Ø�Z‰Z‹\€FÞØ�‰ÔæØ�q‰z‰à�{‰{ˆà‡J�J�3€JÑØ‡H�HÐ&Ô'Ø‡H�HˆW�n c§h¡h£jÔ1Ø‡H�HÐ §¡£Ñ+Ô,Ø‡H�HˆW�n b§m¡m°C·H±H³JÓ&?Ô@Ø‡L�LØ×'�6˜ZÑ'¨Ð4DÀfôð ‡H�HˆWÐ'¬¨T«Ô3Ø‡H�HÐ¤ T£Ñ*Ô+Ü
ˆ7ƒ|�aÓØ
�‰Ð"¤S¨°©£_Ñ4Ô5Ø‡G�G�B—M‘M¤(×"2Ò"2´3¸Ó"@Àw�MÐO€GÑP÷  ˆÜ Ò)¨%Ó5ˆØÓØ�H‰H�Y Ñ'Ö(ñ  ð
 ‡H�HˆW�g˜sŸ™Ó0×7Ñ7Ó9Ô:Ø‡H�HˆU„Oà	‡z�z‡|�|Ü—L’L ¨T¸xÑHˆ	Û%‰LˆE�5Ø�H‰H�U %ˆHÓ(ò &ô —J’J˜t¨4¸XÑFˆ	à
�‰�S—X‘X˜iÓ(ˆÒ)ùòQ 5s
   ©
K·Kc           
     óÚ   • [        US5       H[  u  pxX   n	UR                  S5      (       d  U R                  R                  SU-  5        UR	                  5         [        X	X&XGU5        M]     g)z,Export changesets to stdout or a single filer   ó   <rÀ   N)Ú	enumeraterÇ  r6   r~   r¯  rE  )
r6  rì  r§  rà  rA  rC  r   rQ  rû  rÝ  s
             ra   Ú_exportfilerI  ³  sV   € ä  aÖ(‰
ˆØ‰iˆØ�‰˜t×$Ñ$Ø�G‰G�L‰L˜ 4™Ô(Ø
�‰ŒÜ�d ¨MÀ(ÖKò )r8   c                ó  • [        U5      n[        S U 5       5      n[        R                  " 5       n	[	        US5       H6  u  p«X   n[        XÃXzUS9nU	R                  U/ 5      R                  X«45        M8     U	 Ho  n[        R                  " X-5       nU R                  R                  SU-  5        X�    H'  u  p«UR                  5         X   n[        XXæXJU5        M)     SSS5        Mq     g! , (       d  f       Mƒ  = f)z,Export changesets to possibly multiple filesc              3  óJ   #   • U  H  n[        [        U5      5      v •  M     g 7fr„   )r�   Ústr)r¯  rû  s     ra   r³  Ú$_exportfntemplate.<locals>.<genexpr>Â  s   é € Ð1ªD S”3”s˜3“x—=�=ªDùs   ‚!#r   )rP  rQ  rR  rÀ   N)r�   Úmaxr/   ÚsortdictrH  rZ  Ú
setdefaultrŸ   r   Úmaybereopenr6   r~   r¯  rE  )r6  rì  ÚbasefmÚ
fntemplaterA  rC  r   rP  rR  ÚfilemaprQ  rû  rÝ  rà  r§  s                  ra   Ú_exportfntemplaterU  ½  sà   € ô �‹I€EÜÑ1©DÓ1Ó1€HÜ�mŠm‹o€Gä  aÖ(‰
ˆØ‰iˆÜØ 5Àñ
ˆð 	×Ñ˜4 Ó$×+Ñ+¨U¨LÖ9ñ )ó ˆÜ×"Ò" 6Ô0°BØ�G‰G�L‰L˜ 4™Ô(Ø%œm‘
�Ø—‘”Ø‘i�ÜØ˜r¨-Àöñ ,÷ 1Ñ0ò ß0Ö0ús   ÂAC/Ã/
C>	c                ó2  • [        5       nU HC  nX   R                  5        H*  nU(       a  U" U5      (       d  M  UR                  U5        M,     ME     [        R                  " X5      nU Vs/ s H  oDU4PM     nn[        R
                  " X5        g s  snf r„   )r‘   r–   r“   r)   r&  Úprefetchfiles)r6  rì  r   Úallfilesrû  r‹  Ú
revmatchess          ra   Ú_prefetchchangedfilesrZ  ×  sx   € Ü‹u€HÛˆØ‘I—O‘OÖ%ˆDÞ™E $ŸK›KØ—‘˜TÖ"ó &ñ ô ×Ò˜tÓ.€EÙ*.Ó/ª$ 3˜“,©$€JÐ/Ü×Ò˜$Õ+ùò 0s   Á.Bc           	     óf   • [        XU5        U(       d  [        XUSXEU5        g[        XX#XEU5        g)aR  export changesets as hg patches

Args:
  repo: The repository from which we're exporting revisions.
  revs: A list of revisions to export as revision numbers.
  basefm: A formatter to which patches should be written.
  fntemplate: An optional string to use for generating patch file names.
  switch_parent: If True, show diffs against second parent when not nullid.
                 Default is false, which always shows diff against p1.
  opts: diff options to use for generating the patch.
  match: If specified, only export changes to files matching this matcher.

Returns:
  Nothing.

Side Effect:
  "HG Changeset Patch" data is emitted to one of the following
  destinations:
    fntemplate specified: Each rev is written to a unique file named using
                        the given template.
    Otherwise: All revs will be written to basefm.
ó	   <unnamed>N)rZ  rI  rU  )r6  rì  rR  rS  rA  rh   r   s          ra   Úexportr]  â  s7   € ô> ˜$ eÔ,æÜØ˜ ¨mÀ5õ	
ô 	Ø˜¨MÀõ	
r8   c           
     óÌ   • [        XU5        [        USS5      n[        R                  " U R                  US0 5       n[	        XXvX4U5        SSS5        g! , (       d  f       g= f)z*Export changesets to the given file streamr`   r\  s   exportN)rZ  r‰  r   r6   rI  )r6  rì  rP  rA  rh   r   rà  r§  s           ra   Ú
exportfiler_  	  sN   € ä˜$ eÔ,ä�2�v˜|Ó,€DÜ	×	Ò	˜TŸW™W b¨)°RÔ	8¸BÜ�D ¨-¸uÔE÷ 
9×	8Ö	8ús   ½AÁ
A#c                ó<  • Ub  U R                  SSU5        U R                  SS[        UR                  5       5      5        UR                  5       nU R	                  USSU R                  [        [        U5      SS95        U R                  S	S
UR                  5       5        UR                  5       nUb0  U R                  SSU R                  [        [        U5      SSS95        U R                  SSU R                  UR                  5       5      5        UR                  5       R                  5       nUR                  SS5        [        R                  " [        R                   U5      nU R                  SSU R#                  USSS95        U R%                  S5        g)z`utility function to display obsolescence marker in a readable way

To be used by debug function.Ns   indexs   %i s   prednodes   %s s	   succnodesr4  r_   s   flags   %X s   parentnodess   {%s} ó   , )r`   ÚseprA   s   (%s) s   metadatas   {%s}s   %r: %r)Úfmtrb  r€   )r¼   r   ÚprednodeÚ	succnodesr9  r:  ÚmaprÕ  Úparentnodesr8  rs   Úmetadatarü   r°   r%   ÚrapplyÚmaybebytestrÚ
formatdictr°  )r§  ÚmarkerÚindexÚsuccsr÷   ÚmetaÚsmetas          ra   Ú
showmarkerrq  	  sO  € ð ÑØ
�‰�˜6 5Ô)Ø‡H�Hˆ[˜&¤# f§o¡oÓ&7Ó"8Ô9Ø×ÑÓ€EØ‡L�LØØØØ
�‰”cœ#˜u“o¨GˆÐ4ô	ð ‡H�HˆW�f˜fŸl™l›nÔ-Ø× Ñ Ó"€GØÑØ
�‰ØØØ�M‰Mœ#œc 7Ó+°'¸uˆMÐEô	
ð
 ‡H�HˆW�h §¡¨f¯k©k«mÓ <Ô=Ø�?‰?Ó×!Ñ!Ó#€DØ‡H�HˆW�dÔÜ�OŠOœH×1Ñ1°4Ó8€EØ‡H�HØ�W˜bŸm™m¨E°yÀe˜mÐLôð ‡H�HˆU…Or8   c                ó2  • UR                  SU5      n UR                  5       nU R                  [        S5      U[        R                  " X   R                  5       5      4-  5        SU-  $ ! [         a     [        R                  " [        S5      5      ef = f)z;Find the tipmost changeset that matches the given date specs   date(%s)s    revision matching date not founds   found revision %d from %s
s   %d)
rì  rN  Ú
ValueErrorr   rg   r   r5   r1   Údatestrrs   )r6   r6  rs   Úmrevsrû  s        ra   Úfinddaterv  6	  s‘   € à�I‰I�k 4Ó(€EðGØ�i‰i‹kˆð ‡I�IÜ	Ð
(Ó)Ø”× Ò  ¡§¡Ó!1Ó2Ð
3ñ	4ôð �3‰;Ðøô ó GÜ×ÒœqÐ!DÓEÓFÐFðGús   ”A, Á,*Bc           
     óò  ^^• / mUU4S jn/ nUS    n	S n
[         R                  " U 5      u  p¼U(       d  U(       a!  [         R                  " XUR                  5      n
UR	                  TSS9m[
        R                  " TU5      nUR                  n[        UR                  U[        U	R                  5      SSSS95       HØ  nUR                  U5      nU=(       a    UR                  nTR                  U5      nU(       d;  U(       a  MJ  Xù;  d  MQ  UR                  R                  U5      (       d  Ms  U(       a  M|  U
(       a  U
" U5        UR                  U5        U R                   (       d	  U(       a  M¶  U R#                  [%        S5      U" U5      -  SS9  MÚ     [        U	R                  5       HÃ  nU	R'                  U5      n [
        R(                  " UT5      nUR                  R+                  UU5      n[         R,                  " UU5      nUR/                  S	5      (       a(  TR1                  UR2                  " U UUUS40 UD65        M�  TR1                  UR2                  " U UUUS40 UD65        MÅ     UR/                  S5      (       d,  U	R3                  Xƒ5      nTR1                  U4S jU 5       5        T$ ! [4        R6                   a(    U R#                  [%        S
5      U" U5      -  5         GMF  f = f)Nc                óV   >• TR                  U 5      =(       d    TR                  X5      $ r„   ©rŸ   Úbad©rk   Úyrz  r   s     €€ra   r­   Úadd.<locals>.<lambda>H	  ó   ø€ ˜Ÿ™ A›×9¨%¯)©)°A«/Ð9r8   T)ÚincludeexactF)Úsubreposr  r  Úfulló
   adding %s
s   ui.addremove.addedr¯   r€  ó#   skipping missing subrepository: %s
Údry_runc              3  óR   >#   • U  H  oTR                  5       ;   d  M  Uv •  M     g 7fr„   ©r–   ©r¯  rØ   r   s     €ra   r³  Úadd.<locals>.<genexpr>ˆ	  ó   øé € Ð=šh˜¨u¯{©{«}Ñ*<—1‘1šhùó   ƒ'ž	')r)   ÚcheckportabilityalertÚcasecollisionauditorr.  Únarrowmatchrø   rù   rÃ  r¢  r  r0  rÿ   r£  rÆ  r¾  rŸ   rÄ  r5   r   r  ÚsubdirmatcherÚreljoinÚsubdiruipathfnrf   r    r“   r   ÚLookupError)r6   r6  r   rè   rª  Úexplicitonlyrh   ÚbadfnÚnamesr<  ÚccaÚabortrÆ   rù   r.  rØ   rÏ  rÿ   r£  Úsubpathr  ÚsubmatchÚ	subprefixÚsubuipathfnÚrejectedrz  s     `                      @ra   r“   r“   E	  s€  ù€ Ø
€Cå9€EØ€EØ�‰:€DØ
€CÜ×/Ò/°Ó3�K€EÞ–Ü×*Ò*¨2°d·m±mÓDˆà×Ñ˜U°ÐÐ6€EÜ× Ò  ¨Ó.€HØ�}‰}€Hô Ø�‰ØÜ˜DŸM™MÓ*ØØØð 	ð 	
öˆð ×"Ñ" 1Ó%ˆð ×)˜EŸM™MˆØ—‘˜A“ˆæß�<Ø•Ø—	‘	×!Ñ! !×$Ó$ß�GæÙ�A”Ø�L‰L˜ŒOØ�z�z§ Ø—	‘	Ü�nÓ%©°«Ñ3Ð;Pð ó ñ5ô< ˜$Ÿ-™-Ö(ˆØ�h‰h�wÓˆð	Ü×-Ò-¨g°uÓ=ˆHØŸ	™	×)Ñ)¨&°'Ó:ˆIÜ!×0Ò0°¸(ÓCˆKØ�x‰x˜
×#Ñ#Ø—
‘
Ø—G’G˜B ¨)°[À%ÑPÈ4ÑPöð —
‘
Ø—G’G˜B ¨)°[À$ÑOÈ$ÑOöñ )ð& �8‰8�I×ÑØ—8‘8˜EÓ*ˆØ�
‰
Ô=™hÓ=Ô=Ø€Jøô × Ñ ó 	Ø�I‰IÜÐ9Ó:¹XÀgÓ=NÑN÷ð ð	ús   ÇBJ:É&J:Ê:7K6Ë5K6c                ó  • U R                   X!'   U R                  R                  SXR                   4-  5        U R                  S5       H:  nX   nUR                   H#  nUR                  U5      R                  X5        M%     M<     g )Ns   adding %s = %s
s   filelog("path:.hgsub"))r¸  r6   r  rì  r  r  Úaddwebdirpath)r6  Ú
serverpathÚwebconfr   rÝ  r—  s         ra   r�  r�  Œ	  sk   € ØŸ)™)€GÑØ‡G�G‡M�MÐ%¨·Y±YÐ(?Ñ?Ô@à�Y‰YÐ0Ö1ˆØ‰gˆØ—|”|ˆGØ�G‰G�GÓ×*Ñ*¨:Ö?ó $ò 2r8   c           	     ó	  ^^^• U(       a&  U(       a  [         R                  " [        S5      5      e/ mUU4S jnUS    n	/ n
UR                  [        R
                  " TU5      SS9n[        UR                  UR                  -   UR                  -   UR                  -   5      nU(       a*  U Vs/ s H  nTR                  U5      (       d  M  UPM     nn[        U	R                  5       HÁ  nU	R                  U5      n[        R                  " UT5      nUR                  R!                  X>5      n["        R$                  " Xä5      n UR'                  UUUUUS9u  nnTR)                  U Vs/ s H
  oÞS-   U-   PM     sn5        U
R)                  U Vs/ s H
  oÞS-   U-   PM     sn5        MÃ     U(       dÐ  TR-                  5        H¼  nXÑR.                  ;  d  M  UR                  R1                  U5      (       a  M6  XÚ;  d  M=  UR                  R3                  U5      (       aN  UR.                  R5                  U5      UR.                  ;   a  Mˆ  U R7                  [        S5      U" U5      -  5        TR9                  U5        M¾     U(       Ga  [        S	5      nUS S   Hð  nU R;                  [        S
5      U" U5      U4-  5      nUS:X  a{  US:X  au  U R=                  U5      S    H0  u  nnU R?                  SU[@        RB                  " U5      4-  5        M2     U R;                  [        S
5      U" U5      U4-  5      nUS:X  a  Mu  US:X  a  M±  US:X  a  URE                  U5        MÊ  US:X  a  URG                  U5      nUUS 2	   OUS:X  d  Mð    O   U HU  nU RH                  (       d  TR                  U5      (       a	  U(       d  M3  U R                  [        S5      U" U5      -  SS9  MW     U(       dG  U	R'                  XÃ5      mTR)                  U4S jT 5       5        U
R)                  U4S jU 5       5        TU
4$ s  snf s  snf s  snf ! [         R*                   a(    U R                  [        S5      U" U5      -  5         GMŸ  f = f)Ns/   cannot specify both --dry-run and --interactivec                óV   >• TR                  U 5      =(       d    TR                  X5      $ r„   ry  r{  s     €€ra   r­   Úforget.<locals>.<lambda>ž	  r~  r8   T©r   r  )rµ  r\  ro  rƒ  s+   not removing %s: file is already untracked
s�   [Ynsa?]$$ &Yes, forget this file$$ &No, skip this file$$ &Skip remaining files$$ Include &all remaining files$$ &? (display help)s   forget %s %sé   r   s   %s - %s
r   rL  é   ó   removing %s
ó   ui.addremove.removedr¯   c              3  óR   >#   • U  H  oTR                  5       ;   d  M  Uv •  M     g 7fr„   r†  r‡  s     €ra   r³  Úforget.<locals>.<genexpr>ö	  r‰  rŠ  c              3  ó6   >#   • U  H  oT;  d  M
  Uv •  M     g 7fr„   r¬   )r¯  rØ   r›  s     €ra   r³  r©  ÷	  s   øé € Ð=¢˜A°HÑ+<—a‘a¢ùs   ƒ	�	)%r   rg   r   r5   rø   rù   rÃ  rý   rþ   r   r  r£  r  r  rŽ  rÆ  r�  r)   r�  rÈ  r    r‘  r–   r.  r  rÒ  r»  rÆ   rŸ   ÚpromptchoiceÚextractchoicesr¼   r   ÚlowerÚremoverm  rÄ  )r6   r6  r   rè   rª  r’  rµ  r\  r“  r<  ÚforgotrB  rÈ  rØ   r—  r  r˜  r™  rš  ÚsubbadÚ	subforgotÚ	responsesr”   r   rQ  r6  Úfnindexrz  r›  s     `                        @@ra   rÈ  rÈ  –	  sò  ú€ ö –+Ü×ÒÜÐ@ÓAó
ð 	
ð €CÝ9€EØ�‰:€DØ€Fà�‰œ(×+Ò+¨E°5Ó9ÀˆÐF€AÜ�A—J‘J §¡Ñ(¨1¯9©9Ñ4°q·w±wÑ>Ó?€FÞÙ#Ó6šV˜ u§{¡{°1§~—!™VˆÐ6ä˜$Ÿ-™-Ö(ˆØ�h‰h�wÓˆÜ×)Ò)¨'°5Ó9ˆØ—I‘I×%Ñ% fÓ6ˆ	Ü×,Ò,¨WÓ?ˆð	Ø #§
¡
ØØØØØ'ð !+ð !ÑˆF�Ið �J‰J±FÓ;²F¨q $™¨Ô*±FÑ;Ô<Ø�M‰M±yÓA²y°! T™>¨AÔ-±yÑAÖBñ )ö( Ø—‘–ˆAØŸ™Õ%¨d¯i©i¯o©o¸a×.@Ó.@Ø•?Ø—y‘y×'Ñ'¨×*Ñ*ð
  Ÿ=™=×2Ñ2°1Ó5¸¿¹ÓFÙ$ØŸ™Üð!?óñ ' q›kñ	*ôð —J‘J˜q–Mñ# ÷& Üð$ó
ˆ	ð ™q›	ˆHØ—‘Ü�/Ó"¡h¨xÓ&8¸)Ð%DÑDóˆAð �A‹vØ˜1“fØ "× 1Ñ 1°)Ó <¸QÔ ?™˜˜1ØŸ™ °´H·N²NÀ1Ó4EÐ0FÑ!FÖGñ !@àŸ™Ü˜/Ó*©h°xÓ.@À)Ð-LÑLó�Að ˜1•fð �A‹vÙØ�a“Ø—‘˜hÖ'Ø�a“Ø Ÿ,™, xÓ0�Ø˜7™8Ð$ÙØ�a•Ùñ) "ó, ˆØ�:�:˜UŸ[™[¨Ÿ^™^¯{¨{Ø�I‰IÜÐ"Ó#¡h¨q£kÑ1Ð9Pð ó ñ ö Ø—;‘;˜vÓ.ˆØ�
‰
Ô=™hÓ=Ô=Ø�‰Ô=¡Ó=Ô=Ø�ˆ;Ðùòg 7ùò <ùÚAøÜ× Ñ ó 	Ø�I‰IÜÐ9Ó:¹XÀgÓ=NÑN÷ð ð	ús<   Â-P=ÃP=Å%QÅ*Q
Å;QÆQ
Æ"QÑ
QÑ7RÒRc           	     ó  • SnU R                   =(       d    SS1UR                  5       -  nUR                  5       (       a˜  U(       d‘  / n	UR                  U5       HR  n
U	R	                  XS" U
5      -  5        [        U	5      S:”  a%  U R                  SR                  U	5      5        U	S S 2	 SnMT     U	(       a   U R                  SR                  U	5      5        OœUR                  U5       H‡  n
UR                  5         UR                  US9  U(       a4  X   nUR                  SS	UR                  5       UR                  5       5        UR                  U
S
9  UR                  XS" U
5      -  5        SnM‰     [        UR                  5       H´  n[         R"                  " XÂ5      n[$        R&                  " XÃ5      nU(       d6  UR)                  U5      (       d   [+        UR-                  5       5      (       d  Ml  UR/                  U5      n UR)                  U5      =(       d    UnUR1                  XXäUU5      S:X  a  SnM´  M¶     U$ ! [2        R4                   a'    U R7                  [9        S5      U" U5      -  5         Mô  f = f)Nr   s   sizes   flagséd   r8   r   r3  s
   size flagss   % 10d % 1s ©r  rƒ  )rÄ  Údatahintr?  ÚmatchesrŸ   r�   r¼   r  r¯  rº  ÚsizerÕ  r¦  r°  rÃ  r  rø   rŽ  r)   r�  r£  r¿  r–   r  Ú
printfilesr   r‘  r5   r   )r6   rÝ  rV  rª  r§  rc  r€  ÚretÚ	needsfctxÚbufrØ   Úfcr—  r˜  rš  r  Úrecurses                    ra   r–   r–   û	  s   € Ø
€Cà—
‘
×A˜w¨Ð1°B·K±K³MÑA€IØ	‡z�z‡|�|žIð ˆØ—‘˜Q–ˆAØ�J‰J�s˜X a›[Ñ(Ô)Ü�3‹x˜#‹~Ø—‘˜Ÿ™ #›Ô'Øš�FØŠCñ  ö Ø�H‰H�S—X‘X˜c“]Ô#øà—‘˜Q–ˆAØ�L‰LŒNØ�J‰J˜3ˆJÑÞØ‘V�Ø—‘˜¨¸¿¹»	À2Ç8Á8Ã:ÔNØ�G‰G˜ˆG‰OØ�H‰H�S˜8 A›;Ñ&Ô'ØŠCñ  ô ˜#Ÿ,™,Ö'ˆÜ×)Ò)¨'Ó5ˆÜ×,Ò,¨WÓ?ˆÞ�q—w‘w˜w×'Ñ'¬3¨x¯~©~Ó/?×+@Ó+@Ø—'‘'˜'Ó"ˆCðØŸ'™' 'Ó*×6¨h�à—N‘N 2°À#ÀwÓOØóð ’Cññ (ð$ €Jøô ×$Ñ$ó Ø—	‘	ÜÐ=Ó>Ù˜wÓ'ñ(÷ðús   È4IÉ7I>É=I>c
                óà  ^ ^!• Sn
UR                  USS9nUR                  UR                  UR                  UR                  4u  pÍpïUS    m!U	c  / n	SnOSn[        T!R                  5      nU R                  [        S5      [        U5      [        S5      S9nU HÍ  n[        R                  " UU5      nUR                  R                  UU5      n[        R                  " UU5      nU(       d6  UR!                  U5      (       d   [#        UR%                  5       5      (       d  MŠ  UR'                  5         T!R)                  U5      n UR+                  UUUUUUUU	5      (       a  Sn
MÍ  MÏ     UR3                  5         [4        R6                  " U5      nUR%                  5       nU R                  [        S
5      [        U5      [        S5      S9nU Hñ  m U U!4S jnUR'                  5         T U;   =(       d    T!R9                  T 5      nT UR:                  ;   d  U(       d  T S:X  d  U" 5       (       d  T U;   a  Mh  UR                  R=                  T 5      (       ag  UR                  R?                  T 5      (       a$  U	R1                  [        S5      U" T 5      -  5        O#U	R1                  [        S5      U" T 5      -  5        Sn
Mó     UR3                  5         U(       a  XÎ-   U-   U-   nGOjU(       a›  UnXÍ-   U-   nU R                  [        S5      [        U5      [        S5      S9nU HO  m UR'                  5         U R@                  (       d  T U;   a#  U	R1                  [        S5      U" T 5      -  5        Sn
MQ     UR3                  5         OÈXï-   nU R                  [        S5      [        U5      [        U5      -   [        S5      S9nU H8  m UR'                  5         U	R1                  [        S5      U" T 5      -  5        Sn
M:     U H8  m UR'                  5         U	R1                  [        S5      U" T 5      -  5        Sn
M:     UR3                  5         [        U5      nU R                  [        S
5      [        U5      [        S5      S9nU H^  m U R@                  (       d  UR!                  T 5      (       a  M,  UR'                  5         U R                  [        S5      U" T 5      -  SS9  M`     UR3                  5         U(       d|  URC                  5          U(       dH  U HB  m T U;   a  M  URD                  RG                  SS5      nUR                  RI                  T SUS9  MD     US    RK                  U5        S S S 5        U(       a  U	 H  nU RM                  U5        M     U
$ ! [,        R.                   a(    U	R1                  [        S	5      U" U5      -  5         GMC  f = f! , (       d  f       Np= f)Nr   Tr£  Fs	   searchingrT   )rP  Úunitr   rƒ  s   deletings   filesc                 ób   >• TR                    H  n TR                  U S-   5      (       d  M    g   g)Nro  TF)r  rÇ  )r—  rØ   r<  s    €€ra   Ú	insubrepoÚremove.<locals>.insubrepo`
  s,   ø€ ØŸ=œ=�Ø—<‘< ¨$¡×/Ó/Ùñ )ð r8   rç   s"   not removing %s: no tracked files
s#   not removing %s: file is untracked
s   skippings#   not removing %s: file still exists
s<   not removing %s: file is modified (use -f to force removal)
sL   not removing %s: file has been marked for add (use 'hg forget' to undo add)
r¦  r§  r¯   rÏ   r·  )Úignoremissingr4  )'r5   rý   rþ   r   r  rÃ  r  Úmakeprogressr   r�   rø   rŽ  rÆ  r�  r)   r�  r£  r¿  r–   Ú	incrementr  Úremovefilesr   r‘  rŸ   Úcompleter#   Údirsr  r.  rÒ  r  rÄ  rç  r6   ry   rÇ  rÈ  rÆ   )"r6   r6  rV  rè   rª  r¨  rß   r€  rµ  Úwarningsr»  rB  rý   rþ   r   r  rÆ   r?  Úprogressr—  r˜  r™  rš  r  Údeleteddirsr–   rÃ  r  rÓ  Ú	remainingr4  ÚwarningrØ   r<  s"                                   @@ra   r®  r®  +
  sQ  ù€ ð €CØ�‰˜! 4ˆÐ(€AØ&'§j¡j°!·'±'¸1¿9¹9ÀaÇgÁgÐ&MÑ#€H�Wà�‰:€DàÑØˆØ‰àˆä�$—-‘-Ó €DØ�‰Ü	ˆ,‹œs 4›y¬q°«~ð ð €Hó ˆÜ×)Ò)¨'°1Ó5ˆØ—I‘I×%Ñ% f¨gÓ6ˆ	Ü×,Ò,¨W°hÓ?ˆÞ�q—w‘w˜w×'Ñ'¬3¨x¯~©~Ó/?×+@Ó+@Ø×ÑÔ Ø—(‘(˜7Ó#ˆCðØ—?‘?ØØØØØØØØ÷	ñ 	ð ’Cñ	ñ ð0 ×ÑÔô —-’- Ó(€KØ�G‰G‹I€EØ�‰Ü	ˆ+‹œc %›j¬q°«{ð ð €Hó ˆö	ð 	×ÑÔØ�[Ñ ×2 D§K¡K°£NˆØ�—‘Ó¦¨!¨t«)±y·{±{ÀaÈ4ÃiÙà�9‰9×Ñ˜A×ÑØ�y‰y�‰˜q×!Ñ!Ø—‘ÜÐ<Ó=ÁÈÃÑKõð —‘ÜÐ=Ó>ÁÈ!ÃÑLôð Šñ/ ð0 ×ÑÔæØÑ! EÑ)¨EÑ1ŠÞ	ØˆØÑ$ uÑ,ˆ	Ø—?‘?Üˆk‹N¤# i£.´q¸³{ð #ð 
ˆó ˆAØ×ÑÔ Ø�z�z˜a 5›jØ—‘ÜÐ=Ó>ÁÈ!ÃÑLôð ŠCñ ð 	×ÑÕà‰ˆØ—?‘?Üˆk‹N¤3 x£=´3°u³:Ñ#=ÄQÀxÃ[ð #ð 
ˆó ˆAØ×ÑÔ Ø�O‰OÜð,óñ ˜1“+ñ	ôð ŠCñ ó ˆAØ×ÑÔ Ø�O‰OÜð8óñ ˜1“+ñ	ôð ŠCñ ð 	×ÑÔä�$‹<€DØ�‰Ü	ˆ+‹œc $›i¬a°«kð ð €Hó ˆØ�:�:˜QŸW™W QŸZ›ZØ×ÑÔ Ø�I‰IÜÐ"Ó#¡h¨q£kÑ1Ð9Pð ó ñ ð ×ÑÔæØ�Z‰Z�\ÞÛ�AØ˜E“zÙ Ø ŸG™G×.Ñ.Ø'Ð);ó�Eð —I‘I×(Ñ(¨¸$ÀeÐ(ÓLñ ð �‰J×Ñ˜dÔ#÷ ö ÛˆGØ�G‰G�GÖñ  ð €Jøô] ×$Ñ$ó Ø—‘ÜÐ=Ó>Ù˜wÓ'ñ(÷ð ðú÷~ �\ús   ÅV ÔA$WÖ 7W×W×
W-c                ó`   • U R                  5       (       + =(       d    SU R                  5       ;   $ )Nó   data)r·  )r§  s    ra   Ú_catfmtneedsdatarÒ  Â
  s!   € Ø�{‰{‹}Ô×8 ¨2¯;©;«=Ñ 8Ð8r8   c                ó  • Sn[        U 5      (       a8  X   R                  5       nU(       a  UR                  5       R                  X55      nU R	                  5         U R                  US9  U R                  SSU5        U R                  US9  g)z™Hook for adding data to the formatter used by ``hg cat``.

Extensions (e.g., lfs) can wrap this to inject keywords/data, but must call
this method first.r8   r3  rÑ  s   %sr¶  N)rÒ  r¦  r6  Ú
wwritedatar¯  rº  r¼   )r§  rÝ  rî   r  Údecoder¦  s         ra   Ú_updatecatformatterrÖ  Æ
  sp   € ð €DÜ˜×ÑØ‰y�~‰~ÓˆÞØ—8‘8“:×(Ñ(¨Ó4ˆDØ‡L�L„NØ‡J�J�3€JÑØ‡H�HˆW�e˜TÔ"Ø‡G�G�€GÒr8   c                ó:  ^^^^^^• SnUUUUUU4S jn	[        TR                  5       5      S:X  a¨  TR                  5       (       d“  TR                  5       S   n
UR                  nTR	                  5       n U(       a\  X¼   R                  U
5      S   (       aA  [        T5      (       a(  [        R                  " UTR                  5       T4/5        U	" U
5        g[        T5      (       a(  [        R                  " UTR                  5       T4/5        TR                  T5       H  nU	" U5        SnM     [        R                  " USS9n[        TR                  5       Hk  nTR                  U5      n [         R"                  " UT5      n[$        R&                  R)                  TU5      nUR*                  " UTTU40 TD6(       d  SnMk  Mm     U$ ! [         a     GNf = f! [,        R.                   a'    U R1                  [3        S5      U" U5      -  5         M¼  f = f)Nr   c           
     ó�  >• S nT(       a]  [        TT[        R                  R                  TU 5      S9n [        R                  " [        R                  R                  U5      5        [        R                  " TU5       n[        UTTU TR                  S5      5        S S S 5        g ! [         a     NKf = f! , (       d  f       g = f)N)rS  rÕ  )rZ  r  r  r  rÀ  r  r5  r   rQ  rÖ  rf   )	r  r”   r§  rR  rÝ  rS  rî   rh   rè   s	      €€€€€€ra   r¼   Úcat.<locals>.writeÜ
  s™   ø€ ØˆÞÜ#Ø�Z¬"¯'©'¯,©,°v¸tÓ*DñˆHðÜ—’œBŸG™GŸO™O¨HÓ5Ô6ô ×"Ò" 6¨8Ô4¸Ü  C¨°$¸¿¹ÀÓ8JÔK÷ 5Ð4øô ó Ùðúç4Õ4ús   µ3B' Á?B7Â'
B4Â3B4Â7
Cr   Trž  rƒ  )r�   r–   Úanypatsr‰  ÚmanifestnoderM  rÒ  r)   rW  rû  rN  r¢  rý  rÃ  r  r  rø   rŽ  r  r  r  Úcatr   ÚRepoLookupErrorr5   r   )r6   r6  rÝ  rî   rR  rS  rè   rh   rF  r¼   r‹  ÚmflÚmfnoder¦  rª  r—  r  r˜  r™  s     ``````           ra   rÜ  rÜ  Ù
  sÕ  ý€ Ø
€C÷Lò Lô  ˆ7�=‰=‹?Ó˜qÓ ¨¯©×):Ñ):Ø�}‰}‹˜qÑ!ˆØ×ÑˆØ×!Ñ!Ó#ˆð	Þ˜#™+×*Ñ*¨4Ó0°×3Ü# F×+Ñ+Ü×)Ò)¨$°#·'±'³)¸WÐ1EÐ0FÔGÙ�d”Øô ˜×ÑÜ×Ò˜d c§g¡g£i°Ð%9Ð$:Ô;à�x‰x˜Ö ˆÙˆcŒ
ØŠñ !ô ×"Ò" 4¸TÑB€HÜ˜#Ÿ,™,Ö'ˆØ�g‰g�gÓˆð	Ü×-Ò-¨g°wÓ?ˆHÜŸ™Ÿ™ V¨WÓ5ˆIØ—7’7ØØØØñ	ð
 ÷ð ’ññ (ð$ €Jøô; ó 	Úð	ûô0 ×$Ñ$ó 	Ø�I‰IÜÐ9Ó:¹XÀgÓ=NÑN÷ð	ús&   Á6A"G Å2AGÇ
GÇGÇ7HÈHc                  ó6   • \ rS rSrSrS rS rS rS rS r	Sr
g	)
Ú_AddRemoveContexti  a	  a small (hacky) context to deal with lazy opening of context

This is to be used in the `commit` function right below. This deals with
lazily open a `changing_files` context inside a `transaction` that span the
full commit operation.

We need :
- a `changing_files` context to wrap the dirstate change within the
  "addremove" operation,
- a transaction to make sure these change are not written right after the
  addremove, but when the commit operation succeed.

However it get complicated because:
- opening a transaction "this early" shuffle hooks order, especially the
  `precommit` one happening after the `pretxtopen` one which I am not too
  enthusiastic about.
- the `mq` extensions + the `record` extension stacks many layers of call
  to implement `qrefresh --interactive` and this result with `mq` calling a
  `strip` in the middle of this function. Which prevent the existence of
  transaction wrapping all of its function code. (however, `qrefresh` never
  call the `addremove` bits.
- the largefile extensions (and maybe other extensions?) wraps `addremove`
  so slicing `addremove` in smaller bits is a complex endeavour.

So I eventually took a this shortcut that open the transaction if we
actually needs it, not disturbing much of the rest of the code.

It will result in some hooks order change for `hg commit --addremove`,
however it seems a corner case enough to ignore that for now (hopefully).

Notes that None of the above problems seems insurmountable, however I have
been fighting with this specific piece of code for a couple of day already
and I need a solution to keep moving forward on the bigger work around
`changing_files` context that is being introduced at the same time as this
hack.

Each problem seems to have a solution:
- the hook order issue could be solved by refactoring the many-layer stack
  that currently composes a commit and calling them earlier,
- the mq issue could be solved by refactoring `mq` so that the final strip
  is done after transaction closure. Be warned that the mq code is quite
  antic however.
- large-file could be reworked in parallel of the `addremove` to be
  friendlier to this.

However each of these tasks are too much a diversion right now. In addition
they will be much easier to undertake when the `changing_files` dust has
settled.c                ó:   • Xl         S U l        S U l        S U l        g r„   )Ú_repoÚ_transactionÚ_dirstate_contextÚ_state)rg  r6  s     ra   ri  Ú_AddRemoveContext.__init__H  s   € ØŒ
Ø ˆÔØ!%ˆÔØˆ�r8   c                ó2   • U R                   b   eSU l         U $ )NT)ræ  rc  s    ra   rn  Ú_AddRemoveContext.__enter__N  s   € Ø�{‰{Ñ"Ð"Ð"ØˆŒØˆr8   c                óh  • U R                   c   eU R                  c:  U R                  R                  S5      U l        U R                  R	                  5         U R
                  cO  U R                  R                  R                  U R                  5      U l        U R
                  R	                  5         gg)a+  open a `transaction` and `changing_files` context

Call this when you know that change to the dirstate will be needed and
we need to open the transaction early

This will also open the dirstate `changing_files` context, so you should
call `close_dirstate_context` when the distate changes are done.
Nó   commit)ræ  rä  rã  ré  rn  rå  r.  Úchanging_filesrc  s    ra   Úopen_transactionÚ"_AddRemoveContext.open_transactionS  s’   € ð �{‰{Ñ&Ð&Ð&Ø×ÑÑ$Ø $§
¡
× 6Ñ 6°yÓ AˆDÔØ×Ñ×'Ñ'Ô)Ø×!Ñ!Ñ)Ø%)§Z¡Z×%8Ñ%8×%GÑ%GØ—
‘
ó&ˆDÔ"ð ×"Ñ"×,Ñ,Õ.ð	 *r8   c                óh   • U R                   b%  U R                   R                  SSS5        SU l         gg)zˆclose the change_files if any

Call this after the (potential) `open_transaction` call to close the
(potential) changing_files context.
N)rå  rt  rc  s    ra   Úclose_dirstate_contextÚ(_AddRemoveContext.close_dirstate_contextf  s5   € ð ×!Ñ!Ñ-Ø×"Ñ"×+Ñ+¨D°$¸Ô=Ø%)ˆDÕ"ð .r8   c                óž   • U R                   b  U R                   R                  " U6   U R                  b  U R                  R                  " U6   g g r„   )rå  rt  rä  )rg  ri   s     ra   rt  Ú_AddRemoveContext.__exit__p  sG   € Ø×!Ñ!Ñ-Ø×"Ñ"×+Ò+¨TÑ2Ø×ÑÑ(Ø×Ñ×&Ò&¨Ò-ð )r8   )rå  rã  ræ  rä  N)r€  r�  r‚  rƒ  r„  ri  rn  rí  rð  rt  r…  r¬   r8   ra   rá  rá    s!   † ñ/òbòò
/ò&*õ.r8   rá  c                ó  • UR                  S5      nU(       a  [        R                  " U5      US'   UR                  5          UR	                  5          [        X5      n[        R                  " US   X45      n[        U5       nUR                  S5      (       au  [        R                  " X45      n	[        R                  " UU	S9n
[        R                  " UUSU
UUR                  S9n[        S5      nUS:w  a  [        R                  " U5      eUR!                  5         U" XXgU5      sSSS5        sSSS5        sSSS5        $ ! , (       d  f       O= f SSS5        O! , (       d  f       O= fSSS5        g! , (       d  f       g= f)	z5commit the specified files or all outstanding changesrA   Nó	   addremoverž  r8   )Úopen_tró5   failed to mark all new/missing files as added/removedr   )rf   r1   Ú	parsedaterç  rè  r  r)   r   rá  rÚ  rý  Ú	addremoverí  r   r   r  rð  )r6   r6  r8  r;  rh   rs   r7  rî   rQ  Úrelativerª  r   rV  s                ra   rÖ   rÖ   w  s)  € à�8‰8�GÓ€DÞÜ ×*Ò*¨4Ó0ˆˆW‰à	�‰��t—y‘y•{Ü˜RÓ&ˆÜ—-’-  T¡
¨DÓ7ˆä˜tÔ$¨ð �x‰x˜×%Ñ%Ü"Ÿ?š?¨4Ó6�Ü"×.Ò.ØØ(0ñ�ô ×%Ò%ØØØØØØ×.Ñ.ñ�ô ÐNÓO�Ø˜“6ÜŸ+š+ a›.Ð(Ø×$Ñ$Ô&Ù˜b¨¸$Ó?÷+ %Ð$÷	 #�{�‰÷ %Õ$úÐ$÷	 #—{–{ú��ŽúsC   ÁE:Á1E ÂB%EÄ)	E Ä2	E:Å
EÅE Å	E:Å 
E.	Å*E:Å:
Fc                ó4  • XR                  5       ;   at  UR                  U 5      nXR                  5       ;   aO  UR                  U 5      nUR                  U5      (       + =(       a!    UR                  5       UR                  5       :H  $ gXR                  5       ;  $ ©NF)ÚmanifestÚfilectxÚcmprÕ  )rØ   Úctx1Úctx2rÏ  Úbs        ra   rÓ  rÓ  ™  sl   € Ø�M‰M‹OÓØ�L‰L˜‹OˆØ—‘“ÓØ—‘˜Q“ˆAØ—u‘u˜Q“x”<×: A§G¡G£I°·±³Ñ$:Ð:ààŸ™›Ñ'Ð'r8   c                ó~  ^^'^(^)^*• SSK Jm'  [        R                  " U[        R                  5      (       a  U R                  5         U R                  [        S5      T-  5        TR                  5       nUR                  5          UR                  5          UR                  S5         US    m*UR                  5       nUR                  TR                  5       5        UR                  T*R                  5       5        [        X5      n[         R"                  " U5      nTR%                  5       nUR'                  S5      (       a%  [(        R*                  " UR'                  S5      5      nUR'                  S5      =(       d    TR-                  5       n	[/        TR1                  5       5      S:”  aS  UR3                  T5      n
[5        U
R6                  5      [5        U
R8                  5      -  [5        U
R:                  5      -  nO[5        TR=                  5       5      n[>        R@                  " T*XE5      n[>        RB                  " XE5      n[>        RD                  " XS9nUR'                  S5      (       ab  URF                  RI                  U5         [>        RJ                  " XS	Xå5      S
:w  a!  [        S5      n[L        RN                  " U5      e S S S 5        ST*;   d  ST;   aN  [P        RR                  " U T*T*RT                  U5      u  nnnU(       a   eU(       a  [P        RV                  " UU5        [X        RZ                  R]                  U5      n[^        R`                  " U5        T*R=                  5        Vs1 s H  nU" U5      (       d  M  UiM     snm)[/        T)5      S
:„  nURb                  Re                  SS5      S:g  nU(       d  U(       a¨  [f        Rh                  " UT*5      m(TRk                  5       (       a4  T(R                  [f        Rh                  " TRk                  5       T*5      5        UR                  T)5        U Vs/ s H  nUT);  d  [m        UT*U5      (       a  M  UPM!     nnU'U(U)UU*4S jnO%U R                  [        S5      TU4-  5        U4S jn[o        X5      n[q        TS5      nU(       d3  TRs                  5       nU(       + =(       d    UR'                  S5      S;   nOUR'                  S5      SL n[u        UUS9nUR                  5       nTRw                  5       US'   T'Ry                  UUR{                  5       TRk                  5       R{                  5       /UUUU	UUUS9	n[|        R~                  " URs                  5       5      nU(       d‚  UTRs                  5       :X  an  U	TR-                  5       :X  aZ  UTR%                  5       :X  d  U(       a?  UTR                  5       :X  a+  TR{                  5       sS S S 5        sS S S 5        sS S S 5        $ S nUR'                  S5      (       a  [€        R‚                  nO&UR'                  S5      (       a  [€        R„                  nUR‡                  U5      n UR‰                  5         URF                  R‹                  U5         UR�                  U URŽ                  5        URF                  n![5        T*R7                  5       T*R9                  5       -   5      T)-  n"U" H  nU!R‘                  USSSS9  M     [5        T*R;                  5       5      T)-  n#U# H  nU!R‘                  USSS9  M     S S S 5        TR{                  5       U 40n$S n%UR'                  S5      (       a  S[’        R”                  " US   5      0n%U R—                  S S!5      n&[>        R˜                  " UU$SU%SUU&S"9  S S S 5        S S S 5        S S S 5        W $ ! , (       d  f       GN= fs  snf s  snf ! , (       d  f       N¶= f! , (       d  f       NM= f! , (       d  f       NV= f! , (       d  f       W $ = f)#Nr   rÙ  s   amending changeset %s
s   amendrA   rC   rž  rõ  r8   r   r÷  s   .hgsubrÏ   s   copies.read-froms   filelog-onlyc                ó:  >•  UT;   a  UT
R                  5       ;   a  g T
U   nOT	R                  U5      nUR                  5       nTR                  U UUR	                  5       UR                  5       SU;   SU;   TR                  U5      S9nU$ ! [         a     g f = f)Nr>   ó   x)r  ÚisexecÚ
copysource)rÿ   rþ  rÕ  Ú
memfilectxr  r¦  rf   rN  )r6  Úctx_r  ÚfctxrÕ  Úmctxrº  ÚcopiedÚfilestoamendÚoldr<  s         €€€€€ra   rÞ  Úamend.<locals>.filectxfn  s¥   ø€ ð ð ˜|Ó+à 4§<¡<£>Ó1Ø#'Ø# D™z™à"Ÿ{™{¨4Ó0˜Ø ŸJ™J›L�EØ"×-Ñ-ØØØŸ	™	›ØŸ	™	›Ø# u™}Ø# u™}Ø#)§:¡:¨dÓ#3ð .ð �Dð  �KøÜó  Ùð ús   ƒB žA.B Â
BÂBs   copying changeset %s to %s
c                óH   >•  TR                  U5      $ ! [         a     g f = fr„   )rþ  rN  )r6  r	  r  r  s      €ra   rÞ  r  /  s)   ø€ ð ØŸ;™; tÓ,Ð,øÜó  Ùð ús   ƒ ”
! !s   commit.amends   edit©TNT)r#  r  s   amend_source)r÷   rD  r–   rÞ  ru   rs   rà  r  r  s   draftrñ   F)rò   ró   s   noterw   s   backup-bundle)rh  rã  ÚtargetphaseÚbackup)Mrï  rº  r!   Ú	isenabledÚcreatemarkersoptrz   r~   r   rñ  rç  rè  ré  rü   r•   rà  r|   r%   r[  rs   rf   r1   rø  ru   r�   r÷   r5   r‘   rý   rþ   rÿ   r–   r)   r   rÚ  rý  r.  rì  rù  r   r  r,   r  Ú_statusÚ
writestaterÁ  r   r"  r    Úcheckunresolvedr6   rÑ   r   Ú
pathcopiesrò  rÓ  r  r  rô  r&  r   ró  rð  r   Ú	stripdescr$   ÚsecretÚdraftrõ  Úresetr2  r  r
  r3  r   Ú	fromlocalry   rö  )+r6   r6  r  rà  r;  rh   Úbaser{   rs   ru   rv  r–   rî   rú  rª  rV  r?  r@  ÚnewsubstateÚmsrØ   rä   Úchangeset_copiesrÞ  r7  r  Údoeditr  Ú	pureextraÚnewÚnewdescÚcommitphaserÿ  r.  ÚnormalfilesÚremovedfilesr>  Úobsmetadatar  rº  r  r  r<  s+     `                                    @@@@ra   Úamendr+  ¥  sm  ü€ åô ×Ò˜$¤× 9Ñ 9×:Ñ:Ø
�‰Œà‡G�GŒAÐ(Ó)¨CÑ/Ô0Ø�6‰6‹8€Dà	�‰��t—y‘y•{ D×$4Ñ$4°XÕ$>ð �D‰zˆð —
‘
“ˆð 	�‰�S—Y‘Y“[Ô!ð 	�‰�T—Z‘Z“\Ô"ô /¨rÓ8ˆÜ×#Ò# DÓ)ˆà�x‰x‹zˆØ�8‰8�G×ÑÜ×%Ò% d§h¡h¨wÓ&7Ó8ˆDØ�x‰x˜Ó ×. C§H¡H£Jˆäˆs�{‰{‹}Ó Ó!ð —‘˜SÓ!ˆBÜ˜Ÿ™Ó$¤s¨2¯8©8£}Ñ4´s¸2¿:¹:³ÑF‰Eä˜Ÿ	™	›Ó$ˆEô —-’-  dÓ1ˆÜ—?’? 4Ó.ˆÜ×&Ò& tÑJˆØ�8‰8�L×!Ñ!Ø—‘×-Ñ-¨dÕ3Ü×$Ò$ T°C¸ÓHÈAÓMÜØPó�Aô  Ÿ+š+ a›.Ð(ð	 N÷ 4ð ˜Ó 	¨SÓ 0Ü,7×,AÒ,AØ�D˜$Ÿ,™,¨ó-Ñ)ˆD�*˜kö "Ð!�>ÞÜ×&Ò& t¨[Ô9ä×%Ñ%×*Ñ*¨4Ó0ˆÜ×!Ò! "Ô%à#'§:¡:¤<Ó>¢<˜a±7¸1·:Ÿ¡<Ñ>ˆä�lÓ# aÑ'ˆà�G‰G�N‰N˜?Ð,?Ó@Øñð 	ö Ö&ä×&Ò& t¨TÓ2ˆFØ�v‰v�x‰xØ—‘œf×/Ò/°·±³¸$Ó?Ô@ð �L‰L˜Ô&ñ óâ�AØ˜\Ó)´¸!¸TÀ4×1H÷ Ùð ð ÷ ò  ð: �G‰G”AÐ5Ó6¸#¸t¸ÑDÔEõ ô ˜RÓ&ˆä   oÓ6ˆæØ—o‘oÓ'ˆGð !”[×E D§H¡H¨WÓ$5¸Ñ$E‰Fð —X‘X˜gÓ&¨$Ð.ˆFÜ  f°xÑ@ˆà—J‘J“Lˆ	Ø!$§¡£ˆˆoÑà�n‰nØØ—Y‘Y“[ #§&¡&£(§-¡-£/Ð2ØØØØØØØð ð 

ˆô ×%Ò% c§o¡oÓ&7Ó8ˆæØ˜3Ÿ?™?Ó,Ó,Ø˜Ÿ™›
Ó"Ø˜Ÿ™›Ó#¦}Ø˜SŸY™Y›[Ó(ð —8‘8“:÷c %?Ð$>—{�{�‰ðf ˆØ�8‰8�I×ÑÜ Ÿ-™-‰KØ�X‰X�h×ÑÜ Ÿ,™,ˆKØ—‘˜sÓ#ˆØ
�‰Œ
à�]‰]×+Ñ+¨DÕ1à�O‰O˜E 4§;¡;Ô/ð —}‘}ˆHô ˜dŸm™m›o°·
±
³Ñ<Ó=ÀÑLˆKÛ �Ø×$Ñ$Ø $°4Èð %ó ñ !ô ˜tŸ|™|›~Ó.°Ñ=ˆLÛ!�Ø×$Ñ$ Q°5ÀUÐ$ÓKñ "÷1 2ð6 —8‘8“: ˜xÐ(ˆØˆØ�8‰8�G×ÑØ"¤H×$6Ò$6°t¸G±}Ó$EÐFˆKØ—‘˜zÐ+;Ó<ˆÜ×ÒØØØØ ØØ#Øò	
÷w %?—{�ðJ €L÷u 4Ö3üò, ?ùò.÷F 2Õ1ú÷w %?Õ$>ú—{•{ú�ŒðJ €Lús©   Â`-Â`Â&G#`Ê	>_	ËB)`Í1_0
Î_0
ÎB3`Ð?_5
Ñ_5
Ñ%F`×<	`Ø	`-ØB`Ú#B'_:	Ý
A:`ß`ß`-ß
_-ß(`ß:
`à`à
`à`à
`*	à&`-à-
`<c                ób   • UR                  5       (       a  UR                  5       $ [        XX#SS9$ )NT)r  Úunchangedmessagedetection)rô  r  )r6  rÝ  r?  r  s       ra   r%  r%  ™  s0   € Ø
‡�×ÑØ�‰Ó Ð ÜØ�4Àdñð r8   c           
     óê  • U(       d  [        S5      nUR                  S5       Vs/ s H  ow(       d  M  UPM     nnUR                  SS5        S n	U(       aZ  SR                  U5      n
U R                  R                  SU
5      (       a  [        XX$U
5      =p›O%UR                  5         U(       a  MZ  [        XX$5      n[        R                  " 5       n[        R                  " U R                  5        U R                  5       nU R                  R!                  U5        U=(       a#    UR#                  5       =(       a    U R                  nU R                  R%                  UUR'                  5       UR)                  5       UUU R*                  SS9nUn[,        R.                  " [0        U[,        R2                  S9nU(       a  US UR5                  5        n[,        R6                  " S	S
U5      n[        R                  " U5        U(       a  U" U5      nUR9                  5       (       d  [:        R<                  " [        S5      5      eU(       a$  Xù:X  a  [:        R<                  " [        S5      5      eU$ s  snf )Ns$   Leave message empty to abort commit.rç   r   s	   changesetó   committemplaterë  )r  Úpendingrí   rì   )rÕ  s   (?m)^HG:.*(
|$)r8   s   empty commit messages   commit message unchanged)r   rž   Úinsertr  r6   rÑ   Úbuildcommittemplater°   Úbuildcommittextr   r¹  r  Úchdirr¸  r  r.  r¼   Úwritependingr#  ru   rà  r  ÚreÚsearchÚ
_linebelowÚ	MULTILINEr/  r  r  r   rg   )r6  rÝ  r?  r  r  r  r-  rÌ   ÚformsÚtemplatetextÚrefÚ
committextÚolddirÚtrr0  Ú
editortextrD  Ú
stripbelows                     ra   r  r  ¡  sì  € ö ÜÐ<Ó=ˆà Ÿ™ tÔ,Ó2Ò,�1³�QÑ,€EÐ2Ø	‡L�L��LÔ!Ø€LÞ
Ø�i‰i˜ÓˆØ�7‰7�>‰>Ð+¨S×1Ñ1Ü(;Ø˜4¨3ó)ð ˆLð Ø�	‰	Œ÷ ˆ%ô % T°Ó?ˆ
ô �_Š_Ó€FÜ‡H‚HˆT�Y‰YÔð 
×	 Ñ	 Ó	"€BØ‡M�M×Ñ˜ÔØ×4�R—_‘_Ó&×4¨4¯9©9€Gà—‘—‘ØØ�‰‹
Ø�	‰	‹ØØØ—‘Øð ð €Jð €Dô —’œ: t´2·<±<Ñ@€JÞØÐ(�j×&Ñ&Ó(Ð)ˆä�6Š6Ð% s¨DÓ1€DÜ‡H‚HˆVÔæÙ˜$ÓˆØ�:‰:�<‰<Ü×ÒœqÐ!8Ó9Ó:Ð:Þ  ZÓ%?Ü×ÒœqÐ!<Ó=Ó>Ð>à€Kùòe 3s
   ¦
I0´I0c                ón  • U R                   n[        R                  " U5      n[        R                  " XPU5      nUR
                  R                  R                  S U R                   R                  S5       5       5        U(       d  SnUR                  5         UR                  XS9  UR                  5       $ )Nc              3  óV   #   • U  H  u  pU[         R                  " U5      4v •  M!     g 7fr„   )r.   Úunquotestring)r¯  ÚkÚvs      ra   r³  Ú&buildcommittemplate.<locals>.<genexpr>æ  s)   é € ð â:‰DˆAð 
ŒI×#Ò# AÓ&Õ'Ú:ùs   ‚')r/  r8   )r  )r6   r   Úreference_templatespecr   Úchangesettemplaterr6  Úcacher•   ÚconfigitemsÚ
pushbufferÚshowÚ	popbuffer)r6  rÝ  r?  r  r<  r6   rC  r6  s           ra   r2  r2  â  s�   € Ø	�‰€BÜ×+Ò+¨CÓ0€DÜ×%Ò% b°Ó5€AØ‡C�C‡I�I×Ññ à—G‘G×'Ñ'Ð(9Ô:óô ö
 Øˆà‡M�M„OØ‡F�Fˆ3€FÑ"Ø�<‰<‹>Ðr8   c                ó„   • SR                  U R                  S5       Vs/ s H  o(       d  M  SU-  PM     sn5      $ s  snf )Nr€   s   HG: %s)r  rž   )rÙ   rÏ  s     ra   ÚhgprefixrP  ó  s6   € Ø�:‰:¨c¯i©i¸Ô.>ÓDÒ.>¨Ã!“}�y 1”}Ñ.>ÑDÓEÐEùÒDs   Ÿ
=­	=c           
     ó@  • / nUR                  5       UR                  5       UR                  5       pvnUR                  5       (       a  UR	                  UR                  5       5        UR	                  S5        UR	                  S5        UR	                  [        [        S5      5      5        UR	                  [        U5      5        UR	                  S5        UR	                  [        [        S5      UR                  5       -  5      5        UR                  5       (       a#  UR	                  [        [        S5      5      5        UR                  5       (       a4  UR	                  [        [        S5      UR                  5       -  5      5        [        R                  " U 5      (       a0  UR	                  [        [        S5      U R                  -  5      5        UR                  U Vs/ s H  n[        [        S5      U-  5      PM     sn5        UR                  U V	s/ s H  n	[        [        S	5      U	-  5      PM     sn	5        UR                  U V	s/ s H  n	[        [        S
5      U	-  5      PM     sn	5        UR                  U V	s/ s H  n	[        [        S5      U	-  5      PM     sn	5        U(       d1  U(       d*  U(       d#  UR	                  [        [        S5      5      5        UR	                  S5        SR                  U5      $ s  snf s  sn	f s  sn	f s  sn	f )Nr8   s>   Enter commit message.  Lines beginning with 'HG:' are removed.s   HG: --s   user: %ss   branch merges   branch '%s's   bookmark '%s's
   subrepo %ss   added %ss
   changed %ss
   removed %ss   no files changedr€   )rý   rþ   rÿ   rô  rŸ   rP  r   ru   rò  rá  r   ÚisactivewdirparentÚ_activebookmarkr    r  )
r6  rÝ  r?  r  Úedittextrý   rþ   rÿ   rB  rØ   s
             ra   r3  r3  ÷  s+  € Ø€HØ"Ÿ|™|›~¨s¯y©y«{¸C¿K¹K»M�W€HØ
‡�×ÑØ�‰˜Ÿ™Ó)Ô*Ø‡O�O�CÔØ‡O�O�CÔØ‡O�OÜÜð=óó	
ôð ‡O�O”H˜XÓ&Ô'Ø‡O�O�IÔØ‡O�O”HœQ˜{›^¨c¯h©h«jÑ8Ó9Ô:Ø
‡v�v‡x�xØ�‰œ¤ ?Ó!3Ó4Ô5Ø
‡z�z‡|�|Ø�‰œ¤ >Ó!2°S·Z±Z³\Ñ!AÓBÔCÜ×#Ò# D×)Ñ)Ø�‰œ¤Ð#3Ó!4°t×7KÑ7KÑ!KÓLÔMØ‡O�O¹TÓBºT¸”Xœa Ó.°Ñ2Ö3¹TÑBÔCØ‡O�O¹5ÓAº5°a”Xœa ›n¨qÑ0Ö1¹5ÑAÔBØ‡O�O¹XÓFºX¸”Xœa Ó.°Ñ2Ö3¹XÑFÔGØ‡O�O¹WÓEºW¸”Xœa Ó.°Ñ2Ö3¹WÑEÔFÞž®'Ø�‰œ¤Ð#6Ó!7Ó8Ô9Ø‡O�O�CÔà�:‰:�hÓÐùò CùÚAùÚFùÚEs   Ç%!LÈ!LÉ!LÊ
!Lc                óê  ^^• X   nUR                  5       nUbC  U R                  R                  5       U:X  a%  U R                  R	                  [        S5      5        ObUR                  S5      (       dL  T(       aE  UT;  a?  [        UU4S jU 5       5      (       d$  U R                  R                  [        S5      5        UR                  S5      (       dk  U He  nUR                  5       (       d  M  UR                  5       T:X  d  M0  U R                  R                  [        S5      UR                  5       -  5        Mg     U R                  R                  (       aF  U R                  R                  [        S5      UR                  5       UR                  5       4-  5        g U R                  R                  (       a8  U R                  R                  [        S5      UR                  5       U4-  5        g g )Ns3   warning: commit already existed in the repository!
r+  c              3  ó|   >#   • U  H1  oR                  5       T;   =(       a    UR                  5       T:H  v •  M3     g 7fr„   )rð  rá  )r¯  r  Úbheadsrá  s     €€ra   r³  Úcommitstatus.<locals>.<genexpr>'  s0   øé € ð 
ÚAH¸A�F‰F‹H˜Ñ×7 1§8¡8£:°Ñ#7Ô7Âùs   ƒ9<s   created new head
Úclose_branchs    reopening closed branch head %d
s   committed changeset %d:%s
)r÷   r   Útipr6   rÆ   r   rf   r¿  r5   Úclosesbranchrá  rû  Ú	debugflagr¼   r   rÄ  )	r6  rð  rá  rW  rZ  rh   rÝ  r÷   r   s	     ``     ra   Úcommitstatusr]    sa  ù€ Ø
‰*€CØ�k‰k‹m€Gà
�˜4Ÿ>™>×-Ñ-Ó/°3Ó6ð 	�‰�‰”QÐNÓOÕPà�H‰H�W×ÑÞØ˜ÓÜõ 
ÙAHó
÷ 
ñ 
ð 	�‰�‰”qÐ.Ó/Ô0ð< �8‰8�N×#Ñ#ÛˆAØ�~‰~×Ó A§H¡H£J°&Õ$8Ø—‘—‘ÜÐ:Ó;¸a¿e¹e»gÑEöñ ð ‡w�w××Ø�‰�‰ÜÐ,Ó-°·±³¸C¿G¹G»IÐ0FÑFõ	
ð 
�‰��Ø�‰�‰”aÐ6Ó7¸3¿7¹7»9ÀcÐ:JÑJÕKð 
r8   c                óP   • U R                  [        R                  " U S    X5      S9$ )NrÝ   )r5   r)   r   )r6  r;  rh   s      ra   Úpostcommitstatusr_  X  s"   € Ø�;‰;œWŸ]š]¨4°©:°tÓBˆ;ÐCÐCr8   c                óH  ^ ^^=^>^?• [         R                  " U5      nUR                  R                  5       u  pVTR	                  5       nTR                  5       nXv:X  a  Un0 m>[        R                  " USS9m?UR                  5          UR                  R                  U5         UR                  SS5      n	US    n
[        R                  " X£U5      m=[        U=4S jU
R                   5       5      nT=R                  5       (       dÁ  [        R                   " T=S 5      nU
R#                  U5       H  nT=R%                  U5      T>U'   M     UU>U U?4S jnTR#                  [        R                   " T=U5      5       H  nUT>;  d  M  T=R%                  U5      T>U'   M!     [        R&                  " UT>5      m=UR)                  UT=SSSS9nOMUR)                  UT=S	9nU H   nU H  nT=R%                  U5      T>U'   M     M"     [        R&                  " UT>5      m=[+        UR,                  5      n[+        UR.                  5      n[+        UR0                  5      n[+        UR2                  5      n[+        UR4                  5      nUR7                  UR8                  5        [+        UR:                  5      n[+        5       nXW:X  a*  UnUnUnUU-  n[+        5       [+        5       [+        5       nnnO„UR)                  UT=S	9n[+        UR,                  5      n[+        UR.                  5      n[+        UR0                  5      nUU-  nUUU-
  -  nUU-  nUU-  nUU-  nUU-  nUU-  nUUU-  -  nUU-  nUnXaR<                  :w  a7  [+        U5      nU H  nUU;   d  M  UR?                  U5        M     UU-  nUU-  nU Hq  nUR                  RA                  U5      nU(       d  M'  UT>;  d  M/  UR                  RC                  U5      R0                  (       d  M[  URE                  U5        ST>U'   Ms     [+        U5      n U H  nUU;   d  M  U R?                  U5        M     UU -
  n![+        5       nU H@  nUR                  RC                  U5      R.                  (       a  M/  URE                  U5        MB     UU-  nU  H@  nUR                  RC                  U5      R.                  (       d  M/  URE                  U5        MB     U U-  n [+        5       n"U HK  nURG                  U5      n#[H        RJ                  RM                  U#5      (       d  M:  U"RE                  U5        MM     UU"-  n[+        5       n$U HK  nURG                  U5      n#[H        RJ                  RM                  U#5      (       d  M:  U$RE                  U5        MM     UU$-  n/ [O        S
5      4/ [O        S5      4/ [O        S5      4/ [O        S5      4/ [O        S5      4/ [O        S5      4S [O        S5      4S [O        S5      4S.n%Sn&Sn'Sn(Sn)UR                  S5      (       a  U)=n&=n'n(U	(       a  U&n*OU'n*[+        5       n+U%S   n,UR                  S5      (       d  U%S   n,UU%S   U)4U!U%S   U)4UU%S   U*4UU%S   U)4UU%S   U)4UU,U'4U U%S   U)4UU%S   U)4U"U%S   U(4UU%S   U)4U$U%S   U(4UU%S   U)4UU%S   U)44n-[        T>RQ                  5       5       GH¨  u  nn.URG                  U5      n#U- GH‰  u  n/u  n0n1n2UU/;  a  M  U0GbP  U0RS                  U5        U2(       aï  U2U&:X  a  U+RE                  U5        O×U'U2::  d  X­   RU                  TU   5      (       a¶  [        RV                  " T X5      n3[H        RJ                  RY                  U3URZ                  S9n4T R]                  [O        S 5      T?" U5      T?" U45      4-  5        UR                  S!5      (       d6  U	(       a  [^        R`                  " U#U35        O[^        Rb                  " U#U35        UR                  S!5      (       a2  T Rd                  (       d  U.(       d  T R)                  U1T?" U5      -  5        O!U.(       a  T Rg                  U1T?" U5      -  5          GM¦     GM«     UR                  S!5      (       d¤  S"n5U5 V6s/ s H  n6U%U6   S   PM     n7n6[        Rh                  n8[        R&                  " UU7 V9Vs/ s H  n9U9  H  nUPM     M     snn95      n:U8" UTRk                  5       U:4/5        [        R                  " US    U5      n;[m        UTT>T?U%U;U	U+5        U(       aP  U HJ  n< U
Ro                  U<5      Rp                  " TR                  U<   /UQ70 [         Rr                  " U5      D6  ML     S S S 5        S S S 5        g s  sn6f s  snn9f ! [t         a3    [v        Rx                  " S#U<[{        TR	                  5       5      4-  5      ef = f! , (       d  f       Nb= f! , (       d  f       g = f)$NTrž  s   interactiveFc              3  óF   >#   • U  H  nT" U5      (       d  M  Uv •  M     g 7fr„   r¬   )r¯  rB  rV  s     €ra   r³  Úrevert.<locals>.<genexpr>z  s   øé € Ð=¢} !¹¸!¿ŸA™A¢}ùs   ƒ!˜	!c                ó   • grü  r¬   )rk   r|  s     ra   r­   Úrevert.<locals>.<lambda>}  s   € ¸r8   c                óº   >• U T;   a  g U TR                   ;   a  g U S-   nT H  nUR                  U5      (       d  M    g    TR                  ST" U 5      U4-  5        g )Nro  s   %s: %s
)r  rÇ  rÆ   )r  rÙ   Úpath_rØ   rÝ  r”  r6   rª  s       €€€€ra   r“  Úrevert.<locals>.badfnƒ  s]   ø€ Ø˜5“=ØØ˜3Ÿ<™<Ó'ØØ˜t™�Û�AØ—|‘| E×*Ó*Ùñ ð —‘˜¡x°£~°sÐ&;Ñ;Õ<r8   )Únode1r   r  r  r  )rh  r   s   reverting %s
r‚  r¦  s   forgetting %s
s   undeleting %s
s   no changes needed to %s
s   file not managed: %s
)ó   revertó   addó   removeó   droprœ  ó   undeleteó   noopó   unknownr¥  rL  r   r   s	   no_backuprk  rl  ri  rœ  rj  rm  rn  ro  )r/  s#   saving current version of %s as %s
r�  )ri  rj  rm  s(   subrepository '%s' does not exist in %s!)>r%   r[  r.  r÷   rð  rý  r)   rý  rç  rì  rf   r   rÃ  r  Úalwaysrø   rù   r¢  r£  r&  r5   r‘   rý   rþ   rÿ   r   r  r•   r  r  r
  r®  r  r0  r“   r  r  r  r¾  r   r/  rŸ   rÿ  Ú
backuppathÚrelpathr¸  r~   r/   r  rÁ  rÄ  rÆ   rW  rû  Ú_performrevertr  Úrevertr-  rN  r   r  r   )@r6   r6  rÝ  r;  rh   rø  rò  rð  r•  r\  r<  Ú
targetsubsrî   r¦  r“  rä   Úkindrý   rþ   rÿ   Ú_deletedr  r  ÚmodaddedÚ
dsmodifiedÚdsaddedÚ	dsremovedÚlocalchangesÚmergeaddr  rØ   rÎ  Údeladdedr   Úremovunkr„  Ú
dsremovunkÚactionsÚbackupinteractiver  ÚcheckÚdiscardÚdsmodifiedbackuprK  ÚbackupanddelÚ	disptabler£  rÈ  ÚxlistrÙ   ÚdobackupÚ
absbaknameÚbaknameÚneeddatar`   ÚoplistÚprefetchÚsublistr&  r   r  rV  r”  rª  s@   ` `                                                          @@@ra   rt  rt  \  s�	  ü€ Ü×Ò Ó%€DØ—‘×&Ñ&Ó(�J€FØ�8‰8‹:€Dà	�‰‹€BØƒzØˆð €EÜ×"Ò" 4¸TÑB€Hà	�‰��t—}‘}×3Ñ3°DÕ9ð —h‘h˜~¨uÓ5ˆØ�D‰zˆÜ�MŠM˜$ dÓ+ˆô Ô= t§}¢}Ó=Ó=ˆ
à�x‰x�z‰zÜ×'Ò'¨Ñ+=Ó>ˆGØ—y‘y Ö)�ØŸW™W S›\��c“
ñ *÷
	=ð 	=ð —x‘x¤× 1Ò 1°!°UÓ ;Ö<�Ø˜eÕ#Ø!"§¡¨£�E˜#“Jñ =ô
 ×"Ò" 4¨Ó/ˆAà—k‘kØ !¨T¸4Àtð "ð ‰Gð —k‘k¨°A�kÐ6ˆGÛ�Û�CØ!"§¡¨£�E˜#“Jó  ñ  ô ×"Ò" 4¨Ó/ˆAä�w×'Ñ'Ó(ˆÜ�G—M‘MÓ"ˆÜ�g—o‘oÓ&ˆÜ�w—‘Ó'ˆÜ�g—o‘oÓ&ˆØ�‰�w—‘Ô'Ü�G—M‘MÓ"ˆÜ“5ˆð ‹>Ø!ˆJØˆGØˆIà%¨Ñ/ˆLÜ'*£u¬c«e´S³U˜W�eˆH˜Wà—k‘k¨°a�kÐ8ˆGÜ˜W×-Ñ-Ó.ˆJÜ˜'Ÿ-™-Ó(ˆGÜ˜GŸO™OÓ,ˆIà%¨Ñ/ˆLð �Y Ñ(Ñ(ˆEØ˜Ñ ˆIà�yÑ ˆGà˜zÑ)ˆHØ�XÑˆEð ˜(Ñ"ˆJØ˜( WÑ,Ñ,ˆJØ˜
Ñ"ˆHð
 ˆGð —‘ÓÜ˜:“ˆHÛ"�Ø˜2•:Ø—O‘O DÖ)ñ #ð �xÑˆGØ˜(Ñ"ˆJó ˆAØ—-‘-×&Ñ& qÓ)ˆC÷ �Ø˜uÕ$Ø—M‘M×+Ñ+¨CÓ0×8×8Ñ8à—‘˜cÔ"Ø!��c“
ñ ô �x“=ˆÛˆDØ�r�zØ—‘ Ö%ñ ð ˜XÑ%ˆô “ˆÛˆCØ—=‘=×*Ñ*¨3Ó/×5×5Ñ5Ø—	‘	˜#–ñ ð 	�5ÑˆãˆCØ�}‰}×&Ñ& sÓ+×1×1Ñ1Ø—‘˜CÖ ñ ð 	�GÑˆô “5ˆÛˆCØ—Z‘Z “_ˆFÜ�w‰w�‰˜v×&Ó&Ø—‘˜SÖ!ñ ð 	�8Ñˆä“Uˆ
ÛˆCØ—Z‘Z “_ˆFÜ�w‰w�‰˜v×&Ó&Ø—‘˜sÖ#ñ ð 	�ZÑˆ	ð
 œAÐ/Ó0Ð1Øœ˜>Ó*Ð+ØœAÐ.Ó/Ð0Øœ!Ð,Ó-Ð.ØœAÐ0Ó1Ð2ØœaÐ 2Ó3Ð4ØœAÐ:Ó;Ð<ØœqÐ!:Ó;Ð<ñ	
ˆð ÐØˆØˆØˆØ�8‰8�L×!Ñ!Ø18Ð8ÐÐ8 ¨ÞØ0Ñà%ÐÜ“5ˆà˜yÑ)ˆØ�x‰x˜×%Ñ%Ø" 7Ñ+ˆLð �w˜yÑ)¨7Ð3à�g˜iÑ(¨'Ð2à˜ Ñ+Ð-=Ð>à�G˜IÑ&¨Ð0à�g˜iÑ(¨'Ð2à�| VÐ,à�w˜wÑ'¨Ð1à�g˜f‘o wÐ/à�w˜v‘¨Ð.à˜ Ñ,¨gÐ6à˜ Ñ-¨uÐ5ð �G˜GÑ$ gÐ.à�g˜jÑ)¨7Ð3ðA!
ˆ	ôF ! §¡£×/‰JˆC�à—Z‘Z “_ˆFô 2;Ñ-�‘|˜˜s XØ˜eÓ#ÙØÒ$Ø—L‘L Ô%Þð $Ð'8Ó8Ø$ŸL™L¨Õ-Ø# xÓ/°4±9·=±=ÀÀSÁ×3JÑ3JÜ)0×);Ò);¸BÀÓ)J˜JÜ&(§g¡g§o¡oØ *°$·)±)ð '6ð '˜Gð ŸG™GÜ !Ð"IÓ JÙ#+¨C£=±(¸7Ó2CÐ"Dñ!Eôð $(§8¡8¨J×#7Ñ#7Þ#.Ü$(§M¢M°&¸*Õ$Eä$(§K¢K°¸
Ô$CØ—x‘x 
×+Ñ+ØŸ:Ÿ:®UØŸI™I c©H°S«MÑ&9Ô:øÞØ—G‘G˜C¡(¨3£-Ñ/Ô0Ûô; 2;ñ 0ðJ �x‰x˜
×#Ñ#Ø7ˆHÙ3;Ó<²8¨4�g˜d‘m AÔ&±8ˆFÐ<Ü×,Ñ,ˆHÜ ×+Ò+Ø©Ô@ª˜W¼°1“q¹‘q©Ò@óˆJñ ØØ—'‘'“)˜ZÐ(Ð)ôô —M’M $ t¡*¨dÓ3ˆEÜØØØØØØØØô	ö ã!�ðØ—H‘H˜S“M×(Ò(ØŸ™ SÑ)ðØ,0òÜ4<×4FÒ4FÀtÓ4Lôñ "÷w :�ˆùòH =ùó Aøô2  ó ÜŸ+š+ØCØ¤ c§h¡h£jÓ 1Ð2ñ3óð ðú÷A	 :Õ9ú��ús    ÂhÂ"ChÆH	hÎAhÏhÏ (hÐ.hÐ>AhÒAhÓAhÔ>AhÖLhâ1f7ã(hã+f<äAhåAgæ"hæ&hæ7hç=g?	ç?hè
h	èhè
h!c                ó  ^ ^^^^^&• T R                   R                  5       u  p‰TR                  5       n
/ nUU 4S jnU 4S jnUUU U4S jn[        R                  " T R
                  SS9nTS   S    Hš  nU(       al  T R                  R                  [        S5      T" U5      -  5      nUS:X  a&  U" SU5        T R                   R                  U5        Mc  UR                  U5        Mv  U" SU5        T R                   R                  U5        Mœ     TS	   S    H|  nU" U5        U(       aY  T R                  R                  [        S
5      T" U5      -  5      nUS:X  a  U" S	U5        U" U5        MX  UR                  U5        Mk  U" S	U5        U" U5        M~     TS   S    H/  nU" U5        U" SU5        T R                   R                  U5        M1     U	T R                  :H  m&U U&4S jn[        5       nU(       Gaæ  TS   S    Vs/ s H  nUU;  d  M  UPM     nn[        R                  " T U5      n[        R                   " T R                  SSSS9nSUl        SUl        SnX¨:X  a&  T R                  R'                  SS5      (       a  SnOSnUS:X  a'  [        R(                  " T STR                  5       UUS9nO&[        R(                  " T TR                  5       SUUS9n[        R*                  " U5      n [-        T R                  UUUS9u  nnUS:X  a  [        R.                  " U5      n[;        U5      u  nnUc
  [        5       n[=        5       n[?        U Vs1 s H/  n[A        U5      (       d  M  URB                  RE                  5       iM1     sn5       H  nU" SU5        M     [        5       n U HÜ  n[A        U5      (       a¸  URB                  RE                  5       n!URB                  RE                  5       U;   a[  T RG                  U!5      n"[        RH                  " T R                  T U!5      n#[J        RL                  " U"U#5        URO                  U!5        U!U ;  a  U RQ                  U!5        US:X  a  U" U!5        URS                  U5        MÞ     URU                  5       n$URW                  S5        U$(       a#   [        RX                  " T R                  T USSS9  AO1TS   S    H%  nU" SU5        U" U5        U(       d  M  U" U5        M'     TS   S    Hs  nUU;   a  M  U(       a5  T R                  R                  [        S5      T" U5      -  5      nUS:w  a  MG  U" SU5        U" U5        T R                   R_                  U5        Mu     TS   S    H~  nU(       a[  T R                  R                  [        S 5      U-  5      nUS:X  a  U" SU5        U" U5        U" U5        MR  UR                  U5        Me  U" SU5        U" U5        U" U5        M€     [`        Rb                  " T U   T5      n%TS   S   TS   S   -   TS   S   -    H*  nUU%;   d  M  T R                   Re                  U%U   U5        M,     gs  snf ! [0        R2                   a'  n[0        R4                  " [        S5      U-  5      eSnAf[0        R6                   a'  n[0        R8                  " [        S5      U-  5      eSnAff = fs  snf ! [0        R2                   a/  n[0        R4                  " [Z        R\                  " U5      5      eSnAf[0        R6                   a/  n[0        R8                  " [Z        R\                  " U5      5      eSnAff = f)!zïfunction that actually perform all the actions computed for revert

This is an independent function to let extension to plug in and react to
the imminent revert.

Make sure you have the working directory locked when calling this function.
c                ól   >• TU    nTR                  XR                  5       UR                  5       5        g r„   )Úwwriter¦  rÕ  )rØ   r¾  rÝ  r6  s     €€ra   ÚcheckoutÚ _performrevert.<locals>.checkout­  s&   ø€ Ø�‰VˆØ�‰�A—w‘w“y "§(¡(£*Õ-r8   c                óÈ   >•  TR                   R                  SS5      nTR                  R                  XS9  TR
                  R                  U 5        g ! [         a     N(f = f)NrÏ   r·  r¸  )r6   ry   rÆ  rÇ  r5  r.  Úset_untracked)rØ   r4  r6  s     €ra   ÚdoremoveÚ _performrevert.<locals>.doremove±  s\   ø€ ð	Ø—G‘G×&Ñ& Ð8JÓKˆEØ�I‰I× Ñ  Ð Ñ0ð 	�‰×#Ñ# AÕ&øô ó 	Ùð	ús   ƒ5A Á
A!Á A!c                óª   >• TU   nTR                   R                  (       d  U(       d+  TR                   R                  TU    S   T" U5      -  5        g g )Nr   )r6   rÄ  r5   )rì   rØ   r£  r�  r”  r6  rª  s      €€€€ra   ÚprntstatusmsgÚ%_performrevert.<locals>.prntstatusmsg¹  s@   ø€ Ø�a‘ˆØ�7‰7�?�?¦%Ø�G‰G�N‰N˜7 6™?¨1Ñ-±¸³Ñ;Õ<ð #(r8   T)Úcachedrœ  r   s(   forget added file %s (Yn)?$$ &Yes $$ &Nork  s(   remove added file %s (Yn)?$$ &Yes $$ &Norl  c                ó8   >• TR                   R                  U TS9$ )N)Ú
reset_copy)r.  Úset_tracked)r”   r6  rž  s    €€ra   ÚnormalÚ_performrevert.<locals>.normalå  s   ø€ Ø�}‰}×(Ñ(¨¸jÐ(ÐIÐIr8   ri  rà   s   revert.interactive.)rá   râ   rã   s   applyrÏ   s!   revert.interactive.select-to-keeps   keeps   discardNr5  )rÊ   rå   ræ   r   rï   rj  s#   add new file %s (Yn)?$$ &Yes $$ &Norm  s,   add back removed file %s (Yn)?$$ &Yes $$ &No)3r.  r÷   rð  r#   Úpathauditorr¸  r6   r«  r   r–  rŸ   r
  r‘   r)   r&  r"   r	  r
  r  ry   r  r  rÔ   Úreversehunksr   r  rg   r  r  r›   r  rÃ  rŠ   r�   r”   r  rq  r/   r  r®  r“   r¼   r  r  r+  r%   r,  rŸ  r   r  rü   )'r6  rÝ  r”  rª  r�  r   r\  rK  rø  rò  rð  Úexcluded_filesr“  r—  rš  Ú
audit_pathrØ   rÊ  r   r˜   ÚtorevertrV  rC  rÊ   r  rE  r—   rh   rF  ÚunusedalsorestorerP  rQ  r–   r¦  r„  r‹  rS  r  rž  s'   `````                                 @ra   rs  rs  ˜  s£  ý€ ð" —‘×&Ñ&Ó(�J€FØ�8‰8‹:€DØ€Nö.õ'÷=ð =ô
 ×%Ò% d§i¡i¸Ñ=€JØ�YÑ Ô"ˆÞØ—W‘W×)Ñ)ÜÐ=Ó>ÁÈ!ÃÑLóˆFð ˜‹{Ù˜i¨Ô+Ø—‘×+Ñ+¨AÖ.à×%Ñ% aÖ(á˜) QÔ'Ø�M‰M×'Ñ'¨Ö*ñ #ð �YÑ Ô"ˆÙ�1ŒÞØ—W‘W×)Ñ)ÜÐ=Ó>ÁÈ!ÃÑLóˆFð ˜‹{Ù˜i¨Ô+Ù˜–à×%Ñ% aÖ(á˜) QÔ'Ù�QŽKñ #ð �WÑ˜aÔ ˆÙ�1ŒÙ�g˜qÔ!Ø�‰×#Ñ# AÖ&ñ !ð �t—{‘{Ñ"€JöJô "%£Ðßà& yÑ1°!Ò4ÓPÒ4˜!¸ÀÑ8O—AÑ4ˆÐPÜ×Ò˜t XÓ.ˆÜ×(Ò(Ø�G‰GØØØ/ñ	
ˆð  ˆÔØˆŒØˆ	Ø‹>Ø�w‰w×!Ñ!ØÐ!E÷ñ ð $‘	à&�	à˜Ó Ü—:’:˜d D¨#¯(©(«*°a¸hÑG‰Dä—:’:˜d C§H¡H£J°°a¸hÑGˆDÜ ×+Ò+¨DÓ1Ðð
	IÜ'Ø—‘Ð)¨5¸Iñ‰LˆF�Dð ˜JÓ&Ü×+Ò+¨FÓ3�ô 9GÀvÓ8NÑ5Ð"Ð$5ØÑÜ“uˆHä‹Zˆä±fÓJ²f°ÄÀqÇ	Ó,˜Ÿ™×*Ñ*Ö,±fÑJÖKˆAÙ˜) QÖ'ñ Lä“ˆÛˆAÜ�a�y‰yØ—h‘h×'Ñ'Ó)�à—8‘8×$Ñ$Ó&¨(Ó2Ø!ŸZ™Z¨›_�FÜ%×0Ò0°·±¸$ÀÓD�GÜ—M’M &¨'Ô2Ø—O‘O CÔ(Ø˜eÓ#Ø—I‘I˜c”NØ  GÓ+Ù  œØ�G‰G�BŽKñ ð —'‘'“)ˆØ
�‰�Œ
Þð>Ü×#Ò# D§G¡G¨T°2°qÀ$ÒGñ
 à˜Ñ# AÔ&ˆAÙ˜) QÔ'Ù�QŒKßˆvÙ�q–	ñ	 'ð �V‰_˜QÔˆàÐ*Ó*ÙæØ—W‘W×)Ñ)ÜÐ8Ó9¹HÀQ»KÑGóˆFð ˜‹{ÙÙ�f˜aÔ Ù�ŒØ�‰×!Ñ! !Ö$ñ  ð �[Ñ! !Ô$ˆÞØ—W‘W×)Ñ)ÜÐAÓBÀQÑFóˆFð ˜‹{Ù˜k¨1Ô-Ù˜”Ù�q–	à×%Ñ% aÖ(á˜+ qÔ)Ù�QŒKÙ�1ŽIñ %ô  ×Ò˜t F™|¨SÓ1€Fð 	�‰˜Ñ˜W [Ñ1°!Ñ4Ñ4°w¸yÑ7IÈ!Ñ7LÔLð 	
ð ��;Ø�M‰M×Ñ˜v a™y¨!Ö,ò 	Mùòi Qøô@ ×$Ñ$ó 	HÜ×"Ò"¤1Ð%?Ó#@À3Ñ#FÓGÐGûÜ×*Ñ*ó 	IÜ×"Ò"¤1Ð%@Ó#AÀCÑ#GÓHÐHûð	Iüò Køô, ×(Ñ(ó >Ü×&Ò&¤x×'7Ò'7¸Ó'<Ó=Ð=ûÜ×.Ñ.ó >Ü×&Ò&¤x×'7Ò'7¸Ó'<Ó=Ð=ûð>ús`   È
Y>ÈY>Ë85Z Í[:Í3[:Ò="[? Ú[7Ú"Z9Ú9[7Û"[2Û2[7Û?^Ü*\=Ü=^Ý*]>Ý>^c                óš  • [         R                   H†  nUR                  (       d)  U(       a  UR                  (       d  UR                  (       a  M?  UR                  U 5      (       d  MW  [        R                  " UR                  5       UR                  5       S9e   [         R                   H�  nUR                  (       a@  U(       a  UR                  (       d(  UR                  S:X  a  U(       d  UR                  (       a  MV  UR                  U 5      (       d  Mn  [        R                  " UR                  5       UR                  5       S9e   g)z‹Look for an unfinished multistep operation, like graft, and abort
if found. It's probably good to check this right before
bailifchanged().
r  ó   mergeN)r¿  Ú_unfinishedstatesÚ
_clearableÚ_allowcommitÚ_reportonlyÚisunfinishedr   r  rÙ   r	  Ú_opname)r6  rÖ   Ú	skipmerger*   rB  s        ra   rö   rö   x  sÌ   € ô ×+Ô+ˆà××Þ˜5×-×-Ø× × áØ×Ñ˜d×#Ó#Ü×"Ò" 5§9¡9£;°U·Z±Z³\ÑBÐBñ ,ô ×'Ô'ˆà——Þ˜1Ÿ>Ÿ>Ø—	‘	˜XÓ%®)Ø�}�}áØ�>‰>˜$×ÓÜ×"Ò" 1§5¡5£7°·±³Ñ:Ð:ò (r8   c                óH  • [         R                   Hp  nUR                  (       a  M  UR                  (       a  M)  UR	                  U 5      (       d  MA  [
        R                  " UR                  5       UR                  5       S9e   [         R                   HŠ  nUR                  S:X  d  UR                  (       a  M&  UR                  (       d  M9  UR	                  U 5      (       d  MQ  [        R                  " U R                  R                  UR                  5      5        MŒ     g)zSCheck for unfinished operations (as above), and clear the ones
that are clearable.
r  r©  N)r¿  rª  r­  r«  r®  r   r  rÙ   r	  r¯  r/   r%  r0   r  Ú_fname)r6  r*   rB  s      ra   Úclearunfinishedr³  •  s¶   € ô ×+Ô+ˆØ××ÙØ××Ñ E×$6Ñ$6°t×$<Ó$<Ü×"Ò" 5§9¡9£;°U·Z±Z³\ÑBÐBñ	 ,ô ×'Ô'ˆØ�9‰9˜Ó  A§M§MÙØ�<�<‰<˜AŸN™N¨4×0Ó0Ü�KŠK˜Ÿ™Ÿ™ a§h¡hÓ/Ö0ò	 (r8   c                óf   • [         R                   H  nUR                  U 5      (       d  M  Us  $    g)zEChecks for unfinished operations and returns statecheck object
for itN)r¿  rª  r®  )r6  r*   s     ra   Úgetunfinishedstaterµ  ¦  s/   € ô ×+Ô+ˆØ×Ñ˜d×#Ó#ØŠLñ ,ð r8   c                ó  • [        S5      n[        R                   HB  nUR                  (       d  M  UR	                  U 5      (       d  M.  XR                  5       -  S4s  $    U S   R                  SSSS9(       a  U[        S5      -  S4$ g)aM  Check for an unfinished operation and return the command to finish
it.

statemod._unfinishedstates list is checked for an unfinished operation
and the corresponding message to finish it is generated if a method to
continue is supported by the operation.

Returns a (msg, warning) tuple. 'msg' is a string and 'warning' is
a boolean.
s   continue: %sTNF)Úmissingr   rá  s	   hg commit©NN)r   r¿  rª  Ú_continueflagr®  ÚcontinuemsgÚdirty)r6  Úcontmsgr*   s      ra   Úhowtocontinuer½  ¯  s„   € ô �Ó €GÜ×+Ô+ˆØ×"×"ÙØ×Ñ˜d×#Ó#Ø×.Ñ.Ó0Ñ0°$Ð6Ò6ñ	 ,ð
 ˆD�z×Ñ ¨E¸%ÐÖ@Øœ˜<›Ñ(¨%Ð/Ð/Ør8   c                ó®   • [        U 5      u  pUbE  U(       a  U R                  R                  SU-  5        gU R                  R                  SU-  5        gg)zäInform the user about the next action after completing hg resolve

If there's a an unfinished operation that supports continue flag,
howtocontinue will yield repo.ui.warn as the reporter.

Otherwise, it will yield repo.ui.note.
NrÀ   )r½  r6   rÆ   r~   )r6  rÙ   rÏ  s      ra   Úcheckafterresolvedr¿  Å  sE   € ô ! Ó&�L€CØ
�ÞØ�G‰G�L‰L˜ 3™Õ'à�G‰G�L‰L˜ 3™Õ'ð	 r8   c                ó|   • [        U 5      nSnUS   (       a  US   n[        R                  " [        S5      U-  US9e)zÌRaise an abort suggesting how to properly continue if there is an
active task.

Uses howtocontinue() to find the active task.

If there's no task (repo.ui.note for 'hg commit'), it does not offer
a hint.
Nr   r   s   no %s in progressr  )r½  r   r  r   )r6  Útaskr¨  r	  s       ra   ÚwrongtooltocontinuerÂ  Õ  sA   € ô ˜$Ó€EØ€DØˆQ‡xØ�Q‰xˆÜ
×
Ò
œ1Ð1Ó2°TÑ9ÀÑ
EÐEr8   c           	     óè  ^• UR                  5       (       d  [        R                  " [        S5      5      e[	        TU5      nUR                  S5      nUc  [        R                  " [        S5      5      e[        U5      S:”  a  TUS      R                  5       nOTS   nSnU(       Gaž  U Vs/ s H  nTU   R                  5       PM     nnSnU Vs/ s H  nTU   R                  5       (       a  M  UPM!     n	nU	(       aJ  TR                  R                  [        S	5      S
R                  U4S jU	 5       5      -  [        S5      S9  Sn[        TR                  R!                  U5      5      n
U
[        U5      -
  (       a&  TR                  R                  [        S5      5        SnU(       a˜  TR#                  5          TR%                  5          [&        R(                  " U5        TR                  SU5       Vs/ s H  oˆR+                  5       PM     nn[,        R.                  " TR                  TUSS9  SSS5        SSS5        U(       d  TS   n[&        R(                  " U5        U R1                  [        S5      5        U R1                  [        S5      UR3                  5       SS -  5        UR5                  5         gs  snf s  snf s  snf ! , (       d  f       N = f! , (       d  f       N©= f)zOabort the interrupted graft and rollbacks to the state before interrupted
grafts   no interrupted graft to aborts   newnodesNs$   cannot abort using an old graftstater   rç   FTs%   cannot clean up public changesets %s
ra  c              3  ó@   >#   • U  H  n[        TU   5      v •  M     g 7fr„   )re   )r¯  r   r6  s     €ra   r³  Úabortgraft.<locals>.<genexpr>  s   øé € Ð?²Y°œU 4¨¡7Ÿ^˜^²Yùs   ƒs    see 'hg help phases' for detailsr  s;   new changesets detected on destination branch, can't strip
rØ  )r  s   graft aborted
s   working directory is now at %s
é   )rÒ  r   r  r   Úreadgraftstaterf   r  r�   rñ  rû  Úmutabler6   rÆ   r  r‘   r   Údescendantsrç  rè  r(  Úclean_updaterð  r&   r  r5   r   Údelete)r6   r6  Ú
graftstateÚ	statedataÚnewnodesÚstartctxÚcleanupr   rQ  Ú	immutableÚdescÚstrippointss    `          ra   Ú
abortgraftrÔ  å  s^  ø€ ð ×Ñ×ÑÜ×ÒœqÐ!AÓBÓCÐCÜ˜t ZÓ0€IØ�}‰}˜[Ó)€HØÑô �kŠkœ!ÐCÓDÓEÐEô ˆ8ƒ}�qÓØ˜ ™Ñ$×'Ñ'Ó)‰à˜‘:ˆà€GçÙ+3Ó4ª8 a�D˜‘G—K‘K–M©8ˆÐ4Øˆá (ÓB¢˜1°°Q±·±×0A—Q¡ˆ	ÐBÞØ�G‰G�L‰LÜÐ;Ó<Ø—*‘*Ô?±YÓ?Ó?ñ@äÐ:Ó;ð ñ ð
 ˆGô �4—>‘>×-Ñ-¨hÓ7Ó8ˆØ”#�h“-×Ø�G‰G�L‰LÜð-óôð ˆGæØ—‘•˜tŸy™y�{Ü×%Ò% hÔ/ð '+§h¡h¨}¸hÔ&GóÚ&G —F‘F–HÑ&Gð ð ô —’˜TŸW™W d¨KÀÒF÷  +—ö à˜‘:ˆÜ×Ò˜hÔ'à‡I�IŒaÐ"Ó#Ô$Ø‡I�IŒaÐ3Ó4°x·|±|³~ÀcÀrÐ7JÑJÔKØ×ÑÔØùòQ 5ùò Cùò0÷  +�{ú—•úsH   Â.KÃKÃ3KÇ K#Ç+KÇ<KÈ#KÈ8K#ËKË
K 	ËK#Ë#
K1c                ó²   •  UR                  5       $ ! [        R                   a0    U R                  R                  S5      R	                  5       nSU0s $ f = f)zDread the graft state file and return a dict of the data stored in itó
   graftstates   nodes)r"  r   ÚCorruptedStater0   r–  )r6  rÌ  Únodess      ra   rÇ  rÇ  %  sO   € ð
!Ø�‰Ó Ð øÜ×Ñó !Ø—‘—‘˜mÓ,×7Ñ7Ó9ˆØ˜%Ð Ò ð!ús   ‚ ’AAÁAc                óž   • UR                  5          [        R                  " US5      n[        XU5      sSSS5        $ ! , (       d  f       g= f)z/abort logic for aborting graft using 'hg abort'rÖ  N)rç  r¿  ÚcmdstaterÔ  )r6   r6  rÌ  s      ra   ÚhgabortgraftrÛ  1  s1   € à	�‰�Ü×&Ò& t¨]Ó;ˆ
Ü˜" JÓ/÷ 
��ús	   ‘#>¾
Ac                ó”  • US:X  a  gU(       a  SSK Jn   UR                  XXE5      $ U R                  (       a   gUb|  US:”  av  [        UR                  5       5      n
X¢:X  a  U R                  [        S5      5        gU
S:”  a  U R                  [        S	5      5        gU R                  [        S
5      5         gU R                  SS5      (       d  U R                  [        S5      5        g! [        R                   aG  n[        S5      [        R                  " U5      -  nUR                  n	[        R                  " X‰S9eSnAff = f)a‡  Run after a changegroup has been added via pull/unbundle

This takes arguments below:

:modheads: change of heads by pull/unbundle
:optupdate: updating working directory is needed or not
:checkout: update destination revision (or None to default destination)
:brev: a name, which might be a bookmark to be activated after updating

return True if update raise any conflict, False otherwise.
r   Fr   rä  s   not updating: %sr  Ns3   (run 'hg heads' to see heads, 'hg merge' to merge)
s5   (run 'hg heads .' to see heads, 'hg merge' to merge)
s   (run 'hg heads' to see heads)
rà   s   update.requiredests(   (run 'hg update' to get a working copy)
)rï  rå  Úupdatetotallyr   ÚUpdateAbortr   r2   r%  r	  Úquietr�   Úbranchheadsr5   ry   )r6   r6  ÚmodheadsÚ	optupdater“  Úbrevrå  r  rÙ   r	  Úcurrentbranchheadss              ra   Úpostincomingrå  8  s2  € ð �1ƒ}ØÞåð	4Ø×#Ñ# B¨hÓ=Ð=ð
 
‡x‡xØð ð 
Ñ	 (¨Q£,Ü  ×!1Ñ!1Ó!3Ó4ÐØÓ)Ø�I‰IÜÐIÓJôð ð   !Ó#Ø�I‰IÜÐKÓLôð ð �I‰I”aÐ:Ó;Õ<ð ð �]‰]˜;Ð(=×>Ñ>Ø
�	‰	”!Ð@ÓAÔBØøô) × Ñ ó 	4ÜÐ'Ó(¬:×+BÒ+BÀ4Ó+HÑHˆCØ—9‘9ˆDÜ×#Ò# CÑ3Ð3ûð	4ús   –C, Ã,EÄ AEÅEc                ó(  • U(       d   eSSK Jn  UR                  5          U Hù  nUR                  X5      n[        R
                  " XU5      n[        U[        R                  5      (       a'  [        R                  " [        S5      [        S5      S9eSU-   n Sn	[        U[        R                  5      (       d  S[        R                  " U5      -  n	UR!                  U	5       n
[        R"                  " UUU
UUS	9nS
S
S
5        [        R(                  " W5      nMû     S
S
S
5        W$ ! , (       d  f       N2= f! [        R$                   a0  n[        R&                  " [        S5      X\4-  [        S5      S9eS
nAff = f! , (       d  f       W$ = f)z2utility for `hg unbundle` and `hg debug::unbundle`r   rä  s3   packed bundles cannot be applied with "hg unbundle"s$   use "hg debugapplystreamclonebundle"r  s   bundle:ó   unbundles   unbundle
%s)ÚsourceÚurlNs   %s: unknown bundle feature, %ssE   see https://mercurial-scm.org/wiki/BundleFeature for more information)rï  rå  rè  Úopenpathr   Ú
readbundlerˆ   r+   Ústreamcloneapplierr   rg   r   r   Ú
unbundle20r3   Úhidepasswordré  ÚapplybundleÚBundleUnknownFeatureErrorr  Úcombinechangegroupresults)r6   r6  ÚfnamesÚunbundle_sourcerå  rR  rØ   Úgenré  Útxnnamer?  ÚopÚexcrá  s                 ra   Úunbundle_filesrø  c  sm  € æ€Mˆ6åà	�‰�ÛˆEØ—‘˜BÓ&ˆAÜ×%Ò% b¨UÓ3ˆCÜ˜#œ{×=Ñ=×>Ñ>Ü×&Ò&Üð)óô ÐBÓCñð ð ˜uÑ$ˆCðØ%�Ü! #¤w×'9Ñ'9×:Ñ:Ø-´×0DÒ0DÀSÓ0IÑI�GØ×%Ñ% gÔ.°"Ü ×,Ò,ØØØØ.Øñ�B÷ /ô" ×8Ò8¸Ó<ŠHñC ÷ 
ðF €O÷% /Õ.ûô ×2Ñ2ó Ü—k’kÜÐ7Ó8¸E¸<ÑGÜð'óñð ûðú÷3 
ŒðF €OúsU    A9FÂAD;Ã%D*Ã>D;ÄFÄ*
D8Ä4D;Ä7FÄ8D;Ä;E?Å+E:Å:E?Å?FÆ
F)rh   úDict[AnyStr, Any]ri   r   rd   zOptional[AnyStr])rh   rù  rn   r   ro   zIterable[AnyStr]rd   rv  )r6   úuimod.uirh   úDict[str, Any]rd   r  )rh   rû  rd   rv  r„   )r‹  úistatus.Statusrd   rü  )F)T)r  re   rd   úOptional[bytes]r  )r6   rú  rh   úDict[bytes, Any]rd   rý  )FNNr8   r¸  )NNNN)rO  re   )Úwb)rO  re   r|  zLiteral['rb', 'wb']rd   r   )rh   rþ  )s   hg-%h.patchFNN)FNN)rh   rû  )r8   )NNr8   F)FN)FF)r6  r   rÌ  zstatemod.cmdstaterd   rþ  )rç  )·Ú
__future__r   rü   rû   rÂ  r]  r  r6  rz  r   r   r   r   r   r	   r
   r   r   Úi18nr   rð  r   r   r   Ú
thirdpartyr   rï  r   r   r   r   r   r…   r   r   r   r   r   r   rø   r   r(  r   rÁ  r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r¿  r+   r,   r-   r.   r/   r0   r‘  Úutilsr1   r2   r3   Úrevlogutilsr4   r�  Ú
interfacesr5   Úistatusr6   Úuimodr  Ú
dryrunoptsÚconfirmoptsÚ
remoteoptsÚwalkoptsÚ
commitoptsÚcommitopts2Úcommitopts3ÚformatteroptsÚtemplateoptsÚlogoptsrC  Ú
diffwsoptsÚ	diffopts2ÚmergetooloptsÚsimilarityoptsÚsubrepooptsÚdebugrevlogoptsr8  rl   rq   r|   r‚   rŠ   r�   r›   r§   r¾   rÍ   rÔ   rY  ra  rc  r”  r›  rB  rž  rÅ  rÐ  rÖ  r   r  rê  r  r  r&  r1  r7  r?  rE  rX  rZ  r  r]  r  r˜  rš  r  r!  r   r"  r1  r<  r=  rE  rI  rU  rZ  r]  r_  rq  rv  r“   r�  rÈ  r–   r®  rÒ  rÖ  rÜ  rá  rÖ   rÓ  r+  r%  r  r2  rP  r3  r]  r_  rt  rs  ÚhooksÚoutgoinghooksÚsummaryhooksÚsummaryremotehooksrö   r³  rµ  r½  r¿  rÂ  rÔ  rÇ  rÛ  rå  rø  r¬   r8   ra   Ú<module>r     s  ðõ #ã Û Û Û 	Û 	Û ÷
÷ 
õ 
õ ÷ñ õ
 ð 
××ã÷÷ ÷ ÷ ÷ ÷ ÷ ÷ ÷Bñ õö õõð �=‰=€ð
 
ˆ:�t™QÐKÓLÐMð€
ð
 	ˆ*�d™AÐ<Ó=Ð>ð€ð
 
ˆ6�3™Ð7Ó8¹!¸F»)ÐDàØØÙ	Ð
9Ó:Ù	ˆ&‹	ðð 	ØØÙ	Ð
KÓLð	ð€
ð& 	ØØ
Ù	Ð
6Ó7Ù	ˆ*‹ðð 	ØØ
Ù	Ð
6Ó7Ù	ˆ*‹ðð€ð$ 
ˆ:�s™AÐ;Ó<¹aÀ»jÐIØ	ˆ:�s™AÐ>Ó?ÁÀ7ÃÐLð€
ð 	ØØÙ	Ð
5Ó6Ù	ˆ'‹
ðð 	ØØÙ	Ð
3Ó4Ù	ˆ'‹
ðð€ð$ 
ˆ>˜4¡Ð#LÓ!MÐNØ	ˆ>˜4¡Ð#JÓ!KÐLð€ð 
ˆ;˜™QÐ7Ó8¹!¸K».ÐIð€ð 	ØØÙ	Ð
9Ó:Ù	ˆ(‹ðð 
ˆ;˜™QÐ7Ó8¹!¸K».ÐIð	€ð 
ˆ8�T™1˜]Ó+Ð,Ø	ˆ6�4™Ð:Ó;Ð<Ø	ˆ8�S™!Ð@ÓAÁ1ÀVÃ9ÐMØ	ˆ<˜™qÐ!6Ó7Ð8Øˆ'�4™ÐFÓGÐHØ	ˆ8�T™1Ð5Ó6Ð7ðð ñ€ð 
ˆ7�D™!Ð6Ó7Ð8àØØÙ	Ð
=Ó>ð	ð 	ˆ)�T™1ÐKÓLÐMØˆ*�d™AÐ=Ó>Ð?ð
€ð 	ØØÙ	Ð
4Ó5ð	ð 	ØØÙ	Ð
8Ó9ð	ð 	ØØÙ	Ð
5Ó6ð	ð 	ØØÙ	Ð
0Ó1ð	ð'€
ð: 
ˆk˜4¡Ð#LÓ!MÐNàØØÙØQóð		
ð 
ˆj˜$¡Ð"KÓ LÐMðð ñð ØØÙÐ3Ó4Ùˆf‹Ið	
ð 
ˆg�t™QÐJÓKÐLàØØÙÐ7Ó8Ùˆf‹Ið	
ðñð 
ðD 
ˆ7�C™Ð0Ó1±1°W³:Ð>ð€ð 	ØØÙ	Ð
:Ó;Ù	ˆ-Óðð€ð �k 4©Ð+JÓ)KÐLÐM€ð 
ˆ<˜¡Ð"3Ó 4Ð5Ø	ˆ;˜™qÐ!1Ó2Ð3Øˆ&�#‘qÐ3Ó4Ð5ð€ð K€
ðØ
ðàðð ôð02Ø
ð2àð2ð ð2ð 
ô	2ôô6
Dò&ò
(ò
3òòô Bô(ò&Zòz.÷4`3ñ `3ôF5'òp.ð ‡‚ˆtÑ÷LBð LBó ðLBò^ô$$ôN-ò"dOôNô,ô&ò,%ð& :=ôò@ò"ô&$ô" ô0DôNBò"÷
ñ ð* 26ðØðØ.ðàõô HòV
Bökð` €Ø€ð Ð ð Ð òXðz €ð €ò**òZLòò4,ð ØØ	Ø
ô(
ôVFôò@òDòN@òbòJ-ðb MQôTòn9òò&:÷z^.ñ ^.òB@òD	(ôqôhð ØØØ#ô>òBò"Fò  ôF;Lò|DòyðF
 ØôJ-ð` —
“
“€ð �z‹z‹|€ð —Z“Z“\Ð ô;ò:1ò"òò,(ò Fò =ð@	!Ø
ð	!à!ð	!ð ô	!ò0ò(õV)r8   