1 #line 2 "jsonpath_scan.c"
2 
3 #line 4 "jsonpath_scan.c"
4 
5 #define  YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer jsonpath_yy_create_buffer
10 #define yy_delete_buffer jsonpath_yy_delete_buffer
11 #define yy_scan_buffer jsonpath_yy_scan_buffer
12 #define yy_scan_string jsonpath_yy_scan_string
13 #define yy_scan_bytes jsonpath_yy_scan_bytes
14 #define yy_init_buffer jsonpath_yy_init_buffer
15 #define yy_flush_buffer jsonpath_yy_flush_buffer
16 #define yy_load_buffer_state jsonpath_yy_load_buffer_state
17 #define yy_switch_to_buffer jsonpath_yy_switch_to_buffer
18 #define yypush_buffer_state jsonpath_yypush_buffer_state
19 #define yypop_buffer_state jsonpath_yypop_buffer_state
20 #define yyensure_buffer_stack jsonpath_yyensure_buffer_stack
21 #define yy_flex_debug jsonpath_yy_flex_debug
22 #define yyin jsonpath_yyin
23 #define yyleng jsonpath_yyleng
24 #define yylex jsonpath_yylex
25 #define yylineno jsonpath_yylineno
26 #define yyout jsonpath_yyout
27 #define yyrestart jsonpath_yyrestart
28 #define yytext jsonpath_yytext
29 #define yywrap jsonpath_yywrap
30 #define yyalloc jsonpath_yyalloc
31 #define yyrealloc jsonpath_yyrealloc
32 #define yyfree jsonpath_yyfree
33 
34 #define FLEX_SCANNER
35 #define YY_FLEX_MAJOR_VERSION 2
36 #define YY_FLEX_MINOR_VERSION 6
37 #define YY_FLEX_SUBMINOR_VERSION 4
38 #if YY_FLEX_SUBMINOR_VERSION > 0
39 #define FLEX_BETA
40 #endif
41 
42 #ifdef yy_create_buffer
43 #define jsonpath_yy_create_buffer_ALREADY_DEFINED
44 #else
45 #define yy_create_buffer jsonpath_yy_create_buffer
46 #endif
47 
48 #ifdef yy_delete_buffer
49 #define jsonpath_yy_delete_buffer_ALREADY_DEFINED
50 #else
51 #define yy_delete_buffer jsonpath_yy_delete_buffer
52 #endif
53 
54 #ifdef yy_scan_buffer
55 #define jsonpath_yy_scan_buffer_ALREADY_DEFINED
56 #else
57 #define yy_scan_buffer jsonpath_yy_scan_buffer
58 #endif
59 
60 #ifdef yy_scan_string
61 #define jsonpath_yy_scan_string_ALREADY_DEFINED
62 #else
63 #define yy_scan_string jsonpath_yy_scan_string
64 #endif
65 
66 #ifdef yy_scan_bytes
67 #define jsonpath_yy_scan_bytes_ALREADY_DEFINED
68 #else
69 #define yy_scan_bytes jsonpath_yy_scan_bytes
70 #endif
71 
72 #ifdef yy_init_buffer
73 #define jsonpath_yy_init_buffer_ALREADY_DEFINED
74 #else
75 #define yy_init_buffer jsonpath_yy_init_buffer
76 #endif
77 
78 #ifdef yy_flush_buffer
79 #define jsonpath_yy_flush_buffer_ALREADY_DEFINED
80 #else
81 #define yy_flush_buffer jsonpath_yy_flush_buffer
82 #endif
83 
84 #ifdef yy_load_buffer_state
85 #define jsonpath_yy_load_buffer_state_ALREADY_DEFINED
86 #else
87 #define yy_load_buffer_state jsonpath_yy_load_buffer_state
88 #endif
89 
90 #ifdef yy_switch_to_buffer
91 #define jsonpath_yy_switch_to_buffer_ALREADY_DEFINED
92 #else
93 #define yy_switch_to_buffer jsonpath_yy_switch_to_buffer
94 #endif
95 
96 #ifdef yypush_buffer_state
97 #define jsonpath_yypush_buffer_state_ALREADY_DEFINED
98 #else
99 #define yypush_buffer_state jsonpath_yypush_buffer_state
100 #endif
101 
102 #ifdef yypop_buffer_state
103 #define jsonpath_yypop_buffer_state_ALREADY_DEFINED
104 #else
105 #define yypop_buffer_state jsonpath_yypop_buffer_state
106 #endif
107 
108 #ifdef yyensure_buffer_stack
109 #define jsonpath_yyensure_buffer_stack_ALREADY_DEFINED
110 #else
111 #define yyensure_buffer_stack jsonpath_yyensure_buffer_stack
112 #endif
113 
114 #ifdef yylex
115 #define jsonpath_yylex_ALREADY_DEFINED
116 #else
117 #define yylex jsonpath_yylex
118 #endif
119 
120 #ifdef yyrestart
121 #define jsonpath_yyrestart_ALREADY_DEFINED
122 #else
123 #define yyrestart jsonpath_yyrestart
124 #endif
125 
126 #ifdef yylex_init
127 #define jsonpath_yylex_init_ALREADY_DEFINED
128 #else
129 #define yylex_init jsonpath_yylex_init
130 #endif
131 
132 #ifdef yylex_init_extra
133 #define jsonpath_yylex_init_extra_ALREADY_DEFINED
134 #else
135 #define yylex_init_extra jsonpath_yylex_init_extra
136 #endif
137 
138 #ifdef yylex_destroy
139 #define jsonpath_yylex_destroy_ALREADY_DEFINED
140 #else
141 #define yylex_destroy jsonpath_yylex_destroy
142 #endif
143 
144 #ifdef yyget_debug
145 #define jsonpath_yyget_debug_ALREADY_DEFINED
146 #else
147 #define yyget_debug jsonpath_yyget_debug
148 #endif
149 
150 #ifdef yyset_debug
151 #define jsonpath_yyset_debug_ALREADY_DEFINED
152 #else
153 #define yyset_debug jsonpath_yyset_debug
154 #endif
155 
156 #ifdef yyget_extra
157 #define jsonpath_yyget_extra_ALREADY_DEFINED
158 #else
159 #define yyget_extra jsonpath_yyget_extra
160 #endif
161 
162 #ifdef yyset_extra
163 #define jsonpath_yyset_extra_ALREADY_DEFINED
164 #else
165 #define yyset_extra jsonpath_yyset_extra
166 #endif
167 
168 #ifdef yyget_in
169 #define jsonpath_yyget_in_ALREADY_DEFINED
170 #else
171 #define yyget_in jsonpath_yyget_in
172 #endif
173 
174 #ifdef yyset_in
175 #define jsonpath_yyset_in_ALREADY_DEFINED
176 #else
177 #define yyset_in jsonpath_yyset_in
178 #endif
179 
180 #ifdef yyget_out
181 #define jsonpath_yyget_out_ALREADY_DEFINED
182 #else
183 #define yyget_out jsonpath_yyget_out
184 #endif
185 
186 #ifdef yyset_out
187 #define jsonpath_yyset_out_ALREADY_DEFINED
188 #else
189 #define yyset_out jsonpath_yyset_out
190 #endif
191 
192 #ifdef yyget_leng
193 #define jsonpath_yyget_leng_ALREADY_DEFINED
194 #else
195 #define yyget_leng jsonpath_yyget_leng
196 #endif
197 
198 #ifdef yyget_text
199 #define jsonpath_yyget_text_ALREADY_DEFINED
200 #else
201 #define yyget_text jsonpath_yyget_text
202 #endif
203 
204 #ifdef yyget_lineno
205 #define jsonpath_yyget_lineno_ALREADY_DEFINED
206 #else
207 #define yyget_lineno jsonpath_yyget_lineno
208 #endif
209 
210 #ifdef yyset_lineno
211 #define jsonpath_yyset_lineno_ALREADY_DEFINED
212 #else
213 #define yyset_lineno jsonpath_yyset_lineno
214 #endif
215 
216 #ifdef yywrap
217 #define jsonpath_yywrap_ALREADY_DEFINED
218 #else
219 #define yywrap jsonpath_yywrap
220 #endif
221 
222 #ifdef yyget_lval
223 #define jsonpath_yyget_lval_ALREADY_DEFINED
224 #else
225 #define yyget_lval jsonpath_yyget_lval
226 #endif
227 
228 #ifdef yyset_lval
229 #define jsonpath_yyset_lval_ALREADY_DEFINED
230 #else
231 #define yyset_lval jsonpath_yyset_lval
232 #endif
233 
234 #ifdef yyalloc
235 #define jsonpath_yyalloc_ALREADY_DEFINED
236 #else
237 #define yyalloc jsonpath_yyalloc
238 #endif
239 
240 #ifdef yyrealloc
241 #define jsonpath_yyrealloc_ALREADY_DEFINED
242 #else
243 #define yyrealloc jsonpath_yyrealloc
244 #endif
245 
246 #ifdef yyfree
247 #define jsonpath_yyfree_ALREADY_DEFINED
248 #else
249 #define yyfree jsonpath_yyfree
250 #endif
251 
252 #ifdef yytext
253 #define jsonpath_yytext_ALREADY_DEFINED
254 #else
255 #define yytext jsonpath_yytext
256 #endif
257 
258 #ifdef yyleng
259 #define jsonpath_yyleng_ALREADY_DEFINED
260 #else
261 #define yyleng jsonpath_yyleng
262 #endif
263 
264 #ifdef yyin
265 #define jsonpath_yyin_ALREADY_DEFINED
266 #else
267 #define yyin jsonpath_yyin
268 #endif
269 
270 #ifdef yyout
271 #define jsonpath_yyout_ALREADY_DEFINED
272 #else
273 #define yyout jsonpath_yyout
274 #endif
275 
276 #ifdef yy_flex_debug
277 #define jsonpath_yy_flex_debug_ALREADY_DEFINED
278 #else
279 #define yy_flex_debug jsonpath_yy_flex_debug
280 #endif
281 
282 #ifdef yylineno
283 #define jsonpath_yylineno_ALREADY_DEFINED
284 #else
285 #define yylineno jsonpath_yylineno
286 #endif
287 
288 /* First, we deal with  platform-specific or compiler-specific issues. */
289 
290 /* begin standard C headers. */
291 #include <stdio.h>
292 #include <string.h>
293 #include <errno.h>
294 #include <stdlib.h>
295 
296 /* end standard C headers. */
297 
298 /* flex integer type definitions */
299 
300 #ifndef FLEXINT_H
301 #define FLEXINT_H
302 
303 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
304 
305 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
306 
307 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
308  * if you want the limit (max/min) macros for int types.
309  */
310 #ifndef __STDC_LIMIT_MACROS
311 #define __STDC_LIMIT_MACROS 1
312 #endif
313 
314 #include <inttypes.h>
315 typedef int8_t flex_int8_t;
316 typedef uint8_t flex_uint8_t;
317 typedef int16_t flex_int16_t;
318 typedef uint16_t flex_uint16_t;
319 typedef int32_t flex_int32_t;
320 typedef uint32_t flex_uint32_t;
321 #else
322 typedef signed char flex_int8_t;
323 typedef short int flex_int16_t;
324 typedef int flex_int32_t;
325 typedef unsigned char flex_uint8_t;
326 typedef unsigned short int flex_uint16_t;
327 typedef unsigned int flex_uint32_t;
328 
329 /* Limits of integral types. */
330 #ifndef INT8_MIN
331 #define INT8_MIN               (-128)
332 #endif
333 #ifndef INT16_MIN
334 #define INT16_MIN              (-32767-1)
335 #endif
336 #ifndef INT32_MIN
337 #define INT32_MIN              (-2147483647-1)
338 #endif
339 #ifndef INT8_MAX
340 #define INT8_MAX               (127)
341 #endif
342 #ifndef INT16_MAX
343 #define INT16_MAX              (32767)
344 #endif
345 #ifndef INT32_MAX
346 #define INT32_MAX              (2147483647)
347 #endif
348 #ifndef UINT8_MAX
349 #define UINT8_MAX              (255U)
350 #endif
351 #ifndef UINT16_MAX
352 #define UINT16_MAX             (65535U)
353 #endif
354 #ifndef UINT32_MAX
355 #define UINT32_MAX             (4294967295U)
356 #endif
357 
358 #ifndef SIZE_MAX
359 #define SIZE_MAX               (~(size_t)0)
360 #endif
361 
362 #endif /* ! C99 */
363 
364 #endif /* ! FLEXINT_H */
365 
366 /* begin standard C++ headers. */
367 
368 /* TODO: this is always defined, so inline it */
369 #define yyconst const
370 
371 #if defined(__GNUC__) && __GNUC__ >= 3
372 #define yynoreturn __attribute__((__noreturn__))
373 #else
374 #define yynoreturn
375 #endif
376 
377 /* Returned upon end-of-file. */
378 #define YY_NULL 0
379 
380 /* Promotes a possibly negative, possibly signed char to an
381  *   integer in range [0..255] for use as an array index.
382  */
383 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
384 
385 /* Enter a start condition.  This macro really ought to take a parameter,
386  * but we do it the disgusting crufty way forced on us by the ()-less
387  * definition of BEGIN.
388  */
389 #define BEGIN (yy_start) = 1 + 2 *
390 /* Translate the current start state into a value that can be later handed
391  * to BEGIN to return to the state.  The YYSTATE alias is for lex
392  * compatibility.
393  */
394 #define YY_START (((yy_start) - 1) / 2)
395 #define YYSTATE YY_START
396 /* Action number for EOF rule of a given start state. */
397 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
398 /* Special action meaning "start processing a new file". */
399 #define YY_NEW_FILE yyrestart( yyin  )
400 #define YY_END_OF_BUFFER_CHAR 0
401 
402 /* Size of default input buffer. */
403 #ifndef YY_BUF_SIZE
404 #ifdef __ia64__
405 /* On IA-64, the buffer size is 16k, not 8k.
406  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
407  * Ditto for the __ia64__ case accordingly.
408  */
409 #define YY_BUF_SIZE 32768
410 #else
411 #define YY_BUF_SIZE 16384
412 #endif /* __ia64__ */
413 #endif
414 
415 /* The state buf must be large enough to hold one state per character in the main buffer.
416  */
417 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
418 
419 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
420 #define YY_TYPEDEF_YY_BUFFER_STATE
421 typedef struct yy_buffer_state *YY_BUFFER_STATE;
422 #endif
423 
424 #ifndef YY_TYPEDEF_YY_SIZE_T
425 #define YY_TYPEDEF_YY_SIZE_T
426 typedef size_t yy_size_t;
427 #endif
428 
429 extern int yyleng;
430 
431 extern FILE *yyin, *yyout;
432 
433 #define EOB_ACT_CONTINUE_SCAN 0
434 #define EOB_ACT_END_OF_FILE 1
435 #define EOB_ACT_LAST_MATCH 2
436 
437     #define YY_LESS_LINENO(n)
438     #define YY_LINENO_REWIND_TO(ptr)
439 
440 /* Return all but the first "n" matched characters back to the input stream. */
441 #define yyless(n) \
442 	do \
443 		{ \
444 		/* Undo effects of setting up yytext. */ \
445         int yyless_macro_arg = (n); \
446         YY_LESS_LINENO(yyless_macro_arg);\
447 		*yy_cp = (yy_hold_char); \
448 		YY_RESTORE_YY_MORE_OFFSET \
449 		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
450 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
451 		} \
452 	while ( 0 )
453 #define unput(c) yyunput( c, (yytext_ptr)  )
454 
455 #ifndef YY_STRUCT_YY_BUFFER_STATE
456 #define YY_STRUCT_YY_BUFFER_STATE
457 struct yy_buffer_state
458 	{
459 	FILE *yy_input_file;
460 
461 	char *yy_ch_buf;		/* input buffer */
462 	char *yy_buf_pos;		/* current position in input buffer */
463 
464 	/* Size of input buffer in bytes, not including room for EOB
465 	 * characters.
466 	 */
467 	int yy_buf_size;
468 
469 	/* Number of characters read into yy_ch_buf, not including EOB
470 	 * characters.
471 	 */
472 	int yy_n_chars;
473 
474 	/* Whether we "own" the buffer - i.e., we know we created it,
475 	 * and can realloc() it to grow it, and should free() it to
476 	 * delete it.
477 	 */
478 	int yy_is_our_buffer;
479 
480 	/* Whether this is an "interactive" input source; if so, and
481 	 * if we're using stdio for input, then we want to use getc()
482 	 * instead of fread(), to make sure we stop fetching input after
483 	 * each newline.
484 	 */
485 	int yy_is_interactive;
486 
487 	/* Whether we're considered to be at the beginning of a line.
488 	 * If so, '^' rules will be active on the next match, otherwise
489 	 * not.
490 	 */
491 	int yy_at_bol;
492 
493     int yy_bs_lineno; /**< The line count. */
494     int yy_bs_column; /**< The column count. */
495 
496 	/* Whether to try to fill the input buffer when we reach the
497 	 * end of it.
498 	 */
499 	int yy_fill_buffer;
500 
501 	int yy_buffer_status;
502 
503 #define YY_BUFFER_NEW 0
504 #define YY_BUFFER_NORMAL 1
505 	/* When an EOF's been seen but there's still some text to process
506 	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
507 	 * shouldn't try reading from the input source any more.  We might
508 	 * still have a bunch of tokens to match, though, because of
509 	 * possible backing-up.
510 	 *
511 	 * When we actually see the EOF, we change the status to "new"
512 	 * (via yyrestart()), so that the user can continue scanning by
513 	 * just pointing yyin at a new input file.
514 	 */
515 #define YY_BUFFER_EOF_PENDING 2
516 
517 	};
518 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
519 
520 /* Stack of input buffers. */
521 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
522 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
523 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
524 
525 /* We provide macros for accessing buffer states in case in the
526  * future we want to put the buffer states in a more general
527  * "scanner state".
528  *
529  * Returns the top of the stack, or NULL.
530  */
531 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
532                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
533                           : NULL)
534 /* Same as previous macro, but useful when we know that the buffer stack is not
535  * NULL or when we need an lvalue. For internal use only.
536  */
537 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
538 
539 /* yy_hold_char holds the character lost when yytext is formed. */
540 static char yy_hold_char;
541 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
542 int yyleng;
543 
544 /* Points to current character in buffer. */
545 static char *yy_c_buf_p = NULL;
546 static int yy_init = 0;		/* whether we need to initialize */
547 static int yy_start = 0;	/* start state number */
548 
549 /* Flag which is used to allow yywrap()'s to do buffer switches
550  * instead of setting up a fresh yyin.  A bit of a hack ...
551  */
552 static int yy_did_buffer_switch_on_eof;
553 
554 void yyrestart ( FILE *input_file  );
555 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
556 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
557 void yy_delete_buffer ( YY_BUFFER_STATE b  );
558 void yy_flush_buffer ( YY_BUFFER_STATE b  );
559 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
560 void yypop_buffer_state ( void );
561 
562 static void yyensure_buffer_stack ( void );
563 static void yy_load_buffer_state ( void );
564 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
565 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
566 
567 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
568 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
569 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
570 
571 void *yyalloc ( yy_size_t  );
572 void *yyrealloc ( void *, yy_size_t  );
573 void yyfree ( void *  );
574 
575 #define yy_new_buffer yy_create_buffer
576 #define yy_set_interactive(is_interactive) \
577 	{ \
578 	if ( ! YY_CURRENT_BUFFER ){ \
579         yyensure_buffer_stack (); \
580 		YY_CURRENT_BUFFER_LVALUE =    \
581             yy_create_buffer( yyin, YY_BUF_SIZE ); \
582 	} \
583 	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
584 	}
585 #define yy_set_bol(at_bol) \
586 	{ \
587 	if ( ! YY_CURRENT_BUFFER ){\
588         yyensure_buffer_stack (); \
589 		YY_CURRENT_BUFFER_LVALUE =    \
590             yy_create_buffer( yyin, YY_BUF_SIZE ); \
591 	} \
592 	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
593 	}
594 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
595 
596 /* Begin user sect3 */
597 
598 #define jsonpath_yywrap() (/*CONSTCOND*/1)
599 #define YY_SKIP_YYWRAP
600 typedef flex_uint8_t YY_CHAR;
601 
602 FILE *yyin = NULL, *yyout = NULL;
603 
604 typedef const struct yy_trans_info *yy_state_type;
605 
606 extern int yylineno;
607 int yylineno = 1;
608 
609 extern char *yytext;
610 #ifdef yytext_ptr
611 #undef yytext_ptr
612 #endif
613 #define yytext_ptr yytext
614 
615 static yy_state_type yy_get_previous_state ( void );
616 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
617 static int yy_get_next_buffer ( void );
618 static void yynoreturn yy_fatal_error ( const char* msg  );
619 
620 /* Done after the current pattern has been matched and before the
621  * corresponding action - sets up yytext.
622  */
623 #define YY_DO_BEFORE_ACTION \
624 	(yytext_ptr) = yy_bp; \
625 	yyleng = (int) (yy_cp - yy_bp); \
626 	(yy_hold_char) = *yy_cp; \
627 	*yy_cp = '\0'; \
628 	(yy_c_buf_p) = yy_cp;
629 #define YY_NUM_RULES 48
630 #define YY_END_OF_BUFFER 49
631 struct yy_trans_info
632 	{
633 	flex_int16_t yy_verify;
634 	flex_int16_t yy_nxt;
635 	};
636 static const struct yy_trans_info yy_transition[8135] =
637     {
638  {   0,   0 }, {   0,7879 }, {   0,   0 }, {   0,7877 }, {   1,2580 },
639  {   2,2580 }, {   3,2580 }, {   4,2580 }, {   5,2580 }, {   6,2580 },
640  {   7,2580 }, {   8,2580 }, {   9,2838 }, {  10,2838 }, {  11,2580 },
641  {  12,2838 }, {  13,2838 }, {  14,2580 }, {  15,2580 }, {  16,2580 },
642  {  17,2580 }, {  18,2580 }, {  19,2580 }, {  20,2580 }, {  21,2580 },
643  {  22,2580 }, {  23,2580 }, {  24,2580 }, {  25,2580 }, {  26,2580 },
644  {  27,2580 }, {  28,2580 }, {  29,2580 }, {  30,2580 }, {  31,2580 },
645  {  32,2838 }, {  33,2642 }, {  34,2644 }, {  35,2672 }, {  36,2857 },
646  {  37,2672 }, {  38,2854 }, {  39,2580 }, {  40,2672 }, {  41,2672 },
647  {  42,3115 }, {  43,2672 }, {  44,2672 }, {  45,2672 }, {  46,2672 },
648 
649  {  47,3117 }, {  48,3119 }, {  49,3377 }, {  50,3377 }, {  51,3377 },
650  {  52,3377 }, {  53,3377 }, {  54,3377 }, {  55,3377 }, {  56,3377 },
651  {  57,3377 }, {  58,2672 }, {  59,2580 }, {  60,3181 }, {  61,3183 },
652  {  62,3439 }, {  63,2672 }, {  64,2672 }, {  65,2580 }, {  66,2580 },
653  {  67,2580 }, {  68,2580 }, {  69,2580 }, {  70,2580 }, {  71,2580 },
654  {  72,2580 }, {  73,2580 }, {  74,2580 }, {  75,2580 }, {  76,2580 },
655  {  77,2580 }, {  78,2580 }, {  79,2580 }, {  80,2580 }, {  81,2580 },
656  {  82,2580 }, {  83,2580 }, {  84,2580 }, {  85,2580 }, {  86,2580 },
657  {  87,2580 }, {  88,2580 }, {  89,2580 }, {  90,2580 }, {  91,2672 },
658  {  92,3441 }, {  93,2672 }, {  94,2580 }, {  95,2580 }, {  96,2580 },
659 
660  {  97,2580 }, {  98,2580 }, {  99,2580 }, { 100,2580 }, { 101,2580 },
661  { 102,2580 }, { 103,2580 }, { 104,2580 }, { 105,2580 }, { 106,2580 },
662  { 107,2580 }, { 108,2580 }, { 109,2580 }, { 110,2580 }, { 111,2580 },
663  { 112,2580 }, { 113,2580 }, { 114,2580 }, { 115,2580 }, { 116,2580 },
664  { 117,2580 }, { 118,2580 }, { 119,2580 }, { 120,2580 }, { 121,2580 },
665  { 122,2580 }, { 123,2672 }, { 124,3635 }, { 125,2672 }, { 126,2580 },
666  { 127,2580 }, { 128,2580 }, { 129,2580 }, { 130,2580 }, { 131,2580 },
667  { 132,2580 }, { 133,2580 }, { 134,2580 }, { 135,2580 }, { 136,2580 },
668  { 137,2580 }, { 138,2580 }, { 139,2580 }, { 140,2580 }, { 141,2580 },
669  { 142,2580 }, { 143,2580 }, { 144,2580 }, { 145,2580 }, { 146,2580 },
670 
671  { 147,2580 }, { 148,2580 }, { 149,2580 }, { 150,2580 }, { 151,2580 },
672  { 152,2580 }, { 153,2580 }, { 154,2580 }, { 155,2580 }, { 156,2580 },
673  { 157,2580 }, { 158,2580 }, { 159,2580 }, { 160,2580 }, { 161,2580 },
674  { 162,2580 }, { 163,2580 }, { 164,2580 }, { 165,2580 }, { 166,2580 },
675  { 167,2580 }, { 168,2580 }, { 169,2580 }, { 170,2580 }, { 171,2580 },
676  { 172,2580 }, { 173,2580 }, { 174,2580 }, { 175,2580 }, { 176,2580 },
677  { 177,2580 }, { 178,2580 }, { 179,2580 }, { 180,2580 }, { 181,2580 },
678  { 182,2580 }, { 183,2580 }, { 184,2580 }, { 185,2580 }, { 186,2580 },
679  { 187,2580 }, { 188,2580 }, { 189,2580 }, { 190,2580 }, { 191,2580 },
680  { 192,2580 }, { 193,2580 }, { 194,2580 }, { 195,2580 }, { 196,2580 },
681 
682  { 197,2580 }, { 198,2580 }, { 199,2580 }, { 200,2580 }, { 201,2580 },
683  { 202,2580 }, { 203,2580 }, { 204,2580 }, { 205,2580 }, { 206,2580 },
684  { 207,2580 }, { 208,2580 }, { 209,2580 }, { 210,2580 }, { 211,2580 },
685  { 212,2580 }, { 213,2580 }, { 214,2580 }, { 215,2580 }, { 216,2580 },
686  { 217,2580 }, { 218,2580 }, { 219,2580 }, { 220,2580 }, { 221,2580 },
687  { 222,2580 }, { 223,2580 }, { 224,2580 }, { 225,2580 }, { 226,2580 },
688  { 227,2580 }, { 228,2580 }, { 229,2580 }, { 230,2580 }, { 231,2580 },
689  { 232,2580 }, { 233,2580 }, { 234,2580 }, { 235,2580 }, { 236,2580 },
690  { 237,2580 }, { 238,2580 }, { 239,2580 }, { 240,2580 }, { 241,2580 },
691  { 242,2580 }, { 243,2580 }, { 244,2580 }, { 245,2580 }, { 246,2580 },
692 
693  { 247,2580 }, { 248,2580 }, { 249,2580 }, { 250,2580 }, { 251,2580 },
694  { 252,2580 }, { 253,2580 }, { 254,2580 }, { 255,2580 }, { 256,2580 },
695  {   0,   0 }, {   0,7619 }, {   1,2322 }, {   2,2322 }, {   3,2322 },
696  {   4,2322 }, {   5,2322 }, {   6,2322 }, {   7,2322 }, {   8,2322 },
697  {   9,2580 }, {  10,2580 }, {  11,2322 }, {  12,2580 }, {  13,2580 },
698  {  14,2322 }, {  15,2322 }, {  16,2322 }, {  17,2322 }, {  18,2322 },
699  {  19,2322 }, {  20,2322 }, {  21,2322 }, {  22,2322 }, {  23,2322 },
700  {  24,2322 }, {  25,2322 }, {  26,2322 }, {  27,2322 }, {  28,2322 },
701  {  29,2322 }, {  30,2322 }, {  31,2322 }, {  32,2580 }, {  33,2384 },
702  {  34,2386 }, {  35,2414 }, {  36,2599 }, {  37,2414 }, {  38,2596 },
703 
704  {  39,2322 }, {  40,2414 }, {  41,2414 }, {  42,2857 }, {  43,2414 },
705  {  44,2414 }, {  45,2414 }, {  46,2414 }, {  47,2859 }, {  48,2861 },
706  {  49,3119 }, {  50,3119 }, {  51,3119 }, {  52,3119 }, {  53,3119 },
707  {  54,3119 }, {  55,3119 }, {  56,3119 }, {  57,3119 }, {  58,2414 },
708  {  59,2322 }, {  60,2923 }, {  61,2925 }, {  62,3181 }, {  63,2414 },
709  {  64,2414 }, {  65,2322 }, {  66,2322 }, {  67,2322 }, {  68,2322 },
710  {  69,2322 }, {  70,2322 }, {  71,2322 }, {  72,2322 }, {  73,2322 },
711  {  74,2322 }, {  75,2322 }, {  76,2322 }, {  77,2322 }, {  78,2322 },
712  {  79,2322 }, {  80,2322 }, {  81,2322 }, {  82,2322 }, {  83,2322 },
713  {  84,2322 }, {  85,2322 }, {  86,2322 }, {  87,2322 }, {  88,2322 },
714 
715  {  89,2322 }, {  90,2322 }, {  91,2414 }, {  92,3183 }, {  93,2414 },
716  {  94,2322 }, {  95,2322 }, {  96,2322 }, {  97,2322 }, {  98,2322 },
717  {  99,2322 }, { 100,2322 }, { 101,2322 }, { 102,2322 }, { 103,2322 },
718  { 104,2322 }, { 105,2322 }, { 106,2322 }, { 107,2322 }, { 108,2322 },
719  { 109,2322 }, { 110,2322 }, { 111,2322 }, { 112,2322 }, { 113,2322 },
720  { 114,2322 }, { 115,2322 }, { 116,2322 }, { 117,2322 }, { 118,2322 },
721  { 119,2322 }, { 120,2322 }, { 121,2322 }, { 122,2322 }, { 123,2414 },
722  { 124,3377 }, { 125,2414 }, { 126,2322 }, { 127,2322 }, { 128,2322 },
723  { 129,2322 }, { 130,2322 }, { 131,2322 }, { 132,2322 }, { 133,2322 },
724  { 134,2322 }, { 135,2322 }, { 136,2322 }, { 137,2322 }, { 138,2322 },
725 
726  { 139,2322 }, { 140,2322 }, { 141,2322 }, { 142,2322 }, { 143,2322 },
727  { 144,2322 }, { 145,2322 }, { 146,2322 }, { 147,2322 }, { 148,2322 },
728  { 149,2322 }, { 150,2322 }, { 151,2322 }, { 152,2322 }, { 153,2322 },
729  { 154,2322 }, { 155,2322 }, { 156,2322 }, { 157,2322 }, { 158,2322 },
730  { 159,2322 }, { 160,2322 }, { 161,2322 }, { 162,2322 }, { 163,2322 },
731  { 164,2322 }, { 165,2322 }, { 166,2322 }, { 167,2322 }, { 168,2322 },
732  { 169,2322 }, { 170,2322 }, { 171,2322 }, { 172,2322 }, { 173,2322 },
733  { 174,2322 }, { 175,2322 }, { 176,2322 }, { 177,2322 }, { 178,2322 },
734  { 179,2322 }, { 180,2322 }, { 181,2322 }, { 182,2322 }, { 183,2322 },
735  { 184,2322 }, { 185,2322 }, { 186,2322 }, { 187,2322 }, { 188,2322 },
736 
737  { 189,2322 }, { 190,2322 }, { 191,2322 }, { 192,2322 }, { 193,2322 },
738  { 194,2322 }, { 195,2322 }, { 196,2322 }, { 197,2322 }, { 198,2322 },
739  { 199,2322 }, { 200,2322 }, { 201,2322 }, { 202,2322 }, { 203,2322 },
740  { 204,2322 }, { 205,2322 }, { 206,2322 }, { 207,2322 }, { 208,2322 },
741  { 209,2322 }, { 210,2322 }, { 211,2322 }, { 212,2322 }, { 213,2322 },
742  { 214,2322 }, { 215,2322 }, { 216,2322 }, { 217,2322 }, { 218,2322 },
743  { 219,2322 }, { 220,2322 }, { 221,2322 }, { 222,2322 }, { 223,2322 },
744  { 224,2322 }, { 225,2322 }, { 226,2322 }, { 227,2322 }, { 228,2322 },
745  { 229,2322 }, { 230,2322 }, { 231,2322 }, { 232,2322 }, { 233,2322 },
746  { 234,2322 }, { 235,2322 }, { 236,2322 }, { 237,2322 }, { 238,2322 },
747 
748  { 239,2322 }, { 240,2322 }, { 241,2322 }, { 242,2322 }, { 243,2322 },
749  { 244,2322 }, { 245,2322 }, { 246,2322 }, { 247,2322 }, { 248,2322 },
750  { 249,2322 }, { 250,2322 }, { 251,2322 }, { 252,2322 }, { 253,2322 },
751  { 254,2322 }, { 255,2322 }, { 256,2322 }, {   0,   0 }, {   0,7361 },
752  {   1,3151 }, {   2,3151 }, {   3,3151 }, {   4,3151 }, {   5,3151 },
753  {   6,3151 }, {   7,3151 }, {   8,3151 }, {   9,3151 }, {  10,3151 },
754  {  11,3151 }, {  12,3151 }, {  13,3151 }, {  14,3151 }, {  15,3151 },
755  {  16,3151 }, {  17,3151 }, {  18,3151 }, {  19,3151 }, {  20,3151 },
756  {  21,3151 }, {  22,3151 }, {  23,3151 }, {  24,3151 }, {  25,3151 },
757  {  26,3151 }, {  27,3151 }, {  28,3151 }, {  29,3151 }, {  30,3151 },
758 
759  {  31,3151 }, {  32,3151 }, {  33,3151 }, {  34,3121 }, {  35,3151 },
760  {  36,3151 }, {  37,3151 }, {  38,3151 }, {  39,3151 }, {  40,3151 },
761  {  41,3151 }, {  42,3151 }, {  43,3151 }, {  44,3151 }, {  45,3151 },
762  {  46,3151 }, {  47,3151 }, {  48,3151 }, {  49,3151 }, {  50,3151 },
763  {  51,3151 }, {  52,3151 }, {  53,3151 }, {  54,3151 }, {  55,3151 },
764  {  56,3151 }, {  57,3151 }, {  58,3151 }, {  59,3151 }, {  60,3151 },
765  {  61,3151 }, {  62,3151 }, {  63,3151 }, {  64,3151 }, {  65,3151 },
766  {  66,3151 }, {  67,3151 }, {  68,3151 }, {  69,3151 }, {  70,3151 },
767  {  71,3151 }, {  72,3151 }, {  73,3151 }, {  74,3151 }, {  75,3151 },
768  {  76,3151 }, {  77,3151 }, {  78,3151 }, {  79,3151 }, {  80,3151 },
769 
770  {  81,3151 }, {  82,3151 }, {  83,3151 }, {  84,3151 }, {  85,3151 },
771  {  86,3151 }, {  87,3151 }, {  88,3151 }, {  89,3151 }, {  90,3151 },
772  {  91,3151 }, {  92,3409 }, {  93,3151 }, {  94,3151 }, {  95,3151 },
773  {  96,3151 }, {  97,3151 }, {  98,3151 }, {  99,3151 }, { 100,3151 },
774  { 101,3151 }, { 102,3151 }, { 103,3151 }, { 104,3151 }, { 105,3151 },
775  { 106,3151 }, { 107,3151 }, { 108,3151 }, { 109,3151 }, { 110,3151 },
776  { 111,3151 }, { 112,3151 }, { 113,3151 }, { 114,3151 }, { 115,3151 },
777  { 116,3151 }, { 117,3151 }, { 118,3151 }, { 119,3151 }, { 120,3151 },
778  { 121,3151 }, { 122,3151 }, { 123,3151 }, { 124,3151 }, { 125,3151 },
779  { 126,3151 }, { 127,3151 }, { 128,3151 }, { 129,3151 }, { 130,3151 },
780 
781  { 131,3151 }, { 132,3151 }, { 133,3151 }, { 134,3151 }, { 135,3151 },
782  { 136,3151 }, { 137,3151 }, { 138,3151 }, { 139,3151 }, { 140,3151 },
783  { 141,3151 }, { 142,3151 }, { 143,3151 }, { 144,3151 }, { 145,3151 },
784  { 146,3151 }, { 147,3151 }, { 148,3151 }, { 149,3151 }, { 150,3151 },
785  { 151,3151 }, { 152,3151 }, { 153,3151 }, { 154,3151 }, { 155,3151 },
786  { 156,3151 }, { 157,3151 }, { 158,3151 }, { 159,3151 }, { 160,3151 },
787  { 161,3151 }, { 162,3151 }, { 163,3151 }, { 164,3151 }, { 165,3151 },
788  { 166,3151 }, { 167,3151 }, { 168,3151 }, { 169,3151 }, { 170,3151 },
789  { 171,3151 }, { 172,3151 }, { 173,3151 }, { 174,3151 }, { 175,3151 },
790  { 176,3151 }, { 177,3151 }, { 178,3151 }, { 179,3151 }, { 180,3151 },
791 
792  { 181,3151 }, { 182,3151 }, { 183,3151 }, { 184,3151 }, { 185,3151 },
793  { 186,3151 }, { 187,3151 }, { 188,3151 }, { 189,3151 }, { 190,3151 },
794  { 191,3151 }, { 192,3151 }, { 193,3151 }, { 194,3151 }, { 195,3151 },
795  { 196,3151 }, { 197,3151 }, { 198,3151 }, { 199,3151 }, { 200,3151 },
796  { 201,3151 }, { 202,3151 }, { 203,3151 }, { 204,3151 }, { 205,3151 },
797  { 206,3151 }, { 207,3151 }, { 208,3151 }, { 209,3151 }, { 210,3151 },
798  { 211,3151 }, { 212,3151 }, { 213,3151 }, { 214,3151 }, { 215,3151 },
799  { 216,3151 }, { 217,3151 }, { 218,3151 }, { 219,3151 }, { 220,3151 },
800  { 221,3151 }, { 222,3151 }, { 223,3151 }, { 224,3151 }, { 225,3151 },
801  { 226,3151 }, { 227,3151 }, { 228,3151 }, { 229,3151 }, { 230,3151 },
802 
803  { 231,3151 }, { 232,3151 }, { 233,3151 }, { 234,3151 }, { 235,3151 },
804  { 236,3151 }, { 237,3151 }, { 238,3151 }, { 239,3151 }, { 240,3151 },
805  { 241,3151 }, { 242,3151 }, { 243,3151 }, { 244,3151 }, { 245,3151 },
806  { 246,3151 }, { 247,3151 }, { 248,3151 }, { 249,3151 }, { 250,3151 },
807  { 251,3151 }, { 252,3151 }, { 253,3151 }, { 254,3151 }, { 255,3151 },
808  { 256,3151 }, {   0,   0 }, {   0,7103 }, {   1,2893 }, {   2,2893 },
809  {   3,2893 }, {   4,2893 }, {   5,2893 }, {   6,2893 }, {   7,2893 },
810  {   8,2893 }, {   9,2893 }, {  10,2893 }, {  11,2893 }, {  12,2893 },
811  {  13,2893 }, {  14,2893 }, {  15,2893 }, {  16,2893 }, {  17,2893 },
812  {  18,2893 }, {  19,2893 }, {  20,2893 }, {  21,2893 }, {  22,2893 },
813 
814  {  23,2893 }, {  24,2893 }, {  25,2893 }, {  26,2893 }, {  27,2893 },
815  {  28,2893 }, {  29,2893 }, {  30,2893 }, {  31,2893 }, {  32,2893 },
816  {  33,2893 }, {  34,2863 }, {  35,2893 }, {  36,2893 }, {  37,2893 },
817  {  38,2893 }, {  39,2893 }, {  40,2893 }, {  41,2893 }, {  42,2893 },
818  {  43,2893 }, {  44,2893 }, {  45,2893 }, {  46,2893 }, {  47,2893 },
819  {  48,2893 }, {  49,2893 }, {  50,2893 }, {  51,2893 }, {  52,2893 },
820  {  53,2893 }, {  54,2893 }, {  55,2893 }, {  56,2893 }, {  57,2893 },
821  {  58,2893 }, {  59,2893 }, {  60,2893 }, {  61,2893 }, {  62,2893 },
822  {  63,2893 }, {  64,2893 }, {  65,2893 }, {  66,2893 }, {  67,2893 },
823  {  68,2893 }, {  69,2893 }, {  70,2893 }, {  71,2893 }, {  72,2893 },
824 
825  {  73,2893 }, {  74,2893 }, {  75,2893 }, {  76,2893 }, {  77,2893 },
826  {  78,2893 }, {  79,2893 }, {  80,2893 }, {  81,2893 }, {  82,2893 },
827  {  83,2893 }, {  84,2893 }, {  85,2893 }, {  86,2893 }, {  87,2893 },
828  {  88,2893 }, {  89,2893 }, {  90,2893 }, {  91,2893 }, {  92,3151 },
829  {  93,2893 }, {  94,2893 }, {  95,2893 }, {  96,2893 }, {  97,2893 },
830  {  98,2893 }, {  99,2893 }, { 100,2893 }, { 101,2893 }, { 102,2893 },
831  { 103,2893 }, { 104,2893 }, { 105,2893 }, { 106,2893 }, { 107,2893 },
832  { 108,2893 }, { 109,2893 }, { 110,2893 }, { 111,2893 }, { 112,2893 },
833  { 113,2893 }, { 114,2893 }, { 115,2893 }, { 116,2893 }, { 117,2893 },
834  { 118,2893 }, { 119,2893 }, { 120,2893 }, { 121,2893 }, { 122,2893 },
835 
836  { 123,2893 }, { 124,2893 }, { 125,2893 }, { 126,2893 }, { 127,2893 },
837  { 128,2893 }, { 129,2893 }, { 130,2893 }, { 131,2893 }, { 132,2893 },
838  { 133,2893 }, { 134,2893 }, { 135,2893 }, { 136,2893 }, { 137,2893 },
839  { 138,2893 }, { 139,2893 }, { 140,2893 }, { 141,2893 }, { 142,2893 },
840  { 143,2893 }, { 144,2893 }, { 145,2893 }, { 146,2893 }, { 147,2893 },
841  { 148,2893 }, { 149,2893 }, { 150,2893 }, { 151,2893 }, { 152,2893 },
842  { 153,2893 }, { 154,2893 }, { 155,2893 }, { 156,2893 }, { 157,2893 },
843  { 158,2893 }, { 159,2893 }, { 160,2893 }, { 161,2893 }, { 162,2893 },
844  { 163,2893 }, { 164,2893 }, { 165,2893 }, { 166,2893 }, { 167,2893 },
845  { 168,2893 }, { 169,2893 }, { 170,2893 }, { 171,2893 }, { 172,2893 },
846 
847  { 173,2893 }, { 174,2893 }, { 175,2893 }, { 176,2893 }, { 177,2893 },
848  { 178,2893 }, { 179,2893 }, { 180,2893 }, { 181,2893 }, { 182,2893 },
849  { 183,2893 }, { 184,2893 }, { 185,2893 }, { 186,2893 }, { 187,2893 },
850  { 188,2893 }, { 189,2893 }, { 190,2893 }, { 191,2893 }, { 192,2893 },
851  { 193,2893 }, { 194,2893 }, { 195,2893 }, { 196,2893 }, { 197,2893 },
852  { 198,2893 }, { 199,2893 }, { 200,2893 }, { 201,2893 }, { 202,2893 },
853  { 203,2893 }, { 204,2893 }, { 205,2893 }, { 206,2893 }, { 207,2893 },
854  { 208,2893 }, { 209,2893 }, { 210,2893 }, { 211,2893 }, { 212,2893 },
855  { 213,2893 }, { 214,2893 }, { 215,2893 }, { 216,2893 }, { 217,2893 },
856  { 218,2893 }, { 219,2893 }, { 220,2893 }, { 221,2893 }, { 222,2893 },
857 
858  { 223,2893 }, { 224,2893 }, { 225,2893 }, { 226,2893 }, { 227,2893 },
859  { 228,2893 }, { 229,2893 }, { 230,2893 }, { 231,2893 }, { 232,2893 },
860  { 233,2893 }, { 234,2893 }, { 235,2893 }, { 236,2893 }, { 237,2893 },
861  { 238,2893 }, { 239,2893 }, { 240,2893 }, { 241,2893 }, { 242,2893 },
862  { 243,2893 }, { 244,2893 }, { 245,2893 }, { 246,2893 }, { 247,2893 },
863  { 248,2893 }, { 249,2893 }, { 250,2893 }, { 251,2893 }, { 252,2893 },
864  { 253,2893 }, { 254,2893 }, { 255,2893 }, { 256,2893 }, {   0,   0 },
865  {   0,6845 }, {   1,3151 }, {   2,3151 }, {   3,3151 }, {   4,3151 },
866  {   5,3151 }, {   6,3151 }, {   7,3151 }, {   8,3151 }, {   9,3409 },
867  {  10,3409 }, {  11,3151 }, {  12,3409 }, {  13,3409 }, {  14,3151 },
868 
869  {  15,3151 }, {  16,3151 }, {  17,3151 }, {  18,3151 }, {  19,3151 },
870  {  20,3151 }, {  21,3151 }, {  22,3151 }, {  23,3151 }, {  24,3151 },
871  {  25,3151 }, {  26,3151 }, {  27,3151 }, {  28,3151 }, {  29,3151 },
872  {  30,3151 }, {  31,3151 }, {  32,3409 }, {  33,2607 }, {  34,2607 },
873  {  35,2607 }, {  36,2607 }, {  37,2607 }, {  38,2607 }, {  39,3151 },
874  {  40,2607 }, {  41,2607 }, {  42,2607 }, {  43,2607 }, {  44,2607 },
875  {  45,2607 }, {  46,2607 }, {  47,2627 }, {  48,3151 }, {  49,3151 },
876  {  50,3151 }, {  51,3151 }, {  52,3151 }, {  53,3151 }, {  54,3151 },
877  {  55,3151 }, {  56,3151 }, {  57,3151 }, {  58,2607 }, {  59,3151 },
878  {  60,2607 }, {  61,2607 }, {  62,2607 }, {  63,2607 }, {  64,2607 },
879 
880  {  65,3151 }, {  66,3151 }, {  67,3151 }, {  68,3151 }, {  69,3151 },
881  {  70,3151 }, {  71,3151 }, {  72,3151 }, {  73,3151 }, {  74,3151 },
882  {  75,3151 }, {  76,3151 }, {  77,3151 }, {  78,3151 }, {  79,3151 },
883  {  80,3151 }, {  81,3151 }, {  82,3151 }, {  83,3151 }, {  84,3151 },
884  {  85,3151 }, {  86,3151 }, {  87,3151 }, {  88,3151 }, {  89,3151 },
885  {  90,3151 }, {  91,2607 }, {  92,2893 }, {  93,2607 }, {  94,3151 },
886  {  95,3151 }, {  96,3151 }, {  97,3151 }, {  98,3151 }, {  99,3151 },
887  { 100,3151 }, { 101,3151 }, { 102,3151 }, { 103,3151 }, { 104,3151 },
888  { 105,3151 }, { 106,3151 }, { 107,3151 }, { 108,3151 }, { 109,3151 },
889  { 110,3151 }, { 111,3151 }, { 112,3151 }, { 113,3151 }, { 114,3151 },
890 
891  { 115,3151 }, { 116,3151 }, { 117,3151 }, { 118,3151 }, { 119,3151 },
892  { 120,3151 }, { 121,3151 }, { 122,3151 }, { 123,2607 }, { 124,2607 },
893  { 125,2607 }, { 126,3151 }, { 127,3151 }, { 128,3151 }, { 129,3151 },
894  { 130,3151 }, { 131,3151 }, { 132,3151 }, { 133,3151 }, { 134,3151 },
895  { 135,3151 }, { 136,3151 }, { 137,3151 }, { 138,3151 }, { 139,3151 },
896  { 140,3151 }, { 141,3151 }, { 142,3151 }, { 143,3151 }, { 144,3151 },
897  { 145,3151 }, { 146,3151 }, { 147,3151 }, { 148,3151 }, { 149,3151 },
898  { 150,3151 }, { 151,3151 }, { 152,3151 }, { 153,3151 }, { 154,3151 },
899  { 155,3151 }, { 156,3151 }, { 157,3151 }, { 158,3151 }, { 159,3151 },
900  { 160,3151 }, { 161,3151 }, { 162,3151 }, { 163,3151 }, { 164,3151 },
901 
902  { 165,3151 }, { 166,3151 }, { 167,3151 }, { 168,3151 }, { 169,3151 },
903  { 170,3151 }, { 171,3151 }, { 172,3151 }, { 173,3151 }, { 174,3151 },
904  { 175,3151 }, { 176,3151 }, { 177,3151 }, { 178,3151 }, { 179,3151 },
905  { 180,3151 }, { 181,3151 }, { 182,3151 }, { 183,3151 }, { 184,3151 },
906  { 185,3151 }, { 186,3151 }, { 187,3151 }, { 188,3151 }, { 189,3151 },
907  { 190,3151 }, { 191,3151 }, { 192,3151 }, { 193,3151 }, { 194,3151 },
908  { 195,3151 }, { 196,3151 }, { 197,3151 }, { 198,3151 }, { 199,3151 },
909  { 200,3151 }, { 201,3151 }, { 202,3151 }, { 203,3151 }, { 204,3151 },
910  { 205,3151 }, { 206,3151 }, { 207,3151 }, { 208,3151 }, { 209,3151 },
911  { 210,3151 }, { 211,3151 }, { 212,3151 }, { 213,3151 }, { 214,3151 },
912 
913  { 215,3151 }, { 216,3151 }, { 217,3151 }, { 218,3151 }, { 219,3151 },
914  { 220,3151 }, { 221,3151 }, { 222,3151 }, { 223,3151 }, { 224,3151 },
915  { 225,3151 }, { 226,3151 }, { 227,3151 }, { 228,3151 }, { 229,3151 },
916  { 230,3151 }, { 231,3151 }, { 232,3151 }, { 233,3151 }, { 234,3151 },
917  { 235,3151 }, { 236,3151 }, { 237,3151 }, { 238,3151 }, { 239,3151 },
918  { 240,3151 }, { 241,3151 }, { 242,3151 }, { 243,3151 }, { 244,3151 },
919  { 245,3151 }, { 246,3151 }, { 247,3151 }, { 248,3151 }, { 249,3151 },
920  { 250,3151 }, { 251,3151 }, { 252,3151 }, { 253,3151 }, { 254,3151 },
921  { 255,3151 }, { 256,3151 }, {   0,   0 }, {   0,6587 }, {   1,2893 },
922  {   2,2893 }, {   3,2893 }, {   4,2893 }, {   5,2893 }, {   6,2893 },
923 
924  {   7,2893 }, {   8,2893 }, {   9,3151 }, {  10,3151 }, {  11,2893 },
925  {  12,3151 }, {  13,3151 }, {  14,2893 }, {  15,2893 }, {  16,2893 },
926  {  17,2893 }, {  18,2893 }, {  19,2893 }, {  20,2893 }, {  21,2893 },
927  {  22,2893 }, {  23,2893 }, {  24,2893 }, {  25,2893 }, {  26,2893 },
928  {  27,2893 }, {  28,2893 }, {  29,2893 }, {  30,2893 }, {  31,2893 },
929  {  32,3151 }, {  33,2349 }, {  34,2349 }, {  35,2349 }, {  36,2349 },
930  {  37,2349 }, {  38,2349 }, {  39,2893 }, {  40,2349 }, {  41,2349 },
931  {  42,2349 }, {  43,2349 }, {  44,2349 }, {  45,2349 }, {  46,2349 },
932  {  47,2369 }, {  48,2893 }, {  49,2893 }, {  50,2893 }, {  51,2893 },
933  {  52,2893 }, {  53,2893 }, {  54,2893 }, {  55,2893 }, {  56,2893 },
934 
935  {  57,2893 }, {  58,2349 }, {  59,2893 }, {  60,2349 }, {  61,2349 },
936  {  62,2349 }, {  63,2349 }, {  64,2349 }, {  65,2893 }, {  66,2893 },
937  {  67,2893 }, {  68,2893 }, {  69,2893 }, {  70,2893 }, {  71,2893 },
938  {  72,2893 }, {  73,2893 }, {  74,2893 }, {  75,2893 }, {  76,2893 },
939  {  77,2893 }, {  78,2893 }, {  79,2893 }, {  80,2893 }, {  81,2893 },
940  {  82,2893 }, {  83,2893 }, {  84,2893 }, {  85,2893 }, {  86,2893 },
941  {  87,2893 }, {  88,2893 }, {  89,2893 }, {  90,2893 }, {  91,2349 },
942  {  92,2635 }, {  93,2349 }, {  94,2893 }, {  95,2893 }, {  96,2893 },
943  {  97,2893 }, {  98,2893 }, {  99,2893 }, { 100,2893 }, { 101,2893 },
944  { 102,2893 }, { 103,2893 }, { 104,2893 }, { 105,2893 }, { 106,2893 },
945 
946  { 107,2893 }, { 108,2893 }, { 109,2893 }, { 110,2893 }, { 111,2893 },
947  { 112,2893 }, { 113,2893 }, { 114,2893 }, { 115,2893 }, { 116,2893 },
948  { 117,2893 }, { 118,2893 }, { 119,2893 }, { 120,2893 }, { 121,2893 },
949  { 122,2893 }, { 123,2349 }, { 124,2349 }, { 125,2349 }, { 126,2893 },
950  { 127,2893 }, { 128,2893 }, { 129,2893 }, { 130,2893 }, { 131,2893 },
951  { 132,2893 }, { 133,2893 }, { 134,2893 }, { 135,2893 }, { 136,2893 },
952  { 137,2893 }, { 138,2893 }, { 139,2893 }, { 140,2893 }, { 141,2893 },
953  { 142,2893 }, { 143,2893 }, { 144,2893 }, { 145,2893 }, { 146,2893 },
954  { 147,2893 }, { 148,2893 }, { 149,2893 }, { 150,2893 }, { 151,2893 },
955  { 152,2893 }, { 153,2893 }, { 154,2893 }, { 155,2893 }, { 156,2893 },
956 
957  { 157,2893 }, { 158,2893 }, { 159,2893 }, { 160,2893 }, { 161,2893 },
958  { 162,2893 }, { 163,2893 }, { 164,2893 }, { 165,2893 }, { 166,2893 },
959  { 167,2893 }, { 168,2893 }, { 169,2893 }, { 170,2893 }, { 171,2893 },
960  { 172,2893 }, { 173,2893 }, { 174,2893 }, { 175,2893 }, { 176,2893 },
961  { 177,2893 }, { 178,2893 }, { 179,2893 }, { 180,2893 }, { 181,2893 },
962  { 182,2893 }, { 183,2893 }, { 184,2893 }, { 185,2893 }, { 186,2893 },
963  { 187,2893 }, { 188,2893 }, { 189,2893 }, { 190,2893 }, { 191,2893 },
964  { 192,2893 }, { 193,2893 }, { 194,2893 }, { 195,2893 }, { 196,2893 },
965  { 197,2893 }, { 198,2893 }, { 199,2893 }, { 200,2893 }, { 201,2893 },
966  { 202,2893 }, { 203,2893 }, { 204,2893 }, { 205,2893 }, { 206,2893 },
967 
968  { 207,2893 }, { 208,2893 }, { 209,2893 }, { 210,2893 }, { 211,2893 },
969  { 212,2893 }, { 213,2893 }, { 214,2893 }, { 215,2893 }, { 216,2893 },
970  { 217,2893 }, { 218,2893 }, { 219,2893 }, { 220,2893 }, { 221,2893 },
971  { 222,2893 }, { 223,2893 }, { 224,2893 }, { 225,2893 }, { 226,2893 },
972  { 227,2893 }, { 228,2893 }, { 229,2893 }, { 230,2893 }, { 231,2893 },
973  { 232,2893 }, { 233,2893 }, { 234,2893 }, { 235,2893 }, { 236,2893 },
974  { 237,2893 }, { 238,2893 }, { 239,2893 }, { 240,2893 }, { 241,2893 },
975  { 242,2893 }, { 243,2893 }, { 244,2893 }, { 245,2893 }, { 246,2893 },
976  { 247,2893 }, { 248,2893 }, { 249,2893 }, { 250,2893 }, { 251,2893 },
977  { 252,2893 }, { 253,2893 }, { 254,2893 }, { 255,2893 }, { 256,2893 },
978 
979  {   0,   0 }, {   0,6329 }, {   1,2119 }, {   2,2119 }, {   3,2119 },
980  {   4,2119 }, {   5,2119 }, {   6,2119 }, {   7,2119 }, {   8,2119 },
981  {   9,2119 }, {  10,2119 }, {  11,2119 }, {  12,2119 }, {  13,2119 },
982  {  14,2119 }, {  15,2119 }, {  16,2119 }, {  17,2119 }, {  18,2119 },
983  {  19,2119 }, {  20,2119 }, {  21,2119 }, {  22,2119 }, {  23,2119 },
984  {  24,2119 }, {  25,2119 }, {  26,2119 }, {  27,2119 }, {  28,2119 },
985  {  29,2119 }, {  30,2119 }, {  31,2119 }, {  32,2119 }, {  33,2119 },
986  {  34,2113 }, {  35,2119 }, {  36,2119 }, {  37,2119 }, {  38,2119 },
987  {  39,2119 }, {  40,2119 }, {  41,2119 }, {  42,2119 }, {  43,2119 },
988  {  44,2119 }, {  45,2119 }, {  46,2119 }, {  47,2119 }, {  48,2119 },
989 
990  {  49,2119 }, {  50,2119 }, {  51,2119 }, {  52,2119 }, {  53,2119 },
991  {  54,2119 }, {  55,2119 }, {  56,2119 }, {  57,2119 }, {  58,2119 },
992  {  59,2119 }, {  60,2119 }, {  61,2119 }, {  62,2119 }, {  63,2119 },
993  {  64,2119 }, {  65,2119 }, {  66,2119 }, {  67,2119 }, {  68,2119 },
994  {  69,2119 }, {  70,2119 }, {  71,2119 }, {  72,2119 }, {  73,2119 },
995  {  74,2119 }, {  75,2119 }, {  76,2119 }, {  77,2119 }, {  78,2119 },
996  {  79,2119 }, {  80,2119 }, {  81,2119 }, {  82,2119 }, {  83,2119 },
997  {  84,2119 }, {  85,2119 }, {  86,2119 }, {  87,2119 }, {  88,2119 },
998  {  89,2119 }, {  90,2119 }, {  91,2119 }, {  92,2377 }, {  93,2119 },
999  {  94,2119 }, {  95,2119 }, {  96,2119 }, {  97,2119 }, {  98,2119 },
1000 
1001  {  99,2119 }, { 100,2119 }, { 101,2119 }, { 102,2119 }, { 103,2119 },
1002  { 104,2119 }, { 105,2119 }, { 106,2119 }, { 107,2119 }, { 108,2119 },
1003  { 109,2119 }, { 110,2119 }, { 111,2119 }, { 112,2119 }, { 113,2119 },
1004  { 114,2119 }, { 115,2119 }, { 116,2119 }, { 117,2119 }, { 118,2119 },
1005  { 119,2119 }, { 120,2119 }, { 121,2119 }, { 122,2119 }, { 123,2119 },
1006  { 124,2119 }, { 125,2119 }, { 126,2119 }, { 127,2119 }, { 128,2119 },
1007  { 129,2119 }, { 130,2119 }, { 131,2119 }, { 132,2119 }, { 133,2119 },
1008  { 134,2119 }, { 135,2119 }, { 136,2119 }, { 137,2119 }, { 138,2119 },
1009  { 139,2119 }, { 140,2119 }, { 141,2119 }, { 142,2119 }, { 143,2119 },
1010  { 144,2119 }, { 145,2119 }, { 146,2119 }, { 147,2119 }, { 148,2119 },
1011 
1012  { 149,2119 }, { 150,2119 }, { 151,2119 }, { 152,2119 }, { 153,2119 },
1013  { 154,2119 }, { 155,2119 }, { 156,2119 }, { 157,2119 }, { 158,2119 },
1014  { 159,2119 }, { 160,2119 }, { 161,2119 }, { 162,2119 }, { 163,2119 },
1015  { 164,2119 }, { 165,2119 }, { 166,2119 }, { 167,2119 }, { 168,2119 },
1016  { 169,2119 }, { 170,2119 }, { 171,2119 }, { 172,2119 }, { 173,2119 },
1017  { 174,2119 }, { 175,2119 }, { 176,2119 }, { 177,2119 }, { 178,2119 },
1018  { 179,2119 }, { 180,2119 }, { 181,2119 }, { 182,2119 }, { 183,2119 },
1019  { 184,2119 }, { 185,2119 }, { 186,2119 }, { 187,2119 }, { 188,2119 },
1020  { 189,2119 }, { 190,2119 }, { 191,2119 }, { 192,2119 }, { 193,2119 },
1021  { 194,2119 }, { 195,2119 }, { 196,2119 }, { 197,2119 }, { 198,2119 },
1022 
1023  { 199,2119 }, { 200,2119 }, { 201,2119 }, { 202,2119 }, { 203,2119 },
1024  { 204,2119 }, { 205,2119 }, { 206,2119 }, { 207,2119 }, { 208,2119 },
1025  { 209,2119 }, { 210,2119 }, { 211,2119 }, { 212,2119 }, { 213,2119 },
1026  { 214,2119 }, { 215,2119 }, { 216,2119 }, { 217,2119 }, { 218,2119 },
1027  { 219,2119 }, { 220,2119 }, { 221,2119 }, { 222,2119 }, { 223,2119 },
1028  { 224,2119 }, { 225,2119 }, { 226,2119 }, { 227,2119 }, { 228,2119 },
1029  { 229,2119 }, { 230,2119 }, { 231,2119 }, { 232,2119 }, { 233,2119 },
1030  { 234,2119 }, { 235,2119 }, { 236,2119 }, { 237,2119 }, { 238,2119 },
1031  { 239,2119 }, { 240,2119 }, { 241,2119 }, { 242,2119 }, { 243,2119 },
1032  { 244,2119 }, { 245,2119 }, { 246,2119 }, { 247,2119 }, { 248,2119 },
1033 
1034  { 249,2119 }, { 250,2119 }, { 251,2119 }, { 252,2119 }, { 253,2119 },
1035  { 254,2119 }, { 255,2119 }, { 256,2119 }, {   0,   0 }, {   0,6071 },
1036  {   1,1861 }, {   2,1861 }, {   3,1861 }, {   4,1861 }, {   5,1861 },
1037  {   6,1861 }, {   7,1861 }, {   8,1861 }, {   9,1861 }, {  10,1861 },
1038  {  11,1861 }, {  12,1861 }, {  13,1861 }, {  14,1861 }, {  15,1861 },
1039  {  16,1861 }, {  17,1861 }, {  18,1861 }, {  19,1861 }, {  20,1861 },
1040  {  21,1861 }, {  22,1861 }, {  23,1861 }, {  24,1861 }, {  25,1861 },
1041  {  26,1861 }, {  27,1861 }, {  28,1861 }, {  29,1861 }, {  30,1861 },
1042  {  31,1861 }, {  32,1861 }, {  33,1861 }, {  34,1855 }, {  35,1861 },
1043  {  36,1861 }, {  37,1861 }, {  38,1861 }, {  39,1861 }, {  40,1861 },
1044 
1045  {  41,1861 }, {  42,1861 }, {  43,1861 }, {  44,1861 }, {  45,1861 },
1046  {  46,1861 }, {  47,1861 }, {  48,1861 }, {  49,1861 }, {  50,1861 },
1047  {  51,1861 }, {  52,1861 }, {  53,1861 }, {  54,1861 }, {  55,1861 },
1048  {  56,1861 }, {  57,1861 }, {  58,1861 }, {  59,1861 }, {  60,1861 },
1049  {  61,1861 }, {  62,1861 }, {  63,1861 }, {  64,1861 }, {  65,1861 },
1050  {  66,1861 }, {  67,1861 }, {  68,1861 }, {  69,1861 }, {  70,1861 },
1051  {  71,1861 }, {  72,1861 }, {  73,1861 }, {  74,1861 }, {  75,1861 },
1052  {  76,1861 }, {  77,1861 }, {  78,1861 }, {  79,1861 }, {  80,1861 },
1053  {  81,1861 }, {  82,1861 }, {  83,1861 }, {  84,1861 }, {  85,1861 },
1054  {  86,1861 }, {  87,1861 }, {  88,1861 }, {  89,1861 }, {  90,1861 },
1055 
1056  {  91,1861 }, {  92,2119 }, {  93,1861 }, {  94,1861 }, {  95,1861 },
1057  {  96,1861 }, {  97,1861 }, {  98,1861 }, {  99,1861 }, { 100,1861 },
1058  { 101,1861 }, { 102,1861 }, { 103,1861 }, { 104,1861 }, { 105,1861 },
1059  { 106,1861 }, { 107,1861 }, { 108,1861 }, { 109,1861 }, { 110,1861 },
1060  { 111,1861 }, { 112,1861 }, { 113,1861 }, { 114,1861 }, { 115,1861 },
1061  { 116,1861 }, { 117,1861 }, { 118,1861 }, { 119,1861 }, { 120,1861 },
1062  { 121,1861 }, { 122,1861 }, { 123,1861 }, { 124,1861 }, { 125,1861 },
1063  { 126,1861 }, { 127,1861 }, { 128,1861 }, { 129,1861 }, { 130,1861 },
1064  { 131,1861 }, { 132,1861 }, { 133,1861 }, { 134,1861 }, { 135,1861 },
1065  { 136,1861 }, { 137,1861 }, { 138,1861 }, { 139,1861 }, { 140,1861 },
1066 
1067  { 141,1861 }, { 142,1861 }, { 143,1861 }, { 144,1861 }, { 145,1861 },
1068  { 146,1861 }, { 147,1861 }, { 148,1861 }, { 149,1861 }, { 150,1861 },
1069  { 151,1861 }, { 152,1861 }, { 153,1861 }, { 154,1861 }, { 155,1861 },
1070  { 156,1861 }, { 157,1861 }, { 158,1861 }, { 159,1861 }, { 160,1861 },
1071  { 161,1861 }, { 162,1861 }, { 163,1861 }, { 164,1861 }, { 165,1861 },
1072  { 166,1861 }, { 167,1861 }, { 168,1861 }, { 169,1861 }, { 170,1861 },
1073  { 171,1861 }, { 172,1861 }, { 173,1861 }, { 174,1861 }, { 175,1861 },
1074  { 176,1861 }, { 177,1861 }, { 178,1861 }, { 179,1861 }, { 180,1861 },
1075  { 181,1861 }, { 182,1861 }, { 183,1861 }, { 184,1861 }, { 185,1861 },
1076  { 186,1861 }, { 187,1861 }, { 188,1861 }, { 189,1861 }, { 190,1861 },
1077 
1078  { 191,1861 }, { 192,1861 }, { 193,1861 }, { 194,1861 }, { 195,1861 },
1079  { 196,1861 }, { 197,1861 }, { 198,1861 }, { 199,1861 }, { 200,1861 },
1080  { 201,1861 }, { 202,1861 }, { 203,1861 }, { 204,1861 }, { 205,1861 },
1081  { 206,1861 }, { 207,1861 }, { 208,1861 }, { 209,1861 }, { 210,1861 },
1082  { 211,1861 }, { 212,1861 }, { 213,1861 }, { 214,1861 }, { 215,1861 },
1083  { 216,1861 }, { 217,1861 }, { 218,1861 }, { 219,1861 }, { 220,1861 },
1084  { 221,1861 }, { 222,1861 }, { 223,1861 }, { 224,1861 }, { 225,1861 },
1085  { 226,1861 }, { 227,1861 }, { 228,1861 }, { 229,1861 }, { 230,1861 },
1086  { 231,1861 }, { 232,1861 }, { 233,1861 }, { 234,1861 }, { 235,1861 },
1087  { 236,1861 }, { 237,1861 }, { 238,1861 }, { 239,1861 }, { 240,1861 },
1088 
1089  { 241,1861 }, { 242,1861 }, { 243,1861 }, { 244,1861 }, { 245,1861 },
1090  { 246,1861 }, { 247,1861 }, { 248,1861 }, { 249,1861 }, { 250,1861 },
1091  { 251,1861 }, { 252,1861 }, { 253,1861 }, { 254,1861 }, { 255,1861 },
1092  { 256,1861 }, {   0,   0 }, {   0,5813 }, {   1,2411 }, {   2,2411 },
1093  {   3,2411 }, {   4,2411 }, {   5,2411 }, {   6,2411 }, {   7,2411 },
1094  {   8,2411 }, {   9,2411 }, {  10,2411 }, {  11,2411 }, {  12,2411 },
1095  {  13,2411 }, {  14,2411 }, {  15,2411 }, {  16,2411 }, {  17,2411 },
1096  {  18,2411 }, {  19,2411 }, {  20,2411 }, {  21,2411 }, {  22,2411 },
1097  {  23,2411 }, {  24,2411 }, {  25,2411 }, {  26,2411 }, {  27,2411 },
1098  {  28,2411 }, {  29,2411 }, {  30,2411 }, {  31,2411 }, {  32,2411 },
1099 
1100  {  33,2411 }, {  34,2411 }, {  35,2411 }, {  36,2411 }, {  37,2411 },
1101  {  38,2411 }, {  39,2411 }, {  40,2411 }, {  41,2411 }, {  42,2132 },
1102  {  43,2411 }, {  44,2411 }, {  45,2411 }, {  46,2411 }, {  47,2411 },
1103  {  48,2411 }, {  49,2411 }, {  50,2411 }, {  51,2411 }, {  52,2411 },
1104  {  53,2411 }, {  54,2411 }, {  55,2411 }, {  56,2411 }, {  57,2411 },
1105  {  58,2411 }, {  59,2411 }, {  60,2411 }, {  61,2411 }, {  62,2411 },
1106  {  63,2411 }, {  64,2411 }, {  65,2411 }, {  66,2411 }, {  67,2411 },
1107  {  68,2411 }, {  69,2411 }, {  70,2411 }, {  71,2411 }, {  72,2411 },
1108  {  73,2411 }, {  74,2411 }, {  75,2411 }, {  76,2411 }, {  77,2411 },
1109  {  78,2411 }, {  79,2411 }, {  80,2411 }, {  81,2411 }, {  82,2411 },
1110 
1111  {  83,2411 }, {  84,2411 }, {  85,2411 }, {  86,2411 }, {  87,2411 },
1112  {  88,2411 }, {  89,2411 }, {  90,2411 }, {  91,2411 }, {  92,2411 },
1113  {  93,2411 }, {  94,2411 }, {  95,2411 }, {  96,2411 }, {  97,2411 },
1114  {  98,2411 }, {  99,2411 }, { 100,2411 }, { 101,2411 }, { 102,2411 },
1115  { 103,2411 }, { 104,2411 }, { 105,2411 }, { 106,2411 }, { 107,2411 },
1116  { 108,2411 }, { 109,2411 }, { 110,2411 }, { 111,2411 }, { 112,2411 },
1117  { 113,2411 }, { 114,2411 }, { 115,2411 }, { 116,2411 }, { 117,2411 },
1118  { 118,2411 }, { 119,2411 }, { 120,2411 }, { 121,2411 }, { 122,2411 },
1119  { 123,2411 }, { 124,2411 }, { 125,2411 }, { 126,2411 }, { 127,2411 },
1120  { 128,2411 }, { 129,2411 }, { 130,2411 }, { 131,2411 }, { 132,2411 },
1121 
1122  { 133,2411 }, { 134,2411 }, { 135,2411 }, { 136,2411 }, { 137,2411 },
1123  { 138,2411 }, { 139,2411 }, { 140,2411 }, { 141,2411 }, { 142,2411 },
1124  { 143,2411 }, { 144,2411 }, { 145,2411 }, { 146,2411 }, { 147,2411 },
1125  { 148,2411 }, { 149,2411 }, { 150,2411 }, { 151,2411 }, { 152,2411 },
1126  { 153,2411 }, { 154,2411 }, { 155,2411 }, { 156,2411 }, { 157,2411 },
1127  { 158,2411 }, { 159,2411 }, { 160,2411 }, { 161,2411 }, { 162,2411 },
1128  { 163,2411 }, { 164,2411 }, { 165,2411 }, { 166,2411 }, { 167,2411 },
1129  { 168,2411 }, { 169,2411 }, { 170,2411 }, { 171,2411 }, { 172,2411 },
1130  { 173,2411 }, { 174,2411 }, { 175,2411 }, { 176,2411 }, { 177,2411 },
1131  { 178,2411 }, { 179,2411 }, { 180,2411 }, { 181,2411 }, { 182,2411 },
1132 
1133  { 183,2411 }, { 184,2411 }, { 185,2411 }, { 186,2411 }, { 187,2411 },
1134  { 188,2411 }, { 189,2411 }, { 190,2411 }, { 191,2411 }, { 192,2411 },
1135  { 193,2411 }, { 194,2411 }, { 195,2411 }, { 196,2411 }, { 197,2411 },
1136  { 198,2411 }, { 199,2411 }, { 200,2411 }, { 201,2411 }, { 202,2411 },
1137  { 203,2411 }, { 204,2411 }, { 205,2411 }, { 206,2411 }, { 207,2411 },
1138  { 208,2411 }, { 209,2411 }, { 210,2411 }, { 211,2411 }, { 212,2411 },
1139  { 213,2411 }, { 214,2411 }, { 215,2411 }, { 216,2411 }, { 217,2411 },
1140  { 218,2411 }, { 219,2411 }, { 220,2411 }, { 221,2411 }, { 222,2411 },
1141  { 223,2411 }, { 224,2411 }, { 225,2411 }, { 226,2411 }, { 227,2411 },
1142  { 228,2411 }, { 229,2411 }, { 230,2411 }, { 231,2411 }, { 232,2411 },
1143 
1144  { 233,2411 }, { 234,2411 }, { 235,2411 }, { 236,2411 }, { 237,2411 },
1145  { 238,2411 }, { 239,2411 }, { 240,2411 }, { 241,2411 }, { 242,2411 },
1146  { 243,2411 }, { 244,2411 }, { 245,2411 }, { 246,2411 }, { 247,2411 },
1147  { 248,2411 }, { 249,2411 }, { 250,2411 }, { 251,2411 }, { 252,2411 },
1148  { 253,2411 }, { 254,2411 }, { 255,2411 }, { 256,2411 }, {   0,   0 },
1149  {   0,5555 }, {   1,2153 }, {   2,2153 }, {   3,2153 }, {   4,2153 },
1150  {   5,2153 }, {   6,2153 }, {   7,2153 }, {   8,2153 }, {   9,2153 },
1151  {  10,2153 }, {  11,2153 }, {  12,2153 }, {  13,2153 }, {  14,2153 },
1152  {  15,2153 }, {  16,2153 }, {  17,2153 }, {  18,2153 }, {  19,2153 },
1153  {  20,2153 }, {  21,2153 }, {  22,2153 }, {  23,2153 }, {  24,2153 },
1154 
1155  {  25,2153 }, {  26,2153 }, {  27,2153 }, {  28,2153 }, {  29,2153 },
1156  {  30,2153 }, {  31,2153 }, {  32,2153 }, {  33,2153 }, {  34,2153 },
1157  {  35,2153 }, {  36,2153 }, {  37,2153 }, {  38,2153 }, {  39,2153 },
1158  {  40,2153 }, {  41,2153 }, {  42,1874 }, {  43,2153 }, {  44,2153 },
1159  {  45,2153 }, {  46,2153 }, {  47,2153 }, {  48,2153 }, {  49,2153 },
1160  {  50,2153 }, {  51,2153 }, {  52,2153 }, {  53,2153 }, {  54,2153 },
1161  {  55,2153 }, {  56,2153 }, {  57,2153 }, {  58,2153 }, {  59,2153 },
1162  {  60,2153 }, {  61,2153 }, {  62,2153 }, {  63,2153 }, {  64,2153 },
1163  {  65,2153 }, {  66,2153 }, {  67,2153 }, {  68,2153 }, {  69,2153 },
1164  {  70,2153 }, {  71,2153 }, {  72,2153 }, {  73,2153 }, {  74,2153 },
1165 
1166  {  75,2153 }, {  76,2153 }, {  77,2153 }, {  78,2153 }, {  79,2153 },
1167  {  80,2153 }, {  81,2153 }, {  82,2153 }, {  83,2153 }, {  84,2153 },
1168  {  85,2153 }, {  86,2153 }, {  87,2153 }, {  88,2153 }, {  89,2153 },
1169  {  90,2153 }, {  91,2153 }, {  92,2153 }, {  93,2153 }, {  94,2153 },
1170  {  95,2153 }, {  96,2153 }, {  97,2153 }, {  98,2153 }, {  99,2153 },
1171  { 100,2153 }, { 101,2153 }, { 102,2153 }, { 103,2153 }, { 104,2153 },
1172  { 105,2153 }, { 106,2153 }, { 107,2153 }, { 108,2153 }, { 109,2153 },
1173  { 110,2153 }, { 111,2153 }, { 112,2153 }, { 113,2153 }, { 114,2153 },
1174  { 115,2153 }, { 116,2153 }, { 117,2153 }, { 118,2153 }, { 119,2153 },
1175  { 120,2153 }, { 121,2153 }, { 122,2153 }, { 123,2153 }, { 124,2153 },
1176 
1177  { 125,2153 }, { 126,2153 }, { 127,2153 }, { 128,2153 }, { 129,2153 },
1178  { 130,2153 }, { 131,2153 }, { 132,2153 }, { 133,2153 }, { 134,2153 },
1179  { 135,2153 }, { 136,2153 }, { 137,2153 }, { 138,2153 }, { 139,2153 },
1180  { 140,2153 }, { 141,2153 }, { 142,2153 }, { 143,2153 }, { 144,2153 },
1181  { 145,2153 }, { 146,2153 }, { 147,2153 }, { 148,2153 }, { 149,2153 },
1182  { 150,2153 }, { 151,2153 }, { 152,2153 }, { 153,2153 }, { 154,2153 },
1183  { 155,2153 }, { 156,2153 }, { 157,2153 }, { 158,2153 }, { 159,2153 },
1184  { 160,2153 }, { 161,2153 }, { 162,2153 }, { 163,2153 }, { 164,2153 },
1185  { 165,2153 }, { 166,2153 }, { 167,2153 }, { 168,2153 }, { 169,2153 },
1186  { 170,2153 }, { 171,2153 }, { 172,2153 }, { 173,2153 }, { 174,2153 },
1187 
1188  { 175,2153 }, { 176,2153 }, { 177,2153 }, { 178,2153 }, { 179,2153 },
1189  { 180,2153 }, { 181,2153 }, { 182,2153 }, { 183,2153 }, { 184,2153 },
1190  { 185,2153 }, { 186,2153 }, { 187,2153 }, { 188,2153 }, { 189,2153 },
1191  { 190,2153 }, { 191,2153 }, { 192,2153 }, { 193,2153 }, { 194,2153 },
1192  { 195,2153 }, { 196,2153 }, { 197,2153 }, { 198,2153 }, { 199,2153 },
1193  { 200,2153 }, { 201,2153 }, { 202,2153 }, { 203,2153 }, { 204,2153 },
1194  { 205,2153 }, { 206,2153 }, { 207,2153 }, { 208,2153 }, { 209,2153 },
1195  { 210,2153 }, { 211,2153 }, { 212,2153 }, { 213,2153 }, { 214,2153 },
1196  { 215,2153 }, { 216,2153 }, { 217,2153 }, { 218,2153 }, { 219,2153 },
1197  { 220,2153 }, { 221,2153 }, { 222,2153 }, { 223,2153 }, { 224,2153 },
1198 
1199  { 225,2153 }, { 226,2153 }, { 227,2153 }, { 228,2153 }, { 229,2153 },
1200  { 230,2153 }, { 231,2153 }, { 232,2153 }, { 233,2153 }, { 234,2153 },
1201  { 235,2153 }, { 236,2153 }, { 237,2153 }, { 238,2153 }, { 239,2153 },
1202  { 240,2153 }, { 241,2153 }, { 242,2153 }, { 243,2153 }, { 244,2153 },
1203  { 245,2153 }, { 246,2153 }, { 247,2153 }, { 248,2153 }, { 249,2153 },
1204  { 250,2153 }, { 251,2153 }, { 252,2153 }, { 253,2153 }, { 254,2153 },
1205  { 255,2153 }, { 256,2153 }, {   0,  47 }, {   0,5297 }, {   1,2153 },
1206  {   2,2153 }, {   3,2153 }, {   4,2153 }, {   5,2153 }, {   6,2153 },
1207  {   7,2153 }, {   8,2153 }, {   0,   0 }, {   0,   0 }, {  11,2153 },
1208  {   0,   0 }, {   0,   0 }, {  14,2153 }, {  15,2153 }, {  16,2153 },
1209 
1210  {  17,2153 }, {  18,2153 }, {  19,2153 }, {  20,2153 }, {  21,2153 },
1211  {  22,2153 }, {  23,2153 }, {  24,2153 }, {  25,2153 }, {  26,2153 },
1212  {  27,2153 }, {  28,2153 }, {  29,2153 }, {  30,2153 }, {  31,2153 },
1213  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1214  {   0,   0 }, {   0,   0 }, {  39,2153 }, {   0,   0 }, {   0,   0 },
1215  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1216  {   0,   0 }, {  48,2153 }, {  49,2153 }, {  50,2153 }, {  51,2153 },
1217  {  52,2153 }, {  53,2153 }, {  54,2153 }, {  55,2153 }, {  56,2153 },
1218  {  57,2153 }, {   0,   0 }, {  59,2153 }, {   0,   0 }, {   0,  26 },
1219  {   0,5235 }, {   0,  45 }, {   0,5233 }, {  65,2153 }, {  66,2153 },
1220 
1221  {  67,2153 }, {  68,2153 }, {  69,2153 }, {  70,2153 }, {  71,2153 },
1222  {  72,2153 }, {  73,2153 }, {  74,2153 }, {  75,2153 }, {  76,2153 },
1223  {  77,2153 }, {  78,2153 }, {  79,2153 }, {  80,2153 }, {  81,2153 },
1224  {  82,2153 }, {  83,2153 }, {  84,2153 }, {  85,2153 }, {  86,2153 },
1225  {  87,2153 }, {  88,2153 }, {  89,2153 }, {  90,2153 }, {   0,  37 },
1226  {   0,5205 }, {   0,   0 }, {  94,2153 }, {  95,2153 }, {  96,2153 },
1227  {  97,2153 }, {  98,2153 }, {  99,2153 }, { 100,2153 }, { 101,2153 },
1228  { 102,2153 }, { 103,2153 }, { 104,2153 }, { 105,2153 }, { 106,2153 },
1229  { 107,2153 }, { 108,2153 }, { 109,2153 }, { 110,2153 }, { 111,2153 },
1230  { 112,2153 }, { 113,2153 }, { 114,2153 }, { 115,2153 }, { 116,2153 },
1231 
1232  { 117,2153 }, { 118,2153 }, { 119,2153 }, { 120,2153 }, { 121,2153 },
1233  { 122,2153 }, {  61,1574 }, {   0,   0 }, {   0,   0 }, { 126,2153 },
1234  { 127,2153 }, { 128,2153 }, { 129,2153 }, { 130,2153 }, { 131,2153 },
1235  { 132,2153 }, { 133,2153 }, { 134,2153 }, { 135,2153 }, { 136,2153 },
1236  { 137,2153 }, { 138,2153 }, { 139,2153 }, { 140,2153 }, { 141,2153 },
1237  { 142,2153 }, { 143,2153 }, { 144,2153 }, { 145,2153 }, { 146,2153 },
1238  { 147,2153 }, { 148,2153 }, { 149,2153 }, { 150,2153 }, { 151,2153 },
1239  { 152,2153 }, { 153,2153 }, { 154,2153 }, { 155,2153 }, { 156,2153 },
1240  { 157,2153 }, { 158,2153 }, { 159,2153 }, { 160,2153 }, { 161,2153 },
1241  { 162,2153 }, { 163,2153 }, { 164,2153 }, { 165,2153 }, { 166,2153 },
1242 
1243  { 167,2153 }, { 168,2153 }, { 169,2153 }, { 170,2153 }, { 171,2153 },
1244  { 172,2153 }, { 173,2153 }, { 174,2153 }, { 175,2153 }, { 176,2153 },
1245  { 177,2153 }, { 178,2153 }, { 179,2153 }, { 180,2153 }, { 181,2153 },
1246  { 182,2153 }, { 183,2153 }, { 184,2153 }, { 185,2153 }, { 186,2153 },
1247  { 187,2153 }, { 188,2153 }, { 189,2153 }, { 190,2153 }, { 191,2153 },
1248  { 192,2153 }, { 193,2153 }, { 194,2153 }, { 195,2153 }, { 196,2153 },
1249  { 197,2153 }, { 198,2153 }, { 199,2153 }, { 200,2153 }, { 201,2153 },
1250  { 202,2153 }, { 203,2153 }, { 204,2153 }, { 205,2153 }, { 206,2153 },
1251  { 207,2153 }, { 208,2153 }, { 209,2153 }, { 210,2153 }, { 211,2153 },
1252  { 212,2153 }, { 213,2153 }, { 214,2153 }, { 215,2153 }, { 216,2153 },
1253 
1254  { 217,2153 }, { 218,2153 }, { 219,2153 }, { 220,2153 }, { 221,2153 },
1255  { 222,2153 }, { 223,2153 }, { 224,2153 }, { 225,2153 }, { 226,2153 },
1256  { 227,2153 }, { 228,2153 }, { 229,2153 }, { 230,2153 }, { 231,2153 },
1257  { 232,2153 }, { 233,2153 }, { 234,2153 }, { 235,2153 }, { 236,2153 },
1258  { 237,2153 }, { 238,2153 }, { 239,2153 }, { 240,2153 }, { 241,2153 },
1259  { 242,2153 }, { 243,2153 }, { 244,2153 }, { 245,2153 }, { 246,2153 },
1260  { 247,2153 }, { 248,2153 }, { 249,2153 }, { 250,2153 }, { 251,2153 },
1261  { 252,2153 }, { 253,2153 }, { 254,2153 }, { 255,2153 }, { 256,2153 },
1262  {   0,  38 }, {   0,5039 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1263  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1264 
1265  {   9,2153 }, {  10,2153 }, {   0,   0 }, {  12,2153 }, {  13,2153 },
1266  {   0,   0 }, {   0,  37 }, {   0,5023 }, {   0,   0 }, {   0,  37 },
1267  {   0,5020 }, {   1,2153 }, {   2,2153 }, {   3,2153 }, {   4,2153 },
1268  {   5,2153 }, {   6,2153 }, {   7,2153 }, {   8,2153 }, {   0,   0 },
1269  {   0,   0 }, {  11,2153 }, {   0,   0 }, {  32,2153 }, {  14,2153 },
1270  {  15,2153 }, {  16,2153 }, {  17,2153 }, {  18,2153 }, {  19,2153 },
1271  {  20,2153 }, {  21,2153 }, {  22,2153 }, {  23,2153 }, {  24,2153 },
1272  {  25,2153 }, {  26,2153 }, {  27,2153 }, {  28,2153 }, {  29,2153 },
1273  {  30,2153 }, {  31,2153 }, {   0,   0 }, {   0,   0 }, {  34,1361 },
1274  {  38,1366 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  39,2153 },
1275 
1276  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1277  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,2153 }, {  49,2153 },
1278  {  50,2153 }, {  51,2153 }, {  52,2153 }, {  53,2153 }, {  54,2153 },
1279  {  55,2153 }, {  56,2153 }, {  57,2153 }, {   0,   0 }, {  59,2153 },
1280  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1281  {  65,2153 }, {  66,2153 }, {  67,2153 }, {  68,2153 }, {  69,2153 },
1282  {  70,2153 }, {  71,2153 }, {  72,2153 }, {  73,2153 }, {  74,2153 },
1283  {  75,2153 }, {  76,2153 }, {  77,2153 }, {  78,2153 }, {  79,2153 },
1284  {  80,2153 }, {  81,2153 }, {  82,2153 }, {  83,2153 }, {  84,2153 },
1285  {  85,2153 }, {  86,2153 }, {  87,2153 }, {  88,2153 }, {  89,2153 },
1286 
1287  {  90,2153 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  94,2153 },
1288  {  95,2153 }, {  96,2153 }, {  97,2153 }, {  98,2153 }, {  99,2153 },
1289  { 100,2153 }, { 101,2153 }, { 102,2153 }, { 103,2153 }, { 104,2153 },
1290  { 105,2153 }, { 106,2153 }, { 107,2153 }, { 108,2153 }, { 109,2153 },
1291  { 110,2153 }, { 111,2153 }, { 112,2153 }, { 113,2153 }, { 114,2153 },
1292  { 115,2153 }, { 116,2153 }, { 117,2153 }, { 118,2153 }, { 119,2153 },
1293  { 120,2153 }, { 121,2153 }, { 122,2153 }, {   0,   0 }, {   0,   0 },
1294  {   0,   0 }, { 126,2153 }, { 127,2153 }, { 128,2153 }, { 129,2153 },
1295  { 130,2153 }, { 131,2153 }, { 132,2153 }, { 133,2153 }, { 134,2153 },
1296  { 135,2153 }, { 136,2153 }, { 137,2153 }, { 138,2153 }, { 139,2153 },
1297 
1298  { 140,2153 }, { 141,2153 }, { 142,2153 }, { 143,2153 }, { 144,2153 },
1299  { 145,2153 }, { 146,2153 }, { 147,2153 }, { 148,2153 }, { 149,2153 },
1300  { 150,2153 }, { 151,2153 }, { 152,2153 }, { 153,2153 }, { 154,2153 },
1301  { 155,2153 }, { 156,2153 }, { 157,2153 }, { 158,2153 }, { 159,2153 },
1302  { 160,2153 }, { 161,2153 }, { 162,2153 }, { 163,2153 }, { 164,2153 },
1303  { 165,2153 }, { 166,2153 }, { 167,2153 }, { 168,2153 }, { 169,2153 },
1304  { 170,2153 }, { 171,2153 }, { 172,2153 }, { 173,2153 }, { 174,2153 },
1305  { 175,2153 }, { 176,2153 }, { 177,2153 }, { 178,2153 }, { 179,2153 },
1306  { 180,2153 }, { 181,2153 }, { 182,2153 }, { 183,2153 }, { 184,2153 },
1307  { 185,2153 }, { 186,2153 }, { 187,2153 }, { 188,2153 }, { 189,2153 },
1308 
1309  { 190,2153 }, { 191,2153 }, { 192,2153 }, { 193,2153 }, { 194,2153 },
1310  { 195,2153 }, { 196,2153 }, { 197,2153 }, { 198,2153 }, { 199,2153 },
1311  { 200,2153 }, { 201,2153 }, { 202,2153 }, { 203,2153 }, { 204,2153 },
1312  { 205,2153 }, { 206,2153 }, { 207,2153 }, { 208,2153 }, { 209,2153 },
1313  { 210,2153 }, { 211,2153 }, { 212,2153 }, { 213,2153 }, { 214,2153 },
1314  { 215,2153 }, { 216,2153 }, { 217,2153 }, { 218,2153 }, { 219,2153 },
1315  { 220,2153 }, { 221,2153 }, { 222,2153 }, { 223,2153 }, { 224,2153 },
1316  { 225,2153 }, { 226,2153 }, { 227,2153 }, { 228,2153 }, { 229,2153 },
1317  { 230,2153 }, { 231,2153 }, { 232,2153 }, { 233,2153 }, { 234,2153 },
1318  { 235,2153 }, { 236,2153 }, { 237,2153 }, { 238,2153 }, { 239,2153 },
1319 
1320  { 240,2153 }, { 241,2153 }, { 242,2153 }, { 243,2153 }, { 244,2153 },
1321  { 245,2153 }, { 246,2153 }, { 247,2153 }, { 248,2153 }, { 249,2153 },
1322  { 250,2153 }, { 251,2153 }, { 252,2153 }, { 253,2153 }, { 254,2153 },
1323  { 255,2153 }, { 256,2153 }, {   0,  37 }, {   0,4762 }, {   0,  37 },
1324  {   0,4760 }, {   0,  42 }, {   0,4758 }, {   1,1614 }, {   2,1614 },
1325  {   3,1614 }, {   4,1614 }, {   5,1614 }, {   6,1614 }, {   7,1614 },
1326  {   8,1614 }, {   0,   0 }, {   0,   0 }, {  11,1614 }, {   0,   0 },
1327  {   0,   0 }, {  14,1614 }, {  15,1614 }, {  16,1614 }, {  17,1614 },
1328  {  18,1614 }, {  19,1614 }, {  20,1614 }, {  21,1614 }, {  22,1614 },
1329  {  23,1614 }, {  24,1614 }, {  25,1614 }, {  26,1614 }, {  27,1614 },
1330 
1331  {  28,1614 }, {  29,1614 }, {  30,1614 }, {  31,1614 }, {   0,   0 },
1332  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1333  {  42,1109 }, {  39,1614 }, {  42,1109 }, {   0,   0 }, {   0,   0 },
1334  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  46,2149 }, {   0,   0 },
1335  {  48,1614 }, {  49,1614 }, {  50,1614 }, {  51,1614 }, {  52,1614 },
1336  {  53,1614 }, {  54,1614 }, {  55,1614 }, {  56,1614 }, {  57,1614 },
1337  {   0,   0 }, {  59,1614 }, {   0,   0 }, {   0,  28 }, {   0,4696 },
1338  {   0,  37 }, {   0,4694 }, {  65,1614 }, {  66,1614 }, {  67,1614 },
1339  {  68,1614 }, {  69,2208 }, {  70,1614 }, {  71,1614 }, {  72,1614 },
1340  {  73,1614 }, {  74,1614 }, {  75,1614 }, {  76,1614 }, {  77,1614 },
1341 
1342  {  78,1614 }, {  79,1614 }, {  80,1614 }, {  81,1614 }, {  82,1614 },
1343  {  83,1614 }, {  84,1614 }, {  85,1614 }, {  86,1614 }, {  87,1614 },
1344  {  88,1614 }, {  89,1614 }, {  90,1614 }, {   0,   0 }, {   0,   0 },
1345  {   0,   0 }, {  94,1614 }, {  95,1614 }, {  96,1614 }, {  97,1614 },
1346  {  98,1614 }, {  99,1614 }, { 100,1614 }, { 101,2208 }, { 102,1614 },
1347  { 103,1614 }, { 104,1614 }, { 105,1614 }, { 106,1614 }, { 107,1614 },
1348  { 108,1614 }, { 109,1614 }, { 110,1614 }, { 111,1614 }, { 112,1614 },
1349  { 113,1614 }, { 114,1614 }, { 115,1614 }, { 116,1614 }, { 117,1614 },
1350  { 118,1614 }, { 119,1614 }, { 120,1614 }, { 121,1614 }, { 122,1614 },
1351  {  61,1047 }, {  62,1049 }, {  61,1062 }, { 126,1614 }, { 127,1614 },
1352 
1353  { 128,1614 }, { 129,1614 }, { 130,1614 }, { 131,1614 }, { 132,1614 },
1354  { 133,1614 }, { 134,1614 }, { 135,1614 }, { 136,1614 }, { 137,1614 },
1355  { 138,1614 }, { 139,1614 }, { 140,1614 }, { 141,1614 }, { 142,1614 },
1356  { 143,1614 }, { 144,1614 }, { 145,1614 }, { 146,1614 }, { 147,1614 },
1357  { 148,1614 }, { 149,1614 }, { 150,1614 }, { 151,1614 }, { 152,1614 },
1358  { 153,1614 }, { 154,1614 }, { 155,1614 }, { 156,1614 }, { 157,1614 },
1359  { 158,1614 }, { 159,1614 }, { 160,1614 }, { 161,1614 }, { 162,1614 },
1360  { 163,1614 }, { 164,1614 }, { 165,1614 }, { 166,1614 }, { 167,1614 },
1361  { 168,1614 }, { 169,1614 }, { 170,1614 }, { 171,1614 }, { 172,1614 },
1362  { 173,1614 }, { 174,1614 }, { 175,1614 }, { 176,1614 }, { 177,1614 },
1363 
1364  { 178,1614 }, { 179,1614 }, { 180,1614 }, { 181,1614 }, { 182,1614 },
1365  { 183,1614 }, { 184,1614 }, { 185,1614 }, { 186,1614 }, { 187,1614 },
1366  { 188,1614 }, { 189,1614 }, { 190,1614 }, { 191,1614 }, { 192,1614 },
1367  { 193,1614 }, { 194,1614 }, { 195,1614 }, { 196,1614 }, { 197,1614 },
1368  { 198,1614 }, { 199,1614 }, { 200,1614 }, { 201,1614 }, { 202,1614 },
1369  { 203,1614 }, { 204,1614 }, { 205,1614 }, { 206,1614 }, { 207,1614 },
1370  { 208,1614 }, { 209,1614 }, { 210,1614 }, { 211,1614 }, { 212,1614 },
1371  { 213,1614 }, { 214,1614 }, { 215,1614 }, { 216,1614 }, { 217,1614 },
1372  { 218,1614 }, { 219,1614 }, { 220,1614 }, { 221,1614 }, { 222,1614 },
1373  { 223,1614 }, { 224,1614 }, { 225,1614 }, { 226,1614 }, { 227,1614 },
1374 
1375  { 228,1614 }, { 229,1614 }, { 230,1614 }, { 231,1614 }, { 232,1614 },
1376  { 233,1614 }, { 234,1614 }, { 235,1614 }, { 236,1614 }, { 237,1614 },
1377  { 238,1614 }, { 239,1614 }, { 240,1614 }, { 241,1614 }, { 242,1614 },
1378  { 243,1614 }, { 244,1614 }, { 245,1614 }, { 246,1614 }, { 247,1614 },
1379  { 248,1614 }, { 249,1614 }, { 250,1614 }, { 251,1614 }, { 252,1614 },
1380  { 253,1614 }, { 254,1614 }, { 255,1614 }, { 256,1614 }, {   0,  42 },
1381  {   0,4500 }, {   1,1356 }, {   2,1356 }, {   3,1356 }, {   4,1356 },
1382  {   5,1356 }, {   6,1356 }, {   7,1356 }, {   8,1356 }, {   0,   0 },
1383  {   0,   0 }, {  11,1356 }, {   0,   0 }, {   0,   0 }, {  14,1356 },
1384  {  15,1356 }, {  16,1356 }, {  17,1356 }, {  18,1356 }, {  19,1356 },
1385 
1386  {  20,1356 }, {  21,1356 }, {  22,1356 }, {  23,1356 }, {  24,1356 },
1387  {  25,1356 }, {  26,1356 }, {  27,1356 }, {  28,1356 }, {  29,1356 },
1388  {  30,1356 }, {  31,1356 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1389  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  39,1356 },
1390  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1391  {   0,   0 }, {  46,1891 }, {   0,   0 }, {  48,2208 }, {  49,2208 },
1392  {  50,2208 }, {  51,2208 }, {  52,2208 }, {  53,2208 }, {  54,2208 },
1393  {  55,2208 }, {  56,2208 }, {  57,2208 }, {   0,   0 }, {  59,1356 },
1394  {   0,   0 }, {   0,  34 }, {   0,4438 }, {   0,  46 }, {   0,4436 },
1395  {  65,1356 }, {  66,1356 }, {  67,1356 }, {  68,1356 }, {  69,1950 },
1396 
1397  {  70,1356 }, {  71,1356 }, {  72,1356 }, {  73,1356 }, {  74,1356 },
1398  {  75,1356 }, {  76,1356 }, {  77,1356 }, {  78,1356 }, {  79,1356 },
1399  {  80,1356 }, {  81,1356 }, {  82,1356 }, {  83,1356 }, {  84,1356 },
1400  {  85,1356 }, {  86,1356 }, {  87,1356 }, {  88,1356 }, {  89,1356 },
1401  {  90,1356 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  94,1356 },
1402  {  95,1356 }, {  96,1356 }, {  97,1356 }, {  98,1356 }, {  99,1356 },
1403  { 100,1356 }, { 101,1950 }, { 102,1356 }, { 103,1356 }, { 104,1356 },
1404  { 105,1356 }, { 106,1356 }, { 107,1356 }, { 108,1356 }, { 109,1356 },
1405  { 110,1356 }, { 111,1356 }, { 112,1356 }, { 113,1356 }, { 114,1356 },
1406  { 115,1356 }, { 116,1356 }, { 117,1356 }, { 118,1356 }, { 119,1356 },
1407 
1408  { 120,1356 }, { 121,1356 }, { 122,1356 }, {  61, 808 }, {   0,   0 },
1409  {   0,   0 }, { 126,1356 }, { 127,1356 }, { 128,1356 }, { 129,1356 },
1410  { 130,1356 }, { 131,1356 }, { 132,1356 }, { 133,1356 }, { 134,1356 },
1411  { 135,1356 }, { 136,1356 }, { 137,1356 }, { 138,1356 }, { 139,1356 },
1412  { 140,1356 }, { 141,1356 }, { 142,1356 }, { 143,1356 }, { 144,1356 },
1413  { 145,1356 }, { 146,1356 }, { 147,1356 }, { 148,1356 }, { 149,1356 },
1414  { 150,1356 }, { 151,1356 }, { 152,1356 }, { 153,1356 }, { 154,1356 },
1415  { 155,1356 }, { 156,1356 }, { 157,1356 }, { 158,1356 }, { 159,1356 },
1416  { 160,1356 }, { 161,1356 }, { 162,1356 }, { 163,1356 }, { 164,1356 },
1417  { 165,1356 }, { 166,1356 }, { 167,1356 }, { 168,1356 }, { 169,1356 },
1418 
1419  { 170,1356 }, { 171,1356 }, { 172,1356 }, { 173,1356 }, { 174,1356 },
1420  { 175,1356 }, { 176,1356 }, { 177,1356 }, { 178,1356 }, { 179,1356 },
1421  { 180,1356 }, { 181,1356 }, { 182,1356 }, { 183,1356 }, { 184,1356 },
1422  { 185,1356 }, { 186,1356 }, { 187,1356 }, { 188,1356 }, { 189,1356 },
1423  { 190,1356 }, { 191,1356 }, { 192,1356 }, { 193,1356 }, { 194,1356 },
1424  { 195,1356 }, { 196,1356 }, { 197,1356 }, { 198,1356 }, { 199,1356 },
1425  { 200,1356 }, { 201,1356 }, { 202,1356 }, { 203,1356 }, { 204,1356 },
1426  { 205,1356 }, { 206,1356 }, { 207,1356 }, { 208,1356 }, { 209,1356 },
1427  { 210,1356 }, { 211,1356 }, { 212,1356 }, { 213,1356 }, { 214,1356 },
1428  { 215,1356 }, { 216,1356 }, { 217,1356 }, { 218,1356 }, { 219,1356 },
1429 
1430  { 220,1356 }, { 221,1356 }, { 222,1356 }, { 223,1356 }, { 224,1356 },
1431  { 225,1356 }, { 226,1356 }, { 227,1356 }, { 228,1356 }, { 229,1356 },
1432  { 230,1356 }, { 231,1356 }, { 232,1356 }, { 233,1356 }, { 234,1356 },
1433  { 235,1356 }, { 236,1356 }, { 237,1356 }, { 238,1356 }, { 239,1356 },
1434  { 240,1356 }, { 241,1356 }, { 242,1356 }, { 243,1356 }, { 244,1356 },
1435  { 245,1356 }, { 246,1356 }, { 247,1356 }, { 248,1356 }, { 249,1356 },
1436  { 250,1356 }, { 251,1356 }, { 252,1356 }, { 253,1356 }, { 254,1356 },
1437  { 255,1356 }, { 256,1356 }, {   0,  37 }, {   0,4242 }, {   0,  18 },
1438  {   0,4240 }, {   0,   4 }, {   0,4238 }, {   0,   0 }, {   0,   0 },
1439  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1440 
1441  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1442  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1443  {   0,   0 }, {   0,   4 }, {   0,4218 }, {   0,  19 }, {   0,4216 },
1444  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  20 },
1445  {   0,4210 }, {   1,2176 }, {   2,2176 }, {   3,2176 }, {   4,2176 },
1446  {   5,2176 }, {   6,2176 }, {   7,2176 }, {   8,2176 }, {   9,2176 },
1447  {  10,2176 }, {  11,2176 }, {  12,2176 }, {  13,2176 }, {  14,2176 },
1448  {  15,2176 }, {  16,2176 }, {  17,2176 }, {  18,2176 }, {  19,2176 },
1449  {  20,2176 }, {  21,2176 }, {  22,2176 }, {  23,2176 }, {  24,2176 },
1450  {  25,2176 }, {  26,2176 }, {  27,2176 }, {  28,2176 }, {  29,2176 },
1451 
1452  {  30,2176 }, {  31,2176 }, {  32,2176 }, {  33,2176 }, {  42, 801 },
1453  {  35,2176 }, {  36,2176 }, {  37,2176 }, {  38,2176 }, {  39,2176 },
1454  {  40,2176 }, {  41,2176 }, {  42,2176 }, {  43,2176 }, {  44,2176 },
1455  {  45,2176 }, {  46,2176 }, {  47,2176 }, {  48,2176 }, {  49,2176 },
1456  {  50,2176 }, {  51,2176 }, {  52,2176 }, {  53,2176 }, {  54,2176 },
1457  {  55,2176 }, {  56,2176 }, {  57,2176 }, {  58,2176 }, {  59,2176 },
1458  {  60,2176 }, {  61,2176 }, {  62,2176 }, {  63,2176 }, {  64,2176 },
1459  {  65,2176 }, {  66,2176 }, {  67,2176 }, {  68,2176 }, {  69,2176 },
1460  {  70,2176 }, {  71,2176 }, {  72,2176 }, {  73,2176 }, {  74,2176 },
1461  {  75,2176 }, {  76,2176 }, {  77,2176 }, {  78,2176 }, {  79,2176 },
1462 
1463  {  80,2176 }, {  81,2176 }, {  82,2176 }, {  83,2176 }, {  84,2176 },
1464  {  85,2176 }, {  86,2176 }, {  87,2176 }, {  88,2176 }, {  89,2176 },
1465  {  90,2176 }, {  91,2176 }, { 124, 640 }, {  93,2176 }, {  94,2176 },
1466  {  95,2176 }, {  96,2176 }, {  97,2176 }, {  98,2176 }, {  99,2176 },
1467  { 100,2176 }, { 101,2176 }, { 102,2176 }, { 103,2176 }, { 104,2176 },
1468  { 105,2176 }, { 106,2176 }, { 107,2176 }, { 108,2176 }, { 109,2176 },
1469  { 110,2176 }, { 111,2176 }, { 112,2176 }, { 113,2176 }, { 114,2176 },
1470  { 115,2176 }, { 116,2176 }, { 117,2176 }, { 118,2176 }, { 119,2176 },
1471  { 120,2176 }, { 121,2176 }, { 122,2176 }, { 123,2176 }, { 124,2176 },
1472  { 125,2176 }, { 126,2176 }, { 127,2176 }, { 128,2176 }, { 129,2176 },
1473 
1474  { 130,2176 }, { 131,2176 }, { 132,2176 }, { 133,2176 }, { 134,2176 },
1475  { 135,2176 }, { 136,2176 }, { 137,2176 }, { 138,2176 }, { 139,2176 },
1476  { 140,2176 }, { 141,2176 }, { 142,2176 }, { 143,2176 }, { 144,2176 },
1477  { 145,2176 }, { 146,2176 }, { 147,2176 }, { 148,2176 }, { 149,2176 },
1478  { 150,2176 }, { 151,2176 }, { 152,2176 }, { 153,2176 }, { 154,2176 },
1479  { 155,2176 }, { 156,2176 }, { 157,2176 }, { 158,2176 }, { 159,2176 },
1480  { 160,2176 }, { 161,2176 }, { 162,2176 }, { 163,2176 }, { 164,2176 },
1481  { 165,2176 }, { 166,2176 }, { 167,2176 }, { 168,2176 }, { 169,2176 },
1482  { 170,2176 }, { 171,2176 }, { 172,2176 }, { 173,2176 }, { 174,2176 },
1483  { 175,2176 }, { 176,2176 }, { 177,2176 }, { 178,2176 }, { 179,2176 },
1484 
1485  { 180,2176 }, { 181,2176 }, { 182,2176 }, { 183,2176 }, { 184,2176 },
1486  { 185,2176 }, { 186,2176 }, { 187,2176 }, { 188,2176 }, { 189,2176 },
1487  { 190,2176 }, { 191,2176 }, { 192,2176 }, { 193,2176 }, { 194,2176 },
1488  { 195,2176 }, { 196,2176 }, { 197,2176 }, { 198,2176 }, { 199,2176 },
1489  { 200,2176 }, { 201,2176 }, { 202,2176 }, { 203,2176 }, { 204,2176 },
1490  { 205,2176 }, { 206,2176 }, { 207,2176 }, { 208,2176 }, { 209,2176 },
1491  { 210,2176 }, { 211,2176 }, { 212,2176 }, { 213,2176 }, { 214,2176 },
1492  { 215,2176 }, { 216,2176 }, { 217,2176 }, { 218,2176 }, { 219,2176 },
1493  { 220,2176 }, { 221,2176 }, { 222,2176 }, { 223,2176 }, { 224,2176 },
1494  { 225,2176 }, { 226,2176 }, { 227,2176 }, { 228,2176 }, { 229,2176 },
1495 
1496  { 230,2176 }, { 231,2176 }, { 232,2176 }, { 233,2176 }, { 234,2176 },
1497  { 235,2176 }, { 236,2176 }, { 237,2176 }, { 238,2176 }, { 239,2176 },
1498  { 240,2176 }, { 241,2176 }, { 242,2176 }, { 243,2176 }, { 244,2176 },
1499  { 245,2176 }, { 246,2176 }, { 247,2176 }, { 248,2176 }, { 249,2176 },
1500  { 250,2176 }, { 251,2176 }, { 252,2176 }, { 253,2176 }, { 254,2176 },
1501  { 255,2176 }, { 256,2176 }, {   0,  17 }, {   0,3952 }, {   1, 382 },
1502  {   2, 382 }, {   3, 382 }, {   4, 382 }, {   5, 382 }, {   6, 382 },
1503  {   7, 382 }, {   8, 382 }, {   9, 382 }, {   0,   0 }, {  11, 382 },
1504  {  12, 382 }, {  13, 382 }, {  14, 382 }, {  15, 382 }, {  16, 382 },
1505  {  17, 382 }, {  18, 382 }, {  19, 382 }, {  20, 382 }, {  21, 382 },
1506 
1507  {  22, 382 }, {  23, 382 }, {  24, 382 }, {  25, 382 }, {  26, 382 },
1508  {  27, 382 }, {  28, 382 }, {  29, 382 }, {  30, 382 }, {  31, 382 },
1509  {  32, 382 }, {  33, 382 }, {  34, 382 }, {  35, 382 }, {  36, 382 },
1510  {  37, 382 }, {  38, 382 }, {  39, 382 }, {  40, 382 }, {  41, 382 },
1511  {  42, 382 }, {  43, 382 }, {  44, 382 }, {  45, 382 }, {  46, 382 },
1512  {  47, 382 }, {  48, 382 }, {  49, 382 }, {  50, 382 }, {  51, 382 },
1513  {  52, 382 }, {  53, 382 }, {  54, 382 }, {  55, 382 }, {  56, 382 },
1514  {  57, 382 }, {  58, 382 }, {  59, 382 }, {  60, 382 }, {  61, 382 },
1515  {  62, 382 }, {  63, 382 }, {  64, 382 }, {  65, 382 }, {  66, 382 },
1516  {  67, 382 }, {  68, 382 }, {  69, 382 }, {  70, 382 }, {  71, 382 },
1517 
1518  {  72, 382 }, {  73, 382 }, {  74, 382 }, {  75, 382 }, {  76, 382 },
1519  {  77, 382 }, {  78, 382 }, {  79, 382 }, {  80, 382 }, {  81, 382 },
1520  {  82, 382 }, {  83, 382 }, {  84, 382 }, {  85, 382 }, {  86, 382 },
1521  {  87, 382 }, {  88, 382 }, {  89, 382 }, {  90, 382 }, {  91, 382 },
1522  {  92, 382 }, {  93, 382 }, {  94, 382 }, {  95, 382 }, {  96, 382 },
1523  {  97, 382 }, {  98, 518 }, {  99, 382 }, { 100, 382 }, { 101, 382 },
1524  { 102, 520 }, { 103, 382 }, { 104, 382 }, { 105, 382 }, { 106, 382 },
1525  { 107, 382 }, { 108, 382 }, { 109, 382 }, { 110, 522 }, { 111, 382 },
1526  { 112, 382 }, { 113, 382 }, { 114, 524 }, { 115, 382 }, { 116, 531 },
1527  { 117,2176 }, { 118, 533 }, { 119, 382 }, { 120,2214 }, { 121, 382 },
1528 
1529  { 122, 382 }, { 123, 382 }, { 124, 382 }, { 125, 382 }, { 126, 382 },
1530  { 127, 382 }, { 128, 382 }, { 129, 382 }, { 130, 382 }, { 131, 382 },
1531  { 132, 382 }, { 133, 382 }, { 134, 382 }, { 135, 382 }, { 136, 382 },
1532  { 137, 382 }, { 138, 382 }, { 139, 382 }, { 140, 382 }, { 141, 382 },
1533  { 142, 382 }, { 143, 382 }, { 144, 382 }, { 145, 382 }, { 146, 382 },
1534  { 147, 382 }, { 148, 382 }, { 149, 382 }, { 150, 382 }, { 151, 382 },
1535  { 152, 382 }, { 153, 382 }, { 154, 382 }, { 155, 382 }, { 156, 382 },
1536  { 157, 382 }, { 158, 382 }, { 159, 382 }, { 160, 382 }, { 161, 382 },
1537  { 162, 382 }, { 163, 382 }, { 164, 382 }, { 165, 382 }, { 166, 382 },
1538  { 167, 382 }, { 168, 382 }, { 169, 382 }, { 170, 382 }, { 171, 382 },
1539 
1540  { 172, 382 }, { 173, 382 }, { 174, 382 }, { 175, 382 }, { 176, 382 },
1541  { 177, 382 }, { 178, 382 }, { 179, 382 }, { 180, 382 }, { 181, 382 },
1542  { 182, 382 }, { 183, 382 }, { 184, 382 }, { 185, 382 }, { 186, 382 },
1543  { 187, 382 }, { 188, 382 }, { 189, 382 }, { 190, 382 }, { 191, 382 },
1544  { 192, 382 }, { 193, 382 }, { 194, 382 }, { 195, 382 }, { 196, 382 },
1545  { 197, 382 }, { 198, 382 }, { 199, 382 }, { 200, 382 }, { 201, 382 },
1546  { 202, 382 }, { 203, 382 }, { 204, 382 }, { 205, 382 }, { 206, 382 },
1547  { 207, 382 }, { 208, 382 }, { 209, 382 }, { 210, 382 }, { 211, 382 },
1548  { 212, 382 }, { 213, 382 }, { 214, 382 }, { 215, 382 }, { 216, 382 },
1549  { 217, 382 }, { 218, 382 }, { 219, 382 }, { 220, 382 }, { 221, 382 },
1550 
1551  { 222, 382 }, { 223, 382 }, { 224, 382 }, { 225, 382 }, { 226, 382 },
1552  { 227, 382 }, { 228, 382 }, { 229, 382 }, { 230, 382 }, { 231, 382 },
1553  { 232, 382 }, { 233, 382 }, { 234, 382 }, { 235, 382 }, { 236, 382 },
1554  { 237, 382 }, { 238, 382 }, { 239, 382 }, { 240, 382 }, { 241, 382 },
1555  { 242, 382 }, { 243, 382 }, { 244, 382 }, { 245, 382 }, { 246, 382 },
1556  { 247, 382 }, { 248, 382 }, { 249, 382 }, { 250, 382 }, { 251, 382 },
1557  { 252, 382 }, { 253, 382 }, { 254, 382 }, { 255, 382 }, { 256, 382 },
1558  {   0,   1 }, {   0,3694 }, {   1,2060 }, {   2,2060 }, {   3,2060 },
1559  {   4,2060 }, {   5,2060 }, {   6,2060 }, {   7,2060 }, {   8,2060 },
1560  {   0,   0 }, {   0,   0 }, {  11,2060 }, {   0,  23 }, {   0,3681 },
1561 
1562  {  14,2060 }, {  15,2060 }, {  16,2060 }, {  17,2060 }, {  18,2060 },
1563  {  19,2060 }, {  20,2060 }, {  21,2060 }, {  22,2060 }, {  23,2060 },
1564  {  24,2060 }, {  25,2060 }, {  26,2060 }, {  27,2060 }, {  28,2060 },
1565  {  29,2060 }, {  30,2060 }, {  31,2060 }, {   0,  32 }, {   0,3661 },
1566  {   0,  36 }, {   0,3659 }, {   0,  24 }, {   0,3657 }, {   0,   0 },
1567  {  39,2060 }, {   0,  27 }, {   0,3653 }, {   0,  39 }, {   0,3651 },
1568  {   0,  29 }, {   0,3649 }, {   0,  31 }, {   0,3647 }, {  48,2060 },
1569  {  49,2060 }, {  50,2060 }, {  51,2060 }, {  52,2060 }, {  53,2060 },
1570  {  54,2060 }, {  55,2060 }, {  56,2060 }, {  57,2060 }, {   0,   0 },
1571  {  59,2060 }, {  47, 266 }, {   0,  30 }, {   0,3632 }, {   0,  33 },
1572 
1573  {   0,3630 }, {  65,2060 }, {  66,2060 }, {  67,2060 }, {  68,2060 },
1574  {  69,2060 }, {  70,2060 }, {  71,2060 }, {  72,2060 }, {  73,2060 },
1575  {  74,2060 }, {  75,2060 }, {  76,2060 }, {  77,2060 }, {  78,2060 },
1576  {  79,2060 }, {  80,2060 }, {  81,2060 }, {  82,2060 }, {  83,2060 },
1577  {  84,2060 }, {  85,2060 }, {  86,2060 }, {  87,2060 }, {  88,2060 },
1578  {  89,2060 }, {  90,2060 }, {   0,  25 }, {   0,3602 }, {   0,   0 },
1579  {  94,2060 }, {  95,2060 }, {  96,2060 }, {  97,2060 }, {  98,2060 },
1580  {  99,2060 }, { 100,2060 }, { 101,2060 }, { 102,2060 }, { 103,2060 },
1581  { 104,2060 }, { 105,2060 }, { 106,2060 }, { 107,2060 }, { 108,2060 },
1582  { 109,2060 }, { 110,2060 }, { 111,2060 }, { 112,2060 }, { 113,2060 },
1583 
1584  { 114,2060 }, { 115,2060 }, { 116,2060 }, { 117,2060 }, { 118,2060 },
1585  { 119,2060 }, { 120,2060 }, { 121,2060 }, { 122,2060 }, {   0,  16 },
1586  {   0,3570 }, {   0,   0 }, { 126,2060 }, { 127,2060 }, { 128,2060 },
1587  { 129,2060 }, { 130,2060 }, { 131,2060 }, { 132,2060 }, { 133,2060 },
1588  { 134,2060 }, { 135,2060 }, { 136,2060 }, { 137,2060 }, { 138,2060 },
1589  { 139,2060 }, { 140,2060 }, { 141,2060 }, { 142,2060 }, { 143,2060 },
1590  { 144,2060 }, { 145,2060 }, { 146,2060 }, { 147,2060 }, { 148,2060 },
1591  { 149,2060 }, { 150,2060 }, { 151,2060 }, { 152,2060 }, { 153,2060 },
1592  { 154,2060 }, { 155,2060 }, { 156,2060 }, { 157,2060 }, { 158,2060 },
1593  { 159,2060 }, { 160,2060 }, { 161,2060 }, { 162,2060 }, { 163,2060 },
1594 
1595  { 164,2060 }, { 165,2060 }, { 166,2060 }, { 167,2060 }, { 168,2060 },
1596  { 169,2060 }, { 170,2060 }, { 171,2060 }, { 172,2060 }, { 173,2060 },
1597  { 174,2060 }, { 175,2060 }, { 176,2060 }, { 177,2060 }, { 178,2060 },
1598  { 179,2060 }, { 180,2060 }, { 181,2060 }, { 182,2060 }, { 183,2060 },
1599  { 184,2060 }, { 185,2060 }, { 186,2060 }, { 187,2060 }, { 188,2060 },
1600  { 189,2060 }, { 190,2060 }, { 191,2060 }, { 192,2060 }, { 193,2060 },
1601  { 194,2060 }, { 195,2060 }, { 196,2060 }, { 197,2060 }, { 198,2060 },
1602  { 199,2060 }, { 200,2060 }, { 201,2060 }, { 202,2060 }, { 203,2060 },
1603  { 204,2060 }, { 205,2060 }, { 206,2060 }, { 207,2060 }, { 208,2060 },
1604  { 209,2060 }, { 210,2060 }, { 211,2060 }, { 212,2060 }, { 213,2060 },
1605 
1606  { 214,2060 }, { 215,2060 }, { 216,2060 }, { 217,2060 }, { 218,2060 },
1607  { 219,2060 }, { 220,2060 }, { 221,2060 }, { 222,2060 }, { 223,2060 },
1608  { 224,2060 }, { 225,2060 }, { 226,2060 }, { 227,2060 }, { 228,2060 },
1609  { 229,2060 }, { 230,2060 }, { 231,2060 }, { 232,2060 }, { 233,2060 },
1610  { 234,2060 }, { 235,2060 }, { 236,2060 }, { 237,2060 }, { 238,2060 },
1611  { 239,2060 }, { 240,2060 }, { 241,2060 }, { 242,2060 }, { 243,2060 },
1612  { 244,2060 }, { 245,2060 }, { 246,2060 }, { 247,2060 }, { 248,2060 },
1613  { 249,2060 }, { 250,2060 }, { 251,2060 }, { 252,2060 }, { 253,2060 },
1614  { 254,2060 }, { 255,2060 }, { 256,2060 }, {   0,   2 }, {   0,3436 },
1615  {   0,   5 }, {   0,3434 }, {   0,   6 }, {   0,3432 }, {   0,   7 },
1616 
1617  {   0,3430 }, {   0,   8 }, {   0,3428 }, {   9,2060 }, {  10,2060 },
1618  {   0,   0 }, {  12,2060 }, {  13,2060 }, {   0,   9 }, {   0,3421 },
1619  {   0,  10 }, {   0,3419 }, {   0,   3 }, {   0,3417 }, {   0,  21 },
1620  {   0,3415 }, {   0,  12 }, {   0,3413 }, {   0,   0 }, {   0,   0 },
1621  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1622  {   0,   0 }, {  32,2060 }, {   0,  22 }, {   0,3402 }, {   1,2060 },
1623  {   2,2060 }, {   3,2060 }, {   4,2060 }, {   5,2060 }, {   6,2060 },
1624  {   7,2060 }, {   8,2060 }, {   9,2060 }, {  10,2060 }, {  11,2060 },
1625  {  12,2060 }, {  13,2060 }, {  14,2060 }, {  15,2060 }, {  16,2060 },
1626  {  17,2060 }, {  18,2060 }, {  19,2060 }, {  20,2060 }, {  21,2060 },
1627 
1628  {  22,2060 }, {  23,2060 }, {  24,2060 }, {  25,2060 }, {  26,2060 },
1629  {  27,2060 }, {  28,2060 }, {  29,2060 }, {  30,2060 }, {  31,2060 },
1630  {  32,2060 }, {  33,2060 }, {  34,2060 }, {  35,2060 }, {  36,2060 },
1631  {  37,2060 }, {  38,2060 }, {  39,2060 }, {  40,2060 }, {  41,2060 },
1632  {   0,   0 }, {  43,2060 }, {  44,2060 }, {  45,2060 }, {  46,2060 },
1633  {  47,2060 }, {  48,2060 }, {  49,2060 }, {  50,2060 }, {  51,2060 },
1634  {  52,2060 }, {  53,2060 }, {  54,2060 }, {  55,2060 }, {  56,2060 },
1635  {  57,2060 }, {  58,2060 }, {  59,2060 }, {  60,2060 }, {  61,2060 },
1636  {  62,2060 }, {  63,2060 }, {  64,2060 }, {  65,2060 }, {  66,2060 },
1637  {  67,2060 }, {  68,2060 }, {  69,2060 }, {  70,2060 }, {  71,2060 },
1638 
1639  {  72,2060 }, {  73,2060 }, {  74,2060 }, {  75,2060 }, {  76,2060 },
1640  {  77,2060 }, {  78,2060 }, {  79,2060 }, {  80,2060 }, {  81,2060 },
1641  {  82,2060 }, {  83,2060 }, {  84,2060 }, {  85,2060 }, {  86,2060 },
1642  {  87,2060 }, {  88,2060 }, {  89,2060 }, {  90,2060 }, {  91,2060 },
1643  {  92,2060 }, {  93,2060 }, {  94,2060 }, {  95,2060 }, {  96,2060 },
1644  {  97,2060 }, {  98,2060 }, {  99,2060 }, { 100,2060 }, { 101,2060 },
1645  { 102,2060 }, { 103,2060 }, { 104,2060 }, { 105,2060 }, { 106,2060 },
1646  { 107,2060 }, { 108,2060 }, { 109,2060 }, { 110,2060 }, { 111,2060 },
1647  { 112,2060 }, { 113,2060 }, { 114,2060 }, { 115,2060 }, { 116,2060 },
1648  { 117,2060 }, { 118,2060 }, { 119,2060 }, { 120,2060 }, { 121,2060 },
1649 
1650  { 122,2060 }, { 123,2060 }, { 124,2060 }, { 125,2060 }, { 126,2060 },
1651  { 127,2060 }, { 128,2060 }, { 129,2060 }, { 130,2060 }, { 131,2060 },
1652  { 132,2060 }, { 133,2060 }, { 134,2060 }, { 135,2060 }, { 136,2060 },
1653  { 137,2060 }, { 138,2060 }, { 139,2060 }, { 140,2060 }, { 141,2060 },
1654  { 142,2060 }, { 143,2060 }, { 144,2060 }, { 145,2060 }, { 146,2060 },
1655  { 147,2060 }, { 148,2060 }, { 149,2060 }, { 150,2060 }, { 151,2060 },
1656  { 152,2060 }, { 153,2060 }, { 154,2060 }, { 155,2060 }, { 156,2060 },
1657  { 157,2060 }, { 158,2060 }, { 159,2060 }, { 160,2060 }, { 161,2060 },
1658  { 162,2060 }, { 163,2060 }, { 164,2060 }, { 165,2060 }, { 166,2060 },
1659  { 167,2060 }, { 168,2060 }, { 169,2060 }, { 170,2060 }, { 171,2060 },
1660 
1661  { 172,2060 }, { 173,2060 }, { 174,2060 }, { 175,2060 }, { 176,2060 },
1662  { 177,2060 }, { 178,2060 }, { 179,2060 }, { 180,2060 }, { 181,2060 },
1663  { 182,2060 }, { 183,2060 }, { 184,2060 }, { 185,2060 }, { 186,2060 },
1664  { 187,2060 }, { 188,2060 }, { 189,2060 }, { 190,2060 }, { 191,2060 },
1665  { 192,2060 }, { 193,2060 }, { 194,2060 }, { 195,2060 }, { 196,2060 },
1666  { 197,2060 }, { 198,2060 }, { 199,2060 }, { 200,2060 }, { 201,2060 },
1667  { 202,2060 }, { 203,2060 }, { 204,2060 }, { 205,2060 }, { 206,2060 },
1668  { 207,2060 }, { 208,2060 }, { 209,2060 }, { 210,2060 }, { 211,2060 },
1669  { 212,2060 }, { 213,2060 }, { 214,2060 }, { 215,2060 }, { 216,2060 },
1670  { 217,2060 }, { 218,2060 }, { 219,2060 }, { 220,2060 }, { 221,2060 },
1671 
1672  { 222,2060 }, { 223,2060 }, { 224,2060 }, { 225,2060 }, { 226,2060 },
1673  { 227,2060 }, { 228,2060 }, { 229,2060 }, { 230,2060 }, { 231,2060 },
1674  { 232,2060 }, { 233,2060 }, { 234,2060 }, { 235,2060 }, { 236,2060 },
1675  { 237,2060 }, { 238,2060 }, { 239,2060 }, { 240,2060 }, { 241,2060 },
1676  { 242,2060 }, { 243,2060 }, { 244,2060 }, { 245,2060 }, { 246,2060 },
1677  { 247,2060 }, { 248,2060 }, { 249,2060 }, { 250,2060 }, { 251,2060 },
1678  { 252,2060 }, { 253,2060 }, { 254,2060 }, { 255,2060 }, { 256,2060 },
1679  {   0,  47 }, {   0,3144 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
1680  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
1681  {   0,   0 }, {   0,   0 }, {  11,   0 }, {   0,   0 }, {   0,   0 },
1682 
1683  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
1684  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
1685  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
1686  {  29,   0 }, {  30,   0 }, {  31,   0 }, {   0,  11 }, {   0,3111 },
1687  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1688  {  39,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1689  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 },
1690  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
1691  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {   0,   0 },
1692  {  59,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1693 
1694  {   0,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
1695  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
1696  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
1697  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
1698  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
1699  {  89,   0 }, {  90,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1700  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
1701  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
1702  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
1703  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
1704 
1705  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
1706  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, {   0,   0 },
1707  {   0,   0 }, {  92, 504 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
1708  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
1709  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
1710  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
1711  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
1712  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
1713  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
1714  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
1715 
1716  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
1717  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
1718  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
1719  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
1720  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
1721  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
1722  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
1723  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
1724  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
1725  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
1726 
1727  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
1728  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
1729  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
1730  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
1731  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
1732  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
1733  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
1734  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
1735  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,  38 }, {   0,2886 },
1736  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1737 
1738  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   9,   0 }, {  10,   0 },
1739  {   0,   0 }, {  12,   0 }, {  13,   0 }, {   0,   0 }, {   0,   0 },
1740  {   0,   0 }, {   0,   0 }, {   0,  35 }, {   0,2867 }, {   1,   0 },
1741  {   2,   0 }, {   3,   0 }, {   4,   0 }, {   5,   0 }, {   6,   0 },
1742  {   7,   0 }, {   8,   0 }, {   0,   0 }, {   0,   0 }, {  11,   0 },
1743  {   0,   0 }, {  32,   0 }, {  14,   0 }, {  15,   0 }, {  16,   0 },
1744  {  17,   0 }, {  18,   0 }, {  19,   0 }, {  20,   0 }, {  21,   0 },
1745  {  22,   0 }, {  23,   0 }, {  24,   0 }, {  25,   0 }, {  26,   0 },
1746  {  27,   0 }, {  28,   0 }, {  29,   0 }, {  30,   0 }, {  31,   0 },
1747  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1748 
1749  {   0,   0 }, {   0,   0 }, {  39,   0 }, {   0,   0 }, {   0,   0 },
1750  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1751  {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
1752  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
1753  {  57,   0 }, {   0,   0 }, {  59,   0 }, {   0,   0 }, {   0,   0 },
1754  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,   0 }, {  66,   0 },
1755  {  67,   0 }, {  68,   0 }, {  69,   0 }, {  70,   0 }, {  71,   0 },
1756  {  72,   0 }, {  73,   0 }, {  74,   0 }, {  75,   0 }, {  76,   0 },
1757  {  77,   0 }, {  78,   0 }, {  79,   0 }, {  80,   0 }, {  81,   0 },
1758  {  82,   0 }, {  83,   0 }, {  84,   0 }, {  85,   0 }, {  86,   0 },
1759 
1760  {  87,   0 }, {  88,   0 }, {  89,   0 }, {  90,   0 }, {   0,   0 },
1761  {   0,   0 }, {   0,   0 }, {  94,   0 }, {  95,   0 }, {  96,   0 },
1762  {  97,   0 }, {  98,   0 }, {  99,   0 }, { 100,   0 }, { 101,   0 },
1763  { 102,   0 }, { 103,   0 }, { 104,   0 }, { 105,   0 }, { 106,   0 },
1764  { 107,   0 }, { 108,   0 }, { 109,   0 }, { 110,   0 }, { 111,   0 },
1765  { 112,   0 }, { 113,   0 }, { 114,   0 }, { 115,   0 }, { 116,   0 },
1766  { 117,   0 }, { 118,   0 }, { 119,   0 }, { 120,   0 }, { 121,   0 },
1767  { 122,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, { 126,   0 },
1768  { 127,   0 }, { 128,   0 }, { 129,   0 }, { 130,   0 }, { 131,   0 },
1769  { 132,   0 }, { 133,   0 }, { 134,   0 }, { 135,   0 }, { 136,   0 },
1770 
1771  { 137,   0 }, { 138,   0 }, { 139,   0 }, { 140,   0 }, { 141,   0 },
1772  { 142,   0 }, { 143,   0 }, { 144,   0 }, { 145,   0 }, { 146,   0 },
1773  { 147,   0 }, { 148,   0 }, { 149,   0 }, { 150,   0 }, { 151,   0 },
1774  { 152,   0 }, { 153,   0 }, { 154,   0 }, { 155,   0 }, { 156,   0 },
1775  { 157,   0 }, { 158,   0 }, { 159,   0 }, { 160,   0 }, { 161,   0 },
1776  { 162,   0 }, { 163,   0 }, { 164,   0 }, { 165,   0 }, { 166,   0 },
1777  { 167,   0 }, { 168,   0 }, { 169,   0 }, { 170,   0 }, { 171,   0 },
1778  { 172,   0 }, { 173,   0 }, { 174,   0 }, { 175,   0 }, { 176,   0 },
1779  { 177,   0 }, { 178,   0 }, { 179,   0 }, { 180,   0 }, { 181,   0 },
1780  { 182,   0 }, { 183,   0 }, { 184,   0 }, { 185,   0 }, { 186,   0 },
1781 
1782  { 187,   0 }, { 188,   0 }, { 189,   0 }, { 190,   0 }, { 191,   0 },
1783  { 192,   0 }, { 193,   0 }, { 194,   0 }, { 195,   0 }, { 196,   0 },
1784  { 197,   0 }, { 198,   0 }, { 199,   0 }, { 200,   0 }, { 201,   0 },
1785  { 202,   0 }, { 203,   0 }, { 204,   0 }, { 205,   0 }, { 206,   0 },
1786  { 207,   0 }, { 208,   0 }, { 209,   0 }, { 210,   0 }, { 211,   0 },
1787  { 212,   0 }, { 213,   0 }, { 214,   0 }, { 215,   0 }, { 216,   0 },
1788  { 217,   0 }, { 218,   0 }, { 219,   0 }, { 220,   0 }, { 221,   0 },
1789  { 222,   0 }, { 223,   0 }, { 224,   0 }, { 225,   0 }, { 226,   0 },
1790  { 227,   0 }, { 228,   0 }, { 229,   0 }, { 230,   0 }, { 231,   0 },
1791  { 232,   0 }, { 233,   0 }, { 234,   0 }, { 235,   0 }, { 236,   0 },
1792 
1793  { 237,   0 }, { 238,   0 }, { 239,   0 }, { 240,   0 }, { 241,   0 },
1794  { 242,   0 }, { 243,   0 }, { 244,   0 }, { 245,   0 }, { 246,   0 },
1795  { 247,   0 }, { 248,   0 }, { 249,   0 }, { 250,   0 }, { 251,   0 },
1796  { 252,   0 }, { 253,   0 }, { 254,   0 }, { 255,   0 }, { 256,   0 },
1797  {   0,  43 }, {   0,2609 }, {   0,  15 }, {   0,2607 }, {   0,   0 },
1798  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1799  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1800  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1801  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1802  {   0,  13 }, {   0,2584 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1803 
1804  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1805  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1806  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1807  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,1525 },
1808  {  49,1525 }, {  50,1525 }, {  51,1525 }, {  52,1525 }, {  53,1525 },
1809  {  54,1525 }, {  55,1525 }, {  56,1525 }, {  57,1525 }, {   0,  44 },
1810  {   0,2550 }, {   1,-594 }, {   2,-594 }, {   3,-594 }, {   4,-594 },
1811  {   5,-594 }, {   6,-594 }, {   7,-594 }, {   8,-594 }, {   0,   0 },
1812  {   0,   0 }, {  11,-594 }, {   0,   0 }, {   0,   0 }, {  14,-594 },
1813  {  15,-594 }, {  16,-594 }, {  17,-594 }, {  18,-594 }, {  19,-594 },
1814 
1815  {  20,-594 }, {  21,-594 }, {  22,-594 }, {  23,-594 }, {  24,-594 },
1816  {  25,-594 }, {  26,-594 }, {  27,-594 }, {  28,-594 }, {  29,-594 },
1817  {  30,-594 }, {  31,-594 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1818  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  39,-594 },
1819  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  43,1476 }, {   0,   0 },
1820  {  45,1476 }, {   0,   0 }, {   0,   0 }, {  48,1554 }, {  49,1554 },
1821  {  50,1554 }, {  51,1554 }, {  52,1554 }, {  53,1554 }, {  54,1554 },
1822  {  55,1554 }, {  56,1554 }, {  57,1554 }, {   0,   0 }, {  59,-594 },
1823  { 117,2290 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1824  {  65,-594 }, {  66,-594 }, {  67,-594 }, {  68,-594 }, {  69,-594 },
1825 
1826  {  70,-594 }, {  71,-594 }, {  72,-594 }, {  73,-594 }, {  74,-594 },
1827  {  75,-594 }, {  76,-594 }, {  77,-594 }, {  78,-594 }, {  79,-594 },
1828  {  80,-594 }, {  81,-594 }, {  82,-594 }, {  83,-594 }, {  84,-594 },
1829  {  85,-594 }, {  86,-594 }, {  87,-594 }, {  88,-594 }, {  89,-594 },
1830  {  90,-594 }, { 125,-527 }, {   0,   0 }, {   0,   0 }, {  94,-594 },
1831  {  95,-594 }, {  96,-594 }, {  97,-594 }, {  98,-594 }, {  99,-594 },
1832  { 100,-594 }, { 101,-594 }, { 102,-594 }, { 103,-594 }, { 104,-594 },
1833  { 105,-594 }, { 106,-594 }, { 107,-594 }, { 108,-594 }, { 109,-594 },
1834  { 110,-594 }, { 111,-594 }, { 112,-594 }, { 113,-594 }, { 114,-594 },
1835  { 115,-594 }, { 116,-594 }, { 117,-594 }, { 118,-594 }, { 119,-594 },
1836 
1837  { 120,-594 }, { 121,-594 }, { 122,-594 }, {   0,   0 }, {   0,   0 },
1838  {   0,   0 }, { 126,-594 }, { 127,-594 }, { 128,-594 }, { 129,-594 },
1839  { 130,-594 }, { 131,-594 }, { 132,-594 }, { 133,-594 }, { 134,-594 },
1840  { 135,-594 }, { 136,-594 }, { 137,-594 }, { 138,-594 }, { 139,-594 },
1841  { 140,-594 }, { 141,-594 }, { 142,-594 }, { 143,-594 }, { 144,-594 },
1842  { 145,-594 }, { 146,-594 }, { 147,-594 }, { 148,-594 }, { 149,-594 },
1843  { 150,-594 }, { 151,-594 }, { 152,-594 }, { 153,-594 }, { 154,-594 },
1844  { 155,-594 }, { 156,-594 }, { 157,-594 }, { 158,-594 }, { 159,-594 },
1845  { 160,-594 }, { 161,-594 }, { 162,-594 }, { 163,-594 }, { 164,-594 },
1846  { 165,-594 }, { 166,-594 }, { 167,-594 }, { 168,-594 }, { 169,-594 },
1847 
1848  { 170,-594 }, { 171,-594 }, { 172,-594 }, { 173,-594 }, { 174,-594 },
1849  { 175,-594 }, { 176,-594 }, { 177,-594 }, { 178,-594 }, { 179,-594 },
1850  { 180,-594 }, { 181,-594 }, { 182,-594 }, { 183,-594 }, { 184,-594 },
1851  { 185,-594 }, { 186,-594 }, { 187,-594 }, { 188,-594 }, { 189,-594 },
1852  { 190,-594 }, { 191,-594 }, { 192,-594 }, { 193,-594 }, { 194,-594 },
1853  { 195,-594 }, { 196,-594 }, { 197,-594 }, { 198,-594 }, { 199,-594 },
1854  { 200,-594 }, { 201,-594 }, { 202,-594 }, { 203,-594 }, { 204,-594 },
1855  { 205,-594 }, { 206,-594 }, { 207,-594 }, { 208,-594 }, { 209,-594 },
1856  { 210,-594 }, { 211,-594 }, { 212,-594 }, { 213,-594 }, { 214,-594 },
1857  { 215,-594 }, { 216,-594 }, { 217,-594 }, { 218,-594 }, { 219,-594 },
1858 
1859  { 220,-594 }, { 221,-594 }, { 222,-594 }, { 223,-594 }, { 224,-594 },
1860  { 225,-594 }, { 226,-594 }, { 227,-594 }, { 228,-594 }, { 229,-594 },
1861  { 230,-594 }, { 231,-594 }, { 232,-594 }, { 233,-594 }, { 234,-594 },
1862  { 235,-594 }, { 236,-594 }, { 237,-594 }, { 238,-594 }, { 239,-594 },
1863  { 240,-594 }, { 241,-594 }, { 242,-594 }, { 243,-594 }, { 244,-594 },
1864  { 245,-594 }, { 246,-594 }, { 247,-594 }, { 248,-594 }, { 249,-594 },
1865  { 250,-594 }, { 251,-594 }, { 252,-594 }, { 253,-594 }, { 254,-594 },
1866  { 255,-594 }, { 256,-594 }, {   0,  42 }, {   0,2292 }, {   1,-852 },
1867  {   2,-852 }, {   3,-852 }, {   4,-852 }, {   5,-852 }, {   6,-852 },
1868  {   7,-852 }, {   8,-852 }, {   0,   0 }, {   0,   0 }, {  11,-852 },
1869 
1870  {   0,   0 }, {   0,   0 }, {  14,-852 }, {  15,-852 }, {  16,-852 },
1871  {  17,-852 }, {  18,-852 }, {  19,-852 }, {  20,-852 }, {  21,-852 },
1872  {  22,-852 }, {  23,-852 }, {  24,-852 }, {  25,-852 }, {  26,-852 },
1873  {  27,-852 }, {  28,-852 }, {  29,-852 }, {  30,-852 }, {  31,-852 },
1874  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1875  {   0,   0 }, {   0,   0 }, {  39,-852 }, {   0,   0 }, {   0,   0 },
1876  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  46,-317 },
1877  {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
1878  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
1879  {  57,   0 }, {   0,   0 }, {  59,-852 }, {   0,   0 }, {   0,   0 },
1880 
1881  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,-852 }, {  66,-852 },
1882  {  67,-852 }, {  68,-852 }, {  69,-258 }, {  70,-852 }, {  71,-852 },
1883  {  72,-852 }, {  73,-852 }, {  74,-852 }, {  75,-852 }, {  76,-852 },
1884  {  77,-852 }, {  78,-852 }, {  79,-852 }, {  80,-852 }, {  81,-852 },
1885  {  82,-852 }, {  83,-852 }, {  84,-852 }, {  85,-852 }, {  86,-852 },
1886  {  87,-852 }, {  88,-852 }, {  89,-852 }, {  90,-852 }, {   0,   0 },
1887  {   0,   0 }, {   0,   0 }, {  94,-852 }, {  95,-852 }, {  96,-852 },
1888  {  97,-852 }, {  98,-852 }, {  99,-852 }, { 100,-852 }, { 101,-258 },
1889  { 102,-852 }, { 103,-852 }, { 104,-852 }, { 105,-852 }, { 106,-852 },
1890  { 107,-852 }, { 108,-852 }, { 109,-852 }, { 110,-852 }, { 111,-852 },
1891 
1892  { 112,-852 }, { 113,-852 }, { 114,-852 }, { 115,-852 }, { 116,-852 },
1893  { 117,-852 }, { 118,-852 }, { 119,-852 }, { 120,-852 }, { 121,-852 },
1894  { 122,-852 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, { 126,-852 },
1895  { 127,-852 }, { 128,-852 }, { 129,-852 }, { 130,-852 }, { 131,-852 },
1896  { 132,-852 }, { 133,-852 }, { 134,-852 }, { 135,-852 }, { 136,-852 },
1897  { 137,-852 }, { 138,-852 }, { 139,-852 }, { 140,-852 }, { 141,-852 },
1898  { 142,-852 }, { 143,-852 }, { 144,-852 }, { 145,-852 }, { 146,-852 },
1899  { 147,-852 }, { 148,-852 }, { 149,-852 }, { 150,-852 }, { 151,-852 },
1900  { 152,-852 }, { 153,-852 }, { 154,-852 }, { 155,-852 }, { 156,-852 },
1901  { 157,-852 }, { 158,-852 }, { 159,-852 }, { 160,-852 }, { 161,-852 },
1902 
1903  { 162,-852 }, { 163,-852 }, { 164,-852 }, { 165,-852 }, { 166,-852 },
1904  { 167,-852 }, { 168,-852 }, { 169,-852 }, { 170,-852 }, { 171,-852 },
1905  { 172,-852 }, { 173,-852 }, { 174,-852 }, { 175,-852 }, { 176,-852 },
1906  { 177,-852 }, { 178,-852 }, { 179,-852 }, { 180,-852 }, { 181,-852 },
1907  { 182,-852 }, { 183,-852 }, { 184,-852 }, { 185,-852 }, { 186,-852 },
1908  { 187,-852 }, { 188,-852 }, { 189,-852 }, { 190,-852 }, { 191,-852 },
1909  { 192,-852 }, { 193,-852 }, { 194,-852 }, { 195,-852 }, { 196,-852 },
1910  { 197,-852 }, { 198,-852 }, { 199,-852 }, { 200,-852 }, { 201,-852 },
1911  { 202,-852 }, { 203,-852 }, { 204,-852 }, { 205,-852 }, { 206,-852 },
1912  { 207,-852 }, { 208,-852 }, { 209,-852 }, { 210,-852 }, { 211,-852 },
1913 
1914  { 212,-852 }, { 213,-852 }, { 214,-852 }, { 215,-852 }, { 216,-852 },
1915  { 217,-852 }, { 218,-852 }, { 219,-852 }, { 220,-852 }, { 221,-852 },
1916  { 222,-852 }, { 223,-852 }, { 224,-852 }, { 225,-852 }, { 226,-852 },
1917  { 227,-852 }, { 228,-852 }, { 229,-852 }, { 230,-852 }, { 231,-852 },
1918  { 232,-852 }, { 233,-852 }, { 234,-852 }, { 235,-852 }, { 236,-852 },
1919  { 237,-852 }, { 238,-852 }, { 239,-852 }, { 240,-852 }, { 241,-852 },
1920  { 242,-852 }, { 243,-852 }, { 244,-852 }, { 245,-852 }, { 246,-852 },
1921  { 247,-852 }, { 248,-852 }, { 249,-852 }, { 250,-852 }, { 251,-852 },
1922  { 252,-852 }, { 253,-852 }, { 254,-852 }, { 255,-852 }, { 256,-852 },
1923  {   0,  20 }, {   0,2034 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
1924 
1925  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
1926  {   9,   0 }, {  10,   0 }, {  11,   0 }, {  12,   0 }, {  13,   0 },
1927  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
1928  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
1929  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
1930  {  29,   0 }, {  30,   0 }, {  31,   0 }, {  32,   0 }, {  33,   0 },
1931  {   0,   0 }, {  35,   0 }, {  36,   0 }, {  37,   0 }, {  38,   0 },
1932  {  39,   0 }, {  40,   0 }, {  41,   0 }, {  42,   0 }, {  43,   0 },
1933  {  44,   0 }, {  45,   0 }, {  46,   0 }, {  47,   0 }, {  48,   0 },
1934  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
1935 
1936  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {  58,   0 },
1937  {  59,   0 }, {  60,   0 }, {  61,   0 }, {  62,   0 }, {  63,   0 },
1938  {  64,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
1939  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
1940  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
1941  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
1942  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
1943  {  89,   0 }, {  90,   0 }, {  91,   0 }, {   0,   0 }, {  93,   0 },
1944  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
1945  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
1946 
1947  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
1948  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
1949  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
1950  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, { 123,   0 },
1951  { 124,   0 }, { 125,   0 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
1952  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
1953  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
1954  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
1955  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
1956  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
1957 
1958  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
1959  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
1960  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
1961  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
1962  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
1963  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
1964  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
1965  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
1966  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
1967  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
1968 
1969  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
1970  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
1971  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
1972  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
1973  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
1974  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
1975  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
1976  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
1977  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
1978  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
1979 
1980  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,  13 }, {   0,1776 },
1981  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1982  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1983  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1984  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1985  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1986  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1987  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1988  {   0,   0 }, {   0,  14 }, {   0,1738 }, {   0,   0 }, {   0,   0 },
1989  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1990 
1991  {   0,   0 }, {   0,   0 }, {  48,1038 }, {  49,1038 }, {  50,1038 },
1992  {  51,1038 }, {  52,1038 }, {  53,1038 }, {  54,1038 }, {  55,1038 },
1993  {  56,1038 }, {  57,1038 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1994  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,1038 },
1995  {  66,1038 }, {  67,1038 }, {  68,1038 }, {  69,1038 }, {  70,1038 },
1996  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1997  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1998  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
1999  {  48,1061 }, {  49,1061 }, {  50,1061 }, {  51,1061 }, {  52,1061 },
2000  {  53,1061 }, {  54,1061 }, {  55,1061 }, {  56,1061 }, {  57,1061 },
2001 
2002  {   0,   0 }, {  97,1038 }, {  98,1038 }, {  99,1038 }, { 100,1038 },
2003  { 101,1038 }, { 102,1038 }, {  65,1061 }, {  66,1061 }, {  67,1061 },
2004  {  68,1061 }, {  69,1061 }, {  70,1061 }, {   0,   0 }, {   0,   0 },
2005  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2006  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2007  {   0,   0 }, {   0,   0 }, { 123,1061 }, {   0,   0 }, {   0,   0 },
2008  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2009  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,1061 },
2010  {  98,1061 }, {  99,1061 }, { 100,1061 }, { 101,1061 }, { 102,1061 },
2011  {   0,   1 }, {   0,1634 }, {   1,   0 }, {   2,   0 }, {   3,   0 },
2012 
2013  {   4,   0 }, {   5,   0 }, {   6,   0 }, {   7,   0 }, {   8,   0 },
2014  {   0,   0 }, {   0,   0 }, {  11,   0 }, {   0,   0 }, {   0,   0 },
2015  {  14,   0 }, {  15,   0 }, {  16,   0 }, {  17,   0 }, {  18,   0 },
2016  {  19,   0 }, {  20,   0 }, {  21,   0 }, {  22,   0 }, {  23,   0 },
2017  {  24,   0 }, {  25,   0 }, {  26,   0 }, {  27,   0 }, {  28,   0 },
2018  {  29,   0 }, {  30,   0 }, {  31,   0 }, {   0,   0 }, {   0,   0 },
2019  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2020  {  39,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2021  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 },
2022  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
2023 
2024  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {   0,   0 },
2025  {  59,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2026  {   0,   0 }, {  65,   0 }, {  66,   0 }, {  67,   0 }, {  68,   0 },
2027  {  69,   0 }, {  70,   0 }, {  71,   0 }, {  72,   0 }, {  73,   0 },
2028  {  74,   0 }, {  75,   0 }, {  76,   0 }, {  77,   0 }, {  78,   0 },
2029  {  79,   0 }, {  80,   0 }, {  81,   0 }, {  82,   0 }, {  83,   0 },
2030  {  84,   0 }, {  85,   0 }, {  86,   0 }, {  87,   0 }, {  88,   0 },
2031  {  89,   0 }, {  90,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2032  {  94,   0 }, {  95,   0 }, {  96,   0 }, {  97,   0 }, {  98,   0 },
2033  {  99,   0 }, { 100,   0 }, { 101,   0 }, { 102,   0 }, { 103,   0 },
2034 
2035  { 104,   0 }, { 105,   0 }, { 106,   0 }, { 107,   0 }, { 108,   0 },
2036  { 109,   0 }, { 110,   0 }, { 111,   0 }, { 112,   0 }, { 113,   0 },
2037  { 114,   0 }, { 115,   0 }, { 116,   0 }, { 117,   0 }, { 118,   0 },
2038  { 119,   0 }, { 120,   0 }, { 121,   0 }, { 122,   0 }, {   0,   0 },
2039  {   0,   0 }, {   0,   0 }, { 126,   0 }, { 127,   0 }, { 128,   0 },
2040  { 129,   0 }, { 130,   0 }, { 131,   0 }, { 132,   0 }, { 133,   0 },
2041  { 134,   0 }, { 135,   0 }, { 136,   0 }, { 137,   0 }, { 138,   0 },
2042  { 139,   0 }, { 140,   0 }, { 141,   0 }, { 142,   0 }, { 143,   0 },
2043  { 144,   0 }, { 145,   0 }, { 146,   0 }, { 147,   0 }, { 148,   0 },
2044  { 149,   0 }, { 150,   0 }, { 151,   0 }, { 152,   0 }, { 153,   0 },
2045 
2046  { 154,   0 }, { 155,   0 }, { 156,   0 }, { 157,   0 }, { 158,   0 },
2047  { 159,   0 }, { 160,   0 }, { 161,   0 }, { 162,   0 }, { 163,   0 },
2048  { 164,   0 }, { 165,   0 }, { 166,   0 }, { 167,   0 }, { 168,   0 },
2049  { 169,   0 }, { 170,   0 }, { 171,   0 }, { 172,   0 }, { 173,   0 },
2050  { 174,   0 }, { 175,   0 }, { 176,   0 }, { 177,   0 }, { 178,   0 },
2051  { 179,   0 }, { 180,   0 }, { 181,   0 }, { 182,   0 }, { 183,   0 },
2052  { 184,   0 }, { 185,   0 }, { 186,   0 }, { 187,   0 }, { 188,   0 },
2053  { 189,   0 }, { 190,   0 }, { 191,   0 }, { 192,   0 }, { 193,   0 },
2054  { 194,   0 }, { 195,   0 }, { 196,   0 }, { 197,   0 }, { 198,   0 },
2055  { 199,   0 }, { 200,   0 }, { 201,   0 }, { 202,   0 }, { 203,   0 },
2056 
2057  { 204,   0 }, { 205,   0 }, { 206,   0 }, { 207,   0 }, { 208,   0 },
2058  { 209,   0 }, { 210,   0 }, { 211,   0 }, { 212,   0 }, { 213,   0 },
2059  { 214,   0 }, { 215,   0 }, { 216,   0 }, { 217,   0 }, { 218,   0 },
2060  { 219,   0 }, { 220,   0 }, { 221,   0 }, { 222,   0 }, { 223,   0 },
2061  { 224,   0 }, { 225,   0 }, { 226,   0 }, { 227,   0 }, { 228,   0 },
2062  { 229,   0 }, { 230,   0 }, { 231,   0 }, { 232,   0 }, { 233,   0 },
2063  { 234,   0 }, { 235,   0 }, { 236,   0 }, { 237,   0 }, { 238,   0 },
2064  { 239,   0 }, { 240,   0 }, { 241,   0 }, { 242,   0 }, { 243,   0 },
2065  { 244,   0 }, { 245,   0 }, { 246,   0 }, { 247,   0 }, { 248,   0 },
2066  { 249,   0 }, { 250,   0 }, { 251,   0 }, { 252,   0 }, { 253,   0 },
2067 
2068  { 254,   0 }, { 255,   0 }, { 256,   0 }, {   0,   2 }, {   0,1376 },
2069  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2070  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   9,   0 }, {  10,   0 },
2071  {   0,   0 }, {  12,   0 }, {  13,   0 }, {   0,   0 }, {   0,   0 },
2072  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2073  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2074  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2075  {   0,   0 }, {  32,   0 }, {   0,  22 }, {   0,1342 }, {   1,   0 },
2076  {   2,   0 }, {   3,   0 }, {   4,   0 }, {   5,   0 }, {   6,   0 },
2077  {   7,   0 }, {   8,   0 }, {   9,   0 }, {  10,   0 }, {  11,   0 },
2078 
2079  {  12,   0 }, {  13,   0 }, {  14,   0 }, {  15,   0 }, {  16,   0 },
2080  {  17,   0 }, {  18,   0 }, {  19,   0 }, {  20,   0 }, {  21,   0 },
2081  {  22,   0 }, {  23,   0 }, {  24,   0 }, {  25,   0 }, {  26,   0 },
2082  {  27,   0 }, {  28,   0 }, {  29,   0 }, {  30,   0 }, {  31,   0 },
2083  {  32,   0 }, {  33,   0 }, {  34,   0 }, {  35,   0 }, {  36,   0 },
2084  {  37,   0 }, {  38,   0 }, {  39,   0 }, {  40,   0 }, {  41,   0 },
2085  {   0,   0 }, {  43,   0 }, {  44,   0 }, {  45,   0 }, {  46,   0 },
2086  {  47,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 }, {  51,   0 },
2087  {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 }, {  56,   0 },
2088  {  57,   0 }, {  58,   0 }, {  59,   0 }, {  60,   0 }, {  61,   0 },
2089 
2090  {  62,   0 }, {  63,   0 }, {  64,   0 }, {  65,   0 }, {  66,   0 },
2091  {  67,   0 }, {  68,   0 }, {  69,   0 }, {  70,   0 }, {  71,   0 },
2092  {  72,   0 }, {  73,   0 }, {  74,   0 }, {  75,   0 }, {  76,   0 },
2093  {  77,   0 }, {  78,   0 }, {  79,   0 }, {  80,   0 }, {  81,   0 },
2094  {  82,   0 }, {  83,   0 }, {  84,   0 }, {  85,   0 }, {  86,   0 },
2095  {  87,   0 }, {  88,   0 }, {  89,   0 }, {  90,   0 }, {  91,   0 },
2096  {  92,   0 }, {  93,   0 }, {  94,   0 }, {  95,   0 }, {  96,   0 },
2097  {  97,   0 }, {  98,   0 }, {  99,   0 }, { 100,   0 }, { 101,   0 },
2098  { 102,   0 }, { 103,   0 }, { 104,   0 }, { 105,   0 }, { 106,   0 },
2099  { 107,   0 }, { 108,   0 }, { 109,   0 }, { 110,   0 }, { 111,   0 },
2100 
2101  { 112,   0 }, { 113,   0 }, { 114,   0 }, { 115,   0 }, { 116,   0 },
2102  { 117,   0 }, { 118,   0 }, { 119,   0 }, { 120,   0 }, { 121,   0 },
2103  { 122,   0 }, { 123,   0 }, { 124,   0 }, { 125,   0 }, { 126,   0 },
2104  { 127,   0 }, { 128,   0 }, { 129,   0 }, { 130,   0 }, { 131,   0 },
2105  { 132,   0 }, { 133,   0 }, { 134,   0 }, { 135,   0 }, { 136,   0 },
2106  { 137,   0 }, { 138,   0 }, { 139,   0 }, { 140,   0 }, { 141,   0 },
2107  { 142,   0 }, { 143,   0 }, { 144,   0 }, { 145,   0 }, { 146,   0 },
2108  { 147,   0 }, { 148,   0 }, { 149,   0 }, { 150,   0 }, { 151,   0 },
2109  { 152,   0 }, { 153,   0 }, { 154,   0 }, { 155,   0 }, { 156,   0 },
2110  { 157,   0 }, { 158,   0 }, { 159,   0 }, { 160,   0 }, { 161,   0 },
2111 
2112  { 162,   0 }, { 163,   0 }, { 164,   0 }, { 165,   0 }, { 166,   0 },
2113  { 167,   0 }, { 168,   0 }, { 169,   0 }, { 170,   0 }, { 171,   0 },
2114  { 172,   0 }, { 173,   0 }, { 174,   0 }, { 175,   0 }, { 176,   0 },
2115  { 177,   0 }, { 178,   0 }, { 179,   0 }, { 180,   0 }, { 181,   0 },
2116  { 182,   0 }, { 183,   0 }, { 184,   0 }, { 185,   0 }, { 186,   0 },
2117  { 187,   0 }, { 188,   0 }, { 189,   0 }, { 190,   0 }, { 191,   0 },
2118  { 192,   0 }, { 193,   0 }, { 194,   0 }, { 195,   0 }, { 196,   0 },
2119  { 197,   0 }, { 198,   0 }, { 199,   0 }, { 200,   0 }, { 201,   0 },
2120  { 202,   0 }, { 203,   0 }, { 204,   0 }, { 205,   0 }, { 206,   0 },
2121  { 207,   0 }, { 208,   0 }, { 209,   0 }, { 210,   0 }, { 211,   0 },
2122 
2123  { 212,   0 }, { 213,   0 }, { 214,   0 }, { 215,   0 }, { 216,   0 },
2124  { 217,   0 }, { 218,   0 }, { 219,   0 }, { 220,   0 }, { 221,   0 },
2125  { 222,   0 }, { 223,   0 }, { 224,   0 }, { 225,   0 }, { 226,   0 },
2126  { 227,   0 }, { 228,   0 }, { 229,   0 }, { 230,   0 }, { 231,   0 },
2127  { 232,   0 }, { 233,   0 }, { 234,   0 }, { 235,   0 }, { 236,   0 },
2128  { 237,   0 }, { 238,   0 }, { 239,   0 }, { 240,   0 }, { 241,   0 },
2129  { 242,   0 }, { 243,   0 }, { 244,   0 }, { 245,   0 }, { 246,   0 },
2130  { 247,   0 }, { 248,   0 }, { 249,   0 }, { 250,   0 }, { 251,   0 },
2131  { 252,   0 }, { 253,   0 }, { 254,   0 }, { 255,   0 }, { 256,   0 },
2132  {   0,  41 }, {   0,1084 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2133 
2134  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2135  {   0,  44 }, {   0,1074 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2136  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2137  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2138  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2139  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2140  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2141  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2142  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 },
2143  {  49,   0 }, {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 },
2144 
2145  {  54,   0 }, {  55,   0 }, {  56,   0 }, {  57,   0 }, {  48, 469 },
2146  {  49, 469 }, {  50, 469 }, {  51, 469 }, {  52, 469 }, {  53, 469 },
2147  {  54, 469 }, {  55, 469 }, {  56, 469 }, {  57, 469 }, {   0,   0 },
2148  {  69, 441 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2149  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2150  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2151  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  40 }, {   0, 996 },
2152  {   1,-2148 }, {   2,-2148 }, {   3,-2148 }, {   4,-2148 }, {   5,-2148 },
2153  {   6,-2148 }, {   7,-2148 }, {   8,-2148 }, {   0,   0 }, {   0,   0 },
2154  {  11,-2148 }, {   0,   0 }, { 101, 441 }, {  14,-2148 }, {  15,-2148 },
2155 
2156  {  16,-2148 }, {  17,-2148 }, {  18,-2148 }, {  19,-2148 }, {  20,-2148 },
2157  {  21,-2148 }, {  22,-2148 }, {  23,-2148 }, {  24,-2148 }, {  25,-2148 },
2158  {  26,-2148 }, {  27,-2148 }, {  28,-2148 }, {  29,-2148 }, {  30,-2148 },
2159  {  31,-2148 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2160  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  39,-2148 }, {   0,   0 },
2161  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2162  {   0,   0 }, {   0,   0 }, {  48,   0 }, {  49,   0 }, {  50,   0 },
2163  {  51,   0 }, {  52,   0 }, {  53,   0 }, {  54,   0 }, {  55,   0 },
2164  {  56,   0 }, {  57,   0 }, {   0,   0 }, {  59,-2148 }, {   0,   0 },
2165  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,-2148 },
2166 
2167  {  66,-2148 }, {  67,-2148 }, {  68,-2148 }, {  69,-2148 }, {  70,-2148 },
2168  {  71,-2148 }, {  72,-2148 }, {  73,-2148 }, {  74,-2148 }, {  75,-2148 },
2169  {  76,-2148 }, {  77,-2148 }, {  78,-2148 }, {  79,-2148 }, {  80,-2148 },
2170  {  81,-2148 }, {  82,-2148 }, {  83,-2148 }, {  84,-2148 }, {  85,-2148 },
2171  {  86,-2148 }, {  87,-2148 }, {  88,-2148 }, {  89,-2148 }, {  90,-2148 },
2172  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  94,-2148 }, {  95,-2148 },
2173  {  96,-2148 }, {  97,-2148 }, {  98,-2148 }, {  99,-2148 }, { 100,-2148 },
2174  { 101,-2148 }, { 102,-2148 }, { 103,-2148 }, { 104,-2148 }, { 105,-2148 },
2175  { 106,-2148 }, { 107,-2148 }, { 108,-2148 }, { 109,-2148 }, { 110,-2148 },
2176  { 111,-2148 }, { 112,-2148 }, { 113,-2148 }, { 114,-2148 }, { 115,-2148 },
2177 
2178  { 116,-2148 }, { 117,-2148 }, { 118,-2148 }, { 119,-2148 }, { 120,-2148 },
2179  { 121,-2148 }, { 122,-2148 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2180  { 126,-2148 }, { 127,-2148 }, { 128,-2148 }, { 129,-2148 }, { 130,-2148 },
2181  { 131,-2148 }, { 132,-2148 }, { 133,-2148 }, { 134,-2148 }, { 135,-2148 },
2182  { 136,-2148 }, { 137,-2148 }, { 138,-2148 }, { 139,-2148 }, { 140,-2148 },
2183  { 141,-2148 }, { 142,-2148 }, { 143,-2148 }, { 144,-2148 }, { 145,-2148 },
2184  { 146,-2148 }, { 147,-2148 }, { 148,-2148 }, { 149,-2148 }, { 150,-2148 },
2185  { 151,-2148 }, { 152,-2148 }, { 153,-2148 }, { 154,-2148 }, { 155,-2148 },
2186  { 156,-2148 }, { 157,-2148 }, { 158,-2148 }, { 159,-2148 }, { 160,-2148 },
2187  { 161,-2148 }, { 162,-2148 }, { 163,-2148 }, { 164,-2148 }, { 165,-2148 },
2188 
2189  { 166,-2148 }, { 167,-2148 }, { 168,-2148 }, { 169,-2148 }, { 170,-2148 },
2190  { 171,-2148 }, { 172,-2148 }, { 173,-2148 }, { 174,-2148 }, { 175,-2148 },
2191  { 176,-2148 }, { 177,-2148 }, { 178,-2148 }, { 179,-2148 }, { 180,-2148 },
2192  { 181,-2148 }, { 182,-2148 }, { 183,-2148 }, { 184,-2148 }, { 185,-2148 },
2193  { 186,-2148 }, { 187,-2148 }, { 188,-2148 }, { 189,-2148 }, { 190,-2148 },
2194  { 191,-2148 }, { 192,-2148 }, { 193,-2148 }, { 194,-2148 }, { 195,-2148 },
2195  { 196,-2148 }, { 197,-2148 }, { 198,-2148 }, { 199,-2148 }, { 200,-2148 },
2196  { 201,-2148 }, { 202,-2148 }, { 203,-2148 }, { 204,-2148 }, { 205,-2148 },
2197  { 206,-2148 }, { 207,-2148 }, { 208,-2148 }, { 209,-2148 }, { 210,-2148 },
2198  { 211,-2148 }, { 212,-2148 }, { 213,-2148 }, { 214,-2148 }, { 215,-2148 },
2199 
2200  { 216,-2148 }, { 217,-2148 }, { 218,-2148 }, { 219,-2148 }, { 220,-2148 },
2201  { 221,-2148 }, { 222,-2148 }, { 223,-2148 }, { 224,-2148 }, { 225,-2148 },
2202  { 226,-2148 }, { 227,-2148 }, { 228,-2148 }, { 229,-2148 }, { 230,-2148 },
2203  { 231,-2148 }, { 232,-2148 }, { 233,-2148 }, { 234,-2148 }, { 235,-2148 },
2204  { 236,-2148 }, { 237,-2148 }, { 238,-2148 }, { 239,-2148 }, { 240,-2148 },
2205  { 241,-2148 }, { 242,-2148 }, { 243,-2148 }, { 244,-2148 }, { 245,-2148 },
2206  { 246,-2148 }, { 247,-2148 }, { 248,-2148 }, { 249,-2148 }, { 250,-2148 },
2207  { 251,-2148 }, { 252,-2148 }, { 253,-2148 }, { 254,-2148 }, { 255,-2148 },
2208  { 256,-2148 }, {   0,  13 }, {   0, 738 }, {   0,   0 }, {   0,   0 },
2209  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2210 
2211  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2212  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2213  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  13 },
2214  {   0, 715 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2215  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2216  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2217  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2218  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2219  {  48, 154 }, {  49, 154 }, {  50, 154 }, {  51, 154 }, {  52, 154 },
2220  {  53, 154 }, {  54, 154 }, {  55, 154 }, {  56, 154 }, {  57, 154 },
2221 
2222  {   0,   0 }, {   0,   0 }, {   0,  14 }, {   0, 677 }, {   0,   0 },
2223  {   0,   0 }, {   0,   0 }, {  65, 154 }, {  66, 154 }, {  67, 154 },
2224  {  68, 154 }, {  69, 154 }, {  70, 154 }, {  48, 154 }, {  49, 154 },
2225  {  50, 154 }, {  51, 154 }, {  52, 154 }, {  53, 154 }, {  54, 154 },
2226  {  55, 154 }, {  56, 154 }, {  57, 154 }, {   0,   0 }, {   0,   0 },
2227  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2228  {  65, 154 }, {  66, 154 }, {  67, 154 }, {  68, 154 }, {  69, 154 },
2229  {  70, 154 }, {   0,  44 }, {   0, 643 }, {   0,   0 }, {  97, 154 },
2230  {  98, 154 }, {  99, 154 }, { 100, 154 }, { 101, 154 }, { 102, 154 },
2231  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2232 
2233  {   0,   0 }, {  48,-2736 }, {  49,-2736 }, {  50,-2736 }, {  51,-2736 },
2234  {  52,-2736 }, {  53,-2736 }, {  54,-2736 }, {  55,-2736 }, {  56,-2736 },
2235  {  57,-2736 }, {   0,   0 }, {  97, 154 }, {  98, 154 }, {  99, 154 },
2236  { 100, 154 }, { 101, 154 }, { 102, 154 }, {  65,-2736 }, {  66,-2736 },
2237  {  67,-2736 }, {  68,-2736 }, {  69,-2736 }, {  70,-2736 }, {   0,  40 },
2238  {   0, 605 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2239  {  43,-431 }, {   0,   0 }, {  45,-431 }, {   0,   0 }, {   0,   0 },
2240  {  48,  38 }, {  49,  38 }, {  50,  38 }, {  51,  38 }, {  52,  38 },
2241  {  53,  38 }, {  54,  38 }, {  55,  38 }, {  56,  38 }, {  57,  38 },
2242  {   0,  13 }, {   0, 584 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2243 
2244  {  97,-2736 }, {  98,-2736 }, {  99,-2736 }, { 100,-2736 }, { 101,-2736 },
2245  { 102,-2736 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2246  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2247  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,  13 }, {   0, 561 },
2248  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,   0 }, {  49,   0 },
2249  {  50,   0 }, {  51,   0 }, {  52,   0 }, {  53,   0 }, {  54,   0 },
2250  {  55,   0 }, {  56,   0 }, {  57,   0 }, {   0,   0 }, {   0,   0 },
2251  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2252  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,  61 },
2253  {  49,  61 }, {  50,  61 }, {  51,  61 }, {  52,  61 }, {  53,  61 },
2254 
2255  {  54,  61 }, {  55,  61 }, {  56,  61 }, {  57,  61 }, {   0,   0 },
2256  {   0,   0 }, {   0,  13 }, {   0, 523 }, {   0,   0 }, {   0,   0 },
2257  {   0,   0 }, {  65,  61 }, {  66,  61 }, {  67,  61 }, {  68,  61 },
2258  {  69,  61 }, {  70,  61 }, {  48,  61 }, {  49,  61 }, {  50,  61 },
2259  {  51,  61 }, {  52,  61 }, {  53,  61 }, {  54,  61 }, {  55,  61 },
2260  {  56,  61 }, {  57,  61 }, {   0,   0 }, {   0,   0 }, {   0,  13 },
2261  {   0, 500 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  65,  61 },
2262  {  66,  61 }, {  67,  61 }, {  68,  61 }, {  69,  61 }, {  70,  61 },
2263  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,  61 }, {  98,  61 },
2264  {  99,  61 }, { 100,  61 }, { 101,  61 }, { 102,  61 }, {   0,   0 },
2265 
2266  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2267  {  48,-2588 }, {  49,-2588 }, {  50,-2588 }, {  51,-2588 }, {  52,-2588 },
2268  {  53,-2588 }, {  54,-2588 }, {  55,-2588 }, {  56,-2588 }, {  57,-2588 },
2269  {   0,   0 }, {  97,  61 }, {  98,  61 }, {  99,  61 }, { 100,  61 },
2270  { 101,  61 }, { 102,  61 }, {  65,-2588 }, {  66,-2588 }, {  67,-2588 },
2271  {  68,-2588 }, {  69,-2588 }, {  70,-2588 }, {  48,  61 }, {  49,  61 },
2272  {  50,  61 }, {  51,  61 }, {  52,  61 }, {  53,  61 }, {  54,  61 },
2273  {  55,  61 }, {  56,  61 }, {  57,  61 }, {   0,   0 }, {   0,   0 },
2274  {   0,  13 }, {   0, 439 }, {   0,   0 }, {   0,   0 }, { 125,-2550 },
2275  {  65,  61 }, {  66,  61 }, {  67,  61 }, {  68,  61 }, {  69,  61 },
2276 
2277  {  70,  61 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,-2588 },
2278  {  98,-2588 }, {  99,-2588 }, { 100,-2588 }, { 101,-2588 }, { 102,-2588 },
2279  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2280  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2281  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2282  {   0,   0 }, {   0,   0 }, {  97,  61 }, {  98,  61 }, {  99,  61 },
2283  { 100,  61 }, { 101,  61 }, { 102,  61 }, {   0,   0 }, {   0,   0 },
2284  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  48,  61 },
2285  {  49,  61 }, {  50,  61 }, {  51,  61 }, {  52,  61 }, {  53,  61 },
2286  {  54,  61 }, {  55,  61 }, {  56,  61 }, {  57,  61 }, {   0,   0 },
2287 
2288  {   0,   0 }, {   0,  13 }, {   0, 378 }, {   0,   0 }, {   0,   0 },
2289  { 125,-2611 }, {  65,  61 }, {  66,  61 }, {  67,  61 }, {  68,  61 },
2290  {  69,  61 }, {  70,  61 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2291  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2292  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2293  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2294  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2295  {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,  61 }, {  98,  61 },
2296  {  99,  61 }, { 100,  61 }, { 101,  61 }, { 102,  61 }, {   0,   0 },
2297  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2298 
2299  {  48, 120 }, {  49, 120 }, {  50, 120 }, {  51, 120 }, {  52, 120 },
2300  {  53, 120 }, {  54, 120 }, {  55, 120 }, {  56, 120 }, {  57, 120 },
2301  {   0,   0 }, {   0,   0 }, {   0,  13 }, {   0, 317 }, {   0,   0 },
2302  {   0,   0 }, { 125,-2672 }, {  65, 120 }, {  66, 120 }, {  67, 120 },
2303  {  68, 120 }, {  69, 120 }, {  70, 120 }, {   0,   0 }, {   0,   0 },
2304  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2305  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2306  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2307  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2308  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97, 120 },
2309 
2310  {  98, 120 }, {  99, 120 }, { 100, 120 }, { 101, 120 }, { 102, 120 },
2311  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2312  {   0,   0 }, {  48,-421 }, {  49,-421 }, {  50,-421 }, {  51,-421 },
2313  {  52,-421 }, {  53,-421 }, {  54,-421 }, {  55,-421 }, {  56,-421 },
2314  {  57,-421 }, {   0,  13 }, {   0, 258 }, {   0,   0 }, {   0,   0 },
2315  {   0,   0 }, {   0,   0 }, { 125,-2733 }, {  65,-421 }, {  66,-421 },
2316  {  67,-421 }, {  68,-421 }, {  69,-421 }, {  70,-421 }, {   0,   0 },
2317  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2318  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2319  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2320 
2321  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2322  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2323  {  97,-421 }, {  98,-421 }, {  99,-421 }, { 100,-421 }, { 101,-421 },
2324  { 102,-421 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2325  {  48,-2326 }, {  49,-2326 }, {  50,-2326 }, {  51,-2326 }, {  52,-2326 },
2326  {  53,-2326 }, {  54,-2326 }, {  55,-2326 }, {  56,-2326 }, {  57,-2326 },
2327  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2328  {   0,   0 }, { 123,-398 }, {  65,-2326 }, {  66,-2326 }, {  67,-2326 },
2329  {  68,-2326 }, {  69,-2326 }, {  70,-2326 }, {   0,   0 }, {   0,   0 },
2330  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2331 
2332  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2333  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2334  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2335  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {  97,-2326 },
2336  {  98,-2326 }, {  99,-2326 }, { 100,-2326 }, { 101,-2326 }, { 102,-2326 },
2337  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2338  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2339  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2340  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2341  {   0,   0 }, {   0,   0 }, { 125,-2853 }, {   0,   0 }, {   0,   0 },
2342 
2343  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2344  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2345  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2346  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2347  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2348  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2349  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2350  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2351  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2352  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2353 
2354  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2355  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2356  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2357  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2358  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2359  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2360  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2361  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2362  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2363  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2364 
2365  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2366  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2367  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2368  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2369  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 },
2370  {   0,   0 }, {   0,   0 }, {   0,   0 }, {   0,   0 }, { 257,  49 },
2371  {   1,   0 },    };
2372 
2373 static const struct yy_trans_info *yy_start_state_list[11] =
2374     {
2375     &yy_transition[1],
2376     &yy_transition[3],
2377     &yy_transition[261],
2378     &yy_transition[519],
2379     &yy_transition[777],
2380     &yy_transition[1035],
2381     &yy_transition[1293],
2382     &yy_transition[1551],
2383     &yy_transition[1809],
2384     &yy_transition[2067],
2385     &yy_transition[2325],
2386 
2387     } ;
2388 
2389 extern int yy_flex_debug;
2390 int yy_flex_debug = 0;
2391 
2392 /* The intent behind this definition is that it'll catch
2393  * any uses of REJECT which flex missed.
2394  */
2395 #define REJECT reject_used_but_not_detected
2396 #define yymore() yymore_used_but_not_detected
2397 #define YY_MORE_ADJ 0
2398 #define YY_RESTORE_YY_MORE_OFFSET
2399 char *yytext;
2400 #line 1 "jsonpath_scan.l"
2401 #line 2 "jsonpath_scan.l"
2402 /*-------------------------------------------------------------------------
2403  *
2404  * jsonpath_scan.l
2405  *	Lexical parser for jsonpath datatype
2406  *
2407  * Splits jsonpath string into tokens represented as JsonPathString structs.
2408  * Decodes unicode and hex escaped strings.
2409  *
2410  * Copyright (c) 2019-2020, PostgreSQL Global Development Group
2411  *
2412  * IDENTIFICATION
2413  *	src/backend/utils/adt/jsonpath_scan.l
2414  *
2415  *-------------------------------------------------------------------------
2416  */
2417 
2418 #include "postgres.h"
2419 
2420 #include "mb/pg_wchar.h"
2421 #include "nodes/pg_list.h"
2422 
2423 static JsonPathString scanstring;
2424 
2425 /* Handles to the buffer that the lexer uses internally */
2426 static YY_BUFFER_STATE scanbufhandle;
2427 static char *scanbuf;
2428 static int	scanbuflen;
2429 
2430 static void addstring(bool init, char *s, int l);
2431 static void addchar(bool init, char s);
2432 static enum yytokentype checkKeyword(void);
2433 static void parseUnicode(char *s, int l);
2434 static void parseHexChar(char *s);
2435 
2436 /* Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error) */
2437 #undef fprintf
2438 #define fprintf(file, fmt, msg)  fprintf_to_ereport(fmt, msg)
2439 
2440 static void
fprintf_to_ereport(const char * fmt,const char * msg)2441 fprintf_to_ereport(const char *fmt, const char *msg)
2442 {
2443 	ereport(ERROR, (errmsg_internal("%s", msg)));
2444 }
2445 
2446 /* LCOV_EXCL_START */
2447 
2448 #line 2449 "jsonpath_scan.c"
2449 #define YY_NO_INPUT 1
2450 /*
2451  * We use exclusive states for quoted and non-quoted strings,
2452  * quoted variable names and C-style comments.
2453  * Exclusive states:
2454  *  <xq> - quoted strings
2455  *  <xnq> - non-quoted strings
2456  *  <xvq> - quoted variable names
2457  *  <xc> - C-style comment
2458  */
2459 
2460 /* "other" means anything that's not special, blank, or '\' or '"' */
2461 #line 2462 "jsonpath_scan.c"
2462 
2463 #define INITIAL 0
2464 #define xq 1
2465 #define xnq 2
2466 #define xvq 3
2467 #define xc 4
2468 
2469 #ifndef YY_NO_UNISTD_H
2470 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2471  * down here because we want the user's section 1 to have been scanned first.
2472  * The user has a chance to override it with an option.
2473  */
2474 #include <unistd.h>
2475 #endif
2476 
2477 #ifndef YY_EXTRA_TYPE
2478 #define YY_EXTRA_TYPE void *
2479 #endif
2480 
2481 static int yy_init_globals ( void );
2482 
2483 /* Accessor methods to globals.
2484    These are made visible to non-reentrant scanners for convenience. */
2485 
2486 int yylex_destroy ( void );
2487 
2488 int yyget_debug ( void );
2489 
2490 void yyset_debug ( int debug_flag  );
2491 
2492 YY_EXTRA_TYPE yyget_extra ( void );
2493 
2494 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
2495 
2496 FILE *yyget_in ( void );
2497 
2498 void yyset_in  ( FILE * _in_str  );
2499 
2500 FILE *yyget_out ( void );
2501 
2502 void yyset_out  ( FILE * _out_str  );
2503 
2504 			int yyget_leng ( void );
2505 
2506 char *yyget_text ( void );
2507 
2508 int yyget_lineno ( void );
2509 
2510 void yyset_lineno ( int _line_number  );
2511 
2512 YYSTYPE * yyget_lval ( void );
2513 
2514 void yyset_lval ( YYSTYPE * yylval_param  );
2515 
2516 /* Macros after this point can all be overridden by user definitions in
2517  * section 1.
2518  */
2519 
2520 #ifndef YY_SKIP_YYWRAP
2521 #ifdef __cplusplus
2522 extern "C" int yywrap ( void );
2523 #else
2524 extern int yywrap ( void );
2525 #endif
2526 #endif
2527 
2528 #ifndef YY_NO_UNPUT
2529 
2530 #endif
2531 
2532 #ifndef yytext_ptr
2533 static void yy_flex_strncpy ( char *, const char *, int );
2534 #endif
2535 
2536 #ifdef YY_NEED_STRLEN
2537 static int yy_flex_strlen ( const char * );
2538 #endif
2539 
2540 #ifndef YY_NO_INPUT
2541 #ifdef __cplusplus
2542 static int yyinput ( void );
2543 #else
2544 static int input ( void );
2545 #endif
2546 
2547 #endif
2548 
2549 /* Amount of stuff to slurp up with each read. */
2550 #ifndef YY_READ_BUF_SIZE
2551 #ifdef __ia64__
2552 /* On IA-64, the buffer size is 16k, not 8k */
2553 #define YY_READ_BUF_SIZE 16384
2554 #else
2555 #define YY_READ_BUF_SIZE 8192
2556 #endif /* __ia64__ */
2557 #endif
2558 
2559 /* Copy whatever the last rule matched to the standard output. */
2560 #ifndef ECHO
2561 /* This used to be an fputs(), but since the string might contain NUL's,
2562  * we now use fwrite().
2563  */
2564 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2565 #endif
2566 
2567 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2568  * is returned in "result".
2569  */
2570 #ifndef YY_INPUT
2571 #define YY_INPUT(buf,result,max_size) \
2572 	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2573 		{ \
2574 		int c = '*'; \
2575 		int n; \
2576 		for ( n = 0; n < max_size && \
2577 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2578 			buf[n] = (char) c; \
2579 		if ( c == '\n' ) \
2580 			buf[n++] = (char) c; \
2581 		if ( c == EOF && ferror( yyin ) ) \
2582 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
2583 		result = n; \
2584 		} \
2585 	else \
2586 		{ \
2587 		errno=0; \
2588 		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2589 			{ \
2590 			if( errno != EINTR) \
2591 				{ \
2592 				YY_FATAL_ERROR( "input in flex scanner failed" ); \
2593 				break; \
2594 				} \
2595 			errno=0; \
2596 			clearerr(yyin); \
2597 			} \
2598 		}\
2599 \
2600 
2601 #endif
2602 
2603 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2604  * we don't want an extra ';' after the "return" because that will cause
2605  * some compilers to complain about unreachable statements.
2606  */
2607 #ifndef yyterminate
2608 #define yyterminate() return YY_NULL
2609 #endif
2610 
2611 /* Number of entries by which start-condition stack grows. */
2612 #ifndef YY_START_STACK_INCR
2613 #define YY_START_STACK_INCR 25
2614 #endif
2615 
2616 /* Report a fatal error. */
2617 #ifndef YY_FATAL_ERROR
2618 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2619 #endif
2620 
2621 /* end tables serialization structures and prototypes */
2622 
2623 /* Default declaration of generated scanner - a define so the user can
2624  * easily add parameters.
2625  */
2626 #ifndef YY_DECL
2627 #define YY_DECL_IS_OURS 1
2628 
2629 extern int yylex \
2630                (YYSTYPE * yylval_param );
2631 
2632 #define YY_DECL int yylex \
2633                (YYSTYPE * yylval_param )
2634 #endif /* !YY_DECL */
2635 
2636 /* Code executed at the beginning of each rule, after yytext and yyleng
2637  * have been set up.
2638  */
2639 #ifndef YY_USER_ACTION
2640 #define YY_USER_ACTION
2641 #endif
2642 
2643 /* Code executed at the end of each rule. */
2644 #ifndef YY_BREAK
2645 #define YY_BREAK /*LINTED*/break;
2646 #endif
2647 
2648 #define YY_RULE_SETUP \
2649 	YY_USER_ACTION
2650 
2651 /** The main scanner function which does all the work.
2652  */
2653 YY_DECL
2654 {
2655 	yy_state_type yy_current_state;
2656 	char *yy_cp, *yy_bp;
2657 	int yy_act;
2658 
2659         YYSTYPE * yylval;
2660 
2661     yylval = yylval_param;
2662 
2663 	if ( !(yy_init) )
2664 		{
2665 		(yy_init) = 1;
2666 
2667 #ifdef YY_USER_INIT
2668 		YY_USER_INIT;
2669 #endif
2670 
2671 		if ( ! (yy_start) )
2672 			(yy_start) = 1;	/* first start state */
2673 
2674 		if ( ! yyin )
2675 			yyin = stdin;
2676 
2677 		if ( ! yyout )
2678 			yyout = stdout;
2679 
2680 		if ( ! YY_CURRENT_BUFFER ) {
2681 			yyensure_buffer_stack ();
2682 			YY_CURRENT_BUFFER_LVALUE =
2683 				yy_create_buffer( yyin, YY_BUF_SIZE );
2684 		}
2685 
2686 		yy_load_buffer_state(  );
2687 		}
2688 
2689 	{
2690 #line 97 "jsonpath_scan.l"
2691 
2692 
2693 #line 2694 "jsonpath_scan.c"
2694 
2695 	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
2696 		{
2697 		yy_cp = (yy_c_buf_p);
2698 
2699 		/* Support of yytext. */
2700 		*yy_cp = (yy_hold_char);
2701 
2702 		/* yy_bp points to the position in yy_ch_buf of the start of
2703 		 * the current run.
2704 		 */
2705 		yy_bp = yy_cp;
2706 
2707 		yy_current_state = yy_start_state_list[(yy_start)];
2708 yy_match:
2709 		{
2710 		const struct yy_trans_info *yy_trans_info;
2711 
2712 		YY_CHAR yy_c;
2713 
2714 		for ( yy_c = YY_SC_TO_UI(*yy_cp);
2715 		      (yy_trans_info = &yy_current_state[yy_c])->
2716 		yy_verify == yy_c;
2717 		      yy_c = YY_SC_TO_UI(*++yy_cp) )
2718 			yy_current_state += yy_trans_info->yy_nxt;
2719 		}
2720 
2721 yy_find_action:
2722 		yy_act = yy_current_state[-1].yy_nxt;
2723 
2724 		YY_DO_BEFORE_ACTION;
2725 
2726 do_action:	/* This label is used only to access EOF actions. */
2727 
2728 		switch ( yy_act )
2729 	{ /* beginning of action switch */
2730 case 1:
2731 YY_RULE_SETUP
2732 #line 99 "jsonpath_scan.l"
2733 {
2734 									addstring(false, yytext, yyleng);
2735 								}
2736 	YY_BREAK
2737 case 2:
2738 /* rule 2 can match eol */
2739 YY_RULE_SETUP
2740 #line 103 "jsonpath_scan.l"
2741 {
2742 									yylval->str = scanstring;
2743 									BEGIN INITIAL;
2744 									return checkKeyword();
2745 								}
2746 	YY_BREAK
2747 case 3:
2748 YY_RULE_SETUP
2749 #line 109 "jsonpath_scan.l"
2750 {
2751 									yylval->str = scanstring;
2752 									BEGIN xc;
2753 								}
2754 	YY_BREAK
2755 case 4:
2756 YY_RULE_SETUP
2757 #line 114 "jsonpath_scan.l"
2758 {
2759 									yylval->str = scanstring;
2760 									yyless(0);
2761 									BEGIN INITIAL;
2762 									return checkKeyword();
2763 								}
2764 	YY_BREAK
2765 case YY_STATE_EOF(xnq):
2766 #line 121 "jsonpath_scan.l"
2767 {
2768 									yylval->str = scanstring;
2769 									BEGIN INITIAL;
2770 									return checkKeyword();
2771 								}
2772 	YY_BREAK
2773 case 5:
2774 YY_RULE_SETUP
2775 #line 127 "jsonpath_scan.l"
2776 { addchar(false, '\b'); }
2777 	YY_BREAK
2778 case 6:
2779 YY_RULE_SETUP
2780 #line 129 "jsonpath_scan.l"
2781 { addchar(false, '\f'); }
2782 	YY_BREAK
2783 case 7:
2784 YY_RULE_SETUP
2785 #line 131 "jsonpath_scan.l"
2786 { addchar(false, '\n'); }
2787 	YY_BREAK
2788 case 8:
2789 YY_RULE_SETUP
2790 #line 133 "jsonpath_scan.l"
2791 { addchar(false, '\r'); }
2792 	YY_BREAK
2793 case 9:
2794 YY_RULE_SETUP
2795 #line 135 "jsonpath_scan.l"
2796 { addchar(false, '\t'); }
2797 	YY_BREAK
2798 case 10:
2799 YY_RULE_SETUP
2800 #line 137 "jsonpath_scan.l"
2801 { addchar(false, '\v'); }
2802 	YY_BREAK
2803 case 11:
2804 YY_RULE_SETUP
2805 #line 139 "jsonpath_scan.l"
2806 { parseUnicode(yytext, yyleng); }
2807 	YY_BREAK
2808 case 12:
2809 YY_RULE_SETUP
2810 #line 141 "jsonpath_scan.l"
2811 { parseHexChar(yytext); }
2812 	YY_BREAK
2813 case 13:
2814 YY_RULE_SETUP
2815 #line 143 "jsonpath_scan.l"
2816 { yyerror(NULL, "invalid unicode sequence"); }
2817 	YY_BREAK
2818 case 14:
2819 YY_RULE_SETUP
2820 #line 145 "jsonpath_scan.l"
2821 { yyerror(NULL, "invalid hex character sequence"); }
2822 	YY_BREAK
2823 case 15:
2824 YY_RULE_SETUP
2825 #line 147 "jsonpath_scan.l"
2826 {
2827 								/* throw back the \\, and treat as unicode */
2828 								yyless(yyleng - 1);
2829 								parseUnicode(yytext, yyleng);
2830 							}
2831 	YY_BREAK
2832 case 16:
2833 YY_RULE_SETUP
2834 #line 153 "jsonpath_scan.l"
2835 { addchar(false, yytext[1]); }
2836 	YY_BREAK
2837 case 17:
2838 YY_RULE_SETUP
2839 #line 155 "jsonpath_scan.l"
2840 { yyerror(NULL, "unexpected end after backslash"); }
2841 	YY_BREAK
2842 case YY_STATE_EOF(xq):
2843 case YY_STATE_EOF(xvq):
2844 #line 157 "jsonpath_scan.l"
2845 { yyerror(NULL, "unexpected end of quoted string"); }
2846 	YY_BREAK
2847 case 18:
2848 YY_RULE_SETUP
2849 #line 159 "jsonpath_scan.l"
2850 {
2851 									yylval->str = scanstring;
2852 									BEGIN INITIAL;
2853 									return STRING_P;
2854 								}
2855 	YY_BREAK
2856 case 19:
2857 YY_RULE_SETUP
2858 #line 165 "jsonpath_scan.l"
2859 {
2860 									yylval->str = scanstring;
2861 									BEGIN INITIAL;
2862 									return VARIABLE_P;
2863 								}
2864 	YY_BREAK
2865 case 20:
2866 /* rule 20 can match eol */
2867 YY_RULE_SETUP
2868 #line 171 "jsonpath_scan.l"
2869 { addstring(false, yytext, yyleng); }
2870 	YY_BREAK
2871 case 21:
2872 YY_RULE_SETUP
2873 #line 173 "jsonpath_scan.l"
2874 { BEGIN INITIAL; }
2875 	YY_BREAK
2876 case 22:
2877 /* rule 22 can match eol */
2878 YY_RULE_SETUP
2879 #line 175 "jsonpath_scan.l"
2880 { }
2881 	YY_BREAK
2882 case 23:
2883 YY_RULE_SETUP
2884 #line 177 "jsonpath_scan.l"
2885 { }
2886 	YY_BREAK
2887 case YY_STATE_EOF(xc):
2888 #line 179 "jsonpath_scan.l"
2889 { yyerror(NULL, "unexpected end of comment"); }
2890 	YY_BREAK
2891 case 24:
2892 YY_RULE_SETUP
2893 #line 181 "jsonpath_scan.l"
2894 { return AND_P; }
2895 	YY_BREAK
2896 case 25:
2897 YY_RULE_SETUP
2898 #line 183 "jsonpath_scan.l"
2899 { return OR_P; }
2900 	YY_BREAK
2901 case 26:
2902 YY_RULE_SETUP
2903 #line 185 "jsonpath_scan.l"
2904 { return NOT_P; }
2905 	YY_BREAK
2906 case 27:
2907 YY_RULE_SETUP
2908 #line 187 "jsonpath_scan.l"
2909 { return ANY_P; }
2910 	YY_BREAK
2911 case 28:
2912 YY_RULE_SETUP
2913 #line 189 "jsonpath_scan.l"
2914 { return LESS_P; }
2915 	YY_BREAK
2916 case 29:
2917 YY_RULE_SETUP
2918 #line 191 "jsonpath_scan.l"
2919 { return LESSEQUAL_P; }
2920 	YY_BREAK
2921 case 30:
2922 YY_RULE_SETUP
2923 #line 193 "jsonpath_scan.l"
2924 { return EQUAL_P; }
2925 	YY_BREAK
2926 case 31:
2927 YY_RULE_SETUP
2928 #line 195 "jsonpath_scan.l"
2929 { return NOTEQUAL_P; }
2930 	YY_BREAK
2931 case 32:
2932 YY_RULE_SETUP
2933 #line 197 "jsonpath_scan.l"
2934 { return NOTEQUAL_P; }
2935 	YY_BREAK
2936 case 33:
2937 YY_RULE_SETUP
2938 #line 199 "jsonpath_scan.l"
2939 { return GREATEREQUAL_P; }
2940 	YY_BREAK
2941 case 34:
2942 YY_RULE_SETUP
2943 #line 201 "jsonpath_scan.l"
2944 { return GREATER_P; }
2945 	YY_BREAK
2946 case 35:
2947 YY_RULE_SETUP
2948 #line 203 "jsonpath_scan.l"
2949 {
2950 									addstring(true, yytext + 1, yyleng - 1);
2951 									addchar(false, '\0');
2952 									yylval->str = scanstring;
2953 									return VARIABLE_P;
2954 								}
2955 	YY_BREAK
2956 case 36:
2957 YY_RULE_SETUP
2958 #line 210 "jsonpath_scan.l"
2959 {
2960 									addchar(true, '\0');
2961 									BEGIN xvq;
2962 								}
2963 	YY_BREAK
2964 case 37:
2965 YY_RULE_SETUP
2966 #line 215 "jsonpath_scan.l"
2967 { return *yytext; }
2968 	YY_BREAK
2969 case 38:
2970 /* rule 38 can match eol */
2971 YY_RULE_SETUP
2972 #line 217 "jsonpath_scan.l"
2973 { /* ignore */ }
2974 	YY_BREAK
2975 case 39:
2976 YY_RULE_SETUP
2977 #line 219 "jsonpath_scan.l"
2978 {
2979 									addchar(true, '\0');
2980 									BEGIN xc;
2981 								}
2982 	YY_BREAK
2983 case 40:
2984 YY_RULE_SETUP
2985 #line 224 "jsonpath_scan.l"
2986 {
2987 									addstring(true, yytext, yyleng);
2988 									addchar(false, '\0');
2989 									yylval->str = scanstring;
2990 									return NUMERIC_P;
2991 								}
2992 	YY_BREAK
2993 case 41:
2994 YY_RULE_SETUP
2995 #line 231 "jsonpath_scan.l"
2996 {
2997 									addstring(true, yytext, yyleng);
2998 									addchar(false, '\0');
2999 									yylval->str = scanstring;
3000 									return NUMERIC_P;
3001 								}
3002 	YY_BREAK
3003 case 42:
3004 YY_RULE_SETUP
3005 #line 238 "jsonpath_scan.l"
3006 {
3007 									addstring(true, yytext, yyleng);
3008 									addchar(false, '\0');
3009 									yylval->str = scanstring;
3010 									return INT_P;
3011 								}
3012 	YY_BREAK
3013 case 43:
3014 YY_RULE_SETUP
3015 #line 245 "jsonpath_scan.l"
3016 {
3017 									/* throw back the ., and treat as integer */
3018 									yyless(yyleng - 1);
3019 									addstring(true, yytext, yyleng);
3020 									addchar(false, '\0');
3021 									yylval->str = scanstring;
3022 									return INT_P;
3023 								}
3024 	YY_BREAK
3025 case 44:
3026 YY_RULE_SETUP
3027 #line 254 "jsonpath_scan.l"
3028 { yyerror(NULL, "invalid floating point number"); }
3029 	YY_BREAK
3030 case 45:
3031 YY_RULE_SETUP
3032 #line 256 "jsonpath_scan.l"
3033 {
3034 									addchar(true, '\0');
3035 									BEGIN xq;
3036 								}
3037 	YY_BREAK
3038 case 46:
3039 YY_RULE_SETUP
3040 #line 261 "jsonpath_scan.l"
3041 {
3042 									yyless(0);
3043 									addchar(true, '\0');
3044 									BEGIN xnq;
3045 								}
3046 	YY_BREAK
3047 case 47:
3048 YY_RULE_SETUP
3049 #line 267 "jsonpath_scan.l"
3050 {
3051 									addstring(true, yytext, yyleng);
3052 									BEGIN xnq;
3053 								}
3054 	YY_BREAK
3055 case YY_STATE_EOF(INITIAL):
3056 #line 272 "jsonpath_scan.l"
3057 { yyterminate(); }
3058 	YY_BREAK
3059 case 48:
3060 YY_RULE_SETUP
3061 #line 274 "jsonpath_scan.l"
3062 YY_FATAL_ERROR( "flex scanner jammed" );
3063 	YY_BREAK
3064 #line 3065 "jsonpath_scan.c"
3065 
3066 	case YY_END_OF_BUFFER:
3067 		{
3068 		/* Amount of text matched not including the EOB char. */
3069 		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3070 
3071 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
3072 		*yy_cp = (yy_hold_char);
3073 		YY_RESTORE_YY_MORE_OFFSET
3074 
3075 		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3076 			{
3077 			/* We're scanning a new file or input source.  It's
3078 			 * possible that this happened because the user
3079 			 * just pointed yyin at a new source and called
3080 			 * yylex().  If so, then we have to assure
3081 			 * consistency between YY_CURRENT_BUFFER and our
3082 			 * globals.  Here is the right place to do so, because
3083 			 * this is the first action (other than possibly a
3084 			 * back-up) that will match for the new input source.
3085 			 */
3086 			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3087 			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3088 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3089 			}
3090 
3091 		/* Note that here we test for yy_c_buf_p "<=" to the position
3092 		 * of the first EOB in the buffer, since yy_c_buf_p will
3093 		 * already have been incremented past the NUL character
3094 		 * (since all states make transitions on EOB to the
3095 		 * end-of-buffer state).  Contrast this with the test
3096 		 * in input().
3097 		 */
3098 		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3099 			{ /* This was really a NUL. */
3100 			yy_state_type yy_next_state;
3101 
3102 			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3103 
3104 			yy_current_state = yy_get_previous_state(  );
3105 
3106 			/* Okay, we're now positioned to make the NUL
3107 			 * transition.  We couldn't have
3108 			 * yy_get_previous_state() go ahead and do it
3109 			 * for us because it doesn't know how to deal
3110 			 * with the possibility of jamming (and we don't
3111 			 * want to build jamming into it because then it
3112 			 * will run more slowly).
3113 			 */
3114 
3115 			yy_next_state = yy_try_NUL_trans( yy_current_state );
3116 
3117 			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3118 
3119 			if ( yy_next_state )
3120 				{
3121 				/* Consume the NUL. */
3122 				yy_cp = ++(yy_c_buf_p);
3123 				yy_current_state = yy_next_state;
3124 				goto yy_match;
3125 				}
3126 
3127 			else
3128 				{
3129 				yy_cp = (yy_c_buf_p);
3130 				goto yy_find_action;
3131 				}
3132 			}
3133 
3134 		else switch ( yy_get_next_buffer(  ) )
3135 			{
3136 			case EOB_ACT_END_OF_FILE:
3137 				{
3138 				(yy_did_buffer_switch_on_eof) = 0;
3139 
3140 				if ( yywrap(  ) )
3141 					{
3142 					/* Note: because we've taken care in
3143 					 * yy_get_next_buffer() to have set up
3144 					 * yytext, we can now set up
3145 					 * yy_c_buf_p so that if some total
3146 					 * hoser (like flex itself) wants to
3147 					 * call the scanner after we return the
3148 					 * YY_NULL, it'll still work - another
3149 					 * YY_NULL will get returned.
3150 					 */
3151 					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3152 
3153 					yy_act = YY_STATE_EOF(YY_START);
3154 					goto do_action;
3155 					}
3156 
3157 				else
3158 					{
3159 					if ( ! (yy_did_buffer_switch_on_eof) )
3160 						YY_NEW_FILE;
3161 					}
3162 				break;
3163 				}
3164 
3165 			case EOB_ACT_CONTINUE_SCAN:
3166 				(yy_c_buf_p) =
3167 					(yytext_ptr) + yy_amount_of_matched_text;
3168 
3169 				yy_current_state = yy_get_previous_state(  );
3170 
3171 				yy_cp = (yy_c_buf_p);
3172 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3173 				goto yy_match;
3174 
3175 			case EOB_ACT_LAST_MATCH:
3176 				(yy_c_buf_p) =
3177 				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3178 
3179 				yy_current_state = yy_get_previous_state(  );
3180 
3181 				yy_cp = (yy_c_buf_p);
3182 				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3183 				goto yy_find_action;
3184 			}
3185 		break;
3186 		}
3187 
3188 	default:
3189 		YY_FATAL_ERROR(
3190 			"fatal flex scanner internal error--no action found" );
3191 	} /* end of action switch */
3192 		} /* end of scanning one token */
3193 	} /* end of user's declarations */
3194 } /* end of yylex */
3195 
3196 /* yy_get_next_buffer - try to read in a new buffer
3197  *
3198  * Returns a code representing an action:
3199  *	EOB_ACT_LAST_MATCH -
3200  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3201  *	EOB_ACT_END_OF_FILE - end of file
3202  */
yy_get_next_buffer(void)3203 static int yy_get_next_buffer (void)
3204 {
3205     	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3206 	char *source = (yytext_ptr);
3207 	int number_to_move, i;
3208 	int ret_val;
3209 
3210 	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3211 		YY_FATAL_ERROR(
3212 		"fatal flex scanner internal error--end of buffer missed" );
3213 
3214 	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3215 		{ /* Don't try to fill the buffer, so this is an EOF. */
3216 		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3217 			{
3218 			/* We matched a single character, the EOB, so
3219 			 * treat this as a final EOF.
3220 			 */
3221 			return EOB_ACT_END_OF_FILE;
3222 			}
3223 
3224 		else
3225 			{
3226 			/* We matched some text prior to the EOB, first
3227 			 * process it.
3228 			 */
3229 			return EOB_ACT_LAST_MATCH;
3230 			}
3231 		}
3232 
3233 	/* Try to read more data. */
3234 
3235 	/* First move last chars to start of buffer. */
3236 	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
3237 
3238 	for ( i = 0; i < number_to_move; ++i )
3239 		*(dest++) = *(source++);
3240 
3241 	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3242 		/* don't do the read, it's not guaranteed to return an EOF,
3243 		 * just force an EOF
3244 		 */
3245 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3246 
3247 	else
3248 		{
3249 			int num_to_read =
3250 			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3251 
3252 		while ( num_to_read <= 0 )
3253 			{ /* Not enough room in the buffer - grow it. */
3254 
3255 			/* just a shorter name for the current buffer */
3256 			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3257 
3258 			int yy_c_buf_p_offset =
3259 				(int) ((yy_c_buf_p) - b->yy_ch_buf);
3260 
3261 			if ( b->yy_is_our_buffer )
3262 				{
3263 				int new_size = b->yy_buf_size * 2;
3264 
3265 				if ( new_size <= 0 )
3266 					b->yy_buf_size += b->yy_buf_size / 8;
3267 				else
3268 					b->yy_buf_size *= 2;
3269 
3270 				b->yy_ch_buf = (char *)
3271 					/* Include room in for 2 EOB chars. */
3272 					yyrealloc( (void *) b->yy_ch_buf,
3273 							 (yy_size_t) (b->yy_buf_size + 2)  );
3274 				}
3275 			else
3276 				/* Can't grow it, we don't own it. */
3277 				b->yy_ch_buf = NULL;
3278 
3279 			if ( ! b->yy_ch_buf )
3280 				YY_FATAL_ERROR(
3281 				"fatal error - scanner input buffer overflow" );
3282 
3283 			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3284 
3285 			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3286 						number_to_move - 1;
3287 
3288 			}
3289 
3290 		if ( num_to_read > YY_READ_BUF_SIZE )
3291 			num_to_read = YY_READ_BUF_SIZE;
3292 
3293 		/* Read in more data. */
3294 		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3295 			(yy_n_chars), num_to_read );
3296 
3297 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3298 		}
3299 
3300 	if ( (yy_n_chars) == 0 )
3301 		{
3302 		if ( number_to_move == YY_MORE_ADJ )
3303 			{
3304 			ret_val = EOB_ACT_END_OF_FILE;
3305 			yyrestart( yyin  );
3306 			}
3307 
3308 		else
3309 			{
3310 			ret_val = EOB_ACT_LAST_MATCH;
3311 			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3312 				YY_BUFFER_EOF_PENDING;
3313 			}
3314 		}
3315 
3316 	else
3317 		ret_val = EOB_ACT_CONTINUE_SCAN;
3318 
3319 	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3320 		/* Extend the array by 50%, plus the number we really need. */
3321 		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3322 		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
3323 			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
3324 		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3325 			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3326 		/* "- 2" to take care of EOB's */
3327 		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
3328 	}
3329 
3330 	(yy_n_chars) += number_to_move;
3331 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3332 	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3333 
3334 	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3335 
3336 	return ret_val;
3337 }
3338 
3339 /* yy_get_previous_state - get the state just before the EOB char was reached */
3340 
yy_get_previous_state(void)3341     static yy_state_type yy_get_previous_state (void)
3342 {
3343 	yy_state_type yy_current_state;
3344 	char *yy_cp;
3345 
3346 	yy_current_state = yy_start_state_list[(yy_start)];
3347 
3348 	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3349 		{
3350 		yy_current_state += yy_current_state[(*yy_cp ? YY_SC_TO_UI(*yy_cp) : 256)].yy_nxt;
3351 		}
3352 
3353 	return yy_current_state;
3354 }
3355 
3356 /* yy_try_NUL_trans - try to make a transition on the NUL character
3357  *
3358  * synopsis
3359  *	next_state = yy_try_NUL_trans( current_state );
3360  */
yy_try_NUL_trans(yy_state_type yy_current_state)3361     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
3362 {
3363 	int yy_is_jam;
3364 
3365 	int yy_c = 256;
3366 	const struct yy_trans_info *yy_trans_info;
3367 
3368 	yy_trans_info = &yy_current_state[(unsigned int) yy_c];
3369 	yy_current_state += yy_trans_info->yy_nxt;
3370 	yy_is_jam = (yy_trans_info->yy_verify != yy_c);
3371 
3372 		return yy_is_jam ? 0 : yy_current_state;
3373 }
3374 
3375 #ifndef YY_NO_UNPUT
3376 
3377 #endif
3378 
3379 #ifndef YY_NO_INPUT
3380 #ifdef __cplusplus
yyinput(void)3381     static int yyinput (void)
3382 #else
3383     static int input  (void)
3384 #endif
3385 
3386 {
3387 	int c;
3388 
3389 	*(yy_c_buf_p) = (yy_hold_char);
3390 
3391 	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3392 		{
3393 		/* yy_c_buf_p now points to the character we want to return.
3394 		 * If this occurs *before* the EOB characters, then it's a
3395 		 * valid NUL; if not, then we've hit the end of the buffer.
3396 		 */
3397 		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3398 			/* This was really a NUL. */
3399 			*(yy_c_buf_p) = '\0';
3400 
3401 		else
3402 			{ /* need more input */
3403 			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
3404 			++(yy_c_buf_p);
3405 
3406 			switch ( yy_get_next_buffer(  ) )
3407 				{
3408 				case EOB_ACT_LAST_MATCH:
3409 					/* This happens because yy_g_n_b()
3410 					 * sees that we've accumulated a
3411 					 * token and flags that we need to
3412 					 * try matching the token before
3413 					 * proceeding.  But for input(),
3414 					 * there's no matching to consider.
3415 					 * So convert the EOB_ACT_LAST_MATCH
3416 					 * to EOB_ACT_END_OF_FILE.
3417 					 */
3418 
3419 					/* Reset buffer status. */
3420 					yyrestart( yyin );
3421 
3422 					/*FALLTHROUGH*/
3423 
3424 				case EOB_ACT_END_OF_FILE:
3425 					{
3426 					if ( yywrap(  ) )
3427 						return 0;
3428 
3429 					if ( ! (yy_did_buffer_switch_on_eof) )
3430 						YY_NEW_FILE;
3431 #ifdef __cplusplus
3432 					return yyinput();
3433 #else
3434 					return input();
3435 #endif
3436 					}
3437 
3438 				case EOB_ACT_CONTINUE_SCAN:
3439 					(yy_c_buf_p) = (yytext_ptr) + offset;
3440 					break;
3441 				}
3442 			}
3443 		}
3444 
3445 	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
3446 	*(yy_c_buf_p) = '\0';	/* preserve yytext */
3447 	(yy_hold_char) = *++(yy_c_buf_p);
3448 
3449 	return c;
3450 }
3451 #endif	/* ifndef YY_NO_INPUT */
3452 
3453 /** Immediately switch to a different input stream.
3454  * @param input_file A readable stream.
3455  *
3456  * @note This function does not reset the start condition to @c INITIAL .
3457  */
yyrestart(FILE * input_file)3458     void yyrestart  (FILE * input_file )
3459 {
3460 
3461 	if ( ! YY_CURRENT_BUFFER ){
3462         yyensure_buffer_stack ();
3463 		YY_CURRENT_BUFFER_LVALUE =
3464             yy_create_buffer( yyin, YY_BUF_SIZE );
3465 	}
3466 
3467 	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3468 	yy_load_buffer_state(  );
3469 }
3470 
3471 /** Switch to a different input buffer.
3472  * @param new_buffer The new input buffer.
3473  *
3474  */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)3475     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3476 {
3477 
3478 	/* TODO. We should be able to replace this entire function body
3479 	 * with
3480 	 *		yypop_buffer_state();
3481 	 *		yypush_buffer_state(new_buffer);
3482      */
3483 	yyensure_buffer_stack ();
3484 	if ( YY_CURRENT_BUFFER == new_buffer )
3485 		return;
3486 
3487 	if ( YY_CURRENT_BUFFER )
3488 		{
3489 		/* Flush out information for old buffer. */
3490 		*(yy_c_buf_p) = (yy_hold_char);
3491 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3492 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3493 		}
3494 
3495 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3496 	yy_load_buffer_state(  );
3497 
3498 	/* We don't actually know whether we did this switch during
3499 	 * EOF (yywrap()) processing, but the only time this flag
3500 	 * is looked at is after yywrap() is called, so it's safe
3501 	 * to go ahead and always set it.
3502 	 */
3503 	(yy_did_buffer_switch_on_eof) = 1;
3504 }
3505 
yy_load_buffer_state(void)3506 static void yy_load_buffer_state  (void)
3507 {
3508     	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3509 	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3510 	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3511 	(yy_hold_char) = *(yy_c_buf_p);
3512 }
3513 
3514 /** Allocate and initialize an input buffer state.
3515  * @param file A readable stream.
3516  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3517  *
3518  * @return the allocated buffer state.
3519  */
yy_create_buffer(FILE * file,int size)3520     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
3521 {
3522 	YY_BUFFER_STATE b;
3523 
3524 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3525 	if ( ! b )
3526 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3527 
3528 	b->yy_buf_size = size;
3529 
3530 	/* yy_ch_buf has to be 2 characters longer than the size given because
3531 	 * we need to put in 2 end-of-buffer characters.
3532 	 */
3533 	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
3534 	if ( ! b->yy_ch_buf )
3535 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3536 
3537 	b->yy_is_our_buffer = 1;
3538 
3539 	yy_init_buffer( b, file );
3540 
3541 	return b;
3542 }
3543 
3544 /** Destroy the buffer.
3545  * @param b a buffer created with yy_create_buffer()
3546  *
3547  */
yy_delete_buffer(YY_BUFFER_STATE b)3548     void yy_delete_buffer (YY_BUFFER_STATE  b )
3549 {
3550 
3551 	if ( ! b )
3552 		return;
3553 
3554 	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3555 		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3556 
3557 	if ( b->yy_is_our_buffer )
3558 		yyfree( (void *) b->yy_ch_buf  );
3559 
3560 	yyfree( (void *) b  );
3561 }
3562 
3563 /* Initializes or reinitializes a buffer.
3564  * This function is sometimes called more than once on the same buffer,
3565  * such as during a yyrestart() or at EOF.
3566  */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)3567     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
3568 
3569 {
3570 	int oerrno = errno;
3571 
3572 	yy_flush_buffer( b );
3573 
3574 	b->yy_input_file = file;
3575 	b->yy_fill_buffer = 1;
3576 
3577     /* If b is the current buffer, then yy_init_buffer was _probably_
3578      * called from yyrestart() or through yy_get_next_buffer.
3579      * In that case, we don't want to reset the lineno or column.
3580      */
3581     if (b != YY_CURRENT_BUFFER){
3582         b->yy_bs_lineno = 1;
3583         b->yy_bs_column = 0;
3584     }
3585 
3586         b->yy_is_interactive = 0;
3587 
3588 	errno = oerrno;
3589 }
3590 
3591 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3592  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3593  *
3594  */
yy_flush_buffer(YY_BUFFER_STATE b)3595     void yy_flush_buffer (YY_BUFFER_STATE  b )
3596 {
3597     	if ( ! b )
3598 		return;
3599 
3600 	b->yy_n_chars = 0;
3601 
3602 	/* We always need two end-of-buffer characters.  The first causes
3603 	 * a transition to the end-of-buffer state.  The second causes
3604 	 * a jam in that state.
3605 	 */
3606 	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3607 	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3608 
3609 	b->yy_buf_pos = &b->yy_ch_buf[0];
3610 
3611 	b->yy_at_bol = 1;
3612 	b->yy_buffer_status = YY_BUFFER_NEW;
3613 
3614 	if ( b == YY_CURRENT_BUFFER )
3615 		yy_load_buffer_state(  );
3616 }
3617 
3618 /** Pushes the new state onto the stack. The new state becomes
3619  *  the current state. This function will allocate the stack
3620  *  if necessary.
3621  *  @param new_buffer The new state.
3622  *
3623  */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)3624 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3625 {
3626     	if (new_buffer == NULL)
3627 		return;
3628 
3629 	yyensure_buffer_stack();
3630 
3631 	/* This block is copied from yy_switch_to_buffer. */
3632 	if ( YY_CURRENT_BUFFER )
3633 		{
3634 		/* Flush out information for old buffer. */
3635 		*(yy_c_buf_p) = (yy_hold_char);
3636 		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3637 		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3638 		}
3639 
3640 	/* Only push if top exists. Otherwise, replace top. */
3641 	if (YY_CURRENT_BUFFER)
3642 		(yy_buffer_stack_top)++;
3643 	YY_CURRENT_BUFFER_LVALUE = new_buffer;
3644 
3645 	/* copied from yy_switch_to_buffer. */
3646 	yy_load_buffer_state(  );
3647 	(yy_did_buffer_switch_on_eof) = 1;
3648 }
3649 
3650 /** Removes and deletes the top of the stack, if present.
3651  *  The next element becomes the new top.
3652  *
3653  */
yypop_buffer_state(void)3654 void yypop_buffer_state (void)
3655 {
3656     	if (!YY_CURRENT_BUFFER)
3657 		return;
3658 
3659 	yy_delete_buffer(YY_CURRENT_BUFFER );
3660 	YY_CURRENT_BUFFER_LVALUE = NULL;
3661 	if ((yy_buffer_stack_top) > 0)
3662 		--(yy_buffer_stack_top);
3663 
3664 	if (YY_CURRENT_BUFFER) {
3665 		yy_load_buffer_state(  );
3666 		(yy_did_buffer_switch_on_eof) = 1;
3667 	}
3668 }
3669 
3670 /* Allocates the stack if it does not exist.
3671  *  Guarantees space for at least one push.
3672  */
yyensure_buffer_stack(void)3673 static void yyensure_buffer_stack (void)
3674 {
3675 	yy_size_t num_to_alloc;
3676 
3677 	if (!(yy_buffer_stack)) {
3678 
3679 		/* First allocation is just for 2 elements, since we don't know if this
3680 		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3681 		 * immediate realloc on the next call.
3682          */
3683       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3684 		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3685 								(num_to_alloc * sizeof(struct yy_buffer_state*)
3686 								);
3687 		if ( ! (yy_buffer_stack) )
3688 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3689 
3690 		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3691 
3692 		(yy_buffer_stack_max) = num_to_alloc;
3693 		(yy_buffer_stack_top) = 0;
3694 		return;
3695 	}
3696 
3697 	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3698 
3699 		/* Increase the buffer to prepare for a possible push. */
3700 		yy_size_t grow_size = 8 /* arbitrary grow size */;
3701 
3702 		num_to_alloc = (yy_buffer_stack_max) + grow_size;
3703 		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3704 								((yy_buffer_stack),
3705 								num_to_alloc * sizeof(struct yy_buffer_state*)
3706 								);
3707 		if ( ! (yy_buffer_stack) )
3708 			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3709 
3710 		/* zero only the new slots.*/
3711 		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3712 		(yy_buffer_stack_max) = num_to_alloc;
3713 	}
3714 }
3715 
3716 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3717  * @param base the character buffer
3718  * @param size the size in bytes of the character buffer
3719  *
3720  * @return the newly allocated buffer state object.
3721  */
yy_scan_buffer(char * base,yy_size_t size)3722 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
3723 {
3724 	YY_BUFFER_STATE b;
3725 
3726 	if ( size < 2 ||
3727 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3728 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
3729 		/* They forgot to leave room for the EOB's. */
3730 		return NULL;
3731 
3732 	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
3733 	if ( ! b )
3734 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3735 
3736 	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
3737 	b->yy_buf_pos = b->yy_ch_buf = base;
3738 	b->yy_is_our_buffer = 0;
3739 	b->yy_input_file = NULL;
3740 	b->yy_n_chars = b->yy_buf_size;
3741 	b->yy_is_interactive = 0;
3742 	b->yy_at_bol = 1;
3743 	b->yy_fill_buffer = 0;
3744 	b->yy_buffer_status = YY_BUFFER_NEW;
3745 
3746 	yy_switch_to_buffer( b  );
3747 
3748 	return b;
3749 }
3750 
3751 /** Setup the input buffer state to scan a string. The next call to yylex() will
3752  * scan from a @e copy of @a str.
3753  * @param yystr a NUL-terminated string to scan
3754  *
3755  * @return the newly allocated buffer state object.
3756  * @note If you want to scan bytes that may contain NUL values, then use
3757  *       yy_scan_bytes() instead.
3758  */
yy_scan_string(const char * yystr)3759 YY_BUFFER_STATE yy_scan_string (const char * yystr )
3760 {
3761 
3762 	return yy_scan_bytes( yystr, (int) strlen(yystr) );
3763 }
3764 
3765 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3766  * scan from a @e copy of @a bytes.
3767  * @param yybytes the byte buffer to scan
3768  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3769  *
3770  * @return the newly allocated buffer state object.
3771  */
yy_scan_bytes(const char * yybytes,int _yybytes_len)3772 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
3773 {
3774 	YY_BUFFER_STATE b;
3775 	char *buf;
3776 	yy_size_t n;
3777 	int i;
3778 
3779 	/* Get memory for full buffer, including space for trailing EOB's. */
3780 	n = (yy_size_t) (_yybytes_len + 2);
3781 	buf = (char *) yyalloc( n  );
3782 	if ( ! buf )
3783 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3784 
3785 	for ( i = 0; i < _yybytes_len; ++i )
3786 		buf[i] = yybytes[i];
3787 
3788 	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3789 
3790 	b = yy_scan_buffer( buf, n );
3791 	if ( ! b )
3792 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3793 
3794 	/* It's okay to grow etc. this buffer, and we should throw it
3795 	 * away when we're done.
3796 	 */
3797 	b->yy_is_our_buffer = 1;
3798 
3799 	return b;
3800 }
3801 
3802 #ifndef YY_EXIT_FAILURE
3803 #define YY_EXIT_FAILURE 2
3804 #endif
3805 
yy_fatal_error(const char * msg)3806 static void yynoreturn yy_fatal_error (const char* msg )
3807 {
3808 			fprintf( stderr, "%s\n", msg );
3809 	exit( YY_EXIT_FAILURE );
3810 }
3811 
3812 /* Redefine yyless() so it works in section 3 code. */
3813 
3814 #undef yyless
3815 #define yyless(n) \
3816 	do \
3817 		{ \
3818 		/* Undo effects of setting up yytext. */ \
3819         int yyless_macro_arg = (n); \
3820         YY_LESS_LINENO(yyless_macro_arg);\
3821 		yytext[yyleng] = (yy_hold_char); \
3822 		(yy_c_buf_p) = yytext + yyless_macro_arg; \
3823 		(yy_hold_char) = *(yy_c_buf_p); \
3824 		*(yy_c_buf_p) = '\0'; \
3825 		yyleng = yyless_macro_arg; \
3826 		} \
3827 	while ( 0 )
3828 
3829 /* Accessor  methods (get/set functions) to struct members. */
3830 
3831 /** Get the current line number.
3832  *
3833  */
yyget_lineno(void)3834 int yyget_lineno  (void)
3835 {
3836 
3837     return yylineno;
3838 }
3839 
3840 /** Get the input stream.
3841  *
3842  */
yyget_in(void)3843 FILE *yyget_in  (void)
3844 {
3845         return yyin;
3846 }
3847 
3848 /** Get the output stream.
3849  *
3850  */
yyget_out(void)3851 FILE *yyget_out  (void)
3852 {
3853         return yyout;
3854 }
3855 
3856 /** Get the length of the current token.
3857  *
3858  */
yyget_leng(void)3859 int yyget_leng  (void)
3860 {
3861         return yyleng;
3862 }
3863 
3864 /** Get the current token.
3865  *
3866  */
3867 
yyget_text(void)3868 char *yyget_text  (void)
3869 {
3870         return yytext;
3871 }
3872 
3873 /** Set the current line number.
3874  * @param _line_number line number
3875  *
3876  */
yyset_lineno(int _line_number)3877 void yyset_lineno (int  _line_number )
3878 {
3879 
3880     yylineno = _line_number;
3881 }
3882 
3883 /** Set the input stream. This does not discard the current
3884  * input buffer.
3885  * @param _in_str A readable stream.
3886  *
3887  * @see yy_switch_to_buffer
3888  */
yyset_in(FILE * _in_str)3889 void yyset_in (FILE *  _in_str )
3890 {
3891         yyin = _in_str ;
3892 }
3893 
yyset_out(FILE * _out_str)3894 void yyset_out (FILE *  _out_str )
3895 {
3896         yyout = _out_str ;
3897 }
3898 
yyget_debug(void)3899 int yyget_debug  (void)
3900 {
3901         return yy_flex_debug;
3902 }
3903 
yyset_debug(int _bdebug)3904 void yyset_debug (int  _bdebug )
3905 {
3906         yy_flex_debug = _bdebug ;
3907 }
3908 
yy_init_globals(void)3909 static int yy_init_globals (void)
3910 {
3911         /* Initialization is the same as for the non-reentrant scanner.
3912      * This function is called from yylex_destroy(), so don't allocate here.
3913      */
3914 
3915     (yy_buffer_stack) = NULL;
3916     (yy_buffer_stack_top) = 0;
3917     (yy_buffer_stack_max) = 0;
3918     (yy_c_buf_p) = NULL;
3919     (yy_init) = 0;
3920     (yy_start) = 0;
3921 
3922 /* Defined in main.c */
3923 #ifdef YY_STDINIT
3924     yyin = stdin;
3925     yyout = stdout;
3926 #else
3927     yyin = NULL;
3928     yyout = NULL;
3929 #endif
3930 
3931     /* For future reference: Set errno on error, since we are called by
3932      * yylex_init()
3933      */
3934     return 0;
3935 }
3936 
3937 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)3938 int yylex_destroy  (void)
3939 {
3940 
3941     /* Pop the buffer stack, destroying each element. */
3942 	while(YY_CURRENT_BUFFER){
3943 		yy_delete_buffer( YY_CURRENT_BUFFER  );
3944 		YY_CURRENT_BUFFER_LVALUE = NULL;
3945 		yypop_buffer_state();
3946 	}
3947 
3948 	/* Destroy the stack itself. */
3949 	yyfree((yy_buffer_stack) );
3950 	(yy_buffer_stack) = NULL;
3951 
3952     /* Reset the globals. This is important in a non-reentrant scanner so the next time
3953      * yylex() is called, initialization will occur. */
3954     yy_init_globals( );
3955 
3956     return 0;
3957 }
3958 
3959 /*
3960  * Internal utility routines.
3961  */
3962 
3963 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)3964 static void yy_flex_strncpy (char* s1, const char * s2, int n )
3965 {
3966 
3967 	int i;
3968 	for ( i = 0; i < n; ++i )
3969 		s1[i] = s2[i];
3970 }
3971 #endif
3972 
3973 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)3974 static int yy_flex_strlen (const char * s )
3975 {
3976 	int n;
3977 	for ( n = 0; s[n]; ++n )
3978 		;
3979 
3980 	return n;
3981 }
3982 #endif
3983 
3984 #define YYTABLES_NAME "yytables"
3985 
3986 #line 274 "jsonpath_scan.l"
3987 
3988 
3989 /* LCOV_EXCL_STOP */
3990 
3991 void
jsonpath_yyerror(JsonPathParseResult ** result,const char * message)3992 jsonpath_yyerror(JsonPathParseResult **result, const char *message)
3993 {
3994 	if (*yytext == YY_END_OF_BUFFER_CHAR)
3995 	{
3996 		ereport(ERROR,
3997 				(errcode(ERRCODE_SYNTAX_ERROR),
3998 				 /* translator: %s is typically "syntax error" */
3999 				 errmsg("%s at end of jsonpath input", _(message))));
4000 	}
4001 	else
4002 	{
4003 		ereport(ERROR,
4004 				(errcode(ERRCODE_SYNTAX_ERROR),
4005 				 /* translator: first %s is typically "syntax error" */
4006 				 errmsg("%s at or near \"%s\" of jsonpath input",
4007 						_(message), yytext)));
4008 	}
4009 }
4010 
4011 typedef struct JsonPathKeyword
4012 {
4013 	int16		len;
4014 	bool		lowercase;
4015 	int			val;
4016 	const char *keyword;
4017 } JsonPathKeyword;
4018 
4019 /*
4020  * Array of key words should be sorted by length and then
4021  * alphabetical order
4022  */
4023 static const JsonPathKeyword keywords[] = {
4024 	{ 2, false,	IS_P,		"is"},
4025 	{ 2, false,	TO_P,		"to"},
4026 	{ 3, false,	ABS_P,		"abs"},
4027 	{ 3, false,	LAX_P,		"lax"},
4028 	{ 4, false,	FLAG_P,		"flag"},
4029 	{ 4, false,	LAST_P,		"last"},
4030 	{ 4, true,	NULL_P,		"null"},
4031 	{ 4, false,	SIZE_P,		"size"},
4032 	{ 4, true,	TRUE_P,		"true"},
4033 	{ 4, false,	TYPE_P,		"type"},
4034 	{ 4, false,	WITH_P,		"with"},
4035 	{ 5, true,	FALSE_P,	"false"},
4036 	{ 5, false,	FLOOR_P,	"floor"},
4037 	{ 6, false,	DOUBLE_P,	"double"},
4038 	{ 6, false,	EXISTS_P,	"exists"},
4039 	{ 6, false,	STARTS_P,	"starts"},
4040 	{ 6, false,	STRICT_P,	"strict"},
4041 	{ 7, false,	CEILING_P,	"ceiling"},
4042 	{ 7, false,	UNKNOWN_P,	"unknown"},
4043 	{ 8, false,	DATETIME_P,	"datetime"},
4044 	{ 8, false,	KEYVALUE_P,	"keyvalue"},
4045 	{ 10,false, LIKE_REGEX_P, "like_regex"},
4046 };
4047 
4048 /* Check if current scanstring value is a keyword */
4049 static enum yytokentype
checkKeyword()4050 checkKeyword()
4051 {
4052 	int						res = IDENT_P;
4053 	int						diff;
4054 	const JsonPathKeyword  *StopLow = keywords,
4055 						   *StopHigh = keywords + lengthof(keywords),
4056 						   *StopMiddle;
4057 
4058 	if (scanstring.len > keywords[lengthof(keywords) - 1].len)
4059 		return res;
4060 
4061 	while (StopLow < StopHigh)
4062 	{
4063 		StopMiddle = StopLow + ((StopHigh - StopLow) >> 1);
4064 
4065 		if (StopMiddle->len == scanstring.len)
4066 			diff = pg_strncasecmp(StopMiddle->keyword, scanstring.val,
4067 								  scanstring.len);
4068 		else
4069 			diff = StopMiddle->len - scanstring.len;
4070 
4071 		if (diff < 0)
4072 			StopLow = StopMiddle + 1;
4073 		else if (diff > 0)
4074 			StopHigh = StopMiddle;
4075 		else
4076 		{
4077 			if (StopMiddle->lowercase)
4078 				diff = strncmp(StopMiddle->keyword, scanstring.val,
4079 							   scanstring.len);
4080 
4081 			if (diff == 0)
4082 				res = StopMiddle->val;
4083 
4084 			break;
4085 		}
4086 	}
4087 
4088 	return res;
4089 }
4090 
4091 /*
4092  * Called before any actual parsing is done
4093  */
4094 static void
jsonpath_scanner_init(const char * str,int slen)4095 jsonpath_scanner_init(const char *str, int slen)
4096 {
4097 	if (slen <= 0)
4098 		slen = strlen(str);
4099 
4100 	/*
4101 	 * Might be left over after ereport()
4102 	 */
4103 	yy_init_globals();
4104 
4105 	/*
4106 	 * Make a scan buffer with special termination needed by flex.
4107 	 */
4108 
4109 	scanbuflen = slen;
4110 	scanbuf = palloc(slen + 2);
4111 	memcpy(scanbuf, str, slen);
4112 	scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
4113 	scanbufhandle = yy_scan_buffer(scanbuf, slen + 2);
4114 
4115 	BEGIN(INITIAL);
4116 }
4117 
4118 
4119 /*
4120  * Called after parsing is done to clean up after jsonpath_scanner_init()
4121  */
4122 static void
jsonpath_scanner_finish(void)4123 jsonpath_scanner_finish(void)
4124 {
4125 	yy_delete_buffer(scanbufhandle);
4126 	pfree(scanbuf);
4127 }
4128 
4129 /*
4130  * Resize scanstring so that it can append string of given length.
4131  * Reinitialize if required.
4132  */
4133 static void
resizeString(bool init,int appendLen)4134 resizeString(bool init, int appendLen)
4135 {
4136 	if (init)
4137 	{
4138 		scanstring.total = Max(32, appendLen);
4139 		scanstring.val = (char *) palloc(scanstring.total);
4140 		scanstring.len = 0;
4141 	}
4142 	else
4143 	{
4144 		if (scanstring.len + appendLen >= scanstring.total)
4145 		{
4146 			while (scanstring.len + appendLen >= scanstring.total)
4147 				scanstring.total *= 2;
4148 			scanstring.val = repalloc(scanstring.val, scanstring.total);
4149 		}
4150 	}
4151 }
4152 
4153 /* Add set of bytes at "s" of length "l" to scanstring */
4154 static void
addstring(bool init,char * s,int l)4155 addstring(bool init, char *s, int l)
4156 {
4157 	resizeString(init, l + 1);
4158 	memcpy(scanstring.val + scanstring.len, s, l);
4159 	scanstring.len += l;
4160 }
4161 
4162 /* Add single byte "c" to scanstring */
4163 static void
addchar(bool init,char c)4164 addchar(bool init, char c)
4165 {
4166 	resizeString(init, 1);
4167 	scanstring.val[scanstring.len] = c;
4168 	if (c != '\0')
4169 		scanstring.len++;
4170 }
4171 
4172 /* Interface to jsonpath parser */
4173 JsonPathParseResult *
parsejsonpath(const char * str,int len)4174 parsejsonpath(const char *str, int len)
4175 {
4176 	JsonPathParseResult	*parseresult;
4177 
4178 	jsonpath_scanner_init(str, len);
4179 
4180 	if (jsonpath_yyparse((void *) &parseresult) != 0)
4181 		jsonpath_yyerror(NULL, "bogus input"); /* shouldn't happen */
4182 
4183 	jsonpath_scanner_finish();
4184 
4185 	return parseresult;
4186 }
4187 
4188 /* Turn hex character into integer */
4189 static int
hexval(char c)4190 hexval(char c)
4191 {
4192 	if (c >= '0' && c <= '9')
4193 		return c - '0';
4194 	if (c >= 'a' && c <= 'f')
4195 		return c - 'a' + 0xA;
4196 	if (c >= 'A' && c <= 'F')
4197 		return c - 'A' + 0xA;
4198 	jsonpath_yyerror(NULL, "invalid hexadecimal digit");
4199 	return 0; /* not reached */
4200 }
4201 
4202 /* Add given unicode character to scanstring */
4203 static void
addUnicodeChar(int ch)4204 addUnicodeChar(int ch)
4205 {
4206 	if (ch == 0)
4207 	{
4208 		/* We can't allow this, since our TEXT type doesn't */
4209 		ereport(ERROR,
4210 				(errcode(ERRCODE_UNTRANSLATABLE_CHARACTER),
4211 				 errmsg("unsupported Unicode escape sequence"),
4212 				  errdetail("\\u0000 cannot be converted to text.")));
4213 	}
4214 	else
4215 	{
4216 		char		cbuf[MAX_UNICODE_EQUIVALENT_STRING + 1];
4217 
4218 		pg_unicode_to_server(ch, (unsigned char *) cbuf);
4219 		addstring(false, cbuf, strlen(cbuf));
4220 	}
4221 }
4222 
4223 /* Add unicode character, processing any surrogate pairs */
4224 static void
addUnicode(int ch,int * hi_surrogate)4225 addUnicode(int ch, int *hi_surrogate)
4226 {
4227 	if (is_utf16_surrogate_first(ch))
4228 	{
4229 		if (*hi_surrogate != -1)
4230 			ereport(ERROR,
4231 					(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
4232 					 errmsg("invalid input syntax for type %s", "jsonpath"),
4233 					 errdetail("Unicode high surrogate must not follow "
4234 							   "a high surrogate.")));
4235 		*hi_surrogate = ch;
4236 		return;
4237 	}
4238 	else if (is_utf16_surrogate_second(ch))
4239 	{
4240 		if (*hi_surrogate == -1)
4241 			ereport(ERROR,
4242 					(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
4243 					 errmsg("invalid input syntax for type %s", "jsonpath"),
4244 					 errdetail("Unicode low surrogate must follow a high "
4245 							   "surrogate.")));
4246 		ch = surrogate_pair_to_codepoint(*hi_surrogate, ch);
4247 		*hi_surrogate = -1;
4248 	}
4249 	else if (*hi_surrogate != -1)
4250 	{
4251 		ereport(ERROR,
4252 				(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
4253 				 errmsg("invalid input syntax for type %s", "jsonpath"),
4254 				 errdetail("Unicode low surrogate must follow a high "
4255 						   "surrogate.")));
4256 	}
4257 
4258 	addUnicodeChar(ch);
4259 }
4260 
4261 /*
4262  * parseUnicode was adopted from json_lex_string() in
4263  * src/backend/utils/adt/json.c
4264  */
4265 static void
parseUnicode(char * s,int l)4266 parseUnicode(char *s, int l)
4267 {
4268 	int			i = 2;
4269 	int			hi_surrogate = -1;
4270 
4271 	for (i = 2; i < l; i += 2)	/* skip '\u' */
4272 	{
4273 		int			ch = 0;
4274 		int			j;
4275 
4276 		if (s[i] == '{')	/* parse '\u{XX...}' */
4277 		{
4278 			while (s[++i] != '}' && i < l)
4279 				ch = (ch << 4) | hexval(s[i]);
4280 			i++;	/* skip '}' */
4281 		}
4282 		else		/* parse '\uXXXX' */
4283 		{
4284 			for (j = 0; j < 4 && i < l; j++)
4285 				ch = (ch << 4) | hexval(s[i++]);
4286 		}
4287 
4288 		addUnicode(ch, &hi_surrogate);
4289 	}
4290 
4291 	if (hi_surrogate != -1)
4292 	{
4293 		ereport(ERROR,
4294 				(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
4295 				 errmsg("invalid input syntax for type %s", "jsonpath"),
4296 				 errdetail("Unicode low surrogate must follow a high "
4297 						   "surrogate.")));
4298 	}
4299 }
4300 
4301 /* Parse sequence of hex-encoded characters */
4302 static void
parseHexChar(char * s)4303 parseHexChar(char *s)
4304 {
4305 	int			ch = (hexval(s[2]) << 4) |
4306 					  hexval(s[3]);
4307 
4308 	addUnicodeChar(ch);
4309 }
4310 
4311 /*
4312  * Interface functions to make flex use palloc() instead of malloc().
4313  * It'd be better to make these static, but flex insists otherwise.
4314  */
4315 
4316 void *
jsonpath_yyalloc(yy_size_t bytes)4317 jsonpath_yyalloc(yy_size_t bytes)
4318 {
4319 	return palloc(bytes);
4320 }
4321 
4322 void *
jsonpath_yyrealloc(void * ptr,yy_size_t bytes)4323 jsonpath_yyrealloc(void *ptr, yy_size_t bytes)
4324 {
4325 	if (ptr)
4326 		return repalloc(ptr, bytes);
4327 	else
4328 		return palloc(bytes);
4329 }
4330 
4331 void
jsonpath_yyfree(void * ptr)4332 jsonpath_yyfree(void *ptr)
4333 {
4334 	if (ptr)
4335 		pfree(ptr);
4336 }
4337 
4338