

import importlib.metadata
import subprocess
import sys






def    __lowercase (       _A = False     )       ->  List[str]:
      SCREAMING_SNAKE_CASE	: List[Any]					       =				False
      if "IPython" in sys.modules:
            SCREAMING_SNAKE_CASE	: Optional[int]					       =				"""google.colab""" in str(sys.modules["""IPython"""].get_ipython()     )

      if in_colab:
            if upgrade:
                  SCREAMING_SNAKE_CASE	: List[str]					       =				["""pip""", """install""", """-U""", """torch"""]
                  subprocess.run(_A  ,      check=_A     )
            # get the current version of torch
            SCREAMING_SNAKE_CASE	: List[str]					       =				importlib.metadata.version("""torch"""     )
            SCREAMING_SNAKE_CASE	: int					       =				torch_version[: torch_version.rindex("""."""     )]
            SCREAMING_SNAKE_CASE	: Optional[Any]					       =				F"https://storage.googleapis.com/tpu-pytorch/wheels/colab/torch_xla-{torch_version_trunc}-cp37-cp37m-linux_x86_64.whl"
            SCREAMING_SNAKE_CASE	: Optional[Any]					       =				["""pip""", """install""", xla_wheel]
            subprocess.run(_A  ,      check=_A     )
      else:
            raise RuntimeError("""`install_xla` utility works only on google colab."""     )







from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_torch_available,
)


UpperCAmelCase__	:       int			      =      {
    """configuration_speech_to_text_2""": ["""SPEECH_TO_TEXT_2_PRETRAINED_CONFIG_ARCHIVE_MAP""", """Speech2Text2Config"""],
    """processing_speech_to_text_2""": ["""Speech2Text2Processor"""],
    """tokenization_speech_to_text_2""": ["""Speech2Text2Tokenizer"""],
}


try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  UpperCAmelCase__	:       int			      =      [
      """SPEECH_TO_TEXT_2_PRETRAINED_MODEL_ARCHIVE_LIST""",
      """Speech2Text2ForCausalLM""",
      """Speech2Text2PreTrainedModel""",
  ]


if TYPE_CHECKING:
  from .configuration_speech_to_text_a import SPEECH_TO_TEXT_2_PRETRAINED_CONFIG_ARCHIVE_MAP, SpeechaTextaConfig
  from .processing_speech_to_text_a import SpeechaTextaProcessor
  from .tokenization_speech_to_text_a import SpeechaTextaTokenizer

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_speech_to_text_a import (
        SPEECH_TO_TEXT_2_PRETRAINED_MODEL_ARCHIVE_LIST,
        SpeechaTextaForCausalLM,
        SpeechaTextaPreTrainedModel,
    )

else:
  import sys

  UpperCAmelCase__	:       int			      =      _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




