--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/DerivedSources/WebCore/CSSPropertyNames.c Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,774 @@
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -a -L ANSI-C -E -C -c -o -t -k '*' -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 CSSPropertyNames.gperf */
+/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
+#include "CSSPropertyNames.h"
+struct props {
+ const char* name;
+ int id;
+};
+/* maximum key range = 1712, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+hash_prop (register const char *str, register unsigned int len)
+{
+ static const unsigned short asso_values[] =
+ {
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 0, 1715, 1715, 1715, 1715,
+ 1715, 0, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 30, 0, 0,
+ 285, 0, 305, 50, 180, 0, 0, 340, 0, 180,
+ 75, 0, 0, 40, 0, 20, 0, 65, 10, 0,
+ 245, 315, 5, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715, 1715,
+ 1715, 1715, 1715, 1715, 1715, 1715
+ };
+ register int hval = len;
+
+ switch (hval)
+ {
+ default:
+ case 43:
+ hval += asso_values[(unsigned char)str[42]];
+ case 42:
+ hval += asso_values[(unsigned char)str[41]];
+ case 41:
+ hval += asso_values[(unsigned char)str[40]];
+ case 40:
+ hval += asso_values[(unsigned char)str[39]];
+ case 39:
+ hval += asso_values[(unsigned char)str[38]];
+ case 38:
+ hval += asso_values[(unsigned char)str[37]];
+ case 37:
+ hval += asso_values[(unsigned char)str[36]];
+ case 36:
+ hval += asso_values[(unsigned char)str[35]];
+ case 35:
+ hval += asso_values[(unsigned char)str[34]];
+ case 34:
+ hval += asso_values[(unsigned char)str[33]];
+ case 33:
+ hval += asso_values[(unsigned char)str[32]];
+ case 32:
+ hval += asso_values[(unsigned char)str[31]];
+ case 31:
+ hval += asso_values[(unsigned char)str[30]];
+ case 30:
+ hval += asso_values[(unsigned char)str[29]];
+ case 29:
+ hval += asso_values[(unsigned char)str[28]];
+ case 28:
+ hval += asso_values[(unsigned char)str[27]];
+ case 27:
+ hval += asso_values[(unsigned char)str[26]];
+ case 26:
+ hval += asso_values[(unsigned char)str[25]];
+ case 25:
+ hval += asso_values[(unsigned char)str[24]];
+ case 24:
+ hval += asso_values[(unsigned char)str[23]];
+ case 23:
+ hval += asso_values[(unsigned char)str[22]];
+ case 22:
+ hval += asso_values[(unsigned char)str[21]];
+ case 21:
+ hval += asso_values[(unsigned char)str[20]];
+ case 20:
+ hval += asso_values[(unsigned char)str[19]];
+ case 19:
+ hval += asso_values[(unsigned char)str[18]];
+ case 18:
+ hval += asso_values[(unsigned char)str[17]];
+ case 17:
+ hval += asso_values[(unsigned char)str[16]];
+ case 16:
+ hval += asso_values[(unsigned char)str[15]];
+ case 15:
+ hval += asso_values[(unsigned char)str[14]];
+ case 14:
+ hval += asso_values[(unsigned char)str[13]];
+ case 13:
+ hval += asso_values[(unsigned char)str[12]];
+ case 12:
+ hval += asso_values[(unsigned char)str[11]];
+ case 11:
+ hval += asso_values[(unsigned char)str[10]];
+ case 10:
+ hval += asso_values[(unsigned char)str[9]];
+ case 9:
+ hval += asso_values[(unsigned char)str[8]];
+ case 8:
+ hval += asso_values[(unsigned char)str[7]];
+ case 7:
+ hval += asso_values[(unsigned char)str[6]];
+ case 6:
+ hval += asso_values[(unsigned char)str[5]];
+ case 5:
+ hval += asso_values[(unsigned char)str[4]];
+ case 4:
+ hval += asso_values[(unsigned char)str[3]];
+ case 3:
+ hval += asso_values[(unsigned char)str[2]];
+ case 2:
+ hval += asso_values[(unsigned char)str[1]];
+ case 1:
+ hval += asso_values[(unsigned char)str[0]];
+ break;
+ }
+ return hval;
+}
+
+#ifdef __GNUC__
+__inline
+#endif
+const struct props *
+findProp (register const char *str, register unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 202,
+ MIN_WORD_LENGTH = 3,
+ MAX_WORD_LENGTH = 43,
+ MIN_HASH_VALUE = 3,
+ MAX_HASH_VALUE = 1714
+ };
+
+ static const struct props wordlist_prop[] =
+ {
+ {"top", CSS_PROP_TOP},
+ {"clip", CSS_PROP_CLIP},
+ {"color", CSS_PROP_COLOR},
+ {"size", CSS_PROP_SIZE},
+ {"resize", CSS_PROP_RESIZE},
+ {"clear", CSS_PROP_CLEAR},
+ {"page", CSS_PROP_PAGE},
+ {"cursor", CSS_PROP_CURSOR},
+ {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
+ {"position", CSS_PROP_POSITION},
+ {"quotes", CSS_PROP_QUOTES},
+ {"outline", CSS_PROP_OUTLINE},
+ {"outline-color", CSS_PROP_OUTLINE_COLOR},
+ {"content", CSS_PROP_CONTENT},
+ {"counter-reset", CSS_PROP_COUNTER_RESET},
+ {"bottom", CSS_PROP_BOTTOM},
+ {"letter-spacing", CSS_PROP_LETTER_SPACING},
+ {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+ {"right", CSS_PROP_RIGHT},
+ {"white-space", CSS_PROP_WHITE_SPACE},
+ {"border", CSS_PROP_BORDER},
+ {"border-top", CSS_PROP_BORDER_TOP},
+ {"border-color", CSS_PROP_BORDER_COLOR},
+ {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+ {"left", CSS_PROP_LEFT},
+ {"widows", CSS_PROP_WIDOWS},
+ {"orphans", CSS_PROP_ORPHANS},
+ {"overflow", CSS_PROP_OVERFLOW},
+ {"word-wrap", CSS_PROP_WORD_WRAP},
+ {"float", CSS_PROP_FLOAT},
+ {"margin", CSS_PROP_MARGIN},
+ {"text-overline", CSS_PROP_TEXT_OVERLINE},
+ {"margin-top", CSS_PROP_MARGIN_TOP},
+ {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
+ {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
+ {"opacity", CSS_PROP_OPACITY},
+ {"visibility", CSS_PROP_VISIBILITY},
+ {"-wap-marquee-loop", CSS_PROP__WAP_MARQUEE_LOOP},
+ {"list-style", CSS_PROP_LIST_STYLE},
+ {"direction", CSS_PROP_DIRECTION},
+ {"font", CSS_PROP_FONT},
+ {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+ {"text-align", CSS_PROP_TEXT_ALIGN},
+ {"font-size", CSS_PROP_FONT_SIZE},
+ {"height", CSS_PROP_HEIGHT},
+ {"caption-side", CSS_PROP_CAPTION_SIDE},
+ {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
+ {"table-layout", CSS_PROP_TABLE_LAYOUT},
+ {"-webkit-user-select", CSS_PROP__WEBKIT_USER_SELECT},
+ {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+ {"width", CSS_PROP_WIDTH},
+ {"word-spacing", CSS_PROP_WORD_SPACING},
+ {"border-spacing", CSS_PROP_BORDER_SPACING},
+ {"border-bottom", CSS_PROP_BORDER_BOTTOM},
+ {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
+ {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
+ {"outline-style", CSS_PROP_OUTLINE_STYLE},
+ {"line-height", CSS_PROP_LINE_HEIGHT},
+ {"-webkit-appearance", CSS_PROP__WEBKIT_APPEARANCE},
+ {"empty-cells", CSS_PROP_EMPTY_CELLS},
+ {"border-right", CSS_PROP_BORDER_RIGHT},
+ {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+ {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
+ {"font-variant", CSS_PROP_FONT_VARIANT},
+ {"overflow-x", CSS_PROP_OVERFLOW_X},
+ {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
+ {"margin-right", CSS_PROP_MARGIN_RIGHT},
+ {"-wap-input-required", CSS_PROP__WAP_INPUT_REQUIRED},
+ {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
+ {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
+ {"font-stretch", CSS_PROP_FONT_STRETCH},
+ {"border-left", CSS_PROP_BORDER_LEFT},
+ {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+ {"z-index", CSS_PROP_Z_INDEX},
+ {"outline-width", CSS_PROP_OUTLINE_WIDTH},
+ {"font-weight", CSS_PROP_FONT_WEIGHT},
+ {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+ {"border-style", CSS_PROP_BORDER_STYLE},
+ {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
+ {"overflow-y", CSS_PROP_OVERFLOW_Y},
+ {"-webkit-line-clamp", CSS_PROP__WEBKIT_LINE_CLAMP},
+ {"-wap-marquee-dir", CSS_PROP__WAP_MARQUEE_DIR},
+ {"text-decoration", CSS_PROP_TEXT_DECORATION},
+ {"margin-left", CSS_PROP_MARGIN_LEFT},
+ {"display", CSS_PROP_DISPLAY},
+ {"word-break", CSS_PROP_WORD_BREAK},
+ {"-wap-marquee-speed", CSS_PROP__WAP_MARQUEE_SPEED},
+ {"-webkit-marquee", CSS_PROP__WEBKIT_MARQUEE},
+ {"min-height", CSS_PROP_MIN_HEIGHT},
+ {"-webkit-box-orient", CSS_PROP__WEBKIT_BOX_ORIENT},
+ {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
+ {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+ {"text-indent", CSS_PROP_TEXT_INDENT},
+ {"-webkit-columns", CSS_PROP__WEBKIT_COLUMNS},
+ {"-webkit-box-lines", CSS_PROP__WEBKIT_BOX_LINES},
+ {"-wap-marquee-style", CSS_PROP__WAP_MARQUEE_STYLE},
+ {"-wap-input-format", CSS_PROP__WAP_INPUT_FORMAT},
+ {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
+ {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+ {"font-style", CSS_PROP_FONT_STYLE},
+ {"min-width", CSS_PROP_MIN_WIDTH},
+ {"padding", CSS_PROP_PADDING},
+ {"padding-top", CSS_PROP_PADDING_TOP},
+ {"-webkit-column-rule", CSS_PROP__WEBKIT_COLUMN_RULE},
+ {"-webkit-margin-start", CSS_PROP__WEBKIT_MARGIN_START},
+ {"-webkit-margin-collapse", CSS_PROP__WEBKIT_MARGIN_COLLAPSE},
+ {"-webkit-column-rule-color", CSS_PROP__WEBKIT_COLUMN_RULE_COLOR},
+ {"-webkit-margin-top-collapse", CSS_PROP__WEBKIT_MARGIN_TOP_COLLAPSE},
+ {"-webkit-box-sizing", CSS_PROP__WEBKIT_BOX_SIZING},
+ {"-webkit-marquee-repetition", CSS_PROP__WEBKIT_MARQUEE_REPETITION},
+ {"-webkit-box-align", CSS_PROP__WEBKIT_BOX_ALIGN},
+ {"-webkit-column-gap", CSS_PROP__WEBKIT_COLUMN_GAP},
+ {"text-underline", CSS_PROP_TEXT_UNDERLINE},
+ {"border-width", CSS_PROP_BORDER_WIDTH},
+ {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
+ {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
+ {"-webkit-rtl-ordering", CSS_PROP__WEBKIT_RTL_ORDERING},
+ {"text-shadow", CSS_PROP_TEXT_SHADOW},
+ {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
+ {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
+ {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+ {"-webkit-line-break", CSS_PROP__WEBKIT_LINE_BREAK},
+ {"-webkit-user-drag", CSS_PROP__WEBKIT_USER_DRAG},
+ {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
+ {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
+ {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
+ {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
+ {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
+ {"-webkit-column-count", CSS_PROP__WEBKIT_COLUMN_COUNT},
+ {"-webkit-binding", CSS_PROP__WEBKIT_BINDING},
+ {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
+ {"background", CSS_PROP_BACKGROUND},
+ {"background-color", CSS_PROP_BACKGROUND_COLOR},
+ {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
+ {"text-transform", CSS_PROP_TEXT_TRANSFORM},
+ {"-webkit-border-vertical-spacing", CSS_PROP__WEBKIT_BORDER_VERTICAL_SPACING},
+ {"max-height", CSS_PROP_MAX_HEIGHT},
+ {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
+ {"-webkit-border-image", CSS_PROP__WEBKIT_BORDER_IMAGE},
+ {"-webkit-text-fill-color", CSS_PROP__WEBKIT_TEXT_FILL_COLOR},
+ {"-webkit-nbsp-mode", CSS_PROP__WEBKIT_NBSP_MODE},
+ {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
+ {"max-width", CSS_PROP_MAX_WIDTH},
+ {"-webkit-margin-bottom-collapse", CSS_PROP__WEBKIT_MARGIN_BOTTOM_COLLAPSE},
+ {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+ {"-webkit-border-fit", CSS_PROP__WEBKIT_BORDER_FIT},
+ {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
+ {"background-position", CSS_PROP_BACKGROUND_POSITION},
+ {"-webkit-text-stroke", CSS_PROP__WEBKIT_TEXT_STROKE},
+ {"-webkit-box-direction", CSS_PROP__WEBKIT_BOX_DIRECTION},
+ {"padding-right", CSS_PROP_PADDING_RIGHT},
+ {"-webkit-text-stroke-color", CSS_PROP__WEBKIT_TEXT_STROKE_COLOR},
+ {"-webkit-box-pack", CSS_PROP__WEBKIT_BOX_PACK},
+ {"-webkit-marquee-speed", CSS_PROP__WEBKIT_MARQUEE_SPEED},
+ {"-webkit-highlight", CSS_PROP__WEBKIT_HIGHLIGHT},
+ {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
+ {"-webkit-text-security", CSS_PROP__WEBKIT_TEXT_SECURITY},
+ {"-webkit-marquee-increment", CSS_PROP__WEBKIT_MARQUEE_INCREMENT},
+ {"-webkit-marquee-style", CSS_PROP__WEBKIT_MARQUEE_STYLE},
+ {"-webkit-text-size-adjust", CSS_PROP__WEBKIT_TEXT_SIZE_ADJUST},
+ {"-webkit-marquee-direction", CSS_PROP__WEBKIT_MARQUEE_DIRECTION},
+ {"padding-left", CSS_PROP_PADDING_LEFT},
+ {"-webkit-border-radius", CSS_PROP__WEBKIT_BORDER_RADIUS},
+ {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+ {"-webkit-font-size-delta", CSS_PROP__WEBKIT_FONT_SIZE_DELTA},
+ {"-webkit-column-rule-style", CSS_PROP__WEBKIT_COLUMN_RULE_STYLE},
+ {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
+ {"-webkit-box-ordinal-group", CSS_PROP__WEBKIT_BOX_ORDINAL_GROUP},
+ {"-webkit-box-shadow", CSS_PROP__WEBKIT_BOX_SHADOW},
+ {"background-image", CSS_PROP_BACKGROUND_IMAGE},
+ {"-webkit-border-horizontal-spacing", CSS_PROP__WEBKIT_BORDER_HORIZONTAL_SPACING},
+ {"-webkit-padding-start", CSS_PROP__WEBKIT_PADDING_START},
+ {"-webkit-column-width", CSS_PROP__WEBKIT_COLUMN_WIDTH},
+ {"-webkit-box-flex", CSS_PROP__WEBKIT_BOX_FLEX},
+ {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
+ {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
+ {"-webkit-background-clip", CSS_PROP__WEBKIT_BACKGROUND_CLIP},
+ {"-webkit-column-rule-width", CSS_PROP__WEBKIT_COLUMN_RULE_WIDTH},
+ {"font-family", CSS_PROP_FONT_FAMILY},
+ {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
+ {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
+ {"-webkit-background-size", CSS_PROP__WEBKIT_BACKGROUND_SIZE},
+ {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
+ {"-webkit-box-flex-group", CSS_PROP__WEBKIT_BOX_FLEX_GROUP},
+ {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
+ {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+ {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
+ {"-webkit-border-top-right-radius", CSS_PROP__WEBKIT_BORDER_TOP_RIGHT_RADIUS},
+ {"-webkit-dashboard-region", CSS_PROP__WEBKIT_DASHBOARD_REGION},
+ {"-webkit-background-origin", CSS_PROP__WEBKIT_BACKGROUND_ORIGIN},
+ {"-webkit-border-top-left-radius", CSS_PROP__WEBKIT_BORDER_TOP_LEFT_RADIUS},
+ {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+ {"-webkit-column-break-before", CSS_PROP__WEBKIT_COLUMN_BREAK_BEFORE},
+ {"-webkit-column-break-after", CSS_PROP__WEBKIT_COLUMN_BREAK_AFTER},
+ {"-webkit-background-composite", CSS_PROP__WEBKIT_BACKGROUND_COMPOSITE},
+ {"-webkit-text-stroke-width", CSS_PROP__WEBKIT_TEXT_STROKE_WIDTH},
+ {"-webkit-column-break-inside", CSS_PROP__WEBKIT_COLUMN_BREAK_INSIDE},
+ {"-webkit-border-bottom-right-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_RIGHT_RADIUS},
+ {"-webkit-user-modify", CSS_PROP__WEBKIT_USER_MODIFY},
+ {"-webkit-border-bottom-left-radius", CSS_PROP__WEBKIT_BORDER_BOTTOM_LEFT_RADIUS},
+ {"-webkit-match-nearest-mail-blockquote-color", CSS_PROP__WEBKIT_MATCH_NEAREST_MAIL_BLOCKQUOTE_COLOR},
+ {"-webkit-text-decorations-in-effect", CSS_PROP__WEBKIT_TEXT_DECORATIONS_IN_EFFECT}
+ };
+
+ static const short lookup[] =
+ {
+ -1, -1, -1, 0, 1, 2, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
+ -1, 4, -1, -1, -1, 5, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 6, -1, -1, -1, -1, -1,
+ -1, 7, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 8, -1, 9, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 10, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 11, -1, -1,
+ -1, -1, -1, 12, -1, -1, -1, 13, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 15, -1, -1, 16,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 17,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 18, -1, -1, -1, -1,
+ -1, 19, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, -1, -1, -1, 21, -1, 22, -1, -1,
+ -1, 23, -1, -1, -1, -1, -1, -1, -1, 24,
+ -1, 25, 26, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 27, 28, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 29, 30, -1, 31, -1, 32, -1, -1, -1, 33,
+ 34, -1, 35, -1, -1, 36, -1, -1, -1, -1,
+ -1, -1, 37, -1, -1, 38, -1, -1, -1, 39,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 40, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
+ 42, -1, -1, -1, 43, -1, 44, -1, -1, -1,
+ -1, -1, 45, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 48, -1, -1, -1, -1, 49,
+ 50, -1, 51, -1, 52, -1, -1, -1, 53, -1,
+ -1, -1, -1, -1, 54, -1, -1, 55, 56, -1,
+ -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 58, -1, -1, 59, 60, 61, -1,
+ -1, -1, -1, 62, -1, -1, -1, 63, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 64, -1, -1, 65, -1, -1, -1, 66, -1, 67,
+ -1, -1, -1, -1, -1, -1, -1, 68, 69, -1,
+ -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
+ -1, 71, -1, -1, -1, -1, -1, 72, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 73, 74, -1,
+ -1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 76, 77, -1, -1, -1, 78, -1, -1, -1,
+ 79, -1, -1, 80, -1, -1, 81, -1, -1, -1,
+ 82, 83, -1, -1, -1, -1, -1, 84, -1, -1,
+ -1, -1, -1, -1, -1, 85, -1, -1, 86, -1,
+ 87, -1, -1, -1, -1, 88, -1, -1, 89, -1,
+ -1, -1, -1, -1, 90, 91, -1, -1, -1, -1,
+ -1, 92, -1, -1, -1, 93, -1, 94, 95, -1,
+ -1, -1, 96, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 97, -1, -1, -1, -1,
+ -1, -1, 98, -1, -1, 99, -1, -1, -1, 100,
+ -1, -1, 101, -1, -1, -1, 102, -1, -1, -1,
+ -1, -1, -1, -1, 103, 104, -1, -1, 105, -1,
+ 106, -1, 107, 108, -1, -1, 109, 110, 111, 112,
+ -1, -1, 113, -1, -1, 114, 115, -1, -1, -1,
+ 116, 117, 118, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 119, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 120, -1, 121, -1, -1, -1, 122, -1, -1,
+ -1, -1, 123, 124, 125, -1, -1, -1, 126, 127,
+ 128, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 129, -1, -1, -1, -1, -1, -1, 130, -1, -1,
+ -1, -1, -1, -1, -1, 131, -1, -1, -1, -1,
+ -1, 132, -1, -1, -1, -1, -1, -1, 133, 134,
+ -1, 135, -1, -1, -1, 136, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 137, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 138, -1, -1, -1, -1,
+ -1, -1, -1, 139, -1, -1, -1, 140, -1, 141,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 142,
+ -1, -1, -1, -1, -1, 143, -1, -1, -1, -1,
+ -1, -1, 144, -1, -1, -1, -1, -1, 145, 146,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 147,
+ -1, -1, -1, -1, 148, -1, 149, -1, 150, -1,
+ 151, 152, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 153, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 154, 155, -1,
+ -1, -1, -1, -1, -1, -1, 156, -1, -1, -1,
+ 157, 158, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 159, -1, -1, -1, -1, -1,
+ 160, -1, 161, -1, -1, -1, 162, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 163, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 164, -1, 165, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 167, -1, -1, 168, -1,
+ -1, 169, -1, 170, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 171, -1, -1, -1,
+ -1, -1, -1, -1, -1, 172, -1, -1, -1, -1,
+ -1, 173, -1, 174, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 175, -1, 176, -1,
+ -1, -1, -1, -1, -1, 177, -1, -1, -1, -1,
+ -1, 178, -1, -1, -1, -1, -1, -1, -1, 179,
+ 180, -1, -1, 181, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 182, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 183, -1, -1, -1, 184, -1, -1, -1,
+ -1, -1, 185, 186, -1, -1, 187, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 189, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 190, 191, 192, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 193, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 194, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 195, -1, 196, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 197,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 198,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 199, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 200, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 201
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ register int key = hash_prop (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= 0)
+ {
+ register int index = lookup[key];
+
+ if (index >= 0)
+ {
+ register const char *s = wordlist_prop[index].name;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+ return &wordlist_prop[index];
+ }
+ }
+ }
+ return 0;
+}
+static const char * const propertyList[] = {
+"",
+"background",
+"background-attachment",
+"background-color",
+"background-image",
+"background-position",
+"background-position-x",
+"background-position-y",
+"background-repeat",
+"border",
+"border-bottom",
+"border-bottom-color",
+"border-bottom-style",
+"border-bottom-width",
+"border-collapse",
+"border-color",
+"border-left",
+"border-left-color",
+"border-left-style",
+"border-left-width",
+"border-right",
+"border-right-color",
+"border-right-style",
+"border-right-width",
+"border-spacing",
+"border-style",
+"border-top",
+"border-top-color",
+"border-top-style",
+"border-top-width",
+"border-width",
+"bottom",
+"caption-side",
+"clear",
+"clip",
+"color",
+"content",
+"counter-increment",
+"counter-reset",
+"cursor",
+"direction",
+"display",
+"empty-cells",
+"float",
+"font",
+"font-family",
+"font-size",
+"font-stretch",
+"font-style",
+"font-variant",
+"font-weight",
+"height",
+"left",
+"letter-spacing",
+"line-height",
+"list-style",
+"list-style-image",
+"list-style-position",
+"list-style-type",
+"margin",
+"margin-bottom",
+"margin-left",
+"margin-right",
+"margin-top",
+"max-height",
+"max-width",
+"min-height",
+"min-width",
+"opacity",
+"orphans",
+"outline",
+"outline-color",
+"outline-offset",
+"outline-style",
+"outline-width",
+"overflow",
+"overflow-x",
+"overflow-y",
+"padding",
+"padding-bottom",
+"padding-left",
+"padding-right",
+"padding-top",
+"page",
+"page-break-after",
+"page-break-before",
+"page-break-inside",
+"position",
+"quotes",
+"resize",
+"right",
+"scrollbar-3dlight-color",
+"scrollbar-arrow-color",
+"scrollbar-darkshadow-color",
+"scrollbar-face-color",
+"scrollbar-highlight-color",
+"scrollbar-shadow-color",
+"scrollbar-track-color",
+"size",
+"table-layout",
+"text-align",
+"text-decoration",
+"text-indent",
+"text-line-through",
+"text-line-through-color",
+"text-line-through-mode",
+"text-line-through-style",
+"text-line-through-width",
+"text-overflow",
+"text-overline",
+"text-overline-color",
+"text-overline-mode",
+"text-overline-style",
+"text-overline-width",
+"text-shadow",
+"text-transform",
+"text-underline",
+"text-underline-color",
+"text-underline-mode",
+"text-underline-style",
+"text-underline-width",
+"top",
+"unicode-bidi",
+"vertical-align",
+"visibility",
+"white-space",
+"widows",
+"width",
+"word-break",
+"word-spacing",
+"word-wrap",
+"z-index",
+"-webkit-appearance",
+"-webkit-background-clip",
+"-webkit-background-composite",
+"-webkit-background-origin",
+"-webkit-background-size",
+"-webkit-binding",
+"-webkit-border-bottom-left-radius",
+"-webkit-border-bottom-right-radius",
+"-webkit-border-fit",
+"-webkit-border-horizontal-spacing",
+"-webkit-border-image",
+"-webkit-border-radius",
+"-webkit-border-top-left-radius",
+"-webkit-border-top-right-radius",
+"-webkit-border-vertical-spacing",
+"-webkit-box-align",
+"-webkit-box-direction",
+"-webkit-box-flex",
+"-webkit-box-flex-group",
+"-webkit-box-lines",
+"-webkit-box-ordinal-group",
+"-webkit-box-orient",
+"-webkit-box-pack",
+"-webkit-box-shadow",
+"-webkit-box-sizing",
+"-webkit-column-break-after",
+"-webkit-column-break-before",
+"-webkit-column-break-inside",
+"-webkit-column-count",
+"-webkit-column-gap",
+"-webkit-column-rule",
+"-webkit-column-rule-color",
+"-webkit-column-rule-style",
+"-webkit-column-rule-width",
+"-webkit-column-width",
+"-webkit-columns",
+"-webkit-dashboard-region",
+"-webkit-font-size-delta",
+"-webkit-highlight",
+"-webkit-line-break",
+"-webkit-line-clamp",
+"-webkit-margin-bottom-collapse",
+"-webkit-margin-collapse",
+"-webkit-margin-start",
+"-webkit-margin-top-collapse",
+"-webkit-marquee",
+"-webkit-marquee-direction",
+"-webkit-marquee-increment",
+"-webkit-marquee-repetition",
+"-webkit-marquee-speed",
+"-webkit-marquee-style",
+"-webkit-match-nearest-mail-blockquote-color",
+"-webkit-nbsp-mode",
+"-webkit-padding-start",
+"-webkit-rtl-ordering",
+"-webkit-text-decorations-in-effect",
+"-webkit-text-fill-color",
+"-webkit-text-security",
+"-webkit-text-size-adjust",
+"-webkit-text-stroke",
+"-webkit-text-stroke-color",
+"-webkit-text-stroke-width",
+"-webkit-user-drag",
+"-webkit-user-modify",
+"-webkit-user-select",
+"-wap-marquee-style",
+"-wap-marquee-loop",
+"-wap-marquee-dir",
+"-wap-marquee-speed",
+"-wap-input-format",
+"-wap-input-required",
+ 0
+};
+const char* getPropertyName(CSSPropertyID id)
+{
+ if (id >= numCSSProperties || id <= 0)
+ return 0;
+ return propertyList[id];
+}
+