ó
    Ú°›jê ã            	       ó  • 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J	r	  SSK
r
SSKr
SSK
JrJrJr  SSKJr  SSKJrJrJrJrJrJrJrJrJrJrJrJr  SSKJrJ r J!r!J"r"  SSK#J$r$  SS	K%J&r&J'r'J(r(J)r)  SS
K*J+r+  SSK,J-r-  SSK.J/r/J0r0J1r1J2r2  SSK3J4r4  SSK5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=  \R|                  " \?5      r@\A" 5       rB\A" 5       rC\Rˆ                  " S5      rESrFSrG\Rˆ                  " SR‘                  \F\G/5      5      rISrJ\Rˆ                  " S5      rKS rLS rMS rNS rOS rPS rQS rRS rSS rTS rUS rVS  rWS! rXS" rYS# rZS$ r[SçS% jr\S& r]S' r^S( r_ " S) S*5      r`S+ raS, rbS- rcS. rdS/ reS0 rfS1 rgS2 rhS3 riS4 rjS5 rkS6 rlS7 rmS8 rnS9 roS: rpS; rqS< rrS= rsS> rtS? ruS@ rvSA rwSB rxSC rySD rzSE r{SF r|SG r}SH r~SI r " SJ SK5      r€ " SL SM5      r� " SN SO5      r‚SP rƒSQ r„SR r…SS r†ST r‡SU rˆSV r‰SW rŠSX r‹SY rŒSZ r�S[ rŽS\ r�S] r�S^ r‘S_ r’S` r“Sa r”Sb r•Sc r–Sd r—Se r˜Sf r™Sg ršSh r›/ Si\L4PSj\�" Sk5      4PSl\�" Sm5      4PSn\�" So5      4PSp\�" Sq5      4PSr\�" Ss5      4PSt\�" Su5      4PSv\~\C4PSw\~\C4PSx\24PSy\14PSz\w4PS{\„4PS|\…4PS}\†4PS~\‡4PS\ˆ4PS€\‰4PS�\i4PS‚\!" SƒS„SS…S†9GR8                  4PS‡\U4PSˆ\X4PS‰\k4PSŠ\R4PS‹\�4PS‹\“\B4PSŒ\•4PS�\V4PS�\—4PSŽ\Y4PSŽ\‹4PS�\y4PS�\y4PS‘\y4PS’\b4PS“\b4PS’\n4PSw\n4PS”\n4PS•\Œ4PS–\a4PS—\a4PS˜\’4PS™\’4PSš\Ž4PS›\M4PSœ\_4PS�\q4PSž\r4PSŸ\N4PS \N4PS¡\s4PS¢\s4PS£\g4PS¤\Š4PS¥\v4PS¦\–\B4PS§\^4PS¨\^4PS©\^4PSª\^4PS«\^4PS¬\^4PS­\Q4PS­\™4PS®\Z4PS¯\Z4PSw\Z4PS’\Z4PS’\[4PS”\Z4PSv\Z4PS“\Z4PS“\[4PS°\Z4PS±\Z4PS²\l4PS³\l4PS´\o4PSµ\p4PS¶\�4PS¶\˜4PS·\�4PS¸\z4PS¹\{4PSº\|4PS»\x4PS¼\ " S½S¾5      GR:                  4PS¿\ " SÀ5      GR:                  4PSÁ\ " SÀ5      GR:                  4PSÂ\t" 5       4PSÃ\u4PSÄ\m" SÅ5      4PSÆ\m" SÅ5      4PSÇ\ " SÈ5      GR:                  4PSÇ\ " SÉ5      GR:                  4PSÊ\ " SË5      GR:                  4PSÊ\ " SÌ5      GR:                  4PSÍ\m" SÎ5      4PSÊ\"" SÏSÐ/ SÑQ5      GR<                  4PSÒ\/4PSÓ\04PSÔ\h4PSÕ\h4PSÖ\h4PS×\h4PSØ\h4PSÙ\ " SÚ5      GR:                  4PSÛ\ " SÚ5      GR:                  4PSÜ\ " SÚ5      GR:                  4PSÝ\ " SÚ5      GR:                  4PSÞ\ " SÚ5      GR:                  4PSß\h4PSà\h4PSá\ " SÚ5      GR:                  4PSâ\ " SÚ5      GR:                  4PSã\h4PSä\h4PSå\ " SÚ5      GR:                  4PSæ\ " SÚ5      GR:                  4PS›\ƒ4PrŸ\" \Ÿ5        g)èz_Builtin event handlers.

