U
    YSh c                     @   s  d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
 ddlmZmZmZmZmZmZmZmZ ddlmZ dddd	gZd
ZdZdZdZdZdZdZdZdZdZ ee e e e  Z!G dd deZ"defdej#fdej$dfdej%fe	ed ddej&fe	eddej'fe	dddej(fdej)fdej*fd ej+fd!ej,d"fd#ej-fd$ej.fd%eej/ej0fd&eej1ej0fd'ej2d(fd)efd*efd+ej3d,fd-ej-d.fd/efgd0ej2d1fed2gdefd3ej4d4fd5ej5d6fd7ej6d8fd9ej7fd'ej2d(fd:efd;efd+ej3d,fd-ej-d.fg
d<ej3fd'ej2d(fd+ej3d1fgd=ej-fd'ej2d(fd-ej-d1fgd>ej$fd'ej2d(fd?ej$d1fgd9ej4fd'ej2d(fed1gd9ej5fd'ej2d(fed1gd9ej6fd'ej2d(fed1gd@ej+fed2gdA
Z8dBdC Z9dDdE Z:G dFd deZ;G dGd deZ<G dHd	 d	e"Z=dS )Iz
    pygments.lexers.css
    ~~~~~~~~~~~~~~~~~~~

    Lexers for CSS and related stylesheet formats.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexer
RegexLexerincludebygroupsdefaultwordsinherit)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)_css_propertiesCssLexer	SassLexer	ScssLexerLessCssLexer)z-ms-zmso-z-moz-z-o-z-xv-z-atsc-z-wap-z-khtml-z-webkit-zprince-z-ah-z-hp-z-ro-z-rim-z-tc-)Z	aliceblueZantiquewhiteaquaZ
aquamarineZazureZbeigeZbisqueblackZblanchedalmondblueZ
bluevioletZbrownZ	burlywoodZ	cadetblueZ
chartreuseZ	chocolateZcoralZcornflowerblueZcornsilkZcrimsoncyanZdarkblueZdarkcyanZdarkgoldenrodZdarkgrayZ	darkgreenZdarkgreyZ	darkkhakiZdarkmagentaZdarkolivegreenZ
darkorangeZ
darkorchidZdarkredZ
darksalmonZdarkseagreenZdarkslateblueZdarkslategrayZdarkslategreyZdarkturquoiseZ
darkvioletZdeeppinkZdeepskyblueZdimgrayZdimgreyZ
dodgerblueZ	firebrickZfloralwhiteZforestgreenfuchsiaZ	gainsboroZ
ghostwhiteZgoldZ	goldenrodgraygreenZgreenyellowZgreyZhoneydewZhotpinkZ	indianredZindigoZivoryZkhakiZlavenderZlavenderblushZ	lawngreenZlemonchiffonZ	lightblueZ
lightcoralZ	lightcyanZlightgoldenrodyellowZ	lightgrayZ
lightgreenZ	lightgreyZ	lightpinkZlightsalmonZlightseagreenZlightskyblueZlightslategrayZlightslategreyZlightsteelblueZlightyellowlimeZ	limegreenZlinenmagentamaroonZmediumaquamarineZ
mediumblueZmediumorchidZmediumpurpleZmediumseagreenZmediumslateblueZmediumspringgreenZmediumturquoiseZmediumvioletredZmidnightblueZ	mintcreamZ	mistyroseZmoccasinZnavajowhitenavyZoldlaceoliveZ	olivedrabZorangeZ	orangeredorchidZpalegoldenrodZ	palegreenZpaleturquoiseZpalevioletredZ
papayawhipZ	peachpuffperuZpinkZplumZ
powderbluepurpleZrebeccapurpleredZ	rosybrownZ	royalblueZsaddlebrownZsalmonZ
sandybrownZseagreenZseashellZsiennasilverZskyblueZ	slateblueZ	slategrayZ	slategreyZsnowZspringgreenZ	steelbluetantealZthistletomatoZ	turquoisevioletZwheatwhiteZ
whitesmokeyellowZyellowgreentransparent(,  absolutealiasallzall-petite-capsz
all-scrollzall-small-capsz	allow-endalphaZ	alternatezalternate-reversealwaysarmenianautoavoidzavoid-columnz
avoid-pageZ	backwardsZbalancebaselinebelowblinkblockboldbolderz
border-boxbothbottomzbox-decorationz
break-word
capitalizecellcentercircleZclipcloneclose-quotez
col-resizecollapsecolorz
color-burnzcolor-dodgecolumnzcolumn-reversecompact	condensedZcontain	containerzcontent-boxzcontext-menucopyZcoverzcrisp-edges	crosshairZcurrentColorcursiveZdarkendasheddecimaldecimal-leading-zeror   Zdescendants
differencedigitsdiscZ
distributedotdotteddoublezdouble-circlee-resizez	each-lineZeasezease-inzease-in-outzease-outedgesellipsisendz	ew-resizeZ	exclusionexpandedextra-condensedextra-expandedfantasyfillzfill-boxZfilledfirstfixedZflatZflexzflex-endz
flex-startflipz	force-endZforwardsz
from-imagez
full-widthZgeometricPrecisiongeorgiangrooveZhangingz
hard-lighthelphiddenhide
horizontalhueiconZinfiniter   initialZinkinlinezinline-blockzinline-flexinline-tableinsetinsidez
inter-wordinvertZisolateitalicjustifylargelargerlastleftZlightenlighterline-throughZlinear	list-itemlocallooselower-alphalower-greekzlower-latinlower-roman	lowercaseltrZ	luminanceZ
luminosity	mandatoryZmanipulationZmanualz
margin-boxzmatch-parentmediummixed	monospacemovemultiplyn-resize	ne-resizeznesw-resizeno-close-quotezno-dropno-open-quote	no-repeatnonenormalznot-allowednowrapz	ns-resize	nw-resizeznwse-resizeobjectsobliqueoffonopen
open-quoteZoptimizeLegibilityZoptimizeSpeedoutsetoutsideZoveroverlayoverlinezpadding-boxpagezpan-downzpan-leftz	pan-rightzpan-upzpan-xzpan-yZpausedzpetite-capsZ	pixelatedpointerzpreserve-3dprogressZ	proximityrelativerepeatzrepeat no-repeatrepeat-xrepeat-yreverserevertridgerightroundrowz
row-resizezrow-reversertlrubyz	ruby-basezruby-base-containerz	ruby-textzruby-text-containerzrun-inrunnings-resize
sans-serif
saturationz
scale-downscreenscroll	se-resizesemi-condensedsemi-expandedseparateserifZsesameshowZsidewayszsideways-leftzsideways-rightsliceZsmall
small-capssmallerZsmoothZsnapz
soft-lightsolidspacezspace-aroundzspace-betweenspacessquarestartstaticzstep-endz
step-startZstickyZstretchstrictz
stroke-boxstyle	sw-resizetabletable-caption
table-celltable-columntable-column-grouptable-footer-grouptable-header-group	table-rowtable-row-grouptextthickthinztitling-capstotoptriangleultra-condensedultra-expandedZunder	underlineZunicaseZunsetupper-alphaupper-latinupper-roman	uppercaseZuprightzuse-glyph-orientationverticalzvertical-textzview-boxvisiblew-resizewaitZwavyweightzweight stylewrapzwrap-reversex-largex-smallxx-largexx-smallzzoom-inzzoom-out)9aboveauralbehindbidi-overridecenter-leftcenter-rightcjk-ideographic
continuouscropcrossembedfar-left	far-rightfastfasterhebrewhighhigherhiraganahiragana-irohakatakanakatakana-iroha	landscape	left-side	leftwardslevelloudlowlowermessage-boxmiddlemixnarroweronceportrait
right-side
rightwardssilentslowslowersmall-captionsoft	spell-out
status-barsupertext-bottomtext-topwiderx-fastx-highx-loudx-lowx-softyesprezpre-wrapzpre-line)?attrZ	blacknessblendZblendaZblurZ
brightnesscalcrA   z	color-modZcontrastcounterzcubic-bezierzdevice-cmykzdrop-shadowZellipser   Z	grayscaleZhslZhslarh   z
hue-rotateZhwbimagerm   ro   Z	lightnesszlinear-gradientmatrixZmatrix3dZopacityZperspectiveZpolygonzradial-gradientrectzrepeating-linear-gradientzrepeating-radial-gradientrgbZrgbarotateZrotate3dZrotateXZrotateYZrotateZZsaturater   scaleZscale3dZscaleXZscaleYZscaleZZsepiaZshadeZskewXZskewYZstepsZtinttoggle	translateZtranslate3dZ
translateXZ
translateYZ
translateZZ	whiteness)degZgradZradZturn)ZHzZkHz)ZemexchremZvhZvwZvminZvmaxpxmmcminptZpcq)ZdpiZdpcmZdppx)smsc                   @   s@  e Zd ZdZdZdZdgZdgZdgZdZ	e
dgd	efd
efdedfdeeejfdeeejfdeeejfdeeedfdejfdefdejfdejfgdedfdedfe
dge
ddedfgd	efdedfdefdejfeeejfdde d eeeedfd eejeedfd!eeeedfd
efg	d	efeeej jfe
d"dde! d# eej ed$fd%eej"ed$fee#d&d'ej$fee%d&d'ej$fee&d&d'ej$feed&d'efd(ejfd
efe
d)d*efd+efdejfdejfd,efdedfdedfgd	efd-ejfe
d"eeejfee#d&d'ej$fee%d&d'ej$fee&d&d'ej$fdde! d# eej ed$fd%eej"ed$fd
efe
d)d.efd/efdejfdejfd0efd1edfgd2eej eejefd3eej eejefd4eej eej'efgd5e(j)fd6e(j*d7fd8e(j+d7fgee,d&d'ej-fd9ej-fe.dgd:
Z/d;S )<r   z+
    For CSS (Cascading Style Sheets).
    CSSzhttps://www.w3.org/TR/CSS/#csscssz*.cssztext/css basics\s+z/\*(?:.|\n)*?\*/\{contentz(\:{1,2})([\w-]+)z(\.)([\w-]+)z(\#)([\w-]+)z(@)([\w-]+)atrule[\w-]+z[~^*!%&$\[\]()<>|+=@:;,./?-]z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*'	atcontent;#pop\}z#pop:2z^@.*?$(|z
)(\s*)(\:)value-startz([-]+[a-zA-Z_][\w-]*)(\s*)(\:)z([a-zA-Z_][\w-]*)(\s*)(\:)urlsz)(\()function-startz([a-zA-Z_][\w-]+)(\()\bsuffixz\!importantnumeric-valuesz[~^*!%&<>|+=@:./?-]+z
[\[\](),]+z[a-zA-Z_][\w-]*z[-]+([A-Za-z][\w+]*[-]*)+z[*+/-],z[a-zA-Z_-]\w*\)z(url)(\()(".*?")(\))z(url)(\()('.*?')(\))z(url)(\()(.*?)(\))z\#[a-zA-Z0-9]{1,6}z[+\-]?[0-9]*[.][0-9]+numeric-endz[+\-]?[0-9]+%)
rootr2  r6  r8  r5  r>  r@  r?  rD  rG  N)0__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedr   r   r	   r   r   r   	DecoratorClass	Namespacer   Tagr
   r   DoubleSinglePreprocr   _vendor_prefixesPseudojoinr   VariableBuiltin#_functional_notation_keyword_valuesFunction_keyword_valuesConstant_other_keyword_values_color_keywordsOtherr   HexFloatInteger
