
    8gB                        d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
 d*dededee         fdZ ed          Z edej        	          Z ed
          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z ed          Z G d de          Z G d de          Z G d d          Z  G d de!          Z" G d d           Z#d!ee         dedefd"Z$d#e#dee         fd$Z%d#e#defd%Z&d#e#defd&Z'd#e#defd'Z(d(ee         dee         fd)Z)dS )+    N)IOIteratorMatch
NamedTupleOptionalPatternSequenceTuplestringextra_flagsreturnc                 F    t          j        | t           j        |z            S N)recompileUNICODE)r   r   s     ?/var/www/api/venv/lib/python3.11/site-packages/dotenv/parser.py
make_regexr      s    :fbj;6777    z(\r\n|\n|\r)z\s*)r   z
[^\S\r\n]*z(?:export[^\S\r\n]+)?z	'([^']+)'z([^=\#\s]+)z(=[^\S\r\n]*)z'((?:\\'|[^'])*)'z"((?:\\"|[^"])*)"z
([^\r\n]*)z(?:[^\S\r\n]*#[^\r\n]*)?z[^\S\r\n]*(?:\r\n|\n|\r|$)z[^\r\n]*(?:\r|\n|\r\n)?z\\[\\'\"abfnrtv]z\\[\\']c                   $    e Zd ZU eed<   eed<   dS )Originalr   lineN)__name__
__module____qualname__str__annotations__int r   r   r   r      s"         KKK
IIIIIr   r   c                   P    e Zd ZU ee         ed<   ee         ed<   eed<   eed<   dS )BindingkeyvalueoriginalerrorN)r   r   r   r   r   r   r   boolr   r   r   r!   r!   !   sE         	#C=KKKKKr   r!   c                   R    e Zd ZdededdfdZedd            ZddZd	eddfd
Z	dS )Positioncharsr   r   Nc                 "    || _         || _        d S r   r)   r   )selfr)   r   s      r   __init__zPosition.__init__)   s    
			r   c                      | dd          S )Nr      r+   r   )clss    r   startzPosition.start-   s    s####r   otherc                 6    |j         | _         |j        | _        d S r   r+   )r,   r2   s     r   setzPosition.set1   s    [
J			r   r   c                     | xj         t          |          z  c_         | xj        t          t          j        t
          |                    z  c_        d S r   )r)   lenr   r   findall_newline)r,   r   s     r   advancezPosition.advance5   s@    

c&kk!

		SHf55666				r   )r   r(   )r2   r(   r   N)
r   r   r   r   r-   classmethodr1   r4   r   r9   r   r   r   r(   r(   (   s        c       $ $ $ [$   7c 7d 7 7 7 7 7 7r   r(   c                       e Zd ZdS )ErrorN)r   r   r   r   r   r   r<   r<   :   s        Dr   r<   c                       e Zd Zdee         ddfdZdefdZddZde	fdZ
dedefd	Zdedefd
Zdee         dee         fdZdS )Readerstreamr   Nc                     |                                 | _        t                                          | _        t                                          | _        d S r   )readr   r(   r1   positionmark)r,   r?   s     r   r-   zReader.__init__?   s7    kkmm ((NN$$			r   c                 F    | j         j        t          | j                  k     S r   )rB   r)   r6   r   r,   s    r   has_nextzReader.has_nextD   s    }"S%5%555r   c                 D    | j                             | j                   d S r   )rC   r4   rB   rE   s    r   set_markzReader.set_markG   s    	dm$$$$$r   c                 z    t          | j        | j        j        | j        j                 | j        j                  S )N)r   r   )r   r   rC   r)   rB   r   rE   s    r   
get_markedzReader.get_markedJ   s8    ;tyt}/BBC
 
 
 	