This module contains builtin handlers for events emitted by botocore.
é    N)ÚBytesIO)ÚretryhandlerÚ	translateÚutils)ÚClientConfigString)ÚMD5_AVAILABLEÚETreeÚOrderedDictÚXMLParseErrorÚensure_bytesÚget_md5ÚjsonÚquoteÚunquoteÚunquote_strÚurlsplitÚ
urlunsplit)ÚAppendParamDocumentationÚAutoPopulatedParamÚDocumentModifiedShapeÚHideParamFromOperations)ÚVALID_HOST_LABEL_RE)ÚAliasConflictParameterErrorÚMissingServiceIdErrorÚParamValidationErrorÚUnsupportedTLSVersionWarning)ÚEndpointResolverBuiltins©ÚTIMESTAMP_PRECISION_MILLISECOND)Ú'add_dsql_generate_db_auth_token_methodsÚadd_generate_db_auth_tokenÚadd_generate_presigned_postÚadd_generate_presigned_url)Úregister_feature_id)Ú
SAFE_CHARSÚSERVICE_NAME_ALIASESÚ	ArnParserÚget_token_from_environmentÚhyphenize_service_idÚis_global_accesspointÚpercent_encodeÚswitch_host_with_paramz^[a-zA-Z0-9.\-_]{1,255}$z]^arn:(aws).*:(s3|s3-object-lambda):[a-z\-0-9]*:[0-9]{12}:accesspoint[/:][a-zA-Z0-9\-.]{1,63}$zt^arn:(aws).*:s3-outposts:[a-z\-0-9]+:[0-9]{12}:outpost[/:][a-zA-Z0-9\-]{1,63}[/:]accesspoint[/:][a-zA-Z0-9\-]{1,63}$Ú|)Ús3zs3-outpostszs3-object-lambdaÚ	s3expressz\?versionId=[^\s]+$c                 ó.   • [         R                  " X 5      $ ©N)r&   Úget)Úservice_nameÚkwargss     ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/handlers.pyÚhandle_service_name_aliasr6   l   s   € Ü×#Ò# LÓ?Ð?ó    c                 óº   • S[         R                  ;   n[         R                  R                  S5      nU(       a"  U(       a  U S   nSU;  a  [        USS9US'   g g g g )NÚAWS_LAMBDA_FUNCTION_NAMEÚ_X_AMZN_TRACE_IDÚheaderszX-Amzn-Trace-Idz-=;:+&[]{}"',©Úsafe)ÚosÚenvironr2   r   )Úparamsr4   Úhas_lambda_nameÚtrace_idr;   s        r5   Úadd_recursion_detection_headerrC   p   sY   € Ø0´B·J±JÑ>€OÜ�z‰z�~‰~Ð0Ó1€HÞž8Ø˜Ñ#ˆØ GÓ+Ü).¨xÐ>NÑ)OˆGÐ%Ò&ð ,ð $€r7   c                 óv   • U S   nSU;   a  UR                  SS5      nSU;   a  UR                  SS5      nX S'   g )NÚbodyó   s   &#xD;ó   
s   &#xA;)Úreplace)r@   r4   rE   s      r5   Úescape_xml_payloadrI   y   sB   € ð �&‰>€DØ�ƒ}Ø�|‰|˜E 8Ó,ˆØ�ƒ}Ø�|‰|˜E 8Ó,ˆàˆ6‚Nr7   c                 óš   • U c  gU u  p#[        UR                  UR                  5      (       a  [        R	                  SU5        SUl        gg)zKThis function has been deprecated, but is kept for backwards compatibility.NzWError found for response with 200 status code, errors: %s, changing status code to 500.éô  )Ú_looks_like_special_case_errorÚstatus_codeÚcontentÚloggerÚdebug)Úresponser4   Úhttp_responseÚparseds       r5   Úcheck_for_200_errorrT   ‰   s\   € ð" Ñð 	Ø$Ñ€MÜ%Ø×!Ñ! =×#8Ñ#8÷ñ ô 	�‰ðð ô		
ð %(ˆÕ!ðr7   c                 óô   • U S:X  ab  U(       a[   [         R                  " [         R                  " 5       SS9nUR                  U5        UR	                  5       nUR                  S:X  a  gg! [
         a     gf = f)NéÈ   úutf-8©ÚtargetÚencodingTÚErrorF)r	   Ú	XMLParserÚTreeBuilderÚfeedÚcloser   Útag)rM   rE   ÚparserÚroots       r5   rL   rL   «   sp   € Ø�cÓždð
	Ü—_’_Ü×(Ò(Ó*°WñˆFð �K‰K˜ÔØ—<‘<“>ˆDð �8‰8�wÓØØøô ó 	ñ ð		ús   �A	A* Á*
A7Á6A7c                 ó<  • U R                  S5      nU(       d  gUS:X  a  [        R                  $ US:X  a  gU R                  S5      (       d  US:X  a  SU S'   UR                  S	5      (       a/  US
:X  a  U$ US:X  a  [	        X5        SnOS	nU[
        ;   a  SU 3nU$ g)a  Choose the operation-specific signer.

Individual operations may have a different auth type than the service as a
whole. This will most often manifest as operations that should not be
authenticated at all, but can include other auth modes such as sigv4
without body signing.
Ú	auth_typeNÚnoneÚbearerÚunsigned_payloadzv4-unsigned-bodyFÚpayload_signing_enabledÚv4zv4-s3expressÚv4ar.   )r2   ÚbotocoreÚUNSIGNEDÚ
startswithÚ_set_sigv4a_signing_contextÚS3_SIGNING_NAMES)ÚcontextÚsigning_namer4   rd   Úsignature_versions        r5   Úset_operation_specific_signerrs   ½   sÀ   € ð —‘˜KÓ(€Iö Øð �FÓÜ× Ñ Ð à�HÓØð ‡{�{Ð%×&Ñ&¨)Ð7IÓ*IØ-2ˆÐ)Ñ*à×Ñ˜D×!Ñ!Ø˜Ó&ØÐà˜ÓÜ'¨Ô>Ø %Ñà $Ðð Ô+Ó+Ø"$Ð%6Ð$7Ð 8Ðà Ð ð "r7   c                 ór   • U R                  S0 5      nU(       d  gUR                  S5      =n(       a  XAS'   gg)a­  
Ensures backward compatibility for SQS errors.

SQS's migration from the Query protocol to JSON was done prior to SDKs allowing a
service to support multiple protocols.  Because of this, SQS is missing the "error"
key from its modeled exceptions, which is used by most query compatible services
to map error codes to the proper exception.  Instead, SQS uses the error's shape name,
which is preserved in the QueryErrorCode key.
r[   NÚQueryErrorCodeÚerror_code_override©r2   )rS   rp   r4   Úparsed_errorÚ
query_codes        r5   Ú_handle_sqs_compatible_errorrz   ë   s?   € ð —:‘:˜g rÓ*€LÞØà!×%Ñ%Ð&6Ó7Ð7€zÕ7Ø)3Ð%Ò&ð 8r7   c                 ó°   • S nSU ;   a  U S   R                   nU(       d.  U R                  S0 5      R                  S5      (       a  U S   S   nU=(       d    S$ )NÚclient_configÚsigningÚregionÚ*)Úsigv4a_signing_region_setr2   )rp   r~   s     r5   Ú_resolve_sigv4a_regionr�   ý   sV   € Ø€FØ˜'Ó!Ø˜Ñ)×CÑCˆÞ�g—k‘k )¨RÓ0×4Ñ4°X×>Ñ>Ø˜Ñ# HÑ-ˆØ�=�SÐr7   c                 ó`   • [        U 5      nX!S.nSU ;   a  U S   R                  U5        g X0S'   g )N)r~   rq   r}   )r�   Úupdate)rp   rq   r~   r}   s       r5   rn   rn     s9   € ô $ GÓ,€FØÑ>€GØ�GÓØ�	Ñ×!Ñ! 'Õ*à$�	Òr7   c                 óà   • SU ;   a9   [         R                  " [        U S   S5      5      R                  SS5      nX S'   g g ! [        [
        [        4 a    [        R                  SSS9   g f = f)NÚOutputzlatin-1rW   rH   zError decoding base64T©Úexc_info)	Úbase64Ú	b64decodeÚbytesÚdecodeÚ
ValueErrorÚ	TypeErrorÚAttributeErrorrO   rP   ©rS   r4   Úvalues      r5   Údecode_console_outputr‘     sz   € Ø�6Óð		Aô ×$Ò$Ü�f˜XÑ&¨	Ó2óç‰f�W˜iÓ(ð ð  %�8Òð øô œI¤~Ð6ó 	AÜ�L‰LÐ0¸4ˆLÓ@ð	Aús   ˆ7A Á)A-Á,A-c                 óª   • UR                    HC  nX0;  d  M
  [        [        R                  " 5       5      X'   [        R                  SX   U5        ME     g )Nz1injecting idempotency token (%s) into param '%s'.)Úidempotent_membersÚstrÚuuidÚuuid4rO   rP   )r@   Úmodelr4   Únames       r5   Úgenerate_idempotent_uuidr™     sA   € Ø×(Ô(ˆØÕÜœtŸzšz›|Ó,ˆF‰LÜ�L‰LØCØ‘Øöò )r7   c                 óœ   •  [         R                  " [        U 5      5      n U $ ! [        [        4 a    [
        R                  SSS9   U $ f = f)NzError loading quoted JSONTr†   )r   Úloadsr   rŒ   r�   rO   rP   )r�   s    r5   Údecode_quoted_jsondocrœ   *  sO   € ðAÜ—
’
œ7 5›>Ó*ˆð €Løô œ	Ð"ó AÜ�‰Ð0¸4ˆÒ@Ø€LðAús   ‚# £$AÁ
Ac                 ó¨   • SU ;   a"   [         R                  " U S   [        S9nX S'   g g ! [        [        4 a    [
        R                  SSS9   g f = f)NÚTemplateBody)Úobject_pairs_hookzerror loading JSONTr†   )r   r›   r
   rŒ   r�   rO   rP   r�   s      r5   Újson_decode_template_bodyr    2  s]   € Ø˜Óð	>Ü—J’JØ�~Ñ&¼+ñˆEð &+�>Ò"ð  øô œIÐ&ó 	>Ü�L‰LÐ-¸ˆLÓ=ð	>ús   ˆ * ª$AÁAc                 óè   • SU ;  a  g U S   n[         R                  U5      (       dL  [        R                  U5      (       d1  SU S[         R                   S[        R                   S3n[	        US9eg g )NÚBucketzInvalid bucket name "z%": Bucket name must match the regex "z#" or be an ARN matching the regex "Ú"©Úreport)ÚVALID_BUCKETÚsearchÚVALID_S3_ARNÚpatternr   )r@   r4   ÚbucketÚ	error_msgs       r5   Úvalidate_bucket_namer¬   =  sƒ   € Ø�vÓØØ�HÑ€FÜ×Ñ˜v×&Ñ&¬|×/BÑ/BÀ6×/JÑ/Jà# F 8ð ,Ü&×.Ñ.Ð/ð 0Ü&×.Ñ.Ð/¨qð2ð 	ô
 #¨)Ñ4Ð4ð 0KÐ&r7   c                 ó   • [        U S5        g)zÞ
S3 server-side encryption requires the encryption key to be sent to the
server base64 encoded, as well as a base64-encoded MD5 hash of the
encryption key. This handler does both if the MD5 has not been set by
the caller.
ÚSSECustomerN©Ú_sse_md5©r@   r4   s     r5   Ússe_md5r²   J  s   € ô ˆV�]Õ#r7   c                 ó   • [        U S5        g)a  
S3 server-side encryption requires the encryption key to be sent to the
server base64 encoded, as well as a base64-encoded MD5 hash of the
encryption key. This handler does both if the MD5 has not been set by
the caller specifically if the parameter is for the copy-source sse-c key.
ÚCopySourceSSECustomerNr¯   r±   s     r5   Úcopy_source_sse_md5rµ   T  s   € ô ˆVÐ,Õ-r7   c                 ób  • [        X5      (       d  g US-   nUS-   nX   n[        U[        5      (       a  UR                  S5      n[	        USS9R                  5       n[        R                  " U5      R                  S5      n[        R                  " U5      R                  S5      nXpU'   X`U'   g )NÚKeyÚKeyMD5rW   F)Úusedforsecurity)	Ú_needs_s3_sse_customizationÚ
isinstancer”   Úencoder   Údigestrˆ   Ú	b64encoder‹   )r@   Ússe_member_prefixÚsse_key_memberÚsse_md5_memberÚkey_as_bytesÚmd5_valÚkey_md5_strÚkey_b64_encodeds           r5   r°   r°   ^  s¤   € Ü& v×AÑAØà&¨Ñ.€NØ&¨Ñ1€NØÑ)€LÜ�,¤×$Ñ$Ø#×*Ñ*¨7Ó3ˆÜ�l°EÑ:×AÑAÓC€GÜ×"Ò" 7Ó+×2Ñ2°7Ó;€KÜ×&Ò& |Ó4×;Ñ;¸GÓD€OØ,ˆ>ÑØ(ˆ>Òr7   c                 óL   • U R                  US-   5      S L=(       a    US-   U ;  $ )Nr·   r¸   rw   )r@   r¿   s     r5   rº   rº   n  s0   € à�
‰
Ð$ uÑ,Ó-°TÐ9÷ 	7Ø Ñ(°Ñ6ðr7   c                  ó"   • [         R                  $ )z_
This handler disables request signing by setting the signer
name to a special sentinel value.
)rk   rl   )r4   s    r5   Údisable_signingrÈ   u  s   € ô
 ×ÑÐr7   c                 óh  • U R                   R                  SS5      S;  a  g SU;   a‹  US   n[        US5      (       at  [        R                  " [
        R                  R                  SS5      5      nU(       a  [        R                  " U5      S:X  a  g [        R                  S	5        S
US   S'   g g g )NÚmethodÚ )ÚPUTÚPOSTrE   ÚreadÚ$BOTO_EXPERIMENTAL__NO_EMPTY_CONTINUEFr   z-Adding expect 100 continue header to request.z100-continuer;   ÚExpect)
Úhttpr2   Úhasattrr   Úensure_booleanr>   r?   Údetermine_content_lengthrO   rP   )r—   r@   r4   rE   Ú
check_bodys        r5   Úadd_expect_headerrÖ   }  s¢   € Ø‡z�z‡~�~�h Ó#¨?Ó:ØØ�ÓØ�f‰~ˆÜ�4˜× Ñ Ü×-Ò-Ü—
‘
—‘Ø:ØóóˆJö œe×<Ò<¸TÓBÀaÓGØô �L‰LÐHÔIØ*8ˆF�9Ñ˜hÒ'ð !ð r7   c                   ó    • \ rS rSrS rS rSrg)ÚDeprecatedServiceDocumenteri‘  c                 ó   • Xl         g r1   ©Ú_replacement_service_name)ÚselfÚreplacement_service_names     r5   Ú__init__Ú$DeprecatedServiceDocumenter.__init__’  s   € Ø)AÕ&r7   c                 ó  • UR                   R                  5         UR                  S5        UR                   R                  U R                  U R                  5        UR                  S5        UR                   R                  5         g )Nz.This service client is deprecated. Please use z	 instead.)ÚstyleÚstart_importantÚwriteÚrefrÛ   Úend_important)rÜ   ÚsectionÚ
event_namer4   s       r5   Úinject_deprecation_noticeÚ5DeprecatedServiceDocumenter.inject_deprecation_notice•  sa   € Ø�‰×%Ñ%Ô'Ø�‰ÐFÔGØ�‰×ÑØ×*Ñ*Ø×*Ñ*ô	
ð 	�‰�kÔ"Ø�‰×#Ñ#Õ%r7   rÚ   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rÞ   rè   Ú__static_attributes__© r7   r5   rØ   rØ   ‘  s   † òBõ&r7   rØ   c                 ó²  • SU;   aU  U R                  S5      nUR                  S5      nUR                  S5      nUR                  5         UR                  S5        g SU;   av  U R                  S5      nUR                  S5      nUR                  5         UR                  S5        UR                  S	5      nUR                  5         UR                  S
5        g g )Nzrequest-exampleústructure-valueÚ
CopySourceúmember-valuezH'string' or {'Bucket': 'string', 'Key': 'string', 'VersionId': 'string'}zrequest-paramsú
param-typez:type CopySource: str or dictúparam-documentationaq  The name of the source bucket, key name of the source object, and optional version ID of the source object.  You can either provide this value as a string or a dictionary.  The string form is {bucket}/{key} or {bucket}/{key}?versionId={versionId} if you want to copy a specific version.  You can also provide this value as a dictionary.  The dictionary format is recommended over the string format because it is more explicit.  The dictionary format is: {'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}.  Note that the VersionId key is optional and may be omitted. To specify an S3 access point, provide the access point ARN for the ``Bucket`` key in the copy source dictionary. If you want to provide the copy source for an S3 access point as a string instead of a dictionary, the ARN provided must be the full S3 access point object ARN (i.e. {accesspoint_arn}/object/{key})©Úget_sectionÚ
clear_textrã   )	ræ   rç   r4   ÚparentÚ
param_lineÚvalue_portionÚparam_sectionÚtype_sectionÚdoc_sections	            r5   Údocument_copy_source_formrÿ      sÔ   € Ø˜JÓ&Ø×$Ñ$Ð%6Ó7ˆØ×'Ñ'¨Ó5ˆ
Ø"×.Ñ.¨~Ó>ˆØ× Ñ Ô"Ø×Ñð6õ	
ð 
˜ZÓ	'Ø×+Ñ+¨LÓ9ˆØ$×0Ñ0°Ó>ˆØ×ÑÔ!Ø×ÑÐ:Ô;Ø#×/Ñ/Ð0EÓFˆØ×ÑÔ Ø×Ñð5õ	
ð 
(r7   c                 ó¾   • U R                  S5      nUc  g[        U[        5      (       a  [        U5      U S'   g[        U[        5      (       a  [        U5      U S'   gg)a   Convert CopySource param for CopyObject/UploadPartCopy.

This handler will deal with two cases:

    * CopySource provided as a string.  We'll make a best effort
      to URL encode the key name as required.  This will require
      parsing the bucket and version id from the CopySource value
      and only encoding the key.
    * CopySource provided as a dict.  In this case we're
      explicitly given the Bucket, Key, and VersionId so we're
      able to encode the key and ensure this value is serialized
      and correctly sent to S3.

rò   N)r2   r»   r”   Ú_quote_source_headerÚdictÚ_quote_source_header_from_dict)r@   r4   Úsources      r5   Úhandle_copy_source_paramr  Å  sY   € ð �Z‰Z˜Ó%€FØ�~ð 	Ü�&œ#×ÑÜ3°FÓ;ˆˆ|ÒÜ	�FœD×	!Ñ	!Ü=¸fÓEˆˆ|Òð 
"r7   c                 ó  •  U S   nU S   nU R                  S5      n[        R                  U5      (       a  U SU 3nOU SU 3n [        U[        S-   S9nUb  US	U 3-  nU$ ! [         a  n[	        S[        U5       3S9eS nAff = f)
Nr¢   r·   Ú	VersionIdz/object/Ú/zMissing required parameter: r¤   r<   z?versionId=)r2   r¨   r§   ÚKeyErrorr   r”   r+   r%   )Úsource_dictrª   ÚkeyÚ
version_idÚfinalÚes         r5   r  r  à  s¶   € ð
Ø˜XÑ&ˆØ˜%Ñ ˆØ —_‘_ [Ó1ˆ
Ü×Ñ˜v×&Ñ&Ø�h˜h s eÐ,‰Eà�h˜a ˜uÐ%‰Eô
 ˜5¤z°CÑ'7Ñ8€EØÑØ�;˜z˜lÐ+Ñ+ˆØ€Løô ó 
Ü"Ø1´#°a³&°Ð:ñ
ð 	
ûð
ús   ‚<A% ¿A% Á%
B	Á/BÂB	c                 óÄ   • [         R                  U 5      nUc  [        U [        S-   S9$ U S UR	                  5        XR	                  5       S  p2[        U[        S-   S9U-   $ )Nr  r<   )ÚVERSION_ID_SUFFIXr§   r+   r%   Ústart)r�   ÚresultÚfirstr  s       r5   r  r  ó  sa   € Ü×%Ñ% eÓ,€FØ�~Ü˜e¬*°sÑ*:Ñ;Ð;à!Ð"2 F§L¡L£NÐ3°U¿<¹<»>Ð;KÐ5LˆzÜ˜e¬*°sÑ*:Ñ;¸jÑHÐHr7   c                 ó²   • [         R                  " U5      nXES   S'   US   R                  XC5      US'   SUS'   0 US'   U R                  XSUR                  S9$ )NrE   ÚDestinationRegionÚurlÚGETrÊ   r;   )Úregion_nameÚoperation_name)ÚcopyÚdeepcopyrH   Úgenerate_presigned_urlr˜   )Úrequest_signerÚrequest_dictr—   Úsource_regionÚdestination_regionÚrequest_dict_copys         r5   Ú_get_cross_region_presigned_urlr"  ü  sx   € ô Ÿš lÓ3ÐØ5G�fÑÐ1Ñ2Ø+¨EÑ2×:Ñ:Øó Ð�eÑð #(Ð�hÑØ#%Ð�iÑ Ø×0Ñ0ØÀUÇZÁZð 1ð ð r7   c                 óB   • U R                   nUR                  S5      nX24$ )NÚSourceRegion)Ú_region_namer2   )r  r@   r   r  s       r5   Ú1_get_presigned_url_source_and_destination_regionsr&    s%   € à'×4Ñ4ÐØ—J‘J˜~Ó.€MØÐ,Ð,r7   c                 ón   • SU S   ;   a  g [        XS   5      u  pE[        XX$U5      nX`S   S'   XPS   S'   g )NÚPresignedUrlrE   r  ©r&  r"  ©r@   r  r—   r4   ÚsrcÚdestr  s          r5   Úinject_presigned_url_ec2r-    sT   € à˜ ™Ó'ØÜAØ˜v™ó�I€Cô *Ø ¨Dó€Cð &)ˆ6�N�>Ñ"ð +/ˆ6�NÐ&Ò'r7   c                 ó€   • SU S   ;  a  g [        XS   5      u  pEU S   S	 SU S   ;   a  g [        XX$U5      nX`S   S'   g )Nr$  rE   ÚPreSignedUrlr)  r*  s          r5   Úinject_presigned_url_rdsr0  *  sb   € ð ˜V F™^Ó+ØäAØ˜v™ó�I€Cð 	ˆv‰�~Ð&à˜ ™Ó'Øä
)Ø ¨Dó€Cð &)ˆ6�N�>Ò"r7   c                 óN   • UR                   nUb  [        XR                   5        g g r1   )Úoutput_shapeÚ_decode_policy_types)rS   r—   r4   r2  s       r5   Újson_decode_policiesr4  B  s(   € ð ×%Ñ%€LØÑÜ˜V×%7Ñ%7Õ8ð  r7   c                 óf  • SnUR                   S:X  an  UR                  R                  5        HP  u  p4UR                   S:X  a&  UR                  U:X  a  X0;   a  [	        X   5      X'   M;  X0;   d  MB  [        X   U5        MR     UR                   S:X  a!  UR                  nU  H  n[        Xe5        M     g g )NÚpolicyDocumentTypeÚ	structureÚstringÚlist)Ú	type_nameÚmembersÚitemsr˜   rœ   r3  Úmember)rS   ÚshapeÚ
shape_nameÚmember_nameÚmember_shapeÚshape_memberÚitems          r5   r3  r3  N  s§   € ð &€JØ‡�˜+Ó%Ø).¯©×)<Ñ)<Ö)>Ñ%ˆKà×&Ñ&¨(Ó2Ø ×%Ñ%¨Ó3ØÓ)ä&;ØÑ'ó'�Ó#ð Õ&Ü$ VÑ%8¸,ÖGñ *?ð ‡�˜&Ó Ø—|‘|ˆÛˆDÜ  Ö4ò ð !r7   c                 óê   • UR                   c  g UR                  n[        R                  " [        R                  " 5       SS9nUR                  U5        UR                  5       nUR                  nX`S'   g )NrW   rX   ÚLocationConstraint)ÚrawrN   r	   r\   r]   r^   r_   Útext)rS   rR   r4   Úresponse_bodyra   rb   r~   s          r5   Úparse_get_bucket_locationrI  d  s`   € ð ×ÑÑ ØØ!×)Ñ)€MÜ�_Š_¤E×$5Ò$5Ó$7À'ÑJ€FØ
‡K�K�ÔØ�<‰<‹>€DØ�Y‰Y€FØ#)ÐÒ r7   c                 óÆ   • SU ;   a[  [        U S   [        5      (       a  U S   R                  S5      U S'   [        R                  " U S   5      R                  S5      U S'   g g )NÚUserDatarW   )r»   r”   r¼   rˆ   r¾   r‹   r±   s     r5   Úbase64_encode_user_datarL  t  sc   € Ø�VÓÜ�f˜ZÑ(¬#×.Ñ.à!'¨
Ñ!3×!:Ñ!:¸7Ó!CˆF�:ÑÜ#×-Ò-¨f°ZÑ.@ÓA×HÑHØó
ˆˆzÒð	 r7   c                 ó4   • Sn[        X5      nUR                  $ )Nzw**This value will be base64 encoded automatically. Do not base64 encode this value prior to performing the operation.**©r   Úappend_documentation)ÚparamÚdescriptionÚappends      r5   Údocument_base64_encodingrS  ~  s$   € ð	ð ô
 & eÓ9€FØ×&Ñ&Ð&r7   c                 ó  • U R                  S5      nU(       a  [        U[        5      (       d  gUR                  5        H(  u  p4 UR	                  S5        UR	                  S5        M*     g! [
         a    SU SU S3n[        US9ef = f)a1  Verify S3 Metadata only contains ascii characters.

From: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html

"Amazon S3 stores user-defined metadata in lowercase. Each name, value pair
must conform to US-ASCII when using REST and UTF-8 when using SOAP or
browser-based uploads via POST."

ÚMetadataNÚasciiz3Non ascii characters found in S3 metadata for key "z", value: "z4".  
S3 metadata can only contain ASCII characters. r¤   )r2   r»   r  r<  r¼   ÚUnicodeEncodeErrorr   )r@   r4   Úmetadatar  r�   r«   s         r5   Úvalidate_ascii_metadatarY  ˆ  s“   € ð �z‰z˜*Ó%€HÞœ: h´×5Ñ5ð 	Ø—n‘nÖ&‰
ˆð		9Ø�J‰J�wÔØ�L‰L˜Ö!ò 'øô "ó 	9ðØ˜5 ¨E¨7ð 3-ð-ð ô
 '¨iÑ8Ð8ð	9ús   Á"A,Á,B	c                 ó`  • UR                   nU(       a  [        US5      (       d  gUR                  R                  5        VVs/ s H  u  pEUR                  S;   d  M  UPM     nnnU H=  nX@;   d  M
  X   nUR                  S5      S   X'   [        R                  SXGX   5        M?     gs  snnf )zØ
Check for and split apart Route53 resource IDs, setting
only the last piece. This allows the output of one operation
(e.g. ``'foo/1234'``) to be used as input in another
operation (e.g. it expects just ``'1234'``).
r;  N)Ú
ResourceIdÚDelegationSetIdÚChangeIdr  éÿÿÿÿz%s %s -> %s)Úinput_shaperÒ   r;  r<  r˜   ÚsplitrO   rP   )r@   r—   r4   r_  r˜   r>  r;  Ú
orig_values           r5   Úfix_route53_idsrb  §  s§   € ð ×#Ñ#€KÞœg k°9×=Ñ=Øð )×0Ñ0×6Ñ6Ô8ôâ8‰MˆTØ�:‰:ÐFÑF÷ 	Ù8ð ñ ó ˆØ�>Ø™ˆJØ%×+Ñ+¨CÓ0°Ñ4ˆF‰LÜ�L‰L˜¨¸&¹,ÖGò	 ùós   ÁB*ÁB*c                 ó4   • U R                  S5      c  SU S'   g g )NÚ	accountIdÚ-rw   r±   s     r5   Úinject_account_idrf  ¿  s"   € Ø‡z�z�+ÓÑ&ð
 "ˆˆ{Òð 'r7   c                 ó2   • UnU R                   S   US   S'   g )NÚ
apiVersionr;   zx-amz-glacier-version)rX  ©r—   r@   r4   r  s       r5   Úadd_glacier_versionrj  È  s#   € Ø€LØ7<·~±~Øñ8€L�ÑÐ3Ò4r7   c                 óF   • US   R                  SS 5      c  UnSUS   S'   g g )Nr;   ÚAcceptzapplication/jsonrw   ri  s       r5   Úadd_accept_headerrm  Ï  s3   € ØˆiÑ×Ñ˜X tÓ,Ñ4ØˆØ,>ˆ�YÑ Ò)ð 5r7   c                 ó:  • U nUS   nUS   n[        U[        5      (       a  [        U5      nUR                  5       nSU;  a  [        R
                  " USS9US'   UR                  U5        SU;  a  [        R                  " U5      US'   UR                  U5        g)zãAdd glacier checksums to the http request.

This will add two headers to the http request:

    * x-amz-content-sha256
    * x-amz-sha256-tree-hash

These values will only be added if they are not present
in the HTTP request.

r;   rE   zx-amz-content-sha256T)Úas_hexzx-amz-sha256-tree-hashN)r»   rŠ   r   Útellr   Úcalculate_sha256ÚseekÚcalculate_tree_hash)r@   r4   r  r;   rE   Ústarting_positions         r5   Úadd_glacier_checksumsru  Õ  sž   € ð €LØ˜9Ñ%€GØ˜Ñ€DÜ�$œ×Ñô �t‹}ˆØŸ	™	›ÐØ WÓ,Ü*/×*@Ò*@Ø˜ñ+
ˆÐ&Ñ'ð 	‡I�IÐÔ Ø wÓ.Ü,1×,EÒ,EÀdÓ,KˆÐ(Ñ)Ø‡I�IÐÕ r7   c                  ó2   • Sn [        SU 5      R                  $ )Naî  
        This is a required field.

        Ideally you will want to compute this value with checksums from
        previous uploaded parts, using the algorithm described in
        `Glacier documentation <http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html>`_.

        But if you prefer, you can also use botocore.utils.calculate_tree_hash()
        to compute it from raw file by::

            checksum = calculate_tree_hash(open('your_file.txt', 'rb'))

        ÚchecksumrN  )Údocs    r5   Ú#document_glacier_tree_hash_checksumry  ö  s   € ð€Cô $ J°Ó4×IÑIÐIr7   c                 óN  • SU;   aD  U R                  S5      nUR                  S5      nUR                  5         UR                  S5        g SU;   aU  U R                  S5      nUR                  S5      nUR                  S5      nUR                  5         UR                  S5        g g )	Núresponse-paramsrž   rô   z(*dict*) --úresponse-examplerñ   ró   ú{}rö   )ræ   rç   r4   Útemplate_body_sectionrý   rù   rú   rû   s           r5   Ú0document_cloudformation_get_template_return_typer    sŸ   € ð ˜JÓ&Ø '× 3Ñ 3°NÓ CÐØ,×8Ñ8¸ÓFˆØ×ÑÔ!Ø×Ñ˜=Õ)Ø	˜zÓ	)Ø×$Ñ$Ð%6Ó7ˆØ×'Ñ'¨Ó7ˆ
