




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowerCamelCase			 =						{
    'configuration_decision_transformer': [
        'DECISION_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'DecisionTransformerConfig',
    ],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 _lowerCamelCase			 =						[
     'DECISION_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
     'DecisionTransformerGPT2Model',
     'DecisionTransformerGPT2PreTrainedModel',
     'DecisionTransformerModel',
     'DecisionTransformerPreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_decision_transformer import (
     DECISION_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
     DecisionTransformerConfig,
 )

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_decision_transformer import (
      DECISION_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      DecisionTransformerGPTaModel,
      DecisionTransformerGPTaPreTrainedModel,
      DecisionTransformerModel,
      DecisionTransformerPreTrainedModel,
  )


else:
 import sys

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











def 	UpperCAmelCase_    (	__UpperCamelCase	):
    if not isinstance(__UpperCamelCase,				__UpperCamelCase	):
        raise ValueError("""double_factorial() only accepts integral values"""	)
    if n < 0:
        raise ValueError("""double_factorial() not defined for negative values"""	)
    return 1 if n <= 1 else n * double_factorial(n - 2	)


if __name__ == "__main__":
    import doctest

    doctest.testmod()






