1 /* A Bison parser, made by GNU Bison 3.8.2.  */
2 
3 /* Bison implementation for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* C LALR(1) parser skeleton written by Richard Stallman, by
35    simplifying the original so-called "semantic" parser.  */
36 
37 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
38    especially those whose name start with YY_ or yy_.  They are
39    private implementation details that can be changed or removed.  */
40 
41 /* All symbols defined below should begin with yy or YY, to avoid
42    infringing on user name space.  This should be done even for local
43    variables, as they might otherwise be expanded by user macros.
44    There are some unavoidable exceptions within include files to
45    define necessary library symbols; they are noted "INFRINGES ON
46    USER NAME SPACE" below.  */
47 
48 /* Identify Bison output, and Bison version.  */
49 #define YYBISON 30802
50 
51 /* Bison version string.  */
52 #define YYBISON_VERSION "3.8.2"
53 
54 /* Skeleton name.  */
55 #define YYSKELETON_NAME "yacc.c"
56 
57 /* Pure parsers.  */
58 #define YYPURE 1
59 
60 /* Push parsers.  */
61 #define YYPUSH 0
62 
63 /* Pull parsers.  */
64 #define YYPULL 1
65 
66 /* Substitute the type names.  */
67 #define YYSTYPE         JAVA_STYPE
68 #define YYLTYPE         JAVA_LTYPE
69 /* Substitute the variable and function names.  */
70 #define yyparse         java_parse
71 #define yylex           java_lex
72 #define yyerror         java_error
73 #define yydebug         java_debug
74 #define yynerrs         java_nerrs
75 
76 
77 # ifndef YY_CAST
78 #  ifdef __cplusplus
79 #   define YY_CAST(Type, Val) static_cast<Type> (Val)
80 #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
81 #  else
82 #   define YY_CAST(Type, Val) ((Type) (Val))
83 #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
84 #  endif
85 # endif
86 # ifndef YY_NULLPTR
87 #  if defined __cplusplus
88 #   if 201103L <= __cplusplus
89 #    define YY_NULLPTR nullptr
90 #   else
91 #    define YY_NULLPTR 0
92 #   endif
93 #  else
94 #   define YY_NULLPTR ((void*)0)
95 #  endif
96 # endif
97 
98 /* Use api.header.include to #include this header
99    instead of duplicating it here.  */
100 #ifndef YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED
101 # define YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED
102 /* Debug traces.  */
103 #ifndef JAVA_DEBUG
104 # if defined YYDEBUG
105 #if YYDEBUG
106 #   define JAVA_DEBUG 1
107 #  else
108 #   define JAVA_DEBUG 0
109 #  endif
110 # else /* ! defined YYDEBUG */
111 #  define JAVA_DEBUG 0
112 # endif /* ! defined YYDEBUG */
113 #endif  /* ! defined JAVA_DEBUG */
114 #if JAVA_DEBUG
115 extern int java_debug;
116 #endif
117 /* "%code requires" blocks.  */
118 #line 25 "modules/java/native/java-grammar.y"
119 
120 
121 #include "java-parser.h"
122 
123 
124 #line 125 "modules/java/native/java-grammar.c"
125 
126 /* Token kinds.  */
127 #ifndef JAVA_TOKENTYPE
128 # define JAVA_TOKENTYPE
129   enum java_tokentype
130   {
131     JAVA_EMPTY = -2,
132     JAVA_EOF = 0,                  /* "end of file"  */
133     JAVA_error = 256,              /* error  */
134     JAVA_UNDEF = 10514,            /* "invalid token"  */
135     LL_CONTEXT_ROOT = 1,           /* LL_CONTEXT_ROOT  */
136     LL_CONTEXT_DESTINATION = 2,    /* LL_CONTEXT_DESTINATION  */
137     LL_CONTEXT_SOURCE = 3,         /* LL_CONTEXT_SOURCE  */
138     LL_CONTEXT_PARSER = 4,         /* LL_CONTEXT_PARSER  */
139     LL_CONTEXT_REWRITE = 5,        /* LL_CONTEXT_REWRITE  */
140     LL_CONTEXT_FILTER = 6,         /* LL_CONTEXT_FILTER  */
141     LL_CONTEXT_LOG = 7,            /* LL_CONTEXT_LOG  */
142     LL_CONTEXT_BLOCK_DEF = 8,      /* LL_CONTEXT_BLOCK_DEF  */
143     LL_CONTEXT_BLOCK_REF = 9,      /* LL_CONTEXT_BLOCK_REF  */
144     LL_CONTEXT_BLOCK_CONTENT = 10, /* LL_CONTEXT_BLOCK_CONTENT  */
145     LL_CONTEXT_BLOCK_ARG = 11,     /* LL_CONTEXT_BLOCK_ARG  */
146     LL_CONTEXT_PRAGMA = 12,        /* LL_CONTEXT_PRAGMA  */
147     LL_CONTEXT_FORMAT = 13,        /* LL_CONTEXT_FORMAT  */
148     LL_CONTEXT_TEMPLATE_FUNC = 14, /* LL_CONTEXT_TEMPLATE_FUNC  */
149     LL_CONTEXT_INNER_DEST = 15,    /* LL_CONTEXT_INNER_DEST  */
150     LL_CONTEXT_INNER_SRC = 16,     /* LL_CONTEXT_INNER_SRC  */
151     LL_CONTEXT_CLIENT_PROTO = 17,  /* LL_CONTEXT_CLIENT_PROTO  */
152     LL_CONTEXT_SERVER_PROTO = 18,  /* LL_CONTEXT_SERVER_PROTO  */
153     LL_CONTEXT_OPTIONS = 19,       /* LL_CONTEXT_OPTIONS  */
154     LL_CONTEXT_CONFIG = 20,        /* LL_CONTEXT_CONFIG  */
155     LL_CONTEXT_MAX = 21,           /* LL_CONTEXT_MAX  */
156     KW_SOURCE = 10000,             /* KW_SOURCE  */
157     KW_FILTER = 10001,             /* KW_FILTER  */
158     KW_PARSER = 10002,             /* KW_PARSER  */
159     KW_DESTINATION = 10003,        /* KW_DESTINATION  */
160     KW_LOG = 10004,                /* KW_LOG  */
161     KW_OPTIONS = 10005,            /* KW_OPTIONS  */
162     KW_INCLUDE = 10006,            /* KW_INCLUDE  */
163     KW_BLOCK = 10007,              /* KW_BLOCK  */
164     KW_JUNCTION = 10008,           /* KW_JUNCTION  */
165     KW_CHANNEL = 10009,            /* KW_CHANNEL  */
166     KW_IF = 10010,                 /* KW_IF  */
167     KW_ELSE = 10011,               /* KW_ELSE  */
168     KW_ELIF = 10012,               /* KW_ELIF  */
169     KW_INTERNAL = 10020,           /* KW_INTERNAL  */
170     KW_SYSLOG = 10060,             /* KW_SYSLOG  */
171     KW_MARK_FREQ = 10071,          /* KW_MARK_FREQ  */
172     KW_STATS_FREQ = 10072,         /* KW_STATS_FREQ  */
173     KW_STATS_LEVEL = 10073,        /* KW_STATS_LEVEL  */
174     KW_STATS_LIFETIME = 10074,     /* KW_STATS_LIFETIME  */
175     KW_FLUSH_LINES = 10075,        /* KW_FLUSH_LINES  */
176     KW_SUPPRESS = 10076,           /* KW_SUPPRESS  */
177     KW_FLUSH_TIMEOUT = 10077,      /* KW_FLUSH_TIMEOUT  */
178     KW_LOG_MSG_SIZE = 10078,       /* KW_LOG_MSG_SIZE  */
179     KW_FILE_TEMPLATE = 10079,      /* KW_FILE_TEMPLATE  */
180     KW_PROTO_TEMPLATE = 10080,     /* KW_PROTO_TEMPLATE  */
181     KW_MARK_MODE = 10081,          /* KW_MARK_MODE  */
182     KW_ENCODING = 10082,           /* KW_ENCODING  */
183     KW_TYPE = 10083,               /* KW_TYPE  */
184     KW_STATS_MAX_DYNAMIC = 10084,  /* KW_STATS_MAX_DYNAMIC  */
185     KW_MIN_IW_SIZE_PER_READER = 10085, /* KW_MIN_IW_SIZE_PER_READER  */
186     KW_WORKERS = 10086,            /* KW_WORKERS  */
187     KW_BATCH_LINES = 10087,        /* KW_BATCH_LINES  */
188     KW_BATCH_TIMEOUT = 10088,      /* KW_BATCH_TIMEOUT  */
189     KW_TRIM_LARGE_MESSAGES = 10089, /* KW_TRIM_LARGE_MESSAGES  */
190     KW_CHAIN_HOSTNAMES = 10090,    /* KW_CHAIN_HOSTNAMES  */
191     KW_NORMALIZE_HOSTNAMES = 10091, /* KW_NORMALIZE_HOSTNAMES  */
192     KW_KEEP_HOSTNAME = 10092,      /* KW_KEEP_HOSTNAME  */
193     KW_CHECK_HOSTNAME = 10093,     /* KW_CHECK_HOSTNAME  */
194     KW_BAD_HOSTNAME = 10094,       /* KW_BAD_HOSTNAME  */
195     KW_KEEP_TIMESTAMP = 10100,     /* KW_KEEP_TIMESTAMP  */
196     KW_USE_DNS = 10110,            /* KW_USE_DNS  */
197     KW_USE_FQDN = 10111,           /* KW_USE_FQDN  */
198     KW_CUSTOM_DOMAIN = 10112,      /* KW_CUSTOM_DOMAIN  */
199     KW_DNS_CACHE = 10120,          /* KW_DNS_CACHE  */
200     KW_DNS_CACHE_SIZE = 10121,     /* KW_DNS_CACHE_SIZE  */
201     KW_DNS_CACHE_EXPIRE = 10130,   /* KW_DNS_CACHE_EXPIRE  */
202     KW_DNS_CACHE_EXPIRE_FAILED = 10131, /* KW_DNS_CACHE_EXPIRE_FAILED  */
203     KW_DNS_CACHE_HOSTS = 10132,    /* KW_DNS_CACHE_HOSTS  */
204     KW_PERSIST_ONLY = 10140,       /* KW_PERSIST_ONLY  */
205     KW_USE_RCPTID = 10141,         /* KW_USE_RCPTID  */
206     KW_USE_UNIQID = 10142,         /* KW_USE_UNIQID  */
207     KW_TZ_CONVERT = 10150,         /* KW_TZ_CONVERT  */
208     KW_TS_FORMAT = 10151,          /* KW_TS_FORMAT  */
209     KW_FRAC_DIGITS = 10152,        /* KW_FRAC_DIGITS  */
210     KW_LOG_FIFO_SIZE = 10160,      /* KW_LOG_FIFO_SIZE  */
211     KW_LOG_FETCH_LIMIT = 10162,    /* KW_LOG_FETCH_LIMIT  */
212     KW_LOG_IW_SIZE = 10163,        /* KW_LOG_IW_SIZE  */
213     KW_LOG_PREFIX = 10164,         /* KW_LOG_PREFIX  */
214     KW_PROGRAM_OVERRIDE = 10165,   /* KW_PROGRAM_OVERRIDE  */
215     KW_HOST_OVERRIDE = 10166,      /* KW_HOST_OVERRIDE  */
216     KW_THROTTLE = 10170,           /* KW_THROTTLE  */
217     KW_THREADED = 10171,           /* KW_THREADED  */
218     KW_PASS_UNIX_CREDENTIALS = 10231, /* KW_PASS_UNIX_CREDENTIALS  */
219     KW_PERSIST_NAME = 10302,       /* KW_PERSIST_NAME  */
220     KW_READ_OLD_RECORDS = 10304,   /* KW_READ_OLD_RECORDS  */
221     KW_USE_SYSLOGNG_PID = 10305,   /* KW_USE_SYSLOGNG_PID  */
222     KW_FLAGS = 10190,              /* KW_FLAGS  */
223     KW_PAD_SIZE = 10200,           /* KW_PAD_SIZE  */
224     KW_TIME_ZONE = 10201,          /* KW_TIME_ZONE  */
225     KW_RECV_TIME_ZONE = 10202,     /* KW_RECV_TIME_ZONE  */
226     KW_SEND_TIME_ZONE = 10203,     /* KW_SEND_TIME_ZONE  */
227     KW_LOCAL_TIME_ZONE = 10204,    /* KW_LOCAL_TIME_ZONE  */
228     KW_FORMAT = 10205,             /* KW_FORMAT  */
229     KW_TRUNCATE_SIZE = 10206,      /* KW_TRUNCATE_SIZE  */
230     KW_TIME_REOPEN = 10210,        /* KW_TIME_REOPEN  */
231     KW_TIME_REAP = 10211,          /* KW_TIME_REAP  */
232     KW_TIME_SLEEP = 10212,         /* KW_TIME_SLEEP  */
233     KW_TMPL_ESCAPE = 10220,        /* KW_TMPL_ESCAPE  */
234     KW_OPTIONAL = 10230,           /* KW_OPTIONAL  */
235     KW_CREATE_DIRS = 10240,        /* KW_CREATE_DIRS  */
236     KW_OWNER = 10250,              /* KW_OWNER  */
237     KW_GROUP = 10251,              /* KW_GROUP  */
238     KW_PERM = 10252,               /* KW_PERM  */
239     KW_DIR_OWNER = 10260,          /* KW_DIR_OWNER  */
240     KW_DIR_GROUP = 10261,          /* KW_DIR_GROUP  */
241     KW_DIR_PERM = 10262,           /* KW_DIR_PERM  */
242     KW_TEMPLATE = 10270,           /* KW_TEMPLATE  */
243     KW_TEMPLATE_ESCAPE = 10271,    /* KW_TEMPLATE_ESCAPE  */
244     KW_TEMPLATE_FUNCTION = 10272,  /* KW_TEMPLATE_FUNCTION  */
245     KW_DEFAULT_FACILITY = 10300,   /* KW_DEFAULT_FACILITY  */
246     KW_DEFAULT_SEVERITY = 10301,   /* KW_DEFAULT_SEVERITY  */
247     KW_PORT = 10323,               /* KW_PORT  */
248     KW_USE_TIME_RECVD = 10340,     /* KW_USE_TIME_RECVD  */
249     KW_FACILITY = 10350,           /* KW_FACILITY  */
250     KW_SEVERITY = 10351,           /* KW_SEVERITY  */
251     KW_HOST = 10352,               /* KW_HOST  */
252     KW_MATCH = 10353,              /* KW_MATCH  */
253     KW_MESSAGE = 10354,            /* KW_MESSAGE  */
254     KW_NETMASK = 10355,            /* KW_NETMASK  */
255     KW_TAGS = 10356,               /* KW_TAGS  */
256     KW_NETMASK6 = 10357,           /* KW_NETMASK6  */
257     KW_REWRITE = 10370,            /* KW_REWRITE  */
258     KW_CONDITION = 10371,          /* KW_CONDITION  */
259     KW_VALUE = 10372,              /* KW_VALUE  */
260     KW_YES = 10380,                /* KW_YES  */
261     KW_NO = 10381,                 /* KW_NO  */
262     KW_IFDEF = 10410,              /* KW_IFDEF  */
263     KW_ENDIF = 10411,              /* KW_ENDIF  */
264     LL_DOTDOT = 10420,             /* LL_DOTDOT  */
265     LL_DOTDOTDOT = 10421,          /* LL_DOTDOTDOT  */
266     LL_PRAGMA = 10422,             /* LL_PRAGMA  */
267     LL_EOL = 10423,                /* LL_EOL  */
268     LL_ERROR = 10424,              /* LL_ERROR  */
269     LL_ARROW = 10425,              /* LL_ARROW  */
270     LL_IDENTIFIER = 10430,         /* LL_IDENTIFIER  */
271     LL_NUMBER = 10431,             /* LL_NUMBER  */
272     LL_FLOAT = 10432,              /* LL_FLOAT  */
273     LL_STRING = 10433,             /* LL_STRING  */
274     LL_TOKEN = 10434,              /* LL_TOKEN  */
275     LL_BLOCK = 10435,              /* LL_BLOCK  */
276     KW_VALUE_PAIRS = 10500,        /* KW_VALUE_PAIRS  */
277     KW_EXCLUDE = 10502,            /* KW_EXCLUDE  */
278     KW_PAIR = 10503,               /* KW_PAIR  */
279     KW_KEY = 10504,                /* KW_KEY  */
280     KW_SCOPE = 10505,              /* KW_SCOPE  */
281     KW_SHIFT = 10506,              /* KW_SHIFT  */
282     KW_SHIFT_LEVELS = 10507,       /* KW_SHIFT_LEVELS  */
283     KW_REKEY = 10508,              /* KW_REKEY  */
284     KW_ADD_PREFIX = 10509,         /* KW_ADD_PREFIX  */
285     KW_REPLACE_PREFIX = 10510,     /* KW_REPLACE_PREFIX  */
286     KW_ON_ERROR = 10511,           /* KW_ON_ERROR  */
287     KW_RETRIES = 10512,            /* KW_RETRIES  */
288     KW_FETCH_NO_DATA_DELAY = 10513, /* KW_FETCH_NO_DATA_DELAY  */
289     KW_JAVA = 10515,               /* KW_JAVA  */
290     KW_CLASS_PATH = 10516,         /* KW_CLASS_PATH  */
291     KW_CLASS_NAME = 10517,         /* KW_CLASS_NAME  */
292     KW_JVM_OPTIONS = 10518         /* KW_JVM_OPTIONS  */
293   };
294   typedef enum java_tokentype java_token_kind_t;
295 #endif
296 /* Token kinds.  */
297 #define JAVA_EMPTY -2
298 #define JAVA_EOF 0
299 #define JAVA_error 256
300 #define JAVA_UNDEF 10514
301 #define LL_CONTEXT_ROOT 1
302 #define LL_CONTEXT_DESTINATION 2
303 #define LL_CONTEXT_SOURCE 3
304 #define LL_CONTEXT_PARSER 4
305 #define LL_CONTEXT_REWRITE 5
306 #define LL_CONTEXT_FILTER 6
307 #define LL_CONTEXT_LOG 7
308 #define LL_CONTEXT_BLOCK_DEF 8
309 #define LL_CONTEXT_BLOCK_REF 9
310 #define LL_CONTEXT_BLOCK_CONTENT 10
311 #define LL_CONTEXT_BLOCK_ARG 11
312 #define LL_CONTEXT_PRAGMA 12
313 #define LL_CONTEXT_FORMAT 13
314 #define LL_CONTEXT_TEMPLATE_FUNC 14
315 #define LL_CONTEXT_INNER_DEST 15
316 #define LL_CONTEXT_INNER_SRC 16
317 #define LL_CONTEXT_CLIENT_PROTO 17
318 #define LL_CONTEXT_SERVER_PROTO 18
319 #define LL_CONTEXT_OPTIONS 19
320 #define LL_CONTEXT_CONFIG 20
321 #define LL_CONTEXT_MAX 21
322 #define KW_SOURCE 10000
323 #define KW_FILTER 10001
324 #define KW_PARSER 10002
325 #define KW_DESTINATION 10003
326 #define KW_LOG 10004
327 #define KW_OPTIONS 10005
328 #define KW_INCLUDE 10006
329 #define KW_BLOCK 10007
330 #define KW_JUNCTION 10008
331 #define KW_CHANNEL 10009
332 #define KW_IF 10010
333 #define KW_ELSE 10011
334 #define KW_ELIF 10012
335 #define KW_INTERNAL 10020
336 #define KW_SYSLOG 10060
337 #define KW_MARK_FREQ 10071
338 #define KW_STATS_FREQ 10072
339 #define KW_STATS_LEVEL 10073
340 #define KW_STATS_LIFETIME 10074
341 #define KW_FLUSH_LINES 10075
342 #define KW_SUPPRESS 10076
343 #define KW_FLUSH_TIMEOUT 10077
344 #define KW_LOG_MSG_SIZE 10078
345 #define KW_FILE_TEMPLATE 10079
346 #define KW_PROTO_TEMPLATE 10080
347 #define KW_MARK_MODE 10081
348 #define KW_ENCODING 10082
349 #define KW_TYPE 10083
350 #define KW_STATS_MAX_DYNAMIC 10084
351 #define KW_MIN_IW_SIZE_PER_READER 10085
352 #define KW_WORKERS 10086
353 #define KW_BATCH_LINES 10087
354 #define KW_BATCH_TIMEOUT 10088
355 #define KW_TRIM_LARGE_MESSAGES 10089
356 #define KW_CHAIN_HOSTNAMES 10090
357 #define KW_NORMALIZE_HOSTNAMES 10091
358 #define KW_KEEP_HOSTNAME 10092
359 #define KW_CHECK_HOSTNAME 10093
360 #define KW_BAD_HOSTNAME 10094
361 #define KW_KEEP_TIMESTAMP 10100
362 #define KW_USE_DNS 10110
363 #define KW_USE_FQDN 10111
364 #define KW_CUSTOM_DOMAIN 10112
365 #define KW_DNS_CACHE 10120
366 #define KW_DNS_CACHE_SIZE 10121
367 #define KW_DNS_CACHE_EXPIRE 10130
368 #define KW_DNS_CACHE_EXPIRE_FAILED 10131
369 #define KW_DNS_CACHE_HOSTS 10132
370 #define KW_PERSIST_ONLY 10140
371 #define KW_USE_RCPTID 10141
372 #define KW_USE_UNIQID 10142
373 #define KW_TZ_CONVERT 10150
374 #define KW_TS_FORMAT 10151
375 #define KW_FRAC_DIGITS 10152
376 #define KW_LOG_FIFO_SIZE 10160
377 #define KW_LOG_FETCH_LIMIT 10162
378 #define KW_LOG_IW_SIZE 10163
379 #define KW_LOG_PREFIX 10164
380 #define KW_PROGRAM_OVERRIDE 10165
381 #define KW_HOST_OVERRIDE 10166
382 #define KW_THROTTLE 10170
383 #define KW_THREADED 10171
384 #define KW_PASS_UNIX_CREDENTIALS 10231
385 #define KW_PERSIST_NAME 10302
386 #define KW_READ_OLD_RECORDS 10304
387 #define KW_USE_SYSLOGNG_PID 10305
388 #define KW_FLAGS 10190
389 #define KW_PAD_SIZE 10200
390 #define KW_TIME_ZONE 10201
391 #define KW_RECV_TIME_ZONE 10202
392 #define KW_SEND_TIME_ZONE 10203
393 #define KW_LOCAL_TIME_ZONE 10204
394 #define KW_FORMAT 10205
395 #define KW_TRUNCATE_SIZE 10206
396 #define KW_TIME_REOPEN 10210
397 #define KW_TIME_REAP 10211
398 #define KW_TIME_SLEEP 10212
399 #define KW_TMPL_ESCAPE 10220
400 #define KW_OPTIONAL 10230
401 #define KW_CREATE_DIRS 10240
402 #define KW_OWNER 10250
403 #define KW_GROUP 10251
404 #define KW_PERM 10252
405 #define KW_DIR_OWNER 10260
406 #define KW_DIR_GROUP 10261
407 #define KW_DIR_PERM 10262
408 #define KW_TEMPLATE 10270
409 #define KW_TEMPLATE_ESCAPE 10271
410 #define KW_TEMPLATE_FUNCTION 10272
411 #define KW_DEFAULT_FACILITY 10300
412 #define KW_DEFAULT_SEVERITY 10301
413 #define KW_PORT 10323
414 #define KW_USE_TIME_RECVD 10340
415 #define KW_FACILITY 10350
416 #define KW_SEVERITY 10351
417 #define KW_HOST 10352
418 #define KW_MATCH 10353
419 #define KW_MESSAGE 10354
420 #define KW_NETMASK 10355
421 #define KW_TAGS 10356
422 #define KW_NETMASK6 10357
423 #define KW_REWRITE 10370
424 #define KW_CONDITION 10371
425 #define KW_VALUE 10372
426 #define KW_YES 10380
427 #define KW_NO 10381
428 #define KW_IFDEF 10410
429 #define KW_ENDIF 10411
430 #define LL_DOTDOT 10420
431 #define LL_DOTDOTDOT 10421
432 #define LL_PRAGMA 10422
433 #define LL_EOL 10423
434 #define LL_ERROR 10424
435 #define LL_ARROW 10425
436 #define LL_IDENTIFIER 10430
437 #define LL_NUMBER 10431
438 #define LL_FLOAT 10432
439 #define LL_STRING 10433
440 #define LL_TOKEN 10434
441 #define LL_BLOCK 10435
442 #define KW_VALUE_PAIRS 10500
443 #define KW_EXCLUDE 10502
444 #define KW_PAIR 10503
445 #define KW_KEY 10504
446 #define KW_SCOPE 10505
447 #define KW_SHIFT 10506
448 #define KW_SHIFT_LEVELS 10507
449 #define KW_REKEY 10508
450 #define KW_ADD_PREFIX 10509
451 #define KW_REPLACE_PREFIX 10510
452 #define KW_ON_ERROR 10511
453 #define KW_RETRIES 10512
454 #define KW_FETCH_NO_DATA_DELAY 10513
455 #define KW_JAVA 10515
456 #define KW_CLASS_PATH 10516
457 #define KW_CLASS_NAME 10517
458 #define KW_JVM_OPTIONS 10518
459 
460 /* Value type.  */
461 #if ! defined JAVA_STYPE && ! defined JAVA_STYPE_IS_DECLARED
462 typedef CFG_STYPE JAVA_STYPE;
463 # define JAVA_STYPE_IS_TRIVIAL 1
464 # define JAVA_STYPE_IS_DECLARED 1
465 #endif
466 
467 /* Location type.  */
468 typedef CFG_LTYPE JAVA_LTYPE;
469 
470 
471 
472 
473 int java_parse (CfgLexer *lexer, LogDriver **instance, gpointer arg);
474 
475 
476 #endif /* !YY_JAVA_MODULES_JAVA_NATIVE_JAVA_GRAMMAR_H_INCLUDED  */
477 /* Symbol kind.  */
478 enum yysymbol_kind_t
479 {
480   YYSYMBOL_YYEMPTY = -2,
481   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
482   YYSYMBOL_YYerror = 1,                    /* error  */
483   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
484   YYSYMBOL_LL_CONTEXT_ROOT = 3,            /* LL_CONTEXT_ROOT  */
485   YYSYMBOL_LL_CONTEXT_DESTINATION = 4,     /* LL_CONTEXT_DESTINATION  */
486   YYSYMBOL_LL_CONTEXT_SOURCE = 5,          /* LL_CONTEXT_SOURCE  */
487   YYSYMBOL_LL_CONTEXT_PARSER = 6,          /* LL_CONTEXT_PARSER  */
488   YYSYMBOL_LL_CONTEXT_REWRITE = 7,         /* LL_CONTEXT_REWRITE  */
489   YYSYMBOL_LL_CONTEXT_FILTER = 8,          /* LL_CONTEXT_FILTER  */
490   YYSYMBOL_LL_CONTEXT_LOG = 9,             /* LL_CONTEXT_LOG  */
491   YYSYMBOL_LL_CONTEXT_BLOCK_DEF = 10,      /* LL_CONTEXT_BLOCK_DEF  */
492   YYSYMBOL_LL_CONTEXT_BLOCK_REF = 11,      /* LL_CONTEXT_BLOCK_REF  */
493   YYSYMBOL_LL_CONTEXT_BLOCK_CONTENT = 12,  /* LL_CONTEXT_BLOCK_CONTENT  */
494   YYSYMBOL_LL_CONTEXT_BLOCK_ARG = 13,      /* LL_CONTEXT_BLOCK_ARG  */
495   YYSYMBOL_LL_CONTEXT_PRAGMA = 14,         /* LL_CONTEXT_PRAGMA  */
496   YYSYMBOL_LL_CONTEXT_FORMAT = 15,         /* LL_CONTEXT_FORMAT  */
497   YYSYMBOL_LL_CONTEXT_TEMPLATE_FUNC = 16,  /* LL_CONTEXT_TEMPLATE_FUNC  */
498   YYSYMBOL_LL_CONTEXT_INNER_DEST = 17,     /* LL_CONTEXT_INNER_DEST  */
499   YYSYMBOL_LL_CONTEXT_INNER_SRC = 18,      /* LL_CONTEXT_INNER_SRC  */
500   YYSYMBOL_LL_CONTEXT_CLIENT_PROTO = 19,   /* LL_CONTEXT_CLIENT_PROTO  */
501   YYSYMBOL_LL_CONTEXT_SERVER_PROTO = 20,   /* LL_CONTEXT_SERVER_PROTO  */
502   YYSYMBOL_LL_CONTEXT_OPTIONS = 21,        /* LL_CONTEXT_OPTIONS  */
503   YYSYMBOL_LL_CONTEXT_CONFIG = 22,         /* LL_CONTEXT_CONFIG  */
504   YYSYMBOL_LL_CONTEXT_MAX = 23,            /* LL_CONTEXT_MAX  */
505   YYSYMBOL_KW_SOURCE = 24,                 /* KW_SOURCE  */
506   YYSYMBOL_KW_FILTER = 25,                 /* KW_FILTER  */
507   YYSYMBOL_KW_PARSER = 26,                 /* KW_PARSER  */
508   YYSYMBOL_KW_DESTINATION = 27,            /* KW_DESTINATION  */
509   YYSYMBOL_KW_LOG = 28,                    /* KW_LOG  */
510   YYSYMBOL_KW_OPTIONS = 29,                /* KW_OPTIONS  */
511   YYSYMBOL_KW_INCLUDE = 30,                /* KW_INCLUDE  */
512   YYSYMBOL_KW_BLOCK = 31,                  /* KW_BLOCK  */
513   YYSYMBOL_KW_JUNCTION = 32,               /* KW_JUNCTION  */
514   YYSYMBOL_KW_CHANNEL = 33,                /* KW_CHANNEL  */
515   YYSYMBOL_KW_IF = 34,                     /* KW_IF  */
516   YYSYMBOL_KW_ELSE = 35,                   /* KW_ELSE  */
517   YYSYMBOL_KW_ELIF = 36,                   /* KW_ELIF  */
518   YYSYMBOL_KW_INTERNAL = 37,               /* KW_INTERNAL  */
519   YYSYMBOL_KW_SYSLOG = 38,                 /* KW_SYSLOG  */
520   YYSYMBOL_KW_MARK_FREQ = 39,              /* KW_MARK_FREQ  */
521   YYSYMBOL_KW_STATS_FREQ = 40,             /* KW_STATS_FREQ  */
522   YYSYMBOL_KW_STATS_LEVEL = 41,            /* KW_STATS_LEVEL  */
523   YYSYMBOL_KW_STATS_LIFETIME = 42,         /* KW_STATS_LIFETIME  */
524   YYSYMBOL_KW_FLUSH_LINES = 43,            /* KW_FLUSH_LINES  */
525   YYSYMBOL_KW_SUPPRESS = 44,               /* KW_SUPPRESS  */
526   YYSYMBOL_KW_FLUSH_TIMEOUT = 45,          /* KW_FLUSH_TIMEOUT  */
527   YYSYMBOL_KW_LOG_MSG_SIZE = 46,           /* KW_LOG_MSG_SIZE  */
528   YYSYMBOL_KW_FILE_TEMPLATE = 47,          /* KW_FILE_TEMPLATE  */
529   YYSYMBOL_KW_PROTO_TEMPLATE = 48,         /* KW_PROTO_TEMPLATE  */
530   YYSYMBOL_KW_MARK_MODE = 49,              /* KW_MARK_MODE  */
531   YYSYMBOL_KW_ENCODING = 50,               /* KW_ENCODING  */
532   YYSYMBOL_KW_TYPE = 51,                   /* KW_TYPE  */
533   YYSYMBOL_KW_STATS_MAX_DYNAMIC = 52,      /* KW_STATS_MAX_DYNAMIC  */
534   YYSYMBOL_KW_MIN_IW_SIZE_PER_READER = 53, /* KW_MIN_IW_SIZE_PER_READER  */
535   YYSYMBOL_KW_WORKERS = 54,                /* KW_WORKERS  */
536   YYSYMBOL_KW_BATCH_LINES = 55,            /* KW_BATCH_LINES  */
537   YYSYMBOL_KW_BATCH_TIMEOUT = 56,          /* KW_BATCH_TIMEOUT  */
538   YYSYMBOL_KW_TRIM_LARGE_MESSAGES = 57,    /* KW_TRIM_LARGE_MESSAGES  */
539   YYSYMBOL_KW_CHAIN_HOSTNAMES = 58,        /* KW_CHAIN_HOSTNAMES  */
540   YYSYMBOL_KW_NORMALIZE_HOSTNAMES = 59,    /* KW_NORMALIZE_HOSTNAMES  */
541   YYSYMBOL_KW_KEEP_HOSTNAME = 60,          /* KW_KEEP_HOSTNAME  */
542   YYSYMBOL_KW_CHECK_HOSTNAME = 61,         /* KW_CHECK_HOSTNAME  */
543   YYSYMBOL_KW_BAD_HOSTNAME = 62,           /* KW_BAD_HOSTNAME  */
544   YYSYMBOL_KW_KEEP_TIMESTAMP = 63,         /* KW_KEEP_TIMESTAMP  */
545   YYSYMBOL_KW_USE_DNS = 64,                /* KW_USE_DNS  */
546   YYSYMBOL_KW_USE_FQDN = 65,               /* KW_USE_FQDN  */
547   YYSYMBOL_KW_CUSTOM_DOMAIN = 66,          /* KW_CUSTOM_DOMAIN  */
548   YYSYMBOL_KW_DNS_CACHE = 67,              /* KW_DNS_CACHE  */
549   YYSYMBOL_KW_DNS_CACHE_SIZE = 68,         /* KW_DNS_CACHE_SIZE  */
550   YYSYMBOL_KW_DNS_CACHE_EXPIRE = 69,       /* KW_DNS_CACHE_EXPIRE  */
551   YYSYMBOL_KW_DNS_CACHE_EXPIRE_FAILED = 70, /* KW_DNS_CACHE_EXPIRE_FAILED  */
552   YYSYMBOL_KW_DNS_CACHE_HOSTS = 71,        /* KW_DNS_CACHE_HOSTS  */
553   YYSYMBOL_KW_PERSIST_ONLY = 72,           /* KW_PERSIST_ONLY  */
554   YYSYMBOL_KW_USE_RCPTID = 73,             /* KW_USE_RCPTID  */
555   YYSYMBOL_KW_USE_UNIQID = 74,             /* KW_USE_UNIQID  */
556   YYSYMBOL_KW_TZ_CONVERT = 75,             /* KW_TZ_CONVERT  */
557   YYSYMBOL_KW_TS_FORMAT = 76,              /* KW_TS_FORMAT  */
558   YYSYMBOL_KW_FRAC_DIGITS = 77,            /* KW_FRAC_DIGITS  */
559   YYSYMBOL_KW_LOG_FIFO_SIZE = 78,          /* KW_LOG_FIFO_SIZE  */
560   YYSYMBOL_KW_LOG_FETCH_LIMIT = 79,        /* KW_LOG_FETCH_LIMIT  */
561   YYSYMBOL_KW_LOG_IW_SIZE = 80,            /* KW_LOG_IW_SIZE  */
562   YYSYMBOL_KW_LOG_PREFIX = 81,             /* KW_LOG_PREFIX  */
563   YYSYMBOL_KW_PROGRAM_OVERRIDE = 82,       /* KW_PROGRAM_OVERRIDE  */
564   YYSYMBOL_KW_HOST_OVERRIDE = 83,          /* KW_HOST_OVERRIDE  */
565   YYSYMBOL_KW_THROTTLE = 84,               /* KW_THROTTLE  */
566   YYSYMBOL_KW_THREADED = 85,               /* KW_THREADED  */
567   YYSYMBOL_KW_PASS_UNIX_CREDENTIALS = 86,  /* KW_PASS_UNIX_CREDENTIALS  */
568   YYSYMBOL_KW_PERSIST_NAME = 87,           /* KW_PERSIST_NAME  */
569   YYSYMBOL_KW_READ_OLD_RECORDS = 88,       /* KW_READ_OLD_RECORDS  */
570   YYSYMBOL_KW_USE_SYSLOGNG_PID = 89,       /* KW_USE_SYSLOGNG_PID  */
571   YYSYMBOL_KW_FLAGS = 90,                  /* KW_FLAGS  */
572   YYSYMBOL_KW_PAD_SIZE = 91,               /* KW_PAD_SIZE  */
573   YYSYMBOL_KW_TIME_ZONE = 92,              /* KW_TIME_ZONE  */
574   YYSYMBOL_KW_RECV_TIME_ZONE = 93,         /* KW_RECV_TIME_ZONE  */
575   YYSYMBOL_KW_SEND_TIME_ZONE = 94,         /* KW_SEND_TIME_ZONE  */
576   YYSYMBOL_KW_LOCAL_TIME_ZONE = 95,        /* KW_LOCAL_TIME_ZONE  */
577   YYSYMBOL_KW_FORMAT = 96,                 /* KW_FORMAT  */
578   YYSYMBOL_KW_TRUNCATE_SIZE = 97,          /* KW_TRUNCATE_SIZE  */
579   YYSYMBOL_KW_TIME_REOPEN = 98,            /* KW_TIME_REOPEN  */
580   YYSYMBOL_KW_TIME_REAP = 99,              /* KW_TIME_REAP  */
581   YYSYMBOL_KW_TIME_SLEEP = 100,            /* KW_TIME_SLEEP  */
582   YYSYMBOL_KW_TMPL_ESCAPE = 101,           /* KW_TMPL_ESCAPE  */
583   YYSYMBOL_KW_OPTIONAL = 102,              /* KW_OPTIONAL  */
584   YYSYMBOL_KW_CREATE_DIRS = 103,           /* KW_CREATE_DIRS  */
585   YYSYMBOL_KW_OWNER = 104,                 /* KW_OWNER  */
586   YYSYMBOL_KW_GROUP = 105,                 /* KW_GROUP  */
587   YYSYMBOL_KW_PERM = 106,                  /* KW_PERM  */
588   YYSYMBOL_KW_DIR_OWNER = 107,             /* KW_DIR_OWNER  */
589   YYSYMBOL_KW_DIR_GROUP = 108,             /* KW_DIR_GROUP  */
590   YYSYMBOL_KW_DIR_PERM = 109,              /* KW_DIR_PERM  */
591   YYSYMBOL_KW_TEMPLATE = 110,              /* KW_TEMPLATE  */
592   YYSYMBOL_KW_TEMPLATE_ESCAPE = 111,       /* KW_TEMPLATE_ESCAPE  */
593   YYSYMBOL_KW_TEMPLATE_FUNCTION = 112,     /* KW_TEMPLATE_FUNCTION  */
594   YYSYMBOL_KW_DEFAULT_FACILITY = 113,      /* KW_DEFAULT_FACILITY  */
595   YYSYMBOL_KW_DEFAULT_SEVERITY = 114,      /* KW_DEFAULT_SEVERITY  */
596   YYSYMBOL_KW_PORT = 115,                  /* KW_PORT  */
597   YYSYMBOL_KW_USE_TIME_RECVD = 116,        /* KW_USE_TIME_RECVD  */
598   YYSYMBOL_KW_FACILITY = 117,              /* KW_FACILITY  */
599   YYSYMBOL_KW_SEVERITY = 118,              /* KW_SEVERITY  */
600   YYSYMBOL_KW_HOST = 119,                  /* KW_HOST  */
601   YYSYMBOL_KW_MATCH = 120,                 /* KW_MATCH  */
602   YYSYMBOL_KW_MESSAGE = 121,               /* KW_MESSAGE  */
603   YYSYMBOL_KW_NETMASK = 122,               /* KW_NETMASK  */
604   YYSYMBOL_KW_TAGS = 123,                  /* KW_TAGS  */
605   YYSYMBOL_KW_NETMASK6 = 124,              /* KW_NETMASK6  */
606   YYSYMBOL_KW_REWRITE = 125,               /* KW_REWRITE  */
607   YYSYMBOL_KW_CONDITION = 126,             /* KW_CONDITION  */
608   YYSYMBOL_KW_VALUE = 127,                 /* KW_VALUE  */
609   YYSYMBOL_KW_YES = 128,                   /* KW_YES  */
610   YYSYMBOL_KW_NO = 129,                    /* KW_NO  */
611   YYSYMBOL_KW_IFDEF = 130,                 /* KW_IFDEF  */
612   YYSYMBOL_KW_ENDIF = 131,                 /* KW_ENDIF  */
613   YYSYMBOL_LL_DOTDOT = 132,                /* LL_DOTDOT  */
614   YYSYMBOL_LL_DOTDOTDOT = 133,             /* LL_DOTDOTDOT  */
615   YYSYMBOL_LL_PRAGMA = 134,                /* LL_PRAGMA  */
616   YYSYMBOL_LL_EOL = 135,                   /* LL_EOL  */
617   YYSYMBOL_LL_ERROR = 136,                 /* LL_ERROR  */
618   YYSYMBOL_LL_ARROW = 137,                 /* LL_ARROW  */
619   YYSYMBOL_LL_IDENTIFIER = 138,            /* LL_IDENTIFIER  */
620   YYSYMBOL_LL_NUMBER = 139,                /* LL_NUMBER  */
621   YYSYMBOL_LL_FLOAT = 140,                 /* LL_FLOAT  */
622   YYSYMBOL_LL_STRING = 141,                /* LL_STRING  */
623   YYSYMBOL_LL_TOKEN = 142,                 /* LL_TOKEN  */
624   YYSYMBOL_LL_BLOCK = 143,                 /* LL_BLOCK  */
625   YYSYMBOL_KW_VALUE_PAIRS = 144,           /* KW_VALUE_PAIRS  */
626   YYSYMBOL_KW_EXCLUDE = 145,               /* KW_EXCLUDE  */
627   YYSYMBOL_KW_PAIR = 146,                  /* KW_PAIR  */
628   YYSYMBOL_KW_KEY = 147,                   /* KW_KEY  */
629   YYSYMBOL_KW_SCOPE = 148,                 /* KW_SCOPE  */
630   YYSYMBOL_KW_SHIFT = 149,                 /* KW_SHIFT  */
631   YYSYMBOL_KW_SHIFT_LEVELS = 150,          /* KW_SHIFT_LEVELS  */
632   YYSYMBOL_KW_REKEY = 151,                 /* KW_REKEY  */
633   YYSYMBOL_KW_ADD_PREFIX = 152,            /* KW_ADD_PREFIX  */
634   YYSYMBOL_KW_REPLACE_PREFIX = 153,        /* KW_REPLACE_PREFIX  */
635   YYSYMBOL_KW_ON_ERROR = 154,              /* KW_ON_ERROR  */
636   YYSYMBOL_KW_RETRIES = 155,               /* KW_RETRIES  */
637   YYSYMBOL_KW_FETCH_NO_DATA_DELAY = 156,   /* KW_FETCH_NO_DATA_DELAY  */
638   YYSYMBOL_KW_JAVA = 157,                  /* KW_JAVA  */
639   YYSYMBOL_KW_CLASS_PATH = 158,            /* KW_CLASS_PATH  */
640   YYSYMBOL_KW_CLASS_NAME = 159,            /* KW_CLASS_NAME  */
641   YYSYMBOL_KW_JVM_OPTIONS = 160,           /* KW_JVM_OPTIONS  */
642   YYSYMBOL_161_ = 161,                     /* '('  */
643   YYSYMBOL_162_ = 162,                     /* ')'  */
644   YYSYMBOL_163_ = 163,                     /* '{'  */
645   YYSYMBOL_164_ = 164,                     /* '}'  */
646   YYSYMBOL_165_ = 165,                     /* ';'  */
647   YYSYMBOL_166_ = 166,                     /* ':'  */
648   YYSYMBOL_YYACCEPT = 167,                 /* $accept  */
649   YYSYMBOL_start = 168,                    /* start  */
650   YYSYMBOL_169_1 = 169,                    /* $@1  */
651   YYSYMBOL_java_dest_options = 170,        /* java_dest_options  */
652   YYSYMBOL_java_dest_option = 171,         /* java_dest_option  */
653   YYSYMBOL_172_2 = 172,                    /* $@2  */
654   YYSYMBOL_java_dest_custom_options = 173, /* java_dest_custom_options  */
655   YYSYMBOL_java_dest_custom_option = 174,  /* java_dest_custom_option  */
656   YYSYMBOL_java_global_option = 175,       /* java_global_option  */
657   YYSYMBOL_string = 176,                   /* string  */
658   YYSYMBOL_nonnegative_integer64 = 177,    /* nonnegative_integer64  */
659   YYSYMBOL_nonnegative_integer = 178,      /* nonnegative_integer  */
660   YYSYMBOL_positive_integer64 = 179,       /* positive_integer64  */
661   YYSYMBOL_positive_integer = 180,         /* positive_integer  */
662   YYSYMBOL_string_or_number = 181,         /* string_or_number  */
663   YYSYMBOL_driver_option = 182,            /* driver_option  */
664   YYSYMBOL_inner_dest = 183,               /* inner_dest  */
665   YYSYMBOL_dest_driver_option = 184,       /* dest_driver_option  */
666   YYSYMBOL_threaded_dest_driver_batch_option = 185, /* threaded_dest_driver_batch_option  */
667   YYSYMBOL_threaded_dest_driver_general_option = 186, /* threaded_dest_driver_general_option  */
668   YYSYMBOL_template_option = 187           /* template_option  */
669 };
670 typedef enum yysymbol_kind_t yysymbol_kind_t;
671 
672 
673 
674 /* Unqualified %code blocks.  */
675 #line 31 "modules/java/native/java-grammar.y"
676 
677 
678 #include "cfg-parser.h"
679 #include "cfg-grammar-internal.h"
680 #include "java-config.h"
681 #include "plugin.h"
682 
683 #line 55 "modules/java/native/java-grammar.y"
684 
685 
686 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
687   do {                                                                  \
688     if (N)                                                              \
689       {                                                                 \
690         (Current).level = YYRHSLOC(Rhs, 1).level;                       \
691         (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;          \
692         (Current).first_column = YYRHSLOC (Rhs, 1).first_column;        \
693         (Current).last_line    = YYRHSLOC (Rhs, N).last_line;           \
694         (Current).last_column  = YYRHSLOC (Rhs, N).last_column;         \
695       }                                                                 \
696     else                                                                \
697       {                                                                 \
698         (Current).level = YYRHSLOC(Rhs, 0).level;                       \
699         (Current).first_line   = (Current).last_line   =                \
700           YYRHSLOC (Rhs, 0).last_line;                                  \
701         (Current).first_column = (Current).last_column =                \
702           YYRHSLOC (Rhs, 0).last_column;                                \
703       }                                                                 \
704   } while (0)
705 
706 #define CHECK_ERROR_WITHOUT_MESSAGE(val, token) do {                    \
707     if (!(val))                                                         \
708       {                                                                 \
709         YYERROR;                                                        \
710       }                                                                 \
711   } while (0)
712 
713 #define CHECK_ERROR(val, token, errorfmt, ...) do {                     \
714     if (!(val))                                                         \
715       {                                                                 \
716         if (errorfmt)                                                   \
717           {                                                             \
718             gchar __buf[256];                                           \
719             g_snprintf(__buf, sizeof(__buf), errorfmt, ## __VA_ARGS__); \
720             yyerror(& (token), lexer, NULL, NULL, __buf);               \
721           }                                                             \
722         YYERROR;                                                        \
723       }                                                                 \
724   } while (0)
725 
726 #define CHECK_ERROR_GERROR(val, token, error, errorfmt, ...) do {       \
727     if (!(val))                                                         \
728       {                                                                 \
729         if (errorfmt)                                                   \
730           {                                                             \
731             gchar __buf[256];                                           \
732             g_snprintf(__buf, sizeof(__buf), errorfmt ", error=%s", ## __VA_ARGS__, error->message); \
733             yyerror(& (token), lexer, NULL, NULL, __buf);               \
734           }                                                             \
735         g_clear_error(&error);						\
736         YYERROR;                                                        \
737       }                                                                 \
738   } while (0)
739 
740 #define YYMAXDEPTH 20000
741 
742 
743 
744 #line 745 "modules/java/native/java-grammar.c"
745 
746 #ifdef short
747 # undef short
748 #endif
749 
750 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
751    <limits.h> and (if available) <stdint.h> are included
752    so that the code can choose integer types of a good width.  */
753 
754 #ifndef __PTRDIFF_MAX__
755 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
756 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
757 #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
758 #  define YY_STDINT_H
759 # endif
760 #endif
761 
762 /* Narrow types that promote to a signed type and that can represent a
763    signed or unsigned integer of at least N bits.  In tables they can
764    save space and decrease cache pressure.  Promoting to a signed type
765    helps avoid bugs in integer arithmetic.  */
766 
767 #ifdef __INT_LEAST8_MAX__
768 typedef __INT_LEAST8_TYPE__ yytype_int8;
769 #elif defined YY_STDINT_H
770 typedef int_least8_t yytype_int8;
771 #else
772 typedef signed char yytype_int8;
773 #endif
774 
775 #ifdef __INT_LEAST16_MAX__
776 typedef __INT_LEAST16_TYPE__ yytype_int16;
777 #elif defined YY_STDINT_H
778 typedef int_least16_t yytype_int16;
779 #else
780 typedef short yytype_int16;
781 #endif
782 
783 /* Work around bug in HP-UX 11.23, which defines these macros
784    incorrectly for preprocessor constants.  This workaround can likely
785    be removed in 2023, as HPE has promised support for HP-UX 11.23
786    (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
787    <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
788 #ifdef __hpux
789 # undef UINT_LEAST8_MAX
790 # undef UINT_LEAST16_MAX
791 # define UINT_LEAST8_MAX 255
792 # define UINT_LEAST16_MAX 65535
793 #endif
794 
795 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
796 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
797 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
798        && UINT_LEAST8_MAX <= INT_MAX)
799 typedef uint_least8_t yytype_uint8;
800 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
801 typedef unsigned char yytype_uint8;
802 #else
803 typedef short yytype_uint8;
804 #endif
805 
806 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
807 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
808 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
809        && UINT_LEAST16_MAX <= INT_MAX)
810 typedef uint_least16_t yytype_uint16;
811 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
812 typedef unsigned short yytype_uint16;
813 #else
814 typedef int yytype_uint16;
815 #endif
816 
817 #ifndef YYPTRDIFF_T
818 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
819 #  define YYPTRDIFF_T __PTRDIFF_TYPE__
820 #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
821 # elif defined PTRDIFF_MAX
822 #  ifndef ptrdiff_t
823 #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
824 #  endif
825 #  define YYPTRDIFF_T ptrdiff_t
826 #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
827 # else
828 #  define YYPTRDIFF_T long
829 #  define YYPTRDIFF_MAXIMUM LONG_MAX
830 # endif
831 #endif
832 
833 #ifndef YYSIZE_T
834 # ifdef __SIZE_TYPE__
835 #  define YYSIZE_T __SIZE_TYPE__
836 # elif defined size_t
837 #  define YYSIZE_T size_t
838 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
839 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
840 #  define YYSIZE_T size_t
841 # else
842 #  define YYSIZE_T unsigned
843 # endif
844 #endif
845 
846 #define YYSIZE_MAXIMUM                                  \
847   YY_CAST (YYPTRDIFF_T,                                 \
848            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
849             ? YYPTRDIFF_MAXIMUM                         \
850             : YY_CAST (YYSIZE_T, -1)))
851 
852 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
853 
854 
855 /* Stored state numbers (used for stacks). */
856 typedef yytype_int8 yy_state_t;
857 
858 /* State numbers in computations.  */
859 typedef int yy_state_fast_t;
860 
861 #ifndef YY_
862 # if defined YYENABLE_NLS && YYENABLE_NLS
863 #  if ENABLE_NLS
864 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
865 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
866 #  endif
867 # endif
868 # ifndef YY_
869 #  define YY_(Msgid) Msgid
870 # endif
871 #endif
872 
873 
874 #ifndef YY_ATTRIBUTE_PURE
875 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
876 #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
877 # else
878 #  define YY_ATTRIBUTE_PURE
879 # endif
880 #endif
881 
882 #ifndef YY_ATTRIBUTE_UNUSED
883 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
884 #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
885 # else
886 #  define YY_ATTRIBUTE_UNUSED
887 # endif
888 #endif
889 
890 /* Suppress unused-variable warnings by "using" E.  */
891 #if ! defined lint || defined __GNUC__
892 # define YY_USE(E) ((void) (E))
893 #else
894 # define YY_USE(E) /* empty */
895 #endif
896 
897 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
898 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
899 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
900 #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
901     _Pragma ("GCC diagnostic push")                                     \
902     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
903 # else
904 #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
905     _Pragma ("GCC diagnostic push")                                     \
906     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
907     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
908 # endif
909 # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
910     _Pragma ("GCC diagnostic pop")
911 #else
912 # define YY_INITIAL_VALUE(Value) Value
913 #endif
914 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
915 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
916 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
917 #endif
918 #ifndef YY_INITIAL_VALUE
919 # define YY_INITIAL_VALUE(Value) /* Nothing. */
920 #endif
921 
922 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
923 # define YY_IGNORE_USELESS_CAST_BEGIN                          \
924     _Pragma ("GCC diagnostic push")                            \
925     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
926 # define YY_IGNORE_USELESS_CAST_END            \
927     _Pragma ("GCC diagnostic pop")
928 #endif
929 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
930 # define YY_IGNORE_USELESS_CAST_BEGIN
931 # define YY_IGNORE_USELESS_CAST_END
932 #endif
933 
934 
935 #define YY_ASSERT(E) ((void) (0 && (E)))
936 
937 #if 1
938 
939 /* The parser invokes alloca or malloc; define the necessary symbols.  */
940 
941 # ifdef YYSTACK_USE_ALLOCA
942 #  if YYSTACK_USE_ALLOCA
943 #   ifdef __GNUC__
944 #    define YYSTACK_ALLOC __builtin_alloca
945 #   elif defined __BUILTIN_VA_ARG_INCR
946 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
947 #   elif defined _AIX
948 #    define YYSTACK_ALLOC __alloca
949 #   elif defined _MSC_VER
950 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
951 #    define alloca _alloca
952 #   else
953 #    define YYSTACK_ALLOC alloca
954 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
955 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
956       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
957 #     ifndef EXIT_SUCCESS
958 #      define EXIT_SUCCESS 0
959 #     endif
960 #    endif
961 #   endif
962 #  endif
963 # endif
964 
965 # ifdef YYSTACK_ALLOC
966    /* Pacify GCC's 'empty if-body' warning.  */
967 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
968 #  ifndef YYSTACK_ALLOC_MAXIMUM
969     /* The OS might guarantee only one guard page at the bottom of the stack,
970        and a page size can be as small as 4096 bytes.  So we cannot safely
971        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
972        to allow for a few compiler-allocated temporary stack slots.  */
973 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
974 #  endif
975 # else
976 #  define YYSTACK_ALLOC YYMALLOC
977 #  define YYSTACK_FREE YYFREE
978 #  ifndef YYSTACK_ALLOC_MAXIMUM
979 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
980 #  endif
981 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
982        && ! ((defined YYMALLOC || defined malloc) \
983              && (defined YYFREE || defined free)))
984 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
985 #   ifndef EXIT_SUCCESS
986 #    define EXIT_SUCCESS 0
987 #   endif
988 #  endif
989 #  ifndef YYMALLOC
990 #   define YYMALLOC malloc
991 #   if ! defined malloc && ! defined EXIT_SUCCESS
992 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
993 #   endif
994 #  endif
995 #  ifndef YYFREE
996 #   define YYFREE free
997 #   if ! defined free && ! defined EXIT_SUCCESS
998 void free (void *); /* INFRINGES ON USER NAME SPACE */
999 #   endif
1000 #  endif
1001 # endif
1002 #endif /* 1 */
1003 
1004 #if (! defined yyoverflow \
1005      && (! defined __cplusplus \
1006          || (defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL \
1007              && defined JAVA_STYPE_IS_TRIVIAL && JAVA_STYPE_IS_TRIVIAL)))
1008 
1009 /* A type that is properly aligned for any stack member.  */
1010 union yyalloc
1011 {
1012   yy_state_t yyss_alloc;
1013   YYSTYPE yyvs_alloc;
1014   YYLTYPE yyls_alloc;
1015 };
1016 
1017 /* The size of the maximum gap between one aligned stack and the next.  */
1018 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
1019 
1020 /* The size of an array large to enough to hold all stacks, each with
1021    N elements.  */
1022 # define YYSTACK_BYTES(N) \
1023      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
1024              + YYSIZEOF (YYLTYPE)) \
1025       + 2 * YYSTACK_GAP_MAXIMUM)
1026 
1027 # define YYCOPY_NEEDED 1
1028 
1029 /* Relocate STACK from its old location to the new one.  The
1030    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1031    elements in the stack, and YYPTR gives the new location of the
1032    stack.  Advance YYPTR to a properly aligned location for the next
1033    stack.  */
1034 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1035     do                                                                  \
1036       {                                                                 \
1037         YYPTRDIFF_T yynewbytes;                                         \
1038         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1039         Stack = &yyptr->Stack_alloc;                                    \
1040         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
1041         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
1042       }                                                                 \
1043     while (0)
1044 
1045 #endif
1046 
1047 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1048 /* Copy COUNT objects from SRC to DST.  The source and destination do
1049    not overlap.  */
1050 # ifndef YYCOPY
1051 #  if defined __GNUC__ && 1 < __GNUC__
1052 #   define YYCOPY(Dst, Src, Count) \
1053       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
1054 #  else
1055 #   define YYCOPY(Dst, Src, Count)              \
1056       do                                        \
1057         {                                       \
1058           YYPTRDIFF_T yyi;                      \
1059           for (yyi = 0; yyi < (Count); yyi++)   \
1060             (Dst)[yyi] = (Src)[yyi];            \
1061         }                                       \
1062       while (0)
1063 #  endif
1064 # endif
1065 #endif /* !YYCOPY_NEEDED */
1066 
1067 /* YYFINAL -- State number of the termination state.  */
1068 #define YYFINAL  7
1069 /* YYLAST -- Last index in YYTABLE.  */
1070 #define YYLAST   133
1071 
1072 /* YYNTOKENS -- Number of terminals.  */
1073 #define YYNTOKENS  167
1074 /* YYNNTS -- Number of nonterminals.  */
1075 #define YYNNTS  21
1076 /* YYNRULES -- Number of rules.  */
1077 #define YYNRULES  45
1078 /* YYNSTATES -- Number of states.  */
1079 #define YYNSTATES  108
1080 
1081 /* YYMAXUTOK -- Last valid token kind.  */
1082 #define YYMAXUTOK   10518
1083 
1084 
1085 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1086    as returned by yylex, with out-of-bounds checking.  */
1087 #define YYTRANSLATE(YYX)                                \
1088   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
1089    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
1090    : YYSYMBOL_YYUNDEF)
1091 
1092 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1093    as returned by yylex.  */
1094 static const yytype_uint8 yytranslate[] =
1095 {
1096        0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1097       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1098       22,    23,     2,     2,     2,     2,     2,     2,     2,     2,
1099        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1100      161,   162,     2,     2,     2,     2,     2,     2,     2,     2,
1101        2,     2,     2,     2,     2,     2,     2,     2,   166,   165,
1102        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1103        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1104        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1105        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1106        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1107        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1108        2,     2,     2,   163,     2,   164,     2,     2,     2,     2,
1109        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1110        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1111        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1112        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1113        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1114        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1115        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1116        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1117        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1118        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1119        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1120        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1121        2,     2,     2,     2,     2,     2,     1,     2,     2,     2,
1122        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1123        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1124        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1125        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1126        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1127        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1128        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1129        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1130        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1131        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1132        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1133        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1134        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1135        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1136        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1137        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1138        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1139        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1140        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1141        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1142        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1143        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1144        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1145        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1146        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1147        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1148        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1149        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1150        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1151        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1152        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1153        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1154        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1155        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1156        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1157        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1158        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1159        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1160        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1161        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1162        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1163        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1164        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1165        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1166        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1167        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1168        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1169        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1170        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1171        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1172        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1173        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1174        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1175        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1176        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1177        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1178        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1179        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1180        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1181        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1182        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1183        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1184        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1185        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1186        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1187        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1188        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1189        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1190        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1191        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1192        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1193        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1194        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1195        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1196        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1197        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1198        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1199        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1200        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1201        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1202        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1203        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1204        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1205        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1206        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1207        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1208        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1209        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1210        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1211        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1212        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1213        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1214        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1215        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1216        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1217        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1218        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1219        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1220        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1221        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1222        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1223        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1224        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1225        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1226        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1227        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1228        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1229        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1230        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1231        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1232        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1233        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1234        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1235        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1236        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1237        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1238        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1239        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1240        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1241        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1242        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1243        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1244        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1245        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1246        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1247        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1248        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1249        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1250        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1251        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1252        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1253        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1254        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1255        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1256        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1257        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1258        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1259        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1260        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1261        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1262        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1263        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1264        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1265        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1266        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1267        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1268        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1269        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1270        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1271        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1272        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1273        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1274        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1275        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1276        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1277        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1278        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1279        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1280        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1281        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1282        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1283        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1284        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1285        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1286        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1287        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1288        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1289        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1290        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1291        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1292        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1293        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1294        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1295        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1296        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1297        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1298        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1299        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1300        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1301        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1302        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1303        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1304        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1305        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1306        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1307        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1308        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1309        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1310        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1311        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1312        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1313        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1314        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1315        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1316        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1317        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1318        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1319        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1320        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1321        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1322        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1323        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1324        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1325        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1326        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1327        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1328        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1329        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1330        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1331        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1332        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1333        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1334        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1335        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1336        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1337        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1338        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1339        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1340        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1341        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1342        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1343        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1344        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1345        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1346        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1347        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1348        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1349        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1350        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1351        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1352        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1353        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1354        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1355        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1356        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1357        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1358        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1359        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1360        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1361        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1362        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1363        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1364        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1365        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1366        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1367        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1368        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1369        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1370        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1371        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1372        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1373        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1374        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1375        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1376        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1377        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1378        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1379        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1380        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1381        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1382        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1383        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1384        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1385        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1386        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1387        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1388        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1389        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1390        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1391        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1392        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1393        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1394        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1395        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1396        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1397        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1398        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1399        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1400        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1401        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1402        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1403        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1404        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1405        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1406        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1407        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1408        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1409        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1410        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1411        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1412        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1413        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1414        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1415        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1416        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1417        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1418        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1419        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1420        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1421        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1422        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1423        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1424        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1425        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1426        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1427        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1428        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1429        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1430        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1431        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1432        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1433        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1434        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1435        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1436        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1437        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1438        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1439        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1440        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1441        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1442        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1443        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1444        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1445        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1446        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1447        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1448        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1449        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1450        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1451        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1452        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1453        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1454        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1455        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1456        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1457        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1458        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1459        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1460        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1461        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1462        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1463        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1464        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1465        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1466        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1467        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1468        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1469        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1470        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1471        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1472        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1473        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1474        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1475        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1476        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1477        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1478        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1479        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1480        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1481        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1482        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1483        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1484        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1485        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1486        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1487        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1488        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1489        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1490        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1491        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1492        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1493        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1494        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1495        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1496        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1497        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1498        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1499        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1500        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1501        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1502        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1503        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1504        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1505        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1506        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1507        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1508        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1509        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1510        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1511        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1512        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1513        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1514        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1515        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1516        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1517        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1518        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1519        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1520        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1521        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1522        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1523        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1524        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1525        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1526        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1527        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1528        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1529        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1530        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1531        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1532        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1533        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1534        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1535        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1536        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1537        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1538        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1539        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1540        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1541        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1542        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1543        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1544        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1545        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1546        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1547        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1548        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1549        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1550        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1551        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1552        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1553        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1554        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1555        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1556        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1557        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1558        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1559        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1560        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1561        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1562        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1563        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1564        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1565        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1566        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1567        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1568        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1569        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1570        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1571        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1572        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1573        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1574        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1575        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1576        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1577        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1578        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1579        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1580        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1581        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1582        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1583        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1584        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1585        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1586        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1587        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1588        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1589        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1590        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1591        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1592        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1593        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1594        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1595        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1596        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1597        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1598        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1599        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1600        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1601        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1602        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1603        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1604        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1605        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1606        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1607        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1608        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1609        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1610        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1611        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1612        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1613        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1614        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1615        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1616        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1617        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1618        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1619        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1620        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1621        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1622        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1623        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1624        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1625        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1626        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1627        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1628        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1629        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1630        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1631        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1632        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1633        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1634        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1635        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1636        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1637        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1638        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1639        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1640        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1641        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1642        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1643        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1644        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1645        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1646        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1647        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1648        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1649        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1650        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1651        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1652        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1653        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1654        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1655        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1656        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1657        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1658        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1659        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1660        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1661        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1662        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1663        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1664        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1665        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1666        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1667        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1668        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1669        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1670        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1671        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1672        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1673        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1674        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1675        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1676        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1677        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1678        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1679        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1680        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1681        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1682        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1683        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1684        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1685        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1686        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1687        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1688        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1689        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1690        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1691        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1692        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1693        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1694        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1695        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1696        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1697        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1698        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1699        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1700        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1701        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1702        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1703        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1704        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1705        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1706        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1707        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1708        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1709        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1710        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1711        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1712        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1713        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1714        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1715        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1716        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1717        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1718        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1719        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1720        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1721        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1722        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1723        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1724        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1725        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1726        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1727        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1728        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1729        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1730        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1731        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1732        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1733        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1734        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1735        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1736        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1737        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1738        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1739        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1740        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1741        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1742        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1743        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1744        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1745        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1746        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1747        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1748        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1749        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1750        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1751        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1752        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1753        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1754        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1755        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1756        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1757        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1758        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1759        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1760        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1761        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1762        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1763        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1764        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1765        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1766        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1767        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1768        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1769        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1770        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1771        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1772        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1773        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1774        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1775        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1776        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1777        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1778        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1779        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1780        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1781        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1782        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1783        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1784        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1785        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1786        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1787        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1788        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1789        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1790        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1791        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1792        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1793        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1794        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1795        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1796        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1797        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1798        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1799        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1800        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1801        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1802        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1803        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1804        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1805        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1806        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1807        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1808        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1809        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1810        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1811        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1812        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1813        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1814        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1815        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1816        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1817        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1818        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1819        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1820        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1821        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1822        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1823        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1824        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1825        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1826        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1827        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1828        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1829        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1830        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1831        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1832        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1833        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1834        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1835        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1836        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1837        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1838        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1839        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1840        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1841        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1842        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1843        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1844        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1845        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1846        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1847        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1848        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1849        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1850        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1851        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1852        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1853        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1854        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1855        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1856        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1857        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1858        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1859        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1860        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1861        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1862        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1863        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1864        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1865        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1866        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1867        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1868        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1869        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1870        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1871        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1872        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1873        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1874        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1875        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1876        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1877        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1878        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1879        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1880        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1881        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1882        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1883        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1884        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1885        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1886        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1887        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1888        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1889        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1890        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1891        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1892        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1893        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1894        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1895        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1896        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1897        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1898        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1899        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1900        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1901        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1902        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1903        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1904        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1905        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1906        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1907        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1908        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1909        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1910        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1911        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1912        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1913        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1914        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1915        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1916        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1917        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1918        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1919        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1920        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1921        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1922        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1923        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1924        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1925        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1926        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1927        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1928        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1929        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1930        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1931        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1932        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1933        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1934        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1935        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1936        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1937        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1938        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1939        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1940        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1941        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1942        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1943        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1944        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1945        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1946        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1947        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1948        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1949        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1950        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1951        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1952        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1953        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1954        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1955        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1956        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1957        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1958        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1959        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1960        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1961        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1962        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1963        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1964        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1965        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1966        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1967        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1968        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1969        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1970        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1971        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1972        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1973        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1974        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1975        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1976        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1977        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1978        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1979        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1980        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1981        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1982        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1983        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1984        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1985        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1986        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1987        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1988        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1989        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1990        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1991        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1992        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1993        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1994        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1995        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1996        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1997        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1998        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1999        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2000        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2001        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2002        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2003        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2004        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2005        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2006        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2007        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2008        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2009        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2010        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2011        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2012        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2013        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2014        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2015        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2016        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2017        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2018        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2019        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2020        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2021        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2022        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2023        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2024        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2025        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2026        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2027        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2028        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2029        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2030        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2031        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2032        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2033        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2034        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2035        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2036        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2037        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2038        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2039        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2040        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2041        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2042        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2043        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2044        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2045        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2046        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2047        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2048        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2049        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2050        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2051        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2052        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2053        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2054        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2055        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2056        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2057        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2058        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2059        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2060        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2061        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2062        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2063        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2064        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2065        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2066        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2067        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2068        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2069        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2070        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2071        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2072        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2073        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2074        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2075        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2076        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2077        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2078        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2079        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2080        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2081        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2082        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2083        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2084        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2085        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2086        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2087        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2088        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2089        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2090        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2091        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2092        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2093        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2094        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2095        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2096       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2097       34,    35,    36,     2,     2,     2,     2,     2,     2,     2,
2098       37,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2099        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2100        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2101        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2102       38,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2103        2,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2104       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2105       58,    59,    60,    61,    62,     2,     2,     2,     2,     2,
2106       63,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2107       64,    65,    66,     2,     2,     2,     2,     2,     2,     2,
2108       67,    68,     2,     2,     2,     2,     2,     2,     2,     2,
2109       69,    70,    71,     2,     2,     2,     2,     2,     2,     2,
2110       72,    73,    74,     2,     2,     2,     2,     2,     2,     2,
2111       75,    76,    77,     2,     2,     2,     2,     2,     2,     2,
2112       78,     2,    79,    80,    81,    82,    83,     2,     2,     2,
2113       84,    85,     2,     2,     2,     2,     2,     2,     2,     2,
2114        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2115       90,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2116       91,    92,    93,    94,    95,    96,    97,     2,     2,     2,
2117       98,    99,   100,     2,     2,     2,     2,     2,     2,     2,
2118      101,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2119      102,    86,     2,     2,     2,     2,     2,     2,     2,     2,
2120      103,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2121      104,   105,   106,     2,     2,     2,     2,     2,     2,     2,
2122      107,   108,   109,     2,     2,     2,     2,     2,     2,     2,
2123      110,   111,   112,     2,     2,     2,     2,     2,     2,     2,
2124        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2125        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2126      113,   114,    87,     2,    88,    89,     2,     2,     2,     2,
2127        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2128        2,     2,     2,   115,     2,     2,     2,     2,     2,     2,
2129        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2130      116,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2131      117,   118,   119,   120,   121,   122,   123,   124,     2,     2,
2132        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2133      125,   126,   127,     2,     2,     2,     2,     2,     2,     2,
2134      128,   129,     2,     2,     2,     2,     2,     2,     2,     2,
2135        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2136        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2137      130,   131,     2,     2,     2,     2,     2,     2,     2,     2,
2138      132,   133,   134,   135,   136,   137,     2,     2,     2,     2,
2139      138,   139,   140,   141,   142,   143,     2,     2,     2,     2,
2140        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2141        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2142        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2143        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2144        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2145        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
2146      144,     2,   145,   146,   147,   148,   149,   150,   151,   152,
2147      153,   154,   155,   156,     2,   157,   158,   159,   160
2148 };
2149 
2150 #if JAVA_DEBUG
2151 /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
2152 static const yytype_int16 yyrline[] =
2153 {
2154        0,   404,   404,   403,   408,   412,   413,   417,   422,   427,
2155      433,   434,   435,   436,   436,   440,   441,   445,   446,   450,
2156      716,   717,   732,   739,   746,   753,   782,   783,   784,   863,
2157      898,   926,   927,   928,   929,   933,   934,   943,   947,   948,
2158     1100,  1101,  1102,  1103,  1104,  1105
2159 };
2160 #endif
2161 
2162 /** Accessing symbol of state STATE.  */
2163 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
2164 
2165 #if 1
2166 /* The user-facing name of the symbol whose (internal) number is
2167    YYSYMBOL.  No bounds checking.  */
2168 static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
2169 
2170 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2171    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
2172 static const char *const yytname[] =
2173 {
2174   "\"end of file\"", "error", "\"invalid token\"", "LL_CONTEXT_ROOT",
2175   "LL_CONTEXT_DESTINATION", "LL_CONTEXT_SOURCE", "LL_CONTEXT_PARSER",
2176   "LL_CONTEXT_REWRITE", "LL_CONTEXT_FILTER", "LL_CONTEXT_LOG",
2177   "LL_CONTEXT_BLOCK_DEF", "LL_CONTEXT_BLOCK_REF",
2178   "LL_CONTEXT_BLOCK_CONTENT", "LL_CONTEXT_BLOCK_ARG", "LL_CONTEXT_PRAGMA",
2179   "LL_CONTEXT_FORMAT", "LL_CONTEXT_TEMPLATE_FUNC", "LL_CONTEXT_INNER_DEST",
2180   "LL_CONTEXT_INNER_SRC", "LL_CONTEXT_CLIENT_PROTO",
2181   "LL_CONTEXT_SERVER_PROTO", "LL_CONTEXT_OPTIONS", "LL_CONTEXT_CONFIG",
2182   "LL_CONTEXT_MAX", "KW_SOURCE", "KW_FILTER", "KW_PARSER",
2183   "KW_DESTINATION", "KW_LOG", "KW_OPTIONS", "KW_INCLUDE", "KW_BLOCK",
2184   "KW_JUNCTION", "KW_CHANNEL", "KW_IF", "KW_ELSE", "KW_ELIF",
2185   "KW_INTERNAL", "KW_SYSLOG", "KW_MARK_FREQ", "KW_STATS_FREQ",
2186   "KW_STATS_LEVEL", "KW_STATS_LIFETIME", "KW_FLUSH_LINES", "KW_SUPPRESS",
2187   "KW_FLUSH_TIMEOUT", "KW_LOG_MSG_SIZE", "KW_FILE_TEMPLATE",
2188   "KW_PROTO_TEMPLATE", "KW_MARK_MODE", "KW_ENCODING", "KW_TYPE",
2189   "KW_STATS_MAX_DYNAMIC", "KW_MIN_IW_SIZE_PER_READER", "KW_WORKERS",
2190   "KW_BATCH_LINES", "KW_BATCH_TIMEOUT", "KW_TRIM_LARGE_MESSAGES",
2191   "KW_CHAIN_HOSTNAMES", "KW_NORMALIZE_HOSTNAMES", "KW_KEEP_HOSTNAME",
2192   "KW_CHECK_HOSTNAME", "KW_BAD_HOSTNAME", "KW_KEEP_TIMESTAMP",
2193   "KW_USE_DNS", "KW_USE_FQDN", "KW_CUSTOM_DOMAIN", "KW_DNS_CACHE",
2194   "KW_DNS_CACHE_SIZE", "KW_DNS_CACHE_EXPIRE", "KW_DNS_CACHE_EXPIRE_FAILED",
2195   "KW_DNS_CACHE_HOSTS", "KW_PERSIST_ONLY", "KW_USE_RCPTID",
2196   "KW_USE_UNIQID", "KW_TZ_CONVERT", "KW_TS_FORMAT", "KW_FRAC_DIGITS",
2197   "KW_LOG_FIFO_SIZE", "KW_LOG_FETCH_LIMIT", "KW_LOG_IW_SIZE",
2198   "KW_LOG_PREFIX", "KW_PROGRAM_OVERRIDE", "KW_HOST_OVERRIDE",
2199   "KW_THROTTLE", "KW_THREADED", "KW_PASS_UNIX_CREDENTIALS",
2200   "KW_PERSIST_NAME", "KW_READ_OLD_RECORDS", "KW_USE_SYSLOGNG_PID",
2201   "KW_FLAGS", "KW_PAD_SIZE", "KW_TIME_ZONE", "KW_RECV_TIME_ZONE",
2202   "KW_SEND_TIME_ZONE", "KW_LOCAL_TIME_ZONE", "KW_FORMAT",
2203   "KW_TRUNCATE_SIZE", "KW_TIME_REOPEN", "KW_TIME_REAP", "KW_TIME_SLEEP",
2204   "KW_TMPL_ESCAPE", "KW_OPTIONAL", "KW_CREATE_DIRS", "KW_OWNER",
2205   "KW_GROUP", "KW_PERM", "KW_DIR_OWNER", "KW_DIR_GROUP", "KW_DIR_PERM",
2206   "KW_TEMPLATE", "KW_TEMPLATE_ESCAPE", "KW_TEMPLATE_FUNCTION",
2207   "KW_DEFAULT_FACILITY", "KW_DEFAULT_SEVERITY", "KW_PORT",
2208   "KW_USE_TIME_RECVD", "KW_FACILITY", "KW_SEVERITY", "KW_HOST", "KW_MATCH",
2209   "KW_MESSAGE", "KW_NETMASK", "KW_TAGS", "KW_NETMASK6", "KW_REWRITE",
2210   "KW_CONDITION", "KW_VALUE", "KW_YES", "KW_NO", "KW_IFDEF", "KW_ENDIF",
2211   "LL_DOTDOT", "LL_DOTDOTDOT", "LL_PRAGMA", "LL_EOL", "LL_ERROR",
2212   "LL_ARROW", "LL_IDENTIFIER", "LL_NUMBER", "LL_FLOAT", "LL_STRING",
2213   "LL_TOKEN", "LL_BLOCK", "KW_VALUE_PAIRS", "KW_EXCLUDE", "KW_PAIR",
2214   "KW_KEY", "KW_SCOPE", "KW_SHIFT", "KW_SHIFT_LEVELS", "KW_REKEY",
2215   "KW_ADD_PREFIX", "KW_REPLACE_PREFIX", "KW_ON_ERROR", "KW_RETRIES",
2216   "KW_FETCH_NO_DATA_DELAY", "KW_JAVA", "KW_CLASS_PATH", "KW_CLASS_NAME",
2217   "KW_JVM_OPTIONS", "'('", "')'", "'{'", "'}'", "';'", "':'", "$accept",
2218   "start", "$@1", "java_dest_options", "java_dest_option", "$@2",
2219   "java_dest_custom_options", "java_dest_custom_option",
2220   "java_global_option", "string", "nonnegative_integer64",
2221   "nonnegative_integer", "positive_integer64", "positive_integer",
2222   "string_or_number", "driver_option", "inner_dest", "dest_driver_option",
2223   "threaded_dest_driver_batch_option",
2224   "threaded_dest_driver_general_option", "template_option", YY_NULLPTR
2225 };
2226 
2227 static const char *
yysymbol_name(yysymbol_kind_t yysymbol)2228 yysymbol_name (yysymbol_kind_t yysymbol)
2229 {
2230   return yytname[yysymbol];
2231 }
2232 #endif
2233 
2234 #define YYPACT_NINF (-150)
2235 
2236 #define yypact_value_is_default(Yyn) \
2237   ((Yyn) == YYPACT_NINF)
2238 
2239 #define YYTABLE_NINF (-7)
2240 
2241 #define yytable_value_is_error(Yyn) \
2242   0
2243 
2244 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2245    STATE-NUM.  */
2246 static const yytype_int16 yypact[] =
2247 {
2248        0,  -149,  -142,    28,  -150,  -132,  -150,  -150,  -130,  -131,
2249      -29,  -150,  -150,  -129,  -127,  -126,  -122,  -119,  -118,  -117,
2250     -115,  -114,  -150,  -113,  -111,  -110,  -108,   -29,   -75,  -150,
2251     -150,  -150,  -150,  -150,  -150,  -131,  -109,  -107,  -107,  -109,
2252     -131,  -107,  -131,  -107,  -131,  -131,  -150,  -150,  -105,  -104,
2253     -102,  -101,  -100,   -99,  -150,   -98,  -131,  -125,  -150,  -150,
2254      -97,  -150,  -150,   -96,   -95,   -88,   -87,   -85,   -84,   -82,
2255      -80,   -79,  -131,  -109,  -131,  -131,  -131,  -131,  -150,  -150,
2256     -116,  -150,  -150,  -150,  -150,  -150,  -150,  -150,  -150,  -150,
2257     -150,  -150,  -150,  -150,  -150,   -78,   -77,   -76,   -74,   -73,
2258      -72,  -150,  -150,  -150,  -150,  -150,  -150,  -150
2259 };
2260 
2261 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2262    Performed when YYTABLE does not specify something else to do.  Zero
2263    means the default is an error.  */
2264 static const yytype_int8 yydefact[] =
2265 {
2266        0,     0,     0,     0,     2,     0,     4,     1,     0,     0,
2267       13,    20,    21,     0,     0,     0,     0,     0,     0,     0,
2268        0,     0,    30,     0,     0,     0,     0,    13,     0,    34,
2269       33,    39,    12,    11,    19,    16,     0,     0,     0,     0,
2270        0,     0,     0,     0,     0,     0,     3,     5,     0,     0,
2271        0,     0,     0,     0,    14,     0,    16,     0,    22,    23,
2272        0,    24,    25,     0,     0,     0,     0,     0,     0,     0,
2273        0,     0,     0,     0,     0,     0,     0,     0,    10,    15,
2274        0,    27,    28,    26,    17,    35,    36,    31,    32,    29,
2275       38,     9,    37,     7,     8,     0,     0,     0,     0,     0,
2276        0,    18,    40,    41,    42,    43,    44,    45
2277 };
2278 
2279 /* YYPGOTO[NTERM-NUM].  */
2280 static const yytype_int16 yypgoto[] =
2281 {
2282     -150,  -150,  -150,    18,  -150,  -150,     7,  -150,  -150,    -4,
2283     -150,   -36,  -150,   -32,   -28,  -150,  -150,  -150,  -150,  -150,
2284     -150
2285 };
2286 
2287 /* YYDEFGOTO[NTERM-NUM].  */
2288 static const yytype_int8 yydefgoto[] =
2289 {
2290        0,     3,     8,    26,    27,    28,    55,    56,     6,    57,
2291       59,    60,    62,    63,    84,    29,    30,    31,    32,    33,
2292       54
2293 };
2294 
2295 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
2296    positive, shift that token.  If negative, reduce the rule whose
2297    number is the opposite.  If YYTABLE_NINF, syntax error.  */
2298 static const yytype_int8 yytable[] =
2299 {
2300       14,    48,    49,    65,     1,    13,    64,    11,     4,    67,
2301       12,    69,    80,    11,    81,    82,    12,    50,     5,    51,
2302       52,     2,    11,    81,    82,    12,    15,    16,     7,     9,
2303       58,    10,    61,    34,    35,    36,    66,    96,    68,    37,
2304       70,    71,    38,    39,    40,    47,    41,    42,    43,    17,
2305       44,    45,   101,    83,    46,    18,    72,    73,    19,    74,
2306       75,    76,    77,    79,    78,    85,    86,    87,    95,    20,
2307       97,    98,    99,   100,    88,    89,    83,    90,    91,    53,
2308       92,    21,    93,    94,   102,   103,   104,     0,   105,   106,
2309      107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2310        0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
2311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2312        0,     0,     0,     0,     0,     0,    23,     0,     0,    24,
2313       25,     0,     0,    -6
2314 };
2315 
2316 static const yytype_int16 yycheck[] =
2317 {
2318       29,    76,    77,    39,     4,     9,    38,   138,   157,    41,
2319      141,    43,   137,   138,   139,   140,   141,    92,   160,    94,
2320       95,    21,   138,   139,   140,   141,    55,    56,     0,   161,
2321      139,   161,   139,   162,   161,   161,    40,    73,    42,   161,
2322       44,    45,   161,   161,   161,    27,   161,   161,   161,    78,
2323      161,   161,    80,    57,   162,    84,   161,   161,    87,   161,
2324      161,   161,   161,    56,   162,   162,   162,   162,    72,    98,
2325       74,    75,    76,    77,   162,   162,    80,   162,   162,   154,
2326      162,   110,   162,   162,   162,   162,   162,    -1,   162,   162,
2327      162,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   138,
2329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2330       -1,    -1,    -1,    -1,    -1,    -1,   155,    -1,    -1,   158,
2331      159,    -1,    -1,   162
2332 };
2333 
2334 /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
2335    state STATE-NUM.  */
2336 static const yytype_uint8 yystos[] =
2337 {
2338        0,     4,    21,   168,   157,   160,   175,     0,   169,   161,
2339      161,   138,   141,   176,    29,    55,    56,    78,    84,    87,
2340       98,   110,   138,   155,   158,   159,   170,   171,   172,   182,
2341      183,   184,   185,   186,   162,   161,   161,   161,   161,   161,
2342      161,   161,   161,   161,   161,   161,   162,   170,    76,    77,
2343       92,    94,    95,   154,   187,   173,   174,   176,   139,   177,
2344      178,   139,   179,   180,   180,   178,   176,   180,   176,   180,
2345      176,   176,   161,   161,   161,   161,   161,   161,   162,   173,
2346      137,   139,   140,   176,   181,   162,   162,   162,   162,   162,
2347      162,   162,   162,   162,   162,   176,   178,   176,   176,   176,
2348      176,   181,   162,   162,   162,   162,   162,   162
2349 };
2350 
2351 /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
2352 static const yytype_uint8 yyr1[] =
2353 {
2354        0,   167,   169,   168,   168,   170,   170,   171,   171,   171,
2355      171,   171,   171,   172,   171,   173,   173,   174,   174,   175,
2356      176,   176,   177,   178,   179,   180,   181,   181,   181,   182,
2357      183,   184,   184,   184,   184,   185,   185,   186,   186,   186,
2358      187,   187,   187,   187,   187,   187
2359 };
2360 
2361 /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
2362 static const yytype_int8 yyr2[] =
2363 {
2364        0,     2,     0,     6,     2,     2,     0,     4,     4,     4,
2365        4,     1,     1,     0,     2,     2,     0,     2,     3,     4,
2366        1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2367        1,     4,     4,     1,     1,     4,     4,     4,     4,     1,
2368        4,     4,     4,     4,     4,     4
2369 };
2370 
2371 
2372 enum { YYENOMEM = -2 };
2373 
2374 #define yyerrok         (yyerrstatus = 0)
2375 #define yyclearin       (yychar = JAVA_EMPTY)
2376 
2377 #define YYACCEPT        goto yyacceptlab
2378 #define YYABORT         goto yyabortlab
2379 #define YYERROR         goto yyerrorlab
2380 #define YYNOMEM         goto yyexhaustedlab
2381 
2382 
2383 #define YYRECOVERING()  (!!yyerrstatus)
2384 
2385 #define YYBACKUP(Token, Value)                                    \
2386   do                                                              \
2387     if (yychar == JAVA_EMPTY)                                        \
2388       {                                                           \
2389         yychar = (Token);                                         \
2390         yylval = (Value);                                         \
2391         YYPOPSTACK (yylen);                                       \
2392         yystate = *yyssp;                                         \
2393         goto yybackup;                                            \
2394       }                                                           \
2395     else                                                          \
2396       {                                                           \
2397         yyerror (&yylloc, lexer, instance, arg, YY_("syntax error: cannot back up")); \
2398         YYERROR;                                                  \
2399       }                                                           \
2400   while (0)
2401 
2402 /* Backward compatibility with an undocumented macro.
2403    Use JAVA_error or JAVA_UNDEF. */
2404 #define YYERRCODE JAVA_UNDEF
2405 
2406 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2407    If N is 0, then set CURRENT to the empty location which ends
2408    the previous symbol: RHS[0] (always defined).  */
2409 
2410 #ifndef YYLLOC_DEFAULT
2411 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2412     do                                                                  \
2413       if (N)                                                            \
2414         {                                                               \
2415           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2416           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2417           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2418           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2419         }                                                               \
2420       else                                                              \
2421         {                                                               \
2422           (Current).first_line   = (Current).last_line   =              \
2423             YYRHSLOC (Rhs, 0).last_line;                                \
2424           (Current).first_column = (Current).last_column =              \
2425             YYRHSLOC (Rhs, 0).last_column;                              \
2426         }                                                               \
2427     while (0)
2428 #endif
2429 
2430 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2431 
2432 
2433 /* Enable debugging if requested.  */
2434 #if JAVA_DEBUG
2435 
2436 # ifndef YYFPRINTF
2437 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2438 #  define YYFPRINTF fprintf
2439 # endif
2440 
2441 # define YYDPRINTF(Args)                        \
2442 do {                                            \
2443   if (yydebug)                                  \
2444     YYFPRINTF Args;                             \
2445 } while (0)
2446 
2447 
2448 /* YYLOCATION_PRINT -- Print the location on the stream.
2449    This macro was not mandated originally: define only if we know
2450    we won't break user code: when these are the locations we know.  */
2451 
2452 # ifndef YYLOCATION_PRINT
2453 
2454 #  if defined YY_LOCATION_PRINT
2455 
2456    /* Temporary convenience wrapper in case some people defined the
2457       undocumented and private YY_LOCATION_PRINT macros.  */
2458 #   define YYLOCATION_PRINT(File, Loc)  YY_LOCATION_PRINT(File, *(Loc))
2459 
2460 #  elif defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL
2461 
2462 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
2463 
2464 YY_ATTRIBUTE_UNUSED
2465 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)2466 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
2467 {
2468   int res = 0;
2469   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
2470   if (0 <= yylocp->first_line)
2471     {
2472       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
2473       if (0 <= yylocp->first_column)
2474         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
2475     }
2476   if (0 <= yylocp->last_line)
2477     {
2478       if (yylocp->first_line < yylocp->last_line)
2479         {
2480           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
2481           if (0 <= end_col)
2482             res += YYFPRINTF (yyo, ".%d", end_col);
2483         }
2484       else if (0 <= end_col && yylocp->first_column < end_col)
2485         res += YYFPRINTF (yyo, "-%d", end_col);
2486     }
2487   return res;
2488 }
2489 
2490 #   define YYLOCATION_PRINT  yy_location_print_
2491 
2492     /* Temporary convenience wrapper in case some people defined the
2493        undocumented and private YY_LOCATION_PRINT macros.  */
2494 #   define YY_LOCATION_PRINT(File, Loc)  YYLOCATION_PRINT(File, &(Loc))
2495 
2496 #  else
2497 
2498 #   define YYLOCATION_PRINT(File, Loc) ((void) 0)
2499     /* Temporary convenience wrapper in case some people defined the
2500        undocumented and private YY_LOCATION_PRINT macros.  */
2501 #   define YY_LOCATION_PRINT  YYLOCATION_PRINT
2502 
2503 #  endif
2504 # endif /* !defined YYLOCATION_PRINT */
2505 
2506 
2507 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
2508 do {                                                                      \
2509   if (yydebug)                                                            \
2510     {                                                                     \
2511       YYFPRINTF (stderr, "%s ", Title);                                   \
2512       yy_symbol_print (stderr,                                            \
2513                   Kind, Value, Location, lexer, instance, arg); \
2514       YYFPRINTF (stderr, "\n");                                           \
2515     }                                                                     \
2516 } while (0)
2517 
2518 
2519 /*-----------------------------------.
2520 | Print this symbol's value on YYO.  |
2521 `-----------------------------------*/
2522 
2523 static void
yy_symbol_value_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2524 yy_symbol_value_print (FILE *yyo,
2525                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2526 {
2527   FILE *yyoutput = yyo;
2528   YY_USE (yyoutput);
2529   YY_USE (yylocationp);
2530   YY_USE (lexer);
2531   YY_USE (instance);
2532   YY_USE (arg);
2533   if (!yyvaluep)
2534     return;
2535   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2536   YY_USE (yykind);
2537   YY_IGNORE_MAYBE_UNINITIALIZED_END
2538 }
2539 
2540 
2541 /*---------------------------.
2542 | Print this symbol on YYO.  |
2543 `---------------------------*/
2544 
2545 static void
yy_symbol_print(FILE * yyo,yysymbol_kind_t yykind,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2546 yy_symbol_print (FILE *yyo,
2547                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2548 {
2549   YYFPRINTF (yyo, "%s %s (",
2550              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
2551 
2552   YYLOCATION_PRINT (yyo, yylocationp);
2553   YYFPRINTF (yyo, ": ");
2554   yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, lexer, instance, arg);
2555   YYFPRINTF (yyo, ")");
2556 }
2557 
2558 /*------------------------------------------------------------------.
2559 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2560 | TOP (included).                                                   |
2561 `------------------------------------------------------------------*/
2562 
2563 static void
yy_stack_print(yy_state_t * yybottom,yy_state_t * yytop)2564 yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
2565 {
2566   YYFPRINTF (stderr, "Stack now");
2567   for (; yybottom <= yytop; yybottom++)
2568     {
2569       int yybot = *yybottom;
2570       YYFPRINTF (stderr, " %d", yybot);
2571     }
2572   YYFPRINTF (stderr, "\n");
2573 }
2574 
2575 # define YY_STACK_PRINT(Bottom, Top)                            \
2576 do {                                                            \
2577   if (yydebug)                                                  \
2578     yy_stack_print ((Bottom), (Top));                           \
2579 } while (0)
2580 
2581 
2582 /*------------------------------------------------.
2583 | Report that the YYRULE is going to be reduced.  |
2584 `------------------------------------------------*/
2585 
2586 static void
yy_reduce_print(yy_state_t * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2587 yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
2588                  int yyrule, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2589 {
2590   int yylno = yyrline[yyrule];
2591   int yynrhs = yyr2[yyrule];
2592   int yyi;
2593   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
2594              yyrule - 1, yylno);
2595   /* The symbols being reduced.  */
2596   for (yyi = 0; yyi < yynrhs; yyi++)
2597     {
2598       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
2599       yy_symbol_print (stderr,
2600                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
2601                        &yyvsp[(yyi + 1) - (yynrhs)],
2602                        &(yylsp[(yyi + 1) - (yynrhs)]), lexer, instance, arg);
2603       YYFPRINTF (stderr, "\n");
2604     }
2605 }
2606 
2607 # define YY_REDUCE_PRINT(Rule)          \
2608 do {                                    \
2609   if (yydebug)                          \
2610     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, lexer, instance, arg); \
2611 } while (0)
2612 
2613 /* Nonzero means print parse trace.  It is left uninitialized so that
2614    multiple parsers can coexist.  */
2615 int yydebug;
2616 #else /* !JAVA_DEBUG */
2617 # define YYDPRINTF(Args) ((void) 0)
2618 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
2619 # define YY_STACK_PRINT(Bottom, Top)
2620 # define YY_REDUCE_PRINT(Rule)
2621 #endif /* !JAVA_DEBUG */
2622 
2623 
2624 /* YYINITDEPTH -- initial size of the parser's stacks.  */
2625 #ifndef YYINITDEPTH
2626 # define YYINITDEPTH 200
2627 #endif
2628 
2629 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2630    if the built-in stack extension method is used).
2631 
2632    Do not make this value too large; the results are undefined if
2633    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2634    evaluated with infinite-precision integer arithmetic.  */
2635 
2636 #ifndef YYMAXDEPTH
2637 # define YYMAXDEPTH 10000
2638 #endif
2639 
2640 
2641 /* Context of a parse error.  */
2642 typedef struct
2643 {
2644   yy_state_t *yyssp;
2645   yysymbol_kind_t yytoken;
2646   YYLTYPE *yylloc;
2647 } yypcontext_t;
2648 
2649 /* Put in YYARG at most YYARGN of the expected tokens given the
2650    current YYCTX, and return the number of tokens stored in YYARG.  If
2651    YYARG is null, return the number of expected tokens (guaranteed to
2652    be less than YYNTOKENS).  Return YYENOMEM on memory exhaustion.
2653    Return 0 if there are more than YYARGN expected tokens, yet fill
2654    YYARG up to YYARGN. */
2655 static int
yypcontext_expected_tokens(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2656 yypcontext_expected_tokens (const yypcontext_t *yyctx,
2657                             yysymbol_kind_t yyarg[], int yyargn)
2658 {
2659   /* Actual size of YYARG. */
2660   int yycount = 0;
2661   int yyn = yypact[+*yyctx->yyssp];
2662   if (!yypact_value_is_default (yyn))
2663     {
2664       /* Start YYX at -YYN if negative to avoid negative indexes in
2665          YYCHECK.  In other words, skip the first -YYN actions for
2666          this state because they are default actions.  */
2667       int yyxbegin = yyn < 0 ? -yyn : 0;
2668       /* Stay within bounds of both yycheck and yytname.  */
2669       int yychecklim = YYLAST - yyn + 1;
2670       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2671       int yyx;
2672       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2673         if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror
2674             && !yytable_value_is_error (yytable[yyx + yyn]))
2675           {
2676             if (!yyarg)
2677               ++yycount;
2678             else if (yycount == yyargn)
2679               return 0;
2680             else
2681               yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);
2682           }
2683     }
2684   if (yyarg && yycount == 0 && 0 < yyargn)
2685     yyarg[0] = YYSYMBOL_YYEMPTY;
2686   return yycount;
2687 }
2688 
2689 
2690 
2691 
2692 #ifndef yystrlen
2693 # if defined __GLIBC__ && defined _STRING_H
2694 #  define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
2695 # else
2696 /* Return the length of YYSTR.  */
2697 static YYPTRDIFF_T
yystrlen(const char * yystr)2698 yystrlen (const char *yystr)
2699 {
2700   YYPTRDIFF_T yylen;
2701   for (yylen = 0; yystr[yylen]; yylen++)
2702     continue;
2703   return yylen;
2704 }
2705 # endif
2706 #endif
2707 
2708 #ifndef yystpcpy
2709 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2710 #  define yystpcpy stpcpy
2711 # else
2712 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2713    YYDEST.  */
2714 static char *
yystpcpy(char * yydest,const char * yysrc)2715 yystpcpy (char *yydest, const char *yysrc)
2716 {
2717   char *yyd = yydest;
2718   const char *yys = yysrc;
2719 
2720   while ((*yyd++ = *yys++) != '\0')
2721     continue;
2722 
2723   return yyd - 1;
2724 }
2725 # endif
2726 #endif
2727 
2728 #ifndef yytnamerr
2729 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2730    quotes and backslashes, so that it's suitable for yyerror.  The
2731    heuristic is that double-quoting is unnecessary unless the string
2732    contains an apostrophe, a comma, or backslash (other than
2733    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2734    null, do not copy; instead, return the length of what the result
2735    would have been.  */
2736 static YYPTRDIFF_T
yytnamerr(char * yyres,const char * yystr)2737 yytnamerr (char *yyres, const char *yystr)
2738 {
2739   if (*yystr == '"')
2740     {
2741       YYPTRDIFF_T yyn = 0;
2742       char const *yyp = yystr;
2743       for (;;)
2744         switch (*++yyp)
2745           {
2746           case '\'':
2747           case ',':
2748             goto do_not_strip_quotes;
2749 
2750           case '\\':
2751             if (*++yyp != '\\')
2752               goto do_not_strip_quotes;
2753             else
2754               goto append;
2755 
2756           append:
2757           default:
2758             if (yyres)
2759               yyres[yyn] = *yyp;
2760             yyn++;
2761             break;
2762 
2763           case '"':
2764             if (yyres)
2765               yyres[yyn] = '\0';
2766             return yyn;
2767           }
2768     do_not_strip_quotes: ;
2769     }
2770 
2771   if (yyres)
2772     return yystpcpy (yyres, yystr) - yyres;
2773   else
2774     return yystrlen (yystr);
2775 }
2776 #endif
2777 
2778 
2779 static int
yy_syntax_error_arguments(const yypcontext_t * yyctx,yysymbol_kind_t yyarg[],int yyargn)2780 yy_syntax_error_arguments (const yypcontext_t *yyctx,
2781                            yysymbol_kind_t yyarg[], int yyargn)
2782 {
2783   /* Actual size of YYARG. */
2784   int yycount = 0;
2785   /* There are many possibilities here to consider:
2786      - If this state is a consistent state with a default action, then
2787        the only way this function was invoked is if the default action
2788        is an error action.  In that case, don't check for expected
2789        tokens because there are none.
2790      - The only way there can be no lookahead present (in yychar) is if
2791        this state is a consistent state with a default action.  Thus,
2792        detecting the absence of a lookahead is sufficient to determine
2793        that there is no unexpected or expected token to report.  In that
2794        case, just report a simple "syntax error".
2795      - Don't assume there isn't a lookahead just because this state is a
2796        consistent state with a default action.  There might have been a
2797        previous inconsistent state, consistent state with a non-default
2798        action, or user semantic action that manipulated yychar.
2799      - Of course, the expected token list depends on states to have
2800        correct lookahead information, and it depends on the parser not
2801        to perform extra reductions after fetching a lookahead from the
2802        scanner and before detecting a syntax error.  Thus, state merging
2803        (from LALR or IELR) and default reductions corrupt the expected
2804        token list.  However, the list is correct for canonical LR with
2805        one exception: it will still contain any token that will not be
2806        accepted due to an error action in a later state.
2807   */
2808   if (yyctx->yytoken != YYSYMBOL_YYEMPTY)
2809     {
2810       int yyn;
2811       if (yyarg)
2812         yyarg[yycount] = yyctx->yytoken;
2813       ++yycount;
2814       yyn = yypcontext_expected_tokens (yyctx,
2815                                         yyarg ? yyarg + 1 : yyarg, yyargn - 1);
2816       if (yyn == YYENOMEM)
2817         return YYENOMEM;
2818       else
2819         yycount += yyn;
2820     }
2821   return yycount;
2822 }
2823 
2824 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2825    about the unexpected token YYTOKEN for the state stack whose top is
2826    YYSSP.
2827 
2828    Return 0 if *YYMSG was successfully written.  Return -1 if *YYMSG is
2829    not large enough to hold the message.  In that case, also set
2830    *YYMSG_ALLOC to the required number of bytes.  Return YYENOMEM if the
2831    required number of bytes is too large to store.  */
2832 static int
yysyntax_error(YYPTRDIFF_T * yymsg_alloc,char ** yymsg,const yypcontext_t * yyctx)2833 yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
2834                 const yypcontext_t *yyctx)
2835 {
2836   enum { YYARGS_MAX = 5 };
2837   /* Internationalized format string. */
2838   const char *yyformat = YY_NULLPTR;
2839   /* Arguments of yyformat: reported tokens (one for the "unexpected",
2840      one per "expected"). */
2841   yysymbol_kind_t yyarg[YYARGS_MAX];
2842   /* Cumulated lengths of YYARG.  */
2843   YYPTRDIFF_T yysize = 0;
2844 
2845   /* Actual size of YYARG. */
2846   int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
2847   if (yycount == YYENOMEM)
2848     return YYENOMEM;
2849 
2850   switch (yycount)
2851     {
2852 #define YYCASE_(N, S)                       \
2853       case N:                               \
2854         yyformat = S;                       \
2855         break
2856     default: /* Avoid compiler warnings. */
2857       YYCASE_(0, YY_("syntax error"));
2858       YYCASE_(1, YY_("syntax error, unexpected %s"));
2859       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2860       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2861       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2862       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2863 #undef YYCASE_
2864     }
2865 
2866   /* Compute error message size.  Don't count the "%s"s, but reserve
2867      room for the terminator.  */
2868   yysize = yystrlen (yyformat) - 2 * yycount + 1;
2869   {
2870     int yyi;
2871     for (yyi = 0; yyi < yycount; ++yyi)
2872       {
2873         YYPTRDIFF_T yysize1
2874           = yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);
2875         if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
2876           yysize = yysize1;
2877         else
2878           return YYENOMEM;
2879       }
2880   }
2881 
2882   if (*yymsg_alloc < yysize)
2883     {
2884       *yymsg_alloc = 2 * yysize;
2885       if (! (yysize <= *yymsg_alloc
2886              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2887         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2888       return -1;
2889     }
2890 
2891   /* Avoid sprintf, as that infringes on the user's name space.
2892      Don't have undefined behavior even if the translation
2893      produced a string with the wrong number of "%s"s.  */
2894   {
2895     char *yyp = *yymsg;
2896     int yyi = 0;
2897     while ((*yyp = *yyformat) != '\0')
2898       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2899         {
2900           yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
2901           yyformat += 2;
2902         }
2903       else
2904         {
2905           ++yyp;
2906           ++yyformat;
2907         }
2908   }
2909   return 0;
2910 }
2911 
2912 
2913 /*-----------------------------------------------.
2914 | Release the memory associated to this symbol.  |
2915 `-----------------------------------------------*/
2916 
2917 static void
yydestruct(const char * yymsg,yysymbol_kind_t yykind,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,CfgLexer * lexer,LogDriver ** instance,gpointer arg)2918 yydestruct (const char *yymsg,
2919             yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, CfgLexer *lexer, LogDriver **instance, gpointer arg)
2920 {
2921   YY_USE (yyvaluep);
2922   YY_USE (yylocationp);
2923   YY_USE (lexer);
2924   YY_USE (instance);
2925   YY_USE (arg);
2926   if (!yymsg)
2927     yymsg = "Deleting";
2928   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
2929 
2930   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
2931   switch (yykind)
2932     {
2933     case YYSYMBOL_LL_IDENTIFIER: /* LL_IDENTIFIER  */
2934 #line 313 "modules/java/native/java-grammar.y"
2935             { free(((*yyvaluep).cptr)); }
2936 #line 2937 "modules/java/native/java-grammar.c"
2937         break;
2938 
2939     case YYSYMBOL_LL_STRING: /* LL_STRING  */
2940 #line 313 "modules/java/native/java-grammar.y"
2941             { free(((*yyvaluep).cptr)); }
2942 #line 2943 "modules/java/native/java-grammar.c"
2943         break;
2944 
2945     case YYSYMBOL_LL_BLOCK: /* LL_BLOCK  */
2946 #line 313 "modules/java/native/java-grammar.y"
2947             { free(((*yyvaluep).cptr)); }
2948 #line 2949 "modules/java/native/java-grammar.c"
2949         break;
2950 
2951     case YYSYMBOL_string: /* string  */
2952 #line 313 "modules/java/native/java-grammar.y"
2953             { free(((*yyvaluep).cptr)); }
2954 #line 2955 "modules/java/native/java-grammar.c"
2955         break;
2956 
2957     case YYSYMBOL_string_or_number: /* string_or_number  */
2958 #line 313 "modules/java/native/java-grammar.y"
2959             { free(((*yyvaluep).cptr)); }
2960 #line 2961 "modules/java/native/java-grammar.c"
2961         break;
2962 
2963       default:
2964         break;
2965     }
2966   YY_IGNORE_MAYBE_UNINITIALIZED_END
2967 }
2968 
2969 
2970 
2971 
2972 
2973 
2974 /*----------.
2975 | yyparse.  |
2976 `----------*/
2977 
2978 int
yyparse(CfgLexer * lexer,LogDriver ** instance,gpointer arg)2979 yyparse (CfgLexer *lexer, LogDriver **instance, gpointer arg)
2980 {
2981 /* Lookahead token kind.  */
2982 int yychar;
2983 
2984 
2985 /* The semantic value of the lookahead symbol.  */
2986 /* Default value used for initialization, for pacifying older GCCs
2987    or non-GCC compilers.  */
2988 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
2989 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
2990 
2991 /* Location data for the lookahead symbol.  */
2992 static YYLTYPE yyloc_default
2993 # if defined JAVA_LTYPE_IS_TRIVIAL && JAVA_LTYPE_IS_TRIVIAL
2994   = { 1, 1, 1, 1 }
2995 # endif
2996 ;
2997 YYLTYPE yylloc = yyloc_default;
2998 
2999     /* Number of syntax errors so far.  */
3000     int yynerrs = 0;
3001 
3002     yy_state_fast_t yystate = 0;
3003     /* Number of tokens to shift before error messages enabled.  */
3004     int yyerrstatus = 0;
3005 
3006     /* Refer to the stacks through separate pointers, to allow yyoverflow
3007        to reallocate them elsewhere.  */
3008 
3009     /* Their size.  */
3010     YYPTRDIFF_T yystacksize = YYINITDEPTH;
3011 
3012     /* The state stack: array, bottom, top.  */
3013     yy_state_t yyssa[YYINITDEPTH];
3014     yy_state_t *yyss = yyssa;
3015     yy_state_t *yyssp = yyss;
3016 
3017     /* The semantic value stack: array, bottom, top.  */
3018     YYSTYPE yyvsa[YYINITDEPTH];
3019     YYSTYPE *yyvs = yyvsa;
3020     YYSTYPE *yyvsp = yyvs;
3021 
3022     /* The location stack: array, bottom, top.  */
3023     YYLTYPE yylsa[YYINITDEPTH];
3024     YYLTYPE *yyls = yylsa;
3025     YYLTYPE *yylsp = yyls;
3026 
3027   int yyn;
3028   /* The return value of yyparse.  */
3029   int yyresult;
3030   /* Lookahead symbol kind.  */
3031   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
3032   /* The variables used to return semantic value and location from the
3033      action routines.  */
3034   YYSTYPE yyval;
3035   YYLTYPE yyloc;
3036 
3037   /* The locations where the error started and ended.  */
3038   YYLTYPE yyerror_range[3];
3039 
3040   /* Buffer for error messages, and its allocated size.  */
3041   char yymsgbuf[128];
3042   char *yymsg = yymsgbuf;
3043   YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
3044 
3045 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
3046 
3047   /* The number of symbols on the RHS of the reduced rule.
3048      Keep to zero when no symbol should be popped.  */
3049   int yylen = 0;
3050 
3051   YYDPRINTF ((stderr, "Starting parse\n"));
3052 
3053   yychar = JAVA_EMPTY; /* Cause a token to be read.  */
3054 
3055   yylsp[0] = yylloc;
3056   goto yysetstate;
3057 
3058 
3059 /*------------------------------------------------------------.
3060 | yynewstate -- push a new state, which is found in yystate.  |
3061 `------------------------------------------------------------*/
3062 yynewstate:
3063   /* In all cases, when you get here, the value and location stacks
3064      have just been pushed.  So pushing a state here evens the stacks.  */
3065   yyssp++;
3066 
3067 
3068 /*--------------------------------------------------------------------.
3069 | yysetstate -- set current state (the top of the stack) to yystate.  |
3070 `--------------------------------------------------------------------*/
3071 yysetstate:
3072   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3073   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
3074   YY_IGNORE_USELESS_CAST_BEGIN
3075   *yyssp = YY_CAST (yy_state_t, yystate);
3076   YY_IGNORE_USELESS_CAST_END
3077   YY_STACK_PRINT (yyss, yyssp);
3078 
3079   if (yyss + yystacksize - 1 <= yyssp)
3080 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
3081     YYNOMEM;
3082 #else
3083     {
3084       /* Get the current used size of the three stacks, in elements.  */
3085       YYPTRDIFF_T yysize = yyssp - yyss + 1;
3086 
3087 # if defined yyoverflow
3088       {
3089         /* Give user a chance to reallocate the stack.  Use copies of
3090            these so that the &'s don't force the real ones into
3091            memory.  */
3092         yy_state_t *yyss1 = yyss;
3093         YYSTYPE *yyvs1 = yyvs;
3094         YYLTYPE *yyls1 = yyls;
3095 
3096         /* Each stack pointer address is followed by the size of the
3097            data in use in that stack, in bytes.  This used to be a
3098            conditional around just the two extra args, but that might
3099            be undefined if yyoverflow is a macro.  */
3100         yyoverflow (YY_("memory exhausted"),
3101                     &yyss1, yysize * YYSIZEOF (*yyssp),
3102                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
3103                     &yyls1, yysize * YYSIZEOF (*yylsp),
3104                     &yystacksize);
3105         yyss = yyss1;
3106         yyvs = yyvs1;
3107         yyls = yyls1;
3108       }
3109 # else /* defined YYSTACK_RELOCATE */
3110       /* Extend the stack our own way.  */
3111       if (YYMAXDEPTH <= yystacksize)
3112         YYNOMEM;
3113       yystacksize *= 2;
3114       if (YYMAXDEPTH < yystacksize)
3115         yystacksize = YYMAXDEPTH;
3116 
3117       {
3118         yy_state_t *yyss1 = yyss;
3119         union yyalloc *yyptr =
3120           YY_CAST (union yyalloc *,
3121                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
3122         if (! yyptr)
3123           YYNOMEM;
3124         YYSTACK_RELOCATE (yyss_alloc, yyss);
3125         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
3126         YYSTACK_RELOCATE (yyls_alloc, yyls);
3127 #  undef YYSTACK_RELOCATE
3128         if (yyss1 != yyssa)
3129           YYSTACK_FREE (yyss1);
3130       }
3131 # endif
3132 
3133       yyssp = yyss + yysize - 1;
3134       yyvsp = yyvs + yysize - 1;
3135       yylsp = yyls + yysize - 1;
3136 
3137       YY_IGNORE_USELESS_CAST_BEGIN
3138       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
3139                   YY_CAST (long, yystacksize)));
3140       YY_IGNORE_USELESS_CAST_END
3141 
3142       if (yyss + yystacksize - 1 <= yyssp)
3143         YYABORT;
3144     }
3145 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
3146 
3147 
3148   if (yystate == YYFINAL)
3149     YYACCEPT;
3150 
3151   goto yybackup;
3152 
3153 
3154 /*-----------.
3155 | yybackup.  |
3156 `-----------*/
3157 yybackup:
3158   /* Do appropriate processing given the current state.  Read a
3159      lookahead token if we need one and don't already have one.  */
3160 
3161   /* First try to decide what to do without reference to lookahead token.  */
3162   yyn = yypact[yystate];
3163   if (yypact_value_is_default (yyn))
3164     goto yydefault;
3165 
3166   /* Not known => get a lookahead token if don't already have one.  */
3167 
3168   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
3169   if (yychar == JAVA_EMPTY)
3170     {
3171       YYDPRINTF ((stderr, "Reading a token\n"));
3172       yychar = yylex (&yylval, &yylloc, lexer);
3173     }
3174 
3175   if (yychar <= JAVA_EOF)
3176     {
3177       yychar = JAVA_EOF;
3178       yytoken = YYSYMBOL_YYEOF;
3179       YYDPRINTF ((stderr, "Now at end of input.\n"));
3180     }
3181   else if (yychar == JAVA_error)
3182     {
3183       /* The scanner already issued an error message, process directly
3184          to error recovery.  But do not keep the error token as
3185          lookahead, it is too special and may lead us to an endless
3186          loop in error recovery. */
3187       yychar = JAVA_UNDEF;
3188       yytoken = YYSYMBOL_YYerror;
3189       yyerror_range[1] = yylloc;
3190       goto yyerrlab1;
3191     }
3192   else
3193     {
3194       yytoken = YYTRANSLATE (yychar);
3195       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3196     }
3197 
3198   /* If the proper action on seeing token YYTOKEN is to reduce or to
3199      detect an error, take that action.  */
3200   yyn += yytoken;
3201   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3202     goto yydefault;
3203   yyn = yytable[yyn];
3204   if (yyn <= 0)
3205     {
3206       if (yytable_value_is_error (yyn))
3207         goto yyerrlab;
3208       yyn = -yyn;
3209       goto yyreduce;
3210     }
3211 
3212   /* Count tokens shifted since error; after three, turn off error
3213      status.  */
3214   if (yyerrstatus)
3215     yyerrstatus--;
3216 
3217   /* Shift the lookahead token.  */
3218   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3219   yystate = yyn;
3220   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3221   *++yyvsp = yylval;
3222   YY_IGNORE_MAYBE_UNINITIALIZED_END
3223   *++yylsp = yylloc;
3224 
3225   /* Discard the shifted token.  */
3226   yychar = JAVA_EMPTY;
3227   goto yynewstate;
3228 
3229 
3230 /*-----------------------------------------------------------.
3231 | yydefault -- do the default action for the current state.  |
3232 `-----------------------------------------------------------*/
3233 yydefault:
3234   yyn = yydefact[yystate];
3235   if (yyn == 0)
3236     goto yyerrlab;
3237   goto yyreduce;
3238 
3239 
3240 /*-----------------------------.
3241 | yyreduce -- do a reduction.  |
3242 `-----------------------------*/
3243 yyreduce:
3244   /* yyn is the number of a rule to reduce with.  */
3245   yylen = yyr2[yyn];
3246 
3247   /* If YYLEN is nonzero, implement the default value of the action:
3248      '$$ = $1'.
3249 
3250      Otherwise, the following line sets YYVAL to garbage.
3251      This behavior is undocumented and Bison
3252      users should not rely upon it.  Assigning to YYVAL
3253      unconditionally makes the parser a bit smaller, and it avoids a
3254      GCC warning that YYVAL may be used uninitialized.  */
3255   yyval = yyvsp[1-yylen];
3256 
3257   /* Default location. */
3258   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3259   yyerror_range[1] = yyloc;
3260   YY_REDUCE_PRINT (yyn);
3261   switch (yyn)
3262     {
3263   case 2: /* $@1: %empty  */
3264 #line 404 "modules/java/native/java-grammar.y"
3265           {
3266             last_driver = *instance = java_dd_new(configuration);
3267           }
3268 #line 3269 "modules/java/native/java-grammar.c"
3269     break;
3270 
3271   case 3: /* start: LL_CONTEXT_DESTINATION KW_JAVA $@1 '(' java_dest_options ')'  */
3272 #line 407 "modules/java/native/java-grammar.y"
3273                                                 { YYACCEPT; }
3274 #line 3275 "modules/java/native/java-grammar.c"
3275     break;
3276 
3277   case 4: /* start: LL_CONTEXT_OPTIONS java_global_option  */
3278 #line 408 "modules/java/native/java-grammar.y"
3279                                                 { YYACCEPT; }
3280 #line 3281 "modules/java/native/java-grammar.c"
3281     break;
3282 
3283   case 7: /* java_dest_option: KW_CLASS_PATH '(' string ')'  */
3284 #line 418 "modules/java/native/java-grammar.y"
3285           {
3286           	java_dd_set_class_path(last_driver, (yyvsp[-1].cptr));
3287             free((yyvsp[-1].cptr));
3288           }
3289 #line 3290 "modules/java/native/java-grammar.c"
3290     break;
3291 
3292   case 8: /* java_dest_option: KW_CLASS_NAME '(' string ')'  */
3293 #line 423 "modules/java/native/java-grammar.y"
3294           {
3295           	java_dd_set_class_name(last_driver, (yyvsp[-1].cptr));
3296             free((yyvsp[-1].cptr));
3297           }
3298 #line 3299 "modules/java/native/java-grammar.c"
3299     break;
3300 
3301   case 9: /* java_dest_option: KW_TEMPLATE '(' string ')'  */
3302 #line 428 "modules/java/native/java-grammar.y"
3303           {
3304             CHECK_ERROR(cfg_tree_lookup_template(&configuration->tree, (yyvsp[-1].cptr)) == NULL, (yylsp[0]),
3305                         "named templates are not supported in java destination");
3306             java_dd_set_template_string(last_driver, (yyvsp[-1].cptr)); free((yyvsp[-1].cptr));
3307           }
3308 #line 3309 "modules/java/native/java-grammar.c"
3309     break;
3310 
3311   case 13: /* $@2: %empty  */
3312 #line 436 "modules/java/native/java-grammar.y"
3313           { last_template_options = java_dd_get_template_options(last_driver); }
3314 #line 3315 "modules/java/native/java-grammar.c"
3315     break;
3316 
3317   case 17: /* java_dest_custom_option: string string_or_number  */
3318 #line 445 "modules/java/native/java-grammar.y"
3319                             { java_dd_set_option(last_driver, (yyvsp[-1].cptr), (yyvsp[0].cptr)); free((yyvsp[-1].cptr)); free((yyvsp[0].cptr)); }
3320 #line 3321 "modules/java/native/java-grammar.c"
3321     break;
3322 
3323   case 18: /* java_dest_custom_option: string LL_ARROW string_or_number  */
3324 #line 446 "modules/java/native/java-grammar.y"
3325                                      { java_dd_set_option(last_driver, (yyvsp[-2].cptr), (yyvsp[0].cptr)); free((yyvsp[-2].cptr)); free((yyvsp[0].cptr)); }
3326 #line 3327 "modules/java/native/java-grammar.c"
3327     break;
3328 
3329   case 19: /* java_global_option: KW_JVM_OPTIONS '(' string ')'  */
3330 #line 450 "modules/java/native/java-grammar.y"
3331                                         {java_config_set_jvm_options(configuration, g_strdup((yyvsp[-1].cptr))); free((yyvsp[-1].cptr));}
3332 #line 3333 "modules/java/native/java-grammar.c"
3333     break;
3334 
3335   case 22: /* nonnegative_integer64: LL_NUMBER  */
3336 #line 733 "modules/java/native/java-grammar.y"
3337           {
3338             CHECK_ERROR(((yyvsp[0].num) >= 0), (yylsp[0]), "It cannot be negative");
3339           }
3340 #line 3341 "modules/java/native/java-grammar.c"
3341     break;
3342 
3343   case 23: /* nonnegative_integer: nonnegative_integer64  */
3344 #line 740 "modules/java/native/java-grammar.y"
3345           {
3346             CHECK_ERROR(((yyvsp[0].num) <= G_MAXINT32), (yylsp[0]), "Must be smaller than 2^31");
3347           }
3348 #line 3349 "modules/java/native/java-grammar.c"
3349     break;
3350 
3351   case 24: /* positive_integer64: LL_NUMBER  */
3352 #line 747 "modules/java/native/java-grammar.y"
3353           {
3354             CHECK_ERROR(((yyvsp[0].num) > 0), (yylsp[0]), "Must be positive");
3355           }
3356 #line 3357 "modules/java/native/java-grammar.c"
3357     break;
3358 
3359   case 25: /* positive_integer: positive_integer64  */
3360 #line 754 "modules/java/native/java-grammar.y"
3361           {
3362             CHECK_ERROR(((yyvsp[0].num) <= G_MAXINT32), (yylsp[0]), "Must be smaller than 2^31");
3363           }
3364 #line 3365 "modules/java/native/java-grammar.c"
3365     break;
3366 
3367   case 26: /* string_or_number: string  */
3368 #line 782 "modules/java/native/java-grammar.y"
3369                                                 { (yyval.cptr) = (yyvsp[0].cptr); }
3370 #line 3371 "modules/java/native/java-grammar.c"
3371     break;
3372 
3373   case 27: /* string_or_number: LL_NUMBER  */
3374 #line 783 "modules/java/native/java-grammar.y"
3375                                                 { (yyval.cptr) = strdup(lexer->token_text->str); }
3376 #line 3377 "modules/java/native/java-grammar.c"
3377     break;
3378 
3379   case 28: /* string_or_number: LL_FLOAT  */
3380 #line 784 "modules/java/native/java-grammar.y"
3381                                                 { (yyval.cptr) = strdup(lexer->token_text->str); }
3382 #line 3383 "modules/java/native/java-grammar.c"
3383     break;
3384 
3385   case 29: /* driver_option: KW_PERSIST_NAME '(' string ')'  */
3386 #line 863 "modules/java/native/java-grammar.y"
3387                                          { log_pipe_set_persist_name(&last_driver->super, (yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3388 #line 3389 "modules/java/native/java-grammar.c"
3389     break;
3390 
3391   case 30: /* inner_dest: LL_IDENTIFIER  */
3392 #line 899 "modules/java/native/java-grammar.y"
3393           {
3394             Plugin *p;
3395             gint context = LL_CONTEXT_INNER_DEST;
3396             gpointer value;
3397 
3398             p = cfg_find_plugin(configuration, context, (yyvsp[0].cptr));
3399             CHECK_ERROR(p, (yylsp[0]), "%s plugin %s not found", cfg_lexer_lookup_context_name_by_type(context), (yyvsp[0].cptr));
3400 
3401             value = cfg_parse_plugin(configuration, p, &(yylsp[0]), last_driver);
3402 
3403             free((yyvsp[0].cptr));
3404             if (!value)
3405               {
3406                 YYERROR;
3407               }
3408             if (!log_driver_add_plugin(last_driver, (LogDriverPlugin *) value))
3409               {
3410                 log_driver_plugin_free(value);
3411                 CHECK_ERROR(TRUE, (yylsp[0]), "Error while registering the plugin %s in this destination", (yyvsp[0].cptr));
3412               }
3413           }
3414 #line 3415 "modules/java/native/java-grammar.c"
3415     break;
3416 
3417   case 31: /* dest_driver_option: KW_LOG_FIFO_SIZE '(' positive_integer ')'  */
3418 #line 926 "modules/java/native/java-grammar.y"
3419                                                         { ((LogDestDriver *) last_driver)->log_fifo_size = (yyvsp[-1].num); }
3420 #line 3421 "modules/java/native/java-grammar.c"
3421     break;
3422 
3423   case 32: /* dest_driver_option: KW_THROTTLE '(' nonnegative_integer ')'  */
3424 #line 927 "modules/java/native/java-grammar.y"
3425                                                           { ((LogDestDriver *) last_driver)->throttle = (yyvsp[-1].num); }
3426 #line 3427 "modules/java/native/java-grammar.c"
3427     break;
3428 
3429   case 35: /* threaded_dest_driver_batch_option: KW_BATCH_LINES '(' nonnegative_integer ')'  */
3430 #line 933 "modules/java/native/java-grammar.y"
3431                                                      { log_threaded_dest_driver_set_batch_lines(last_driver, (yyvsp[-1].num)); }
3432 #line 3433 "modules/java/native/java-grammar.c"
3433     break;
3434 
3435   case 36: /* threaded_dest_driver_batch_option: KW_BATCH_TIMEOUT '(' positive_integer ')'  */
3436 #line 934 "modules/java/native/java-grammar.y"
3437                                                     { log_threaded_dest_driver_set_batch_timeout(last_driver, (yyvsp[-1].num)); }
3438 #line 3439 "modules/java/native/java-grammar.c"
3439     break;
3440 
3441   case 37: /* threaded_dest_driver_general_option: KW_RETRIES '(' positive_integer ')'  */
3442 #line 944 "modules/java/native/java-grammar.y"
3443         {
3444           log_threaded_dest_driver_set_max_retries_on_error(last_driver, (yyvsp[-1].num));
3445         }
3446 #line 3447 "modules/java/native/java-grammar.c"
3447     break;
3448 
3449   case 38: /* threaded_dest_driver_general_option: KW_TIME_REOPEN '(' positive_integer ')'  */
3450 #line 947 "modules/java/native/java-grammar.y"
3451                                                   { log_threaded_dest_driver_set_time_reopen(last_driver, (yyvsp[-1].num)); }
3452 #line 3453 "modules/java/native/java-grammar.c"
3453     break;
3454 
3455   case 40: /* template_option: KW_TS_FORMAT '(' string ')'  */
3456 #line 1100 "modules/java/native/java-grammar.y"
3457                                                 { last_template_options->ts_format = cfg_ts_format_value((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3458 #line 3459 "modules/java/native/java-grammar.c"
3459     break;
3460 
3461   case 41: /* template_option: KW_FRAC_DIGITS '(' nonnegative_integer ')'  */
3462 #line 1101 "modules/java/native/java-grammar.y"
3463                                                         { last_template_options->frac_digits = (yyvsp[-1].num); }
3464 #line 3465 "modules/java/native/java-grammar.c"
3465     break;
3466 
3467   case 42: /* template_option: KW_TIME_ZONE '(' string ')'  */
3468 #line 1102 "modules/java/native/java-grammar.y"
3469                                                 { last_template_options->time_zone[LTZ_SEND] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3470 #line 3471 "modules/java/native/java-grammar.c"
3471     break;
3472 
3473   case 43: /* template_option: KW_SEND_TIME_ZONE '(' string ')'  */
3474 #line 1103 "modules/java/native/java-grammar.y"
3475                                                 { last_template_options->time_zone[LTZ_SEND] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3476 #line 3477 "modules/java/native/java-grammar.c"
3477     break;
3478 
3479   case 44: /* template_option: KW_LOCAL_TIME_ZONE '(' string ')'  */
3480 #line 1104 "modules/java/native/java-grammar.y"
3481                                                 { last_template_options->time_zone[LTZ_LOCAL] = g_strdup((yyvsp[-1].cptr)); free((yyvsp[-1].cptr)); }
3482 #line 3483 "modules/java/native/java-grammar.c"
3483     break;
3484 
3485   case 45: /* template_option: KW_ON_ERROR '(' string ')'  */
3486 #line 1106 "modules/java/native/java-grammar.y"
3487         {
3488           gint on_error;
3489 
3490           CHECK_ERROR(log_template_on_error_parse((yyvsp[-1].cptr), &on_error), (yylsp[-1]), "Invalid on-error() setting \"%s\"", (yyvsp[-1].cptr));
3491           free((yyvsp[-1].cptr));
3492 
3493           log_template_options_set_on_error(last_template_options, on_error);
3494         }
3495 #line 3496 "modules/java/native/java-grammar.c"
3496     break;
3497 
3498 
3499 #line 3500 "modules/java/native/java-grammar.c"
3500 
3501       default: break;
3502     }
3503   /* User semantic actions sometimes alter yychar, and that requires
3504      that yytoken be updated with the new translation.  We take the
3505      approach of translating immediately before every use of yytoken.
3506      One alternative is translating here after every semantic action,
3507      but that translation would be missed if the semantic action invokes
3508      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
3509      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
3510      incorrect destructor might then be invoked immediately.  In the
3511      case of YYERROR or YYBACKUP, subsequent parser actions might lead
3512      to an incorrect destructor call or verbose syntax error message
3513      before the lookahead is translated.  */
3514   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
3515 
3516   YYPOPSTACK (yylen);
3517   yylen = 0;
3518 
3519   *++yyvsp = yyval;
3520   *++yylsp = yyloc;
3521 
3522   /* Now 'shift' the result of the reduction.  Determine what state
3523      that goes to, based on the state we popped back to and the rule
3524      number reduced by.  */
3525   {
3526     const int yylhs = yyr1[yyn] - YYNTOKENS;
3527     const int yyi = yypgoto[yylhs] + *yyssp;
3528     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
3529                ? yytable[yyi]
3530                : yydefgoto[yylhs]);
3531   }
3532 
3533   goto yynewstate;
3534 
3535 
3536 /*--------------------------------------.
3537 | yyerrlab -- here on detecting error.  |
3538 `--------------------------------------*/
3539 yyerrlab:
3540   /* Make sure we have latest lookahead translation.  See comments at
3541      user semantic actions for why this is necessary.  */
3542   yytoken = yychar == JAVA_EMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
3543   /* If not already recovering from an error, report this error.  */
3544   if (!yyerrstatus)
3545     {
3546       ++yynerrs;
3547       {
3548         yypcontext_t yyctx
3549           = {yyssp, yytoken, &yylloc};
3550         char const *yymsgp = YY_("syntax error");
3551         int yysyntax_error_status;
3552         yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3553         if (yysyntax_error_status == 0)
3554           yymsgp = yymsg;
3555         else if (yysyntax_error_status == -1)
3556           {
3557             if (yymsg != yymsgbuf)
3558               YYSTACK_FREE (yymsg);
3559             yymsg = YY_CAST (char *,
3560                              YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
3561             if (yymsg)
3562               {
3563                 yysyntax_error_status
3564                   = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
3565                 yymsgp = yymsg;
3566               }
3567             else
3568               {
3569                 yymsg = yymsgbuf;
3570                 yymsg_alloc = sizeof yymsgbuf;
3571                 yysyntax_error_status = YYENOMEM;
3572               }
3573           }
3574         yyerror (&yylloc, lexer, instance, arg, yymsgp);
3575         if (yysyntax_error_status == YYENOMEM)
3576           YYNOMEM;
3577       }
3578     }
3579 
3580   yyerror_range[1] = yylloc;
3581   if (yyerrstatus == 3)
3582     {
3583       /* If just tried and failed to reuse lookahead token after an
3584          error, discard it.  */
3585 
3586       if (yychar <= JAVA_EOF)
3587         {
3588           /* Return failure if at end of input.  */
3589           if (yychar == JAVA_EOF)
3590             YYABORT;
3591         }
3592       else
3593         {
3594           yydestruct ("Error: discarding",
3595                       yytoken, &yylval, &yylloc, lexer, instance, arg);
3596           yychar = JAVA_EMPTY;
3597         }
3598     }
3599 
3600   /* Else will try to reuse lookahead token after shifting the error
3601      token.  */
3602   goto yyerrlab1;
3603 
3604 
3605 /*---------------------------------------------------.
3606 | yyerrorlab -- error raised explicitly by YYERROR.  |
3607 `---------------------------------------------------*/
3608 yyerrorlab:
3609   /* Pacify compilers when the user code never invokes YYERROR and the
3610      label yyerrorlab therefore never appears in user code.  */
3611   if (0)
3612     YYERROR;
3613   ++yynerrs;
3614 
3615   /* Do not reclaim the symbols of the rule whose action triggered
3616      this YYERROR.  */
3617   YYPOPSTACK (yylen);
3618   yylen = 0;
3619   YY_STACK_PRINT (yyss, yyssp);
3620   yystate = *yyssp;
3621   goto yyerrlab1;
3622 
3623 
3624 /*-------------------------------------------------------------.
3625 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
3626 `-------------------------------------------------------------*/
3627 yyerrlab1:
3628   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3629 
3630   /* Pop stack until we find a state that shifts the error token.  */
3631   for (;;)
3632     {
3633       yyn = yypact[yystate];
3634       if (!yypact_value_is_default (yyn))
3635         {
3636           yyn += YYSYMBOL_YYerror;
3637           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
3638             {
3639               yyn = yytable[yyn];
3640               if (0 < yyn)
3641                 break;
3642             }
3643         }
3644 
3645       /* Pop the current state because it cannot handle the error token.  */
3646       if (yyssp == yyss)
3647         YYABORT;
3648 
3649       yyerror_range[1] = *yylsp;
3650       yydestruct ("Error: popping",
3651                   YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, lexer, instance, arg);
3652       YYPOPSTACK (1);
3653       yystate = *yyssp;
3654       YY_STACK_PRINT (yyss, yyssp);
3655     }
3656 
3657   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3658   *++yyvsp = yylval;
3659   YY_IGNORE_MAYBE_UNINITIALIZED_END
3660 
3661   yyerror_range[2] = yylloc;
3662   ++yylsp;
3663   YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
3664 
3665   /* Shift the error token.  */
3666   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
3667 
3668   yystate = yyn;
3669   goto yynewstate;
3670 
3671 
3672 /*-------------------------------------.
3673 | yyacceptlab -- YYACCEPT comes here.  |
3674 `-------------------------------------*/
3675 yyacceptlab:
3676   yyresult = 0;
3677   goto yyreturnlab;
3678 
3679 
3680 /*-----------------------------------.
3681 | yyabortlab -- YYABORT comes here.  |
3682 `-----------------------------------*/
3683 yyabortlab:
3684   yyresult = 1;
3685   goto yyreturnlab;
3686 
3687 
3688 /*-----------------------------------------------------------.
3689 | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
3690 `-----------------------------------------------------------*/
3691 yyexhaustedlab:
3692   yyerror (&yylloc, lexer, instance, arg, YY_("memory exhausted"));
3693   yyresult = 2;
3694   goto yyreturnlab;
3695 
3696 
3697 /*----------------------------------------------------------.
3698 | yyreturnlab -- parsing is finished, clean up and return.  |
3699 `----------------------------------------------------------*/
3700 yyreturnlab:
3701   if (yychar != JAVA_EMPTY)
3702     {
3703       /* Make sure we have latest lookahead translation.  See comments at
3704          user semantic actions for why this is necessary.  */
3705       yytoken = YYTRANSLATE (yychar);
3706       yydestruct ("Cleanup: discarding lookahead",
3707                   yytoken, &yylval, &yylloc, lexer, instance, arg);
3708     }
3709   /* Do not reclaim the symbols of the rule whose action triggered
3710      this YYABORT or YYACCEPT.  */
3711   YYPOPSTACK (yylen);
3712   YY_STACK_PRINT (yyss, yyssp);
3713   while (yyssp != yyss)
3714     {
3715       yydestruct ("Cleanup: popping",
3716                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, lexer, instance, arg);
3717       YYPOPSTACK (1);
3718     }
3719 #ifndef yyoverflow
3720   if (yyss != yyssa)
3721     YYSTACK_FREE (yyss);
3722 #endif
3723   if (yymsg != yymsgbuf)
3724     YYSTACK_FREE (yymsg);
3725   return yyresult;
3726 }
3727 
3728 #line 1217 "modules/java/native/java-grammar.y"
3729 
3730