+
     Bi%                        ^ RI HtHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RItR7t]tRt^
t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R  R
]4      t ! R! R]4      t ! R" R	]4      t ! R# R]4      t ! R$ R]4      t ! R% R]4      t ! R& R]4      t ! R' R(4      t  ! R) R]4      t!] ! 4       t"]#! 4       t$ ! R* R4      t% ! R+ R]%4      t& ! R, R]%4      t' ! R- R.4      t( ! R/ R0])4      t* ! R1 R24      t+ ! R3 R]4      t, ! R4 R],4      t- ! R5 R]4      t. ! R6 R]4      t/R# )8    )IterableMutableMapping)ChainMapNNoSectionErrorDuplicateOptionErrorDuplicateSectionErrorNoOptionErrorInterpolationErrorInterpolationDepthErrorInterpolationMissingOptionErrorInterpolationSyntaxErrorParsingErrorMissingSectionHeaderErrorMultilineContinuationErrorUnnamedSectionDisabledErrorInvalidWriteErrorConfigParserRawConfigParserInterpolationBasicInterpolationExtendedInterpolationSectionProxyConverterMappingDEFAULTc                   4   a  ] tR t^t o RR ltR t]tRtV tR# )Errorc                <    Wn         \        P                  W4       R # N)message	Exception__init__selfmsgs   &&#/usr/lib/python3.14/configparser.pyr!   Error.__init__   s    4%    c                    V P                   # r   r   r#   s   &r%   __repr__Error.__repr__   s    ||r'   r)   N )	__name__
__module____qualname____firstlineno__r!   r+   __str____static_attributes____classdictcell____classdict__s   @r%   r   r      s     & Gr'   r   c                   &   a  ] tR t^t o R tRtV tR# )r   c                V    \         P                  V R V: 24       Wn        V3V n        R# )zNo section: N)r   r!   sectionargsr#   r:   s   &&r%   r!   NoSectionError.__init__   s!    t:;K	r'   )r;   r:   Nr/   r0   r1   r2   r!   r4   r5   r6   s   @r%   r   r      s        r'   c                   *   a  ] tR t^t o RR ltRtV tR# )r   Nc                x   \        V4      R .pVeW   R\        V4      .pVe!   VP                  RP                  V4      4       VP                  R4       VP                  V4       TpMVP	                  ^ R4       \
        P                  V RP                  V4      4       Wn        W n	        W0n
        WV3V n        R# ) already existsNWhile reading from  [line {0:2d}]z
: section zSection r.   )reprappendformatextendinsertr   r!   joinr:   sourcelinenor;   )r#   r:   rJ   rK   r$   r   s   &&&&  r%   r!   DuplicateSectionError.__init__   s    G}/0,d6l;G!/66v>?NN<(NN3CJJq*%tRWWS\*f-	r'   )r;   rK   r:   rJ   NNr>   r6   s   @r%   r   r      s     . .r'   c                   *   a  ] tR t^t o RR ltRtV tR# )r   Nc                   \        V4      R \        V4      R.pVeW   R\        V4      .pVe!   VP                  RP                  V4      4       VP                  R4       VP                  V4       TpMVP	                  ^ R4       \
        P                  V RP                  V4      4       Wn        W n	        W0n
        W@n        WW43V n        R# )z in section rA   NrB   rC   z	: option zOption r.   )rD   rE   rF   rG   rH   r   r!   rI   r:   optionrJ   rK   r;   )r#   r:   rP   rJ   rK   r$   r   s   &&&&&  r%   r!   DuplicateOptionError.__init__   s    F|^T'] ",d6l;G!/66v>?NN;'NN3CJJq)$tRWWS\*f5	r'   )r;   rK   rP   r:   rJ   rM   r>   r6   s   @r%   r   r      s     6 6r'   c                   &   a  ] tR t^t o R tRtV tR# )r	   c                j    \         P                  V R V: RV: 24       Wn        W n        W3V n        R# )z
No option z in section: Nr   r!   rP   r:   r;   )r#   rP   r:   s   &&&r%   r!   NoOptionError.__init__   s.    t) 	*%	r'   r;   rP   r:   Nr>   r6   s   @r%   r	   r	      s     & &r'   c                   &   a  ] tR tRt o R tRtV tR# )r
   i  c                Z    \         P                  W4       Wn        W n        WV3V n        R # r   rT   )r#   rP   r:   r$   s   &&&&r%   r!   InterpolationError.__init__	  s$    t!c*	r'   rV   Nr>   r6   s   @r%   r
   r
     s     + +r'   c                   &   a  ] tR tRt o R tRtV tR# )r   i  c                t    R P                  WWC4      p\        P                  WW%4       W@n        WW43V n        R# )zBad value substitution: option {!r} in section {!r} contains an interpolation key {!r} which is not a valid option name. Raw value: {!r}N)rF   r
   r!   	referencer;   )r#   rP   r:   rawvalr\   r$   s   &&&&& r%   r!   (InterpolationMissingOptionError.__init__  s;    !!'!K 	 	##D'?"f8	r'   )r;   r\   Nr>   r6   s   @r%   r   r     s     9 9r'   c                       ] tR tRtRtR# )r   i   N)r/   r0   r1   r2   r4   r`   r'   r%   r   r     s    r'   c                   &   a  ] tR tRt o R tRtV tR# )r   i$  c                r    R P                  W\        V4      p\        P                  WW$4       WV3V n        R# )zRecursion limit exceeded in value substitution: option {!r} in section {!r} contains an interpolation key which cannot be substituted in {} steps. Raw value: {!r}N)rF   MAX_INTERPOLATION_DEPTHr
   r!   r;   )r#   rP   r:   r]   r$   s   &&&& r%   r!    InterpolationDepthError.__init__'  s>     &*A! 	
 	##D'?f-	r'   )r;   Nr>   r6   s   @r%   r   r   $  s     . .r'   c                   Z   a a ] tR tRt oV 3R ltR tR t]V3R lR l4       tRt	Vt
