"Fossies" - the Fresh Open Source Software Archive

Member "monit-5.28.0/src/y.tab.c" (28 Mar 2021, 371986 Bytes) of package /linux/privat/monit-5.28.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "y.tab.c": 5.27.2_vs_5.28.0.

    1 /* A Bison parser, made by GNU Bison 3.5.1.  */
    2 
    3 /* Bison implementation for Yacc-like parsers in C
    4 
    5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 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 <http://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 /* All symbols defined below should begin with yy or YY, to avoid
   38    infringing on user name space.  This should be done even for local
   39    variables, as they might otherwise be expanded by user macros.
   40    There are some unavoidable exceptions within include files to
   41    define necessary library symbols; they are noted "INFRINGES ON
   42    USER NAME SPACE" below.  */
   43 
   44 /* Undocumented macros, especially those whose name start with YY_,
   45    are private implementation details.  Do not rely on them.  */
   46 
   47 /* Identify Bison output.  */
   48 #define YYBISON 1
   49 
   50 /* Bison version.  */
   51 #define YYBISON_VERSION "3.5.1"
   52 
   53 /* Skeleton name.  */
   54 #define YYSKELETON_NAME "yacc.c"
   55 
   56 /* Pure parsers.  */
   57 #define YYPURE 0
   58 
   59 /* Push parsers.  */
   60 #define YYPUSH 0
   61 
   62 /* Pull parsers.  */
   63 #define YYPULL 1
   64 
   65 
   66 
   67 
   68 /* First part of user prologue.  */
   69 #line 26 "src/p.y"
   70 
   71 
   72 /*
   73  * DESCRIPTION
   74  *   Simple context-free grammar for parsing the control file.
   75  *
   76  */
   77 
   78 #include "config.h"
   79 
   80 #ifdef HAVE_STDIO_H
   81 #include <stdio.h>
   82 #endif
   83 
   84 #ifdef HAVE_STDLIB_H
   85 #include <stdlib.h>
   86 #endif
   87 
   88 #ifdef HAVE_ERRNO_H
   89 #include <errno.h>
   90 #endif
   91 
   92 #ifdef HAVE_CTYPE_H
   93 #include <ctype.h>
   94 #endif
   95 
   96 #ifdef HAVE_PWD_H
   97 #include <pwd.h>
   98 #endif
   99 
  100 #ifdef HAVE_GRP_H
  101 #include <grp.h>
  102 #endif
  103 
  104 #ifdef HAVE_SYS_TYPES_H
  105 #include <sys/types.h>
  106 #endif
  107 
  108 #ifdef HAVE_SYS_TIME_H
  109 #include <sys/time.h>
  110 #endif
  111 
  112 #ifdef HAVE_TIME_H
  113 #include <time.h>
  114 #endif
  115 
  116 #ifdef HAVE_SYS_SOCKET_H
  117 #include <sys/socket.h>
  118 #endif
  119 
  120 #ifdef HAVE_ASM_PARAM_H
  121 #include <asm/param.h>
  122 #endif
  123 
  124 #ifdef HAVE_STRING_H
  125 #include <string.h>
  126 #endif
  127 
  128 #ifdef HAVE_STRINGS_H
  129 #include <strings.h>
  130 #endif
  131 
  132 #ifdef HAVE_NETDB_H
  133 #include <netdb.h>
  134 #endif
  135 
  136 #ifdef HAVE_SYSLOG_H
  137 #include <syslog.h>
  138 #endif
  139 
  140 #ifdef HAVE_NETINET_IN_SYSTM_H
  141 #include <netinet/in_systm.h>
  142 #endif
  143 
  144 #ifdef HAVE_NETINET_IN_H
  145 #include <netinet/in.h>
  146 #endif
  147 
  148 #ifdef HAVE_NETINET_IP_H
  149 #include <netinet/ip.h>
  150 #endif
  151 
  152 #ifdef HAVE_NETINET_IP_ICMP_H
  153 #include <netinet/ip_icmp.h>
  154 #endif
  155 
  156 #ifdef HAVE_REGEX_H
  157 #include <regex.h>
  158 #endif
  159 
  160 #ifdef HAVE_UNISTD_H
  161 #include <unistd.h>
  162 #endif
  163 
  164 #ifdef HAVE_OPENSSL
  165 #include <openssl/ssl.h>
  166 #endif
  167 
  168 #include "monit.h"
  169 #include "protocol.h"
  170 #include "engine.h"
  171 #include "alert.h"
  172 #include "ProcessTree.h"
  173 #include "device.h"
  174 #include "processor.h"
  175 #include "md5.h"
  176 #include "sha1.h"
  177 #include "checksum.h"
  178 #include "process_sysdep.h"
  179 
  180 // libmonit
  181 #include "io/File.h"
  182 #include "util/Str.h"
  183 #include "thread/Thread.h"
  184 
  185 
  186 /* ------------------------------------------------------------- Definitions */
  187 
  188 
  189 struct precedence_t {
  190         bool daemon;
  191         bool logfile;
  192         bool pidfile;
  193 };
  194 
  195 struct rate_t {
  196         unsigned int count;
  197         unsigned int cycles;
  198 };
  199 
  200 /* yacc interface */
  201 void  yyerror(const char *,...) __attribute__((format (printf, 1, 2)));
  202 void  yyerror2(const char *,...) __attribute__((format (printf, 1, 2)));
  203 void  yywarning(const char *,...) __attribute__((format (printf, 1, 2)));
  204 void  yywarning2(const char *,...) __attribute__((format (printf, 1, 2)));
  205 
  206 /* lexer interface */
  207 int yylex(void);
  208 extern FILE *yyin;
  209 extern int lineno;
  210 extern int arglineno;
  211 extern char *yytext;
  212 extern char *argyytext;
  213 extern char *currentfile;
  214 extern char *argcurrentfile;
  215 extern int buffer_stack_ptr;
  216 
  217 /* Local variables */
  218 static int cfg_errflag = 0;
  219 static Service_T tail = NULL;
  220 static Service_T current = NULL;
  221 static Request_T urlrequest = NULL;
  222 static command_t command = NULL;
  223 static command_t command1 = NULL;
  224 static command_t command2 = NULL;
  225 static Service_T depend_list = NULL;
  226 static struct Uid_T uidset = {};
  227 static struct Gid_T gidset = {};
  228 static struct Pid_T pidset = {};
  229 static struct Pid_T ppidset = {};
  230 static struct FsFlag_T fsflagset = {};
  231 static struct NonExist_T nonexistset = {};
  232 static struct Exist_T existset = {};
  233 static struct Status_T statusset = {};
  234 static struct Perm_T permset = {};
  235 static struct Size_T sizeset = {};
  236 static struct Uptime_T uptimeset = {};
  237 static struct ResponseTime_T responsetimeset = {};
  238 static struct LinkStatus_T linkstatusset = {};
  239 static struct LinkSpeed_T linkspeedset = {};
  240 static struct LinkSaturation_T linksaturationset = {};
  241 static struct Bandwidth_T bandwidthset = {};
  242 static struct Match_T matchset = {};
  243 static struct Icmp_T icmpset = {};
  244 static struct Mail_T mailset = {};
  245 static struct SslOptions_T sslset = {};
  246 static struct Port_T portset = {};
  247 static struct MailServer_T mailserverset = {};
  248 static struct Mmonit_T mmonitset = {};
  249 static struct FileSystem_T filesystemset = {};
  250 static struct Resource_T resourceset = {};
  251 static struct Checksum_T checksumset = {};
  252 static struct Timestamp_T timestampset = {};
  253 static struct ActionRate_T actionrateset = {};
  254 static struct precedence_t ihp = {false, false, false};
  255 static struct rate_t rate = {1, 1};
  256 static struct rate_t rate1 = {1, 1};
  257 static struct rate_t rate2 = {1, 1};
  258 static char * htpasswd_file = NULL;
  259 static unsigned int repeat = 0;
  260 static unsigned int repeat1 = 0;
  261 static unsigned int repeat2 = 0;
  262 static Digest_Type digesttype = Digest_Cleartext;
  263 
  264 #define BITMAP_MAX (sizeof(long long) * 8)
  265 
  266 
  267 /* -------------------------------------------------------------- Prototypes */
  268 
  269 static void  preparse(void);
  270 static void  postparse(void);
  271 static bool _parseOutgoingAddress(const char *ip, Outgoing_T *outgoing);
  272 static void  addmail(char *, Mail_T, Mail_T *);
  273 static Service_T createservice(Service_Type, char *, char *, State_Type (*)(Service_T));
  274 static void  addservice(Service_T);
  275 static void  adddependant(char *);
  276 static void  addservicegroup(char *);
  277 static void  addport(Port_T *, Port_T);
  278 static void  addhttpheader(Port_T, const char *);
  279 static void  addresource(Resource_T);
  280 static void  addtimestamp(Timestamp_T);
  281 static void  addactionrate(ActionRate_T);
  282 static void  addsize(Size_T);
  283 static void  adduptime(Uptime_T);
  284 static void  addpid(Pid_T);
  285 static void  addppid(Pid_T);
  286 static void  addfsflag(FsFlag_T);
  287 static void  addnonexist(NonExist_T);
  288 static void  addexist(Exist_T);
  289 static void  addlinkstatus(Service_T, LinkStatus_T);
  290 static void  addlinkspeed(Service_T, LinkSpeed_T);
  291 static void  addlinksaturation(Service_T, LinkSaturation_T);
  292 static void  addbandwidth(Bandwidth_T *, Bandwidth_T);
  293 static void  addfilesystem(FileSystem_T);
  294 static void  addicmp(Icmp_T);
  295 static void  addgeneric(Port_T, char*, char*);
  296 static void  addcommand(int, unsigned);
  297 static void  addargument(char *);
  298 static void  addmmonit(Mmonit_T);
  299 static void  addmailserver(MailServer_T);
  300 static bool addcredentials(char *, char *, Digest_Type, bool);
  301 #ifdef HAVE_LIBPAM
  302 static void  addpamauth(char *, int);
  303 #endif
  304 static void  addhtpasswdentry(char *, char *, Digest_Type);
  305 static uid_t get_uid(char *, uid_t);
  306 static gid_t get_gid(char *, gid_t);
  307 static void  addchecksum(Checksum_T);
  308 static void  addperm(Perm_T);
  309 static void  addmatch(Match_T, int, int);
  310 static void  addmatchpath(Match_T, Action_Type);
  311 static void  addstatus(Status_T);
  312 static Uid_T adduid(Uid_T);
  313 static Gid_T addgid(Gid_T);
  314 static void  addeuid(uid_t);
  315 static void  addegid(gid_t);
  316 static void  addeventaction(EventAction_T *, Action_Type, Action_Type);
  317 static void  prepare_urlrequest(URL_T U);
  318 static void  seturlrequest(int, char *);
  319 static void  setlogfile(char *);
  320 static void  setpidfile(char *);
  321 static void  reset_sslset(void);
  322 static void  reset_mailset(void);
  323 static void  reset_mailserverset(void);
  324 static void  reset_mmonitset(void);
  325 static void  reset_portset(void);
  326 static void  reset_resourceset(void);
  327 static void  reset_timestampset(void);
  328 static void  reset_actionrateset(void);
  329 static void  reset_sizeset(void);
  330 static void  reset_uptimeset(void);
  331 static void  reset_responsetimeset(void);
  332 static void  reset_pidset(void);
  333 static void  reset_ppidset(void);
  334 static void  reset_fsflagset(void);
  335 static void  reset_nonexistset(void);
  336 static void  reset_existset(void);
  337 static void  reset_linkstatusset(void);
  338 static void  reset_linkspeedset(void);
  339 static void  reset_linksaturationset(void);
  340 static void  reset_bandwidthset(void);
  341 static void  reset_checksumset(void);
  342 static void  reset_permset(void);
  343 static void  reset_uidset(void);
  344 static void  reset_gidset(void);
  345 static void  reset_statusset(void);
  346 static void  reset_filesystemset(void);
  347 static void  reset_icmpset(void);
  348 static void  reset_rateset(struct rate_t *);
  349 static void  check_name(char *);
  350 static int   check_perm(int);
  351 static void  check_exec(char *);
  352 static int   cleanup_hash_string(char *);
  353 static void  check_depend(void);
  354 static void  setsyslog(char *);
  355 static command_t copycommand(command_t);
  356 static int verifyMaxForward(int);
  357 static void _setPEM(char **store, char *path, const char *description, bool isFile);
  358 static void _setSSLOptions(SslOptions_T options);
  359 #ifdef HAVE_OPENSSL
  360 static void _setSSLVersion(short version);
  361 #endif
  362 static void _unsetSSLVersion(short version);
  363 static void addsecurityattribute(char *, Action_Type, Action_Type);
  364 static void addfiledescriptors(Operator_Type, bool, long long, float, Action_Type, Action_Type);
  365 
  366 
  367 #line 368 "src/y.tab.c"
  368 
  369 # ifndef YY_CAST
  370 #  ifdef __cplusplus
  371 #   define YY_CAST(Type, Val) static_cast<Type> (Val)
  372 #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
  373 #  else
  374 #   define YY_CAST(Type, Val) ((Type) (Val))
  375 #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
  376 #  endif
  377 # endif
  378 # ifndef YY_NULLPTR
  379 #  if defined __cplusplus
  380 #   if 201103L <= __cplusplus
  381 #    define YY_NULLPTR nullptr
  382 #   else
  383 #    define YY_NULLPTR 0
  384 #   endif
  385 #  else
  386 #   define YY_NULLPTR ((void*)0)
  387 #  endif
  388 # endif
  389 
  390 /* Enabling verbose error messages.  */
  391 #ifdef YYERROR_VERBOSE
  392 # undef YYERROR_VERBOSE
  393 # define YYERROR_VERBOSE 1
  394 #else
  395 # define YYERROR_VERBOSE 0
  396 #endif
  397 
  398 /* Use api.header.include to #include this header
  399    instead of duplicating it here.  */
  400 #ifndef YY_YY_SRC_Y_TAB_H_INCLUDED
  401 # define YY_YY_SRC_Y_TAB_H_INCLUDED
  402 /* Debug traces.  */
  403 #ifndef YYDEBUG
  404 # define YYDEBUG 1
  405 #endif
  406 #if YYDEBUG
  407 extern int yydebug;
  408 #endif
  409 
  410 /* Token type.  */
  411 #ifndef YYTOKENTYPE
  412 # define YYTOKENTYPE
  413   enum yytokentype
  414   {
  415     IF = 258,
  416     ELSE = 259,
  417     THEN = 260,
  418     FAILED = 261,
  419     SET = 262,
  420     LOGFILE = 263,
  421     FACILITY = 264,
  422     DAEMON = 265,
  423     SYSLOG = 266,
  424     MAILSERVER = 267,
  425     HTTPD = 268,
  426     ALLOW = 269,
  427     REJECTOPT = 270,
  428     ADDRESS = 271,
  429     INIT = 272,
  430     TERMINAL = 273,
  431     BATCH = 274,
  432     READONLY = 275,
  433     CLEARTEXT = 276,
  434     MD5HASH = 277,
  435     SHA1HASH = 278,
  436     CRYPT = 279,
  437     DELAY = 280,
  438     PEMFILE = 281,
  439     PEMKEY = 282,
  440     PEMCHAIN = 283,
  441     ENABLE = 284,
  442     DISABLE = 285,
  443     SSLTOKEN = 286,
  444     CIPHER = 287,
  445     CLIENTPEMFILE = 288,
  446     ALLOWSELFCERTIFICATION = 289,
  447     SELFSIGNED = 290,
  448     VERIFY = 291,
  449     CERTIFICATE = 292,
  450     CACERTIFICATEFILE = 293,
  451     CACERTIFICATEPATH = 294,
  452     VALID = 295,
  453     INTERFACE = 296,
  454     LINK = 297,
  455     PACKET = 298,
  456     BYTEIN = 299,
  457     BYTEOUT = 300,
  458     PACKETIN = 301,
  459     PACKETOUT = 302,
  460     SPEED = 303,
  461     SATURATION = 304,
  462     UPLOAD = 305,
  463     DOWNLOAD = 306,
  464     TOTAL = 307,
  465     UP = 308,
  466     DOWN = 309,
  467     IDFILE = 310,
  468     STATEFILE = 311,
  469     SEND = 312,
  470     EXPECT = 313,
  471     CYCLE = 314,
  472     COUNT = 315,
  473     REMINDER = 316,
  474     REPEAT = 317,
  475     LIMITS = 318,
  476     SENDEXPECTBUFFER = 319,
  477     EXPECTBUFFER = 320,
  478     FILECONTENTBUFFER = 321,
  479     HTTPCONTENTBUFFER = 322,
  480     PROGRAMOUTPUT = 323,
  481     NETWORKTIMEOUT = 324,
  482     PROGRAMTIMEOUT = 325,
  483     STARTTIMEOUT = 326,
  484     STOPTIMEOUT = 327,
  485     RESTARTTIMEOUT = 328,
  486     PIDFILE = 329,
  487     START = 330,
  488     STOP = 331,
  489     PATHTOK = 332,
  490     RSAKEY = 333,
  491     HOST = 334,
  492     HOSTNAME = 335,
  493     PORT = 336,
  494     IPV4 = 337,
  495     IPV6 = 338,
  496     TYPE = 339,
  497     UDP = 340,
  498     TCP = 341,
  499     TCPSSL = 342,
  500     PROTOCOL = 343,
  501     CONNECTION = 344,
  502     ALERT = 345,
  503     NOALERT = 346,
  504     MAILFORMAT = 347,
  505     UNIXSOCKET = 348,
  506     SIGNATURE = 349,
  507     TIMEOUT = 350,
  508     RETRY = 351,
  509     RESTART = 352,
  510     CHECKSUM = 353,
  511     EVERY = 354,
  512     NOTEVERY = 355,
  513     DEFAULT = 356,
  514     HTTP = 357,
  515     HTTPS = 358,
  516     APACHESTATUS = 359,
  517     FTP = 360,
  518     SMTP = 361,
  519     SMTPS = 362,
  520     POP = 363,
  521     POPS = 364,
  522     IMAP = 365,
  523     IMAPS = 366,
  524     CLAMAV = 367,
  525     NNTP = 368,
  526     NTP3 = 369,
  527     MYSQL = 370,
  528     MYSQLS = 371,
  529     DNS = 372,
  530     WEBSOCKET = 373,
  531     MQTT = 374,
  532     SSH = 375,
  533     DWP = 376,
  534     LDAP2 = 377,
  535     LDAP3 = 378,
  536     RDATE = 379,
  537     RSYNC = 380,
  538     TNS = 381,
  539     PGSQL = 382,
  540     POSTFIXPOLICY = 383,
  541     SIP = 384,
  542     LMTP = 385,
  543     GPS = 386,
  544     RADIUS = 387,
  545     MEMCACHE = 388,
  546     REDIS = 389,
  547     MONGODB = 390,
  548     SIEVE = 391,
  549     SPAMASSASSIN = 392,
  550     FAIL2BAN = 393,
  551     STRING = 394,
  552     PATH = 395,
  553     MAILADDR = 396,
  554     MAILFROM = 397,
  555     MAILREPLYTO = 398,
  556     MAILSUBJECT = 399,
  557     MAILBODY = 400,
  558     SERVICENAME = 401,
  559     STRINGNAME = 402,
  560     NUMBER = 403,
  561     PERCENT = 404,
  562     LOGLIMIT = 405,
  563     CLOSELIMIT = 406,
  564     DNSLIMIT = 407,
  565     KEEPALIVELIMIT = 408,
  566     REPLYLIMIT = 409,
  567     REQUESTLIMIT = 410,
  568     STARTLIMIT = 411,
  569     WAITLIMIT = 412,
  570     GRACEFULLIMIT = 413,
  571     CLEANUPLIMIT = 414,
  572     REAL = 415,
  573     CHECKPROC = 416,
  574     CHECKFILESYS = 417,
  575     CHECKFILE = 418,
  576     CHECKDIR = 419,
  577     CHECKHOST = 420,
  578     CHECKSYSTEM = 421,
  579     CHECKFIFO = 422,
  580     CHECKPROGRAM = 423,
  581     CHECKNET = 424,
  582     THREADS = 425,
  583     CHILDREN = 426,
  584     METHOD = 427,
  585     GET = 428,
  586     HEAD = 429,
  587     STATUS = 430,
  588     ORIGIN = 431,
  589     VERSIONOPT = 432,
  590     READ = 433,
  591     WRITE = 434,
  592     OPERATION = 435,
  593     SERVICETIME = 436,
  594     DISK = 437,
  595     RESOURCE = 438,
  596     MEMORY = 439,
  597     TOTALMEMORY = 440,
  598     LOADAVG1 = 441,
  599     LOADAVG5 = 442,
  600     LOADAVG15 = 443,
  601     SWAP = 444,
  602     MODE = 445,
  603     ACTIVE = 446,
  604     PASSIVE = 447,
  605     MANUAL = 448,
  606     ONREBOOT = 449,
  607     NOSTART = 450,
  608     LASTSTATE = 451,
  609     CORE = 452,
  610     CPU = 453,
  611     TOTALCPU = 454,
  612     CPUUSER = 455,
  613     CPUSYSTEM = 456,
  614     CPUWAIT = 457,
  615     CPUNICE = 458,
  616     CPUHARDIRQ = 459,
  617     CPUSOFTIRQ = 460,
  618     CPUSTEAL = 461,
  619     CPUGUEST = 462,
  620     CPUGUESTNICE = 463,
  621     GROUP = 464,
  622     REQUEST = 465,
  623     DEPENDS = 466,
  624     BASEDIR = 467,
  625     SLOT = 468,
  626     EVENTQUEUE = 469,
  627     SECRET = 470,
  628     HOSTHEADER = 471,
  629     UID = 472,
  630     EUID = 473,
  631     GID = 474,
  632     MMONIT = 475,
  633     INSTANCE = 476,
  634     USERNAME = 477,
  635     PASSWORD = 478,
  636     TIME = 479,
  637     ATIME = 480,
  638     CTIME = 481,
  639     MTIME = 482,
  640     CHANGED = 483,
  641     MILLISECOND = 484,
  642     SECOND = 485,
  643     MINUTE = 486,
  644     HOUR = 487,
  645     DAY = 488,
  646     MONTH = 489,
  647     SSLV2 = 490,
  648     SSLV3 = 491,
  649     TLSV1 = 492,
  650     TLSV11 = 493,
  651     TLSV12 = 494,
  652     TLSV13 = 495,
  653     CERTMD5 = 496,
  654     AUTO = 497,
  655     NOSSLV2 = 498,
  656     NOSSLV3 = 499,
  657     NOTLSV1 = 500,
  658     NOTLSV11 = 501,
  659     NOTLSV12 = 502,
  660     NOTLSV13 = 503,
  661     BYTE = 504,
  662     KILOBYTE = 505,
  663     MEGABYTE = 506,
  664     GIGABYTE = 507,
  665     INODE = 508,
  666     SPACE = 509,
  667     TFREE = 510,
  668     PERMISSION = 511,
  669     SIZE = 512,
  670     MATCH = 513,
  671     NOT = 514,
  672     IGNORE = 515,
  673     ACTION = 516,
  674     UPTIME = 517,
  675     RESPONSETIME = 518,
  676     EXEC = 519,
  677     UNMONITOR = 520,
  678     PING = 521,
  679     PING4 = 522,
  680     PING6 = 523,
  681     ICMP = 524,
  682     ICMPECHO = 525,
  683     NONEXIST = 526,
  684     EXIST = 527,
  685     INVALID = 528,
  686     DATA = 529,
  687     RECOVERED = 530,
  688     PASSED = 531,
  689     SUCCEEDED = 532,
  690     URL = 533,
  691     CONTENT = 534,
  692     PID = 535,
  693     PPID = 536,
  694     FSFLAG = 537,
  695     REGISTER = 538,
  696     CREDENTIALS = 539,
  697     URLOBJECT = 540,
  698     ADDRESSOBJECT = 541,
  699     TARGET = 542,
  700     TIMESPEC = 543,
  701     HTTPHEADER = 544,
  702     MAXFORWARD = 545,
  703     FIPS = 546,
  704     SECURITY = 547,
  705     ATTRIBUTE = 548,
  706     FILEDESCRIPTORS = 549,
  707     GREATER = 550,
  708     GREATEROREQUAL = 551,
  709     LESS = 552,
  710     LESSOREQUAL = 553,
  711     EQUAL = 554,
  712     NOTEQUAL = 555
  713   };
  714 #endif
  715 /* Tokens.  */
  716 #define IF 258
  717 #define ELSE 259
  718 #define THEN 260
  719 #define FAILED 261
  720 #define SET 262
  721 #define LOGFILE 263
  722 #define FACILITY 264
  723 #define DAEMON 265
  724 #define SYSLOG 266
  725 #define MAILSERVER 267
  726 #define HTTPD 268
  727 #define ALLOW 269
  728 #define REJECTOPT 270
  729 #define ADDRESS 271
  730 #define INIT 272
  731 #define TERMINAL 273
  732 #define BATCH 274
  733 #define READONLY 275
  734 #define CLEARTEXT 276
  735 #define MD5HASH 277
  736 #define SHA1HASH 278
  737 #define CRYPT 279
  738 #define DELAY 280
  739 #define PEMFILE 281
  740 #define PEMKEY 282
  741 #define PEMCHAIN 283
  742 #define ENABLE 284
  743 #define DISABLE 285
  744 #define SSLTOKEN 286
  745 #define CIPHER 287
  746 #define CLIENTPEMFILE 288
  747 #define ALLOWSELFCERTIFICATION 289
  748 #define SELFSIGNED 290
  749 #define VERIFY 291
  750 #define CERTIFICATE 292
  751 #define CACERTIFICATEFILE 293
  752 #define CACERTIFICATEPATH 294
  753 #define VALID 295
  754 #define INTERFACE 296
  755 #define LINK 297
  756 #define PACKET 298
  757 #define BYTEIN 299
  758 #define BYTEOUT 300
  759 #define PACKETIN 301
  760 #define PACKETOUT 302
  761 #define SPEED 303
  762 #define SATURATION 304
  763 #define UPLOAD 305
  764 #define DOWNLOAD 306
  765 #define TOTAL 307
  766 #define UP 308
  767 #define DOWN 309
  768 #define IDFILE 310
  769 #define STATEFILE 311
  770 #define SEND 312
  771 #define EXPECT 313
  772 #define CYCLE 314
  773 #define COUNT 315
  774 #define REMINDER 316
  775 #define REPEAT 317
  776 #define LIMITS 318
  777 #define SENDEXPECTBUFFER 319
  778 #define EXPECTBUFFER 320
  779 #define FILECONTENTBUFFER 321
  780 #define HTTPCONTENTBUFFER 322
  781 #define PROGRAMOUTPUT 323
  782 #define NETWORKTIMEOUT 324
  783 #define PROGRAMTIMEOUT 325
  784 #define STARTTIMEOUT 326
  785 #define STOPTIMEOUT 327
  786 #define RESTARTTIMEOUT 328
  787 #define PIDFILE 329
  788 #define START 330
  789 #define STOP 331
  790 #define PATHTOK 332
  791 #define RSAKEY 333
  792 #define HOST 334
  793 #define HOSTNAME 335
  794 #define PORT 336
  795 #define IPV4 337
  796 #define IPV6 338
  797 #define TYPE 339
  798 #define UDP 340
  799 #define TCP 341
  800 #define TCPSSL 342
  801 #define PROTOCOL 343
  802 #define CONNECTION 344
  803 #define ALERT 345
  804 #define NOALERT 346
  805 #define MAILFORMAT 347
  806 #define UNIXSOCKET 348
  807 #define SIGNATURE 349
  808 #define TIMEOUT 350
  809 #define RETRY 351
  810 #define RESTART 352
  811 #define CHECKSUM 353
  812 #define EVERY 354
  813 #define NOTEVERY 355
  814 #define DEFAULT 356
  815 #define HTTP 357
  816 #define HTTPS 358
  817 #define APACHESTATUS 359
  818 #define FTP 360
  819 #define SMTP 361
  820 #define SMTPS 362
  821 #define POP 363
  822 #define POPS 364
  823 #define IMAP 365
  824 #define IMAPS 366
  825 #define CLAMAV 367
  826 #define NNTP 368
  827 #define NTP3 369
  828 #define MYSQL 370
  829 #define MYSQLS 371
  830 #define DNS 372
  831 #define WEBSOCKET 373
  832 #define MQTT 374
  833 #define SSH 375
  834 #define DWP 376
  835 #define LDAP2 377
  836 #define LDAP3 378
  837 #define RDATE 379
  838 #define RSYNC 380
  839 #define TNS 381
  840 #define PGSQL 382
  841 #define POSTFIXPOLICY 383
  842 #define SIP 384
  843 #define LMTP 385
  844 #define GPS 386
  845 #define RADIUS 387
  846 #define MEMCACHE 388
  847 #define REDIS 389
  848 #define MONGODB 390
  849 #define SIEVE 391
  850 #define SPAMASSASSIN 392
  851 #define FAIL2BAN 393
  852 #define STRING 394
  853 #define PATH 395
  854 #define MAILADDR 396
  855 #define MAILFROM 397
  856 #define MAILREPLYTO 398
  857 #define MAILSUBJECT 399
  858 #define MAILBODY 400
  859 #define SERVICENAME 401
  860 #define STRINGNAME 402
  861 #define NUMBER 403
  862 #define PERCENT 404
  863 #define LOGLIMIT 405
  864 #define CLOSELIMIT 406
  865 #define DNSLIMIT 407
  866 #define KEEPALIVELIMIT 408
  867 #define REPLYLIMIT 409
  868 #define REQUESTLIMIT 410
  869 #define STARTLIMIT 411
  870 #define WAITLIMIT 412
  871 #define GRACEFULLIMIT 413
  872 #define CLEANUPLIMIT 414
  873 #define REAL 415
  874 #define CHECKPROC 416
  875 #define CHECKFILESYS 417
  876 #define CHECKFILE 418
  877 #define CHECKDIR 419
  878 #define CHECKHOST 420
  879 #define CHECKSYSTEM 421
  880 #define CHECKFIFO 422
  881 #define CHECKPROGRAM 423
  882 #define CHECKNET 424
  883 #define THREADS 425
  884 #define CHILDREN 426
  885 #define METHOD 427
  886 #define GET 428
  887 #define HEAD 429
  888 #define STATUS 430
  889 #define ORIGIN 431
  890 #define VERSIONOPT 432
  891 #define READ 433
  892 #define WRITE 434
  893 #define OPERATION 435
  894 #define SERVICETIME 436
  895 #define DISK 437
  896 #define RESOURCE 438
  897 #define MEMORY 439
  898 #define TOTALMEMORY 440
  899 #define LOADAVG1 441
  900 #define LOADAVG5 442
  901 #define LOADAVG15 443
  902 #define SWAP 444
  903 #define MODE 445
  904 #define ACTIVE 446
  905 #define PASSIVE 447
  906 #define MANUAL 448
  907 #define ONREBOOT 449
  908 #define NOSTART 450
  909 #define LASTSTATE 451
  910 #define CORE 452
  911 #define CPU 453
  912 #define TOTALCPU 454
  913 #define CPUUSER 455
  914 #define CPUSYSTEM 456
  915 #define CPUWAIT 457
  916 #define CPUNICE 458
  917 #define CPUHARDIRQ 459
  918 #define CPUSOFTIRQ 460
  919 #define CPUSTEAL 461
  920 #define CPUGUEST 462
  921 #define CPUGUESTNICE 463
  922 #define GROUP 464
  923 #define REQUEST 465
  924 #define DEPENDS 466
  925 #define BASEDIR 467
  926 #define SLOT 468
  927 #define EVENTQUEUE 469
  928 #define SECRET 470
  929 #define HOSTHEADER 471
  930 #define UID 472
  931 #define EUID 473
  932 #define GID 474
  933 #define MMONIT 475
  934 #define INSTANCE 476
  935 #define USERNAME 477
  936 #define PASSWORD 478
  937 #define TIME 479
  938 #define ATIME 480
  939 #define CTIME 481
  940 #define MTIME 482
  941 #define CHANGED 483
  942 #define MILLISECOND 484
  943 #define SECOND 485
  944 #define MINUTE 486
  945 #define HOUR 487
  946 #define DAY 488
  947 #define MONTH 489
  948 #define SSLV2 490
  949 #define SSLV3 491
  950 #define TLSV1 492
  951 #define TLSV11 493
  952 #define TLSV12 494
  953 #define TLSV13 495
  954 #define CERTMD5 496
  955 #define AUTO 497
  956 #define NOSSLV2 498
  957 #define NOSSLV3 499
  958 #define NOTLSV1 500
  959 #define NOTLSV11 501
  960 #define NOTLSV12 502
  961 #define NOTLSV13 503
  962 #define BYTE 504
  963 #define KILOBYTE 505
  964 #define MEGABYTE 506
  965 #define GIGABYTE 507
  966 #define INODE 508
  967 #define SPACE 509
  968 #define TFREE 510
  969 #define PERMISSION 511
  970 #define SIZE 512
  971 #define MATCH 513
  972 #define NOT 514
  973 #define IGNORE 515
  974 #define ACTION 516
  975 #define UPTIME 517
  976 #define RESPONSETIME 518
  977 #define EXEC 519
  978 #define UNMONITOR 520
  979 #define PING 521
  980 #define PING4 522
  981 #define PING6 523
  982 #define ICMP 524
  983 #define ICMPECHO 525
  984 #define NONEXIST 526
  985 #define EXIST 527
  986 #define INVALID 528
  987 #define DATA 529
  988 #define RECOVERED 530
  989 #define PASSED 531
  990 #define SUCCEEDED 532
  991 #define URL 533
  992 #define CONTENT 534
  993 #define PID 535
  994 #define PPID 536
  995 #define FSFLAG 537
  996 #define REGISTER 538
  997 #define CREDENTIALS 539
  998 #define URLOBJECT 540
  999 #define ADDRESSOBJECT 541
 1000 #define TARGET 542
 1001 #define TIMESPEC 543
 1002 #define HTTPHEADER 544
 1003 #define MAXFORWARD 545
 1004 #define FIPS 546
 1005 #define SECURITY 547
 1006 #define ATTRIBUTE 548
 1007 #define FILEDESCRIPTORS 549
 1008 #define GREATER 550
 1009 #define GREATEROREQUAL 551
 1010 #define LESS 552
 1011 #define LESSOREQUAL 553
 1012 #define EQUAL 554
 1013 #define NOTEQUAL 555
 1014 
 1015 /* Value type.  */
 1016 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 1017 union YYSTYPE
 1018 {
 1019 #line 324 "src/p.y"
 1020 
 1021         URL_T url;
 1022         Address_T address;
 1023         float real;
 1024         int   number;
 1025         char *string;
 1026 
 1027 #line 1028 "src/y.tab.c"
 1028 
 1029 };
 1030 typedef union YYSTYPE YYSTYPE;
 1031 # define YYSTYPE_IS_TRIVIAL 1
 1032 # define YYSTYPE_IS_DECLARED 1
 1033 #endif
 1034 
 1035 
 1036 extern YYSTYPE yylval;
 1037 
 1038 int yyparse (void);
 1039 
 1040 #endif /* !YY_YY_SRC_Y_TAB_H_INCLUDED  */
 1041 
 1042 
 1043 
 1044 #ifdef short
 1045 # undef short
 1046 #endif
 1047 
 1048 /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
 1049    <limits.h> and (if available) <stdint.h> are included
 1050    so that the code can choose integer types of a good width.  */
 1051 
 1052 #ifndef __PTRDIFF_MAX__
 1053 # include <limits.h> /* INFRINGES ON USER NAME SPACE */
 1054 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
 1055 #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
 1056 #  define YY_STDINT_H
 1057 # endif
 1058 #endif
 1059 
 1060 /* Narrow types that promote to a signed type and that can represent a
 1061    signed or unsigned integer of at least N bits.  In tables they can
 1062    save space and decrease cache pressure.  Promoting to a signed type
 1063    helps avoid bugs in integer arithmetic.  */
 1064 
 1065 #ifdef __INT_LEAST8_MAX__
 1066 typedef __INT_LEAST8_TYPE__ yytype_int8;
 1067 #elif defined YY_STDINT_H
 1068 typedef int_least8_t yytype_int8;
 1069 #else
 1070 typedef signed char yytype_int8;
 1071 #endif
 1072 
 1073 #ifdef __INT_LEAST16_MAX__
 1074 typedef __INT_LEAST16_TYPE__ yytype_int16;
 1075 #elif defined YY_STDINT_H
 1076 typedef int_least16_t yytype_int16;
 1077 #else
 1078 typedef short yytype_int16;
 1079 #endif
 1080 
 1081 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
 1082 typedef __UINT_LEAST8_TYPE__ yytype_uint8;
 1083 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
 1084        && UINT_LEAST8_MAX <= INT_MAX)
 1085 typedef uint_least8_t yytype_uint8;
 1086 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
 1087 typedef unsigned char yytype_uint8;
 1088 #else
 1089 typedef short yytype_uint8;
 1090 #endif
 1091 
 1092 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
 1093 typedef __UINT_LEAST16_TYPE__ yytype_uint16;
 1094 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
 1095        && UINT_LEAST16_MAX <= INT_MAX)
 1096 typedef uint_least16_t yytype_uint16;
 1097 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
 1098 typedef unsigned short yytype_uint16;
 1099 #else
 1100 typedef int yytype_uint16;
 1101 #endif
 1102 
 1103 #ifndef YYPTRDIFF_T
 1104 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
 1105 #  define YYPTRDIFF_T __PTRDIFF_TYPE__
 1106 #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
 1107 # elif defined PTRDIFF_MAX
 1108 #  ifndef ptrdiff_t
 1109 #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 1110 #  endif
 1111 #  define YYPTRDIFF_T ptrdiff_t
 1112 #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
 1113 # else
 1114 #  define YYPTRDIFF_T long
 1115 #  define YYPTRDIFF_MAXIMUM LONG_MAX
 1116 # endif
 1117 #endif
 1118 
 1119 #ifndef YYSIZE_T
 1120 # ifdef __SIZE_TYPE__
 1121 #  define YYSIZE_T __SIZE_TYPE__
 1122 # elif defined size_t
 1123 #  define YYSIZE_T size_t
 1124 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
 1125 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 1126 #  define YYSIZE_T size_t
 1127 # else
 1128 #  define YYSIZE_T unsigned
 1129 # endif
 1130 #endif
 1131 
 1132 #define YYSIZE_MAXIMUM                                  \
 1133   YY_CAST (YYPTRDIFF_T,                                 \
 1134            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
 1135             ? YYPTRDIFF_MAXIMUM                         \
 1136             : YY_CAST (YYSIZE_T, -1)))
 1137 
 1138 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
 1139 
 1140 /* Stored state numbers (used for stacks). */
 1141 typedef yytype_int16 yy_state_t;
 1142 
 1143 /* State numbers in computations.  */
 1144 typedef int yy_state_fast_t;
 1145 
 1146 #ifndef YY_
 1147 # if defined YYENABLE_NLS && YYENABLE_NLS
 1148 #  if ENABLE_NLS
 1149 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 1150 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
 1151 #  endif
 1152 # endif
 1153 # ifndef YY_
 1154 #  define YY_(Msgid) Msgid
 1155 # endif
 1156 #endif
 1157 
 1158 #ifndef YY_ATTRIBUTE_PURE
 1159 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
 1160 #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
 1161 # else
 1162 #  define YY_ATTRIBUTE_PURE
 1163 # endif
 1164 #endif
 1165 
 1166 #ifndef YY_ATTRIBUTE_UNUSED
 1167 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
 1168 #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
 1169 # else
 1170 #  define YY_ATTRIBUTE_UNUSED
 1171 # endif
 1172 #endif
 1173 
 1174 /* Suppress unused-variable warnings by "using" E.  */
 1175 #if ! defined lint || defined __GNUC__
 1176 # define YYUSE(E) ((void) (E))
 1177 #else
 1178 # define YYUSE(E) /* empty */
 1179 #endif
 1180 
 1181 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
 1182 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
 1183 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
 1184     _Pragma ("GCC diagnostic push")                                     \
 1185     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
 1186     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
 1187 # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
 1188     _Pragma ("GCC diagnostic pop")
 1189 #else
 1190 # define YY_INITIAL_VALUE(Value) Value
 1191 #endif
 1192 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 1193 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 1194 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
 1195 #endif
 1196 #ifndef YY_INITIAL_VALUE
 1197 # define YY_INITIAL_VALUE(Value) /* Nothing. */
 1198 #endif
 1199 
 1200 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
 1201 # define YY_IGNORE_USELESS_CAST_BEGIN                          \
 1202     _Pragma ("GCC diagnostic push")                            \
 1203     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
 1204 # define YY_IGNORE_USELESS_CAST_END            \
 1205     _Pragma ("GCC diagnostic pop")
 1206 #endif
 1207 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
 1208 # define YY_IGNORE_USELESS_CAST_BEGIN
 1209 # define YY_IGNORE_USELESS_CAST_END
 1210 #endif
 1211 
 1212 
 1213 #define YY_ASSERT(E) ((void) (0 && (E)))
 1214 
 1215 #if ! defined yyoverflow || YYERROR_VERBOSE
 1216 
 1217 /* The parser invokes alloca or malloc; define the necessary symbols.  */
 1218 
 1219 # ifdef YYSTACK_USE_ALLOCA
 1220 #  if YYSTACK_USE_ALLOCA
 1221 #   ifdef __GNUC__
 1222 #    define YYSTACK_ALLOC __builtin_alloca
 1223 #   elif defined __BUILTIN_VA_ARG_INCR
 1224 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
 1225 #   elif defined _AIX
 1226 #    define YYSTACK_ALLOC __alloca
 1227 #   elif defined _MSC_VER
 1228 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
 1229 #    define alloca _alloca
 1230 #   else
 1231 #    define YYSTACK_ALLOC alloca
 1232 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
 1233 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 1234       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
 1235 #     ifndef EXIT_SUCCESS
 1236 #      define EXIT_SUCCESS 0
 1237 #     endif
 1238 #    endif
 1239 #   endif
 1240 #  endif
 1241 # endif
 1242 
 1243 # ifdef YYSTACK_ALLOC
 1244    /* Pacify GCC's 'empty if-body' warning.  */
 1245 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
 1246 #  ifndef YYSTACK_ALLOC_MAXIMUM
 1247     /* The OS might guarantee only one guard page at the bottom of the stack,
 1248        and a page size can be as small as 4096 bytes.  So we cannot safely
 1249        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
 1250        to allow for a few compiler-allocated temporary stack slots.  */
 1251 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
 1252 #  endif
 1253 # else
 1254 #  define YYSTACK_ALLOC YYMALLOC
 1255 #  define YYSTACK_FREE YYFREE
 1256 #  ifndef YYSTACK_ALLOC_MAXIMUM
 1257 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 1258 #  endif
 1259 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
 1260        && ! ((defined YYMALLOC || defined malloc) \
 1261              && (defined YYFREE || defined free)))
 1262 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 1263 #   ifndef EXIT_SUCCESS
 1264 #    define EXIT_SUCCESS 0
 1265 #   endif
 1266 #  endif
 1267 #  ifndef YYMALLOC
 1268 #   define YYMALLOC malloc
 1269 #   if ! defined malloc && ! defined EXIT_SUCCESS
 1270 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 1271 #   endif
 1272 #  endif
 1273 #  ifndef YYFREE
 1274 #   define YYFREE free
 1275 #   if ! defined free && ! defined EXIT_SUCCESS
 1276 void free (void *); /* INFRINGES ON USER NAME SPACE */
 1277 #   endif
 1278 #  endif
 1279 # endif
 1280 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
 1281 
 1282 
 1283 #if (! defined yyoverflow \
 1284      && (! defined __cplusplus \
 1285          || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 1286 
 1287 /* A type that is properly aligned for any stack member.  */
 1288 union yyalloc
 1289 {
 1290   yy_state_t yyss_alloc;
 1291   YYSTYPE yyvs_alloc;
 1292 };
 1293 
 1294 /* The size of the maximum gap between one aligned stack and the next.  */
 1295 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
 1296 
 1297 /* The size of an array large to enough to hold all stacks, each with
 1298    N elements.  */
 1299 # define YYSTACK_BYTES(N) \
 1300      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
 1301       + YYSTACK_GAP_MAXIMUM)
 1302 
 1303 # define YYCOPY_NEEDED 1
 1304 
 1305 /* Relocate STACK from its old location to the new one.  The
 1306    local variables YYSIZE and YYSTACKSIZE give the old and new number of
 1307    elements in the stack, and YYPTR gives the new location of the
 1308    stack.  Advance YYPTR to a properly aligned location for the next
 1309    stack.  */
 1310 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
 1311     do                                                                  \
 1312       {                                                                 \
 1313         YYPTRDIFF_T yynewbytes;                                         \
 1314         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
 1315         Stack = &yyptr->Stack_alloc;                                    \
 1316         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
 1317         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
 1318       }                                                                 \
 1319     while (0)
 1320 
 1321 #endif
 1322 
 1323 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
 1324 /* Copy COUNT objects from SRC to DST.  The source and destination do
 1325    not overlap.  */
 1326 # ifndef YYCOPY
 1327 #  if defined __GNUC__ && 1 < __GNUC__
 1328 #   define YYCOPY(Dst, Src, Count) \
 1329       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
 1330 #  else
 1331 #   define YYCOPY(Dst, Src, Count)              \
 1332       do                                        \
 1333         {                                       \
 1334           YYPTRDIFF_T yyi;                      \
 1335           for (yyi = 0; yyi < (Count); yyi++)   \
 1336             (Dst)[yyi] = (Src)[yyi];            \
 1337         }                                       \
 1338       while (0)
 1339 #  endif
 1340 # endif
 1341 #endif /* !YYCOPY_NEEDED */
 1342 
 1343 /* YYFINAL -- State number of the termination state.  */
 1344 #define YYFINAL  69
 1345 /* YYLAST -- Last index in YYTABLE.  */
 1346 #define YYLAST   1949
 1347 
 1348 /* YYNTOKENS -- Number of terminals.  */
 1349 #define YYNTOKENS  307
 1350 /* YYNNTS -- Number of nonterminals.  */
 1351 #define YYNNTS  247
 1352 /* YYNRULES -- Number of rules.  */
 1353 #define YYNRULES  829
 1354 /* YYNSTATES -- Number of states.  */
 1355 #define YYNSTATES  1610
 1356 
 1357 #define YYUNDEFTOK  2
 1358 #define YYMAXUTOK   555
 1359 
 1360 
 1361 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
 1362    as returned by yylex, with out-of-bounds checking.  */
 1363 #define YYTRANSLATE(YYX)                                                \
 1364   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 1365 
 1366 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
 1367    as returned by yylex.  */
 1368 static const yytype_int16 yytranslate[] =
 1369 {
 1370        0,     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,   303,     2,
 1376        2,     2,     2,     2,   304,     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,   305,     2,   306,     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,   301,     2,   302,     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,     1,     2,     3,     4,
 1396        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 1397       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 1398       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
 1399       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 1400       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 1401       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
 1402       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
 1403       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
 1404       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
 1405       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
 1406      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
 1407      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
 1408      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
 1409      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
 1410      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
 1411      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
 1412      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
 1413      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
 1414      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
 1415      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
 1416      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
 1417      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
 1418      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
 1419      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
 1420      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
 1421      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 1422      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 1423      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 1424      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 1425      295,   296,   297,   298,   299,   300
 1426 };
 1427 
 1428 #if YYDEBUG
 1429   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 1430 static const yytype_int16 yyrline[] =
 1431 {
 1432        0,   378,   378,   379,   382,   383,   386,   387,   388,   389,
 1433      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
 1434      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
 1435      410,   411,   412,   415,   416,   419,   420,   421,   422,   423,
 1436      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
 1437      434,   435,   436,   437,   438,   439,   440,   441,   442,   445,
 1438      446,   449,   450,   451,   452,   453,   454,   455,   456,   457,
 1439      458,   459,   460,   461,   462,   463,   464,   465,   466,   469,
 1440      470,   473,   474,   475,   476,   477,   478,   479,   480,   481,
 1441      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
 1442      492,   495,   496,   499,   500,   501,   502,   503,   504,   505,
 1443      506,   507,   508,   509,   510,   511,   512,   513,   516,   517,
 1444      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
 1445      530,   531,   532,   535,   536,   539,   540,   541,   542,   543,
 1446      544,   545,   546,   547,   548,   549,   550,   551,   552,   553,
 1447      556,   557,   560,   561,   562,   563,   564,   565,   566,   567,
 1448      568,   569,   570,   571,   572,   575,   576,   579,   580,   581,
 1449      582,   583,   584,   585,   586,   587,   588,   589,   590,   591,
 1450      592,   593,   596,   597,   600,   601,   602,   603,   604,   605,
 1451      606,   607,   608,   609,   610,   613,   617,   620,   626,   636,
 1452      641,   644,   649,   654,   657,   660,   665,   671,   674,   675,
 1453      678,   681,   684,   687,   690,   693,   696,   699,   702,   705,
 1454      708,   711,   714,   717,   722,   727,   735,   738,   743,   746,
 1455      750,   756,   761,   766,   774,   777,   778,   781,   787,   788,
 1456      791,   794,   795,   796,   797,   800,   801,   806,   811,   814,
 1457      817,   818,   821,   825,   829,   833,   837,   840,   844,   847,
 1458      850,   853,   856,   859,   864,   870,   871,   874,   888,   895,
 1459      904,   905,   908,   909,   912,   919,   922,   929,   932,   939,
 1460      942,   949,   952,   959,   962,   969,   972,   983,   992,   999,
 1461     1014,  1015,  1018,  1027,  1038,  1039,  1042,  1045,  1048,  1049,
 1462     1050,  1051,  1054,  1081,  1082,  1085,  1086,  1087,  1088,  1089,
 1463     1090,  1091,  1092,  1093,  1097,  1103,  1109,  1115,  1121,  1127,
 1464     1128,  1131,  1136,  1141,  1145,  1149,  1155,  1156,  1159,  1160,
 1465     1163,  1166,  1171,  1176,  1179,  1187,  1191,  1195,  1199,  1203,
 1466     1203,  1210,  1210,  1217,  1217,  1224,  1224,  1231,  1238,  1239,
 1467     1242,  1248,  1251,  1256,  1259,  1262,  1269,  1278,  1283,  1286,
 1468     1291,  1296,  1301,  1309,  1315,  1330,  1335,  1341,  1349,  1352,
 1469     1357,  1360,  1366,  1369,  1374,  1375,  1378,  1379,  1382,  1385,
 1470     1390,  1394,  1398,  1401,  1406,  1409,  1414,  1419,  1422,  1427,
 1471     1437,  1447,  1448,  1451,  1452,  1453,  1454,  1455,  1456,  1457,
 1472     1458,  1459,  1460,  1461,  1462,  1465,  1473,  1483,  1484,  1487,
 1473     1488,  1489,  1490,  1491,  1492,  1495,  1502,  1511,  1512,  1515,
 1474     1516,  1517,  1518,  1519,  1520,  1523,  1532,  1538,  1544,  1550,
 1475     1559,  1565,  1571,  1579,  1580,  1583,  1584,  1585,  1586,  1589,
 1476     1592,  1597,  1602,  1608,  1611,  1616,  1619,  1623,  1628,  1629,
 1477     1632,  1633,  1636,  1641,  1644,  1647,  1650,  1653,  1656,  1659,
 1478     1662,  1667,  1670,  1675,  1678,  1681,  1684,  1687,  1690,  1693,
 1479     1697,  1700,  1703,  1707,  1710,  1713,  1718,  1721,  1724,  1729,
 1480     1732,  1735,  1738,  1741,  1744,  1747,  1750,  1753,  1756,  1759,
 1481     1762,  1767,  1775,  1785,  1786,  1789,  1792,  1795,  1798,  1803,
 1482     1804,  1807,  1810,  1815,  1816,  1819,  1822,  1827,  1828,  1831,
 1483     1834,  1837,  1850,  1856,  1865,  1868,  1873,  1878,  1879,  1882,
 1484     1885,  1890,  1891,  1894,  1897,  1900,  1901,  1902,  1903,  1904,
 1485     1905,  1908,  1918,  1921,  1926,  1930,  1936,  1941,  1947,  1948,
 1486     1953,  1958,  1959,  1962,  1967,  1968,  1971,  1974,  1977,  1980,
 1487     1984,  1988,  1992,  1996,  2000,  2004,  2008,  2012,  2016,  2022,
 1488     2026,  2033,  2039,  2045,  2053,  2057,  2063,  2068,  2078,  2083,
 1489     2088,  2091,  2096,  2099,  2104,  2107,  2112,  2115,  2120,  2123,
 1490     2128,  2133,  2138,  2144,  2152,  2158,  2159,  2162,  2166,  2169,
 1491     2173,  2178,  2181,  2184,  2185,  2188,  2189,  2190,  2191,  2192,
 1492     2193,  2194,  2195,  2196,  2197,  2198,  2199,  2200,  2201,  2202,
 1493     2203,  2204,  2205,  2206,  2207,  2208,  2209,  2210,  2211,  2212,
 1494     2213,  2214,  2215,  2216,  2217,  2220,  2221,  2224,  2225,  2228,
 1495     2229,  2230,  2231,  2234,  2238,  2242,  2248,  2251,  2254,  2260,
 1496     2263,  2267,  2272,  2279,  2282,  2283,  2286,  2289,  2296,  2305,
 1497     2311,  2312,  2315,  2316,  2317,  2318,  2319,  2320,  2321,  2324,
 1498     2330,  2331,  2334,  2335,  2336,  2337,  2340,  2345,  2352,  2359,
 1499     2365,  2371,  2377,  2383,  2389,  2395,  2401,  2407,  2413,  2418,
 1500     2423,  2430,  2435,  2440,  2445,  2452,  2457,  2464,  2471,  2478,
 1501     2498,  2499,  2500,  2503,  2504,  2508,  2513,  2518,  2525,  2530,
 1502     2535,  2542,  2543,  2546,  2547,  2548,  2549,  2552,  2559,  2567,
 1503     2568,  2569,  2570,  2571,  2572,  2573,  2574,  2577,  2578,  2579,
 1504     2580,  2581,  2582,  2585,  2586,  2587,  2589,  2590,  2592,  2595,
 1505     2598,  2606,  2609,  2612,  2616,  2619,  2622,  2625,  2630,  2641,
 1506     2652,  2662,  2674,  2675,  2680,  2687,  2688,  2693,  2700,  2703,
 1507     2706,  2709,  2712,  2717,  2720,  2723,  2728,  2732,  2739,  2745,
 1508     2746,  2747,  2750,  2757,  2764,  2771,  2780,  2787,  2794,  2801,
 1509     2810,  2817,  2826,  2833,  2842,  2849,  2858,  2864,  2865,  2866,
 1510     2867,  2868,  2871,  2876,  2883,  2891,  2898,  2906,  2914,  2921,
 1511     2927,  2934,  2942,  2945,  2951,  2957,  2964,  2970,  2977,  2983,
 1512     2990,  2993,  2998,  3004,  3012,  3018,  3026,  3034,  3040,  3047,
 1513     3051,  3056,  3063,  3068,  3076,  3084,  3092,  3100,  3108,  3116,
 1514     3126,  3134,  3142,  3150,  3158,  3166,  3176,  3179,  3180,  3181
 1515 };
 1516 #endif
 1517 
 1518 #if YYDEBUG || YYERROR_VERBOSE || 0
 1519 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 1520    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 1521 static const char *const yytname[] =
 1522 {
 1523   "$end", "error", "$undefined", "IF", "ELSE", "THEN", "FAILED", "SET",
 1524   "LOGFILE", "FACILITY", "DAEMON", "SYSLOG", "MAILSERVER", "HTTPD",
 1525   "ALLOW", "REJECTOPT", "ADDRESS", "INIT", "TERMINAL", "BATCH", "READONLY",
 1526   "CLEARTEXT", "MD5HASH", "SHA1HASH", "CRYPT", "DELAY", "PEMFILE",
 1527   "PEMKEY", "PEMCHAIN", "ENABLE", "DISABLE", "SSLTOKEN", "CIPHER",
 1528   "CLIENTPEMFILE", "ALLOWSELFCERTIFICATION", "SELFSIGNED", "VERIFY",
 1529   "CERTIFICATE", "CACERTIFICATEFILE", "CACERTIFICATEPATH", "VALID",
 1530   "INTERFACE", "LINK", "PACKET", "BYTEIN", "BYTEOUT", "PACKETIN",
 1531   "PACKETOUT", "SPEED", "SATURATION", "UPLOAD", "DOWNLOAD", "TOTAL", "UP",
 1532   "DOWN", "IDFILE", "STATEFILE", "SEND", "EXPECT", "CYCLE", "COUNT",
 1533   "REMINDER", "REPEAT", "LIMITS", "SENDEXPECTBUFFER", "EXPECTBUFFER",
 1534   "FILECONTENTBUFFER", "HTTPCONTENTBUFFER", "PROGRAMOUTPUT",
 1535   "NETWORKTIMEOUT", "PROGRAMTIMEOUT", "STARTTIMEOUT", "STOPTIMEOUT",
 1536   "RESTARTTIMEOUT", "PIDFILE", "START", "STOP", "PATHTOK", "RSAKEY",
 1537   "HOST", "HOSTNAME", "PORT", "IPV4", "IPV6", "TYPE", "UDP", "TCP",
 1538   "TCPSSL", "PROTOCOL", "CONNECTION", "ALERT", "NOALERT", "MAILFORMAT",
 1539   "UNIXSOCKET", "SIGNATURE", "TIMEOUT", "RETRY", "RESTART", "CHECKSUM",
 1540   "EVERY", "NOTEVERY", "DEFAULT", "HTTP", "HTTPS", "APACHESTATUS", "FTP",
 1541   "SMTP", "SMTPS", "POP", "POPS", "IMAP", "IMAPS", "CLAMAV", "NNTP",
 1542   "NTP3", "MYSQL", "MYSQLS", "DNS", "WEBSOCKET", "MQTT", "SSH", "DWP",
 1543   "LDAP2", "LDAP3", "RDATE", "RSYNC", "TNS", "PGSQL", "POSTFIXPOLICY",
 1544   "SIP", "LMTP", "GPS", "RADIUS", "MEMCACHE", "REDIS", "MONGODB", "SIEVE",
 1545   "SPAMASSASSIN", "FAIL2BAN", "STRING", "PATH", "MAILADDR", "MAILFROM",
 1546   "MAILREPLYTO", "MAILSUBJECT", "MAILBODY", "SERVICENAME", "STRINGNAME",
 1547   "NUMBER", "PERCENT", "LOGLIMIT", "CLOSELIMIT", "DNSLIMIT",
 1548   "KEEPALIVELIMIT", "REPLYLIMIT", "REQUESTLIMIT", "STARTLIMIT",
 1549   "WAITLIMIT", "GRACEFULLIMIT", "CLEANUPLIMIT", "REAL", "CHECKPROC",
 1550   "CHECKFILESYS", "CHECKFILE", "CHECKDIR", "CHECKHOST", "CHECKSYSTEM",
 1551   "CHECKFIFO", "CHECKPROGRAM", "CHECKNET", "THREADS", "CHILDREN", "METHOD",
 1552   "GET", "HEAD", "STATUS", "ORIGIN", "VERSIONOPT", "READ", "WRITE",
 1553   "OPERATION", "SERVICETIME", "DISK", "RESOURCE", "MEMORY", "TOTALMEMORY",
 1554   "LOADAVG1", "LOADAVG5", "LOADAVG15", "SWAP", "MODE", "ACTIVE", "PASSIVE",
 1555   "MANUAL", "ONREBOOT", "NOSTART", "LASTSTATE", "CORE", "CPU", "TOTALCPU",
 1556   "CPUUSER", "CPUSYSTEM", "CPUWAIT", "CPUNICE", "CPUHARDIRQ", "CPUSOFTIRQ",
 1557   "CPUSTEAL", "CPUGUEST", "CPUGUESTNICE", "GROUP", "REQUEST", "DEPENDS",
 1558   "BASEDIR", "SLOT", "EVENTQUEUE", "SECRET", "HOSTHEADER", "UID", "EUID",
 1559   "GID", "MMONIT", "INSTANCE", "USERNAME", "PASSWORD", "TIME", "ATIME",
 1560   "CTIME", "MTIME", "CHANGED", "MILLISECOND", "SECOND", "MINUTE", "HOUR",
 1561   "DAY", "MONTH", "SSLV2", "SSLV3", "TLSV1", "TLSV11", "TLSV12", "TLSV13",
 1562   "CERTMD5", "AUTO", "NOSSLV2", "NOSSLV3", "NOTLSV1", "NOTLSV11",
 1563   "NOTLSV12", "NOTLSV13", "BYTE", "KILOBYTE", "MEGABYTE", "GIGABYTE",
 1564   "INODE", "SPACE", "TFREE", "PERMISSION", "SIZE", "MATCH", "NOT",
 1565   "IGNORE", "ACTION", "UPTIME", "RESPONSETIME", "EXEC", "UNMONITOR",
 1566   "PING", "PING4", "PING6", "ICMP", "ICMPECHO", "NONEXIST", "EXIST",
 1567   "INVALID", "DATA", "RECOVERED", "PASSED", "SUCCEEDED", "URL", "CONTENT",
 1568   "PID", "PPID", "FSFLAG", "REGISTER", "CREDENTIALS", "URLOBJECT",
 1569   "ADDRESSOBJECT", "TARGET", "TIMESPEC", "HTTPHEADER", "MAXFORWARD",
 1570   "FIPS", "SECURITY", "ATTRIBUTE", "FILEDESCRIPTORS", "GREATER",
 1571   "GREATEROREQUAL", "LESS", "LESSOREQUAL", "EQUAL", "NOTEQUAL", "'{'",
 1572   "'}'", "':'", "'@'", "'['", "']'", "$accept", "cfgfile",
 1573   "statement_list", "statement", "optproclist", "optproc", "optfilelist",
 1574   "optfile", "optfilesyslist", "optfilesys", "optdirlist", "optdir",
 1575   "opthostlist", "opthost", "optnetlist", "optnet", "optsystemlist",
 1576   "optsystem", "optfifolist", "optfifo", "optprogramlist", "optprogram",
 1577   "setalert", "setdaemon", "setterminal", "startdelay", "setinit",
 1578   "setonreboot", "setexpectbuffer", "setlimits", "limitlist", "limit",
 1579   "setfips", "setlog", "seteventqueue", "setidfile", "setstatefile",
 1580   "setpid", "setmmonits", "mmonitlist", "mmonit", "mmonitoptlist",
 1581   "mmonitopt", "credentials", "setssl", "ssl", "ssloptionlist",
 1582   "ssloption", "sslexpire", "expireoperator", "sslchecksum",
 1583   "checksumoperator", "sslversionlist", "sslversion", "certmd5",
 1584   "setmailservers", "setmailformat", "mailserverlist", "mailserver",
 1585   "mailserveroptlist", "mailserveropt", "sethttpd", "httpdlist",
 1586   "httpdoption", "pemfile", "clientpemfile", "allowselfcert", "httpdport",
 1587   "httpdsocket", "httpdsocketoptionlist", "httpdsocketoption", "sigenable",
 1588   "sigdisable", "signature", "bindaddress", "allow", "$@1", "$@2", "$@3",
 1589   "$@4", "allowuserlist", "allowuser", "readonly", "checkproc",
 1590   "checkfile", "checkfilesys", "checkdir", "checkhost", "checknet",
 1591   "checksystem", "checkfifo", "checkprogram", "start", "stop", "restart",
 1592   "argumentlist", "useroptionlist", "argument", "useroption", "username",
 1593   "password", "hostname", "connection", "connectionoptlist",
 1594   "connectionopt", "connectionurl", "connectionurloptlist",
 1595   "connectionurlopt", "connectionunix", "connectionuxoptlist",
 1596   "connectionuxopt", "icmp", "icmpoptlist", "icmpopt", "host", "port",
 1597   "unixsocket", "ip", "type", "typeoptlist", "typeopt", "outgoing",
 1598   "protocol", "sendexpect", "websocketlist", "websocket", "smtplist",
 1599   "smtp", "mqttlist", "mqtt", "mysqllist", "mysql", "target", "maxforward",
 1600   "siplist", "sip", "httplist", "http", "status", "method", "request",
 1601   "responsesum", "hostheader", "httpheaderlist", "secret", "radiuslist",
 1602   "radius", "apache_stat_list", "apache_stat", "exist", "pid", "ppid",
 1603   "uptime", "responsetime", "icmpcount", "icmpsize", "icmptimeout",
 1604   "icmpoutgoing", "stoptimeout", "starttimeout", "restarttimeout",
 1605   "programtimeout", "nettimeout", "connectiontimeout", "retry",
 1606   "actionrate", "urloption", "urloperator", "alert", "alertmail",
 1607   "noalertmail", "eventoptionlist", "eventoption", "formatlist",
 1608   "formatoptionlist", "formatoption", "every", "mode", "onreboot", "group",
 1609   "depend", "dependlist", "dependant", "statusvalue", "resourceprocess",
 1610   "resourceprocesslist", "resourceprocessopt", "resourcesystem",
 1611   "resourcesystemlist", "resourcesystemopt", "resourcecpuproc",
 1612   "resourcecpu", "resourcecpuid", "resourcemem", "resourcememproc",
 1613   "resourceswap", "resourcethreads", "resourcechild", "resourceload",
 1614   "resourceloadavg", "coremultiplier", "resourceread", "resourcewrite",
 1615   "value", "timestamptype", "timestamp", "operator", "time", "totaltime",
 1616   "currenttime", "repeat", "action", "action1", "action2", "rateXcycles",
 1617   "rateXYcycles", "rate1", "rate2", "recovery_success", "recovery_failure",
 1618   "checksum", "hashtype", "inode", "space", "read", "write", "servicetime",
 1619   "fsflag", "unit", "permission", "match", "matchflagnot", "size", "uid",
 1620   "euid", "secattr", "filedescriptorssystem", "filedescriptorsprocess",
 1621   "filedescriptorsprocesstotal", "gid", "linkstatus", "linkspeed",
 1622   "linksaturation", "upload", "download", "icmptype", "reminder", YY_NULLPTR
 1623 };
 1624 #endif
 1625 
 1626 # ifdef YYPRINT
 1627 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
 1628    (internal) symbol number NUM (which must be that of a token).  */
 1629 static const yytype_int16 yytoknum[] =
 1630 {
 1631        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 1632      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
 1633      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
 1634      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
 1635      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
 1636      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
 1637      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
 1638      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
 1639      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
 1640      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
 1641      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
 1642      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
 1643      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
 1644      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
 1645      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
 1646      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
 1647      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
 1648      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
 1649      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
 1650      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
 1651      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
 1652      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
 1653      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
 1654      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
 1655      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
 1656      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
 1657      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
 1658      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
 1659      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
 1660      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
 1661      555,   123,   125,    58,    64,    91,    93
 1662 };
 1663 # endif
 1664 
 1665 #define YYPACT_NINF (-1338)
 1666 
 1667 #define yypact_value_is_default(Yyn) \
 1668   ((Yyn) == YYPACT_NINF)
 1669 
 1670 #define YYTABLE_NINF (-743)
 1671 
 1672 #define yytable_value_is_error(Yyn) \
 1673   0
 1674 
 1675   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 1676      STATE-NUM.  */
 1677 static const yytype_int16 yypact[] =
 1678 {
 1679     1071,    84,   -84,   -69,   -56,   -46,    40,    91,   117,   163,
 1680      170,   334,  1071, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1681    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1682    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1683    -1338,    44,   183,   239, -1338, -1338,   389,   121,   289,   309,
 1684      152,   359,   317,   319,   209,    52,   -41,   267, -1338,   -42,
 1685      -32,   480,   483,   491,   555, -1338,   496,   514,    57, -1338,
 1686    -1338,   533,   402,   679,   816,   929,  1121,  1213,   816,  1524,
 1687      592, -1338,   537,   547,    -4, -1338,  1694, -1338, -1338, -1338,
 1688    -1338, -1338,   420, -1338, -1338,  1030, -1338, -1338, -1338,   497,
 1689      494, -1338,   267,   380,   365,   373,  1371,   616,   539,   584,
 1690       72,   386,   603,   605,   548,   610,   459,   593,   614,   102,
 1691      459,   459,   624,   459,   -97,   469,   599,   148,   626,   631,
 1692    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1693    -1338, -1338, -1338,   -16, -1338, -1338, -1338, -1338, -1338, -1338,
 1694    -1338, -1338, -1338, -1338, -1338, -1338, -1338,   176,   -34, -1338,
 1695    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1696    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,   113, -1338,
 1697    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1698    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1699      122, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1700    -1338, -1338, -1338, -1338, -1338, -1338, -1338,    35, -1338, -1338,
 1701    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1702    -1338, -1338,   128, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1703    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,  1488,
 1704    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1705    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1706    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1707      -55, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1708    -1338, -1338, -1338,   642,   763, -1338,   650,   472,   656, -1338,
 1709      730,    13,   678,   683,   731,   734,   531,   722, -1338,   696,
 1710      724,   575, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1711    -1338, -1338, -1338, -1338,    21,   478, -1338, -1338, -1338, -1338,
 1712    -1338,   586,   589, -1338, -1338,     1, -1338,   674, -1338,   704,
 1713      380,   612, -1338,  1030,  1371, -1338, -1338, -1338, -1338, -1338,
 1714    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1715    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1716    -1338, -1338, -1338, -1338, -1338,   419, -1338,   764, -1338, -1338,
 1717    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1718    -1338,   237, -1338, -1338, -1338,   135,   620,   820,   963,   963,
 1719      963,   963,   467,   963,   963, -1338, -1338, -1338,   963,   963,
 1720      379,   647,   963,   776,    30,   963,  1642, -1338, -1338, -1338,
 1721    -1338, -1338, -1338,   729, -1338, -1338,   336,   594, -1338,   644,
 1722      871, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1723    -1338,   631, -1338,   633,  1371,   616,    41, -1338, -1338, -1338,
 1724    -1338,   213,   963,   647,   385,   963,   697, -1338,   385,   711,
 1725      -87,   963,   963,   963,  -123,  1135,  1442,   797,   312,   383,
 1726      930,   732,   963,   963,   963,   655,   935,   963,   963, -1338,
 1727    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,   963,
 1728     1597, -1338, -1338,   963, -1338, -1338, -1338,   963,   804, -1338,
 1729      844, -1338,   883,   349,   858, -1338, -1338, -1338, -1338, -1338,
 1730    -1338,   876, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1731    -1338, -1338, -1338, -1338, -1338, -1338,   779,   899, -1338,   904,
 1732      906,   911,   757,   926,   928, -1338, -1338, -1338, -1338, -1338,
 1733    -1338, -1338, -1338, -1338, -1338,   766,   768,   771,   774,   777,
 1734      784,   785,   792,   796,   802, -1338, -1338,   812,   813,   818,
 1735      819,   823,   828,   832,   836,   838, -1338, -1338, -1338, -1338,
 1736    -1338, -1338,   959,   994, -1338, -1338, -1338, -1338, -1338, -1338,
 1737    -1338,    23,   714,  1053, -1338,  1094,  1006,   118,   123,   -25,
 1738    -1338, -1338, -1338,  1023,  1029,   166,   194,   311,   885,   886,
 1739     1095, -1338,   963,  1032, -1338, -1338, -1338, -1338, -1338, -1338,
 1740    -1338,  1033,  1034,   247,   247,   963,   963,   247,   247,   247,
 1741      247,   776,   776,   776,  1035,    70, -1338, -1338,  1173,   901,
 1742     1095, -1338,   261, -1338,  1182, -1338,   963,  1041,   169, -1338,
 1743     1045,   278, -1338,  1046,   302, -1338, -1338, -1338,  1371,  1229,
 1744    -1338, -1338, -1338,  1051,  1102,   776,   776,   776,  1104,  1056,
 1745    -1338, -1338,   662,  1060,   668,   681,   741,   266,   331,   356,
 1746      776,   963,   375,   963,   247, -1338, -1338, -1338,  1131, -1338,
 1747    -1338, -1338,  1131,   776,   776,   776,  1069,  1074,  1076,   963,
 1748      963,   776,   247,   247,   410, -1338,  1220,   247,  1079,   776,
 1749    -1338,   472,     8, -1338, -1338, -1338, -1338, -1338, -1338,  1091,
 1750     1103,  1105,  1106,  1108,  1221,    78,   228,  1109,  1110,  1111,
 1751     1113,  1114,   879,   870,  1124,  1125, -1338,  1118,  1119,  1120,
 1752     1122,  1132,  1133,  1137,  1139,  1142, -1338,  1013, -1338,  1053,
 1753      616, -1338,  1039, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1754    -1338,   776,   776,   776,   776,   776,   776, -1338,   814,  1143,
 1755    -1338,   530,  1144,  1234, -1338, -1338, -1338, -1338,   420,   420,
 1756      447,   471,   591,   716,  1123,  1130,  1289,  1290,  1295,   927,
 1757    -1338,  1242,   464, -1338, -1338,   530,    27,  1153,   464,   247,
 1758     1075, -1338,  1077, -1338,  1084, -1338,  1304,  1053,   776,     7,
 1759     1301,  1303,  1311,   776,   420,   776,   776,   927,   776,   776,
 1760    -1338, -1338, -1338, -1338,  1129,   420,  1140,   420,  1088,  1089,
 1761     1316,   479,    27,  1174,   247,   749,    65,    65,    65,  1052,
 1762    -1338,    65,    65,    65, -1338,  1320,  1321,  1323,  1184,    69,
 1763      108,  1183,  1187,  1332,   762,   833,    27,  1189,   464,  1190,
 1764      776,  1336,  1043,  1043, -1338,  1206,  1108,  1108,  1108,  1221,
 1765    -1338,  1108, -1338, -1338, -1338, -1338,   367,   481,  1199, -1338,
 1766    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1767    -1338,  1305,   420,   420,   420,   420,   707,   760,   773,   778,
 1768      788, -1338,   616, -1338, -1338,  1349,  1352,  1357,  1359,  1360,
 1769     1362,   215,   776,   776, -1338,   105,  1230,  1236,   570,  1741,
 1770     1225,  1231,   963, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1771     1363,   776,  1375,  1152,  1152,  1203,   420,  1207,   420, -1338,
 1772    -1338, -1338, -1338, -1338, -1338,   464,   464,   464, -1338, -1338,
 1773    -1338, -1338, -1338,   776, -1338, -1338, -1338, -1338, -1338,   459,
 1774    -1338, -1338,  1382,   215,   105,  1383,  1386,   776,  1382, -1338,
 1775    -1338, -1338, -1338,  1053,   616,  1387,  1255,  1390,   464,   464,
 1776      464,  1392,   776,  1393,  1395,   776,  1396,  1400,   776,  1152,
 1777      776,  1152,   776,   776,   464,    27,  1257,  1403,   776,   842,
 1778      776,   776,  1270,  1263,  1266,  1273, -1338, -1338, -1338, -1338,
 1779    -1338,  1418,  1420,  1421, -1338,    65,  1422,  1423,  1424,    65,
 1780      464,   464,   464,   776,  1152,  1152,  1152,  1152,   222,   231,
 1781      464, -1338, -1338, -1338, -1338,  1431,   776,  1382, -1338,  1432,
 1782      464,  1300,  1302, -1338,  1108,  1108,  1108, -1338, -1338, -1338,
 1783    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1784    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1785      464,   464,   464,   464,   464,   464,    26,   385, -1338, -1338,
 1786    -1338, -1338, -1338, -1338, -1338,  1438,  1440,  1444,  1308, -1338,
 1787    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1788    -1338, -1338, -1338, -1338,  1446, -1338, -1338, -1338, -1338, -1338,
 1789    -1338, -1338, -1338,  1548, -1338, -1338, -1338, -1338, -1338, -1338,
 1790    -1338, -1338, -1338, -1338, -1338, -1338, -1338,    39, -1338, -1338,
 1791    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1792    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,  1224, -1338,
 1793     1307,   464,  1452,   692, -1338, -1338, -1338, -1338,  1152, -1338,
 1794     1152, -1338, -1338,  1382,  1454,   303,   134, -1338,  1456,  1458,
 1795      464,   464,  1462, -1338,   616, -1338,   464,   776,   464,  1382,
 1796    -1338, -1338,   464,  1463,   464,   464,  1465,   464,   464,  1466,
 1797      776,  1471,   776,  1472,  1476, -1338,  1478,   776,   464,  1483,
 1798      776,   776,  1484,  1487, -1338, -1338,  1264, -1338,   464,   464,
 1799      464,  1490,   464,   464,   464,  1491,  1382,  1382,  1493,  1494,
 1800      776,   776,   776,   776,   352,   516,   583,   652,  1382,   464,
 1801     1499, -1338,   464, -1338, -1338, -1338,  1382,  1382,  1382,  1382,
 1802     1382,  1382,  1210,  1367,   464,   464,   464, -1338,   464,  1645,
 1803      431,   431,  1372,   963,   963,   963,   963,   963,   963,   963,
 1804      963,   963,   963, -1338, -1338,  1548, -1338,   808,   808,    -3,
 1805       -3,  1368,  1374,  1366,  1376,    39, -1338,   808,  -126,  1314,
 1806    -1338,   805,  1382,   464, -1338, -1338, -1338, -1338, -1338,   464,
 1807     1416,   -22, -1338,   562, -1338, -1338,   464,   464,  1493,  1382,
 1808      464, -1338,  1382,  1512,  1382, -1338, -1338,   464, -1338, -1338,
 1809      464, -1338, -1338,   464,  1514,   464,  1521,   464,   464,   464,
 1810     1525,  1382,   464,  1528,  1530,   464,   464, -1338,  1382,  1382,
 1811     1382,   464,  1493,  1493,  1493,   464, -1338, -1338,   154, -1338,
 1812      464,  1532,  1534,  1550,  1551,   615, -1338, -1338, -1338,   776,
 1813      615,   776,   615,   776,   615,   776, -1338,  1382,   464,  1382,
 1814    -1338, -1338, -1338, -1338, -1338, -1338, -1338,  1409, -1338,  1382,
 1815     1382,  1382,  1382, -1338, -1338, -1338,  1419,   869,   963,   923,
 1816     1425, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1817    -1338,  1411,  1414,  1415,  1426,  1433,  1434,  1439,  1441,  1443,
 1818     1445, -1338, -1338, -1338, -1338,  1469, -1338, -1338, -1338, -1338,
 1819    -1338, -1338, -1338, -1338, -1338, -1338, -1338,   424,  1448, -1338,
 1820    -1338, -1338,  1430, -1338, -1338, -1338, -1338, -1338,  1382,  1382,
 1821       79, -1338,   776,   776,   776,  1493,  1493, -1338, -1338,  1382,
 1822    -1338,   464, -1338,  1382,  1382,  1382,   464,  1382,   464,  1382,
 1823     1382,  1382,   464, -1338,  1382,   464,   464,  1382,  1382, -1338,
 1824    -1338, -1338,  1382, -1338, -1338, -1338,  1493,  1564, -1338,  1382,
 1825      464,   464,   464,   464,   776,  1566,   776,  1567,   776,  1574,
 1826      776,  1575, -1338,  1382, -1338,  1361, -1338, -1338, -1338, -1338,
 1827    -1338, -1338, -1338,  1449, -1338, -1338, -1338,  -158,  1453,  1464,
 1828     1467,  1468,  1470,  1477,  1480,  1481,  1482,  1485,    16, -1338,
 1829    -1338, -1338, -1338, -1338, -1338, -1338,  1539, -1338, -1338,  1596,
 1830     1598,  1600, -1338, -1338, -1338,  1382, -1338, -1338, -1338,  1382,
 1831    -1338,  1382, -1338, -1338, -1338,  1382, -1338,  1382,  1382, -1338,
 1832    -1338, -1338, -1338,   776, -1338,  1382,  1382,  1382,  1382,  1606,
 1833      464,  1607,   464,  1613,   464,  1615,   464, -1338, -1338, -1338,
 1834    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 1835    -1338, -1338,  1043,  1043,  1498, -1338,   464,   464,   464, -1338,
 1836    -1338, -1338, -1338, -1338, -1338,  1633, -1338, -1338, -1338, -1338,
 1837      464,  1382,   464,  1382,   464,  1382,   464,  1382,  1500,  1502,
 1838    -1338, -1338, -1338, -1338,   464,  1382, -1338,  1382, -1338,  1382,
 1839    -1338,  1382, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338
 1840 };
 1841 
 1842   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
 1843      Performed when YYTABLE does not specify something else to do.  Zero
 1844      means the default is an error.  */
 1845 static const yytype_int16 yydefact[] =
 1846 {
 1847        2,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1848        0,     0,     3,     4,     6,     8,     9,    20,    22,    19,
 1849       21,    23,    10,    11,    17,    18,    16,    12,     7,    13,
 1850       14,    15,    33,    59,    79,   101,   118,   133,   150,   165,
 1851      182,     0,     0,     0,   303,   202,     0,     0,     0,     0,
 1852        0,     0,     0,     0,     0,     0,     0,     0,   224,   625,
 1853        0,     0,     0,     0,     0,   364,     0,     0,     0,     1,
 1854        5,    24,    25,    26,    27,    28,    32,    29,    30,    31,
 1855      226,   225,   200,   294,   578,   290,   302,   199,   250,   231,
 1856      232,   208,   777,   233,   591,     0,   203,   204,   205,     0,
 1857        0,   238,   234,   245,     0,     0,     0,   827,     0,     0,
 1858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1860       34,    35,    36,    37,    48,    49,    50,    38,    39,    40,
 1861       47,    51,    52,   625,   590,    53,    54,    55,    56,    57,
 1862       58,    41,    42,    43,    44,    45,    46,   792,   792,    60,
 1863       61,    62,    63,    64,    66,    68,    67,    75,    76,    77,
 1864       78,    65,    72,    69,    74,    73,    70,    71,     0,    80,
 1865       81,    82,    83,    84,    85,    87,    86,    91,    92,    93,
 1866       94,    95,    96,    97,    98,    99,   100,    88,    89,    90,
 1867        0,   102,   103,   104,   105,   106,   108,   110,   109,   114,
 1868      115,   116,   117,   107,   111,   112,   113,     0,   119,   120,
 1869      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
 1870      131,   132,     0,   134,   135,   136,   137,   143,   147,   144,
 1871      145,   146,   148,   149,   138,   139,   140,   141,   142,     0,
 1872      151,   152,   153,   154,   163,   155,   156,   157,   158,   159,
 1873      160,   161,   162,   164,   166,   167,   168,   169,   170,   172,
 1874      174,   173,   178,   179,   180,   181,   171,   175,   176,   177,
 1875        0,   183,   184,   185,   186,   187,   188,   189,   190,   191,
 1876      192,   193,   194,     0,     0,   198,     0,   292,     0,   291,
 1877      387,     0,     0,     0,     0,     0,   248,     0,   316,     0,
 1878        0,     0,   305,   304,   306,   307,   308,   312,   313,   330,
 1879      331,   309,   310,   311,     0,     0,   778,   779,   780,   781,
 1880      206,     0,     0,   631,   632,     0,   627,   228,   230,   237,
 1881      245,     0,   235,     0,     0,   609,   596,   597,   611,   612,
 1882      619,   617,   599,   621,   598,   620,   616,   623,   605,   607,
 1883      622,   613,   618,   595,   624,   602,   606,   610,   603,   608,
 1884      601,   600,   614,   615,   604,     0,   593,     0,   195,   353,
 1885      354,   355,   356,   359,   358,   357,   360,   361,   365,   378,
 1886      379,   576,   374,   362,   363,   439,     0,     0,   709,   709,
 1887      709,   709,     0,   709,   709,   690,   691,   692,   709,   709,
 1888        0,     0,   709,   742,   439,   709,   742,   650,   652,   653,
 1889      654,   655,   656,   693,   657,   658,   572,   570,   592,   574,
 1890        0,   634,   635,   636,   637,   638,   639,   640,   641,   642,
 1891      646,   643,   644,     0,     0,   827,   759,   703,   704,   705,
 1892      706,   759,   709,   793,     0,   709,     0,   793,     0,     0,
 1893        0,   709,   709,   709,     0,   709,   709,     0,   439,   439,
 1894        0,     0,   709,   709,   709,     0,     0,   709,   709,   678,
 1895      669,   670,   671,   672,   673,   674,   675,   676,   677,   709,
 1896      742,   660,   665,   709,   663,   664,   662,   709,     0,   227,
 1897        0,   294,     0,     0,     0,   274,   276,   278,   280,   282,
 1898      284,     0,   286,   275,   277,   279,   281,   283,   285,   298,
 1899      299,   300,   301,   295,   296,   297,     0,     0,   288,     0,
 1900        0,     0,   347,   335,     0,   332,   314,   327,   329,   250,
 1901      315,   317,   319,   326,   328,     0,     0,     0,     0,     0,
 1902        0,     0,     0,     0,     0,   247,   251,     0,     0,     0,
 1903        0,     0,     0,     0,     0,     0,   207,   209,   629,   630,
 1904      289,   628,     0,     0,   239,   241,   242,   243,   244,   236,
 1905      246,     0,     0,   625,   594,   828,     0,     0,     0,   576,
 1906      375,   376,   366,     0,     0,     0,     0,     0,     0,     0,
 1907        0,   417,   709,     0,   716,   710,   711,   712,   713,   714,
 1908      715,     0,     0,     0,     0,   709,   709,     0,     0,     0,
 1909        0,   742,   742,   742,     0,     0,   743,   744,     0,     0,
 1910        0,   417,     0,   651,     0,   694,   709,     0,   572,   368,
 1911        0,   570,   370,     0,   574,   372,   633,   645,     0,     0,
 1912      587,   760,   761,     0,     0,   742,   742,   742,     0,     0,
 1913      585,   586,     0,     0,     0,     0,     0,     0,     0,     0,
 1914      742,   709,     0,   709,     0,   433,   433,   433,     0,   433,
 1915      433,   433,     0,   742,   742,   742,     0,     0,     0,   709,
 1916      709,   742,     0,     0,     0,   661,     0,     0,     0,   742,
 1917      201,   293,   270,   385,   384,   386,   287,   579,   388,   336,
 1918      337,   338,     0,     0,   351,     0,   318,     0,     0,     0,
 1919        0,     0,     0,     0,     0,     0,   272,     0,     0,     0,
 1920        0,     0,     0,     0,     0,     0,   229,     0,   626,   625,
 1921      827,   829,     0,   380,   382,   381,   383,   377,   367,   440,
 1922      442,   742,   742,   742,   742,   742,   742,   407,     0,     0,
 1923      391,   742,     0,     0,   687,   688,   702,   701,   777,   777,
 1924        0,     0,   777,   777,     0,     0,     0,     0,     0,   717,
 1925      740,     0,     0,   407,   391,   742,   702,     0,     0,     0,
 1926        0,   369,     0,   371,     0,   373,     0,   625,   742,   742,
 1927        0,     0,     0,   742,   777,   742,   742,   717,   742,   742,
 1928      787,   786,   791,   790,   702,   777,   702,   777,   702,     0,
 1929        0,     0,   702,     0,     0,   777,   742,   742,   742,     0,
 1930      433,   742,   742,   742,   433,     0,     0,     0,     0,   777,
 1931      777,     0,     0,     0,   777,   777,   702,     0,     0,     0,
 1932      742,     0,   270,   270,   271,     0,     0,     0,     0,   351,
 1933      350,   340,   348,   352,   334,   249,     0,     0,     0,   320,
 1934      258,   260,   259,   257,   261,   254,   255,   252,   253,   262,
 1935      263,   256,   777,   777,   777,   777,     0,     0,     0,     0,
 1936        0,   240,   827,   196,   577,     0,     0,     0,     0,     0,
 1937        0,   742,   742,   742,   441,   742,     0,     0,     0,     0,
 1938        0,     0,   709,   418,   419,   420,   421,   423,   422,   424,
 1939        0,   742,     0,   726,   726,   702,   777,   702,   777,   682,
 1940      681,   684,   683,   666,   667,     0,     0,     0,   718,   719,
 1941      720,   721,   722,   742,   741,   735,   736,   731,   734,     0,
 1942      737,   738,   748,   742,   742,     0,     0,   742,   748,   689,
 1943      573,   571,   575,   625,   827,     0,     0,     0,     0,     0,
 1944        0,     0,   742,     0,     0,   742,     0,     0,   742,   726,
 1945      742,   726,   742,   742,     0,   702,     0,     0,   742,   777,
 1946      742,   742,     0,     0,     0,     0,   434,   435,   436,   437,
 1947      438,     0,     0,     0,   826,   742,     0,     0,     0,   742,
 1948        0,     0,     0,   742,   726,   726,   726,   726,   777,   777,
 1949        0,   680,   679,   686,   685,     0,   742,   748,   668,     0,
 1950        0,     0,     0,   267,   342,   344,   346,   333,   349,   321,
 1951      323,   322,   324,   325,   273,   210,   211,   212,   213,   214,
 1952      215,   216,   217,   220,   221,   218,   219,   222,   223,   197,
 1953        0,     0,     0,     0,     0,     0,     0,     0,   412,   414,
 1954      413,   408,   410,   411,   409,     0,     0,     0,     0,   443,
 1955      444,   402,   404,   403,   392,   393,   394,   400,   395,   396,
 1956      399,   398,   401,   397,     0,   491,   492,   447,   445,   448,
 1957      454,   521,   521,     0,   458,   499,   499,   474,   475,   461,
 1958      462,   463,   471,   472,   507,   507,   455,     0,   503,   480,
 1959      456,   464,   465,   481,   483,   484,   485,   473,   517,   486,
 1960      487,   541,   489,   482,   466,   476,   479,   457,     0,   581,
 1961        0,     0,     0,     0,   727,   695,   698,   697,   726,   700,
 1962      726,   561,   562,   748,     0,   728,     0,   560,     0,     0,
 1963        0,     0,     0,   649,   827,   588,     0,   742,     0,   748,
 1964      795,   708,     0,     0,     0,     0,     0,     0,     0,     0,
 1965      742,     0,   742,     0,     0,   776,     0,   742,     0,     0,
 1966      742,   742,     0,     0,   569,   566,     0,   567,     0,     0,
 1967        0,     0,     0,     0,     0,     0,   748,   748,   753,     0,
 1968      742,   742,   742,   742,     0,     0,     0,     0,   748,     0,
 1969        0,   659,     0,   648,   268,   269,   748,   748,   748,   748,
 1970      748,   748,   265,     0,     0,     0,     0,   452,     0,   446,
 1971      459,   460,     0,   709,   709,   709,   709,   709,   709,   709,
 1972      709,   709,   709,   546,   547,   453,   544,   477,   478,   468,
 1973      469,     0,     0,     0,     0,   490,   493,   467,   470,   488,
 1974      580,     0,   748,     0,   583,   582,   696,   699,   559,     0,
 1975        0,   728,   732,     0,   739,   749,     0,     0,   753,   748,
 1976        0,   589,   748,     0,   748,   783,   758,     0,   785,   784,
 1977        0,   789,   788,     0,     0,     0,     0,     0,     0,     0,
 1978        0,   748,     0,     0,     0,     0,     0,   568,   748,   748,
 1979      748,     0,   753,   753,   753,     0,   809,   811,     0,   810,
 1980        0,     0,     0,     0,     0,     0,   723,   724,   725,   742,
 1981        0,   742,     0,   742,     0,   742,   812,   748,     0,   748,
 1982      796,   797,   798,   799,   807,   808,   266,     0,   584,   748,
 1983      748,   748,   748,   450,   451,   449,     0,     0,   709,     0,
 1984        0,   538,   523,   524,   522,   527,   528,   525,   526,   529,
 1985      548,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 1986        0,   545,   501,   502,   500,     0,   509,   510,   508,   497,
 1987      495,   498,   496,   494,   505,   506,   504,     0,     0,   519,
 1988      520,   518,     0,   543,   542,   564,   565,   415,   748,   748,
 1989        0,   733,   745,   745,   745,   753,   753,   416,   804,   748,
 1990      782,     0,   756,   748,   748,   748,     0,   748,     0,   748,
 1991      748,   748,     0,   762,   748,     0,     0,   748,   748,   426,
 1992      427,   428,   748,   430,   431,   432,   753,     0,   754,   748,
 1993        0,     0,     0,     0,   742,     0,   742,     0,   742,     0,
 1994      742,     0,   802,   748,   647,     0,   405,   800,   801,   389,
 1995      536,   532,   533,     0,   535,   534,   537,     0,     0,     0,
 1996        0,     0,     0,     0,     0,     0,     0,     0,   270,   515,
 1997      514,   516,   540,   806,   563,   729,     0,   746,   747,     0,
 1998        0,     0,   406,   390,   805,   748,   794,   707,   771,   748,
 1999      773,   748,   774,   775,   764,   748,   763,   748,   748,   767,
 2000      766,   425,   429,   745,   813,   748,   748,   748,   748,     0,
 2001        0,     0,     0,     0,     0,     0,     0,   803,   264,   531,
 2002      539,   530,   549,   550,   551,   552,   553,   554,   555,   556,
 2003      557,   558,   270,   270,     0,   730,     0,     0,     0,   757,
 2004      770,   772,   765,   769,   768,     0,   817,   814,   823,   820,
 2005        0,   748,     0,   748,     0,   748,     0,   748,     0,     0,
 2006      511,   750,   751,   752,     0,   748,   818,   748,   815,   748,
 2007      824,   748,   821,   512,   513,   755,   819,   816,   825,   822
 2008 };
 2009 
 2010   /* YYPGOTO[NTERM-NUM].  */
 2011 static const yytype_int16 yypgoto[] =
 2012 {
 2013    -1338, -1338, -1338,  1634, -1338, -1338, -1338, -1338, -1338, -1338,
 2014    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2015    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2016    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2017     1545, -1338, -1338,  1309, -1338,   -83,  1115, -1338,  -798, -1338,
 2018     -319,  -825, -1338,  -338,  -337, -1338, -1338, -1338,  1571,  1147,
 2019    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2020    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2021       47,  -832,   801, -1338, -1338, -1338, -1338, -1338, -1338, -1338,
 2022    -1338, -1338,  1679,  1690,  1759,  -104,  -403,  -383,  -556,  -381,
 2023     -130, -1338,  1581,   877, -1338,  1588,   882, -1338, -1338,  1036,
 2024    -1338, -1338,   150, -1338,  -288,  1038,  1252, -1338,  -764, -1338,
 2025    -1338, -1338,  -755,  -603, -1338,   404,   565, -1338, -1338, -1338,
 2026      558, -1338, -1338, -1338, -1338, -1338,   576, -1338, -1338, -1338,
 2027    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,   425,   983,
 2028    -1338, -1338,  1602,  -592, -1338, -1338, -1338, -1338,  1044,  1073,
 2029     1037,  1126, -1338,  -377,  -257,  1822,  -534,  -446,  1830,  1708,
 2030    -1338,  -322,  -350,  -139,  1369,  -299,  1838,  1846,  1854,  1862,
 2031     1870, -1338,  1272, -1338, -1338, -1338,  1306, -1338, -1338,  1226,
 2032    -1338, -1338, -1338, -1338, -1338, -1338, -1338, -1338,  -197, -1338,
 2033    -1338, -1338, -1338,   990,   -15,   354,  -394,   910,  -295,  -483,
 2034      438, -1143,  -102, -1239,  -911,  -807,  -416, -1337,   -63,  -620,
 2035    -1338,  1275, -1338, -1338, -1338, -1338, -1338, -1338,   264,   160,
 2036    -1338,  1563, -1338,  1040, -1338, -1338, -1338, -1338, -1338,  1078,
 2037    -1338, -1338, -1338, -1338, -1338,  1047,  -434
 2038 };
 2039 
 2040   /* YYDEFGOTO[NTERM-NUM].  */
 2041 static const yytype_int16 yydefgoto[] =
 2042 {
 2043       -1,    11,    12,    13,    71,   130,    72,   159,    73,   179,
 2044       74,   201,    75,   218,    76,   233,    77,   250,    78,   264,
 2045       79,   281,    14,    15,    16,   295,    17,    18,    19,    20,
 2046      325,   567,    21,    22,    23,    24,    25,    26,    27,   102,
 2047      103,   339,   574,   342,    28,   519,   324,   556,  1069,  1357,
 2048      520,   855,   881,   521,   522,    29,    30,    84,    85,   297,
 2049      523,    31,    86,   313,   314,   315,   316,   317,   318,   716,
 2050      869,   319,   320,   321,   322,   323,   713,   856,   857,   858,
 2051      861,   862,   864,    32,    33,    34,    35,    36,    37,    38,
 2052       39,    40,   131,   132,   133,   391,   589,   392,   591,   524,
 2053      525,   528,   134,   905,  1084,   135,   901,  1071,   136,   761,
 2054      913,   224,   826,   996,   600,   760,   601,  1085,   914,  1239,
 2055     1365,  1087,   915,   916,  1265,  1266,  1257,  1394,  1267,  1406,
 2056     1259,  1398,  1409,  1410,  1268,  1411,  1240,  1374,  1375,  1376,
 2057     1377,  1378,  1379,  1487,  1413,  1269,  1414,  1255,  1256,   137,
 2058      138,   139,   140,   917,   997,   998,   999,  1000,   642,   639,
 2059      645,   592,   300,   918,   919,   141,  1074,   662,   142,   143,
 2060      144,   375,   376,   107,   335,   336,   145,   146,   147,   148,
 2061      149,   441,   442,   292,   150,   416,   417,   262,   490,   491,
 2062      418,   492,   493,   494,   419,   495,   420,   421,   422,   423,
 2063      636,   424,   425,   768,   455,   171,   611,   943,  1339,  1145,
 2064     1282,   951,   952,  1285,   626,   627,   628,  1509,  1157,  1329,
 2065      172,   654,   191,   192,   193,   194,   195,   196,   330,   173,
 2066      174,   456,   175,   151,   152,   153,   263,   154,   155,   156,
 2067      244,   245,   246,   247,   248,   830,   378
 2068 };
 2069 
 2070   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
 2071      positive, shift that token.  If negative, reduce the rule whose
 2072      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 2073 static const yytype_int16 yytable[] =
 2074 {
 2075      634,   577,   578,   312,   445,   612,   613,   614,   590,   617,
 2076      618,   650,   665,  1284,   619,   620,   426,   427,   624,   429,
 2077      576,   632,   582,   638,   641,   584,   644,  1031,  1032,  1038,
 2078      852,   853,  -742,   747,   529,   530,   571,   531,  1562,  1563,
 2079     1280,   468,   108,   590,   590,   109,   590,   545,   546,   547,
 2080      104,   430,   496,   548,   549,    80,   550,   551,   659,   552,
 2081      553,   663,    60,   651,   652,   966,  1232,   667,   668,   669,
 2082      586,   672,   674,   117,   696,  1395,   104,    61,   686,   687,
 2083      688,   992,   747,   692,   693,   747,  1510,  1511,   747,  1458,
 2084       62,   298,    41,   397,    42,   694,    43,    44,   118,   697,
 2085       63,    45,    46,   698,   545,   546,   547,  1082,   395,   593,
 2086      548,   549,  1014,   550,   551,    47,   552,   553,  1261,   460,
 2087      497,  1078,   649,   594,   702,   993,   630,    96,   460,   780,
 2088      595,  1550,   597,   655,   470,    83,   306,  1283,  1505,    48,
 2089       49,  1086,  1066,   331,   332,   333,   334,    50,  1551,    51,
 2090     1088,  1016,   532,   533,   396,   625,  1082,  1457,    52,   670,
 2091      994,  1407,   906,   907,  1408,   331,   332,   333,   334,   653,
 2092      471,    99,   100,   498,    53,   625,    54,   472,   473,   474,
 2093      475,   630,   446,   397,    81,  1284,    64,  1079,  1080,   908,
 2094     1086,   431,   587,   909,   588,   587,  1575,   588,   554,  1088,
 2095      910,   911,  1038,  1038,  1038,   776,   777,   778,   762,   945,
 2096      946,   381,   382,   625,   593,  1262,  1263,   105,   781,   503,
 2097      504,   770,   771,   436,   947,   457,   110,  1506,   594,   945,
 2098      946,   948,   584,   197,   214,   651,   652,    65,   277,   800,
 2099      801,   802,   789,   443,   947,   458,   306,    97,    98,  1264,
 2100      397,   948,  1066,   625,   820,   554,   575,   743,   595,   106,
 2101      597,   397,   745,    66,   637,  1214,   744,   835,   836,   837,
 2102      397,   746,   398,   399,  1216,   843,   397,   821,    55,   824,
 2103      400,   401,   571,   851,   402,   444,   403,   404,   405,   406,
 2104      407,   461,   462,   496,   463,   841,   842,   653,    56,   584,
 2105      408,   409,  1089,   570,    57,   751,   893,   854,   629,    67,
 2106      910,   911,   469,  1090,   752,   854,    68,   534,   326,   327,
 2107      328,   329,   995,   555,   397,   738,   796,  1591,  1592,  1593,
 2108      410,    82,   586,   753,    69,   895,   896,   897,   898,   899,
 2109      900,   464,   754,   437,   438,   920,   447,   448,   449,   450,
 2110      467,  1089,   595,   596,   597,  1605,   476,   326,   327,   328,
 2111      329,   411,  1090,   625,   412,  1280,   465,   466,   912,   955,
 2112      956,  1093,   411,   640,   413,    58,   389,   390,    83,   414,
 2113      865,   411,   965,   967,  1067,   413,   587,   971,   588,   973,
 2114      974,   593,   976,   977,   413,   766,   415,   643,   949,   950,
 2115      447,   448,   449,   450,   451,   157,   987,   767,    87,   786,
 2116     1001,  1002,  1003,   598,   814,  1006,  1007,  1008,   949,   950,
 2117     1093,   767,    88,  1284,  1284,  1284,   767,   599,   213,    89,
 2118     1025,   637,   276,   452,  1029,   453,   657,   447,   448,   449,
 2119      450,  1146,   389,   390,   740,   866,   584,   867,   413,    90,
 2120      755,  1284,   657,    91,   587,   454,   588,    93,  1059,   756,
 2121       94,   345,   593,   346,   347,   348,   349,   350,   351,   655,
 2122      656,   326,   327,   328,   329,   389,   390,   120,   121,   816,
 2123      326,   327,   328,   329,   868,  1075,  1076,  1077,   703,  1094,
 2124      704,   767,    53,   122,  1067,   587,  1180,   588,  1182,   123,
 2125     1335,   124,   125,   306,   818,  1142,  1039,    92,   352,   502,
 2126       95,  1507,  1507,  1507,   353,  1040,   767,   354,  1140,   587,
 2127      587,   588,   588,   822,  1072,   383,   384,  1154,  1091,  1366,
 2128     1165,  1210,  1211,  1212,  1213,   767,   119,  1158,  1159,   945,
 2129      946,  1162,   557,  1044,   558,   559,   560,   561,   562,   563,
 2130      564,   565,   101,   587,   947,   588,  1173,   111,   846,  1176,
 2131      112,   948,  1179,  1499,  1181,  1500,  1183,  1184,   113,  1186,
 2132      767,   114,  1189,   115,  1192,  1193,  1072,  1091,   675,   676,
 2133      677,   678,  1070,  1336,  1337,  1338,  1083,   906,   907,  1201,
 2134      598,   116,   126,  1205,   355,   925,   127,  1209,   389,   390,
 2135      892,   293,   356,  1367,   543,   544,  1368,   767,   120,   121,
 2136     1220,   128,   294,   129,   908,  1508,  1508,  1508,   909,   927,
 2137     1041,  1233,  1507,    53,   122,   910,   911,   985,   296,  1042,
 2138      123,   767,   124,   125,  1070,  1083,   357,   337,   358,   767,
 2139      359,  1369,   338,   360,  1073,   615,   616,  1370,  1092,   679,
 2140      680,   681,   682,   503,   504,  1097,  1098,  1099,   964,   621,
 2141      622,   629,   158,   341,  1340,  1276,   343,  1277,  1427,   326,
 2142      327,   328,   329,  1564,   344,   361,   362,   377,   625,   379,
 2143      363,   364,   178,   365,   660,   661,   958,   387,   366,   640,
 2144      367,   368,   369,   370,   503,   504,  1073,  1092,   371,   372,
 2145      373,   374,  1453,  1454,  1455,   689,   690,   505,   506,   507,
 2146      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
 2147      518,   583,  1253,   126,   380,   747,  1508,   127,   949,   950,
 2148     1291,  1342,   393,   389,   390,   306,  1371,  1588,  1589,   643,
 2149      929,   502,   128,   385,   129,   386,  1027,  1336,  1337,  1338,
 2150      388,  1293,  1281,   394,   120,   121,   345,   432,   346,   347,
 2151      348,   349,   350,   351,  1304,   428,  1306,   945,   946,    53,
 2152      122,  1310,   590,   439,  1313,  1314,   123,   440,   124,   125,
 2153      566,   499,   947,   389,   390,   684,   685,  1274,   500,   948,
 2154      433,   434,   435,   912,  1331,  1332,  1333,  1334,   501,   573,
 2155     1344,   805,   806,   352,   526,  1512,  1513,   808,   809,   353,
 2156      527,   587,   354,   588,  1336,  1337,  1338,   535,  1068,   200,
 2157      810,   811,  1081,   536,  1164,   537,   827,   828,   538,   831,
 2158      832,   833,   539,  1151,  1152,  1153,  1532,  1422,  1423,  1424,
 2159      326,   327,   328,   329,   541,  1155,  1336,  1337,  1338,  1381,
 2160     1382,  1383,  1384,  1385,  1386,  1387,  1388,  1389,  1390,  1372,
 2161     1372,   587,   540,   588,   542,   931,  1169,  1170,  1171,   126,
 2162     1068,  1081,   568,   127,  1253,   569,  1392,  1392,  1396,  1396,
 2163      812,   813,  1185,  1336,  1337,  1338,  1404,   572,   128,   355,
 2164      129,   120,   121,   875,   876,  1163,   580,   356,   990,   877,
 2165      878,  1363,  1364,  1034,  1035,  1036,    53,   122,  1206,  1207,
 2166     1208,  1021,   585,   123,   602,   124,   125,   603,  1218,   623,
 2167     1341,  1343,  1345,  1465,   625,  1467,   635,  1469,  1223,  1471,
 2168      646,   357,   217,   358,   648,   359,  1049,  1050,   360,   505,
 2169      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
 2170      516,   517,   518,   902,   903,   664,   949,   950,  1226,  1227,
 2171     1228,  1229,  1230,  1231,  1221,   326,   327,   328,   329,   666,
 2172      361,   362,   683,  1254,  1483,   363,   364,   691,   365,   699,
 2173     1005,   702,  1023,   366,  1009,   367,   368,   369,   370,  1051,
 2174     1052,  1190,   700,   371,   372,   373,   374,   705,   326,   327,
 2175      328,   329,  1053,  1054,   120,   121,   126,  1055,  1056,   707,
 2176      127,   326,   327,   328,   329,   706,   739,  1057,  1058,    53,
 2177      122,   447,   448,   449,   450,   128,   123,   129,   124,   125,
 2178      503,   504,   923,   924,  1415,  1416,   930,   932,   708,  1272,
 2179     1464,  1275,  1481,  1482,   709,  1466,   710,  1468,  1539,  1470,
 2180     1541,   711,  1543,   655,  1545,   163,   183,   205,  1288,  1289,
 2181      712,   268,  1484,  1485,  1292,  -339,  1294,   714,   972,   717,
 2182     1296,   718,  1298,  1299,   719,  1301,  1302,   720,     1,   979,
 2183      721,   981,   326,   327,   328,   329,  1311,   722,   723,   991,
 2184     1278,   326,   327,   328,   329,   724,  1318,  1319,  1320,   725,
 2185     1322,  1323,  1324,  1015,  1017,   726,  1295,   736,  1022,  1024,
 2186     1373,  1373,   176,   198,   215,   727,   728,  1347,   278,   126,
 2187     1349,   729,   730,   127,   232,  1254,   731,  1393,  1393,  1397,
 2188     1397,   732,  1359,  1360,  1361,   733,  1362,  1405,   128,   734,
 2189      129,   735,   737,  1326,  1327,   104,  1045,  1046,  1047,  1048,
 2190      177,   199,   216,   741,   742,  1346,   279,   938,   939,   940,
 2191      941,   942,   749,  1350,  1351,  1352,  1353,  1354,  1355,   750,
 2192      757,  1418,   331,   332,   333,   334,   759,  1419,   782,   758,
 2193      763,   764,   765,   779,  1425,  1426,   783,   788,  1429,   790,
 2194     1148,   604,  1150,   792,   794,  1433,   120,   121,  1434,   798,
 2195      799,  1435,   803,  1437,   804,  1439,  1440,  1441,   807,  1417,
 2196     1444,    53,   122,  1447,  1448,   829,   249,   838,   123,  1452,
 2197      124,   125,   839,  1456,   840,   848,  1428,   850,  1459,  1430,
 2198     -341,  1432,     2,     3,     4,     5,     6,     7,     8,     9,
 2199       10,   863,  -343,   891,  -345,   859,  1473,   860,  1443,   870,
 2200      871,   872,   873,  1191,   874,  1449,  1450,  1451,   605,   606,
 2201      607,   608,   609,   610,   879,   880,   882,   883,   884,   894,
 2202      885,   345,   933,   346,   347,   348,   349,   350,   351,   934,
 2203      886,   887,  1215,  1217,  1472,   888,  1474,   889,   120,   121,
 2204      890,   904,   921,   922,   935,   936,  1476,  1477,  1478,  1479,
 2205      937,   944,   957,    53,   122,   960,   968,   961,   969,   978,
 2206      123,   126,   124,   125,   962,   127,   970,   982,   352,   983,
 2207      980,   984,  1004,   988,   353,  1010,  1011,   354,  1012,  1515,
 2208      128,  1018,   129,  1013,  1519,  1019,  1521,  1020,  1026,  1028,
 2209     1525,  1030,   854,  1527,  1528,  1033,   345,  1043,   346,   347,
 2210      348,   349,   350,   351,  1060,  1503,  1504,  1061,  1535,  1536,
 2211     1537,  1538,  1062,   604,  1063,  1064,  1514,  1065,  1141,  1095,
 2212     1516,  1517,  1518,  1138,  1520,  1096,  1522,  1523,  1524,  1139,
 2213     1143,  1526,  1144,  1147,  1529,  1530,  1156,  1149,  1160,  1531,
 2214      671,  1161,  1166,   352,  1167,  1168,  1534,  1172,  1174,   353,
 2215     1175,  1177,   354,   126,   355,  1178,  1187,   127,  1188,  1194,
 2216     1547,  1195,   356,   345,  1196,   346,   347,   348,   349,   350,
 2217      351,  1197,   128,  1198,   129,  1199,  1200,  1202,  1203,  1204,
 2218      605,   606,   607,   608,   609,   610,  1219,  1222,  1581,  1224,
 2219     1583,  1225,  1585,  1234,  1587,  1235,   357,  1237,   358,  1236,
 2220      359,  1238,  1569,   360,  1270,  1271,  1570,  1273,  1571,  1279,
 2221      352,  1286,  1572,  1287,  1573,  1574,   353,  1290,  1297,   354,
 2222     1300,  1303,  1576,  1577,  1578,  1579,  1305,  1307,  1595,   355,
 2223     1597,  1308,  1599,  1309,  1601,   361,   362,   356,  1312,  1315,
 2224      363,   364,  1316,   365,  1317,  1321,  1325,  1328,   366,  1330,
 2225      367,   368,   369,   370,  1348,  1356,  1358,  1399,   371,   372,
 2226      373,   374,  1380,  1400,  1401,  1420,  1402,  1431,  1596,  1436,
 2227     1598,   357,  1600,   358,  1602,   359,  1438,   280,   360,  1412,
 2228     1442,   797,  1606,  1445,  1607,  1446,  1608,  1460,  1609,  1461,
 2229      505,   506,   507,   508,   509,   510,   355,   512,   513,   514,
 2230      515,   516,   517,   518,   356,  1462,  1463,  1475,  1480,  1488,
 2231      361,   362,  1489,  1490,  1486,   363,   364,  1498,   365,  1502,
 2232     1533,  1540,  1542,   366,  1491,   367,   368,   369,   370,  1544,
 2233     1546,  1492,  1493,   371,   372,   373,   374,  1494,   357,  1495,
 2234      358,  1496,   359,  1497,  1548,   360,  1501,  1549,  1565,   120,
 2235      121,  1566,  1552,  1567,   769,  1568,   963,   772,   773,   774,
 2236      775,  1580,  1582,  1553,    53,   122,  1554,  1555,  1584,  1556,
 2237     1586,   123,   787,   124,   125,  1242,  1557,   361,   362,  1558,
 2238     1559,  1560,   363,   364,  1561,   365,   397,  1590,  1594,  1603,
 2239      366,  1604,   367,   368,   369,   370,    70,   340,   701,   579,
 2240      371,   372,   373,   374,   715,   299,   222,   815,   817,   819,
 2241     1037,   954,   823,   223,   825,   953,   631,   785,   784,  1403,
 2242      604,  1258,   477,  1260,   405,   406,   407,   478,  1241,   254,
 2243     1391,   795,   844,   845,   847,   793,   479,   849,   480,   481,
 2244      482,   483,   484,   485,   486,   487,   488,   673,  1243,  1244,
 2245     1245,  1246,  1247,  1248,  1249,  1250,  1251,  1252,   301,    59,
 2246      302,   791,   581,   647,   126,   748,   695,   975,   127,  1421,
 2247      303,   459,   633,   304,   305,   306,   658,   307,   308,   834,
 2248        0,     0,     0,   128,     0,   129,     0,   605,   606,   607,
 2249      608,   609,   610,     0,     0,   625,     0,     0,     0,     0,
 2250      412,   160,   180,   202,   219,   234,   251,   265,   282,     0,
 2251      926,   928,   161,   181,   203,   220,   235,   252,   266,   283,
 2252      503,   504,     0,     0,     0,   309,     0,     0,     0,   959,
 2253        0,   477,   489,   405,   406,   407,   478,   310,   311,     0,
 2254      625,     0,     0,     0,     0,   479,     0,   480,   481,   482,
 2255      483,   484,   485,   486,   487,   488,     0,     0,     0,     0,
 2256        0,   986,   398,   399,   989,     0,     0,     0,     0,     0,
 2257      400,   401,     0,     0,   402,     0,   403,   404,   405,   406,
 2258      407,   162,   182,   204,   221,   236,   253,   267,   284,     0,
 2259      408,   409,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,
 2260     1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,  1117,
 2261     1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,  1127,
 2262     1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137,
 2263      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
 2264      515,   516,   517,   518,   164,   184,   206,   225,   237,   255,
 2265      269,   285,   165,   185,   207,   226,   238,   256,   270,   286,
 2266      166,   186,   208,   227,   239,   257,   271,   287,   167,   187,
 2267      209,   228,   240,   258,   272,   288,   168,   188,   210,   229,
 2268      241,   259,   273,   289,   169,   189,   211,   230,   242,   260,
 2269      274,   290,   170,   190,   212,   231,   243,   261,   275,   291
 2270 };
 2271 
 2272 static const yytype_int16 yycheck[] =
 2273 {
 2274      416,   339,   339,    86,   143,   399,   400,   401,   391,   403,
 2275      404,   445,   458,  1156,   408,   409,   120,   121,   412,   123,
 2276      339,   415,   344,   426,   427,   375,   429,   852,   853,   861,
 2277       22,    23,     5,   589,    21,    22,   335,    24,    22,    23,
 2278       62,     6,    74,   426,   427,    77,   429,    26,    27,    28,
 2279       92,   148,   249,    32,    33,    11,    35,    36,   452,    38,
 2280       39,   455,   146,    22,    23,    58,    40,   461,   462,   463,
 2281       95,   465,   466,    16,   490,    78,    92,   146,   472,   473,
 2282      474,    16,   638,   477,   478,   641,  1423,  1424,   644,  1328,
 2283      146,    95,     8,   148,    10,   489,    12,    13,    41,   493,
 2284      146,    17,    18,   497,    26,    27,    28,   905,     6,    79,
 2285       32,    33,    43,    35,    36,    31,    38,    39,    79,     6,
 2286      175,    16,   444,    93,    98,    60,   414,    75,     6,    59,
 2287      217,   289,   219,   256,     6,   139,    31,     3,    59,    55,
 2288       56,   905,    37,   142,   143,   144,   145,    63,   306,    65,
 2289      905,    43,   139,   140,    52,   148,   954,     3,    74,   282,
 2290       95,   287,    57,    58,   290,   142,   143,   144,   145,   256,
 2291       42,   212,   213,   228,    90,   148,    92,    49,    50,    51,
 2292       52,   469,     6,   148,   140,  1328,   146,    82,    83,    84,
 2293      954,   288,   217,    88,   219,   217,  1533,   219,   177,   954,
 2294       95,    96,  1034,  1035,  1036,   621,   622,   623,   602,    75,
 2295       76,   139,   140,   148,    79,   176,   177,   259,   148,   222,
 2296      223,   615,   616,    75,    90,   259,   258,   148,    93,    75,
 2297       76,    97,   582,    73,    74,    22,    23,   146,    78,   655,
 2298      656,   657,   636,   259,    90,   279,    31,   195,   196,   210,
 2299      148,    97,    37,   148,   670,   177,   339,   139,   217,   301,
 2300      219,   148,   139,   146,    95,    43,   148,   683,   684,   685,
 2301      148,   148,   170,   171,    43,   691,   148,   671,   194,   673,
 2302      178,   179,   581,   699,   182,   301,   184,   185,   186,   187,
 2303      188,   178,   179,   490,   181,   689,   690,   256,   214,   649,
 2304      198,   199,   905,   302,   220,   139,   740,   299,   278,   146,
 2305       95,    96,   277,   905,   148,   299,   146,   304,   249,   250,
 2306      251,   252,   257,   302,   148,   302,   648,  1566,  1567,  1568,
 2307      228,   148,    95,   139,     0,   751,   752,   753,   754,   755,
 2308      756,   228,   148,   195,   196,   761,   224,   225,   226,   227,
 2309      228,   954,   217,   218,   219,  1594,   228,   249,   250,   251,
 2310      252,   259,   954,   148,   262,    62,   253,   254,   263,   785,
 2311      786,   905,   259,    95,   272,   291,   139,   140,   139,   277,
 2312      302,   259,   798,   799,   279,   272,   217,   803,   219,   805,
 2313      806,    79,   808,   809,   272,   148,   294,    95,   264,   265,
 2314      224,   225,   226,   227,   228,     3,   822,   160,    19,   148,
 2315      826,   827,   828,   278,   148,   831,   832,   833,   264,   265,
 2316      954,   160,   301,  1566,  1567,  1568,   160,   292,    74,   140,
 2317      846,    95,    78,   257,   850,   259,   451,   224,   225,   226,
 2318      227,   924,   139,   140,   583,   217,   796,   219,   272,   140,
 2319      139,  1594,   467,   301,   217,   279,   219,   140,   892,   148,
 2320      141,    42,    79,    44,    45,    46,    47,    48,    49,   256,
 2321      257,   249,   250,   251,   252,   139,   140,    75,    76,   148,
 2322      249,   250,   251,   252,   256,   901,   902,   903,   139,   905,
 2323      141,   160,    90,    91,   279,   217,   979,   219,   981,    97,
 2324      148,    99,   100,    31,   148,   921,   139,   148,    89,    37,
 2325      301,  1422,  1423,  1424,    95,   148,   160,    98,   912,   217,
 2326      217,   219,   219,   148,   901,   139,   140,   943,   905,    98,
 2327      964,  1014,  1015,  1016,  1017,   160,     3,   953,   954,    75,
 2328       76,   957,    64,   881,    66,    67,    68,    69,    70,    71,
 2329       72,    73,   285,   217,    90,   219,   972,    77,   148,   975,
 2330       77,    97,   978,   139,   980,   141,   982,   983,    77,   985,
 2331      160,    16,   988,    77,   990,   991,   953,   954,   266,   267,
 2332      268,   269,   901,   231,   232,   233,   905,    57,    58,  1005,
 2333      278,    77,   190,  1009,   175,   148,   194,  1013,   139,   140,
 2334      739,     9,   183,   172,    29,    30,   175,   160,    75,    76,
 2335     1026,   209,    75,   211,    84,  1422,  1423,  1424,    88,   148,
 2336      139,  1067,  1533,    90,    91,    95,    96,   148,    81,   148,
 2337       97,   160,    99,   100,   953,   954,   217,   140,   219,   160,
 2338      221,   210,   148,   224,   901,   178,   179,   216,   905,   266,
 2339      267,   268,   269,   222,   223,    85,    86,    87,   797,   280,
 2340      281,   278,   260,   283,   148,  1148,   301,  1150,  1288,   249,
 2341      250,   251,   252,  1498,   301,   256,   257,    61,   148,   140,
 2342      261,   262,     3,   264,   299,   300,   788,   139,   269,    95,
 2343      271,   272,   273,   274,   222,   223,   953,   954,   279,   280,
 2344      281,   282,  1322,  1323,  1324,    50,    51,   235,   236,   237,
 2345      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
 2346      248,   302,  1103,   190,   140,  1281,  1533,   194,   264,   265,
 2347     1164,   148,   139,   139,   140,    31,   305,  1562,  1563,    95,
 2348      149,    37,   209,   140,   211,   140,   848,   231,   232,   233,
 2349      140,  1167,  1155,   139,    75,    76,    42,   288,    44,    45,
 2350       46,    47,    48,    49,  1180,   141,  1182,    75,    76,    90,
 2351       91,  1187,  1155,   147,  1190,  1191,    97,   146,    99,   100,
 2352      302,   139,    90,   139,   140,    53,    54,    95,    25,    97,
 2353      191,   192,   193,   263,  1210,  1211,  1212,  1213,   148,    95,
 2354      148,   139,   140,    89,   148,  1425,  1426,   139,   140,    95,
 2355       80,   217,    98,   219,   231,   232,   233,   139,   901,     3,
 2356      139,   140,   905,   140,   963,    94,   676,   677,    94,   679,
 2357      680,   681,   301,   935,   936,   937,  1456,   275,   276,   277,
 2358      249,   250,   251,   252,   148,   949,   231,   232,   233,  1243,
 2359     1244,  1245,  1246,  1247,  1248,  1249,  1250,  1251,  1252,  1240,
 2360     1241,   217,   140,   219,   140,   149,   968,   969,   970,   190,
 2361      953,   954,   286,   194,  1255,   286,  1257,  1258,  1259,  1260,
 2362      139,   140,   984,   231,   232,   233,  1267,   213,   209,   175,
 2363      211,    75,    76,    14,    15,   958,   284,   183,   149,    29,
 2364       30,  1239,  1239,   856,   857,   858,    90,    91,  1010,  1011,
 2365     1012,   149,   148,    97,   294,    99,   100,    97,  1020,   272,
 2366     1215,  1216,  1217,  1339,   148,  1341,   197,  1343,  1030,  1345,
 2367       59,   217,     3,   219,   301,   221,   229,   230,   224,   235,
 2368      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
 2369      246,   247,   248,   139,   140,   258,   264,   265,  1060,  1061,
 2370     1062,  1063,  1064,  1065,  1027,   249,   250,   251,   252,   258,
 2371      256,   257,    42,  1103,  1368,   261,   262,    42,   264,   175,
 2372      830,    98,   149,   269,   834,   271,   272,   273,   274,   229,
 2373      230,   149,   148,   279,   280,   281,   282,   139,   249,   250,
 2374      251,   252,   229,   230,    75,    76,   190,   229,   230,   230,
 2375      194,   249,   250,   251,   252,   139,   302,   229,   230,    90,
 2376       91,   224,   225,   226,   227,   209,    97,   211,    99,   100,
 2377      222,   223,   768,   769,   229,   230,   772,   773,   139,  1141,
 2378     1335,  1143,   173,   174,   140,  1340,   140,  1342,  1464,  1344,
 2379     1466,   140,  1468,   256,  1470,    72,    73,    74,  1160,  1161,
 2380      303,    78,   139,   140,  1166,   139,  1168,   139,   804,   303,
 2381     1172,   303,  1174,  1175,   303,  1177,  1178,   303,     7,   815,
 2382      303,   817,   249,   250,   251,   252,  1188,   303,   303,   825,
 2383     1153,   249,   250,   251,   252,   303,  1198,  1199,  1200,   303,
 2384     1202,  1203,  1204,   839,   840,   303,  1169,   148,   844,   845,
 2385     1240,  1241,    72,    73,    74,   303,   303,  1219,    78,   190,
 2386     1222,   303,   303,   194,     3,  1255,   303,  1257,  1258,  1259,
 2387     1260,   303,  1234,  1235,  1236,   303,  1238,  1267,   209,   303,
 2388      211,   303,   148,  1206,  1207,    92,   882,   883,   884,   885,
 2389       72,    73,    74,    59,   148,  1218,    78,   230,   231,   232,
 2390      233,   234,   139,  1226,  1227,  1228,  1229,  1230,  1231,   140,
 2391      285,  1273,   142,   143,   144,   145,    81,  1279,     5,   293,
 2392      148,   148,   148,   148,  1286,  1287,   285,     5,  1290,   148,
 2393      926,   228,   928,   148,   148,  1297,    75,    76,  1300,   148,
 2394       98,  1303,    98,  1305,   148,  1307,  1308,  1309,   148,  1272,
 2395     1312,    90,    91,  1315,  1316,    84,     3,   148,    97,  1321,
 2396       99,   100,   148,  1325,   148,     5,  1289,   148,  1330,  1292,
 2397      139,  1294,   161,   162,   163,   164,   165,   166,   167,   168,
 2398      169,    20,   139,   230,   139,   139,  1348,   139,  1311,   140,
 2399      140,   140,   139,   989,   140,  1318,  1319,  1320,   295,   296,
 2400      297,   298,   299,   300,   140,   140,   148,   148,   148,   230,
 2401      148,    42,   149,    44,    45,    46,    47,    48,    49,   149,
 2402      148,   148,  1018,  1019,  1347,   148,  1349,   148,    75,    76,
 2403      148,   148,   148,    59,     5,     5,  1359,  1360,  1361,  1362,
 2404        5,    59,   149,    90,    91,   230,     5,   230,     5,   180,
 2405       97,   190,    99,   100,   230,   194,     5,   229,    89,   230,
 2406      180,     5,   270,   149,    95,     5,     5,    98,     5,  1431,
 2407      209,   148,   211,   149,  1436,   148,  1438,     5,   149,   149,
 2408     1442,     5,   299,  1445,  1446,   139,    42,   148,    44,    45,
 2409       46,    47,    48,    49,     5,  1418,  1419,     5,  1460,  1461,
 2410     1462,  1463,     5,   228,     5,     5,  1429,     5,     5,   139,
 2411     1433,  1434,  1435,   148,  1437,   139,  1439,  1440,  1441,   148,
 2412        5,  1444,   230,   180,  1447,  1448,     4,   180,     5,  1452,
 2413      255,     5,     5,    89,   139,     5,  1459,     5,     5,    95,
 2414        5,     5,    98,   190,   175,     5,   149,   194,     5,   139,
 2415     1473,   148,   183,    42,   148,    44,    45,    46,    47,    48,
 2416       49,   148,   209,     5,   211,     5,     5,     5,     5,     5,
 2417      295,   296,   297,   298,   299,   300,     5,     5,  1540,   139,
 2418     1542,   139,  1544,     5,  1546,     5,   217,   139,   219,     5,
 2419      221,     5,  1515,   224,   230,   148,  1519,     5,  1521,     5,
 2420       89,     5,  1525,     5,  1527,  1528,    95,     5,     5,    98,
 2421        5,     5,  1535,  1536,  1537,  1538,     5,     5,  1580,   175,
 2422     1582,     5,  1584,     5,  1586,   256,   257,   183,     5,     5,
 2423      261,   262,     5,   264,   230,     5,     5,     4,   269,     5,
 2424      271,   272,   273,   274,     5,   295,   139,   139,   279,   280,
 2425      281,   282,   140,   139,   148,    99,   140,     5,  1581,     5,
 2426     1583,   217,  1585,   219,  1587,   221,     5,     3,   224,   215,
 2427        5,   302,  1595,     5,  1597,     5,  1599,     5,  1601,     5,
 2428      235,   236,   237,   238,   239,   240,   175,   242,   243,   244,
 2429      245,   246,   247,   248,   183,     5,     5,   148,   139,   148,
 2430      256,   257,   148,   148,   139,   261,   262,    98,   264,   139,
 2431        6,     5,     5,   269,   148,   271,   272,   273,   274,     5,
 2432        5,   148,   148,   279,   280,   281,   282,   148,   217,   148,
 2433      219,   148,   221,   148,   233,   224,   148,   148,    59,    75,
 2434       76,     5,   149,     5,   614,     5,   302,   617,   618,   619,
 2435      620,     5,     5,   149,    90,    91,   149,   149,     5,   149,
 2436        5,    97,   632,    99,   100,    77,   149,   256,   257,   149,
 2437      149,   149,   261,   262,   149,   264,   148,   139,     5,   139,
 2438      269,   139,   271,   272,   273,   274,    12,   102,   501,   340,
 2439      279,   280,   281,   282,   539,    84,    75,   667,   668,   669,
 2440      859,   784,   672,    75,   674,   783,   414,   631,   630,  1265,
 2441      228,  1106,   184,  1115,   186,   187,   188,   189,  1102,    77,
 2442     1255,   644,   692,   693,   694,   641,   198,   697,   200,   201,
 2443      202,   203,   204,   205,   206,   207,   208,   255,   150,   151,
 2444      152,   153,   154,   155,   156,   157,   158,   159,    14,     1,
 2445       16,   638,   343,   441,   190,   589,   490,   807,   194,  1281,
 2446       26,   158,   416,    29,    30,    31,   451,    33,    34,   682,
 2447       -1,    -1,    -1,   209,    -1,   211,    -1,   295,   296,   297,
 2448      298,   299,   300,    -1,    -1,   148,    -1,    -1,    -1,    -1,
 2449      262,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
 2450      770,   771,    72,    73,    74,    75,    76,    77,    78,    79,
 2451      222,   223,    -1,    -1,    -1,    81,    -1,    -1,    -1,   789,
 2452       -1,   184,   294,   186,   187,   188,   189,    93,    94,    -1,
 2453      148,    -1,    -1,    -1,    -1,   198,    -1,   200,   201,   202,
 2454      203,   204,   205,   206,   207,   208,    -1,    -1,    -1,    -1,
 2455       -1,   821,   170,   171,   824,    -1,    -1,    -1,    -1,    -1,
 2456      178,   179,    -1,    -1,   182,    -1,   184,   185,   186,   187,
 2457      188,    72,    73,    74,    75,    76,    77,    78,    79,    -1,
 2458      198,   199,   101,   102,   103,   104,   105,   106,   107,   108,
 2459      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
 2460      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
 2461      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
 2462      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
 2463      245,   246,   247,   248,    72,    73,    74,    75,    76,    77,
 2464       78,    79,    72,    73,    74,    75,    76,    77,    78,    79,
 2465       72,    73,    74,    75,    76,    77,    78,    79,    72,    73,
 2466       74,    75,    76,    77,    78,    79,    72,    73,    74,    75,
 2467       76,    77,    78,    79,    72,    73,    74,    75,    76,    77,
 2468       78,    79,    72,    73,    74,    75,    76,    77,    78,    79
 2469 };
 2470 
 2471   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
 2472      symbol of state STATE-NUM.  */
 2473 static const yytype_int16 yystos[] =
 2474 {
 2475        0,     7,   161,   162,   163,   164,   165,   166,   167,   168,
 2476      169,   308,   309,   310,   329,   330,   331,   333,   334,   335,
 2477      336,   339,   340,   341,   342,   343,   344,   345,   351,   362,
 2478      363,   368,   390,   391,   392,   393,   394,   395,   396,   397,
 2479      398,     8,    10,    12,    13,    17,    18,    31,    55,    56,
 2480       63,    65,    74,    90,    92,   194,   214,   220,   291,   476,
 2481      146,   146,   146,   146,   146,   146,   146,   146,   146,     0,
 2482      310,   311,   313,   315,   317,   319,   321,   323,   325,   327,
 2483       11,   140,   148,   139,   364,   365,   369,    19,   301,   140,
 2484      140,   301,   148,   140,   141,   301,    75,   195,   196,   212,
 2485      213,   285,   346,   347,    92,   259,   301,   480,    74,    77,
 2486      258,    77,    77,    77,    16,    77,    77,    16,    41,     3,
 2487       75,    76,    91,    97,    99,   100,   190,   194,   209,   211,
 2488      312,   399,   400,   401,   409,   412,   415,   456,   457,   458,
 2489      459,   472,   475,   476,   477,   483,   484,   485,   486,   487,
 2490      491,   540,   541,   542,   544,   545,   546,     3,   260,   314,
 2491      399,   400,   401,   456,   472,   475,   483,   484,   485,   486,
 2492      487,   512,   527,   536,   537,   539,   540,   546,     3,   316,
 2493      399,   400,   401,   456,   472,   475,   483,   484,   485,   486,
 2494      487,   529,   530,   531,   532,   533,   534,   536,   540,   546,
 2495        3,   318,   399,   400,   401,   456,   472,   475,   483,   484,
 2496      485,   486,   487,   512,   536,   540,   546,     3,   320,   399,
 2497      400,   401,   409,   412,   418,   472,   475,   483,   484,   485,
 2498      486,   487,     3,   322,   399,   400,   401,   472,   475,   483,
 2499      484,   485,   486,   487,   547,   548,   549,   550,   551,     3,
 2500      324,   399,   400,   401,   459,   472,   475,   483,   484,   485,
 2501      486,   487,   494,   543,   326,   399,   400,   401,   456,   472,
 2502      475,   483,   484,   485,   486,   487,   512,   536,   540,   546,
 2503        3,   328,   399,   400,   401,   472,   475,   483,   484,   485,
 2504      486,   487,   490,     9,    75,   332,    81,   366,    95,   365,
 2505      469,    14,    16,    26,    29,    30,    31,    33,    34,    81,
 2506       93,    94,   352,   370,   371,   372,   373,   374,   375,   378,
 2507      379,   380,   381,   382,   353,   337,   249,   250,   251,   252,
 2508      535,   142,   143,   144,   145,   481,   482,   140,   148,   348,
 2509      347,   283,   350,   301,   301,    42,    44,    45,    46,    47,
 2510       48,    49,    89,    95,    98,   175,   183,   217,   219,   221,
 2511      224,   256,   257,   261,   262,   264,   269,   271,   272,   273,
 2512      274,   279,   280,   281,   282,   478,   479,    61,   553,   140,
 2513      140,   139,   140,   139,   140,   140,   140,   139,   140,   139,
 2514      140,   402,   404,   139,   139,     6,    52,   148,   170,   171,
 2515      178,   179,   182,   184,   185,   186,   187,   188,   198,   199,
 2516      228,   259,   262,   272,   277,   294,   492,   493,   497,   501,
 2517      503,   504,   505,   506,   508,   509,   402,   402,   141,   402,
 2518      148,   288,   288,   191,   192,   193,    75,   195,   196,   147,
 2519      146,   488,   489,   259,   301,   480,     6,   224,   225,   226,
 2520      227,   228,   257,   259,   279,   511,   538,   259,   279,   538,
 2521        6,   178,   179,   181,   228,   253,   254,   228,     6,   277,
 2522        6,    42,    49,    50,    51,    52,   228,   184,   189,   198,
 2523      200,   201,   202,   203,   204,   205,   206,   207,   208,   294,
 2524      495,   496,   498,   499,   500,   502,   505,   175,   228,   139,
 2525       25,   148,    37,   222,   223,   235,   236,   237,   238,   239,
 2526      240,   241,   242,   243,   244,   245,   246,   247,   248,   352,
 2527      357,   360,   361,   367,   406,   407,   148,    80,   408,    21,
 2528       22,    24,   139,   140,   304,   139,   140,    94,    94,   301,
 2529      140,   148,   140,    29,    30,    26,    27,    28,    32,    33,
 2530       35,    36,    38,    39,   177,   302,   354,    64,    66,    67,
 2531       68,    69,    70,    71,    72,    73,   302,   338,   286,   286,
 2532      302,   482,   213,    95,   349,   352,   357,   360,   361,   350,
 2533      284,   481,   478,   302,   479,   148,    95,   217,   219,   403,
 2534      404,   405,   468,    79,    93,   217,   218,   219,   278,   292,
 2535      421,   423,   294,    97,   228,   295,   296,   297,   298,   299,
 2536      300,   513,   513,   513,   513,   178,   179,   513,   513,   513,
 2537      513,   280,   281,   272,   513,   148,   521,   522,   523,   278,
 2538      421,   423,   513,   493,   523,   197,   507,    95,   403,   466,
 2539       95,   403,   465,    95,   403,   467,    59,   489,   301,   478,
 2540      553,    22,    23,   256,   528,   256,   257,   511,   528,   513,
 2541      299,   300,   474,   513,   258,   474,   258,   513,   513,   513,
 2542      282,   255,   513,   255,   513,   266,   267,   268,   269,   266,
 2543      267,   268,   269,    42,    53,    54,   513,   513,   513,    50,
 2544       51,    42,   513,   513,   513,   496,   523,   513,   513,   175,
 2545      148,   366,    98,   139,   141,   139,   139,   230,   139,   140,
 2546      140,   140,   303,   383,   139,   353,   376,   303,   303,   303,
 2547      303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
 2548      303,   303,   303,   303,   303,   303,   148,   148,   302,   302,
 2549      480,    59,   148,   139,   148,   139,   148,   405,   468,   139,
 2550      140,   139,   148,   139,   148,   139,   148,   285,   293,    81,
 2551      422,   416,   513,   148,   148,   148,   148,   160,   510,   510,
 2552      513,   513,   510,   510,   510,   510,   523,   523,   523,   148,
 2553       59,   148,     5,   285,   422,   416,   148,   510,     5,   513,
 2554      148,   466,   148,   465,   148,   467,   478,   302,   148,    98,
 2555      523,   523,   523,    98,   148,   139,   140,   148,   139,   140,
 2556      139,   140,   139,   140,   148,   510,   148,   510,   148,   510,
 2557      523,   513,   148,   510,   513,   510,   419,   419,   419,    84,
 2558      552,   419,   419,   419,   552,   523,   523,   523,   148,   148,
 2559      148,   513,   513,   523,   510,   510,   148,   510,     5,   510,
 2560      148,   523,    22,    23,   299,   358,   384,   385,   386,   139,
 2561      139,   387,   388,    20,   389,   302,   217,   219,   256,   377,
 2562      140,   140,   140,   139,   140,    14,    15,    29,    30,   140,
 2563      140,   359,   148,   148,   148,   148,   148,   148,   148,   148,
 2564      148,   230,   480,   553,   230,   523,   523,   523,   523,   523,
 2565      523,   413,   139,   140,   148,   410,    57,    58,    84,    88,
 2566       95,    96,   263,   417,   425,   429,   430,   460,   470,   471,
 2567      523,   148,    59,   535,   535,   148,   510,   148,   510,   149,
 2568      535,   149,   535,   149,   149,     5,     5,     5,   230,   231,
 2569      232,   233,   234,   514,    59,    75,    76,    90,    97,   264,
 2570      265,   518,   519,   413,   410,   523,   523,   149,   519,   510,
 2571      230,   230,   230,   302,   480,   523,    58,   523,     5,     5,
 2572        5,   523,   535,   523,   523,   514,   523,   523,   180,   535,
 2573      180,   535,   229,   230,     5,   148,   510,   523,   149,   510,
 2574      149,   535,    16,    60,    95,   257,   420,   461,   462,   463,
 2575      464,   523,   523,   523,   270,   419,   523,   523,   523,   419,
 2576        5,     5,     5,   149,    43,   535,    43,   535,   148,   148,
 2577        5,   149,   535,   149,   535,   523,   149,   519,   149,   523,
 2578        5,   358,   358,   139,   387,   387,   387,   389,   388,   139,
 2579      148,   139,   148,   148,   360,   535,   535,   535,   535,   229,
 2580      230,   229,   230,   229,   230,   229,   230,   229,   230,   553,
 2581        5,     5,     5,     5,     5,     5,    37,   279,   352,   355,
 2582      357,   414,   470,   471,   473,   523,   523,   523,    16,    82,
 2583       83,   352,   355,   357,   411,   424,   425,   428,   429,   430,
 2584      460,   470,   471,   473,   523,   139,   139,    85,    86,    87,
 2585      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
 2586      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
 2587      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
 2588      131,   132,   133,   134,   135,   136,   137,   138,   148,   148,
 2589      513,     5,   523,     5,   230,   516,   516,   180,   535,   180,
 2590      535,   519,   519,   519,   523,   402,     4,   525,   523,   523,
 2591        5,     5,   523,   525,   480,   553,     5,   139,     5,   519,
 2592      519,   519,     5,   523,     5,     5,   523,     5,     5,   523,
 2593      516,   523,   516,   523,   523,   519,   523,   149,     5,   523,
 2594      149,   535,   523,   523,   139,   148,   148,   148,     5,     5,
 2595        5,   523,     5,     5,     5,   523,   519,   519,   519,   523,
 2596      516,   516,   516,   516,    43,   535,    43,   535,   519,     5,
 2597      523,   525,     5,   519,   139,   139,   519,   519,   519,   519,
 2598      519,   519,    40,   474,     5,     5,     5,   139,     5,   426,
 2599      443,   443,    77,   150,   151,   152,   153,   154,   155,   156,
 2600      157,   158,   159,   406,   407,   454,   455,   433,   433,   437,
 2601      437,    79,   176,   177,   210,   431,   432,   435,   441,   452,
 2602      230,   148,   519,     5,    95,   519,   516,   516,   525,     5,
 2603       62,   403,   517,     3,   518,   520,     5,     5,   519,   519,
 2604        5,   553,   519,   523,   519,   525,   519,     5,   519,   519,
 2605        5,   519,   519,     5,   523,     5,   523,     5,     5,     5,
 2606      523,   519,     5,   523,   523,     5,     5,   230,   519,   519,
 2607      519,     5,   519,   519,   519,     5,   525,   525,     4,   526,
 2608        5,   523,   523,   523,   523,   148,   231,   232,   233,   515,
 2609      148,   515,   148,   515,   148,   515,   525,   519,     5,   519,
 2610      525,   525,   525,   525,   525,   525,   295,   356,   139,   519,
 2611      519,   519,   519,   360,   361,   427,    98,   172,   175,   210,
 2612      216,   305,   406,   407,   444,   445,   446,   447,   448,   449,
 2613      140,   513,   513,   513,   513,   513,   513,   513,   513,   513,
 2614      513,   455,   406,   407,   434,    78,   406,   407,   438,   139,
 2615      139,   148,   140,   432,   406,   407,   436,   287,   290,   439,
 2616      440,   442,   215,   451,   453,   229,   230,   525,   519,   519,
 2617       99,   517,   275,   276,   277,   519,   519,   526,   525,   519,
 2618      525,     5,   525,   519,   519,   519,     5,   519,     5,   519,
 2619      519,   519,     5,   525,   519,     5,     5,   519,   519,   525,
 2620      525,   525,   519,   526,   526,   526,   519,     3,   520,   519,
 2621        5,     5,     5,     5,   515,   523,   515,   523,   515,   523,
 2622      515,   523,   525,   519,   525,   148,   525,   525,   525,   525,
 2623      139,   173,   174,   513,   139,   140,   139,   450,   148,   148,
 2624      148,   148,   148,   148,   148,   148,   148,   148,    98,   139,
 2625      141,   148,   139,   525,   525,    59,   148,   521,   522,   524,
 2626      524,   524,   526,   526,   525,   519,   525,   525,   525,   519,
 2627      525,   519,   525,   525,   525,   519,   525,   519,   519,   525,
 2628      525,   525,   526,     6,   525,   519,   519,   519,   519,   523,
 2629        5,   523,     5,   523,     5,   523,     5,   525,   233,   148,
 2630      289,   306,   149,   149,   149,   149,   149,   149,   149,   149,
 2631      149,   149,    22,    23,   358,    59,     5,     5,     5,   525,
 2632      525,   525,   525,   525,   525,   524,   525,   525,   525,   525,
 2633        5,   519,     5,   519,     5,   519,     5,   519,   358,   358,
 2634      139,   520,   520,   520,     5,   519,   525,   519,   525,   519,
 2635      525,   519,   525,   139,   139,   520,   525,   525,   525,   525