View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.css;
16  
17  import static org.htmlunit.css.BrowserConfiguration.chrome;
18  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdge;
19  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeAndFirefox;
20  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeAuto;
21  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeEmpty;
22  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeNone;
23  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeNormal;
24  import static org.htmlunit.css.BrowserConfiguration.chromeAndEdgeNotIterable;
25  import static org.htmlunit.css.BrowserConfiguration.edge;
26  import static org.htmlunit.css.BrowserConfiguration.ff;
27  import static org.htmlunit.css.BrowserConfiguration.ffEsr;
28  import static org.htmlunit.css.BrowserConfiguration.ffLatest;
29  import static org.htmlunit.css.BrowserConfiguration.ffNone;
30  import static org.htmlunit.css.BrowserConfiguration.ffNormal;
31  import static org.htmlunit.css.BrowserConfiguration.ffNotIterable;
32  
33  import java.io.Serializable;
34  import java.util.ArrayList;
35  import java.util.List;
36  import java.util.Map;
37  import java.util.concurrent.ConcurrentHashMap;
38  
39  import org.htmlunit.BrowserVersion;
40  
41  /**
42   * Contains information about the style attribute defined for different browser as well as their default values.
43   *
44   * @author Marc Guillemot
45   * @author Frank Danek
46   * @author Ahmed Ashour
47   * @author Ronald Brill
48   */
49  @SuppressWarnings("PMD.AvoidDuplicateLiterals")
50  public final class StyleAttributes implements Serializable {
51      private static final Map<String, Definition> STYLES = new ConcurrentHashMap<>();
52  
53      static {
54          for (final Definition definition : Definition.values()) {
55              STYLES.put(definition.getPropertyName(), definition);
56          }
57      }
58  
59      private StyleAttributes() {
60          // nothing
61      }
62  
63      /**
64       * Gets the style attributes definition with the given name for the specified browser version.
65       * @param propertyName the name of the property
66       * @param browserVersion the browser version
67       * @return {@code null} if no definition exists for this browser version
68       */
69      public static Definition getDefinition(final String propertyName, final BrowserVersion browserVersion) {
70          if (browserVersion == null) {
71              return null;
72          }
73  
74          final Definition definition = STYLES.get(propertyName);
75          if (definition == null) {
76              return null;
77          }
78          if (!definition.isAvailable(browserVersion, false)) {
79              return null;
80          }
81          return definition;
82      }
83  
84      /**
85       * Gets the style attributes definitions for the specified browser version.
86       * @param browserVersion the browser version
87       * @return the list
88       */
89      public static List<Definition> getDefinitions(final BrowserVersion browserVersion) {
90          final List<Definition> list = new ArrayList<>();
91          for (final Definition definition : Definition.values()) {
92              if (definition.isAvailable(browserVersion, true)) {
93                  list.add(definition);
94              }
95          }
96  
97          return list;
98      }
99  
100     /**
101      * Holds information about a style attribute (CSS name, property name, browser availability, default computed value.
102      * TODO: move all (?) style attribute definitions here.
103      */
104     public enum Definition {
105         /** The style property {@code accentColor}. */
106         ACCENT_COLOR("accentColor", "accent-color", chromeAndEdgeAndFirefox("auto")),
107 
108         /** The style property {@code accent-color}. */
109         ACCENT_COLOR_("accent-color", "accent-color", ff("auto")),
110 
111         /** The style property {@code additiveSymbols}. */
112         ADDITIVE_SYMBOLS("additiveSymbols", "additive-symbols", chromeAndEdgeEmpty()),
113 
114         /** The style property {@code alignContent}. */
115         ALIGN_CONTENT("alignContent", "align-content", chromeAndEdgeAndFirefox("normal")),
116 
117         /** The style property {@code align-content}. */
118         ALIGN_CONTENT_("align-content", "align-content", ffNormal()),
119 
120         /** The style property {@code alignItems}. */
121         ALIGN_ITEMS("alignItems", "align-items",  chromeAndEdgeAndFirefox("normal")),
122 
123         /** The style property {@code align-items}. */
124         ALIGN_ITEMS_("align-items", "align-items", ffNormal()),
125 
126         /** The style property {@code alignSelf}. */
127         ALIGN_SELF("alignSelf", "align-self", chromeAndEdgeAndFirefox("auto")),
128 
129         /** The style property {@code align-self}. */
130         ALIGN_SELF_("align-self", "align-self", ff("auto")),
131 
132         /** The style property {@code alignmentBaseline}. */
133         ALIGNMENT_BASELINE("alignmentBaseline", "alignment-baseline", chromeAndEdgeAuto()),
134 
135         /** The style property {@code all}. */
136         ALL("all", "all", chromeAndEdgeAndFirefox("")),
137 
138         /** The style property {@code anchorName}. */
139         ANCHOR_NAME("anchorName", "anchor-name", chromeAndEdgeNone()),
140 
141         /** The style property {@code anchorScope}. */
142         ANCHOR_SCOPE("anchorScope", "anchor-scope", chromeAndEdgeNone()),
143 
144         /** The style property {@code animation}. */
145         ANIMATION("animation", "animation", chromeAndEdge("none 0s ease 0s 1 normal none running"),
146                 ffNone()),
147 
148         /** The style property {@code animationComposition}. */
149         ANIMATION_COMPOSITION("animationComposition", "animation-composition", chromeAndEdge("replace"),
150                 ff("replace")),
151 
152         /** The style property {@code animation-composition}. */
153         ANIMATION_COMPOSITION_("animation-composition", "animation-composition", ff("replace")),
154 
155         /** The style property {@code animationDelay}. */
156         ANIMATION_DELAY("animationDelay", "animation-delay", chromeAndEdgeAndFirefox("0s")),
157 
158         /** The style property {@code animation-delay}. */
159         ANIMATION_DELAY_("animation-delay", "animation-delay", ff("0s")),
160 
161         /** The style property {@code animationDirection}. */
162         ANIMATION_DIRECTION("animationDirection", "animation-direction", chromeAndEdgeAndFirefox("normal")),
163 
164         /** The style property {@code animation-direction}. */
165         ANIMATION_DIRECTION_("animation-direction", "animation-direction", ffNormal()),
166 
167         /** The style property {@code animationDuration}. */
168         ANIMATION_DURATION("animationDuration", "animation-duration", chromeAndEdgeAndFirefox("0s")),
169 
170         /** The style property {@code animation-duration}. */
171         ANIMATION_DURATION_("animation-duration", "animation-duration", ff("0s")),
172 
173         /** The style property {@code animationFillMode}. */
174         ANIMATION_FILL_MODE("animationFillMode", "animation-fill-mode", chromeAndEdgeAndFirefox("none")),
175 
176         /** The style property {@code animation-fill-mode}. */
177         ANIMATION_FILL_MODE_("animation-fill-mode", "animation-fill-mode", ffNone()),
178 
179         /** The style property {@code animationIterationCount}. */
180         ANIMATION_ITERATION_COUNT("animationIterationCount", "animation-iteration-count",
181                 chromeAndEdgeAndFirefox("1")),
182 
183         /** The style property {@code animation-iteration-count}. */
184         ANIMATION_ITERATION_COUNT_("animation-iteration-count", "animation-iteration-count", ff("1")),
185 
186         /** The style property {@code animationName}. */
187         ANIMATION_NAME("animationName", "animation-name", chromeAndEdgeAndFirefox("none")),
188 
189         /** The style property {@code animation-name}. */
190         ANIMATION_NAME_("animation-name", "animation-name", ffNone()),
191 
192         /** The style property {@code animationPlayState}. */
193         ANIMATION_PLAY_STATE("animationPlayState", "animation-play-state",
194                 chromeAndEdgeAndFirefox("running")),
195 
196         /** The style property {@code animation-play-state}. */
197         ANIMATION_PLAY_STATE_("animation-play-state", "animation-play-state", ff("running")),
198 
199         /** The style property {@code animationRange}. */
200         ANIMATION_RANGE("animationRange", "animation-range", chromeAndEdgeNormal()),
201 
202         /** The style property {@code animationRangeEnd}. */
203         ANIMATION_RANGE_END("animationRangeEnd", "animation-range-end", chromeAndEdgeNormal()),
204 
205         /** The style property {@code animationRangeStart}. */
206         ANIMATION_RANGE_START("animationRangeStart", "animation-range-start", chromeAndEdgeNormal()),
207 
208         /** The style property {@code animationTimeline}. */
209         ANIMATION_TIMELINE("animationTimeline", "animation-timeline", chromeAndEdgeAuto()),
210 
211         /** The style property {@code animationTimingFunction}. */
212         ANIMATION_TIMING_FUNCTION("animationTimingFunction", "animation-timing-function",
213                 chromeAndEdgeAndFirefox("ease")),
214 
215         /** The style property {@code animation-timing-function}. */
216         ANIMATION_TIMING_FUNCTION_("animation-timing-function", "animation-timing-function", ff("ease")),
217 
218         /** The style property {@code appRegion}. */
219         APP_REGION("appRegion", "app-region", chromeAndEdgeNone()),
220 
221         /** The style property {@code appearance}. */
222         APPEARANCE("appearance", "appearance", chromeAndEdgeNone(), ffNone()),
223 
224         /** The style property {@code ascentOverride}. */
225         ASCENT_OVERRIDE("ascentOverride", "ascent-override", chromeAndEdgeEmpty()),
226 
227         /** The style property {@code aspectRatio}. */
228         ASPECT_RATIO("aspectRatio", "aspect-ratio", chromeAndEdgeAuto(), ff("auto")),
229 
230         /** The style property {@code aspect-ratio}. */
231         ASPECT_RATIO_("aspect-ratio", "aspect-ratio", ff("auto")),
232 
233         /** The style property {@code backdropFilter}. */
234         BACKDROP_FILTER("backdropFilter", "backdrop-filter", chromeAndEdgeNone(), ffNone()),
235 
236         /** The style property {@code backdrop-filter}. */
237         BACKDROP_FILTER_("backdrop-filter", "backdrop-filter", ffNone()),
238 
239         /** The style property {@code backfaceVisibility}. */
240         BACKFACE_VISIBILITY("backfaceVisibility", "backface-visibility",
241                 chromeAndEdgeAndFirefox("visible")),
242 
243         /** The style property {@code backface-visibility}. */
244         BACKFACE_VISIBILITY_("backface-visibility", "backface-visibility", ff("visible")),
245 
246         /** The style property {@code background}. */
247         BACKGROUND("background", "background",
248                 ffNone(),
249                 chromeAndEdge("rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box")),
250 
251         /** The style property {@code backgroundAttachment}. */
252         BACKGROUND_ATTACHMENT("backgroundAttachment", "background-attachment",
253                 chromeAndEdgeAndFirefox("scroll")),
254 
255         /** The style property {@code background-attachment}. */
256         BACKGROUND_ATTACHMENT_("background-attachment", "background-attachment", ff("scroll")),
257 
258         /** The style property {@code backgroundBlendMode}. */
259         BACKGROUND_BLEND_MODE("backgroundBlendMode", "background-blend-mode", chromeAndEdgeAndFirefox("normal")),
260 
261         /** The style property {@code background-blend-mode}. */
262         BACKGROUND_BLEND_MODE_("background-blend-mode", "background-blend-mode", ffNormal()),
263 
264         /** The style property {@code backgroundClip}. */
265         BACKGROUND_CLIP("backgroundClip", "background-clip",
266                 chromeAndEdgeAndFirefox("border-box")),
267 
268         /** The style property {@code background-clip}. */
269         BACKGROUND_CLIP_("background-clip", "background-clip", ff("border-box")),
270 
271         /** The style property {@code backgroundColor}. */
272         BACKGROUND_COLOR("backgroundColor", "background-color",
273                 chromeAndEdgeAndFirefox("rgba(0, 0, 0, 0)")),
274 
275         /** The style property {@code background-color}. */
276         BACKGROUND_COLOR_("background-color", "background-color", ff("rgba(0, 0, 0, 0)")),
277 
278         /** The style property {@code backgroundImage}. */
279         BACKGROUND_IMAGE("backgroundImage", "background-image", chromeAndEdgeAndFirefox("none")),
280 
281         /** The style property {@code background-image}. */
282         BACKGROUND_IMAGE_("background-image", "background-image", ffNone()),
283 
284         /** The style property {@code backgroundOrigin}. */
285         BACKGROUND_ORIGIN("backgroundOrigin", "background-origin",
286                 chromeAndEdgeAndFirefox("padding-box")),
287 
288         /** The style property {@code background-origin}. */
289         BACKGROUND_ORIGIN_("background-origin", "background-origin", ff("padding-box")),
290 
291         /** The style property {@code backgroundPosition}. */
292         BACKGROUND_POSITION("backgroundPosition", "background-position", chromeAndEdgeAndFirefox("0% 0%")),
293 
294         /** The style property {@code background-position}. */
295         BACKGROUND_POSITION_("background-position", "background-position", ff("0% 0%")),
296 
297         /** The style property {@code backgroundPositionX}. */
298         BACKGROUND_POSITION_X("backgroundPositionX", "background-position-x",
299                 chromeAndEdgeAndFirefox("0%")),
300 
301         /** The style property {@code background-position-x}. */
302         BACKGROUND_POSITION_X_("background-position-x", "background-position-x", ff("0%")),
303 
304         /** The style property {@code backgroundPositionY}. */
305         BACKGROUND_POSITION_Y("backgroundPositionY", "background-position-y",
306                 chromeAndEdge("0%"),
307                 ff("0%")),
308 
309         /** The style property {@code background-position-y}. */
310         BACKGROUND_POSITION_Y_("background-position-y", "background-position-y", ff("0%")),
311 
312         /** The style property {@code backgroundRepeat}. */
313         BACKGROUND_REPEAT("backgroundRepeat", "background-repeat", chromeAndEdge("repeat"),
314                 ff("repeat")),
315 
316         /** The style property {@code background-repeat}. */
317         BACKGROUND_REPEAT_("background-repeat", "background-repeat", ff("repeat")),
318 
319         /** The style property {@code backgroundSize}. */
320         BACKGROUND_SIZE("backgroundSize", "background-size", ff("auto"),
321                 chromeAndEdgeAuto()),
322 
323         /** The style property {@code background-size}. */
324         BACKGROUND_SIZE_("background-size", "background-size", ff("auto")),
325 
326         /** The style property {@code basePalette}. */
327         BASE_PALETTE("basePalette", "base-palette", chromeAndEdgeEmpty()),
328 
329         /** The style property {@code baselineShift}. */
330         BASELINE_SHIFT("baselineShift", "baseline-shift",
331                 chromeAndEdge("0px")),
332 
333         /** The style property {@code baselineSource}. */
334         BASELINE_SOURCE("baselineSource", "baseline-source", chromeAndEdgeAuto(),
335                 ff("auto")),
336 
337         /** The style property {@code baseline-source}. */
338         BASELINE_SOURCE_("baseline-source", "baseline-source", ff("auto")),
339 
340         /** The style property {@code blockSize}. */
341         BLOCK_SIZE("blockSize", "block-size", chromeAndEdgeAndFirefox("auto")),
342 
343         /** The style property {@code block-size}. */
344         BLOCK_SIZE_("block-size", "block-size", ff("auto")),
345 
346         /** The style property {@code border}. */
347         BORDER("border", "border", chromeAndEdge("0px none rgb(0, 0, 0)"), ff("0px rgb(0, 0, 0)")),
348 
349         /** The style property {@code borderBlock}. */
350         BORDER_BLOCK("borderBlock", "border-block", chromeAndEdge("0px none rgb(0, 0, 0)"),
351                 ff("0px rgb(0, 0, 0)")),
352 
353         /** The style property {@code border-block}. */
354         BORDER_BLOCK_("border-block", "border-block", ff("0px rgb(0, 0, 0)")),
355 
356         /** The style property {@code borderBlockColor}. */
357         BORDER_BLOCK_COLOR("borderBlockColor", "border-block-color", chromeAndEdge("rgb(0, 0, 0)"),
358                 ff("rgb(0, 0, 0)")),
359 
360         /** The style property {@code border-block-color}. */
361         BORDER_BLOCK_COLOR_("border-block-color", "border-block-color",
362                 ff("rgb(0, 0, 0)")),
363 
364         /** The style property {@code borderBlockEnd}. */
365         BORDER_BLOCK_END("borderBlockEnd", "border-block-end", chromeAndEdge("0px none rgb(0, 0, 0)"),
366                 ff("0px rgb(0, 0, 0)")),
367 
368         /** The style property {@code border-block-end}. */
369         BORDER_BLOCK_END_("border-block-end", "border-block-end",
370                 ff("0px rgb(0, 0, 0)")),
371 
372         /** The style property {@code borderBlockEndColor}. */
373         BORDER_BLOCK_END_COLOR("borderBlockEndColor", "border-block-end-color", chromeAndEdge("rgb(0, 0, 0)"),
374                 ff("rgb(0, 0, 0)")),
375 
376         /** The style property {@code border-block-end-color}. */
377         BORDER_BLOCK_END_COLOR_("border-block-end-color", "border-block-end-color",
378                 ff("rgb(0, 0, 0)")),
379 
380         /** The style property {@code borderBlockEndStyle}. */
381         BORDER_BLOCK_END_STYLE("borderBlockEndStyle", "border-block-end-style", chromeAndEdgeNone(),
382                 ffNone()),
383 
384         /** The style property {@code border-block-end-style}. */
385         BORDER_BLOCK_END_STYLE_("border-block-end-style", "border-block-end-style", ffNone()),
386 
387         /** The style property {@code borderBlockEndWidth}. */
388         BORDER_BLOCK_END_WIDTH("borderBlockEndWidth", "border-block-end-width", chromeAndEdge("0px"),
389                 ff("0px")),
390 
391         /** The style property {@code border-block-end-width}. */
392         BORDER_BLOCK_END_WIDTH_("border-block-end-width", "border-block-end-width", ff("0px")),
393 
394         /** The style property {@code borderBlockStart}. */
395         BORDER_BLOCK_START("borderBlockStart", "border-block-start", chromeAndEdge("0px none rgb(0, 0, 0)"),
396                 ff("0px rgb(0, 0, 0)")),
397 
398         /** The style property {@code border-block-start}. */
399         BORDER_BLOCK_START_("border-block-start", "border-block-start",
400                 ff("0px rgb(0, 0, 0)")),
401 
402         /** The style property {@code borderBlockStartColor}. */
403         BORDER_BLOCK_START_COLOR("borderBlockStartColor", "border-block-start-color", chromeAndEdge("rgb(0, 0, 0)"),
404                 ff("rgb(0, 0, 0)")),
405 
406         /** The style property {@code border-block-start-color}. */
407         BORDER_BLOCK_START_COLOR_("border-block-start-color", "border-block-start-color",
408                 ff("rgb(0, 0, 0)")),
409 
410         /** The style property {@code borderBlockStartStyle}. */
411         BORDER_BLOCK_START_STYLE("borderBlockStartStyle", "border-block-start-style", chromeAndEdgeNone(),
412                 ffNone()),
413 
414         /** The style property {@code border-block-start-style}. */
415         BORDER_BLOCK_START_STYLE_("border-block-start-style", "border-block-start-style",
416                 ffNone()),
417 
418         /** The style property {@code borderBlockStartWidth}. */
419         BORDER_BLOCK_START_WIDTH("borderBlockStartWidth", "border-block-start-width", chromeAndEdge("0px"),
420                 ff("0px")),
421 
422         /** The style property {@code border-block-start-width}. */
423         BORDER_BLOCK_START_WIDTH_("border-block-start-width", "border-block-start-width",
424                 ff("0px")),
425 
426         /** The style property {@code borderBlockStyle}. */
427         BORDER_BLOCK_STYLE("borderBlockStyle", "border-block-style", chromeAndEdgeNone(),
428                 ffNone()),
429 
430         /** The style property {@code border-block-style}. */
431         BORDER_BLOCK_STYLE_("border-block-style", "border-block-style",
432                 ffNone()),
433 
434         /** The style property {@code borderBlockWidth}. */
435         BORDER_BLOCK_WIDTH("borderBlockWidth", "border-block-width", chromeAndEdge("0px"),
436                 ff("0px")),
437 
438         /** The style property {@code border-block-width}. */
439         BORDER_BLOCK_WIDTH_("border-block-width", "border-block-width",
440                 ff("0px")),
441 
442         /** The style property {@code borderBottom}. */
443         BORDER_BOTTOM("borderBottom", "border-bottom", chromeAndEdge("0px none rgb(0, 0, 0)"),
444                 ff("0px rgb(0, 0, 0)")),
445 
446         /** The style property {@code border-bottom}. */
447         BORDER_BOTTOM_("border-bottom", "border-bottom", ff("0px rgb(0, 0, 0)")),
448 
449         /** The style property {@code borderBottomColor}. */
450         BORDER_BOTTOM_COLOR("borderBottomColor", "border-bottom-color", chromeAndEdge("rgb(0, 0, 0)"),
451                 ff("rgb(0, 0, 0)")),
452 
453         /** The style property {@code border-bottom-color}. */
454         BORDER_BOTTOM_COLOR_("border-bottom-color", "border-bottom-color", ff("rgb(0, 0, 0)")),
455 
456         /** The style property {@code borderBottomLeftRadius}. */
457         BORDER_BOTTOM_LEFT_RADIUS("borderBottomLeftRadius", "border-bottom-left-radius",
458                 ff("0px"), chromeAndEdge("0px")),
459 
460         /** The style property {@code border-bottom-left-radius}. */
461         BORDER_BOTTOM_LEFT_RADIUS_("border-bottom-left-radius", "border-bottom-left-radius", ff("0px")),
462 
463         /** The style property {@code borderBottomRightRadius}. */
464         BORDER_BOTTOM_RIGHT_RADIUS("borderBottomRightRadius", "border-bottom-right-radius",
465                 ff("0px"), chromeAndEdge("0px")),
466 
467         /** The style property {@code border-bottom-right-radius}. */
468         BORDER_BOTTOM_RIGHT_RADIUS_("border-bottom-right-radius", "border-bottom-right-radius", ff("0px")),
469 
470         /** The style property {@code borderBottomStyle}. */
471         BORDER_BOTTOM_STYLE("borderBottomStyle", "border-bottom-style", chromeAndEdgeNone(), ffNone()),
472 
473         /** The style property {@code border-bottom-style}. */
474         BORDER_BOTTOM_STYLE_("border-bottom-style", "border-bottom-style", ffNone()),
475 
476         /** The style property {@code borderBottomWidth}. */
477         BORDER_BOTTOM_WIDTH("borderBottomWidth", "border-bottom-width", chromeAndEdge("0px"), ff("0px")),
478 
479         /** The style property {@code border-bottom-width}. */
480         BORDER_BOTTOM_WIDTH_("border-bottom-width", "border-bottom-width", ff("0px")),
481 
482         /** The style property {@code borderCollapse}. */
483         BORDER_COLLAPSE("borderCollapse", "border-collapse", chromeAndEdge("separate"), ff("separate")),
484 
485         /** The style property {@code border-collapse}. */
486         BORDER_COLLAPSE_("border-collapse", "border-collapse", ff("separate")),
487 
488         /** The style property {@code borderColor}. */
489         BORDER_COLOR("borderColor", "border-color", chromeAndEdge("rgb(0, 0, 0)"),
490                 ff("rgb(0, 0, 0)")),
491 
492         /** The style property {@code border-color}. */
493         BORDER_COLOR_("border-color", "border-color", ff("rgb(0, 0, 0)")),
494 
495         /** The style property {@code borderEndEndRadius}. */
496         BORDER_END_END_RADIUS("borderEndEndRadius", "border-end-end-radius", chromeAndEdge("0px"), ff("0px")),
497 
498         /** The style property {@code border-end-end-radius}. */
499         BORDER_END_END_RADIUS_("border-end-end-radius", "border-end-end-radius", ff("0px")),
500 
501         /** The style property {@code borderEndStartRadius}. */
502         BORDER_END_START_RADIUS("borderEndStartRadius", "border-end-start-radius", chromeAndEdge("0px"), ff("0px")),
503 
504         /** The style property {@code border-end-start-radius}. */
505         BORDER_END_START_RADIUS_("border-end-start-radius", "border-end-start-radius", ff("0px")),
506 
507         /** The style property {@code borderImage}. */
508         BORDER_IMAGE("borderImage", "border-image", chromeAndEdgeNone(), ffNone()),
509 
510         /** The style property {@code border-image}. */
511         BORDER_IMAGE_("border-image", "border-image", ffNone()),
512 
513         /** The style property {@code borderImageOutset}. */
514         BORDER_IMAGE_OUTSET("borderImageOutset", "border-image-outset", chromeAndEdge("0"),
515                 ff("0")),
516 
517         /** The style property {@code border-image-outset}. */
518         BORDER_IMAGE_OUTSET_("border-image-outset", "border-image-outset", ff("0")),
519 
520         /** The style property {@code borderImageRepeat}. */
521         BORDER_IMAGE_REPEAT("borderImageRepeat", "border-image-repeat",
522                 ff("stretch"), chromeAndEdge("stretch")),
523 
524         /** The style property {@code border-image-repeat}. */
525         BORDER_IMAGE_REPEAT_("border-image-repeat", "border-image-repeat",
526                 ff("stretch")),
527 
528         /** The style property {@code borderImageSlice}. */
529         BORDER_IMAGE_SLICE("borderImageSlice", "border-image-slice", chromeAndEdge("100%"),
530                 ff("100%")),
531 
532         /** The style property {@code border-image-slice}. */
533         BORDER_IMAGE_SLICE_("border-image-slice", "border-image-slice",
534                 ff("100%")),
535 
536         /** The style property {@code borderImageSource}. */
537         BORDER_IMAGE_SOURCE("borderImageSource", "border-image-source", ffNone(), chromeAndEdgeNone()),
538 
539         /** The style property {@code border-image-source}. */
540         BORDER_IMAGE_SOURCE_("border-image-source", "border-image-source", ffNone()),
541 
542         /** The style property {@code borderImageWidth}. */
543         BORDER_IMAGE_WIDTH("borderImageWidth", "border-image-width", chromeAndEdge("1"),
544                 ff("1")),
545 
546         /** The style property {@code border-image-width}. */
547         BORDER_IMAGE_WIDTH_("border-image-width", "border-image-width", ff("1")),
548 
549         /** The style property {@code borderInline}. */
550         BORDER_INLINE("borderInline", "border-inline", chromeAndEdge("0px none rgb(0, 0, 0)"),
551                 ff("0px rgb(0, 0, 0)")),
552 
553         /** The style property {@code border-inline}. */
554         BORDER_INLINE_("border-inline", "border-inline", ff("0px rgb(0, 0, 0)")),
555 
556         /** The style property {@code borderInlineColor}. */
557         BORDER_INLINE_COLOR("borderInlineColor", "border-inline-color", chromeAndEdge("rgb(0, 0, 0)"),
558                 ff("rgb(0, 0, 0)")),
559 
560         /** The style property {@code border-inline-color}. */
561         BORDER_INLINE_COLOR_("border-inline-color", "border-inline-color",
562                 ff("rgb(0, 0, 0)")),
563 
564         /** The style property {@code borderInlineEnd}. */
565         BORDER_INLINE_END("borderInlineEnd", "border-inline-end", chromeAndEdge("0px none rgb(0, 0, 0)"),
566                 ff("0px rgb(0, 0, 0)")),
567 
568         /** The style property {@code border-inline-end}. */
569         BORDER_INLINE_END_("border-inline-end", "border-inline-end", ff("0px rgb(0, 0, 0)")),
570 
571         /** The style property {@code borderInlineEndColor}. */
572         BORDER_INLINE_END_COLOR("borderInlineEndColor", "border-inline-end-color", chromeAndEdge("rgb(0, 0, 0)"),
573                 ff("rgb(0, 0, 0)")),
574 
575         /** The style property {@code border-inline-end-color}. */
576         BORDER_INLINE_END_COLOR_("border-inline-end-color", "border-inline-end-color",
577                 ff("rgb(0, 0, 0)")),
578 
579         /** The style property {@code borderInlineEndStyle}. */
580         BORDER_INLINE_END_STYLE("borderInlineEndStyle", "border-inline-end-style", chromeAndEdgeNone(),
581                 ffNone()),
582 
583         /** The style property {@code border-inline-end-style}. */
584         BORDER_INLINE_END_STYLE_("border-inline-end-style", "border-inline-end-style",
585                 ffNone()),
586 
587         /** The style property {@code borderInlineEndWidth}. */
588         BORDER_INLINE_END_WIDTH("borderInlineEndWidth", "border-inline-end-width", chromeAndEdge("0px"),
589                 ff("0px")),
590 
591         /** The style property {@code border-inline-end-width}. */
592         BORDER_INLINE_END_WIDTH_("border-inline-end-width", "border-inline-end-width",
593                 ff("0px")),
594 
595         /** The style property {@code borderInlineStart}. */
596         BORDER_INLINE_START("borderInlineStart", "border-inline-start", chromeAndEdge("0px none rgb(0, 0, 0)"),
597                 ff("0px rgb(0, 0, 0)")),
598 
599         /** The style property {@code border-inline-start}. */
600         BORDER_INLINE_START_("border-inline-start", "border-inline-start", ff("0px rgb(0, 0, 0)")),
601 
602         /** The style property {@code borderInlineStartColor}. */
603         BORDER_INLINE_START_COLOR("borderInlineStartColor", "border-inline-start-color",
604                 chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
605 
606         /** The style property {@code border-inline-start-color}. */
607         BORDER_INLINE_START_COLOR_("border-inline-start-color", "border-inline-start-color",
608                 ff("rgb(0, 0, 0)")),
609 
610         /** The style property {@code borderInlineStartStyle}. */
611         BORDER_INLINE_START_STYLE("borderInlineStartStyle", "border-inline-start-style", chromeAndEdgeNone(),
612                 ffNone()),
613 
614         /** The style property {@code border-inline-start-style}. */
615         BORDER_INLINE_START_STYLE_("border-inline-start-style", "border-inline-start-style",
616                 ffNone()),
617 
618         /** The style property {@code borderInlineStartWidth}. */
619         BORDER_INLINE_START_WIDTH("borderInlineStartWidth", "border-inline-start-width", chromeAndEdge("0px"),
620                 ff("0px")),
621 
622         /** The style property {@code border-inline-start-width}. */
623         BORDER_INLINE_START_WIDTH_("border-inline-start-width", "border-inline-start-width",
624                 ff("0px")),
625 
626         /** The style property {@code borderInlineStyle}. */
627         BORDER_INLINE_STYLE("borderInlineStyle", "border-inline-style", chromeAndEdgeNone(),
628                 ffNone()),
629 
630         /** The style property {@code border-inline-style}. */
631         BORDER_INLINE_STYLE_("border-inline-style", "border-inline-style",
632                 ffNone()),
633 
634         /** The style property {@code borderInlineWidth}. */
635         BORDER_INLINE_WIDTH("borderInlineWidth", "border-inline-color", chromeAndEdge("0px"),
636                 ff("0px")),
637 
638         /** The style property {@code border-inline-width}. */
639         BORDER_INLINE_WIDTH_("border-inline-width", "border-inline-color", ff("0px")),
640 
641         /** The style property {@code borderLeft}. */
642         BORDER_LEFT("borderLeft", "border-left", chromeAndEdge("0px none rgb(0, 0, 0)"),
643                 ff("0px rgb(0, 0, 0)")),
644 
645         /** The style property {@code border-left}. */
646         BORDER_LEFT_("border-left", "border-left", ff("0px rgb(0, 0, 0)")),
647 
648         /** The style property {@code borderLeftColor}. */
649         BORDER_LEFT_COLOR("borderLeftColor", "border-left-color", chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
650 
651         /** The style property {@code border-left-color}. */
652         BORDER_LEFT_COLOR_("border-left-color", "border-left-color", ff("rgb(0, 0, 0)")),
653 
654         /** The style property {@code borderLeftStyle}. */
655         BORDER_LEFT_STYLE("borderLeftStyle", "border-left-style", chromeAndEdgeNone(), ffNone()),
656 
657         /** The style property {@code border-left-style}. */
658         BORDER_LEFT_STYLE_("border-left-style", "border-left-style", ffNone()),
659 
660         /** The style property {@code borderLeftWidth}. */
661         BORDER_LEFT_WIDTH("borderLeftWidth", "border-left-width", chromeAndEdge("0px"), ff("")),
662 
663         /** The style property {@code border-left-width}. */
664         BORDER_LEFT_WIDTH_("border-left-width", "border-left-width", ff("0px")),
665 
666         /** The style property {@code borderRadius}. */
667         BORDER_RADIUS("borderRadius", "border-radius", chromeAndEdge("0px"), ff("0px")),
668 
669         /** The style property {@code border-radius}. */
670         BORDER_RADIUS_("border-radius", "border-radius", ff("0px")),
671 
672         /** The style property {@code borderRight}. */
673         BORDER_RIGHT("borderRight", "border-right", chromeAndEdge("0px none rgb(0, 0, 0)"),
674                 ff("0px rgb(0, 0, 0)")),
675 
676         /** The style property {@code border-right}. */
677         BORDER_RIGHT_("border-right", "border-right", ff("0px rgb(0, 0, 0)")),
678 
679         /** The style property {@code borderRightColor}. */
680         BORDER_RIGHT_COLOR("borderRightColor", "border-right-color", chromeAndEdge("rgb(0, 0, 0)"), ff("")),
681 
682         /** The style property {@code border-right-color}. */
683         BORDER_RIGHT_COLOR_("border-right-color", "border-right-color", ff("rgb(0, 0, 0)")),
684 
685         /** The style property {@code borderRightStyle}. */
686         BORDER_RIGHT_STYLE("borderRightStyle", "border-right-style", chromeAndEdgeNone(), ff("")),
687 
688         /** The style property {@code border-right-style}. */
689         BORDER_RIGHT_STYLE_("border-right-style", "border-right-style", ffNone()),
690 
691         /** The style property {@code borderRightWidth}. */
692         BORDER_RIGHT_WIDTH("borderRightWidth", "border-right-width", chromeAndEdge("0px"), ff("")),
693 
694         /** The style property {@code border-right-width}. */
695         BORDER_RIGHT_WIDTH_("border-right-width", "border-right-width", ff("0px")),
696 
697         /** The style property {@code borderSpacing}. */
698         BORDER_SPACING("borderSpacing", "border-spacing", chromeAndEdge("0px 0px"), ffEsr("0px 0px"), ffLatest("0px")),
699 
700         /** The style property {@code border-spacing}. */
701         BORDER_SPACING_("border-spacing", "border-spacing", ffEsr("0px 0px"), ffLatest("0px")),
702 
703         /** The style property {@code borderStartEndRadius}. */
704         BORDER_START_END_RADIUS("borderStartEndRadius", "border-start-end-radius", chromeAndEdge("0px"), ff("0px")),
705 
706         /** The style property {@code border-start-end-radius}. */
707         BORDER_START_END_RADIUS_("border-start-end-radius", "border-start-end-radius", ff("0px")),
708 
709         /** The style property {@code borderStartStartRadius}. */
710         BORDER_START_START_RADIUS("borderStartStartRadius", "border-start-start-radius",
711                 chromeAndEdge("0px"), ff("0px")),
712 
713         /** The style property {@code border-start-start-radius}. */
714         BORDER_START_START_RADIUS_("border-start-start-radius", "border-start-start-radius", ff("0px")),
715 
716         /** The style property {@code borderStyle}. */
717         BORDER_STYLE("borderStyle", "border-style", chromeAndEdgeNone(),
718                 ffNone()),
719 
720         /** The style property {@code border-style}. */
721         BORDER_STYLE_("border-style", "border-style", ffNone()),
722 
723         /** The style property {@code borderTop}. */
724         BORDER_TOP("borderTop", "border-top", chromeAndEdge("0px none rgb(0, 0, 0)"),
725                 ff("0px rgb(0, 0, 0)")),
726 
727         /** The style property {@code border-top}. */
728         BORDER_TOP_("border-top", "border-top", ff("0px rgb(0, 0, 0)")),
729 
730         /** The style property {@code borderTopColor}. */
731         BORDER_TOP_COLOR("borderTopColor", "border-top-color", chromeAndEdge("rgb(0, 0, 0)"), ff("")),
732 
733         /** The style property {@code border-top-color}. */
734         BORDER_TOP_COLOR_("border-top-color", "border-top-color", ff("rgb(0, 0, 0)")),
735 
736         /** The style property {@code borderTopLeftRadius}. */
737         BORDER_TOP_LEFT_RADIUS("borderTopLeftRadius", "border-top-left-radius",
738                 ff("0px"), chromeAndEdge("0px")),
739 
740         /** The style property {@code border-top-left-radius}. */
741         BORDER_TOP_LEFT_RADIUS_("border-top-left-radius", "border-top-left-radius", ff("0px")),
742 
743         /** The style property {@code borderTopRightRadius}. */
744         BORDER_TOP_RIGHT_RADIUS("borderTopRightRadius", "border-top-right-radius",
745                 ff("0px"), chromeAndEdge("0px")),
746 
747         /** The style property {@code border-top-right-radius}. */
748         BORDER_TOP_RIGHT_RADIUS_("border-top-right-radius", "border-top-right-radius", ff("0px")),
749 
750         /** The style property {@code borderTopStyle}. */
751         BORDER_TOP_STYLE("borderTopStyle", "border-top-style", chromeAndEdgeNone(), ff("")),
752 
753         /** The style property {@code border-top-style}. */
754         BORDER_TOP_STYLE_("border-top-style", "border-top-style", ffNone()),
755 
756         /** The style property {@code borderTopWidth}. */
757         BORDER_TOP_WIDTH("borderTopWidth", "border-top-width", chromeAndEdge("0px"), ff("")),
758 
759         /** The style property {@code border-top-width}. */
760         BORDER_TOP_WIDTH_("border-top-width", "border-top-width", ff("0px")),
761 
762         /** The style property {@code borderWidth}. */
763         BORDER_WIDTH("borderWidth", "border-width", chromeAndEdge("0px"),
764                 ff("0px")),
765 
766         /** The style property {@code border-width}. */
767         BORDER_WIDTH_("border-width", "border-width", ff("0px")),
768 
769         /** The style property {@code bottom}. */
770         BOTTOM("bottom", "bottom", chromeAndEdgeAuto(), ff("")),
771 
772         /** The style property {@code boxDecorationBreak}. */
773         BOX_DECORATION_BREAK("boxDecorationBreak", "box-decoration-break", ff("slice"), chromeAndEdge("slice")),
774 
775         /** The style property {@code box-decoration-break}. */
776         BOX_DECORATION_BREAK_("box-decoration-break", "box-decoration-break", ff("slice")),
777 
778         /** The style property {@code boxShadow}. */
779         BOX_SHADOW("boxShadow", "box-shadow", ffNone(), chromeAndEdgeNone()),
780 
781         /** The style property {@code box-shadow}. */
782         BOX_SHADOW_("box-shadow", "box-shadow", ffNone()),
783 
784         /** The style property {@code boxSizing}. */
785         BOX_SIZING("boxSizing", "box-sizing", ff("content-box"), chromeAndEdge("content-box")),
786 
787         /** The style property {@code box-sizing}. */
788         BOX_SIZING_("box-sizing", "box-sizing", ff("content-box")),
789 
790         /** The style property {@code breakAfter}. */
791         BREAK_AFTER("breakAfter", "break-after", chromeAndEdgeAuto(), ff("auto")),
792 
793         /** The style property {@code break-after}. */
794         BREAK_AFTER_("break-after", "break-after", ff("auto")),
795 
796         /** The style property {@code breakBefore}. */
797         BREAK_BEFORE("breakBefore", "break-before", chromeAndEdgeAuto(), ff("auto")),
798 
799         /** The style property {@code break-before}. */
800         BREAK_BEFORE_("break-before", "break-before", ff("auto")),
801 
802         /** The style property {@code breakInside}. */
803         BREAK_INSIDE("breakInside", "break-inside", chromeAndEdgeAuto(), ff("auto")),
804 
805         /** The style property {@code break-inside}. */
806         BREAK_INSIDE_("break-inside", "break-inside", ff("auto")),
807 
808         /** The style property {@code bufferedRendering}. */
809         BUFFERED_RENDERING("bufferedRendering", "buffered-rendering", chromeAndEdgeAuto()),
810 
811         /** The style property {@code captionSide}. */
812         CAPTION_SIDE("captionSide", "caption-side", chromeAndEdge("top"), ff("top")),
813 
814         /** The style property {@code caption-side}. */
815         CAPTION_SIDE_("caption-side", "caption-side", ff("top")),
816 
817         /** The style property {@code caretColor}. */
818         CARET_COLOR("caretColor", "caret-color", chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
819 
820         /** The style property {@code caret-color}. */
821         CARET_COLOR_("caret-color", "caret-color", ff("rgb(0, 0, 0)")),
822 
823         /** The style property {@code clear}. */
824         CLEAR("clear", "clear", chromeAndEdgeNone(), ffNone()),
825 
826         /** The style property {@code clip}. */
827         CLIP("clip", "clip", chromeAndEdgeAuto(), ff("auto")),
828 
829         /** The style property {@code clipPath}. */
830         CLIP_PATH("clipPath", "clip-path", ffNone(), chromeAndEdgeNone()),
831 
832         /** The style property {@code clip-path}. */
833         CLIP_PATH_("clip-path", "clip-path", ffNone()),
834 
835         /** The style property {@code clipRule}. */
836         CLIP_RULE("clipRule", "clip-rule", ff("nonzero"), chromeAndEdge("nonzero")),
837 
838         /** The style property {@code clip-rule}. */
839         CLIP_RULE_("clip-rule", "clip-rule", ff("nonzero")),
840 
841         /** The style property {@code color}. */
842         COLOR("color", "color", chromeAndEdge("rgb(0, 0, 0)"), ff("")),
843 
844         /** The style property {@code colorAdjust}. */
845         COLOR_ADJUST("colorAdjust", "color-adjust", ff("economy")),
846 
847         /** The style property {@code color-adjust}. */
848         COLOR_ADJUST_("color-adjust", "color-adjust", ff("economy")),
849 
850         /** The style property {@code colorInterpolation}. */
851         COLOR_INTERPOLATION("colorInterpolation", "color-interpolation", ff("srgb"), chromeAndEdge("srgb")),
852 
853         /** The style property {@code color-interpolation}. */
854         COLOR_INTERPOLATION_("color-interpolation", "color-interpolation", ff("srgb")),
855 
856         /** The style property {@code colorInterpolationFilters}. */
857         COLOR_INTERPOLATION_FILTERS("colorInterpolationFilters",
858                 "color-interpolation-filters", ff("linearrgb"), chromeAndEdge("linearrgb")),
859 
860         /** The style property {@code color-interpolation-filters}. */
861         COLOR_INTERPOLATION_FILTERS_("color-interpolation-filters", "color-interpolation-filters", ff("linearrgb")),
862 
863         /** The style property {@code colorRendering}. */
864         COLOR_RENDERING("colorRendering", "color-rendering", chromeAndEdgeAuto()),
865 
866         /** The style property {@code colorScheme}. */
867         COLOR_SCHEME("colorScheme", "color-scheme", chromeAndEdgeAndFirefox("normal")),
868 
869         /** The style property {@code color-scheme}. */
870         COLOR_SCHEME_("color-scheme", "color-scheme", ffNormal()),
871 
872         /** The style property {@code columnCount}. */
873         COLUMN_COUNT("columnCount", "column-count", chromeAndEdgeAuto(), ff("auto")),
874 
875         /** The style property {@code column-count}. */
876         COLUMN_COUNT_("column-count", "column-count", ff("auto")),
877 
878         /** The style property {@code columnFill}. */
879         COLUMN_FILL("columnFill", "column-fill", chromeAndEdge("balance"), ff("balance")),
880 
881         /** The style property {@code column-fill}. */
882         COLUMN_FILL_("column-fill", "column-fill", ff("balance")),
883 
884         /** The style property {@code columnGap}. */
885         COLUMN_GAP("columnGap", "column-gap", chromeAndEdgeNormal(), ffNormal()),
886 
887         /** The style property {@code column-gap}. */
888         COLUMN_GAP_("column-gap", "column-gap", ffNormal()),
889 
890         /** The style property {@code columnRule}. */
891         COLUMN_RULE("columnRule", "column-rule", chromeAndEdge("0px none rgb(0, 0, 0)"),
892                 ff("0px none rgb(0, 0, 0)")),
893 
894         /** The style property {@code column-rule}. */
895         COLUMN_RULE_("column-rule", "column-rule",
896                 ff("0px none rgb(0, 0, 0)")),
897 
898         /** The style property {@code columnRuleColor}. */
899         COLUMN_RULE_COLOR("columnRuleColor", "column-rule-color",
900                 chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
901 
902         /** The style property {@code column-rule-color}. */
903         COLUMN_RULE_COLOR_("column-rule-color", "column-rule-color", ff("rgb(0, 0, 0)")),
904 
905         /** The style property {@code columnRuleStyle}. */
906         COLUMN_RULE_STYLE("columnRuleStyle", "column-rule-style", chromeAndEdgeNone(), ffNone()),
907 
908         /** The style property {@code column-rule-style}. */
909         COLUMN_RULE_STYLE_("column-rule-style", "column-rule-style", ffNone()),
910 
911         /** The style property {@code columnRuleWidth}. */
912         COLUMN_RULE_WIDTH("columnRuleWidth", "column-rule-width", chromeAndEdge("0px"), ff("0px")),
913 
914         /** The style property {@code column-rule-width}. */
915         COLUMN_RULE_WIDTH_("column-rule-width", "column-rule-width", ff("0px")),
916 
917         /** The style property {@code columnSpan}. */
918         COLUMN_SPAN("columnSpan", "column-span", chromeAndEdgeNone(), ffNone()),
919 
920         /** The style property {@code column-span}. */
921         COLUMN_SPAN_("column-span", "column-span", ffNone()),
922 
923         /** The style property {@code columnWidth}. */
924         COLUMN_WIDTH("columnWidth", "column-width", chromeAndEdgeAuto(), ff("auto")),
925 
926         /** The style property {@code column-width}. */
927         COLUMN_WIDTH_("column-width", "column-width", ff("auto")),
928 
929         /** The style property {@code columns}. */
930         COLUMNS("columns", "columns", chromeAndEdge("auto auto"), ff("auto")),
931 
932         /** The style property {@code contain}. */
933         CONTAIN("contain", "contain", chromeAndEdgeNone(), ffNone()),
934 
935         /** The style property {@code containIntrinsicBlockSize}. */
936         CONTAIN_INTRINSIC_BLOCK_SIZE("containIntrinsicBlockSize", "contain-intrinsic-block-size",
937                 chromeAndEdgeNone(), ffNone()),
938 
939         /** The style property {@code contain-intrinsic-block-size}. */
940         CONTAIN_INTRINSIC_BLOCK_SIZE_("contain-intrinsic-block-size", "contain-intrinsic-block-size",
941                 ffNone()),
942 
943         /** The style property {@code containIntrinsicHeight}. */
944         CONTAIN_INTRINSIC_HEIGHT("containIntrinsicHeight", "contain-intrinsic-height",
945                 chromeAndEdgeNone(), ffNone()),
946 
947         /** The style property {@code contain-intrinsic-height}. */
948         CONTAIN_INTRINSIC_HEIGHT_("contain-intrinsic-height", "contain-intrinsic-height",
949                 ffNone()),
950 
951         /** The style property {@code containIntrinsicInlineSize}. */
952         CONTAIN_INTRINSIC_INLINE_SIZE("containIntrinsicInlineSize", "contain-intrinsic-inline-size",
953                 chromeAndEdgeNone(), ffNone()),
954 
955         /** The style property {@code contain-intrinsic-inline-size}. */
956         CONTAIN_INTRINSIC_INLINE_SIZE_("contain-intrinsic-inline-size", "contain-intrinsic-inline-size",
957                 ffNone()),
958 
959         /** The style property {@code containIntrinsicSize}. */
960         CONTAIN_INTRINSIC_SIZE("containIntrinsicSize", "contain-intrinsic-size",
961                 chromeAndEdgeNone(), ffNone()),
962 
963         /** The style property {@code contain-intrinsic-size}. */
964         CONTAIN_INTRINSIC_SIZE_("contain-intrinsic-size", "contain-intrinsic-size",
965                 ffNone()),
966 
967         /** The style property {@code containIntrinsicWidth}. */
968         CONTAIN_INTRINSIC_WIDTH("containIntrinsicWidth", "contain-intrinsic-width",
969                 chromeAndEdgeNone(), ffNone()),
970 
971         /** The style property {@code contain-intrinsic-width}. */
972         CONTAIN_INTRINSIC_WIDTH_("contain-intrinsic-width", "contain-intrinsic-width",
973                 ffNone()),
974 
975         /** The style property {@code container}. */
976         CONTAINER("container", "container", chromeAndEdgeNone(), ffNone()),
977 
978         /** The style property {@code containerName}. */
979         CONTAINER_NAME("containerName", "container-name", chromeAndEdgeNone(), ffNone()),
980 
981         /** The style property {@code container-name}. */
982         CONTAINER_NAME_("container-name", "container-name", ffNone()),
983 
984         /** The style property {@code containerType}. */
985         CONTAINER_TYPE("containerType", "container-type", chromeAndEdgeNormal(), ffNormal()),
986 
987         /** The style property {@code container-type}. */
988         CONTAINER_TYPE_("container-type", "container-type", ffNormal()),
989 
990         /** The style property {@code content}. */
991         CONTENT("content", "content", chromeAndEdgeNormal(), ffNormal()),
992 
993         /** The style property {@code contentVisibility}. */
994         CONTENT_VISISBILITY("contentVisibility", "content-visibility", chromeAndEdge("visible"),
995                 ff("visible")),
996 
997         /** The style property {@code content-visibility}. */
998         CONTENT_VISISBILITY_("content-visibility", "content-visibility", ff("visible")),
999 
1000         /** The style property {@code counterIncrement}. */
1001         COUNTER_INCREMENT("counterIncrement", "counter-increment", chromeAndEdgeNone(), ffNone()),
1002 
1003         /** The style property {@code counter-increment}. */
1004         COUNTER_INCREMENT_("counter-increment", "counter-increment", ffNone()),
1005 
1006         /** The style property {@code counterReset}. */
1007         COUNTER_RESET("counterReset", "counter-reset", chromeAndEdgeNone(), ffNone()),
1008 
1009         /** The style property {@code counter-reset}. */
1010         COUNTER_RESET_("counter-reset", "counter-reset", ffNone()),
1011 
1012         /** The style property {@code counterSet}. */
1013         COUNTER_SET("counterSet", "counter-set", chromeAndEdgeNone(), ffNone()),
1014 
1015         /** The style property {@code counter-set}. */
1016         COUNTER_SET_("counter-set", "counter-set", ffNone()),
1017 
1018         /** The style property {@code cssFloat}. */
1019         CSS_FLOAT("cssFloat", "css-float", chromeAndEdgeNone(), ffNone()),
1020 
1021         //TODO: seems to be a combination of all other properties.
1022         /** The style property {@code cssText}. */
1023         CSS_TEXT("cssText", "css-text", chromeAndEdgeEmpty(), ff("")),
1024 
1025         /** The style property {@code cursor}. */
1026         CURSOR("cursor", "cursor", chromeAndEdgeAuto(), ff("auto")),
1027 
1028         /** The style property {@code cx}. */
1029         CX("cx", "cx", chromeAndEdge("0px"), ff("0px")),
1030 
1031         /** The style property {@code cy}. */
1032         CY("cy", "cy", chromeAndEdge("0px"), ff("0px")),
1033 
1034         /** The style property {@code d}. */
1035         D("d", "d", chromeAndEdgeAndFirefox("none")),
1036 
1037         /** The style property {@code descentOverride}. */
1038         DESCENT_OVERRIDE("descentOverride", "descent-dverride", chromeAndEdgeEmpty()),
1039 
1040         /** The style property {@code direction}. */
1041         DIRECTION("direction", "direction", chromeAndEdge("ltr"), ff("ltr")),
1042 
1043         /** The style property {@code display}. */
1044         DISPLAY("display", "display", chromeAndEdge("block"), ff("")),
1045 
1046         /** The style property {@code dominantBaseline}. */
1047         DOMINANT_BASELINE("dominantBaseline", "dominant-baseline", ff("auto"), chromeAndEdgeAuto()),
1048 
1049         /** The style property {@code dominant-baseline}. */
1050         DOMINANT_BASELINE_("dominant-baseline", "dominant-baseline", ff("auto")),
1051 
1052         /** The style property {@code dynamicRangeLimit}. */
1053         DYNAMIC_RANGE_LIMIT("dynamicRangeLimit", "dynamic-range-limit", chromeAndEdge("no-limit")),
1054 
1055         /** The style property {@code emptyCells}. */
1056         EMPTY_CELLS("emptyCells", "empty-cells", ff("show"),
1057                 chromeAndEdge("show")),
1058 
1059         /** The style property {@code empty-cells}. */
1060         EMPTY_CELLS_("empty-cells", "empty-cells", ff("show")),
1061 
1062         /** The style property {@code fallback}. */
1063         FALLBACK("fallback", "fallback", chromeAndEdgeEmpty()),
1064 
1065         /** The style property {@code fieldSizing}. */
1066         FIELD_SIZING("fieldSizing", "field-sizing", chromeAndEdge("fixed")),
1067 
1068         /** The style property {@code fill}. */
1069         FILL("fill", "fill", ff("rgb(0, 0, 0)"), chromeAndEdge("rgb(0, 0, 0)")),
1070 
1071         /** The style property {@code fillOpacity}. */
1072         FILL_OPACITY("fillOpacity", "fill-opacity", ff("1"), chromeAndEdge("1")),
1073 
1074         /** The style property {@code fill-opacity}. */
1075         FILL_OPACITY_("fill-opacity", "fill-opacity", ff("1")),
1076 
1077         /** The style property {@code fillRule}. */
1078         FILL_RULE("fillRule", "fill-rule", ff("nonzero"), chromeAndEdge("nonzero")),
1079 
1080         /** The style property {@code fill-rule}. */
1081         FILL_RULE_("fill-rule", "fill-rule", ff("nonzero")),
1082 
1083         /** The style property {@code filter}. */
1084         FILTER("filter", "filter", ffNone(), chromeAndEdgeNone()),
1085 
1086         /** The style property {@code flex}. */
1087         FLEX("flex", "flex", chromeAndEdge("0 1 auto"),
1088                 ff("0 1 auto")),
1089 
1090         /** The style property {@code flexBasis}. */
1091         FLEX_BASIS("flexBasis", "flex-basis", ff("auto"), chromeAndEdgeAuto()),
1092 
1093         /** The style property {@code flex-basis}. */
1094         FLEX_BASIS_("flex-basis", "flex-basis", ff("auto")),
1095 
1096         /** The style property {@code flexDirection}. */
1097         FLEX_DIRECTION("flexDirection", "flex-direction", ff("row"), chromeAndEdge("row")),
1098 
1099         /** The style property {@code flex-direction}. */
1100         FLEX_DIRECTION_("flex-direction", "flex-direction", ff("row")),
1101 
1102         /** The style property {@code flexFlow}. */
1103         FLEX_FLOW("flexFlow", "flex-flow", chromeAndEdge("row nowrap"), ff("row")),
1104 
1105         /** The style property {@code flex-flow}. */
1106         FLEX_FLOW_("flex-flow", "flex-flow", ff("row")),
1107 
1108         /** The style property {@code flexGrow}. */
1109         FLEX_GROW("flexGrow", "flex-grow", ff("0"), chromeAndEdge("0")),
1110 
1111         /** The style property {@code flex-grow}. */
1112         FLEX_GROW_("flex-grow", "flex-grow", ff("0")),
1113 
1114         /** The style property {@code flexShrink}. */
1115         FLEX_SHRINK("flexShrink", "flex-shrink", ff("1"), chromeAndEdge("1")),
1116 
1117         /** The style property {@code flex-shrink}. */
1118         FLEX_SHRINK_("flex-shrink", "flex-shrink", ff("1")),
1119 
1120         /** The style property {@code flexWrap}. */
1121         FLEX_WRAP("flexWrap", "flex-wrap", ff("nowrap"), chromeAndEdge("nowrap")),
1122 
1123         /** The style property {@code flex-wrap}. */
1124         FLEX_WRAP_("flex-wrap", "flex-wrap", ff("nowrap")),
1125 
1126         /** The style property {@code float}. */
1127         FLOAT("float", "float", ffNone(), chromeAndEdgeNone()),
1128 
1129         /** The style property {@code floodColor}. */
1130         FLOOD_COLOR("floodColor", "flood-color", ff("rgb(0, 0, 0)"), chromeAndEdge("rgb(0, 0, 0)")),
1131 
1132         /** The style property {@code flood-color}. */
1133         FLOOD_COLOR_("flood-color", "flood-color", ff("rgb(0, 0, 0)")),
1134 
1135         /** The style property {@code floodOpacity}. */
1136         FLOOD_OPACITY("floodOpacity", "flood-opacity", ff("1"), chromeAndEdge("1")),
1137 
1138         /** The style property {@code flood-opacity}. */
1139         FLOOD_OPACITY_("flood-opacity", "flood-opacity", ff("1")),
1140 
1141         /** The style property {@code font}. */
1142         FONT("font", "font", chromeAndEdge("16px \"Times New Roman\""),
1143                 ff("16px serif")),
1144 
1145         /** The style property {@code fontDisplay}. */
1146         FONT_DISPLAY("fontDisplay", "font-display", chromeAndEdgeEmpty()),
1147 
1148         /** The style property {@code fontFamily}. */
1149         FONT_FAMILY("fontFamily", "font-family", chromeAndEdge("\"Times New Roman\""),
1150                 ff("serif")),
1151 
1152         /** The style property {@code font-family}. */
1153         FONT_FAMILY_("font-family", "font-family", ff("serif")),
1154 
1155         /** The style property {@code fontFeatureSettings}. */
1156         FONT_FEATURE_SETTINGS("fontFeatureSettings", "font-feature-settings",
1157                 ffNormal(), chromeAndEdgeNormal()),
1158 
1159         /** The style property {@code font-feature-settings}. */
1160         FONT_FEATURE_SETTINGS_("font-feature-settings", "font-feature-settings", ffNormal()),
1161 
1162         /** The style property {@code fontKerning}. */
1163         FONT_KERNING("fontKerning", "font-kerning", ff("auto"), chromeAndEdgeAuto()),
1164 
1165         /** The style property {@code font-kerning}. */
1166         FONT_KERNING_("font-kerning", "font-kerning", ff("auto")),
1167 
1168         /** The style property {@code fontLanguageOverride}. */
1169         FONT_LANGUAGE_OVERRIDE("fontLanguageOverride", "font-language-override", ffNormal()),
1170 
1171         /** The style property {@code font-language-override}. */
1172         FONT_LANGUAGE_OVERRIDE_("font-language-override", "font-language-override", ffNormal()),
1173 
1174         /** The style property {@code fontOpticalSizing}. */
1175         FONT_OPTICAL_SIZING("fontOpticalSizing", "font-optical-sizing", chromeAndEdgeAuto(), ff("auto")),
1176 
1177         /** The style property {@code font-optical-sizing}. */
1178         FONT_OPTICAL_SIZING_("font-optical-sizing", "font-optical-sizing", ff("auto")),
1179 
1180         /** The style property {@code fontPalette}. */
1181         FONT_PALETTE("fontPalette", "font-palette", chromeAndEdgeNormal(), ffNormal()),
1182 
1183         /** The style property {@code font-palette}. */
1184         FONT_PALETTE_("font-palette", "font-palette", ffNormal()),
1185 
1186         /** The style property {@code fontSize}. */
1187         FONT_SIZE("fontSize", "font-size", chromeAndEdge("16px"), ff("16px")),
1188 
1189         /** The style property {@code font-size}. */
1190         FONT_SIZE_("font-size", "font-size", ff("16px")),
1191 
1192         /** The style property {@code fontSizeAdjust}. */
1193         FONT_SIZE_ADJUST("fontSizeAdjust", "font-size-adjust", ffNone(), chromeAndEdgeNone()),
1194 
1195         /** The style property {@code font-size-adjust}. */
1196         FONT_SIZE_ADJUST_("font-size-adjust", "font-size-adjust", ffNone()),
1197 
1198         /** The style property {@code fontStretch}. */
1199         FONT_STRETCH("fontStretch", "font-stretch", chromeAndEdge("100%"),
1200                 ff("100%")),
1201 
1202         /** The style property {@code font-stretch}. */
1203         FONT_STRETCH_("font-stretch", "font-stretch", ff("100%")),
1204 
1205         /** The style property {@code fontStyle}. */
1206         FONT_STYLE("fontStyle", "font-style", chromeAndEdgeNormal(), ffNormal()),
1207 
1208         /** The style property {@code font-style}. */
1209         FONT_STYLE_("font-style", "font-style", ffNormal()),
1210 
1211         /** The style property {@code fontSynthesis}. */
1212         FONT_SYNTHESIS("fontSynthesis", "font-synthesis", chromeAndEdge("weight style small-caps"),
1213                 ff("weight style small-caps position")),
1214 
1215         /** The style property {@code font-synthesis}. */
1216         FONT_SYNTHESIS_("font-synthesis", "font-synthesis", ff("weight style small-caps position")),
1217 
1218         /** The style property {@code fontSynthesisPosition}. */
1219         FONT_SYNTHESIS_POSITION("fontSynthesisPosition", "fontSynthesisPosition", ff("auto")),
1220 
1221         /** The style property {@code font-synthesis-position}. */
1222         FONT_SYNTHESIS_POSITION_("font-synthesis-position", "fontSynthesisPosition", ff("auto")),
1223 
1224         /** The style property {@code fontSynthesisSmallCaps}. */
1225         FONT_SYNTHESIS_SMALL_CAPS("fontSynthesisSmallCaps", "fontSynthesisSmallCaps",
1226                 chromeAndEdgeAuto(), ff("auto")),
1227 
1228         /** The style property {@code font-synthesis-small-caps}. */
1229         FONT_SYNTHESIS_SMALL_CAPS_("font-synthesis-small-caps", "fontSynthesisSmallCaps", ff("auto")),
1230 
1231         /** The style property {@code fontSynthesisStyle}. */
1232         FONT_SYNTHESIS_STYLE("fontSynthesisStyle", "fontSynthesisStyle", chromeAndEdgeAuto(), ff("auto")),
1233 
1234         /** The style property {@code font-synthesis-style}. */
1235         FONT_SYNTHESIS_STYLE_("font-synthesis-style", "fontSynthesisStyle", ff("auto")),
1236 
1237         /** The style property {@code fontSynthesisWeight}. */
1238         FONT_SYNTHESIS_WEIGHT("fontSynthesisWeight", "fontSynthesisWeight", chromeAndEdgeAuto(), ff("auto")),
1239 
1240         /** The style property {@code font-synthesis-weight}. */
1241         FONT_SYNTHESIS_WEIGHT_("font-synthesis-weight", "fontSynthesisWeight", ff("auto")),
1242 
1243         /** The style property {@code fontVariant}. */
1244         FONT_VARIANT("fontVariant", "font-variant", chromeAndEdgeNormal(), ffNormal()),
1245 
1246         /** The style property {@code font-variant}. */
1247         FONT_VARIANT_("font-variant", "font-variant", ffNormal()),
1248 
1249         /** The style property {@code fontVariantAlternates}. */
1250         FONT_VARIANT_ALTERNATES("fontVariantAlternates", "font-variant-alternates", chromeAndEdgeNormal(), ffNormal()),
1251 
1252         /** The style property {@code font-variant-alternates}. */
1253         FONT_VARIANT_ALTERNATES_("font-variant-alternates", "font-variant-alternates", ffNormal()),
1254 
1255         /** The style property {@code fontVariantCaps}. */
1256         FONT_VARIANT_CAPS("fontVariantCaps", "font-variant-caps", ffNormal(), chromeAndEdgeNormal()),
1257 
1258         /** The style property {@code font-variant-caps}. */
1259         FONT_VARIANT_CAPS_("font-variant-caps", "font-variant-caps", ffNormal()),
1260 
1261         /** The style property {@code fontVariantEastAsian}. */
1262         FONT_VARIANT_EAST_ASIAN("fontVariantEastAsian", "font-variant-east-asian", ffNormal(),
1263                 chromeAndEdgeNormal()),
1264 
1265         /** The style property {@code font-variant-east-asian}. */
1266         FONT_VARIANT_EAST_ASIAN_("font-variant-east-asian", "font-variant-east-asian", ffNormal()),
1267 
1268         /** The style property {@code fontVariantEmoji}. */
1269         FONT_VARIANT_EMOKJI("fontVariantEmoji", "font-variant-emoji", chromeAndEdgeNormal()),
1270 
1271         /** The style property {@code fontVariantLigatures}. */
1272         FONT_VARIANT_LIGATURES("fontVariantLigatures", "font-variant-ligatures", ffNormal(), chromeAndEdgeNormal()),
1273 
1274         /** The style property {@code font-variant-ligatures}. */
1275         FONT_VARIANT_LIGATURES_("font-variant-ligatures", "font-variant-ligatures", ffNormal()),
1276 
1277         /** The style property {@code fontVariantNumeric}. */
1278         FONT_VARIANT_NUMERIC("fontVariantNumeric", "font-variant-numeric", ffNormal(), chromeAndEdgeNormal()),
1279 
1280         /** The style property {@code font-variant-numeric}. */
1281         FONT_VARIANT_NUMERIC_("font-variant-numeric", "font-variant-numeric", ffNormal()),
1282 
1283         /** The style property {@code fontVariantPosition}. */
1284         FONT_VARIANT_POSITION("fontVariantPosition", "font-variant-position", ffNormal(), chromeAndEdgeNormal()),
1285 
1286         /** The style property {@code font-variant-position}. */
1287         FONT_VARIANT_POSITION_("font-variant-position", "font-variant-position", ffNormal()),
1288 
1289         /** The style property {@code fontVariationSettings}. */
1290         FONT_VARIATION_SETTING("fontVariationSettings", "font-variation-settings",
1291                 chromeAndEdgeNormal(), ffNormal()),
1292 
1293         /** The style property {@code font-variation-settings}. */
1294         FONT_VARIATION_SETTING_("font-variation-settings", "font-variation-settings", ffNormal()),
1295 
1296         /** The style property {@code fontWeight}. */
1297         FONT_WEIGHT("fontWeight", "font-weight", chromeAndEdge("400"), ff("400")),
1298 
1299         /** The style property {@code font-weight}. */
1300         FONT_WEIGHT_("font-weight", "font-weight", ff("400")),
1301 
1302         /** The style property {@code forcedColorAdjust}. */
1303         FORCED_COLOR_ADJUST("forcedColorAdjust", "forced-color-adjust",
1304                 chromeAndEdgeAuto(), ff("auto")),
1305 
1306         /** The style property {@code forced-color-adjust}. */
1307         FORCED_COLOR_ADJUST_("forced-color-adjust", "forced-color-adjust",
1308                 ff("auto")),
1309 
1310         /** The style property {@code gap}. */
1311         GAP("gap", "gap", chromeAndEdgeNormal(), ffNormal()),
1312 
1313         /** The style property {@code grid}. */
1314         GRID("grid", "grid", chromeAndEdge("none / none / none / row / auto / auto"),
1315                 ffNone()),
1316 
1317         /** The style property {@code gridArea}. */
1318         GRID_AREA("gridArea", "grid-area", chromeAndEdge("auto"), ff("auto")),
1319 
1320         /** The style property {@code grid-area}. */
1321         GRID_AREA_("grid-area", "grid-area", ff("auto")),
1322 
1323         /** The style property {@code gridAutoColumns}. */
1324         GRID_AUTO_COLUMNS("gridAutoColumns", "grid-auto-columns", chromeAndEdgeAuto(), ff("auto")),
1325 
1326         /** The style property {@code grid-auto-columns}. */
1327         GRID_AUTO_COLUMNS_("grid-auto-columns", "grid-auto-columns", ff("auto")),
1328 
1329         /** The style property {@code gridAutoFlow}. */
1330         GRID_AUTO_FLOW("gridAutoFlow", "grid-auto-flow", chromeAndEdge("row"), ff("row")),
1331 
1332         /** The style property {@code grid-auto-flow}. */
1333         GRID_AUTO_FLOW_("grid-auto-flow", "grid-auto-flow", ff("row")),
1334 
1335         /** The style property {@code gridAutoRows}. */
1336         GRID_AUTO_ROWS("gridAutoRows", "grid-auto-rows", chromeAndEdgeAuto(), ff("auto")),
1337 
1338         /** The style property {@code grid-auto-rows}. */
1339         GRID_AUTO_ROWS_("grid-auto-rows", "grid-auto-rows", ff("auto")),
1340 
1341         /** The style property {@code gridColumn}. */
1342         GRID_COLUMN("gridColumn", "grid-column", chromeAndEdge("auto"), ff("auto")),
1343 
1344         /** The style property {@code grid-column}. */
1345         GRID_COLUMN_("grid-column", "grid-column", ff("auto")),
1346 
1347         /** The style property {@code gridColumnEnd}. */
1348         GRID_COLUMN_END("gridColumnEnd", "grid-column-end", chromeAndEdgeAuto(), ff("auto")),
1349 
1350         /** The style property {@code grid-column-end}. */
1351         GRID_COLUMN_END_("grid-column-end", "grid-column-end", ff("auto")),
1352 
1353         /** The style property {@code gridColumnGap}. */
1354         GRID_COLUMN_GAP("gridColumnGap", "grid-column-gap", chromeAndEdgeNormal(), ffNormal()),
1355 
1356         /** The style property {@code grid-column-gap}. */
1357         GRID_COLUMN_GAP_("grid-column-gap", "grid-column-gap", ffNormal()),
1358 
1359         /** The style property {@code gridColumnStart}. */
1360         GRID_COLUMN_START("gridColumnStart", "grid-column-start", chromeAndEdgeAuto(), ff("auto")),
1361 
1362         /** The style property {@code grid-column-start}. */
1363         GRID_COLUMN_START_("grid-column-start", "grid-column-start", ff("auto")),
1364 
1365         /** The style property {@code gridGap}. */
1366         GRID_GAP("gridGap", "grid-gap", chromeAndEdge("normal"), ffNormal()),
1367 
1368         /** The style property {@code grid-gap}. */
1369         GRID_GAP_("grid-gap", "grid-gap", ffNormal()),
1370 
1371         /** The style property {@code gridRow}. */
1372         GRID_ROW("gridRow", "grid-row", chromeAndEdge("auto"), ff("auto")),
1373 
1374         /** The style property {@code grid-row}. */
1375         GRID_ROW_("grid-row", "grid-row", ff("auto")),
1376 
1377         /** The style property {@code gridRowEnd}. */
1378         GRID_ROW_END("gridRowEnd", "grid-row-end", chromeAndEdgeAuto(), ff("auto")),
1379 
1380         /** The style property {@code grid-row-end}. */
1381         GRID_ROW_END_("grid-row-end", "grid-row-end", ff("auto")),
1382 
1383         /** The style property {@code gridRowGap}. */
1384         GRID_ROW_GAP("gridRowGap", "grid-row-gap", chromeAndEdgeNormal(), ffNormal()),
1385 
1386         /** The style property {@code grid-row-gap}. */
1387         GRID_ROW_GAP_("grid-row-gap", "grid-row-gap", ffNormal()),
1388 
1389         /** The style property {@code gridRowStart}. */
1390         GRID_ROW_START("gridRowStart", "grid-row-start", chromeAndEdgeAuto(), ff("auto")),
1391 
1392         /** The style property {@code grid-row-start}. */
1393         GRID_ROW_START_("grid-row-start", "grid-row-start", ff("auto")),
1394 
1395         /** The style property {@code gridTemplate}. */
1396         GRID_TEMPLATE("gridTemplate", "grid-template", chromeAndEdge("none"),
1397                 ffNone()),
1398 
1399         /** The style property {@code grid-template}. */
1400         GRID_TEMPLATE_("grid-template", "grid-template", ffNone()),
1401 
1402         /** The style property {@code gridTemplateAreas}. */
1403         GRID_TEMPLATE_AREAS("gridTemplateAreas", "grid-template-areas", chromeAndEdgeNone(),
1404                 ffNone()),
1405 
1406         /** The style property {@code grid-template-areas}. */
1407         GRID_TEMPLATE_AREAS_("grid-template-areas", "grid-template-areas",
1408                 ffNone()),
1409 
1410         /** The style property {@code gridTemplateColumns}. */
1411         GRID_TEMPLATE_COLUMNS("gridTemplateColumns", "grid-template-columns", chromeAndEdgeNone(), ffNone()),
1412 
1413         /** The style property {@code grid-template-columns}. */
1414         GRID_TEMPLATE_COLUMNS_("grid-template-columns", "grid-template-columns", ffNone()),
1415 
1416         /** The style property {@code gridTemplateRows}. */
1417         GRID_TEMPLATE_ROWS("gridTemplateRows", "grid-template-rows", chromeAndEdgeNone(), ffNone()),
1418 
1419         /** The style property {@code grid-template-rows}. */
1420         GRID_TEMPLATE_ROWS_("grid-template-rows", "grid-template-rows", ffNone()),
1421 
1422         /** The style property {@code height}. */
1423         HEIGHT("height", "height", chromeAndEdgeEmpty(), ff("")),
1424 
1425         /** The style property {@code hyphenateCharacter}. */
1426         HYPHENATE_CHARACTER("hyphenateCharacter", "hyphenate-character", ff("auto"), chromeAndEdgeAuto()),
1427 
1428         /** The style property {@code hyphenate-character}. */
1429         HYPHENATE_CHARACTER_("hyphenate-character", "hyphenate-character", ff("auto")),
1430 
1431         /** The style property {@code hyphenateLimitChars}. */
1432         HYPHENATE_LIMIT_CHAR("hyphenateLimitChars", "hyphenate-limit-chars", chromeAndEdgeAuto(), ffLatest("auto")),
1433 
1434         /** The style property {@code hyphenate-limit-chars}. */
1435         HYPHENATE_LIMIT_CHAR_("hyphenate-limit-chars", "hyphenate-limit-chars", ffLatest("auto")),
1436 
1437         /** The style property {@code hyphens}. */
1438         HYPHENS("hyphens", "hyphens", ff("manual"), chromeAndEdge("manual")),
1439 
1440         /** The style property {@code imageOrientation}. */
1441         IMAGE_ORIENTATION("imageOrientation", "image-orientation", chromeAndEdge("from-image"),
1442                 ff("from-image")),
1443 
1444         /** The style property {@code image-orientation}. */
1445         IMAGE_ORIENTATION_("image-orientation", "image-orientation",
1446                 ff("from-image")),
1447 
1448         /** The style property {@code imageRendering}. */
1449         IMAGE_RENDERING("imageRendering", "image-rendering", ff("auto"), chromeAndEdgeAuto()),
1450 
1451         /** The style property {@code image-rendering}. */
1452         IMAGE_RENDERING_("image-rendering", "image-rendering", ff("auto")),
1453 
1454         /** The style property {@code imeMode}. */
1455         IME_MODE("imeMode", "ime-mode", ff("auto")),
1456 
1457         /** The style property {@code ime-mode}. */
1458         IME_MODE_("ime-mode", "ime-mode", ff("auto")),
1459 
1460         /** The style property {@code inherits}. */
1461         INHERITS("inherits", "inherits", chromeAndEdgeEmpty()),
1462 
1463         /** The style property {@code initialLetter}. */
1464         INITIAL_LETTER("initialLetter", "initial-letter", chromeAndEdgeNormal()),
1465 
1466         /** The style property {@code initialValue}. */
1467         INITIAL_VALUE("initialValue", "initial-value", chromeAndEdgeEmpty()),
1468 
1469         /** The style property {@code inlineSize}. */
1470         INLINE_SIZE("inlineSize", "inline-size", ffEsr("1244px"), ffLatest("1240px"), chrome("1240px"), edge("1232px")),
1471 
1472         /** The style property {@code inline-size}. */
1473         INLINE_SIZE_("inline-size", "inline-size", ffEsr("1244px"), ffLatest("1240px")),
1474 
1475         /** The style property {@code inset}. */
1476         INSET("inset", "inset", chromeAndEdgeAuto(), ff("auto")),
1477 
1478         /** The style property {@code insetBlock}. */
1479         INSET_BLOCK("insetBlock", "inset-block", chromeAndEdgeAuto(), ff("auto")),
1480 
1481         /** The style property {@code inset-block}. */
1482         INSET_BLOCK_("inset-block", "inset-block", ff("auto")),
1483 
1484         /** The style property {@code insetBlockEnd}. */
1485         INSET_BLOCK_END("insetBlockEnd", "inset-block-end", chromeAndEdgeAuto(), ff("auto")),
1486 
1487         /** The style property {@code inset-block-end}. */
1488         INSET_BLOCK_END_("inset-block-end", "inset-block-end", ff("auto")),
1489 
1490         /** The style property {@code insetBlockStart}. */
1491         INSET_BLOCK_START("insetBlockStart", "inset-block-start", chromeAndEdgeAuto(), ff("auto")),
1492 
1493         /** The style property {@code inset-block-start}. */
1494         INSET_BLOCK_START_("inset-block-start", "inset-block-start", ff("auto")),
1495 
1496         /** The style property {@code insetInline}. */
1497         INSET_INLINE("insetInline", "inset-inline", chromeAndEdgeAuto(), ff("auto")),
1498 
1499         /** The style property {@code inset-inline}. */
1500         INSET_INLINE_("inset-inline", "inset-inline", ff("auto")),
1501 
1502         /** The style property {@code insetInlineEnd}. */
1503         INSET_INLINE_END("insetInlineEnd", "inset-inline-end", chromeAndEdgeAuto(), ff("auto")),
1504 
1505         /** The style property {@code inset-inline-end}. */
1506         INSET_INLINE_END_("inset-inline-end", "inset-inline-end", ff("auto")),
1507 
1508         /** The style property {@code insetInlineStart}. */
1509         INSET_INLINE_START("insetInlineStart", "inset-inline-start", chromeAndEdgeAuto(), ff("auto")),
1510 
1511         /** The style property {@code inset-inline-start}. */
1512         INSET_INLINE_START_("inset-inline-start", "inset-inline-start", ff("auto")),
1513 
1514         /** The style property {@code interactivity}. */
1515         INTERACTIVITY("interactivity", "interpolate-size", chromeAndEdge("auto")),
1516 
1517         /** The style property {@code interpolateSize}. */
1518         INTERPOLATE_SIZE("interpolateSize", "interpolate-size", chromeAndEdge("numeric-only")),
1519 
1520         /** The style property {@code isolation}. */
1521         ISOLATION("isolation", "isolation", ff("auto"), chromeAndEdgeAuto()),
1522 
1523         /** The style property {@code justifyContent}. */
1524         JUSTIFY_CONTENT("justifyContent", "justify-content",
1525                 ffNormal(),
1526                 chromeAndEdgeNormal()),
1527 
1528         /** The style property {@code justify-content}. */
1529         JUSTIFY_CONTENT_("justify-content", "justify-content", ffNormal()),
1530 
1531         /** The style property {@code justifyItems}. */
1532         JUSTIFY_ITEMS("justifyItems", "justify-items", ffNormal(), chromeAndEdgeNormal()),
1533 
1534         /** The style property {@code justify-items}. */
1535         JUSTIFY_ITEMS_("justify-items", "justify-items", ffNormal()),
1536 
1537         /** The style property {@code justifySelf}. */
1538         JUSTIFY_SELF("justifySelf", "justify-self", ff("auto"), chromeAndEdgeAuto()),
1539 
1540         /** The style property {@code justify-self}. */
1541         JUSTIFY_SELF_("justify-self", "justify-self", ff("auto")),
1542 
1543         /** The style property {@code left}. */
1544         LEFT("left", "left", chromeAndEdgeAuto(), ff("")),
1545 
1546         /** The style property {@code letterSpacing}. */
1547         LETTER_SPACING("letterSpacing", "letter-spacing", chromeAndEdgeNormal(), ff("")),
1548 
1549         /** The style property {@code letter-spacing}. */
1550         LETTER_SPACING_("letter-spacing", "letter-spacing", ffNormal()),
1551 
1552         /** The style property {@code lightingColor}. */
1553         LIGHTING_COLOR("lightingColor", "lighting-color",
1554                 ff("rgb(255, 255, 255)"), chromeAndEdge("rgb(255, 255, 255)")),
1555 
1556         /** The style property {@code lighting-color}. */
1557         LIGHTING_COLOR_("lighting-color", "lighting-color", ff("rgb(255, 255, 255)")),
1558 
1559         /** The style property {@code lineBreak}. */
1560         LINE_BREAK("lineBreak", "line-break", chromeAndEdgeAuto(), ff("auto")),
1561 
1562         /** The style property {@code line-break}. */
1563         LINE_BREAK_("line-break", "line-break", ff("auto")),
1564 
1565         /** The style property {@code lineGapOverride}. */
1566         LINE_GAP_OVERRIDE("lineGapOverride", "line-gap-oOverride", chromeAndEdgeEmpty()),
1567 
1568         /** The style property {@code lineHeight}. */
1569         LINE_HEIGHT("lineHeight", "line-height", ffNormal(),
1570                 chromeAndEdgeNormal()),
1571 
1572         /** The style property {@code line-height}. */
1573         LINE_HEIGHT_("line-height", "line-height", ffNormal()),
1574 
1575         /** The style property {@code listStyle}. */
1576         LIST_STYLE("listStyle", "list-style", chromeAndEdge("outside none disc"),
1577                 ff("outside")),
1578 
1579         /** The style property {@code list-style}. */
1580         LIST_STYLE_("list-style", "list-style", ff("outside")),
1581 
1582         /** The style property {@code listStyleImage}. */
1583         LIST_STYLE_IMAGE("listStyleImage", "list-style-image", chromeAndEdgeNone(), ffNone()),
1584 
1585         /** The style property {@code list-style-image}. */
1586         LIST_STYLE_IMAGE_("list-style-image", "list-style-image", ffNone()),
1587 
1588         /** The style property {@code listStylePosition}. */
1589         LIST_STYLE_POSITION("listStylePosition", "list-style-position",
1590                 chromeAndEdge("outside"), ff("outside")),
1591 
1592         /** The style property {@code list-style-position}. */
1593         LIST_STYLE_POSITION_("list-style-position", "list-style-position", ff("outside")),
1594 
1595         /** The style property {@code listStyleType}. */
1596         LIST_STYLE_TYPE("listStyleType", "list-style-type", chromeAndEdge("disc"), ff("disc")),
1597 
1598         /** The style property {@code list-style-type}. */
1599         LIST_STYLE_TYPE_("list-style-type", "list-style-type", ff("disc")),
1600 
1601         /** The style property {@code margin}. */
1602         MARGIN("margin", "margin", chromeAndEdge("0px"), ff("0px")),
1603 
1604         /** The style property {@code marginBlock}. */
1605         MARGIN_BLOCK("marginBlock", "margin-block", chromeAndEdge("0px"), ff("0px")),
1606 
1607         /** The style property {@code margin-block}. */
1608         MARGIN_BLOCK_("margin-block", "margin-block", ff("0px")),
1609 
1610         /** The style property {@code marginBlockEnd}. */
1611         MARGIN_BLOCK_END("marginBlockEnd", "margin-block-end", chromeAndEdge("0px"), ff("0px")),
1612 
1613         /** The style property {@code margin-block-end}. */
1614         MARGIN_BLOCK_END_("margin-block-end", "margin-block-end", ff("0px")),
1615 
1616         /** The style property {@code marginBlockStart}. */
1617         MARGIN_BLOCK_START("marginBlockStart", "margin-block-start", chromeAndEdge("0px"), ff("0px")),
1618 
1619         /** The style property {@code margin-block-start}. */
1620         MARGIN_BLOCK_START_("margin-block-start", "margin-block-start", ff("0px")),
1621 
1622         /** The style property {@code marginBottom}. */
1623         MARGIN_BOTTOM("marginBottom", "margin-bottom", chromeAndEdge("0px"), ff("")),
1624 
1625         /** The style property {@code margin-bottom}. */
1626         MARGIN_BOTTOM_("margin-bottom", "margin-bottom", ff("0px")),
1627 
1628         /** The style property {@code marginInline}. */
1629         MARGIN_INLINE("marginInline", "margin-inline", chromeAndEdge("0px"), ff("0px")),
1630 
1631         /** The style property {@code margin-inline}. */
1632         MARGIN_INLINE_("margin-inline", "margin-inline", ff("0px")),
1633 
1634         /** The style property {@code marginInlineEnd}. */
1635         MARGIN_INLINE_END("marginInlineEnd", "margin-inline-end", chromeAndEdge("0px"), ff("0px")),
1636 
1637         /** The style property {@code margin-inline-end}. */
1638         MARGIN_INLINE_END_("margin-inline-end", "margin-inline-end", ff("0px")),
1639 
1640         /** The style property {@code marginInlineStart}. */
1641         MARGIN_INLINE_START("marginInlineStart", "margin-inline-start", chromeAndEdge("0px"), ff("0px")),
1642 
1643         /** The style property {@code margin-inline-start}. */
1644         MARGIN_INLINE_START_("margin-inline-start", "margin-inline-start", ff("0px")),
1645 
1646         /** The style property {@code marginLeft}. */
1647         MARGIN_LEFT("marginLeft", "margin-left", chromeAndEdge("0px"), ff("")),
1648 
1649         /** The style property {@code margin-left}. */
1650         MARGIN_LEFT_("margin-left", "margin-left", ff("0px")),
1651 
1652         /** The style property {@code marginRight}. */
1653         MARGIN_RIGHT("marginRight", "margin-right", chromeAndEdge("0px"), ff("")),
1654 
1655         /** The style property {@code margin-right}. */
1656         MARGIN_RIGHT_("margin-right", "margin-right", ff("0px")),
1657 
1658         /** The style property {@code marginTop}. */
1659         MARGIN_TOP("marginTop", "margin-top", chromeAndEdge("0px"), ff("")),
1660 
1661         /** The style property {@code margin-top}. */
1662         MARGIN_TOP_("margin-top", "margin-top", ff("0px")),
1663 
1664         /** The style property {@code marker}. */
1665         MARKER("marker", "marker", chromeAndEdgeNone(), ffNone()),
1666 
1667         /** The style property {@code markerEnd}. */
1668         MARKER_END("markerEnd", "marker-end", ffNone(), chromeAndEdgeNone()),
1669 
1670         /** The style property {@code marker-end}. */
1671         MARKER_END_("marker-end", "marker-end", ffNone()),
1672 
1673         /** The style property {@code markerMid}. */
1674         MARKER_MID("markerMid", "marker-mid", ffNone(), chromeAndEdgeNone()),
1675 
1676         /** The style property {@code marker-mid}. */
1677         MARKER_MID_("marker-mid", "marker-mid", ffNone()),
1678 
1679         /** The style property {@code markerStart}. */
1680         MARKER_START("markerStart", "marker-start", ffNone(), chromeAndEdgeNone()),
1681 
1682         /** The style property {@code marker-start}. */
1683         MARKER_START_("marker-start", "marker-start", ffNone()),
1684 
1685         /** The style property {@code mask}. */
1686         MASK("mask", "mask", ffNone(), chromeAndEdgeNone()),
1687 
1688         /** The style property {@code maskClip}. */
1689         MASK_CLIP("maskClip", "mask-clip", ff("border-box"), chromeAndEdge("border-box")),
1690 
1691         /** The style property {@code mask-clip}. */
1692         MASK_CLIP_("mask-clip", "mask-clip", ff("border-box")),
1693 
1694         /** The style property {@code maskComposite}. */
1695         MASK_COMPOSITE("maskComposite", "mask-composite", ff("add"), chromeAndEdge("add")),
1696 
1697         /** The style property {@code mask-composite}. */
1698         MASK_COMPOSITE_("mask-composite", "mask-composite", ff("add")),
1699 
1700         /** The style property {@code maskImage}. */
1701         MASK_IMAGE("maskImage", "mask-image", ffNone(), chromeAndEdgeNone()),
1702 
1703         /** The style property {@code mask-image}. */
1704         MASK_IMAGE_("mask-image", "mask-image", ffNone()),
1705 
1706         /** The style property {@code maskMode}. */
1707         MASK_MODE("maskMode", "mask-mode", ff("match-source"), chromeAndEdge("match-source")),
1708 
1709         /** The style property {@code mask-mode}. */
1710         MASK_MODE_("mask-mode", "mask-mode", ff("match-source")),
1711 
1712         /** The style property {@code maskOrigin}. */
1713         MASK_ORIGIN("maskOrigin", "mask-origin", ff("border-box"), chromeAndEdge("border-box")),
1714 
1715         /** The style property {@code mask-origin}. */
1716         MASK_ORIGIN_("mask-origin", "mask-origin", ff("border-box")),
1717 
1718         /** The style property {@code maskPosition}. */
1719         MASK_POSITION("maskPosition", "mask-position", ff("0% 0%"), chromeAndEdge("0% 0%")),
1720 
1721         /** The style property {@code mask-position}. */
1722         MASK_POSITION_("mask-position", "mask-position", ff("0% 0%")),
1723 
1724         /** The style property {@code maskPositionX}. */
1725         MASK_POSITION_X("maskPositionX", "mask-position-x", ff("0%")),
1726 
1727         /** The style property {@code mask-position-x}. */
1728         MASK_POSITION_X_("mask-position-x", "mask-position-x", ff("0%")),
1729 
1730         /** The style property {@code maskPositionY}. */
1731         MASK_POSITION_Y("maskPositionY", "mask-position-y", ff("0%")),
1732 
1733         /** The style property {@code mask-position-y}. */
1734         MASK_POSITION_Y_("mask-position-y", "mask-position-y", ff("0%")),
1735 
1736         /** The style property {@code maskRepeat}. */
1737         MASK_REPEAT("maskRepeat", "mask-repeat", ff("repeat"), chromeAndEdge("repeat")),
1738 
1739         /** The style property {@code mask-repeat}. */
1740         MASK_REPEAT_("mask-repeat", "mask-repeat", ff("repeat")),
1741 
1742         /** The style property {@code maskSize}. */
1743         MASK_SIZE("maskSize", "mask-size", ff("auto"), chromeAndEdgeAuto()),
1744 
1745         /** The style property {@code mask-size}. */
1746         MASK_SIZE_("mask-size", "mask-size", ff("auto")),
1747 
1748         /** The style property {@code maskType}. */
1749         MASK_TYPE("maskType", "mask-type", ff("luminance"), chromeAndEdge("luminance")),
1750 
1751         /** The style property {@code mask-type}. */
1752         MASK_TYPE_("mask-type", "mask-type", ff("luminance")),
1753 
1754         /** The style property {@code mathDepth}. */
1755         MATH_DEPTH("mathDepth", "math-depth", chromeAndEdge("0"), ff("0")),
1756 
1757         /** The style property {@code math-depth}. */
1758         MATH_DEPTH_("math-depth", "math-depth", ff("0")),
1759 
1760         /** The style property {@code mathShift}. */
1761         MATH_SHIFT("mathShift", "math-shift", chromeAndEdgeNormal()),
1762 
1763         /** The style property {@code mathStyle}. */
1764         MATH_STYLE("mathStyle", "math-style", chromeAndEdgeNormal(), ffNormal()),
1765 
1766         /** The style property {@code math-style}. */
1767         MATH_STYLE_("math-style", "math-style", ffNormal()),
1768 
1769         /** The style property {@code maxBlockSize}. */
1770         MAX_BLOCK_SIZE("maxBlockSize", "max-block-size", ffNone(), chromeAndEdgeNone()),
1771 
1772         /** The style property {@code max-block-size}. */
1773         MAX_BLOCK_SIZE_("max-block-size", "max-block-size", ffNone()),
1774 
1775         /** The style property {@code maxHeight}. */
1776         MAX_HEIGHT("maxHeight", "max-height", chromeAndEdgeNone(), ff("")),
1777 
1778         /** The style property {@code max-height}. */
1779         MAX_HEIGHT_("max-height", "max-height", ffNone()),
1780 
1781         /** The style property {@code maxInlineSize}. */
1782         MAX_INLINE_SIZE("maxInlineSize", "max-inline-size", ffNone(), chromeAndEdgeNone()),
1783 
1784         /** The style property {@code max-inline-size}. */
1785         MAX_INLINE_SIZE_("max-inline-size", "max-inline-size", ffNone()),
1786 
1787         /** The style property {@code maxWidth}. */
1788         MAX_WIDTH("maxWidth", "max-width", chromeAndEdgeNone(), ff("")),
1789 
1790         /** The style property {@code max-width}. */
1791         MAX_WIDTH_("max-width", "max-width", ffNone()),
1792 
1793         /** The style property {@code minBlockSize}. */
1794         MIN_BLOCK_SIZE("minBlockSize", "min-block-size", ff("0px"), chromeAndEdge("0px")),
1795 
1796         /** The style property {@code min-block-size}. */
1797         MIN_BLOCK_SIZE_("min-block-size", "min-block-size", ff("0px")),
1798 
1799         /** The style property {@code minHeight}. */
1800         MIN_HEIGHT("minHeight", "min-height", chromeAndEdge("0px"), ff("")),
1801 
1802         /** The style property {@code min-height}. */
1803         MIN_HEIGHT_("min-height", "min-height", ff("0px")),
1804 
1805         /** The style property {@code minInlineSize}. */
1806         MIN_INLINE_SIZE("minInlineSize", "min-inline-size", ff("0px"), chromeAndEdge("0px")),
1807 
1808         /** The style property {@code min-inline-size}. */
1809         MIN_INLINE_SIZE_("min-inline-size", "min-inline-size", ff("0px")),
1810 
1811         /** The style property {@code minWidth}. */
1812         MIN_WIDTH("minWidth", "min-width", chromeAndEdge("0px"), ff("")),
1813 
1814         /** The style property {@code min-width}. */
1815         MIN_WIDTH_("min-width", "min-width", ff("0px")),
1816 
1817         /** The style property {@code mixBlendMode}. */
1818         MIX_BLEND_MODE("mixBlendMode", "mix-blend-mode", ffNormal(), chromeAndEdgeNormal()),
1819 
1820         /** The style property {@code mix-blend-mode}. */
1821         MIX_BLEND_MODE_("mix-blend-mode", "mix-blend-mode", ffNormal()),
1822 
1823         /** The style property {@code MozAnimation}. */
1824         MOZ_ANIMATION("MozAnimation", "-moz-animation", ffNone()),
1825 
1826         /** The style property {@code -moz-animation}. */
1827         MOZ_ANIMATION__("-moz-animation", "-moz-animation", ffNone()),
1828 
1829         /** The style property {@code MozAnimationDelay}. */
1830         MOZ_ANIMATION_DELAY("MozAnimationDelay", "-moz-animation-delay", ff("0s")),
1831 
1832         /** The style property {@code -moz-animation-delay}. */
1833         MOZ_ANIMATION_DELAY__("-moz-animation-delay", "-moz-animation-delay", ff("0s")),
1834 
1835         /** The style property {@code MozAnimationDirection}. */
1836         MOZ_ANIMATION_DIRECTION("MozAnimationDirection", "-moz-animation-direction", ffNormal()),
1837 
1838         /** The style property {@code -moz-animation-direction}. */
1839         MOZ_ANIMATION_DIRECTION__("-moz-animation-direction", "-moz-animation-direction", ffNormal()),
1840 
1841         /** The style property {@code MozAnimationDuration}. */
1842         MOZ_ANIMATION_DURATION("MozAnimationDuration", "-moz-animation-duration", ff("0s")),
1843 
1844         /** The style property {@code -moz-animation-duration}. */
1845         MOZ_ANIMATION_DURATION__("-moz-animation-duration", "-moz-animation-duration", ff("0s")),
1846 
1847         /** The style property {@code MozAnimationFillMode}. */
1848         MOZ_ANIMATION_FILL_MODE("MozAnimationFillMode", "-moz-animation-fill-mode", ffNone()),
1849 
1850         /** The style property {@code -moz-animation-fill-mode}. */
1851         MOZ_ANIMATION_FILL_MODE__("-moz-animation-fill-mode", "-moz-animation-fill-mode", ffNone()),
1852 
1853         /** The style property {@code MozAnimationIterationCount}. */
1854         MOZ_ANIMATION_ITERATION_COUNT("MozAnimationIterationCount", "-moz-animation-iteration-count", ff("1")),
1855 
1856         /** The style property {@code -moz-animation-iteration-count}. */
1857         MOZ_ANIMATION_ITERATION_COUNT__("-moz-animation-iteration-count", "-moz-animation-iteration-count",
1858                 ff("1")),
1859 
1860         /** The style property {@code MozAnimationName}. */
1861         MOZ_ANIMATION_NAME("MozAnimationName", "-moz-animation-name", ffNone()),
1862 
1863         /** The style property {@code -moz-animation-name}. */
1864         MOZ_ANIMATION_NAME__("-moz-animation-name", "-moz-animation-name", ffNone()),
1865 
1866         /** The style property {@code MozAnimationPlayState}. */
1867         MOZ_ANIMATION_PLAY_STATE("MozAnimationPlayState", "-moz-animation-play-state", ff("running")),
1868 
1869         /** The style property {@code -moz-animation-play-state}. */
1870         MOZ_ANIMATION_PLAY_STATE__("-moz-animation-play-state", "-moz-animation-play-state", ff("running")),
1871 
1872         /** The style property {@code MozAnimationTimingFunction}. */
1873         MOZ_ANIMATION_TIMING_FUNCTION("MozAnimationTimingFunction", "-moz-animation-timing-function",
1874                 ff("ease")),
1875 
1876         /** The style property {@code -moz-animation-timing-function}. */
1877         MOZ_ANIMATION_TIMING_FUNCTION__("-moz-animation-timing-function", "-moz-animation-timing-function",
1878                 ff("ease")),
1879 
1880         /** The style property {@code MozAppearance}. */
1881         MOZ_APPEARANCE("MozAppearance", "-moz-appearance", ffNone()),
1882 
1883         /** The style property {@code -moz-appearance}. */
1884         MOZ_APPEARANCE__("-moz-appearance", "-moz-appearance", ffNone()),
1885 
1886         /** The style property {@code MozBackfaceVisibility}. */
1887         MOZ_BACKFACE_VISIBILITY("MozBackfaceVisibility", "-moz-backface-visibility",
1888                 ffLatest("visible")),
1889 
1890         /** The style property {@code -moz-backface-visibility}. */
1891         MOZ_BACKFACE_VISIBILITY__("-moz-backface-visibility", "-moz-backface-visibility",
1892                 ffLatest("visible")),
1893 
1894         /** The style property {@code MozBorderBottomColors}. */
1895         MOZ_BORDER_BOTTOM_COLORS("MozBorderBottomColors", "-moz-border-bottom-colors",
1896                 ffNotIterable("none")),
1897 
1898         /** The style property {@code -moz-border-bottom-colors}. */
1899         MOZ_BORDER_BOTTOM_COLORS__("-moz-border-bottom-colors", "-moz-border-bottom-colors",
1900                 ffNotIterable("none")),
1901 
1902         /** The style property {@code MozBorderEnd}. */
1903         MOZ_BORDER_END("MozBorderEnd", "-moz-border-end", ff("0px rgb(0, 0, 0)")),
1904 
1905         /** The style property {@code -moz-border-end}. */
1906         MOZ_BORDER_END__("-moz-border-end", "-moz-border-end", ff("0px rgb(0, 0, 0)")),
1907 
1908         /** The style property {@code MozBorderEndColor}. */
1909         MOZ_BORDER_END_COLOR("MozBorderEndColor", "-moz-border-end-color", ff("rgb(0, 0, 0)")),
1910 
1911         /** The style property {@code -moz-border-end-color}. */
1912         MOZ_BORDER_END_COLOR__("-moz-border-end-color", "-moz-border-end-color", ff("rgb(0, 0, 0)")),
1913 
1914         /** The style property {@code MozBorderEndStyle}. */
1915         MOZ_BORDER_END_STYLE("MozBorderEndStyle", "-moz-border-end-style", ffNone()),
1916 
1917         /** The style property {@code -moz-border-end-style}. */
1918         MOZ_BORDER_END_STYLE__("-moz-border-end-style", "-moz-border-end-style", ffNone()),
1919 
1920         /** The style property {@code MozBorderEndWidth}. */
1921         MOZ_BORDER_END_WIDTH("MozBorderEndWidth", "-moz-border-end-width", ff("0px")),
1922 
1923         /** The style property {@code -moz-border-end-width}. */
1924         MOZ_BORDER_END_WIDTH__("-moz-border-end-width", "-moz-border-end-width", ff("0px")),
1925 
1926         /** The style property {@code MozBorderImage}. */
1927         MOZ_BORDER_IMAGE("MozBorderImage", "-moz-border-image", ffNone()),
1928 
1929         /** The style property {@code -moz-border-image}. */
1930         MOZ_BORDER_IMAGE__("-moz-border-image", "-moz-border-image", ffNone()),
1931 
1932         /** The style property {@code MozBorderLeftColors}. */
1933         MOZ_BORDER_LEFT_COLORS("MozBorderLeftColors", "-moz-border-left-colors",
1934                 ffNotIterable("none")),
1935 
1936         /** The style property {@code -moz-border-left-colors}. */
1937         MOZ_BORDER_LEFT_COLORS__("-moz-border-left-colors", "-moz-border-left-colors",
1938                 ffNotIterable("none")),
1939 
1940         /** The style property {@code MozBorderRightColors}. */
1941         MOZ_BORDER_RIGHT_COLORS("MozBorderRightColors", "-moz-border-right-colors",
1942                 ffNotIterable("none")),
1943 
1944         /** The style property {@code -moz-border-right-colors}. */
1945         MOZ_BORDER_RIGHT_COLORS__("-moz-border-right-colors", "-moz-border-right-colors",
1946                 ffNotIterable("none")),
1947 
1948         /** The style property {@code MozBorderStart}. */
1949         MOZ_BORDER_START("MozBorderStart", "-moz-border-start", ff("0px rgb(0, 0, 0)")),
1950 
1951         /** The style property {@code -moz-border-start}. */
1952         MOZ_BORDER_START__("-moz-border-start", "-moz-border-start", ff("0px rgb(0, 0, 0)")),
1953 
1954         /** The style property {@code MozBorderStartColor}. */
1955         MOZ_BORDER_START_COLOR("MozBorderStartColor", "-moz-border-start-color", ff("rgb(0, 0, 0)")),
1956 
1957         /** The style property {@code -moz-border-start-color}. */
1958         MOZ_BORDER_START_COLOR__("-moz-border-start-color", "-moz-border-start-color",
1959                 ff("rgb(0, 0, 0)")),
1960 
1961         /** The style property {@code MozBorderStartStyle}. */
1962         MOZ_BORDER_START_STYLE("MozBorderStartStyle", "-moz-border-start-style", ffNone()),
1963 
1964         /** The style property {@code -moz-border-start-style}. */
1965         MOZ_BORDER_START_STYLE__("-moz-border-start-style", "-moz-border-start-style", ffNone()),
1966 
1967         /** The style property {@code MozBorderStartWidth}. */
1968         MOZ_BORDER_START_WIDTH("MozBorderStartWidth", "-moz-border-start-width", ff("0px")),
1969 
1970         /** The style property {@code -moz-border-start-width}. */
1971         MOZ_BORDER_START_WIDTH__("-moz-border-start-width", "-moz-border-start-width", ff("0px")),
1972 
1973         /** The style property {@code MozBorderTopColors}. */
1974         MOZ_BORDER_TOP_COLORS("MozBorderTopColors", "-moz-border-top-colors",
1975                 ffNotIterable("none")),
1976 
1977         /** The style property {@code -moz-border-top-colors}. */
1978         MOZ_BORDER_TOP_COLORS__("-moz-border-top-colors", "-moz-border-top-colors",
1979                 ffNotIterable("none")),
1980 
1981         /** The style property {@code MozBoxAlign}. */
1982         MOZ_BOX_ALIGN("MozBoxAlign", "-moz-box-align", ff("stretch")),
1983 
1984         /** The style property {@code -moz-box-align}. */
1985         MOZ_BOX_ALIGN__("-moz-box-align", "-moz-box-align", ff("stretch")),
1986 
1987         /** The style property {@code MozBoxDirection}. */
1988         MOZ_BOX_DIRECTION("MozBoxDirection", "-moz-box-direction", ffNormal()),
1989 
1990         /** The style property {@code -moz-box-direction}. */
1991         MOZ_BOX_DIRECTION__("-moz-box-direction", "-moz-box-direction", ffNormal()),
1992 
1993         /** The style property {@code MozBoxFlex}. */
1994         MOZ_BOX_FLEX("MozBoxFlex", "-moz-box-flex", ff("0")),
1995 
1996         /** The style property {@code -moz-box-flex}. */
1997         MOZ_BOX_FLEX__("-moz-box-flex", "-moz-box-flex", ff("0")),
1998 
1999         /** The style property {@code MozBoxOrdinalGroup}. */
2000         MOZ_BOX_ORDINAL_GROUP("MozBoxOrdinalGroup", "-moz-box-ordinal-group", ff("1")),
2001 
2002         /** The style property {@code -moz-box-ordinal-group}. */
2003         MOZ_BOX_ORDINAL_GROUP__("-moz-box-ordinal-group", "-moz-box-ordinal-group", ff("1")),
2004 
2005         /** The style property {@code MozBoxOrient}. */
2006         MOZ_BOX_ORIENT("MozBoxOrient", "-moz-box-orient", ff("horizontal")),
2007 
2008         /** The style property {@code -moz-box-orient}. */
2009         MOZ_BOX_ORIENT__("-moz-box-orient", "-moz-box-orient", ff("horizontal")),
2010 
2011         /** The style property {@code MozBoxPack}. */
2012         MOZ_BOX_PACK("MozBoxPack", "-moz-box-pack", ff("start")),
2013 
2014         /** The style property {@code -moz-box-pack}. */
2015         MOZ_BOX_PACK__("-moz-box-pack", "-moz-box-pack", ff("start")),
2016 
2017         /** The style property {@code MozBoxSizing}. */
2018         MOZ_BOX_SIZING("MozBoxSizing", "-moz-box-sizing", ff("content-box")),
2019 
2020         /** The style property {@code -moz-box-sizing}. */
2021         MOZ_BOX_SIZING__("-moz-box-sizing", "-moz-box-sizing", ff("content-box")),
2022 
2023         /** The style property {@code MozFloatEdge}. */
2024         MOZ_FLOAT_EDGE("MozFloatEdge", "-moz-float-edge", ff("content-box")),
2025 
2026         /** The style property {@code -moz-float-edge}. */
2027         MOZ_FLOAT_EDGE__("-moz-float-edge", "-moz-float-edge", ff("content-box")),
2028 
2029         /** The style property {@code MozFontFeatureSettings}. */
2030         MOZ_FONT_FEATURE_SETTINGS("MozFontFeatureSettings", "-moz-font-feature-settings",
2031                 ffNormal()),
2032 
2033         /** The style property {@code -moz-font-feature-settings}. */
2034         MOZ_FONT_FEATURE_SETTINGS__("-moz-font-feature-settings", "-moz-font-feature-settings",
2035                 ffNormal()),
2036 
2037         /** The style property {@code MozFontLanguageOverride}. */
2038         MOZ_FONT_LANGUAGE_OVERRIDE("MozFontLanguageOverride", "-moz-font-language-override",
2039                 ffNormal()),
2040 
2041         /** The style property {@code -moz-font-language-override}. */
2042         MOZ_FONT_LANGUAGE_OVERRIDE__("-moz-font-language-override", "-moz-font-language-override",
2043                 ffNormal()),
2044 
2045         /** The style property {@code MozForceBrokenImageIcon}. */
2046         MOZ_FORCE_BROKEN_IMAGE_ICON("MozForceBrokenImageIcon", "-moz-force-broken-image-icon",
2047                 ff("0")),
2048 
2049         /** The style property {@code -moz-force-broken-image-icon}. */
2050         MOZ_FORCE_BROKEN_IMAGE_ICON__("-moz-force-broken-image-icon", "-moz-force-broken-image-icon",
2051                 ff("0")),
2052 
2053         /** The style property {@code MozHyphens}. */
2054         MOZ_HYPHENS("MozHyphens", "-moz-hyphens", ff("manual")),
2055 
2056         /** The style property {@code -moz-hyphens}. */
2057         MOZ_HYPHENS__("-moz-hyphens", "-moz-hyphens", ff("manual")),
2058 
2059         /** The style property {@code MozMarginEnd}. */
2060         MOZ_MARGIN_END("MozMarginEnd", "-moz-margin-end", ff("0px")),
2061 
2062         /** The style property {@code -moz-margin-end}. */
2063         MOZ_MARGIN_END__("-moz-margin-end", "-moz-margin-end", ff("0px")),
2064 
2065         /** The style property {@code MozMarginStart}. */
2066         MOZ_MARGIN_START("MozMarginStart", "-moz-margin-start", ff("0px")),
2067 
2068         /** The style property {@code -moz-margin-start}. */
2069         MOZ_MARGIN_START__("-moz-margin-start", "-moz-margin-start", ff("0px")),
2070 
2071         /** The style property {@code MozOrient}. */
2072         MOZ_ORIENT("MozOrient", "-moz-orient", ff("inline")),
2073 
2074         /** The style property {@code -moz-orient}. */
2075         MOZ_ORIENT__("-moz-orient", "-moz-orient", ff("inline")),
2076 
2077         /** The style property {@code MozPaddingEnd}. */
2078         MOZ_PADDING_END("MozPaddingEnd", "-moz-padding-end", ff("0px")),
2079 
2080         /** The style property {@code -moz-padding-end}. */
2081         MOZ_PADDING_END__("-moz-padding-end", "-moz-padding-end", ff("0px")),
2082 
2083         /** The style property {@code MozPaddingStart}. */
2084         MOZ_PADDING_START("MozPaddingStart", "-moz-padding-start", ff("0px")),
2085 
2086         /** The style property {@code -moz-padding-start}. */
2087         MOZ_PADDING_START__("-moz-padding-start", "-moz-padding-start", ff("0px")),
2088 
2089         /** The style property {@code MozPerspective}. */
2090         MOZ_PERSPECTIVE("MozPerspective", "-moz-perspective", ffLatest("none")),
2091 
2092         /** The style property {@code -moz-perspective}. */
2093         MOZ_PERSPECTIVE__("-moz-perspective", "-moz-perspective", ffLatest("none")),
2094 
2095         /** The style property {@code MozPerspectiveOrigin}. */
2096         MOZ_PERSPECTIVE_ORIGIN("MozPerspectiveOrigin", "-moz-perspective-origin", ffLatest("620px 9px")),
2097 
2098         /** The style property {@code -moz-perspective-origin}. */
2099         MOZ_PERSPECTIVE_ORIGIN__("-moz-perspective-origin", "-moz-perspective-origin", ffLatest("620px 9px")),
2100 
2101         /** The style property {@code MozTabSize}. */
2102         MOZ_TAB_SIZE("MozTabSize", "-moz-tab-size", ff("8")),
2103 
2104         /** The style property {@code -moz-tab-size}. */
2105         MOZ_TAB_SIZE__("-moz-tab-size", "-moz-tab-size", ff("8")),
2106 
2107         /** The style property {@code MozTextAlignLast}. */
2108         MOZ_TEXT_ALIGN_LAST("MozTextAlignLast", "-moz-text-align-last",
2109                 ffNotIterable("auto")),
2110 
2111         /** The style property {@code -moz-text-align-last}. */
2112         MOZ_TEXT_ALIGN_LAST__("-moz-text-align-last", "-moz-text-align-last",
2113                 ffNotIterable("auto")),
2114 
2115         /** The style property {@code MozTextSizeAdjust}. */
2116         MOZ_TEXT_SIZE_ADJUST("MozTextSizeAdjust", "-moz-text-size-adjust",
2117                 ff("auto")),
2118 
2119         /** The style property {@code -moz-text-size-adjust}. */
2120         MOZ_TEXT_SIZE_ADJUST__("-moz-text-size-adjust", "-moz-text-size-adjust",
2121                 ff("auto")),
2122 
2123         /** The style property {@code MozTransform}. */
2124         MOZ_TRANSFORM("MozTransform", "-moz-transform", ffNone()),
2125 
2126         /** The style property {@code -moz-transform}. */
2127         MOZ_TRANSFORM__("-moz-transform", "-moz-transform", ffNone()),
2128 
2129         /** The style property {@code MozTransformOrigin}. */
2130         MOZ_TRANSFORM_ORIGIN("MozTransformOrigin", "-moz-transform-origin",
2131                 ffEsr("622px 9px"), ffLatest("620px 9px")),
2132 
2133         /** The style property {@code -moz-transform-origin}. */
2134         MOZ_TRANSFORM_ORIGIN__("-moz-transform-origin", "-moz-transform-origin",
2135                 ffEsr("622px 9px"), ffLatest("620px 9px")),
2136 
2137         /** The style property {@code MozTransformStyle}. */
2138         MOZ_TRANSFORM_STYLE("MozTransformStyle", "-moz-transform-style", ffLatest("flat")),
2139 
2140         /** The style property {@code -moz-transform-style}. */
2141         MOZ_TRANSFORM_STYLE__("-moz-transform-style", "-moz-transform-style", ffLatest("flat")),
2142 
2143         /** The style property {@code MozUserInput}. */
2144         MOZ_USER_INPUT("MozUserInput", "-moz-user-input", ffEsr("auto")),
2145 
2146         /** The style property {@code -moz-user-input}. */
2147         MOZ_USER_INPUT__("-moz-user-input", "-moz-user-input", ffEsr("auto")),
2148 
2149         /** The style property {@code MozUserModify}. */
2150         MOZ_USER_MODIFY("MozUserModify", "-moz-user-modify", ffEsr("read-only")),
2151 
2152         /** The style property {@code -moz-user-modify}. */
2153         MOZ_USER_MODIFY__("-moz-user-modify", "-moz-user-modify", ffEsr("read-only")),
2154 
2155         /** The style property {@code MozUserSelect}. */
2156         MOZ_USER_SELECT("MozUserSelect", "-moz-user-select", ff("auto")),
2157 
2158         /** The style property {@code -moz-user-select}. */
2159         MOZ_USER_SELECT__("-moz-user-select", "-moz-user-select", ff("auto")),
2160 
2161         /** The style property {@code MozWindowDragging}. */
2162         MOZ_WINDOW_DRAGGING("MozWindowDragging", "-moz-window-dragging", ff("default")),
2163 
2164         /** The style property {@code -moz-window-dragging}. */
2165         MOZ_WINDOW_DRAGGING__("-moz-window-dragging", "-moz-window-dragging", ff("default")),
2166 
2167         /** The style property {@code navigation}. */
2168         NAVIGATION("navigation", "navigation", chromeAndEdgeEmpty()),
2169 
2170         /** The style property {@code negative}. */
2171         NEGATIVE("negative", "negative", chromeAndEdgeEmpty()),
2172 
2173         /** The style property {@code objectFit}. */
2174         OBJECT_FIT("objectFit", "object-fit", ff("fill"), chromeAndEdge("fill")),
2175 
2176         /** The style property {@code object-fit}. */
2177         OBJECT_FIT_("object-fit", "object-fit", ff("fill")),
2178 
2179         /** The style property {@code objectPosition}. */
2180         OBJECT_POSITION("objectPosition", "object-position", ff("50% 50%"), chromeAndEdge("50% 50%")),
2181 
2182         /** The style property {@code object-position}. */
2183         OBJECT_POSITION_("object-position", "object-position", ff("50% 50%")),
2184 
2185         /** The style property {@code objectViewBox}. */
2186         OBJECT_VIEWBOX("objectViewBox", "object-view-box", chromeAndEdgeNone()),
2187 
2188         /** The style property {@code offset}. */
2189         OFFSET("offset", "offset", chromeAndEdge("none 0px auto 0deg"), ffNormal()),
2190 
2191         /** The style property {@code offsetAnchor}. */
2192         OFFSET_ANCHOR("offsetAnchor", "offset-anchor", chromeAndEdgeAuto(), ff("auto")),
2193 
2194         /** The style property {@code offset-anchor}. */
2195         OFFSET_ANCHOR_("offset-anchor", "offset-anchor", ff("auto")),
2196 
2197         /** The style property {@code offsetDistance}. */
2198         OFFSET_DISTANCE("offsetDistance", "offset-distance", chromeAndEdge("0px"), ff("0px")),
2199 
2200         /** The style property {@code offset-distance}. */
2201         OFFSET_DISTANCE_("offset-distance", "offset-distance", ff("0px")),
2202 
2203         /** The style property {@code offsetPath}. */
2204         OFFSET_PATH("offsetPath", "offset-path", chromeAndEdgeNone(), ffNone()),
2205 
2206         /** The style property {@code offset-path}. */
2207         OFFSET_PATH_("offset-path", "offset-path", ffNone()),
2208 
2209         /** The style property {@code offsetPosition}. */
2210         OFFSET_POSITION("offsetPosition", "offset-position", chromeAndEdgeNormal(), ffNormal()),
2211 
2212         /** The style property {@code offset-position}. */
2213         OFFSET_POSITION_("offset-position", "offset-position", ffNormal()),
2214 
2215         /** The style property {@code offsetRotate}. */
2216         OFFSET_ROTATE("offsetRotate", "offset-rotate", chromeAndEdge("auto 0deg"), ff("auto")),
2217 
2218         /** The style property {@code offset-rotate}. */
2219         OFFSET_ROTATE_("offset-rotate", "offset-rotate", ff("auto")),
2220 
2221         /** The style property {@code opacity}. */
2222         OPACITY("opacity", "opacity", chromeAndEdge("1"), ff("")),
2223 
2224         /** The style property {@code order}. */
2225         ORDER("order", "order", ff("0"), chromeAndEdge("0")),
2226 
2227         /** The style property {@code orphans}. */
2228         ORPHANS("orphans", "orphans", chromeAndEdge("2")),
2229 
2230         /** The style property {@code outline}. */
2231         OUTLINE("outline", "outline", chromeAndEdge("rgb(0, 0, 0) none 0px"),
2232                 ff("rgb(0, 0, 0) 0px")),
2233 
2234         /** The style property {@code outlineColor}. */
2235         OUTLINE_COLOR("outlineColor", "outline-color", chromeAndEdge("rgb(0, 0, 0)"),
2236                 ff("rgb(0, 0, 0)")),
2237 
2238         /** The style property {@code outline-color}. */
2239         OUTLINE_COLOR_("outline-color", "outline-color", ff("rgb(0, 0, 0)")),
2240 
2241         /** The style property {@code outlineOffset}. */
2242         OUTLINE_OFFSET("outlineOffset", "outline-offset", chromeAndEdge("0px"), ff("0px")),
2243 
2244         /** The style property {@code outline-offset}. */
2245         OUTLINE_OFFSET_("outline-offset", "outline-offset", ff("0px")),
2246 
2247         /** The style property {@code outlineStyle}. */
2248         OUTLINE_STYLE("outlineStyle", "outline-style", chromeAndEdgeNone(), ffNone()),
2249 
2250         /** The style property {@code outline-style}. */
2251         OUTLINE_STYLE_("outline-style", "outline-style", ffNone()),
2252 
2253         /** The style property {@code outlineWidth}. */
2254         OUTLINE_WIDTH("outlineWidth", "outline-width", chromeAndEdge("0px"), ff("")),
2255 
2256         /** The style property {@code outline-width}. */
2257         OUTLINE_WIDTH_("outline-width", "outline-width", ff("0px")),
2258 
2259         /** The style property {@code overflow}. */
2260         OVERFLOW("overflow", "overflow", chromeAndEdge("visible"), ff("visible")),
2261 
2262         /** The style property {@code overflowAnchor}. */
2263         OVERFLOW_ANCHOR("overflowAnchor", "overflow-anchor", chromeAndEdgeAuto(), ff("auto")),
2264 
2265         /** The style property {@code overflow-anchor}. */
2266         OVERFLOW_ANCHOR_("overflow-anchor", "overflow-anchor", ff("auto")),
2267 
2268         /** The style property {@code overflowBlock}. */
2269         OVERFLOW_BLOCK("overflowBlock", "overflow-block", chromeAndEdgeAndFirefox("visible")),
2270 
2271         /** The style property {@code overflow-block}. */
2272         OVERFLOW_BLOCK_("overflow-block", "overflow-block", ff("visible")),
2273 
2274         /** The style property {@code overflowClipMargin}. */
2275         OVERFLOW_CLIP_MARGIN("overflowClipMargin", "overflow-clip-margin", chromeAndEdgeAndFirefox("0px")),
2276 
2277         /** The style property {@code overflow-clip-margin}. */
2278         OVERFLOW_CLIP_MARGIN_("overflow-clip-margin", "overflow-clip-margin", ff("0px")),
2279 
2280         /** The style property {@code overflowInline}. */
2281         OVERFLOW_INLINE("overflowInline", "overflow-inline", chromeAndEdgeAndFirefox("visible")),
2282 
2283         /** The style property {@code overflow-inline}. */
2284         OVERFLOW_INLINE_("overflow-inline", "overflow-inline", ff("visible")),
2285 
2286         /** The style property {@code overflowWrap}. */
2287         OVERFLOW_WRAP("overflowWrap", "overflow-wrap", chromeAndEdgeNormal(), ffNormal()),
2288 
2289         /** The style property {@code overflow-wrap}. */
2290         OVERFLOW_WRAP_("overflow-wrap", "overflow-wrap", ffNormal()),
2291 
2292         /** The style property {@code overflowX}. */
2293         OVERFLOW_X("overflowX", "overflow-x", chromeAndEdge("visible"), ff("visible")),
2294 
2295         /** The style property {@code overflow-x}. */
2296         OVERFLOW_X_("overflow-x", "overflow-x", ff("visible")),
2297 
2298         /** The style property {@code overflowY}. */
2299         OVERFLOW_Y("overflowY", "overflow-y", chromeAndEdge("visible"), ff("visible")),
2300 
2301         /** The style property {@code overflow-y}. */
2302         OVERFLOW_Y_("overflow-y", "overflow-y", ff("visible")),
2303 
2304         /** The style property {@code overlay}. */
2305         OVERLAY("overlay", "overlay", chromeAndEdgeNone()),
2306 
2307         /** The style property {@code overrideColors}. */
2308         OVERRIDE_COLOR("overrideColors", "override-colors", chromeAndEdgeEmpty()),
2309 
2310         /** The style property {@code overscrollBehavior}. */
2311         OVERSCROLL_BEHAVIOR("overscrollBehavior", "overscroll-behavior", chromeAndEdgeAuto(),
2312                 ff("auto")),
2313 
2314         /** The style property {@code overscroll-behavior}. */
2315         OVERSCROLL_BEHAVIOR_("overscroll-behavior", "overscroll-behavior", ff("auto")),
2316 
2317         /** The style property {@code overscrollBehaviorBlock}. */
2318         OVERSCROLL_BEHAVIOR_BLOCK("overscrollBehaviorBlock", "overscroll-behavior-block", chromeAndEdgeAuto(),
2319                 ff("auto")),
2320 
2321         /** The style property {@code overscroll-behavior-block}. */
2322         OVERSCROLL_BEHAVIOR_BLOCK_("overscroll-behavior-block", "overscroll-behavior-block", ff("auto")),
2323 
2324         /** The style property {@code overscrollBehaviorInline}. */
2325         OVERSCROLL_BEHAVIOR_INLINE("overscrollBehaviorInline", "overscroll-behavior-inline", chromeAndEdgeAuto(),
2326                 ff("auto")),
2327 
2328         /** The style property {@code overscroll-behavior-inline}. */
2329         OVERSCROLL_BEHAVIOR_INLINE_("overscroll-behavior-inline", "overscroll-behavior-inline", ff("auto")),
2330 
2331         /** The style property {@code overscrollBehaviorX}. */
2332         OVERSCROLL_BEHAVIOR_X("overscrollBehaviorX", "overscroll-behavior-x", chromeAndEdgeAuto(), ff("auto")),
2333 
2334         /** The style property {@code overscroll-behavior-x}. */
2335         OVERSCROLL_BEHAVIOR_X_("overscroll-behavior-x", "overscroll-behavior-x", ff("auto")),
2336 
2337         /** The style property {@code overscrollBehaviorY}. */
2338         OVERSCROLL_BEHAVIOR_Y("overscrollBehaviorY", "overscroll-behavior-y", chromeAndEdgeAuto(), ff("auto")),
2339 
2340         /** The style property {@code overscroll-behavior-y}. */
2341         OVERSCROLL_BEHAVIOR_Y_("overscroll-behavior-y", "overscroll-behavior-y", ff("auto")),
2342 
2343         /** The style property {@code pad}. */
2344         PAD("pad", "pad", chromeAndEdgeEmpty()),
2345 
2346         /** The style property {@code padding}. */
2347         PADDING("padding", "padding", chromeAndEdge("0px"), ff("0px")),
2348 
2349         /** The style property {@code paddingBlock}. */
2350         PADDING_BLOCK("paddingBlock", "padding-block", chromeAndEdge("0px"), ff("0px")),
2351 
2352         /** The style property {@code padding-block}. */
2353         PADDING_BLOCK_("padding-block", "padding-block", ff("0px")),
2354 
2355         /** The style property {@code paddingBlockEnd}. */
2356         PADDING_BLOCK_END("paddingBlockEnd", "padding-block-end", chromeAndEdge("0px"),
2357                 ff("0px")),
2358 
2359         /** The style property {@code padding-block-end}. */
2360         PADDING_BLOCK_END_("padding-block-end", "padding-block-end", ff("0px")),
2361 
2362         /** The style property {@code paddingBlockStart}. */
2363         PADDING_BLOCK_START("paddingBlockStart", "padding-block-start", chromeAndEdge("0px"), ff("0px")),
2364 
2365         /** The style property {@code padding-block-start}. */
2366         PADDING_BLOCK_START_("padding-block-start", "padding-block-start", ff("0px")),
2367 
2368         /** The style property {@code paddingBottom}. */
2369         PADDING_BOTTOM("paddingBottom", "padding-bottom", chromeAndEdge("0px"), ff("")),
2370 
2371         /** The style property {@code padding-bottom}. */
2372         PADDING_BOTTOM_("padding-bottom", "padding-bottom", ff("0px")),
2373 
2374         /** The style property {@code paddingInline}. */
2375         PADDING_INLINE("paddingInline", "padding-inline", chromeAndEdge("0px"), ff("0px")),
2376 
2377         /** The style property {@code padding-inline}. */
2378         PADDING_INLINE_("padding-inline", "padding-inline", ff("0px")),
2379 
2380         /** The style property {@code paddingInlineEnd}. */
2381         PADDING_INLINE_END("paddingInlineEnd", "padding-inline-end", chromeAndEdge("0px"), ff("0px")),
2382 
2383         /** The style property {@code padding-inline-end}. */
2384         PADDING_INLINE_END_("padding-inline-end", "padding-inline-end", ff("0px")),
2385 
2386         /** The style property {@code paddingInlineStart}. */
2387         PADDING_INLINE_START("paddingInlineStart", "padding-inline-start", chromeAndEdge("0px"), ff("0px")),
2388 
2389         /** The style property {@code padding-inline-start}. */
2390         PADDING_INLINE_START_("padding-inline-start", "padding-inline-start", ff("0px")),
2391 
2392         /** The style property {@code paddingLeft}. */
2393         PADDING_LEFT("paddingLeft", "padding-left", chromeAndEdge("0px"), ff("")),
2394 
2395         /** The style property {@code padding-left}. */
2396         PADDING_LEFT_("padding-left", "padding-left", ff("0px")),
2397 
2398         /** The style property {@code paddingRight}. */
2399         PADDING_RIGHT("paddingRight", "padding-right", chromeAndEdge("0px"), ff("")),
2400 
2401         /** The style property {@code padding-right}. */
2402         PADDING_RIGHT_("padding-right", "padding-right", ff("0px")),
2403 
2404         /** The style property {@code paddingTop}. */
2405         PADDING_TOP("paddingTop", "padding-top", chromeAndEdge("0px"), ff("")),
2406 
2407         /** The style property {@code padding-top}. */
2408         PADDING_TOP_("padding-top", "padding-top", ff("0px")),
2409 
2410         /** The style property {@code page}. */
2411         PAGE("page", "page", chromeAndEdgeAuto(), ff("auto")),
2412 
2413         /** The style property {@code pageBreakAfter}. */
2414         PAGE_BREAK_AFTER("pageBreakAfter", "page-break-after", chromeAndEdgeAuto(), ff("auto")),
2415 
2416         /** The style property {@code page-break-after}. */
2417         PAGE_BREAK_AFTER_("page-break-after", "page-break-after", ff("auto")),
2418 
2419         /** The style property {@code pageBreakBefore}. */
2420         PAGE_BREAK_BEFORE("pageBreakBefore", "page-break-before", chromeAndEdgeAuto(), ff("auto")),
2421 
2422         /** The style property {@code page-break-before}. */
2423         PAGE_BREAK_BEFORE_("page-break-before", "page-break-before", ff("auto")),
2424 
2425         /** The style property {@code pageBreakInside}. */
2426         PAGE_BREAK_INSIDE("pageBreakInside", "page-break-inside", ff("auto"), chromeAndEdgeAuto()),
2427 
2428         /** The style property {@code page-break-inside}. */
2429         PAGE_BREAK_INSIDE_("page-break-inside", "page-break-inside", ff("auto")),
2430 
2431         /** The style property {@code pageOrientation}. */
2432         PAGE_ORIENTATION("pageOrientation", "page-orientation", chromeAndEdgeEmpty()),
2433 
2434         /** The style property {@code paintOrder}. */
2435         PAINT_ORDER("paintOrder", "paint-order", ffNormal(), chromeAndEdgeNormal()),
2436 
2437         /** The style property {@code paint-order}. */
2438         PAINT_ORDER_("paint-order", "paint-order", ffNormal()),
2439 
2440         /** The style property {@code perspective}. */
2441         PERSPECTIVE("perspective", "perspective", ffNone(), chromeAndEdgeNone()),
2442 
2443         /** The style property {@code perspectiveOrigin}. */
2444         PERSPECTIVE_ORIGIN("perspectiveOrigin", "perspective-origin",
2445                 ffEsr("622px 9px"), ffLatest("620px 9px"), chrome("620px 9px"), edge("616px 9px")),
2446 
2447         /** The style property {@code perspective-origin}. */
2448         PERSPECTIVE_ORIGIN_("perspective-origin", "perspective-origin",
2449                 ffEsr("622px 9px"), ffLatest("620px 9px")),
2450 
2451         /** The style property {@code placeContent}. */
2452         PLACE_CONTENT("placeContent", "place-content", chromeAndEdgeNormal(), ffNormal()),
2453 
2454         /** The style property {@code place-content}. */
2455         PLACE_CONTENT_("place-content", "place-content", ffNormal()),
2456 
2457         /** The style property {@code placeItems}. */
2458         PLACE_ITEMS("placeItems", "place-items", chromeAndEdgeNormal(), ff("normal legacy")),
2459 
2460         /** The style property {@code place-items}. */
2461         PLACE_ITEMS_("place-items", "place-items", ff("normal legacy")),
2462 
2463         /** The style property {@code placeSelf}. */
2464         PLACE_SELF("placeSelf", "place-self", chromeAndEdgeAuto(), ff("auto")),
2465 
2466         /** The style property {@code place-self}. */
2467         PLACE_SELF_("place-self", "place-self", ff("auto")),
2468 
2469         /** The style property {@code pointerEvents}. */
2470         POINTER_EVENTS("pointerEvents", "pointer-events", chromeAndEdgeAuto(), ff("auto")),
2471 
2472         /** The style property {@code pointer-events}. */
2473         POINTER_EVENTS_("pointer-events", "pointer-events", ff("auto")),
2474 
2475         /** The style property {@code position}. */
2476         POSITION("position", "position", chromeAndEdge("static"), ff("static")),
2477 
2478         /** The style property {@code positionAnchor}. */
2479         POSITION_ANCHOR("positionAnchor", "position-anchor", chromeAndEdgeAuto()),
2480 
2481         /** The style property {@code positionArea}. */
2482         POSITION_AREA("positionArea", "position-area", chromeAndEdgeNone()),
2483 
2484         /** The style property {@code positionTry}. */
2485         POSITION_TRY("positionTry", "position-try", chromeAndEdgeNone()),
2486 
2487         /** The style property {@code positionTryFallbacks}. */
2488         POSITION_TRY_FALLBACKS("positionTryFallbacks", "position-try-fallbacks", chromeAndEdgeNone()),
2489 
2490         /** The style property {@code positionTryOrder}. */
2491         POSITION_TRY_ORDER("positionTryOrder", "position-try-order", chromeAndEdgeNormal()),
2492 
2493         /** The style property {@code positionVisibility}. */
2494         POSITION_VISIBILITY("positionVisibility", "position-visibility", chromeAndEdge("always")),
2495 
2496         /** The style property {@code prefix}. */
2497         PREFIX("prefix", "prefix", chromeAndEdgeEmpty()),
2498 
2499         /** The style property {@code printColorAdjust}. */
2500         PRINT_COLOR_ADJUST("printColorAdjust", "print-color-adjust", ff("economy"),
2501                 chromeAndEdge("economy")),
2502 
2503         /** The style property {@code print-color-adjust}. */
2504         PRINT_COLOR_ADJUST_("print-color-adjust", "print-color-adjust", ff("economy")),
2505 
2506         /** The style property {@code quotes}. */
2507         QUOTES("quotes", "quotes", ff("auto"), chromeAndEdgeAuto()),
2508 
2509         /** The style property {@code r}. */
2510         R("r", "r", chromeAndEdge("0px"), ff("0px")),
2511 
2512         /** The style property {@code range}. */
2513         RANGE("range", "range", chromeAndEdgeEmpty()),
2514 
2515         /** The style property {@code resize}. */
2516         RESIZE("resize", "resize", ffNone(), chromeAndEdgeNone()),
2517 
2518         /** The style property {@code right}. */
2519         RIGHT("right", "right", chromeAndEdgeAuto(), ff("")),
2520 
2521         /** The style property {@code rotate}. */
2522         ROTATE("rotate", "rotate", chromeAndEdgeNone(), ffNone()),
2523 
2524         /** The style property {@code rowGap}. */
2525         ROW_GAP("rowGap", "row-gap", chromeAndEdgeNormal(), ffNormal()),
2526 
2527         /** The style property {@code row-gap}. */
2528         ROW_GAP_("row-gap", "row-gap", ffNormal()),
2529 
2530         /** The style property {@code rubyAlign}. */
2531         RUBY_ALIGN("rubyAlign", "ruby-align", chromeAndEdge("space-around"), ff("space-around")),
2532 
2533         /** The style property {@code ruby-align}. */
2534         RUBY_ALIGN_("ruby-align", "ruby-align", ff("space-around")),
2535 
2536         /** The style property {@code rubyPosition}. */
2537         RUBY_POSITION("rubyPosition", "ruby-position", chromeAndEdge("over"),
2538                 ff("alternate")),
2539 
2540         /** The style property {@code ruby-position}. */
2541         RUBY_POSITION_("ruby-position", "ruby-position", ff("alternate")),
2542 
2543         /** The style property {@code rx}. */
2544         RX("rx", "rx", chromeAndEdgeAuto(), ff("auto")),
2545 
2546         /** The style property {@code ry}. */
2547         RY("ry", "ry", chromeAndEdgeAuto(), ff("auto")),
2548 
2549         /** The style property {@code scale}. */
2550         SCALE("scale", "scale", chromeAndEdgeNone(), ffNone()),
2551 
2552         /** The style property {@code scrollBehavior}. */
2553         SCROLL_BEHAVIOR("scrollBehavior", "scroll-behavior", ff("auto"), chromeAndEdgeAuto()),
2554 
2555         /** The style property {@code scroll-behavior}. */
2556         SCROLL_BEHAVIOR_("scroll-behavior", "scroll-behavior", ff("auto")),
2557 
2558         /** The style property {@code scrollInitialTarget}. */
2559         SCROLL_INITIAL_TARGET("scrollInitialTarget", "scroll-initial-target", chromeAndEdgeNone()),
2560 
2561         /** The style property {@code scrollMargin}. */
2562         SCROLL_MARGIN("scrollMargin", "scroll-margin", chromeAndEdge("0px"), ff("0px")),
2563 
2564         /** The style property {@code scroll-margin}. */
2565         SCROLL_MARGIN_("scroll-margin", "scroll-margin", ff("0px")),
2566 
2567         /** The style property {@code scrollMarginBlock}. */
2568         SCROLL_MARGIN_BLOCK("scrollMarginBlock", "scroll-margin-block", chromeAndEdge("0px"),
2569                 ff("0px")),
2570 
2571         /** The style property {@code scroll-margin-block}. */
2572         SCROLL_MARGIN_BLOCK_("scroll-margin-block", "scroll-margin-block", ff("0px")),
2573 
2574         /** The style property {@code scrollMarginBlockEnd}. */
2575         SCROLL_MARGIN_BLOCK_END("scrollMarginBlockEnd", "scroll-margin-block-end",
2576                 chromeAndEdge("0px"), ff("0px")),
2577 
2578         /** The style property {@code scroll-margin-block-end}. */
2579         SCROLL_MARGIN_BLOCK_END_("scroll-margin-block-end", "scroll-margin-block-end", ff("0px")),
2580 
2581         /** The style property {@code scrollMarginBlockStart}. */
2582         SCROLL_MARGIN_BLOCK_START("scrollMarginBlockStart", "scroll-margin-block-start",
2583                 chromeAndEdge("0px"), ff("0px")),
2584 
2585         /** The style property {@code scroll-margin-block-start}. */
2586         SCROLL_MARGIN_BLOCK_START_("scroll-margin-block-start", "scroll-margin-block-start", ff("0px")),
2587 
2588         /** The style property {@code scrollMarginBottom}. */
2589         SCROLL_MARGIN_BOTTOM("scrollMarginBottom", "scroll-margin-bottom", chromeAndEdge("0px"), ff("0px")),
2590 
2591         /** The style property {@code scroll-margin-bottom}. */
2592         SCROLL_MARGIN_BOTTOM_("scroll-margin-bottom", "scroll-margin-bottom", ff("0px")),
2593 
2594         /** The style property {@code scrollMarginInline}. */
2595         SCROLL_MARGIN_INLINE("scrollMarginInline", "scroll-margin-inline", chromeAndEdge("0px"),
2596                 ff("0px")),
2597 
2598         /** The style property {@code scroll-margin-inline}. */
2599         SCROLL_MARGIN_INLINE_("scroll-margin-inline", "scroll-margin-inline", ff("0px")),
2600 
2601         /** The style property {@code scrollMarginInlineEnd}. */
2602         SCROLL_MARGIN_INLINE_END("scrollMarginInlineEnd", "scroll-margin-inline-end",
2603                 chromeAndEdge("0px"), ff("0px")),
2604 
2605         /** The style property {@code scroll-margin-inline-end}. */
2606         SCROLL_MARGIN_INLINE_END_("scroll-margin-inline-end", "scroll-margin-inline-end", ff("0px")),
2607 
2608         /** The style property {@code scrollMarginInlineStart}. */
2609         SCROLL_MARGIN_INLINE_START("scrollMarginInlineStart", "scroll-margin-inline-start",
2610                 chromeAndEdge("0px"), ff("0px")),
2611 
2612         /** The style property {@code scroll-margin-inline-start}. */
2613         SCROLL_MARGIN_INLINE_START_("scroll-margin-inline-start", "scroll-margin-inline-start", ff("0px")),
2614 
2615         /** The style property {@code scrollMarginLeft}. */
2616         SCROLL_MARGIN_LEFT("scrollMarginLeft", "scroll-margin-left", chromeAndEdge("0px"), ff("0px")),
2617 
2618         /** The style property {@code scroll-margin-left}. */
2619         SCROLL_MARGIN_LEFT_("scroll-margin-left", "scroll-margin-left", ff("0px")),
2620 
2621         /** The style property {@code scrollMarginRight}. */
2622         SCROLL_MARGIN_RIGHT("scrollMarginRight", "scroll-margin-right", chromeAndEdge("0px"), ff("0px")),
2623 
2624         /** The style property {@code scroll-margin-right}. */
2625         SCROLL_MARGIN_RIGHT_("scroll-margin-right", "scroll-margin-right", ff("0px")),
2626 
2627         /** The style property {@code scrollMarginTop}. */
2628         SCROLL_MARGIN_TOP("scrollMarginTop", "scroll-margin-top", chromeAndEdge("0px"), ff("0px")),
2629 
2630         /** The style property {@code scroll-margin-top}. */
2631         SCROLL_MARGIN_TOP_("scroll-margin-top", "scroll-margin-top", ff("0px")),
2632 
2633         /** The style property {@code scrollMarkerGroup}. */
2634         SCROLL_MARKER_GROUP("scrollMarkerGroup", "scroll-marker-group", chromeAndEdgeNone()),
2635 
2636         /** The style property {@code scrollPadding}. */
2637         SCROLL_PADDING("scrollPadding", "scroll-padding", chromeAndEdgeAuto(), ff("auto")),
2638 
2639         /** The style property {@code scroll-padding}. */
2640         SCROLL_PADDING_("scroll-padding", "scroll-padding", ff("auto")),
2641 
2642         /** The style property {@code scrollPaddingBlock}. */
2643         SCROLL_PADDING_BLOCK("scrollPaddingBlock", "scroll-padding-block",
2644                 chromeAndEdgeAuto(), ff("auto")),
2645 
2646         /** The style property {@code scroll-padding-block}. */
2647         SCROLL_PADDING_BLOCK_("scroll-padding-block", "scroll-padding-block", ff("auto")),
2648 
2649         /** The style property {@code scrollPaddingBlockEnd}. */
2650         SCROLL_PADDING_BLOCK_END("scrollPaddingBlockEnd", "scroll-padding-block-end",
2651                 chromeAndEdgeAuto(), ff("auto")),
2652 
2653         /** The style property {@code scroll-padding-block-end}. */
2654         SCROLL_PADDING_BLOCK_END_("scroll-padding-block-end", "scroll-padding-block-end", ff("auto")),
2655 
2656         /** The style property {@code scrollPaddingBlockStart}. */
2657         SCROLL_PADDING_BLOCK_START("scrollPaddingBlockStart", "scroll-padding-block-start",
2658                 chromeAndEdgeAuto(), ff("auto")),
2659 
2660         /** The style property {@code scroll-padding-block-start}. */
2661         SCROLL_PADDING_BLOCK_START_("scroll-padding-block-start", "scroll-padding-block-start", ff("auto")),
2662 
2663         /** The style property {@code scrollPaddingBottom}. */
2664         SCROLL_PADDING_BOTTOM("scrollPaddingBottom", "scroll-padding-bottom", chromeAndEdgeAuto(), ff("auto")),
2665 
2666         /** The style property {@code scroll-padding-bottom}. */
2667         SCROLL_PADDING_BOTTOM_("scroll-padding-bottom", "scroll-padding-bottom", ff("auto")),
2668 
2669         /** The style property {@code scrollPaddingInline}. */
2670         SCROLL_PADDING_INLINE("scrollPaddingInline", "scroll-padding-inline", chromeAndEdgeAuto(),
2671                 ff("auto")),
2672 
2673         /** The style property {@code scroll-padding-inline}. */
2674         SCROLL_PADDING_INLINE_("scroll-padding-inline", "scroll-padding-inline", ff("auto")),
2675 
2676         /** The style property {@code scrollPaddingInlineEnd}. */
2677         SCROLL_PADDING_INLINE_END("scrollPaddingInlineEnd", "scroll-padding-inline-end",
2678                 chromeAndEdgeAuto(), ff("auto")),
2679 
2680         /** The style property {@code scroll-padding-inline-end}. */
2681         SCROLL_PADDING_INLINE_END_("scroll-padding-inline-end", "scroll-padding-inline-end", ff("auto")),
2682 
2683         /** The style property {@code scrollPaddingInlineStart}. */
2684         SCROLL_PADDING_INLINE_START("scrollPaddingInlineStart", "scroll-padding-inline-start",
2685                 chromeAndEdgeAuto(), ff("auto")),
2686 
2687         /** The style property {@code scroll-padding-inline-start}. */
2688         SCROLL_PADDING_INLINE_START_("scroll-padding-inline-start", "scroll-padding-inline-start", ff("auto")),
2689 
2690         /** The style property {@code scrollPaddingLeft}. */
2691         SCROLL_PADDING_LEFT("scrollPaddingLeft", "scroll-padding-left", chromeAndEdgeAuto(), ff("auto")),
2692 
2693         /** The style property {@code scroll-padding-left}. */
2694         SCROLL_PADDING_LEFT_("scroll-padding-left", "scroll-padding-left", ff("auto")),
2695 
2696         /** The style property {@code scrollPaddingRight}. */
2697         SCROLL_PADDING_RIGHT("scrollPaddingRight", "scroll-padding-right", chromeAndEdgeAuto(), ff("auto")),
2698 
2699         /** The style property {@code scroll-padding-right}. */
2700         SCROLL_PADDING_RIGHT_("scroll-padding-right", "scroll-padding-right", ff("auto")),
2701 
2702         /** The style property {@code scrollPaddingTop}. */
2703         SCROLL_PADDING_TOP("scrollPaddingTop", "scroll-padding-top", chromeAndEdgeAuto(), ff("auto")),
2704 
2705         /** The style property {@code scroll-padding-top}. */
2706         SCROLL_PADDING_TOP_("scroll-padding-top", "scroll-padding-top", ff("auto")),
2707 
2708         /** The style property {@code scrollSnapAlign}. */
2709         SCROLL_SNAP_ALIGN("scrollSnapAlign", "scroll-snap-align", chromeAndEdgeNone(), ffNone()),
2710 
2711         /** The style property {@code scroll-snap-align}. */
2712         SCROLL_SNAP_ALIGN_("scroll-snap-align", "scroll-snap-align", ffNone()),
2713 
2714         /** The style property {@code scrollSnapStop}. */
2715         SCROLL_SNAP_STOP("scrollSnapStop", "scroll-snap-stop", chromeAndEdgeNormal(), ffNormal()),
2716 
2717         /** The style property {@code scroll-snap-stop}. */
2718         SCROLL_SNAP_STOP_("scroll-snap-stop", "scroll-snap-stop", ffNormal()),
2719 
2720         /** The style property {@code scrollSnapType}. */
2721         SCROLL_SNAP_TYPE("scrollSnapType", "scroll-snap-type", chromeAndEdgeNone(), ffNone()),
2722 
2723         /** The style property {@code scroll-snap-type}. */
2724         SCROLL_SNAP_TYPE_("scroll-snap-type", "scroll-snap-type", ffNone()),
2725 
2726         /** The style property {@code scrollTimeline}. */
2727         SCROLL_TIMELINE("scrollTimeline", "scroll-timeline", chromeAndEdgeNone()),
2728 
2729         /** The style property {@code scrollTimelineAxis}. */
2730         SCROLL_TIMELINE_AXIS("scrollTimelineAxis", "scroll-timeline-axis", chromeAndEdge("block")),
2731 
2732         /** The style property {@code scrollTimelineName}. */
2733         SCROLL_TIMELINE_NAME("scrollTimelineName", "scroll-timeline-name", chromeAndEdgeNone()),
2734 
2735         /** The style property {@code scrollbarColor}. */
2736         SCROLLBAR_COLOR("scrollbarColor", "scrollbar-color", chromeAndEdgeAndFirefox("auto")),
2737 
2738         /** The style property {@code scrollbar-color}. */
2739         SCROLLBAR_COLOR_("scrollbar-color", "scrollbar-color", ff("auto")),
2740 
2741         /** The style property {@code scrollbarGutter}. */
2742         SCROLLBAR_GUTTER("scrollbarGutter", "scrollbar-gutter", chromeAndEdgeAndFirefox("auto")),
2743 
2744         /** The style property {@code scrollbar-gutter}. */
2745         SCROLLBAR_GUTTER_("scrollbar-gutter", "scrollbar-gutter", ff("auto")),
2746 
2747         /** The style property {@code scrollbarWidth}. */
2748         SCROLLBAR_WIDTH("scrollbarWidth", "scrollbar-width", chromeAndEdgeAndFirefox("auto")),
2749 
2750         /** The style property {@code scrollbar-width}. */
2751         SCROLLBAR_WIDTH_("scrollbar-width", "scrollbar-width", ff("auto")),
2752 
2753         /** The style property {@code shapeImageThreshold}. */
2754         SHAPE_IMAGE_THRESHOLD("shapeImageThreshold", "shape-image-threshold", chromeAndEdge("0"), ff("0")),
2755 
2756         /** The style property {@code shape-image-threshold}. */
2757         SHAPE_IMAGE_THRESHOLD_("shape-image-threshold", "shape-image-threshold", ff("0")),
2758 
2759         /** The style property {@code shapeMargin}. */
2760         SHAPE_MARGIN("shapeMargin", "shape-margin", chromeAndEdge("0px"), ff("0px")),
2761 
2762         /** The style property {@code shape-margin}. */
2763         SHAPE_MARGIN_("shape-margin", "shape-margin", ff("0px")),
2764 
2765         /** The style property {@code shapeOutside}. */
2766         SHAPE_OUTSIDE("shapeOutside", "shape-outside", chromeAndEdgeNone(), ffNone()),
2767 
2768         /** The style property {@code shape-outside}. */
2769         SHAPE_OUTSIDE_("shape-outside", "shape-outside", ffNone()),
2770 
2771         /** The style property {@code shapeRendering}. */
2772         SHAPE_RENDERING("shapeRendering", "shape-rendering", ff("auto"), chromeAndEdgeAuto()),
2773 
2774         /** The style property {@code shape-rendering}. */
2775         SHAPE_RENDERING_("shape-rendering", "shape-rendering", ff("auto")),
2776 
2777         /** The style property {@code size}. */
2778         SIZE("size", "size", chromeAndEdgeEmpty()),
2779 
2780         /** The style property {@code sizeAdjust}. */
2781         SIZE_ADJUST("sizeAdjust", "sizeAdjust", chromeAndEdgeEmpty()),
2782 
2783         /** The style property {@code speak}. */
2784         SPEAK("speak", "speak", chromeAndEdgeNormal()),
2785 
2786         /** The style property {@code speakAs}. */
2787         SPEAK_AS("speakAs", "speak-as", chromeAndEdgeEmpty()),
2788 
2789         /** The style property {@code src}. */
2790         SRC("src", "src", chromeAndEdgeEmpty()),
2791 
2792         /** The style property {@code stopColor}. */
2793         STOP_COLOR("stopColor", "stop-color", ff("rgb(0, 0, 0)"), chromeAndEdge("rgb(0, 0, 0)")),
2794 
2795         /** The style property {@code stop-color}. */
2796         STOP_COLOR_("stop-color", "stop-color", ff("rgb(0, 0, 0)")),
2797 
2798         /** The style property {@code stopOpacity}. */
2799         STOP_OPACITY("stopOpacity", "stop-opacity", ff("1"), chromeAndEdge("1")),
2800 
2801         /** The style property {@code stop-opacity}. */
2802         STOP_OPACITY_("stop-opacity", "stop-opacity", ff("1")),
2803 
2804         /** The style property {@code stroke}. */
2805         STROKE("stroke", "stroke", ffNone(), chromeAndEdgeNone()),
2806 
2807         /** The style property {@code strokeDasharray}. */
2808         STROKE_DASHARRAY("strokeDasharray", "stroke-dasharray", ffNone(), chromeAndEdgeNone()),
2809 
2810         /** The style property {@code stroke-dasharray}. */
2811         STROKE_DASHARRAY_("stroke-dasharray", "stroke-dasharray", ffNone()),
2812 
2813         /** The style property {@code strokeDashoffset}. */
2814         STROKE_DASHOFFSET("strokeDashoffset", "stroke-dashoffset", ff("0px"), chromeAndEdge("0px")),
2815 
2816         /** The style property {@code stroke-dashoffset}. */
2817         STROKE_DASHOFFSET_("stroke-dashoffset", "stroke-dashoffset", ff("0px")),
2818 
2819         /** The style property {@code strokeLinecap}. */
2820         STROKE_LINECAP("strokeLinecap", "stroke-linecap", ff("butt"), chromeAndEdge("butt")),
2821 
2822         /** The style property {@code stroke-linecap}. */
2823         STROKE_LINECAP_("stroke-linecap", "stroke-linecap", ff("butt")),
2824 
2825         /** The style property {@code strokeLinejoin}. */
2826         STROKE_LINEJOIN("strokeLinejoin", "stroke-linejoin", ff("miter"), chromeAndEdge("miter")),
2827 
2828         /** The style property {@code stroke-linejoin}. */
2829         STROKE_LINEJOIN_("stroke-linejoin", "stroke-linejoin", ff("miter")),
2830 
2831         /** The style property {@code strokeMiterlimit}. */
2832         STROKE_MITERLIMIT("strokeMiterlimit", "stroke-miterlimit", ff("4"), chromeAndEdge("4")),
2833 
2834         /** The style property {@code stroke-miterlimit}. */
2835         STROKE_MITERLIMIT_("stroke-miterlimit", "stroke-miterlimit", ff("4")),
2836 
2837         /** The style property {@code strokeOpacity}. */
2838         STROKE_OPACITY("strokeOpacity", "stroke-opacity", ff("1"), chromeAndEdge("1")),
2839 
2840         /** The style property {@code stroke-opacity}. */
2841         STROKE_OPACITY_("stroke-opacity", "stroke-opacity", ff("1")),
2842 
2843         /** The style property {@code strokeWidth}. */
2844         STROKE_WIDTH("strokeWidth", "stroke-width", ff("1px"), chromeAndEdge("1px")),
2845 
2846         /** The style property {@code stroke-width}. */
2847         STROKE_WIDTH_("stroke-width", "stroke-width", ff("1px")),
2848 
2849         /** The style property {@code suffix}. */
2850         SUFFIX("suffix", "suffix", chromeAndEdgeEmpty()),
2851 
2852         /** The style property {@code symbols}. */
2853         SYMBOLS("symbols", "symbols", chromeAndEdgeEmpty()),
2854 
2855         /** The style property {@code syntax}. */
2856         SYNTAX("syntax", "syntax", chromeAndEdgeEmpty()),
2857 
2858         /** The style property {@code system}. */
2859         SYSTEM("system", "system", chromeAndEdgeEmpty()),
2860 
2861         /** The style property {@code tabSize}. */
2862         TAB_SIZE("tabSize", "tab-size", chromeAndEdge("8"), ff("8")),
2863 
2864         /** The style property {@code tab-size}. */
2865         TAB_SIZE_("tab-size", "tab-size", ff("8")),
2866 
2867         /** The style property {@code tableLayout}. */
2868         TABLE_LAYOUT("tableLayout", "table-layout", chromeAndEdgeAuto(), ff("auto")),
2869 
2870         /** The style property {@code table-layout}. */
2871         TABLE_LAYOUT_("table-layout", "table-layout", ff("auto")),
2872 
2873         /** The style property {@code textAlign}. */
2874         TEXT_ALIGN("textAlign", "text-align", chromeAndEdge("start"), ff("start")),
2875 
2876         /** The style property {@code text-align}. */
2877         TEXT_ALIGN_("text-align", "text-align", ff("start")),
2878 
2879         /** The style property {@code textAlignLast}. */
2880         TEXT_ALIGN_LAST("textAlignLast", "text-align-last", chromeAndEdgeAuto(), ff("auto")),
2881 
2882         /** The style property {@code text-align-last}. */
2883         TEXT_ALIGN_LAST_("text-align-last", "text-align-last", ff("auto")),
2884 
2885         /** The style property {@code textAnchor}. */
2886         TEXT_ANCHOR("textAnchor", "text-anchor", ff("start"), chromeAndEdge("start")),
2887 
2888         /** The style property {@code text-anchor}. */
2889         TEXT_ANCHOR_("text-anchor", "text-anchor", ff("start")),
2890 
2891         /** The style property {@code textBox}. */
2892         TEXT_BOX("textBox", "text-box", chromeAndEdgeNormal()),
2893 
2894         /** The style property {@code textBoxEdge}. */
2895         TEXT_BOX_EDGE("textBoxEdge", "text-box-edge", chromeAndEdgeAuto()),
2896 
2897         /** The style property {@code textBoxTrim}. */
2898         TEXT_BOX_TRIM("textBoxTrim", "text-box-trim", chromeAndEdgeNone()),
2899 
2900         /** The style property {@code textCombineUpright}. */
2901         TEXT_COMBINE_UPRIGHT("textCombineUpright", "text-combine-upright", chromeAndEdgeNone(), ffNone()),
2902 
2903         /** The style property {@code text-combine-upright}. */
2904         TEXT_COMBINE_UPRIGHT_("text-combine-upright", "text-combine-upright", ffNone()),
2905 
2906         /** The style property {@code textDecoration}. */
2907         TEXT_DECORATION("textDecoration", "text-decoration", chromeAndEdge("none solid rgb(0, 0, 0)"),
2908                 ff("rgb(0, 0, 0)")),
2909 
2910         /** The style property {@code text-decoration}. */
2911         TEXT_DECORATION_("text-decoration", "text-decoration", ff("rgb(0, 0, 0)")),
2912 
2913         /** The style property {@code textDecorationColor}. */
2914         TEXT_DECORATION_COLOR("textDecorationColor", "text-decoration-color",
2915                 chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
2916 
2917         /** The style property {@code text-decoration-color}. */
2918         TEXT_DECORATION_COLOR_("text-decoration-color", "text-decoration-color", ff("rgb(0, 0, 0)")),
2919 
2920         /** The style property {@code textDecorationLine}. */
2921         TEXT_DECORATION_LINE("textDecorationLine", "text-decoration-line", chromeAndEdgeNone(), ffNone()),
2922 
2923         /** The style property {@code text-decoration-line}. */
2924         TEXT_DECORATION_LINE_("text-decoration-line", "text-decoration-line", ffNone()),
2925 
2926         /** The style property {@code textDecorationSkipInk}. */
2927         TEXT_DECORATION_SKIP_INK("textDecorationSkipInk", "text-decoration-skip-ink",
2928                 chromeAndEdgeAuto(), ff("auto")),
2929 
2930         /** The style property {@code text-decoration-skip-ink}. */
2931         TEXT_DECORATION_SKIP_INK_("text-decoration-skip-ink", "text-decoration-skip-ink", ff("auto")),
2932 
2933         /** The style property {@code textDecorationStyle}. */
2934         TEXT_DECORATION_STYLE("textDecorationStyle", "text-decoration-style", chromeAndEdge("solid"), ff("solid")),
2935 
2936         /** The style property {@code text-decoration-style}. */
2937         TEXT_DECORATION_STYLE_("text-decoration-style", "text-decoration-style", ff("solid")),
2938 
2939         /** The style property {@code textDecorationThickness}. */
2940         TEXT_DECORATION_THICKNESS("textDecorationThickness", "text-decoration-thickness",
2941                 chromeAndEdgeAuto(), ff("auto")),
2942 
2943         /** The style property {@code text-decoration-thickness}. */
2944         TEXT_DECORATION_THICKNESS_("text-decoration-thickness", "text-decoration-thickness", ff("auto")),
2945 
2946         /** The style property {@code textEmphasis}. */
2947         TEXT_EMPHASIS("textEmphasis", "text-emphasis", chromeAndEdge("none rgb(0, 0, 0)"),
2948                 ff("none rgb(0, 0, 0)")),
2949 
2950         /** The style property {@code text-emphasis}. */
2951         TEXT_EMPHASIS_("text-emphasis", "text-emphasis", ff("none rgb(0, 0, 0)")),
2952 
2953         /** The style property {@code textEmphasisColor}. */
2954         TEXT_EMPHASIS_COLOR("textEmphasisColor", "text-emphasis-color", chromeAndEdge("rgb(0, 0, 0)"),
2955                 ff("rgb(0, 0, 0)")),
2956 
2957         /** The style property {@code text-emphasis-color}. */
2958         TEXT_EMPHASIS_COLOR_("text-emphasis-color", "text-emphasis-color", ff("rgb(0, 0, 0)")),
2959 
2960         /** The style property {@code textEmphasisPosition}. */
2961         TEXT_EMPHASIS_POSITION("textEmphasisPosition", "text-emphasis-position", chromeAndEdge("over"),
2962                 ffEsr("over"), ffLatest("auto")),
2963 
2964         /** The style property {@code text-emphasis-position}. */
2965         TEXT_EMPHASIS_POSITION_("text-emphasis-position", "text-emphasis-position",
2966                 ffEsr("over"), ffLatest("auto")),
2967 
2968         /** The style property {@code textEmphasisStyle}. */
2969         TEXT_EMPHASIS_STYLE("textEmphasisStyle", "text-emphasis-style", chromeAndEdgeNone(), ffNone()),
2970 
2971         /** The style property {@code text-emphasis-style}. */
2972         TEXT_EMPHASIS_STYLE_("text-emphasis-style", "text-emphasis-style", ffNone()),
2973 
2974         /** The style property {@code textIndent}. */
2975         TEXT_INDENT("textIndent", "text-indent", chromeAndEdge("0px"), ff("")),
2976 
2977         /** The style property {@code text-indent}. */
2978         TEXT_INDENT_("text-indent", "text-indent", ff("0px")),
2979 
2980         /** The style property {@code textJustify}. */
2981         TEXT_JUSTIFY("textJustify", "text-justify", ff("auto")),
2982 
2983         /** The style property {@code text-justify}. */
2984         TEXT_JUSTIFY_("text-justify", "text-justify", ff("auto")),
2985 
2986         /** The style property {@code textKashidaSpace}. */
2987         TEXT_KASHIDA_SPACE("textKashidaSpace", "text-kashida-space"),
2988 
2989         /** The style property {@code textOrientation}. */
2990         TEXT_ORIENTATION("textOrientation", "text-orientation", chromeAndEdge("mixed"), ff("mixed")),
2991 
2992         /** The style property {@code text-orientation}. */
2993         TEXT_ORIENTATION_("text-orientation", "text-orientation", ff("mixed")),
2994 
2995         /** The style property {@code textOverflow}. */
2996         TEXT_OVERFLOW("textOverflow", "text-overflow", ff("clip"), chromeAndEdge("clip")),
2997 
2998         /** The style property {@code text-overflow}. */
2999         TEXT_OVERFLOW_("text-overflow", "text-overflow", ff("clip")),
3000 
3001         /** The style property {@code textRendering}. */
3002         TEXT_RENDERING("textRendering", "text-rendering", ff("auto"), chromeAndEdgeAuto()),
3003 
3004         /** The style property {@code text-rendering}. */
3005         TEXT_RENDERING_("text-rendering", "text-rendering", ff("auto")),
3006 
3007         /** The style property {@code textShadow}. */
3008         TEXT_SHADOW("textShadow", "text-shadow", chromeAndEdgeNone(), ffNone()),
3009 
3010         /** The style property {@code text-shadow}. */
3011         TEXT_SHADOW_("text-shadow", "text-shadow", ffNone()),
3012 
3013         /** The style property {@code textSizeAdjust}. */
3014         TEXT_SIZE_ADJUST("textSizeAdjust", "text-size-adjust", chromeAndEdgeAuto()),
3015 
3016         /** The style property {@code textSpacingTrim}. */
3017         TEXT_SPACING_TRIM("textSpacingTrim", "text-spacing-trim", chromeAndEdgeNormal()),
3018 
3019         /** The style property {@code textTransform}. */
3020         TEXT_TRANSFORM("textTransform", "text-transform", chromeAndEdgeNone(), ffNone()),
3021 
3022         /** The style property {@code text-transform}. */
3023         TEXT_TRANSFORM_("text-transform", "text-transform", ffNone()),
3024 
3025         /** The style property {@code textUnderlineOffset}. */
3026         TEXT_UNDERLINE_OFFSET("textUnderlineOffset", "text-underline-offset", chromeAndEdgeAuto(), ff("auto")),
3027 
3028         /** The style property {@code text-underline-offset}. */
3029         TEXT_UNDERLINE_OFFSET_("text-underline-offset", "text-underline-offset", ff("auto")),
3030 
3031         /** The style property {@code textUnderlinePosition}. */
3032         TEXT_UNDERLINE_POSITION("textUnderlinePosition", "text-underline-position",
3033                 chromeAndEdgeAuto(), ff("auto")),
3034 
3035         /** The style property {@code text-underline-position}. */
3036         TEXT_UNDERLINE_POSITION_("text-underline-position", "text-underline-position", ff("auto")),
3037 
3038         /** The style property {@code textWrap}. */
3039         TEXT_WRAP("textWrap", "text-wrap", chromeAndEdge("wrap"), ff("wrap")),
3040 
3041         /** The style property {@code text-wrap}. */
3042         TEXT_WRAP_("text-wrap", "text-wrap", ff("wrap")),
3043 
3044         /** The style property {@code textWrapMode}. */
3045         TEXT_WRAP_MODE("textWrapMode", "text-wrap-mode", ff("wrap"), chromeAndEdge("wrap")),
3046 
3047         /** The style property {@code text-wrap-mode}. */
3048         TEXT_WRAP_MODE_("text-wrap-mode", "text-wrap-mode", ff("wrap")),
3049 
3050         /** The style property {@code textWrapStyle}. */
3051         TEXT_WRAP_STYLE("textWrapStyle", "text-wrap-style", ff("auto"), chromeAndEdgeAuto()),
3052 
3053         /** The style property {@code text-wrap-style}. */
3054         TEXT_WRAP_STYLE_("text-wrap-style", "text-wrap-style", ff("auto")),
3055 
3056         /** The style property {@code timelineScope}. */
3057         TIMELINE_SCOPE("timelineScope", "timeline-scope", chromeAndEdgeNone()),
3058 
3059         /** The style property {@code top}. */
3060         TOP("top", "top", ff("auto"), chromeAndEdgeAuto()),
3061 
3062         /** The style property {@code touchAction}. */
3063         TOUCH_ACTION("touchAction", "touch-action", chromeAndEdgeAuto(), ff("auto")),
3064 
3065         /** The style property {@code touch-action}. */
3066         TOUCH_ACTION_("touch-action", "touch-action", ff("auto")),
3067 
3068         /** The style property {@code transform}. */
3069         TRANSFORM("transform", "transform", ffNone(), chromeAndEdgeNone()),
3070 
3071         /** The style property {@code transformBox}. */
3072         TRANSFORM_BOX("transformBox", "transform-box", chromeAndEdge("view-box"), ff("view-box")),
3073 
3074         /** The style property {@code transform-box}. */
3075         TRANSFORM_BOX_("transform-box", "transform-box", ff("view-box")),
3076 
3077         /** The style property {@code transformOrigin}. */
3078         TRANSFORM_ORIGIN("transformOrigin", "transform-origin",
3079                 ffEsr("622px 9px"), ffLatest("620px 9px"), chrome("620px 9px"), edge("616px 9px")),
3080 
3081         /** The style property {@code transform-origin}. */
3082         TRANSFORM_ORIGIN_("transform-origin", "transform-origin", ffEsr("622px 9px"), ffLatest("620px 9px")),
3083 
3084         /** The style property {@code transformStyle}. */
3085         TRANSFORM_STYLE("transformStyle", "transform-style", ff("flat"), chromeAndEdge("flat")),
3086 
3087         /** The style property {@code transform-style}. */
3088         TRANSFORM_STYLE_("transform-style", "transform-style", ff("flat")),
3089 
3090         /** The style property {@code transition}. */
3091         TRANSITION("transition", "transition", chromeAndEdge("all"), ff("all")),
3092 
3093         /** The style property {@code transitionBehavior}. */
3094         TRANSITION_BEHAVIOR("transitionBehavior", "transition-behavior", chromeAndEdgeNormal(), ffLatest("normal")),
3095 
3096         /** The style property {@code transition-behavior}. */
3097         TRANSITION_BEHAVIOR_("transition-behavior", "transition-behavior", ffLatest("normal")),
3098 
3099         /** The style property {@code transitionDelay}. */
3100         TRANSITION_DELAY("transitionDelay", "transition-delay", ff("0s"), chromeAndEdge("0s")),
3101 
3102         /** The style property {@code transition-delay}. */
3103         TRANSITION_DELAY_("transition-delay", "transition-delay", ff("0s")),
3104 
3105         /** The style property {@code transitionDuration}. */
3106         TRANSITION_DURATION("transitionDuration", "transition-duration", ff("0s"), chromeAndEdge("0s")),
3107 
3108         /** The style property {@code transition-duration}. */
3109         TRANSITION_DURATION_("transition-duration", "transition-duration", ff("0s")),
3110 
3111         /** The style property {@code transitionProperty}. */
3112         TRANSITION_PROPERTY("transitionProperty", "transition-property", ff("all"), chromeAndEdge("all")),
3113 
3114         /** The style property {@code transition-property}. */
3115         TRANSITION_PROPERTY_("transition-property", "transition-property", ff("all")),
3116 
3117         /** The style property {@code transitionTimingFunction}. */
3118         TRANSITION_TIMING_FUNCTION("transitionTimingFunction",
3119                 "transition-timing-function",
3120                 ff("ease"),
3121                 chromeAndEdge("ease")),
3122 
3123         /** The style property {@code transition-timing-function}. */
3124         TRANSITION_TIMING_FUNCTION_("transition-timing-function", "transition-timing-function",
3125                 ff("ease")),
3126 
3127         /** The style property {@code translate}. */
3128         TRANSLATE("translate", "translate", chromeAndEdgeNone(), ffNone()),
3129 
3130         /** The style property {@code types}. */
3131         TYPES("types", "types", chromeAndEdgeEmpty()),
3132 
3133         /** The style property {@code unicodeBidi}. */
3134         UNICODE_BIDI("unicodeBidi", "unicode-bidi",
3135                 ff("isolate"), chromeAndEdge("isolate")),
3136 
3137         /** The style property {@code unicode-bidi}. */
3138         UNICODE_BIDI_("unicode-bidi", "unicode-bidi", ff("isolate")),
3139 
3140         /** The style property {@code unicodeRange}. */
3141         UNICODE_RANGE("unicodeRange", "unicode-range", chromeAndEdgeEmpty()),
3142 
3143         /** The style property {@code userSelect}. */
3144         USER_SELECT("userSelect", "user-select", chromeAndEdgeAuto(), ff("auto")),
3145 
3146         /** The style property {@code user-select}. */
3147         USER_SELECT_("user-select", "user-select", ff("auto")),
3148 
3149         /** The style property {@code vectorEffect}. */
3150         VECTOR_EFFECT("vectorEffect", "vector-effect", ffNone(), chromeAndEdgeNone()),
3151 
3152         /** The style property {@code vector-effect}. */
3153         VECTOR_EFFECT_("vector-effect", "vector-effect", ffNone()),
3154 
3155         /** The style property {@code verticalAlign}. */
3156         VERTICAL_ALIGN("verticalAlign", "vertical-align", chromeAndEdge("baseline"), ff("")),
3157 
3158         /** The style property {@code vertical-align}. */
3159         VERTICAL_ALIGN_("vertical-align", "vertical-align", ff("baseline")),
3160 
3161         /** The style property {@code viewTimeline}. */
3162         VIEW_TIMELINE("viewTimeline", "view-timeline", chromeAndEdgeNone()),
3163 
3164         /** The style property {@code viewTimelineAxis}. */
3165         VIEW_TIMELINE_AXIS("viewTimelineAxis", "view-timeline-axis", chromeAndEdge("block")),
3166 
3167         /** The style property {@code viewTimelineInset}. */
3168         VIEW_TIMELINE_INSET("viewTimelineInset", "view-timeline-inset", chromeAndEdgeAuto()),
3169 
3170         /** The style property {@code viewTimelineName}. */
3171         VIEW_TIMELINE_NAME("viewTimelineName", "view-timeline-name", chromeAndEdgeNone()),
3172 
3173         /** The style property {@code viewTransitionClass}. */
3174         VIEW_TRANSITION_CLASS("viewTransitionClass", "view-transition-class", chromeAndEdgeNone()),
3175 
3176         /** The style property {@code viewTransitionName}. */
3177         VIEW_TRANSITION_NAME("viewTransitionName", "view-transition-name", chromeAndEdgeNone()),
3178 
3179         /** The style property {@code visibility}. */
3180         VISIBILITY("visibility", "visibility", chromeAndEdge("visible"), ff("visible")),
3181 
3182         /** The style property {@code webkitAlignContent}. */
3183         WEBKIT_ALIGN_CONTENT("webkitAlignContent", "webkit-align-content", chromeAndEdgeNormal(), ffNormal()),
3184 
3185         /** The style property {@code WebkitAlignContent}. */
3186         WEBKIT_ALIGN_CONTENT_("WebkitAlignContent", "webkit-align-content", ffNormal()),
3187 
3188         /** The style property {@code -webkit-align-content}. */
3189         WEBKIT_ALIGN_CONTENT__("-webkit-align-content", "webkit-align-content", ffNormal()),
3190 
3191         /** The style property {@code webkitAlignItems}. */
3192         WEBKIT_ALIGN_ITEMS("webkitAlignItems", "webkit-align-items", chromeAndEdgeNormal(), ffNormal()),
3193 
3194         /** The style property {@code WebkitAlignItems}. */
3195         WEBKIT_ALIGN_ITEMS_("WebkitAlignItems", "webkit-align-items", ffNormal()),
3196 
3197         /** The style property {@code -webkit-align-items}. */
3198         WEBKIT_ALIGN_ITEMS__("-webkit-align-items", "webkit-align-items", ffNormal()),
3199 
3200         /** The style property {@code webkitAlignSelf}. */
3201         WEBKIT_ALIGN_SELF("webkitAlignSelf", "webkit-align-self", chromeAndEdgeAuto(), ff("auto")),
3202 
3203         /** The style property {@code WebkitAlignSelf}. */
3204         WEBKIT_ALIGN_SELF_("WebkitAlignSelf", "webkit-align-self", ff("auto")),
3205 
3206         /** The style property {@code -webkit-align-self}. */
3207         WEBKIT_ALIGN_SELF__("-webkit-align-self", "webkit-align-self", ff("auto")),
3208 
3209         /** The style property {@code webkitAnimation}. */
3210         WEBKIT_ANIMATION("webkitAnimation", "webkit-animation",
3211                 chromeAndEdge("none 0s ease 0s 1 normal none running"), ffNone()),
3212 
3213         /** The style property {@code WebkitAnimation}. */
3214         WEBKIT_ANIMATION_("WebkitAnimation", "webkit-animation", ffNone()),
3215 
3216         /** The style property {@code -webkit-animation}. */
3217         WEBKIT_ANIMATION__("-webkit-animation", "webkit-animation", ffNone()),
3218 
3219         /** The style property {@code webkitAnimationDelay}. */
3220         WEBKIT_ANIMATION_DELAY("webkitAnimationDelay", "webkit-animation-delay", chromeAndEdge("0s"), ff("0s")),
3221 
3222         /** The style property {@code WebkitAnimationDelay}. */
3223         WEBKIT_ANIMATION_DELAY_("WebkitAnimationDelay", "webkit-animation-delay", ff("0s")),
3224 
3225         /** The style property {@code -webkit-animation-delay}. */
3226         WEBKIT_ANIMATION_DELAY__("-webkit-animation-delay", "webkit-animation-delay", ff("0s")),
3227 
3228         /** The style property {@code webkitAnimationDirection}. */
3229         WEBKIT_ANIMATION_DIRECTION("webkitAnimationDirection", "webkit-animation-direction",
3230                 chromeAndEdgeNormal(), ffNormal()),
3231 
3232         /** The style property {@code WebkitAnimationDirection}. */
3233         WEBKIT_ANIMATION_DIRECTION_("WebkitAnimationDirection", "webkit-animation-direction", ffNormal()),
3234 
3235         /** The style property {@code -webkit-animation-direction}. */
3236         WEBKIT_ANIMATION_DIRECTION__("-webkit-animation-direction", "webkit-animation-direction", ffNormal()),
3237 
3238         /** The style property {@code webkitAnimationDuration}. */
3239         WEBKIT_ANIMATION_DURATION("webkitAnimationDuration", "webkit-animation-duration",
3240                 chromeAndEdge("0s"), ff("0s")),
3241 
3242         /** The style property {@code WebkitAnimationDuration}. */
3243         WEBKIT_ANIMATION_DURATION_("WebkitAnimationDuration", "webkit-animation-duration", ff("0s")),
3244 
3245         /** The style property {@code -webkit-animation-duration}. */
3246         WEBKIT_ANIMATION_DURATION__("-webkit-animation-duration", "webkit-animation-duration", ff("0s")),
3247 
3248         /** The style property {@code webkitAnimationFillMode}. */
3249         WEBKIT_ANIMATION_FILL_MODE("webkitAnimationFillMode", "webkit-animation-fill-mode",
3250                 chromeAndEdgeNone(), ffNone()),
3251 
3252         /** The style property {@code WebkitAnimationFillMode}. */
3253         WEBKIT_ANIMATION_FILL_MODE_("WebkitAnimationFillMode", "webkit-animation-fill-mode", ffNone()),
3254 
3255         /** The style property {@code -webkit-animation-fill-mode}. */
3256         WEBKIT_ANIMATION_FILL_MODE__("-webkit-animation-fill-mode", "webkit-animation-fill-mode", ffNone()),
3257 
3258         /** The style property {@code webkitAnimationIterationCount}. */
3259         WEBKIT_ANIMATION_ITERATION_COUNT("webkitAnimationIterationCount", "webkit-animation-iteration-count",
3260                 chromeAndEdge("1"), ff("1")),
3261 
3262         /** The style property {@code WebkitAnimationIterationCount}. */
3263         WEBKIT_ANIMATION_ITERATION_COUNT_("WebkitAnimationIterationCount", "webkit-animation-iteration-count",
3264                 ff("1")),
3265 
3266         /** The style property {@code -webkit-animation-iteration-count}. */
3267         WEBKIT_ANIMATION_ITERATION_COUNT__("-webkit-animation-iteration-count", "webkit-animation-iteration-count",
3268                 ff("1")),
3269 
3270         /** The style property {@code webkitAnimationName}. */
3271         WEBKIT_ANIMATION_NAME("webkitAnimationName", "webkit-animation-name", chromeAndEdgeNone(), ffNone()),
3272 
3273         /** The style property {@code WebkitAnimationName}. */
3274         WEBKIT_ANIMATION_NAME_("WebkitAnimationName", "webkit-animation-name", ffNone()),
3275 
3276         /** The style property {@code -webkit-animation-name}. */
3277         WEBKIT_ANIMATION_NAME__("-webkit-animation-name", "webkit-animation-name", ffNone()),
3278 
3279         /** The style property {@code webkitAnimationPlayState}. */
3280         WEBKIT_ANIMATION_PLAY_STATE("webkitAnimationPlayState", "webkit-animation-play-state",
3281                 chromeAndEdge("running"), ff("running")),
3282 
3283         /** The style property {@code WebkitAnimationPlayState}. */
3284         WEBKIT_ANIMATION_PLAY_STATE_("WebkitAnimationPlayState", "webkit-animation-play-state", ff("running")),
3285 
3286         /** The style property {@code -webkit-animation-play-state}. */
3287         WEBKIT_ANIMATION_PLAY_STATE__("-webkit-animation-play-state", "webkit-animation-play-state", ff("running")),
3288 
3289         /** The style property {@code webkitAnimationTimingFunction}. */
3290         WEBKIT_ANIMATION_TIMING_FUNCTION("webkitAnimationTimingFunction", "webkit-animation-timing-function",
3291                 chromeAndEdge("ease"), ff("ease")),
3292 
3293         /** The style property {@code WebkitAnimationTimingFunction}. */
3294         WEBKIT_ANIMATION_TIMING_FUNCTION_("WebkitAnimationTimingFunction", "webkit-animation-timing-function",
3295                 ff("ease")),
3296 
3297         /** The style property {@code -webkit-animation-timing-function}. */
3298         WEBKIT_ANIMATION_TIMING_FUNCTION__("-webkit-animation-timing-function", "webkit-animation-timing-function",
3299                 ff("ease")),
3300 
3301         /** The style property {@code webkitAppRegion}. */
3302         WEBKIT_APP_REGION("webkitAppRegion", "webkit-app-region", chromeAndEdgeNone()),
3303 
3304         /** The style property {@code webkitAppearance}. */
3305         WEBKIT_APPEARANCE("webkitAppearance", "webkit-appearance", chromeAndEdgeNone(), ffNone()),
3306 
3307         /** The style property {@code WebkitAppearance}. */
3308         WEBKIT_APPEARANCE_("WebkitAppearance", "webkit-appearance", ffNone()),
3309 
3310         /** The style property {@code -webkit-appearance}. */
3311         WEBKIT_APPEARANCE__("-webkit-appearance", "webkit-appearance", ffNone()),
3312 
3313         /** The style property {@code webkitBackfaceVisibility}. */
3314         WEBKIT_BACKFACE_VISIBILITY("webkitBackfaceVisibility", "webkit-backface-visibility",
3315                 chromeAndEdge("visible"), ff("visible")),
3316 
3317         /** The style property {@code WebkitBackfaceVisibility}. */
3318         WEBKIT_BACKFACE_VISIBILITY_("WebkitBackfaceVisibility", "webkit-backface-visibility",
3319                 ff("visible")),
3320 
3321         /** The style property {@code -webkit-backface-visibility}. */
3322         WEBKIT_BACKFACE_VISIBILITY__("-webkit-backface-visibility", "webkit-backface-visibility",
3323                 ff("visible")),
3324 
3325         /** The style property {@code webkitBackgroundClip}. */
3326         WEBKIT_BACKGROUND_CLIP("webkitBackgroundClip", "webkit-background-clip",
3327                 chromeAndEdge("border-box"), ff("border-box")),
3328 
3329         /** The style property {@code WebkitBackgroundClip}. */
3330         WEBKIT_BACKGROUND_CLIP_("WebkitBackgroundClip", "webkit-background-clip", ff("border-box")),
3331 
3332         /** The style property {@code -webkit-background-clip}. */
3333         WEBKIT_BACKGROUND_CLIP__("-webkit-background-clip", "webkit-background-clip", ff("border-box")),
3334 
3335         /** The style property {@code webkitBackgroundOrigin}. */
3336         WEBKIT_BACKGROUND_ORIGIN("webkitBackgroundOrigin", "webkit-background-origin",
3337                 chromeAndEdge("padding-box"), ff("padding-box")),
3338 
3339         /** The style property {@code WebkitBackgroundOrigin}. */
3340         WEBKIT_BACKGROUND_ORIGIN_("WebkitBackgroundOrigin", "webkit-background-origin", ff("padding-box")),
3341 
3342         /** The style property {@code -webkit-background-origin}. */
3343         WEBKIT_BACKGROUND_ORIGIN__("-webkit-background-origin", "webkit-background-origin", ff("padding-box")),
3344 
3345         /** The style property {@code webkitBackgroundSize}. */
3346         WEBKIT_BACKGROUND_SIZE("webkitBackgroundSize", "webkit-background-size", chromeAndEdgeAuto(),
3347                 ff("auto")),
3348 
3349         /** The style property {@code WebkitBackgroundSize}. */
3350         WEBKIT_BACKGROUND_SIZE_("WebkitBackgroundSize", "webkit-background-size",
3351                 ff("auto")),
3352 
3353         /** The style property {@code -webkit-background-size}. */
3354         WEBKIT_BACKGROUND_SIZE__("-webkit-background-size", "webkit-background-size",
3355                 ff("auto")),
3356 
3357         /** The style property {@code webkitBorderAfter}. */
3358         WEBKIT_BORDER_AFTER("webkitBorderAfter", "webkit-border-after", chromeAndEdge("0px none rgb(0, 0, 0)")),
3359 
3360         /** The style property {@code webkitBorderAfterColor}. */
3361         WEBKIT_BORDER_AFTER_COLOR("webkitBorderAfterColor", "webkit-border-after-color", chromeAndEdge("rgb(0, 0, 0)")),
3362 
3363         /** The style property {@code webkitBorderAfterStyle}. */
3364         WEBKIT_BORDER_AFTER_STYLE("webkitBorderAfterStyle", "webkit-border-after-style", chromeAndEdgeNone()),
3365 
3366         /** The style property {@code webkitBorderAfterWidth}. */
3367         WEBKIT_BORDER_AFTER_WIDTH("webkitBorderAfterWidth", "webkit-border-after-width", chromeAndEdge("0px")),
3368 
3369         /** The style property {@code webkitBorderBefore}. */
3370         WEBKIT_BORDER_BEFORE("webkitBorderBefore", "webkit-border-before", chromeAndEdge("0px none rgb(0, 0, 0)")),
3371 
3372         /** The style property {@code webkitBorderBeforeColor}. */
3373         WEBKIT_BORDER_BEFORE_COLOR("webkitBorderBeforeColor", "webkit-border-before-color",
3374                 chromeAndEdge("rgb(0, 0, 0)")),
3375 
3376         /** The style property {@code webkitBorderBeforeStyle}. */
3377         WEBKIT_BORDER_BEFORE_STYLE("webkitBorderBeforeStyle", "webkit-border-before-style", chromeAndEdgeNone()),
3378 
3379         /** The style property {@code webkitBorderBeforeWidth}. */
3380         WEBKIT_BORDER_BEFORE_WIDTH("webkitBorderBeforeWidth", "webkit-border-before-width", chromeAndEdge("0px")),
3381 
3382         /** The style property {@code webkitBorderBottomLeftRadius}. */
3383         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS("webkitBorderBottomLeftRadius", "webkit-border-bottom-left-radius",
3384                 chromeAndEdge("0px"), ff("0px")),
3385 
3386         /** The style property {@code WebkitBorderBottomLeftRadius}. */
3387         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS_("WebkitBorderBottomLeftRadius", "webkit-border-bottom-left-radius",
3388                 ff("0px")),
3389 
3390         /** The style property {@code -webkit-border-bottom-left-radius}. */
3391         WEBKIT_BORDER_BOTTOM_LEFT_RADIUS__("-webkit-border-bottom-left-radius", "webkit-border-bottom-left-radius",
3392                 ff("0px")),
3393 
3394         /** The style property {@code webkitBorderBottomRightRadius}. */
3395         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS("webkitBorderBottomRightRadius", "webkit-border-bottom-right-radius",
3396                 chromeAndEdge("0px"), ff("0px")),
3397 
3398         /** The style property {@code WebkitBorderBottomRightRadius}. */
3399         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS_("WebkitBorderBottomRightRadius", "webkit-border-bottom-right-radius",
3400                 ff("0px")),
3401 
3402         /** The style property {@code -webkit-border-bottom-right-radius}. */
3403         WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS__("-webkit-border-bottom-right-radius", "webkit-border-bottom-right-radius",
3404                 ff("0px")),
3405 
3406         /** The style property {@code webkitBorderEnd}. */
3407         WEBKIT_BORDER_END("webkitBorderEnd", "webkit-border-end", chromeAndEdge("0px none rgb(0, 0, 0)")),
3408 
3409         /** The style property {@code webkitBorderEndColor}. */
3410         WEBKIT_BORDER_END_COLOR("webkitBorderEndColor", "webkit-border-end-color", chromeAndEdge("rgb(0, 0, 0)")),
3411 
3412         /** The style property {@code webkitBorderEndStyle}. */
3413         WEBKIT_BORDER_END_STYLE("webkitBorderEndStyle", "webkit-border-end-style", chromeAndEdgeNone()),
3414 
3415         /** The style property {@code webkitBorderEndWidth}. */
3416         WEBKIT_BORDER_END_WIDTH("webkitBorderEndWidth", "webkit-border-end-width", chromeAndEdge("0px")),
3417 
3418         /** The style property {@code webkitBorderHorizontalSpacing}. */
3419         WEBKIT_BORDER_HORIZONTAL_SPACING("webkitBorderHorizontalSpacing", "webkit-border-horizontal-spacing",
3420                 chromeAndEdge("0px")),
3421 
3422         /** The style property {@code webkitBorderImage}. */
3423         WEBKIT_BORDER_IMAGE("webkitBorderImage", "webkit-border-image", chromeAndEdgeNone(), ffNone()),
3424 
3425         /** The style property {@code WebkitBorderImage}. */
3426         WEBKIT_BORDER_IMAGE_("WebkitBorderImage", "webkit-border-image", ffNone()),
3427 
3428         /** The style property {@code -webkit-border-image}. */
3429         WEBKIT_BORDER_IMAGE__("-webkit-border-image", "webkit-border-image", ffNone()),
3430 
3431         /** The style property {@code webkitBorderRadius}. */
3432         WEBKIT_BORDER_RADIUS("webkitBorderRadius", "webkit-border-radius", chromeAndEdge("0px"), ff("0px")),
3433 
3434         /** The style property {@code WebkitBorderRadius}. */
3435         WEBKIT_BORDER_RADIUS_("WebkitBorderRadius", "webkit-border-radius", ff("0px")),
3436 
3437         /** The style property {@code -webkit-border-radius}. */
3438         WEBKIT_BORDER_RADIUS__("-webkit-border-radius", "webkit-border-radius", ff("0px")),
3439 
3440         /** The style property {@code webkitBorderStart}. */
3441         WEBKIT_BORDER_START("webkitBorderStart", "webkit-border-start", chromeAndEdge("0px none rgb(0, 0, 0)")),
3442 
3443         /** The style property {@code webkitBorderStartColor}. */
3444         WEBKIT_BORDER_START_COLOR("webkitBorderStartColor", "webkit-border-start-color", chromeAndEdge("rgb(0, 0, 0)")),
3445 
3446         /** The style property {@code webkitBorderStartStyle}. */
3447         WEBKIT_BORDER_START_STYLE("webkitBorderStartStyle", "webkit-border-start-style", chromeAndEdgeNone()),
3448 
3449         /** The style property {@code webkitBorderStartWidth}. */
3450         WEBKIT_BORDER_START_WIDTH("webkitBorderStartWidth", "webkit-border-start-width", chromeAndEdge("0px")),
3451 
3452         /** The style property {@code webkitBorderTopLeftRadius}. */
3453         WEBKIT_BORDER_TOP_LEFT_RADIUS("webkitBorderTopLeftRadius", "webkit-border-top-left-radius",
3454                 chromeAndEdge("0px"), ff("0px")),
3455 
3456         /** The style property {@code WebkitBorderTopLeftRadius}. */
3457         WEBKIT_BORDER_TOP_LEFT_RADIUS_("WebkitBorderTopLeftRadius", "webkit-border-top-left-radius", ff("0px")),
3458 
3459         /** The style property {@code -webkit-border-top-left-radius}. */
3460         WEBKIT_BORDER_TOP_LEFT_RADIUS__("-webkit-border-top-left-radius", "webkit-border-top-left-radius",
3461                 ff("0px")),
3462 
3463         /** The style property {@code webkitBorderTopRightRadius}. */
3464         WEBKIT_BORDER_TOP_RIGHT_RADIUS("webkitBorderTopRightRadius", "webkit-border-top-right-radius",
3465                 chromeAndEdge("0px"), ff("0px")),
3466 
3467         /** The style property {@code WebkitBorderTopRightRadius}. */
3468         WEBKIT_BORDER_TOP_RIGHT_RADIUS_("WebkitBorderTopRightRadius", "webkit-border-top-right-radius", ff("0px")),
3469 
3470         /** The style property {@code -webkit-border-top-right-radius}. */
3471         WEBKIT_BORDER_TOP_RIGHT_RADIUS__("-webkit-border-top-right-radius", "webkit-border-top-right-radius",
3472                 ff("0px")),
3473 
3474         /** The style property {@code webkitBorderVerticalSpacing}. */
3475         WEBKIT_BORDER_VERTICAL_SPACING("webkitBorderVerticalSpacing", "webkit-border-vertical-spacing",
3476                 chromeAndEdge("0px")),
3477 
3478         /** The style property {@code webkitBoxAlign}. */
3479         WEBKIT_BOX_ALIGN("webkitBoxAlign", "webkit-box-align", chromeAndEdge("stretch"), ff("stretch")),
3480 
3481         /** The style property {@code WebkitBoxAlign}. */
3482         WEBKIT_BOX_ALIGN_("WebkitBoxAlign", "webkit-box-align", ff("stretch")),
3483 
3484         /** The style property {@code -webkit-box-align}. */
3485         WEBKIT_BOX_ALIGN__("-webkit-box-align", "webkit-box-align", ff("stretch")),
3486 
3487         /** The style property {@code webkitBoxDecorationBreak}. */
3488         WEBKIT_BOX_DECORATION_BREAK("webkitBoxDecorationBreak", "webkit-box-decoration-break", chromeAndEdge("slice")),
3489 
3490         /** The style property {@code webkitBoxDirection}. */
3491         WEBKIT_BOX_DIRECTION("webkitBoxDirection", "webkit-box-direction", chromeAndEdgeNormal(), ffNormal()),
3492 
3493         /** The style property {@code WebkitBoxDirection}. */
3494         WEBKIT_BOX_DIRECTION_("WebkitBoxDirection", "webkit-box-direction", ffNormal()),
3495 
3496         /** The style property {@code -webkit-box-direction}. */
3497         WEBKIT_BOX_DIRECTION__("-webkit-box-direction", "webkit-box-direction", ffNormal()),
3498 
3499         /** The style property {@code webkitBoxFlex}. */
3500         WEBKIT_BOX_FLEX("webkitBoxFlex", "webkit-box-flex", chromeAndEdge("0"), ff("0")),
3501 
3502         /** The style property {@code WebkitBoxFlex}. */
3503         WEBKIT_BOX_FLEX_("WebkitBoxFlex", "webkit-box-flex", ff("0")),
3504 
3505         /** The style property {@code -webkit-box-flex}. */
3506         WEBKIT_BOX_FLEX__("-webkit-box-flex", "webkit-box-flex", ff("0")),
3507 
3508         /** The style property {@code webkitBoxFlexGroup}. */
3509         WEBKIT_BOX_FLEX_GROUP("webkitBoxFlexGroup", "webkit-box-flex-group", chromeAndEdgeNotIterable("1")),
3510 
3511         /** The style property {@code webkitBoxLines}. */
3512         WEBKIT_BOX_LINES("webkitBoxLines", "webkit-box-lines", chromeAndEdgeNotIterable("single")),
3513 
3514         /** The style property {@code webkitBoxOrdinalGroup}. */
3515         WEBKIT_BOX_ORDINAL_GROUP("webkitBoxOrdinalGroup", "webkit-box-ordinal-group", chromeAndEdge("1"), ff("1")),
3516 
3517         /** The style property {@code WebkitBoxOrdinalGroup}. */
3518         WEBKIT_BOX_ORDINAL_GROUP_("WebkitBoxOrdinalGroup", "webkit-box-ordinal-group", ff("1")),
3519 
3520         /** The style property {@code -webkit-box-ordinal-group}. */
3521         WEBKIT_BOX_ORDINAL_GROUP__("-webkit-box-ordinal-group", "webkit-box-ordinal-group", ff("1")),
3522 
3523         /** The style property {@code webkitBoxOrient}. */
3524         WEBKIT_BOX_ORIENT("webkitBoxOrient", "webkit-box-orient", chromeAndEdge("horizontal"), ff("horizontal")),
3525 
3526         /** The style property {@code WebkitBoxOrient}. */
3527         WEBKIT_BOX_ORIENT_("WebkitBoxOrient", "webkit-box-orient", ff("horizontal")),
3528 
3529         /** The style property {@code -webkit-box-orient}. */
3530         WEBKIT_BOX_ORIENT__("-webkit-box-orient", "webkit-box-orient", ff("horizontal")),
3531 
3532         /** The style property {@code webkitBoxPack}. */
3533         WEBKIT_BOX_PACK("webkitBoxPack", "webkit-box-pack", chromeAndEdge("start"), ff("start")),
3534 
3535         /** The style property {@code WebkitBoxPack}. */
3536         WEBKIT_BOX_PACK_("WebkitBoxPack", "webkit-box-pack", ff("start")),
3537 
3538         /** The style property {@code -webkit-box-pack}. */
3539         WEBKIT_BOX_PACK__("-webkit-box-pack", "webkit-box-pack", ff("start")),
3540 
3541         /** The style property {@code webkitBoxReflect}. */
3542         WEBKIT_BOX_REFLECT("webkitBoxReflect", "webkit-box-reflect", chromeAndEdgeNone()),
3543 
3544         /** The style property {@code webkitBoxShadow}. */
3545         WEBKIT_BOX_SHADOW("webkitBoxShadow", "webkit-box-shadow", chromeAndEdgeNone(), ffNone()),
3546 
3547         /** The style property {@code WebkitBoxShadow}. */
3548         WEBKIT_BOX_SHADOW_("WebkitBoxShadow", "webkit-box-shadow", ffNone()),
3549 
3550         /** The style property {@code -webkit-box-shadow}. */
3551         WEBKIT_BOX_SHADOW__("-webkit-box-shadow", "webkit-box-shadow", ffNone()),
3552 
3553         /** The style property {@code webkitBoxSizing}. */
3554         WEBKIT_BOX_SIZING("webkitBoxSizing", "webkit-box-sizing", chromeAndEdge("content-box"), ff("content-box")),
3555 
3556         /** The style property {@code WebkitBoxSizing}. */
3557         WEBKIT_BOX_SIZING_("WebkitBoxSizing", "webkit-box-sizing", ff("content-box")),
3558 
3559         /** The style property {@code -webkit-box-sizing}. */
3560         WEBKIT_BOX_SIZING__("-webkit-box-sizing", "webkit-box-sizing", ff("content-box")),
3561 
3562         /** The style property {@code webkitClipPath}. */
3563         WEBKIT_CLIP_PATH("webkitClipPath", "webkit-clip-path", chromeAndEdgeNone(), ffNone()),
3564 
3565         /** The style property {@code WebkitClipPath}. */
3566         WEBKIT_CLIP_PATH_("WebkitClipPath", "webkit-clip-path", ffNone()),
3567 
3568         /** The style property {@code -webkit-clip-path}. */
3569         WEBKIT_CLIP_PATH__("-webkit-clip-path", "webkit-clip-path", ffNone()),
3570 
3571         /** The style property {@code webkitColumnBreakAfter}. */
3572         WEBKIT_COLUMN_BREAK_AFTER("webkitColumnBreakAfter", "webkit-column-break-after", chromeAndEdgeAuto()),
3573 
3574         /** The style property {@code webkitColumnBreakBefore}. */
3575         WEBKIT_COLUMN_BREAK_BEFORE("webkitColumnBreakBefore", "webkit-column-break-before", chromeAndEdgeAuto()),
3576 
3577         /** The style property {@code webkitColumnBreakInside}. */
3578         WEBKIT_COLUMN_BREAK_INSIDE("webkitColumnBreakInside", "webkit-column-break-inside", chromeAndEdgeAuto()),
3579 
3580         /** The style property {@code webkitColumnCount}. */
3581         WEBKIT_COLUMN_COUNT("webkitColumnCount", "webkit-column-count", chromeAndEdgeAuto()),
3582 
3583         /** The style property {@code webkitColumnGap}. */
3584         WEBKIT_COLUMN_GAP("webkitColumnGap", "webkit-column-gap", chromeAndEdgeNormal()),
3585 
3586         /** The style property {@code webkitColumnRule}. */
3587         WEBKIT_COLUMN_RULE("webkitColumnRule", "webkit-column-rule", chromeAndEdge("0px none rgb(0, 0, 0)")),
3588 
3589         /** The style property {@code webkitColumnRuleColor}. */
3590         WEBKIT_COLUMN_RULE_COLOR("webkitColumnRuleColor", "webkit-column-rule-color", chromeAndEdge("rgb(0, 0, 0)")),
3591 
3592         /** The style property {@code webkitColumnRuleStyle}. */
3593         WEBKIT_COLUMN_RULE_STYLE("webkitColumnRuleStyle", "webkit-column-rule-style", chromeAndEdgeNone()),
3594 
3595         /** The style property {@code webkitColumnRuleWidth}. */
3596         WEBKIT_COLUMN_RULE_WIDTH("webkitColumnRuleWidth", "webkit-column-rule-width", chromeAndEdge("0px")),
3597 
3598         /** The style property {@code webkitColumnSpan}. */
3599         WEBKIT_COLUMN_SPAN("webkitColumnSpan", "webkit-column-rule-span", chromeAndEdgeNone()),
3600 
3601         /** The style property {@code webkitColumnWidth}. */
3602         WEBKIT_COLUMN_WIDTH("webkitColumnWidth", "webkit-column-width", chromeAndEdgeAuto()),
3603 
3604         /** The style property {@code webkitColumns}. */
3605         WEBKIT_COLUMNS("webkitColumns", "webkit-columns", chromeAndEdge("auto auto")),
3606 
3607         /** The style property {@code webkitFilter}. */
3608         WEBKIT_FILTER("webkitFilter", "webkit-filter", chromeAndEdgeNone(), ffNone()),
3609 
3610         /** The style property {@code WebkitFilter}. */
3611         WEBKIT_FILTER_("WebkitFilter", "webkit-filter", ffNone()),
3612 
3613         /** The style property {@code -webkit-filter}. */
3614         WEBKIT_FILTER__("-webkit-filter", "webkit-filter", ffNone()),
3615 
3616         /** The style property {@code webkitFlex}. */
3617         WEBKIT_FLEX("webkitFlex", "webkit-flex", chromeAndEdge("0 1 auto"), ff("0 1 auto")),
3618 
3619         /** The style property {@code WebkitFlex}. */
3620         WEBKIT_FLEX_("WebkitFlex", "webkit-flex", ff("0 1 auto")),
3621 
3622         /** The style property {@code -webkit-flex}. */
3623         WEBKIT_FLEX__("-webkit-flex", "webkit-flex", ff("0 1 auto")),
3624 
3625         /** The style property {@code webkitFlexBasis}. */
3626         WEBKIT_FLEX_BASIS("webkitFlexBasis", "webkit-flex-basis", chromeAndEdgeAuto(), ff("auto")),
3627 
3628         /** The style property {@code WebkitFlexBasis}. */
3629         WEBKIT_FLEX_BASIS_("WebkitFlexBasis", "webkit-flex-basis", ff("auto")),
3630 
3631         /** The style property {@code -webkit-flex-basis}. */
3632         WEBKIT_FLEX_BASIS__("-webkit-flex-basis", "webkit-flex-basis", ff("auto")),
3633 
3634         /** The style property {@code webkitFlexDirection}. */
3635         WEBKIT_FLEX_DIRECTION("webkitFlexDirection", "webkit-flex-direction", chromeAndEdge("row"), ff("row")),
3636 
3637         /** The style property {@code WebkitFlexDirection}. */
3638         WEBKIT_FLEX_DIRECTION_("WebkitFlexDirection", "webkit-flex-direction", ff("row")),
3639 
3640         /** The style property {@code -webkit-flex-direction}. */
3641         WEBKIT_FLEX_DIRECTION__("-webkit-flex-direction", "webkit-flex-direction", ff("row")),
3642 
3643         /** The style property {@code webkitFlexFlow}. */
3644         WEBKIT_FLEX_FLOW("webkitFlexFlow", "webkit-flex-flow", chromeAndEdge("row nowrap"),
3645                 ff("row")),
3646 
3647         /** The style property {@code WebkitFlexFlow}. */
3648         WEBKIT_FLEX_FLOW_("WebkitFlexFlow", "webkit-flex-flow", ff("row")),
3649 
3650         /** The style property {@code -webkit-flex-flow}. */
3651         WEBKIT_FLEX_FLOW__("-webkit-flex-flow", "webkit-flex-flow", ff("row")),
3652 
3653         /** The style property {@code webkitFlexGrow}. */
3654         WEBKIT_FLEX_GROW("webkitFlexGrow", "webkit-flex-grow", chromeAndEdge("0"), ff("0")),
3655 
3656         /** The style property {@code WebkitFlexGrow}. */
3657         WEBKIT_FLEX_GROW_("WebkitFlexGrow", "webkit-flex-grow", ff("0")),
3658 
3659         /** The style property {@code -webkit-flex-grow}. */
3660         WEBKIT_FLEX_GROW__("-webkit-flex-grow", "webkit-flex-grow", ff("0")),
3661 
3662         /** The style property {@code webkitFlexShrink}. */
3663         WEBKIT_FLEX_SHRINK("webkitFlexShrink", "webkit-flex-shrink", chromeAndEdge("1"), ff("1")),
3664 
3665         /** The style property {@code WebkitFlexShrink}. */
3666         WEBKIT_FLEX_SHRINK_("WebkitFlexShrink", "webkit-flex-shrink", ff("1")),
3667 
3668         /** The style property {@code -webkit-flex-shrink}. */
3669         WEBKIT_FLEX_SHRINK__("-webkit-flex-shrink", "webkit-flex-shrink", ff("1")),
3670 
3671         /** The style property {@code webkitFlexWrap}. */
3672         WEBKIT_FLEX_WRAP("webkitFlexWrap", "webkit-flex-wrap", chromeAndEdge("nowrap"), ff("nowrap")),
3673 
3674         /** The style property {@code WebkitFlexWrap}. */
3675         WEBKIT_FLEX_WRAP_("WebkitFlexWrap", "webkit-flex-wrap", ff("nowrap")),
3676 
3677         /** The style property {@code -webkit-flex-wrap}. */
3678         WEBKIT_FLEX_WRAP__("-webkit-flex-wrap", "webkit-flex-wrap", ff("nowrap")),
3679 
3680         /** The style property {@code webkitFontFeatureSettings}. */
3681         WEBKIT_FONT_FEATURE_SETTINGS("webkitFontFeatureSettings", "webkit-font-feature-settings",
3682                 chromeAndEdgeNormal(), ffLatest("normal")),
3683 
3684         /** The style property {@code WebkitFontFeatureSettings}. */
3685         WEBKIT_FONT_FEATURE_SETTINGS_("WebkitFontFeatureSettings", "webkit-font-feature-settings",
3686                 ffLatest("normal")),
3687 
3688         /** The style property {@code -webkit-font-feature-settings}. */
3689         WEBKIT_FONT_FEATURE_SETTINGS__("-webkit-font-feature-settings", "webkit-font-feature-settings",
3690                 ffLatest("normal")),
3691 
3692         /** The style property {@code webkitFontSmoothing}. */
3693         WEBKIT_FONT_SMOOTHING("webkitFontSmoothing", "webkit-font-smoothing", chromeAndEdgeAuto()),
3694 
3695         /** The style property {@code webkitHyphenateCharacter}. */
3696         WEBKIT_HYPHENATE_CHARACTER("webkitHyphenateCharacter", "webkit-hyphenate-character", chromeAndEdgeAuto()),
3697 
3698         /** The style property {@code webkitJustifyContent}. */
3699         WEBKIT_JUSTIFY_CONTENT("webkitJustifyContent", "webkit-justify-content", chromeAndEdgeNormal(), ffNormal()),
3700 
3701         /** The style property {@code WebkitJustifyContent}. */
3702         WEBKIT_JUSTIFY_CONTENT_("WebkitJustifyContent", "webkit-justify-content", ffNormal()),
3703 
3704         /** The style property {@code -webkit-justify-content}. */
3705         WEBKIT_JUSTIFY_CONTENT__("-webkit-justify-content", "webkit-justify-content", ffNormal()),
3706 
3707         /** The style property {@code webkitLineBreak}. */
3708         WEBKIT_LINE_BREAK("webkitLineBreak", "webkit-line-break", chromeAndEdgeAuto()),
3709 
3710         /** The style property {@code webkitLineClamp}. */
3711         WEBKIT_LINE_CLAMP("webkitLineClamp", "webkit-line-clamp", chromeAndEdgeNone(), ffNone()),
3712 
3713         /** The style property {@code WebkitLineClamp}. */
3714         WEBKIT_LINE_CLAMP_("WebkitLineClamp", "webkit-line-clamp", ffNone()),
3715 
3716         /** The style property {@code -webkit-line-clamp}. */
3717         WEBKIT_LINE_CLAMP__("-webkit-line-clamp", "webkit-line-clamp", ffNone()),
3718 
3719         /** The style property {@code webkitLocale}. */
3720         WEBKIT_LOCALE("webkitLocale", "webkit-locale", chromeAndEdgeAuto()),
3721 
3722         /** The style property {@code webkitLogicalHeight}. */
3723         WEBKIT_LOGICAL_HEIGHT("webkitLogicalHeight", "webkit-logical-height", chromeAndEdge("18px")),
3724 
3725         /** The style property {@code webkitLogicalWidth}. */
3726         WEBKIT_LOGICAL_WIDTH("webkitLogicalWidth", "webkit-logical-width", chrome("1240px"), edge("1232px")),
3727 
3728         /** The style property {@code webkitMarginAfter}. */
3729         WEBKIT_MARGIN_AFTER("webkitMarginAfter", "webkit-margin-after", chromeAndEdge("0px")),
3730 
3731         /** The style property {@code webkitMarginBefore}. */
3732         WEBKIT_MARGIN_BEFORE("webkitMarginBefore", "webkit-margin-before", chromeAndEdge("0px")),
3733 
3734         /** The style property {@code webkitMarginEnd}. */
3735         WEBKIT_MARGIN_END("webkitMarginEnd", "webkit-margin-end", chromeAndEdge("0px")),
3736 
3737         /** The style property {@code webkitMarginStart}. */
3738         WEBKIT_MARGIN_START("webkitMarginStart", "webkit-margin-start", chromeAndEdge("0px")),
3739 
3740         /** The style property {@code webkitMask}. */
3741         WEBKIT_MASK("webkitMask", "webkit-mask", chromeAndEdgeNone(), ffNone()),
3742 
3743         /** The style property {@code WebkitMask}. */
3744         WEBKIT_MASK_("WebkitMask", "webkit-mask", ffNone()),
3745 
3746         /** The style property {@code -webkit-mask}. */
3747         WEBKIT_MASK__("-webkit-mask", "webkit-mask", ffNone()),
3748 
3749         /** The style property {@code webkitMaskBoxImage}. */
3750         WEBKIT_MASK_BOX_IMAGE("webkitMaskBoxImage", "webkit-mask-box-image", chromeAndEdgeNone()),
3751 
3752         /** The style property {@code webkitMaskBoxImageOutset}. */
3753         WEBKIT_MASK_BOX_IMAGE_OUTSET("webkitMaskBoxImageOutset", "webkit-mask-box-image-outset", chromeAndEdge("0")),
3754 
3755         /** The style property {@code webkitMaskBoxImageRepeat}. */
3756         WEBKIT_MASK_BOX_IMAGE_REPEAT("webkitMaskBoxImageRepeat", "webkit-mask-box-image-repeat",
3757                 chromeAndEdge("stretch")),
3758 
3759         /** The style property {@code webkitMaskBoxImageSlice}. */
3760         WEBKIT_MASK_BOX_IMAGE_SLICE("webkitMaskBoxImageSlice", "webkit-mask-box-image-slice", chromeAndEdge("0 fill")),
3761 
3762         /** The style property {@code webkitMaskBoxImageSource}. */
3763         WEBKIT_MASK_BOX_IMAGE_SOURCE("webkitMaskBoxImageSource", "webkit-mask-box-image-source", chromeAndEdgeNone()),
3764 
3765         /** The style property {@code webkitMaskBoxImageWidth}. */
3766         WEBKIT_MASK_BOX_IMAGE_WIDTH("webkitMaskBoxImageWidth", "webkit-mask-box-image-width", chromeAndEdgeAuto()),
3767 
3768         /** The style property {@code webkitMaskClip}. */
3769         WEBKIT_MASK_CLIP("webkitMaskClip", "webkit-mask-clip", chromeAndEdge("border-box"), ff("border-box")),
3770 
3771         /** The style property {@code WebkitMaskClip}. */
3772         WEBKIT_MASK_CLIP_("WebkitMaskClip", "webkit-mask-clip", ff("border-box")),
3773 
3774         /** The style property {@code -webkit-mask-clip}. */
3775         WEBKIT_MASK_CLIP__("-webkit-mask-clip", "webkit-mask-clip", ff("border-box")),
3776 
3777         /** The style property {@code webkitMaskComposite}. */
3778         WEBKIT_MASK_COMPOSITE("webkitMaskComposite", "webkit-mask-composite", chromeAndEdge("add"), ff("add")),
3779 
3780         /** The style property {@code WebkitMaskComposite}. */
3781         WEBKIT_MASK_COMPOSITE_("WebkitMaskComposite", "webkit-mask-composite", ff("add")),
3782 
3783         /** The style property {@code -webkit-mask-composite}. */
3784         WEBKIT_MASK_COMPOSITE__("-webkit-mask-composite", "webkit-mask-composite", ff("add")),
3785 
3786         /** The style property {@code webkitMaskImage}. */
3787         WEBKIT_MASK_IMAGE("webkitMaskImage", "webkit-mask-image", chromeAndEdgeNone(), ffNone()),
3788 
3789         /** The style property {@code WebkitMaskImage}. */
3790         WEBKIT_MASK_IMAGE_("WebkitMaskImage", "webkit-mask-image", ffNone()),
3791 
3792         /** The style property {@code -webkit-mask-image}. */
3793         WEBKIT_MASK_IMAGE__("-webkit-mask-image", "webkit-mask-image", ffNone()),
3794 
3795         /** The style property {@code webkitMaskOrigin}. */
3796         WEBKIT_MASK_ORIGIN("webkitMaskOrigin", "webkit-mask-origin", chromeAndEdge("border-box"), ff("border-box")),
3797 
3798         /** The style property {@code WebkitMaskOrigin}. */
3799         WEBKIT_MASK_ORIGIN_("WebkitMaskOrigin", "webkit-mask-origin", ff("border-box")),
3800 
3801         /** The style property {@code -webkit-mask-origin}. */
3802         WEBKIT_MASK_ORIGIN__("-webkit-mask-origin", "webkit-mask-origin", ff("border-box")),
3803 
3804         /** The style property {@code webkitMaskPosition}. */
3805         WEBKIT_MASK_POSITION("webkitMaskPosition", "webkit-mask-position", chromeAndEdge("0% 0%"), ff("0% 0%")),
3806 
3807         /** The style property {@code WebkitMaskPosition}. */
3808         WEBKIT_MASK_POSITION_("WebkitMaskPosition", "webkit-mask-position", ff("0% 0%")),
3809 
3810         /** The style property {@code -webkit-mask-position}. */
3811         WEBKIT_MASK_POSITION__("-webkit-mask-position", "webkit-mask-position", ff("0% 0%")),
3812 
3813         /** The style property {@code webkitMaskPositionX}. */
3814         WEBKIT_MASK_POSITION_X("webkitMaskPositionX", "webkit-mask-position-x", chromeAndEdge("0%"), ff("0%")),
3815 
3816         /** The style property {@code WebkitMaskPositionX}. */
3817         WEBKIT_MASK_POSITION_X_("WebkitMaskPositionX", "webkit-mask-position-x", ff("0%")),
3818 
3819         /** The style property {@code -webkit-mask-position-x}. */
3820         WEBKIT_MASK_POSITION_X__("-webkit-mask-position-x", "webkit-mask-position-x", ff("0%")),
3821 
3822         /** The style property {@code webkitMaskPositionY}. */
3823         WEBKIT_MASK_POSITION_Y("webkitMaskPositionY", "webkit-mask-position-y", chromeAndEdge("0%"), ff("0%")),
3824 
3825         /** The style property {@code WebkitMaskPositionY}. */
3826         WEBKIT_MASK_POSITION_Y_("WebkitMaskPositionY", "webkit-mask-position-y", ff("0%")),
3827 
3828         /** The style property {@code -webkit-mask-position-y}. */
3829         WEBKIT_MASK_POSITION_Y__("-webkit-mask-position-y", "webkit-mask-position-y", ff("0%")),
3830 
3831         /** The style property {@code webkitMaskRepeat}. */
3832         WEBKIT_MASK_REPEAT("webkitMaskRepeat", "webkit-mask-repeat", chromeAndEdge("repeat"), ff("repeat")),
3833 
3834         /** The style property {@code WebkitMaskRepeat}. */
3835         WEBKIT_MASK_REPEAT_("WebkitMaskRepeat", "webkit-mask-repeat", ff("repeat")),
3836 
3837         /** The style property {@code -webkit-mask-repeat}. */
3838         WEBKIT_MASK_REPEAT__("-webkit-mask-repeat", "webkit-mask-repeat", ff("repeat")),
3839 
3840         /** The style property {@code webkitMaskSize}. */
3841         WEBKIT_MASK_SIZE("webkitMaskSize", "webkit-mask-size", chromeAndEdgeAuto(), ff("auto")),
3842 
3843         /** The style property {@code WebkitMaskSize}. */
3844         WEBKIT_MASK_SIZE_("WebkitMaskSize", "webkit-mask-size", ff("auto")),
3845 
3846         /** The style property {@code -webkit-mask-size}. */
3847         WEBKIT_MASK_SIZE__("-webkit-mask-size", "webkit-mask-size", ff("auto")),
3848 
3849         /** The style property {@code webkitMaxLogicalHeight}. */
3850         WEBKIT_MAX_LOGICAL_HEIGHT("webkitMaxLogicalHeight", "webkit-max-logical-height", chromeAndEdgeNone()),
3851 
3852         /** The style property {@code webkitMaxLogicalWidth}. */
3853         WEBKIT_MAX_LOGICAL_WIDTH("webkitMaxLogicalWidth", "webkit-max-logical-width", chromeAndEdgeNone()),
3854 
3855         /** The style property {@code webkitMinLogicalHeight}. */
3856         WEBKIT_MIN_LOGICAL_HEIGHT("webkitMinLogicalHeight", "webkit-min-logical-height", chromeAndEdge("0px")),
3857 
3858         /** The style property {@code webkitMinLogicalWidth}. */
3859         WEBKIT_MIN_LOGICAL_WIDTH("webkitMinLogicalWidth", "webkit-min-logical-width", chromeAndEdge("0px")),
3860 
3861         /** The style property {@code webkitOpacity}. */
3862         WEBKIT_OPACITY("webkitOpacity", "webkit-opacity", chromeAndEdge("1")),
3863 
3864         /** The style property {@code webkitOrder}. */
3865         WEBKIT_ORDER("webkitOrder", "webkit-order", chromeAndEdge("0"), ff("0")),
3866 
3867         /** The style property {@code WebkitOrder}. */
3868         WEBKIT_ORDER_("WebkitOrder", "webkit-order", ff("0")),
3869 
3870         /** The style property {@code -webkit-order}. */
3871         WEBKIT_ORDER__("-webkit-order", "webkit-order", ff("0")),
3872 
3873         /** The style property {@code webkitPaddingAfter}. */
3874         WEBKIT_PADDING_AFTER("webkitPaddingAfter", "webkit-padding-after", chromeAndEdge("0px")),
3875 
3876         /** The style property {@code webkitPaddingBefore}. */
3877         WEBKIT_PADDING_BEFORE("webkitPaddingBefore", "webkit-padding-before", chromeAndEdge("0px")),
3878 
3879         /** The style property {@code webkitPaddingEnd}. */
3880         WEBKIT_PADDING_END("webkitPaddingEnd", "webkit-padding-end", chromeAndEdge("0px")),
3881 
3882         /** The style property {@code webkitPaddingStart}. */
3883         WEBKIT_PADDING_START("webkitPaddingStart", "webkit-padding-start", chromeAndEdge("0px")),
3884 
3885         /** The style property {@code webkitPerspective}. */
3886         WEBKIT_PERSPECTIVE("webkitPerspective", "webkit-perspective", chromeAndEdgeNone(), ffNone()),
3887 
3888         /** The style property {@code WebkitPerspective}. */
3889         WEBKIT_PERSPECTIVE_("WebkitPerspective", "webkit-perspective", ffNone()),
3890 
3891         /** The style property {@code -webkit-perspective}. */
3892         WEBKIT_PERSPECTIVE__("-webkit-perspective", "webkit-perspective", ffNone()),
3893 
3894         /** The style property {@code webkitPerspectiveOrigin}. */
3895         WEBKIT_PERSPECTIVE_ORIGIN("webkitPerspectiveOrigin", "webkit-perspective-origin",
3896                 ffEsr("622px 9px"), ffLatest("620px 9px"), chrome("620px 9px"), edge("616px 9px")),
3897 
3898         /** The style property {@code WebkitPerspectiveOrigin}. */
3899         WEBKIT_PERSPECTIVE_ORIGIN_("WebkitPerspectiveOrigin", "webkit-perspective-origin",
3900                 ffEsr("622px 9px"), ffLatest("620px 9px")),
3901 
3902         /** The style property {@code -webkit-perspective-origin}. */
3903         WEBKIT_PERSPECTIVE_ORIGIN__("-webkit-perspective-origin", "webkit-perspective-origin",
3904                 ffEsr("622px 9px"), ffLatest("620px 9px")),
3905 
3906         /** The style property {@code webkitPerspectiveOriginX}. */
3907         WEBKIT_PERSPECTIVE_ORIGIN_X("webkitPerspectiveOriginX", "webkit-perspective-origin-x", chromeAndEdgeEmpty()),
3908 
3909         /** The style property {@code webkitPerspectiveOriginY}. */
3910         WEBKIT_PERSPECTIVE_ORIGIN_Y("webkitPerspectiveOriginY", "webkit-perspective-origin-y", chromeAndEdgeEmpty()),
3911 
3912         /** The style property {@code webkitPrintColorAdjust}. */
3913         WEBKIT_PRINT_COLOR_ADJUST("webkitPrintColorAdjust", "webkit-print-color-adjust", chromeAndEdge("economy")),
3914 
3915         /** The style property {@code webkitRtlOrdering}. */
3916         WEBKIT_RTL_ORDERING("webkitRtlOrdering", "webkit-rtl-ordering", chromeAndEdge("logical")),
3917 
3918         /** The style property {@code webkitRubyPosition}. */
3919         WEBKIT_RUBY_POSITION("webkitRubyPosition", "webkit-ruby-position", chromeAndEdge("before")),
3920 
3921         /** The style property {@code webkitShapeImageThreshold}. */
3922         WEBKIT_SHAPE_IMAGE_THRESHOLD("webkitShapeImageThreshold", "webkit-shape-image-threshold", chromeAndEdge("0")),
3923 
3924         /** The style property {@code webkitShapeMargin}. */
3925         WEBKIT_SHAPE_MARGIN("webkitShapeMargin", "webkit-shape-margin", chromeAndEdge("0px")),
3926 
3927         /** The style property {@code webkitShapeOutside}. */
3928         WEBKIT_SHAPE_OUTSIDE("webkitShapeOutside", "webkit-shape-outside", chromeAndEdgeNone()),
3929 
3930         /** The style property {@code webkitTapHighlightColor}. */
3931         WEBKIT_TAP_HIGHLIGHT_COLOR("webkitTapHighlightColor", "webkit-tap-highlight-color",
3932                 chromeAndEdge("rgba(0, 0, 0, 0.18)")),
3933 
3934         /** The style property {@code webkitTextCombine}. */
3935         WEBKIT_TEXT_COMBINE("webkitTextCombine", "webkit-text-combine", chromeAndEdgeNone()),
3936 
3937         /** The style property {@code webkitTextDecorationsInEffect}. */
3938         WEBKIT_TEXT_DECORATIONS_IN_EFFECT("webkitTextDecorationsInEffect", "webkit-text-decorations-in-effect",
3939                 chromeAndEdgeNone()),
3940 
3941         /** The style property {@code webkitTextEmphasis}. */
3942         WEBKIT_TEXT_EMPHASIS("webkitTextEmphasis", "webkit-text-emphasis", chromeAndEdge("none rgb(0, 0, 0)")),
3943 
3944         /** The style property {@code webkitTextEmphasisColor}. */
3945         WEBKIT_TEXT_EMPHASIS_COLOR("webkitTextEmphasisColor", "webkit-text-emphasis-color",
3946                 chromeAndEdge("rgb(0, 0, 0)")),
3947 
3948         /** The style property {@code webkitTextEmphasisPosition}. */
3949         WEBKIT_TEXT_EMPHASIS_POSITION("webkitTextEmphasisPosition", "webkit-text-emphasis-position",
3950                 chromeAndEdge("over")),
3951 
3952         /** The style property {@code webkitTextEmphasisStyle}. */
3953         WEBKIT_TEXT_EMPHASIS_STYLE("webkitTextEmphasisStyle", "webkit-text-emphasis-style",
3954                 chromeAndEdgeNone()),
3955 
3956         /** The style property {@code webkitTextFillColor}. */
3957         WEBKIT_TEXT_FILL_COLOR("webkitTextFillColor", "webkit-text-fill-color",
3958                 chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
3959 
3960         /** The style property {@code WebkitTextFillColor}. */
3961         WEBKIT_TEXT_FILL_COLOR_("WebkitTextFillColor", "webkit-text-fill-color",
3962                 ff("rgb(0, 0, 0)")),
3963 
3964         /** The style property {@code -webkit-text-fill-color}. */
3965         WEBKIT_TEXT_FILL_COLOR__("-webkit-text-fill-color", "webkit-text-fill-color",
3966                 ff("rgb(0, 0, 0)")),
3967 
3968         /** The style property {@code webkitTextOrientation}. */
3969         WEBKIT_TEXT_ORIENTATION("webkitTextOrientation", "webkit-text-orientation", chromeAndEdge("vertical-right")),
3970 
3971         /** The style property {@code webkitTextSecurity}. */
3972         WEBKIT_TEXT_SECURITY("webkitTextSecurity", "webkit-text-security", chromeAndEdgeNone(), ffNone()),
3973 
3974         /** The style property {@code WebkitTextSecurity}. */
3975         WEBKIT_TEXT_SECURITY_("WebkitTextSecurity", "webkit-text-security", ffNone()),
3976 
3977         /** The style property {@code -webkit-text-security}. */
3978         WEBKIT_TEXT_SECURITY__("-webkit-text-security", "webkit-text-security", ffNone()),
3979 
3980         /** The style property {@code webkitTextSizeAdjust}. */
3981         WEBKIT_TEXT_SIZE_ADJUST("webkitTextSizeAdjust", "webkit-text-size-adjust", chromeAndEdgeAuto(), ff("auto")),
3982 
3983         /** The style property {@code WebkitTextSizeAdjust}. */
3984         WEBKIT_TEXT_SIZE_ADJUST_("WebkitTextSizeAdjust", "webkit-text-size-adjust", ff("auto")),
3985 
3986         /** The style property {@code -webkit-text-size-adjust}. */
3987         WEBKIT_TEXT_SIZE_ADJUST__("-webkit-text-size-adjust", "webkit-text-size-adjust", ff("auto")),
3988 
3989         /** The style property {@code webkitTextStroke}. */
3990         WEBKIT_TEXT_STROKE("webkitTextStroke", "webkit-text-stroke", chromeAndEdgeAndFirefox("0px rgb(0, 0, 0)")),
3991 
3992         /** The style property {@code WebkitTextStroke}. */
3993         WEBKIT_TEXT_STROKE_("WebkitTextStroke", "webkit-text-stroke", ff("0px rgb(0, 0, 0)")),
3994 
3995         /** The style property {@code -webkit-text-stroke}. */
3996         WEBKIT_TEXT_STROKE__("-webkit-text-stroke", "webkit-text-stroke", ff("0px rgb(0, 0, 0)")),
3997 
3998         /** The style property {@code webkitTextStrokeColor}. */
3999         WEBKIT_TEXT_STROKE_COLOR("webkitTextStrokeColor", "webkit-text-stroke-color",
4000                 chromeAndEdge("rgb(0, 0, 0)"), ff("rgb(0, 0, 0)")),
4001 
4002         /** The style property {@code WebkitTextStrokeColor}. */
4003         WEBKIT_TEXT_STROKE_COLOR_("WebkitTextStrokeColor", "webkit-text-stroke-color",
4004                 ff("rgb(0, 0, 0)")),
4005 
4006         /** The style property {@code -webkit-text-stroke-color}. */
4007         WEBKIT_TEXT_STROKE_COLOR__("-webkit-text-stroke-color", "webkit-text-stroke-color",
4008                 ff("rgb(0, 0, 0)")),
4009 
4010         /** The style property {@code webkitTextStrokeWidth}. */
4011         WEBKIT_TEXT_STROKE_WIDTH("webkitTextStrokeWidth", "webkit-text-stroke-width", chromeAndEdge("0px"), ff("0px")),
4012 
4013         /** The style property {@code WebkitTextStrokeWidth}. */
4014         WEBKIT_TEXT_STROKE_WIDTH_("WebkitTextStrokeWidth", "webkit-text-stroke-width", ff("0px")),
4015 
4016         /** The style property {@code -webkit-text-stroke-width}. */
4017         WEBKIT_TEXT_STROKE_WIDTH__("-webkit-text-stroke-width", "webkit-text-stroke-width", ff("0px")),
4018 
4019         /** The style property {@code webkitTransform}. */
4020         WEBKIT_TRANSFORM("webkitTransform", "webkit-transform", chromeAndEdgeNone(), ffNone()),
4021 
4022         /** The style property {@code WebkitTransform}. */
4023         WEBKIT_TRANSFORM_("WebkitTransform", "webkit-transform", ffNone()),
4024 
4025         /** The style property {@code -webkit-transform}. */
4026         WEBKIT_TRANSFORM__("-webkit-transform", "webkit-transform", ffNone()),
4027 
4028         /** The style property {@code webkitTransformOrigin}. */
4029         WEBKIT_TRANSFORM_ORIGIN("webkitTransformOrigin", "webkit-transform-origin",
4030                 ffEsr("622px 9px"), ffLatest("620px 9px"), chrome("620px 9px"), edge("616px 9px")),
4031 
4032         /** The style property {@code WebkitTransformOrigin}. */
4033         WEBKIT_TRANSFORM_ORIGIN_("WebkitTransformOrigin", "webkit-transform-origin",
4034                 ffEsr("622px 9px"), ffLatest("620px 9px")),
4035 
4036         /** The style property {@code -webkit-transform-origin}. */
4037         WEBKIT_TRANSFORM_ORIGIN__("-webkit-transform-origin", "webkit-transform-origin",
4038                 ffEsr("622px 9px"), ffLatest("620px 9px")),
4039 
4040         /** The style property {@code webkitTransformOriginX}. */
4041         WEBKIT_TRANSFORM_ORIGIN_X("webkitTransformOriginX", "webkit-transform-origin-x", chromeAndEdgeEmpty()),
4042 
4043         /** The style property {@code webkitTransformOriginY}. */
4044         WEBKIT_TRANSFORM_ORIGIN_Y("webkitTransformOriginY", "webkit-transform-origin-y", chromeAndEdgeEmpty()),
4045 
4046         /** The style property {@code webkitTransformOriginZ}. */
4047         WEBKIT_TRANSFORM_ORIGIN_Z("webkitTransformOriginZ", "webkit-transform-origin-z", chromeAndEdgeEmpty()),
4048 
4049         /** The style property {@code webkitTransformStyle}. */
4050         WEBKIT_TRANSFORM_STYLE("webkitTransformStyle", "webkit-transform-style", chromeAndEdge("flat"), ff("flat")),
4051 
4052         /** The style property {@code WebkitTransformStyle}. */
4053         WEBKIT_TRANSFORM_STYLE_("WebkitTransformStyle", "webkit-transform-style", ff("flat")),
4054 
4055         /** The style property {@code -webkit-transform-style}. */
4056         WEBKIT_TRANSFORM_STYLE__("-webkit-transform-style", "webkit-transform-style", ff("flat")),
4057 
4058         /** The style property {@code webkitTransition}. */
4059         WEBKIT_TRANSITION("webkitTransition", "webkit-transition", chromeAndEdge("all"),
4060                 ff("all")),
4061 
4062         /** The style property {@code WebkitTransition}. */
4063         WEBKIT_TRANSITION_("WebkitTransition", "webkit-transition", ff("all")),
4064 
4065         /** The style property {@code -webkit-transition}. */
4066         WEBKIT_TRANSITION__("-webkit-transition", "webkit-transition", ff("all")),
4067 
4068         /** The style property {@code webkitTransitionDelay}. */
4069         WEBKIT_TRANSITION_DELAY("webkitTransitionDelay", "webkit-transition-delay", chromeAndEdge("0s"), ff("0s")),
4070 
4071         /** The style property {@code WebkitTransitionDelay}. */
4072         WEBKIT_TRANSITION_DELAY_("WebkitTransitionDelay", "webkit-transition-delay", ff("0s")),
4073 
4074         /** The style property {@code -webkit-transition-delay}. */
4075         WEBKIT_TRANSITION_DELAY__("-webkit-transition-delay", "webkit-transition-delay", ff("0s")),
4076 
4077         /** The style property {@code webkitTransitionDuration}. */
4078         WEBKIT_TRANSITION_DURATION("webkitTransitionDuration", "webkit-transition-duration",
4079                 chromeAndEdge("0s"), ff("0s")),
4080 
4081         /** The style property {@code WebkitTransitionDuration}. */
4082         WEBKIT_TRANSITION_DURATION_("WebkitTransitionDuration", "webkit-transition-duration", ff("0s")),
4083 
4084         /** The style property {@code -webkit-transition-duration}. */
4085         WEBKIT_TRANSITION_DURATION__("-webkit-transition-duration", "webkit-transition-duration", ff("0s")),
4086 
4087         /** The style property {@code webkitTransitionProperty}. */
4088         WEBKIT_TRANSITION_PROPERTY("webkitTransitionProperty", "webkit-transition-property",
4089                 chromeAndEdge("all"), ff("all")),
4090 
4091         /** The style property {@code WebkitTransitionProperty}. */
4092         WEBKIT_TRANSITION_PROPERTY_("WebkitTransitionProperty", "webkit-transition-property", ff("all")),
4093 
4094         /** The style property {@code -webkit-transition-property}. */
4095         WEBKIT_TRANSITION_PROPERTY__("-webkit-transition-property", "webkit-transition-property", ff("all")),
4096 
4097         /** The style property {@code webkitTransitionTimingFunction}. */
4098         WEBKIT_TRANSITION_TIMING_FUNCTION("webkitTransitionTimingFunction", "webkit-transition-timing-function",
4099                 chromeAndEdge("ease"), ff("ease")),
4100 
4101         /** The style property {@code WebkitTransitionTimingFunction}. */
4102         WEBKIT_TRANSITION_TIMING_FUNCTION_("WebkitTransitionTimingFunction", "webkit-transition-timing-function",
4103                 ff("ease")),
4104 
4105         /** The style property {@code -webkit-transition-timing-function}. */
4106         WEBKIT_TRANSITION_TIMING_FUNCTION__("-webkit-transition-timing-function", "webkit-transition-timing-function",
4107                 ff("ease")),
4108 
4109         /** The style property {@code webkitUserDrag}. */
4110         WEBKIT_USER_DRAG("webkitUserDrag", "webkit-user-drag", chromeAndEdgeAuto()),
4111 
4112         /** The style property {@code webkitUserModify}. */
4113         WEBKIT_USER_MODIFY("webkitUserModify", "webkit-user-modify", chromeAndEdge("read-only")),
4114 
4115         /** The style property {@code webkitUserSelect}. */
4116         WEBKIT_USER_SELECT("webkitUserSelect", "webkit-user-select", chromeAndEdgeAuto(), ff("auto")),
4117 
4118         /** The style property {@code WebkitUserSelect}. */
4119         WEBKIT_USER_SELECT_("WebkitUserSelect", "webkit-user-select", ff("auto")),
4120 
4121         /** The style property {@code -webkit-user-select}. */
4122         WEBKIT_USER_SELECT__("-webkit-user-select", "webkit-user-select", ff("auto")),
4123 
4124         /** The style property {@code webkitWritingMode}. */
4125         WEBKIT_WRITING_MODE("webkitWritingMode", "webkit-writing-mode", chromeAndEdge("horizontal-tb")),
4126 
4127         /** The style property {@code whiteSpace}. */
4128         WHITE_SPACE("whiteSpace", "white-space", chromeAndEdgeNormal(), ffNormal()),
4129 
4130         /** The style property {@code white-space}. */
4131         WHITE_SPACE_("white-space", "white-space", ffNormal()),
4132 
4133         /** The style property {@code whiteSpaceCollapse}. */
4134         WHITE_SPACE_COLLAPSE("whiteSpaceCollapse", "white-space-collapse",
4135                 chromeAndEdge("collapse"), ff("collapse")),
4136 
4137         /** The style property {@code white-space-collapse}. */
4138         WHITE_SPACE_COLLAPSE_("white-space-collapse", "white-space-collapse", ff("collapse")),
4139 
4140         /** The style property {@code widows}. */
4141         WIDOWS("widows", "widows", chromeAndEdge("2")),
4142 
4143         /** The style property {@code width}. */
4144         WIDTH("width", "width", chromeAndEdgeEmpty(), ff("")),
4145 
4146         /** The style property {@code willChange}. */
4147         WILL_CHANGE("willChange", "will-change", ff("auto"), chromeAndEdgeAuto()),
4148 
4149         /** The style property {@code will-change}. */
4150         WILL_CHANGE_("will-change", "will-change", ff("auto")),
4151 
4152         /** The style property {@code wordBreak}. */
4153         WORD_BREAK("wordBreak", "word-break", ffNormal(), chromeAndEdgeNormal()),
4154 
4155         /** The style property {@code word-break}. */
4156         WORD_BREAK_("word-break", "word-break", ffNormal()),
4157 
4158         /** The style property {@code wordSpacing}. */
4159         WORD_SPACING("wordSpacing", "word-spacing", chromeAndEdge("0px"), ff("0px")),
4160 
4161         /** The style property {@code word-spacing}. */
4162         WORD_SPACING_("word-spacing", "word-spacing", ff("0px")),
4163 
4164         /** The style property {@code wordWrap}. */
4165         WORD_WRAP("wordWrap", "word-wrap", chromeAndEdgeNormal(), ffNormal()),
4166 
4167         /** The style property {@code word-wrap}. */
4168         WORD_WRAP_("word-wrap", "word-wrap", ffNormal()),
4169 
4170         /** The style property {@code writingMode}. */
4171         WRITING_MODE("writingMode", "writing-mode", chromeAndEdge("horizontal-tb"),
4172                 ff("horizontal-tb")),
4173 
4174         /** The style property {@code writing-mode}. */
4175         WRITING_MODE_("writing-mode", "writing-mode", ff("horizontal-tb")),
4176 
4177         /** The style property {@code x}. */
4178         X("x", "x", chromeAndEdge("0px"), ff("0px")),
4179 
4180         /** The style property {@code y}. */
4181         Y("y", "y", chromeAndEdge("0px"), ff("0px")),
4182 
4183         /** The style property {@code zIndex}. */
4184         Z_INDEX("zIndex", "z-index", ff("auto"), chromeAndEdgeAuto()),
4185 
4186         /** The style property {@code z-index}. */
4187         Z_INDEX_("z-index", "z-index", ff("auto"), chromeAndEdgeNotIterable("auto")),
4188 
4189         /** The style property {@code zoom}. */
4190         ZOOM("zoom", "zoom", chromeAndEdge("1"), ff("1"));
4191 
4192         private final String propertyName_;
4193         private final String attributeName_;
4194         private final BrowserConfiguration[] browserConfigurations_;
4195 
4196         Definition(final String propertyName, final String attributeName,
4197                 final BrowserConfiguration... browserConfigurations) {
4198             propertyName_ = propertyName;
4199             attributeName_ = attributeName;
4200             browserConfigurations_ = browserConfigurations;
4201         }
4202 
4203         boolean isAvailable(final BrowserVersion browserVersion, final boolean onlyIfIterable) {
4204             if (browserConfigurations_ == null) {
4205                 return true; // defined for all browsers
4206             }
4207 
4208             final BrowserConfiguration config
4209                 = BrowserConfiguration.getMatchingConfiguration(browserVersion, browserConfigurations_);
4210             return config != null && (!onlyIfIterable || config.isIterable());
4211         }
4212 
4213         /**
4214          * Gets the name of the JavaScript property for this attribute.
4215          * @return the name of the JavaScript property
4216          */
4217         public String getPropertyName() {
4218             return propertyName_;
4219         }
4220 
4221         /**
4222          * Gets the name of the style attribute.
4223          * @return the name of the style attribute
4224          */
4225         public String getAttributeName() {
4226             return attributeName_;
4227         }
4228 
4229         /**
4230          * @param browserVersion the browser version
4231          * @return the default value for this attribute
4232          */
4233         public String getDefaultComputedValue(final BrowserVersion browserVersion) {
4234             final BrowserConfiguration config
4235                 = BrowserConfiguration.getMatchingConfiguration(browserVersion, browserConfigurations_);
4236             if (config == null) {
4237                 return "";
4238             }
4239             return config.getDefaultValue();
4240         }
4241     }
4242 }