§
    \ˆtjÐ  ã                  óö   — d Z ddlmZ ddlmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ erdd	lma dd
lma ddlma ddlmZ ndadadadd„Z G d„ deeedz  f         ¦  «        Z G d„ de¦  «        ZddgZdS )z Azure Key Vault settings source.é    )Úannotations)ÚIteratorÚMapping)ÚTYPE_CHECKING)Úto_snake)Ú	FieldInfoé   )ÚEnvSettingsSource©ÚTokenCredential©ÚResourceNotFoundError©ÚSecretClient)ÚBaseSettingsNÚreturnÚNonec                 óp   — 	 ddl ma ddlma ddlma d S # t          $ r} t          d¦  «        | ‚d } ~ ww xY w)Nr   r   r   r   zdAzure Key Vault dependencies are not installed, run `pip install pydantic-settings[azure-key-vault]`)Úazure.core.credentialsr   Úazure.core.exceptionsr   Úazure.keyvault.secretsr   ÚImportError)Úes    úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pydantic_settings/sources/providers/azure.pyÚimport_azure_key_vaultr      sz   € ð
Ø:Ð:Ð:Ð:Ð:Ð:Ø?Ð?Ð?Ð?Ð?Ð?Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7øÝð ð ð ÝØrñ
ô 
àð	øøøøðøøøs   ‚ –
5 0°5c                  óV   — e Zd ZU ded<   ded<   ded<   dd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚAzureKeyVaultMappingzdict[str, str | None]Ú_loaded_secretsr   Ú_secret_clientz	list[str]Ú_secret_namesÚsecret_clientÚcase_sensitiveÚboolÚsnake_case_conversionÚ
env_prefixú
str | Noner   r   c                ó†   — i | _         || _        || _        || _        |r|nd| _        |                      ¦   «         | _        d S )NÚ )r   r   Ú_case_sensitiveÚ_snake_case_conversionÚ_env_prefixÚ_load_remoteÚ_secret_map)Úselfr!   r"   r$   r%   s        r   Ú__init__zAzureKeyVaultMapping.__init__-   sO   € ð  "ˆÔØ+ˆÔØ-ˆÔØ&;ˆÔ#Ø)3Ð;˜:˜:¸ˆÔØ+/×+<Ò+<Ñ+>Ô+>ˆÔÐÐó    údict[str, str]c           
     ój  — d„ | j                              ¦   «         D ¦   «         }| j        rki }|D ]d}|                     | j        ¦  «        r6||| j        › t          |t          | j        ¦  «        d …         ¦  «        › �<   ŒR||t          |¦  «        <   Œe|S | j        rd„ |D ¦   «         S d„ |D ¦   «         S )Nc              3  ó@   K  — | ]}|j         ¯	|j        ¯|j         V — Œd S ©N)ÚnameÚenabled)Ú.0Úsecrets     r   ú	<genexpr>z4AzureKeyVaultMapping._load_remote.<locals>.<genexpr><   sL   è è € ð '
ð '
Ø"ÐZ`ÔZeð'
ØjpÔjxð'
ØŒKð'
ð '
ð '
ð '
ð '
ð '
r0   c                ó   — i | ]}||“ŒS © r;   ©r7   r5   s     r   ú
<dictcomp>z5AzureKeyVaultMapping._load_remote.<locals>.<dictcomp>J   s   € Ð8Ð8Ð8 4�D˜$Ð8Ð8Ð8r0   c                ó8   — i | ]}|                      ¦   «         |“ŒS r;   )Úlowerr<   s     r   r=   z5AzureKeyVaultMapping._load_remote.<locals>.<dictcomp>L   s"   € Ð<Ð<Ð< t�—
’
‘”˜dÐ<Ð<Ð<r0   )r   Úlist_properties_of_secretsr*   Ú
startswithr+   r   Úlenr)   )r.   Úsecret_namesÚname_mapr5   s       r   r,   z!AzureKeyVaultMapping._load_remote;   së   € ð'
ð '
Ø&*Ô&9×&TÒ&TÑ&VÔ&Vð'
ñ '
ô '
ˆð Ô&ð 	Ø')ˆHØ$ð 4ð 4�Ø—?’? 4Ô#3Ñ4Ô4ð 4Ø_c�H Ô 0Ð[µ(¸4ÅÀDÔDTÑ@UÔ@UÐ@WÐ@WÔ;XÑ2YÔ2YÐ[Ð[Ñ\Ð\à/3�H�X d™^œ^Ñ,Ð,ØˆOàÔð 	9Ø8Ð8¨<Ð8Ñ8Ô8Ð8à<Ð<¨|Ð<Ñ<Ô<Ð<r0   ÚkeyÚstrc                óÆ  — |}| j         r]|                     | j        ¦  «        r3| j        › t          |t	          | j        ¦  «        d …         ¦  «        › �}n+t          |¦  «        }n| j        s|                     ¦   «         }|| j        vrK|| j        v r3| j	         
                    | j        |         ¦  «        j        | j        |<   nt          |¦  «        ‚| j        |         S r4   )r*   rA   r+   r   rB   r)   r?   r   r-   r   Ú
