� L�g�����dZddlZddlmZedefd���Zedefd���Zedefd���Zedefd ���Zedefd ���Z edefd ���Z edefd ���Z edefd ���Z dS)zCard.�N�)� validator�valuec���|sdS ttt|����}t|ddd���}td�|ddd�D����}||zdzdkS#t$rYdSwxYw)aiReturn whether or not given value is a valid generic card number. This validator is based on [Luhn's algorithm][1]. [1]: https://github.com/mmcloughlin/luhn Examples: >>> card_number('4242424242424242') # Output: True >>> card_number('4242424242424241') # Output: ValidationError(func=card_number, args={'value': '4242424242424241'}) Args: value: Generic card number string to validate Returns: (Literal[True]): If `value` is a valid generic card number. (ValidationError): If `value` is an invalid generic card number. F�����N�����c3�VK�|]$}ttd|zd����V��%dS)�� N)�sum�divmod)�.0�ds �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/validators/card.py� <genexpr>zcard_number.<locals>.<genexpr>%s8����F�F�!�s�6�!�a�%��,�,�-�-�F�F�F�F�F�F�r r)�list�map�intr � ValueError)r�digits�odd_sum�even_sums r� card_numberr s���, ���u���c�#�u�o�o�&�&���f�R�V��V�n�%�%���F�F�v�b�f�"�f�~�F�F�F�F�F���(�"�b�(�A�-�-�� �����u�u����s�A'A.�. A<�;A<c��tjd��}t|��o't|��dko|�|��S)a�Return whether or not given value is a valid Visa card number. Examples: >>> visa('4242424242424242') # Output: True >>> visa('2223003122003222') # Output: ValidationError(func=visa, args={'value': '2223003122003222'}) Args: value: Visa card number string to validate Returns: (Literal[True]): If `value` is a valid Visa card number. (ValidationError): If `value` is an invalid Visa card number. z^4���re�compiler�len�match�r�patterns r�visar$+sB��$�j����G� �u� � � K�#�e�*�*��"2� K�w�}�}�U�7K�7K�Krc��tjd��}t|��o't|��dko|�|��S)a Return whether or not given value is a valid Mastercard card number. Examples: >>> mastercard('5555555555554444') # Output: True >>> mastercard('4242424242424242') # Output: ValidationError(func=mastercard, args={'value': '4242424242424242'}) Args: value: Mastercard card number string to validate Returns: (Literal[True]): If `value` is a valid Mastercard card number. (ValidationError): If `value` is an invalid Mastercard card number. z#^(51|52|53|54|55|22|23|24|25|26|27)rrr"s r� mastercardr&AsC��$�j�?�@�@�G� �u� � � K�#�e�*�*��"2� K�w�}�}�U�7K�7K�Krc��tjd��}t|��o't|��dko|�|��S)aReturn whether or not given value is a valid American Express card number. Examples: >>> amex('378282246310005') # Output: True >>> amex('4242424242424242') # Output: ValidationError(func=amex, args={'value': '4242424242424242'}) Args: value: American Express card number string to validate Returns: (Literal[True]): If `value` is a valid American Express card number. (ValidationError): If `value` is an invalid American Express card number. z^(34|37)�rr"s r�amexr)WsB��$�j��%�%�G� �u� � � K�#�e�*�*��"2� K�w�}�}�U�7K�7K�Krc��tjd��}t|��o't|��dko|�|��S)a�Return whether or not given value is a valid UnionPay card number. Examples: >>> unionpay('6200000000000005') # Output: True >>> unionpay('4242424242424242') # Output: ValidationError(func=unionpay, args={'value': '4242424242424242'}) Args: value: UnionPay card number string to validate Returns: (Literal[True]): If `value` is a valid UnionPay card number. (ValidationError): If `value` is an invalid UnionPay card number. z^62rrr"s r�unionpayr+m�B��$�j�� � �G� �u� � � K�#�e�*�*��"2� K�w�}�}�U�7K�7K�Krc��tjd��}t|��o%t|��dvo|�|��S)aReturn whether or not given value is a valid Diners Club card number. Examples: >>> diners('3056930009020004') # Output: True >>> diners('4242424242424242') # Output: ValidationError(func=diners, args={'value': '4242424242424242'}) Args: value: Diners Club card number string to validate Returns: (Literal[True]): If `value` is a valid Diners Club card number. (ValidationError): If `value` is an invalid Diners Club card number. z^(30|36|38|39)>�rrr"s r�dinersr/�sC��$�j�*�+�+�G� �u� � � Q�#�e�*�*��"8� Q�W�]�]�5�=Q�=Q�Qrc��tjd��}t|��o't|��dko|�|��S)a�Return whether or not given value is a valid JCB card number. Examples: >>> jcb('3566002020360505') # Output: True >>> jcb('4242424242424242') # Output: ValidationError(func=jcb, args={'value': '4242424242424242'}) Args: value: JCB card number string to validate Returns: (Literal[True]): If `value` is a valid JCB card number. (ValidationError): If `value` is an invalid JCB card number. z^35rrr"s r�jcbr1�r,rc��tjd��}t|��o't|��dko|�|��S)a�Return whether or not given value is a valid Discover card number. Examples: >>> discover('6011111111111117') # Output: True >>> discover('4242424242424242') # Output: ValidationError(func=discover, args={'value': '4242424242424242'}) Args: value: Discover card number string to validate Returns: (Literal[True]): If `value` is a valid Discover card number. (ValidationError): If `value` is an invalid Discover card number. z ^(60|64|65)rrr"s r�discoverr3�sB��$�j��(�(�G� �u� � � K�#�e�*�*��"2� K�w�}�}�U�7K�7K�Kr) �__doc__r�utilsr�strrr$r&r)r+r/r1r3�rr�<module>r8s��� � � � � � ������� ��s���� ���@ �L��L�L�L� ��L�* �L�c�L�L�L� ��L�* �L��L�L�L� ��L�* �L�C�L�L�L� ��L�* �R�#�R�R�R� ��R�* �L�s�L�L�L� ��L�* �L�C�L�L�L� ��L�L�Lr
Memory