+
    ¨Ýiv-  ã                   ód   € ^ RI t ^ RIHt ^RIHt R tRR ltR t ! R R4      t ! R	 R
4      t	R# )é    N)Ú
xform_name)Úget_data_memberc                ó&   € V  F
  pVe   K	   R# 	  R# )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   & Ú:/usr/lib/python3/dist-packages/boto3/resources/response.pyÚall_not_noner
      s   € ó ˆØŒ?Úñ ñ ó    c                óÞ  € . pV  Fä  pVP                   pVP                  pVR8X  d#   \        P                  ! VP                  V4      pM„VR8X  d#   \        P                  ! VP                  V4      pM[VR8X  d!   \        V\        VP                  4      4      pM4VR8X  d   \        WP                  4      pMVR8X  d   Kº  \        RV 24      hVP                  \        V4      V34       Kæ  	  V# )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                óÜ  € RpVP                  V4      pVP                  pV '       dˆ   V P                  R4       Fr  pVP                  R4      pVP                  R8X  d   VP
                  V,          pK:  VP                  R8X  d   VP                  pKY  \        RVP                   RV 24      h	  VP                  R8X  d   / pV# VP                  R8X  d   . pV# VP                  R8X  d   / pV# )	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_responser3   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                   ó0   a € ] tR t^t o RtR tR tRtV tR# )Ú
RawHandlera'  
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                ó   € Wn         R # ©N©r.   )Úselfr.   s   &&r	   Ú__init__ÚRawHandler.__init__‹   s   € Ø&Ör   c                óŽ   € V P                   '       d3   V P                   R8w  d"   \        P                  ! V P                   V4      pV# )úô
: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   )r9   r   r   r   s   &&&&r	   Ú__call__ÚRawHandler.__call__Ž   s8   € ð ××Ð × 0Ñ 0°CÔ 7Ü—’ t×'7Ñ'7¸ÓBˆHàˆr   r8   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r:   r?   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r	   r5   r5      s   ø‡ € ñ	ò'÷ð r   r5   c                   ó:   a € ] tR t^žt o RtRR ltR tR tRtV t	R# )ÚResourceHandlera"  
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                óB   € Wn         W n        W0n        WPn        W@n        R # r7   )r.   ÚfactoryÚresource_modelr/   Úservice_context)r9   r.   rM   rN   rO   r/   s   &&&&&&r	   r:   ÚResourceHandler.__init__¸   s!   € ð 'ÔØŒØ,ÔØ,ÔØ.Ör   c           	     ó¸  € V P                   P                  pV P                  P                  P	                  V4      pV P
                  P                  VVV P                  R7      pTpRpV P                  '       d"   \        P                  ! V P                  V4      p\        \        V P                   P                  WV4      4      p	V	P                  4        U
u. uF  p
\        V
\        4      '       g   K  V
NK  	  pp
V'       dZ   . p\!        \#        V^ ,          4      4       F6  pRpV'       d	   WŒ,          pVP%                  V P'                  WaW�4      4       K8  	  V# \)        V	P                  4       4      '       d   V P'                  WaW˜4      pV# RpV P*                  e6   \-        V P                  V P*                  V P                  P.                  4      pV# u up
i )r=   )Úresource_nameÚsingle_resource_json_definitionrO   N)rN   ÚtyperO   Úresource_json_definitionsÚgetrM   Úload_from_definitionr.   r   r   Údictr!   r   ÚvaluesÚ
isinstancer%   ÚrangeÚlenr   Úhandle_response_itemr
   r/   r3   r0   )r9   r   r   r   rR   Újson_definitionÚresource_clsr   Úsearch_responser   ÚvÚpluralÚiÚresponse_items   &&&&          r	   r?   Ú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Ã4Gc                óö   € RVP                   P                  /pVP                  4        F0  w  rg\        V\        4      '       d   VP                  ^ 4      pWuV&   K2  	  V! R/ VB pVe   WHP                   n        V# )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   )Úmetarg   ÚitemsrZ   r%   Úpopr   )	r9   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   r/   rN   r.   rO   r7   )
rA   rB   rC   rD   rE   r:   r?   r]   rF   rG   rH   s   @r	   rK   rK   ž   s    ø‡ € ñô2/òR÷h"ð "r   rK   )NN)
r   Úbotocorer   r   r   r
   r!   r3   r5   rK   r   r   r	   Ú<module>rp      s7   ðó Ý å #ò	ô+ò\.÷bñ ÷>^ó ^r   