r   countc                 N    | j         | j        j        | j        j        |z            S r   )r   rB   r)   )r,   rK   s     r   peekzReader.peekP   s#    {4=.t}/BU/JJKKr   c                     | j         | j        j        | j        j        |z            }t          |          |k     rt	          d          | j                            |           |S )Nzread: End of string)r   rB   r)   r6   r<   r9   )r,   rK   results      r   rA   zReader.readS   s]    T]01Du1LLMv;;-...f%%%r   regexc                 ,   |                     | j        | j        j                  }|t	          d          | j                            | j        |                                |                                                    |                                S )Nzread_regex: Pattern not found)	matchr   rB   r)   r<   r9   r1   endgroups)r,   rP   rR   s      r   
read_regexzReader.read_regexZ   sp    DK)<===7888dk%++--		*CDEEE||~~r   )r   N)r   r   r   r   r   r-   r&   rF   rH   r   rJ   r   rM   rA   r   r	   rU   r   r   r   r>   r>   >   s        %r#w %4 % % % %
6$ 6 6 6 6% % % %
H 
 
 
 
L# L# L L L L# #     #      r   r>   rP   c                 h    dt           t                   dt          fd}|                     ||          S )NrR   r   c                 R    t          j        |                     d          d          S )Nr   zunicode-escape)codecsdecodegroup)rR   s    r   decode_matchz$decode_escapes.<locals>.decode_matchc   s    }U[[^^-=>>>r   )r   r   sub)rP   r   r[   s      r   decode_escapesr]   b   s>    ?E#J ?3 ? ? ? ? 99\6***r   readerc                     |                      d          }|dk    rd S |dk    r|                     t                    \  }n|                     t                    \  }|S )Nr/   #')rM   rU   _single_quoted_key_unquoted_key)r^   charr"   s      r   	parse_keyre   i   sZ    ;;q>>Ds{{t	""#566""=11Jr   c                     |                      t                    \  }t          j        dd|                                          S )Nz\s+#.* )rU   _unquoted_valuer   r\   rstrip)r^   parts     r   parse_unquoted_valuerk   t   s7    00GT6)R&&--///r   c                 2   |                      d          }|dk    r1|                     t                    \  }t          t          |          S |dk    r1|                     t
                    \  }t          t          |          S |dv rdS t          |           S )Nr/   ra   ")rg   
rg   )rM   rU   _single_quoted_valuer]   _single_quote_escapes_double_quoted_value_double_quote_escapesrk   )r^   rd   r#   s      r   parse_valuert   y   s    ;;q>>Dt||$$%9::3U;;;	$$%9::3U;;;	$	$	$s#F+++r   c                 2   |                                   	 |                     t                     |                                 s%t	          d d |                                 d          S |                     t                     t          |           }|                     t                     | 	                    d          dk    r*|                     t                     t          |           }nd }|                     t                     |                     t                     t	          |||                                 d          S # t          $ rB |                     t                     t	          d d |                                 d          cY S w xY w)NF)r"   r#   r$   r%   r/   =T)rH   rU   _multiline_whitespacerF   r!   rJ   _exportre   _whitespacerM   _equal_signrt   _comment_end_of_liner<   _rest_of_line)r^   r"   r#   s      r   parse_bindingr~      s   
OO 
/000   	**,,	    	'"""+&&&;;q>>S  k***#.v#6#6EEE(###,'''&&((	
 
 
 	
  
 
 
-(((&&((	
 
 
 	
 	
 	

s   AE
 )C E
 
A	FFr?   c              #      K   t          |           }|                                r't          |          V  |                                %d S d S r   )r>   rF   r~   )r?   r^   s     r   parse_streamr      s_      F^^F
//

 $F##### //

 $ $ $ $ $r   )r   )*rX   r   typingr   r   r   r   r   r   r	   r
   r   r   r   r8   	MULTILINErw   ry   rx   rb   rc   rz   rp   rr   rh   r{   r|   r}   rs   rq   r   r!   r(   	Exceptionr<   r>   r]   re   rk   rt   r~   r   r   r   r   <module>r      sc    				. . . . . . . . . . . . . . . . . . . .8 8s 8 8WS\ 8 8 8 8 :o&&"
6r|DDD j''
*-
.
.Z-- 
>**j)**!z"677 !z"677 *]++:122z788
566"
#677 "
:..     z   
    j   7 7 7 7 7 7 7 7$	 	 	 	 	I 	 	 	! ! ! ! ! ! ! !H+'#, + + + + + +f #    0 0C 0 0 0 0
, ,3 , , , ,"
& "
W "
 "
 "
 "
J$C $Xg%6 $ $ $ $ $ $r   