
    6ho                    `   S SK Jr  SSKJr  SSK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  SSKJrJr  \R,                  r\R0                  r\R2                  r\R4                  r\R6                  r\R8                  rSS jrS	 rS
r\S-   \SSSS.r \ S   \ S'   0 r!\RD                  " \!5      r"\"" SS1S9S 5       r#\"" SSS1S9S 5       r$\"" SS1S9S 5       r%\"" SS1S9S 5       r&\"" SSS1S9S 5       r'\"" SS1S9S  5       r(\"" S!SS1S9S" 5       r)\"" S#SS1S9S$ 5       r*\"" S%S1S9S& 5       r+\"" S'S1S9S( 5       r,\"" S)S*S1S9S+ 5       r-\"" S,S*1S9S- 5       r.\"" S.S1S9S/ 5       r/\"" S0S1S9S1 5       r0SS2 jr1SS3 jr2\"" S41 S5kS9S6 5       r3\"" S7S81S9S9 5       r4\"" S:SS81S9S; 5       r5\"" S<SS81S9S= 5       r6\"" S>SS81S9S? 5       r7\"" S@S1S9SA 5       r8\"" SB1 SCkS9SD 5       r9SE r:SF r;SG r<\"" SHSIS9SJ 5       r=\"" SKSIS9SL 5       r>\"" SM1 SCkS9SN 5       r?SSO jr@\"" SP1 SCkS9SQ 5       rA\"" SR1 SCkS9SS 5       rBST rCSS1\ClD        \"" SUSS1S9SV 5       rE\"" SW1 SXkS9SY 5       rFSZ rG\"" S[SS1S9S\ 5       rH\"" S]SS1S9S^ 5       rI\"" S_S1S9S` 5       rJ\"" SaS1S9Sb 5       rK\"" ScS*S1S9Sd 5       rL\"" SeSf1S9Sg 5       rM\"" ShS1S9Si 5       rN\"" SjSS1S9Sk 5       rO\"" SlS1S9Sm 5       rP\"" SnSf1S9So 5       rQ\"" Sp1 SqkS9Sr 5       rR\"" SsSS1S9St 5       rS\"" SuSS1S9Sv 5       rT\"" SwS1S9Sx 5       rU\"" SyS1S9Sz 5       rV\"" S{S1S9S| 5       rW\"" S}S1S9S~ 5       rX\"" SS1S9S 5       rY\"" SS1S9S 5       rZ\"" SSS1S9S 5       r[\"" SS1S9S 5       r\\"" SS1S9S 5       r]\"" SS1S9S 5       r^\"" SS1S9S 5       r_\"" SSS1S9S 5       r`\"" SS*1S9S 5       ra\"" SS1S9S 5       rb\"" SS1S9S 5       rc\"" SS*1S9S 5       rd\"" SSS1S9S 5       reS rf\!R                  5       rhg)    )annotations   )_)hexwdirrev)diffutilencodingerrorhbisecti18nobsutilpatchpycompat	registrarscmutiltemplateutilutil)
stringutilurlutilNc                  ^^ U R                  US5      mU R                  US5      mU R                  US5      nSnUb"  USU-   -  n[        R                  " U5      S   nO[        R                  nXC;  a
  SSSS	/40X4'   X4   nTR                  5       nU/nU(       GaF  UR                  5       nXv;   a  M  TU   mTR                  5        V	s/ s HC  n	TR                  U	5      (       d  M  TR                  U	5      S
:w  d  M2  U" U	5      (       d  MA  U	PME     n
n	U
(       a3  TR                  5       S   S[        U
5       V	s/ s H  oPM     sn	4Xg'   M   TR                  5        Vs/ s H  oUR                  5          PM     nn[        U5      S:  a6  US   S   US   S   :X  a  [        U5      u  pnOUU4S jn[        UUS9u  pnO	US   u  pn XS-   U4Xg'   U(       a  GMF  Xg   $ s  sn	f s  sn	f s  snf ! [         a<    UR                  U5        UR!                  S TR                  5        5       5         GM  f = f)z8return date, distance and name for the latest tag of rev   repo   ctx   caches
   latesttags   -   r   s   nulls   localr   c                D  > U S   S   nTR                  5       cN  TR                  5        Vs/ s H  o"R                  5       PM     nnTR                  SX15      n[        U5      S-   nO,TR                  STR                  5       U5      n[        U5      nU* U S   /$ s  snf )Nr   r      only(%ld, %s)r   s   only(%d, %s))revparentsrevslen)xtagcprevschangeschangessincetagctxrepos         6/usr/lib/python3/dist-packages/mercurial/templatekw.pykeygetlatesttags.<locals>.keyV   s    d1g779,69kkm$DmUUWmE$D&*ii0@%&MG.1'lQ.>O&*iiC&PG.1'lO "1 0!A$77 %Es   B)r,   c              3  @   #    U  H  oR                  5       v   M     g 7fN)r   ).0ps     r+   	<genexpr> getlatesttags.<locals>.<genexpr>j   s     7A   )resourcer   stringmatcherr   alwaysr   poptagstagtypedatesortedr    r"   maxKeyErrorappendextend)contextmappingpatterncache	cachenamematch
latesttagsr   todotr9   r1   ptagspdatepdistptagr,   r)   r*   s                    @@r+   getlatesttagsrN   +   s?   GW-D


7F
+CWh/EITG^#	((1!4 Ay 12!J
'')C5D
hhj3i XXZ
Q $(LLOx$? DI!H  	 

 !hhjmQF4L0ILqL0IIJO	25++-@-Q(-E@5zA~8A;%(1+- *-U&E$8 *-U)<&E$%*1X"d  D0
Y $Z ?Q
 1J A2  	KKKK777		sO   G(*G(G(G(?G-G7 %G21G7 3G7 G7 2G7 7AH=<H=c                    [         R                  n U " S5      n[        [        UR	                  5        Vs/ s H  o"R                  SS5      S   PM     sn[        R                  " U5      R	                  S5      5      5      $ s  snf )z"Return a dict of log column labelss  bookmark:    %s
branch:      %s
changeset:   %s
copies:      %s
date:        %s
extra:       %s=%s
files+:      %s
files-:      %s
files:       %s
instability: %s
manifest:    %s
obsolete:    %s
parent:      %s
phase:       %s
summary:     %s
tag:         %s
user:        %s
   :r   r   T)r   identitydictzip
splitlinessplitr   r   )r   columnsss      r+   getlogcolumnsrX   p   sw    A	G& *1*<*<*>?*>QWWT1a *>?FF7O&&t,	
 ?s   Bs   {rev}:{node|formatnode}    s   {name} ({source})s   {key}={value}s   {key}={value|stringescape})   parent   manifest	   file_copy   envvar   extrar\   s   filecopys   authorr   )requiresc                    [        X5      $ )zAlias for ``{user}``)showuserrA   rB   s     r+   
showauthorrc      s     G%%    s   bisectr   c                    U R                  US5      nU R                  US5      n[        R                  " X#R                  5       5      $ )z'String. The changeset bisection status.r   r   )r5   r   labelnode)rA   rB   r*   r)   s       r+   
showbisectrh      s=     GW-D


7F
+C==xxz**rd      branchc                F    U R                  US5      nUR                  5       $ )zEString. The name of the branch on which the changeset was
committed.
r   )r5   branchrA   rB   r)   s      r+   
showbranchrm      s"    
 

7F
+C::<rd      branchesc                    U R                  US5      nUR                  5       nUS:w  a  [        XSU/SS9$ [        XS/ SS9$ )zList of strings. The name of the branch on which the
changeset was committed. Will be empty if the branch name was
default. (DEPRECATED)
r   s   defaultri   rn   plural)r5   rk   
compatlist)rA   rB   r)   rk   s       r+   showbranchesrs      sT     

7F
+CZZ\Fi&+
 	
 g	2kJJrd   s	   bookmarksc                   ^ U R                  US5      nU R                  US5      nUR                  5       nUR                  mU4S jn[        XSU5      n[	        XdU[
        R                  5      $ )zsList of strings. Any bookmarks associated with the
changeset. Also sets 'active', the name of the active bookmark.
r   r   c                   > U TTS.$ )N)   bookmarks   actives   current )vactives    r+   <lambda>showbookmarks.<locals>.<lambda>   s    aFOrd   rv   )r5   	bookmarks_activebookmark_showcompatlist_hybridr   rQ   )rA   rB   r*   r)   r|   makemapfry   s          @r+   showbookmarksr      sg    
 GW-D


7F
+CI!!FOG+yAA1(*;*;<<rd      childrenc                    U R                  US5      nUR                  5        Vs/ s H  nSUR                  5       U4-  PM     nn[        XSUSS9$ s  snf )z/List of strings. The children of the changeset.r   s   %d:%sr   s   child)element)r5   childrenr   rr   )rA   rB   r)   cctx	childrevss        r+   showchildrenr      s\     

7F
+C;><<>J>4TXXZ..>IJ+y(  Ks   As   currentbookmarkc                    [        X5      $ )zQString. The active bookmark, if it is associated with the changeset.
(DEPRECATED))showactivebookmarkrb   s     r+   showcurrentbookmarkr      s     g//rd   s   activebookmarkc                    U R                  US5      nU R                  US5      nUR                  nU(       a  XCR                  5       ;   a  U$ g)zDString. The active bookmark, if it is associated with the changeset.r   r   rd   )r5   r}   r|   )rA   rB   r*   r)   ry   s        r+   r   r      sI     GW-D


7F
+C!!F&MMO+rd   s   datec                l    U R                  US5      n[        R                  " UR                  5       SS9$ )z<Date information. The date when the changeset was committed.r   s   %d.0%d)showfmt)r5   r   r;   rl   s      r+   showdater      s1     

7F
+C SXXZ;;rd   s   descc                   U R                  US5      nUR                  5       n[        U[        R                  5      (       a8  [        R
                  " [        R                  " U5      R                  5       5      $ [        U[        R                  5      (       a$  [        R                  " UR                  5       5      $ UR                  5       $ )z.String. The text of the changeset description.r   )	r5   description
isinstancer	   localstrtolocal	fromlocalstripsafelocalstr)rA   rB   r)   rW   s       r+   showdescriptionr      s     

7F
+CA!X&&'' 2 21 5 ; ; =>>	Ax,,	-	-$$QWWY//wwyrd   s   diffstat   uic                l   U R                  US5      nU R                  US5      n[        R                  " USS05      nUR                  [        R                  " U5      US9n[
        R                  " [        R                  " U5      5      n[
        R                  " U5      u  pxpnS[        U5      X4-  $ )zaString. Statistics of changes with the following format:
"modified files: +added/-removed lines"
r   r   s   noprefixF)optss   %d: +%d/-%d)r5   r   diffalloptsdiffdiff_parentr   diffstatdatar   	iterlinesdiffstatsumr"   )rA   rB   uir)   diffoptsr   statsmaxnamemaxtotaladdsremovesbinarys               r+   showdiffstatr   
  s    
 
		'5	)B


7F
+C##Be(<=H88H((-H8=Dt~~d34E/4/@/@/G,GtfSZ777rd      envvarsc                   ^ U R                  US5      nUR                  5       m[        R                  " U4S j[	        T5       5       5      m[        XSTSS9$ )z5A dictionary of environment variables. (EXPERIMENTAL)r   c              3  0   >#    U  H  oTU   4v   M     g 7fr/   rw   )r0   kenvs     r+   r2   showenvvars.<locals>.<genexpr>  s     9[CF[   r]   r   rp   )r5   exportableenvironr   sortdictr<   
compatdict)rA   rB   r   r   s      @r+   showenvvarsr     sN     
		'5	)B



 C
--9VC[9
9Cg	3zJJrd      extrasc                  ^ U R                  US5      nUR                  5       m[        R                  " U4S j[	        T5       5       5      mU4S jnT Vs/ s H
  oC" U5      PM     nn[        XSUSS9n[        UTUU4S j5      $ s  snf )zNList of dicts with key, value entries of the 'extras'
field of this changeset.r   c              3  0   >#    U  H  oTU   4v   M     g 7fr/   rw   )r0   r   extrass     r+   r2   showextras.<locals>.<genexpr>'  s     B>avay>>r   c                   > U TU    S.$ )N)s   keys   valuerw   r   r   s    r+   rz   showextras.<locals>.<lambda>(  s    fQi8rd   r^   r   rp   c                @   > SU [         R                  " TU    5      4-  $ Ns   %s=%s)r   	escapestrr   s    r+   rz   r   /  s    (a!5!5fQi!@AArd   )r5   extrar   r   r<   r~   r   )rA   rB   r)   r   r   r%   r   r   s          @r+   
showextrasr   !  s     

7F
+CYY[F]]B6&>BBF8G#$VVA$(AiHA	A	  	%s   Bs
   _fast_rankc                X    U R                  US5      nUR                  5       nUc  gSU-  $ )zthe rank of a changeset if cached

The rank of a revision is the size of the sub-graph it defines as a head.
Equivalently, the rank of a revision `r` is the size of the set
`ancestors(r)`, `r` included.
r   Ns   %d)r5   	fast_rank)rA   rB   r)   ranks       r+   r   r   3  s3     

7F
+C==?D|4<rd   c                    U R                  US5      nU R                  US5      nSU;  d	  US   U:  a&  UR                  5       R                  X2X"S9nXTS'   X$S'   US   $ )Nr      revcaches
   filestatus   filestatusall)listignored	listcleanlistunknown)r5   p1status)rA   rB   listallr)   revcachestats         r+   _getfilestatusr   B  sw    


7F
+C5HH$1A(BW(Lvvx  
 #'%,!"M""rd   c                   ^ U R                  US5      nSU;  d	  US   U:  aV  [        XUS9n0 =US'   n[        [        R                  " S5      U5       H!  u  mnUR                  U4S jU 5       5        M#     US   $ )Nr   s   filestatusmapr   r   s   MAR!?ICc              3  *   >#    U  H  oT4v   M
     g 7fr/   rw   )r0   r   chars     r+   r2   $_getfilestatusmap.<locals>.<genexpr>T  s     4et9es   )r5   r   rS   r   iterbytestrupdate)rA   rB   r   r   r   statmapfilesr   s          @r+   _getfilestatusmapr   N  s    5Hx'84D+E+Og@/11!"Wx33J?FKD%NN4e44 G$%%rd   s   file_copies>   r   r   r   r   c                >   U R                  US5      nU R                  US5      nU R                  US5      nU R                  US5      R                  S5      nUc,  SU;  a  [        R                  " U5      US'   US   nU" U5      n[        R
                  " XSU5      $ )zDList of strings. Files copied in this changeset with
their sources.
r   r   r   r      copiess	   getcopiesr\   )r5   getr   getcopiesfnr   compatfilecopiesdict)rA   rB   r*   r)   rD   copies	getcopiess          r+   showfilecopiesr   X  s     GW-D


7F
+CWh/Eg{377	BF~u$")"5"5d";E,,'	3,,, rd   s   file_copies_switchr   c                    U R                  US5      R                  S5      =(       d    / n[        R                  " XSU5      $ )zVList of strings. Like "file_copies" but displayed
only if the --copied switch is set.
r   r   r\   )r5   r   r   r   )rA   rB   r   s      r+   showfilecopiesswitchr   p  s@    
 g{377	BHbF,,, rd   s	   file_addsc                r    U R                  US5      n[        R                  " XSUR                  5       5      $ )z/List of strings. Files added by this changeset.r   s   file_add)r5   r   compatfileslist
filesaddedrl   s      r+   showfileaddsr   {  s7     

7F
+C''+s~~'7 rd   s	   file_delsc                r    U R                  US5      n[        R                  " XSUR                  5       5      $ )z1List of strings. Files removed by this changeset.r   s   file_del)r5   r   r   filesremovedrl   s      r+   showfiledelsr     s9     

7F
+C''+s'7'7'9 rd   s	   file_modsc                r    U R                  US5      n[        R                  " XSUR                  5       5      $ )z2List of strings. Files modified by this changeset.r   s   file_mod)r5   r   r   filesmodifiedrl   s      r+   showfilemodsr     s9     

7F
+C''+s'8'8': rd   s   filesc                r    U R                  US5      n[        R                  " XSUR                  5       5      $ )zJList of strings. All files modified, added, or removed by this
changeset.
r   s   file)r5   r   r   r   rl   s      r+   	showfilesr     s1    
 

7F
+C'''399;OOrd   s	   graphnode>   r   r   r   c                    U R                  US5      nU R                  US5      nU R                  US5      n[        X#U5      $ )zQString. The character representing the changeset node in an ASCII
revision graph.r   r   r   )r5   getgraphnode)rA   rB   r*   r)   rD   s        r+   showgraphnoder     sG     GW-D


7F
+CWh/E5))rd   c                >    [        XU5      =(       d    [        U5      $ r/   )getgraphnodecurrentgetgraphnodesymbol)r*   r)   rD   s      r+   r   r     s    t%0K4Fs4KKrd   c                   U R                   R                  5       nUS   U R                  :X  a  US S nUR                  5       U;   a  gUR	                  S5      nUcU  SSKJn  UR                  R                  U 5      nUR                  5       (       a  UR                  UR                  4nOSnXBS'   UR                  5       U;   a  gg)Nr      @s   merge_nodes)
mergestaterw      %rd   )dirstater    nullidrg   r    r   readunresolvedcountlocalother)r*   r)   rD   wpnodesmerge_nodesmergestatemodr   s          r+   r   r     s    mm##%GqzT[[ "1+
xxzWii/5&1166t<J))++)//1A1AB $/.!88:$rd   c                    U R                  5       (       a  gU R                  5       (       a  gU R                  5       (       a  gg)N   x   *   _   o)obsolete
isunstableclosesbranchr)   s    r+   r   r     s5    
||~~								rd   s
   graphwidthrw   c                    g)z?Integer. The width of the graph drawn by 'log --graph' or zero.r   rw   rb   s     r+   showgraphwidthr    s     rd   s   indexc                @    [         R                  " [        S5      5      e)z7Integer. The current iteration of the loop. (0 indexed)s   can't use index in this context)r
   Abortr   rb   s     r+   	showindexr    s     ++a:;
<<rd   	   latesttagc                    [        XS5      $ )zList of strings. The global tags on the most recent globally
tagged ancestor of this changeset.  If no such tags exist, the list
consists of the single string "null".
N)showlatesttagsrb   s     r+   showlatesttagr    s     'D11rd   c                   ^ [        XU5      mU4S jnTS   n[        XSUSS9n[        XTU[        R                  5      $ )z4helper method for the latesttag keyword and functionc                    > [         TS   U U S.$ )Nr   )s   changess   distancer     tag)_showchangessincetag)rx   rG   s    r+   rz    showlatesttags.<locals>.<lambda>  s    (]	rd   r   r  rP   )	separator)rN   r~   r   r   rQ   )rA   rB   rC   r   r9   r   rG   s         @r+   r  r    sF    w9J
G a=D,MA1GX%6%677rd   s   latesttagdistancec                    [        X5      S   $ )z(Integer. Longest path to the latest tag.r   )rN   rb   s     r+   showlatesttagdistancer     s     *1--rd   s   changessincelatesttagc                b    [        X5      S   S   nU R                  USU05      n[        X5      $ )z-Integer. All ancestors not in the latest tag.r   r   r  )rN   
overlaymapr  )rA   rB   r$   s      r+   showchangessincelatesttagr#    s9     
)!
,Q
/C  63-8G11rd   c                Z   U R                  US5      nU R                  US5      nSnUR                  5       /nU R                  US5      nUR                  5       c/  SnUR                  5        Vs/ s H  owR                  5       PM     nn[	        UR                  SXV5      5      U-   $ s  snf )Nr   r   r   r  r   r   )r5   r   symbolr    r"   r!   )rA   rB   r*   r)   offsetr!   r$   r1   s           r+   r  r    s    GW-D


7F
+CFGGI;D
..&
)C wwy!$/A/tyy)456?? 0s   /B(r[   c                  ^^ U R                  US5      nU R                  US5      nUR                  5       nUc3  UR                  R                  n[        mUR                  R
                  mO&UR                  R                  U5      m[        U5      mU R                  UTTS.5      nU R                  SU5      n[        R                  " US UUU4S j5      $ )Nr   r      rev   noder[   c                   > TTS.$ )Nr(  rw   )r#   mhexmrevs    r+   rz   showmanifest.<locals>.<lambda>)  s
    td;rd   )r5   manifestnodenodeconstantswdiridr   wdirhexmanifestlogr   r   r"  processr   
hybriditem)rA   rB   r*   r)   mnoder   r,  r-  s         @@r+   showmanifestr7    s    GW-D


7F
+CE}""))!!))##E*5z  4$*GHGW-A""	4; rd   s   obsfate>   r   r   r   c                *   [        X5      nU R                  US5      nU R                  US5      n/ nUR                  X5       HA  n[        R                  " X4US   US   [
        R                  5      nUR                  U5        MC     [        XSU5      $ )Nr   r   
   successors   markerss   fate)	showsuccsandmarkersr5   tovaluer   obsfateprinterr   formatchangeidr?   rr   )rA   rB   succsandmarkersr   r*   valuesr#   rx   s           r+   showobsfaterA  -  s     *';O			'5	)BGW-DF$$W6""a&*w7M7M
 	a	 7 g88rd   c                    U R                  US5      nU R                  US5      nUR                  R                  U5      nUc  gUR                  X4R                  5       5      n[	        XUR
                  XbS9$ )z<helper method to generate a template keyword for a namespacer   r   Nrp   )r5   namesr   rg   rr   templatename)rA   rB   	namespacer*   r)   nsrC  s          r+   	shownamesrG  B  sn    GW-D


7F
+C			"B	z 	HHT88:&E"//5 rd   s
   namespacesc                  ^	^
 U R                  US5      m
U R                  US5      n[        R                  " 5       m	S nT
R                  R	                  5        HV  u  pEUR                  T
UR                  5       5      n[        XSU5      n[        XvU" U5      [        R                  5      T	U'   MX     [        XS[        T	5      5      nU	U
4S jn[        UT	U[        R                  5      $ )z>Dict of lists. Names attached to this changeset per
namespace.r   r   c                   ^  U 4S j$ )Nc                $   > SU TR                   U 0$ )N   name)rD  )rx   rF  s    r+   rz   5shownamespaces.<locals>.makensmapfn.<locals>.<lambda>\  s    '1booq9rd   rw   )rF  s   `r+   makensmapfn#shownamespaces.<locals>.makensmapfnZ  s	    99rd   rK  	   namespacec                t   > U TU    TR                   U    R                  TR                   U    R                  S.$ )N)rO  s   namess   builtins	   colorname)rC  builtin	colorname)rF  
namespacesr*   s    r+   r   shownamespaces.<locals>.makemape  s9     n

