


from typing import TYPE_CHECKING

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


a : Dict		=				{
    '''configuration_ctrl''': ['''CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''CTRLConfig'''],
    '''tokenization_ctrl''': ['''CTRLTokenizer'''],
}

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : Union[str, Any]		=				[
	    '''CTRL_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''CTRLForSequenceClassification''',
	    '''CTRLLMHeadModel''',
	    '''CTRLModel''',
	    '''CTRLPreTrainedModel''',
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a : str		=				[
	    '''TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''TFCTRLForSequenceClassification''',
	    '''TFCTRLLMHeadModel''',
	    '''TFCTRLModel''',
	    '''TFCTRLPreTrainedModel''',
	]


if TYPE_CHECKING:
	from .configuration_ctrl import CTRL_PRETRAINED_CONFIG_ARCHIVE_MAP, CTRLConfig
	from .tokenization_ctrl import CTRLTokenizer

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_ctrl import (
		    CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
		    CTRLForSequenceClassification,
		    CTRLLMHeadModel,
		    CTRLModel,
		    CTRLPreTrainedModel,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_ctrl import (
		    TF_CTRL_PRETRAINED_MODEL_ARCHIVE_LIST,
		    TFCTRLForSequenceClassification,
		    TFCTRLLMHeadModel,
		    TFCTRLModel,
		    TFCTRLPreTrainedModel,
		)

else:
	import sys

	a : Optional[Any]		=				_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






from ..utils import DummyObject, requires_backends
class 	lowerCamelCase_       (				metaclass=lowerCAmelCase__				):



					'''simple docstring'''







					__UpperCAmelCase            =				["speech"]






					def __init__(				self ,       *snake_case_ ,       **snake_case_						)   ->			List[str]:







								'''simple docstring'''

								requires_backends(self ,       ['''speech''']						)




class 	lowerCamelCase_       (				metaclass=lowerCAmelCase__				):



					'''simple docstring'''







					__UpperCAmelCase            =				["speech"]






					def __init__(				self ,       *snake_case_ ,       **snake_case_						)   ->			Tuple:







								'''simple docstring'''

								requires_backends(self ,       ['''speech''']						)


