403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/botocore/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/botocore/__pycache__/configprovider.cpython-314.pyc
+
��i̔��@�Rt^RIt^RIt^RIt^RIHt^RIHt]P!]	4t
/RRRR.RR3bRR_bRR`bR	RabR
RbbRRR/R3bRRcbR
R
R^]3bRRR^]3bRRdbRRebRRRR]P3bRRRR]P3bRRRR]P3bRRRR]P3bRRRR]P3bRRfb/RRR R]P3bR!RgbR"R"R#R$]3bR%RhbR&RibR'RjbR(RkbR)RlbR*R*R+R]3bR,RmbR-RnbR.R.R/R]P3bR0RobR1RpbR2RqbR3RrbR4R4R5R]P3bCR6Rs/Ct
R7RtR8RuRR]P3RRvRR]P3R9RwRR]P3R:R;Rx.R<R]P3R=R>Ry.R?RR3R@RzRAR]P3/tRBR{RCR|RDRDRR]P3/tREtRFt!RGRH4t!RIRJ4t!RKRL4t!RMRN4t!RORP4t!RQRR]4t!RSRT]4t!RURV]4t!RWRX]4t!RYRZ]4t!R[R\]4t!R]R^]4tR#)}zPThis module contains the interface for controlling how configuration
is loaded.
N)�utils)�InvalidConfigError�profile�AWS_DEFAULT_PROFILE�AWS_PROFILE�region�	data_path�config_file�	ca_bundle�api_versions�credentials_file�metadata_service_timeout�AWS_METADATA_SERVICE_TIMEOUT�metadata_service_num_attempts�!AWS_METADATA_SERVICE_NUM_ATTEMPTS�ec2_metadata_service_endpoint�"ec2_metadata_service_endpoint_mode�ec2_metadata_v1_disabled�AWS_EC2_METADATA_V1_DISABLEDF�
imds_use_ipv6�AWS_IMDS_USE_IPV6�use_dualstack_endpoint�AWS_USE_DUALSTACK_ENDPOINT�use_fips_endpoint�AWS_USE_FIPS_ENDPOINT�ignore_configured_endpoint_urls�#AWS_IGNORE_CONFIGURED_ENDPOINT_URLS�parameter_validation�csm_enabled�AWS_CSM_ENABLED�csm_host�csm_port�AWS_CSM_PORTiy�
csm_client_id�endpoint_discovery_enabled�sts_regional_endpoints�
retry_mode�
defaults_mode�max_attempts�AWS_MAX_ATTEMPTS�user_agent_appid�"request_min_compression_size_bytes�disable_request_compression�AWS_DISABLE_REQUEST_COMPRESSION�sigv4a_signing_region_set�request_checksum_calculation�response_checksum_validation�account_id_endpoint_mode�disable_host_prefix_injection�!AWS_DISABLE_HOST_PREFIX_INJECTION�auth_scheme_preference�addressing_style�use_accelerate_endpoint�payload_signing_enabled�use_arn_region�s3_use_arn_region�AWS_S3_USE_ARN_REGION�us_east_1_regional_endpoint�s3_us_east_1_regional_endpoint�"AWS_S3_US_EAST_1_REGIONAL_ENDPOINT�$s3_disable_multiregion_access_points�(AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS�proxy_ca_bundle�proxy_client_cert�proxy_use_forwarding_for_httpsc��\VR7p\V\4p\RV\V\44VR&\RV\V\
44VR&V#))�session�s3�proxies_config)�ConfigChainFactory�_create_config_chain_mapping�!BOTOCORE_DEFAUT_SESSION_VARIABLES�SectionConfigProvider�DEFAULT_S3_CONFIG_VARS�DEFAULT_PROXIES_CONFIG_VARS)rD�
chain_builder�config_mappings&  �9/usr/lib/python3/dist-packages/botocore/configprovider.py�&create_botocore_default_config_mappingrPsl��&�w�7�M�1��8��N�1���$�]�4J�K��N�4��
(=���$��6�	
�(�N�#�$���c	��/pVP4F9wr4VPVV^,V^,V^,V^,R7W#&K;	V#)�)�
instance_name�
env_var_names�config_property_names�default�conversion_func)�items�create_config_chain)rM�config_variables�mapping�logical_name�configs&&   rOrHrH s\���G� 0� 6� 6� 8��� -� A� A�&� ��)�"(��)��1�I�"�1�I�!B�!
���!9��NrQc�8a�]tRtRtoRtRtRtRtRtVt	R#)�DefaultConfigResolveri-c�L�VR,VnVR,Vn/VnR#)�base�modesN��_base_default_config�_modes� _resolved_default_configurations)�self�default_config_datas&&rO�__init__�DefaultConfigResolver.__init__.s#��$7��$?��!�)�'�2���02��-rQc�L�VPP4pVPPV4pVFhpW$,pW4,p\	VP44^,pWg,pVR8Xd
WX,pMVR8Xd
WX,
pM	VR8XdTpWRV&Kj	V#)��multiply�add�override)re�copyrf�get�list�keys)	rh�mode�default_config�
modifications�
config_var�
default_value�modification_dict�modification�modification_values	&&       rO�_resolve_default_values_by_mode�5DefaultConfigResolver._resolve_default_values_by_mode3s����2�2�7�7�9��������-�
�'�J�*�6�M� -� 9��� 1� 6� 6� 8�9�!�<�L�!2�!@���z�)��3�
���&��3�
���+� 2�
�)6�:�&�(��rQc�`�RR.pVPVPP44V#)�legacy�auto)�extendrfrt)rh�
default_modess& rO�get_default_modes�'DefaultConfigResolver.get_default_modesEs-��!�6�*�
����T�[�[�-�-�/�0��rQc��WP9d VPV4pW PV&VPV,#�N)rgr})rhru�defaultss&& rO�get_default_config_values�/DefaultConfigResolver.get_default_config_valuesJs=���<�<�<��;�;�D�A�H�:B�1�1�$�7��4�4�T�:�:rQrdN)
�__name__�
__module__�__qualname__�__firstlineno__rjr}r�r��__static_attributes__�__classdictcell__��
__classdict__s@rOr`r`-s����3�
�$�
;�;rQr`c�Da�]tRtRtoRtR	RltR
RltRtRtRt	Vt
R#)rGiQa
Factory class to create our most common configuration chain case.

This is a convenience class to construct configuration chains that follow
our most common pattern. This is to prevent ordering them incorrectly,
and to make the config chain construction more readable.
Nc�F�WnVf\PpW nR#)aGInitialize a ConfigChainFactory.

:type session: :class:`botocore.session.Session`
:param session: This is the session that should be used to look up
    values from the config file.

:type environ: dict
:param environ: A mapping to use for environment variables. If this
    is not provided it will default to use os.environ.
N)�_session�os�environ�_environ)rhrDr�s&&&rOrj�ConfigChainFactory.__init__Ys�� �
��?��j�j�G��
rQc�@�.pVe&VP\WPR74Ve!VPVP	V44Ve!VPVPV44VeVP\
VR74\VVR7#)a�Build a config chain following the standard botocore pattern.

In botocore most of our config chains follow the the precendence:
session_instance_variables, environment, config_file, default_value.

This is a convenience function for creating a chain that follow
that precendence.

:type instance_name: str
:param instance_name: This indicates what session instance variable
    corresponds to this config value. If it is None it will not be
    added to the chain.

:type env_var_names: str or list of str or None
:param env_var_names: One or more environment variable names to
    search for this value. They are searched in order. If it is None
    it will not be added to the chain.

:type config_property_names: str/tuple or list of str/tuple or None
:param config_property_names: One of more strings or tuples
    representing the name of the key in the config file for this
    config option. They are searched in order. If it is None it will
    not be added to the chain.

:type default: Any
:param default: Any constant value to be returned.

:type conversion_func: None or callable
:param conversion_func: If this value is None then it has no effect on
    the return type. Otherwise, it is treated as a function that will
    conversion_func our provided type.

:rvalue: ConfigChain
:returns: A ConfigChain that resolves in the order env_var_names ->
    config_property_name -> default. Any values that were none are
    omitted form the chain.
)�instance_varrD)�value)�	providersrX)�append�InstanceVarProviderr�r��_get_env_providers�_get_scoped_config_providers�ConstantProvider�
ChainProvider)rhrTrUrVrWrXr�s&&&&&& rOrZ�&ConfigChainFactory.create_config_chainis���Z�	��$����#�!.�
�
��
�
�$����T�4�4�]�C�D� �,�����1�1�2G�H�
������-�G�<�=���+�
�	
rQc��.p\V\4'gV.pVF(pVP\W0PR74K*	V#���name�env)�
isinstancersr��EnvironmentProviderr�)rhrU�env_var_providers�env_var_names&&  rOr��%ConfigChainFactory._get_env_providers�sH�����-��.�.�*�O�M�)�L��$�$�#��=�=�I�
�*�!� rQc��.p\V\4'gV.pVF)pVP\VVPR74K+	V#))�config_var_namerD)r�rsr��ScopedConfigProviderr�)rhrV�scoped_config_providers�config_property_names&&  rOr��/ConfigChainFactory._get_scoped_config_providers�sR��"$���/��6�6�%:�$;�!�$9� �#�*�*�$�$8� �M�M��
�%:�'�&rQ)r�r�r�)NNNNN)r�r�r�r��__doc__rjrZr�r�r�r�r�s@rOrGrGQs%����� � @
�D!�'�'rQrGc�Xa�]tRtRtoRtR
RltRtRtRtRt	R	t
R
tRtRt
VtR#)�ConfigValueStorei�z8The ConfigValueStore object stores configuration values.Nc��/Vn/VnVe-VP4Fwr#VPW#4K	R#R#)aInitialize a ConfigValueStore.

:type mapping: dict
:param mapping: The mapping parameter is a map of string to a subclass
    of BaseProvider. When a config variable is asked for via the
    get_config_variable method, the corresponding provider will be
    invoked to load the value.
N)�
_overrides�_mappingrY�set_config_provider)rhr\r]�providers&&  rOrj�ConfigValueStore.__init__�s>�������
���*1�-�-�/�&���(�(��@�+:�rQc���\\P!VPV44pVPP4Fwr4VP
W44K	V#r�)r�rq�deepcopyr�r�rY�set_config_variable)rh�memo�config_storer]�override_values&&   rO�__deepcopy__�ConfigValueStore.__deepcopy__�sL��'��
�
�d�m�m�T�(J�K��,0�O�O�,A�,A�,C�(�L��,�,�\�J�-D��rQc��\\P!VP44pVPP	4Fwr#VPW#4K	V#r�)r�rqr�r�rYr�)rhr�r]r�s&   rO�__copy__�ConfigValueStore.__copy__�sJ��'��	�	�$�-�-�(@�A��,0�O�O�,A�,A�,C�(�L��,�,�\�J�-D��rQc��WP9dVPV,#WP9dR#VPV,pVP4#)a�
Retrieve the value associated with the specified logical_name
from the corresponding provider. If no value is found None will
be returned.

:type logical_name: str
:param logical_name: The logical name of the session variable
    you want to retrieve.  This name will be mapped to the
    appropriate environment variable name for this session as
    well as the appropriate config file entry.

:returns: value of variable or None if not defined.
N)r�r��provide�rhr]r�s&& rO�get_config_variable�$ConfigValueStore.get_config_variable�sG���?�?�*��?�?�<�0�0��}�}�,���=�=��.�����!�!rQc�p�WP9gWP9dR#VPV,pV#)a�
Retrieve the provider associated with the specified logical_name.
If no provider is found None will be returned.

:type logical_name: str
:param logical_name: The logical name of the session variable
    you want to retrieve.  This name will be mapped to the
    appropriate environment variable name for this session as
    well as the appropriate config file entry.

:returns: configuration provider or None if not defined.
N)r�r�r�s&& rO�get_config_provider�$ConfigValueStore.get_config_provider�s.��
�O�O�+��=�=�0���=�=��.���rQc�"�W PV&R#)a
Set a configuration variable to a specific value.

By using this method, you can override the normal lookup
process used in ``get_config_variable`` by explicitly setting
a value.  Subsequent calls to ``get_config_variable`` will
use the ``value``.  This gives you per-session specific
configuration values.

::
    >>> # Assume logical name 'foo' maps to env var 'FOO'
    >>> os.environ['FOO'] = 'myvalue'
    >>> s.get_config_variable('foo')
    'myvalue'
    >>> s.set_config_variable('foo', 'othervalue')
    >>> s.get_config_variable('foo')
    'othervalue'

:type logical_name: str
:param logical_name: The logical name of the session variable
    you want to set.  These are the keys in ``SESSION_VARIABLES``.

:param value: The value to associate with the config variable.
N)r�)rhr]r�s&&&rOr��$ConfigValueStore.set_config_variable
s��0).����%rQc�>�VPPVR4R#)z�Remove an override config variable from the session.

:type logical_name: str
:param logical_name: The name of the parameter to clear the override
    value from.
N)r��pop)rhr]s&&rO�clear_config_variable�&ConfigValueStore.clear_config_variable's��	
�����L�$�/rQc�"�W PV&R#)a�Set the provider for a config value.

This provides control over how a particular configuration value is
loaded. This replaces the provider for ``logical_name`` with the new
``provider``.

:type logical_name: str
:param logical_name: The name of the config value to change the config
    provider for.

:type provider: :class:`botocore.configprovider.BaseProvider`
:param provider: The new provider that should be responsible for
    providing a value for the config named ``logical_name``.
N)r�r�s&&&rOr��$ConfigValueStore.set_config_provider0s��'/�
�
�l�#rQ)r�r�r�)r�r�r�r�r�rjr�r�r�r�r�r�r�r�r�r�s@rOr�r��s6����B�
A���"�*�*.�40�/�/rQr�c�Va�]tRtRtoRtRtRtRtRtRt	Rt
R	tR
tRt
VtR#)
�SmartDefaultsConfigStoreFactoryiBc�,�WnW nRVnR#r���_default_config_resolver�_imds_region_provider�_instance_metadata_region)rh�default_config_resolver�imds_region_providers&&&rOrj�(SmartDefaultsConfigStoreFactory.__init__Cs��(?�%�%9�"�*.��&rQc���VR8XdVPV4pVPPV4pVF-pWE,p\VRV2R4pV'gK%V!W4K/	R#)r��_set_N)�resolve_auto_moder�r��getattr)rhr�ru�region_name�default_configsrx�config_value�methods&&&&    rO�merge_smart_defaults�4SmartDefaultsConfigStoreFactory.merge_smart_defaultsJsh���6�>��)�)�+�6�D��)�)�C�C�D�I�	�*�J�*�6�L��T�U�:�,�#7��>�F��v��|�2�	*rQc��Rp\PPR4'd@\PPR4p\PPRV4pV'gAVP'dVPpM!VPP4pW nV'dW8XdR#R#R# \dL!i;i)N�AWS_EXECUTION_ENV�AWS_DEFAULT_REGION�
AWS_REGIONz	in-regionzcross-region�standard)r�r�rrr�r�r��	Exception)rhr��current_region�default_regions&&  rOr��1SmartDefaultsConfigStoreFactory.resolve_auto_modeVs�����
�:�:�>�>�-�.�.��Z�Z�^�^�,@�A�N��Z�Z�^�^�L�.�I�N���-�-�-�!%�!?�!?���%)�%?�%?�%G�%G�%I�N�5C�2���,�"�%���!����s� C�C�Cc�&�VPV4p\V4p\V\4'd+\P
!V4pVP
V4TpM#\V\4'd\WE.R7pVPW%4R#)�r�N)	r�r�r�r�rqr��set_default_provider�BaseProviderr�)rhr��variabler��original_provider�default_provider�chain_provider_copys&&&&   rO�_update_provider�0SmartDefaultsConfigStoreFactory._update_providerls���(�<�<�X�F��+�E�2���'��7�7�"&�-�-�0A�"B���4�4�5E�F�2��
�)�<�
8�
8�,�,�?� ��	�(�(��DrQc��\P!VPV44pVPV\	V44VPW%4R#r�)rqr�r�r�r�r�)rhr��section_namer�r��section_provider_copys&&&&& rO�_update_section_provider�8SmartDefaultsConfigStoreFactory._update_section_providerysL��!%�
�
��,�,�\�:�!
��	�2�2��&�u�-�	
�	�(�(��MrQc�,�VPVRV4R#)r&N�r��rhr�r�s&&&rO�_set_retryMode�.SmartDefaultsConfigStoreFactory._set_retryMode�s�����l�L�%�@rQc�,�VPVRV4R#)r%Nrrs&&&rO�_set_stsRegionalEndpoints�9SmartDefaultsConfigStoreFactory._set_stsRegionalEndpoints�s�����l�,D�e�LrQc�.�VPVRRV4R#)rEr;N)rrs&&&rO�_set_s3UsEast1RegionalEndpoints�?SmartDefaultsConfigStoreFactory._set_s3UsEast1RegionalEndpoints�s���%�%��$� =�u�	
rQc�:�VPVRVR,4R#)�connect_timeouti�Nrrs&&&rO�_set_connectTimeoutInMillis�;SmartDefaultsConfigStoreFactory._set_connectTimeoutInMillis�s�����l�,=�u�t�|�LrQr�N)r�r�r�r�rjr�r�r�rrrrrr�r�r�s@rOr�r�Bs=����.�
3��,E�	N�A�M�
�
M�MrQr�c�*a�]tRtRtoRtRtRtVtR#)r�i�z|Base class for configuration value providers.

A configuration provider has some method of providing a configuration
value.
c��\R4h)zProvide a config value.r�)�NotImplementedError�rhs&rOr��BaseProvider.provide�s
��!�)�,�,rQ�N)r�r�r�r�r�r�r�r�r�s@rOr�r��s�����-�-rQr�c�La�]tRtRtoRtRRltRtRtRtRt	R	t
R
tVtR#)r�i�z�This provider wraps one or more other providers.

Each provider in the chain is called, the first one returning a non-None
value is then returned.
Nc�*�Vf.pWnW nR#)a\Initalize a ChainProvider.

:type providers: list
:param providers: The initial list of providers to check for values
    when invoked.

:type conversion_func: None or callable
:param conversion_func: If this value is None then it has no affect on
    the return type. Otherwise, it is treated as a function that will
    transform provided value.
N)�
_providers�_conversion_func)rhr�rXs&&&rOrj�ChainProvider.__init__�s�����I�#�� /�rQc�l�\\P!VPV4VP4#r�)r�rqr�rr�rhr�s&&rOr��ChainProvider.__deepcopy__�s)����M�M�$�/�/�4�0�$�2G�2G�
�	
rQc�z�VPF*pVP4pVfKVPV4u#	R#)a
Provide the value from the first provider to return non-None.

Each provider in the chain has its provide method called. The first
one in the chain to return a non-None value is the returned from the
ChainProvider. When no non-None value is found, None is returned.
N)rr��
_convert_type)rhr�r�s&  rOr��ChainProvider.provide�s<�����H��$�$�&�E�� ��)�)�%�0�0�(�rQc�@�VP'd7\VPR,\4'dWPR&MVPPV4\	RVP44pV^8�d\
P
R4R#R#)rSc3�B"�TFp\V\4x�K	R#5ir�)r�r�)�.0r�s& rO�	<genexpr>�5ChainProvider.set_default_provider.<locals>.<genexpr>�s"���
�+��
�x�!1�2�2�+�s�zLChainProvider object contains multiple instances of ConstantProvider objectsN���)rr�r�r��sum�logger�info)rhr��num_of_constantss&& rOr��"ChainProvider.set_default_provider�s����?�?�?�z��O�O�B��!1� 
� 
�#3�O�O�B���O�O�"�"�#3�4��
� �O�O�
�
���a���K�K�8�
� rQc�D�VPeVPV4#V#r�)r�rhr�s&&rOr#�ChainProvider._convert_type�s$��� � �,��(�(��/�/��rQc
��RPRPVPUu.uFp\V4NK	up44#uupi)z[{}]z, )�format�joinr�str)rh�ps& rO�__repr__�ChainProvider.__repr__�s4���}�}�T�Y�Y����'H��1��A���'H�I�J�J��'Hs�A)rr)NN)
r�r�r�r�r�rjr�r�r�r#r8r�r�r�s@rOr�r��s/�����0�"
�
��$�
K�KrQr�c�<a�]tRtRtoRtRtRtRtRtRt	Vt
R#)	r�i�z>This class loads config values from the session instance vars.c��WnW nR#)aInitialize InstanceVarProvider.

:type instance_var: str
:param instance_var: The instance variable to load from the session.

:type session: :class:`botocore.session.Session`
:param session: The botocore session to get the loaded configuration
    file variables from.
N��
_instance_varr�)rhr�rDs&&&rOrj�InstanceVarProvider.__init__�s��*���
rQc�l�\\P!VPV4VP4#r�)r�rqr�r=r�r s&&rOr�� InstanceVarProvider.__deepcopy__�s)��"��M�M�$�,�,�d�3�T�]�]�
�	
rQc�p�VPP4pVPVP4pV#)z6Provide a config value from the session instance vars.)r��instance_variablesrrr=)rh�
instance_varsr�s&  rOr��InstanceVarProvider.provide�s/���
�
�8�8�:�
��!�!�$�"4�"4�5���rQc�<�RVPRVPR2#)z!InstanceVarProvider(instance_var=�
, session=�)r<rs&rOr8�InstanceVarProvider.__repr__�s'��2�4�3E�3E�2F�j�QU�Q^�Q^�P_�_`�a�arQr<N�r�r�r�r�r�rjr�r�r8r�r�r�s@rOr�r��s#����H� �
�
�b�brQr�c�8a�]tRtRtoRtRtRtRtRtVt	R#)r�ic��WnW nR#)a�Initialize ScopedConfigProvider.

