
    g	                    Z    d dl mZ ddlmZ d dlmZ dZ G d de      ZddZdd	Z	dd
Z
y)    )annotations   )
ParseError)
NamedTuplez#;c                  6    e Zd ZU ded<   ded<   ded<   ded<   y)_ParsedLineintlinenoz
str | NonesectionnamevalueN)__name__
__module____qualname____annotations__     E/var/www/openai/venv/lib/python3.12/site-packages/iniconfig/_parse.pyr   r   
   s    K
r   r   c           	        g }d }t        |      D ]  \  }}t        | ||      \  }}| ||j                  t        ||||             8|1|/|st	        | |d      |}|j                  t        ||d d              k|n|q|st	        | |d      |j                         }|j                  t	        | |d      |j                  r"|j                  |j                   d|       }n|j                  |      }|j                  |        |S )Nzempty section namezunexpected value continuation
)r   )		enumerate
_parselineappendr   r   popr   r   _replace)	path	line_iterresultr   r
   liner   datalasts	            r   parse_linesr"      s    "FG!),dF3
d 0MM+fgtTBC$, v/CDDGMM+fgtTBC\d. v/NOO::<Dyy  v/NOOzz}}djj\D6+B}C}}4}0MM$/ -0 Mr   c                N   t        |      rd}n|j                         }|sy|d   dk(  rP|}t        D ]$  }|j                  |      d   j                         }& |d   dk(  r|dd d fS d |j	                         fS |d   j                         sE	 |j                  dd      \  }}d	|v r
t               	 |j	                         |j	                         fS d |j	                         fS # t        $ r7 	 |j                  d	d      \  }}n# t        $ r t        | |d
|z        w xY wY qw xY w)N )NNr   []r   =:zunexpected line: %r)iscommentlinerstripCOMMENTCHARSsplitstripisspace
ValueErrorr   )r   r   r
   reallinecr   r   s          r   r   r   /   sC   T{{}Aw#~A::a=#**,D 8s?":t##X^^%%%!W__	M**S!,KD%d{ l"  zz|U[[]** TZZ\!!  	MM"jja0e M v/Dt/KLLM 	Ms*   #C$ $	D$.DD$DD$#D$c                8    | j                         d d }|t        v S )Nr   )lstripr,   )r   r2   s     r   r*   r*   P   s    bqAr   N)r   strr   z	list[str]returnzlist[_ParsedLine])r   r5   r   r5   r
   r	   r6   ztuple[str | None, str | None])r   r5   r6   bool)
__future__r   
exceptionsr   typingr   r,   r   r"   r   r*   r   r   r   <module>r;      s1    " "  * <"Br   