Edit File: RE.cpython-311.pyc
� ����q�dZ^�����������������������4����d�dl�Z�d�dlmZ�d�dlmZ��G�d��de������������Z�G�d��d������������ZeZ �G�d��d e ������������Z d ��Z�G�d��de ������������Zd ��Z e ���������������������ed������������Zd��Z�G�d��de ������������Z�G�d��de������������Zd��Zd��Zd��d��d��gZd��Z�G�d��de ������������Z�G�d��de������������Z�G�d��de ������������Z�G�d ��d!e������������Z�G�d"��d#e������������Zd$��Z�G�d%��d&e������������Z�G�d'��d(e������������Zd)��Z�G�d*��d+������������Z �e��������������Z!d,��Z"dS�)-�����N)�chooserects)�iterpermutec�������������������������e�Zd�ZdS�)� InfiniteErrorN)�__name__� __module__�__qualname__��������_/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib64/python3.11/site-packages/guppy/etc/RE.pyr���r������s���������������Dr���r���c�������������������� �����e�Zd�Zd��Zd��Zd��ZdS�)� WordsMemoc������������������>�����||�_���������||�_��������i�|�_��������d|�_��������d�S��Nr���)�re�ch�xs�N)�selfr���r���s��� r����__init__zWordsMemo.__init__���s"�������������������r���c������������������t�����||�j���������vr#|�j�����������������������������||�������������|�j���������|<���|�j���������|���������S��N)r���r����get_words_of_length_memoized�r���r���s��� r����get_words_of_lengthzWordsMemo.get_words_of_length���s8�������D�G�����=�=�a��F�F�D�G�A�J��w�q�z�r���c�����������������������g�}t����������|dz���������������D�]0}|����������������������|������������}|r|���������������������||f��������������1|S��N����)�ranger����append)r���r����xsu�ir���s��� r����get_words_of_length_uptoz"WordsMemo.get_words_of_length_upto���sY������ ����q��s���� $�� $�A��)�)�!�,�,�B��� $�� � �A�r�7�#�#�#��� r���N)r���r���r ���r���r���r#���r ���r���r���r���r������sA������������������������ �� �� �� �� r���r���c�������������������������e�Zd�ZdZd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��Zd ��Zd��Zd��Zd��Zd��Zd��Zdd�Zd��Zd��ZdS�)�REz.^$*+?{}\[]|()c�����������������������t����������|t����������������������rt����������|�|������������S�t����������|�t ����������|������������������������S�r���)� isinstancer%����concat� Concatenation�Single��a�bs��� r����__add__z RE.__add__A���s8�������a����� /��!�Q�<�<�� ��F�1�I�I�.�.�.r���c�����������������������|s?|dk����rt����������|�������������S�|dk����rt����������|�������������S�|dk����rt����������|�������������S�t����������d�������������)N)�*)�+)�?z8Argument to regular expression must be '*' or '+' or '?')� KleeneClosure�PositiveClosure�EpsilonOrOne� ValueError)r,����args�kwdss��� r����__call__zRE.__call__G���se�������� '��v�~�~�$�Q�'�'�'�����&�q�)�)�)�����#�A���&��F�H��H�� Hr���c������������������H�����t����������|�j��������t����������|�������������f������������S�r���)�hash�_name�tuple�r���s��� r����__hash__zRE.__hash__R���s�������T�Z��t���-�.�.�.r���c������������������b�����|�j���������|j���������k����ot����������|�������������t����������|������������k����S�r����r<���r=���r+���s��� r����__eq__z RE.__eq__U���s,��������1�7�"��%��a���E�!�H�H�$� &r���c�����������������������|�j���������|j���������k����r t����������|�������������t����������|������������k�����S�|�j���������|j���������k�����S�r���rA���r+���s��� r����__lt__z RE.__lt__Y���s7�������7�a�g�����8�8�e�A�h�h�&�&��7�Q�W�$�$r���c������������������"�����t����������|�|������������S�r���)�Unionr+���s��� r����__or__z RE.__or___���s�������Q��{�{�r���c������������������B�����d}|�D�]}||������������������������������������z ��}�|S�r�����get_num_closures�r����nsr���s��� r���rJ���zRE.get_num_closuresb���s3������ ���� (�� (�B��"�%�%�'�'�'�B�B�� r���c������������������B�����d}|�D�]}||������������������������������������z ��}�|S�r�����get_num_symsrK���s��� r���rO���zRE.get_num_symsh���s1������ ���� $�� $�B��"�/�/�#�#�#�B�B�� r���c������������������B�����d}|�D�]}||������������������������������������z ��}�|S�r�����get_sum_sym_lengthsrK���s��� r���rR���zRE.get_sum_sym_lengthsn���s3������ ���� +�� +�B��"�(�(�*�*�*�B�B�� r���c������������������:�����d��|�D���������������}t����������|�|������������S�)Nc������������������6�����g�|�]}|��������������������������������������S�r ���)�get_words_memo��.0�xs��� r���� <listcomp>z%RE.get_words_memo.<locals>.<listcomp>u���s$������ /� /� /�Q�a��� � � /� /� /r����r���)r���r���s��� r���rU���zRE.get_words_memot���s%������ /� /�$� /� /� /����r�"�"�"r���c������������������T�����|�������������������������������������}|���������������������|������������S�r���)rU���r���)r���r���r���s��� r���r���zRE.get_words_of_lengthx���s'������ � � � "� "���%�%�a�(�(�(r���c������������������0�������|�j����������fd�|�D�����������������S�)Nc������������������&������g�|�] }��|��������������S�r ���r ����rW���rX����fs��� �r���rY���z"RE.mapchildren.<locals>.<listcomp>}���s!�������3�3�3����!���3�3�3r���)� __class__�r���r_���s��� `r����mapchildrenzRE.mapchildren|���s'��������t�~�3�3�3�3�d�3�3�3�4�4r���c������������������6�����|�����������������������t����������������������S�r���)� mappedrepr� regexpnamer>���s��� r���� regexpformz RE.regexpform���s���������z�*�*�*r���c������������������.�����|�����������������������d��������������S�)Nc������������������*�����|�������������������������������������S�r�����reversed�rX���s��� r����<lambda>zRE.reversed.<locals>.<lambda>����s������!�*�*�,�,��r���)rb���r>���s��� r���rj���zRE.reversed����s��������� 6� 6�7�7�7r���c������������������$�������fd����|�������������S�)Nc�������������������������t����������|�t����������������������r9|�t����������ur.t����������|�d���������t����������������������r|�dd�����������}t����������|��S�|�S�|�����������������������������������S��Nr���r���)r'����Seq�Epsilonr=���rb���)rX����wsr_���s��� �r���r_���zRE.rempretup.<locals>.f����s`��������!�S�!�!�� ��G�#�#� �1�Q�4��(?�(?�#��1�2�2��B���8�O��H��=�=��#�#�#r���r ���ra���s��� @r���� rempretupzRE.rempretup����s+������� $�� $�� $�� $�� $���q��w�w�r���c������������������>�����g�}|�����������������������|j���������������������|S�r���)� apseqatomsr ���)r����sas��� r����seqatomszRE.seqatoms����s ������ ������ �"�"�"�� r���c������������������V�������i��g����fd�}|�����������������������|�������������t�������������S�)Nc������������������H������|��vrd�|�<��������������������������|��������������d�S�d�S�r����r ���)rX����d�uss��� ��r����apzRE.sequni.<locals>.ap����s/���������z�z���!��� � �!��������zr���)�apseqrF���)r���r}���r{���r|���s��� @@r����sequniz RE.sequni����sG���������� �� �� �� �� �� �� �� � � �2�����b�z�r���� c�����������������������|�����������������������t����������������������}|dk����r(|���������������������|���������������������d������������������������}|S�)Nr����)rd���re����join�split)r����conc�rs��� r����shformz RE.shform����s<�������O�O�J�'�'���3�;�;�� � �!�'�'�#�,�,�'�'�A��r���c�����������������������|�S�r���r ����r���r,����ks��� r���� simplifiedz RE.simplified������������r���c������������������2�����d��}|�����������������������|������������S�)Nc������������������0�����|�dk����rdS�t����������|�������������S�)N���())�strrk���s��� r���r_���zRE.simulform.<locals>.f����s�������B�w�w��t��q�6�6�Mr���)rd���ra���s��� r���� simulformzRE.simulform����s%������ �� �� �����q�!�!�!r���N)r����)r���r���r ����_re_specialr.���r9���r?���rB���rD���rG���rJ���rO���rR���rU���r���rb���rf���rj���rs���rw���r���r����r����r����r ���r���r���r%���r%���(���sO�������������.�$�K�/��/��/� H�� H�� H�/��/��/�&��&��&�%��%��%���������������������#��#��#�)��)��)�5��5��5�+��+��+�8��8��8� �� �� ������ �� �� �������������"��"��"��"��"r���r%���c�����������������������|�dk����rdS�t�����������j��������}g�}t����������|�������������D�] }||dz���v�rd}|���������������������|��������������!d���������������������|������������S�)Nr����r����z', )r%���r����r����r ���r����)�s�special�ren�cs��� r���re���re�������sf�������B�w�w��t��n�G� �C� ��V�V��������� ����A�� � �1� � � � � �7�7�3�<�<�r���c��������������������d�����e�Zd�ZdZd�Zd��Zd��Zd��Zd��Zd��Z d��Z d��Zd ��Zd ��Z d��Zd��Zd ��Zd��ZdS�)rp���r���c������������������J�����|st�����������S�t�������������������������������|�|������������S�r���)rq����REBASE�__new__)�clas�symbolss��� r���r����zSeq.__new__����s#�������� ��N��~�~�d�G�,�,�,r���c������������������`�����|�j���������j���������dd���������������������d��|�D����������������������������d�S�)N�(z, c�����������������������g�|�]}|���S�r ���r ���rV���s��� r���rY���z Seq.__repr__.<locals>.<listcomp>����s������>Y�>Y�>Y�q�q�q�>Y�>Y�>Yr����))r`���r���r����r>���s��� r����__repr__zSeq.__repr__����s:�������>�2�2�2�D�I�I�>Y�>Y�TX�>Y�>Y�>Y�4Z�4Z�4Z�4Z�[�[r���c������������������������||��������������d�S�r���r ����r���r}���s��� r���r~���z Seq.apseq����������� ��4�����r���c������������������@�����|�D�]}�|t����������|��������������������������d�S�r���)r*����r���r}���rX���s��� r���ru���zSeq.apseqatoms����s0�������� �� �A��B�v�a�y�y�M�M�M�M� �� r���c�����������������������dS�r���r ���r>���s��� r���rJ���zSeq.get_num_closures����s�������qr���c������������������ �����t����������|�������������S�r�����lenr>���s��� r���rO���zSeq.get_num_syms����s�������4�y�y�r���c������������������R�����d}|�D�]!}|t����������t����������|������������������������z ��}�"|S�r���)r����r����)r���r����rX���s��� r���rR���zSeq.get_sum_sym_lengths����s3������ ���� �� �A� ��S��V�V����A�A��r���c������������������"�����t����������|�d������������S�)Nr ���rZ���r>���s��� r���rU���zSeq.get_words_memo����s��������r�"�"�"r���c������������������2�����|t����������|�������������k����r|�gS�g�S�r���r�����r���r����memos��� r���r���z Seq.get_words_of_length_memoized����s��������D� � �>�>��6�M��Ir���c�����������������������|�S�r���r ���r���s��� r����limitedzSeq.limited����r����r���c������������������`������|�s��d������������S�d�����������������������fd�|�D���������������������������S�)Nr����r����c������������������(������g�|�]}��|���������������S�r ���r ���r^���s��� �r���rY���z"Seq.mappedrepr.<locals>.<listcomp>����s#�������6�6�6�A���1����6�6�6r���)r����ra���s��� `r���rd���zSeq.mappedrepr����s?��������� ��1�R�5�5�L��x�x�6�6�6�6��6�6�6�7�7�7r���c������������������\�����t����������|�������������}|�������������������������������������|�j��������|��S�r���)�list�reverser`����r���r����s��� r���rj���zSeq.reversed����s)��������J�J�� � � �����t�~�q�!�!r���c�����������������������|�gS�r���r ���r>���s��� r���� unionsplittedzSeq.unionsplitted����� �������v� r���N)r���r���r ���� _priorityr<���r����r����r~���ru���rJ���rO���rR���rU���r���r����rd���rj���r����r ���r���r���rp���rp�������s����������������I��E�-��-��-� \��\��\��������������������������#��#��#�����������8��8��8� "��"��"� ��������r���rp���c������������������D�����t��������������������������������t����������|�f������������S�r���)r����r����rp���)�symbols��� r���r*���r*�������s�������>�>�#��y�)�)�)r���r ���c������������������������d��|�D���������������}�t����������|�������������dk�����r|�st����������S�|�d���������S�t�������������������������������t����������|�������������S�)Nc������������������$�����g�|�] }|t�����������u�|��S�r ���)rq���rV���s��� r���rY���zconcat.<locals>.<listcomp>���s"������0�0�0�!�q��/�/�A�/�/�/r�������r���)r����rq���r����r����r)���)r7���s��� r���r(���r(�������sN������0�0�t�0�0�0�D� �4�y�y�1�}�}��� ��N��A�w���>�>�-��.�.�.r���c��������������������R�����e�Zd�ZdZdZd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��Zd S�)r)���r�����Concatc�����������������������t����������|������������dk�����r|st����������S�|d���������S�t�������������������������������|�|������������S�)Nr����r���)r����rq���r����r�����r����r7���s��� r���r����zConcatenation.__new__��s;�������t�9�9�q�=�=��� �����7�N��~�~�d�D�)�)�)r���c�����������������������g�}|�D�]0}|�}|j���������|�j���������k����rd|�d�}|���������������������|��������������1d���������������������|������������S�)Nr����r����z + �r����r ���r�����r����rsr���r����s��� r���r����zConcatenation.__repr__��s[������ ���� �� �B���A��|�d�n�,�,�,��a�a�M���I�I�a�L�L�L�L��z�z�"�~�~�r���c����������������������d��|�D���������������}dgt����������|������������z��} �g�}t����������|������������D�]4\��}}|||������������������D�] }|t����������ur|���������������������|��������������!�5�|t ����������|���������������d}t����������|������������D�]2\��}} | dz ��} | t����������||���������������������k����rd} | ||<���| dk����r�n�3d�S���)Nc������������������6�����g�|�]}|��������������������������������������S�r ���)r���rV���s��� r���rY���z'Concatenation.apseq.<locals>.<listcomp>��s ������(�(�(�a�q�x�x�z�z�(�(�(r���r���r���)r����� enumeraterq���r ���rp���) r���r}����uns�ixsr���r"���r|���rX����j�ixs ��� r���r~���zConcatenation.apseq��s�������(�(�4�(�(�(���c�#�c�(�(�l�� ��B�$�S�>�>�� %�� %���B��C��F���%��%�A���'�'�� � �!�����%�� �B�s�B�x�L�L�L��A�"�3���� �� ���2��a�����S��V���$�$��B���A����7�7��E������! r���c������������������:�����|�D�]}|����������������������|��������������d�S�r����ru���r����s��� r���ru���zConcatenation.apseqatoms1���0�������� �� �A� �L�L������ �� r���c����������������������������g��|j���������D�]*}����������������������|������������������������������������������������+g��i�������fd����g�dd��������������S�)Nc�����������������������|t����������� ������������k����rC|�k����r9t����������|���D�]1}t����������|������������}|� vr����������������������|�������������d� |<����0d�S�d�S�� |���������D�]%\��}}||z����k����r��|�|gz���|dz���||z�����������������&d�S�r���)r����r����simple_Concatenationr ���)�xxr"����n�toconcr�����mrX���r����ads�chxs�seenr���s��� �����r���r����z7Concatenation.get_words_of_length_memoized.<locals>.ads<��s���������C��I�I�~�~���6�6�"-�r�"2��+��+��3�F�;�;���t�+�+��I�I�d�O�O�O�)*�D��J����6�+��+��!��G��4��4�D�A�q��1�u��z�z���B�!��H�a�!�e�Q��U�3�3�3��4��4r���r���)r���r ���r#���)r���r���r����r���r����r����r����r���s��� ` @@@@r���r���z*Concatenation.get_words_of_length_memoized5��s���������������'�� 8�� 8�B��K�K��3�3�A�6�6�7�7�7�7� ���� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� 4�� ��B��1� � � �� r���c������������������.������t�����������fd�|�D�����������������S�)Nc������������������:������g�|�]}|�������������������������������������S�r ����r�����rW���rX���r���s��� �r���rY���z)Concatenation.limited.<locals>.<listcomp>M��s#�������:�:�:��q�y�y��|�|�:�:�:r���)r)���r���s��� `r���r����zConcatenation.limitedL��s#��������:�:�:�:�T�:�:�:�;�;r���c�����������������������g�}|�D�]B}|����������������������|������������}|j��������|�j��������k����rd|�d�}|���������������������|��������������Cd���������������������|������������S�)Nr����r����r�����rd���r����r ���r�����r���r_���r����r���r����s��� r���rd���zConcatenation.mappedreprO��se������ ���� �� �B�� � �a� � �A��|�d�n�,�,�,��a�a�M���I�I�a�L�L�L�L��x�x��|�|�r���c������������������V�����d��|�D���������������}|��������������������������������������|�j��������|��S�)Nc������������������6�����g�|�]}|��������������������������������������S�r ���ri���rV���s��� r���rY���z*Concatenation.reversed.<locals>.<listcomp>Y��s ������(�(�(�a�Q�Z�Z�\�\�(�(�(r���)r����r`���r����s��� r���rj���zConcatenation.reversedX��s1������(�(�4�(�(�(�� � � �����t�~�q�!�!r���c���������������������������fd�|�D���������������}g�}|D�].}|������������������������������������D�]�|�������������������������������������/t����������|������������S�)Nc������������������*������g�|�]}�|j����������i������S�r ����r����)rW���rX���r,���r����s��� ��r���rY���z,Concatenation.simplified.<locals>.<listcomp>^��s*�������4�4�4�!����a�%�1�%�%�4�4�4r���)rw���r ���r����)r���r,���r����r����rv���r����s��� `` r���r����zConcatenation.simplified]��so��������4�4�4�4�4�t�4�4�4�� ���� �� �A��Z�Z�\�\�� �� ��� � �!����� �#�B�'�'�'r���c�����������������������g�}g�}t����������|�������������D�]C\��}}|�����������������������������������}t����������|������������dk����r|���������������������||f��������������D|s|�gS�dgt����������|������������z��}t ����������|�������������} �g�}d} t����������|������������D�]M\��} \��}}|���������������������|| |�����������������������|| ���������}|���������������������||����������������������|dz���} �N|���������������������|| d������������������������|���������������������t ����������|���������������d} t����������|������������D�]8\��} }|dz ��}|t����������|| ���������d���������������������k����rd}||| <���|dk����r�n�9|S���Nr���r���)r����r����r����r ���r�����extendr(���)r����runsr����r"���rX���r|���r����r���r����i0r����r����s��� r���r����zConcatenation.unionsplittede��s������������o�o�� $�� $�F�Q�����"�"�B��2�w�w��{�{�� � �A�r�7�#�#�#���� ��6�M��c�#�c�(�(�l�� �$�Z�Z�� ��B��B�'��n�n�� �� � ��7�A�r�� � �"�R��T�(�#�#�#���V��� � �"�R�&�!�!�!���U����I�I�b����g�����K�K����$�$�$��A�"�3���� �� ���2��a�����S��V�A�Y���'�'��B���A����7�7��E������) r���N)r���r���r ���r����r<���r����r����r~���ru���r���r����rd���rj���r����r����r ���r���r���r)���r)�����s����������������I��E�*��*��*�����������*����������.<��<��<������"��"��"� (��(��(���������r���r)���c�������������������������e�Zd�Zd��ZdS�)�SimplifiedConcatenationc�����������������������|�S�r���r ���r����s��� r���r����z"SimplifiedConcatenation.simplified���r����r���N�r���r���r ���r����r ���r���r���r����r��������#����������������������r���r����c����������������������i�}g�}d�}|�D�]k}|�e|j���������dk����r|d���������|k����rt����������|������������}n>|j���������dk����r|d���������|k����rt����������|������������}n|�|���������������������|�������������|}�l|�|���������������������|�������������|S�)Nr0���r���)r<���r4���r ���)r����r�����nconc�w0�ws��� r���� conclosurer�������s������� ��D��E� �B� ������ �>���3����a�D�B�J�J�#�B�'�'����(�c�/�/��Q�%�1�*�*�#�A�&�&����>��L�L��$�$�$� ��� �~� ���R�����Lr���c����������������������t����������|�������������dk����r|�}t����������|�������������}�g�}d}d}|t����������|�������������k������r|�|���������}t����������|t����������������������s|dz ��}|���������������������|��������������L|}|t����������|�������������k�����r4t����������|�|���������t����������������������sn|dz ��}|t����������|�������������k������4||dz���k����r|���������������������|�������������n[g�}t����������||������������D�],}|�|���������}|���������������������t����������|��������������������������-|���������������������t����������|���������������|}|t����������|�������������k�������t����������|������������dk����r t����������|��S�|r|d���������S�t����������S�r����) r����r����r'���rp���r ���r���r����r����r)���rq���)r�����conc0r����r"���r�����e�symsr����s��� r���r����r�������s|����� �4�y�y�1�}�}����$�����E� �A� �A� �c�$�i�i�-�-���G���!�S�!�!�� � ��F�A��L�L��O�O�O�� ���#�d�)�)�m�m��d�1�g�s�+�+�� �� ��F�A���#�d�)�)�m�m�� ��A��:�:��L�L��O�O�O�O��D��1�a�[�[�� %�� %����G�����D��G�G�$�$�$�$��L�L��d��$�$�$� ��'��c�$�i�i�-�-�(��5�z�z�A�~�~��e�$�$� ����Q�x���r���c������������������*�����|�������������������������������������S�r���rN���rk���s��� r���rl���rl������s������Q�^�^� � ��r���c������������������*�����|�������������������������������������S�r���rI���rk���s��� r���rl���rl������s������Q� � � !� !��r���c������������������*�����|�������������������������������������S�r���rQ���rk���s��� r���rl���rl������s������Q� "� "� $� $��r���c������������������*����t����������|�t����������������������}d} �t����������|������������dk����r\|d���������j��������dk����st����������|d���������j��������������������dk����r-g�}|d���������j��������D�]}|r|���������������������|��������������d}�n�g�}|D�]�}|�����������������������������������}|�����������������������������������}t����������|������������}|t����������ur|j ��������dk����r|g|z���}n||gz���}|r|���������������������|�������������nd}t����������|d���������t����������������������rJ����t����������|t����������������������}��t����������|������������dk����rd��|D���������������} t����������| ��}n|rt����������|d���������������������}nd�}|r|�t����������|������������}nt����������}|S�)Nr���r������c������������������,�����g�|�]}t����������|��������������S�r ���)r����)rW����lines��� r���rY���zsimpleunion.<locals>.<listcomp>���s!������9�9�9�d�#�D�)�)�9�9�9r���)r����gaugesr�����width�linesr ����get_common_part� get_uncommons�simpleunionrq����dirr'���r�����SimplifiedUnionr�����simple_EpsilonOrOne) r���choosen�have_epsilonr|���r��r����r�����olines�u�nuss ��� r���r ��r �����s�������%��(�(�G��L�*��w�<�<�1���'�!�*�"2�a�"7�"7�3�w�q�z�?O�;P�;P�TU�;U�;U��B��� �(�� %�� %����%��I�I�d�O�O�O�O�#$�L�L�� ���� /�� /�A��$�$�&�&�D��_�_�&�&�F��F�#�#�A������5�B�;�;��3�t�8�D�D��1�#�:�D��� !�� � �$����� ��!�"�R�&�#�.�.�.�.�.�.��b�&�)�)��3*�6��2�w�w��{�{�9�9�b�9�9�9���S�!��� ��� ��A��'�'���������=�#�A�&�&�A�A��A��Hr���c��������������������N�����e�Zd�ZdZd�Zd��Zd��Zd��Zd��Zd��Z d��Z d��Zdd �Zd��Z d S�) rF�������c������������������8�����t��������������������������������|�|������������S�r����r����r����r����s��� r���r����z Union.__new__��s�������~�~�d�D�)�)�)r���c�����������������������g�}|�D�]/}|�}|j���������|�j���������k����rd|z��}|���������������������|��������������0d���������������������|������������S��N�(%s)� | r����r����s��� r���r����zUnion.__repr__��sV������ ���� �� �B���A��|�d�n�,�,��Q�J���I�I�a�L�L�L�L��z�z�"�~�~�r���c������������������:�����|�D�]}|����������������������|��������������d�S�r���)r~���)r���r}���r����s��� r���r~���zUnion.apseq ��s,�������� �� �A� �G�G�B�K�K�K�K� �� r���c������������������:�����|�D�]}|����������������������|��������������d�S�r���r����r����s��� r���ru���zUnion.apseqatoms��r����r���c�����������������������g�}i�}|j���������D�]8}|���������������������|������������D�] }||vrd||<���|���������������������|��������������!�9|S�r���)r���r���r ���)r���r���r����r���r����r���rX���s��� r���r���z"Union.get_words_of_length_memoized��sh������ �����'�� !�� !�B��+�+�A�.�.�� !�� !���D�=�=��D��G��I�I�a�L�L�L�� !��� r���c������������������z�������fd�|�D���������������}t����������|������������D�]\��}}||�|���������ur�|�j��������|��c�S��|�S�)Nc������������������:������g�|�]}|�������������������������������������S�r ���r����r����s��� �r���rY���z!Union.limited.<locals>.<listcomp> ��s#�������*�*�*��q�y�y��|�|�*�*�*r���)r����r`���)r���r����unir"���rX���s��� ` r���r����z Union.limited��sc�������*�*�*�*�T�*�*�*���c�N�N�� ,�� ,�D�A�q���Q����%�t�~�s�+�+�+�+�� ��r���c�����������������������g�}|�D�]B}|����������������������|�������������}|j��������|�j��������k����rd|z��}|���������������������|��������������Cd���������������������|������������S�r��r����r����s��� r���rd���zUnion.mappedrepr&��sc������ ���� �� �B�� � �a�(�(�(�A��|�d�n�,�,��Q�J���I�I�a�L�L�L�L��z�z�"�~�~�r���Nc������������������x�����|�d��|�������������������������������������D���������������}d��|D���������������}t����������|������������S�)Nc������������������6�����g�|�]}|��������������������������������������S�r ���r����rV���s��� r���rY���z$Union.simplified.<locals>.<listcomp>1��s ������A�A�A�q�A�L�L�N�N�A�A�Ar���c������������������6�����g�|�]}|��������������������������������������S�r ���)rw���)rW���r,���s��� r���rY���z$Union.simplified.<locals>.<listcomp>7��s ������ )� )� )�q�a�j�j�l�l� )� )� )r���)r����r ��)r���r7���r,���r����r���s��� r���r����zUnion.simplified/��sG�������<�A�A�D�,>�,>�,@�,@�A�A�A�D��*� )�D� )� )� )���2���r���c������������������|�����g�}|�D�]6}|����������������������t����������|�������������������������������������������������������������7|S�r���)r����r����r����)r���r|���rX���s��� r���r����zUnion.unionsplitted:��sB������ ���� /�� /�A��I�I�d�1�?�?�,�,�-�-�.�.�.�.�� r���r���)r���r���r ���r����r<���r����r����r~���ru���r���r����rd���r����r����r ���r���r���rF���rF������s����������������I��E�*��*��*������������������������������� �� �� �� ���������r���rF���c�������������������������e�Zd�Zd��ZdS�)r��c�����������������������|�S�r���r ���r����s��� r���r����zSimplifiedUnion.simplifiedB��r����r���Nr����r ���r���r���r��r��A��r����r���r��c��������������������6�����e�Zd�ZdZd��Zd��Zd��Zd��Zd��Zd��Z dS�) �Calledr���c������������������:�����t��������������������������������|�|f������������S�r���r��)r�����args��� r���r����zCalled.__new__I��s�������~�~�d�S�F�+�+�+r���c������������������\�����|�d���������}|�}|j���������|�j���������k����rd|z��}|�d|�j���������d�S�)Nr���r��r����r����)r����r<���)r���r���r����s��� r���r����zCalled.__repr__L��s?������ �!�W���B�� �<�$�.�(�(��� �A��1�1�d�j�j�j�)�)r���c������������������������||��������������d�S�r���r ���r����s��� r���ru���zCalled.apseqatomsS��r����r���c������������������<�����d|�d���������������������������������������������z���S�r����rI���r>���s��� r���rJ���zCalled.get_num_closuresV��s�������4��7�+�+�-�-�-�-r���c������������������������|�d���������}|����������������������|������������}|j��������|�j��������k����s(t����������|t����������������������rt ����������|������������dk����rd|z��}|�|�j����������S�)Nr���r���r��)rd���r����r'���rp���r����r<���)r���r_���r���r����s��� r���rd���zCalled.mappedreprY��sf������ �!�W���M�M�!�����L�4�>�)�)��b�#�&�&�� *�+.�r�7�7�Q�;�;��� �A���D�J�J�'�'r���c������������������N�����|������������������������|�d���������j��������|i�|��������������S�r���)r`���r����r����s��� r���r����zCalled.simplifieda��s+�������~�~�0�d�1�g�0�!�9�q�9�9�:�:�:r���N) r���r���r ���r����r����r����ru���rJ���rd���r����r ���r���r���r(��r(��F��ss���������������I�,��,��,�*��*��*������.��.��.�(��(��(�;��;��;��;��;r���r(��c�������������������������e�Zd�Zd��Zd��ZdS�)�Closurec�����������������������|dk����rt�����������gS�|dk����r |j��������d������������������������������d������������S�g�}i�}t����������d|������������D�]h}|���������������������|������������}|���������������������||z ��������������}|D�]6}|D�]1} t ����������|| f������������} | |vr|���������������������| �������������d|| <����2�7�i|j��������d������������������������������|������������D�] }||vr|���������������������|�������������d||<����!|S�ro���)rq���r���r���r���r����r ���)r���r���r����r���r����r"���r,���r-����ai�bi�aibirX���s��� r���r���z$Closure.get_words_of_length_memoizedf��s*�������6�6��9����6�6��7�1�:�1�1�!�4�4�4� �����q�!���� '�� '�A��(�(��+�+�A��(�(��1��-�-�A��� '�� '����'��'�B�/��R��9�9�D��4�'�'�� � �$����%&��T� �� '� '������/�/��2�2�� �� �A���}�}�� � �!������Q���� r���c�����������������������|�gS�r���r ���r>���s��� r���r����zClosure.unionsplitted|��r����r���N)r���r���r ���r���r����r ���r���r���r1��r1��e��s2�������������������,��������r���r1��c��������������������$�����e�Zd�ZdZd��Zd��Zd��ZdS�)r3���r0���c������������������ �����t����������d�������������)Nz@apseq: Regular expression is infinite: contains a Kleene Closure�r���r����s��� r���r~���zKleeneClosure.apseq���s�������N�P��P�� Pr���c������������������������|dk����rt�����������S�|�d������������������������������|������������}g�}t����������|dz���������������D�]$}|g|z��}|���������������������t ����������|����������������%t����������|��S�ro���)rq���r����r���r ���r)���rF���)r���r����clr��r"���r����s��� r���r����zKleeneClosure.limited���sr��������6�6��N� �!�W�_�_�Q� � �����q��s���� /�� /�A��T�!�V�F��J�J�}�f�-�.�.�.�.��c�{�r���c������������������B�����t�����������|�d���������j��������|i�|��������������S�r���)�simple_KleeneClosurer����r����s��� r���r����zKleeneClosure.simplified���s'������#�$6�D��G�$6��$?�Q�$?�$?�@�@�@r���N)r���r���r ���r<���r~���r����r����r ���r���r���r3���r3������sN���������������E�P��P��P������A��A��A��A��Ar���r3���c������������������`�����|�j���������dk����rt����������|�d���������������������S�t����������|�������������S�)Nr1���r���)r<���r=��r3���rk���s��� r���r=��r=�����s-�������w�#�~�~�#�A�a�D�)�)�)�����r���c��������������������*�����e�Zd�ZdZd��Zd��Zd��Zd��ZdS�)r4���r1���c������������������ �����t����������d�������������)NzBapseq: Regular expression is infinite: contains a Positive Closurer9��r����s��� r���r~���zPositiveClosure.apseq���s�������P�R��R�� Rr���c�����������������������|�d�������������������������������|�������������t����������|�d�������������������������������������������|�������������d�S�r���)ru���r=��r����s��� r���ru���zPositiveClosure.apseqatoms���s@�������Q����2�����T�!�W�%�%�0�0��4�4�4�4�4r���c�����������������������|dk����r |j���������d������������������������������|������������S�t�������������������������������|�||������������S�r����)r���r���r1��r���r����s��� r���r���z,PositiveClosure.get_words_of_length_memoized���s=��������6�6��7�1�:�1�1�!�4�4�4��3�3�D�!�T�B�B�Br���c�����������������������|�d�������������������������������|������������}t����������|�d�������������������������������������������|������������}t����������||������������S�r���)r����r3���r)���)r���r���r,���r-���s��� r���r����zPositiveClosure.limited���sF��������G�O�O�A�����$�q�'�"�"�*�*�1�-�-���Q��"�"�"r���N)r���r���r ���r<���r~���ru���r���r����r ���r���r���r4���r4������s[���������������E�R��R��R�5��5��5�C��C��C� #��#��#��#��#r���r4���c��������������������0�����e�Zd�ZdZd��Zd��Zd��Zd��Zd��ZdS�)r5���r2���c������������������\������|t������������������������|�d������������������������������|�������������d�S�r���)rq���r~���r����s��� r���r~���zEpsilonOrOne.apseq���s+������ ��7�����Q�� � �b�����r���c������������������^�����|dk����rt�����������gS�|j��������d������������������������������|������������S�r���)rq���r���r���r����s��� r���r���z)EpsilonOrOne.get_words_of_length_memoized���s-��������6�6��9���w�q�z�-�-�a�0�0�0r���c������������������z�����|�d�������������������������������|������������}||�d���������ur|����������������������|������������}�|�S�r���)r����r`���)r���r���rX���s��� r���r����zEpsilonOrOne.limited���s<��������G�O�O�A�����D��G����>�>�!�$�$�D��r���c������������������B�����t�����������|�d���������j��������|i�|��������������S�r���)r��r����r����s��� r���r����zEpsilonOrOne.simplified���s'������"�#5�4��7�#5�q�#>�A�#>�#>�?�?�?r���c������������������b�����t�����������gt����������|�d��������������������������������������������������������z���S�r���)rq���r����r����r>���s��� r���r����zEpsilonOrOne.unionsplitted���s'�������y�4��Q�� 5� 5� 7� 7�8�8�8�8r���N) r���r���r ���r<���r~���r���r����r����r����r ���r���r���r5���r5������sg���������������E������1��1��1� �����@��@��@�9��9��9��9��9r���r5���c������������������n�����|�j���������dk����rt����������|�������������S�|�j���������dk����r|�S�t����������|�������������S�)Nr1���r0���)r<���r=��r5���rk���s��� r���r��r�����s;������� �w�#�~�~�#�A�&�&�&�� �w�#�~�~�����?�?�r���c��������������������2�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��ZdS�)� RegularSystemc������������������>�����||�_���������||�_��������d|�_��������||�_��������d�S�)N� 358f0eca5c34bacdfbf6a8ac0ccf84bc)�table�Start�Final�final_states)r���rO��rP��rR��s��� r���r���zRegularSystem.__init__���s%�������� ��� �7�� �(����r���c����������� ����������������fd�}d��}�����������������������������������������j��������}��j��������g��j��������z���}|�����������������������j���������������������|D�]�}||vr�t �����������||������������d�d�d��������������||���������}g�}|D�]8}||v�r2|����������������������|||����������������������d�||����������������������������9|r#t ����������d���������������������|���������������������������t ���������������������������d�S�)Nc������������������d������ ��j���������|����������}n#�t����������$�r�t����������|�������������}Y�nw�xY�w|S�r���)�names�KeyErrorr����)�state�namer���s��� �r���� statenamez#RegularSystem.pp.<locals>.statename���sE������� "��z�%�(������ "�� "�� "��5�z�z���� "�����Ks���� ��-�-c������������������P�����|�������������������������������������}|�j��������dk����rd|�d�}|S�)Nr���r����r����)r����r����)�transrX��s��� r���� transnamez#RegularSystem.pp.<locals>.transname���s2�������?�?�$�$�D����"�"�"�!%���'���Kr���z>3z = r����)�endr��)�setup_names�XrP���orderr ���rQ���printr����) r���rY��r\��r_��r����Xk�Tk�es�Xjs ���` r����ppzRegularSystem.pp���s?������ �� �� �� �� � �� �� �� �������F���j�\�$�*� $�� � � �$�*������ �� �B���{�{���i�i��m�m�m�m�m�-�3�7�7�7�7��2��B��B��� L�� L����8�8��I�I���2�b�6�):�):�):�):�I�I�b�M�M�M�J�K�K�K���� ��e�j�j��n�n�%�%�%�%������ �� r���c������������������B����|�j���������}|�j��������}|�j��������}|i�ix|�_��������}t ����������|�����������������������������������������������D�]�\��}}i�x||<���}t ����������|�����������������������������������������������D�];\��}} |���������������������| g����������������������������������t����������|��������������������������<t ����������|�����������������������������������������������D�]C\��} } t����������| ������������dk����r| � �����������������������������������t����������| ��} n| d���������} | || <����D||v�r t����������||<�����d�S�r����) rO��rR��rQ��r_��r�����items� setdefaultr ���r*���r�����sortrF���rq���)r���rO��rR��rQ��r_���Xi�transitions�Tir����re���Aijs��� r����setup_equationszRegularSystem.setup_equations��s'������ ���(��� ���R�[� ����#�E�K�K�M�M�2�2�� $�� $�O�B���O�A�b�E�B� $�[�%6�%6�%8�%8� 9� 9�� =�� =����� � �b�"�%�%�,�,�V�F�^�^�<�<�<�<����� � �+�+�� �� ���C��s�8�8�a�<�<��H�H�J�J�J���+�C�C��a�&�C���2����\�!�!�#��5� �� $�� $r���c�������������������������� � ��d��}�fd�}�fd�� �� � fd�}|g� |�j����������|�j���������|�j����������|�����������������fd��D���������������}|���������������������t ����������j��������|��������������������������||�_��������d�S�)Nc�����������������������d}||i}|g}|r>|}g�}|dz ��}|D�]0}||�vr�|�|���������D�] }||vr|����������������������|�������������|||<����!�1|�>|S�ro���rz���)r_���startr"����S�news�oldnewsr�����ts��� r����distsz(RegularSystem.setup_order.<locals>.dists��s��������A��� �A��7�D��� %������Q��� ��%��%�A���z�z� ��q�T��%��%���A�:�:� �K�K��N�N�N�#$�A�a�D��%���� %���Hr���c�������������������������|����������S�r���r ���)rX����start_distss��� �r����start_distancez1RegularSystem.setup_order.<locals>.start_distance(��s ��������q�>�!r���c���������������������������i������fd�}|S�)Nc������������������`������|��v�r�|����������S�d}�|����������D�]}|��|������������z ��}�|�|�<���|S�)Ng��������r ���)rX���r�����yr_��r_���r����s��� ���r����gz2RegularSystem.setup_order.<locals>.sumt.<locals>.g.��sN���������9�9���7�N����1������A����1���I�A�A���Q���r���r ���)r_���r~��r����r_��s���` @�r����sumtz'RegularSystem.setup_order.<locals>.sumt+��s4����������D� �� �� �� �� �� �� ���Hr���c������������������j�����|�|u�rdS�t�����������|���������������������t�����������|����������������������z ��}|r|S�d}|dk�����ri ��|���������}n9#�t����������$�r,����|dz �����������������������}����������������������|�������������Y�nw�xY�w�||��������������||������������z ��}|r|S�|dz ��}|dk������i|�|k����|�|k�����z ��S�)Nr���� ���r���)r����� IndexErrorr ���)rX���r}��r����r"���r_���r_���sumdistsr��s��� ���r����cmp3z'RegularSystem.setup_order.<locals>.cmp38��s����������A�v�v��q���A�a�D� � �C��!��I�I�%�A��� �����A��b�&�&�'� ���A�A��!��'��'��'���X�a��c�]�+�+�A��O�O�A�&�&�&�&�&�'������A�a�D�D�1�1�Q�4�4�K������H��Q�����b�&�&����E�a�!�e�$�$s�����A �� 3A?�>A?c������������������$������g�|�]}|�u�|�u� |�� S�r ���r ���)rW���rX���rQ��rP��s��� ��r���rY���z-RegularSystem.setup_order.<locals>.<listcomp>X��s&�������M�M�M�q�1�E�>�>�a�u�n�n��n�n�nr���)�key)r_��rP��rQ��rj��� functools� cmp_to_keyr`��)r���rw��rz��r���r`��rQ��rP��r_��ry��r���r��s��� @@@@@@r����setup_orderzRegularSystem.setup_order��s������������� �� �� �" "�� "�� "�� "�� "� �� �� �� �� � %�� %�� %�� %�� %�� %�� %�6�#�#���F��� ��� ���e�A�u�o�o��M�M�M�M�M�K�M�M�M�� � � �y�+�D�1�1� �2�2�2��� � � r���c����������������������� �|�j����������n$#�t����������$�r�|�������������������������������������Y�nw�xY�wi�|�_��������d|�j��������|�j��������<���t����������|�j���������������������D�]\��}}d|dz���z��|�j��������|<����d|�j��������|�j��������<���d�S�)N�X0zX%dr���rQ��)r`���AttributeErrorr���rU��rP��r����rQ��)r���r"���r����s��� r���r^��zRegularSystem.setup_names\��s������� ��J�J�J���� �� �� ��������� ������ �!%�� �4�:���d�j�)�)�� *�� *�D�A�q�!�Q�q�S�M�D�J�q�M�M�!(�� �4�:���s���� ��+�+c����������������������|��������������������������������������|�������������������������������������|�j��������}|�j��������}|�j��������}t����������|�j��������������������}|r�|�����������������������������������}||���������}||v�rG||���������}||=��|d������������}t����������|�����������������������������������������������D�]\��} } || z���}||| <����||=�t����������|�����������������������������������������������D�]m\��}} | � ��������������������|������������}|��| |=�t����������|�����������������������������������������������D�]+\��}}||z���}| � ��������������������|������������}|�||z��}|| |<����,�n|��||���������|���������S�)Nr0���) ro��r���r_��rP��rQ��r����r`���poprh���get)r���r_��rP��rQ���todorb��rc���Akk�AkkStarrk���Aki�Bkire���Tj�Bjk�Xji�Tk_Xji�Cji�Bjis��� r����solvezRegularSystem.solveh��s������� �������������F��� ��� ���D�J�������' "������B��2��B��R�x�x����f���r�F��#�c�(�(��#�B�H�H�J�J�/�/��!��!�G�B��!�C�-�C� �B�r�F�F� ��"���q�w�w�y�y�/�/�� "�� "���B��f�f�R�j�j���;���r�F�#'���� � �#3�#3��"��"�K�C����<�C��&�&��+�+�C���!�C�i��!�B�s�G�G�"�E���' "�X���x���r���N) r���r���r ���r���rf��ro��r���r^��r���r ���r���r���rL��rL�����ss��������������)��)��)�!��!��!�F$��$��$�&D��D��D�L )�� )�� )�9��9��9��9��9r���rL��c������������������j�����t����������|�j��������|�j��������|�j��������������������}|�����������������������������������S�r���)rL��rO���start_staterR��r���)�fsa�RSs��� r����SolveFSAr������s(������ �s�y�#�/�3�3C� D� D�B� �8�8�:�:�r���)#r����guppy.etc.RE_Rectr����guppy.etc.IterPermuter���� Exceptionr���r���r=���r����r%���re���rp���r*���r����rq���r(���r)���r����r����r����r��r ��rF���r��r(��r1��r3���r=��r4���r5���r��rL���Nothingr���r ���r���r����<module>r������s��������������)��)��)��)��)��)��-��-��-��-��-��-� �� �� �� �� �I�� �� �� ����������������4� ��G"��G"��G"��G"��G"���G"��G"��G"�T �� �� �6��6��6��6��6�"��6��6��6�r*��*��*���.�.��b� !� !��/��/��/�|��|��|��|��|�B��|��|��|�~���������m������� �����2 �� �� �H���!�!�$�$� ��+ ��+ ��+ �\A��A��A��A��A�B��A��A��A�H���������e������� ;��;��;��;��;�R��;��;��;�>���������f�������6A��A��A��A��A�G��A��A��A�*�����#��#��#��#��#�g��#��#��#�,9��9��9��9��9�6��9��9��9�2 �� �� �I��I��I��I��I��I��I��I�X��%�'�'����������r���