Resolve many build warnings
[oweals/cde.git] / cde / programs / dtinfo / dtinfogen / infolib / etc / lex.C
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* A lexical scanner generated by flex */
24
25 /* scanner skeleton version:
26  * $XConsortium: lex.cc /main/4 1996/07/18 15:24:05 drk $
27  */
28
29 #define FLEX_SCANNER
30
31 #include <stdio.h>
32
33
34 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
35 #ifdef c_plusplus
36 #ifndef __cplusplus
37 #define __cplusplus
38 #endif
39 #endif
40
41
42 #ifdef __cplusplus
43
44 #include <stdlib.h>
45 #if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
46 #include <osfcn.h>
47 #endif
48
49 /* use prototypes in function declarations */
50 #define YY_USE_PROTOS
51
52 /* the "const" storage-class-modifier is valid */
53 #define YY_USE_CONST
54
55 #else   /* ! __cplusplus */
56
57 #ifdef __STDC__
58
59 #ifdef __GNUC__
60 #include <stddef.h>
61 void *malloc( size_t );
62 void free( void* );
63 #else
64 #include <stdlib.h>
65 #endif  /* __GNUC__ */
66
67 #define YY_USE_PROTOS
68 #define YY_USE_CONST
69
70 #endif  /* __STDC__ */
71 #endif  /* ! __cplusplus */
72
73
74 #ifdef __TURBOC__
75 #define YY_USE_CONST
76 #endif
77
78
79 #ifndef YY_USE_CONST
80 #define const
81 #endif
82
83
84 #ifdef YY_USE_PROTOS
85 #define YY_PROTO(proto) proto
86 #else
87 #define YY_PROTO(proto) ()
88 /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
89  * so it's got to be a K&R compiler, and therefore there's no standard
90  * place from which to include these definitions
91  */
92 char *malloc();
93 int free();
94 int read();
95 #endif
96
97
98 /* amount of stuff to slurp up with each read */
99 #ifndef YY_READ_BUF_SIZE
100 #define YY_READ_BUF_SIZE 8192
101 #endif
102
103 /* returned upon end-of-file */
104 #define YY_END_TOK 0
105
106 /* copy whatever the last rule matched to the standard output */
107
108 /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
109 /* this used to be an fputs(), but since the string might contain NUL's,
110  * we now use fwrite()
111  */
112 #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
113
114 /* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
115  * is returned in "result".
116  */
117 #define YY_INPUT(buf,result,max_size) \
118         if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
119             YY_FATAL_ERROR( "read() in flex scanner failed" );
120 #define YY_NULL 0
121
122 /* no semi-colon after return; correct usage is to write "yyterminate();" -
123  * we don't want an extra ';' after the "return" because that will cause
124  * some compilers to complain about unreachable statements.
125  */
126 #define yyterminate() return ( YY_NULL )
127
128 /* report a fatal error */
129
130 /* The funky do-while is used to turn this macro definition into
131  * a single C statement (which needs a semi-colon terminator).
132  * This avoids problems with code like:
133  *
134  *      if ( something_happens )
135  *              YY_FATAL_ERROR( "oops, the something happened" );
136  *      else
137  *              everything_okay();
138  *
139  * Prior to using the do-while the compiler would get upset at the
140  * "else" because it interpreted the "if" statement as being all
141  * done when it reached the ';' after the YY_FATAL_ERROR() call.
142  */
143
144 #define YY_FATAL_ERROR(msg) \
145         do \
146                 { \
147                 (void) fputs( msg, stderr ); \
148                 (void) putc( '\n', stderr ); \
149                 exit( 1 ); \
150                 } \
151         while ( 0 )
152
153 /* default yywrap function - always treat EOF as an EOF */
154 #define yywrap() 1
155
156 /* enter a start condition.  This macro really ought to take a parameter,
157  * but we do it the disgusting crufty way forced on us by the ()-less
158  * definition of BEGIN
159  */
160 #define BEGIN yy_start = 1 + 2 *
161
162 /* action number for EOF rule of a given start state */
163 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
164
165 /* special action meaning "start processing a new file" */
166 #define YY_NEW_FILE \
167         do \
168                 { \
169                 yy_init_buffer( yy_current_buffer, yyin ); \
170                 yy_load_buffer_state(); \
171                 } \
172         while ( 0 )
173
174 /* default declaration of generated scanner - a define so the user can
175  * easily add parameters
176  */
177 #define YY_DECL int yylex YY_PROTO(( void )) 
178
179 /* code executed at the end of each rule */
180 #define YY_BREAK break;
181
182 #define YY_END_OF_BUFFER_CHAR 0
183
184 #ifndef YY_BUF_SIZE
185 #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
186 #endif
187
188 typedef struct yy_buffer_state *YY_BUFFER_STATE;
189
190 #define YY_CHAR unsigned char
191 #define INITIAL 0
192
193 #if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
194 #include <osfcn.h>
195 #else
196 #include <unistd.h>
197 #endif
198
199 #include <iostream>
200 #include <stdio.h>
201 #include <sstream>
202 using namespace std;
203 #include <string.h>
204
205 #include "Exceptions.hh"
206
207 #include "SGMLDefn.h"  
208 #include "Dispatch.h"
209 #include "AttributeRec.h"
210 #include "AttributeList.h"  
211 #include "FlexBuffer.h"
212 #include "Token.h"
213 #include "api/utility.h"
214
215 static SGMLDefn *defn = new SGMLDefn();
216 static FlexBuffer *DataBuffer = new FlexBuffer();
217
218 static
219 unsigned char oct2dec( const char *str )
220 {
221   unsigned char  value = 0;
222   const char *ptr = str;
223   const char *endptr = str + strlen(str) -1 ;
224   
225   for ( ; *ptr != '\0' ; ptr++ ) {
226     
227     int power = endptr - ptr;
228     int result     = 1;
229     
230     for ( int i = 1; i <= power; i++ ) {
231       result = result * 8;
232     }
233
234     value = value + ( *ptr - '0' ) * result ;
235   }
236
237   
238   return ( value );
239 }
240
241
242
243 #define ProcessData 1
244 static short int yy_nxt[][256] =
245     {
246      {  0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
247         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
248         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
249         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
250         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
251         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
252         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
253         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
254         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
255         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
256
257         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
258         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
259         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
260         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
261         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
262         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
263         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
264         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
265         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
266         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
267
268         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
269         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
270         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
271         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
272         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
273         0,    0,    0,    0,    0,    0 },
274
275      {  5,    6,    6,    6,    6,    6,    6,    6,    6,    6,
276         7,    6,    6,    6,    6,    6,    6,    6,    6,    6,
277         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
278         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
279         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
280         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
281         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
282         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
283         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
284         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
285
286         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
287         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
288         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
289         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
290         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
291         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
292         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
293         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
294         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
295         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
296
297         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
298         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
299         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
300         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
301         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
302         6,    6,    6,    6,    6,    6 },
303
304      {  5,    6,    6,    6,    6,    6,    6,    6,    6,    6,
305         7,    6,    6,    6,    6,    6,    6,    6,    6,    6,
306         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
307         6,    6,    6,    6,    6,    6,    6,    6,    8,    6,
308         9,   10,    6,    6,    6,   11,    6,    6,    6,    6,
309         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
310         6,    6,    6,    6,    6,   12,    6,    6,    6,   13,
311         6,    6,    6,    6,    6,    6,   14,    6,    6,    6,
312         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
313         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
314
315         6,    6,   15,    6,    6,    6,    6,    6,    6,    6,
316         6,    6,    6,    6,    6,   16,    6,    6,    6,    6,
317         6,    6,    6,   17,    6,   18,    6,    6,    6,    6,
318         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
319         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
320         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
321         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
322         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
323         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
324         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
325
326         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
327         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
328         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
329         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
330         6,    6,    6,    6,    6,    6,    6,    6,    6,    6,
331         6,    6,    6,    6,    6,    6 },
332
333      {  5,   19,   19,   19,   19,   19,   19,   19,   19,   19,
334        20,   19,   19,   19,   19,   19,   19,   19,   19,   19,
335        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
336        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
337        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
338        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
339        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
340        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
341        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
342        19,   19,   21,   19,   19,   19,   19,   19,   19,   19,
343
344        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
345        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
346        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
347        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
348        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
349        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
350        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
351        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
352        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
353        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
354
355        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
356        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
357        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
358        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
359        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
360        19,   19,   19,   19,   19,   19 },
361
362      {  5,   19,   19,   19,   19,   19,   19,   19,   19,   19,
363        20,   19,   19,   19,   19,   19,   19,   19,   19,   19,
364        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
365        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
366        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
367        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
368        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
369        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
370        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
371        19,   19,   21,   19,   19,   19,   19,   19,   19,   19,
372
373        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
374        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
375        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
376        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
377        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
378        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
379        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
380        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
381        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
382        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
383
384        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
385        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
386        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
387        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
388        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
389        19,   19,   19,   19,   19,   19 },
390
391      { -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
392        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
393        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
394        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
395        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
396        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
397        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
398        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
399        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
400        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
401
402        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
403        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
404        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
405        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
406        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
407        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
408        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
409        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
410        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
411        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
412
413        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
414        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
415        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
416        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
417        -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
418        -5,   -5,   -5,   -5,   -5,   -5 },
419
420      {  5,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
421        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
422        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
423        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
424        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
425        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
426        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
427        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
428        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
429        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
430
431        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
432        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
433        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
434        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
435        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
436        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
437        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
438        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
439        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
440        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
441
442        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
443        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
444        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
445        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
446        -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
447        -6,   -6,   -6,   -6,   -6,   -6 },
448
449      {  5,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
450        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
451        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
452        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
453        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
454        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
455        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
456        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
457        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
458        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
459
460        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
461        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
462        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
463        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
464        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
465        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
466        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
467        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
468        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
469        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
470
471        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
472        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
473        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
474        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
475        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
476        -7,   -7,   -7,   -7,   -7,   -7 },
477
478      {  5,   22,   22,   22,   22,   22,   22,   22,   22,   22,
479        -8,   22,   22,   22,   22,   22,   22,   22,   22,   22,
480        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
481        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
482        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
483        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
484        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
485        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
486        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
487        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
488
489        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
490        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
491        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
492        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
493        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
494        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
495        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
496        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
497        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
498        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
499
500        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
501        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
502        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
503        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
504        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
505        22,   22,   22,   22,   22,   22 },
506
507      {  5,   23,   23,   23,   23,   23,   23,   23,   23,   -9,
508        -9,   23,   23,   23,   23,   23,   23,   23,   23,   23,
509        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
510        23,   23,   -9,   23,   23,   23,   23,   23,   23,   23,
511        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
512        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
513        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
514        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
515        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
516        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
517
518        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
519        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
520        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
521        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
522        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
523        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
524        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
525        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
526        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
527        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
528
529        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
530        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
531        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
532        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
533        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
534        23,   23,   23,   23,   23,   23 },
535
536      {  5,   24,   24,   24,   24,   24,   24,   24,   24,  -10,
537       -10,   24,   24,   24,   24,   24,   24,   24,   24,   24,
538        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
539        24,   24,  -10,   24,   24,   24,   24,   24,   24,   24,
540        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
541        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
542        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
543        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
544        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
545        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
546
547        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
548        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
549        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
550        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
551        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
552        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
553        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
554        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
555        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
556        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
557
558        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
559        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
560        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
561        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
562        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
563        24,   24,   24,   24,   24,   24 },
564
565      {  5,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
566       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
567       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
568       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
569       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
570       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
571       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
572       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
573       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
574       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
575
576       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
577       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
578       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
579       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
580       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
581       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
582       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
583       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
584       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
585       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
586
587       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
588       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
589       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
590       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
591       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
592       -11,  -11,  -11,  -11,  -11,  -11 },
593
594      {  5,   25,   25,   25,   25,   25,   25,   25,   25,   25,
595       -12,   25,   25,   25,   25,   25,   25,   25,   25,   25,
596        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
597        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
598        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
599        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
600        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
601        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
602        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
603        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
604
605        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
606        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
607        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
608        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
609        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
610        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
611        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
612        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
613        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
614        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
615
616        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
617        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
618        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
619        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
620        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
621        25,   25,   25,   25,   25,   25 },
622
623      {  5,   26,   26,   26,   26,   26,   26,   26,   26,   26,
624       -13,   26,   26,   26,   26,   26,   26,   26,   26,   26,
625        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
626        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
627        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
628        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
629        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
630        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
631        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
632        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
633
634        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
635        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
636        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
637        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
638        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
639        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
640        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
641        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
642        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
643        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
644
645        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
646        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
647        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
648        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
649        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
650        26,   26,   26,   26,   26,   26 },
651
652      {  5,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
653       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
654       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
655       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
656       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,   27,   27,
657        27,   27,   27,   27,   27,   27,   27,   27,  -14,  -14,
658       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
659       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
660       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
661       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
662
663       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
664       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
665       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
666       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
667       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
668       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
669       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
670       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
671       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
672       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
673
674       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
675       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
676       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
677       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
678       -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
679       -14,  -14,  -14,  -14,  -14,  -14 },
680
681      {  5,   28,   28,   28,   28,   28,   28,   28,   28,   28,
682       -15,   28,   28,   28,   28,   28,   28,   28,   28,   28,
683        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
684        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
685        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
686        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
687        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
688        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
689        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
690        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
691
692        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
693        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
694        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
695        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
696        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
697        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
698        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
699        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
700        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
701        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
702
703        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
704        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
705        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
706        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
707        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
708        28,   28,   28,   28,   28,   28 },
709
710      {  5,   29,   29,   29,   29,   29,   29,   29,   29,   29,
711       -16,   29,   29,   29,   29,   29,   29,   29,   29,   29,
712        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
713        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
714        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
715        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
716        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
717        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
718        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
719        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
720
721        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
722        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
723        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
724        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
725        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
726        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
727        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
728        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
729        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
730        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
731
732        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
733        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
734        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
735        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
736        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
737        29,   29,   29,   29,   29,   29 },
738
739      {  5,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
740       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
741       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
742       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
743       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
744       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
745       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
746       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
747       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
748       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
749
750       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
751       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
752       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
753       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
754       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
755       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
756       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
757       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
758       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
759       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
760
761       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
762       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
763       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
764       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
765       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
766       -17,  -17,  -17,  -17,  -17,  -17 },
767
768      {  5,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
769       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
770       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
771       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
772       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
773       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
774       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
775       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
776       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
777       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
778
779       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
780       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
781       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
782       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
783       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
784       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
785       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
786       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
787       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
788       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
789
790       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
791       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
792       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
793       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
794       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
795       -18,  -18,  -18,  -18,  -18,  -18 },
796
797      {  5,   30,   30,   30,   30,   30,   30,   30,   30,   30,
798       -19,   30,   30,   30,   30,   30,   30,   30,   30,   30,
799        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
800        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
801        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
802        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
803        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
804        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
805        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
806        30,   30,  -19,   30,   30,   30,   30,   30,   30,   30,
807
808        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
809        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
810        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
811        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
812        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
813        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
814        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
815        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
816        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
817        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
818
819        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
820        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
821        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
822        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
823        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
824        30,   30,   30,   30,   30,   30 },
825
826      {  5,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
827       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
828       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
829       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
830       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
831       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
832       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
833       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
834       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
835       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
836
837       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
838       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
839       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
840       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
841       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
842       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
843       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
844       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
845       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
846       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
847
848       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
849       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
850       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
851       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
852       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
853       -20,  -20,  -20,  -20,  -20,  -20 },
854
855      {  5,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
856       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
857       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
858       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
859       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,   31,   31,
860        31,   31,   31,   31,   31,   31,  -21,  -21,  -21,  -21,
861       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
862       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
863       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
864       -21,  -21,   32,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
865
866       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
867        33,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
868       -21,  -21,  -21,  -21,   34,  -21,  -21,  -21,  -21,  -21,
869       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
870       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
871       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
872       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
873       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
874       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
875       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
876
877       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
878       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
879       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
880       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
881       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
882       -21,  -21,  -21,  -21,  -21,  -21 },
883
884      {  5,   22,   22,   22,   22,   22,   22,   22,   22,   22,
885       -22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
886        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
887        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
888        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
889        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
890        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
891        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
892        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
893        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
894
895        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
896        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
897        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
898        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
899        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
900        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
901        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
902        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
903        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
904        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
905
906        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
907        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
908        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
909        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
910        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
911        22,   22,   22,   22,   22,   22 },
912
913      {  5,   23,   23,   23,   23,   23,   23,   23,   23,  -23,
914       -23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
915        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
916        23,   23,  -23,   23,   23,   23,   23,   23,   23,   23,
917        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
918        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
919        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
920        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
921        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
922        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
923
924        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
925        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
926        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
927        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
928        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
929        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
930        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
931        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
932        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
933        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
934
935        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
936        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
937        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
938        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
939        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
940        23,   23,   23,   23,   23,   23 },
941
942      {  5,   24,   24,   24,   24,   24,   24,   24,   24,  -24,
943       -24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
944        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
945        24,   24,  -24,   24,   24,   24,   24,   24,   24,   24,
946        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
947        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
948        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
949        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
950        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
951        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
952
953        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
954        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
955        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
956        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
957        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
958        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
959        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
960        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
961        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
962        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
963
964        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
965        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
966        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
967        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
968        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
969        24,   24,   24,   24,   24,   24 },
970
971      {  5,   25,   25,   25,   25,   25,   25,   25,   25,   25,
972       -25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
973        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
974        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
975        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
976        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
977        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
978        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
979        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
980        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
981
982        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
983        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
984        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
985        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
986        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
987        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
988        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
989        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
990        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
991        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
992
993        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
994        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
995        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
996        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
997        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
998        25,   25,   25,   25,   25,   25 },
999
1000      {  5,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1001       -26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1002        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1003        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1004        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1005        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1006        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1007        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1008        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1009        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1010
1011        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1012        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1013        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1014        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1015        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1016        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1017        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1018        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1019        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1020        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1021
1022        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1023        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1024        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1025        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1026        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
1027        26,   26,   26,   26,   26,   26 },
1028
1029      {  5,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1030       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1031       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1032       -27,  -27,   35,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1033       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,   27,   27,
1034        27,   27,   27,   27,   27,   27,   27,   27,  -27,  -27,
1035       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1036       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1037       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1038       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1039
1040       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1041       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1042       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1043       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1044       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1045       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1046       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1047       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1048       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1049       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1050
1051       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1052       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1053       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1054       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1055       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1056       -27,  -27,  -27,  -27,  -27,  -27 },
1057
1058      {  5,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1059       -28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1060        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1061        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1062        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1063        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1064        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1065        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1066        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1067        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1068
1069        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1070        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1071        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1072        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1073        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1074        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1075        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1076        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1077        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1078        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1079
1080        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1081        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1082        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1083        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1084        28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
1085        28,   28,   28,   28,   28,   28 },
1086
1087      {  5,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1088       -29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1089        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1090        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1091        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1092        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1093        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1094        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1095        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1096        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1097
1098        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1099        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1100        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1101        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1102        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1103        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1104        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1105        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1106        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1107        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1108
1109        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1110        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1111        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1112        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1113        29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
1114        29,   29,   29,   29,   29,   29 },
1115
1116      {  5,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1117       -30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1118        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1119        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1120        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1121        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1122        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1123        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1124        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1125        30,   30,  -30,   30,   30,   30,   30,   30,   30,   30,
1126
1127        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1128        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1129        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1130        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1131        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1132        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1133        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1134        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1135        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1136        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1137
1138        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1139        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1140        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1141        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1142        30,   30,   30,   30,   30,   30,   30,   30,   30,   30,
1143        30,   30,   30,   30,   30,   30 },
1144
1145      {  5,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1146       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1147       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1148       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1149       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,   36,   36,
1150        36,   36,   36,   36,   36,   36,  -31,  -31,  -31,  -31,
1151       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1152       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1153       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1154       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1155
1156       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1157       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1158       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1159       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1160       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1161       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1162       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1163       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1164       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1165       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1166
1167       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1168       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1169       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1170       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1171       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1172       -31,  -31,  -31,  -31,  -31,  -31 },
1173
1174      {  5,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1175       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1176       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1177       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1178       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1179       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1180       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1181       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1182       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1183       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1184
1185       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1186       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1187       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1188       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1189       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1190       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1191       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1192       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1193       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1194       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1195
1196       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1197       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1198       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1199       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1200       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
1201       -32,  -32,  -32,  -32,  -32,  -32 },
1202
1203      {  5,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1204       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1205       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1206       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1207       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1208       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1209       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1210       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1211       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1212       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1213
1214       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1215       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1216       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1217       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1218       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1219       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1220       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1221       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1222       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1223       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1224
1225       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1226       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1227       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1228       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1229       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1230       -33,  -33,  -33,  -33,  -33,  -33 },
1231
1232      {  5,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1233       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1234       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1235       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1236       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1237       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1238       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1239       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1240       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1241       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1242
1243       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,   37,  -34,
1244       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1245       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1246       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1247       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1248       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1249       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1250       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1251       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1252       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1253
1254       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1255       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1256       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1257       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1258       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1259       -34,  -34,  -34,  -34,  -34,  -34 },
1260
1261      {  5,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1262       -35,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1263        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1264        38,   38,  -35,   38,   38,   38,   38,   38,   38,   38,
1265        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1266        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1267        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1268        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1269        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1270        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1271
1272        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1273        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1274        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1275        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1276        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1277        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1278        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1279        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1280        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1281        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1282
1283        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1284        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1285        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1286        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1287        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1288        38,   38,   38,   38,   38,   38 },
1289
1290      {  5,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1291       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1292       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1293       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1294       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,   39,   39,
1295        39,   39,   39,   39,   39,   39,  -36,  -36,  -36,  -36,
1296       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1297       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1298       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1299       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1300
1301       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1302       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1303       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1304       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1305       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1306       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1307       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1308       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1309       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1310       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1311
1312       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1313       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1314       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1315       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1316       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1317       -36,  -36,  -36,  -36,  -36,  -36 },
1318
1319      {  5,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1320       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1321       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1322       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1323       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1324       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1325       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1326       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1327       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1328       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1329
1330       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1331        40,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1332       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1333       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1334       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1335       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1336       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1337       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1338       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1339       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1340
1341       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1342       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1343       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1344       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1345       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1346       -37,  -37,  -37,  -37,  -37,  -37 },
1347
1348      {  5,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1349       -38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1350        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1351        38,   38,  -38,   38,   38,   38,   38,   38,   38,   38,
1352        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1353        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1354        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1355        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1356        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1357        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1358
1359        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1360        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1361        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1362        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1363        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1364        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1365        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1366        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1367        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1368        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1369
1370        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1371        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1372        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1373        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1374        38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
1375        38,   38,   38,   38,   38,   38 },
1376
1377      {  5,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1378       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1379       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1380       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1381       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1382       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1383       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1384       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1385       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1386       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1387
1388       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1389       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1390       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1391       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1392       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1393       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1394       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1395       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1396       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1397       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1398
1399       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1400       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1401       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1402       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1403       -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
1404       -39,  -39,  -39,  -39,  -39,  -39 },
1405
1406      {  5,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1407       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1408       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1409       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1410       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1411       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1412       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1413       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1414       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1415       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1416
1417       -40,  -40,   41,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1418       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1419       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1420       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1421       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1422       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1423       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1424       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1425       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1426       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1427
1428       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1429       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1430       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1431       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1432       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1433       -40,  -40,  -40,  -40,  -40,  -40 },
1434
1435      {  5,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1436       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1437       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1438       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1439       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1440       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1441       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1442       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1443       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1444       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1445
1446       -41,   42,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1447       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1448       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1449       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1450       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1451       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1452       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1453       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1454       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1455       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1456
1457       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1458       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1459       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1460       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1461       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1462       -41,  -41,  -41,  -41,  -41,  -41 },
1463
1464      {  5,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1465       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1466       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1467       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1468       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1469       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1470       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1471       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1472       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1473       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1474
1475       -42,   43,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1476       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1477       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1478       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1479       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1480       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1481       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1482       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1483       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1484       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1485
1486       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1487       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1488       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1489       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1490       -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
1491       -42,  -42,  -42,  -42,  -42,  -42 },
1492
1493      {  5,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1494       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1495       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1496       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1497       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1498       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1499       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1500       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1501       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1502       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1503
1504        44,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1505       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1506       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1507       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1508       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1509       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1510       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1511       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1512       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1513       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1514
1515       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1516       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1517       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1518       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1519       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1520       -43,  -43,  -43,  -43,  -43,  -43 },
1521
1522      {  5,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1523       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1524       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1525       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1526       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1527       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1528       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1529       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1530       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1531       -44,  -44,   45,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1532
1533       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1534       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1535       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1536       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1537       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1538       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1539       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1540       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1541       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1542       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1543
1544       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1545       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1546       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1547       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1548       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1549       -44,  -44,  -44,  -44,  -44,  -44 },
1550
1551      {  5,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1552       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1553       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1554       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1555       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1556       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1557       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1558       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1559       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1560       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1561
1562       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1563       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1564       -45,  -45,  -45,  -45,   46,  -45,  -45,  -45,  -45,  -45,
1565       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1566       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1567       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1568       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1569       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1570       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1571       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1572
1573       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1574       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1575       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1576       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1577       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1578       -45,  -45,  -45,  -45,  -45,  -45 },
1579
1580      {  5,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1581       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1582       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1583       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1584       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1585       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1586       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1587       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1588       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1589       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1590
1591       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1592       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1593       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1594       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1595       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1596       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1597       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1598       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1599       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1600       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1601
1602       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1603       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1604       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1605       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1606       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1607       -46,  -46,  -46,  -46,  -46,  -46 }
1608
1609     } ;
1610
1611
1612 /* done after the current pattern has been matched and before the
1613  * corresponding action - sets up yytext
1614  */
1615 #define YY_DO_BEFORE_ACTION \
1616         yytext = yy_bp; \
1617         yyleng = yy_cp - yy_bp; \
1618         yy_hold_char = *yy_cp; \
1619         *yy_cp = '\0'; \
1620         yy_c_buf_p = yy_cp;
1621
1622 #define EOB_ACT_CONTINUE_SCAN 0
1623 #define EOB_ACT_END_OF_FILE 1
1624 #define EOB_ACT_LAST_MATCH 2
1625
1626 /* return all but the first 'n' matched characters back to the input stream */
1627 #define yyless(n) \
1628         do \
1629                 { \
1630                 /* undo effects of setting up yytext */ \
1631                 *yy_cp = yy_hold_char; \
1632                 yy_c_buf_p = yy_cp = yy_bp + n; \
1633                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
1634                 } \
1635         while ( 0 )
1636
1637 #define unput(c) yyunput( c, yytext )
1638
1639
1640 struct yy_buffer_state
1641     {
1642     FILE *yy_input_file;
1643
1644     YY_CHAR *yy_ch_buf;         /* input buffer */
1645     YY_CHAR *yy_buf_pos;        /* current position in input buffer */
1646
1647     /* size of input buffer in bytes, not including room for EOB characters*/
1648     int yy_buf_size;    
1649
1650     /* number of characters read into yy_ch_buf, not including EOB characters */
1651     int yy_n_chars;
1652
1653     int yy_eof_status;          /* whether we've seen an EOF on this buffer */
1654 #define EOF_NOT_SEEN 0
1655     /* "pending" happens when the EOF has been seen but there's still
1656      * some text process
1657      */
1658 #define EOF_PENDING 1
1659 #define EOF_DONE 2
1660     };
1661
1662 static YY_BUFFER_STATE yy_current_buffer;
1663
1664 /* we provide macros for accessing buffer states in case in the
1665  * future we want to put the buffer states in a more general
1666  * "scanner state"
1667  */
1668 #define YY_CURRENT_BUFFER yy_current_buffer
1669
1670
1671 /* yy_hold_char holds the character lost when yytext is formed */
1672 static YY_CHAR yy_hold_char;
1673
1674 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
1675
1676
1677
1678 #ifndef YY_USER_ACTION
1679 #define YY_USER_ACTION
1680 #endif
1681
1682 #ifndef YY_USER_INIT
1683 #define YY_USER_INIT
1684 #endif
1685
1686 extern YY_CHAR *yytext;
1687 extern int yyleng;
1688 extern FILE *yyin, *yyout;
1689
1690 YY_CHAR *yytext;
1691 int yyleng;
1692
1693 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
1694
1695 #define YY_END_OF_BUFFER 24
1696 typedef int yy_state_type;
1697 static const short int yy_accept[47] =
1698     {   0,
1699         0,    0,    0,    0,   24,   21,   22,   21,   21,   21,
1700        11,   21,   21,   21,   21,   21,    9,   10,   18,   17,
1701        19,    8,    2,   20,    1,    7,    4,    6,    5,   18,
1702         0,   12,   13,   14,    0,    0,    0,    3,   16,    0,
1703         0,    0,    0,    0,    0,   15
1704     } ;
1705
1706 static yy_state_type yy_last_accepting_state;
1707 static YY_CHAR *yy_last_accepting_cpos;
1708
1709 static const yy_state_type yy_NUL_trans[47] =
1710     {   0,
1711         6,    6,   19,   19,    0,    0,    0,   22,   23,   24,
1712         0,   25,   26,    0,   28,   29,    0,    0,   30,    0,
1713         0,   22,   23,   24,   25,   26,    0,   28,   29,   30,
1714         0,    0,    0,    0,   38,    0,    0,   38,    0,    0,
1715         0,    0,    0,    0,    0,    0
1716     } ;
1717
1718 /* the intent behind this definition is that it'll catch
1719  * any uses of REJECT which flex missed
1720  */
1721 #define REJECT reject_used_but_not_detected
1722 #define yymore() yymore_used_but_not_detected
1723 #define YY_MORE_ADJ 0
1724
1725 /* these variables are all declared out here so that section 3 code can
1726  * manipulate them
1727  */
1728 /* points to current character in buffer */
1729 static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
1730 static int yy_init = 1;         /* whether we need to initialize */
1731 static int yy_start = 0;        /* start state number */
1732
1733 /* flag which is used to allow yywrap()'s to do buffer switches
1734  * instead of setting up a fresh yyin.  A bit of a hack ...
1735  */
1736 static int yy_did_buffer_switch_on_eof;
1737
1738 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
1739 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
1740 static int yy_get_next_buffer YY_PROTO(( void ));
1741 #if 0
1742 static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
1743 #endif
1744 void yyrestart YY_PROTO(( FILE *input_file ));
1745 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
1746 void yy_load_buffer_state YY_PROTO(( void ));
1747 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
1748 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
1749 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
1750
1751 #define yy_new_buffer yy_create_buffer
1752
1753 #if 0
1754 #ifdef __cplusplus
1755 static int yyinput YY_PROTO(( void ));
1756 #else
1757 static int input YY_PROTO(( void ));
1758 #endif
1759 #endif
1760
1761 YY_DECL
1762     {
1763     register yy_state_type yy_current_state;
1764     register YY_CHAR *yy_cp, *yy_bp;
1765     register int yy_act;
1766
1767
1768
1769
1770     if ( yy_init )
1771         {
1772         YY_USER_INIT;
1773
1774         if ( ! yy_start )
1775             yy_start = 1;       /* first start state */
1776
1777         if ( ! yyin )
1778             yyin = stdin;
1779
1780         if ( ! yyout )
1781             yyout = stdout;
1782
1783         if ( yy_current_buffer )
1784             yy_init_buffer( yy_current_buffer, yyin );
1785         else
1786             yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
1787
1788         yy_load_buffer_state();
1789
1790         yy_init = 0;
1791         }
1792
1793     while ( 1 )         /* loops until end-of-file is reached */
1794         {
1795         yy_cp = yy_c_buf_p;
1796
1797         /* support of yytext */
1798         *yy_cp = yy_hold_char;
1799
1800         /* yy_bp points to the position in yy_ch_buf of the start of the
1801          * current run.
1802          */
1803         yy_bp = yy_cp;
1804
1805         yy_current_state = yy_start;
1806         if ( yy_bp[-1] == '\n' )
1807             ++yy_current_state;
1808 yy_match:
1809         while ( (yy_current_state = yy_nxt[yy_current_state][*yy_cp]) > 0 )
1810             {
1811             if ( yy_accept[yy_current_state] )
1812                 {
1813                 yy_last_accepting_state = yy_current_state;
1814                 yy_last_accepting_cpos = yy_cp;
1815                 }
1816
1817             ++yy_cp;
1818             }
1819
1820         yy_current_state = -yy_current_state;
1821
1822 yy_find_action:
1823         yy_act = yy_accept[yy_current_state];
1824
1825         YY_DO_BEFORE_ACTION;
1826         YY_USER_ACTION;
1827
1828 do_action:      /* this label is used only to access EOF actions */
1829
1830
1831         switch ( yy_act )
1832             {
1833             case 0: /* must backtrack */
1834             /* undo the effects of YY_DO_BEFORE_ACTION */
1835             *yy_cp = yy_hold_char;
1836             yy_cp = yy_last_accepting_cpos + 1;
1837             yy_current_state = yy_last_accepting_state;
1838             goto yy_find_action;
1839
1840 case 1:
1841 {
1842                              char *name;
1843                              char *tstr;
1844                              char *value;
1845                              int type;
1846                              // Parse the attStr
1847
1848                              name = strtok ( (char*)yytext+1, "\n\t ");
1849                              tstr = strtok ( NULL, "\n\t ");
1850                              value = strtok ( NULL, "\n\t");
1851                              type = SGMLName::intern(tstr);
1852
1853                              if ( type != SGMLName::IMPLIED ){
1854                                if(!value) value = (char*)"";
1855                                Dispatch::tok->StoreAttribute( name, value, type);
1856                              }
1857                            }
1858         YY_BREAK
1859 case 2:
1860 {
1861                              // An generic identifier is found
1862                              // Need to determine how to display/return the
1863                              // information associated with it
1864
1865                              Dispatch::token(START, (unsigned char *)yytext+1 );
1866                             
1867                            }
1868         YY_BREAK
1869 case 3:
1870 {       /* file & line num info. */
1871                                 char *p = (char*)yytext+1;
1872                                 Dispatch::line(atoi(p));
1873                                 while(*p != ' ') p++;
1874                                 p++;
1875                                 Dispatch::file(p);
1876                            }
1877         YY_BREAK
1878 case 4:
1879 {       /* line num info. */
1880                                 char *p = (char*)yytext+1;
1881                                 Dispatch::line(atoi(p));
1882                            }
1883         YY_BREAK
1884 case 5:
1885 {
1886                               /* system id found */
1887                               defn->store_sys_id( (char *)yytext + 1 );
1888                             }
1889         YY_BREAK
1890 case 6:
1891 {
1892                               /* file name found */
1893                               defn->store_file_name( (char *)yytext + 1 );
1894                             }
1895         YY_BREAK
1896 case 7:
1897 {
1898                               /*
1899                                * For now, only entity definition is recorded
1900                                * Eventually Notation, Subdoc....
1901                                */
1902                               defn->store_defn( ENTITY_TYPE,
1903                                                 (char *)yytext + 1 );
1904                               
1905                               Dispatch::entity_decl( defn );
1906                               
1907                             }
1908         YY_BREAK
1909 case 8:
1910 {
1911                               /*
1912                                * external entity reference
1913                                */
1914                               Dispatch::token(EXTERNAL_ENTITY, 
1915                                               (unsigned char *)yytext+1 );
1916                             }
1917         YY_BREAK
1918 case 9:
1919 {
1920                               /*
1921                                * subdoc start event
1922                                */
1923                              Dispatch::subdoc_start();
1924
1925                            }
1926         YY_BREAK
1927 case 10:
1928 {
1929                              /*
1930                               * subdoc end event
1931                               */
1932                              Dispatch::subdoc_end();
1933                            }
1934         YY_BREAK
1935 case 11:
1936 {
1937                              BEGIN ( ProcessData );
1938                            }
1939         YY_BREAK
1940 case 12:
1941 {
1942                               // A slash
1943                               DataBuffer->put ('\\');
1944                            }
1945         YY_BREAK
1946 case 13:
1947 {
1948                              // Replace new line with space
1949                              DataBuffer->put('\015');
1950                              Dispatch::newline();
1951                              
1952                            }
1953         YY_BREAK
1954 case 14:
1955 {
1956                              // Bypass this entity
1957                            }
1958         YY_BREAK
1959 case 15:
1960 {
1961                                DataBuffer->put('\n');
1962                              }
1963         YY_BREAK
1964 case 16:
1965 {
1966   
1967                                    unsigned char ch = oct2dec(
1968                                       (const char *)yytext + 1 );
1969                                    DataBuffer->put ( ch );
1970
1971                                  }
1972         YY_BREAK
1973 case 17:
1974 {
1975                              Dispatch::data( DataBuffer );
1976                              delete DataBuffer;
1977                              DataBuffer = new FlexBuffer;
1978
1979                              BEGIN(0);
1980                            }
1981         YY_BREAK
1982 case 18:
1983 {
1984                              DataBuffer->write( (char*)yytext,
1985                                                 strlen((char*)yytext) );
1986                            }
1987         YY_BREAK
1988 case 19:
1989 {
1990                              throw(Unexpected(form("Bad character '%s' found",
1991                                                    (char *)yytext)));
1992                            }
1993         YY_BREAK
1994 case 20:
1995 {
1996                              Dispatch::token (END, (unsigned char *)yytext+1);
1997                            }
1998         YY_BREAK
1999 case 21:
2000 case 22:
2001 ;
2002         YY_BREAK
2003 case 23:
2004 YY_FATAL_ERROR( "flex scanner jammed" );
2005         YY_BREAK
2006 case YY_STATE_EOF(INITIAL):
2007 case YY_STATE_EOF(ProcessData):
2008     yyterminate();
2009
2010             case YY_END_OF_BUFFER:
2011                 {
2012                 /* amount of text matched not including the EOB char */
2013                 int yy_amount_of_matched_text = yy_cp - yytext - 1;
2014
2015                 /* undo the effects of YY_DO_BEFORE_ACTION */
2016                 *yy_cp = yy_hold_char;
2017
2018                 /* note that here we test for yy_c_buf_p "<=" to the position
2019                  * of the first EOB in the buffer, since yy_c_buf_p will
2020                  * already have been incremented past the NUL character
2021                  * (since all states make transitions on EOB to the end-
2022                  * of-buffer state).  Contrast this with the test in yyinput().
2023                  */
2024                 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2025                     /* this was really a NUL */
2026                     {
2027                     yy_state_type yy_next_state;
2028
2029                     yy_c_buf_p = yytext + yy_amount_of_matched_text;
2030
2031                     yy_current_state = yy_get_previous_state();
2032
2033                     /* okay, we're now positioned to make the
2034                      * NUL transition.  We couldn't have
2035                      * yy_get_previous_state() go ahead and do it
2036                      * for us because it doesn't know how to deal
2037                      * with the possibility of jamming (and we
2038                      * don't want to build jamming into it because
2039                      * then it will run more slowly)
2040                      */
2041
2042                     yy_next_state = yy_try_NUL_trans( yy_current_state );
2043
2044                     yy_bp = yytext + YY_MORE_ADJ;
2045
2046                     if ( yy_next_state )
2047                         {
2048                         /* consume the NUL */
2049                         yy_cp = ++yy_c_buf_p;
2050                         yy_current_state = yy_next_state;
2051                         goto yy_match;
2052                         }
2053
2054                     else
2055                         {
2056                             yy_cp = yy_c_buf_p;
2057                         goto yy_find_action;
2058                         }
2059                     }
2060
2061                 else switch ( yy_get_next_buffer() )
2062                     {
2063                     case EOB_ACT_END_OF_FILE:
2064                         {
2065                         yy_did_buffer_switch_on_eof = 0;
2066
2067                         if ( yywrap() )
2068                             {
2069                             /* note: because we've taken care in
2070                              * yy_get_next_buffer() to have set up yytext,
2071                              * we can now set up yy_c_buf_p so that if some
2072                              * total hoser (like flex itself) wants
2073                              * to call the scanner after we return the
2074                              * YY_NULL, it'll still work - another YY_NULL
2075                              * will get returned.
2076                              */
2077                             yy_c_buf_p = yytext + YY_MORE_ADJ;
2078
2079                             yy_act = YY_STATE_EOF((yy_start - 1) / 2);
2080                             goto do_action;
2081                             }
2082
2083                         else
2084                             {
2085                             if ( ! yy_did_buffer_switch_on_eof )
2086                                 YY_NEW_FILE;
2087                             }
2088                         }
2089                         break;
2090
2091                     case EOB_ACT_CONTINUE_SCAN:
2092                         yy_c_buf_p = yytext + yy_amount_of_matched_text;
2093
2094                         yy_current_state = yy_get_previous_state();
2095
2096                         yy_cp = yy_c_buf_p;
2097                         yy_bp = yytext + YY_MORE_ADJ;
2098                         goto yy_match;
2099
2100                     case EOB_ACT_LAST_MATCH:
2101                         yy_c_buf_p =
2102                             &yy_current_buffer->yy_ch_buf[yy_n_chars];
2103
2104                         yy_current_state = yy_get_previous_state();
2105
2106                         yy_cp = yy_c_buf_p;
2107                         yy_bp = yytext + YY_MORE_ADJ;
2108                         goto yy_find_action;
2109                     }
2110                 break;
2111                 }
2112
2113             default:
2114 #ifdef FLEX_DEBUG
2115                 printf( "action # %d\n", yy_act );
2116 #endif
2117                 YY_FATAL_ERROR(
2118                         "fatal flex scanner internal error--no action found" );
2119             }
2120         }
2121     }
2122
2123
2124 /* yy_get_next_buffer - try to read in a new buffer
2125  *
2126  * synopsis
2127  *     int yy_get_next_buffer();
2128  *     
2129  * returns a code representing an action
2130  *     EOB_ACT_LAST_MATCH - 
2131  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2132  *     EOB_ACT_END_OF_FILE - end of file
2133  */
2134
2135 static int yy_get_next_buffer()
2136
2137     {
2138     register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
2139     register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
2140     register int number_to_move, i;
2141     int ret_val;
2142
2143     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2144         YY_FATAL_ERROR(
2145                 "fatal flex scanner internal error--end of buffer missed" );
2146
2147     /* try to read more data */
2148
2149     /* first move last chars to start of buffer */
2150     number_to_move = yy_c_buf_p - yytext;
2151
2152     for ( i = 0; i < number_to_move; ++i )
2153         *(dest++) = *(source++);
2154
2155     if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
2156         /* don't do the read, it's not guaranteed to return an EOF,
2157          * just force an EOF
2158          */
2159         yy_n_chars = 0;
2160
2161     else
2162         {
2163         int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
2164
2165         if ( num_to_read > YY_READ_BUF_SIZE )
2166             num_to_read = YY_READ_BUF_SIZE;
2167
2168         else if ( num_to_read <= 0 )
2169             YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
2170
2171         /* read in more data */
2172         YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2173                   yy_n_chars, num_to_read );
2174         }
2175
2176     if ( yy_n_chars == 0 )
2177         {
2178         if ( number_to_move == 1 )
2179             {
2180             ret_val = EOB_ACT_END_OF_FILE;
2181             yy_current_buffer->yy_eof_status = EOF_DONE;
2182             }
2183
2184         else
2185             {
2186             ret_val = EOB_ACT_LAST_MATCH;
2187             yy_current_buffer->yy_eof_status = EOF_PENDING;
2188             }
2189         }
2190
2191     else
2192         ret_val = EOB_ACT_CONTINUE_SCAN;
2193
2194     yy_n_chars += number_to_move;
2195     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2196     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2197
2198     /* yytext begins at the second character in yy_ch_buf; the first
2199      * character is the one which preceded it before reading in the latest
2200      * buffer; it needs to be kept around in case it's a newline, so
2201      * yy_get_previous_state() will have with '^' rules active
2202      */
2203
2204     yytext = &yy_current_buffer->yy_ch_buf[1];
2205
2206     return ( ret_val );
2207     }
2208
2209
2210 /* yy_get_previous_state - get the state just before the EOB char was reached
2211  *
2212  * synopsis
2213  *     yy_state_type yy_get_previous_state();
2214  */
2215
2216 static yy_state_type yy_get_previous_state()
2217
2218     {
2219     register yy_state_type yy_current_state;
2220     register YY_CHAR *yy_cp;
2221
2222     register YY_CHAR *yy_bp = yytext;
2223
2224     yy_current_state = yy_start;
2225     if ( yy_bp[-1] == '\n' )
2226         ++yy_current_state;
2227
2228     for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2229         {
2230         if ( *yy_cp )
2231             {
2232             yy_current_state = yy_nxt[yy_current_state][*yy_cp];
2233             }
2234         else
2235             yy_current_state = yy_NUL_trans[yy_current_state];
2236         if ( yy_accept[yy_current_state] )
2237             {
2238             yy_last_accepting_state = yy_current_state;
2239             yy_last_accepting_cpos = yy_cp;
2240             }
2241         }
2242
2243     return ( yy_current_state );
2244     }
2245
2246
2247 /* yy_try_NUL_trans - try to make a transition on the NUL character
2248  *
2249  * synopsis
2250  *     next_state = yy_try_NUL_trans( current_state );
2251  */
2252
2253 #ifdef YY_USE_PROTOS
2254 static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
2255 #else
2256 static yy_state_type yy_try_NUL_trans( yy_current_state )
2257 register yy_state_type yy_current_state;
2258 #endif
2259
2260     {
2261     register int yy_is_jam;
2262     register YY_CHAR *yy_cp = yy_c_buf_p;
2263
2264     yy_current_state = yy_NUL_trans[yy_current_state];
2265     yy_is_jam = (yy_current_state == 0);
2266
2267     if ( ! yy_is_jam )
2268         {
2269         if ( yy_accept[yy_current_state] )
2270             {
2271             yy_last_accepting_state = yy_current_state;
2272             yy_last_accepting_cpos = yy_cp;
2273             }
2274         }
2275
2276     return ( yy_is_jam ? 0 : yy_current_state );
2277     }
2278
2279
2280 #if 0
2281 #ifdef YY_USE_PROTOS
2282 static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
2283 #else
2284 static void yyunput( c, yy_bp )
2285 YY_CHAR c;
2286 register YY_CHAR *yy_bp;
2287 #endif
2288
2289     {
2290     register YY_CHAR *yy_cp = yy_c_buf_p;
2291
2292     /* undo effects of setting up yytext */
2293     *yy_cp = yy_hold_char;
2294
2295     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2296         { /* need to shift things up to make room */
2297         register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
2298         register YY_CHAR *dest =
2299             &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
2300         register YY_CHAR *source =
2301             &yy_current_buffer->yy_ch_buf[number_to_move];
2302
2303         while ( source > yy_current_buffer->yy_ch_buf )
2304             *--dest = *--source;
2305
2306         yy_cp += dest - source;
2307         yy_bp += dest - source;
2308         yy_n_chars = yy_current_buffer->yy_buf_size;
2309
2310         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2311             YY_FATAL_ERROR( "flex scanner push-back overflow" );
2312         }
2313
2314     if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
2315         yy_cp[-2] = '\n';
2316
2317     *--yy_cp = c;
2318
2319     /* note: the formal parameter *must* be called "yy_bp" for this
2320      *       macro to now work correctly
2321      */
2322     YY_DO_BEFORE_ACTION; /* set up yytext again */
2323     }
2324 #endif
2325
2326
2327 #if 0
2328 #ifdef __cplusplus
2329 static int yyinput()
2330 #else
2331 static int input()
2332 #endif
2333
2334     {
2335     int c;
2336     YY_CHAR *yy_cp = yy_c_buf_p;
2337
2338     *yy_cp = yy_hold_char;
2339
2340     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2341         {
2342         /* yy_c_buf_p now points to the character we want to return.
2343          * If this occurs *before* the EOB characters, then it's a
2344          * valid NUL; if not, then we've hit the end of the buffer.
2345          */
2346         if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2347             /* this was really a NUL */
2348             *yy_c_buf_p = '\0';
2349
2350         else
2351             { /* need more input */
2352             yytext = yy_c_buf_p;
2353             ++yy_c_buf_p;
2354
2355             switch ( yy_get_next_buffer() )
2356                 {
2357                 case EOB_ACT_END_OF_FILE:
2358                     {
2359                     if ( yywrap() )
2360                         {
2361                         yy_c_buf_p = yytext + YY_MORE_ADJ;
2362                         return ( EOF );
2363                         }
2364
2365                     YY_NEW_FILE;
2366
2367 #ifdef __cplusplus
2368                     return ( yyinput() );
2369 #else
2370                     return ( input() );
2371 #endif
2372                     }
2373                     break;
2374
2375                 case EOB_ACT_CONTINUE_SCAN:
2376                     yy_c_buf_p = yytext + YY_MORE_ADJ;
2377                     break;
2378
2379                 case EOB_ACT_LAST_MATCH:
2380 #ifdef __cplusplus
2381                     YY_FATAL_ERROR( "unexpected last match in yyinput()" );
2382 #else
2383                     YY_FATAL_ERROR( "unexpected last match in input()" );
2384 #endif
2385                 }
2386             }
2387         }
2388
2389     c = *yy_c_buf_p;
2390     yy_hold_char = *++yy_c_buf_p;
2391
2392     return ( c );
2393     }
2394 #endif
2395
2396
2397 #ifdef YY_USE_PROTOS
2398 void yyrestart( FILE *input_file )
2399 #else
2400 void yyrestart( input_file )
2401 FILE *input_file;
2402 #endif
2403
2404     {
2405     yy_init_buffer( yy_current_buffer, input_file );
2406     yy_load_buffer_state();
2407     }
2408
2409
2410 #ifdef YY_USE_PROTOS
2411 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2412 #else
2413 void yy_switch_to_buffer( new_buffer )
2414 YY_BUFFER_STATE new_buffer;
2415 #endif
2416
2417     {
2418     if ( yy_current_buffer == new_buffer )
2419         return;
2420
2421     if ( yy_current_buffer )
2422         {
2423         /* flush out information for old buffer */
2424         *yy_c_buf_p = yy_hold_char;
2425         yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2426         yy_current_buffer->yy_n_chars = yy_n_chars;
2427         }
2428
2429     yy_current_buffer = new_buffer;
2430     yy_load_buffer_state();
2431
2432     /* we don't actually know whether we did this switch during
2433      * EOF (yywrap()) processing, but the only time this flag
2434      * is looked at is after yywrap() is called, so it's safe
2435      * to go ahead and always set it.
2436      */
2437     yy_did_buffer_switch_on_eof = 1;
2438     }
2439
2440
2441 #ifdef YY_USE_PROTOS
2442 void yy_load_buffer_state( void )
2443 #else
2444 void yy_load_buffer_state()
2445 #endif
2446
2447     {
2448     yy_n_chars = yy_current_buffer->yy_n_chars;
2449     yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2450     yyin = yy_current_buffer->yy_input_file;
2451     yy_hold_char = *yy_c_buf_p;
2452     }
2453
2454
2455 #ifdef YY_USE_PROTOS
2456 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2457 #else
2458 YY_BUFFER_STATE yy_create_buffer( file, size )
2459 FILE *file;
2460 int size;
2461 #endif
2462
2463     {
2464     YY_BUFFER_STATE b;
2465
2466     b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
2467
2468     if ( ! b )
2469         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2470
2471     b->yy_buf_size = size;
2472
2473     /* yy_ch_buf has to be 2 characters longer than the size given because
2474      * we need to put in 2 end-of-buffer characters.
2475      */
2476     b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
2477
2478     if ( ! b->yy_ch_buf )
2479         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2480
2481     yy_init_buffer( b, file );
2482
2483     return ( b );
2484     }
2485
2486
2487 #ifdef YY_USE_PROTOS
2488 void yy_delete_buffer( YY_BUFFER_STATE b )
2489 #else
2490 void yy_delete_buffer( b )
2491 YY_BUFFER_STATE b;
2492 #endif
2493
2494     {
2495     if ( b == yy_current_buffer )
2496         yy_current_buffer = (YY_BUFFER_STATE) 0;
2497
2498     free( (char *) b->yy_ch_buf );
2499     free( (char *) b );
2500     }
2501
2502
2503 #ifdef YY_USE_PROTOS
2504 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2505 #else
2506 void yy_init_buffer( b, file )
2507 YY_BUFFER_STATE b;
2508 FILE *file;
2509 #endif
2510
2511     {
2512     b->yy_input_file = file;
2513
2514     /* we put in the '\n' and start reading from [1] so that an
2515      * initial match-at-newline will be true.
2516      */
2517
2518     b->yy_ch_buf[0] = '\n';
2519     b->yy_n_chars = 1;
2520
2521     /* we always need two end-of-buffer characters.  The first causes
2522      * a transition to the end-of-buffer state.  The second causes
2523      * a jam in that state.
2524      */
2525     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2526     b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
2527
2528     b->yy_buf_pos = &b->yy_ch_buf[1];
2529
2530     b->yy_eof_status = EOF_NOT_SEEN;
2531     }
2532
2533
2534 #ifdef DEBUG
2535 //---------------------------------------------------------------------
2536 #include "OLAF.h"  
2537 #include "SGMLName.h"
2538
2539 static void TestToken( Token *tok )
2540 {
2541   cout << "(" << tok->giName() << endl;
2542   for ( const AttributeRec *a = tok->GetFirstAttr(); a; a=tok->GetNextAttr( a ) ) {
2543     cout << "AttributeName = " << SGMLName::lookup(a->getAttrName()) << endl;
2544     cout << "AttributeValueStr = " << a->getAttrValueString() << endl;
2545     cout << "AttributeValue = " << a->getAttValue() << endl;
2546     cout << "AttributeType = " << a->getAttrType() << endl;
2547
2548     if ( !(strcmp( a->getAttrValueString(), "NODE" ) ) ){
2549       if ( tok->AttributeMatch ( OLAF::OLIAS, OLAF::OL_Section ) ) {
2550         cout << "AttrMatch Test 1 passed\n";
2551       }
2552       else {
2553         cout << "AttrMatch Test 1 failed\n";
2554       }
2555
2556       if ( !tok->AttributeMatch ( OLAF::OLIAS, OLAF::OL_Graphic ) ) {
2557         cout << "AttrMatch Test 2 passed\n";
2558       }
2559       else {
2560         cout << "AttrMatch Test 2 failed\n";
2561       }
2562       
2563     }
2564   }
2565 }
2566 #endif /* DBUG_OFF */