:type config_var_name: str or tuple
:param config_var_name: The name of the config variable to load from
    the configuration file. If the value is a tuple, it must only
    consist of two items, where the first item represents the section
    and the second item represents the config var name in the section.

:type session: :class:`botocore.session.Session`
:param session: The botocore session to get the loaded configuration
    file variables from.
N��_config_var_namer�)rhr�rDs&&&rOrj�ScopedConfigProvider.__init__s��!0���
rQc�l�\\P!VPV4VP4#r�)r�rqr�rMr�r s&&rOr��!ScopedConfigProvider.__deepcopy__s)��#��M�M�$�/�/��6��
�
�
�	
rQc�d�VPP4p\VP\4'd]VPVP^,4p\V\4'gR#VPVP^,4#VPVP4#)z,Provide a value from a config file property.N)r��get_scoped_configr�rM�tuplerr�dict)rh�
scoped_config�section_configs&  rOr��ScopedConfigProvider.provides����
�
�7�7�9�
��d�+�+�U�3�3�*�.�.�t�/D�/D�Q�/G�H�N��n�d�3�3��!�%�%�d�&;�&;�A�&>�?�?�� � ��!6�!6�7�7rQc�<�RVPRVPR2#)z%ScopedConfigProvider(config_var_name=rFrGrLrs&rOr8�ScopedConfigProvider.__repr__#s'��6�t�7L�7L�6M�Z�X\�Xe�Xe�Wf�fg�h�hrQrLN)
r�r�r�r�rjr�r�r8r�r�r�s@rOr�r�s ���� � 
�
8�i�irQr�c�<a�]tRtRtoRtRtRtRtRtRt	Vt
R#)	r�i'z:This class loads config values from environment variables.c��WnW nR#)z�Initialize with the keys in the dictionary to check.

