Ë
    m]j$<  ã                   óö   — d dl Z d dlZd dlmZ ddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ  e j2                  d«      Z e j2                  d«      Zdd„Zd	„ Zd
„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#y)é    N)Úascii_loweré   )ÚAtKeywordTokenÚCommentÚCurlyBracketsBlockÚDimensionTokenÚFunctionBlockÚ	HashTokenÚ
IdentTokenÚLiteralTokenÚNumberTokenÚParenthesesBlockÚ
ParseErrorÚPercentageTokenÚSquareBracketsBlockÚStringTokenÚUnicodeRangeTokenÚURLTokenÚWhitespaceToken)Úserialize_string_valueÚserialize_urlz([-+]?([0-9]*\.)?[0-9]+([eE][+-]?[0-9]+)?z([0-9A-Fa-f]{1,6})[ \n\t]?c           
      ón  — | j                  dd«      j                  dd«      j                  dd«      j                  dd«      } t        | «      }dx}}d}d	}g x}}d
}	g }
||k  �r?| j                  d||«      }|d	k7  r|d| j                  d||«      z   z  }|}||z
  }|}| |   }|dv rQ|dz  }| j	                  d|«      r|dz  }| j	                  d|«      rŒ| || }|j                  t        |||«      «       Œš|dv rN|dz   |k  rF| |dz      dk(  r;| |dz      dv r1t        | |dz   «      \  }}}|j                  t        ||||«      «       Œì| j	                  d|«      r#|j                  t        ||d«      «       |dz  }�Œ!t        | |«      �rAt        | |«      \  }}| j	                  d|«      s|j                  t        |||«      «       �Œm|dz  }	 t        |«      dk(  }|r´|}| j	                  d|«      r|dz  }| j	                  d|«      rŒ||k\  s| |   dvr|t        | |«      \  }}}|�Jdt!        |«      › d�}|�|d   }|dk(  r|d
d }n|dk(  sJ ‚|d
d	 }|j                  t#        ||||«      «       |�|j                  t%        ||g|¢­Ž «       �Œ7g }|j                  t'        ||||«      «       |
j                  ||	f«       d}	|}�Œot(        j+                  | |«      }|rÞ|j-                  «       }| || }t/        |«      }t1        |j3                  «       «      st5        |«      nd
}||k  r<t        | |«      r0t        | |«      \  }}|j                  t7        ||||||«      «       �n0| j	                  d|«      r%|dz  }|j                  t9        |||||«      «       �nù|j                  t;        |||||«      «       �nÙ|dk(  ra|dz  }||k  r9t        | |«      r-t        | |«      \  }}|j                  t=        |||«      «       �n‘|j                  t        ||d«      «       �ns|dk(  r”|dz  }||k  rl| |   dv s+t?        | |   «      d kD  s| |   d!k(  rL| j	                  d"|«      s:t        | |«      }t        | |«      \  }}|j                  tA        ||||«      «       �nø|j                  t        ||d«      «       �nÚ|d#k(  r<g }|j                  tC        |||«      «       |
j                  ||	f«       d$}	|}|dz  }�n™|d%k(  r<g }|j                  tE        |||«      «       |
j                  ||	f«       d&}	|}|dz  }�nX|dk(  r<g }|j                  tG        |||«      «       |
j                  ||	f«       d}	|}|dz  }�n||	k(  r|
jI                  «       \  }}	|dz  }�nø|d'v r'|j                  t%        |||d(|z   «      «       |dz  }�nÍ|dv rftK        | |«      \  }}}|�3d)tM        |«      › d)�}|�|d
d	 }|j                  tO        ||||«      «       |���|j                  t%        ||g|¢­Ž «       �nc| j	                  d*|«      rk| jQ                  d+|dz   «      }|d	k(  r'|s"|j                  tS        ||| |dz   d
 «      «       	 |S |s"|j                  tS        ||| |dz   | «      «       |dz  }næ| j	                  d,|«      r"|j                  t        ||d,«      «       |d-z  }n²| j	                  d.|«      r"|j                  t        ||d.«      «       |dz  }n~|d/v rY|dz  }| j	                  d0|«      r%|dz  }|j                  t        |||d0z   «      «       n>|j                  t        |||«      «       n!|j                  t        |||«      «       |dz  }||k  r�Œ?|S # t        $ r d}Y �ŒÔw xY w)1aw  Parse a list of component values.

    :type css: :obj:`str`
    :param css: A CSS string.
    :type skip_comments: :obj:`bool`
    :param skip_comments:
        Ignore CSS comments.
        The return values (and recursively its blocks and functions)
        will not contain any :class:`~tinycss2.ast.Comment` object.
    :returns: A list of :term:`component values`.

    ú õ   ï¿½z