get_secretÚvalueÚKeyError)r.   rE   Únew_keys      r   Ú__getitem__z AzureKeyVaultMapping.__getitem__N   sä   € ØˆàÔ&ð 	"Ø�~Š~˜dÔ.Ñ/Ô/ð (Ø!Ô-ÐW­x¸½CÀÔ@PÑ<QÔ<QÐ<SÐ<SÔ8TÑ/UÔ/UÐWÐW��å" 3™-œ-��àÔ%ð 	"Ø—i’i‘k”kˆGà˜$Ô.Ð.Ð.Ø˜$Ô*Ð*Ð*Ø04Ô0C×0NÒ0NÈtÔO_Ð`gÔOhÑ0iÔ0iÔ0o�Ô$ WÑ-Ð-å˜s‘m”mÐ#àÔ# GÔ,Ð,r0   Úintc                ó*   — t          | j        ¦  «        S r4   )rB   r-   ©r.   s    r   Ú__len__zAzureKeyVaultMapping.__len__b   s   € Ý�4Ô#Ñ$Ô$Ð$r0   úIterator[str]c                óN   — t          | j                             ¦   «         ¦  «        S r4   )Úiterr-   ÚkeysrO   s    r   Ú__iter__zAzureKeyVaultMapping.__iter__e   s   € Ý�DÔ$×)Ò)Ñ+Ô+Ñ,Ô,Ð,r0   N)
r!   r   r"   r#   r$   r#   r%   r&   r   r   )r   r1   )rE   rF   r   r&   )r   rM   )r   rQ   )	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r/   r,   rL   rP   rU   r;   r0   r   r   r   (   sž   € € € € € € Ø*Ð*Ð*Ñ*Ø Ð Ð Ñ ØÐÐÑð?ð ?ð ?ð ?ð=ð =ð =ð =ð&-ð -ð -ð -ð(%ð %ð %ð %ð-ð -ð -ð -ð -ð -r0   r   c                  ó`   ‡ — e Zd ZU ded<   ded<   	 	 	 	 	 	 dd ˆ fd„Zd!d„Zd"ˆ fd„Zd#d„Zˆ xZS )$ÚAzureKeyVaultSettingsSourcerF   Ú_urlr   Ú_credentialFNÚsettings_clsútype[BaseSettings]ÚurlÚ
credentialÚdash_to_underscorer#   r"   úbool | Noner$   r%   r&   Úenv_parse_none_strÚenv_parse_enumsr   r   c
           	     ó¼   •— t          ¦   «          || _        || _        || _        || _        t          ¦   «                              ||rdn|||rdndd||	¬¦  «         d S )NTÚ__z--F)r"   r%   Úenv_nested_delimiterÚenv_ignore_emptyrd   re   )r   r\   r]   Ú_dash_to_underscorer*   Úsuperr/   )r.   r^   r`   ra   rb   r"   r$   r%   rd   re   Ú	__class__s             €r   r/   z$AzureKeyVaultSettingsSource.__init__m   s‚   ø€ õ 	Ñ Ô Ð ØˆŒ	Ø%ˆÔØ#5ˆÔ Ø&;ˆÔ#Ý‰Œ×ÒØØ#8ÐL˜4˜4¸nØ!Ø)>Ð!H  ÀDØ"Ø1Ø+ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r0   úMapping[str, str | None]c                ó|   — t          | j        | j        ¬¦  «        }t          || j        | j        | j        ¬¦  «        S )N)Ú	vault_urlra   )r!   r"   r$   r%   )r   r\   r]   r   r"   r*   r%   )r.   r!   s     r   Ú_load_env_varsz*AzureKeyVaultSettingsSource._load_env_varsˆ   sD   € Ý$¨t¬yÀTÔEUÐVÑVÔVˆÝ#Ø'ØÔ.Ø"&Ô"=Ø”ð	