V ;t# )r   i1  c                   < \         SV `  R V: 24       Wn        . V n        V3V n        V'       d   V P
                  ! V!   R# R# )z Source contains parsing errors: N)superr!   rJ   errorsr;   rE   )r#   rJ   r;   	__class__s   &&*r%   r!   ParsingError.__init__4  sA    ;F:FGJ	KK r'   c                    V P                   P                  W34       V ;P                  R V\        V4      3,          ,          un        R# )z
	[line %2d]: %sN)rh   rE   r   rD   )r#   rK   lines   &&&r%   rE   ParsingError.append<  s3    F>*,T
/CCCr'   c                ^    V F&  pVP                    F  pV P                  ! V!   K  	  K(  	  V # r   )rh   rE   )r#   othersothererrors   &&  r%   combineParsingError.combine@  s-    EU# &  r'   c                .   < V ^8  d   QhRS[ R,          /# )   
exceptionsr   )r   )rF   r7   s   "r%   __annotate__ParsingError.__annotate__G  s     7 7x7 7r'   c                    \        V 4      p \        P                  ! \        4      ;_uu_ 4        \	        V 4      P                  V 4      h  + '       g   i     R # ; ir   )iter
contextlibsuppressStopIterationnextrr   )rv   s   &r%   
_raise_allParsingError._raise_allF  sA    
 *%
  //z"**:66 0//s   A		A	)r;   rh   rJ   )r/   r0   r1   r2   r!   rE   rr   staticmethodr   r4   r5   __classcell__ri   r7   s   @@r%   r   r   1  s.     D 7 7 7r'   c                   &   a  ] tR tRt o R tRtV tR# )r   iQ  c                z    \         P                  V R WV3,          4       Wn        W n        W0n        WV3V n        R# )z7File contains no section headers.
file: %r, line: %d
%rNr   r!   rJ   rK   rl   r;   r#   filenamerK   rl   s   &&&&r%   r!   "MissingSectionHeaderError.__init__T  s>    Gt$%	& 	t,	r'   r;   rl   rK   rJ   Nr>   r6   s   @r%   r   r   Q  s     - -r'   c                   &   a  ] tR tRt o R tRtV tR# )r   i_  c                z    \         P                  V R WV3,          4       Wn        W n        W0n        WV3V n        R# )zHKey without value continued with an indented line.
file: %r, line: %d
%rNr   r   s   &&&&r%   r!   #MultilineContinuationError.__init__a  s@    %%&	'
 	t,	r'   r   Nr>   r6   s   @r%   r   r   _  s     	- 	-r'   c                   &   a  ] tR tRt o R tRtV tR# )r   im  c                2    \         P                  V R 4       R# )z(Support for UNNAMED_SECTION is disabled.Nr   r!   r*   s   &r%   r!   $UnnamedSectionDisabledError.__init__p  s    tGHr'   r`   Nr>   r6   s   @r%   r   r   m  s     I Ir'   c                   &   a  ] tR tRt o R tRtV tR# )_UnnamedSectionit  c                    R # )z<UNNAMED_SECTION>r`   r*   s   &r%   r+   _UnnamedSection.__repr__v  s    "r'   r`   N)r/   r0   r1   r2   r+   r4   r5   r6   s   @r%   r   r   t  s     # #r'   r   c                   *   a  ] tR tRt o RR ltRtV tR# )r   iy  c                0    \         P                  W4       R # r   r   r"   s   &&r%   r!   InvalidWriteError.__init__~  s    t!r'   r`   Nr-   r>   r6   s   @r%   r   r   y  s     
" "r'   c                   8   a  ] tR tRt o R tR tR tR tRtV t	R# )r   i  c                    V# r   r`   )r#   parserr:   rP   valuedefaultss   &&&&&&r%   
before_getInterpolation.before_get      r'   c                    V# r   r`   r#   r   r:   rP   r   s   &&&&&r%   
before_setInterpolation.before_set  r   r'   c                    V# r   r`   r   s   &&&&&r%   before_readInterpolation.before_read  r   r'   c                    V# r   r`   r   s   &&&&&r%   before_writeInterpolation.before_write  r   r'   r`   N)
r/   r0   r1   r2   r   r   r   r   r4   r5   r6   s   @r%   r   r     s      r'   c                   V   a  ] tR tRt o ]P
                  ! R4      tR tR tR t	Rt
V tR# )r   i  z%\(([^)]+)\)sc           	     P    . pV P                  WWdW%^4       RP                  V4      #    r.   _interpolate_somerI   r#   r   r:   rP   r   r   Ls   &&&&&& r%   r   BasicInterpolation.before_get  )    vqANwwqzr'   c                    VP                  R R4      pV P                  P                  RV4      pRV9   d#   \        RWEP	                  R4      3,          4      hV# )z%%r.   %1invalid interpolation syntax in %r at position %dreplace_KEYCREsub
ValueErrorfindr#   r   r:   rP   r   	tmp_values   &&&&& r%   r   BasicInterpolation.before_set  ^    MM$+	LL$$R3	) +.3^^C5H-IJ K Kr'   c           
        VP                  WRR VR7      pV\        8  d   \        W%V4      hV'       Ed4   VP                  R4      p	V	^ 8  d   VP	                  V4       R# V	^ 8  d   VP	                  VRV	 4       WIR pVR,          p
V
R8X  d   VP	                  R4       VR,          pK  V
R8X  d   V P
                  P                  V4      pVf   \        W%RV,          4      hVP                  VP                  ^4      4      pWKP                  4       R p Wl,          pRT9   d   T P                  YY=YVT^,           4       EK  TP	                  T4       EK,  \        W%RV: 24      hR#   \         d    \        Y%Y4      Rhi ; i)	Trawfallbackr   Nr   ru   Nru   NN('bad interpolation variable reference %rz+'%' must be followed by '%' or '(', found: )getrc   r   r   rE   r   matchr   optionxformgroupendKeyErrorr   r   )r#   r   rP   accumrestr:   mapdepthr]   pcmvarvs   &&&&&&&&      r%   r   $BasicInterpolation._interpolate_some  s   GE**)&6BBd		#A1uT"1uT"1X&BxS	ACxS!BxcLL&&t,926ADHJ J((4EEGH~@A !8**65+2D LLO.G#'*+ +? ,   @96;?@@s   E* *Fr`   Nr/   r0   r1   r2   recompiler   r   r   r   r4   r5   r6   s   @r%   r   r     s*      jj)*G