Ø"×.Ñ.¨~Ó>ˆØ× Ñ Ô"Ø×Ñ˜DÕ!ð 
*r7   c                 ó   • [        U S5        g )NÚPredictEndpoint)r,   ©Úrequestr4   s     r5   Úswitch_host_machinelearningr„    s   € Ü˜7Ð$5Õ6r7   c                  ó¦   • SS K n UR                  nUS:  a*  [        R                  " SUR                   S3[
        5        g g ! [         a     g f = f)Nr   )é   r   r†  z%Currently installed openssl version: zƒ does not support TLS 1.2, which is required for use of iot-data. Please use python installed with openssl version 1.0.1 or higher.)ÚsslÚOPENSSL_VERSION_INFOÚwarningsÚwarnÚOPENSSL_VERSIONr   rŽ   )r4   r‡  Úopenssl_version_tuples      r5   Ú&check_openssl_supports_tls_version_1_2r�    sa   € ÛðØ #× 8Ñ 8ÐØ  9Ó,Ü�MŠMØ7¸×8KÑ8KÐ7Lð Mð ô -õð -øô ó Ùðús   †;A Á
AÁAc                 óÆ   • U R                   S:X  aQ  SU R                  ;   a@  SU R                  S'   SU l         U R                  R                  SS5      u  U l        U l        g g g )Nr  Ú?z!application/x-www-form-urlencodedúContent-TyperÍ   r†  )rÊ   r  r;   r`  Údatar‚  s     r5   Úchange_get_to_postr’  .  sW   € ð ‡~�~˜Ó 3¨'¯+©+Ó#5Ø*Mˆ�‰˜Ñ'ØˆŒØ$+§K¡K×$5Ñ$5°c¸1Ó$=Ñ!ˆŒ�W•\ð $6Ðr7   c                 ó&   • SU ;  a  SUS'   SU S'   g g )NÚEncodingTypeTÚencoding_type_auto_setr  rï   )r@   rp   r4   s      r5   Ú"set_list_objects_encoding_type_urlr–  7  s&   € Ø˜VÓ#ð -1ˆÐ(Ñ)Ø!&ˆˆ~Òð	 $r7   c                 ó$   • [        / SQSS/U US9  g )N)Ú	DelimiterÚMarkerÚ
NextMarker©ÚContentsr·   ©ÚCommonPrefixesÚPrefix©Útop_level_keysÚnested_keysrS   rp   ©Ú_decode_list_object©rS   rp   r4   s      r5   Údecode_list_objectr¦  ?  s   € ô Ú<Ø(Ð*FÐGØØó	r7   c                 ó$   • [        / SQSS/U US9  g )N)r˜  rŸ  Ú
StartAfterr›  r�  r   r£  r¥  s      r5   Údecode_list_object_v2r©  P  s   € ô
 Ú<Ø(Ð*FÐGØØó	r7   c                 ó$   • [        / SQ/ SQU US9  g )N)Ú	KeyMarkerÚNextKeyMarkerrŸ  r˜  ))ÚVersionsr·   )ÚDeleteMarkersr·   r�  r   r£  r¥  s      r5   Údecode_list_object_versionsr¯  ]  s   € ô
 ò
