



import argparse

import torch

from transformers import RoFormerConfig, RoFormerForMaskedLM, load_tf_weights_in_roformer
from transformers.utils import logging


logging.set_verbosity_info()


def   _A       (    SCREAMING_SNAKE_CASE__  :     Optional[int]					,  SCREAMING_SNAKE_CASE__  :     int					,  SCREAMING_SNAKE_CASE__  :     int	):
    # Initialise PyTorch model
    UpperCamelCase	:str     							=       RoFormerConfig.from_json_file(_lowerCAmelCase	)
    print(F'''Building PyTorch model from configuration: {config}'''	)
    UpperCamelCase	:Dict     							=       RoFormerForMaskedLM(_lowerCAmelCase	)

    # Load weights from tf checkpoint
    load_tf_weights_in_roformer(_lowerCAmelCase					,  _lowerCAmelCase					,  _lowerCAmelCase	)

    # Save pytorch-model
    print(F'''Save PyTorch model to {pytorch_dump_path}'''	)
    torch.save(model.state_dict()					,  _lowerCAmelCase					,  _use_new_zipfile_serialization=_lowerCAmelCase	)


if __name__ == "__main__":
 __snake_case							 =  argparse.ArgumentParser()
 # Required parameters
 parser.add_argument(
     """--tf_checkpoint_path""", default=None, type=str, required=True, help="""Path to the TensorFlow checkpoint path."""
 )
 parser.add_argument(
     """--bert_config_file""",
     default=None,
     type=str,
     required=True,
     help=(
         """The config json file corresponding to the pre-trained BERT model. \n"""
         """This specifies the model architecture."""
     ),
 )
 parser.add_argument(
     """--pytorch_dump_path""", default=None, type=str, required=True, help="""Path to the output PyTorch model."""
 )
 __snake_case							 =  parser.parse_args()
 convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)













def   _A       (    SCREAMING_SNAKE_CASE__  :     int = 998001	):

    # fetches the next number
    for number in range(n - 1					,  9999					,  -1	):
        UpperCamelCase	:Union[str, Any]     							=       str(SCREAMING_SNAKE_CASE__	)

        # checks whether 'str_number' is a palindrome.
        if str_number == str_number[::-1]:
            UpperCamelCase	:Dict     							=       999

            # if 'number' is a product of two 3-digit numbers
            # then number is the answer otherwise fetch next number.
            while divisor != 99:
                if (number % divisor == 0) and (len(str(number // divisor	)	) == 3.0):
                    return number
                divisor -= 1
    raise ValueError('''That number is larger than our acceptable range.'''	)


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