'+ '+r'   c                   V   a  ] tR tRt o ]P
                  ! R4      tR tR tR t	Rt
V tR# )r   i  z\$\{([^}]+)\}c           	     P    . pV P                  WWdW%^4       RP                  V4      # r   r   r   s   &&&&&& r%   r    ExtendedInterpolation.before_get  r   r'   c                    VP                  R R4      pV P                  P                  RV4      pRV9   d#   \        RWEP	                  R4      3,          4      hV# )z$$r.   $r   r   r   s   &&&&& r%   r    ExtendedInterpolation.before_set  r   r'   c                   VP                  WRR VR7      pV\        8  d   \        W%V4      hV'       Ed   VP                  R4      p	V	^ 8  d   VP	                  V4       R# V	^ 8  d   VP	                  VRV	 4       WIR pVR,          p
V
R8X  d   VP	                  R4       VR,          pK  V
R8X  EdK   V P
                  P                  V4      pVf   \        W%RV,          4      hVP                  ^4      P                  R4      pWKP                  4       R pTpTp \        V4      ^8X  d"   VP                  V^ ,          4      pWn,          pMU\        V4      ^8X  d6   V^ ,          pVP                  V^,          4      pVP                  WR R	7      pM\        W%R
V: 24      hVf   EK}  RV9   d:   V P%                  WW?V\'        VP)                  VR R	7      4      V^,           4       EK  VP	                  V4       EK  \        W%RV: 24      hR#   \        \        \        3 d    \!        Y%TRP#                  T4      4      Rhi ; i)Tr   r   Nr   r   {r   :)r   zMore than one ':' found: z+'$' must be followed by '$' or '{', found: )r   rc   r   r   rE   r   r   r   r   splitr   lenr   r   r   r	   r   rI   r   dictitems)r#   r   rP   r   r   r:   r   r   r]   r   r   r   pathsectoptr   s   &&&&&&&&        r%   r   'ExtendedInterpolation._interpolate_some  s/   GE**)&6BBd		#A1uT"1uT"1X&BxS	ACxS!BxcLL&&t,926ADHJ Jwwqz'',EEGH~K4yA~$00a9HTa#Aw$00a9"JJtdJ;6"G=ACE E 9!8**6$+/Tt0L+M+0196 LLO.G#'*+ +] D !.-@ K9$AFJKKs   0H AH H 4Ir`   Nr   r6   s   @r%   r   r     s*      jj)*G
6+ 6+r'   c                   F   a  ] tR tRt o RtRtRt^ t^ tR t	V 3R lt
RtV tR# )
_ReadStatei/  Nc                B    \        4       V n        \        4       V n        R # r   )setelements_addedlistrh   r*   s   &r%   r!   _ReadState.__init__8  s    !efr'   c                   < V ^8  d   Qh/ S[ S[,          ;R&   S[S[S[3,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   # )	ru   r   NcursectsectnameoptnamerK   indent_levelrh   )r   strr   intr   r   )rF   r7   s   "r%   rw   _ReadState.__annotate__/  sz     X 38nt#*  Tz   Dj	 
     , r'   )r   rh   )r/   r0   r1   r2   r   r   r   rK   r   r!   __annotate_func__r4   r5   r6   s   @r%   r   r   /  s*     &*G HGFL  r'   r   c                   <   a a ] tR tRt oRtV 3R ltR tRtVtV ;t	# )_Linei=  c                "   < \         SV `  W4      # r   )rg   __new__)clsvalr;   kwargsri   s   &&*,r%   r  _Line.__new__@  s    ws((r'   c                x    VP                  4       pVP                  V4      V n        W0P                  8g  V n        R # r   )stripcleanhas_comments)r#   r  commentstrimmeds   &&& r%   r!   _Line.__init__C  s,    ))+^^G,
#zz1r'   )r  r	  )
r/   r0   r1   r2   	__slots__r  r!   r4   r5   r   r   s   @@r%   r   r   =  s     'I)2 2r'   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )_CommentSpeciI  c                    R  V 4       pR V 4       p\         P                  ! RP                  \        P                  ! W44      4      4      V n        R# )c              3   V   "   T F  pR \         P                  ! V4       R2x  K!  	  R# 5i)z^(z).*Nr   escape.0prefixs   & r%   	<genexpr>(_CommentSpec.__init__.<locals>.<genexpr>K  s,      
 ( "))F#$C('   ')c              3   V   "   T F  pR \         P                  ! V4       R2x  K!  	  R# 5i)z(^|\s)(z.*)Nr  r  s   & r%   r  r  P  s,      
 * ryy()-)r  |N)r   r   rI   	itertoolschainpattern)r#   full_prefixesinline_prefixesfull_patternsinline_patternss   &&&  r%   r!   _CommentSpec.__init__J  sH    
 (


 *

 zz#((9??=+Z"[\r'   c                V    V P                   P                  R V4      P                  4       # r-   )r  r   rstripr#   texts   &&r%   r  _CommentSpec.stripW  s"    ||D)0022r'   c                    \        W4      # r   )r   r&  s   &&r%   wrap_CommentSpec.wrapZ  s    T  r'   )r  N)	r/   r0   r1   r2   r!   r  r*  r4   r5   r6   s   @r%   r  r  I  s     ]3! !r'   r  c                   F  a a ] tR tRt oRtRtRt]! 4       t]	P                  ! ]]	P                  4      t]	P                  ! ]P                  RR7      ]	P                  4      t]	P                  ! ]P                  RR7      ]	P                  4      t]	P                  ! R4      tRR	R
R	RR	RR	RRRRRRRR/tR]R3RRPRRQRRRR	RR	R]R]R]RR/	R lltR tR tR tR  tR! tRRR" ltRRR# ltRSR$ ltRTR% ltR&RR'RR(]/R) ltR* t R&RR'RR(]/R+ lt!R&RR'RR(]/R, lt"R&RR'RR(]/R- lt#R&RR'RR(]/R. lt$]RR3V 3R/ llt%R0 t&R1 t'R2 t(RRR3 lt)RUR4 lt*RVR5 lt+R6 t,R7 t-R8 t.R9 t/R: t0R; t1R< t2R= t3R> t4R? t5R@ t6RA t7RB t8RC t9RD t:RE t;RF t<RG t=RH t>RIRJRKRJRLRJ/RM lt?]@RN 4       tAROtBVtCV ;tD# )Wr   i^  z
        \[                                 # [
        (?P<header>.+)                     # very permissive!
        \]                                 # ]
        a  
        (?P<option>.*?)                    # very permissive!
        \s*(?P<vi>{delim})\s*              # any number of space/tab,
                                           # followed by any of the
                                           # allowed delimiters,
                                           # followed by any space/tab
        (?P<value>.*)$                     # everything up to eol
        a  
        (?P<option>.*?)                    # very permissive!
        \s*(?:                             # any number of space/tab,
        (?P<vi>{delim})\s*                 # optionally followed by
                                           # any of the allowed
                                           # delimiters, followed by any
                                           # space/tab
        (?P<value>.*))?$                   # everything up to eol
        z=|:delimz\S1Tyestrueon0FnofalseoffN
