


snake_case							:       Union[str, Any]     			=      tuple[float, float, float]
snake_case							:       int     			=      tuple[float, float, float]






def 							__lowercase   ( __lowerCAmelCase							:				Pointad					,    __lowerCAmelCase							:				Pointad   ):
							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 							__lowercase   ( __lowerCAmelCase							:				Vectorad					,    __lowerCAmelCase							:				Vectorad   ):
							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 							__lowercase   ( __lowerCAmelCase							:				Vectorad					,    __lowerCAmelCase							:				int   ):
							return tuple(round(__lowerCAmelCase					,    __lowerCAmelCase   ) for x in vector   ) == (0, 0, 0)






def 							__lowercase   ( __lowerCAmelCase							:				Pointad					,    __lowerCAmelCase							:				Pointad					,    __lowerCAmelCase							:				Pointad					,    __lowerCAmelCase							:				int = 1_0   ):
							a__             =     create_vector(__lowerCAmelCase					,    __lowerCAmelCase   )
							a__             =     create_vector(__lowerCAmelCase					,    __lowerCAmelCase   )
							return is_zero_vector(get_ad_vectors_cross(__lowerCAmelCase					,    __lowerCAmelCase   )					,    __lowerCAmelCase   )








import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

snake_case							:       List[str]     			=      '''python tqdm regex requests packaging filelock numpy tokenizers'''.split()
if sys.version_info < (3, 7):
						pkgs_to_check_at_runtime.append('''dataclasses''')
if sys.version_info < (3, 8):
						pkgs_to_check_at_runtime.append('''importlib_metadata''')

for pkg in pkgs_to_check_at_runtime:
						if pkg in deps:
												if pkg == "tokenizers":
																		# must be loaded here, or else tqdm check may fail
																		from .utils import is_tokenizers_available

																		if not is_tokenizers_available():
																								continue  # not required, check version only if installed

												require_version_core(deps[pkg])
						else:
												raise ValueError(f"""can't find {pkg} in {deps.keys()}, check dependency_versions_table.py""")






def 							__lowercase   ( __lowerCAmelCase							:				Optional[Any]					,    __lowerCAmelCase							:				Tuple=None   ):
							require_version(deps[pkg]					,    __lowerCAmelCase   )




