
    i                     ,   d Z ddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
mZ ddlmZ ddlmZ ddlmZ ddlmZmZ dd	lmZmZmZ  ej        e          Zd
dgZg dZdZdZdZ dZ! G d d          Z" G d d          Z# G d de$e#          Z%dS )zInternal module to help with normalizing botocore client args.

This module (and all function/classes within this module) should be
considered internal, and *not* a public API.

    N)Config)EndpointCreator)EndpointResolverBuiltins)EndpointRulesetResolver)RequestSigner)UserAgentStringregister_feature_id)$PRIORITY_ORDERED_SUPPORTED_PROTOCOLSensure_booleanis_s3_accelerate_urllegacyregional)zap-northeast-1z
ap-south-1zap-southeast-1zap-southeast-2
aws-globalzca-central-1zeu-central-1z
eu-north-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1	us-east-1z	us-east-2z	us-west-1z	us-west-22   )when_supportedwhen_required)	preferreddisabledrequiredc                       e Zd Z	 d(dZ	 	 	 d)dZd Zd Zd Zd Zd Z	d	 Z
d
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd(dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$ Z%d% Z&d& Z'd' Z(dS )*ClientArgsCreatorNc                     || _         || _        || _        || _        || _        |t          j                    | _        d S || _        d S N)_event_emitter_response_parser_factory_loader_exceptions_factory_config_storer   from_environment_session_ua_creator)selfevent_emitter
user_agentresponse_parser_factoryloaderexceptions_factoryconfig_storeuser_agent_creators           T/home/ubuntu/.hermes/hermes-agent/venv/lib/python3.11/site-packages/botocore/args.py__init__zClientArgsCreator.__init__V   sV     ,(?%#5 )%'6'G'I'ID$$$'9D$$$    c                 T   |                      |||	||||          }|d         }|d         }|d         }|d         }|d         }|d         }|d                             dd           }|d	         }|d
         }|d         }|d         }|d         }|d         }|d         }t          j        | j                  }t	          |j        ||d         |d         |||
          }||d<   t          di |}t          |          }|                    |||d         || j	        |j
        |j        |j        |j        f||j        |j                  } d| }!dt           j        j        i}"|                    |!|||"           t           j                            |||"d                   }#t           j                            |          }$|                     |||||||| ||	|||||          }%| j                            |          }&|r|j        nd }'|'|_        |#| |$|||| j        ||| j        |%|&dS )Nservice_nameparameter_validationendpoint_configprotocolconfig_kwargs	s3_configmetadata	partitionsocket_optionsconfigured_endpoint_urlsigning_regionregion_nameaccount_id_endpoint_modes3_disable_express_session_authauth_scheme_preferencesigning_namesignature_versions3endpoint_url)
r9   r@   verifyr%   max_pool_connectionsproxiestimeoutr6   client_certproxies_configzcreating-serializer.timestamp_precision)protocol_nameservice_modelserializer_kwargs)rG   )
serializerendpointresponse_parserr#   request_signerrI   r&   client_configr5   r'   endpoint_ruleset_resolverr)    )compute_client_argsgetcopyr   r   
service_idr   r   create_endpointr   rB   rC   connect_timeoutread_timeoutrE   rF   botocore	serializeTIMESTAMP_PRECISION_DEFAULTemitcreate_serializerparserscreate_parser_build_endpoint_resolverr!   with_client_configr$   _supplied_user_agentr   r   )(r"   rI   r9   	is_securer@   rA   credentialsscoped_configrO   endpoint_bridge
auth_tokenendpoints_ruleset_datapartition_data
final_argsr.   r/   r0   r1   r2   r3   r5   r6   r7   r8   endpoint_region_namer:   r;   r<   r#   signer
new_configendpoint_creatorrL   
event_namerJ   rK   rM   ruleset_resolverclient_ua_creatorsupplied_uas(                                           r*   get_client_argsz!ClientArgsCreator.get_client_argsj   s    --
 

 ".1)*@A$%67j)"?3{+	#J/33KFF	#$45",-F"G()9:.}=#01K#L *7-+
' "//G!H	$"566$N+/0
 
 (d,,m,,
*=99#33,(8$($A!+!@&/1HI)".%4 4 
 
 ;L::
!8#5#Q
 	"'/	 	 	
 	
 	
 '99  12G H : 
 


 #*88BB88" #$+"
 
& !4GG
 
 3@Im..T*5
' % .*$*l'""&":)9"3
 
 	
r,   c                 H   |j         }|j        }	d}
|r
|j        sd}
n(|r&|                    d          }|t	          |          }
|                     |          }|                     ||          }|t          d           |                     ||||||          }|d                             dg           }| j	        
                    |                                          }t          |d	         |d
         |          }d|v r|                    d           d|v r|                    d           ||                    |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j        |j         |j!        |j!                            d          nd            | "                    |           | #                    |           | $                    |           | %                    |           | &                    |           | '                    |           | (                    |           | )                    ||           | *                    ||           | +                    ||           | ,                    |           |                     |          }| -                    |          }|rd|v r	|i }d|d<   ||
