ó
    Ú°›jv-  ã                   ób   • S SK r S SKJr  SSKJr  S rSS jrS r " S S	5      r " S
 S5      r	g)é    N)Ú
xform_nameé   )Úget_data_memberc                 ó    • U  H  nUb  M    g   g)z½
Return True if all elements of the iterable are not None (or if the
iterable is empty). This is like the built-in ``all``, except checks
against None, so 0 and False are allowable values.
FT© )ÚiterableÚelements     ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/boto3/resources/response.pyÚall_not_noner      s   € ó ˆØ‹?Ùñ ð ó    c                 óÔ  • / nU  Hß  nUR                   nUR                  nUS:X  a"  [        R                  " UR                  U5      nO€US:X  a"  [        R                  " UR                  U5      nOXUS:X  a   [        U[        UR                  5      5      nO2US:X  a  [        XR                  5      nOUS:X  a  Mµ  [        SU 35      eUR                  [        U5      U45        Má     U$ )a‹  
Builds a mapping of identifier names to values based on the
identifier source location, type, and target. Identifier
values may be scalars or lists depending on the source type
and location.

:type identifiers: list
:param identifiers: List of :py:class:`~boto3.resources.model.Parameter`
                    definitions
:type parent: ServiceResource
:param parent: The resource instance to which this action is attached.
:type params: dict
:param params: Request parameters sent to the service.
:type raw_response: dict
:param raw_response: Low-level operation response.
:rtype: list
:return: An ordered list of ``(name, value)`` identifier tuples.
ÚresponseÚrequestParameterÚ
identifierÚdataÚinputzUnsupported source type: )ÚsourceÚtargetÚjmespathÚsearchÚpathÚgetattrr   Únamer   ÚNotImplementedErrorÚappend)	ÚidentifiersÚparentÚparamsÚraw_responseÚresultsr   r   r   Úvalues	            r
   Úbuild_identifiersr"       sÒ   € ð& €Gã!ˆ
Ø×"Ñ"ˆØ×"Ñ"ˆà�ZÓÜ—O’O J§O¡O°\ÓB‰EØÐ)Ó)Ü—O’O J§O¡O°VÓ<‰EØ�|Ó#Ü˜F¤J¨z¯©Ó$?Ó@‰EØ�vÓô $ F¯O©OÓ<‰EØ�wÓáä%Ð(AÀ&ÀÐ&JÓKÐKà�‰œ
 6Ó*¨EÐ2Ö3ñ) "ð, €Nr   c                 óÈ  • SnUR                  U5      nUR                  nU (       a�  U R                  S5       Hl  nUR                  S5      nUR                  S:X  a  UR
                  U   nM5  UR                  S:X  a  UR                  nMS  [        SUR                   SU 35      e   UR                  S:X  a  0 nU$ UR                  S:X  a  / nU$ UR                  S:X  a  0 nU$ )	ai  
Creates an appropriate empty response for the type that is expected,
based on the service model's shape type. For example, a value that
is normally a list would then return an empty list. A structure would
return an empty dict, and a number would return None.

:type search_path: string
:param search_path: JMESPath expression to search in the response
:type operation_name: string
:param operation_name: Name of the underlying service operation.
:type service_model: :ref:`botocore.model.ServiceModel`
:param service_model: The Botocore service model
:rtype: dict, list, or None
:return: An appropriate empty value
NÚ.z[0123456789]$Ú	structureÚlistzSearch path hits shape type z from Úmap)Úoperation_modelÚoutput_shapeÚsplitÚstripÚ	type_nameÚmembersÚmemberr   )Úsearch_pathÚoperation_nameÚservice_modelr   r(   ÚshapeÚitems          r
   Úbuild_empty_responser4   N   sé   € ð  €Hà#×3Ñ3°NÓC€OØ×(Ñ(€Eæð
  ×%Ñ% cÖ*ˆDØ—:‘:˜oÓ.ˆDà�‰ +Ó-ØŸ™ dÑ+’Ø—‘ FÓ*ØŸ™’ä)Ø2°5·?±?Ð2CÀ6È$ÈÐPóð ñ +ð ‡�˜+Ó%Øˆð €Oð 
�‰˜FÓ	"Øˆð €Oð 
�‰˜EÓ	!Øˆà€Or   c                   ó$   • \ rS rSrSrS rS rSrg)Ú
RawHandleré   a'  
A raw action response handler. This passed through the response
dictionary, optionally after performing a JMESPath search if one
has been defined for the action.

:type search_path: string
:param search_path: JMESPath expression to search in the response
:rtype: dict
:return: Service response
c                 ó   • Xl         g ©N©r/   )Úselfr/   s     r
   Ú__init__ÚRawHandler.__init__‹   s   € Ø&Õr   c                 óŠ   • U R                   (       a1  U R                   S:w  a!  [        R                  " U R                   U5      nU$ )úô
:type parent: ServiceResource
:param parent: The resource instance to which this action is attached.
:type params: dict
:param params: Request parameters sent to the service.
:type response: dict
:param response: Low-level operation response.
Ú$)r/   r   r   )r;   r   r   r   s       r
   Ú__call__ÚRawHandler.__call__Ž   s5   € ð ×× × 0Ñ 0°CÓ 7Ü—’ t×'7Ñ'7¸ÓBˆHàˆr   r:   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r<   rA   Ú__static_attributes__r   r   r
   r6   r6      s   † ñ	ò'õr   r6   c                   ó0   • \ rS rSrSr SS jrS rS rSrg)	ÚResourceHandleréž   a"  