:type name: str
:param name: The key with that name will be loaded and returned.

:type env: dict
:param env: Environment variables dictionary to get variables from.
N��_name�_env)rhr�r�s&&&rOrj�EnvironmentProvider.__init__*s���
��	rQc��\\P!VPV4\P!VPV44#r�)r�rqr�r]r^r s&&rOr�� EnvironmentProvider.__deepcopy__6s2��"��M�M�$�*�*�d�+�T�]�]�4�9�9�d�-K�
�	
rQc�v�VPVP9dVPVP,#R#)z0Provide a config value from a source dictionary.Nr\rs&rOr��EnvironmentProvider.provide;s(���:�:����"��9�9�T�Z�Z�(�(�rQc�<�RVPRVPR2#)zEnvironmentProvider(name=z, env=rGr\rs&rOr8�EnvironmentProvider.__repr__As��*�4�:�:�,�f�T�Y�Y�K�q�I�IrQ)r^r]NrIr�s@rOr�r�'s#����D�
�
�
�J�JrQr�c�Fa�]tRtRtoRtR
RltRtRtRtRt	R	t
VtR#)rJiEz�Provides a dictionary from a section in the scoped config

This is useful for retrieving scoped config variables (i.e. s3) that have
their own set of config variables and resolving logic.
Nc��WnW n\VPVP4VnW0nVPf
/VnR#R#r�)�
_section_namer�r��_scoped_config_provider�_override_providers)rhrrD�override_providerss&&&&rOrj�SectionConfigProvider.__init__LsJ��)���
�';�����
�
�(
��$�$6� ��#�#�+�')�D�$�,rQc��\\P!VPV4VP\P!VP
V44#r�)rJrqr�rhr�rjr s&&rOr��"SectionConfigProvider.__deepcopy__Vs>��$��M�M�$�,�,�d�3��M�M��M�M�$�2�2�D�9�
�	
rQc�B�VPP4pV'd:\V\4'g$\PRVPV4R#VPP4F%wr#VP4pVfKVf/pWAV&K'	V#)zEThe %s config key is not a dictionary type, ignoring its value of: %sN)	rir�r�rTr,�debugrhrjrY)rhrV�section_config_varr��provider_vals&    rOr��SectionConfigProvider.provide]s����5�5�=�=�?���*�^�T�"B�"B��L�L�,��"�"��	
��,0�,D�,D�,J�,J�,L�(��#�+�+�-�L��'�!�)�%'�N�5A�1�2�-M��rQc���VPPV4p\V\4'dVP	V4R#\V\
4'd\W2.R7pW PV&R#)Nr�)rjrrr�r�r�r�)rh�keyr�r�s&&& rOr��*SectionConfigProvider.set_default_providerose���+�+�/�/��4���h�
�.�.��)�)�*:�;��
��,�
/�
/�,�#�6� ��)9� � ��%rQc�V�RVPRVPRVPR2#)z#SectionConfigProvider(section_name=rFz, override_providers=rG)rhr�rjrs&rOr8�SectionConfigProvider.__repr__zs<��1�$�2D�2D�1E�F��}�}�o�&"�"&�":�":�!;�1�
>�	
rQ)rjrirhr�r�)r�r�r�r�r�rjr�r�r�r8r�r�r�s@rOrJrJEs(�����*�
��$	9�
�
rQrJc�<a�]tRtRtoRtRtRtRtRtRt	Vt
R#)	r�i�z(This provider provides a constant value.c��WnR#r���_valuer1s&&rOrj�ConstantProvider.__init__�s���rQc�V�\\P!VPV44#r�)r�rqr�r|r s&&rOr��ConstantProvider.__deepcopy__�s����
�
�d�k�k�4� @�A�ArQc��VP#)z7Provide the constant value given during initialization.r{rs&rOr��ConstantProvider.provide�s���{�{�rQc�"�RVPR2#)zConstantProvider(value=rGr{rs&rOr8�ConstantProvider.__repr__�s��(����
�Q�7�7rQr{NrIr�s@rOr�r��s"����2��B��8�8rQr�c�fa�]tRtRtoRt.ROtRRltRtRtRt	Rt
R	tR
tRt
RtR
tVtR#)�ConfiguredEndpointProvideri�z�Lookup an endpoint URL from environment variable or shared config file.

NOTE: This class is considered private and is subject to abrupt breaking
changes or removal without prior announcement. Please do not use it
directly.
Nc��WnW nW0nVPVP4VnVf\
PpW@nR#)a<Initialize a ConfiguredEndpointProviderChain.

:type full_config: dict
:param full_config: This is the dict representing the full
    configuration file.

:type scoped_config: dict
:param scoped_config: This is the dict representing the configuration
    for the current profile for the session.

:type client_name: str
:param client_name: The name used to instantiate a client using
    botocore.session.Session.create_client.

:type environ: dict
:param environ: A mapping to use for environment variables. If this
    is not provided it will default to use os.environ.
N)�_full_config�_scoped_config�_client_name�_get_snake_case_service_id�_transformed_service_idr�r�r�)rh�full_configrU�client_namer�s&&&&&rOrj�#ConfiguredEndpointProvider.__init__�sG��2(��+��'��'+�'F�'F����(
��$��?��j�j�G��
rQc��VPFep\PRVPV4\	VRV24!4pV'gKB\PRVPV4Vu#	\PR4R#)a�Lookup the configured endpoint URL.