ú
úúr   r   éÿÿÿÿNú 
	©ú r   ú	ÚUué   ú+z0123456789abcdefABCDEF?z-->é   ú(ÚurlF©ú"ú'zurl(ú)úeof-in-stringéþÿÿÿú
eof-in-urlú%ú@ú#z@0123456789abcdefghijklmnopqrstuvwxyz-_ABCDEFGHIJKLMNOPQRSTUVWXYZé   ú\ú\
ú{ú}ú[ú]z}])z
Unmatched r*   z/*z*/z<!--é   z||z~|^$*ú=)*ÚreplaceÚlenÚrfindÚcountÚ
startswithÚappendr   Ú_consume_unicode_ranger   r   Ú_is_ident_startÚ_consume_identr   r   ÚUnicodeEncodeErrorÚ_consume_urlr   r   r   r	   Ú
_NUMBER_REÚmatchÚendÚfloatÚanyÚgroupsÚintr   r   r   r   Úordr
   r   r   r   ÚpopÚ_consume_quoted_stringr   r   Úfindr   )ÚcssÚskip_commentsÚlengthÚtoken_start_posÚposÚlineÚlast_newlineÚrootÚtokensÚend_charÚstackÚnewlineÚcolumnÚcÚvalueÚstartrI   Úis_urlÚurl_posÚerrorÚreprÚ	error_keyÚ	argumentsrH   Úrepr_Ú	int_valueÚunitÚis_identifierÚcontents                                úI/var/www/zogu/zoguvenv/lib/python3.12/site-packages/tinycss2/tokenizer.pyÚparse_component_value_listrn      s  € ð �;‰;�t˜XÓ&ç‰G�F˜DÓ!§'¡'¨$°Ó"5·g±g¸dÀDÓ6Ið ô �‹X€FØÐ€O�cØ€DØ€LØÐ€Dˆ6Ø€HØ€Eà
