




'''simple docstring'''


from typing import TYPE_CHECKING

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


_snake_case   :   Any     							=	{
    'configuration_deberta': ['DEBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'DebertaConfig', 'DebertaOnnxConfig'],
    'tokenization_deberta': ['DebertaTokenizer'],
}

try:
				if not is_tokenizers_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_snake_case   :   Optional[int]     							=	['DebertaTokenizerFast']

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_snake_case   :   Tuple     							=	[
				    'DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'DebertaForMaskedLM',
				    'DebertaForQuestionAnswering',
				    'DebertaForSequenceClassification',
				    'DebertaForTokenClassification',
				    'DebertaModel',
				    'DebertaPreTrainedModel',
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_snake_case   :   int     							=	[
				    'TF_DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'TFDebertaForMaskedLM',
				    'TFDebertaForQuestionAnswering',
				    'TFDebertaForSequenceClassification',
				    'TFDebertaForTokenClassification',
				    'TFDebertaModel',
				    'TFDebertaPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_deberta import DEBERTA_PRETRAINED_CONFIG_ARCHIVE_MAP, DebertaConfig, DebertaOnnxConfig
				from .tokenization_deberta import DebertaTokenizer

				try:
								if not is_tokenizers_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .tokenization_deberta_fast import DebertaTokenizerFast

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_deberta import (
								    DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
								    DebertaForMaskedLM,
								    DebertaForQuestionAnswering,
								    DebertaForSequenceClassification,
								    DebertaForTokenClassification,
								    DebertaModel,
								    DebertaPreTrainedModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_deberta import (
								    TF_DEBERTA_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFDebertaForMaskedLM,
								    TFDebertaForQuestionAnswering,
								    TFDebertaForSequenceClassification,
								    TFDebertaForTokenClassification,
								    TFDebertaModel,
								    TFDebertaPreTrainedModel,
								)


else:
				import sys

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







'''simple docstring'''


_snake_case   :   Any     							=	tuple[float, float, float]
_snake_case   :   Optional[int]     							=	tuple[float, float, float]
def 	snake_case_					(UpperCamelCase :						Pointad				,		UpperCamelCase :						Pointad   ):





							'''simple docstring'''


							_a			  =       end_pointa[0] - end_pointa[0]
							_a			  =       end_pointa[1] - end_pointa[1]
							_a			  =       end_pointa[2] - end_pointa[2]
							return (x, y, z)
def 	snake_case_					(UpperCamelCase :						Vectorad				,		UpperCamelCase :						Vectorad   ):





							'''simple docstring'''


							_a			  =       ab[1] * ac[2] - ab[2] * ac[1]  # *i
							_a			  =       (ab[0] * ac[2] - ab[2] * ac[0]) * -1  # *j
							_a			  =       ab[0] * ac[1] - ab[1] * ac[0]  # *k
							return (x, y, z)
def 	snake_case_					(UpperCamelCase :						Vectorad				,		UpperCamelCase :						int   ):





							'''simple docstring'''


							return tuple(round(UpperCamelCase				,		UpperCamelCase   ) for x in vector   ) == (0, 0, 0)

def 	snake_case_					(UpperCamelCase :						Pointad				,		UpperCamelCase :						Pointad				,		UpperCamelCase :						Pointad				,		UpperCamelCase :						int = 10   ):





							'''simple docstring'''


							_a			  =       create_vector(UpperCamelCase				,		UpperCamelCase   )
							_a			  =       create_vector(UpperCamelCase				,		UpperCamelCase   )
							return is_zero_vector(get_ad_vectors_cross(UpperCamelCase				,		UpperCamelCase   )				,		UpperCamelCase   )

