a
    iW                  	   @   s  d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZ d dlmZmZmZmZmZmZmZmZmZ er|d dlmZ edd edD eed	B Zeed
 Zeed ZeZeed Z eZ!edZ"e"edB Z#ee j$e j% d Z&e&edB Z'edd
ddddddZ(ee)gef Z*ee)df Z+e,Z-G dd de.Z/e0dee*ee)ef dddZ1e0de)e*ee)ef ddd Z2G d!d" d"Z3G d#d$ d$Z4G d%d& d&Z5e)e-e	e) e-d'd(d)Z6e)e-e)ee) e7e-d*d+d,Z8e)e-e-d-d.d/Z9e)e-e-d-d0d1Z:e)e-e3e-d2d3d4Z;e)e-e3e-d2d5d6Z<e)e-e3e*e-d7d8d9Z=e)e-e*ee-e+ef d:d;d<Z>e)e-ee-e+f d-d=d>Z?e)e-ee-e)f d-d?d@Z@e)e-ee-e)f d-dAdBZAe)e-e*ee-eBf d:dCdDZCe)e-e*ee-eDf d:dEdFZEdGdHe)e-e7ee-e)f dIdJdKZFe)e-ee-e)f d-dLdMZGe)e-e,ee-e)f dNdOdPZHe)e-ee-e)f d-dQdRZIe)e-e7ee-e)f dSdTdUZJe)e-e7ee-e)f dIdVdWZKe)e-dXee-e)f dYdZd[ZLe)e-e*ee-ef d:d\d]ZMe)e-e)e/d^d_d`ZNe,e7dadbdcZOdS )d    N)MappingProxyType)	TYPE_CHECKINGAnyCallableDict	FrozenSetIterableOptionalTextIOTuple)	RE_BINRE_DATETIMERE_HEXRE_LOCALTIME	RE_NUMBERRE_OCTmatch_to_datetimematch_to_localtimematch_to_number)Patternc                 c   s   | ]}t |V  qd S N)chr).0i r   [/home/ec2-user/npost_license/.venv/lib/python3.9/site-packages/pip/_vendor/tomli/_parser.py	<genexpr>       r          	z	
z	
z 	
z-_z"'"\)z\bz\tz\nz\fz\rz\"z\\.c                   @   s   e Zd ZdZdS )TOMLDecodeErrorz0An error raised if a document is not valid TOML.N)__name__
__module____qualname____doc__r   r   r   r   r'   B   s   r'   parse_float)fpr-   returnc                C   s   |   }t||dS )zParse TOML from a file object.r,   )readloads)r.   r-   sr   r   r   loadF   s    r3   )r2   r-   r/   c                C   sL  |  dd}d}t }t||t}z|| }W n tyF   Y qDY n0 |dkrZ|d7 }q|tv r~t||||}t||t}nt|dkrz||d  }W n ty   d}Y n0 |dkrt|||}nt|||}t||t}n|dkrt	||dt
||}z|| }W n ty"   Y qDY n0 |dkr:t	||d	|d7 }q|jjS )
zParse TOML from a string.z
r!   r      [N#zInvalid statementz5Expected newline or end of document after a statement)replaceState
skip_charsTOML_WS
IndexErrorKEY_INITIAL_CHARSkey_value_rulecreate_list_rulecreate_dict_rulesuffixed_errskip_commentoutdict)r2   r-   srcposstatecharsecond_charr   r   r   r1   L   sH    




r1   c                   @   s   e Zd ZddddZdS )r8   Nr/   c                 C   s   t  | _t | _d| _d S )Nr   )
NestedDictrB   Flagsflagsheader_namespaceselfr   r   r   __init__   s    zState.__init__)r(   r)   r*   rP   r   r   r   r   r8      s   r8   c                   @   sp   e Zd ZdZdZdZddddZeddd	d
Zeee	ddddZ
ee	eddddZee	edddZdS )rK   z)Flags that map to parsed keys/namespaces.r   r4   NrI   c                 C   s
   i | _ d S r   _flagsrN   r   r   r   rP      s    zFlags.__init__keyr/   c                 C   sF   | j }|d d D ]}||vr$ d S || d }q||d d  d S )Nnested)rR   pop)rO   rT   contkr   r   r   	unset_all   s    zFlags.unset_all)head_keyrel_keyflagr/   c                 C   s   | j }|D ],}||vr*t t i d||< || d }q
