'''simple docstring'''

import logging
from dataclasses import dataclass, field
from typing import Optional

from seqaseq_trainer import arg_to_scheduler

from transformers import TrainingArguments


__a: Union[str, Any]          =   logging.getLogger(__name__)



@dataclass
class 			UpperCAmelCase  (						lowercase__					):





       '''simple docstring'''



       SCREAMING_SNAKE_CASE							=    field(
           default=0.0    ,						metadata={"help": "The label smoothing epsilon to apply (if not zero)."}					)
       SCREAMING_SNAKE_CASE							=    field(default=lowercase__    ,						metadata={"help": "Whether to SortishSamler or not."}					)
       SCREAMING_SNAKE_CASE							=    field(
           default=lowercase__    ,						metadata={"help": "Whether to use generate to calculate generative metrics (ROUGE, BLEU)."}					)
       SCREAMING_SNAKE_CASE							=    field(default=lowercase__    ,						metadata={"help": "whether to use adafactor"}					)
       SCREAMING_SNAKE_CASE							=    field(
           default=lowercase__    ,						metadata={"help": "Encoder layer dropout probability. Goes into model.config."}					)
       SCREAMING_SNAKE_CASE							=    field(
           default=lowercase__    ,						metadata={"help": "Decoder layer dropout probability. Goes into model.config."}					)
       SCREAMING_SNAKE_CASE							=    field(default=lowercase__    ,						metadata={"help": "Dropout probability. Goes into model.config."}					)
       SCREAMING_SNAKE_CASE							=    field(
           default=lowercase__    ,						metadata={"help": "Attention dropout probability. Goes into model.config."}					)
       SCREAMING_SNAKE_CASE							=    field(
           default="linear"    ,						metadata={"help": F"Which lr scheduler to use. Selected in {sorted(arg_to_scheduler.keys()					)}"}    ,						)





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







def        SCREAMING_SNAKE_CASE_						(			__A :			int  ,    __A :			int  ,    __A :			int				)	->		str:

       """simple docstring"""

       assert len(str(__A				)				) > 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:
       a_					:		List[str]							=  year // 1_00
       a_					:		Optional[int]							=  (5 * (century % 4) + 2) % 7
       a_					:		List[str]							=  year % 1_00
       a_					:		str							=  centurian % 12
       a_					:		List[str]							=  (
           (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
       ) % 7
       a_					:		Any							=  (
           DOOMSDAY_NOT_LEAP[month - 1]
           if (year % 4 != 0) or (centurian == 0 and (year % 4_00) == 0)
           else DOOMSDAY_LEAP[month - 1]
       )
       a_					:		Any							=  (dooms_day + day - day_anchor) % 7
       return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
   import doctest

   doctest.testmod()