|||	||| .                    ||          dS )NTFr/   )rO   r@   ENDPOINT_OVERRIDE)r.   r9   r@   rc   rf   r3   r4   tagsr9   r>   )r9   r>   r$   	dualstack)use_dualstack_endpointfips)use_fips_endpointdisable_s3_express_session_auth)rW   rX   rB   rC   rF   retriesrE   inject_host_prefixtcp_keepaliveuser_agent_extrauser_agent_appid"request_min_compression_size_bytesdisable_request_compressionclient_context_paramssigv4a_signing_region_setrequest_checksum_calculationresponse_checksum_validationr:   r<   r;   rx   )r.   r/   r7   r0   r1   r2   r3   r6   )/endpoint_prefixresolved_protocolr/   rS   r   compute_s3_config _compute_configured_endpoint_urlr	   _compute_endpoint_configr!   ra   	to_stringdictupdaterW   rX   rB   rC   rF   r|   rE   r}   r~   r   r   r   r   r   r   r   r   r:   r<   r?   _compute_retry_config_compute_connect_timeout _compute_user_agent_appid_config#_compute_request_compression_config)_compute_sigv4a_signing_region_set_config_compute_checksum_config(_compute_account_id_endpoint_mode_config_compute_inject_host_prefix&_compute_auth_scheme_preference_config!_compute_signature_version_config(_compute_s3_disable_express_session_auth_is_s3_service_compute_socket_options)r"   rI   rO   rf   r9   r@   rc   re   r.   r1   r/   	raw_valuer3   r7   r0   endpoint_variant_tagspreliminary_ua_stringr2   is_s3_services                      r*   rR   z%ClientArgsCreator.compute_client_args   s    %4 2# 	A!C 	A#(   	A%))*@AAI$'5i'@'@$**=99	"&"G"G'% #H #
 #
 #. 344477%#0+ 8 
 
 !0
 ; ? ? K K !% 8 K K!
 !

)++ 	 '6-.AB,
 
 

 ///   ===***  4 888$   - =*7%2%G%-,;%-)5#0#C+9!.!?!.!?!D "=&3&I!; "> ">)6)O'4'K %'3 "$(()JKKKC ! # # #H 	""=111%%m444--m<<<00???66}EEE%%m44455mDDD((FFF33=	
 	
 	
 	..}mLLL55mDDD**=99	++L99 	7[,AAA 	26I./ )$8'>. *""::} 
 
 	
r,   c                 v    ||j         dk    r+| j                            d          }|| |d<   d S d|d<   d S d S )NUNSETdisable_host_prefix_injectionr}   T)_inject_host_prefixr   get_config_variable)r"   rO   r2   (configured_disable_host_prefix_injections       r*   r   z-ClientArgsCreator._compute_inject_host_prefixp  s{     !0G;; "663  5
 8C A@ (   7;2333 <;r,   c                     ||S |                      |          rt                              d           |S | j                            d          S )Nz"Ignoring configured endpoint URLs.r@   ) _ignore_configured_endpoint_urlsloggerdebugr   r   )r"   rO   r@   s      r*   r   z2ClientArgsCreator._compute_configured_endpoint_url  sT    #00?? 	 LL=>>>!55nEEEr,   c                 V    |r|j         |j         S | j                            d          S )Nignore_configured_endpoint_urls)r   r   r   )r"   rO   s     r*   r   z2ClientArgsCreator._ignore_configured_endpoint_urls  s;    	A=I @@!55-
 
 	
r,   c                     | j                             d          }|?|j        8||j        }n.|                                }|                    |j                   |S )Nr?   )r   r   r?   rT   r   )r"   rO   s3_configurations      r*   r   z#ClientArgsCreator.compute_s3_config  sm    -AA$GG $+#+'4'7$$ (8'<'<'>'>$$++M,<===r,   c                 
    |dv S )a,  Whether the service is S3 or S3 Control.

        Note that throughout this class, service_name refers to the endpoint
        prefix, not the folder name of the service in botocore/data. For
        S3 Control, the folder name is 's3control' but the endpoint prefix is
        's3-control'.
        )r?   z