2..**R.22	
 	
rd   )r5   r   r   rC  itemsrg   r~   r   r   rQ   list)rA   rB   r)   rM  r   rF  rC  r   r   rS  r*   s            @@r+   shownamespacesrW  Q  s     GW-D


7F
+CJ: !!#sxxz*Ggu=+b/8;L;LM
1 $
 	,Z8HIA
 1j'8+<+<==rd   s   negrevc                    U R                  US5      nUR                  5       nUb  US:  a  gU R                  US5      nU[        U5      -
  $ )ziInteger. The repository-local changeset negative revision number,
which counts in the opposite direction.r   Nr   r   )r5   r   r"   )rA   rB   r)   r   r*   s        r+   
shownegrevrY  p  sO     

7F
+C
'')C
{cAgGW-DT?rd   r*  c                F    U R                  US5      nUR                  5       $ )zMString. The changeset identification hash, as a 40 hexadecimal
digit string.
r   )r5   r   rl   s      r+   shownoder[  |  s"    
 

7F
+C779rd      obsoletec                T    U R                  US5      nUR                  5       (       a  gg)z9String. Whether the changeset is obsolete. (EXPERIMENTAL)r   r\  rd   )r5   r  rl   s      r+   showobsoleter^    s'     

7F
+C
||~~rd   s   onelinesummaryc                x    SSK Jn  U R                  US5      nU R                  US5      nUR                  X45      $ )zString. A one-line summary for the ctx (not including trailing newline).
The default template be overridden in command-templates.oneline-summary.r   )cmdutilr   r   )r   r`  r5   format_changeset_summary)rA   rB   r`  r   r)   s        r+   showonelinesummaryrb    s<     			'5	)B