delimiterscomment_prefixesinline_comment_prefixesstrictempty_lines_in_valuesdefault_sectioninterpolation
convertersallow_unnamed_sectionc       	           W n         V P                  4       V n        V P                  4       V n        \        V 4      V n        V P                  4       V n        \        W	4      V P
                  V	&   \        V4      V n        VR8X  d'   V'       d   V P                  MV P                  V n        MRP                  R V 4       4      pV'       dF   \        P                  ! V P                  P!                  VR7      \        P"                  4      V n        MD\        P                  ! V P$                  P!                  VR7      \        P"                  4      V n        \'        T;'       g    RT;'       g    R4      V n        Wpn        W0n        Wn        Wn        Wn        V P2                  \4        J d   V P6                  V n        V P2                  f   \9        4       V n        \;        V P2                  \8        4      '       g"   \=        R\?        V P2                  4       24      hV\4        Jd   V P                  PA                  V4       V'       d   V PC                  V4       Wn"        R# )=r  c              3   N   "   T F  p\         P                  ! V4      x  K  	  R # 5ir   r  )r  ds   & r%   r  +RawConfigParser.__init__.<locals>.<genexpr>  s     :z!1zs   #%r-  NzSinterpolation= must be None or an instance of Interpolation; got an object of type rA  r   r`   )#_dict	_sections	_defaultsr   _converters_proxiesr   tuple_delimiters	OPTCRE_NVOPTCRE_optcrerI   r   r   _OPT_NV_TMPLrF   VERBOSE	_OPT_TMPLr  	_comments_strict_allow_no_value_empty_lines_in_valuesr<  _interpolation_UNSET_DEFAULT_INTERPOLATIONr   
isinstance	TypeErrortypeupdate_read_defaults_allow_unnamed_section)r#   r   	dict_typeallow_no_valuer7  r8  r9  r:  r;  r<  r=  r>  r?  rC  s   &&&&$$$$$$$$$ r%   r!   RawConfigParser.__init__  s    
+D1

)5d)Lo& ,#-;4>>DL:z::A!zz$*;*;*B*B*B*K*,** 6  "zz$..*?*?a*?*H*,** 6%&6&<&<">U>[>[Y[\-&;#,+&("&"="=D&"//D$--}==**.t/B/B*C)DF  V###J/)&;#r'   c                    V P                   # r   )rH  r*   s   &r%   r   RawConfigParser.defaults  s    ~~r'   c                H    \        V P                  P                  4       4      # r   )r   rG  keysr*   s   &r%   sectionsRawConfigParser.sections  s     DNN'')**r'   c                .   WP                   8X  d   \        R V,          4      hV\        J d   V P                  '       g   \        hWP
                  9   d   \        V4      hV P                  4       V P
                  V&   \        W4      V P                  V&   R# )zInvalid section name: %rN)
r<  r   UNNAMED_SECTIONr_  r   rG  r   rF  r   rJ  r<   s   &&r%   add_sectionRawConfigParser.add_section  sw     ***7'ABBo%...11nn$'00"&**,w!-d!<gr'   c                    WP                   9   # r   )rG  r<   s   &&r%   has_sectionRawConfigParser.has_section  s    
 ..((r'   c                     V P                   V,          P                  4       pTP	                  T P
                  4       \        TP                  4       4      #   \         d    \        T4      R hi ; ir   )rG  copyr   r   r]  rH  r   rf  )r#   r:   optss   && r%   optionsRawConfigParser.options  s_    	4>>'*//1D 	DNN#DIIK    	4 )t3	4s   !A A/c                   \        V\        \        \        P                  34      '       d   V.p\
        P                  ! V4      p. pV Fy  p \        WBR 7      ;_uu_ 4       pV P                  WT4       RRR4       \        T\        P                  4      '       d   \        P                  ! T4      pTP                  T4       K{  	  V#   + '       g   i     L]; i  \         d     K  i ; i))encodingN)rZ  r   bytesosPathLikeiotext_encodingopen_readOSErrorfspathrE   )r#   	filenamesrv  read_okr   fps   &&&   r%   readRawConfigParser.read  s     i#ubkk!:;;"I##H-!H(66"JJr, 7 (BKK0099X.NN8$ "  76 s0   C!C3CCCCC*)C*c                p    Vf    VP                   pV P                  W4       R #   \         d    Rp L"i ; i)Nz<???>)nameAttributeErrorr}  )r#   frJ   s   &&&r%   	read_fileRawConfigParser.read_file  s;     >! 	

