
    F-Ph	                    b    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
dS )    )annotations   )
ParseError)
NamedTuplez#;c                  8    e Zd ZU ded<   ded<   ded<   ded<   dS )_ParsedLineintlinenoz
str | NonesectionnamevalueN)__name__
__module____qualname____annotations__     P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/iniconfig/_parse.pyr   r   
   s?         KKKr   r   pathstr	line_iter	list[str]returnlist[_ParsedLine]c           	     b   g }d }t          |          D ]\  }}t          | ||          \  }}|(|&|                    t          ||||                     D|=|;|st	          | |d          |}|                    t          ||d d                      |||st	          | |d          |                                }|j        t	          | |d          |j        r!|                    |j         d|           }n|                    |          }|                    |           |S )Nzempty section namezunexpected value continuation
)r   )		enumerate
_parselineappendr   r   popr   r   _replace)	r   r   resultr   r
   liner   datalasts	            r   parse_linesr&      s`    "FG!),,    dF33
d 0MM+fgtTBBCCCC$, E v/CDDDGMM+fgtTBBCCCC\d. P v/NOOO::<<Dy  v/NOOOz 1}}dj+B+BD+B+B}CC}}4}00MM$Mr   r#   r
   r	   tuple[str | None, str | None]c                   t          |          rd}n|                                }|sdS |d         dk    rg|}t          D ]/}|                    |          d                                         }0|d         dk    r|dd         d fS d |                                fS |d                                         s	 |                    dd          \  }}d	|v rt                      nM# t          $ r@ 	 |                    d	d          \  }}n"# t          $ r t          | |d
|z            w xY wY nw xY w|                                |                                fS d |                                fS )N )NNr   []r   =:zunexpected line: %r)iscommentlinerstripCOMMENTCHARSsplitstripisspace
ValueErrorr   )r   r#   r
   reallinecr   r   s          r   r   r   /   s   T {{}} zAw#~~ 	- 	-A::a==#**,,DD8s??":t##X^^%%%%!W__ "	M**S!,,KD%d{{ ll"  	M 	M 	MM"jja00ee M M M v/Dt/KLLLM e	M
 zz||U[[]]** TZZ\\!!s*   9+C% %
D/0D
	D/
D))D/.D/boolc                L    |                                  d d         }|t          v S )Nr   )lstripr1   )r#   r7   s     r   r/   r/   P   s#    bqbAr   N)r   r   r   r   r   r   )r   r   r#   r   r
   r	   r   r'   )r#   r   r   r8   )
__future__r   
exceptionsr   typingr   r1   r   r&   r   r/   r   r   r   <module>r>      s    " " " " " " " " " " " "           *      <" " " "B     r   