ò
ð
 Øór7   c                 óô   • UR                  S5      S:X  ac  UR                  S5      (       aL  U  H  nXB;   d  M
  [        X$   5      X$'   M     U H&  u  pVXR;   d  M  X%    H  n[        Xv   5      Xv'   M     M(     g g g )Nr”  r  r•  )r2   r   )r¡  r¢  rS   rp   r  Útop_keyÚ	child_keyr=  s           r5   r¤  r¤  s  s~   € Ø‡z�z�.Ó! UÓ*¨w¯{©{Ø ÷0ñ 0ó "ˆCØ�}Ü)¨&©+Ó6�“ñ "ó #.ÑˆGØÕ Ø$œo�FÜ(3°FÑ4EÓ(F�FÓ%ó .ò #.ð0Ð*r7   c                 óÌ   • SU ;   a^  [        U S   [        5      (       a  [        [        U S   5      5      U S'   g [        U S   [        5      (       a  [        U S   5      U S'   g g g )NÚBody)r»   r”   r   r   rŠ   r±   s     r5   Ú convert_body_to_file_like_objectrµ  ‚  s_   € Ø�ÓÜ�f˜V‘n¤c×*Ñ*Ü$¤\°&¸±.Ó%AÓBˆF�6ŠNÜ˜˜v™¬×.Ñ.Ü$ V¨F¡^Ó4ˆF�6ŠNð /ð r7   c                 ó  • SSSS.nUR                  5        Hp  u  p#UR                  SS5      u  pE[        XS5      nSU-   UR                  [        4nSU-   S	-   UR
                  4nU R                  U5        U R                  U5        Mr     g )
NÚFiltersÚfromTimeÚreturnFields)zec2.*.Filterzlogs.CreateExportTask.fromzcloudsearchdomain.Search.returnÚ.r†  zbefore-parameter-build.zdocs.*.z.complete-section)r<  ÚrsplitÚParameterAliasÚalias_parameter_in_callÚREGISTER_FIRSTÚ alias_parameter_in_documentationrR  )	Úhandler_listÚaliasesÚoriginalÚnew_nameÚevent_portionÚoriginal_nameÚparameter_aliasÚ#parameter_build_event_handler_tupleÚdocs_event_handler_tuples	            r5   Ú_add_parameter_aliasesrÉ  Š  s¥   € ð "Ø&0Ø+9ñ€Gð &Ÿm™mžoÑˆØ'/§¡°s¸AÓ'>Ñ$ˆÜ(¨ÓAˆð &¨Ñ5Ø×3Ñ3Üð/
Ð+ð ˜Ñ%Ð(;Ñ;Ø×<Ñ<ð$
Ð ð 	×ÑÐ?Ô@Ø×ÑÐ4Ö5ò% .r7   c                   ó,   • \ rS rSrS rS rS rS rSrg)r¼  i«  c                 ó   • Xl         X l        g r1   )Ú_original_nameÚ_alias_name)rÜ   rÅ  Ú
alias_names      r5   rÞ   ÚParameterAlias.__init__¬  s   € Ø+ÔØ%Õr7   c                 óT  • UR                   (       a—  U R                  UR                   R                  ;   ar  U R                  U;   aa  U R                  U;   a)  [	        U R                  U R                  UR
                  S9eUR                  U R                  5      XR                  '   g g g g )N)rÂ  ÚaliasÚ	operation)r_  rÌ  r;  rÍ  r   r˜   Úpop)rÜ   r@   r—   r4   s       r5   r½  Ú&ParameterAlias.alias_parameter_in_call°  s˜   € Ø××ð ×"Ñ" e×&7Ñ&7×&?Ñ&?Ó?Ø×#Ñ# vÓ-Ø×*Ñ*¨fÓ4Ü9Ø%)×%8Ñ%8Ø"&×"2Ñ"2Ø&+§j¡jñð ð 39·*±*¸T×=MÑ=MÓ2N�F×.Ñ.Ò/ð .ð @ð r7   c                 ó  • UR                  S5      (       a{  U R                  UR                  ;  a  g UR                  U R                  5      nUR                  S5      nU R	                  U5        UR                  S5      nU R	                  U5        g UR                  S5      (       aY  UR                  S5      nU R                  UR                  ;  a  g UR                  U R                  5      nU R	                  U5        g g )Nzdocs.request-paramsrô   z
param-namezdocs.request-examplerñ   )rm   rÌ  Úavailable_sectionsr÷   Ú_replace_content)rÜ   rç   ræ   r4   rü   Úparam_type_sectionÚparam_name_sections          r5   r¿  Ú/ParameterAlias.alias_parameter_in_documentationÀ  sæ   € Ø× Ñ Ð!6×7Ñ7Ø×"Ñ"¨'×*DÑ*DÓDØà#×/Ñ/°×0CÑ0CÓDˆMØ!.×!:Ñ!:¸<Ó!HÐØ×!Ñ!Ð"4Ô5ð "/×!:Ñ!:¸<Ó!HÐØ×!Ñ!Ð"4Õ5Ø×"Ñ"Ð#9×:Ñ:Ø×)Ñ)Ð*;Ó<ˆGØ×"Ñ"¨'×*DÑ*DÓDØà#×/Ñ/°×0CÑ0CÓDˆMØ×!Ñ! -Õ0ð ;r7   c                 óÐ   • UR                  5       R                  S5      nUR                  U R                  U R                  5      nUR                  5         UR                  U5        g )NrW   )Úgetvaluer‹   rH   rÌ  rÍ  rø   rã   )rÜ   ræ   rN   Úupdated_contents       r5   r×  ÚParameterAlias._replace_contentÔ  sT   € Ø×"Ñ"Ó$×+Ñ+¨GÓ4ˆØ!Ÿ/™/Ø×Ñ ×!1Ñ!1ó
ˆð 	×ÑÔØ�‰�oÕ&r7   )rÍ  rÌ  N)	rê   rë   rì   rí   rÞ   r½  r¿  r×  rî   rï   r7   r5   r¼  r¼  «  s   † ò&òOò 1õ('r7   r¼  c                   ó    • \ rS rSrS rS rSrg)ÚClientMethodAliasiÝ  c                 ó   • Xl         g)z‡Aliases a non-extant method to an existing method.

:param actual_name: The name of the method that actually exists on
    the client.
N©Ú_actual)rÜ   Úactual_names     r5   rÞ   ÚClientMethodAlias.__init__Þ  s	   € ð #�r7   c                 ó,   • [        XR                  5      $ r1   )Úgetattrrã  )rÜ   Úclientr4   s      r5   Ú__call__ÚClientMethodAlias.__call__æ  s   € Ü�vŸ|™|Ó,Ð,r7   râ  N)rê   rë   rì   rí   rÞ   ré  rî   rï   r7   r5   rà  rà  Ý  s   † ò#õ-r7   rà  c                   ój   • \ rS rSrSr\R                  " S\R                  5      rS r	S r
S rS rSrg	)
ÚHeaderToHostHoisterië  z;Takes a header and moves it to the front of the hoststring.z(?!-)[a-z\d-]{1,63}(?<!-)$c                 ó   • Xl         g r1   ©Ú_header_name)rÜ   Úheader_names     r5   rÞ   ÚHeaderToHostHoister.__init__ð  s   € Ø'Õr7   c                 ó¦   • U R                   US   ;  a  gUS   U R                      nU R                  U5        US   nU R                  XC5      nXQS'   g)zòHoist a header to the hostname.