1 " ! !s   % 55c                T    \         P                  ! V4      pV P                  W24       R # r   )rz  StringIOr  )r#   stringrJ   sfiles   &&& r%   read_stringRawConfigParser.read_string	  s    F#u%r'   c                    \        4       pVP                  4        F  w  rE\        V4      p V P                  V4       VP                  V4       VP                  4        Fx  w  rgV P                  \        V4      4      pVe   \        V4      pV P                  '       d   WF3V9   d   \        WFV4      hVP                  WF34       V P                  WFV4       Kz  	  K  	  R #   \        \
        3 d    T P                  '       d   YC9   d   h  Li ; ir   )
r   r   r   rk  r   r   rT  addr   r   )r#   
dictionaryrJ   r   r:   rf  keyr   s   &&&     r%   	read_dictRawConfigParser.read_dict  s     '--/MG'lG  ) w'"jjl
&&s3x0$JE<<<WNn$D.wVDD""G>2u- + 0 *:6 <<<G$=s   C  "DDDr   varsr   c               <    V P                  W4      pT P                  T4      p Yb,          pT'       g   Tf   T# T P                  P                  YY'T4      #   \         d    T\        J d   h Tu # i ; i  \         d    T\        J d   \        Y!4      hTu # i ; ir   )_unify_valuesr   rX  r   r   r	   rW  r   )r#   r:   rP   r   r  r   rC  r   s   &&&$$$  r%   r   RawConfigParser.get-  s    	 ""71A !!&)	 IE %-L&&11$235 5#  	 6!		   	 6!#F44		 s"   A A6 A32A36"BBc                4    V! V P                   ! W3/ VB 4      # r   )r   )r#   r:   convrP   r  s   &&&&,r%   _getRawConfigParser._getR  s    DHHW7788r'   c               |     V P                   ! WV3R VRV/VB #   \        \        3 d    T\        J d   h Tu # i ; i)r   r  )r  r   r	   rX  )r#   r:   rP   r  r   r  r   r  s   &&&&$$$,r%   	_get_convRawConfigParser._get_convU  sV    	99WF ' '$ '%' '. 	6!O	s    ;;c          	     >    V P                   ! W\        3R VRVRV/VB # r   r  r   )r  r   r#   r:   rP   r   r  r   r  s   &&&$$$,r%   getintRawConfigParser.getint`  s5    ~~gs ; ;$ ;'/;39; 	;r'   c          	     >    V P                   ! W\        3R VRVRV/VB # r  )r  floatr  s   &&&$$$,r%   getfloatRawConfigParser.getfloate  s5    ~~gu ;# ;D ;'/;39; 	;r'   c          	     J    V P                   ! WV P                  3R VRVRV/VB # r  )r  _convert_to_booleanr  s   &&&$$$,r%   
getbooleanRawConfigParser.getbooleanj  sC    ~~gt/G/G O"%O,0O;COGMO 	Or'   c                  <a aa	 S\         J d   \        S
S `	  4       # S P                  P	                  4       o	 S	P                  S P                  S,          4       \        S	P                  4       4      pV'       d.   VP                  4        F  w  rVVS	S P                  V4      &   K  	  V	VV 3R  lpV'       d   V	3R lpV Uu. uF  qV! V4      3NK  	  up#   \         d     SS P                  8w  d   \        S4      h Li ; iu upi )c                 P   < SP                   P                  SSV SV ,          S4      # r   )rW  r   )rP   rC  r:   r#   s   &r%   <lambda>'RawConfigParser.items.<locals>.<lambda>  s%    d&9&9&D&DTVQvY'+r'   c                    < SV ,          # r   r`   )rP   rC  s   &r%   r  r    s	    !F)r'   )rX  rg   r   rH  rq  r]  rG  r   r<  r   r   rf  r   )r#   r:   r   r  	orig_keysr  r   value_getterrP   rC  ri   s   ff&&     @r%   r   RawConfigParser.itemso  s     f7=?"NN!	.HHT^^G,- N	"jjl
+0$""3'( ++3L=FGY6f-.YGG  	.$...$W-- /	. Hs   "C D'D Dc                V    V P                  4        F  pW,          pW W3u # 	  \        hr   )rg  r   r#   r  r   s   &  r%   popitemRawConfigParser.popitem  s/     ==?CIE	: # r'   c                "    VP                  4       # r   )lower)r#   	optionstrs   &&r%   r   RawConfigParser.optionxform  s      r'   c                   V'       d   WP                   8X  d    V P                  V4      pW P                  9   # WP                  9  d   R # V P                  V4      pW P                  V,          9   ;'       g    W P                  9   # F)r<  r   rH  rG  )r#   r:   rP   s   &&&r%   
has_optionRawConfigParser.has_option  st     '%9%99%%f-F^^++NN*%%f-FnnW55 0 0/1r'   c                   V'       d   V P                   P                  WVV4      pV'       d   WP                  8X  d   V P                  pM V P                  V,          pW4V P                  V4      &   R #   \
         d    \        T4      R hi ; ir   )rW  r   r<  rH  rG  r   r   r   )r#   r:   rP   r   sectdicts   &&&& r%   r   RawConfigParser.set  s    ''224&38:E'%9%99~~H8>>'2 .3!!&)*  8$W-478s   A4 4Bc                   V'       d$   R P                  V P                  ^ ,          4      pMV P                  ^ ,          pV P                  '       d6   V P                  WP                  V P                  P                  4       V4       \        V P                  9   d[   V P                  \        ,          '       d>   V P                  V\        V P                  \        ,          P                  4       VRR7       V P                   FA  pV\        J d   K  V P                  WV P                  V,          P                  4       V4       KC  	  R# )z {} T)unnamedN)rF   rL  rH  _write_sectionr<  r   rj  rG  )r#   r  space_around_delimitersrC  r:   s   &&&  r%   writeRawConfigParser.write  s     #d..q12A  #A>>>$8$8$(NN$8$8$:A?dnn,1P1POT^^O5T5Z5Z5\^_imn~~G/) $w 7 = = ?D &r'   c                   V'       g!   VP                  R P                  V4      4       V F  w  rgV P                  V4       V P                  P	                  WVV4      pVf   V P
                  '       g$   V\        V4      P                  RR4      ,           pMRpVP                  RP                  Wg4      4       K  	  VP                  R4       R# )z[{}]
