Ë
    £ªði½  ã                   óh   — d dl mZ d dlmZ  edg d¢«      Z G d„ de«      Zd„ Zd„ Z G d„ d	«      Zy
)é    )Ú
namedtuple)Úimport_moduleÚServiceContext)Úservice_nameÚservice_modelÚservice_waiter_modelÚresource_json_definitionsc                   ó   — e Zd ZdZy)r   a   Provides important service-wide, read-only information about a service

    :type service_name: str
    :param service_name: The name of the service

    :type service_model: :py:class:`botocore.model.ServiceModel`
    :param service_model: The model of the service.

    :type service_waiter_model: :py:class:`botocore.waiter.WaiterModel` or
        a waiter model-like object such as
        :py:class:`boto3.utils.LazyLoadedWaiterModel`
    :param service_waiter_model: The waiter model of the service.

    :type resource_json_definitions: dict
    :param resource_json_definitions: The loaded json models of all resource
        shapes for a service. It is equivalient of loading a
        ``resource-1.json`` and retrieving the value at the key "resources".
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úb/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/boto3/utils.pyr   r      s   „ ñð& 	r   c                 ó   ‡ ‡— |Šˆ ˆfd„}|S )Nc                  óŠ   •— ‰j                  dd«      \  }}t        |«      }| j                  ‰«        t        ||«      di | ¤ŽS )Nú.é   r   )Úrsplitr   ÚupdateÚgetattr)ÚkwargsÚmoduleÚfunction_nameÚ	full_nameÚparent_kwargss      €€r   Ú_handlerzlazy_call.<locals>._handler5   sG   ø€ Ø )× 0Ñ 0°°aÓ 8Ñˆ�Ü˜vÓ&ˆØ�‰�mÔ$Ø-Œw�v˜}Ó-Ñ7°Ñ7Ð7r   r   )r   r   r   r   s   `  @r   Ú	lazy_callr   2   s   ù€ Ø€Mõ8ð €Or   c                 ó4   — || v rt        d|› d�«      ‚|| |<   y )NzCannot inject class attribute "z*", attribute already exists in class dict.)ÚRuntimeError)Úclass_attributesÚnameÚvalues      r   Úinject_attributer%   >   s6   € ØÐÑÜØ-¨d¨Vð 4,ð -ó
ð 	
ð
 "'Ð˜Òr   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚLazyLoadedWaiterModelat  A lazily loaded waiter model

    This does not load the service waiter model until an attempt is made
    to retrieve the waiter model for a specific waiter. This is helpful
    in docstring generation where we do not need to actually need to grab
    the waiter-2.json until it is accessed through a ``get_waiter`` call
    when the docstring is generated/accessed.
    c                 ó.   — || _         || _        || _        y ©N)Ú_sessionÚ_service_nameÚ_api_version)ÚselfÚ
bc_sessionr   Úapi_versions       r   Ú__init__zLazyLoadedWaiterModel.__init__R   s   € Ø"ˆŒØ)ˆÔØ'ˆÕr   c                 ó€   — | j                   j                  | j                  | j                  «      j	                  |«      S r)   )r*   Úget_waiter_modelr+   r,   Ú
get_waiter)r-   Úwaiter_names     r   r3   z LazyLoadedWaiterModel.get_waiterW   s4   € Ø�}‰}×-Ñ-Ø×Ñ × 1Ñ 1ó
ç
‰*�[Ó
!ð	"r   N)r   r   r   r   r0   r3   r   r   r   r'   r'   H   s   „ ñò(ó
"r   r'   N)	Úcollectionsr   Ú	importlibr   Ú_ServiceContextr   r   r%   r'   r   r   r   ú<module>r8      s?   ðõ #Ý #áØòó€ô	�_ô 	ò.	ò'÷"ò "r   