Creates a new resource or list of new resources from the low-level
response based on the given response resource definition.

:type search_path: string
:param search_path: JMESPath expression to search in the response

:type factory: ResourceFactory
:param factory: The factory that created the resource class to which
                this action is attached.

:type resource_model: :py:class:`~boto3.resources.model.ResponseResource`
:param resource_model: Response resource model.

:type service_context: :py:class:`~boto3.utils.ServiceContext`
:param service_context: Context about the AWS service

:type operation_name: string
:param operation_name: Name of the underlying service operation, if it
                       exists.

:rtype: ServiceResource or list
:return: New resource instance(s).
Nc                 ó@   • Xl         X l        X0l        XPl        X@l        g r9   )r/   ÚfactoryÚresource_modelr0   Úservice_context)r;   r/   rM   rN   rO   r0   s         r
   r<   ÚResourceHandler.__init__¸   s!   € ð 'ÔØŒØ,ÔØ,ÔØ.Õr   c           	      ó˜  • U R                   R                  nU R                  R                  R	                  U5      nU R
                  R                  UUU R                  S9nUnSnU R                  (       a!  [        R                  " U R                  U5      n[        [        U R                   R                  XU5      5      n	U	R                  5        V
s/ s H  n
[        U
[        5      (       d  M  U
PM     nn
U(       aP  / n[!        [#        US   5      5       H1  nSnU(       a  XŒ   nUR%                  U R'                  XaX�5      5        M3     U$ [)        U	R                  5       5      (       a  U R'                  XaX˜5      nU$ SnU R*                  b5  [-        U R                  U R*                  U R                  R.                  5      nU$ s  sn
f )r?   )Úresource_nameÚsingle_resource_json_definitionrO   Nr   )rN   ÚtyperO   Úresource_json_definitionsÚgetrM   Úload_from_definitionr/   r   r   Údictr"   r   ÚvaluesÚ
isinstancer&   ÚrangeÚlenr   Úhandle_response_itemr   r0   r4   r1   )r;   r   r   r   rR   Újson_definitionÚresource_clsr   Úsearch_responser   ÚvÚpluralÚiÚresponse_items                 r
   rA   ÚResourceHandler.__call__Æ   s¸  € ð ×+Ñ+×0Ñ0ˆØ×.Ñ.×HÑH×LÑLØó
ˆð
 —|‘|×8Ñ8Ø'Ø,;Ø ×0Ñ0ð 9ð 
ˆð
  ˆØˆð ××Ü&Ÿošo¨d×.>Ñ.>ÀÓMˆOô ÜØ×#Ñ#×/Ñ/°Àóó
ˆð )×/Ñ/Ô1ÓIÒ1˜´ZÀÄ4×5H—!Ñ1ˆÐIæØˆHô œ3˜v a™y›>Ö*�ð !%�Þ"Ø$3Ñ$6�MØ—‘Ø×-Ñ-Ø$¨kóöñ +ðB ˆô+ ˜+×,Ñ,Ó.×/Ñ/ð ×0Ñ0Ø kóˆHð$ ˆð ˆHØ×"Ñ"Ñ.ô 0Ø×$Ñ$Ø×'Ñ'Ø×(Ñ(×6Ñ6ó�ð ˆùòQ Js   ÃGÃ0Gc                 óò   • SUR                   R                  0nUR                  5        H/  u  pg[        U[        5      (       a  UR                  S5      nXuU'   M1     U" S0 UD6nUb  XHR                   l        U$ )a'  
Handles the creation of a single response item by setting
parameters and creating the appropriate resource instance.

:type resource_cls: ServiceResource subclass
:param resource_cls: The resource class to instantiate.
:type parent: ServiceResource
:param parent: The resource instance to which this action is attached.
:type identifiers: dict
:param identifiers: Map of identifier names to value or values.
:type resource_data: dict or None
:param resource_data: Data for resource attributes.
:rtype: ServiceResource
:return: New resource instance.
Úclientr   r   )Úmetarg   ÚitemsrZ   r&   Úpopr   )	r;   r_   r   r   Úresource_dataÚkwargsr   r!   Úresources	            r
   r]   Ú$ResourceHandler.handle_response_item  sv   € ð& �f—k‘k×(Ñ(ð
ˆð '×,Ñ,Ö.‰KˆDä˜%¤×&Ñ&ØŸ	™	 !›�à �4‹Lñ /ñ  Ñ) &Ñ)ˆàÑ$Ø!.�M‰MÔàˆr   )rM   r0   rN   r/   rO   r9   )	rC   rD   rE   rF   rG   r<   rA   r]   rH   r   r   r
   rJ   rJ   ž   s   † ñð> ô/òRõh"r   rJ   )NN)
r   Úbotocorer   r   r   r   r"   r4   r6   rJ   r   r   r
   Ú<module>rp      s7   ðó Ý å #ò	ô+ò\.÷bñ ÷>^ò ^r   