Hoist a header to the beginning of the hostname with a suffix "." after
it. The original header should be removed from the header map. This
method is intended to be used as a target for the before-call event.
r;   Nr  )rï  Ú_ensure_header_is_valid_hostÚ_prepend_to_host)rÜ   r@   r4   Úheader_valueÚoriginal_urlÚnew_urls         r5   ÚhoistÚHeaderToHostHoister.hoistó  s]   € ð ×Ñ F¨9Ñ$5Ó5ØØ˜iÑ(¨×):Ñ):Ñ;ˆØ×)Ñ)¨,Ô7Ø˜e‘}ˆØ×'Ñ'¨ÓCˆØˆuŠr7   c                 óZ   • U R                   R                  U5      nU(       d	  [        SS9eg )Nz`Hostnames must contain only - and alphanumeric characters, and between 1 and 63 characters long.r¤   )Ú_VALID_HOSTNAMEÚmatchr   )rÜ   Úheaderrü  s      r5   ró  Ú0HeaderToHostHoister._ensure_header_is_valid_host  s2   € Ø×$Ñ$×*Ñ*¨6Ó2ˆÞÜ&ð<ñð ð r7   c                 óà   • [        U5      nUR                  R                  S5      nU/U-   nSR                  U5      nUR                  UUR
                  UR                  S4n[        U5      nU$ )Nrº  rË   )r   Únetlocr`  ÚjoinÚschemeÚpathÚqueryr   )rÜ   r  ÚprefixÚurl_componentsÚpartsÚ
new_netlocÚnew_componentsr÷  s           r5   rô  Ú$HeaderToHostHoister._prepend_to_host  ss   € Ü! #›ˆØ×%Ñ%×+Ñ+¨CÓ0ˆØ�˜5Ñ ˆØ—X‘X˜e“_ˆ
à×!Ñ!ØØ×ÑØ× Ñ Øð
ˆô ˜^Ó,ˆØˆr7   rî  N)rê   rë   rì   rí   Ú__doc__ÚreÚcompileÚ
IGNORECASErû  rÞ   rø  ró  rô  rî   rï   r7   r5   rì  rì  ë  s.   † ÙEà—j’jÐ!>ÀÇÁÓN€Oò(ò òõr7   rì  c                 ó`   • U R                   (       d  g U R                  R                  US   S'   g )Nr;   zx-amz-api-version)Úis_endpoint_discovery_operationÚservice_modelÚapi_version)r—   r@   r4   s      r5   Ú#inject_api_version_header_if_neededr    s*   € Ø×0×0ØØ-2×-@Ñ-@×-LÑ-L€Fˆ9ÑÐ)Ò*r7   c                 ó   • SU ;   a  U S	 gg)ú>Operation requires h2 which is currently unsupported in PythonÚstart_conversationNrï   ©Úclass_attributesr4   s     r5   Ú remove_lex_v2_start_conversationr  "  s   € àÐ/Ó/ØÐ1Ñ2ð 0r7   c                 ó   • SU ;   a  U S	 gg)r  ÚchatNrï   r  s     r5   Úremove_qbusiness_chatr  (  s   € àÐ!Ó!Ø˜VÑ$ð "r7   c                 ó   • SU ;   a  U S	 gg)r  Ú&invoke_model_with_bidirectional_streamNrï   r  s     r5   Ú=remove_bedrock_runtime_invoke_model_with_bidirectional_streamr  .  ó   € ð 0Ð3CÓCØÐEÑFð Dr7   c                 ó   • SU ;   a  U S	 gg)r  Ú&start_medical_scribe_listening_sessionNrï   r  s     r5   Ú;remove_connecthealth_start_medical_scribe_listening_sessionr#  6  r   r7   c                 ó   • SU ;   a  U S	 gg)r  Ústart_speech_synthesis_streamNrï   r  s     r5   Ú*remove_polly_start_speech_synthesis_streamr&  >  s   € à&Ð*:Ó:ØÐ<Ñ=ð ;r7   c                 ó   • [         U S'   g)z-Event handler to enable millisecond precisionÚtimestamp_precisionNr   )Úserializer_kwargsr4   s     r5   Ú&enable_millisecond_timestamp_precisionr*  D  s   € ä/NÐÐ+Ò,r7   c                 óè   • U R                   R                  S5      nU(       d  g U R                  nUS   US'   SnU Vs/ s H  nXR;   d  M
  U SX%    3PM     nnSR                  U5      US'   g s  snf )NÚretrieszinvocation-idzamz-sdk-invocation-id)ÚttlÚattemptÚmaxÚ=z; zamz-sdk-request)rp   r2   r;   r  )rƒ  r4   Úretries_contextr;   Úsdk_retry_keysr  Úsdk_request_headerss          r5   Úadd_retry_headersr4  I  s�   € Ø—o‘o×)Ñ)¨)Ó4€OÞØØ�o‰o€GØ'6°Ñ'G€GÐ#Ñ$Ø.€Nñ "óâ!ˆCØÑ!ó 	(ˆ3ˆ%ˆq�Ñ%Ð&Ó'Ù!ð ð ð
 "&§¡Ð+>Ó!?€GÐÒùòs   ¾	A/ÁA/c                 óð   • UR                   S   nSnUR                  U5      (       aO  U[        U5      S UR                   S'   UR                  S5      S   nXE:H  nU(       a  U S3OUUR                   S'   gg)a�  Strips leading `{Bucket}/` from any operations that have it.

The original value is retained in a separate "authPath" field. This is
used in the HmacV1Auth signer. See HmacV1Auth.canonical_resource in
botocore/auth.py for details.

This change is applied to the operation model during the first time the
operation is invoked and then stays in effect for the lifetime of the
client object.

When the ruleset based endpoint resolver is in effect, both the endpoint
ruleset AND the service model place the bucket name in the final URL.
The result is an invalid URL. This handler modifies the operation model to
no longer place the bucket name. Previous versions of botocore fixed the
URL after the fact when necessary. Since the introduction of ruleset based
endpoint resolution, the problem exists in ALL URLs that contain a bucket
name and can therefore be addressed before the URL gets assembled.
Ú
requestUriz	/{Bucket}Nr�  r   r  ÚauthPath)rÑ   rm   Úlenr`  )r@   r—   rp   r4   Úreq_uriÚbucket_pathÚneeds_slashs          r5   Ú'remove_bucket_from_url_paths_from_modelr<  X  s   € ð& �j‰j˜Ñ&€GØ€KØ×Ñ˜+×&Ñ&Ø#*¬3¨{Ó+;Ð+=Ð#>ˆ�
‰
�<Ñ ð —-‘- Ó$ QÑ'ˆð Ñ,ˆÞ2= G 9¨A¡À7ˆ�
‰
�:Òð 'r7   c                 óÂ   • [        S UR                   5       5      nUR                  b6  UR                  R                  S5      S:X  a  U(       a  UR                  S	 gggg)a,  Removes the `{AccountId}.` prefix from the operation model.

