Ë
    £…jì  ã                   óŒ   — d dl Z d dlmZmZmZmZmZ d dlmZ d dl	Z	ddl
mZ ddlmZmZmZmZ ddlmZ dd	lmZ  G d
„ d«      Zy)é    N)ÚAnyÚListÚUnionÚDictÚOptional)ÚSelfé   )Ú
MsalClient)Úget_default_authorityÚnormalize_authorityÚresolve_tenantÚvalidate_tenant_idé   )ÚEnvironmentVariables)Ú_load_persistent_cachec                   ó6  ‡ — e Zd ZdZ	 dddddddœdedeeeeeef   f      dee	e      dee   dee
   d	ee   d
ee
   deddfˆ fd„Zdefd„Zdeddfd„Zdd„Zdde
dej"                  fd„Zdedej&                  fd„Zdeeef   fd„Zdeeef   ddfd„Zˆ xZS )ÚMsalCredentialzÛBase class for credentials wrapping MSAL applications.

    :param str client_id: the principal's client ID
    :param client_credential: client credential data for the application
    :type client_credential: dict
    N)Úadditionally_allowed_tenantsÚ	authorityÚdisable_instance_discoveryÚ	tenant_idÚenable_support_loggingÚ	client_idÚclient_credentialr   r   r   r   r   ÚkwargsÚreturnc                ó   •— |€d n| | _         |rt        |«      n	t        «       | _        t        j
                  j                  t        j                  «      | _	        | j                  r;| j                  j                  «       dv rt        j                  j                  | _	        |xs d| _        t        | j                  «       t!        di |¤Ž| _        || _        || _        || _        |xs g | _        i | _        i | _        |j1                  dd «      | _        |j1                  dd «      | _        | j2                  s| j4                  rd| _        nd| _        |j1                  dd «      | _        t:        t<        | �  «        y )	N)ÚtryautodetectÚtrueÚorganizationsÚ_cacheÚ
_cae_cacheTFÚcache_persistence_options© ) Ú_instance_discoveryr   r   Ú
_authorityÚosÚenvironÚgetr   ÚAZURE_REGIONAL_AUTHORITY_NAMEÚ_regional_authorityÚlowerÚmsalÚConfidentialClientApplicationÚATTEMPT_REGION_DISCOVERYÚ
_tenant_idr   r
   Ú_clientÚ_client_credentialÚ
