Your IP : 13.58.104.73


Current Path : /opt/alt/python313/lib64/python3.13/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/__pycache__/fractions.cpython-313.opt-2.pyc

�

*}gU���(�SSKJr SSKrSSKrSSKrSSKrSSKrSSKrS/r\RRr\RRr
\R"SS9S5r\R "S\R"\R$-5rS
SjrS	r\R "S
\R,\R"-5R.r\R "S\R,\R"-5R.r"SS\R45rg)���DecimalN�Fractioni@)�maxsizec��[US[5n[[[U55U-5nUS:�aUOU*nUS:XaS$U$![a	 [
nN'f=f)N���r���)�pow�_PyHASH_MODULUS�hash�abs�
ValueError�_PyHASH_INF)�	numerator�denominator�dinv�hash_�results     �0/opt/alt/python313/lib64/python3.13/fractions.py�_hash_algorithmrse��2��;��O�4��(�T�#�i�.�)�D�0�1���1�n�U�5�&�F��2��2�)�6�)��+�����s�A�A�Aa�
    \A\s*                                  # optional whitespace at the start,
    (?P<sign>[-+]?)                        # an optional sign, then
    (?=\d|\.\d)                            # lookahead for digit or .digit
    (?P<num>\d*|\d+(_\d+)*)                # numerator (possibly empty)
    (?:                                    # followed by
       (?:\s*/\s*(?P<denom>\d+(_\d+)*))?   # an optional denominator
    |                                      # or
       (?:\.(?P<decimal>\d*|\d+(_\d+)*))?  # an optional fractional part
       (?:E(?P<exp>[-+]?\d+(_\d+)*))?      # and optional exponent
    )
    \s*\Z                                  # and optional whitespace to finish
c��US:�a	USU--nO	USU*--n[XS-	-U5upEUS:XaUS-S:XaUS-nU(aUS:OUS:nU[U54$)Nr�
�r	)�divmodr
)�n�d�exponent�no_neg_zero�q�r�signs       r�_round_to_exponentr"Jsx���1�}�	�R��\���	�R�(��]����!�A�v�,��"�D�A��A�v�!�a�%�1�*�	�R����1�q�5�Q��U�D���Q��<��c��US:XaSSSU-
4$[[U55[U5pC[U5[U5-
XC:*-nXR-
n[XU5upx[[U55US-:Xa
US-nUS-
nXxU4$)NrFrr)�strr
�lenr")	rr�figures�str_n�str_d�mrr!�significands	         r�_round_to_figuresr,gs���"	�A�v��a��W��$�$��s�1�v�;��A��5��E�
�S��Z��5�>�2�A��{�H�*�1��:��D��3�{����!��+������A�
���h�&�&r#ay
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    # Alt flag forces a slash and denominator in the output, even for
    # integer-valued Fraction objects.
    (?P<alt>\#)?
    # We don't implement the zeropad flag since there's no single obvious way
    # to interpret it.
    (?P<minimumwidth>0|[1-9][0-9]*)?
    (?P<thousands_sep>[,_])?
a�
    (?:
        (?P<fill>.)?
        (?P<align>[<>=^])
    )?
    (?P<sign>[-+ ]?)
    (?P<no_neg_zero>z)?
    (?P<alt>\#)?
    # A '0' that's *not* followed by another digit is parsed as a minimum width
    # rather than a zeropad flag.
    (?P<zeropad>0(?=[0-9]))?
    (?P<minimumwidth>0|[1-9][0-9]*)?
    (?P<thousands_sep>[,_])?
    (?:\.(?P<precision>0|[1-9][0-9]*))?
    (?P<presentation_type>[eEfFgG%])
c�^�\rSrSrSrS0U4Sjjr\S5r\S5r\U4Sj5r	Sr
SrS1S	jr\
S
5r\
S5rSrS
rSrSrSrS2SjrSr\"\\R05urrSr\"\\R85urrSr\"\\R@5ur!r"Sr#\"\#\RH5ur%r&Sr'\"\'\RPS5ur)r*Sr+\"\+\,S5ur-r.Sr/\"\/\R`S5ur1r2Sr3Sr4Sr5Sr6Sr7\Rp4Sjr9S r:S!r;S"r<S3S#jr=S$r>S%r?S&r@S'rAS(rBS)rCS*rDS+rES,rFS-rGS.rHS/rIU=rJ$)4r���
_numerator�_denominatorc�>�[[U]U5nUGc�[U5[LaXlSUlU$[U[R5(a$URUlURUlU$[U[[45(aUR5uUlUlU$[U[5(Ga[ R#U5nUc[%SU-5e[	UR'S5=(d S5nUR'S5nU(a[	U5nO�SnUR'S5nU(a4UR)SS5nS	[+U5-nX-[	U5-nX'-nUR'S
5nU(a#[	U5nUS:�a	US	U--nO	US	U*--nUR'S5S
:XaU*nO�[-S5e[U5[s=La[U5LaO OO{[U[R5(aQ[U[R5(a2URUR-URUR-p!O[-S5eUS:Xa[/SU-5e[0R2"X5n	US:aU	*n	X-nX)-nXlX#lU$)Nrz Invalid literal for Fraction: %r�num�0�denom�decimal�_�r�exprr!�-z2argument should be a string or a Rational instancez+both arguments should be Rational instances�Fraction(%s, 0))�superr�__new__�type�intr0r1�
isinstance�numbers�Rationalrr�floatr�as_integer_ratior%�_RATIONAL_FORMAT�matchr�group�replacer&�	TypeError�ZeroDivisionError�math�gcd)�clsrr�selfr*r5r6�scaler9�g�	__class__s          �rr=�Fraction.__new__�s����>�X�s�+�C�0�����I��#�%�"+��$%��!����I�w�'7�'7�8�8�"+�"5�"5���$-�$9�$9��!����I��w�'7�8�8�5>�5O�5O�5Q�2����!2����I�s�+�+�$�*�*�9�5���9�$�%G�%.�&/�0�0������� 5�#�6�	�����(���"%�e�*�K�"#�K��g�g�i�0�G��")�/�/�#�r�":�� "�C��L� 0��$-�$5��G��$D�	�#�,���'�'�%�.�C��!�#�h���!�8�%��S��0�I�'�2��t�8�3�K��7�7�6�?�c�)�!*�
�I�� �!9�:�:��)�_��
8�t�K�'8�
8����G�$4�$4�5�5��{�G�$4�$4�5�5��#�#�k�&=�&=�=��%�%�	�(=�(=�=�#�
�1�2�
2��!��#�$5�	�$A�B�B��H�H�Y�,����?���A���	����#��'���r#c	��[U[R5(aU"U5$[U[5(d4[	UR
<SU<S[
U5R
<S35eUR"UR56$)Nz%.from_float() only takes floats, not � (�))	r@rA�IntegralrCrI�__name__r>�_from_coprime_intsrD)rM�fs  r�
from_float�Fraction.from_float4sq���a��)�)�*�*��q�6�M��A�u�%�%�� �\�\�1�d�1�g�.>�.>�@�A�
A��%�%�q�'9�'9�';�<�<r#c	�2�SSKJn [U[R5(aU"[U55nOD[X5(d4[
UR<SU<S[U5R<S35eUR"UR56$)Nrrz).from_decimal() only takes Decimals, not rTrU)r6rr@rArVr?rIrWr>rXrD)rM�decrs   r�from_decimal�Fraction.from_decimalBsv��	$��c�7�+�+�,�,��#�c�(�#�C��C�)�)�����s�D��I�$6�$6�8�9�
9��%�%�s�';�';�'=�>�>r#c�F>�[[U]U5nXlX#lU$�N)r<rr=r0r1)rMrr�objrQs    �rrX�Fraction._from_coprime_intsNs&����H�c�*�3�/��"��&���
r#c� �URS:H$�Nr�r1�rNs r�
is_integer�Fraction.is_integerZs��� � �A�%�%r#c�2�URUR4$rar/rgs rrD�Fraction.as_integer_ratio^s��
����!2�!2�3�3r#c��US:a[S5eURU::a[U5$Sup#pEURURpvXg-nX8U--n	X�:�aOXEX(U--U	4up#pEXvX�--
pvM'X-
U-n
SU-X:U---UR::a[R	XE5$[R	X*U--X:U--5$)Nrz$max_denominator should be at least 1)rrrr�)rr1rr0rX)rN�max_denominator�p0�q0�p1�q1rr�a�q2�ks           r�limit_denominator�Fraction.limit_denominatores���@�Q���C�D�D�����/��D�>�!�#�������� 1� 1�1����A��b�D��B��#���R�"��W�b�0�N�B�B����e�q�
��
�"�$��
�Q�3��R�4��=�D�-�-�-��.�.�r�6�6��.�.�r�B�$�w��R�4��@�@r#c��UR$ra)r0�rss rr�Fraction.numerator�s���|�|�r#c��UR$rarfrys rr�Fraction.denominator�s���~�~�r#c�n�URR<SUR<SUR<S3$)N�(z, rU)rQrWr0r1rgs r�__repr__�Fraction.__repr__�s*��#�~�~�6�6�#����0A�0A�C�	Cr#c��URS:Xa[UR5$UR<SUR<3$)Nr�/)r1r%r0rgs r�__str__�Fraction.__str__�s4������!��t���'�'�"�o�o�t�/@�/@�A�Ar#c�"�US=(d SnUS=(d SnUSS:XaSOUSn[US5n[US	=(d S
5nUS=(d SnURURp�U	S:�dU(a[	U5US
X�3n
O[	U5Un
US:aSOUnX&[U5-
[U
5-
-nUS:XaX�-U
-$US:XaX�-U-$US:Xa[U5S-n
USU
U-U
-X�S-$X�-U
-$)N�fill� �align�>r!r:r8�alt�minimumwidthr4�
thousands_seprr�r�<�^rm)�boolr?r0r1r
r&)rNrFr�r��pos_sign�alternate_formr�r�rr�bodyr!�padding�halfs              r�_format_general�Fraction._format_general�sA���V�}�#����g��%�#���v��#�-�2�5��=���e�E�l�+���5��0�7�C�8���o�.�4�"�
����� 1� 1�1��q�5�N��!�f�m�_�-�Q�q��.A�B�D��!�f�m�_�-�D��!�e�s�����T��2�S��Y�>�?���C�<��>�D�(�(�
�c�\��;��(�(�
�c�\��w�<�1�$�D��5�D�>�D�(�4�/�'�%�.�@�@��>�D�(�(r#c
��^^ �US=(d SnUS=(d SnUSS:XaSOUSn[US5n[US	5n[US
5n[US=(d S5nUS
m [US=(d S5n	USn
U
S;=(a U(+nU(+nU
S;aSOSn
U
S;a7U	*nU
S:XaUS-n[URURX�5unnSnU	nOkU
S;a[U	S5OU	S-n[
URURU5unnnU
S;=(d US:�=(d UU-S:*nU(aUS-
OU*nU
S:XaSnOU(aU
UU-S3nOSnUSUS-S3nU(aSOUnUS[U5U-
mU[U5U-
SnU(aURS5nU(a	U(dSOSnUU-U-nU(a=U[U5-
[U5-
nTRT (aS U-S!-S-OU5mT (aJS[T5S-
S --nTSUSRUU 4S"j[U[T5S 555-mTU-nX([U5-
[U5-
-nUS:XaUU-U-$US#:XaUU-U-$US$:Xa[U5S-nUSUU-U-UUS-$UU-U-$)%Nr�r�r�r�r!r:r8rr��zeropadr�r4r��	precision�6�presentation_type�gG�EFG�E�ezfF%�%rmFr�eEr���z+03dr�.��c3�8># �UHnTTXS--v� M g7f)r�N�)�.0�pos�leadingr�s  ��r�	<genexpr>�/Fraction._format_float_style.<locals>.<genexpr>"s&����4�<�C����A�g� 6�6�<�s�r�r�)r�r?r"r0r1�maxr,r&�rstrip�zfill�join�range)!rNrFr�r�r�rr�r�r�r�r��
trim_zeros�
trim_point�exponent_indicatorr�negativer+�
scientific�	point_posr'�suffix�digitsr!�	frac_part�	separator�trailing�min_leading�	first_posr�r�r�r�r�s!                               @@r�_format_float_style�Fraction._format_float_style�sp����V�}�#����g��%�#���v��#�-�2�5��=���5��/�0���e�E�l�+���u�Y�'�(���5��0�7�C�8���o�.�
���k�*�1�c�2�	�!�"5�6��&�$�.�E�~�3E�
�'�'�
�$5��$>�S�C����%�!�z�H� �C�'��A�
��$6�����!2�!2�H�%K�!�H�k��J�!�I�%��,��I�q�!���]�
�
/@�����!2�!2�G�/=�+�H�k�8�"�T�)�,��a�<�,��g�%��+�
�
(2��!���y�I���#��F�
�*�+�H�y�,@��+F�G�F��F� ��)�a�-���1�2��
�s�H���2�3�v�;��2�3���3�v�;��2�4�5�	��!�(�(��-�I�$�Y�B�C�	��y�(�6�1���&��T��2�S��]�B�K��m�m�,9��K��1�$�q�(�{��G�
��S��\�A�-��2�2�I��j�y�)�B�G�G�4� ��C��L�!�<�4�-��G���!����T��2�S��Y�>�?���C�<��T�>�D�(�(�
�c�\��$�;��(�(�
�c�\��w�<�1�$�D��5�D�>�D�(�4�/�'�$�%�.�@�@��'�>�D�(�(r#c���[U5=n(aURU5$[U5=n(aUSbUScURU5$[	SU<S[U5R<35e)Nr�r�zInvalid format specifier z for object of type )�%_GENERAL_FORMAT_SPECIFICATION_MATCHERr��#_FLOAT_FORMAT_SPECIFICATION_MATCHERr�rr>rW)rN�format_specrFs   r�
__format__�Fraction.__format__5s���:�+�F�F�5�F��'�'��.�.�7��D�D�5�D��W�~�%��y�)9�)A��/�/��6�6��'���7"�"&�t�*�"5�"5�!8�
:�
�	
r#c��^^^�UUU4SjnSTR-S-UlTRUlUUU4SjnSTR-S-UlTRUlX44$)Nc�B>�[U[5(aT"X5$[U[5(aT"U[U55$[U[5(aT"[U5U5$T(a'[U[5(aT"[	U5U5$[
$ra)r@rr?rC�complex�NotImplemented)rs�b�fallback_operator�handle_complex�monomorphic_operators  ���r�forward�-Fraction._operator_fallbacks.<locals>.forward�s}����!�X�&�&�+�A�1�1��A�s�#�#�+�A�x��{�;�;��A�u�%�%�(��q��1�5�5��J�q�'�$:�$:�(����Q�7�7�%�%r#�__c�h>�[U[R5(aT"[U5U5$[U[R5(aT"[U5[U55$T(a:[U[R5(aT"[U5[U55$[$ra)	r@rArBr�RealrC�Complexr�r�)r�rsr�r�r�s  ���r�reverse�-Fraction._operator_fallbacks.<locals>.reverse�s{����!�W�-�-�.�.�+�H�Q�K��;�;��A�w�|�|�,�,�(��q��5��8�<�<��J�q�'�/�/�$B�$B�(����W�Q�Z�@�@�%�%r#�__r)rW�__doc__)r�r�r�r�r�s```  r�_operator_fallbacks�Fraction._operator_fallbacksFsg���b
	&� �"3�"<�"<�<�t�C���.�6�6���		&�!�#4�#=�#=�=��D���.�6�6�����r#c��URURp2URURpT[R"X55nUS:Xa[RX%-X4--X5-5$X6-nX%U--XG--n[R"X�5n	U	S:Xa[RX�U-5$[RX�-XuU	--5$re�r0r1rKrLrrX�
rsr��na�da�nb�dbrP�s�t�g2s
          r�_add�
Fraction._add�������q�~�~�B����q�~�~�B��H�H�R�����6��.�.�r�w���/@�"�'�J�J��G����'�N�R�V�#��
�X�X�a�^��
��7��.�.�q�b�&�9�9��*�*�1�7�A�r��N�C�Cr#c��URURp2URURpT[R"X55nUS:Xa[RX%-X4--
X5-5$X6-nX%U--XG--
n[R"X�5n	U	S:Xa[RX�U-5$[RX�-XuU	--5$rer�r�s
          r�_sub�
Fraction._subr�r#c�"�URURp2URURpT[R"X%5nUS:�aX&-nXV-n[R"XC5nUS:�aXG-nX7-n[RX$-XS-5$rer�)rsr�r�r�r�r��g1r�s        r�_mul�
Fraction._muls}�����q�~�~�B����q�~�~�B�
�X�X�b�
��
��6��I�B��I�B�
�X�X�b�
��
��6��I�B��I�B��*�*�2�7�B�G�<�<r#c�d�URURp2US:Xa[SU-5eURURpT[R"XB5nUS:�aXF-nX&-n[R"X55nUS:�aXW-nX7-nXC-X%-p�U	S:aU*U	*p�[
R
X�5$)Nrr;r)r0r1rJrKrLrrX)
rsr�r�r�r�r�r�r�rrs
          r�_div�
Fraction._div(s������q�~�~�B�
��7�#�$5��$:�;�;����q�~�~�B�
�X�X�b�
��
��6��I�B��I�B�
�X�X�b�
��
��6��I�B��I�B��w���1��q�5��2��r�q��*�*�1�0�0r#c�h�URUR-URUR--$ra)rr�rsr�s  r�	_floordiv�Fraction._floordiv>s'�����a�m�m�+�������1L�M�Mr#Fc��URURp2[URU-X!R-5upEU[XRU-54$ra)rrrr)rsr�r�r��div�n_mods      r�_divmod�Fraction._divmodDsC������
�
�B��A�K�K�"�,�b�;�;�.>�?�
���H�U��G�,�,�,r#c��URURp2[URU-URU--X#-5$ra)rrr)rsr�r�r�s    r�_mod�
Fraction._modLs7������
�
�B�����r�)�a�k�k�B�.>�?���I�Ir#c��[U[R5(GaURS:Xa�URnUS:�a0[
R
URU-URU-5$URS:�a2[
R
URU*-URU*-5$URS:Xa[SURU*--5e[
R
UR*U*-UR*U*-5$[U5[U5-$[U[[45(a[U5U-$[$)Nrrr;)
r@rArBrrrrXr0r1rJrCr�r�)rsr��powers   r�__pow__�Fraction.__pow__Ss>���a��)�)�*�*��}�}��!������A�:�#�6�6�q�|�|�u�7L�78�~�~��7N�P�P��\�\�A�%�#�6�6�q�~�~�%��7O�78�|�|��v�7M�O�O��\�\�Q�&�+�,=�,-�N�N�u�f�,D�-E�F�F�$�6�6�����U�F�7R�9:���
�5�&�7P�R�R�
�Q�x�5��8�+�+�
��E�7�+�
,�
,���8�q�=� �!�!r#c�:�URS:XaURS:�aXR-$[U[R5(a#[URUR5U-$URS:XaXR-$U[U5-$)Nrr)	r1r0r@rArBrrrrC)r�rss  r�__rpow__�Fraction.__rpow__ssz���>�>�Q��1�<�<�1�#4����$�$��a��)�)�*�*��A�K�K����7�1�<�<��>�>�Q�����$�$��E�!�H�}�r#c�V�[RURUR5$ra�rrXr0r1rys r�__pos__�Fraction.__pos__�s���*�*�1�<�<����H�Hr#c�X�[RUR*UR5$rarrys r�__neg__�Fraction.__neg__�s���*�*�A�L�L�=�!�.�.�I�Ir#c�h�[R[UR5UR5$ra)rrXr
r0r1rys r�__abs__�Fraction.__abs__�s"���*�*�3�q�|�|�+<�a�n�n�M�Mr#c��URS:a!U"UR*UR-*5$U"URUR-5$�Nrr/)rs�_indexs  r�__int__�Fraction.__int__�sC���<�<�!���Q�\�\�M�Q�^�^�;�<�=�=��!�,�,�!�.�.�8�9�9r#c��URS:aUR*UR-*$URUR-$rr/rys r�	__trunc__�Fraction.__trunc__�s9���<�<�!���l�l�]�a�n�n�4�5�5��<�<�1�>�>�1�1r#c�4�URUR-$rar/rys r�	__floor__�Fraction.__floor__�s���|�|�q�~�~�-�-r#c�8�UR*UR-*$rar/rys r�__ceil__�Fraction.__ceil__�s���,�,��!�.�.�0�1�1r#c�*�UcMURn[URU5up4US-U:aU$US-U:�aUS-$US-S:XaU$US-$S[U5-nUS:�a[	[X-5U5$[	[X-5U-5$)Nrmrrr)r1rr0r
r�round)rN�ndigitsr�floor�	remainder�shifts      r�	__round__�Fraction.__round__�s���
�?��!�!�A�%�d�o�o�q�9��E��1�}�q� ����Q���"��q�y� ����a�����q�y� ��C��L� ���Q�;��E�$�,�/��7�7��E�$�,�/�%�7�8�8r#c�B�[URUR5$ra)rr0r1rgs r�__hash__�Fraction.__hash__�s���t����0A�0A�B�Br#c�h�[U5[La%URU:H=(a URS:H$[	U[
R5(a9URUR:H=(a URUR:H$[	U[
R5(aURS:XaURn[	U[5(aN[R"U5(d[R"U5(aSU:H$XR!U5:H$["$)Nrr�)r>r?r0r1r@rArBrrr��imag�realrCrK�isnan�isinfrZr�r�s  r�__eq__�Fraction.__eq__�s�����7�c�>��<�<�1�$�<����1�)<�<��a��)�)�*�*��L�L�A�K�K�/�4��N�N�a�m�m�3�
5��a����)�)�a�f�f��k����A��a�����z�z�!�}�}��
�
�1�
�
��a�x���L�L��O�+�+�"�!r#c��[U[R5(a7U"URUR-UR
UR-5$[U[5(aV[R"U5(d[R"U5(a	U"SU5$U"XRU55$[$)Nr))
r@rArBr0rr1rrCrKr,r-rZr�)rN�other�ops   r�_richcmp�Fraction._richcmp�s����e�W�-�-�.�.��d�o�o��(9�(9�9��'�'�%�/�/�9�;�
;��e�U�#�#��z�z�%� � �D�J�J�u�$5�$5��#�u�~�%��$���� 6�7�7�!�!r#c�B�URU[R5$ra)r3�operator�ltr�s  r�__lt__�Fraction.__lt__�����z�z�!�X�[�[�)�)r#c�B�URU[R5$ra)r3r6�gtr�s  r�__gt__�Fraction.__gt__�r:r#c�B�URU[R5$ra)r3r6�ler�s  r�__le__�Fraction.__le__�r:r#c�B�URU[R5$ra)r3r6�ger�s  r�__ge__�Fraction.__ge__�r:r#c�,�[UR5$ra)r�r0rys r�__bool__�Fraction.__bool__�s���A�L�L�!�!r#c�J�URURUR44$ra)rQr0r1rgs r�
__reduce__�Fraction.__reduce__s ��������$�2C�2C� D�E�Er#c�x�[U5[:XaU$URURUR5$ra�r>rrQr0r1rgs r�__copy__�Fraction.__copy__�.����:��!��K��~�~�d�o�o�t�/@�/@�A�Ar#c�x�[U5[:XaU$URURUR5$rarN)rN�memos  r�__deepcopy__�Fraction.__deepcopy__
rQr#)r1r0)rN)i@B)Tra)KrW�
__module__�__qualname__�__firstlineno__�	__slots__r=�classmethodrZr^rXrhrDrv�propertyrrrr�r�r�r�r�r�r6�add�__add__�__radd__r��sub�__sub__�__rsub__r��mul�__mul__�__rmul__r��truediv�__truediv__�__rtruediv__r��floordiv�__floordiv__�
__rfloordiv__r�r�
__divmod__�__rdivmod__r��mod�__mod__�__rmod__rrrr
r
�indexrrrrr#r&r.r3r8r=rArErHrKrOrT�__static_attributes__�
__classcell__)rQs@rrr�s����*/�I�g�R�=��=��	?��	?��	��	�&�4�7A�r��������C�
B� )�D_)�B
�$,0�l �dD�,�D�(�,�,�?��G�X�D�,�D�(�,�,�?��G�X�=�,�D�(�,�,�?��G�X�1�(!4�D�(�:J�:J� K��K��N�#6�i��AR�AR�TY�"Z��L�-�-�2�'�6�5�I��J��J�
,�D�(�,�,��F��G�X�"�@�I�J�N�#�.�.�:�2�.�2�
9�4C�"�*"�,*�*�*�*�"�F�B�
B�Br#)F)r6r�	functoolsrKrAr6�re�sys�__all__�	hash_info�modulusr�infr�	lru_cacher�compile�VERBOSE�
IGNORECASErEr"r,�DOTALL�	fullmatchr�r�rBrr�r#r�<module>r�s�������	�
��,��
�-�-�'�'���m�m����
���w�'�*�(�*�@�:�:���Z�Z�"�-�-��!��"�:$'�P)+�
�
�
4��Y�Y�����
)�'�Y�&�$')�j�j�2��Y�Y�����'�'�Y�$�$]
B�w���]
Br#

?>