�‹,Ø—)‘)˜D /°3Ó7ˆØ�bŠ=Ø�A˜Ÿ	™	 $¨¸ÓAÑAÑAˆDØ"ˆLà�|Ñ#ˆØˆØ�‰Hˆà�‰<Ø�1‰HˆCØ—.‘.Ð!2°CÔ8Ø�q‘�ð —.‘.Ð!2°CÕ8à˜¨Ð,ˆEØ�M‰Mœ/¨$°¸Ó>Ô?ØØ�4‰i˜C !™G fÒ,°°S¸1±W±ÀÒ1DØ�#˜‘'‰lÐ7Ñ7Ü4°S¸#À¹'ÓB‰OˆE�3˜Ø�M‰MÔ+¨D°&¸%ÀÓEÔFØØ�^‰^˜E 3Ô'Ø�M‰Mœ, t¨V°UÓ;Ô<Ø�1‰HˆCÙÜ˜S #Õ&Ü'¨¨SÓ1‰JˆE�3Ø—>‘> # sÔ+Ø—‘œj¨¨v°uÓ=Ô>ÙØ�1‰HˆCðÜ$ UÓ+¨uÑ4�ñ Ø�Ø—n‘nÐ%6¸Ô@Ø˜q‘L�Gð —n‘nÐ%6¸Õ@à˜fÒ$¨¨G©¸JÑ(FÜ(4°S¸#Ó(>Ñ%�E˜3 ØÐ(Ø!%¤m°EÓ&:Ð%;¸1Ð=˜Ø Ð,Ø(-¨a©˜IØ(¨OÒ;Ø'+¨C¨R y¡à'0°LÒ'@Ð @Ð'@Ø'+¨C¨R y ØŸ™¤h¨t°V¸UÀDÓ&IÔJØÐ(ØŸ™¤j°°vÐ&FÀÒ&FÔGÙØˆIØ�M‰Mœ-¨¨f°e¸YÓGÔHØ�L‰L˜& (Ð+Ô,ØˆHØˆFÙä× Ñ   cÓ*ˆÙØ—)‘)“+ˆCØ˜¨Ð,ˆEÜ˜%“LˆEÜ*-¨e¯l©l«nÔ*=œ˜Eœ
À4ˆIØ�VŠ|¤°°SÔ 9Ü*¨3°Ó4‘	��cØ—‘œnØ˜& %¨°E¸4óAö Bà—‘  SÔ)Ø�q‘�Ø—‘œo¨d°F¸EÀ9ÈeÓTÖUà—‘œk¨$°¸¸yÈ%ÓPÖQØ�#ŠXØ�1‰HˆCØ�VŠ|¤°°SÔ 9Ü+¨C°Ó5‘
��sØ—‘œn¨T°6¸5ÓAÖBà—‘œl¨4°¸Ó=Ö>Ø�#ŠXØ�1‰HˆCØ�VŠ|Ø˜‘Hð !?ñ ?ä˜˜C™“M DÒ(à˜‘X Ò%¨c¯n©n¸VÀSÔ.IÜ /°°SÓ 9�Ü+¨C°Ó5‘
��sØ—‘œi¨¨f°e¸]ÓKÖLà—‘œl¨4°¸Ó=Ö>Ø�#ŠXØˆGØ�M‰MÔ,¨T°6¸7ÓCÔDØ�L‰L˜& (Ð+Ô,ØˆHØˆFØ�1‰HŠCØ�#ŠXØˆGØ�M‰MÔ-¨d°F¸GÓDÔEØ�L‰L˜& (Ð+Ô,ØˆHØˆFØ�1‰HŠCØ�#ŠXØˆGØ�M‰MÔ*¨4°¸ÓAÔBØ�L‰L˜& (Ð+Ô,ØˆHØˆFØ�1‰HŠCØ�(Š]ð  %Ÿy™y›{ÑˆF�HØ�1‰HŠCØ�%‰ZØ�M‰Mœ* T¨6°1°lÀQÑ6FÓGÔHØ�1‰HŠCØ�*‰_Ü 6°s¸CÓ @ÑˆE�3˜ØÐ ØÔ1°%Ó8Ð9¸Ð;�ØÐ$Ø  ˜9�DØ—‘œk¨$°¸¸tÓDÔEØÑ Ø—‘œj¨¨vÐ>¸Ò>Ö?Ø�^‰^˜D #Ô&Ø—(‘(˜4  q¡Ó)ˆCØ�bŠyÙ$Ø—M‘M¤'¨$°¸¸OÈaÑ<OÐ<PÐ8QÓ"RÔSØð( €Kñ' !Ø—‘œg d¨F°C¸È!Ñ8KÈCÐ4PÓQÔRØ�1‰H‰CØ�^‰^˜F CÔ(Ø�M‰Mœ, t¨V°VÓ<Ô=Ø�1‰H‰CØ�^‰^˜D #Ô&Ø�M‰Mœ, t¨V°TÓ:Ô;Ø�1‰H‰CØ�'‰\Ø�1‰HˆCØ�~‰~˜c 3Ô'Ø�q‘�Ø—‘œl¨4°¸¸S¹ÓAÕBà—‘œl¨4°¸Ó;Õ<à�M‰Mœ, t¨V°QÓ7Ô8Ø�1‰HˆCð �Œ,ð@ €Køô} &ò Ø“ðús   Ç^% Þ%^4Þ3^4c                 ó4   — | |   }|dv xs t        |«      dkD  S )z>Return true if the given character is a name-start code point.Ú5abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_r3   )rN   )rR   rV   r_   s      rm   Ú_is_name_startrq   Ì   s+   € ð 	ˆC‰€Aà	ÐDÐDò 	ÜˆA‹�‰ðó    c                 ó  — t        | |«      ry| |   dk(  rT|dz  }|t        | «      k  xr t        | |«      xs | |   dk(  xs' | j                  d|«      xr | j                  d|«       S | |   dk(  r| j                  d|«       S y)zCReturn True if the given position is the start of a CSS identifier.Tú-r   r4   r5   F)rq   r=   r@   )rR   rV   s     rm   rC   rC   Õ   s�   € ô �c˜3ÔØØ	ˆS‰�SŠØˆq‰ˆð ”3�s“8‰^ÒM¤°°SÓ!9Ò!L¸SÀ¹XÈ¹_ò Là�^‰^˜D #Ó&ÒJ¨s¯~©~¸fÀcÓ/JÐ+Jð		Mð
 