_client_idÚ_enable_support_loggingÚ_additionally_allowed_tenantsÚ_client_applicationsÚ_cae_client_applicationsÚpopr!   r"   Ú_custom_cacheÚ_cache_optionsÚsuperr   Ú__init__)
Úselfr   r   r   r   r   r   r   r   Ú	__class__s
            €új/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/azure/identity/_internal/msal_credentials.pyr<   zMsalCredential.__init__   s;  ø€ ð ,FÐ+M¡4ÐWqÐSqˆÔ Ù<EÔ-¨iÔ8ÔK`ÓKbˆŒÜ#%§:¡:§>¡>Ô2F×2dÑ2dÓ#eˆÔ Ø×#Ò#¨×(@Ñ(@×(FÑ(FÓ(HÐLeÑ(eÜ'+×'IÑ'I×'bÑ'bˆDÔ$Ø#Ò6 ˆŒÜ˜4Ÿ?™?Ô+Ü!Ñ+ FÑ+ˆŒØ"3ˆÔØ#ˆŒØ'=ˆÔ$Ø-IÒ-OÈRˆÔ*àGIˆÔ!ØKMˆÔ%à—j‘j ¨4Ó0ˆŒØ Ÿ*™* \°4Ó8ˆŒØ�;Š;˜$Ÿ/š/Ø!%ˆDÕà!&ˆDÔØ$Ÿj™jÐ)DÀdÓKˆÔäŒn˜dÑ,Õ.ó    c                 ó:   — | j                   j                  «        | S ©N)r1   Ú	__enter__©r=   s    r?   rC   zMsalCredential.__enter__?   s   € Ø�‰×ÑÔ Øˆr@   Úargsc                 ó6   —  | j                   j                  |Ž  y rB   )r1   Ú__exit__)r=   rE   s     r?   rG   zMsalCredential.__exit__C   s   € Øˆ�‰×Ñ˜tÒ$r@   c                 ó$   — | j                  «        y)zDClose the credential's underlying HTTP client and release resources.N)rG   rD   s    r?   ÚclosezMsalCredential.closeF   s   € à�‰�r@   Úis_caec                 ó,  — | j                   r:|rt        | j                   |«      | _        nQt        | j                   |«      | _        n5|rt	        j
                  «       | _        nt	        j
                  «       | _        |r| j                  S | j                  S rB   )r:   r   r"   r!   r-   Ú
TokenCache)r=   rJ   s     r?   Ú_initialize_cachez MsalCredential._initialize_cacheJ   sj   € Ø×ÒÙÜ"8¸×9LÑ9LÈfÓ"U�•ä4°T×5HÑ5HÈ&ÓQ�•áÜ"&§/¡/Ó"3�•ä"Ÿo™oÓ/�”á"(ˆt�‰Ð9¨d¯k©kÐ9r@   c                 óä  — t        | j                  fd| j                  i|¤Ž}| j                  }d }| j                  }| j
                  rt        j                  nt        j                  }|j                  d«      r| j                  }dg}| j                  }|s*| j                  t        |j                  d«      «      ¬«      }||vrp	  || j                  | j
                  |dj                  | j                   |«      | j"                  || j$                  | j&                  | j(                  ¬«	      ||<   ||   S ||   S # t*        $ r,}dt-        |«      v rt+        d| j                   › d	�«      ‚‚ d }~ww xY w)
Nr   Ú
enable_caeÚCP1)rJ   z{}/{})	r   r   Úclient_capabilitiesr   Úazure_regionÚtoken_cacheÚhttp_clientÚinstance_discoveryÚenable_pii_logÚinvalid_instancezThe authority provided, z­, is not well-known. If this authority is valid and trustworthy, you can disable this check by passing in 'disable_instance_discovery=True' when constructing the credential.)r   r0   r5   r6   r!   r2   r-   r.   ÚPublicClientApplicationr)   r7   r"   rM   Úboolr3   Úformatr&   r+   r1   r%   r4   Ú
ValueErrorÚstr)r=   r   r   Úclient_applications_mapÚcapabilitiesrS   Ú	app_classÚexs           r?   Ú_get_appzMsalCredential._get_appX   sv  € Ü"Ø�O‰Oñ
Ø:>×:\Ñ:\ð
Ø`fñ
ˆ	ð #'×";Ñ";ÐØˆØ—k‘kˆà:>×:QÒ:Q”D×6Ò6ÔW[×WsÑWsˆ	à�:‰:�lÔ#Ø&*×&CÑ&CÐ#Ø!˜7ˆLØŸ/™/ˆKáØ×0Ñ0¼¸V¿Z¹ZÈÓ=UÓ8VÐ0ÓWˆKàÐ3Ñ3ðÙ5>Ø"Ÿo™oØ&*×&=Ñ&=Ø(4Ø%Ÿn™n¨T¯_©_¸iÓHØ!%×!9Ñ!9Ø +Ø $§¡Ø'+×'?Ñ'?Ø#'×#?Ñ#?ô
6Ð'¨	Ñ2ð( ' yÑ1Ð1Ð& yÑ1Ð1øô ò Ø%¬¨R«Ñ0Ü$Ø2°4·?±?Ð2Cð D^ð ^óð ð
 ûðús   ÃA*D: Ä:	E/Å'E*Å*E/c                 ój   — | j                   j                  «       }|d= |d= | j                  s|d= |d= |S )Nr6   r7   r!   r"   )Ú__dict__Úcopyr9   ©r=   Ústates     r?   Ú__getstate__zMsalCredential.__getstate__ƒ   sC   € Ø—‘×"Ñ"Ó$ˆàÐ(Ð)ØÐ,Ð-Ø×!Ò!Ø�h�Ø�lÐ#Øˆr@   rf   c                 óŒ   — | j                   j                  |«       i | _        i | _        | j                  sd | _        d | _        y y rB   )rc   Úupdater6   r7   r9   r!   r"   re   s     r?   Ú__setstate__zMsalCredential.__setstate__�   s@   € Ø�‰×Ñ˜UÔ#à$&ˆÔ!Ø(*ˆÔ%Ø×!Ò!ØˆDŒKØ"ˆD�Oð "r@   rB   )r   N)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r\   r   r   r   r   r   rY   r<   r   rC   rG   rI   r-   rL   rM   ÚClientApplicationra   rg   rj   Ú__classcell__)r>   s   @r?   r   r      s8  ø„ ñð CGð$/ð
 =AØ#'Ø59Ø#'Ø15ò$/àð$/ð $ E¨#¨t°C¸°H©~Ð*=Ñ$>Ñ?ð$/ð
 '/¨t°C©yÑ&9ð$/ð ˜C‘=ð$/ð %-¨T¡Nð$/ð ˜C‘=ð$/ð !)¨¡ð$/ð ð$/ð 
õ$/ðL˜4ó ð%˜cð % dó %óñ:¨ð :¸¿¹ó :ð)2 ð )2¨×)?Ñ)?ó )2ðV˜d 3¨ 8™nó ð# $ s¨C x¡.ð #°T÷ #r@   r   )r'   Útypingr   r   r   r   r   Útyping_extensionsr   r-   Úmsal_clientr
   Úutilsr   r   r   r   Ú
_constantsr   Ú_persistent_cacher   r   r$   r@   r?   ú<module>rw      s1   ðó
 
ß 3Õ 3Ý "ã å #ß aÓ aÝ -Ý 6÷C#ò C#r@   