
    6hT                     8   S SK r S SKJr  S SKJrJrJrJrJrJ	r	J
r
Jr  S SKrSSKJrJrJrJrJrJr  SSKJrJrJr  \" S \" S5       5       5      \" \" S	5      5      -  r\\" S
5      -
  r\\" S5      -
  r\r\r\r \" S5      r!\!\" S5      -  r"\" \ RF                  \ RH                  -   S-   5      r%\%\" S5      -  r&\" \ RN                  5      r(\" SS
SSSSSS.5      r) " S S\*5      r+\,S.S\S\S\\-\4   4S jjr.\,S.S\-S\S\\-\4   4S jjr/ " S S 5      r0 " S! S"5      r1 " S# S$\	5      r2S%\-S&\S'\\-   S\4S( jr3S%\-S&\S)\-S*\\-   S+\4S\4S, jr5S%\-S&\S\4S- jr6S%\-S&\S\4S. jr7S%\-S&\S/\2S\\\4   4S0 jr8S%\-S&\S/\2S\\\4   4S1 jr9S%\-S&\S/\2S2\S\S\4S3 jr:S%\-S&\S\S\\\\4   4S4 jr;S%\-S&\S\\\4   4S5 jr<S%\-S&\S\\\-4   4S6 jr=S%\-S&\S\\\-4   4S7 jr>S%\-S&\S\S\\\?4   4S8 jr@S%\-S&\S\S\\\A4   4S9 jrBS:S;.S%\-S&\S<\4S\\\-4   4S= jjrCS%\-S&\S\\\-4   4S> jrDS%\-S&\S?\ES\\\-4   4S@ jrFS%\-S&\S\\\-4   4SA jrGS%\-S&\SB\4S\\\-4   4SC jrHS%\-S&\S<\4S\\\-4   4SD jrIS%\-S&\S\S\\\4   4SE jrJS%\-S&\SF\-S\+4SG jrKSH\ES\44SI jrLg)J    N)MappingProxyType)AnyBinaryIODict	FrozenSetIterable
NamedTupleOptionalTuple   )RE_DATETIMERE_LOCALTIME	RE_NUMBERmatch_to_datetimematch_to_localtimematch_to_number)Key
ParseFloatPosc              #   8   #    U  H  n[        U5      v   M     g 7fN)chr).0is     D/usr/lib/python3/dist-packages/mercurial/thirdparty/tomli/_parser.py	<genexpr>r      s     1y!s1vvys          	z	
z 	
z-_z"'"\)z\bz\tz\nz\fz\rz\"z\\c                       \ rS rSrSrSrg)TOMLDecodeError/   z0An error raised if a document is not valid TOML. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r)       r   r'   r'   /   s    :r0   r'   parse_floatfpr2   returnc                    U R                  5       n UR                  5       n[        X1S9$ ! [         a    [        R                  " S[
        SS9  Un N1f = f)z%Parse TOML from a binary file object.zText file object support is deprecated in favor of binary file objects. Use `open("foo.toml", "rb")` to open the file in binary mode.   )
