2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $XConsortium: RemoteId.C /main/4 1996/08/21 15:57:59 drk $
25 * (c) Copyright 1996 Digital Equipment Corporation.
26 * (c) Copyright 1996 Hewlett-Packard Company.
27 * (c) Copyright 1996 International Business Machines Corp.
28 * (c) Copyright 1996 Sun Microsystems, Inc.
29 * (c) Copyright 1996 Novell, Inc.
30 * (c) Copyright 1996 FUJITSU LIMITED.
31 * (c) Copyright 1996 Hitachi.
34 /* A lexical scanner generated by flex */
36 /* scanner skeleton version:
37 * $Header: /proj/.cde-1/programs/dtinfo/dtinfogen/infolib/etc/RemoteId.C /main/4 1996/08/21 15:57:59 drk $
44 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
56 #if !defined(__osf__) && !defined(USL) && !defined(linux) && \
57 !defined(CSRG_BASED) && !defined(sun)
61 /* use prototypes in function declarations */
62 #define remote_USE_PROTOS
64 /* the "const" storage-class-modifier is valid */
65 #define remote_USE_CONST
67 #else /* ! __cplusplus */
73 void *malloc( size_t );
79 #define remote_USE_PROTOS
80 #define remote_USE_CONST
83 #endif /* ! __cplusplus */
87 #define remote_USE_CONST
91 #ifndef remote_USE_CONST
96 #ifdef remote_USE_PROTOS
97 #define remote_PROTO(proto) proto
99 #define remote_PROTO(proto) ()
100 /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
101 * so it's got to be a K&R compiler, and therefore there's no standard
102 * place from which to include these definitions
110 /* amount of stuff to slurp up with each read */
111 #ifndef remote_READ_BUF_SIZE
112 #define remote_READ_BUF_SIZE 8192
115 /* returned upon end-of-file */
116 #define remote_END_TOK 0
118 /* copy whatever the last rule matched to the standard output */
120 /* cast to (char *) is because for 8-bit chars, remotetext is (unsigned char *) */
121 /* this used to be an fputs(), but since the string might contain NUL's,
122 * we now use fwrite()
124 #define ECHO (void) fwrite( (char *) remotetext, remoteleng, 1, remoteout )
126 /* gets input and stuffs it into "buf". number of characters read, or remote_NULL,
127 * is returned in "result".
129 #define remote_INPUT(buf,result,max_size) \
130 if ( (result = read( fileno(remotein), (char *) buf, max_size )) < 0 ) \
131 remote_FATAL_ERROR( "read() in flex scanner failed" );
132 #define remote_NULL 0
134 /* no semi-colon after return; correct usage is to write "remoteterminate();" -
135 * we don't want an extra ';' after the "return" because that will cause
136 * some compilers to complain about unreachable statements.
138 #define remoteterminate() return ( remote_NULL )
140 /* report a fatal error */
142 /* The funky do-while is used to turn this macro definition into
143 * a single C statement (which needs a semi-colon terminator).
144 * This avoids problems with code like:
146 * if ( something_happens )
147 * remote_FATAL_ERROR( "oops, the something happened" );
151 * Prior to using the do-while the compiler would get upset at the
152 * "else" because it interpreted the "if" statement as being all
153 * done when it reached the ';' after the remote_FATAL_ERROR() call.
156 #define remote_FATAL_ERROR(msg) \
159 (void) fputs( msg, stderr ); \
160 (void) putc( '\n', stderr ); \
165 /* default remotewrap function - always treat EOF as an EOF */
166 #define remotewrap() 1
168 /* enter a start condition. This macro really ought to take a parameter,
169 * but we do it the disgusting crufty way forced on us by the ()-less
170 * definition of BEGIN
172 #define BEGIN remote_start = 1 + 2 *
174 /* action number for EOF rule of a given start state */
175 #define remote_STATE_EOF(state) (remote_END_OF_BUFFER + state + 1)
177 /* special action meaning "start processing a new file" */
178 #define remote_NEW_FILE \
181 remote_init_buffer( remote_current_buffer, remotein ); \
182 remote_load_buffer_state(); \
186 /* default declaration of generated scanner - a define so the user can
187 * easily add parameters
189 #define remote_DECL int remotelex remote_PROTO(( void ))
191 /* code executed at the end of each rule */
192 #define remote_BREAK break;
194 #define remote_END_OF_BUFFER_CHAR 0
196 #ifndef remote_BUF_SIZE
197 #define remote_BUF_SIZE (remote_READ_BUF_SIZE * 2) /* size of default input buffer */
200 typedef struct remote_buffer_state *remote_BUFFER_STATE;
202 #define remote_CHAR unsigned char
205 /* imported interfaces */
206 #include "FlexBuffer.h"
208 #include "BTCollectable.h"
209 #include "dti_cc/CC_String.h"
210 #include "dti_cc/cc_hdict.h"
213 static int my_input ( char *, int );
216 #define remote_INPUT(b, r, ms ) ( r=my_input( ( char *)b,ms) )
218 static char *myinput;
219 static char *myinputptr;
220 static char *myinputlim;
221 static FlexBuffer *NodeBuffer;
222 static FlexBuffer *idref_buffer;
223 static hashTable<CC_String,BTCollectable> *hd;
224 static int NeedRemote = 0;
225 static int current_line_num = 0;
226 static char *current_file_name;
229 #define OLIDREF_LINE 2
230 #define OLIDREF_FILE 3
231 static short int remote_nxt[][256] =
233 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
236 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
240 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
241 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
242 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
257 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
262 { 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
263 11, 10, 10, 10, 10, 10, 10, 10, 10, 10,
264 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
265 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
266 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
267 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
268 12, 10, 10, 10, 10, 10, 10, 10, 10, 10,
269 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
270 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
271 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
273 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
274 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
275 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
276 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
277 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
278 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
279 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
280 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
281 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
282 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
284 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
285 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
286 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
287 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
288 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
289 10, 10, 10, 10, 10, 10 },
291 { 9, 10, 10, 10, 10, 10, 10, 10, 10, 10,
292 11, 10, 10, 10, 10, 10, 10, 10, 10, 10,
293 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
294 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
295 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
296 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
297 12, 10, 10, 10, 10, 10, 10, 10, 10, 10,
298 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
299 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
300 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
302 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
303 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
304 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
305 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
306 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
307 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
308 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
309 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
310 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
311 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
313 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
314 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
315 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
316 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
317 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
318 10, 10, 10, 10, 10, 10 },
320 { 9, 13, 13, 13, 13, 13, 13, 13, 13, 13,
321 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
322 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
323 13, 13, 13, 13, 13, 13, 13, 13, 14, 13,
324 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
325 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
326 15, 13, 13, 13, 13, 13, 13, 13, 13, 13,
327 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
328 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
329 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
331 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
332 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
333 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
334 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
335 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
336 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
337 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
338 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
339 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
340 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
342 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
343 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
344 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
345 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
346 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
347 13, 13, 13, 13, 13, 13 },
349 { 9, 13, 13, 13, 13, 13, 13, 13, 13, 13,
350 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
351 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
352 13, 13, 13, 13, 13, 13, 13, 13, 14, 13,
353 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
354 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
355 15, 13, 13, 13, 13, 13, 13, 13, 13, 13,
356 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
357 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
358 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
360 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
361 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
362 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
363 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
364 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
365 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
366 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
367 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
368 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
369 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
371 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
372 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
373 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
374 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
375 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
376 13, 13, 13, 13, 13, 13 },
378 { 9, 16, 16, 16, 16, 16, 16, 16, 16, 16,
379 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
380 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
381 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
382 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
383 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
384 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
385 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
386 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
387 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
389 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
390 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
391 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
392 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
393 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
394 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
395 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
396 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
397 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
398 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
400 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
401 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
402 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
403 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
404 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
405 16, 16, 16, 16, 16, 16 },
407 { 9, 16, 16, 16, 16, 16, 16, 16, 16, 16,
408 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
409 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
410 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
411 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
412 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
413 17, 16, 16, 16, 16, 16, 16, 16, 16, 16,
414 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
415 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
416 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
418 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
419 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
420 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
421 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
422 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
423 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
424 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
425 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
426 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
427 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
429 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
430 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
431 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
432 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
433 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
434 16, 16, 16, 16, 16, 16 },
436 { 9, 18, 18, 18, 18, 18, 18, 18, 18, 18,
437 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
438 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
439 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
440 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
441 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
442 19, 18, 18, 18, 18, 18, 18, 18, 18, 18,
443 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
444 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
445 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
447 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
448 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
449 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
450 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
451 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
452 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
453 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
454 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
455 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
456 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
458 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
459 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
460 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
461 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
462 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
463 18, 18, 18, 18, 18, 18 },
465 { 9, 18, 18, 18, 18, 18, 18, 18, 18, 18,
466 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
467 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
468 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
469 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
470 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
471 19, 18, 18, 18, 18, 18, 18, 18, 18, 18,
472 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
473 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
474 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
476 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
477 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
478 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
479 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
480 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
481 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
482 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
483 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
484 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
485 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
487 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
488 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
489 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
490 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
491 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
492 18, 18, 18, 18, 18, 18 },
494 { -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
495 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
496 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
497 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
498 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
499 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
500 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
501 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
502 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
503 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
505 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
506 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
507 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
508 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
509 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
510 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
511 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
512 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
513 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
514 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
516 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
517 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
518 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
519 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
520 -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
521 -9, -9, -9, -9, -9, -9 },
523 { 9, -10, -10, -10, -10, -10, -10, -10, -10, -10,
524 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
525 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
526 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
527 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
528 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
529 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
530 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
531 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
532 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
534 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
535 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
536 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
537 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
538 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
539 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
540 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
541 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
542 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
543 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
545 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
546 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
547 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
548 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
549 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,
550 -10, -10, -10, -10, -10, -10 },
552 { 9, -11, -11, -11, -11, -11, -11, -11, -11, -11,
553 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
554 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
555 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
556 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
557 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
558 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
559 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
560 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
561 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
563 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
564 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
565 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
566 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
567 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
568 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
569 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
570 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
571 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
572 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
574 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
575 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
576 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
577 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
578 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
579 -11, -11, -11, -11, -11, -11 },
581 { 9, -12, -12, -12, -12, -12, -12, -12, -12, -12,
582 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
583 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
584 -12, -12, -12, -12, -12, 20, -12, -12, -12, -12,
585 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
586 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
587 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
588 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
589 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
590 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
592 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
593 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
594 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
595 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
596 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
597 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
598 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
599 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
600 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
601 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
603 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
604 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
605 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
606 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
607 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
608 -12, -12, -12, -12, -12, -12 },
610 { 9, 21, 21, 21, 21, 21, 21, 21, 21, 21,
611 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
612 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
613 21, 21, 21, 21, 21, 21, 21, 21, -13, 21,
614 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
615 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
616 -13, 21, 21, 21, 21, 21, 21, 21, 21, 21,
617 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
618 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
619 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
621 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
622 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
623 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
624 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
625 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
626 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
627 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
628 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
629 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
630 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
632 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
633 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
634 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
635 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
636 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
637 21, 21, 21, 21, 21, 21 },
639 { 9, -14, -14, -14, -14, -14, -14, -14, -14, -14,
640 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
641 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
642 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
643 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
644 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
645 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
646 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
647 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
648 -14, -14, -14, -14, -14, -14, -14, 22, -14, -14,
650 -14, -14, -14, -14, -14, -14, -14, -14, 23, -14,
651 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
652 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
653 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
654 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
655 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
656 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
657 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
658 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
659 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
661 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
662 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
663 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
664 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
665 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
666 -14, -14, -14, -14, -14, -14 },
668 { 9, -15, -15, -15, -15, -15, -15, -15, -15, -15,
669 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
670 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
671 -15, -15, -15, -15, -15, 24, -15, -15, -15, -15,
672 -15, -15, -15, -15, -15, -15, -15, 25, -15, -15,
673 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
674 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
675 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
676 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
677 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
679 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
680 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
681 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
682 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
683 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
684 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
685 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
686 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
687 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
688 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
690 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
691 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
692 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
693 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
694 -15, -15, -15, -15, -15, -15, -15, -15, -15, -15,
695 -15, -15, -15, -15, -15, -15 },
697 { 9, 26, 26, 26, 26, 26, 26, 26, 26, 26,
698 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
699 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
700 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
701 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
702 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
703 -16, 26, 26, 26, 26, 26, 26, 26, 26, 26,
704 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
705 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
706 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
708 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
709 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
710 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
711 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
712 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
713 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
714 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
715 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
716 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
717 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
719 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
720 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
721 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
722 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
723 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
724 26, 26, 26, 26, 26, 26 },
726 { 9, -17, -17, -17, -17, -17, -17, -17, -17, -17,
727 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
728 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
729 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
730 -17, -17, -17, -17, -17, -17, -17, 27, -17, -17,
731 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
732 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
733 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
734 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
735 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
737 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
738 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
739 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
740 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
741 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
742 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
743 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
744 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
745 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
746 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
748 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
749 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
750 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
751 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
752 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
753 -17, -17, -17, -17, -17, -17 },
755 { 9, 28, 28, 28, 28, 28, 28, 28, 28, 28,
756 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
757 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
758 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
759 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
760 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
761 -18, 28, 28, 28, 28, 28, 28, 28, 28, 28,
762 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
763 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
764 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
766 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
767 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
768 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
769 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
770 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
771 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
772 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
773 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
774 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
775 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
777 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
778 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
779 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
780 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
781 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
782 28, 28, 28, 28, 28, 28 },
784 { 9, -19, -19, -19, -19, -19, -19, -19, -19, -19,
785 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
786 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
787 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
788 -19, -19, -19, -19, -19, -19, -19, 29, -19, -19,
789 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
790 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
791 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
792 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
793 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
795 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
796 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
797 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
798 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
799 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
800 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
801 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
802 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
803 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
804 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
806 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
807 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
808 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
809 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
810 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19,
811 -19, -19, -19, -19, -19, -19 },
813 { 9, -20, -20, -20, -20, -20, -20, -20, -20, -20,
814 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
815 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
816 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
817 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
818 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
819 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
820 -20, -20, -20, -20, -20, -20, -20, -20, -20, 30,
821 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
822 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
824 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
825 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
826 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
827 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
828 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
829 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
830 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
831 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
832 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
833 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
835 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
836 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
837 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
838 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
839 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
840 -20, -20, -20, -20, -20, -20 },
842 { 9, 21, 21, 21, 21, 21, 21, 21, 21, 21,
843 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
844 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
845 21, 21, 21, 21, 21, 21, 21, 21, -21, 21,
846 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
847 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
848 -21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
849 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
850 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
851 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
853 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
854 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
855 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
856 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
857 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
858 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
859 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
860 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
861 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
862 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
864 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
865 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
866 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
867 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
868 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
869 21, 21, 21, 21, 21, 21 },
871 { 9, -22, -22, -22, -22, -22, -22, -22, -22, -22,
872 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
873 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
874 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
875 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
876 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
877 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
878 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
879 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
880 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
882 -22, -22, -22, -22, -22, -22, -22, -22, -22, 31,
883 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
884 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
885 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
886 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
887 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
888 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
889 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
890 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
891 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
893 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
894 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
895 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
896 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
897 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
898 -22, -22, -22, -22, -22, -22 },
900 { 9, -23, -23, -23, -23, -23, -23, -23, -23, -23,
901 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
902 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
903 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
904 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
905 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
906 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
907 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
908 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
909 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
911 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
912 -23, -23, -23, -23, -23, -23, 32, -23, -23, -23,
913 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
914 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
915 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
916 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
917 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
918 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
919 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
920 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
922 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
923 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
924 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
925 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
926 -23, -23, -23, -23, -23, -23, -23, -23, -23, -23,
927 -23, -23, -23, -23, -23, -23 },
929 { 9, -24, -24, -24, -24, -24, -24, -24, -24, -24,
930 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
931 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
932 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
933 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
934 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
935 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
936 33, -24, -24, -24, -24, -24, 34, -24, -24, -24,
937 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
938 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
940 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
941 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
942 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
943 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
944 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
945 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
946 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
947 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
948 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
949 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
951 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
952 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
953 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
954 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
955 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
956 -24, -24, -24, -24, -24, -24 },
958 { 9, -25, -25, -25, -25, -25, -25, -25, -25, -25,
959 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
960 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
961 -25, -25, -25, -25, -25, 35, -25, -25, -25, -25,
962 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
963 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
964 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
965 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
966 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
967 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
969 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
970 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
971 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
972 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
973 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
974 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
975 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
976 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
977 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
978 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
980 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
981 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
982 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
983 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
984 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
985 -25, -25, -25, -25, -25, -25 },
987 { 9, 26, 26, 26, 26, 26, 26, 26, 26, 26,
988 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
989 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
990 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
991 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
992 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
993 -26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
994 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
995 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
996 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
998 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
999 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1000 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1001 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1002 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1003 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1004 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1005 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1006 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1007 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1009 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1010 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1011 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1012 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1013 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1014 26, 26, 26, 26, 26, 26 },
1016 { 9, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1017 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1018 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1019 -27, -27, -27, -27, -27, 36, -27, -27, -27, -27,
1020 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1021 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1022 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1023 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1024 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1025 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1027 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1028 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1029 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1030 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1031 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1032 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1033 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1034 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1035 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1036 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1038 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1039 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1040 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1041 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1042 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1043 -27, -27, -27, -27, -27, -27 },
1045 { 9, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1046 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1047 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1048 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1049 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1050 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1051 -28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1052 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1053 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1054 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1056 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1057 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1058 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1059 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1060 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1061 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1062 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1063 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1064 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1065 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1067 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1068 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1069 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1070 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1071 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1072 28, 28, 28, 28, 28, 28 },
1074 { 9, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1075 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1076 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1077 -29, -29, -29, -29, -29, 37, -29, -29, -29, -29,
1078 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1079 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1080 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1081 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1082 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1083 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1085 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1086 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1087 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1088 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1089 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1090 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1091 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1092 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1093 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1094 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1096 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1097 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1098 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1099 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1100 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1101 -29, -29, -29, -29, -29, -29 },
1103 { 9, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1104 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1105 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1106 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1107 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1108 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1109 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1110 -30, -30, -30, -30, -30, -30, 38, -30, -30, -30,
1111 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1112 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1114 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1115 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1116 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1117 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1118 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1119 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1120 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1121 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1122 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1123 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1125 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1126 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1127 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1128 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1129 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1130 -30, -30, -30, -30, -30, -30 },
1132 { 9, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1133 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1134 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1135 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1136 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1137 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1138 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1139 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1140 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1141 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1143 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1144 -31, -31, 39, -31, -31, -31, -31, -31, -31, -31,
1145 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1146 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1147 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1148 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1149 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1150 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1151 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1152 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1154 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1155 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1156 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1157 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1158 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1159 -31, -31, -31, -31, -31, -31 },
1161 { 9, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1162 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1163 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1164 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1165 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1166 -32, -32, -32, -32, -32, -32, -32, -32, -32, 40,
1167 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1168 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1169 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1170 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1172 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1173 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1174 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1175 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1176 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1177 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1178 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1179 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1180 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1181 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1183 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1184 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1185 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1186 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1187 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1188 -32, -32, -32, -32, -32, -32 },
1190 { 9, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1191 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1192 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1193 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1194 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1195 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1196 -33, -33, 41, -33, -33, -33, -33, -33, -33, -33,
1197 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1198 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1199 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1201 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1202 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1203 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1204 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1205 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1206 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1207 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1208 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1209 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1210 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1212 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1213 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1214 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1215 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1216 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
1217 -33, -33, -33, -33, -33, -33 },
1219 { 9, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1220 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1221 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1222 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1223 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1224 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1225 -34, -34, 42, -34, -34, -34, -34, -34, -34, -34,
1226 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1227 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1228 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1230 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1231 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1232 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1233 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1234 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1235 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1236 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1237 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1238 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1239 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1241 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1242 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1243 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1244 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1245 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
1246 -34, -34, -34, -34, -34, -34 },
1248 { 9, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1249 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1250 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1251 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1252 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1253 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1254 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1255 -35, -35, -35, -35, -35, -35, -35, -35, -35, 43,
1256 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1257 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1259 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1260 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1261 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1262 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1263 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1264 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1265 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1266 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1267 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1268 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1270 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1271 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1272 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1273 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1274 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1275 -35, -35, -35, -35, -35, -35 },
1277 { 9, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1278 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1279 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1280 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1281 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1282 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1283 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1284 -36, -36, -36, -36, -36, -36, 44, -36, -36, -36,
1285 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1286 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1288 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1289 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1290 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1291 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1292 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1293 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1294 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1295 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1296 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1297 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1299 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1300 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1301 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1302 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1303 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1304 -36, -36, -36, -36, -36, -36 },
1306 { 9, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1307 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1308 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1309 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1310 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1311 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1312 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1313 45, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1314 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1315 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1317 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1318 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1319 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1320 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1321 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1322 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1323 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1324 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1325 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1326 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1328 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1329 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1330 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1331 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1332 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1333 -37, -37, -37, -37, -37, -37 },
1335 { 9, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1336 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1337 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1338 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1339 -38, -38, -38, -38, -38, 46, -38, -38, -38, -38,
1340 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1341 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1342 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1343 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1344 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1346 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1347 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1348 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1349 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1350 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1351 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1352 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1353 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1354 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1355 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1357 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1358 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1359 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1360 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1361 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
1362 -38, -38, -38, -38, -38, -38 },
1364 { 9, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1365 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1366 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1367 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1368 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1369 -39, -39, -39, -39, -39, -39, -39, -39, -39, 47,
1370 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1371 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1372 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1373 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1375 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1376 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1377 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1378 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1379 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1380 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1381 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1382 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1383 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1384 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1386 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1387 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1388 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1389 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1390 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
1391 -39, -39, -39, -39, -39, -39 },
1393 { 9, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1394 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1395 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1396 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1397 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1398 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1399 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1400 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1401 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1402 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1404 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1405 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1406 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1407 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1408 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1409 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1410 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1411 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1412 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1413 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1415 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1416 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1417 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1418 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1419 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1420 -40, -40, -40, -40, -40, -40 },
1422 { 9, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1423 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1424 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1425 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1426 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1427 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1428 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1429 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1430 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1431 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1433 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1434 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1435 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1436 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1437 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1438 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1439 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1440 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1441 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1442 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1444 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1445 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1446 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1447 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1448 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
1449 -41, -41, -41, -41, -41, -41 },
1451 { 9, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1452 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1453 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1454 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1455 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1456 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1457 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1458 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1459 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1460 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1462 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1463 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1464 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1465 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1466 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1467 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1468 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1469 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1470 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1471 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1473 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1474 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1475 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1476 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1477 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
1478 -42, -42, -42, -42, -42, -42 },
1480 { 9, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1481 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1482 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1483 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1484 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1485 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1486 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1487 -43, -43, -43, -43, -43, -43, 48, -43, -43, -43,
1488 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1489 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1491 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1492 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1493 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1494 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1495 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1496 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1497 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1498 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1499 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1500 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1502 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1503 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1504 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1505 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1506 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
1507 -43, -43, -43, -43, -43, -43 },
1509 { 9, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1510 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1511 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1512 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1513 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1514 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1515 -44, -44, 49, -44, -44, -44, -44, -44, -44, -44,
1516 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1517 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1518 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1520 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1521 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1522 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1523 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1524 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1525 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1526 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1527 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1528 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1529 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1531 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1532 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1533 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1534 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1535 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
1536 -44, -44, -44, -44, -44, -44 },
1538 { 9, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1539 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1540 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1541 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1542 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1543 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1544 -45, -45, 50, -45, -45, -45, -45, -45, -45, -45,
1545 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1546 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1547 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1549 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1550 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1551 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1552 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1553 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1554 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1555 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1556 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1557 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1558 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1560 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1561 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1562 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1563 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1564 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
1565 -45, -45, -45, -45, -45, -45 },
1567 { 9, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1568 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1569 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1570 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1571 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1572 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1573 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1574 -46, -46, -46, 51, -46, -46, -46, -46, -46, -46,
1575 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1576 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1578 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1579 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1580 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1581 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1582 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1583 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1584 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1585 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1586 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1587 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1589 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1590 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1591 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1592 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1593 -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
1594 -46, -46, -46, -46, -46, -46 },
1596 { 9, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1597 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1598 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1599 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1600 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1601 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1602 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1603 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1604 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1605 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1607 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1608 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1609 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1610 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1611 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1612 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1613 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1614 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1615 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1616 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1618 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1619 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1620 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1621 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1622 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
1623 -47, -47, -47, -47, -47, -47 },
1625 { 9, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1626 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1627 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1628 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1629 -48, -48, -48, -48, -48, 52, -48, -48, -48, -48,
1630 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1631 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1632 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1633 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1634 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1636 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1637 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1638 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1639 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1640 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1641 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1642 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1643 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1644 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1645 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1647 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1648 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1649 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1650 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1651 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
1652 -48, -48, -48, -48, -48, -48 },
1654 { 9, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1655 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1656 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1657 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1658 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1659 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1660 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1661 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1662 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1663 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1665 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1666 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1667 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1668 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1669 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1670 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1671 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1672 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1673 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1674 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1676 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1677 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1678 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1679 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1680 -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
1681 -49, -49, -49, -49, -49, -49 },
1683 { 9, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1684 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1685 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1686 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1687 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1688 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1689 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1690 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1691 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1692 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1694 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1695 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1696 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1697 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1698 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1699 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1700 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1701 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1702 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1703 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1705 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1706 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1707 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1708 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1709 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
1710 -50, -50, -50, -50, -50, -50 },
1712 { 9, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1713 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1714 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1715 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1716 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1717 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1718 -51, -51, -51, -51, -51, -51, -51, -51, 53, -51,
1719 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1720 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1721 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1723 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1724 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1725 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1726 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1727 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1728 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1729 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1730 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1731 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1732 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1734 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1735 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1736 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1737 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1738 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
1739 -51, -51, -51, -51, -51, -51 },
1741 { 9, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1742 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1743 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1744 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1745 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1746 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1747 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1748 -52, -52, -52, 54, -52, -52, -52, -52, -52, -52,
1749 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1750 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1752 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1753 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1754 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1755 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1756 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1757 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1758 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1759 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1760 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1761 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1763 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1764 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1765 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1766 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1767 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
1768 -52, -52, -52, -52, -52, -52 },
1770 { 9, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1771 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1772 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1773 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1774 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1775 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1776 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1777 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1778 -53, -53, 55, -53, -53, -53, -53, -53, -53, -53,
1779 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1781 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1782 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1783 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1784 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1785 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1786 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1787 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1788 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1789 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1790 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1792 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1793 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1794 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1795 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1796 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
1797 -53, -53, -53, -53, -53, -53 },
1799 { 9, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1800 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1801 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1802 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1803 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1804 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1805 -54, -54, -54, -54, -54, -54, -54, -54, 56, -54,
1806 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1807 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1808 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1810 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1811 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1812 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1813 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1814 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1815 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1816 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1817 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1818 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1819 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1821 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1822 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1823 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1824 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1825 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
1826 -54, -54, -54, -54, -54, -54 },
1828 { 9, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1829 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1830 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1831 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1832 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1833 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1834 -55, -55, -55, -55, -55, -55, -55, -55, -55, 57,
1835 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1836 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1837 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1839 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1840 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1841 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1842 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1843 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1844 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1845 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1846 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1847 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1848 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1850 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1851 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1852 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1853 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1854 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
1855 -55, -55, -55, -55, -55, -55 },
1857 { 9, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1858 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1859 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1860 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1861 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1862 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1863 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1864 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1865 -56, -56, 58, -56, -56, -56, -56, -56, -56, -56,
1866 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1868 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1869 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1870 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1871 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1872 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1873 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1874 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1875 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1876 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1877 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1879 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1880 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1881 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1882 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1883 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
1884 -56, -56, -56, -56, -56, -56 },
1886 { 9, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1887 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1888 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1889 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1890 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1891 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1892 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1893 59, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1894 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1895 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1897 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1898 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1899 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1900 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1901 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1902 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1903 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1904 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1905 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1906 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1908 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1909 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1910 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1911 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1912 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
1913 -57, -57, -57, -57, -57, -57 },
1915 { 9, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1916 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1917 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1918 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1919 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1920 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1921 -58, -58, -58, -58, -58, -58, -58, -58, -58, 60,
1922 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1923 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1924 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1926 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1927 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1928 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1929 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1930 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1931 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1932 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1933 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1934 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1935 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1937 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1938 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1939 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1940 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1941 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
1942 -58, -58, -58, -58, -58, -58 },
1944 { 9, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1945 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1946 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1947 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1948 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1949 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1950 -59, -59, 61, -59, -59, -59, -59, -59, -59, -59,
1951 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1952 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1953 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1955 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1956 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1957 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1958 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1959 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1960 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1961 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1962 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1963 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1964 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1966 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1967 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1968 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1969 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1970 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
1971 -59, -59, -59, -59, -59, -59 },
1973 { 9, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1974 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1975 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1976 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1977 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1978 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1979 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1980 62, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1981 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1982 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1984 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1985 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1986 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1987 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1988 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1989 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1990 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1991 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1992 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1993 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1995 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1996 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1997 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1998 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
1999 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
2000 -60, -60, -60, -60, -60, -60 },
2002 { 9, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2003 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2004 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2005 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2006 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2007 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2008 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2009 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2010 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2011 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2013 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2014 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2015 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2016 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2017 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2018 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2019 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2020 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2021 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2022 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2024 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2025 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2026 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2027 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2028 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
2029 -61, -61, -61, -61, -61, -61 },
2031 { 9, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2032 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2033 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2034 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2035 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2036 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2037 -62, -62, 63, -62, -62, -62, -62, -62, -62, -62,
2038 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2039 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2040 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2042 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2043 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2044 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2045 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2046 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2047 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2048 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2049 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2050 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2051 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2053 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2054 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2055 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2056 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2057 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62,
2058 -62, -62, -62, -62, -62, -62 },
2060 { 9, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2061 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2062 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2063 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2064 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2065 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2066 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2067 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2068 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2069 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2071 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2072 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2073 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2074 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2075 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2076 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2077 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2078 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2079 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2080 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2082 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2083 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2084 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2085 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2086 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
2087 -63, -63, -63, -63, -63, -63 }
2092 /* done after the current pattern has been matched and before the
2093 * corresponding action - sets up remotetext
2095 #define remote_DO_BEFORE_ACTION \
2096 remotetext = remote_bp; \
2097 remoteleng = remote_cp - remote_bp; \
2098 remote_hold_char = *remote_cp; \
2099 *remote_cp = '\0'; \
2100 remote_c_buf_p = remote_cp;
2102 #define EOB_ACT_CONTINUE_SCAN 0
2103 #define EOB_ACT_END_OF_FILE 1
2104 #define EOB_ACT_LAST_MATCH 2
2106 /* return all but the first 'n' matched characters back to the input stream */
2107 #define remoteless(n) \
2110 /* undo effects of setting up remotetext */ \
2111 *remote_cp = remote_hold_char; \
2112 remote_c_buf_p = remote_cp = remote_bp + n; \
2113 remote_DO_BEFORE_ACTION; /* set up remotetext again */ \
2117 #define unput(c) remoteunput( c, remotetext )
2120 struct remote_buffer_state
2122 FILE *remote_input_file;
2124 remote_CHAR *remote_ch_buf; /* input buffer */
2125 remote_CHAR *remote_buf_pos; /* current position in input buffer */
2127 /* size of input buffer in bytes, not including room for EOB characters*/
2128 int remote_buf_size;
2130 /* number of characters read into remote_ch_buf, not including EOB characters */
2133 int remote_eof_status; /* whether we've seen an EOF on this buffer */
2134 #define EOF_NOT_SEEN 0
2135 /* "pending" happens when the EOF has been seen but there's still
2138 #define EOF_PENDING 1
2142 static remote_BUFFER_STATE remote_current_buffer;
2144 /* we provide macros for accessing buffer states in case in the
2145 * future we want to put the buffer states in a more general
2148 #define remote_CURRENT_BUFFER remote_current_buffer
2151 /* remote_hold_char holds the character lost when remotetext is formed */
2152 static remote_CHAR remote_hold_char;
2154 static int remote_n_chars; /* number of characters read into remote_ch_buf */
2158 #ifndef remote_USER_ACTION
2159 #define remote_USER_ACTION
2162 #ifndef remote_USER_INIT
2163 #define remote_USER_INIT
2166 extern remote_CHAR *remotetext;
2167 extern int remoteleng;
2168 extern FILE *remotein, *remoteout;
2170 remote_CHAR *remotetext;
2173 FILE *remotein = (FILE *) 0, *remoteout = (FILE *) 0;
2175 #define remote_END_OF_BUFFER 15
2176 typedef int remote_state_type;
2177 static const short int remote_accept[64] =
2179 0, 0, 0, 0, 0, 0, 0, 0, 15, 12,
2180 13, 12, 11, 14, 14, 3, 14, 6, 14, 0,
2181 11, 0, 0, 0, 0, 3, 0, 6, 0, 0,
2182 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
2183 5, 2, 0, 0, 0, 0, 9, 0, 4, 7,
2184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 static remote_state_type remote_last_accepting_state;
2189 static remote_CHAR *remote_last_accepting_cpos;
2191 static const remote_state_type remote_NUL_trans[64] =
2193 10, 10, 13, 13, 16, 16, 18, 18, 0, 0,
2194 0, 0, 21, 0, 0, 26, 0, 28, 0, 0,
2195 21, 0, 0, 0, 0, 26, 0, 28, 0, 0,
2196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2202 /* the intent behind this definition is that it'll catch
2203 * any uses of REJECT which flex missed
2205 #define REJECT reject_used_but_not_detected
2206 #define remotemore() remotemore_used_but_not_detected
2207 #define remote_MORE_ADJ 0
2209 /* these variables are all declared out here so that section 3 code can
2212 /* points to current character in buffer */
2213 static remote_CHAR *remote_c_buf_p = (remote_CHAR *) 0;
2214 static int remote_init = 1; /* whether we need to initialize */
2215 static int remote_start = 0; /* start state number */
2217 /* flag which is used to allow remotewrap()'s to do buffer switches
2218 * instead of setting up a fresh remotein. A bit of a hack ...
2220 static int remote_did_buffer_switch_on_eof;
2222 static remote_state_type remote_get_previous_state remote_PROTO(( void ));
2223 static remote_state_type remote_try_NUL_trans remote_PROTO(( remote_state_type current_state ));
2224 static int remote_get_next_buffer remote_PROTO(( void ));
2226 static void remoteunput remote_PROTO(( remote_CHAR c, remote_CHAR *buf_ptr ));
2228 void remoterestart remote_PROTO(( FILE *input_file ));
2229 void remote_switch_to_buffer remote_PROTO(( remote_BUFFER_STATE new_buffer ));
2230 void remote_load_buffer_state remote_PROTO(( void ));
2231 remote_BUFFER_STATE remote_create_buffer remote_PROTO(( FILE *file, int size ));
2232 void remote_delete_buffer remote_PROTO(( remote_BUFFER_STATE b ));
2233 void remote_init_buffer remote_PROTO(( remote_BUFFER_STATE b, FILE *file ));
2235 #define remote_new_buffer remote_create_buffer
2239 static int remoteinput remote_PROTO(( void ));
2241 static int input remote_PROTO(( void ));
2247 register remote_state_type remote_current_state;
2248 register remote_CHAR *remote_cp, *remote_bp;
2249 register int remote_act;
2258 if ( ! remote_start )
2259 remote_start = 1; /* first start state */
2267 if ( remote_current_buffer )
2268 remote_init_buffer( remote_current_buffer, remotein );
2270 remote_current_buffer = remote_create_buffer( remotein, remote_BUF_SIZE );
2272 remote_load_buffer_state();
2277 while ( 1 ) /* loops until end-of-file is reached */
2279 remote_cp = remote_c_buf_p;
2281 /* support of remotetext */
2282 *remote_cp = remote_hold_char;
2284 /* remote_bp points to the position in remote_ch_buf of the start of the
2287 remote_bp = remote_cp;
2289 remote_current_state = remote_start;
2291 while ( (remote_current_state = remote_nxt[remote_current_state][*remote_cp]) > 0 )
2293 if ( remote_accept[remote_current_state] )
2295 remote_last_accepting_state = remote_current_state;
2296 remote_last_accepting_cpos = remote_cp;
2302 remote_current_state = -remote_current_state;
2305 remote_act = remote_accept[remote_current_state];
2307 remote_DO_BEFORE_ACTION;
2310 do_action: /* this label is used only to access EOF actions */
2313 switch ( remote_act )
2315 case 0: /* must backtrack */
2316 /* undo the effects of remote_DO_BEFORE_ACTION */
2317 *remote_cp = remote_hold_char;
2318 remote_cp = remote_last_accepting_cpos + 1;
2319 remote_current_state = remote_last_accepting_state;
2320 goto remote_find_action;
2325 NodeBuffer->writeStr("<#OL-IDREF>");
2330 BEGIN(OLIDREF_LINE);
2335 const char *line = (const char *)remotetext;
2336 current_line_num = atoi( line );
2346 BEGIN ( OLIDREF_FILE );
2351 current_file_name = strdup( (const char *)remotetext);
2361 // Perform the entity resolution
2362 idref_buffer->put('<');
2363 NodeBuffer->writeStr( "<" );
2368 idref_buffer->put('&');
2369 NodeBuffer->writeStr( "&" );
2375 * test if the link value found in
2376 * #OL-IDREF is resolved in the bookcase
2379 CC_String key( (const char *)idref_buffer->GetBuffer() );
2381 CC_String *val = (CC_String *)hd->findValue( &key );
2385 cerr << "(WARNING) Unresolved link = " << (const char *)key << endl
2386 << " file = " << current_file_name << endl
2387 << " line no. = " << current_line_num << "\n\n";
2391 // cleanup and reset
2392 delete current_file_name; current_file_name = 0;
2393 idref_buffer->reset();
2395 NodeBuffer->writeStr("</#OL-IDREF>");
2397 NodeBuffer->writeStr("<#REMOTE></#REMOTE>");
2406 const char *str = (const char *)remotetext;
2407 idref_buffer->writeStr( str );
2408 NodeBuffer->writeStr( str );
2414 NodeBuffer->put( remotetext[0] );
2418 remote_FATAL_ERROR( "flex scanner jammed" );
2420 case remote_STATE_EOF(INITIAL):
2421 case remote_STATE_EOF(OLIDREF):
2422 case remote_STATE_EOF(OLIDREF_LINE):
2423 case remote_STATE_EOF(OLIDREF_FILE):
2426 case remote_END_OF_BUFFER:
2428 /* amount of text matched not including the EOB char */
2429 int remote_amount_of_matched_text = remote_cp - remotetext - 1;
2431 /* undo the effects of remote_DO_BEFORE_ACTION */
2432 *remote_cp = remote_hold_char;
2434 /* note that here we test for remote_c_buf_p "<=" to the position
2435 * of the first EOB in the buffer, since remote_c_buf_p will
2436 * already have been incremented past the NUL character
2437 * (since all states make transitions on EOB to the end-
2438 * of-buffer state). Contrast this with the test in remoteinput().
2440 if ( remote_c_buf_p <= &remote_current_buffer->remote_ch_buf[remote_n_chars] )
2441 /* this was really a NUL */
2443 remote_state_type remote_next_state;
2445 remote_c_buf_p = remotetext + remote_amount_of_matched_text;
2447 remote_current_state = remote_get_previous_state();
2449 /* okay, we're now positioned to make the
2450 * NUL transition. We couldn't have
2451 * remote_get_previous_state() go ahead and do it
2452 * for us because it doesn't know how to deal
2453 * with the possibility of jamming (and we
2454 * don't want to build jamming into it because
2455 * then it will run more slowly)
2458 remote_next_state = remote_try_NUL_trans( remote_current_state );
2460 remote_bp = remotetext + remote_MORE_ADJ;
2462 if ( remote_next_state )
2464 /* consume the NUL */
2465 remote_cp = ++remote_c_buf_p;
2466 remote_current_state = remote_next_state;
2472 remote_cp = remote_c_buf_p;
2473 goto remote_find_action;
2477 else switch ( remote_get_next_buffer() )
2479 case EOB_ACT_END_OF_FILE:
2481 remote_did_buffer_switch_on_eof = 0;
2485 /* note: because we've taken care in
2486 * remote_get_next_buffer() to have set up remotetext,
2487 * we can now set up remote_c_buf_p so that if some
2488 * total hoser (like flex itself) wants
2489 * to call the scanner after we return the
2490 * remote_NULL, it'll still work - another remote_NULL
2491 * will get returned.
2493 remote_c_buf_p = remotetext + remote_MORE_ADJ;
2495 remote_act = remote_STATE_EOF((remote_start - 1) / 2);
2501 if ( ! remote_did_buffer_switch_on_eof )
2507 case EOB_ACT_CONTINUE_SCAN:
2508 remote_c_buf_p = remotetext + remote_amount_of_matched_text;
2510 remote_current_state = remote_get_previous_state();
2512 remote_cp = remote_c_buf_p;
2513 remote_bp = remotetext + remote_MORE_ADJ;
2516 case EOB_ACT_LAST_MATCH:
2518 &remote_current_buffer->remote_ch_buf[remote_n_chars];
2520 remote_current_state = remote_get_previous_state();
2522 remote_cp = remote_c_buf_p;
2523 remote_bp = remotetext + remote_MORE_ADJ;
2524 goto remote_find_action;
2531 printf( "action # %d\n", remote_act );
2534 "fatal flex scanner internal error--no action found" );
2540 /* remote_get_next_buffer - try to read in a new buffer
2543 * int remote_get_next_buffer();
2545 * returns a code representing an action
2546 * EOB_ACT_LAST_MATCH -
2547 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2548 * EOB_ACT_END_OF_FILE - end of file
2551 static int remote_get_next_buffer()
2554 register remote_CHAR *dest = remote_current_buffer->remote_ch_buf;
2555 register remote_CHAR *source = remotetext - 1; /* copy prev. char, too */
2556 register int number_to_move, i;
2559 if ( remote_c_buf_p > &remote_current_buffer->remote_ch_buf[remote_n_chars + 1] )
2561 "fatal flex scanner internal error--end of buffer missed" );
2563 /* try to read more data */
2565 /* first move last chars to start of buffer */
2566 number_to_move = remote_c_buf_p - remotetext;
2568 for ( i = 0; i < number_to_move; ++i )
2569 *(dest++) = *(source++);
2571 if ( remote_current_buffer->remote_eof_status != EOF_NOT_SEEN )
2572 /* don't do the read, it's not guaranteed to return an EOF,
2579 int num_to_read = remote_current_buffer->remote_buf_size - number_to_move - 1;
2581 if ( num_to_read > remote_READ_BUF_SIZE )
2582 num_to_read = remote_READ_BUF_SIZE;
2584 else if ( num_to_read <= 0 )
2585 remote_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
2587 /* read in more data */
2588 remote_INPUT( (&remote_current_buffer->remote_ch_buf[number_to_move]),
2589 remote_n_chars, num_to_read );
2592 if ( remote_n_chars == 0 )
2594 if ( number_to_move == 1 )
2596 ret_val = EOB_ACT_END_OF_FILE;
2597 remote_current_buffer->remote_eof_status = EOF_DONE;
2602 ret_val = EOB_ACT_LAST_MATCH;
2603 remote_current_buffer->remote_eof_status = EOF_PENDING;
2608 ret_val = EOB_ACT_CONTINUE_SCAN;
2610 remote_n_chars += number_to_move;
2611 remote_current_buffer->remote_ch_buf[remote_n_chars] = remote_END_OF_BUFFER_CHAR;
2612 remote_current_buffer->remote_ch_buf[remote_n_chars + 1] = remote_END_OF_BUFFER_CHAR;
2614 /* remotetext begins at the second character in remote_ch_buf; the first
2615 * character is the one which preceded it before reading in the latest
2616 * buffer; it needs to be kept around in case it's a newline, so
2617 * remote_get_previous_state() will have with '^' rules active
2620 remotetext = &remote_current_buffer->remote_ch_buf[1];
2626 /* remote_get_previous_state - get the state just before the EOB char was reached
2629 * remote_state_type remote_get_previous_state();
2632 static remote_state_type remote_get_previous_state()
2635 register remote_state_type remote_current_state;
2636 register remote_CHAR *remote_cp;
2638 remote_current_state = remote_start;
2640 for ( remote_cp = remotetext + remote_MORE_ADJ; remote_cp < remote_c_buf_p; ++remote_cp )
2644 remote_current_state = remote_nxt[remote_current_state][*remote_cp];
2647 remote_current_state = remote_NUL_trans[remote_current_state];
2648 if ( remote_accept[remote_current_state] )
2650 remote_last_accepting_state = remote_current_state;
2651 remote_last_accepting_cpos = remote_cp;
2655 return ( remote_current_state );
2659 /* remote_try_NUL_trans - try to make a transition on the NUL character
2662 * next_state = remote_try_NUL_trans( current_state );
2665 #ifdef remote_USE_PROTOS
2666 static remote_state_type remote_try_NUL_trans( register remote_state_type remote_current_state )
2668 static remote_state_type remote_try_NUL_trans( remote_current_state )
2669 register remote_state_type remote_current_state;
2673 register int remote_is_jam;
2674 register remote_CHAR *remote_cp = remote_c_buf_p;
2676 remote_current_state = remote_NUL_trans[remote_current_state];
2677 remote_is_jam = (remote_current_state == 0);
2679 if ( ! remote_is_jam )
2681 if ( remote_accept[remote_current_state] )
2683 remote_last_accepting_state = remote_current_state;
2684 remote_last_accepting_cpos = remote_cp;
2688 return ( remote_is_jam ? 0 : remote_current_state );
2693 #ifdef remote_USE_PROTOS
2694 static void remoteunput( remote_CHAR c, register remote_CHAR *remote_bp )
2696 static void remoteunput( c, remote_bp )
2698 register remote_CHAR *remote_bp;
2702 register remote_CHAR *remote_cp = remote_c_buf_p;
2704 /* undo effects of setting up remotetext */
2705 *remote_cp = remote_hold_char;
2707 if ( remote_cp < remote_current_buffer->remote_ch_buf + 2 )
2708 { /* need to shift things up to make room */
2709 register int number_to_move = remote_n_chars + 2; /* +2 for EOB chars */
2710 register remote_CHAR *dest =
2711 &remote_current_buffer->remote_ch_buf[remote_current_buffer->remote_buf_size + 2];
2712 register remote_CHAR *source =
2713 &remote_current_buffer->remote_ch_buf[number_to_move];
2715 while ( source > remote_current_buffer->remote_ch_buf )
2716 *--dest = *--source;
2718 remote_cp += dest - source;
2719 remote_bp += dest - source;
2720 remote_n_chars = remote_current_buffer->remote_buf_size;
2722 if ( remote_cp < remote_current_buffer->remote_ch_buf + 2 )
2723 remote_FATAL_ERROR( "flex scanner push-back overflow" );
2726 if ( remote_cp > remote_bp && remote_cp[-1] == '\n' )
2727 remote_cp[-2] = '\n';
2731 /* note: the formal parameter *must* be called "remote_bp" for this
2732 * macro to now work correctly
2734 remote_DO_BEFORE_ACTION; /* set up remotetext again */
2741 static int remoteinput()
2748 remote_CHAR *remote_cp = remote_c_buf_p;
2750 *remote_cp = remote_hold_char;
2752 if ( *remote_c_buf_p == remote_END_OF_BUFFER_CHAR )
2754 /* remote_c_buf_p now points to the character we want to return.
2755 * If this occurs *before* the EOB characters, then it's a
2756 * valid NUL; if not, then we've hit the end of the buffer.
2758 if ( remote_c_buf_p < &remote_current_buffer->remote_ch_buf[remote_n_chars] )
2759 /* this was really a NUL */
2760 *remote_c_buf_p = '\0';
2763 { /* need more input */
2764 remotetext = remote_c_buf_p;
2767 switch ( remote_get_next_buffer() )
2769 case EOB_ACT_END_OF_FILE:
2773 remote_c_buf_p = remotetext + remote_MORE_ADJ;
2780 return ( remoteinput() );
2787 case EOB_ACT_CONTINUE_SCAN:
2788 remote_c_buf_p = remotetext + remote_MORE_ADJ;
2791 case EOB_ACT_LAST_MATCH:
2793 remote_FATAL_ERROR( "unexpected last match in remoteinput()" );
2795 remote_FATAL_ERROR( "unexpected last match in input()" );
2801 c = *remote_c_buf_p;
2802 remote_hold_char = *++remote_c_buf_p;
2809 #ifdef remote_USE_PROTOS
2810 void remoterestart( FILE *input_file )
2812 void remoterestart( input_file )
2817 remote_init_buffer( remote_current_buffer, input_file );
2818 remote_load_buffer_state();
2822 #ifdef remote_USE_PROTOS
2823 void remote_switch_to_buffer( remote_BUFFER_STATE new_buffer )
2825 void remote_switch_to_buffer( new_buffer )
2826 remote_BUFFER_STATE new_buffer;
2830 if ( remote_current_buffer == new_buffer )
2833 if ( remote_current_buffer )
2835 /* flush out information for old buffer */
2836 *remote_c_buf_p = remote_hold_char;
2837 remote_current_buffer->remote_buf_pos = remote_c_buf_p;
2838 remote_current_buffer->remote_n_chars = remote_n_chars;
2841 remote_current_buffer = new_buffer;
2842 remote_load_buffer_state();
2844 /* we don't actually know whether we did this switch during
2845 * EOF (remotewrap()) processing, but the only time this flag
2846 * is looked at is after remotewrap() is called, so it's safe
2847 * to go ahead and always set it.
2849 remote_did_buffer_switch_on_eof = 1;
2853 #ifdef remote_USE_PROTOS
2854 void remote_load_buffer_state( void )
2856 void remote_load_buffer_state()
2860 remote_n_chars = remote_current_buffer->remote_n_chars;
2861 remotetext = remote_c_buf_p = remote_current_buffer->remote_buf_pos;
2862 remotein = remote_current_buffer->remote_input_file;
2863 remote_hold_char = *remote_c_buf_p;
2867 #ifdef remote_USE_PROTOS
2868 remote_BUFFER_STATE remote_create_buffer( FILE *file, int size )
2870 remote_BUFFER_STATE remote_create_buffer( file, size )
2876 remote_BUFFER_STATE b;
2878 b = (remote_BUFFER_STATE) malloc( sizeof( struct remote_buffer_state ) );
2881 remote_FATAL_ERROR( "out of dynamic memory in remote_create_buffer()" );
2883 b->remote_buf_size = size;
2885 /* remote_ch_buf has to be 2 characters longer than the size given because
2886 * we need to put in 2 end-of-buffer characters.
2888 b->remote_ch_buf = (remote_CHAR *) malloc( (unsigned) (b->remote_buf_size + 2) );
2890 if ( ! b->remote_ch_buf )
2891 remote_FATAL_ERROR( "out of dynamic memory in remote_create_buffer()" );
2893 remote_init_buffer( b, file );
2899 #ifdef remote_USE_PROTOS
2900 void remote_delete_buffer( remote_BUFFER_STATE b )
2902 void remote_delete_buffer( b )
2903 remote_BUFFER_STATE b;
2907 if ( b == remote_current_buffer )
2908 remote_current_buffer = (remote_BUFFER_STATE) 0;
2910 free( (char *) b->remote_ch_buf );
2915 #ifdef remote_USE_PROTOS
2916 void remote_init_buffer( remote_BUFFER_STATE b, FILE *file )
2918 void remote_init_buffer( b, file )
2919 remote_BUFFER_STATE b;
2924 b->remote_input_file = file;
2926 /* we put in the '\n' and start reading from [1] so that an
2927 * initial match-at-newline will be true.
2930 b->remote_ch_buf[0] = '\n';
2931 b->remote_n_chars = 1;
2933 /* we always need two end-of-buffer characters. The first causes
2934 * a transition to the end-of-buffer state. The second causes
2935 * a jam in that state.
2937 b->remote_ch_buf[1] = remote_END_OF_BUFFER_CHAR;
2938 b->remote_ch_buf[2] = remote_END_OF_BUFFER_CHAR;
2940 b->remote_buf_pos = &b->remote_ch_buf[1];
2942 b->remote_eof_status = EOF_NOT_SEEN;
2946 my_input ( char *buf, int max_size )
2949 int remain = myinputlim - myinputptr;
2950 int n = ( max_size > remain ? remain : max_size );
2953 memcpy ( buf, myinputptr, n );
2959 //------------------------------------------------------------
2960 void insert_remotelink( hashTable<CC_String,BTCollectable> *dictionary,
2963 FlexBuffer *result_buf)
2967 myinputlim = data + datalen;
2969 NodeBuffer = result_buf;
2972 idref_buffer = new FlexBuffer();
2974 delete idref_buffer;
2977 remoterestart(NULL);