N
z
	r.   z{}{}
)r  rF   _validate_key_contentsrW  r   rU  r   r   )r#   r  section_namesection_items	delimiterr  r  r   s   &&&&&&  r%   r  RawConfigParser._write_section  s    HHX__\23'JC'',''44T5:<E (<(<(<!CJ$6$6tV$DDHHX__S01 ( 	r'   c                    V'       d   WP                   8X  d   V P                  pM V P                  V,          pV P                  V4      pW#9   pV'       d   W2 V#   \         d    \	        T4      R hi ; ir   )r<  rH  rG  r   r   r   )r#   r:   rP   r  existeds   &&&  r%   remove_optionRawConfigParser.remove_option  sr    '%9%99~~H8>>'2 !!&)$   8$W-478s   A A3c                f    WP                   9   pV'       d   V P                   V V P                  V V# r   )rG  rJ  )r#   r:   r  s   && r%   remove_sectionRawConfigParser.remove_section  s.    ^^+w'g&r'   c                    WP                   8w  d#   V P                  V4      '       g   \        V4      hV P                  V,          # r   )r<  rn  r   rJ  r#   r  s   &&r%   __getitem__RawConfigParser.__getitem__  s7    &&&t/?/?/D/D3-}}S!!r'   c                
   W9   d   W,          VJ d   R # WP                   8X  d   V P                  P                  4        M1WP                  9   d"   V P                  V,          P                  4        V P	                  W/4       R # r   )r<  rH  clearrG  r  r  s   &&&r%   __setitem__RawConfigParser.__setitem__  s`     ;49- &&&NN  "NN"NN3%%'|$r'   c                    WP                   8X  d   \        R 4      hV P                  V4      '       g   \        V4      hV P	                  V4       R# )z"Cannot remove the default section.N)r<  r   rn  r   r  r  s   &&r%   __delitem__RawConfigParser.__delitem__
  sC    &&&ABB$$3-C r'   c                P    WP                   8H  ;'       g    V P                  V4      # r   )r<  rn  r  s   &&r%   __contains__RawConfigParser.__contains__  s$    ***CCd.>.>s.CCr'   c                :    \        V P                  4      ^,           # )r   )r   rG  r*   s   &r%   __len__RawConfigParser.__len__  s    4>>"Q&&r'   c                v    \         P                  ! V P                  3V P                  P	                  4       4      # r   )r  r  r<  rG  rf  r*   s   &r%   __iter__RawConfigParser.__iter__  s)     4 468K8K8MNNr'   c                     \         P                  V P                  W4      4       V P                  4        R #   T P                  4        i ; ir   )r   r   _read_inner_join_multiline_values)r#   r  fpnames   &&&r%   r}  RawConfigParser._read  s9    "	*##D$4$4R$@A'')D'')s	   $8 A
c                   \        4       p\        \        V P                  P                  V4      ^R7       EF,  w  Vn        pVP                  '       g   V P                  '       d   VP                  '       gl   VP                  e^   VP                  '       dL   VP                  VP                  ,          e-   VP                  VP                  ,          P                  R4       M\        P                  Vn        K  V P                  P!                  V4      pV'       d   VP#                  4       M^ Vn        V P'                  W4V4      '       d   EK  V P)                  W4V4       EK/  	  VP*                  # )r   )startr.   )r   	enumerater   rS  r*  rK   r  rV  r	  r   r   rE   sysmaxsizer   NONSPACECREsearchr  cur_indent_level_handle_continuation_line_handle_restrh   )r#   r  r  strl   first_nonspaces   &&&   r%   r  RawConfigParser._read_inner1  s   \(T^^-@-@")EQOOOBIt:::... !---

.




2::.:

2::.55b9 '*kkBO!--44T:N<J."6"6"8PQB--b??b/+  P. yyr'   c                r   VP                   R J;'       d.    VP                  ;'       d    VP                  VP                  8  pV'       dl   VP                   VP                  ,          f   \	        W1P
                  V4      hVP                   VP                  ,          P                  VP                  4       V# r   )r   r   r  r   r   rK   rE   r  )r#   r  rl   r  is_continues   &&&& r%   r  )RawConfigParser._handle_continuation_lineM  s    zz- 2 2"** 2 2"//1 	zz"**%-0DIIJJrzz"))$**5r'   c                   V P                   '       d&   VP                  f   V P                  V\        V4       VP                  Vn        V P                  P                  VP                  4      pV'       g%   VP                  f   \        W1P                  V4      hV'       d$   V P                  WP                  R4      V4       R # V P                  WV4       R # )Nheader)r_  r   _handle_headerrj  r  r   SECTCREr   r  r   rK   r   _handle_option)r#   r  rl   r  mos   &&&& r%   r  RawConfigParser._handle_restW  s    &&&2::+=OV<--\\

+bjj(+FIItDD?AB 2F;tGZGZ[]ekGlr'   c                   W!n         VP                   V P                  9   d   V P                  '       d=   VP                   VP                  9   d"   \	        VP                   VVP
                  4      hV P                  VP                   ,          Vn        VP                  P                  VP                   4       MVP                   V P                  8X  d   V P                  Vn        MV P                  4       Vn        VP                  V P                  VP                   &   \        WP                   4      V P                  VP                   &   VP                  P                  VP                   4       R Vn        R # r   )r   rG  rT  r   r   rK   r   r  r<  rH  rF  r   rJ  r   )r#   r  r   r  s   &&&&r%   r  RawConfigParser._handle_headere  s    ;;$..(|||r/@/@ @+BKK,.II7 74BJ!!"++.[[D000BJBJ*,**DNN2;;')5dKK)HDMM"++&!!"++.
r'   c                   VP                   Vn        V P                  P                  VP                  4      pV'       g2   VP
                  P                  \        W1P                  V4      4       R # VP                  RRR4      w  Vn
        rVVP                  '       g0   VP
                  P                  \        W1P                  V4      4       V P                  VP                  P                  4       4      Vn
        V P                  '       dS   VP                  VP                  3VP                  9   d,   \!        VP                  VP                  W1P                  4      hVP                  P#                  VP                  VP                  34       Ve-   VP%                  4       pV.VP&                  VP                  &   R # R VP&                  VP                  &   R # )NrP   vir   )r  r   rO  r   r  rh   rE   r   rK   r   r   r   r%  rT  r   r   r   r  r  r   )r#   r  rl   r  r  r  optvals   &&&&   r%   r  RawConfigParser._handle_optionw  sJ   --\\

+
 II\&))TBC!#(D'!B