7F
+C++B44rd      path   fctxc                F    U R                  US5      nUR                  5       $ )zDString. Repository-absolute path of the current file. (EXPERIMENTAL)rd  )r5   pathrA   rB   fctxs      r+   showpathri    "     GW-D99;rd   s   peerurlsc                  ^^ U R                  US5      nUR                  R                  m[        R                  " UR                  5      n[
        R                  " S U 5       5      mU4S jnU4S jn[        STXE5      $ )z_A dictionary of repository locations defined in the [paths] section
of your configuration file.r   c              3  @   #    U  H  u  pXR                   4v   M     g 7fr/   )rawloc)r0   r   r1   s      r+   r2   showpeerurls.<locals>.<genexpr>  s     =941!XX9r4   c                  > TU    nSU 0n[        U5      S:X  a_  US   R                  US'   US   R                  R                  5       n[        R
                  " [        U5      5      nUR                  U5        [        R
                  " 5       nU H`  n[        R
                  " [        UR                  R                  5       5      5      nUR                  US'   UR                  U5        U/US'   Mb     U$ )NrK  r   r   s   urls   urls)r"   rm  
suboptionsrU  r   r   r<   r   )r   psdsub_opts	path_dictr1   pathss         r+   r   showpeerurls.<locals>.makemap  s    1XaLr7a<1AfI!u''--/H}}VH%56HHHXMMO	A}}VALL,>,>,@%ABH !IfX&#AgJ	 
 rd   c                   > SU TU    4-  $ r   rw   )r   urlss    r+   
