"""simple docstring"""





from typing import TYPE_CHECKING

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


_UpperCamelCase       :						Optional[Any]     =   {
    """configuration_bark""": [
        """BARK_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """BarkCoarseConfig""",
        """BarkConfig""",
        """BarkFineConfig""",
        """BarkSemanticConfig""",
    ],
    """processing_bark""": ["""BarkProcessor"""],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       _UpperCamelCase       :						Dict     =   [
           """BARK_PRETRAINED_MODEL_ARCHIVE_LIST""",
           """BarkFineModel""",
           """BarkSemanticModel""",
           """BarkCoarseModel""",
           """BarkModel""",
           """BarkPreTrainedModel""",
           """BarkCausalModel""",
       ]

if TYPE_CHECKING:
       from .configuration_bark import (
           BARK_PRETRAINED_CONFIG_ARCHIVE_MAP,
           BarkCoarseConfig,
           BarkConfig,
           BarkFineConfig,
           BarkSemanticConfig,
       )
       from .processing_bark import BarkProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_bark import (
                  BARK_PRETRAINED_MODEL_ARCHIVE_LIST,
                  BarkCausalModel,
                  BarkCoarseModel,
                  BarkFineModel,
                  BarkModel,
                  BarkPreTrainedModel,
                  BarkSemanticModel,
              )

else:
       import sys

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


"""simple docstring"""





import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig


class 					UpperCAmelCase_     (   _a):
      lowerCamelCase__		:   List[str]			  =  CustomConfig


      def __init__(       self		,      a							)	-> Optional[int]:
             super().__init__(a							)
             lowercase__      :		Any          =     torch.nn.Linear(config.hidden_size		,      config.hidden_size							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Union[str, Any]:
             return self.linear(a							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Tuple:
             pass





class 					UpperCAmelCase_     (   _a):
      lowerCamelCase__		:   Optional[int]			  =  NoSuperInitConfig


      def __init__(       self		,      a							)	-> int:
             super().__init__(a							)
             lowercase__      :		List[Any]          =     torch.nn.Linear(config.attribute		,      config.attribute							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Optional[int]:
             return self.linear(a							)


      def 		_UpperCAmelCase	(       self		,      a							)	-> Optional[Any]:
             pass

