




'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_SCREAMING_SNAKE_CASE							:   Tuple      		= {
    "configuration_conditional_detr": [
        "CONDITIONAL_DETR_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "ConditionalDetrConfig",
        "ConditionalDetrOnnxConfig",
    ]
}

try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_SCREAMING_SNAKE_CASE							:   Union[str, Any]      		= ["ConditionalDetrFeatureExtractor"]
		_SCREAMING_SNAKE_CASE							:   List[Any]      		= ["ConditionalDetrImageProcessor"]

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		_SCREAMING_SNAKE_CASE							:   Dict      		= [
		    "CONDITIONAL_DETR_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "ConditionalDetrForObjectDetection",
		    "ConditionalDetrForSegmentation",
		    "ConditionalDetrModel",
		    "ConditionalDetrPreTrainedModel",
		]


if TYPE_CHECKING:
		from .configuration_conditional_detr import (
		    CONDITIONAL_DETR_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    ConditionalDetrConfig,
		    ConditionalDetrOnnxConfig,
		)

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_conditional_detr import ConditionalDetrFeatureExtractor
				from .image_processing_conditional_detr import ConditionalDetrImageProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_conditional_detr import (
				    CONDITIONAL_DETR_PRETRAINED_MODEL_ARCHIVE_LIST,
				    ConditionalDetrForObjectDetection,
				    ConditionalDetrForSegmentation,
				    ConditionalDetrModel,
				    ConditionalDetrPreTrainedModel,
				)

else:
		import sys

		_SCREAMING_SNAKE_CASE							:   List[Any]      		= _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)










import math
from datetime import datetime, timedelta





def 		__A		(	__lowerCamelCase    )      ->       datetime:
	a										=							year % 19
	a										=							year % 4
	a										=							year % 7
	a										=							math.floor(year / 100    )
	a										=							math.floor((13 + 8 * leap_day_inhibits) / 25    )
	a										=							leap_day_inhibits / 4
	a										=							(
	    15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
	) % 30
	a										=							(4 + leap_day_inhibits - leap_day_reinstall_number) % 7

	# days to be added to March 21
	a										=							(19 * metonic_cycle + secular_moon_shift) % 30

	# PHM -> Paschal Full Moon
	a										=							(
	    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):
				__UpperCamelCase					:       Tuple    					=      "will be" if year > datetime.now().year else "was"
				print(F'Easter in {year} {tense} {gauss_easter(year)}')

