

"""simple docstring"""




from typing import TYPE_CHECKING

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


__A  :					str												=	{
    'configuration_bart': ['BART_PRETRAINED_CONFIG_ARCHIVE_MAP', 'BartConfig', 'BartOnnxConfig'],
    'tokenization_bart': ['BartTokenizer'],
}

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A  :					Tuple												=	['BartTokenizerFast']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A  :					Union[str, Any]												=	[
	    'BART_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'BartForCausalLM',
	    'BartForConditionalGeneration',
	    'BartForQuestionAnswering',
	    'BartForSequenceClassification',
	    'BartModel',
	    'BartPretrainedModel',
	    'PretrainedBartModel',
	]

try:
	if not is_tf_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A  :					Optional[Any]												=	[
	    'TFBartForConditionalGeneration',
	    'TFBartForSequenceClassification',
	    'TFBartModel',
	    'TFBartPretrainedModel',
	]

try:
	if not is_flax_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A  :					str												=	[
	    'FlaxBartDecoderPreTrainedModel',
	    'FlaxBartForCausalLM',
	    'FlaxBartForConditionalGeneration',
	    'FlaxBartForQuestionAnswering',
	    'FlaxBartForSequenceClassification',
	    'FlaxBartModel',
	    'FlaxBartPreTrainedModel',
	]

if TYPE_CHECKING:
	from .configuration_bart import BART_PRETRAINED_CONFIG_ARCHIVE_MAP, BartConfig, BartOnnxConfig
	from .tokenization_bart import BartTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_bart_fast import BartTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_bart import (
		    BART_PRETRAINED_MODEL_ARCHIVE_LIST,
		    BartForCausalLM,
		    BartForConditionalGeneration,
		    BartForQuestionAnswering,
		    BartForSequenceClassification,
		    BartModel,
		    BartPretrainedModel,
		    PretrainedBartModel,
		)

	try:
		if not is_tf_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_tf_bart import (
		    TFBartForConditionalGeneration,
		    TFBartForSequenceClassification,
		    TFBartModel,
		    TFBartPretrainedModel,
		)

	try:
		if not is_flax_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_flax_bart import (
		    FlaxBartDecoderPreTrainedModel,
		    FlaxBartForCausalLM,
		    FlaxBartForConditionalGeneration,
		    FlaxBartForQuestionAnswering,
		    FlaxBartForSequenceClassification,
		    FlaxBartModel,
		    FlaxBartPreTrainedModel,
		)

else:
	import sys

	__A  :					Tuple												=	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)








"""simple docstring"""




def      __SCREAMING_SNAKE_CASE		(		lowercase__    ,							lowercase__   ):
					"""simple docstring"""
					A    =      1
					while b > 0:
										if b & 1:
															res *= a

										a *= a
										b >>= 1

					return res
def      __SCREAMING_SNAKE_CASE		(		lowercase__    ,							lowercase__    ,							lowercase__   ):
					"""simple docstring"""
					A    =      1
					while b > 0:
										if b & 1:
															A    =      ((res % c) * (a % c)) % c

										a *= a
										b >>= 1

					return res