|D ]@}||v r\|| d | n|ht i d||< || d }q<d S )NrL   recursive_flagsrV   rV   rL   rR   setadd)rO   r[   r\   r]   rX   rY   r   r   r   set_for_relative_key   s    zFlags.set_for_relative_key)rT   r]   	recursiver/   c                C   s   | j }|d d |d  }}|D ],}||vr@t t i d||< || d }q ||vrjt t i d||< || |rxdnd | d S )NrU   r^   rV   r_   rL   r`   )rO   rT   r]   rd   rX   
key_parentkey_stemrY   r   r   r   ra      s    z	Flags.set)rT   r]   r/   c                 C   s   |sdS | j }|d d D ]4}||vr, dS || }||d v rF dS |d }q|d }||v r|| }||d v p~||d v S dS )NFrU   r_   TrV   rL   rQ   )rO   rT   r]   rX   rY   
inner_contrf   r   r   r   is_   s    
z	Flags.is_)r(   r)   r*   r+   FROZENEXPLICIT_NESTrP   KeyrZ   intrc   boolra   rh   r   r   r   r   rK      s   rK   c                   @   sB   e Zd ZddddZddeeeddd	Zedd
ddZdS )rJ   NrI   c                 C   s
   i | _ d S r   )rC   rN   r   r   r   rP      s    zNestedDict.__init__Taccess_lists)rT   ro   r/   c                C   sT   | j }|D ]D}||vri ||< || }|r<t|tr<|d }t|t s
tdq
|S )NrU   z There is no nest behind this key)rC   
isinstancelistKeyError)rO   rT   ro   rX   rY   r   r   r   get_or_create_nest   s    

zNestedDict.get_or_create_nestrS   c                 C   sV   |  |d d }|d }||v rH|| }t|ts<td|i  n
i g||< d S )NrU   z/An object other than list found behind this key)rs   rp   rq   rr   append)rO   rT   rX   last_keylist_r   r   r   append_nest_to_list   s    
zNestedDict.append_nest_to_list)	r(   r)   r*   rP   rk   rm   rC   rs   rw   r   r   r   r   rJ      s   rJ   )rD   rE   charsr/   c                 C   s2   z| | |v r|d7 }qW n t y,   Y n0 |S )Nr4   )r;   )rD   rE   rx   r   r   r   r9      s    r9   )rD   rE   expecterror_onerror_on_eofr/   c          	   	   C   s   z|  ||}W n2 tyB   t| }|r>t| |d|dY n0 || || }|rtt|}|  ||}t| |d|d|S )Nz
Expected "r%   zFound invalid character ")index
ValueErrorlenr@   intersectionnextiter)	rD   rE   ry   rz   r{   new_pos	bad_charsbad_charbad_posr   r   r   
skip_until   s    r   rD   rE   r/   c                 C   sF   z| | }W n t y"   d }Y n0 |dkrBt| |d dtddS |S )Nr6   r4   r!   Frz   r{   )r;   r   ILLEGAL_COMMENT_CHARS)rD   rE   rG   r   r   r   rA     s    
rA   c                 C   s,   |}t | |t}t| |}||kr |S q d S r   )r9   TOML_WS_AND_NEWLINErA   )rD   rE   pos_before_skipr   r   r   skip_comments_and_array_ws!  s
    
r   )rD   rE   rF   r/   c                 C   s   |d7 }t | |t}t| |\}}|j|tjsB|j|tjrVt| |d| d|jj	|tjdd z|j
| W n ty   t| |dY n0 ||_| ||d  dkrt| |d|d S )	Nr4   zCan not declare z twiceFrd   Can not overwrite a value]z.Expected "]" at the end of a table declaration)r9   r:   	parse_keyrL   rh   rK   rj   ri   r@   ra   rB   rs   rr   rM   )rD   rE   rF   rT   r   r   r   r?   *  s     r?   c                 C   s   |d7 }t | |t}t| |\}}|j|tjrDt| |d| |j| |jj	|tj
dd z|j| W n ty   t| |dY n0 ||_| ||d  }|dkrt| |d|d|d S )	N   #Can not mutate immutable namespace Fr   r   z]]zFound "z3" at the end of an array declaration. Expected "]]")r9   r:   r   rL   rh   rK   ri   r@   rZ   ra   rj   rB   rw   rr   rM   )rD   rE   rF   rT   
end_markerr   r   r   r>   =  s(    
r>   )rD   rE   rF   r-   r/   c                 C   s   t | ||\}}}|d d |d  }}|j| }|j|tjrTt| |d| |j|j|tj z|j	
|}	W n ty   t| |dY n0 ||	v rt| |dt|ttfr|j| }
|jj|
tjdd ||	|< |S )NrU   r   r   Tr   )parse_key_value_pairrM   rL   rh   rK   ri   r@   rc   rj   rB   rs   rr   rp   rC   rq   ra   )rD   rE   rF   r-   rT   valuere   rf   abs_key_parentnestabs_keyr   r   r   r=   Y  s&    

r=   )rD   rE   r-   r/   c                 C   st   t | |\}}z| | }W n ty0   d }Y n0 |dkrFt| |d|d7 }t| |t}t| ||\}}|||fS )N=z,Expected "=" after a key in a key/value pairr4   )r   r;   r@   r9   r:   parse_value)rD   rE   r-   rT   rG   r   r   r   r   r   r  s    
r   c                 C   s   t | |\}}|g}t| |t}z| | }W n tyB   d }Y n0 |dkrX|t|fS |d7 }t| |t}t | |\}}|| t| |t}q d S )N.r4   )parse_key_partr9   r:   r;   tuplert   )rD   rE   key_partrT   rG   r   r   r   r     s    

r   c                 C   s   z| | }W n t y"   d }Y n0 |tv rL|}t| |t}|| || fS |dkr^t| |S |dkrpt| |S t| |dd S )N'r%   z(Invalid initial character for a key part)r;   BARE_KEY_CHARSr9   parse_literal_strparse_one_line_basic_strr@   )rD   rE   rG   	start_posr   r   r   r     s    


r   c                 C   s   |d7 }t | |ddS )Nr4   F	multiline)parse_basic_strrD   rE   r   r   r   r     s    r   c                 C   s   |d7 }g }t | |}| ||d  dkr6|d |fS t| ||\}}|| t | |}| ||d  }|dkr~|d |fS |dkrt| |d|d7 }t | |}| ||d  dkr6|d |fS q6d S )Nr4   r   ,zUnclosed array)r   r   rt   r@   )rD   rE   r-   arrayvalcr   r   r   parse_array  s"    



r   c                 C   sf  |d7 }t  }t }t| |t}| ||d  dkrB|d |jfS t| ||\}}}|d d |d  }}||tjrt| |d| z|j	|dd}	W n t
y   t| |dY n0 ||	v rt| |d| d	||	|< t| |t}| ||d  }
|
dkr|d |jfS |
d
kr*t| |dt|ttfrL|j|tjdd |d7 }t| |t}qBd S )Nr4   }rU   r   Frn   r   zDuplicate inline table key "r%   r   zUnclosed inline tableTr   )rJ   rK   r9   r:   rC   r   rh   ri   r@   rs   rr   rp   rq   ra   )rD   rE   r-   nested_dictrL   rT   r   re   rf   r   r   r   r   r   parse_inline_table  s6    

r   Fr   )rD   rE   r   r/   c                C   s   | ||d  }|d7 }|r|dv r|dkrpt | |t}| ||d  }|sT|dfS |dkrht| |d|d7 }t | |t}|dfS |dkrt| |d	S |d
krt| |dS z|t| fW S  ty   t|dkrt| |dt| |dY n0 d S )Nr   >   z\ z\	\
r   r4    r!   zUnescaped "\" in a stringz\u   z\U   Unterminated string)r9   r:   r@   r   parse_hex_charBASIC_STR_ESCAPE_REPLACEMENTSrr   r~   )rD   rE   r   	escape_idrG   r   r   r   parse_basic_str_escape  s.    r   c                 C   s   t | |ddS )NTr   )r   r   r   r   r    parse_basic_str_escape_multiline  s    r   )rD   rE   hex_lenr/   c                 C   sl   | |||  }t ||ks.tdd |D r:t| |d||7 }t|d}t|s`t| |d|t|fS )Nc                 s   s   | ]}|t jvV  qd S r   )string	hexdigits)r   r   r   r   r   r     r   z!parse_hex_char.<locals>.<genexpr>zInvalid hex value   z/Escaped character is not a Unicode scalar value)r~   anyr@   rl   is_unicode_scalar_valuer   )rD   rE   r   hex_strhex_intr   r   r   r     s    
r   c                 C   s2   |d7 }|}t | |dtdd}|d | || fS )Nr4   r   Tr   )r   ILLEGAL_LITERAL_STR_CHARS)rD   rE   r   r   r   r   r     s    
r   )rD   rE   literalr/   c                C   s   |d7 }| ||d  dkr$|d7 }|rTd}t | |dtdd}| || }|d }nd}t| |dd	\}}| ||d  |kr||fS |d7 }| ||d  |kr||| fS |d7 }|||d
  fS )N   r4   r!   r   z'''Tr   r%   r   r   )r   #ILLEGAL_MULTILINE_LITERAL_STR_CHARSr   )rD   rE   r   delimend_posresultr   r   r   parse_multiline_str  s.    
r   c          	      C   s  |rt }t}nt}t}d}|}z| | }W n tyH   t| |dY n0 |dkr|sn|d || ||  fS | |d |d  dkr|d || ||  fS |d7 }q|dkr|| || 7 }|| |\}}||7 }|}q||v rt| |d|d|d7 }qd S )	Nr   r   r%   r4   r   ""r&   zIllegal character ")!ILLEGAL_MULTILINE_BASIC_STR_CHARSr   ILLEGAL_BASIC_STR_CHARSr   r;   r@   )	rD   rE   r   rz   parse_escapesr   r   rG   parsed_escaper   r   r   r   6  s6    r   r   )rD   rE   regexr/   c                 C   s,   | | |}|st| |d| | fS )NzUnexpected sequence)matchr@   endgroup)rD   rE   r   r   r   r   r   parse_regexV  s    r   c                 C   s  z| | }W n t y"   d }Y n0 |dkr\| |d |d  dkrRt| |ddS t| |S |dkr| |d |d  dkrt| |d	dS t| |S |d
kr| |d |d  dkr|d d	fS |dkr| |d |d  dkr|d dfS t| |}|r8zt|}W n  ty*   t| |dY n0 |	 |fS t
| |}|rZ|	 t|fS |dkr| |d |d  }|dkrt| |d t\}}|t|dfS |dkrt| |d t\}}	|t|	dfS |dkrt| |d t\}}
|t|
dfS t| |}|r |	 t||fS |dkr6t| ||S |dkrLt| ||S | ||d  }|dv rv|d ||fS | ||d  }|dv r|d ||fS t| |dd S )Nr%   r4   r   r   F)r   r   z''Ttr   ruef   alsezInvalid date or datetime0r   xr   or   br5   {>   infnan>   z+nanz+infz-infz-nanzInvalid value)r;   r   r   r   r   r   r   r}   r@   r   r   r   r   r   rl   r   r   r   r   r   r   )rD   rE   r-   rG   datetime_matchdatetime_objlocaltime_matchrH   r   oct_strbin_strnumber_matchfirst_three
first_fourr   r   r   r   ]  sj    










r   )rD   rE   msgr/   c                 C   s,   t tt ddd}t| d|| | dS )zZReturn a `TOMLDecodeError` where error message is suffixed with
    coordinates in source.r   c                 S   sV   |t | krdS | dd|d }|dkr4|d }n|| dd| }d| d| S )Nzend of documentr!   r   r4   zline z	, column )r~   countrindex)rD   rE   linecolumnr   r   r   
coord_repr  s    
z suffixed_err.<locals>.coord_reprz (at ))strPosr'   )rD   rE   r   r   r   r   r   r@     s    
r@   )	codepointr/   c                 C   s0   d|   kodkn  p.d|   ko*dkS   S )Nr   i  i   i r   )r   r   r   r   r     s    r   )Pr   typesr   typingr   r   r   r   r   r   r	   r
   r   pip._vendor.tomli._rer   r   r   r   r   r   r   r   r   rer   	frozensetranger   
ASCII_CTRLr   r   r   r   r   r:   r   ascii_lettersdigitsr   r<   r   r   
ParseFloatrk   rl   r   r}   r'   floatr3   r1   r8   rK   rJ   r9   rm   r   rA   r   r?   r>   r=   r   r   r   r   rq   r   rC   r   r   r   r   r   r   r   r   r   r@   r   r   r   r   r   <module>   s   ,,"  ?
>"
	!
	 
P