s3-controlrQ   )r"   r.   s     r*   r   z ClientArgsCreator._is_s3_service  s     333r,   c                 |    |||||d}|dk    r | j         dd|i|S |dk    r | j        di |S  | j        di |S )N)r.   r9   r@   rc   rf   r?   r3   stsrQ   )_compute_s3_endpoint_config_compute_sts_endpoint_config_resolve_endpoint)r"   r.   r9   r@   rc   rf   r3   resolve_endpoint_kwargss           r*   r   z*ClientArgsCreator._compute_endpoint_config  s     )&(".#
 #
 4343  #'>   5  444OO7NOOO%t%@@(?@@@r,   c                     |                      |d         |          }|rd |d<    | j        di |}|                     ||d                    |r|d         dk    rd|d<   |S )Nr9   rf   r   r   rQ   )_should_force_s3_globalr   !_set_region_if_custom_s3_endpoint)r"   r3   r   force_s3_globalr0   s        r*   r   z-ClientArgsCreator._compute_s3_endpoint_config  s     66#M2I
 
  	:59#M20$0KK3JKK..45FG	
 	
 	
  	9}=MM-8OM*r,   c                 d    d}|r!d|v r|d         }|                      |           |dv }|dk    o|S )Nr   us_east_1_regional_endpoint)r   N)_validate_s3_regional_config)r"   r9   r3   s3_regional_configis_global_regions        r*   r   z)ClientArgsCreator._should_force_s3_global  sZ    % 	B6)CC!*+H!I--.@AAA&*==!X-B2BBr,   c                 X    |t           vr t          j                            |          d S )N)%s3_us_east_1_regional_endpoint_config)VALID_REGIONAL_ENDPOINTS_CONFIGrY   
exceptions+InvalidS3UsEast1RegionalEndpointConfigError)r"   
config_vals     r*   r   z.ClientArgsCreator._validate_s3_regional_config  s:    <<<%QQ6@ R    =<r,   c                     t          |t                    o|                                dv }t          |t                    s&|s&t          j                            d| d          d S d S )N)truefalseInvalid value "z>" for s3_disable_express_session_auth. Value must be a boolean	error_msg)
isinstancestrlowerboolrY   r   InvalidConfigError)r"   r   string_bools      r*   )_validate_s3_disable_express_session_authz;ClientArgsCreator._validate_s3_disable_express_session_auth  s     S11 
j6F6F6H6H M
 7
 *d++ 	K 	%88Oj O O O 9   	 	 	 	r,   c                     |d         5|d         /|                     d          }|d         |d<   |d         |d<   d S d S d S )Nr8   r9   r?   resolve)r"   r0   rf   rL   s       r*   r   z3ClientArgsCreator._set_region_if_custom_s3_endpoint  sb     ,-5.6&..t44H089I0JO,--5m-DOM*** 6566r,   c                      | j         di |}|                     |d         |d         |          r|                     ||d                    |S )Nr9   r@   rc   rQ   )r   _should_set_global_sts_endpoint_set_global_sts_endpoint)r"   r   r0   s      r*   r   z.ClientArgsCreator._compute_sts_endpoint_config  ss    0$0KK3JKK//#M2#N3
 
 	
 ))!8!E   r,   c                     |o(|                     di                                d          }|s|rdS |                                 dk    o|t          v S )Nr4   rv   Fr   )rS   "_get_sts_regional_endpoints_configLEGACY_GLOBAL_STS_REGIONS)r"   r9   r@   r0   has_variant_tagss        r*   r   z1ClientArgsCreator._should_set_global_sts_endpoint  sq     + /B/B0
 0

#f++ 	  	+ 	53355A 988	
r,   c                     | j                             d          }|sd}|t          vr t          j                            |          |S )Nsts_regional_endpointsr   )sts_regional_endpoints_config)r   r   r   rY   r   &InvalidSTSRegionalEndpointsConfigError)r"   r   s     r*   r   z4ClientArgsCreator._get_sts_regional_endpoints_config%  sl    (,(:(N(N$)
 )