The order is:

1. The value provided by a service-specific environment variable.
2. The value provided by the global endpoint environment variable
   (AWS_ENDPOINT_URL).
3. The value provided by a service-specific parameter from a services
   definition section in the shared configuration file.
4. The value provided by the global parameter from a services
   definition section in the shared configuration file.
z#Looking for endpoint for %s via: %s�_get_endpoint_url_zFound endpoint for %s via: %s.zNo configured endpoint found.N)�_ENDPOINT_URL_LOOKUP_ORDERr,rpr�r�r-)rh�location�endpoint_urls&  rOr��"ConfiguredEndpointProvider.provide�s����7�7�H��L�L�5��!�!��
�#�4�+=�h�Z�)H�I�K�L��|����4��%�%���
$�#�8�"	���4�5�rQc��\PPW4p\PPW4pVP	RR4#)�-�_)r�SERVICE_NAME_ALIASESrr�.CLIENT_NAME_TO_HYPHENIZED_SERVICE_ID_OVERRIDES�replace)rhr��hyphenized_service_ids&& rOr��5ConfiguredEndpointProvider._get_snake_case_service_id�sK���0�0�4�4�[�N���@�@�D�D��
�	�
%�,�,�S�#�6�6rQc�@�VPP4pRV2#)�AWS_ENDPOINT_URL_)r��upper)rh�transformed_service_id_envs& rO�_get_service_env_var_name�4ConfiguredEndpointProvider._get_service_env_var_name�s&��%)�%A�%A�%G�%G�%I�"�"�#=�">�?�?rQc���RVP9d/#VPR,pVPPR/4PV4pV'gRVR2p\VR7hV#)�servicesz?The profile is configured to use the services section but the "z(" services configuration does not exist.)�	error_msg)r�r�rrr)rhr�services_sectionr�s&   rO�_get_services_config�/ConfiguredEndpointProvider._get_services_config�s}���T�0�0�0��I��*�*�:�6���,�,�0�0��R�@�D�D��
�� �$�$0�>�20�1�
�
%�y�9�9��rQc��VPP4pVP4PV/4PR4#�r�)r��lowerr�rr)rh�snakecase_service_ids& rO� _get_endpoint_url_config_service�;ConfiguredEndpointProvider._get_endpoint_url_config_services?��#�;�;�A�A�C���%�%�'�
�S�%�r�
*�
�S��
 �	
