Skip to main content

css_ast/
css_atom_set.rs

1pub use css_lexer::AtomSet;
2use derive_atom_set::AtomSet;
3
4/// Atoms used by the CSS AST, extending the lexer's atom set with additional CSS-specific atoms.
5///
6/// # Examples
7///
8/// ```rust
9/// use css_ast::CssAtomSet;
10/// use css_parse::AtomSet;
11///
12/// assert_eq!(CssAtomSet::from_str("px"), CssAtomSet::Px);
13/// assert_eq!(CssAtomSet::from_str("%"), CssAtomSet::Percentage);
14/// assert_eq!(CssAtomSet::Px.to_str(), "px");
15/// assert_eq!(CssAtomSet::Percentage.to_str(), "%");
16/// ```
17#[derive(AtomSet, Debug, Default, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
18pub enum CssAtomSet {
19	#[default]
20	_None,
21
22	Cap,
23	Ch,
24	Cm,
25	Cqb,
26	Cqh,
27	Cqi,
28	Cqmax,
29	Cqmin,
30	Cqw,
31	Db,
32	Deg,
33	Dpcm,
34	Dpi,
35	Dppx,
36	Dvb,
37	Dvh,
38	Dvi,
39	Dvmax,
40	Dvmin,
41	Dvw,
42	Em,
43	Ex,
44	Fr,
45	Grad,
46	Hz,
47	Ic,
48	In,
49	Khz,
50	Lh,
51	Lvb,
52	Lvh,
53	Lvi,
54	Lvmax,
55	Lvmin,
56	Lvw,
57	Mm,
58	Ms,
59	Pc,
60	#[atom("%")]
61	Percentage,
62	Pt,
63	Px,
64	Q,
65	Rad,
66	Rcap,
67	Rch,
68	Rem,
69	Rex,
70	Ric,
71	Rlh,
72	S,
73	Svb,
74	Svh,
75	Svi,
76	Svmax,
77	Svmin,
78	Svw,
79	Turn,
80	Vb,
81	Vh,
82	Vi,
83	Vmax,
84	Vmin,
85	Vw,
86	X,
87
88	// n- is _not_ a dimension, but it needs to be in the lower bitset to ensure that if
89	// nth parses a Dimension that `n-` can be compared without hitting a debug_assert!
90	#[atom("n-")]
91	_NDash = 127,
92
93	// ^^^ Only dimensions go above here! ^^^
94
95	// CSS Keywords
96	A,
97	A98Rgb,
98	Abbr,
99	Abs,
100	Absolute,
101	AbsoluteColorimetric,
102	AccentColor,
103	Accentcolor,
104	Accentcolortext,
105	Accumulate,
106	Acronym,
107	Activate,
108	Active,
109	Activetext,
110	Add,
111	Additive,
112	AdditiveSymbols,
113	Address,
114	After,
115	Alias,
116	Aliceblue,
117	AlignContent,
118	AlignItems,
119	AlignSelf,
120	AlignmentBaseline,
121	All,
122	AllPetiteCaps,
123	AllScroll,
124	AllSmallCaps,
125	AllowDiscrete,
126	AllowEnd,
127	AllowKeywords,
128	Alpha,
129	Alphabetic,
130	Alternate,
131	AlternateReverse,
132	Always,
133	AnchorName,
134	AnchorScope,
135	AnchorValid,
136	AnchorVisible,
137	And,
138	Animate,
139	Animatemotion,
140	Animatetransform,
141	Animation,
142	AnimationComposition,
143	AnimationDelay,
144	AnimationDirection,
145	AnimationDuration,
146	AnimationFillMode,
147	AnimationIterationCount,
148	AnimationName,
149	AnimationPlayState,
150	AnimationRange,
151	AnimationRangeCenter,
152	AnimationRangeEnd,
153	AnimationRangeStart,
154	AnimationTimeline,
155	AnimationTimingFunction,
156	AnimationTrigger,
157	AnimationTriggerBehavior,
158	AnimationTriggerExitRange,
159	AnimationTriggerExitRangeEnd,
160	AnimationTriggerExitRangeStart,
161	AnimationTriggerRange,
162	AnimationTriggerRangeEnd,
163	AnimationTriggerRangeStart,
164	AnimationTriggerTimeline,
165	Annotation,
166	AnnotationXml,
167	Antialiased,
168	Antiquewhite,
169	AnyHover,
170	AnyLink,
171	AnyPointer,
172	Anywhere,
173	Appearance,
174	Applet,
175	Apply,
176	Approx,
177	Aqua,
178	Aquamarine,
179	ArabicIndic,
180	Arcs,
181	Area,
182	Arg,
183	Armenian,
184	Around,
185	Article,
186	AscentOverride,
187	Aside,
188	Asin,
189	AspectRatio,
190	Atan,
191	Atan2,
192	Attr,
193	Audio,
194	Auto,
195	AutoPhrase,
196	Autofill,
197	Avoid,
198	AvoidColumn,
199	AvoidFlex,
200	AvoidLine,
201	AvoidOrphans,
202	AvoidPage,
203	AvoidRegion,
204	Azure,
205	B,
206	Back,
207	Backdrop,
208	BackdropFilter,
209	BackfaceVisibility,
210	Background,
211	BackgroundAttachment,
212	BackgroundBlendMode,
213	BackgroundClip,
214	BackgroundColor,
215	BackgroundImage,
216	BackgroundOrigin,
217	BackgroundPosition,
218	BackgroundPositionBlock,
219	BackgroundPositionInline,
220	BackgroundPositionX,
221	BackgroundPositionY,
222	BackgroundRepeat,
223	BackgroundRepeatBlock,
224	BackgroundRepeatInline,
225	BackgroundRepeatX,
226	BackgroundRepeatY,
227	BackgroundSize,
228	Backwards,
229	Balance,
230	BalanceAll,
231	Bar,
232	Base,
233	BasePalette,
234	BaseSelect,
235	Basefont,
236	Baseline,
237	BaselineShift,
238	BaselineSource,
239	Bdi,
240	Bdo,
241	Before,
242	Beige,
243	Bengali,
244	Between,
245	Bevel,
246	Bgsound,
247	BidiOverride,
248	Big,
249	Bind,
250	Bisque,
251	Black,
252	Blanchedalmond,
253	Blank,
254	Bleed,
255	Bicubic,
256	Blink,
257	Block,
258	BlockAxis,
259	BlockEllipsis,
260	BlockEnd,
261	BlockSize,
262	BlockStart,
263	BlockStep,
264	BlockStepAlign,
265	BlockStepInsert,
266	BlockStepRound,
267	BlockStepSize,
268	Blockquote,
269	Blue,
270	Blueviolet,
271	Blur,
272	Body,
273	Bold,
274	Bolder,
275	BookmarkLabel,
276	BookmarkLevel,
277	BookmarkState,
278	Border,
279	BorderArea,
280	BorderBlock,
281	BorderBlockClip,
282	BorderBlockColor,
283	BorderBlockEnd,
284	BorderBlockEndClip,
285	BorderBlockEndColor,
286	BorderBlockEndRadius,
287	BorderBlockEndStyle,
288	BorderBlockEndWidth,
289	BorderBlockStart,
290	BorderBlockStartClip,
291	BorderBlockStartColor,
292	BorderBlockStartRadius,
293	BorderBlockStartStyle,
294	BorderBlockStartWidth,
295	BorderBlockStyle,
296	BorderBlockWidth,
297	BorderBottom,
298	BorderBottomClip,
299	BorderBottomColor,
300	BorderBottomLeftRadius,
301	BorderBottomRadius,
302	BorderBottomRightRadius,
303	BorderBottomStyle,
304	BorderBottomWidth,
305	BorderBoundary,
306	BorderBox,
307	BorderClip,
308	BorderClipBottom,
309	BorderClipLeft,
310	BorderClipRight,
311	BorderClipTop,
312	BorderCollapse,
313	BorderColor,
314	BorderEndEndRadius,
315	BorderEndStartRadius,
316	BorderImage,
317	BorderImageOutset,
318	BorderImageRepeat,
319	BorderImageSlice,
320	BorderImageSource,
321	BorderImageWidth,
322	BorderInline,
323	BorderInlineClip,
324	BorderInlineColor,
325	BorderInlineEnd,
326	BorderInlineEndClip,
327	BorderInlineEndColor,
328	BorderInlineEndRadius,
329	BorderInlineEndStyle,
330	BorderInlineEndWidth,
331	BorderInlineStart,
332	BorderInlineStartClip,
333	BorderInlineStartColor,
334	BorderInlineStartRadius,
335	BorderInlineStartStyle,
336	BorderInlineStartWidth,
337	BorderInlineStyle,
338	BorderInlineWidth,
339	BorderLeft,
340	BorderLeftClip,
341	BorderLeftColor,
342	BorderLeftRadius,
343	BorderLeftStyle,
344	BorderLeftWidth,
345	BorderLimit,
346	BorderRadius,
347	BorderRight,
348	BorderRightClip,
349	BorderRightColor,
350	BorderRightRadius,
351	BorderRightStyle,
352	BorderRightWidth,
353	BorderShape,
354	BorderSpacing,
355	BorderStartEndRadius,
356	BorderStartStartRadius,
357	BorderStyle,
358	BorderTop,
359	BorderTopClip,
360	BorderTopColor,
361	BorderTopLeftRadius,
362	BorderTopRadius,
363	BorderTopRightRadius,
364	BorderTopStyle,
365	BorderTopWidth,
366	BorderWidth,
367	Both,
368	BothBlock,
369	BothEdges,
370	BothInline,
371	Bottom,
372	BottomCenter,
373	BottomLeft,
374	BottomLeftCorner,
375	BottomRight,
376	BottomRightCorner,
377	BottomToTop,
378	BoundingBox,
379	Box,
380	BoxDecorationBreak,
381	BoxShadow,
382	BoxShadowBlur,
383	BoxShadowColor,
384	BoxShadowOffset,
385	BoxShadowPosition,
386	BoxShadowSpread,
387	BoxSizing,
388	BoxSnap,
389	Br,
390	Break,
391	BreakAfter,
392	BreakAll,
393	BreakBefore,
394	BreakInside,
395	BreakSpaces,
396	BreakWord,
397	Brightness,
398	Brown,
399	Browser,
400	Buffering,
401	Bullets,
402	Burlywood,
403	Butt,
404	Button,
405	Buttonborder,
406	Buttonface,
407	Buttontext,
408	Bvar,
409	C,
410	Cadetblue,
411	Calc,
412	CalcSize,
413	Cambodian,
414	Canvas,
415	Canvastext,
416	CapHeight,
417	Capitalize,
418	Caption,
419	CaptionSide,
420	Card,
421	Caret,
422	CaretAnimation,
423	CaretColor,
424	CaretShape,
425	Cartesianproduct,
426	Cbytes,
427	Ceiling,
428	Cell,
429	Center,
430	Central,
431	Cerror,
432	ChWidth,
433	Chain,
434	Charset,
435	Chartreuse,
436	Checkbox,
437	Checked,
438	Checkmark,
439	Child,
440	Chocolate,
441	Ci,
442	Circle,
443	Cite,
444	CjkDecimal,
445	CjkEarthlyBranch,
446	CjkHeavenlyStem,
447	Clamp,
448	Clear,
449	Click,
450	Clip,
451	ClipPath,
452	ClipRule,
453	Clippath,
454	Clone,
455	CloseQuote,
456	Closed,
457	ClosestCorner,
458	ClosestSide,
459	Cn,
460	Coarse,
461	Code,
462	Codomain,
463	Col,
464	ColResize,
465	Colgroup,
466	Collapse,
467	Color,
468	ColorAdjust,
469	ColorBurn,
470	ColorDodge,
471	ColorGamut,
472	ColorIndex,
473	ColorInterpolation,
474	ColorInterpolationFilters,
475	ColorMix,
476	ColorProfile,
477	ColorScheme,
478	Column,
479	ColumnCount,
480	ColumnFill,
481	ColumnGap,
482	ColumnHeight,
483	ColumnOverRow,
484	ColumnReverse,
485	ColumnRule,
486	ColumnRuleBreak,
487	ColumnRuleColor,
488	ColumnRuleEdgeInset,
489	ColumnRuleEdgeInsetEnd,
490	ColumnRuleEdgeInsetStart,
491	ColumnRuleInset,
492	ColumnRuleInsetCap,
493	ColumnRuleInsetCapEnd,
494	ColumnRuleInsetCapStart,
495	ColumnRuleInsetEnd,
496	ColumnRuleInsetJunction,
497	ColumnRuleInsetJunctionEnd,
498	ColumnRuleInsetJunctionStart,
499	ColumnRuleInsetStart,
500	ColumnRuleInteriorInset,
501	ColumnRuleInteriorInsetEnd,
502	ColumnRuleInteriorInsetStart,
503	ColumnRuleOutset,
504	ColumnRuleStyle,
505	ColumnRuleVisibilityItems,
506	ColumnRuleWidth,
507	ColumnSpan,
508	ColumnWidth,
509	ColumnWrap,
510	Columns,
511	CommonLigatures,
512	Compact,
513	Components,
514	Compose,
515	Compress,
516	Condensed,
517	Condition,
518	Conjugate,
519	Consistent,
520	Constrained,
521	Contain,
522	ContainIntrinsicBlockSize,
523	ContainIntrinsicHeight,
524	ContainIntrinsicInlineSize,
525	ContainIntrinsicSize,
526	ContainIntrinsicWidth,
527	Container,
528	ContainerName,
529	ContainerType,
530	Content,
531	ContentBlockSize,
532	ContentBox,
533	ContentHeight,
534	ContentInlineSize,
535	ContentVisibility,
536	ContentWidth,
537	Contents,
538	ContextMenu,
539	Contextual,
540	Continue,
541	Contrast,
542	Copy,
543	CopyInto,
544	Coral,
545	Corner,
546	CornerBlockEnd,
547	CornerBlockEndShape,
548	CornerBlockStart,
549	CornerBlockStartShape,
550	CornerBottom,
551	CornerBottomLeft,
552	CornerBottomLeftShape,
553	CornerBottomRight,
554	CornerBottomRightShape,
555	CornerBottomShape,
556	CornerEndEnd,
557	CornerEndEndShape,
558	CornerEndStart,
559	CornerEndStartShape,
560	CornerInlineEnd,
561	CornerInlineEndShape,
562	CornerInlineStart,
563	CornerInlineStartShape,
564	CornerLeft,
565	CornerLeftShape,
566	CornerRight,
567	CornerRightShape,
568	CornerShape,
569	CornerStartEnd,
570	CornerStartEndShape,
571	CornerStartStart,
572	CornerStartStartShape,
573	CornerTop,
574	CornerTopLeft,
575	CornerTopLeftShape,
576	CornerTopRight,
577	CornerTopRightShape,
578	CornerTopShape,
579	Corners,
580	Cornflowerblue,
581	Cornsilk,
582	Cos,
583	Counter,
584	CounterIncrement,
585	CounterReset,
586	CounterSet,
587	CounterStyle,
588	Counters,
589	Cover,
590	Create,
591	Crimson,
592	CrispEdges,
593	Crispedges,
594	Crop,
595	Crosshair,
596	Cs,
597	Csymbol,
598	CubicBezier,
599	Cue,
600	CueAfter,
601	CueBefore,
602	Curl,
603	Current,
604	Currentcolor,
605	Cursive,
606	Cursor,
607	Custom,
608	Cyan,
609	Cyclic,
610	D50,
611	D65,
612	Dark,
613	Darkblue,
614	Darkcyan,
615	Darken,
616	Darkgoldenrod,
617	Darkgray,
618	Darkgreen,
619	Darkgrey,
620	Darkkhaki,
621	Darkmagenta,
622	Darkolivegreen,
623	Darkorange,
624	Darkorchid,
625	Darkred,
626	Darksalmon,
627	Darkseagreen,
628	Darkslateblue,
629	Darkslategray,
630	Darkslategrey,
631	Darkturquoise,
632	Darkviolet,
633	Dashed,
634	Dashes,
635	Data,
636	Datalist,
637	Dblclick,
638	Dd,
639	Decimal,
640	DecimalLeadingZero,
641	Declare,
642	Decreasing,
643	Deeppink,
644	Deepskyblue,
645	Default,
646	Defined,
647	Defs,
648	Degree,
649	Del,
650	Dense,
651	Desc,
652	DescentOverride,
653	DestinationAtop,
654	DestinationIn,
655	DestinationOut,
656	DestinationOver,
657	Details,
658	DetailsContent,
659	Determinant,
660	Devanagari,
661	DeviceAspectRatio,
662	DeviceHeight,
663	DeviceWidth,
664	Dfn,
665	DiagonalFractions,
666	Dialog,
667	Diff,
668	Difference,
669	Digits,
670	Dimgray,
671	Dimgrey,
672	Dir,
673	Direction,
674	Disabled,
675	Disc,
676	Discard,
677	DiscardAfter,
678	DiscardBefore,
679	DiscardInner,
680	DisclousureClosed,
681	DisclousureOpen,
682	Discrete,
683	DiscretionaryLigatures,
684	Display,
685	DisplayMode,
686	DisplayP3,
687	Distribute,
688	Div,
689	Divergence,
690	Divide,
691	Dl,
692	Document,
693	Dodgerblue,
694	Domain,
695	Domainofapplication,
696	DominantBaseline,
697	Dot,
698	Dotted,
699	Double,
700	DoubleCircle,
701	Down,
702	Drop,
703	DropShadow,
704	Dt,
705	DynamicRange,
706	DynamicRangeLimit,
707	DynamicRangeLimitMix,
708	EResize,
709	EachLine,
710	Ease,
711	EaseIn,
712	EaseInOut,
713	EaseOut,
714	Economy,
715	Element,
716	Ellipse,
717	Ellipsis,
718	Embed,
719	Emoji,
720	Empty,
721	EmptyCells,
722	Emptyset,
723	Enabled,
724	End,
725	Entry,
726	EntryCrossing,
727	EnvironmentBlending,
728	Eq,
729	Equivalent,
730	Even,
731	Evenodd,
732	EventTrigger,
733	EventTriggerName,
734	EventTriggerSource,
735	EwResize,
736	ExHeight,
737	Exact,
738	Exclusion,
739	Exists,
740	Exit,
741	ExitCrossing,
742	Exp,
743	Expanded,
744	Extends,
745	ExtraCondensed,
746	ExtraExpanded,
747	Fade,
748	Factorial,
749	Factorof,
750	Fallback,
751	False,
752	Fangsong,
753	Fantasy,
754	FarthestCorner,
755	FarthestSide,
756	Fast,
757	Feblend,
758	Fecolormatrix,
759	Fecomponenttransfer,
760	Fecomposite,
761	Feconvolvematrix,
762	Fediffuselighting,
763	Fedisplacementmap,
764	Fedistantlight,
765	Fedropshadow,
766	Feflood,
767	Fefunca,
768	Fefuncb,
769	Fefuncg,
770	Fefuncr,
771	Fegaussianblur,
772	Feimage,
773	Female,
774	Femerge,
775	Femergenode,
776	Femorphology,
777	Fencedframe,
778	Feoffset,
779	Fepointlight,
780	Fespecularlighting,
781	Fespotlight,
782	Fetile,
783	Feturbulence,
784	Field,
785	FieldSizing,
786	Fieldset,
787	Fieldtext,
788	Figcaption,
789	Figure,
790	FileSelectorButton,
791	Fill,
792	FillBox,
793	FillBreak,
794	FillColor,
795	FillImage,
796	FillOpacity,
797	FillOrigin,
798	FillPosition,
799	FillRepeat,
800	FillRule,
801	FillSize,
802	Filled,
803	Filter,
804	FilterMarginBottom,
805	FilterMarginLeft,
806	FilterMarginRight,
807	FilterMarginTop,
808	Fine,
809	Firebrick,
810	First,
811	FirstChild,
812	FirstExcept,
813	FirstLetter,
814	FirstLine,
815	FirstOfType,
816	FitContent,
817	Fixed,
818	Flat,
819	Flex,
820	FlexBasis,
821	FlexDirection,
822	FlexEnd,
823	FlexFlow,
824	FlexGrow,
825	FlexLineCount,
826	FlexShrink,
827	FlexStart,
828	FlexVisual,
829	FlexWrap,
830	Flip,
831	FlipBlock,
832	FlipInline,
833	FlipStart,
834	FlipX,
835	FlipY,
836	Float,
837	FloatDefer,
838	FloatOffset,
839	FloatReference,
840	FloodColor,
841	FloodOpacity,
842	Floor,
843	Floralwhite,
844	Flow,
845	FlowFrom,
846	FlowInto,
847	FlowRoot,
848	FlowTolerance,
849	Fn,
850	Focus,
851	FocusVisible,
852	FocusWithin,
853	Font,
854	FontDisplay,
855	FontFace,
856	FontFaceFormat,
857	FontFaceName,
858	FontFaceRule,
859	FontFaceSrc,
860	FontFaceUri,
861	FontFamily,
862	FontFeatureSettings,
863	FontFeatureValues,
864	FontFormat,
865	FontKerning,
866	FontLanguageOverride,
867	FontNamedInstance,
868	FontOpticalSizing,
869	FontPalette,
870	FontPaletteValues,
871	FontSize,
872	FontSizeAdjust,
873	FontStyle,
874	FontSynthesis,
875	FontSynthesisPosition,
876	FontSynthesisSmallCaps,
877	FontSynthesisStyle,
878	FontSynthesisWeight,
879	FontTech,
880	FontVariant,
881	FontVariantAlternates,
882	FontVariantCaps,
883	FontVariantEastAsian,
884	FontVariantEmoji,
885	FontVariantLigatures,
886	FontVariantNumeric,
887	FontVariantPosition,
888	FontVariationSettings,
889	FontWeight,
890	FontWidth,
891	Footer,
892	FootnoteDisplay,
893	FootnotePolicy,
894	Forall,
895	ForceEnd,
896	ForceHidden,
897	ForcedColorAdjust,
898	ForcedColors,
899	Foreignobject,
900	Forestgreen,
901	Form,
902	Forwards,
903	Frame,
904	FrameSizing,
905	Frameset,
906	From,
907	FromFont,
908	FromImage,
909	Fuchsia,
910	FullSizeKana,
911	FullWidth,
912	Fullscreen,
913	FullscreenLandscape,
914	FullscreenPortait,
915	Future,
916	G,
917	Gainsboro,
918	Gap,
919	Gaps,
920	Gcd,
921	Generic,
922	Geometricprecision,
923	Georgian,
924	Geq,
925	Ghostwhite,
926	GlyphOrientationVertical,
927	Gold,
928	Goldenrod,
929	Grab,
930	Grabbing,
931	GrammarError,
932	Gray,
933	Grayscale,
934	Graytext,
935	Green,
936	Greenyellow,
937	Grey,
938	Grid,
939	GridArea,
940	GridAutoColumns,
941	GridAutoFlow,
942	GridAutoRows,
943	GridColumn,
944	GridColumnEnd,
945	GridColumnStart,
946	GridColumns,
947	GridOrder,
948	GridRow,
949	GridRowEnd,
950	GridRowStart,
951	GridRows,
952	GridTemplate,
953	GridTemplateAreas,
954	GridTemplateColumns,
955	GridTemplateRows,
956	Groove,
957	Grow,
958	Gt,
959	Gujarati,
960	Gurmukhi,
961	H,
962	H1,
963	H2,
964	H3,
965	H4,
966	H5,
967	H6,
968	Hanging,
969	HangingPunctuation,
970	HardLight,
971	Has,
972	HasSlotted,
973	Head,
974	Header,
975	Heading,
976	Hebrew,
977	Height,
978	Help,
979	Hgroup,
980	Hidden,
981	Hide,
982	High,
983	HighQuality,
984	Highlight,
985	Highlighttext,
986	Hiragana,
987	HiraganaIroha,
988	HistoricalForms,
989	HistoricalLigatures,
990	Honeydew,
991	Horizontal,
992	HorizontalTb,
993	HorizontalViewportSegments,
994	Host,
995	HostContext,
996	Hotpink,
997	Hover,
998	Hr,
999	Hsl,
1000	Hsla,
1001	Html,
1002	Hue,
1003	HueRotate,
1004	Hwb,
1005	HyphenateCharacter,
1006	HyphenateLimitChars,
1007	HyphenateLimitLast,
1008	HyphenateLimitLines,
1009	HyphenateLimitZone,
1010	Hyphens,
1011	Hypot,
1012	I,
1013	IcHeight,
1014	IcWidth,
1015	Ident,
1016	Ideographic,
1017	IdeographicSpace,
1018	Iframe,
1019	Image,
1020	ImageAnimation,
1021	ImageOrientation,
1022	ImageRendering,
1023	ImageResolution,
1024	ImageSet,
1025	Imaginary,
1026	Img,
1027	Implies,
1028	Import,
1029	InRange,
1030	Increasing,
1031	Indeterminate,
1032	Indianred,
1033	Indigo,
1034	Inert,
1035	Infinite,
1036	Infinity,
1037	Inherit,
1038	Inherits,
1039	Initial,
1040	InitialLetter,
1041	InitialLetterAlign,
1042	InitialLetterWrap,
1043	InitialOnly,
1044	InitialValue,
1045	Inline,
1046	InlineAxis,
1047	InlineBlock,
1048	InlineEnd,
1049	InlineFlex,
1050	InlineGrid,
1051	InlineSize,
1052	InlineSizing,
1053	InlineStart,
1054	InlineTable,
1055	Input,
1056	InputSecurity,
1057	Ins,
1058	Inset,
1059	InsetBlock,
1060	InsetBlockEnd,
1061	InsetBlockStart,
1062	InsetInline,
1063	InsetInlineEnd,
1064	InsetInlineStart,
1065	Inside,
1066	Int,
1067	InterCharacter,
1068	InterWord,
1069	Interactivity,
1070	InterestDelay,
1071	InterestDelayEnd,
1072	InterestDelayStart,
1073	Interlace,
1074	InterpolateSize,
1075	Intersect,
1076	Intersection,
1077	Interval,
1078	Invalid,
1079	Inverse,
1080	Invert,
1081	Inverted,
1082	InvertedColors,
1083	Is,
1084	Isindex,
1085	Isolate,
1086	IsolateOverride,
1087	Isolation,
1088	Italic,
1089	ItemCross,
1090	ItemDirection,
1091	ItemFlow,
1092	ItemPack,
1093	ItemTrack,
1094	ItemWrap,
1095	Ivory,
1096	Jis04,
1097	Jis78,
1098	Jis83,
1099	Jis90,
1100	JumpBoth,
1101	JumpEnd,
1102	JumpNone,
1103	JumpStart,
1104	Justify,
1105	JustifyAll,
1106	JustifyContent,
1107	JustifyItems,
1108	JustifySelf,
1109	Kai,
1110	Kannada,
1111	Katakana,
1112	KatakanaIroha,
1113	Kbd,
1114	Keep,
1115	KeepAll,
1116	Keyframes,
1117	Keygen,
1118	Keypress,
1119	Khaki,
1120	Khmer,
1121	KhmerMul,
1122	L,
1123	Lab,
1124	Label,
1125	Lambda,
1126	Landscape,
1127	Lang,
1128	Lao,
1129	Laplacian,
1130	Large,
1131	Larger,
1132	Last,
1133	LastBaseline,
1134	LastChild,
1135	LastOfType,
1136	Lavender,
1137	Lavenderblush,
1138	Lawngreen,
1139	Layer,
1140	Layout,
1141	Lch,
1142	Lcm,
1143	Leader,
1144	Leading,
1145	Left,
1146	LeftBottom,
1147	LeftMiddle,
1148	LeftToRight,
1149	LeftTop,
1150	Leftwards,
1151	Legacy,
1152	Legend,
1153	Lemonchiffon,
1154	Leq,
1155	Less,
1156	LetterSpacing,
1157	Li,
1158	Light,
1159	Lightblue,
1160	Lightcoral,
1161	Lightcyan,
1162	LightDark,
1163	Lighten,
1164	Lighter,
1165	Lightgoldenrodyellow,
1166	Lightgray,
1167	Lightgreen,
1168	Lightgrey,
1169	LightingColor,
1170	Lightpink,
1171	Lightsalmon,
1172	Lightseagreen,
1173	Lightskyblue,
1174	Lightslategray,
1175	Lightslategrey,
1176	Lightsteelblue,
1177	Lightyellow,
1178	Lime,
1179	Limegreen,
1180	Limit,
1181	Line,
1182	LineBreak,
1183	LineClamp,
1184	LineFitEdge,
1185	LineGapOverride,
1186	LineGrid,
1187	LineHeight,
1188	LineHeightStep,
1189	LinePadding,
1190	LineSnap,
1191	LineThrough,
1192	Linear,
1193	LinearGradient,
1194	LinearRgb,
1195	Lineargradient,
1196	Linearrgb,
1197	Linen,
1198	LiningNums,
1199	Link,
1200	LinkParameters,
1201	Links,
1202	Linktext,
1203	List,
1204	ListItem,
1205	ListStyle,
1206	ListStyleImage,
1207	ListStylePosition,
1208	ListStyleType,
1209	Listbox,
1210	Listing,
1211	LiteralPunctuation,
1212	Ln,
1213	Local,
1214	LocalLink,
1215	Log,
1216	Logbase,
1217	Longer,
1218	Loose,
1219	Loud,
1220	LowerAlpha,
1221	LowerArmenian,
1222	LowerGreek,
1223	LowerRoman,
1224	Lowercase,
1225	Lowlimit,
1226	Lt,
1227	Ltr,
1228	Luminance,
1229	Luminosity,
1230	Maction,
1231	Magenta,
1232	Main,
1233	Malayalam,
1234	Male,
1235	Maligngroup,
1236	Malignmark,
1237	Mandatory,
1238	Manipulation,
1239	Manual,
1240	Map,
1241	Margin,
1242	MarginBlock,
1243	MarginBlockEnd,
1244	MarginBlockStart,
1245	MarginBottom,
1246	MarginBox,
1247	MarginBreak,
1248	MarginInline,
1249	MarginInlineEnd,
1250	MarginInlineStart,
1251	MarginLeft,
1252	MarginRight,
1253	MarginTop,
1254	MarginTrim,
1255	Mark,
1256	Marker,
1257	MarkerEnd,
1258	MarkerMid,
1259	MarkerSide,
1260	MarkerStart,
1261	Markers,
1262	Marks,
1263	Marktext,
1264	Maroon,
1265	Marquee,
1266	Mask,
1267	MaskBorder,
1268	MaskBorderMode,
1269	MaskBorderOutset,
1270	MaskBorderRepeat,
1271	MaskBorderSlice,
1272	MaskBorderSource,
1273	MaskBorderWidth,
1274	MaskClip,
1275	MaskComposite,
1276	MaskImage,
1277	MaskMode,
1278	MaskOrigin,
1279	MaskPosition,
1280	MaskRepeat,
1281	MaskSize,
1282	MaskType,
1283	MatchParent,
1284	MatchSelf,
1285	MatchSource,
1286	Math,
1287	MathAuto,
1288	Mathematical,
1289	Matrix,
1290	Matrix3d,
1291	Matrixrow,
1292	Max,
1293	MaxAspectRatio,
1294	MaxBlockSize,
1295	MaxColor,
1296	MaxColorIndex,
1297	MaxContent,
1298	MaxDeviceAspectRatio,
1299	MaxDeviceHeight,
1300	MaxDeviceWidth,
1301	MaxHeight,
1302	MaxHorizontalViewportSegments,
1303	MaxInlineSize,
1304	MaxLines,
1305	MaxMonochrome,
1306	MaxResolution,
1307	MaxSize,
1308	MaxVerticalViewportSegments,
1309	MaxWidth,
1310	Maximum,
1311	Mean,
1312	Media,
1313	MediaDocument,
1314	Median,
1315	Medium,
1316	Mediumaquamarine,
1317	Mediumblue,
1318	Mediumorchid,
1319	Mediumpurple,
1320	Mediumseagreen,
1321	Mediumslateblue,
1322	Mediumspringgreen,
1323	Mediumturquoise,
1324	Mediumvioletred,
1325	Menclose,
1326	Menu,
1327	Menuitem,
1328	Menulist,
1329	MenulistButton,
1330	Merge,
1331	Merror,
1332	Meta,
1333	Metadata,
1334	Meter,
1335	Mfenced,
1336	Mfrac,
1337	Mfraction,
1338	Mglyph,
1339	Mi,
1340	Middle,
1341	Midnightblue,
1342	Min,
1343	MinAspectRatio,
1344	MinBlockSize,
1345	MinColor,
1346	MinColorIndex,
1347	MinContent,
1348	MinDeviceAspectRatio,
1349	MinDeviceHeight,
1350	MinDeviceWidth,
1351	MinHeight,
1352	MinHorizontalViewportSegments,
1353	MinInlineSize,
1354	MinIntrinsicSizing,
1355	MinMonochrome,
1356	MinResolution,
1357	MinSize,
1358	MinVerticalViewportSegments,
1359	MinWidth,
1360	MinimalUi,
1361	Minimum,
1362	Mintcream,
1363	Minus,
1364	MissingGlyph,
1365	Mistyrose,
1366	Miter,
1367	MixBlendMode,
1368	Mixed,
1369	Mlabeledtr,
1370	Mlongdiv,
1371	Mmultiscripts,
1372	Mn,
1373	Mo,
1374	Moccasin,
1375	Mod,
1376	Modal,
1377	Mode,
1378	Moderate,
1379	Modifications,
1380	Moment,
1381	Momentabout,
1382	Mongolian,
1383	Monochrome,
1384	Monospace,
1385	More,
1386	MostBlockSize,
1387	MostHeight,
1388	MostInlineSize,
1389	MostWidth,
1390	Move,
1391	Mover,
1392	Mpadded,
1393	Mpath,
1394	Mphantom,
1395	Mprescripts,
1396	Mroot,
1397	Mrow,
1398	Mscarries,
1399	Mscarry,
1400	Msgroup,
1401	Msline,
1402	Mspace,
1403	Msqrt,
1404	Msrow,
1405	Mstack,
1406	Mstyle,
1407	Msub,
1408	Msubsup,
1409	Msup,
1410	Mtable,
1411	Mtd,
1412	Mtext,
1413	Mtr,
1414	Multicol,
1415	Multiply,
1416	Munder,
1417	Munderover,
1418	Muted,
1419	Myanmar,
1420	NResize,
1421	Namespace,
1422	Narrow,
1423	Nastaliq,
1424	Nav,
1425	NavControls,
1426	NavDown,
1427	NavLeft,
1428	NavRight,
1429	NavUp,
1430	Navajowhite,
1431	Navigation,
1432	Navy,
1433	NeResize,
1434	Near,
1435	Nearest,
1436	NearestNeighbor,
1437	Negative,
1438	Neq,
1439	NeswResize,
1440	Neutral,
1441	Never,
1442	Nextid,
1443	NoClip,
1444	NoCloseQuote,
1445	NoCommonLigatures,
1446	NoCompress,
1447	NoContextual,
1448	NoDiscretionaryLigatures,
1449	NoDrop,
1450	NoEllipsis,
1451	NoHistoricalLigatures,
1452	NoLimit,
1453	NoOpenQuote,
1454	NoOverflow,
1455	NoPreference,
1456	NoPunctuation,
1457	NoRepeat,
1458	NoSkip,
1459	Nobr,
1460	Noembed,
1461	Noframes,
1462	None,
1463	Nonzero,
1464	Normal,
1465	Noscript,
1466	Not,
1467	NotAllowed,
1468	Notch,
1469	Notin,
1470	Notprsubset,
1471	Notsubset,
1472	Nowrap,
1473	NsResize,
1474	NthChild,
1475	NthCol,
1476	NthLastChild,
1477	NthLastCol,
1478	NthLastOfType,
1479	NthOfType,
1480	Numbers,
1481	Numeric,
1482	NumericOnly,
1483	NwResize,
1484	NwseResize,
1485	Object,
1486	ObjectFit,
1487	ObjectPosition,
1488	ObjectViewBox,
1489	Oblique,
1490	ObliqueOnly,
1491	Odd,
1492	Off,
1493	Offset,
1494	OffsetAnchor,
1495	OffsetDistance,
1496	OffsetPath,
1497	OffsetPosition,
1498	OffsetRotate,
1499	Oklab,
1500	Oklch,
1501	Ol,
1502	Old,
1503	Oldlace,
1504	OldstyleNums,
1505	Olive,
1506	Olivedrab,
1507	On,
1508	Once,
1509	Only,
1510	OnlyChild,
1511	OnlyOfType,
1512	Opacity,
1513	Opaque,
1514	Open,
1515	OpenQuote,
1516	Optgroup,
1517	Optimizelegibility,
1518	Optimizespeed,
1519	Option,
1520	Optional,
1521	Or,
1522	Orange,
1523	Orangered,
1524	Orchid,
1525	Order,
1526	Ordinal,
1527	Orientation,
1528	Oriya,
1529	Orphans,
1530	Otherwise,
1531	OutOfRange,
1532	Outerproduct,
1533	Outline,
1534	OutlineColor,
1535	OutlineOffset,
1536	OutlineStyle,
1537	OutlineWidth,
1538	Output,
1539	Outset,
1540	Outside,
1541	OutsideShape,
1542	Over,
1543	Overflow,
1544	OverflowAnchor,
1545	OverflowBlock,
1546	OverflowClipMargin,
1547	OverflowClipMarginBlock,
1548	OverflowClipMarginBlockEnd,
1549	OverflowClipMarginBlockStart,
1550	OverflowClipMarginBottom,
1551	OverflowClipMarginInline,
1552	OverflowClipMarginInlineEnd,
1553	OverflowClipMarginInlineStart,
1554	OverflowClipMarginLeft,
1555	OverflowClipMarginRight,
1556	OverflowClipMarginTop,
1557	OverflowInline,
1558	OverflowWrap,
1559	OverflowX,
1560	OverflowY,
1561	OverlapJoin,
1562	Overlay,
1563	Overline,
1564	Override,
1565	OverrideColors,
1566	OverscrollBehavior,
1567	OverscrollBehaviorBlock,
1568	OverscrollBehaviorInline,
1569	OverscrollBehaviorX,
1570	OverscrollBehaviorY,
1571	P,
1572	P3,
1573	Pad,
1574	Padding,
1575	PaddingBlock,
1576	PaddingBlockEnd,
1577	PaddingBlockStart,
1578	PaddingBottom,
1579	PaddingBox,
1580	PaddingInline,
1581	PaddingInlineEnd,
1582	PaddingInlineStart,
1583	PaddingLeft,
1584	PaddingRight,
1585	PaddingTop,
1586	Page,
1587	PageOrientation,
1588	Paged,
1589	Paint,
1590	Painted,
1591	PaintOrder,
1592	Palegoldenrod,
1593	Palegreen,
1594	Paleturquoise,
1595	Palevioletred,
1596	PanDown,
1597	PanLeft,
1598	PanRight,
1599	PanUp,
1600	PanX,
1601	PanY,
1602	Papayawhip,
1603	Param,
1604	Parent,
1605	Part,
1606	Partialdiff,
1607	Past,
1608	Path,
1609	Pattern,
1610	Pause,
1611	PauseAfter,
1612	PauseBefore,
1613	Paused,
1614	Peachpuff,
1615	PerLine,
1616	PerLineAll,
1617	Perceptual,
1618	Performance,
1619	Permission,
1620	Persian,
1621	Perspective,
1622	PerspectiveOrigin,
1623	Peru,
1624	PetiteCaps,
1625	Picker,
1626	PickerIcon,
1627	Picture,
1628	PictureInPicture,
1629	Piece,
1630	Piecewise,
1631	PinchZoom,
1632	Pink,
1633	Pixelated,
1634	PlaceContent,
1635	PlaceItems,
1636	PlaceSelf,
1637	Placeholder,
1638	PlaceholderShown,
1639	Plaintext,
1640	Play,
1641	PlayBackwards,
1642	PlayForwards,
1643	Playing,
1644	Plum,
1645	Plus,
1646	PlusLighter,
1647	Pointer,
1648	PointerEvents,
1649	PointerTimeline,
1650	PointerTimelineAxis,
1651	PointerTimelineName,
1652	Polygon,
1653	Polyline,
1654	PopoverOpen,
1655	Portal,
1656	Portrait,
1657	Position,
1658	PositionAnchor,
1659	PositionArea,
1660	PositionTry,
1661	PositionTryFallbacks,
1662	PositionTryOrder,
1663	PositionVisibility,
1664	Pow,
1665	Powderblue,
1666	Power,
1667	Pre,
1668	PreLine,
1669	PreWrap,
1670	PrefersColorScheme,
1671	PrefersContrast,
1672	PrefersReducedData,
1673	PrefersReducedMotion,
1674	PrefersReducedTransparency,
1675	Prefix,
1676	Preserve,
1677	Preserve3d,
1678	PreserveBreaks,
1679	PreserveParentColor,
1680	PreserveSpaces,
1681	Pretty,
1682	Print,
1683	PrintColorAdjust,
1684	Product,
1685	Progress,
1686	ProgressBar,
1687	Progressive,
1688	Property,
1689	ProphotoRgb,
1690	ProportionalNums,
1691	ProportionalWidth,
1692	Proximity,
1693	Prsubset,
1694	Punctuation,
1695	Purple,
1696	Quotes,
1697	Quotient,
1698	R,
1699	RadialGradient,
1700	Radialgradient,
1701	Radio,
1702	Raise,
1703	Range,
1704	RawString,
1705	Rb,
1706	ReadOnly,
1707	ReadWrite,
1708	ReadingFlow,
1709	ReadingOrder,
1710	Real,
1711	Rebeccapurple,
1712	Rec2020,
1713	Rect,
1714	Recto,
1715	Red,
1716	Reduce,
1717	Reduced,
1718	Regexp,
1719	Region,
1720	RegionFragment,
1721	Relative,
1722	RelativeColorimetric,
1723	Reln,
1724	RenderingIntent,
1725	Repeat,
1726	RepeatX,
1727	RepeatY,
1728	RepeatingLinearGradient,
1729	RepeatingRadialGradient,
1730	Replace,
1731	Replay,
1732	Required,
1733	Reset,
1734	Resize,
1735	Resolution,
1736	Rest,
1737	RestAfter,
1738	RestBefore,
1739	Result,
1740	Reverse,
1741	Reversed,
1742	Revert,
1743	RevertLayer,
1744	RevertRule,
1745	Rgb,
1746	Rgba,
1747	Ridge,
1748	Right,
1749	RightBottom,
1750	RightMiddle,
1751	RightToLeft,
1752	RightTop,
1753	Rightwards,
1754	Root,
1755	Rosybrown,
1756	Rotate,
1757	Rotate3d,
1758	RotateLeft,
1759	RotateRight,
1760	#[atom("rotateX")]
1761	Rotatex,
1762	#[atom("rotateY")]
1763	Rotatey,
1764	#[atom("rotateZ")]
1765	Rotatez,
1766	Round,
1767	Row,
1768	RowGap,
1769	RowOverColumn,
1770	RowResize,
1771	RowReverse,
1772	RowRule,
1773	RowRuleBreak,
1774	RowRuleColor,
1775	RowRuleEdgeInset,
1776	RowRuleEdgeInsetEnd,
1777	RowRuleEdgeInsetStart,
1778	RowRuleInset,
1779	RowRuleInsetCap,
1780	RowRuleInsetCapEnd,
1781	RowRuleInsetCapStart,
1782	RowRuleInsetEnd,
1783	RowRuleInsetJunction,
1784	RowRuleInsetJunctionEnd,
1785	RowRuleInsetJunctionStart,
1786	RowRuleInsetStart,
1787	RowRuleInteriorInset,
1788	RowRuleInteriorInsetEnd,
1789	RowRuleInteriorInsetStart,
1790	RowRuleOutset,
1791	RowRuleStyle,
1792	RowRuleVisibilityItems,
1793	RowRuleWidth,
1794	Royalblue,
1795	Rp,
1796	Rt,
1797	Rtc,
1798	Rtl,
1799	Ruby,
1800	RubyAlign,
1801	RubyBase,
1802	RubyBaseContainer,
1803	RubyMerge,
1804	RubyOverhang,
1805	RubyPosition,
1806	RubyText,
1807	RubyTextContainer,
1808	Rule,
1809	RuleBreak,
1810	RuleColor,
1811	RuleEdgeInset,
1812	RuleInset,
1813	RuleInsetCap,
1814	RuleInsetCapEnd,
1815	RuleInsetCapStart,
1816	RuleInsetEnd,
1817	RuleInsetJunction,
1818	RuleInsetJunctionEnd,
1819	RuleInsetJunctionStart,
1820	RuleInsetStart,
1821	RuleInteriorInset,
1822	RuleOutset,
1823	RuleOverlap,
1824	RuleStyle,
1825	RuleVisibilityItems,
1826	RuleWidth,
1827	RunIn,
1828	Running,
1829	SResize,
1830	Saddlebrown,
1831	Safe,
1832	Salmon,
1833	Samp,
1834	Sandybrown,
1835	SansSerif,
1836	Saturate,
1837	Saturation,
1838	Scalarproduct,
1839	Scale,
1840	Scale3d,
1841	ScaleDown,
1842	#[atom("scaleX")]
1843	Scalex,
1844	#[atom("scaleY")]
1845	Scaley,
1846	#[atom("scaleZ")]
1847	Scalez,
1848	Scan,
1849	Scoop,
1850	Scope,
1851	Screen,
1852	Script,
1853	Scripting,
1854	Scroll,
1855	ScrollBehavior,
1856	ScrollInitialTarget,
1857	ScrollMargin,
1858	ScrollMarginBlock,
1859	ScrollMarginBlockEnd,
1860	ScrollMarginBlockStart,
1861	ScrollMarginBottom,
1862	ScrollMarginInline,
1863	ScrollMarginInlineEnd,
1864	ScrollMarginInlineStart,
1865	ScrollMarginLeft,
1866	ScrollMarginRight,
1867	ScrollMarginTop,
1868	ScrollMarker,
1869	ScrollMarkerGroup,
1870	ScrollPadding,
1871	ScrollPaddingBlock,
1872	ScrollPaddingBlockEnd,
1873	ScrollPaddingBlockStart,
1874	ScrollPaddingBottom,
1875	ScrollPaddingInline,
1876	ScrollPaddingInlineEnd,
1877	ScrollPaddingInlineStart,
1878	ScrollPaddingLeft,
1879	ScrollPaddingRight,
1880	ScrollPaddingTop,
1881	ScrollPosition,
1882	ScrollSnapAlign,
1883	ScrollSnapStop,
1884	ScrollSnapType,
1885	ScrollState,
1886	ScrollTargetGroup,
1887	ScrollTimeline,
1888	ScrollTimelineAxis,
1889	ScrollTimelineName,
1890	Scrollable,
1891	Scrollbar,
1892	ScrollbarColor,
1893	ScrollbarGutter,
1894	ScrollbarWidth,
1895	Scrolled,
1896	Sdev,
1897	SeResize,
1898	Seagreen,
1899	Search,
1900	Seashell,
1901	Section,
1902	Seeking,
1903	Select,
1904	Selectedcontent,
1905	Selecteditem,
1906	Selecteditemtext,
1907	Selection,
1908	Selector,
1909	SelfBlockEnd,
1910	SelfBlockStart,
1911	SelfEnd,
1912	SelfInlineEnd,
1913	SelfInlineStart,
1914	SelfStart,
1915	Semantics,
1916	SemiCondensed,
1917	SemiExpanded,
1918	Sep,
1919	Separate,
1920	Sepia,
1921	Serif,
1922	Sesame,
1923	Set,
1924	Setdiff,
1925	Shape,
1926	ShapeBox,
1927	ShapeImageThreshold,
1928	ShapeInside,
1929	ShapeMargin,
1930	ShapeOutside,
1931	ShapePadding,
1932	ShapeRendering,
1933	Share,
1934	Shorter,
1935	Show,
1936	Shrink,
1937	Sides,
1938	Sideways,
1939	SidewaysLr,
1940	SidewaysRl,
1941	Sienna,
1942	Sign,
1943	Silent,
1944	Silver,
1945	Simplified,
1946	Sin,
1947	Size,
1948	SizeAdjust,
1949	Skew,
1950	Skewx,
1951	Skewy,
1952	SkipAll,
1953	SkipLineThrough,
1954	SkipOverline,
1955	SkipUnderline,
1956	Skyblue,
1957	SlashedZero,
1958	Slateblue,
1959	Slategray,
1960	Slategrey,
1961	Slice,
1962	SliderOrientation,
1963	Slot,
1964	Slotted,
1965	Slow,
1966	Small,
1967	SmallCaps,
1968	Smaller,
1969	Smooth,
1970	Snap,
1971	SnapBlock,
1972	SnapInline,
1973	Snapped,
1974	Snow,
1975	Soft,
1976	SoftLight,
1977	Solid,
1978	SomeProp,
1979	Source,
1980	SourceAtop,
1981	SourceIn,
1982	SourceOrder,
1983	SourceOut,
1984	SourceOver,
1985	Space,
1986	SpaceAll,
1987	SpaceAround,
1988	SpaceBetween,
1989	SpaceEvenly,
1990	SpaceFirst,
1991	Spacer,
1992	Spaces,
1993	Span,
1994	SpanAll,
1995	SpanBlockEnd,
1996	SpanBlockStart,
1997	SpanBottom,
1998	SpanEnd,
1999	SpanInlineEnd,
2000	SpanInlineStart,
2001	SpanLeft,
2002	SpanRight,
2003	SpanSelfBlockEnd,
2004	SpanSelfBlockStart,
2005	SpanSelfEnd,
2006	SpanSelfInlineEnd,
2007	SpanSelfInlineStart,
2008	SpanSelfStart,
2009	SpanStart,
2010	SpanTop,
2011	SpanXEnd,
2012	SpanXSelfEnd,
2013	SpanXSelfStart,
2014	SpanXStart,
2015	SpanYEnd,
2016	SpanYSelfEnd,
2017	SpanYSelfStart,
2018	SpanYStart,
2019	SpanningItem,
2020	SpatialNavigationAction,
2021	SpatialNavigationContain,
2022	SpatialNavigationFunction,
2023	Speak,
2024	SpeakAs,
2025	SpellOut,
2026	SpellingError,
2027	Spread,
2028	Springgreen,
2029	Sqrt,
2030	Square,
2031	Squircle,
2032	Src,
2033	Srgb,
2034	SrgbLinear,
2035	Stable,
2036	StackedFractions,
2037	Stalled,
2038	Standalone,
2039	Standard,
2040	Start,
2041	StartingStyle,
2042	State,
2043	Static,
2044	Steelblue,
2045	StepEnd,
2046	StepStart,
2047	Steps,
2048	Sticky,
2049	Stop,
2050	Stopped,
2051	Stretch,
2052	Strict,
2053	Strike,
2054	String,
2055	StringSet,
2056	Stripes,
2057	Stroke,
2058	StrokeAlign,
2059	StrokeBox,
2060	StrokeBreak,
2061	StrokeColor,
2062	StrokeDashCorner,
2063	StrokeDashJustify,
2064	StrokeDasharray,
2065	StrokeDashoffset,
2066	StrokeImage,
2067	StrokeLinecap,
2068	StrokeLinejoin,
2069	StrokeMiterlimit,
2070	StrokeOpacity,
2071	StrokeOrigin,
2072	StrokePosition,
2073	StrokeRepeat,
2074	StrokeSize,
2075	StrokeWidth,
2076	Strong,
2077	Stuck,
2078	Style,
2079	Sub,
2080	Subgrid,
2081	SubpixelAntialiased,
2082	Subset,
2083	Subtractive,
2084	Suffix,
2085	Sum,
2086	Summary,
2087	Sup,
2088	Super,
2089	Superellipse,
2090	Supports,
2091	Svg,
2092	SwResize,
2093	Swap,
2094	Switch,
2095	Symbol,
2096	Symbolic,
2097	Symbols,
2098	Syntax,
2099	System,
2100	SystemUi,
2101	TabSize,
2102	Table,
2103	TableCaption,
2104	TableCell,
2105	TableColumn,
2106	TableColumnGroup,
2107	TableFooterGroup,
2108	TableHeaderGroup,
2109	TableLayout,
2110	TableRow,
2111	TableRowGroup,
2112	Tabs,
2113	TabularNums,
2114	Tamil,
2115	Tan,
2116	Target,
2117	TargetCounter,
2118	TargetCounters,
2119	TargetCurrent,
2120	TargetText,
2121	TargetWithin,
2122	Tbody,
2123	Td,
2124	Teal,
2125	Telugu,
2126	Template,
2127	Tendsto,
2128	Text,
2129	TextAlign,
2130	TextAlignAll,
2131	TextAlignLast,
2132	TextAutospace,
2133	TextBottom,
2134	TextBox,
2135	TextBoxEdge,
2136	TextBoxTrim,
2137	TextCombineUpright,
2138	TextDecoration,
2139	TextDecorationColor,
2140	TextDecorationInset,
2141	TextDecorationLine,
2142	TextDecorationSkip,
2143	TextDecorationSkipBox,
2144	TextDecorationSkipInk,
2145	TextDecorationSkipSelf,
2146	TextDecorationSkipSpaces,
2147	TextDecorationStyle,
2148	TextDecorationThickness,
2149	TextEmphasis,
2150	TextEmphasisColor,
2151	TextEmphasisPosition,
2152	TextEmphasisSkip,
2153	TextEmphasisStyle,
2154	TextFit,
2155	TextGroupAlign,
2156	TextIndent,
2157	TextJustify,
2158	TextOrientation,
2159	TextOverflow,
2160	TextRendering,
2161	TextShadow,
2162	TextSizeAdjust,
2163	TextSpacing,
2164	TextSpacingTrim,
2165	TextTop,
2166	TextTransform,
2167	TextUnderlineOffset,
2168	TextUnderlinePosition,
2169	TextWrap,
2170	TextWrapMode,
2171	TextWrapStyle,
2172	Textarea,
2173	Textfield,
2174	Textpath,
2175	Tfoot,
2176	Th,
2177	Thai,
2178	Thead,
2179	Thick,
2180	Thin,
2181	Thistle,
2182	Tibetan,
2183	Time,
2184	TimelineScope,
2185	TimelineTrigger,
2186	TimelineTriggerActivationRange,
2187	TimelineTriggerActivationRangeEnd,
2188	TimelineTriggerActivationRangeStart,
2189	TimelineTriggerActiveRange,
2190	TimelineTriggerActiveRangeEnd,
2191	TimelineTriggerActiveRangeStart,
2192	TimelineTriggerName,
2193	TimelineTriggerSource,
2194	Times,
2195	Title,
2196	TitlingCaps,
2197	To,
2198	Tomato,
2199	Top,
2200	TopCenter,
2201	TopLeft,
2202	TopLeftCorner,
2203	TopRight,
2204	TopRightCorner,
2205	TopToBottom,
2206	Touch,
2207	TouchAction,
2208	Tr,
2209	Track,
2210	Traditional,
2211	Transform,
2212	TransformBox,
2213	TransformOrigin,
2214	TransformStyle,
2215	Transition,
2216	TransitionBehavior,
2217	TransitionDelay,
2218	TransitionDuration,
2219	TransitionProperty,
2220	TransitionTimingFunction,
2221	Translate,
2222	Translate3d,
2223	#[atom("translateX")]
2224	Translatex,
2225	#[atom("translateY")]
2226	Translatey,
2227	#[atom("translateZ")]
2228	Translatez,
2229	Transparent,
2230	Transpose,
2231	Triangle,
2232	TriggerScope,
2233	TrimAll,
2234	TrimBoth,
2235	TrimEnd,
2236	TrimStart,
2237	True,
2238	Tspan,
2239	Tt,
2240	Turquoise,
2241	Type,
2242	Types,
2243	U,
2244	UiMonospace,
2245	UiRounded,
2246	UiSansSerif,
2247	UiSerif,
2248	Ul,
2249	UltraCondensed,
2250	UltraExpanded,
2251	Under,
2252	Underline,
2253	Underscore,
2254	Unicase,
2255	Unicode,
2256	UnicodeBidi,
2257	UnicodeRange,
2258	Union,
2259	Unsafe,
2260	Unset,
2261	Up,
2262	Update,
2263	Uplimit,
2264	UpperAlpha,
2265	UpperArmenian,
2266	UpperLatin,
2267	UpperRoman,
2268	Uppercase,
2269	Upright,
2270	Url,
2271	UrlPrefix,
2272	Use,
2273	UserInvalid,
2274	UserSelect,
2275	Valid,
2276	Var,
2277	Variance,
2278	Vector,
2279	Vectorproduct,
2280	Verso,
2281	Vertical,
2282	VerticalAlign,
2283	VerticalLr,
2284	VerticalRl,
2285	VerticalText,
2286	VerticalViewportSegments,
2287	Video,
2288	VideoColorGamut,
2289	VideoDynamicRange,
2290	View,
2291	ViewBox,
2292	ViewTimeline,
2293	ViewTimelineAxis,
2294	ViewTimelineInset,
2295	ViewTimelineName,
2296	ViewTransition,
2297	ViewTransitionClass,
2298	ViewTransitionGroup,
2299	ViewTransitionImagePair,
2300	ViewTransitionName,
2301	ViewTransitionNew,
2302	ViewTransitionOld,
2303	ViewTransitionScope,
2304	Violet,
2305	Visibility,
2306	Visible,
2307	#[atom("visibleFill")]
2308	Visiblefill,
2309	#[atom("visiblePainted")]
2310	Visiblepainted,
2311	#[atom("visibleStroke")]
2312	Visiblestroke,
2313	Visited,
2314	Visitedtext,
2315	VoiceBalance,
2316	VoiceDuration,
2317	VoiceFamily,
2318	VoicePitch,
2319	VoiceRange,
2320	VoiceRate,
2321	VoiceStress,
2322	VoiceVolume,
2323	VolumeLocked,
2324	W,
2325	WResize,
2326	Wait,
2327	Wavy,
2328	Wbr,
2329	Weak,
2330	Weight,
2331	Wheat,
2332	Where,
2333	White,
2334	WhiteSpace,
2335	WhiteSpaceCollapse,
2336	WhiteSpaceTrim,
2337	Whitesmoke,
2338	Widows,
2339	Width,
2340	WillChange,
2341	WindowDrag,
2342	WindowsVista,
2343	WindowsWin10,
2344	WindowsWin7,
2345	WindowsWin8,
2346	WindowsXp,
2347	With,
2348	WordBreak,
2349	WordSpaceTransform,
2350	WordSpacing,
2351	WordWrap,
2352	Words,
2353	Wrap,
2354	WrapAfter,
2355	WrapBefore,
2356	WrapFlow,
2357	WrapInside,
2358	WrapReverse,
2359	WrapThrough,
2360	WritingMode,
2361	XEnd,
2362	XFast,
2363	XLarge,
2364	XLoud,
2365	XSelfEnd,
2366	XSelfStart,
2367	XSlow,
2368	XSmall,
2369	XSoft,
2370	XStart,
2371	XStrong,
2372	XWeak,
2373	Xmp,
2374	Xo,
2375	Xor,
2376	XxLarge,
2377	XxSmall,
2378	Xyz,
2379	XyzD50,
2380	XyzD65,
2381	Y,
2382	YEnd,
2383	YSelfEnd,
2384	YSelfStart,
2385	YStart,
2386	Yellow,
2387	Yellowgreen,
2388	Young,
2389	Z,
2390	ZIndex,
2391	ZeroIfExtrinsic,
2392	ZeroIfScroll,
2393	Zoom,
2394	ZoomIn,
2395	ZoomOut,
2396	#[atom("-infinity")]
2397	_NegInfinity,
2398
2399	// Bit 23: vendor flag (always 1)
2400	// Bits 21-22: vendor index (0-3) for direct array lookup
2401	// WebKit: 0b00000000_10000000_00000000_00000000 (index 0)
2402	// Moz:    0b00000000_10100000_00000000_00000000 (index 1)
2403	// Ms:     0b00000000_11000000_00000000_00000000 (index 2)
2404	// O:      0b00000000_11100000_00000000_00000000 (index 3)
2405	#[atom("-webkit-align-content")]
2406	_WebkitAlignContent = 0b00000000_10000000_00000000_00000000,
2407	#[atom("-webkit-align-items")]
2408	_WebkitAlignItems,
2409	#[atom("-webkit-align-self")]
2410	_WebkitAlignSelf,
2411	#[atom("-webkit-animating-full-screen-transition")]
2412	_WebkitAnimatingFullScreenTransition,
2413	#[atom("-webkit-animation")]
2414	_WebkitAnimation,
2415	#[atom("-webkit-animation-delay")]
2416	_WebkitAnimationDelay,
2417	#[atom("-webkit-animation-duration")]
2418	_WebkitAnimationDuration,
2419	#[atom("-webkit-animation-fill-mode")]
2420	_WebkitAnimationFillMode,
2421	#[atom("-webkit-animation-iteration-count")]
2422	_WebkitAnimationIterationCount,
2423	#[atom("-webkit-animation-name")]
2424	_WebkitAnimationName,
2425	#[atom("-webkit-animation-timing-function")]
2426	_WebkitAnimationTimingFunction,
2427	#[atom("-webkit-any")]
2428	_WebkitAny,
2429	#[atom("-webkit-any-link")]
2430	_WebkitAnyLink,
2431	#[atom("-webkit-appearance")]
2432	_WebkitAppearance,
2433	#[atom("-webkit-autofill")]
2434	_WebkitAutofill,
2435	#[atom("-webkit-autofill-and-obscured")]
2436	_WebkitAutofillAndObscured,
2437	#[atom("-webkit-autofill-strong-password")]
2438	_WebkitAutofillStrongPassword,
2439	#[atom("-webkit-autofill-strong-password-viewable")]
2440	_WebkitAutofillStrongPasswordViewable,
2441	#[atom("-webkit-backdrop-filter")]
2442	_WebkitBackdropFilter,
2443	#[atom("-webkit-backface-visibility")]
2444	_WebkitBackfaceVisibility,
2445	#[atom("-webkit-background-clip")]
2446	_WebkitBackgroundClip,
2447	#[atom("-webkit-background-size")]
2448	_WebkitBackgroundSize,
2449	#[atom("-webkit-box")]
2450	_WebkitBox,
2451	#[atom("-webkit-box-align")]
2452	_WebkitBoxAlign,
2453	#[atom("-webkit-box-decoration-break")]
2454	_WebkitBoxDecorationBreak,
2455	#[atom("-webkit-box-direction")]
2456	_WebkitBoxDirection,
2457	#[atom("-webkit-box-flex")]
2458	_WebkitBoxFlex,
2459	#[atom("-webkit-box-ordinal-group")]
2460	_WebkitBoxOrdinalGroup,
2461	#[atom("-webkit-box-orient")]
2462	_WebkitBoxOrient,
2463	#[atom("-webkit-box-pack")]
2464	_WebkitBoxPack,
2465	#[atom("-webkit-box-reflect")]
2466	_WebkitBoxReflect,
2467	#[atom("-webkit-box-shadow")]
2468	_WebkitBoxShadow,
2469	#[atom("-webkit-box-sizing")]
2470	_WebkitBoxSizing,
2471	#[atom("-webkit-calendar-picker-indicator")]
2472	_WebkitCalendarPickerIndicator,
2473	#[atom("-webkit-caps-lock-indicator")]
2474	_WebkitCapsLockIndicator,
2475	#[atom("-webkit-clip-path")]
2476	_WebkitClipPath,
2477	#[atom("-webkit-color-swatch")]
2478	_WebkitColorSwatch,
2479	#[atom("-webkit-color-swatch-wrapper")]
2480	_WebkitColorSwatchWrapper,
2481	#[atom("-webkit-column-count")]
2482	_WebkitColumnCount,
2483	#[atom("-webkit-column-gap")]
2484	_WebkitColumnGap,
2485	#[atom("-webkit-contacts-auto-fill-button")]
2486	_WebkitContactsAutoFillButton,
2487	#[atom("-webkit-credentials-auto-fill-button")]
2488	_WebkitCredentialsAutoFillButton,
2489	#[atom("-webkit-credit-card-auto-fill-button")]
2490	_WebkitCreditCardAutoFillButton,
2491	#[atom("-webkit-date-and-time-value")]
2492	_WebkitDateAndTimeValue,
2493	#[atom("-webkit-datetime-edit")]
2494	_WebkitDatetimeEdit,
2495	#[atom("-webkit-datetime-edit-day-field")]
2496	_WebkitDatetimeEditDayField,
2497	#[atom("-webkit-datetime-edit-fields-wrapper")]
2498	_WebkitDatetimeEditFieldsWrapper,
2499	#[atom("-webkit-datetime-edit-hour-field")]
2500	_WebkitDatetimeEditHourField,
2501	#[atom("-webkit-datetime-edit-meridiem-field")]
2502	_WebkitDatetimeEditMeridiemField,
2503	#[atom("-webkit-datetime-edit-millisecond-field")]
2504	_WebkitDatetimeEditMillisecondField,
2505	#[atom("-webkit-datetime-edit-minute")]
2506	_WebkitDatetimeEditMinute,
2507	#[atom("-webkit-datetime-edit-minute-field")]
2508	_WebkitDatetimeEditMinuteField,
2509	#[atom("-webkit-datetime-edit-month-field")]
2510	_WebkitDatetimeEditMonthField,
2511	#[atom("-webkit-datetime-edit-second-field")]
2512	_WebkitDatetimeEditSecondField,
2513	#[atom("-webkit-datetime-edit-text")]
2514	_WebkitDatetimeEditText,
2515	#[atom("-webkit-datetime-edit-year-field")]
2516	_WebkitDatetimeEditYearField,
2517	#[atom("-webkit-details-marker")]
2518	_WebkitDetailsMarker,
2519	#[atom("-webkit-device-pixel-ratio")]
2520	_WebkitDevicePixelRatio,
2521	#[atom("-webkit-distributed")]
2522	_WebkitDistributed,
2523	#[atom("-webkit-drag")]
2524	_WebkitDrag,
2525	#[atom("-webkit-file-upload-button")]
2526	_WebkitFileUploadButton,
2527	#[atom("-webkit-filter")]
2528	_WebkitFilter,
2529	#[atom("-webkit-flex")]
2530	_WebkitFlex,
2531	#[atom("-webkit-flex-basis")]
2532	_WebkitFlexBasis,
2533	#[atom("-webkit-flex-direction")]
2534	_WebkitFlexDirection,
2535	#[atom("-webkit-flex-flow")]
2536	_WebkitFlexFlow,
2537	#[atom("-webkit-flex-grow")]
2538	_WebkitFlexGrow,
2539	#[atom("-webkit-flex-wrap")]
2540	_WebkitFlexWrap,
2541	#[atom("-webkit-font-smoothing")]
2542	_WebkitFontSmoothing,
2543	#[atom("-webkit-full-page-media")]
2544	_WebkitFullPageMedia,
2545	#[atom("-webkit-full-screen")]
2546	_WebkitFullScreen,
2547	#[atom("-webkit-full-screen-ancestor")]
2548	_WebkitFullScreenAncestor,
2549	#[atom("-webkit-full-screen-controls-hidden")]
2550	_WebkitFullScreenControlsHidden,
2551	#[atom("-webkit-full-screen-document")]
2552	_WebkitFullScreenDocument,
2553	#[atom("-webkit-generic-cue-root")]
2554	_WebkitGenericCueRoot,
2555	#[atom("-webkit-grab")]
2556	_WebkitGrab,
2557	#[atom("-webkit-grabbing")]
2558	_WebkitGrabbing,
2559	#[atom("-webkit-inline-box")]
2560	_WebkitInlineBox,
2561	#[atom("-webkit-inline-flex")]
2562	_WebkitInlineFlex,
2563	#[atom("-webkit-inner-spin-button")]
2564	_WebkitInnerSpinButton,
2565	#[atom("-webkit-input-placeholder")]
2566	_WebkitInputPlaceholder,
2567	#[atom("-webkit-justify-content")]
2568	_WebkitJustifyContent,
2569	#[atom("-webkit-keyframes")]
2570	_WebkitKeyframes,
2571	#[atom("-webkit-line-clamp")]
2572	_WebkitLineClamp,
2573	#[atom("-webkit-list-button")]
2574	_WebkitListButton,
2575	#[atom("-webkit-margin-end")]
2576	_WebkitMarginEnd,
2577	#[atom("-webkit-mask")]
2578	_WebkitMask,
2579	#[atom("-webkit-mask-box-image")]
2580	_WebkitMaskBoxImage,
2581	#[atom("-webkit-mask-position")]
2582	_WebkitMaskPosition,
2583	#[atom("-webkit-mask-size")]
2584	_WebkitMaskSize,
2585	#[atom("-webkit-match-parent")]
2586	_WebkitMatchParent,
2587	#[atom("-webkit-max-content")]
2588	_WebkitMaxContent,
2589	#[atom("-webkit-max-device-pixel-ratio")]
2590	_WebkitMaxDevicePixelRatio,
2591	#[atom("-webkit-media-text-track-container")]
2592	_WebkitMediaTextTrackContainer,
2593	#[atom("-webkit-media-text-track-display")]
2594	_WebkitMediaTextTrackDisplay,
2595	#[atom("-webkit-media-text-track-display-backdrop")]
2596	_WebkitMediaTextTrackDisplayBackdrop,
2597	#[atom("-webkit-media-text-track-region")]
2598	_WebkitMediaTextTrackRegion,
2599	#[atom("-webkit-media-text-track-region-container")]
2600	_WebkitMediaTextTrackRegionContainer,
2601	#[atom("-webkit-meter-bar")]
2602	_WebkitMeterBar,
2603	#[atom("-webkit-meter-even-less-good-value")]
2604	_WebkitMeterEvenLessGoodValue,
2605	#[atom("-webkit-meter-inner-element")]
2606	_WebkitMeterInnerElement,
2607	#[atom("-webkit-meter-optimum-value")]
2608	_WebkitMeterOptimumValue,
2609	#[atom("-webkit-meter-suboptimum-value")]
2610	_WebkitMeterSuboptimumValue,
2611	#[atom("-webkit-min-content")]
2612	_WebkitMinContent,
2613	#[atom("-webkit-min-device-pixel-ratio")]
2614	_WebkitMinDevicePixelRatio,
2615	#[atom("-webkit-order")]
2616	_WebkitOrder,
2617	#[atom("-webkit-outer-spin-button")]
2618	_WebkitOuterSpinButton,
2619	#[atom("-webkit-overflow-scrolling")]
2620	_WebkitOverflowScrolling,
2621	#[atom("-webkit-password-auto-fill-button")]
2622	_WebkitPasswordAutoFillButton,
2623	#[atom("-webkit-perspective")]
2624	_WebkitPerspective,
2625	#[atom("-webkit-print-color-adjust")]
2626	_WebkitPrintColorAdjust,
2627	#[atom("-webkit-progress-bar")]
2628	_WebkitProgressBar,
2629	#[atom("-webkit-progress-inner-element")]
2630	_WebkitProgressInnerElement,
2631	#[atom("-webkit-progress-value")]
2632	_WebkitProgressValue,
2633	#[atom("-webkit-resizer")]
2634	_WebkitResizer,
2635	#[atom("-webkit-scrollbar")]
2636	_WebkitScrollbar,
2637	#[atom("-webkit-scrollbar-button")]
2638	_WebkitScrollbarButton,
2639	#[atom("-webkit-scrollbar-corner")]
2640	_WebkitScrollbarCorner,
2641	#[atom("-webkit-scrollbar-thumb")]
2642	_WebkitScrollbarThumb,
2643	#[atom("-webkit-scrollbar-track")]
2644	_WebkitScrollbarTrack,
2645	#[atom("-webkit-scrollbar-track-piece")]
2646	_WebkitScrollbarTrackPiece,
2647	#[atom("-webkit-search-cancel-button")]
2648	_WebkitSearchCancelButton,
2649	#[atom("-webkit-search-decoration")]
2650	_WebkitSearchDecoration,
2651	#[atom("-webkit-search-results-button")]
2652	_WebkitSearchResultsButton,
2653	#[atom("-webkit-slider-container")]
2654	_WebkitSliderContainer,
2655	#[atom("-webkit-slider-runnable-track")]
2656	_WebkitSliderRunnableTrack,
2657	#[atom("-webkit-slider-thumb")]
2658	_WebkitSliderThumb,
2659	#[atom("-webkit-sticky")]
2660	_WebkitSticky,
2661	#[atom("-webkit-tap-highlight-color")]
2662	_WebkitTapHighlightColor,
2663	#[atom("-webkit-text-decoration")]
2664	_WebkitTextDecoration,
2665	#[atom("-webkit-text-decoration-color")]
2666	_WebkitTextDecorationColor,
2667	#[atom("-webkit-text-decoration-skip-ink")]
2668	_WebkitTextDecorationSkipInk,
2669	#[atom("-webkit-text-fill-color")]
2670	_WebkitTextFillColor,
2671	#[atom("-webkit-text-size-adjust")]
2672	_WebkitTextSizeAdjust,
2673	#[atom("-webkit-text-stroke-color")]
2674	_WebkitTextStrokeColor,
2675	#[atom("-webkit-text-stroke-width")]
2676	_WebkitTextStrokeWidth,
2677	#[atom("-webkit-textfield-decoration-container")]
2678	_WebkitTextfieldDecorationContainer,
2679	#[atom("-webkit-touch-callout")]
2680	_WebkitTouchCallout,
2681	#[atom("-webkit-transform")]
2682	_WebkitTransform,
2683	#[atom("-webkit-transform-2d")]
2684	_WebkitTransform2d,
2685	#[atom("-webkit-transform-3d")]
2686	_WebkitTransform3d,
2687	#[atom("-webkit-transform-origin")]
2688	_WebkitTransformOrigin,
2689	#[atom("-webkit-transition")]
2690	_WebkitTransition,
2691	#[atom("-webkit-transition-delay")]
2692	_WebkitTransitionDelay,
2693	#[atom("-webkit-transition-duration")]
2694	_WebkitTransitionDuration,
2695	#[atom("-webkit-transition-property")]
2696	_WebkitTransitionProperty,
2697	#[atom("-webkit-transition-timing-function")]
2698	_WebkitTransitionTimingFunction,
2699	#[atom("-webkit-user-drag")]
2700	_WebkitUserDrag,
2701	#[atom("-webkit-user-select")]
2702	_WebkitUserSelect,
2703	#[atom("-webkit-validation-bubble")]
2704	_WebkitValidationBubble,
2705	#[atom("-webkit-validation-bubble-arrow")]
2706	_WebkitValidationBubbleArrow,
2707	#[atom("-webkit-validation-bubble-arrow-clipper")]
2708	_WebkitValidationBubbleArrowClipper,
2709	#[atom("-webkit-validation-bubble-body")]
2710	_WebkitValidationBubbleBody,
2711	#[atom("-webkit-validation-bubble-heading")]
2712	_WebkitValidationBubbleHeading,
2713	#[atom("-webkit-validation-bubble-icon")]
2714	_WebkitValidationBubbleIcon,
2715	#[atom("-webkit-validation-bubble-message")]
2716	_WebkitValidationBubbleMessage,
2717	#[atom("-webkit-validation-bubble-text-block")]
2718	_WebkitValidationBubbleTextBlock,
2719	#[atom("-webkit-video-playable-inline")]
2720	_WebkitVideoPlayableInline,
2721
2722	#[atom("-moz-anonymous-block")]
2723	_MozAnonymousBlock = 0b00000000_10100000_00000000_00000000,
2724	#[atom("-moz-anonymous-item")]
2725	_MozAnonymousItem,
2726	#[atom("-moz-anonymous-positioned-block")]
2727	_MozAnonymousPositionedBlock,
2728	#[atom("-moz-any")]
2729	_MozAny,
2730	#[atom("-moz-any-link")]
2731	_MozAnyLink,
2732	#[atom("-moz-appearance")]
2733	_MozAppearance,
2734	#[atom("-moz-block-inside-inline-wrapper")]
2735	_MozBlockInsideInlineWrapper,
2736	#[atom("-moz-block-ruby-content")]
2737	_MozBlockRubyContent,
2738	#[atom("-moz-box")]
2739	_MozBox,
2740	#[atom("-moz-box-sizing")]
2741	_MozBoxSizing,
2742	#[atom("-moz-broken")]
2743	_MozBroken,
2744	#[atom("-moz-button-content")]
2745	_MozButtonContent,
2746	#[atom("-moz-canvas")]
2747	_MozCanvas,
2748	#[atom("-moz-cell-content")]
2749	_MozCellContent,
2750	#[atom("-moz-color-swatch")]
2751	_MozColorSwatch,
2752	#[atom("-moz-column-content")]
2753	_MozColumnContent,
2754	#[atom("-moz-column-count")]
2755	_MozColumnCount,
2756	#[atom("-moz-column-gap")]
2757	_MozColumnGap,
2758	#[atom("-moz-column-set")]
2759	_MozColumnSet,
2760	#[atom("-moz-column-span-wrapper")]
2761	_MozColumnSpanWrapper,
2762	#[atom("-moz-device-orientation")]
2763	_MozDeviceOrientation,
2764	#[atom("-moz-device-pixel-ratio")]
2765	_MozDevicePixelRatio,
2766	#[atom("-moz-document")]
2767	_MozDocument,
2768	#[atom("-moz-drag-over")]
2769	_MozDragOver,
2770	#[atom("-moz-dropdown-list")]
2771	_MozDropdownList,
2772	#[atom("-moz-fieldset-content")]
2773	_MozFieldsetContent,
2774	#[atom("-moz-filter")]
2775	_MozFilter,
2776	#[atom("-moz-first-letter-continuation")]
2777	_MozFirstLetterContinuation,
2778	#[atom("-moz-first-node")]
2779	_MozFirstNode,
2780	#[atom("-moz-flex")]
2781	_MozFlex,
2782	#[atom("-moz-flexbox")]
2783	_MozFlexbox,
2784	#[atom("-moz-focus-inner")]
2785	_MozFocusInner,
2786	#[atom("-moz-focus-outer")]
2787	_MozFocusOuter,
2788	#[atom("-moz-focusring")]
2789	_MozFocusring,
2790	#[atom("-moz-frameset-blank")]
2791	_MozFramesetBlank,
2792	#[atom("-moz-full-screen")]
2793	_MozFullScreen,
2794	#[atom("-moz-full-screen-ancestor")]
2795	_MozFullScreenAncestor,
2796	#[atom("-moz-handler-blocked")]
2797	_MozHandlerBlocked,
2798	#[atom("-moz-handler-crashed")]
2799	_MozHandlerCrashed,
2800	#[atom("-moz-handler-disabled")]
2801	_MozHandlerDisabled,
2802	#[atom("-moz-hframeset-border")]
2803	_MozHframesetBorder,
2804	#[atom("-moz-html-canvas-content")]
2805	_MozHtmlCanvasContent,
2806	#[atom("-moz-images-in-menus")]
2807	_MozImagesInMenus,
2808	#[atom("-moz-inline-box")]
2809	_MozInlineBox,
2810	#[atom("-moz-inline-stack")]
2811	_MozInlineStack,
2812	#[atom("-moz-inline-table")]
2813	_MozInlineTable,
2814	#[atom("-moz-last-node")]
2815	_MozLastNode,
2816	#[atom("-moz-line-frame")]
2817	_MozLineFrame,
2818	#[atom("-moz-list-bullet")]
2819	_MozListBullet,
2820	#[atom("-moz-list-number")]
2821	_MozListNumber,
2822	#[atom("-moz-loading")]
2823	_MozLoading,
2824	#[atom("-moz-locale-dir")]
2825	_MozLocaleDir,
2826	#[atom("-moz-lwtheme")]
2827	_MozLwtheme,
2828	#[atom("-moz-lwtheme-brighttext")]
2829	_MozLwthemeBrighttext,
2830	#[atom("-moz-lwtheme-darktext")]
2831	_MozLwthemeDarktext,
2832	#[atom("-moz-mac-grapite-theme")]
2833	_MozMacGraphiteTheme,
2834	#[atom("-moz-maemo-classic-theme")]
2835	_MozMaemoClassicTheme,
2836	#[atom("-moz-mathml-anonymous-block")]
2837	_MozMathmlAnonymousBlock,
2838	#[atom("-moz-max-content")]
2839	_MozMaxContent,
2840	#[atom("-moz-max-device-pixel-ratio")]
2841	_MozMaxDevicePixelRatio,
2842	#[atom("-moz-min-content")]
2843	_MozMinContent,
2844	#[atom("-moz-min-device-pixel-ratio")]
2845	_MozMinDevicePixelRatio,
2846	#[atom("-moz-native-anonymous")]
2847	_MozNativeAnonymous,
2848	#[atom("-moz-number-spin-box")]
2849	_MozNumberSpinBox,
2850	#[atom("-moz-number-spin-down")]
2851	_MozNumberSpinDown,
2852	#[atom("-moz-number-spin-up")]
2853	_MozNumberSpinUp,
2854	#[atom("-moz-only-whitespace")]
2855	_MozOnlyWhitespace,
2856	#[atom("-moz-oof-placeholder")]
2857	_MozOofPlaceholder,
2858	#[atom("-moz-os-version")]
2859	_MozOsVersion,
2860	#[atom("-moz-osx-font-smoothing")]
2861	_MozOsxFontSmoothing,
2862	#[atom("-moz-page")]
2863	_MozPage,
2864	#[atom("-moz-page-break")]
2865	_MozPageBreak,
2866	#[atom("-moz-page-content")]
2867	_MozPageContent,
2868	#[atom("-moz-page-sequence")]
2869	_MozPageSequence,
2870	#[atom("-moz-pagebreak")]
2871	_MozPagebreak,
2872	#[atom("-moz-pagecontent")]
2873	_MozPagecontent,
2874	#[atom("-moz-placeholder")]
2875	_MozPlaceholder,
2876	#[atom("-moz-placeholder-shown")]
2877	_MozPlaceholderShown,
2878	#[atom("-moz-printed-sheet")]
2879	_MozPrintedSheet,
2880	#[atom("-moz-progress-bar")]
2881	_MozProgressBar,
2882	#[atom("-moz-range-progress")]
2883	_MozRangeProgress,
2884	#[atom("-moz-range-thumb")]
2885	_MozRangeThumb,
2886	#[atom("-moz-range-track")]
2887	_MozRangeTrack,
2888	#[atom("-moz-read-only")]
2889	_MozReadOnly,
2890	#[atom("-moz-read-write")]
2891	_MozReadWrite,
2892	#[atom("-moz-reveal")]
2893	_MozReveal,
2894	#[atom("-moz-ruby")]
2895	_MozRuby,
2896	#[atom("-moz-ruby-base")]
2897	_MozRubyBase,
2898	#[atom("-moz-ruby-base-container")]
2899	_MozRubyBaseContainer,
2900	#[atom("-moz-ruby-text")]
2901	_MozRubyText,
2902	#[atom("-moz-ruby-text-container")]
2903	_MozRubyTextContainer,
2904	#[atom("-moz-scrolled-canvas")]
2905	_MozScrolledCanvas,
2906	#[atom("-moz-scrolled-content")]
2907	_MozScrolledContent,
2908	#[atom("-moz-scrolled-page-sequence")]
2909	_MozScrolledPageSequence,
2910	#[atom("-moz-search-clear-button")]
2911	_MozSearchClearButton,
2912	#[atom("-moz-selection")]
2913	_MozSelection,
2914	#[atom("-moz-submit-invalid")]
2915	_MozSubmitInvalid,
2916	#[atom("-moz-suppressed")]
2917	_MozSuppressed,
2918	#[atom("-moz-svg-foreign-content")]
2919	_MozSvgForeignContent,
2920	#[atom("-moz-svg-marker-anon-child")]
2921	_MozSvgMarkerAnonChild,
2922	#[atom("-moz-svg-marker-outer-svg-anon-child")]
2923	_MozSvgMarkerOuterSvgAnonChild,
2924	#[atom("-moz-svg-text")]
2925	_MozSvgText,
2926	#[atom("-moz-table")]
2927	_MozTable,
2928	#[atom("-moz-table-cell")]
2929	_MozTableCell,
2930	#[atom("-moz-table-column")]
2931	_MozTableColumn,
2932	#[atom("-moz-table-column-group")]
2933	_MozTableColumnGroup,
2934	#[atom("-moz-table-outer")]
2935	_MozTableOuter,
2936	#[atom("-moz-table-row")]
2937	_MozTableRow,
2938	#[atom("-moz-table-row-group")]
2939	_MozTableRowGroup,
2940	#[atom("-moz-table-wrapper")]
2941	_MozTableWrapper,
2942	#[atom("-moz-text-control-editing-root")]
2943	_MozTextControlEditingRoot,
2944	#[atom("-moz-text-control-preview")]
2945	_MozTextControlPreview,
2946	#[atom("-moz-touch-enabled")]
2947	_MozTouchEnabled,
2948	#[atom("-moz-transition")]
2949	_MozTransition,
2950	#[atom("-moz-tree-cell")]
2951	_MozTreeCell,
2952	#[atom("-moz-tree-cell-text")]
2953	_MozTreeCellText,
2954	#[atom("-moz-tree-checkbox")]
2955	_MozTreeCheckbox,
2956	#[atom("-moz-tree-column")]
2957	_MozTreeColumn,
2958	#[atom("-moz-tree-drop-feedback")]
2959	_MozTreeDropFeedback,
2960	#[atom("-moz-tree-image")]
2961	_MozTreeImage,
2962	#[atom("-moz-tree-indentation")]
2963	_MozTreeIndentation,
2964	#[atom("-moz-tree-line")]
2965	_MozTreeLine,
2966	#[atom("-moz-tree-row")]
2967	_MozTreeRow,
2968	#[atom("-moz-tree-separator")]
2969	_MozTreeSeparator,
2970	#[atom("-moz-tree-twisty")]
2971	_MozTreeTwisty,
2972	#[atom("-moz-ui-invalid")]
2973	_MozUiInvalid,
2974	#[atom("-moz-ui-valid")]
2975	_MozUiValid,
2976	#[atom("-moz-user-disabled")]
2977	_MozUserDisabled,
2978	#[atom("-moz-user-select")]
2979	_MozUserSelect,
2980	#[atom("-moz-vframeset-border")]
2981	_MozVframesetBorder,
2982	#[atom("-moz-viewport")]
2983	_MozViewport,
2984	#[atom("-moz-viewport-scroll")]
2985	_MozViewportScroll,
2986	#[atom("-moz-window-inactive")]
2987	_MozWindowInactive,
2988
2989	#[atom("-ms-autohiding-scrollbar")]
2990	_MsAutohidingScrollbar = 0b00000000_11000000_00000000_00000000,
2991	#[atom("-ms-backdrop")]
2992	_MsBackdrop,
2993	#[atom("-ms-box-sizing")]
2994	_MsBoxSizing,
2995	#[atom("-ms-browse")]
2996	_MsBrowse,
2997	#[atom("-ms-check")]
2998	_MsCheck,
2999	#[atom("-ms-clear")]
3000	_MsClear,
3001	#[atom("-ms-column-count")]
3002	_MsColumnCount,
3003	#[atom("-ms-device-pixel-ratio")]
3004	_MsDevicePixelRatio,
3005	#[atom("-ms-expand")]
3006	_MsExpand,
3007	#[atom("-ms-fill")]
3008	_MsFill,
3009	#[atom("-ms-fill-lower")]
3010	_MsFillLower,
3011	#[atom("-ms-fill-upper")]
3012	_MsFillUpper,
3013	#[atom("-ms-filter")]
3014	_MsFilter,
3015	#[atom("-ms-flex")]
3016	_MsFlex,
3017	#[atom("-ms-flex-align")]
3018	_MsFlexAlign,
3019	#[atom("-ms-flex-direction")]
3020	_MsFlexDirection,
3021	#[atom("-ms-flex-flow")]
3022	_MsFlexFlow,
3023	#[atom("-ms-flex-item-align")]
3024	_MsFlexItemAlign,
3025	#[atom("-ms-flex-line-pack")]
3026	_MsFlexLinePack,
3027	#[atom("-ms-flex-negative")]
3028	_MsFlexNegative,
3029	#[atom("-ms-flex-order")]
3030	_MsFlexOrder,
3031	#[atom("-ms-flex-pack")]
3032	_MsFlexPack,
3033	#[atom("-ms-flex-positive")]
3034	_MsFlexPositive,
3035	#[atom("-ms-flex-preferred-size")]
3036	_MsFlexPreferredSize,
3037	#[atom("-ms-flex-wrap")]
3038	_MsFlexWrap,
3039	#[atom("-ms-flexbox")]
3040	_MsFlexbox,
3041	#[atom("-ms-fullscreen")]
3042	_MsFullscreen,
3043	#[atom("-ms-grid")]
3044	_MsGrid,
3045	#[atom("-ms-high-contrast")]
3046	_MsHighContrast,
3047	#[atom("-ms-interpolation-mode")]
3048	_MsInterpolationMode,
3049	#[atom("-ms-ime-align")]
3050	_MsImeAlign,
3051	#[atom("-ms-inline-flex")]
3052	_MsInlineFlex,
3053	#[atom("-ms-inline-flexbox")]
3054	_MsInlineFlexbox,
3055	#[atom("-ms-input-placeholder")]
3056	_MsInputPlaceholder,
3057	#[atom("-ms-max-column-count")]
3058	_MsMaxColumnCount,
3059	#[atom("-ms-max-device-pixel-ratio")]
3060	_MsMaxDevicepixelRatio,
3061	#[atom("-ms-min-column-count")]
3062	_MsMinColumnCount,
3063	#[atom("-ms-min-device-pixel-ratio")]
3064	_MsMinDevicePixelRatio,
3065	#[atom("-ms-overflow-style")]
3066	_MsOverflowStyle,
3067	#[atom("-ms-placeholder")]
3068	_MsPlaceholder,
3069	#[atom("-ms-reveal")]
3070	_MsReveal,
3071	#[atom("-ms-selection")]
3072	_MsSelection,
3073	#[atom("-ms-text-size-adjust")]
3074	_MsTextSizeAdjust,
3075	#[atom("-ms-thumb")]
3076	_MsThumb,
3077	#[atom("-ms-ticks-after")]
3078	_MsTicksAfter,
3079	#[atom("-ms-ticks-before")]
3080	_MsTicksBefore,
3081	#[atom("-ms-tooltip")]
3082	_MsTooltip,
3083	#[atom("-ms-touch-action")]
3084	_MsTouchAction,
3085	#[atom("-ms-track")]
3086	_MsTrack,
3087	#[atom("-ms-transform")]
3088	_MsTransform,
3089	#[atom("-ms-transform-origin")]
3090	_MsTransformOrigin,
3091	#[atom("-ms-transition")]
3092	_MsTransition,
3093	#[atom("-ms-user-select")]
3094	_MsUserSelect,
3095	#[atom("-ms-value")]
3096	_MsValue,
3097	#[atom("-ms-view-state")]
3098	_MsViewState,
3099	#[atom("-ms-word-break")]
3100	_MsWordBreak,
3101
3102	#[atom("-o-box-sizing")]
3103	_OBoxSizing = 0b00000000_11100000_00000000_00000000,
3104	#[atom("-o-device-pixel-ratio")]
3105	_ODevicePixelRatio,
3106	#[atom("-o-filter")]
3107	_OFilter,
3108	#[atom("-o-flex")]
3109	_OFlex,
3110	#[atom("-o-inner-spin-button")]
3111	_OInnerSpinButton,
3112	#[atom("-o-max-device-pixel-ratio")]
3113	_OMaxDevicePixelRatio,
3114	#[atom("-o-min-device-pixel-ratio")]
3115	_OMinDevicePixelRatio,
3116	#[atom("-o-object-fit")]
3117	_OObjectFit,
3118	#[atom("-o-outer-spin-button")]
3119	_OOuterSpinButton,
3120	#[atom("-o-placeholder")]
3121	_OPlaceholder,
3122	#[atom("-o-prefocus")]
3123	_OPrefocus,
3124	#[atom("-o-scrollbar")]
3125	_OScrollbar,
3126	#[atom("-o-scrollbar-thumb")]
3127	_OScrollbarThumb,
3128	#[atom("-o-scrollbar-track")]
3129	_OScrollbarTrack,
3130	#[atom("-o-scrollbar-track-piece")]
3131	_OScrollbarTrackPiece,
3132	#[atom("-o-selection")]
3133	_OSelection,
3134}
3135
3136impl CssAtomSet {
3137	pub const ATOMS: CssAtomSet = CssAtomSet::_None;
3138}
3139
3140#[test]
3141fn test_css_atom_set() {
3142	assert_eq!(CssAtomSet::from_str("px"), CssAtomSet::Px);
3143	assert_eq!(CssAtomSet::from_str("PX"), CssAtomSet::Px);
3144	assert_eq!(CssAtomSet::from_str("pX"), CssAtomSet::Px);
3145	assert_eq!(CssAtomSet::from_str("em"), CssAtomSet::Em);
3146	assert_eq!(CssAtomSet::from_str("url"), CssAtomSet::Url);
3147	assert_eq!(CssAtomSet::from_str("uRl"), CssAtomSet::Url);
3148	assert_eq!(CssAtomSet::from_str("URL"), CssAtomSet::Url);
3149	assert_eq!(CssAtomSet::from_str("%"), CssAtomSet::Percentage);
3150	assert_eq!(CssAtomSet::from_str("q"), CssAtomSet::Q);
3151	assert_eq!(CssAtomSet::from_str("Q"), CssAtomSet::Q);
3152	assert_eq!(CssAtomSet::from_str("s"), CssAtomSet::S);
3153	assert_eq!(CssAtomSet::from_str("S"), CssAtomSet::S);
3154	assert_eq!(CssAtomSet::from_str("x"), CssAtomSet::X);
3155	assert_eq!(CssAtomSet::from_str("X"), CssAtomSet::X);
3156	assert_eq!(CssAtomSet::from_str("notfound"), CssAtomSet::_None);
3157
3158	assert_eq!(CssAtomSet::from_str("dpcm"), CssAtomSet::Dpcm);
3159	assert_eq!(CssAtomSet::from_str("dppx"), CssAtomSet::Dppx);
3160	assert_eq!(CssAtomSet::from_str("rcap"), CssAtomSet::Rcap);
3161
3162	assert_eq!(CssAtomSet::from_str("cqmax"), CssAtomSet::Cqmax);
3163	assert_eq!(CssAtomSet::from_str("CQMAX"), CssAtomSet::Cqmax);
3164	assert_eq!(CssAtomSet::from_str("dvmin"), CssAtomSet::Dvmin);
3165	assert_eq!(CssAtomSet::from_str("turn"), CssAtomSet::Turn);
3166	assert_eq!(CssAtomSet::from_str("grad"), CssAtomSet::Grad);
3167
3168	assert_eq!(CssAtomSet::_None.len(), 0);
3169	assert_eq!(CssAtomSet::Percentage.len(), 1);
3170	assert_eq!(CssAtomSet::Q.len(), 1);
3171	assert_eq!(CssAtomSet::S.len(), 1);
3172	assert_eq!(CssAtomSet::X.len(), 1);
3173	assert_eq!(CssAtomSet::Px.len(), 2);
3174	assert_eq!(CssAtomSet::Em.len(), 2);
3175	assert_eq!(CssAtomSet::Hz.len(), 2);
3176	assert_eq!(CssAtomSet::Url.len(), 3);
3177	assert_eq!(CssAtomSet::Cap.len(), 3);
3178	assert_eq!(CssAtomSet::Deg.len(), 3);
3179	assert_eq!(CssAtomSet::Turn.len(), 4);
3180	assert_eq!(CssAtomSet::Grad.len(), 4);
3181	assert_eq!(CssAtomSet::Cqmax.len(), 5);
3182	assert_eq!(CssAtomSet::Dvmin.len(), 5);
3183
3184	assert!(CssAtomSet::_None.is_empty());
3185	assert!(!CssAtomSet::Px.is_empty());
3186	assert!(!CssAtomSet::Url.is_empty());
3187
3188	let test_variants = [
3189		CssAtomSet::Px,
3190		CssAtomSet::Em,
3191		CssAtomSet::Rem,
3192		CssAtomSet::Percentage,
3193		CssAtomSet::Url,
3194		CssAtomSet::Turn,
3195		CssAtomSet::Grad,
3196		CssAtomSet::Cqmax,
3197		CssAtomSet::Q,
3198		CssAtomSet::S,
3199		CssAtomSet::X,
3200	];
3201
3202	for variant in test_variants {
3203		let bits = variant.as_bits();
3204		let restored = CssAtomSet::from_bits(bits);
3205		assert_eq!(variant, restored, "Round-trip failed for {variant:?} with bits {bits}");
3206	}
3207
3208	assert_eq!(CssAtomSet::from_bits(0), CssAtomSet::_None);
3209	assert_eq!(CssAtomSet::from_bits(9999), CssAtomSet::_None);
3210
3211	assert_eq!(CssAtomSet::Percentage.len(), 1);
3212
3213	assert_eq!(CssAtomSet::Px.to_str(), "px");
3214	assert_eq!(CssAtomSet::Em.to_str(), "em");
3215	assert_eq!(CssAtomSet::Percentage.to_str(), "%");
3216	assert_eq!(CssAtomSet::Url.to_str(), "url");
3217	assert_eq!(CssAtomSet::_None.to_str(), "");
3218	assert_eq!(CssAtomSet::Cqmax.to_str(), "cqmax");
3219	assert_eq!(CssAtomSet::Dvmin.to_str(), "dvmin");
3220	assert_eq!(CssAtomSet::Dpcm.to_str(), "dpcm");
3221	assert_eq!(CssAtomSet::Dppx.to_str(), "dppx");
3222
3223	let test_cases = ["px", "em", "%", "url", "cqmax", "dvmin", "turn", "grad"];
3224	for case in test_cases {
3225		let atom = CssAtomSet::from_str(case);
3226		assert_eq!(atom.to_str(), case, "Round-trip failed for '{case}'");
3227	}
3228
3229	assert_eq!(CssAtomSet::from_str("nonexistent").to_str(), "");
3230}
3231
3232#[test]
3233fn test_all_vendor_atoms_have_correct_prefix() {
3234	const VENDOR_FLAG: u32 = 0b00000000_10000000_00000000_00000000;
3235	for i in 0..3000isize {
3236		let atom = CssAtomSet::from_bits(i as u32);
3237		let str = atom.to_str();
3238		let bits = i as i32 as u32;
3239		let has_vendor_flag = (bits & VENDOR_FLAG) != 0;
3240
3241		// Determine expected vendor prefix from string
3242		let expected_vendor = if str.starts_with("-webkit-") {
3243			Some("webkit")
3244		} else if str.starts_with("-moz-") {
3245			Some("moz")
3246		} else if str.starts_with("-ms-") {
3247			Some("ms")
3248		} else if str.starts_with("-o-") {
3249			Some("o")
3250		} else {
3251			None
3252		};
3253
3254		match expected_vendor {
3255			Some(vendor) => {
3256				assert!(
3257					has_vendor_flag,
3258					"Atom {atom:?} (i {i}) has {vendor} prefix in string '{str}' but vendor flag bit 23 is not set"
3259				);
3260				let index = (bits >> 21) & 0b11;
3261				let expected_index = match vendor {
3262					"webkit" => 0,
3263					"moz" => 1,
3264					"ms" => 2,
3265					"o" => 3,
3266					_ => unreachable!(),
3267				};
3268				assert_eq!(
3269					index, expected_index,
3270					"Atom {atom:?} has {vendor} prefix but wrong vendor index: expected {expected_index}, got {index}"
3271				);
3272			}
3273			None => {
3274				// Atom string has no vendor prefix - must NOT have vendor flag set
3275				assert!(
3276					!has_vendor_flag,
3277					"Atom {atom:?} (i {i}) has no vendor prefix in string '{str}' but vendor flag bit 23 is set (bits: {bits:024b})"
3278				);
3279			}
3280		}
3281	}
3282}
3283
3284#[cfg(feature = "dynamic-atoms")]
3285css_lexer::register_atom_set!(CssAtomSet);