
    .hhX              
         S SK J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  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 \" \RB                  \RD                  -   S-   5      r#\#\" S5      -  r$\" \RJ                  5      r&\" SSSSSSSS.5      r' " S S\(5      r)\*S.S<S jjr+\*S.S=S jjr, " S S5      r- " S S 5      r. " S! S"\
5      r/S>S# jr0            S?S$ jr1S@S% jr2S@S& jr3SAS' jr4SAS( jr5            SBS) jr6        SCS* jr7SDS+ jr8SES, jr9SES- jr:SFS. jr;SGS/ jr<S0S1.       SHS2 jjr=SES3 jr>SIS4 jr?SES5 jr@SJS6 jrASHS7 jrB        SKS8 jrCSLS9 jrDSMS: jrESNS; jrFg)O    )annotations)IterableN)MappingProxyType)AnyBinaryIO
NamedTuple   )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     8/opt/python-3.13.8/usr/lib/python3.13/tomllib/_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g)TOMLDecodeError5    N)__name__
__module____qualname____firstlineno____static_attributes__r&       r   r$   r$   5   s     r,   r$   parse_floatc                  U R                  5       n UR                  5       n[	        X1S9$ ! [         a    [        S5      S ef = f)NzEFile must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`r-   )readdecodeAttributeError	TypeErrorloads)fpr.   bss       r   loadr8   9   sN    
	AHHJ
 ,,	  S
	s	   + Ac                 U R                  SS5      nSn[        [        5       [        5       5      nSn[	        U5      n [        X#[        5      n X#   nUS:X  a  US-  nM#  U[        ;   a  [        X#XEU5      n[        X#[        5      nOnUS:X  aV   X#S-      nUR                  R                  5         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)
Nz
r   r   r&   r	   [#zInvalid statementz5Expected newline or end of document after a statement)replaceOutput
NestedDictFlagsmake_safe_parse_float
skip_charsTOML_WS
IndexErrorKEY_INITIAL_CHARSkey_value_ruleflagsfinalize_pendingcreate_list_rulecreate_dict_rulesuffixed_errskip_commentdatadict)r7   r.   srcposoutheadercharsecond_chars           r   r4   r4   E   s   
 ))FD
!C
C
uw
'CF'4K 7+	8D 4<1HC$$ 3DCSw/CS[#*-Ag, II&&(c!.s=V.s=Sw/CS[s)<== 3$	8D 4<Q  	qa   	F 88==I	  #"#"  	 88==	s6   D  E E  
EEEE
E98E9c                  X    \ rS rSrSrSrSS jrSS jrSS jrSS jr	SS jr
SS	 jrS
rg)r?      r   r	   c                0    0 U l         [        5       U l        g r   )_flagsset_pending_flagsselfs    r   __init__Flags.__init__   s    1347Er,   c                <    U R                   R                  X45        g r   )rY   addr[   keyflags      r   add_pendingFlags.add_pending   s    ,r,   c                    U R                    H  u  pU R                  XSS9  M     U R                   R                  5         g )NF	recursive)rY   rX   clearr`   s      r   rG   Flags.finalize_pending   s6    ,,ICHHS%H0 -!!#r,   c                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)rW   pop)r[   ra   contks       r   	unset_allFlags.unset_all   sC    {{SbA}78$D  	R$r,   c                   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 )Nrk   )rF   recursive_flagsrl   rl   rs   rF   )rW   rX   r_   )r[   ra   rb   rg   rn   
key_parentkey_stemro   s           r   rX   	Flags.set   s~    {{"3BxRHA}$'EcerR78$D  '*uRTUDNI(7CGGMr,   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)NFrk   rs   Trl   rF   )rW   )r[   ra   rb   rn   ro   
inner_contru   s          r   is_	Flags.is_   s    {{SbA}J"344h'D  r7>D=(KD9J4K,KKr,   )rW   rY   NreturnNone)ra   r   rb   intr|   r}   ra   r   r|   r}   )ra   r   rb   r~   rg   boolr|   r}   )ra   r   rb   r~   r|   r   )r'   r(   r)   r*   FROZENEXPLICIT_NESTr\   rc   rG   rp   rX   ry   r+   r&   r,   r   r?   r?      s/     F M:-$
 	Nr,   r?   c                  D    \ rS rSrS	S jrSS.     S
S jjrSS jrSrg)r>      c                    0 U l         g r   rM   rZ   s    r   r\   NestedDict.__init__   s	    $&	r,   Taccess_listsc                   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$ )Nrk   z There is no nest behind this key)rM   
isinstancelistKeyError)r[   ra   r   rn   ro   s        r   get_or_create_nestNestedDict.get_or_create_nest   sb     IIA}7D
4 6 6BxdD))ABB  r,   c                    U R                  US S 5      nUS   nX2;   a6  X#   n[        U[        5      (       d  [        S5      eUR	                  0 5        g 0 /X#'   g )Nrk   z/An object other than list found behind this key)r   r   r   r   append)r[   ra   rn   last_keylist_s        r   append_nest_to_listNestedDict.append_nest_to_list   s\    &&s3Bx0r7NEeT**PQQLL TDNr,   r   Nr{   )ra   r   r   r   r|   dict[str, Any]r   )r'   r(   r)   r*   r\   r   r   r+   r&   r,   r   r>   r>      s2    ' "	 	
 
