ó
    Ú°›jÕì  ã                   ób  • S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
JrJr  SSKJrJr  SSKJrJrJrJrJrJr  \R.                  " \5      r\r " S S5      rS rS	 r " S
 S\5      r " S S5      r  " S S\ 5      r! " S S\!5      r" " S S\"5      r# " S S\ 5      r$ " S S\ 5      r% " S S\ 5      r& " S S\&\$5      r' " S S\&\!5      r( " S S\&\%5      r) " S  S!\$5      r* " S" S#\ 5      r+ " S$ S%\ 5      r, " S& S'\+\$5      r- " S( S)\,\%5      r. " S* S+\+\!5      r/\#\"\*\-\/\.S,.r0g)-a»  Response parsers for the various protocol types.

The module contains classes that can take an HTTP response, and given
an output shape, parse the response into a dict according to the
rules in the output shape.

There are many similarities amongst the different protocols with regard
to response parsing, and the code is structured in a way to avoid
code duplication when possible.  The diagram below is a diagram
showing the inheritance hierarchy of the response classes.

::


                                +-------------------+
                                |   ResponseParser  |
                                +-------------------+
                                ^    ^    ^   ^   ^
                                |    |    |   |   |
                                |    |    |   |   +--------------------------------------------+
                                |    |    |   +-----------------------------+                  |
                                |    |    |                                 |                  |
           +--------------------+    |    +----------------+                |                  |
           |                         |                     |                |                  |
+----------+----------+       +------+-------+     +-------+------+  +------+-------+   +------+--------+
|BaseXMLResponseParser|       |BaseRestParser|     |BaseJSONParser|  |BaseCBORParser|   |BaseRpcV2Parser|
+---------------------+       +--------------+     +--------------+  +----------+---+   +-+-------------+
          ^         ^          ^           ^        ^        ^                  ^         ^
          |         |          |           |        |        |                  |         |
          |         |          |           |        |        |                  |         |
          |        ++----------+-+       +-+--------+---+    |              +---+---------+-+
          |        |RestXMLParser|       |RestJSONParser|    |              |RpcV2CBORParser|
    +-----+-----+  +-------------+       +--------------+    |              +---+---------+-+
    |QueryParser|                                            |
    +-----------+                                       +----+-----+
                                                        |JSONParser|
                                                        +----------+

The diagram above shows that there is a base class, ``ResponseParser`` that
contains logic that is similar amongst all the different protocols (``query``,
``json``, ``rest-json``, ``rest-xml``, ``smithy-rpc-v2-cbor``).  Amongst the various services
there is shared logic that can be grouped several ways:

* The ``query`` and ``rest-xml`` both have XML bodies that are parsed in the
  same way.
* The ``json`` and ``rest-json`` protocols both have JSON bodies that are
  parsed in the same way.
* The ``rest-json`` and ``rest-xml`` protocols have additional attributes
  besides body parameters that are parsed the same (headers, query string,
  status code).

This is reflected in the class diagram above.  The ``BaseXMLResponseParser``
and the BaseJSONParser contain logic for parsing the XML/JSON body,
and the BaseRestParser contains logic for parsing out attributes that
come from other parts of the HTTP response.  Classes like the
``RestXMLParser`` inherit from the ``BaseXMLResponseParser`` to get the
XML body parsing logic and the ``BaseRestParser`` to get the HTTP
header/status code/query string parsing.

Additionally, there are event stream parsers that are used by the other parsers
to wrap streaming bodies that represent a stream of events. The
BaseEventStreamParser extends from ResponseParser and defines the logic for
parsing values from the headers and payload of a message from the underlying
binary encoding protocol. Currently, event streams support parsing bodies
encoded as JSON and XML through the following hierarchy.


                                  +--------------+
                                  |ResponseParser|
                                  +--------------+
                                    ^    ^    ^
               +--------------------+    |    +------------------+
               |                         |                       |
    +----------+----------+   +----------+----------+    +-------+------+
    |BaseXMLResponseParser|   |BaseEventStreamParser|    |BaseJSONParser|
    +---------------------+   +---------------------+    +--------------+
                     ^                ^        ^                 ^
                     |                |        |                 |
                     |                |        |                 |
                   +-+----------------+-+    +-+-----------------+-+
                   |EventStreamXMLParser|    |EventStreamJSONParser|
                   +--------------------+    +---------------------+

Return Values
=============

Each call to ``parse()`` returns a dict has this form::

    Standard Response

    {
      "ResponseMetadata": {"RequestId": <requestid>}
      <response keys>
    }

    Error response

    {
      "ResponseMetadata": {"RequestId": <requestid>}
      "Error": {
        "Code": <string>,
        "Message": <string>,
        "Type": <string>,
        <additional keys>
      }
    }

é    N)ÚETreeÚXMLParseError)ÚEventStreamÚNoInitialResponseError)ÚCachedPropertyÚensure_booleanÚis_json_value_headerÚlowercase_dictÚmerge_dictsÚparse_timestampc                   ó&   • \ rS rSrS rS rS rSrg)ÚResponseParserFactoryé“   c                 ó   • 0 U l         g ©N©Ú	_defaults©Úselfs    ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/parsers.pyÚ__init__ÚResponseParserFactory.__init__”   s	   € Øˆ�ó    c                 ó:   • U R                   R                  U5        g)a'  Set default arguments when a parser instance is created.

You can specify any kwargs that are allowed by a ResponseParser
class.  There are currently two arguments:

    * timestamp_parser - A callable that can parse a timestamp string
    * blob_parser - A callable that can parse a blob type

