'''simple docstring'''




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_flax_available, is_torch_available


__lowercase        =    {
    '''configuration_longt5''': ['''LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''LongT5Config''', '''LongT5OnnxConfig'''],
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowercase        =    [
						    '''LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''LongT5EncoderModel''',
						    '''LongT5ForConditionalGeneration''',
						    '''LongT5Model''',
						    '''LongT5PreTrainedModel''',
						]

try:
						if not is_flax_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						__lowercase        =    [
						    '''FlaxLongT5ForConditionalGeneration''',
						    '''FlaxLongT5Model''',
						    '''FlaxLongT5PreTrainedModel''',
						]


if TYPE_CHECKING:
						from .configuration_longta import LONGT5_PRETRAINED_CONFIG_ARCHIVE_MAP, LongTaConfig, LongTaOnnxConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_longta import (
												    LONGT5_PRETRAINED_MODEL_ARCHIVE_LIST,
												    LongTaEncoderModel,
												    LongTaForConditionalGeneration,
												    LongTaModel,
												    LongTaPreTrainedModel,
												)

						try:
												if not is_flax_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_flax_longta import (
												    FlaxLongTaForConditionalGeneration,
												    FlaxLongTaModel,
												    FlaxLongTaPreTrainedModel,
												)


else:
						import sys

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





'''simple docstring'''




from functools import lru_cache






@lru_cache
def 							snake_case__				(     _A:   int					)       ->      int:

		'''simple docstring'''


		if num < 0:
				raise ValueError("""Number should not be negative."""					)

		return 1 if num in (0, 1) else num * factorial(num - 1					)


if __name__ == "__main__":
						import doctest

						doctest.testmod()




