OwlCyberSecurity - MANAGER
Edit File: roman.cpython-311.pyc
� �������h� �����������������������������d�Z�dZdZdZdZddlZ�G�d��de������������Z�G�d ��d e������������Z�G�d��de������������Z �G�d ��de������������Z dZd��Z�ej ��������dej��������������������Zd��ZdS�)z"Convert to and from Roman numeralsz&Mark Pilgrim (f8dy@diveintopython.org)z1.4z 8 August 2001ag��Copyright (c) 2001 Mark Pilgrim This program is part of "Dive Into Python", a free Python tutorial for experienced programmers. Visit http://diveintopython.org/ for the latest version. This program is free software; you can redistribute it and/or modify it under the terms of the Python 2.1.1 license, available at http://www.python.org/2.1.1/license.html �����Nc�������������������������e�Zd�ZdS�)� RomanErrorN��__name__� __module__�__qualname__��������t/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/roman.pyr���r������������������������r ���r���c�������������������������e�Zd�ZdS�)�OutOfRangeErrorNr���r ���r ���r���r���r������r���r ���r���c�������������������������e�Zd�ZdS�)�NotIntegerErrorNr���r ���r ���r���r���r������r���r ���r���c�������������������������e�Zd�ZdS�)�InvalidRomanNumeralErrorNr���r ���r ���r���r���r������r���r ���r���) )�Mi���)�CMi���)�Di���)�CDi���)�C�d���)�XC�Z���)�L�2���)�XL�(���)�X� ���)�IX� ���)�V����)�IV����)�I����c������������������������d|�cxk�����rdk�����sn�t����������d�������������t����������|�������������|�k����rt����������d�������������d}t����������D�]\��}}|�|k����r||z ��}|�|z��}�|�|k������|S�)z convert integer to Roman numeralr���i���z%number out of range (must be 1..4999)zdecimals can not be converted��)r����intr����romanNumeralMap)�n�result�numeral�integers��� r����toRomanr1���+���s������� ��L�L�L�L�D�L�L�L�L��E�F�F�F� �1�v�v��{�{��=�>�>�>� �F�+���������7�l�l��g��F� ��L�A���7�l�l����Mr ���a8�� ^ # beginning of string M{0,4} # thousands - 0 to 4 M's (CM|CD|D?C{0,3}) # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's), # or 500-800 (D, followed by 0 to 3 C's) (XC|XL|L?X{0,3}) # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's), # or 50-80 (L, followed by 0 to 3 X's) (IX|IV|V?I{0,3}) # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's), # or 5-8 (V, followed by 0 to 3 I's) $ # end of string c������������������H����|�st����������d�������������t�������������������������������|�������������st����������d|�z���������������d}d}t����������D�]X\��}}|�||t ����������|������������z�������������|k����r5||z ��}|t ����������|������������z ��}|�||t ����������|������������z�������������|k�����5�Y|S�)z convert Roman numeral to integerzInput can not be blankzInvalid Roman numeral: %sr���)r����romanNumeralPattern�searchr,����len)�sr.����indexr/���r0���s��� r���� fromRomanr8���H���s���������A�&�'?�@�@�@��%�%�a�(�(��H�&�'B�Q�'F�G�G�G� �F� �E�+��"��"������e�C��L�L�(�(�)�W�4�4��g��F��S��\�\�!�E����e�C��L�L�(�(�)�W�4�4����Mr ���)�__doc__� __author__�__version__�__date__� __copyright__�re� Exceptionr���r���r���r���r,���r1����compile�VERBOSEr3���r8���r ���r ���r����<module>rB������s�������(��(� 5� ����� � �� � � � ��"��!��!��!��!���!��!��!��'��'��'��'��'�j��'��'��'��'��'��'��'��'�j��'��'��'��0��0��0��0��0�z��0��0��0�������� �!�b�j�� "�� �� �� �����������r ���