from typing import TYPE_CHECKING

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


_a   :	Union[str, Any] 							=   {
    "configuration_blenderbot_small": [
        "BLENDERBOT_SMALL_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "BlenderbotSmallConfig",
        "BlenderbotSmallOnnxConfig",
    ],
    "tokenization_blenderbot_small": ["BlenderbotSmallTokenizer"],
}

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a   :	Tuple 							=   ["BlenderbotSmallTokenizerFast"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a   :	Dict 							=   [
       "BLENDERBOT_SMALL_PRETRAINED_MODEL_ARCHIVE_LIST",
       "BlenderbotSmallForCausalLM",
       "BlenderbotSmallForConditionalGeneration",
       "BlenderbotSmallModel",
       "BlenderbotSmallPreTrainedModel",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a   :	Optional[Any] 							=   [
       "TFBlenderbotSmallForConditionalGeneration",
       "TFBlenderbotSmallModel",
       "TFBlenderbotSmallPreTrainedModel",
   ]

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _a   :	Optional[int] 							=   [
       "FlaxBlenderbotSmallForConditionalGeneration",
       "FlaxBlenderbotSmallModel",
       "FlaxBlenderbotSmallPreTrainedModel",
   ]

if TYPE_CHECKING:
   from .configuration_blenderbot_small import (
       BLENDERBOT_SMALL_PRETRAINED_CONFIG_ARCHIVE_MAP,
       BlenderbotSmallConfig,
       BlenderbotSmallOnnxConfig,
   )
   from .tokenization_blenderbot_small import BlenderbotSmallTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_blenderbot_small_fast import BlenderbotSmallTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_blenderbot_small import (
          BLENDERBOT_SMALL_PRETRAINED_MODEL_ARCHIVE_LIST,
          BlenderbotSmallForCausalLM,
          BlenderbotSmallForConditionalGeneration,
          BlenderbotSmallModel,
          BlenderbotSmallPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_blenderbot_small import (
          TFBlenderbotSmallForConditionalGeneration,
          TFBlenderbotSmallModel,
          TFBlenderbotSmallPreTrainedModel,
      )

   try:
      if not is_flax_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_flax_blenderbot_small import (
          FlaxBlenderbotSmallForConditionalGeneration,
          FlaxBlenderbotSmallModel,
          FlaxBlenderbotSmallPreTrainedModel,
      )

else:
   import sys

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







'''simple docstring'''




def _lowercase	(      lowerCamelCase__							,    lowerCamelCase__						)					->       float:





       """simple docstring"""


       if discount_rate < 0:
              raise ValueError("Discount rate cannot be negative"						)
       if not cash_flows:
              raise ValueError("Cash flows list cannot be empty"						)
       __UpperCAmelCase  :				Tuple       				=		sum(
           cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(lowerCamelCase__						)						)
       return round(lowerCamelCase__							,    ndigits=2						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()






