





lowercase_		:				int				=						[4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_		:				int				=						[3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_		:				List[str]				=						{
    0: '''Sunday''',
    1: '''Monday''',
    2: '''Tuesday''',
    3: '''Wednesday''',
    4: '''Thursday''',
    5: '''Friday''',
    6: '''Saturday''',
}

def       A__(		__lowerCAmelCase	,			__lowerCAmelCase	,			__lowerCAmelCase ):
				assert len(str(__lowerCAmelCase ) ) > 2, "year should be in YYYY format"
				assert 1 <= month <= 12, "month should be between 1 to 12"
				assert 1 <= day <= 31, "day should be between 1 to 31"

				# Doomsday algorithm:
				_snake_case :			Dict  						=   year // 1_00
				_snake_case :			List[Any]  						=   (5 * (century % 4) + 2) % 7
				_snake_case :			int  						=   year % 1_00
				_snake_case :			Any  						=   centurian % 12
				_snake_case :			Tuple  						=   (
				    (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
				) % 7
				_snake_case :			Tuple  						=   (
				    DOOMSDAY_NOT_LEAP[month - 1]
				    if (year % 4 != 0) or (centurian == 0 and (year % 4_00) == 0)
				    else DOOMSDAY_LEAP[month - 1]
				)
				_snake_case :			str  						=   (dooms_day + day - day_anchor) % 7
				return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
		import doctest

		doctest.testmod()













import argparse

import torch

from transformers import BertConfig, BertForPreTraining, load_tf_weights_in_bert
from transformers.utils import logging


logging.set_verbosity_info()

def       A__(		__lowerCAmelCase	,			__lowerCAmelCase	,			__lowerCAmelCase ):
				# Initialise PyTorch model
				_snake_case :			Optional[int]  						=   BertConfig.from_json_file(__lowerCAmelCase )
				print(F'''Building PyTorch model from configuration: {config}''' )
				_snake_case :			List[str]  						=   BertForPreTraining(__lowerCAmelCase )

				# Load weights from tf checkpoint
				load_tf_weights_in_bert(__lowerCAmelCase	,			__lowerCAmelCase	,			__lowerCAmelCase )

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


if __name__ == "__main__":
		lowercase_		:				Any				=						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.'''
		)
		lowercase_		:				List[str]				=						parser.parse_args()
		convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)