format_one showpeerurls.<locals>.format_one  s    1d1g,&&rd   N)r5   r   ru  r   
list_pathsr   r   r   )rA   rB   r*   	all_pathsr   ry  ru  rx  s         @@r+   showpeerurlsr}    sg     GW-DGGMME""477+I===9==D ' 4w33rd   s   predecessorsc                
  ^ U R                  US5      mU R                  US5      n[        [        R                  " TUR	                  5       5      5      n[
        R                  " [        U5      n[        SUU4S jU4S j5      $ )zDReturns the list of the closest visible predecessors. (EXPERIMENTAL)r   r   Nc                   > STU    0$ Nr   rw   r#   r*   s    r+   rz   "showpredecessors.<locals>.<lambda>      647#rd   c                6   > [         R                  " TU    5      $ r/   r   r>  r  s    r+   rz   r        '((a1rd   )	r5   r<   r   closestpredecessorsrg   r   maplistr   r   )rA   rB   r)   predecessorsr*   s       @r+   showpredecessorsr    sq     GW-D


7F
+C'55dCHHJGHL##C6L#1	 rd   s   reporootc                >    U R                  US5      nUR                  $ )z5String. The root directory of the current repository.r   )r5   root)rA   rB   r*   s      r+   showreporootr    s      GW-D99rd   s   sizec                F    U R                  US5      nUR                  5       $ )z:Integer. Size of the current file in bytes. (EXPERIMENTAL)rd  )r5   sizerg  s      r+   showsizer    rj  rd   s   status>   r   rd  r   c                    [         R                  " XS5      n[         R                  " XU5      nU(       d  g[        X5      nX#;  a
  [        XSS9nUR	                  U5      $ )z7String. Status code of the current file. (EXPERIMENTAL)rc  NTr   )r   	runsymbol	stringifyr   r   )rA   rB   rf  r   s       r+   