% - 	7,6))23 3 %LL.K M    -,r,   c                 ,    |rdnd}| d|d<   d|d<   d S )Nhttpshttpz://sts.amazonaws.comr@   r   r8   rQ   )r"   r0   rc   schemes       r*   r   z*ClientArgsCreator._set_global_sts_endpoint4  s4    %16-3*I*I*I',7()))r,   c                 2    |                     ||||          S r   r   )r"   r.   r9   r@   rc   rf   s         r*   r   z#ClientArgsCreator._resolve_endpoint9  s%     &&+|Y
 
 	
r,   c                     t           j        t           j        dfg}|o|j        }|| j                            d          }|r,|                    t           j        t           j        df           |S )N   r~   )	socketIPPROTO_TCPTCP_NODELAYr~   r   r   append
SOL_SOCKETSO_KEEPALIVE)r"   re   rO   r6   client_keepalives        r*   r   z)ClientArgsCreator._compute_socket_optionsE  s{     "-v/A1EF(H]-H##1EE     	O!!6#4f6I1"MNNNr,   c                 Z    |                      |           |                     |           d S r   )_compute_retry_max_attempts_compute_retry_moder"   r2   s     r*   r   z'ClientArgsCreator._compute_retry_configT  s0    ((777  /////r,   c                 
   |                     d          }|?d|v r|                    dd            d S d|v r|                    d          }|dz   |d<   d S | j                            d          }||i }||d<   ||d<   d S d S )Nr|   total_max_attemptsmax_attemptsr   )rS   popr   r   )r"   r2   r|   valuer   s        r*   r   z-ClientArgsCreator._compute_retry_max_attemptsX  s      ##I..#w..ND111((N33 16	,- )==nMM#+2i(,8G()))	 $#r,   c                     |                     d          }|i }||d<   nd|v rd S | j                            d          }|d}||d<   d S )Nr|   mode
retry_moder   rS   r   r   )r"   r2   r|   r   s       r*   r   z%ClientArgsCreator._compute_retry_modex  sl    ##I..?G'.M)$$w F';;LII
!J$r,   c                 ~    |                     d          }|d S | j                            d          }|r||d<   d S d S )NrW   r   )r"   r2   rW   s      r*   r   z*ClientArgsCreator._compute_connect_timeout  sc     (++,=>>&F,@@
 
  	?/>M+,,,	? 	?r,   c                 (   |                     d          }|                     d          }|| j                            d          }|                     |          }||d<   || j                            d          }nt	          |          }||d<   d S )Nr   r   )rS   r   r   _validate_min_compression_sizer   )r"   r2   min_sizer   s       r*   r   z5ClientArgsCreator._compute_request_compression_config  s     $$%IJJ $$%BCC)==4 H 66x@@>F:;)==- HH
 &h//H7?3444r,   c                     |                     d          }|| j                            d          }||                     |           t	          |          |d<   d S )Nr;   )rS   r   r   r   r   )r"   r2   disable_expresss      r*   r   z:ClientArgsCreator._compute_s3_disable_express_session_auth  sq    '++,MNN""0DD1 O
 &::?KKK;I<
 <
7888r,   c                 D   d}d}d| d}	 t          |          }nJ# t          t          f$ r6 | dt          |           d}t          j                            |          w xY w||cxk    r|k    s-n | d| d	| d
}t          j                            |          |S )Nr   i   r   z)" for request_min_compression_size_bytes.z$ Value must be an integer. Received z	 instead.r   z Value must be between z and .)int
ValueError	TypeErrortyperY   r   r   )r"   r   min_allowed_min_sizemax_allowed_min_sizeerror_msg_basemsgs         r*   r   z0ClientArgsCreator._validate_min_compression_size  s!    &2h 2 2 2 		H8}}HHI& 	H 	H 	H! 6 6 NN6 6 6  %8838GGG	H $xGGGG3GGGGG! F F'F F.BF F F  %8838GGGs
    AA#c                 `    t          |t                    r|S |                                dk    S )Nr   )r   r   r   )r"   vals     r*   _ensure_booleanz!ClientArgsCreator._ensure_boolean  s,    c4   	)J99;;&((r,   c                 f   |d S |                      |          pi }|j        }|dv s||}n|}|                     ||||
