+
    k=j"                         ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
HtHt ^RIHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ]	'       d   ^RIHt ^RIHt Rt ! R R]4      tR R ltR# )    N)Iterator)reducePath)TYPE_CHECKINGAnyLiteralOptional)SettingsError)path_type_label)PydanticBaseSettingsSource)parse_env_vars)EnvSettingsSource)SecretsSettingsSource)BaseSettings)PathTypec                      a a ] tR t^t oRV3R lV 3R llltV3R lR lt]V3R lR l4       t]V3R lR l4       t	V3R	 lR
 lt
RtVtV ;t# )NestedSecretsSettingsSourcec                   < V ^8  d   QhRS[ S[,          RS[R,          RS[R,          R,          RS[R,          RS[R,          RS[R,          R	S[R,          R
S[R,          RS[R,          RS[R,          RR/# )   file_secret_settingssecrets_dirr   secrets_dir_missingNsecrets_dir_max_sizesecrets_case_sensitivesecrets_prefixsecrets_nested_delimitersecrets_nested_subdircase_sensitive
env_prefixreturnokwarnerror)r   r   r
   r	   intboolstr)format__classdict__s   "Rlib/python3.14/site-packages/pydantic_settings/sources/providers/nested_secrets.py__annotate__(NestedSecretsSettingsSource.__annotate__   s     n n8;PPn j)n %%:;dB	n
 "Djn !%tn d
n #&*n  $d{n tn $Jn 
n    c           
     ^  <a  \        VR V4      pVP                  p\        \        VRR4      VVP                  R4      4      S n        \        VVP                  R4      R4      S n        S P
                  R9  d   \        RS P
                   24      h\        VVP                  R4      \        4      S n        \        VVP                  R4      V	VP                  R4      R	4      S n	        \        VVP                  R
4      V
VP                  R4      R4      S n
        \        VVP                  R4      VP                  R4      4      S n        \        VVP                  R4      R	4      S n        S P                  '       d@   V'       g   VP                  R4      '       d   \        R4      h\        P                  S n        S P                  f   . pMI\        S P                  \         \"        34      '       d   S P                  .pM\%        S P                  4      pV Uu. uF*  p\!        V4      P'                  4       P)                  4       NK,  	  upS n        S P*                   F  pS P-                  V4       K  	  \.        SS `a  VS P                  S P                  S P                  R	RRR7       RS n        \5        S P*                  4      '       g
   / S n        R# \9        R V 3R lS P*                   4       4      p\;        VS P                  S P<                  S P2                  4      S n        R# u upi )settings_clsr   Nr   r$   z#invalid secrets_dir_missing value: r   r   r   Fr   r     r   env_nested_delimiterr   zQOptions secrets_nested_delimiter and secrets_nested_subdir are mutually exclusiveT)r   r    r2   env_ignore_emptyenv_parse_enumsenv_parse_none_strc                 Z    \        . V P                  4       OVP                  4       O54      # N)dictitems)d1d2s   &&r+   <lambda>6NestedSecretsSettingsSource.__init__.<locals>.<lambda>~   s     t$>bhhj$>288:$>?r.   c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir7   )load_secrets).0pselfs   & r+   	<genexpr>7NestedSecretsSettingsSource.__init__.<locals>.<genexpr>   s!     B/A!""1%%/As   !r"   )getattrmodel_configfirst_not_nonegetr   r   r   SECRETS_DIR_MAX_SIZEr   r   r   r   r   ossep
isinstancer   r(   list
expanduserresolvesecrets_pathsvalidate_secrets_pathsuper__init__r5   lenenv_varsr   r   r3   )rB   r   r   r   r   r   r   r   r   r   r    r0   confpathsrA   pathsecrets	__class__s   f&&&&&&&&&&      r+   rS   $NestedSecretsSettingsSource.__init__   s   $ ,3  ,
 ((,:(->HH]#-

 DRHH*+D
 
 ##+BB"EdF^F^E_ `aa)7 HH+, *
!
 %3"HH-.HH%&%
 $2HH%&HH\"$
 5C$HH/0HH+,5
%
 ,:!HH,-,
"
 %%%'4884N+O+O#$wxx02- #E((4+66%%&E))*ERW)XRWQ$q'*<*<*>*F*F*HRW)X&&D&&t, ' 	..**!%!>!>" # 	 	
 #' 4%%&&DM?Bt/A/ABG +##%%''	DM1 *Ys   0L*c                $   < V ^8  d   QhRS[ RR/# )r   rX   r!   Nr   )r)   r*   s   "r+   r,   r-      s     d d$ d4 dr.   c                   VP                  4       '       gi   V P                  R 8X  d   R
# V P                  R8X  d   \        P                  ! RV R2^R7       R
# V P                  R8X  d   \	        RV R24      h\
        hVP                  4       '       g   \	        R\        V4       24      h\        R V P                  V4       4       4      pW P                  8  d   \	        RV P                   R	24      hR
# )r#   r$   zdirectory "z" does not exist)
stacklevelr%   z.secrets_dir must reference a directory, not a c              3   T   "   T F  qP                  4       P                  x  K   	  R # 5ir7   )statst_size)r@   fs   & r+   rC   DNestedSecretsSettingsSource.validate_secrets_path.<locals>.<genexpr>   s     "[=Z668#3#3=Zs   &(zsecrets_dir size is above z bytesN)existsr   warningsr$   r   
ValueErroris_dirr   sum_iter_secret_filesr   )rB   rX   secrets_dir_sizes   && r+   rQ   1NestedSecretsSettingsSource.validate_secrets_path   s    {{}}''4/))V3D61ABqQ))W4#k$7G$HII  ;;==#&TUdeiUjTk$lmm""[T=T=TUY=Z"[[";";;#&@AZAZ@[[a$bcc <r.   c                6   < V ^8  d   QhRS[ RS[S[ ,          /# r   rX   r!   r   r   )r)   r*   s   "r+   r,   r-      s     - - -(4. -r.   c              #  b   a aa"   \        4       oR V VV3R lloS! S 4       Rj  xL
  R#  L5i)a  Yield the secret files contained in ``path``.