showstatusr    sY     !!'G<D!!'D9D1G#GdC;;trd   s   successorssetsc           
       ^ ^^	^
 T R                  TS5      m
T R                  TS5      n/ nUR                  5       (       a  [        R                  " T
UR	                  5       SS9nU VVs/ s H  oU Vs/ s H  n[        U5      PM     snPM      nnnU H*  n[        SUU
4S jU
4S j5      nUR                  U5        M,     U U4S jm	U	4S	 jn[        U" U5      US
 [        R                  5      $ s  snf s  snnf )zReturns a string of sets of successors for a changectx. Format used
is: [ctx1, ctx2], [ctx3] if ctx has been split into ctx1 and ctx2
while also diverged into ctx3. (EXPERIMENTAL)r   r   T)closestNc                   > STU    0$ r  rw   r  s    r+   rz   $showsuccessorssets.<locals>.<lambda>      647+rd   c                6   > [         R                  " TU    5      $ r/   r  r  s    r+   rz   r     s    '00a9rd   c                4   > [         R                  " TTU 5      $ r/   )r   r  )rr  rA   rB   s    r+   render"showsuccessorssets.<locals>.render  s    %%gw::rd   c              3  H   >#    SR                  U4S jU  5       5      v   g 7f)Ns   ; c              3  4   >#    U  H  nT" U5      v   M     g 7fr/   rw   )r0   rr  r  s     r+   r2   2showsuccessorssets.<locals>.gen.<locals>.<genexpr>	  s     1DqDs   )join)datar  s    r+   genshowsuccessorssets.<locals>.gen  s     jj1D111s   "c                
    SU 0$ )Ns   successorsetrw   )r#   s    r+   rz   r    s	    OQ#7rd   )