N)r   Úupdate)r   Úkwargss     r   Úset_parser_defaultsÚ)ResponseParserFactory.set_parser_defaults—   s   € ð 	�‰×Ñ˜fÕ%r   c                 ó8   • [         U   nU" S0 U R                  D6$ )N© )ÚPROTOCOL_PARSERSr   )r   Úprotocol_nameÚ
parser_clss      r   Úcreate_parserÚ#ResponseParserFactory.create_parser£   s   € Ü% mÑ4ˆ
ÙÑ+˜DŸN™NÑ+Ð+r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r$   Ú__static_attributes__r    r   r   r   r   “   s   † òò
&õ,r   r   c                 ó4   • [        5       R                  U 5      $ r   )r   r$   )Úprotocols    r   r$   r$   ¨   s   € Ü Ó"×0Ñ0°Ó:Ð:r   c                 ó   ^ • U 4S jnU$ )Nc                 ó`   >• [        US5      (       a  UR                  nUc  SnOUnT" XU5      $ )NÚtextÚ )Úhasattrr/   )r   ÚshapeÚnode_or_stringr/   Úfuncs       €r   Ú_get_text_contentÚ(_text_content.<locals>._get_text_content²   s:   ø€ Ü�> 6×*Ñ*Ø!×&Ñ&ˆDØ‰|ð �øà!ˆDÙ�D Ó&Ð&r   r    )r4   r5   s   ` r   Ú_text_contentr7   ¬   s   ø€ õ
'ð Ðr   c                   ó   • \ rS rSrSrg)ÚResponseParserErroréÁ   r    N)r&   r'   r(   r)   r*   r    r   r   r9   r9   Á   s   † Úr   r9   c                   ó”   • \ rS rSrSrSrSrSrSS jrS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)ÚResponseParseréÅ   aS  Base class for response parsing.

This class represents the interface that all ResponseParsers for the
various protocols must implement.

This class will take an HTTP response and a model shape and parse the
HTTP response into a dictionary.

There is a single public method exposed: ``parse``.  See the ``parse``
docstring for more info.

úutf-8N)ÚheaderÚheadersÚ
statusCodec                 ó¢   • Uc  [         nXl        Uc  U R                  nX l        S U l        U R
                  b  U R                  X5      U l        g g r   )ÚDEFAULT_TIMESTAMP_PARSERÚ_timestamp_parserÚ_default_blob_parserÚ_blob_parserÚ_event_stream_parserÚEVENT_STREAM_PARSER_CLS)r   Útimestamp_parserÚblob_parsers      r   r   ÚResponseParser.__init__Û   sZ   € ØÑ#Ü7ÐØ!1ÔØÑØ×3Ñ3ˆKØ'ÔØ$(ˆÔ!Ø×'Ñ'Ñ3Ø(,×(DÑ(DØ ó)ˆDÕ%ð 4r   c                 ó.   • [         R                  " U5      $ r   )Úbase64Ú	b64decode©r   Úvalues     r   rE   Ú#ResponseParser._default_blob_parserè   s   € ô ×Ò Ó&Ð&r   c                 ód  • [         R                  SUS   5        [         R                  SUS   5        US   S:¼  ac  U R                  U5      (       a  U R                  U5      nOLU R	                  U5      (       a  U R                  X5      nU$ U R                  X5      nOU R                  X5      nU(       a"  UR                  R                  S5      (       a  U$ [        U[        5      (       aB  UR                  S0 5      nUS   US	'   US   n[        U5      US
'   XCS'   U R                  X5        U$ )aÞ  Parse the HTTP response given a shape.

:param response: The HTTP response dictionary.  This is a dictionary
    that represents the HTTP request.  The dictionary must have the
    following keys, ``body``, ``headers``, and ``status_code``.

:param shape: The model shape describing the expected output.
:return: Returns a dictionary representing the parsed response
    described by the model.  In addition to the shape described from
    the model, each response will also have a ``ResponseMetadata``
    which contains metadata about the response, which contains at least
    two keys containing ``RequestId`` and ``HTTPStatusCode``.  Some
    responses may populate additional keys, but ``RequestId`` will
    always be present.

zResponse headers: %rr@   zResponse body:
%rÚbodyÚstatus_codei-  ÚeventstreamÚResponseMetadataÚHTTPStatusCodeÚHTTPHeaders)ÚLOGÚdebugÚ_is_generic_error_responseÚ_do_generic_error_parseÚ_is_modeled_error_shapeÚ_do_modeled_error_parseÚ_do_error_parseÚ	_do_parseÚserializationÚgetÚ
isinstanceÚdictr
   Ú_add_checksum_response_metadata)r   Úresponser2   ÚparsedÚresponse_metadatar@   s         r   ÚparseÚResponseParser.parseî   s(  € ô" 	�	‰	Ð(¨(°9Ñ*=Ô>Ü�	‰	Ð&¨°Ñ(8Ô9Ø�MÑ" cÓ)Ø×.Ñ.¨x×8Ñ8Ø×5Ñ5°hÓ?‘Ø×-Ñ-¨e×4Ñ4Ø×5Ñ5°hÓF�à�à×-Ñ-¨hÓ>‘à—^‘^ HÓ4ˆFö �U×(Ñ(×,Ñ,¨]×;Ñ;ØˆMô �fœd×#Ñ#Ø &§
¡
Ð+=¸rÓ BÐØ2:¸=Ñ2IÐÐ.Ñ/ð ˜yÑ)ˆGÜ/=¸gÓ/FÐ˜mÑ,Ø):Ð%Ñ&Ø×0Ñ0°ÔMØˆr   c                 ó‚   • UR                  S0 5      R                  S0 5      nUR                  S5      nU(       a  XBS'   g g )NÚcontextÚchecksumÚresponse_algorithmÚChecksumAlgorithm©rb   )r   rf   rh   Úchecksum_contextÚ	algorithms        r   re   Ú.ResponseParser._add_checksum_response_metadata  sB   € Ø#Ÿ<™<¨	°2Ó6×:Ñ:¸:ÀrÓJÐØ$×(Ñ(Ð)=Ó>ˆ	ÞØ5>Ð1Ò2ð r   c                 óP   • US L=(       a    UR                   R                  SS5      $ )NÚ	exceptionF)Úmetadatarb   )r   r2   s     r   r]   Ú&ResponseParser._is_modeled_error_shape%  s#   € Ø˜DÐ ×K U§^¡^×%7Ñ%7¸ÀUÓ%KÐKr   c                 ó”   • US   S:¼  a?  SU;  d  US   c  gUS   R                  5       nUR                  S5      =(       d    U(       + $ g )NrT   iô  rS   Ts   <html>)ÚstripÚ
startswith)r   rf   rS   s      r   r[   Ú)ResponseParser._is_generic_error_response(  sT   € ð �MÑ" cÓ)Ø˜XÓ%¨°&Ñ)9Ñ)AØà˜FÑ#×)Ñ)Ó+ˆDØ—?‘? 9Ó-×9°T´Ð9ð *r   c                 óª   • [         R                  S5        [        US   5      [        R                  R
                  R                  US   S5      S.0 S.$ )NzlReceived a non protocol specific error response from the service, unable to populate error code and message.rT   r0   ©ÚCodeÚMessage©ÚErrorrV   )rY   rZ   ÚstrÚhttpÚclientÚ	responsesrb   ©r   rf   s     r   r\   Ú&ResponseParser._do_generic_error_parse;  s[   € ô 	�	‰	ðBô	
ô ˜H ]Ñ3Ó4ÜŸ;™;×0Ñ0×4Ñ4Ø˜]Ñ+¨Róñð !#ñ
ð 	
r   c                 óF   • [        U R                  R                   S35      e)Nz
._do_parse©ÚNotImplementedErrorÚ	__class__r&   ©r   rf   r2   s      r   r`   ÚResponseParser._do_parseL  s   € Ü! T§^¡^×%<Ñ%<Ð$=¸ZÐ"HÓIÐIr   c                 óF   • [        U R                  R                   S35      e)Nz._do_error_parser‰   rŒ   s      r   r_   ÚResponseParser._do_error_parseO  s    € Ü! T§^¡^×%<Ñ%<Ð$=Ð=MÐ"NÓOÐOr   c                 óF   • [        U R                  R                   S35      e)Nz._do_modeled_error_parser‰   )r   rf   r2   rg   s       r   r^   Ú&ResponseParser._do_modeled_error_parseR  s%   € Ü!Ø�~‰~×&Ñ&Ð'Ð'?Ð@ó
ð 	
r   c                 óZ   • [        U SUR                   3U R                  5      nU" X5      $ )NÚ_handle_)ÚgetattrÚ	type_nameÚ_default_handle)r   r2   ÚnodeÚhandlers       r   Ú_parse_shapeÚResponseParser._parse_shapeW  s2   € ÜØ�H˜UŸ_™_Ð-Ð.°×0DÑ0Dó
ˆñ �uÓ#Ð#r   c                 ó    • / nUR                   nU H9  nUc  UR                  S 5        M  UR                  U R                  XE5      5        M;     U$ r   )ÚmemberÚappendr™   )r   r2   r—   rg   Úmember_shapeÚitems         r   Ú_handle_listÚResponseParser._handle_list]  sM   € ð ˆØ—|‘|ˆÛˆDð ‰|Ø—‘˜dÖ#à—‘˜d×/Ñ/°ÓCÖDñ ð ˆr   c                 ó   • U$ r   r    ©r   r2   rP   s      r   r–   ÚResponseParser._default_handlek  s   € Øˆr   c                 ób   • U R                   nUS   R                  S5      n[        US   X#U5      $ )Nrl   Úoperation_namerS   )rG   rb   r   )r   rf   r2   ÚparserÚnames        r   Ú_create_event_streamÚ#ResponseParser._create_event_streamn  s7   € Ø×*Ñ*ˆØ˜	Ñ"×&Ñ&Ð'7Ó8ˆÜ˜8 FÑ+¨U¸DÓAÐAr   c                 ó   • [        U5      S   $ ©Nr   )ÚlistrO   s     r   Ú_get_first_keyÚResponseParser._get_first_keys  s   € Ü�E‹{˜1‰~Ðr   c                 ó  • UR                   (       aã  UR                  5       nUR                  SS 5        UR                  5        VVs0 s H  u  pEUc  M
  XE_M     nnn[	        U5      S:w  a  Sn[        XaR                  -  5      eU R                  U5      nUR                   Vs/ s H,  nUR                  U   R                  R                  SU5      PM.     n	nXy;  a  [        R                  SU5        ggs  snnf s  snf )NÚ__typeé   úCInvalid service response: %s must have one and only one member set.r¨   zqReceived a tagged union response with member unknown to client: %s. Please upgrade SDK for full response support.TF)Úis_tagged_unionÚcopyÚpopÚitemsÚlenr9   r¨   r®   Úmembersra   rb   rY   Úinfo)
r   r2   rP   Úcleaned_valueÚkÚvÚ	error_msgÚtagrœ   Úserialized_member_namess
             r   Ú _has_unknown_tagged_union_memberÚ/ResponseParser._has_unknown_tagged_union_memberv  s  € Ø× × Ø!ŸJ™J›LˆMØ×Ñ˜h¨Ô-à!.×!4Ñ!4Ô!6ôÚ!6™˜¸!“�’Ñ!6ð ñ ô �=Ó! QÓ&ð&ð ô *¨)·j±jÑ*@ÓAÐAØ×%Ñ% mÓ4ˆCð $Ÿmšmó'â+�Fð —‘˜fÑ%×3Ñ3×7Ñ7¸ÀÖGÙ+ð $ð 'ð Ó1Ü—‘ðDàôð
 Øùó+ùò's   Á	C6ÁC6Â$3C<c                 ó   • SSU00$ )NÚSDK_UNKNOWN_MEMBERr¨   r    )r   r¿   s     r   Ú#_handle_unknown_tagged_union_memberÚ2ResponseParser._handle_unknown_tagged_union_member‘  s   € Ø$ v¨s mÐ4Ð4r   c                 ó’   • US   nUR                  S5      n[        U5      S:X  a!  US   (       a  XS   S'   US   US   S'   US   $ U$ )	zË
Error response may contain an x-amzn-query-error header to translate
errors codes from former `query` services into other protocols. We use this
to do our lookup in the errorfactory for modeled errors.
úx-amzn-query-errorÚ;é   r   r�   ÚQueryErrorCoder²   ÚType)Úsplitr¸   )r   Úcoder@   ÚerrorÚquery_errorÚquery_error_componentss         r   Ú _do_query_compatible_error_parseÚ/ResponseParser._do_query_compatible_error_parse”  sf   € ð Ð2Ñ3ˆØ!,×!2Ñ!2°3Ó!7ÐäÐ%Ó&¨!Ó+Ð0FÀq×0IØ/3�'‰NÐ+Ñ,Ø%;¸AÑ%>ˆE�'‰N˜6Ñ"Ø)¨!Ñ,Ð,Øˆr   )rF   rG   rD   ©NN)r&   r'   r(   r)   Ú__doc__ÚDEFAULT_ENCODINGrH   ÚKNOWN_LOCATIONSr   rE   ri   re   r]   r[   r\   r`   r_   r^   r™   r    r–   r©   r®   rÁ   rÅ   rÒ   r*   r    r   r   r<   r<   Å   s{   † ñð ÐØ"Ðð
 :€Oôò'ò/òb?òLò:ò&
