bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch...
[asterisk/asterisk.git] / main / ast_expr2f.c
1 #include "asterisk.h"
2
3 #line 2 "ast_expr2f.c"
4
5 #line 4 "ast_expr2f.c"
6
7 #define  YY_INT_ALIGNED short int
8
9 /* A lexical scanner generated by flex */
10
11 #define FLEX_SCANNER
12 #define YY_FLEX_MAJOR_VERSION 2
13 #define YY_FLEX_MINOR_VERSION 5
14 #define YY_FLEX_SUBMINOR_VERSION 35
15 #if YY_FLEX_SUBMINOR_VERSION > 0
16 #define FLEX_BETA
17 #endif
18
19 /* First, we deal with  platform-specific or compiler-specific issues. */
20
21 /* begin standard C headers. */
22 #include <stdio.h>
23 #include <string.h>
24 #include <errno.h>
25 #include <stdlib.h>
26
27 /* end standard C headers. */
28
29 /* flex integer type definitions */
30
31 #ifndef FLEXINT_H
32 #define FLEXINT_H
33
34 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
35
36 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
37
38 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
39  * if you want the limit (max/min) macros for int types. 
40  */
41 #ifndef __STDC_LIMIT_MACROS
42 #define __STDC_LIMIT_MACROS 1
43 #endif
44
45 #include <inttypes.h>
46 typedef int8_t flex_int8_t;
47 typedef uint8_t flex_uint8_t;
48 typedef int16_t flex_int16_t;
49 typedef uint16_t flex_uint16_t;
50 typedef int32_t flex_int32_t;
51 typedef uint32_t flex_uint32_t;
52 #else
53 typedef signed char flex_int8_t;
54 typedef short int flex_int16_t;
55 typedef int flex_int32_t;
56 typedef unsigned char flex_uint8_t; 
57 typedef unsigned short int flex_uint16_t;
58 typedef unsigned int flex_uint32_t;
59
60 /* Limits of integral types. */
61 #ifndef INT8_MIN
62 #define INT8_MIN               (-128)
63 #endif
64 #ifndef INT16_MIN
65 #define INT16_MIN              (-32767-1)
66 #endif
67 #ifndef INT32_MIN
68 #define INT32_MIN              (-2147483647-1)
69 #endif
70 #ifndef INT8_MAX
71 #define INT8_MAX               (127)
72 #endif
73 #ifndef INT16_MAX
74 #define INT16_MAX              (32767)
75 #endif
76 #ifndef INT32_MAX
77 #define INT32_MAX              (2147483647)
78 #endif
79 #ifndef UINT8_MAX
80 #define UINT8_MAX              (255U)
81 #endif
82 #ifndef UINT16_MAX
83 #define UINT16_MAX             (65535U)
84 #endif
85 #ifndef UINT32_MAX
86 #define UINT32_MAX             (4294967295U)
87 #endif
88
89 #endif /* ! C99 */
90
91 #endif /* ! FLEXINT_H */
92
93 #ifdef __cplusplus
94
95 /* The "const" storage-class-modifier is valid. */
96 #define YY_USE_CONST
97
98 #else   /* ! __cplusplus */
99
100 /* C99 requires __STDC__ to be defined as 1. */
101 #if defined (__STDC__)
102
103 #define YY_USE_CONST
104
105 #endif  /* defined (__STDC__) */
106 #endif  /* ! __cplusplus */
107
108 #ifdef YY_USE_CONST
109 #define yyconst const
110 #else
111 #define yyconst
112 #endif
113
114 /* Returned upon end-of-file. */
115 #define YY_NULL 0
116
117 /* Promotes a possibly negative, possibly signed char to an unsigned
118  * integer for use as an array index.  If the signed char is negative,
119  * we want to instead treat it as an 8-bit unsigned char, hence the
120  * double cast.
121  */
122 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
123
124 /* An opaque pointer. */
125 #ifndef YY_TYPEDEF_YY_SCANNER_T
126 #define YY_TYPEDEF_YY_SCANNER_T
127 typedef void* yyscan_t;
128 #endif
129
130 /* For convenience, these vars (plus the bison vars far below)
131    are macros in the reentrant scanner. */
132 #define yyin yyg->yyin_r
133 #define yyout yyg->yyout_r
134 #define yyextra yyg->yyextra_r
135 #define yyleng yyg->yyleng_r
136 #define yytext yyg->yytext_r
137 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
138 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
139 #define yy_flex_debug yyg->yy_flex_debug_r
140
141 /* Enter a start condition.  This macro really ought to take a parameter,
142  * but we do it the disgusting crufty way forced on us by the ()-less
143  * definition of BEGIN.
144  */
145 #define BEGIN yyg->yy_start = 1 + 2 *
146
147 /* Translate the current start state into a value that can be later handed
148  * to BEGIN to return to the state.  The YYSTATE alias is for lex
149  * compatibility.
150  */
151 #define YY_START ((yyg->yy_start - 1) / 2)
152 #define YYSTATE YY_START
153
154 /* Action number for EOF rule of a given start state. */
155 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156
157 /* Special action meaning "start processing a new file". */
158 #define YY_NEW_FILE ast_yyrestart(yyin ,yyscanner )
159
160 #define YY_END_OF_BUFFER_CHAR 0
161
162 /* Size of default input buffer. */
163 #ifndef YY_BUF_SIZE
164 #define YY_BUF_SIZE 16384
165 #endif
166
167 /* The state buf must be large enough to hold one state per character in the main buffer.
168  */
169 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170
171 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
172 #define YY_TYPEDEF_YY_BUFFER_STATE
173 typedef struct yy_buffer_state *YY_BUFFER_STATE;
174 #endif
175
176 #define EOB_ACT_CONTINUE_SCAN 0
177 #define EOB_ACT_END_OF_FILE 1
178 #define EOB_ACT_LAST_MATCH 2
179
180     #define YY_LESS_LINENO(n)
181     
182 /* Return all but the first "n" matched characters back to the input stream. */
183 #define yyless(n) \
184         do \
185                 { \
186                 /* Undo effects of setting up yytext. */ \
187         int yyless_macro_arg = (n); \
188         YY_LESS_LINENO(yyless_macro_arg);\
189                 *yy_cp = yyg->yy_hold_char; \
190                 YY_RESTORE_YY_MORE_OFFSET \
191                 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
192                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
193                 } \
194         while ( 0 )
195
196 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
197
198 #ifndef YY_TYPEDEF_YY_SIZE_T
199 #define YY_TYPEDEF_YY_SIZE_T
200 typedef size_t yy_size_t;
201 #endif
202
203 #ifndef YY_STRUCT_YY_BUFFER_STATE
204 #define YY_STRUCT_YY_BUFFER_STATE
205 struct yy_buffer_state
206         {
207         FILE *yy_input_file;
208
209         char *yy_ch_buf;                /* input buffer */
210         char *yy_buf_pos;               /* current position in input buffer */
211
212         /* Size of input buffer in bytes, not including room for EOB
213          * characters.
214          */
215         yy_size_t yy_buf_size;
216
217         /* Number of characters read into yy_ch_buf, not including EOB
218          * characters.
219          */
220         int yy_n_chars;
221
222         /* Whether we "own" the buffer - i.e., we know we created it,
223          * and can realloc() it to grow it, and should free() it to
224          * delete it.
225          */
226         int yy_is_our_buffer;
227
228         /* Whether this is an "interactive" input source; if so, and
229          * if we're using stdio for input, then we want to use getc()
230          * instead of fread(), to make sure we stop fetching input after
231          * each newline.
232          */
233         int yy_is_interactive;
234
235         /* Whether we're considered to be at the beginning of a line.
236          * If so, '^' rules will be active on the next match, otherwise
237          * not.
238          */
239         int yy_at_bol;
240
241     int yy_bs_lineno; /**< The line count. */
242     int yy_bs_column; /**< The column count. */
243     
244         /* Whether to try to fill the input buffer when we reach the
245          * end of it.
246          */
247         int yy_fill_buffer;
248
249         int yy_buffer_status;
250
251 #define YY_BUFFER_NEW 0
252 #define YY_BUFFER_NORMAL 1
253         /* When an EOF's been seen but there's still some text to process
254          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
255          * shouldn't try reading from the input source any more.  We might
256          * still have a bunch of tokens to match, though, because of
257          * possible backing-up.
258          *
259          * When we actually see the EOF, we change the status to "new"
260          * (via ast_yyrestart()), so that the user can continue scanning by
261          * just pointing yyin at a new input file.
262          */
263 #define YY_BUFFER_EOF_PENDING 2
264
265         };
266 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
267
268 /* We provide macros for accessing buffer states in case in the
269  * future we want to put the buffer states in a more general
270  * "scanner state".
271  *
272  * Returns the top of the stack, or NULL.
273  */
274 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
275                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
276                           : NULL)
277
278 /* Same as previous macro, but useful when we know that the buffer stack is not
279  * NULL or when we need an lvalue. For internal use only.
280  */
281 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
282
283 void ast_yyrestart (FILE *input_file ,yyscan_t yyscanner );
284 void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
285 YY_BUFFER_STATE ast_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
286 void ast_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
287 void ast_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
288 void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
289 void ast_yypop_buffer_state (yyscan_t yyscanner );
290
291 static void ast_yyensure_buffer_stack (yyscan_t yyscanner );
292 static void ast_yy_load_buffer_state (yyscan_t yyscanner );
293 static void ast_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
294
295 #define YY_FLUSH_BUFFER ast_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
296
297 YY_BUFFER_STATE ast_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
298 YY_BUFFER_STATE ast_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
299 YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
300
301 void *ast_yyalloc (yy_size_t ,yyscan_t yyscanner );
302 void *ast_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
303 void ast_yyfree (void * ,yyscan_t yyscanner );
304
305 #define yy_new_buffer ast_yy_create_buffer
306
307 #define yy_set_interactive(is_interactive) \
308         { \
309         if ( ! YY_CURRENT_BUFFER ){ \
310         ast_yyensure_buffer_stack (yyscanner); \
311                 YY_CURRENT_BUFFER_LVALUE =    \
312             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
313         } \
314         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
315         }
316
317 #define yy_set_bol(at_bol) \
318         { \
319         if ( ! YY_CURRENT_BUFFER ){\
320         ast_yyensure_buffer_stack (yyscanner); \
321                 YY_CURRENT_BUFFER_LVALUE =    \
322             ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
323         } \
324         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
325         }
326
327 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
328
329 /* Begin user sect3 */
330
331 #define ast_yywrap(n) 1
332 #define YY_SKIP_YYWRAP
333
334 typedef unsigned char YY_CHAR;
335
336 typedef int yy_state_type;
337
338 #define yytext_ptr yytext_r
339 static yyconst flex_int16_t yy_nxt[][256] =
340     {
341     {
342         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
343         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
344         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
345         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
346         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
347         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
348         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
349         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
350         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
351         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
352
353         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
354         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
355         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
356         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
357         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
358         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
359         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
360         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
361         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
362         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
363
364         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
365         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
366         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
367         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
368         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
369         0,    0,    0,    0,    0,    0
370     },
371
372     {
373         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
374        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
375         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
376         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
377
378        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
379        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
380        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
381        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
382        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
383        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
384        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
385        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
386        13,   13,   13,    8,   30,    8,   31,    8,   13,   13,
387        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
388
389        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
390        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
391        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
392        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
393        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
394        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
395        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
396        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
397        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
398        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
399
400        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
401        13,   13,   13,   13,   13,   13
402     },
403
404     {
405         7,    8,    8,    8,    8,    8,    8,    8,    8,    9,
406        10,    8,    8,    9,    8,    8,    8,    8,    8,    8,
407         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
408         8,    8,    9,   11,   12,   13,   14,   15,   16,   13,
409        17,   18,   19,   20,   21,   22,   13,   23,   24,   24,
410        24,   24,   24,   24,   24,   24,   24,   24,   25,   13,
411        26,   27,   28,   29,   13,   13,   13,   13,   13,   13,
412        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
413
414        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
415        13,    8,   13,    8,   13,   13,    8,   13,   13,   13,
416        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
417        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
418        13,   13,   13,    8,   30,    8,   31,    8,   13,   13,
419        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
420        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
421        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
422        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
423        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
424
425        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
426        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
427        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
428        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
429        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
430        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
431        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
432        13,   13,   13,   13,   13,   13
433     },
434
435     {
436         7,   32,   32,   32,   32,   32,   32,   32,   32,   32,
437        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
438
439        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
440        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
441        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
442        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
443        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
444        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
445        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
446        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
447        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
448        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
449
450        32,   32,   32,   33,   32,   34,   32,   32,   32,   32,
451        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
452        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
453        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
454        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
455        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
456        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
457        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
458        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
459        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
460
461        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
462        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
463        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
464        32,   32,   32,   32,   32,   32
465     },
466
467     {
468         7,   32,   32,   32,   32,   32,   32,   32,   32,   32,
469        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
470        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
471        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
472        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
473        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
474
475        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
476        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
477        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
478        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
479        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
480        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
481        32,   32,   32,   33,   32,   34,   32,   32,   32,   32,
482        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
483        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
484        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
485
486        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
487        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
488        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
489        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
490        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
491        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
492        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
493        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
494        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
495        32,   32,   32,   32,   32,   32
496
497     },
498
499     {
500         7,   35,   35,   35,   35,   35,   35,   35,   35,   36,
501        36,   35,   35,   36,   35,   35,   35,   35,   35,   35,
502        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
503        35,   35,   36,   36,   35,   35,   37,   36,   36,   35,
504        36,   36,   36,   36,   35,   36,   35,   36,   35,   35,
505        35,   35,   35,   35,   35,   35,   35,   35,   36,   35,
506        36,   36,   36,   36,   35,   35,   35,   35,   35,   35,
507        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
508        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
509        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
510
511        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
512        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
513        35,   35,   35,   35,   36,   35,   35,   35,   35,   35,
514        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
515        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
516        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
517        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
518        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
519        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
520        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
521
522        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
523        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
524        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
525        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
526        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
527        35,   35,   35,   35,   35,   35
528     },
529
530     {
531         7,   35,   35,   35,   35,   35,   35,   35,   35,   36,
532        36,   35,   35,   36,   35,   35,   35,   35,   35,   35,
533        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
534        35,   35,   36,   36,   35,   35,   37,   36,   36,   35,
535
536        36,   36,   36,   36,   35,   36,   35,   36,   35,   35,
537        35,   35,   35,   35,   35,   35,   35,   35,   36,   35,
538        36,   36,   36,   36,   35,   35,   35,   35,   35,   35,
539        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
540        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
541        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
542        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
543        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
544        35,   35,   35,   35,   36,   35,   35,   35,   35,   35,
545        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
546
547        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
548        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
549        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
550        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
551        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
552        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
553        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
554        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
555        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
556        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
557
558        35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
559        35,   35,   35,   35,   35,   35
560     },
561
562     {
563        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
564        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
565        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
566        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
567        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
568        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
569        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
570        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
571
572        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
573        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
574        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
575        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
576        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
577        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
578        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
579        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
580        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
581        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
582
583        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
584        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
585        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
586        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
587        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
588        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
589        -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
590        -7,   -7,   -7,   -7,   -7,   -7
591     },
592
593     {
594         7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
595        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
596
597        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
598        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
599        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
600        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
601        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
602        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
603        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
604        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
605        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
606        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
607
608        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
609        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
610        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
611        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
612        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
613        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
614        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
615        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
616        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
617        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
618
619        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
620        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
621        -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
622        -8,   -8,   -8,   -8,   -8,   -8
623     },
624
625     {
626         7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
627        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
628        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
629        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
630        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
631        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
632
633        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
634        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
635        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
636        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
637        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
638        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
639        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
640        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
641        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
642        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
643
644        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
645        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
646        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
647        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
648        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
649        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
650        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
651        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
652        -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
653        -9,   -9,   -9,   -9,   -9,   -9
654
655     },
656
657     {
658         7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
659       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
660       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
661       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
662       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
663       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
664       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
665       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
666       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
667       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
668
669       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
670       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
671       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
672       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
673       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
674       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
675       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
676       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
677       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
678       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
679
680       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
681       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
682       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
683       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
684       -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
685       -10,  -10,  -10,  -10,  -10,  -10
686     },
687
688     {
689         7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
690       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
691       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
692       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
693
694       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
695       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
696       -11,   38,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
697       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
698       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
699       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
700       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
701       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
702       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
703       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
704
705       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
706       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
707       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
708       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
709       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
710       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
711       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
712       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
713       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
714       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
715
716       -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
717       -11,  -11,  -11,  -11,  -11,  -11
718     },
719
720     {
721         7,   39,   39,   39,   39,   39,   39,   39,   39,   39,
722        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
723        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
724        39,   39,   39,   39,   40,   39,   39,   39,   39,   39,
725        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
726        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
727        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
728        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
729
730        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
731        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
732        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
733        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
734        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
735        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
736        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
737        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
738        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
739        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
740
741        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
742        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
743        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
744        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
745        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
746        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
747        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
748        39,   39,   39,   39,   39,   39
749     },
750
751     {
752         7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
753       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
754
755       -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
756       -13,  -13,  -13,  -13,  -13,   41,   42,  -13,  -13,   41,
757       -13,  -13,  -13,  -13,  -13,  -13,   41,  -13,   41,   41,
758        41,   41,   41,   41,   41,   41,   41,   41,  -13,   41,
759       -13,  -13,  -13,  -13,   41,   41,   41,   41,   41,   41,
760        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
761        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
762        41,  -13,   41,  -13,   41,   41,  -13,   41,   41,   41,
763        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
764        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
765
766        41,   41,   41,  -13,  -13,  -13,  -13,  -13,   41,   41,
767        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
768        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
769        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
770        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
771        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
772        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
773        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
774        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
775        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
776
777        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
778        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
779        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
780        41,   41,   41,   41,   41,   41
781     },
782
783     {
784         7,   41,   41,   41,   41,   41,   41,   41,   41,   41,
785        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
786        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
787        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
788        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
789        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
790
791        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
792        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
793        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
794        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
795        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
796        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
797        41,   41,   41,   43,   41,   41,   41,   41,   41,   41,
798        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
799        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
800        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
801
802        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
803        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
804        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
805        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
806        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
807        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
808        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
809        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
810        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
811        41,   41,   41,   41,   41,   41
812
813     },
814
815     {
816         7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
817       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
818       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
819       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
820       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
821       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
822       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
823       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
824       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
825       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
826
827       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
828       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
829       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
830       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
831       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
832       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
833       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
834       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
835       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
836       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
837
838       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
839       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
840       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
841       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
842       -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
843       -15,  -15,  -15,  -15,  -15,  -15
844     },
845
846     {
847         7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
848       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
849       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
850       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,   44,  -16,
851
852       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
853       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
854       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
855       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
856       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
857       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
858       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
859       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
860       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
861       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
862
863       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
864       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
865       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
866       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
867       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
868       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
869       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
870       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
871       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
872       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
873
874       -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
875       -16,  -16,  -16,  -16,  -16,  -16
876     },
877
878     {
879         7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
880       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
881       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
882       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
883       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
884       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
885       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
886       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
887
888       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
889       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
890       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
891       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
892       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
893       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
894       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
895       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
896       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
897       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
898
899       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
900       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
901       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
902       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
903       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
904       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
905       -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
906       -17,  -17,  -17,  -17,  -17,  -17
907     },
908
909     {
910         7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
911       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
912
913       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
914       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
915       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
916       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
917       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
918       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
919       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
920       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
921       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
922       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
923
924       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
925       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
926       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
927       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
928       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
929       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
930       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
931       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
932       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
933       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
934
935       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
936       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
937       -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
938       -18,  -18,  -18,  -18,  -18,  -18
939     },
940
941     {
942         7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
943       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
944       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
945       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
946       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
947       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
948
949       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
950       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
951       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
952       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
953       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
954       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
955       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
956       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
957       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
958       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
959
960       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
961       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
962       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
963       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
964       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
965       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
966       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
967       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
968       -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
969       -19,  -19,  -19,  -19,  -19,  -19
970
971     },
972
973     {
974         7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
975       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
976       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
977       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
978       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
979       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
980       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
981       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
982       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
983       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
984
985       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
986       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
987       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
988       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
989       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
990       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
991       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
992       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
993       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
994       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
995
996       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
997       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
998       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
999       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1000       -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
1001       -20,  -20,  -20,  -20,  -20,  -20
1002     },
1003
1004     {
1005         7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1006       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1007       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1008       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1009
1010       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1011       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1012       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1013       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1014       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1015       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1016       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1017       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1018       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1019       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1020
1021       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1022       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1023       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1024       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1025       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1026       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1027       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1028       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1029       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1030       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1031
1032       -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
1033       -21,  -21,  -21,  -21,  -21,  -21
1034     },
1035
1036     {
1037         7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1038       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1039       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1040       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1041       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1042       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1043       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1044       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1045
1046       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1047       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1048       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1049       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1050       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1051       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1052       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1053       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1054       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1055       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1056
1057       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1058       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1059       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1060       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1061       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1062       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1063       -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
1064       -22,  -22,  -22,  -22,  -22,  -22
1065     },
1066
1067     {
1068         7,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1069       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1070
1071       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1072       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1073       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1074       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1075       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1076       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1077       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1078       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1079       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1080       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1081
1082       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1083       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1084       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1085       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1086       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1087       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1088       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1089       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1090       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1091       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1092
1093       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1094       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1095       -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
1096       -23,  -23,  -23,  -23,  -23,  -23
1097     },
1098
1099     {
1100         7,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1101       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1102       -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
1103       -24,  -24,  -24,  -24,  -24,   41,   42,  -24,  -24,   41,
1104       -24,  -24,  -24,  -24,  -24,  -24,   45,  -24,   46,   46,
1105        46,   46,   46,   46,   46,   46,   46,   46,  -24,   41,
1106
1107       -24,  -24,  -24,  -24,   41,   41,   41,   41,   41,   41,
1108        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1109        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1110        41,  -24,   41,  -24,   41,   41,  -24,   41,   41,   41,
1111        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1112        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1113        41,   41,   41,  -24,  -24,  -24,  -24,  -24,   41,   41,
1114        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1115        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1116        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1117
1118        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1119        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1120        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1121        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1122        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1123        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1124        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1125        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1126        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1127        41,   41,   41,   41,   41,   41
1128
1129     },
1130
1131     {
1132         7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1133       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1134       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1135       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1136       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1137       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   47,  -25,
1138       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1139       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1140       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1141       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1142
1143       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1144       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1145       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1146       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1147       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1148       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1149       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1150       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1151       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1152       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1153
1154       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1155       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1156       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1157       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1158       -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
1159       -25,  -25,  -25,  -25,  -25,  -25
1160     },
1161
1162     {
1163         7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1164       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1165       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1166       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1167
1168       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1169       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1170       -26,   48,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1171       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1172       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1173       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1174       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1175       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1176       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1177       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1178
1179       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1180       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1181       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1182       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1183       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1184       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1185       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1186       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1187       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1188       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1189
1190       -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
1191       -26,  -26,  -26,  -26,  -26,  -26
1192     },
1193
1194     {
1195         7,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1196       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1197       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1198       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1199       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1200       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1201       -27,   49,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1202       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1203
1204       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1205       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1206       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1207       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1208       -27,  -27,  -27,  -27,  -27,  -27,   50,  -27,  -27,  -27,
1209       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1210       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1211       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1212       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1213       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1214
1215       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1216       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1217       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1218       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1219       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1220       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1221       -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
1222       -27,  -27,  -27,  -27,  -27,  -27
1223     },
1224
1225     {
1226         7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1227       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1228
1229       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1230       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1231       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1232       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1233       -28,   51,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1234       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1235       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1236       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1237       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1238       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1239
1240       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1241       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1242       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1243       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1244       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1245       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1246       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1247       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1248       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1249       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1250
1251       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1252       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1253       -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
1254       -28,  -28,  -28,  -28,  -28,  -28
1255     },
1256
1257     {
1258         7,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1259       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1260       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1261       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1262       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1263       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1264
1265       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1266       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1267       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1268       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1269       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1270       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1271       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1272       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1273       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1274       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1275
1276       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1277       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1278       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1279       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1280       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1281       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1282       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1283       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1284       -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
1285       -29,  -29,  -29,  -29,  -29,  -29
1286
1287     },
1288
1289     {
1290         7,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1291       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1292       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1293       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1294       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1295       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1296       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1297       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1298       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1299       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1300
1301       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1302       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1303       -30,  -30,  -30,  -30,   52,  -30,  -30,  -30,  -30,  -30,
1304       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1305       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1306       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1307       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1308       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1309       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1310       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1311
1312       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1313       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1314       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1315       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1316       -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
1317       -30,  -30,  -30,  -30,  -30,  -30
1318     },
1319
1320     {
1321         7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1322       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1323       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1324       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1325
1326       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1327       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1328       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1329       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1330       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1331       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1332       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1333       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1334       -31,  -31,  -31,  -31,  -31,  -31,   53,  -31,  -31,  -31,
1335       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1336
1337       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1338       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1339       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1340       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1341       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1342       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1343       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1344       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1345       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1346       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1347
1348       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
1349       -31,  -31,  -31,  -31,  -31,  -31
1350     },
1351
1352     {
1353         7,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1354        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1355        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1356        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1357        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1358        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1359        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1360        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1361
1362        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1363        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1364        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1365        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1366        54,   54,   54,   55,   54,   56,   54,   54,   54,   54,
1367        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1368        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1369        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1370        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1371        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1372
1373        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1374        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1375        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1376        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1377        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1378        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1379        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
1380        54,   54,   54,   54,   54,   54
1381     },
1382
1383     {
1384         7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1385       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1386
1387       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1388       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1389       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1390       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1391       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1392       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1393       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1394       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1395       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1396       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1397
1398       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1399       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1400       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1401       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1402       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1403       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1404       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1405       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1406       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1407       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1408
1409       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1410       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1411       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
1412       -33,  -33,  -33,  -33,  -33,  -33
1413     },
1414
1415     {
1416         7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1417       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1418       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1419       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1420       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1421       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1422
1423       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1424       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1425       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1426       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1427       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1428       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1429       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1430       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1431       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1432       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1433
1434       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1435       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1436       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1437       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1438       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1439       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1440       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1441       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1442       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
1443       -34,  -34,  -34,  -34,  -34,  -34
1444
1445     },
1446
1447     {
1448         7,   57,   57,   57,   57,   57,   57,   57,   57,  -35,
1449       -35,   57,   57,  -35,   57,   57,   57,   57,   57,   57,
1450        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1451        57,   57,  -35,  -35,   57,   57,  -35,  -35,  -35,   57,
1452       -35,  -35,  -35,  -35,   57,  -35,   57,  -35,   57,   57,
1453        57,   57,   57,   57,   57,   57,   57,   57,  -35,   57,
1454       -35,  -35,  -35,  -35,   57,   57,   57,   57,   57,   57,
1455        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1456        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1457        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1458
1459        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1460        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1461        57,   57,   57,   57,  -35,   57,   57,   57,   57,   57,
1462        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1463        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1464        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1465        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1466        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1467        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1468        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1469
1470        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1471        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1472        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1473        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1474        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
1475        57,   57,   57,   57,   57,   57
1476     },
1477
1478     {
1479         7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1480       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1481       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1482       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1483
1484       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1485       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1486       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1487       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1488       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1489       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1490       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1491       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1492       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1493       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1494
1495       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1496       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1497       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1498       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1499       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1500       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1501       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1502       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1503       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1504       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1505
1506       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
1507       -36,  -36,  -36,  -36,  -36,  -36
1508     },
1509
1510     {
1511         7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1512       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1513       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1514       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1515       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1516       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1517       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1518       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1519
1520       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1521       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1522       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1523       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1524       -37,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
1525       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1526       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1527       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1528       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1529       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1530
1531       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1532       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1533       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1534       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1535       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1536       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1537       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
1538       -37,  -37,  -37,  -37,  -37,  -37
1539     },
1540
1541     {
1542         7,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1543       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1544
1545       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1546       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1547       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1548       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1549       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1550       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1551       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1552       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1553       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1554       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1555
1556       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1557       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1558       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1559       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1560       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1561       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1562       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1563       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1564       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1565       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1566
1567       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1568       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1569       -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
1570       -38,  -38,  -38,  -38,  -38,  -38
1571     },
1572
1573     {
1574         7,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1575        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1576        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1577        39,   39,   39,   39,   40,   39,   39,   39,   39,   39,
1578        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1579        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1580
1581        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1582        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1583        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1584        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1585        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1586        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1587        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1588        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1589        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1590        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1591
1592        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1593        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1594        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1595        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1596        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1597        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1598        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1599        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1600        39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
1601        39,   39,   39,   39,   39,   39
1602
1603     },
1604
1605     {
1606         7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1607       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1608       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1609       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1610       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1611       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1612       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1613       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1614       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1615       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1616
1617       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1618       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1619       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1620       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1621       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1622       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1623       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1624       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1625       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1626       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1627
1628       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1629       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1630       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1631       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1632       -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
1633       -40,  -40,  -40,  -40,  -40,  -40
1634     },
1635
1636     {
1637         7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1638       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1639       -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
1640       -41,  -41,  -41,  -41,  -41,   41,   42,  -41,  -41,   41,
1641
1642       -41,  -41,  -41,  -41,  -41,  -41,   41,  -41,   41,   41,
1643        41,   41,   41,   41,   41,   41,   41,   41,  -41,   41,
1644       -41,  -41,  -41,  -41,   41,   41,   41,   41,   41,   41,
1645        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1646        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1647        41,  -41,   41,  -41,   41,   41,  -41,   41,   41,   41,
1648        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1649        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1650        41,   41,   41,  -41,  -41,  -41,  -41,  -41,   41,   41,
1651        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1652
1653        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1654        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1655        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1656        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1657        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1658        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1659        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1660        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1661        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1662        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1663
1664        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1665        41,   41,   41,   41,   41,   41
1666     },
1667
1668     {
1669         7,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1670        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1671        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1672        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1673        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1674        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1675        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1676        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1677
1678        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1679        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1680        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1681        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1682        41,   41,   41,  -42,   41,   41,   41,   41,   41,   41,
1683        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1684        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1685        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1686        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1687        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1688
1689        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1690        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1691        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1692        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1693        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1694        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1695        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1696        41,   41,   41,   41,   41,   41
1697     },
1698
1699     {
1700         7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1701       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1702
1703       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1704       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1705       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1706       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1707       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1708       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1709       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1710       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1711       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1712       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1713
1714       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1715       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1716       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1717       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1718       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1719       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1720       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1721       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1722       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1723       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1724
1725       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1726       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1727       -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
1728       -43,  -43,  -43,  -43,  -43,  -43
1729     },
1730
1731     {
1732         7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1733       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1734       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1735       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1736       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1737       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1738
1739       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1740       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1741       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1742       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1743       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1744       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1745       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1746       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1747       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1748       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1749
1750       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1751       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1752       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1753       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1754       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1755       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1756       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1757       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1758       -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
1759       -44,  -44,  -44,  -44,  -44,  -44
1760
1761     },
1762
1763     {
1764         7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1765       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1766       -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
1767       -45,  -45,  -45,  -45,  -45,   41,   42,  -45,  -45,   41,
1768       -45,  -45,  -45,  -45,  -45,  -45,   41,  -45,   59,   59,
1769        59,   59,   59,   59,   59,   59,   59,   59,  -45,   41,
1770       -45,  -45,  -45,  -45,   41,   41,   41,   41,   41,   41,
1771        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1772        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1773        41,  -45,   41,  -45,   41,   41,  -45,   41,   41,   41,
1774
1775        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1776        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1777        41,   41,   41,  -45,  -45,  -45,  -45,  -45,   41,   41,
1778        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1779        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1780        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1781        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1782        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1783        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1784        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1785
1786        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1787        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1788        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1789        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1790        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1791        41,   41,   41,   41,   41,   41
1792     },
1793
1794     {
1795         7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1796       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1797       -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
1798       -46,  -46,  -46,  -46,  -46,   41,   42,  -46,  -46,   41,
1799
1800       -46,  -46,  -46,  -46,  -46,  -46,   45,  -46,   46,   46,
1801        46,   46,   46,   46,   46,   46,   46,   46,  -46,   41,
1802       -46,  -46,  -46,  -46,   41,   41,   41,   41,   41,   41,
1803        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1804        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1805        41,  -46,   41,  -46,   41,   41,  -46,   41,   41,   41,
1806        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1807        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1808        41,   41,   41,  -46,  -46,  -46,  -46,  -46,   41,   41,
1809        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1810
1811        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1812        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1813        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1814        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1815        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1816        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1817        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1818        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1819        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1820        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1821
1822        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
1823        41,   41,   41,   41,   41,   41
1824     },
1825
1826     {
1827         7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1828       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1829       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1830       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1831       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1832       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1833       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1834       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1835
1836       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1837       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1838       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1839       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1840       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1841       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1842       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1843       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1844       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1845       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1846
1847       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1848       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1849       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1850       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1851       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1852       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1853       -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
1854       -47,  -47,  -47,  -47,  -47,  -47
1855     },
1856
1857     {
1858         7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1859       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1860
1861       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1862       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1863       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1864       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1865       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1866       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1867       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1868       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1869       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1870       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1871
1872       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1873       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1874       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1875       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1876       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1877       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1878       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1879       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1880       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1881       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1882
1883       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1884       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1885       -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
1886       -48,  -48,  -48,  -48,  -48,  -48
1887     },
1888
1889     {
1890         7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1891       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1892       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1893       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1894       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1895       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1896
1897       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1898       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1899       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1900       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1901       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1902       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1903       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1904       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1905       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1906       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1907
1908       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1909       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1910       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1911       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1912       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1913       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1914       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1915       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1916       -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
1917       -49,  -49,  -49,  -49,  -49,  -49
1918
1919     },
1920
1921     {
1922         7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1923       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1924       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1925       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1926       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1927       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1928       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1929       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1930       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1931       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1932
1933       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1934       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1935       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1936       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1937       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1938       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1939       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1940       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1941       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1942       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1943
1944       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1945       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1946       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1947       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1948       -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
1949       -50,  -50,  -50,  -50,  -50,  -50
1950     },
1951
1952     {
1953         7,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1954       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1955       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1956       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1957
1958       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1959       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1960       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1961       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1962       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1963       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1964       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1965       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1966       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1967       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1968
1969       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1970       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1971       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1972       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1973       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1974       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1975       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1976       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1977       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1978       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1979
1980       -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
1981       -51,  -51,  -51,  -51,  -51,  -51
1982     },
1983
1984     {
1985         7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1986       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1987       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1988       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1989       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1990       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1991       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1992       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1993
1994       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1995       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1996       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1997       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1998       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
1999       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2000       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2001       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2002       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2003       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2004
2005       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2006       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2007       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2008       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2009       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2010       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2011       -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
2012       -52,  -52,  -52,  -52,  -52,  -52
2013     },
2014
2015     {
2016         7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2017       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2018
2019       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2020       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2021       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2022       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2023       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2024       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2025       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2026       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2027       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2028       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2029
2030       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2031       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2032       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2033       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2034       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2035       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2036       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2037       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2038       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2039       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2040
2041       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2042       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2043       -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
2044       -53,  -53,  -53,  -53,  -53,  -53
2045     },
2046
2047     {
2048         7,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2049        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2050        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2051        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2052        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2053        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2054
2055        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2056        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2057        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2058        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2059        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2060        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2061        54,   54,   54,   55,   54,   56,   54,   54,   54,   54,
2062        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2063        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2064        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2065
2066        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2067        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2068        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2069        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2070        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2071        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2072        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2073        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2074        54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
2075        54,   54,   54,   54,   54,   54
2076
2077     },
2078
2079     {
2080         7,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2081       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2082       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2083       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2084       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2085       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2086       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2087       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2088       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2089       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2090
2091       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2092       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2093       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2094       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2095       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2096       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2097       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2098       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2099       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2100       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2101
2102       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2103       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2104       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2105       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2106       -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
2107       -55,  -55,  -55,  -55,  -55,  -55
2108     },
2109
2110     {
2111         7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2112       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2113       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2114       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2115
2116       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2117       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2118       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2119       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2120       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2121       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2122       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2123       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2124       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2125       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2126
2127       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2128       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2129       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2130       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2131       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2132       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2133       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2134       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2135       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2136       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2137
2138       -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
2139       -56,  -56,  -56,  -56,  -56,  -56
2140     },
2141
2142     {
2143         7,   57,   57,   57,   57,   57,   57,   57,   57,  -57,
2144       -57,   57,   57,  -57,   57,   57,   57,   57,   57,   57,
2145        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2146        57,   57,  -57,  -57,   57,   57,  -57,  -57,  -57,   57,
2147       -57,  -57,  -57,  -57,   57,  -57,   57,  -57,   57,   57,
2148        57,   57,   57,   57,   57,   57,   57,   57,  -57,   57,
2149       -57,  -57,  -57,  -57,   57,   57,   57,   57,   57,   57,
2150        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2151
2152        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2153        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2154        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2155        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2156        57,   57,   57,   57,  -57,   57,   57,   57,   57,   57,
2157        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2158        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2159        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2160        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2161        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2162
2163        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2164        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2165        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2166        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2167        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2168        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2169        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
2170        57,   57,   57,   57,   57,   57
2171     },
2172
2173     {
2174         7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2175       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2176
2177       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2178       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2179       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2180       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2181       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2182       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2183       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2184       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2185       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2186       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2187
2188       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2189       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2190       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2191       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2192       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2193       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2194       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2195       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2196       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2197       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2198
2199       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2200       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2201       -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
2202       -58,  -58,  -58,  -58,  -58,  -58
2203     },
2204
2205     {
2206         7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2207       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2208       -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
2209       -59,  -59,  -59,  -59,  -59,   41,   42,  -59,  -59,   41,
2210       -59,  -59,  -59,  -59,  -59,  -59,   41,  -59,   59,   59,
2211        59,   59,   59,   59,   59,   59,   59,   59,  -59,   41,
2212
2213       -59,  -59,  -59,  -59,   41,   41,   41,   41,   41,   41,
2214        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2215        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2216        41,  -59,   41,  -59,   41,   41,  -59,   41,   41,   41,
2217        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2218        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2219        41,   41,   41,  -59,  -59,  -59,  -59,  -59,   41,   41,
2220        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2221        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2222        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2223
2224        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2225        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2226        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2227        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2228        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2229        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2230        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2231        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2232        41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
2233        41,   41,   41,   41,   41,   41
2234
2235     },
2236
2237     } ;
2238
2239 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
2240 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
2241 static int yy_get_next_buffer (yyscan_t yyscanner );
2242 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
2243
2244 /* Done after the current pattern has been matched and before the
2245  * corresponding action - sets up yytext.
2246  */
2247 #define YY_DO_BEFORE_ACTION \
2248         yyg->yytext_ptr = yy_bp; \
2249         yyg->yytext_ptr -= yyg->yy_more_len; \
2250         yyleng = (size_t) (yy_cp - yyg->yytext_ptr); \
2251         yyg->yy_hold_char = *yy_cp; \
2252         *yy_cp = '\0'; \
2253         yyg->yy_c_buf_p = yy_cp;
2254
2255 #define YY_NUM_RULES 37
2256 #define YY_END_OF_BUFFER 38
2257 /* This struct is not used in this scanner,
2258    but its presence is necessary. */
2259 struct yy_trans_info
2260         {
2261         flex_int32_t yy_verify;
2262         flex_int32_t yy_nxt;
2263         };
2264 static yyconst flex_int16_t yy_accept[60] =
2265     {   0,
2266         0,    0,    0,    0,   34,   34,   38,   37,   27,   29,
2267        21,   37,   31,   37,   19,    2,   24,   25,   17,   14,
2268        15,   16,   18,   30,   22,   10,    3,    9,   20,    1,
2269        37,   37,   33,   32,   34,   35,   35,   13,    0,   28,
2270        31,    0,   26,    5,   31,   30,   23,   12,    6,    7,
2271        11,    4,    8,    0,   33,   32,   34,   36,   30
2272     } ;
2273
2274 static yyconst yy_state_type yy_NUL_trans[60] =
2275     {   0,
2276         8,    8,   32,   32,   35,   35,    0,    0,    0,    0,
2277         0,   39,    0,   41,    0,    0,    0,    0,    0,    0,
2278         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
2279         0,   54,    0,    0,   57,    0,    0,    0,   39,    0,
2280         0,   41,    0,    0,    0,    0,    0,    0,    0,    0,
2281         0,    0,    0,   54,    0,    0,   57,    0,    0
2282     } ;
2283
2284 /* The intent behind this definition is that it'll catch
2285  * any uses of REJECT which flex missed.
2286  */
2287 #define REJECT reject_used_but_not_detected
2288 #define yymore() (yyg->yy_more_flag = 1)
2289 #define YY_MORE_ADJ yyg->yy_more_len
2290 #define YY_RESTORE_YY_MORE_OFFSET
2291 #line 1 "ast_expr2.fl"
2292 #line 2 "ast_expr2.fl"
2293 /*
2294  * Asterisk -- An open source telephony toolkit.
2295  *
2296  * Copyright (C) 1999 - 2006, Digium, Inc.
2297  *
2298  * Mark Spencer <markster@digium.com>
2299  *
2300  * See http://www.asterisk.org for more information about
2301  * the Asterisk project. Please do not directly contact
2302  * any of the maintainers of this project for assistance;
2303  * the project provides a web site, mailing lists and IRC
2304  * channels for your use.
2305  *
2306  * This program is free software, distributed under the terms of
2307  * the GNU General Public License Version 2. See the LICENSE file
2308  * at the top of the source tree.
2309  */
2310
2311 /*! \file
2312  *
2313  * \brief Dialplan Expression Lexical Scanner
2314  */
2315
2316 #include <sys/types.h>
2317 #include <stdio.h>
2318
2319 #if !defined(STANDALONE)
2320 ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
2321 #else
2322 #ifndef __USE_ISOC99
2323 #define __USE_ISOC99 1
2324 #endif
2325 #endif
2326
2327 #ifdef __USE_ISOC99
2328 #define FP___PRINTF "%.18Lg"
2329 #define FP___FMOD   fmodl
2330 #define FP___STRTOD  strtold
2331 #define FP___TYPE    long double
2332 #else
2333 #define FP___PRINTF "%.16g"
2334 #define FP___FMOD   fmod
2335 #define FP___STRTOD  strtod
2336 #define FP___TYPE    double
2337 #endif
2338
2339 #include <stdlib.h>
2340 #include <string.h>
2341 #include <locale.h>
2342 #include <ctype.h>
2343 #if !defined(SOLARIS) && !defined(__CYGWIN__)
2344 /* #include <err.h> */
2345 #else
2346 #define quad_t int64_t
2347 #endif
2348 #include <errno.h>
2349 #include <regex.h>
2350 #include <limits.h>
2351
2352 #include "asterisk/ast_expr.h"
2353 #include "asterisk/logger.h"
2354 #ifndef STANDALONE
2355 #include "asterisk/strings.h"
2356 #include "asterisk/channel.h"
2357 #endif
2358
2359 enum valtype {
2360         AST_EXPR_number, AST_EXPR_numeric_string, AST_EXPR_string
2361 } ;
2362
2363 struct val {
2364         enum valtype type;
2365         union {
2366                 char *s;
2367                 FP___TYPE i; /* long double or just double if it's a bad day */
2368         } u;
2369 } ;
2370
2371 #include "ast_expr2.h" /* the o/p of the bison on ast_expr2.y */
2372
2373 #define SET_COLUMNS     do {            \
2374         yylloc_param->first_column = (int)(yyg->yytext_r - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf); \
2375         yylloc_param->last_column += yyleng - 1; \
2376         yylloc_param->first_line = yylloc_param->last_line = 1; \
2377         } while (0)
2378
2379 #define SET_STRING      do {            \
2380         yylval_param->val = calloc(1, sizeof(struct val));      \
2381         yylval_param->val->type = AST_EXPR_string;              \
2382         yylval_param->val->u.s = strdup(yytext);                \
2383         } while (0)
2384
2385 #define SET_NUMERIC_STRING      do {    \
2386         yylval_param->val = calloc(1, sizeof(struct val));      \
2387         yylval_param->val->type = AST_EXPR_numeric_string;      \
2388         yylval_param->val->u.s = strdup(yytext);        \
2389         } while (0)
2390
2391 struct parse_io
2392 {
2393         char *string;
2394         struct val *val;
2395         yyscan_t scanner;
2396         struct ast_channel *chan;
2397 };
2398  
2399 void ast_yyset_column(int column_no, yyscan_t yyscanner);
2400 int ast_yyget_column(yyscan_t yyscanner);
2401 static int curlycount = 0;
2402 static char *expr2_token_subst(const char *mess);
2403
2404 #line 2403 "ast_expr2f.c"
2405
2406 #define INITIAL 0
2407 #define var 1
2408 #define trail 2
2409
2410 #ifndef YY_NO_UNISTD_H
2411 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2412  * down here because we want the user's section 1 to have been scanned first.
2413  * The user has a chance to override it with an option.
2414  */
2415 #include <unistd.h>
2416 #endif
2417
2418 #ifndef YY_EXTRA_TYPE
2419 #define YY_EXTRA_TYPE void *
2420 #endif
2421
2422 /* Holds the entire state of the reentrant scanner. */
2423 struct yyguts_t
2424     {
2425
2426     /* User-defined. Not touched by flex. */
2427     YY_EXTRA_TYPE yyextra_r;
2428
2429     /* The rest are the same as the globals declared in the non-reentrant scanner. */
2430     FILE *yyin_r, *yyout_r;
2431     size_t yy_buffer_stack_top; /**< index of top of stack. */
2432     size_t yy_buffer_stack_max; /**< capacity of stack. */
2433     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
2434     char yy_hold_char;
2435     int yy_n_chars;
2436     int yyleng_r;
2437     char *yy_c_buf_p;
2438     int yy_init;
2439     int yy_start;
2440     int yy_did_buffer_switch_on_eof;
2441     int yy_start_stack_ptr;
2442     int yy_start_stack_depth;
2443     int *yy_start_stack;
2444     yy_state_type yy_last_accepting_state;
2445     char* yy_last_accepting_cpos;
2446
2447     int yylineno_r;
2448     int yy_flex_debug_r;
2449
2450     char *yytext_r;
2451     int yy_more_flag;
2452     int yy_more_len;
2453
2454     YYSTYPE * yylval_r;
2455
2456     YYLTYPE * yylloc_r;
2457
2458     }; /* end struct yyguts_t */
2459
2460 static int yy_init_globals (yyscan_t yyscanner );
2461
2462     /* This must go here because YYSTYPE and YYLTYPE are included
2463      * from bison output in section 1.*/
2464     #    define yylval yyg->yylval_r
2465     
2466     #    define yylloc yyg->yylloc_r
2467     
2468 int ast_yylex_init (yyscan_t* scanner);
2469
2470 int ast_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
2471
2472 /* Accessor methods to globals.
2473    These are made visible to non-reentrant scanners for convenience. */
2474
2475 int ast_yylex_destroy (yyscan_t yyscanner );
2476
2477 int ast_yyget_debug (yyscan_t yyscanner );
2478
2479 void ast_yyset_debug (int debug_flag ,yyscan_t yyscanner );
2480
2481 YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner );
2482
2483 void ast_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
2484
2485 FILE *ast_yyget_in (yyscan_t yyscanner );
2486
2487 void ast_yyset_in  (FILE * in_str ,yyscan_t yyscanner );
2488
2489 FILE *ast_yyget_out (yyscan_t yyscanner );
2490
2491 void ast_yyset_out  (FILE * out_str ,yyscan_t yyscanner );
2492
2493 int ast_yyget_leng (yyscan_t yyscanner );
2494
2495 char *ast_yyget_text (yyscan_t yyscanner );
2496
2497 int ast_yyget_lineno (yyscan_t yyscanner );
2498
2499 void ast_yyset_lineno (int line_number ,yyscan_t yyscanner );
2500
2501 YYSTYPE * ast_yyget_lval (yyscan_t yyscanner );
2502
2503 void ast_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
2504
2505        YYLTYPE *ast_yyget_lloc (yyscan_t yyscanner );
2506     
2507         void ast_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
2508     
2509 /* Macros after this point can all be overridden by user definitions in
2510  * section 1.
2511  */
2512
2513 #ifndef YY_SKIP_YYWRAP
2514 #ifdef __cplusplus
2515 extern "C" int ast_yywrap (yyscan_t yyscanner );
2516 #else
2517 extern int ast_yywrap (yyscan_t yyscanner );
2518 #endif
2519 #endif
2520
2521     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
2522     
2523 #ifndef yytext_ptr
2524 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
2525 #endif
2526
2527 #ifdef YY_NEED_STRLEN
2528 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
2529 #endif
2530
2531 #ifndef YY_NO_INPUT
2532
2533 #ifdef __cplusplus
2534 static int yyinput (yyscan_t yyscanner );
2535 #else
2536 static int input (yyscan_t yyscanner );
2537 #endif
2538
2539 #endif
2540
2541 /* Amount of stuff to slurp up with each read. */
2542 #ifndef YY_READ_BUF_SIZE
2543 #define YY_READ_BUF_SIZE 8192
2544 #endif
2545
2546 /* Copy whatever the last rule matched to the standard output. */
2547 #ifndef ECHO
2548 /* This used to be an fputs(), but since the string might contain NUL's,
2549  * we now use fwrite().
2550  */
2551 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
2552 #endif
2553
2554 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2555  * is returned in "result".
2556  */
2557 #ifndef YY_INPUT
2558 #define YY_INPUT(buf,result,max_size) \
2559         errno=0; \
2560         while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
2561         { \
2562                 if( errno != EINTR) \
2563                 { \
2564                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
2565                         break; \
2566                 } \
2567                 errno=0; \
2568                 clearerr(yyin); \
2569         }\
2570 \
2571
2572 #endif
2573
2574 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2575  * we don't want an extra ';' after the "return" because that will cause
2576  * some compilers to complain about unreachable statements.
2577  */
2578 #ifndef yyterminate
2579 #define yyterminate() return YY_NULL
2580 #endif
2581
2582 /* Number of entries by which start-condition stack grows. */
2583 #ifndef YY_START_STACK_INCR
2584 #define YY_START_STACK_INCR 25
2585 #endif
2586
2587 /* Report a fatal error. */
2588 #ifndef YY_FATAL_ERROR
2589 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
2590 #endif
2591
2592 /* end tables serialization structures and prototypes */
2593
2594 /* Default declaration of generated scanner - a define so the user can
2595  * easily add parameters.
2596  */
2597 #ifndef YY_DECL
2598 #define YY_DECL_IS_OURS 1
2599
2600 extern int ast_yylex \
2601                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
2602
2603 #define YY_DECL int ast_yylex \
2604                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
2605 #endif /* !YY_DECL */
2606
2607 /* Code executed at the beginning of each rule, after yytext and yyleng
2608  * have been set up.
2609  */
2610 #ifndef YY_USER_ACTION
2611 #define YY_USER_ACTION
2612 #endif
2613
2614 /* Code executed at the end of each rule. */
2615 #ifndef YY_BREAK
2616 #define YY_BREAK break;
2617 #endif
2618
2619 #define YY_RULE_SETUP \
2620         YY_USER_ACTION
2621
2622 /** The main scanner function which does all the work.
2623  */
2624 YY_DECL
2625 {
2626         register yy_state_type yy_current_state;
2627         register char *yy_cp, *yy_bp;
2628         register int yy_act;
2629     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2630
2631 #line 125 "ast_expr2.fl"
2632
2633
2634 #line 2633 "ast_expr2f.c"
2635
2636     yylval = yylval_param;
2637
2638     yylloc = yylloc_param;
2639
2640         if ( !yyg->yy_init )
2641                 {
2642                 yyg->yy_init = 1;
2643
2644 #ifdef YY_USER_INIT
2645                 YY_USER_INIT;
2646 #endif
2647
2648                 if ( ! yyg->yy_start )
2649                         yyg->yy_start = 1;      /* first start state */
2650
2651                 if ( ! yyin )
2652                         yyin = stdin;
2653
2654                 if ( ! yyout )
2655                         yyout = stdout;
2656
2657                 if ( ! YY_CURRENT_BUFFER ) {
2658                         ast_yyensure_buffer_stack (yyscanner);
2659                         YY_CURRENT_BUFFER_LVALUE =
2660                                 ast_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
2661                 }
2662
2663                 ast_yy_load_buffer_state(yyscanner );
2664                 }
2665
2666         while ( 1 )             /* loops until end-of-file is reached */
2667                 {
2668                 yyg->yy_more_len = 0;
2669                 if ( yyg->yy_more_flag )
2670                         {
2671                         yyg->yy_more_len = yyg->yy_c_buf_p - yyg->yytext_ptr;
2672                         yyg->yy_more_flag = 0;
2673                         }
2674                 yy_cp = yyg->yy_c_buf_p;
2675
2676                 /* Support of yytext. */
2677                 *yy_cp = yyg->yy_hold_char;
2678
2679                 /* yy_bp points to the position in yy_ch_buf of the start of
2680                  * the current run.
2681                  */
2682                 yy_bp = yy_cp;
2683
2684                 yy_current_state = yyg->yy_start;
2685 yy_match:
2686                 while ( (yy_current_state = yy_nxt[yy_current_state][ YY_SC_TO_UI(*yy_cp) ]) > 0 )
2687                         {
2688                         if ( yy_accept[yy_current_state] )
2689                                 {
2690                                 yyg->yy_last_accepting_state = yy_current_state;
2691                                 yyg->yy_last_accepting_cpos = yy_cp;
2692                                 }
2693
2694                         ++yy_cp;
2695                         }
2696
2697                 yy_current_state = -yy_current_state;
2698
2699 yy_find_action:
2700                 yy_act = yy_accept[yy_current_state];
2701
2702                 YY_DO_BEFORE_ACTION;
2703
2704 do_action:      /* This label is used only to access EOF actions. */
2705
2706                 switch ( yy_act )
2707         { /* beginning of action switch */
2708                         case 0: /* must back up */
2709                         /* undo the effects of YY_DO_BEFORE_ACTION */
2710                         *yy_cp = yyg->yy_hold_char;
2711                         yy_cp = yyg->yy_last_accepting_cpos + 1;
2712                         yy_current_state = yyg->yy_last_accepting_state;
2713                         goto yy_find_action;
2714
2715 case 1:
2716 YY_RULE_SETUP
2717 #line 127 "ast_expr2.fl"
2718 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2719         YY_BREAK
2720 case 2:
2721 YY_RULE_SETUP
2722 #line 128 "ast_expr2.fl"
2723 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2724         YY_BREAK
2725 case 3:
2726 YY_RULE_SETUP
2727 #line 129 "ast_expr2.fl"
2728 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2729         YY_BREAK
2730 case 4:
2731 YY_RULE_SETUP
2732 #line 130 "ast_expr2.fl"
2733 { SET_COLUMNS; SET_STRING; return TOK_OR;}
2734         YY_BREAK
2735 case 5:
2736 YY_RULE_SETUP
2737 #line 131 "ast_expr2.fl"
2738 { SET_COLUMNS; SET_STRING; return TOK_AND;}
2739         YY_BREAK
2740 case 6:
2741 YY_RULE_SETUP
2742 #line 132 "ast_expr2.fl"
2743 { SET_COLUMNS; SET_STRING; return TOK_EQ;}
2744         YY_BREAK
2745 case 7:
2746 YY_RULE_SETUP
2747 #line 133 "ast_expr2.fl"
2748 { SET_COLUMNS; SET_STRING; return TOK_EQTILDE;}
2749         YY_BREAK
2750 case 8:
2751 YY_RULE_SETUP
2752 #line 134 "ast_expr2.fl"
2753 { SET_COLUMNS; SET_STRING; return TOK_TILDETILDE;}
2754         YY_BREAK
2755 case 9:
2756 YY_RULE_SETUP
2757 #line 135 "ast_expr2.fl"
2758 { SET_COLUMNS; SET_STRING; return TOK_GT;}
2759         YY_BREAK
2760 case 10:
2761 YY_RULE_SETUP
2762 #line 136 "ast_expr2.fl"
2763 { SET_COLUMNS; SET_STRING; return TOK_LT;}
2764         YY_BREAK
2765 case 11:
2766 YY_RULE_SETUP
2767 #line 137 "ast_expr2.fl"
2768 { SET_COLUMNS; SET_STRING; return TOK_GE;}
2769         YY_BREAK
2770 case 12:
2771 YY_RULE_SETUP
2772 #line 138 "ast_expr2.fl"
2773 { SET_COLUMNS; SET_STRING; return TOK_LE;}
2774         YY_BREAK
2775 case 13:
2776 YY_RULE_SETUP
2777 #line 139 "ast_expr2.fl"
2778 { SET_COLUMNS; SET_STRING; return TOK_NE;}
2779         YY_BREAK
2780 case 14:
2781 YY_RULE_SETUP
2782 #line 140 "ast_expr2.fl"
2783 { SET_COLUMNS; SET_STRING; return TOK_PLUS;}
2784         YY_BREAK
2785 case 15:
2786 YY_RULE_SETUP
2787 #line 141 "ast_expr2.fl"
2788 { SET_COLUMNS; SET_STRING; return TOK_COMMA;}
2789         YY_BREAK
2790 case 16:
2791 YY_RULE_SETUP
2792 #line 142 "ast_expr2.fl"
2793 { SET_COLUMNS; SET_STRING; return TOK_MINUS;}
2794         YY_BREAK
2795 case 17:
2796 YY_RULE_SETUP
2797 #line 143 "ast_expr2.fl"
2798 { SET_COLUMNS; SET_STRING; return TOK_MULT;}
2799         YY_BREAK
2800 case 18:
2801 YY_RULE_SETUP
2802 #line 144 "ast_expr2.fl"
2803 { SET_COLUMNS; SET_STRING; return TOK_DIV;}
2804         YY_BREAK
2805 case 19:
2806 YY_RULE_SETUP
2807 #line 145 "ast_expr2.fl"
2808 { SET_COLUMNS; SET_STRING; return TOK_MOD;}
2809         YY_BREAK
2810 case 20:
2811 YY_RULE_SETUP
2812 #line 146 "ast_expr2.fl"
2813 { SET_COLUMNS; SET_STRING; return TOK_COND;}
2814         YY_BREAK
2815 case 21:
2816 YY_RULE_SETUP
2817 #line 147 "ast_expr2.fl"
2818 { SET_COLUMNS; SET_STRING; return TOK_COMPL;}
2819         YY_BREAK
2820 case 22:
2821 YY_RULE_SETUP
2822 #line 148 "ast_expr2.fl"
2823 { SET_COLUMNS; SET_STRING; return TOK_COLON;}
2824         YY_BREAK
2825 case 23:
2826 YY_RULE_SETUP
2827 #line 149 "ast_expr2.fl"
2828 { SET_COLUMNS; SET_STRING; return TOK_COLONCOLON;}
2829         YY_BREAK
2830 case 24:
2831 YY_RULE_SETUP
2832 #line 150 "ast_expr2.fl"
2833 { SET_COLUMNS; SET_STRING; return TOK_LP;}
2834         YY_BREAK
2835 case 25:
2836 YY_RULE_SETUP
2837 #line 151 "ast_expr2.fl"
2838 { SET_COLUMNS; SET_STRING; return TOK_RP;}
2839         YY_BREAK
2840 case 26:
2841 YY_RULE_SETUP
2842 #line 152 "ast_expr2.fl"
2843 {
2844                 /* gather the contents of ${} expressions, with trailing stuff,
2845                  * into a single TOKEN.
2846                  * They are much more complex now than they used to be
2847                  */
2848                 curlycount = 0;
2849                 BEGIN(var);
2850                 yymore();
2851         }
2852         YY_BREAK
2853 case 27:
2854 YY_RULE_SETUP
2855 #line 162 "ast_expr2.fl"
2856 {}
2857         YY_BREAK
2858 case 28:
2859 /* rule 28 can match eol */
2860 YY_RULE_SETUP
2861 #line 163 "ast_expr2.fl"
2862 {SET_COLUMNS; SET_STRING; return TOKEN;}
2863         YY_BREAK
2864 case 29:
2865 /* rule 29 can match eol */
2866 YY_RULE_SETUP
2867 #line 165 "ast_expr2.fl"
2868 {/* what to do with eol */}
2869         YY_BREAK
2870 case 30:
2871 YY_RULE_SETUP
2872 #line 166 "ast_expr2.fl"
2873 {
2874                 SET_COLUMNS;
2875                 /* the original behavior of the expression parser was
2876                  * to bring in numbers as a numeric string
2877                  */
2878                 SET_NUMERIC_STRING;
2879                 return TOKEN;
2880         }
2881         YY_BREAK
2882 case 31:
2883 /* rule 31 can match eol */
2884 YY_RULE_SETUP
2885 #line 175 "ast_expr2.fl"
2886 {
2887                 SET_COLUMNS;
2888                 SET_STRING;
2889                 return TOKEN;
2890         }
2891         YY_BREAK
2892 case 32:
2893 /* rule 32 can match eol */
2894 YY_RULE_SETUP
2895 #line 182 "ast_expr2.fl"
2896 {
2897                 curlycount--;
2898                 if (curlycount < 0) {
2899                         BEGIN(trail);
2900                         yymore();
2901                 } else {
2902                         yymore();
2903                 }
2904         }
2905         YY_BREAK
2906 case 33:
2907 /* rule 33 can match eol */
2908 YY_RULE_SETUP
2909 #line 192 "ast_expr2.fl"
2910 {
2911                 curlycount++;
2912                 yymore();
2913         }
2914         YY_BREAK
2915 case 34:
2916 YY_RULE_SETUP
2917 #line 198 "ast_expr2.fl"
2918 {
2919                 BEGIN(0);
2920                 SET_COLUMNS;
2921                 SET_STRING;
2922                 return TOKEN;
2923         }
2924         YY_BREAK
2925 case 35:
2926 /* rule 35 can match eol */
2927 YY_RULE_SETUP
2928 #line 205 "ast_expr2.fl"
2929 {
2930                 char c = yytext[yyleng-1];
2931                 BEGIN(0);
2932                 unput(c);
2933                 SET_COLUMNS;
2934                 SET_STRING;
2935                 return TOKEN;
2936         }
2937         YY_BREAK
2938 case 36:
2939 YY_RULE_SETUP
2940 #line 214 "ast_expr2.fl"
2941 {
2942                 curlycount = 0;
2943                 BEGIN(var);
2944                 yymore();
2945         }
2946         YY_BREAK
2947 case YY_STATE_EOF(trail):
2948 #line 220 "ast_expr2.fl"
2949 {
2950                 BEGIN(0);
2951                 SET_COLUMNS;
2952                 SET_STRING;
2953                 return TOKEN;
2954                 /*actually, if an expr is only a variable ref, this could happen a LOT */
2955         }
2956         YY_BREAK
2957 case 37:
2958 YY_RULE_SETUP
2959 #line 228 "ast_expr2.fl"
2960 ECHO;
2961         YY_BREAK
2962 #line 2961 "ast_expr2f.c"
2963 case YY_STATE_EOF(INITIAL):
2964 case YY_STATE_EOF(var):
2965         yyterminate();
2966
2967         case YY_END_OF_BUFFER:
2968                 {
2969                 /* Amount of text matched not including the EOB char. */
2970                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2971
2972                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2973                 *yy_cp = yyg->yy_hold_char;
2974                 YY_RESTORE_YY_MORE_OFFSET
2975
2976                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2977                         {
2978                         /* We're scanning a new file or input source.  It's
2979                          * possible that this happened because the user
2980                          * just pointed yyin at a new source and called
2981                          * ast_yylex().  If so, then we have to assure
2982                          * consistency between YY_CURRENT_BUFFER and our
2983                          * globals.  Here is the right place to do so, because
2984                          * this is the first action (other than possibly a
2985                          * back-up) that will match for the new input source.
2986                          */
2987                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2988                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2989                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2990                         }
2991
2992                 /* Note that here we test for yy_c_buf_p "<=" to the position
2993                  * of the first EOB in the buffer, since yy_c_buf_p will
2994                  * already have been incremented past the NUL character
2995                  * (since all states make transitions on EOB to the
2996                  * end-of-buffer state).  Contrast this with the test
2997                  * in input().
2998                  */
2999                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3000                         { /* This was really a NUL. */
3001                         yy_state_type yy_next_state;
3002
3003                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
3004
3005                         yy_current_state = yy_get_previous_state( yyscanner );
3006
3007                         /* Okay, we're now positioned to make the NUL
3008                          * transition.  We couldn't have
3009                          * yy_get_previous_state() go ahead and do it
3010                          * for us because it doesn't know how to deal
3011                          * with the possibility of jamming (and we don't
3012                          * want to build jamming into it because then it
3013                          * will run more slowly).
3014                          */
3015
3016                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
3017
3018                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3019
3020                         if ( yy_next_state )
3021                                 {
3022                                 /* Consume the NUL. */
3023                                 yy_cp = ++yyg->yy_c_buf_p;
3024                                 yy_current_state = yy_next_state;
3025                                 goto yy_match;
3026                                 }
3027
3028                         else
3029                                 {
3030                                 yy_cp = yyg->yy_c_buf_p;
3031                                 goto yy_find_action;
3032                                 }
3033                         }
3034
3035                 else switch ( yy_get_next_buffer( yyscanner ) )
3036                         {
3037                         case EOB_ACT_END_OF_FILE:
3038                                 {
3039                                 yyg->yy_did_buffer_switch_on_eof = 0;
3040
3041                                 if ( ast_yywrap(yyscanner ) )
3042                                         {
3043                                         /* Note: because we've taken care in
3044                                          * yy_get_next_buffer() to have set up
3045                                          * yytext, we can now set up
3046                                          * yy_c_buf_p so that if some total
3047                                          * hoser (like flex itself) wants to
3048                                          * call the scanner after we return the
3049                                          * YY_NULL, it'll still work - another
3050                                          * YY_NULL will get returned.
3051                                          */
3052                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
3053
3054                                         yy_act = YY_STATE_EOF(YY_START);
3055                                         goto do_action;
3056                                         }
3057
3058                                 else
3059                                         {
3060                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
3061                                                 YY_NEW_FILE;
3062                                         }
3063                                 break;
3064                                 }
3065
3066                         case EOB_ACT_CONTINUE_SCAN:
3067                                 yyg->yy_c_buf_p =
3068                                         yyg->yytext_ptr + yy_amount_of_matched_text;
3069
3070                                 yy_current_state = yy_get_previous_state( yyscanner );
3071
3072                                 yy_cp = yyg->yy_c_buf_p;
3073                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3074                                 goto yy_match;
3075
3076                         case EOB_ACT_LAST_MATCH:
3077                                 yyg->yy_c_buf_p =
3078                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
3079
3080                                 yy_current_state = yy_get_previous_state( yyscanner );
3081
3082                                 yy_cp = yyg->yy_c_buf_p;
3083                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
3084                                 goto yy_find_action;
3085                         }
3086                 break;
3087                 }
3088
3089         default:
3090                 YY_FATAL_ERROR(
3091                         "fatal flex scanner internal error--no action found" );
3092         } /* end of action switch */
3093                 } /* end of scanning one token */
3094 } /* end of ast_yylex */
3095
3096 /* yy_get_next_buffer - try to read in a new buffer
3097  *
3098  * Returns a code representing an action:
3099  *      EOB_ACT_LAST_MATCH -
3100  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3101  *      EOB_ACT_END_OF_FILE - end of file
3102  */
3103 static int yy_get_next_buffer (yyscan_t yyscanner)
3104 {
3105     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3106         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3107         register char *source = yyg->yytext_ptr;
3108         register int number_to_move, i;
3109         int ret_val;
3110
3111         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
3112                 YY_FATAL_ERROR(
3113                 "fatal flex scanner internal error--end of buffer missed" );
3114
3115         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3116                 { /* Don't try to fill the buffer, so this is an EOF. */
3117                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
3118                         {
3119                         /* We matched a single character, the EOB, so
3120                          * treat this as a final EOF.
3121                          */
3122                         return EOB_ACT_END_OF_FILE;
3123                         }
3124
3125                 else
3126                         {
3127                         /* We matched some text prior to the EOB, first
3128                          * process it.
3129                          */
3130                         return EOB_ACT_LAST_MATCH;
3131                         }
3132                 }
3133
3134         /* Try to read more data. */
3135
3136         /* First move last chars to start of buffer. */
3137         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
3138
3139         for ( i = 0; i < number_to_move; ++i )
3140                 *(dest++) = *(source++);
3141
3142         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3143                 /* don't do the read, it's not guaranteed to return an EOF,
3144                  * just force an EOF
3145                  */
3146                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
3147
3148         else
3149                 {
3150                         int num_to_read =
3151                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3152
3153                 while ( num_to_read <= 0 )
3154                         { /* Not enough room in the buffer - grow it. */
3155
3156                         /* just a shorter name for the current buffer */
3157                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3158
3159                         int yy_c_buf_p_offset =
3160                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
3161
3162                         if ( b->yy_is_our_buffer )
3163                                 {
3164                                 int new_size = b->yy_buf_size * 2;
3165
3166                                 if ( new_size <= 0 )
3167                                         b->yy_buf_size += b->yy_buf_size / 8;
3168                                 else
3169                                         b->yy_buf_size *= 2;
3170
3171                                 b->yy_ch_buf = (char *)
3172                                         /* Include room in for 2 EOB chars. */
3173                                         ast_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
3174                                 }
3175                         else
3176                                 /* Can't grow it, we don't own it. */
3177                                 b->yy_ch_buf = 0;
3178
3179                         if ( ! b->yy_ch_buf )
3180                                 YY_FATAL_ERROR(
3181                                 "fatal error - scanner input buffer overflow" );
3182
3183                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
3184
3185                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3186                                                 number_to_move - 1;
3187
3188                         }
3189
3190                 if ( num_to_read > YY_READ_BUF_SIZE )
3191                         num_to_read = YY_READ_BUF_SIZE;
3192
3193                 /* Read in more data. */
3194                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3195                         yyg->yy_n_chars, (size_t) num_to_read );
3196
3197                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
3198                 }
3199
3200         if ( yyg->yy_n_chars == 0 )
3201                 {
3202                 if ( number_to_move == YY_MORE_ADJ )
3203                         {
3204                         ret_val = EOB_ACT_END_OF_FILE;
3205                         ast_yyrestart(yyin  ,yyscanner);
3206                         }
3207
3208                 else
3209                         {
3210                         ret_val = EOB_ACT_LAST_MATCH;
3211                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3212                                 YY_BUFFER_EOF_PENDING;
3213                         }
3214                 }
3215
3216         else
3217                 ret_val = EOB_ACT_CONTINUE_SCAN;
3218
3219         if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3220                 /* Extend the array by 50%, plus the number we really need. */
3221                 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
3222                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) ast_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
3223                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3224                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3225         }
3226
3227         yyg->yy_n_chars += number_to_move;
3228         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
3229         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
3230
3231         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3232
3233         return ret_val;
3234 }
3235
3236 /* yy_get_previous_state - get the state just before the EOB char was reached */
3237
3238     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
3239 {
3240         register yy_state_type yy_current_state;
3241         register char *yy_cp;
3242     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3243
3244         yy_current_state = yyg->yy_start;
3245
3246         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
3247                 {
3248                 if ( *yy_cp )
3249                         {
3250                         yy_current_state = yy_nxt[yy_current_state][YY_SC_TO_UI(*yy_cp)];
3251                         }
3252                 else
3253                         yy_current_state = yy_NUL_trans[yy_current_state];
3254                 if ( yy_accept[yy_current_state] )
3255                         {
3256                         yyg->yy_last_accepting_state = yy_current_state;
3257                         yyg->yy_last_accepting_cpos = yy_cp;
3258                         }
3259                 }
3260
3261         return yy_current_state;
3262 }
3263
3264 /* yy_try_NUL_trans - try to make a transition on the NUL character
3265  *
3266  * synopsis
3267  *      next_state = yy_try_NUL_trans( current_state );
3268  */
3269     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
3270 {
3271         register int yy_is_jam;
3272     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
3273         register char *yy_cp = yyg->yy_c_buf_p;
3274
3275         yy_current_state = yy_NUL_trans[yy_current_state];
3276         yy_is_jam = (yy_current_state == 0);
3277
3278         if ( ! yy_is_jam )
3279                 {
3280                 if ( yy_accept[yy_current_state] )
3281                         {
3282                         yyg->yy_last_accepting_state = yy_current_state;
3283                         yyg->yy_last_accepting_cpos = yy_cp;
3284                         }
3285                 }
3286
3287         return yy_is_jam ? 0 : yy_current_state;
3288 }
3289
3290     static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
3291 {
3292         register char *yy_cp;
3293     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3294
3295     yy_cp = yyg->yy_c_buf_p;
3296
3297         /* undo effects of setting up yytext */
3298         *yy_cp = yyg->yy_hold_char;
3299
3300         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3301                 { /* need to shift things up to make room */
3302                 /* +2 for EOB chars. */
3303                 register int number_to_move = yyg->yy_n_chars + 2;
3304                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3305                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3306                 register char *source =
3307                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3308
3309                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3310                         *--dest = *--source;
3311
3312                 yy_cp += (int) (dest - source);
3313                 yy_bp += (int) (dest - source);
3314                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3315                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3316
3317                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3318                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
3319                 }
3320
3321         *--yy_cp = (char) c;
3322
3323         yyg->yytext_ptr = yy_bp;
3324         yyg->yy_hold_char = *yy_cp;
3325         yyg->yy_c_buf_p = yy_cp;
3326 }
3327
3328 #ifndef YY_NO_INPUT
3329 #ifdef __cplusplus
3330     static int yyinput (yyscan_t yyscanner)
3331 #else
3332     static int input  (yyscan_t yyscanner)
3333 #endif
3334
3335 {
3336         int c;
3337     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3338
3339         *yyg->yy_c_buf_p = yyg->yy_hold_char;
3340
3341         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
3342                 {
3343                 /* yy_c_buf_p now points to the character we want to return.
3344                  * If this occurs *before* the EOB characters, then it's a
3345                  * valid NUL; if not, then we've hit the end of the buffer.
3346                  */
3347                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
3348                         /* This was really a NUL. */
3349                         *yyg->yy_c_buf_p = '\0';
3350
3351                 else
3352                         { /* need more input */
3353                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
3354                         ++yyg->yy_c_buf_p;
3355
3356                         switch ( yy_get_next_buffer( yyscanner ) )
3357                                 {
3358                                 case EOB_ACT_LAST_MATCH:
3359                                         /* This happens because yy_g_n_b()
3360                                          * sees that we've accumulated a
3361                                          * token and flags that we need to
3362                                          * try matching the token before
3363                                          * proceeding.  But for input(),
3364                                          * there's no matching to consider.
3365                                          * So convert the EOB_ACT_LAST_MATCH
3366                                          * to EOB_ACT_END_OF_FILE.
3367                                          */
3368
3369                                         /* Reset buffer status. */
3370                                         ast_yyrestart(yyin ,yyscanner);
3371
3372                                         /*FALLTHROUGH*/
3373
3374                                 case EOB_ACT_END_OF_FILE:
3375                                         {
3376                                         if ( ast_yywrap(yyscanner ) )
3377                                                 return EOF;
3378
3379                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
3380                                                 YY_NEW_FILE;
3381 #ifdef __cplusplus
3382                                         return yyinput(yyscanner);
3383 #else
3384                                         return input(yyscanner);
3385 #endif
3386                                         }
3387
3388                                 case EOB_ACT_CONTINUE_SCAN: