






from typing import TYPE_CHECKING

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


a		:       Any			     = {
    "configuration_blenderbot": [
        "BLENDERBOT_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "BlenderbotConfig",
        "BlenderbotOnnxConfig",
    ],
    "tokenization_blenderbot": ["BlenderbotTokenizer"],
}

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a		:       Any			     = ["BlenderbotTokenizerFast"]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a		:       str			     = [
           "BLENDERBOT_PRETRAINED_MODEL_ARCHIVE_LIST",
           "BlenderbotForCausalLM",
           "BlenderbotForConditionalGeneration",
           "BlenderbotModel",
           "BlenderbotPreTrainedModel",
       ]


try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a		:       Optional[int]			     = [
           "TFBlenderbotForConditionalGeneration",
           "TFBlenderbotModel",
           "TFBlenderbotPreTrainedModel",
       ]


try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       a		:       Optional[Any]			     = [
           "FlaxBlenderbotForConditionalGeneration",
           "FlaxBlenderbotModel",
           "FlaxBlenderbotPreTrainedModel",
       ]


if TYPE_CHECKING:
       from .configuration_blenderbot import (
           BLENDERBOT_PRETRAINED_CONFIG_ARCHIVE_MAP,
           BlenderbotConfig,
           BlenderbotOnnxConfig,
       )
       from .tokenization_blenderbot import BlenderbotTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_blenderbot_fast import BlenderbotTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_blenderbot import (
                  BLENDERBOT_PRETRAINED_MODEL_ARCHIVE_LIST,
                  BlenderbotForCausalLM,
                  BlenderbotForConditionalGeneration,
                  BlenderbotModel,
                  BlenderbotPreTrainedModel,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_blenderbot import (
                  TFBlenderbotForConditionalGeneration,
                  TFBlenderbotModel,
                  TFBlenderbotPreTrainedModel,
              )

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_blenderbot import (
                  FlaxBlenderbotForConditionalGeneration,
                  FlaxBlenderbotModel,
                  FlaxBlenderbotPreTrainedModel,
              )

else:
       import sys

       a		:       List[Any]			     = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)










from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

a		:       Dict			     = typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
a		:       Any			     = typing.Union[np.floataa, int, float]  # noqa: UP007






def 				lowerCamelCase__      (    __lowerCamelCase			:     Vector  ,		__lowerCamelCase			:     Vector		):
  return np.sqrt(np.sum((np.asarray(__lowerCamelCase		) - np.asarray(__lowerCamelCase		)) ** 2		)		)






def 				lowerCamelCase__      (    __lowerCamelCase			:     Vector  ,		__lowerCamelCase			:     Vector		):
  return sum((va - va) ** 2 for va, va in zip(__lowerCamelCase  ,		__lowerCamelCase		)		) ** (1 / 2)


if __name__ == "__main__":






       def 				lowerCamelCase__      (    ):
         from timeit import timeit

         print("""Without Numpy"""		)
         print(
             timeit(
                 """euclidean_distance_no_np([1, 2, 3], [4, 5, 6])"""  ,		number=10000  ,		globals=globals()  ,		)		)
         print("""With Numpy"""		)
         print(
             timeit(
                 """euclidean_distance([1, 2, 3], [4, 5, 6])"""  ,		number=10000  ,		globals=globals()  ,		)		)







       benchmark()


