403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.170
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/css_parser/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/css_parser/__pycache__/prodparser.cpython-312.pyc
�

��3e�n���dZddlmZmZmZmZgd�ZdZdZddl	m
Z
ddlZddlZddl
Z
ddlZddlZej dd	k\reZeZneZeZGd
�de�ZGd�d
e�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�Zej@jC�Z"gZ#Gd�de�Z$Gd�de�Z%y)a�Productions parser used by css and stylesheets classes to parse
test into a css_parser.util.Seq and at the same time retrieving
additional specific css_parser.util.Item objects for later use.

TODO:
    - ProdsParser
        - handle EOF or STOP?
        - handle unknown @rules
        - handle S: maybe save to Seq? parameterized?
        - store['_raw']: always?

    - Sequence:
        - opt first(), naive impl for now

�)�unicode_literals�division�absolute_import�print_function)�
ProdParser�Sequence�Choice�Prod�PreDef�restructuredtextz1$Id: parse.py 1418 2008-08-09 19:27:50Z cthedot $���	pushtokenN�c��eZdZdZy)�
ParseErrorz6Base Exception class for ProdParser (used internally).N��__name__�
__module__�__qualname__�__doc__���7/usr/lib/python3/dist-packages/css_parser/prodparser.pyrr&s��@�rrc��eZdZdZy)�Donez@Raised if Sequence or Choice is finished and no more Prods left.Nrrrrrr+s��J�rrc��eZdZdZy)�	Exhaustedz<Raised if Sequence or Choice is finished but token is given.Nrrrrrr0s��F�rrc��eZdZdZy)�MissingzIRaised if Sequence or Choice is not finished but no matching token given.Nrrrrr r 5s��S�rr c��eZdZdZy)�NoMatchz3Raised if nothing in Sequence or Choice does match.Nrrrrr"r":s��=�rr"c�4�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	y)	r	z2A Choice of productions (Sequence or single Prod).c��||_	|d|_|j�y#t$r0|jD]}|js�d|_nd|_Y�IwxYw)zi
        *prods
            Prod or Sequence objects
        options:
            optional=False
        �optionalTFN)�_prodsr%�KeyError�reset)�self�prods�options�ps    r�__init__zChoice.__init__Bsf�����	&�#�J�/�D�M�	
�
�
����	&��[�[�
&���:�:�$(�D�M��
&�
!&��
��
	&�s�
$�$A�	A�Ac��d|_y)zStart Choice from zeroFN)�
_exhausted�r)s rr(zChoice.resetWs	����rc�L�|jD]}|j|�s�yy)zCheck if token matchesTF)r&�matches�r)�token�prods   rr2zChoice.matches[s)���K�K�	�D��|�|�E�"��	�rc��|jsbd}|jD]=}|j|�rd|_|j�|cS|js�<d}�?|std|�d|����y|rt
d��y)a?
        Return:

        - next matching Prod or Sequence
        - ``None`` if any Prod or Sequence is optional and no token matched
        - raise ParseError if nothing matches and all are mandatory
        - raise Exhausted if choice already done

        ``token`` may be None but this occurs when no tokens left.FT�
No match for � in �Extra tokenN)r/r&r2r(r%r"r)r)r4r%r,s    r�nextProdzChoice.nextProdbs�������H��[�[�
K���9�9�U�#�&*�D�O��G�G�I��H��Z�Z�#�H�
K� �!�U�D�"I�J�J� ���M�*�*�rc�~�d|jj|j�|jt	|�fzS�NzB<css_parser.prodsparser.%s object sequence=%r optional=%r at 0x%x>��	__class__r�__str__r%�idr0s r�__repr__zChoice.__repr__�9��S��N�N�#�#�T�\�\�^�T�]�]�B�t�H�WN�N�	Nrc	�v�ddj|jD�cgc]
}t|���c}�zScc}w)Nz
Choice(%s)�, ��joinr&�str�r)�xs  rr?zChoice.__str__�s,���d�i�i����(E�A��Q��(E�F�F�F��(E��6
N)
rrrrr-r(r2r:rAr?rrrr	r	?s%��<��* ��+�:N�Grr	c�L�eZdZdZd�Zd�Zd�Zd�Zed��Z	d�Z
d�Zd	�Zy
)rz2A Sequence of productions (Choice or single Prod).c�J�||_	|d}|�\|_|_|j�	tj
|_t|j�|_	|j�y#t$rd�}Y�owxYw#t$rtj|_Y�]wxYw)z�
        *prods
            Prod or Choice or Sequence objects
        **options:
            minmax = lambda: (1, 1)
                callback returning number of times this sequence may run
        �minmaxc��y)N)r
