/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */

#ifndef CSSPropertyNames_h
#define CSSPropertyNames_h

#include <string.h>
#include <wtf/HashFunctions.h>
#include <wtf/HashTraits.h>

namespace WTF {
class AtomicString;
class String;
}

namespace WebCore {

enum CSSPropertyID : uint16_t {
    CSSPropertyInvalid = 0,
    CSSPropertyCustom = 1,
    CSSPropertyColor = 2,
    CSSPropertyDirection = 3,
    CSSPropertyDisplay = 4,
    CSSPropertyFontFamily = 5,
    CSSPropertyFontSize = 6,
    CSSPropertyFontStyle = 7,
    CSSPropertyFontWeight = 8,
    CSSPropertyTextRendering = 9,
    CSSPropertyFontFeatureSettings = 10,
    CSSPropertyWebkitFontKerning = 11,
    CSSPropertyWebkitFontSmoothing = 12,
    CSSPropertyFontVariantLigatures = 13,
    CSSPropertyFontVariantPosition = 14,
    CSSPropertyFontVariantCaps = 15,
    CSSPropertyFontVariantNumeric = 16,
    CSSPropertyFontVariantAlternates = 17,
    CSSPropertyFontVariantEastAsian = 18,
    CSSPropertyWebkitLocale = 19,
    CSSPropertyWebkitTextOrientation = 20,
    CSSPropertyWebkitWritingMode = 21,
    CSSPropertyWebkitTextZoom = 22,
    CSSPropertyZoom = 23,
    CSSPropertyFontSynthesis = 24,
    CSSPropertyWebkitRubyPosition = 25,
    CSSPropertyAlignmentBaseline = 26,
    CSSPropertyAll = 27,
    CSSPropertyAnimation = 28,
    CSSPropertyAnimationDelay = 29,
    CSSPropertyAnimationDirection = 30,
    CSSPropertyAnimationDuration = 31,
    CSSPropertyAnimationFillMode = 32,
    CSSPropertyAnimationIterationCount = 33,
    CSSPropertyAnimationName = 34,
    CSSPropertyAnimationPlayState = 35,
    CSSPropertyAnimationTimingFunction = 36,
    CSSPropertyBackground = 37,
    CSSPropertyBackgroundAttachment = 38,
    CSSPropertyBackgroundBlendMode = 39,
    CSSPropertyBackgroundClip = 40,
    CSSPropertyBackgroundColor = 41,
    CSSPropertyBackgroundImage = 42,
    CSSPropertyBackgroundOrigin = 43,
    CSSPropertyBackgroundPosition = 44,
    CSSPropertyBackgroundPositionX = 45,
    CSSPropertyBackgroundPositionY = 46,
    CSSPropertyBackgroundRepeat = 47,
    CSSPropertyBackgroundRepeatX = 48,
    CSSPropertyBackgroundRepeatY = 49,
    CSSPropertyBackgroundSize = 50,
    CSSPropertyBaselineShift = 51,
    CSSPropertyBorder = 52,
    CSSPropertyBorderBottom = 53,
    CSSPropertyBorderBottomColor = 54,
    CSSPropertyBorderBottomLeftRadius = 55,
    CSSPropertyBorderBottomRightRadius = 56,
    CSSPropertyBorderBottomStyle = 57,
    CSSPropertyBorderBottomWidth = 58,
    CSSPropertyBorderCollapse = 59,
    CSSPropertyBorderColor = 60,
    CSSPropertyBorderImage = 61,
    CSSPropertyBorderImageOutset = 62,
    CSSPropertyBorderImageRepeat = 63,
    CSSPropertyBorderImageSlice = 64,
    CSSPropertyBorderImageSource = 65,
    CSSPropertyBorderImageWidth = 66,
    CSSPropertyBorderLeft = 67,
    CSSPropertyBorderLeftColor = 68,
    CSSPropertyBorderLeftStyle = 69,
    CSSPropertyBorderLeftWidth = 70,
    CSSPropertyBorderRadius = 71,
    CSSPropertyBorderRight = 72,
    CSSPropertyBorderRightColor = 73,
    CSSPropertyBorderRightStyle = 74,
    CSSPropertyBorderRightWidth = 75,
    CSSPropertyBorderSpacing = 76,
    CSSPropertyBorderStyle = 77,
    CSSPropertyBorderTop = 78,
    CSSPropertyBorderTopColor = 79,
    CSSPropertyBorderTopLeftRadius = 80,
    CSSPropertyBorderTopRightRadius = 81,
    CSSPropertyBorderTopStyle = 82,
    CSSPropertyBorderTopWidth = 83,
    CSSPropertyBorderWidth = 84,
    CSSPropertyBottom = 85,
    CSSPropertyBoxShadow = 86,
    CSSPropertyBoxSizing = 87,
    CSSPropertyBreakAfter = 88,
    CSSPropertyBreakBefore = 89,
    CSSPropertyBreakInside = 90,
    CSSPropertyBufferedRendering = 91,
    CSSPropertyCaptionSide = 92,
    CSSPropertyClear = 93,
    CSSPropertyClip = 94,
    CSSPropertyWebkitClipPath = 95,
    CSSPropertyClipPath = 96,
    CSSPropertyClipRule = 97,
    CSSPropertyColorInterpolation = 98,
    CSSPropertyColorInterpolationFilters = 99,
    CSSPropertyColorProfile = 100,
    CSSPropertyColorRendering = 101,
    CSSPropertyContent = 102,
    CSSPropertyCounterIncrement = 103,
    CSSPropertyCounterReset = 104,
    CSSPropertyCursor = 105,
    CSSPropertyWebkitCursorVisibility = 106,
    CSSPropertyCx = 107,
    CSSPropertyCy = 108,
    CSSPropertyDominantBaseline = 109,
    CSSPropertyEmptyCells = 110,
    CSSPropertyEnableBackground = 111,
    CSSPropertyFill = 112,
    CSSPropertyFillOpacity = 113,
    CSSPropertyFillRule = 114,
    CSSPropertyFloat = 115,
    CSSPropertyFloodColor = 116,
    CSSPropertyFloodOpacity = 117,
    CSSPropertyFont = 118,
    CSSPropertyFontVariant = 119,
    CSSPropertyFontStretch = 120,
    CSSPropertyGlyphOrientationHorizontal = 121,
    CSSPropertyGlyphOrientationVertical = 122,
    CSSPropertyHangingPunctuation = 123,
    CSSPropertyHeight = 124,
    CSSPropertyImageRendering = 125,
    CSSPropertyKerning = 126,
    CSSPropertyLeft = 127,
    CSSPropertyLetterSpacing = 128,
    CSSPropertyLightingColor = 129,
    CSSPropertyLineHeight = 130,
    CSSPropertyListStyle = 131,
    CSSPropertyListStyleImage = 132,
    CSSPropertyListStylePosition = 133,
    CSSPropertyListStyleType = 134,
    CSSPropertyMargin = 135,
    CSSPropertyMarginBottom = 136,
    CSSPropertyMarginLeft = 137,
    CSSPropertyMarginRight = 138,
    CSSPropertyMarginTop = 139,
    CSSPropertyMarker = 140,
    CSSPropertyMarkerEnd = 141,
    CSSPropertyMarkerMid = 142,
    CSSPropertyMarkerStart = 143,
    CSSPropertyMask = 144,
    CSSPropertyMaskType = 145,
    CSSPropertyMaxHeight = 146,
    CSSPropertyMaxWidth = 147,
    CSSPropertyMinHeight = 148,
    CSSPropertyMinWidth = 149,
    CSSPropertyObjectFit = 150,
    CSSPropertyObjectPosition = 151,
    CSSPropertyOpacity = 152,
    CSSPropertyOrphans = 153,
    CSSPropertyOutline = 154,
    CSSPropertyOutlineColor = 155,
    CSSPropertyOutlineOffset = 156,
    CSSPropertyOutlineStyle = 157,
    CSSPropertyOutlineWidth = 158,
    CSSPropertyOverflow = 159,
    CSSPropertyOverflowWrap = 160,
    CSSPropertyOverflowX = 161,
    CSSPropertyOverflowY = 162,
    CSSPropertyPadding = 163,
    CSSPropertyPaddingBottom = 164,
    CSSPropertyPaddingLeft = 165,
    CSSPropertyPaddingRight = 166,
    CSSPropertyPaddingTop = 167,
    CSSPropertyPage = 168,
    CSSPropertyPageBreakAfter = 169,
    CSSPropertyPageBreakBefore = 170,
    CSSPropertyPageBreakInside = 171,
    CSSPropertyPaintOrder = 172,
    CSSPropertyPointerEvents = 173,
    CSSPropertyPosition = 174,
    CSSPropertyQuotes = 175,
    CSSPropertyR = 176,
    CSSPropertyResize = 177,
    CSSPropertyRight = 178,
    CSSPropertyRx = 179,
    CSSPropertyRy = 180,
    CSSPropertyShapeRendering = 181,
    CSSPropertySize = 182,
    CSSPropertySrc = 183,
    CSSPropertyStopColor = 184,
    CSSPropertyStopOpacity = 185,
    CSSPropertyStroke = 186,
    CSSPropertyStrokeDasharray = 187,
    CSSPropertyStrokeDashoffset = 188,
    CSSPropertyStrokeLinecap = 189,
    CSSPropertyStrokeLinejoin = 190,
    CSSPropertyStrokeMiterlimit = 191,
    CSSPropertyStrokeOpacity = 192,
    CSSPropertyStrokeWidth = 193,
    CSSPropertySpeak = 194,
    CSSPropertyTableLayout = 195,
    CSSPropertyTabSize = 196,
    CSSPropertyTextAlign = 197,
    CSSPropertyTextAnchor = 198,
    CSSPropertyTextDecoration = 199,
    CSSPropertyTextIndent = 200,
    CSSPropertyTextLineThrough = 201,
    CSSPropertyTextLineThroughColor = 202,
    CSSPropertyTextLineThroughMode = 203,
    CSSPropertyTextLineThroughStyle = 204,
    CSSPropertyTextLineThroughWidth = 205,
    CSSPropertyTextOverflow = 206,
    CSSPropertyTextOverline = 207,
    CSSPropertyTextOverlineColor = 208,
    CSSPropertyTextOverlineMode = 209,
    CSSPropertyTextOverlineStyle = 210,
    CSSPropertyTextOverlineWidth = 211,
    CSSPropertyTextShadow = 212,
    CSSPropertyTextTransform = 213,
    CSSPropertyTextUnderline = 214,
    CSSPropertyTextUnderlineColor = 215,
    CSSPropertyTextUnderlineMode = 216,
    CSSPropertyTextUnderlineStyle = 217,
    CSSPropertyTextUnderlineWidth = 218,
    CSSPropertyTop = 219,
    CSSPropertyTransition = 220,
    CSSPropertyTransitionDelay = 221,
    CSSPropertyTransitionDuration = 222,
    CSSPropertyTransitionProperty = 223,
    CSSPropertyTransitionTimingFunction = 224,
    CSSPropertyUnicodeBidi = 225,
    CSSPropertyUnicodeRange = 226,
    CSSPropertyVectorEffect = 227,
    CSSPropertyVerticalAlign = 228,
    CSSPropertyVisibility = 229,
    CSSPropertyWhiteSpace = 230,
    CSSPropertyWidows = 231,
    CSSPropertyWidth = 232,
    CSSPropertyWillChange = 233,
    CSSPropertyWordBreak = 234,
    CSSPropertyWordSpacing = 235,
    CSSPropertyWordWrap = 236,
    CSSPropertyWritingMode = 237,
    CSSPropertyX = 238,
    CSSPropertyY = 239,
    CSSPropertyZIndex = 240,
    CSSPropertyAlt = 241,
    CSSPropertyWebkitAppearance = 242,
    CSSPropertyWebkitAspectRatio = 243,
    CSSPropertyWebkitBackfaceVisibility = 244,
    CSSPropertyWebkitBackgroundClip = 245,
    CSSPropertyWebkitBackgroundComposite = 246,
    CSSPropertyWebkitBackgroundOrigin = 247,
    CSSPropertyWebkitBackgroundSize = 248,
    CSSPropertyWebkitBorderAfter = 249,
    CSSPropertyWebkitBorderAfterColor = 250,
    CSSPropertyWebkitBorderAfterStyle = 251,
    CSSPropertyWebkitBorderAfterWidth = 252,
    CSSPropertyWebkitBorderBefore = 253,
    CSSPropertyWebkitBorderBeforeColor = 254,
    CSSPropertyWebkitBorderBeforeStyle = 255,
    CSSPropertyWebkitBorderBeforeWidth = 256,
    CSSPropertyWebkitBorderEnd = 257,
    CSSPropertyWebkitBorderEndColor = 258,
    CSSPropertyWebkitBorderEndStyle = 259,
    CSSPropertyWebkitBorderEndWidth = 260,
    CSSPropertyWebkitBorderFit = 261,
    CSSPropertyWebkitBorderHorizontalSpacing = 262,
    CSSPropertyWebkitBorderImage = 263,
    CSSPropertyWebkitBorderRadius = 264,
    CSSPropertyWebkitBorderStart = 265,
    CSSPropertyWebkitBorderStartColor = 266,
    CSSPropertyWebkitBorderStartStyle = 267,
    CSSPropertyWebkitBorderStartWidth = 268,
    CSSPropertyWebkitBorderVerticalSpacing = 269,
    CSSPropertyWebkitBoxAlign = 270,
    CSSPropertyWebkitBoxDirection = 271,
    CSSPropertyWebkitBoxFlex = 272,
    CSSPropertyWebkitBoxFlexGroup = 273,
    CSSPropertyWebkitBoxLines = 274,
    CSSPropertyWebkitBoxOrdinalGroup = 275,
    CSSPropertyWebkitBoxOrient = 276,
    CSSPropertyWebkitBoxPack = 277,
    CSSPropertyWebkitBoxReflect = 278,
    CSSPropertyWebkitBoxShadow = 279,
    CSSPropertyWebkitColumnAxis = 280,
    CSSPropertyWebkitColumnBreakAfter = 281,
    CSSPropertyWebkitColumnBreakBefore = 282,
    CSSPropertyWebkitColumnBreakInside = 283,
    CSSPropertyColumnCount = 284,
    CSSPropertyColumnFill = 285,
    CSSPropertyColumnGap = 286,
    CSSPropertyColumnProgression = 287,
    CSSPropertyColumnRule = 288,
    CSSPropertyColumnRuleColor = 289,
    CSSPropertyColumnRuleStyle = 290,
    CSSPropertyColumnRuleWidth = 291,
    CSSPropertyColumnSpan = 292,
    CSSPropertyColumnWidth = 293,
    CSSPropertyColumns = 294,
    CSSPropertyWebkitBoxDecorationBreak = 295,
    CSSPropertyFilter = 296,
    CSSPropertyAlignContent = 297,
    CSSPropertyAlignItems = 298,
    CSSPropertyAlignSelf = 299,
    CSSPropertyFlex = 300,
    CSSPropertyFlexBasis = 301,
    CSSPropertyFlexDirection = 302,
    CSSPropertyFlexFlow = 303,
    CSSPropertyFlexGrow = 304,
    CSSPropertyFlexShrink = 305,
    CSSPropertyFlexWrap = 306,
    CSSPropertyJustifyContent = 307,
    CSSPropertyWebkitBackdropFilter = 308,
    CSSPropertyWebkitFontSizeDelta = 309,
    CSSPropertyJustifySelf = 310,
    CSSPropertyJustifyItems = 311,
    CSSPropertyGrid = 312,
    CSSPropertyGridArea = 313,
    CSSPropertyGridAutoColumns = 314,
    CSSPropertyGridAutoRows = 315,
    CSSPropertyGridColumnEnd = 316,
    CSSPropertyGridColumnGap = 317,
    CSSPropertyGridColumnStart = 318,
    CSSPropertyGridTemplate = 319,
    CSSPropertyGridTemplateColumns = 320,
    CSSPropertyGridTemplateRows = 321,
    CSSPropertyGridRowEnd = 322,
    CSSPropertyGridRowGap = 323,
    CSSPropertyGridRowStart = 324,
    CSSPropertyGridColumn = 325,
    CSSPropertyGridGap = 326,
    CSSPropertyGridRow = 327,
    CSSPropertyGridTemplateAreas = 328,
    CSSPropertyGridAutoFlow = 329,
    CSSPropertyWebkitHyphenateCharacter = 330,
    CSSPropertyWebkitHyphenateLimitAfter = 331,
    CSSPropertyWebkitHyphenateLimitBefore = 332,
    CSSPropertyWebkitHyphenateLimitLines = 333,
    CSSPropertyWebkitHyphens = 334,
    CSSPropertyWebkitInitialLetter = 335,
    CSSPropertyWebkitLineBoxContain = 336,
    CSSPropertyWebkitLineAlign = 337,
    CSSPropertyWebkitLineBreak = 338,
    CSSPropertyWebkitLineClamp = 339,
    CSSPropertyWebkitLineGrid = 340,
    CSSPropertyWebkitLineSnap = 341,
    CSSPropertyWebkitLogicalWidth = 342,
    CSSPropertyWebkitLogicalHeight = 343,
    CSSPropertyWebkitMarginAfterCollapse = 344,
    CSSPropertyWebkitMarginBeforeCollapse = 345,
    CSSPropertyWebkitMarginBottomCollapse = 346,
    CSSPropertyWebkitMarginTopCollapse = 347,
    CSSPropertyWebkitMarginCollapse = 348,
    CSSPropertyWebkitMarginAfter = 349,
    CSSPropertyWebkitMarginBefore = 350,
    CSSPropertyWebkitMarginEnd = 351,
    CSSPropertyWebkitMarginStart = 352,
    CSSPropertyWebkitMarquee = 353,
    CSSPropertyWebkitMarqueeDirection = 354,
    CSSPropertyWebkitMarqueeIncrement = 355,
    CSSPropertyWebkitMarqueeRepetition = 356,
    CSSPropertyWebkitMarqueeSpeed = 357,
    CSSPropertyWebkitMarqueeStyle = 358,
    CSSPropertyWebkitMask = 359,
    CSSPropertyWebkitMaskBoxImage = 360,
    CSSPropertyWebkitMaskBoxImageOutset = 361,
    CSSPropertyWebkitMaskBoxImageRepeat = 362,
    CSSPropertyWebkitMaskBoxImageSlice = 363,
    CSSPropertyWebkitMaskBoxImageSource = 364,
    CSSPropertyWebkitMaskBoxImageWidth = 365,
    CSSPropertyWebkitMaskClip = 366,
    CSSPropertyWebkitMaskComposite = 367,
    CSSPropertyWebkitMaskImage = 368,
    CSSPropertyWebkitMaskOrigin = 369,
    CSSPropertyWebkitMaskPosition = 370,
    CSSPropertyWebkitMaskPositionX = 371,
    CSSPropertyWebkitMaskPositionY = 372,
    CSSPropertyWebkitMaskRepeat = 373,
    CSSPropertyWebkitMaskRepeatX = 374,
    CSSPropertyWebkitMaskRepeatY = 375,
    CSSPropertyWebkitMaskSize = 376,
    CSSPropertyWebkitMaskSourceType = 377,
    CSSPropertyWebkitMaxLogicalWidth = 378,
    CSSPropertyWebkitMaxLogicalHeight = 379,
    CSSPropertyWebkitMinLogicalWidth = 380,
    CSSPropertyWebkitMinLogicalHeight = 381,
    CSSPropertyWebkitNbspMode = 382,
    CSSPropertyOrder = 383,
    CSSPropertyWebkitPaddingAfter = 384,
    CSSPropertyWebkitPaddingBefore = 385,
    CSSPropertyWebkitPaddingEnd = 386,
    CSSPropertyWebkitPaddingStart = 387,
    CSSPropertyPerspective = 388,
    CSSPropertyPerspectiveOrigin = 389,
    CSSPropertyPerspectiveOriginX = 390,
    CSSPropertyPerspectiveOriginY = 391,
    CSSPropertyWebkitPrintColorAdjust = 392,
    CSSPropertyWebkitRtlOrdering = 393,
    CSSPropertyWebkitSvgShadow = 394,
    CSSPropertyWebkitTextCombine = 395,
    CSSPropertyWebkitTextDecoration = 396,
    CSSPropertyWebkitTextDecorationLine = 397,
    CSSPropertyWebkitTextDecorationStyle = 398,
    CSSPropertyWebkitTextDecorationColor = 399,
    CSSPropertyWebkitTextDecorationSkip = 400,
    CSSPropertyWebkitTextUnderlinePosition = 401,
    CSSPropertyWebkitTextDecorationsInEffect = 402,
    CSSPropertyWebkitTextEmphasis = 403,
    CSSPropertyWebkitTextEmphasisColor = 404,
    CSSPropertyWebkitTextEmphasisPosition = 405,
    CSSPropertyWebkitTextEmphasisStyle = 406,
    CSSPropertyWebkitTextFillColor = 407,
    CSSPropertyWebkitTextSecurity = 408,
    CSSPropertyWebkitTextStroke = 409,
    CSSPropertyWebkitTextStrokeColor = 410,
    CSSPropertyWebkitTextStrokeWidth = 411,
    CSSPropertyTransform = 412,
    CSSPropertyTransformOrigin = 413,
    CSSPropertyTransformOriginX = 414,
    CSSPropertyTransformOriginY = 415,
    CSSPropertyTransformOriginZ = 416,
    CSSPropertyTransformStyle = 417,
    CSSPropertyWebkitTransformStyle = 418,
    CSSPropertyWebkitUserDrag = 419,
    CSSPropertyWebkitUserModify = 420,
    CSSPropertyWebkitUserSelect = 421,
    CSSPropertyWebkitFlowInto = 422,
    CSSPropertyWebkitFlowFrom = 423,
    CSSPropertyWebkitRegionFragment = 424,
    CSSPropertyWebkitRegionBreakAfter = 425,
    CSSPropertyWebkitRegionBreakBefore = 426,
    CSSPropertyWebkitRegionBreakInside = 427,
    CSSPropertyWebkitShapeOutside = 428,
    CSSPropertyWebkitShapeMargin = 429,
    CSSPropertyWebkitShapeImageThreshold = 430,
    CSSPropertyWebkitDashboardRegion = 431,
};

const int firstCSSProperty = 2;
const int numCSSProperties = 430;
const int lastCSSProperty = 431;
const size_t maxCSSPropertyNameLength = 34;

const char* getPropertyName(CSSPropertyID);
const WTF::AtomicString& getPropertyNameAtomicString(CSSPropertyID id);
WTF::String getPropertyNameString(CSSPropertyID id);
WTF::String getJSPropertyName(CSSPropertyID);

inline CSSPropertyID convertToCSSPropertyID(int value)
{
    ASSERT((value >= firstCSSProperty && value <= lastCSSProperty) || value == CSSPropertyInvalid || value == CSSPropertyCustom);
    return static_cast<CSSPropertyID>(value);
}

} // namespace WebCore

namespace WTF {
template<> struct DefaultHash<WebCore::CSSPropertyID> { typedef IntHash<unsigned> Hash; };
template<> struct HashTraits<WebCore::CSSPropertyID> : GenericHashTraits<WebCore::CSSPropertyID> {
    static const bool emptyValueIsZero = true;
    static const bool needsDestruction = false;
    static void constructDeletedValue(WebCore::CSSPropertyID& slot) { slot = static_cast<WebCore::CSSPropertyID>(WebCore::lastCSSProperty + 1); }
    static bool isDeletedValue(WebCore::CSSPropertyID value) { return value == (WebCore::lastCSSProperty + 1); }
};
}

#endif // CSSPropertyNames_h

