

from typing import TYPE_CHECKING

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


lowercase     :       Union[str, Any]        =       {
    "configuration_deberta_v2": ["DEBERTA_V2_PRETRAINED_CONFIG_ARCHIVE_MAP", "DebertaV2Config", "DebertaV2OnnxConfig"],
    "tokenization_deberta_v2": ["DebertaV2Tokenizer"],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowercase     :       List[str]        =       ["DebertaV2TokenizerFast"]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowercase     :       List[str]        =       [
					    "TF_DEBERTA_V2_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "TFDebertaV2ForMaskedLM",
					    "TFDebertaV2ForQuestionAnswering",
					    "TFDebertaV2ForSequenceClassification",
					    "TFDebertaV2ForTokenClassification",
					    "TFDebertaV2Model",
					    "TFDebertaV2PreTrainedModel",
					]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					lowercase     :       str        =       [
					    "DEBERTA_V2_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "DebertaV2ForMaskedLM",
					    "DebertaV2ForMultipleChoice",
					    "DebertaV2ForQuestionAnswering",
					    "DebertaV2ForSequenceClassification",
					    "DebertaV2ForTokenClassification",
					    "DebertaV2Model",
					    "DebertaV2PreTrainedModel",
					]


if TYPE_CHECKING:
					from .configuration_deberta_va import (
					    DEBERTA_V2_PRETRAINED_CONFIG_ARCHIVE_MAP,
					    DebertaVaConfig,
					    DebertaVaOnnxConfig,
					)
					from .tokenization_deberta_va import DebertaVaTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_deberta_va_fast import DebertaVaTokenizerFast

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_deberta_va import (
										    TF_DEBERTA_V2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFDebertaVaForMaskedLM,
										    TFDebertaVaForQuestionAnswering,
										    TFDebertaVaForSequenceClassification,
										    TFDebertaVaForTokenClassification,
										    TFDebertaVaModel,
										    TFDebertaVaPreTrainedModel,
										)

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_deberta_va import (
										    DEBERTA_V2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    DebertaVaForMaskedLM,
										    DebertaVaForMultipleChoice,
										    DebertaVaForQuestionAnswering,
										    DebertaVaForSequenceClassification,
										    DebertaVaForTokenClassification,
										    DebertaVaModel,
										    DebertaVaPreTrainedModel,
										)

else:
					import sys

					lowercase     :       Tuple        =       _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)


from collections.abc import Callable

lowercase     :       Optional[Any]        =       Callable[[float], float]  # type alias for a real -> real function







def  UpperCAmelCase_   (_lowerCAmelCase :		RealFunc     ,			_lowerCAmelCase :		RealFunc     ,			_lowerCAmelCase :		int     ,			):
			__UpperCamelCase    :    Any								=      float(_lowerCAmelCase		)
			while True:
						try:
									__UpperCamelCase    :    List[Any]								=      prev_guess - function(_lowerCAmelCase		) / derivative(_lowerCAmelCase		)
						except ZeroDivisionError:
									raise ZeroDivisionError("Could not find root"		) from None
						if abs(prev_guess - next_guess		) < 10**-5:
									return next_guess
						__UpperCamelCase    :    Tuple								=      next_guess







def  UpperCAmelCase_   (_lowerCAmelCase :		float		):
			return (x**3) - (2 * x) - 5







def  UpperCAmelCase_   (_lowerCAmelCase :		float		):
			return 3 * (x**2) - 2


if __name__ == "__main__":
					print(newton(f, fa, 3))