r
rrrrrMz!Sequence.__init__.<locals>.minmax�s��rN)r&r'�_min�_max�sys�maxsize�AttributeError�maxint�len�
_prodcountr()r)r*r+rMs    rr-zSequence.__init__�s������	(��X�&�F� &�x���	�4�9��9�9��
'��K�K��	�
�d�k�k�*����
�
����	(�'�	(��"�
'��J�J��	�
'�s"�A/�B�/A>�=A>�B"�!B"c��|jD]$}|j|�ry	|jsy�&y#t$rY�3wxYw)z4Called by Choice to try to find if Sequence matches.TF)r&r2r%rSr3s   rr2zSequence.matches�sV���K�K�	�D��|�|�E�"��
��}�}���	%�		���"�
��
�s�5�	A�Ac�.�d|_d|_d|_y)z$Reset this Sequence if it is nested.FrN)�
_roundstarted�_i�_roundr0s rr(zSequence.reset�s��"��������rc�r�|j|jdD]}|jr�t|�cSy)z0Return current element of Sequence, used by nameNr)r&rZr%rG)r)r5s  r�_currentNamezSequence._currentName�s8���K�K�����)�	�D��=�=��4�y� �	�rc� �|jdk(S)Nr)rOr0s r�<lambda>zSequence.<lambda>�s��T�Y�Y�!�^�rc�z�|j|jk�r|j}|j}|j|}|dk(rd|_|xjdz
c_|j|j
k(r|xjdz
c_d|_|j
|�rd|_|j�|S|jr��||jks|jrtd|z��|s$|jrtd|z��t��td|�d|����|rtd��y	)
z�Return

        - next matching Prod or Choice
        - raises ParseError if nothing matches
        - raises Exhausted if sequence already done
        rFr
TzMissing token for production %sr7r8r9N)r[rPrZr&rYrVr2r(r%rOr rr"r)r)r4�i�roundr,s     rr:zSequence.nextProd�s���k�k�D�I�I�%����A��K�K�E����A��A��A�v�%*��"�
�G�G�q�L�G��w�w�$�/�/�)����q� ������y�y���%)��"����	�����������"�d�&8�&8��?�!�C�D�D���%�%�!�"C�a�"G�H�H��&�L����E�F�F���M�*�*�rc�~�d|jj|j�|jt	|�fzSr<r=r0s rrAzSequence.__repr__�rBrc	�v�ddj|jD�cgc]
}t|���c}�zScc}w)NzSequence(%s)rDrErHs  rr?zSequence.__str__�s,����	�	�4�;�;�*G�a�3�q�6�*G� H�H�H��*GrJN)
rrrrr-r2r(r]�propertyr%r:rAr?rrrrr�s8��<��6
����3�4�H�.+�`N�Irrc�>�eZdZdZ							dd�Zd�Zd�Zd�Zd�Zy)	r
z"Single Prod in Sequence or Choice.Nc
��||_||_||_||_||_||_|	|_|
|_||_||_	d�}
|s|dur||_
nd�|_
t|d�r||_y|r|
|�|_yd|_y)a�
        name
            name used for error reporting
        match callback
            function called with parameters tokentype and tokenvalue
            returning True, False or raising ParseError
        toSeq callback (optional) or False
            calling toSeq(token, tokens) returns (type_, val) == (token[0], token[1])
            to be appended to seq else simply unaltered (type_, val)

            if False nothing is added

        toStore (optional)
            key to save util.Item to store or callback(store, util.Item)
        optional = False
            whether Prod is optional or not
        stop = False
            if True stop parsing of tokens here
        stopAndKeep
            if True stop parsing of tokens here but return stopping
            token in unused tokens
        stopIfNoMoreMatch = False
            stop even if more tokens available, similar to stop and keep but with
            condition no more matches
        nextSor=False
            next is S or other like , or / (CSSValue)
        mayEnd = False
            no token must follow even defined by Sequence.
            Used for operator ',/ ' currently only

        storeToken = None
            if True toStore saves simple token tuple and not and Item object
            to store. Old style processing, TODO: resolve

        exception = None
            exception to be raised in case of error, normaly SyntaxErr
        c����fd�}|S)z"Return a function used by toStore.c�x���|vr0|�}t|t�s|g|�<|�j|�y||�<y)zSet or append store item.N)�
isinstance�list�append)�store�item�_v�keys   �r�toStorez3Prod.__init__.<locals>.makeToStore.<locals>.toStore6sC����%�<��s��B�%�b�$�/�&(�T��c�
��#�J�%�%�d�+�!%�E�#�Jrr)rprqs` r�makeToStorez"Prod.__init__.<locals>.makeToStore4s���
&��NrFc��|d|dfS�Nrr
r��t�tokenss  rr_zProd.__init__.<locals>.<lambda>Es��A�a�D�!�A�$�<�r�__call__N)
�_name�matchr%�stop�stopAndKeep�stopIfNoMoreMatch�nextSor�mayEnd�
storeToken�	exception�toSeq�hasattrrq)r)�namerzr%r�rqr{r|r}r~rr�r�rrs              rr-z
Prod.__init__�s���X��
���
� ��
���	�&���!2���������$���"���	��E�U�N��D�J�7�D�J��7�J�'�"�D�L�
�&�w�/�D�L� �D�Lrc�:�|sy|\}}}}|j||�S)zReturn if token matches.F)rz)r)r4�type_�val�line�cols      rr2zProd.matchesOs'���� %���s�D�#��z�z�%��%�%rc��y�Nrr0s rr(z
Prod.resetVs��rc��|jSr�)ryr0s rr?zProd.__str__Ys���z�z�rc�`�d|jj|jt|�fzS)Nz2<css_parser.prodsparser.%s object name=%r at 0x%x>)r>rryr@r0s rrAz
Prod.__repr__\s.��C��N�N�#�#�T�Z�Z��D��G;�;�	;r)
FNNFFFFFNN)	rrrrr-r2r(r?rArrrr
r
�s5��,�-2�%)�).�#(�',� ��
P �d&�
��;rr
c�2�eZdZdZdd�Zd�Zdd�Z		d	d�Zy)
rzProductions parser.c��tjj|_tj|_|rtj�yyr�)�
css_parser�cssproductions�CSSProductions�types�log�_log�	tokenizer�clear)r)r�s  rr-zProdParser.__init__ks2���.�.�=�=��
��N�N��	���O�O��rc��t|t�r#tj|j	��St|�tjur|St|t�rt|g�St|t�rt|�S|S)zhBuild a generator which is the only thing that is parsed!
        old classes may use lists etc
        )rj�string_typer��tokenize�strip�typer��
GeneratorType�tuple�iterrk)r)�texts  r�
_texttotokenszProdParser._texttotokensqsm��
�d�K�(��%�%�d�j�j�l�3�3�
�$�Z�5�.�.�
.��K�
��e�
$����<��
��d�
#���:���Krc#�^K�|D]�}|d|jjk(rB	t|�}|d|vr|���7|d|jjk(r|���X|��|���a|d|jjk(r|����|��n|D]}|���y#t$r|��Y��wxYw�w)zpNew tokens generator which has S tokens removed,
        if followed by anything in ``until``, normally a ``,``.rr
N)r��S�next�COMMENT�
StopIteration)r)rw�untilr4�next_s     r�
_SorTokenszProdParser._SorTokens�s������	�E��Q�x�4�:�:�<�<�'�
$� ��L�E��Q�x�5�(�#���q��T�Z�Z�%7�%7�7�#��#��#���q��T�Z�Z�/�/�/������-	�0�	�E��K�	��)%� ��K� �s(�"B-�B�A*B-�
B*�'B-�)B*�*B-Nc	�X
�|j|�}	|	s!|jjd�dgddfStjjd��}
|si}|g}d}d}
d}d}d}d}		tj�}|\}}}}||jjk(rK|
jtjj|�tjj||��n�|r6||jj k(r|s|r|
s��|
j||||��n�||jj"k(r"d}|jjd|����ns|dk(rd}�nhd}
			|dj%|�}t+|t,�rn?|r|j|�n*t/|�d	kDr|j�nt)d
���e	|j0xs|}|j2rw|j4sk|j3||	�\}}|�T|
j||||�|j6r4|j8s|j7||
d�n|j7||�|j:rn`|j4r.t<j?|�tAjB||	�}	d}n&|jDr|jG|	d�}	d}nd}	��f|}|s�		|dj%d�
�}|djJrd}n|r
|jJr�8|r8|jJs,d}|jj|�dtU|����n!t/|�d	kDr|j�nn��|s,t/|
�s!|jjd�dgddfS|
jW�||
||	fS#t$r!	t|	�}n#t$rYY��wxYwY��UwxYw#t&t(f$rd}Y��mwxYw#t($rJ}|rtj|�d}n%d}|jj|�d|�d|���Yd}~��nd}~wtH$rJ}|rt<j?|�d}n%d}|jj|�d|�d|���Yd}~���d}~wwxYw#tL$rd}Y���tN$rG}d}tQ|d�r.|jRs"d}|jj|�d|���Yd}~���d}~wtH$r/}d}d}|jj|�d|���Yd}~��d}~wwxYw)a�
        text (or token generator)
            to parse, will be tokenized if not a generator yet

            may be:
            - a string to be tokenized
            - a single token, a tuple
            - a tuple of (token, tokensGenerator)
            - already tokenized so a tokens generator

        name
            used for logging
        productions
            used to parse tokens
        keepS
            if WS should be added to Seq or just be ignored
        store  UPDATED
            If a Prod defines ``toStore`` the key defined there
            is a key in store to be set or if store[key] is a list
            the next Item is appended here.

            TODO: NEEDED? :
            Key ``raw`` is always added and holds all unprocessed
            values found
        emptyOk
            if True text may be empty, hard to test before as may be generator

        returns
            :wellformed: True or False
            :seq: a filled css_parser.util.Seq object which is NOT readonly yet
            :store: filled keys defined by Prod.toStore
            :unusedtokens: token generator containing tokens not used yet
        zNo content to parse.FN)�readonlyTzInvalid token: �EOF���r
