





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_torch_available,
)


A__:    Tuple  	=	{
    '''configuration_trocr''': ['''TROCR_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''TrOCRConfig'''],
    '''processing_trocr''': ['''TrOCRProcessor'''],
}


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   A__:    List[Any]  	=	[
       '''TROCR_PRETRAINED_MODEL_ARCHIVE_LIST''',
       '''TrOCRForCausalLM''',
       '''TrOCRPreTrainedModel''',
   ]


if TYPE_CHECKING:
   from .configuration_trocr import TROCR_PRETRAINED_CONFIG_ARCHIVE_MAP, TrOCRConfig
   from .processing_trocr import TrOCRProcessor

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_trocr import TROCR_PRETRAINED_MODEL_ARCHIVE_LIST, TrOCRForCausalLM, TrOCRPreTrainedModel

else:
   import sys

   A__:    Dict  	=	_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)








from __future__ import annotations

from collections import namedtuple



def 				lowerCAmelCase_ (							A_    ,A_    ,A_):
    UpperCamelCase__:	List[str]					=     namedtuple("result"    ,"name value")
    if (voltage, current, power).count(0) != 1:
        raise ValueError("Only one argument must be 0")
    elif power < 0:
        raise ValueError(
            "Power cannot be negative in any electrical/electronics system")
    elif voltage == 0:
        return result("voltage"    ,power / current)
    elif current == 0:
        return result("current"    ,power / voltage)
    elif power == 0:
        return result("power"    ,float(round(abs(voltage * current)    ,2)))
    else:
        raise ValueError("Exactly one argument must be 0")


if __name__ == "__main__":
   import doctest

   doctest.testmod()