``path`` is expected to already be resolved. The directory tree is walked
explicitly so that symbolic links are handled safely:

* a file is only yielded if its real location stays within ``path``; entries
  that resolve outside of it (e.g. through a symbolic link) are skipped, so
  they neither contribute to the ``secrets_dir_max_size`` accounting nor get
  loaded;
* each real directory is visited at most once, so cyclic or repeated
  symlinks cannot make the walk loop and inflate the size accounting or the
  number of loaded secrets.

Because the size check and the loader share this iterator, they always see
the same set of files.
c                F    V ^8  d   QhR\         R\        \         ,          /# )r   	directoryr!   rn   )r)   s   "r+   r,   DNestedSecretsSettingsSource._iter_secret_files.<locals>.__annotate__   s     	  	 D 	 Xd^ 	 r.   c              3     <"   V P                  4       pVS9   d   R # SP                  V4        \        V P                  4       4      pT F  pTP                  4       pTP                  4       '       d-   TS8X  g   STP                  9   d   S! T4       R j  xL
  KS  KU  TP                  4       '       g   Km  STP                  9   g   K  Tx  K  	  R #   \         d     R # i ; i LO5ir7   )rO   addsortediterdirOSErrorrg   parentsis_file)rq   resolved_direntriesentryresolvedrX   	seen_dirswalks   &    r+   r   <NestedSecretsSettingsSource._iter_secret_files.<locals>.walk   s      %,,.Ly(MM,' !2!2!45 ! ==???$$
  4'483C3C+C#';.. ,D%%''DH4D4D,D  K !   /sA   +C(C AC(C&C(7C(

C(C#C("C##C(N)set)rX   r~   r   s   f@@r+   ri   .NestedSecretsSettingsSource._iter_secret_files   s(     $  #u		  	 4 :s   !/-/c                <   < V ^8  d   QhRS[ RS[S[S[3,          /# rm   )r   r8   r(   )r)   r*   s   "r+   r,   r-      s'     g g gc3h gr.   c                    V P                  V4       Uu/ uF:  p\        VP                  V4      4      VP                  4       P	                  4       bK<  	  up# u upi r7   )ri   r(   relative_to	read_textstrip)clsrX   rA   s   && r+   r?   (NestedSecretsSettingsSource.load_secrets   sJ    ILI_I_`dIefIeAAMM$'(!++-*=*=*??Iefffs   A Ac                    < V ^8  d   QhRS[ /# )r   r!   )r(   )r)   r*   s   "r+   r,   r-      s     P P# Pr.   c                $    R V P                   : R2# )z(NestedSecretsSettingsSource(secrets_dir=))r   )rB   s   &r+   __repr__$NestedSecretsSettingsSource.__repr__   s    9$:J:J9MQOOr.   )
r   r5   rU   r   r   r   r   r   rP   r   )	NNNNNNNNN)__name__
__module____qualname____firstlineno__rS   rQ   staticmethodri   classmethodr?   r   __static_attributes____classdictcell____classcell__)rZ   r*   s   @@r+   r   r      s[     n n`d d" - -^ g gP P Pr.   r   c                0    V ^8  d   QhR\         R\         /# )r   objsr!   )r   )r)   s   "r+   r,   r,      s     = =# =# =r.   c                  0    \        \        R  V 4      R4      # )c                 
    V R J# r7    )os   &r+   r<    first_not_none.<locals>.<lambda>   s    $r.   N)nextfilter)r   s   *r+   rG   rG      s    .5t<<r.   i   )rJ   re   collections.abcr   	functoolsr   pathlibr   typingr   r   r	   r
   
exceptionsr   utilsr   baser   r   envr   rY   r   mainr   sourcesr   rI   r   rG   r   r.   r+   <module>r      sT    	  $   8 8 ' $ - " " *$# " wP"3 wPt=r.   