YugabyteDB (2.13.1.0-b60, 21121d69985fbf76aa6958d8f04a9bfa936293b5)

Coverage Report

Created: 2022-03-22 16:43

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