§
    ¡”j   ã                   óV   — d dl Z ddlmZmZ d„ Zd„ Zd„ Zd„ Z e j        d¦  «        Z	dS )	é    Né   )Ú_next_significantÚ_to_token_iteratorc           	      óº  — t          | d¬¦  «        }t          |¦  «        }|€dS |j        }|dk    r|j        rt	          |d|j        ¦  «        S |dk    r™|j        r’|j        }|dk    rt          ||j        ¦  «        S |dk    rt          ||j        d	¦  «        S t           
                    |¦  «        }|r6t	          ||j        t          |                     d
¦  «        ¦  «        ¦  «        S dS |dk    �rA|j        }|dk    rt	          |dd¦  «        S |dk    rt	          |dd
¦  «        S |dk    rt          |d
¦  «        S |dk    rt          |d	¦  «        S |dk    rt          |d
d	¦  «        S |dk    rt          |d	d	¦  «        S |d         dk    rWt           
                    |d
d…         ¦  «        }|r1t	          |d	t          |                     d
¦  «        ¦  «        ¦  «        S dS t           
                    |¦  «        }|r1t	          |d
t          |                     d
¦  «        ¦  «        ¦  «        S dS |dk    r›t          |¦  «        }|j        dk    rƒ|j        }|dk    rt          |d
¦  «        S |dk    rt          |d
d	¦  «        S t           
                    |¦  «        }|r5t	          |d
t          |                     d
¦  «        ¦  «        ¦  «        S dS dS dS )aF  Parse `<An+B> <https://drafts.csswg.org/css-syntax-3/#anb>`_,
    as found in `:nth-child()
    <https://drafts.csswg.org/selectors/#nth-child-pseudo>`_
    and related Selector pseudo-classes.

    Although tinycss2 does not include a full Selector parser,
    this bit of syntax is included as it is particularly tricky to define
    on top of a CSS tokenizer.

    :type input: :obj:`str` or :term:`iterable`
    :param input: A string or an iterable of :term:`component values`.
    :returns:
        A ``(a, b)`` tuple of integers, or :obj:`None` if the input is invalid.

    T)Úskip_commentsNÚnumberr   Ú	dimensionÚnzn-éÿÿÿÿr   ÚidentÚevené   Úoddz-nz-n-ú-ú+)r   r   ÚtypeÚ
is_integerÚ	parse_endÚ	int_valueÚ
lower_unitÚparse_bÚparse_signless_bÚN_DASH_DIGITS_REÚmatchÚintÚgroupÚlower_valueÚnext)ÚinputÚtokensÚtokenÚ
token_typeÚunitr   r   s          ú[/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/tinycss2/nth.pyÚ	parse_nthr%      s  € õ    °TÐ:Ñ:Ô:€FÝ˜fÑ%Ô%€EØ€}ØˆØ”€JØ�XÒÐ %Ô"2ÐÝ˜  E¤OÑ4Ô4Ð4Ø	�{Ò	"Ð	" uÔ'7Ð	"ØÔˆØ�3Š;ˆ;Ý˜6 5¤?Ñ3Ô3Ð3Ø�TŠ\ˆ\Ý# F¨E¬O¸RÑ@Ô@Ð@å$×*Ò*¨4Ñ0Ô0ˆEØð OÝ  ¨¬½#¸e¿kºkÈ!¹n¼nÑ:MÔ:MÑNÔNÐNðOð Oà	�wÒ	Ñ	ØÔ!ˆØ�FŠ?ˆ?Ý˜V Q¨Ñ*Ô*Ð*Ø�eŠ^ˆ^Ý˜V Q¨Ñ*Ô*Ð*Ø�cŠ\ˆ\Ý˜6 1Ñ%Ô%Ð%Ø�dŠ]ˆ]Ý˜6 2Ñ&Ô&Ð&Ø�dŠ]ˆ]Ý# F¨A¨rÑ2Ô2Ð2Ø�eŠ^ˆ^Ý# F¨B°Ñ3Ô3Ð3Ø�1ŒX˜Š_ˆ_Ý$×*Ò*¨5°°°¬9Ñ5Ô5ˆEØð BÝ  ¨­S°·²¸Q±´Ñ-@Ô-@ÑAÔAÐAðBð Bõ %×*Ò*¨5Ñ1Ô1ˆEØð AÝ  ¨­C°·²¸A±´Ñ,?Ô,?Ñ@Ô@Ð@ðAð Aà	�#ŠˆÝ�V‘”ˆØŒ:˜Ò Ð ØÔ%ˆEØ˜Š|ˆ|Ý˜v qÑ)Ô)Ð)Ø˜$’�Ý'¨°°2Ñ6Ô6Ð6å(×.Ò.¨uÑ5Ô5�Øð EÝ$ V¨Qµ°E·K²KÀ±N´NÑ0CÔ0CÑDÔDÐDð 
ˆà Ð ðEð Eó    c                 ó  — t          | ¦  «        }|€|dfS |dk    rt          | |d¦  «        S |dk    rt          | |d¦  «        S |j        dk    r,|j        r'|j        d         dv rt          | ||j        ¦  «        S d S d S d S )Nr   r   r   r   r   r   ú-+)r   r   r   r   Úrepresentationr   r   )r    Úar!   s      r$   r   r   K   s£   € Ý˜fÑ%Ô%€EØ€}Ø�1ˆvˆØ	�#ŠˆÝ ¨¨1Ñ-Ô-Ð-Ø	�#ŠˆÝ ¨¨2Ñ.Ô.Ð.Ø
Œ*˜Ò
 Ð
  UÔ%5Ð
 Ø
Ô
˜qÔ
! TÐ
)Ð
)Ý˜  E¤OÑ4Ô4Ð4ð !Ð
 Ð
 Ð
 Ø
)Ð
)r&   c                 ó    — t          | ¦  «        }|j        dk    r/|j        r*|j        d         dvrt	          | |||j        z  ¦  «        S d S d S d S )Nr   r   r(   )r   r   r   r)   r   r   )r    r*   Úb_signr!   s       r$   r   r   X   sd   € Ý˜fÑ%Ô%€EØŒ
�hÒÐ 5Ô#3ÐØÔ  Ô#¨4Ð/Ð/Ý˜  F¨U¬_Ñ$<Ñ=Ô=Ð=ð 	ÐÐÐØ/Ð/r&   c                 ó,   — t          | ¦  «        €||fS d S )N)r   )r    r*   Úbs      r$   r   r   _   s!   € Ý˜Ñ Ô Ð(Ø�1ˆvˆð )Ð(r&   z^n(-[0-9]+)$)
ÚreÚparserr   r   r%   r   r   r   Úcompiler   © r&   r$   ú<module>r3      sƒ   ðØ 	€	€	€	à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðBEð BEð BEðJ
5ð 
5ð 
5ð>ð >ð >ðð ð ð
 �2”:˜nÑ-Ô-Ð Ð Ð r&   