




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


UpperCamelCase__		=						{
    'configuration_segformer': ['SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP', 'SegformerConfig', 'SegformerOnnxConfig']
}

try:
							if not is_vision_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__		=						['SegformerFeatureExtractor']
							UpperCamelCase__		=						['SegformerImageProcessor']

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__		=						[
							    'SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'SegformerDecodeHead',
							    'SegformerForImageClassification',
							    'SegformerForSemanticSegmentation',
							    'SegformerLayer',
							    'SegformerModel',
							    'SegformerPreTrainedModel',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							UpperCamelCase__		=						[
							    'TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
							    'TFSegformerDecodeHead',
							    'TFSegformerForImageClassification',
							    'TFSegformerForSemanticSegmentation',
							    'TFSegformerModel',
							    'TFSegformerPreTrainedModel',
							]


if TYPE_CHECKING:
							from .configuration_segformer import SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, SegformerConfig, SegformerOnnxConfig

							try:
														if not is_vision_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .feature_extraction_segformer import SegformerFeatureExtractor
														from .image_processing_segformer import SegformerImageProcessor

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_segformer import (
														    SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    SegformerDecodeHead,
														    SegformerForImageClassification,
														    SegformerForSemanticSegmentation,
														    SegformerLayer,
														    SegformerModel,
														    SegformerPreTrainedModel,
														)
							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_segformer import (
														    TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
														    TFSegformerDecodeHead,
														    TFSegformerForImageClassification,
														    TFSegformerForSemanticSegmentation,
														    TFSegformerModel,
														    TFSegformerPreTrainedModel,
														)

else:
							import sys

							UpperCamelCase__		=						_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






UpperCamelCase__		=						{
    "kilogram": 1,
    "gram": pow(1_0, 3),
    "milligram": pow(1_0, 6),
    "metric-ton": pow(1_0, -3),
    "long-ton": 0.0_009_842_073,
    "short-ton": 0.0_011_023_122,
    "pound": 2.2_046_244_202,
    "stone": 0.1_574_731_728,
    "ounce": 35.273_990_723,
    "carrat": 5_0_0_0,
    "atomic-mass-unit": 6.022136652e26,
}

UpperCamelCase__		=						{
    "kilogram": 1,
    "gram": pow(1_0, -3),
    "milligram": pow(1_0, -6),
    "metric-ton": pow(1_0, 3),
    "long-ton": 1_016.04_608,
    "short-ton": 907.184,
    "pound": 0.453_592,
    "stone": 6.35_029,
    "ounce": 0.0_283_495,
    "carrat": 0.0_002,
    "atomic-mass-unit": 1.660540199e-27,
}






def  snake_case (							A						,       A						,       A      )							->							float:




	'''simple docstring'''


	if to_type not in KILOGRAM_CHART or from_type not in WEIGHT_TYPE_CHART:
		lowerCamelCase_							:		Union[str, Any]							       =							(
		    f"Invalid 'from_type' or 'to_type' value: {from_type!r}, {to_type!r}\n"
		    f"Supported values are: {', '.join(A      )}"
		)
		raise ValueError(A      )
	return value * KILOGRAM_CHART[to_type] * WEIGHT_TYPE_CHART[from_type]


if __name__ == "__main__":
							import doctest

							doctest.testmod()
