


import warnings
from functools import wraps
from typing import Callable

def 			_a  (				SCREAMING_SNAKE_CASE	:				Callable     ):







 """simple docstring"""



 @wraps(SCREAMING_SNAKE_CASE     )
 def _inner_fn(*SCREAMING_SNAKE_CASE	:				Optional[int]    , **SCREAMING_SNAKE_CASE	:				Dict     ):
  warnings.warn(
      (F"'{fn.__name__}' is experimental and might be subject to breaking changes in the future.")    , SCREAMING_SNAKE_CASE    , )
  return fn(*SCREAMING_SNAKE_CASE    , **SCREAMING_SNAKE_CASE     )

 return _inner_fn






from typing import TYPE_CHECKING

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


__UpperCamelCase       :       Dict						       =				{
    "configuration_trocr": ["TROCR_PRETRAINED_CONFIG_ARCHIVE_MAP", "TrOCRConfig"],
    "processing_trocr": ["TrOCRProcessor"],
}


try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __UpperCamelCase       :       Optional[int]						       =				[
           "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

       __UpperCamelCase       :       Tuple						       =				_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)


