"""simple docstring"""



import os
from pathlib import Path





def    SCREAMING_SNAKE_CASE       (     ):
     from torch.utils.cpp_extension import load

     __snake_case				=							Path(snake_case).resolve().parent.parent.parent / '''kernels''' / '''deformable_detr'''
     __snake_case				=							[
         root / filename
         for filename in [
             '''vision.cpp''',
             os.path.join('''cpu''',      '''ms_deform_attn_cpu.cpp'''),
             os.path.join('''cuda''',      '''ms_deform_attn_cuda.cu'''),
         ]
     ]

     load(
         '''MultiScaleDeformableAttention''',      snake_case,      with_cuda=snake_case,      extra_include_paths=[str(snake_case)],      extra_cflags=['''-DWITH_CUDA=1'''],      extra_cuda_cflags=[
             '''-DCUDA_HAS_FP16=1''',
             '''-D__CUDA_NO_HALF_OPERATORS__''',
             '''-D__CUDA_NO_HALF_CONVERSIONS__''',
             '''-D__CUDA_NO_HALF2_OPERATORS__''',
         ],      )

     import MultiScaleDeformableAttention as MSDA

     return MSDA
"""simple docstring"""



from typing import TYPE_CHECKING

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


__lowercase		:		Optional[Any]														=							{
    "configuration_falcon": ["FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP", "FalconConfig"],
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __lowercase		:		str														=							[
           "FALCON_PRETRAINED_MODEL_ARCHIVE_LIST",
           "FalconForCausalLM",
           "FalconModel",
           "FalconPreTrainedModel",
           "FalconForSequenceClassification",
           "FalconForTokenClassification",
           "FalconForQuestionAnswering",
       ]


if TYPE_CHECKING:
       from .configuration_falcon import FALCON_PRETRAINED_CONFIG_ARCHIVE_MAP, FalconConfig

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_falcon import (
                  FALCON_PRETRAINED_MODEL_ARCHIVE_LIST,
                  FalconForCausalLM,
                  FalconForQuestionAnswering,
                  FalconForSequenceClassification,
                  FalconForTokenClassification,
                  FalconModel,
                  FalconPreTrainedModel,
              )


else:
       import sys

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