ˆS‰�TÒ	Ø—>‘> &¨#Ó.Ð.Ð.Ørr   c                 ób  — g }t        | «      }|}||k  ru| |   }|dv st        |«      dkD  r|dz  }nR|dk(  rL| j                  d|«      s:|j                  | || «       t	        | |dz   «      \  }}|j                  |«       |}nn||k  rŒu|j                  | || «       dj                  |«      |fS )ztReturn (unescaped_value, new_pos).

    Assumes pos starts at a valid identifier. See :func:`_is_ident_start`.

    z@abcdefghijklmnopqrstuvwxyz-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr3   r   r4   r5   Ú )r=   rN   r@   rA   Ú_consume_escapeÚjoin)rR   rV   ÚchunksrT   Ú	start_posr_   s         rm   rD   rD   æ   sÈ   € ð €FÜ�‹X€FØ€IØ
�Š,Ø�‰HˆØð .ñ /Ü25°a³&¸4²-Ø�1‰H‰CØ�$ŠY˜sŸ~™~¨f°cÔ:à�M‰M˜#˜i¨Ð,Ô-Ü$ S¨#°©'Ó2‰FˆAˆsØ�M‰M˜!ÔØ‰Iàð �‹,ð ‡M�M�#�i Ð$Ô%Ø�7‰7�6‹?˜CÐÐrr   c                 ó¼  — d}| |   }|dv sJ ‚|dz  }g }t        | «      }|}||k  r�| |   }||k(  r|j                  | || «       |dz  }n|dk(  rO|j                  | || «       |dz  }||k  r.| |   dk(  r|dz  }n t        | |«      \  }}|j                  |«       |}n|dk(  rd|dfS |dz  }||k  rŒ�d}|j                  | || «       dj                  |«      ||fS )	z"Return (unescaped_value, new_pos).Nr)   r   r4   r   )z
bad-stringzBad string token)r-   zEOF in stringrv   )r=   rA   rw   rx   )rR   rV   rd   Úquotery   rT   rz   r_   s           rm   rP   rP     s(  € ð €EØ�‰H€EØ�JÑÐÐØˆ1�H€CØ€FÜ�‹X€FØ€IØ
�Š,Ø�‰HˆØ�Š:Ø�M‰M˜#˜i¨Ð,Ô-Ø�1‰HˆCØØ�$ŠYØ�M‰M˜#˜i¨Ð,Ô-Ø�1‰HˆCØ�VŠ|Ø�s‘8˜tÒ#Ø˜1‘H‘Cä,¨S°#Ó6‘F�A�sØ—M‘M !Ô$à‰IØ�$ŠYØ˜Ð@Ð@Ð@à�1‰HˆCð) �‹,ð, 3ˆØ�‰�c˜) CÐ(Ô)Ø�7‰7�6‹?˜C Ð&Ð&rr   c                 ó  — t         j                  | |«      }|rTt        |j                  d«      d«      }d|cxk  rt        j
                  k  rn nt        |«      nd|j                  «       fS |t        | «      k  r
| |   |dz   fS d|fS )ztReturn (unescaped_char, new_pos).

    Assumes a valid escape: pos is just after '\' and not followed by '\n'.

    r   é   r   r   )	Ú_HEX_ESCAPE_RErH   rM   ÚgroupÚsysÚ
maxunicodeÚchrrI   r=   )rR   rV   Ú	hex_matchÚ	codepoints       rm   rw   rw   &  s„   € ô ×$Ñ$ S¨#Ó.€IÙÜ˜	Ÿ™¨Ó*¨BÓ/ˆ	à )Ô=¬s¯~©~Õ=ŒC�	ŒNÀ8Ø�M‰M‹Oðð 	ð 
Œs�3‹xŠØ�3‰x˜˜q™Ð Ð à˜ˆ}Ðrr   c                 óÔ  — d}t        | «      }| j                  d|«      r|dz  }| j                  d|«      rŒ||k\  rd|dfS | |   }|dv rt        | |«      \  }}}�n|dk(  rd|dz   |fS g }|}	 ||k\  r(|j                  | || «       dj	                  |«      |dfS | |   }|dk(  r-|j                  | || «       |dz  }dj	                  |«      ||fS |dv r+|j                  | || «       dj	                  |«      }|dz  }nc|d	k(  rL| j                  d
|«      s:|j                  | || «       t        | |dz   «      \  }}|j                  |«       |}n|dv rd}|dz  }n|dz  }Œö|�H| j                  d|«      r|dz  }| j                  d|«      rŒ||k  r| |   dk(  r||dz   |fS |€d}|||fS ||k  r1| j                  d|«      r|dz  }n| |   dk(  r|dz  }n|dz  }||k  rŒ1d|dfS )zgReturn (unescaped_url, new_pos)

    The given pos is assumed to be just after the '(' of 'url('.

    Nr    r   rv   )r/   z