ò"JòPò
ò
$òòòBò
òò65õr   r<   c                   óÔ   ^ • \ rS rSrSU 4S jjrS rS rU 4S jrS rS r	S r
S	 rS
 rS r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\r\r\rSrU =r$ )ÚBaseXMLResponseParseri¤  c                 óZ   >• [         TU ]  X5        [        R                  " S5      U l        g )Nz{.*})Úsuperr   ÚreÚcompileÚ_namespace_re)r   rI   rJ   r‹   s      €r   r   ÚBaseXMLResponseParser.__init__¥  s"   ø€ Ü‰ÑÐ)Ô7ÜŸZšZ¨Ó/ˆÕr   c                 ó  • 0 nUR                   nUR                  nUR                  R                  S5      =(       d    SnUR                  R                  S5      =(       d    SnUR                  R                  S5      (       a  [	        U[
        5      (       d  U/nU H^  nU HP  n	U R                  U	5      n
X¦:X  a  U R                  XI5      nM,  X§:X  a  U R                  XY5      nMD  [        SU
 35      e   WUW'   M`     U$ )Nr¨   ÚkeyrP   Ú	flattenedzUnknown tag: )	rá   rP   ra   rb   rc   r­   Ú	_node_tagr™   r9   )r   r2   r—   rg   Ú	key_shapeÚvalue_shapeÚkey_location_nameÚvalue_location_nameÚkeyval_nodeÚsingle_pairÚtag_nameÚkey_nameÚval_names                r   Ú_handle_mapÚ!BaseXMLResponseParser._handle_map©  sî   € ØˆØ—I‘Iˆ	Ø—k‘kˆØ%×3Ñ3×7Ñ7¸Ó?×HÀ5ÐØ)×7Ñ7×;Ñ;¸FÓC×NÀwÐØ×Ñ×"Ñ" ;×/Ñ/¼
À4Ì×8NÑ8NØ�6ˆDÛˆKÛ*�àŸ>™>¨+Ó6�ØÓ0Ø#×0Ñ0°ÓH’HØÓ4Ø#×0Ñ0°ÓJ’Hä-°¸h¸ZÐ.HÓIÐIñ  +ð  (ˆF�8Óñ  ð ˆr   c                 óN   • U R                   R                  SUR                  5      $ ©Nr0   )rÞ   Úsubr¿   )r   r—   s     r   rã   ÚBaseXMLResponseParser._node_tag¾  s   € Ø×!Ñ!×%Ñ% b¨$¯(©(Ó3Ð3r   c                 ó’   >• UR                   R                  S5      (       a  [        U[        5      (       d  U/n[        TU ]  X5      $ )Nrâ   )ra   rb   rc   r­   rÛ   r    )r   r2   r—   r‹   s      €r   r    Ú"BaseXMLResponseParser._handle_listÁ  s?   ø€ ð ×Ñ×"Ñ" ;×/Ñ/¼
À4Ì×8NÑ8NØ�6ˆDÜ‰wÑ# EÓ0Ð0r   c                 ót  • 0 nUR                   nUR                  R                  SS5      (       a  U R                  U5      nU R	                  U5      nU R                  X5      (       a"  U R                  U5      nU R                  U5      $ U GH'  nXG   nUR                  R                  S5      n	X�R                  ;   d   UR                  R                  S5      (       a  MT  U R                  X‡5      n
UR                  U
5      nUb  U R                  X‹5      X7'   MŽ  UR                  R                  S5      (       d  M°  0 nUR                  S   nUR                  R                  5        H:  u  pïU R                  R                  UR!                  S5      S   S-   U5      nXüU'   M<     XÜ;   d  GM!  XÍ   X7'   GM*     U$ )	Nru   FÚlocationÚeventheaderÚxmlAttributer¨   Ú:r   )r¹   rv   rb   Ú_get_error_rootÚ_build_name_to_xml_noderÁ   r®   rÅ   ra   r×   Ú_member_key_namer™   Úattribr·   rÞ   rñ   rÍ   )r   r2   r—   rg   r¹   Úxml_dictr¿   Úmember_namerž   rö   Úxml_nameÚmember_nodeÚattribsÚlocation_namerá   rP   Únew_keys                    r   Ú_handle_structureÚ'BaseXMLResponseParser._handle_structureË  sž  € ØˆØ—-‘-ˆØ�>‰>×Ñ˜k¨5×1Ñ1Ø×'Ñ'¨Ó-ˆDØ×/Ñ/°Ó5ˆØ×0Ñ0°×AÑAØ×%Ñ% hÓ/ˆCØ×;Ñ;¸CÓ@Ð@Ü"ˆKØ"Ñ/ˆLØ#×1Ñ1×5Ñ5°jÓAˆHà×0Ñ0Ó0Ø×-Ñ-×1Ñ1°-×@Ñ@ñ Ø×,Ñ,¨\ÓGˆHØ"Ÿ,™, xÓ0ˆKØÑ&Ø&*×&7Ñ&7Ø ó'�Ó#ð ×+Ñ+×/Ñ/°×?Ó?Ø�Ø ,× :Ñ :¸6Ñ B�Ø"&§+¡+×"3Ñ"3Ö"5‘J�CØ"×0Ñ0×4Ñ4Ø%×+Ñ+¨CÓ0°Ñ3°cÑ9¸3ó�Gð (-˜GÓ$ñ	 #6ð
 !Ö+Ø*1Ñ*@�FÔ'ñ3 #ð4 ˆr   c                 ót   • U R                  U5      S:X  a"  U H  nU R                  U5      S:X  d  M  Us  $    U$ )NÚErrorResponser�   ©rã   )r   Úoriginal_rootÚchilds      r   rú   Ú%BaseXMLResponseParser._get_error_rootð  s;   € Ø�>‰>˜-Ó(¨OÓ;Û&�Ø—>‘> %Ó(¨GÕ3Ø ’Lñ 'ð Ðr   c                 óú   • UR                   S:X  aJ  UR                  R                  S5      (       a*  UR                  R                  R                  S5      nUb  U$ UR                  R                  S5      nUb  U$ U$ )Nr­   râ   r¨   )r•   ra   rb   rœ   )r   r2   rÿ   Úlist_member_serialized_nameÚserialized_names        r   rü   Ú&BaseXMLResponseParser._member_key_name÷  sz   € ð
 �?‰?˜fÓ$¨×)<Ñ)<×)@Ñ)@À×)MÑ)MØ*/¯,©,×*DÑ*D×*HÑ*HØó+Ð'ð +Ñ6Ø2Ð2Ø×-Ñ-×1Ñ1°&Ó9ˆØÑ&Ø"Ð"ØÐr   c                 ó  • [        U[        5      (       a  U R                  US   5      $ 0 nU HS  nU R                  U5      nXB;   a6  [        X$   [        5      (       a  X$   R	                  U5        ME  X$   U/X$'   MO  X2U'   MU     U$ r¬   )rc   r­   rû   rã   r�   )r   Úparent_noderþ   rŸ   rá   s        r   rû   Ú-BaseXMLResponseParser._build_name_to_xml_node  s‡   € ô �k¤4×(Ñ(Ø×/Ñ/°¸A±Ó?Ð?ØˆÛˆDØ—.‘. Ó&ˆCØ‹ô
 ˜h™m¬T×2Ñ2Ø‘M×(Ñ(¨Ö.ð &.¡]°DÐ$9�H“Mà $˜“ñ  ð ˆr   c                 óô   •  [         R                  " [         R                  " 5       U R                  S9nUR	                  U5        UR                  5       nU$ ! [         a  n[        SU SU 35      eS nAff = f)N)ÚtargetÚencodingzUnable to parse response (z6), invalid XML received. Further retries may succeed:
)r   Ú	XMLParserÚTreeBuilderrÖ   ÚfeedÚcloser   r9   )r   Ú
xml_stringr§   ÚrootÚes        r   Ú_parse_xml_string_to_domÚ.BaseXMLResponseParser._parse_xml_string_to_dom  s€   € ð
	Ü—_’_Ü×(Ò(Ó*°T×5JÑ5JñˆFð �K‰K˜
Ô#Ø—<‘<“>ˆDð ˆøô ó 	Ü%Ø,¨Q¨Cð 0GØGQÀlðTóð ûð	ús   ‚AA Á
A7Á!A2Á2A7c                 óÀ   • UR                  5        HI  u  p#[        U5      (       a&  U R                  U5      nU R                  U5      X'   M;  UR                  X'   MK     U$ r   )r·   r­   rû   Ú_replace_nodesr/   )r   rg   rá   rP   Úsub_dicts        r   r!  Ú$BaseXMLResponseParser._replace_nodes,  sQ   € Ø Ÿ,™,ž.‰JˆCÜ�E�{‰{Ø×7Ñ7¸Ó>�Ø"×1Ñ1°(Ó;�“à#Ÿj™j�“ñ )ð ˆr   c                 ó   • US:X  a  gg)NÚtrueTFr    ©r   r2   r/   s      r   Ú_handle_booleanÚ%BaseXMLResponseParser._handle_boolean5  s   € à�6‹>Øàr   c                 ó   • [        U5      $ r   ©Úfloatr&  s      r   Ú_handle_floatÚ#BaseXMLResponseParser._handle_float<  s   € ä�T‹{Ðr   c                 ó$   • U R                  U5      $ r   ©rD   r&  s      r   Ú_handle_timestampÚ'BaseXMLResponseParser._handle_timestamp@  s   € à×%Ñ% dÓ+Ð+r   c                 ó   • [        U5      $ r   ©Úintr&  s      r   Ú_handle_integerÚ%BaseXMLResponseParser._handle_integerD  s   € ä�4‹yÐr   c                 ó   • U$ r   r    r&  s      r   Ú_handle_stringÚ$BaseXMLResponseParser._handle_stringH  s   € àˆr   c                 ó$   • U R                  U5      $ r   ©rF   r&  s      r   Ú_handle_blobÚ"BaseXMLResponseParser._handle_blobL  s   € à× Ñ  Ó&Ð&r   )rÞ   rÔ   )r&   r'   r(   r)   r   rí   rã   r    r  rú   rü   rû   r  r!  r7   r'  r,  r0  r5  r8  r<  Ú_handle_characterÚ_handle_doubleÚ_handle_longr*   Ú__classcell__©r‹   s   @r   rÙ   rÙ   ¤  sÀ   ø† ÷0òò*4õ1ò#òJòò ò.òð ñó ðð ñó ðð ñ,ó ð,ð ñó ðð ñó ðð ñ'ó ð'ð 'ÐØ"€NØ"†Lr   rÙ   c                   ó<   • \ rS rSrS rS rS rS
S jrS rS r	Sr
g	)ÚQueryParseriU  c                 óú   • US   nU R                  U5      nU R                  U5      nU R                  U5        SU;   a   UR                  UR	                  S5      5        SU;   a  SUR	                  S5      0US'   U$ )NrS   ÚErrorsÚ	RequestIdrV   )r  rû   r!  r   r¶   )r   rf   r2   Úxml_contentsr  rg   s         r   r_   ÚQueryParser._do_error_parseV  s   € Ø Ñ'ˆØ×,Ñ,¨\Ó:ˆØ×-Ñ-¨dÓ3ˆØ×Ñ˜FÔ#ð �vÓØ�M‰M˜&Ÿ*™* XÓ.Ô/Ø˜&Ó Ø*5°v·z±zÀ+Ó7NÐ)OˆFÐ%Ñ&Øˆr   c                 ó"   • U R                  XSS9$ )NF©Úinject_metadata©Ú_parse_body_as_xmlrŒ   s      r   r^   Ú#QueryParser._do_modeled_error_parsef  s   € Ø×&Ñ& xÈÐ&ÐNÐNr   c                 ó"   • U R                  XSS9$ )NTrK  rM  rŒ   s      r   r`   ÚQueryParser._do_parsei  s   € Ø×&Ñ& xÈÐ&ÐMÐMr   c                 óð   • US   nU R                  U5      n0 nUbB  UnSUR                  ;   a  U R                  UR                  S   U5      nU R                  X'5      nU(       a  U R	                  XV5        U$ )NrS   ÚresultWrapper)r  ra   Ú_find_result_wrapped_shaper™   Ú_inject_response_metadata)r   rf   r2   rL  rH  r  rg   Ústarts           r   rN  ÚQueryParser._parse_body_as_xmll  s‚   € Ø Ñ'ˆØ×,Ñ,¨\Ó:ˆØˆØÑØˆEØ %×"5Ñ"5Ó5Ø×7Ñ7Ø×'Ñ'¨Ñ8¸$ó�ð ×&Ñ& uÓ4ˆFÞØ×*Ñ*¨4Ô8Øˆr   c                 ó,   • U R                  U5      nX1   $ r   )rû   )r   Úelement_nameÚxml_root_nodeÚmappings       r   rT  Ú&QueryParser._find_result_wrapped_shape{  s   € Ø×.Ñ.¨}Ó=ˆØÑ$Ð$r   c                 óÈ   • U R                  U5      nUR                  S5      nUb=  U R                  U5      nUR                  5        H  u  pgUR                  XV'   M     XRS'   g g ©NrV   )rû   rb   r·   r/   )r   r—   Úinject_intor[  Ú
child_nodeÚsub_mappingrá   rP   s           r   rU  Ú%QueryParser._inject_response_metadata  sf   € Ø×.Ñ.¨tÓ4ˆØ—[‘[Ð!3Ó4ˆ
ØÑ!Ø×6Ñ6°zÓBˆKØ)×/Ñ/Ö1‘
�Ø#(§:¡:�Ó ñ 2à.9Ð*Ò+ð	 "r   r    N)T)r&   r'   r(   r)   r_   r^   r`   rN  rT  rU  r*   r    r   r   rD  rD  U  s"   † òò OòNôò%õ:r   rD  c                   ó4   ^ • \ rS rSrS rU 4S jrS rSrU =r$ )ÚEC2QueryParseri‰  c                 ór   • U R                  U5      nUR                  S5      nUb  SUR                  0US'   g g )NÚ	requestIdrG  rV   )rû   rb   r/   )r   r—   r_  r[  r`  s        r   rU  Ú(EC2QueryParser._inject_response_metadataŠ  s?   € Ø×.Ñ.¨tÓ4ˆØ—[‘[ Ó-ˆ
ØÑ!Ø/:¸J¿O¹OÐ.LˆKÐ*Ò+ð "r   c                 ó^   >• [         TU ]  X5      nSU;   a  SUR                  S5      0US'   U$ )NÚ	RequestIDrG  rV   )rÛ   r_   r¶   )r   rf   r2   Úoriginalr‹   s       €r   r_   ÚEC2QueryParser._do_error_parse�  s>   ø€ ô ‘7Ñ*¨8Ó;ˆØ˜(Ó"à˜XŸ\™\¨+Ó6ð,ˆHÐ'Ñ(ð ˆr   c                 óŽ   • U H>  nU R                  U5      S:X  d  M  U H  nU R                  U5      S:X  d  M  Us  s  $    M@     U$ )NrF  r�   r	  )r   r
  r  Úerrors_childs       r   rú   ÚEC2QueryParser._get_error_root¤  sF   € Û"ˆEØ�~‰~˜eÓ$¨Õ0Û$)�LØ—~‘~ lÓ3°wÕ>Ø+Ô+ó %*ñ #ð
 Ðr   r    )	r&   r'   r(   r)   rU  r_   rú   r*   rA  rB  s   @r   rd  rd  ‰  s   ø† òMõ÷(ð r   rd  c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚBaseJSONParseri­  c                 ór  • 0 nUR                   (       a  UnU$ UR                  nUc  g 0 nU R                  X5      (       a"  U R                  U5      nU R	                  U5      $ U HO  nXF   nUR
                  R                  SU5      nUR                  U5      n	U	c  M9  U R                  XF   U	5      X6'   MQ     U$ )Nr¨   )Úis_document_typer¹   rÁ   r®   rÅ   ra   rb   r™   )
r   r2   rP   Úfinal_parsedÚmember_shapesr¿   rÿ   rž   Ú	json_nameÚ	raw_values
             r   r  Ú BaseJSONParser._handle_structure®  sÊ   € ØˆØ×!×!Ø ˆLð( Ðð% "ŸM™MˆMØ‰}ð ØˆLØ×4Ñ4°U×BÑBØ×)Ñ)¨%Ó0�Ø×?Ñ?ÀÓDÐDÛ,�Ø,Ñ9�Ø(×6Ñ6×:Ñ:¸6À;ÓO�	Ø!ŸI™I iÓ0�	ØÓ(Ø04×0AÑ0AØ%Ñ2°Ió1�LÓ-ñ  -ð Ðr   c                 ó¸   • 0 nUR                   nUR                  nUR                  5        H+  u  pbU R                  XF5      nU R                  XR5      nXƒU'   M-     U$ r   )rá   rP   r·   r™   )	r   r2   rP   rg   rä   rå   rá   Ú
actual_keyÚactual_values	            r   rí   ÚBaseJSONParser._handle_mapÇ  sZ   € ØˆØ—I‘Iˆ	Ø—k‘kˆØŸ+™+ž-‰JˆCØ×*Ñ*¨9Ó:ˆJØ×,Ñ,¨[Ó@ˆLØ!-�:Óñ (ð ˆr   c                 ó$   • U R                  U5      $ r   r;  r£   s      r   r<  ÚBaseJSONParser._handle_blobÑ  s   € Ø× Ñ  Ó'Ð'r   c                 ó$   • U R                  U5      $ r   r/  r£   s      r   r0  Ú BaseJSONParser._handle_timestampÔ  s   € Ø×%Ñ% eÓ,Ð,r   c                 óÚ  • U R                  US   5      nSSS.0 S.nUS   nUR                  SUR                  SS5      5      US   S'   UR                  S	5      nUR                  S
U=(       a    [        U5      5      nUbU  SU;   a  UR                  SS5      S   nSU;   a  UR	                  SS5      S   nSU;   a  U R                  XuU5      nXtS   S'   U R                  XAS   5        U$ )NrS   r0   ©r   r~   r€   r@   Úmessager   r�   rT   r±   rù   r²   r   Ú#rÈ   r~   )Ú_parse_body_as_jsonrb   r‚   rÍ   ÚrsplitrÒ   rU  )r   rf   r2   rS   rÏ   r@   Úresponse_coderÎ   s           r   r_   ÚBaseJSONParser._do_error_parse×  s  € Ø×'Ñ'¨°Ñ(8Ó9ˆØ&(°"Ñ5È2ÑNˆØ˜9Ñ%ˆð %)§H¡HØ�t—x‘x 	¨2Ó.ó%
ˆˆg‰�yÑ!ð
 !Ÿ™ ]Ó3ˆà�x‰x˜ -×"F´C¸Ó4FÓGˆØÑð �d‹{Ø—z‘z # qÓ)¨!Ñ,�Ø�d‹{Ø—{‘{ 3¨Ó*¨1Ñ-�Ø# wÓ.Ø×<Ñ<Ø 5ó�ð &*�'‰N˜6Ñ"Ø×&Ñ& u°yÑ.AÔBØˆr   c                 óB   • SU;   a  US   UR                  S0 5      S'   g g )Núx-amzn-requestidrV   rG  )Ú
setdefault)r   rg   r@   s      r   rU  Ú(BaseJSONParser._inject_response_metadataû  s0   € Ø Ó(ØELØ"ñFˆF×ÑÐ0°"Ó5°kÒBð )r   c                 ó¤   • U(       d  0 $ UR                  U R                  5      n [        R                  " U5      nU$ ! [         a    SU0s $ f = f)Nr‚  )ÚdecoderÖ   ÚjsonÚloadsÚ
ValueError)r   Úbody_contentsrS   Úoriginal_parseds       r   r„  Ú"BaseJSONParser._parse_body_as_json  sU   € ÞØˆIØ×#Ñ# D×$9Ñ$9Ó:ˆð	%Ü"Ÿjšj¨Ó.ˆOØ"Ð"øÜó 	%ð ˜tÐ$Ò$ð	%ús   ¦> ¾AÁAr    N)r&   r'   r(   r)   r  rí   r<  r0  r_   rU  r„  r*   r    r   r   rp  rp  ­  s&   † òò2ò(ò-ò"òHõ
%r   rp  c                   ó†   • \ rS rSrSrSr\S 5       rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rSrg)ÚBaseCBORParseri  é   éÿ   c           	      ó¸   • U R                   U R                  U R                  U R                  U R                  U R
                  U R                  U R                  S.$ )N)r   r²   rÊ   é   é   é   é   é   )Ú_parse_unsigned_integerÚ_parse_negative_integerÚ_parse_byte_stringÚ_parse_text_stringÚ_parse_arrayÚ
_parse_mapÚ
_parse_tagÚ_parse_simple_and_floatr   s    r   Ú major_type_to_parsing_method_mapÚ/BaseCBORParser.major_type_to_parsing_method_map  sR   € ð ×+Ñ+Ø×+Ñ+Ø×&Ñ&Ø×&Ñ&Ø× Ñ Ø�‰Ø�‰Ø×+Ñ+ñ	
ð 		
r   c                 óV   • [         R                  " [         R                  " U5      5      $ r   )ÚioÚBufferedReaderÚBytesIO)r   Úbytess     r   Úget_peekable_stream_from_bytesÚ-BaseCBORParser.get_peekable_stream_from_bytes  s   € Ü× Ò ¤§¢¨EÓ!2Ó3Ð3r   c                 ó¨   • U R                  US5      nUS-	  nUS-  nX0R                  ;   a  U R                  U   nU" X5      $ [        SU SU 35      e)Nr²   r›  r–  z8Unsupported inital byte found for data item- Major type:z, Additional info: )Ú_read_bytes_as_intr¦  r9   )r   ÚstreamÚinitial_byteÚ
major_typeÚadditional_infoÚmethods         r   Úparse_data_itemÚBaseCBORParser.parse_data_item"  sx   € ð ×.Ñ.¨v°qÓ9ˆà! QÑ&ˆ
ð '¨Ñ3ˆà×>Ñ>Ó>Ø×:Ñ:¸:ÑFˆFÙ˜&Ó2Ð2ä%ðØ(˜\Ð)<Ø"Ð#ð%óð r   c                 óp   • SSSSS.nUS:  a  U$ X#;   a  X2   nU R                  X5      $ [        SU 35      e)Nr²   rÊ   rš  é   )é   é   é   é   rº  zhInvalid CBOR integer returned from the service; unparsable additional info found for major type 0 or 1: )r°  r9   )r   r±  r´  Úadditional_info_to_num_bytesÚ	num_bytess        r   rž  Ú&BaseCBORParser._parse_unsigned_integer7  sd   € àØØØñ	(
Ð$ð ˜RÓØ"Ð"ØÓ<Ø4ÑEˆIØ×*Ñ*¨6Ó=Ð=ä%ð@Ø@OÐ?PðRóð r   c                 ó*   • SU R                  X5      -
  $ )Néÿÿÿÿ)rž  ©r   r±  r´  s      r   rŸ  Ú&BaseCBORParser._parse_negative_integerL  s   € Ø�D×0Ñ0°ÓIÑIÐIr   c                 óN  • X R                   :w  a"  U R                  X5      nU R                  X5      $ / n U R                  U5      (       a  OJU R	                  US5      nUS-  nU R                  X5      nUR                  U R                  X5      5        Ma  SR                  U5      $ )Nr²   r–  r   )ÚINDEFINITE_ITEM_ADDITIONAL_INFOrž  Ú_read_from_streamÚ_handle_break_coder°  r�   Újoin)r   r±  r´  ÚlengthÚchunksr²  s         r   r   Ú!BaseCBORParser._parse_byte_stringP  s¤   € Ø×BÑBÓBØ×1Ñ1°&ÓJˆFØ×)Ñ)¨&Ó9Ð9àˆFØØ×*Ñ*¨6×2Ñ2ØØ#×6Ñ6°v¸qÓA�Ø".°Ñ";�Ø×5Ñ5°fÓN�Ø—‘˜d×4Ñ4°VÓDÔEñ ð —8‘8˜FÓ#Ð#r   c                 óB   • U R                  X5      R                  S5      $ )Nr>   )r   r�  rÃ  s      r   r¡  Ú!BaseCBORParser._parse_text_string`  s   € Ø×&Ñ& vÓ?×FÑFÀwÓOÐOr   c                 óD  • X R                   :w  a;  U R                  X5      n[        U5       Vs/ s H  o@R                  U5      PM     sn$ / nU R	                  U5      (       d8  UR                  U R                  U5      5        U R	                  U5      (       d  M8  U$ s  snf r   )rÆ  rž  Úranger¶  rÈ  r�   )r   r±  r´  rÊ  Ú_r·   s         r   r¢  ÚBaseCBORParser._parse_arrayd  s‹   € Ø×BÑBÓBØ×1Ñ1°&ÓJˆFÜ:?À¼-ÓHº-°Q×(Ñ(¨Ö0¹-ÑHÐHàˆEØ×-Ñ-¨f×5Ñ5Ø—‘˜T×1Ñ1°&Ó9Ô:ð ×-Ñ-¨f×5Ó5àˆLùò Is   ®Bc                 ó  • 0 nX R                   :w  a6  U R                  X5      n[        U5       H  nU R                  X5        M     U$ U R	                  U5      (       d)  U R                  X5        U R	                  U5      (       d  M)  U$ r   )rÆ  rž  rÐ  Ú_parse_key_value_pairrÈ  )r   r±  r´  r·   rÊ  rÑ  s         r   r£  ÚBaseCBORParser._parse_mapo  s}   € ØˆØ×BÑBÓBØ×1Ñ1°&ÓJˆFÜ˜6–]�Ø×*Ñ*¨6Ö9ñ #àˆLð ×-Ñ-¨f×5Ñ5Ø×*Ñ*¨6Ô9ð ×-Ñ-¨f×5Ó5àˆLr   c                 óX   • U R                  U5      nU R                  U5      nUb  XBU'   g g r   )r¶  )r   r±  r·   rá   rP   s        r   rÔ  Ú$BaseCBORParser._parse_key_value_pair|  s4   € Ø×"Ñ" 6Ó*ˆØ×$Ñ$ VÓ,ˆØÑØ�#ŠJð r   c                 ó�   • U R                  X5      nU R                  U5      nUS:X  a  U R                  U5      $ [        SU 35      e)Nr²   z*Found CBOR tag not supported by botocore: )rž  r¶  Ú_parse_datetimer9   )r   r±  r´  r¿   rP   s        r   r¤  ÚBaseCBORParser._parse_tag„  sQ   € Ø×*Ñ*¨6ÓCˆØ×$Ñ$ VÓ,ˆØ�!‹8Ø×'Ñ'¨Ó.Ð.ä%Ø<¸S¸EÐBóð r   c                 óv   • [        U[        [        45      (       a  U R                  U5      $ [	        SU 35      e)Nz Unable to parse datetime value: )rc   r4  r+  rD   r9   rO   s     r   rÙ  ÚBaseCBORParser._parse_datetimeŽ  s;   € Ü�eœc¤5˜\×*Ñ*Ø×)Ñ)¨%Ó0Ð0ä%Ø2°5°'Ð:óð r   c                 ó²   • SSS S S.nX#;   a  X2   $ SSSS.nX$;   a.  XB   u  pV[         R                  " XPR                  X5      5      S   $ [        S	U S
35      e)NFT)é   é   é   é   )z>erÊ   )z>frš  )z>dr¹  )r»  r¼  r½  r   z0Invalid additional info found for major type 7: zI.  This indicates an unsupported simple type or an indefinite float value)ÚstructÚunpackrÇ  r9   )r   r±  r´  Úadditional_info_simple_valuesÚfloat_formatsÚfloat_formatr¿  s          r   r¥  Ú&BaseCBORParser._parse_simple_and_float™  s™   € ð ØØØñ	)
Ð%ð Ó;Ø0ÑAÐAð
 ØØñ
