Ë
    A²Xjª  ã                  óÂ   — d dl mZ d dlZd dlmZ 	 	 	 	 	 	 dd„Zdd„Zddœ	 	 	 	 	 	 	 	 	 	 	 dd„Zddœ	 	 	 	 	 	 	 dd	„Zdd
„Z	ddœ	 	 	 	 	 dd„Z
dddœ	 	 	 	 	 	 	 	 	 dd„Zy)é    )ÚannotationsN)ÚSequencec                óR   — | du|duk7  r| �dnd}| �dnd}t        d|› d|› d�«      ‚y)z?Raise if only one of aws_access_key/aws_secret_key is provided.NÚaws_access_keyÚaws_secret_keyÚ`z` was provided without `zT`. Both must be provided together, or neither (to use the default credential chain).)Ú
ValueError)r   r   ÚprovidedÚmissings       úd/var/www/html/content_generation/venv/lib/python3.12/site-packages/anthropic/lib/aws/_credentials.pyÚvalidate_credentialsr      s_   € ð 	˜dÐ"¨¸dÐ(BÒCØ'5Ð'AÑ#ÐGWˆØ&4Ð&@Ñ"ÐFVˆÜØ�ˆzÐ1°'°ð ;`ð aó
ð 	
ð Dó    c                 ó\   — | D ]'  }t         j                  j                  |«      }|€Œ%|c S  y)zAReturn the first non-None value from the given env vars, or None.N©ÚosÚenvironÚget)Úenv_varsÚvarÚvalues      r   Ú	_read_envr      s.   € ãˆÜ—
‘
—‘˜sÓ#ˆØÑØŠLð ð r   )ÚANTHROPIC_AWS_API_KEY)Úapi_key_env_varsc                ó,   — | �y|€|�y|�yt        |Ž �yy)u‡  Determine whether to use SigV4 auth. Returns True for SigV4, False for API key.

    Auth precedence:
    1. api_key constructor arg â†’ API key mode
    2. aws_access_key + aws_secret_key constructor args â†’ SigV4
    3. aws_profile constructor arg â†’ SigV4
    4. API key env var(s) â†’ API key mode (checked in order; first match wins)
    5. Default AWS credential chain â†’ SigV4
    FT©r   )Úapi_keyr   r   Úaws_profiler   s        r   Úresolve_auth_moder      s:   € ð" ÐØàÐ! ^Ð%?ØàÐØô Ð"Ð#Ð/Øð r   c                ó    — | �| S |st        |Ž S y)z1Resolve the API key. Returns None if using SigV4.Nr   )r   Ú	use_sigv4r   s      r   Úresolve_api_keyr!   A   s!   € ð ÐØˆáäÐ*Ð+Ð+àr   c                óŠ   — | �| S t         j                  j                  d«      xs t         j                  j                  d«      S )u‡   Resolve the AWS region from constructor arg or env var.

    Does not silently default â€” returns None if no region is available.
    Ú
AWS_REGIONÚAWS_DEFAULT_REGIONr   )Ú
aws_regions    r   Úresolve_regionr&   R   s6   € ð
 ÐØÐä�:‰:�>‰>˜,Ó'ÒO¬2¯:©:¯>©>Ð:NÓ+OÐOr   )ÚANTHROPIC_AWS_WORKSPACE_ID)Úworkspace_id_env_varsc               ó   — | �| S t        |Ž S )zŠResolve the workspace ID from constructor arg or env var(s).

    Returns None if no workspace ID is available (caller should raise).
    r   )Úworkspace_idr(   s     r   Úresolve_workspace_idr+   ]   s   € ð ÐØÐäÐ+Ð,Ð,r   )ÚANTHROPIC_AWS_BASE_URLz/https://aws-external-anthropic.{region}.api.aws)Úbase_url_env_varsÚurl_templatec               óL   — | �| S t        |Ž }|�|S |�|j                  |¬«      S y)z‰Resolve the base URL from constructor arg, env var, or region.

    Returns None if no base URL is resolvable (caller should raise).
    N)Úregion)r   Úformat)Úbase_urlr0   r-   r.   Úenv_urls        r   Úresolve_base_urlr4   l   sB   € ð ÐØˆäÐ*Ð+€GØÐØˆàÐØ×"Ñ"¨&Ð"Ó1Ð1àr   )r   ú
str | Noner   r5   ÚreturnÚNone)r   Ústrr6   r5   )r   r5   r   r5   r   r5   r   r5   r   úSequence[str]r6   Úbool)r   r5   r    r:   r   r9   r6   r5   )r%   r5   r6   r5   )r*   r5   r(   r9   r6   r5   )
r2   r5   r0   r5   r-   r9   r.   r8   r6   r5   )Ú
__future__r   r   Útypingr   r   r   r   r!   r&   r+   r4   © r   r   Ú<module>r>      s  ðÝ "ã 	Ý ð
àð
ð ð
ð 
ó	
óð 'Añàðð ðð ð	ð
 ðð $ðð 
óðL 'Añ	àðð ðð $ð	ð
 óó"Pð ,Kñ-Øð-ð )ð-ð ó	-ð& (CØIñØðð ðð %ð	ð
 ðð ôr   