




from typing import TYPE_CHECKING

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


lowercase_			:       Optional[Any]						       =				{
    'configuration_big_bird': ['BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP', 'BigBirdConfig', 'BigBirdOnnxConfig'],
}

try:
				if not is_sentencepiece_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			:       Union[str, Any]						       =				['BigBirdTokenizer']

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			:       Any						       =				['BigBirdTokenizerFast']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			:       int						       =				[
				    'BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'BigBirdForCausalLM',
				    'BigBirdForMaskedLM',
				    'BigBirdForMultipleChoice',
				    'BigBirdForPreTraining',
				    'BigBirdForQuestionAnswering',
				    'BigBirdForSequenceClassification',
				    'BigBirdForTokenClassification',
				    'BigBirdLayer',
				    'BigBirdModel',
				    'BigBirdPreTrainedModel',
				    'load_tf_weights_in_big_bird',
				]

try:
				if not is_flax_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				lowercase_			:       Union[str, Any]						       =				[
				    'FlaxBigBirdForCausalLM',
				    'FlaxBigBirdForMaskedLM',
				    'FlaxBigBirdForMultipleChoice',
				    'FlaxBigBirdForPreTraining',
				    'FlaxBigBirdForQuestionAnswering',
				    'FlaxBigBirdForSequenceClassification',
				    'FlaxBigBirdForTokenClassification',
				    'FlaxBigBirdModel',
				    'FlaxBigBirdPreTrainedModel',
				]

if TYPE_CHECKING:
				from .configuration_big_bird import BIG_BIRD_PRETRAINED_CONFIG_ARCHIVE_MAP, BigBirdConfig, BigBirdOnnxConfig

				try:
								if not is_sentencepiece_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird import BigBirdTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_big_bird_fast import BigBirdTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_big_bird import (
								    BIG_BIRD_PRETRAINED_MODEL_ARCHIVE_LIST,
								    BigBirdForCausalLM,
								    BigBirdForMaskedLM,
								    BigBirdForMultipleChoice,
								    BigBirdForPreTraining,
								    BigBirdForQuestionAnswering,
								    BigBirdForSequenceClassification,
								    BigBirdForTokenClassification,
								    BigBirdLayer,
								    BigBirdModel,
								    BigBirdPreTrainedModel,
								    load_tf_weights_in_big_bird,
								)

				try:
								if not is_flax_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_flax_big_bird import (
								    FlaxBigBirdForCausalLM,
								    FlaxBigBirdForMaskedLM,
								    FlaxBigBirdForMultipleChoice,
								    FlaxBigBirdForPreTraining,
								    FlaxBigBirdForQuestionAnswering,
								    FlaxBigBirdForSequenceClassification,
								    FlaxBigBirdForTokenClassification,
								    FlaxBigBirdModel,
								    FlaxBigBirdPreTrainedModel,
								)

else:
				import sys

				lowercase_			:       List[str]						       =				_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)








from math import exp


def 							__SCREAMING_SNAKE_CASE						(    snake_case_		):

						'''simple docstring'''


						return 8 * x - 2 * exp(-x		)


def 							__SCREAMING_SNAKE_CASE						(    snake_case_			,					snake_case_			,					snake_case_		):

						'''simple docstring'''


						_UpperCAmelCase									=  lower_bound
						_UpperCAmelCase									=  upper_bound
						for _ in range(0			,					snake_case_		):
												_UpperCAmelCase							,				_UpperCAmelCase									=  xa, xa - (f(snake_case_		) * (xa - xa)) / (f(snake_case_		) - f(snake_case_		))
						return xa


if __name__ == "__main__":
				print(f"""Example: {secant_method(1, 3, 2)}""")