ˆð Ó+Ø&3Ñ&DÑ#ˆLÜ—=’=Ø×4Ñ4°VÓGóàñð ô "Ø>¸Ð>Oð PUð Vó
ð 	
r   c                 ó²   • [         R                  UR                  S5      S S S5      U R                  :X  a!  UR	                  S[
        R                  5        gg )Nr²   ÚbigT)r4  Ú
from_bytesÚpeekÚ
BREAK_CODEÚseekÚosÚSEEK_CUR)r   r±  s     r   rÈ  Ú!BaseCBORParser._handle_break_code»  sC   € Ü�>‰>˜&Ÿ+™+ a›.¨¨!Ð,¨eÓ4¸¿¹ÓGØ�K‰K˜œ2Ÿ;™;Ô'Øð Hr   c                 óP   • U R                  X5      n[        R                  US5      $ )Nré  )rÇ  r4  rê  )r   r±  r¿  Úbytes       r   r°  Ú!BaseCBORParser._read_bytes_as_intÀ  s#   € Ø×%Ñ% fÓ8ˆÜ�~‰~˜d EÓ*Ð*r   c                 ó\   • UR                  U5      n[        U5      U:w  a  [        S5      eU$ )NzgEnd of stream reached; this indicates a malformed CBOR response from the server or an issue in botocore)Úreadr¸   r9   )r   r±  r¿  rP   s       r   rÇ  Ú BaseCBORParser._read_from_streamÄ  s5   € Ø—‘˜IÓ&ˆÜˆu‹:˜Ó"Ü%ð$óð ð
 ˆr   r    N)r&   r'   r(   r)   rÆ  rì  r   r¦  r­  r¶  rž  rŸ  r   r¡  r¢  r£  rÔ  r¤  rÙ  r¥  rÈ  r°  rÇ  r*   r    r   r   r•  r•    sm   † Ø&(Ð#Ø€Jàñ