rQc�8�VPPR4#r�)r�rrrs&rO�_get_endpoint_url_config_global�:ConfiguredEndpointProvider._get_endpoint_url_config_globals���"�"�&�&�~�6�6rQc�h�\VP4VPR7P4#r�)r�r�r�r�rs&rO�%_get_endpoint_url_environment_service�@ConfiguredEndpointProvider._get_endpoint_url_environment_services(��"��/�/�1�t�}�}�
�
�'�)�	rQc�L�\RVPR7P4#)�AWS_ENDPOINT_URLr�)r�r�r�rs&rO�$_get_endpoint_url_environment_global�?ConfiguredEndpointProvider._get_endpoint_url_environment_globals��"�#����
�
�'�)�	rQ)r�r�r�r�r�)�environment_service�environment_global�config_service�
config_globalr�)r�r�r�r�r�r�rjr�r�r�r�r�r�r�r�r�r�r�s@rOr�r��sG�����"��! �F�B	7�@� �&
�7��
�rQr�)rr�NN)r�
AWS_DATA_PATHNN)N�AWS_CONFIG_FILEz
~/.aws/configN)r
�
AWS_CA_BUNDLENN)N�AWS_SHARED_CREDENTIALS_FILEz~/.aws/credentialsN)r�!AWS_EC2_METADATA_SERVICE_ENDPOINTNN)r�&AWS_EC2_METADATA_SERVICE_ENDPOINT_MODENN)rNTN)r �AWS_CSM_HOSTz	127.0.0.1N)r#�AWS_CSM_CLIENT_ID�N)r$�AWS_ENDPOINT_DISCOVERY_ENABLEDr�N)r%�AWS_STS_REGIONAL_ENDPOINTS�regionalN)r&�AWS_RETRY_MODEr�N)r'�AWS_DEFAULTS_MODEr�N)�
sdk_ua_app_id�AWS_SDK_UA_APP_IDNN)r+�&AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTESi(N)r.�AWS_SIGV4A_SIGNING_REGION_SETNN)r/� AWS_REQUEST_CHECKSUM_CALCULATION�when_supportedN)r0� AWS_RESPONSE_CHECKSUM_VALIDATIONr�N)r1�AWS_ACCOUNT_ID_ENDPOINT_MODE�	preferredN)r4�AWS_AUTH_SCHEME_PREFERENCENN))rEr5NNN)rEr6)rEr)rEr7)rEr8)rEr;)rEr>)r@NNN)rANNN)r�rq�loggingr��botocorer�botocore.exceptionsr�	getLoggerr�r,�int�ensure_booleanrIrK�normalize_booleanrLrPrHr`rGr�r�r�r�r�r�r�rJr�r�rrQrO�<module>r�s������	��2�	�	�	�8�	$��:Z%�
��,�m�<�d�D�I�Z%�
�:�Z%��;�	Z%�
�C�Z%��;�
Z%��^�T�2�t�4�Z%���Z%�$�"�&�	��	!�%Z%�4$�'�+�	��	&�5Z%�@$�&�AZ%�L)�+�MZ%�X�"�&�
�
���	!�YZ%�d���
�
���	�eZ%�p� �$��
���	�qZ%�|����
���	�}Z%�H&�)�-��
���	(�IZ%�T�F�UZ%�\���
�
���	�]Z%�h�?�iZ%�j��^�U�C�8�kZ%�l�E�mZ%�p!�#�qZ%�|��}Z%�H�B�IZ%�J�K�KZ%�P�^�%7��s�C�QZ%�R�J�SZ%�T)�+�UZ%�`"�%�)�
�
���	$�aZ%�l �"�mZ%�x#�%�yZ%�D#�%�EZ%�P�!�QZ%�\$�'�+��
���	&�]Z%�h��iZ%�!�~�F��)���
���	 ��(���
���	��)���
���	 ��	�6�7���
���	�"�,�1�	
�	-���$�+�6�2��
���	-�G)��\�<��@�$�(���
���	'�	���(
�!;�!;�Ho'�o'�d|/�|/�~NM�NM�b	-�	-�BK�L�BK�Jb�,�b�>!i�<�!i�HJ�,�J�<:
�L�:
�z8�|�8�"H��HrQ

Youez - 2016 - github.com/yon3zu
LinuXploit