stacklevelr1   )readdecodeAttributeErrorwarningswarnDeprecationWarningloads)r3   r2   s_bytesss       r   loadrA   3   s[    ggiG	NN ,,  M		
 s   + &AAr@   c                   U R                  SS5      nSn[        [        5       [        5       5      nSn [	        X#[
        5      n X#   nUS:X  a  US-  nM#  U[        ;   a  [        X#XEU5      n[	        X#[
        5      nOTUS:X  a<   X#S-      nUS:X  a  [        X#U5      u  p5O[        X#U5      u  p5[	        X#[
        5      nOUS:w  a  [        X#S	5      e[        X#5      n X#   nUS:w  a  [        X#S
5      eUS-  nM  ! [         a     UR                  R                  $ f = f! [         a    Sn Nf = f! [         a     UR                  R                  $ f = f)zParse TOML from a string.z
r    r   r)   r   [N#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput
NestedDictFlags
skip_charsTOML_WS
IndexErrorKEY_INITIAL_CHARSkey_value_rulecreate_list_rulecreate_dict_rulesuffixed_errskip_commentdatadict)r@   r2   srcposoutheadercharsecond_chars           r   r>   r>   C   s   
 ))FD
!C
C
uw
'CF 7+	8D 4<1HC$$ 3DCSw/CS[#-0q\ c!.s=V.s=Sw/CS[s)<== 3$	8D 4<Q  	q_   	D 88==G	  #"#   	 88==	s6   C; D  D2 ;
DD D/.D/2
EEc                       \ rS rSrSrSrSrSS jrS\SS4S	 jr	S
\S\S\
SS4S jrS\S\
S\SS4S jrS\S\
S\4S jrSrg)rH      z)Flags that map to parsed keys/namespaces.r   r   r4   Nc                     0 U l         g r   _flagsselfs    r   __init__Flags.__init__   s	    ')r0   keyc                 z    U R                   nUS S  H  nX2;  a    g X#   S   nM     UR                  US   S 5        g )Nnested)r^   pop)r`   rc   contks       r   	unset_allFlags.unset_all   sC    {{SbA}78$D  	R$r0   head_keyrel_keyflagc                     U R                   nU H'  nXT;  a  [        5       [        5       0 S.XE'   XE   S   nM)     U H7  nXT;   a  XE   S   R                  U5        OU1[        5       0 S.XE'   XE   S   nM9     g )Nflagsrecursive_flagsrf   rf   rq   r^   setadd)r`   rl   rm   rn   rh   ri   s         r   set_for_relative_keyFlags.set_for_relative_key   s}    {{A}$'EcerR78$D  Ay $$T*%)FsuPRS78$D r0   	recursivec                    U R                   nUS S US   peU H'  nXt;  a  [        5       [        5       0 S.XG'   XG   S   nM)     Xd;  a  [        5       [        5       0 S.XF'   XF   U(       a  SOS   R                  U5        g )Nre   rp   rf   rr   rq   rs   )r`   rc   rn   rx   rh   
key_parentkey_stemri   s           r   rt   	Flags.set   s~    {{"3BxRHA}$'EcerR78$D  '*uRTUDNI(7CGGMr0   c                     U(       d  gU R                   nUS S  H  nXC;  a    gX4   nX%S   ;   a    gUS   nM     US   nXc;   a  X6   nX#S   ;   =(       d    X#S   ;   $ g)NFre   rr   Trf   rq   r]   )r`   rc   rn   rh   ri   
inner_contr{   s          r   is_	Flags.is_   s    {{SbA}J"344h'D  r7>D=(KD9J4K,KKr0   r]   r4   N)r*   r+   r,   r-   r.   FROZENEXPLICIT_NESTra   r   rj   intrv   boolrt   r   r/   r)   r0   r   rH   rH      s    3 F M* S  T  %S %3 %c %d %	Ns 	N# 	NT 	Nd 	Ns # $ r0   rH   c                   N    \ rS rSrSS jrSS.S\S\S\4S	 jjrS\SS4S
 jr	Sr
g)rG      r4   Nc                     0 U l         g r   rS   r_   s    r   ra   NestedDict.__init__   s	    $&	r0   Taccess_listsrc   r   c                    U R                   nU HQ  nXC;  a  0 X4'   X4   nU(       a  [        U[        5      (       a  US   n[        U[         5      (       a  MH  [        S5      e   U$ )Nre   z There is no nest behind this key)rS   
isinstancelistKeyError)r`   rc   r   rh   ri   s        r   get_or_create_nestNestedDict.get_or_create_nest   sb     IIA}7D
4 6 6BxdD))ABB  r0   c                     U R                  US S 5      nUS   nX2;   a  X#   n UR                  0 5        g 0 /X#'   g ! [         a    [        S5      ef = f)Nre   z/An object other than list found behind this key)r   appendr:   r   )r`   rc   rh   last_keylist_s        r   append_nest_to_listNestedDict.append_nest_to_list   sj    &&s3Bx0r7NERR  !TDN " RPQQRs	   < Ar   r   )r*   r+   r,   r-   ra   r   r   rS   r   r   r/   r)   r0   r   rG   rG      s@    ' "	 	
 
"
"s 
"t 
"r0   rG   c                   *    \ rS rSr% \\S'   \\S'   Srg)rF      rR   rq   r)   N)r*   r+   r,   r-   rG   __annotations__rH   r/   r)   r0   r   rF   rF      s    
Lr0   rF   rT   rU   charsc                 X     X   U;   a  US-  nX   U;   a  M  U$ ! [          a     U$ f = f)Nr   )rK   )rT   rU   r   s      r   rI   rI      sF    h%1HC h% J  Js    
))expecterror_onerror_on_eofc                    U R                  X!5      nUR	                  XU 5      (       d)  X   U;  a  US-  nX   U;  a  M  [        XSX   < 35      eU$ ! [         a&    [        U 5      nU(       a  [        XSU< 35      S e Nrf = f)Nz	Expected r   zFound invalid character )index
ValueErrorlenrP   
isdisjoint)rT   rU   r   r   r   new_poss         r   
skip_untilr      s    O))F( sw/00hh&1HC hh&3'?|%LMMN  Oc(sy
-CD$N Os   A -BBc                 f     X   nUS:X  a  [        XS-   S[        SS9$ U$ ! [          a    S n N)f = f)NrD   r   r    Fr   r   )rK   r   ILLEGAL_COMMENT_CHARS)rT   rU   rX   s      r   rQ   rQ     sO    !h s{q$)>U
 	
 J  s   ! 00c                 P     Un[        X[        5      n[        X5      nX:X  a  U$ M&  r   )rI   TOML_WS_AND_NEWLINErQ   )rT   rU   pos_before_skips      r   skip_comments_and_array_wsr     s1    
#673$!J r0   rV   c                 6   US-  n[        X[        5      n[        X5      u  pUR                  R	                  U[
        R                  5      (       d/  UR                  R	                  U[
        R                  5      (       a  [        XSU S35      eUR                  R                  U[
        R                  SS9   UR                  R                  U5        U R                  SU5      (       d  [        XS5      eUS-   U4$ ! [         a    [        XS5      S ef = f)	Nr   zCan not declare z twiceFrx   Can not overwrite a value]z.Expected "]" at the end of a table declaration)rI   rJ   	parse_keyrq   r   rH   r   r   rP   rt   rR   r   r   
startswithrT   rU   rV   rc   s       r   rO   rO     s    1HC
Sw
'C"HC
yy}}S%--..#))--U\\2R2R3'7uF%CDDIIMM#u**eM<L##C( >>#s##3%UVV7C<  L3%@AtKLs   ;D   Dc                    US-  n[        X[        5      n[        X5      u  pUR                  R	                  U[
        R                  5      (       a  [        XSU 35      eUR                  R                  U5        UR                  R                  U[
        R                  SS9   UR                  R                  U5        U R                  SU5      (       d  [        XS5      eUS-   U4$ ! [         a    [        XS5      S ef = f)Nr6   #Can not mutate immutable namespace Fr   r   z]]z0Expected "]]" at the end of an array declaration)rI   rJ   r   rq   r   rH   r   rP   rj   rt   r   rR   r   r   r   r   s       r   rN   rN   /  s    1HC
Sw
'C"HC
yy}}S%,,''3'J3%%PQQIIIIMM#u**eM<L$$S) >>$$$3%WXX7C<  L3%@AtKLs   &C+ +DrW   c                 2   [        XU5      u  pnUS S US   pX7-   n	UR                  R                  U	[        R                  5      (       a  [        XSU	 35      eUR                  R                  X5[        R                  5         UR                  R                  U	5      n
X;   a  [        XS5      e[        U[        [        45      (       a+  UR                  R                  X5-   [        R                  SS9  XjU'   U$ ! [         a    [        XS5      S ef = f)Nre   r   r   Tr   )parse_key_value_pairrq   r   rH   r   rP   rv   r   rR   r   r   r   rS   r   rt   )rT   rU   rV   rW   r2   rc   valuerz   r{   abs_key_parentnests              r   rM   rM   D  s	    +3[AOCes8SW(N
yy}}^U\\22;N;KL
 	
 II""60C0CDLxx**>: 3%@AA%$&&		flELLDANJ  L3%@AtKLs   C> >Dc                     [        X5      u  p X   nUS:w  a  [        XS5      eUS-  n[        X[        5      n[        XU5      u  pXU4$ ! [         a    S n NGf = f)N=z,Expected "=" after a key in a key/value pairr   )r   rK   rP   rI   rJ   parse_value)rT   rU   r2   rc   rX   r   s         r   r   r   ^  sv     "HC!h s{3%STT1HC
Sw
'CS{3JCU?  s   A AAc                     [        X5      u  pU4n[        X[        5      n  X   nUS:w  a  X4$ US-  n[        X[        5      n[        X5      u  pX24-  n[        X[        5      nMG  ! [         a    S n NPf = f)N.r   )parse_key_partrI   rJ   rK   )rT   rU   key_partrc   rX   s        r   r   r   n  s    "3,MC{C
Sw
'C
	"%(D 3;8Oq7+&s0{7+   	D	s   A) )A87A8c                      X   nU[        ;   a  Un[        X[        5      nXX1 4$ US:X  a  [        X5      $ US:X  a  [	        X5      $ [        XS5      e! [          a    S n N]f = f)N'r$   z(Invalid initial character for a key part)rK   BARE_KEY_CHARSrI   parse_literal_strparse_one_line_basic_strrP   )rT   rU   rX   	start_poss       r   r   r     s    !h ~	>2	&&&s{ **s{'11
s!K
LL  s   A A$#A$c                      US-  n[        XSS9$ )Nr   F	multiline)parse_basic_strrT   rU   s     r   r   r     s    1HC3u55r0   c                 d   US-  n/ n[        X5      nU R                  SU5      (       a  US-   U4$  [        XU5      u  pUR                  U5        [        X5      nXUS-    nUS:X  a  US-   U4$ US:w  a  [	        XS5      eUS-  n[        X5      nU R                  SU5      (       a  US-   U4$ M  )Nr   r   ,zUnclosed array)r   r   r   r   rP   )rT   rU   r2   arrayvalcs         r   parse_arrayr     s    1HCE
$S
.C
~~c3Qw~
s5S(2cAg87E>!8s)9::q(2>>#s##7E>! r0   c                    US-  n[        5       n[        5       n[        X[        5      nU R	                  SU5      (       a  US-   UR
                  4$  [        XU5      u  pnUS S US   pUR                  U[        R                  5      (       a  [        XSU 35      e UR                  USS9n	X;   a  [        XS	U< 35      eXiU'   [        X[        5      nXUS-    n
U
S:X  a  US-   UR
                  4$ U
S
:w  a  [        XS5      e[        U[
        [        45      (       a  UR                  U[        R                  SS9  US-  n[        X[        5      nGM  ! [         a    [        XS5      S ef = f)Nr   }Tre   r   Fr   r   zDuplicate inline table key r   zUnclosed inline tabler   )rG   rH   rI   rJ   r   rS   r   r   r   rP   r   r   r   r   rt   )rT   rU   r2   nested_dictrq   rc   r   rz   r{   r   r   s              r   parse_inline_tabler     s   1HC,KGE
Sw
'C
~~c3Qw((((
.sE%"3BxRH99S%,,''s+Nse)TUU	P11*51QD s+Fxl)STTX7+cAg87K,,,,8s)@AAedD\**IIc5<<4I8q7++   	Ps)DE4O	Ps    E E3Fr   r   c                   XUS-    nUS-  nU(       aL  US;   aF  US:w  a,  [        X[        5      n X   nUS:w  a  [        XS5      eUS-  n[        X[        5      nUS4$ US:X  a  [        XS	5      $ US
:X  a  [        XS5      $  U[        U   4$ ! [         a    US4s $ f = f! [         a*    [        U5      S:w  a  [        XS5      S e[        XS5      S ef = f)Nr6   >   \	\
\ r    r    zUnescaped "\" in a stringr   z\u   z\U   Unterminated string)	rI   rJ   rK   rP   r   parse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr   r   )rT   rU   r   	escape_idrX   s        r   parse_basic_str_escaper     s    #'"I1HCY"99 Sw/Cx t|"3-IJJ1HC#67BwEc**Ec**M1)<<<  Bw  My>Qs)>?TI3%ABLMs   B 
B$ B! B!$4Cc                     [        XSS9$ )NTr   )r   r   s     r    parse_basic_str_escape_multiliner     s    !#d;;r0   hex_lenc                     XX-    n[        U5      U:w  d  [        R                  U5      (       d  [        XS5      eX-  n[	        US5      n[        U5      (       d  [        XS5      eU[        U5      4$ )NzInvalid hex value   z/Escaped character is not a Unicode scalar value)r   HEXDIGIT_CHARS
issupersetrP   r   is_unicode_scalar_valuer   )rT   rU   r   hex_strhex_ints        r   r   r     ss    &G
7|wn&?&?&H&H3%899NC'2G"7++3%VWWGr0   c                 B    US-  nUn[        XS[        SS9nUS-   XU 4$ )Nr   r   Tr   )r   ILLEGAL_LITERAL_STR_CHARS)rT   rU   r   s      r   r   r     s:    1HCI
# 9C 7C#&&&r0   literalc                8   US-  nU R                  SU5      (       a  US-  nU(       a  Sn[        U US[        SS9nXU nUS-   nOSn[        XSS	9u  pU R                  X15      (       d  X4$ US-  nU R                  X15      (       d  XU-   4$ US-  nXUS
-  -   4$ )N   r    r   r   '''Tr   r$   r   r6   )r   r   #ILLEGAL_MULTILINE_LITERAL_STR_CHARSr   )rT   rU   r   delimend_posresults         r   parse_multiline_strr     s    1HC
~~dC  q8
 !k%c$? >>%%%{1HC>>%%%UN""1HC%!)$$$r0   c                   U(       a  [         n[        nO[        n[        nSnUn  X   nUS:X  a;  U(       d  US-   XPXa -   4$ U R                  SU5      (       a  US-   XPXa -   4$ US-  nMG  US:X  a  XPXa -  nU" X5      u  pXX-  nUnMe  Xs;   a  [        XSU< 35      eUS-  nM  ! [         a    [        XS5      S ef = f)	Nr   r   r$   r   """r   r%   zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSr   ILLEGAL_BASIC_STR_CHARSr   rK   rP   r   )	rT   rU   r   r   parse_escapesr   r   rX   parsed_escapes	            r   r   r   #  s   48*.FI
	J8D 3;QwY); ;;;~~eS))QwY); ;;;1HC4<)((F!.s!8C#FIs+=dX)FGGq)   	Js)>?TI	Js   B& &B>c                     X   nUS:X  a,  U R                  SU5      (       a
  [        XSS9$ [        X5      $ US:X  a,  U R                  SU5      (       a
  [        XSS9$ [	        X5      $ US:X  a  U R                  S	U5      (       a  US
-   S4$ US:X  a  U R                  SU5      (       a  US-   S4$ [
        R                  " X5      nU(       a   [        U5      nUR                  5       U4$ [        R                  " X5      nU(       a  UR                  5       [        U5      4$ [        R                  " X5      nU(       a  UR                  5       [        X5      4$ US:X  a  [        XU5      $ US:X  a  [!        XU5      $ XUS-    n	U	S;   a  US-   U" U	5      4$ XUS
-    n
U
S;   a  US
-   U" U
5      4$ [        XS5      e! [          a    S n GNf = f! [         a  n[        XS5      UeS nAff = f)Nr$   r   F)r   r   r   Tttruer   ffalse   zInvalid date or datetimerC   {r   >   infnan>   +inf+nan-inf-nanzInvalid value)rK   r   r   r   r   r   matchr   r   rP   endr   r   r   r   r   r   )rT   rU   r2   rX   datetime_matchdatetime_objelocaltime_matchnumber_matchfirst_three
first_fours              r   r   r   C  s   !h
 s{>>%%%&s??'11 s{>>%%%&s>> ** s{>>&#&&7D= s{>>'3''7E>! !&&s0N	L,^<L !!#\11"((2O""$&8&III
 ??3,L!?<#MMM s{3[11 s{!#K88 C!G$Kn$QwK00037#J55QwJ///
s
11u  8  	Ls)CD!K	Ls)   G G GG
G0G++G0msgc                 ^    S[         S[        S[         4S jn[        U SU" X5       S35      $ )zVReturn a `TOMLDecodeError` where error message is suffixed with
coordinates in source.rT   rU   r4   c                     U[        U 5      :  a  gU R                  SSU5      S-   nUS:X  a  US-   nOXR                  SSU5      -
  nSU SU 3$ )Nzend of documentr    r   r   zline z	, column )r   countrindex)rT   rU   linecolumns       r   
coord_repr suffixed_err.<locals>.coord_repr  s_    #c(?$yyq#&*191WF::dAs33FtfIfX..r0   z (at ))strr   r'   )rT   rU   r  r  s       r   rP   rP     s<    / /# /# / cU%
3(<'=Q?@@r0   	codepointc                 d    SU s=:*  =(       a    S:*  Os  =(       d    SU s=:*  =(       a    S:*  $ s  $ )Nr   i  i   i r)   )r!  s    r   r   r     s-    ##e#G))F)Fw)FG)FGr0   )Mstringtypesr   typingr   r   r   r   r   r	   r
   r   r;   _rer   r   r   r   r   r   _typesr   r   r   	frozensetranger   
ASCII_CTRLr   r   r   r   r   rJ   r   ascii_lettersdigitsr   rL   	hexdigitsr   r   r   r'   floatr   rA   r>   rH   rG   rF   rI   r   r   rQ   r   rO   rN   rM   r   r   r   r   r   r   rS   r   r   r   r   r   r   r   r   r   rP   r   r)   r0   r   <module>r/     s    " X X X   ) (1uRy11Ic#h4GG
 %y6 $.61B$B !3 &G #/ 
E
	$/ 6//&--?$FG"Yu%55 6++, 0
! ;j ; 5: -X -z -d38n -  05 =S =* =c3h =@; ;| "  "FZ 
C c (3- C 		 
 n  	,	c 	 	 	C c c # C f sCx $# C f sCx *	#-0?I4	%/
3S= ,3 ,S ,U38_ ,$M M# M%S/ M 6# 6C 6E#s(O 6
"S "s " "c4i@P "0,C ,c ,
 ,uSRVYGW ,B .3M	MM&*M
38_M><# <C <E#s(O < #  c3h '3 'S 'U38_ '%S %s % %sCx %> 3 d uS#X @?2	?2?2%/?2
38_?2DAc A A# A/ A"Hs Ht Hr0   