8ae895a39dc32b692164d69528015343a11719f4
[WebKit-https.git] / WebCore / khtml / css / cssvalues.c
1 /* ANSI-C code produced by gperf version 2.7.2 */
2 /* Command-line: gperf -L ANSI-C -E -C -n -o -t -k '*' -NfindValue -Hhash_val -Wwordlist_value -D cssvalues.gperf  */
3 /* This file is automatically generated from cssvalues.in by makevalues, do not edit */
4 /* Copyright 1999 W. Bastian */
5 #include "cssvalues.h"
6 struct css_value {
7     const char *name;
8     int id;
9 };
10 /* maximum key range = 3149, duplicates = 1 */
11
12 #ifdef __GNUC__
13 __inline
14 #else
15 #ifdef __cplusplus
16 inline
17 #endif
18 #endif
19 static unsigned int
20 hash_val (register const char *str, register unsigned int len)
21 {
22   static const unsigned short asso_values[] =
23     {
24       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
25       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
26       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
27       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
28       3149, 3149, 3149, 3149, 3149,   15, 3149, 3149,    0,    5,
29         10,   15,   20,   25,   30,   35,   40,    0, 3149, 3149,
30       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
31       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
32       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
33       3149, 3149, 3149, 3149, 3149, 3149, 3149,    0,  163,  355,
34         60,  215,  510,  315,  270,   35,    0,  505,    0,    3,
35         55,   45,  165,  135,  280,   10,    0,  375,   28,    6,
36        505,  110,  178, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
37       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
38       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
39       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
40       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
41       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
42       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
43       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
44       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
45       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
46       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
47       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
48       3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149, 3149,
49       3149, 3149, 3149, 3149, 3149, 3149
50     };
51   register int hval = 0;
52
53   switch (len)
54     {
55       default:
56       case 22:
57         hval += asso_values[(unsigned char)str[21]];
58       case 21:
59         hval += asso_values[(unsigned char)str[20]];
60       case 20:
61         hval += asso_values[(unsigned char)str[19]];
62       case 19:
63         hval += asso_values[(unsigned char)str[18]];
64       case 18:
65         hval += asso_values[(unsigned char)str[17]];
66       case 17:
67         hval += asso_values[(unsigned char)str[16]];
68       case 16:
69         hval += asso_values[(unsigned char)str[15]];
70       case 15:
71         hval += asso_values[(unsigned char)str[14]];
72       case 14:
73         hval += asso_values[(unsigned char)str[13]];
74       case 13:
75         hval += asso_values[(unsigned char)str[12]];
76       case 12:
77         hval += asso_values[(unsigned char)str[11]];
78       case 11:
79         hval += asso_values[(unsigned char)str[10]];
80       case 10:
81         hval += asso_values[(unsigned char)str[9]];
82       case 9:
83         hval += asso_values[(unsigned char)str[8]];
84       case 8:
85         hval += asso_values[(unsigned char)str[7]];
86       case 7:
87         hval += asso_values[(unsigned char)str[6]];
88       case 6:
89         hval += asso_values[(unsigned char)str[5]];
90       case 5:
91         hval += asso_values[(unsigned char)str[4]];
92       case 4:
93         hval += asso_values[(unsigned char)str[3]];
94       case 3:
95         hval += asso_values[(unsigned char)str[2]];
96       case 2:
97         hval += asso_values[(unsigned char)str[1]];
98       case 1:
99         hval += asso_values[(unsigned char)str[0]];
100         break;
101     }
102   return hval;
103 }
104
105 #ifdef __GNUC__
106 __inline
107 #endif
108 const struct css_value *
109 findValue (register const char *str, register unsigned int len)
110 {
111   enum
112     {
113       TOTAL_KEYWORDS = 258,
114       MIN_WORD_LENGTH = 2,
115       MAX_WORD_LENGTH = 22,
116       MIN_HASH_VALUE = 0,
117       MAX_HASH_VALUE = 3148
118     };
119
120   static const struct css_value wordlist_value[] =
121     {
122       {"900", CSS_VAL_900},
123       {"100", CSS_VAL_100},
124       {"200", CSS_VAL_200},
125       {"small", CSS_VAL_SMALL},
126       {"300", CSS_VAL_300},
127       {"400", CSS_VAL_400},
128       {"500", CSS_VAL_500},
129       {"600", CSS_VAL_600},
130       {"700", CSS_VAL_700},
131       {"800", CSS_VAL_800},
132       {"wait", CSS_VAL_WAIT},
133       {"slow", CSS_VAL_SLOW},
134       {"always", CSS_VAL_ALWAYS},
135       {"solid", CSS_VAL_SOLID},
136       {"initial", CSS_VAL_INITIAL},
137       {"down", CSS_VAL_DOWN},
138       {"avoid", CSS_VAL_AVOID},
139       {"navy", CSS_VAL_NAVY},
140       {"window", CSS_VAL_WINDOW},
141       {"top", CSS_VAL_TOP},
142       {"teal", CSS_VAL_TEAL},
143       {"lime", CSS_VAL_LIME},
144       {"bottom", CSS_VAL_BOTTOM},
145       {"bold", CSS_VAL_BOLD},
146       {"ltr", CSS_VAL_LTR},
147       {"rtl", CSS_VAL_RTL},
148       {"start", CSS_VAL_START},
149       {"move", CSS_VAL_MOVE},
150       {"list-item", CSS_VAL_LIST_ITEM},
151       {"inset", CSS_VAL_INSET},
152       {"slide", CSS_VAL_SLIDE},
153       {"olive", CSS_VAL_OLIVE},
154       {"end", CSS_VAL_END},
155       {"show", CSS_VAL_SHOW},
156       {"thin", CSS_VAL_THIN},
157       {"none", CSS_VAL_NONE},
158       {"middle", CSS_VAL_MIDDLE},
159       {"yellow", CSS_VAL_YELLOW},
160       {"table", CSS_VAL_TABLE},
161       {"dotted", CSS_VAL_DOTTED},
162       {"normal", CSS_VAL_NORMAL},
163       {"hand", CSS_VAL_HAND},
164       {"inline", CSS_VAL_INLINE},
165       {"static", CSS_VAL_STATIC},
166       {"inside", CSS_VAL_INSIDE},
167       {"auto", CSS_VAL_AUTO},
168       {"italic", CSS_VAL_ITALIC},
169       {"maroon", CSS_VAL_MAROON},
170       {"below", CSS_VAL_BELOW},
171       {"above", CSS_VAL_ABOVE},
172       {"level", CSS_VAL_LEVEL},
173       {"disc", CSS_VAL_DISC},
174       {"both", CSS_VAL_BOTH},
175       {"loud", CSS_VAL_LOUD},
176       {"visible", CSS_VAL_VISIBLE},
177       {"icon", CSS_VAL_ICON},
178       {"smaller", CSS_VAL_SMALLER},
179       {"aqua", CSS_VAL_AQUA},
180       {"fast", CSS_VAL_FAST},
181       {"white", CSS_VAL_WHITE},
182       {"x-small", CSS_VAL_X_SMALL},
183       {"up", CSS_VAL_UP},
184       {"mix", CSS_VAL_MIX},
185       {"ahead", CSS_VAL_AHEAD},
186       {"lower", CSS_VAL_LOWER},
187       {"sub", CSS_VAL_SUB},
188       {"nowrap", CSS_VAL_NOWRAP},
189       {"red", CSS_VAL_RED},
190       {"small-caps", CSS_VAL_SMALL_CAPS},
191       {"silver", CSS_VAL_SILVER},
192       {"hide", CSS_VAL_HIDE},
193       {"wider", CSS_VAL_WIDER},
194       {"invert", CSS_VAL_INVERT},
195       {"dashed", CSS_VAL_DASHED},
196       {"single", CSS_VAL_SINGLE},
197       {"armenian", CSS_VAL_ARMENIAN},
198       {"outset", CSS_VAL_OUTSET},
199       {"menu", CSS_VAL_MENU},
200       {"help", CSS_VAL_HELP},
201       {"lower-latin", CSS_VAL_LOWER_LATIN},
202       {"caption", CSS_VAL_CAPTION},
203       {"embed", CSS_VAL_EMBED},
204       {"pre", CSS_VAL_PRE},
205       {"decimal", CSS_VAL_DECIMAL},
206       {"overlay", CSS_VAL_OVERLAY},
207       {"small-caption", CSS_VAL_SMALL_CAPTION},
208       {"fantasy", CSS_VAL_FANTASY},
209       {"scroll", CSS_VAL_SCROLL},
210       {"medium", CSS_VAL_MEDIUM},
211       {"baseline", CSS_VAL_BASELINE},
212       {"hidden", CSS_VAL_HIDDEN},
213       {"cross", CSS_VAL_CROSS},
214       {"element", CSS_VAL_ELEMENT},
215       {"gray", CSS_VAL_GRAY},
216       {"text", CSS_VAL_TEXT},
217       {"table-row", CSS_VAL_TABLE_ROW},
218       {"left", CSS_VAL_LEFT},
219       {"outside", CSS_VAL_OUTSIDE},
220       {"blue", CSS_VAL_BLUE},
221       {"blink", CSS_VAL_BLINK},
222       {"bolder", CSS_VAL_BOLDER},
223       {"alternate", CSS_VAL_ALTERNATE},
224       {"relative", CSS_VAL_RELATIVE},
225       {"read-only", CSS_VAL_READ_ONLY},
226       {"inline-table", CSS_VAL_INLINE_TABLE},
227       {"collapse", CSS_VAL_COLLAPSE},
228       {"multiple", CSS_VAL_MULTIPLE},
229       {"pointer", CSS_VAL_POINTER},
230       {"portrait", CSS_VAL_PORTRAIT},
231       {"absolute", CSS_VAL_ABSOLUTE},
232       {"large", CSS_VAL_LARGE},
233       {"run-in", CSS_VAL_RUN_IN},
234       {"crop", CSS_VAL_CROP},
235       {"status-bar", CSS_VAL_STATUS_BAR},
236       {"double", CSS_VAL_DOUBLE},
237       {"landscape", CSS_VAL_LANDSCAPE},
238       {"overline", CSS_VAL_OVERLINE},
239       {"repeat", CSS_VAL_REPEAT},
240       {"separate", CSS_VAL_SEPARATE},
241       {"inherit", CSS_VAL_INHERIT},
242       {"monospace", CSS_VAL_MONOSPACE},
243       {"right", CSS_VAL_RIGHT},
244       {"ridge", CSS_VAL_RIDGE},
245       {"horizontal", CSS_VAL_HORIZONTAL},
246       {"orange", CSS_VAL_ORANGE},
247       {"vertical", CSS_VAL_VERTICAL},
248       {"grey", CSS_VAL_GREY},
249       {"compact", CSS_VAL_COMPACT},
250       {"windowtext", CSS_VAL_WINDOWTEXT},
251       {"groove", CSS_VAL_GROOVE},
252       {"infinite", CSS_VAL_INFINITE},
253       {"lower-roman", CSS_VAL_LOWER_ROMAN},
254       {"text-top", CSS_VAL_TEXT_TOP},
255       {"w-resize", CSS_VAL_W_RESIZE},
256       {"hiragana", CSS_VAL_HIRAGANA},
257       {"s-resize", CSS_VAL_S_RESIZE},
258       {"inline-axis", CSS_VAL_INLINE_AXIS},
259       {"table-cell", CSS_VAL_TABLE_CELL},
260       {"sw-resize", CSS_VAL_SW_RESIZE},
261       {"oblique", CSS_VAL_OBLIQUE},
262       {"capitalize", CSS_VAL_CAPITALIZE},
263       {"no-repeat", CSS_VAL_NO_REPEAT},
264       {"text-bottom", CSS_VAL_TEXT_BOTTOM},
265       {"lower-alpha", CSS_VAL_LOWER_ALPHA},
266       {"repeat-y", CSS_VAL_REPEAT_Y},
267       {"n-resize", CSS_VAL_N_RESIZE},
268       {"nw-resize", CSS_VAL_NW_RESIZE},
269       {"square", CSS_VAL_SQUARE},
270       {"black", CSS_VAL_BLACK},
271       {"buttonshadow", CSS_VAL_BUTTONSHADOW},
272       {"xx-small", CSS_VAL_XX_SMALL},
273       {"justify", CSS_VAL_JUSTIFY},
274       {"super", CSS_VAL_SUPER},
275       {"table-caption", CSS_VAL_TABLE_CAPTION},
276       {"serif", CSS_VAL_SERIF},
277       {"transparent", CSS_VAL_TRANSPARENT},
278       {"katakana", CSS_VAL_KATAKANA},
279       {"block", CSS_VAL_BLOCK},
280       {"condensed", CSS_VAL_CONDENSED},
281       {"green", CSS_VAL_GREEN},
282       {"larger", CSS_VAL_LARGER},
283       {"read-write", CSS_VAL_READ_WRITE},
284       {"lighter", CSS_VAL_LIGHTER},
285       {"center", CSS_VAL_CENTER},
286       {"lowercase", CSS_VAL_LOWERCASE},
287       {"stretch", CSS_VAL_STRETCH},
288       {"scrollbar", CSS_VAL_SCROLLBAR},
289       {"sans-serif", CSS_VAL_SANS_SERIF},
290       {"hebrew", CSS_VAL_HEBREW},
291       {"default", CSS_VAL_DEFAULT},
292       {"narrower", CSS_VAL_NARROWER},
293       {"e-resize", CSS_VAL_E_RESIZE},
294       {"thick", CSS_VAL_THICK},
295       {"se-resize", CSS_VAL_SE_RESIZE},
296       {"-khtml-body", CSS_VAL__KHTML_BODY},
297       {"forwards", CSS_VAL_FORWARDS},
298       {"purple", CSS_VAL_PURPLE},
299       {"windowframe", CSS_VAL_WINDOWFRAME},
300       {"ne-resize", CSS_VAL_NE_RESIZE},
301       {"marquee", CSS_VAL_MARQUEE},
302       {"table-column", CSS_VAL_TABLE_COLUMN},
303       {"-khtml-auto", CSS_VAL__KHTML_AUTO},
304       {"circle", CSS_VAL_CIRCLE},
305       {"reverse", CSS_VAL_REVERSE},
306       {"georgian", CSS_VAL_GEORGIAN},
307       {"open-quote", CSS_VAL_OPEN_QUOTE},
308       {"expanded", CSS_VAL_EXPANDED},
309       {"crosshair", CSS_VAL_CROSSHAIR},
310       {"activecaption", CSS_VAL_ACTIVECAPTION},
311       {"underline", CSS_VAL_UNDERLINE},
312       {"cursive", CSS_VAL_CURSIVE},
313       {"upper-latin", CSS_VAL_UPPER_LATIN},
314       {"fixed", CSS_VAL_FIXED},
315       {"x-large", CSS_VAL_X_LARGE},
316       {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
317       {"buttontext", CSS_VAL_BUTTONTEXT},
318       {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
319       {"infotext", CSS_VAL_INFOTEXT},
320       {"menutext", CSS_VAL_MENUTEXT},
321       {"captiontext", CSS_VAL_CAPTIONTEXT},
322       {"inactivecaption", CSS_VAL_INACTIVECAPTION},
323       {"backwards", CSS_VAL_BACKWARDS},
324       {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
325       {"higher", CSS_VAL_HIGHER},
326       {"repeat-x", CSS_VAL_REPEAT_X},
327       {"-khtml-link", CSS_VAL__KHTML_LINK},
328       {"close-quote", CSS_VAL_CLOSE_QUOTE},
329       {"graytext", CSS_VAL_GRAYTEXT},
330       {"threedshadow", CSS_VAL_THREEDSHADOW},
331       {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
332       {"inline-block", CSS_VAL_INLINE_BLOCK},
333       {"message-box", CSS_VAL_MESSAGE_BOX},
334       {"highlight", CSS_VAL_HIGHLIGHT},
335       {"-khtml-box", CSS_VAL__KHTML_BOX},
336       {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
337       {"-khtml-text", CSS_VAL__KHTML_TEXT},
338       {"-khtml-left", CSS_VAL__KHTML_LEFT},
339       {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
340       {"fuchsia", CSS_VAL_FUCHSIA},
341       {"unfurl", CSS_VAL_UNFURL},
342       {"upper-roman", CSS_VAL_UPPER_ROMAN},
343       {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
344       {"block-axis", CSS_VAL_BLOCK_AXIS},
345       {"upper-alpha", CSS_VAL_UPPER_ALPHA},
346       {"activeborder", CSS_VAL_ACTIVEBORDER},
347       {"-khtml-right", CSS_VAL__KHTML_RIGHT},
348       {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
349       {"buttonface", CSS_VAL_BUTTONFACE},
350       {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
351       {"inactiveborder", CSS_VAL_INACTIVEBORDER},
352       {"uppercase", CSS_VAL_UPPERCASE},
353       {"xx-large", CSS_VAL_XX_LARGE},
354       {"line-through", CSS_VAL_LINE_THROUGH},
355       {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
356       {"appworkspace", CSS_VAL_APPWORKSPACE},
357       {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
358       {"-khtml-center", CSS_VAL__KHTML_CENTER},
359       {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
360       {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
361       {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
362       {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
363       {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
364       {"lower-greek", CSS_VAL_LOWER_GREEK},
365       {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
366       {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
367       {"threedface", CSS_VAL_THREEDFACE},
368       {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
369       {"background", CSS_VAL_BACKGROUND},
370       {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
371       {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
372       {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
373       {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
374       {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
375       {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
376       {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
377       {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
378       {"infobackground", CSS_VAL_INFOBACKGROUND},
379       {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE}
380     };
381
382   static const short lookup[] =
383     {
384          0,   -1,   -1,   -1,   -1,    1,   -1,   -1,
385         -1,   -1,    2,   -1,   -1,    3,   -1,    4,
386         -1,   -1,   -1,   -1,    5,   -1,   -1,   -1,
387         -1,    6,   -1,   -1,   -1,   -1,    7,   -1,
388         -1,   -1,   -1,    8,   -1,   -1,   -1,   -1,
389          9,   10,   -1,   -1,   -1,   -1,   -1,   -1,
390         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
391         -1,   -1,   -1,   -1,   -1,   11,   -1,   -1,
392         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
393         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
394         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
395         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
396         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
397         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
398         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
399         -1,   -1,   -1,   -1,   -1,   -1,   12,   -1,
400         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
401         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
402         -1,   -1,   -1,   -1,   -1,   -1,   13,   -1,
403         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
404         14,   -1,   -1,   -1,   -1,   -1,   15,   -1,
405         16,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
406         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
407         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
408         -1,   17,   -1,   -1,   -1,   -1,   -1,   -1,
409         -1,   -1,   -1,   -1,   -1,   -1,   -1,   18,
410         -1,   -1,   19,   -1,   -1,   -1,   -1,   20,
411         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
412         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
413         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
414         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
415         -1,   -1,   -1,   -1,   -1,   21,   -1,   -1,
416         22,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
417         -1,   -1,   -1,   -1,   23,   -1,   -1,   -1,
418         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
419       -540, -234,   -2,   -1,   -1,   -1,   -1,   -1,
420         -1,   -1,   26,   27,   -1,   -1,   -1,   -1,
421         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
422         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
423         -1,   28,   -1,   29,   -1,   -1,   -1,   -1,
424         30,   -1,   -1,   31,   -1,   -1,   -1,   -1,
425         -1,   -1,   32,   33,   -1,   -1,   -1,   -1,
426         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
427         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
428         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
429         34,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
430         -1,   -1,   35,   -1,   -1,   36,   -1,   -1,
431         37,   -1,   38,   -1,   39,   -1,   -1,   40,
432         -1,   41,   -1,   -1,   -1,   -1,   -1,   -1,
433         -1,   -1,   -1,   42,   -1,   -1,   -1,   -1,
434         43,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
435         -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,
436         -1,   -1,   -1,   -1,   45,   -1,   -1,   -1,
437         -1,   46,   -1,   -1,   47,   48,   -1,   -1,
438         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
439         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
440         -1,   -1,   -1,   49,   -1,   -1,   -1,   -1,
441         -1,   -1,   50,   -1,   51,   -1,   -1,   -1,
442         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
443         -1,   -1,   -1,   -1,   -1,   -1,   52,   -1,
444         53,   -1,   -1,   -1,   -1,   -1,   54,   -1,
445         -1,   -1,   55,   -1,   -1,   -1,   -1,   -1,
446         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
447         -1,   -1,   -1,   -1,   56,   -1,   57,   -1,
448         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
449         58,   -1,   -1,   -1,   -1,   -1,   59,   -1,
450         -1,   -1,   -1,   -1,   -1,   60,   -1,   -1,
451         -1,   -1,   -1,   -1,   61,   -1,   -1,   62,
452         -1,   63,   64,   -1,   65,   -1,   -1,   66,
453         -1,   -1,   -1,   67,   -1,   -1,   68,   -1,
454         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
455         69,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
456         -1,   -1,   -1,   -1,   70,   -1,   -1,   -1,
457         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
458         -1,   -1,   -1,   -1,   71,   -1,   -1,   -1,
459         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
460         -1,   -1,   -1,   -1,   -1,   72,   -1,   73,
461         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
462         -1,   -1,   -1,   -1,   -1,   -1,   74,   -1,
463         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
464         -1,   -1,   -1,   75,   -1,   76,   -1,   -1,
465         77,   -1,   78,   79,   -1,   -1,   -1,   80,
466         81,   -1,   -1,   -1,   82,   -1,   -1,   -1,
467         -1,   -1,   -1,   -1,   83,   -1,   -1,   -1,
468         -1,   -1,   -1,   -1,   -1,   -1,   84,   -1,
469         -1,   -1,   -1,   85,   -1,   86,   -1,   -1,
470         -1,   -1,   87,   88,   -1,   89,   -1,   90,
471         -1,   -1,   -1,   -1,   91,   -1,   -1,   92,
472         -1,   93,   -1,   -1,   -1,   -1,   -1,   -1,
473         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
474         94,   -1,   -1,   -1,   95,   96,   -1,   -1,
475         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
476         -1,   -1,   -1,   -1,   97,   -1,   -1,   -1,
477         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
478         -1,   98,   -1,   -1,   -1,   -1,   99,   -1,
479         -1,   -1,   -1,  100,   -1,  101,   -1,   -1,
480         -1,   -1,   -1,   -1,   -1,  102,   -1,   -1,
481         -1,   -1,   -1,   -1,  103,   -1,   -1,   -1,
482         -1,   -1,   -1,   -1,  104,   -1,  105,   -1,
483         -1,  106,   -1,  107,   -1,   -1,   -1,   -1,
484         -1,   -1,   -1,   -1,   -1,  108,   -1,   -1,
485        109,   -1,  110,   -1,   -1,   -1,   -1,  111,
486         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
487         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
488         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
489         -1,   -1,   -1,   -1,   -1,  112,   -1,   -1,
490         -1,   -1,   -1,   -1,   -1,  113,   -1,   -1,
491         -1,   -1,  114,   -1,  115,   -1,   -1,   -1,
492         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
493         -1,  116,   -1,  117,   -1,   -1,   -1,   -1,
494         -1,   -1,   -1,   -1,   -1,  118,   -1,   -1,
495         -1,   -1,  119,   -1,   -1,  120,   -1,   -1,
496         -1,   -1,   -1,   -1,  121,   -1,   -1,   -1,
497         -1,  122,   -1,   -1,  123,   -1,  124,   -1,
498         -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,
499        126,   -1,   -1,  127,   -1,   -1,   -1,  128,
500        129,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
501         -1,   -1,   -1,   -1,  130,   -1,   -1,   -1,
502        131,  132,   -1,   -1,   -1,   -1,   -1,   -1,
503         -1,   -1,  133,  134,   -1,   -1,  135,   -1,
504        136,   -1,   -1,  137,  138,   -1,   -1,   -1,
505        139,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
506         -1,   -1,   -1,   -1,   -1,   -1,   -1,  140,
507         -1,   -1,   -1,   -1,   -1,   -1,  141,  142,
508         -1,   -1,   -1,   -1,  143,   -1,   -1,   -1,
509        144,   -1,   -1,  145,   -1,   -1,   -1,   -1,
510         -1,  146,   -1,   -1,   -1,   -1,   -1,  147,
511         -1,   -1,   -1,   -1,   -1,   -1,   -1,  148,
512         -1,   -1,   -1,   -1,   -1,  149,   -1,   -1,
513         -1,   -1,   -1,   -1,   -1,   -1,  150,   -1,
514        151,   -1,   -1,   -1,   -1,  152,   -1,   -1,
515        153,   -1,  154,   -1,   -1,   -1,   -1,   -1,
516         -1,   -1,   -1,   -1,  155,   -1,   -1,   -1,
517         -1,  156,   -1,   -1,  157,   -1,  158,   -1,
518         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
519        159,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
520         -1,   -1,  160,   -1,   -1,   -1,   -1,   -1,
521         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
522         -1,   -1,  161,   -1,   -1,   -1,   -1,   -1,
523         -1,   -1,   -1,  162,   -1,   -1,   -1,   -1,
524        163,   -1,   -1,   -1,   -1,   -1,  164,   -1,
525         -1,   -1,  165,   -1,   -1,  166,   -1,   -1,
526         -1,   -1,   -1,   -1,  167,   -1,   -1,   -1,
527         -1,   -1,   -1,   -1,   -1,  168,   -1,   -1,
528         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
529        169,  170,   -1,  171,   -1,  172,   -1,   -1,
530         -1,   -1,   -1,   -1,   -1,  173,   -1,   -1,
531         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
532         -1,   -1,  174,   -1,   -1,   -1,   -1,  175,
533         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
534        176,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
535         -1,   -1,   -1,   -1,   -1,   -1,   -1,  177,
536         -1,   -1,  178,   -1,   -1,   -1,   -1,  179,
537         -1,   -1,  180,   -1,  181,   -1,   -1,   -1,
538         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
539        182,   -1,   -1,  183,   -1,   -1,   -1,   -1,
540         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
541         -1,   -1,   -1,   -1,  184,   -1,   -1,   -1,
542         -1,  185,   -1,   -1,   -1,   -1,   -1,   -1,
543         -1,   -1,   -1,  186,   -1,   -1,   -1,   -1,
544         -1,   -1,   -1,   -1,   -1,  187,   -1,   -1,
545        188,   -1,  189,   -1,   -1,   -1,   -1,   -1,
546         -1,   -1,  190,   -1,   -1,   -1,   -1,   -1,
547         -1,  191,   -1,   -1,   -1,   -1,   -1,   -1,
548         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
549         -1,   -1,   -1,   -1,   -1,  192,   -1,   -1,
550         -1,   -1,  193,   -1,   -1,   -1,   -1,   -1,
551         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
552         -1,   -1,   -1,   -1,  194,   -1,   -1,   -1,
553         -1,   -1,   -1,   -1,   -1,   -1,  195,  196,
554         -1,   -1,   -1,   -1,   -1,  197,   -1,   -1,
555        198,   -1,   -1,   -1,   -1,   -1,   -1,  199,
556         -1,   -1,  200,  201,  202,   -1,   -1,   -1,
557         -1,  203,   -1,   -1,   -1,   -1,   -1,   -1,
558         -1,   -1,   -1,  204,   -1,   -1,   -1,   -1,
559         -1,   -1,   -1,  205,   -1,   -1,   -1,   -1,
560         -1,   -1,  206,   -1,   -1,   -1,   -1,   -1,
561         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
562         -1,  207,   -1,   -1,   -1,   -1,   -1,  208,
563         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
564         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
565         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
566         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
567         -1,   -1,  209,   -1,   -1,   -1,   -1,   -1,
568         -1,   -1,   -1,   -1,   -1,   -1,  210,   -1,
569         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
570         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
571        211,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
572         -1,   -1,   -1,   -1,   -1,   -1,  212,   -1,
573         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
574         -1,  213,   -1,   -1,   -1,  214,   -1,   -1,
575        215,   -1,   -1,   -1,   -1,  216,   -1,   -1,
576         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
577         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
578         -1,  217,   -1,  218,   -1,   -1,   -1,   -1,
579         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
580         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
581         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
582         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
583         -1,   -1,   -1,  219,   -1,   -1,  220,   -1,
584        221,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
585         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
586         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
587         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
588         -1,  222,   -1,   -1,   -1,   -1,   -1,   -1,
589         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
590         -1,   -1,  223,   -1,   -1,   -1,   -1,   -1,
591         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
592         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
593         -1,   -1,   -1,   -1,  224,   -1,   -1,   -1,
594         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
595         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
596         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
597         -1,   -1,   -1,   -1,  225,   -1,  226,   -1,
598         -1,   -1,   -1,   -1,   -1,   -1,  227,   -1,
599         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
600         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
601         -1,   -1,   -1,   -1,  228,   -1,   -1,   -1,
602         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
603         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
604         -1,   -1,   -1,   -1,   -1,   -1,  229,   -1,
605         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
606         -1,   -1,   -1,   -1,  230,   -1,   -1,   -1,
607         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
608         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
609         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
610         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
611         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
612         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
613         -1,   -1,   -1,  231,   -1,   -1,   -1,   -1,
614         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
615         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
616         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
617         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
618         -1,   -1,   -1,  232,   -1,   -1,   -1,   -1,
619         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
620         -1,  233,   -1,   -1,   -1,   -1,   -1,   -1,
621         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
622         -1,   -1,   -1,   -1,   -1,   -1,   -1,  234,
623         -1,   -1,   -1,   -1,   -1,   -1,   -1,  235,
624         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
625        236,   -1,   -1,  237,   -1,   -1,   -1,   -1,
626         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
627         -1,  238,   -1,   -1,   -1,   -1,   -1,   -1,
628         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
629         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
630         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
631         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
632         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
633         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
634         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
635         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
636         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
637         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
638         -1,   -1,   -1,   -1,  239,   -1,   -1,   -1,
639         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
640         -1,   -1,   -1,  240,   -1,   -1,   -1,   -1,
641         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
642         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
643         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
644         -1,   -1,   -1,   -1,   -1,  241,   -1,   -1,
645         -1,   -1,   -1,  242,   -1,   -1,   -1,   -1,
646        243,   -1,  244,   -1,   -1,   -1,   -1,   -1,
647         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
648         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
649        245,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
650         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
651         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
652         -1,   -1,   -1,   -1,  246,   -1,   -1,   -1,
653         -1,  247,   -1,   -1,   -1,   -1,   -1,   -1,
654         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
655         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
656         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
657         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
658         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
659         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
660         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
661         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
662         -1,   -1,   -1,   -1,   -1,   -1,  248,   -1,
663         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
664         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
665         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
666         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
667         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
668         -1,   -1,   -1,   -1,  249,   -1,   -1,   -1,
669         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
670         -1,   -1,  250,   -1,   -1,   -1,   -1,   -1,
671         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
672         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
673         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
674         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
675         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
676         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
677         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
678         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
679         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
680         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
681         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
682         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
683         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
684         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
685         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
686         -1,   -1,   -1,   -1,   -1,  251,   -1,   -1,
687         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
688         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
689         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
690         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
691         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
692         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
693         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
694         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
695         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
696         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
697         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
698         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
699         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
700         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
701         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
702         -1,   -1,   -1,   -1,   -1,   -1,  252,   -1,
703         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
704         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
705         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
706         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
707         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
708         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
709         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
710         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
711         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
712         -1,   -1,   -1,   -1,  253,   -1,   -1,   -1,
713         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
714         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
715         -1,   -1,  254,   -1,   -1,   -1,   -1,   -1,
716         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
717         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
718         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
719         -1,   -1,   -1,  255,   -1,   -1,   -1,   -1,
720         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
721         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
722         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
723         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
724         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
725         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
726         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
727         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
728         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
729         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
730         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
731         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
732         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
733         -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,
734         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
735         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
736         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
737         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
738         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
739         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
740         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
741         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
742         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
743         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
744         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
745         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
746         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
747         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
748         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
749         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
750         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
751         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
752         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
753         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
754         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
755         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
756         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
757         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
758         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
759         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
760         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
761         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
762         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
763         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
764         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
765         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
766         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
767         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
768         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
769         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
770         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
771         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
772         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
773         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
774         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
775         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
776         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
777         -1,   -1,   -1,   -1,  257
778     };
779
780   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
781     {
782       register int key = hash_val (str, len);
783
784       if (key <= MAX_HASH_VALUE && key >= 0)
785         {
786           register int index = lookup[key];
787
788           if (index >= 0)
789             {
790               register const char *s = wordlist_value[index].name;
791
792               if (*str == *s && !strcmp (str + 1, s + 1))
793                 return &wordlist_value[index];
794             }
795           else if (index < -TOTAL_KEYWORDS)
796             {
797               register int offset = - 1 - TOTAL_KEYWORDS - index;
798               register const struct css_value *wordptr = &wordlist_value[TOTAL_KEYWORDS + lookup[offset]];
799               register const struct css_value *wordendptr = wordptr + -lookup[offset + 1];
800
801               while (wordptr < wordendptr)
802                 {
803                   register const char *s = wordptr->name;
804
805                   if (*str == *s && !strcmp (str + 1, s + 1))
806                     return wordptr;
807                   wordptr++;
808                 }
809             }
810         }
811     }
812   return 0;
813 }
814 static const char * const valueList[] = {
815 "",
816 "inherit", 
817 "initial", 
818 "none", 
819 "hidden", 
820 "inset", 
821 "groove", 
822 "ridge", 
823 "outset", 
824 "dotted", 
825 "dashed", 
826 "solid", 
827 "double", 
828 "caption", 
829 "icon", 
830 "menu", 
831 "message-box", 
832 "small-caption", 
833 "status-bar", 
834 "italic", 
835 "oblique", 
836 "small-caps", 
837 "normal", 
838 "bold", 
839 "bolder", 
840 "lighter", 
841 "100", 
842 "200", 
843 "300", 
844 "400", 
845 "500", 
846 "600", 
847 "700", 
848 "800", 
849 "900", 
850 "xx-small", 
851 "x-small", 
852 "small", 
853 "medium", 
854 "large", 
855 "x-large", 
856 "xx-large", 
857 "-khtml-xxx-large", 
858 "smaller", 
859 "larger", 
860 "wider", 
861 "narrower", 
862 "ultra-condensed", 
863 "extra-condensed", 
864 "condensed", 
865 "semi-condensed", 
866 "semi-expanded", 
867 "expanded", 
868 "extra-expanded", 
869 "ultra-expanded", 
870 "serif", 
871 "sans-serif", 
872 "cursive", 
873 "fantasy", 
874 "monospace", 
875 "-khtml-body", 
876 "aqua", 
877 "black", 
878 "blue", 
879 "fuchsia", 
880 "gray", 
881 "green", 
882 "lime", 
883 "maroon", 
884 "navy", 
885 "olive", 
886 "orange", 
887 "purple", 
888 "red", 
889 "silver", 
890 "teal", 
891 "white", 
892 "yellow", 
893 "transparent", 
894 "-khtml-link", 
895 "-khtml-activelink", 
896 "activeborder", 
897 "activecaption", 
898 "appworkspace", 
899 "background", 
900 "buttonface", 
901 "buttonhighlight", 
902 "buttonshadow", 
903 "buttontext", 
904 "captiontext", 
905 "graytext", 
906 "highlight", 
907 "highlighttext", 
908 "inactiveborder", 
909 "inactivecaption", 
910 "inactivecaptiontext", 
911 "infobackground", 
912 "infotext", 
913 "menutext", 
914 "scrollbar", 
915 "threeddarkshadow", 
916 "threedface", 
917 "threedhighlight", 
918 "threedlightshadow", 
919 "threedshadow", 
920 "window", 
921 "windowframe", 
922 "windowtext", 
923 "grey", 
924 "-khtml-text", 
925 "repeat", 
926 "repeat-x", 
927 "repeat-y", 
928 "no-repeat", 
929 "baseline", 
930 "middle", 
931 "sub", 
932 "super", 
933 "text-top", 
934 "text-bottom", 
935 "top", 
936 "bottom", 
937 "-khtml-baseline-middle", 
938 "-khtml-auto", 
939 "left", 
940 "right", 
941 "center", 
942 "justify", 
943 "-khtml-left", 
944 "-khtml-right", 
945 "-khtml-center", 
946 "outside", 
947 "inside", 
948 "disc", 
949 "circle", 
950 "square", 
951 "decimal", 
952 "decimal-leading-zero", 
953 "lower-roman", 
954 "upper-roman", 
955 "lower-greek", 
956 "lower-alpha", 
957 "lower-latin", 
958 "upper-alpha", 
959 "upper-latin", 
960 "hebrew", 
961 "armenian", 
962 "georgian", 
963 "cjk-ideographic", 
964 "hiragana", 
965 "katakana", 
966 "hiragana-iroha", 
967 "katakana-iroha", 
968 "inline", 
969 "block", 
970 "list-item", 
971 "run-in", 
972 "compact", 
973 "inline-block", 
974 "table", 
975 "inline-table", 
976 "table-row-group", 
977 "table-header-group", 
978 "table-footer-group", 
979 "table-row", 
980 "table-column-group", 
981 "table-column", 
982 "table-cell", 
983 "table-caption", 
984 "-khtml-box", 
985 "-khtml-inline-box", 
986 "auto", 
987 "crosshair", 
988 "default", 
989 "pointer", 
990 "move", 
991 "e-resize", 
992 "ne-resize", 
993 "nw-resize", 
994 "n-resize", 
995 "se-resize", 
996 "sw-resize", 
997 "s-resize", 
998 "w-resize", 
999 "text", 
1000 "wait", 
1001 "help", 
1002 "ltr", 
1003 "rtl", 
1004 "capitalize", 
1005 "uppercase", 
1006 "lowercase", 
1007 "visible", 
1008 "collapse", 
1009 "above", 
1010 "absolute", 
1011 "always", 
1012 "avoid", 
1013 "below", 
1014 "bidi-override", 
1015 "blink", 
1016 "both", 
1017 "close-quote", 
1018 "crop", 
1019 "cross", 
1020 "embed", 
1021 "fixed", 
1022 "hand", 
1023 "hide", 
1024 "higher", 
1025 "invert", 
1026 "landscape", 
1027 "level", 
1028 "line-through", 
1029 "loud", 
1030 "lower", 
1031 "marquee", 
1032 "mix", 
1033 "no-close-quote", 
1034 "no-open-quote", 
1035 "nowrap", 
1036 "open-quote", 
1037 "overlay", 
1038 "overline", 
1039 "portrait", 
1040 "pre", 
1041 "relative", 
1042 "scroll", 
1043 "separate", 
1044 "show", 
1045 "static", 
1046 "thick", 
1047 "thin", 
1048 "underline", 
1049 "-khtml-nowrap", 
1050 "stretch", 
1051 "start", 
1052 "end", 
1053 "reverse", 
1054 "horizontal", 
1055 "vertical", 
1056 "inline-axis", 
1057 "block-axis", 
1058 "single", 
1059 "multiple", 
1060 "forwards", 
1061 "backwards", 
1062 "ahead", 
1063 "up", 
1064 "down", 
1065 "slow", 
1066 "fast", 
1067 "infinite", 
1068 "slide", 
1069 "alternate", 
1070 "unfurl", 
1071 "read-only", 
1072 "read-write", 
1073 "element", 
1074     0
1075 };
1076 DOMString getValueName(unsigned short id)
1077 {
1078     if(id >= CSS_VAL_TOTAL || id == 0)
1079       return DOMString();
1080     else
1081       return DOMString(valueList[id]);
1082 };
1083