

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_a:      Tuple								=     {
    """configuration_wav2vec2_conformer""": [
        """WAV2VEC2_CONFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """Wav2Vec2ConformerConfig""",
    ],
}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				_a:      Optional[int]								=     [
				    """WAV2VEC2_CONFORMER_PRETRAINED_MODEL_ARCHIVE_LIST""",
				    """Wav2Vec2ConformerForAudioFrameClassification""",
				    """Wav2Vec2ConformerForCTC""",
				    """Wav2Vec2ConformerForPreTraining""",
				    """Wav2Vec2ConformerForSequenceClassification""",
				    """Wav2Vec2ConformerForXVector""",
				    """Wav2Vec2ConformerModel""",
				    """Wav2Vec2ConformerPreTrainedModel""",
				]

if TYPE_CHECKING:
				from .configuration_wavaveca_conformer import (
				    WAV2VEC2_CONFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    WavaVecaConformerConfig,
				)

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_wavaveca_conformer import (
								    WAV2VEC2_CONFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
								    WavaVecaConformerForAudioFrameClassification,
								    WavaVecaConformerForCTC,
								    WavaVecaConformerForPreTraining,
								    WavaVecaConformerForSequenceClassification,
								    WavaVecaConformerForXVector,
								    WavaVecaConformerModel,
								    WavaVecaConformerPreTrainedModel,
								)

else:
				import sys

				_a:      Union[str, Any]								=     _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)


def  __lowerCAmelCase (  A      ):
	UpperCAmelCase_    			=     len(A      )

	# Set the gap value to be decreased by a factor of 1.3
	# after each iteration
	UpperCAmelCase_    			=     1.3

	# Continue sorting until the gap is 1
	while gap > 1:
		# Decrease the gap value
		UpperCAmelCase_    			=     int(gap / shrink      )

		# Sort the elements using insertion sort
		for i in range(A    ,       len(A      )      ):
			UpperCAmelCase_    			=     collection[i]
			UpperCAmelCase_    			=     i
			while j >= gap and collection[j - gap] > temp:
				UpperCAmelCase_    			=     collection[j - gap]
				j -= gap
			UpperCAmelCase_    			=     temp

	return collection


if __name__ == "__main__":
				import doctest

				doctest.testmod()