


'''simple docstring'''





from typing import TYPE_CHECKING

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


UpperCAmelCase__  			=				{
    '''configuration_wav2vec2''': ['''WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''Wav2Vec2Config'''],
    '''feature_extraction_wav2vec2''': ['''Wav2Vec2FeatureExtractor'''],
    '''processing_wav2vec2''': ['''Wav2Vec2Processor'''],
    '''tokenization_wav2vec2''': ['''Wav2Vec2CTCTokenizer''', '''Wav2Vec2Tokenizer'''],
}


try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__  			=				[
					    '''WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
					    '''Wav2Vec2ForAudioFrameClassification''',
					    '''Wav2Vec2ForCTC''',
					    '''Wav2Vec2ForMaskedLM''',
					    '''Wav2Vec2ForPreTraining''',
					    '''Wav2Vec2ForSequenceClassification''',
					    '''Wav2Vec2ForXVector''',
					    '''Wav2Vec2Model''',
					    '''Wav2Vec2PreTrainedModel''',
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__  			=				[
					    '''TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST''',
					    '''TFWav2Vec2ForCTC''',
					    '''TFWav2Vec2Model''',
					    '''TFWav2Vec2PreTrainedModel''',
					    '''TFWav2Vec2ForSequenceClassification''',
					]

try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__  			=				[
					    '''FlaxWav2Vec2ForCTC''',
					    '''FlaxWav2Vec2ForPreTraining''',
					    '''FlaxWav2Vec2Model''',
					    '''FlaxWav2Vec2PreTrainedModel''',
					]


if TYPE_CHECKING:
					from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
					from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
					from .processing_wavaveca import WavaVecaProcessor
					from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_wavaveca import (
										    WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    WavaVecaForAudioFrameClassification,
										    WavaVecaForCTC,
										    WavaVecaForMaskedLM,
										    WavaVecaForPreTraining,
										    WavaVecaForSequenceClassification,
										    WavaVecaForXVector,
										    WavaVecaModel,
										    WavaVecaPreTrainedModel,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_wavaveca import (
										    TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFWavaVecaForCTC,
										    TFWavaVecaForSequenceClassification,
										    TFWavaVecaModel,
										    TFWavaVecaPreTrainedModel,
										)

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_wavaveca import (
										    FlaxWavaVecaForCTC,
										    FlaxWavaVecaForPreTraining,
										    FlaxWavaVecaModel,
										    FlaxWavaVecaPreTrainedModel,
										)


else:
					import sys

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







'''simple docstring'''





def 						UpperCAmelCase__(				_SCREAMING_SNAKE_CASE					: int,_SCREAMING_SNAKE_CASE					: int,_SCREAMING_SNAKE_CASE					: int ):






			"""simple docstring"""




			if exponent == 1:
						return base
			if exponent % 2 == 0:
						__A=	_modexpt(_SCREAMING_SNAKE_CASE,exponent // 2,_SCREAMING_SNAKE_CASE ) % modulo_value
						return (x * x) % modulo_value
			else:
						return (base * _modexpt(_SCREAMING_SNAKE_CASE,exponent - 1,_SCREAMING_SNAKE_CASE )) % modulo_value






def 						UpperCAmelCase__(				_SCREAMING_SNAKE_CASE					: int = 1777,_SCREAMING_SNAKE_CASE					: int = 1855,_SCREAMING_SNAKE_CASE					: int = 8 ):






			"""simple docstring"""




			__A=	base
			for _ in range(1,_SCREAMING_SNAKE_CASE ):
						__A=	_modexpt(_SCREAMING_SNAKE_CASE,_SCREAMING_SNAKE_CASE,10**digits )

			return result


if __name__ == "__main__":
					print(F"""{solution() = }""")



