






"""simple docstring"""





from typing import TYPE_CHECKING

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


_SCREAMING_SNAKE_CASE :    Optional[Any]    =						{
    '''configuration_switch_transformers''': [
        '''SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''SwitchTransformersConfig''',
        '''SwitchTransformersOnnxConfig''',
    ]
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _SCREAMING_SNAKE_CASE :    Optional[int]    =						[
      '''SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST''',
      '''SwitchTransformersEncoderModel''',
      '''SwitchTransformersForConditionalGeneration''',
      '''SwitchTransformersModel''',
      '''SwitchTransformersPreTrainedModel''',
      '''SwitchTransformersTop1Router''',
      '''SwitchTransformersSparseMLP''',
  ]


if TYPE_CHECKING:
  from .configuration_switch_transformers import (
      SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP,
      SwitchTransformersConfig,
      SwitchTransformersOnnxConfig,
  )

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_switch_transformers import (
        SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST,
        SwitchTransformersEncoderModel,
        SwitchTransformersForConditionalGeneration,
        SwitchTransformersModel,
        SwitchTransformersPreTrainedModel,
        SwitchTransformersSparseMLP,
        SwitchTransformersTopaRouter,
    )


else:
  import sys

  _SCREAMING_SNAKE_CASE :    Dict    =						_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)












"""simple docstring"""





from __future__ import annotations







def 					lowerCamelCase__	(							_lowerCamelCase	:		list[int]		,    _lowerCamelCase	:		int			)				->    int:
  lowerCamelCase_					,     lowerCamelCase_   					=						0, len(_lowerCamelCase			) - 1
  while start_ind <= end_ind:
    if array[start_ind] == search_item:
      return start_ind
    elif array[end_ind] == search_item:
      return end_ind
    else:
      start_ind += 1
      end_ind -= 1
    # returns -1 if search_item is not found in array
  return -1


if __name__ == "__main__":
  print(double_linear_search(list(range(100)), 40))