ó ð

ò4òò*ò*Jò$ò Pòòòòòò
òDò
+õr   r•  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚBaseEventStreamParseriÏ  c                 óT  • 0 nUR                   R                  S5      (       aK  US   R                  S5      nUR                  R                  U5      nU(       a  U R                  X5      X4'   U$ U R	                  XUR                  U5        U R                  XUR                  U5        U$ )NrU   r@   z:event-type)ra   rb   r¹   r`   Ú_parse_non_payload_attrsÚ_parse_payload)r   rf   r2   rs  Ú
event_typeÚevent_shapes         r   r`   ÚBaseEventStreamParser._do_parseÐ  sŸ   € ØˆØ×Ñ×"Ñ" =×1Ñ1Ø! )Ñ,×0Ñ0°Ó?ˆJØŸ-™-×+Ñ+¨JÓ7ˆKÞØ+/¯>©>Øó,�Ñ(ð Ðð	 ×)Ñ)Ø §¡°ôð ×Ñ °·±ÀÔMØÐr   c           	      ó`  • US   R                  S5      nUR                  R                  U5      nUbN  U R                  US   5      nU R                  XE5      nSUUR                  SUR                  SS5      5      S.0nU$ SUS   R                  S	S5      US   R                  S
S5      S.0nU$ )Nr@   z:exception-typerS   r�   r   r‚  r0   r}   z:error-codez:error-message)rb   r¹   Ú_initial_body_parser™   )r   rf   r2   Úexception_typeÚexception_shaper’  rS   rÏ   s           r   r_   Ú%BaseEventStreamParser._do_error_parseà  sÌ   € Ø! )Ñ,×0Ñ0Ð1BÓCˆØŸ-™-×+Ñ+¨NÓ;ˆØÑ&Ø"×6Ñ6°xÀÑ7GÓHˆOØ×$Ñ$ _ÓFˆDàØ*Ø#Ÿx™x¨	°4·8±8¸IÀrÓ3JÓKñðˆEð ˆð Ø$ YÑ/×3Ñ3°MÀ2ÓFØ'¨	Ñ2×6Ñ6Ð7GÈÓLñðˆEð ˆr   c                 óä  • UR                   R                  S5      (       aÐ  U H“  nX5   nUR                   R                  S5      (       d  M)  US   nUR                  S:X  a  UnONUR                  S:X  a  UR                  U R                  5      nO"U R                  U5      n	U R                  Xi5      nX„U'     g    U R                  US   5      n
U R                  X*5      nUR                  U5        g g )NÚeventÚeventpayloadrS   ÚblobÚstring)ra   rb   r•   r�  rÖ   r   r™   r   )r   rf   r2   rt  rs  r¨   rž   rS   Úparsed_bodyÚ	raw_parser’  Úbody_parseds               r   rû  Ú$BaseEventStreamParser._parse_payloadõ  së   € Ø×Ñ×"Ñ" 7×+Ñ+Û%�Ø,Ñ2�Ø×-Ñ-×1Ñ1°.×AÓAØ# FÑ+�DØ#×-Ñ-°Ó7Ø&*™Ø%×/Ñ/°8Ó;Ø&*§k¡k°$×2GÑ2GÓ&H™à$(×$<Ñ$<¸TÓ$B˜	Ø&*×&7Ñ&7Ø(ó'˜ð *5 Ñ&Ùñ &ð  #×6Ñ6°xÀÑ7GÓHˆOØ×+Ñ+¨EÓCˆKØ×Ñ Õ,ð' ,r   c                 óÒ   • US   nU H\  nX6   nUR                   R                  S5      (       d  M)  Xe;   d  M0  XV   nUR                  S:X  a  U R                  US-  5      nX„U'   M^     g )Nr@   r÷   Ú	timestampg     @�@)ra   rb   r•   rD   )	r   rf   r2   rt  rs  r@   r¨   rž   rP   s	            r   rú  Ú.BaseEventStreamParser._parse_non_payload_attrs  so   € ð ˜9Ñ%ˆÛ!ˆDØ(Ñ.ˆLØ×)Ñ)×-Ñ-¨m×<Ó<Ø•?Ø#™M�EØ#×-Ñ-°Ó<ð !%× 6Ñ 6°u¸v±~Ó F˜Ø). Ó&ò "r   c                 ó   • [        S5      e©Nr   ©rŠ   ©r   r‘  s     r   r   Ú)BaseEventStreamParser._initial_body_parse  ó   € ô
 "Ð"7Ó8Ð8r   r    N)
