





import argparse
import datetime






def lowerCamelCase__       (				snake_case_      :    Dict			) ->							Union[str, Any]:
   __snake_case							=  {
       '''0''': '''Sunday''',
       '''1''': '''Monday''',
       '''2''': '''Tuesday''',
       '''3''': '''Wednesday''',
       '''4''': '''Thursday''',
       '''5''': '''Friday''',
       '''6''': '''Saturday''',
   }

   __snake_case							=  {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

   # Validate
   if not 0 < len(snake_case_			) < 11:
      raise ValueError('''Must be 10 characters long'''			)

   # Get month
   __snake_case							=  int(date_input[0] + date_input[1]			)
   # Validate
   if not 0 < m < 13:
      raise ValueError('''Month must be between 1 - 12'''			)

   __snake_case							=  date_input[2]
   # Validate
   if sep_a not in ["-", "/"]:
      raise ValueError('''Date separator must be \'-\' or \'/\''''			)

   # Get day
   __snake_case							=  int(date_input[3] + date_input[4]			)
   # Validate
   if not 0 < d < 32:
      raise ValueError('''Date must be between 1 - 31'''			)

   # Get second separator
   __snake_case							=  date_input[5]
   # Validate
   if sep_a not in ["-", "/"]:
      raise ValueError('''Date separator must be \'-\' or \'/\''''			)

   # Get year
   __snake_case							=  int(date_input[6] + date_input[7] + date_input[8] + date_input[9]			)
   # Arbitrary year range
   if not 45 < y < 8500:
      raise ValueError(
          '''Year out of range. There has to be some sort of limit...right?'''			)

   # Get datetime obj for validation
   __snake_case							=  datetime.date(int(snake_case_			)			, int(snake_case_			)			, int(snake_case_			)			)

   # Start math
   if m <= 2:
      __snake_case							=  y - 1
      __snake_case							=  m + 12
   # maths var
   __snake_case							=  int(str(snake_case_			)[:2]			)
   __snake_case							=  int(str(snake_case_			)[2:]			)
   __snake_case							=  int(2.6 * m - 5.39			)
   __snake_case							=  int(c / 4			)
   __snake_case							=  int(k / 4			)
   __snake_case							=  int(d + k			)
   __snake_case							=  int(t + u + v + x			)
   __snake_case							=  int(z - (2 * c)			)
   __snake_case							=  round(w % 7			)
   # End math

   # Validate math
   if f != convert_datetime_days[dt_ck.weekday()]:
      raise AssertionError('''The date was evaluated incorrectly. Contact developer.'''			)

   # Response
   __snake_case							=  f"""Your date {date_input}, is a {days[str(snake_case_			)]}!"""
   return response


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    snake_case_           =     argparse.ArgumentParser(
        description=(
            'Find out what day of the week nearly any date is or was. Enter '
            'date as a string in the mm-dd-yyyy or mm/dd/yyyy format'
        )
    )
    parser.add_argument(
        'date_input', type=str, help='Date as a string (mm-dd-yyyy or mm/dd/yyyy)'
    )
    snake_case_           =     parser.parse_args()
    zeller(args.date_input)









from pathlib import PurePosixPath
from typing import Optional

import fsspec
from fsspec import AbstractFileSystem
from huggingface_hub.hf_api import DatasetInfo

from ..utils.file_utils import get_authentication_headers_for_url
from ..utils.hub import hf_hub_url
class     lowerCamelCase_					(   lowerCamelCase			):
				a__       							=	''''''
				a__       							=	'''hf-legacy'''  # "hf://"" is reserved for hffs







				def __init__(    self							,       __lowerCAmelCase = None							,       __lowerCAmelCase = None							,       **__lowerCAmelCase							,       ):
								"""simple docstring"""
								super().__init__(self							,       **__lowerCAmelCase  )
								__magic_name__		:List[Any]   =   repo_info
								__magic_name__		:Dict   =   token
								__magic_name__		:Optional[Any]   =   None







				def       A						(    self  ):
								"""simple docstring"""
								if self.dir_cache is None:
												__magic_name__		:Any   =   {}
												for hf_file in self.repo_info.siblings:
																# TODO(QL): add sizes
																__magic_name__		:Optional[int]   =   {
																    '''name''': hf_file.rfilename,
																    '''size''': None,
																    '''type''': '''file''',
																}
																self.dir_cache.update(
																    {
																        str(__lowerCAmelCase  ): {'''name''': str(__lowerCAmelCase  ), '''size''': None, '''type''': '''directory'''}
																        for d in list(PurePosixPath(hf_file.rfilename  ).parents  )[:-1]
																    }  )







				def       A						(    self							,       __lowerCAmelCase							,       __lowerCAmelCase = "rb"							,       **__lowerCAmelCase							,       ):
								"""simple docstring"""
								if not isinstance(self.repo_info							,       __lowerCAmelCase  ):
												raise NotImplementedError(F'''Open is only implemented for dataset repositories, but got {self.repo_info}'''  )
								__magic_name__		:Union[str, Any]   =   hf_hub_url(self.repo_info.id							,       __lowerCAmelCase							,       revision=self.repo_info.sha  )
								return fsspec.open(
								    __lowerCAmelCase							,       mode=__lowerCAmelCase							,       headers=get_authentication_headers_for_url(__lowerCAmelCase							,       use_auth_token=self.token  )							,       client_kwargs={'''trust_env''': True}							,       ).open()







				def       A						(    self							,       __lowerCAmelCase							,       **__lowerCAmelCase  ):
								"""simple docstring"""
								self._get_dirs()
								__magic_name__		:str   =   self._strip_protocol(__lowerCAmelCase  )
								if path in self.dir_cache:
												return self.dir_cache[path]
								else:
												raise FileNotFoundError(__lowerCAmelCase  )







				def       A						(    self							,       __lowerCAmelCase							,       __lowerCAmelCase=False							,       **__lowerCAmelCase  ):
								"""simple docstring"""
								self._get_dirs()
								__magic_name__		:Union[str, Any]   =   PurePosixPath(path.strip('''/'''  )  )
								__magic_name__		:Dict   =   {}
								for p, f in self.dir_cache.items():
												__magic_name__		:int   =   PurePosixPath(p.strip('''/'''  )  )
												__magic_name__		:Tuple   =   p.parent
												if root == path:
																__magic_name__		:Optional[Any]   =   f
								__magic_name__		:List[Any]   =   list(paths.values()  )
								if detail:
												return out
								else:
												return sorted(f['''name'''] for f in out  )






