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