EOF in URLr)   r,   r   r4   r5   z "'( z\)r$   )zbad-urlzbad URL token)r=   r@   rP   rA   rx   rw   )rR   rV   rd   rT   r_   r`   ry   rz   s           rm   rF   rF   9  s}  € ð €EÜ�‹X€Fð �.‰.Ð*¨CÔ
0Øˆq‰ˆð �.‰.Ð*¨CÕ
0à
ˆf‚}Ø�3Ð4Ð4Ð4ØˆC‰€AØˆJ�Ü2°3¸Ó<Ñˆˆs’EØ	
ˆcŠØ�3˜‘7˜EÐ!Ð!àˆØˆ	ØØ�fŠ}Ø—‘˜c )¨CÐ0Ô1Ø—w‘w˜v“¨Ð-IÐIÐIØ�C‘ˆAØ�CŠxØ—‘˜c )¨CÐ0Ô1Ø�q‘�Ø—w‘w˜v“¨¨UÐ2Ð2Ø�g‘Ø—‘˜c )¨CÐ0Ô1ØŸ™ ›�Ø�q‘�ØØ�d’ 3§>¡>°&¸#Ô#>à—‘˜c )¨CÐ0Ô1Ü(¨¨c°A©gÓ6‘��3Ø—‘˜aÔ Ø‘	Øð1ñ1ð �Ø�q‘�Øà�q‘�ð= ð@ ÐØ�n‰nÐ.°Ô4Ø�1‰HˆCð �n‰nÐ.°Õ4à�Š<Ø�3‰x˜3ŠØ˜c A™g uÐ,Ð,àˆ}Ø4�Ø˜#˜uÐ$Ð$ð �Š,Ø�>‰>˜% Ô%Ø�1‰H‰CØ�‰X˜Š_Ø�1‰HˆCØà�1‰HˆCð �‹,ð �Ð2Ð2Ð2rr   c                 óÒ  — t        | «      }|}t        |dz   |«      }||k  r| |   dv r|dz  }||k  r| |   dv rŒ| || }|}||k  r| |   dk(  r|dz  }||k  r	| |   dk(  rŒ||z
  }|r|d|z  z   }|d|z  z   }nV|dz   |k  rL| |   dk(  rD| |dz      dv r:|dz  }|}t        |dz   |«      }||k  r| |   dv r|dz  }||k  r| |   dv rŒ| || }n|}t        |d«      t        |d«      |fS )	zdReturn (range, new_pos)

    The given pos is assume to be just after the '+' of 'U+' or 'u+'.

    é   Ú0123456789abcdefABCDEFr   ú?ÚFÚ0rt   r~   )r=   ÚminrM   )rR   rV   rT   rz   Úmax_posra   Úquestion_marksrI   s           rm   rB   rB   †  s[  € ô �‹X€FØ€IÜ�#˜‘'˜6Ó"€GØ
�Š-˜C ™HÐ(@Ñ@Øˆq‰ˆð �Š-˜C ™HÐ(@Ò@à�	˜#Ð€Eà€Ià
�Š-˜C ™H¨šOØˆq‰ˆð �Š-˜C ™H¨›Oà˜9‘_€NáØ�c˜NÑ*Ñ*ˆØ˜˜nÑ,Ñ,‰Ø
�‰'�FÒ
˜s 3™x¨3šØ
ˆc�A‰g‰,Ð2Ñ
2Øˆq‰ˆØˆ	Ü�c˜A‘g˜vÓ&ˆØ�GŠm  C¡Ð,DÑ DØ�1‰HˆCð �GŠm  C¡Ð,DÒ Dà�)˜CÐ ‰àˆÜˆu�b‹>œ3˜s B›<¨Ð,Ð,rr   )F)$Úrer�   Úwebencodingsr   Úastr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   Ú
serializerr   r   ÚcompilerG   r   rn   rq   rC   rD   rP   rw   rF   rB   © rr   rm   ú<module>r–      s{   ðÛ 	Û 
å $÷÷ ÷ ÷ õ ÷
 >àˆR�Z‰ZÐCÓD€
Ø�—‘Ð9Ó:€óxòvòò" ò6"'òJò&J3óZ!-rr   