o
    div                     @   s   d dl mZ d dl m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 d	d
lmZ d	dlmZmZmZ d	dlmZmZmZmZ eeeeeeeeeeeeeeiZG dd deZdS )    )inject_presigned_url_ec2)inject_presigned_url_rds)parse_get_bucket_location)HierarchicalEmitterlogger)'add_dsql_generate_db_auth_token_methods)add_generate_db_auth_token)add_generate_presigned_post)add_generate_presigned_url   )resolve_awaitable)r   r   r   )r   r   r	   r
   c                   @   s&   e Zd Zd	ddZdd Zdd ZdS )
AioHierarchicalEmitterFc                    s   g }| j |}|d u r| j|}|| j |< n|sg S ||d< g }|D ]&}td|| t|di |I d H }|||f |rK|d urK|  S q%|S )N
event_namezEvent %s: calling handler %s )_lookup_cacheget	_handlersprefix_searchr   debugr   append)selfr   kwargsstop_on_response	responseshandlers_to_callhandlerresponser   r   E/home/ubuntu/.local/lib/python3.10/site-packages/aiobotocore/hooks.py_emit1   s$   zAioHierarchicalEmitter._emitc                    s(   | j ||ddI d H }|r|d S dS )NT)r   )NN)r   )r   r   r   r   r   r   r   emit_until_responseJ   s
   z*AioHierarchicalEmitter.emit_until_responsec                 C   s2   t ||}| | | | ||||| d S )N)_HANDLER_MAPPINGr   _verify_is_callable_verify_accept_kwargs)r   r   r   	unique_idregister_methodunique_id_uses_countr   r   r   _verify_and_registerQ   s   

z+AioHierarchicalEmitter._verify_and_registerN)F)__name__
__module____qualname__r   r    r'   r   r   r   r   r   0   s    
r   N)botocore.handlersr   boto_inject_presigned_url_ec2r   boto_inject_presigned_url_rdsr   boto_parse_get_bucket_locationbotocore.hooksr   r   botocore.signersr   ,boto_add_dsql_generate_db_auth_token_methodsr   boto_add_generate_db_auth_tokenr	    boto_add_generate_presigned_postr
   boto_add_generate_presigned_url_helpersr   handlerssignersr!   r   r   r   r   r   <module>   s(    