r&   r'   r(   r)   r`   r_   rû  rú  r   r*   r    r   r   rø  rø  Ï  s   † òò ò*-ò,/õ9r   rø  c                   ó   • \ rS rSrS rSrg)ÚEventStreamJSONParseri"  c                 ó$   • U R                  U5      $ r   ©r„  r  s     r   r   Ú)EventStreamJSONParser._initial_body_parse#  ó   € Ø×'Ñ'¨Ó6Ð6r   r    N©r&   r'   r(   r)   r   r*   r    r   r   r  r  "  s   † õ7r   r  c                   ó   • \ rS rSrS rSrg)ÚEventStreamXMLParseri'  c                 ó^   • U(       d  [         R                  " S5      $ U R                  U5      $ rð   ©r   ÚElementr  ©r   r  s     r   r   Ú(EventStreamXMLParser._initial_body_parse(  ó%   € ÞÜ—=’= Ó$Ð$Ø×,Ñ,¨ZÓ8Ð8r   r    Nr  r    r   r   r  r  '  s   † õ9r   r  c                   ó   • \ rS rSrS rSrg)ÚEventStreamCBORParseri.  c                 óR   • US:X  a  0 $ U R                  U R                  U5      5      $ ©Nr   )r¶  r­  r  s     r   r   Ú)EventStreamCBORParser._initial_body_parse/  s0   € Ø˜CÓØˆIØ×#Ñ#Ø×/Ñ/°Ó>ó
ð 	
r   r    Nr  r    r   r   r&  r&  .  s   † õ
r   r&  c                   ó2   • \ rS rSr\r S rS rS rS r	Sr
g)Ú
JSONParseri7  c                 ó®   • 0 nUb;  UR                   nU(       a  U R                  XU5      nOU R                  US   U5      nU R                  X1S   5        U$ )NrS   r@   )Úevent_stream_nameÚ_handle_event_streamÚ_handle_json_bodyrU  )r   rf   r2   rg   Ú
event_names        r   r`   ÚJSONParser._do_parse<  s\   € ØˆØÑØ×0Ñ0ˆJÞØ×2Ñ2°8ÀJÓO‘à×/Ñ/°¸Ñ0@À%ÓH�Ø×&Ñ& v¸	Ñ/BÔCØˆr   c                 ó,   • U R                  US   U5      $ ©NrS   )r/  rŒ   s      r   r^   Ú"JSONParser._do_modeled_error_parseG  s   € Ø×%Ñ% h¨vÑ&6¸Ó>Ð>r   c                 óÞ   • UR                   U   nU R                  X5      n UR                  5       nU R                  UR                  U5      nXXU'   U$ ! [         a    Sn[	        U5      ef = f©Nz,First event was not of type initial-response)r¹   r©   Úget_initial_responser   r9   r/  Úpayload©	r   rf   r2   r0  Úevent_stream_shapeÚevent_streamr  r¾   rg   s	            r   r.  ÚJSONParser._handle_event_streamJ  sz   € Ø"Ÿ]™]¨:Ñ6ÐØ×0Ñ0°ÓNˆð	1Ø ×5Ñ5Ó7ˆEð ×'Ñ'¨¯©°uÓ=ˆØ)ˆzÑØˆøô &ó 	1ØFˆIÜ% iÓ0Ð0ð	1ús   ¢A ÁA,c                 óF   • U R                  U5      nU R                  X#5      $ r   )r„  r™   )r   Úraw_bodyr2   Úparsed_jsons       r   r/  ÚJSONParser._handle_json_bodyV  s%   € ð ×.Ñ.¨xÓ8ˆØ× Ñ  Ó4Ð4r   r    N)r&   r'   r(   r)   r  rH   r`   r^   r.  r/  r*   r    r   r   r+  r+  7  s   † Ø3Ðà2ò	ò?ò
õ5r   r+  c                   ó^   ^ • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rU 4S jrSrU =r$ )ÚBaseRestParseri^  c                 óV   • 0 nU R                  U5      US'   U R                  XU5        U$ r^  )Ú_populate_response_metadataÚ_add_modeled_parse©r   rf   r2   rs  s       r   r`   ÚBaseRestParser._do_parse_  s8   € ØˆØ+/×+KÑ+KØó,
ˆÐ'Ñ(ð 	×Ñ °Ô>ØÐr   c                 ón   • Uc  U$ UR                   nU R                  XXC5        U R                  XXC5        g r   )r¹   rú  rû  )r   rf   r2   rs  rt  s        r   rE  Ú!BaseRestParser._add_modeled_parseg  s;   € Ø‰=ØÐØŸ™ˆØ×%Ñ%Ø˜]ô	
ð 	×Ñ˜H¨]ÕIr   c                 ó.   • 0 nU R                  XU5        U$ r   ©rE  rF  s       r   r^   Ú&BaseRestParser._do_modeled_error_parsep  ó   € ØˆØ×Ñ °Ô>ØÐr   c                 óz   • 0 nUS   nSU;   a
  US   US'   U$ SU;   a  US   US'   UR                  SS5      US'   U$ )Nr@   r‰  rG  úx-amz-request-idú