_all_unitsTyper   tokens rm  rm  F/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/css.pyr      s   
 
 
 
 
 
 
 
 	

[ \t]+z
[!$][\w-]+zurl\(
string-urlz[a-z_-][\w-]*(?=\())r   r.   r2   r3   r   r4   r5   r6   r   r7   r   r8   r9   r:   r;   r<   r>   r   r   r@   rA   r   rC   rD   rH   r   rK   r   rL   rM   rO   rN   r   rQ   rR   rT   rU   rV   r   r[   r\   rZ   r]   r   r   r   r   r`   rb   rc   r   rd   re   rf   r   r   r   r   ri   r   rl   rk   rm   rn   ro   rp   rq   r   r   r   rs   rr   r   r   r   rv   rw   rx   r   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r  r'  r   r   r   r   r  r   r  r  r   r   r   r   r   r   r   r   r   r  r  r  r   r  r   r	  r   r
  r   r   r  r  r   r   r   r   r   r   r   r   r   r   r  r  r   r   r-   r   r   r   r   r   r   r   rO  r   r   r   r  r  r  r   r  r  r   r  r   r   r  rA  rB  )r   r&   r   r+   r   r%   r$   r   r   r   r!   r,   r    r   r(   r   z\!(important|default)z(true|false)z(and|or|not)z/\*inline-comment//[^\n]*z\#[a-z0-9]{1,6}z(-?\d+)(\%|[a-z]+)?z(-?\d*\.\d+)(\%|[a-z]+)?#\{interpolationz[~^*!&%<>|+=@:,./?-]+z	[\[\]()]+"string-double'string-singlez[a-z_-][\w-]*r;  r:  valuez\:pseudo-classz\.classz\#idr7  &z[~^*!&\[\]()<>|+=@:;,./?-]z(\\.|#(?=[^\n{])|[^\n"#])+z(\\.|#(?=[^\n{])|[^\n'#])+z(\\#|#(?=[^\n{])|[^\n#)])+rF  z(from|to|through))
ry  rt  selectorrv  rx  rp  rz  r{  r|  forc                 c   s|   | d}| t|fV  ||_| |_t|dr`|jr`||j	r`||j	kr`|j
|j nd |_d |_	|j
d d S )Nr   block_stater5  )groupr   r   last_indentationrY   poshasattrr  
startswithblock_indentationstackappend)lexermatchctxindentationrm  rm  rn  _indentation  s    


r  c                    s    fdd}|S )Nc                 3   sD   |  |dfV  t|dr*|j|_nd|_ |_| |_d S )Nr   r  r1  )r   r  r  r  r  r  rY   r  )r  r  r  statetokenrm  rn  callback  s    

z_starts_block.<locals>.callbackrm  )r  r  r  rm  r  rn  _starts_block  s    r  c                   @   s  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zdefd	efgd
eejddfdeejddfdedfdedfdedfdeeeejdfdeeeejdfdedfdedfdejdfdejdfdeejedfdejdfdejd fedgd!ejfd"edfgd!ejfd"edfgd#efd$efd"edfgd%ejfd&ejd'fd(eeedfedgd%ejfd&ejd'fd)eeedfgd*ejfd&ejd'fd+ed,fgd-Ze ! D ]\Z"Z#e$$e#ee"< qed %d"edf ed %d"edf d.S )/r   z
    For Sass stylesheets.
    Sasshttps://sass-lang.com/sassz*.sassztext/x-sassz1.3z[ \t]*\nz[ \t]*rr  single-commentrI  z	/\*[^\n]*multi-comment@importimport@forr  @(debug|warn|if|while)ry  z(@mixin)( )([\w-]+)z(@include)( )([\w-]+)@extendr~  @[\w-]+z=[\w-]+z\+[\w-]+z&([!$][\w-]\w*)([ \t]*(?:(?:\|\|)?=|:)):old-style-attrz(?=.+?[=:]([^a-z]|$))new-style-attrz.+\nro  z\S+[^\s:="\[]+rs  rt  z([ \t]*)(=)z([ \t]*)([=:])z'(\\#|#(?=[^\n{])|\*(?=[^\n/])|[^\n#*])+\*/r:  )rI  r5  r  r  r  r  r  rq  N)&rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  re
IGNORECASE	MULTILINEflagsr   r  r  r	   rY  	Multiliner   r   r   ra  rT  r^  r
   	Attributer   r   Interpolrl  common_sass_tokensitemsr  commonrJ   r  rm  rm  rm  rn  r     s|   


 




>c                   @   s\  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zdefd	ejfd
ejfdedfdedfdedfdeeejdfdeeejdfdedfdeeedfdedfdeejedfedgdejfdejdfdedfedgdejfdejdfdedfgdZe D ]\Z Z!e""e!ee < qed #defd e$dfg ed #defd e$dfg d!S )"r   z
    For SCSS stylesheets.
    SCSSr  scssz*.scssztext/x-scssr1  r3  z//.*?\nz	/\*.*?\*/r  ry  r  r  r  z(@mixin)( [\w-]+)z(@include)( [\w-]+)r  r~  z(@media)(\s+)r  z(\$[\w-]*\w)([ \t]*:)r  rs  rt  z[ \t]*:r:  z!(\\#|#(?=[^{])|\*(?=[^/])|[^#*])+r  )rI  r  rq  r  z[;{}]N)%rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  r  r  DOTALLr  r   r	   rY  r  r   r   r   ra  rT  r^  r
   r   r  r   r  rl  r  r  r  r  rJ   extendr   rm  rm  rm  rn  r     sH   

!c                   @   sT   e Zd ZdZdZdZdgZdgZdgZdZ	de
jfegd	ed
fdejfegdZdS )r   z
    For LESS styleshets.
    LessCsszhttp://lesscss.org/lessz*.lessztext/x-less-cssz2.1z@\w+r4  z#pushz//.*\n)rI  r5  N)rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  r   r^  r   r   r	   rY  rl  rm  rm  rm  rn  r   D  s   )>rM  r  rJ   Zpygments.lexerr   r   r   r   r   r   r   Zpygments.tokenr	   r
   r   r   r   r   r   r   Zpygments.lexers._css_builtinsr   __all__r[  re  rb  rd  r`  Z_angle_unitsZ_frequency_unitsZ_length_unitsZ_resolution_unitsZ_time_unitsrj  r   r^  rf  ra  rc  Entityr_  	Exceptionr\  Wordr  rY  rg  ri  rk  rh  r  rX  rT  rU  rV  rW  r  r  r  r   r   r   rm  rm  rm  rn  <module>   s   
$(!7





:















wR4