||j        |||	  	        }|
|j        pi }ni }|                     |          r|                    |           |||d<   ||j        nd }t          |||||||	||	  	        S )N)r?   r   )	r9   r.   r3   rf   client_endpoint_urllegacy_endpoint_urlrd   r:   r;   r{   )	endpoint_ruleset_datari   rI   builtinsclient_contextr#   use_sslrequested_auth_schemer<   )	r   r   *compute_endpoint_resolver_builtin_defaultshostr   r   r   r>   r   )r"   rh   ri   rO   rI   rk   r9   r@   rL   rc   rf   r#   rd   r:   r;   r<   s3_config_rawservice_name_raweprv2_region_nameresolver_builtinsr  sig_versions                         r*   r`   z*ClientArgsCreator._build_endpoint_resolver  s6   $ ")4 ..}==C(8 },,0C 4 + KK))#+ , (#%=,K L 

 

 $*@FBNNN/00 	!!-000.:3 @A ( ++ 	
 '"8)'&)'"-#9

 

 

 
	
r,   c
                    |r|}
n|                                 s|}
nd }
|                    dd          rd}nD|)t          |          s|                    d          dk    }n|                    d          dk    }t          j        |t          j        |
d u r|                    d          pdt          j        |
d u r|                    |          pdt          j	        | 
                    |d d           t          j        |                     ||          t          j        |                    dd          t          j        |t          j        |                    dd	          t          j        |                    dd          t          j        |                    d
d          t          j        |	t          j        |
t          j        |r|                    d          nd t          j        |iS )Nuse_accelerate_endpointFaddressing_stylevirtualpathrz   )r9   r@   r0   use_arn_regionT$s3_disable_multiregion_access_points
account_id)resolver_uses_builtin_datarS   r   EPRBuiltins
AWS_REGIONAWS_USE_FIPS$_resolve_endpoint_variant_config_varAWS_USE_DUALSTACK_resolve_use_dualstack_endpointAWS_STS_USE_GLOBAL_ENDPOINTr   AWS_S3_USE_GLOBAL_ENDPOINTr   AWS_S3_ACCELERATEAWS_S3_FORCE_PATH_STYLEAWS_S3_USE_ARN_REGIONAWS_S3CONTROL_USE_ARN_REGIONAWS_S3_DISABLE_MRAP#AWS_S3_DISABLE_EXPRESS_SESSION_AUTHSDK_ENDPOINT
ACCOUNT_IDget_deferred_propertyACCOUNT_ID_ENDPOINT_MODE)r"   r9   r.   r3   rf   r  r  rd   r:   r;   given_endpointforce_path_styles               r*   r  z<ClientArgsCreator.compute_endpoint_resolver_builtin_defaults!  s-     	"0NN !;;== 	"0NN!N ==2E:: 	K$ ,5I6
 6
,  )}}-?@@IM(}}-?@@FJ "K$$&  $HH'  )$&  $CC   344 +!%$( 5   2,,[)DD)9==)5, , /1A-y}} $0 0 4imm %7 7 +Y]]6. . ;/$n" %K$E$E% % % 02Jm7
 7	
r,   c                     |                     d          }|| j                            d          }|8t          |          t          k    r t
                              dt                     ||d<   d S )Nr   zVThe configured value for user_agent_appid exceeds the maximum length of %d characters.)rS   r   r   lenUSERAGENT_APPID_MAXLENr   warning)r"   r2   r   s      r*   r   z2ClientArgsCreator._compute_user_agent_appid_config  s    (,,-?@@##1EE"    ($%%(>>>NN3&  
 -=()))r,   c                 r    |                     d          }|| j                            d          }||d<   d S )Nr   r   )r"   r2   r   s      r*   r   z;ClientArgsCreator._compute_sigv4a_signing_region_set_config  sS    $1$5$5'%
 %
! %,(,(:(N(N+) )% 6O1222r,   c                 z    |                      |dt                     |                      |dt                     d S )Nr   )
config_keyvalid_optionsr   )_handle_checksum_config)VALID_REQUEST_CHECKSUM_CALCULATION_CONFIG)VALID_RESPONSE_CHECKSUM_VALIDATION_CONFIGr   s     r*   r   z*ClientArgsCreator._compute_checksum_config  sZ    $$5C 	% 	
 	
 	

 	$$5C 	% 	
 	
 	
 	
 	