r5   r  r   successorssetsrg   r   r   r?   r   rQ   )rA   rB   r)   r  ssetsssnhr  r  r*   s   ``       @@r+   showsuccessorssetsr    s    
 GW-D


7F
+CD
||~~&&tSXXZF056""%"Q#a&"%6B+9	A KKN ;2 D	479J9J % &6s   )	C62C1C61C6s   succsandmarkersc                F  ^ U R                  US5      mU R                  US5      n[        R                  " TU5      nUc  / n/ nU H  nUS   nU Vs/ s H  n[        U5      PM     nn[	        SUU4S jU4S j5      n/ nUS    Hg  n	[        U	S   5      n
[        S	 U	S
    5       5      nSnU	S   b  [        S U	S    5       5      nX4U	SS -   U4-   U	SS -   nUR                  U5        Mi     UR                  XhS.5        M     [        R                  " U5      $ s  snf )zReturns a list of dict for each final successor of ctx. The dict
contains successors node id in "successors" keys and the list of
obs-markers from ctx to the set of successors in "markers".
(EXPERIMENTAL)
r   r   Nr9  c                   > STU    0$ r  rw   r  s    r+   rz   %showsuccsandmarkers.<locals>.<lambda>)  s    vtAw'rd   c                6   > [         R                  " TU    5      $ r/   r  r  s    r+   rz   r  *  s    g,,T!W5rd   r:  r   c              3  8   #    U  H  n[        U5      v   M     g 7fr/   r   r0   r  s     r+   r2   &showsuccsandmarkers.<locals>.<genexpr>1  s     1DqCFFD   r      c              3  8   #    U  H  n[        U5      v   M     g 7fr/   r  r  s     r+   r2   r  4  s     "84a3q664r  r      )r9  r:  )	r5   r   successorsandmarkersr   r   tupler?   r   mappinglist)rA   rB   r)   r@  r  i
successorsr  finalmarkersmhexprechexsucs
hexparents	newmarkerr*   s                 @r+   r;  r;    sC    GW-D


7F
+C))$4F~ D}%
&01jc!fj
1'5	

 :A!A$iG1AaD11GJt""81Q4"88
 *QqV3zmCaeKI	*  	JIJ/ 2 ##D))+ 2s   Ds   p1c                x    U R                  US5      n[        R                  " SUR                  5       0[        S9$ )z}Changeset. The changeset's first parent. ``{p1.rev}`` for the revision
