ó
    6°hºG ã                  ó®  • S r SSKJr  SSKrSSKJr  SSKJrJrJ	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JrJrJ r J!r!J"r"J#r#J$r%J&r&  Sr'Sr(1 S	kr)0 r*\RV                  " \*5      r+0 r,\RZ                  " \,5      r-\-" S
SSS9  Sr.S r/S r0SjS jr1\Rd                  " 5       r2\2" S5      S 5       r3\2" S5      S 5       r4S r5 " S S5      r6\+" SSS/ \" S5      \" S5      4SS/ \" S 5      \" S5      4S!S"/ \" S#5      \" S5      4S$S%S&\" S'5      \" S5      4S&S(S\" S)5      4S*S+S&\" S,5      \" S-5      4S.S/S\" S05      4S1S2S&\" S35      \" S45      4S5S6S\" S75      4S&S8S\" S95      4S:S;S\" S<5      4S=S>S\" S<5      4S?S@S&\" SA5      4S&SBS\" SC5      4SDSES\" SF5      4SGSHS\" SI5      4S&SJS&\" SK5      4/\Rn                  -   \Rp                  -   \Rr                  -   \" SL5      \+Rt                  SM9SN 5       r;SO r<SkSP jr=SQ r>SR r?SS r@ST rASU rBSV rCSW rDSX rESY rFSZ rGS[ rHS\ rIS] rJS^ rKS_ rLS` rMSa rNSb rO    SlSc jrPSd rQSe rRSf rSSg rTSh rUSi rVg)mzÐcommand to move sets of revisions to a different ancestor

This extension lets you rebase changesets in an existing Mercurial
repository.

For more information:
https://mercurial-scm.org/wiki/RebaseExtension
é    )ÚannotationsN)Ú_)ÚnullrevÚshortÚwdirrev)Ú	bookmarksÚcmdutilÚcommandsÚcopiesÚdestutilÚerrorÚ
extensionsÚ
logcmdutilÚmergeÚ
mergestateÚ	mergeutilÚobsoleteÚobsutilÚpatchÚphasesÚpycompatÚ	registrarÚrepairÚrevsetÚ
revsetlangÚrewriteutilÚscmutilÚsmartsetÚstateÚutiléÿÿÿÿs   -1>   ó   -2ó   -3ó   -4ó   -5ó   develó   rebase.force-in-memory-mergeF)Údefaults   ships-with-hg-corec                 ó   • g)Né   © r+   ó    Ú./usr/lib/python3/dist-packages/hgext/rebase.pyÚ_nothingtorebaser.   T   s   € Ør,   c                ó*   • U R                  5       US'   g )Nó   branch)Úbranch)ÚctxÚextras     r-   Ú_savebranchr4   X   s   € Ø—z‘z“|€Eˆ)Òr,   c                ó2   • [         R                  " U SUSUS9$ )zdsmall wrapper around destmerge to pass the right extra args