x-amz-id-2r0   ÚHostIdrp   ©r   rf   rv   r@   s       r   rD  Ú*BaseRestParser._populate_response_metadatau  sf   € ØˆØ˜9Ñ%ˆØ Ó(Ø$+Ð,>Ñ$?ˆH�[Ñ!ð ˆð   7Ó*Ø$+Ð,>Ñ$?ˆH�[Ñ!ð ")§¡¨\¸2Ó!>ˆH�XÑØˆr   c                 ó  • SUR                   ;   a»  UR                   S   nX5   nUR                   R                  S5      (       a  U R                  X5      nXtU'   g UR                  S;   a:  US   n[	        U[
        5      (       a  UR                  U R                  5      nXtU'   g U R                  US   5      nU R                  Xh5      XE'   g U R                  US   5      nU R                  X(5      n	UR                  U	5        g )Nr8  rU   )r  r  rS   )ra   rb   r©   r•   rc   r¬  r�  rÖ   r   r™   r   )
r   rf   r2   rt  rs  Úpayload_member_nameÚ
body_shaperS   r’  r  s
             r   rû  ÚBaseRestParser._parse_payload‚  sþ   € Ø˜×+Ñ+Ó+ð #(×"5Ñ"5°iÑ"@ÐØ&Ñ;ˆJØ×'Ñ'×+Ñ+¨M×:Ñ:Ø×0Ñ0°ÓF�Ø48Ð0Ò1Ø×%Ñ%Ð);Ó;à Ñ'�Ü˜d¤E×*Ñ*ØŸ;™; t×'<Ñ'<Ó=�DØ48Ð0Ò1à"&×":Ñ":¸8ÀFÑ;KÓ"L�Ø48×4EÑ4EØó5�Ò1ð #×6Ñ6°xÀÑ7GÓHˆOØ×+Ñ+¨EÓCˆKØ×Ñ Õ,r   c                 ó\  • US   nU H¡  nX6   nUR                   R                  S5      nUc  M'  US:X  a  U R                  XqS   5      XF'   ME  US:X  a  U R                  Xu5      XF'   M`  US:X  d  Mh  UR                   R                  SU5      n	X•;   d  M‹  U R                  XuU	   5      XF'   M£     g )Nr@   rö   rA   rT   r?   r¨   )ra   rb   r™   Ú_parse_header_map)
r   rf   r2   rt  rs  r@   r¨   rž   rö   Úheader_names
             r   rú  Ú'BaseRestParser._parse_non_payload_attrs›  sÅ   € ð ˜9Ñ%ˆÛ!ˆDØ(Ñ.ˆLØ#×1Ñ1×5Ñ5°jÓAˆHØÑÙØ˜\Ó)Ø%)×%6Ñ%6Ø ¨=Ñ"9ó&�Ó"ð ˜YÓ&Ø%)×%;Ñ%;Ø ó&�Ó"ð ˜XÕ%Ø*×8Ñ8×<Ñ<¸VÀTÓJ�ØÕ)Ø)-×):Ñ):Ø$¨kÑ&:ó*�LÓ&ò! "r   c                 óä   • 0 nUR                   R                  SS5      R                  5       nU H=  nUR                  5       R                  U5      (       d  M)  U[	        U5      S  nX%   X6'   M?     U$ )Nr¨   r0   )ra   rb   Úlowerrz   r¸   )r   r2   r@   rg   ÚprefixrZ  r¨   s          r   rY  Ú BaseRestParser._parse_header_map³  sq   € ð ˆØ×$Ñ$×(Ñ(¨°Ó4×:Ñ:Ó<ˆÛ"ˆKØ× Ñ Ó"×-Ñ-¨f×5Ó5ð #¤3 v£; =Ð1�Ø&Ñ3�“ñ #ð ˆr   c                 ó   • [        S5      er  r  r  s     r   r   Ú"BaseRestParser._initial_body_parseÀ  r  r   c                 ó´   • Un[        U5      (       aE  [        R                  " U5      R                  U R                  5      n[
        R                  " U5      nU$ r   )r	   rM   rN   r�  rÖ   rŽ  r�  )r   r2   rP   rg   Údecodeds        r   r8  ÚBaseRestParser._handle_stringÇ  sF   € ØˆÜ ×&Ñ&Ü×&Ò& uÓ-×4Ñ4°T×5JÑ5JÓKˆGÜ—Z’Z Ó(ˆFØˆr   c                 óô   >• UR                   R                  S5      nUS:X  aC  [        U[        5      (       d.  UR	                  S5       Vs/ s H  oDR                  5       PM     nn[        TU ]  X5      $ s  snf )Nrö   r?   Ú,)ra   rb   rc   r­   rÍ   ry   rÛ   r    )r   r2   r—   rö   r  r‹   s        €r   r    ÚBaseRestParser._handle_listÎ  sb   ø€ Ø×&Ñ&×*Ñ*¨:Ó6ˆØ�xÓ¬
°4¼×(>Ñ(>à'+§z¡z°#¤Ó7¢ !—G‘G–I¡ˆDÐ7Ü‰wÑ# EÓ0Ð0ùò 8s   ÁA5r    )r&   r'   r(   r)   r`   rE  r^   rD  rû  rú  rY  r   r8  r    r*   rA  rB  s   @r   rB  rB  ^  s;   ø† òòJòò
ò-ò2ò0ò9ò÷1ó 1r   rB  c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚBaseRpcV2ParseriÖ  c                 ó¬   • 0 nUbN  UR                   nU(       a  U R                  XU5      nO0 nU R                  XU5        U R                  U5      US'   U$ r^  )r-  r.  rû  rD  )r   rf   r2   rg   r-  s        r   r`   ÚBaseRpcV2Parser._do_parse×  si   € ØˆØÑØ %× 7Ñ 7ÐÞ Ø×2Ñ2ØÐ%6ó‘ð �Ø×#Ñ# H°VÔ<Ø)-×)IÑ)IØó*ˆFÐ%Ñ&ð ˆr   c                 ó2   • Uc  U$ U R                  XU5        g r   )rû  rF  s       r   rE  Ú"BaseRpcV2Parser._add_modeled_parseç  s   € Ø‰=ØÐØ×Ñ˜H¨\Õ:r   c                 ó.   • 0 nU R                  XU5        U$ r   rK  rF  s       r   r^   Ú'BaseRpcV2Parser._do_modeled_error_parseì  rM  r   c                 ó0   • 0 nUS   nSU;   a  US   US'   U$ )Nr@   r‰  rG  r    rR  s       r   rD  Ú+BaseRpcV2Parser._populate_response_metadatañ  s.   € ØˆØ˜9Ñ%ˆØ Ó(Ø$+Ð,>Ñ$?ˆH�[Ñ!Øˆr   c                 ó¢  • 0 nUR                   nUR                  (       as  UR                  5       nUR                  SS 5        UR	                  5        VVs0 s H  u  pgUc  M
  Xg_M     nnn[        U5      S:w  a  Sn[        X�R                  -  5      eU H0  n	XI   n
UR                  U	5      nUc  M  U R                  X«5      X9'   M2     U$ s  snnf )Nr±   r²   r³   )
r¹   r´   rµ   r¶   r·   r¸   r9   r¨   rb   r™   )r   r2   r—   rg   r¹   r»   r¼   r½   r¾   rÿ   rž   r  s               r   r  Ú!BaseRpcV2Parser._handle_structureø  s×   € ØˆØ—-‘-ˆØ× × Ø ŸI™I›KˆMØ×Ñ˜h¨Ô-à!.×!4Ñ!4Ô!6ôÚ!6™˜¸!“�’Ñ!6ð ñ ô �=Ó! QÓ&ð&ð ô *¨)·j±jÑ*@ÓAÐAÛ"ˆKØ"Ñ/ˆLØŸ(™( ;Ó/ˆKØÓ&Ø&*×&7Ñ&7Ø ó'�Ó#ñ	 #ð ˆùó!s   Á	CÁ"Cc                 óp   • U R                  US   5      nU R                  X$5      nUR                  U5        g r3  )r   r™   r   )r   rf   r2   rs  r’  r  s         r   rû  ÚBaseRpcV2Parser._parse_payload  s5   € Ø×2Ñ2°8¸FÑ3CÓDˆØ×'Ñ'¨Ó?ˆØ×Ñ˜KÕ(r   c                 ó   • [        S5      er  r  r  s     r   r   Ú#BaseRpcV2Parser._initial_body_parse  r  r   r    N)r&   r'   r(   r)   r`   rE  r^   rD  r  rû  r   r*   r    r   r   ri  ri  Ö  s%   † òò ;ò
ò
òò0)õ
9r   ri  c                   óR   ^ • \ rS rSr\rS rU 4S jrS rS r	S r
S r\
r\rSrU =r$ )	ÚRestJSONParseri  c                 ó$   • U R                  U5      $ r   r  r  s     r   r   Ú"RestJSONParser._initial_body_parse   r  r   c                 óH   >• [         TU ]  X5      nU R                  X15        U$ r   )rÛ   r_   Ú_inject_error_code)r   rf   r2   rÏ   r‹   s       €r   r_   ÚRestJSONParser._do_error_parse#  s%   ø€ Ü‘Ñ'¨Ó8ˆØ×Ñ Ô0Øˆr   c                 ó@  • U R                  US   5      nS nSUS   ;   a	  US   S   nO.SU;   d  SU;   a"  UR                  SUR                  SS5      5      nUc  g [        U[        5      (       a(  UR	                  SS5      S	   R                  S
S5      S   nXAS   S'   g )NrS   zx-amzn-errortyper@   rÎ   r~   r0   rù   r²   r   rƒ  rÂ  r�   )r   rb   rc   r‚   rÍ   r…  )r   rÏ   rf   rS   rÎ   s        r   r}  Ú!RestJSONParser._inject_error_code(  s«   € ð ×'Ñ'¨°Ñ(8Ó9ˆØˆØ ¨)Ñ!4Ó4Ø˜IÑ&Ð'9Ñ:‰DØ�t‹^˜v¨›~Ø—8‘8˜F D§H¡H¨V°RÓ$8Ó9ˆDØ‰<ØÜ�dœC× Ñ Ø—:‘:˜c 1Ó% aÑ(×/Ñ/°°QÓ7¸Ñ;ˆDØ!%ˆg‰�vÒr   c                 ó   • [        U5      $ r   )r   r£   s      r   r'  ÚRestJSONParser._handle_boolean7  s   € Ü˜eÓ$Ð$r   c                 ó   • [        U5      $ r   r3  r£   s      r   r5  ÚRestJSONParser._handle_integer:  s   € Ü�5‹zÐr   c                 ó   • [        U5      $ r   r*  r£   s      r   r,  ÚRestJSONParser._handle_float=  s   € Ü�U‹|Ðr   r    )r&   r'   r(   r)   r  rH   r   r_   r}  r'  r5  r,  r@  r?  r*   rA  rB  s   @r   ry  ry    s3   ø† Ø3Ðò7õò
&ò%òòð #€LØ"†Nr   ry  c                   ó*   • \ rS rSr\rS rS rS rSr	g)ÚRpcV2CBORParseriD  c                 óV   • US:X  a  U$ U R                  U5      nU R                  U5      $ r(  )r­  r¶  )r   r‘  Úbody_contents_streams      r   r   Ú#RpcV2CBORParser._initial_body_parseG  s8   € Ø˜CÓØ Ð Ø#×BÑBØó 
Ðð ×#Ñ#Ð$8Ó9Ð9r   c                 óÚ  • U R                  US   5      nUR                  SUR                  SS5      5      SS.0 S.nUS   nUR                  S5      nUc  UR                  S	5      nUb  [        U5      nUbU  S
U;   a  UR                  S
S5      S   nSU;   a  UR	                  SS5      S   nSU;   a  U R                  XeU5      nXdS   S'   SU;   a  US   UR                  S0 5      S'   U$ )NrS   r‚  r   r0   r�  r€   r@   r±   rT   rù   r²   r   rƒ  rÈ   r�   r~   r‰  rV   rG  )r   rb   r‚   rÍ   r…  rÒ   rŠ  )r   rf   r2   rS   rÏ   r@   rÎ   r†  s           r   r_   ÚRpcV2CBORParser._do_error_parseO  s  € Ø×'Ñ'¨°Ñ(8Ó9ˆð  Ÿ8™8 I¨t¯x©x¸	À2Ó/FÓGØñð !#ñ
ˆð ˜9Ñ%ˆà�x‰x˜Ó!ˆØ‰<Ø$ŸL™L¨Ó7ˆMØÑ(Ü˜=Ó)�ØÑØ�d‹{Ø—z‘z # qÓ)¨!Ñ,�Ø�d‹{Ø—{‘{ 3¨Ó*¨1Ñ-�Ø# wÓ.Ø×<Ñ<Ø 5ó�ð &*�'‰N˜6Ñ"Ø Ó(ØDKØ"ñEˆE×ÑÐ/°Ó4°[ÑAð ˆr   c                 óÜ   • UR                   U   nU R                  X5      n UR                  5       nU R                  UR                  5      nXXU'   U$ ! [         a    Sn[	        U5      ef = fr6  )r¹   r©   r7  r   r9   r   r8  r9  s	            r   r.  Ú$RpcV2CBORParser._handle_event_streamo  sx   € Ø"Ÿ]™]¨:Ñ6ÐØ×0Ñ0°ÓNˆð	1Ø ×5Ñ5Ó7ˆEð ×)Ñ)¨%¯-©-Ó8ˆØ)ˆzÑØˆøô &ó 	1ØFˆIÜ% iÓ0Ð0ð	1ús   ¢A ÁA+r    N)
r&   r'   r(   r)   r&  rH   r   r_   r.  r*   r    r   r   rˆ  rˆ  D  s   † Ø3Ðò:òõ@
r   rˆ  c                   óN   ^ • \ rS rSr\rS rS rS rS r	\
U 4S j5       rSrU =r$ )ÚRestXMLParseri|  c                 ó^   • U(       d  [         R                  " S5      $ U R                  U5      $ rð   r   r"  s     r   r   Ú!RestXMLParser._initial_body_parse  r$  r   c                 ó¤   • US   (       a   U R                  U5      $ U R	                  U5      $ ! [         a    [        R                  SSS9   N1f = f)NrS   z2Exception caught when parsing error response body:T)Úexc_info)Ú_parse_error_from_bodyr9   rY   rZ   Ú_parse_error_from_http_statusrŒ   s      r   r_   ÚRestXMLParser._do_error_parse„  s]   € ð �F×ðØ×2Ñ2°8Ó<Ð<ð ×1Ñ1°(Ó;Ð;øô 'ó Ü—	‘	ØHØ!ð ó ðús   Œ. ®AÁAc                 óÒ   • [        US   5      [        R                  R                  R	                  US   S5      S.US   R	                  SS5      US   R	                  SS5      S.S.$ )	NrT   r0   r}   r@   rO  rP  )rG  rQ  r€   )r‚   rƒ   r„   r…   rb   r†   s     r   r—  Ú+RestXMLParser._parse_error_from_http_statusŸ  st   € ô ˜H ]Ñ3Ó4ÜŸ;™;×0Ñ0×4Ñ4Ø˜]Ñ+¨Róñð & iÑ0×4Ñ4Ð5GÈÓLØ" 9Ñ-×1Ñ1°,ÀÓCñ!ñ
ð 	
r   c                 ód  • US   nU R                  U5      nU R                  U5      nU R                  U5        UR                  S:X  a9  U R	                  U5      nUR                  SS5        UR                  SS5        XES.$ SU;   a  SUR                  S5      0US'   SSSS.0n[        Xd5        U$ )	NrS   r�   rG  r0   rQ  r€   rV   r�  )r  rû   r!  r¿   rD  r¶   r   )r   rf   rH  r  rg   rv   Údefaults          r   r–  Ú$RestXMLParser._parse_error_from_body­  s¼   € Ø Ñ'ˆØ×,Ñ,¨\Ó:ˆØ×-Ñ-¨dÓ3ˆØ×Ñ˜FÔ#Ø�8‰8�wÓð ×7Ñ7¸ÓAˆHð
 �J‰J�{ BÔ'Ø�J‰J�x Ô$Ø#ÑBÐBØ˜FÓ"à*5°v·z±zÀ+Ó7NÐ)OˆFÐ%Ñ&Ø¨°BÑ7Ð8ˆÜ�GÔ$Øˆr   c                 ó&   >• [         TU ]  X5      nU$ r   )rÛ   r8  )r   r2   r/   r‹   s      €r   r8  ÚRestXMLParser._handle_stringÄ  s   ø€ ä‰wÑ% eÓ2ˆØˆr   r    )r&   r'   r(   r)   r  rH   r   r_   r—  r–  r7   r8  r*   rA  rB  s   @r   r‘  r‘  |  s1   ø† Ø2Ðò9ò
<ò6
òð. ôó ör   r‘  )Úec2ÚqueryrŽ  z	rest-jsonzrest-xmlzsmithy-rpc-v2-cbor)1rÕ   rM   Úhttp.clientrƒ   r©  rŽ  Úloggingrî  rÜ   râ  Úbotocore.compatr   r   Úbotocore.eventstreamr   r   Úbotocore.utilsr   r   r	   r
   r   r   Ú	getLoggerr&   rY   rC   r   r$   r7   Ú	Exceptionr9   r<   rÙ   rD  rd  rp  r•  rø  r  r  r&  r+  rB  ri  ry  rˆ  r‘  r!   r    r   r   Ú<module>r©     sw  ðñkóZ Û Û 	Û Û Û 	Û 	Û ç 0ß D÷÷ ð ×Ò˜Ó!€à*Ð ÷,ñ ,ò*;òô*	˜)ô 	÷\ñ \ô~n#˜Nô n#ôb1:Ð'ô 1:ôh!�[ô !ôH^%�^ô ^%ôB~�^ô ~ôBP9˜Nô P9ôf7Ð1°>ô 7ô
9Ð0Ð2Gô 9ô
Ð1°>ô 
ô$5�ô $5ôNu1�^ô u1ôpD9�nô D9ôN$#�^ ^ô $#ôN5�o ~ô 5ôpK�NÐ$9ô Kð^ ØØØØØ)ñÑ r   