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