"""simple docstring"""






from typing import TYPE_CHECKING

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


UpperCamelCase     					=     {
    """auto_factory""": ["""get_values"""],
    """configuration_auto""": ["""ALL_PRETRAINED_CONFIG_ARCHIVE_MAP""", """CONFIG_MAPPING""", """MODEL_NAMES_MAPPING""", """AutoConfig"""],
    """feature_extraction_auto""": ["""FEATURE_EXTRACTOR_MAPPING""", """AutoFeatureExtractor"""],
    """image_processing_auto""": ["""IMAGE_PROCESSOR_MAPPING""", """AutoImageProcessor"""],
    """processing_auto""": ["""PROCESSOR_MAPPING""", """AutoProcessor"""],
    """tokenization_auto""": ["""TOKENIZER_MAPPING""", """AutoTokenizer"""],
}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase     					=     [
		    """MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_AUDIO_XVECTOR_MAPPING""",
		    """MODEL_FOR_BACKBONE_MAPPING""",
		    """MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING""",
		    """MODEL_FOR_CAUSAL_LM_MAPPING""",
		    """MODEL_FOR_CTC_MAPPING""",
		    """MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING""",
		    """MODEL_FOR_DEPTH_ESTIMATION_MAPPING""",
		    """MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_IMAGE_SEGMENTATION_MAPPING""",
		    """MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING""",
		    """MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING""",
		    """MODEL_FOR_MASKED_LM_MAPPING""",
		    """MODEL_FOR_MASK_GENERATION_MAPPING""",
		    """MODEL_FOR_MULTIPLE_CHOICE_MAPPING""",
		    """MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING""",
		    """MODEL_FOR_OBJECT_DETECTION_MAPPING""",
		    """MODEL_FOR_PRETRAINING_MAPPING""",
		    """MODEL_FOR_QUESTION_ANSWERING_MAPPING""",
		    """MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING""",
		    """MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING""",
		    """MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING""",
		    """MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING""",
		    """MODEL_FOR_TEXT_ENCODING_MAPPING""",
		    """MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING""",
		    """MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_VISION_2_SEQ_MAPPING""",
		    """MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING""",
		    """MODEL_MAPPING""",
		    """MODEL_WITH_LM_HEAD_MAPPING""",
		    """MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING""",
		    """MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING""",
		    """AutoModel""",
		    """AutoBackbone""",
		    """AutoModelForAudioClassification""",
		    """AutoModelForAudioFrameClassification""",
		    """AutoModelForAudioXVector""",
		    """AutoModelForCausalLM""",
		    """AutoModelForCTC""",
		    """AutoModelForDepthEstimation""",
		    """AutoModelForImageClassification""",
		    """AutoModelForImageSegmentation""",
		    """AutoModelForInstanceSegmentation""",
		    """AutoModelForMaskGeneration""",
		    """AutoModelForTextEncoding""",
		    """AutoModelForMaskedImageModeling""",
		    """AutoModelForMaskedLM""",
		    """AutoModelForMultipleChoice""",
		    """AutoModelForNextSentencePrediction""",
		    """AutoModelForObjectDetection""",
		    """AutoModelForPreTraining""",
		    """AutoModelForQuestionAnswering""",
		    """AutoModelForSemanticSegmentation""",
		    """AutoModelForSeq2SeqLM""",
		    """AutoModelForSequenceClassification""",
		    """AutoModelForSpeechSeq2Seq""",
		    """AutoModelForTableQuestionAnswering""",
		    """AutoModelForTokenClassification""",
		    """AutoModelForUniversalSegmentation""",
		    """AutoModelForVideoClassification""",
		    """AutoModelForVision2Seq""",
		    """AutoModelForVisualQuestionAnswering""",
		    """AutoModelForDocumentQuestionAnswering""",
		    """AutoModelWithLMHead""",
		    """AutoModelForZeroShotImageClassification""",
		    """AutoModelForZeroShotObjectDetection""",
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase     					=     [
		    """TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING""",
		    """TF_MODEL_FOR_CAUSAL_LM_MAPPING""",
		    """TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING""",
		    """TF_MODEL_FOR_MASK_GENERATION_MAPPING""",
		    """TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING""",
		    """TF_MODEL_FOR_MASKED_LM_MAPPING""",
		    """TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING""",
		    """TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING""",
		    """TF_MODEL_FOR_PRETRAINING_MAPPING""",
		    """TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING""",
		    """TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING""",
		    """TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING""",
		    """TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING""",
		    """TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING""",
		    """TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING""",
		    """TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING""",
		    """TF_MODEL_FOR_TEXT_ENCODING_MAPPING""",
		    """TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING""",
		    """TF_MODEL_FOR_VISION_2_SEQ_MAPPING""",
		    """TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING""",
		    """TF_MODEL_MAPPING""",
		    """TF_MODEL_WITH_LM_HEAD_MAPPING""",
		    """TFAutoModel""",
		    """TFAutoModelForAudioClassification""",
		    """TFAutoModelForCausalLM""",
		    """TFAutoModelForImageClassification""",
		    """TFAutoModelForMaskedImageModeling""",
		    """TFAutoModelForMaskedLM""",
		    """TFAutoModelForMaskGeneration""",
		    """TFAutoModelForMultipleChoice""",
		    """TFAutoModelForNextSentencePrediction""",
		    """TFAutoModelForPreTraining""",
		    """TFAutoModelForDocumentQuestionAnswering""",
		    """TFAutoModelForQuestionAnswering""",
		    """TFAutoModelForSemanticSegmentation""",
		    """TFAutoModelForSeq2SeqLM""",
		    """TFAutoModelForSequenceClassification""",
		    """TFAutoModelForSpeechSeq2Seq""",
		    """TFAutoModelForTableQuestionAnswering""",
		    """TFAutoModelForTextEncoding""",
		    """TFAutoModelForTokenClassification""",
		    """TFAutoModelForVision2Seq""",
		    """TFAutoModelForZeroShotImageClassification""",
		    """TFAutoModelWithLMHead""",
		]

try:
		if not is_flax_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCamelCase     					=     [
		    """FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING""",
		    """FLAX_MODEL_FOR_CAUSAL_LM_MAPPING""",
		    """FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING""",
		    """FLAX_MODEL_FOR_MASKED_LM_MAPPING""",
		    """FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING""",
		    """FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING""",
		    """FLAX_MODEL_FOR_PRETRAINING_MAPPING""",
		    """FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING""",
		    """FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING""",
		    """FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING""",
		    """FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING""",
		    """FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING""",
		    """FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING""",
		    """FLAX_MODEL_MAPPING""",
		    """FlaxAutoModel""",
		    """FlaxAutoModelForCausalLM""",
		    """FlaxAutoModelForImageClassification""",
		    """FlaxAutoModelForMaskedLM""",
		    """FlaxAutoModelForMultipleChoice""",
		    """FlaxAutoModelForNextSentencePrediction""",
		    """FlaxAutoModelForPreTraining""",
		    """FlaxAutoModelForQuestionAnswering""",
		    """FlaxAutoModelForSeq2SeqLM""",
		    """FlaxAutoModelForSequenceClassification""",
		    """FlaxAutoModelForSpeechSeq2Seq""",
		    """FlaxAutoModelForTokenClassification""",
		    """FlaxAutoModelForVision2Seq""",
		]


if TYPE_CHECKING:
		from .auto_factory import get_values
		from .configuration_auto import ALL_PRETRAINED_CONFIG_ARCHIVE_MAP, CONFIG_MAPPING, MODEL_NAMES_MAPPING, AutoConfig
		from .feature_extraction_auto import FEATURE_EXTRACTOR_MAPPING, AutoFeatureExtractor
		from .image_processing_auto import IMAGE_PROCESSOR_MAPPING, AutoImageProcessor
		from .processing_auto import PROCESSOR_MAPPING, AutoProcessor
		from .tokenization_auto import TOKENIZER_MAPPING, AutoTokenizer

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_auto import (
				    MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
				    MODEL_FOR_AUDIO_FRAME_CLASSIFICATION_MAPPING,
				    MODEL_FOR_AUDIO_XVECTOR_MAPPING,
				    MODEL_FOR_BACKBONE_MAPPING,
				    MODEL_FOR_CAUSAL_IMAGE_MODELING_MAPPING,
				    MODEL_FOR_CAUSAL_LM_MAPPING,
				    MODEL_FOR_CTC_MAPPING,
				    MODEL_FOR_DEPTH_ESTIMATION_MAPPING,
				    MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
				    MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
				    MODEL_FOR_IMAGE_SEGMENTATION_MAPPING,
				    MODEL_FOR_INSTANCE_SEGMENTATION_MAPPING,
				    MODEL_FOR_MASK_GENERATION_MAPPING,
				    MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
				    MODEL_FOR_MASKED_LM_MAPPING,
				    MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
				    MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
				    MODEL_FOR_OBJECT_DETECTION_MAPPING,
				    MODEL_FOR_PRETRAINING_MAPPING,
				    MODEL_FOR_QUESTION_ANSWERING_MAPPING,
				    MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
				    MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
				    MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
				    MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
				    MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
				    MODEL_FOR_TEXT_ENCODING_MAPPING,
				    MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
				    MODEL_FOR_UNIVERSAL_SEGMENTATION_MAPPING,
				    MODEL_FOR_VIDEO_CLASSIFICATION_MAPPING,
				    MODEL_FOR_VISION_2_SEQ_MAPPING,
				    MODEL_FOR_VISUAL_QUESTION_ANSWERING_MAPPING,
				    MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
				    MODEL_FOR_ZERO_SHOT_OBJECT_DETECTION_MAPPING,
				    MODEL_MAPPING,
				    MODEL_WITH_LM_HEAD_MAPPING,
				    AutoBackbone,
				    AutoModel,
				    AutoModelForAudioClassification,
				    AutoModelForAudioFrameClassification,
				    AutoModelForAudioXVector,
				    AutoModelForCausalLM,
				    AutoModelForCTC,
				    AutoModelForDepthEstimation,
				    AutoModelForDocumentQuestionAnswering,
				    AutoModelForImageClassification,
				    AutoModelForImageSegmentation,
				    AutoModelForInstanceSegmentation,
				    AutoModelForMaskedImageModeling,
				    AutoModelForMaskedLM,
				    AutoModelForMaskGeneration,
				    AutoModelForMultipleChoice,
				    AutoModelForNextSentencePrediction,
				    AutoModelForObjectDetection,
				    AutoModelForPreTraining,
				    AutoModelForQuestionAnswering,
				    AutoModelForSemanticSegmentation,
				    AutoModelForSeqaSeqLM,
				    AutoModelForSequenceClassification,
				    AutoModelForSpeechSeqaSeq,
				    AutoModelForTableQuestionAnswering,
				    AutoModelForTextEncoding,
				    AutoModelForTokenClassification,
				    AutoModelForUniversalSegmentation,
				    AutoModelForVideoClassification,
				    AutoModelForVisionaSeq,
				    AutoModelForVisualQuestionAnswering,
				    AutoModelForZeroShotImageClassification,
				    AutoModelForZeroShotObjectDetection,
				    AutoModelWithLMHead,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_auto import (
				    TF_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
				    TF_MODEL_FOR_CAUSAL_LM_MAPPING,
				    TF_MODEL_FOR_DOCUMENT_QUESTION_ANSWERING_MAPPING,
				    TF_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
				    TF_MODEL_FOR_MASK_GENERATION_MAPPING,
				    TF_MODEL_FOR_MASKED_IMAGE_MODELING_MAPPING,
				    TF_MODEL_FOR_MASKED_LM_MAPPING,
				    TF_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
				    TF_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
				    TF_MODEL_FOR_PRETRAINING_MAPPING,
				    TF_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
				    TF_MODEL_FOR_SEMANTIC_SEGMENTATION_MAPPING,
				    TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
				    TF_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
				    TF_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
				    TF_MODEL_FOR_TABLE_QUESTION_ANSWERING_MAPPING,
				    TF_MODEL_FOR_TEXT_ENCODING_MAPPING,
				    TF_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
				    TF_MODEL_FOR_VISION_2_SEQ_MAPPING,
				    TF_MODEL_FOR_ZERO_SHOT_IMAGE_CLASSIFICATION_MAPPING,
				    TF_MODEL_MAPPING,
				    TF_MODEL_WITH_LM_HEAD_MAPPING,
				    TFAutoModel,
				    TFAutoModelForAudioClassification,
				    TFAutoModelForCausalLM,
				    TFAutoModelForDocumentQuestionAnswering,
				    TFAutoModelForImageClassification,
				    TFAutoModelForMaskedImageModeling,
				    TFAutoModelForMaskedLM,
				    TFAutoModelForMaskGeneration,
				    TFAutoModelForMultipleChoice,
				    TFAutoModelForNextSentencePrediction,
				    TFAutoModelForPreTraining,
				    TFAutoModelForQuestionAnswering,
				    TFAutoModelForSemanticSegmentation,
				    TFAutoModelForSeqaSeqLM,
				    TFAutoModelForSequenceClassification,
				    TFAutoModelForSpeechSeqaSeq,
				    TFAutoModelForTableQuestionAnswering,
				    TFAutoModelForTextEncoding,
				    TFAutoModelForTokenClassification,
				    TFAutoModelForVisionaSeq,
				    TFAutoModelForZeroShotImageClassification,
				    TFAutoModelWithLMHead,
				)

		try:
				if not is_flax_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_flax_auto import (
				    FLAX_MODEL_FOR_AUDIO_CLASSIFICATION_MAPPING,
				    FLAX_MODEL_FOR_CAUSAL_LM_MAPPING,
				    FLAX_MODEL_FOR_IMAGE_CLASSIFICATION_MAPPING,
				    FLAX_MODEL_FOR_MASKED_LM_MAPPING,
				    FLAX_MODEL_FOR_MULTIPLE_CHOICE_MAPPING,
				    FLAX_MODEL_FOR_NEXT_SENTENCE_PREDICTION_MAPPING,
				    FLAX_MODEL_FOR_PRETRAINING_MAPPING,
				    FLAX_MODEL_FOR_QUESTION_ANSWERING_MAPPING,
				    FLAX_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
				    FLAX_MODEL_FOR_SEQUENCE_CLASSIFICATION_MAPPING,
				    FLAX_MODEL_FOR_SPEECH_SEQ_2_SEQ_MAPPING,
				    FLAX_MODEL_FOR_TOKEN_CLASSIFICATION_MAPPING,
				    FLAX_MODEL_FOR_VISION_2_SEQ_MAPPING,
				    FLAX_MODEL_MAPPING,
				    FlaxAutoModel,
				    FlaxAutoModelForCausalLM,
				    FlaxAutoModelForImageClassification,
				    FlaxAutoModelForMaskedLM,
				    FlaxAutoModelForMultipleChoice,
				    FlaxAutoModelForNextSentencePrediction,
				    FlaxAutoModelForPreTraining,
				    FlaxAutoModelForQuestionAnswering,
				    FlaxAutoModelForSeqaSeqLM,
				    FlaxAutoModelForSequenceClassification,
				    FlaxAutoModelForSpeechSeqaSeq,
				    FlaxAutoModelForTokenClassification,
				    FlaxAutoModelForVisionaSeq,
				)

else:
		import sys

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





"""simple docstring"""






import numpy as np

UpperCamelCase     					=     [
    ['a', 'b', 'c', 'd', 'e'],
    ['f', 'g', 'h', 'i', 'k'],
    ['l', 'm', 'n', 'o', 'p'],
    ['q', 'r', 's', 't', 'u'],
    ['v', 'w', 'x', 'y', 'z'],
]
class   UpperCAmelCase__				:


	"""simple docstring"""







	def __init__(			self )    ->	None:
							a_							:			List[Any]     		=					np.array(_SCREAMING_SNAKE_CASE )







	def       A    (			self       ,     _SCREAMING_SNAKE_CASE )    ->	np.ndarray:
							a_		,					a_							:			List[str]     		=					np.where(letter == self.SQUARE )
							a_							:			Union[str, Any]     		=					np.concatenate([indexa + 1, indexa + 1] )
							return indexes







	def       A    (			self       ,     _SCREAMING_SNAKE_CASE       ,     _SCREAMING_SNAKE_CASE )    ->	str:
							return self.SQUARE[indexa - 1, indexa - 1]







	def       A    (			self       ,     _SCREAMING_SNAKE_CASE )    ->	str:
							a_							:			List[str]     		=					message.lower()
							a_							:			Union[str, Any]     		=					message.replace("j"       ,     "i" )

							a_							:			Tuple     		=					""
							for letter_index in range(len(_SCREAMING_SNAKE_CASE ) ):
													if message[letter_index] != " ":
																			a_							:			Dict     		=					self.letter_to_numbers(message[letter_index] )
																			a_							:			str     		=					encoded_message + str(numbers[0] ) + str(numbers[1] )
													elif message[letter_index] == " ":
																			a_							:			Any     		=					encoded_message + " "

							return encoded_message







	def       A    (			self       ,     _SCREAMING_SNAKE_CASE )    ->	str:
							a_							:			Dict     		=					message.replace(" "       ,     "  " )
							a_							:			str     		=					""
							for numbers_index in range(int(len(_SCREAMING_SNAKE_CASE ) / 2 ) ):
													if message[numbers_index * 2] != " ":
																			a_							:			str     		=					message[numbers_index * 2]
																			a_							:			str     		=					message[numbers_index * 2 + 1]

																			a_							:			Optional[Any]     		=					self.numbers_to_letter(int(_SCREAMING_SNAKE_CASE )       ,     int(_SCREAMING_SNAKE_CASE ) )
																			a_							:			Optional[Any]     		=					decoded_message + letter
													elif message[numbers_index * 2] == " ":
																			a_							:			str     		=					decoded_message + " "

							return decoded_message




