

def    _A							(						__snake_case  :str  )   -> List[Any]:



   """simple docstring"""


   return credit_card_number.startswith(("34", "35", "37", "4", "5", "6")  )





def    _A							(						__snake_case  :str  )   -> Any:



   """simple docstring"""


   __SCREAMING_SNAKE_CASE       =				credit_card_number
   __SCREAMING_SNAKE_CASE       =				0
   __SCREAMING_SNAKE_CASE       =				len(lowerCamelCase__  ) - 2
   for i in range(lowerCamelCase__   , -1   , -2  ):
      #  double the value of every second digit
      __SCREAMING_SNAKE_CASE       =				int(cc_number[i]  )
      digit *= 2
      # If doubling of a number results in a two digit number
      # i.e greater than 9(e.g., 6 × 2 = 12),
      # then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
      # to get a single digit number.
      if digit > 9:
         digit %= 10
         digit += 1
      __SCREAMING_SNAKE_CASE       =				cc_number[:i] + str(lowerCamelCase__  ) + cc_number[i + 1 :]
      total += digit

   # Sum up the remaining digits
   for i in range(len(lowerCamelCase__  ) - 1   , -1   , -2  ):
      total += int(cc_number[i]  )

   return total % 10 == 0





def    _A							(						__snake_case  :str  )   -> str:



   """simple docstring"""


   __SCREAMING_SNAKE_CASE       =				f'''{credit_card_number} is an invalid credit card number because'''
   if not credit_card_number.isdigit():
      print(f'''{error_message} it has nonnumerical characters.'''  )
      return False

   if not 13 <= len(lowerCamelCase__  ) <= 16:
      print(f'''{error_message} of its length.'''  )
      return False

   if not validate_initial_digits(lowerCamelCase__  ):
      print(f'''{error_message} of its first two digits.'''  )
      return False

   if not luhn_validation(lowerCamelCase__  ):
      print(f'''{error_message} it fails the Luhn check.'''  )
      return False

   print(f'''{credit_card_number} is a valid credit card number.'''  )
   return True


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     validate_credit_card_number('4111111111111111')
     validate_credit_card_number('32323')





"""simple docstring"""


from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__snake_case    					=					{
    'configuration_informer': [
        'INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'InformerConfig',
    ],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   __snake_case    					=					[
       'INFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
       'InformerForPrediction',
       'InformerModel',
       'InformerPreTrainedModel',
   ]


if TYPE_CHECKING:
   from .configuration_informer import INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, InformerConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_informer import (
          INFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
          InformerForPrediction,
          InformerModel,
          InformerPreTrainedModel,
      )

else:
   import sys

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