




from ...configuration_utils import PretrainedConfig
from ...utils import logging


_UpperCAmelCase	:						List[Any]			=     logging.get_logger(__name__)

_UpperCAmelCase	:						List[str]			=     {
    "google/fnet-base": "https://huggingface.co/google/fnet-base/resolve/main/config.json",
    "google/fnet-large": "https://huggingface.co/google/fnet-large/resolve/main/config.json"
    # See all FNet models at https://huggingface.co/models?filter=fnet
}




class    __lowerCAmelCase       (							lowerCAmelCase):
       _a 					=						'''fnet'''






       def __init__(   self:					str       ,					_lowerCAmelCase:					Any=3_20_00       ,					_lowerCAmelCase:					Tuple=7_68       ,					_lowerCAmelCase:					List[str]=12       ,					_lowerCAmelCase:					Dict=30_72       ,					_lowerCAmelCase:					Union[str, Any]="gelu_new"       ,					_lowerCAmelCase:					str=0.1       ,					_lowerCAmelCase:					str=5_12       ,					_lowerCAmelCase:					Optional[Any]=4       ,					_lowerCAmelCase:					Dict=0.02       ,					_lowerCAmelCase:					Tuple=1e-1_2       ,					_lowerCAmelCase:					Union[str, Any]=False       ,					_lowerCAmelCase:					Optional[int]=5_12       ,					_lowerCAmelCase:					List[Any]=3       ,					_lowerCAmelCase:					Optional[int]=1       ,					_lowerCAmelCase:					List[str]=2       ,					**_lowerCAmelCase:					Any       ,					):
         super().__init__(pad_token_id=_lowerCAmelCase       ,					bos_token_id=_lowerCAmelCase       ,					eos_token_id=_lowerCAmelCase       ,					**_lowerCAmelCase				)

         lowercase    :List[str]      	=						vocab_size
         lowercase    :str      	=						max_position_embeddings
         lowercase    :int      	=						hidden_size
         lowercase    :Tuple      	=						num_hidden_layers
         lowercase    :str      	=						intermediate_size
         lowercase    :Optional[int]      	=						hidden_act
         lowercase    :Optional[int]      	=						hidden_dropout_prob
         lowercase    :Optional[Any]      	=						initializer_range
         lowercase    :List[str]      	=						type_vocab_size
         lowercase    :List[Any]      	=						layer_norm_eps
         lowercase    :Union[str, Any]      	=						use_tpu_fourier_optimizations
         lowercase    :Union[str, Any]      	=						tpu_short_seq_length









def       UpperCAmelCase__  (     lowerCamelCase   ):
  if divisor % 5 == 0 or divisor % 2 == 0:
    return 0
  lowercase    :str      	=						1
  lowercase    :Tuple      	=						1
  while repunit:
    lowercase    :Dict      	=						(10 * repunit + 1) % divisor
    repunit_index += 1
  return repunit_index



def       UpperCAmelCase__  (     lowerCamelCase = 1000000   ):
  lowercase    :List[Any]      	=						limit - 1
  if divisor % 2 == 0:
    divisor += 1
  while least_divisible_repunit(lowerCamelCase   ) <= limit:
    divisor += 2
  return divisor


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