ñ 
ô 
ð 	
r0   Úfieldr   Ú
field_nameúlist[tuple[str, str, bool]]c                óL  •— | j         r;t          d„ t          ¦   «                              ||¦  «        D ¦   «         ¦  «        }|S | j        r9t          d„ t          ¦   «                              ||¦  «        D ¦   «         ¦  «        S t          ¦   «                              ||¦  «        S )Nc              3  óD   K  — | ]}|d          |d         |d         fV — ŒdS )r   r	   é   Nr;   ©r7   Úxs     r   r9   zBAzureKeyVaultSettingsSource._extract_field_info.<locals>.<genexpr>“   s5   è è € ÐiÐi°Q˜q œt Q q¤T¨1¨Q¬4Ð0ÐiÐiÐiÐiÐiÐir0   c              3  ól   K  — | ]/}|d          |d                               dd¦  «        |d         fV — Œ0dS )r   r	   Ú_ú-rv   N)Úreplacerw   s     r   r9   zBAzureKeyVaultSettingsSource._extract_field_info.<locals>.<genexpr>—   sC   è è € ÐuÐuÀ˜˜1œ˜q œtŸ|š|¨C°Ñ5Ô5°q¸´tÐ<ÐuÐuÐuÐuÐuÐur0   )r*   Úlistrk   Ú_extract_field_inforj   )r.   rq   rr   Ú
field_inforl   s       €r   r~   z/AzureKeyVaultSettingsSource._extract_field_info‘   sŸ   ø€ ØÔ&ð 	ÝÐiÐi½%¹'¼'×:UÒ:UÐV[Ð]gÑ:hÔ:hÐiÑiÔiÑiÔiˆJØÐàÔ#ð 	vÝÐuÐuÅeÁgÄg×FaÒFaÐbgÐisÑFtÔFtÐuÑuÔuÑuÔuÐuå‰wŒw×*Ò*¨5°*Ñ=Ô=Ð=r0   c                ó@   — | j         j        › d| j        ›d| j        ›d�S )Nz(url=z, env_nested_delimiter=ú))rl   rV   r\   rh   rO   s    r   Ú__repr__z$AzureKeyVaultSettingsSource.__repr__›   s,   € Ø”.Ô)ÐrÐr°´	ÐrÐrÐTXÔTmÐrÐrÐrÐrr0   )FNFNNN)r^   r_   r`   rF   ra   r   rb   r#   r"   rc   r$   r#   r%   r&   rd   r&   re   rc   r   r   )r   rm   )rq   r   rr   rF   r   rs   )r   rF   )	rV   rW   rX   rY   r/   rp   r~   r‚   Ú__classcell__)rl   s   @r   r[   r[   i   s»   ø€ € € € € € Ø€I€I�IØ Ð Ð Ñ ð $)Ø&*Ø&+Ø!%Ø)-Ø'+ð
ð 
ð 
ð 
ð 
ð 
ð 
ð6
ð 
ð 
ð 
ð>ð >ð >ð >ð >ð >ðsð sð sð sð sð sð sð sr0   r[   )r   r   )Ú__doc__Ú
__future__r   Ú_annotationsÚcollections.abcr   r   Útypingr   Úpydantic.alias_generatorsr   Úpydantic.fieldsr   Úenvr
   r   r   r   r   r   r   Úpydantic_settings.mainr   r   rF   r   r[   Ú__all__r;   r0   r   ú<module>rŽ      sq  ðØ &Ð &à 2Ð 2Ð 2Ð 2Ð 2Ð 2à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø  Ð  Ð  Ð  Ð  Ð  à .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %à "Ð "Ð "Ð "Ð "Ð "àð 	Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Ø3Ð3Ð3Ð3Ð3Ð3à3Ð3Ð3Ð3Ð3Ð3Ð3à€OØ ÐØ€Lðð ð ð ð>-ð >-ð >-ð >-ð >-˜7 3¨¨d©
 ?Ô3ñ >-ô >-ð >-ðB3sð 3sð 3sð 3sð 3sÐ"3ñ 3sô 3sð 3sðl "Ð#@Ð
A€€€r0   