Fix for performance regression. My original patch added a signal for passing the...
authorcblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Dec 2004 20:06:42 +0000 (20:06 +0000)
committercblu <cblu@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Dec 2004 20:06:42 +0000 (20:06 +0000)
Fixed: <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account

        Reviewed by rjw.

        * khtml/misc/loader.cpp:
        (Loader::servePendingRequests): pass data param to slotFinished, removed allData signal
        (Loader::slotFinished): take data param
        * khtml/misc/loader.h:
        * kwq/KWQKJobClasses.h:
        * kwq/KWQKJobClasses.mm:
        (KIO::TransferJob::TransferJob): have m_result take a data param, removed m_allData
        (KIO::TransferJob::emitResult): take data param and pass it
        * kwq/KWQResourceLoader.mm:
        (-[KWQResourceLoader finishJobAndHandle:]): take data param and pass it
        (-[KWQResourceLoader cancel]): pass nil for data
        (-[KWQResourceLoader reportError]): ditto
        (-[KWQResourceLoader finishWithData:]): pass data
        * kwq/KWQSlot.mm:
        (KWQSlot::KWQSlot): pass data param to slotFinished
        (KWQSlot::call): added support for slotFinished_Loader, removed slotAllData

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8111 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/css/cssproperties.c
WebCore/khtml/css/cssvalues.c
WebCore/khtml/misc/htmlattrs.c
WebCore/khtml/misc/htmltags.c
WebCore/khtml/misc/loader.cpp
WebCore/khtml/misc/loader.h
WebCore/kwq/KWQKJobClasses.h
WebCore/kwq/KWQKJobClasses.mm
WebCore/kwq/KWQResourceLoader.mm
WebCore/kwq/KWQSlot.mm

index dede100ffac4b841df0d71310733bd1b30e4ed12..d47db35d35bd935b442bf3d1ea15d0c4cc36b2b3 100644 (file)
@@ -1,3 +1,27 @@
+2004-12-03  Chris Blumenberg  <cblu@apple.com>
+
+       Fix for performance regression. My original patch added a signal for passing the data of a resource to its WebCore cache object. This patch passes the data with the preexisting "finished" symbol so we make less calls. 
+       Fixed: <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
+
+        Reviewed by rjw.
+
+        * khtml/misc/loader.cpp:
+        (Loader::servePendingRequests): pass data param to slotFinished, removed allData signal
+        (Loader::slotFinished): take data param
+        * khtml/misc/loader.h:
+        * kwq/KWQKJobClasses.h:
+        * kwq/KWQKJobClasses.mm:
+        (KIO::TransferJob::TransferJob): have m_result take a data param, removed m_allData
+        (KIO::TransferJob::emitResult): take data param and pass it
+        * kwq/KWQResourceLoader.mm:
+        (-[KWQResourceLoader finishJobAndHandle:]): take data param and pass it
+        (-[KWQResourceLoader cancel]): pass nil for data
+        (-[KWQResourceLoader reportError]): ditto
+        (-[KWQResourceLoader finishWithData:]): pass data
+        * kwq/KWQSlot.mm:
+        (KWQSlot::KWQSlot): pass data param to slotFinished
+        (KWQSlot::call): added support for slotFinished_Loader, removed slotAllData
+
 2004-12-03  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by John
index a9917d03e30a4c87200f9bcee9d4982d37124570..192244c9a97ae2b97951f3085230437e05f4415c 100644 (file)
@@ -1,44 +1,13 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* 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 cssproperties.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "cssproperties.gperf"
-
 /* This file is automatically generated from cssproperties.in by makeprop, do not edit */
 /* Copyright 1999 W. Bastian */
 #include "cssproperties.h"
-#line 6 "cssproperties.gperf"
 struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 514, duplicates = 0 */
+/* maximum key range = 1493, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -52,130 +21,100 @@ hash_prop (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517,   0, 517, 517, 517, 517,
-      517,   5, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517,   0,   0,   0,
-        0,   5, 135,  25,  15,   0,   5,  25,   0,   0,
-        0,   0,   0,  45,   0,  25,   0,  70,  40, 205,
-      110, 210,  15, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
-      517, 517, 517, 517, 517, 517
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513,    0, 1513, 1513, 1513, 1513,
+      1513,    5, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513,   20,   40,   45,
+         0,    0,  305,   15,    0,    0,    0,   10,    0,   65,
+       430,    0,   35,   55,    0,   30,    0,   50,  115,  285,
+         0,  210,    0, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513
     };
   register int hval = len;
 
   switch (hval)
     {
       default:
+      case 32:
         hval += asso_values[(unsigned char)str[31]];
-      /*FALLTHROUGH*/
       case 31:
         hval += asso_values[(unsigned char)str[30]];
-      /*FALLTHROUGH*/
       case 30:
         hval += asso_values[(unsigned char)str[29]];
-      /*FALLTHROUGH*/
       case 29:
         hval += asso_values[(unsigned char)str[28]];
-      /*FALLTHROUGH*/
       case 28:
         hval += asso_values[(unsigned char)str[27]];
-      /*FALLTHROUGH*/
       case 27:
         hval += asso_values[(unsigned char)str[26]];
-      /*FALLTHROUGH*/
       case 26:
         hval += asso_values[(unsigned char)str[25]];
-      /*FALLTHROUGH*/
       case 25:
         hval += asso_values[(unsigned char)str[24]];
-      /*FALLTHROUGH*/
       case 24:
         hval += asso_values[(unsigned char)str[23]];
-      /*FALLTHROUGH*/
       case 23:
         hval += asso_values[(unsigned char)str[22]];
-      /*FALLTHROUGH*/
       case 22:
         hval += asso_values[(unsigned char)str[21]];
-      /*FALLTHROUGH*/
       case 21:
         hval += asso_values[(unsigned char)str[20]];
-      /*FALLTHROUGH*/
       case 20:
         hval += asso_values[(unsigned char)str[19]];
-      /*FALLTHROUGH*/
       case 19:
         hval += asso_values[(unsigned char)str[18]];
-      /*FALLTHROUGH*/
       case 18:
         hval += asso_values[(unsigned char)str[17]];
-      /*FALLTHROUGH*/
       case 17:
         hval += asso_values[(unsigned char)str[16]];
-      /*FALLTHROUGH*/
       case 16:
         hval += asso_values[(unsigned char)str[15]];
-      /*FALLTHROUGH*/
       case 15:
         hval += asso_values[(unsigned char)str[14]];
-      /*FALLTHROUGH*/
       case 14:
         hval += asso_values[(unsigned char)str[13]];
-      /*FALLTHROUGH*/
       case 13:
         hval += asso_values[(unsigned char)str[12]];
-      /*FALLTHROUGH*/
       case 12:
         hval += asso_values[(unsigned char)str[11]];
-      /*FALLTHROUGH*/
       case 11:
         hval += asso_values[(unsigned char)str[10]];
-      /*FALLTHROUGH*/
       case 10:
         hval += asso_values[(unsigned char)str[9]];
-      /*FALLTHROUGH*/
       case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
         hval += asso_values[(unsigned char)str[7]];
-      /*FALLTHROUGH*/
       case 7:
         hval += asso_values[(unsigned char)str[6]];
-      /*FALLTHROUGH*/
       case 6:
         hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
         hval += asso_values[(unsigned char)str[3]];
-      /*FALLTHROUGH*/
       case 3:
         hval += asso_values[(unsigned char)str[2]];
-      /*FALLTHROUGH*/
       case 2:
         hval += asso_values[(unsigned char)str[1]];
-      /*FALLTHROUGH*/
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -194,382 +133,325 @@ findProp (register const char *str, register unsigned int len)
       TOTAL_KEYWORDS = 157,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
