




from typing import TYPE_CHECKING

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


__magic_name__     :     List[str]  							=					{
    'configuration_realm': ['REALM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'RealmConfig'],
    'tokenization_realm': ['RealmTokenizer'],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __magic_name__     :     Optional[Any]  							=					['RealmTokenizerFast']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      __magic_name__     :     Dict  							=					[
          'REALM_PRETRAINED_MODEL_ARCHIVE_LIST',
          'RealmEmbedder',
          'RealmForOpenQA',
          'RealmKnowledgeAugEncoder',
          'RealmPreTrainedModel',
          'RealmReader',
          'RealmScorer',
          'load_tf_weights_in_realm',
      ]
      __magic_name__     :     str  							=					['RealmRetriever']


if TYPE_CHECKING:
      from .configuration_realm import REALM_PRETRAINED_CONFIG_ARCHIVE_MAP, RealmConfig
      from .tokenization_realm import RealmTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_realm import RealmTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_realm import (
                REALM_PRETRAINED_MODEL_ARCHIVE_LIST,
                RealmEmbedder,
                RealmForOpenQA,
                RealmKnowledgeAugEncoder,
                RealmPreTrainedModel,
                RealmReader,
                RealmScorer,
                load_tf_weights_in_realm,
            )
            from .retrieval_realm import RealmRetriever


else:
      import sys

      __magic_name__     :     int  							=					_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)







def 		a_       (   __lowerCAmelCase      ,   __lowerCAmelCase							):
  lowerCAmelCase__								=			0
  for ele in arr:
    total_sum += product_sum(__lowerCAmelCase      ,   depth + 1							) if isinstance(__lowerCAmelCase      ,   __lowerCAmelCase							) else ele
  return total_sum * depth
def 		a_       (   __lowerCAmelCase							):
  return product_sum(__lowerCAmelCase      ,   1							)


if __name__ == "__main__":
      import doctest

      doctest.testmod()

