


'''simple docstring'''



import warnings

from ...utils import logging
from .image_processing_donut import DonutImageProcessor


_lowercase      :      Tuple            =					logging.get_logger(__name__)






class 	UpperCamelCase__(       lowerCAmelCase	):




				def __init__(		self      :			int				,   *lowerCAmelCase      :			List[str]				,   **lowerCAmelCase      :			Any				)->					None:

										"""simple docstring"""




										warnings.warn(
										    '''The class DonutFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please'''
										    ''' use DonutImageProcessor instead.'''				,   lowerCAmelCase				,   )
										super().__init__(*lowerCAmelCase				,   **lowerCAmelCase				)









'''simple docstring'''



def 				lowerCamelCase__				(	A       :      int				,       A       :      int					):




						'''simple docstring'''






						while a != 0:
												UpperCAmelCase    ,    UpperCAmelCase					    =     b % a, a
						return b




def 				lowerCamelCase__				(	A       :      int				,       A       :      int					):




						'''simple docstring'''






						if gcd(A				,       A					) != 1:
												UpperCAmelCase					    =     f"""mod inverse of {a!r} and {m!r} does not exist"""
												raise ValueError(A					)
						UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     1, 0, a
						UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     0, 1, m
						while va != 0:
												UpperCAmelCase					    =     ua // va
												UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase    ,    UpperCAmelCase					    =     (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
						return ua % m