number, and ``{p1.node}`` for the identification hash.r   tmpl)r5   r   mappingdictr   _changeidtmplrl   s      r+   showp1r  =  4     

7F
+C##VSVVX$6]KKrd   s   p2c                x    U R                  US5      n[        R                  " SUR                  5       0[        S9$ )z~Changeset. The changeset's second parent. ``{p2.rev}`` for the revision
number, and ``{p2.node}`` for the identification hash.r   r  )r5   r   r  p2r  rl   s      r+   showp2r  E  r  rd   s   p1revc                b    U R                  US5      nUR                  5       R                  5       $ )zInteger. The repository-local revision number of the changeset's
first parent, or -1 if the changeset has no parents. (DEPRECATED)r   )r5   r   r   rl   s      r+   	showp1revr  M  (     

7F
+C668<<>rd   s   p2revc                b    U R                  US5      nUR                  5       R                  5       $ )zInteger. The repository-local revision number of the changeset's
second parent, or -1 if the changeset has no second parent. (DEPRECATED)r   )r5   r  r   rl   s      r+   	showp2revr  U  r  rd   s   p1nodec                b    U R                  US5      nUR                  5       R                  5       $ )zString. The identification hash of the changeset's first parent,
as a 40 digit hexadecimal string. If the changeset has no parents, all
digits are 0. (DEPRECATED)r   )r5   r   r   rl   s      r+   
showp1noder  ]  (    
 

7F
+C668<<>rd   s   p2nodec                b    U R                  US5      nUR                  5       R                  5       $ )zString. The identification hash of the changeset's second
parent, as a 40 digit hexadecimal string. If the changeset has no second
parent, all digits are 0. (DEPRECATED)r   )r5   r  r   rl   s      r+   
showp2noder  f  r  rd   s   parentsc                  ^ U R                  US5      mU R                  US5      n[        R                  " TU5      nU Vs/ s H  oDR                  5       PM     nnU Vs/ s H8  nSUR                  5       4SUR	                  5       4SUR                  5       4/PM:     nn[        XSU5      n[        UUU4S jU4S j[        S	9$ s  snf s  snf )
zList of strings. The parents of the changeset in "rev:node"
format. If the changeset has only one "natural" parent (the predecessor
revision) nothing is shown.r   r   r)  r*     phaserZ   c                   > STU    0$ r  rw   r  s    r+   rz   showparents.<locals>.<lambda>  r  rd   c                6   > [         R                  " TU    5      $ r/   r  r  s    r+   rz   r    r  rd   )keytype)	r5   r   meaningfulparentsr   r   phasestrr~   r   int)	rA   rB   r)   pctxsr1   r&   r    r   r*   s	           @r+   showparentsr  o  s    
 GW-D


7F
+C%%dC0E#$eUUWeE$ A !%%'	Waeeg.1::<0HI   	)W=A	#1  %s   C ?Cr  c                F    U R                  US5      nUR                  5       $ )z!String. The changeset phase name.r   )r5   r  rl   s      r+   	showphaser    s"     

7F
+C<<>rd   s   phaseidxc                F    U R                  US5      nUR                  5       $ )z.Integer. The changeset phase index. (ADVANCED)r   )r5   phaserl   s      r+   showphaseidxr    s"     

