






from typing import TYPE_CHECKING

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


a_							=			{
    '''configuration_pix2struct''': [
        '''PIX2STRUCT_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''Pix2StructConfig''',
        '''Pix2StructTextConfig''',
        '''Pix2StructVisionConfig''',
    ],
    '''processing_pix2struct''': ['''Pix2StructProcessor'''],
}

try:
	if not is_vision_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a_							=			['''Pix2StructImageProcessor''']


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	a_							=			[
	    '''PIX2STRUCT_PRETRAINED_MODEL_ARCHIVE_LIST''',
	    '''Pix2StructPreTrainedModel''',
	    '''Pix2StructForConditionalGeneration''',
	    '''Pix2StructVisionModel''',
	    '''Pix2StructTextModel''',
	]

if TYPE_CHECKING:
	from .configuration_pixastruct import (
	    PIX2STRUCT_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    PixaStructConfig,
	    PixaStructTextConfig,
	    PixaStructVisionConfig,
	)
	from .processing_pixastruct import PixaStructProcessor

	try:
		if not is_vision_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .image_processing_pixastruct import PixaStructImageProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_pixastruct import (
		    PIX2STRUCT_PRETRAINED_MODEL_ARCHIVE_LIST,
		    PixaStructForConditionalGeneration,
		    PixaStructPreTrainedModel,
		    PixaStructTextModel,
		    PixaStructVisionModel,
		)

else:
	import sys

	a_							=			_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)










'''simple docstring'''







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


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


if __name__ == "__main__":
   import doctest

   doctest.testmod()