This change is applied to the operation model during the first time the
operation is invoked and then stays in effect for the lifetime of the
client object.

When the ruleset based endpoint resolver is in effect, both the endpoint
ruleset AND the service model place the {AccountId}. prefix in the URL.
The result is an invalid endpoint. This handler modifies the operation
model to remove the `endpoint.hostPrefix` field while leaving the
`RequiresAccountId` static context parameter in place.
c              3   ój   #   • U  H)  nUR                   S :H  =(       a    UR                  SL v •  M+     g7f)ÚRequiresAccountIdTN)r˜   r�   )Ú.0Ú	ctx_params     r5   Ú	<genexpr>Ú6remove_accid_host_prefix_from_model.<locals>.<genexpr>‡  s2   é € ð â8ˆIð 	�‰Ð-Ñ-×I°)·/±/ÀTÐ2IÔIÚ8ùs   ‚13NÚ
hostPrefixz{AccountId}.)ÚanyÚstatic_context_parametersÚendpointr2   )r@   r—   rp   r4   Úhas_ctx_params        r5   Ú#remove_accid_host_prefix_from_modelrI  z  sb   € ô ñ à×8Ò8óó €Mð
 	�‰Ñ"Ø�N‰N×Ñ˜|Ó,°Ó>Þà�N‰N˜<Ñ(ð ð ?ð 	#r7   c                 ó@  • U R                   n[        U[        5      (       a}  UR                  S5      (       af  UR	                  S5      n[        U5      S:”  aE  [        R                  " [        US   5      5      (       a  SR                  S/USS  Q5      U l         g g g g g )Nz/arn%3Ar  r†  rË   é   )
