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