� L�g� ���dZddlmZdefd�Zdefd�Zedefd���Zedefd���Zedefd ���Zd S) zFinance.�)� validator�cusipc���d\}}td��D]�}||}|dkr&|dkr t|��td��z }n||dkr)|dkr#dt|��ztd��z }nM|dkr)|d kr#dt|��ztd��z }n|d krd }n|d krd }n |dkrd}ndS|dzr||z }||dzz|dzz}��|dzdkS)N��N� �0�9�A�Z� �a�z�*�$�@�%�#�&Frr��range�ord)r�check�val�idx�cs �b/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/validators/finance.py�_cusip_checksumrs ���J�E�3��Q�x�x�1�1�� �#�J�� ��8�8��S����a�&�&�3�s�8�8�#�C�C� �#�X�X�!�s�(�(��s�1�v�v�+��C���(�C�C� �#�X�X�!�s�(�(��s�1�v�v�+��C���(�C�C� �#�X�X��C�C� �#�X�X��C�C� �#�X�X��C�C��5�5� ��7� � �3�J�C�����#�s�R�x�0��� �B�J�1� ���valuec��d\}}td��D]�}||}|dkr,|dkr&|dkr t|��td��z }na|dkr)|dkr#dt|��ztd��z }n2|d kr)|d kr#dt|��ztd ��z }nd S|dzr||z }��|dzd kS) Nr� r r rr r r rrFrr)r rrrrs r�_isin_checksumr#"s����J�E�3��R�y�y� � �� �#�J�� ��8�8��S���S�1�W�W��a�&�&�3�s�8�8�#�C�C� �#�X�X�!�s�(�(��s�1�v�v�+��C���(�C�C� �#�X�X�!�s�(�(��s�1�v�v�+��C���(�C�C��5�5� ��7� � �3�J�C�� �B�J�1� �rc�F�t|��dkot|��S)a�Return whether or not given value is a valid CUSIP. Checks if the value is a valid [CUSIP][1]. [1]: https://en.wikipedia.org/wiki/CUSIP Examples: >>> cusip('037833DP2') True >>> cusip('037833DP3') ValidationFailure(func=cusip, ...) Args: value: CUSIP string to validate. Returns: (Literal[True]): If `value` is a valid CUSIP string. (ValidationError): If `value` is an invalid CUSIP string. r)�lenr�r s rrr6s!��( �u�:�:��?� 5��u�5�5�5rc�F�t|��dkot|��S)a�Return whether or not given value is a valid ISIN. Checks if the value is a valid [ISIN][1]. [1]: https://en.wikipedia.org/wiki/International_Securities_Identification_Number Examples: >>> isin('037833DP2') True >>> isin('037833DP3') ValidationFailure(func=isin, ...) Args: value: ISIN string to validate. Returns: (Literal[True]): If `value` is a valid ISIN string. (ValidationError): If `value` is an invalid ISIN string. r")r%r#r&s r�isinr(Ms"��( �u�:�:�� � 5��u� 5� 5�5rc�h�t|��dkrdSgd�}d}td��D]}||}|dvrdSd}|dkr&|dkr t|��td��z }n2|d kr)|d kr#d t|��ztd ��z }ndS||||zz }��|d zdkS) a�Return whether or not given value is a valid SEDOL. Checks if the value is a valid [SEDOL][1]. [1]: https://en.wikipedia.org/wiki/SEDOL Examples: >>> sedol('2936921') True >>> sedol('29A6922') ValidationFailure(func=sedol, ...) Args: value: SEDOL string to validate. Returns: (Literal[True]): If `value` is a valid SEDOL string. (ValidationError): If `value` is an invalid SEDOL string. �F)r�rr*r+rrr�AEIOUNr r r r r )r%rr)r �weightsrrrrs r�sedolr.ds���( �5�z�z�Q����u�#�#�#�G� �E��Q�x�x� $� $�� �#�J�� ��<�<��5�5��� ��8�8��S����a�&�&�3�s�8�8�#�C�C� �#�X�X�!�s�(�(��s�1�v�v�+��C���(�C�C��5�5� ��w�s�|�#�#��� �B�J�1� �rN) �__doc__�utilsr�strrr#rr(r.�rr�<module>r3s������������3�����8�#�����( �6��6�6�6� ��6�, �6��6�6�6� ��6�, �&��&�&�&� ��&�&�&r
Memory