-      MIN_HASH_VALUE = 3,
-      MAX_HASH_VALUE = 516
+      MIN_HASH_VALUE = 20,
+      MAX_HASH_VALUE = 1512
     };
 
   static const struct props wordlist_prop[] =
     {
-#line 134 "cssproperties.gperf"
+      {"right", CSS_PROP_RIGHT},
+      {"height", CSS_PROP_HEIGHT},
+      {"size", CSS_PROP_SIZE},
       {"top", CSS_PROP_TOP},
-#line 46 "cssproperties.gperf"
-      {"clip", CSS_PROP_CLIP},
-#line 47 "cssproperties.gperf"
+      {"border", CSS_PROP_BORDER},
       {"color", CSS_PROP_COLOR},
-#line 35 "cssproperties.gperf"
-      {"bottom", CSS_PROP_BOTTOM},
-#line 45 "cssproperties.gperf"
+      {"border-right", CSS_PROP_BORDER_RIGHT},
       {"clear", CSS_PROP_CLEAR},
-#line 148 "cssproperties.gperf"
-      {"border", CSS_PROP_BORDER},
-#line 48 "cssproperties.gperf"
-      {"content", CSS_PROP_CONTENT},
-#line 52 "cssproperties.gperf"
-      {"direction", CSS_PROP_DIRECTION},
-#line 151 "cssproperties.gperf"
+      {"page", CSS_PROP_PAGE},
+      {"clip", CSS_PROP_CLIP},
       {"border-top", CSS_PROP_BORDER_TOP},
-#line 149 "cssproperties.gperf"
       {"border-color", CSS_PROP_BORDER_COLOR},
-#line 153 "cssproperties.gperf"
-      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
-#line 23 "cssproperties.gperf"
+      {"max-height", CSS_PROP_MAX_HEIGHT},
+      {"bottom", CSS_PROP_BOTTOM},
+      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
+      {"cursor", CSS_PROP_CURSOR},
       {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
-#line 25 "cssproperties.gperf"
-      {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
-#line 65 "cssproperties.gperf"
-      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
-#line 158 "cssproperties.gperf"
-      {"margin", CSS_PROP_MARGIN},
-#line 160 "cssproperties.gperf"
-      {"padding", CSS_PROP_PADDING},
-#line 106 "cssproperties.gperf"
-      {"position", CSS_PROP_POSITION},
-#line 102 "cssproperties.gperf"
-      {"page", CSS_PROP_PAGE},
-#line 70 "cssproperties.gperf"
-      {"margin-top", CSS_PROP_MARGIN_TOP},
-#line 97 "cssproperties.gperf"
-      {"padding-top", CSS_PROP_PADDING_TOP},
-#line 72 "cssproperties.gperf"
-      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
-#line 99 "cssproperties.gperf"
-      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
-#line 44 "cssproperties.gperf"
-      {"caption-side", CSS_PROP_CAPTION_SIDE},
-#line 108 "cssproperties.gperf"
-      {"right", CSS_PROP_RIGHT},
-#line 91 "cssproperties.gperf"
-      {"orphans", CSS_PROP_ORPHANS},
-#line 109 "cssproperties.gperf"
-      {"size", CSS_PROP_SIZE},
-#line 19 "cssproperties.gperf"
+      {"quotes", CSS_PROP_QUOTES},
+      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
-#line 152 "cssproperties.gperf"
-      {"border-right", CSS_PROP_BORDER_RIGHT},
-#line 24 "cssproperties.gperf"
-      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
-#line 62 "cssproperties.gperf"
-      {"height", CSS_PROP_HEIGHT},
-#line 20 "cssproperties.gperf"
-      {"border-spacing", CSS_PROP_BORDER_SPACING},
-#line 87 "cssproperties.gperf"
-      {"min-height", CSS_PROP_MIN_HEIGHT},
-#line 166 "cssproperties.gperf"
+      {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
+      {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
+      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
+      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
+      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
+      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
+      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
       {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
-#line 64 "cssproperties.gperf"
-      {"letter-spacing", CSS_PROP_LETTER_SPACING},
-#line 66 "cssproperties.gperf"
+      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
+      {"list-style", CSS_PROP_LIST_STYLE},
+      {"width", CSS_PROP_WIDTH},
+      {"border-style", CSS_PROP_BORDER_STYLE},
+      {"display", CSS_PROP_DISPLAY},
+      {"left", CSS_PROP_LEFT},
+      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
+      {"opacity", CSS_PROP_OPACITY},
+      {"float", CSS_PROP_FLOAT},
+      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
+      {"border-width", CSS_PROP_BORDER_WIDTH},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
+      {"table-layout", CSS_PROP_TABLE_LAYOUT},
+      {"border-left", CSS_PROP_BORDER_LEFT},
+      {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
+      {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
+      {"max-width", CSS_PROP_MAX_WIDTH},
+      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+      {"empty-cells", CSS_PROP_EMPTY_CELLS},
+      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
+      {"visibility", CSS_PROP_VISIBILITY},
+      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+      {"white-space", CSS_PROP_WHITE_SPACE},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"z-index", CSS_PROP_Z_INDEX},
+      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"line-height", CSS_PROP_LINE_HEIGHT},
-#line 71 "cssproperties.gperf"
-      {"margin-right", CSS_PROP_MARGIN_RIGHT},
-#line 98 "cssproperties.gperf"
-      {"padding-right", CSS_PROP_PADDING_RIGHT},
-#line 18 "cssproperties.gperf"
-      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
-#line 159 "cssproperties.gperf"
+      {"text-align", CSS_PROP_TEXT_ALIGN},
+      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"direction", CSS_PROP_DIRECTION},
       {"outline", CSS_PROP_OUTLINE},
-#line 139 "cssproperties.gperf"
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
-#line 89 "cssproperties.gperf"
-      {"-khtml-nbsp-mode", CSS_PROP__KHTML_NBSP_MODE},
-#line 135 "cssproperties.gperf"
-      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
-#line 92 "cssproperties.gperf"
+      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
+      {"position", CSS_PROP_POSITION},
+      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
+      {"padding", CSS_PROP_PADDING},
+      {"text-decoration", CSS_PROP_TEXT_DECORATION},
+      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
+      {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"orphans", CSS_PROP_ORPHANS},
+      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
+      {"padding-right", CSS_PROP_PADDING_RIGHT},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"margin", CSS_PROP_MARGIN},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
       {"outline-color", CSS_PROP_OUTLINE_COLOR},
-#line 74 "cssproperties.gperf"
+      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
+      {"padding-top", CSS_PROP_PADDING_TOP},
+      {"margin-right", CSS_PROP_MARGIN_RIGHT},
+      {"text-overline", CSS_PROP_TEXT_OVERLINE},
+      {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
+      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
+      {"counter-reset", CSS_PROP_COUNTER_RESET},
+      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
+      {"caption-side", CSS_PROP_CAPTION_SIDE},
+      {"margin-top", CSS_PROP_MARGIN_TOP},
+      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+      {"letter-spacing", CSS_PROP_LETTER_SPACING},
+      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
       {"-khtml-line-break", CSS_PROP__KHTML_LINE_BREAK},
-#line 164 "cssproperties.gperf"
-      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
-#line 133 "cssproperties.gperf"
-      {"-apple-dashboard-region", CSS_PROP__APPLE_DASHBOARD_REGION},
-#line 51 "cssproperties.gperf"
-      {"cursor", CSS_PROP_CURSOR},
-#line 49 "cssproperties.gperf"
-      {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
-#line 105 "cssproperties.gperf"
+      {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"widows", CSS_PROP_WIDOWS},
+      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
+      {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
       {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
-#line 78 "cssproperties.gperf"
-      {"-khtml-margin-start", CSS_PROP__KHTML_MARGIN_START},
-#line 101 "cssproperties.gperf"
-      {"-khtml-padding-start", CSS_PROP__KHTML_PADDING_START},
-#line 75 "cssproperties.gperf"
-      {"-khtml-margin-collapse", CSS_PROP__KHTML_MARGIN_COLLAPSE},
-#line 76 "cssproperties.gperf"
-      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
-#line 50 "cssproperties.gperf"
-      {"counter-reset", CSS_PROP_COUNTER_RESET},
-#line 77 "cssproperties.gperf"
-      {"-khtml-margin-bottom-collapse", CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE},
-#line 147 "cssproperties.gperf"
+      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
       {"background", CSS_PROP_BACKGROUND},
-#line 113 "cssproperties.gperf"
-      {"text-indent", CSS_PROP_TEXT_INDENT},
-#line 112 "cssproperties.gperf"
-      {"text-decoration", CSS_PROP_TEXT_DECORATION},
-#line 11 "cssproperties.gperf"
+      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
+      {"border-spacing", CSS_PROP_BORDER_SPACING},
+      {"word-wrap", CSS_PROP_WORD_WRAP},
+      {"-khtml-padding-start", CSS_PROP__KHTML_PADDING_START},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"-apple-dashboard-region", CSS_PROP__APPLE_DASHBOARD_REGION},
       {"background-color", CSS_PROP_BACKGROUND_COLOR},
-#line 146 "cssproperties.gperf"
-      {"z-index", CSS_PROP_Z_INDEX},
-#line 156 "cssproperties.gperf"
-      {"font", CSS_PROP_FONT},
-#line 55 "cssproperties.gperf"
-      {"float", CSS_PROP_FLOAT},
-#line 63 "cssproperties.gperf"
-      {"left", CSS_PROP_LEFT},
-#line 163 "cssproperties.gperf"
-      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
-#line 13 "cssproperties.gperf"
+      {"-khtml-margin-start", CSS_PROP__KHTML_MARGIN_START},
       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
-#line 111 "cssproperties.gperf"
-      {"text-align", CSS_PROP_TEXT_ALIGN},
-#line 107 "cssproperties.gperf"
-      {"quotes", CSS_PROP_QUOTES},
-#line 154 "cssproperties.gperf"
-      {"border-left", CSS_PROP_BORDER_LEFT},
-#line 21 "cssproperties.gperf"
-      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
-#line 14 "cssproperties.gperf"
-      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
-#line 26 "cssproperties.gperf"
-      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
-#line 15 "cssproperties.gperf"
-      {"background-position", CSS_PROP_BACKGROUND_POSITION},
-#line 12 "cssproperties.gperf"
+      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
+      {"-khtml-nbsp-mode", CSS_PROP__KHTML_NBSP_MODE},
+      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
+      {"overflow", CSS_PROP_OVERFLOW},
+      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
       {"background-image", CSS_PROP_BACKGROUND_IMAGE},
-#line 22 "cssproperties.gperf"
-      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
-#line 42 "cssproperties.gperf"
-      {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
-#line 37 "cssproperties.gperf"
-      {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
-#line 73 "cssproperties.gperf"
-      {"margin-left", CSS_PROP_MARGIN_LEFT},
-#line 100 "cssproperties.gperf"
-      {"padding-left", CSS_PROP_PADDING_LEFT},
-#line 120 "cssproperties.gperf"
-      {"text-overline", CSS_PROP_TEXT_OVERLINE},
-#line 79 "cssproperties.gperf"
-      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
-#line 85 "cssproperties.gperf"
-      {"max-height", CSS_PROP_MAX_HEIGHT},
-#line 136 "cssproperties.gperf"
-      {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
-#line 121 "cssproperties.gperf"
-      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
-#line 161 "cssproperties.gperf"
-      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
-#line 60 "cssproperties.gperf"
-      {"font-variant", CSS_PROP_FONT_VARIANT},
-#line 122 "cssproperties.gperf"
-      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
-#line 57 "cssproperties.gperf"
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
+      {"font", CSS_PROP_FONT},
+      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
+      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
+      {"-khtml-margin-collapse", CSS_PROP__KHTML_MARGIN_COLLAPSE},
+      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
+      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
       {"font-size", CSS_PROP_FONT_SIZE},
-#line 43 "cssproperties.gperf"
-      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
-#line 36 "cssproperties.gperf"
-      {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
-#line 58 "cssproperties.gperf"
+      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
+      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
+      {"min-width", CSS_PROP_MIN_WIDTH},
+      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
+      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
+      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
+      {"padding-left", CSS_PROP_PADDING_LEFT},
       {"font-stretch", CSS_PROP_FONT_STRETCH},
-#line 138 "cssproperties.gperf"
-      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
-#line 80 "cssproperties.gperf"
-      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
-#line 40 "cssproperties.gperf"
-      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
-#line 81 "cssproperties.gperf"
-      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
-#line 82 "cssproperties.gperf"
-      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
-#line 127 "cssproperties.gperf"
+      {"margin-left", CSS_PROP_MARGIN_LEFT},
+      {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
+      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
+      {"-khtml-margin-bottom-collapse", CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE},
+      {"text-indent", CSS_PROP_TEXT_INDENT},
+      {"word-spacing", CSS_PROP_WORD_SPACING},
+      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
+      {"content", CSS_PROP_CONTENT},
       {"text-underline", CSS_PROP_TEXT_UNDERLINE},
-#line 128 "cssproperties.gperf"
       {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
-#line 103 "cssproperties.gperf"
-      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
-#line 90 "cssproperties.gperf"
-      {"opacity", CSS_PROP_OPACITY},
-#line 129 "cssproperties.gperf"
+      {"font-style", CSS_PROP_FONT_STYLE},
       {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
-#line 83 "cssproperties.gperf"
-      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
-#line 104 "cssproperties.gperf"
-      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
-#line 143 "cssproperties.gperf"
-      {"width", CSS_PROP_WIDTH},
-#line 88 "cssproperties.gperf"
-      {"min-width", CSS_PROP_MIN_WIDTH},
-#line 155 "cssproperties.gperf"
-      {"border-width", CSS_PROP_BORDER_WIDTH},
-#line 31 "cssproperties.gperf"
-      {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
-#line 53 "cssproperties.gperf"
-      {"display", CSS_PROP_DISPLAY},
-#line 33 "cssproperties.gperf"
-      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
-#line 167 "cssproperties.gperf"
-      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
-#line 54 "cssproperties.gperf"
-      {"empty-cells", CSS_PROP_EMPTY_CELLS},
-#line 150 "cssproperties.gperf"
-      {"border-style", CSS_PROP_BORDER_STYLE},
-#line 27 "cssproperties.gperf"
-      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
-#line 114 "cssproperties.gperf"
-      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
-#line 29 "cssproperties.gperf"
-      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
-#line 141 "cssproperties.gperf"
-      {"white-space", CSS_PROP_WHITE_SPACE},
-#line 145 "cssproperties.gperf"
-      {"word-spacing", CSS_PROP_WORD_SPACING},
-#line 115 "cssproperties.gperf"
-      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
-#line 41 "cssproperties.gperf"
-      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
-#line 116 "cssproperties.gperf"
-      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
-#line 157 "cssproperties.gperf"
-      {"list-style", CSS_PROP_LIST_STYLE},
-#line 16 "cssproperties.gperf"
+      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
+      {"font-weight", CSS_PROP_FONT_WEIGHT},
+      {"background-position", CSS_PROP_BACKGROUND_POSITION},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
-#line 32 "cssproperties.gperf"
-      {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
-#line 140 "cssproperties.gperf"
-      {"visibility", CSS_PROP_VISIBILITY},
-#line 132 "cssproperties.gperf"
-      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
-#line 126 "cssproperties.gperf"
-      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
-#line 162 "cssproperties.gperf"
-      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
-#line 110 "cssproperties.gperf"
-      {"table-layout", CSS_PROP_TABLE_LAYOUT},
-#line 28 "cssproperties.gperf"
-      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
-#line 95 "cssproperties.gperf"
-      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-#line 68 "cssproperties.gperf"
-      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
-#line 67 "cssproperties.gperf"
-      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
-#line 165 "cssproperties.gperf"
-      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
-#line 94 "cssproperties.gperf"
-      {"outline-style", CSS_PROP_OUTLINE_STYLE},
-#line 86 "cssproperties.gperf"
-      {"max-width", CSS_PROP_MAX_WIDTH},
-#line 125 "cssproperties.gperf"
-      {"text-shadow", CSS_PROP_TEXT_SHADOW},
-#line 17 "cssproperties.gperf"
-      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
-#line 34 "cssproperties.gperf"
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
-#line 59 "cssproperties.gperf"
-      {"font-style", CSS_PROP_FONT_STYLE},
-#line 93 "cssproperties.gperf"
       {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
-#line 96 "cssproperties.gperf"
-      {"overflow", CSS_PROP_OVERFLOW},
-#line 61 "cssproperties.gperf"
-      {"font-weight", CSS_PROP_FONT_WEIGHT},
-#line 30 "cssproperties.gperf"
-      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
-#line 124 "cssproperties.gperf"
-      {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
-#line 38 "cssproperties.gperf"
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
-#line 144 "cssproperties.gperf"
-      {"word-wrap", CSS_PROP_WORD_WRAP},
-#line 123 "cssproperties.gperf"
-      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
-#line 84 "cssproperties.gperf"
-      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
-#line 131 "cssproperties.gperf"
-      {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
-#line 142 "cssproperties.gperf"
-      {"widows", CSS_PROP_WIDOWS},
-#line 130 "cssproperties.gperf"
       {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
-#line 118 "cssproperties.gperf"
-      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
-#line 56 "cssproperties.gperf"
+      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
+      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+      {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
+      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
+      {"font-variant", CSS_PROP_FONT_VARIANT},
+      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
       {"font-family", CSS_PROP_FONT_FAMILY},
-#line 69 "cssproperties.gperf"
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
-#line 137 "cssproperties.gperf"
-      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
-#line 117 "cssproperties.gperf"
-      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
-#line 119 "cssproperties.gperf"
-      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
-#line 39 "cssproperties.gperf"
-      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP}
+      {"counter-increment", CSS_PROP_COUNTER_INCREMENT}
     };
 
   static const short lookup[] =
     {
-       -1,  -1,  -1,   0,   1,   2,   3,  -1,  -1,  -1,
-        4,   5,   6,  -1,   7,   8,  -1,   9,  10,  -1,
-       -1,  11,  -1,  -1,  12,  -1,  -1,  13,  -1,  -1,
-       -1,  14,  15,  16,  17,  18,  19,  -1,  20,  21,
-       -1,  -1,  22,  -1,  -1,  23,  -1,  24,  -1,  25,
-       26,  -1,  -1,  -1,  -1,  -1,  -1,  27,  -1,  -1,
-       -1,  -1,  -1,  28,  -1,  -1,  29,  -1,  -1,  30,
-       31,  32,  -1,  -1,  33,  -1,  34,  35,  36,  37,
-       -1,  -1,  38,  -1,  39,  -1,  40,  41,  42,  -1,
-       -1,  -1,  43,  44,  -1,  -1,  -1,  -1,  45,  -1,
-       -1,  46,  47,  -1,  -1,  -1,  -1,  48,  -1,  49,
-       50,  -1,  -1,  -1,  -1,  -1,  -1,  51,  -1,  -1,
-       -1,  52,  -1,  53,  54,  -1,  -1,  -1,  -1,  -1,
-       55,  56,  -1,  -1,  -1,  57,  58,  59,  -1,  60,
-       61,  -1,  -1,  -1,  62,  63,  -1,  64,  -1,  -1,
-       65,  66,  -1,  -1,  -1,  -1,  67,  68,  -1,  -1,
-       -1,  69,  70,  -1,  71,  -1,  72,  -1,  -1,  -1,
-       73,  -1,  74,  -1,  -1,  75,  76,  77,  78,  79,
-       80,  81,  -1,  -1,  82,  83,  -1,  84,  85,  86,
-       87,  88,  89,  90,  91,  -1,  92,  -1,  -1,  93,
-       94,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  95,
-       -1,  -1,  -1,  -1,  -1,  96,  97,  98,  -1,  99,
-      100,  -1, 101,  -1,  -1, 102,  -1,  -1,  -1, 103,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 104,  -1,  -1,
-       -1, 105, 106,  -1, 107,  -1,  -1,  -1,  -1,  -1,
-       -1, 108,  -1,  -1,  -1,  -1, 109, 110,  -1,  -1,
-       -1, 111, 112,  -1, 113,  -1, 114, 115, 116, 117,
-       -1,  -1, 118,  -1,  -1, 119, 120,  -1,  -1,  -1,
-       -1,  -1,  -1, 121,  -1, 122,  -1,  -1, 123, 124,
-       -1,  -1, 125,  -1,  -1,  -1,  -1, 126,  -1,  -1,
-       -1,  -1,  -1, 127,  -1,  -1,  -1,  -1, 128, 129,
-       -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 131,  -1,  -1,  -1,  -1,  -1,  -1, 132,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 133,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 134,  -1,  -1,  -1,  -1, 135,  -1,  -1,  -1,
-       -1,  -1, 136,  -1,  -1, 137,  -1,  -1,  -1, 138,
-       -1,  -1,  -1, 139,  -1,  -1, 140,  -1,  -1,  -1,
-       -1,  -1, 141,  -1, 142,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 143,  -1,  -1,  -1, 144,
-       -1,  -1,  -1,  -1, 145, 146,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 147,  -1,  -1,  -1,  -1,
-       -1, 148,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 149,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 150,  -1,
-       -1, 151,  -1,  -1,  -1, 152,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 153,  -1,  -1,  -1,  -1, 154,  -1,
-       -1,  -1,  -1, 155,  -1,  -1, 156
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+        0,   1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,   2,  -1,  -1,  -1,   3,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,   4,  -1,  -1,  -1,
+        5,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,   6,  -1,  -1,
+        7,  -1,  -1,  -1,   8,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,   9,  10,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  11,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       12,  13,  -1,  -1,  -1,  -1,  -1,  -1,  14,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  15,  -1,  -1,  -1,  -1,  16,  -1,  -1,  -1,
+       -1,  17,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  18,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -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,  20,  -1,  -1,  21,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  22,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  23,  -1,  -1,  -1,  -1,
+       24,  -1,  -1,  25,  -1,  -1,  -1,  -1,  26,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  27,  -1,  -1,  28,
+       29,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       30,  -1,  31,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  32,  -1,  -1,  -1,  -1,  -1,  -1,  33,
+       -1,  -1,  -1,  34,  -1,  -1,  -1,  35,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       36,  37,  -1,  -1,  -1,  -1,  -1,  38,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  39,  -1,  -1,  -1,
+       40,  -1,  41,  -1,  -1,  -1,  42,  -1,  43,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  44,  -1,  -1,  45,
+       -1,  -1,  -1,  -1,  -1,  -1,  46,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  47,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  48,  49,  -1,  50,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  51,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  52,  -1,  53,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  54,
+       -1,  -1,  -1,  -1,  -1,  -1,  55,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  56,  -1,  -1,  -1,  -1,
+       -1,  57,  -1,  -1,  58,  -1,  -1,  59,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  60,  61,  -1,  -1,  62,  63,  -1,  -1,
+       64,  -1,  65,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       66,  -1,  67,  -1,  -1,  68,  -1,  -1,  69,  -1,
+       70,  -1,  -1,  -1,  -1,  -1,  71,  72,  73,  -1,
+       -1,  74,  -1,  -1,  -1,  -1,  75,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  76,  77,  -1,
+       -1,  -1,  78,  79,  -1,  -1,  -1,  -1,  80,  -1,
+       81,  82,  83,  -1,  -1,  84,  -1,  85,  -1,  -1,
+       -1,  -1,  86,  -1,  -1,  -1,  -1,  -1,  -1,  87,
+       -1,  88,  89,  -1,  -1,  -1,  90,  -1,  -1,  -1,
+       -1,  -1,  91,  -1,  -1,  -1,  92,  -1,  -1,  93,
+       94,  -1,  -1,  -1,  -1,  -1,  -1,  95,  -1,  96,
+       97,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  98,  99,
+       -1,  -1,  -1,  -1, 100,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 101,  -1, 102, 103,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 104,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 105,  -1,
+       -1, 106,  -1,  -1, 107,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 108,  -1,  -1,  -1,  -1,  -1,  -1, 109,
+       -1, 110,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 111,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 112,  -1,  -1,  -1,  -1, 113,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 114,  -1,  -1,  -1,
+       -1,  -1,  -1, 115,  -1,  -1,  -1,  -1,  -1, 116,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 117,  -1, 118,  -1, 119, 120,  -1,
+       -1,  -1,  -1,  -1, 121,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 122,  -1,  -1,  -1, 123,  -1,
+       -1,  -1,  -1,  -1, 124,  -1,  -1,  -1,  -1, 125,
+       -1,  -1,  -1,  -1,  -1,  -1, 126,  -1,  -1,  -1,
+       -1,  -1,  -1, 127, 128,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 129,  -1,  -1,
+       -1,  -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 131,  -1,  -1, 132,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 133,  -1,  -1,  -1,  -1, 134,
+       -1, 135, 136,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -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, 138,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 139,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 140,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 141,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 143,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 144,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 145,  -1, 146,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 147,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      148,  -1, 149,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 150,  -1,  -1,  -1, 151,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 152,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 153,  -1,  -1,  -1, 154,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 155,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 156
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -591,8 +473,6 @@ findProp (register const char *str, register unsigned int len)
     }
   return 0;
 }
-#line 168 "cssproperties.gperf"
-
 static const char * const propertyList[] = {
 "",
 "background-color", 
index 2f8082051b6c43f85a2e697d0760cff22f4e36cf..b48406ebb9bc5f02f5e65cdeeefd99a31c75e9cc 100644 (file)
@@ -1,44 +1,13 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 2.7.2 */
 /* Command-line: gperf -L ANSI-C -E -C -n -o -t -k '*' -NfindValue -Hhash_val -Wwordlist_value -D cssvalues.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "cssvalues.gperf"
-
 /* This file is automatically generated from cssvalues.in by makevalues, do not edit */
 /* Copyright 1999 W. Bastian */
 #include "cssvalues.h"
-#line 6 "cssvalues.gperf"
 struct css_value {
     const char *name;
     int id;
 };
-/* maximum key range = 3201, duplicates = 0 */
+/* maximum key range = 2888, duplicates = 1 */
 
 #ifdef __GNUC__
 __inline
@@ -52,100 +21,80 @@ hash_val (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201,  200,  490, 3201,    0,    0,
-       115,  110,   95,   70,   65,   60,   25,   20, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201,   60,  265,    5,
-       360,    0,   68,  475,  460,    5,  440,  160,   20,   95,
-        10,   35,  150,  153,    5,   20,    0,   25,    8,    8,
-         3,   68,    5, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201, 3201,
-      3201, 3201, 3201, 3201, 3201, 3201, 3201
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888,   15, 2888, 2888,    0,    5,
+        10,   15,   20,   25,   30,   35,   40,    0, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888,    0,   28,    3,
+       400,  300,  160,  463,   56,   35,   10,  425,    0,   13,
+        55,    5,    8,   90,   65,   10,    0,  465,  258,  405,
+       450,   80,  250, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888
     };
   register int hval = 0;
 
   switch (len)
     {
       default:
+      case 22:
         hval += asso_values[(unsigned char)str[21]];
-      /*FALLTHROUGH*/
       case 21:
         hval += asso_values[(unsigned char)str[20]];
-      /*FALLTHROUGH*/
       case 20:
         hval += asso_values[(unsigned char)str[19]];
-      /*FALLTHROUGH*/
       case 19:
         hval += asso_values[(unsigned char)str[18]];
-      /*FALLTHROUGH*/
       case 18:
         hval += asso_values[(unsigned char)str[17]];
-      /*FALLTHROUGH*/
       case 17:
         hval += asso_values[(unsigned char)str[16]];
-      /*FALLTHROUGH*/
       case 16:
         hval += asso_values[(unsigned char)str[15]];
-      /*FALLTHROUGH*/
       case 15:
         hval += asso_values[(unsigned char)str[14]];
-      /*FALLTHROUGH*/
       case 14:
         hval += asso_values[(unsigned char)str[13]];
-      /*FALLTHROUGH*/
       case 13:
         hval += asso_values[(unsigned char)str[12]];
-      /*FALLTHROUGH*/
       case 12:
         hval += asso_values[(unsigned char)str[11]];
-      /*FALLTHROUGH*/
       case 11:
         hval += asso_values[(unsigned char)str[10]];
-      /*FALLTHROUGH*/
       case 10:
         hval += asso_values[(unsigned char)str[9]];
-      /*FALLTHROUGH*/
       case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
         hval += asso_values[(unsigned char)str[7]];
-      /*FALLTHROUGH*/
       case 7:
         hval += asso_values[(unsigned char)str[6]];
-      /*FALLTHROUGH*/
       case 6:
         hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
         hval += asso_values[(unsigned char)str[3]];
-      /*FALLTHROUGH*/
       case 3:
-        hval += asso_values[(unsigned char)str[2]+1];
-      /*FALLTHROUGH*/
+        hval += asso_values[(unsigned char)str[2]];
       case 2:
         hval += asso_values[(unsigned char)str[1]];
-      /*FALLTHROUGH*/
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -165,878 +114,647 @@ findValue (register const char *str, register unsigned int len)
       MIN_WORD_LENGTH = 2,
       MAX_WORD_LENGTH = 22,
       MIN_HASH_VALUE = 0,
-      MAX_HASH_VALUE = 3200
+      MAX_HASH_VALUE = 2887
     };
 
   static const struct css_value wordlist_value[] =
     {
-#line 36 "cssvalues.gperf"
-      {"100", CSS_VAL_100},
-#line 83 "cssvalues.gperf"
-      {"red", CSS_VAL_RED},
-#line 247 "cssvalues.gperf"
-      {"end", CSS_VAL_END},
-#line 15 "cssvalues.gperf"
-      {"inset", CSS_VAL_INSET},
-#line 55 "cssvalues.gperf"
-      {"wider", CSS_VAL_WIDER},
-#line 44 "cssvalues.gperf"
       {"900", CSS_VAL_900},
-#line 43 "cssvalues.gperf"
+      {"100", CSS_VAL_100},
+      {"200", CSS_VAL_200},
+      {"top", CSS_VAL_TOP},
+      {"300", CSS_VAL_300},
+      {"400", CSS_VAL_400},
+      {"small", CSS_VAL_SMALL},
+      {"500", CSS_VAL_500},
+      {"600", CSS_VAL_600},
+      {"compact", CSS_VAL_COMPACT},
+      {"700", CSS_VAL_700},
       {"800", CSS_VAL_800},
-#line 220 "cssvalues.gperf"
-      {"invert", CSS_VAL_INVERT},
-#line 11 "cssvalues.gperf"
-      {"inherit", CSS_VAL_INHERIT},
-#line 77 "cssvalues.gperf"
-      {"lime", CSS_VAL_LIME},
-#line 248 "cssvalues.gperf"
-      {"reverse", CSS_VAL_REVERSE},
-#line 197 "cssvalues.gperf"
+      {"clip", CSS_VAL_CLIP},
+      {"static", CSS_VAL_STATIC},
+      {"bottom", CSS_VAL_BOTTOM},
+      {"small-caps", CSS_VAL_SMALL_CAPS},
       {"ltr", CSS_VAL_LTR},
-#line 136 "cssvalues.gperf"
-      {"center", CSS_VAL_CENTER},
-#line 222 "cssvalues.gperf"
-      {"level", CSS_VAL_LEVEL},
-#line 126 "cssvalues.gperf"
-      {"sub", CSS_VAL_SUB},
-#line 144 "cssvalues.gperf"
-      {"circle", CSS_VAL_CIRCLE},
-#line 42 "cssvalues.gperf"
-      {"700", CSS_VAL_700},
-#line 225 "cssvalues.gperf"
-      {"lower", CSS_VAL_LOWER},
-#line 41 "cssvalues.gperf"
-      {"600", CSS_VAL_600},
-#line 194 "cssvalues.gperf"
-      {"text", CSS_VAL_TEXT},
-#line 40 "cssvalues.gperf"
-      {"500", CSS_VAL_500},
-#line 243 "cssvalues.gperf"
-      {"underline", CSS_VAL_UNDERLINE},
-#line 276 "cssvalues.gperf"
-      {"wave", CSS_VAL_WAVE},
-#line 13 "cssvalues.gperf"
-      {"none", CSS_VAL_NONE},
-#line 67 "cssvalues.gperf"
-      {"cursive", CSS_VAL_CURSIVE},
-#line 169 "cssvalues.gperf"
-      {"table", CSS_VAL_TABLE},
-#line 269 "cssvalues.gperf"
-      {"intrinsic", CSS_VAL_INTRINSIC},
-#line 39 "cssvalues.gperf"
-      {"400", CSS_VAL_400},
-#line 198 "cssvalues.gperf"
       {"rtl", CSS_VAL_RTL},
-#line 18 "cssvalues.gperf"
-      {"outset", CSS_VAL_OUTSET},
-#line 38 "cssvalues.gperf"
-      {"300", CSS_VAL_300},
-#line 65 "cssvalues.gperf"
-      {"serif", CSS_VAL_SERIF},
-#line 37 "cssvalues.gperf"
-      {"200", CSS_VAL_200},
-#line 250 "cssvalues.gperf"
-      {"vertical", CSS_VAL_VERTICAL},
-#line 237 "cssvalues.gperf"
+      {"italic", CSS_VAL_ITALIC},
+      {"start", CSS_VAL_START},
+      {"crop", CSS_VAL_CROP},
       {"scroll", CSS_VAL_SCROLL},
-#line 163 "cssvalues.gperf"
-      {"inline", CSS_VAL_INLINE},
-#line 261 "cssvalues.gperf"
-      {"fast", CSS_VAL_FAST},
-#line 84 "cssvalues.gperf"
-      {"silver", CSS_VAL_SILVER},
-#line 185 "cssvalues.gperf"
-      {"move", CSS_VAL_MOVE},
-#line 56 "cssvalues.gperf"
-      {"narrower", CSS_VAL_NARROWER},
-#line 181 "cssvalues.gperf"
-      {"auto", CSS_VAL_AUTO},
-#line 79 "cssvalues.gperf"
-      {"navy", CSS_VAL_NAVY},
-#line 201 "cssvalues.gperf"
-      {"lowercase", CSS_VAL_LOWERCASE},
-#line 233 "cssvalues.gperf"
-      {"overline", CSS_VAL_OVERLINE},
-#line 25 "cssvalues.gperf"
-      {"menu", CSS_VAL_MENU},
-#line 108 "cssvalues.gperf"
-      {"menutext", CSS_VAL_MENUTEXT},
-#line 156 "cssvalues.gperf"
-      {"armenian", CSS_VAL_ARMENIAN},
-#line 227 "cssvalues.gperf"
-      {"mix", CSS_VAL_MIX},
-#line 24 "cssvalues.gperf"
-      {"icon", CSS_VAL_ICON},
-#line 236 "cssvalues.gperf"
-      {"relative", CSS_VAL_RELATIVE},
-#line 258 "cssvalues.gperf"
-      {"up", CSS_VAL_UP},
-#line 264 "cssvalues.gperf"
-      {"alternate", CSS_VAL_ALTERNATE},
-#line 130 "cssvalues.gperf"
-      {"top", CSS_VAL_TOP},
-#line 268 "cssvalues.gperf"
-      {"element", CSS_VAL_ELEMENT},
-#line 277 "cssvalues.gperf"
-      {"continuous", CSS_VAL_CONTINUOUS},
-#line 260 "cssvalues.gperf"
-      {"slow", CSS_VAL_SLOW},
-#line 214 "cssvalues.gperf"
+      {"both", CSS_VAL_BOTH},
       {"cross", CSS_VAL_CROSS},
-#line 127 "cssvalues.gperf"
-      {"super", CSS_VAL_SUPER},
-#line 120 "cssvalues.gperf"
-      {"repeat", CSS_VAL_REPEAT},
-#line 48 "cssvalues.gperf"
-      {"medium", CSS_VAL_MEDIUM},
-#line 235 "cssvalues.gperf"
-      {"pre", CSS_VAL_PRE},
-#line 87 "cssvalues.gperf"
-      {"yellow", CSS_VAL_YELLOW},
-#line 206 "cssvalues.gperf"
-      {"always", CSS_VAL_ALWAYS},
-#line 32 "cssvalues.gperf"
+      {"icon", CSS_VAL_ICON},
+      {"caption", CSS_VAL_CAPTION},
       {"normal", CSS_VAL_NORMAL},
-#line 145 "cssvalues.gperf"
-      {"square", CSS_VAL_SQUARE},
-#line 186 "cssvalues.gperf"
-      {"e-resize", CSS_VAL_E_RESIZE},
-#line 78 "cssvalues.gperf"
       {"maroon", CSS_VAL_MAROON},
-#line 193 "cssvalues.gperf"
-      {"w-resize", CSS_VAL_W_RESIZE},
-#line 189 "cssvalues.gperf"
-      {"n-resize", CSS_VAL_N_RESIZE},
-#line 230 "cssvalues.gperf"
-      {"nowrap", CSS_VAL_NOWRAP},
-#line 232 "cssvalues.gperf"
-      {"overlay", CSS_VAL_OVERLAY},
-#line 167 "cssvalues.gperf"
-      {"compact", CSS_VAL_COMPACT},
-#line 23 "cssvalues.gperf"
-      {"caption", CSS_VAL_CAPTION},
-#line 192 "cssvalues.gperf"
-      {"s-resize", CSS_VAL_S_RESIZE},
-#line 99 "cssvalues.gperf"
-      {"captiontext", CSS_VAL_CAPTIONTEXT},
-#line 234 "cssvalues.gperf"
+      {"small-caption", CSS_VAL_SMALL_CAPTION},
+      {"thin", CSS_VAL_THIN},
+      {"initial", CSS_VAL_INITIAL},
+      {"fast", CSS_VAL_FAST},
+      {"scrollbar", CSS_VAL_SCROLLBAR},
       {"portrait", CSS_VAL_PORTRAIT},
-#line 166 "cssvalues.gperf"
-      {"run-in", CSS_VAL_RUN_IN},
-#line 71 "cssvalues.gperf"
-      {"aqua", CSS_VAL_AQUA},
-#line 85 "cssvalues.gperf"
+      {"crosshair", CSS_VAL_CROSSHAIR},
+      {"intrinsic", CSS_VAL_INTRINSIC},
       {"teal", CSS_VAL_TEAL},
-#line 246 "cssvalues.gperf"
-      {"start", CSS_VAL_START},
-#line 73 "cssvalues.gperf"
-      {"blue", CSS_VAL_BLUE},
-#line 240 "cssvalues.gperf"
-      {"static", CSS_VAL_STATIC},
-#line 238 "cssvalues.gperf"
-      {"separate", CSS_VAL_SEPARATE},
-#line 29 "cssvalues.gperf"
-      {"italic", CSS_VAL_ITALIC},
-#line 202 "cssvalues.gperf"
-      {"visible", CSS_VAL_VISIBLE},
-#line 213 "cssvalues.gperf"
-      {"crop", CSS_VAL_CROP},
-#line 68 "cssvalues.gperf"
       {"fantasy", CSS_VAL_FANTASY},
-#line 199 "cssvalues.gperf"
-      {"capitalize", CSS_VAL_CAPITALIZE},
-#line 272 "cssvalues.gperf"
-      {"ellipsis", CSS_VAL_ELLIPSIS},
-#line 165 "cssvalues.gperf"
-      {"list-item", CSS_VAL_LIST_ITEM},
-#line 177 "cssvalues.gperf"
-      {"table-cell", CSS_VAL_TABLE_CELL},
-#line 174 "cssvalues.gperf"
-      {"table-row", CSS_VAL_TABLE_ROW},
-#line 226 "cssvalues.gperf"
-      {"marquee", CSS_VAL_MARQUEE},
-#line 152 "cssvalues.gperf"
-      {"lower-latin", CSS_VAL_LOWER_LATIN},
-#line 124 "cssvalues.gperf"
-      {"baseline", CSS_VAL_BASELINE},
-#line 98 "cssvalues.gperf"
-      {"buttontext", CSS_VAL_BUTTONTEXT},
-#line 82 "cssvalues.gperf"
-      {"purple", CSS_VAL_PURPLE},
-#line 92 "cssvalues.gperf"
-      {"activecaption", CSS_VAL_ACTIVECAPTION},
-#line 143 "cssvalues.gperf"
-      {"disc", CSS_VAL_DISC},
-#line 142 "cssvalues.gperf"
-      {"inside", CSS_VAL_INSIDE},
-#line 203 "cssvalues.gperf"
+      {"space", CSS_VAL_SPACE},
       {"collapse", CSS_VAL_COLLAPSE},
-#line 254 "cssvalues.gperf"
-      {"multiple", CSS_VAL_MULTIPLE},
-#line 46 "cssvalues.gperf"
-      {"x-small", CSS_VAL_X_SMALL},
-#line 270 "cssvalues.gperf"
-      {"min-intrinsic", CSS_VAL_MIN_INTRINSIC},
-#line 208 "cssvalues.gperf"
-      {"below", CSS_VAL_BELOW},
-#line 205 "cssvalues.gperf"
-      {"absolute", CSS_VAL_ABSOLUTE},
-#line 259 "cssvalues.gperf"
-      {"down", CSS_VAL_DOWN},
-#line 251 "cssvalues.gperf"
-      {"inline-axis", CSS_VAL_INLINE_AXIS},
-#line 200 "cssvalues.gperf"
-      {"uppercase", CSS_VAL_UPPERCASE},
-#line 47 "cssvalues.gperf"
-      {"small", CSS_VAL_SMALL},
-#line 121 "cssvalues.gperf"
-      {"repeat-x", CSS_VAL_REPEAT_X},
-#line 224 "cssvalues.gperf"
-      {"loud", CSS_VAL_LOUD},
-#line 53 "cssvalues.gperf"
+      {"table", CSS_VAL_TABLE},
+      {"lime", CSS_VAL_LIME},
+      {"help", CSS_VAL_HELP},
+      {"pre", CSS_VAL_PRE},
       {"smaller", CSS_VAL_SMALLER},
-#line 66 "cssvalues.gperf"
-      {"sans-serif", CSS_VAL_SANS_SERIF},
-#line 69 "cssvalues.gperf"
+      {"navy", CSS_VAL_NAVY},
+      {"ellipsis", CSS_VAL_ELLIPSIS},
       {"monospace", CSS_VAL_MONOSPACE},
-#line 280 "cssvalues.gperf"
-      {"space", CSS_VAL_SPACE},
-#line 109 "cssvalues.gperf"
-      {"scrollbar", CSS_VAL_SCROLLBAR},
-#line 115 "cssvalues.gperf"
-      {"window", CSS_VAL_WINDOW},
-#line 128 "cssvalues.gperf"
-      {"text-top", CSS_VAL_TEXT_TOP},
-#line 117 "cssvalues.gperf"
-      {"windowtext", CSS_VAL_WINDOWTEXT},
-#line 131 "cssvalues.gperf"
-      {"bottom", CSS_VAL_BOTTOM},
-#line 215 "cssvalues.gperf"
-      {"embed", CSS_VAL_EMBED},
-#line 218 "cssvalues.gperf"
-      {"hide", CSS_VAL_HIDE},
-#line 148 "cssvalues.gperf"
-      {"lower-roman", CSS_VAL_LOWER_ROMAN},
-#line 141 "cssvalues.gperf"
-      {"outside", CSS_VAL_OUTSIDE},
-#line 176 "cssvalues.gperf"
-      {"table-column", CSS_VAL_TABLE_COLUMN},
-#line 155 "cssvalues.gperf"
-      {"hebrew", CSS_VAL_HEBREW},
-#line 125 "cssvalues.gperf"
-      {"middle", CSS_VAL_MIDDLE},
-#line 204 "cssvalues.gperf"
-      {"above", CSS_VAL_ABOVE},
-#line 17 "cssvalues.gperf"
-      {"ridge", CSS_VAL_RIDGE},
-#line 122 "cssvalues.gperf"
-      {"repeat-y", CSS_VAL_REPEAT_Y},
-#line 95 "cssvalues.gperf"
-      {"buttonface", CSS_VAL_BUTTONFACE},
-#line 134 "cssvalues.gperf"
-      {"left", CSS_VAL_LEFT},
-#line 216 "cssvalues.gperf"
-      {"fixed", CSS_VAL_FIXED},
-#line 80 "cssvalues.gperf"
-      {"olive", CSS_VAL_OLIVE},
-#line 245 "cssvalues.gperf"
+      {"inset", CSS_VAL_INSET},
+      {"circle", CSS_VAL_CIRCLE},
+      {"list-item", CSS_VAL_LIST_ITEM},
+      {"min-intrinsic", CSS_VAL_MIN_INTRINSIC},
+      {"none", CSS_VAL_NONE},
+      {"slow", CSS_VAL_SLOW},
+      {"bold", CSS_VAL_BOLD},
       {"stretch", CSS_VAL_STRETCH},
-#line 195 "cssvalues.gperf"
       {"wait", CSS_VAL_WAIT},
-#line 262 "cssvalues.gperf"
-      {"infinite", CSS_VAL_INFINITE},
-#line 21 "cssvalues.gperf"
+      {"disc", CSS_VAL_DISC},
+      {"table-caption", CSS_VAL_TABLE_CAPTION},
       {"solid", CSS_VAL_SOLID},
-#line 88 "cssvalues.gperf"
+      {"black", CSS_VAL_BLACK},
+      {"left", CSS_VAL_LEFT},
+      {"block", CSS_VAL_BLOCK},
+      {"pointer", CSS_VAL_POINTER},
+      {"auto", CSS_VAL_AUTO},
+      {"horizontal", CSS_VAL_HORIZONTAL},
+      {"up", CSS_VAL_UP},
+      {"show", CSS_VAL_SHOW},
+      {"inline", CSS_VAL_INLINE},
+      {"x-small", CSS_VAL_X_SMALL},
+      {"always", CSS_VAL_ALWAYS},
+      {"mix", CSS_VAL_MIX},
+      {"sub", CSS_VAL_SUB},
+      {"hand", CSS_VAL_HAND},
+      {"thick", CSS_VAL_THICK},
+      {"armenian", CSS_VAL_ARMENIAN},
+      {"nowrap", CSS_VAL_NOWRAP},
+      {"blink", CSS_VAL_BLINK},
+      {"inherit", CSS_VAL_INHERIT},
+      {"aqua", CSS_VAL_AQUA},
       {"transparent", CSS_VAL_TRANSPARENT},
-#line 107 "cssvalues.gperf"
-      {"infotext", CSS_VAL_INFOTEXT},
-#line 187 "cssvalues.gperf"
-      {"ne-resize", CSS_VAL_NE_RESIZE},
-#line 12 "cssvalues.gperf"
-      {"initial", CSS_VAL_INITIAL},
-#line 188 "cssvalues.gperf"
-      {"nw-resize", CSS_VAL_NW_RESIZE},
-#line 190 "cssvalues.gperf"
-      {"se-resize", CSS_VAL_SE_RESIZE},
-#line 178 "cssvalues.gperf"
-      {"table-caption", CSS_VAL_TABLE_CAPTION},
-#line 191 "cssvalues.gperf"
-      {"sw-resize", CSS_VAL_SW_RESIZE},
-#line 253 "cssvalues.gperf"
-      {"single", CSS_VAL_SINGLE},
-#line 76 "cssvalues.gperf"
-      {"green", CSS_VAL_GREEN},
-#line 265 "cssvalues.gperf"
-      {"unfurl", CSS_VAL_UNFURL},
-#line 104 "cssvalues.gperf"
+      {"serif", CSS_VAL_SERIF},
+      {"move", CSS_VAL_MOVE},
+      {"above", CSS_VAL_ABOVE},
+      {"status-bar", CSS_VAL_STATUS_BAR},
+      {"olive", CSS_VAL_OLIVE},
+      {"gray", CSS_VAL_GRAY},
+      {"right", CSS_VAL_RIGHT},
+      {"capitalize", CSS_VAL_CAPITALIZE},
+      {"table-cell", CSS_VAL_TABLE_CELL},
+      {"sans-serif", CSS_VAL_SANS_SERIF},
+      {"vertical", CSS_VAL_VERTICAL},
+      {"visible", CSS_VAL_VISIBLE},
+      {"silver", CSS_VAL_SILVER},
+      {"repeat", CSS_VAL_REPEAT},
+      {"hiragana", CSS_VAL_HIRAGANA},
+      {"infinite", CSS_VAL_INFINITE},
+      {"separate", CSS_VAL_SEPARATE},
+      {"run-in", CSS_VAL_RUN_IN},
+      {"avoid", CSS_VAL_AVOID},
+      {"activecaption", CSS_VAL_ACTIVECAPTION},
+      {"overlay", CSS_VAL_OVERLAY},
+      {"invert", CSS_VAL_INVERT},
+      {"alternate", CSS_VAL_ALTERNATE},
+      {"center", CSS_VAL_CENTER},
+      {"baseline", CSS_VAL_BASELINE},
+      {"fuchsia", CSS_VAL_FUCHSIA},
+      {"below", CSS_VAL_BELOW},
+      {"slide", CSS_VAL_SLIDE},
+      {"no-repeat", CSS_VAL_NO_REPEAT},
+      {"text", CSS_VAL_TEXT},
+      {"decimal", CSS_VAL_DECIMAL},
+      {"end", CSS_VAL_END},
+      {"ahead", CSS_VAL_AHEAD},
+      {"justify", CSS_VAL_JUSTIFY},
+      {"red", CSS_VAL_RED},
+      {"repeat-y", CSS_VAL_REPEAT_Y},
+      {"lower", CSS_VAL_LOWER},
+      {"landscape", CSS_VAL_LANDSCAPE},
+      {"text-top", CSS_VAL_TEXT_TOP},
+      {"outset", CSS_VAL_OUTSET},
+      {"yellow", CSS_VAL_YELLOW},
+      {"hide", CSS_VAL_HIDE},
       {"inactivecaption", CSS_VAL_INACTIVECAPTION},
-#line 105 "cssvalues.gperf"
-      {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
-#line 49 "cssvalues.gperf"
+      {"blue", CSS_VAL_BLUE},
+      {"white", CSS_VAL_WHITE},
+      {"bolder", CSS_VAL_BOLDER},
+      {"absolute", CSS_VAL_ABSOLUTE},
+      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
+      {"table-row", CSS_VAL_TABLE_ROW},
+      {"multiple", CSS_VAL_MULTIPLE},
+      {"inline-table", CSS_VAL_INLINE_TABLE},
       {"large", CSS_VAL_LARGE},
-#line 255 "cssvalues.gperf"
-      {"forwards", CSS_VAL_FORWARDS},
-#line 30 "cssvalues.gperf"
-      {"oblique", CSS_VAL_OBLIQUE},
-#line 54 "cssvalues.gperf"
+      {"menu", CSS_VAL_MENU},
+      {"inside", CSS_VAL_INSIDE},
+      {"purple", CSS_VAL_PURPLE},
+      {"super", CSS_VAL_SUPER},
+      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
+      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
+      {"captiontext", CSS_VAL_CAPTIONTEXT},
+      {"level", CSS_VAL_LEVEL},
+      {"single", CSS_VAL_SINGLE},
+      {"down", CSS_VAL_DOWN},
+      {"loud", CSS_VAL_LOUD},
+      {"lower-latin", CSS_VAL_LOWER_LATIN},
+      {"table-column", CSS_VAL_TABLE_COLUMN},
+      {"dot-dash", CSS_VAL_DOT_DASH},
+      {"orange", CSS_VAL_ORANGE},
       {"larger", CSS_VAL_LARGER},
-#line 207 "cssvalues.gperf"
-      {"avoid", CSS_VAL_AVOID},
-#line 160 "cssvalues.gperf"
       {"katakana", CSS_VAL_KATAKANA},
-#line 164 "cssvalues.gperf"
-      {"block", CSS_VAL_BLOCK},
-#line 137 "cssvalues.gperf"
-      {"justify", CSS_VAL_JUSTIFY},
-#line 212 "cssvalues.gperf"
-      {"close-quote", CSS_VAL_CLOSE_QUOTE},
-#line 271 "cssvalues.gperf"
-      {"clip", CSS_VAL_CLIP},
-#line 118 "cssvalues.gperf"
       {"grey", CSS_VAL_GREY},
-#line 154 "cssvalues.gperf"
-      {"upper-latin", CSS_VAL_UPPER_LATIN},
-#line 239 "cssvalues.gperf"
-      {"show", CSS_VAL_SHOW},
-#line 184 "cssvalues.gperf"
-      {"pointer", CSS_VAL_POINTER},
-#line 249 "cssvalues.gperf"
-      {"horizontal", CSS_VAL_HORIZONTAL},
-#line 170 "cssvalues.gperf"
-      {"inline-table", CSS_VAL_INLINE_TABLE},
-#line 16 "cssvalues.gperf"
-      {"groove", CSS_VAL_GROOVE},
-#line 231 "cssvalues.gperf"
-      {"open-quote", CSS_VAL_OPEN_QUOTE},
-#line 116 "cssvalues.gperf"
-      {"windowframe", CSS_VAL_WINDOWFRAME},
-#line 119 "cssvalues.gperf"
-      {"-khtml-text", CSS_VAL__KHTML_TEXT},
-#line 22 "cssvalues.gperf"
-      {"double", CSS_VAL_DOUBLE},
-#line 129 "cssvalues.gperf"
-      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
-#line 140 "cssvalues.gperf"
-      {"-khtml-center", CSS_VAL__KHTML_CENTER},
-#line 196 "cssvalues.gperf"
-      {"help", CSS_VAL_HELP},
-#line 221 "cssvalues.gperf"
-      {"landscape", CSS_VAL_LANDSCAPE},
-#line 45 "cssvalues.gperf"
+      {"discard", CSS_VAL_DISCARD},
+      {"lighter", CSS_VAL_LIGHTER},
+      {"read-only", CSS_VAL_READ_ONLY},
+      {"oblique", CSS_VAL_OBLIQUE},
+      {"upper-alpha", CSS_VAL_UPPER_ALPHA},
+      {"lower-roman", CSS_VAL_LOWER_ROMAN},
+      {"square", CSS_VAL_SQUARE},
       {"xx-small", CSS_VAL_XX_SMALL},
-#line 72 "cssvalues.gperf"
-      {"black", CSS_VAL_BLACK},
-#line 182 "cssvalues.gperf"
-      {"crosshair", CSS_VAL_CROSSHAIR},
-#line 149 "cssvalues.gperf"
-      {"upper-roman", CSS_VAL_UPPER_ROMAN},
-#line 123 "cssvalues.gperf"
-      {"no-repeat", CSS_VAL_NO_REPEAT},
-#line 33 "cssvalues.gperf"
-      {"bold", CSS_VAL_BOLD},
-#line 34 "cssvalues.gperf"
-      {"bolder", CSS_VAL_BOLDER},
-#line 138 "cssvalues.gperf"
+      {"upper-latin", CSS_VAL_UPPER_LATIN},
+      {"inline-block", CSS_VAL_INLINE_BLOCK},
+      {"relative", CSS_VAL_RELATIVE},
+      {"narrower", CSS_VAL_NARROWER},
+      {"wave", CSS_VAL_WAVE},
+      {"element", CSS_VAL_ELEMENT},
+      {"block-axis", CSS_VAL_BLOCK_AXIS},
+      {"higher", CSS_VAL_HIGHER},
       {"-khtml-left", CSS_VAL__KHTML_LEFT},
-#line 91 "cssvalues.gperf"
-      {"activeborder", CSS_VAL_ACTIVEBORDER},
-#line 19 "cssvalues.gperf"
-      {"dotted", CSS_VAL_DOTTED},
-#line 211 "cssvalues.gperf"
-      {"both", CSS_VAL_BOTH},
-#line 81 "cssvalues.gperf"
-      {"orange", CSS_VAL_ORANGE},
-#line 273 "cssvalues.gperf"
-      {"discard", CSS_VAL_DISCARD},
-#line 133 "cssvalues.gperf"
+      {"s-resize", CSS_VAL_S_RESIZE},
+      {"inline-axis", CSS_VAL_INLINE_AXIS},
       {"-khtml-auto", CSS_VAL__KHTML_AUTO},
-#line 93 "cssvalues.gperf"
+      {"upper-roman", CSS_VAL_UPPER_ROMAN},
+      {"infotext", CSS_VAL_INFOTEXT},
+      {"-khtml-box", CSS_VAL__KHTML_BOX},
+      {"buttonface", CSS_VAL_BUTTONFACE},
+      {"overline", CSS_VAL_OVERLINE},
+      {"n-resize", CSS_VAL_N_RESIZE},
+      {"-khtml-body", CSS_VAL__KHTML_BODY},
+      {"-khtml-link", CSS_VAL__KHTML_LINK},
+      {"embed", CSS_VAL_EMBED},
+      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
+      {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
+      {"lowercase", CSS_VAL_LOWERCASE},
+      {"groove", CSS_VAL_GROOVE},
+      {"continuous", CSS_VAL_CONTINUOUS},
+      {"dotted", CSS_VAL_DOTTED},
+      {"forwards", CSS_VAL_FORWARDS},
+      {"cursive", CSS_VAL_CURSIVE},
+      {"repeat-x", CSS_VAL_REPEAT_X},
+      {"-khtml-right", CSS_VAL__KHTML_RIGHT},
+      {"middle", CSS_VAL_MIDDLE},
+      {"hebrew", CSS_VAL_HEBREW},
+      {"uppercase", CSS_VAL_UPPERCASE},
+      {"highlight", CSS_VAL_HIGHLIGHT},
+      {"dashed", CSS_VAL_DASHED},
+      {"green", CSS_VAL_GREEN},
+      {"close-quote", CSS_VAL_CLOSE_QUOTE},
+      {"double", CSS_VAL_DOUBLE},
+      {"wider", CSS_VAL_WIDER},
+      {"unfurl", CSS_VAL_UNFURL},
+      {"outside", CSS_VAL_OUTSIDE},
+      {"medium", CSS_VAL_MEDIUM},
+      {"marquee", CSS_VAL_MARQUEE},
       {"appworkspace", CSS_VAL_APPWORKSPACE},
-#line 168 "cssvalues.gperf"
-      {"inline-block", CSS_VAL_INLINE_BLOCK},
-#line 75 "cssvalues.gperf"
-      {"gray", CSS_VAL_GRAY},
-#line 100 "cssvalues.gperf"
-      {"graytext", CSS_VAL_GRAYTEXT},
-#line 59 "cssvalues.gperf"
-      {"condensed", CSS_VAL_CONDENSED},
-#line 14 "cssvalues.gperf"
+      {"open-quote", CSS_VAL_OPEN_QUOTE},
       {"hidden", CSS_VAL_HIDDEN},
-#line 50 "cssvalues.gperf"
+      {"-khtml-center", CSS_VAL__KHTML_CENTER},
+      {"ridge", CSS_VAL_RIDGE},
+      {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
+      {"-khtml-text", CSS_VAL__KHTML_TEXT},
+      {"e-resize", CSS_VAL_E_RESIZE},
+      {"se-resize", CSS_VAL_SE_RESIZE},
       {"x-large", CSS_VAL_X_LARGE},
-#line 263 "cssvalues.gperf"
-      {"slide", CSS_VAL_SLIDE},
-#line 267 "cssvalues.gperf"
-      {"read-write", CSS_VAL_READ_WRITE},
-#line 31 "cssvalues.gperf"
-      {"small-caps", CSS_VAL_SMALL_CAPS},
-#line 28 "cssvalues.gperf"
-      {"status-bar", CSS_VAL_STATUS_BAR},
-#line 89 "cssvalues.gperf"
-      {"-khtml-link", CSS_VAL__KHTML_LINK},
-#line 27 "cssvalues.gperf"
-      {"small-caption", CSS_VAL_SMALL_CAPTION},
-#line 252 "cssvalues.gperf"
-      {"block-axis", CSS_VAL_BLOCK_AXIS},
-#line 209 "cssvalues.gperf"
-      {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
-#line 210 "cssvalues.gperf"
-      {"blink", CSS_VAL_BLINK},
-#line 146 "cssvalues.gperf"
-      {"decimal", CSS_VAL_DECIMAL},
-#line 150 "cssvalues.gperf"
-      {"lower-greek", CSS_VAL_LOWER_GREEK},
-#line 86 "cssvalues.gperf"
-      {"white", CSS_VAL_WHITE},
-#line 242 "cssvalues.gperf"
-      {"thin", CSS_VAL_THIN},
-#line 217 "cssvalues.gperf"
-      {"hand", CSS_VAL_HAND},
-#line 135 "cssvalues.gperf"
-      {"right", CSS_VAL_RIGHT},
-#line 183 "cssvalues.gperf"
+      {"reverse", CSS_VAL_REVERSE},
+      {"buttontext", CSS_VAL_BUTTONTEXT},
+      {"window", CSS_VAL_WINDOW},
+      {"dot-dot-dash", CSS_VAL_DOT_DOT_DASH},
+      {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
       {"default", CSS_VAL_DEFAULT},
-#line 62 "cssvalues.gperf"
-      {"expanded", CSS_VAL_EXPANDED},
-#line 244 "cssvalues.gperf"
-      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
-#line 35 "cssvalues.gperf"
-      {"lighter", CSS_VAL_LIGHTER},
-#line 90 "cssvalues.gperf"
-      {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
-#line 266 "cssvalues.gperf"
-      {"read-only", CSS_VAL_READ_ONLY},
-#line 103 "cssvalues.gperf"
+      {"ne-resize", CSS_VAL_NE_RESIZE},
+      {"backwards", CSS_VAL_BACKWARDS},
+      {"fixed", CSS_VAL_FIXED},
+      {"graytext", CSS_VAL_GRAYTEXT},
+      {"w-resize", CSS_VAL_W_RESIZE},
+      {"georgian", CSS_VAL_GEORGIAN},
+      {"sw-resize", CSS_VAL_SW_RESIZE},
+      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
+      {"nw-resize", CSS_VAL_NW_RESIZE},
+      {"activeborder", CSS_VAL_ACTIVEBORDER},
+      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
+      {"line-through", CSS_VAL_LINE_THROUGH},
+      {"condensed", CSS_VAL_CONDENSED},
+      {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
       {"inactiveborder", CSS_VAL_INACTIVEBORDER},
-#line 111 "cssvalues.gperf"
+      {"menutext", CSS_VAL_MENUTEXT},
       {"threedface", CSS_VAL_THREEDFACE},
-#line 179 "cssvalues.gperf"
-      {"-khtml-box", CSS_VAL__KHTML_BOX},
-#line 74 "cssvalues.gperf"
-      {"fuchsia", CSS_VAL_FUCHSIA},
-#line 257 "cssvalues.gperf"
-      {"ahead", CSS_VAL_AHEAD},
-#line 151 "cssvalues.gperf"
-      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
-#line 228 "cssvalues.gperf"
-      {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
-#line 60 "cssvalues.gperf"
-      {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
-#line 51 "cssvalues.gperf"
-      {"xx-large", CSS_VAL_XX_LARGE},
-#line 241 "cssvalues.gperf"
-      {"thick", CSS_VAL_THICK},
-#line 58 "cssvalues.gperf"
-      {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
-#line 57 "cssvalues.gperf"
-      {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
-#line 229 "cssvalues.gperf"
-      {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
-#line 159 "cssvalues.gperf"
-      {"hiragana", CSS_VAL_HIRAGANA},
-#line 26 "cssvalues.gperf"
+      {"read-write", CSS_VAL_READ_WRITE},
       {"message-box", CSS_VAL_MESSAGE_BOX},
-#line 279 "cssvalues.gperf"
+      {"skip-white-space", CSS_VAL_SKIP_WHITE_SPACE},
+      {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
+      {"after-white-space", CSS_VAL_AFTER_WHITE_SPACE},
+      {"underline", CSS_VAL_UNDERLINE},
       {"break-word", CSS_VAL_BREAK_WORD},
-#line 61 "cssvalues.gperf"
-      {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
-#line 157 "cssvalues.gperf"
-      {"georgian", CSS_VAL_GEORGIAN},
-#line 171 "cssvalues.gperf"
+      {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
+      {"xx-large", CSS_VAL_XX_LARGE},
+      {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
       {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
-#line 180 "cssvalues.gperf"
-      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
-#line 63 "cssvalues.gperf"
-      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
-#line 20 "cssvalues.gperf"
-      {"dashed", CSS_VAL_DASHED},
-#line 281 "cssvalues.gperf"
-      {"after-white-space", CSS_VAL_AFTER_WHITE_SPACE},
-#line 64 "cssvalues.gperf"
-      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
-#line 153 "cssvalues.gperf"
-      {"upper-alpha", CSS_VAL_UPPER_ALPHA},
-#line 256 "cssvalues.gperf"
-      {"backwards", CSS_VAL_BACKWARDS},
-#line 97 "cssvalues.gperf"
-      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
-#line 173 "cssvalues.gperf"
+      {"windowframe", CSS_VAL_WINDOWFRAME},
       {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
-#line 162 "cssvalues.gperf"
-      {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
-#line 175 "cssvalues.gperf"
+      {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
       {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
-#line 219 "cssvalues.gperf"
-      {"higher", CSS_VAL_HIGHER},
-#line 70 "cssvalues.gperf"
-      {"-khtml-body", CSS_VAL__KHTML_BODY},
-#line 52 "cssvalues.gperf"
-      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
-#line 274 "cssvalues.gperf"
-      {"dot-dash", CSS_VAL_DOT_DASH},
-#line 139 "cssvalues.gperf"
-      {"-khtml-right", CSS_VAL__KHTML_RIGHT},
-#line 223 "cssvalues.gperf"
-      {"line-through", CSS_VAL_LINE_THROUGH},
-#line 94 "cssvalues.gperf"
       {"background", CSS_VAL_BACKGROUND},
-#line 114 "cssvalues.gperf"
+      {"expanded", CSS_VAL_EXPANDED},
+      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
+      {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
       {"threedshadow", CSS_VAL_THREEDSHADOW},
-#line 278 "cssvalues.gperf"
-      {"skip-white-space", CSS_VAL_SKIP_WHITE_SPACE},
-#line 161 "cssvalues.gperf"
-      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
-#line 106 "cssvalues.gperf"
+      {"windowtext", CSS_VAL_WINDOWTEXT},
+      {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
       {"infobackground", CSS_VAL_INFOBACKGROUND},
-#line 172 "cssvalues.gperf"
-      {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
-#line 132 "cssvalues.gperf"
+      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
+      {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
+      {"lower-greek", CSS_VAL_LOWER_GREEK},
+      {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
       {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
-#line 275 "cssvalues.gperf"
-      {"dot-dot-dash", CSS_VAL_DOT_DOT_DASH},
-#line 158 "cssvalues.gperf"
-      {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
-#line 147 "cssvalues.gperf"
-      {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
-#line 101 "cssvalues.gperf"
-      {"highlight", CSS_VAL_HIGHLIGHT},
-#line 102 "cssvalues.gperf"
-      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
-#line 110 "cssvalues.gperf"
-      {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
-#line 96 "cssvalues.gperf"
-      {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
-#line 113 "cssvalues.gperf"
+      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
+      {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
       {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
-#line 112 "cssvalues.gperf"
-      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT}
+      {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
+      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
+      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
+      {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW}
     };
 
   static const short lookup[] =
     {
-        0,  -1,  -1,  -1,  -1,   1,  -1,  -1,  -1,  -1,
-        2,  -1,  -1,  -1,  -1,   3,  -1,  -1,   4,  -1,
-        5,  -1,  -1,  -1,  -1,   6,  -1,  -1,   7,  -1,
-        8,  -1,  -1,  -1,  -1,   9,  -1,  -1,  10,  -1,
-       11,  -1,  -1,  -1,  -1,  12,  -1,  -1,  13,  -1,
-       14,  -1,  -1,  -1,  -1,  15,  -1,  -1,  -1,  -1,
-       16,  -1,  -1,  17,  -1,  18,  -1,  -1,  19,  -1,
-       20,  -1,  -1,  -1,  -1,  21,  22,  -1,  -1,  -1,
-       23,  -1,  -1,  24,  -1,  25,  -1,  -1,  -1,  -1,
-       26,  -1,  -1,  -1,  -1,  27,  -1,  -1,  -1,  -1,
-       28,  -1,  -1,  -1,  -1,  29,  -1,  -1,  -1,  -1,
-       30,  -1,  -1,  31,  -1,  32,  -1,  -1,  33,  -1,
-       34,  -1,  -1,  -1,  -1,  35,  -1,  -1,  36,  -1,
-       -1,  -1,  -1,  37,  -1,  -1,  -1,  -1,  38,  -1,
-       -1,  -1,  -1,  39,  -1,  40,  41,  -1,  42,  -1,
-       -1,  43,  -1,  -1,  -1,  44,  -1,  -1,  45,  -1,
-       46,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  47,  -1,
-       48,  -1,  -1,  49,  -1,  50,  -1,  -1,  -1,  -1,
-       51,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  52,  -1,
-       -1,  -1,  -1,  53,  -1,  54,  -1,  -1,  55,  -1,
-       56,  -1,  -1,  57,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  58,  -1,
-       59,  -1,  -1,  60,  -1,  -1,  61,  -1,  -1,  -1,
-       -1,  62,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       63,  -1,  -1,  -1,  -1,  -1,  64,  -1,  -1,  -1,
-       65,  -1,  -1,  -1,  -1,  66,  -1,  -1,  67,  -1,
-       68,  -1,  -1,  69,  70,  71,  -1,  -1,  72,  -1,
-       73,  74,  -1,  -1,  -1,  75,  -1,  -1,  -1,  -1,
-       76,  77,  -1,  -1,  -1,  78,  -1,  -1,  -1,  -1,
-       79,  -1,  -1,  80,  -1,  81,  -1,  -1,  82,  -1,
-       83,  -1,  -1,  84,  -1,  -1,  -1,  -1,  -1,  -1,
-       85,  86,  -1,  87,  -1,  88,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  89,  -1,  -1,  -1,  -1,
-       90,  -1,  -1,  91,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  92,  -1,  -1,  -1,  -1,  93,  -1,
-       94,  -1,  -1,  95,  -1,  96,  -1,  -1,  97,  -1,
-       98,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       99,  -1,  -1,  -1,  -1, 100,  -1,  -1,  -1,  -1,
-      101,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 102,  -1,
-      103,  -1,  -1, 104,  -1, 105,  -1,  -1, 106,  -1,
-       -1,  -1,  -1, 107,  -1,  -1,  -1,  -1, 108,  -1,
-      109, 110,  -1, 111,  -1, 112,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 113,  -1, 114,  -1,  -1,  -1,  -1,
-      115,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      116, 117,  -1, 118, 119, 120,  -1,  -1,  -1,  -1,
-      121,  -1,  -1,  -1,  -1, 122,  -1,  -1, 123,  -1,
-      124,  -1,  -1,  -1,  -1, 125,  -1,  -1, 126,  -1,
-      127,  -1,  -1, 128,  -1, 129, 130,  -1,  -1,  -1,
-       -1,  -1,  -1, 131,  -1, 132,  -1,  -1,  -1,  -1,
-       -1, 133,  -1, 134,  -1, 135,  -1,  -1, 136,  -1,
-      137,  -1,  -1,  -1,  -1, 138,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 139,  -1,  -1, 140,  -1,
-       -1,  -1,  -1,  -1,  -1, 141,  -1,  -1,  -1,  -1,
-      142,  -1,  -1, 143,  -1, 144,  -1,  -1,  -1,  -1,
-      145,  -1,  -1, 146,  -1, 147,  -1,  -1, 148,  -1,
-      149,  -1,  -1, 150,  -1,  -1, 151,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 152, 153,  -1, 154,  -1,
-      155,  -1,  -1, 156,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 157,  -1,  -1,  -1,  -1,
-      158,  -1,  -1,  -1,  -1,  -1, 159,  -1, 160,  -1,
-       -1,  -1,  -1,  -1,  -1, 161, 162,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 163,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 164,  -1,
-      165,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      166,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      167,  -1,  -1, 168,  -1,  -1, 169,  -1,  -1, 170,
-       -1,  -1,  -1, 171,  -1,  -1,  -1,  -1, 172,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 173,  -1,
-      174,  -1,  -1,  -1,  -1, 175,  -1,  -1,  -1,  -1,
-      176, 177,  -1,  -1,  -1, 178,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      179,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 180,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      181,  -1,  -1,  -1,  -1, 182,  -1,  -1,  -1,  -1,
-      183,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 184,  -1,
-       -1,  -1,  -1, 185,  -1,  -1,  -1,  -1,  -1,  -1,
-      186,  -1,  -1,  -1,  -1, 187,  -1,  -1,  -1,  -1,
-      188,  -1,  -1,  -1,  -1, 189,  -1,  -1,  -1,  -1,
-      190,  -1,  -1,  -1,  -1,  -1, 191,  -1,  -1,  -1,
-      192,  -1,  -1, 193,  -1,  -1, 194,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 195,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 196,  -1,  -1, 197,  -1,
-      198,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 199,  -1,
-       -1,  -1,  -1,  -1,  -1, 200,  -1,  -1,  -1,  -1,
-      201,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 202,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 203,  -1,  -1, 204,  -1,
-       -1,  -1,  -1, 205,  -1, 206,  -1,  -1,  -1,  -1,
-      207,  -1,  -1, 208,  -1,  -1,  -1,  -1, 209,  -1,
-      210,  -1,  -1,  -1,  -1, 211,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      212,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      213,  -1,  -1,  -1,  -1,  -1, 214,  -1, 215,  -1,
-      216,  -1,  -1, 217,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 218,  -1,  -1,  -1,  -1, 219,  -1,
-       -1,  -1,  -1, 220,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 221,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 222,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 223,  -1,
-       -1,  -1,  -1, 224,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 225,  -1,
-       -1,  -1,  -1,  -1,  -1, 226,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 227,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 228,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 229,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 230,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 231,  -1,  -1,  -1,  -1,  -1,  -1,
-      232,  -1,  -1, 233,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 234,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 235,  -1,
-      236,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 237,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 238,  -1,  -1, 239,  -1,  -1,  -1,
-      240,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 241,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 242,  -1,
-       -1,  -1,  -1, 243,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 244,  -1,
-       -1,  -1,  -1, 245,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 246,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      247,  -1,  -1,  -1,  -1, 248,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      249,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 250,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 251,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      252,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 253,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      254,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 255,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 256,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 257,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 258,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 259,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      260,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      261,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 262,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 263,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 264,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 265,  -1,  -1, 266,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 267,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      268,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 269,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      270
+         0,   -1,   -1,   -1,   -1,    1,   -1,   -1,
+        -1,   -1,    2,   -1,   -1,    3,   -1,    4,
+        -1,   -1,   -1,   -1,    5,   -1,   -1,    6,
+        -1,    7,   -1,   -1,   -1,   -1,    8,   -1,
+         9,   -1,   -1,   10,   -1,   -1,   -1,   -1,
+        11,   -1,   -1,   -1,   -1,   -1,   12,   -1,
+        13,   -1,   -1,   14,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   15,   -1,   -1,   -1,   -1,
+        -1, -338, -255,   -2,   -1,   -1,   -1,   -1,
+        -1,   18,   -1,   19,   -1,   -1,   -1,   -1,
+        -1,   20,   -1,   21,   -1,   -1,   -1,   -1,
+        -1,   22,   -1,   -1,   -1,   23,   -1,   -1,
+        -1,   -1,   24,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   25,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   26,   -1,   -1,   -1,   -1,   27,
+        28,   -1,   29,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        30,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   31,   -1,   -1,   -1,   -1,   -1,
+        32,   -1,   33,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   34,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   35,   -1,   -1,
+        -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,
+        -1,   37,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   38,   -1,   -1,   -1,   -1,   39,   -1,
+        40,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   41,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   42,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   43,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,
+        -1,   45,   -1,   -1,   -1,   -1,   46,   47,
+        48,   -1,   -1,   -1,   -1,   -1,   49,   -1,
+        50,   -1,   -1,   51,   -1,   -1,   -1,   52,
+        -1,   -1,   -1,   -1,   53,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   54,   55,   -1,   -1,   -1,   -1,   -1,
+        56,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        57,   58,   59,   -1,   -1,   -1,   -1,   -1,
+        60,   -1,   -1,   -1,   61,   62,   -1,   -1,
+        -1,   -1,   -1,   -1,   63,   -1,   64,   65,
+        -1,   66,   -1,   -1,   67,   -1,   -1,   -1,
+        68,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        69,   -1,   -1,   -1,   -1,   -1,   -1,   70,
+        -1,   -1,   71,   -1,   -1,   -1,   -1,   72,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   73,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   74,
+        -1,   -1,   -1,   75,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   76,   -1,   -1,   -1,   -1,   77,
+        -1,   -1,   78,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   79,   -1,   -1,   80,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   81,   -1,   -1,   -1,   -1,   -1,
+        82,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   83,
+        -1,   84,   -1,   -1,   -1,   -1,   85,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        86,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   87,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   88,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   89,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   90,   91,   -1,   -1,
+        -1,   -1,   92,   -1,   93,   -1,   -1,   -1,
+        -1,   94,   95,   96,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   97,   -1,   -1,   -1,   -1,
+        -1,   -1,   98,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   99,   -1,   -1,   -1,  100,   -1,
+        -1,   -1,   -1,   -1,  101,   -1,   -1,   -1,
+        -1,  102,   -1,   -1,   -1,   -1,   -1,   -1,
+       103,   -1,   -1,  104,   -1,   -1,   -1,   -1,
+       105,  106,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  107,   -1,   -1,   -1,   -1,   -1,
+        -1,  108,   -1,   -1,  109,   -1,  110,  111,
+        -1,   -1,   -1,  112,  113,   -1,   -1,   -1,
+       114,   -1,   -1,   -1,   -1,  115,   -1,   -1,
+       116,   -1,   -1,   -1,   -1,   -1,   -1,  117,
+       118,   -1,  119,   -1,  120,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  121,  122,
+       123,  124,   -1,   -1,  125,   -1,  126,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       127,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       128,   -1,  129,   -1,   -1,  130,   -1,  131,
+        -1,   -1,   -1,   -1,  132,   -1,   -1,   -1,
+        -1,  133,   -1,  134,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  135,   -1,
+       136,   -1,  137,   -1,   -1,   -1,  138,   -1,
+       139,   -1,  140,   -1,   -1,   -1,   -1,  141,
+        -1,  142,   -1,   -1,   -1,   -1,  143,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       144,   -1,   -1,   -1,  145,   -1,  146,   -1,
+       147,   -1,   -1,   -1,   -1,  148,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  149,   -1,   -1,  150,   -1,   -1,   -1,
+        -1,  151,   -1,   -1,   -1,   -1,   -1,  152,
+       153,   -1,   -1,  154,   -1,  155,   -1,   -1,
+       156,   -1,  157,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  158,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  159,
+        -1,   -1,   -1,   -1,  160,   -1,  161,   -1,
+       162,   -1,   -1,  163,   -1,   -1,   -1,   -1,
+       164,   -1,   -1,  165,   -1,   -1,   -1,  166,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       167,  168,   -1,   -1,   -1,   -1,  169,   -1,
+        -1,   -1,  170,   -1,   -1,   -1,   -1,  171,
+        -1,   -1,   -1,   -1,   -1,  172,   -1,  173,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       174,   -1,  175,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  176,   -1,
+        -1,   -1,   -1,   -1,   -1,  177,   -1,  178,
+        -1,  179,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  180,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  181,   -1,   -1,   -1,   -1,   -1,   -1,
+       182,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       183,   -1,  184,   -1,   -1,   -1,   -1,   -1,
+        -1,  185,   -1,   -1,   -1,   -1,  186,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       187,   -1,  188,   -1,   -1,   -1,   -1,  189,
+        -1,   -1,   -1,   -1,  190,   -1,   -1,   -1,
+        -1,   -1,  191,   -1,   -1,   -1,   -1,  192,
+        -1,   -1,   -1,   -1,  193,   -1,  194,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  195,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  196,   -1,   -1,   -1,   -1,  197,   -1,
+        -1,   -1,   -1,   -1,   -1,  198,   -1,   -1,
+        -1,   -1,  199,   -1,   -1,   -1,   -1,  200,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  201,   -1,   -1,   -1,   -1,   -1,
+        -1,  202,   -1,   -1,   -1,  203,   -1,   -1,
+        -1,   -1,   -1,  204,   -1,   -1,  205,  206,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  207,
+        -1,   -1,   -1,   -1,  208,   -1,   -1,   -1,
+        -1,   -1,  209,  210,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  211,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  212,   -1,   -1,
+        -1,   -1,  213,   -1,   -1,   -1,   -1,  214,
+        -1,  215,  216,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  217,   -1,
+        -1,   -1,   -1,   -1,   -1,  218,   -1,   -1,
+        -1,   -1,  219,   -1,   -1,   -1,   -1,   -1,
+       220,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  221,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  222,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  223,   -1,   -1,   -1,
+        -1,   -1,  224,   -1,   -1,   -1,  225,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  226,   -1,   -1,
+        -1,   -1,   -1,  227,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  228,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  229,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  230,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       231,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  232,   -1,
+        -1,   -1,   -1,   -1,   -1,  233,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  234,
+       235,  236,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  237,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  238,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  239,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       240,   -1,   -1,  241,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  242,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  243,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  244,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  245,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  246,
+        -1,   -1,   -1,  247,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  248,   -1,  249,   -1,   -1,
+        -1,  250,   -1,   -1,   -1,  251,   -1,   -1,
+        -1,  252,  253,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  254,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  255,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  257,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  258,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  259,  260,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  261,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  262,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  263,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  264,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  265,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  266,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  267,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  268,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  270
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -1054,12 +772,25 @@ findValue (register const char *str, register unsigned int len)
               if (*str == *s && !strcmp (str + 1, s + 1))
                 return &wordlist_value[index];
             }
+          else if (index < -TOTAL_KEYWORDS)
+            {
+              register int offset = - 1 - TOTAL_KEYWORDS - index;
+              register const struct css_value *wordptr = &wordlist_value[TOTAL_KEYWORDS + lookup[offset]];
+              register const struct css_value *wordendptr = wordptr + -lookup[offset + 1];
+
+              while (wordptr < wordendptr)
+                {
+                  register const char *s = wordptr->name;
+
+                  if (*str == *s && !strcmp (str + 1, s + 1))
+                    return wordptr;
+                  wordptr++;
+                }
+            }
         }
     }
   return 0;
 }
-#line 282 "cssvalues.gperf"
-
 static const char * const valueList[] = {
 "",
 "inherit", 
index 3f9faae470cdc3fcca346f30b2a946f9bfc73dff..9f07241b1e343f76e40feb2123117cba16cae062 100644 (file)
@@ -1,45 +1,14 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 2.7.2 */
 /* Command-line: gperf -c -a -L ANSI-C -D -E -C -o -t -k '*' -NfindAttr -Hhash_attr -Wwordlist_attr -s 2 htmlattrs.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "htmlattrs.gperf"
-
 /* This file is automatically generated from
 #htmlattrs.in by makeattrs, do not edit */
 /* Copyright 1999 Lars Knoll */
 #include "htmlattrs.h"
-#line 7 "htmlattrs.gperf"
 struct attrs {
     const char *name;
     int id;
 };
-/* maximum key range = 705, duplicates = 0 */
+/* maximum key range = 1379, duplicates = 1 */
 
 #ifdef __GNUC__
 __inline
@@ -53,79 +22,66 @@ hash_attr (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708,  10,  10, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708,  10,  25,   5,
-        0,   5,  60,  40, 140,  30, 135, 210,  15,  35,
-       90,   0,   0,   0,   0,   0,   0,  85, 150, 225,
-       70,  10,  20, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
-      708, 708, 708, 708, 708, 708, 708
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382,   10, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382,   30,  170,   10,
+        45,    0,  120,   55,  100,    0,    0,   90,   30,  360,
+         0,    0,    0,    0,  215,    5,    0,   65,   20,   35,
+        25,   15,    0, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
+      1382, 1382, 1382, 1382, 1382, 1382
     };
   register int hval = len;
 
   switch (hval)
     {
       default:
+      case 15:
         hval += asso_values[(unsigned char)str[14]];
-      /*FALLTHROUGH*/
       case 14:
         hval += asso_values[(unsigned char)str[13]];
-      /*FALLTHROUGH*/
       case 13:
         hval += asso_values[(unsigned char)str[12]];
-      /*FALLTHROUGH*/
       case 12:
         hval += asso_values[(unsigned char)str[11]];
-      /*FALLTHROUGH*/
       case 11:
         hval += asso_values[(unsigned char)str[10]];
-      /*FALLTHROUGH*/
       case 10:
         hval += asso_values[(unsigned char)str[9]];
-      /*FALLTHROUGH*/
       case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
         hval += asso_values[(unsigned char)str[7]];
-      /*FALLTHROUGH*/
       case 7:
         hval += asso_values[(unsigned char)str[6]];
-      /*FALLTHROUGH*/
       case 6:
         hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
         hval += asso_values[(unsigned char)str[3]];
-      /*FALLTHROUGH*/
       case 3:
         hval += asso_values[(unsigned char)str[2]];
-      /*FALLTHROUGH*/
       case 2:
-        hval += asso_values[(unsigned char)str[1]+1];
-      /*FALLTHROUGH*/
+        hval += asso_values[(unsigned char)str[1]];
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -145,448 +101,369 @@ findAttr (register const char *str, register unsigned int len)
       MIN_WORD_LENGTH = 2,
       MAX_WORD_LENGTH = 15,
       MIN_HASH_VALUE = 3,
-      MAX_HASH_VALUE = 707
+      MAX_HASH_VALUE = 1381
     };
 
   static const struct attrs wordlist_attr[] =
     {
-#line 177 "htmlattrs.gperf"
       {"top", ATTR_TOP},
-#line 118 "htmlattrs.gperf"
-      {"ondrop", ATTR_ONDROP},
-#line 167 "htmlattrs.gperf"
-      {"src", ATTR_SRC},
-#line 159 "htmlattrs.gperf"
+      {"size", ATTR_SIZE},
+      {"cite", ATTR_CITE},
+      {"content", ATTR_CONTENT},
+      {"type", ATTR_TYPE},
       {"scope", ATTR_SCOPE},
-#line 52 "htmlattrs.gperf"
-      {"coords", ATTR_COORDS},
-#line 119 "htmlattrs.gperf"
-      {"onerror", ATTR_ONERROR},
-#line 42 "htmlattrs.gperf"
-      {"code", ATTR_CODE},
-#line 132 "htmlattrs.gperf"
-      {"onreset", ATTR_ONRESET},
-#line 84 "htmlattrs.gperf"
-      {"loop", ATTR_LOOP},
-#line 109 "htmlattrs.gperf"
+      {"text", ATTR_TEXT},
       {"oncopy", ATTR_ONCOPY},
-#line 131 "htmlattrs.gperf"
-      {"onpaste", ATTR_ONPASTE},
-#line 46 "htmlattrs.gperf"
-      {"cols", ATTR_COLS},
-#line 45 "htmlattrs.gperf"
-      {"color", ATTR_COLOR},
-#line 14 "htmlattrs.gperf"
-      {"accept", ATTR_ACCEPT},
-#line 180 "htmlattrs.gperf"
-      {"type", ATTR_TYPE},
-#line 125 "htmlattrs.gperf"
-      {"onload", ATTR_ONLOAD},
-#line 60 "htmlattrs.gperf"
       {"enctype", ATTR_ENCTYPE},
-#line 44 "htmlattrs.gperf"
-      {"codetype", ATTR_CODETYPE},
-#line 28 "htmlattrs.gperf"
-      {"border", ATTR_BORDER},
-#line 73 "htmlattrs.gperf"
+      {"loop", ATTR_LOOP},
+      {"title", ATTR_TITLE},
+      {"span", ATTR_SPAN},
+      {"onpaste", ATTR_ONPASTE},
+      {"action", ATTR_ACTION},
       {"id", ATTR_ID},
-#line 136 "htmlattrs.gperf"
+      {"cols", ATTR_COLS},
       {"onselect", ATTR_ONSELECT},
-#line 53 "htmlattrs.gperf"
-      {"data", ATTR_DATA},
-#line 150 "htmlattrs.gperf"
-      {"prompt", ATTR_PROMPT},
-#line 101 "htmlattrs.gperf"
-      {"onabort", ATTR_ONABORT},
-#line 134 "htmlattrs.gperf"
-      {"onscroll", ATTR_ONSCROLL},
-#line 12 "htmlattrs.gperf"
-      {"abbr", ATTR_ABBR},
-#line 19 "htmlattrs.gperf"
+      {"style", ATTR_STYLE},
+      {"accept", ATTR_ACCEPT},
+      {"code", ATTR_CODE},
+      {"nosave", ATTR_NOSAVE},
       {"alt", ATTR_ALT},
-#line 32 "htmlattrs.gperf"
-      {"char", ATTR_CHAR},
-#line 164 "htmlattrs.gperf"
-      {"shape", ATTR_SHAPE},
-#line 137 "htmlattrs.gperf"
-      {"onselectstart", ATTR_ONSELECTSTART},
-#line 23 "htmlattrs.gperf"
       {"axis", ATTR_AXIS},
-#line 39 "htmlattrs.gperf"
+      {"plain", ATTR_PLAIN},
+      {"vspace", ATTR_VSPACE},
+      {"oninput", ATTR_ONINPUT},
+      {"codetype", ATTR_CODETYPE},
+      {"oncut", ATTR_ONCUT},
+      {"colspan", ATTR_COLSPAN},
       {"class", ATTR_CLASS},
-#line 112 "htmlattrs.gperf"
-      {"ondrag", ATTR_ONDRAG},
-#line 35 "htmlattrs.gperf"
-      {"charset", ATTR_CHARSET},
-#line 43 "htmlattrs.gperf"
-      {"codebase", ATTR_CODEBASE},
-#line 41 "htmlattrs.gperf"
-      {"clear", ATTR_CLEAR},
-#line 29 "htmlattrs.gperf"
-      {"bordercolor", ATTR_BORDERCOLOR},
-#line 48 "htmlattrs.gperf"
-      {"compact", ATTR_COMPACT},
-#line 62 "htmlattrs.gperf"
-      {"for", ATTR_FOR},
-#line 133 "htmlattrs.gperf"
-      {"onresize", ATTR_ONRESIZE},
-#line 117 "htmlattrs.gperf"
-      {"ondragstart", ATTR_ONDRAGSTART},
-#line 174 "htmlattrs.gperf"
-      {"target", ATTR_TARGET},
-#line 152 "htmlattrs.gperf"
-      {"rel", ATTR_REL},
-#line 75 "htmlattrs.gperf"
-      {"ismap", ATTR_ISMAP},
-#line 161 "htmlattrs.gperf"
-      {"scrolldelay", ATTR_SCROLLDELAY},
-#line 49 "htmlattrs.gperf"
-      {"composite", ATTR_COMPOSITE},
-#line 142 "htmlattrs.gperf"
+      {"z-index", ATTR_Z_INDEX},
+      {"selected", ATTR_SELECTED},
       {"pagey", ATTR_PAGEY},
-#line 40 "htmlattrs.gperf"
+      {"data", ATTR_DATA},
+      {"onload", ATTR_ONLOAD},
+      {"pagex", ATTR_PAGEX},
+      {"lang", ATTR_LANG},
+      {"align", ATTR_ALIGN},
+      {"link", ATTR_LINK},
+      {"keytype", ATTR_KEYTYPE},
       {"classid", ATTR_CLASSID},
-#line 77 "htmlattrs.gperf"
-      {"label", ATTR_LABEL},
-#line 110 "htmlattrs.gperf"
-      {"oncut", ATTR_ONCUT},
-#line 163 "htmlattrs.gperf"
-      {"selected", ATTR_SELECTED},
-#line 61 "htmlattrs.gperf"
+      {"shape", ATTR_SHAPE},
+      {"valign", ATTR_VALIGN},
+      {"vlink", ATTR_VLINK},
+      {"onclick", ATTR_ONCLICK},
+      {"value", ATTR_VALUE},
+      {"hspace", ATTR_HSPACE},
+      {"longdesc", ATTR_LONGDESC},
+      {"left", ATTR_LEFT},
+      {"alink", ATTR_ALINK},
+      {"autosave", ATTR_AUTOSAVE},
       {"face", ATTR_FACE},
-#line 169 "htmlattrs.gperf"
+      {"valuetype", ATTR_VALUETYPE},
+      {"accesskey", ATTR_ACCESSKEY},
+      {"onkeyup", ATTR_ONKEYUP},
+      {"onunload", ATTR_ONUNLOAD},
+      {"cellspacing", ATTR_CELLSPACING},
+      {"width", ATTR_WIDTH},
+      {"object", ATTR_OBJECT},
+      {"noshade", ATTR_NOSHADE},
+      {"onkeydown", ATTR_ONKEYDOWN},
+      {"hidden", ATTR_HIDDEN},
+      {"unknown", ATTR_UNKNOWN},
+      {"onchange", ATTR_ONCHANGE},
+      {"http-equiv", ATTR_HTTP_EQUIV},
+      {"onfocus", ATTR_ONFOCUS},
+      {"onreset", ATTR_ONRESET},
+      {"noresize", ATTR_NORESIZE},
+      {"onresize", ATTR_ONRESIZE},
+      {"src", ATTR_SRC},
+      {"rev", ATTR_REV},
+      {"precision", ATTR_PRECISION},
+      {"pluginpage", ATTR_PLUGINPAGE},
+      {"version", ATTR_VERSION},
+      {"rel", ATTR_REL},
+      {"visibility", ATTR_VISIBILITY},
+      {"pluginspage", ATTR_PLUGINSPAGE},
       {"start", ATTR_START},
-#line 55 "htmlattrs.gperf"
+      {"cellpadding", ATTR_CELLPADDING},
+      {"rows", ATTR_ROWS},
+      {"color", ATTR_COLOR},
+      {"height", ATTR_HEIGHT},
+      {"checked", ATTR_CHECKED},
+      {"dir", ATTR_DIR},
+      {"challenge", ATTR_CHALLENGE},
+      {"label", ATTR_LABEL},
+      {"ondrop", ATTR_ONDROP},
+      {"codebase", ATTR_CODEBASE},
+      {"standby", ATTR_STANDBY},
+      {"language", ATTR_LANGUAGE},
+      {"tabindex", ATTR_TABINDEX},
+      {"direction", ATTR_DIRECTION},
+      {"coords", ATTR_COORDS},
+      {"wrap", ATTR_WRAP},
+      {"nowrap", ATTR_NOWRAP},
+      {"clear", ATTR_CLEAR},
+      {"rowspan", ATTR_ROWSPAN},
+      {"onscroll", ATTR_ONSCROLL},
+      {"contenteditable", ATTR_CONTENTEDITABLE},
+      {"target", ATTR_TARGET},
+      {"onselectstart", ATTR_ONSELECTSTART},
+      {"rules", ATTR_RULES},
+      {"results", ATTR_RESULTS},
+      {"disabled", ATTR_DISABLED},
       {"declare", ATTR_DECLARE},
-#line 166 "htmlattrs.gperf"
-      {"span", ATTR_SPAN},
-#line 54 "htmlattrs.gperf"
-      {"datetime", ATTR_DATETIME},
-#line 179 "htmlattrs.gperf"
+      {"for", ATTR_FOR},
       {"truespeed", ATTR_TRUESPEED},
-#line 173 "htmlattrs.gperf"
-      {"tableborder", ATTR_TABLEBORDER},
-#line 89 "htmlattrs.gperf"
-      {"mayscript", ATTR_MAYSCRIPT},
-#line 63 "htmlattrs.gperf"
-      {"frame", ATTR_FRAME},
-#line 149 "htmlattrs.gperf"
+      {"onkeypress", ATTR_ONKEYPRESS},
+      {"readonly", ATTR_READONLY},
+      {"ondrag", ATTR_ONDRAG},
+      {"scrolling", ATTR_SCROLLING},
+      {"char", ATTR_CHAR},
+      {"min", ATTR_MIN},
+      {"charset", ATTR_CHARSET},
+      {"onsearch", ATTR_ONSEARCH},
       {"profile", ATTR_PROFILE},
-#line 170 "htmlattrs.gperf"
-      {"style", ATTR_STYLE},
-#line 102 "htmlattrs.gperf"
-      {"onbeforecopy", ATTR_ONBEFORECOPY},
-#line 104 "htmlattrs.gperf"
-      {"onbeforepaste", ATTR_ONBEFOREPASTE},
-#line 47 "htmlattrs.gperf"
-      {"colspan", ATTR_COLSPAN},
-#line 56 "htmlattrs.gperf"
+      {"archive", ATTR_ARCHIVE},
+      {"composite", ATTR_COMPOSITE},
       {"defer", ATTR_DEFER},
-#line 105 "htmlattrs.gperf"
-      {"onblur", ATTR_ONBLUR},
-#line 87 "htmlattrs.gperf"
+      {"name", ATTR_NAME},
+      {"ondblclick", ATTR_ONDBLCLICK},
+      {"ondragend", ATTR_ONDRAGEND},
+      {"ismap", ATTR_ISMAP},
+      {"headers", ATTR_HEADERS},
+      {"compact", ATTR_COMPACT},
       {"max", ATTR_MAX},
-#line 175 "htmlattrs.gperf"
-      {"text", ATTR_TEXT},
-#line 37 "htmlattrs.gperf"
-      {"cellborder", ATTR_CELLBORDER},
-#line 16 "htmlattrs.gperf"
-      {"action", ATTR_ACTION},
-#line 57 "htmlattrs.gperf"
-      {"dir", ATTR_DIR},
-#line 80 "htmlattrs.gperf"
-      {"left", ATTR_LEFT},
-#line 90 "htmlattrs.gperf"
+      {"scrolldelay", ATTR_SCROLLDELAY},
+      {"onabort", ATTR_ONABORT},
+      {"accept-charset", ATTR_ACCEPT_CHARSET},
+      {"ondragleave", ATTR_ONDRAGLEAVE},
+      {"href", ATTR_HREF},
       {"media", ATTR_MEDIA},
-#line 182 "htmlattrs.gperf"
+      {"nohref", ATTR_NOHREF},
+      {"datetime", ATTR_DATETIME},
       {"usemap", ATTR_USEMAP},
-#line 141 "htmlattrs.gperf"
-      {"pagex", ATTR_PAGEX},
-#line 38 "htmlattrs.gperf"
-      {"cite", ATTR_CITE},
-#line 64 "htmlattrs.gperf"
-      {"frameborder", ATTR_FRAMEBORDER},
-#line 113 "htmlattrs.gperf"
-      {"ondragend", ATTR_ONDRAGEND},
-#line 100 "htmlattrs.gperf"
-      {"object", ATTR_OBJECT},
-#line 120 "htmlattrs.gperf"
-      {"onfocus", ATTR_ONFOCUS},
-#line 96 "htmlattrs.gperf"
-      {"noresize", ATTR_NORESIZE},
-#line 94 "htmlattrs.gperf"
-      {"name", ATTR_NAME},
-#line 176 "htmlattrs.gperf"
-      {"title", ATTR_TITLE},
-#line 114 "htmlattrs.gperf"
-      {"ondragenter", ATTR_ONDRAGENTER},
-#line 83 "htmlattrs.gperf"
-      {"longdesc", ATTR_LONGDESC},
-#line 165 "htmlattrs.gperf"
-      {"size", ATTR_SIZE},
-#line 70 "htmlattrs.gperf"
-      {"hspace", ATTR_HSPACE},
-#line 153 "htmlattrs.gperf"
-      {"results", ATTR_RESULTS},
-#line 135 "htmlattrs.gperf"
-      {"onsearch", ATTR_ONSEARCH},
-#line 148 "htmlattrs.gperf"
-      {"precision", ATTR_PRECISION},
-#line 144 "htmlattrs.gperf"
-      {"plain", ATTR_PLAIN},
-#line 34 "htmlattrs.gperf"
-      {"charoff", ATTR_CHAROFF},
-#line 78 "htmlattrs.gperf"
-      {"lang", ATTR_LANG},
-#line 157 "htmlattrs.gperf"
-      {"rules", ATTR_RULES},
-#line 189 "htmlattrs.gperf"
-      {"vspace", ATTR_VSPACE},
-#line 138 "htmlattrs.gperf"
-      {"onsubmit", ATTR_ONSUBMIT},
-#line 158 "htmlattrs.gperf"
+      {"pluginurl", ATTR_PLUGINURL},
+      {"placeholder", ATTR_PLACEHOLDER},
+      {"oversrc", ATTR_OVERSRC},
+      {"oncontextmenu", ATTR_ONCONTEXTMENU},
       {"scheme", ATTR_SCHEME},
-#line 26 "htmlattrs.gperf"
+      {"onblur", ATTR_ONBLUR},
       {"bgcolor", ATTR_BGCOLOR},
-#line 151 "htmlattrs.gperf"
-      {"readonly", ATTR_READONLY},
-#line 103 "htmlattrs.gperf"
-      {"onbeforecut", ATTR_ONBEFORECUT},
-#line 50 "htmlattrs.gperf"
-      {"content", ATTR_CONTENT},
-#line 59 "htmlattrs.gperf"
-      {"disabled", ATTR_DISABLED},
-#line 162 "htmlattrs.gperf"
-      {"scrolling", ATTR_SCROLLING},
-#line 13 "htmlattrs.gperf"
-      {"accept-charset", ATTR_ACCEPT_CHARSET},
-#line 74 "htmlattrs.gperf"
-      {"incremental", ATTR_INCREMENTAL},
-#line 139 "htmlattrs.gperf"
-      {"onunload", ATTR_ONUNLOAD},
-#line 68 "htmlattrs.gperf"
-      {"href", ATTR_HREF},
-#line 17 "htmlattrs.gperf"
-      {"align", ATTR_ALIGN},
-#line 121 "htmlattrs.gperf"
-      {"oninput", ATTR_ONINPUT},
-#line 154 "htmlattrs.gperf"
-      {"rev", ATTR_REV},
-#line 178 "htmlattrs.gperf"
-      {"topmargin", ATTR_TOPMARGIN},
-#line 116 "htmlattrs.gperf"
-      {"ondragover", ATTR_ONDRAGOVER},
-#line 27 "htmlattrs.gperf"
-      {"bgproperties", ATTR_BGPROPERTIES},
-#line 130 "htmlattrs.gperf"
+      {"multiple", ATTR_MULTIPLE},
+      {"html", ATTR_HTML},
       {"onmouseup", ATTR_ONMOUSEUP},
-#line 128 "htmlattrs.gperf"
       {"onmouseout", ATTR_ONMOUSEOUT},
-#line 65 "htmlattrs.gperf"
-      {"headers", ATTR_HEADERS},
-#line 33 "htmlattrs.gperf"
-      {"challenge", ATTR_CHALLENGE},
-#line 143 "htmlattrs.gperf"
-      {"placeholder", ATTR_PLACEHOLDER},
-#line 168 "htmlattrs.gperf"
-      {"standby", ATTR_STANDBY},
-#line 155 "htmlattrs.gperf"
-      {"rows", ATTR_ROWS},
-#line 192 "htmlattrs.gperf"
-      {"z-index", ATTR_Z_INDEX},
-#line 21 "htmlattrs.gperf"
       {"autocomplete", ATTR_AUTOCOMPLETE},
-#line 191 "htmlattrs.gperf"
-      {"wrap", ATTR_WRAP},
-#line 123 "htmlattrs.gperf"
-      {"onkeypress", ATTR_ONKEYPRESS},
-#line 91 "htmlattrs.gperf"
       {"method", ATTR_METHOD},
-#line 140 "htmlattrs.gperf"
-      {"oversrc", ATTR_OVERSRC},
-#line 115 "htmlattrs.gperf"
-      {"ondragleave", ATTR_ONDRAGLEAVE},
-#line 171 "htmlattrs.gperf"
-      {"summary", ATTR_SUMMARY},
-#line 98 "htmlattrs.gperf"
-      {"noshade", ATTR_NOSHADE},
-#line 172 "htmlattrs.gperf"
-      {"tabindex", ATTR_TABINDEX},
-#line 15 "htmlattrs.gperf"
-      {"accesskey", ATTR_ACCESSKEY},
-#line 93 "htmlattrs.gperf"
-      {"multiple", ATTR_MULTIPLE},
-#line 97 "htmlattrs.gperf"
-      {"nosave", ATTR_NOSAVE},
-#line 160 "htmlattrs.gperf"
-      {"scrollamount", ATTR_SCROLLAMOUNT},
-#line 92 "htmlattrs.gperf"
-      {"min", ATTR_MIN},
-#line 36 "htmlattrs.gperf"
-      {"checked", ATTR_CHECKED},
-#line 107 "htmlattrs.gperf"
-      {"onclick", ATTR_ONCLICK},
-#line 58 "htmlattrs.gperf"
-      {"direction", ATTR_DIRECTION},
-#line 30 "htmlattrs.gperf"
-      {"cellpadding", ATTR_CELLPADDING},
-#line 71 "htmlattrs.gperf"
-      {"html", ATTR_HTML},
-#line 31 "htmlattrs.gperf"
-      {"cellspacing", ATTR_CELLSPACING},
-#line 184 "htmlattrs.gperf"
-      {"value", ATTR_VALUE},
-#line 129 "htmlattrs.gperf"
-      {"onmouseover", ATTR_ONMOUSEOVER},
-#line 51 "htmlattrs.gperf"
-      {"contenteditable", ATTR_CONTENTEDITABLE},
-#line 106 "htmlattrs.gperf"
-      {"onchange", ATTR_ONCHANGE},
-#line 95 "htmlattrs.gperf"
-      {"nohref", ATTR_NOHREF},
-#line 76 "htmlattrs.gperf"
-      {"keytype", ATTR_KEYTYPE},
-#line 185 "htmlattrs.gperf"
-      {"valuetype", ATTR_VALUETYPE},
-#line 111 "htmlattrs.gperf"
-      {"ondblclick", ATTR_ONDBLCLICK},
-#line 124 "htmlattrs.gperf"
-      {"onkeyup", ATTR_ONKEYUP},
-#line 79 "htmlattrs.gperf"
-      {"language", ATTR_LANGUAGE},
-#line 127 "htmlattrs.gperf"
-      {"onmousemove", ATTR_ONMOUSEMOVE},
-#line 99 "htmlattrs.gperf"
-      {"nowrap", ATTR_NOWRAP},
-#line 156 "htmlattrs.gperf"
-      {"rowspan", ATTR_ROWSPAN},
-#line 22 "htmlattrs.gperf"
-      {"autosave", ATTR_AUTOSAVE},
-#line 186 "htmlattrs.gperf"
-      {"version", ATTR_VERSION},
-#line 145 "htmlattrs.gperf"
-      {"pluginpage", ATTR_PLUGINPAGE},
-#line 146 "htmlattrs.gperf"
-      {"pluginspage", ATTR_PLUGINSPAGE},
-#line 20 "htmlattrs.gperf"
-      {"archive", ATTR_ARCHIVE},
-#line 81 "htmlattrs.gperf"
-      {"leftmargin", ATTR_LEFTMARGIN},
-#line 183 "htmlattrs.gperf"
-      {"valign", ATTR_VALIGN},
-#line 69 "htmlattrs.gperf"
-      {"hreflang", ATTR_HREFLANG},
-#line 67 "htmlattrs.gperf"
-      {"hidden", ATTR_HIDDEN},
-#line 18 "htmlattrs.gperf"
-      {"alink", ATTR_ALINK},
-#line 147 "htmlattrs.gperf"
-      {"pluginurl", ATTR_PLUGINURL},
-#line 108 "htmlattrs.gperf"
-      {"oncontextmenu", ATTR_ONCONTEXTMENU},
-#line 66 "htmlattrs.gperf"
-      {"height", ATTR_HEIGHT},
-#line 25 "htmlattrs.gperf"
+      {"onmousedown", ATTR_ONMOUSEDOWN},
+      {"onbeforecopy", ATTR_ONBEFORECOPY},
       {"behavior", ATTR_BEHAVIOR},
-#line 88 "htmlattrs.gperf"
+      {"onbeforepaste", ATTR_ONBEFOREPASTE},
+      {"hreflang", ATTR_HREFLANG},
+      {"ondragenter", ATTR_ONDRAGENTER},
+      {"prompt", ATTR_PROMPT},
+      {"abbr", ATTR_ABBR},
+      {"ondragover", ATTR_ONDRAGOVER},
+      {"onbeforecut", ATTR_ONBEFORECUT},
+      {"charoff", ATTR_CHAROFF},
+      {"ondragstart", ATTR_ONDRAGSTART},
+      {"onsubmit", ATTR_ONSUBMIT},
       {"maxlength", ATTR_MAXLENGTH},
-#line 187 "htmlattrs.gperf"
-      {"visibility", ATTR_VISIBILITY},
-#line 126 "htmlattrs.gperf"
-      {"onmousedown", ATTR_ONMOUSEDOWN},
-#line 82 "htmlattrs.gperf"
-      {"link", ATTR_LINK},
-#line 24 "htmlattrs.gperf"
+      {"mayscript", ATTR_MAYSCRIPT},
+      {"border", ATTR_BORDER},
+      {"onerror", ATTR_ONERROR},
+      {"incremental", ATTR_INCREMENTAL},
+      {"topmargin", ATTR_TOPMARGIN},
+      {"bgproperties", ATTR_BGPROPERTIES},
+      {"onmouseover", ATTR_ONMOUSEOVER},
       {"background", ATTR_BACKGROUND},
-#line 190 "htmlattrs.gperf"
-      {"width", ATTR_WIDTH},
-#line 72 "htmlattrs.gperf"
-      {"http-equiv", ATTR_HTTP_EQUIV},
-#line 188 "htmlattrs.gperf"
-      {"vlink", ATTR_VLINK},
-#line 122 "htmlattrs.gperf"
-      {"onkeydown", ATTR_ONKEYDOWN},
-#line 85 "htmlattrs.gperf"
-      {"marginheight", ATTR_MARGINHEIGHT},
-#line 86 "htmlattrs.gperf"
+      {"cellborder", ATTR_CELLBORDER},
+      {"frame", ATTR_FRAME},
+      {"scrollamount", ATTR_SCROLLAMOUNT},
+      {"leftmargin", ATTR_LEFTMARGIN},
+      {"onmousemove", ATTR_ONMOUSEMOVE},
       {"marginwidth", ATTR_MARGINWIDTH},
-#line 181 "htmlattrs.gperf"
-      {"unknown", ATTR_UNKNOWN}
+      {"tableborder", ATTR_TABLEBORDER},
+      {"bordercolor", ATTR_BORDERCOLOR},
+      {"marginheight", ATTR_MARGINHEIGHT},
+      {"summary", ATTR_SUMMARY},
+      {"frameborder", ATTR_FRAMEBORDER}
     };
 
   static const short lookup[] =
     {
-       -1,  -1,  -1,   0,  -1,  -1,   1,  -1,   2,  -1,
-        3,   4,   5,  -1,   6,  -1,  -1,   7,  -1,   8,
-       -1,   9,  10,  -1,  11,  12,  13,  -1,  -1,  14,
-       -1,  15,  16,  17,  -1,  -1,  18,  19,  20,  21,
-       -1,  22,  23,  24,  25,  -1,  -1,  -1,  26,  27,
-       28,  -1,  -1,  29,  30,  31,  32,  33,  34,  -1,
-       35,  36,  37,  38,  -1,  -1,  -1,  -1,  39,  -1,
-       -1,  40,  -1,  -1,  -1,  -1,  41,  -1,  42,  -1,
-       43,  44,  -1,  -1,  45,  46,  -1,  47,  -1,  -1,
-       48,  -1,  -1,  -1,  -1,  49,  -1,  -1,  50,  51,
-       52,  -1,  53,  -1,  54,  -1,  -1,  -1,  55,  56,
-       -1,  57,  -1,  -1,  58,  59,  -1,  60,  -1,  -1,
-       61,  -1,  62,  63,  -1,  -1,  -1,  64,  -1,  -1,
-       65,  66,  -1,  67,  68,  69,  70,  -1,  71,  72,
-       73,  74,  -1,  -1,  -1,  75,  -1,  -1,  -1,  76,
-       -1,  77,  -1,  -1,  78,  -1,  79,  80,  81,  82,
-       83,  84,  -1,  85,  86,  -1,  87,  88,  89,  90,
-       91,  -1,  92,  -1,  93,  94,  95,  -1,  -1,  -1,
-       -1,  -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  97,  98,  99,  -1,  -1, 100, 101, 102, 103,
-       -1,  -1,  -1,  -1, 104,  -1, 105,  -1, 106, 107,
-      108,  -1, 109, 110, 111, 112,  -1, 113,  -1, 114,
-      115,  -1, 116,  -1, 117,  -1, 118, 119,  -1, 120,
-       -1,  -1, 121,  -1,  -1,  -1,  -1, 122,  -1, 123,
-      124, 125, 126,  -1,  -1,  -1, 127, 128,  -1,  -1,
-       -1,  -1, 129, 130, 131,  -1,  -1,  -1, 132,  -1,
-       -1, 133, 134, 135,  -1,  -1,  -1, 136,  -1,  -1,
-       -1,  -1, 137,  -1, 138,  -1, 139,  -1,  -1, 140,
-       -1, 141,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,
-       -1, 143,  -1,  -1,  -1, 144,  -1,  -1, 145,  -1,
-       -1, 146, 147,  -1, 148,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 149,  -1, 150, 151,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 152,  -1,  -1,  -1,
-       -1, 153, 154, 155,  -1,  -1,  -1, 156,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 157, 158, 159,  -1,  -1,
-      160,  -1,  -1,  -1,  -1,  -1, 161,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 162,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 163,  -1,  -1,  -1,
-      164,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 165,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 166,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 167,  -1,  -1,  -1,
-       -1,  -1,  -1, 168,  -1,  -1,  -1,  -1,  -1, 169,
-       -1,  -1,  -1,  -1,  -1, 170,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 171,  -1,  -1, 172,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      173,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 174,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 175,  -1,  -1,  -1,  -1,
-      176,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 177,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 178,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 179,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 180
+        -1,   -1,   -1,    0,   -1,   -1,   -1,   -1,
+        -1,    1,   -1,   -1,   -1,   -1,    2,   -1,
+        -1,    3,   -1,    4,    5,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,    6,   -1,    7,
+         8,   -1,    9,   10,   -1,   -1,   -1,   11,
+        -1,   -1,   12,   -1,   -1,   -1,   13,   14,
+        -1,   15,   -1,   -1,   -1,   16,   -1,   17,
+        18,   -1,   -1,   19,   -1,   20,   -1,   21,
+        22,   23,   -1,   -1,   -1,   -1,   -1,   24,
+        25,   -1,   -1,   -1,   -1,   -1,   26,   -1,
+        27,   -1,   28,   -1,   -1,   29,   -1,   30,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   31,   -1,   -1,   -1,   -1,   -1,
+        -1,   32,   -1,   -1,   -1,   33,   -1,   34,
+        -1,   -1,   -1,   35,   -1,   -1,   -1,   36,
+        37,   -1,   -1,   -1,   38,   -1,   -1,   39,
+        -1,   -1,   -1,   -1,   40,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   41,   42,   -1,   -1,
+        -1,   43,   -1,   44,   -1,   -1,   45,   46,
+        -1,   47,   48,   49,   -1,   -1,   50,   -1,
+        -1,   -1,   -1,   -1,   51,   -1,   -1,   -1,
+        -1,   52,   -1,   -1,   -1,   -1,   53,   -1,
+        -1,   54,   55,   -1,   -1,   56,   -1,   -1,
+        -1,   57,   58,   59,   -1,   -1,   -1,   -1,
+        -1,   -1,   60,   -1,   61,   62,   -1,   -1,
+        -1,   -1,   -1,   63,   -1,   64,   -1,   65,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   66, -411, -114,   -2,   -1,
+        -1,   69,   -1,   -1,   -1,   -1,   70,   71,
+        -1,   -1,   -1,   -1,   -1,   72,   -1,   73,
+        74,   -1,   75,   76,   -1,   -1,   -1,   77,
+        78,   -1,   -1,   79,   80,   81,   82,   83,
+        84,   85,   86,   -1,   87,   -1,   -1,   -1,
+        88,   89,   -1,   -1,   -1,   -1,   90,   91,
+        -1,   92,   -1,   -1,   93,   -1,   94,   -1,
+        -1,   -1,   95,   -1,   96,   -1,   -1,   -1,
+        -1,   -1,   97,   -1,   98,   -1,   -1,   -1,
+        -1,   -1,   99,   -1,  100,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       101,   -1,   -1,   -1,   -1,   -1,   -1,  102,
+        -1,   -1,   -1,   -1,   -1,  103,   -1,   -1,
+        -1,  104,  105,  106,  107,   -1,   -1,  108,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  109,
+        -1,   -1,  110,   -1,   -1,   -1,   -1,  111,
+        -1,   -1,   -1,  112,   -1,   -1,   -1,  113,
+       114,   -1,   -1,   -1,  115,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  116,   -1,
+       117,  118,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  119,  120,   -1,   -1,   -1,  121,
+       122,   -1,  123,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  124,  125,   -1,   -1,  126,  127,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  128,   -1,  129,   -1,   -1,  130,
+       131,  132,   -1,  133,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  134,   -1,   -1,  135,   -1,  136,
+       137,  138,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  139,   -1,   -1,   -1,   -1,  140,  141,
+        -1,   -1,   -1,   -1,   -1,  142,  143,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       144,  145,   -1,  146,   -1,   -1,   -1,  147,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  148,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  149,  150,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  151,   -1,   -1,   -1,   -1,  152,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  153,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  154,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  155,  156,  157,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  158,   -1,   -1,   -1,  159,   -1,
+       160,  161,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  162,   -1,   -1,   -1,
+        -1,   -1,   -1,  163,  164,   -1,   -1,   -1,
+       165,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  166,   -1,   -1,
+       167,   -1,   -1,   -1,  168,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  169,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  170,   -1,   -1,
+        -1,   -1,  171,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  172,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  173,  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,  175,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  176,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  177,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  178,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  179,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  180
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -604,12 +481,25 @@ findAttr (register const char *str, register unsigned int len)
               if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
                 return &wordlist_attr[index];
             }
+          else if (index < -TOTAL_KEYWORDS)
+            {
+              register int offset = - 1 - TOTAL_KEYWORDS - index;
+              register const struct attrs *wordptr = &wordlist_attr[TOTAL_KEYWORDS + lookup[offset]];
+              register const struct attrs *wordendptr = wordptr + -lookup[offset + 1];
+
+              while (wordptr < wordendptr)
+                {
+                  register const char *s = wordptr->name;
+
+                  if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                    return wordptr;
+                  wordptr++;
+                }
+            }
         }
     }
   return 0;
 }
-#line 193 "htmlattrs.gperf"
-
 
 
 static const char * const attrList[] = {
index e7b6ff1bf7322789cd5c5944c7869546ff3dd9d0..175e79881ac5fc178b4c100cabc15f17332a5ba3 100644 (file)
@@ -1,44 +1,13 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 2.7.2 */
 /* Command-line: gperf -a -L ANSI-C -D -E -C -l -o -t -k '*' -NfindTag -Hhash_tag -Wwordlist_tag htmltags.gperf  */
-
-#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
-      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
-      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
-      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
-      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
-      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
-      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
-      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
-      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
-      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
-      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
-      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
-      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
-      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
-      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
-      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
-      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
-      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
-      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
-      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
-      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
-      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
-      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
-/* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
-#endif
-
-#line 1 "htmltags.gperf"
-
 /* This file is automatically generated from htmltags.in by maketags, do not edit */
 /* Copyright 1999 Lars Knoll */
 #include "htmltags.h"
-#line 6 "htmltags.gperf"
 struct tags {
     const char *name;
     int id;
 };
-/* maximum key range = 365, duplicates = 0 */
+/* maximum key range = 305, duplicates = 1 */
 
 #ifdef __GNUC__
 __inline
@@ -52,64 +21,56 @@ hash_tag (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-       60,  55,  50,  45,  40,   5, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366,  15,  10,  35,
-       10,   5,  10,  10,  50,  40, 115,  30,   5,  15,
-       30,  55,   5,  85,  20,   0,   0,  65,  55,  35,
-       95,  70, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
-      366, 366, 366, 366, 366, 366, 366
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306,  30,
+       35,  40,  15,  25,  10, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306,   0,   5,  30,
+       35,   0, 105,   5,  47,  10,   0,  25,  45,  30,
+       15,   0, 100,  25,   5,  30,   0,  87,  90,   0,
+       20, 115, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
+      306, 306, 306, 306, 306, 306
     };
   register int hval = len;
 
   switch (hval)
     {
       default:
+      case 10:
         hval += asso_values[(unsigned char)str[9]];
-      /*FALLTHROUGH*/
       case 9:
         hval += asso_values[(unsigned char)str[8]];
-      /*FALLTHROUGH*/
       case 8:
         hval += asso_values[(unsigned char)str[7]];
-      /*FALLTHROUGH*/
       case 7:
         hval += asso_values[(unsigned char)str[6]];
-      /*FALLTHROUGH*/
       case 6:
         hval += asso_values[(unsigned char)str[5]];
-      /*FALLTHROUGH*/
       case 5:
         hval += asso_values[(unsigned char)str[4]];
-      /*FALLTHROUGH*/
       case 4:
         hval += asso_values[(unsigned char)str[3]];
-      /*FALLTHROUGH*/
       case 3:
         hval += asso_values[(unsigned char)str[2]];
-      /*FALLTHROUGH*/
       case 2:
-        hval += asso_values[(unsigned char)str[1]+1];
-      /*FALLTHROUGH*/
+        hval += asso_values[(unsigned char)str[1]];
       case 1:
         hval += asso_values[(unsigned char)str[0]];
         break;
@@ -129,273 +90,170 @@ findTag (register const char *str, register unsigned int len)
       MIN_WORD_LENGTH = 1,
       MAX_WORD_LENGTH = 10,
       MIN_HASH_VALUE = 1,
-      MAX_HASH_VALUE = 365
+      MAX_HASH_VALUE = 305
     };
 
   static const unsigned char lengthtable[] =
     {
-       1,  2,  1,  2,  1,  2,  3,  1,  2,  2,  3,  4,  3,  4,
-       5,  2,  4,  5,  1,  2,  4,  3,  4,  5,  2,  3,  4,  2,
-       8,  4,  5,  6,  7,  3,  5,  1,  2,  3,  4,  5,  2,  3,
-       5,  6,  2,  3,  6,  2,  3,  4,  1,  7,  3,  4,  2,  3,
-       2,  3,  4,  2,  5,  6,  2,  8,  6,  2,  5,  6,  2,  4,
-       5,  8,  5,  3,  4,  3,  4,  8,  3,  5,  6,  6,  7,  8,
-       4,  6,  6,  8,  5,  5,  7,  3,  4,  6,  7,  8,  7,  9,
-       7,  7,  6,  6,  6,  8, 10
+       1,  2,  1,  2,  4,  1,  2,  3,  4,  3,  1,  4,  1,  2,
+       8,  4,  2,  2,  4,  6,  3,  4,  2,  3,  2,  5,  3,  2,
+       5,  6,  2,  3,  2,  5,  6,  2,  3,  4,  2,  2,  5,  6,
+       3,  2,  2,  3,  2,  4,  5,  1,  2,  7,  3,  4,  5,  1,
+       6,  6,  3,  5,  6,  6,  7,  4,  3,  4,  7,  6,  3,  2,
+       4,  3,  5,  7,  4,  5,  4,  3,  7,  5,  6,  3,  4,  5,
+       7,  8,  4,  6,  5,  6,  8,  6,  7,  8,  5,  8,  9,  7,
+       5,  3, 10,  8,  6,  8,  8
     };
   static const struct tags wordlist_tag[] =
     {
-#line 87 "htmltags.gperf"
-      {"s", ID_S},
-#line 106 "htmltags.gperf"
-      {"tr", ID_TR},
-#line 82 "htmltags.gperf"
-      {"p", ID_P},
-#line 100 "htmltags.gperf"
-      {"td", ID_TD},
-#line 17 "htmltags.gperf"
-      {"b", ID_B},
-#line 24 "htmltags.gperf"
-      {"br", ID_BR},
-#line 85 "htmltags.gperf"
-      {"pre", ID_PRE},
-#line 11 "htmltags.gperf"
       {"a", ID_A},
-#line 33 "htmltags.gperf"
-      {"dd", ID_DD},
-#line 38 "htmltags.gperf"
-      {"dl", ID_DL},
-#line 34 "htmltags.gperf"
-      {"del", ID_DEL},
-#line 18 "htmltags.gperf"
-      {"base", ID_BASE},
-#line 69 "htmltags.gperf"
-      {"map", ID_MAP},
-#line 88 "htmltags.gperf"
-      {"samp", ID_SAMP},
-#line 98 "htmltags.gperf"
-      {"table", ID_TABLE},
-#line 40 "htmltags.gperf"
-      {"em", ID_EM},
-#line 16 "htmltags.gperf"
+      {"tt", ID_TT},
+      {"b", ID_B},
+      {"tr", ID_TR},
       {"area", ID_AREA},
-#line 64 "htmltags.gperf"
-      {"label", ID_LABEL},
-#line 56 "htmltags.gperf"
       {"i", ID_I},
-#line 103 "htmltags.gperf"
-      {"th", ID_TH},
-#line 72 "htmltags.gperf"
+      {"br", ID_BR},
+      {"wbr", ID_WBR},
+      {"abbr", ID_ABBR},
+      {"big", ID_BIG},
+      {"q", ID_Q},
+      {"nobr", ID_NOBR},
+      {"s", ID_S},
+      {"em", ID_EM},
+      {"textarea", ID_TEXTAREA},
       {"meta", ID_META},
-#line 31 "htmltags.gperf"
-      {"col", ID_COL},
-#line 43 "htmltags.gperf"
-      {"font", ID_FONT},
-#line 45 "htmltags.gperf"
-      {"frame", ID_FRAME},
-#line 54 "htmltags.gperf"
+      {"dt", ID_DT},
+      {"td", ID_TD},
+      {"base", ID_BASE},
+      {"object", ID_OBJECT},
+      {"bdo", ID_BDO},
+      {"cite", ID_CITE},
+      {"ol", ID_OL},
+      {"img", ID_IMG},
+      {"th", ID_TH},
+      {"image", ID_IMG},
+      {"dir", ID_DIR},
       {"hr", ID_HR},
-#line 35 "htmltags.gperf"
-      {"dfn", ID_DFN},
-#line 44 "htmltags.gperf"
-      {"form", ID_FORM},
-#line 52 "htmltags.gperf"
+      {"table", ID_TABLE},
+      {"center", ID_CENTER},
+      {"li", ID_LI},
+      {"ins", ID_INS},
       {"h6", ID_H6},
-#line 46 "htmltags.gperf"
-      {"frameset", ID_FRAMESET},
-#line 30 "htmltags.gperf"
+      {"title", ID_TITLE},
+      {"strong", ID_STRONG},
+      {"h4", ID_H4},
+      {"kbd", ID_KBD},
       {"code", ID_CODE},
-#line 91 "htmltags.gperf"
-      {"small", ID_SMALL},
-#line 90 "htmltags.gperf"
-      {"select", ID_SELECT},
-#line 14 "htmltags.gperf"
-      {"address", ID_ADDRESS},
-#line 97 "htmltags.gperf"
-      {"sup", ID_SUP},
-#line 41 "htmltags.gperf"
+      {"dd", ID_DD},
+      {"h5", ID_H5},
       {"embed", ID_EMBED},
-#line 108 "htmltags.gperf"
-      {"u", ID_U},
-#line 107 "htmltags.gperf"
-      {"tt", ID_TT},
-#line 96 "htmltags.gperf"
-      {"sub", ID_SUB},
-#line 73 "htmltags.gperf"
-      {"nobr", ID_NOBR},
-#line 83 "htmltags.gperf"
-      {"param", ID_PARAM},
-#line 79 "htmltags.gperf"
-      {"ol", ID_OL},
-#line 20 "htmltags.gperf"
-      {"bdo", ID_BDO},
-#line 104 "htmltags.gperf"
+      {"strike", ID_STRIKE},
+      {"col", ID_COL},
+      {"h1", ID_H1},
+      {"dl", ID_DL},
+      {"del", ID_DEL},
+      {"h2", ID_H2},
+      {"head", ID_HEAD},
       {"thead", ID_THEAD},
-#line 66 "htmltags.gperf"
-      {"legend", ID_LEGEND},
-#line 39 "htmltags.gperf"
-      {"dt", ID_DT},
-#line 62 "htmltags.gperf"
-      {"kbd", ID_KBD},
-#line 89 "htmltags.gperf"
-      {"script", ID_SCRIPT},
-#line 109 "htmltags.gperf"
-      {"ul", ID_UL},
-#line 58 "htmltags.gperf"
-      {"img", ID_IMG},
-#line 12 "htmltags.gperf"
-      {"abbr", ID_ABBR},
-#line 86 "htmltags.gperf"
-      {"q", ID_Q},
-#line 74 "htmltags.gperf"
+      {"u", ID_U},
+      {"h3", ID_H3},
       {"noembed", ID_NOEMBED},
-#line 110 "htmltags.gperf"
       {"var", ID_VAR},
-#line 53 "htmltags.gperf"
-      {"head", ID_HEAD},
-#line 51 "htmltags.gperf"
-      {"h5", ID_H5},
-#line 111 "htmltags.gperf"
-      {"wbr", ID_WBR},
-#line 50 "htmltags.gperf"
-      {"h4", ID_H4},
-#line 60 "htmltags.gperf"
-      {"ins", ID_INS},
-#line 23 "htmltags.gperf"
-      {"body", ID_BODY},
-#line 49 "htmltags.gperf"
-      {"h3", ID_H3},
-#line 114 "htmltags.gperf"
-      {"image", ID_IMG},
-#line 28 "htmltags.gperf"
-      {"center", ID_CENTER},
-#line 48 "htmltags.gperf"
-      {"h2", ID_H2},
-#line 75 "htmltags.gperf"
-      {"noframes", ID_NOFRAMES},
-#line 57 "htmltags.gperf"
-      {"iframe", ID_IFRAME},
-#line 47 "htmltags.gperf"
-      {"h1", ID_H1},
-#line 65 "htmltags.gperf"
-      {"layer", ID_LAYER},
-#line 15 "htmltags.gperf"
-      {"applet", ID_APPLET},
-#line 67 "htmltags.gperf"
-      {"li", ID_LI},
-#line 71 "htmltags.gperf"
-      {"menu", ID_MENU},
-#line 102 "htmltags.gperf"
+      {"link", ID_LINK},
+      {"label", ID_LABEL},
+      {"p", ID_P},
+      {"anchor", ID_A},
+      {"legend", ID_LEGEND},
+      {"pre", ID_PRE},
       {"tfoot", ID_TFOOT},
-#line 19 "htmltags.gperf"
-      {"basefont", ID_BASEFONT},
-#line 105 "htmltags.gperf"
-      {"title", ID_TITLE},
-#line 112 "htmltags.gperf"
-      {"xmp", ID_XMP},
-#line 92 "htmltags.gperf"
-      {"span", ID_SPAN},
-#line 21 "htmltags.gperf"
-      {"big", ID_BIG},
-#line 55 "htmltags.gperf"
-      {"html", ID_HTML},
-#line 76 "htmltags.gperf"
-      {"noscript", ID_NOSCRIPT},
-#line 36 "htmltags.gperf"
-      {"dir", ID_DIR},
-#line 95 "htmltags.gperf"
-      {"style", ID_STYLE},
-#line 26 "htmltags.gperf"
-      {"canvas", ID_CANVAS},
-#line 25 "htmltags.gperf"
+      {"select", ID_SELECT},
       {"button", ID_BUTTON},
-#line 77 "htmltags.gperf"
-      {"nolayer", ID_NOLAYER},
-#line 42 "htmltags.gperf"
-      {"fieldset", ID_FIELDSET},
-#line 29 "htmltags.gperf"
-      {"cite", ID_CITE},
-#line 63 "htmltags.gperf"
-      {"keygen", ID_KEYGEN},
-#line 93 "htmltags.gperf"
-      {"strike", ID_STRIKE},
-#line 101 "htmltags.gperf"
-      {"textarea", ID_TEXTAREA},
-#line 59 "htmltags.gperf"
-      {"input", ID_INPUT},
-#line 99 "htmltags.gperf"
-      {"tbody", ID_TBODY},
-#line 27 "htmltags.gperf"
-      {"caption", ID_CAPTION},
-#line 37 "htmltags.gperf"
-      {"div", ID_DIV},
-#line 68 "htmltags.gperf"
-      {"link", ID_LINK},
-#line 94 "htmltags.gperf"
-      {"strong", ID_STRONG},
-#line 115 "htmltags.gperf"
       {"listing", ID_PRE},
-#line 32 "htmltags.gperf"
-      {"colgroup", ID_COLGROUP},
-#line 70 "htmltags.gperf"
+      {"font", ID_FONT},
+      {"sub", ID_SUB},
+      {"html", ID_HTML},
+      {"isindex", ID_ISINDEX},
+      {"option", ID_OPTION},
+      {"map", ID_MAP},
+      {"ul", ID_UL},
+      {"menu", ID_MENU},
+      {"div", ID_DIV},
+      {"param", ID_PARAM},
+      {"address", ID_ADDRESS},
+      {"form", ID_FORM},
+      {"frame", ID_FRAME},
+      {"span", ID_SPAN},
+      {"xmp", ID_XMP},
       {"marquee", ID_MARQUEE},
-#line 84 "htmltags.gperf"
+      {"small", ID_SMALL},
+      {"iframe", ID_IFRAME},
+      {"dfn", ID_DFN},
+      {"body", ID_BODY},
+      {"tbody", ID_TBODY},
+      {"caption", ID_CAPTION},
+      {"basefont", ID_BASEFONT},
+      {"samp", ID_SAMP},
+      {"keygen", ID_KEYGEN},
+      {"layer", ID_LAYER},
+      {"canvas", ID_CANVAS},
+      {"frameset", ID_FRAMESET},
+      {"script", ID_SCRIPT},
+      {"nolayer", ID_NOLAYER},
+      {"noframes", ID_NOFRAMES},
+      {"style", ID_STYLE},
+      {"noscript", ID_NOSCRIPT},
       {"plaintext", ID_PLAINTEXT},
-#line 13 "htmltags.gperf"
       {"acronym", ID_ACRONYM},
-#line 61 "htmltags.gperf"
-      {"isindex", ID_ISINDEX},
-#line 113 "htmltags.gperf"
-      {"anchor", ID_A},
-#line 78 "htmltags.gperf"
-      {"object", ID_OBJECT},
-#line 81 "htmltags.gperf"
-      {"option", ID_OPTION},
-#line 80 "htmltags.gperf"
-      {"optgroup", ID_OPTGROUP},
-#line 22 "htmltags.gperf"
-      {"blockquote", ID_BLOCKQUOTE}
+      {"input", ID_INPUT},
+      {"sup", ID_SUP},
+      {"blockquote", ID_BLOCKQUOTE},
+      {"fieldset", ID_FIELDSET},
+      {"applet", ID_APPLET},
+      {"colgroup", ID_COLGROUP},
+      {"optgroup", ID_OPTGROUP}
     };
 
-  static const signed char lookup[] =
+  static const short lookup[] =
     {
-       -1,   0,   1,  -1,  -1,  -1,   2,   3,  -1,  -1,
-       -1,   4,   5,   6,  -1,  -1,   7,   8,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,   9,  10,  11,
-       -1,  -1,  -1,  12,  13,  14,  -1,  15,  -1,  16,
-       17,  18,  19,  -1,  20,  -1,  -1,  -1,  21,  22,
-       23,  -1,  24,  25,  26,  -1,  -1,  27,  28,  29,
-       30,  31,  32,  33,  -1,  34,  35,  36,  37,  38,
-       39,  -1,  40,  41,  -1,  42,  43,  44,  45,  -1,
-       -1,  46,  47,  48,  49,  -1,  50,  51,  52,  53,
-       -1,  -1,  54,  55,  -1,  -1,  -1,  56,  57,  58,
-       -1,  -1,  59,  -1,  -1,  60,  61,  62,  63,  -1,
-       -1,  64,  65,  -1,  -1,  66,  -1,  -1,  -1,  -1,
-       -1,  67,  68,  -1,  69,  70,  -1,  -1,  71,  -1,
-       72,  -1,  -1,  73,  74,  -1,  -1,  -1,  75,  76,
-       -1,  -1,  -1,  77,  -1,  -1,  -1,  -1,  78,  -1,
-       79,  80,  -1,  -1,  -1,  -1,  81,  82,  83,  84,
-       -1,  85,  -1,  -1,  -1,  -1,  86,  -1,  87,  -1,
-       88,  -1,  -1,  -1,  -1,  89,  -1,  -1,  -1,  -1,
-       -1,  -1,  90,  91,  92,  -1,  93,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  94,  95,  -1,
-       -1,  -1,  96,  -1,  97,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  98,  -1,  -1,  -1,  -1,  99,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 100,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 101,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 102,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 103,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 104
+        -1,    0,    1,   -1,   -1,   -1,    2,    3,
+        -1,    4,   -1,    5,    6,    7,   -1,   -1,
+        -1,   -1,   -1,    8,   -1,   -1,   -1,    9,
+        -1,   -1,   10,   -1,   -1,   11,   -1,   12,
+        13,   14,   15,   -1,   -1, -151,   -1,   18,
+        -1,   19,   -1,   20,   21,  -89,   -2,   22,
+        23,   24,   25,   -1,   -1,   26,   27,   28,
+        29,   30,   31,   32,   33,   34,   -1,   -1,
+        35,   -1,   -1,   -1,   36,   37,   -1,   -1,
+        38,   -1,   39,   40,   41,   -1,   42,   43,
+        -1,   -1,   44,   45,   46,   -1,   47,   48,
+        49,   50,   -1,   -1,   51,   -1,   -1,   -1,
+        -1,   -1,   52,   53,   54,   55,   -1,   56,
+        -1,   -1,   57,   -1,   58,   -1,   59,   60,
+        -1,   61,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   62,   -1,   63,   64,   65,   66,
+        -1,   -1,   -1,   67,   -1,   68,   69,   -1,
+        70,   -1,   71,   -1,   72,   -1,   73,   -1,
+        74,   75,   -1,   -1,   -1,   76,   -1,   -1,
+        -1,   77,   78,   79,   80,   -1,   81,   82,
+        83,   -1,   84,   85,   86,   -1,   87,   -1,
+        -1,   -1,   88,   89,   -1,   -1,   -1,   -1,
+        -1,   -1,   90,   -1,   -1,   91,   -1,   -1,
+        -1,   -1,   -1,   92,   -1,   -1,   -1,   -1,
+        -1,   93,   -1,   94,   -1,   -1,   95,   96,
+        -1,   -1,   97,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   98,   -1,   -1,   99,   -1,   -1,   -1,
+        -1,   -1,   -1,  100,   -1,   -1,   -1,   -1,
+        -1,  101,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  102,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       103,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  104
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -416,12 +274,30 @@ findTag (register const char *str, register unsigned int len)
                     return &wordlist_tag[index];
                 }
             }
+          else if (index < -TOTAL_KEYWORDS)
+            {
+              register int offset = - 1 - TOTAL_KEYWORDS - index;
+              register const unsigned char *lengthptr = &lengthtable[TOTAL_KEYWORDS + lookup[offset]];
+              register const struct tags *wordptr = &wordlist_tag[TOTAL_KEYWORDS + lookup[offset]];
+              register const struct tags *wordendptr = wordptr + -lookup[offset + 1];
+
+              while (wordptr < wordendptr)
+                {
+                  if (len == *lengthptr)
+                    {
+                      register const char *s = wordptr->name;
+
+                      if (*str == *s && !memcmp (str + 1, s + 1, len - 1))
+                        return wordptr;
+                    }
+                  lengthptr++;
+                  wordptr++;
+                }
+            }
         }
     }
   return 0;
 }
-#line 116 "htmltags.gperf"
-
 
 
 static const char * const tagList[] = {
index 3bd11a29dd48834abdaa8f12a4aed6a6c9962c09..ff1d2dbc4cb809d7e1a60aa59b549483d0e68e14 100644 (file)
@@ -1416,13 +1416,16 @@ void Loader::servePendingRequests()
          job->addMetaData("cross-domain", "true");
   }
 
+#if APPLE_CHANGES
+  connect( job, SIGNAL( result( KIO::Job *, NSData *) ), this, SLOT( slotFinished( KIO::Job *, NSData *) ) );
+#else
   connect( job, SIGNAL( result( KIO::Job * ) ), this, SLOT( slotFinished( KIO::Job * ) ) );
-
+#endif
+  
 #if APPLE_CHANGES
   connect( job, SIGNAL( data( KIO::Job*, const char *, int)),
            SLOT( slotData( KIO::Job*, const char *, int)));
   connect( job, SIGNAL( receivedResponse( KIO::Job *, NSURLResponse *)), SLOT( slotReceivedResponse( KIO::Job *, NSURLResponse *)) );
-  connect( job, SIGNAL( allData( KIO::Job *, NSData *)), SLOT( slotAllData( KIO::Job *, NSData *)) );
 
   if (KWQServeRequest(this, req, job))
       m_requestsLoading.insert(job, req);
@@ -1437,7 +1440,11 @@ void Loader::servePendingRequests()
 #endif // APPLE_CHANGES
 }
 
+#if APPLE_CHANGES
+void Loader::slotFinished( KIO::Job* job, NSData *allData)
+#else
 void Loader::slotFinished( KIO::Job* job )
+#endif
 {
   Request *r = m_requestsLoading.take( job );
   KIO::TransferJob* j = static_cast<KIO::TransferJob*>(job);
@@ -1454,6 +1461,9 @@ void Loader::slotFinished( KIO::Job* job )
   else
   {
       r->object->data(r->m_buffer, true);
+#if APPLE_CHANGES
+      r->object->setAllData(allData);
+#endif 
       emit requestDone( r->m_docLoader, r->object );
 #if !APPLE_CHANGES
       time_t expireDate = j->queryMetaData("expire-date").toLong();
@@ -1489,14 +1499,6 @@ void Loader::slotReceivedResponse(KIO::Job* job, NSURLResponse *response)
     r->object->setExpireDate(KWQCacheObjectExpiresTime(r->m_docLoader, response), false);
 }
 
-void Loader::slotAllData(KIO::Job* job, NSData *data)
-{
-    Request *r = m_requestsLoading[job];
-    ASSERT(r);
-    ASSERT(data);
-    r->object->setAllData(data);
-}
-
 #endif
 
 #if APPLE_CHANGES
index e0b76ea772cbcecfbbaa6559c527fd221fd28662..a80c652198cb2d215ea845359ebb61f371897560 100644 (file)
@@ -523,12 +523,12 @@ protected:
        void requestFailed( khtml::DocLoader* dl, khtml::CachedObject *obj );
 
     protected slots:
-       void slotFinished( KIO::Job * );
 #if APPLE_CHANGES
+        void slotFinished( KIO::Job * , NSData *allData);
        void slotData( KIO::Job *, const char *data, int size );
         void slotReceivedResponse ( KIO::Job *, NSURLResponse *response );
-        void slotAllData( KIO::Job *, NSData *data );
 #else
+        void slotFinished( KIO::Job * );
        void slotData( KIO::Job *, const QByteArray & );
 #endif
 
index 8627fac27acef9cbb9f20e2e2195a51f45339aa0..388b91339d50ea0b3a381a864a558e7a4de7dcd8 100644 (file)
@@ -77,9 +77,8 @@ public:
 
     void emitData(const char *, int);
     void emitRedirection(const KURL &);
-    void emitResult();
+    void emitResult(NSData *);
     void emitReceivedResponse(NSURLResponse *);
-    void emitAllData(NSData *);
 
     khtml::FormData postData() const;
     QString method() const;
@@ -94,7 +93,6 @@ private:
     KWQSignal m_redirection;
     KWQSignal m_result;
     KWQSignal m_receivedResponse;
-    KWQSignal m_allData;
 };
 
 } // namespace KIO
index ff73d798d20efb4312881e7b5fce25150bd4ad7f..bbfa81b58767cf253d5fef7e429bea3b74f72313 100644 (file)
@@ -95,9 +95,8 @@ TransferJob::TransferJob(const KURL &url, bool reload)
     : d(new TransferJobPrivate(url)),
       m_data(this, SIGNAL(data(KIO::Job*, const char*, int))),
       m_redirection(this, SIGNAL(redirection(KIO::Job*, const KURL&))),
-      m_result(this, SIGNAL(result(KIO::Job*))),
-      m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *))),
-      m_allData(this, SIGNAL(allData(KIO::Job*, NSData *)))
+      m_result(this, SIGNAL(result(KIO::Job*, NSData *))),
+      m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *)))
 {
 }
 
@@ -105,9 +104,8 @@ TransferJob::TransferJob(const KURL &url, const FormData &postData)
     : d(new TransferJobPrivate(url, postData)),
       m_data(this, SIGNAL(data(KIO::Job*, const char*, int))),
       m_redirection(this, SIGNAL(redirection(KIO::Job*, const KURL&))),
-      m_result(this, SIGNAL(result(KIO::Job*))),
-      m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *))),
-      m_allData(this, SIGNAL(allData(KIO::Job*, NSData *)))
+      m_result(this, SIGNAL(result(KIO::Job*, NSData *))),
+      m_receivedResponse(this, SIGNAL(receivedResponse(KIO::Job*, NSURLResponse *)))
 {
 }
 
@@ -232,9 +230,9 @@ void TransferJob::emitRedirection(const KURL &url)
     m_redirection.call(this, url);
 }
 
-void TransferJob::emitResult()
+void TransferJob::emitResult(NSData *allData)
 {
-    m_result.call(this);
+    m_result.call(this, allData);
 }
 
 void TransferJob::emitReceivedResponse(NSURLResponse *response)
@@ -247,9 +245,4 @@ void TransferJob::emitReceivedResponse(NSURLResponse *response)
     m_receivedResponse.call(this, response);
 }
 
-void TransferJob::emitAllData(NSData *data)
-{
-    m_allData.call(this, data);
-}
-
 } // namespace KIO
index 31167575fcc74feaa42c2bd7db5ff69e302580e4..2ff977fe9a92519de4c120b14b60235c08fc79fe 100644 (file)
@@ -82,7 +82,7 @@ using KIO::TransferJob;
     [handle release];
 }
 
-- (void)finishJobAndHandle
+- (void)finishJobAndHandle:(NSData *)data
 {
     TransferJob *job = _job;
     id <WebCoreResourceHandle> handle = _handle;
@@ -90,7 +90,7 @@ using KIO::TransferJob;
     _handle = nil;
 
     if (job) {
-        job->emitResult();
+        job->emitResult(data);
     }
     delete job;
     [handle release];
@@ -101,22 +101,21 @@ using KIO::TransferJob;
     if (_job) {
         _job->setError(1);
     }
-    [self finishJobAndHandle];
+    [self finishJobAndHandle:nil];
 }
 
 - (void)reportError
 {
     ASSERT(_job);
     _job->setError(1);
-    [self finishJobAndHandle];
+    [self finishJobAndHandle:nil];
 }
 
 - (void)finishWithData:(NSData *)data
 {
     ASSERT(_job);
     ASSERT(_handle);
-    _job->emitAllData(data);
-    [self finishJobAndHandle];
+    [self finishJobAndHandle:data];
 }
 
 @end
index 9ebd0de519744423af107c5d866cf64c6513f51a..d89bed83373cdb0e2bba8f9aeb06eca5d177197b 100644 (file)
@@ -84,7 +84,6 @@ enum FunctionNumber {
     slotFinished_Loader,
     slotFinished_XMLHttpRequest,
     slotReceivedResponse,
-    slotAllData
 };
 
 KWQSlot::KWQSlot(QObject *object, const char *member)
@@ -149,11 +148,12 @@ KWQSlot::KWQSlot(QObject *object, const char *member)
        } else {
            m_function = slotRedirection_XMLHttpRequest;
        }
+    } else if (KWQNamesMatch(member, SLOT(slotFinished(KIO::Job *, NSData *)))) {
+       ASSERT(dynamic_cast<khtml::Loader *>(object));
+       m_function = slotFinished_Loader;        
     } else if (KWQNamesMatch(member, SLOT(slotFinished(KIO::Job *)))) {
-       ASSERT(dynamic_cast<khtml::Loader *>(object) || dynamic_cast<KHTMLPart *>(object) || dynamic_cast<XMLHttpRequestQObject *>(object));
-       if (dynamic_cast<khtml::Loader *>(object)) {
-           m_function = slotFinished_Loader;
-       } else if (dynamic_cast<KHTMLPart *>(object)) {
+       ASSERT(dynamic_cast<KHTMLPart *>(object) || dynamic_cast<XMLHttpRequestQObject *>(object));
+       if (dynamic_cast<KHTMLPart *>(object)) {
            m_function = slotFinished_KHTMLPart;
        } else {
            m_function = slotFinished_XMLHttpRequest;
@@ -161,9 +161,6 @@ KWQSlot::KWQSlot(QObject *object, const char *member)
     } else if (KWQNamesMatch(member, SLOT(slotReceivedResponse(KIO::Job *, NSURLResponse *)))) {
        ASSERT(dynamic_cast<khtml::Loader *>(object));
        m_function = slotReceivedResponse;
-    } else if (KWQNamesMatch(member, SLOT(slotAllData(KIO::Job *, NSData *)))) {
-       ASSERT(dynamic_cast<khtml::Loader *>(object));
-       m_function = slotAllData;
     } else {
         ERROR("trying to create a slot for unknown member %s", member);
         return;
@@ -276,9 +273,6 @@ void KWQSlot::call(Job *job) const
         case slotFinished_KHTMLPart:
             static_cast<KHTMLPart *>(m_object.pointer())->slotFinished(job);
             return;
-        case slotFinished_Loader:
-            static_cast<Loader *>(m_object.pointer())->slotFinished(job);
-            return;
         case slotFinished_XMLHttpRequest:
             static_cast<XMLHttpRequestQObject *>(m_object.pointer())->slotFinished(job);
             return;
@@ -323,16 +317,16 @@ void KWQSlot::call(Job *job, const KURL &url) const
     call();
 }
 
-void KWQSlot::call(KIO::Job *job, NSData *data) const
+void KWQSlot::call(KIO::Job *job, NSData *allData) const
 {
     if (m_object.isNull()) {
         return;
     }
     
     switch (m_function) {
-        case slotAllData:
-           static_cast<Loader *>(m_object.pointer())->slotAllData(job, data);
-           return;
+        case slotFinished_Loader:
+            static_cast<Loader *>(m_object.pointer())->slotFinished(job, allData);
+            return;
     }
     
     call();