r,   c                 <   |                     |          }|| j                            |          }t          |t                    r|                                }||vr"t          j                            |||          | 	                    ||           |||<   d S )N)r?  config_valuer@  )
rS   r   r   r   r   r   rY   r   InvalidChecksumConfigError%_register_checksum_config_feature_ids)r"   r2   r?  r@  r   s        r*   rA  z)ClientArgsCreator._handle_checksum_config  s     !!*--=&:::FFEeS!! 	"KKMME%%%@@%"+ A   
 	225*EEE$)j!!!r,   c                     d }|dk    rd|                                  }n|dk    rd|                                  }|t          |           d S d S )Nr   FLEXIBLE_CHECKSUMS_REQ_r   FLEXIBLE_CHECKSUMS_RES_)upperr	   )r"   r   r?  checksum_config_feature_ids       r*   rG  z7ClientArgsCreator._register_checksum_config_feature_ids  sz    %)"7779%++--99 '& 9999%++--99 ' &1 :;;;;; 21r,   c           	         d}|                     d          }|t          j        u rd||<   d S |                     |          }|| j                            |          }t          |t                    r|                                }|t          vr/t          j	        
                    d| d| dt           d          |||<   d S )	Nr:   r>   r   zThe configured value 'z' for 'z ' is invalid. Valid values are: r  r   )rS   rY   UNSIGNEDr   r   r   r   r   %VALID_ACCOUNT_ID_ENDPOINT_MODE_CONFIGr   r   )r"   r2   r?  r>   r:   s        r*   r   z:ClientArgsCreator._compute_account_id_endpoint_mode_config  s   /
 *--.ABB 111(2M*%F#0#4#4Z#@#@ #+'+'9'M'M( ($ .44 	H'?'E'E'G'G$ %89 9 %88W3K W WT^ W W.SW W W 9   
 %=j!!!r,   c                    d}d}|r|j         r
|j         }d}n| j                            |          }|d ||<   d S t          |t                    s6t
          j                            | dt          |           d| d          d	                    d	 |
                    d          D                       }|rt          |          }|||<   d S )
Nr<   FTz, must be a comma-delimited string. Received z
 instead: r  r   ,c              3      K   | ]B}|                                 |                    d d                              dd          V  CdS )  	N)stripreplace).0items     r*   	<genexpr>zKClientArgsCreator._compute_auth_scheme_preference_config.<locals>.<genexpr>  sb       
 
zz||
LLb!!))$33
 
 
 
 
 
r,   )r<   r   r   r   r   rY   r   r   r  joinsplitClientConfigString)r"   rO   r2   r?  set_in_config_objectr   s         r*   r   z8ClientArgsCreator._compute_auth_scheme_preference_config  s-    .
$ 	G]A 	G!8E#'  &:::FFE=(,M*%F%%% 	%88! @ @ $U@ @7<@ @ @ 9     
 
C((
 
 
 
 
   	.&u--E$)j!!!r,   c                     |r7|j         r2|j         }t          |t                    rt          |          |d<   d S d S d S d S )Nr>   )r>   r   r   r]  )r"   rO   r2   r   s       r*   r   z3ClientArgsCreator._compute_signature_version_config  sn     	O]< 	O!3E%%% O5G5N5N1222	O 	O 	O 	OO Or,   r   )NNN))__name__
__module____qualname__r+   rs   rR   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   r   rA  rG  r   r   r   rQ   r,   r*   r   r   U   s         : : : :> #@
 @
 @
 @
DB
 B
 B
H; ; ;&F F F	
 	
 	
     &4 4 4A A A0  *C C C    E E E
 
 

 
 
- - -8 8 8


 

 

   0 0 09 9 9@% % %? ? ?@ @ @,
 
 
  0) ) )J
 J
 J
X^
 ^
 ^
@= = ="O O O

 

 

* * *,< < <= = =<!* !* !*FO O O O Or,   r   c                       e Zd ZdZdS )ConfigObjectWrapperz8Base class to mark values set via in-code Config object.N)r`  ra  rb  __doc__rQ   r,   r*   rd  rd    s        BBDr,   rd  c                         e Zd Zd fd	Z xZS )r]  Nc                 H    t                                          | |          S r   )super__new__)clsr   	__class__s     r*   ri  zClientConfigString.__new__  s    wwsE***r,   r   )r`  ra  rb  ri  __classcell__)rk  s   @r*   r]  r]    s=        + + + + + + + + + +r,   r]  )&re  rT   loggingr   botocore.exceptionsrY   botocore.parsersbotocore.serializebotocore.configr   botocore.endpointr   botocore.regionsr   r%  r   botocore.signersr   botocore.useragentr   r	   botocore.utilsr
   r   r   	getLoggerr`  r   r   r   r;  rB  rC  rO  r   rd  r   r]  rQ   r,   r*   <module>rx     s                   " " " " " " - - - - - - D D D D D D 4 4 4 4 4 4 * * * * * * C C C C C C C C          
	8	$	$ #    (  - )- )) %{O {O {O {O {O {O {O {O|	 	 	 	 	 	 	 	+ + + + +1 + + + + +r,   