7F
+C99;rd   r)  c                R    U R                  US5      n[        R                  " U5      $ )z8Integer. The repository-local changeset revision number.r   )r5   r   intrevrl   s      r+   showrevr    s%     

7F
+C>>#rd   s   subreposc                t   U R                  US5      nUR                  nU(       d  [        XS/ 5      $ UR                  5       R                  =(       d    0 n/ nU H%  nXd;  d  X6   XF   :w  d  M  UR	                  U5        M'     U H  nXc;  d  M
  UR	                  U5        M     [        XS[        U5      5      $ )z:List of strings. Updated subrepositories in the changeset.r   s   subrepo)r5   substaterr   r   r?   r<   )rA   rB   r)   r  	psubstatesubrepossubs          r+   showsubreposr    s     

7F
+C||H'J;;!!'RIH8=IN#BOOC   OOC   g
F84DEErd      tagsc                    [        XS5      $ )z8List of strings. Any tags associated with the changeset.r  )rG  rb   s     r+   showtagsr    s     Ww//rd   s	   termwidthc                F    U R                  US5      nUR                  5       $ )z+Integer. The width of the current terminal.r   )r5   	termwidthrA   rB   r   s      r+   showtermwidthr    s"     
		'5	)B<<>rd   s   userc                F    U R                  US5      nUR                  5       $ )z/String. The unmodified author of the changeset.r   )r5   userrl   s      r+   ra   ra     s"     

7F
+C88:rd      instabilitiesc                \    U R                  US5      n[        U USUR                  5       SS9$ )zQList of strings. Evolution instabilities affecting the changeset.
(EXPERIMENTAL)
r   s   instabilityr  rp   )r5   rr   instabilitiesrl   s      r+   showinstabilitiesr    s;    
 

7F
+C rd   s	   verbosityc                    U R                  US5      nUR                  (       a  gUR                  (       a  gUR                  (       a  gg)zKString. The current output verbosity in 'debug', 'quiet', 'verbose',
or ''.r   s   debugs   quiets   verboserd   )r5   	debugflagquietverboser  s      r+   showverbosityr    s7     
		'5	)B	||		rd   s   whyunstablec           	     x  ^	^
 U R                  US5      m
U R                  US5      nS m	[        R                  " T
U5      nU HY  nUR                  S5      (       d  M  US   n[	        SU Vs/ s H  ofR                  5       PM     snU
4S jU	U
4S j5      nXtS'   M[     Sn[        R                  " X8S	S
9$ s  snf )zJList of dicts explaining all instabilities of a changeset.
(EXPERIMENTAL)
r   r   c                T    S[         R                  " U 5      U R                  5       4-  $ )Ns   %s (%s))r   r>  r  r  s    r+   
formatnode#showwhyunstable.<locals>.formatnode  s#    W33C8#,,.IIIrd   s   divergentnodesNc                   > STU    0$ r  rw   r  s    r+   rz   !showwhyunstable.<locals>.<lambda>  r  rd   c                   > T" TU    5      $ r/   rw   )r#   r  r*   s    r+   rz   r    s    *T!W-rd   sM   {instability}:{if(divergentnodes, " ")}{divergentnodes} {reason} {node|short}   
)r  sep)r5   r   whyunstabler   r   r   r   r  )rA   rB   r)   entriesentrydnodesdnodednhybridr  r  r*   s            @@r+   showwhyunstabler    s    
 GW-D


7F
+CJ !!$,G99&'',-F*01&&1+-	H (0#$ 	! 	 ##GEBB 2s   -B7c                \    UR                   R                  5        H  u  p4U[        U'   M     g)z1Load template keyword from specified registrarobjN)_tablerU  keywords)r   extnameregistrarobjnamefuncs        r+   loadkeywordr    s&    "))//1
 2rd   r/   )F)returnr   )i
__future__r   r   r   rg   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   utilsr   r   hybridr   
hybriddict
hybridlistr   rr   r~   rN   rX   r  defaulttemplr  templatekeywordrc   rh   rm   rs   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   r#  r  	_requiresr7  rA  rG  rW  rY  r[  r^  rb  ri  r}  r  r  r  r  r  r;  r  r  r  r  r  r  r  r  r  r  r  r  r  ra   r  r  r  r  r@  i18nfunctionsrw   rd   r+   <module>r$     s   # 
   
 

$$
$$
$$
$$
..BJ@ + t#&+ )6[  ++H5 fX.& /&
 gv%67+ 8+ fX. / x0K 1K &(9:
= ;
= x0 1 #w.?@0 A0 "gv->? @ F8,< -< F8,
 -
 v7
8 8
8 ug.K /K fX. /" &2 3	#& E* &+? @ (=> ? (=> ? (=> ? VH-P .P (CD* E*L. , - B'= (= (CD2 E28& %0KL. M.
 )4OP2 Q2@  #*6!2   '89 :$ &>?9 @9( '6):;> <>< gv%67 8 F8, - x0 1 "eV_=	5 >	5 G9- . y14 24> GV+<= > y1 2 G9- . %CD	 E	 "gv->? @B #w.?@)* A)*X &*L +L &*L +L VH- . VH- . fX. / fX. / w&78 9, VH- . x0 1 6(+ , x0F 1F( GV#450 60
 0 1 F8, - !VH5 6 0 1 7F*;<C =C< !rd   