
    	^c                     B    d dl mZ d dlmZmZ 	 d	dZ	 	 	 	 	 	 	 d
dZdS )   )_)mdiffpycompatNF   diff    c           
      0    t          | |||ddd|          S )z6return diffopts with all features supported and parsedT)opts	untrustedsectiongit
whitespaceformatchangingconfigprefix)difffeatureopts)uir	   r
   r   r   s        4/usr/lib/python3/dist-packages/mercurial/diffutil.pydiffalloptsr      s3     
!	 	 	 	r   c                 $    d j         df fd	} |d           |dd           |d j                  d}	                      d	d
          |	d
<   |r |d          |	d<                         d	d          |	d<                        d	d          }
|
d}	 t          |
          }|dk     s|dk    r't          d          }                     ||z             nU# t
          $ rH |
dk    s|
dk    rd}n6|
dk    rd}n-|
dk    r't          d          }                     ||
z             Y nw xY w||	d<   n
# ||	d<   w xY w|r< |dd          |	d<    |dd          |	d<    |dd          |	d<    |dd           |	d <   |rio                    d!          |	d!<   dn                    d"          }|| n |d#d$%          |	d#<    |d&d$%          |	d&<    |d'd(d$%          |	d)<   t          j        d*i t          j
        |	          S )+a  return diffopts with only opted-in features parsed

    Features:
    - git: git-style diffs
    - whitespace: whitespace options like ignoreblanklines and ignorews
    - formatchanging: options that will likely break or cause correctness issues
      with most diff parsers
    Nc                     r.                     |           }|st          |t                    r|S |                                r|S  ||p| z   	          S )N)r
   )get
isinstanceboolplain)
keynamegetter
forceplainvr   r	   r   r   r
   s
        r   r   zdifffeatureopts.<locals>.get6   s|     
	A  Jq$'' !bhhjj!v\T[S1Y
 
 
 	
r      nodatess   show_function   showfuncs   unified)r   )r   r    s   contexts   experimentals   xdiffs   gits   extendedheader.similaritys   showsimilaritys   extendedheader.index    (   s.   invalid length for extendedheader.index: '%d'
s   shortr      s   fulls   nones-   invalid value for extendedheader.index: '%s'
s   indexs   ignore_all_spaces   ignorewss   ignore_space_changes   ignorewsamounts   ignore_blank_liness   ignoreblankliness   ignore_space_at_eols   ignorewseols   texts   binarys   nobinaryF)r   s   noprefixs	   word_diffs	   word-diffs   worddiff )
configboolconfigintr   warn
ValueErrorr   r   diffoptsr   	strkwargs)r   r	   r
   r   r   r   r   r   r   	buildoptshconfhlenmsgbinarys   ````   `      r   r   r   #   s   & 2=T 
 
 
 
 
 
 
 
 
 
( C
OOS);77C
29555 I
 --BBIh
 +CKK	& (*}}9(
 (
	#$ 		/+BCCD+ 5zz!88tbyyNOOCGGC$J''' ) ) )H$$DDg%%DDg%%MNNCGGC%K((() '+	(##d	(#**** P!$%8+!F!F	+'*s"$5(
 (
	#$ *-!#6*
 *
	%& %(C(>$O$O	.! 
!7dhhw&7&7	'488I+>+> ! JJ[U333 	+
 "%[U!C!C!C	+!$,5"
 "
 "
	+ >::H.y99:::s,   AC!  D< !AD30D< 2D33D< <E)NFr   r   )NFr   FFFr   )i18nr    r   r   r   r   r$   r   r   <module>r3      s                 CF   $ 
d; d; d; d; d; d;r   