
    ?wge              
          d  Z d Zd Zd Zd Zd Z edD  cg c]  } dD ]  }| |f  c}} dD  cg c]  } d	D ]  }| |f  c}} z   d
D  cg c]  } dD ]  }| |f  c}} z   dD  cg c]  } dD ]  }| |f  c}} z   dD cg c]  }d|f c}z   dD cg c]  }d|f c}z   dD  cg c]  } | df c} z   g dz         Zyc c}} w c c}} w c c}} w c c}} w c c}w c c}w c c} w )c                 T    g }t        | |j                         dj                  |      S )a  Serialize nodes to CSS syntax.

    This should be used for :term:`component values`
    instead of just :meth:`tinycss2.ast.Node.serialize` on each node
    as it takes care of corner cases such as ``;`` between declarations,
    and consecutive identifiers
    that would otherwise parse back as the same token.

    :type nodes: :term:`iterable`
    :param nodes: An iterable of :class:`tinycss2.ast.Node` objects.
    :returns: A :obj:`string <str>` representing the nodes.

     )_serialize_toappendjoin)nodeschunkss     J/var/www/horilla/myenv/lib/python3.12/site-packages/tinycss2/serializer.py	serializer
      s%     F%'776?    c                    | dk(  ry| dd dk(  rdt        | dd       z   S | d   dk(  rd}| dd } nd}| d   }||d	v st        |      d
kD  r|n+|dk(  rdn$|dk(  rdn|dk(  rdn|dv rdt        |      z  nd|z   z  }|t        | dd       z  }|S )aX  Serialize any string as a CSS identifier

    :type value: :obj:`str`
    :param value: A string representing a CSS value.
    :returns:
        A :obj:`string <str>` that would parse as an
        :class:`tinycss2.ast.IdentToken` whose
        :attr:`tinycss2.ast.IdentToken.value` attribute equals the passed
        ``value`` argument.

    -z\-N   z--       r   5abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ   
\A \D \C 
0123456789z\%X \)serialize_nameord)valueresultcs      r	   serialize_identifierr       s     |RayDnU12Y///Qx3ab	aA
 0 147FTM 	
t)t)t)-#a&qF nU12Y''FMr   c                 2    dj                  d | D              S )Nr   c              3   x   K   | ]2  }|d v st        |      dkD  r|n|dk(  rdn|dk(  rdn|dk(  rdnd|z    4 y	w)
z@abcdefghijklmnopqrstuvwxyz-_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZr   r   r   r   r   r   r   r   N)r   .0r   s     r	   	<genexpr>z!serialize_name.<locals>.<genexpr>:   s[         0 147FTM 	
t)t)t)q	s   8:r   r   s    r	   r   r   9   "    77    r   c                 2    dj                  d | D              S )Nr   c              3   f   K   | ])  }|d k(  rdn|dk(  rdn|dk(  rdn|dk(  rdn|dk(  rd	n| + y
w)"\"r   \\r   r   r   r   r   r   N r#   s     r	   r%   z)serialize_string_value.<locals>.<genexpr>F   sL        cdt)t)t)		
s   /1r&   r'   s    r	   serialize_string_valuer/   E   r(   r   c                 2    dj                  d | D              S )Nr   c              3      K   | ]L  }|d k(  rdn@|dk(  rdn9|dk(  rdn2|dk(  rdn+|dk(  rd	n$|d
k(  rdn|dk(  rdn|dk(  rdn|dk(  rdn|dk(  rdn| N yw)'z\'r+   r,   r   r-    z\ 	z\9 r   r   r   r   r   r   (z\()z\)Nr.   r#   s     r	   r%   z serialize_url.<locals>.<genexpr>R   sy        ccdct)t)t)t)cc	
	
s   AAr&   r'   s    r	   serialize_urlr7   Q   s"    77    r   c                 (   t         }d}| D ]  }|j                  dk7  r|j                  n|j                  }||f|v r	 |d       n-|dk(  r(|dk(  r|j                  j                  d      s |d       |j	                  |       |dk(  r |d       |} y)	zSerialize an iterable of nodes to CSS syntax.

    White chunks as a string by calling the provided :obj:`write` callback.

    Nliteralz/**/r   
whitespacer   declaration;)	BAD_PAIRStyper   
startswithr   )r   write	bad_pairsprevious_typenodeserialization_types         r	   r   r   c   s     IM ++/99	+Adii#':: 	-.);&Md""l2

%%d+$K5!.#J*+r   )ident
at-keywordhash	dimension#r   number)rE   functionurlrJ   
percentagerH   unicode-range)rE   rF   rG   rH   )r   z-->)rI   r   rJ   @)rE   rK   rL   )rN   .+)rJ   rM   rH   )rE   rK   rL   rN   r   rO   )rE   rK   ?rN   z$*^~|=))rE   z() block)|rT   )/*N)r
   r    r   r/   r7   r   setr=   )abs   00r	   <module>rZ      so  &"J		$+. Q101 V 1V 1
 > V V 	 +/-/ V /V /	/ -868 V 8V 88 JJ!c1XJK $>>aoq>? !aX   4!4	1/8 K>s(   C
CC,CC
C$
-C)
