



"""simple docstring"""







import contextlib
import importlib
import io
import unittest

import transformers

# Try to import everything from transformers to ensure every object can be loaded.
from transformers import *  # noqa F406
from transformers.testing_utils import DUMMY_UNKNOWN_IDENTIFIER, require_flax, require_tf, require_torch
from transformers.utils import ContextManagers, find_labels, is_flax_available, is_tf_available, is_torch_available


if is_torch_available():
			from transformers import BertForPreTraining, BertForQuestionAnswering, BertForSequenceClassification

if is_tf_available():
			from transformers import TFBertForPreTraining, TFBertForQuestionAnswering, TFBertForSequenceClassification

if is_flax_available():
			from transformers import FlaxBertForPreTraining, FlaxBertForQuestionAnswering, FlaxBertForSequenceClassification


UpperCamelCase     =							DUMMY_UNKNOWN_IDENTIFIER
# An actual model hosted on huggingface.co

UpperCamelCase     =							"""main"""
# Default branch name
UpperCamelCase     =							"""f2c752cfc5c0ab6f4bdec59acea69eefbee381c2"""
# One particular commit (not the top of `main`)
UpperCamelCase     =							"""aaaaaaa"""
# This commit does not exist, so we should 404.

UpperCamelCase     =							"""d9e9f15bc825e4b2c9249e9578f884bbcb5e3684"""
# Sha-1 of config.json on the top of `main`, for checking purposes
UpperCamelCase     =							"""4b243c475af8d0a7754e87d7d096c92e5199ec2fe168a2ee7998e3b8e9bcb1d3"""

@contextlib.contextmanager
def       _lowerCamelCase				(							)	-> Dict:






	"""simple docstring"""





	print("Welcome!"     )
	yield
	print("Bye!"     )

@contextlib.contextmanager
def       _lowerCamelCase				(							)	-> Tuple:






	"""simple docstring"""





	print("Bonjour!"     )
	yield
	print("Au revoir!"     )






class       UpperCamelCase__			(   unittest.TestCase      ):

			"""simple docstring"""


			def   snake_case__	(      self		)      ->	str:
				# If the spec is missing, importlib would not be able to import the module dynamically.
				assert transformers.__spec__ is not None
				assert importlib.util.find_spec("transformers"		) is not None






class       UpperCamelCase__			(   unittest.TestCase      ):

			"""simple docstring"""


			@unittest.mock.patch("sys.stdout"						,	new_callable=io.StringIO		)
			def   snake_case__	(      self						,	SCREAMING_SNAKE_CASE__		)      ->	Optional[int]:
				with ContextManagers([]		):
					print("Transformers are awesome!"		)
				# The print statement adds a new line at the end of the output
				self.assertEqual(mock_stdout.getvalue()						,	"Transformers are awesome!\n"		)


			@unittest.mock.patch("sys.stdout"						,	new_callable=io.StringIO		)
			def   snake_case__	(      self						,	SCREAMING_SNAKE_CASE__		)      ->	str:
				with ContextManagers([context_en()]		):
					print("Transformers are awesome!"		)
				# The output should be wrapped with an English welcome and goodbye
				self.assertEqual(mock_stdout.getvalue()						,	"Welcome!\nTransformers are awesome!\nBye!\n"		)


			@unittest.mock.patch("sys.stdout"						,	new_callable=io.StringIO		)
			def   snake_case__	(      self						,	SCREAMING_SNAKE_CASE__		)      ->	Dict:
				with ContextManagers([context_fr(), context_en()]		):
					print("Transformers are awesome!"		)
				# The output should be wrapped with an English and French welcome and goodbye
				self.assertEqual(mock_stdout.getvalue()						,	"Bonjour!\nWelcome!\nTransformers are awesome!\nBye!\nAu revoir!\n"		)


			@require_torch
			def   snake_case__	(      self		)      ->	Optional[Any]:
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels"]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels", "next_sentence_label"]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["start_positions", "end_positions"]		)






				class       UpperCamelCase__			(   _lowerCAmelCase      ):

							"""simple docstring"""


							pass



				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels"]		)


			@require_tf
			def   snake_case__	(      self		)      ->	str:
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels"]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels", "next_sentence_label"]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["start_positions", "end_positions"]		)






				class       UpperCamelCase__			(   _lowerCAmelCase      ):

							"""simple docstring"""


							pass



				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	["labels"]		)







			@require_flax
			def   snake_case__	(      self		)      ->	Any:
				# Flax models don't have labels
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	[]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	[]		)
				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	[]		)






				class       UpperCamelCase__			(   _lowerCAmelCase      ):

							"""simple docstring"""


							pass



				self.assertEqual(find_labels(SCREAMING_SNAKE_CASE__		)						,	[]		)









"""simple docstring"""







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCamelCase     =							{"""configuration_wavlm""": ["""WAVLM_PRETRAINED_CONFIG_ARCHIVE_MAP""", """WavLMConfig"""]}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			UpperCamelCase     =							[
			    """WAVLM_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """WavLMForAudioFrameClassification""",
			    """WavLMForCTC""",
			    """WavLMForSequenceClassification""",
			    """WavLMForXVector""",
			    """WavLMModel""",
			    """WavLMPreTrainedModel""",
			]

if TYPE_CHECKING:
			from .configuration_wavlm import WAVLM_PRETRAINED_CONFIG_ARCHIVE_MAP, WavLMConfig

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_wavlm import (
						    WAVLM_PRETRAINED_MODEL_ARCHIVE_LIST,
						    WavLMForAudioFrameClassification,
						    WavLMForCTC,
						    WavLMForSequenceClassification,
						    WavLMForXVector,
						    WavLMModel,
						    WavLMPreTrainedModel,
						)

else:
			import sys

			UpperCamelCase     =							_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)