BzzzII\&))TBC%%bjj&7&7&9:
LLL[["**%):)::&r{{BJJ$*II7 7
r{{BJJ78 \\^F&,XBJJrzz" &*BJJrzz"r'   c                   V P                   V P                  3p\        P                  ! V3V P                  P                  4       4      pV Fr  w  r4VP                  4        FY  w  rV\        V\        4      '       d    R P                  V4      P                  4       pV P                  P                  V VWV4      WE&   K[  	  Kt  	  R# )r  N)r<  rH  r  r  rG  r   rZ  r   rI   r%  rW  r   )r#   r   all_sectionsr:   rs  r  r  s   &      r%   r  &RawConfigParser._join_multiline_values  s    ''7 {'+~~';';'=? ,G$]]_	c4(())C.//1C $ 3 3 ? ?@G@D!K - !-r'   c                r    VP                  4        F"  w  r#W0P                  V P                  V4      &   K$  	  R # r   )r   rH  r   )r#   r   r  r   s   &&  r%   r^  RawConfigParser._read_defaults  s.     #..*JC49NN4++C01 +r'   c                >   / p V P                   V,          p/ pV'       d<   VP	                  4        F'  w  rVVe   \        V4      pWdV P                  V4      &   K)  	  \        WCV P                  4      #   \         d     YP                  8w  d   \        T4      R h Li ; ir   )	rG  r   r<  r   r   r   r   	_ChainMaprH  )r#   r:   r  sectiondictvardictr  r   s   &&&    r%   r  RawConfigParser._unify_values  s    
 	8..1K
 "jjl
$JE16((-. + t~~>>  	8...$W-47 /	8s   A2 2'BBc                    VP                  4       V P                  9  d   \        R V,          4      hV P                  VP                  4       ,          # )zNot a boolean: %s)r  BOOLEAN_STATESr   )r#   r   s   &&r%   r  #RawConfigParser._convert_to_boolean  s@     ;;= 3 3305899""5;;=11r'   c                    \         P                  ! V P                  V4      '       d   \        R V R24      hV P                   F  pW!9   g   K  \        R V RV 24      h	  R# )zCannot write key z; begins with section patternz; contains delimiter N)r   r   r  r   rL  )r#   r  r.  s   && r%   r  &RawConfigParser._validate_key_contents  sj     88DLL#&&##C5(EFH H%%E|''u,A%IK K &r'   r:   r.   rP   r   c               J   V\         J d   V P                  '       g   \        hM!\        V\        4      '       g   \        R 4      h\        V\        4      '       g   \        R4      hV P                  '       d	   V'       d$   \        V\        4      '       g   \        R4      hR# R# )z0section names must be strings or UNNAMED_SECTIONzoption keys must be stringszoption values must be stringsN)rj  r_  r   rZ  r   r[  rU  )r#   r:   rP   r   s   &$$$r%   _validate_value_types%RawConfigParser._validate_value_types  s     o%...11 /GS))NOO&#&&9::###ueS)) ?@@ * (-r'   c                    V P                   # r   )rI  r*   s   &r%   r>  RawConfigParser.converters  s    r'   )rU  r_  rS  rI  rH  rL  rF  rV  rW  rO  rJ  rG  rT  r<  rE  )#;r   )z<string>)z<dict>)Tr  )Er/   r0   r1   r2   
_SECT_TMPLrR  rP  r   rY  r   r   rQ  r  rF   rN  rM  r  r  _default_dictDEFAULTSECTrX  r!   r   rg  rk  rn  rs  r  r  r  r  r   r  r  r  r  r  r   r  r   r  r   r  r  r  r  r  r  r  r  r  r  r}  r  r  r  r  r  r  r^  r  r  r  r   propertyr>  r4   r5   r   r   s   @@r%   r   r   ^  s    J
IL +_jjRZZ0GZZ	((u(5rzzBF 

<..U.;RZZHI**U#K4fdD$5$wueMN !% %,<5?,<",,<FJ,< ,< 59,< "-	,<
  &,<
 39,< (-,<\+
=$)!6&
.>#5% #5d #5V #5J9e $ !;U ; ;;
;u ;4 ; ;
O OT O"O
 #D H<!13D2"
%!D'O*,8m$*>
K:?(2	KAr A" AB A*      r'   c                   V   a a ] tR tRt o]! 4       tRV 3R lltV 3R ltR tRt	Vt
V ;t# )r   i  c                L   < V P                  W#R 7       \        SV `	  WV4       R# )rP   r   N)r   rg   r   )r#   r:   rP   r   ri   s   &&&&r%   r   ConfigParser.set  s$     	""&">GU+r'   c                J   < V P                  VR 7       \        SV `	  V4       R# ))r:   N)r   rg   rk  )r#   r:   ri   s   &&r%   rk  ConfigParser.add_section  s#     	""7"3G$r'   c                     V P                   p\        4       V n         V P                  V P                  V/4       W n         R #   XT n         i ; ir   )rW  r   r  r<  )r#   r   hold_interpolations   && r%   r^  ConfigParser._read_defaults  sD    	5!%!4!4"//DNND00(;<"4"4Ds   8A 	A)rW  r   )r/   r0   r1   r2   r   rY  r   rk  r^  r4   r5   r   r   s   @@r%   r   r     s$      01,%5 5r'   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 t]R 4       t]R 4       tRRRRRRR/R lltRtV tR# )r   i  c                    Wn         W n        VP                   FC  pR V,           p\        P                  ! V P
                  \        W4      R7      p\        WV4       KE  	  R# )r   _implN)_parser_namer>  	functoolspartialr   getattrsetattr)r#   r   r  r  r  getters   &&&   r%   r!   SectionProxy.__init__  sJ    
%%D$,C&&txxwv7KLFDv& &r'   c                8    R P                  V P                  4      # )z<Section: {}>)rF   r8  r*   s   &r%   r+   SectionProxy.__repr__  s    %%djj11r'   c                    V P                   P                  V P                  V4      '       g   \        V4      hV P                   P	                  V P                  V4      # r   )r7  r  r8  r   r   r  s   &&r%   r  SectionProxy.__getitem__  sB    ||&&tzz3773-||

C00r'   c                    V P                   P                  WR 7       V P                   P                  V P                  W4      # )r,  )r7  r   r   r8  r  s   &&&r%   r  SectionProxy.__setitem__  s2    **#*C||

C77r'   c                    V P                   P                  V P                  V4      '       d-   V P                   P                  V P                  V4      '       g   \	        V4      hR # r   )r7  r  r8  r  r   r  s   &&r%   r  SectionProxy.__delitem__   sG    ''

C88**4::s;;3- <r'   c                N    V P                   P                  V P                  V4      # r   )r7  r  r8  r  s   &&r%   r  SectionProxy.__contains__%  s    ||&&tzz377r'   c                4    \        V P                  4       4      # r   )r   _optionsr*   s   &r%   r  SectionProxy.__len__(  s    4==?##r'   c                >    V P                  4       P                  4       # r   )rJ  r  r*   s   &r%   r  SectionProxy.__iter__+  s    }}''))r'   c                    V P                   V P                  P                  8w  d&   V P                  P                  V P                   4      # V P                  P	                  4       # r   )r8  r7  r<  rs  r   r*   s   &r%   rJ  SectionProxy._options.  sD    ::555<<''

33<<((**r'   c                    V P                   # r   )r7  r*   s   &r%   r   SectionProxy.parser4  s     ||r'   c                    V P                   # r   )r8  r*   s   &r%   r  SectionProxy.name9  s     zzr'   Nr   Fr  r6  c          	     r    V'       g   V P                   P                  pV! V P                  V3R VRVRV/VB # r  )r7  r   r8  )r#   rP   r   r   r  r6  r  s   &&&$$$,r%   r   SectionProxy.get>  sI     LL$$ETZZ 2S 2t 2&2*02 	2r'   )r8  r7  r   )r/   r0   r1   r2   r!   r+   r  r  r  r  r  r  rJ  r)  r   r  r   r4   r5   r6   s   @r%   r   r     sz     '21
8 
8$*+    2 2D 22 2r'   c                   h   a  ] tR tRt o ]P
                  ! R4      tR tR tR t	R t
R tR tR	tV tR
# )r   iN  z^get(?P<name>.+)$c                (   Wn         / V n        \        V P                   4       Fk  pV P                  P	                  V4      pV'       d&   \        \        V P                   V4      4      '       g   KM  R V P                  VP                  R4      &   Km  	  R # )Nr  )r7  _datadir	GETTERCREr   callabler;  r   )r#   r   r=  r   s   &&  r%   r!   ConverterMapping.__init__X  sf    
$,,'F$$V,AHWT\\6%BCC*.DJJqwwv'	 (r'   c                (    V P                   V,          # r   )rX  r  s   &&r%   r  ConverterMapping.__getitem__a  s    zz#r'   c           	         R V,           pTR 8X  d   \        R4      hY P                  T&   \
        P                  ! T P                  P                  TR7      pY$n	        \        T P                  Y44       T P                  P                  4        F1  p\
        P                  ! TP                  TR7      p\        YST4       K3  	  R#   \          d&    \        RP                  T\        T4      4      4      hi ; i)r   zIncompatible key: {} (type: {})z)Incompatible key: cannot use "" as a name)r  r5  N)r[  r   rF   r\  rX  r9  r:  r7  r  	converterr<  valuesr   )r#   r  r   kfuncproxyr=  s   &&&    r%   r  ConverterMapping.__setitem__d  s    	8A :HII

3  !7!7eDa&\\((*E&&uyy=FEf% +  	8   &sDI 68 8	8s   	C 0C4c                :    R T;'       g    R,           pT P                  T \        P                  ! T P
                  3T P
                  P                  4       4       F  p \        Y24       K  	  R#   \          d    \        T4      hi ; i  \         d     K=  i ; i)r   N)	r[  r   rX  r  r  r7  ra  delattrr  )r#   r  rb  insts   &&  r%   r  ConverterMapping.__delitem__t  s    	 %A JJsOOOT\\OT\\5H5H5JKD  L  	 3-	  "  s"   	A1 	A1  B1BBBc                ,    \        V P                  4      # r   )rz   rX  r*   s   &r%   r  ConverterMapping.__iter__  s    DJJr'   c                ,    \        V P                  4      # r   )r   rX  r*   s   &r%   r  ConverterMapping.__len__  s    4::r'   )rX  r7  N)r/   r0   r1   r2   r   r   rZ  r!   r  r  r  r  r  r4   r5   r6   s   @r%   r   r   N  s9      

/0I/&   r'   )r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r(  rc   rj  )0collections.abcr   r   collectionsr   r  r{   r9  rz  r  rx  r   r  __all__r   r'  r(  rc   r    r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   rj  objectrX  r   r   r   r   r   r   r  r   r   r   r   r`   r'   r%   <module>rr     s  h 5 -   	  	 	 
H  

I 
 U  .E .465 66&E &+ +	9&8 	91 
.0 
.75 7@- -- -I% I# #
" " "# 
  E+ E+PI+M I+X 	2C 	2! !*G
 n G
 T5? 5@C2> C2L8~ 8r'   