"	"r,   r>   c                  *    \ rS rSr% S\S'   S\S'   Srg)r=      r>   rL   r?   rF   r&   N)r'   r(   r)   r*   __annotations__r+   r&   r,   r   r=   r=      s    
Lr,   r=   c                X     X   U;   a  US-  nX   U;   a  M  U$ ! [          a     U$ f = f)Nr	   )rC   )rN   rO   charss      r   rA   rA      sF    h%1HC h% J  Js    
))c                   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lenrJ   
isdisjoint)rN   rO   expecterror_onerror_on_eof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)Nr;   r	   r   Fr   r   )rC   r   ILLEGAL_COMMENT_CHARS)rN   rO   rR   s      r   rK   rK     sO    8 s{q$)>U
 	
 J  s   ! 00c                P     Un[        X[        5      n[        X5      nX:X  a  U$ M&  r   )rA   TOML_WS_AND_NEWLINErK   )rN   rO   pos_before_skips      r   skip_comments_and_array_wsr     s1    
#673$!J r,   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Cannot declare z twiceFrf   Cannot overwrite a value]z.Expected ']' at the end of a table declaration)rA   rB   	parse_keyrF   ry   r?   r   r   rJ   rX   rL   r   r   
startswithrN   rO   rP   ra   s       r   rI   rI     s    1HC
Sw
'C"HC
yy}}S%--..#))--U\\2R2R3se6%BCCIIMM#u**eM<K##C( >>#s##3%UVV7C<  K3%?@dJK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)N   "Cannot mutate immutable namespace Frf   r   z]]z0Expected ']]' at the end of an array declaration)rA   rB   r   rF   ry   r?   r   rJ   rp   rX   r   rL   r   r   r   r   s       r   rH   rH   .  s    1HC
Sw
'C"HC
yy}}S%,,''3'I#%OPPIIIIMM#u**eM<K$$S) >>$$$3%WXX7C<  K3%?@dJKs   &C+ +Dc                
  ^^ [        XU5      u  nmnTS S TS   pvTU-   nUU4S j[        S[        T5      5       5       n	U	 Hk  n
UR                  R	                  U
[
        R                  5      (       a  [        XSU
 35      eUR                  R                  U
[
        R                  5        Mm     UR                  R	                  U[
        R                  5      (       a  [        XSU 35      e UR                  R                  U5      nX{;   a  [        XS5      e[        U[        [        45      (       a,  UR                  R!                  TT-   [
        R                  SS9  X[U'   U$ ! [         a    [        XS5      S ef = f)	Nrk   c              3  4   >#    U  H  nTTS U -   v   M     g 7fr   r&   )r   r   rQ   ra   s     r   r   !key_value_rule.<locals>.<genexpr>J  s     L9KAvBQ/9Ks   r	   zCannot redefine namespace r   r   Trf   )parse_key_value_pairranger   rF   ry   r?   r   rJ   rc   r   rL   r   r   r   rM   r   rX   )rN   rO   rP   rQ   r.   valuert   ru   abs_key_parentrelative_path_cont_keyscont_keynestra   s      `        @r   rE   rE   C  sb    +3[AOCes8SWj(NLq#c(9KL+99==5#6#677s+EhZ)PQQ 			h(;(;< , yy}}^U\\22:>:JK
 	
Kxx**>: 3%?@@%$&&		fslELLDANJ  K3%?@dJKs   1E* *F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   rC   rJ   rA   rB   parse_value)rN   rO   r.   ra   rR   r   s         r   r   r   e  sv     "HC8 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_partrA   rB   rC   )rN   rO   key_partra   rR   s        r   r   r   u  s    "3,MC{C
Sw
'C
	"xD 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)rC   BARE_KEY_CHARSrA   parse_literal_strparse_one_line_basic_strrJ   )rN   rO   rR   	start_poss       r   r   r     s    8 ~	>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rN   rO   s     r   r   r     s    1HC3u55r,   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   rJ   )rN   rO   r.   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>! r,   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	   }Trk   r   Fr   r   zDuplicate inline table key r   zUnclosed inline tablerf   )r>   r?   rA   rB   r   rM   r   ry   r   rJ   r   r   r   r   rX   )rN   rO   r.   nested_dictrF   ra   r   rt   ru   r   r   s              r   parse_inline_tabler     s   1HC,KGE
Sw
'C
~~c3Qw((((
.sE%"3BxRH99S%,,''s+McU)STT	O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++   	Os)CD$N	Os    E E3Fr   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    [        XS5      S ef = f)Nr   >   \	\
\ r    r   zUnescaped '\' in a stringr	   z\u   z\U   )rA   rB   rC   rJ   r   parse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSr   )rN   rO   r   	escape_idrR   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3%ABLMs   B 
B$ B! B!$B<c                    [        XSS9$ )NTr   )r   r   s     r    parse_basic_str_escape_multiliner     s    !#d;;r,   c                    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
issupersetrJ   r~   is_unicode_scalar_valuer   )rN   rO   hex_len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r,   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)rN   rO   r   s      r   r   r      s:    1HCI
# 9C 7C#&&&r,   c               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   r   )r   r   #ILLEGAL_MULTILINE_LITERAL_STR_CHARSr   )rN   rO   literaldelimend_posresults         r   parse_multiline_strr   	  s    1HC
~~dC  q8
 !k%c$? >>%%%{1HC>>%%%UN""1HC%!)$$$r,   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   zUnterminated stringr!   r	   """r   r"   zIllegal character )!ILLEGAL_MULTILINE_BASIC_STR_CHARSr   ILLEGAL_BASIC_STR_CHARSr   rC   rJ   r   )	rN   rO   r   r   parse_escapesr   r   rR   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$ US:X  a  [        XU5      $ US:X  a  [        XU5      $ [        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$ 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   r:   {zInvalid date or datetimer   >   infnan>   +inf+nan-inf-nanzInvalid value)rC   r   r   r   r   r   r   r
   matchr   r   rJ   endr   r   r   r   )rN   rO   r.   rR   datetime_matchdatetime_objelocaltime_matchnumber_matchfirst_three
first_fours              r   r   r   H  s   8 s{>>%%%&s??'11 s{>>%%%&s>> ** s{>>&#&&7D= s{>>'3''7E>! s{3[11 s{!#K88 !&&s0N	L,^<L !!#\11"((2O""$&8&III
 ??3,L!?<#MMM C!G$Kn$QwK00037#J55QwJ///
s
11y  L  	Ls)CD!K	Ls)   G 4G GG
G0G++G0c                :    SS jn[        U SU" X5       S35      $ )Nc                    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)rN   rO   linecolumns       r   
coord_repr suffixed_err.<locals>.coord_repr  s_    #c(?$yyq#&*191WF::dAs33FtfIfX..r,   z (at ))rN   strrO   r   r|   r!  )r$   )rN   rO   msgr  s       r   rJ   rJ     s'    / cU%
3(<'=Q?@@r,   c                d    SU s=:*  =(       a    S:*  Os  =(       d    SU s=:*  =(       a    S:*  $ s  $ )Nr   i  i   i r&   )	codepoints    r   r   r     s-    ##e#G))F)Fw)FG)FGr,   c                6   ^  T [         L a  [         $ SU 4S jjnU$ )Nc                d   > T" U 5      n[        U[        [        45      (       a  [        S5      eU$ )Nz*parse_float must not return dicts or lists)r   rM   r   r   )	float_strfloat_valuer.   s     r   safe_parse_float/make_safe_parse_float.<locals>.safe_parse_float  s0    !),kD$<00IJJr,   )r'  r!  r|   r   )float)r.   r)  s   ` r   r@   r@     s     e r,   )r5   r   r.   r   r|   r   )r7   r!  r.   r   r|   r   )rN   r!  rO   r   r   zIterable[str]r|   r   )rN   r!  rO   r   r   r!  r   zfrozenset[str]r   r   r|   r   )rN   r!  rO   r   r|   r   )rN   r!  rO   r   rP   r=   r|   tuple[Pos, Key])rN   r!  rO   r   rP   r=   rQ   r   r.   r   r|   r   )rN   r!  rO   r   r.   r   r|   ztuple[Pos, Key, Any])rN   r!  rO   r   r|   r,  )rN   r!  rO   r   r|   tuple[Pos, str])rN   r!  rO   r   r.   r   r|   ztuple[Pos, list[Any]])rN   r!  rO   r   r.   r   r|   ztuple[Pos, dict[str, Any]])rN   r!  rO   r   r   r   r|   r-  )rN   r!  rO   r   r   r~   r|   r-  )rN   r!  rO   r   r   r   r|   r-  )rN   r!  rO   r   r.   r   r|   ztuple[Pos, Any])rN   r!  rO   r   r"  r!  r|   r$   )r$  r~   r|   r   )r.   r   r|   r   )G
__future__r   collections.abcr   stringtypesr   typingr   r   r   _rer
   r   r   r   r   r   _typesr   r   r   	frozensetr   r   
ASCII_CTRLr   r   r   r   r   rB   r   ascii_lettersdigitsr   rD   	hexdigitsr   r   r   r$   r+  r8   r4   r?   r>   r=   rA   r   rK   r   rI   rH   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   rJ   r   r@   r&   r,   r   <module>r:     s  
 # $  " , ,  ) (1uRy11Ic#h4GG
 %y6 $.61B$B !3 &G #/ 
E
	$/ 6//&--?$FG"Yu%55 6++, 0
! ;j ; 8= 	- 38 ?D7 7t" "DZ 
		 
   	,	$*	#-0?ID	%/ ,$M 6
"0,B .3M	MM&*MM:<'%>@A2	A2A2%/A2A2HA"Hr,   