^cBddlmZddlmZmZ d dZ d dZdS) )_)mdiffpycompatNFdiffc 0t||||ddd|S)z6return diffopts with all features supported and parsedT)opts untrustedsectiongit whitespaceformatchanging configprefix)difffeatureopts)uir r r rs 4/usr/lib/python3/dist-packages/mercurial/diffutil.py diffalloptsrs3   !    rc$djdffd }|d|dd|djd} d d | d <|r|d | d <d d | d <d d} | d} t| } | dks| dkr'td} | | znU#t $rH| dks| dkrd} n6| dkrd} n-| dkr'td} | | zYnwxYw| | d<n #| | d<wxYw|r<|dd| d<|dd| d<|dd| d<|dd | d <|riod!| d!<dnd"} | | n |d#d$%| d#<|d&d$%| d&<|d'd(d$%| d)<tjd*itj | S)+areturn 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 Ncr.|}|st|tr|S|r|S||p|z S)N)r )get isinstanceboolplain) keynamegetter forceplainvrr r rr s rrzdifffeatureopts..get6s|   A Jq$''   !bhhjj ! v \T[S1Y    rnodatess show_functionshowfuncsunified)r)rr scontexts experimentalsxdiffsgitsextendedheader.similaritysshowsimilaritysextendedheader.index(s.invalid length for extendedheader.index: '%d' sshortr sfullsnones-invalid value for extendedheader.index: '%s' sindexsignore_all_spacesignorewssignore_space_changesignorewsamountsignore_blank_linessignoreblanklinessignore_space_at_eols ignorewseolstextsbinarysnobinaryF)rsnoprefixs word_diffs word-diffsworddiff) configboolconfigintrwarn ValueErrorrrdiffoptsr strkwargs)rr r r r r rrr buildoptshconfhlenmsgbinarys```` ` rrr#s&2=T          (C OOS);77C 29555I --BBIh +CKK &(*}} 9( ( #$  /+BCC  D +5zz!88tbyyNOOCGGC$J''' ) ) )H$$ DDg%%DDg%%MNNCGGC%K((( )'+ (##d (#****P!$%8+!F!F +'*s "$5( ( #$*- !#6* * %&%(C(>$O$O .!  !7dhhw&7&7 '488I+>+>!JJ[U333 + "%[U!C!C!C +!$ ,5" " " + > : :H.y99 : ::s,AC! D<!AD30D<2D33D<<E)NFrr)NFrFFFr)i18nrrrrrr$rrr3sCF    $   d;d;d;d;d;d;r