"""simple docstring"""




import math
from datetime import datetime, timedelta





def 							SCREAMING_SNAKE_CASE					(      _lowerCamelCase						:	int     )	->				datetime:
  _lowerCAmelCase						:	Tuple        =					year % 19
  _lowerCAmelCase						:	List[Any]        =					year % 4
  _lowerCAmelCase						:	Tuple        =					year % 7
  _lowerCAmelCase						:	int        =					math.floor(year / 100     )
  _lowerCAmelCase						:	Union[str, Any]        =					math.floor((13 + 8 * leap_day_inhibits) / 25     )
  _lowerCAmelCase						:	List[str]        =					leap_day_inhibits / 4
  _lowerCAmelCase						:	Union[str, Any]        =					(
      15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
  ) % 30
  _lowerCAmelCase						:	List[str]        =					(4 + leap_day_inhibits - leap_day_reinstall_number) % 7

  # days to be added to March 21
  _lowerCAmelCase						:	Union[str, Any]        =					(19 * metonic_cycle + secular_moon_shift) % 30

  # PHM -> Paschal Full Moon
  _lowerCAmelCase						:	str        =					(
      2 * julian_leap_year
      + 4 * non_leap_year
      + 6 * days_to_add
      + century_starting_point
  ) % 7

  if days_to_add == 29 and days_from_phm_to_sunday == 6:
    return datetime(_lowerCamelCase      ,4      ,19     )
  elif days_to_add == 28 and days_from_phm_to_sunday == 6:
    return datetime(_lowerCamelCase      ,4      ,18     )
  else:
    return datetime(_lowerCamelCase      ,3      ,22     ) + timedelta(
        days=int(days_to_add + days_from_phm_to_sunday     )     )


if __name__ == "__main__":
     for year in (1_994, 2_000, 2_010, 2_021, 2_023):
          _a				:		str	   =       'will be' if year > datetime.now().year else 'was'
          print(F"""Easter in {year} {tense} {gauss_easter(year)}""")





"""simple docstring"""




from typing import Optional

import pyspark

from .. import Features, NamedSplit
from ..download import DownloadMode
from ..packaged_modules.spark.spark import Spark
from .abc import AbstractDatasetReader
class 						__A							(			SCREAMING_SNAKE_CASE_		):






     def __init__(		self    ,					a__    ,					a__ = None    ,					a__ = None    ,					a__ = True    ,					a__ = None    ,					a__ = False    ,					a__ = None    ,					a__ = True    ,					a__ = "arrow"    ,					**a__    ,					):
       super().__init__(
           split=a__    ,					features=a__    ,					cache_dir=a__    ,					keep_in_memory=a__    ,					streaming=a__    ,					**a__    ,					)
       _lowerCAmelCase						:	List[Any]        =					load_from_cache_file
       _lowerCAmelCase						:	str        =					file_format
       _lowerCAmelCase						:	Dict        =					Spark(
           df=a__    ,					features=a__    ,					cache_dir=a__    ,					working_dir=a__    ,					**a__    ,					)






     def    __A  (		self  ):
       if self.streaming:
         return self.builder.as_streaming_dataset(split=self.split  )
       _lowerCAmelCase						:	Dict        =					None if self._load_from_cache_file else DownloadMode.FORCE_REDOWNLOAD
       self.builder.download_and_prepare(
           download_mode=a__    ,					file_format=self._file_format    ,					)
       return self.builder.as_dataset(split=self.split  )