Please wrap destutil.destmerge instead.ó   rebaseF)ÚactionÚ	sourcesetÚonheadcheckÚ	destspace)r   Ú	destmerge)Úrepor8   r:   s      r-   Ú_destrebaser=   \   s&   € ô ×ÒØØØØØñð r,   s   _destrebasec                óª   • S nUb,  [         R                  " U [        R                  " U 5      U5      nU[        R                  " [        X5      /5      -  $ ©N)r   Úgetsetr   ÚfullreposetÚbasesetr=   )r<   ÚsubsetÚxr8   s       r-   Ú_revsetdestrebaserE   l   sI   € ð €IØ�}Ü—M’M $¬×(<Ò(<¸TÓ(BÀAÓFˆ	Ø”H×$Ò$¤k°$Ó&BÐ%CÓDÑDÐDr,   s   _destautoorphanrebasec                óŒ  • U R                  5       nUR                  S5      n[        R                  " XU5      R	                  5       nU(       a  XT;   a  [
        R                  " 5       $ [        R                  " X5      n[        U5      S:”  a#  [        R                  " [        S5      XV4-  5      e[
        R                  " U5      $ )Ns
   obsolete()r*   s8   ambiguous automatic rebase: %r could end up on any of %r)Ú
unfilteredÚrevsr   r@   Úfirstr   rB   r   ÚorphanpossibledestinationÚlenr   Ú
StateErrorr   )r<   rC   rD   ÚunfiÚ	obsoletedÚsrcÚdestss          r-   Ú_revsetdestautoorphanrebaserQ   z   s¤   € ð
 �?‰?Ó€DØ—	‘	˜-Ó(€Iä
�-Š-˜ aÓ
(×
.Ñ
.Ó
0€Cö �#Ó"Ü×ÒÓ!Ð!Ü×.Ò.¨tÓ9€EÜ
ˆ5ƒz�Aƒ~Ü×ÒÜÐIÓJØˆlñó
ð 	
ô
 ×Ò˜EÓ"Ð"r,   c                ó^   • [         R                  " U R                  5       R                  U SS9$ )zshort description for a contextr6   )Úcommand)r	   Úformat_changeset_summaryr<   Úui)r2   s    r-   Ú_ctxdescrV   ‘   s&   € ä×+Ò+Ø�‰‹
�‰�s Iñð r,   c                  ó’   • \ rS rSrSrSS jr\S 5       rSS jrS r	S r
S	 rS
 r SS jrS rS rS rSS jrS rS rSS jrSrg)Úrebaseruntimeé˜   z2This class is a container for rebase runtime stateNc                ó4  • Uc  0 nSU l         SU l        Xl        X l        XPl        S U l        [        U l        0 U l        S U l	        0 U l
        [        5       U l        UR                  SS5      U l        [        R                   " U["        R$                  " U5      5      U l        UR                  SS 5      U l        UR                  S5      n[*        R,                  /U l        U(       a  U/U l        UR1                  SS5      U l        UR                  SS5      U l        UR                  SS5      U l        [*        R8                  " UR                  S	5      U l        0 U l        [        5       U l        X0l         X@l!        [D        RF                  " US
5      U l$        g )NFÚcollapseÚdateÚextrafns   rewrites   backup-bundleÚkeepÚkeepbranchesr6   ó   rebasestate)%ÚpreparedÚresumeÚ_reporU   ÚoptsÚ
originalwdr   Úexternalr   ÚactivebookmarkÚdestmapÚsetÚskippedÚgetÚ	collapsefr	   Ú
logmessager   ÚbyteskwargsÚcollapsemsgr\   r   Úpreserve_extras_on_rebaseÚextrafnsÚ
configboolÚbackupfÚkeepfÚkeepbranchesfÚskip_empty_successorÚskipemptysuccessorfÚ&obsolete_with_successor_in_destinationÚ%obsolete_with_successor_in_rebase_setÚinmemoryÚdryrunÚstatemodÚcmdstateÚstateobj)Úselfr<   rU   rz   r{   rd   Úes          r-   Ú__init__Úrebaseruntime.__init__›   sN  € Ø‰<ØˆDð ˆŒØˆŒØŒ
àŒØŒ	ØˆŒÜˆŒð ˆŒ
Ø"ˆÔØˆŒÜ“uˆŒàŸ™ *¨eÓ4ˆŒÜ"×-Ò-¨b´(×2FÒ2FÀtÓ2LÓMˆÔØ—H‘H˜V TÓ*ˆŒ	à�H‰H�YÓˆÜ$×>Ñ>Ð?ˆŒÞØ˜CˆDŒMà—}‘} ZÐ1AÓBˆŒØ—X‘X˜f eÓ,ˆŒ
Ø!ŸX™X n°eÓ<ˆÔÜ#.×#CÒ#CØ�G‰G�Yó$
ˆÔ ð 79ˆÔ3Ü58³UˆÔ2Ø ŒØŒÜ ×)Ò)¨$°Ó?ˆ�r,   c                óp   • U R                   (       a  U R                  R                  5       $ U R                  $ r?   )ra   rc   rG   )r   s    r-   r<   Úrebaseruntime.repoÌ   s&   € à�=�=Ø—:‘:×(Ñ(Ó*Ð*à—:‘:Ðr,   c                óÚ   • U(       a  UR                  SSU R                  SS9  gU R                  R                  SS5       nU R                  U5        SSS5        g! , (       d  f       g= f)z*Store the current status to allow recoveryr`   )r`   s   plain)Úlocationó   wN)ÚaddfilegeneratorÚ_writestatusr<   Úvfs)r   ÚtrÚfs      r-   ÚstorestatusÚrebaseruntime.storestatusÓ   sZ   € æØ×ÑØØ!Ø×!Ñ!Ø!ð	  ò ð —‘—‘˜~¨tÔ4¸Ø×!Ñ! !Ô$÷ 5×4Ö4ús   ÁAÁ
A*c                ó–  • U R                   nUR                  b   eUR                  X R                     R	                  5       S-   5        UR                  S5        UR                  X R
                     R	                  5       S-   5        UR                  S[        U R                  5      -  5        UR                  S[        U R                  5      -  5        UR                  S[        U R                  5      -  5        UR                  SU R                  =(       d    S-  5        U R                  nU R                  R                  5        H`  u  pEX$   R	                  5       nUS:¼  a  X%   R	                  5       nOSU-  nX#U      R	                  5       nUR                  SXgU4-  5        Mb     UR                  R                  S5        g )	Nó   
s   %d
ó   %s
r,   r   ó   %ds	   %s:%s:%s
s   rebase status stored
)r<   Ú
filternameÚwritere   Úhexrf   Úintrl   rt   ru   rg   rh   r   ÚitemsrU   Údebug)	r   rŒ   r<   rh   ÚdÚvÚoldrevÚnewrevÚdestnodes	            r-   r‰   Úrebaseruntime._writestatusà   s]  € Ø�y‰yˆØ�‰Ñ&Ð&Ð&Ø	�‰�—_‘_Ñ%×)Ñ)Ó+¨eÑ3Ô4à	�‰�ŒØ	�‰�—]‘]Ñ#×'Ñ'Ó)¨EÑ1Ô2Ø	�‰�œ#˜dŸn™nÓ-Ñ-Ô.Ø	�‰�œ#˜dŸj™j›/Ñ)Ô*Ø	�‰�œ#˜d×0Ñ0Ó1Ñ1Ô2Ø	�‰�˜4×.Ñ.×5°#Ñ6Ô7Ø—,‘,ˆØ—J‘J×$Ñ$Ö&‰DˆAØ‘W—[‘[“]ˆFØ�A‹vØ™Ÿ™›‘à ™�Ø A™JÑ'×+Ñ+Ó-ˆHØ�G‰G�M V°XÐ$>Ñ>Ö?ñ 'ð 	�‰�‰Ð/Õ0r,   c                ó´  • U R                   R                  5       (       d*  [        R                  " U R                  [        S5      5        U R                  5       nU R                  R                  R                  S5        US   U l	        US   U l
        US   U l        US   U l        US   U l        US   U l        US	   U l        US
   U l        US   U l        g)z"Restore a previously stored statusr6   s   rebase status resumed
ó
   originalwdó   destmapó   stateó   skippedó   collapseó   keepó   keepbranchesó   externaló   activebookmarkN)r~   Úexistsr	   Úwrongtooltocontinuer<   r   Ú_readrU   r˜   re   rh   r   rj   rl   rt   ru   rf   rg   )r   Údatas     r-   ÚrestorestatusÚrebaseruntime.restorestatusö   s¼   € à�}‰}×#Ñ#×%Ñ%Ü×'Ò'¨¯	©	´1°Y³<Ô@à�z‰z‹|ˆØ�	‰	�‰×ÑÐ5Ô6à˜}Ñ-ˆŒØ˜JÑ'ˆŒØ˜(‘^ˆŒ
Ø˜JÑ'ˆŒØ˜kÑ*ˆŒØ˜'‘]ˆŒ
Ø! /Ñ2ˆÔØ˜[Ñ)ˆŒØ"Ð#4Ñ5ˆÕr,   c           	     ó¸  • SU l         U R                  nUR                  b   eS S S [        S S S.nS n0 n0 n UR	                  S5      n[        UR                  5       R                  5       5       GHm  u  pxUS:X  a  X   R                  5       US'   M#  US:X  a  U(       a  X   R                  5       nMD  MF  US:X  a  X   R                  5       US'   Mc  US	:X  a  [        [        U5      5      US
'   M‚  US:X  a  [        [        U5      5      US'   M¡  US:X  a  [        [        U5      5      US'   MÀ  US:X  a  [        U5      S:X  a  SU;   d  X‚S'   Má  UR                  S5      n	XS      R                  5       n
U	S   nU[        ;   a  GM  [        U	5      S:”  a  XS      R                  5       nOUnXÅU
'   U[        :X  a  [        XJ'   GMY  X   R                  5       XJ'   GMp     US   c  [         R"                  " [%        S5      5      eXRS'   XBS'   ['        5       nUS
   (       dn  ['        UR)                  5       5      n[+        UR-                  5       5       H8  u  nnU[        :w  a  UU;   a  UR/                  U5        UR/                  U5        M:     XÒS'   UR0                  R3                  SSR5                  S [+        U5       5       5      =(       d    S-  5        U$ )NT)r¦   r¤   r¨   r§   r¥   r    r`   r   r    r*   é   r§   é   r¤   é   r¥   é   r¦   é   éQ   ó   :r¨   s   .hg/rebasestate is incompleter¡   r¢   r£   s   computed skipped revs: %s
ó    c              3  ó,   #   • U  H
  nS U-  v •  M     g7f©r’   Nr+   ©Ú.0Úrs     r-   Ú	<genexpr>Ú&rebaseruntime._read.<locals>.<genexpr>P  s   é € Ð<ªO q˜ žªOùó   ‚r,   )ra   r<   r“   r   rŠ   Ú	enumerateÚreadÚ
splitlinesÚrevÚboolr–   rK   ÚsplitÚlegacystatesÚ
revtodostrÚrevtodor   ÚAbortr   ri   ÚvaluesÚsortedr—   ÚaddrU   r˜   Újoin)r   r<   r¬   Ú
legacydestr   rh   rŒ   ÚiÚlÚargsr›   rœ   Údestrevrj   ÚseenÚoldÚnews                    r-   r«   Úrebaseruntime._read  s‘  € ØˆŒØ�y‰yˆØ�‰Ñ&Ð&Ð&à!ØØ#Ü ØØñ
ˆð ˆ
ØˆØˆàØ—‘˜Ó(ˆAÜ! !§&¡&£(×"5Ñ"5Ó"7×8‘�Ø˜“6Ø*.©'¯+©+«-�D˜Ó'Ø˜!“Vö Ø%)¡W§[¡[£]š
ñ à˜!“VØ(,©¯©«�D˜Ó%Ø˜!“VÜ(,¬S°«V«�D˜Ó%Ø˜!“VÜ$(¬¨Q«£L�D˜“MØ˜!“VÜ,0´°Q³«L�D˜Ó)Ø˜!“V¤S¨£V¨r£\°d¸a³ið /0Ð*Ó+àŸ7™7 4›=�DØ! q¡'™]×.Ñ.Ó0�FØ! !™W�FØ¤Ó-Ú Ü˜4“y 1“}Ø"&¨A¡w¡-×"3Ñ"3Ó"5™à",˜Ø&-˜F‘OØ¤Ó+Ü(/˜œð )-©×(8Ñ(8Ó(:˜œñI 9ðL �Ñ Ñ(Ü—+’+œaÐ @ÓAÓBÐBà"ˆZÑØˆX‰Ü“%ˆà�K× Ü�w—~‘~Ó'Ó(ˆDÜ" 5§;¡;£=Ö1‘��SØœ'“> c¨T£kØ—K‘K Ô$Ø—‘˜–ñ 2ð #ˆZÑØ�‰�‰Ø*Ø�y‰yÑ<¬F°7¬OÓ<Ó<×CÀñEô	
ð
 ˆr,   c                óX  • U R                   (       a  gU R                  R                  SS5      (       d  gU R                   Vs1 s H(  oR                  U   R                  5       (       d  M&  UiM*     nn[        U R                  X R                  5      u  U l        U l	        [        U R                  5      nUR                  U R                  5        [        U R                  U R                  X#5        [
        R                  " U R                  [
        R                  5      (       a  [        5       U l	        gU R                  R                  SU R                  U R                  5       H;  nU R                  R!                  US5        U R                  R!                  US5        M=     gs  snf )z<Compute structures necessary for skipping obsolete revisionsNó   experimentals   rebaseskipobsoletes   descendants(%ld) and not %ld)rt   rU   rr   r   r<   r   Ú_compute_obsolete_setsrh   rx   ry   ri   ÚupdateÚ_checkobsrebaseÚ	isenabledÚallowdivergenceoptrH   Úpop)r   r¼   ÚobsoletesetÚ
skippedsetrÃ   s        r-   Ú_handleskippingobsoleteÚ%rebaseruntime._handleskippingobsoleteU  s.  € à�:�:ØØ�w‰w×!Ñ! /Ð3H×IÑIØØ"&§*¢*ÓH¢*˜Q·	±	¸!±×0EÑ0E×0G—q¡*ˆÐHô # 4§9¡9¨k¿<¹<ÓHñ	
ØÔ7ØÔ6ä˜×DÑDÓEˆ
Ø×Ñ˜$×DÑDÔEÜ˜Ÿ	™	 4§7¡7¨KÔDÜ×Ò˜dŸi™i¬×)DÑ)D×EÑEÜ9<»ˆDÕ6à—y‘y—~‘~Ø/Ø×:Ñ:Ø×:Ñ:ö�ð
 —
‘
—‘˜s DÔ)Ø—‘× Ñ   dÖ+òùò Is   Á%F'Á,F'c                ó,  • SU l          U R                  5         U R                  5         [        U R                  U5      U l        U(       a'  U=(       a    U R                  nU R                  UUUUS9$ g ! [        R                   aŒ    U(       aZ  [        U R                  5        [        U R                  5        U R                  R                  R                  [        S5      5         g[        S5      n[        S5      n[        R                  " XgS9ef = f)NTsF   rebase aborted (no revision is removed, only broken state is cleared)
r   s#   cannot continue inconsistent rebases-   use "hg rebase --abort" to clear broken state©Úhint)ÚbackupÚ	suppwarnsr{   Úconfirm)rb   r­   rá   Úrestorecollapsemsgr<   ro   r   ÚRepoLookupErrorÚclearstatusÚclearcollapsemsgrU   Úwarnr   rÉ   rs   Ú_abort)r   Úisabortræ   rç   r{   rè   Úmsgrå   s           r-   Ú_prepareabortorcontinueÚ%rebaseruntime._prepareabortorcontinuen  sô   € ð ˆŒð	2Ø×ÑÔ à×(Ñ(Ô*Ü1°$·)±)¸WÓEˆDÔö" Ø×, §¡ˆFØ—;‘;ØØ#ØØð	 ð ð ð øô! ×$Ñ$ó 	2ÞÜ˜DŸI™IÔ&Ü  §¡Ô+Ø—	‘	—‘×!Ñ!Üð<óôñ äÐ>Ó?�ÜÐIÓJ�Ü—k’k #Ñ1Ð1ð	2ús   ‰;A3 Á3A3DÃ(+Dc                óò  • U(       d
  [        5       $ [        U R                  XR                  5      nU(       d.  U R                  R                  [        S5      5        [        5       $ Uu  U l        U l        U l	        U R                  (       a°  [        U R                  R                  5       5      n[        U5      S:w  a  [        R                  " [        S5      5      e[        [!        U5      5      nU R                  R"                  R%                  U/SS9n['        U R                  U R                  U5      U l        [+        [        UR                  5       5      5       Hc  nU R                  U   nUR-                  5       (       d  M)  U R.                  (       a  M<  U R                  R                  [        S5      U-  5        Me     U R1                  5         U R2                  (       d¾  [        UR5                  5       5      nU[        U R6                  5      -  nXpR8                  -  n0 n[:        R<                  " U R                  [:        R>                  5      (       a  SS0n U R                  RA                  U5         [B        RD                  " U R                  US	S
9  S S S 5        SU l%        g ! , (       d  f       N= f! [        RF                   a$  n	U	RH                  c  [        S5      U	l$        U	eS n	A	ff = f)Nó   nothing to rebase
r*   s3   --collapse does not work with multiple destinationsT)Ú	inclusives    reopening closed branch head %s
)rØ   s   evolution.allowdivergences   truer6   )r7   s&   use --keep to keep original changesets)&r.   Ú
buildstater<   rl   rU   Ústatusr   re   rh   r   ri   rÊ   rK   r   Ú
InputErrorÚnextÚiterÚ	changelogÚ	ancestorsÚexternalparentrf   rË   Úclosesbranchru   rá   rt   Úkeysrx   ry   r   rÜ   ÚcreatemarkersoptÚconfigoverrider   ÚprecheckrÉ   rå   ra   )
r   rh   ÚresultrP   rÒ   ÚdestancestorsÚdestÚ	rebasesetÚ	overridesr€   s
             r-   Ú_preparenewrebaseÚrebaseruntime._preparenewrebase�  s1  € ÞÜ#Ó%Ð%ä˜DŸI™I w·±Ó?ˆæà�G‰G�N‰Nœ1Ð3Ó4Ô5Ü#Ó%Ð%à6<Ñ3ˆŒ˜$œ,¨¬
Ø�>�>Ü˜Ÿ™×+Ñ+Ó-Ó.ˆEÜ�5‹z˜Q‹Ü×&Ò&ÜÐLÓMóð ô œ4 ›;Ó'ˆGØ ŸI™I×/Ñ/×9Ñ9Ø�	 Tð :ð ˆMô +¨4¯9©9°d·j±jÀ-ÓPˆDŒMäœc '§.¡.Ó"2Ó3Ö4ˆGØ—9‘9˜WÑ%ˆDØ× Ñ ×"Ó"¨4×+=×+=Ñ+=Ø—‘—‘œqÐ!EÓFÈÑMÖNñ 5ð 	×$Ñ$Ô&à�z�zÜ˜GŸL™L›NÓ+ˆIØœ˜T×HÑHÓIÑIˆIØ×CÑCÑCˆIàˆIÜ×!Ò! $§)¡)¬X×-FÑ-F×GÑGàCÀWð�	ðØ—W‘W×+Ñ+¨IÕ6Ü×(Ò(¨¯©°IÀiÒP÷ 7ð ˆ�÷ 7Õ6ûä—;‘;ó Ø—6‘6‘>ÜÐHÓI�A”FØ�ûðús6   É!J> É<!J-ÊJ> Ê-
J;Ê7J> Ê;J> Ê>K6ËK1Ë1K6c                ó’  • U R                   (       aC  SSKJn  U" U R                  5      U l        U R                  R
                  R                  S5        O9U R                  S    U l        U R                  R
                  R                  S5        U R                  R
                  R                  SSU R                   U R                   S9  g )Nr   )Úoverlayworkingctxs   rebasing in memory
s   rebasing on disk
r6   s   using in-memory rebase: %r
)Úrebase_imm_used)rz   Úmercurial.contextr  r<   ÚwctxrU   r˜   Úlog)r   r  s     r-   Ú_assignworkingcopyÚ rebaseruntime._assignworkingcopyÄ  sˆ   € Ø�=�=Ý;á)¨$¯)©)Ó4ˆDŒIØ�I‰I�L‰L×ÑÐ6Õ7àŸ	™	 $™ˆDŒIØ�I‰I�L‰L×ÑÐ4Ô5Ø�	‰	�‰×ÑØØ+Ø�M‰MØ ŸM™Mð	 	ò 	
r,   c                óˆ  ^• U R                  5         U R                  U R                  p2U R                  (       a�  U R                  R                  S[        5        U R                  (       al  [        5       nU R                   HR  nUR                  X%   R                  5       5        [        U5      S:”  d  M5  [        R                  " [        S5      5      e   U R                   =(       d    UR"                  U l        U R                   (       a  [$        R&                  " U5        U R)                  5         U(       a  U R)                  U5        U R                  R+                  5        VVs/ s H  u  pgU[,        :X  d  M  UPM     nnnUR                  R/                  [        S5      [        S5      [        U5      S9mU4S jn	[1        U R2                  5       H:  n
U R                  R5                  SU
5      nU H  nU R7                  XU	5        M     M<     TR9                  5         UR;                  [        S	5      5        g s  snnf )
Nr   r*   s'   cannot collapse multiple named branchess   rebasings
   changesets)ÚunitÚtotalc                óJ   >• TR                  SU R                  5       U 4-  S9  g )Nó   %d:%s)Úitem)Ú	incrementrÃ   )r2   Úps    €r-   ÚprogressÚ.rebaseruntime._performrebase.<locals>.progress÷  s!   ø€ Ø�K‰K˜h¨#¯'©'«)°SÐ)9Ñ9ˆKÒ;r,   s   sort(%ld, -topo)s   rebase merging completed
)r  r<   rU   ru   rq   Úinsertr4   rl   ri   r   rÌ   r1   rK   r   rø   r   rg   Ú_activebookmarkr   Ú
deactivater�   r—   rÈ   ÚmakeprogressÚ
sortsourcerh   rH   Ú_rebasenodeÚcompleteÚnote)r   r‹   r<   rU   ÚbranchesrÃ   Úkrš   Úcandsr  rC   Ú
sortedrevsr  s               @r-   Ú_performrebaseÚrebaseruntime._performrebaseÔ  s¯  ø€ Ø×ÑÔ!Ø—9‘9˜dŸg™gˆbØ××ð �M‰M× Ñ  ¤KÔ0Ø�~�~Ü›5�ØŸ:œ:�CØ—L‘L ¡×!1Ñ!1Ó!3Ô4Ü˜8“} qÕ(Ü#×.Ò.ÜÐHÓIóð ñ &ð #×1Ñ1×I°T×5IÑ5IˆÔØ××Ü× Ò  Ô&ð 	×ÑÔÞð ×Ñ˜RÔ à#Ÿz™z×/Ñ/Ô1ÔBÒ1‘t�q°Q¼'±\—Ñ1ˆÑBØ�G‰G× Ñ Üˆk‹N¤ =Ó!1¼¸U»ð !ð 
ˆõ	<ô ! §¡Ö.ˆFØŸ™Ÿ™Ð(;¸VÓDˆJÛ!�Ø× Ñ  ¨(Ö3ó "ñ /ð 	
�
‰
ŒØ
�‰”Ð/Ó0Õ1ùó Cs   Å'H>Å;H>c                óâ  • U R                   nXA   nUc  UR                  5       nU R                  (       d}  UR                  n[        R
                  " UUU R                  R                  5        VVs0 s H3  u  pxU[        :w  d  M  UR                  U5      UR                  U5      /_M5     snn5      nU R                  n	U	c  UR                  5       n	0 n
UR                  R                  SS5      (       a  SUR                  5       0n
U R                   H  nU" XZ5        M     [        UR!                  5       ["        R$                  5      nUU R&                  (       + S.nUR                  R)                  US5         U R*                  (       a(  [-        UU R.                  U
UUUR1                  5       U	S9nO[3        UU
UUUR1                  5       U	S9nUsSSS5        $ s  snnf ! , (       d  f       g= f)z˜Commit the wd changes with parents p1 and p2.

Reuse commit info from rev but also store useful information in extra.
Return node of committed revision.Nr6   s   store-sources   rebase_source))s   phasess
   new-commit)ó   uió   allowemptycommit)r  r3   Ú	commitmsgÚeditorÚuserr\   )r3   r-  r.  r/  r\   )r<   Údescriptionrl   rû   r   Úupdate_hash_refsr   r—   rÈ   Únoder\   rU   rr   r•   rq   ÚmaxÚphaser   Údraftrw   r  rz   Úcommitmemorynoder  r/  Ú
commitnode)r   rÃ   r.  r-  r<   r2   Úclr›   rœ   r\   r3   ÚcÚ	destphaser  Únewnodes                  r-   Ú_concludenodeÚrebaseruntime._concludenode  s©  € ð
 �y‰yˆØ‰iˆØÑØŸ™Ó)ˆIð �~�~Ø—‘ˆBÜ#×4Ò4ØØð +/¯*©*×*:Ñ*:Ô*<ôâ*<™˜Ø¤Ñ(ó 7�B—G‘G˜F“O b§g¡g¨f£oÐ%6Ò6Ù*<òóˆIð �y‰yˆØ‰<Ø—8‘8“:ˆDØˆØ�7‰7×Ñ˜i¨×9Ñ9Ø% s§w¡w£yÐ1ˆEØ—”ˆAÙˆcŽMñ ä˜Ÿ	™	›¤V§\¡\Ó2ˆ	à(1Ø.2×.FÑ.FÔ*Fñ
ˆ	ð �W‰W×#Ñ# I¨yÕ9Ø�}�}Ü*ØØŸ™ØØ'Ø!ØŸ™›Øñ‘ô %ØØØ'Ø!ØŸ™›Øñ�ð ÷+ :Ñ9ùó)÷( :Õ9ús   Á0GÂ&GÅ9AG Ç 
G.c                ó"  • U R                   U R                  U R                  penXB   n[        U5      nU R                  U   U:X  a  UR                  [        S5      U-  5        GOñX R                  ;   aF  [        S5      U-  n	UR                  R                  U	5        U R                  R                  U5        GOœX R                  ;   a¸  U R                  U   n
U
c  [        S5      U-  n	O[        XJ   5      n[        S5      X‹4-  n	UR                  R                  U	5        U R                  R                  U5        [        [        XBU R                  U R                  U R                  5      5      nXÀR                  U'   GOÕU R                  U   [        :X  Ga�  UR                  [        S5      U-  5        U" U5        [        UUU R                  U R                  U R                  U R                  5      u  pÞnU R                   (       aO  U R"                  R%                  5       R'                  5       U:X  a#  UR                  R)                  S5        SU l        OSSUR+                  S	S
5      0nUR-                  US5          [/        UUUUUU R0                  U R"                  S9  S S S 5        U R0                  (       d‡  U[L        :g  n[:        RN                  " US5      n[:        RP                  " SSU0UD6nU R"                  RS                  XM   RU                  5       XN   RU                  5       5        U RW                  UU5      nOS nUbs  UU   R'                  5       U R                  U'   UR)                  S[Y        U5      -  5        UU   R[                  5       (       a  UR]                  [        S5      U-  5        OšU R0                  (       d8  UR]                  [        S5      U-  5        U R                  R                  U5        XÐR                  U'   UR)                  SU-  5        O.UR                  [        S5      X„U R                  U      4-  5        U(       d  U R_                  5         g g ! [2        R4                   aù    U R6                  (       a  [2        R8                  " S5      eU R0                  (       a  e UR                  [        S5      5         [:        R<                  " U5        O/! [2        R>                   a    [A        U5        [C        U5        e f = fSU l"        U RG                  5         [H        RJ                  " XM   U R"                  S9  [/        UUUUUU R0                  U R"                  S9   GN×f = f! , (       d  f       GNâ= f)Ns   already rebased %s
sI   note: not rebasing %s and its descendants as this would cause divergence
s+   note: not rebasing %s, it has no successor
s4   note: not rebasing %s, already in destination as %s
s   rebasing %s
s   resuming interrupted rebase
F)r+  s
   forcemergeÚtoolr,   r6   )r  sD   hit merge conflicts; rebasing that commit again in the working copy
)ÚwcÚeditforms   rebased as %s
sR   note: created empty successor for %s, its destination already has all its changes
sC   note: not rebasing %s, its destination already has all its changes
s   next revision set to %d
s   already rebased %s as %s
r+   )0r<   rU   rd   rV   r   r÷   r   ry   rj   rÌ   rx   r3  Ú
adjustdestrh   rÈ   Údefineparentsrb   r  Úp1rÃ   r˜   rk   r  Ú
rebasenoderl   r   ÚInMemoryMergeConflictsErrorr{   ÚConflictResolutionRequiredr	   ÚbailifchangedrÉ   rë   rì   rz   r  ÚmergemodrÚ   r   ÚmergeeditformÚgetcommiteditorÚ
setparentsr2  r<  r   Úisemptyrí   r�   )r   r‹   rÃ   Ú
progressfnr<   rU   rd   r2   Údescrð   ÚsuccÚsuccdescr  rD  Úp2Úbaser  ÚmergingrA  r.  r;  s                        r-   r!  Úrebaseruntime._rebasenode=  s¦  € ØŸ™ D§G¡G¨T¯Y©Y�$ˆØ‰iˆÜ˜‹}ˆØ�:‰:�c‰?˜cÓ!Ø�I‰I”aÐ/Ó0°4Ñ7Ö8Ø×>Ñ>Ó>äð5óð ñ	ð ð �G‰G�N‰N˜3ÔØ�L‰L×Ñ˜SÖ!Ø×?Ñ?Ó?Ø×>Ñ>¸sÑCˆDØ‰|ÜÐGÓHÈ4ÑO‘ä# D¡JÓ/�ÜØLóàÐ$ñ%�ð �G‰G�N‰N˜3Ôà�L‰L×Ñ˜SÔ!ô Ü˜4 d§l¡l°D·J±JÀÇÁÓMóˆDð #�J‰J�s‹OØ�Z‰Z˜‰_¤Ô'Ø�I‰I”aÐ(Ó)¨DÑ0Ô1Ù�sŒOÜ(ØØØ—‘Ø—
‘
Ø—‘Ø×;Ñ;ó‰LˆB�Dð �{�{˜tŸy™yŸ|™|›~×1Ñ1Ó3°rÓ9Ø—‘—‘Ð>Ô?Ø#�•à3°T·X±X¸fÀcÓ5JÐK�	Ø×&Ñ& y°)Õ<ð)Ü"Ø ØØØØ Ø ŸN™NØ!%§¡ò÷ =ðV —>—>Ø¤™-�Ü"×0Ò0°¸)ÓD�Ü ×0Ò0ÑK¸(ÐKÀdÑK�ð —	‘	×$Ñ$ T¡X§]¡]£_°d±h·m±m³oÔFØ×,Ñ,¨S°&Ó9‘ð �àÑ"Ø"& w¡-×"3Ñ"3Ó"5�—
‘
˜3‘Ø—‘Ð+¬e°G«nÑ<Ô=Ø˜‘=×(Ñ(×*Ñ*Ø—G‘GÜðIóð ñ	ôøð —~—~Ø—G‘GÜð5óð ñ	ôð —L‘L×$Ñ$ SÔ)Ø"$—
‘
˜3‘Ø—‘Ð5¸Ñ:Õ;à�I‰IÜÐ/Ó0°D¸t¿z¹zÈ#¹Ñ:OÐ3PÑPôö ð
 ×ÑÕð øôU !×<Ñ<ó ØŸ;Ÿ;Ü"'×"BÒ"BÀ9Ó"MÐMØŸ>Ÿ>ð "ØŸ	™	Üð!Fóôð"Ü#×1Ò1°$Õ7øÜ$Ÿ{™{ó "Ü'¨Ô-Ü,¨TÔ2Ø!ð"úð ).˜œØ×/Ñ/Ô1Ü Ÿš¨©°T·Y±YÒ?Ü"Ø ØØØØ Ø ŸN™NØ!%§¡õð/ú÷ =Ö<úsD   É?U?Ê#Q/Ñ/A'U<ÓS.Ó-U<Ó.,TÔAU<Õ8U?Õ;U<Õ<U?Õ?
Vc                ó¶  • U R                   U R                  U R                  p2nUR                  S[        R
                  " U5      5      nUR                  5         U R                  (       Ga}  [        U[        U R                  5      U R                  U R                  U R                  U R                  5      u  pVnUR                  S5      nSn	U R                  (       a  U R                  n
OISn
[!        U R                  5       H,  nX°R                  ;  d  M  U
SX   R#                  5       -  -  n
M.     Sn[$        R&                  " X‰S9n[)        U R                  5      nU R*                  R-                  X   R/                  5       XR0                     R/                  5       5        U R3                  XÜU
S9nUb3  X   R5                  5       nU R                   H  nXðR                  U'   M     S	UR7                  5       ;   a!  [9        XR                  U R                  40 UD6  U R                  R                  U R:                  U R:                  5      nUS
:  a  U R:                  nUUS    R=                  5        Vs/ s H  nUR5                  5       PM     sn;  a3  UR?                  [A        S5      5        [B        RD                  " UU   5        S nU R                  (       a  U RF                  (       d  Wn[I        UUU R                  U R                  U R                  UU RF                  UU RJ                  S9	  [M        U5        [O        U5        UR?                  [A        S5      5        [P        RR                  " URU                  S5      SS9  U R                  (       a2  [W        U R                  5      nUR?                  [A        S5      U-  5        URY                  5         U RZ                  (       ak  U RZ                  UR\                  ;   aP  US   R/                  5       UR\                  U RZ                     :X  a!  [^        R`                  " XRZ                  5        g g g g s  snf )Nr6   Úedits   rebase.collapses   Collapsed revisions   
* %sT)rW  rA  )r-  ó   qtipr   s0   update back to initial working directory parent
)Úfmræ   s   rebase completed
s   undo©Úignoremissings   %d revisions have been skipped
ó   .)1r<   rU   rd   Ú	formatterr   rn   Ú	startitemrl   rC  Úminr   rh   rj   rx   rk   ro   rË   r0  r	   rK  r3  r  rL  r2  rf   r<  rÃ   ÚtagsÚupdatemqre   Úparentsr#  r   rI  rÚ   rt   Úclearrebasedrs   rë   rì   r    Ú
unlinkpathÚsjoinrK   Úendrg   Ú
_bookmarksr   Úactivate)r   r<   rU   rd   rY  rD  rR  Ú_baseÚeditoptrA  r-  Úrebasedr.  Ú
revtoreuser;  rœ   r›   Únewwdr9  ÚcollapsedasÚ
skippedlens                        r-   Ú_finishrebaseÚrebaseruntime._finishrebaseË  sK  € ØŸ™ D§G¡G¨T¯Y©Y�$ˆØ�\‰\˜)¤X×%9Ò%9¸$Ó%?Ó@ˆØ
�‰ŒØ�>�>ˆ>Ü)ØÜ�D—J‘J“Ø—‘Ø—
‘
Ø—‘Ø×;Ñ;ó‰MˆB�Eð —h‘h˜vÓ&ˆGØ)ˆHØ××Ø ×,Ñ,‘	à1�	Ü% d§j¡jÖ1�GØ§l¡lÕ2Ø! Y°±×1JÑ1JÓ1LÑ%LÑLš	ñ  2ð �Ü×,Ò,°'ÑMˆFÜ˜TŸZ™Z›ˆJà�I‰I× Ñ  ¡§¡£°$·}±}Ñ2E×2JÑ2JÓ2LÔMØ×(Ñ(Ø¨ið )ð ˆGð Ñ"Ø™×*Ñ*Ó,�Ø"Ÿjœj�FØ)/—J‘J˜vÓ&ñ )ð �d—i‘i“kÓ!Ü�TŸ:™: t§|¡|Ñ<°tÒ<ð —
‘
—‘˜tŸ™°·±Ó@ˆØ�1‹9à—O‘OˆEØ¨$¨t©*×*<Ñ*<Ô*>Ó?Ò*> Q˜Ÿ™žÑ*>Ñ?Ó?Ø�G‰G”AÐJÓKÔLÜ�OŠO˜D ™KÔ(àˆØ�>�> $§*§*Ø!ˆKÜØØØ�L‰LØ�J‰JØ�L‰LØØ�J‰JØØ—<‘<ò
	
ô 	�DÔÜ˜Ôà
�‰”Ð'Ó(Ô)Ü�Š˜Ÿ
™
 7Ó+¸4Ò@Ø�<�<Ü˜TŸ\™\Ó*ˆJØ�G‰G”AÐ9Ó:¸ZÑGÔHØ
�‰Œð ××Ø×#Ñ# t§¡Ó6Ø�T‘
—‘Ó! T§_¡_°T×5HÑ5HÑ%IÓIä×Ò˜t×%8Ñ%8Õ9ð Jð 7ð  ùò= @s   É6Qc                óh  ^• U R                   m U R                  R                  5        VVs/ s H*  u  pVUS:¼  d  M  Xe:w  d  M  X`R                  U   :w  d  M(  UPM,     nnnU Vs/ s H  nTU   R	                  5       (       a  M  UPM!     n	nSn
U	(       aJ  TR
                  R                  [        S5      SR                  U4S jU	 5       5      -  [        S5      S9  Sn
[        5       nU(       a$  [        TR                  R                  U5      5      nU[        U5      -
  (       a&  TR
                  R                  [        S	5      5        Sn
U
(       aû  U(       a/  TR                  S
U5       Vs/ s H  oÌR                  5       PM     nn[        U5      nUR                  U R                  R                  5       5        U(       d  UR                  U R                   5        TS   R#                  5       U;   nU(       d*  U(       a#  [$        R&                  " TU R                      5        U(       a!  [(        R*                  " TR
                  TWUS9  U R,                  (       a;  U R,                  TR.                  ;   a!  [0        R2                  " TU R,                  5        [5        T5        [7        T5        U(       d$  TR
                  R                  [        S5      5        gs  snnf s  snf s  snf ! [5        T5        [7        T5        U(       d%  TR
                  R                  [        S5      5        f f = f)z-Restore the repository to its original state.r   Ts-   warning: can't clean up public changesets %s
ó   , c              3  ó@   >#   • U  H  n[        TU   5      v •  M     g 7fr?   ©Úbytes©r»   r¼   r<   s     €r-   r½   Ú'rebaseruntime._abort.<locals>.<genexpr>/  s   øé € Ð Cº°A¤ t¨A¡w§ ºùó   ƒs    see 'hg help phases' for detailsrä   FsD   warning: new changesets detected on destination branch, can't strip
ó
   roots(%ld)r\  ©ræ   s   rebase aborted
)r<   r   r—   rh   ÚmutablerU   rí   r   rÍ   ri   rû   Údescendantsr2  rÚ   rÊ   rÌ   re   rÃ   rI  Úclean_updater   Ústriprg   rg  r   rh  rë   rì   )r   ræ   rç   r{   rè   r¼   Úsrk  r™   Ú	immutableÚcleanupr}  r9  ÚstrippointsÚupdateifonnodesÚshouldupdater<   s                   @r-   rî   Úrebaseruntime._abort  s‹  ø€ ð �y‰yˆðA	5ð !ŸJ™J×,Ñ,Ô.ôâ.‘D�AØ˜‘6ó à™fó à)*¯l©l¸1©oÑ)=÷ Ù.ð ñ ñ
 %,ÓE¢G˜q°4¸±7·?±?×3DŸ¡GˆIÐEØˆGÞØ—‘—‘ÜÐGÓHØ—j‘jÔ C¹Ó CÓCñDäÐ>Ó?ð ñ ð
  �ä›%ˆKÞÜ! $§.¡.×"<Ñ"<¸WÓ"EÓF�ØœS ›\×)Ø—‘—‘Üð=óôð  �æÞà*.¯(©(°=À'Ô*Jó#Ú*J QŸ™žÑ*Jð  ð #ô #& g£,�Ø×&Ñ& t§|¡|×':Ñ':Ó'<Ô=æð
 $×'Ñ'¨¯©Ô8à# D™zŸ~™~Ó/°?ÑB�ö ¦,Ü×)Ò)¨$¨t¯©Ñ*?Ô@ö Ü—L’L §¡¨$°ÀFÒKà×"×" t×':Ñ':¸d¿o¹oÓ'MÜ×"Ò" 4¨×)<Ñ)<Ô=ô ˜ÔÜ˜TÔ"ÞØ—‘—‘œQÐ2Ó3Ô4Øùó{ùò
 Fùò0#øô8 ˜ÔÜ˜TÔ"ÞØ—‘—‘œQÐ2Ó3Õ4ð úsN   �K- ¬K¼KÁKÁKÁK- Á$K#ÂK#Â
C%K- Å/K(ÆDK- ËK- Ë-AL1)rc   rg   rs   rl   ro   r\   rh   r{   rf   rq   rz   ru   rt   rx   ry   rd   re   ra   rb   rw   rj   r   r~   rU   r  )FFNr?   )TFFF)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r�   Úpropertyr<   r�   r‰   r­   r«   rá   rñ   r  r  r(  r<  r!  rp  rî   Ú__static_attributes__r+   r,   r-   rX   rX   ˜   ss   † Ù<ô/@ðb ñó ðô%ò1ò,6ò$KòZ,ð4 LQô òD2òh
ò +2ôZ:òxLò\O:÷bFr,   rX   r6   ó   só   sources5   rebase the specified changesets and their descendantss   REVó   bs   bases=   rebase everything from branching point of specified changesetó   rs   revs   rebase these revisionsó   dó   destr,   s#   rebase onto the specified changesetr¤   s   collapse the rebased changesetsó   ms   messages#   use text as collapse commit messages   TEXTó   es   edits    invoke editor on commit messagesó   ls   logfiles&   read collapse commit message from files   FILEó   kr¥   s   keep original changesetsr¦   s   keep original branch namesó   Ds   detachs   (DEPRECATED)ó   is   interactiveó   tó   tools   specify merge tools   stops   stop interrupted rebaseó   cs   continues   continue an interrupted rebaseó   as   aborts   abort an interrupted rebases   auto-orphanssL   automatically rebase orphan revisions in the specified revset (EXPERIMENTAL)s>   [[-s REV]... | [-b REV]... | [-r REV]...] [-d REV] [OPTION]...)Úhelpcategoryc           	     óä  • U R                  SS5      n[        R                  " USSS5      nU(       a2  [        R                  " X$SS/5        [        R                  " X$/ SQ5        [        R                  " USS5        [        R                  " US	S
S5        U(       d  UR	                  5       b  SnUR                  S5      (       ap  [        U5      S1-
  n[        R                  " USU5        [        UR                  UR                  S5      5      5      n[        R                  " SU5      /US	'   SUS'   UR                  S5      (       d  UR                  S5      (       a  [        XXB5      $ US:X  Ga  [        X5      nUR                  5          UR                  5          UR                  5         UR                   (       a  ["        R$                  " ['        S5      5      e[(        R*                  " U[(        R,                  5      nUR.                  (       d.  U(       d'  ["        R$                  " ['        S5      ['        S5      S9e[0        R2                  " XR4                     5        UR7                  5          SSS5        SSS5        gU(       a,   SS0n	U R9                  U	S5         [;        XXBUS9sSSS5        $ [;        XXB5      $ ! , (       d  f       O= fSSS5        g! , (       d  f       g= f! , (       d  f       g= f! ["        R<                   aV    U R                  SS5      (       a  e U R?                  ['        S5      5        [A        U5        [C        U5        [;        XXBSS9s $ f = f)a9  move changeset (and descendants) to a different branch

Rebase uses repeated merging to graft changesets from one part of
history (the source) onto another (the destination). This can be
useful for linearizing *local* changes relative to a master
development tree.

Published commits cannot be rebased (see :hg:`help phases`).
To copy commits, see :hg:`help graft`.

If you don't specify a destination changeset (``-d/--dest``), rebase
will use the same logic as :hg:`merge` to pick a destination.  if
the current branch contains exactly one other head, the other head
is merged with by default.  Otherwise, an explicit revision with
which to merge with must be provided.  (destination changeset is not
modified by rebasing, but new changesets are added as its
descendants.)

Here are the ways to select changesets:

  1. Explicitly select them using ``--rev``.

  2. Use ``--source`` to select a root changeset and include all of its
     descendants.

  3. Use ``--base`` to select a changeset; rebase will find ancestors
     and their descendants which are not also ancestors of the destination.

  4. If you do not specify any of ``--rev``, ``--source``, or ``--base``,
     rebase will use ``--base .`` as above.

If ``--source`` or ``--rev`` is used, special names ``SRC`` and ``ALLSRC``
can be used in ``--dest``. Destination would be calculated per source
revision with ``SRC`` substituted by that single source revision and
``ALLSRC`` substituted by all source revisions.

Rebase will destroy original changesets unless you use ``--keep``.
It will also move your bookmarks (even if you do).

Some changesets may be dropped if they do not contribute changes
(e.g. merges from the destination branch).

Unlike ``merge``, rebase will do nothing if you are at the branch tip of
a named branch with two heads. You will need to explicitly specify source
and/or destination.

If you need to use a tool to automate merge/conflict decisions, you
can specify one with ``--tool``, see :hg:`help merge-tools`.
As a caveat: the tool will not be used to mediate when a file was
deleted, there is no hook presently available for this.

If a rebase is interrupted to manually resolve a conflict, it can be
continued with --continue/-c, aborted with --abort/-a, or stopped with
--stop.

.. container:: verbose

  Examples:

  - move "local changes" (current commit back to branching point)
    to the current branch tip after a pull::

      hg rebase

  - move a single changeset to the stable branch::

      hg rebase -r 5f493448 -d stable

  - splice a commit and all its descendants onto another part of history::

      hg rebase --source c0c3 --dest 4cf9

  - rebase everything on a branch marked by a bookmark onto the
    default branch::

      hg rebase --base myfeature --dest default

  - collapse a sequence of changes into a single commit::

      hg rebase --collapse -r 1520:1525 -d .

  - move a named branch while preserving its name::

      hg rebase -r "branch(featureX)" -d 1.3 --keepbranches

  - stabilize orphaned changesets so history looks linear::

      hg rebase -r 'orphan()-obsolete()' -d 'first(max((successors(max(roots(ALLSRC) & ::SRC)^)-obsolete())::) + max(::((roots(ALLSRC) & ::SRC)^)-obsolete()))'

Configuration Options:

You can make rebase require a destination if you set the following config
option::

  [commands]
  rebase.requiredest = True

By default, rebase will close the transaction after each commit. For
performance purposes, you can configure rebase to use a single transaction
across the entire rebase. WARNING: This setting introduces a significant
risk of losing the work you've done in a rebase if the rebase aborts
unexpectedly::

  [rebase]
  singletransaction = True

By default, rebase writes to the working copy, but you can configure it to
run in-memory for better performance. When the rebase is not moving the
parent(s) of the working copy (AKA the "currently checked out changesets"),
this may also allow it to run even if the working copy is dirty::

  [rebase]
  experimental.inmemory = True

Return Values:

Returns 0 on success, 1 if nothing to rebase or there are
unresolved conflicts.

r6   s   experimental.inmemoryÚabortÚstopÚcontinuerè   Údry_run)rÃ   ÚsourcerS  r  rÃ   r¤  rS  NFÚauto_orphanss   %ld and orphan()s   _destautoorphanrebase(SRC)r  s!   cannot stop in --collapse sessions<   cannot remove original changesets with unrebased descendantss^   either enable obsmarkers to allow unstable revisions or use --keep to keep original changesetsrä   r   ©r6   ó   singletransactionT)rz   r&   r'   s?   hit merge conflicts; re-running rebase without in-memory merge
)"rr   r	   Úcheck_at_most_one_argÚcheck_incompatible_argumentsÚcurrenttransactionrk   ri   ÚlistrH   r   Ú
formatspecÚ_dryrunrebaserX   ÚwlockÚlockr­   rl   r   rL   r   r   rÜ   Úallowunstableoptrt   rI  r~  re   rp  r  Ú	_dorebaserF  rí   rë   rì   )
rU   r<   rd   rz   r7   Údisallowed_optsÚuserrevsÚrbsrtÚallowunstabler  s
             r-   Úrebaser¶  e  sÓ  € ðx �}‰}˜YÐ(@ÓA€HÜ×*Ò*¨4°¸&À*ÓM€FÞÜ×,Ò,Ø˜9 iÐ0ô	
ô 	×,Ò,ØÒ;ô	
ô ×!Ò! $¨	°9Ô=Ü×!Ò! $¨¨x¸Ô@æ�×(Ñ(Ó*Ñ6ð ˆà‡x�x�×ÑÜ˜d›) ~Ð&6Ñ6ˆÜ×,Ò,Ø�. /ô	
ô ˜Ÿ	™	 $§(¡(¨>Ó":Ó;Ó<ˆÜ!×,Ò,Ð-@À(ÓKÐLˆˆU‰Ø4ˆˆV‰à‡x�x�	×Ñ˜dŸh™h y×1Ñ1Ü˜R vÓ4Ð4Ø	�6Ô	Ü˜dÓ'ˆØ�Z‰Z�\˜4Ÿ9™9�;Ø×ÑÔ!Ø��Ü×&Ò&¤qÐ)MÓ'NÓOÐOÜ$×.Ò.¨t´X×5NÑ5NÓOˆMØ—K—K¦=Ü×&Ò&Üð2óô ð&óñ
ð 
ô ×!Ò! $×'7Ñ'7Ñ"8Ô9Ø×ÑÔ!Ø÷+ '�\ˆ\ö, 
ð	Eð ;¸DÐAˆIØ×"Ñ" 9¨iÕ8Ü  ¨6À(ÑK÷ 9Ñ8ô ˜ 6Ó0Ð0÷U '�;ú�\�\Ž\ú÷6 9Õ8ûä×0Ñ0ó 	EØ�}‰}˜XÐ'F×GÑGØØ�G‰GÜð óôô ˜ÔÜ˜TÔ"Ü˜R v¸eÑDÒDð	EúsV   ÆK#Æ!CK	É9K#ÊL Ê(K4Ê3	L Ë	
K	ËK#Ë#
K1Ë4
LË>L ÌL ÌA'M/Í.M/c                óR  • [        XSSUS9nUR                  S5      nU(       a  U R                  [        S5      5        OU R                  [        S5      5        UR	                  5          UR                  5          Sn SS0nU R                  US5         [        U UUUU5      nU[        5       :X  aG  SnUsS S S 5        U(       a!  UR                  SSSUR                  S	5      S
9  sS S S 5        sS S S 5        $  S S S 5        U(       a_  U R                  [        S5      5        U R                  [        S5      5      (       d  UR                  5         OUR                  SSSUS9  SnOU R                  [        S5      5         U(       a!  UR                  SSSUR                  S	5      S
9  S S S 5        S S S 5        g! , (       d  f       NÈ= f! [        R                   aU    U R                  [        S5      5         U(       a!  UR                  SSSUR                  S	5      S
9  S S S 5        S S S 5        g[        R                   a    Sne f = f! U(       a"  UR                  SSSUR                  S	5      S
9  f f = f! , (       d  f       O= fS S S 5        g ! , (       d  f       g = f)NT)rz   r{   rd   rè   s   starting in-memory rebase
s8   starting dry-run rebase; repository will not be changed
r¦  r6   Fr£  )rï   ræ   rç   r{   s   rebase completed successfully
s!   apply changes (yn)?$$ &Yes $$ &No)rï   ræ   rç   rè   sW   dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
r   s   hit a merge conflict
r*   )rX   rk   r÷   r   r®  r¯  r  Ú_origrebaser.   rñ   Úpromptchoicerp  r   rG  rÉ   )	rU   r<   r7   rd   r´  rè   Ú
needsabortr  Úress	            r-   r­  r­  n  sr  € Ü˜$¨T¸$ÀTÑJ€EØ�h‰h�yÓ!€GÞØ
�	‰	”!Ð2Ó3Õ4à
�	‰	ÜÐJÓKô	
ð 
�‰��t—y‘y•{Øˆ
ð1	Ø:¸DÐAˆIØ×"Ñ" 9¨iÕ8Ü!ØØØØØó�ð Ô*Ó,Ó,Ø!&�JØ÷ 9Ð8öP à×-Ñ-Ø Ø Ø"ØŸ8™8 IÓ.ð	 .ñ ÷] #�{�‰ð -÷ 9ö$ Ø—	‘	œ!Ð>Ó?Ô@Ø—‘¤qÐ)MÓ'N×OÑOà×'Ñ'Õ)à×1Ñ1Ø $Ø$Ø"&Ø 'ð	 2ñ ð #‘
à—	‘	ÜðBóôð æà×-Ñ-Ø Ø Ø"ØŸ8™8 IÓ.ð	 .ñ ÷] #�ˆ÷ 9Õ8ûô ×/Ñ/ó 	Ø�I‰I”aÐ1Ó2Ô3Øö6 à×-Ñ-Ø Ø Ø"ØŸ8™8 IÓ.ð	 .ñ ÷] #�ˆô$ �{‰{ó 	ØˆJØð	ûö4 à×-Ñ-Ø Ø Ø"ØŸ8™8 IÓ.ð	 .ò ð ú÷Y #•{ú��Žús‘   Á*JÁ;I>Á?GÂ!F=Â6	GÂ?(I>Ã'	JÃ;GÄB IÆ(I>Æ,JÆ=
GÇGÇ.IÇ<IÇ=(I>È%JÈ6IÉIÉ+I;É;I>É>
J	ÊJÊ
J&c                ó0   • [        XXCS9n[        XX#U5      $ )N)rd   )rX   r¸  )rU   r<   r7   rd   rz   r´  s         r-   r±  r±  ­  s   € Ü˜$ HÑ8€EÜ�r ¨uÓ5Ð5r,   c                ó0  • US:w  d   eUR                  5          UR                  5          UR                  S5      (       aG   [        R                  " S5      (       a  SnSW-  n[        S5      U-  n[        R                  " U5      eUR                  (       a0  UR                  (       d  [        R                  " [        S5      5      eU(       aÌ  UR                  (       a  [        R                  " [        S	5      5      eUS
:X  a1  UR                  SS5      (       a  U R                  [        S5      5        US:X  a5  [        R                  R                  U5      n[        R                   " U5        UR#                  US
:H  S9n	U	b  U	sS S S 5        sS S S 5        $ O¨UR                  S5      n
[%        U UUR&                  UR                  SS 5      UR                  S/ 5      UR                  S/ 5      UR                  S/ 5      U
S9nUR)                  U5      n	U	b  U	sS S S 5        sS S S 5        $ [+        XR                  5        S nU R-                  SS5      nU(       a  UR/                  S5      n[0        R2                  " U5         UR5                  U5        UR6                  (       d  UR9                  5         S S S 5        S S S 5        S S S 5        g ! [
         a    Sn GN‚f = f! , (       d  f       N2= f! , (       d  f       N;= f! , (       d  f       g = f)Nr¡  Úinteractives   histeditr,   s    --config extensions.histedit=s   hg%s help -e histeditsO   interactive history editing is supported by the 'histedit' extension (see "%s")s+   message can only be specified with collapses*   cannot use collapse with continue or abortr   r?  Fs   tool option will be ignored
r¢  ©rï   Ú
_destspacer  r¤  rS  rÃ   ©r:   r6   r§  )r®  r¯  rk   r   ÚfindÚKeyErrorr   r   rø   ro   rl   rí   Úmergestatemodr   rÁ   r   Úcheckunresolvedrñ   Ú_definedestmaprz   r  Ústorecollapsemsgrr   Útransactionr    Úacceptinterventionr(  r{   rp  )rU   r<   r7   rd   r´  ÚenablehisteditÚhelprð   ÚmsÚretcoder:   rh   r‹   Úsingletrs                 r-   r¸  r¸  ²  s–  € Ø�VÓÐÐØ	�‰��t—y‘y•{Ø�8‰8�M×"Ñ"ðCÜ—?’? ;×/Ñ/Ø%(�Nð ,¨nÑ<ˆDäð9óð ñ	ð ô ×"Ò" 3Ó'Ð'à×× U§_§_Ü×"Ò"ÜÐ@ÓAóð ö Ø��Ü×&Ò&ÜÐCÓDóð ð ˜Ó  T§X¡X¨f°e×%<Ñ%<Ø—‘œÐ:Ó;Ô<Ø˜Ó#Ü"×-Ñ-×2Ñ2°4Ó8�Ü×)Ò)¨"Ô-à×3Ñ3¸VÀwÑ=NÐ3ÐPˆGØÑ"Ø÷G #�{�‰ðD #ð
 Ÿ™ Ó.ˆIÜ$ØØØ—‘Ø—‘˜ Ó&Ø—‘˜ 2Ó&Ø—‘˜ Ó$Ø—‘˜ Ó#Ø#ñ	ˆGð ×-Ñ-¨gÓ6ˆGØÑ"Ø÷i #�{�‰ôj ˜T×#4Ñ#4Ô5àˆà—=‘= Ð,@ÓAˆÞØ×!Ñ! )Ó,ˆBô
 ×$Ò$ RÕ(Ø× Ñ  Ô$Ø—<—<Ø×#Ñ#Ô%÷ )÷A #�ˆøô
 ó CØ!B“ðCú÷v )Õ(ú÷A #•{ú��úsy   ™LªK6ÁKÁD)K6Æ	LÆBK6È	LÈ/AK6Ê3K%Ê9K6ËLËK"ËK6Ë!K"Ë"K6Ë%
K3Ë/K6Ë6
L	Ì LÌ
Lc           	     ó´
  ^• Uc  / n[         R                  " T5        U(       d  [         R                  " T5        U R                  SS5      (       a.  U(       d'  [        R
                  " [        S5      [        S5      S9eSnU(       a;  [        R                  " TU5      n	U	(       d  U R                  [        S5      5        gGO¦U(       aM  [        R                  " TU5      n
U
(       d  U R                  [        S5      5        gTR                  S	Xª5      n	GOR[        R                  " TU=(       d    S
/5      nU(       d  U R                  [        S5      5        gU(       a  [        R                  " TU5      nOT[        TX·S9   n[        U5      n/ n0 nU HI  nTR                  SXèR                  5       5      R                  5       nUR!                  U/ 5      U/-   Xß'   MK     SU;   a  UR#                  5         UR%                  5        H%  u  nnU['        TR                  SUU5      5      -  nM'     TR                  SU5      n	U	(       Gd  ['        U5      UR                  5       /:X  aA  U(       a  U R                  [        S5      U-  5        gU R                  [        S5      5         gTR                  SX¸R                  5       5      (       d_  U(       a9  U R                  [        S5      SR)                  U4S jU 5       5      U4-  5        gU R                  [        S5      U-  5         gU R                  [        S5      SR)                  U4S jU 5       5      U4-  5        g[*        U	;   a  [        R
                  " [        S5      5      eTS
   R                  5       U	;   nU R-                  SSUUS9  U(       a3  U(       a,  [         R                  " T5        [         R                  " T5        U(       d  T[        TX—S9   n[        U5      n[.        R0                  " SU	5      nSU0nUc   [2        R                  " TUUS9nUb#  UR                  5       nU	 Vs0 s H  nUU_M     nnW(       d  U R                  [        S(5      5        gU$ ! [        R4                   a¬    0 nU	 H   n[.        R0                  " S U5      US!'   TR7                  U/S"US#9n[9        U5      nUS$:X  a  UR                  5       UU'   MU  US%:X  a"  U R;                  [        S&5      TU   -  5        M}  [        R
                  " [        S'5      TU   -  5      e    GN	f = fs  snf ))z:use revisions argument to define destmap {srcrev: destrev}Nó   commandsó   rebase.requiredests   you must specify a destinations   use: hg rebase -d REVrä   s-   empty "rev" revision set - nothing to rebase
s0   empty "source" revision set - nothing to rebase
s   (%ld):: + (%ld)r\  s5   empty "base" revision set - can't compute rebase set
rÁ  s   ancestor(%d, %d)s   children(%d) & ancestors(%ld)s   %ld::s6   nothing to rebase - %s is both "base" and destination
sA   nothing to rebase - working directory parent is also destination
s
   %ld - ::%dsG   nothing to rebase - "base" %s is already an ancestor of destination %s
ó   +c              3  ó@   >#   • U  H  n[        TU   5      v •  M     g 7fr?   ru  rw  s     €r-   r½   Ú!_definedestmap.<locals>.<genexpr>R  s   øé € Ð$BºT¸¤U¨4°©7§^ ^ºTùry  sV   nothing to rebase - working directory parent is already an ancestor of destination %s
s    nothing to rebase from %s to %s
c              3  ó@   >#   • U  H  n[        TU   5      v •  M     g 7fr?   ru  rw  s     €r-   r½   rÔ  `  s   øé € Ð >º°A¤ t¨A¡w§ ºùry  s   cannot rebase the working copyr6   s!   rebasing working copy parent: %r
)Úrebase_rebasing_wcps   %lds   ALLSRC)Ú
localaliasr’   s   SRCT)r/  r×  r*   r   s    skipping %s - empty destination
s'   rebase destination for %s is not uniques&   nothing to rebase - empty destination
)r	   ÚcheckunfinishedrH  rr   r   rø   r   r   Úrevranger÷   rH   Ú	revsingler=   rv  rÃ   rI   rk   Úclearr—   r«  rÍ   r   r  r   r¬  r   rê   ÚanyrevsrK   r#  )rU   r<   rz   ÚdestfÚsrcfÚbasefÚrevfr:   r  r  rO   rS  ÚrootsÚbpbaseÚbÚbpÚbsÚrebasingwcpÚallsrcÚaliasrh   r¼   ÚdestsetÚsizerÒ   s    `                       r-   rÆ  rÆ  ú  sÚ  ø€ à�|Øˆô
 ×Ò˜DÔ!ÞÜ×Ò˜dÔ#à	‡}�}�[Ð"7×8Ñ8ÆÜ×ÒÜÐ/Ó0ÜÐ+Ó,ñ
ð 	
ð
 €DæÜ×'Ò'¨¨dÓ3ˆ	ÞØ�I‰I”aÐIÓJÔKØñ ö 
Ü×!Ò! $¨Ó-ˆÞØ�I‰I”aÐLÓMÔNØà—I‘IÐ0°#Ó;Š	ä×"Ò" 4¨¯°4°&Ó9ˆÞØ�I‰IÜÐOÓPôð Þä×'Ò'¨¨eÓ4‰Dàœ D¨$ÑDÑEˆDÜ˜$“KˆEàˆØˆÛˆAØ—‘Ð.°·8±8³:Ó>×DÑDÓFˆBØŸ™ B¨Ó+¨q¨cÑ1ˆF‹Jñ ð �6‹>ð �L‰LŒNØ—l‘l–n‰FˆB�Ø”T˜$Ÿ)™)Ð$DÀbÈ"ÓMÓNÑNŠEñ %ð —I‘I˜h¨Ó.ˆ	çô �D‹z˜dŸh™h›j˜\Ó)ÞØ—I‘IÜð2óð ñ	ôðL ð= —I‘IÜð<óõð< ð1 —Y‘Y˜}¨d·H±H³J×?Ñ?ÞØ—I‘IÜð$óð
  Ÿ9™9Ô$B¹TÓ$BÓBÀDÐIñJôð, ð —I‘IÜð<óð
 ñõð ð	 —	‘	ÜÐ:Ó;Ø—y‘yÔ >¹Ó >Ó>ÀÐEñFôð ä�)ÓÜ×ÒœqÐ!BÓCÓDÐDØ�t‘*—.‘.Ó" iÑ/€KØ‡F�FØØ-ØØ'ð	 ñ ö –Kä×Ò Ô%Ü×Ò˜dÔ#æØ”K  iÑEÑFˆÜ�d“ˆä×"Ò" 6¨9Ó5€FØ˜Ð€Eà�|ð	ä×$Ò$ T¨5¸UÑCˆDð& Ñà—(‘(“*ˆÙ'0Ó1¢y !�1�g’:¡yˆÐ1æØ
�	‰	”!Ð>Ó?Ô@Øà€Nøô7 ×$Ñ$ó 	àˆGÛ�Ü *× 5Ò 5°e¸QÓ ?��f‘ð Ÿ,™,¨ w°TÀe˜,ÐL�Ü˜7“|�Ø˜1“9Ø!(§¡£�G˜A“JØ˜Q“YØ—G‘GœAÐBÓCÀdÈ1ÁgÑMÖNä×*Ò*ÜÐDÓEÈÈQÉÑOóð ô ð	üò* 2s   Ð2R ÑUÒB<UÕUc           
     ó  • [        5       n[        U5      nU Hn  nXT:X  a  M
  X   R                  5        HN  nUR                  5       U;  d  M  UR                  5       U;  d  M/  UR	                  UR                  5       5        MP     Mp     U(       d  [
        $ [        U5      S:X  a  UR                  5       $ [        R                  " [        S5      [        U5      SR                  S [        U5       5       5      4-  5      e)z§Return the revision that should be used as the second parent
when the revisions in state is collapsed on top of destancestors.
Abort if there is more than one parent.
r*   sK   unable to collapse on top of %d, there is more than one external parent: %srs  c              3  ó,   #   • U  H
  nS U-  v •  M     g7fr¹   r+   )r»   r  s     r-   r½   Ú!externalparent.<locals>.<genexpr>±  s   é € Ð)Mº_¸¨%°!®)º_ùr¿   )ri   r_  rb  rÃ   rÌ   r   rK   rÞ   r   rL   r   r3  rÍ   rË   )r<   r   r  rb  r¤  rÃ   r  s          r-   rý   rý   ›  sÒ   € ô
 ‹e€GÜ�‹Z€FÛˆØ‹=ÙØ‘×"Ñ"Ö$ˆAØ�u‰u‹w˜eÕ#¨¯©«°}Õ(DØ—‘˜AŸE™E›GÖ$ó %ñ ö ÜˆÜ
ˆ7ƒ|�qÓØ�{‰{‹}ÐÜ
×
Ò
Ü	ð,ó	
ô ˆ}Ó˜uŸz™zÑ)M¼VÀG¼_Ó)MÓMÐ
Nñ		Oóð r,   c           	     ó  • SnSU;   a  US   nUR                  5         UR                  UUUUUUS9nUR                  5       (       a"  U R                  R	                  SS5      (       d  gU R                  U5      n	UR                  5         U	$ )zTCommit the memory changes with parents p1 and p2.
Return node of committed revision.Nr0   )r\   r3   r/  r1   r.  r+  r,  )Ú_compactÚtomemctxrM  rU   rr   Ú	commitctxÚclean)
r<   r  r.  r3   r/  r\   r-  r1   ÚmemctxÚ	commitress
             r-   r6  r6  µ  s‘   € ð
 €FØ�EÓØ�yÑ!ˆð
 	‡M�M„OØ�]‰]ØØØØØØð ð €Fð ‡~�~×Ñ §¡× 2Ñ 2°5Ð:M× NÑ NØØ—‘˜vÓ&€IØ‡J�J„LØÐr,   c           	     óR  ^ • [         R                  nT R                  R                  SS5      (       d  U 4S jnU" 5          T R	                  XSXBUS9nT R
                  R                  T U   R                  5       T R                  5       5        UsSSS5        $ ! , (       d  f       g= f)zPCommit the wd changes with parents p1 and p2.
Return node of committed revision.r6   r§  c                 ó&   >• T R                  S5      $ )Nr6   )rÈ  ©r<   s   €r-   Ú<lambda>Úcommitnode.<locals>.<lambda>Ö  s   ø€ �T×%Ñ% iÔ0r,   )Útextr/  r\   r3   r.  N)	r    ÚnullcontextmanagerrU   rr   ÚcommitÚdirstateÚ	setbranchr1   rª  )r<   r.  r3   r/  r\   r-  r‹   r;  s   `       r-   r7  r7  Ñ  sŠ   ø€ ô 
×	 Ñ	 €BØ�7‰7×Ñ˜iÐ)=×>Ñ>Ü0ˆÙ	�à—+‘+Ø¨DÀfð ð 
ˆð 	�‰×ÑØ�‰M× Ñ Ó" D×$;Ñ$;Ó$=ô	
ð ÷ 
��ús   Á ABÂ
B&c                óÀ  ^ • T U   nUR                  5       (       a"  UR                  U5        [        R                  nOœT S   R	                  5       U:w  a6  T R
                  R                  SX'4-  5        [        R                  " U5        OT R
                  R                  S5        U 4S jnT S   nT R                  R                  T R                  5       5        T U   n	T R
                  R                  SX4-  5        Ub#  T R
                  R                  SUT U   4-  5        U" 5          T R                  R                  UR                  5       U	R                  5       5      n
[        R                  " T USSUU
/ S	QUS
9nUR!                  UR                  5       T U   R                  5       5        U(       a  ["        R$                  " XiU5        O%["        R$                  " XiU	R'                  5       5        SSS5        WR(                  S:”  a@  UR                  5       (       a  [*        R,                  " 5       e[*        R.                  " S5      eg! , (       d  f       N_= f)zFRebase a single revision rev on top of p1 using base as merge ancestorr\  s    update to %d:%s
s    already in destination
c                 ó:   >• T R                   R                  T 5      $ r?   )rý  Úchanging_parentsr÷  s   €r-   rø  Úrebasenode.<locals>.<lambda>ñ  s   ø€ ˜Ÿ™×6Ñ6°tÔ<r,   Ns    merge against %d:%s
s      detach base %d:%s
T)r“  r�  s   parent of source)ÚbranchmergeÚforceÚancestorÚmergeancestorÚlabelsr@  r   r6   )Ú
isinmemoryÚsetbaser    rû  rÃ   rU   r˜   rI  r~  rý  r”   rª  rû   Ú
isancestorr2  Ú_updaterL  r   ÚgraftcopiesrD  Úunresolvedcountr   rF  rG  )r<   rÃ   rD  rR  rS  r[   r  Úp1ctxÚscoper2   r  Ústatss   `           r-   rE  rE  ã  sÖ  ø€ ð �‰H€EØ‡�×ÑØ�‰�UÔÜ×'Ñ'‰à�‰:�>‰>Ó˜rÓ!Ø�G‰G�M‰MÐ/°2°+Ñ=Ô>Ü×!Ò! %Õ(à�G‰G�M‰MÐ6Ô7Ü<ˆð �D‰zˆØ�‰×Ñ˜D×3Ñ3Ó5Ô6Ø
ˆs‰)€CØ‡G�G‡M�MÐ+¨s¨jÑ8Ô9ØÑØ�‰�‰Ð/°4¸¸d¹Ð2DÑDÔEá	�àŸ™×1Ñ1°%·*±*³,ÀÇÁÃ
ÓKˆÜ× Ò ØØØØØØ'Ú<Øñ	
ˆð 	�‰˜Ÿ
™
› d¨2¡h§m¡m£oÔ6ÞÜ×Ò˜t¨%Õ0ô
 ×Ò˜t¨#¯&©&«(Ô3÷) 
ð, ×Ñ˜qÓ Ø�?‰?×ÑÜ×3Ò3Ó5Ð5ä×2Ò2°9Ó=Ð=ð	 !÷- 
�ús   Ä+CIÉ
Ic                óÆ  • X!   nUR                  5        VVs/ s H   u  pgUS:”  d  M  X&   U:X  d  M  Xd;  d  M  UPM"     nnn/ n	U R                  R                  U5       Hx  n
UnU
[        :w  a'  U R	                  SXŠ5      R                  5       nUb  X<   nXµ:X  a,  XS;   a'  X5   nU[        :X  a  [        R                  " SU-  5      eU	R                  U5        Mz     U	$ s  snnf )aà  adjust rebase destination given the current rebase state

rev is what is being rebased. Return a list of two revs, which are the
adjusted destinations for rev's p1 and p2, respectively. If a parent is
nullrev, return dest without adjustment for it.

For example, when doing rebasing B+E to F, C to G, rebase will first move B
to B1, and E's destination will be adjusted from F to B1.

    B1 <- written during rebasing B
    |
    F <- original destination of B, E
    |
    | E <- rev, which is being rebased
    | |
    | D <- prev, one parent of rev being checked
    | |
    | x <- skipped, ex. no successor or successor in (::dest)
    | |
    | C <- rebased as C', different destination
    | |
    | B <- rebased as B1     C'
    |/                       |
    A                        G <- destination of C, different

Another example about merge changeset, rebase -r C+G+H -d K, rebase will
first move C to C1, G to G1, and when it's checking H, the adjusted
destinations will be [C1, G1].

        H       C1 G1
       /|       | /
      F G       |/
    K | |  ->   K
    | C D       |
    | |/        |
    | B         | ...
    |/          |/
    A           A

Besides, adjust dest according to existing rebase information. For example,

  B C D    B needs to be rebased on top of C, C needs to be rebased on top
   \|/     of D. We will rebase C first.
    A

      C'   After rebasing C, when considering B's destination, use C'
      |    instead of the original C.
  B   D
   \ /
    A
r   s   max(%ld and (::%d))s-   rev %d should be rebased already at this time)
r—   rû   Ú
parentrevsr   rH   rI   rÈ   r   ÚProgrammingErrorÚappend)r<   rÃ   rh   r   rj   r  r€  r™   r¤  r  ÚprevÚadjustedÚ	candidates                r-   rB  rB    sù   € ðj ‰<€Dð —K‘K”Môâ!‰DˆAØˆq‰5ó 	
à‘Z 4Ñ'ó 	
à,-Ñ,<÷ 	
Ù!ð ñ ð €FØ—‘×)Ñ)¨#Ö.ˆØˆØ”7‹?ØŸ	™	Ð"8¸&ÓG×MÑMÓOˆIØÑ$Ø Ñ+�ØÓ £Ø‘{ˆHØœ7Ó"ä×,Ò,ØDÀtÑKóð ð 	�‰�hÖñ /ð €Mùó+s   ˜C¨C²C¹Cc                ó
  ^ • [         R                  " T [         R                  5      nX#-
  nU(       aR  U(       dJ  U 4S jU 5       n[        S5      n[        S5      n[        R
                  " USR                  U5      4-  US9egg)a  
Abort if rebase will create divergence or rebase is noop because of markers

`rebaseobsrevs`: set of obsolete revision in source
`rebaseobsskipped`: set of revisions from source skipped because they have
successors in destination or no non-obsolete successor.
c              3  ó@   >#   • U  H  n[        TU   5      v •  M     g 7fr?   ru  rw  s     €r-   r½   Ú"_checkobsrebase.<locals>.<genexpr>s  s   øé € ÐFÒ-E¨”U˜4 ™7—^�^Ò-Eùry  s+   this rebase will cause divergences from: %ssJ   to force the rebase please set experimental.evolution.allowdivergence=Trueó   ,rä   N)r   rÜ   rÝ   r   r   rL   rÍ   )	r<   rU   ÚrebaseobsrevsÚrebaseobsskippedÚdivergenceokÚdivergencebasecandidatesÚ	divhashesrð   Úhs	   `        r-   rÛ   rÛ   f  s~   ø€ ô ×%Ò% d¬H×,GÑ,GÓH€LØ,Ñ?Ðæ®ÜFÑ-EÓFˆ	ÜÐ>Ó?ˆÜð;ó
ˆô ×Ò˜s d§i¡i°	Ó&:Ð%<Ñ<À1ÑEÐEð )5Ðr,   c              #  óþ   #   • U R                   b   eU R                  R                  R                  n[        R
                  " U R                  X   R                  5       /5       H  nU" U5      nUc  M  Uv •  M     g7f)z,yield revision numbers for successors of revN)r“   rû   ÚindexÚget_revr   ÚallsuccessorsÚobsstorer2  )rM   rÃ   r$  r€  r¼   s        r-   Úsuccessorrevsr'  |  se   é € à�?‰?Ñ"Ð"Ð"Ø�n‰n×"Ñ"×*Ñ*€GÜ×"Ò" 4§=¡=°4±9·>±>Ó3CÐ2DÖEˆÙ�A‹JˆØ‹=ØŒGò Fùs   ‚A.A=Á4	A=c           	     ó\  ^ ^^^^^• T R                   b   eT R                  nUR                  mUT   nT R                  R                  T5      n[        [        /m[        T TX#U5      m[        U5      n	[        S USS  5       5      (       a
  TS   TS'   GOX[        U5       H«  u  mn
U
n[        UUU4S j[        T U
5       5       5      (       a  TT   nOX£;   a  X:   S:”  a  X:   n[        TST 5       HO  u  pÍU[        :X  a  M  T" X½5      (       a  [        nM&  T" XÛ5      (       d  M5  UTU'   [        nU	T   Xœ   sXœ'   U	T'   MQ     UTT'   M­     TS   [        :w  aL  US   TS   :X  a@  [        T5      S:X  a  [        U5      S:X  d   eTR                  5         U	R                  5         [        T5      [        U5      :X  a-  UT;  a'  [        R                  " [!        S5      TT T   4-  5      e[        UU4S jT 5       5      (       a  [        R                  " [!        S	5      5      e[#        U4S
 j[        U	5       5       5      S:”  Ga   SS/n[        U	5       HÑ  u  mnU[        :X  d  UT;   a  M  [        U	5      U1-
  n[        T R%                  SUX÷5      5      nU(       d  ML  UR'                  5        VVs/ s H  u  nnUS:”  d  M  UU;  d  M  UPM     nnnU Vs/ s H#  nUR                  U5      S   [        :w  d  M!  UPM%     nn[        T R%                  SUUU5      5      UT'   MÓ     [        S U 5       5      (       a¥  [)        S [        U5       5       5      u  nmUS:”  aL  [!        S5      R+                  U 4S jU 5       5      n[        R                  " [!        S5      TT T   U4-  5      eTS:w  a/  TT   [        :w  a  TT   TS   sTS'   TT'   U	T   U	S   sU	S'   U	T'   U	S   nT R,                  R/                  S[1        T5      -  5        TS   TS   U4$ s  snnf s  snf )aè  Return new parents and optionally a merge base for rev being rebased

The destination specified by "dest" cannot always be used directly because
previously rebase result could affect destination. For example,

      D E    rebase -r C+D+E -d B
      |/     C will be rebased to C'
    B C      D's new destination will be C' instead of B
    |/       E's new destination will be C' instead of B
    A

The new parents of a merge is slightly more complicated. See the comment
block below.
Nc              3  ó2   #   • U  H  o[         :H  v •  M     g 7fr?   ©r   rº   s     r-   r½   Ú defineparents.<locals>.<genexpr>   s   é € Ð
+¢˜A”Ž<¢ùs   ‚r*   r   c              3  ó<   >#   • U  H  nT" UTT   5      v •  M     g 7fr?   r+   )r»   rD   rP   rÏ   r
  s     €€€r-   r½   r+  ¼  s!   øé € ÐKÒ4J¨q‘:˜a  q¡×*Ð*Ò4Jùs   ƒr°   s>   cannot rebase %d:%s without moving at least one of its parentsc              3  óT   >#   • U  H  o[         :g  =(       a	    T" TU5      v •  M     g 7fr?   r*  )r»   r  r
  rÃ   s     €€r-   r½   r+  ë  s"   øé € Ð
>º°1”‰<×.™J s¨AÓ.Ô.ºùs   ƒ%(ó!   source is ancestor of destinationc              3  óN   >#   • U  H  o[         :w  d  M  UT;  d  M  S v •  M     g7f)r*   Nr*  )r»   rã  Únewpss     €r-   r½   r+  ý  s   øé € Ð
D’j�¬¡L‹1°Q¸e±^�1‰1’jùs   ƒ%”%œ	%s   (%ld %% (%d+%d))s   %ld - (::%ld) - %ldc              3  ó(   #   • U  H  oS Lv •  M
     g 7fr?   r+   )r»   rH   s     r-   r½   r+    s   é € Ð5ªH D˜4ÕªHùs   ‚c              3  óJ   #   • U  H  u  pUc  M
  [        U5      U4v •  M     g 7fr?   )rK   )r»   rÏ   rH   s      r-   r½   r+    s&   é € ð â2‘G�AØó ”�T“˜A•Ú2ùs   ‚	#�#s    or c              3  ód   >#   • U  H%  nUc  M  SR                  U4S jU 5       5      v •  M'     g 7f)Nrs  c              3  ó8   >#   • U  H  nS UTU   4-  v •  M     g7f)r  Nr+   rw  s     €r-   r½   Ú*defineparents.<locals>.<genexpr>.<genexpr>$  s   øé € ÐEÂ¸1˜x¨1¨d°1©g¨,Ö6Âùs   ƒ)rÍ   )r»   rH   r<   s     €r-   r½   r+  #  s0   øé € ð /â (˜Øó F�E—J‘JÔEÁÓE×EÐEÚ (ùs   ƒ0Ž"0s4   rebasing %d:%s will include unwanted changes from %ss    future parents are %d and %d
)r“   rû   Úisancestorrevr  r   rB  r«  ÚallrÀ   Úanyr'  rK   Úreverseri   r   rø   r   ÚsumrH   r—   r_  rÍ   rU   r˜   Útuple)r<   rÃ   rh   r   rj   Ú
obsskippedr8  r  ÚoldpsÚbasesr  ÚnpÚjrD   ÚunwantedrS  Úother_basesÚsiderevsr¼   r™   r  ÚmergesrÐ   ÚunwanteddescrP   rÏ   r
  r0  s   ``                      @@@@r-   rC  rC  †  s1  ý€ ð  �?‰?Ñ"Ð"Ð"Ø	�‰€BØ×!Ñ!€Jà�3‰<€DØ�N‰N×%Ñ% cÓ*€EÜ”gÐ€EÜ�t˜S '°'Ó:€EÜ�‹K€Eä
Ñ
+  q r¡Ó
+×+Ñ+à˜‘8ˆˆa‹ô0 ˜eÖ$‰DˆAˆqØˆBÜÖK´MÀ$ÈÔ4JÓK×KÑKØ˜1‘X‘Ø“ ¡¨1£Ø‘X�ô " %¨¨ )Ö,‘�Øœ“<ÙÙ˜b×$Ñ$Ü ’BÙ ×&Ó&Ø!�E˜!‘HÜ �Bð */¨q©°5±8Ð&�E‘H˜e A›hñ -ð ˆE�!‹Hñ+ %ð4 �‰8”wÓ 5¨¡8¨u°Q©xÓ#7Ü�u“: “?¤s¨5£z°Q£Ð6Ð6Ø�M‰MŒOØ�M‰MŒOô ˆu‹:œ˜U›Ó#¨°EÓ(9Ü×"Ò"Üð:óð ˜˜S™	Ð"ñ	#óð ô Õ
>¹Ó
>×>Ñ>Ü×ÒœqÐ!EÓFÓGÐGô" Ô
D”c˜%”jÓ
DÓDÀqÔHØ˜$�<ˆÜ  Ö'‰GˆAˆtØ”w‹ $¨%£-Ùô ˜e›*¨ vÑ-ˆKÜØ—	‘	Ð-¨{¸DÓGóˆH÷ ˆxà"'§+¡+¤-ôÚ"/™$˜!˜Q°1°q±5“A¸QÀjÑ=P—A¡-ð ñ ñ  )óÚ(˜!¨B¯M©M¸!Ó,<¸QÑ,?Ä7Ñ,J—A™yð ð ô #Ø—I‘IØ.°¸&À)óó�˜“ñ' (ô2 Ñ5©HÓ5×5Ñ5äñ ä(¨Ô2óó ‰DˆAˆqð �1‹uÜ  ›zŸ™ô /á (ó/ó  �ô
 ×&Ò&ÜÐMÓNØ˜D ™I |Ð4ñ5óð ð �A‹vØ˜‘8œwÓ&Ø).¨q©°5¸±8Ð&�E˜!‘H˜e A™hØ%*¨1¡X¨u°Q©xÐ"��a‘˜% ™(ð �‰8€Dà‡G�G‡M�MÐ4´u¸U³|ÑCÔDà�‰8�U˜1‘X˜tÐ#Ð#ùó_ùòs   Ê:P#ËP#ËP#Ë  P)ÌP)c                ó2  • [         R                  R                  U R                  R                  U5      n[	        US5       n[
        R                  " U5       H#  nUR                  S5      (       d  M    SSS5        g   SSS5        g! , (       d  f       g= f)z/Return true if the given patch is in git formatÚrbs
   diff --gitNTF)ÚosÚpathrÍ   ÚmqÚopenr   Ú
linereaderÚ
startswith)r<   Ú	patchnameÚmqpatchÚfpÚlines        r-   ÚisagitpatchrR  >  so   € ä�g‰g�l‰l˜4Ÿ7™7Ÿ<™<¨Ó3€Gä	ˆg�tÔ	 Ü×$Ò$ RÖ(ˆDØ�‰˜}×-Ó-Ø÷ 
Ð	Ù(÷ 
ð ÷	 
Ô	ð ús   Á.BÁ3BÁ=BÂ
Bc           
     ó˜  • 0 nU R                   nUR                  SS n[        5       nUR                   H�  nXR                     R                  5       n	X‘;   aN  U R                  R                  SX˜R                  4-  5        UR                  [        XR                  5      4XI'   Mr  UR                  UR                  5        M�     U(       aú  UR                  XR                  5       5        [        USS9 Hp  n	X’;  aR  XI   u  p«U R                  R                  [        S5      X¡U	   XU	      4-  5        UR!                  U SU
USX   -  /S9  MZ  UR                  XI   S	   5        Mr     U Vs/ s H*  nUR"                  R%                  US
5      S	   U;  d  M(  UPM,     nnXÕR                  SS& SUl        UR)                  5         ggs  snf )z9Update rebased mq patches - finalize and then import themNs.   revision %d is an mq patch (%s), finalize it.
T)r9  s   updating mq patch %s to %d:%s
r+   r’   )rN  ÚgitrÃ   r   r*   )rJ  Ú
fullseriesri   Úappliedr2  rÃ   rU   r˜   ÚnamerR  rÌ   Úfinishrÿ   rË   r#  r   ÚqimportÚguard_rerÅ   ÚseriesdirtyÚ	savedirty)r<   r   rj   rd   ÚmqrebaserJ  Úoriginal_seriesÚskippedpatchesr  rÃ   rW  Úisgitr€  Ú	newseriess                 r-   ra  ra  I  s²  € à€HØ	�‰€BØ—m‘m¡AÐ&€OÜ“U€Nà�ZŒZˆØ—6‘6‰l×ÑÓ ˆØ‹<Ø�G‰G�M‰MØBØŸ™�-ñ ôð ŸV™V¤[°·v±vÓ%>Ð?ˆH‹Mð ×Ñ˜qŸv™vÖ&ñ ö Ø
�	‰	�$Ÿ™›Ô(ô ˜(¨DÔ1ˆCØÓ!Ø&™m‘�Ø—‘—‘ÜÐ8Ó9Ø 3™Z¨°C©jÑ)9Ð:ñ;ôð —
‘
ØØØ"ØØ ¡Ñ+Ð,ð ó ð ×"Ñ" 8¡=°Ñ#3Ö4ñ! 2ñ. %ó
â$�Ø�{‰{× Ñ   AÓ& qÑ)°Ñ?÷ Ù$ð 	ð 
ð
 %�‰‘aÐØˆŒØ
�‰�ðA ùò2
s   Å-'GÆGc                ó†   • U=(       d    SnU R                  SS5      nUR                  SU-  5        UR                  5         g)z,Store the collapse message to allow recoveryr,   ó   last-message.txtr‡   r‘   N)rŠ   r”   Úclose)r<   ro   rŒ   s      r-   rÇ  rÇ    s7   € à×$ €KØ�‰Ð$ dÓ+€AØ‡G�GˆG�kÑ!Ô"Ø‡G�G…Ir,   c                ó8   • U R                   R                  SSS9  g)zRemove collapse message filerc  TrZ  N)rŠ   rd  r÷  s    r-   rì   rì   ‡  s   € à‡H�H×ÑÐ+¸4ÐÒ@r,   c                óø   •  U R                  S5      nUR                  5       R                  5       nUR                  5         U$ ! [         a,    U(       a  Sn U$ [
        R                  " [        S5      5      ef = f)z*Restore previously stored collapse messagerc  r,   s'   missing .hg/last-message.txt for rebase)rŠ   Úreadliner  rd  ÚFileNotFoundErrorr   rÉ   r   )r<   rï   rŒ   ro   s       r-   ré   ré   Œ  sv   € ð	MØ�H‰HÐ(Ó)ˆØ—j‘j“l×(Ñ(Ó*ˆØ	�‰Œ	ð Ðøô ó MÞà‰Kð Ðô —+’+œaÐ JÓKÓLÐLðMús   ‚?A ÁA9Á A9c                óˆ   • U R                  5       nU(       a  UR                  S5        U R                  R                  SSS9  g)zRemove the status filesr`   TrZ  N)rª  ÚremovefilegeneratorrŠ   rd  )r<   r‹   s     r-   rë   rë   ›  s:   € ð 
×	 Ñ	 Ó	"€BÞ	Ø
×Ñ˜~Ô.Ø‡H�H×Ñ˜°dÐÒ;r,   c              #  ó  #   • [        U 5      nU(       as  [        U5      n/ nU H  nX   U;  d  M  UR                  U5        M      U(       d  [        R                  " [        S5      5      eU[        U5      -  nUv •  U(       a  Mr  gg7f)a   yield source revisions in an order that we only rebase things once

If source and destination overlaps, we should filter out revisions
depending on other revisions which hasn't been rebased yet.

Yield a sorted list of revisions each time.

For example, when rebasing A to B, B to C. This function yields [B], then
[A], indicating B needs to be rebased first.

Raise if there is a cycle so the rebase is impossible.
s#   source and destination form a cycleN)ri   rË   r  r   rø   r   )rh   ÚsrcsetÚsrclistr  r¼   s        r-   r   r   ¤  sw   é € ô �‹\€FÞ
Ü˜“.ˆØˆÛˆAØ‰z Õ'Ø—‘˜aÖ ñ ö Ü×"Ò"¤1Ð%KÓ#LÓMÐMØ”#�f“+ÑˆØŠ÷ Š&ùs   ‚+B	±AB	ÂB	c                óT  ^• UR                  5       nU S   R                  5       nSU R                  5       ;   a€  U R                  R                   Vs1 s H  oPUR
                     R                  5       iM!     nn[        UR                  5       5      U-  (       a  [        R                  " [        S5      5      e[        [        U5      5      nU(       d  [        R                  " [        S5      5      e[        U R                  SUS   5      5      nU(       d  [        R                  " [        S5      5      eS n	[        X‰S9n[        R!                  U["        5      m[%        U5      S	:H  n
U GH/  nXUR                  5             nUR'                  U5      nXÛ:X  a  [        R                  " [        S
5      5      eXÜ:X  a»  U S   nXÎR)                  5       :X  a"  UR+                  5       UR+                  5       :H  nO!UR+                  5       UR+                  5       :H  nU(       dY  U(       aR  XËR-                  5       ;   a?  UR                  5       TUR                  5       '   U R.                  R1                  S5        GM  Sn
U R.                  R1                  SXË4-  5        GM2     U
(       a  g[        T5       Hd  nU R2                  R5                  U5       Vs/ s H  nU[6        :w  d  M  UPM     nnU(       d  MC  [9        U4S jU 5       5      (       d  M_  UTU'   Mf     XAT4$ s  snf s  snf )z`Define which revisions are going to be rebased and where

repo: repo
destmap: {srcrev: destrev}
r\  rX  s&   cannot rebase onto an applied mq patchs   no matching revisionsrz  r   c                ó"   • U R                  5       $ r?   )rÃ   )r¼   s    r-   ÚrevofÚbuildstate.<locals>.revofÜ  s   € Ø�u‰u‹wˆr,   )Úkeyr*   r.  Ns!   source is a child of destination
Fs    rebase onto %s starting from %s
c              3  óL   >#   • U  H  nTR                  U5      U:H  v •  M     g 7fr?   )rk   )r»   r  r   s     €r-   r½   Úbuildstate.<locals>.<genexpr>ü  s   øé € Ð>²g°˜5Ÿ9™9 Q›<¨1Ö,²gùs   ƒ!$)rÿ   rÃ   r`  rJ  rV  r2  ri   rÊ   r   rL   r   r«  r   rø   rË   ÚdictÚfromkeysrÈ   rK   r  rD  r1   rb  rU   r˜   rû   r  r   r7  )r<   rh   r[   r  re   r€  Ú	mqappliedÚ	sortedsrcrá  rp  ÚemptyrebaseÚrootr  Ú
commonbaser  Ú
samebranchrÃ   r  rb  r   s                      @r-   rö   rö   ¾  sw  ø€ ð —‘“€IØ�d‘—‘Ó!€Jð
 �$—)‘)“+ÓØ15·±·²ÓA²¨A˜!Ÿ&™&‘\×%Ñ%Ö'±ˆ	ÐAÜˆw�~‰~ÓÓ  9×,Ü×"Ò"¤1Ð%NÓ#OÓPÐPô ”Z Ó(Ó)€IÞÜ×ÒœqÐ!9Ó:Ó;Ð;ô �—‘˜-¨°1©Ó6Ó7€EÞÜ×ÒœqÐ!9Ó:Ó;Ð;òô �5Ñ$€EÜ�M‰M˜)¤WÓ-€EÜ�i“. AÑ%€KÜˆØ˜DŸH™H›JÑ'Ñ(ˆØ—]‘] 4Ó(ˆ
ØÓÜ×"Ò"¤1Ð%IÓ#JÓKÐKØÓØ˜‘:ˆDØ—w‘w“yÓ à!Ÿ[™[›]¨d¯k©k«mÑ;‘
à!Ÿ[™[›]¨d¯k©k«mÑ;�
Þ¦
¨t·|±|³~Ó/Eð %)§H¡H£J��d—h‘h“jÑ!Ø—‘—‘ÐCÔDÚàˆØ�‰�‰Ð:¸d¸\ÑI×Jñ) ö* ØÜ�eŽ}ˆØ"Ÿn™n×7Ñ7¸Ô<ÓMÒ<˜ÀÄWÁ—1Ñ<ˆÐMçˆ7”sÔ>±gÓ>×>Ó>ØˆE�#‹Jñ	 ð
  Ð%Ð%ùòg Bùò^ Ns   Á&L ËL%Ë&L%c	           
     ó\  • UR                   R                  n	0 n
0 n[        R                  " U[        R                  5      (       + n/ n[        UR                  5       5       H�  u  pïUS:¼  d  M  Xþ:w  d  M  U	" U5      nU=(       d    U	" U5      nUUU'   SnXä;   a!  U(       d  X   R                  5       (       d  SnOU(       a  UR                  U5        OU4nUc  M{  UU
U4'   Mƒ     U(       a  U4U
[        U5      '   U(       a‡  UR                  nUR                  nUR                  n0 nU
R                  5        H6  u  nnU H*  nU" U Vs/ s H  nU" U5      PM     snSS9UU" U5      '   M,     M8     U" USSS9nUR                  US	9  U(       a  0 n
[        R                  " XS
X¸S9  gs  snf )ab  dispose of rebased revision at the end of the rebase

If `collapsedas` is not None, the rebase was a collapse whose result if the
`collapsedas` node.

If `keepf` is not True, the rebase has --keep set and no nodes should be
removed (but bookmarks still need to be moved).

If `backup` is False, no backup will be stored when stripping rebased
revisions.
r   Nr+   s   node)rW  s   oldnodes   newnodes)rr  Úvalue)Únodechangesr6   r{  )rû   r2  r   rÜ   r   rË   r—   r  r;  ÚhexfuncÚ
formatlistÚ
formatdictr¬   r   Úcleanupnodes)rU   r<   rh   r   rj   rn  rt   rY  ræ   ÚtonodeÚreplacementsÚmovesÚstripcleanupÚcollapsednodesrÃ   rœ   Úoldnoder;  ÚsuccsÚhfÚflÚfdÚchangesÚoldnsÚnewnÚoldnÚnr  s                               r-   rc  rc    s‹  € ð, �^‰^× Ñ €FØ€LØ€EÜ×)Ò)¨$´×0IÑ0IÓJÔJ€Là€NÜ˜eŸk™k›mÖ,‰ˆØ�Q�;˜6�=Ù˜S“kˆGØ!×3¡V¨F£^ˆGØ$ˆE�'‰NØˆEØ‹~Þ t¡y×'9Ñ'9×';Ñ';Ø�EøÞØ×%Ñ% gÕ.à ˜
�ØÓ Ø+0�˜g˜ZÓ(ñ -ö Ø/:¨nˆ”U˜>Ó*Ñ+Þ	Ø�Z‰ZˆØ�]‰]ˆØ�]‰]ˆØˆØ'×-Ñ-Ö/‰KˆE�4Û�Ù$&±tÓ'<²t°!©¨1®±tÑ'<À7Ñ$K�™˜4›Ó!ó ñ 0ñ ˜ j¸ÑDˆØ
�‰˜KˆÑ(ÞØˆÜ×Ò˜¨Y¸ÓMùò (=s   Å	F)c                ó  • UR                  S5      (       Gah  UR                  SS5      (       a*  [        S5      n[        S5      n[        R                  " XVS9eUR                  5          UR                  5          UR                  S5      (       a  US	 UR                  S5        [        R                  " US	S
9  [        R                  " U[        S5      S9  [        U5      n[        R                  nS n	U	[        l         U " X/UQ70 UD6n
U[        l        [        U5      nX·:”  aE  SU;   a  US	 SU;   a  US	 [        UR                  R                  US95      nXÄS'    [!        X40 UD6  SSS5        SSS5        W
$ UR                  S5      (       a  [        R                  " [        S5      5      eU " X/UQ70 UD6n
U
$ ! U[        l        f = f! [        R"                   a~    [$        R&                  " U5      u  pÞnXÒS   R)                  5       :X  a  UR+                  [        S5      5         NÄUR+                  [        S5      5        [,        R.                  " X5         Nöf = f! , (       d  f       GN= f! , (       d  f       W
$ = f)zCCall rebase after pull if the latter has been invoked with --rebaser¶  rÐ  rÑ  s,   rebase destination required by configurations)   use hg pull followed by hg rebase -d DESTrä   rÚ   sC   --update and --rebase are not compatible, ignoring the update flag
T)Ú	skipmergesC   cannot pull with rebase: please commit or shelve your changes firstc                 ó   • g r?   r+   )rÑ   Úkwargss     r-   Ú_dummyÚpullrebase.<locals>._dummyY  s   € Ør,   rÃ   r¤  )ÚstartrÀ  r\  rô   s%   nothing to rebase - updating instead
Nr?  s%   --tool can only be used with --rebase)rk   rr   r   r   rø   r®  r¯  r˜   r	   rØ  rH  rK   Úpostincomingr«  rû   rH   r¶  ÚNoMergeDestAbortr   Ú
destupdaterÃ   r÷   r
   rÚ   )ÚorigrU   r<   rÑ   rd   rð   rå   ÚrevsprepullÚorigpostincomingr—  ÚretÚrevspostpullr:   rÃ   Ú_aÚ_bs                   r-   Ú
pullrebaser¤  =  s@  € à‡x�x�×ÒØ�=‰=˜Ð&;×<Ñ<ÜÐCÓDˆCÜÐAÓBˆDÜ×"Ò" 3Ñ2Ð2à�Z‰Z�\˜4Ÿ9™9�;Ø�x‰x˜×!Ñ!Ø˜�NØ—‘ð)ôô
 ×#Ò# D°DÒ9Ü×!Ò!ØÜðBóòô ˜d›)ˆKÜ&×3Ñ3Ðòð $*ŒGÔ ð8Ù˜2Ð3 dÒ3¨dÑ3�à'7”Ô$Ü˜t›9ˆLØÓ)ð ˜D“=Ø˜U˜ð ˜tÓ#Ø˜X˜ä  §¡×!4Ñ!4¸;Ð!4Ð!GÓH�	Ø%.�\Ñ"ð2Ü˜2Ñ, tÒ,÷U '�\ðt €Jð	 �8‰8�F×ÑÜ×"Ò"¤1Ð%MÓ#NÓOÐOÙ�2Ð+˜dÒ+ dÑ+ˆà€Jøð? (8”Õ$ûô  ×-Ñ-ó 	2ä"*×"5Ò"5°dÓ";‘K�C˜RØ 4™jŸn™nÓ.Ó.ØŸ	™	¤!Ð$:Ó";Ö<àŸ	™	¤!Ð$MÓ"NÔOô !Ÿš¨Ö1ð	2ú÷W 'ž;ú�\Œ\ðt €Júsi   Á)I:Á:BI(ÄGÄAI(Å"GÅ.I:ÇGÇI(ÇAI%È0I(È20I%É"I(É$I%É%I(É(
I7	É2I:É:
J	c                ó¢  ^• 0 n[        5       nU R                  nUR                  R                  n[        U R	                  S5      5      nU Hø  nUR                  U5      n	[        [        R                  " U R                  U	/5      5      n
U
R                  U	5        U
 Vs1 s H
  o¶" U5      iM     nnUR                  S5        U
(       a  UR                  U5      (       a  SX8'   M›  TU   nU H   nUR                  Xí5      (       d  M  XãU'     MÄ     X‡;   d  [        U4S jU 5       5      (       d  Mç  UR                  U5        Mú     UU4$ s  snf )aU  Figure out what to do about about obsolete revisions

`obsolete_with_successor_in_destination` is a mapping mapping obsolete => successor for all
obsolete nodes to be rebased given in `rebaseobsrevs`.

`obsolete_with_successor_in_rebase_set` is a set with obsolete revisions,
without a successor in destination, that would cause divergence.
s	   extinct()Nc              3  ó,   >#   • U  H	  oT;   v •  M     g 7fr?   r+   )r»   r€  rh   s     €r-   r½   Ú)_compute_obsolete_sets.<locals>.<genexpr>¦  s   øé € Ð/OÂhÀ°W¶Âhùs   ƒ)ri   rû   r#  r$  rH   r2  r   r%  r&  ÚremoveÚdiscardÚissubsetr6  r8  rÌ   )r<   r  rh   rx   ry   r8  r$  ÚextinctrevsÚsrcrevÚsrcnodeÚ
successorsr€  ÚsuccrevsÚdstrevÚsuccrevs     `            r-   rÙ   rÙ   ‚  s.  ø€ ð .0Ð*Ü,/«EÐ)à	�‰€BØ�h‰h×Ñ€GÜ�d—i‘i Ó-Ó.€KÛˆØ—'‘'˜&“/ˆäœ×.Ò.¨t¯}©}¸w¸iÓHÓIˆ
à×Ñ˜'Ô"Ù(2Ó3ª
 1�G˜A–J©
ˆÐ3Ø×Ñ˜ÔÞ˜X×.Ñ.¨{×;Ñ;à=AÐ2Ó:à˜V‘_ˆFÛ#�Ø×#Ñ# G×4Ó4ØEL¸6ÑBÚñ $ð Ó(¬CÔ/OÁhÓ/O×,OÓ,OØ9×=Ñ=¸fÖEñ-  ð2 	/Ø-ðð ùò% 4s   Â Ec                óà   • UR                  5          UR                  5          [        X5      nUR                  SS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NTr¿  )r®  r¯  rX   rñ   )rU   r<   r´  s      r-   Úabortrebaser³  ¯  sA   € Ø	�‰��t—y‘y•{Ü˜dÓ'ˆØ×%Ñ%¨dÐ%Ñ3÷ #�ˆ—{•{ú��ús!   ‘A¢A½AÁ
A	ÁAÁ
A-c                óº  • UR                  5          UR                  5          [        X5      n[        R                  R                  U5      n[        R                  " U5        UR                  SS9nUb  UsS S S 5        sS S S 5        $ UR                  S 5        UR                  5         S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NFr¿  )r®  r¯  rX   rÄ  r   rÁ   r   rÅ  rñ   r(  rp  )rU   r<   r´  rÌ  rÍ  s        r-   Úcontinuerebaserµ  µ  s—   € Ø	�‰��t—y‘y•{Ü˜dÓ'ˆÜ×%Ñ%×*Ñ*¨4Ó0ˆÜ×!Ò! "Ô%Ø×/Ñ/¸Ð/Ð>ˆØÑØ÷ #�{�‰ð 	×Ñ˜TÔ"Ø×ÑÔ÷ #�ˆ—{•{ú��ús/   ‘C¢AB;Á6	CÂ	!B;Â*CÂ;
C		ÃCÃ
Cc           	     ó6  • UR                   R                  S5      (       d  g  [        X0 5      nUR                  5         UR                  n[        UR                  5        Vs/ s H  oUS:¼  d  M
  UPM     sn5      nU R                  [        S5      U R                  [        S5      S5      U-  U R                  [        S5      S5      [        U5      U-
  -  4-  5        g ! [
        R                   a    [        S5      nU R                  U5         g f = fs  snf )	Nr`   s8   rebase: (use "hg rebase --abort" to clear broken state)
r   s#   rebase: %s, %s (rebase --continue)
s
   %d rebaseds   rebase.rebaseds   %d remainings   rebase.remaining)rŠ   r©   rX   r­   r   r   rê   r   r”   rK   rÊ   Úlabel)rU   r<   r´  r   rð   rÏ   Ú
numrebaseds          r-   Úsummaryhookr¹  Á  sô   € Ø�8‰8�?‰?˜>×*Ñ*ØðÜ˜d¨Ó+ˆØ×ÑÔØ—‘ˆô  §¡¤Ó:¢˜A¸±6—a¡Ñ:Ó;€Jà‡H�HÜ	Ð
1Ó2à�H‰H”Q�}Ó%Ð'8Ó9¸JÑFØ�H‰H”Q�Ó'Ð)<Ó=Ü�5‹z˜JÑ&ñ(ð
ñ	
õøô × Ñ ó äÐLÓMˆØ
�‰�ŒÙð	üò
 ;s   £(C  Á"	DÁ/DÃ 0DÄDc           	     óf  • [         R                  " [        R                  S[        5      nUS   R                  SSS [        S5      45        US   R                  SSS[        S5      45        [        R                  R                  S[        5        [        R                  " SS	S
S
[        [        S9  g )Ns   pullr*   r,   r6   s'   rebase working directory to branch headrš  r›  s   specify merge tool for rebaser`   T)ÚfnameÚstopflagÚcontinueflagÚ	abortfuncÚcontinuefunc)r   Úwrapcommandr
   Útabler¤  r  r   r	   ÚsummaryhooksrÌ   r¹  r|   Úaddunfinishedr³  rµ  )rU   Úentrys     r-   ÚuisetuprÅ  Ù  s“   € ä×"Ò"¤8§>¡>°7¼JÓG€EØ	ˆ!�H‡O�OØ	ˆi˜œqÐ!KÓLÐMôð 
ˆ!�H‡O�O�T˜7 C¬Ð+KÓ)LÐMÔNÜ×Ñ×Ñ˜Y¬Ô4Ü×ÒØØØØÜÜ#ór,   r?   )F)NFNT)Wr‹  Ú
__future__r   rH  Úmercurial.i18nr   Úmercurial.noder   r   r   Ú	mercurialr   r	   r
   r   r   r   r   r   r   rI  r   rÄ  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r|   r    rÈ   rÇ   rÆ   ÚcmdtablerS   ÚconfigtableÚ
configitemÚ
testedwithr.   r4   r=   ÚrevsetpredicaterE   rQ   rV   rX   Ú
dryrunoptsÚformatteroptsÚconfirmoptsÚCATEGORY_CHANGE_MANAGEMENTr¶  r­  r±  r¸  rÆ  rý   r6  r7  rE  rB  rÛ   r'  rC  rR  ra  rÇ  rì   ré   rë   r   rö   rc  r¤  rÙ   r³  rµ  r¹  rÅ  r+   r,   r-   Ú<module>rÓ     s¤  ðñõ #ã 	å ÷ñ ÷
÷ ÷ ÷ ÷ ÷ õ ðB €Ø€
ò ,€à€Ø
×
Ò
˜HÓ
%€à€Ø×!Ò! +Ó.€
Ù 
ØØ#Øòð #€
òò$ô
ð ×+Ò+Ó-€ñ �Ó ñ
Eó !ð
Eñ Ð)Ó*ñ#ó +ð#ò,÷Jñ JñZ 	Øð ØØÙÐFÓGÙˆf‹Ið	
ð ØØÙÐNÓOÙˆf‹Ið	
ð 
ˆv�r™1Ð6Ó7¹¸6»ÐCàØØÙÐ4Ó5Ùˆf‹Ið	
ð 
ˆk˜5¡!Ð$FÓ"GÐHàØØÙÐ4Ó5Ùˆg‹Jð	
ð 
ˆw˜™qÐ!DÓEÐFàØØÙÐ7Ó8Ùˆg‹Jð	
ð 
ˆw˜™qÐ!<Ó=Ð>Ø	ˆo˜u¡aÐ(EÓ&FÐGØ	ˆy˜%¡ ?Ó!3Ð4Ø	ˆ~˜u¡a¨Ó&8Ð9Ø	ˆw˜™QÐ4Ó5Ð6Ø	ˆg�u™aÐ :Ó;Ð<Ø	ˆ{˜E¡1Ð%FÓ#GÐHØ	ˆx˜¡Ð"@Ó AÐBàØØÙð:óð		
ð_8ðr ×Ññs9ðt ×Ññu:ðv ×Ññw;ñx ÐGÓHØ×3Ñ3ñ@ñBE1óC@ðBE1òP<ô~6ò
E&òP^òBò4ò8ò$2>òjKò\Fò,òu$òpò3òlòAò
ò<òò4@&ðR Ø
ØØô9NòxBòJ*òZ4ò	òó0r,   