

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tf_available, is_torch_available


a_     :    List[Any]     		=   {
    "configuration_rag": ["RagConfig"],
    "retrieval_rag": ["RagRetriever"],
    "tokenization_rag": ["RagTokenizer"],
}

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      a_     :    Any     		=   [
          "RagModel",
          "RagPreTrainedModel",
          "RagSequenceForGeneration",
          "RagTokenForGeneration",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      a_     :    int     		=   [
          "TFRagModel",
          "TFRagPreTrainedModel",
          "TFRagSequenceForGeneration",
          "TFRagTokenForGeneration",
      ]


if TYPE_CHECKING:
      from .configuration_rag import RagConfig
      from .retrieval_rag import RagRetriever
      from .tokenization_rag import RagTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_rag import RagModel, RagPreTrainedModel, RagSequenceForGeneration, RagTokenForGeneration

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_rag import (
                TFRagModel,
                TFRagPreTrainedModel,
                TFRagSequenceForGeneration,
                TFRagTokenForGeneration,
            )

else:
      import sys

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




import baseaa


def 							__lowerCAmelCase     (							_UpperCamelCase		:	str						)		->				bytes:
 '''simple docstring'''


 return baseaa.aaaencode(string.encode('utf-8'						)						)


def 							__lowerCAmelCase     (							_UpperCamelCase		:	bytes						)		->				str:
 '''simple docstring'''


 return baseaa.aaadecode(_UpperCamelCase						).decode('utf-8'						)


if __name__ == "__main__":
      import doctest

      doctest.testmod()