zNo match�,/z: )r4rz: Missing token for production ),r�r��errorr��util�Seq�savedTokens�pop�
IndexErrorr�r�r�r�rl�css�
CSSCommentr��INVALIDr:rr"rjr
rUr}r�r|rqr�r{r��push�	itertools�chainr~r�rr%rr r�r�	text_type�rstrip)r)r�r��productions�keepS�checkSrm�emptyOk�debugrw�seqr*�
wellformed�started�stopallr5�defaultSr}r4r�r�r�r��e�lastprods                         r�parsezProdParser.parse�s���F�#�#�D�)����I�I�O�O�2�3��"�d�D�(�(��o�o�!�!�5�!�1����E��
���
���������!���
�#���)��%*�!�E�3��c���
�
�*�*�*��
�
�:�>�>�4�4�S�9�%�>�>�4�4�d�C�A��e�t�z�z�|�|�3�F��G���J�J�s�E�4��5��$�*�*�,�,�,�"�
��	�	���u� >�?���%������X(��(�#(��9�#5�#5�e�#<�D�
&�d�D�1�!�!�!�L�L��.� #�5�z�A�~� %�	�	��&-�j�&9� 9�'�"�N)-�(>�(>�(S�BS�%��z�z�$�*:�*:�%)�Z�Z��v�%>�
��s��?��J�J�s�E�4��=�#�|�|�'+���$(�L�L���B��$@�
%)�L�L���$>��y�y���'�'�
"���u�-�!*�����!?��"&����|�|�"&�����!>��#(��#'��K�N����!� ��9�-�-�D�-�9�D�$�R�y�)�)�#���$�-�-� ���
�
�!&�J��I�I�O�O�'+�Y�t�_�%>�?����Z�!�^��I�I�K��I�L�3�s�8��	�	��� 6�7��b�$��,�,�	�
�
���3��v�-�-��g�
�� ��L�E��$������
��Z!*�7�3�(�#'�D�(��"�
�(�$�*�*�5�1�"&��&+�
��	�	����a��(G�H���!�
�(�!���u�-�"&��&+�
��	�	����a��(G�H���
��B� ��D��>��D��x��2�8�?�?�%*�
��	�	���D�!�(<�=���!�:��D�!&�J��I�I�O�O��a�$8�9�9��:�s��*N*�(O/�*O�>AO/�R�*	O�4O�?O�	O
�	O�O
�
O�O�O,�(O/�+O,�,O/�/	R�8?P=�=R�	?R�R�T)�$T)�,<S.�.T)�:$T$�$T))T)r�)FFNFF)rrrrr-r�r�r�rrrrrhs$�����2�<OS�#(�o.rrc��eZdZdZej
jZejd�Z
edd��Ze					dd��Z
edd��Zedd��Zedd��Zedd	��Zedd
��Zedd��Zedd��Zedd
��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd��Zed d��Zy)!rz_Predefined Prod definition for use in productions definition
    for ProdParser instances.
    z1^\#(?:[0-9abcdefABCDEF]{3}|[0-9abcdefABCDEF]{6})$Nc�"�tdd�||��S)N�calcfunctionc�F�dtjj|�k(S)Nzcalc(�r��helper�	normalize�rv�vs  rr_zPreDef.calc.<locals>.<lambda>�s��w�*�2C�2C�2M�2M�a�2P�'P�r)r�rzr�r~�r
)r�r~s  r�calczPreDef.calc�s����P��#�%�	%rc	�2��t|�fd�|||||||��	S)zany CHARc���|�k(Sr�r)rvr��chars  �rr_zPreDef.char.<locals>.<lambda>�s���!�t�)�r)	r�rzr�r{r|rr}r%r~r�)	r�r�r�r{r|rr}r%r~s	 `       rr�zPreDef.char�s)�����%;�5��;�v�&7�%�#�	%�	%rc�4�tjdd||��S)N�comma�,�r%r��rr�r�s  rr�zPreDef.comma�s���{�{�7�C�(�%�{�H�Hrc�*��tdd��fd�d��S)N�commentc��|dk(S)Nr�rr�s  rr_z PreDef.comment.<locals>.<lambda>�s
��q�I�~�rc�R��|dtjjdg���fS)Nrr
)�
parentRule)r�r�r�)rvrw�parents  �rr_z PreDef.comment.<locals>.<lambda>�s'���Q�q�T�:�>�>�3L�3L�a�S�]c�3L�3d�,e�rT)r�rzr�r%r�)r�s`rr�zPreDef.comment�s�����5�e�!��	rc�&�tdd�d�||��S)N�	dimensionc�<�|tjjk(Sr�)rr��	DIMENSIONr�s  rr_z"PreDef.dimension.<locals>.<lambda>�s��q�F�L�L�,B�,B�'B�rc�P�|dtjj|d�fSrtr�rus  rr_z"PreDef.dimension.<locals>.<lambda>�s%��Q�q�T�:�3D�3D�3N�3N�q�QR�t�3T�,U�r�r�rzr�r{r~r�)r~r{s  rr�zPreDef.dimension�s����B�U��#�	%�	%rc�$�tdd�|||��S)N�functionc�<�|tjjk(Sr�)rr��FUNCTIONr�s  rr_z!PreDef.function.<locals>.<lambda>�s��q�F�L�L�,A�,A�'A�r)r�rzrqr�r~r�)r�r~rqs   rr�zPreDef.function�s����A�#��#�	%�	%rc�4�tjdd||��S)�)zend FUNC ")"�r{rr�r�s  r�funcEndzPreDef.funcEnd�s���{�{�>�3�T�&�{�I�Irc�"�tdd�||��S)z#123 or #123456z	HEX colorc�~�|tjjk(xrtjj	|�Sr�)rr��HASH�
reHexcolorrzr�s  rr_z!PreDef.hexcolor.<locals>.<lambda>�s2���V�\�\�.�.�.�3��)�)�/�/��2�r)r�rzr{r~r��r{r~s  r�hexcolorzPreDef.hexcolor�s ������#�
%�	%rc�$�tdd�|||��S)N�identc�<�|tjjk(Sr�)rr��IDENTr�s  rr_zPreDef.ident.<locals>.<lambda>����q�F�L�L�,>�,>�'>�r)r�rzr{rqr~r�)r{rqr~s   rr�zPreDef.ident�s����>��#�#�	%�	%rc�$�tdd�|||��S)N�numberc�<�|tjjk(Sr�)rr��NUMBERr�s  rr_zPreDef.number.<locals>.<lambda>����q�F�L�L�,?�,?�'?�r�r�rzr{r�r~r��r{r�r~s   rr�z
PreDef.number�s����?���#�	%�	%rc�$�tdd�|||��S)N�
percentagec�<�|tjjk(Sr�)rr��
PERCENTAGEr�s  rr_z#PreDef.percentage.<locals>.<lambda>�s��q�F�L�L�,C�,C�'C�rrr�rs   rrzPreDef.percentage�s����C���#�	%�	%rc�&�tdd�d�||��S)z(string delimiters are removed by default�stringc�<�|tjjk(Sr�)rr��STRINGr�s  rr_zPreDef.string.<locals>.<lambda>�rrc�P�|dtjj|d�fSrt)r�r��stringvaluerus  rr_zPreDef.string.<locals>.<lambda>�s'��Q�q�T�:�3D�3D�3P�3P�QR�ST�QU�3V�,W�rr�r�r�s  rrz
PreDef.string�s����?�W��#�	%�	%rc�$�t|d�||d��S)Nc�<�|tjjk(Sr�)rr�r�r�s  rr_zPreDef.S.<locals>.<lambda>s��q�F�L�L�N�N�':�rT)r�rzr�r%rr�)r�r�r%s   rr�zPreDef.Ss����:��%��	!�	!rc�&�tdd�d|||��S)z+ or -zunary +-c�
�|dvS)N)�+�-rr�s  rr_zPreDef.unary.<locals>.<lambda>
s
���Z��rT)r�rzr%r{r�r~r�rs   r�unaryzPreDef.unary
s"����+G�!���#�	%�	%rc�&�tdd�d�||��S)z.'url(' and ')' are removed and URI is stripped�URIc�<�|tjjk(Sr�)rr�rr�s  rr_zPreDef.uri.<locals>.<lambda>s��q�F�L�L�,<�,<�'<�rc�P�|dtjj|d�fSrt)r�r��urivaluerus  rr_zPreDef.uri.<locals>.<lambda>s%��Q�q�T�:�3D�3D�3M�3M�a�PQ�d�3S�,T�rr�r�r�s  r�uriz
PreDef.uris����<�T��#�	%�	%rc�&�tdd�d�||��S)z$u+123456-abc normalized to lower `u`z
unicode-rangec�<�|tjjk(Sr�)rr��
UNICODE_RANGEr�s  rr_z&PreDef.unicode_range.<locals>.<lambda> s��q�F�L�L�,F�,F�'F�rc�2�|d|dj�fSrt��lowerrus  rr_z&PreDef.unicode_range.<locals>.<lambda>!���Q�q�T�1�Q�4�:�:�<�,@�rr�r�r�s  r�
unicode_rangezPreDef.unicode_ranges����F�@��#�	�	rc�&�tdd�d�||��S)z#positive integer / positive integer�ratioc�<�|tjjk(Sr�)rr��RATIOr�s  rr_zPreDef.ratio.<locals>.<lambda>*r�rc�2�|d|dj�fSrtrrus  rr_zPreDef.ratio.<locals>.<lambda>+r rr�r�r�s  rr#zPreDef.ratio&s����>�@��#�	�	rc�&�tdd�||||��S)N�variablec�F�dtjj|�k(S)Nzvar(r�r�s  rr_z!PreDef.variable.<locals>.<lambda>3s��v��1B�1B�1L�1L�Q�1O�'O�r)r�rzr�rqr{r~r�)r�r{r~rqs    rr(zPreDef.variable0s ����O��#��#�%�	%rc�0��d��t|d��fd�|��S)z�@rule dummy (matches ATKEYWORD to remove unknown rule tokens from
        stream::

            @x;
            @x {...}

        no nested yet!
        c��g}|D]D}|j|�|ddk(s	|ddk(s�%tjj|�cSy)Nr
�}�;)rlr�r��CSSUnknownRule)rw�savedrvs   r�rulez PreDef.unknownrule.<locals>.ruleDsM���E��
@�����Q���a�D�C�K�1�Q�4�3�;�%�>�>�8�8��?�?�
@rc��|dk(S)N�	ATKEYWORDrr�s  rr_z$PreDef.unknownrule.<locals>.<lambda>Ls��q�K�'7�rc�,��d�t||��fS)Nr.r)rvrwr0s  �rr_z$PreDef.unknownrule.<locals>.<lambda>Ms���-=�-1�)�A�v�2F�-G�-/�r)r�rzr�rqr�)r�rqr0s  @r�unknownrulezPreDef.unknownrule:s'���	@���7�/�$��	r)NF)	r�r�NFFFFFF)FNr�)FF)NFN)FNF)�
whitespaceNF)NFFN)�@N)rrrrr�r�r�r��re�compiler��staticmethodr�r�r�r�r�r�r�r�r�r�rrr�rrr!r#r(r4rrrrr�s����
�%�%�4�4�E�����P�Q�J��%��%��*.�38�$���	
%��
%��I��I������%��%��%��%��J��J��%��%��%��%��%��%��%��%��%��%��!��!��%��%��%��%����������%��%����rr)&r�
__future__rrrr�__all__�
__docformat__�__version__r�rr�r�r7rQr��version_inforGr�r��unicode�
basestring�	Exceptionrrrr r"�objectr	rr
�	tokenize2�	Tokenizerr�r�rrrrr�<module>rEs���S�R�
@��"�
�A�����	�
�����A��!���I��K��I��K�	��	�
	�:�	�
	�
�	�
	�j�	�
	�j�	�
EG�V�EG�PpI�v�pI�fd;�6�d;�P
� � �*�*�,�	���o.��o.�d	w�V�wr

Youez - 2016 - github.com/yon3zu
LinuXploit