HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/tinycss2/__pycache__/nth.cpython-310.pyc
o

we�
�@sFddlZddlmZmZdd�Zdd�Zdd	�Zd
d�Ze�d�Z	dS)
�N�)�_next_significant�_to_token_iteratorcCs
t|dd�}t|�}|durdS|j}|dkr!|jr!t|d|j�S|dkrU|jrU|j}|dkr5t||j�S|dkr@t||jd	�St	�
|�}|rSt||jt|�d
���SdS|dkr�|j
}|dkrft|d
d�S|dkrpt|d
d
�S|dkryt|d
�S|dkr�t|d	�S|dkr�t|d
d	�S|dkr�t|d	d	�S|ddkr�t	�
|d
d��}|r�t|d	t|�d
���SdSt	�
|�}|r�t|d
t|�d
���SdS|dkr�t|�}|jdk�r|j
}|dkr�t|d
�S|dkr�t|d
d	�St	�
|�}|�rt|d
t|�d
���SdSdSdS)aFParse `<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�nzn-���r�ident�even��oddz-nz-n-�-�+)rr�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�unitrr
�r"�E/home/arjun/projects/env/lib/python3.10/site-packages/tinycss2/nth.py�	parse_nthsl
�

�
�

�r$cCsxt|�}|dur|dfS|dkrt||d�S|dkr t||d�S|jdkr6|jr8|jddvr:t|||j�SdSdSdS)Nrrrrr	r�-+)rrrr�representationrr)r�arr"r"r#rKs�rcCsDt|�}|jdkr|jr|jddvr t||||j�SdSdSdS)Nrrr%)rrrr&rr)rr'�b_signrr"r"r#rXs�rcCst|�dur
||fSdS)N)r)rr'�br"r"r#r_s�rz^n(-[0-9]+)$)
�re�parserrrr$rrr�compilerr"r"r"r#�<module>sE