




from typing import TYPE_CHECKING

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


_snake_case										=       {
    "configuration_roberta": ["ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP", "RobertaConfig", "RobertaOnnxConfig"],
    "tokenization_roberta": ["RobertaTokenizer"],
}

try:
  if not is_tokenizers_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _snake_case										=       ["RobertaTokenizerFast"]

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _snake_case										=       [
      "ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST",
      "RobertaForCausalLM",
      "RobertaForMaskedLM",
      "RobertaForMultipleChoice",
      "RobertaForQuestionAnswering",
      "RobertaForSequenceClassification",
      "RobertaForTokenClassification",
      "RobertaModel",
      "RobertaPreTrainedModel",
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _snake_case										=       [
      "TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST",
      "TFRobertaForCausalLM",
      "TFRobertaForMaskedLM",
      "TFRobertaForMultipleChoice",
      "TFRobertaForQuestionAnswering",
      "TFRobertaForSequenceClassification",
      "TFRobertaForTokenClassification",
      "TFRobertaMainLayer",
      "TFRobertaModel",
      "TFRobertaPreTrainedModel",
  ]

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _snake_case										=       [
      "FlaxRobertaForCausalLM",
      "FlaxRobertaForMaskedLM",
      "FlaxRobertaForMultipleChoice",
      "FlaxRobertaForQuestionAnswering",
      "FlaxRobertaForSequenceClassification",
      "FlaxRobertaForTokenClassification",
      "FlaxRobertaModel",
      "FlaxRobertaPreTrainedModel",
  ]


if TYPE_CHECKING:
  from .configuration_roberta import ROBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, RobertaConfig, RobertaOnnxConfig
  from .tokenization_roberta import RobertaTokenizer

  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_roberta_fast import RobertaTokenizerFast

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_roberta import (
        ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
        RobertaForCausalLM,
        RobertaForMaskedLM,
        RobertaForMultipleChoice,
        RobertaForQuestionAnswering,
        RobertaForSequenceClassification,
        RobertaForTokenClassification,
        RobertaModel,
        RobertaPreTrainedModel,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_roberta import (
        TF_ROBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
        TFRobertaForCausalLM,
        TFRobertaForMaskedLM,
        TFRobertaForMultipleChoice,
        TFRobertaForQuestionAnswering,
        TFRobertaForSequenceClassification,
        TFRobertaForTokenClassification,
        TFRobertaMainLayer,
        TFRobertaModel,
        TFRobertaPreTrainedModel,
    )

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_flax_roberta import (
        FlaxRobertaForCausalLM,
        FlaxRobertaForMaskedLM,
        FlaxRobertaForMultipleChoice,
        FlaxRobertaForQuestionAnswering,
        FlaxRobertaForSequenceClassification,
        FlaxRobertaForTokenClassification,
        FlaxRobertaModel,
        FlaxRobertaPreTrainedModel,
    )

else:
  import sys

  _snake_case										=       _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)







from math import asin, atan, cos, radians, sin, sqrt, tan

_snake_case										=       6_3_7_8_1_3_7.0
_snake_case										=       6_3_5_6_7_5_2.3_1_4_2_4_5
_snake_case										=       6378137







def 				lowerCAmelCase_	(     snake_case_,snake_case_,snake_case_,snake_case_     ):
      _A							:     Any			=						(AXIS_A - AXIS_B) / AXIS_A
      _A							:     Optional[int]			=						atan((1 - flattening) * tan(radians(snake_case_     )     )     )
      _A							:     List[str]			=						atan((1 - flattening) * tan(radians(snake_case_     )     )     )
      _A							:     Optional[Any]			=						radians(snake_case_     )
      _A							:     str			=						radians(snake_case_     )
      # Equation
      _A							:     Dict			=						sin((phi_a - phi_a) / 2     )
      _A							:     List[str]			=						sin((lambda_a - lambda_a) / 2     )
      # Square both values
      sin_sq_phi *= sin_sq_phi
      sin_sq_lambda *= sin_sq_lambda
      _A							:     Optional[int]			=						sqrt(sin_sq_phi + (cos(snake_case_     ) * cos(snake_case_     ) * sin_sq_lambda)     )
      return 2 * RADIUS * asin(snake_case_     )


if __name__ == "__main__":
  import doctest

  doctest.testmod()

