



from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase     							=						{'''configuration_focalnet''': ['''FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''FocalNetConfig''']}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_lowercase     							=						[
				    '''FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST''',
				    '''FocalNetForImageClassification''',
				    '''FocalNetForMaskedImageModeling''',
				    '''FocalNetBackbone''',
				    '''FocalNetModel''',
				    '''FocalNetPreTrainedModel''',
				]

if TYPE_CHECKING:
				from .configuration_focalnet import FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FocalNetConfig

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_focalnet import (
								    FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST,
								    FocalNetBackbone,
								    FocalNetForImageClassification,
								    FocalNetForMaskedImageModeling,
								    FocalNetModel,
								    FocalNetPreTrainedModel,
								)

else:
				import sys

				_lowercase     							=						_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)








def      _A				(UpperCamelCase		:      List[Any]      ,			UpperCamelCase		:      Dict )  ->List[str]:



			'''simple docstring'''







			lowerCamelCase__ :      int								=		[1]
			for i in range(2      ,			UpperCamelCase ):
						factorials.append(factorials[-1] * i )
			assert 0 <= k < factorials[-1] * n, "k out of bounds"

			lowerCamelCase__ :      Union[str, Any]								=		[]
			lowerCamelCase__ :      Optional[Any]								=		list(range(UpperCamelCase ) )

			# Find permutation
			while factorials:
						lowerCamelCase__ :      Union[str, Any]								=		factorials.pop()
						lowerCamelCase__							,lowerCamelCase__ :      Union[str, Any]								=		divmod(UpperCamelCase      ,			UpperCamelCase )
						permutation.append(elements[number] )
						elements.remove(elements[number] )
			permutation.append(elements[0] )

			return permutation


if __name__ == "__main__":
				import doctest

				doctest.testmod()