Ú	auth_pathr»   r”   rm   r`  r8  r'   Úis_arnr   r  )rƒ  r4   rL  Úauth_path_partss       r5   Úremove_arn_from_signing_pathrO  “  s—   € Ø×!Ñ!€IÜ�)œS×!Ñ! i×&:Ñ&:¸9×&EÑ&EØ#Ÿ/™/¨#Ó.ˆÜˆÓ !Ó#¬	×(8Ò(8Ü�O AÑ&Ó'÷)
ñ )
ð !$§¡¨"Ð)C¨¸q¸rÐ/BÐ)CÓ DˆGÕð)
Ð#ð 'FÐ!r7   c                 ó8  • UR                  S5      nUSL=(       a    [        R                  " U5      nUR                  S:X  a  SU [        R
                  '   OU(       a  SU [        R
                  '   USL=(       a    [        R                  " U5      (       + nU [        R
                     nUR                  S5      (       a[  U(       dS  U(       dK  U(       dC  [        R                  " U5      (       d'  SU [        R                  '   SU [        R                  '   gggggg)a  Modify builtin parameter values for endpoint resolver

Modifies the builtins dict in place. Changes are in effect for one call.
The corresponding event is emitted only if at least one builtin parameter
value is required for endpoint resolution for the operation.
r¢   NÚGetBucketLocationTFÚuse_global_endpointz
aws-global)r2   r'   rM  r˜   r   ÚAWS_S3_FORCE_PATH_STYLEr   rü  r   Úis_s3express_bucketÚ
AWS_REGIONÚAWS_S3_USE_GLOBAL_ENDPOINT)	Úbuiltinsr—   r@   rp   r4   Úbucket_nameÚbucket_is_arnÚpath_style_requiredÚpath_style_requesteds	            r5   Ú$customize_endpoint_resolver_builtinsr\  �  s  € ð —*‘*˜XÓ&€KØ tÐ+×M´	×0@Ò0@ÀÓ0M€Mð
 ‡z�zÐ(Ó(ØEIˆÔ)×AÑAÒBö 
ØEJˆÔ)×AÑAÑBð 	˜4Ð×NÔ(;×(AÒ(AÀ+Ó(NÔ$Nð ð $Ü ×8Ñ8ñÐð 	�‰Ð)×*Ñ*Þ#Þ$ÞÜ×)Ò)¨+×6Ñ6à8DˆÔ)×4Ñ4Ñ5ØHLˆÔ)×DÑDÒEð 7ð ð %ð $ð 	+r7   c                 ó~   • U R                   R                  S5      SL a  SU R                  ;   a  U R                  S	 g g g )NÚis_presign_requestTr�  )rp   r2   r;   r‚  s     r5   Ú)remove_content_type_header_for_presigningr_  Ë  s<   € à�‰×ÑÐ0Ó1°TÒ9Ø˜gŸo™oÓ-à�O‰O˜NÑ+ð .ð 	:r7   c                 ó&  • [        U R                  5      (       aE  UR                  S0 5      R                  S5      =n(       a  XBS'    [        R                  " U5        g g g ! [
        [        4 a    [        R                  SU5        US   S	  g f = f)Nr;   ÚExpiresÚExpiresStringzFailed to parse the "Expires" member as a timestamp: %s. The unparsed value is available in the response under "ExpiresString".)	Ú_has_expires_shaper2  r2   r   Úparse_timestamprŒ   ÚRuntimeErrorrO   Úwarning)Úoperation_modelÚresponse_dictÚcustomized_response_dictr4   Úexpires_values        r5   Úhandle_expires_headerrk  Ó  s˜   € ô ˜/×6Ñ6×7Ñ7Ø)×-Ñ-¨i¸Ó<×@Ñ@ÀÓKÐKˆ=ÕKØ8E _Ñ5ð8Ü×%Ò% mÕ4ð Lð 8øô
 ¤Ð-ó 8Ü—‘ð]à!ôð
 " )Ñ,¨YÒ7ð8ús   ÁA! Á!,BÂBc                 óf   • U (       d  g[        S U R                  R                  5        5       5      $ )NFc              3   óŠ   #   • U  H9  nUR                   S :H  =(       a    UR                  R                  S5      S :H  v •  M;     g7f)ra  r˜   N)r˜   Úserializationr2   )r@  rA  s     r5   rB  Ú%_has_expires_shape.<locals>.<genexpr>ç  sI   é € ð ò 3ˆLð 	×Ñ˜YÑ&÷ 	@Ø×&Ñ&×*Ñ*¨6Ó2°iÑ?ô	@â2ùs   ‚AA)rE  r;  Úvalues)r>  s    r5   rc  rc  ä  s1   € ÞØÜñ ð "ŸM™M×0Ñ0Ô2óó ð r7   c                 óZ  • SU;   až  U R                  S5      (       d  g U R                  S5      nUR                  S5      (       d  g UR                  S5      nUR                  S5        UR                  S5      nUR                  S5        UR                  R                  5         g SU;   Ga   U R                  S5      (       d  g U R                  S5      nUR                  S5      nUR                  R                  5         UR                  S5        UR                  R                  5         UR                  S5      nUR                  R                  5         UR                  S	5        UR                  R                  5         UR                  R                  5         UR                  S
5        g g )Nr|  rñ   ra  rb  z'ExpiresString': 'string',r{  rõ   zFThis member has been deprecated. Please use ``ExpiresString`` instead.z!- **ExpiresString** *(string) --*z1The raw, unparsed value of the ``Expires`` field.)
Úhas_sectionr÷   Úadd_new_sectionrã   rá   Únew_lineÚ
start_noteÚend_noteÚnew_paragraphÚindent)	ræ   rç   r4   rù   rú   Únew_param_linerü   rþ   Únew_param_sections	            r5   Údocument_expires_shaper{  î  su  € ð ˜ZÓ'Ø×"Ñ"Ð#4×5Ñ5ØØ×$Ñ$Ð%6Ó7ˆØ×!Ñ! )×,Ñ,ØØ×'Ñ'¨	Ó2ˆ
Ø×"Ñ" ?Ô3Ø#×/Ñ/°Ó@ˆØ×ÑÐ9Ô:Ø×Ñ×%Ñ%Õ'Ø	˜jÔ	(Ø×"Ñ" 9×-Ñ-ØØ×+Ñ+¨IÓ6ˆà#×/Ñ/Ð0EÓFˆØ×Ñ×$Ñ$Ô&Ø×ÑØTô	
ð 	×Ñ×"Ñ"Ô$à)×9Ñ9¸/ÓJÐØ×Ñ×-Ñ-Ô/Ø×ÑÐ CÔDØ×Ñ×&Ñ&Ô(Ø×Ñ×-Ñ-Ô/Ø×ÑØ?õ	
ð# 
)r7   c                 ó’   • [        X5      (       d  g [        US   US   5      (       a  SUS'   [        R                  SUS   5        g g )NrM   rE   rK   z2Error found for response with 200 status code: %s.)Ú_should_handle_200_errorrL   rO   rP   )rg  rh  r4   s      r5   Ú_handle_200_errorr~    sX   € ô $ O×CÑCð 	Ü%Ø�mÑ$ m°FÑ&;÷ñ ð (+ˆ�mÑ$Ü�‰Ø@Ø˜&Ñ!õ	
ð	r7   c                 óØ   • U R                   nU(       a  U R                  (       d  U(       d  gUR                  R                  S5      nUb   UR                  U   nUR
                  S;   a  gg)NFÚpayload)Úblobr8  T)r2  Úhas_event_stream_outputrn  r2   r;  r:  )rg  rh  r2  r€  Úpayload_shapes        r5   r}  r}  $  s`   € Ø"×/Ñ/€LæØ×2×2ÞàØ×(Ñ(×,Ñ,¨YÓ7€GØÑØ$×,Ñ,¨WÑ5ˆØ×"Ñ"Ð&8Ó8ØØr7   c                 óŒ  •  U R                  S5      S:  a  g [        R                  " U R                  SS5      5      nUR                  S5      =n(       aT  UR                  SUR                  S5      5      (       d-  X2S'   [        R                  " U5      R	                  S5      U S'   g g g ! [
        [        [        4 a     g f = f)	NrM   i�  rE   s   {}Úerror_descriptionÚMessageÚmessagerW   )r2   r   r›   Údumpsr¼   rŒ   rŽ   r�   )rh  r4   rE   r‡  s       r5   Ú_map_oauth2_errorsr‰  4  s±   € ð	Ø×Ñ˜]Ó+¨cÓ1ØÜ�zŠz˜-×+Ñ+¨F°EÓ:Ó;ˆØ—h‘hÐ2Ó3Ð3ˆ7Õ3Ø—8‘8˜I t§x¡x°	Ó':×;Ñ;Ø")�Y‘Ü(,¯
ª
°4Ó(8×(?Ñ(?ÀÓ(H�˜fÒ%ð <ð 4øô œ¬	Ð2ó Ùðús   ‚B+ ˜BB+ Â+CÃCc                 óš   • U c  g U u  p#UR                  S0 5      R                  SUR                  5      nUR                  U:w  a  XBl        g g )NÚResponseMetadataÚHTTPStatusCode)r2   rM   )rQ   r4   rR   rS   Úparsed_status_codes        r5   Ú_update_status_coderŽ  C  sY   € ð ÑØØ$Ñ€MØŸ™Ð$6¸Ó;×?Ñ?Ø˜-×3Ñ3óÐð × Ñ Ð$6Ó6Ø$6Õ!ð 7r7   c                 óÚ   • UR                  S0 5      R                  S5      nUc  g UR                  nUR                  nUR                  S5      nUb  US:X  a  U R                  US5        g g g )Nrp   r|   ÚrequestValidationModeMemberÚwhen_supportedÚENABLED)r2   Úresponse_checksum_validationÚhttp_checksumÚ
setdefault)r@   r—   r4   r|   r“  r”  Úmode_members          r5   Ú&_handle_request_validation_mode_memberr—  P  sw   € Ø—J‘J˜y¨"Ó-×1Ñ1°/ÓB€MØÑØØ#0×#MÑ#MÐ Ø×'Ñ'€MØ×#Ñ#Ð$AÓB€KàÑØ(Ð,<Ó<à×Ñ˜+ yÕ1ð =ð 	 r7   c                 óä   • U R                   R                  S0 5      nUR                  S0 5      nUR                  S5      S:H  nU R                  nU[        R                  :X  a  U(       a  SUS'   g g g )Nrw  Úrequest_algorithmÚinÚtrailerz"STREAMING-UNSIGNED-PAYLOAD-TRAILERzX-Amz-Content-SHA256)rp   r2   r;   rk   rl   )rƒ  rr   r4   Úchecksum_contextÚ	algorithmÚ
in_trailerr;   s          r5   Ú'_set_extra_headers_for_unsigned_requestrŸ  ^  sm   € ð
 —‘×*Ñ*¨:°rÓ:ÐØ ×$Ñ$Ð%8¸"Ó=€IØ—‘˜tÓ$¨	Ñ1€JØ�o‰o€GØœH×-Ñ-Ó-¶*Ø*NˆÐ&Ò'ð 3=Ð-r7   c                 ó6  • U R                  S5      nUc  gUR                  nUR                  nU R                  S5      n[        U[        5      =(       d    U[
        R                  L n[        U[        5      nU=(       d    Un	Un
U(       dV  U(       aO  U(       aH  UR                  S5      n[
        R                  R                  X¶5      nUS:X  a  [
        R                  OUn
[        U	UU
U5      (       a  [        S5        Sn
U
S:X  a  [        X5        X¤:X  a  gU
$ )	z˜
Determines the appropriate signer to use based on the client configuration,
authentication scheme preferences, and the availability of a bearer token.
r|   NÚauth_optionsÚ,re   ÚBEARER_SERVICE_ENV_VARSrf   rj   )r2   rr   Úauth_scheme_preferencer»   r   rk   rl   r`  ÚauthÚresolve_auth_scheme_preferenceÚ_should_prefer_bearer_authr$   rn   )rp   rq   r4   r|   rr   r¤  r¡  Úsignature_version_set_in_codeÚauth_preference_set_in_codeÚhas_in_code_configurationÚresolved_signature_versionÚpreferred_schemesÚresolveds                r5   Ú"_set_auth_scheme_preference_signerr®  k  s)  € ð
 —K‘K Ó0€MØÑØà%×7Ñ7ÐØ*×AÑAÐØ—;‘;˜~Ó.€Lô 	Ð$Ô&8Ó9÷ 	2Ø¤× 1Ñ 1Ð1ð "ô #-ØÔ 2ó#Ðð 	&×DÐ)Dð ð "3Ðö *Þ"Þà2×8Ñ8¸Ó=ÐÜ—=‘=×?Ñ?Øó
ˆð "*¨VÓ!3ŒH×Ò¸ð 	#ô "Ø!ØØ"Ø÷	ñ ô 	Ð5Ô6Ø%-Ð"à! UÓ*Ü# GÔ:à!Ó6ØØ%Ð%r7   c                 óŽ   • U[        5       ;  a  gU(       a  SU;  a  g[        U5      S LnU=(       a    US:H  =(       d    U (       + $ )NFzsmithy.api#httpBearerAuthrf   )Ú"get_bearer_auth_supported_servicesr(   )rª  rq   r«  r¡  Ú	has_tokens        r5   r§  r§  ©  sP   € ð Ô=Ó?Ó?ØæÐ6¸lÓJØä*¨<Ó8ÀÐD€Ið
 ÷ Ø" hÑ.×OÐ6OÔ2Oðr7   c                  ó   • S1$ )a¼  
Returns a set of services that support bearer token authentication.
These values correspond to the service's `signingName` property as defined
in model.py, falling back to `endpointPrefix` if `signingName` is not set.

Warning: This is a private interface and is subject to abrupt breaking changes,
including removal, in any botocore release. It is not intended for external use,
and its usage outside of botocore is not advised or supported.
Úbedrockrï   rï   r7   r5   r°  r°  ¿  s   € ð ˆ;Ðr7   zchoose-service-namez/getattr.mturk.list_hi_ts_for_qualification_typeÚ list_hits_for_qualification_typez5getattr.socialmessaging.delete_whatsapp_media_messageÚdelete_whatsapp_message_mediaz'getattr.cloudwatch.get_o_tel_enrichmentÚget_otel_enrichmentz)getattr.cloudwatch.start_o_tel_enrichmentÚstart_otel_enrichmentz(getattr.cloudwatch.stop_o_tel_enrichmentÚstop_otel_enrichmentz#getattr.signin.create_o_auth2_tokenÚcreate_oauth2_tokenz$before-parameter-build.s3.UploadPartz#before-parameter-build.s3.PutObjectzcreating-client-classzcreating-client-class.s3zcreating-client-class.iot-dataz$creating-client-class.lex-runtime-v2zcreating-client-class.qbusinessz%creating-client-class.bedrock-runtimez#creating-client-class.connecthealthzcreating-client-class.pollyz%creating-serializer.bedrock-agentcorezafter-call.iamzdocs.*.iam.*.complete-sectionr6  r  r}  )Únew_typeÚnew_descriptionÚnew_example_valuezafter-call.ec2.GetConsoleOutputz%after-call.cloudformation.GetTemplatezafter-call.s3.GetBucketLocationzafter-call.sqs.*zbefore-parse.s3.*zbefore-parse.sso-oidc.*zbefore-parameter-buildzbefore-parameter-build.s3z%before-parameter-build.s3.ListObjectsz'before-parameter-build.s3.ListObjectsV2z,before-parameter-build.s3.ListObjectVersionsz$before-parameter-build.s3.CopyObjectz(before-parameter-build.s3.UploadPartCopyz/before-parameter-build.s3.CreateMultipartUploadz!before-parameter-build.s3-controlz%docs.*.s3.CopyObject.complete-sectionz)docs.*.s3.UploadPartCopy.complete-sectionz+docs.response-example.s3.*.complete-sectionz*docs.response-params.s3.*.complete-sectionzbefore-endpoint-resolution.s3zbefore-callzbefore-call.s3zbefore-call.glacierzbefore-call.apigatewayzbefore-call.s3.DeleteObjectsz.before-call.s3.PutBucketLifecycleConfigurationz!before-call.glacier.UploadArchivez'before-call.glacier.UploadMultipartPartzbefore-call.ec2.CopySnapshotzrequest-createdz'request-created.machinelearning.Predictzneeds-retry.s3.*z$choose-signer.cognito-identity.GetIdz-choose-signer.cognito-identity.GetOpenIdTokenz-choose-signer.cognito-identity.UnlinkIdentityz8choose-signer.cognito-identity.GetCredentialsForIdentityz$choose-signer.sts.AssumeRoleWithSAMLz+choose-signer.sts.AssumeRoleWithWebIdentityzchoose-signerz$before-parameter-build.s3.HeadObjectz#before-parameter-build.s3.GetObjectz1before-parameter-build.s3.CompleteMultipartUploadz-before-parameter-build.s3.SelectObjectContentz'before-parameter-build.ec2.RunInstancesz<before-parameter-build.autoscaling.CreateLaunchConfigurationzbefore-parameter-build.route53zbefore-parameter-build.glacierzbefore-sign.s3z"before-sign.polly.SynthesizeSpeechzafter-call.s3.ListObjectszafter-call.s3.ListObjectsV2z after-call.s3.ListObjectVersionsz(request-created.cloudsearchdomain.Searchz!docs.*.glacier.*.complete-sectionrd  zJNote: this parameter is set to "-" bydefault if no value is not specified.z-docs.*.glacier.UploadArchive.complete-sectionrw  z3docs.*.glacier.UploadMultipartPart.complete-sectionzDdocs.request-params.glacier.CompleteMultipartUpload.complete-sectionz2docs.*.cloudformation.GetTemplate.complete-sectionz(docs.*.ec2.RunInstances.complete-sectionrK  z=docs.*.autoscaling.CreateLaunchConfiguration.complete-sectionz(docs.*.ec2.CopySnapshot.complete-sectionr(  r  zdocs.*.s3.*.complete-sectionÚSSECustomerKeyMD5ÚCopySourceSSECustomerKeyMD5z1docs.*.lambda.UpdateFunctionCode.complete-sectionÚZipFiler.   Ú
ContentMD5)ÚDeleteObjectsÚPutBucketAclÚPutBucketCorsÚPutBucketLifecycleÚPutBucketLoggingÚPutBucketNotificationÚPutBucketPolicyÚPutBucketReplicationÚPutBucketRequestPaymentÚPutBucketTaggingÚPutBucketVersioningÚPutBucketWebsiteÚPutObjectAclzcreating-client-class.dsqlzcreating-client-class.rdsz%before-call.rds.CopyDBClusterSnapshotzbefore-call.rds.CreateDBClusterzbefore-call.rds.CopyDBSnapshotz+before-call.rds.CreateDBInstanceReadReplicaz:before-call.rds.StartDBInstanceAutomatedBackupsReplicationz1docs.*.rds.CopyDBClusterSnapshot.complete-sectionr/  z+docs.*.rds.CreateDBCluster.complete-sectionz*docs.*.rds.CopyDBSnapshot.complete-sectionz7docs.*.rds.CreateDBInstanceReadReplica.complete-sectionzFdocs.*.rds.StartDBInstanceAutomatedBackupsReplication.complete-sectionz)before-call.neptune.CopyDBClusterSnapshotz#before-call.neptune.CreateDBClusterz5docs.*.neptune.CopyDBClusterSnapshot.complete-sectionz/docs.*.neptune.CreateDBCluster.complete-sectionz'before-call.docdb.CopyDBClusterSnapshotz!before-call.docdb.CreateDBClusterz3docs.*.docdb.CopyDBClusterSnapshot.complete-sectionz-docs.*.docdb.CreateDBCluster.complete-section)r®   ) r  rˆ   r  Úloggingr>   r  r•   r‰  Úior   rk   Úbotocore.authr   r   r   Úbotocore.argsr   Úbotocore.compatr   r	   r
   r   r   r   r   r   r   r   r   r   Úbotocore.docs.utilsr   r   r   r   Úbotocore.endpoint_providerr   Úbotocore.exceptionsr   r   r   r   Úbotocore.regionsr   Úbotocore.serializer   Úbotocore.signersr    r!   r"   r#   Úbotocore.useragentr$   Úbotocore.utilsr%   r&   r'   r(   r)   r*   r+   r,   Ú	getLoggerrê   rO   Úobjectr¾  ÚREGISTER_LASTr  r¦   Ú_ACCESSPOINT_ARNÚ_OUTPOST_ARNr  r¨   ro   r  r6   rC   rI   rT   rL   rs   rz   r�   rn   r‘   r™   rœ   r    r¬   r²   rµ   r°   rº   rÈ   rÖ   rØ   rÿ   r  r  r  r"  r&  r-  r0  r4  r3  rI  rL  rS  rY  rb  rf  rj  rm  ru  ry  r  r„  r�  r’  r–  r¦  r©  r¯  r¤  rµ  rÉ  r¼  rà  rì  r  r  r  r  r#  r&  r*  r4  r<  rI  rO  r\  r_  rk  rc  r{  r~  r}  r‰  rŽ  r—  rŸ  r®  r§  r°  Ú(replace_documentation_for_matching_shapeÚdocument_auto_populated_paramÚ
hide_paramÚBUILTIN_HANDLERSrï   r7   r5   Ú<module>rä     sH  ðñó
 Û Û Û 	Û 	Û Û Ý ã Û ÷ñ õ
 -÷÷ ÷ ó ÷ó õ ;÷ó õ 6Ý >÷ó õ 3÷	÷ 	ó 	ð 
×	Ò	˜8Ó	$€á“€Ù“€ð �zŠzÐ5Ó6€ðð ð
Bð ð �zŠz˜#Ÿ(™(Ð$4°lÐ#CÓDÓE€ð JÐ Ø—J’JÐ5Ó6Ð ò@òPòò (òDò$+!ò\4ò$ò%òAòòò>ò
5ò$ò.ô)ò òò9÷(&ñ &ò"
òJFò6ò&Iòò.-ò/ò )ò0	9ò5ò,*ò 
ò'ò9ò>Hò0"òò?ò!òBJò""ò 7òò&>ò'òò"
òò,Gò5ò6÷B/'ñ /'÷d
-ñ 
-÷.ñ .òbMò3ò%òGòGò>òOò
@òKòD)ò2Eò+Mò\,ò8ò"ò"
òJ
ò"ò ò
7ò2ò
Oò;&ò|ò,
ð"uØÐ5Ð6ðuð 	:ÙÐ<Ó=ððuð 	@ÙÐ9Ó:ððuð 	2ÙÐ/Ó0ððuð 	4ÙÐ1Ó2ððuð& 	3ÙÐ0Ó1ðð%uð. 	.ÙÐ/Ó0ðð-uð6 	/Ø(Øðð5uð@ 	.Ø(Øðð?uðH Ð8Ð9ðIuðJ  Ð!<Ð=ðKuðL &Ð'MÐNðMuðN ,Ð-MÐNðOuðP 'Ð(=Ð>ðQuðT 	0ØEððSuð\ 	.ØCðð[uðd 	&Ø2ððcuðl 	0Ø.ððkuðr Ð+Ð,ðsuðv 	(ÙØ ØØ Ø"ñ		
÷
 3Ò
2ððuuðF 'Ð(=Ð>ðGuðH -Ð.GÐHðIuðJ 'Ð(AÐBðKuðN 	Ø$ððMuðT Ð/Ð0ðUuðV Ð+¨^Ð<ðWuðX Ð 2Ð3ðYuðZ Ð7Ð8ð[uð\ ÐEÐFð]uð^ !Ð"6Ð7ð_uð` !Ð"IÐJðauðd 	0Ø*ððcuðl 	2Ø*ððkuðt 	7Ø*ððsuðz ,Ð-EÐFð{uð| 0Ð1IÐJð}uð~ ,Ð-DÐEðuð@ +Ð,CÐDðAuðD 	:ØððCuðJ )Ð*MÐNðKuðL -Ð.GÐHðMuðN 1Ð2KÐLðOuðP 3Ð4JÐKðQuðR 2Ð3IÐJðSuðT %Ð&JÐKðUuðV Ð2Ð3ðWuðX Ð(Ð)ðYuðZ Ð/Ð0ð[uð\ Ð0Ð1ð]uð^ $Ð%7Ð8ð_uð` 6Ð7IÐJðauðb )Ð*?Ð@ðcuðd /Ð0EÐFðeuðf $Ð%=Ð>ðguðh Ð)Ð*ðiuðj /Ð0KÐLðkuðl Ð,¨nÐ=ðmuðn ,¨_Ð=ðouðp 5°oÐFðquðr 5°oÐFðsuðv 	CØððuuð| ,¨_Ð=ð}uð~ 3°OÐDðuð@ Ð3Ð4ðAuðB Ð8Ð9ðCuðD ,¨WÐ5ðEuðF +¨GÐ4ðGuðH +¨GÐ4ðIuðJ ,¨WÐ5ðKuðL ,Ð-@ÐAðMuðN 7¸Ð@ðOuðP ,¨WÐ5ðQuðR 0°Ð9ðSuðT 0Ð1DÐEðUuðV 9¸'ÐBðWuðX 5°gÐ>ðYuðZ /Ð0GÐHð[uð^ 	GØðð]uðd & Ð7ðeuðf &Ð'8Ð9ðguðh Ð3Ð4ðiuðj Ð>Ð?ðkuðn 	-Ø1ððmuðt !Ð"4Ð5ðuuðv #Ð$9Ð:ðwuðx (Ð)DÐEðyuð| 0Ð1CÐDð}uðB 	,ÙØð4ó	
÷ (Ò
'ððAuðR 	8Ù˜:Ó&×DÒDððQuðZ 	>Ù˜:Ó&×DÒDððYuðb 	OÙ+Ó-ððauðl 	=Ø8ððkuðv 	3Ù  Ó,ððuuð~ 	HÙ  Ó,ðð}uðH 	3Ù˜>Ó*×HÒHððGuðP 	3ÙÐ.Ó/×MÒMððOuðZ 	'ÙÐ.Ó/×MÒMððYuðd 	'ÙØ)ó	
ç
'Ò
'ð	ðcuðr 	<Ù  Ó+ððquð| 	'ÙØØòó	
÷$ Š*ð)ð{uðl "Ð#JÐKðmuðt !Ð"<Ð=ðuuðv -Ð.FÐGðwuðx 'Ð(@ÐAðyuðz &Ð'?Ð@ð{uð| 3Ð4LÐMð}uð@ 	EØ ððuðJ 	<Ù˜>Ó*×HÒHððIuðR 	6Ù˜>Ó*×HÒHððQuðZ 	5Ù˜>Ó*×HÒHððYuðb 	BÙ˜>Ó*×HÒHððauðj 	QÙ˜>Ó*×HÒHððiuðv 1Ð2JÐKðwuðx +Ð,DÐEðyuð~ 	@Ù˜>Ó*×HÒHðð}uðF	 	:Ù˜>Ó*×HÒHððE	uðR	 /Ð0HÐIðS	uðT	 )Ð*BÐCðU	uðZ	 	>Ù˜>Ó*×HÒHððY	uðb	 	8Ù˜>Ó*×HÒHðða	uðh	 Ð7Ð8ði	uÐ ñl	 Ð'Õ (r7   